You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
330 lines
49 KiB
JavaScript
330 lines
49 KiB
JavaScript
import{z as re,f as z,aU as Dn,aV as Vn,e as Ne,a7 as en,k as r,aW as Wn,aX as jn,aY as on,aw as cn,H as T,I as _,J,M as fn,O as ue,aZ as Hn,D as nn,aS as Kn,E as P,a0 as le,a2 as Le,a9 as hn,a_ as tn,V as qe,a$ as xe,aM as vn,K as G,L as Je,aI as bn,S as H,b0 as Un,b1 as qn,C as Ce,au as Gn,a1 as Ge,Y as ln,b2 as Zn,a3 as Yn,aB as Xn,a5 as Jn,a4 as Qn,ai as Ae,b3 as et,X as nt,b4 as tt,N as Ze,am as ot,F as it,b5 as lt,T as rn,ag as rt,b6 as at,U as st,b7 as dt,ap as Qe,b8 as ut,b9 as ct,ba as ft,bb as ht,bc as vt,bd as an,be as bt,bf as gt,aa as ee}from"./index.be528926.js";import{u as gn,a as pt}from"./Suffix.dd1e51ab.js";import{F as mt,V as wt}from"./FocusDetector.ab37d392.js";function yt(e){switch(typeof e){case"string":return e||void 0;case"number":return String(e);default:return}}function Ye(e){const o=e.filter(l=>l!==void 0);if(o.length!==0)return o.length===1?o[0]:l=>{e.forEach(d=>{d&&d(l)})}}const ie="v-hidden",xt=jn("[v-hidden]",{display:"none!important"});var sn=re({name:"Overflow",props:{getCounter:Function,getTail:Function,updateCounter:Function,onUpdateCount:Function,onUpdateOverflow:Function},setup(e,{slots:o}){const l=z(null),d=z(null);function f(g){const{value:a}=l,{getCounter:k,getTail:O}=e;let h;if(k!==void 0?h=k():h=d.value,!a||!h)return;h.hasAttribute(ie)&&h.removeAttribute(ie);const{children:w}=a;if(g.showAllItemsBeforeCalculate)for(const I of w)I.hasAttribute(ie)&&I.removeAttribute(ie);const S=a.offsetWidth,B=[],v=o.tail?O==null?void 0:O():null;let R=v?v.offsetWidth:0,A=!1;const m=a.children.length-(o.tail?1:0);for(let I=0;I<m-1;++I){if(I<0)continue;const D=w[I];if(A){D.hasAttribute(ie)||D.setAttribute(ie,"");continue}else D.hasAttribute(ie)&&D.removeAttribute(ie);const j=D.offsetWidth;if(R+=j,B[I]=j,R>S){const{updateCounter:L}=e;for(let N=I;N>=0;--N){const K=m-1-N;L!==void 0?L(K):h.textContent=`${K}`;const Q=h.offsetWidth;if(R-=B[N],R+Q<=S||N===0){A=!0,I=N-1,v&&(I===-1?(v.style.maxWidth=`${S-Q}px`,v.style.boxSizing="border-box"):v.style.maxWidth="");const{onUpdateCount:U}=e;U&&U(K);break}}}}const{onUpdateOverflow:y}=e;A?y!==void 0&&y(!0):(y!==void 0&&y(!1),h.setAttribute(ie,""))}const b=Dn();return xt.mount({id:"vueuc/overflow",head:!0,anchorMetaName:Vn,ssr:b}),Ne(()=>f({showAllItemsBeforeCalculate:!1})),{selfRef:l,counterRef:d,sync:f}},render(){const{$slots:e}=this;return en(()=>this.sync({showAllItemsBeforeCalculate:!1})),r("div",{class:"v-overflow",ref:"selfRef"},[Wn(e,"default"),e.counter?e.counter():r("span",{style:{display:"inline-block"},ref:"counterRef"}),e.tail?e.tail():null])}});function pn(e,o){o&&(Ne(()=>{const{value:l}=e;l&&on.registerHandler(l,o)}),cn(()=>{const{value:l}=e;l&&on.unregisterHandler(l)}))}var Ct=re({name:"Checkmark",render(){return r("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},r("g",{fill:"none"},r("path",{d:"M14.046 3.486a.75.75 0 0 1-.032 1.06l-7.93 7.474a.85.85 0 0 1-1.188-.022l-2.68-2.72a.75.75 0 1 1 1.068-1.053l2.234 2.267l7.468-7.038a.75.75 0 0 1 1.06.032z",fill:"currentColor"})))}}),Ot=re({name:"Empty",render(){return r("svg",{viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r("path",{d:"M26 7.5C26 11.0899 23.0899 14 19.5 14C15.9101 14 13 11.0899 13 7.5C13 3.91015 15.9101 1 19.5 1C23.0899 1 26 3.91015 26 7.5ZM16.8536 4.14645C16.6583 3.95118 16.3417 3.95118 16.1464 4.14645C15.9512 4.34171 15.9512 4.65829 16.1464 4.85355L18.7929 7.5L16.1464 10.1464C15.9512 10.3417 15.9512 10.6583 16.1464 10.8536C16.3417 11.0488 16.6583 11.0488 16.8536 10.8536L19.5 8.20711L22.1464 10.8536C22.3417 11.0488 22.6583 11.0488 22.8536 10.8536C23.0488 10.6583 23.0488 10.3417 22.8536 10.1464L20.2071 7.5L22.8536 4.85355C23.0488 4.65829 23.0488 4.34171 22.8536 4.14645C22.6583 3.95118 22.3417 3.95118 22.1464 4.14645L19.5 6.79289L16.8536 4.14645Z",fill:"currentColor"}),r("path",{d:"M25 22.75V12.5991C24.5572 13.0765 24.053 13.4961 23.5 13.8454V16H17.5L17.3982 16.0068C17.0322 16.0565 16.75 16.3703 16.75 16.75C16.75 18.2688 15.5188 19.5 14 19.5C12.4812 19.5 11.25 18.2688 11.25 16.75L11.2432 16.6482C11.1935 16.2822 10.8797 16 10.5 16H4.5V7.25C4.5 6.2835 5.2835 5.5 6.25 5.5H12.2696C12.4146 4.97463 12.6153 4.47237 12.865 4H6.25C4.45507 4 3 5.45507 3 7.25V22.75C3 24.5449 4.45507 26 6.25 26H21.75C23.5449 26 25 24.5449 25 22.75ZM4.5 22.75V17.5H9.81597L9.85751 17.7041C10.2905 19.5919 11.9808 21 14 21L14.215 20.9947C16.2095 20.8953 17.842 19.4209 18.184 17.5H23.5V22.75C23.5 23.7165 22.7165 24.5 21.75 24.5H6.25C5.2835 24.5 4.5 23.7165 4.5 22.75Z",fill:"currentColor"}))}}),Ft=T("empty",`
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
font-size: var(--n-font-size);
|
|
`,[_("icon",`
|
|
width: var(--n-icon-size);
|
|
height: var(--n-icon-size);
|
|
font-size: var(--n-icon-size);
|
|
line-height: var(--n-icon-size);
|
|
color: var(--n-icon-color);
|
|
transition:
|
|
color .3s var(--n-bezier);
|
|
`,[J("+",[_("description",`
|
|
margin-top: 8px;
|
|
`)])]),_("description",`
|
|
transition: color .3s var(--n-bezier);
|
|
color: var(--n-text-color);
|
|
`),_("extra",`
|
|
text-align: center;
|
|
transition: color .3s var(--n-bezier);
|
|
margin-top: 12px;
|
|
color: var(--n-extra-text-color);
|
|
`)]);const St=Object.assign(Object.assign({},ue.props),{description:String,showDescription:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},size:{type:String,default:"medium"},renderIcon:Function});var Rt=re({name:"Empty",props:St,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:l}=fn(e),d=ue("Empty","-empty",Ft,Hn,e,o),{localeRef:f}=gn("Empty"),b=nn(Kn,null),g=P(()=>{var h,w,S;return(h=e.description)!==null&&h!==void 0?h:(S=(w=b==null?void 0:b.mergedComponentPropsRef.value)===null||w===void 0?void 0:w.Empty)===null||S===void 0?void 0:S.description}),a=P(()=>{var h,w;return((w=(h=b==null?void 0:b.mergedComponentPropsRef.value)===null||h===void 0?void 0:h.Empty)===null||w===void 0?void 0:w.renderIcon)||(()=>r(Ot,null))}),k=P(()=>{const{size:h}=e,{common:{cubicBezierEaseInOut:w},self:{[le("iconSize",h)]:S,[le("fontSize",h)]:B,textColor:v,iconColor:R,extraTextColor:A}}=d.value;return{"--n-icon-size":S,"--n-font-size":B,"--n-bezier":w,"--n-text-color":v,"--n-icon-color":R,"--n-extra-text-color":A}}),O=l?Le("empty",P(()=>{let h="";const{size:w}=e;return h+=w[0],h}),k,e):void 0;return{mergedClsPrefix:o,mergedRenderIcon:a,localizedDescription:P(()=>g.value||f.value.description),cssVars:l?void 0:k,themeClass:O==null?void 0:O.themeClass,onRender:O==null?void 0:O.onRender}},render(){const{$slots:e,mergedClsPrefix:o,onRender:l}=this;return l==null||l(),r("div",{class:[`${o}-empty`,this.themeClass],style:this.cssVars},this.showIcon?r("div",{class:`${o}-empty__icon`},e.icon?e.icon():r(hn,{clsPrefix:o},{default:this.mergedRenderIcon})):null,this.showDescription?r("div",{class:`${o}-empty__description`},e.default?e.default():this.localizedDescription):null,e.extra?r("div",{class:`${o}-empty__extra`},e.extra()):null)}});function Mt(e,o){return r(vn,{name:"fade-in-scale-up-transition"},{default:()=>e?r(hn,{clsPrefix:o,class:`${o}-base-select-option__check`},{default:()=>r(Ct)}):null})}var dn=re({name:"NBaseSelectOption",props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0}},setup(e){const{valueRef:o,pendingTmNodeRef:l,multipleRef:d,valueSetRef:f,renderLabelRef:b,renderOptionRef:g,labelFieldRef:a,valueFieldRef:k,showCheckmarkRef:O,nodePropsRef:h,handleOptionClick:w,handleOptionMouseEnter:S}=nn(tn),B=qe(()=>{const{value:m}=l;return m?e.tmNode.key===m.key:!1});function v(m){const{tmNode:y}=e;y.disabled||w(m,y)}function R(m){const{tmNode:y}=e;y.disabled||S(m,y)}function A(m){const{tmNode:y}=e,{value:I}=B;y.disabled||I||S(m,y)}return{multiple:d,isGrouped:qe(()=>{const{tmNode:m}=e,{parent:y}=m;return y&&y.rawNode.type==="group"}),showCheckmark:O,nodeProps:h,isPending:B,isSelected:qe(()=>{const{value:m}=o,{value:y}=d;if(m===null)return!1;const I=e.tmNode.rawNode[k.value];if(y){const{value:D}=f;return D.has(I)}else return m===I}),labelField:a,renderLabel:b,renderOption:g,handleMouseMove:A,handleMouseEnter:R,handleClick:v}},render(){const{clsPrefix:e,tmNode:{rawNode:o},isSelected:l,isPending:d,isGrouped:f,showCheckmark:b,nodeProps:g,renderOption:a,renderLabel:k,handleClick:O,handleMouseEnter:h,handleMouseMove:w}=this,S=Mt(l,e),B=k?[k(o,l),b&&S]:[xe(o[this.labelField],o,l),b&&S],v=g==null?void 0:g(o),R=r("div",Object.assign({},v,{class:[`${e}-base-select-option`,o.class,v==null?void 0:v.class,{[`${e}-base-select-option--disabled`]:o.disabled,[`${e}-base-select-option--selected`]:l,[`${e}-base-select-option--grouped`]:f,[`${e}-base-select-option--pending`]:d,[`${e}-base-select-option--show-checkmark`]:b}],style:[(v==null?void 0:v.style)||"",o.style||""],onClick:Ye([O,v==null?void 0:v.onClick]),onMouseenter:Ye([h,v==null?void 0:v.onMouseenter]),onMousemove:Ye([w,v==null?void 0:v.onMousemove])}),r("div",{class:`${e}-base-select-option__content`},B));return o.render?o.render({node:R,option:o,selected:l}):a?a({node:R,option:o,selected:l}):R}}),un=re({name:"NBaseSelectGroupHeader",props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0}},setup(){const{renderLabelRef:e,renderOptionRef:o,labelFieldRef:l,nodePropsRef:d}=nn(tn);return{labelField:l,nodeProps:d,renderLabel:e,renderOption:o}},render(){const{clsPrefix:e,renderLabel:o,renderOption:l,nodeProps:d,tmNode:{rawNode:f}}=this,b=d==null?void 0:d(f),g=o?o(f,!1):xe(f[this.labelField],f,!1),a=r("div",Object.assign({},b,{class:[`${e}-base-select-group-header`,b==null?void 0:b.class]}),g);return f.render?f.render({node:a,option:f}):l?l({node:a,option:f,selected:!1}):a}}),Tt=T("base-select-menu",`
|
|
line-height: 1.5;
|
|
outline: none;
|
|
z-index: 0;
|
|
position: relative;
|
|
border-radius: var(--n-border-radius);
|
|
transition:
|
|
background-color .3s var(--n-bezier),
|
|
box-shadow .3s var(--n-bezier);
|
|
background-color: var(--n-color);
|
|
`,[T("scrollbar",`
|
|
max-height: var(--n-height);
|
|
`),T("virtual-list",`
|
|
max-height: var(--n-height);
|
|
`),T("base-select-option",`
|
|
min-height: var(--n-option-height);
|
|
font-size: var(--n-option-font-size);
|
|
display: flex;
|
|
align-items: center;
|
|
`,[_("content",`
|
|
z-index: 1;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
`)]),T("base-select-group-header",`
|
|
min-height: var(--n-option-height);
|
|
font-size: .93em;
|
|
display: flex;
|
|
align-items: center;
|
|
`),T("base-select-menu-option-wrapper",`
|
|
position: relative;
|
|
width: 100%;
|
|
`),_("loading, empty",`
|
|
display: flex;
|
|
padding: 12px 32px;
|
|
flex: 1;
|
|
justify-content: center;
|
|
`),_("loading",`
|
|
color: var(--n-loading-color);
|
|
font-size: var(--n-loading-size);
|
|
`),_("action",`
|
|
padding: 8px var(--n-option-padding-left);
|
|
font-size: var(--n-option-font-size);
|
|
transition:
|
|
color .3s var(--n-bezier),
|
|
border-color .3s var(--n-bezier);
|
|
border-top: 1px solid var(--n-action-divider-color);
|
|
color: var(--n-action-text-color);
|
|
`),T("base-select-group-header",`
|
|
position: relative;
|
|
cursor: default;
|
|
padding: var(--n-option-padding);
|
|
color: var(--n-group-header-text-color);
|
|
`),T("base-select-option",`
|
|
cursor: pointer;
|
|
position: relative;
|
|
padding: var(--n-option-padding);
|
|
transition:
|
|
color .3s var(--n-bezier),
|
|
opacity .3s var(--n-bezier);
|
|
box-sizing: border-box;
|
|
color: var(--n-option-text-color);
|
|
opacity: 1;
|
|
`,[G("show-checkmark",`
|
|
padding-right: calc(var(--n-option-padding-right) + 20px);
|
|
`),J("&::before",`
|
|
content: "";
|
|
position: absolute;
|
|
left: 4px;
|
|
right: 4px;
|
|
top: 0;
|
|
bottom: 0;
|
|
border-radius: var(--n-border-radius);
|
|
transition: background-color .3s var(--n-bezier);
|
|
`),J("&:active",`
|
|
color: var(--n-option-text-color-pressed);
|
|
`),G("grouped",`
|
|
padding-left: calc(var(--n-option-padding-left) * 1.5);
|
|
`),G("pending",[J("&::before",`
|
|
background-color: var(--n-option-color-pending);
|
|
`)]),G("selected",`
|
|
color: var(--n-option-text-color-active);
|
|
`,[J("&::before",`
|
|
background-color: var(--n-option-color-active);
|
|
`),G("pending",[J("&::before",`
|
|
background-color: var(--n-option-color-active-pending);
|
|
`)])]),G("disabled",`
|
|
cursor: not-allowed;
|
|
`,[Je("selected",`
|
|
color: var(--n-option-text-color-disabled);
|
|
`),G("selected",`
|
|
opacity: var(--n-option-opacity-disabled);
|
|
`)]),_("check",`
|
|
font-size: 16px;
|
|
position: absolute;
|
|
right: calc(var(--n-option-padding-right) - 4px);
|
|
top: calc(50% - 7px);
|
|
color: var(--n-option-check-color);
|
|
transition: color .3s var(--n-bezier);
|
|
`,[bn({enterScale:"0.5"})])])]),zt=re({name:"InternalSelectMenu",props:Object.assign(Object.assign({},ue.props),{clsPrefix:{type:String,required:!0},scrollable:{type:Boolean,default:!0},treeMate:{type:Object,required:!0},multiple:Boolean,size:{type:String,default:"medium"},value:{type:[String,Number,Array],default:null},autoPending:Boolean,virtualScroll:{type:Boolean,default:!0},show:{type:Boolean,default:!0},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},loading:Boolean,focusable:Boolean,renderLabel:Function,renderOption:Function,nodeProps:Function,showCheckmark:{type:Boolean,default:!0},onMousedown:Function,onScroll:Function,onFocus:Function,onBlur:Function,onKeyup:Function,onKeydown:Function,onTabOut:Function,onMouseenter:Function,onMouseleave:Function,onResize:Function,resetMenuOnOptionsChange:{type:Boolean,default:!0},inlineThemeDisabled:Boolean,onToggle:Function}),setup(e){const o=ue("InternalSelectMenu","-internal-select-menu",Tt,Un,e,H(e,"clsPrefix")),l=z(null),d=z(null),f=z(null),b=P(()=>e.treeMate.getFlattenedNodes()),g=P(()=>qn(b.value)),a=z(null);function k(){const{treeMate:i}=e;let u=null;const{value:E}=e;E===null?u=i.getFirstAvailableNode():(e.multiple?u=i.getNode((E||[])[(E||[]).length-1]):u=i.getNode(E),(!u||u.disabled)&&(u=i.getFirstAvailableNode())),Z(u||null)}function O(){const{value:i}=a;i&&!e.treeMate.getNode(i.key)&&(a.value=null)}let h;Ce(()=>e.show,i=>{i?h=Ce(()=>e.treeMate,()=>{e.resetMenuOnOptionsChange?(e.autoPending?k():O(),en(V)):O()},{immediate:!0}):h==null||h()},{immediate:!0}),cn(()=>{h==null||h()});const w=P(()=>Gn(o.value.self[le("optionHeight",e.size)])),S=P(()=>Ge(o.value.self[le("padding",e.size)])),B=P(()=>e.multiple&&Array.isArray(e.value)?new Set(e.value):new Set),v=P(()=>{const i=b.value;return i&&i.length===0});function R(i){const{onToggle:u}=e;u&&u(i)}function A(i){const{onScroll:u}=e;u&&u(i)}function m(i){var u;(u=f.value)===null||u===void 0||u.sync(),A(i)}function y(){var i;(i=f.value)===null||i===void 0||i.sync()}function I(){const{value:i}=a;return i||null}function D(i,u){u.disabled||Z(u,!1)}function j(i,u){u.disabled||R(u)}function L(i){var u;Ae(i,"action")||(u=e.onKeyup)===null||u===void 0||u.call(e,i)}function N(i){var u;Ae(i,"action")||(u=e.onKeydown)===null||u===void 0||u.call(e,i)}function K(i){var u;(u=e.onMousedown)===null||u===void 0||u.call(e,i),!e.focusable&&i.preventDefault()}function Q(){const{value:i}=a;i&&Z(i.getNext({loop:!0}),!0)}function U(){const{value:i}=a;i&&Z(i.getPrev({loop:!0}),!0)}function Z(i,u=!1){a.value=i,u&&V()}function V(){var i,u;const E=a.value;if(!E)return;const te=g.value(E.key);te!==null&&(e.virtualScroll?(i=d.value)===null||i===void 0||i.scrollTo({index:te}):(u=f.value)===null||u===void 0||u.scrollTo({index:te,elSize:w.value}))}function ce(i){var u,E;!((u=l.value)===null||u===void 0)&&u.contains(i.target)&&((E=e.onFocus)===null||E===void 0||E.call(e,i))}function be(i){var u,E;!((u=l.value)===null||u===void 0)&&u.contains(i.relatedTarget)||(E=e.onBlur)===null||E===void 0||E.call(e,i)}ln(tn,{handleOptionMouseEnter:D,handleOptionClick:j,valueSetRef:B,pendingTmNodeRef:a,nodePropsRef:H(e,"nodeProps"),showCheckmarkRef:H(e,"showCheckmark"),multipleRef:H(e,"multiple"),valueRef:H(e,"value"),renderLabelRef:H(e,"renderLabel"),renderOptionRef:H(e,"renderOption"),labelFieldRef:H(e,"labelField"),valueFieldRef:H(e,"valueField")}),ln(Zn,l),Ne(()=>{const{value:i}=f;i&&i.sync()});const fe=P(()=>{const{size:i}=e,{common:{cubicBezierEaseInOut:u},self:{height:E,borderRadius:te,color:Oe,groupHeaderTextColor:Fe,actionDividerColor:Se,optionTextColorPressed:ge,optionTextColor:pe,optionTextColorDisabled:oe,optionTextColorActive:q,optionOpacityDisabled:me,optionCheckColor:se,actionTextColor:Re,optionColorPending:he,optionColorActive:ve,loadingColor:Me,loadingSize:Te,optionColorActivePending:ze,[le("optionFontSize",i)]:we,[le("optionHeight",i)]:ye,[le("optionPadding",i)]:Y}}=o.value;return{"--n-height":E,"--n-action-divider-color":Se,"--n-action-text-color":Re,"--n-bezier":u,"--n-border-radius":te,"--n-color":Oe,"--n-option-font-size":we,"--n-group-header-text-color":Fe,"--n-option-check-color":se,"--n-option-color-pending":he,"--n-option-color-active":ve,"--n-option-color-active-pending":ze,"--n-option-height":ye,"--n-option-opacity-disabled":me,"--n-option-text-color":pe,"--n-option-text-color-active":q,"--n-option-text-color-disabled":oe,"--n-option-text-color-pressed":ge,"--n-option-padding":Y,"--n-option-padding-left":Ge(Y,"left"),"--n-option-padding-right":Ge(Y,"right"),"--n-loading-color":Me,"--n-loading-size":Te}}),{inlineThemeDisabled:ne}=e,X=ne?Le("internal-select-menu",P(()=>e.size[0]),fe,e):void 0,ae={selfRef:l,next:Q,prev:U,getPendingTmNode:I};return pn(l,e.onResize),Object.assign({mergedTheme:o,virtualListRef:d,scrollbarRef:f,itemSize:w,padding:S,flattenedNodes:b,empty:v,virtualListContainer(){const{value:i}=d;return i==null?void 0:i.listElRef},virtualListContent(){const{value:i}=d;return i==null?void 0:i.itemsElRef},doScroll:A,handleFocusin:ce,handleFocusout:be,handleKeyUp:L,handleKeyDown:N,handleMouseDown:K,handleVirtualListResize:y,handleVirtualListScroll:m,cssVars:ne?void 0:fe,themeClass:X==null?void 0:X.themeClass,onRender:X==null?void 0:X.onRender},ae)},render(){const{$slots:e,virtualScroll:o,clsPrefix:l,mergedTheme:d,themeClass:f,onRender:b}=this;return b==null||b(),r("div",{ref:"selfRef",tabindex:this.focusable?0:-1,class:[`${l}-base-select-menu`,f,this.multiple&&`${l}-base-select-menu--multiple`],style:this.cssVars,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onKeyup:this.handleKeyUp,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},this.loading?r("div",{class:`${l}-base-select-menu__loading`},r(Xn,{clsPrefix:l,strokeWidth:20})):this.empty?r("div",{class:`${l}-base-select-menu__empty`,"data-empty":!0},Qn(e.empty,()=>[r(Rt,{theme:d.peers.Empty,themeOverrides:d.peerOverrides.Empty})])):r(Jn,{ref:"scrollbarRef",theme:d.peers.Scrollbar,themeOverrides:d.peerOverrides.Scrollbar,scrollable:this.scrollable,container:o?this.virtualListContainer:void 0,content:o?this.virtualListContent:void 0,onScroll:o?void 0:this.doScroll},{default:()=>o?r(wt,{ref:"virtualListRef",class:`${l}-virtual-list`,items:this.flattenedNodes,itemSize:this.itemSize,showScrollbar:!1,paddingTop:this.padding.top,paddingBottom:this.padding.bottom,onResize:this.handleVirtualListResize,onScroll:this.handleVirtualListScroll,itemResizable:!0},{default:({item:g})=>g.isGroup?r(un,{key:g.key,clsPrefix:l,tmNode:g}):g.ignored?null:r(dn,{clsPrefix:l,key:g.key,tmNode:g})}):r("div",{class:`${l}-base-select-menu-option-wrapper`,style:{paddingTop:this.padding.top,paddingBottom:this.padding.bottom}},this.flattenedNodes.map(g=>g.isGroup?r(un,{key:g.key,clsPrefix:l,tmNode:g}):r(dn,{clsPrefix:l,key:g.key,tmNode:g})))}),Yn(e.action,g=>g&&[r("div",{class:`${l}-base-select-menu__action`,"data-action":!0,key:"action"},g),r(mt,{onFocus:this.onTabOut,key:"focus-detector"})]))}}),Pt=J([T("base-selection",`
|
|
position: relative;
|
|
z-index: auto;
|
|
box-shadow: none;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
display: inline-block;
|
|
vertical-align: bottom;
|
|
border-radius: var(--n-border-radius);
|
|
min-height: var(--n-height);
|
|
line-height: 1.5;
|
|
font-size: var(--n-font-size);
|
|
`,[T("base-loading",`
|
|
color: var(--n-loading-color);
|
|
`),T("base-selection-tags","min-height: var(--n-height);"),_("border, state-border",`
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
pointer-events: none;
|
|
border: var(--n-border);
|
|
border-radius: inherit;
|
|
transition:
|
|
box-shadow .3s var(--n-bezier),
|
|
border-color .3s var(--n-bezier);
|
|
`),_("state-border",`
|
|
z-index: 1;
|
|
border-color: #0000;
|
|
`),T("base-suffix",`
|
|
cursor: pointer;
|
|
position: absolute;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
right: 10px;
|
|
`,[_("arrow",`
|
|
font-size: var(--n-arrow-size);
|
|
color: var(--n-arrow-color);
|
|
transition: color .3s var(--n-bezier);
|
|
`)]),T("base-selection-overlay",`
|
|
display: flex;
|
|
align-items: center;
|
|
white-space: nowrap;
|
|
pointer-events: none;
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
padding: var(--n-padding-single);
|
|
transition: color .3s var(--n-bezier);
|
|
`,[_("wrapper",`
|
|
flex-basis: 0;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
`)]),T("base-selection-placeholder",`
|
|
color: var(--n-placeholder-color);
|
|
`,[_("inner",`
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
`)]),T("base-selection-tags",`
|
|
cursor: pointer;
|
|
outline: none;
|
|
box-sizing: border-box;
|
|
position: relative;
|
|
z-index: auto;
|
|
display: flex;
|
|
padding: var(--n-padding-multiple);
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
width: 100%;
|
|
vertical-align: bottom;
|
|
background-color: var(--n-color);
|
|
border-radius: inherit;
|
|
transition:
|
|
color .3s var(--n-bezier),
|
|
box-shadow .3s var(--n-bezier),
|
|
background-color .3s var(--n-bezier);
|
|
`),T("base-selection-label",`
|
|
height: var(--n-height);
|
|
display: inline-flex;
|
|
width: 100%;
|
|
vertical-align: bottom;
|
|
cursor: pointer;
|
|
outline: none;
|
|
z-index: auto;
|
|
box-sizing: border-box;
|
|
position: relative;
|
|
transition:
|
|
color .3s var(--n-bezier),
|
|
box-shadow .3s var(--n-bezier),
|
|
background-color .3s var(--n-bezier);
|
|
border-radius: inherit;
|
|
background-color: var(--n-color);
|
|
align-items: center;
|
|
`,[T("base-selection-input",`
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
outline: none;
|
|
cursor: pointer;
|
|
box-sizing: border-box;
|
|
border:none;
|
|
width: 100%;
|
|
padding: var(--n-padding-single);
|
|
background-color: #0000;
|
|
color: var(--n-text-color);
|
|
transition: color .3s var(--n-bezier);
|
|
caret-color: var(--n-caret-color);
|
|
`,[_("content",`
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
`)]),_("render-label",`
|
|
color: var(--n-text-color);
|
|
`)]),Je("disabled",[J("&:hover",[_("state-border",`
|
|
box-shadow: var(--n-box-shadow-hover);
|
|
border: var(--n-border-hover);
|
|
`)]),G("focus",[_("state-border",`
|
|
box-shadow: var(--n-box-shadow-focus);
|
|
border: var(--n-border-focus);
|
|
`)]),G("active",[_("state-border",`
|
|
box-shadow: var(--n-box-shadow-active);
|
|
border: var(--n-border-active);
|
|
`),T("base-selection-label","background-color: var(--n-color-active);"),T("base-selection-tags","background-color: var(--n-color-active);")])]),G("disabled","cursor: not-allowed;",[_("arrow",`
|
|
color: var(--n-arrow-color-disabled);
|
|
`),T("base-selection-label",`
|
|
cursor: not-allowed;
|
|
background-color: var(--n-color-disabled);
|
|
`,[T("base-selection-input",`
|
|
cursor: not-allowed;
|
|
color: var(--n-text-color-disabled);
|
|
`),_("render-label",`
|
|
color: var(--n-text-color-disabled);
|
|
`)]),T("base-selection-tags",`
|
|
cursor: not-allowed;
|
|
background-color: var(--n-color-disabled);
|
|
`),T("base-selection-placeholder",`
|
|
cursor: not-allowed;
|
|
color: var(--n-placeholder-color-disabled);
|
|
`)]),T("base-selection-input-tag",`
|
|
height: calc(var(--n-height) - 6px);
|
|
line-height: calc(var(--n-height) - 6px);
|
|
outline: none;
|
|
display: none;
|
|
position: relative;
|
|
margin-bottom: 3px;
|
|
max-width: 100%;
|
|
vertical-align: bottom;
|
|
`,[_("input",`
|
|
font-size: inherit;
|
|
font-family: inherit;
|
|
min-width: 1px;
|
|
padding: 0;
|
|
background-color: #0000;
|
|
outline: none;
|
|
border: none;
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
width: 1em;
|
|
line-height: inherit;
|
|
cursor: pointer;
|
|
color: var(--n-text-color);
|
|
caret-color: var(--n-caret-color);
|
|
`),_("mirror",`
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
white-space: pre;
|
|
visibility: hidden;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
opacity: 0;
|
|
`)]),["warning","error"].map(e=>G(`${e}-status`,[_("state-border",`border: var(--n-border-${e});`),Je("disabled",[J("&:hover",[_("state-border",`
|
|
box-shadow: var(--n-box-shadow-hover-${e});
|
|
border: var(--n-border-hover-${e});
|
|
`)]),G("active",[_("state-border",`
|
|
box-shadow: var(--n-box-shadow-active-${e});
|
|
border: var(--n-border-active-${e});
|
|
`),T("base-selection-label",`background-color: var(--n-color-active-${e});`),T("base-selection-tags",`background-color: var(--n-color-active-${e});`)]),G("focus",[_("state-border",`
|
|
box-shadow: var(--n-box-shadow-focus-${e});
|
|
border: var(--n-border-focus-${e});
|
|
`)])])]))]),T("base-selection-popover",`
|
|
margin-bottom: -3px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
margin-right: -8px;
|
|
`),T("base-selection-tag-wrapper",`
|
|
max-width: 100%;
|
|
display: inline-flex;
|
|
padding: 0 7px 3px 0;
|
|
`,[J("&:last-child","padding-right: 0;"),T("tag",`
|
|
font-size: 14px;
|
|
max-width: 100%;
|
|
`,[_("content",`
|
|
line-height: 1.25;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
`)])])]),kt=re({name:"InternalSelection",props:Object.assign(Object.assign({},ue.props),{clsPrefix:{type:String,required:!0},bordered:{type:Boolean,default:void 0},active:Boolean,pattern:{type:String,default:""},placeholder:String,selectedOption:{type:Object,default:null},selectedOptions:{type:Array,default:null},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},multiple:Boolean,filterable:Boolean,clearable:Boolean,disabled:Boolean,size:{type:String,default:"medium"},loading:Boolean,autofocus:Boolean,showArrow:{type:Boolean,default:!0},inputProps:Object,focused:Boolean,renderTag:Function,onKeydown:Function,onClick:Function,onBlur:Function,onFocus:Function,onDeleteOption:Function,maxTagCount:[String,Number],onClear:Function,onPatternInput:Function,onPatternFocus:Function,onPatternBlur:Function,renderLabel:Function,status:String,inlineThemeDisabled:Boolean,ignoreComposition:{type:Boolean,default:!0},onResize:Function}),setup(e){const o=z(null),l=z(null),d=z(null),f=z(null),b=z(null),g=z(null),a=z(null),k=z(null),O=z(null),h=z(null),w=z(!1),S=z(!1),B=z(!1),v=ue("InternalSelection","-internal-selection",Pt,et,e,H(e,"clsPrefix")),R=P(()=>e.clearable&&!e.disabled&&(B.value||e.active)),A=P(()=>e.selectedOption?e.renderTag?e.renderTag({option:e.selectedOption,handleClose:()=>{}}):e.renderLabel?e.renderLabel(e.selectedOption,!0):xe(e.selectedOption[e.labelField],e.selectedOption,!0):e.placeholder),m=P(()=>{const t=e.selectedOption;if(!!t)return t[e.labelField]}),y=P(()=>e.multiple?!!(Array.isArray(e.selectedOptions)&&e.selectedOptions.length):e.selectedOption!==null);function I(){var t;const{value:c}=o;if(c){const{value:$}=l;$&&($.style.width=`${c.offsetWidth}px`,e.maxTagCount!=="responsive"&&((t=O.value)===null||t===void 0||t.sync()))}}function D(){const{value:t}=h;t&&(t.style.display="none")}function j(){const{value:t}=h;t&&(t.style.display="inline-block")}Ce(H(e,"active"),t=>{t||D()}),Ce(H(e,"pattern"),()=>{e.multiple&&en(I)});function L(t){const{onFocus:c}=e;c&&c(t)}function N(t){const{onBlur:c}=e;c&&c(t)}function K(t){const{onDeleteOption:c}=e;c&&c(t)}function Q(t){const{onClear:c}=e;c&&c(t)}function U(t){const{onPatternInput:c}=e;c&&c(t)}function Z(t){var c;(!t.relatedTarget||!(!((c=d.value)===null||c===void 0)&&c.contains(t.relatedTarget)))&&L(t)}function V(t){var c;!((c=d.value)===null||c===void 0)&&c.contains(t.relatedTarget)||N(t)}function ce(t){Q(t)}function be(){B.value=!0}function fe(){B.value=!1}function ne(t){!e.active||!e.filterable||t.target!==l.value&&t.preventDefault()}function X(t){K(t)}function ae(t){if(t.key==="Backspace"&&!i.value&&!e.pattern.length){const{selectedOptions:c}=e;c!=null&&c.length&&X(c[c.length-1])}}const i=z(!1);let u=null;function E(t){const{value:c}=o;if(c){const $=t.target.value;c.textContent=$,I()}e.ignoreComposition&&i.value?u=t:U(t)}function te(){i.value=!0}function Oe(){i.value=!1,e.ignoreComposition&&U(u),u=null}function Fe(t){var c;S.value=!0,(c=e.onPatternFocus)===null||c===void 0||c.call(e,t)}function Se(t){var c;S.value=!1,(c=e.onPatternBlur)===null||c===void 0||c.call(e,t)}function ge(){var t,c;if(e.filterable)S.value=!1,(t=g.value)===null||t===void 0||t.blur(),(c=l.value)===null||c===void 0||c.blur();else if(e.multiple){const{value:$}=f;$==null||$.blur()}else{const{value:$}=b;$==null||$.blur()}}function pe(){var t,c,$;e.filterable?(S.value=!1,(t=g.value)===null||t===void 0||t.focus()):e.multiple?(c=f.value)===null||c===void 0||c.focus():($=b.value)===null||$===void 0||$.focus()}function oe(){const{value:t}=l;t&&(j(),t.focus())}function q(){const{value:t}=l;t&&t.blur()}function me(t){const{value:c}=a;c&&c.setTextContent(`+${t}`)}function se(){const{value:t}=k;return t}function Re(){return l.value}let he=null;function ve(){he!==null&&window.clearTimeout(he)}function Me(){e.disabled||e.active||(ve(),he=window.setTimeout(()=>{y.value&&(w.value=!0)},100))}function Te(){ve()}function ze(t){t||(ve(),w.value=!1)}Ce(y,t=>{t||(w.value=!1)}),Ne(()=>{nt(()=>{const t=g.value;!t||(t.tabIndex=e.disabled||S.value?-1:0)})}),pn(d,e.onResize);const{inlineThemeDisabled:we}=e,ye=P(()=>{const{size:t}=e,{common:{cubicBezierEaseInOut:c},self:{borderRadius:$,color:Pe,placeholderColor:De,textColor:Ve,paddingSingle:We,paddingMultiple:je,caretColor:ke,colorDisabled:_e,textColorDisabled:Ie,placeholderColorDisabled:He,colorActive:Ke,boxShadowFocus:Be,boxShadowActive:de,boxShadowHover:n,border:s,borderFocus:p,borderHover:M,borderActive:x,arrowColor:F,arrowColorDisabled:C,loadingColor:W,colorActiveWarning:$e,boxShadowFocusWarning:Ue,boxShadowActiveWarning:wn,boxShadowHoverWarning:yn,borderWarning:xn,borderFocusWarning:Cn,borderHoverWarning:On,borderActiveWarning:Fn,colorActiveError:Sn,boxShadowFocusError:Rn,boxShadowActiveError:Mn,boxShadowHoverError:Tn,borderError:zn,borderFocusError:Pn,borderHoverError:kn,borderActiveError:_n,clearColor:In,clearColorHover:Bn,clearColorPressed:$n,clearSize:An,arrowSize:En,[le("height",t)]:Nn,[le("fontSize",t)]:Ln}}=v.value;return{"--n-bezier":c,"--n-border":s,"--n-border-active":x,"--n-border-focus":p,"--n-border-hover":M,"--n-border-radius":$,"--n-box-shadow-active":de,"--n-box-shadow-focus":Be,"--n-box-shadow-hover":n,"--n-caret-color":ke,"--n-color":Pe,"--n-color-active":Ke,"--n-color-disabled":_e,"--n-font-size":Ln,"--n-height":Nn,"--n-padding-single":We,"--n-padding-multiple":je,"--n-placeholder-color":De,"--n-placeholder-color-disabled":He,"--n-text-color":Ve,"--n-text-color-disabled":Ie,"--n-arrow-color":F,"--n-arrow-color-disabled":C,"--n-loading-color":W,"--n-color-active-warning":$e,"--n-box-shadow-focus-warning":Ue,"--n-box-shadow-active-warning":wn,"--n-box-shadow-hover-warning":yn,"--n-border-warning":xn,"--n-border-focus-warning":Cn,"--n-border-hover-warning":On,"--n-border-active-warning":Fn,"--n-color-active-error":Sn,"--n-box-shadow-focus-error":Rn,"--n-box-shadow-active-error":Mn,"--n-box-shadow-hover-error":Tn,"--n-border-error":zn,"--n-border-focus-error":Pn,"--n-border-hover-error":kn,"--n-border-active-error":_n,"--n-clear-size":An,"--n-clear-color":In,"--n-clear-color-hover":Bn,"--n-clear-color-pressed":$n,"--n-arrow-size":En}}),Y=we?Le("internal-selection",P(()=>e.size[0]),ye,e):void 0;return{mergedTheme:v,mergedClearable:R,patternInputFocused:S,filterablePlaceholder:A,label:m,selected:y,showTagsPanel:w,isComposing:i,counterRef:a,counterWrapperRef:k,patternInputMirrorRef:o,patternInputRef:l,selfRef:d,multipleElRef:f,singleElRef:b,patternInputWrapperRef:g,overflowRef:O,inputTagElRef:h,handleMouseDown:ne,handleFocusin:Z,handleClear:ce,handleMouseEnter:be,handleMouseLeave:fe,handleDeleteOption:X,handlePatternKeyDown:ae,handlePatternInputInput:E,handlePatternInputBlur:Se,handlePatternInputFocus:Fe,handleMouseEnterCounter:Me,handleMouseLeaveCounter:Te,handleFocusout:V,handleCompositionEnd:Oe,handleCompositionStart:te,onPopoverUpdateShow:ze,focus:pe,focusInput:oe,blur:ge,blurInput:q,updateCounter:me,getCounter:se,getTail:Re,renderLabel:e.renderLabel,cssVars:we?void 0:ye,themeClass:Y==null?void 0:Y.themeClass,onRender:Y==null?void 0:Y.onRender}},render(){const{status:e,multiple:o,size:l,disabled:d,filterable:f,maxTagCount:b,bordered:g,clsPrefix:a,onRender:k,renderTag:O,renderLabel:h}=this;k==null||k();const w=b==="responsive",S=typeof b=="number",B=w||S,v=r(tt,null,{default:()=>r(pt,{clsPrefix:a,loading:this.loading,showArrow:this.showArrow,showClear:this.mergedClearable&&this.selected,onClear:this.handleClear},{default:()=>{var A,m;return(m=(A=this.$slots).arrow)===null||m===void 0?void 0:m.call(A)}})});let R;if(o){const{labelField:A}=this,m=V=>r("div",{class:`${a}-base-selection-tag-wrapper`,key:V.value},O?O({option:V,handleClose:()=>this.handleDeleteOption(V)}):r(Ze,{size:l,closable:!V.disabled,disabled:d,onClose:()=>this.handleDeleteOption(V),internalCloseIsButtonTag:!1,internalCloseFocusable:!1},{default:()=>h?h(V,!0):xe(V[A],V,!0)})),y=()=>(S?this.selectedOptions.slice(0,b):this.selectedOptions).map(m),I=f?r("div",{class:`${a}-base-selection-input-tag`,ref:"inputTagElRef",key:"__input-tag__"},r("input",Object.assign({},this.inputProps,{ref:"patternInputRef",tabindex:-1,disabled:d,value:this.pattern,autofocus:this.autofocus,class:`${a}-base-selection-input-tag__input`,onBlur:this.handlePatternInputBlur,onFocus:this.handlePatternInputFocus,onKeydown:this.handlePatternKeyDown,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),r("span",{ref:"patternInputMirrorRef",class:`${a}-base-selection-input-tag__mirror`},this.pattern)):null,D=w?()=>r("div",{class:`${a}-base-selection-tag-wrapper`,ref:"counterWrapperRef"},r(Ze,{size:l,ref:"counterRef",onMouseenter:this.handleMouseEnterCounter,onMouseleave:this.handleMouseLeaveCounter,disabled:d})):void 0;let j;if(S){const V=this.selectedOptions.length-b;V>0&&(j=r("div",{class:`${a}-base-selection-tag-wrapper`,key:"__counter__"},r(Ze,{size:l,ref:"counterRef",onMouseenter:this.handleMouseEnterCounter,disabled:d},{default:()=>`+${V}`})))}const L=w?f?r(sn,{ref:"overflowRef",updateCounter:this.updateCounter,getCounter:this.getCounter,getTail:this.getTail,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:y,counter:D,tail:()=>I}):r(sn,{ref:"overflowRef",updateCounter:this.updateCounter,getCounter:this.getCounter,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:y,counter:D}):S?y().concat(j):y(),N=B?()=>r("div",{class:`${a}-base-selection-popover`},w?y():this.selectedOptions.map(m)):void 0,K=B?{show:this.showTagsPanel,trigger:"hover",overlap:!0,placement:"top",width:"trigger",onUpdateShow:this.onPopoverUpdateShow,theme:this.mergedTheme.peers.Popover,themeOverrides:this.mergedTheme.peerOverrides.Popover}:null,U=(this.selected?!1:this.active?!this.pattern&&!this.isComposing:!0)?r("div",{class:`${a}-base-selection-placeholder ${a}-base-selection-overlay`},r("div",{class:`${a}-base-selection-placeholder__inner`},this.placeholder)):null,Z=f?r("div",{ref:"patternInputWrapperRef",class:`${a}-base-selection-tags`},L,w?null:I,v):r("div",{ref:"multipleElRef",class:`${a}-base-selection-tags`,tabindex:d?void 0:0},L,v);R=r(it,null,B?r(ot,Object.assign({},K,{scrollable:!0,style:"max-height: calc(var(--v-target-height) * 6.6);"}),{trigger:()=>Z,default:N}):Z,U)}else if(f){const A=this.pattern||this.isComposing,m=this.active?!A:!this.selected,y=this.active?!1:this.selected;R=r("div",{ref:"patternInputWrapperRef",class:`${a}-base-selection-label`},r("input",Object.assign({},this.inputProps,{ref:"patternInputRef",class:`${a}-base-selection-input`,value:this.active?this.pattern:"",placeholder:"",readonly:d,disabled:d,tabindex:-1,autofocus:this.autofocus,onFocus:this.handlePatternInputFocus,onBlur:this.handlePatternInputBlur,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),y?r("div",{class:`${a}-base-selection-label__render-label ${a}-base-selection-overlay`,key:"input"},r("div",{class:`${a}-base-selection-overlay__wrapper`},O?O({option:this.selectedOption,handleClose:()=>{}}):h?h(this.selectedOption,!0):xe(this.label,this.selectedOption,!0))):null,m?r("div",{class:`${a}-base-selection-placeholder ${a}-base-selection-overlay`,key:"placeholder"},r("div",{class:`${a}-base-selection-overlay__wrapper`},this.filterablePlaceholder)):null,v)}else R=r("div",{ref:"singleElRef",class:`${a}-base-selection-label`,tabindex:this.disabled?void 0:0},this.label!==void 0?r("div",{class:`${a}-base-selection-input`,title:yt(this.label),key:"input"},r("div",{class:`${a}-base-selection-input__content`},O?O({option:this.selectedOption,handleClose:()=>{}}):h?h(this.selectedOption,!0):xe(this.label,this.selectedOption,!0))):r("div",{class:`${a}-base-selection-placeholder ${a}-base-selection-overlay`,key:"placeholder"},r("div",{class:`${a}-base-selection-placeholder__inner`},this.placeholder)),v);return r("div",{ref:"selfRef",class:[`${a}-base-selection`,this.themeClass,e&&`${a}-base-selection--${e}-status`,{[`${a}-base-selection--active`]:this.active,[`${a}-base-selection--selected`]:this.selected||this.active&&this.pattern,[`${a}-base-selection--disabled`]:this.disabled,[`${a}-base-selection--multiple`]:this.multiple,[`${a}-base-selection--focus`]:this.focused}],style:this.cssVars,onClick:this.onClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onKeydown:this.onKeydown,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onMousedown:this.handleMouseDown},R,g?r("div",{class:`${a}-base-selection__border`}):null,g?r("div",{class:`${a}-base-selection__state-border`}):null)}});function Ee(e){return e.type==="group"}function mn(e){return e.type==="ignored"}function Xe(e,o){try{return!!(1+o.toString().toLowerCase().indexOf(e.trim().toLowerCase()))}catch{return!1}}function _t(e,o){return{getIsGroup:Ee,getIgnored:mn,getKey(d){return Ee(d)?d.name||d.key||"key-required":d[e]},getChildren(d){return d[o]}}}function It(e,o,l,d){if(!o)return e;function f(b){if(!Array.isArray(b))return[];const g=[];for(const a of b)if(Ee(a)){const k=f(a[d]);k.length&&g.push(Object.assign({},a,{[d]:k}))}else{if(mn(a))continue;o(l,a)&&g.push(a)}return g}return f(e)}function Bt(e,o,l){const d=new Map;return e.forEach(f=>{Ee(f)?f[l].forEach(b=>{d.set(b[o],b)}):d.set(f[o],f)}),d}var $t=J([T("select",`
|
|
z-index: auto;
|
|
outline: none;
|
|
width: 100%;
|
|
position: relative;
|
|
`),T("select-menu",`
|
|
margin: 4px 0;
|
|
box-shadow: var(--n-menu-box-shadow);
|
|
`,[bn({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})])]);const At=Object.assign(Object.assign({},ue.props),{to:Qe.propTo,bordered:{type:Boolean,default:void 0},clearable:Boolean,clearFilterAfterSelect:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},defaultValue:{type:[String,Number,Array],default:null},value:[String,Number,Array],placeholder:String,menuProps:Object,multiple:Boolean,size:String,filterable:Boolean,disabled:{type:Boolean,default:void 0},remote:Boolean,loading:Boolean,filter:Function,placement:{type:String,default:"bottom-start"},widthMode:{type:String,default:"trigger"},tag:Boolean,onCreate:Function,fallbackOption:{type:[Function,Boolean],default:void 0},show:{type:Boolean,default:void 0},showArrow:{type:Boolean,default:!0},maxTagCount:[Number,String],consistentMenuWidth:{type:Boolean,default:!0},virtualScroll:{type:Boolean,default:!0},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},childrenField:{type:String,default:"children"},renderLabel:Function,renderOption:Function,renderTag:Function,"onUpdate:value":[Function,Array],inputProps:Object,nodeProps:Function,ignoreComposition:{type:Boolean,default:!0},showOnFocus:Boolean,onUpdateValue:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onFocus:[Function,Array],onScroll:[Function,Array],onSearch:[Function,Array],onUpdateShow:[Function,Array],"onUpdate:show":[Function,Array],displayDirective:{type:String,default:"show"},resetMenuOnOptionsChange:{type:Boolean,default:!0},status:String,showCheckmark:{type:Boolean,default:!0},onChange:[Function,Array],items:Array});var Dt=re({name:"Select",props:At,setup(e){const{mergedClsPrefixRef:o,mergedBorderedRef:l,namespaceRef:d,inlineThemeDisabled:f}=fn(e),b=ue("Select","-select",$t,lt,e,o),g=z(e.defaultValue),a=H(e,"value"),k=rn(a,g),O=z(!1),h=z(""),w=P(()=>{const{valueField:n,childrenField:s}=e,p=_t(n,s);return rt(V.value,p)}),S=P(()=>Bt(U.value,e.valueField,e.childrenField)),B=z(!1),v=rn(H(e,"show"),B),R=z(null),A=z(null),m=z(null),{localeRef:y}=gn("Select"),I=P(()=>{var n;return(n=e.placeholder)!==null&&n!==void 0?n:y.value.placeholder}),D=at(e,["items","options"]),j=[],L=z([]),N=z([]),K=z(new Map),Q=P(()=>{const{fallbackOption:n}=e;if(n===void 0){const{labelField:s,valueField:p}=e;return M=>({[s]:String(M),[p]:M})}return n===!1?!1:s=>Object.assign(n(s),{value:s})}),U=P(()=>N.value.concat(L.value).concat(D.value)),Z=P(()=>{const{filter:n}=e;if(n)return n;const{labelField:s,valueField:p}=e;return(M,x)=>{if(!x)return!1;const F=x[s];if(typeof F=="string")return Xe(M,F);const C=x[p];return typeof C=="string"?Xe(M,C):typeof C=="number"?Xe(M,String(C)):!1}}),V=P(()=>{if(e.remote)return D.value;{const{value:n}=U,{value:s}=h;return!s.length||!e.filterable?n:It(n,Z.value,s,e.childrenField)}});function ce(n){const s=e.remote,{value:p}=K,{value:M}=S,{value:x}=Q,F=[];return n.forEach(C=>{if(M.has(C))F.push(M.get(C));else if(s&&p.has(C))F.push(p.get(C));else if(x){const W=x(C);W&&F.push(W)}}),F}const be=P(()=>{if(e.multiple){const{value:n}=k;return Array.isArray(n)?ce(n):[]}return null}),fe=P(()=>{const{value:n}=k;return!e.multiple&&!Array.isArray(n)?n===null?null:ce([n])[0]||null:null}),ne=st(e),{mergedSizeRef:X,mergedDisabledRef:ae,mergedStatusRef:i}=ne;function u(n,s){const{onChange:p,"onUpdate:value":M,onUpdateValue:x}=e,{nTriggerFormChange:F,nTriggerFormInput:C}=ne;p&&ee(p,n,s),x&&ee(x,n,s),M&&ee(M,n,s),g.value=n,F(),C()}function E(n){const{onBlur:s}=e,{nTriggerFormBlur:p}=ne;s&&ee(s,n),p()}function te(){const{onClear:n}=e;n&&ee(n)}function Oe(n){const{onFocus:s,showOnFocus:p}=e,{nTriggerFormFocus:M}=ne;s&&ee(s,n),M(),p&&oe()}function Fe(n){const{onSearch:s}=e;s&&ee(s,n)}function Se(n){const{onScroll:s}=e;s&&ee(s,n)}function ge(){var n;const{remote:s,multiple:p}=e;if(s){const{value:M}=K;if(p){const{valueField:x}=e;(n=be.value)===null||n===void 0||n.forEach(F=>{M.set(F[x],F)})}else{const x=fe.value;x&&M.set(x[e.valueField],x)}}}function pe(n){const{onUpdateShow:s,"onUpdate:show":p}=e;s&&ee(s,n),p&&ee(p,n),B.value=n}function oe(){ae.value||(pe(!0),B.value=!0,e.filterable&&Ie())}function q(){pe(!1)}function me(){h.value="",N.value=j}const se=z(!1);function Re(){e.filterable&&(se.value=!0)}function he(){e.filterable&&(se.value=!1,v.value||me())}function ve(){ae.value||(v.value?e.filterable?Ie():q():oe())}function Me(n){var s,p;!((p=(s=m.value)===null||s===void 0?void 0:s.selfRef)===null||p===void 0)&&p.contains(n.relatedTarget)||(O.value=!1,E(n),q())}function Te(n){Oe(n),O.value=!0}function ze(n){O.value=!0}function we(n){var s;!((s=R.value)===null||s===void 0)&&s.$el.contains(n.relatedTarget)||(O.value=!1,E(n),q())}function ye(){var n;(n=R.value)===null||n===void 0||n.focus(),q()}function Y(n){var s;v.value&&(!((s=R.value)===null||s===void 0)&&s.$el.contains(bt(n))||q())}function t(n){if(!Array.isArray(n))return[];if(Q.value)return Array.from(n);{const{remote:s}=e,{value:p}=S;if(s){const{value:M}=K;return n.filter(x=>p.has(x)||M.has(x))}else return n.filter(M=>p.has(M))}}function c(n){$(n.rawNode)}function $(n){if(ae.value)return;const{tag:s,remote:p,clearFilterAfterSelect:M,valueField:x}=e;if(s&&!p){const{value:F}=N,C=F[0]||null;if(C){const W=L.value;W.length?W.push(C):L.value=[C],N.value=j}}if(p&&K.value.set(n[x],n),e.multiple){const F=t(k.value),C=F.findIndex(W=>W===n[x]);if(~C){if(F.splice(C,1),s&&!p){const W=Pe(n[x]);~W&&(L.value.splice(W,1),M&&(h.value=""))}}else F.push(n[x]),M&&(h.value="");u(F,ce(F))}else{if(s&&!p){const F=Pe(n[x]);~F?L.value=[L.value[F]]:L.value=j}_e(),q(),u(n[x],n)}}function Pe(n){return L.value.findIndex(p=>p[e.valueField]===n)}function De(n){v.value||oe();const{value:s}=n.target;h.value=s;const{tag:p,remote:M}=e;if(Fe(s),p&&!M){if(!s){N.value=j;return}const{onCreate:x}=e,F=x?x(s):{[e.labelField]:s,[e.valueField]:s},{valueField:C}=e;D.value.some(W=>W[C]===F[C])||L.value.some(W=>W[C]===F[C])?N.value=j:N.value=[F]}}function Ve(n){n.stopPropagation();const{multiple:s}=e;!s&&e.filterable&&q(),te(),s?u([],[]):u(null,null)}function We(n){!Ae(n,"action")&&!Ae(n,"empty")&&n.preventDefault()}function je(n){Se(n)}function ke(n){var s,p,M,x,F;switch(n.key){case" ":if(e.filterable)break;n.preventDefault();case"Enter":if(!(!((s=R.value)===null||s===void 0)&&s.isComposing)){if(v.value){const C=(p=m.value)===null||p===void 0?void 0:p.getPendingTmNode();C?c(C):e.filterable||(q(),_e())}else if(oe(),e.tag&&se.value){const C=N.value[0];if(C){const W=C[e.valueField],{value:$e}=k;e.multiple&&Array.isArray($e)&&$e.some(Ue=>Ue===W)||$(C)}}}n.preventDefault();break;case"ArrowUp":if(n.preventDefault(),e.loading)return;v.value&&((M=m.value)===null||M===void 0||M.prev());break;case"ArrowDown":if(n.preventDefault(),e.loading)return;v.value?(x=m.value)===null||x===void 0||x.next():oe();break;case"Escape":v.value&&(gt(n),q()),(F=R.value)===null||F===void 0||F.focus();break}}function _e(){var n;(n=R.value)===null||n===void 0||n.focus()}function Ie(){var n;(n=R.value)===null||n===void 0||n.focusInput()}function He(){var n;!v.value||(n=A.value)===null||n===void 0||n.syncPosition()}ge(),Ce(H(e,"options"),ge);const Ke={focus:()=>{var n;(n=R.value)===null||n===void 0||n.focus()},blur:()=>{var n;(n=R.value)===null||n===void 0||n.blur()}},Be=P(()=>{const{self:{menuBoxShadow:n}}=b.value;return{"--n-menu-box-shadow":n}}),de=f?Le("select",void 0,Be,e):void 0;return Object.assign(Object.assign({},Ke),{mergedStatus:i,mergedClsPrefix:o,mergedBordered:l,namespace:d,treeMate:w,isMounted:dt(),triggerRef:R,menuRef:m,pattern:h,uncontrolledShow:B,mergedShow:v,adjustedTo:Qe(e),uncontrolledValue:g,mergedValue:k,followerRef:A,localizedPlaceholder:I,selectedOption:fe,selectedOptions:be,mergedSize:X,mergedDisabled:ae,focused:O,activeWithoutMenuOpen:se,inlineThemeDisabled:f,onTriggerInputFocus:Re,onTriggerInputBlur:he,handleTriggerOrMenuResize:He,handleMenuFocus:ze,handleMenuBlur:we,handleMenuTabOut:ye,handleTriggerClick:ve,handleToggle:c,handleDeleteOption:$,handlePatternInput:De,handleClear:Ve,handleTriggerBlur:Me,handleTriggerFocus:Te,handleKeydown:ke,handleMenuAfterLeave:me,handleMenuClickOutside:Y,handleMenuScroll:je,handleMenuKeydown:ke,handleMenuMousedown:We,mergedTheme:b,cssVars:f?void 0:Be,themeClass:de==null?void 0:de.themeClass,onRender:de==null?void 0:de.onRender})},render(){return r("div",{class:`${this.mergedClsPrefix}-select`},r(ut,null,{default:()=>[r(ct,null,{default:()=>r(kt,{ref:"triggerRef",inlineThemeDisabled:this.inlineThemeDisabled,status:this.mergedStatus,inputProps:this.inputProps,clsPrefix:this.mergedClsPrefix,showArrow:this.showArrow,maxTagCount:this.maxTagCount,bordered:this.mergedBordered,active:this.activeWithoutMenuOpen||this.mergedShow,pattern:this.pattern,placeholder:this.localizedPlaceholder,selectedOption:this.selectedOption,selectedOptions:this.selectedOptions,multiple:this.multiple,renderTag:this.renderTag,renderLabel:this.renderLabel,filterable:this.filterable,clearable:this.clearable,disabled:this.mergedDisabled,size:this.mergedSize,theme:this.mergedTheme.peers.InternalSelection,labelField:this.labelField,valueField:this.valueField,themeOverrides:this.mergedTheme.peerOverrides.InternalSelection,loading:this.loading,focused:this.focused,onClick:this.handleTriggerClick,onDeleteOption:this.handleDeleteOption,onPatternInput:this.handlePatternInput,onClear:this.handleClear,onBlur:this.handleTriggerBlur,onFocus:this.handleTriggerFocus,onKeydown:this.handleKeydown,onPatternBlur:this.onTriggerInputBlur,onPatternFocus:this.onTriggerInputFocus,onResize:this.handleTriggerOrMenuResize,ignoreComposition:this.ignoreComposition},{arrow:()=>{var e,o;return[(o=(e=this.$slots).arrow)===null||o===void 0?void 0:o.call(e)]}})}),r(ft,{ref:"followerRef",show:this.mergedShow,to:this.adjustedTo,teleportDisabled:this.adjustedTo===Qe.tdkey,containerClass:this.namespace,width:this.consistentMenuWidth?"target":void 0,minWidth:"target",placement:this.placement},{default:()=>r(vn,{name:"fade-in-scale-up-transition",appear:this.isMounted,onAfterLeave:this.handleMenuAfterLeave},{default:()=>{var e,o,l;return this.mergedShow||this.displayDirective==="show"?((e=this.onRender)===null||e===void 0||e.call(this),ht(r(zt,Object.assign({},this.menuProps,{ref:"menuRef",onResize:this.handleTriggerOrMenuResize,inlineThemeDisabled:this.inlineThemeDisabled,virtualScroll:this.consistentMenuWidth&&this.virtualScroll,class:[`${this.mergedClsPrefix}-select-menu`,this.themeClass,(o=this.menuProps)===null||o===void 0?void 0:o.class],clsPrefix:this.mergedClsPrefix,focusable:!0,labelField:this.labelField,valueField:this.valueField,autoPending:!0,nodeProps:this.nodeProps,theme:this.mergedTheme.peers.InternalSelectMenu,themeOverrides:this.mergedTheme.peerOverrides.InternalSelectMenu,treeMate:this.treeMate,multiple:this.multiple,size:"medium",renderOption:this.renderOption,renderLabel:this.renderLabel,value:this.mergedValue,style:[(l=this.menuProps)===null||l===void 0?void 0:l.style,this.cssVars],onToggle:this.handleToggle,onScroll:this.handleMenuScroll,onFocus:this.handleMenuFocus,onBlur:this.handleMenuBlur,onKeydown:this.handleMenuKeydown,onTabOut:this.handleMenuTabOut,onMousedown:this.handleMenuMousedown,show:this.mergedShow,showCheckmark:this.showCheckmark,resetMenuOnOptionsChange:this.resetMenuOnOptionsChange}),{empty:()=>{var d,f;return[(f=(d=this.$slots).empty)===null||f===void 0?void 0:f.call(d)]},action:()=>{var d,f;return[(f=(d=this.$slots).action)===null||f===void 0?void 0:f.call(d)]}}),this.displayDirective==="show"?[[vt,this.mergedShow],[an,this.handleMenuClickOutside,void 0,{capture:!0}]]:[[an,this.handleMenuClickOutside,void 0,{capture:!0}]])):null}})})]}))}});export{zt as N,Dt as _,Rt as a,_t as c,Ye as m};
|