06af90d35e
Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
import{$ as e,Br as t,C as n,Dn as r,Dt as i,Et as a,I as o,Jr as s,K as c,Kn as l,L as u,Pr as d,Q as f,S as p,Tr as m,Un as h,Ur as g,Vr as _,W as v,Xn as ee,Yn as y,Yr as b,_n as x,_t as S,bn as C,bt as w,cn as T,dn as E,en as D,fn as te,gn as O,gr as k,gt as ne,ir as A,jr as re,mt as j,on as ie,or as M,pn as ae,pr as N,qn as oe,sn as se,sr as P,tn as ce,tr as le,vr as F,w as ue,xn as de,xt as I,y as fe,yn as L,yr as R,yt as z,zn as B}from"./index-DIFodsox.js";var V=Symbol.for(`vuetify:v-tabs`),H=C({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:`horizontal`},...l(e({selectedClass:`v-tab--selected`,variant:`text`}),[`active`,`block`,`flat`,`location`,`position`,`symbol`])},`VTab`),U=O()({name:`VTab`,props:H(),setup(e,{slots:n,attrs:r}){let{textColorClasses:i,textColorStyles:a}=w(()=>e.sliderColor),{backgroundColorClasses:o,backgroundColorStyles:c}=z(()=>e.sliderColor),l=t(),u=t(),d=M(()=>e.direction===`horizontal`),p=M(()=>l.value?.group?.isSelected.value??!1);function m(e,t){return{opacity:[0,1]}}function h(t,n){return e.direction===`vertical`?{transform:[`scaleY(0)`,`scaleY(1)`]}:{transform:[`scaleX(0)`,`scaleX(1)`]}}function g(e,t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=d.value?`x`:`y`,a=d.value?`X`:`Y`,o=d.value?`right`:`bottom`,s=d.value?`width`:`height`,c=n[i]>r[i]?n[o]-r[o]:n[i]-r[i],l=Math.sign(c)>0?d.value?`right`:`bottom`:Math.sign(c)<0?d.value?`left`:`top`:`center`,u=(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}(${(u-1)/p+1})`,`none`],transformOrigin:[,,,].fill(l)}}function _({value:t}){if(t){let t=l.value?.$el.parentElement?.querySelector(`.v-tab--selected .v-tab__slider`),n=u.value;if(!t||!n)return;let r=getComputedStyle(t).backgroundColor,i={fade:m,grow:h,shift:g}[e.sliderTransition??`shift`]??g,a=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??`shift`]??225);de(n,{backgroundColor:[r,r],...i(n,t)},{duration:a,easing:ae})}}return E(()=>{let t=f.filterProps(e);return N(f,F({symbol:V,ref:l,class:[`v-tab`,e.class,p.value&&e.inset?o.value:[]],style:[e.style,p.value&&e.inset?c.value:[],{backgroundColor:p.value&&e.inset?`transparent !important`:void 0}],tabindex:p.value?0:-1,role:`tab`,"aria-selected":String(p.value),active:!1},t,r,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":_}),{...n,default:()=>P(A,null,[n.default?.()??e.text,!e.hideSlider&&P(`div`,{ref:u,class:s([`v-tab__slider`,e.inset?o.value:i.value]),style:b([a.value,e.inset?c.value:i.value])},null)])})}),fe({},l)}}),pe=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 W(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}),pe(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=>W(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,h(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];h(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=C({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,...L(),...I(),...D()},`VWindow`),Y=O()({name:`VWindow`,directives:{vTouch:G},props:J(),emits:{"update:modelValue":e=>!0},setup(e,{slots:n}){let{themeClasses:i}=ce(e),{isRtl:a}=se(),{t:o}=ie(),c=ne(e,q),l=t(),u=M(()=>a.value?!e.reverse:e.reverse),p=_(!1),h=M(()=>e.crossfade?`v-window-crossfade-transition`:`v-window-${e.direction===`vertical`?`y`:`x`}${(u.value?!p.value:p.value)?`-reverse`:``}-transition`),v=_(0),x=t(void 0),S=M(()=>c.items.value.findIndex(e=>c.selected.value.includes(e.id)));re(S,(e,t)=>{let n,r={left:0,top:0};y&&t>=0&&(n=te(l.value),r.left=n?.scrollLeft,r.top=n?.scrollTop);let i=c.items.value.length,a=i-1;i<=2?p.value=e<t:e===a&&t===0?p.value=!1:e===0&&t===a?p.value=!0:p.value=e<t,R(()=>{!y||!n||(n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`}),requestAnimationFrame(()=>{n&&n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`})}))})},{flush:`sync`}),m(K,{transition:h,isReversed:p,transitionCount:v,transitionHeight:x,rootRef:l});let C=g(()=>e.continuous||S.value!==0),w=g(()=>e.continuous||S.value!==c.items.value.length-1);function T(){C.value&&c.prev()}function D(){w.value&&c.next()}let O=M(()=>{let t=[],r={icon:a.value?e.nextIcon:e.prevIcon,class:`v-window__${u.value?`right`:`left`}`,onClick:c.prev,"aria-label":o(`$vuetify.carousel.prev`)};t.push(C.value?n.prev?n.prev({props:r}):N(f,r,null):P(`div`,null,null));let i={icon:a.value?e.prevIcon:e.nextIcon,class:`v-window__${u.value?`left`:`right`}`,onClick:c.next,"aria-label":o(`$vuetify.carousel.next`)};return t.push(w.value?n.next?n.next({props:i}):N(f,i,null):P(`div`,null,null)),t}),k=M(()=>e.touch===!1?e.touch:{left:()=>{u.value?T():D()},right:()=>{u.value?D():T()},start:({originalEvent:e})=>{e.stopPropagation()},...e.touch===!0?{}:e.touch});function A(t){(e.direction===`horizontal`&&t.key===`ArrowLeft`||e.direction===`vertical`&&t.key===`ArrowUp`)&&(t.preventDefault(),T(),R(()=>{C.value?j(0):j(1)})),(e.direction===`horizontal`&&t.key===`ArrowRight`||e.direction===`vertical`&&t.key===`ArrowDown`)&&(t.preventDefault(),D(),R(()=>{w.value?j(1):j(0)}))}function j(e){let t=O.value[e];t&&(Array.isArray(t)?t[0]:t).el?.focus()}return E(()=>d(N(e.tag,{ref:l,class:s([`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:b([e.style,{"--v-window-transition-duration":ee()?null:r(e.transitionDuration,`ms`)}])},{default:()=>[P(`div`,{class:`v-window__container`,style:{height:x.value}},[n.default?.({group:c}),e.showArrows!==!1&&P(`div`,{class:s([`v-window__controls`,{"v-window__controls--left":e.verticalArrows===`left`||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows===`right`}]),onKeydown:A},[O.value])]),n.additional?.({group:c})]}),[[G,k.value]])),{group:c}}}),ye=C({...l(J(),[`continuous`,`nextIcon`,`prevIcon`,`showArrows`,`touch`,`mandatory`])},`VTabsWindow`),X=O()({name:`VTabsWindow`,props:ye(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=k(V,null),r=T(e,`modelValue`),i=M({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 E(()=>N(Y,F({_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=C({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...L(),...j(),...n()},`VWindowItem`),Q=O()({name:`VWindowItem`,directives:{vTouch:G},props:Z(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let n=k(K),i=S(e,q),{isBooted:a}=v();if(!n||!i)throw Error(`[Vuetify] VWindowItem must be used inside VWindow`);let o=_(!1),l=M(()=>a.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function u(){!o.value||!n||(o.value=!1,n.transitionCount.value>0&&(--n.transitionCount.value,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function f(){o.value||!n||(o.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=r(n.rootRef.value?.clientHeight)),n.transitionCount.value+=1)}function p(){u()}function m(e){o.value&&R(()=>{!l.value||!o.value||!n||(n.transitionHeight.value=r(e.clientHeight))})}let h=M(()=>{let t=n.isReversed.value?e.reverseTransition:e.transition;return l.value?{name:typeof t==`string`?t:n.transition.value,onBeforeEnter:f,onAfterEnter:u,onEnterCancelled:p,onBeforeLeave:f,onAfterLeave:u,onLeaveCancelled:p,onEnter:m}:!1}),{hasContent:g}=ue(e,i.isSelected);return E(()=>N(c,{transition:h.value,disabled:!a.value},{default:()=>[d(P(`div`,{class:s([`v-window-item`,i.selectedClass.value,e.class]),style:b(e.style)},[g.value&&t.default?.()]),[[le,i.isSelected.value]])]})),{groupItem:i}}}),be=C({...Z()},`VTabsWindowItem`),$=O()({name:`VTabsWindowItem`,props:be(),setup(e,{slots:t}){return E(()=>N(Q,F({_as:`VTabsWindowItem`},Q.filterProps(e),{class:[`v-tabs-window-item`,e.class],style:e.style}),t)),{}}});function xe(e){return e?e.map(e=>B(e)?e:{text:e,value:e}):[]}var Se=C({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,...oe(H(),[`spaced`,`sliderTransition`,`sliderTransitionDuration`]),...u({mandatory:`force`,selectedClass:`v-tab-item--selected`}),...a(),...I()},`VTabs`),Ce=O()({name:`VTabs`,props:Se(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let a=T(e,`modelValue`),s=M(()=>xe(e.items)),{densityClasses:c}=i(e),{backgroundColorClasses:l,backgroundColorStyles:u}=z(()=>e.bgColor),{scopeId:d}=p();return x({VTab:{color:g(e,`color`),direction:g(e,`direction`),stacked:g(e,`stacked`),fixed:g(e,`fixedTabs`),inset:g(e,`inset`),sliderColor:g(e,`sliderColor`),sliderTransition:g(e,`sliderTransition`),sliderTransitionDuration:g(e,`sliderTransitionDuration`),hideSlider:g(e,`hideSlider`)}}),E(()=>{let i=o.filterProps(e),f=!!(n.window||e.items.length>0);return P(A,null,[N(o,F(i,{modelValue:a.value,"onUpdate:modelValue":e=>a.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},c.value,l.value,e.class],style:[{"--v-tabs-height":r(e.height),"--v-tabs-inset-padding":e.inset?r(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?r(e.insetRadius):void 0},u.value,e.style],role:`tablist`,symbol:V},d,t),{default:n.default??(()=>s.value.map(t=>n.tab?.({item:t})??N(U,F(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}),f&&N(X,F({modelValue:a.value,"onUpdate:modelValue":e=>a.value=e,key:`tabs-window`},d),{default:()=>[s.value.map(e=>n.item?.({item:e})??N($,{value:e.value},{default:()=>n[`item.${e.value}`]?.({item:e})})),n.window?.()]})])}),{}}});export{U as i,$ as n,X as r,Ce as t}; |