352 lines
28 KiB
JavaScript
352 lines
28 KiB
JavaScript
import{At as e,Ft as t,Gt as n,H as r,L as i,Nt as a,Rt as o,U as s,W as c,X as l,Y as u,Yt as d,an as f,at as p,bt as m,cn as h,ct as g,gt as _,in as v,m as y,nt as b,ot as x,q as S,rt as C,st as w,vn as T,xn as E,xt as D,zt as O}from"./client-DrrW410h.js";import{l as ee,n as k,r as A}from"./Follower-D4pTNocL.js";import{a as j}from"./Scrollbar-DGnXZ64x.js";import{a as te,s as M}from"./ui-BXphkCO3.js";import{t as ne}from"./use-merged-state-CIQwNmUb.js";import{t as re}from"./use-compitable-BLe2cDdc.js";import{c as N,o as P}from"./_plugin-vue_export-helper-2ZWAS1ss.js";import{t as F}from"./flatten-C6dhMlvE.js";import{t as I}from"./Add-CkD1py6k.js";import{Q as ie,W as ae,ft as L,l as oe,nt as R,rt as se,tt as z,ut as B}from"./index-CvfVA1ID.js";var V=k(`.v-x-scroll`,{overflow:`auto`,scrollbarWidth:`none`},[k(`&::-webkit-scrollbar`,{width:0,height:0})]),ce=e({name:`XScroll`,props:{disabled:Boolean,onScroll:Function},setup(){let e=T(null);function t(e){!(e.currentTarget.offsetWidth<e.currentTarget.scrollWidth)||e.deltaY===0||(e.currentTarget.scrollLeft+=e.deltaY+e.deltaX,e.preventDefault())}let n=u();return V.mount({id:`vueuc/x-scroll`,head:!0,anchorMetaName:A,ssr:n}),Object.assign({selfRef:e,handleWheel:t},{scrollTo(...t){var n;(n=e.value)==null||n.scrollTo(...t)}})},render(){return a(`div`,{ref:`selfRef`,onScroll:this.onScroll,onWheel:this.disabled?void 0:this.handleWheel,class:`v-x-scroll`},this.$slots)}}),le=/\s/;function ue(e){for(var t=e.length;t--&&le.test(e.charAt(t)););return t}var H=/^\s+/;function U(e){return e&&e.slice(0,ue(e)+1).replace(H,``)}var W=NaN,de=/^[-+]0x[0-9a-f]+$/i,fe=/^0b[01]+$/i,G=/^0o[0-7]+$/i,K=parseInt;function q(e){if(typeof e==`number`)return e;if(z(e))return W;if(i(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=i(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=U(e);var n=fe.test(e);return n||G.test(e)?K(e.slice(2),n?2:8):de.test(e)?W:+e}var J=function(){return r.Date.now()},pe=`Expected a function`,me=Math.max,he=Math.min;function Y(e,t,n){var r,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(pe);t=q(t)||0,i(n)&&(d=!!n.leading,f=`maxWait`in n,o=f?me(q(n.maxWait)||0,t):o,p=`trailing`in n?!!n.trailing:p);function m(t){var n=r,i=a;return r=a=void 0,u=t,s=e.apply(i,n),s}function h(e){return u=e,c=setTimeout(v,t),d?m(e):s}function g(e){var n=e-l,r=e-u,i=t-n;return f?he(i,o-r):i}function _(e){var n=e-l,r=e-u;return l===void 0||n>=t||n<0||f&&r>=o}function v(){var e=J();if(_(e))return y(e);c=setTimeout(v,g(e))}function y(e){return c=void 0,p&&r?m(e):(r=a=void 0,s)}function b(){c!==void 0&&clearTimeout(c),u=0,r=l=a=c=void 0}function x(){return c===void 0?s:y(J())}function S(){var e=J(),n=_(e);if(r=arguments,a=this,l=e,n){if(c===void 0)return h(l);if(f)return clearTimeout(c),c=setTimeout(v,t),m(l)}return c===void 0&&(c=setTimeout(v,t)),s}return S.cancel=b,S.flush=x,S}var ge=`Expected a function`;function _e(e,t,n){var r=!0,a=!0;if(typeof e!=`function`)throw TypeError(ge);return i(n)&&(r=`leading`in n?!!n.leading:r,a=`trailing`in n?!!n.trailing:a),Y(e,t,{leading:r,maxWait:t,trailing:a})}var ve=l(`n-tabs`),ye={tab:[String,Number,Object,Function],name:{type:[String,Number],required:!0},disabled:Boolean,displayDirective:{type:String,default:`if`},closable:{type:Boolean,default:void 0},tabProps:Object,label:[String,Number,Object,Function]},X=e({__TAB_PANE__:!0,name:`TabPane`,alias:[`TabPanel`],props:ye,slots:Object,setup(e){let n=t(ve,null);return n||S(`tab-pane`,"`n-tab-pane` must be placed inside `n-tabs`."),{style:n.paneStyleRef,class:n.paneClassRef,mergedClsPrefix:n.mergedClsPrefixRef}},render(){return a(`div`,{class:[`${this.mergedClsPrefix}-tab-pane`,this.class],style:this.style},this.$slots)}}),Z=e({__TAB__:!0,inheritAttrs:!1,name:`Tab`,props:Object.assign({internalLeftPadded:Boolean,internalAddable:Boolean,internalCreatedByPane:Boolean},se(ye,[`displayDirective`])),setup(e){let{mergedClsPrefixRef:n,valueRef:r,typeRef:i,closableRef:a,tabStyleRef:o,addTabStyleRef:s,tabClassRef:c,addTabClassRef:l,tabChangeIdRef:u,onBeforeLeaveRef:d,triggerRef:f,handleAdd:p,activateTab:m,handleClose:h}=t(ve);return{trigger:f,mergedClosable:D(()=>{if(e.internalAddable)return!1;let{closable:t}=e;return t===void 0?a.value:t}),style:o,addStyle:s,tabClass:c,addTabClass:l,clsPrefix:n,value:r,type:i,handleClose(t){t.stopPropagation(),!e.disabled&&h(e.name)},activateTab(){if(e.disabled)return;if(e.internalAddable){p();return}let{name:t}=e,n=++u.id;if(t!==r.value){let{value:i}=d;i?Promise.resolve(i(e.name,r.value)).then(e=>{e&&u.id===n&&m(t)}):m(t)}}}},render(){let{internalAddable:e,clsPrefix:t,name:n,disabled:r,label:i,tab:s,value:c,mergedClosable:l,trigger:u,$slots:{default:d}}=this,f=i??s;return a(`div`,{class:`${t}-tabs-tab-wrapper`},this.internalLeftPadded?a(`div`,{class:`${t}-tabs-tab-pad`}):null,a(`div`,Object.assign({key:n,"data-name":n,"data-disabled":r?!0:void 0},o({class:[`${t}-tabs-tab`,c===n&&`${t}-tabs-tab--active`,r&&`${t}-tabs-tab--disabled`,l&&`${t}-tabs-tab--closable`,e&&`${t}-tabs-tab--addable`,e?this.addTabClass:this.tabClass],onClick:u===`click`?this.activateTab:void 0,onMouseenter:u===`hover`?this.activateTab:void 0,style:e?this.addStyle:this.style},this.internalCreatedByPane?this.tabProps||{}:this.$attrs)),a(`span`,{class:`${t}-tabs-tab__label`},e?a(_,null,a(`div`,{class:`${t}-tabs-tab__height-placeholder`},`\xA0`),a(ie,{clsPrefix:t},{default:()=>a(I,null)})):d?d():typeof f==`object`?f:R(f??n)),l&&this.type===`card`?a(ae,{clsPrefix:t,class:`${t}-tabs-tab__close`,onClick:this.handleClose,disabled:r}):null))}}),be=C(`tabs`,`
|
|
box-sizing: border-box;
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
transition:
|
|
background-color .3s var(--n-bezier),
|
|
border-color .3s var(--n-bezier);
|
|
`,[x(`segment-type`,[C(`tabs-rail`,[b(`&.transition-disabled`,[C(`tabs-capsule`,`
|
|
transition: none;
|
|
`)])])]),x(`top`,[C(`tab-pane`,`
|
|
padding: var(--n-pane-padding-top) var(--n-pane-padding-right) var(--n-pane-padding-bottom) var(--n-pane-padding-left);
|
|
`)]),x(`left`,[C(`tab-pane`,`
|
|
padding: var(--n-pane-padding-right) var(--n-pane-padding-bottom) var(--n-pane-padding-left) var(--n-pane-padding-top);
|
|
`)]),x(`left, right`,`
|
|
flex-direction: row;
|
|
`,[C(`tabs-bar`,`
|
|
width: 2px;
|
|
right: 0;
|
|
transition:
|
|
top .2s var(--n-bezier),
|
|
max-height .2s var(--n-bezier),
|
|
background-color .3s var(--n-bezier);
|
|
`),C(`tabs-tab`,`
|
|
padding: var(--n-tab-padding-vertical);
|
|
`)]),x(`right`,`
|
|
flex-direction: row-reverse;
|
|
`,[C(`tab-pane`,`
|
|
padding: var(--n-pane-padding-left) var(--n-pane-padding-top) var(--n-pane-padding-right) var(--n-pane-padding-bottom);
|
|
`),C(`tabs-bar`,`
|
|
left: 0;
|
|
`)]),x(`bottom`,`
|
|
flex-direction: column-reverse;
|
|
justify-content: flex-end;
|
|
`,[C(`tab-pane`,`
|
|
padding: var(--n-pane-padding-bottom) var(--n-pane-padding-right) var(--n-pane-padding-top) var(--n-pane-padding-left);
|
|
`),C(`tabs-bar`,`
|
|
top: 0;
|
|
`)]),C(`tabs-rail`,`
|
|
position: relative;
|
|
padding: 3px;
|
|
border-radius: var(--n-tab-border-radius);
|
|
width: 100%;
|
|
background-color: var(--n-color-segment);
|
|
transition: background-color .3s var(--n-bezier);
|
|
display: flex;
|
|
align-items: center;
|
|
`,[C(`tabs-capsule`,`
|
|
border-radius: var(--n-tab-border-radius);
|
|
position: absolute;
|
|
pointer-events: none;
|
|
background-color: var(--n-tab-color-segment);
|
|
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .08);
|
|
transition: transform 0.3s var(--n-bezier);
|
|
`),C(`tabs-tab-wrapper`,`
|
|
flex-basis: 0;
|
|
flex-grow: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
`,[C(`tabs-tab`,`
|
|
overflow: hidden;
|
|
border-radius: var(--n-tab-border-radius);
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
`,[x(`active`,`
|
|
font-weight: var(--n-font-weight-strong);
|
|
color: var(--n-tab-text-color-active);
|
|
`),b(`&:hover`,`
|
|
color: var(--n-tab-text-color-hover);
|
|
`)])])]),x(`flex`,[C(`tabs-nav`,`
|
|
width: 100%;
|
|
position: relative;
|
|
`,[C(`tabs-wrapper`,`
|
|
width: 100%;
|
|
`,[C(`tabs-tab`,`
|
|
margin-right: 0;
|
|
`)])])]),C(`tabs-nav`,`
|
|
box-sizing: border-box;
|
|
line-height: 1.5;
|
|
display: flex;
|
|
transition: border-color .3s var(--n-bezier);
|
|
`,[p(`prefix, suffix`,`
|
|
display: flex;
|
|
align-items: center;
|
|
`),p(`prefix`,`padding-right: 16px;`),p(`suffix`,`padding-left: 16px;`)]),x(`top, bottom`,[b(`>`,[C(`tabs-nav`,[C(`tabs-nav-scroll-wrapper`,[b(`&::before`,`
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 20px;
|
|
`),b(`&::after`,`
|
|
top: 0;
|
|
bottom: 0;
|
|
right: 0;
|
|
width: 20px;
|
|
`),x(`shadow-start`,[b(`&::before`,`
|
|
box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, .12);
|
|
`)]),x(`shadow-end`,[b(`&::after`,`
|
|
box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, .12);
|
|
`)])])])])]),x(`left, right`,[C(`tabs-nav-scroll-content`,`
|
|
flex-direction: column;
|
|
`),b(`>`,[C(`tabs-nav`,[C(`tabs-nav-scroll-wrapper`,[b(`&::before`,`
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 20px;
|
|
`),b(`&::after`,`
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 20px;
|
|
`),x(`shadow-start`,[b(`&::before`,`
|
|
box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, .12);
|
|
`)]),x(`shadow-end`,[b(`&::after`,`
|
|
box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, .12);
|
|
`)])])])])]),C(`tabs-nav-scroll-wrapper`,`
|
|
flex: 1;
|
|
position: relative;
|
|
overflow: hidden;
|
|
`,[C(`tabs-nav-y-scroll`,`
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow-y: auto;
|
|
scrollbar-width: none;
|
|
`,[b(`&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb`,`
|
|
width: 0;
|
|
height: 0;
|
|
display: none;
|
|
`)]),b(`&::before, &::after`,`
|
|
transition: box-shadow .3s var(--n-bezier);
|
|
pointer-events: none;
|
|
content: "";
|
|
position: absolute;
|
|
z-index: 1;
|
|
`)]),C(`tabs-nav-scroll-content`,`
|
|
display: flex;
|
|
position: relative;
|
|
min-width: 100%;
|
|
min-height: 100%;
|
|
width: fit-content;
|
|
box-sizing: border-box;
|
|
`),C(`tabs-wrapper`,`
|
|
display: inline-flex;
|
|
flex-wrap: nowrap;
|
|
position: relative;
|
|
`),C(`tabs-tab-wrapper`,`
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
flex-shrink: 0;
|
|
flex-grow: 0;
|
|
`),C(`tabs-tab`,`
|
|
cursor: pointer;
|
|
white-space: nowrap;
|
|
flex-wrap: nowrap;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
color: var(--n-tab-text-color);
|
|
font-size: var(--n-tab-font-size);
|
|
background-clip: padding-box;
|
|
padding: var(--n-tab-padding);
|
|
transition:
|
|
box-shadow .3s var(--n-bezier),
|
|
color .3s var(--n-bezier),
|
|
background-color .3s var(--n-bezier),
|
|
border-color .3s var(--n-bezier);
|
|
`,[x(`disabled`,{cursor:`not-allowed`}),p(`close`,`
|
|
margin-left: 6px;
|
|
transition:
|
|
background-color .3s var(--n-bezier),
|
|
color .3s var(--n-bezier);
|
|
`),p(`label`,`
|
|
display: flex;
|
|
align-items: center;
|
|
z-index: 1;
|
|
`)]),C(`tabs-bar`,`
|
|
position: absolute;
|
|
bottom: 0;
|
|
height: 2px;
|
|
border-radius: 1px;
|
|
background-color: var(--n-bar-color);
|
|
transition:
|
|
left .2s var(--n-bezier),
|
|
max-width .2s var(--n-bezier),
|
|
opacity .3s var(--n-bezier),
|
|
background-color .3s var(--n-bezier);
|
|
`,[b(`&.transition-disabled`,`
|
|
transition: none;
|
|
`),x(`disabled`,`
|
|
background-color: var(--n-tab-text-color-disabled)
|
|
`)]),C(`tabs-pane-wrapper`,`
|
|
position: relative;
|
|
overflow: hidden;
|
|
transition: max-height .2s var(--n-bezier);
|
|
`),C(`tab-pane`,`
|
|
color: var(--n-pane-text-color);
|
|
width: 100%;
|
|
transition:
|
|
color .3s var(--n-bezier),
|
|
background-color .3s var(--n-bezier),
|
|
opacity .2s var(--n-bezier);
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
`,[b(`&.next-transition-leave-active, &.prev-transition-leave-active, &.next-transition-enter-active, &.prev-transition-enter-active`,`
|
|
transition:
|
|
color .3s var(--n-bezier),
|
|
background-color .3s var(--n-bezier),
|
|
transform .2s var(--n-bezier),
|
|
opacity .2s var(--n-bezier);
|
|
`),b(`&.next-transition-leave-active, &.prev-transition-leave-active`,`
|
|
position: absolute;
|
|
`),b(`&.next-transition-enter-from, &.prev-transition-leave-to`,`
|
|
transform: translateX(32px);
|
|
opacity: 0;
|
|
`),b(`&.next-transition-leave-to, &.prev-transition-enter-from`,`
|
|
transform: translateX(-32px);
|
|
opacity: 0;
|
|
`),b(`&.next-transition-leave-from, &.next-transition-enter-to, &.prev-transition-leave-from, &.prev-transition-enter-to`,`
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
`)]),C(`tabs-tab-pad`,`
|
|
box-sizing: border-box;
|
|
width: var(--n-tab-gap);
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
`),x(`line-type, bar-type`,[C(`tabs-tab`,`
|
|
font-weight: var(--n-tab-font-weight);
|
|
box-sizing: border-box;
|
|
vertical-align: bottom;
|
|
`,[b(`&:hover`,{color:`var(--n-tab-text-color-hover)`}),x(`active`,`
|
|
color: var(--n-tab-text-color-active);
|
|
font-weight: var(--n-tab-font-weight-active);
|
|
`),x(`disabled`,{color:`var(--n-tab-text-color-disabled)`})])]),C(`tabs-nav`,[x(`line-type`,[x(`top`,[p(`prefix, suffix`,`
|
|
border-bottom: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-nav-scroll-content`,`
|
|
border-bottom: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-bar`,`
|
|
bottom: -1px;
|
|
`)]),x(`left`,[p(`prefix, suffix`,`
|
|
border-right: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-nav-scroll-content`,`
|
|
border-right: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-bar`,`
|
|
right: -1px;
|
|
`)]),x(`right`,[p(`prefix, suffix`,`
|
|
border-left: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-nav-scroll-content`,`
|
|
border-left: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-bar`,`
|
|
left: -1px;
|
|
`)]),x(`bottom`,[p(`prefix, suffix`,`
|
|
border-top: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-nav-scroll-content`,`
|
|
border-top: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-bar`,`
|
|
top: -1px;
|
|
`)]),p(`prefix, suffix`,`
|
|
transition: border-color .3s var(--n-bezier);
|
|
`),C(`tabs-nav-scroll-content`,`
|
|
transition: border-color .3s var(--n-bezier);
|
|
`),C(`tabs-bar`,`
|
|
border-radius: 0;
|
|
`)]),x(`card-type`,[p(`prefix, suffix`,`
|
|
transition: border-color .3s var(--n-bezier);
|
|
`),C(`tabs-pad`,`
|
|
flex-grow: 1;
|
|
transition: border-color .3s var(--n-bezier);
|
|
`),C(`tabs-tab-pad`,`
|
|
transition: border-color .3s var(--n-bezier);
|
|
`),C(`tabs-tab`,`
|
|
font-weight: var(--n-tab-font-weight);
|
|
border: 1px solid var(--n-tab-border-color);
|
|
background-color: var(--n-tab-color);
|
|
box-sizing: border-box;
|
|
position: relative;
|
|
vertical-align: bottom;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
font-size: var(--n-tab-font-size);
|
|
color: var(--n-tab-text-color);
|
|
`,[x(`addable`,`
|
|
padding-left: 8px;
|
|
padding-right: 8px;
|
|
font-size: 16px;
|
|
justify-content: center;
|
|
`,[p(`height-placeholder`,`
|
|
width: 0;
|
|
font-size: var(--n-tab-font-size);
|
|
`),w(`disabled`,[b(`&:hover`,`
|
|
color: var(--n-tab-text-color-hover);
|
|
`)])]),x(`closable`,`padding-right: 8px;`),x(`active`,`
|
|
background-color: #0000;
|
|
font-weight: var(--n-tab-font-weight-active);
|
|
color: var(--n-tab-text-color-active);
|
|
`),x(`disabled`,`color: var(--n-tab-text-color-disabled);`)])]),x(`left, right`,`
|
|
flex-direction: column;
|
|
`,[p(`prefix, suffix`,`
|
|
padding: var(--n-tab-padding-vertical);
|
|
`),C(`tabs-wrapper`,`
|
|
flex-direction: column;
|
|
`),C(`tabs-tab-wrapper`,`
|
|
flex-direction: column;
|
|
`,[C(`tabs-tab-pad`,`
|
|
height: var(--n-tab-gap-vertical);
|
|
width: 100%;
|
|
`)])]),x(`top`,[x(`card-type`,[C(`tabs-scroll-padding`,`border-bottom: 1px solid var(--n-tab-border-color);`),p(`prefix, suffix`,`
|
|
border-bottom: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-tab`,`
|
|
border-top-left-radius: var(--n-tab-border-radius);
|
|
border-top-right-radius: var(--n-tab-border-radius);
|
|
`,[x(`active`,`
|
|
border-bottom: 1px solid #0000;
|
|
`)]),C(`tabs-tab-pad`,`
|
|
border-bottom: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-pad`,`
|
|
border-bottom: 1px solid var(--n-tab-border-color);
|
|
`)])]),x(`left`,[x(`card-type`,[C(`tabs-scroll-padding`,`border-right: 1px solid var(--n-tab-border-color);`),p(`prefix, suffix`,`
|
|
border-right: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-tab`,`
|
|
border-top-left-radius: var(--n-tab-border-radius);
|
|
border-bottom-left-radius: var(--n-tab-border-radius);
|
|
`,[x(`active`,`
|
|
border-right: 1px solid #0000;
|
|
`)]),C(`tabs-tab-pad`,`
|
|
border-right: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-pad`,`
|
|
border-right: 1px solid var(--n-tab-border-color);
|
|
`)])]),x(`right`,[x(`card-type`,[C(`tabs-scroll-padding`,`border-left: 1px solid var(--n-tab-border-color);`),p(`prefix, suffix`,`
|
|
border-left: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-tab`,`
|
|
border-top-right-radius: var(--n-tab-border-radius);
|
|
border-bottom-right-radius: var(--n-tab-border-radius);
|
|
`,[x(`active`,`
|
|
border-left: 1px solid #0000;
|
|
`)]),C(`tabs-tab-pad`,`
|
|
border-left: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-pad`,`
|
|
border-left: 1px solid var(--n-tab-border-color);
|
|
`)])]),x(`bottom`,[x(`card-type`,[C(`tabs-scroll-padding`,`border-top: 1px solid var(--n-tab-border-color);`),p(`prefix, suffix`,`
|
|
border-top: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-tab`,`
|
|
border-bottom-left-radius: var(--n-tab-border-radius);
|
|
border-bottom-right-radius: var(--n-tab-border-radius);
|
|
`,[x(`active`,`
|
|
border-top: 1px solid #0000;
|
|
`)]),C(`tabs-tab-pad`,`
|
|
border-top: 1px solid var(--n-tab-border-color);
|
|
`),C(`tabs-pad`,`
|
|
border-top: 1px solid var(--n-tab-border-color);
|
|
`)])])])]),xe=_e,Se=e({name:`Tabs`,props:Object.assign(Object.assign({},y.props),{value:[String,Number],defaultValue:[String,Number],trigger:{type:String,default:`click`},type:{type:String,default:`bar`},closable:Boolean,justifyContent:String,size:String,placement:{type:String,default:`top`},tabStyle:[String,Object],tabClass:String,addTabStyle:[String,Object],addTabClass:String,barWidth:Number,paneClass:String,paneStyle:[String,Object],paneWrapperClass:String,paneWrapperStyle:[String,Object],addable:[Boolean,Object],tabsPadding:{type:Number,default:0},animated:Boolean,onBeforeLeave:Function,onAdd:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClose:[Function,Array],labelSize:String,activeName:[String,Number],onActiveNameChange:[Function,Array]}),slots:Object,setup(e,{slots:t}){let{mergedClsPrefixRef:r,inlineThemeDisabled:i,mergedComponentPropsRef:a}=c(e),o=y(`Tabs`,`-tabs`,be,oe,e,r),l=T(null),u=T(null),p=T(null),m=T(null),h=T(null),_=T(null),b=T(!0),x=T(!0),S=re(e,[`labelSize`,`size`]),C=D(()=>S.value?S.value:a?.value?.Tabs?.size||`medium`),w=re(e,[`activeName`,`value`]),k=T(w.value??e.defaultValue??(t.default?F(t.default())[0]?.props?.name:null)),A=ne(w,k),j={id:0},P=D(()=>{if(!(!e.justifyContent||e.type===`card`))return{display:`flex`,justifyContent:e.justifyContent}});v(A,()=>{j.id=0,R(),se()});function I(){let{value:e}=A;return e===null?null:l.value?.querySelector(`[data-name="${e}"]`)}function ie(t){if(e.type===`card`)return;let{value:n}=u;if(!n)return;let i=n.style.opacity===`0`;if(t){let a=`${r.value}-tabs-bar--disabled`,{barWidth:o,placement:s}=e;if(t.dataset.disabled===`true`?n.classList.add(a):n.classList.remove(a),[`top`,`bottom`].includes(s)){if(L([`top`,`maxHeight`,`height`]),typeof o==`number`&&t.offsetWidth>=o){let e=Math.floor((t.offsetWidth-o)/2)+t.offsetLeft;n.style.left=`${e}px`,n.style.maxWidth=`${o}px`}else n.style.left=`${t.offsetLeft}px`,n.style.maxWidth=`${t.offsetWidth}px`;n.style.width=`8192px`,i&&(n.style.transition=`none`),n.offsetWidth,i&&(n.style.transition=``,n.style.opacity=`1`)}else{if(L([`left`,`maxWidth`,`width`]),typeof o==`number`&&t.offsetHeight>=o){let e=Math.floor((t.offsetHeight-o)/2)+t.offsetTop;n.style.top=`${e}px`,n.style.maxHeight=`${o}px`}else n.style.top=`${t.offsetTop}px`,n.style.maxHeight=`${t.offsetHeight}px`;n.style.height=`8192px`,i&&(n.style.transition=`none`),n.offsetHeight,i&&(n.style.transition=``,n.style.opacity=`1`)}}}function ae(){if(e.type===`card`)return;let{value:t}=u;t&&(t.style.opacity=`0`)}function L(e){let{value:t}=u;if(t)for(let n of e)t.style[n]=``}function R(){if(e.type===`card`)return;let t=I();t?ie(t):ae()}function se(){let e=h.value?.$el;if(!e)return;let t=I();if(!t)return;let{scrollLeft:n,offsetWidth:r}=e,{offsetLeft:i,offsetWidth:a}=t;n>i?e.scrollTo({top:0,left:i,behavior:`smooth`}):i+a>n+r&&e.scrollTo({top:0,left:i+a-r,behavior:`smooth`})}let z=T(null),B=0,V=null;function ce(e){let t=z.value;if(t){B=e.getBoundingClientRect().height;let n=`${B}px`,r=()=>{t.style.height=n,t.style.maxHeight=n};V?(r(),V(),V=null):V=r}}function le(e){let t=z.value;if(t){let n=e.getBoundingClientRect().height,r=()=>{document.body.offsetHeight,t.style.maxHeight=`${n}px`,t.style.height=`${Math.max(B,n)}px`};V?(V(),V=null,r()):V=r}}function ue(){let t=z.value;if(t){t.style.maxHeight=``,t.style.height=``;let{paneWrapperStyle:n}=e;if(typeof n==`string`)t.style.cssText=n;else if(n){let{maxHeight:e,height:r}=n;e!==void 0&&(t.style.maxHeight=e),r!==void 0&&(t.style.height=r)}}}let H={value:[]},U=T(`next`);function W(e){let t=A.value,n=`next`;for(let r of H.value){if(r===t)break;if(r===e){n=`prev`;break}}U.value=n,de(e)}function de(t){let{onActiveNameChange:n,onUpdateValue:r,"onUpdate:value":i}=e;n&&N(n,t),r&&N(r,t),i&&N(i,t),k.value=t}function fe(t){let{onClose:n}=e;n&&N(n,t)}let G=!0;function K(){let{value:e}=u;if(!e)return;G||=!1;let t=`transition-disabled`;e.classList.add(t),R(),e.classList.remove(t)}let q=T(null);function J({transitionDisabled:e}){let t=l.value;if(!t)return;e&&t.classList.add(`transition-disabled`);let n=I();n&&q.value&&(q.value.style.width=`${n.offsetWidth}px`,q.value.style.height=`${n.offsetHeight}px`,q.value.style.transform=`translateX(${n.offsetLeft-te(getComputedStyle(t).paddingLeft)}px)`,e&&q.value.offsetWidth),e&&t.classList.remove(`transition-disabled`)}v([A],()=>{e.type===`segment`&&O(()=>{J({transitionDisabled:!1})})}),n(()=>{e.type===`segment`&&J({transitionDisabled:!0})});let pe=0;function me(t){if(t.contentRect.width===0&&t.contentRect.height===0||pe===t.contentRect.width)return;pe=t.contentRect.width;let{type:n}=e;if((n===`line`||n===`bar`)&&(G||e.justifyContent?.startsWith(`space`))&&K(),n!==`segment`){let{placement:t}=e;X((t===`top`||t===`bottom`?h.value?.$el:_.value)||null)}}let he=xe(me,64);v([()=>e.justifyContent,()=>e.size],()=>{O(()=>{let{type:t}=e;(t===`line`||t===`bar`)&&K()})});let Y=T(!1);function ge(t){let{target:n,contentRect:{width:r,height:i}}=t,a=n.parentElement.parentElement.offsetWidth,o=n.parentElement.parentElement.offsetHeight,{placement:s}=e;if(!Y.value)s===`top`||s===`bottom`?a<r&&(Y.value=!0):o<i&&(Y.value=!0);else{let{value:e}=m;if(!e)return;s===`top`||s===`bottom`?a-r>e.$el.offsetWidth&&(Y.value=!1):o-i>e.$el.offsetHeight&&(Y.value=!1)}X(h.value?.$el||null)}let _e=xe(ge,64);function ye(){let{onAdd:t}=e;t&&t(),O(()=>{let e=I(),{value:t}=h;!e||!t||t.scrollTo({left:e.offsetLeft,top:0,behavior:`smooth`})})}function X(t){if(!t)return;let{placement:n}=e;if(n===`top`||n===`bottom`){let{scrollLeft:e,scrollWidth:n,offsetWidth:r}=t;b.value=e<=0,x.value=e+r>=n}else{let{scrollTop:e,scrollHeight:n,offsetHeight:r}=t;b.value=e<=0,x.value=e+r>=n}}let Z=xe(e=>{X(e.target)},64);d(ve,{triggerRef:E(e,`trigger`),tabStyleRef:E(e,`tabStyle`),tabClassRef:E(e,`tabClass`),addTabStyleRef:E(e,`addTabStyle`),addTabClassRef:E(e,`addTabClass`),paneClassRef:E(e,`paneClass`),paneStyleRef:E(e,`paneStyle`),mergedClsPrefixRef:r,typeRef:E(e,`type`),closableRef:E(e,`closable`),valueRef:A,tabChangeIdRef:j,onBeforeLeaveRef:E(e,`onBeforeLeave`),activateTab:W,handleClose:fe,handleAdd:ye}),ee(()=>{R(),se()}),f(()=>{let{value:e}=p;if(!e)return;let{value:t}=r,n=`${t}-tabs-nav-scroll-wrapper--shadow-start`,i=`${t}-tabs-nav-scroll-wrapper--shadow-end`;b.value?e.classList.remove(n):e.classList.add(n),x.value?e.classList.remove(i):e.classList.add(i)});let Se={syncBarPosition:()=>{R()}},Ce=()=>{J({transitionDisabled:!0})},Q=D(()=>{let{value:t}=C,{type:n}=e,r=`${t}${{card:`Card`,bar:`Bar`,line:`Line`,segment:`Segment`}[n]}`,{self:{barColor:i,closeIconColor:a,closeIconColorHover:s,closeIconColorPressed:c,tabColor:l,tabBorderColor:u,paneTextColor:d,tabFontWeight:f,tabBorderRadius:p,tabFontWeightActive:m,colorSegment:h,fontWeightStrong:_,tabColorSegment:v,closeSize:y,closeIconSize:b,closeColorHover:x,closeColorPressed:S,closeBorderRadius:w,[g(`panePadding`,t)]:T,[g(`tabPadding`,r)]:E,[g(`tabPaddingVertical`,r)]:D,[g(`tabGap`,r)]:O,[g(`tabGap`,`${r}Vertical`)]:ee,[g(`tabTextColor`,n)]:k,[g(`tabTextColorActive`,n)]:A,[g(`tabTextColorHover`,n)]:j,[g(`tabTextColorDisabled`,n)]:te,[g(`tabFontSize`,t)]:ne},common:{cubicBezierEaseInOut:re}}=o.value;return{"--n-bezier":re,"--n-color-segment":h,"--n-bar-color":i,"--n-tab-font-size":ne,"--n-tab-text-color":k,"--n-tab-text-color-active":A,"--n-tab-text-color-disabled":te,"--n-tab-text-color-hover":j,"--n-pane-text-color":d,"--n-tab-border-color":u,"--n-tab-border-radius":p,"--n-close-size":y,"--n-close-icon-size":b,"--n-close-color-hover":x,"--n-close-color-pressed":S,"--n-close-border-radius":w,"--n-close-icon-color":a,"--n-close-icon-color-hover":s,"--n-close-icon-color-pressed":c,"--n-tab-color":l,"--n-tab-font-weight":f,"--n-tab-font-weight-active":m,"--n-tab-padding":E,"--n-tab-padding-vertical":D,"--n-tab-gap":O,"--n-tab-gap-vertical":ee,"--n-pane-padding-left":M(T,`left`),"--n-pane-padding-right":M(T,`right`),"--n-pane-padding-top":M(T,`top`),"--n-pane-padding-bottom":M(T,`bottom`),"--n-font-weight-strong":_,"--n-tab-color-segment":v}}),$=i?s(`tabs`,D(()=>`${C.value[0]}${e.type[0]}`),Q,e):void 0;return Object.assign({mergedClsPrefix:r,mergedValue:A,renderedNames:new Set,segmentCapsuleElRef:q,tabsPaneWrapperRef:z,tabsElRef:l,barElRef:u,addTabInstRef:m,xScrollInstRef:h,scrollWrapperElRef:p,addTabFixed:Y,tabWrapperStyle:P,handleNavResize:he,mergedSize:C,handleScroll:Z,handleTabsResize:_e,cssVars:i?void 0:Q,themeClass:$?.themeClass,animationDirection:U,renderNameListRef:H,yScrollElRef:_,handleSegmentResize:Ce,onAnimationBeforeLeave:ce,onAnimationEnter:le,onAnimationAfterEnter:ue,onRender:$?.onRender},Se)},render(){let{mergedClsPrefix:e,type:t,placement:n,addTabFixed:r,addable:i,mergedSize:o,renderNameListRef:s,onRender:c,paneWrapperClass:l,paneWrapperStyle:u,$slots:{default:d,prefix:f,suffix:p}}=this;c?.();let m=d?F(d()).filter(e=>e.type.__TAB_PANE__===!0):[],h=d?F(d()).filter(e=>e.type.__TAB__===!0):[],g=!h.length,_=t===`card`,v=t===`segment`,y=!_&&!v&&this.justifyContent;s.value=[];let b=()=>{let t=a(`div`,{style:this.tabWrapperStyle,class:`${e}-tabs-wrapper`},y?null:a(`div`,{class:`${e}-tabs-scroll-padding`,style:n===`top`||n===`bottom`?{width:`${this.tabsPadding}px`}:{height:`${this.tabsPadding}px`}}),g?m.map((e,t)=>(s.value.push(e.props.name),we(a(Z,Object.assign({},e.props,{internalCreatedByPane:!0,internalLeftPadded:t!==0&&(!y||y===`center`||y===`start`||y===`end`)}),e.children?{default:e.children.tab}:void 0)))):h.map((e,t)=>(s.value.push(e.props.name),we(t!==0&&!y?$(e):e))),!r&&i&&_?Q(i,(g?m.length:h.length)!==0):null,y?null:a(`div`,{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}));return a(`div`,{ref:`tabsElRef`,class:`${e}-tabs-nav-scroll-content`},_&&i?a(j,{onResize:this.handleTabsResize},{default:()=>t}):t,_?a(`div`,{class:`${e}-tabs-pad`}):null,_?null:a(`div`,{ref:`barElRef`,class:`${e}-tabs-bar`}))},x=v?`top`:n;return a(`div`,{class:[`${e}-tabs`,this.themeClass,`${e}-tabs--${t}-type`,`${e}-tabs--${o}-size`,y&&`${e}-tabs--flex`,`${e}-tabs--${x}`],style:this.cssVars},a(`div`,{class:[`${e}-tabs-nav--${t}-type`,`${e}-tabs-nav--${x}`,`${e}-tabs-nav`]},P(f,t=>t&&a(`div`,{class:`${e}-tabs-nav__prefix`},t)),v?a(j,{onResize:this.handleSegmentResize},{default:()=>a(`div`,{class:`${e}-tabs-rail`,ref:`tabsElRef`},a(`div`,{class:`${e}-tabs-capsule`,ref:`segmentCapsuleElRef`},a(`div`,{class:`${e}-tabs-wrapper`},a(`div`,{class:`${e}-tabs-tab`}))),g?m.map((e,t)=>(s.value.push(e.props.name),a(Z,Object.assign({},e.props,{internalCreatedByPane:!0,internalLeftPadded:t!==0}),e.children?{default:e.children.tab}:void 0))):h.map((e,t)=>(s.value.push(e.props.name),t===0?e:$(e))))}):a(j,{onResize:this.handleNavResize},{default:()=>a(`div`,{class:`${e}-tabs-nav-scroll-wrapper`,ref:`scrollWrapperElRef`},[`top`,`bottom`].includes(x)?a(ce,{ref:`xScrollInstRef`,onScroll:this.handleScroll},{default:b}):a(`div`,{class:`${e}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:`yScrollElRef`},b()))}),r&&i&&_?Q(i,!0):null,P(p,t=>t&&a(`div`,{class:`${e}-tabs-nav__suffix`},t))),g&&(this.animated&&(x===`top`||x===`bottom`)?a(`div`,{ref:`tabsPaneWrapperRef`,style:u,class:[`${e}-tabs-pane-wrapper`,l]},Ce(m,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):Ce(m,this.mergedValue,this.renderedNames)))}});function Ce(e,t,n,r,i,o,s){let c=[];return e.forEach(e=>{let{name:r,displayDirective:i,"display-directive":a}=e.props,o=e=>i===e||a===e,s=t===r;if(e.key!==void 0&&(e.key=r),s||o(`show`)||o(`show:lazy`)&&n.has(r)){n.has(r)||n.add(r);let t=!o(`if`);c.push(t?h(e,[[L,s]]):e)}}),s?a(B,{name:`${s}-transition`,onBeforeLeave:r,onEnter:i,onAfterEnter:o},{default:()=>c}):c}function Q(e,t){return a(Z,{ref:`addTabInstRef`,key:`__addable`,name:`__addable`,internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:t,disabled:typeof e==`object`&&e.disabled})}function $(e){let t=m(e);return t.props?t.props.internalLeftPadded=!0:t.props={internalLeftPadded:!0},t}function we(e){return Array.isArray(e.dynamicProps)?e.dynamicProps.includes(`internalLeftPadded`)||e.dynamicProps.push(`internalLeftPadded`):e.dynamicProps=[`internalLeftPadded`],e}export{X as n,Se as t}; |