2 lines
26 KiB
JavaScript
2 lines
26 KiB
JavaScript
import{d as X,aJ as sl,g as ne,t as ge,v as ie,ak as Pe,ar as dl,i as N,b as B,am as te,Z as H,q as m,a4 as vl,e as ae,F as fl,b3 as re,al as pl,J as yl,k as Ge,s as we,l as I,ag as ue,y as We,z as qe,aE as he,j as Oe,m as me,aA as hl,I as ml,b4 as Le,b5 as $e,aM as Be,b6 as gl,aN as He,_ as Ue,h as ve,o as fe,A as q,T as pe,u as Q,aK as bl,aL as kl,ae as Cl}from"./index-C4UKuwCQ.js";import{C as Sl,V as _l,S as Ol,d as Ll}from"./index-h336NyeA.js";import{S as Je}from"./index-Y5pyQQ_e.js";import{g as Ye,K as T}from"./keyboard-b0R5wflF.js";const Ze=Symbol("RadioGroup");var ye=X({name:"Radio",components:{IconHover:sl},props:{modelValue:{type:[String,Number,Boolean],default:void 0},defaultChecked:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:!0},type:{type:String,default:"radio"},disabled:{type:Boolean,default:!1},uninjectGroupContext:{type:Boolean,default:!1}},emits:{"update:modelValue":e=>!0,change:(e,a)=>!0},setup(e,{emit:a,slots:l}){const r=ne("radio"),{modelValue:b}=ge(e),n=e.uninjectGroupContext?void 0:ie(Ze,void 0),{mergedDisabled:g,eventHandlers:s}=Pe({disabled:dl(e,"disabled")}),c=N(null),P=N(e.defaultChecked),o=B(()=>(n==null?void 0:n.name)==="ArcoRadioGroup"),d=B(()=>{var p;return(p=n==null?void 0:n.type)!=null?p:e.type}),S=B(()=>(n==null?void 0:n.disabled)||g.value),_=B(()=>{var p,y;return o.value?(n==null?void 0:n.value)===((p=e.value)!=null?p:!0):te(e.modelValue)?P.value:e.modelValue===((y=e.value)!=null?y:!0)});H(b,p=>{(te(p)||re(p))&&(P.value=!1)}),H(_,(p,y)=>{p!==y&&(P.value=p,c.value&&(c.value.checked=p))});const L=p=>{var y,C;(C=(y=s.value)==null?void 0:y.onFocus)==null||C.call(y,p)},v=p=>{var y,C;(C=(y=s.value)==null?void 0:y.onBlur)==null||C.call(y,p)},k=p=>{p.stopPropagation()},A=p=>{var y,C,i,D,F;P.value=!0,o.value?n==null||n.handleChange((y=e.value)!=null?y:!0,p):(a("update:modelValue",(C=e.value)!=null?C:!0),a("change",(i=e.value)!=null?i:!0,p),(F=(D=s.value)==null?void 0:D.onChange)==null||F.call(D,p)),vl(()=>{c.value&&c.value.checked!==_.value&&(c.value.checked=_.value)})},f=B(()=>[`${d.value==="button"?`${r}-button`:r}`,{[`${r}-checked`]:_.value,[`${r}-disabled`]:S.value}]),w=()=>m(fl,null,[m(ae("icon-hover"),{class:`${r}-icon-hover`,disabled:S.value||_.value},{default:()=>[m("span",{class:`${r}-icon`},null)]}),l.default&&m("span",{class:`${r}-label`},[l.default()])]);return()=>{var p,y,C,i;return m("label",{class:f.value},[m("input",{ref:c,type:"radio",checked:_.value,value:e.value,class:`${r}-target`,disabled:S.value,onClick:k,onChange:A,onFocus:L,onBlur:v},null),d.value==="radio"?(i=(C=(y=l.radio)!=null?y:(p=n==null?void 0:n.slots)==null?void 0:p.radio)==null?void 0:C({checked:_.value,disabled:S.value}))!=null?i:w():m("span",{class:`${r}-button-content`},[l.default&&l.default()])])}}}),Ce=X({name:"RadioGroup",props:{modelValue:{type:[String,Number,Boolean],default:void 0},defaultValue:{type:[String,Number,Boolean],default:""},type:{type:String,default:"radio"},size:{type:String},options:{type:Array},direction:{type:String,default:"horizontal"},disabled:{type:Boolean,default:!1}},emits:{"update:modelValue":e=>!0,change:(e,a)=>!0},setup(e,{emit:a,slots:l}){const r=ne("radio-group"),{size:b,type:n,disabled:g,modelValue:s}=ge(e),{mergedDisabled:c,mergedSize:P,eventHandlers:o}=Pe({size:b,disabled:g}),{mergedSize:d}=pl(P),S=N(e.defaultValue),_=B(()=>{var f;return(f=e.modelValue)!=null?f:S.value}),L=B(()=>{var f;return((f=e.options)!=null?f:[]).map(w=>yl(w)||Ge(w)?{label:w,value:w}:w)});we(Ze,I({name:"ArcoRadioGroup",value:_,size:d,type:n,disabled:c,slots:l,handleChange:(f,w)=>{var p,y;S.value=f,a("update:modelValue",f),a("change",f,w),(y=(p=o.value)==null?void 0:p.onChange)==null||y.call(p,w)}})),H(_,f=>{S.value!==f&&(S.value=f)}),H(s,f=>{(te(f)||re(f))&&(S.value="")});const k=B(()=>[`${r}${e.type==="button"?"-button":""}`,`${r}-size-${d.value}`,`${r}-direction-${e.direction}`,{[`${r}-disabled`]:c.value}]),A=()=>L.value.map(f=>m(ye,{key:f.value,value:f.value,disabled:f.disabled,modelValue:_.value===f.value},{default:()=>[l.label?l.label({data:f}):ue(f.label)?f.label():f.label]}));return()=>{var f;return m("span",{class:k.value},[L.value.length>0?A():(f=l.default)==null?void 0:f.call(l)])}}});const Vl=Object.assign(ye,{Group:Ce,install:(e,a)=>{We(e,a);const l=qe(a);e.component(l+ye.name,ye),e.component(l+Ce.name,Ce)}}),Qe=(e,{optionMap:a,leafOptionMap:l,leafOptionSet:r,leafOptionValueMap:b,totalLevel:n,checkStrictly:g,enabledLazyLoad:s,lazyLoadOptions:c,valueKey:P,fieldNames:o})=>{let d=0;const S=(L,v,k)=>{var A;const f=(A=v==null?void 0:v.path)!=null?A:[];return d=Math.max(d,k??1),L.map((w,p)=>{var y;const C=w[o.value],i={raw:w,value:C,label:(y=w[o.label])!=null?y:String(C),disabled:!!w[o.disabled],selectionDisabled:!1,render:w[o.render],tagProps:w[o.tagProps],isLeaf:w[o.isLeaf],level:f.length,index:p,key:"",valueKey:String(Oe(C)?C[P.value]:C),parent:v,path:[],pathValue:[]},D=f.concat(i),F=[],J=D.map(G=>(F.push(G.value),G.valueKey)).join("-");return i.path=D,i.pathValue=F,i.key=J,w[o.children]?(i.isLeaf=!1,i.children=S(w[o.children],i,(k??1)+1)):s&&!i.isLeaf?(i.isLeaf=!1,c[J]&&(i.children=S(c[J],i,(k??1)+1))):i.isLeaf=!0,i.children&&!i.disabled&&(i.totalLeafOptions=i.children.reduce((G,K)=>Ge(K.totalLeafOptions)?G+K.totalLeafOptions:K.disabled||K.selectionDisabled?G:G+(K.isLeaf?1:0),0),i.totalLeafOptions===0&&!g.value&&(i.selectionDisabled=!0)),a.set(i.key,i),(i.isLeaf||g.value)&&(r.add(i),l.set(i.key,i),b.has(i.valueKey)||b.set(i.valueKey,i.key)),i})},_=S(e);return n.value=d,_},Ke=(e,a)=>{var l,r;let b=!1,n=!1;if(e.isLeaf)a!=null&&a.has(e.key)&&(b=!0);else{const g=new RegExp(`^${e.key}(-|$)`),s=Array.from((l=a==null?void 0:a.keys())!=null?l:[]).reduce((c,P)=>g.test(P)?c+1:c,0);s>0&&s>=((r=e.totalLeafOptions)!=null?r:1)?b=!0:s>0&&(n=!0)}return{checked:b,indeterminate:n}},Me=e=>{const a=[];if(e.isLeaf)a.push(e.key);else if(e.children)for(const l of e.children)a.push(...Me(l));return a},Ae=e=>{const a=[];if(e.disabled||e.selectionDisabled)return a;if(e.isLeaf)a.push(e);else if(e.children)for(const l of e.children)a.push(...Ae(l));return a},Xe=(e,{valueKey:a,leafOptionValueMap:l})=>{var r;if(he(e))return e.map(n=>Oe(n)?n[a]:n).join("-");const b=Oe(e)?e[a]:e;return(r=l.get(String(b)))!=null?r:String(b)},xe=(e,{multiple:a,pathMode:l})=>he(e)?l&&!a&&e.length>0&&!he(e[0])?[e]:e:te(e)||re(e)||e===""?[]:[e],el=e=>e.path.map(a=>a.label).join(" / "),Ne=Symbol("ArcoCascader");var Ve=X({name:"CascaderOption",props:{option:{type:Object,required:!0},active:Boolean,multiple:Boolean,checkStrictly:Boolean,searchOption:Boolean,pathLabel:Boolean},setup(e){const a=ne("cascader-option"),l=ie(Ne,{}),r=N(!1),b={},n=o=>{var d;if(ue(l.loadMore)&&!e.option.isLeaf){const{isLeaf:S,children:_,key:L}=e.option;!S&&!_&&(r.value=!0,new Promise(v=>{var k;(k=l.loadMore)==null||k.call(l,e.option.raw,v)}).then(v=>{var k;r.value=!1,v&&((k=l.addLazyLoadOptions)==null||k.call(l,v,L))}))}(d=l.setSelectedPath)==null||d.call(l,e.option.key)};e.option.disabled||(b.onMouseenter=[()=>{var o;return(o=l.setActiveKey)==null?void 0:o.call(l,e.option.key)}],b.onMouseleave=()=>{var o;return(o=l.setActiveKey)==null?void 0:o.call(l)},b.onClick=[],l.expandTrigger==="hover"?b.onMouseenter.push(o=>n()):b.onClick.push(o=>n()),e.option.isLeaf&&!e.multiple&&b.onClick.push(o=>{var d;n(),(d=l.onClickOption)==null||d.call(l,e.option)}));const g=B(()=>[a,{[`${a}-active`]:e.active,[`${a}-disabled`]:e.option.disabled}]),s=B(()=>{var o;return e.checkStrictly?{checked:(o=l.valueMap)==null?void 0:o.has(e.option.key),indeterminate:!1}:Ke(e.option,l.valueMap)}),c=()=>{var o,d,S;return e.pathLabel?(d=(o=l==null?void 0:l.formatLabel)==null?void 0:o.call(l,e.option.path.map(_=>_.raw)))!=null?d:el(e.option):(S=l.slots)!=null&&S.option?l.slots.option({data:e.option}):ue(e.option.render)?e.option.render():e.option.label},P=()=>r.value?m(hl,null,null):!e.searchOption&&!e.option.isLeaf?m(ml,null,null):null;return()=>{var o;return m("li",me({tabindex:"0",role:"menuitem","aria-disabled":e.option.disabled,"aria-haspopup":!e.option.isLeaf,"aria-expanded":!e.option.isLeaf&&e.active,title:e.option.label,class:g.value},b),[e.multiple&&m(Sl,{modelValue:s.value.checked,indeterminate:s.value.indeterminate,disabled:e.option.disabled||e.option.selectionDisabled,uninjectGroupContext:!0,onChange:(d,S)=>{var _;S.stopPropagation(),n(),(_=l.onClickOption)==null||_.call(l,e.option,!s.value.checked)},onClick:d=>d.stopPropagation()},null),e.checkStrictly&&!e.multiple&&m(Vl,{modelValue:(o=l.valueMap)==null?void 0:o.has(e.option.key),disabled:e.option.disabled,uninjectGroupContext:!0,onChange:(d,S)=>{var _;S.stopPropagation(),n(),(_=l.onClickOption)==null||_.call(l,e.option,!0)},onClick:d=>d.stopPropagation()},null),m("div",{class:`${a}-label`},[c(),P()])])}}}),Pl=X({name:"CascaderColumn",props:{column:{type:Array,required:!0},level:{type:Number,default:0},selectedPath:{type:Array,required:!0},activeKey:String,totalLevel:{type:Number,required:!0},multiple:Boolean,checkStrictly:Boolean,virtualListProps:{type:Object}},setup(e,{slots:a}){const l=ne("cascader"),r=ie(Be,void 0),b=N(),n=N(!!e.virtualListProps),g=()=>{var s,c,P,o,d;return(d=(o=(s=a.empty)==null?void 0:s.call(a))!=null?o:(P=r==null?void 0:(c=r.slots).empty)==null?void 0:P.call(c,{component:"cascader"}))!=null?d:m($e,null,null)};return()=>{var s;return m("div",{class:`${l}-panel-column`,style:{zIndex:e.totalLevel-e.level}},[e.column.length===0?m(Le,{class:`${l}-column-content`},{default:()=>[m("div",{class:`${l}-list-empty`},[g()])]}):n.value?m(_l,me({key:(s=e.column)==null?void 0:s.length},e.virtualListProps,{ref:b,data:e.column}),{item:({item:c})=>m(Ve,{key:c.key,option:c,active:e.selectedPath.includes(c.key)||c.key===e.activeKey,multiple:e.multiple,checkStrictly:e.checkStrictly},null)}):m(Le,{class:`${l}-column-content`},{default:()=>[m("ul",{role:"menu",class:[`${l}-list`,{[`${l}-list-multiple`]:!!(e!=null&&e.multiple),[`${l}-list-strictly`]:!!(e!=null&&e.checkStrictly)}]},[e.column.map(c=>m(Ve,{key:c.key,option:c,active:e.selectedPath.includes(c.key)||c.key===e.activeKey,multiple:e.multiple,checkStrictly:e.checkStrictly},null))])]})])}}});function wl(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!He(e)}var ll=X({name:"BaseCascaderPanel",props:{displayColumns:{type:Array,required:!0},selectedPath:{type:Array,required:!0},activeKey:String,totalLevel:{type:Number,required:!0},multiple:Boolean,checkStrictly:Boolean,loading:Boolean,dropdown:Boolean,virtualListProps:{type:Object}},setup(e,{slots:a}){const l=ne("cascader"),r=ie(Be,void 0),b=()=>{var g,s,c,P,o;return(o=(P=(g=a.empty)==null?void 0:g.call(a))!=null?P:(c=r==null?void 0:(s=r.slots).empty)==null?void 0:c.call(s,{component:"cascader"}))!=null?o:m($e,null,null)},n=()=>e.loading?m("div",{key:"panel-column-loading",class:[`${l}-panel-column`,`${l}-panel-column-loading`]},[m(Je,null,null)]):e.displayColumns.length===0?m("div",{key:"panel-column-empty",class:`${l}-panel-column`},[m("div",{class:`${l}-list-empty`},[b()])]):e.displayColumns.map((g,s)=>m(Pl,{key:`column-${s}`,column:g,level:s,selectedPath:e.selectedPath,activeKey:e.activeKey,totalLevel:e.totalLevel,multiple:e.multiple,checkStrictly:e.checkStrictly,virtualListProps:e.virtualListProps},{empty:a.empty}));return()=>{let g;return m(gl,{tag:"div",name:"cascader-slide",class:[`${l}-panel`,{[`${l}-dropdown-panel`]:e.dropdown}]},wl(g=n())?g:{default:()=>[g]})}}});function $l(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!He(e)}var Bl=X({name:"CascaderSearchPanel",props:{options:{type:Array,required:!0},loading:Boolean,activeKey:String,multiple:Boolean,checkStrictly:Boolean,pathLabel:Boolean},setup(e,{slots:a}){const l=ne("cascader"),r=ie(Be,void 0),b=()=>{var n,g,s,c,P;return e.loading?m(Je,null,null):e.options.length===0?m("div",{class:`${l}-list-empty`},[(P=(c=(n=a.empty)==null?void 0:n.call(a))!=null?c:(s=r==null?void 0:(g=r.slots).empty)==null?void 0:s.call(g,{component:"cascader"}))!=null?P:m($e,null,null)]):m("ul",{role:"menu",class:[`${l}-list`,`${l}-search-list`,{[`${l}-list-multiple`]:e.multiple}]},[e.options.map(o=>m(Ve,{key:o.key,class:`${l}-search-option`,option:o,active:o.key===e.activeKey,multiple:e.multiple,checkStrictly:e.checkStrictly,pathLabel:e.pathLabel,searchOption:!0},null))])};return()=>{let n;return m(Le,{class:[`${l}-panel`,`${l}-search-panel`]},$l(n=b())?n:{default:()=>[n]})}}});const al=(e,{optionMap:a,filteredLeafOptions:l,showSearchPanel:r,expandChild:b})=>{const n=N(),g=B(()=>{if(n.value)return a.get(n.value)}),s=N([]),c=B(()=>{const L=[e.value];for(const v of s.value){const k=a.get(v);k!=null&&k.children&&L.push(k.children)}return L}),P=L=>{var v;const k=S(L);s.value=(v=k==null?void 0:k.path.map(A=>A.key))!=null?v:[]},o=L=>{n.value=L},d=B(()=>{var L;return r!=null&&r.value?l.value.filter(v=>!v.disabled):g.value&&g.value.parent?(L=g.value.parent.children)==null?void 0:L.filter(v=>!v.disabled):e.value.filter(v=>!v.disabled)}),S=L=>{let v=L?a.get(L):void 0;if(b.value)for(;v&&v.children&&v.children.length>0;)v=v.children[0];return v};return{activeKey:n,activeOption:g,selectedPath:s,displayColumns:c,setActiveKey:o,setSelectedPath:P,getNextActiveNode:L=>{var v,k,A,f,w,p,y;const C=(k=(v=d.value)==null?void 0:v.length)!=null?k:0;if(n.value){const i=(f=(A=d.value)==null?void 0:A.findIndex(D=>D.key===n.value))!=null?f:0;return L==="next"?(w=d.value)==null?void 0:w[(C+i+1)%C]:(p=d.value)==null?void 0:p[(C+i-1)%C]}return(y=d.value)==null?void 0:y[0]}}};var Kl=Object.defineProperty,De=Object.getOwnPropertySymbols,Ml=Object.prototype.hasOwnProperty,Al=Object.prototype.propertyIsEnumerable,Ie=(e,a,l)=>a in e?Kl(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,Ee=(e,a)=>{for(var l in a||(a={}))Ml.call(a,l)&&Ie(e,l,a[l]);if(De)for(var l of De(a))Al.call(a,l)&&Ie(e,l,a[l]);return e};const Nl=X({name:"Cascader",components:{Trigger:Cl,SelectView:Ol,BaseCascaderPanel:ll,CascaderSearchPanel:Bl},inheritAttrs:!1,props:{pathMode:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},modelValue:{type:[String,Number,Object,Array]},defaultValue:{type:[String,Number,Object,Array],default:e=>e.multiple?[]:e.pathMode?void 0:""},options:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},error:{type:Boolean,default:!1},size:{type:String},allowSearch:{type:Boolean,default:e=>!!e.multiple},allowClear:{type:Boolean,default:!1},inputValue:{type:String,default:void 0},defaultInputValue:{type:String,default:""},popupVisible:{type:Boolean,default:void 0},expandTrigger:{type:String,default:"click"},defaultPopupVisible:{type:Boolean,default:!1},placeholder:String,filterOption:{type:Function},popupContainer:{type:[String,Object]},maxTagCount:{type:Number,default:0},formatLabel:{type:Function},triggerProps:{type:Object},checkStrictly:{type:Boolean,default:!1},loadMore:{type:Function},loading:{type:Boolean,default:!1},searchOptionOnlyLabel:{type:Boolean,default:!1},searchDelay:{type:Number,default:500},fieldNames:{type:Object},valueKey:{type:String,default:"value"},fallback:{type:[Boolean,Function],default:!0},expandChild:{type:Boolean,default:!1},virtualListProps:{type:Object},tagNowrap:{type:Boolean,default:!1}},emits:{"update:modelValue":e=>!0,"update:popupVisible":e=>!0,change:e=>!0,inputValueChange:e=>!0,clear:()=>!0,search:e=>!0,popupVisibleChange:e=>!0,focus:e=>!0,blur:e=>!0},setup(e,{emit:a,slots:l}){const{options:r,checkStrictly:b,loadMore:n,formatLabel:g,modelValue:s,disabled:c,valueKey:P,expandTrigger:o,expandChild:d,pathMode:S,multiple:_}=ge(e),L=N(e.defaultValue),v=N(e.defaultInputValue),k=N(e.defaultPopupVisible),{mergedDisabled:A,eventHandlers:f}=Pe({disabled:c});H(s,t=>{(te(t)||re(t))&&(L.value=e.multiple?[]:void 0)});const w=N([]),p=N(1),y=I(new Map),C=I(new Map),i=I(new Map),D=I(new Set),F=I({}),J=(t,u)=>{F[u]=t},G={value:"value",label:"label",disabled:"disabled",children:"children",tagProps:"tagProps",render:"render",isLeaf:"isLeaf"},K=B(()=>Ee(Ee({},G),e.fieldNames));H([r,F,K],([t,u,V])=>{y.clear(),C.clear(),i.clear(),D.clear(),w.value=Qe(t??[],{enabledLazyLoad:!!e.loadMore,lazyLoadOptions:F,optionMap:y,leafOptionSet:D,leafOptionMap:C,leafOptionValueMap:i,totalLevel:p,checkStrictly:b,valueKey:P,fieldNames:V})},{immediate:!0,deep:!0});const R=B(()=>{var t;const u=xe((t=e.modelValue)!=null?t:L.value,{multiple:e.multiple,pathMode:e.pathMode});return new Map(u.map(V=>[Xe(V,{valueKey:e.valueKey,leafOptionValueMap:i}),V]))}),x=B(()=>{var t;return(t=e.inputValue)!=null?t:v.value}),E=B(()=>{var t;return(t=e.popupVisible)!=null?t:k.value}),Y=t=>{var u;return t==null?void 0:t.toLocaleLowerCase().includes((u=x.value)==null?void 0:u.toLocaleLowerCase())},oe=B(()=>(e.checkStrictly?Array.from(y.values()):Array.from(D)).filter(u=>{var V;return ue(e.filterOption)?e.filterOption(x.value,u.raw):e.checkStrictly?Y(u.label):(V=u.path)==null?void 0:V.find($=>Y($.label))})),U=t=>{var u,V,$;const j=e.multiple?t:(u=t[0])!=null?u:"";t.length===0&&(ee(),Z()),L.value=j,a("update:modelValue",j),a("change",j),($=(V=f.value)==null?void 0:V.onChange)==null||$.call(V)};H([_,S],()=>{const t=[];R.value.forEach((u,V)=>{const $=C.get(V);$&&t.push(S.value?$.pathValue:$.value)}),U(t)});const h=t=>{E.value!==t&&(k.value=t,a("popupVisibleChange",t))},O=t=>{if(e.multiple){const u=C.get(t);if(u)W(u,!1);else{const V=[];R.value.forEach(($,j)=>{j!==t&&V.push($)}),U(V)}}},M=t=>{U([e.pathMode?t.pathValue:t.value]),h(!1)},W=(t,u)=>{if(u){const V=e.checkStrictly?[t]:Ae(t);U([...R.value.values(),...V.filter($=>!R.value.has($.key)).map($=>e.pathMode?$.pathValue:$.value)])}else{const V=e.checkStrictly?[t.key]:Me(t),$=[];R.value.forEach((j,le)=>{V.includes(le)||$.push(j)}),U($)}se("","optionChecked")},ce=(t,u)=>{e.multiple?W(t,u??!0):M(t)},be=Ll(t=>{a("search",t)},e.searchDelay),se=(t,u)=>{t!==x.value&&(u==="manual"&&!E.value&&(k.value=!0,a("popupVisibleChange",!0)),v.value=t,a("inputValueChange",t),e.allowSearch&&be(t))};H(E,t=>{if(t){if(R.value.size>0){const u=Array.from(R.value.keys()),V=u[u.length-1],$=C.get(V);$&&$.key!==Re.value&&(ee($.key),Z($.key))}}else R.value.size===0&&(ee(),Z()),se("","optionListHide")});const tl=t=>{if(t.stopPropagation(),e.multiple){const u=[];R.value.forEach((V,$)=>{const j=C.get($);j!=null&&j.disabled&&u.push(e.pathMode?j.pathValue:j.value)}),U(u)}else U([]);se("","manual"),a("clear")},de=B(()=>e.allowSearch&&x.value.length>0),nl=t=>{a("focus",t)},ol=t=>{a("blur",t)},{activeKey:Re,activeOption:z,selectedPath:ul,displayColumns:il,setActiveKey:Z,setSelectedPath:ee,getNextActiveNode:je}=al(w,{optionMap:y,filteredLeafOptions:oe,showSearchPanel:de,expandChild:d});we(Ne,I({onClickOption:ce,setActiveKey:Z,setSelectedPath:ee,loadMore:n,expandTrigger:o,addLazyLoadOptions:J,formatLabel:g,slots:l,valueMap:R}));const rl=Ye(new Map([[T.ENTER,t=>{if(E.value){if(z.value){let u;e.checkStrictly||z.value.isLeaf?u=!R.value.has(z.value.key):u=!Ke(z.value,R.value).checked,ee(z.value.key),ce(z.value,u)}}else h(!0)}],[T.ESC,t=>{h(!1)}],[T.ARROW_DOWN,t=>{t.preventDefault();const u=je("next");Z(u==null?void 0:u.key)}],[T.ARROW_UP,t=>{t.preventDefault();const u=je("preview");Z(u==null?void 0:u.key)}],[T.ARROW_RIGHT,t=>{var u,V;de.value||(t.preventDefault(),(u=z.value)!=null&&u.children&&(ee(z.value.key),Z((V=z.value.children[0])==null?void 0:V.key)))}],[T.ARROW_LEFT,t=>{var u;de.value||(t.preventDefault(),(u=z.value)!=null&&u.parent&&(ee(z.value.parent.key),Z(z.value.parent.key)))}]])),cl=B(()=>{const t=[];return R.value.forEach((u,V)=>{var $,j;const le=C.get(V);if(le)t.push({value:V,label:(j=($=e.formatLabel)==null?void 0:$.call(e,le.path.map(ke=>ke.raw)))!=null?j:el(le),closable:!le.disabled,tagProps:le.tagProps});else if(e.fallback){const ke=ue(e.fallback)?e.fallback(u):he(u)?u.join(" / "):String(u);t.push({value:V,label:ke,closable:!0})}}),t});return{optionInfos:w,filteredLeafOptions:oe,selectedPath:ul,activeKey:Re,displayColumns:il,computedInputValue:x,computedPopupVisible:E,handleClear:tl,selectViewValue:cl,handleInputValueChange:se,showSearchPanel:de,handlePopupVisibleChange:h,handleFocus:nl,handleBlur:ol,handleRemove:O,mergedDisabled:A,handleKeyDown:rl,totalLevel:p}}});function Rl(e,a,l,r,b,n){const g=ae("select-view"),s=ae("cascader-search-panel"),c=ae("base-cascader-panel"),P=ae("trigger");return fe(),ve(P,me(e.triggerProps,{trigger:"click","animation-name":"slide-dynamic-origin","auto-fit-transform-origin":"","popup-visible":e.computedPopupVisible,position:"bl",disabled:e.mergedDisabled,"popup-offset":4,"auto-fit-popup-width":e.showSearchPanel,"popup-container":e.popupContainer,"prevent-focus":!0,"click-to-close":!e.allowSearch,onPopupVisibleChange:e.handlePopupVisibleChange}),{content:q(()=>[e.showSearchPanel?(fe(),ve(s,{key:0,options:e.filteredLeafOptions,"active-key":e.activeKey,multiple:e.multiple,"check-strictly":e.checkStrictly,loading:e.loading,"path-label":!e.searchOptionOnlyLabel},pe({_:2},[e.$slots.empty?{name:"empty",fn:q(()=>[Q(e.$slots,"empty")])}:void 0]),1032,["options","active-key","multiple","check-strictly","loading","path-label"])):(fe(),ve(c,{key:1,"display-columns":e.displayColumns,"selected-path":e.selectedPath,"active-key":e.activeKey,multiple:e.multiple,"total-level":e.totalLevel,"check-strictly":e.checkStrictly,loading:e.loading,"virtual-list-props":e.virtualListProps,dropdown:""},pe({_:2},[e.$slots.empty?{name:"empty",fn:q(()=>[Q(e.$slots,"empty")])}:void 0]),1032,["display-columns","selected-path","active-key","multiple","total-level","check-strictly","loading","virtual-list-props"]))]),default:q(()=>[m(g,me({"model-value":e.selectViewValue,"input-value":e.computedInputValue,disabled:e.mergedDisabled,error:e.error,multiple:e.multiple,"allow-clear":e.allowClear,"allow-search":e.allowSearch,size:e.size,opened:e.computedPopupVisible,placeholder:e.placeholder,loading:e.loading,"max-tag-count":e.maxTagCount,"tag-nowrap":e.tagNowrap},e.$attrs,{onInputValueChange:e.handleInputValueChange,onClear:e.handleClear,onFocus:e.handleFocus,onBlur:e.handleBlur,onRemove:e.handleRemove,onKeydown:e.handleKeyDown}),pe({_:2},[e.$slots.label?{name:"label",fn:q(o=>[Q(e.$slots,"label",bl(kl(o)))])}:void 0,e.$slots.prefix?{name:"prefix",fn:q(()=>[Q(e.$slots,"prefix")])}:void 0,e.$slots["arrow-icon"]?{name:"arrow-icon",fn:q(()=>[Q(e.$slots,"arrow-icon")])}:void 0,e.$slots["loading-icon"]?{name:"loading-icon",fn:q(()=>[Q(e.$slots,"loading-icon")])}:void 0,e.$slots["search-icon"]?{name:"search-icon",fn:q(()=>[Q(e.$slots,"search-icon")])}:void 0]),1040,["model-value","input-value","disabled","error","multiple","allow-clear","allow-search","size","opened","placeholder","loading","max-tag-count","tag-nowrap","onInputValueChange","onClear","onFocus","onBlur","onRemove","onKeydown"])]),_:3},16,["popup-visible","disabled","auto-fit-popup-width","popup-container","click-to-close","onPopupVisibleChange"])}var Se=Ue(Nl,[["render",Rl]]),jl=Object.defineProperty,ze=Object.getOwnPropertySymbols,Dl=Object.prototype.hasOwnProperty,Il=Object.prototype.propertyIsEnumerable,Fe=(e,a,l)=>a in e?jl(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,Te=(e,a)=>{for(var l in a||(a={}))Dl.call(a,l)&&Fe(e,l,a[l]);if(ze)for(var l of ze(a))Il.call(a,l)&&Fe(e,l,a[l]);return e};const El=X({name:"CascaderPanel",components:{BaseCascaderPanel:ll},props:{pathMode:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},modelValue:{type:[String,Number,Array]},defaultValue:{type:[String,Number,Array],default:e=>e.multiple?[]:e.pathMode?void 0:""},options:{type:Array,default:()=>[]},expandTrigger:{type:String,default:"click"},checkStrictly:{type:Boolean,default:!1},loadMore:{type:Function},fieldNames:{type:Object},valueKey:{type:String,default:"value"},expandChild:{type:Boolean,default:!1}},emits:{"update:modelValue":e=>!0,change:e=>!0},setup(e,{emit:a,slots:l}){const{options:r,checkStrictly:b,loadMore:n,modelValue:g,valueKey:s,expandChild:c,expandTrigger:P}=ge(e),o=N(e.defaultValue);H(g,h=>{(te(h)||re(h))&&(o.value=e.multiple?[]:void 0)});const d=N([]),S=N(1),_=I(new Map),L=I(new Map),v=I(new Map),k=I(new Set),A=I({}),f=(h,O)=>{A[O]=h},w={value:"value",label:"label",disabled:"disabled",children:"children",tagProps:"tagProps",render:"render",isLeaf:"isLeaf"},p=B(()=>Te(Te({},w),e.fieldNames));H([r,A,p],([h,O,M])=>{_.clear(),L.clear(),v.clear(),k.clear(),d.value=Qe(h??[],{enabledLazyLoad:!!e.loadMore,lazyLoadOptions:O,optionMap:_,leafOptionSet:k,leafOptionMap:L,leafOptionValueMap:v,totalLevel:S,checkStrictly:b,fieldNames:M,valueKey:s})},{immediate:!0});const y=B(()=>{var h;const O=xe((h=e.modelValue)!=null?h:o.value,{multiple:e.multiple,pathMode:e.pathMode});return new Map(O.map(M=>[Xe(M,{valueKey:e.valueKey,leafOptionValueMap:v}),M]))}),C=B(()=>e.checkStrictly?Array.from(_.values()):Array.from(k)),i=h=>{var O;const M=e.multiple?h:(O=h[0])!=null?O:"";h.length===0&&(Y(),E()),o.value=M,a("update:modelValue",M),a("change",M)},D=h=>{i([e.pathMode?h.pathValue:h.value])},F=(h,O)=>{if(O){const M=e.checkStrictly?[h]:Ae(h);i([...y.value.values(),...M.filter(W=>!y.value.has(W.key)).map(W=>e.pathMode?W.pathValue:W.value)])}else{const M=e.checkStrictly?[h.key]:Me(h),W=[];y.value.forEach((ce,be)=>{M.includes(be)||W.push(ce)}),i(W)}},J=(h,O)=>{e.multiple?F(h,O??!0):D(h)},{activeKey:G,activeOption:K,selectedPath:R,displayColumns:x,setActiveKey:E,setSelectedPath:Y,getNextActiveNode:oe}=al(d,{optionMap:_,filteredLeafOptions:C,expandChild:c});we(Ne,I({onClickOption:J,setActiveKey:E,setSelectedPath:Y,loadMore:n,addLazyLoadOptions:f,slots:l,valueMap:y,expandTrigger:P}));const U=Ye(new Map([[T.ENTER,h=>{if(K.value){let O;e.checkStrictly||K.value.isLeaf?O=!y.value.has(K.value.key):O=!Ke(K.value,y.value).checked,Y(K.value.key),J(K.value,O)}}],[T.ARROW_DOWN,h=>{h.preventDefault();const O=oe("next");E(O==null?void 0:O.key)}],[T.ARROW_UP,h=>{h.preventDefault();const O=oe("preview");E(O==null?void 0:O.key)}],[T.ARROW_RIGHT,h=>{var O,M;h.preventDefault(),(O=K.value)!=null&&O.children&&(Y(K.value.key),E((M=K.value.children[0])==null?void 0:M.key))}],[T.ARROW_LEFT,h=>{var O;h.preventDefault(),(O=K.value)!=null&&O.parent&&(Y(K.value.parent.key),E(K.value.parent.key))}]]));return{optionInfos:d,filteredLeafOptions:C,selectedPath:R,activeKey:G,displayColumns:x,handleKeyDown:U,totalLevel:S}}});function zl(e,a,l,r,b,n){const g=ae("base-cascader-panel");return fe(),ve(g,{"display-columns":e.displayColumns,"selected-path":e.selectedPath,"active-key":e.activeKey,multiple:e.multiple,"total-level":e.totalLevel,"check-strictly":e.checkStrictly,onKeydown:e.handleKeyDown},pe({_:2},[e.$slots.empty?{name:"empty",fn:q(()=>[Q(e.$slots,"empty")])}:void 0]),1032,["display-columns","selected-path","active-key","multiple","total-level","check-strictly","onKeydown"])}var _e=Ue(El,[["render",zl]]);const ql=Object.assign(Se,{CascaderPanel:_e,install:(e,a)=>{We(e,a);const l=qe(a);e.component(l+Se.name,Se),e.component(l+_e.name,_e)}});export{ql as C,Vl as R,Ce as a};
|