Files
Nexus/web/app/assets/VTabs-BcjxNt4c.js
T
2026-06-08 07:38:28 +08:00

1 line
12 KiB
JavaScript

import{$ as e,$n as t,An as n,C as r,Cn as i,Dt as a,Et as o,Hn as s,I as c,K as l,Kn as u,Kr as d,L as f,Lr as p,Or as m,Pr as h,Q as g,Qn as _,Qr as v,S as ee,Sn as y,Sr as b,Ur as x,W as S,Wr as C,Xn as w,Yn as T,Zr as E,_t as D,bn as O,bt as k,dn as A,gn as j,gr as M,gt as te,hn as ne,in as re,ir as N,ln as ie,lr as P,mn as F,mt as ae,rn as oe,sr as I,un as se,ur as L,w as ce,wn as le,xr as R,xt as z,y as ue,yn as B,yr as V,yt as H}from"./index-C6qJAv49.js";var U=Symbol.for(`vuetify:v-tabs`),W=i({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:`horizontal`},...T(e({selectedClass:`v-tab--selected`,variant:`text`}),[`active`,`block`,`flat`,`location`,`position`,`symbol`])},`VTab`),G=B()({name:`VTab`,props:W(),setup(e,{slots:t,attrs:n}){let{textColorClasses:r,textColorStyles:i}=k(()=>e.sliderColor),{backgroundColorClasses:a,backgroundColorStyles:o}=H(()=>e.sliderColor),s=x(),c=x(),l=P(()=>e.direction===`horizontal`),u=P(()=>s.value?.group?.isSelected.value??!1);function d(e,t){return{opacity:[0,1]}}function f(t,n){return e.direction===`vertical`?{transform:[`scaleY(0)`,`scaleY(1)`]}:{transform:[`scaleX(0)`,`scaleX(1)`]}}function p(e,t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=l.value?`x`:`y`,a=l.value?`X`:`Y`,o=l.value?`right`:`bottom`,s=l.value?`width`:`height`,c=n[i]>r[i]?n[o]-r[o]:n[i]-r[i],u=Math.sign(c)>0?l.value?`right`:`bottom`:Math.sign(c)<0?l.value?`left`:`top`:`center`,d=(Math.abs(c)+(Math.sign(c)<0?n[s]:r[s]))/Math.max(n[s],r[s])||0,f=n[s]/r[s]||0,p=1.5;return{transform:[`translate${a}(${c}px) scale${a}(${f})`,`translate${a}(${c/p}px) scale${a}(${(d-1)/p+1})`,`none`],transformOrigin:[,,,].fill(u)}}function m({value:t}){if(t){let t=s.value?.$el.parentElement?.querySelector(`.v-tab--selected .v-tab__slider`),n=c.value;if(!t||!n)return;let r=getComputedStyle(t).backgroundColor,i={fade:d,grow:f,shift:p}[e.sliderTransition??`shift`]??p,a=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??`shift`]??225);le(n,{backgroundColor:[r,r],...i(n,t)},{duration:a,easing:j})}}return F(()=>{let l=g.filterProps(e);return M(g,R({symbol:U,ref:s,class:[`v-tab`,e.class,u.value&&e.inset?a.value:[]],style:[e.style,u.value&&e.inset?o.value:[],{backgroundColor:u.value&&e.inset?`transparent !important`:void 0}],tabindex:u.value?0:-1,role:`tab`,"aria-selected":String(u.value),active:!1},l,n,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":m}),{...t,default:()=>L(I,null,[t.default?.()??e.text,!e.hideSlider&&L(`div`,{ref:c,class:E([`v-tab__slider`,e.inset?a.value:r.value]),style:v([i.value,e.inset?o.value:r.value])},null)])})}),ue({},s)}}),de=e=>{let{touchstartX:t,touchendX:n,touchstartY:r,touchendY:i}=e,a=.5;e.offsetX=n-t,e.offsetY=i-r,Math.abs(e.offsetY)<a*Math.abs(e.offsetX)&&(e.left&&n<t-16&&e.left(e),e.right&&n>t+16&&e.right(e)),Math.abs(e.offsetX)<a*Math.abs(e.offsetY)&&(e.up&&i<r-16&&e.up(e),e.down&&i>r+16&&e.down(e))};function fe(e,t){let n=e.changedTouches[0];t.touchstartX=n.clientX,t.touchstartY=n.clientY,t.start?.({originalEvent:e,...t})}function pe(e,t){let n=e.changedTouches[0];t.touchendX=n.clientX,t.touchendY=n.clientY,t.end?.({originalEvent:e,...t}),de(t)}function me(e,t){let n=e.changedTouches[0];t.touchmoveX=n.clientX,t.touchmoveY=n.clientY,t.move?.({originalEvent:e,...t})}function he(e={}){let t={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:e=>fe(e,t),touchend:e=>pe(e,t),touchmove:e=>me(e,t)}}function ge(e,t){let n=t.value,r=n?.parent?e.parentElement:e,i=n?.options??{passive:!0},a=t.instance?.$.uid;if(!r||a===void 0)return;let o=he(t.value);r._touchHandlers=r._touchHandlers??Object.create(null),r._touchHandlers[a]=o,u(o).forEach(e=>{r.addEventListener(e,o[e],i)})}function _e(e,t){let n=t.value?.parent?e.parentElement:e,r=t.instance?.$.uid;if(!n?._touchHandlers||r===void 0)return;let i=n._touchHandlers[r];u(i).forEach(e=>{n.removeEventListener(e,i[e])}),delete n._touchHandlers[r]}var K={mounted:ge,unmounted:_e},q=Symbol.for(`vuetify:v-window`),J=Symbol.for(`vuetify:v-window-group`),Y=i({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`},verticalArrows:[Boolean,String],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`},crossfade:Boolean,transitionDuration:Number,...y(),...z(),...oe()},`VWindow`),X=B()({name:`VWindow`,directives:{vTouch:K},props:Y(),emits:{"update:modelValue":e=>!0},setup(e,{slots:r}){let{themeClasses:i}=re(e),{isRtl:a}=se(),{t:o}=ie(),s=te(e,J),c=x(),l=P(()=>a.value?!e.reverse:e.reverse),u=C(!1),f=P(()=>e.crossfade?`v-window-crossfade-transition`:`v-window-${e.direction===`vertical`?`y`:`x`}${(l.value?!u.value:u.value)?`-reverse`:``}-transition`),ee=C(0),y=x(void 0),S=P(()=>s.items.value.findIndex(e=>s.selected.value.includes(e.id)));h(S,(e,t)=>{let n,r={left:0,top:0};_&&t>=0&&(n=ne(c.value),r.left=n?.scrollLeft,r.top=n?.scrollTop);let i=s.items.value.length,a=i-1;i<=2?u.value=e<t:e===a&&t===0?u.value=!1:e===0&&t===a?u.value=!0:u.value=e<t,b(()=>{!_||!n||(n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`}),requestAnimationFrame(()=>{n&&n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`})}))})},{flush:`sync`}),m(q,{transition:f,isReversed:u,transitionCount:ee,transitionHeight:y,rootRef:c});let w=d(()=>e.continuous||S.value!==0),T=d(()=>e.continuous||S.value!==s.items.value.length-1);function D(){w.value&&s.prev()}function O(){T.value&&s.next()}let k=P(()=>{let t=[],n={icon:a.value?e.nextIcon:e.prevIcon,class:`v-window__${l.value?`right`:`left`}`,onClick:s.prev,"aria-label":o(`$vuetify.carousel.prev`)};t.push(w.value?r.prev?r.prev({props:n}):M(g,n,null):L(`div`,null,null));let i={icon:a.value?e.prevIcon:e.nextIcon,class:`v-window__${l.value?`left`:`right`}`,onClick:s.next,"aria-label":o(`$vuetify.carousel.next`)};return t.push(T.value?r.next?r.next({props:i}):M(g,i,null):L(`div`,null,null)),t}),A=P(()=>e.touch===!1?e.touch:{left:()=>{l.value?D():O()},right:()=>{l.value?O():D()},start:({originalEvent:e})=>{e.stopPropagation()},...e.touch===!0?{}:e.touch});function j(t){(e.direction===`horizontal`&&t.key===`ArrowLeft`||e.direction===`vertical`&&t.key===`ArrowUp`)&&(t.preventDefault(),D(),b(()=>{w.value?N(0):N(1)})),(e.direction===`horizontal`&&t.key===`ArrowRight`||e.direction===`vertical`&&t.key===`ArrowDown`)&&(t.preventDefault(),O(),b(()=>{T.value?N(1):N(0)}))}function N(e){let t=k.value[e];t&&(Array.isArray(t)?t[0]:t).el?.focus()}return F(()=>p(M(e.tag,{ref:c,class:E([`v-window`,{"v-window--show-arrows-on-hover":e.showArrows===`hover`,"v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},i.value,e.class]),style:v([e.style,{"--v-window-transition-duration":t()?null:n(e.transitionDuration,`ms`)}])},{default:()=>[L(`div`,{class:`v-window__container`,style:{height:y.value}},[r.default?.({group:s}),e.showArrows!==!1&&L(`div`,{class:E([`v-window__controls`,{"v-window__controls--left":e.verticalArrows===`left`||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows===`right`}]),onKeydown:j},[k.value])]),r.additional?.({group:s})]}),[[K,A.value]])),{group:s}}}),ve=i({...T(Y(),[`continuous`,`nextIcon`,`prevIcon`,`showArrows`,`touch`,`mandatory`])},`VTabsWindow`),Z=B()({name:`VTabsWindow`,props:ve(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=V(U,null),r=A(e,`modelValue`),i=P({get(){return r.value!=null||!n?r.value:n.items.value.find(e=>n.selected.value.includes(e.id))?.value},set(e){r.value=e}});return F(()=>M(X,R({_as:`VTabsWindow`},X.filterProps(e),{modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-tabs-window`,e.class],style:e.style,mandatory:!1,touch:!1}),t)),{}}}),Q=i({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...y(),...ae(),...r()},`VWindowItem`),$=B()({name:`VWindowItem`,directives:{vTouch:K},props:Q(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let r=V(q),i=D(e,J),{isBooted:a}=S();if(!r||!i)throw Error(`[Vuetify] VWindowItem must be used inside VWindow`);let o=C(!1),s=P(()=>a.value&&(r.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function c(){!o.value||!r||(o.value=!1,r.transitionCount.value>0&&(--r.transitionCount.value,r.transitionCount.value===0&&(r.transitionHeight.value=void 0)))}function u(){o.value||!r||(o.value=!0,r.transitionCount.value===0&&(r.transitionHeight.value=n(r.rootRef.value?.clientHeight)),r.transitionCount.value+=1)}function d(){c()}function f(e){o.value&&b(()=>{!s.value||!o.value||!r||(r.transitionHeight.value=n(e.clientHeight))})}let m=P(()=>{let t=r.isReversed.value?e.reverseTransition:e.transition;return s.value?{name:typeof t==`string`?t:r.transition.value,onBeforeEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:u,onAfterLeave:c,onLeaveCancelled:d,onEnter:f}:!1}),{hasContent:h}=ce(e,i.isSelected);return F(()=>M(l,{transition:m.value,disabled:!a.value},{default:()=>[p(L(`div`,{class:E([`v-window-item`,i.selectedClass.value,e.class]),style:v(e.style)},[h.value&&t.default?.()]),[[N,i.isSelected.value]])]})),{groupItem:i}}}),ye=i({...Q()},`VTabsWindowItem`),be=B()({name:`VTabsWindowItem`,props:ye(),setup(e,{slots:t}){return F(()=>M($,R({_as:`VTabsWindowItem`},$.filterProps(e),{class:[`v-tabs-window-item`,e.class],style:e.style}),t)),{}}});function xe(e){return e?e.map(e=>s(e)?e:{text:e,value:e}):[]}var Se=i({alignTabs:{type:String,default:`start`},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...w(W(),[`spaced`,`sliderTransition`,`sliderTransitionDuration`]),...f({mandatory:`force`,selectedClass:`v-tab-item--selected`}),...o(),...z()},`VTabs`),Ce=B()({name:`VTabs`,props:Se(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:r}){let i=A(e,`modelValue`),o=P(()=>xe(e.items)),{densityClasses:s}=a(e),{backgroundColorClasses:l,backgroundColorStyles:u}=H(()=>e.bgColor),{scopeId:f}=ee();return O({VTab:{color:d(e,`color`),direction:d(e,`direction`),stacked:d(e,`stacked`),fixed:d(e,`fixedTabs`),inset:d(e,`inset`),sliderColor:d(e,`sliderColor`),sliderTransition:d(e,`sliderTransition`),sliderTransitionDuration:d(e,`sliderTransitionDuration`),hideSlider:d(e,`hideSlider`)}}),F(()=>{let a=c.filterProps(e),d=!!(r.window||e.items.length>0);return L(I,null,[M(c,R(a,{modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-tabs`,`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},s.value,l.value,e.class],style:[{"--v-tabs-height":n(e.height),"--v-tabs-inset-padding":e.inset?n(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?n(e.insetRadius):void 0},u.value,e.style],role:`tablist`,symbol:U},f,t),{default:r.default??(()=>o.value.map(t=>r.tab?.({item:t})??M(G,R(t,{key:t.text,value:t.value,spaced:e.spaced}),{default:r[`tab.${t.value}`]?()=>r[`tab.${t.value}`]?.({item:t}):void 0}))),prev:r.prev,next:r.next}),d&&M(Z,R({modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,key:`tabs-window`},f),{default:()=>[o.value.map(e=>r.item?.({item:e})??M(be,{value:e.value},{default:()=>r[`item.${e.value}`]?.({item:e})})),r.window?.()]})])}),{}}});export{G as i,be as n,Z as r,Ce as t};