1 |
- import{M as B,cy as pt,d as re,cz as bt,bK as E,r as S,o as yt,$ as d,T as xe,S as wt,U as kt,cA as Rt,cB as Ct,cC as xt,cD as St,cE as Mt,cF as Tt,aX as Se,_ as m,cG as ce,cH as Nt,cI as Ve,cJ as Ft,cK as Pt,l as Ot,cL as Pe,cM as he,cN as Lt,cO as Kt,cP as _t,a3 as qe,cQ as We,cR as Xe,cS as It,cT as Bt,cU as At,cV as Qe,cW as zt,cX as $t,Q as fe,cY as De,cZ as ke,R as X,W as Vt,X as Ye,c_ as Dt,c$ as je,d0 as jt,d1 as Ce,a_ as Et,x as Ee,Y as Ut,d2 as Ht,d3 as qt,d4 as Wt,d5 as Xt,d6 as Qt,d7 as Yt,d8 as Ue,d9 as Gt,da as Jt,db as Zt,dc as ee,C as en}from"./index-ea33af14.js";const tn=B("base-menu-mask","\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 14px;\n overflow: hidden;\n",[pt()]),nn=re({name:"BaseMenuMask",props:{clsPrefix:{type:String,required:!0}},setup(t){bt("-base-menu-mask",tn,E(t,"clsPrefix"));const l=S(null);let o=null;const a=S(!1);return yt(()=>{o!==null&&window.clearTimeout(o)}),Object.assign({message:l,show:a},{showOnce(p,k=1500){o&&window.clearTimeout(o),a.value=!0,l.value=p,o=window.setTimeout(()=>{a.value=!1,l.value=null},k)}})},render(){return d(xe,{name:"fade-in-transition"},{default:()=>this.show?d("div",{class:"".concat(this.clsPrefix,"-base-menu-mask")},this.message):null})}}),on=t=>{const{borderRadius:l,boxShadow2:o,popoverColor:a,textColor2:h,textColor3:p,primaryColor:k,textColorDisabled:v,dividerColor:b,hoverColor:x,fontSizeMedium:R,heightMedium:N}=t;return{menuBorderRadius:l,menuColor:a,menuBoxShadow:o,menuDividerColor:b,menuHeight:"calc(var(--n-option-height) * 6.6)",optionArrowColor:p,optionHeight:N,optionFontSize:R,optionColorHover:x,optionTextColor:h,optionTextColorActive:k,optionTextColorDisabled:v,optionCheckMarkColor:k,loadingColor:k,columnWidth:"180px"}},ln=wt({name:"Cascader",common:kt,peers:{InternalSelectMenu:Rt,InternalSelection:Ct,Scrollbar:xt,Checkbox:St,Empty:Mt},self:on}),an=ln;function Re(t){return t?t.map(l=>l.rawNode):null}function rn(t,l,o,a){const h=[],p=[];function k(v){for(const b of v){if(b.disabled)continue;const{rawNode:x}=b;p.push(x),(b.isLeaf||!l)&&h.push({label:Oe(b,a,o),value:b.key,rawNode:b.rawNode,path:Array.from(p)}),!b.isLeaf&&b.children&&k(b.children),p.pop()}}return k(t),h}function Oe(t,l,o){const a=[];for(;t;)a.push(t.rawNode[o]),t=t.parent;return a.reverse().join(l)}const ve=Tt("n-cascader"),He=re({name:"NCascaderOption",props:{tmNode:{type:Object,required:!0}},setup(t){const{expandTriggerRef:l,remoteRef:o,multipleRef:a,mergedValueRef:h,checkedKeysRef:p,indeterminateKeysRef:k,hoverKeyPathRef:v,keyboardKeyRef:b,loadingKeySetRef:x,cascadeRef:R,mergedCheckStrategyRef:N,onLoadRef:z,mergedClsPrefixRef:K,mergedThemeRef:Q,labelFieldRef:J,showCheckboxRef:M,updateHoverKey:g,updateKeyboardKey:_,addLoadingKey:O,deleteLoadingKey:L,closeMenu:I,doCheck:D,doUncheck:te,renderLabelRef:ne}=Se(ve),$=m(()=>t.tmNode.key),u=m(()=>{const{value:T}=l,{value:W}=o;return!W&&T==="hover"}),F=m(()=>{if(u.value)return G}),A=m(()=>{if(u.value)return ue}),P=ce(()=>{const{value:T}=a;return T?p.value.includes($.value):h.value===$.value}),U=ce(()=>a.value?k.value.includes($.value):!1),H=ce(()=>v.value.includes($.value)),ie=ce(()=>{const{value:T}=b;return T===null?!1:T===$.value}),Me=ce(()=>o.value?x.value.has($.value):!1),se=m(()=>t.tmNode.isLeaf),j=m(()=>t.tmNode.disabled),me=m(()=>t.tmNode.rawNode[J.value]),q=m(()=>t.tmNode.shallowLoaded);function Y(T){if(j.value)return;const{value:W}=o,{value:pe}=x,{value:be}=z,{value:C}=$,{value:Te}=se,{value:V}=q;Pe(T,"checkbox")||(W&&!V&&!pe.has(C)&&be&&(O(C),be(t.tmNode.rawNode).then(()=>{L(C)}).catch(()=>{L(C)})),g(C),_(C)),Te&&oe()}function G(){if(!u.value||j.value)return;const{value:T}=$;g(T),_(T)}function ue(){u.value&&G()}function ge(){const{value:T}=se;T||oe()}function oe(){const{value:T}=a,{value:W}=$;T?U.value||P.value?te(W):D(W):(D(W),I(!0))}return{checkStrategy:N,multiple:a,cascade:R,checked:P,indeterminate:U,hoverPending:H,keyboardPending:ie,isLoading:Me,showCheckbox:M,isLeaf:se,disabled:j,label:me,mergedClsPrefix:K,mergedTheme:Q,handleClick:Y,handleCheckboxUpdateValue:ge,mergedHandleMouseEnter:F,mergedHandleMouseMove:A,renderLabel:ne}},render(){const{mergedClsPrefix:t,renderLabel:l}=this;return d("div",{class:["".concat(t,"-cascader-option"),{["".concat(t,"-cascader-option--pending")]:this.keyboardPending||this.hoverPending,["".concat(t,"-cascader-option--disabled")]:this.disabled,["".concat(t,"-cascader-option--show-prefix")]:this.showCheckbox}],onMouseenter:this.mergedHandleMouseEnter,onMousemove:this.mergedHandleMouseMove,onClick:this.handleClick},this.showCheckbox?d("div",{class:"".concat(t,"-cascader-option__prefix")},d(Ot,{focusable:!1,"data-checkbox":!0,disabled:this.disabled,checked:this.checked,indeterminate:this.indeterminate,theme:this.mergedTheme.peers.Checkbox,themeOverrides:this.mergedTheme.peerOverrides.Checkbox,onUpdateChecked:this.handleCheckboxUpdateValue})):null,d("span",{class:"".concat(t,"-cascader-option__label")},l?l(this.tmNode.rawNode,this.checked):this.label),d("div",{class:"".concat(t,"-cascader-option__suffix")},d("div",{class:"".concat(t,"-cascader-option-icon-placeholder")},this.isLeaf?this.checkStrategy==="child"&&!(this.multiple&&this.cascade)?d(xe,{name:"fade-in-scale-up-transition"},{default:()=>this.checked?d(Ve,{clsPrefix:t,class:"".concat(t,"-cascader-option-icon ").concat(t,"-cascader-option-icon--checkmark")},{default:()=>d(Pt,null)}):null}):null:d(Nt,{clsPrefix:t,scale:.85,strokeWidth:24,show:this.isLoading,class:"".concat(t,"-cascader-option-icon")},{default:()=>d(Ve,{clsPrefix:t,key:"arrow",class:"".concat(t,"-cascader-option-icon ").concat(t,"-cascader-option-icon--arrow")},{default:()=>d(Ft,null)})}))))}}),sn=re({name:"CascaderSubmenu",props:{depth:{type:Number,required:!0},tmNodes:{type:Array,required:!0}},setup(){const{virtualScrollRef:t,mergedClsPrefixRef:l,mergedThemeRef:o,optionHeightRef:a}=Se(ve),h=S(null),p=S(null),k={scroll(v,b){var x,R;t.value?(x=p.value)===null||x===void 0||x.scrollTo({index:v}):(R=h.value)===null||R===void 0||R.scrollTo({index:v,elSize:b})}};return Object.assign({mergedClsPrefix:l,mergedTheme:o,scrollbarInstRef:h,vlInstRef:p,virtualScroll:t,itemSize:m(()=>he(a.value)),handleVlScroll:()=>{var v;(v=h.value)===null||v===void 0||v.sync()},getVlContainer:()=>{var v;return(v=p.value)===null||v===void 0?void 0:v.listElRef},getVlContent:()=>{var v;return(v=p.value)===null||v===void 0?void 0:v.itemsElRef}},k)},render(){const{mergedClsPrefix:t,mergedTheme:l,virtualScroll:o}=this;return d("div",{class:[o&&"".concat(t,"-cascader-submenu--virtual"),"".concat(t,"-cascader-submenu")]},d(Lt,{ref:"scrollbarInstRef",theme:l.peers.Scrollbar,themeOverrides:l.peerOverrides.Scrollbar,container:o?this.getVlContainer:void 0,content:o?this.getVlContent:void 0},{default:()=>o?d(Kt,{items:this.tmNodes,itemSize:this.itemSize,onScroll:this.handleVlScroll,showScrollbar:!1,ref:"vlInstRef"},{default:({item:a})=>d(He,{key:a.key,tmNode:a})}):this.tmNodes.map(a=>d(He,{key:a.key,tmNode:a}))}))}}),un=re({name:"NCascaderMenu",props:{value:[String,Number,Array],placement:{type:String,default:"bottom-start"},show:Boolean,menuModel:{type:Array,required:!0},loading:Boolean,onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},onTabout:{type:Function,required:!0}},setup(t){const{localeRef:l,isMountedRef:o,mergedClsPrefixRef:a,syncCascaderMenuPosition:h,handleCascaderMenuClickOutside:p,mergedThemeRef:k}=Se(ve),v=[],b=S(null),x=S(null);function R(){h()}_t(x,R);function N(M){var g;const{value:{loadingRequiredMessage:_}}=l;(g=b.value)===null||g===void 0||g.showOnce(_(M))}function z(M){p(M)}function K(M){const{value:g}=x;g&&(g.contains(M.relatedTarget)||t.onFocus(M))}function Q(M){const{value:g}=x;g&&(g.contains(M.relatedTarget)||t.onBlur(M))}return Object.assign({isMounted:o,mergedClsPrefix:a,selfElRef:x,submenuInstRefs:v,maskInstRef:b,mergedTheme:k,handleFocusin:K,handleFocusout:Q,handleClickOutside:z},{scroll(M,g,_){const O=v[M];O&&O.scroll(g,_)},showErrorMessage:N})},render(){const{submenuInstRefs:t,mergedClsPrefix:l,mergedTheme:o}=this;return d(xe,{name:"fade-in-scale-up-transition",appear:this.isMounted},{default:()=>this.show?qe(d("div",{tabindex:"0",ref:"selfElRef",class:"".concat(l,"-cascader-menu"),onMousedown:this.onMousedown,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onKeydown:this.onKeydown},this.menuModel[0].length?d("div",{class:"".concat(l,"-cascader-submenu-wrapper")},this.menuModel.map((a,h)=>d(sn,{ref:p=>{p&&(t[h]=p)},key:h,tmNodes:a,depth:h+1})),d(nn,{clsPrefix:l,ref:"maskInstRef"})):d("div",{class:"".concat(l,"-cascader-menu__empty")},Xe(this.$slots.empty,()=>[d(It,{theme:o.peers.Empty,themeOverrides:o.peerOverrides.Empty})])),Bt(this.$slots.action,a=>a&&d("div",{class:"".concat(l,"-cascader-menu-action"),"data-action":!0},a)),d(At,{onFocus:this.onTabout})),[[We,this.handleClickOutside,void 0,{capture:!0}]]):null})}}),dn=re({name:"NCascaderSelectMenu",props:{value:{type:[String,Number,Array],default:null},show:Boolean,pattern:{type:String,default:""},multiple:Boolean,tmNodes:{type:Array,default:()=>[]},filter:Function,labelField:{type:String,required:!0},separator:{type:String,required:!0}},setup(t){const{isMountedRef:l,mergedValueRef:o,mergedClsPrefixRef:a,mergedThemeRef:h,mergedCheckStrategyRef:p,slots:k,syncSelectMenuPosition:v,closeMenu:b,handleSelectMenuClickOutside:x,doUncheck:R,doCheck:N,clearPattern:z}=Se(ve),K=S(null),Q=m(()=>rn(t.tmNodes,p.value==="child",t.labelField,t.separator)),J=m(()=>{const{filter:u}=t;if(u)return u;const{labelField:F}=t;return(A,P,U)=>U.some(H=>H[F]&&~H[F].indexOf(A))}),M=m(()=>{const{pattern:u}=t,{value:F}=J;return(u?Q.value.filter(A=>F(u,A.rawNode,A.path)):Q.value).map(A=>({value:A.value,label:A.label}))}),g=m(()=>Qe(M.value,zt("value","children")));function _(){v()}function O(u){L(u)}function L(u){if(t.multiple){const{value:F}=o;Array.isArray(F)?F.includes(u.key)?R(u.key):N(u.key):F===null&&N(u.key),z()}else N(u.key),b(!0)}function I(){var u;(u=K.value)===null||u===void 0||u.prev()}function D(){var u;(u=K.value)===null||u===void 0||u.next()}function te(){var u;if(K){const F=(u=K.value)===null||u===void 0?void 0:u.getPendingTmNode();return F&&L(F),!0}return!1}function ne(u){x(u)}return Object.assign({isMounted:l,mergedTheme:h,mergedClsPrefix:a,menuInstRef:K,selectTreeMate:g,handleResize:_,handleToggle:O,handleClickOutside:ne,cascaderSlots:k},{prev:I,next:D,enter:te})},render(){const{mergedClsPrefix:t,isMounted:l,mergedTheme:o,cascaderSlots:a}=this;return d(xe,{name:"fade-in-scale-up-transition",appear:l},{default:()=>this.show?qe(d($t,{ref:"menuInstRef",onResize:this.handleResize,clsPrefix:t,class:"".concat(t,"-cascader-menu"),autoPending:!0,themeOverrides:o.peerOverrides.InternalSelectMenu,theme:o.peers.InternalSelectMenu,treeMate:this.selectTreeMate,multiple:this.multiple,value:this.value,onToggle:this.handleToggle},{empty:()=>Xe(a["not-found"],()=>[])}),[[We,this.handleClickOutside,void 0,{capture:!0}]]):null})}}),cn=fe([B("cascader-menu","\n outline: none;\n position: relative;\n margin: 4px 0;\n display: flex;\n flex-flow: column nowrap;\n border-radius: var(--n-menu-border-radius);\n overflow: hidden;\n box-shadow: var(--n-menu-box-shadow);\n color: var(--n-option-text-color);\n background-color: var(--n-menu-color);\n ",[De({transformOrigin:"inherit",duration:"0.2s"}),ke("empty","\n display: flex;\n padding: 12px 32px;\n flex: 1;\n justify-content: center;\n "),B("scrollbar",{width:"100%"}),B("base-menu-mask",{backgroundColor:"var(--n-menu-mask-color)"}),B("base-loading",{color:"var(--n-loading-color)"}),B("cascader-submenu-wrapper","\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n "),B("cascader-submenu","\n height: var(--n-menu-height);\n min-width: var(--n-column-width);\n position: relative;\n ",[X("virtual","\n width: var(--n-column-width);\n "),B("scrollbar-content",{position:"relative"}),fe("&:first-child","\n border-top-left-radius: var(--n-menu-border-radius);\n border-bottom-left-radius: var(--n-menu-border-radius);\n "),fe("&:last-child","\n border-top-right-radius: var(--n-menu-border-radius);\n border-bottom-right-radius: var(--n-menu-border-radius);\n "),fe("&:not(:first-child)","\n border-left: 1px solid var(--n-menu-divider-color);\n ")]),B("cascader-menu-action","\n box-sizing: border-box;\n padding: 8px;\n border-top: 1px solid var(--n-menu-divider-color);\n "),B("cascader-option","\n height: var(--n-option-height);\n line-height: var(--n-option-height);\n font-size: var(--n-option-font-size);\n padding: 0 0 0 18px;\n box-sizing: border-box;\n min-width: 182px;\n background-color: #0000;\n display: flex;\n align-items: center;\n white-space: nowrap;\n position: relative;\n cursor: pointer;\n transition:\n background-color .2s var(--n-bezier),\n color 0.2s var(--n-bezier);\n ",[X("show-prefix",{paddingLeft:0}),ke("label","\n flex: 1 0 0;\n overflow: hidden;\n text-overflow: ellipsis;\n "),ke("prefix",{width:"32px",display:"flex",alignItems:"center",justifyContent:"center"}),ke("suffix",{width:"32px",display:"flex",alignItems:"center",justifyContent:"center"}),B("cascader-option-icon-placeholder",{lineHeight:0,position:"relative",width:"16px",height:"16px",fontSize:"16px"},[B("cascader-option-icon",[X("checkmark",{color:"var(--n-option-check-mark-color)"},[De({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})]),X("arrow",{color:"var(--n-option-arrow-color)"})])]),X("selected",{color:"var(--n-option-text-color-active)"}),X("active",{color:"var(--n-option-text-color-active)",backgroundColor:"var(--n-option-color-hover)"}),X("pending",{backgroundColor:"var(--n-option-color-hover)"}),fe("&:hover",{backgroundColor:"var(--n-option-color-hover)"}),X("disabled","\n color: var(--n-option-text-color-disabled);\n background-color: #0000;\n cursor: not-allowed;\n ",[B("cascader-option-icon",[X("arrow",{color:"var(--n-option-text-color-disabled)"})])])])]),B("cascader","\n z-index: auto;\n position: relative;\n width: 100%;\n ")]),fn=Object.assign(Object.assign({},Ye.props),{allowCheckingNotLoaded:Boolean,to:Ce.propTo,bordered:{type:Boolean,default:void 0},options:{type:Array,default:()=>[]},value:[String,Number,Array],defaultValue:{type:[String,Number,Array],default:null},placeholder:String,multiple:Boolean,size:String,filterable:Boolean,disabled:{type:Boolean,default:void 0},disabledField:{type:String,default:"disabled"},expandTrigger:{type:String,default:"click"},clearable:Boolean,clearFilterAfterSelect:{type:Boolean,default:!0},remote:Boolean,onLoad:Function,separator:{type:String,default:" / "},filter:Function,placement:{type:String,default:"bottom-start"},cascade:{type:Boolean,default:!0},leafOnly:Boolean,showPath:{type:Boolean,default:!0},show:{type:Boolean,default:void 0},maxTagCount:[String,Number],menuProps:Object,filterMenuProps:Object,virtualScroll:{type:Boolean,default:!0},checkStrategy:{type:String,default:"all"},valueField:{type:String,default:"value"},labelField:{type:String,default:"label"},childrenField:{type:String,default:"children"},renderLabel:Function,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],onBlur:Function,onFocus:Function,onChange:[Function,Array]}),vn=re({name:"Cascader",props:fn,setup(t,{slots:l}){const{mergedBorderedRef:o,mergedClsPrefixRef:a,namespaceRef:h,inlineThemeDisabled:p}=Vt(t),k=Ye("Cascader","-cascader",cn,an,t,a),{localeRef:v}=Dt("Cascader"),b=S(t.defaultValue),x=m(()=>t.value),R=je(x,b),N=m(()=>t.leafOnly?"child":t.checkStrategy),z=S(""),K=jt(t),{mergedSizeRef:Q,mergedDisabledRef:J,mergedStatusRef:M}=K,g=S(null),_=S(null),O=S(null),L=S(null),I=S(null),D=S(new Set),te=S(null),ne=S(null),$=Ce(t),u=S(!1),F=e=>{D.value.add(e)},A=e=>{D.value.delete(e)},P=m(()=>{const{valueField:e,childrenField:n,disabledField:r}=t;return Qe(t.options,{getDisabled(c){return c[r]},getKey(c){return c[e]},getChildren(c){return c[n]}})}),U=m(()=>{const{cascade:e,multiple:n}=t;return n&&Array.isArray(R.value)?P.value.getCheckedKeys(R.value,{cascade:e,allowNotLoaded:t.allowCheckingNotLoaded}):{checkedKeys:[],indeterminateKeys:[]}}),H=m(()=>U.value.checkedKeys),ie=m(()=>U.value.indeterminateKeys),Me=m(()=>{const{treeNodePath:e,treeNode:n}=P.value.getPath(I.value);let r;return n===null?r=[P.value.treeNodes]:(r=e.map(c=>c.siblings),!n.isLeaf&&!D.value.has(n.key)&&n.children&&r.push(n.children)),r}),se=m(()=>{const{keyPath:e}=P.value.getPath(I.value);return e}),j=m(()=>k.value.self.optionHeight);Et(t.options)&&Ee(t.options,(e,n)=>{e!==n&&(I.value=null,L.value=null)});function me(e){const{onUpdateShow:n,"onUpdate:show":r}=t;n&&ee(n,e),r&&ee(r,e),pe.value=e}function q(e,n,r){const{onUpdateValue:c,"onUpdate:value":i,onChange:y}=t,{nTriggerFormInput:s,nTriggerFormChange:w}=K;c&&ee(c,e,n,r),i&&ee(i,e,n,r),y&&ee(y,e,n,r),b.value=e,s(),w()}function Y(e){L.value=e}function G(e){I.value=e}function ue(e){const{value:{getNode:n}}=P;return e.map(r=>{var c;return((c=n(r))===null||c===void 0?void 0:c.rawNode)||null})}function ge(e){var n;const{cascade:r,multiple:c,filterable:i}=t,{value:{check:y,getNode:s,getPath:w}}=P;if(c)try{const{checkedKeys:f}=y(e,U.value.checkedKeys,{cascade:r,checkStrategy:N.value,allowNotLoaded:t.allowCheckingNotLoaded});q(f,ue(f),f.map(ae=>{var de;return Re((de=w(ae))===null||de===void 0?void 0:de.treeNodePath)})),i&&Ne(),L.value=e,I.value=e}catch(f){if(f instanceof Gt){if(g.value){const ae=s(e);ae!==null&&g.value.showErrorMessage(ae.rawNode[t.labelField])}}else throw f}else if(N.value==="child"){const f=s(e);if(f!=null&&f.isLeaf)q(e,f.rawNode,Re(w(e).treeNodePath));else return!1}else{const f=s(e);q(e,(f==null?void 0:f.rawNode)||null,Re((n=w(e))===null||n===void 0?void 0:n.treeNodePath))}return!0}function oe(e){const{cascade:n,multiple:r}=t;if(r){const{value:{uncheck:c,getNode:i,getPath:y}}=P,{checkedKeys:s}=c(e,U.value.checkedKeys,{cascade:n,checkStrategy:N.value,allowNotLoaded:t.allowCheckingNotLoaded});q(s,s.map(w=>{var f;return((f=i(w))===null||f===void 0?void 0:f.rawNode)||null}),s.map(w=>{var f;return Re((f=y(w))===null||f===void 0?void 0:f.treeNodePath)})),L.value=e,I.value=e}}const T=m(()=>{if(t.multiple){const{showPath:e,separator:n,labelField:r,cascade:c}=t,{getCheckedKeys:i,getNode:y}=P.value;return i(H.value,{cascade:c,checkStrategy:N.value,allowNotLoaded:t.allowCheckingNotLoaded}).checkedKeys.map(w=>{const f=y(w);return f===null?{label:String(w),value:w}:{label:e?Oe(f,n,r):f.rawNode[r],value:f.key}})}else return[]}),W=m(()=>{const{multiple:e,showPath:n,separator:r,labelField:c}=t,{value:i}=R;if(!e&&!Array.isArray(i)){const{getNode:y}=P.value;if(i===null)return null;const s=y(i);return s===null?{label:String(i),value:i}:{label:n?Oe(s,r,c):s.rawNode[c],value:s.key}}else return null}),pe=S(!1),be=E(t,"show"),C=je(be,pe),Te=m(()=>{const{placeholder:e}=t;return e!==void 0?e:v.value.placeholder}),V=m(()=>!!(t.filterable&&z.value));Ee(C,e=>{if(!e||t.multiple)return;const{value:n}=R;!Array.isArray(n)&&n!==null?(L.value=n,I.value=n,en(()=>{var r;if(!C.value)return;const{value:c}=I;if(R.value!==null){const i=P.value.getNode(c);i&&((r=g.value)===null||r===void 0||r.scroll(i.level,i.index,he(j.value)))}})):(L.value=null,I.value=null)},{immediate:!0});function Le(e){const{onBlur:n}=t,{nTriggerFormBlur:r}=K;n&&ee(n,e),r()}function Ke(e){const{onFocus:n}=t,{nTriggerFormFocus:r}=K;n&&ee(n,e),r()}function Ne(){var e;(e=O.value)===null||e===void 0||e.focusInput()}function Ge(){var e;(e=O.value)===null||e===void 0||e.focus()}function ye(){J.value||(z.value="",me(!0),t.filterable&&Ne())}function Z(e=!1){e&&Ge(),me(!1),z.value=""}function _e(e){var n;V.value||C.value&&(!((n=O.value)===null||n===void 0)&&n.$el.contains(Jt(e))||Z())}function Je(e){V.value&&_e(e)}function Ie(){t.clearFilterAfterSelect&&(z.value="")}function we(e){var n,r,c;const{value:i}=L,{value:y}=P;switch(e){case"prev":if(i!==null){const s=y.getPrev(i,{loop:!0});s!==null&&(Y(s.key),(n=g.value)===null||n===void 0||n.scroll(s.level,s.index,he(j.value)))}break;case"next":if(i===null){const s=y.getFirstAvailableNode();s!==null&&(Y(s.key),(r=g.value)===null||r===void 0||r.scroll(s.level,s.index,he(j.value)))}else{const s=y.getNext(i,{loop:!0});s!==null&&(Y(s.key),(c=g.value)===null||c===void 0||c.scroll(s.level,s.index,he(j.value)))}break;case"child":if(i!==null){const s=y.getNode(i);if(s!==null)if(s.shallowLoaded){const w=y.getChild(i);w!==null&&(G(i),Y(w.key))}else{const{value:w}=D;if(!w.has(i)){F(i),G(i);const{onLoad:f}=t;f&&f(s.rawNode).then(()=>{A(i)}).catch(()=>{A(i)})}}}break;case"parent":if(i!==null){const s=y.getParent(i);if(s!==null){Y(s.key);const w=s.getParent();G(w===null?null:w.key)}}break}}function Be(e){var n,r;switch(e.key){case" ":case"ArrowDown":case"ArrowUp":if(t.filterable&&C.value)break;e.preventDefault();break}if(!Pe(e,"action"))switch(e.key){case" ":if(t.filterable)return;case"Enter":if(!C.value)ye();else{const{value:c}=V,{value:i}=L;if(c)_.value&&_.value.enter()&&Ie();else if(i!==null)if(H.value.includes(i)||ie.value.includes(i))oe(i);else{const y=ge(i);!t.multiple&&y&&Z(!0)}}break;case"ArrowUp":e.preventDefault(),C.value&&(V.value?(n=_.value)===null||n===void 0||n.prev():we("prev"));break;case"ArrowDown":e.preventDefault(),C.value?V.value?(r=_.value)===null||r===void 0||r.next():we("next"):ye();break;case"ArrowLeft":e.preventDefault(),C.value&&!V.value&&we("parent");break;case"ArrowRight":e.preventDefault(),C.value&&!V.value&&we("child");break;case"Escape":C.value&&(Zt(e),Z(!0))}}function Ze(e){Be(e)}function et(e){e.stopPropagation(),t.multiple?q([],[],[]):q(null,null,null)}function tt(e){var n;!((n=g.value)===null||n===void 0)&&n.$el.contains(e.relatedTarget)||(u.value=!0,Ke(e))}function nt(e){var n;!((n=g.value)===null||n===void 0)&&n.$el.contains(e.relatedTarget)||(u.value=!1,Le(e),Z())}function ot(e){var n;!((n=O.value)===null||n===void 0)&&n.$el.contains(e.relatedTarget)||(u.value=!0,Ke(e))}function lt(e){var n;!((n=O.value)===null||n===void 0)&&n.$el.contains(e.relatedTarget)||(u.value=!1,Le(e))}function at(e){Pe(e,"action")||t.multiple&&t.filter&&(e.preventDefault(),Ne())}function rt(){Z(!0)}function it(){t.filterable?ye():C.value?Z(!0):ye()}function st(e){z.value=e.target.value}function ut(e){const{multiple:n}=t,{value:r}=R;n&&Array.isArray(r)&&e.value!==void 0?oe(e.value):q(null,null,null)}function Ae(){var e;(e=te.value)===null||e===void 0||e.syncPosition()}function ze(){var e;(e=ne.value)===null||e===void 0||e.syncPosition()}function dt(){C.value&&(V.value?Ae():ze())}const Fe=m(()=>!!(t.multiple&&t.cascade||N.value!=="child"));Ut(ve,{slots:l,mergedClsPrefixRef:a,mergedThemeRef:k,mergedValueRef:R,checkedKeysRef:H,indeterminateKeysRef:ie,hoverKeyPathRef:se,mergedCheckStrategyRef:N,showCheckboxRef:Fe,cascadeRef:E(t,"cascade"),multipleRef:E(t,"multiple"),keyboardKeyRef:L,hoverKeyRef:I,remoteRef:E(t,"remote"),loadingKeySetRef:D,expandTriggerRef:E(t,"expandTrigger"),isMountedRef:Ht(),onLoadRef:E(t,"onLoad"),virtualScrollRef:E(t,"virtualScroll"),optionHeightRef:j,localeRef:v,labelFieldRef:E(t,"labelField"),renderLabelRef:E(t,"renderLabel"),syncCascaderMenuPosition:ze,syncSelectMenuPosition:Ae,updateKeyboardKey:Y,updateHoverKey:G,addLoadingKey:F,deleteLoadingKey:A,doCheck:ge,doUncheck:oe,closeMenu:Z,handleSelectMenuClickOutside:Je,handleCascaderMenuClickOutside:_e,clearPattern:Ie});const ct={focus:()=>{var e;(e=O.value)===null||e===void 0||e.focus()},blur:()=>{var e;(e=O.value)===null||e===void 0||e.blur()},getCheckedData:()=>{if(Fe.value){const e=H.value;return{keys:e,options:ue(e)}}return{keys:[],options:[]}},getIndeterminateData:()=>{if(Fe.value){const e=ie.value;return{keys:e,options:ue(e)}}return{keys:[],options:[]}}},$e=m(()=>{const{self:{optionArrowColor:e,optionTextColor:n,optionTextColorActive:r,optionTextColorDisabled:c,optionCheckMarkColor:i,menuColor:y,menuBoxShadow:s,menuDividerColor:w,menuBorderRadius:f,menuHeight:ae,optionColorHover:de,optionHeight:ft,optionFontSize:ht,loadingColor:vt,columnWidth:mt},common:{cubicBezierEaseInOut:gt}}=k.value;return{"--n-bezier":gt,"--n-menu-border-radius":f,"--n-menu-box-shadow":s,"--n-menu-height":ae,"--n-column-width":mt,"--n-menu-color":y,"--n-menu-divider-color":w,"--n-option-height":ft,"--n-option-font-size":ht,"--n-option-text-color":n,"--n-option-text-color-disabled":c,"--n-option-text-color-active":r,"--n-option-color-hover":de,"--n-option-check-mark-color":i,"--n-option-arrow-color":e,"--n-menu-mask-color":qt(y,{alpha:.75}),"--n-loading-color":vt}}),le=p?Wt("cascader",void 0,$e,t):void 0;return Object.assign(Object.assign({},ct),{handleTriggerResize:dt,mergedStatus:M,selectMenuFollowerRef:te,cascaderMenuFollowerRef:ne,triggerInstRef:O,selectMenuInstRef:_,cascaderMenuInstRef:g,mergedBordered:o,mergedClsPrefix:a,namespace:h,mergedValue:R,mergedShow:C,showSelectMenu:V,pattern:z,treeMate:P,mergedSize:Q,mergedDisabled:J,localizedPlaceholder:Te,selectedOption:W,selectedOptions:T,adjustedTo:$,menuModel:Me,handleMenuTabout:rt,handleMenuFocus:ot,handleMenuBlur:lt,handleMenuKeydown:Ze,handleMenuMousedown:at,handleTriggerFocus:tt,handleTriggerBlur:nt,handleTriggerClick:it,handleClear:et,handleDeleteOption:ut,handlePatternInput:st,handleKeydown:Be,focused:u,optionHeight:j,mergedTheme:k,cssVars:p?void 0:$e,themeClass:le==null?void 0:le.themeClass,onRender:le==null?void 0:le.onRender})},render(){const{mergedClsPrefix:t}=this;return d("div",{class:"".concat(t,"-cascader")},d(Xt,null,{default:()=>[d(Qt,null,{default:()=>d(Yt,{onResize:this.handleTriggerResize,ref:"triggerInstRef",status:this.mergedStatus,clsPrefix:t,maxTagCount:this.maxTagCount,bordered:this.mergedBordered,size:this.mergedSize,theme:this.mergedTheme.peers.InternalSelection,themeOverrides:this.mergedTheme.peerOverrides.InternalSelection,active:this.mergedShow,pattern:this.pattern,placeholder:this.localizedPlaceholder,selectedOption:this.selectedOption,selectedOptions:this.selectedOptions,multiple:this.multiple,filterable:this.filterable,clearable:this.clearable,disabled:this.mergedDisabled,focused:this.focused,onFocus:this.handleTriggerFocus,onBlur:this.handleTriggerBlur,onClick:this.handleTriggerClick,onClear:this.handleClear,onDeleteOption:this.handleDeleteOption,onPatternInput:this.handlePatternInput,onKeydown:this.handleKeydown},{arrow:()=>{var l,o;return(o=(l=this.$slots).arrow)===null||o===void 0?void 0:o.call(l)}})}),d(Ue,{key:"cascaderMenu",ref:"cascaderMenuFollowerRef",show:this.mergedShow&&!this.showSelectMenu,containerClass:this.namespace,placement:this.placement,width:this.options.length?void 0:"target",teleportDisabled:this.adjustedTo===Ce.tdkey,to:this.adjustedTo},{default:()=>{var l;(l=this.onRender)===null||l===void 0||l.call(this);const{menuProps:o}=this;return d(un,Object.assign({},o,{ref:"cascaderMenuInstRef",class:[this.themeClass,o==null?void 0:o.class],value:this.mergedValue,show:this.mergedShow&&!this.showSelectMenu,menuModel:this.menuModel,style:[this.cssVars,o==null?void 0:o.style],onFocus:this.handleMenuFocus,onBlur:this.handleMenuBlur,onKeydown:this.handleMenuKeydown,onMousedown:this.handleMenuMousedown,onTabout:this.handleMenuTabout}),{action:()=>{var a,h;return(h=(a=this.$slots).action)===null||h===void 0?void 0:h.call(a)},empty:()=>{var a,h;return(h=(a=this.$slots).empty)===null||h===void 0?void 0:h.call(a)}})}}),d(Ue,{key:"selectMenu",ref:"selectMenuFollowerRef",show:this.mergedShow&&this.showSelectMenu,containerClass:this.namespace,width:"target",placement:this.placement,to:this.adjustedTo,teleportDisabled:this.adjustedTo===Ce.tdkey},{default:()=>{var l;(l=this.onRender)===null||l===void 0||l.call(this);const{filterMenuProps:o}=this;return d(dn,Object.assign({},o,{ref:"selectMenuInstRef",class:[this.themeClass,o==null?void 0:o.class],value:this.mergedValue,show:this.mergedShow&&this.showSelectMenu,pattern:this.pattern,multiple:this.multiple,tmNodes:this.treeMate.treeNodes,filter:this.filter,labelField:this.labelField,separator:this.separator,style:[this.cssVars,o==null?void 0:o.style]}))}})]}))}});export{vn as N};
|