210 lines
32 KiB
JavaScript
210 lines
32 KiB
JavaScript
import{$ as e,H as t,I as n,N as r,St as i,lt as a,ot as o,q as s,st as c,w as l,y as u,yt as d}from"./client-CT8bsOZT.js";import{F as f,G as p,H as m,K as h,M as g,N as _,V as v,W as y,o as b,q as x,r as S}from"./light-DhgSQSdG.js";import{a as C,i as w,n as T,o as E,r as D,t as O}from"./Follower-DE0nRvtS.js";import{a as k,c as ee,i as A,n as te,o as ne,r as j,t as M,u as N}from"./utils-hFKyIII_.js";import{f as re,o as P}from"./Card-C1X2ZnwV.js";import{r as ie}from"./css-DEmdllcC.js";import{o as F,t as I}from"./fade-in-scale-up.cssr-BfdS0VmY.js";import{t as L}from"./use-merged-state-CRia4_FA.js";import{t as R}from"./use-compitable-DR1_4TS5.js";import{t as z}from"./Popover-CUHcC_vA.js";import{r as ae}from"./keep-DJVUaU6n.js";import{n as oe,r as B}from"./use-form-item-CBXe24ar.js";import{r as se,t as V}from"./Suffix-BPkXkm3U.js";import{t as H}from"./Tag-D-nxsRrH.js";import{D as U,Q as W,Y as ce,q as G,tt as K,y as le}from"./index-DNdwunR3.js";var q=`v-hidden`,ue=T(`[v-hidden]`,{display:`none!important`}),J=r({name:`Overflow`,props:{getCounter:Function,getTail:Function,updateCounter:Function,onUpdateCount:Function,onUpdateOverflow:Function},setup(e,{slots:t}){let n=d(null),r=d(null);function i(i){let{value:a}=n,{getCounter:o,getTail:s}=e,c;if(c=o===void 0?r.value:o(),!a||!c)return;c.hasAttribute(q)&&c.removeAttribute(q);let{children:l}=a;if(i.showAllItemsBeforeCalculate)for(let e of l)e.hasAttribute(q)&&e.removeAttribute(q);let u=a.offsetWidth,d=[],f=t.tail?s?.():null,p=f?f.offsetWidth:0,m=!1,h=a.children.length-+!!t.tail;for(let t=0;t<h-1;++t){if(t<0)continue;let n=l[t];if(m){n.hasAttribute(q)||n.setAttribute(q,``);continue}else n.hasAttribute(q)&&n.removeAttribute(q);let r=n.offsetWidth;if(p+=r,d[t]=r,p>u){let{updateCounter:n}=e;for(let r=t;r>=0;--r){let i=h-1-r;n===void 0?c.textContent=`${i}`:n(i);let a=c.offsetWidth;if(p-=d[r],p+a<=u||r===0){m=!0,t=r-1,f&&(t===-1?(f.style.maxWidth=`${u-a}px`,f.style.boxSizing=`border-box`):f.style.maxWidth=``);let{onUpdateCount:n}=e;n&&n(i);break}}}}let{onUpdateOverflow:g}=e;m?g!==void 0&&g(!0):(g!==void 0&&g(!1),c.setAttribute(q,``))}let a=f();return ue.mount({id:`vueuc/overflow`,head:!0,anchorMetaName:D,ssr:a}),s(()=>i({showAllItemsBeforeCalculate:!1})),{selfRef:n,counterRef:r,sync:i}},render(){let{$slots:r}=this;return t(()=>this.sync({showAllItemsBeforeCalculate:!1})),n(`div`,{class:`v-overflow`,ref:`selfRef`},[e(r,`default`),r.counter?r.counter():n(`span`,{style:{display:`inline-block`},ref:`counterRef`}),r.tail?r.tail():null])}});function Y(e){switch(typeof e){case`string`:return e||void 0;case`number`:return String(e);default:return}}var de=v([m(`base-selection`,`
|
|
--n-padding-single: var(--n-padding-single-top) var(--n-padding-single-right) var(--n-padding-single-bottom) var(--n-padding-single-left);
|
|
--n-padding-multiple: var(--n-padding-multiple-top) var(--n-padding-multiple-right) var(--n-padding-multiple-bottom) var(--n-padding-multiple-left);
|
|
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);
|
|
`,[m(`base-loading`,`
|
|
color: var(--n-loading-color);
|
|
`),m(`base-selection-tags`,`min-height: var(--n-height);`),y(`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);
|
|
`),y(`state-border`,`
|
|
z-index: 1;
|
|
border-color: #0000;
|
|
`),m(`base-suffix`,`
|
|
cursor: pointer;
|
|
position: absolute;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
right: 10px;
|
|
`,[y(`arrow`,`
|
|
font-size: var(--n-arrow-size);
|
|
color: var(--n-arrow-color);
|
|
transition: color .3s var(--n-bezier);
|
|
`)]),m(`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);
|
|
`,[y(`wrapper`,`
|
|
flex-basis: 0;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
`)]),m(`base-selection-placeholder`,`
|
|
color: var(--n-placeholder-color);
|
|
`,[y(`inner`,`
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
`)]),m(`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);
|
|
`),m(`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;
|
|
`,[m(`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);
|
|
`,[y(`content`,`
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
`)]),y(`render-label`,`
|
|
color: var(--n-text-color);
|
|
`)]),h(`disabled`,[v(`&:hover`,[y(`state-border`,`
|
|
box-shadow: var(--n-box-shadow-hover);
|
|
border: var(--n-border-hover);
|
|
`)]),p(`focus`,[y(`state-border`,`
|
|
box-shadow: var(--n-box-shadow-focus);
|
|
border: var(--n-border-focus);
|
|
`)]),p(`active`,[y(`state-border`,`
|
|
box-shadow: var(--n-box-shadow-active);
|
|
border: var(--n-border-active);
|
|
`),m(`base-selection-label`,`background-color: var(--n-color-active);`),m(`base-selection-tags`,`background-color: var(--n-color-active);`)])]),p(`disabled`,`cursor: not-allowed;`,[y(`arrow`,`
|
|
color: var(--n-arrow-color-disabled);
|
|
`),m(`base-selection-label`,`
|
|
cursor: not-allowed;
|
|
background-color: var(--n-color-disabled);
|
|
`,[m(`base-selection-input`,`
|
|
cursor: not-allowed;
|
|
color: var(--n-text-color-disabled);
|
|
`),y(`render-label`,`
|
|
color: var(--n-text-color-disabled);
|
|
`)]),m(`base-selection-tags`,`
|
|
cursor: not-allowed;
|
|
background-color: var(--n-color-disabled);
|
|
`),m(`base-selection-placeholder`,`
|
|
cursor: not-allowed;
|
|
color: var(--n-placeholder-color-disabled);
|
|
`)]),m(`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;
|
|
`,[y(`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);
|
|
`),y(`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=>p(`${e}-status`,[y(`state-border`,`border: var(--n-border-${e});`),h(`disabled`,[v(`&:hover`,[y(`state-border`,`
|
|
box-shadow: var(--n-box-shadow-hover-${e});
|
|
border: var(--n-border-hover-${e});
|
|
`)]),p(`active`,[y(`state-border`,`
|
|
box-shadow: var(--n-box-shadow-active-${e});
|
|
border: var(--n-border-active-${e});
|
|
`),m(`base-selection-label`,`background-color: var(--n-color-active-${e});`),m(`base-selection-tags`,`background-color: var(--n-color-active-${e});`)]),p(`focus`,[y(`state-border`,`
|
|
box-shadow: var(--n-box-shadow-focus-${e});
|
|
border: var(--n-border-focus-${e});
|
|
`)])])]))]),m(`base-selection-popover`,`
|
|
margin-bottom: -3px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
margin-right: -8px;
|
|
`),m(`base-selection-tag-wrapper`,`
|
|
max-width: 100%;
|
|
display: inline-flex;
|
|
padding: 0 7px 3px 0;
|
|
`,[v(`&:last-child`,`padding-right: 0;`),m(`tag`,`
|
|
font-size: 14px;
|
|
max-width: 100%;
|
|
`,[y(`content`,`
|
|
line-height: 1.25;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
`)])])]),fe=r({name:`InternalSelection`,props:Object.assign(Object.assign({},S.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],ellipsisTagPopoverProps:Object,onClear:Function,onPatternInput:Function,onPatternFocus:Function,onPatternBlur:Function,renderLabel:Function,status:String,inlineThemeDisabled:Boolean,ignoreComposition:{type:Boolean,default:!0},onResize:Function}),setup(e){let{mergedClsPrefixRef:n,mergedRtlRef:r}=_(e),a=b(`InternalSelection`,r,n),u=d(null),f=d(null),p=d(null),m=d(null),h=d(null),v=d(null),y=d(null),C=d(null),w=d(null),T=d(null),E=d(!1),D=d(!1),O=d(!1),k=S(`InternalSelection`,`-internal-selection`,de,U,e,i(e,`clsPrefix`)),A=l(()=>e.clearable&&!e.disabled&&(O.value||e.active)),te=l(()=>e.selectedOption?e.renderTag?e.renderTag({option:e.selectedOption,handleClose:()=>{}}):e.renderLabel?e.renderLabel(e.selectedOption,!0):G(e.selectedOption[e.labelField],e.selectedOption,!0):e.placeholder),ne=l(()=>{let t=e.selectedOption;if(t)return t[e.labelField]}),j=l(()=>e.multiple?!!(Array.isArray(e.selectedOptions)&&e.selectedOptions.length):e.selectedOption!==null);function M(){var t;let{value:n}=u;if(n){let{value:r}=f;r&&(r.style.width=`${n.offsetWidth}px`,e.maxTagCount!==`responsive`&&((t=w.value)==null||t.sync({showAllItemsBeforeCalculate:!1})))}}function N(){let{value:e}=T;e&&(e.style.display=`none`)}function re(){let{value:e}=T;e&&(e.style.display=`inline-block`)}o(i(e,`active`),e=>{e||N()}),o(i(e,`pattern`),()=>{e.multiple&&t(M)});function P(t){let{onFocus:n}=e;n&&n(t)}function F(t){let{onBlur:n}=e;n&&n(t)}function I(t){let{onDeleteOption:n}=e;n&&n(t)}function L(t){let{onClear:n}=e;n&&n(t)}function R(t){let{onPatternInput:n}=e;n&&n(t)}function z(e){(!e.relatedTarget||!p.value?.contains(e.relatedTarget))&&P(e)}function ae(e){p.value?.contains(e.relatedTarget)||F(e)}function oe(e){L(e)}function B(){O.value=!0}function se(){O.value=!1}function V(t){!e.active||!e.filterable||t.target!==f.value&&t.preventDefault()}function H(e){I(e)}let W=d(!1);function ce(t){if(t.key===`Backspace`&&!W.value&&!e.pattern.length){let{selectedOptions:t}=e;t?.length&&H(t[t.length-1])}}let K=null;function le(t){let{value:n}=u;n&&(n.textContent=t.target.value,M()),e.ignoreComposition&&W.value?K=t:R(t)}function q(){W.value=!0}function ue(){W.value=!1,e.ignoreComposition&&R(K),K=null}function J(t){var n;D.value=!0,(n=e.onPatternFocus)==null||n.call(e,t)}function Y(t){var n;D.value=!1,(n=e.onPatternBlur)==null||n.call(e,t)}function fe(){var t,n;if(e.filterable)D.value=!1,(t=v.value)==null||t.blur(),(n=f.value)==null||n.blur();else if(e.multiple){let{value:e}=m;e?.blur()}else{let{value:e}=h;e?.blur()}}function pe(){var t,n,r;e.filterable?(D.value=!1,(t=v.value)==null||t.focus()):e.multiple?(n=m.value)==null||n.focus():(r=h.value)==null||r.focus()}function me(){let{value:e}=f;e&&(re(),e.focus())}function he(){let{value:e}=f;e&&e.blur()}function ge(e){let{value:t}=y;t&&t.setTextContent(`+${e}`)}function _e(){let{value:e}=C;return e}function X(){return f.value}let Z=null;function Q(){Z!==null&&window.clearTimeout(Z)}function $(){e.active||(Q(),Z=window.setTimeout(()=>{j.value&&(E.value=!0)},100))}function ve(){Q()}function ye(e){e||(Q(),E.value=!1)}o(j,e=>{e||(E.value=!1)}),s(()=>{c(()=>{let t=v.value;t&&(e.disabled?t.removeAttribute(`tabindex`):t.tabIndex=D.value?-1:0)})}),ee(p,e.onResize);let{inlineThemeDisabled:be}=e,xe=l(()=>{let{size:t}=e,{common:{cubicBezierEaseInOut:n},self:{fontWeight:r,borderRadius:i,color:a,placeholderColor:o,textColor:s,paddingSingle:c,paddingMultiple:l,caretColor:u,colorDisabled:d,textColorDisabled:f,placeholderColorDisabled:p,colorActive:m,boxShadowFocus:h,boxShadowActive:g,boxShadowHover:_,border:v,borderFocus:y,borderHover:b,borderActive:S,arrowColor:C,arrowColorDisabled:w,loadingColor:T,colorActiveWarning:E,boxShadowFocusWarning:D,boxShadowActiveWarning:O,boxShadowHoverWarning:ee,borderWarning:A,borderFocusWarning:te,borderHoverWarning:ne,borderActiveWarning:j,colorActiveError:M,boxShadowFocusError:N,boxShadowActiveError:re,boxShadowHoverError:P,borderError:F,borderFocusError:I,borderHoverError:L,borderActiveError:R,clearColor:z,clearColorHover:ae,clearColorPressed:oe,clearSize:B,arrowSize:se,[x(`height`,t)]:V,[x(`fontSize`,t)]:H}}=k.value,U=ie(c),W=ie(l);return{"--n-bezier":n,"--n-border":v,"--n-border-active":S,"--n-border-focus":y,"--n-border-hover":b,"--n-border-radius":i,"--n-box-shadow-active":g,"--n-box-shadow-focus":h,"--n-box-shadow-hover":_,"--n-caret-color":u,"--n-color":a,"--n-color-active":m,"--n-color-disabled":d,"--n-font-size":H,"--n-height":V,"--n-padding-single-top":U.top,"--n-padding-multiple-top":W.top,"--n-padding-single-right":U.right,"--n-padding-multiple-right":W.right,"--n-padding-single-left":U.left,"--n-padding-multiple-left":W.left,"--n-padding-single-bottom":U.bottom,"--n-padding-multiple-bottom":W.bottom,"--n-placeholder-color":o,"--n-placeholder-color-disabled":p,"--n-text-color":s,"--n-text-color-disabled":f,"--n-arrow-color":C,"--n-arrow-color-disabled":w,"--n-loading-color":T,"--n-color-active-warning":E,"--n-box-shadow-focus-warning":D,"--n-box-shadow-active-warning":O,"--n-box-shadow-hover-warning":ee,"--n-border-warning":A,"--n-border-focus-warning":te,"--n-border-hover-warning":ne,"--n-border-active-warning":j,"--n-color-active-error":M,"--n-box-shadow-focus-error":N,"--n-box-shadow-active-error":re,"--n-box-shadow-hover-error":P,"--n-border-error":F,"--n-border-focus-error":I,"--n-border-hover-error":L,"--n-border-active-error":R,"--n-clear-size":B,"--n-clear-color":z,"--n-clear-color-hover":ae,"--n-clear-color-pressed":oe,"--n-arrow-size":se,"--n-font-weight":r}}),Se=be?g(`internal-selection`,l(()=>e.size[0]),xe,e):void 0;return{mergedTheme:k,mergedClearable:A,mergedClsPrefix:n,rtlEnabled:a,patternInputFocused:D,filterablePlaceholder:te,label:ne,selected:j,showTagsPanel:E,isComposing:W,counterRef:y,counterWrapperRef:C,patternInputMirrorRef:u,patternInputRef:f,selfRef:p,multipleElRef:m,singleElRef:h,patternInputWrapperRef:v,overflowRef:w,inputTagElRef:T,handleMouseDown:V,handleFocusin:z,handleClear:oe,handleMouseEnter:B,handleMouseLeave:se,handleDeleteOption:H,handlePatternKeyDown:ce,handlePatternInputInput:le,handlePatternInputBlur:Y,handlePatternInputFocus:J,handleMouseEnterCounter:$,handleMouseLeaveCounter:ve,handleFocusout:ae,handleCompositionEnd:ue,handleCompositionStart:q,onPopoverUpdateShow:ye,focus:pe,focusInput:me,blur:fe,blurInput:he,updateCounter:ge,getCounter:_e,getTail:X,renderLabel:e.renderLabel,cssVars:be?void 0:xe,themeClass:Se?.themeClass,onRender:Se?.onRender}},render(){let{status:e,multiple:t,size:r,disabled:i,filterable:a,maxTagCount:o,bordered:s,clsPrefix:c,ellipsisTagPopoverProps:l,onRender:d,renderTag:f,renderLabel:p}=this;d?.();let m=o===`responsive`,h=typeof o==`number`,g=m||h,_=n(P,null,{default:()=>n(V,{clsPrefix:c,loading:this.loading,showArrow:this.showArrow,showClear:this.mergedClearable&&this.selected,onClear:this.handleClear},{default:()=>{var e;return(e=this.$slots).arrow?.call(e)}})}),v;if(t){let{labelField:e}=this,t=t=>n(`div`,{class:`${c}-base-selection-tag-wrapper`,key:t.value},f?f({option:t,handleClose:()=>{this.handleDeleteOption(t)}}):n(H,{size:r,closable:!t.disabled,disabled:i,onClose:()=>{this.handleDeleteOption(t)},internalCloseIsButtonTag:!1,internalCloseFocusable:!1},{default:()=>p?p(t,!0):G(t[e],t,!0)})),s=()=>(h?this.selectedOptions.slice(0,o):this.selectedOptions).map(t),d=a?n(`div`,{class:`${c}-base-selection-input-tag`,ref:`inputTagElRef`,key:`__input-tag__`},n(`input`,Object.assign({},this.inputProps,{ref:`patternInputRef`,tabindex:-1,disabled:i,value:this.pattern,autofocus:this.autofocus,class:`${c}-base-selection-input-tag__input`,onBlur:this.handlePatternInputBlur,onFocus:this.handlePatternInputFocus,onKeydown:this.handlePatternKeyDown,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),n(`span`,{ref:`patternInputMirrorRef`,class:`${c}-base-selection-input-tag__mirror`},this.pattern)):null,y=m?()=>n(`div`,{class:`${c}-base-selection-tag-wrapper`,ref:`counterWrapperRef`},n(H,{size:r,ref:`counterRef`,onMouseenter:this.handleMouseEnterCounter,onMouseleave:this.handleMouseLeaveCounter,disabled:i})):void 0,b;if(h){let e=this.selectedOptions.length-o;e>0&&(b=n(`div`,{class:`${c}-base-selection-tag-wrapper`,key:`__counter__`},n(H,{size:r,ref:`counterRef`,onMouseenter:this.handleMouseEnterCounter,disabled:i},{default:()=>`+${e}`})))}let x=m?a?n(J,{ref:`overflowRef`,updateCounter:this.updateCounter,getCounter:this.getCounter,getTail:this.getTail,style:{width:`100%`,display:`flex`,overflow:`hidden`}},{default:s,counter:y,tail:()=>d}):n(J,{ref:`overflowRef`,updateCounter:this.updateCounter,getCounter:this.getCounter,style:{width:`100%`,display:`flex`,overflow:`hidden`}},{default:s,counter:y}):h&&b?s().concat(b):s(),S=g?()=>n(`div`,{class:`${c}-base-selection-popover`},m?s():this.selectedOptions.map(t)):void 0,C=g?Object.assign({show:this.showTagsPanel,trigger:`hover`,overlap:!0,placement:`top`,width:`trigger`,onUpdateShow:this.onPopoverUpdateShow,theme:this.mergedTheme.peers.Popover,themeOverrides:this.mergedTheme.peerOverrides.Popover},l):null,w=!this.selected&&(!this.active||!this.pattern&&!this.isComposing)?n(`div`,{class:`${c}-base-selection-placeholder ${c}-base-selection-overlay`},n(`div`,{class:`${c}-base-selection-placeholder__inner`},this.placeholder)):null,T=a?n(`div`,{ref:`patternInputWrapperRef`,class:`${c}-base-selection-tags`},x,m?null:d,_):n(`div`,{ref:`multipleElRef`,class:`${c}-base-selection-tags`,tabindex:i?void 0:0},x,_);v=n(u,null,g?n(z,Object.assign({},C,{scrollable:!0,style:`max-height: calc(var(--v-target-height) * 6.6);`}),{trigger:()=>T,default:S}):T,w)}else if(a){let e=this.pattern||this.isComposing,t=this.active?!e:!this.selected,r=this.active?!1:this.selected;v=n(`div`,{ref:`patternInputWrapperRef`,class:`${c}-base-selection-label`,title:this.patternInputFocused?void 0:Y(this.label)},n(`input`,Object.assign({},this.inputProps,{ref:`patternInputRef`,class:`${c}-base-selection-input`,value:this.active?this.pattern:``,placeholder:``,readonly:i,disabled:i,tabindex:-1,autofocus:this.autofocus,onFocus:this.handlePatternInputFocus,onBlur:this.handlePatternInputBlur,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),r?n(`div`,{class:`${c}-base-selection-label__render-label ${c}-base-selection-overlay`,key:`input`},n(`div`,{class:`${c}-base-selection-overlay__wrapper`},f?f({option:this.selectedOption,handleClose:()=>{}}):p?p(this.selectedOption,!0):G(this.label,this.selectedOption,!0))):null,t?n(`div`,{class:`${c}-base-selection-placeholder ${c}-base-selection-overlay`,key:`placeholder`},n(`div`,{class:`${c}-base-selection-overlay__wrapper`},this.filterablePlaceholder)):null,_)}else v=n(`div`,{ref:`singleElRef`,class:`${c}-base-selection-label`,tabindex:this.disabled?void 0:0},this.label===void 0?n(`div`,{class:`${c}-base-selection-placeholder ${c}-base-selection-overlay`,key:`placeholder`},n(`div`,{class:`${c}-base-selection-placeholder__inner`},this.placeholder)):n(`div`,{class:`${c}-base-selection-input`,title:Y(this.label),key:`input`},n(`div`,{class:`${c}-base-selection-input__content`},f?f({option:this.selectedOption,handleClose:()=>{}}):p?p(this.selectedOption,!0):G(this.label,this.selectedOption,!0))),_);return n(`div`,{ref:`selfRef`,class:[`${c}-base-selection`,this.rtlEnabled&&`${c}-base-selection--rtl`,this.themeClass,e&&`${c}-base-selection--${e}-status`,{[`${c}-base-selection--active`]:this.active,[`${c}-base-selection--selected`]:this.selected||this.active&&this.pattern,[`${c}-base-selection--disabled`]:this.disabled,[`${c}-base-selection--multiple`]:this.multiple,[`${c}-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},v,s?n(`div`,{class:`${c}-base-selection__border`}):null,s?n(`div`,{class:`${c}-base-selection__state-border`}):null)}}),pe=v([m(`select`,`
|
|
z-index: auto;
|
|
outline: none;
|
|
width: 100%;
|
|
position: relative;
|
|
font-weight: var(--n-font-weight);
|
|
`),m(`select-menu`,`
|
|
margin: 4px 0;
|
|
box-shadow: var(--n-menu-box-shadow);
|
|
`,[I({originalTransition:`background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)`})])]),me=r({name:`Select`,props:Object.assign(Object.assign({},S.props),{to:E.propTo,bordered:{type:Boolean,default:void 0},clearable:Boolean,clearCreatedOptionsOnClear:{type:Boolean,default:!0},clearFilterAfterSelect:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},defaultValue:{type:[String,Number,Array],default:null},keyboard:{type:Boolean,default:!0},value:[String,Number,Array],placeholder:String,menuProps:Object,multiple:Boolean,size:String,menuSize:{type: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],ellipsisTagPopoverProps:Object,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},scrollbarProps:Object,onChange:[Function,Array],items:Array}),slots:Object,setup(e){let{mergedClsPrefixRef:t,mergedBorderedRef:n,namespaceRef:r,inlineThemeDisabled:a,mergedComponentPropsRef:s}=_(e),c=S(`Select`,`-select`,pe,le,e,t),u=d(e.defaultValue),f=L(i(e,`value`),u),p=d(!1),m=d(``),h=R(e,[`items`,`options`]),v=d([]),y=d([]),b=l(()=>y.value.concat(v.value).concat(h.value)),x=l(()=>{let{filter:t}=e;if(t)return t;let{labelField:n,valueField:r}=e;return(e,t)=>{if(!t)return!1;let i=t[n];if(typeof i==`string`)return A(e,i);let a=t[r];return typeof a==`string`?A(e,a):typeof a==`number`?A(e,String(a)):!1}}),C=l(()=>{if(e.remote)return h.value;{let{value:t}=b,{value:n}=m;return!n.length||!e.filterable?t:j(t,x.value,n,e.childrenField)}}),w=l(()=>{let{valueField:t,childrenField:n}=e,r=M(t,n);return ne(C.value,r)}),T=l(()=>te(b.value,e.valueField,e.childrenField)),D=d(!1),O=L(i(e,`show`),D),k=d(null),ee=d(null),P=d(null),{localeRef:ie}=se(`Select`),F=l(()=>e.placeholder??ie.value.placeholder),I=[],z=d(new Map),V=l(()=>{let{fallbackOption:t}=e;if(t===void 0){let{labelField:t,valueField:n}=e;return e=>({[t]:String(e),[n]:e})}return t===!1?!1:e=>Object.assign(t(e),{value:e})});function H(t){let n=e.remote,{value:r}=z,{value:i}=T,{value:a}=V,o=[];return t.forEach(e=>{if(i.has(e))o.push(i.get(e));else if(n&&r.has(e))o.push(r.get(e));else if(a){let t=a(e);t&&o.push(t)}}),o}let U=l(()=>{if(e.multiple){let{value:e}=f;return Array.isArray(e)?H(e):[]}return null}),W=l(()=>{let{value:t}=f;return!e.multiple&&!Array.isArray(t)?t===null?null:H([t])[0]||null:null}),G=oe(e,{mergedSize:t=>{let{size:n}=e;if(n)return n;let{mergedSize:r}=t||{};return r?.value?r.value:s?.value?.Select?.size||`medium`}}),{mergedSizeRef:K,mergedDisabledRef:q,mergedStatusRef:ue}=G;function J(t,n){let{onChange:r,"onUpdate:value":i,onUpdateValue:a}=e,{nTriggerFormChange:o,nTriggerFormInput:s}=G;r&&B(r,t,n),a&&B(a,t,n),i&&B(i,t,n),u.value=t,o(),s()}function Y(t){let{onBlur:n}=e,{nTriggerFormBlur:r}=G;n&&B(n,t),r()}function de(){let{onClear:t}=e;t&&B(t)}function fe(t){let{onFocus:n,showOnFocus:r}=e,{nTriggerFormFocus:i}=G;n&&B(n,t),i(),r&&X()}function me(t){let{onSearch:n}=e;n&&B(n,t)}function he(t){let{onScroll:n}=e;n&&B(n,t)}function ge(){var t;let{remote:n,multiple:r}=e;if(n){let{value:n}=z;if(r){let{valueField:r}=e;(t=U.value)==null||t.forEach(e=>{n.set(e[r],e)})}else{let t=W.value;t&&n.set(t[e.valueField],t)}}}function _e(t){let{onUpdateShow:n,"onUpdate:show":r}=e;n&&B(n,t),r&&B(r,t),D.value=t}function X(){q.value||(_e(!0),D.value=!0,e.filterable&&Le())}function Z(){_e(!1)}function Q(){m.value=``,y.value=I}let $=d(!1);function ve(){e.filterable&&($.value=!0)}function ye(){e.filterable&&($.value=!1,O.value||Q())}function be(){q.value||(O.value?e.filterable?Le():Z():X())}function xe(e){(P.value?.selfRef)?.contains(e.relatedTarget)||(p.value=!1,Y(e),Z())}function Se(e){fe(e),p.value=!0}function Ce(){p.value=!0}function we(e){k.value?.$el.contains(e.relatedTarget)||(p.value=!1,Y(e),Z())}function Te(){var e;(e=k.value)==null||e.focus(),Z()}function Ee(e){O.value&&(k.value?.$el.contains(re(e))||Z())}function De(t){if(!Array.isArray(t))return[];if(V.value)return Array.from(t);{let{remote:n}=e,{value:r}=T;if(n){let{value:e}=z;return t.filter(t=>r.has(t)||e.has(t))}else return t.filter(e=>r.has(e))}}function Oe(e){ke(e.rawNode)}function ke(t){if(q.value)return;let{tag:n,remote:r,clearFilterAfterSelect:i,valueField:a}=e;if(n&&!r){let{value:e}=y,t=e[0]||null;if(t){let e=v.value;e.length?e.push(t):v.value=[t],y.value=I}}if(r&&z.value.set(t[a],t),e.multiple){let e=De(f.value),o=e.findIndex(e=>e===t[a]);if(~o){if(e.splice(o,1),n&&!r){let e=Ae(t[a]);~e&&(v.value.splice(e,1),i&&(m.value=``))}}else e.push(t[a]),i&&(m.value=``);J(e,H(e))}else{if(n&&!r){let e=Ae(t[a]);~e?v.value=[v.value[e]]:v.value=I}Ie(),Z(),J(t[a],t)}}function Ae(t){return v.value.findIndex(n=>n[e.valueField]===t)}function je(t){O.value||X();let{value:n}=t.target;m.value=n;let{tag:r,remote:i}=e;if(me(n),r&&!i){if(!n){y.value=I;return}let{onCreate:t}=e,r=t?t(n):{[e.labelField]:n,[e.valueField]:n},{valueField:i,labelField:a}=e;h.value.some(e=>e[i]===r[i]||e[a]===r[a])||v.value.some(e=>e[i]===r[i]||e[a]===r[a])?y.value=I:y.value=[r]}}function Me(t){t.stopPropagation();let{multiple:n,tag:r,remote:i,clearCreatedOptionsOnClear:a}=e;!n&&e.filterable&&Z(),r&&!i&&a&&(v.value=I),de(),n?J([],[]):J(null,null)}function Ne(e){!N(e,`action`)&&!N(e,`empty`)&&!N(e,`header`)&&e.preventDefault()}function Pe(e){he(e)}function Fe(t){var n,r,i;if(!e.keyboard){t.preventDefault();return}switch(t.key){case` `:if(e.filterable)break;t.preventDefault();case`Enter`:if(!k.value?.isComposing){if(O.value){let t=P.value?.getPendingTmNode();t?Oe(t):e.filterable||(Z(),Ie())}else if(X(),e.tag&&$.value){let t=y.value[0];if(t){let n=t[e.valueField],{value:r}=f;e.multiple&&Array.isArray(r)&&r.includes(n)||ke(t)}}}t.preventDefault();break;case`ArrowUp`:if(t.preventDefault(),e.loading)return;O.value&&((n=P.value)==null||n.prev());break;case`ArrowDown`:if(t.preventDefault(),e.loading)return;O.value?(r=P.value)==null||r.next():X();break;case`Escape`:O.value&&(ae(t),Z()),(i=k.value)==null||i.focus();break}}function Ie(){var e;(e=k.value)==null||e.focus()}function Le(){var e;(e=k.value)==null||e.focusInput()}function Re(){var e;O.value&&((e=ee.value)==null||e.syncPosition())}ge(),o(i(e,`options`),ge);let ze={focus:()=>{var e;(e=k.value)==null||e.focus()},focusInput:()=>{var e;(e=k.value)==null||e.focusInput()},blur:()=>{var e;(e=k.value)==null||e.blur()},blurInput:()=>{var e;(e=k.value)==null||e.blurInput()}},Be=l(()=>{let{self:{menuBoxShadow:e}}=c.value;return{"--n-menu-box-shadow":e}}),Ve=a?g(`select`,void 0,Be,e):void 0;return Object.assign(Object.assign({},ze),{mergedStatus:ue,mergedClsPrefix:t,mergedBordered:n,namespace:r,treeMate:w,isMounted:ce(),triggerRef:k,menuRef:P,pattern:m,uncontrolledShow:D,mergedShow:O,adjustedTo:E(e),uncontrolledValue:u,mergedValue:f,followerRef:ee,localizedPlaceholder:F,selectedOption:W,selectedOptions:U,mergedSize:K,mergedDisabled:q,focused:p,activeWithoutMenuOpen:$,inlineThemeDisabled:a,onTriggerInputFocus:ve,onTriggerInputBlur:ye,handleTriggerOrMenuResize:Re,handleMenuFocus:Ce,handleMenuBlur:we,handleMenuTabOut:Te,handleTriggerClick:be,handleToggle:Oe,handleDeleteOption:ke,handlePatternInput:je,handleClear:Me,handleTriggerBlur:xe,handleTriggerFocus:Se,handleKeydown:Fe,handleMenuAfterLeave:Q,handleMenuClickOutside:Ee,handleMenuScroll:Pe,handleMenuKeydown:Fe,handleMenuMousedown:Ne,mergedTheme:c,cssVars:a?void 0:Be,themeClass:Ve?.themeClass,onRender:Ve?.onRender})},render(){return n(`div`,{class:`${this.mergedClsPrefix}-select`},n(C,null,{default:()=>[n(w,null,{default:()=>n(fe,{ref:`triggerRef`,inlineThemeDisabled:this.inlineThemeDisabled,status:this.mergedStatus,inputProps:this.inputProps,clsPrefix:this.mergedClsPrefix,showArrow:this.showArrow,maxTagCount:this.maxTagCount,ellipsisTagPopoverProps:this.ellipsisTagPopoverProps,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;return[(e=this.$slots).arrow?.call(e)]}})}),n(O,{ref:`followerRef`,show:this.mergedShow,to:this.adjustedTo,teleportDisabled:this.adjustedTo===E.tdkey,containerClass:this.namespace,width:this.consistentMenuWidth?`target`:void 0,minWidth:`target`,placement:this.placement},{default:()=>n(W,{name:`fade-in-scale-up-transition`,appear:this.isMounted,onAfterLeave:this.handleMenuAfterLeave},{default:()=>{var e;return this.mergedShow||this.displayDirective===`show`?((e=this.onRender)==null||e.call(this),a(n(k,Object.assign({},this.menuProps,{ref:`menuRef`,onResize:this.handleTriggerOrMenuResize,inlineThemeDisabled:this.inlineThemeDisabled,virtualScroll:this.consistentMenuWidth&&this.virtualScroll,class:[`${this.mergedClsPrefix}-select-menu`,this.themeClass,this.menuProps?.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:this.menuSize,renderOption:this.renderOption,renderLabel:this.renderLabel,value:this.mergedValue,style:[this.menuProps?.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,scrollbarProps:this.scrollbarProps}),{empty:()=>{var e;return[(e=this.$slots).empty?.call(e)]},header:()=>{var e;return[(e=this.$slots).header?.call(e)]},action:()=>{var e;return[(e=this.$slots).action?.call(e)]}}),this.displayDirective===`show`?[[K,this.mergedShow],[F,this.handleMenuClickOutside,void 0,{capture:!0}]]:[[F,this.handleMenuClickOutside,void 0,{capture:!0}]])):null}})})]}))}});export{me as t}; |