mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-09-03 16:19:22 +00:00
2 lines
6.1 KiB
JavaScript
2 lines
6.1 KiB
JavaScript
import{g as C,p,c as I,d as m,i as V,n as R,e as A,m as L,h as z,N as F,a8 as W,a9 as Y,ac as K,a7 as O,aj as X,X as T,K as c,aV as Z,aD as $,P as N,L as H,be as G,ad as J,ae as Q,ah as ee,ai as te,W as D,bl as ae,Z as P,b7 as le,bh as oe,S as ne,Y as _,bj as se,a2 as re,b as ue,bo as ie,E as U,bq as ce}from"./index-DmGr2YjE.js";const M=p({text:String,...z(),...L()},"VToolbarTitle"),j=C()({name:"VToolbarTitle",props:M(),setup(e,g){let{slots:t}=g;return I(()=>{const d=!!(t.default||t.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"},[t.text?t.text():e.text,(n=t.default)==null?void 0:n.call(t)])]}})}),{}}}),de=[null,"prominent","default","comfortable","compact"],q=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,...te(),...z(),...ee(),...Q(),...L({tag:"header"}),...J()},"VToolbar"),E=C()({name:"VToolbar",props:q(),setup(e,g){var h;let{slots:t}=g;const{backgroundColorClasses:d,backgroundColorStyles:n}=F(()=>e.color),{borderClasses:a}=W(e),{elevationClasses:u}=Y(e),{roundedClasses:s}=K(e),{themeClasses:f}=O(e),{rtlClasses:x}=X(),r=T(e.extended===null?!!((h=t.extension)!=null&&h.call(t)):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 Z({VBtn:{variant:"text"}}),I(()=>{var k;const o=!!(e.title||t.title),v=!!(t.image||e.image),S=(k=t.extension)==null?void 0:k.call(t);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,a.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"},[t.image?m(N,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):m($,{key:"image-img",cover:!0,src:e.image},null)]),m(N,{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(j,{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(N,{defaults:{VTabs:{height:H(y.value)}}},{default:()=>[m(G,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:t}=g;let d=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;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!==a.value&&((S=a.value)==null||S.removeEventListener("scroll",h),a.value=v,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=p({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...q(),...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:t}=g;const d=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),v=c(()=>{var B,w;if(a.value.hide&&a.value.inverted)return 0;const l=((B=d.value)==null?void 0:B.contentHeight)??0,b=((w=d.value)==null?void 0:w.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:v,elementSize:T(void 0),active:n,absolute:_(()=>e.absolute)});return I(()=>{const l=E.filterProps(e);return m(E,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}),t)}),{}}}),be=C()({name:"VAppBarTitle",props:M(),setup(e,g){let{slots:t}=g;return I(()=>m(j,U(e,{class:"v-app-bar-title"}),t)),{}}});export{be as V,fe as a,E as b,j as c};
|