el-radio.e239e1b5.js 24 KB

1234567
  1. import{f as pe,N as ue,Q as Ea,_ as $e,B as fe,aw as Qe,V as Ye,au as wa,O as ea,y as m,Z as W,o as f,c as F,n as j,m as B,a3 as ve,w as _,b as X,a2 as T,H as ce,a as re,ac as aa,ax as $a,r as S,I as ge,d as Sa,t as se,a5 as Ta,ay as _e,a6 as Ke,az as Va,ap as ta,aq as me,aA as Pa,aB as La,af as Ee,aC as we,S as Da,j as qe,W as ee,aD as Ia,C as na,X as ne,aE as sa,aF as Ma,aa as K,aG as ke,aH as la,aI as _a,aJ as Fa,aK as xa,aL as za,aM as Ba,aN as Ha,aO as Aa,aP as Oa,$ as ye,k as d,a4 as Ka,q as qa,aQ as Ra,aR as Ua,aS as Wa,aT as Za,l as ja,a0 as Re,R as Xa,aU as Ga,aV as Ja}from"./entry.b59333b6.js";import{E as oa,i as be,u as Qa,a as Ue,C as Ya}from"./index.ee9c05cf.js";import{b as et,E as at}from"./index.a2c3750e.js";import{d as tt}from"./el-tooltip.68c1ee7b.js";import{c as We,t as nt,b as Ze}from"./index.5347fc4e.js";import{c as ia}from"./cloneDeep.37cb7ca9.js";import{d as st}from"./debounce.335e3554.js";var lt=1/0;function ot(e){var t=e==null?0:e.length;return t?et(e,lt):[]}const je=e=>[...new Set(e)],Xe=e=>!e&&e!==0?[]:Array.isArray(e)?e:[e];var it=pe({name:"NodeContent",setup(){return{ns:ue("cascader-node")}},render(){const{ns:e}=this,{node:t,panel:s}=this.$parent,{data:n,label:o}=t,{renderLabelFn:p}=s;return Ea("span",{class:e.e("label")},p?p({node:t,data:n}):o)}});const xe=Symbol(),rt=pe({name:"ElCascaderNode",components:{ElCheckbox:at,ElRadio:tt,NodeContent:it,ElIcon:fe,Check:Qe,Loading:Ye,ArrowRight:wa},props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:t}){const s=ea(xe),n=ue("cascader-node"),o=m(()=>s.isHoverMenu),p=m(()=>s.config.multiple),c=m(()=>s.config.checkStrictly),v=m(()=>{var y;return(y=s.checkedNodes[0])==null?void 0:y.uid}),u=m(()=>e.node.isDisabled),b=m(()=>e.node.isLeaf),N=m(()=>c.value&&!b.value||!u.value),P=m(()=>x(s.expandingNode)),M=m(()=>c.value&&s.checkedNodes.some(x)),x=y=>{var V;const{level:z,uid:ae}=e.node;return((V=y==null?void 0:y.pathNodes[z-1])==null?void 0:V.uid)===ae},H=()=>{P.value||s.expandNode(e.node)},G=y=>{const{node:V}=e;y!==V.checked&&s.handleCheckChange(V,y)},$=()=>{s.lazyLoad(e.node,()=>{b.value||H()})},q=y=>{o.value&&(L(),!b.value&&t("expand",y))},L=()=>{const{node:y}=e;!N.value||y.loading||(y.loaded?H():$())},Z=()=>{o.value&&!b.value||(b.value&&!u.value&&!c.value&&!p.value?R(!0):L())},A=y=>{c.value?(G(y),e.node.loaded&&H()):R(y)},R=y=>{e.node.loaded?(G(y),!c.value&&H()):$()};return{panel:s,isHoverMenu:o,multiple:p,checkStrictly:c,checkedNodeId:v,isDisabled:u,isLeaf:b,expandable:N,inExpandingPath:P,inCheckedPath:M,ns:n,handleHoverExpand:q,handleExpand:L,handleClick:Z,handleCheck:R,handleSelectCheck:A}}}),ct=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"],ut=re("span",null,null,-1);function dt(e,t,s,n,o,p){const c=W("el-checkbox"),v=W("el-radio"),u=W("check"),b=W("el-icon"),N=W("node-content"),P=W("loading"),M=W("arrow-right");return f(),F("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!e.isLeaf,"aria-owns":e.isLeaf?null:e.menuId,"aria-expanded":e.inExpandingPath,tabindex:e.expandable?-1:void 0,class:T([e.ns.b(),e.ns.is("selectable",e.checkStrictly),e.ns.is("active",e.node.checked),e.ns.is("disabled",!e.expandable),e.inExpandingPath&&"in-active-path",e.inCheckedPath&&"in-checked-path"]),onMouseenter:t[2]||(t[2]=(...x)=>e.handleHoverExpand&&e.handleHoverExpand(...x)),onFocus:t[3]||(t[3]=(...x)=>e.handleHoverExpand&&e.handleHoverExpand(...x)),onClick:t[4]||(t[4]=(...x)=>e.handleClick&&e.handleClick(...x))},[j(" prefix "),e.multiple?(f(),B(c,{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:e.isDisabled,onClick:t[0]||(t[0]=ve(()=>{},["stop"])),"onUpdate:modelValue":e.handleSelectCheck},null,8,["model-value","indeterminate","disabled","onUpdate:modelValue"])):e.checkStrictly?(f(),B(v,{key:1,"model-value":e.checkedNodeId,label:e.node.uid,disabled:e.isDisabled,"onUpdate:modelValue":e.handleSelectCheck,onClick:t[1]||(t[1]=ve(()=>{},["stop"]))},{default:_(()=>[j(`
  2. Add an empty element to avoid render label,
  3. do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485
  4. `),ut]),_:1},8,["model-value","label","disabled","onUpdate:modelValue"])):e.isLeaf&&e.node.checked?(f(),B(b,{key:2,class:T(e.ns.e("prefix"))},{default:_(()=>[X(u)]),_:1},8,["class"])):j("v-if",!0),j(" content "),X(N),j(" postfix "),e.isLeaf?j("v-if",!0):(f(),F(ce,{key:3},[e.node.loading?(f(),B(b,{key:0,class:T([e.ns.is("loading"),e.ns.e("postfix")])},{default:_(()=>[X(P)]),_:1},8,["class"])):(f(),B(b,{key:1,class:T(["arrow-right",e.ns.e("postfix")])},{default:_(()=>[X(M)]),_:1},8,["class"]))],64))],42,ct)}var pt=$e(rt,[["render",dt],["__file","node.vue"]]);const ht=pe({name:"ElCascaderMenu",components:{Loading:Ye,ElIcon:fe,ElScrollbar:oa,ElCascaderNode:pt},props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(e){const t=Ta(),s=ue("cascader-menu"),{t:n}=aa(),o=$a();let p=null,c=null;const v=ea(xe),u=S(null),b=m(()=>!e.nodes.length),N=m(()=>!v.initialLoaded),P=m(()=>`${o.value}-${e.index}`),M=$=>{p=$.target},x=$=>{if(!(!v.isHoverMenu||!p||!u.value))if(p.contains($.target)){H();const q=t.vnode.el,{left:L}=q.getBoundingClientRect(),{offsetWidth:Z,offsetHeight:A}=q,R=$.clientX-L,y=p.offsetTop,V=y+p.offsetHeight;u.value.innerHTML=`
  5. <path style="pointer-events: auto;" fill="transparent" d="M${R} ${y} L${Z} 0 V${y} Z" />
  6. <path style="pointer-events: auto;" fill="transparent" d="M${R} ${V} L${Z} ${A} V${V} Z" />
  7. `}else c||(c=window.setTimeout(G,v.config.hoverThreshold))},H=()=>{c&&(clearTimeout(c),c=null)},G=()=>{u.value&&(u.value.innerHTML="",H())};return{ns:s,panel:v,hoverZone:u,isEmpty:b,isLoading:N,menuId:P,t:n,handleExpand:M,handleMouseMove:x,clearHoverZone:G}}});function ft(e,t,s,n,o,p){const c=W("el-cascader-node"),v=W("loading"),u=W("el-icon"),b=W("el-scrollbar");return f(),B(b,{key:e.menuId,tag:"ul",role:"menu",class:T(e.ns.b()),"wrap-class":e.ns.e("wrap"),"view-class":[e.ns.e("list"),e.ns.is("empty",e.isEmpty)],onMousemove:e.handleMouseMove,onMouseleave:e.clearHoverZone},{default:_(()=>{var N;return[(f(!0),F(ce,null,ge(e.nodes,P=>(f(),B(c,{key:P.uid,node:P,"menu-id":e.menuId,onExpand:e.handleExpand},null,8,["node","menu-id","onExpand"]))),128)),e.isLoading?(f(),F("div",{key:0,class:T(e.ns.e("empty-text"))},[X(u,{size:"14",class:T(e.ns.is("loading"))},{default:_(()=>[X(v)]),_:1},8,["class"]),Sa(" "+se(e.t("el.cascader.loading")),1)],2)):e.isEmpty?(f(),F("div",{key:1,class:T(e.ns.e("empty-text"))},se(e.t("el.cascader.noData")),3)):(N=e.panel)!=null&&N.isHoverMenu?(f(),F("svg",{key:2,ref:"hoverZone",class:T(e.ns.e("hover-zone"))},null,2)):j("v-if",!0)]}),_:1},8,["class","wrap-class","view-class","onMousemove","onMouseleave"])}var vt=$e(ht,[["render",ft],["__file","menu.vue"]]);let gt=0;const mt=e=>{const t=[e];let{parent:s}=e;for(;s;)t.unshift(s),s=s.parent;return t};class de{constructor(t,s,n,o=!1){this.data=t,this.config=s,this.parent=n,this.root=o,this.uid=gt++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:p,label:c,children:v}=s,u=t[v],b=mt(this);this.level=o?0:n?n.level+1:1,this.value=t[p],this.label=t[c],this.pathNodes=b,this.pathValues=b.map(N=>N.value),this.pathLabels=b.map(N=>N.label),this.childrenData=u,this.children=(u||[]).map(N=>new de(N,s,this)),this.loaded=!s.lazy||this.isLeaf||!_e(u)}get isDisabled(){const{data:t,parent:s,config:n}=this,{disabled:o,checkStrictly:p}=n;return(Ke(o)?o(t,this):!!t[o])||!p&&(s==null?void 0:s.isDisabled)}get isLeaf(){const{data:t,config:s,childrenData:n,loaded:o}=this,{lazy:p,leaf:c}=s,v=Ke(c)?c(t,this):t[c];return Va(v)?p&&!o?!1:!(Array.isArray(n)&&n.length):!!v}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:s,children:n}=this,o=new de(t,this.config,this);return Array.isArray(s)?s.push(t):this.childrenData=[t],n.push(o),o}calcText(t,s){const n=t?this.pathLabels.join(s):this.label;return this.text=n,n}broadcast(t,...s){const n=`onParent${We(t)}`;this.children.forEach(o=>{o&&(o.broadcast(t,...s),o[n]&&o[n](...s))})}emit(t,...s){const{parent:n}=this,o=`onChild${We(t)}`;n&&(n[o]&&n[o](...s),n.emit(t,...s))}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,s=t.filter(o=>!o.isDisabled),n=s.length?s.every(o=>o.checked):!1;this.setCheckState(n)}setCheckState(t){const s=this.children.length,n=this.children.reduce((o,p)=>{const c=p.checked?1:p.indeterminate?.5:0;return o+c},0);this.checked=this.loaded&&this.children.filter(o=>!o.isDisabled).every(o=>o.loaded&&o.checked)&&t,this.indeterminate=this.loaded&&n!==s&&n>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:s,multiple:n}=this.config;s||!n?this.checked=t:(this.broadcast("check",t),this.setCheckState(t),this.emit("check"))}}const Fe=(e,t)=>e.reduce((s,n)=>(n.isLeaf?s.push(n):(!t&&s.push(n),s=s.concat(Fe(n.children,t))),s),[]);class Ge{constructor(t,s){this.config=s;const n=(t||[]).map(o=>new de(o,this.config));this.nodes=n,this.allNodes=Fe(n,!1),this.leafNodes=Fe(n,!0)}getNodes(){return this.nodes}getFlattedNodes(t){return t?this.leafNodes:this.allNodes}appendNode(t,s){const n=s?s.appendChild(t):new de(t,this.config);s||this.nodes.push(n),this.allNodes.push(n),n.isLeaf&&this.leafNodes.push(n)}appendNodes(t,s){t.forEach(n=>this.appendNode(n,s))}getNodeByValue(t,s=!1){return!t&&t!==0?null:this.getFlattedNodes(s).find(o=>be(o.value,t)||be(o.pathValues,t))||null}getSameNode(t){return t&&this.getFlattedNodes(!1).find(({value:n,level:o})=>be(t.value,n)&&t.level===o)||null}}const ra=ta({modelValue:{type:me([Number,String,Array])},options:{type:me(Array),default:()=>[]},props:{type:me(Object),default:()=>({})}}),bt={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:Pa,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},yt=e=>m(()=>({...bt,...e.props})),Je=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},kt=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():La(e)&&e.click()},Ct=(e,t)=>{const s=t.slice(0),n=s.map(p=>p.uid),o=e.reduce((p,c)=>{const v=n.indexOf(c.uid);return v>-1&&(p.push(c),s.splice(v,1),n.splice(v,1)),p},[]);return o.push(...s),o},Nt=pe({name:"ElCascaderPanel",components:{ElCascaderMenu:vt},props:{...ra,border:{type:Boolean,default:!0},renderLabel:Function},emits:[Ee,we,"close","expand-change"],setup(e,{emit:t,slots:s}){let n=!1;const o=ue("cascader"),p=yt(e);let c=null;const v=S(!0),u=S([]),b=S(null),N=S([]),P=S(null),M=S([]),x=m(()=>p.value.expandTrigger==="hover"),H=m(()=>e.renderLabel||s.default),G=()=>{const{options:r}=e,h=p.value;n=!1,c=new Ge(r,h),N.value=[c.getNodes()],h.lazy&&_e(e.options)?(v.value=!1,$(void 0,g=>{g&&(c=new Ge(g,h),N.value=[c.getNodes()]),v.value=!0,z(!1,!0)})):z(!1,!0)},$=(r,h)=>{const g=p.value;r=r||new de({},g,void 0,!0),r.loading=!0;const E=k=>{const w=r,D=w.root?null:w;k&&(c==null||c.appendNodes(k,D)),w.loading=!1,w.loaded=!0,w.childrenData=w.childrenData||[],h&&h(k)};g.lazyLoad(r,E)},q=(r,h)=>{var g;const{level:E}=r,k=N.value.slice(0,E);let w;r.isLeaf?w=r.pathNodes[E-2]:(w=r,k.push(r.children)),((g=P.value)==null?void 0:g.uid)!==(w==null?void 0:w.uid)&&(P.value=r,N.value=k,!h&&t("expand-change",(r==null?void 0:r.pathValues)||[]))},L=(r,h,g=!0)=>{const{checkStrictly:E,multiple:k}=p.value,w=M.value[0];n=!0,!k&&(w==null||w.doCheck(!1)),r.doCheck(h),V(),g&&!k&&!E&&t("close"),!g&&!k&&!E&&Z(r)},Z=r=>{r&&(r=r.parent,Z(r),r&&q(r))},A=r=>c==null?void 0:c.getFlattedNodes(r),R=r=>{var h;return(h=A(r))==null?void 0:h.filter(g=>g.checked!==!1)},y=()=>{M.value.forEach(r=>r.doCheck(!1)),V(),N.value=N.value.slice(0,1),P.value=null,t("expand-change",[])},V=()=>{var r;const{checkStrictly:h,multiple:g}=p.value,E=M.value,k=R(!h),w=Ct(E,k),D=w.map(I=>I.valueByOption);M.value=w,b.value=g?D:(r=D[0])!=null?r:null},z=(r=!1,h=!1)=>{const{modelValue:g}=e,{lazy:E,multiple:k,checkStrictly:w}=p.value,D=!w;if(!(!v.value||n||!h&&be(g,b.value)))if(E&&!r){const te=je(ot(Xe(g))).map(O=>c==null?void 0:c.getNodeByValue(O)).filter(O=>!!O&&!O.loaded&&!O.loading);te.length?te.forEach(O=>{$(O,()=>z(!1,h))}):z(!0,h)}else{const I=k?Xe(g):[g],te=je(I.map(O=>c==null?void 0:c.getNodeByValue(O,D)));ae(te,h),b.value=ia(g)}},ae=(r,h=!0)=>{const{checkStrictly:g}=p.value,E=M.value,k=r.filter(I=>!!I&&(g||I.isLeaf)),w=c==null?void 0:c.getSameNode(P.value),D=h&&w||k[0];D?D.pathNodes.forEach(I=>q(I,!0)):P.value=null,E.forEach(I=>I.doCheck(!1)),e.props.multiple?qe(k).forEach(I=>I.doCheck(!0)):k.forEach(I=>I.doCheck(!0)),M.value=k,ne(le)},le=()=>{sa&&u.value.forEach(r=>{const h=r==null?void 0:r.$el;if(h){const g=h.querySelector(`.${o.namespace.value}-scrollbar__wrap`),E=h.querySelector(`.${o.b("node")}.${o.is("active")}`)||h.querySelector(`.${o.b("node")}.in-active-path`);Ma(g,E)}})},oe=r=>{const h=r.target,{code:g}=r;switch(g){case K.up:case K.down:{r.preventDefault();const E=g===K.up?-1:1;ke(la(h,E,`.${o.b("node")}[tabindex="-1"]`));break}case K.left:{r.preventDefault();const E=u.value[Je(h)-1],k=E==null?void 0:E.$el.querySelector(`.${o.b("node")}[aria-expanded="true"]`);ke(k);break}case K.right:{r.preventDefault();const E=u.value[Je(h)+1],k=E==null?void 0:E.$el.querySelector(`.${o.b("node")}[tabindex="-1"]`);ke(k);break}case K.enter:kt(h);break}};return Da(xe,qe({config:p,expandingNode:P,checkedNodes:M,isHoverMenu:x,initialLoaded:v,renderLabelFn:H,lazyLoad:$,expandNode:q,handleCheckChange:L})),ee([p,()=>e.options],G,{deep:!0,immediate:!0}),ee(()=>e.modelValue,()=>{n=!1,z()},{deep:!0}),ee(()=>b.value,r=>{be(r,e.modelValue)||(t(Ee,r),t(we,r))}),Ia(()=>u.value=[]),na(()=>!_e(e.modelValue)&&z()),{ns:o,menuList:u,menus:N,checkedNodes:M,handleKeyDown:oe,handleCheckChange:L,getFlattedNodes:A,getCheckedNodes:R,clearCheckedNodes:y,calculateCheckedValue:V,scrollToExpandingNode:le}}});function Et(e,t,s,n,o,p){const c=W("el-cascader-menu");return f(),F("div",{class:T([e.ns.b("panel"),e.ns.is("bordered",e.border)]),onKeydown:t[0]||(t[0]=(...v)=>e.handleKeyDown&&e.handleKeyDown(...v))},[(f(!0),F(ce,null,ge(e.menus,(v,u)=>(f(),B(c,{key:u,ref_for:!0,ref:b=>e.menuList[u]=b,index:u,nodes:[...v]},null,8,["index","nodes"]))),128))],34)}var Ce=$e(Nt,[["render",Et],["__file","index.vue"]]);Ce.install=e=>{e.component(Ce.name,Ce)};const wt=Ce,$t=ta({...ra,size:_a,placeholder:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:{type:me(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:{type:Boolean,default:!1},debounce:{type:Number,default:300},beforeFilter:{type:me(Function),default:()=>!0},popperClass:{type:String,default:""},teleported:Qa.teleported,tagType:{...nt.type,default:"info"},validateEvent:{type:Boolean,default:!0}}),St={[Ee]:e=>!!e||e===null,[we]:e=>!!e||e===null,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,visibleChange:e=>Fa(e),expandChange:e=>!!e,removeTag:e=>!!e},Tt={key:0},Vt=["placeholder","onKeydown"],Pt=["onClick"],Lt="ElCascader",Dt=pe({name:Lt}),It=pe({...Dt,props:$t,emits:St,setup(e,{expose:t,emit:s}){const n=e,o={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:a})=>{const{modifiersData:l,placement:i}=a;["right","left","bottom","top"].includes(i)||(l.arrow.x=35)},requires:["arrow"]}]},p=xa();let c=0,v=0;const u=ue("cascader"),b=ue("input"),{t:N}=aa(),{form:P,formItem:M}=za(),x=S(null),H=S(null),G=S(null),$=S(null),q=S(null),L=S(!1),Z=S(!1),A=S(!1),R=S(!1),y=S(""),V=S(""),z=S([]),ae=S([]),le=S([]),oe=S(!1),r=m(()=>p.style),h=m(()=>n.disabled||(P==null?void 0:P.disabled)),g=m(()=>n.placeholder||N("el.cascader.placeholder")),E=m(()=>V.value||z.value.length>0||oe.value?"":g.value),k=Ba(),w=m(()=>["small"].includes(k.value)?"small":"default"),D=m(()=>!!n.props.multiple),I=m(()=>!n.filterable||D.value),te=m(()=>D.value?V.value:y.value),O=m(()=>{var a;return((a=$.value)==null?void 0:a.checkedNodes)||[]}),ca=m(()=>!n.clearable||h.value||A.value||!Z.value?!1:!!O.value.length),Se=m(()=>{const{showAllLevels:a,separator:l}=n,i=O.value;return i.length?D.value?"":i[0].calcText(a,l):""}),Te=m({get(){return ia(n.modelValue)},set(a){s(Ee,a),s(we,a),n.validateEvent&&(M==null||M.validate("change").catch(l=>Ha()))}}),ua=m(()=>[u.b(),u.m(k.value),u.is("disabled",h.value),p.class]),da=m(()=>[b.e("icon"),"icon-arrow-down",u.is("reverse",L.value)]),pa=m(()=>u.is("focus",L.value||R.value)),ze=m(()=>{var a,l;return(l=(a=x.value)==null?void 0:a.popperRef)==null?void 0:l.contentRef}),U=a=>{var l,i,C;h.value||(a=a??!L.value,a!==L.value&&(L.value=a,(i=(l=H.value)==null?void 0:l.input)==null||i.setAttribute("aria-expanded",`${a}`),a?(he(),ne((C=$.value)==null?void 0:C.scrollToExpandingNode)):n.filterable&&Ie(),s("visibleChange",a)))},he=()=>{ne(()=>{var a;(a=x.value)==null||a.updatePopper()})},Ve=()=>{A.value=!1},Pe=a=>{const{showAllLevels:l,separator:i}=n;return{node:a,key:a.uid,text:a.calcText(l,i),hitState:!1,closable:!h.value&&!a.isDisabled,isCollapseTag:!1}},Le=a=>{var l;const i=a.node;i.doCheck(!1),(l=$.value)==null||l.calculateCheckedValue(),s("removeTag",i.valueByOption)},ha=()=>{if(!D.value)return;const a=O.value,l=[],i=[];if(a.forEach(C=>i.push(Pe(C))),ae.value=i,a.length){a.slice(0,n.maxCollapseTags).forEach(J=>l.push(Pe(J)));const C=a.slice(n.maxCollapseTags),Q=C.length;Q&&(n.collapseTags?l.push({key:-1,text:`+ ${Q}`,closable:!1,isCollapseTag:!0}):C.forEach(J=>l.push(Pe(J))))}z.value=l},Be=()=>{var a,l;const{filterMethod:i,showAllLevels:C,separator:Q}=n,J=(l=(a=$.value)==null?void 0:a.getFlattedNodes(!n.props.checkStrictly))==null?void 0:l.filter(Y=>Y.isDisabled?!1:(Y.calcText(C,Q),i(Y,te.value)));D.value&&(z.value.forEach(Y=>{Y.hitState=!1}),ae.value.forEach(Y=>{Y.hitState=!1})),A.value=!0,le.value=J,he()},fa=()=>{var a;let l;A.value&&q.value?l=q.value.$el.querySelector(`.${u.e("suggestion-item")}`):l=(a=$.value)==null?void 0:a.$el.querySelector(`.${u.b("node")}[tabindex="-1"]`),l&&(l.focus(),!A.value&&l.click())},De=()=>{var a,l;const i=(a=H.value)==null?void 0:a.input,C=G.value,Q=(l=q.value)==null?void 0:l.$el;if(!(!sa||!i)){if(Q){const J=Q.querySelector(`.${u.e("suggestion-list")}`);J.style.minWidth=`${i.offsetWidth}px`}if(C){const{offsetHeight:J}=C,Y=z.value.length>0?`${Math.max(J+6,c)}px`:`${c}px`;i.style.height=Y,he()}}},va=a=>{var l;return(l=$.value)==null?void 0:l.getCheckedNodes(a)},ga=a=>{he(),s("expandChange",a)},ie=a=>{var l;const i=(l=a.target)==null?void 0:l.value;if(a.type==="compositionend")oe.value=!1,ne(()=>Me(i));else{const C=i[i.length-1]||"";oe.value=!Ga(C)}},ma=a=>{if(!oe.value)switch(a.code){case K.enter:U();break;case K.down:U(!0),ne(fa),a.preventDefault();break;case K.esc:L.value===!0&&(a.preventDefault(),a.stopPropagation(),U(!1));break;case K.tab:U(!1);break}},ba=()=>{var a;(a=$.value)==null||a.clearCheckedNodes(),!L.value&&n.filterable&&Ie(),U(!1)},Ie=()=>{const{value:a}=Se;y.value=a,V.value=a},ya=a=>{var l,i;const{checked:C}=a;D.value?(l=$.value)==null||l.handleCheckChange(a,!C,!1):(!C&&((i=$.value)==null||i.handleCheckChange(a,!0,!1)),U(!1))},ka=a=>{const l=a.target,{code:i}=a;switch(i){case K.up:case K.down:{const C=i===K.up?-1:1;ke(la(l,C,`.${u.e("suggestion-item")}[tabindex="-1"]`));break}case K.enter:l.click();break}},Ca=()=>{const a=z.value,l=a[a.length-1];v=V.value?0:v+1,!(!l||!v||n.collapseTags&&a.length>1)&&(l.hitState?Le(l):l.hitState=!0)},He=a=>{const l=a.target,i=u.e("search-input");l.className===i&&(R.value=!0),s("focus",a)},Ae=a=>{R.value=!1,s("blur",a)},Na=st(()=>{const{value:a}=te;if(!a)return;const l=n.beforeFilter(a);Aa(l)?l.then(Be).catch(()=>{}):l!==!1?Be():Ve()},n.debounce),Me=(a,l)=>{!L.value&&U(!0),!(l!=null&&l.isComposing)&&(a?Na():Ve())},Oe=a=>Number.parseFloat(Ja(b.cssVarName("input-height"),a).value)-2;return ee(A,he),ee([O,h],ha),ee(z,()=>{ne(()=>De())}),ee(k,async()=>{await ne();const a=H.value.input;c=Oe(a)||c,De()}),ee(Se,Ie,{immediate:!0}),na(()=>{const a=H.value.input,l=Oe(a);c=a.offsetHeight||l,Oa(a,De)}),t({getCheckedNodes:va,cascaderPanelRef:$,togglePopperVisible:U,contentRef:ze}),(a,l)=>(f(),B(d(Ue),{ref_key:"tooltipRef",ref:x,visible:L.value,teleported:a.teleported,"popper-class":[d(u).e("dropdown"),a.popperClass],"popper-options":o,"fallback-placements":["bottom-start","bottom","top-start","top","right","left"],"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:"bottom-start",transition:`${d(u).namespace.value}-zoom-in-top`,effect:"light",pure:"",persistent:"",onHide:Ve},{default:_(()=>[ye((f(),F("div",{class:T(d(ua)),style:Ka(d(r)),onClick:l[5]||(l[5]=()=>U(d(I)?void 0:!0)),onKeydown:ma,onMouseenter:l[6]||(l[6]=i=>Z.value=!0),onMouseleave:l[7]||(l[7]=i=>Z.value=!1)},[X(d(qa),{ref_key:"input",ref:H,modelValue:y.value,"onUpdate:modelValue":l[1]||(l[1]=i=>y.value=i),placeholder:d(E),readonly:d(I),disabled:d(h),"validate-event":!1,size:d(k),class:T(d(pa)),tabindex:d(D)&&a.filterable&&!d(h)?-1:void 0,onCompositionstart:ie,onCompositionupdate:ie,onCompositionend:ie,onFocus:He,onBlur:Ae,onInput:Me},{suffix:_(()=>[d(ca)?(f(),B(d(fe),{key:"clear",class:T([d(b).e("icon"),"icon-circle-close"]),onClick:ve(ba,["stop"])},{default:_(()=>[X(d(Ra))]),_:1},8,["class","onClick"])):(f(),B(d(fe),{key:"arrow-down",class:T(d(da)),onClick:l[0]||(l[0]=ve(i=>U(),["stop"]))},{default:_(()=>[X(d(Ua))]),_:1},8,["class"]))]),_:1},8,["modelValue","placeholder","readonly","disabled","size","class","tabindex"]),d(D)?(f(),F("div",{key:0,ref_key:"tagWrapper",ref:G,class:T(d(u).e("tags"))},[(f(!0),F(ce,null,ge(z.value,i=>(f(),B(d(Ze),{key:i.key,type:a.tagType,size:d(w),hit:i.hitState,closable:i.closable,"disable-transitions":"",onClose:C=>Le(i)},{default:_(()=>[i.isCollapseTag===!1?(f(),F("span",Tt,se(i.text),1)):(f(),B(d(Ue),{key:1,disabled:L.value||!a.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:"light"},{default:_(()=>[re("span",null,se(i.text),1)]),content:_(()=>[re("div",{class:T(d(u).e("collapse-tags"))},[(f(!0),F(ce,null,ge(ae.value.slice(a.maxCollapseTags),(C,Q)=>(f(),F("div",{key:Q,class:T(d(u).e("collapse-tag"))},[(f(),B(d(Ze),{key:C.key,class:"in-tooltip",type:a.tagType,size:d(w),hit:C.hitState,closable:C.closable,"disable-transitions":"",onClose:J=>Le(C)},{default:_(()=>[re("span",null,se(C.text),1)]),_:2},1032,["type","size","hit","closable","onClose"]))],2))),128))],2)]),_:2},1032,["disabled"]))]),_:2},1032,["type","size","hit","closable","onClose"]))),128)),a.filterable&&!d(h)?ye((f(),F("input",{key:0,"onUpdate:modelValue":l[2]||(l[2]=i=>V.value=i),type:"text",class:T(d(u).e("search-input")),placeholder:d(Se)?"":d(g),onInput:l[3]||(l[3]=i=>Me(V.value,i)),onClick:l[4]||(l[4]=ve(i=>U(!0),["stop"])),onKeydown:Wa(Ca,["delete"]),onCompositionstart:ie,onCompositionupdate:ie,onCompositionend:ie,onFocus:He,onBlur:Ae},null,42,Vt)),[[Za,V.value]]):j("v-if",!0)],2)):j("v-if",!0)],38)),[[d(Ya),()=>U(!1),d(ze)]])]),content:_(()=>[ye(X(d(wt),{ref_key:"cascaderPanelRef",ref:$,modelValue:d(Te),"onUpdate:modelValue":l[8]||(l[8]=i=>ja(Te)?Te.value=i:null),options:a.options,props:n.props,border:!1,"render-label":a.$slots.default,onExpandChange:ga,onClose:l[9]||(l[9]=i=>a.$nextTick(()=>U(!1)))},null,8,["modelValue","options","props","render-label"]),[[Re,!A.value]]),a.filterable?ye((f(),B(d(oa),{key:0,ref_key:"suggestionPanel",ref:q,tag:"ul",class:T(d(u).e("suggestion-panel")),"view-class":d(u).e("suggestion-list"),onKeydown:ka},{default:_(()=>[le.value.length?(f(!0),F(ce,{key:0},ge(le.value,i=>(f(),F("li",{key:i.uid,class:T([d(u).e("suggestion-item"),d(u).is("checked",i.checked)]),tabindex:-1,onClick:C=>ya(i)},[re("span",null,se(i.text),1),i.checked?(f(),B(d(fe),{key:0},{default:_(()=>[X(d(Qe))]),_:1})):j("v-if",!0)],10,Pt))),128)):Xa(a.$slots,"empty",{key:1},()=>[re("li",{class:T(d(u).e("empty-text"))},se(d(N)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[Re,A.value]]):j("v-if",!0)]),_:3},8,["visible","teleported","popper-class","transition"]))}});var Ne=$e(It,[["__file","cascader.vue"]]);Ne.install=e=>{e.component(Ne.name,Ne)};const Mt=Ne,Ot=Mt;export{Ot as E};