mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-12-08 13:49:37 +00:00
2 lines
6.1 KiB
JavaScript
2 lines
6.1 KiB
JavaScript
import{g as C,p,c as w,d as m,i as V,n as R,e as A,m as z,h as L,ak as $,bi as q,am as J,al as O,as as X,au as Y,X as T,a1 as c,av as j,aJ as G,aa as I,ar as H,ba as K,ax as Q,ap as Z,an as ee,bl as ae,W as D,bz as te,a2 as P,ah as le,b1 as oe,$ as ne,aw as _,bx as se,be as re,b as ue,bC as ie,E as U,bD as ce}from"./index-BvrJYLvE.js";const M=p({text:String,...L(),...z()},"VToolbarTitle"),F=C()({name:"VToolbarTitle",props:M(),setup(e,g){let{slots:a}=g;return w(()=>{const d=!!(a.default||a.text||e.text);return m(e.tag,{class:A(["v-toolbar-title",e.class]),style:R(e.style)},{default:()=>{var n;return[d&&V("div",{class:"v-toolbar-title__placeholder"},[a.text?a.text():e.text,(n=a.default)==null?void 0:n.call(a)])]}})}),{}}}),de=[null,"prominent","default","comfortable","compact"],W=p({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>de.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...ae(),...L(),...ee(),...Z(),...z({tag:"header"}),...Q()},"VToolbar"),N=C()({name:"VToolbar",props:W(),setup(e,g){var h;let{slots:a}=g;const{backgroundColorClasses:d,backgroundColorStyles:n}=$(()=>e.color),{borderClasses:t}=q(e),{elevationClasses:u}=J(e),{roundedClasses:s}=O(e),{themeClasses:f}=X(e),{rtlClasses:x}=Y(),r=T(e.extended===null?!!((h=a.extension)!=null&&h.call(a)):e.extended),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||a.title),v=!!(a.image||e.image),S=(k=a.extension)==null?void 0:k.call(a);return r.value=e.extended===null?!!S:e.extended,m(e.tag,{class:A(["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},d.value,t.value,u.value,s.value,f.value,x.value,e.class]),style:R([n.value,e.style])},{default:()=>[v&&V("div",{key:"image",class:"v-toolbar__image"},[a.image?m(I,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},a.image):m(G,{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)}},[a.prepend&&V("div",{class:"v-toolbar__prepend"},[(l=a.prepend)==null?void 0:l.call(a)]),o&&m(F,{key:"title",text:e.title},{text:a.title}),(b=a.default)==null?void 0:b.call(a),a.append&&V("div",{class:"v-toolbar__append"},[(B=a.append)==null?void 0:B.call(a)])])]}}),m(I,{defaults:{VTabs:{height:H(y.value)}}},{default:()=>[m(K,null,{default:()=>[r.value&&V("div",{class:"v-toolbar__extension",style:{height:H(y.value)}},[S])]})]})]})}),{contentHeight:i,extensionHeight:y}}}),ve=p({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:a}=g;let d=0,n=0;const t=D(null),u=T(0),s=T(0),f=T(0),x=T(!1),r=T(!1),i=c(()=>Number(e.scrollThreshold)),y=c(()=>te((i.value-u.value)/i.value||0)),h=()=>{const o=t.value;if(!o||a&&!a.value)return;d=u.value,u.value="window"in o?o.pageYOffset:o.scrollTop;const v=o instanceof Window?document.documentElement.scrollHeight:o.scrollHeight;if(n!==v){n=v;return}r.value=u.value<d,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 v=o?document.querySelector(o):window;v&&v!==t.value&&((S=t.value)==null||S.removeEventListener("scroll",h),t.value=v,t.value.addEventListener("scroll",h,{passive:!0}))},{immediate:!0})}),oe(()=>{var o;(o=t.value)==null||o.removeEventListener("scroll",h)}),a&&P(a,h,{immediate:!0}),{scrollThreshold:i,currentScroll:u,currentThreshold:f,isScrollActive:x,scrollRatio:y,isScrollingUp:r,savedScroll:s}}const ge=p({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...W(),...ce(),...ve(),height:{type:[Number,String],default:64}},"VAppBar"),fe=C()({name:"VAppBar",props:ge(),emits:{"update:modelValue":e=>!0},setup(e,g){let{slots:a}=g;const d=D(),n=ne(e,"modelValue"),t=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=t.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=_(()=>t.value.hide||t.value.fullyHide),y=c(()=>e.collapse||t.value.collapse&&(t.value.inverted?r.value>0:r.value===0)),h=c(()=>e.flat||t.value.fullyHide&&!n.value||t.value.elevate&&(t.value.inverted?s.value>0:s.value===0)),o=c(()=>t.value.fadeImage?t.value.inverted?1-r.value:r.value:void 0),v=c(()=>{var B,E;if(t.value.hide&&t.value.inverted)return 0;const l=((B=d.value)==null?void 0:B.contentHeight)??0,b=((E=d.value)==null?void 0:E.extensionHeight)??0;return i.value?s.value<f.value||t.value.fullyHide?l+b:l:l+b});se(()=>!!e.scrollBehavior,()=>{re(()=>{i.value?t.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:v,elementSize:T(void 0),active:n,absolute:_(()=>e.absolute)});return w(()=>{const l=N.filterProps(e);return m(N,U({ref:d,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}),a)}),{}}}),be=C()({name:"VAppBarTitle",props:M(),setup(e,g){let{slots:a}=g;return w(()=>m(F,U(e,{class:"v-app-bar-title"}),a)),{}}});export{be as V,fe as a,N as b,F as c};
|