2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
|
import{X as e,aI as a,bQ as l,b as t,A as s,h as o,_ as r,d as n,j as i,I as u,a as d,r as c,D as p,ag as v,aH as b,aD as m,c as f,e as h,a0 as g,n as y,g as w,k as _,bR as k,bS as C,bT as F,F as P,o as x,bU as $,O as N,E as T,bV as V,M as R,aj as B,Z as E,y as S,x as A,p as q,f as U,bW as L,aC as I,U as j,aq as K,bX as M,ae as H,bY as W,S as X,ah as z,V as D,v as O,s as Y,aM as Q,b1 as Z,aN as G,aR as J,aV as ee,bb as ae,w as le,l as te,P as se,t as oe,bq as re,br as ne,ak as ie,al as ue,bt as de,bo as ce}from"./index.Dp_uSW6y.js";import{E as pe}from"./el-card.Zsvnolk4.js";const ve=(t,s)=>{const o={},r=e([]);return{children:r,addChild:e=>{o[e.uid]=e,r.value=((e,t,s)=>a(e.subTree).filter((e=>{var a;return l(e)&&(null==(a=e.type)?void 0:a.name)===t&&!!e.component})).map((e=>e.component.uid)).map((e=>s[e])).filter((e=>!!e)))(t,s,o)},removeChild:e=>{delete o[e],r.value=r.value.filter((a=>a.uid!==e))}}},be=Symbol("tabsRootContextKey"),me=t({tabs:{type:o(Array),default:()=>s([])}}),fe="ElTabBar",he=n({name:fe});var ge=r(n({...he,props:me,setup(e,{expose:a}){const l=e,t=_(),s=i(be);s||u(fe,"<el-tabs><el-tab-bar /></el-tabs>");const o=d("tabs"),r=c(),n=c(),C=()=>n.value=(()=>{let e=0,a=0;const o=["top","bottom"].includes(s.props.tabPosition)?"width":"height",r="width"===o?"x":"y",n="x"===r?"left":"top";return l.tabs.every((l=>{var s,r;const i=null==(r=null==(s=t.parent)?void 0:s.refs)?void 0:r[`tab-${l.uid}`];if(!i)return!1;if(!l.active)return!0;e=i[`offset${k(n)}`],a=i[`client${k(o)}`];const u=window.getComputedStyle(i);return"width"===o&&(a-=Number.parseFloat(u.paddingLeft)+Number.parseFloat(u.paddingRight),e+=Number.parseFloat(u.paddingLeft)),!1})),{[o]:`${a}px`,transform:`translate${k(r)}(${e}px)`}})(),F=[];p((()=>l.tabs),(async()=>{await v(),C(),(()=>{var e;F.forEach((e=>e.stop())),F.length=0;const a=null==(e=t.parent)?void 0:e.refs;if(a)for(const l in a)if(l.startsWith("tab-")){const e=a[l];e&&F.push(b(e,C))}})()}),{immediate:!0});const P=b(r,(()=>C()));return m((()=>{F.forEach((e=>e.stop())),F.length=0,P.stop()})),a({ref:r,update:C}),(e,a)=>(h(),f("div",{ref_key:"barRef",ref:r,class:y([w(o).e("active-bar"),w(o).is(w(s).props.tabPosition)]),style:g(n.value)},null,6))}}),[["__file","tab-bar.vue"]]);const ye=t({panes:{type:o(Array),default:()=>s([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),we="ElTabNav",_e=n({name:we,props:ye,emits:{tabClick:(e,a,l)=>l instanceof Event,tabRemove:(e,a)=>a instanceof Event},setup(e,{expose:a,emit:l}){const t=i(be);t||u(we,"<el-tabs><tab-nav /></el-tabs>");const s=d("tabs"),o=C(),r=F(),n=c(),m=c(),f=c(),h=c(),g=c(!1),y=c(0),w=c(!1),_=c(!0),S=P((()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height")),A=P((()=>({transform:`translate${"width"===S.value?"X":"Y"}(-${y.value}px)`}))),q=()=>{if(!n.value)return;const e=n.value[`offset${k(S.value)}`],a=y.value;if(!a)return;const l=a>e?a-e:0;y.value=l},U=()=>{if(!n.value||!m.value)return;const e=m.value[`offset${k(S.value)}`],a=n.value[`offset${k(S.value)}`],l=y.value;if(e-l<=a)return;const t=e-l>2*a?l+a:e-a;y.value=t},L=async()=>{const e=m.value;if(!(g.value&&f.value&&n.value&&e))return;await v();const a=f.value.querySelector(".is-active");if(!a)return;const l=n.value,s=["top","bottom"].includes(t.props.tabPosition),o=a.getBoundingClientRect(),r=l.getBoundingClientRect(),i=s?e.offsetWidth-r.width:e.offsetHeight-r.height,u=y.value;let d=u;s?(o.left<r.left&&(d=u-(r.left-o.left)),o.right>r.right&&(d=u+o.right-r.right)):(o.top<r.top&&(d=u-(r.top-o.top)),o.bottom>r.bottom&&(d=u+(o.bottom-r.bottom))),d=Math.max(d,0),y.value=Math.min(d,i)},I=()=>{var a;if(!m.value||!n.value)return;e.stretch&&(null==(a=h.value)||a.update());const l=m.value[`offset${k(S.value)}`],t=n.value[`offset${k(S.value)}`],s=y.value;t<l?(g.value=g.value||{},g.value.prev=s,g.value.next=s+t<l,l-s<t&&(y.value=l-t)):(g.value=!1,s>0&&(y.value=0))},j=e=>{let a=0;switch(e.code){case E.left:case E.up:a=-1;break;case E.right:case E.down:a=1;break;default:return}const l=Array.from(
|