@xn-lib/component 0.0.15 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.iife.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/types/cascader/index.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("element-plus"),l=require("vueuc"),n=require("@element-plus/icons-vue");function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function a(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=d(e))||t&&e&&"number"==typeof e.length){l&&(e=l);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return u=e.done,e},e:function(e){o=!0,a=e},f:function(){try{u||null==l.return||l.return()}finally{if(o)throw a}}}}function u(e,t,l){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var l=e[Symbol.toPrimitive];if(void 0!==l){var n=l.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function i(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?o(Object(l),!0).forEach(function(t){u(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):o(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function c(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return r(e,t);var l={}.toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?r(e,t):void 0}}var s=["title"],v={class:"base-cascader-option__suffix"},f=e.defineComponent({__name:"CascaderOption",props:{tmNode:{type:null,required:!0}},setup:function(l){var r=l,a=e.inject("cascaderContext"),u=e.computed(function(){return r.tmNode.key}),o=e.computed(function(){return r.tmNode.rawNode[a.value.labelField]}),i=e.computed(function(){return r.tmNode.disabled}),c=e.computed(function(){return r.tmNode.isLeaf}),d=e.computed(function(){return a.value.loadingKeySet.has(u.value)}),f=e.computed(function(){return!a.value.remote&&"hover"===a.value.expandTrigger}),p=e.computed(function(){if(!a.value.multiple){var e=a.value.mergedValue;return Array.isArray(e)?0!==e.length&&e[e.length-1]===u.value:e===u.value}return a.value.checkedKeys.includes(u.value)}),m=e.computed(function(){return!!a.value.multiple&&a.value.indeterminateKeys.includes(u.value)}),h=e.computed(function(){return a.value.hoverKeyPath.includes(u.value)}),y=e.computed(function(){return a.value.keyboardKey===u.value}),k=e.computed(function(){if(p.value||h.value)return!0;if(!a.value.multiple){var e=a.value.mergedValue;if(Array.isArray(e)&&e.length>0)return e.includes(u.value)}return!1}),b=e.computed(function(){return a.value.showCheckbox}),g=e.computed(function(){return a.value.checkStrategy}),w=e.computed(function(){return a.value.multiple}),C=e.computed(function(){return a.value.cascade}),N=e.computed(function(){return!!p.value&&(w.value?!b.value:"child"===g.value&&!(w.value&&C.value))});function S(e){if(!i.value&&!e.target.closest(".base-cascader-option__checkbox")){var t=a.value;t.updateHoverKey(u.value),t.updateKeyboardKey(u.value),t.remote&&!r.tmNode.shallowLoaded&&!d.value&&t.onLoad&&(t.addLoadingKey(u.value),t.onLoad(r.tmNode.rawNode).then(function(){t.deleteLoadingKey(u.value)}).catch(function(){t.deleteLoadingKey(u.value)})),t.multiple,c.value&&q()}}function B(){if(f.value&&!i.value){var e=a.value;e.updateHoverKey(u.value),e.updateKeyboardKey(u.value),e.remote&&!r.tmNode.shallowLoaded&&!d.value&&e.onLoad&&(e.addLoadingKey(u.value),e.onLoad(r.tmNode.rawNode).then(function(){e.deleteLoadingKey(u.value)}).catch(function(){e.deleteLoadingKey(u.value)}))}}function _(){f.value&&B()}function x(){q()}function q(){var e=a.value;e.multiple?m.value||p.value?e.doUncheck(u.value):e.doCheck(u.value):(e.doCheck(u.value),!e.showCheckbox&&c.value&&e.closeMenu(!1))}return function(r,a){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-cascader-option",{"is-active":k.value,"is-disabled":i.value,"is-hover":h.value||y.value,"has-checkbox":b.value}]),onClick:S,onMouseenter:B,onMousemove:_},[b.value?(e.openBlock(),e.createBlock(e.unref(t.ElCheckbox),{key:0,"model-value":p.value,indeterminate:m.value,disabled:i.value,class:"base-cascader-option__checkbox",onClick:a[0]||(a[0]=e.withModifiers(function(){},["stop"])),onChange:x},null,8,["model-value","indeterminate","disabled"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{class:"base-cascader-option__label",title:o.value},[e.renderSlot(r.$slots,"label",{option:l.tmNode.rawNode,checked:p.value},function(){return[e.createTextVNode(e.toDisplayString(o.value),1)]})],8,s),e.createElementVNode("span",v,[d.value?(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:0,class:"is-loading"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.Loading))]}),_:1})):c.value?N.value?(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:2,class:"check-icon"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.Check))]}),_:1})):e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:1,class:"arrow-icon"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.ArrowRight))]}),_:1}))])],34)}}});f.__scopeId="data-v-248f99f8",f.__file="packages/components/src/cascader/CascaderOption.vue";var p={key:0,class:"base-cascader-menu__wrapper"},m={key:0,class:"base-cascader-submenu__list"},h={key:1,class:"base-cascader-submenu__list base-cascader-submenu__list--virtual"},y={key:1,class:"base-cascader-menu__empty"},k={key:2,class:"base-cascader-menu__action"},b=e.defineComponent({__name:"CascaderMenu",props:{show:{type:Boolean,required:!0},menuModel:{type:Array,required:!0},onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},getColumnStyle:{type:Function,required:!1},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(n,r){var a=r.expose,u=n,o=e.ref(null);function i(e){o.value&&(o.value.contains(e.relatedTarget)||u.onFocus(e))}function c(e){o.value&&(o.value.contains(e.relatedTarget)||u.onBlur(e))}return a({scroll:function(e,t,l){},showErrorMessage:function(e){console.warn("Loading required: ".concat(e))}}),function(r,a){return e.openBlock(),e.createBlock(e.Transition,{name:"el-zoom-in-top",persisted:""},{default:e.withCtx(function(){var u;return[e.withDirectives(e.createElementVNode("div",{ref_key:"menuRef",ref:o,class:"base-cascader-menu",tabindex:"0",onMousedown:a[0]||(a[0]=function(){return n.onMousedown&&n.onMousedown.apply(n,arguments)}),onKeydown:a[1]||(a[1]=function(){return n.onKeydown&&n.onKeydown.apply(n,arguments)}),onFocusin:i,onFocusout:c,onClick:a[2]||(a[2]=e.withModifiers(function(){},["stop"]))},[null!==(u=n.menuModel[0])&&void 0!==u&&u.length?(e.openBlock(),e.createElementBlock("div",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.menuModel,function(a,u){var o;return e.openBlock(),e.createElementBlock("div",{key:u,class:"base-cascader-submenu",style:e.normalizeStyle(null===(o=n.getColumnStyle)||void 0===o?void 0:o.call(n,{level:u}))},[!n.virtualScroll||a.length<50?(e.openBlock(),e.createElementBlock("div",m,[e.createVNode(e.unref(t.ElScrollbar),null,{default:e.withCtx(function(){return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a,function(t){return e.openBlock(),e.createBlock(f,{key:t.key,"tm-node":t},e.createSlots({_:2},[r.$slots.label?{name:"label",fn:e.withCtx(function(t){var l=t.option,n=t.checked;return[e.renderSlot(r.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"])}),128))]}),_:2},1024)])):(e.openBlock(),e.createElementBlock("div",h,[e.createVNode(e.unref(l.VirtualList),{items:a,"item-size":n.optionHeight,style:{height:"280px"}},{default:e.withCtx(function(t){var l=t.item;return[(e.openBlock(),e.createBlock(f,{key:l.key,"tm-node":l},e.createSlots({_:2},[r.$slots.label?{name:"label",fn:e.withCtx(function(t){var l=t.option,n=t.checked;return[e.renderSlot(r.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"]))]}),_:3},8,["items","item-size"])]))],4)}),128))])):(e.openBlock(),e.createElementBlock("div",y,[e.renderSlot(r.$slots,"empty",{},function(){return[e.createVNode(e.unref(t.ElEmpty),{"image-size":60,description:"暂无数据"})]})])),r.$slots.action?(e.openBlock(),e.createElementBlock("div",k,[e.renderSlot(r.$slots,"action")])):e.createCommentVNode("v-if",!0)],544),[[e.vShow,n.show]])]}),_:3})}}});function g(e,t){var l=new Map,n=[];var r=function e(n,r,a){var u=[];return n.map(function(n,o){var i=t.getKey(n),c=t.getChildren(n),d=t.getDisabled(n),s=void 0!==n.isLeaf?n.isLeaf:!c||0===c.length,v=s||void 0!==c&&c.length>0,f={key:i,rawNode:n,level:r,index:o,isLeaf:s,isGroup:!1,ignored:!1,disabled:d,shallowLoaded:v,parent:a,siblings:u,children:void 0};return u.push(f),l.set(i,f),c&&c.length>0&&(f.children=e(c,r+1,f)),f})}(e,0,null);function u(e){return l.get(e)||null}function o(e){var t=[e.key];return e.children&&e.children.forEach(function(e){t.push.apply(t,c(o(e)))}),t}n.push.apply(n,c(r));var i=function e(t){var l=[];return t.forEach(function(t){t.disabled||(l.push(t),t.children&&l.push.apply(l,c(e(t.children))))}),l}(n);return{treeNodes:n,getNode:u,getPath:function(e){if(null===e)return{treeNodePath:[],keyPath:[],treeNode:null};var t=u(e);if(!t)return{treeNodePath:[],keyPath:[],treeNode:null};for(var l=[],n=[],r=t;r;)l.unshift(r),n.unshift(r.key),r=r.parent;return{treeNodePath:l,keyPath:n,treeNode:t}},getCheckedKeys:function(e,t){var l=new Set(e),r=new Set;if(!t.cascade)return{checkedKeys:e,indeterminateKeys:[]};function u(e){if(!e.children||0===e.children.length)return{allChecked:l.has(e.key),someChecked:l.has(e.key)};var t,n=!0,o=!1,i=a(e.children);try{for(i.s();!(t=i.n()).done;){var c=u(t.value);c.allChecked||(n=!1),c.someChecked&&(o=!0)}}catch(e){i.e(e)}finally{i.f()}var d=l.has(e.key);return n?(l.add(e.key),{allChecked:!0,someChecked:!0}):o||d?(r.add(e.key),{allChecked:!1,someChecked:!0}):{allChecked:!1,someChecked:!1}}return n.forEach(function(e){return u(e)}),{checkedKeys:Array.from(l),indeterminateKeys:Array.from(r)}},check:function(e,t,l){var n=u(e);if(!n)return{checkedKeys:t};var r=new Set(t);return r.add(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return r.add(e)}),{checkedKeys:Array.from(r)}},uncheck:function(e,t,l){var n=u(e);if(!n)return{checkedKeys:t};var r=new Set(t);return r.delete(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return r.delete(e)}),{checkedKeys:Array.from(r)}},getPrev:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:0===l?t.loop?i[i.length-1]:null:i[l-1]},getNext:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:l===i.length-1?t.loop?i[0]:null:i[l+1]},getChild:function(e){var t=u(e);return t&&t.children&&0!==t.children.length&&t.children.find(function(e){return!e.disabled})||null},getParent:function(e){var t=u(e);return(null==t?void 0:t.parent)||null},getFirstAvailableNode:function(){return i[0]||null}}}function w(e){return e?e.map(function(e){return e.rawNode}):null}function C(e,t,l){for(var n=[];e;)n.push(e.rawNode[l]),e=e.parent;return n.reverse().join(t)}b.__scopeId="data-v-097326a4",b.__file="packages/components/src/cascader/CascaderMenu.vue";var N=["onClick","onMouseenter"],S={class:"base-cascader-select-option__label"},B={key:0,class:"base-cascader-select-menu__empty"},_={key:1,class:"base-cascader-select-menu__virtual"},x=["onClick","onMouseenter"],q={class:"base-cascader-select-option__label"},E={key:1,class:"base-cascader-select-menu__empty"},K=e.defineComponent({__name:"CascaderSelectMenu",props:{show:{type:Boolean,required:!0},pattern:{type:String,required:!0},multiple:{type:Boolean,required:!0},tmNodes:{type:Array,required:!0},filter:{type:null,required:!1},labelField:{type:String,required:!0},separator:{type:String,required:!0},value:{type:null,required:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(r,u){var o=u.expose,i=r,c=e.inject("cascaderContext"),d=e.ref(null),s=e.ref(null),v=e.computed(function(){return function(e,t,l,n){var r=[],u=[];return function e(o){var i,c=a(o);try{for(c.s();!(i=c.n()).done;){var d=i.value;if(!d.disabled){var s=d.rawNode;u.push(s),!d.isLeaf&&t||r.push({label:C(d,n,l),value:d.key,rawNode:d.rawNode,path:Array.from(u)}),!d.isLeaf&&d.children&&e(d.children),u.pop()}}}catch(e){c.e(e)}finally{c.f()}}(e),r}(i.tmNodes,"child"===c.value.checkStrategy,i.labelField,i.separator)}),f=e.computed(function(){return i.filter?i.filter:function(e,t,l){return l.some(function(t){return t[i.labelField]&&t[i.labelField].toLowerCase().includes(e.toLowerCase())})}}),p=e.computed(function(){return i.pattern?v.value.filter(function(e){return f.value(i.pattern,e.rawNode,e.path)}):v.value});function m(e){return i.multiple&&Array.isArray(i.value)?i.value.includes(e):i.value===e}function h(e){var t=c.value;i.multiple?m(e.value)?t.doUncheck(e.value):t.doCheck(e.value):(t.doCheck(e.value),t.clearPattern(),t.closeMenu())}return o({prev:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e>0?s.value=p.value[e-1].value:p.value.length>0&&(s.value=p.value[p.value.length-1].value)},next:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e<p.value.length-1?s.value=p.value[e+1].value:p.value.length>0&&(s.value=p.value[0].value)},enter:function(){if(null!==s.value){var e=p.value.find(function(e){return e.value===s.value});if(e)return h(e),!0}return!1}}),function(a,u){return e.openBlock(),e.createBlock(e.Transition,{name:"el-zoom-in-top",persisted:""},{default:e.withCtx(function(){return[e.withDirectives(e.createElementVNode("div",{ref_key:"selectMenuRef",ref:d,class:"base-cascader-select-menu",onClick:u[2]||(u[2]=e.withModifiers(function(){},["stop"]))},[!r.virtualScroll||p.value.length<50?(e.openBlock(),e.createBlock(e.unref(t.ElScrollbar),{key:0,"max-height":"280px"},{default:e.withCtx(function(){return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,function(l){return e.openBlock(),e.createElementBlock("div",{key:l.value,class:e.normalizeClass(["base-cascader-select-option",{"is-selected":m(l.value),"is-hover":s.value===l.value}]),onClick:function(e){return h(l)},onMouseenter:function(e){return s.value=l.value}},[r.multiple?(e.openBlock(),e.createBlock(e.unref(t.ElCheckbox),{key:0,"model-value":m(l.value),class:"base-cascader-select-option__checkbox",onClick:u[0]||(u[0]=e.withModifiers(function(){},["stop"]))},null,8,["model-value"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",S,e.toDisplayString(l.label),1),!r.multiple&&m(l.value)?(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:1,class:"check-icon"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.Check))]}),_:1})):e.createCommentVNode("v-if",!0)],42,N)}),128)),0===p.value.length?(e.openBlock(),e.createElementBlock("div",B,[e.renderSlot(a.$slots,"not-found",{},function(){return[e.createVNode(e.unref(t.ElEmpty),{"image-size":60,description:"无匹配数据"})]})])):e.createCommentVNode("v-if",!0)]}),_:3})):(e.openBlock(),e.createElementBlock("div",_,[p.value.length>0?(e.openBlock(),e.createBlock(e.unref(t.ElScrollbar),{key:0,"max-height":"280px"},{default:e.withCtx(function(){return[e.createVNode(e.unref(l.VirtualList),{items:p.value,"item-size":r.optionHeight,style:{height:"280px"}},{default:e.withCtx(function(l){var a=l.item;return[(e.openBlock(),e.createElementBlock("div",{key:a.value,class:e.normalizeClass(["base-cascader-select-option",{"is-selected":m(a.value),"is-hover":s.value===a.value}]),onClick:function(e){return h(a)},onMouseenter:function(e){return s.value=a.value}},[r.multiple?(e.openBlock(),e.createBlock(e.unref(t.ElCheckbox),{key:0,"model-value":m(a.value),class:"base-cascader-select-option__checkbox",onClick:u[1]||(u[1]=e.withModifiers(function(){},["stop"]))},null,8,["model-value"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",q,e.toDisplayString(a.label),1),!r.multiple&&m(a.value)?(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:1,class:"check-icon"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.Check))]}),_:1})):e.createCommentVNode("v-if",!0)],42,x))]}),_:1},8,["items","item-size"])]}),_:1})):(e.openBlock(),e.createElementBlock("div",E,[e.renderSlot(a.$slots,"not-found",{},function(){return[e.createVNode(e.unref(t.ElEmpty),{"image-size":60,description:"无匹配数据"})]})]))]))],512),[[e.vShow,r.show]])]}),_:3})}}});K.__scopeId="data-v-3901f6ec",K.__file="packages/components/src/cascader/CascaderSelectMenu.vue";var P={class:"base-cascader-dropdown"},A=e.defineComponent(i(i({},{name:"XnCascader"}),{},{__name:"index",props:{modelValue:{type:null,required:!1,default:null},options:{type:Array,required:!1,default:function(){return[]}},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},filterable:{type:Boolean,required:!1,default:!1},multiple:{type:Boolean,required:!1,default:!1},size:{type:String,required:!1,default:"default"},expandTrigger:{type:null,required:!1,default:"click"},separator:{type:String,required:!1,default:" / "},showPath:{type:Boolean,required:!1,default:!0},cascade:{type:Boolean,required:!1,default:!0},checkStrategy:{type:null,required:!1,default:"all"},remote:{type:Boolean,required:!1,default:!1},onLoad:{type:null,required:!1},filter:{type:null,required:!1},valueField:{type:String,required:!1,default:"value"},labelField:{type:String,required:!1,default:"label"},childrenField:{type:String,required:!1,default:"children"},disabledField:{type:String,required:!1,default:"disabled"},maxTagCount:{type:Number,required:!1,default:1},popperClass:{type:String,required:!1},getColumnStyle:{type:Function,required:!1},clearFilterAfterSelect:{type:Boolean,required:!1,default:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34},showCheckbox:{type:Boolean,required:!1,default:void 0},emitPath:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","focus","blur"],setup:function(l,n){var r=n.expose,a=n.emit,u=l,o=a,i=e.ref(null),c=e.ref(null),d=e.ref(null),s=e.ref(u.modelValue),v=e.ref(""),f=e.ref(!1),p=e.ref(null),m=e.ref(null),h=e.ref(new Set),y=e.computed(function(){return u.disabled});e.computed(function(){return h.value.size>0});var k=e.computed(function(){return g(u.options,{getKey:function(e){return e[u.valueField]},getChildren:function(e){return e[u.childrenField]},getDisabled:function(e){return e[u.disabledField]||!1}})}),N=e.computed(function(){var e;return u.multiple&&Array.isArray(s.value)?(e=u.emitPath?0===s.value.length?[]:Array.isArray(s.value[0])?s.value.map(function(e){return e[e.length-1]}):s.value:s.value,k.value.getCheckedKeys(e,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1})):{checkedKeys:[],indeterminateKeys:[]}}),S=e.computed(function(){return N.value.checkedKeys}),B=e.computed(function(){return N.value.indeterminateKeys}),_=e.computed(function(){var e,t=k.value.getPath(m.value),l=t.treeNodePath,n=t.treeNode;return null===n?e=[k.value.treeNodes]:(e=l.map(function(e){return e.siblings}),n.isLeaf||h.value.has(n.key)||!n.children||e.push(n.children)),e}),x=e.computed(function(){return k.value.getPath(m.value).keyPath}),q=e.computed(function(){return void 0!==u.showCheckbox?u.showCheckbox:!(!u.multiple||!u.cascade)||"child"!==u.checkStrategy}),E=e.computed(function(){return!(!u.filterable||!v.value)}),A=e.computed(function(){if(u.multiple){var e=k.value,t=e.getCheckedKeys,l=e.getNode;return t(S.value,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1}).checkedKeys.map(function(e){var t=l(e);return null===t?{label:String(e),value:e}:{label:u.showPath?C(t,u.separator,u.labelField):t.rawNode[u.labelField],value:t.key}})}return[]}),F=e.computed(function(){if(!u.multiple){var e=k.value.getNode;if(null===s.value)return null;var t=null;if(u.emitPath&&Array.isArray(s.value)){if(0===s.value.length)return null;var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||(t=s.value);if(null==t)return null;var n=e(t);return null===n?{label:String(t),value:t}:{label:u.showPath?C(n,u.separator,u.labelField):n.rawNode[u.labelField],value:n.key}}return null}),L=e.computed({get:function(){var e;return u.multiple?A.value.map(function(e){return e.label}):(null===(e=F.value)||void 0===e?void 0:e.label)||""},set:function(e){}});function V(e,t,l){s.value=e,o("update:modelValue",e),o("change",e,t,l)}function M(e){var t=k.value.getNode;return e.map(function(e){var l;return(null===(l=t(e))||void 0===l?void 0:l.rawNode)||null})}function O(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,r=u.emitPath,a=k.value,o=a.check,i=a.getNode,c=a.getPath;if(l){var d=o(e,N.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;V(r?d.map(function(e){return c(e).keyPath}):d,M(d),d.map(function(e){var t;return w(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}else if("child"===n){var s=i(e);if(null==s||!s.isLeaf)return!1;var v=c(e);V(r?v.keyPath:e,s.rawNode,w(v.treeNodePath)),R()}else{var f=i(e),h=c(e);V(r?h.keyPath:e,(null==f?void 0:f.rawNode)||null,w(null==h?void 0:h.treeNodePath)),R()}return!0}function j(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,r=u.emitPath;if(l){var a=k.value,o=a.uncheck,i=a.getNode,c=a.getPath,d=o(e,N.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;V(r?d.map(function(e){return c(e).keyPath}):d,d.map(function(e){var t;return(null===(t=i(e))||void 0===t?void 0:t.rawNode)||null}),d.map(function(e){var t;return w(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}}function $(e){m.value=e}function z(e){p.value=e}function D(e){h.value.add(e)}function I(e){h.value.delete(e)}function T(){var e,t,l=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(f.value=!1,v.value="",l)?null===(e=i.value)||void 0===e||e.focus():null===(t=i.value)||void 0===t||t.blur()}function H(){u.clearFilterAfterSelect&&(v.value="")}function R(){v.value="",setTimeout(function(){if(i.value&&void 0!==i.value.query){var e;i.value.query="";var t=null===(e=i.value.$el)||void 0===e?void 0:e.querySelector("input");t&&F.value&&(t.value=F.value.label)}},0)}function U(){y.value||f.value||(f.value=!0)}function G(e){f.value=e,e||(v.value="")}function X(){u.multiple?V([],[],[]):V(null,null,null)}function J(e){var t=A.value.find(function(t){return t.label===e});t&&j(t.value)}function Q(e){v.value=e}function W(e){o("focus",e)}function Y(e){o("blur",e)}function Z(e){o("focus",e)}function ee(e){o("blur",e)}function te(e){ne(e)}function le(e){e.preventDefault()}function ne(e){if(f.value)switch(e.key){case"Enter":var t;if(E.value)null===(t=d.value)||void 0===t||t.enter();else if(null!==p.value)if(S.value.includes(p.value)||B.value.includes(p.value))j(p.value);else{var l=O(p.value);!u.multiple&&l&&T(!0)}break;case"ArrowUp":var n;if(e.preventDefault(),E.value)null===(n=d.value)||void 0===n||n.prev();else re("prev");break;case"ArrowDown":var r;if(e.preventDefault(),E.value)null===(r=d.value)||void 0===r||r.next();else re("next");break;case"ArrowLeft":e.preventDefault(),E.value||re("parent");break;case"ArrowRight":e.preventDefault(),E.value||re("child");break;case"Escape":T(!0)}}function re(e){var t=p.value,l=k.value,n=l.getPrev,r=l.getNext,a=l.getChild,o=l.getParent,i=l.getFirstAvailableNode,c=l.getNode;switch(e){case"prev":if(null!==t){var d=n(t,{loop:!0});d&&z(d.key)}break;case"next":if(null===t){var s=i();s&&z(s.key)}else{var v=r(t,{loop:!0});v&&z(v.key)}break;case"child":if(null!==t){var f=c(t);if(null!=f&&f.shallowLoaded){var m=a(t);m&&($(t),z(m.key))}else f&&!h.value.has(t)&&u.onLoad&&(D(t),$(t),u.onLoad(f.rawNode).then(function(){return I(t)}).catch(function(){return I(t)}))}break;case"parent":if(null!==t){var y=o(t);if(y){z(y.key);var b=o(y.key);$((null==b?void 0:b.key)||null)}}}}e.watch(function(){return u.modelValue},function(e){s.value=e}),e.watch(f,function(e){if(!e)return p.value=null,void(m.value=null);if(u.multiple)p.value=null,m.value=null;else{var t=null;if(u.emitPath&&Array.isArray(s.value)&&s.value.length>0){var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||null===s.value||(t=s.value);if(null!==t){var n=k.value.getNode(t);if(n){var r=n.parent;r?(p.value=r.key,m.value=r.key):(p.value=t,m.value=t)}}else p.value=null,m.value=null}});var ae=e.computed(function(){return{mergedValue:s.value,checkedKeys:S.value,indeterminateKeys:B.value,hoverKeyPath:x.value,keyboardKey:p.value,hoverKey:m.value,loadingKeySet:h.value,multiple:u.multiple,cascade:u.cascade,checkStrategy:u.checkStrategy,expandTrigger:u.expandTrigger,remote:u.remote,showCheckbox:q.value,labelField:u.labelField,valueField:u.valueField,childrenField:u.childrenField,disabledField:u.disabledField,onLoad:u.onLoad,updateHoverKey:$,updateKeyboardKey:z,addLoadingKey:D,deleteLoadingKey:I,doCheck:O,doUncheck:j,closeMenu:T,clearPattern:H}});return e.provide("cascaderContext",ae),r({focus:function(){var e;null===(e=i.value)||void 0===e||e.focus()},blur:function(){var e;null===(e=i.value)||void 0===e||e.blur()},getCheckedData:function(){return q.value?{keys:S.value,options:M(S.value)}:{keys:[],options:[]}},getIndeterminateData:function(){return q.value?{keys:B.value,options:M(B.value)}:{keys:[],options:[]}}}),function(n,r){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-cascader",{"is-disabled":y.value}])},[e.createVNode(e.unref(t.ElSelect),{ref_key:"selectRef",ref:i,modelValue:L.value,"onUpdate:modelValue":r[0]||(r[0]=function(e){return L.value=e}),placeholder:l.placeholder,disabled:y.value,clearable:l.clearable,filterable:l.filterable,multiple:l.multiple,size:l.size,"collapse-tags":l.multiple,"collapse-tags-tooltip":l.multiple,"max-collapse-tags":l.maxTagCount,"filter-method":Q,"popper-class":"base-cascader-popper ".concat(l.popperClass||""),"automatic-dropdown":"",onVisibleChange:G,onClear:X,onRemoveTag:J,onFocus:W,onBlur:Y,onKeydown:ne,onClick:U},{empty:e.withCtx(function(){return[e.createElementVNode("div",P,[E.value?(e.openBlock(),e.createBlock(K,{key:0,ref_key:"selectMenuRef",ref:d,show:f.value&&E.value,pattern:v.value,multiple:l.multiple,"tm-nodes":k.value.treeNodes,filter:l.filter,"label-field":l.labelField,separator:l.separator,value:s.value,"virtual-scroll":l.virtualScroll,"option-height":l.optionHeight},e.createSlots({_:2},[n.$slots["not-found"]?{name:"not-found",fn:e.withCtx(function(){return[e.renderSlot(n.$slots,"not-found")]}),key:"0"}:void 0]),1032,["show","pattern","multiple","tm-nodes","filter","label-field","separator","value","virtual-scroll","option-height"])):(e.openBlock(),e.createBlock(b,{key:1,ref_key:"cascaderMenuRef",ref:c,show:f.value&&!E.value,"menu-model":_.value,"get-column-style":l.getColumnStyle,"on-focus":Z,"on-blur":ee,"on-keydown":te,"on-mousedown":le,"virtual-scroll":l.virtualScroll,"option-height":l.optionHeight},e.createSlots({_:2},[n.$slots.label?{name:"label",fn:e.withCtx(function(t){var l=t.option,r=t.checked;return[e.renderSlot(n.$slots,"label",{option:l,checked:r})]}),key:"0"}:void 0,n.$slots.empty?{name:"empty",fn:e.withCtx(function(){return[e.renderSlot(n.$slots,"empty")]}),key:"1"}:void 0,n.$slots.action?{name:"action",fn:e.withCtx(function(){return[e.renderSlot(n.$slots,"action")]}),key:"2"}:void 0]),1032,["show","menu-model","get-column-style","virtual-scroll","option-height"]))])]}),_:3},8,["modelValue","placeholder","disabled","clearable","filterable","multiple","size","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class"])],2)}}}));A.__scopeId="data-v-243e9ed1",A.__file="packages/components/src/cascader/index.vue";var F=A;F.install=function(e){A.name&&e.component(A.name,A)};var L={Cascader:F},V={install:function(e){Object.values(L).forEach(function(t){t.name&&e.component(t.name,t)})}};exports.Cascader=F,exports.components=L,exports.default=V;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("element-plus"),l=require("vueuc"),n=require("@element-plus/icons-vue");function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function a(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=d(e))||t&&e&&"number"==typeof e.length){l&&(e=l);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return u=e.done,e},e:function(e){o=!0,a=e},f:function(){try{u||null==l.return||l.return()}finally{if(o)throw a}}}}function u(e,t,l){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var l=e[Symbol.toPrimitive];if(void 0!==l){var n=l.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function i(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?o(Object(l),!0).forEach(function(t){u(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):o(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function c(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return r(e,t);var l={}.toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?r(e,t):void 0}}var s=["title"],v={class:"base-cascader-option__suffix"},f=e.defineComponent({__name:"CascaderOption",props:{tmNode:{type:null,required:!0}},setup:function(l){var r=l,a=e.inject("cascaderContext"),u=e.computed(function(){return r.tmNode.key}),o=e.computed(function(){return r.tmNode.rawNode[a.value.labelField]}),i=e.computed(function(){return r.tmNode.disabled}),c=e.computed(function(){return r.tmNode.isLeaf}),d=e.computed(function(){return a.value.loadingKeySet.has(u.value)}),f=e.computed(function(){return!a.value.remote&&"hover"===a.value.expandTrigger}),p=e.computed(function(){if(!a.value.multiple){var e=a.value.mergedValue;return Array.isArray(e)?0!==e.length&&e[e.length-1]===u.value:e===u.value}return a.value.checkedKeys.includes(u.value)}),m=e.computed(function(){return!!a.value.multiple&&a.value.indeterminateKeys.includes(u.value)}),h=e.computed(function(){return a.value.hoverKeyPath.includes(u.value)}),y=e.computed(function(){return a.value.keyboardKey===u.value}),k=e.computed(function(){if(p.value||h.value)return!0;if(!a.value.multiple){var e=a.value.mergedValue;if(Array.isArray(e)&&e.length>0)return e.includes(u.value)}return!1}),b=e.computed(function(){return a.value.showCheckbox}),g=e.computed(function(){return a.value.checkStrategy}),w=e.computed(function(){return a.value.multiple}),C=e.computed(function(){return a.value.cascade}),N=e.computed(function(){return!!p.value&&(w.value?!b.value:"child"===g.value&&!(w.value&&C.value))});function S(e){if(!i.value&&!e.target.closest(".base-cascader-option__checkbox")){var t=a.value;t.updateHoverKey(u.value),t.updateKeyboardKey(u.value),t.remote&&!r.tmNode.shallowLoaded&&!d.value&&t.onLoad&&(t.addLoadingKey(u.value),t.onLoad(r.tmNode.rawNode).then(function(){t.deleteLoadingKey(u.value)}).catch(function(){t.deleteLoadingKey(u.value)})),t.multiple,c.value&&q()}}function B(){if(f.value&&!i.value){var e=a.value;e.updateHoverKey(u.value),e.updateKeyboardKey(u.value),e.remote&&!r.tmNode.shallowLoaded&&!d.value&&e.onLoad&&(e.addLoadingKey(u.value),e.onLoad(r.tmNode.rawNode).then(function(){e.deleteLoadingKey(u.value)}).catch(function(){e.deleteLoadingKey(u.value)}))}}function _(){f.value&&B()}function x(){q()}function q(){var e=a.value;e.multiple?m.value||p.value?e.doUncheck(u.value):e.doCheck(u.value):(e.doCheck(u.value),!e.showCheckbox&&c.value&&e.closeMenu(!1))}return function(r,a){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-cascader-option",{"is-active":k.value,"is-disabled":i.value,"is-hover":h.value||y.value,"has-checkbox":b.value}]),onClick:S,onMouseenter:B,onMousemove:_},[b.value?(e.openBlock(),e.createBlock(e.unref(t.ElCheckbox),{key:0,"model-value":p.value,indeterminate:m.value,disabled:i.value,class:"base-cascader-option__checkbox",onClick:a[0]||(a[0]=e.withModifiers(function(){},["stop"])),onChange:x},null,8,["model-value","indeterminate","disabled"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{class:"base-cascader-option__label",title:o.value},[e.renderSlot(r.$slots,"label",{option:l.tmNode.rawNode,checked:p.value},function(){return[e.createTextVNode(e.toDisplayString(o.value),1)]})],8,s),e.createElementVNode("span",v,[d.value?(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:0,class:"is-loading"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.Loading))]}),_:1})):c.value?N.value?(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:2,class:"check-icon"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.Check))]}),_:1})):e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:1,class:"arrow-icon"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.ArrowRight))]}),_:1}))])],34)}}});f.__scopeId="data-v-248f99f8",f.__file="packages/components/src/cascader/CascaderOption.vue";var p={key:0,class:"base-cascader-menu__wrapper"},m={key:0,class:"base-cascader-submenu__list"},h={key:1,class:"base-cascader-submenu__list base-cascader-submenu__list--virtual"},y={key:1,class:"base-cascader-menu__empty"},k={key:2,class:"base-cascader-menu__action"},b=e.defineComponent({__name:"CascaderMenu",props:{show:{type:Boolean,required:!0},menuModel:{type:Array,required:!0},onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},getColumnStyle:{type:Function,required:!1},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(n,r){var a=r.expose,u=n,o=e.ref(null);function i(e){o.value&&(o.value.contains(e.relatedTarget)||u.onFocus(e))}function c(e){o.value&&(o.value.contains(e.relatedTarget)||u.onBlur(e))}return a({scroll:function(e,t,l){},showErrorMessage:function(e){console.warn("Loading required: ".concat(e))}}),function(r,a){return e.openBlock(),e.createBlock(e.Transition,{name:"el-zoom-in-top",persisted:""},{default:e.withCtx(function(){var u;return[e.withDirectives(e.createElementVNode("div",{ref_key:"menuRef",ref:o,class:"base-cascader-menu",tabindex:"0",onMousedown:a[0]||(a[0]=function(){return n.onMousedown&&n.onMousedown.apply(n,arguments)}),onKeydown:a[1]||(a[1]=function(){return n.onKeydown&&n.onKeydown.apply(n,arguments)}),onFocusin:i,onFocusout:c,onClick:a[2]||(a[2]=e.withModifiers(function(){},["stop"]))},[null!==(u=n.menuModel[0])&&void 0!==u&&u.length?(e.openBlock(),e.createElementBlock("div",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.menuModel,function(a,u){var o;return e.openBlock(),e.createElementBlock("div",{key:u,class:"base-cascader-submenu",style:e.normalizeStyle(null===(o=n.getColumnStyle)||void 0===o?void 0:o.call(n,{level:u}))},[!n.virtualScroll||a.length<50?(e.openBlock(),e.createElementBlock("div",m,[e.createVNode(e.unref(t.ElScrollbar),null,{default:e.withCtx(function(){return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a,function(t){return e.openBlock(),e.createBlock(f,{key:t.key,"tm-node":t},e.createSlots({_:2},[r.$slots.label?{name:"label",fn:e.withCtx(function(t){var l=t.option,n=t.checked;return[e.renderSlot(r.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"])}),128))]}),_:2},1024)])):(e.openBlock(),e.createElementBlock("div",h,[e.createVNode(e.unref(l.VirtualList),{items:a,"item-size":n.optionHeight,style:{height:"280px"}},{default:e.withCtx(function(t){var l=t.item;return[(e.openBlock(),e.createBlock(f,{key:l.key,"tm-node":l},e.createSlots({_:2},[r.$slots.label?{name:"label",fn:e.withCtx(function(t){var l=t.option,n=t.checked;return[e.renderSlot(r.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"]))]}),_:3},8,["items","item-size"])]))],4)}),128))])):(e.openBlock(),e.createElementBlock("div",y,[e.renderSlot(r.$slots,"empty",{},function(){return[e.createVNode(e.unref(t.ElEmpty),{"image-size":60,description:"暂无数据"})]})])),r.$slots.action?(e.openBlock(),e.createElementBlock("div",k,[e.renderSlot(r.$slots,"action")])):e.createCommentVNode("v-if",!0)],544),[[e.vShow,n.show]])]}),_:3})}}});function g(e,t){var l=new Map,n=[];var r=function e(n,r,a){var u=[];return n.map(function(n,o){var i=t.getKey(n),c=t.getChildren(n),d=t.getDisabled(n),s=void 0!==n.isLeaf?n.isLeaf:!c||0===c.length,v=s||void 0!==c&&c.length>0,f={key:i,rawNode:n,level:r,index:o,isLeaf:s,isGroup:!1,ignored:!1,disabled:d,shallowLoaded:v,parent:a,siblings:u,children:void 0};return u.push(f),l.set(i,f),c&&c.length>0&&(f.children=e(c,r+1,f)),f})}(e,0,null);function u(e){return l.get(e)||null}function o(e){var t=[e.key];return e.children&&e.children.forEach(function(e){t.push.apply(t,c(o(e)))}),t}n.push.apply(n,c(r));var i=function e(t){var l=[];return t.forEach(function(t){t.disabled||(l.push(t),t.children&&l.push.apply(l,c(e(t.children))))}),l}(n);return{treeNodes:n,getNode:u,getPath:function(e){if(null===e)return{treeNodePath:[],keyPath:[],treeNode:null};var t=u(e);if(!t)return{treeNodePath:[],keyPath:[],treeNode:null};for(var l=[],n=[],r=t;r;)l.unshift(r),n.unshift(r.key),r=r.parent;return{treeNodePath:l,keyPath:n,treeNode:t}},getCheckedKeys:function(e,t){var l=new Set(e),r=new Set;if(!t.cascade)return{checkedKeys:e,indeterminateKeys:[]};function u(e){if(!e.children||0===e.children.length)return{allChecked:l.has(e.key),someChecked:l.has(e.key)};var t,n=!0,o=!1,i=a(e.children);try{for(i.s();!(t=i.n()).done;){var c=u(t.value);c.allChecked||(n=!1),c.someChecked&&(o=!0)}}catch(e){i.e(e)}finally{i.f()}var d=l.has(e.key);return n?(l.add(e.key),{allChecked:!0,someChecked:!0}):o||d?(r.add(e.key),{allChecked:!1,someChecked:!0}):{allChecked:!1,someChecked:!1}}return n.forEach(function(e){return u(e)}),{checkedKeys:Array.from(l),indeterminateKeys:Array.from(r)}},check:function(e,t,l){var n=u(e);if(!n)return{checkedKeys:t};var r=new Set(t);return r.add(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return r.add(e)}),{checkedKeys:Array.from(r)}},uncheck:function(e,t,l){var n=u(e);if(!n)return{checkedKeys:t};var r=new Set(t);return r.delete(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return r.delete(e)}),{checkedKeys:Array.from(r)}},getPrev:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:0===l?t.loop?i[i.length-1]:null:i[l-1]},getNext:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:l===i.length-1?t.loop?i[0]:null:i[l+1]},getChild:function(e){var t=u(e);return t&&t.children&&0!==t.children.length&&t.children.find(function(e){return!e.disabled})||null},getParent:function(e){var t=u(e);return(null==t?void 0:t.parent)||null},getFirstAvailableNode:function(){return i[0]||null}}}function w(e){return e?e.map(function(e){return e.rawNode}):null}function C(e,t,l){for(var n=[];e;)n.push(e.rawNode[l]),e=e.parent;return n.reverse().join(t)}b.__scopeId="data-v-097326a4",b.__file="packages/components/src/cascader/CascaderMenu.vue";var N=["onClick","onMouseenter"],S={class:"base-cascader-select-option__label"},B={key:0,class:"base-cascader-select-menu__empty"},_={key:1,class:"base-cascader-select-menu__virtual"},x=["onClick","onMouseenter"],q={class:"base-cascader-select-option__label"},E={key:1,class:"base-cascader-select-menu__empty"},K=e.defineComponent({__name:"CascaderSelectMenu",props:{show:{type:Boolean,required:!0},pattern:{type:String,required:!0},multiple:{type:Boolean,required:!0},tmNodes:{type:Array,required:!0},filter:{type:null,required:!1},labelField:{type:String,required:!0},separator:{type:String,required:!0},value:{type:null,required:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(r,u){var o=u.expose,i=r,c=e.inject("cascaderContext"),d=e.ref(null),s=e.ref(null),v=e.computed(function(){return function(e,t,l,n){var r=[],u=[];return function e(o){var i,c=a(o);try{for(c.s();!(i=c.n()).done;){var d=i.value;if(!d.disabled){var s=d.rawNode;u.push(s),!d.isLeaf&&t||r.push({label:C(d,n,l),value:d.key,rawNode:d.rawNode,path:Array.from(u)}),!d.isLeaf&&d.children&&e(d.children),u.pop()}}}catch(e){c.e(e)}finally{c.f()}}(e),r}(i.tmNodes,"child"===c.value.checkStrategy,i.labelField,i.separator)}),f=e.computed(function(){return i.filter?i.filter:function(e,t,l){return l.some(function(t){return t[i.labelField]&&t[i.labelField].toLowerCase().includes(e.toLowerCase())})}}),p=e.computed(function(){return i.pattern?v.value.filter(function(e){return f.value(i.pattern,e.rawNode,e.path)}):v.value});function m(e){return i.multiple&&Array.isArray(i.value)?i.value.includes(e):i.value===e}function h(e){var t=c.value;i.multiple?m(e.value)?t.doUncheck(e.value):t.doCheck(e.value):(t.doCheck(e.value),t.clearPattern(),t.closeMenu())}return o({prev:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e>0?s.value=p.value[e-1].value:p.value.length>0&&(s.value=p.value[p.value.length-1].value)},next:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e<p.value.length-1?s.value=p.value[e+1].value:p.value.length>0&&(s.value=p.value[0].value)},enter:function(){if(null!==s.value){var e=p.value.find(function(e){return e.value===s.value});if(e)return h(e),!0}return!1}}),function(a,u){return e.openBlock(),e.createBlock(e.Transition,{name:"el-zoom-in-top",persisted:""},{default:e.withCtx(function(){return[e.withDirectives(e.createElementVNode("div",{ref_key:"selectMenuRef",ref:d,class:"base-cascader-select-menu",onClick:u[2]||(u[2]=e.withModifiers(function(){},["stop"]))},[!r.virtualScroll||p.value.length<50?(e.openBlock(),e.createBlock(e.unref(t.ElScrollbar),{key:0,"max-height":"280px"},{default:e.withCtx(function(){return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,function(l){return e.openBlock(),e.createElementBlock("div",{key:l.value,class:e.normalizeClass(["base-cascader-select-option",{"is-selected":m(l.value),"is-hover":s.value===l.value}]),onClick:function(e){return h(l)},onMouseenter:function(e){return s.value=l.value}},[r.multiple?(e.openBlock(),e.createBlock(e.unref(t.ElCheckbox),{key:0,"model-value":m(l.value),class:"base-cascader-select-option__checkbox",onClick:u[0]||(u[0]=e.withModifiers(function(){},["stop"]))},null,8,["model-value"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",S,e.toDisplayString(l.label),1),!r.multiple&&m(l.value)?(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:1,class:"check-icon"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.Check))]}),_:1})):e.createCommentVNode("v-if",!0)],42,N)}),128)),0===p.value.length?(e.openBlock(),e.createElementBlock("div",B,[e.renderSlot(a.$slots,"not-found",{},function(){return[e.createVNode(e.unref(t.ElEmpty),{"image-size":60,description:"无匹配数据"})]})])):e.createCommentVNode("v-if",!0)]}),_:3})):(e.openBlock(),e.createElementBlock("div",_,[p.value.length>0?(e.openBlock(),e.createBlock(e.unref(t.ElScrollbar),{key:0,"max-height":"280px"},{default:e.withCtx(function(){return[e.createVNode(e.unref(l.VirtualList),{items:p.value,"item-size":r.optionHeight,style:{height:"280px"}},{default:e.withCtx(function(l){var a=l.item;return[(e.openBlock(),e.createElementBlock("div",{key:a.value,class:e.normalizeClass(["base-cascader-select-option",{"is-selected":m(a.value),"is-hover":s.value===a.value}]),onClick:function(e){return h(a)},onMouseenter:function(e){return s.value=a.value}},[r.multiple?(e.openBlock(),e.createBlock(e.unref(t.ElCheckbox),{key:0,"model-value":m(a.value),class:"base-cascader-select-option__checkbox",onClick:u[1]||(u[1]=e.withModifiers(function(){},["stop"]))},null,8,["model-value"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",q,e.toDisplayString(a.label),1),!r.multiple&&m(a.value)?(e.openBlock(),e.createBlock(e.unref(t.ElIcon),{key:1,class:"check-icon"},{default:e.withCtx(function(){return[e.createVNode(e.unref(n.Check))]}),_:1})):e.createCommentVNode("v-if",!0)],42,x))]}),_:1},8,["items","item-size"])]}),_:1})):(e.openBlock(),e.createElementBlock("div",E,[e.renderSlot(a.$slots,"not-found",{},function(){return[e.createVNode(e.unref(t.ElEmpty),{"image-size":60,description:"无匹配数据"})]})]))]))],512),[[e.vShow,r.show]])]}),_:3})}}});K.__scopeId="data-v-3901f6ec",K.__file="packages/components/src/cascader/CascaderSelectMenu.vue";var P={class:"base-cascader-dropdown"},A=e.defineComponent(i(i({},{name:"XnCascader"}),{},{__name:"index",props:{modelValue:{type:null,required:!1,default:null},options:{type:Array,required:!1,default:function(){return[]}},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},filterable:{type:Boolean,required:!1,default:!1},multiple:{type:Boolean,required:!1,default:!1},size:{type:String,required:!1,default:"default"},expandTrigger:{type:null,required:!1,default:"click"},separator:{type:String,required:!1,default:" / "},showPath:{type:Boolean,required:!1,default:!0},cascade:{type:Boolean,required:!1,default:!0},checkStrategy:{type:null,required:!1,default:"all"},remote:{type:Boolean,required:!1,default:!1},onLoad:{type:null,required:!1},filter:{type:null,required:!1},valueField:{type:String,required:!1,default:"value"},labelField:{type:String,required:!1,default:"label"},childrenField:{type:String,required:!1,default:"children"},disabledField:{type:String,required:!1,default:"disabled"},maxTagCount:{type:Number,required:!1,default:1},popperClass:{type:String,required:!1},getColumnStyle:{type:Function,required:!1},clearFilterAfterSelect:{type:Boolean,required:!1,default:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34},showCheckbox:{type:Boolean,required:!1,default:void 0},emitPath:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","focus","blur"],setup:function(l,n){var r=n.expose,a=n.emit,u=l,o=a,i=e.ref(null),c=e.ref(null),d=e.ref(null),s=e.ref(u.modelValue),v=e.ref(""),f=e.ref(!1),p=e.ref(null),m=e.ref(null),h=e.ref(new Set),y=e.computed(function(){return u.disabled});e.computed(function(){return h.value.size>0});var k=e.computed(function(){return g(u.options,{getKey:function(e){return e[u.valueField]},getChildren:function(e){return e[u.childrenField]},getDisabled:function(e){return e[u.disabledField]||!1}})}),N=e.computed(function(){var e;return u.multiple&&Array.isArray(s.value)?(e=u.emitPath?0===s.value.length?[]:Array.isArray(s.value[0])?s.value.map(function(e){return e[e.length-1]}):s.value:s.value,k.value.getCheckedKeys(e,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1})):{checkedKeys:[],indeterminateKeys:[]}}),S=e.computed(function(){return N.value.checkedKeys}),B=e.computed(function(){return N.value.indeterminateKeys}),_=e.computed(function(){var e,t=k.value.getPath(m.value),l=t.treeNodePath,n=t.treeNode;return null===n?e=[k.value.treeNodes]:(e=l.map(function(e){return e.siblings}),n.isLeaf||h.value.has(n.key)||!n.children||e.push(n.children)),e}),x=e.computed(function(){return k.value.getPath(m.value).keyPath}),q=e.computed(function(){return void 0!==u.showCheckbox?u.showCheckbox:!(!u.multiple||!u.cascade)||"child"!==u.checkStrategy}),E=e.computed(function(){return!(!u.filterable||!v.value)}),A=e.computed(function(){if(u.multiple){var e=k.value,t=e.getCheckedKeys,l=e.getNode;return t(S.value,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1}).checkedKeys.map(function(e){var t=l(e);return null===t?{label:String(e),value:e}:{label:u.showPath?C(t,u.separator,u.labelField):t.rawNode[u.labelField],value:t.key}})}return[]}),F=e.computed(function(){if(!u.multiple){var e=k.value.getNode;if(null===s.value)return null;var t=null;if(u.emitPath&&Array.isArray(s.value)){if(0===s.value.length)return null;var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||(t=s.value);if(null==t)return null;var n=e(t);return null===n?{label:String(t),value:t}:{label:u.showPath?C(n,u.separator,u.labelField):n.rawNode[u.labelField],value:n.key}}return null}),L=e.computed({get:function(){var e;return u.multiple?A.value.map(function(e){return e.label}):(null===(e=F.value)||void 0===e?void 0:e.label)||""},set:function(e){}});function V(e,t,l){s.value=e,o("update:modelValue",e),o("change",e,t,l)}function M(e){var t=k.value.getNode;return e.map(function(e){var l;return(null===(l=t(e))||void 0===l?void 0:l.rawNode)||null})}function O(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,r=u.emitPath,a=k.value,o=a.check,i=a.getNode,c=a.getPath;if(l){var d=o(e,N.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;V(r?d.map(function(e){return c(e).keyPath}):d,M(d),d.map(function(e){var t;return w(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}else if("child"===n){var s=i(e);if(null==s||!s.isLeaf)return!1;var v=c(e);V(r?v.keyPath:e,s.rawNode,w(v.treeNodePath)),R()}else{var f=i(e),h=c(e);V(r?h.keyPath:e,(null==f?void 0:f.rawNode)||null,w(null==h?void 0:h.treeNodePath)),R()}return!0}function j(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,r=u.emitPath;if(l){var a=k.value,o=a.uncheck,i=a.getNode,c=a.getPath,d=o(e,N.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;V(r?d.map(function(e){return c(e).keyPath}):d,d.map(function(e){var t;return(null===(t=i(e))||void 0===t?void 0:t.rawNode)||null}),d.map(function(e){var t;return w(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}}function $(e){m.value=e}function z(e){p.value=e}function D(e){h.value.add(e)}function I(e){h.value.delete(e)}function T(){var e,t,l=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(f.value=!1,v.value="",l)?null===(e=i.value)||void 0===e||e.focus():null===(t=i.value)||void 0===t||t.blur()}function H(){u.clearFilterAfterSelect&&(v.value="")}function R(){v.value="",setTimeout(function(){if(i.value&&void 0!==i.value.query){var e;i.value.query="";var t=null===(e=i.value.$el)||void 0===e?void 0:e.querySelector("input");t&&F.value&&(t.value=F.value.label)}},0)}function U(){y.value||f.value||(f.value=!0)}function X(e){f.value=e,e||(v.value="")}function G(){u.multiple?V([],[],[]):V(null,null,null)}function J(e){var t=A.value.find(function(t){return t.label===e});t&&j(t.value)}function Q(e){v.value=e}function W(e){o("focus",e)}function Y(e){o("blur",e)}function Z(e){o("focus",e)}function ee(e){o("blur",e)}function te(e){ne(e)}function le(e){e.preventDefault()}function ne(e){if(f.value)switch(e.key){case"Enter":var t;if(E.value)null===(t=d.value)||void 0===t||t.enter();else if(null!==p.value)if(S.value.includes(p.value)||B.value.includes(p.value))j(p.value);else{var l=O(p.value);!u.multiple&&l&&T(!0)}break;case"ArrowUp":var n;if(e.preventDefault(),E.value)null===(n=d.value)||void 0===n||n.prev();else re("prev");break;case"ArrowDown":var r;if(e.preventDefault(),E.value)null===(r=d.value)||void 0===r||r.next();else re("next");break;case"ArrowLeft":e.preventDefault(),E.value||re("parent");break;case"ArrowRight":e.preventDefault(),E.value||re("child");break;case"Escape":T(!0)}}function re(e){var t=p.value,l=k.value,n=l.getPrev,r=l.getNext,a=l.getChild,o=l.getParent,i=l.getFirstAvailableNode,c=l.getNode;switch(e){case"prev":if(null!==t){var d=n(t,{loop:!0});d&&z(d.key)}break;case"next":if(null===t){var s=i();s&&z(s.key)}else{var v=r(t,{loop:!0});v&&z(v.key)}break;case"child":if(null!==t){var f=c(t);if(null!=f&&f.shallowLoaded){var m=a(t);m&&($(t),z(m.key))}else f&&!h.value.has(t)&&u.onLoad&&(D(t),$(t),u.onLoad(f.rawNode).then(function(){return I(t)}).catch(function(){return I(t)}))}break;case"parent":if(null!==t){var y=o(t);if(y){z(y.key);var b=o(y.key);$((null==b?void 0:b.key)||null)}}}}e.watch(function(){return u.modelValue},function(e){s.value=e}),e.watch(f,function(e){if(!e)return p.value=null,void(m.value=null);if(u.multiple)p.value=null,m.value=null;else{var t=null;if(u.emitPath&&Array.isArray(s.value)&&s.value.length>0){var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||null===s.value||(t=s.value);if(null!==t){var n=k.value.getNode(t);if(n){var r=n.parent;r?(p.value=r.key,m.value=r.key):(p.value=t,m.value=t)}}else p.value=null,m.value=null}});var ae=e.computed(function(){return{mergedValue:s.value,checkedKeys:S.value,indeterminateKeys:B.value,hoverKeyPath:x.value,keyboardKey:p.value,hoverKey:m.value,loadingKeySet:h.value,multiple:u.multiple,cascade:u.cascade,checkStrategy:u.checkStrategy,expandTrigger:u.expandTrigger,remote:u.remote,showCheckbox:q.value,labelField:u.labelField,valueField:u.valueField,childrenField:u.childrenField,disabledField:u.disabledField,onLoad:u.onLoad,updateHoverKey:$,updateKeyboardKey:z,addLoadingKey:D,deleteLoadingKey:I,doCheck:O,doUncheck:j,closeMenu:T,clearPattern:H}});return e.provide("cascaderContext",ae),r({focus:function(){var e;null===(e=i.value)||void 0===e||e.focus()},blur:function(){var e;null===(e=i.value)||void 0===e||e.blur()},getCheckedData:function(){return q.value?{keys:S.value,options:M(S.value)}:{keys:[],options:[]}},getIndeterminateData:function(){return q.value?{keys:B.value,options:M(B.value)}:{keys:[],options:[]}}}),function(n,r){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-cascader",{"is-disabled":y.value}])},[e.createVNode(e.unref(t.ElSelect),{ref_key:"selectRef",ref:i,modelValue:L.value,"onUpdate:modelValue":r[0]||(r[0]=function(e){return L.value=e}),placeholder:l.placeholder,disabled:y.value,clearable:l.clearable,filterable:l.filterable,multiple:l.multiple,size:l.size,"collapse-tags":l.multiple,"collapse-tags-tooltip":l.multiple,"max-collapse-tags":l.maxTagCount,"filter-method":Q,"popper-class":"base-cascader-popper ".concat(l.popperClass||""),"automatic-dropdown":"",onVisibleChange:X,onClear:G,onRemoveTag:J,onFocus:W,onBlur:Y,onKeydown:ne,onClick:U},{empty:e.withCtx(function(){return[e.createElementVNode("div",P,[E.value?(e.openBlock(),e.createBlock(K,{key:0,ref_key:"selectMenuRef",ref:d,show:f.value&&E.value,pattern:v.value,multiple:l.multiple,"tm-nodes":k.value.treeNodes,filter:l.filter,"label-field":l.labelField,separator:l.separator,value:s.value,"virtual-scroll":l.virtualScroll,"option-height":l.optionHeight},e.createSlots({_:2},[n.$slots["not-found"]?{name:"not-found",fn:e.withCtx(function(){return[e.renderSlot(n.$slots,"not-found")]}),key:"0"}:void 0]),1032,["show","pattern","multiple","tm-nodes","filter","label-field","separator","value","virtual-scroll","option-height"])):(e.openBlock(),e.createBlock(b,{key:1,ref_key:"cascaderMenuRef",ref:c,show:f.value&&!E.value,"menu-model":_.value,"get-column-style":l.getColumnStyle,"on-focus":Z,"on-blur":ee,"on-keydown":te,"on-mousedown":le,"virtual-scroll":l.virtualScroll,"option-height":l.optionHeight},e.createSlots({_:2},[n.$slots.label?{name:"label",fn:e.withCtx(function(t){var l=t.option,r=t.checked;return[e.renderSlot(n.$slots,"label",{option:l,checked:r})]}),key:"0"}:void 0,n.$slots.empty?{name:"empty",fn:e.withCtx(function(){return[e.renderSlot(n.$slots,"empty")]}),key:"1"}:void 0,n.$slots.action?{name:"action",fn:e.withCtx(function(){return[e.renderSlot(n.$slots,"action")]}),key:"2"}:void 0]),1032,["show","menu-model","get-column-style","virtual-scroll","option-height"]))])]}),_:3},8,["modelValue","placeholder","disabled","clearable","filterable","multiple","size","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class"])],2)}}}));A.__scopeId="data-v-243e9ed1",A.__file="packages/components/src/cascader/index.vue";var F=A;F.install=function(e){A.name&&e.component(A.name,A)};var L={XnCascader:F},V={install:function(e){Object.values(L).forEach(function(t){t.name&&e.component(t.name,t)})}};exports.XnCascader=F,exports.components=L,exports.default=V;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Plugin } from 'vue';
|
|
2
|
-
import Cascader from './types/cascader/index';
|
|
3
2
|
import type { Component } from 'vue';
|
|
4
|
-
|
|
3
|
+
import XnCascader from './types/cascader/index';
|
|
4
|
+
export { XnCascader };
|
|
5
5
|
export declare const components: Record<string, Component>;
|
|
6
6
|
export type { CascaderProps } from './types/cascader/props';
|
|
7
7
|
export type { CascaderOption, CascaderValue, CascaderInst, ExpandTrigger, CheckStrategy, Filter, OnLoad, ValueAtom, Key, TreeNode, OnUpdateValue } from './types/cascader/types';
|
package/dist/index.iife.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t,l,n,a){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function u(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=s(e))||t&&e&&"number"==typeof e.length){l&&(e=l);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,u=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return u=e.done,e},e:function(e){o=!0,r=e},f:function(){try{u||null==l.return||l.return()}finally{if(o)throw r}}}}function o(e,t,l){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var l=e[Symbol.toPrimitive];if(void 0!==l){var n=l.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function i(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function c(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?i(Object(l),!0).forEach(function(t){o(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):i(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function d(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return r(e,t);var l={}.toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?r(e,t):void 0}}var v=["title"],f={class:"base-cascader-option__suffix"},p=t.defineComponent({__name:"CascaderOption",props:{tmNode:{type:null,required:!0}},setup:function(e){var n=e,r=t.inject("cascaderContext"),u=t.computed(function(){return n.tmNode.key}),o=t.computed(function(){return n.tmNode.rawNode[r.value.labelField]}),i=t.computed(function(){return n.tmNode.disabled}),c=t.computed(function(){return n.tmNode.isLeaf}),d=t.computed(function(){return r.value.loadingKeySet.has(u.value)}),s=t.computed(function(){return!r.value.remote&&"hover"===r.value.expandTrigger}),p=t.computed(function(){if(!r.value.multiple){var e=r.value.mergedValue;return Array.isArray(e)?0!==e.length&&e[e.length-1]===u.value:e===u.value}return r.value.checkedKeys.includes(u.value)}),m=t.computed(function(){return!!r.value.multiple&&r.value.indeterminateKeys.includes(u.value)}),h=t.computed(function(){return r.value.hoverKeyPath.includes(u.value)}),y=t.computed(function(){return r.value.keyboardKey===u.value}),k=t.computed(function(){if(p.value||h.value)return!0;if(!r.value.multiple){var e=r.value.mergedValue;if(Array.isArray(e)&&e.length>0)return e.includes(u.value)}return!1}),b=t.computed(function(){return r.value.showCheckbox}),g=t.computed(function(){return r.value.checkStrategy}),w=t.computed(function(){return r.value.multiple}),C=t.computed(function(){return r.value.cascade}),N=t.computed(function(){return!!p.value&&(w.value?!b.value:"child"===g.value&&!(w.value&&C.value))});function S(e){if(!i.value&&!e.target.closest(".base-cascader-option__checkbox")){var t=r.value;t.updateHoverKey(u.value),t.updateKeyboardKey(u.value),t.remote&&!n.tmNode.shallowLoaded&&!d.value&&t.onLoad&&(t.addLoadingKey(u.value),t.onLoad(n.tmNode.rawNode).then(function(){t.deleteLoadingKey(u.value)}).catch(function(){t.deleteLoadingKey(u.value)})),t.multiple,c.value&&E()}}function B(){if(s.value&&!i.value){var e=r.value;e.updateHoverKey(u.value),e.updateKeyboardKey(u.value),e.remote&&!n.tmNode.shallowLoaded&&!d.value&&e.onLoad&&(e.addLoadingKey(u.value),e.onLoad(n.tmNode.rawNode).then(function(){e.deleteLoadingKey(u.value)}).catch(function(){e.deleteLoadingKey(u.value)}))}}function _(){s.value&&B()}function x(){E()}function E(){var e=r.value;e.multiple?m.value||p.value?e.doUncheck(u.value):e.doCheck(u.value):(e.doCheck(u.value),!e.showCheckbox&&c.value&&e.closeMenu(!1))}return function(n,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["base-cascader-option",{"is-active":k.value,"is-disabled":i.value,"is-hover":h.value||y.value,"has-checkbox":b.value}]),onClick:S,onMouseenter:B,onMousemove:_},[b.value?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":p.value,indeterminate:m.value,disabled:i.value,class:"base-cascader-option__checkbox",onClick:r[0]||(r[0]=t.withModifiers(function(){},["stop"])),onChange:x},null,8,["model-value","indeterminate","disabled"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",{class:"base-cascader-option__label",title:o.value},[t.renderSlot(n.$slots,"label",{option:e.tmNode.rawNode,checked:p.value},function(){return[t.createTextVNode(t.toDisplayString(o.value),1)]})],8,v),t.createElementVNode("span",f,[d.value?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:0,class:"is-loading"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Loading))]}),_:1})):c.value?N.value?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:2,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0):(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"arrow-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.ArrowRight))]}),_:1}))])],34)}}});p.__scopeId="data-v-248f99f8",p.__file="packages/components/src/cascader/CascaderOption.vue";var m={key:0,class:"base-cascader-menu__wrapper"},h={key:0,class:"base-cascader-submenu__list"},y={key:1,class:"base-cascader-submenu__list base-cascader-submenu__list--virtual"},k={key:1,class:"base-cascader-menu__empty"},b={key:2,class:"base-cascader-menu__action"},g=t.defineComponent({__name:"CascaderMenu",props:{show:{type:Boolean,required:!0},menuModel:{type:Array,required:!0},onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},getColumnStyle:{type:Function,required:!1},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,a){var r=a.expose,u=e,o=t.ref(null);function i(e){o.value&&(o.value.contains(e.relatedTarget)||u.onFocus(e))}function c(e){o.value&&(o.value.contains(e.relatedTarget)||u.onBlur(e))}return r({scroll:function(e,t,l){},showErrorMessage:function(e){console.warn("Loading required: ".concat(e))}}),function(a,r){return t.openBlock(),t.createBlock(t.Transition,{name:"el-zoom-in-top",persisted:""},{default:t.withCtx(function(){var u;return[t.withDirectives(t.createElementVNode("div",{ref_key:"menuRef",ref:o,class:"base-cascader-menu",tabindex:"0",onMousedown:r[0]||(r[0]=function(){return e.onMousedown&&e.onMousedown.apply(e,arguments)}),onKeydown:r[1]||(r[1]=function(){return e.onKeydown&&e.onKeydown.apply(e,arguments)}),onFocusin:i,onFocusout:c,onClick:r[2]||(r[2]=t.withModifiers(function(){},["stop"]))},[null!==(u=e.menuModel[0])&&void 0!==u&&u.length?(t.openBlock(),t.createElementBlock("div",m,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.menuModel,function(r,u){var o;return t.openBlock(),t.createElementBlock("div",{key:u,class:"base-cascader-submenu",style:t.normalizeStyle(null===(o=e.getColumnStyle)||void 0===o?void 0:o.call(e,{level:u}))},[!e.virtualScroll||r.length<50?(t.openBlock(),t.createElementBlock("div",h,[t.createVNode(t.unref(l.ElScrollbar),null,{default:t.withCtx(function(){return[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r,function(e){return t.openBlock(),t.createBlock(p,{key:e.key,"tm-node":e},t.createSlots({_:2},[a.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,n=e.checked;return[t.renderSlot(a.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"])}),128))]}),_:2},1024)])):(t.openBlock(),t.createElementBlock("div",y,[t.createVNode(t.unref(n.VirtualList),{items:r,"item-size":e.optionHeight,style:{height:"280px"}},{default:t.withCtx(function(e){var l=e.item;return[(t.openBlock(),t.createBlock(p,{key:l.key,"tm-node":l},t.createSlots({_:2},[a.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,n=e.checked;return[t.renderSlot(a.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"]))]}),_:3},8,["items","item-size"])]))],4)}),128))])):(t.openBlock(),t.createElementBlock("div",k,[t.renderSlot(a.$slots,"empty",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"暂无数据"})]})])),a.$slots.action?(t.openBlock(),t.createElementBlock("div",b,[t.renderSlot(a.$slots,"action")])):t.createCommentVNode("v-if",!0)],544),[[t.vShow,e.show]])]}),_:3})}}});function w(e,t){var l=new Map,n=[];var a=function e(n,a,r){var u=[];return n.map(function(n,o){var i=t.getKey(n),c=t.getChildren(n),d=t.getDisabled(n),s=void 0!==n.isLeaf?n.isLeaf:!c||0===c.length,v=s||void 0!==c&&c.length>0,f={key:i,rawNode:n,level:a,index:o,isLeaf:s,isGroup:!1,ignored:!1,disabled:d,shallowLoaded:v,parent:r,siblings:u,children:void 0};return u.push(f),l.set(i,f),c&&c.length>0&&(f.children=e(c,a+1,f)),f})}(e,0,null);function r(e){return l.get(e)||null}function o(e){var t=[e.key];return e.children&&e.children.forEach(function(e){t.push.apply(t,d(o(e)))}),t}n.push.apply(n,d(a));var i=function e(t){var l=[];return t.forEach(function(t){t.disabled||(l.push(t),t.children&&l.push.apply(l,d(e(t.children))))}),l}(n);return{treeNodes:n,getNode:r,getPath:function(e){if(null===e)return{treeNodePath:[],keyPath:[],treeNode:null};var t=r(e);if(!t)return{treeNodePath:[],keyPath:[],treeNode:null};for(var l=[],n=[],a=t;a;)l.unshift(a),n.unshift(a.key),a=a.parent;return{treeNodePath:l,keyPath:n,treeNode:t}},getCheckedKeys:function(e,t){var l=new Set(e),a=new Set;if(!t.cascade)return{checkedKeys:e,indeterminateKeys:[]};function r(e){if(!e.children||0===e.children.length)return{allChecked:l.has(e.key),someChecked:l.has(e.key)};var t,n=!0,o=!1,i=u(e.children);try{for(i.s();!(t=i.n()).done;){var c=r(t.value);c.allChecked||(n=!1),c.someChecked&&(o=!0)}}catch(e){i.e(e)}finally{i.f()}var d=l.has(e.key);return n?(l.add(e.key),{allChecked:!0,someChecked:!0}):o||d?(a.add(e.key),{allChecked:!1,someChecked:!0}):{allChecked:!1,someChecked:!1}}return n.forEach(function(e){return r(e)}),{checkedKeys:Array.from(l),indeterminateKeys:Array.from(a)}},check:function(e,t,l){var n=r(e);if(!n)return{checkedKeys:t};var a=new Set(t);return a.add(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return a.add(e)}),{checkedKeys:Array.from(a)}},uncheck:function(e,t,l){var n=r(e);if(!n)return{checkedKeys:t};var a=new Set(t);return a.delete(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return a.delete(e)}),{checkedKeys:Array.from(a)}},getPrev:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:0===l?t.loop?i[i.length-1]:null:i[l-1]},getNext:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:l===i.length-1?t.loop?i[0]:null:i[l+1]},getChild:function(e){var t=r(e);return t&&t.children&&0!==t.children.length&&t.children.find(function(e){return!e.disabled})||null},getParent:function(e){var t=r(e);return(null==t?void 0:t.parent)||null},getFirstAvailableNode:function(){return i[0]||null}}}function C(e){return e?e.map(function(e){return e.rawNode}):null}function N(e,t,l){for(var n=[];e;)n.push(e.rawNode[l]),e=e.parent;return n.reverse().join(t)}g.__scopeId="data-v-097326a4",g.__file="packages/components/src/cascader/CascaderMenu.vue";var S=["onClick","onMouseenter"],B={class:"base-cascader-select-option__label"},_={key:0,class:"base-cascader-select-menu__empty"},x={key:1,class:"base-cascader-select-menu__virtual"},E=["onClick","onMouseenter"],K={class:"base-cascader-select-option__label"},q={key:1,class:"base-cascader-select-menu__empty"},P=t.defineComponent({__name:"CascaderSelectMenu",props:{show:{type:Boolean,required:!0},pattern:{type:String,required:!0},multiple:{type:Boolean,required:!0},tmNodes:{type:Array,required:!0},filter:{type:null,required:!1},labelField:{type:String,required:!0},separator:{type:String,required:!0},value:{type:null,required:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,r){var o=r.expose,i=e,c=t.inject("cascaderContext"),d=t.ref(null),s=t.ref(null),v=t.computed(function(){return function(e,t,l,n){var a=[],r=[];return function e(o){var i,c=u(o);try{for(c.s();!(i=c.n()).done;){var d=i.value;if(!d.disabled){var s=d.rawNode;r.push(s),!d.isLeaf&&t||a.push({label:N(d,n,l),value:d.key,rawNode:d.rawNode,path:Array.from(r)}),!d.isLeaf&&d.children&&e(d.children),r.pop()}}}catch(e){c.e(e)}finally{c.f()}}(e),a}(i.tmNodes,"child"===c.value.checkStrategy,i.labelField,i.separator)}),f=t.computed(function(){return i.filter?i.filter:function(e,t,l){return l.some(function(t){return t[i.labelField]&&t[i.labelField].toLowerCase().includes(e.toLowerCase())})}}),p=t.computed(function(){return i.pattern?v.value.filter(function(e){return f.value(i.pattern,e.rawNode,e.path)}):v.value});function m(e){return i.multiple&&Array.isArray(i.value)?i.value.includes(e):i.value===e}function h(e){var t=c.value;i.multiple?m(e.value)?t.doUncheck(e.value):t.doCheck(e.value):(t.doCheck(e.value),t.clearPattern(),t.closeMenu())}return o({prev:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e>0?s.value=p.value[e-1].value:p.value.length>0&&(s.value=p.value[p.value.length-1].value)},next:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e<p.value.length-1?s.value=p.value[e+1].value:p.value.length>0&&(s.value=p.value[0].value)},enter:function(){if(null!==s.value){var e=p.value.find(function(e){return e.value===s.value});if(e)return h(e),!0}return!1}}),function(r,u){return t.openBlock(),t.createBlock(t.Transition,{name:"el-zoom-in-top",persisted:""},{default:t.withCtx(function(){return[t.withDirectives(t.createElementVNode("div",{ref_key:"selectMenuRef",ref:d,class:"base-cascader-select-menu",onClick:u[2]||(u[2]=t.withModifiers(function(){},["stop"]))},[!e.virtualScroll||p.value.length<50?(t.openBlock(),t.createBlock(t.unref(l.ElScrollbar),{key:0,"max-height":"280px"},{default:t.withCtx(function(){return[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,function(n){return t.openBlock(),t.createElementBlock("div",{key:n.value,class:t.normalizeClass(["base-cascader-select-option",{"is-selected":m(n.value),"is-hover":s.value===n.value}]),onClick:function(e){return h(n)},onMouseenter:function(e){return s.value=n.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":m(n.value),class:"base-cascader-select-option__checkbox",onClick:u[0]||(u[0]=t.withModifiers(function(){},["stop"]))},null,8,["model-value"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",B,t.toDisplayString(n.label),1),!e.multiple&&m(n.value)?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0)],42,S)}),128)),0===p.value.length?(t.openBlock(),t.createElementBlock("div",_,[t.renderSlot(r.$slots,"not-found",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"无匹配数据"})]})])):t.createCommentVNode("v-if",!0)]}),_:3})):(t.openBlock(),t.createElementBlock("div",x,[p.value.length>0?(t.openBlock(),t.createBlock(t.unref(l.ElScrollbar),{key:0,"max-height":"280px"},{default:t.withCtx(function(){return[t.createVNode(t.unref(n.VirtualList),{items:p.value,"item-size":e.optionHeight,style:{height:"280px"}},{default:t.withCtx(function(n){var r=n.item;return[(t.openBlock(),t.createElementBlock("div",{key:r.value,class:t.normalizeClass(["base-cascader-select-option",{"is-selected":m(r.value),"is-hover":s.value===r.value}]),onClick:function(e){return h(r)},onMouseenter:function(e){return s.value=r.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":m(r.value),class:"base-cascader-select-option__checkbox",onClick:u[1]||(u[1]=t.withModifiers(function(){},["stop"]))},null,8,["model-value"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",K,t.toDisplayString(r.label),1),!e.multiple&&m(r.value)?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0)],42,E))]}),_:1},8,["items","item-size"])]}),_:1})):(t.openBlock(),t.createElementBlock("div",q,[t.renderSlot(r.$slots,"not-found",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"无匹配数据"})]})]))]))],512),[[t.vShow,e.show]])]}),_:3})}}});P.__scopeId="data-v-3901f6ec",P.__file="packages/components/src/cascader/CascaderSelectMenu.vue";var A={class:"base-cascader-dropdown"},V=t.defineComponent(c(c({},{name:"XnCascader"}),{},{__name:"index",props:{modelValue:{type:null,required:!1,default:null},options:{type:Array,required:!1,default:function(){return[]}},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},filterable:{type:Boolean,required:!1,default:!1},multiple:{type:Boolean,required:!1,default:!1},size:{type:String,required:!1,default:"default"},expandTrigger:{type:null,required:!1,default:"click"},separator:{type:String,required:!1,default:" / "},showPath:{type:Boolean,required:!1,default:!0},cascade:{type:Boolean,required:!1,default:!0},checkStrategy:{type:null,required:!1,default:"all"},remote:{type:Boolean,required:!1,default:!1},onLoad:{type:null,required:!1},filter:{type:null,required:!1},valueField:{type:String,required:!1,default:"value"},labelField:{type:String,required:!1,default:"label"},childrenField:{type:String,required:!1,default:"children"},disabledField:{type:String,required:!1,default:"disabled"},maxTagCount:{type:Number,required:!1,default:1},popperClass:{type:String,required:!1},getColumnStyle:{type:Function,required:!1},clearFilterAfterSelect:{type:Boolean,required:!1,default:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34},showCheckbox:{type:Boolean,required:!1,default:void 0},emitPath:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","focus","blur"],setup:function(e,n){var a=n.expose,r=n.emit,u=e,o=r,i=t.ref(null),c=t.ref(null),d=t.ref(null),s=t.ref(u.modelValue),v=t.ref(""),f=t.ref(!1),p=t.ref(null),m=t.ref(null),h=t.ref(new Set),y=t.computed(function(){return u.disabled});t.computed(function(){return h.value.size>0});var k=t.computed(function(){return w(u.options,{getKey:function(e){return e[u.valueField]},getChildren:function(e){return e[u.childrenField]},getDisabled:function(e){return e[u.disabledField]||!1}})}),b=t.computed(function(){var e;return u.multiple&&Array.isArray(s.value)?(e=u.emitPath?0===s.value.length?[]:Array.isArray(s.value[0])?s.value.map(function(e){return e[e.length-1]}):s.value:s.value,k.value.getCheckedKeys(e,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1})):{checkedKeys:[],indeterminateKeys:[]}}),S=t.computed(function(){return b.value.checkedKeys}),B=t.computed(function(){return b.value.indeterminateKeys}),_=t.computed(function(){var e,t=k.value.getPath(m.value),l=t.treeNodePath,n=t.treeNode;return null===n?e=[k.value.treeNodes]:(e=l.map(function(e){return e.siblings}),n.isLeaf||h.value.has(n.key)||!n.children||e.push(n.children)),e}),x=t.computed(function(){return k.value.getPath(m.value).keyPath}),E=t.computed(function(){return void 0!==u.showCheckbox?u.showCheckbox:!(!u.multiple||!u.cascade)||"child"!==u.checkStrategy}),K=t.computed(function(){return!(!u.filterable||!v.value)}),q=t.computed(function(){if(u.multiple){var e=k.value,t=e.getCheckedKeys,l=e.getNode;return t(S.value,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1}).checkedKeys.map(function(e){var t=l(e);return null===t?{label:String(e),value:e}:{label:u.showPath?N(t,u.separator,u.labelField):t.rawNode[u.labelField],value:t.key}})}return[]}),V=t.computed(function(){if(!u.multiple){var e=k.value.getNode;if(null===s.value)return null;var t=null;if(u.emitPath&&Array.isArray(s.value)){if(0===s.value.length)return null;var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||(t=s.value);if(null==t)return null;var n=e(t);return null===n?{label:String(t),value:t}:{label:u.showPath?N(n,u.separator,u.labelField):n.rawNode[u.labelField],value:n.key}}return null}),F=t.computed({get:function(){var e;return u.multiple?q.value.map(function(e){return e.label}):(null===(e=V.value)||void 0===e?void 0:e.label)||""},set:function(e){}});function L(e,t,l){s.value=e,o("update:modelValue",e),o("change",e,t,l)}function M(e){var t=k.value.getNode;return e.map(function(e){var l;return(null===(l=t(e))||void 0===l?void 0:l.rawNode)||null})}function O(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,a=u.emitPath,r=k.value,o=r.check,i=r.getNode,c=r.getPath;if(l){var d=o(e,b.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;L(a?d.map(function(e){return c(e).keyPath}):d,M(d),d.map(function(e){var t;return C(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}else if("child"===n){var s=i(e);if(null==s||!s.isLeaf)return!1;var v=c(e);L(a?v.keyPath:e,s.rawNode,C(v.treeNodePath)),R()}else{var f=i(e),h=c(e);L(a?h.keyPath:e,(null==f?void 0:f.rawNode)||null,C(null==h?void 0:h.treeNodePath)),R()}return!0}function j(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,a=u.emitPath;if(l){var r=k.value,o=r.uncheck,i=r.getNode,c=r.getPath,d=o(e,b.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;L(a?d.map(function(e){return c(e).keyPath}):d,d.map(function(e){var t;return(null===(t=i(e))||void 0===t?void 0:t.rawNode)||null}),d.map(function(e){var t;return C(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}}function I(e){m.value=e}function $(e){p.value=e}function z(e){h.value.add(e)}function D(e){h.value.delete(e)}function T(){var e,t,l=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(f.value=!1,v.value="",l)?null===(e=i.value)||void 0===e||e.focus():null===(t=i.value)||void 0===t||t.blur()}function H(){u.clearFilterAfterSelect&&(v.value="")}function R(){v.value="",setTimeout(function(){if(i.value&&void 0!==i.value.query){var e;i.value.query="";var t=null===(e=i.value.$el)||void 0===e?void 0:e.querySelector("input");t&&V.value&&(t.value=V.value.label)}},0)}function U(){y.value||f.value||(f.value=!0)}function G(e){f.value=e,e||(v.value="")}function X(){u.multiple?L([],[],[]):L(null,null,null)}function J(e){var t=q.value.find(function(t){return t.label===e});t&&j(t.value)}function Q(e){v.value=e}function W(e){o("focus",e)}function Y(e){o("blur",e)}function Z(e){o("focus",e)}function ee(e){o("blur",e)}function te(e){ne(e)}function le(e){e.preventDefault()}function ne(e){if(f.value)switch(e.key){case"Enter":var t;if(K.value)null===(t=d.value)||void 0===t||t.enter();else if(null!==p.value)if(S.value.includes(p.value)||B.value.includes(p.value))j(p.value);else{var l=O(p.value);!u.multiple&&l&&T(!0)}break;case"ArrowUp":var n;if(e.preventDefault(),K.value)null===(n=d.value)||void 0===n||n.prev();else ae("prev");break;case"ArrowDown":var a;if(e.preventDefault(),K.value)null===(a=d.value)||void 0===a||a.next();else ae("next");break;case"ArrowLeft":e.preventDefault(),K.value||ae("parent");break;case"ArrowRight":e.preventDefault(),K.value||ae("child");break;case"Escape":T(!0)}}function ae(e){var t=p.value,l=k.value,n=l.getPrev,a=l.getNext,r=l.getChild,o=l.getParent,i=l.getFirstAvailableNode,c=l.getNode;switch(e){case"prev":if(null!==t){var d=n(t,{loop:!0});d&&$(d.key)}break;case"next":if(null===t){var s=i();s&&$(s.key)}else{var v=a(t,{loop:!0});v&&$(v.key)}break;case"child":if(null!==t){var f=c(t);if(null!=f&&f.shallowLoaded){var m=r(t);m&&(I(t),$(m.key))}else f&&!h.value.has(t)&&u.onLoad&&(z(t),I(t),u.onLoad(f.rawNode).then(function(){return D(t)}).catch(function(){return D(t)}))}break;case"parent":if(null!==t){var y=o(t);if(y){$(y.key);var b=o(y.key);I((null==b?void 0:b.key)||null)}}}}t.watch(function(){return u.modelValue},function(e){s.value=e}),t.watch(f,function(e){if(!e)return p.value=null,void(m.value=null);if(u.multiple)p.value=null,m.value=null;else{var t=null;if(u.emitPath&&Array.isArray(s.value)&&s.value.length>0){var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||null===s.value||(t=s.value);if(null!==t){var n=k.value.getNode(t);if(n){var a=n.parent;a?(p.value=a.key,m.value=a.key):(p.value=t,m.value=t)}}else p.value=null,m.value=null}});var re=t.computed(function(){return{mergedValue:s.value,checkedKeys:S.value,indeterminateKeys:B.value,hoverKeyPath:x.value,keyboardKey:p.value,hoverKey:m.value,loadingKeySet:h.value,multiple:u.multiple,cascade:u.cascade,checkStrategy:u.checkStrategy,expandTrigger:u.expandTrigger,remote:u.remote,showCheckbox:E.value,labelField:u.labelField,valueField:u.valueField,childrenField:u.childrenField,disabledField:u.disabledField,onLoad:u.onLoad,updateHoverKey:I,updateKeyboardKey:$,addLoadingKey:z,deleteLoadingKey:D,doCheck:O,doUncheck:j,closeMenu:T,clearPattern:H}});return t.provide("cascaderContext",re),a({focus:function(){var e;null===(e=i.value)||void 0===e||e.focus()},blur:function(){var e;null===(e=i.value)||void 0===e||e.blur()},getCheckedData:function(){return E.value?{keys:S.value,options:M(S.value)}:{keys:[],options:[]}},getIndeterminateData:function(){return E.value?{keys:B.value,options:M(B.value)}:{keys:[],options:[]}}}),function(n,a){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["base-cascader",{"is-disabled":y.value}])},[t.createVNode(t.unref(l.ElSelect),{ref_key:"selectRef",ref:i,modelValue:F.value,"onUpdate:modelValue":a[0]||(a[0]=function(e){return F.value=e}),placeholder:e.placeholder,disabled:y.value,clearable:e.clearable,filterable:e.filterable,multiple:e.multiple,size:e.size,"collapse-tags":e.multiple,"collapse-tags-tooltip":e.multiple,"max-collapse-tags":e.maxTagCount,"filter-method":Q,"popper-class":"base-cascader-popper ".concat(e.popperClass||""),"automatic-dropdown":"",onVisibleChange:G,onClear:X,onRemoveTag:J,onFocus:W,onBlur:Y,onKeydown:ne,onClick:U},{empty:t.withCtx(function(){return[t.createElementVNode("div",A,[K.value?(t.openBlock(),t.createBlock(P,{key:0,ref_key:"selectMenuRef",ref:d,show:f.value&&K.value,pattern:v.value,multiple:e.multiple,"tm-nodes":k.value.treeNodes,filter:e.filter,"label-field":e.labelField,separator:e.separator,value:s.value,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},t.createSlots({_:2},[n.$slots["not-found"]?{name:"not-found",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"not-found")]}),key:"0"}:void 0]),1032,["show","pattern","multiple","tm-nodes","filter","label-field","separator","value","virtual-scroll","option-height"])):(t.openBlock(),t.createBlock(g,{key:1,ref_key:"cascaderMenuRef",ref:c,show:f.value&&!K.value,"menu-model":_.value,"get-column-style":e.getColumnStyle,"on-focus":Z,"on-blur":ee,"on-keydown":te,"on-mousedown":le,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},t.createSlots({_:2},[n.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,a=e.checked;return[t.renderSlot(n.$slots,"label",{option:l,checked:a})]}),key:"0"}:void 0,n.$slots.empty?{name:"empty",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"empty")]}),key:"1"}:void 0,n.$slots.action?{name:"action",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"action")]}),key:"2"}:void 0]),1032,["show","menu-model","get-column-style","virtual-scroll","option-height"]))])]}),_:3},8,["modelValue","placeholder","disabled","clearable","filterable","multiple","size","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class"])],2)}}}));V.__scopeId="data-v-243e9ed1",V.__file="packages/components/src/cascader/index.vue";var F=V;F.install=function(e){V.name&&e.component(V.name,V)};var L={Cascader:F},M={install:function(e){Object.values(L).forEach(function(t){t.name&&e.component(t.name,t)})}};e.Cascader=F,e.components=L,e.default=M,Object.defineProperty(e,"__esModule",{value:!0})}(this["@xn-lib/component"]=this["@xn-lib/component"]||{},Vue,ElementPlus,vueuc,ElementPlusIconsVue);
|
|
1
|
+
!function(e,t,l,n,a){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function u(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=s(e))||t&&e&&"number"==typeof e.length){l&&(e=l);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,u=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return u=e.done,e},e:function(e){o=!0,r=e},f:function(){try{u||null==l.return||l.return()}finally{if(o)throw r}}}}function o(e,t,l){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var l=e[Symbol.toPrimitive];if(void 0!==l){var n=l.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function i(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function c(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?i(Object(l),!0).forEach(function(t){o(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):i(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function d(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return r(e,t);var l={}.toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?r(e,t):void 0}}var v=["title"],f={class:"base-cascader-option__suffix"},p=t.defineComponent({__name:"CascaderOption",props:{tmNode:{type:null,required:!0}},setup:function(e){var n=e,r=t.inject("cascaderContext"),u=t.computed(function(){return n.tmNode.key}),o=t.computed(function(){return n.tmNode.rawNode[r.value.labelField]}),i=t.computed(function(){return n.tmNode.disabled}),c=t.computed(function(){return n.tmNode.isLeaf}),d=t.computed(function(){return r.value.loadingKeySet.has(u.value)}),s=t.computed(function(){return!r.value.remote&&"hover"===r.value.expandTrigger}),p=t.computed(function(){if(!r.value.multiple){var e=r.value.mergedValue;return Array.isArray(e)?0!==e.length&&e[e.length-1]===u.value:e===u.value}return r.value.checkedKeys.includes(u.value)}),m=t.computed(function(){return!!r.value.multiple&&r.value.indeterminateKeys.includes(u.value)}),h=t.computed(function(){return r.value.hoverKeyPath.includes(u.value)}),y=t.computed(function(){return r.value.keyboardKey===u.value}),k=t.computed(function(){if(p.value||h.value)return!0;if(!r.value.multiple){var e=r.value.mergedValue;if(Array.isArray(e)&&e.length>0)return e.includes(u.value)}return!1}),b=t.computed(function(){return r.value.showCheckbox}),g=t.computed(function(){return r.value.checkStrategy}),w=t.computed(function(){return r.value.multiple}),C=t.computed(function(){return r.value.cascade}),N=t.computed(function(){return!!p.value&&(w.value?!b.value:"child"===g.value&&!(w.value&&C.value))});function S(e){if(!i.value&&!e.target.closest(".base-cascader-option__checkbox")){var t=r.value;t.updateHoverKey(u.value),t.updateKeyboardKey(u.value),t.remote&&!n.tmNode.shallowLoaded&&!d.value&&t.onLoad&&(t.addLoadingKey(u.value),t.onLoad(n.tmNode.rawNode).then(function(){t.deleteLoadingKey(u.value)}).catch(function(){t.deleteLoadingKey(u.value)})),t.multiple,c.value&&E()}}function B(){if(s.value&&!i.value){var e=r.value;e.updateHoverKey(u.value),e.updateKeyboardKey(u.value),e.remote&&!n.tmNode.shallowLoaded&&!d.value&&e.onLoad&&(e.addLoadingKey(u.value),e.onLoad(n.tmNode.rawNode).then(function(){e.deleteLoadingKey(u.value)}).catch(function(){e.deleteLoadingKey(u.value)}))}}function _(){s.value&&B()}function x(){E()}function E(){var e=r.value;e.multiple?m.value||p.value?e.doUncheck(u.value):e.doCheck(u.value):(e.doCheck(u.value),!e.showCheckbox&&c.value&&e.closeMenu(!1))}return function(n,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["base-cascader-option",{"is-active":k.value,"is-disabled":i.value,"is-hover":h.value||y.value,"has-checkbox":b.value}]),onClick:S,onMouseenter:B,onMousemove:_},[b.value?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":p.value,indeterminate:m.value,disabled:i.value,class:"base-cascader-option__checkbox",onClick:r[0]||(r[0]=t.withModifiers(function(){},["stop"])),onChange:x},null,8,["model-value","indeterminate","disabled"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",{class:"base-cascader-option__label",title:o.value},[t.renderSlot(n.$slots,"label",{option:e.tmNode.rawNode,checked:p.value},function(){return[t.createTextVNode(t.toDisplayString(o.value),1)]})],8,v),t.createElementVNode("span",f,[d.value?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:0,class:"is-loading"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Loading))]}),_:1})):c.value?N.value?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:2,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0):(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"arrow-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.ArrowRight))]}),_:1}))])],34)}}});p.__scopeId="data-v-248f99f8",p.__file="packages/components/src/cascader/CascaderOption.vue";var m={key:0,class:"base-cascader-menu__wrapper"},h={key:0,class:"base-cascader-submenu__list"},y={key:1,class:"base-cascader-submenu__list base-cascader-submenu__list--virtual"},k={key:1,class:"base-cascader-menu__empty"},b={key:2,class:"base-cascader-menu__action"},g=t.defineComponent({__name:"CascaderMenu",props:{show:{type:Boolean,required:!0},menuModel:{type:Array,required:!0},onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},getColumnStyle:{type:Function,required:!1},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,a){var r=a.expose,u=e,o=t.ref(null);function i(e){o.value&&(o.value.contains(e.relatedTarget)||u.onFocus(e))}function c(e){o.value&&(o.value.contains(e.relatedTarget)||u.onBlur(e))}return r({scroll:function(e,t,l){},showErrorMessage:function(e){console.warn("Loading required: ".concat(e))}}),function(a,r){return t.openBlock(),t.createBlock(t.Transition,{name:"el-zoom-in-top",persisted:""},{default:t.withCtx(function(){var u;return[t.withDirectives(t.createElementVNode("div",{ref_key:"menuRef",ref:o,class:"base-cascader-menu",tabindex:"0",onMousedown:r[0]||(r[0]=function(){return e.onMousedown&&e.onMousedown.apply(e,arguments)}),onKeydown:r[1]||(r[1]=function(){return e.onKeydown&&e.onKeydown.apply(e,arguments)}),onFocusin:i,onFocusout:c,onClick:r[2]||(r[2]=t.withModifiers(function(){},["stop"]))},[null!==(u=e.menuModel[0])&&void 0!==u&&u.length?(t.openBlock(),t.createElementBlock("div",m,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.menuModel,function(r,u){var o;return t.openBlock(),t.createElementBlock("div",{key:u,class:"base-cascader-submenu",style:t.normalizeStyle(null===(o=e.getColumnStyle)||void 0===o?void 0:o.call(e,{level:u}))},[!e.virtualScroll||r.length<50?(t.openBlock(),t.createElementBlock("div",h,[t.createVNode(t.unref(l.ElScrollbar),null,{default:t.withCtx(function(){return[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r,function(e){return t.openBlock(),t.createBlock(p,{key:e.key,"tm-node":e},t.createSlots({_:2},[a.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,n=e.checked;return[t.renderSlot(a.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"])}),128))]}),_:2},1024)])):(t.openBlock(),t.createElementBlock("div",y,[t.createVNode(t.unref(n.VirtualList),{items:r,"item-size":e.optionHeight,style:{height:"280px"}},{default:t.withCtx(function(e){var l=e.item;return[(t.openBlock(),t.createBlock(p,{key:l.key,"tm-node":l},t.createSlots({_:2},[a.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,n=e.checked;return[t.renderSlot(a.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"]))]}),_:3},8,["items","item-size"])]))],4)}),128))])):(t.openBlock(),t.createElementBlock("div",k,[t.renderSlot(a.$slots,"empty",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"暂无数据"})]})])),a.$slots.action?(t.openBlock(),t.createElementBlock("div",b,[t.renderSlot(a.$slots,"action")])):t.createCommentVNode("v-if",!0)],544),[[t.vShow,e.show]])]}),_:3})}}});function w(e,t){var l=new Map,n=[];var a=function e(n,a,r){var u=[];return n.map(function(n,o){var i=t.getKey(n),c=t.getChildren(n),d=t.getDisabled(n),s=void 0!==n.isLeaf?n.isLeaf:!c||0===c.length,v=s||void 0!==c&&c.length>0,f={key:i,rawNode:n,level:a,index:o,isLeaf:s,isGroup:!1,ignored:!1,disabled:d,shallowLoaded:v,parent:r,siblings:u,children:void 0};return u.push(f),l.set(i,f),c&&c.length>0&&(f.children=e(c,a+1,f)),f})}(e,0,null);function r(e){return l.get(e)||null}function o(e){var t=[e.key];return e.children&&e.children.forEach(function(e){t.push.apply(t,d(o(e)))}),t}n.push.apply(n,d(a));var i=function e(t){var l=[];return t.forEach(function(t){t.disabled||(l.push(t),t.children&&l.push.apply(l,d(e(t.children))))}),l}(n);return{treeNodes:n,getNode:r,getPath:function(e){if(null===e)return{treeNodePath:[],keyPath:[],treeNode:null};var t=r(e);if(!t)return{treeNodePath:[],keyPath:[],treeNode:null};for(var l=[],n=[],a=t;a;)l.unshift(a),n.unshift(a.key),a=a.parent;return{treeNodePath:l,keyPath:n,treeNode:t}},getCheckedKeys:function(e,t){var l=new Set(e),a=new Set;if(!t.cascade)return{checkedKeys:e,indeterminateKeys:[]};function r(e){if(!e.children||0===e.children.length)return{allChecked:l.has(e.key),someChecked:l.has(e.key)};var t,n=!0,o=!1,i=u(e.children);try{for(i.s();!(t=i.n()).done;){var c=r(t.value);c.allChecked||(n=!1),c.someChecked&&(o=!0)}}catch(e){i.e(e)}finally{i.f()}var d=l.has(e.key);return n?(l.add(e.key),{allChecked:!0,someChecked:!0}):o||d?(a.add(e.key),{allChecked:!1,someChecked:!0}):{allChecked:!1,someChecked:!1}}return n.forEach(function(e){return r(e)}),{checkedKeys:Array.from(l),indeterminateKeys:Array.from(a)}},check:function(e,t,l){var n=r(e);if(!n)return{checkedKeys:t};var a=new Set(t);return a.add(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return a.add(e)}),{checkedKeys:Array.from(a)}},uncheck:function(e,t,l){var n=r(e);if(!n)return{checkedKeys:t};var a=new Set(t);return a.delete(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return a.delete(e)}),{checkedKeys:Array.from(a)}},getPrev:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:0===l?t.loop?i[i.length-1]:null:i[l-1]},getNext:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:l===i.length-1?t.loop?i[0]:null:i[l+1]},getChild:function(e){var t=r(e);return t&&t.children&&0!==t.children.length&&t.children.find(function(e){return!e.disabled})||null},getParent:function(e){var t=r(e);return(null==t?void 0:t.parent)||null},getFirstAvailableNode:function(){return i[0]||null}}}function C(e){return e?e.map(function(e){return e.rawNode}):null}function N(e,t,l){for(var n=[];e;)n.push(e.rawNode[l]),e=e.parent;return n.reverse().join(t)}g.__scopeId="data-v-097326a4",g.__file="packages/components/src/cascader/CascaderMenu.vue";var S=["onClick","onMouseenter"],B={class:"base-cascader-select-option__label"},_={key:0,class:"base-cascader-select-menu__empty"},x={key:1,class:"base-cascader-select-menu__virtual"},E=["onClick","onMouseenter"],K={class:"base-cascader-select-option__label"},q={key:1,class:"base-cascader-select-menu__empty"},P=t.defineComponent({__name:"CascaderSelectMenu",props:{show:{type:Boolean,required:!0},pattern:{type:String,required:!0},multiple:{type:Boolean,required:!0},tmNodes:{type:Array,required:!0},filter:{type:null,required:!1},labelField:{type:String,required:!0},separator:{type:String,required:!0},value:{type:null,required:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,r){var o=r.expose,i=e,c=t.inject("cascaderContext"),d=t.ref(null),s=t.ref(null),v=t.computed(function(){return function(e,t,l,n){var a=[],r=[];return function e(o){var i,c=u(o);try{for(c.s();!(i=c.n()).done;){var d=i.value;if(!d.disabled){var s=d.rawNode;r.push(s),!d.isLeaf&&t||a.push({label:N(d,n,l),value:d.key,rawNode:d.rawNode,path:Array.from(r)}),!d.isLeaf&&d.children&&e(d.children),r.pop()}}}catch(e){c.e(e)}finally{c.f()}}(e),a}(i.tmNodes,"child"===c.value.checkStrategy,i.labelField,i.separator)}),f=t.computed(function(){return i.filter?i.filter:function(e,t,l){return l.some(function(t){return t[i.labelField]&&t[i.labelField].toLowerCase().includes(e.toLowerCase())})}}),p=t.computed(function(){return i.pattern?v.value.filter(function(e){return f.value(i.pattern,e.rawNode,e.path)}):v.value});function m(e){return i.multiple&&Array.isArray(i.value)?i.value.includes(e):i.value===e}function h(e){var t=c.value;i.multiple?m(e.value)?t.doUncheck(e.value):t.doCheck(e.value):(t.doCheck(e.value),t.clearPattern(),t.closeMenu())}return o({prev:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e>0?s.value=p.value[e-1].value:p.value.length>0&&(s.value=p.value[p.value.length-1].value)},next:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e<p.value.length-1?s.value=p.value[e+1].value:p.value.length>0&&(s.value=p.value[0].value)},enter:function(){if(null!==s.value){var e=p.value.find(function(e){return e.value===s.value});if(e)return h(e),!0}return!1}}),function(r,u){return t.openBlock(),t.createBlock(t.Transition,{name:"el-zoom-in-top",persisted:""},{default:t.withCtx(function(){return[t.withDirectives(t.createElementVNode("div",{ref_key:"selectMenuRef",ref:d,class:"base-cascader-select-menu",onClick:u[2]||(u[2]=t.withModifiers(function(){},["stop"]))},[!e.virtualScroll||p.value.length<50?(t.openBlock(),t.createBlock(t.unref(l.ElScrollbar),{key:0,"max-height":"280px"},{default:t.withCtx(function(){return[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,function(n){return t.openBlock(),t.createElementBlock("div",{key:n.value,class:t.normalizeClass(["base-cascader-select-option",{"is-selected":m(n.value),"is-hover":s.value===n.value}]),onClick:function(e){return h(n)},onMouseenter:function(e){return s.value=n.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":m(n.value),class:"base-cascader-select-option__checkbox",onClick:u[0]||(u[0]=t.withModifiers(function(){},["stop"]))},null,8,["model-value"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",B,t.toDisplayString(n.label),1),!e.multiple&&m(n.value)?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0)],42,S)}),128)),0===p.value.length?(t.openBlock(),t.createElementBlock("div",_,[t.renderSlot(r.$slots,"not-found",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"无匹配数据"})]})])):t.createCommentVNode("v-if",!0)]}),_:3})):(t.openBlock(),t.createElementBlock("div",x,[p.value.length>0?(t.openBlock(),t.createBlock(t.unref(l.ElScrollbar),{key:0,"max-height":"280px"},{default:t.withCtx(function(){return[t.createVNode(t.unref(n.VirtualList),{items:p.value,"item-size":e.optionHeight,style:{height:"280px"}},{default:t.withCtx(function(n){var r=n.item;return[(t.openBlock(),t.createElementBlock("div",{key:r.value,class:t.normalizeClass(["base-cascader-select-option",{"is-selected":m(r.value),"is-hover":s.value===r.value}]),onClick:function(e){return h(r)},onMouseenter:function(e){return s.value=r.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":m(r.value),class:"base-cascader-select-option__checkbox",onClick:u[1]||(u[1]=t.withModifiers(function(){},["stop"]))},null,8,["model-value"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",K,t.toDisplayString(r.label),1),!e.multiple&&m(r.value)?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0)],42,E))]}),_:1},8,["items","item-size"])]}),_:1})):(t.openBlock(),t.createElementBlock("div",q,[t.renderSlot(r.$slots,"not-found",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"无匹配数据"})]})]))]))],512),[[t.vShow,e.show]])]}),_:3})}}});P.__scopeId="data-v-3901f6ec",P.__file="packages/components/src/cascader/CascaderSelectMenu.vue";var A={class:"base-cascader-dropdown"},V=t.defineComponent(c(c({},{name:"XnCascader"}),{},{__name:"index",props:{modelValue:{type:null,required:!1,default:null},options:{type:Array,required:!1,default:function(){return[]}},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},filterable:{type:Boolean,required:!1,default:!1},multiple:{type:Boolean,required:!1,default:!1},size:{type:String,required:!1,default:"default"},expandTrigger:{type:null,required:!1,default:"click"},separator:{type:String,required:!1,default:" / "},showPath:{type:Boolean,required:!1,default:!0},cascade:{type:Boolean,required:!1,default:!0},checkStrategy:{type:null,required:!1,default:"all"},remote:{type:Boolean,required:!1,default:!1},onLoad:{type:null,required:!1},filter:{type:null,required:!1},valueField:{type:String,required:!1,default:"value"},labelField:{type:String,required:!1,default:"label"},childrenField:{type:String,required:!1,default:"children"},disabledField:{type:String,required:!1,default:"disabled"},maxTagCount:{type:Number,required:!1,default:1},popperClass:{type:String,required:!1},getColumnStyle:{type:Function,required:!1},clearFilterAfterSelect:{type:Boolean,required:!1,default:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34},showCheckbox:{type:Boolean,required:!1,default:void 0},emitPath:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","focus","blur"],setup:function(e,n){var a=n.expose,r=n.emit,u=e,o=r,i=t.ref(null),c=t.ref(null),d=t.ref(null),s=t.ref(u.modelValue),v=t.ref(""),f=t.ref(!1),p=t.ref(null),m=t.ref(null),h=t.ref(new Set),y=t.computed(function(){return u.disabled});t.computed(function(){return h.value.size>0});var k=t.computed(function(){return w(u.options,{getKey:function(e){return e[u.valueField]},getChildren:function(e){return e[u.childrenField]},getDisabled:function(e){return e[u.disabledField]||!1}})}),b=t.computed(function(){var e;return u.multiple&&Array.isArray(s.value)?(e=u.emitPath?0===s.value.length?[]:Array.isArray(s.value[0])?s.value.map(function(e){return e[e.length-1]}):s.value:s.value,k.value.getCheckedKeys(e,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1})):{checkedKeys:[],indeterminateKeys:[]}}),S=t.computed(function(){return b.value.checkedKeys}),B=t.computed(function(){return b.value.indeterminateKeys}),_=t.computed(function(){var e,t=k.value.getPath(m.value),l=t.treeNodePath,n=t.treeNode;return null===n?e=[k.value.treeNodes]:(e=l.map(function(e){return e.siblings}),n.isLeaf||h.value.has(n.key)||!n.children||e.push(n.children)),e}),x=t.computed(function(){return k.value.getPath(m.value).keyPath}),E=t.computed(function(){return void 0!==u.showCheckbox?u.showCheckbox:!(!u.multiple||!u.cascade)||"child"!==u.checkStrategy}),K=t.computed(function(){return!(!u.filterable||!v.value)}),q=t.computed(function(){if(u.multiple){var e=k.value,t=e.getCheckedKeys,l=e.getNode;return t(S.value,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1}).checkedKeys.map(function(e){var t=l(e);return null===t?{label:String(e),value:e}:{label:u.showPath?N(t,u.separator,u.labelField):t.rawNode[u.labelField],value:t.key}})}return[]}),V=t.computed(function(){if(!u.multiple){var e=k.value.getNode;if(null===s.value)return null;var t=null;if(u.emitPath&&Array.isArray(s.value)){if(0===s.value.length)return null;var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||(t=s.value);if(null==t)return null;var n=e(t);return null===n?{label:String(t),value:t}:{label:u.showPath?N(n,u.separator,u.labelField):n.rawNode[u.labelField],value:n.key}}return null}),F=t.computed({get:function(){var e;return u.multiple?q.value.map(function(e){return e.label}):(null===(e=V.value)||void 0===e?void 0:e.label)||""},set:function(e){}});function L(e,t,l){s.value=e,o("update:modelValue",e),o("change",e,t,l)}function M(e){var t=k.value.getNode;return e.map(function(e){var l;return(null===(l=t(e))||void 0===l?void 0:l.rawNode)||null})}function O(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,a=u.emitPath,r=k.value,o=r.check,i=r.getNode,c=r.getPath;if(l){var d=o(e,b.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;L(a?d.map(function(e){return c(e).keyPath}):d,M(d),d.map(function(e){var t;return C(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}else if("child"===n){var s=i(e);if(null==s||!s.isLeaf)return!1;var v=c(e);L(a?v.keyPath:e,s.rawNode,C(v.treeNodePath)),R()}else{var f=i(e),h=c(e);L(a?h.keyPath:e,(null==f?void 0:f.rawNode)||null,C(null==h?void 0:h.treeNodePath)),R()}return!0}function j(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,a=u.emitPath;if(l){var r=k.value,o=r.uncheck,i=r.getNode,c=r.getPath,d=o(e,b.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;L(a?d.map(function(e){return c(e).keyPath}):d,d.map(function(e){var t;return(null===(t=i(e))||void 0===t?void 0:t.rawNode)||null}),d.map(function(e){var t;return C(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}}function I(e){m.value=e}function $(e){p.value=e}function z(e){h.value.add(e)}function D(e){h.value.delete(e)}function T(){var e,t,l=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(f.value=!1,v.value="",l)?null===(e=i.value)||void 0===e||e.focus():null===(t=i.value)||void 0===t||t.blur()}function H(){u.clearFilterAfterSelect&&(v.value="")}function R(){v.value="",setTimeout(function(){if(i.value&&void 0!==i.value.query){var e;i.value.query="";var t=null===(e=i.value.$el)||void 0===e?void 0:e.querySelector("input");t&&V.value&&(t.value=V.value.label)}},0)}function U(){y.value||f.value||(f.value=!0)}function X(e){f.value=e,e||(v.value="")}function G(){u.multiple?L([],[],[]):L(null,null,null)}function J(e){var t=q.value.find(function(t){return t.label===e});t&&j(t.value)}function Q(e){v.value=e}function W(e){o("focus",e)}function Y(e){o("blur",e)}function Z(e){o("focus",e)}function ee(e){o("blur",e)}function te(e){ne(e)}function le(e){e.preventDefault()}function ne(e){if(f.value)switch(e.key){case"Enter":var t;if(K.value)null===(t=d.value)||void 0===t||t.enter();else if(null!==p.value)if(S.value.includes(p.value)||B.value.includes(p.value))j(p.value);else{var l=O(p.value);!u.multiple&&l&&T(!0)}break;case"ArrowUp":var n;if(e.preventDefault(),K.value)null===(n=d.value)||void 0===n||n.prev();else ae("prev");break;case"ArrowDown":var a;if(e.preventDefault(),K.value)null===(a=d.value)||void 0===a||a.next();else ae("next");break;case"ArrowLeft":e.preventDefault(),K.value||ae("parent");break;case"ArrowRight":e.preventDefault(),K.value||ae("child");break;case"Escape":T(!0)}}function ae(e){var t=p.value,l=k.value,n=l.getPrev,a=l.getNext,r=l.getChild,o=l.getParent,i=l.getFirstAvailableNode,c=l.getNode;switch(e){case"prev":if(null!==t){var d=n(t,{loop:!0});d&&$(d.key)}break;case"next":if(null===t){var s=i();s&&$(s.key)}else{var v=a(t,{loop:!0});v&&$(v.key)}break;case"child":if(null!==t){var f=c(t);if(null!=f&&f.shallowLoaded){var m=r(t);m&&(I(t),$(m.key))}else f&&!h.value.has(t)&&u.onLoad&&(z(t),I(t),u.onLoad(f.rawNode).then(function(){return D(t)}).catch(function(){return D(t)}))}break;case"parent":if(null!==t){var y=o(t);if(y){$(y.key);var b=o(y.key);I((null==b?void 0:b.key)||null)}}}}t.watch(function(){return u.modelValue},function(e){s.value=e}),t.watch(f,function(e){if(!e)return p.value=null,void(m.value=null);if(u.multiple)p.value=null,m.value=null;else{var t=null;if(u.emitPath&&Array.isArray(s.value)&&s.value.length>0){var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||null===s.value||(t=s.value);if(null!==t){var n=k.value.getNode(t);if(n){var a=n.parent;a?(p.value=a.key,m.value=a.key):(p.value=t,m.value=t)}}else p.value=null,m.value=null}});var re=t.computed(function(){return{mergedValue:s.value,checkedKeys:S.value,indeterminateKeys:B.value,hoverKeyPath:x.value,keyboardKey:p.value,hoverKey:m.value,loadingKeySet:h.value,multiple:u.multiple,cascade:u.cascade,checkStrategy:u.checkStrategy,expandTrigger:u.expandTrigger,remote:u.remote,showCheckbox:E.value,labelField:u.labelField,valueField:u.valueField,childrenField:u.childrenField,disabledField:u.disabledField,onLoad:u.onLoad,updateHoverKey:I,updateKeyboardKey:$,addLoadingKey:z,deleteLoadingKey:D,doCheck:O,doUncheck:j,closeMenu:T,clearPattern:H}});return t.provide("cascaderContext",re),a({focus:function(){var e;null===(e=i.value)||void 0===e||e.focus()},blur:function(){var e;null===(e=i.value)||void 0===e||e.blur()},getCheckedData:function(){return E.value?{keys:S.value,options:M(S.value)}:{keys:[],options:[]}},getIndeterminateData:function(){return E.value?{keys:B.value,options:M(B.value)}:{keys:[],options:[]}}}),function(n,a){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["base-cascader",{"is-disabled":y.value}])},[t.createVNode(t.unref(l.ElSelect),{ref_key:"selectRef",ref:i,modelValue:F.value,"onUpdate:modelValue":a[0]||(a[0]=function(e){return F.value=e}),placeholder:e.placeholder,disabled:y.value,clearable:e.clearable,filterable:e.filterable,multiple:e.multiple,size:e.size,"collapse-tags":e.multiple,"collapse-tags-tooltip":e.multiple,"max-collapse-tags":e.maxTagCount,"filter-method":Q,"popper-class":"base-cascader-popper ".concat(e.popperClass||""),"automatic-dropdown":"",onVisibleChange:X,onClear:G,onRemoveTag:J,onFocus:W,onBlur:Y,onKeydown:ne,onClick:U},{empty:t.withCtx(function(){return[t.createElementVNode("div",A,[K.value?(t.openBlock(),t.createBlock(P,{key:0,ref_key:"selectMenuRef",ref:d,show:f.value&&K.value,pattern:v.value,multiple:e.multiple,"tm-nodes":k.value.treeNodes,filter:e.filter,"label-field":e.labelField,separator:e.separator,value:s.value,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},t.createSlots({_:2},[n.$slots["not-found"]?{name:"not-found",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"not-found")]}),key:"0"}:void 0]),1032,["show","pattern","multiple","tm-nodes","filter","label-field","separator","value","virtual-scroll","option-height"])):(t.openBlock(),t.createBlock(g,{key:1,ref_key:"cascaderMenuRef",ref:c,show:f.value&&!K.value,"menu-model":_.value,"get-column-style":e.getColumnStyle,"on-focus":Z,"on-blur":ee,"on-keydown":te,"on-mousedown":le,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},t.createSlots({_:2},[n.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,a=e.checked;return[t.renderSlot(n.$slots,"label",{option:l,checked:a})]}),key:"0"}:void 0,n.$slots.empty?{name:"empty",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"empty")]}),key:"1"}:void 0,n.$slots.action?{name:"action",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"action")]}),key:"2"}:void 0]),1032,["show","menu-model","get-column-style","virtual-scroll","option-height"]))])]}),_:3},8,["modelValue","placeholder","disabled","clearable","filterable","multiple","size","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class"])],2)}}}));V.__scopeId="data-v-243e9ed1",V.__file="packages/components/src/cascader/index.vue";var F=V;F.install=function(e){V.name&&e.component(V.name,V)};var L={XnCascader:F},M={install:function(e){Object.values(L).forEach(function(t){t.name&&e.component(t.name,t)})}};e.XnCascader=F,e.components=L,e.default=M,Object.defineProperty(e,"__esModule",{value:!0})}(this["@xn-lib/component"]=this["@xn-lib/component"]||{},Vue,ElementPlus,vueuc,ElementPlusIconsVue);
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,inject as l,computed as n,openBlock as t,createElementBlock as a,normalizeClass as r,createBlock as u,unref as o,withModifiers as i,createCommentVNode as c,createElementVNode as d,renderSlot as s,createTextVNode as v,toDisplayString as f,withCtx as p,createVNode as y,ref as h,Transition as m,withDirectives as b,Fragment as g,renderList as k,normalizeStyle as w,createSlots as _,vShow as N,watch as C,provide as S}from"vue";import{ElCheckbox as K,ElIcon as q,ElScrollbar as P,ElEmpty as x,ElSelect as A}from"element-plus";import{VirtualList as F}from"vueuc";import{Loading as L,ArrowRight as M,Check as O}from"@element-plus/icons-vue";function $(e,l){(null==l||l>e.length)&&(l=e.length);for(var n=0,t=Array(l);n<l;n++)t[n]=e[n];return t}function j(e,l){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=I(e))||l&&e&&"number"==typeof e.length){n&&(e=n);var t=0,a=function(){};return{s:a,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,u=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){o=!0,r=e},f:function(){try{u||null==n.return||n.return()}finally{if(o)throw r}}}}function B(e,l,n){return(l=function(e){var l=function(e,l){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,l||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===l?String:Number)(e)}(e,"string");return"symbol"==typeof l?l:l+""}(l))in e?Object.defineProperty(e,l,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[l]=n,e}function z(e,l){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);l&&(t=t.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,t)}return n}function D(e){for(var l=1;l<arguments.length;l++){var n=null!=arguments[l]?arguments[l]:{};l%2?z(Object(n),!0).forEach(function(l){B(e,l,n[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach(function(l){Object.defineProperty(e,l,Object.getOwnPropertyDescriptor(n,l))})}return e}function E(e){return function(e){if(Array.isArray(e))return $(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,l){if(e){if("string"==typeof e)return $(e,l);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$(e,l):void 0}}var T=["title"],V={class:"base-cascader-option__suffix"},H=e({__name:"CascaderOption",props:{tmNode:{type:null,required:!0}},setup:function(e){var h=e,m=l("cascaderContext"),b=n(function(){return h.tmNode.key}),g=n(function(){return h.tmNode.rawNode[m.value.labelField]}),k=n(function(){return h.tmNode.disabled}),w=n(function(){return h.tmNode.isLeaf}),_=n(function(){return m.value.loadingKeySet.has(b.value)}),N=n(function(){return!m.value.remote&&"hover"===m.value.expandTrigger}),C=n(function(){if(!m.value.multiple){var e=m.value.mergedValue;return Array.isArray(e)?0!==e.length&&e[e.length-1]===b.value:e===b.value}return m.value.checkedKeys.includes(b.value)}),S=n(function(){return!!m.value.multiple&&m.value.indeterminateKeys.includes(b.value)}),P=n(function(){return m.value.hoverKeyPath.includes(b.value)}),x=n(function(){return m.value.keyboardKey===b.value}),A=n(function(){if(C.value||P.value)return!0;if(!m.value.multiple){var e=m.value.mergedValue;if(Array.isArray(e)&&e.length>0)return e.includes(b.value)}return!1}),F=n(function(){return m.value.showCheckbox}),$=n(function(){return m.value.checkStrategy}),j=n(function(){return m.value.multiple}),B=n(function(){return m.value.cascade}),z=n(function(){return!!C.value&&(j.value?!F.value:"child"===$.value&&!(j.value&&B.value))});function D(e){if(!k.value&&!e.target.closest(".base-cascader-option__checkbox")){var l=m.value;l.updateHoverKey(b.value),l.updateKeyboardKey(b.value),l.remote&&!h.tmNode.shallowLoaded&&!_.value&&l.onLoad&&(l.addLoadingKey(b.value),l.onLoad(h.tmNode.rawNode).then(function(){l.deleteLoadingKey(b.value)}).catch(function(){l.deleteLoadingKey(b.value)})),l.multiple,w.value&&R()}}function E(){if(N.value&&!k.value){var e=m.value;e.updateHoverKey(b.value),e.updateKeyboardKey(b.value),e.remote&&!h.tmNode.shallowLoaded&&!_.value&&e.onLoad&&(e.addLoadingKey(b.value),e.onLoad(h.tmNode.rawNode).then(function(){e.deleteLoadingKey(b.value)}).catch(function(){e.deleteLoadingKey(b.value)}))}}function I(){N.value&&E()}function H(){R()}function R(){var e=m.value;e.multiple?S.value||C.value?e.doUncheck(b.value):e.doCheck(b.value):(e.doCheck(b.value),!e.showCheckbox&&w.value&&e.closeMenu(!1))}return function(l,n){return t(),a("div",{class:r(["base-cascader-option",{"is-active":A.value,"is-disabled":k.value,"is-hover":P.value||x.value,"has-checkbox":F.value}]),onClick:D,onMouseenter:E,onMousemove:I},[F.value?(t(),u(o(K),{key:0,"model-value":C.value,indeterminate:S.value,disabled:k.value,class:"base-cascader-option__checkbox",onClick:n[0]||(n[0]=i(function(){},["stop"])),onChange:H},null,8,["model-value","indeterminate","disabled"])):c("v-if",!0),d("span",{class:"base-cascader-option__label",title:g.value},[s(l.$slots,"label",{option:e.tmNode.rawNode,checked:C.value},function(){return[v(f(g.value),1)]})],8,T),d("span",V,[_.value?(t(),u(o(q),{key:0,class:"is-loading"},{default:p(function(){return[y(o(L))]}),_:1})):w.value?z.value?(t(),u(o(q),{key:2,class:"check-icon"},{default:p(function(){return[y(o(O))]}),_:1})):c("v-if",!0):(t(),u(o(q),{key:1,class:"arrow-icon"},{default:p(function(){return[y(o(M))]}),_:1}))])],34)}}});H.__scopeId="data-v-248f99f8",H.__file="packages/components/src/cascader/CascaderOption.vue";var R={key:0,class:"base-cascader-menu__wrapper"},U={key:0,class:"base-cascader-submenu__list"},G={key:1,class:"base-cascader-submenu__list base-cascader-submenu__list--virtual"},X={key:1,class:"base-cascader-menu__empty"},J={key:2,class:"base-cascader-menu__action"},Q=e({__name:"CascaderMenu",props:{show:{type:Boolean,required:!0},menuModel:{type:Array,required:!0},onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},getColumnStyle:{type:Function,required:!1},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,l){var n=l.expose,r=e,v=h(null);function f(e){v.value&&(v.value.contains(e.relatedTarget)||r.onFocus(e))}function C(e){v.value&&(v.value.contains(e.relatedTarget)||r.onBlur(e))}return n({scroll:function(e,l,n){},showErrorMessage:function(e){console.warn("Loading required: ".concat(e))}}),function(l,n){return t(),u(m,{name:"el-zoom-in-top",persisted:""},{default:p(function(){var r;return[b(d("div",{ref_key:"menuRef",ref:v,class:"base-cascader-menu",tabindex:"0",onMousedown:n[0]||(n[0]=function(){return e.onMousedown&&e.onMousedown.apply(e,arguments)}),onKeydown:n[1]||(n[1]=function(){return e.onKeydown&&e.onKeydown.apply(e,arguments)}),onFocusin:f,onFocusout:C,onClick:n[2]||(n[2]=i(function(){},["stop"]))},[null!==(r=e.menuModel[0])&&void 0!==r&&r.length?(t(),a("div",R,[(t(!0),a(g,null,k(e.menuModel,function(n,r){var i;return t(),a("div",{key:r,class:"base-cascader-submenu",style:w(null===(i=e.getColumnStyle)||void 0===i?void 0:i.call(e,{level:r}))},[!e.virtualScroll||n.length<50?(t(),a("div",U,[y(o(P),null,{default:p(function(){return[(t(!0),a(g,null,k(n,function(e){return t(),u(H,{key:e.key,"tm-node":e},_({_:2},[l.$slots.label?{name:"label",fn:p(function(e){var n=e.option,t=e.checked;return[s(l.$slots,"label",{option:n,checked:t})]}),key:"0"}:void 0]),1032,["tm-node"])}),128))]}),_:2},1024)])):(t(),a("div",G,[y(o(F),{items:n,"item-size":e.optionHeight,style:{height:"280px"}},{default:p(function(e){var n=e.item;return[(t(),u(H,{key:n.key,"tm-node":n},_({_:2},[l.$slots.label?{name:"label",fn:p(function(e){var n=e.option,t=e.checked;return[s(l.$slots,"label",{option:n,checked:t})]}),key:"0"}:void 0]),1032,["tm-node"]))]}),_:3},8,["items","item-size"])]))],4)}),128))])):(t(),a("div",X,[s(l.$slots,"empty",{},function(){return[y(o(x),{"image-size":60,description:"暂无数据"})]})])),l.$slots.action?(t(),a("div",J,[s(l.$slots,"action")])):c("v-if",!0)],544),[[N,e.show]])]}),_:3})}}});function W(e,l){var n=new Map,t=[];var a=function e(t,a,r){var u=[];return t.map(function(t,o){var i=l.getKey(t),c=l.getChildren(t),d=l.getDisabled(t),s=void 0!==t.isLeaf?t.isLeaf:!c||0===c.length,v=s||void 0!==c&&c.length>0,f={key:i,rawNode:t,level:a,index:o,isLeaf:s,isGroup:!1,ignored:!1,disabled:d,shallowLoaded:v,parent:r,siblings:u,children:void 0};return u.push(f),n.set(i,f),c&&c.length>0&&(f.children=e(c,a+1,f)),f})}(e,0,null);function r(e){return n.get(e)||null}function u(e){var l=[e.key];return e.children&&e.children.forEach(function(e){l.push.apply(l,E(u(e)))}),l}t.push.apply(t,E(a));var o=function e(l){var n=[];return l.forEach(function(l){l.disabled||(n.push(l),l.children&&n.push.apply(n,E(e(l.children))))}),n}(t);return{treeNodes:t,getNode:r,getPath:function(e){if(null===e)return{treeNodePath:[],keyPath:[],treeNode:null};var l=r(e);if(!l)return{treeNodePath:[],keyPath:[],treeNode:null};for(var n=[],t=[],a=l;a;)n.unshift(a),t.unshift(a.key),a=a.parent;return{treeNodePath:n,keyPath:t,treeNode:l}},getCheckedKeys:function(e,l){var n=new Set(e),a=new Set;if(!l.cascade)return{checkedKeys:e,indeterminateKeys:[]};function r(e){if(!e.children||0===e.children.length)return{allChecked:n.has(e.key),someChecked:n.has(e.key)};var l,t=!0,u=!1,o=j(e.children);try{for(o.s();!(l=o.n()).done;){var i=r(l.value);i.allChecked||(t=!1),i.someChecked&&(u=!0)}}catch(e){o.e(e)}finally{o.f()}var c=n.has(e.key);return t?(n.add(e.key),{allChecked:!0,someChecked:!0}):u||c?(a.add(e.key),{allChecked:!1,someChecked:!0}):{allChecked:!1,someChecked:!1}}return t.forEach(function(e){return r(e)}),{checkedKeys:Array.from(n),indeterminateKeys:Array.from(a)}},check:function(e,l,n){var t=r(e);if(!t)return{checkedKeys:l};var a=new Set(l);return a.add(e),n.cascade&&t.children&&u(t).slice(1).forEach(function(e){return a.add(e)}),{checkedKeys:Array.from(a)}},uncheck:function(e,l,n){var t=r(e);if(!t)return{checkedKeys:l};var a=new Set(l);return a.delete(e),n.cascade&&t.children&&u(t).slice(1).forEach(function(e){return a.delete(e)}),{checkedKeys:Array.from(a)}},getPrev:function(e,l){var n=o.findIndex(function(l){return l.key===e});return-1===n?null:0===n?l.loop?o[o.length-1]:null:o[n-1]},getNext:function(e,l){var n=o.findIndex(function(l){return l.key===e});return-1===n?null:n===o.length-1?l.loop?o[0]:null:o[n+1]},getChild:function(e){var l=r(e);return l&&l.children&&0!==l.children.length&&l.children.find(function(e){return!e.disabled})||null},getParent:function(e){var l=r(e);return(null==l?void 0:l.parent)||null},getFirstAvailableNode:function(){return o[0]||null}}}function Y(e){return e?e.map(function(e){return e.rawNode}):null}function Z(e,l,n){for(var t=[];e;)t.push(e.rawNode[n]),e=e.parent;return t.reverse().join(l)}Q.__scopeId="data-v-097326a4",Q.__file="packages/components/src/cascader/CascaderMenu.vue";var ee=["onClick","onMouseenter"],le={class:"base-cascader-select-option__label"},ne={key:0,class:"base-cascader-select-menu__empty"},te={key:1,class:"base-cascader-select-menu__virtual"},ae=["onClick","onMouseenter"],re={class:"base-cascader-select-option__label"},ue={key:1,class:"base-cascader-select-menu__empty"},oe=e({__name:"CascaderSelectMenu",props:{show:{type:Boolean,required:!0},pattern:{type:String,required:!0},multiple:{type:Boolean,required:!0},tmNodes:{type:Array,required:!0},filter:{type:null,required:!1},labelField:{type:String,required:!0},separator:{type:String,required:!0},value:{type:null,required:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,v){var w=v.expose,_=e,C=l("cascaderContext"),S=h(null),A=h(null),L=n(function(){return function(e,l,n,t){var a=[],r=[];return function e(u){var o,i=j(u);try{for(i.s();!(o=i.n()).done;){var c=o.value;if(!c.disabled){var d=c.rawNode;r.push(d),!c.isLeaf&&l||a.push({label:Z(c,t,n),value:c.key,rawNode:c.rawNode,path:Array.from(r)}),!c.isLeaf&&c.children&&e(c.children),r.pop()}}}catch(e){i.e(e)}finally{i.f()}}(e),a}(_.tmNodes,"child"===C.value.checkStrategy,_.labelField,_.separator)}),M=n(function(){return _.filter?_.filter:function(e,l,n){return n.some(function(l){return l[_.labelField]&&l[_.labelField].toLowerCase().includes(e.toLowerCase())})}}),$=n(function(){return _.pattern?L.value.filter(function(e){return M.value(_.pattern,e.rawNode,e.path)}):L.value});function B(e){return _.multiple&&Array.isArray(_.value)?_.value.includes(e):_.value===e}function z(e){var l=C.value;_.multiple?B(e.value)?l.doUncheck(e.value):l.doCheck(e.value):(l.doCheck(e.value),l.clearPattern(),l.closeMenu())}return w({prev:function(){var e=$.value.findIndex(function(e){return e.value===A.value});e>0?A.value=$.value[e-1].value:$.value.length>0&&(A.value=$.value[$.value.length-1].value)},next:function(){var e=$.value.findIndex(function(e){return e.value===A.value});e<$.value.length-1?A.value=$.value[e+1].value:$.value.length>0&&(A.value=$.value[0].value)},enter:function(){if(null!==A.value){var e=$.value.find(function(e){return e.value===A.value});if(e)return z(e),!0}return!1}}),function(l,n){return t(),u(m,{name:"el-zoom-in-top",persisted:""},{default:p(function(){return[b(d("div",{ref_key:"selectMenuRef",ref:S,class:"base-cascader-select-menu",onClick:n[2]||(n[2]=i(function(){},["stop"]))},[!e.virtualScroll||$.value.length<50?(t(),u(o(P),{key:0,"max-height":"280px"},{default:p(function(){return[(t(!0),a(g,null,k($.value,function(l){return t(),a("div",{key:l.value,class:r(["base-cascader-select-option",{"is-selected":B(l.value),"is-hover":A.value===l.value}]),onClick:function(e){return z(l)},onMouseenter:function(e){return A.value=l.value}},[e.multiple?(t(),u(o(K),{key:0,"model-value":B(l.value),class:"base-cascader-select-option__checkbox",onClick:n[0]||(n[0]=i(function(){},["stop"]))},null,8,["model-value"])):c("v-if",!0),d("span",le,f(l.label),1),!e.multiple&&B(l.value)?(t(),u(o(q),{key:1,class:"check-icon"},{default:p(function(){return[y(o(O))]}),_:1})):c("v-if",!0)],42,ee)}),128)),0===$.value.length?(t(),a("div",ne,[s(l.$slots,"not-found",{},function(){return[y(o(x),{"image-size":60,description:"无匹配数据"})]})])):c("v-if",!0)]}),_:3})):(t(),a("div",te,[$.value.length>0?(t(),u(o(P),{key:0,"max-height":"280px"},{default:p(function(){return[y(o(F),{items:$.value,"item-size":e.optionHeight,style:{height:"280px"}},{default:p(function(l){var s=l.item;return[(t(),a("div",{key:s.value,class:r(["base-cascader-select-option",{"is-selected":B(s.value),"is-hover":A.value===s.value}]),onClick:function(e){return z(s)},onMouseenter:function(e){return A.value=s.value}},[e.multiple?(t(),u(o(K),{key:0,"model-value":B(s.value),class:"base-cascader-select-option__checkbox",onClick:n[1]||(n[1]=i(function(){},["stop"]))},null,8,["model-value"])):c("v-if",!0),d("span",re,f(s.label),1),!e.multiple&&B(s.value)?(t(),u(o(q),{key:1,class:"check-icon"},{default:p(function(){return[y(o(O))]}),_:1})):c("v-if",!0)],42,ae))]}),_:1},8,["items","item-size"])]}),_:1})):(t(),a("div",ue,[s(l.$slots,"not-found",{},function(){return[y(o(x),{"image-size":60,description:"无匹配数据"})]})]))]))],512),[[N,e.show]])]}),_:3})}}});oe.__scopeId="data-v-3901f6ec",oe.__file="packages/components/src/cascader/CascaderSelectMenu.vue";var ie={class:"base-cascader-dropdown"},ce=e(D(D({},{name:"XnCascader"}),{},{__name:"index",props:{modelValue:{type:null,required:!1,default:null},options:{type:Array,required:!1,default:function(){return[]}},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},filterable:{type:Boolean,required:!1,default:!1},multiple:{type:Boolean,required:!1,default:!1},size:{type:String,required:!1,default:"default"},expandTrigger:{type:null,required:!1,default:"click"},separator:{type:String,required:!1,default:" / "},showPath:{type:Boolean,required:!1,default:!0},cascade:{type:Boolean,required:!1,default:!0},checkStrategy:{type:null,required:!1,default:"all"},remote:{type:Boolean,required:!1,default:!1},onLoad:{type:null,required:!1},filter:{type:null,required:!1},valueField:{type:String,required:!1,default:"value"},labelField:{type:String,required:!1,default:"label"},childrenField:{type:String,required:!1,default:"children"},disabledField:{type:String,required:!1,default:"disabled"},maxTagCount:{type:Number,required:!1,default:1},popperClass:{type:String,required:!1},getColumnStyle:{type:Function,required:!1},clearFilterAfterSelect:{type:Boolean,required:!1,default:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34},showCheckbox:{type:Boolean,required:!1,default:void 0},emitPath:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","focus","blur"],setup:function(e,l){var i=l.expose,c=l.emit,v=e,f=c,m=h(null),b=h(null),g=h(null),k=h(v.modelValue),w=h(""),N=h(!1),K=h(null),q=h(null),P=h(new Set),x=n(function(){return v.disabled});n(function(){return P.value.size>0});var F=n(function(){return W(v.options,{getKey:function(e){return e[v.valueField]},getChildren:function(e){return e[v.childrenField]},getDisabled:function(e){return e[v.disabledField]||!1}})}),L=n(function(){var e;return v.multiple&&Array.isArray(k.value)?(e=v.emitPath?0===k.value.length?[]:Array.isArray(k.value[0])?k.value.map(function(e){return e[e.length-1]}):k.value:k.value,F.value.getCheckedKeys(e,{cascade:v.cascade,checkStrategy:v.checkStrategy,allowNotLoaded:!1})):{checkedKeys:[],indeterminateKeys:[]}}),M=n(function(){return L.value.checkedKeys}),O=n(function(){return L.value.indeterminateKeys}),$=n(function(){var e,l=F.value.getPath(q.value),n=l.treeNodePath,t=l.treeNode;return null===t?e=[F.value.treeNodes]:(e=n.map(function(e){return e.siblings}),t.isLeaf||P.value.has(t.key)||!t.children||e.push(t.children)),e}),j=n(function(){return F.value.getPath(q.value).keyPath}),B=n(function(){return void 0!==v.showCheckbox?v.showCheckbox:!(!v.multiple||!v.cascade)||"child"!==v.checkStrategy}),z=n(function(){return!(!v.filterable||!w.value)}),D=n(function(){if(v.multiple){var e=F.value,l=e.getCheckedKeys,n=e.getNode;return l(M.value,{cascade:v.cascade,checkStrategy:v.checkStrategy,allowNotLoaded:!1}).checkedKeys.map(function(e){var l=n(e);return null===l?{label:String(e),value:e}:{label:v.showPath?Z(l,v.separator,v.labelField):l.rawNode[v.labelField],value:l.key}})}return[]}),E=n(function(){if(!v.multiple){var e=F.value.getNode;if(null===k.value)return null;var l=null;if(v.emitPath&&Array.isArray(k.value)){if(0===k.value.length)return null;var n=k.value[k.value.length-1];l=Array.isArray(n)?null:n}else Array.isArray(k.value)||(l=k.value);if(null==l)return null;var t=e(l);return null===t?{label:String(l),value:l}:{label:v.showPath?Z(t,v.separator,v.labelField):t.rawNode[v.labelField],value:t.key}}return null}),I=n({get:function(){var e;return v.multiple?D.value.map(function(e){return e.label}):(null===(e=E.value)||void 0===e?void 0:e.label)||""},set:function(e){}});function T(e,l,n){k.value=e,f("update:modelValue",e),f("change",e,l,n)}function V(e){var l=F.value.getNode;return e.map(function(e){var n;return(null===(n=l(e))||void 0===n?void 0:n.rawNode)||null})}function H(e){var l=v.cascade,n=v.multiple,t=v.checkStrategy,a=v.emitPath,r=F.value,u=r.check,o=r.getNode,i=r.getPath;if(n){var c=u(e,L.value.checkedKeys,{cascade:l,checkStrategy:t,allowNotLoaded:!1}).checkedKeys;T(a?c.map(function(e){return i(e).keyPath}):c,V(c),c.map(function(e){var l;return Y(null===(l=i(e))||void 0===l?void 0:l.treeNodePath)})),K.value=e,q.value=e}else if("child"===t){var d=o(e);if(null==d||!d.isLeaf)return!1;var s=i(e);T(a?s.keyPath:e,d.rawNode,Y(s.treeNodePath)),ne()}else{var f=o(e),p=i(e);T(a?p.keyPath:e,(null==f?void 0:f.rawNode)||null,Y(null==p?void 0:p.treeNodePath)),ne()}return!0}function R(e){var l=v.cascade,n=v.multiple,t=v.checkStrategy,a=v.emitPath;if(n){var r=F.value,u=r.uncheck,o=r.getNode,i=r.getPath,c=u(e,L.value.checkedKeys,{cascade:l,checkStrategy:t,allowNotLoaded:!1}).checkedKeys;T(a?c.map(function(e){return i(e).keyPath}):c,c.map(function(e){var l;return(null===(l=o(e))||void 0===l?void 0:l.rawNode)||null}),c.map(function(e){var l;return Y(null===(l=i(e))||void 0===l?void 0:l.treeNodePath)})),K.value=e,q.value=e}}function U(e){q.value=e}function G(e){K.value=e}function X(e){P.value.add(e)}function J(e){P.value.delete(e)}function ee(){var e,l,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(N.value=!1,w.value="",n)?null===(e=m.value)||void 0===e||e.focus():null===(l=m.value)||void 0===l||l.blur()}function le(){v.clearFilterAfterSelect&&(w.value="")}function ne(){w.value="",setTimeout(function(){if(m.value&&void 0!==m.value.query){var e;m.value.query="";var l=null===(e=m.value.$el)||void 0===e?void 0:e.querySelector("input");l&&E.value&&(l.value=E.value.label)}},0)}function te(){x.value||N.value||(N.value=!0)}function ae(e){N.value=e,e||(w.value="")}function re(){v.multiple?T([],[],[]):T(null,null,null)}function ue(e){var l=D.value.find(function(l){return l.label===e});l&&R(l.value)}function ce(e){w.value=e}function de(e){f("focus",e)}function se(e){f("blur",e)}function ve(e){f("focus",e)}function fe(e){f("blur",e)}function pe(e){he(e)}function ye(e){e.preventDefault()}function he(e){if(N.value)switch(e.key){case"Enter":var l;if(z.value)null===(l=g.value)||void 0===l||l.enter();else if(null!==K.value)if(M.value.includes(K.value)||O.value.includes(K.value))R(K.value);else{var n=H(K.value);!v.multiple&&n&&ee(!0)}break;case"ArrowUp":var t;if(e.preventDefault(),z.value)null===(t=g.value)||void 0===t||t.prev();else me("prev");break;case"ArrowDown":var a;if(e.preventDefault(),z.value)null===(a=g.value)||void 0===a||a.next();else me("next");break;case"ArrowLeft":e.preventDefault(),z.value||me("parent");break;case"ArrowRight":e.preventDefault(),z.value||me("child");break;case"Escape":ee(!0)}}function me(e){var l=K.value,n=F.value,t=n.getPrev,a=n.getNext,r=n.getChild,u=n.getParent,o=n.getFirstAvailableNode,i=n.getNode;switch(e){case"prev":if(null!==l){var c=t(l,{loop:!0});c&&G(c.key)}break;case"next":if(null===l){var d=o();d&&G(d.key)}else{var s=a(l,{loop:!0});s&&G(s.key)}break;case"child":if(null!==l){var f=i(l);if(null!=f&&f.shallowLoaded){var p=r(l);p&&(U(l),G(p.key))}else f&&!P.value.has(l)&&v.onLoad&&(X(l),U(l),v.onLoad(f.rawNode).then(function(){return J(l)}).catch(function(){return J(l)}))}break;case"parent":if(null!==l){var y=u(l);if(y){G(y.key);var h=u(y.key);U((null==h?void 0:h.key)||null)}}}}C(function(){return v.modelValue},function(e){k.value=e}),C(N,function(e){if(!e)return K.value=null,void(q.value=null);if(v.multiple)K.value=null,q.value=null;else{var l=null;if(v.emitPath&&Array.isArray(k.value)&&k.value.length>0){var n=k.value[k.value.length-1];l=Array.isArray(n)?null:n}else Array.isArray(k.value)||null===k.value||(l=k.value);if(null!==l){var t=F.value.getNode(l);if(t){var a=t.parent;a?(K.value=a.key,q.value=a.key):(K.value=l,q.value=l)}}else K.value=null,q.value=null}});var be=n(function(){return{mergedValue:k.value,checkedKeys:M.value,indeterminateKeys:O.value,hoverKeyPath:j.value,keyboardKey:K.value,hoverKey:q.value,loadingKeySet:P.value,multiple:v.multiple,cascade:v.cascade,checkStrategy:v.checkStrategy,expandTrigger:v.expandTrigger,remote:v.remote,showCheckbox:B.value,labelField:v.labelField,valueField:v.valueField,childrenField:v.childrenField,disabledField:v.disabledField,onLoad:v.onLoad,updateHoverKey:U,updateKeyboardKey:G,addLoadingKey:X,deleteLoadingKey:J,doCheck:H,doUncheck:R,closeMenu:ee,clearPattern:le}});return S("cascaderContext",be),i({focus:function(){var e;null===(e=m.value)||void 0===e||e.focus()},blur:function(){var e;null===(e=m.value)||void 0===e||e.blur()},getCheckedData:function(){return B.value?{keys:M.value,options:V(M.value)}:{keys:[],options:[]}},getIndeterminateData:function(){return B.value?{keys:O.value,options:V(O.value)}:{keys:[],options:[]}}}),function(l,n){return t(),a("div",{class:r(["base-cascader",{"is-disabled":x.value}])},[y(o(A),{ref_key:"selectRef",ref:m,modelValue:I.value,"onUpdate:modelValue":n[0]||(n[0]=function(e){return I.value=e}),placeholder:e.placeholder,disabled:x.value,clearable:e.clearable,filterable:e.filterable,multiple:e.multiple,size:e.size,"collapse-tags":e.multiple,"collapse-tags-tooltip":e.multiple,"max-collapse-tags":e.maxTagCount,"filter-method":ce,"popper-class":"base-cascader-popper ".concat(e.popperClass||""),"automatic-dropdown":"",onVisibleChange:ae,onClear:re,onRemoveTag:ue,onFocus:de,onBlur:se,onKeydown:he,onClick:te},{empty:p(function(){return[d("div",ie,[z.value?(t(),u(oe,{key:0,ref_key:"selectMenuRef",ref:g,show:N.value&&z.value,pattern:w.value,multiple:e.multiple,"tm-nodes":F.value.treeNodes,filter:e.filter,"label-field":e.labelField,separator:e.separator,value:k.value,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},_({_:2},[l.$slots["not-found"]?{name:"not-found",fn:p(function(){return[s(l.$slots,"not-found")]}),key:"0"}:void 0]),1032,["show","pattern","multiple","tm-nodes","filter","label-field","separator","value","virtual-scroll","option-height"])):(t(),u(Q,{key:1,ref_key:"cascaderMenuRef",ref:b,show:N.value&&!z.value,"menu-model":$.value,"get-column-style":e.getColumnStyle,"on-focus":ve,"on-blur":fe,"on-keydown":pe,"on-mousedown":ye,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},_({_:2},[l.$slots.label?{name:"label",fn:p(function(e){var n=e.option,t=e.checked;return[s(l.$slots,"label",{option:n,checked:t})]}),key:"0"}:void 0,l.$slots.empty?{name:"empty",fn:p(function(){return[s(l.$slots,"empty")]}),key:"1"}:void 0,l.$slots.action?{name:"action",fn:p(function(){return[s(l.$slots,"action")]}),key:"2"}:void 0]),1032,["show","menu-model","get-column-style","virtual-scroll","option-height"]))])]}),_:3},8,["modelValue","placeholder","disabled","clearable","filterable","multiple","size","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class"])],2)}}}));ce.__scopeId="data-v-243e9ed1",ce.__file="packages/components/src/cascader/index.vue";var de=ce;de.install=function(e){ce.name&&e.component(ce.name,ce)};var se={Cascader:de},ve={install:function(e){Object.values(se).forEach(function(l){l.name&&e.component(l.name,l)})}};export{de as Cascader,se as components,ve as default};
|
|
1
|
+
import{defineComponent as e,inject as l,computed as n,openBlock as a,createElementBlock as t,normalizeClass as r,createBlock as u,unref as o,withModifiers as i,createCommentVNode as c,createElementVNode as d,renderSlot as s,createTextVNode as v,toDisplayString as f,withCtx as p,createVNode as y,ref as h,Transition as m,withDirectives as b,Fragment as g,renderList as k,normalizeStyle as w,createSlots as _,vShow as C,watch as N,provide as S}from"vue";import{ElCheckbox as K,ElIcon as q,ElScrollbar as P,ElEmpty as x,ElSelect as A}from"element-plus";import{VirtualList as F}from"vueuc";import{Loading as L,ArrowRight as M,Check as O}from"@element-plus/icons-vue";function $(e,l){(null==l||l>e.length)&&(l=e.length);for(var n=0,a=Array(l);n<l;n++)a[n]=e[n];return a}function j(e,l){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=I(e))||l&&e&&"number"==typeof e.length){n&&(e=n);var a=0,t=function(){};return{s:t,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,u=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){o=!0,r=e},f:function(){try{u||null==n.return||n.return()}finally{if(o)throw r}}}}function B(e,l,n){return(l=function(e){var l=function(e,l){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,l||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===l?String:Number)(e)}(e,"string");return"symbol"==typeof l?l:l+""}(l))in e?Object.defineProperty(e,l,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[l]=n,e}function z(e,l){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);l&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,a)}return n}function D(e){for(var l=1;l<arguments.length;l++){var n=null!=arguments[l]?arguments[l]:{};l%2?z(Object(n),!0).forEach(function(l){B(e,l,n[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach(function(l){Object.defineProperty(e,l,Object.getOwnPropertyDescriptor(n,l))})}return e}function E(e){return function(e){if(Array.isArray(e))return $(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,l){if(e){if("string"==typeof e)return $(e,l);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$(e,l):void 0}}var T=["title"],V={class:"base-cascader-option__suffix"},H=e({__name:"CascaderOption",props:{tmNode:{type:null,required:!0}},setup:function(e){var h=e,m=l("cascaderContext"),b=n(function(){return h.tmNode.key}),g=n(function(){return h.tmNode.rawNode[m.value.labelField]}),k=n(function(){return h.tmNode.disabled}),w=n(function(){return h.tmNode.isLeaf}),_=n(function(){return m.value.loadingKeySet.has(b.value)}),C=n(function(){return!m.value.remote&&"hover"===m.value.expandTrigger}),N=n(function(){if(!m.value.multiple){var e=m.value.mergedValue;return Array.isArray(e)?0!==e.length&&e[e.length-1]===b.value:e===b.value}return m.value.checkedKeys.includes(b.value)}),S=n(function(){return!!m.value.multiple&&m.value.indeterminateKeys.includes(b.value)}),P=n(function(){return m.value.hoverKeyPath.includes(b.value)}),x=n(function(){return m.value.keyboardKey===b.value}),A=n(function(){if(N.value||P.value)return!0;if(!m.value.multiple){var e=m.value.mergedValue;if(Array.isArray(e)&&e.length>0)return e.includes(b.value)}return!1}),F=n(function(){return m.value.showCheckbox}),$=n(function(){return m.value.checkStrategy}),j=n(function(){return m.value.multiple}),B=n(function(){return m.value.cascade}),z=n(function(){return!!N.value&&(j.value?!F.value:"child"===$.value&&!(j.value&&B.value))});function D(e){if(!k.value&&!e.target.closest(".base-cascader-option__checkbox")){var l=m.value;l.updateHoverKey(b.value),l.updateKeyboardKey(b.value),l.remote&&!h.tmNode.shallowLoaded&&!_.value&&l.onLoad&&(l.addLoadingKey(b.value),l.onLoad(h.tmNode.rawNode).then(function(){l.deleteLoadingKey(b.value)}).catch(function(){l.deleteLoadingKey(b.value)})),l.multiple,w.value&&R()}}function E(){if(C.value&&!k.value){var e=m.value;e.updateHoverKey(b.value),e.updateKeyboardKey(b.value),e.remote&&!h.tmNode.shallowLoaded&&!_.value&&e.onLoad&&(e.addLoadingKey(b.value),e.onLoad(h.tmNode.rawNode).then(function(){e.deleteLoadingKey(b.value)}).catch(function(){e.deleteLoadingKey(b.value)}))}}function I(){C.value&&E()}function H(){R()}function R(){var e=m.value;e.multiple?S.value||N.value?e.doUncheck(b.value):e.doCheck(b.value):(e.doCheck(b.value),!e.showCheckbox&&w.value&&e.closeMenu(!1))}return function(l,n){return a(),t("div",{class:r(["base-cascader-option",{"is-active":A.value,"is-disabled":k.value,"is-hover":P.value||x.value,"has-checkbox":F.value}]),onClick:D,onMouseenter:E,onMousemove:I},[F.value?(a(),u(o(K),{key:0,"model-value":N.value,indeterminate:S.value,disabled:k.value,class:"base-cascader-option__checkbox",onClick:n[0]||(n[0]=i(function(){},["stop"])),onChange:H},null,8,["model-value","indeterminate","disabled"])):c("v-if",!0),d("span",{class:"base-cascader-option__label",title:g.value},[s(l.$slots,"label",{option:e.tmNode.rawNode,checked:N.value},function(){return[v(f(g.value),1)]})],8,T),d("span",V,[_.value?(a(),u(o(q),{key:0,class:"is-loading"},{default:p(function(){return[y(o(L))]}),_:1})):w.value?z.value?(a(),u(o(q),{key:2,class:"check-icon"},{default:p(function(){return[y(o(O))]}),_:1})):c("v-if",!0):(a(),u(o(q),{key:1,class:"arrow-icon"},{default:p(function(){return[y(o(M))]}),_:1}))])],34)}}});H.__scopeId="data-v-248f99f8",H.__file="packages/components/src/cascader/CascaderOption.vue";var R={key:0,class:"base-cascader-menu__wrapper"},U={key:0,class:"base-cascader-submenu__list"},X={key:1,class:"base-cascader-submenu__list base-cascader-submenu__list--virtual"},G={key:1,class:"base-cascader-menu__empty"},J={key:2,class:"base-cascader-menu__action"},Q=e({__name:"CascaderMenu",props:{show:{type:Boolean,required:!0},menuModel:{type:Array,required:!0},onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},getColumnStyle:{type:Function,required:!1},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,l){var n=l.expose,r=e,v=h(null);function f(e){v.value&&(v.value.contains(e.relatedTarget)||r.onFocus(e))}function N(e){v.value&&(v.value.contains(e.relatedTarget)||r.onBlur(e))}return n({scroll:function(e,l,n){},showErrorMessage:function(e){console.warn("Loading required: ".concat(e))}}),function(l,n){return a(),u(m,{name:"el-zoom-in-top",persisted:""},{default:p(function(){var r;return[b(d("div",{ref_key:"menuRef",ref:v,class:"base-cascader-menu",tabindex:"0",onMousedown:n[0]||(n[0]=function(){return e.onMousedown&&e.onMousedown.apply(e,arguments)}),onKeydown:n[1]||(n[1]=function(){return e.onKeydown&&e.onKeydown.apply(e,arguments)}),onFocusin:f,onFocusout:N,onClick:n[2]||(n[2]=i(function(){},["stop"]))},[null!==(r=e.menuModel[0])&&void 0!==r&&r.length?(a(),t("div",R,[(a(!0),t(g,null,k(e.menuModel,function(n,r){var i;return a(),t("div",{key:r,class:"base-cascader-submenu",style:w(null===(i=e.getColumnStyle)||void 0===i?void 0:i.call(e,{level:r}))},[!e.virtualScroll||n.length<50?(a(),t("div",U,[y(o(P),null,{default:p(function(){return[(a(!0),t(g,null,k(n,function(e){return a(),u(H,{key:e.key,"tm-node":e},_({_:2},[l.$slots.label?{name:"label",fn:p(function(e){var n=e.option,a=e.checked;return[s(l.$slots,"label",{option:n,checked:a})]}),key:"0"}:void 0]),1032,["tm-node"])}),128))]}),_:2},1024)])):(a(),t("div",X,[y(o(F),{items:n,"item-size":e.optionHeight,style:{height:"280px"}},{default:p(function(e){var n=e.item;return[(a(),u(H,{key:n.key,"tm-node":n},_({_:2},[l.$slots.label?{name:"label",fn:p(function(e){var n=e.option,a=e.checked;return[s(l.$slots,"label",{option:n,checked:a})]}),key:"0"}:void 0]),1032,["tm-node"]))]}),_:3},8,["items","item-size"])]))],4)}),128))])):(a(),t("div",G,[s(l.$slots,"empty",{},function(){return[y(o(x),{"image-size":60,description:"暂无数据"})]})])),l.$slots.action?(a(),t("div",J,[s(l.$slots,"action")])):c("v-if",!0)],544),[[C,e.show]])]}),_:3})}}});function W(e,l){var n=new Map,a=[];var t=function e(a,t,r){var u=[];return a.map(function(a,o){var i=l.getKey(a),c=l.getChildren(a),d=l.getDisabled(a),s=void 0!==a.isLeaf?a.isLeaf:!c||0===c.length,v=s||void 0!==c&&c.length>0,f={key:i,rawNode:a,level:t,index:o,isLeaf:s,isGroup:!1,ignored:!1,disabled:d,shallowLoaded:v,parent:r,siblings:u,children:void 0};return u.push(f),n.set(i,f),c&&c.length>0&&(f.children=e(c,t+1,f)),f})}(e,0,null);function r(e){return n.get(e)||null}function u(e){var l=[e.key];return e.children&&e.children.forEach(function(e){l.push.apply(l,E(u(e)))}),l}a.push.apply(a,E(t));var o=function e(l){var n=[];return l.forEach(function(l){l.disabled||(n.push(l),l.children&&n.push.apply(n,E(e(l.children))))}),n}(a);return{treeNodes:a,getNode:r,getPath:function(e){if(null===e)return{treeNodePath:[],keyPath:[],treeNode:null};var l=r(e);if(!l)return{treeNodePath:[],keyPath:[],treeNode:null};for(var n=[],a=[],t=l;t;)n.unshift(t),a.unshift(t.key),t=t.parent;return{treeNodePath:n,keyPath:a,treeNode:l}},getCheckedKeys:function(e,l){var n=new Set(e),t=new Set;if(!l.cascade)return{checkedKeys:e,indeterminateKeys:[]};function r(e){if(!e.children||0===e.children.length)return{allChecked:n.has(e.key),someChecked:n.has(e.key)};var l,a=!0,u=!1,o=j(e.children);try{for(o.s();!(l=o.n()).done;){var i=r(l.value);i.allChecked||(a=!1),i.someChecked&&(u=!0)}}catch(e){o.e(e)}finally{o.f()}var c=n.has(e.key);return a?(n.add(e.key),{allChecked:!0,someChecked:!0}):u||c?(t.add(e.key),{allChecked:!1,someChecked:!0}):{allChecked:!1,someChecked:!1}}return a.forEach(function(e){return r(e)}),{checkedKeys:Array.from(n),indeterminateKeys:Array.from(t)}},check:function(e,l,n){var a=r(e);if(!a)return{checkedKeys:l};var t=new Set(l);return t.add(e),n.cascade&&a.children&&u(a).slice(1).forEach(function(e){return t.add(e)}),{checkedKeys:Array.from(t)}},uncheck:function(e,l,n){var a=r(e);if(!a)return{checkedKeys:l};var t=new Set(l);return t.delete(e),n.cascade&&a.children&&u(a).slice(1).forEach(function(e){return t.delete(e)}),{checkedKeys:Array.from(t)}},getPrev:function(e,l){var n=o.findIndex(function(l){return l.key===e});return-1===n?null:0===n?l.loop?o[o.length-1]:null:o[n-1]},getNext:function(e,l){var n=o.findIndex(function(l){return l.key===e});return-1===n?null:n===o.length-1?l.loop?o[0]:null:o[n+1]},getChild:function(e){var l=r(e);return l&&l.children&&0!==l.children.length&&l.children.find(function(e){return!e.disabled})||null},getParent:function(e){var l=r(e);return(null==l?void 0:l.parent)||null},getFirstAvailableNode:function(){return o[0]||null}}}function Y(e){return e?e.map(function(e){return e.rawNode}):null}function Z(e,l,n){for(var a=[];e;)a.push(e.rawNode[n]),e=e.parent;return a.reverse().join(l)}Q.__scopeId="data-v-097326a4",Q.__file="packages/components/src/cascader/CascaderMenu.vue";var ee=["onClick","onMouseenter"],le={class:"base-cascader-select-option__label"},ne={key:0,class:"base-cascader-select-menu__empty"},ae={key:1,class:"base-cascader-select-menu__virtual"},te=["onClick","onMouseenter"],re={class:"base-cascader-select-option__label"},ue={key:1,class:"base-cascader-select-menu__empty"},oe=e({__name:"CascaderSelectMenu",props:{show:{type:Boolean,required:!0},pattern:{type:String,required:!0},multiple:{type:Boolean,required:!0},tmNodes:{type:Array,required:!0},filter:{type:null,required:!1},labelField:{type:String,required:!0},separator:{type:String,required:!0},value:{type:null,required:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,v){var w=v.expose,_=e,N=l("cascaderContext"),S=h(null),A=h(null),L=n(function(){return function(e,l,n,a){var t=[],r=[];return function e(u){var o,i=j(u);try{for(i.s();!(o=i.n()).done;){var c=o.value;if(!c.disabled){var d=c.rawNode;r.push(d),!c.isLeaf&&l||t.push({label:Z(c,a,n),value:c.key,rawNode:c.rawNode,path:Array.from(r)}),!c.isLeaf&&c.children&&e(c.children),r.pop()}}}catch(e){i.e(e)}finally{i.f()}}(e),t}(_.tmNodes,"child"===N.value.checkStrategy,_.labelField,_.separator)}),M=n(function(){return _.filter?_.filter:function(e,l,n){return n.some(function(l){return l[_.labelField]&&l[_.labelField].toLowerCase().includes(e.toLowerCase())})}}),$=n(function(){return _.pattern?L.value.filter(function(e){return M.value(_.pattern,e.rawNode,e.path)}):L.value});function B(e){return _.multiple&&Array.isArray(_.value)?_.value.includes(e):_.value===e}function z(e){var l=N.value;_.multiple?B(e.value)?l.doUncheck(e.value):l.doCheck(e.value):(l.doCheck(e.value),l.clearPattern(),l.closeMenu())}return w({prev:function(){var e=$.value.findIndex(function(e){return e.value===A.value});e>0?A.value=$.value[e-1].value:$.value.length>0&&(A.value=$.value[$.value.length-1].value)},next:function(){var e=$.value.findIndex(function(e){return e.value===A.value});e<$.value.length-1?A.value=$.value[e+1].value:$.value.length>0&&(A.value=$.value[0].value)},enter:function(){if(null!==A.value){var e=$.value.find(function(e){return e.value===A.value});if(e)return z(e),!0}return!1}}),function(l,n){return a(),u(m,{name:"el-zoom-in-top",persisted:""},{default:p(function(){return[b(d("div",{ref_key:"selectMenuRef",ref:S,class:"base-cascader-select-menu",onClick:n[2]||(n[2]=i(function(){},["stop"]))},[!e.virtualScroll||$.value.length<50?(a(),u(o(P),{key:0,"max-height":"280px"},{default:p(function(){return[(a(!0),t(g,null,k($.value,function(l){return a(),t("div",{key:l.value,class:r(["base-cascader-select-option",{"is-selected":B(l.value),"is-hover":A.value===l.value}]),onClick:function(e){return z(l)},onMouseenter:function(e){return A.value=l.value}},[e.multiple?(a(),u(o(K),{key:0,"model-value":B(l.value),class:"base-cascader-select-option__checkbox",onClick:n[0]||(n[0]=i(function(){},["stop"]))},null,8,["model-value"])):c("v-if",!0),d("span",le,f(l.label),1),!e.multiple&&B(l.value)?(a(),u(o(q),{key:1,class:"check-icon"},{default:p(function(){return[y(o(O))]}),_:1})):c("v-if",!0)],42,ee)}),128)),0===$.value.length?(a(),t("div",ne,[s(l.$slots,"not-found",{},function(){return[y(o(x),{"image-size":60,description:"无匹配数据"})]})])):c("v-if",!0)]}),_:3})):(a(),t("div",ae,[$.value.length>0?(a(),u(o(P),{key:0,"max-height":"280px"},{default:p(function(){return[y(o(F),{items:$.value,"item-size":e.optionHeight,style:{height:"280px"}},{default:p(function(l){var s=l.item;return[(a(),t("div",{key:s.value,class:r(["base-cascader-select-option",{"is-selected":B(s.value),"is-hover":A.value===s.value}]),onClick:function(e){return z(s)},onMouseenter:function(e){return A.value=s.value}},[e.multiple?(a(),u(o(K),{key:0,"model-value":B(s.value),class:"base-cascader-select-option__checkbox",onClick:n[1]||(n[1]=i(function(){},["stop"]))},null,8,["model-value"])):c("v-if",!0),d("span",re,f(s.label),1),!e.multiple&&B(s.value)?(a(),u(o(q),{key:1,class:"check-icon"},{default:p(function(){return[y(o(O))]}),_:1})):c("v-if",!0)],42,te))]}),_:1},8,["items","item-size"])]}),_:1})):(a(),t("div",ue,[s(l.$slots,"not-found",{},function(){return[y(o(x),{"image-size":60,description:"无匹配数据"})]})]))]))],512),[[C,e.show]])]}),_:3})}}});oe.__scopeId="data-v-3901f6ec",oe.__file="packages/components/src/cascader/CascaderSelectMenu.vue";var ie={class:"base-cascader-dropdown"},ce=e(D(D({},{name:"XnCascader"}),{},{__name:"index",props:{modelValue:{type:null,required:!1,default:null},options:{type:Array,required:!1,default:function(){return[]}},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},filterable:{type:Boolean,required:!1,default:!1},multiple:{type:Boolean,required:!1,default:!1},size:{type:String,required:!1,default:"default"},expandTrigger:{type:null,required:!1,default:"click"},separator:{type:String,required:!1,default:" / "},showPath:{type:Boolean,required:!1,default:!0},cascade:{type:Boolean,required:!1,default:!0},checkStrategy:{type:null,required:!1,default:"all"},remote:{type:Boolean,required:!1,default:!1},onLoad:{type:null,required:!1},filter:{type:null,required:!1},valueField:{type:String,required:!1,default:"value"},labelField:{type:String,required:!1,default:"label"},childrenField:{type:String,required:!1,default:"children"},disabledField:{type:String,required:!1,default:"disabled"},maxTagCount:{type:Number,required:!1,default:1},popperClass:{type:String,required:!1},getColumnStyle:{type:Function,required:!1},clearFilterAfterSelect:{type:Boolean,required:!1,default:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34},showCheckbox:{type:Boolean,required:!1,default:void 0},emitPath:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","focus","blur"],setup:function(e,l){var i=l.expose,c=l.emit,v=e,f=c,m=h(null),b=h(null),g=h(null),k=h(v.modelValue),w=h(""),C=h(!1),K=h(null),q=h(null),P=h(new Set),x=n(function(){return v.disabled});n(function(){return P.value.size>0});var F=n(function(){return W(v.options,{getKey:function(e){return e[v.valueField]},getChildren:function(e){return e[v.childrenField]},getDisabled:function(e){return e[v.disabledField]||!1}})}),L=n(function(){var e;return v.multiple&&Array.isArray(k.value)?(e=v.emitPath?0===k.value.length?[]:Array.isArray(k.value[0])?k.value.map(function(e){return e[e.length-1]}):k.value:k.value,F.value.getCheckedKeys(e,{cascade:v.cascade,checkStrategy:v.checkStrategy,allowNotLoaded:!1})):{checkedKeys:[],indeterminateKeys:[]}}),M=n(function(){return L.value.checkedKeys}),O=n(function(){return L.value.indeterminateKeys}),$=n(function(){var e,l=F.value.getPath(q.value),n=l.treeNodePath,a=l.treeNode;return null===a?e=[F.value.treeNodes]:(e=n.map(function(e){return e.siblings}),a.isLeaf||P.value.has(a.key)||!a.children||e.push(a.children)),e}),j=n(function(){return F.value.getPath(q.value).keyPath}),B=n(function(){return void 0!==v.showCheckbox?v.showCheckbox:!(!v.multiple||!v.cascade)||"child"!==v.checkStrategy}),z=n(function(){return!(!v.filterable||!w.value)}),D=n(function(){if(v.multiple){var e=F.value,l=e.getCheckedKeys,n=e.getNode;return l(M.value,{cascade:v.cascade,checkStrategy:v.checkStrategy,allowNotLoaded:!1}).checkedKeys.map(function(e){var l=n(e);return null===l?{label:String(e),value:e}:{label:v.showPath?Z(l,v.separator,v.labelField):l.rawNode[v.labelField],value:l.key}})}return[]}),E=n(function(){if(!v.multiple){var e=F.value.getNode;if(null===k.value)return null;var l=null;if(v.emitPath&&Array.isArray(k.value)){if(0===k.value.length)return null;var n=k.value[k.value.length-1];l=Array.isArray(n)?null:n}else Array.isArray(k.value)||(l=k.value);if(null==l)return null;var a=e(l);return null===a?{label:String(l),value:l}:{label:v.showPath?Z(a,v.separator,v.labelField):a.rawNode[v.labelField],value:a.key}}return null}),I=n({get:function(){var e;return v.multiple?D.value.map(function(e){return e.label}):(null===(e=E.value)||void 0===e?void 0:e.label)||""},set:function(e){}});function T(e,l,n){k.value=e,f("update:modelValue",e),f("change",e,l,n)}function V(e){var l=F.value.getNode;return e.map(function(e){var n;return(null===(n=l(e))||void 0===n?void 0:n.rawNode)||null})}function H(e){var l=v.cascade,n=v.multiple,a=v.checkStrategy,t=v.emitPath,r=F.value,u=r.check,o=r.getNode,i=r.getPath;if(n){var c=u(e,L.value.checkedKeys,{cascade:l,checkStrategy:a,allowNotLoaded:!1}).checkedKeys;T(t?c.map(function(e){return i(e).keyPath}):c,V(c),c.map(function(e){var l;return Y(null===(l=i(e))||void 0===l?void 0:l.treeNodePath)})),K.value=e,q.value=e}else if("child"===a){var d=o(e);if(null==d||!d.isLeaf)return!1;var s=i(e);T(t?s.keyPath:e,d.rawNode,Y(s.treeNodePath)),ne()}else{var f=o(e),p=i(e);T(t?p.keyPath:e,(null==f?void 0:f.rawNode)||null,Y(null==p?void 0:p.treeNodePath)),ne()}return!0}function R(e){var l=v.cascade,n=v.multiple,a=v.checkStrategy,t=v.emitPath;if(n){var r=F.value,u=r.uncheck,o=r.getNode,i=r.getPath,c=u(e,L.value.checkedKeys,{cascade:l,checkStrategy:a,allowNotLoaded:!1}).checkedKeys;T(t?c.map(function(e){return i(e).keyPath}):c,c.map(function(e){var l;return(null===(l=o(e))||void 0===l?void 0:l.rawNode)||null}),c.map(function(e){var l;return Y(null===(l=i(e))||void 0===l?void 0:l.treeNodePath)})),K.value=e,q.value=e}}function U(e){q.value=e}function X(e){K.value=e}function G(e){P.value.add(e)}function J(e){P.value.delete(e)}function ee(){var e,l,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(C.value=!1,w.value="",n)?null===(e=m.value)||void 0===e||e.focus():null===(l=m.value)||void 0===l||l.blur()}function le(){v.clearFilterAfterSelect&&(w.value="")}function ne(){w.value="",setTimeout(function(){if(m.value&&void 0!==m.value.query){var e;m.value.query="";var l=null===(e=m.value.$el)||void 0===e?void 0:e.querySelector("input");l&&E.value&&(l.value=E.value.label)}},0)}function ae(){x.value||C.value||(C.value=!0)}function te(e){C.value=e,e||(w.value="")}function re(){v.multiple?T([],[],[]):T(null,null,null)}function ue(e){var l=D.value.find(function(l){return l.label===e});l&&R(l.value)}function ce(e){w.value=e}function de(e){f("focus",e)}function se(e){f("blur",e)}function ve(e){f("focus",e)}function fe(e){f("blur",e)}function pe(e){he(e)}function ye(e){e.preventDefault()}function he(e){if(C.value)switch(e.key){case"Enter":var l;if(z.value)null===(l=g.value)||void 0===l||l.enter();else if(null!==K.value)if(M.value.includes(K.value)||O.value.includes(K.value))R(K.value);else{var n=H(K.value);!v.multiple&&n&&ee(!0)}break;case"ArrowUp":var a;if(e.preventDefault(),z.value)null===(a=g.value)||void 0===a||a.prev();else me("prev");break;case"ArrowDown":var t;if(e.preventDefault(),z.value)null===(t=g.value)||void 0===t||t.next();else me("next");break;case"ArrowLeft":e.preventDefault(),z.value||me("parent");break;case"ArrowRight":e.preventDefault(),z.value||me("child");break;case"Escape":ee(!0)}}function me(e){var l=K.value,n=F.value,a=n.getPrev,t=n.getNext,r=n.getChild,u=n.getParent,o=n.getFirstAvailableNode,i=n.getNode;switch(e){case"prev":if(null!==l){var c=a(l,{loop:!0});c&&X(c.key)}break;case"next":if(null===l){var d=o();d&&X(d.key)}else{var s=t(l,{loop:!0});s&&X(s.key)}break;case"child":if(null!==l){var f=i(l);if(null!=f&&f.shallowLoaded){var p=r(l);p&&(U(l),X(p.key))}else f&&!P.value.has(l)&&v.onLoad&&(G(l),U(l),v.onLoad(f.rawNode).then(function(){return J(l)}).catch(function(){return J(l)}))}break;case"parent":if(null!==l){var y=u(l);if(y){X(y.key);var h=u(y.key);U((null==h?void 0:h.key)||null)}}}}N(function(){return v.modelValue},function(e){k.value=e}),N(C,function(e){if(!e)return K.value=null,void(q.value=null);if(v.multiple)K.value=null,q.value=null;else{var l=null;if(v.emitPath&&Array.isArray(k.value)&&k.value.length>0){var n=k.value[k.value.length-1];l=Array.isArray(n)?null:n}else Array.isArray(k.value)||null===k.value||(l=k.value);if(null!==l){var a=F.value.getNode(l);if(a){var t=a.parent;t?(K.value=t.key,q.value=t.key):(K.value=l,q.value=l)}}else K.value=null,q.value=null}});var be=n(function(){return{mergedValue:k.value,checkedKeys:M.value,indeterminateKeys:O.value,hoverKeyPath:j.value,keyboardKey:K.value,hoverKey:q.value,loadingKeySet:P.value,multiple:v.multiple,cascade:v.cascade,checkStrategy:v.checkStrategy,expandTrigger:v.expandTrigger,remote:v.remote,showCheckbox:B.value,labelField:v.labelField,valueField:v.valueField,childrenField:v.childrenField,disabledField:v.disabledField,onLoad:v.onLoad,updateHoverKey:U,updateKeyboardKey:X,addLoadingKey:G,deleteLoadingKey:J,doCheck:H,doUncheck:R,closeMenu:ee,clearPattern:le}});return S("cascaderContext",be),i({focus:function(){var e;null===(e=m.value)||void 0===e||e.focus()},blur:function(){var e;null===(e=m.value)||void 0===e||e.blur()},getCheckedData:function(){return B.value?{keys:M.value,options:V(M.value)}:{keys:[],options:[]}},getIndeterminateData:function(){return B.value?{keys:O.value,options:V(O.value)}:{keys:[],options:[]}}}),function(l,n){return a(),t("div",{class:r(["base-cascader",{"is-disabled":x.value}])},[y(o(A),{ref_key:"selectRef",ref:m,modelValue:I.value,"onUpdate:modelValue":n[0]||(n[0]=function(e){return I.value=e}),placeholder:e.placeholder,disabled:x.value,clearable:e.clearable,filterable:e.filterable,multiple:e.multiple,size:e.size,"collapse-tags":e.multiple,"collapse-tags-tooltip":e.multiple,"max-collapse-tags":e.maxTagCount,"filter-method":ce,"popper-class":"base-cascader-popper ".concat(e.popperClass||""),"automatic-dropdown":"",onVisibleChange:te,onClear:re,onRemoveTag:ue,onFocus:de,onBlur:se,onKeydown:he,onClick:ae},{empty:p(function(){return[d("div",ie,[z.value?(a(),u(oe,{key:0,ref_key:"selectMenuRef",ref:g,show:C.value&&z.value,pattern:w.value,multiple:e.multiple,"tm-nodes":F.value.treeNodes,filter:e.filter,"label-field":e.labelField,separator:e.separator,value:k.value,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},_({_:2},[l.$slots["not-found"]?{name:"not-found",fn:p(function(){return[s(l.$slots,"not-found")]}),key:"0"}:void 0]),1032,["show","pattern","multiple","tm-nodes","filter","label-field","separator","value","virtual-scroll","option-height"])):(a(),u(Q,{key:1,ref_key:"cascaderMenuRef",ref:b,show:C.value&&!z.value,"menu-model":$.value,"get-column-style":e.getColumnStyle,"on-focus":ve,"on-blur":fe,"on-keydown":pe,"on-mousedown":ye,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},_({_:2},[l.$slots.label?{name:"label",fn:p(function(e){var n=e.option,a=e.checked;return[s(l.$slots,"label",{option:n,checked:a})]}),key:"0"}:void 0,l.$slots.empty?{name:"empty",fn:p(function(){return[s(l.$slots,"empty")]}),key:"1"}:void 0,l.$slots.action?{name:"action",fn:p(function(){return[s(l.$slots,"action")]}),key:"2"}:void 0]),1032,["show","menu-model","get-column-style","virtual-scroll","option-height"]))])]}),_:3},8,["modelValue","placeholder","disabled","clearable","filterable","multiple","size","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class"])],2)}}}));ce.__scopeId="data-v-243e9ed1",ce.__file="packages/components/src/cascader/index.vue";var de=ce;de.install=function(e){ce.name&&e.component(ce.name,ce)};var se={XnCascader:de},ve={install:function(e){Object.values(se).forEach(function(l){l.name&&e.component(l.name,l)})}};export{de as XnCascader,se as components,ve as default};
|
package/dist/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("element-plus"),require("vueuc"),require("@element-plus/icons-vue")):"function"==typeof define&&define.amd?define(["exports","vue","element-plus","vueuc","@element-plus/icons-vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@xn-lib/component"]=e["@xn-lib/component"]||{},e.Vue,e.ElementPlus,e.vueuc,e.ElementPlusIconsVue)}(this,function(e,t,l,n,a){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function u(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=s(e))||t&&e&&"number"==typeof e.length){l&&(e=l);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,u=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return u=e.done,e},e:function(e){o=!0,r=e},f:function(){try{u||null==l.return||l.return()}finally{if(o)throw r}}}}function o(e,t,l){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var l=e[Symbol.toPrimitive];if(void 0!==l){var n=l.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function i(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function c(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?i(Object(l),!0).forEach(function(t){o(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):i(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function d(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return r(e,t);var l={}.toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?r(e,t):void 0}}var v=["title"],f={class:"base-cascader-option__suffix"},p=t.defineComponent({__name:"CascaderOption",props:{tmNode:{type:null,required:!0}},setup:function(e){var n=e,r=t.inject("cascaderContext"),u=t.computed(function(){return n.tmNode.key}),o=t.computed(function(){return n.tmNode.rawNode[r.value.labelField]}),i=t.computed(function(){return n.tmNode.disabled}),c=t.computed(function(){return n.tmNode.isLeaf}),d=t.computed(function(){return r.value.loadingKeySet.has(u.value)}),s=t.computed(function(){return!r.value.remote&&"hover"===r.value.expandTrigger}),p=t.computed(function(){if(!r.value.multiple){var e=r.value.mergedValue;return Array.isArray(e)?0!==e.length&&e[e.length-1]===u.value:e===u.value}return r.value.checkedKeys.includes(u.value)}),m=t.computed(function(){return!!r.value.multiple&&r.value.indeterminateKeys.includes(u.value)}),h=t.computed(function(){return r.value.hoverKeyPath.includes(u.value)}),y=t.computed(function(){return r.value.keyboardKey===u.value}),k=t.computed(function(){if(p.value||h.value)return!0;if(!r.value.multiple){var e=r.value.mergedValue;if(Array.isArray(e)&&e.length>0)return e.includes(u.value)}return!1}),b=t.computed(function(){return r.value.showCheckbox}),g=t.computed(function(){return r.value.checkStrategy}),w=t.computed(function(){return r.value.multiple}),C=t.computed(function(){return r.value.cascade}),N=t.computed(function(){return!!p.value&&(w.value?!b.value:"child"===g.value&&!(w.value&&C.value))});function S(e){if(!i.value&&!e.target.closest(".base-cascader-option__checkbox")){var t=r.value;t.updateHoverKey(u.value),t.updateKeyboardKey(u.value),t.remote&&!n.tmNode.shallowLoaded&&!d.value&&t.onLoad&&(t.addLoadingKey(u.value),t.onLoad(n.tmNode.rawNode).then(function(){t.deleteLoadingKey(u.value)}).catch(function(){t.deleteLoadingKey(u.value)})),t.multiple,c.value&&E()}}function B(){if(s.value&&!i.value){var e=r.value;e.updateHoverKey(u.value),e.updateKeyboardKey(u.value),e.remote&&!n.tmNode.shallowLoaded&&!d.value&&e.onLoad&&(e.addLoadingKey(u.value),e.onLoad(n.tmNode.rawNode).then(function(){e.deleteLoadingKey(u.value)}).catch(function(){e.deleteLoadingKey(u.value)}))}}function _(){s.value&&B()}function x(){E()}function E(){var e=r.value;e.multiple?m.value||p.value?e.doUncheck(u.value):e.doCheck(u.value):(e.doCheck(u.value),!e.showCheckbox&&c.value&&e.closeMenu(!1))}return function(n,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["base-cascader-option",{"is-active":k.value,"is-disabled":i.value,"is-hover":h.value||y.value,"has-checkbox":b.value}]),onClick:S,onMouseenter:B,onMousemove:_},[b.value?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":p.value,indeterminate:m.value,disabled:i.value,class:"base-cascader-option__checkbox",onClick:r[0]||(r[0]=t.withModifiers(function(){},["stop"])),onChange:x},null,8,["model-value","indeterminate","disabled"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",{class:"base-cascader-option__label",title:o.value},[t.renderSlot(n.$slots,"label",{option:e.tmNode.rawNode,checked:p.value},function(){return[t.createTextVNode(t.toDisplayString(o.value),1)]})],8,v),t.createElementVNode("span",f,[d.value?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:0,class:"is-loading"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Loading))]}),_:1})):c.value?N.value?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:2,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0):(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"arrow-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.ArrowRight))]}),_:1}))])],34)}}});p.__scopeId="data-v-248f99f8",p.__file="packages/components/src/cascader/CascaderOption.vue";var m={key:0,class:"base-cascader-menu__wrapper"},h={key:0,class:"base-cascader-submenu__list"},y={key:1,class:"base-cascader-submenu__list base-cascader-submenu__list--virtual"},k={key:1,class:"base-cascader-menu__empty"},b={key:2,class:"base-cascader-menu__action"},g=t.defineComponent({__name:"CascaderMenu",props:{show:{type:Boolean,required:!0},menuModel:{type:Array,required:!0},onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},getColumnStyle:{type:Function,required:!1},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,a){var r=a.expose,u=e,o=t.ref(null);function i(e){o.value&&(o.value.contains(e.relatedTarget)||u.onFocus(e))}function c(e){o.value&&(o.value.contains(e.relatedTarget)||u.onBlur(e))}return r({scroll:function(e,t,l){},showErrorMessage:function(e){console.warn("Loading required: ".concat(e))}}),function(a,r){return t.openBlock(),t.createBlock(t.Transition,{name:"el-zoom-in-top",persisted:""},{default:t.withCtx(function(){var u;return[t.withDirectives(t.createElementVNode("div",{ref_key:"menuRef",ref:o,class:"base-cascader-menu",tabindex:"0",onMousedown:r[0]||(r[0]=function(){return e.onMousedown&&e.onMousedown.apply(e,arguments)}),onKeydown:r[1]||(r[1]=function(){return e.onKeydown&&e.onKeydown.apply(e,arguments)}),onFocusin:i,onFocusout:c,onClick:r[2]||(r[2]=t.withModifiers(function(){},["stop"]))},[null!==(u=e.menuModel[0])&&void 0!==u&&u.length?(t.openBlock(),t.createElementBlock("div",m,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.menuModel,function(r,u){var o;return t.openBlock(),t.createElementBlock("div",{key:u,class:"base-cascader-submenu",style:t.normalizeStyle(null===(o=e.getColumnStyle)||void 0===o?void 0:o.call(e,{level:u}))},[!e.virtualScroll||r.length<50?(t.openBlock(),t.createElementBlock("div",h,[t.createVNode(t.unref(l.ElScrollbar),null,{default:t.withCtx(function(){return[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r,function(e){return t.openBlock(),t.createBlock(p,{key:e.key,"tm-node":e},t.createSlots({_:2},[a.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,n=e.checked;return[t.renderSlot(a.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"])}),128))]}),_:2},1024)])):(t.openBlock(),t.createElementBlock("div",y,[t.createVNode(t.unref(n.VirtualList),{items:r,"item-size":e.optionHeight,style:{height:"280px"}},{default:t.withCtx(function(e){var l=e.item;return[(t.openBlock(),t.createBlock(p,{key:l.key,"tm-node":l},t.createSlots({_:2},[a.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,n=e.checked;return[t.renderSlot(a.$slots,"label",{option:l,checked:n})]}),key:"0"}:void 0]),1032,["tm-node"]))]}),_:3},8,["items","item-size"])]))],4)}),128))])):(t.openBlock(),t.createElementBlock("div",k,[t.renderSlot(a.$slots,"empty",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"暂无数据"})]})])),a.$slots.action?(t.openBlock(),t.createElementBlock("div",b,[t.renderSlot(a.$slots,"action")])):t.createCommentVNode("v-if",!0)],544),[[t.vShow,e.show]])]}),_:3})}}});function w(e,t){var l=new Map,n=[];var a=function e(n,a,r){var u=[];return n.map(function(n,o){var i=t.getKey(n),c=t.getChildren(n),d=t.getDisabled(n),s=void 0!==n.isLeaf?n.isLeaf:!c||0===c.length,v=s||void 0!==c&&c.length>0,f={key:i,rawNode:n,level:a,index:o,isLeaf:s,isGroup:!1,ignored:!1,disabled:d,shallowLoaded:v,parent:r,siblings:u,children:void 0};return u.push(f),l.set(i,f),c&&c.length>0&&(f.children=e(c,a+1,f)),f})}(e,0,null);function r(e){return l.get(e)||null}function o(e){var t=[e.key];return e.children&&e.children.forEach(function(e){t.push.apply(t,d(o(e)))}),t}n.push.apply(n,d(a));var i=function e(t){var l=[];return t.forEach(function(t){t.disabled||(l.push(t),t.children&&l.push.apply(l,d(e(t.children))))}),l}(n);return{treeNodes:n,getNode:r,getPath:function(e){if(null===e)return{treeNodePath:[],keyPath:[],treeNode:null};var t=r(e);if(!t)return{treeNodePath:[],keyPath:[],treeNode:null};for(var l=[],n=[],a=t;a;)l.unshift(a),n.unshift(a.key),a=a.parent;return{treeNodePath:l,keyPath:n,treeNode:t}},getCheckedKeys:function(e,t){var l=new Set(e),a=new Set;if(!t.cascade)return{checkedKeys:e,indeterminateKeys:[]};function r(e){if(!e.children||0===e.children.length)return{allChecked:l.has(e.key),someChecked:l.has(e.key)};var t,n=!0,o=!1,i=u(e.children);try{for(i.s();!(t=i.n()).done;){var c=r(t.value);c.allChecked||(n=!1),c.someChecked&&(o=!0)}}catch(e){i.e(e)}finally{i.f()}var d=l.has(e.key);return n?(l.add(e.key),{allChecked:!0,someChecked:!0}):o||d?(a.add(e.key),{allChecked:!1,someChecked:!0}):{allChecked:!1,someChecked:!1}}return n.forEach(function(e){return r(e)}),{checkedKeys:Array.from(l),indeterminateKeys:Array.from(a)}},check:function(e,t,l){var n=r(e);if(!n)return{checkedKeys:t};var a=new Set(t);return a.add(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return a.add(e)}),{checkedKeys:Array.from(a)}},uncheck:function(e,t,l){var n=r(e);if(!n)return{checkedKeys:t};var a=new Set(t);return a.delete(e),l.cascade&&n.children&&o(n).slice(1).forEach(function(e){return a.delete(e)}),{checkedKeys:Array.from(a)}},getPrev:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:0===l?t.loop?i[i.length-1]:null:i[l-1]},getNext:function(e,t){var l=i.findIndex(function(t){return t.key===e});return-1===l?null:l===i.length-1?t.loop?i[0]:null:i[l+1]},getChild:function(e){var t=r(e);return t&&t.children&&0!==t.children.length&&t.children.find(function(e){return!e.disabled})||null},getParent:function(e){var t=r(e);return(null==t?void 0:t.parent)||null},getFirstAvailableNode:function(){return i[0]||null}}}function C(e){return e?e.map(function(e){return e.rawNode}):null}function N(e,t,l){for(var n=[];e;)n.push(e.rawNode[l]),e=e.parent;return n.reverse().join(t)}g.__scopeId="data-v-097326a4",g.__file="packages/components/src/cascader/CascaderMenu.vue";var S=["onClick","onMouseenter"],B={class:"base-cascader-select-option__label"},_={key:0,class:"base-cascader-select-menu__empty"},x={key:1,class:"base-cascader-select-menu__virtual"},E=["onClick","onMouseenter"],q={class:"base-cascader-select-option__label"},K={key:1,class:"base-cascader-select-menu__empty"},P=t.defineComponent({__name:"CascaderSelectMenu",props:{show:{type:Boolean,required:!0},pattern:{type:String,required:!0},multiple:{type:Boolean,required:!0},tmNodes:{type:Array,required:!0},filter:{type:null,required:!1},labelField:{type:String,required:!0},separator:{type:String,required:!0},value:{type:null,required:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,r){var o=r.expose,i=e,c=t.inject("cascaderContext"),d=t.ref(null),s=t.ref(null),v=t.computed(function(){return function(e,t,l,n){var a=[],r=[];return function e(o){var i,c=u(o);try{for(c.s();!(i=c.n()).done;){var d=i.value;if(!d.disabled){var s=d.rawNode;r.push(s),!d.isLeaf&&t||a.push({label:N(d,n,l),value:d.key,rawNode:d.rawNode,path:Array.from(r)}),!d.isLeaf&&d.children&&e(d.children),r.pop()}}}catch(e){c.e(e)}finally{c.f()}}(e),a}(i.tmNodes,"child"===c.value.checkStrategy,i.labelField,i.separator)}),f=t.computed(function(){return i.filter?i.filter:function(e,t,l){return l.some(function(t){return t[i.labelField]&&t[i.labelField].toLowerCase().includes(e.toLowerCase())})}}),p=t.computed(function(){return i.pattern?v.value.filter(function(e){return f.value(i.pattern,e.rawNode,e.path)}):v.value});function m(e){return i.multiple&&Array.isArray(i.value)?i.value.includes(e):i.value===e}function h(e){var t=c.value;i.multiple?m(e.value)?t.doUncheck(e.value):t.doCheck(e.value):(t.doCheck(e.value),t.clearPattern(),t.closeMenu())}return o({prev:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e>0?s.value=p.value[e-1].value:p.value.length>0&&(s.value=p.value[p.value.length-1].value)},next:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e<p.value.length-1?s.value=p.value[e+1].value:p.value.length>0&&(s.value=p.value[0].value)},enter:function(){if(null!==s.value){var e=p.value.find(function(e){return e.value===s.value});if(e)return h(e),!0}return!1}}),function(r,u){return t.openBlock(),t.createBlock(t.Transition,{name:"el-zoom-in-top",persisted:""},{default:t.withCtx(function(){return[t.withDirectives(t.createElementVNode("div",{ref_key:"selectMenuRef",ref:d,class:"base-cascader-select-menu",onClick:u[2]||(u[2]=t.withModifiers(function(){},["stop"]))},[!e.virtualScroll||p.value.length<50?(t.openBlock(),t.createBlock(t.unref(l.ElScrollbar),{key:0,"max-height":"280px"},{default:t.withCtx(function(){return[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,function(n){return t.openBlock(),t.createElementBlock("div",{key:n.value,class:t.normalizeClass(["base-cascader-select-option",{"is-selected":m(n.value),"is-hover":s.value===n.value}]),onClick:function(e){return h(n)},onMouseenter:function(e){return s.value=n.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":m(n.value),class:"base-cascader-select-option__checkbox",onClick:u[0]||(u[0]=t.withModifiers(function(){},["stop"]))},null,8,["model-value"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",B,t.toDisplayString(n.label),1),!e.multiple&&m(n.value)?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0)],42,S)}),128)),0===p.value.length?(t.openBlock(),t.createElementBlock("div",_,[t.renderSlot(r.$slots,"not-found",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"无匹配数据"})]})])):t.createCommentVNode("v-if",!0)]}),_:3})):(t.openBlock(),t.createElementBlock("div",x,[p.value.length>0?(t.openBlock(),t.createBlock(t.unref(l.ElScrollbar),{key:0,"max-height":"280px"},{default:t.withCtx(function(){return[t.createVNode(t.unref(n.VirtualList),{items:p.value,"item-size":e.optionHeight,style:{height:"280px"}},{default:t.withCtx(function(n){var r=n.item;return[(t.openBlock(),t.createElementBlock("div",{key:r.value,class:t.normalizeClass(["base-cascader-select-option",{"is-selected":m(r.value),"is-hover":s.value===r.value}]),onClick:function(e){return h(r)},onMouseenter:function(e){return s.value=r.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":m(r.value),class:"base-cascader-select-option__checkbox",onClick:u[1]||(u[1]=t.withModifiers(function(){},["stop"]))},null,8,["model-value"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",q,t.toDisplayString(r.label),1),!e.multiple&&m(r.value)?(t.openBlock(),t.createBlock(t.unref(l.ElIcon),{key:1,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0)],42,E))]}),_:1},8,["items","item-size"])]}),_:1})):(t.openBlock(),t.createElementBlock("div",K,[t.renderSlot(r.$slots,"not-found",{},function(){return[t.createVNode(t.unref(l.ElEmpty),{"image-size":60,description:"无匹配数据"})]})]))]))],512),[[t.vShow,e.show]])]}),_:3})}}});P.__scopeId="data-v-3901f6ec",P.__file="packages/components/src/cascader/CascaderSelectMenu.vue";var A={class:"base-cascader-dropdown"},V=t.defineComponent(c(c({},{name:"XnCascader"}),{},{__name:"index",props:{modelValue:{type:null,required:!1,default:null},options:{type:Array,required:!1,default:function(){return[]}},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},filterable:{type:Boolean,required:!1,default:!1},multiple:{type:Boolean,required:!1,default:!1},size:{type:String,required:!1,default:"default"},expandTrigger:{type:null,required:!1,default:"click"},separator:{type:String,required:!1,default:" / "},showPath:{type:Boolean,required:!1,default:!0},cascade:{type:Boolean,required:!1,default:!0},checkStrategy:{type:null,required:!1,default:"all"},remote:{type:Boolean,required:!1,default:!1},onLoad:{type:null,required:!1},filter:{type:null,required:!1},valueField:{type:String,required:!1,default:"value"},labelField:{type:String,required:!1,default:"label"},childrenField:{type:String,required:!1,default:"children"},disabledField:{type:String,required:!1,default:"disabled"},maxTagCount:{type:Number,required:!1,default:1},popperClass:{type:String,required:!1},getColumnStyle:{type:Function,required:!1},clearFilterAfterSelect:{type:Boolean,required:!1,default:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34},showCheckbox:{type:Boolean,required:!1,default:void 0},emitPath:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","focus","blur"],setup:function(e,n){var a=n.expose,r=n.emit,u=e,o=r,i=t.ref(null),c=t.ref(null),d=t.ref(null),s=t.ref(u.modelValue),v=t.ref(""),f=t.ref(!1),p=t.ref(null),m=t.ref(null),h=t.ref(new Set),y=t.computed(function(){return u.disabled});t.computed(function(){return h.value.size>0});var k=t.computed(function(){return w(u.options,{getKey:function(e){return e[u.valueField]},getChildren:function(e){return e[u.childrenField]},getDisabled:function(e){return e[u.disabledField]||!1}})}),b=t.computed(function(){var e;return u.multiple&&Array.isArray(s.value)?(e=u.emitPath?0===s.value.length?[]:Array.isArray(s.value[0])?s.value.map(function(e){return e[e.length-1]}):s.value:s.value,k.value.getCheckedKeys(e,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1})):{checkedKeys:[],indeterminateKeys:[]}}),S=t.computed(function(){return b.value.checkedKeys}),B=t.computed(function(){return b.value.indeterminateKeys}),_=t.computed(function(){var e,t=k.value.getPath(m.value),l=t.treeNodePath,n=t.treeNode;return null===n?e=[k.value.treeNodes]:(e=l.map(function(e){return e.siblings}),n.isLeaf||h.value.has(n.key)||!n.children||e.push(n.children)),e}),x=t.computed(function(){return k.value.getPath(m.value).keyPath}),E=t.computed(function(){return void 0!==u.showCheckbox?u.showCheckbox:!(!u.multiple||!u.cascade)||"child"!==u.checkStrategy}),q=t.computed(function(){return!(!u.filterable||!v.value)}),K=t.computed(function(){if(u.multiple){var e=k.value,t=e.getCheckedKeys,l=e.getNode;return t(S.value,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1}).checkedKeys.map(function(e){var t=l(e);return null===t?{label:String(e),value:e}:{label:u.showPath?N(t,u.separator,u.labelField):t.rawNode[u.labelField],value:t.key}})}return[]}),V=t.computed(function(){if(!u.multiple){var e=k.value.getNode;if(null===s.value)return null;var t=null;if(u.emitPath&&Array.isArray(s.value)){if(0===s.value.length)return null;var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||(t=s.value);if(null==t)return null;var n=e(t);return null===n?{label:String(t),value:t}:{label:u.showPath?N(n,u.separator,u.labelField):n.rawNode[u.labelField],value:n.key}}return null}),F=t.computed({get:function(){var e;return u.multiple?K.value.map(function(e){return e.label}):(null===(e=V.value)||void 0===e?void 0:e.label)||""},set:function(e){}});function L(e,t,l){s.value=e,o("update:modelValue",e),o("change",e,t,l)}function M(e){var t=k.value.getNode;return e.map(function(e){var l;return(null===(l=t(e))||void 0===l?void 0:l.rawNode)||null})}function j(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,a=u.emitPath,r=k.value,o=r.check,i=r.getNode,c=r.getPath;if(l){var d=o(e,b.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;L(a?d.map(function(e){return c(e).keyPath}):d,M(d),d.map(function(e){var t;return C(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}else if("child"===n){var s=i(e);if(null==s||!s.isLeaf)return!1;var v=c(e);L(a?v.keyPath:e,s.rawNode,C(v.treeNodePath)),R()}else{var f=i(e),h=c(e);L(a?h.keyPath:e,(null==f?void 0:f.rawNode)||null,C(null==h?void 0:h.treeNodePath)),R()}return!0}function O(e){var t=u.cascade,l=u.multiple,n=u.checkStrategy,a=u.emitPath;if(l){var r=k.value,o=r.uncheck,i=r.getNode,c=r.getPath,d=o(e,b.value.checkedKeys,{cascade:t,checkStrategy:n,allowNotLoaded:!1}).checkedKeys;L(a?d.map(function(e){return c(e).keyPath}):d,d.map(function(e){var t;return(null===(t=i(e))||void 0===t?void 0:t.rawNode)||null}),d.map(function(e){var t;return C(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}}function I(e){m.value=e}function $(e){p.value=e}function z(e){h.value.add(e)}function D(e){h.value.delete(e)}function T(){var e,t,l=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(f.value=!1,v.value="",l)?null===(e=i.value)||void 0===e||e.focus():null===(t=i.value)||void 0===t||t.blur()}function H(){u.clearFilterAfterSelect&&(v.value="")}function R(){v.value="",setTimeout(function(){if(i.value&&void 0!==i.value.query){var e;i.value.query="";var t=null===(e=i.value.$el)||void 0===e?void 0:e.querySelector("input");t&&V.value&&(t.value=V.value.label)}},0)}function U(){y.value||f.value||(f.value=!0)}function G(e){f.value=e,e||(v.value="")}function X(){u.multiple?L([],[],[]):L(null,null,null)}function J(e){var t=K.value.find(function(t){return t.label===e});t&&O(t.value)}function Q(e){v.value=e}function W(e){o("focus",e)}function Y(e){o("blur",e)}function Z(e){o("focus",e)}function ee(e){o("blur",e)}function te(e){ne(e)}function le(e){e.preventDefault()}function ne(e){if(f.value)switch(e.key){case"Enter":var t;if(q.value)null===(t=d.value)||void 0===t||t.enter();else if(null!==p.value)if(S.value.includes(p.value)||B.value.includes(p.value))O(p.value);else{var l=j(p.value);!u.multiple&&l&&T(!0)}break;case"ArrowUp":var n;if(e.preventDefault(),q.value)null===(n=d.value)||void 0===n||n.prev();else ae("prev");break;case"ArrowDown":var a;if(e.preventDefault(),q.value)null===(a=d.value)||void 0===a||a.next();else ae("next");break;case"ArrowLeft":e.preventDefault(),q.value||ae("parent");break;case"ArrowRight":e.preventDefault(),q.value||ae("child");break;case"Escape":T(!0)}}function ae(e){var t=p.value,l=k.value,n=l.getPrev,a=l.getNext,r=l.getChild,o=l.getParent,i=l.getFirstAvailableNode,c=l.getNode;switch(e){case"prev":if(null!==t){var d=n(t,{loop:!0});d&&$(d.key)}break;case"next":if(null===t){var s=i();s&&$(s.key)}else{var v=a(t,{loop:!0});v&&$(v.key)}break;case"child":if(null!==t){var f=c(t);if(null!=f&&f.shallowLoaded){var m=r(t);m&&(I(t),$(m.key))}else f&&!h.value.has(t)&&u.onLoad&&(z(t),I(t),u.onLoad(f.rawNode).then(function(){return D(t)}).catch(function(){return D(t)}))}break;case"parent":if(null!==t){var y=o(t);if(y){$(y.key);var b=o(y.key);I((null==b?void 0:b.key)||null)}}}}t.watch(function(){return u.modelValue},function(e){s.value=e}),t.watch(f,function(e){if(!e)return p.value=null,void(m.value=null);if(u.multiple)p.value=null,m.value=null;else{var t=null;if(u.emitPath&&Array.isArray(s.value)&&s.value.length>0){var l=s.value[s.value.length-1];t=Array.isArray(l)?null:l}else Array.isArray(s.value)||null===s.value||(t=s.value);if(null!==t){var n=k.value.getNode(t);if(n){var a=n.parent;a?(p.value=a.key,m.value=a.key):(p.value=t,m.value=t)}}else p.value=null,m.value=null}});var re=t.computed(function(){return{mergedValue:s.value,checkedKeys:S.value,indeterminateKeys:B.value,hoverKeyPath:x.value,keyboardKey:p.value,hoverKey:m.value,loadingKeySet:h.value,multiple:u.multiple,cascade:u.cascade,checkStrategy:u.checkStrategy,expandTrigger:u.expandTrigger,remote:u.remote,showCheckbox:E.value,labelField:u.labelField,valueField:u.valueField,childrenField:u.childrenField,disabledField:u.disabledField,onLoad:u.onLoad,updateHoverKey:I,updateKeyboardKey:$,addLoadingKey:z,deleteLoadingKey:D,doCheck:j,doUncheck:O,closeMenu:T,clearPattern:H}});return t.provide("cascaderContext",re),a({focus:function(){var e;null===(e=i.value)||void 0===e||e.focus()},blur:function(){var e;null===(e=i.value)||void 0===e||e.blur()},getCheckedData:function(){return E.value?{keys:S.value,options:M(S.value)}:{keys:[],options:[]}},getIndeterminateData:function(){return E.value?{keys:B.value,options:M(B.value)}:{keys:[],options:[]}}}),function(n,a){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["base-cascader",{"is-disabled":y.value}])},[t.createVNode(t.unref(l.ElSelect),{ref_key:"selectRef",ref:i,modelValue:F.value,"onUpdate:modelValue":a[0]||(a[0]=function(e){return F.value=e}),placeholder:e.placeholder,disabled:y.value,clearable:e.clearable,filterable:e.filterable,multiple:e.multiple,size:e.size,"collapse-tags":e.multiple,"collapse-tags-tooltip":e.multiple,"max-collapse-tags":e.maxTagCount,"filter-method":Q,"popper-class":"base-cascader-popper ".concat(e.popperClass||""),"automatic-dropdown":"",onVisibleChange:G,onClear:X,onRemoveTag:J,onFocus:W,onBlur:Y,onKeydown:ne,onClick:U},{empty:t.withCtx(function(){return[t.createElementVNode("div",A,[q.value?(t.openBlock(),t.createBlock(P,{key:0,ref_key:"selectMenuRef",ref:d,show:f.value&&q.value,pattern:v.value,multiple:e.multiple,"tm-nodes":k.value.treeNodes,filter:e.filter,"label-field":e.labelField,separator:e.separator,value:s.value,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},t.createSlots({_:2},[n.$slots["not-found"]?{name:"not-found",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"not-found")]}),key:"0"}:void 0]),1032,["show","pattern","multiple","tm-nodes","filter","label-field","separator","value","virtual-scroll","option-height"])):(t.openBlock(),t.createBlock(g,{key:1,ref_key:"cascaderMenuRef",ref:c,show:f.value&&!q.value,"menu-model":_.value,"get-column-style":e.getColumnStyle,"on-focus":Z,"on-blur":ee,"on-keydown":te,"on-mousedown":le,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},t.createSlots({_:2},[n.$slots.label?{name:"label",fn:t.withCtx(function(e){var l=e.option,a=e.checked;return[t.renderSlot(n.$slots,"label",{option:l,checked:a})]}),key:"0"}:void 0,n.$slots.empty?{name:"empty",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"empty")]}),key:"1"}:void 0,n.$slots.action?{name:"action",fn:t.withCtx(function(){return[t.renderSlot(n.$slots,"action")]}),key:"2"}:void 0]),1032,["show","menu-model","get-column-style","virtual-scroll","option-height"]))])]}),_:3},8,["modelValue","placeholder","disabled","clearable","filterable","multiple","size","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class"])],2)}}}));V.__scopeId="data-v-243e9ed1",V.__file="packages/components/src/cascader/index.vue";var F=V;F.install=function(e){V.name&&e.component(V.name,V)};var L={Cascader:F},M={install:function(e){Object.values(L).forEach(function(t){t.name&&e.component(t.name,t)})}};e.Cascader=F,e.components=L,e.default=M,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("element-plus"),require("vueuc"),require("@element-plus/icons-vue")):"function"==typeof define&&define.amd?define(["exports","vue","element-plus","vueuc","@element-plus/icons-vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@xn-lib/component"]=e["@xn-lib/component"]||{},e.Vue,e.ElementPlus,e.vueuc,e.ElementPlusIconsVue)}(this,function(e,t,n,l,a){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=Array(t);n<t;n++)l[n]=e[n];return l}function u(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=s(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var l=0,a=function(){};return{s:a,n:function(){return l>=e.length?{done:!0}:{done:!1,value:e[l++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,u=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){o=!0,r=e},f:function(){try{u||null==n.return||n.return()}finally{if(o)throw r}}}}function o(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var l=n.call(e,t||"default");if("object"!=typeof l)return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,l)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){o(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}var v=["title"],f={class:"base-cascader-option__suffix"},p=t.defineComponent({__name:"CascaderOption",props:{tmNode:{type:null,required:!0}},setup:function(e){var l=e,r=t.inject("cascaderContext"),u=t.computed(function(){return l.tmNode.key}),o=t.computed(function(){return l.tmNode.rawNode[r.value.labelField]}),i=t.computed(function(){return l.tmNode.disabled}),c=t.computed(function(){return l.tmNode.isLeaf}),d=t.computed(function(){return r.value.loadingKeySet.has(u.value)}),s=t.computed(function(){return!r.value.remote&&"hover"===r.value.expandTrigger}),p=t.computed(function(){if(!r.value.multiple){var e=r.value.mergedValue;return Array.isArray(e)?0!==e.length&&e[e.length-1]===u.value:e===u.value}return r.value.checkedKeys.includes(u.value)}),m=t.computed(function(){return!!r.value.multiple&&r.value.indeterminateKeys.includes(u.value)}),h=t.computed(function(){return r.value.hoverKeyPath.includes(u.value)}),y=t.computed(function(){return r.value.keyboardKey===u.value}),k=t.computed(function(){if(p.value||h.value)return!0;if(!r.value.multiple){var e=r.value.mergedValue;if(Array.isArray(e)&&e.length>0)return e.includes(u.value)}return!1}),b=t.computed(function(){return r.value.showCheckbox}),g=t.computed(function(){return r.value.checkStrategy}),w=t.computed(function(){return r.value.multiple}),C=t.computed(function(){return r.value.cascade}),N=t.computed(function(){return!!p.value&&(w.value?!b.value:"child"===g.value&&!(w.value&&C.value))});function S(e){if(!i.value&&!e.target.closest(".base-cascader-option__checkbox")){var t=r.value;t.updateHoverKey(u.value),t.updateKeyboardKey(u.value),t.remote&&!l.tmNode.shallowLoaded&&!d.value&&t.onLoad&&(t.addLoadingKey(u.value),t.onLoad(l.tmNode.rawNode).then(function(){t.deleteLoadingKey(u.value)}).catch(function(){t.deleteLoadingKey(u.value)})),t.multiple,c.value&&E()}}function B(){if(s.value&&!i.value){var e=r.value;e.updateHoverKey(u.value),e.updateKeyboardKey(u.value),e.remote&&!l.tmNode.shallowLoaded&&!d.value&&e.onLoad&&(e.addLoadingKey(u.value),e.onLoad(l.tmNode.rawNode).then(function(){e.deleteLoadingKey(u.value)}).catch(function(){e.deleteLoadingKey(u.value)}))}}function _(){s.value&&B()}function x(){E()}function E(){var e=r.value;e.multiple?m.value||p.value?e.doUncheck(u.value):e.doCheck(u.value):(e.doCheck(u.value),!e.showCheckbox&&c.value&&e.closeMenu(!1))}return function(l,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["base-cascader-option",{"is-active":k.value,"is-disabled":i.value,"is-hover":h.value||y.value,"has-checkbox":b.value}]),onClick:S,onMouseenter:B,onMousemove:_},[b.value?(t.openBlock(),t.createBlock(t.unref(n.ElCheckbox),{key:0,"model-value":p.value,indeterminate:m.value,disabled:i.value,class:"base-cascader-option__checkbox",onClick:r[0]||(r[0]=t.withModifiers(function(){},["stop"])),onChange:x},null,8,["model-value","indeterminate","disabled"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",{class:"base-cascader-option__label",title:o.value},[t.renderSlot(l.$slots,"label",{option:e.tmNode.rawNode,checked:p.value},function(){return[t.createTextVNode(t.toDisplayString(o.value),1)]})],8,v),t.createElementVNode("span",f,[d.value?(t.openBlock(),t.createBlock(t.unref(n.ElIcon),{key:0,class:"is-loading"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Loading))]}),_:1})):c.value?N.value?(t.openBlock(),t.createBlock(t.unref(n.ElIcon),{key:2,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0):(t.openBlock(),t.createBlock(t.unref(n.ElIcon),{key:1,class:"arrow-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.ArrowRight))]}),_:1}))])],34)}}});p.__scopeId="data-v-248f99f8",p.__file="packages/components/src/cascader/CascaderOption.vue";var m={key:0,class:"base-cascader-menu__wrapper"},h={key:0,class:"base-cascader-submenu__list"},y={key:1,class:"base-cascader-submenu__list base-cascader-submenu__list--virtual"},k={key:1,class:"base-cascader-menu__empty"},b={key:2,class:"base-cascader-menu__action"},g=t.defineComponent({__name:"CascaderMenu",props:{show:{type:Boolean,required:!0},menuModel:{type:Array,required:!0},onFocus:{type:Function,required:!0},onBlur:{type:Function,required:!0},onKeydown:{type:Function,required:!0},onMousedown:{type:Function,required:!0},getColumnStyle:{type:Function,required:!1},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,a){var r=a.expose,u=e,o=t.ref(null);function i(e){o.value&&(o.value.contains(e.relatedTarget)||u.onFocus(e))}function c(e){o.value&&(o.value.contains(e.relatedTarget)||u.onBlur(e))}return r({scroll:function(e,t,n){},showErrorMessage:function(e){console.warn("Loading required: ".concat(e))}}),function(a,r){return t.openBlock(),t.createBlock(t.Transition,{name:"el-zoom-in-top",persisted:""},{default:t.withCtx(function(){var u;return[t.withDirectives(t.createElementVNode("div",{ref_key:"menuRef",ref:o,class:"base-cascader-menu",tabindex:"0",onMousedown:r[0]||(r[0]=function(){return e.onMousedown&&e.onMousedown.apply(e,arguments)}),onKeydown:r[1]||(r[1]=function(){return e.onKeydown&&e.onKeydown.apply(e,arguments)}),onFocusin:i,onFocusout:c,onClick:r[2]||(r[2]=t.withModifiers(function(){},["stop"]))},[null!==(u=e.menuModel[0])&&void 0!==u&&u.length?(t.openBlock(),t.createElementBlock("div",m,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.menuModel,function(r,u){var o;return t.openBlock(),t.createElementBlock("div",{key:u,class:"base-cascader-submenu",style:t.normalizeStyle(null===(o=e.getColumnStyle)||void 0===o?void 0:o.call(e,{level:u}))},[!e.virtualScroll||r.length<50?(t.openBlock(),t.createElementBlock("div",h,[t.createVNode(t.unref(n.ElScrollbar),null,{default:t.withCtx(function(){return[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r,function(e){return t.openBlock(),t.createBlock(p,{key:e.key,"tm-node":e},t.createSlots({_:2},[a.$slots.label?{name:"label",fn:t.withCtx(function(e){var n=e.option,l=e.checked;return[t.renderSlot(a.$slots,"label",{option:n,checked:l})]}),key:"0"}:void 0]),1032,["tm-node"])}),128))]}),_:2},1024)])):(t.openBlock(),t.createElementBlock("div",y,[t.createVNode(t.unref(l.VirtualList),{items:r,"item-size":e.optionHeight,style:{height:"280px"}},{default:t.withCtx(function(e){var n=e.item;return[(t.openBlock(),t.createBlock(p,{key:n.key,"tm-node":n},t.createSlots({_:2},[a.$slots.label?{name:"label",fn:t.withCtx(function(e){var n=e.option,l=e.checked;return[t.renderSlot(a.$slots,"label",{option:n,checked:l})]}),key:"0"}:void 0]),1032,["tm-node"]))]}),_:3},8,["items","item-size"])]))],4)}),128))])):(t.openBlock(),t.createElementBlock("div",k,[t.renderSlot(a.$slots,"empty",{},function(){return[t.createVNode(t.unref(n.ElEmpty),{"image-size":60,description:"暂无数据"})]})])),a.$slots.action?(t.openBlock(),t.createElementBlock("div",b,[t.renderSlot(a.$slots,"action")])):t.createCommentVNode("v-if",!0)],544),[[t.vShow,e.show]])]}),_:3})}}});function w(e,t){var n=new Map,l=[];var a=function e(l,a,r){var u=[];return l.map(function(l,o){var i=t.getKey(l),c=t.getChildren(l),d=t.getDisabled(l),s=void 0!==l.isLeaf?l.isLeaf:!c||0===c.length,v=s||void 0!==c&&c.length>0,f={key:i,rawNode:l,level:a,index:o,isLeaf:s,isGroup:!1,ignored:!1,disabled:d,shallowLoaded:v,parent:r,siblings:u,children:void 0};return u.push(f),n.set(i,f),c&&c.length>0&&(f.children=e(c,a+1,f)),f})}(e,0,null);function r(e){return n.get(e)||null}function o(e){var t=[e.key];return e.children&&e.children.forEach(function(e){t.push.apply(t,d(o(e)))}),t}l.push.apply(l,d(a));var i=function e(t){var n=[];return t.forEach(function(t){t.disabled||(n.push(t),t.children&&n.push.apply(n,d(e(t.children))))}),n}(l);return{treeNodes:l,getNode:r,getPath:function(e){if(null===e)return{treeNodePath:[],keyPath:[],treeNode:null};var t=r(e);if(!t)return{treeNodePath:[],keyPath:[],treeNode:null};for(var n=[],l=[],a=t;a;)n.unshift(a),l.unshift(a.key),a=a.parent;return{treeNodePath:n,keyPath:l,treeNode:t}},getCheckedKeys:function(e,t){var n=new Set(e),a=new Set;if(!t.cascade)return{checkedKeys:e,indeterminateKeys:[]};function r(e){if(!e.children||0===e.children.length)return{allChecked:n.has(e.key),someChecked:n.has(e.key)};var t,l=!0,o=!1,i=u(e.children);try{for(i.s();!(t=i.n()).done;){var c=r(t.value);c.allChecked||(l=!1),c.someChecked&&(o=!0)}}catch(e){i.e(e)}finally{i.f()}var d=n.has(e.key);return l?(n.add(e.key),{allChecked:!0,someChecked:!0}):o||d?(a.add(e.key),{allChecked:!1,someChecked:!0}):{allChecked:!1,someChecked:!1}}return l.forEach(function(e){return r(e)}),{checkedKeys:Array.from(n),indeterminateKeys:Array.from(a)}},check:function(e,t,n){var l=r(e);if(!l)return{checkedKeys:t};var a=new Set(t);return a.add(e),n.cascade&&l.children&&o(l).slice(1).forEach(function(e){return a.add(e)}),{checkedKeys:Array.from(a)}},uncheck:function(e,t,n){var l=r(e);if(!l)return{checkedKeys:t};var a=new Set(t);return a.delete(e),n.cascade&&l.children&&o(l).slice(1).forEach(function(e){return a.delete(e)}),{checkedKeys:Array.from(a)}},getPrev:function(e,t){var n=i.findIndex(function(t){return t.key===e});return-1===n?null:0===n?t.loop?i[i.length-1]:null:i[n-1]},getNext:function(e,t){var n=i.findIndex(function(t){return t.key===e});return-1===n?null:n===i.length-1?t.loop?i[0]:null:i[n+1]},getChild:function(e){var t=r(e);return t&&t.children&&0!==t.children.length&&t.children.find(function(e){return!e.disabled})||null},getParent:function(e){var t=r(e);return(null==t?void 0:t.parent)||null},getFirstAvailableNode:function(){return i[0]||null}}}function C(e){return e?e.map(function(e){return e.rawNode}):null}function N(e,t,n){for(var l=[];e;)l.push(e.rawNode[n]),e=e.parent;return l.reverse().join(t)}g.__scopeId="data-v-097326a4",g.__file="packages/components/src/cascader/CascaderMenu.vue";var S=["onClick","onMouseenter"],B={class:"base-cascader-select-option__label"},_={key:0,class:"base-cascader-select-menu__empty"},x={key:1,class:"base-cascader-select-menu__virtual"},E=["onClick","onMouseenter"],q={class:"base-cascader-select-option__label"},K={key:1,class:"base-cascader-select-menu__empty"},P=t.defineComponent({__name:"CascaderSelectMenu",props:{show:{type:Boolean,required:!0},pattern:{type:String,required:!0},multiple:{type:Boolean,required:!0},tmNodes:{type:Array,required:!0},filter:{type:null,required:!1},labelField:{type:String,required:!0},separator:{type:String,required:!0},value:{type:null,required:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34}},setup:function(e,r){var o=r.expose,i=e,c=t.inject("cascaderContext"),d=t.ref(null),s=t.ref(null),v=t.computed(function(){return function(e,t,n,l){var a=[],r=[];return function e(o){var i,c=u(o);try{for(c.s();!(i=c.n()).done;){var d=i.value;if(!d.disabled){var s=d.rawNode;r.push(s),!d.isLeaf&&t||a.push({label:N(d,l,n),value:d.key,rawNode:d.rawNode,path:Array.from(r)}),!d.isLeaf&&d.children&&e(d.children),r.pop()}}}catch(e){c.e(e)}finally{c.f()}}(e),a}(i.tmNodes,"child"===c.value.checkStrategy,i.labelField,i.separator)}),f=t.computed(function(){return i.filter?i.filter:function(e,t,n){return n.some(function(t){return t[i.labelField]&&t[i.labelField].toLowerCase().includes(e.toLowerCase())})}}),p=t.computed(function(){return i.pattern?v.value.filter(function(e){return f.value(i.pattern,e.rawNode,e.path)}):v.value});function m(e){return i.multiple&&Array.isArray(i.value)?i.value.includes(e):i.value===e}function h(e){var t=c.value;i.multiple?m(e.value)?t.doUncheck(e.value):t.doCheck(e.value):(t.doCheck(e.value),t.clearPattern(),t.closeMenu())}return o({prev:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e>0?s.value=p.value[e-1].value:p.value.length>0&&(s.value=p.value[p.value.length-1].value)},next:function(){var e=p.value.findIndex(function(e){return e.value===s.value});e<p.value.length-1?s.value=p.value[e+1].value:p.value.length>0&&(s.value=p.value[0].value)},enter:function(){if(null!==s.value){var e=p.value.find(function(e){return e.value===s.value});if(e)return h(e),!0}return!1}}),function(r,u){return t.openBlock(),t.createBlock(t.Transition,{name:"el-zoom-in-top",persisted:""},{default:t.withCtx(function(){return[t.withDirectives(t.createElementVNode("div",{ref_key:"selectMenuRef",ref:d,class:"base-cascader-select-menu",onClick:u[2]||(u[2]=t.withModifiers(function(){},["stop"]))},[!e.virtualScroll||p.value.length<50?(t.openBlock(),t.createBlock(t.unref(n.ElScrollbar),{key:0,"max-height":"280px"},{default:t.withCtx(function(){return[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,function(l){return t.openBlock(),t.createElementBlock("div",{key:l.value,class:t.normalizeClass(["base-cascader-select-option",{"is-selected":m(l.value),"is-hover":s.value===l.value}]),onClick:function(e){return h(l)},onMouseenter:function(e){return s.value=l.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(n.ElCheckbox),{key:0,"model-value":m(l.value),class:"base-cascader-select-option__checkbox",onClick:u[0]||(u[0]=t.withModifiers(function(){},["stop"]))},null,8,["model-value"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",B,t.toDisplayString(l.label),1),!e.multiple&&m(l.value)?(t.openBlock(),t.createBlock(t.unref(n.ElIcon),{key:1,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0)],42,S)}),128)),0===p.value.length?(t.openBlock(),t.createElementBlock("div",_,[t.renderSlot(r.$slots,"not-found",{},function(){return[t.createVNode(t.unref(n.ElEmpty),{"image-size":60,description:"无匹配数据"})]})])):t.createCommentVNode("v-if",!0)]}),_:3})):(t.openBlock(),t.createElementBlock("div",x,[p.value.length>0?(t.openBlock(),t.createBlock(t.unref(n.ElScrollbar),{key:0,"max-height":"280px"},{default:t.withCtx(function(){return[t.createVNode(t.unref(l.VirtualList),{items:p.value,"item-size":e.optionHeight,style:{height:"280px"}},{default:t.withCtx(function(l){var r=l.item;return[(t.openBlock(),t.createElementBlock("div",{key:r.value,class:t.normalizeClass(["base-cascader-select-option",{"is-selected":m(r.value),"is-hover":s.value===r.value}]),onClick:function(e){return h(r)},onMouseenter:function(e){return s.value=r.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(n.ElCheckbox),{key:0,"model-value":m(r.value),class:"base-cascader-select-option__checkbox",onClick:u[1]||(u[1]=t.withModifiers(function(){},["stop"]))},null,8,["model-value"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",q,t.toDisplayString(r.label),1),!e.multiple&&m(r.value)?(t.openBlock(),t.createBlock(t.unref(n.ElIcon),{key:1,class:"check-icon"},{default:t.withCtx(function(){return[t.createVNode(t.unref(a.Check))]}),_:1})):t.createCommentVNode("v-if",!0)],42,E))]}),_:1},8,["items","item-size"])]}),_:1})):(t.openBlock(),t.createElementBlock("div",K,[t.renderSlot(r.$slots,"not-found",{},function(){return[t.createVNode(t.unref(n.ElEmpty),{"image-size":60,description:"无匹配数据"})]})]))]))],512),[[t.vShow,e.show]])]}),_:3})}}});P.__scopeId="data-v-3901f6ec",P.__file="packages/components/src/cascader/CascaderSelectMenu.vue";var A={class:"base-cascader-dropdown"},V=t.defineComponent(c(c({},{name:"XnCascader"}),{},{__name:"index",props:{modelValue:{type:null,required:!1,default:null},options:{type:Array,required:!1,default:function(){return[]}},placeholder:{type:String,required:!1,default:"请选择"},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},filterable:{type:Boolean,required:!1,default:!1},multiple:{type:Boolean,required:!1,default:!1},size:{type:String,required:!1,default:"default"},expandTrigger:{type:null,required:!1,default:"click"},separator:{type:String,required:!1,default:" / "},showPath:{type:Boolean,required:!1,default:!0},cascade:{type:Boolean,required:!1,default:!0},checkStrategy:{type:null,required:!1,default:"all"},remote:{type:Boolean,required:!1,default:!1},onLoad:{type:null,required:!1},filter:{type:null,required:!1},valueField:{type:String,required:!1,default:"value"},labelField:{type:String,required:!1,default:"label"},childrenField:{type:String,required:!1,default:"children"},disabledField:{type:String,required:!1,default:"disabled"},maxTagCount:{type:Number,required:!1,default:1},popperClass:{type:String,required:!1},getColumnStyle:{type:Function,required:!1},clearFilterAfterSelect:{type:Boolean,required:!1,default:!0},virtualScroll:{type:Boolean,required:!1,default:!0},optionHeight:{type:Number,required:!1,default:34},showCheckbox:{type:Boolean,required:!1,default:void 0},emitPath:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue","change","focus","blur"],setup:function(e,l){var a=l.expose,r=l.emit,u=e,o=r,i=t.ref(null),c=t.ref(null),d=t.ref(null),s=t.ref(u.modelValue),v=t.ref(""),f=t.ref(!1),p=t.ref(null),m=t.ref(null),h=t.ref(new Set),y=t.computed(function(){return u.disabled});t.computed(function(){return h.value.size>0});var k=t.computed(function(){return w(u.options,{getKey:function(e){return e[u.valueField]},getChildren:function(e){return e[u.childrenField]},getDisabled:function(e){return e[u.disabledField]||!1}})}),b=t.computed(function(){var e;return u.multiple&&Array.isArray(s.value)?(e=u.emitPath?0===s.value.length?[]:Array.isArray(s.value[0])?s.value.map(function(e){return e[e.length-1]}):s.value:s.value,k.value.getCheckedKeys(e,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1})):{checkedKeys:[],indeterminateKeys:[]}}),S=t.computed(function(){return b.value.checkedKeys}),B=t.computed(function(){return b.value.indeterminateKeys}),_=t.computed(function(){var e,t=k.value.getPath(m.value),n=t.treeNodePath,l=t.treeNode;return null===l?e=[k.value.treeNodes]:(e=n.map(function(e){return e.siblings}),l.isLeaf||h.value.has(l.key)||!l.children||e.push(l.children)),e}),x=t.computed(function(){return k.value.getPath(m.value).keyPath}),E=t.computed(function(){return void 0!==u.showCheckbox?u.showCheckbox:!(!u.multiple||!u.cascade)||"child"!==u.checkStrategy}),q=t.computed(function(){return!(!u.filterable||!v.value)}),K=t.computed(function(){if(u.multiple){var e=k.value,t=e.getCheckedKeys,n=e.getNode;return t(S.value,{cascade:u.cascade,checkStrategy:u.checkStrategy,allowNotLoaded:!1}).checkedKeys.map(function(e){var t=n(e);return null===t?{label:String(e),value:e}:{label:u.showPath?N(t,u.separator,u.labelField):t.rawNode[u.labelField],value:t.key}})}return[]}),V=t.computed(function(){if(!u.multiple){var e=k.value.getNode;if(null===s.value)return null;var t=null;if(u.emitPath&&Array.isArray(s.value)){if(0===s.value.length)return null;var n=s.value[s.value.length-1];t=Array.isArray(n)?null:n}else Array.isArray(s.value)||(t=s.value);if(null==t)return null;var l=e(t);return null===l?{label:String(t),value:t}:{label:u.showPath?N(l,u.separator,u.labelField):l.rawNode[u.labelField],value:l.key}}return null}),F=t.computed({get:function(){var e;return u.multiple?K.value.map(function(e){return e.label}):(null===(e=V.value)||void 0===e?void 0:e.label)||""},set:function(e){}});function L(e,t,n){s.value=e,o("update:modelValue",e),o("change",e,t,n)}function M(e){var t=k.value.getNode;return e.map(function(e){var n;return(null===(n=t(e))||void 0===n?void 0:n.rawNode)||null})}function j(e){var t=u.cascade,n=u.multiple,l=u.checkStrategy,a=u.emitPath,r=k.value,o=r.check,i=r.getNode,c=r.getPath;if(n){var d=o(e,b.value.checkedKeys,{cascade:t,checkStrategy:l,allowNotLoaded:!1}).checkedKeys;L(a?d.map(function(e){return c(e).keyPath}):d,M(d),d.map(function(e){var t;return C(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}else if("child"===l){var s=i(e);if(null==s||!s.isLeaf)return!1;var v=c(e);L(a?v.keyPath:e,s.rawNode,C(v.treeNodePath)),R()}else{var f=i(e),h=c(e);L(a?h.keyPath:e,(null==f?void 0:f.rawNode)||null,C(null==h?void 0:h.treeNodePath)),R()}return!0}function O(e){var t=u.cascade,n=u.multiple,l=u.checkStrategy,a=u.emitPath;if(n){var r=k.value,o=r.uncheck,i=r.getNode,c=r.getPath,d=o(e,b.value.checkedKeys,{cascade:t,checkStrategy:l,allowNotLoaded:!1}).checkedKeys;L(a?d.map(function(e){return c(e).keyPath}):d,d.map(function(e){var t;return(null===(t=i(e))||void 0===t?void 0:t.rawNode)||null}),d.map(function(e){var t;return C(null===(t=c(e))||void 0===t?void 0:t.treeNodePath)})),p.value=e,m.value=e}}function I(e){m.value=e}function $(e){p.value=e}function z(e){h.value.add(e)}function D(e){h.value.delete(e)}function T(){var e,t,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];(f.value=!1,v.value="",n)?null===(e=i.value)||void 0===e||e.focus():null===(t=i.value)||void 0===t||t.blur()}function H(){u.clearFilterAfterSelect&&(v.value="")}function R(){v.value="",setTimeout(function(){if(i.value&&void 0!==i.value.query){var e;i.value.query="";var t=null===(e=i.value.$el)||void 0===e?void 0:e.querySelector("input");t&&V.value&&(t.value=V.value.label)}},0)}function U(){y.value||f.value||(f.value=!0)}function X(e){f.value=e,e||(v.value="")}function G(){u.multiple?L([],[],[]):L(null,null,null)}function J(e){var t=K.value.find(function(t){return t.label===e});t&&O(t.value)}function Q(e){v.value=e}function W(e){o("focus",e)}function Y(e){o("blur",e)}function Z(e){o("focus",e)}function ee(e){o("blur",e)}function te(e){le(e)}function ne(e){e.preventDefault()}function le(e){if(f.value)switch(e.key){case"Enter":var t;if(q.value)null===(t=d.value)||void 0===t||t.enter();else if(null!==p.value)if(S.value.includes(p.value)||B.value.includes(p.value))O(p.value);else{var n=j(p.value);!u.multiple&&n&&T(!0)}break;case"ArrowUp":var l;if(e.preventDefault(),q.value)null===(l=d.value)||void 0===l||l.prev();else ae("prev");break;case"ArrowDown":var a;if(e.preventDefault(),q.value)null===(a=d.value)||void 0===a||a.next();else ae("next");break;case"ArrowLeft":e.preventDefault(),q.value||ae("parent");break;case"ArrowRight":e.preventDefault(),q.value||ae("child");break;case"Escape":T(!0)}}function ae(e){var t=p.value,n=k.value,l=n.getPrev,a=n.getNext,r=n.getChild,o=n.getParent,i=n.getFirstAvailableNode,c=n.getNode;switch(e){case"prev":if(null!==t){var d=l(t,{loop:!0});d&&$(d.key)}break;case"next":if(null===t){var s=i();s&&$(s.key)}else{var v=a(t,{loop:!0});v&&$(v.key)}break;case"child":if(null!==t){var f=c(t);if(null!=f&&f.shallowLoaded){var m=r(t);m&&(I(t),$(m.key))}else f&&!h.value.has(t)&&u.onLoad&&(z(t),I(t),u.onLoad(f.rawNode).then(function(){return D(t)}).catch(function(){return D(t)}))}break;case"parent":if(null!==t){var y=o(t);if(y){$(y.key);var b=o(y.key);I((null==b?void 0:b.key)||null)}}}}t.watch(function(){return u.modelValue},function(e){s.value=e}),t.watch(f,function(e){if(!e)return p.value=null,void(m.value=null);if(u.multiple)p.value=null,m.value=null;else{var t=null;if(u.emitPath&&Array.isArray(s.value)&&s.value.length>0){var n=s.value[s.value.length-1];t=Array.isArray(n)?null:n}else Array.isArray(s.value)||null===s.value||(t=s.value);if(null!==t){var l=k.value.getNode(t);if(l){var a=l.parent;a?(p.value=a.key,m.value=a.key):(p.value=t,m.value=t)}}else p.value=null,m.value=null}});var re=t.computed(function(){return{mergedValue:s.value,checkedKeys:S.value,indeterminateKeys:B.value,hoverKeyPath:x.value,keyboardKey:p.value,hoverKey:m.value,loadingKeySet:h.value,multiple:u.multiple,cascade:u.cascade,checkStrategy:u.checkStrategy,expandTrigger:u.expandTrigger,remote:u.remote,showCheckbox:E.value,labelField:u.labelField,valueField:u.valueField,childrenField:u.childrenField,disabledField:u.disabledField,onLoad:u.onLoad,updateHoverKey:I,updateKeyboardKey:$,addLoadingKey:z,deleteLoadingKey:D,doCheck:j,doUncheck:O,closeMenu:T,clearPattern:H}});return t.provide("cascaderContext",re),a({focus:function(){var e;null===(e=i.value)||void 0===e||e.focus()},blur:function(){var e;null===(e=i.value)||void 0===e||e.blur()},getCheckedData:function(){return E.value?{keys:S.value,options:M(S.value)}:{keys:[],options:[]}},getIndeterminateData:function(){return E.value?{keys:B.value,options:M(B.value)}:{keys:[],options:[]}}}),function(l,a){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["base-cascader",{"is-disabled":y.value}])},[t.createVNode(t.unref(n.ElSelect),{ref_key:"selectRef",ref:i,modelValue:F.value,"onUpdate:modelValue":a[0]||(a[0]=function(e){return F.value=e}),placeholder:e.placeholder,disabled:y.value,clearable:e.clearable,filterable:e.filterable,multiple:e.multiple,size:e.size,"collapse-tags":e.multiple,"collapse-tags-tooltip":e.multiple,"max-collapse-tags":e.maxTagCount,"filter-method":Q,"popper-class":"base-cascader-popper ".concat(e.popperClass||""),"automatic-dropdown":"",onVisibleChange:X,onClear:G,onRemoveTag:J,onFocus:W,onBlur:Y,onKeydown:le,onClick:U},{empty:t.withCtx(function(){return[t.createElementVNode("div",A,[q.value?(t.openBlock(),t.createBlock(P,{key:0,ref_key:"selectMenuRef",ref:d,show:f.value&&q.value,pattern:v.value,multiple:e.multiple,"tm-nodes":k.value.treeNodes,filter:e.filter,"label-field":e.labelField,separator:e.separator,value:s.value,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},t.createSlots({_:2},[l.$slots["not-found"]?{name:"not-found",fn:t.withCtx(function(){return[t.renderSlot(l.$slots,"not-found")]}),key:"0"}:void 0]),1032,["show","pattern","multiple","tm-nodes","filter","label-field","separator","value","virtual-scroll","option-height"])):(t.openBlock(),t.createBlock(g,{key:1,ref_key:"cascaderMenuRef",ref:c,show:f.value&&!q.value,"menu-model":_.value,"get-column-style":e.getColumnStyle,"on-focus":Z,"on-blur":ee,"on-keydown":te,"on-mousedown":ne,"virtual-scroll":e.virtualScroll,"option-height":e.optionHeight},t.createSlots({_:2},[l.$slots.label?{name:"label",fn:t.withCtx(function(e){var n=e.option,a=e.checked;return[t.renderSlot(l.$slots,"label",{option:n,checked:a})]}),key:"0"}:void 0,l.$slots.empty?{name:"empty",fn:t.withCtx(function(){return[t.renderSlot(l.$slots,"empty")]}),key:"1"}:void 0,l.$slots.action?{name:"action",fn:t.withCtx(function(){return[t.renderSlot(l.$slots,"action")]}),key:"2"}:void 0]),1032,["show","menu-model","get-column-style","virtual-scroll","option-height"]))])]}),_:3},8,["modelValue","placeholder","disabled","clearable","filterable","multiple","size","collapse-tags","collapse-tags-tooltip","max-collapse-tags","popper-class"])],2)}}}));V.__scopeId="data-v-243e9ed1",V.__file="packages/components/src/cascader/index.vue";var F=V;F.install=function(e){V.name&&e.component(V.name,V)};var L={XnCascader:F},M={install:function(e){Object.values(L).forEach(function(t){t.name&&e.component(t.name,t)})}};e.XnCascader=F,e.components=L,e.default=M,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Plugin } from 'vue';
|
|
2
|
-
import CascaderComponent from './index.vue';
|
|
3
2
|
import type { CascaderInst } from './types';
|
|
3
|
+
import CascaderComponent from './index.vue';
|
|
4
4
|
declare const Cascader: typeof CascaderComponent & Plugin;
|
|
5
5
|
export default Cascader;
|
|
6
6
|
export type { CascaderInst as XnCascaderInstance };
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Plugin } from 'vue';
|
|
2
|
-
import Cascader from './cascader/index';
|
|
3
2
|
import type { Component } from 'vue';
|
|
4
|
-
|
|
3
|
+
import XnCascader from './cascader/index';
|
|
4
|
+
export { XnCascader };
|
|
5
5
|
export declare const components: Record<string, Component>;
|
|
6
6
|
export type { CascaderProps } from './cascader/props';
|
|
7
7
|
export type { CascaderOption, CascaderValue, CascaderInst, ExpandTrigger, CheckStrategy, Filter, OnLoad, ValueAtom, Key, TreeNode, OnUpdateValue } from './cascader/types';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"private": false,
|
|
3
3
|
"name": "@xn-lib/component",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.17",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "./dist/index.umd.js",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"vueuc": "0.4.65",
|
|
45
|
-
"@xn-lib/base": "
|
|
46
|
-
"@xn-lib/core": "
|
|
45
|
+
"@xn-lib/base": "^0.0.16",
|
|
46
|
+
"@xn-lib/core": "^0.0.16"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"element-plus": ">=2.4.0",
|
|
50
50
|
"vue": ">3.2.0"
|
|
51
51
|
}
|
|
52
|
-
}
|
|
52
|
+
}
|