import{d as Me,e as ye,t as Ie,f as De,E as H,a as We,b as Ke,g as Ue,p as He}from"./C55C_g8I.js";import{f as Ge,i as Ye,t as ue,u as se,c as qe,d as Xe,e as he,g as le,E as z}from"./CJbXZyQO.js";import{i as Je,c as Ze,r as Qe}from"./Cvbs7TFY.js";import{b as X,d as Y,_ as Ce,a as je,w as et}from"./COfxcSTK.js";import{m as oe}from"./Bp3YSIOJ.js";import{c as F}from"./lcLncvTV.js";import{s as re,q as I,V as tt,av as G,l as _e,n as at,H as de,v as J,r as N,k as W,as as q,m as Ne,c as Ee,o as Te,E as nt,B as Se,h as B,J as ie,f as w,au as st,b as y,j as lt,i as ot,D as ce,g as Pe,p as rt,e as it,aw as pe,I as ct,ax as ut,z as dt,y as ft,C as vt}from"#entry";import{t as ae}from"./Do5lZzCb.js";import{U as Re}from"./DedMas4Y.js";import{f as bt}from"./CyOsrYVo.js";import{g as mt,b as ht}from"./Pf81aNp_.js";import{c as pt}from"./DVelNPei.js";function gt(e,t,a){var u=-1,n=e.length;t<0&&(t=-t>n?0:n+t),a=a>n?n:a,a<0&&(a+=n),n=t>a?0:a-t>>>0,t>>>=0;for(var s=Array(n);++u<n;)s[u]=e[u+t];return s}function yt(e,t,a){return e===e&&(a!==void 0&&(e=e<=a?e:a),t!==void 0&&(e=e>=t?e:t)),e}function Ct(e,t,a){return a===void 0&&(a=t,t=void 0),a!==void 0&&(a=ae(a),a=a===a?a:0),t!==void 0&&(t=ae(t),t=t===t?t:0),yt(ae(e),t,a)}function _t(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function Nt(e,t){return t.length<2?e:Me(e,gt(t,0,-1))}function Et(e,t){return t=ye(t,e),e=Nt(e,t),e==null||delete e[Ie(_t(t))]}function Tt(e){return Je(e)?void 0:e}var St=1,Pt=2,Rt=4,Ot=Ge(function(e,t){var a={};if(e==null)return a;var u=!1;t=De(t,function(s){return s=ye(s,e),u||(u=s.length>1),s}),pt(e,mt(e),a),u&&(a=ht(a,St|Pt|Rt,Tt));for(var n=t.length;n--;)Et(a,t[n]);return a});const wt=(e,t,a)=>bt(e.subTree).filter(s=>{var C;return at(s)&&((C=s.type)==null?void 0:C.name)===t&&!!s.component}).map(s=>s.component.uid).map(s=>a[s]).filter(s=>!!s),xt=(e,t)=>{const a=re({}),u=re([]),n=new WeakMap,s=g=>{a.value[g.uid]=g,G(a),_e(()=>{const v=g.getVnode().el,l=v.parentNode;if(!n.has(l)){n.set(l,[]);const d=l.insertBefore.bind(l);l.insertBefore=(_,r)=>(n.get(l).some(E=>_===E||r===E)&&G(a),d(_,r))}n.get(l).push(v)})},C=g=>{delete a.value[g.uid],G(a);const v=g.getVnode().el,l=v.parentNode,d=n.get(l),_=d.indexOf(v);d.splice(_,1)},h=()=>{u.value=wt(e,t,a.value)},f=g=>g.render(),b=I({setup(g,{slots:v}){return()=>(h(),v.default?tt(f,{render:v.default}):null)}});return{children:u,addChild:s,removeChild:C,ChildrenSorter:b}},Z=Symbol("tabsRootContextKey"),$t="horizontal",Bt="vertical",kt={[$t]:"deltaX",[Bt]:"deltaY"},At=({atEndEdge:e,atStartEdge:t,layout:a},u)=>{let n,s=0;const C=f=>f<0&&t.value||f>0&&e.value;return{hasReachedEdge:C,onWheel:f=>{Ze(n);const b=f[kt[a.value]];C(s)&&C(s+b)||(s+=b,Ye()||f.preventDefault(),n=Qe(()=>{u(s),s=0}))}}},zt=X({tabs:{type:Y(Array),default:()=>oe([])},tabRefs:{type:Y(Object),default:()=>oe({})}}),Oe="ElTabBar",Ft=I({name:Oe}),Lt=I({...Ft,props:zt,setup(e,{expose:t}){const a=e,u=de(Z);u||ue(Oe,"<el-tabs><el-tab-bar /></el-tabs>");const n=J("tabs"),s=N(),C=N(),h=()=>{let l=0,d=0;const _=["top","bottom"].includes(u.props.tabPosition)?"width":"height",r=_==="width"?"x":"y",$=r==="x"?"left":"top";return a.tabs.every(E=>{if(ie(E.paneName))return!1;const T=a.tabRefs[E.paneName];if(!T)return!1;if(!E.active)return!0;l=T[`offset${F($)}`],d=T[`client${F(_)}`];const o=window.getComputedStyle(T);return _==="width"&&(d-=Number.parseFloat(o.paddingLeft)+Number.parseFloat(o.paddingRight),l+=Number.parseFloat(o.paddingLeft)),!1}),{[_]:`${d}px`,transform:`translate${F(r)}(${l}px)`}},f=()=>C.value=h(),b=[],g=()=>{b.forEach(l=>l.stop()),b.length=0,Object.values(a.tabRefs).forEach(l=>{b.push(se(l,f))})};W(()=>a.tabs,async()=>{await q(),f(),g()},{immediate:!0});const v=se(s,()=>f());return Ne(()=>{b.forEach(l=>l.stop()),b.length=0,v.stop()}),t({ref:s,update:f}),(l,d)=>(Te(),Ee("div",{ref_key:"barRef",ref:s,class:Se([B(n).e("active-bar"),B(n).is(B(u).props.tabPosition)]),style:nt(C.value)},null,6))}});var Vt=Ce(Lt,[["__file","tab-bar.vue"]]);const Mt=X({panes:{type:Y(Array),default:()=>oe([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),It={tabClick:(e,t,a)=>a instanceof Event,tabRemove:(e,t)=>t instanceof Event},ge="ElTabNav",Dt=I({name:ge,props:Mt,emits:It,setup(e,{expose:t,emit:a}){const u=de(Z);u||ue(ge,"<el-tabs><tab-nav /></el-tabs>");const n=J("tabs"),s=qe(),C=Xe(),h=N(),f=N(),b=N(),g=N({}),v=N(),l=N(!1),d=N(0),_=N(!1),r=N(!0),$=re(),E=w(()=>["top","bottom"].includes(u.props.tabPosition)),T=w(()=>E.value?"width":"height"),o=w(()=>({transform:`translate${T.value==="width"?"X":"Y"}(-${d.value}px)`})),{width:S,height:R}=he(h),{width:L,height:D}=he(f,{width:0,height:0},{box:"border-box"}),K=w(()=>E.value?S.value:R.value),V=w(()=>E.value?L.value:D.value),{onWheel:M}=At({atStartEdge:w(()=>d.value<=0),atEndEdge:w(()=>V.value-d.value<=K.value),layout:w(()=>E.value?"horizontal":"vertical")},i=>{d.value=Ct(d.value+i,0,V.value-K.value)}),Q=()=>{if(!h.value)return;const i=h.value[`offset${F(T.value)}`],p=d.value;if(!p)return;const c=p>i?p-i:0;d.value=c},$e=()=>{if(!h.value||!f.value)return;const i=f.value[`offset${F(T.value)}`],p=h.value[`offset${F(T.value)}`],c=d.value;if(i-c<=p)return;const m=i-c>p*2?c+p:i-p;d.value=m},fe=async()=>{const i=f.value;if(!l.value||!b.value||!h.value||!i)return;await q();const p=g.value[e.currentName];if(!p)return;const c=h.value,m=p.getBoundingClientRect(),P=c.getBoundingClientRect(),O=E.value?i.offsetWidth-P.width:i.offsetHeight-P.height,k=d.value;let x=k;E.value?(m.left<P.left&&(x=k-(P.left-m.left)),m.right>P.right&&(x=k+m.right-P.right)):(m.top<P.top&&(x=k-(P.top-m.top)),m.bottom>P.bottom&&(x=k+(m.bottom-P.bottom))),x=Math.max(x,0),d.value=Math.min(x,O)},ve=()=>{var i;if(!f.value||!h.value)return;e.stretch&&((i=v.value)==null||i.update());const p=f.value[`offset${F(T.value)}`],c=h.value[`offset${F(T.value)}`],m=d.value;c<p?(l.value=l.value||{},l.value.prev=m,l.value.next=m+c<p,p-m<c&&(d.value=p-c)):(l.value=!1,m>0&&(d.value=0))},Be=i=>{const p=le(i);let c=0;switch(p){case z.left:case z.up:c=-1;break;case z.right:case z.down:c=1;break;default:return}const m=Array.from(i.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let O=m.indexOf(i.target)+c;O<0?O=m.length-1:O>=m.length&&(O=0),m[O].focus({preventScroll:!0}),m[O].click(),be()},be=()=>{r.value&&(_.value=!0)},j=()=>_.value=!1,ke=(i,p)=>{g.value[p]=i},Ae=async()=>{await q();const i=g.value[e.currentName];i?.focus({preventScroll:!0})};return W(s,i=>{i==="hidden"?r.value=!1:i==="visible"&&setTimeout(()=>r.value=!0,50)}),W(C,i=>{i?setTimeout(()=>r.value=!0,50):r.value=!1}),se(b,ve),_e(()=>setTimeout(()=>fe(),0)),st(()=>ve()),t({scrollToActiveTab:fe,removeFocus:j,focusActiveTab:Ae,tabListRef:f,tabBarRef:v,scheduleRender:()=>G($)}),()=>{const i=l.value?[y("span",{class:[n.e("nav-prev"),n.is("disabled",!l.value.prev)],onClick:Q},[y(H,null,{default:()=>[y(We,null,null)]})]),y("span",{class:[n.e("nav-next"),n.is("disabled",!l.value.next)],onClick:$e},[y(H,null,{default:()=>[y(Ke,null,null)]})])]:null,p=e.panes.map((c,m)=>{var P,O,k,x;const ze=c.uid,ee=c.props.disabled,U=(O=(P=c.props.name)!=null?P:c.index)!=null?O:`${m}`,te=!ee&&(c.isClosable||c.props.closable!==!1&&e.editable);c.index=`${m}`;const Fe=te?y(H,{class:"is-icon-close",onClick:A=>a("tabRemove",c,A)},{default:()=>[y(Ue,null,null)]}):null,Le=((x=(k=c.slots).label)==null?void 0:x.call(k))||c.props.label,Ve=!ee&&c.active?0:-1;return y("div",{ref:A=>ke(A,U),class:[n.e("item"),n.is(u.props.tabPosition),n.is("active",c.active),n.is("disabled",ee),n.is("closable",te),n.is("focus",_.value)],id:`tab-${U}`,key:`tab-${ze}`,"aria-controls":`pane-${U}`,role:"tab","aria-selected":c.active,tabindex:Ve,onFocus:()=>be(),onBlur:()=>j(),onClick:A=>{j(),a("tabClick",c,U,A)},onKeydown:A=>{const me=le(A);te&&(me===z.delete||me===z.backspace)&&a("tabRemove",c,A)}},[Le,Fe])});return $.value,y("div",{ref:b,class:[n.e("nav-wrap"),n.is("scrollable",!!l.value),n.is(u.props.tabPosition)]},[i,y("div",{class:n.e("nav-scroll"),ref:h},[e.panes.length>0?y("div",{class:[n.e("nav"),n.is(u.props.tabPosition),n.is("stretch",e.stretch&&["top","bottom"].includes(u.props.tabPosition))],ref:f,style:o.value,role:"tablist",onKeydown:Be,onWheel:M},[e.type?null:y(Vt,{ref:v,tabs:[...e.panes],tabRefs:g.value},null),p]):null])])}}}),Wt=X({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:Y(Function),default:()=>!0},stretch:Boolean}),ne=e=>lt(e)||ot(e),Kt={[Re]:e=>ne(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>ne(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>ne(e),tabAdd:()=>!0},Ut=I({name:"ElTabs",props:Wt,emits:Kt,setup(e,{emit:t,slots:a,expose:u}){var n;const s=J("tabs"),C=w(()=>["left","right"].includes(e.tabPosition)),{children:h,addChild:f,removeChild:b,ChildrenSorter:g}=xt(Pe(),"ElTabPane"),v=N(),l=N((n=e.modelValue)!=null?n:"0"),d=async(o,S=!1)=>{var R,L,D,K;if(!(l.value===o||ie(o)))try{let V;if(e.beforeLeave){const M=e.beforeLeave(o,l.value);V=M instanceof Promise?await M:M}else V=!0;if(V!==!1){const M=(R=h.value.find(Q=>Q.paneName===l.value))==null?void 0:R.isFocusInsidePane();l.value=o,S&&(t(Re,o),t("tabChange",o)),(D=(L=v.value)==null?void 0:L.removeFocus)==null||D.call(L),M&&((K=v.value)==null||K.focusActiveTab())}}catch{}},_=(o,S,R)=>{o.props.disabled||(t("tabClick",o,R),d(S,!0))},r=(o,S)=>{o.props.disabled||ie(o.props.name)||(S.stopPropagation(),t("edit",o.props.name,"remove"),t("tabRemove",o.props.name))},$=()=>{t("edit",void 0,"add"),t("tabAdd")},E=o=>{const S=le(o);[z.enter,z.numpadEnter].includes(S)&&$()},T=o=>{const S=o.el.firstChild,R=["bottom","right"].includes(e.tabPosition)?o.children[0].el:o.children[1].el;S!==R&&S.before(R)};return W(()=>e.modelValue,o=>d(o)),W(l,async()=>{var o;await q(),(o=v.value)==null||o.scrollToActiveTab()}),rt(Z,{props:e,currentName:l,registerPane:f,unregisterPane:b,nav$:v}),u({currentName:l,get tabNavRef(){return Ot(v.value,["scheduleRender"])}}),()=>{const o=a["add-icon"],S=e.editable||e.addable?y("div",{class:[s.e("new-tab"),C.value&&s.e("new-tab-vertical")],tabindex:"0",onClick:$,onKeydown:E},[o?ce(a,"add-icon"):y(H,{class:s.is("icon-plus")},{default:()=>[y(He,null,null)]})]):null,R=()=>y(Dt,{ref:v,currentName:l.value,editable:e.editable,type:e.type,panes:h.value,stretch:e.stretch,onTabClick:_,onTabRemove:r},null),L=y("div",{class:[s.e("header"),C.value&&s.e("header-vertical"),s.is(e.tabPosition)]},[y(g,null,{default:R,$stable:!0}),S]),D=y("div",{class:s.e("content")},[ce(a,"default")]);return y("div",{class:[s.b(),s.m(e.tabPosition),{[s.m("card")]:e.type==="card",[s.m("border-card")]:e.type==="border-card"}],onVnodeMounted:T,onVnodeUpdated:T},[D,L])}}});var Ht=Ut;const Gt=X({label:{type:String,default:""},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),we="ElTabPane",Yt=I({name:we}),qt=I({...Yt,props:Gt,setup(e){const t=e,a=Pe(),u=it(),n=de(Z);n||ue(we,"usage: <el-tabs><el-tab-pane /></el-tabs/>");const s=J("tab-pane"),C=N(),h=N(),f=w(()=>{var r;return(r=t.closable)!=null?r:n.props.closable}),b=pe(()=>{var r;return n.currentName.value===((r=t.name)!=null?r:h.value)}),g=N(b.value),v=w(()=>{var r;return(r=t.name)!=null?r:h.value}),l=pe(()=>!t.lazy||g.value||b.value),d=()=>{var r;return(r=C.value)==null?void 0:r.contains(document.activeElement)};W(b,r=>{r&&(g.value=!0)});const _=ct({uid:a.uid,getVnode:()=>a.vnode,slots:u,props:t,paneName:v,active:b,index:h,isClosable:f,isFocusInsidePane:d});return n.registerPane(_),Ne(()=>{n.unregisterPane(_)}),ut(()=>{var r;u.label&&((r=n.nav$.value)==null||r.scheduleRender())}),(r,$)=>B(l)?dt((Te(),Ee("div",{key:0,id:`pane-${B(v)}`,ref_key:"paneRef",ref:C,class:Se(B(s).b()),role:"tabpanel","aria-hidden":!B(b),"aria-labelledby":`tab-${B(v)}`},[ce(r.$slots,"default")],10,["id","aria-hidden","aria-labelledby"])),[[vt,B(b)]]):ft("v-if",!0)}});var xe=Ce(qt,[["__file","tab-pane.vue"]]);const ra=et(Ht,{TabPane:xe}),ia=je(xe);export{ia as E,ra as a,xt as u};
