1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-07-02 00:59:23 +00:00
Classworks/assets/VTabsWindowItem-38pzParJ.js

2 lines
6.7 KiB
JavaScript

import{bz as H,g as w,p as T,a as U,al as q,ak as J,bw as K,r as C,f as m,s as W,a9 as Z,t as _,k as v,T as k,j as V,aI as R,bs as Q,m as N,n as p,x as $,bv as ee,bo as L,a7 as te,Z as M,aa as ne,bt as oe,K as se,bp as ae,aJ as ie,a3 as ue,bq as le,bu as ce,ae as re,l as E}from"./index-ByVcHmHP.js";const de=Symbol.for("vuetify:v-tabs"),ve=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 fe(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 he(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}),ve(o)}function me(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 ge(){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=>fe(t,o),touchend:t=>he(t,o),touchmove:t=>me(t,o)}}function be(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=ge(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[i]=s,H(s).forEach(d=>{n.addEventListener(d,s[d],a)})}function ye(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];H(a).forEach(l=>{t.removeEventListener(l,a[l])}),delete t._touchHandlers[n]}const A={mounted:be,unmounted:ye},j=Symbol.for("vuetify:v-window"),G=Symbol.for("vuetify:v-window-group"),O=T({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"},...$(),...p(),...N()},"VWindow"),X=w()({name:"VWindow",directives:{Touch:A},props:O(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=U(e),{isRtl:a}=q(),{t:i}=J(),s=K(e,G),l=C(),d=m(()=>a.value?!e.reverse:e.reverse),f=W(!1),b=m(()=>{const u=e.direction==="vertical"?"y":"x",h=(d.value?!f.value:f.value)?"-reverse":"";return`v-window-${u}${h}-transition`}),I=W(0),y=C(void 0),g=m(()=>s.items.value.findIndex(u=>s.selected.value.includes(u.id)));Z(g,(u,r)=>{const h=s.items.value.length,B=h-1;h<=2?f.value=u<r:u===B&&r===0?f.value=!0:u===0&&r===B?f.value=!1:f.value=u<r}),ee(j,{transition:b,isReversed:f,transitionCount:I,transitionHeight:y,rootRef:l});const c=_(()=>e.continuous||g.value!==0),x=_(()=>e.continuous||g.value!==s.items.value.length-1);function P(){c.value&&s.prev()}function S(){x.value&&s.next()}const F=m(()=>{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}):v(k,r,null):v("div",null,null));const h={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(x.value?t.next?t.next({props:h}):v(k,h,null):v("div",null,null)),u}),D=m(()=>e.touch===!1?e.touch:{...{left:()=>{d.value?P():S()},right:()=>{d.value?S():P()},start:r=>{let{originalEvent:h}=r;h.stopPropagation()}},...e.touch===!0?{}:e.touch});return V(()=>R(v(e.tag,{ref:l,class:["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover"},n.value,e.class],style:e.style},{default:()=>{var u,r;return[v("div",{class:"v-window__container",style:{height:y.value}},[(u=t.default)==null?void 0:u.call(t,{group:s}),e.showArrows!==!1&&v("div",{class:"v-window__controls"},[F.value])]),(r=t.additional)==null?void 0:r.call(t,{group:s})]}}),[[Q("touch"),D.value]])),{group:s}}}),we=T({...ne(O(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Ie=w()({name:"VTabsWindow",props:we(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const n=L(de,null),a=te(e,"modelValue"),i=m({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 V(()=>{const s=X.filterProps(e);return v(X,M({_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)}),{}}}),z=T({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...$(),...ce(),...le()},"VWindowItem"),Y=w()({name:"VWindowItem",directives:{Touch:A},props:z(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=L(j),a=oe(e,G),{isBooted:i}=se();if(!n||!a)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const s=W(!1),l=m(()=>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 f(){var c;s.value||!n||(s.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=E((c=n.rootRef.value)==null?void 0:c.clientHeight)),n.transitionCount.value+=1)}function b(){d()}function I(c){s.value&&re(()=>{!l.value||!s.value||!n||(n.transitionHeight.value=E(c.clientHeight))})}const y=m(()=>{const c=n.isReversed.value?e.reverseTransition:e.transition;return l.value?{name:typeof c!="string"?n.transition.value:c,onBeforeEnter:f,onAfterEnter:d,onEnterCancelled:b,onBeforeLeave:f,onAfterLeave:d,onLeaveCancelled:b,onEnter:I}:!1}),{hasContent:g}=ae(e,a.isSelected);return V(()=>v(ue,{transition:y.value,disabled:!i.value},{default:()=>{var c;return[R(v("div",{class:["v-window-item",a.selectedClass.value,e.class],style:e.style},[g.value&&((c=t.default)==null?void 0:c.call(t))]),[[ie,a.isSelected.value]])]}})),{groupItem:a}}}),Te=T({...z()},"VTabsWindowItem"),We=w()({name:"VTabsWindowItem",props:Te(),setup(e,o){let{slots:t}=o;return V(()=>{const n=Y.filterProps(e);return v(Y,M({_as:"VTabsWindowItem"},n,{class:["v-tabs-window-item",e.class],style:e.style}),t)}),{}}});export{de as V,Ie as a,We as b,X as c,Y as d};