@xn-lib/component 0.0.13 → 0.0.15
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/README.md +77 -61
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +9 -81
- package/dist/index.iife.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/types/cascader/CascaderMenu.vue.d.ts +45 -0
- package/dist/types/cascader/CascaderOption.vue.d.ts +20 -0
- package/dist/types/cascader/CascaderSelectMenu.vue.d.ts +38 -0
- package/dist/types/cascader/index.d.ts +6 -0
- package/dist/types/cascader/index.vue.d.ts +90 -0
- package/dist/types/cascader/props.d.ts +119 -0
- package/dist/types/cascader/types.d.ts +69 -0
- package/dist/types/cascader/utils.d.ts +53 -0
- package/dist/types/index.d.ts +9 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,45 +1,81 @@
|
|
|
1
1
|
# @xn-lib/component
|
|
2
2
|
|
|
3
|
-
Vue 3
|
|
3
|
+
基于 Element Plus 的 Vue 3 企业级组件库,提供完整的 TypeScript 类型支持。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@xn-lib/component)
|
|
6
|
+
[](https://github.com/zjwmmx/mmx-ui/blob/master/LICENSE)
|
|
7
|
+
|
|
8
|
+
## ✨ 特性
|
|
9
|
+
|
|
10
|
+
- 🎯 **TypeScript 支持** - 完整的类型定义,自动生成类型声明
|
|
11
|
+
- 🧩 **企业级组件** - 基于 Element Plus 二次封装
|
|
12
|
+
- ⚡️ **Vue 3 + Vite** - 现代化开发体验
|
|
13
|
+
- 📦 **按需引入** - 支持全量和按需引入
|
|
14
|
+
- 🎨 **主题定制** - 基于 Element Plus 主题系统
|
|
15
|
+
|
|
16
|
+
## 📦 安装
|
|
6
17
|
|
|
7
18
|
```bash
|
|
8
|
-
npm
|
|
9
|
-
|
|
10
|
-
|
|
19
|
+
# npm
|
|
20
|
+
npm install @xn-lib/component element-plus
|
|
21
|
+
|
|
22
|
+
# pnpm
|
|
23
|
+
pnpm add @xn-lib/component element-plus
|
|
24
|
+
|
|
25
|
+
# yarn
|
|
26
|
+
yarn add @xn-lib/component element-plus
|
|
11
27
|
```
|
|
12
28
|
|
|
13
|
-
## 使用
|
|
29
|
+
## 🔨 使用
|
|
14
30
|
|
|
15
|
-
###
|
|
31
|
+
### 完整引入
|
|
16
32
|
|
|
17
33
|
```typescript
|
|
18
34
|
import { createApp } from 'vue'
|
|
35
|
+
import ElementPlus from 'element-plus'
|
|
36
|
+
import 'element-plus/dist/index.css'
|
|
19
37
|
import XnComponents from '@xn-lib/component'
|
|
20
38
|
import '@xn-lib/component/dist/index.css'
|
|
21
39
|
|
|
22
40
|
const app = createApp(App)
|
|
41
|
+
app.use(ElementPlus)
|
|
23
42
|
app.use(XnComponents)
|
|
24
43
|
app.mount('#app')
|
|
25
44
|
```
|
|
26
45
|
|
|
27
46
|
### 按需引入
|
|
28
47
|
|
|
29
|
-
```
|
|
30
|
-
|
|
48
|
+
```vue
|
|
49
|
+
<template>
|
|
50
|
+
<xn-cascader
|
|
51
|
+
v-model="value"
|
|
52
|
+
:options="options"
|
|
53
|
+
placeholder="请选择"
|
|
54
|
+
/>
|
|
55
|
+
</template>
|
|
56
|
+
|
|
57
|
+
<script setup lang="ts">
|
|
58
|
+
import { ref } from 'vue'
|
|
59
|
+
import { Cascader as XnCascader } from '@xn-lib/component'
|
|
31
60
|
import '@xn-lib/component/dist/index.css'
|
|
61
|
+
import type { CascaderOption } from '@xn-lib/component'
|
|
32
62
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
63
|
+
const value = ref(null)
|
|
64
|
+
const options = ref<CascaderOption[]>([
|
|
65
|
+
{
|
|
66
|
+
label: '选项1',
|
|
67
|
+
value: '1',
|
|
68
|
+
children: [
|
|
69
|
+
{ label: '子选项1-1', value: '1-1' }
|
|
70
|
+
]
|
|
36
71
|
}
|
|
37
|
-
|
|
72
|
+
])
|
|
73
|
+
</script>
|
|
38
74
|
```
|
|
39
75
|
|
|
40
|
-
|
|
76
|
+
## 📝 TypeScript 支持
|
|
41
77
|
|
|
42
|
-
|
|
78
|
+
组件库使用 `vue-tsc` 自动生成类型声明,提供完整的类型支持:
|
|
43
79
|
|
|
44
80
|
- ✅ 组件标签自动提示
|
|
45
81
|
- ✅ Props 属性自动提示
|
|
@@ -48,17 +84,21 @@ export default {
|
|
|
48
84
|
- ✅ 实例方法类型提示
|
|
49
85
|
|
|
50
86
|
```typescript
|
|
51
|
-
import
|
|
52
|
-
|
|
53
|
-
|
|
87
|
+
import type {
|
|
88
|
+
CascaderProps,
|
|
89
|
+
CascaderOption,
|
|
90
|
+
CascaderValue,
|
|
91
|
+
CascaderInst
|
|
92
|
+
} from '@xn-lib/component'
|
|
93
|
+
|
|
94
|
+
// Props 类型
|
|
54
95
|
const props: CascaderProps = {
|
|
55
96
|
modelValue: null,
|
|
56
97
|
options: [],
|
|
57
|
-
multiple: false
|
|
58
|
-
size: 'default'
|
|
98
|
+
multiple: false
|
|
59
99
|
}
|
|
60
100
|
|
|
61
|
-
// Option
|
|
101
|
+
// Option 类型
|
|
62
102
|
const options: CascaderOption[] = [
|
|
63
103
|
{
|
|
64
104
|
label: '选项1',
|
|
@@ -66,55 +106,31 @@ const options: CascaderOption[] = [
|
|
|
66
106
|
children: []
|
|
67
107
|
}
|
|
68
108
|
]
|
|
109
|
+
|
|
110
|
+
// 实例类型
|
|
111
|
+
import { ref } from 'vue'
|
|
112
|
+
const cascaderRef = ref<CascaderInst>()
|
|
113
|
+
cascaderRef.value?.focus()
|
|
69
114
|
```
|
|
70
115
|
|
|
71
|
-
## 组件列表
|
|
116
|
+
## 📚 组件列表
|
|
72
117
|
|
|
73
118
|
### Cascader 级联选择器
|
|
74
119
|
|
|
75
|
-
|
|
120
|
+
支持单选、多选、搜索、远程加载、虚拟滚动等功能。
|
|
76
121
|
|
|
77
|
-
|
|
78
|
-
<template>
|
|
79
|
-
<Cascader
|
|
80
|
-
v-model="value"
|
|
81
|
-
:options="options"
|
|
82
|
-
placeholder="请选择"
|
|
83
|
-
:multiple="false"
|
|
84
|
-
:filterable="true"
|
|
85
|
-
/>
|
|
86
|
-
</template>
|
|
122
|
+
[查看文档](https://zjwmmx.github.io/mmx-ui/components/cascader)
|
|
87
123
|
|
|
88
|
-
|
|
89
|
-
import { ref } from 'vue'
|
|
90
|
-
import { Cascader, type CascaderOption } from '@xn-lib/component'
|
|
124
|
+
## 🔗 链接
|
|
91
125
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
label: '选项1',
|
|
96
|
-
value: '1',
|
|
97
|
-
children: [
|
|
98
|
-
{ label: '子选项1-1', value: '1-1' }
|
|
99
|
-
]
|
|
100
|
-
}
|
|
101
|
-
])
|
|
102
|
-
</script>
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## 开发
|
|
126
|
+
- [文档](https://zjwmmx.github.io/mmx-ui/)
|
|
127
|
+
- [GitHub](https://github.com/zjwmmx/mmx-ui)
|
|
128
|
+
- [更新日志](https://github.com/zjwmmx/mmx-ui/releases)
|
|
106
129
|
|
|
107
|
-
|
|
108
|
-
# 安装依赖
|
|
109
|
-
pnpm install
|
|
110
|
-
|
|
111
|
-
# 构建
|
|
112
|
-
pnpm build
|
|
130
|
+
## 🤝 贡献
|
|
113
131
|
|
|
114
|
-
|
|
115
|
-
pnpm dev:docs
|
|
116
|
-
```
|
|
132
|
+
欢迎提交 Issue 和 Pull Request!
|
|
117
133
|
|
|
118
|
-
## License
|
|
134
|
+
## 📄 License
|
|
119
135
|
|
|
120
|
-
MIT
|
|
136
|
+
[MIT](https://github.com/zjwmmx/mmx-ui/blob/master/LICENSE)
|
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)}),h=e.computed(function(){return!!a.value.multiple&&a.value.indeterminateKeys.includes(u.value)}),m=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||m.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?h.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":m.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:h.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"},h={key:0,class:"base-cascader-submenu__list"},m={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",h,[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",m,[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 h(e){return i.multiple&&Array.isArray(i.value)?i.value.includes(e):i.value===e}function m(e){var t=c.value;i.multiple?h(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 m(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":h(l.value),"is-hover":s.value===l.value}]),onClick:function(e){return m(l)},onMouseenter:function(e){return s.value=l.value}},[r.multiple?(e.openBlock(),e.createBlock(e.unref(t.ElCheckbox),{key:0,"model-value":h(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&&h(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":h(a.value),"is-hover":s.value===a.value}]),onClick:function(e){return m(a)},onMouseenter:function(e){return s.value=a.value}},[r.multiple?(e.openBlock(),e.createBlock(e.unref(t.ElCheckbox),{key:0,"model-value":h(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&&h(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),h=e.ref(null),m=e.ref(new Set),y=e.computed(function(){return u.disabled});e.computed(function(){return m.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(h.value),l=t.treeNodePath,n=t.treeNode;return null===n?e=[k.value.treeNodes]:(e=l.map(function(e){return e.siblings}),n.isLeaf||m.value.has(n.key)||!n.children||e.push(n.children)),e}),x=e.computed(function(){return k.value.getPath(h.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,h.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),m=c(e);V(r?m.keyPath:e,(null==f?void 0:f.rawNode)||null,w(null==m?void 0:m.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,h.value=e}}function $(e){h.value=e}function z(e){p.value=e}function D(e){m.value.add(e)}function I(e){m.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 h=a(t);h&&($(t),z(h.key))}else f&&!m.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(h.value=null);if(u.multiple)p.value=null,h.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,h.value=r.key):(p.value=t,h.value=t)}}else p.value=null,h.value=null}});var ae=e.computed(function(){return{mergedValue:s.value,checkedKeys:S.value,indeterminateKeys:B.value,hoverKeyPath:x.value,keyboardKey:p.value,hoverKey:h.value,loadingKeySet:m.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={Cascader:A},L={install:function(e){Object.values(F).forEach(function(t){t.name&&e.component(t.name,t)})}};exports.Cascader=A,exports.components=F,exports.default=L;
|
|
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;
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.base-cascader-option[data-v-248f99f8]{align-items:center;box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:14px;height:34px;line-height:34px;padding:0 12px;position:relative;transition:background-color .3s;width:100%}.base-cascader-option.is-hover[data-v-248f99f8],.base-cascader-option[data-v-248f99f8]:hover{background-color:var(--el-fill-color-light)}.base-cascader-option.is-active[data-v-248f99f8]{color:var(--el-color-primary);font-weight:600}.base-cascader-option.is-disabled[data-v-248f99f8]{background-color:transparent;color:var(--el-text-color-disabled);cursor:not-allowed}.base-cascader-option.is-disabled[data-v-248f99f8]:hover{background-color:transparent}.base-cascader-option.has-checkbox[data-v-248f99f8]{padding-left:8px}.base-cascader-option__checkbox[data-v-248f99f8]{flex-shrink:0;margin-right:8px;pointer-events:auto}.base-cascader-option__label[data-v-248f99f8]{flex:1;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.base-cascader-option__suffix[data-v-248f99f8]{align-items:center;color:var(--el-text-color-placeholder);display:flex;flex-shrink:0;margin-left:8px}.base-cascader-option__suffix .arrow-icon[data-v-248f99f8]{font-size:12px}.base-cascader-option__suffix .check-icon[data-v-248f99f8]{color:var(--el-color-primary);font-size:14px}.base-cascader-option__suffix .is-loading[data-v-248f99f8]{animation:rotating-248f99f8 2s linear infinite}@keyframes rotating-248f99f8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.base-cascader-menu[data-v-097326a4]{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);max-height:280px;outline:none;overflow:hidden}.base-cascader-menu__wrapper[data-v-097326a4]{display:flex;height:100%}.base-cascader-menu__empty[data-v-097326a4]{color:var(--el-text-color-secondary);min-width:180px;text-align:center}.base-cascader-menu__action[data-v-097326a4]{border-top:1px solid var(--el-border-color-lighter);padding:8px}@keyframes rotating-097326a4{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.is-loading[data-v-097326a4]{animation:rotating-097326a4 2s linear infinite}.base-cascader-submenu[data-v-097326a4]{border-right:1px solid var(--el-border-color-lighter);flex-shrink:0;height:280px;max-width:180px;min-width:180px;overflow:hidden;width:180px}.base-cascader-submenu[data-v-097326a4]:last-child{border-right:none}.base-cascader-submenu__list [data-v-097326a4] .el-scrollbar,.base-cascader-submenu__list[data-v-097326a4]{height:100%;width:100%}.base-cascader-submenu__list [data-v-097326a4] .el-scrollbar__wrap{overflow-x:hidden}.base-cascader-submenu__list [data-v-097326a4] .el-scrollbar__view{box-sizing:border-box;padding:6px 0;width:100%}.base-cascader-submenu__list--virtual [data-v-097326a4] .el-scrollbar{height:100%;width:100%}.base-cascader-submenu__list--virtual [data-v-097326a4] .el-scrollbar__wrap{overflow-x:hidden}.base-cascader-submenu__list--virtual [data-v-097326a4] .el-scrollbar__view{width:100%}.base-cascader-select-menu[data-v-3901f6ec]{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);min-width:200px;padding:6px 0}.base-cascader-select-menu__empty[data-v-3901f6ec]{text-align:center}.base-cascader-select-menu__virtual[data-v-3901f6ec]{overflow:hidden}.base-cascader-select-option[data-v-3901f6ec]{align-items:center;box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:14px;height:34px;line-height:34px;padding:0 12px;transition:background-color .3s;width:100%}.base-cascader-select-option.is-hover[data-v-3901f6ec],.base-cascader-select-option[data-v-3901f6ec]:hover{background-color:var(--el-fill-color-light)}.base-cascader-select-option.is-selected[data-v-3901f6ec]{color:var(--el-color-primary);font-weight:600}.base-cascader-select-option__checkbox[data-v-3901f6ec]{flex-shrink:0;margin-right:8px}.base-cascader-select-option__label[data-v-3901f6ec]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-cascader-select-option .check-icon[data-v-3901f6ec]{color:var(--el-color-primary);flex-shrink:0;font-size:14px;margin-left:8px}.base-cascader[data-v-243e9ed1]{width:100%}.base-cascader.is-disabled[data-v-243e9ed1]{cursor:not-allowed}.base-cascader [data-v-243e9ed1] .el-select{width:100%}.base-cascader [data-v-243e9ed1] .el-select__tags{flex-wrap:nowrap}.base-cascader-dropdown[data-v-243e9ed1]{padding:0}.base-cascader-popper{min-width:auto!important;width:auto!important}.base-cascader-popper .el-select-dropdown__empty,.base-cascader-popper .el-select-dropdown__list{padding:0!important}
|
|
1
|
+
.base-cascader-option[data-v-248f99f8]{align-items:center;box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:14px;height:34px;line-height:34px;padding:0 12px;position:relative;transition:background-color .3s;width:100%}.base-cascader-option.is-hover[data-v-248f99f8],.base-cascader-option[data-v-248f99f8]:hover{background-color:var(--el-fill-color-light)}.base-cascader-option.is-active[data-v-248f99f8]{color:var(--el-color-primary);font-weight:600}.base-cascader-option.is-disabled[data-v-248f99f8]{background-color:transparent;color:var(--el-text-color-disabled);cursor:not-allowed}.base-cascader-option.is-disabled[data-v-248f99f8]:hover{background-color:transparent}.base-cascader-option.has-checkbox[data-v-248f99f8]{padding-left:8px}.base-cascader-option__checkbox[data-v-248f99f8]{flex-shrink:0;margin-right:8px;pointer-events:auto}.base-cascader-option__label[data-v-248f99f8]{flex:1;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.base-cascader-option__suffix[data-v-248f99f8]{align-items:center;color:var(--el-text-color-placeholder);display:flex;flex-shrink:0;margin-left:8px}.base-cascader-option__suffix .arrow-icon[data-v-248f99f8]{font-size:12px}.base-cascader-option__suffix .check-icon[data-v-248f99f8]{color:var(--el-color-primary);font-size:14px}.base-cascader-option__suffix .is-loading[data-v-248f99f8]{animation:rotating-248f99f8 2s linear infinite}@keyframes rotating-248f99f8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.base-cascader-menu[data-v-097326a4]{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);max-height:280px;outline:none;overflow:hidden}.base-cascader-menu__wrapper[data-v-097326a4]{display:flex;height:100%}.base-cascader-menu__empty[data-v-097326a4]{color:var(--el-text-color-secondary);min-width:180px;text-align:center}.base-cascader-menu__action[data-v-097326a4]{border-top:1px solid var(--el-border-color-lighter);padding:8px}@keyframes rotating-097326a4{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.is-loading[data-v-097326a4]{animation:rotating-097326a4 2s linear infinite}.base-cascader-submenu[data-v-097326a4]{border-right:1px solid var(--el-border-color-lighter);flex-shrink:0;height:280px;max-width:180px;min-width:180px;overflow:hidden;width:180px}.base-cascader-submenu[data-v-097326a4]:last-child{border-right:none}.base-cascader-submenu__list [data-v-097326a4] .el-scrollbar,.base-cascader-submenu__list[data-v-097326a4]{height:100%;width:100%}.base-cascader-submenu__list [data-v-097326a4] .el-scrollbar__wrap{overflow-x:hidden}.base-cascader-submenu__list [data-v-097326a4] .el-scrollbar__view{box-sizing:border-box;padding:6px 0;width:100%}.base-cascader-submenu__list--virtual[data-v-097326a4]{padding:6px 0}.base-cascader-submenu__list--virtual [data-v-097326a4] .el-scrollbar{height:100%;width:100%}.base-cascader-submenu__list--virtual [data-v-097326a4] .el-scrollbar__wrap{overflow-x:hidden}.base-cascader-submenu__list--virtual [data-v-097326a4] .el-scrollbar__view{width:100%}.base-cascader-select-menu[data-v-3901f6ec]{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);min-width:200px;padding:6px 0}.base-cascader-select-menu__empty[data-v-3901f6ec]{text-align:center}.base-cascader-select-menu__virtual[data-v-3901f6ec]{overflow:hidden}.base-cascader-select-option[data-v-3901f6ec]{align-items:center;box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:14px;height:34px;line-height:34px;padding:0 12px;transition:background-color .3s;width:100%}.base-cascader-select-option.is-hover[data-v-3901f6ec],.base-cascader-select-option[data-v-3901f6ec]:hover{background-color:var(--el-fill-color-light)}.base-cascader-select-option.is-selected[data-v-3901f6ec]{color:var(--el-color-primary);font-weight:600}.base-cascader-select-option__checkbox[data-v-3901f6ec]{flex-shrink:0;margin-right:8px}.base-cascader-select-option__label[data-v-3901f6ec]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-cascader-select-option .check-icon[data-v-3901f6ec]{color:var(--el-color-primary);flex-shrink:0;font-size:14px;margin-left:8px}.base-cascader[data-v-243e9ed1]{width:100%}.base-cascader.is-disabled[data-v-243e9ed1]{cursor:not-allowed}.base-cascader [data-v-243e9ed1] .el-select{width:100%}.base-cascader [data-v-243e9ed1] .el-select__tags{flex-wrap:nowrap}.base-cascader-dropdown[data-v-243e9ed1]{padding:0}.base-cascader-popper{min-width:auto!important;width:auto!important}.base-cascader-popper .el-select-dropdown__empty,.base-cascader-popper .el-select-dropdown__list{padding:0!important}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,81 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare const
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
Cascader: typeof Cascader
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
// Cascader Props 类型
|
|
14
|
-
export interface CascaderProps {
|
|
15
|
-
modelValue?: any
|
|
16
|
-
options?: any[]
|
|
17
|
-
placeholder?: string
|
|
18
|
-
disabled?: boolean
|
|
19
|
-
clearable?: boolean
|
|
20
|
-
filterable?: boolean
|
|
21
|
-
multiple?: boolean
|
|
22
|
-
size?: 'large' | 'default' | 'small'
|
|
23
|
-
expandTrigger?: 'hover' | 'click'
|
|
24
|
-
separator?: string
|
|
25
|
-
showPath?: boolean
|
|
26
|
-
cascade?: boolean
|
|
27
|
-
checkStrategy?: 'all' | 'parent' | 'child'
|
|
28
|
-
remote?: boolean
|
|
29
|
-
onLoad?: (option: any) => Promise<void>
|
|
30
|
-
filter?: (pattern: string, option: any, path: any[]) => boolean
|
|
31
|
-
valueField?: string
|
|
32
|
-
labelField?: string
|
|
33
|
-
childrenField?: string
|
|
34
|
-
disabledField?: string
|
|
35
|
-
maxTagCount?: number
|
|
36
|
-
popperClass?: string
|
|
37
|
-
getColumnStyle?: (detail: { level: number }) => string | Record<string, any>
|
|
38
|
-
clearFilterAfterSelect?: boolean
|
|
39
|
-
virtualScroll?: boolean
|
|
40
|
-
optionHeight?: number
|
|
41
|
-
showCheckbox?: boolean
|
|
42
|
-
emitPath?: boolean
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Cascader 相关类型
|
|
46
|
-
export type ValueAtom = string | number
|
|
47
|
-
export type CascaderValue = ValueAtom | ValueAtom[] | ValueAtom[][]
|
|
48
|
-
export type Key = ValueAtom
|
|
49
|
-
|
|
50
|
-
export interface CascaderOption {
|
|
51
|
-
label?: string
|
|
52
|
-
value?: ValueAtom
|
|
53
|
-
disabled?: boolean
|
|
54
|
-
children?: CascaderOption[]
|
|
55
|
-
[key: string]: unknown
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export type ExpandTrigger = 'hover' | 'click'
|
|
59
|
-
export type CheckStrategy = 'all' | 'parent' | 'child'
|
|
60
|
-
|
|
61
|
-
export type Filter = (
|
|
62
|
-
pattern: string,
|
|
63
|
-
option: CascaderOption,
|
|
64
|
-
path: CascaderOption[]
|
|
65
|
-
) => boolean
|
|
66
|
-
|
|
67
|
-
export type OnLoad = (option: CascaderOption) => Promise<void>
|
|
68
|
-
|
|
69
|
-
export interface CascaderInst {
|
|
70
|
-
focus: () => void
|
|
71
|
-
blur: () => void
|
|
72
|
-
getCheckedData: () => { keys: Key[], options: Array<CascaderOption | null> }
|
|
73
|
-
getIndeterminateData: () => {
|
|
74
|
-
keys: Key[]
|
|
75
|
-
options: Array<CascaderOption | null>
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// 默认导出插件
|
|
80
|
-
declare const plugin: Plugin
|
|
81
|
-
export default plugin
|
|
1
|
+
import type { Plugin } from 'vue';
|
|
2
|
+
import Cascader from './types/cascader/index';
|
|
3
|
+
import type { Component } from 'vue';
|
|
4
|
+
export { Cascader };
|
|
5
|
+
export declare const components: Record<string, Component>;
|
|
6
|
+
export type { CascaderProps } from './types/cascader/props';
|
|
7
|
+
export type { CascaderOption, CascaderValue, CascaderInst, ExpandTrigger, CheckStrategy, Filter, OnLoad, ValueAtom, Key, TreeNode, OnUpdateValue } from './types/cascader/types';
|
|
8
|
+
declare const plugin: Plugin;
|
|
9
|
+
export default plugin;
|
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)}),h=t.computed(function(){return!!r.value.multiple&&r.value.indeterminateKeys.includes(u.value)}),m=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||m.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?h.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":m.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:h.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 h={key:0,class:"base-cascader-menu__wrapper"},m={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",h,[(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",m,[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 h(e){return i.multiple&&Array.isArray(i.value)?i.value.includes(e):i.value===e}function m(e){var t=c.value;i.multiple?h(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 m(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":h(n.value),"is-hover":s.value===n.value}]),onClick:function(e){return m(n)},onMouseenter:function(e){return s.value=n.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":h(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&&h(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":h(r.value),"is-hover":s.value===r.value}]),onClick:function(e){return m(r)},onMouseenter:function(e){return s.value=r.value}},[e.multiple?(t.openBlock(),t.createBlock(t.unref(l.ElCheckbox),{key:0,"model-value":h(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&&h(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),h=t.ref(null),m=t.ref(new Set),y=t.computed(function(){return u.disabled});t.computed(function(){return m.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(h.value),l=t.treeNodePath,n=t.treeNode;return null===n?e=[k.value.treeNodes]:(e=l.map(function(e){return e.siblings}),n.isLeaf||m.value.has(n.key)||!n.children||e.push(n.children)),e}),x=t.computed(function(){return k.value.getPath(h.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,h.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),m=c(e);L(a?m.keyPath:e,(null==f?void 0:f.rawNode)||null,C(null==m?void 0:m.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,h.value=e}}function I(e){h.value=e}function $(e){p.value=e}function z(e){m.value.add(e)}function D(e){m.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 h=r(t);h&&(I(t),$(h.key))}else f&&!m.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(h.value=null);if(u.multiple)p.value=null,h.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,h.value=a.key):(p.value=t,h.value=t)}}else p.value=null,h.value=null}});var re=t.computed(function(){return{mergedValue:s.value,checkedKeys:S.value,indeterminateKeys:B.value,hoverKeyPath:x.value,keyboardKey:p.value,hoverKey:h.value,loadingKeySet:m.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={Cascader:V},L={install:function(e){Object.values(F).forEach(function(t){t.name&&e.component(t.name,t)})}};e.Cascader=V,e.components=F,e.default=L,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 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);
|