mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-07-02 00:59:23 +00:00
2 lines
6.8 KiB
JavaScript
2 lines
6.8 KiB
JavaScript
import{bz as $,g as T,p as V,a as K,am as N,al as Q,bw as Z,r as E,f as h,s as x,aa as p,t as k,k as m,G as b,W as X,j as I,aI as L,n as M,l as z,o as ee,q as te,z as A,bv as ne,bp as j,a8 as oe,a0 as G,ab as se,bt as ae,M as ie,bq as ue,aJ as le,a4 as ce,br as re,bu as de,af as ve,m as Y}from"./index-DpRopL3V.js";const fe=Symbol.for("vuetify:v-tabs"),he=e=>{const{touchstartX:o,touchendX:t,touchstartY:n,touchendY:a}=e,i=.5,s=16;e.offsetX=t-o,e.offsetY=a-n,Math.abs(e.offsetY)<i*Math.abs(e.offsetX)&&(e.left&&t<o-s&&e.left(e),e.right&&t>o+s&&e.right(e)),Math.abs(e.offsetX)<i*Math.abs(e.offsetY)&&(e.up&&a<n-s&&e.up(e),e.down&&a>n+s&&e.down(e))};function me(e,o){var n;const t=e.changedTouches[0];o.touchstartX=t.clientX,o.touchstartY=t.clientY,(n=o.start)==null||n.call(o,{originalEvent:e,...o})}function ge(e,o){var n;const t=e.changedTouches[0];o.touchendX=t.clientX,o.touchendY=t.clientY,(n=o.end)==null||n.call(o,{originalEvent:e,...o}),he(o)}function be(e,o){var n;const t=e.changedTouches[0];o.touchmoveX=t.clientX,o.touchmoveY=t.clientY,(n=o.move)==null||n.call(o,{originalEvent:e,...o})}function ye(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:t=>me(t,o),touchend:t=>ge(t,o),touchmove:t=>be(t,o)}}function we(e,o){var l;const t=o.value,n=t!=null&&t.parent?e.parentElement:e,a=(t==null?void 0:t.options)??{passive:!0},i=(l=o.instance)==null?void 0:l.$.uid;if(!n||!i)return;const s=ye(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[i]=s,$(s).forEach(d=>{n.addEventListener(d,s[d],a)})}function Te(e,o){var i,s;const t=(i=o.value)!=null&&i.parent?e.parentElement:e,n=(s=o.instance)==null?void 0:s.$.uid;if(!(t!=null&&t._touchHandlers)||!n)return;const a=t._touchHandlers[n];$(a).forEach(l=>{t.removeEventListener(l,a[l])}),delete t._touchHandlers[n]}const S={mounted:we,unmounted:Te},O=Symbol.for("vuetify:v-window"),F=Symbol.for("vuetify:v-window-group"),q=V({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},...A(),...te(),...ee()},"VWindow"),H=T()({name:"VWindow",directives:{vTouch:S},props:q(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=K(e),{isRtl:a}=N(),{t:i}=Q(),s=Z(e,F),l=E(),d=h(()=>a.value?!e.reverse:e.reverse),v=x(!1),y=h(()=>{const u=e.direction==="vertical"?"y":"x",f=(d.value?!v.value:v.value)?"-reverse":"";return`v-window-${u}${f}-transition`}),W=x(0),w=E(void 0),g=h(()=>s.items.value.findIndex(u=>s.selected.value.includes(u.id)));p(g,(u,r)=>{const f=s.items.value.length,_=f-1;f<=2?v.value=u<r:u===_&&r===0?v.value=!0:u===0&&r===_?v.value=!1:v.value=u<r}),ne(O,{transition:y,isReversed:v,transitionCount:W,transitionHeight:w,rootRef:l});const c=k(()=>e.continuous||g.value!==0),B=k(()=>e.continuous||g.value!==s.items.value.length-1);function C(){c.value&&s.prev()}function P(){B.value&&s.next()}const U=h(()=>{const u=[],r={icon:a.value?e.nextIcon:e.prevIcon,class:`v-window__${d.value?"right":"left"}`,onClick:s.prev,"aria-label":i("$vuetify.carousel.prev")};u.push(c.value?t.prev?t.prev({props:r}):m(X,r,null):b("div",null,null));const f={icon:a.value?e.prevIcon:e.nextIcon,class:`v-window__${d.value?"left":"right"}`,onClick:s.next,"aria-label":i("$vuetify.carousel.next")};return u.push(B.value?t.next?t.next({props:f}):m(X,f,null):b("div",null,null)),u}),J=h(()=>e.touch===!1?e.touch:{...{left:()=>{d.value?C():P()},right:()=>{d.value?P():C()},start:r=>{let{originalEvent:f}=r;f.stopPropagation()}},...e.touch===!0?{}:e.touch});return I(()=>L(m(e.tag,{ref:l,class:z(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover"},n.value,e.class]),style:M(e.style)},{default:()=>{var u,r;return[b("div",{class:"v-window__container",style:{height:w.value}},[(u=t.default)==null?void 0:u.call(t,{group:s}),e.showArrows!==!1&&b("div",{class:"v-window__controls"},[U.value])]),(r=t.additional)==null?void 0:r.call(t,{group:s})]}}),[[S,J.value]])),{group:s}}}),Ve=V({...se(q(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),xe=T()({name:"VTabsWindow",props:Ve(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const n=j(fe,null),a=oe(e,"modelValue"),i=h({get(){var s;return a.value!=null||!n?a.value:(s=n.items.value.find(l=>n.selected.value.includes(l.id)))==null?void 0:s.value},set(s){a.value=s}});return I(()=>{const s=H.filterProps(e);return m(H,G({_as:"VTabsWindow"},s,{modelValue:i.value,"onUpdate:modelValue":l=>i.value=l,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),t)}),{}}}),D=V({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...A(),...de(),...re()},"VWindowItem"),R=T()({name:"VWindowItem",directives:{vTouch:S},props:D(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=j(O),a=ae(e,F),{isBooted:i}=ie();if(!n||!a)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const s=x(!1),l=h(()=>i.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function d(){!s.value||!n||(s.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function v(){var c;s.value||!n||(s.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=Y((c=n.rootRef.value)==null?void 0:c.clientHeight)),n.transitionCount.value+=1)}function y(){d()}function W(c){s.value&&ve(()=>{!l.value||!s.value||!n||(n.transitionHeight.value=Y(c.clientHeight))})}const w=h(()=>{const c=n.isReversed.value?e.reverseTransition:e.transition;return l.value?{name:typeof c!="string"?n.transition.value:c,onBeforeEnter:v,onAfterEnter:d,onEnterCancelled:y,onBeforeLeave:v,onAfterLeave:d,onLeaveCancelled:y,onEnter:W}:!1}),{hasContent:g}=ue(e,a.isSelected);return I(()=>m(ce,{transition:w.value,disabled:!i.value},{default:()=>{var c;return[L(b("div",{class:z(["v-window-item",a.selectedClass.value,e.class]),style:M(e.style)},[g.value&&((c=t.default)==null?void 0:c.call(t))]),[[le,a.isSelected.value]])]}})),{groupItem:a}}}),Ie=V({...D()},"VTabsWindowItem"),Se=T()({name:"VTabsWindowItem",props:Ie(),setup(e,o){let{slots:t}=o;return I(()=>{const n=R.filterProps(e);return m(R,G({_as:"VTabsWindowItem"},n,{class:["v-tabs-window-item",e.class],style:e.style}),t)}),{}}});export{fe as V,Se as a,xe as b,H as c,R as d};
|