2 lines
26 KiB
JavaScript
2 lines
26 KiB
JavaScript
var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,i=(e,a)=>{for(var l in a||(a={}))s.call(a,l)&&n(e,l,a[l]);if(t)for(var l of t(a))o.call(a,l)&&n(e,l,a[l]);return e},d=(e,t)=>a(e,l(t));import{cU as r,d as c,a1 as u,a9 as p,g as v,an as h,cg as f,a0 as m,c as g,b,e as y,i as k,h as C,p as x,O as N,w,f as $,ba as S,q as T,ai as E,I as _,cZ as L,ac as V,bK as D,bC as P,r as O,J as j,j as z,v as B,s as F,af as M,bI as A,bZ as q,ad as I,aw as H,bF as R,a8 as U,at as K,bc as Z,br as W,bT as J,ei as Q,bs as X,ae as Y,k as G,A as ee,bu as ae,o as le,n as te,ca as se,c9 as oe,Z as ne,_ as ie,ej as de,ek as re,az as ce,bv as ue,bL as pe,bM as ve,am as he,bw as fe,bP as me,bD as ge,by as be,bQ as ye,c5 as ke,bx as Ce,bO as xe,ax as Ne,dZ as we,ap as $e,N as Se,M as Te,aj as Ee,m as _e,K as Le,cx as Ve,aE as De,ab as Pe,P as Oe,cd as je,el as ze}from"./index-BoIUJTA2.js";import{E as Be}from"./index-Cp4NEpJ7.js";import{E as Fe}from"./index-D8nVJoNy.js";import{b as Me}from"./index-DqTthkO7.js";import{d as Ae,c as qe,u as Ie,a as He,E as Re}from"./index-BMeOzN3u.js";import{c as Ue}from"./cloneDeep-B1gZFPYK.js";import{t as Ke,E as Ze}from"./index-ZsMdSUVI.js";import{C as We}from"./index-CXORCV4U.js";import{d as Je}from"./debounce-DQl5eUwG.js";var Qe=1/0;const Xe=Symbol();var Ye=c({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(e){const a=u("cascader-node"),{renderLabelFn:l}=p(Xe),{node:t}=e,{data:s,label:o}=t,n=()=>{const e=null==l?void 0:l({node:t,data:s});return(h(a=e)?a.every(({type:e})=>e===f):(null==a?void 0:a.type)===f)?o:null!=e?e:o;var a};return()=>v("span",{class:a.e("label")},[n()])}});const Ge=c({name:"ElCascaderNode"});var ea=m(c(d(i({},Ge),{props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:a}){const l=e,t=p(Xe),s=u("cascader-node"),o=g(()=>t.isHoverMenu),n=g(()=>t.config.multiple),i=g(()=>t.config.checkStrictly),d=g(()=>t.config.showPrefix),r=g(()=>{var e;return null==(e=t.checkedNodes[0])?void 0:e.uid}),c=g(()=>l.node.isDisabled),h=g(()=>l.node.isLeaf),f=g(()=>i.value&&!h.value||!c.value),m=g(()=>P(t.expandingNode)),D=g(()=>i.value&&t.checkedNodes.some(P)),P=e=>{var a;const{level:t,uid:s}=l.node;return(null==(a=null==e?void 0:e.pathNodes[t-1])?void 0:a.uid)===s},O=()=>{m.value||t.expandNode(l.node)},j=e=>{const{node:a}=l;e!==a.checked&&t.handleCheckChange(a,e)},z=()=>{t.lazyLoad(l.node,()=>{h.value||O()})},B=e=>{o.value&&(F(),!h.value&&a("expand",e))},F=()=>{const{node:e}=l;f.value&&!e.loading&&(e.loaded?O():z())},M=()=>{!h.value||c.value||i.value||n.value?(t.config.checkOnClickNode&&(n.value||i.value)||h.value&&t.config.checkOnClickLeaf)&&!c.value?A(!l.node.checked):o.value||F():q(!0)},A=e=>{i.value?(j(e),l.node.loaded&&O()):q(e)},q=e=>{l.node.loaded?(j(e),!i.value&&O()):z()};return(a,l)=>(y(),b("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!x(h),"aria-owns":x(h)?void 0:e.menuId,"aria-expanded":x(m),tabindex:x(f)?-1:void 0,class:T([x(s).b(),x(s).is("selectable",x(i)),x(s).is("active",e.node.checked),x(s).is("disabled",!x(f)),x(m)&&"in-active-path",x(D)&&"in-checked-path"]),onMouseenter:B,onFocus:B,onClick:M},[k(" prefix "),x(n)&&x(d)?(y(),C(x(Fe),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:x(c),onClick:N(()=>{},["stop"]),"onUpdate:modelValue":A},null,8,["model-value","indeterminate","disabled","onClick"])):x(i)&&x(d)?(y(),C(x(Me),{key:1,"model-value":x(r),label:e.node.uid,disabled:x(c),"onUpdate:modelValue":A,onClick:N(()=>{},["stop"])},{default:w(()=>[k("\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n "),$("span")]),_:1},8,["model-value","label","disabled","onClick"])):x(h)&&e.node.checked?(y(),C(x(E),{key:2,class:T(x(s).e("prefix"))},{default:w(()=>[v(x(S))]),_:1},8,["class"])):k("v-if",!0),k(" content "),v(x(Ye),{node:e.node},null,8,["node"]),k(" postfix "),x(h)?k("v-if",!0):(y(),b(_,{key:3},[e.node.loading?(y(),C(x(E),{key:0,class:T([x(s).is("loading"),x(s).e("postfix")])},{default:w(()=>[v(x(L))]),_:1},8,["class"])):(y(),C(x(E),{key:1,class:T(["arrow-right",x(s).e("postfix")])},{default:w(()=>[v(x(V))]),_:1},8,["class"]))],64))],42,["id","aria-haspopup","aria-owns","aria-expanded","tabindex"]))}})),[["__file","node.vue"]]);const aa=c({name:"ElCascaderMenu"});var la=m(c(d(i({},aa),{props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(e){const a=e,l=M(),t=u("cascader-menu"),{t:s}=D(),o=P();let n,i;const d=p(Xe),r=O(),c=g(()=>!a.nodes.length),h=g(()=>!d.initialLoaded),f=g(()=>`${o.value}-${a.index}`),m=e=>{n=e.target},N=e=>{if(d.isHoverMenu&&n&&r.value)if(n.contains(e.target)){$();const a=l.vnode.el,{left:t}=a.getBoundingClientRect(),{offsetWidth:s,offsetHeight:o}=a,i=e.clientX-t,d=n.offsetTop,c=d+n.offsetHeight;r.value.innerHTML=`\n <path style="pointer-events: auto;" fill="transparent" d="M${i} ${d} L${s} 0 V${d} Z" />\n <path style="pointer-events: auto;" fill="transparent" d="M${i} ${c} L${s} ${o} V${c} Z" />\n `}else i||(i=window.setTimeout(S,d.config.hoverThreshold))},$=()=>{i&&(clearTimeout(i),i=void 0)},S=()=>{r.value&&(r.value.innerHTML="",$())};return(a,l)=>(y(),C(x(Be),{key:x(f),tag:"ul",role:"menu",class:T(x(t).b()),"wrap-class":x(t).e("wrap"),"view-class":[x(t).e("list"),x(t).is("empty",x(c))],onMousemove:N,onMouseleave:S},{default:w(()=>{var l;return[(y(!0),b(_,null,j(e.nodes,e=>(y(),C(ea,{key:e.uid,node:e,"menu-id":x(f),onExpand:m},null,8,["node","menu-id"]))),128)),x(h)?(y(),b("div",{key:0,class:T(x(t).e("empty-text"))},[v(x(E),{size:"14",class:T(x(t).is("loading"))},{default:w(()=>[v(x(L))]),_:1},8,["class"]),z(" "+B(x(s)("el.cascader.loading")),1)],2)):x(c)?(y(),b("div",{key:1,class:T(x(t).e("empty-text"))},[F(a.$slots,"empty",{},()=>[z(B(x(s)("el.cascader.noData")),1)])],2)):(null==(l=x(d))?void 0:l.isHoverMenu)?(y(),b(_,{key:2},[k(" eslint-disable-next-line vue/html-self-closing "),(y(),b("svg",{ref_key:"hoverZone",ref:r,class:T(x(t).e("hover-zone"))},null,2))],2112)):k("v-if",!0)]}),_:3},8,["class","wrap-class","view-class"]))}})),[["__file","menu.vue"]]);let ta=0;class sa{constructor(e,a,l,t=!1){this.data=e,this.config=a,this.parent=l,this.root=t,this.uid=ta++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:s,label:o,children:n}=a,i=e[n],d=(e=>{const a=[e];let{parent:l}=e;for(;l;)a.unshift(l),l=l.parent;return a})(this);this.level=t?0:l?l.level+1:1,this.value=e[s],this.label=e[o],this.pathNodes=d,this.pathValues=d.map(e=>e.value),this.pathLabels=d.map(e=>e.label),this.childrenData=i,this.children=(i||[]).map(e=>new sa(e,a,this)),this.loaded=!a.lazy||this.isLeaf||!A(i),this.text=""}get isDisabled(){const{data:e,parent:a,config:l}=this,{disabled:t,checkStrictly:s}=l;return(q(t)?t(e,this):!!e[t])||!s&&!!(null==a?void 0:a.isDisabled)}get isLeaf(){const{data:e,config:a,childrenData:l,loaded:t}=this,{lazy:s,leaf:o}=a,n=q(o)?o(e,this):e[o];return I(n)?!(s&&!t)&&!(h(l)&&l.length):!!n}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(e){const{childrenData:a,children:l}=this,t=new sa(e,this.config,this);return h(a)?a.push(e):this.childrenData=[e],l.push(t),t}calcText(e,a){const l=e?this.pathLabels.join(a):this.label;return this.text=l,l}broadcast(e){this.children.forEach(a=>{var l;a&&(a.broadcast(e),null==(l=a.onParentCheck)||l.call(a,e))})}emit(){var e;const{parent:a}=this;a&&(null==(e=a.onChildCheck)||e.call(a),a.emit())}onParentCheck(e){this.isDisabled||this.setCheckState(e)}onChildCheck(){const{children:e}=this,a=e.filter(e=>!e.isDisabled),l=!!a.length&&a.every(e=>e.checked);this.setCheckState(l)}setCheckState(e){const a=this.children.length,l=this.children.reduce((e,a)=>e+(a.checked?1:a.indeterminate?.5:0),0);this.checked=this.loaded&&this.children.filter(e=>!e.isDisabled).every(e=>e.loaded&&e.checked)&&e,this.indeterminate=this.loaded&&l!==a&&l>0}doCheck(e){if(this.checked===e)return;const{checkStrictly:a,multiple:l}=this.config;a||!l?this.checked=e:(this.broadcast(e),this.setCheckState(e),this.emit())}}const oa=(e,a)=>e.reduce((e,l)=>(l.isLeaf?e.push(l):(!a&&e.push(l),e=e.concat(oa(l.children,a))),e),[]);class na{constructor(e,a){this.config=a;const l=(e||[]).map(e=>new sa(e,this.config));this.nodes=l,this.allNodes=oa(l,!1),this.leafNodes=oa(l,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,a){const l=a?a.appendChild(e):new sa(e,this.config);a||this.nodes.push(l),this.appendAllNodesAndLeafNodes(l)}appendNodes(e,a){e.length>0?e.forEach(e=>this.appendNode(e,a)):a&&a.isLeaf&&this.leafNodes.push(a)}appendAllNodesAndLeafNodes(e){this.allNodes.push(e),e.isLeaf&&this.leafNodes.push(e),e.children&&e.children.forEach(e=>{this.appendAllNodesAndLeafNodes(e)})}getNodeByValue(e,a=!1){if(H(e))return null;return this.getFlattedNodes(a).find(a=>R(a.value,e)||R(a.pathValues,e))||null}getSameNode(e){if(!e)return null;return this.getFlattedNodes(!1).find(({value:a,level:l})=>R(e.value,a)&&e.level===l)||null}}const ia=U({modelValue:{type:K([Number,String,Array,Object])},options:{type:K(Array),default:()=>[]},props:{type:K(Object),default:()=>({})}}),da={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:J,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},ra=U(d(i({},ia),{border:{type:Boolean,default:!0},renderLabel:{type:Function}})),ca=e=>!0,ua={[W]:ca,[Z]:ca,close:()=>!0,"expand-change":e=>e},pa=e=>{if(!e)return 0;const a=e.id.split("-");return Number(a[a.length-2])},va=c({name:"ElCascaderPanel",inheritAttrs:!1});const ha=ce(m(c(d(i({},va),{props:ra,emits:ua,setup(e,{expose:a,emit:l}){const t=e;let s=!1;const o=u("cascader"),n=(e=>g(()=>i(i({},da),e.props)))(t),d=X();let c;const p=O(!0),v=O([]),h=O(),f=O([]),m=O(),k=O([]),N=g(()=>"hover"===n.value.expandTrigger),$=g(()=>t.renderLabel||d.default),S=()=>{const{options:e}=t,a=n.value;s=!1,c=new na(e,a),f.value=[c.getNodes()],a.lazy&&A(t.options)?(p.value=!1,E(void 0,e=>{e&&(c=new na(e,a),f.value=[c.getNodes()]),p.value=!0,M(!1,!0)})):M(!1,!0)},E=(e,a)=>{const l=n.value;(e=e||new sa({},l,void 0,!0)).loading=!0;l.lazyLoad(e,l=>{const t=e,s=t.root?null:t;t.loading=!1,t.loaded=!0,t.childrenData=t.childrenData||[],l&&(null==c||c.appendNodes(l,s)),l&&(null==a||a(l))})},L=(e,a)=>{var t;const{level:s}=e,o=f.value.slice(0,s);let n;e.isLeaf?n=e.pathNodes[s-2]:(n=e,o.push(e.children)),(null==(t=m.value)?void 0:t.uid)!==(null==n?void 0:n.uid)&&(m.value=e,f.value=o,!a&&l("expand-change",(null==e?void 0:e.pathValues)||[]))},V=(e,a,t=!0)=>{const{checkStrictly:o,multiple:i}=n.value,d=k.value[0];s=!0,!i&&(null==d||d.doCheck(!1)),e.doCheck(a),B(),t&&!i&&!o&&l("close"),!t&&!i&&!o&&D(e)},D=e=>{e&&(e=e.parent,D(e),e&&L(e))},P=e=>null==c?void 0:c.getFlattedNodes(e),z=e=>{var a;return null==(a=P(e))?void 0:a.filter(({checked:e})=>!1!==e)},B=()=>{var e;const{checkStrictly:a,multiple:l}=n.value,t=((e,a)=>{const l=a.slice(0),t=l.map(e=>e.uid),s=e.reduce((e,a)=>{const s=t.indexOf(a.uid);return s>-1&&(e.push(a),l.splice(s,1),t.splice(s,1)),e},[]);return s.push(...l),s})(k.value,z(!a)),s=t.map(e=>e.valueByOption);k.value=t,h.value=l?s:null!=(e=s[0])?e:null},M=(e=!1,a=!1)=>{const{modelValue:l}=t,{lazy:o,multiple:i,checkStrictly:d}=n.value,u=!d;var v;if(p.value&&!s&&(a||!R(l,h.value)))if(o&&!e){const e=Ae(null!=(v=qe(l))&&v.length?r(v,Qe):[]).map(e=>null==c?void 0:c.getNodeByValue(e)).filter(e=>!!e&&!e.loaded&&!e.loading);e.length?e.forEach(e=>{E(e,()=>M(!1,a))}):M(!0,a)}else{const e=i?qe(l):[l],t=Ae(e.map(e=>null==c?void 0:c.getNodeByValue(e,u)));q(t,a),h.value=Ue(null!=l?l:void 0)}},q=(e,a=!0)=>{const{checkStrictly:l}=n.value,t=k.value,s=e.filter(e=>!!e&&(l||e.isLeaf)),o=null==c?void 0:c.getSameNode(m.value),i=a&&o||s[0];i?i.pathNodes.forEach(e=>L(e,!0)):m.value=void 0,t.forEach(e=>e.doCheck(!1)),G(s).forEach(e=>e.doCheck(!0)),k.value=s,te(I)},I=()=>{se&&v.value.forEach(e=>{const a=null==e?void 0:e.$el;if(a){const e=a.querySelector(`.${o.namespace.value}-scrollbar__wrap`),l=a.querySelector(`.${o.b("node")}.${o.is("active")}:last-child`)||a.querySelector(`.${o.b("node")}.in-active-path`);oe(e,l)}})},H=e=>{const a=e.target,l=ne(e);switch(l){case ie.up:case ie.down:{e.preventDefault();const t=l===ie.up?-1:1;de(re(a,t,`.${o.b("node")}[tabindex="-1"]`));break}case ie.left:{e.preventDefault();const l=v.value[pa(a)-1],t=null==l?void 0:l.$el.querySelector(`.${o.b("node")}[aria-expanded="true"]`);de(t);break}case ie.right:{e.preventDefault();const l=v.value[pa(a)+1],t=null==l?void 0:l.$el.querySelector(`.${o.b("node")}[tabindex="-1"]`);de(t);break}case ie.enter:case ie.numpadEnter:(e=>{if(!e)return;const a=e.querySelector("input");a?a.click():Q(e)&&e.click()})(a)}};return Y(Xe,G({config:n,expandingNode:m,checkedNodes:k,isHoverMenu:N,initialLoaded:p,renderLabelFn:$,lazyLoad:E,expandNode:L,handleCheckChange:V})),ee(n,(e,a)=>{R(e,a)||S()},{immediate:!0}),ee(()=>t.options,S,{deep:!0}),ee(()=>t.modelValue,()=>{s=!1,M()},{deep:!0}),ee(()=>h.value,e=>{R(e,t.modelValue)||(l(W,e),l(Z,e))}),ae(()=>v.value=[]),le(()=>!A(t.modelValue)&&M()),a({menuList:v,menus:f,checkedNodes:k,handleKeyDown:H,handleCheckChange:V,getFlattedNodes:P,getCheckedNodes:z,clearCheckedNodes:()=>{k.value.forEach(e=>e.doCheck(!1)),B(),f.value=f.value.slice(0,1),m.value=void 0,l("expand-change",[])},calculateCheckedValue:B,scrollToExpandingNode:I}),(e,a)=>(y(),b("div",{class:T([x(o).b("panel"),x(o).is("bordered",e.border)]),onKeydown:H},[(y(!0),b(_,null,j(f.value,(a,l)=>(y(),C(la,{key:l,ref_for:!0,ref:e=>v.value[l]=e,index:l,nodes:[...a]},{empty:w(()=>[F(e.$slots,"empty")]),_:2},1032,["index","nodes"]))),128))],34))}})),[["__file","index.vue"]])),fa=U(i(d(i({},ia),{size:fe,placeholder:String,disabled:Boolean,clearable:Boolean,clearIcon:{type:he,default:ve},filterable:Boolean,filterMethod:{type:K(Function),default:(e,a)=>e.text.includes(a)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:Boolean,maxCollapseTagsTooltipHeight:{type:[String,Number]},debounce:{type:Number,default:300},beforeFilter:{type:K(Function),default:()=>!0},placement:{type:K(String),values:He,default:"bottom-start"},fallbackPlacements:{type:K(Array),default:["bottom-start","bottom","top-start","top","right","left"]},popperClass:Ie.popperClass,popperStyle:Ie.popperStyle,teleported:Ie.teleported,effect:{type:K(String),default:"light"},tagType:d(i({},Ke.type),{default:"info"}),tagEffect:d(i({},Ke.effect),{default:"light"}),validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},showCheckedStrategy:{type:String,values:["parent","child"],default:"child"},checkOnClickNode:Boolean,showPrefix:{type:Boolean,default:!0}}),pe)),ma=e=>!0,ga={[W]:ma,[Z]:ma,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,visibleChange:e=>ue(e),expandChange:e=>!!e,removeTag:e=>!!e},ba=c({name:"ElCascader"});const ya=ce(m(c(d(i({},ba),{props:fa,emits:ga,setup(e,{expose:a,emit:l}){const t=e,s={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:e})=>{const{modifiersData:a,placement:l}=e;["right","left","bottom","top"].includes(l)||a.arrow&&(a.arrow.x=35)},requires:["arrow"]}]},o=me();let n=0,i=0;const d=u("cascader"),r=u("input"),{t:c}=D(),{formItem:p}=ge(),h=be(),{valueOnClear:f}=ye(t),{isComposing:m,handleComposition:L}=ke({afterComposition(e){var a;const l=null==(a=e.target)?void 0:a.value;ga(l)}}),V=O(),P=O(),z=O(),M=O(),A=O(),q=O(),I=O(!1),H=O(!1),R=O(!1),U=O(""),K=O(""),J=O([]),Q=O([]),X=g(()=>t.props.multiple?t.collapseTags?J.value.slice(0,t.maxCollapseTags):J.value:[]),Y=g(()=>t.props.multiple&&t.collapseTags?J.value.slice(t.maxCollapseTags):[]),G=g(()=>o.style),ae=g(()=>{var e;return null!=(e=t.placeholder)?e:c("el.cascader.placeholder")}),oe=g(()=>K.value||J.value.length>0||m.value?"":ae.value),ce=Ce(),ue=g(()=>"small"===ce.value?"small":"default"),pe=g(()=>!!t.props.multiple),ve=g(()=>!t.filterable||pe.value),he=g(()=>pe.value?K.value:U.value),fe=g(()=>{var e;return(null==(e=A.value)?void 0:e.checkedNodes)||[]}),{wrapperRef:Fe,isFocused:Me,handleBlur:Ae}=xe(z,{disabled:h,beforeBlur(e){var a,l;return(null==(a=V.value)?void 0:a.isFocusInsideContent(e))||(null==(l=P.value)?void 0:l.isFocusInsideContent(e))},afterBlur(){var e;t.validateEvent&&(null==(e=null==p?void 0:p.validate)||e.call(p,"blur").catch(e=>Ne()))}}),qe=g(()=>!(!t.clearable||h.value||R.value||!H.value&&!Me.value)&&!!fe.value.length),Ie=g(()=>{const{showAllLevels:e,separator:a}=t,l=fe.value;return l.length?pe.value?"":l[0].calcText(e,a):""}),He=g(()=>(null==p?void 0:p.validateState)||""),Ke=g({get:()=>Ue(t.modelValue),set(e){const a=null!=e?e:f.value;l(W,a),l(Z,a),t.validateEvent&&(null==p||p.validate("change").catch(e=>Ne()))}}),Qe=g(()=>[d.b(),d.m(ce.value),d.is("disabled",h.value),o.class]),Xe=g(()=>[r.e("icon"),"icon-arrow-down",d.is("reverse",I.value)]),Ye=g(()=>d.is("focus",Me.value)),Ge=g(()=>{var e,a;return null==(a=null==(e=V.value)?void 0:e.popperRef)?void 0:a.contentRef}),ea=e=>{if(Me.value){const a=new FocusEvent("blur",e);Ae(a)}aa(!1)},aa=e=>{var a,s,o;h.value||(e=null!=e?e:!I.value)!==I.value&&(I.value=e,null==(s=null==(a=z.value)?void 0:a.input)||s.setAttribute("aria-expanded",`${e}`),e?(la(),te(null==(o=A.value)?void 0:o.scrollToExpandingNode)):t.filterable&&pa(),l("visibleChange",e))},la=()=>{te(()=>{var e;null==(e=V.value)||e.updatePopper()})},ta=()=>{R.value=!1},sa=e=>{var a;const t=e.node;t.doCheck(!1),null==(a=A.value)||a.calculateCheckedValue(),l("removeTag",t.valueByOption)},oa=()=>{var e,a;const{filterMethod:l,showAllLevels:s,separator:o}=t,n=null==(a=null==(e=A.value)?void 0:e.getFlattedNodes(!t.props.checkStrictly))?void 0:a.filter(e=>!e.isDisabled&&(e.calcText(s,o),l(e,he.value)));pe.value&&J.value.forEach(e=>{e.hitState=!1}),R.value=!0,Q.value=n,la()},na=()=>{var e;let a;a=R.value&&q.value?q.value.$el.querySelector(`.${d.e("suggestion-item")}`):null==(e=A.value)?void 0:e.$el.querySelector(`.${d.b("node")}[tabindex="-1"]`),a&&(a.focus(),!R.value&&a.click())},ia=()=>{var e,a;const l=null==(e=z.value)?void 0:e.input,t=M.value,s=null==(a=q.value)?void 0:a.$el;if(se&&l){if(s){s.querySelector(`.${d.e("suggestion-list")}`).style.minWidth=`${l.offsetWidth}px`}if(t){const{offsetHeight:e}=t,a=J.value.length>0?Math.max(e,n)-2+"px":`${n}px`;l.style.height=a,la()}}},da=e=>{var a;return null==(a=A.value)?void 0:a.getCheckedNodes(e)},ra=e=>{la(),l("expandChange",e)},ca=e=>{if(m.value)return;switch(ne(e)){case ie.enter:case ie.numpadEnter:aa();break;case ie.down:aa(!0),te(na),e.preventDefault();break;case ie.esc:!0===I.value&&(e.preventDefault(),e.stopPropagation(),aa(!1));break;case ie.tab:aa(!1)}},ua=()=>{var e;null==(e=A.value)||e.clearCheckedNodes(),!I.value&&t.filterable&&pa(),aa(!1),l("clear")},pa=()=>{const{value:e}=Ie;U.value=e,K.value=e},va=e=>{const a=e.target,l=ne(e);switch(l){case ie.up:case ie.down:{e.preventDefault();const t=l===ie.up?-1:1;de(re(a,t,`.${d.e("suggestion-item")}[tabindex="-1"]`));break}case ie.enter:case ie.numpadEnter:a.click()}},fa=()=>{const e=J.value[J.value.length-1];i=K.value?0:i+1,!e||!i||t.collapseTags&&J.value.length>1||(e.hitState?sa(e):e.hitState=!0)},ma=Je(()=>{const{value:e}=he;if(!e)return;const a=t.beforeFilter(e);we(a)?a.then(oa).catch(()=>{}):!1!==a?oa():ta()},t.debounce),ga=(e,a)=>{!I.value&&aa(!0),(null==a?void 0:a.isComposing)||(e?ma():ta())},ba=e=>Number.parseFloat(ze(r.cssVarName("input-height"),e).value)-2;return ee(R,la),ee([fe,h,()=>t.collapseTags,()=>t.maxCollapseTags],()=>{if(!pe.value)return;const e=(()=>{switch(t.showCheckedStrategy){case"child":return fe.value;case"parent":{const e=da(!1),a=e.map(e=>e.value);return e.filter(e=>!e.parent||!a.includes(e.parent.value))}default:return[]}})(),a=[];e.forEach(e=>a.push((e=>{const{showAllLevels:a,separator:l}=t;return{node:e,key:e.uid,text:e.calcText(a,l),hitState:!1,closable:!h.value&&!e.isDisabled}})(e))),J.value=a}),ee(J,()=>{te(()=>ia())}),ee(ce,()=>{return e=this,a=null,l=function*(){yield te();const e=z.value.input;n=ba(e)||n,ia()},new Promise((t,s)=>{var o=e=>{try{i(l.next(e))}catch(a){s(a)}},n=e=>{try{i(l.throw(e))}catch(a){s(a)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);i((l=l.apply(e,a)).next())});var e,a,l}),ee(Ie,pa,{immediate:!0}),le(()=>{const e=z.value.input,a=ba(e);n=e.offsetHeight||a,$e(e,ia)}),a({getCheckedNodes:da,cascaderPanelRef:A,togglePopperVisible:aa,contentRef:Ge,presentText:Ie}),(e,a)=>(y(),C(x(Re),{ref_key:"tooltipRef",ref:V,visible:I.value,teleported:e.teleported,"popper-class":[x(d).e("dropdown"),e.popperClass],"popper-style":e.popperStyle,"popper-options":s,"fallback-placements":e.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:e.placement,transition:`${x(d).namespace.value}-zoom-in-top`,effect:e.effect,pure:"",persistent:e.persistent,onHide:ta},{default:w(()=>[Se((y(),b("div",{ref_key:"wrapperRef",ref:Fe,class:T(x(Qe)),style:_e(x(G)),onClick:()=>aa(!x(ve)||void 0),onKeydown:ca,onMouseenter:e=>H.value=!0,onMouseleave:e=>H.value=!1},[v(x(Le),{ref_key:"inputRef",ref:z,modelValue:U.value,"onUpdate:modelValue":e=>U.value=e,placeholder:x(oe),readonly:x(ve),disabled:x(h),"validate-event":!1,size:x(ce),class:T(x(Ye)),tabindex:x(pe)&&e.filterable&&!x(h)?-1:void 0,onCompositionstart:x(L),onCompositionupdate:x(L),onCompositionend:x(L),onInput:ga},Ve({suffix:w(()=>[x(qe)?(y(),C(x(E),{key:"clear",class:T([x(r).e("icon"),"icon-circle-close"]),onClick:N(ua,["stop"])},{default:w(()=>[(y(),C(De(e.clearIcon)))]),_:1},8,["class","onClick"])):(y(),C(x(E),{key:"arrow-down",class:T(x(Xe)),onClick:N(e=>aa(),["stop"])},{default:w(()=>[v(x(Pe))]),_:1},8,["class","onClick"]))]),_:2},[e.$slots.prefix?{name:"prefix",fn:w(()=>[F(e.$slots,"prefix")])}:void 0]),1032,["modelValue","onUpdate:modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),x(pe)?(y(),b("div",{key:0,ref_key:"tagWrapper",ref:M,class:T([x(d).e("tags"),x(d).is("validate",Boolean(x(He)))])},[F(e.$slots,"tag",{data:J.value,deleteTag:sa},()=>[(y(!0),b(_,null,j(x(X),a=>(y(),C(x(Ze),{key:a.key,type:e.tagType,size:x(ue),effect:e.tagEffect,hit:a.hitState,closable:a.closable,"disable-transitions":"",onClose:e=>sa(a)},{default:w(()=>[$("span",null,B(a.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),e.collapseTags&&J.value.length>e.maxCollapseTags?(y(),C(x(Re),{key:0,ref_key:"tagTooltipRef",ref:P,disabled:I.value||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,effect:e.effect,persistent:e.persistent},{default:w(()=>[v(x(Ze),{closable:!1,size:x(ue),type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:w(()=>[$("span",{class:T(x(d).e("tags-text"))}," + "+B(J.value.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect"])]),content:w(()=>[v(x(Be),{"max-height":e.maxCollapseTagsTooltipHeight},{default:w(()=>[$("div",{class:T(x(d).e("collapse-tags"))},[(y(!0),b(_,null,j(x(Y),(a,l)=>(y(),b("div",{key:l,class:T(x(d).e("collapse-tag"))},[(y(),C(x(Ze),{key:a.key,class:"in-tooltip",type:e.tagType,size:x(ue),effect:e.tagEffect,hit:a.hitState,closable:a.closable,"disable-transitions":"",onClose:e=>sa(a)},{default:w(()=>[$("span",null,B(a.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:1},8,["disabled","popper-class","popper-style","effect","persistent"])):k("v-if",!0),e.filterable&&!x(h)?Se((y(),b("input",{key:1,"onUpdate:modelValue":e=>K.value=e,type:"text",class:T(x(d).e("search-input")),placeholder:x(Ie)?"":x(ae),onInput:e=>ga(K.value,e),onClick:N(e=>aa(!0),["stop"]),onKeydown:Oe(fa,["delete"]),onCompositionstart:x(L),onCompositionupdate:x(L),onCompositionend:x(L)},null,42,["onUpdate:modelValue","placeholder","onInput","onClick","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend"])),[[je,K.value]]):k("v-if",!0)],2)):k("v-if",!0)],46,["onClick","onMouseenter","onMouseleave"])),[[x(We),ea,x(Ge)]])]),content:w(()=>[e.$slots.header?(y(),b("div",{key:0,class:T(x(d).e("header")),onClick:N(()=>{},["stop"])},[F(e.$slots,"header")],10,["onClick"])):k("v-if",!0),Se(v(x(ha),{ref_key:"cascaderPanelRef",ref:A,modelValue:x(Ke),"onUpdate:modelValue":e=>Te(Ke)?Ke.value=e:null,options:e.options,props:t.props,border:!1,"render-label":e.$slots.default,onExpandChange:ra,onClose:a=>e.$nextTick(()=>aa(!1))},{empty:w(()=>[F(e.$slots,"empty")]),_:3},8,["modelValue","onUpdate:modelValue","options","props","render-label","onClose"]),[[Ee,!R.value]]),e.filterable?Se((y(),C(x(Be),{key:1,ref_key:"suggestionPanel",ref:q,tag:"ul",class:T(x(d).e("suggestion-panel")),"view-class":x(d).e("suggestion-list"),onKeydown:va},{default:w(()=>[Q.value.length?(y(!0),b(_,{key:0},j(Q.value,a=>(y(),b("li",{key:a.uid,class:T([x(d).e("suggestion-item"),x(d).is("checked",a.checked)]),tabindex:-1,onClick:e=>(e=>{var a,l;const{checked:t}=e;pe.value?null==(a=A.value)||a.handleCheckChange(e,!t,!1):(!t&&(null==(l=A.value)||l.handleCheckChange(e,!0,!1)),aa(!1))})(a)},[F(e.$slots,"suggestion-item",{item:a},()=>[$("span",null,B(a.text),1),a.checked?(y(),C(x(E),{key:0},{default:w(()=>[v(x(S))]),_:1})):k("v-if",!0)])],10,["onClick"]))),128)):F(e.$slots,"empty",{key:1},()=>[$("li",{class:T(x(d).e("empty-text"))},B(x(c)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[Ee,R.value]]):k("v-if",!0),e.$slots.footer?(y(),b("div",{key:2,class:T(x(d).e("footer")),onClick:N(()=>{},["stop"])},[F(e.$slots,"footer")],10,["onClick"])):k("v-if",!0)]),_:3},8,["visible","teleported","popper-class","popper-style","fallback-placements","placement","transition","effect","persistent"]))}})),[["__file","cascader.vue"]]));export{ya as E};
|