import{cM as e,cN as a,cO as t,cP as l,cQ as s,cR as n,cS as o,cT as r,cU as i,W as u,d as c,ax as d,cV as v,o as b,aB as p,bG as f,b as m,A as h,h as g,_ as y,j as C,I as P,a as $,r as w,D as x,aA as R,aw as N,c as k,e as T,$ as B,n as S,g as E,av as A,cW as F,ai as V,cX as _,cY as L,F as M,cw as O,N as j,E as K,cF as W,L as I,Y as U,ak as Y,y as z,x as X,f as q,cZ as D,U as G,k as H,p as Q,ci as Z,c_ as J,ag as ee,c$ as ae,R as te,al as le,S as se,v as ne,s as oe}from"./index.1758793160998SbAhWz2_.js";function re(a,t){return t.length<2?a:e(a,function(e,a,t){var l=-1,s=e.length;a<0&&(a=-a>s?0:s+a),(t=t>s?s:t)<0&&(t+=s),s=a>t?0:t-a>>>0,a>>>=0;for(var n=Array(s);++l1),t}),o(e,r(e),l),s&&(l=i(l,7,ue));for(var u=t.length;u--;)ie(l,t[u]);return l});const de=(e,a)=>{const t=u({}),l=u([]),s=new WeakMap,n=()=>{l.value=((e,a,t)=>p(e.subTree).filter(e=>{var t;return f(e)&&(null==(t=e.type)?void 0:t.name)===a&&!!e.component}).map(e=>e.component.uid).map(e=>t[e]).filter(e=>!!e))(e,a,t.value)},o=e=>e.render(),r=c({setup:(e,{slots:a})=>()=>(n(),a.default?d(o,{render:a.default}):null)});return{children:l,addChild:e=>{t.value[e.uid]=e,v(t),b(()=>{const a=e.getVnode().el,l=a.parentNode;if(!s.has(l)){s.set(l,[]);const e=l.insertBefore.bind(l);l.insertBefore=(a,n)=>(s.get(l).some(e=>a===e||n===e)&&v(t),e(a,n))}s.get(l).push(a)})},removeChild:e=>{delete t.value[e.uid],v(t);const a=e.getVnode().el,l=a.parentNode,n=s.get(l),o=n.indexOf(a);n.splice(o,1)},ChildrenSorter:r}},ve=Symbol("tabsRootContextKey"),be=m({tabs:{type:g(Array),default:()=>h([])},tabRefs:{type:g(Object),default:()=>h({})}}),pe="ElTabBar",fe=c({name:pe});var me=y(c({...fe,props:be,setup(e,{expose:a}){const t=e,l=C(ve);l||P(pe,"");const s=$("tabs"),n=w(),o=w(),r=()=>o.value=(()=>{let e=0,a=0;const s=["top","bottom"].includes(l.props.tabPosition)?"width":"height",n="width"===s?"x":"y",o="x"===n?"left":"top";return t.tabs.every(l=>{if(A(l.paneName))return!1;const n=t.tabRefs[l.paneName];if(!n)return!1;if(!l.active)return!0;e=n[`offset${F(o)}`],a=n[`client${F(s)}`];const r=window.getComputedStyle(n);return"width"===s&&(a-=Number.parseFloat(r.paddingLeft)+Number.parseFloat(r.paddingRight),e+=Number.parseFloat(r.paddingLeft)),!1}),{[s]:`${a}px`,transform:`translate${F(n)}(${e}px)`}})(),i=[];x(()=>t.tabs,async()=>{await V(),r(),i.forEach(e=>e.stop()),i.length=0,Object.values(t.tabRefs).forEach(e=>{i.push(R(e,r))})},{immediate:!0});const u=R(n,()=>r());return N(()=>{i.forEach(e=>e.stop()),i.length=0,u.stop()}),a({ref:n,update:r}),(e,a)=>(T(),k("div",{ref_key:"barRef",ref:n,class:S([E(s).e("active-bar"),E(s).is(E(l).props.tabPosition)]),style:B(o.value)},null,6))}}),[["__file","tab-bar.vue"]]);const he=m({panes:{type:g(Array),default:()=>h([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),ge="ElTabNav",ye=c({name:ge,props:he,emits:{tabClick:(e,a,t)=>t instanceof Event,tabRemove:(e,a)=>a instanceof Event},setup(e,{expose:a,emit:t}){const l=C(ve);l||P(ge,"");const s=$("tabs"),n=_(),o=L(),r=w(),i=w(),c=w(),d=w({}),p=w(),f=w(!1),m=w(0),h=w(!1),g=w(!0),y=u(),N=M(()=>["top","bottom"].includes(l.props.tabPosition)?"width":"height"),k=M(()=>({transform:`translate${"width"===N.value?"X":"Y"}(-${m.value}px)`})),T=()=>{if(!r.value)return;const e=r.value[`offset${F(N.value)}`],a=m.value;if(!a)return;const t=a>e?a-e:0;m.value=t},B=()=>{if(!r.value||!i.value)return;const e=i.value[`offset${F(N.value)}`],a=r.value[`offset${F(N.value)}`],t=m.value;if(e-t<=a)return;const l=e-t>2*a?t+a:e-a;m.value=l},S=async()=>{const a=i.value;if(!(f.value&&c.value&&r.value&&a))return;await V();const t=d.value[e.currentName];if(!t)return;const s=r.value,n=["top","bottom"].includes(l.props.tabPosition),o=t.getBoundingClientRect(),u=s.getBoundingClientRect(),v=n?a.offsetWidth-u.width:a.offsetHeight-u.height,b=m.value;let p=b;n?(o.leftu.right&&(p=b+o.right-u.right)):(o.topu.bottom&&(p=b+(o.bottom-u.bottom))),p=Math.max(p,0),m.value=Math.min(p,v)},E=()=>{var a;if(!i.value||!r.value)return;e.stretch&&(null==(a=p.value)||a.update());const t=i.value[`offset${F(N.value)}`],l=r.value[`offset${F(N.value)}`],s=m.value;l0&&(m.value=0))},A=e=>{let a=0;switch(e.code){case U.left:case U.up:a=-1;break;case U.right:case U.down:a=1;break;default:return}const t=Array.from(e.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let l=t.indexOf(e.target)+a;l<0?l=t.length-1:l>=t.length&&(l=0),t[l].focus({preventScroll:!0}),t[l].click(),z()},z=()=>{g.value&&(h.value=!0)},X=()=>h.value=!1;return x(n,e=>{"hidden"===e?g.value=!1:"visible"===e&&setTimeout(()=>g.value=!0,50)}),x(o,e=>{e?setTimeout(()=>g.value=!0,50):g.value=!1}),R(c,E),b(()=>setTimeout(()=>S(),0)),O(()=>E()),a({scrollToActiveTab:S,removeFocus:X,focusActiveTab:async()=>{await V();const a=d.value[e.currentName];null==a||a.focus({preventScroll:!0})},tabListRef:i,tabBarRef:p,scheduleRender:()=>v(y)}),()=>{const a=f.value?[j("span",{class:[s.e("nav-prev"),s.is("disabled",!f.value.prev)],onClick:T},[j(K,null,{default:()=>[j(W,null,null)]})]),j("span",{class:[s.e("nav-next"),s.is("disabled",!f.value.next)],onClick:B},[j(K,null,{default:()=>[j(I,null,null)]})])]:null,n=e.panes.map((a,n)=>{var o,r,i,u;const c=a.uid,v=a.props.disabled,b=null!=(r=null!=(o=a.props.name)?o:a.index)?r:`${n}`,p=!v&&(a.isClosable||e.editable);a.index=`${n}`;const f=p?j(K,{class:"is-icon-close",onClick:e=>t("tabRemove",a,e)},{default:()=>[j(Y,null,null)]}):null,m=(null==(u=(i=a.slots).label)?void 0:u.call(i))||a.props.label,g=!v&&a.active?0:-1;return j("div",{ref:e=>((e,a)=>{d.value[a]=e})(e,b),class:[s.e("item"),s.is(l.props.tabPosition),s.is("active",a.active),s.is("disabled",v),s.is("closable",p),s.is("focus",h.value)],id:`tab-${b}`,key:`tab-${c}`,"aria-controls":`pane-${b}`,role:"tab","aria-selected":a.active,tabindex:g,onFocus:()=>z(),onBlur:()=>X(),onClick:e=>{X(),t("tabClick",a,b,e)},onKeydown:e=>{!p||e.code!==U.delete&&e.code!==U.backspace||t("tabRemove",a,e)}},[m,f])});return y.value,j("div",{ref:c,class:[s.e("nav-wrap"),s.is("scrollable",!!f.value),s.is(l.props.tabPosition)]},[a,j("div",{class:s.e("nav-scroll"),ref:r},[e.panes.length>0?j("div",{class:[s.e("nav"),s.is(l.props.tabPosition),s.is("stretch",e.stretch&&["top","bottom"].includes(l.props.tabPosition))],ref:i,style:k.value,role:"tablist",onKeydown:A},[e.type?null:j(me,{ref:p,tabs:[...e.panes],tabRefs:d.value},null),n]):null])])}}}),Ce=m({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:g(Function),default:()=>!0},stretch:Boolean}),Pe=e=>z(e)||X(e);var $e=c({name:"ElTabs",props:Ce,emits:{[G]:e=>Pe(e),tabClick:(e,a)=>a instanceof Event,tabChange:e=>Pe(e),edit:(e,a)=>["remove","add"].includes(a),tabRemove:e=>Pe(e),tabAdd:()=>!0},setup(e,{emit:a,slots:t,expose:l}){var s;const n=$("tabs"),o=M(()=>["left","right"].includes(e.tabPosition)),{children:r,addChild:i,removeChild:u,ChildrenSorter:c}=de(H(),"ElTabPane"),d=w(),v=w(null!=(s=e.modelValue)?s:"0"),b=async(t,l=!1)=>{var s,n,o,i;if(v.value!==t&&!A(t))try{let u;if(e.beforeLeave){const a=e.beforeLeave(t,v.value);u=a instanceof Promise?await a:a}else u=!0;if(!1!==u){const e=null==(s=r.value.find(e=>e.paneName===v.value))?void 0:s.isFocusInsidePane();v.value=t,l&&(a(G,t),a("tabChange",t)),null==(o=null==(n=d.value)?void 0:n.removeFocus)||o.call(n),e&&(null==(i=d.value)||i.focusActiveTab())}}catch(u){}},p=(e,t,l)=>{e.props.disabled||(a("tabClick",e,l),b(t,!0))},f=(e,t)=>{e.props.disabled||A(e.props.name)||(t.stopPropagation(),a("edit",e.props.name,"remove"),a("tabRemove",e.props.name))},m=()=>{a("edit",void 0,"add"),a("tabAdd")},h=a=>{const t=a.el.firstChild,l=["bottom","right"].includes(e.tabPosition)?a.children[0].el:a.children[1].el;t!==l&&t.before(l)};return x(()=>e.modelValue,e=>b(e)),x(v,async()=>{var e;await V(),null==(e=d.value)||e.scrollToActiveTab()}),Q(ve,{props:e,currentName:v,registerPane:i,unregisterPane:u,nav$:d}),l({currentName:v,get tabNavRef(){return ce(d.value,["scheduleRender"])}}),()=>{const a=t["add-icon"],l=e.editable||e.addable?j("div",{class:[n.e("new-tab"),o.value&&n.e("new-tab-vertical")],tabindex:"0",onClick:m,onKeydown:e=>{[U.enter,U.numpadEnter].includes(e.code)&&m()}},[a?q(t,"add-icon"):j(K,{class:n.is("icon-plus")},{default:()=>[j(D,null,null)]})]):null,s=j("div",{class:[n.e("header"),o.value&&n.e("header-vertical"),n.is(e.tabPosition)]},[j(c,null,{default:()=>j(ye,{ref:d,currentName:v.value,editable:e.editable,type:e.type,panes:r.value,stretch:e.stretch,onTabClick:p,onTabRemove:f},null),$stable:!0}),l]),i=j("div",{class:n.e("content")},[q(t,"default")]);return j("div",{class:[n.b(),n.m(e.tabPosition),{[n.m("card")]:"card"===e.type,[n.m("border-card")]:"border-card"===e.type}],onVnodeMounted:h,onVnodeUpdated:h},[i,s])}}});const we=m({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),xe="ElTabPane",Re=c({name:xe});var Ne=y(c({...Re,props:we,setup(e){const a=e,t=H(),l=Z(),s=C(ve);s||P(xe,"usage: ");const n=$("tab-pane"),o=w(),r=w(),i=M(()=>a.closable||s.props.closable),u=J(()=>{var e;return s.currentName.value===(null!=(e=a.name)?e:r.value)}),c=w(u.value),d=M(()=>{var e;return null!=(e=a.name)?e:r.value}),v=J(()=>!a.lazy||c.value||u.value);x(u,e=>{e&&(c.value=!0)});const b=ee({uid:t.uid,getVnode:()=>t.vnode,slots:l,props:a,paneName:d,active:u,index:r,isClosable:i,isFocusInsidePane:()=>{var e;return null==(e=o.value)?void 0:e.contains(document.activeElement)}});return s.registerPane(b),N(()=>{s.unregisterPane(b)}),ae(()=>{var e;l.label&&(null==(e=s.nav$.value)||e.scheduleRender())}),(e,a)=>E(v)?te((T(),k("div",{key:0,id:`pane-${E(d)}`,ref_key:"paneRef",ref:o,class:S(E(n).b()),role:"tabpanel","aria-hidden":!E(u),"aria-labelledby":`tab-${E(d)}`},[q(e.$slots,"default")],10,["id","aria-hidden","aria-labelledby"])),[[se,E(u)]]):le("v-if",!0)}}),[["__file","tab-pane.vue"]]);const ke=ne($e,{TabPane:Ne}),Te=oe(Ne);export{ke as E,Te as a};