mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-07-02 00:59:23 +00:00
2 lines
6.1 KiB
JavaScript
2 lines
6.1 KiB
JavaScript
import{g as p,p as C,j as w,k as m,G as V,n as A,l as R,q as z,z as L,u as j,b as G,c as O,d as W,a as Y,am as $,s as T,f as c,aV as J,aD as K,a5 as I,m as H,bc as Q,o as X,v as Z,y as ee,A as te,r as D,bi as ae,aa as P,ae as le,bf as oe,a8 as ne,t as _,h as se,w as re,M as ue,i as ie,a0 as M,x as ce}from"./index-DpRopL3V.js";const U=C({text:String,...L(),...z()},"VToolbarTitle"),q=p()({name:"VToolbarTitle",props:U(),setup(e,g){let{slots:t}=g;return w(()=>{const v=!!(t.default||t.text||e.text);return m(e.tag,{class:R(["v-toolbar-title",e.class]),style:A(e.style)},{default:()=>{var n;return[v&&V("div",{class:"v-toolbar-title__placeholder"},[t.text?t.text():e.text,(n=t.default)==null?void 0:n.call(t)])]}})}),{}}}),ve=[null,"prominent","default","comfortable","compact"],F=C({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>ve.includes(e)},extended:Boolean,extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...te(),...L(),...ee(),...Z(),...z({tag:"header"}),...X()},"VToolbar"),E=p()({name:"VToolbar",props:F(),setup(e,g){var h;let{slots:t}=g;const{backgroundColorClasses:v,backgroundColorStyles:n}=j(()=>e.color),{borderClasses:a}=G(e),{elevationClasses:u}=O(e),{roundedClasses:s}=W(e),{themeClasses:f}=Y(e),{rtlClasses:x}=$(),r=T(!!(e.extended||(h=t.extension)!=null&&h.call(t))),i=c(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),y=c(()=>r.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return J({VBtn:{variant:"text"}}),w(()=>{var k;const o=!!(e.title||t.title),d=!!(t.image||e.image),S=(k=t.extension)==null?void 0:k.call(t);return r.value=!!(e.extended||S),m(e.tag,{class:R(["v-toolbar",{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},v.value,a.value,u.value,s.value,f.value,x.value,e.class]),style:A([n.value,e.style])},{default:()=>[d&&V("div",{key:"image",class:"v-toolbar__image"},[t.image?m(I,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):m(K,{key:"image-img",cover:!0,src:e.image},null)]),m(I,{defaults:{VTabs:{height:H(i.value)}}},{default:()=>{var l,b,B;return[V("div",{class:"v-toolbar__content",style:{height:H(i.value)}},[t.prepend&&V("div",{class:"v-toolbar__prepend"},[(l=t.prepend)==null?void 0:l.call(t)]),o&&m(q,{key:"title",text:e.title},{text:t.title}),(b=t.default)==null?void 0:b.call(t),t.append&&V("div",{class:"v-toolbar__append"},[(B=t.append)==null?void 0:B.call(t)])])]}}),m(I,{defaults:{VTabs:{height:H(y.value)}}},{default:()=>[m(Q,null,{default:()=>[r.value&&V("div",{class:"v-toolbar__extension",style:{height:H(y.value)}},[S])]})]})]})}),{contentHeight:i,extensionHeight:y}}}),de=C({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function me(e){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{canScroll:t}=g;let v=0,n=0;const a=D(null),u=T(0),s=T(0),f=T(0),x=T(!1),r=T(!1),i=c(()=>Number(e.scrollThreshold)),y=c(()=>ae((i.value-u.value)/i.value||0)),h=()=>{const o=a.value;if(!o||t&&!t.value)return;v=u.value,u.value="window"in o?o.pageYOffset:o.scrollTop;const d=o instanceof Window?document.documentElement.scrollHeight:o.scrollHeight;if(n!==d){n=d;return}r.value=u.value<v,f.value=Math.abs(u.value-i.value)};return P(r,()=>{s.value=s.value||u.value}),P(x,()=>{s.value=0}),le(()=>{P(()=>e.scrollTarget,o=>{var S;const d=o?document.querySelector(o):window;d&&d!==a.value&&((S=a.value)==null||S.removeEventListener("scroll",h),a.value=d,a.value.addEventListener("scroll",h,{passive:!0}))},{immediate:!0})}),oe(()=>{var o;(o=a.value)==null||o.removeEventListener("scroll",h)}),t&&P(t,h,{immediate:!0}),{scrollThreshold:i,currentScroll:u,currentThreshold:f,isScrollActive:x,scrollRatio:y,isScrollingUp:r,savedScroll:s}}const ge=C({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...F(),...ce(),...de(),height:{type:[Number,String],default:64}},"VAppBar"),fe=p()({name:"VAppBar",props:ge(),emits:{"update:modelValue":e=>!0},setup(e,g){let{slots:t}=g;const v=D(),n=ne(e,"modelValue"),a=c(()=>{var b;const l=new Set(((b=e.scrollBehavior)==null?void 0:b.split(" "))??[]);return{hide:l.has("hide"),fullyHide:l.has("fully-hide"),inverted:l.has("inverted"),collapse:l.has("collapse"),elevate:l.has("elevate"),fadeImage:l.has("fade-image")}}),u=c(()=>{const l=a.value;return l.hide||l.fullyHide||l.inverted||l.collapse||l.elevate||l.fadeImage||!n.value}),{currentScroll:s,scrollThreshold:f,isScrollingUp:x,scrollRatio:r}=me(e,{canScroll:u}),i=_(()=>a.value.hide||a.value.fullyHide),y=c(()=>e.collapse||a.value.collapse&&(a.value.inverted?r.value>0:r.value===0)),h=c(()=>e.flat||a.value.fullyHide&&!n.value||a.value.elevate&&(a.value.inverted?s.value>0:s.value===0)),o=c(()=>a.value.fadeImage?a.value.inverted?1-r.value:r.value:void 0),d=c(()=>{var B,N;if(a.value.hide&&a.value.inverted)return 0;const l=((B=v.value)==null?void 0:B.contentHeight)??0,b=((N=v.value)==null?void 0:N.extensionHeight)??0;return i.value?s.value<f.value||a.value.fullyHide?l+b:l:l+b});se(()=>!!e.scrollBehavior,()=>{re(()=>{i.value?a.value.inverted?n.value=s.value>f.value:n.value=x.value||s.value<f.value:n.value=!0})});const{ssrBootStyles:S}=ue(),{layoutItemStyles:k}=ie({id:e.name,order:c(()=>parseInt(e.order,10)),position:_(()=>e.location),layoutSize:d,elementSize:T(void 0),active:n,absolute:_(()=>e.absolute)});return w(()=>{const l=E.filterProps(e);return m(E,M({ref:v,class:["v-app-bar",{"v-app-bar--bottom":e.location==="bottom"},e.class],style:[{...k.value,"--v-toolbar-image-opacity":o.value,height:void 0,...S.value},e.style]},l,{collapse:y.value,flat:h.value}),t)}),{}}}),be=p()({name:"VAppBarTitle",props:U(),setup(e,g){let{slots:t}=g;return w(()=>m(q,M(e,{class:"v-app-bar-title"}),t)),{}}});export{be as V,fe as a,E as b,q as c};
|