2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
|
|
import{bI as We,b as j,a5 as ne,R as K,d as G,B as re,C as ce,a as J,D as L,a7 as se,H as Ne,o as Se,c as _e,al as Xe,n as Ee,f as U,g as Re,y as N,j as R,U as X,P as H,bJ as pe,G as Ye,bK as Ue,bL as Ie,s as g,E as I,bG as Ke,T as He,b1 as je,V as le,W as $,aT as Ge,bM as Je,bN as qe,h as oe,bO as Qe,J as Ze,ak as et,N as xe,F as tt,bm as at,z as nt,bP as st,K as lt,L as ot,l as it,ab as rt}from"./index-_T_ZwAU8.js";import{c as ct,r as ie,U as Pe}from"./raf-BSHx3Xj9.js";import{u as ut}from"./index-D9Qe2eDp.js";import{i as ee}from"./index-CnFjh-NG.js";import{c as te}from"./index-uEvcRnhb.js";import{i as dt}from"./index-DrL-DdXi.js";import{c as we}from"./clamp-eKDmixUu.js";import{o as bt}from"./omit-BNuYgpQl.js";const vt=({atEndEdge:e,atStartEdge:l,layout:u},p)=>{let t,T=0;const S=i=>i<0&&l.value||i>0&&e.value;return{hasReachedEdge:S,onWheel:i=>{ct(t);let{deltaX:h,deltaY:r}=i;i.shiftKey&&r!==0&&(h=r,r=0);const f=u.value==="horizontal"?h:r;S(f)||(T+=f,!We()&&f!==0&&i.preventDefault(),t=ie(()=>{p(T),T=0}))}}};const ge=e=>{let l,u;return e.type==="touchend"?(u=e.changedTouches[0].clientY,l=e.changedTouches[0].clientX):e.type.startsWith("touch")?(u=e.touches[0].clientY,l=e.touches[0].clientX):(u=e.clientY,l=e.clientX),{clientX:l,clientY:u}},q=Symbol("tabsRootContextKey"),ft=j({tabs:{type:K(Array),default:()=>ne([])},tabRefs:{type:K(Object),default:()=>ne({})}}),ye="ElTabBar";var ht=G({name:ye,__name:"tab-bar",props:ft,setup(e,{expose:l}){const u=e,p=re(q);p||ce(ye,"<el-tabs><el-tab-bar /></el-tabs>");const t=J("tabs"),T=N(),S=N(),d=R(()=>{var n;return X(p.props.defaultValue)||!!((n=S.value)!=null&&n.transform)}),i=()=>{let n=0,_=0;const v=["top","bottom"].includes(p.props.tabPosition)?"width":"height",x=v==="width"?"x":"y",w=x==="x"?"left":"top";return u.tabs.every(a=>{if(X(a.paneName))return!1;const c=u.tabRefs[a.paneName];if(!c)return!1;if(!a.active)return!0;n=c[`offset${te(w)}`],_=c[`client${te(v)}`];const C=window.getComputedStyle(c);return v==="width"&&(_-=Number.parseFloat(C.paddingLeft)+Number.parseFloat(C.paddingRight),n+=Number.parseFloat(C.paddingLeft)),!1}),{[v]:`${_}px`,transform:`translate${te(x)}(${n}px)`}},h=()=>S.value=i(),r=[],f=()=>{r.forEach(n=>n.stop()),r.length=0,Object.values(u.tabRefs).forEach(n=>{r.push(se(n,h))})};L(()=>u.tabs,async()=>{await H(),h(),f()},{immediate:!0});const b=se(T,()=>h());return Ne(()=>{r.forEach(n=>n.stop()),r.length=0,b.stop()}),l({ref:T,update:h}),(n,_)=>d.value?(Se(),_e("div",{key:0,ref_key:"barRef",ref:T,class:Ee([U(t).e("active-bar"),U(t).is(U(p).props.tabPosition)]),style:Xe(S.value)},null,6)):Re("v-if",!0)}}),mt=ht;const pt=5,gt=({scrollable:e,navOffset:l,navSize:u,navContainerSize:p,isHorizontal:t})=>{const T=N(!1),S=R(()=>Math.max(u.value-p.value,0));let d,i;const h=b=>{if(!e.value||b.touches.length!==1)return;const{clientX:n,clientY:_}=ge(b);d={startX:n,startY:_,startOffset:l.value},i=void 0},r=b=>{if(!d||!e.value)return;if(b.touches.length!==1){f();return}const{clientX:n,clientY:_}=ge(b),v=d.startX-n,x=d.startY-_,w=t.value?v:x,a=t.value?x:v,c=Math.abs(w),C=Math.abs(a);if(dt(i)){if(Math.max(c,C)<=pt)return;i=c>C}if(!i)return;const P=we(d.startOffset+w,0,S.value);S.value<=0||P===l.value||!b.cancelable||(b.preventDefault(),T.value=!0,l.value=P)},f=()=>{d=void 0,i=void 0,T.value=!1};return{isTouchScrolling:T,handleTouchStart:h,handleTouchMove:r,handleTouchEnd:f}},yt=j({panes:{type:K(Array),default:()=>ne([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),Tt={tabClick:(e,l,u)=>u instanceof Event,tabRemove:(e,l)=>l instanceof Event},Te="ElTabNav",Ct=G({name:Te,props:yt,emits:Tt,setup(e,{expose:l,emit:u}){const p=re(q);p||ce(Te,"<el-tabs><tab-nav /></el-tabs>");const t=J("tabs"),T=Je(),S=qe(),d=N(),i=N(),h=N(),r=N({}),f=N(),b=N(!1),n=N(0),_=N(!1),v=N(!0),x=N(!1),w=Ge(),a=R(()=>["top","bottom"].includes(p.props.tabPosition)),c=R(()=>a.value?"width":"height"),C=R(()=>{const s=c.value==="width"?"X":"Y";return{transition:x.value||$e.val
|