mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2025-12-30 10:10:16 +00:00
8 lines
24 KiB
JavaScript
8 lines
24 KiB
JavaScript
import{a as fe,U as Ne,C as Ee,d as yt,w as Ct,b as Nt,v as xe}from"./event-f85d77b0.js";import{d as de,b as ce,U as Et,I as Ze,c as k,_ as we,$ as R,e as h,f as M,H as J,v as F,x as _,y as Y,n as T,F as re,g as oe,r as S,z as he,A as wt,B as se,L as $t,Y as Ae,N as St,J as Tt,O as Vt,w as ae,aU as Lt,o as Je,E as ie,t as Pt,a$ as Dt,M as ke,u as d,j as _t,i as Mt,h as It}from"./plugin-vue_export-helper-85a4d40b.js";import{f as zt,d as Ft}from"./index-bcd7a424.js";import{E as Ye}from"./index-ebc73046.js";import{E as ve,a5 as Xe,l as Ge,j as Bt,D as Me,k as Ht,b as Qe,d as me,i as et,_ as xt,c as At,r as Ot,v as Kt,p as qt,J as Ut}from"./index-cf9a2dd7.js";import{E as Rt}from"./index-95b00894.js";import{E as jt}from"./index-ba04db70.js";import{u as tt,E as A}from"./index-1ad115d7.js";import{g as Wt}from"./rand-14326ce1.js";import{c as Oe}from"./strings-53351eda.js";import{i as ge}from"./isEqual-0b9509fd.js";import{i as Zt,f as be,g as nt}from"./aria-adfa05c5.js";import{u as Ke,c as qe}from"./arrays-e667dc24.js";import{s as Jt}from"./focus-trap-64c402c5.js";import{b as Yt}from"./flatten-749195f8.js";import{c as st}from"./cloneDeep-eeb37e90.js";import{E as Xt,i as Gt}from"./index-e27c3bb0.js";import{u as Qt,E as Ue}from"./index-4d8f36c6.js";import{t as en,E as Re}from"./index-99b65a15.js";import{C as tn}from"./index-bd04154b.js";import{d as nn}from"./debounce-6c3123a6.js";var sn=1/0;function an(e){var t=e==null?0:e.length;return t?Yt(e,sn):[]}var ln=de({name:"NodeContent",setup(){return{ns:ce("cascader-node")}},render(){const{ns:e}=this,{node:t,panel:a}=this.$parent,{data:s,label:o}=t,{renderLabelFn:p}=a;return Et("span",{class:e.e("label")},p?p({node:t,data:s}):o)}});const ze=Symbol(),on=de({name:"ElCascaderNode",components:{ElCheckbox:Rt,ElRadio:jt,NodeContent:ln,ElIcon:ve,Check:Xe,Loading:Ge,ArrowRight:Bt},props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:t}){const a=Ze(ze),s=ce("cascader-node"),o=k(()=>a.isHoverMenu),p=k(()=>a.config.multiple),c=k(()=>a.config.checkStrictly),v=k(()=>{var m;return(m=a.checkedNodes[0])==null?void 0:m.uid}),u=k(()=>e.node.isDisabled),b=k(()=>e.node.isLeaf),w=k(()=>c.value&&!b.value||!u.value),P=k(()=>I(a.expandingNode)),D=k(()=>c.value&&a.checkedNodes.some(I)),I=m=>{var V;const{level:K,uid:te}=e.node;return((V=m==null?void 0:m.pathNodes[K-1])==null?void 0:V.uid)===te},H=()=>{P.value||a.expandNode(e.node)},X=m=>{const{node:V}=e;m!==V.checked&&a.handleCheckChange(V,m)},$=()=>{a.lazyLoad(e.node,()=>{b.value||H()})},O=m=>{o.value&&(L(),!b.value&&t("expand",m))},L=()=>{const{node:m}=e;!w.value||m.loading||(m.loaded?H():$())},j=()=>{o.value&&!b.value||(b.value&&!u.value&&!c.value&&!p.value?x(!0):L())},B=m=>{c.value?(X(m),e.node.loaded&&H()):x(m)},x=m=>{e.node.loaded?(X(m),!c.value&&H()):$()};return{panel:a,isHoverMenu:o,multiple:p,checkStrictly:c,checkedNodeId:v,isDisabled:u,isLeaf:b,expandable:w,inExpandingPath:P,inCheckedPath:D,ns:s,handleHoverExpand:O,handleExpand:L,handleClick:j,handleCheck:x,handleSelectCheck:B}}}),rn=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"],cn=oe("span",null,null,-1);function un(e,t,a,s,o,p){const c=R("el-checkbox"),v=R("el-radio"),u=R("check"),b=R("el-icon"),w=R("node-content"),P=R("loading"),D=R("arrow-right");return h(),M("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]=(...I)=>e.handleHoverExpand&&e.handleHoverExpand(...I)),onFocus:t[3]||(t[3]=(...I)=>e.handleHoverExpand&&e.handleHoverExpand(...I)),onClick:t[4]||(t[4]=(...I)=>e.handleClick&&e.handleClick(...I))},[J(" prefix "),e.multiple?(h(),F(c,{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:e.isDisabled,onClick:t[0]||(t[0]=fe(()=>{},["stop"])),"onUpdate:modelValue":e.handleSelectCheck},null,8,["model-value","indeterminate","disabled","onUpdate:modelValue"])):e.checkStrictly?(h(),F(v,{key:1,"model-value":e.checkedNodeId,label:e.node.uid,disabled:e.isDisabled,"onUpdate:modelValue":e.handleSelectCheck,onClick:t[1]||(t[1]=fe(()=>{},["stop"]))},{default:_(()=>[J(`
|
|
Add an empty element to avoid render label,
|
|
do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485
|
|
`),cn]),_:1},8,["model-value","label","disabled","onUpdate:modelValue"])):e.isLeaf&&e.node.checked?(h(),F(b,{key:2,class:T(e.ns.e("prefix"))},{default:_(()=>[Y(u)]),_:1},8,["class"])):J("v-if",!0),J(" content "),Y(w),J(" postfix "),e.isLeaf?J("v-if",!0):(h(),M(re,{key:3},[e.node.loading?(h(),F(b,{key:0,class:T([e.ns.is("loading"),e.ns.e("postfix")])},{default:_(()=>[Y(P)]),_:1},8,["class"])):(h(),F(b,{key:1,class:T(["arrow-right",e.ns.e("postfix")])},{default:_(()=>[Y(D)]),_:1},8,["class"]))],64))],42,rn)}var dn=we(on,[["render",un],["__file","/home/runner/work/element-plus/element-plus/packages/components/cascader-panel/src/node.vue"]]);const pn=de({name:"ElCascaderMenu",components:{Loading:Ge,ElIcon:ve,ElScrollbar:Ye,ElCascaderNode:dn},props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(e){const t=$t(),a=ce("cascader-menu"),{t:s}=tt(),o=Wt();let p=null,c=null;const v=Ze(ze),u=S(null),b=k(()=>!e.nodes.length),w=k(()=>!v.initialLoaded),P=k(()=>`cascader-menu-${o}-${e.index}`),D=$=>{p=$.target},I=$=>{if(!(!v.isHoverMenu||!p||!u.value))if(p.contains($.target)){H();const O=t.vnode.el,{left:L}=O.getBoundingClientRect(),{offsetWidth:j,offsetHeight:B}=O,x=$.clientX-L,m=p.offsetTop,V=m+p.offsetHeight;u.value.innerHTML=`
|
|
<path style="pointer-events: auto;" fill="transparent" d="M${x} ${m} L${j} 0 V${m} Z" />
|
|
<path style="pointer-events: auto;" fill="transparent" d="M${x} ${V} L${j} ${B} V${V} Z" />
|
|
`}else c||(c=window.setTimeout(X,v.config.hoverThreshold))},H=()=>{c&&(clearTimeout(c),c=null)},X=()=>{u.value&&(u.value.innerHTML="",H())};return{ns:a,panel:v,hoverZone:u,isEmpty:b,isLoading:w,menuId:P,t:s,handleExpand:D,handleMouseMove:I,clearHoverZone:X}}});function fn(e,t,a,s,o,p){const c=R("el-cascader-node"),v=R("loading"),u=R("el-icon"),b=R("el-scrollbar");return h(),F(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 w;return[(h(!0),M(re,null,he(e.nodes,P=>(h(),F(c,{key:P.uid,node:P,"menu-id":e.menuId,onExpand:e.handleExpand},null,8,["node","menu-id","onExpand"]))),128)),e.isLoading?(h(),M("div",{key:0,class:T(e.ns.e("empty-text"))},[Y(u,{size:"14",class:T(e.ns.is("loading"))},{default:_(()=>[Y(v)]),_:1},8,["class"]),wt(" "+se(e.t("el.cascader.loading")),1)],2)):e.isEmpty?(h(),M("div",{key:1,class:T(e.ns.e("empty-text"))},se(e.t("el.cascader.noData")),3)):(w=e.panel)!=null&&w.isHoverMenu?(h(),M("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 hn=we(pn,[["render",fn],["__file","/home/runner/work/element-plus/element-plus/packages/components/cascader-panel/src/menu.vue"]]);let vn=0;const mn=e=>{const t=[e];let{parent:a}=e;for(;a;)t.unshift(a),a=a.parent;return t};class ue{constructor(t,a,s,o=!1){this.data=t,this.config=a,this.parent=s,this.root=o,this.uid=vn++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:p,label:c,children:v}=a,u=t[v],b=mn(this);this.level=o?0:s?s.level+1:1,this.value=t[p],this.label=t[c],this.pathNodes=b,this.pathValues=b.map(w=>w.value),this.pathLabels=b.map(w=>w.label),this.childrenData=u,this.children=(u||[]).map(w=>new ue(w,a,this)),this.loaded=!a.lazy||this.isLeaf||!Me(u)}get isDisabled(){const{data:t,parent:a,config:s}=this,{disabled:o,checkStrictly:p}=s;return(Ae(o)?o(t,this):!!t[o])||!p&&(a==null?void 0:a.isDisabled)}get isLeaf(){const{data:t,config:a,childrenData:s,loaded:o}=this,{lazy:p,leaf:c}=a,v=Ae(c)?c(t,this):t[c];return Ht(v)?p&&!o?!1:!(Array.isArray(s)&&s.length):!!v}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:a,children:s}=this,o=new ue(t,this.config,this);return Array.isArray(a)?a.push(t):this.childrenData=[t],s.push(o),o}calcText(t,a){const s=t?this.pathLabels.join(a):this.label;return this.text=s,s}broadcast(t,...a){const s=`onParent${Oe(t)}`;this.children.forEach(o=>{o&&(o.broadcast(t,...a),o[s]&&o[s](...a))})}emit(t,...a){const{parent:s}=this,o=`onChild${Oe(t)}`;s&&(s[o]&&s[o](...a),s.emit(t,...a))}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,a=t.filter(o=>!o.isDisabled),s=a.length?a.every(o=>o.checked):!1;this.setCheckState(s)}setCheckState(t){const a=this.children.length,s=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&&s!==a&&s>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:a,multiple:s}=this.config;a||!s?this.checked=t:(this.broadcast("check",t),this.setCheckState(t),this.emit("check"))}}const Ie=(e,t)=>e.reduce((a,s)=>(s.isLeaf?a.push(s):(!t&&a.push(s),a=a.concat(Ie(s.children,t))),a),[]);class je{constructor(t,a){this.config=a;const s=(t||[]).map(o=>new ue(o,this.config));this.nodes=s,this.allNodes=Ie(s,!1),this.leafNodes=Ie(s,!0)}getNodes(){return this.nodes}getFlattedNodes(t){return t?this.leafNodes:this.allNodes}appendNode(t,a){const s=a?a.appendChild(t):new ue(t,this.config);a||this.nodes.push(s),this.allNodes.push(s),s.isLeaf&&this.leafNodes.push(s)}appendNodes(t,a){t.forEach(s=>this.appendNode(s,a))}getNodeByValue(t,a=!1){return!t&&t!==0?null:this.getFlattedNodes(a).find(o=>ge(o.value,t)||ge(o.pathValues,t))||null}getSameNode(t){return t&&this.getFlattedNodes(!1).find(({value:s,level:o})=>ge(t.value,s)&&t.level===o)||null}}const at=Qe({modelValue:{type:me([Number,String,Array])},options:{type:me(Array),default:()=>[]},props:{type:me(Object),default:()=>({})}}),gn={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:St,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},kn=e=>k(()=>({...gn,...e.props})),We=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},bn=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():Zt(e)&&e.click()},yn=(e,t)=>{const a=t.slice(0),s=a.map(p=>p.uid),o=e.reduce((p,c)=>{const v=s.indexOf(c.uid);return v>-1&&(p.push(c),a.splice(v,1),s.splice(v,1)),p},[]);return o.push(...a),o},Cn=de({name:"ElCascaderPanel",components:{ElCascaderMenu:hn},props:{...at,border:{type:Boolean,default:!0},renderLabel:Function},emits:[Ne,Ee,"close","expand-change"],setup(e,{emit:t,slots:a}){let s=!1;const o=ce("cascader"),p=kn(e);let c=null;const v=S(!0),u=S([]),b=S(null),w=S([]),P=S(null),D=S([]),I=k(()=>p.value.expandTrigger==="hover"),H=k(()=>e.renderLabel||a.default),X=()=>{const{options:i}=e,f=p.value;s=!1,c=new je(i,f),w.value=[c.getNodes()],f.lazy&&Me(e.options)?(v.value=!1,$(void 0,g=>{g&&(c=new je(g,f),w.value=[c.getNodes()]),v.value=!0,K(!1,!0)})):K(!1,!0)},$=(i,f)=>{const g=p.value;i=i||new ue({},g,void 0,!0),i.loading=!0;const C=E=>{const y=i,q=y.root?null:y;E&&(c==null||c.appendNodes(E,q)),y.loading=!1,y.loaded=!0,y.childrenData=y.childrenData||[],f&&f(E)};g.lazyLoad(i,C)},O=(i,f)=>{var g;const{level:C}=i,E=w.value.slice(0,C);let y;i.isLeaf?y=i.pathNodes[C-2]:(y=i,E.push(i.children)),((g=P.value)==null?void 0:g.uid)!==(y==null?void 0:y.uid)&&(P.value=i,w.value=E,!f&&t("expand-change",(i==null?void 0:i.pathValues)||[]))},L=(i,f,g=!0)=>{const{checkStrictly:C,multiple:E}=p.value,y=D.value[0];s=!0,!E&&(y==null||y.doCheck(!1)),i.doCheck(f),V(),g&&!E&&!C&&t("close"),!g&&!E&&!C&&j(i)},j=i=>{i&&(i=i.parent,j(i),i&&O(i))},B=i=>c==null?void 0:c.getFlattedNodes(i),x=i=>{var f;return(f=B(i))==null?void 0:f.filter(g=>g.checked!==!1)},m=()=>{D.value.forEach(i=>i.doCheck(!1)),V()},V=()=>{var i;const{checkStrictly:f,multiple:g}=p.value,C=D.value,E=x(!f),y=yn(C,E),q=y.map(z=>z.valueByOption);D.value=y,b.value=g?q:(i=q[0])!=null?i:null},K=(i=!1,f=!1)=>{const{modelValue:g}=e,{lazy:C,multiple:E,checkStrictly:y}=p.value,q=!y;if(!(!v.value||s||!f&&ge(g,b.value)))if(C&&!i){const G=Ke(an(qe(g))).map(W=>c==null?void 0:c.getNodeByValue(W)).filter(W=>!!W&&!W.loaded&&!W.loading);G.length?G.forEach(W=>{$(W,()=>K(!1,f))}):K(!0,f)}else{const z=E?qe(g):[g],G=Ke(z.map(W=>c==null?void 0:c.getNodeByValue(W,q)));te(G,f),b.value=st(g)}},te=(i,f=!0)=>{const{checkStrictly:g}=p.value,C=D.value,E=i.filter(z=>!!z&&(g||z.isLeaf)),y=c==null?void 0:c.getSameNode(P.value),q=f&&y||E[0];q?q.pathNodes.forEach(z=>O(z,!0)):P.value=null,C.forEach(z=>z.doCheck(!1)),E.forEach(z=>z.doCheck(!0)),D.value=E,ie(ne)},ne=()=>{et&&u.value.forEach(i=>{const f=i==null?void 0:i.$el;if(f){const g=f.querySelector(`.${o.namespace.value}-scrollbar__wrap`),C=f.querySelector(`.${o.b("node")}.${o.is("active")}`)||f.querySelector(`.${o.b("node")}.in-active-path`);Jt(g,C)}})},$e=i=>{const f=i.target,{code:g}=i;switch(g){case A.up:case A.down:{i.preventDefault();const C=g===A.up?-1:1;be(nt(f,C,`.${o.b("node")}[tabindex="-1"]`));break}case A.left:{i.preventDefault();const C=u.value[We(f)-1],E=C==null?void 0:C.$el.querySelector(`.${o.b("node")}[aria-expanded="true"]`);be(E);break}case A.right:{i.preventDefault();const C=u.value[We(f)+1],E=C==null?void 0:C.$el.querySelector(`.${o.b("node")}[tabindex="-1"]`);be(E);break}case A.enter:bn(f);break}};return Tt(ze,Vt({config:p,expandingNode:P,checkedNodes:D,isHoverMenu:I,initialLoaded:v,renderLabelFn:H,lazyLoad:$,expandNode:O,handleCheckChange:L})),ae([p,()=>e.options],X,{deep:!0,immediate:!0}),ae(()=>e.modelValue,()=>{s=!1,K()},{deep:!0}),ae(()=>b.value,i=>{ge(i,e.modelValue)||(t(Ne,i),t(Ee,i))}),Lt(()=>u.value=[]),Je(()=>!Me(e.modelValue)&&K()),{ns:o,menuList:u,menus:w,checkedNodes:D,handleKeyDown:$e,handleCheckChange:L,getFlattedNodes:B,getCheckedNodes:x,clearCheckedNodes:m,calculateCheckedValue:V,scrollToExpandingNode:ne}}});function Nn(e,t,a,s,o,p){const c=R("el-cascader-menu");return h(),M("div",{class:T([e.ns.b("panel"),e.ns.is("bordered",e.border)]),onKeydown:t[0]||(t[0]=(...v)=>e.handleKeyDown&&e.handleKeyDown(...v))},[(h(!0),M(re,null,he(e.menus,(v,u)=>(h(),F(c,{key:u,ref_for:!0,ref:b=>e.menuList[u]=b,index:u,nodes:[...v]},null,8,["index","nodes"]))),128))],34)}var ye=we(Cn,[["render",Nn],["__file","/home/runner/work/element-plus/element-plus/packages/components/cascader-panel/src/index.vue"]]);ye.install=e=>{e.component(ye.name,ye)};const lt=ye,Qn=lt,En=Qe({...at,size:xt,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,collapseTagsTooltip:{type:Boolean,default:!1},debounce:{type:Number,default:300},beforeFilter:{type:me(Function),default:()=>!0},popperClass:{type:String,default:""},teleported:Qt.teleported,tagType:{...en.type,default:"info"},validateEvent:{type:Boolean,default:!0}}),wn={[Ne]:e=>!!e||e===null,[Ee]:e=>!!e||e===null,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,visibleChange:e=>At(e),expandChange:e=>!!e,removeTag:e=>!!e},$n={key:0},Sn=["placeholder","onKeydown"],Tn=["onClick"],Vn="ElCascader",Ln=de({name:Vn}),Pn=de({...Ln,props:En,emits:wn,setup(e,{expose:t,emit:a}){const s=e,o={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:n})=>{const{modifiersData:l,placement:r}=n;["right","left","bottom","top"].includes(r)||(l.arrow.x=35)},requires:["arrow"]}]},p=Pt();let c=0,v=0;const u=ce("cascader"),b=ce("input"),{t:w}=tt(),{form:P,formItem:D}=Ot(),I=S(null),H=S(null),X=S(null),$=S(null),O=S(null),L=S(!1),j=S(!1),B=S(!1),x=S(""),m=S(""),V=S([]),K=S([]),te=S([]),ne=S(!1),$e=k(()=>p.style),i=k(()=>s.disabled||(P==null?void 0:P.disabled)),f=k(()=>s.placeholder||w("el.cascader.placeholder")),g=k(()=>m.value||V.value.length>0||ne.value?"":f.value),C=Kt(),E=k(()=>["small"].includes(C.value)?"small":"default"),y=k(()=>!!s.props.multiple),q=k(()=>!s.filterable||y.value),z=k(()=>y.value?m.value:x.value),G=k(()=>{var n;return((n=$.value)==null?void 0:n.checkedNodes)||[]}),W=k(()=>!s.clearable||i.value||B.value||!j.value?!1:!!G.value.length),Se=k(()=>{const{showAllLevels:n,separator:l}=s,r=G.value;return r.length?y.value?"":r[0].calcText(n,l):""}),Te=k({get(){return st(s.modelValue)},set(n){a(Ne,n),a(Ee,n),s.validateEvent&&(D==null||D.validate("change").catch(l=>yt()))}}),Fe=k(()=>{var n,l;return(l=(n=I.value)==null?void 0:n.popperRef)==null?void 0:l.contentRef}),ot=k(()=>[u.b(),u.m(C.value),u.is("disabled",i.value),p.class]),it=k(()=>[b.e("icon"),"icon-arrow-down",u.is("reverse",L.value)]),U=n=>{var l,r,N;i.value||(n=n??!L.value,n!==L.value&&(L.value=n,(r=(l=H.value)==null?void 0:l.input)==null||r.setAttribute("aria-expanded",`${n}`),n?(pe(),ie((N=$.value)==null?void 0:N.scrollToExpandingNode)):s.filterable&&De(),a("visibleChange",n)))},pe=()=>{ie(()=>{var n;(n=I.value)==null||n.updatePopper()})},Ve=()=>{B.value=!1},Le=n=>{const{showAllLevels:l,separator:r}=s;return{node:n,key:n.uid,text:n.calcText(l,r),hitState:!1,closable:!i.value&&!n.isDisabled,isCollapseTag:!1}},Pe=n=>{var l;const r=n.node;r.doCheck(!1),(l=$.value)==null||l.calculateCheckedValue(),a("removeTag",r.valueByOption)},rt=()=>{if(!y.value)return;const n=G.value,l=[],r=[];if(n.forEach(N=>r.push(Le(N))),K.value=r,n.length){const[N,...Q]=n,ee=Q.length;l.push(Le(N)),ee&&(s.collapseTags?l.push({key:-1,text:`+ ${ee}`,closable:!1,isCollapseTag:!0}):Q.forEach(Z=>l.push(Le(Z))))}V.value=l},Be=()=>{var n,l;const{filterMethod:r,showAllLevels:N,separator:Q}=s,ee=(l=(n=$.value)==null?void 0:n.getFlattedNodes(!s.props.checkStrictly))==null?void 0:l.filter(Z=>Z.isDisabled?!1:(Z.calcText(N,Q),r(Z,z.value)));y.value&&(V.value.forEach(Z=>{Z.hitState=!1}),K.value.forEach(Z=>{Z.hitState=!1})),B.value=!0,te.value=ee,pe()},ct=()=>{var n;let l;B.value&&O.value?l=O.value.$el.querySelector(`.${u.e("suggestion-item")}`):l=(n=$.value)==null?void 0:n.$el.querySelector(`.${u.b("node")}[tabindex="-1"]`),l&&(l.focus(),!B.value&&l.click())},He=()=>{var n,l;const r=(n=H.value)==null?void 0:n.input,N=X.value,Q=(l=O.value)==null?void 0:l.$el;if(!(!et||!r)){if(Q){const ee=Q.querySelector(`.${u.e("suggestion-list")}`);ee.style.minWidth=`${r.offsetWidth}px`}if(N){const{offsetHeight:ee}=N,Z=V.value.length>0?`${Math.max(ee+6,c)}px`:`${c}px`;r.style.height=Z,pe()}}},ut=n=>{var l;return(l=$.value)==null?void 0:l.getCheckedNodes(n)},dt=n=>{pe(),a("expandChange",n)},le=n=>{var l;const r=(l=n.target)==null?void 0:l.value;if(n.type==="compositionend")ne.value=!1,ie(()=>_e(r));else{const N=r[r.length-1]||"";ne.value=!Gt(N)}},pt=n=>{if(!ne.value)switch(n.code){case A.enter:U();break;case A.down:U(!0),ie(ct),n.preventDefault();break;case A.esc:L.value===!0&&(n.preventDefault(),n.stopPropagation(),U(!1));break;case A.tab:U(!1);break}},ft=()=>{var n;(n=$.value)==null||n.clearCheckedNodes(),!L.value&&s.filterable&&De(),U(!1)},De=()=>{const{value:n}=Se;x.value=n,m.value=n},ht=n=>{var l,r;const{checked:N}=n;y.value?(l=$.value)==null||l.handleCheckChange(n,!N,!1):(!N&&((r=$.value)==null||r.handleCheckChange(n,!0,!1)),U(!1))},vt=n=>{const l=n.target,{code:r}=n;switch(r){case A.up:case A.down:{const N=r===A.up?-1:1;be(nt(l,N,`.${u.e("suggestion-item")}[tabindex="-1"]`));break}case A.enter:l.click();break}},mt=()=>{const n=V.value,l=n[n.length-1];v=m.value?0:v+1,!(!l||!v||s.collapseTags&&n.length>1)&&(l.hitState?Pe(l):l.hitState=!0)},gt=n=>{a("focus",n)},kt=n=>{a("blur",n)},bt=nn(()=>{const{value:n}=z;if(!n)return;const l=s.beforeFilter(n);Dt(l)?l.then(Be).catch(()=>{}):l!==!1?Be():Ve()},s.debounce),_e=(n,l)=>{!L.value&&U(!0),!(l!=null&&l.isComposing)&&(n?bt():Ve())};return ae(B,pe),ae([G,i],rt),ae(V,()=>{ie(()=>He())}),ae(Se,De,{immediate:!0}),Je(()=>{const n=H.value.input,l=Number.parseFloat(zt(b.cssVarName("input-height"),n).value)-2;c=n.offsetHeight||l,Ft(n,He)}),t({getCheckedNodes:ut,cascaderPanelRef:Fe}),(n,l)=>(h(),F(d(Ue),{ref_key:"tooltipRef",ref:I,visible:L.value,teleported:n.teleported,"popper-class":[d(u).e("dropdown"),n.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:_(()=>[ke((h(),M("div",{class:T(d(ot)),style:_t(d($e)),onClick:l[5]||(l[5]=()=>U(d(q)?void 0:!0)),onKeydown:pt,onMouseenter:l[6]||(l[6]=r=>j.value=!0),onMouseleave:l[7]||(l[7]=r=>j.value=!1)},[Y(d(Xt),{ref_key:"input",ref:H,modelValue:x.value,"onUpdate:modelValue":l[1]||(l[1]=r=>x.value=r),placeholder:d(g),readonly:d(q),disabled:d(i),"validate-event":!1,size:d(C),class:T(d(u).is("focus",L.value)),onCompositionstart:le,onCompositionupdate:le,onCompositionend:le,onFocus:gt,onBlur:kt,onInput:_e},{suffix:_(()=>[d(W)?(h(),F(d(ve),{key:"clear",class:T([d(b).e("icon"),"icon-circle-close"]),onClick:fe(ft,["stop"])},{default:_(()=>[Y(d(qt))]),_:1},8,["class","onClick"])):(h(),F(d(ve),{key:"arrow-down",class:T(d(it)),onClick:l[0]||(l[0]=fe(r=>U(),["stop"]))},{default:_(()=>[Y(d(Ut))]),_:1},8,["class"]))]),_:1},8,["modelValue","placeholder","readonly","disabled","size","class"]),d(y)?(h(),M("div",{key:0,ref_key:"tagWrapper",ref:X,class:T(d(u).e("tags"))},[(h(!0),M(re,null,he(V.value,r=>(h(),F(d(Re),{key:r.key,type:n.tagType,size:d(E),hit:r.hitState,closable:r.closable,"disable-transitions":"",onClose:N=>Pe(r)},{default:_(()=>[r.isCollapseTag===!1?(h(),M("span",$n,se(r.text),1)):(h(),F(d(Ue),{key:1,disabled:L.value||!n.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:"light"},{default:_(()=>[oe("span",null,se(r.text),1)]),content:_(()=>[oe("div",{class:T(d(u).e("collapse-tags"))},[(h(!0),M(re,null,he(K.value.slice(1),(N,Q)=>(h(),M("div",{key:Q,class:T(d(u).e("collapse-tag"))},[(h(),F(d(Re),{key:N.key,class:"in-tooltip",type:n.tagType,size:d(E),hit:N.hitState,closable:N.closable,"disable-transitions":"",onClose:ee=>Pe(N)},{default:_(()=>[oe("span",null,se(N.text),1)]),_:2},1032,["type","size","hit","closable","onClose"]))],2))),128))],2)]),_:2},1032,["disabled"]))]),_:2},1032,["type","size","hit","closable","onClose"]))),128)),n.filterable&&!d(i)?ke((h(),M("input",{key:0,"onUpdate:modelValue":l[2]||(l[2]=r=>m.value=r),type:"text",class:T(d(u).e("search-input")),placeholder:d(Se)?"":d(f),onInput:l[3]||(l[3]=r=>_e(m.value,r)),onClick:l[4]||(l[4]=fe(r=>U(!0),["stop"])),onKeydown:Ct(mt,["delete"]),onCompositionstart:le,onCompositionupdate:le,onCompositionend:le},null,42,Sn)),[[Nt,m.value]]):J("v-if",!0)],2)):J("v-if",!0)],38)),[[d(tn),()=>U(!1),d(Fe)]])]),content:_(()=>[ke(Y(d(lt),{ref_key:"panel",ref:$,modelValue:d(Te),"onUpdate:modelValue":l[8]||(l[8]=r=>Mt(Te)?Te.value=r:null),options:n.options,props:s.props,border:!1,"render-label":n.$slots.default,onExpandChange:dt,onClose:l[9]||(l[9]=r=>n.$nextTick(()=>U(!1)))},null,8,["modelValue","options","props","render-label"]),[[xe,!B.value]]),n.filterable?ke((h(),F(d(Ye),{key:0,ref_key:"suggestionPanel",ref:O,tag:"ul",class:T(d(u).e("suggestion-panel")),"view-class":d(u).e("suggestion-list"),onKeydown:vt},{default:_(()=>[te.value.length?(h(!0),M(re,{key:0},he(te.value,r=>(h(),M("li",{key:r.uid,class:T([d(u).e("suggestion-item"),d(u).is("checked",r.checked)]),tabindex:-1,onClick:N=>ht(r)},[oe("span",null,se(r.text),1),r.checked?(h(),F(d(ve),{key:0},{default:_(()=>[Y(d(Xe))]),_:1})):J("v-if",!0)],10,Tn))),128)):It(n.$slots,"empty",{key:1},()=>[oe("li",{class:T(d(u).e("empty-text"))},se(d(w)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[xe,B.value]]):J("v-if",!0)]),_:3},8,["visible","teleported","popper-class","transition"]))}});var Ce=we(Pn,[["__file","/home/runner/work/element-plus/element-plus/packages/components/cascader/src/cascader.vue"]]);Ce.install=e=>{e.component(Ce.name,Ce)};const Dn=Ce,es=Dn;export{es as E,Qn as a};
|