Files
Nexus/web/app/assets/VTabs-C2ff4EXe.js
T
2026-06-08 07:20:37 +08:00

1 line
12 KiB
JavaScript

import{$ as e,Bn as t,C as n,Dt as r,Er as i,Et as a,Fr as o,Hr as s,I as c,Jn as l,K as u,L as d,Mr as f,On as p,Q as m,S as h,Sn as g,Vr as _,W as v,Wn as y,Wr as b,Xn as x,Xr as S,Yr as C,Zn as ee,_n as w,_r as T,_t as E,ar as D,bn as O,br as k,bt as A,cn as te,cr as j,fn as M,gt as ne,ln as N,mn as P,mr as F,mt as re,nn as ie,nr as ae,pn as oe,qn as I,sn as se,sr as L,tn as ce,vn as le,w as ue,xn as R,xt as z,y as de,yr as B,yt as V}from"./index-S2pn_dxY.js";var H=Symbol.for(`vuetify:v-tabs`),U=R({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:`horizontal`},...I(e({selectedClass:`v-tab--selected`,variant:`text`}),[`active`,`block`,`flat`,`location`,`position`,`symbol`])},`VTab`),W=w()({name:`VTab`,props:U(),setup(e,{slots:t,attrs:n}){let{textColorClasses:r,textColorStyles:i}=A(()=>e.sliderColor),{backgroundColorClasses:a,backgroundColorStyles:o}=V(()=>e.sliderColor),s=_(),c=_(),l=L(()=>e.direction===`horizontal`),u=L(()=>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 h({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);g(n,{backgroundColor:[r,r],...i(n,t)},{duration:a,easing:P})}}return M(()=>{let l=m.filterProps(e);return F(m,B({symbol:H,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":h}),{...t,default:()=>j(D,null,[t.default?.()??e.text,!e.hideSlider&&j(`div`,{ref:c,class:C([`v-tab__slider`,e.inset?a.value:r.value]),style:S([i.value,e.inset?o.value:r.value])},null)])})}),de({},s)}}),fe=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 pe(e,t){let n=e.changedTouches[0];t.touchstartX=n.clientX,t.touchstartY=n.clientY,t.start?.({originalEvent:e,...t})}function me(e,t){let n=e.changedTouches[0];t.touchendX=n.clientX,t.touchendY=n.clientY,t.end?.({originalEvent:e,...t}),fe(t)}function he(e,t){let n=e.changedTouches[0];t.touchmoveX=n.clientX,t.touchmoveY=n.clientY,t.move?.({originalEvent:e,...t})}function ge(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=>pe(e,t),touchend:e=>me(e,t),touchmove:e=>he(e,t)}}function _e(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=ge(t.value);r._touchHandlers=r._touchHandlers??Object.create(null),r._touchHandlers[a]=o,y(o).forEach(e=>{r.addEventListener(e,o[e],i)})}function ve(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];y(i).forEach(e=>{n.removeEventListener(e,i[e])}),delete n._touchHandlers[r]}var G={mounted:_e,unmounted:ve},K=Symbol.for(`vuetify:v-window`),q=Symbol.for(`vuetify:v-window-group`),J=R({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,...O(),...z(),...ce()},`VWindow`),Y=w()({name:`VWindow`,directives:{vTouch:G},props:J(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{themeClasses:n}=ie(e),{isRtl:r}=te(),{t:a}=se(),c=ne(e,q),l=_(),u=L(()=>r.value?!e.reverse:e.reverse),d=s(!1),h=L(()=>e.crossfade?`v-window-crossfade-transition`:`v-window-${e.direction===`vertical`?`y`:`x`}${(u.value?!d.value:d.value)?`-reverse`:``}-transition`),g=s(0),v=_(void 0),y=L(()=>c.items.value.findIndex(e=>c.selected.value.includes(e.id)));f(y,(e,t)=>{let n,r={left:0,top:0};x&&t>=0&&(n=oe(l.value),r.left=n?.scrollLeft,r.top=n?.scrollTop);let i=c.items.value.length,a=i-1;i<=2?d.value=e<t:e===a&&t===0?d.value=!1:e===0&&t===a?d.value=!0:d.value=e<t,k(()=>{!x||!n||(n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`}),requestAnimationFrame(()=>{n&&n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`})}))})},{flush:`sync`}),i(K,{transition:h,isReversed:d,transitionCount:g,transitionHeight:v,rootRef:l});let w=b(()=>e.continuous||y.value!==0),T=b(()=>e.continuous||y.value!==c.items.value.length-1);function E(){w.value&&c.prev()}function D(){T.value&&c.next()}let O=L(()=>{let n=[],i={icon:r.value?e.nextIcon:e.prevIcon,class:`v-window__${u.value?`right`:`left`}`,onClick:c.prev,"aria-label":a(`$vuetify.carousel.prev`)};n.push(w.value?t.prev?t.prev({props:i}):F(m,i,null):j(`div`,null,null));let o={icon:r.value?e.prevIcon:e.nextIcon,class:`v-window__${u.value?`left`:`right`}`,onClick:c.next,"aria-label":a(`$vuetify.carousel.next`)};return n.push(T.value?t.next?t.next({props:o}):F(m,o,null):j(`div`,null,null)),n}),A=L(()=>e.touch===!1?e.touch:{left:()=>{u.value?E():D()},right:()=>{u.value?D():E()},start:({originalEvent:e})=>{e.stopPropagation()},...e.touch===!0?{}:e.touch});function N(t){(e.direction===`horizontal`&&t.key===`ArrowLeft`||e.direction===`vertical`&&t.key===`ArrowUp`)&&(t.preventDefault(),E(),k(()=>{w.value?P(0):P(1)})),(e.direction===`horizontal`&&t.key===`ArrowRight`||e.direction===`vertical`&&t.key===`ArrowDown`)&&(t.preventDefault(),D(),k(()=>{T.value?P(1):P(0)}))}function P(e){let t=O.value[e];t&&(Array.isArray(t)?t[0]:t).el?.focus()}return M(()=>o(F(e.tag,{ref:l,class:C([`v-window`,{"v-window--show-arrows-on-hover":e.showArrows===`hover`,"v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},n.value,e.class]),style:S([e.style,{"--v-window-transition-duration":ee()?null:p(e.transitionDuration,`ms`)}])},{default:()=>[j(`div`,{class:`v-window__container`,style:{height:v.value}},[t.default?.({group:c}),e.showArrows!==!1&&j(`div`,{class:C([`v-window__controls`,{"v-window__controls--left":e.verticalArrows===`left`||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows===`right`}]),onKeydown:N},[O.value])]),t.additional?.({group:c})]}),[[G,A.value]])),{group:c}}}),ye=R({...I(J(),[`continuous`,`nextIcon`,`prevIcon`,`showArrows`,`touch`,`mandatory`])},`VTabsWindow`),X=w()({name:`VTabsWindow`,props:ye(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=T(H,null),r=N(e,`modelValue`),i=L({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 M(()=>F(Y,B({_as:`VTabsWindow`},Y.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)),{}}}),Z=R({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...O(),...re(),...n()},`VWindowItem`),Q=w()({name:`VWindowItem`,directives:{vTouch:G},props:Z(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let n=T(K),r=E(e,q),{isBooted:i}=v();if(!n||!r)throw Error(`[Vuetify] VWindowItem must be used inside VWindow`);let a=s(!1),c=L(()=>i.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function l(){!a.value||!n||(a.value=!1,n.transitionCount.value>0&&(--n.transitionCount.value,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function d(){a.value||!n||(a.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=p(n.rootRef.value?.clientHeight)),n.transitionCount.value+=1)}function f(){l()}function m(e){a.value&&k(()=>{!c.value||!a.value||!n||(n.transitionHeight.value=p(e.clientHeight))})}let h=L(()=>{let t=n.isReversed.value?e.reverseTransition:e.transition;return c.value?{name:typeof t==`string`?t:n.transition.value,onBeforeEnter:d,onAfterEnter:l,onEnterCancelled:f,onBeforeLeave:d,onAfterLeave:l,onLeaveCancelled:f,onEnter:m}:!1}),{hasContent:g}=ue(e,r.isSelected);return M(()=>F(u,{transition:h.value,disabled:!i.value},{default:()=>[o(j(`div`,{class:C([`v-window-item`,r.selectedClass.value,e.class]),style:S(e.style)},[g.value&&t.default?.()]),[[ae,r.isSelected.value]])]})),{groupItem:r}}}),be=R({...Z()},`VTabsWindowItem`),$=w()({name:`VTabsWindowItem`,props:be(),setup(e,{slots:t}){return M(()=>F(Q,B({_as:`VTabsWindowItem`},Q.filterProps(e),{class:[`v-tabs-window-item`,e.class],style:e.style}),t)),{}}});function xe(e){return e?e.map(e=>t(e)?e:{text:e,value:e}):[]}var Se=R({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,...l(U(),[`spaced`,`sliderTransition`,`sliderTransitionDuration`]),...d({mandatory:`force`,selectedClass:`v-tab-item--selected`}),...a(),...z()},`VTabs`),Ce=w()({name:`VTabs`,props:Se(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let i=N(e,`modelValue`),a=L(()=>xe(e.items)),{densityClasses:o}=r(e),{backgroundColorClasses:s,backgroundColorStyles:l}=V(()=>e.bgColor),{scopeId:u}=h();return le({VTab:{color:b(e,`color`),direction:b(e,`direction`),stacked:b(e,`stacked`),fixed:b(e,`fixedTabs`),inset:b(e,`inset`),sliderColor:b(e,`sliderColor`),sliderTransition:b(e,`sliderTransition`),sliderTransitionDuration:b(e,`sliderTransitionDuration`),hideSlider:b(e,`hideSlider`)}}),M(()=>{let r=c.filterProps(e),d=!!(n.window||e.items.length>0);return j(D,null,[F(c,B(r,{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},o.value,s.value,e.class],style:[{"--v-tabs-height":p(e.height),"--v-tabs-inset-padding":e.inset?p(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?p(e.insetRadius):void 0},l.value,e.style],role:`tablist`,symbol:H},u,t),{default:n.default??(()=>a.value.map(t=>n.tab?.({item:t})??F(W,B(t,{key:t.text,value:t.value,spaced:e.spaced}),{default:n[`tab.${t.value}`]?()=>n[`tab.${t.value}`]?.({item:t}):void 0}))),prev:n.prev,next:n.next}),d&&F(X,B({modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,key:`tabs-window`},u),{default:()=>[a.value.map(e=>n.item?.({item:e})??F($,{value:e.value},{default:()=>n[`item.${e.value}`]?.({item:e})})),n.window?.()]})])}),{}}});export{W as i,$ as n,X as r,Ce as t};