fast-element-plus 1.0.0-alpha.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +3180 -4581
- package/dist/index.full.js.map +1 -1
- package/dist/index.full.min.js +5 -5
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +5 -5
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +3180 -4581
- package/dist/index.full.mjs.map +1 -1
- package/dist/styles/index.css +2 -2
- package/es/components/avatar/index.d.ts +1 -1
- package/es/components/avatar/index.mjs.map +1 -1
- package/es/components/avatar/src/avatar.d.ts +18 -102
- package/es/components/avatar/src/avatar.mjs +1 -2
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/button/index.d.ts +1 -1
- package/es/components/button/index.mjs.map +1 -1
- package/es/components/button/src/button.d.ts +35 -180
- package/es/components/button/src/button.mjs +14 -4
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/carNumber/src/carNumber.d.ts +58 -194
- package/es/components/contextMenu/src/contextMenu.mjs +1 -1
- package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
- package/es/components/dialog/src/dialog.d.ts +45 -297
- package/es/components/drawer/src/drawer.d.ts +72 -450
- package/es/components/form/src/form.d.ts +28 -133
- package/es/components/form/src/formItem.d.ts +32 -137
- package/es/components/iconSelector/src/iconSelector.mjs +2 -2
- package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
- package/es/components/image/src/image.d.ts +43 -253
- package/es/components/select/src/select.d.ts +25 -81
- package/es/components/select/src/select.mjs +1 -0
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/selectPage/src/selectPage.d.ts +19 -61
- package/es/components/selectV2/src/selectV2.d.ts +25 -81
- package/es/components/selectV2/src/selectV2.mjs +1 -0
- package/es/components/selectV2/src/selectV2.mjs.map +1 -1
- package/es/components/table/src/table.d.ts +5 -12
- package/es/components/table/src/table.mjs +4 -6
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.state.d.ts +1 -1
- package/es/components/table/src/table.type.d.ts +4 -1
- package/es/components/table/src/table.type.mjs.map +1 -1
- package/es/components/table/src/tableColumn.d.ts +1 -1
- package/es/components/table/src/tableColumn.mjs +7 -7
- package/es/components/table/src/tableColumn.mjs.map +1 -1
- package/es/components/table/src/tableSearchForm.d.ts +6 -4
- package/es/components/table/src/tableSearchForm.mjs +2 -2
- package/es/components/table/src/tableSearchForm.mjs.map +1 -1
- package/es/components/table/src/useTable.mjs +3 -3
- package/es/components/table/src/useTable.mjs.map +1 -1
- package/es/components/tree/src/tree.d.ts +23 -653
- package/es/components/tree/src/tree.mjs +1 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree/src/tree.type.d.ts +1 -1
- package/es/components/treeSelect/src/treeSelect.d.ts +20 -62
- package/es/components/treeSelect/src/treeSelect.mjs +1 -0
- package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +298 -460
- package/es/components/upload/src/useUpload.mjs +2 -2
- package/es/components/upload/src/useUpload.mjs.map +1 -1
- package/es/components/uploadImage/src/uploadImage.d.ts +295 -394
- package/es/components/uploadImage/src/uploadImage.mjs +1 -1
- package/es/components/uploadImage/src/uploadImage.mjs.map +1 -1
- package/es/components/uploadImages/src/uploadImages.d.ts +300 -420
- package/es/components/uploadImages/src/uploadImages.mjs +4 -4
- package/es/components/uploadImages/src/uploadImages.mjs.map +1 -1
- package/es/constants/regex.mjs +13 -13
- package/es/constants/regex.mjs.map +1 -1
- package/es/directive.d.ts +1 -1
- package/es/directives/click-copy/index.d.ts +1 -1
- package/es/directives/click-debounce/index.d.ts +1 -1
- package/es/directives/click-draggable/index.d.ts +1 -1
- package/es/directives/click-icon-copy/index.d.ts +1 -1
- package/es/directives/click-longpress/index.d.ts +1 -1
- package/es/directives/click-throttle/index.d.ts +1 -1
- package/es/element-plus.mjs +1 -1
- package/es/element-plus.mjs.map +1 -1
- package/es/make-installer.mjs +4 -0
- package/es/make-installer.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/avatar/index.d.ts +1 -1
- package/lib/components/avatar/index.js.map +1 -1
- package/lib/components/avatar/src/avatar.d.ts +18 -102
- package/lib/components/avatar/src/avatar.js +1 -1
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/button/index.d.ts +1 -1
- package/lib/components/button/index.js.map +1 -1
- package/lib/components/button/src/button.d.ts +35 -180
- package/lib/components/button/src/button.js +1 -1
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/carNumber/src/carNumber.d.ts +58 -194
- package/lib/components/contextMenu/src/contextMenu.js +1 -1
- package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
- package/lib/components/dialog/src/dialog.d.ts +45 -297
- package/lib/components/drawer/src/drawer.d.ts +72 -450
- package/lib/components/form/src/form.d.ts +28 -133
- package/lib/components/form/src/formItem.d.ts +32 -137
- package/lib/components/image/src/image.d.ts +43 -253
- package/lib/components/select/src/select.d.ts +25 -81
- package/lib/components/select/src/select.js +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/selectPage/src/selectPage.d.ts +19 -61
- package/lib/components/selectV2/src/selectV2.d.ts +25 -81
- package/lib/components/selectV2/src/selectV2.js +1 -1
- package/lib/components/selectV2/src/selectV2.js.map +1 -1
- package/lib/components/table/src/table.d.ts +5 -12
- package/lib/components/table/src/table.js +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.state.d.ts +1 -1
- package/lib/components/table/src/table.type.d.ts +4 -1
- package/lib/components/table/src/table.type.js.map +1 -1
- package/lib/components/table/src/tableColumn.d.ts +1 -1
- package/lib/components/table/src/tableColumn.js +1 -1
- package/lib/components/table/src/tableColumn.js.map +1 -1
- package/lib/components/table/src/tableSearchForm.d.ts +6 -4
- package/lib/components/table/src/tableSearchForm.js +1 -1
- package/lib/components/table/src/tableSearchForm.js.map +1 -1
- package/lib/components/table/src/useTable.js +1 -1
- package/lib/components/table/src/useTable.js.map +1 -1
- package/lib/components/tree/src/tree.d.ts +23 -653
- package/lib/components/tree/src/tree.js +1 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree/src/tree.type.d.ts +1 -1
- package/lib/components/treeSelect/src/treeSelect.d.ts +20 -62
- package/lib/components/treeSelect/src/treeSelect.js +1 -1
- package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +298 -460
- package/lib/components/upload/src/useUpload.js +1 -1
- package/lib/components/upload/src/useUpload.js.map +1 -1
- package/lib/components/uploadImage/src/uploadImage.d.ts +295 -394
- package/lib/components/uploadImage/src/uploadImage.js +1 -1
- package/lib/components/uploadImage/src/uploadImage.js.map +1 -1
- package/lib/components/uploadImages/src/uploadImages.d.ts +300 -420
- package/lib/components/uploadImages/src/uploadImages.js +1 -1
- package/lib/components/uploadImages/src/uploadImages.js.map +1 -1
- package/lib/constants/regex.js +1 -1
- package/lib/constants/regex.js.map +1 -1
- package/lib/directive.d.ts +1 -1
- package/lib/directives/click-copy/index.d.ts +1 -1
- package/lib/directives/click-debounce/index.d.ts +1 -1
- package/lib/directives/click-draggable/index.d.ts +1 -1
- package/lib/directives/click-icon-copy/index.d.ts +1 -1
- package/lib/directives/click-longpress/index.d.ts +1 -1
- package/lib/directives/click-throttle/index.d.ts +1 -1
- package/lib/element-plus.js +1 -1
- package/lib/element-plus.js.map +1 -1
- package/lib/make-installer.js +1 -1
- package/lib/make-installer.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +8 -8
- package/styles/components/contextMenu.scss +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeSelect.js","sources":["../../../../../packages/components/treeSelect/src/treeSelect.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElTreeSelect } from \"element-plus\";\nimport { type SelectComponentProps, SelectProps } from \"@fast-element-plus/components/select/src/select\";\nimport { treeProps } from \"@fast-element-plus/components/tree/src/tree.props\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isFunction, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select\";\nimport type { FilterValue, NodeDropType, TreeKey, TreeNodeData } from \"@fast-element-plus/components/tree/src/tree.props\";\nimport type { ComponentInternalInstance, VNode } from \"vue\";\n\nexport const faTreeSelectProps = {\n\t...SelectProps,\n\t...treeProps,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */\n\tnodeKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/** @description 是否默认展开所有节点 */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候选中节点 */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否高亮当前选中节点 */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。 */\n\texpandOnClickNode: Boolean,\n\t/** @description 点击折叠节点,需要开启 'expandOnClickNode' */\n\tcollapseOnClickNode: Boolean,\n\t/**\n\t * 懒加载节点的缓存数据,结构与数据相同,用于获取未加载数据的标签\n\t * @description The cached data of the lazy node, the structure is the same as the data, used to get the label of the unloaded data\n\t */\n\tcacheData: {\n\t\ttype: Array,\n\t\tdefault: (): [] => [],\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<SelectComponentProps>(Object),\n\t\tdefault: (): Partial<SelectComponentProps> => ({\n\t\t\tlabel: \"label\",\n\t\t\thide: \"hide\",\n\t\t\tdisabled: \"disabled\",\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[] | any[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] | any[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[] | any[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faTreeSelectEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\n\t/** @description 当节点被点击的时候触发 */\n\tnodeClick: (data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 当某一节点被鼠标右键点击时会触发该事件 */\n\tnodeContextmenu: (event: Event, data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance): boolean =>\n\t\tevent instanceof Event && isObject(data) && isObject(node) && isObject(instance),\n\t/** @description 当复选框被点击的时候触发 */\n\tcheckChange: (data: ElSelectorOutput, checked: boolean, indeterminate: boolean): boolean =>\n\t\tisObject(data) && isBoolean(checked) && isBoolean(indeterminate),\n\t/** @description 点击节点复选框之后触发 */\n\tcheck: (\n\t\tdata: ElSelectorOutput,\n\t\tnode: {\n\t\t\tcheckedNodes: ElSelectorOutput[];\n\t\t\tcheckedKeys: TreeKey[];\n\t\t\thalfCheckedNodes: ElSelectorOutput[];\n\t\t\thalfCheckedKeys: TreeKey[];\n\t\t}\n\t): boolean => isObject(data) && isObject(node),\n\t/** @description 当前选中节点变化时触发的事件 */\n\tcurrentChange: (data: ElSelectorOutput, node: any): boolean => isObject(data) && isObject(node),\n\t/** @description 节点被展开时触发的事件 */\n\tnodeExpand: (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 节点被关闭时触发的事件 */\n\tnodeCollapse: (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 节点开始拖拽时触发的事件 */\n\tnodeDragStart: (node: any, event: DragEvent): boolean => isObject(node) && event instanceof DragEvent,\n\t/** @description 拖拽进入其他节点时触发的事件 */\n\tnodeDragEnter: (node: any, enterNode: any, event: DragEvent): boolean => isObject(node) && isObject(enterNode) && event instanceof DragEvent,\n\t/** @description 拖拽离开某个节点时触发的事件 */\n\tnodeDragLeave: (node: any, leaveNode: any, event: DragEvent): boolean => isObject(node) && isObject(leaveNode) && event instanceof DragEvent,\n\t/** @description 在拖拽节点时触发的事件(类似浏览器的 mouseover 事件) */\n\tnodeDragOver: (node: any, dropNode: any, event: DragEvent): boolean => isObject(node) && isObject(dropNode) && event instanceof DragEvent,\n\t/** @description 拖拽结束时(可能未成功)触发的事件 */\n\tnodeDragEnd: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent): boolean =>\n\t\tisObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,\n\t/** @description 拖拽成功完成时触发的事件 */\n\tnodeDrop: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent): boolean =>\n\t\tisObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,\n};\n\ntype FaTreeSelectSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { node: any; data: ElSelectorOutput };\n\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaTreeSelect\",\n\tprops: faTreeSelectProps,\n\temits: faTreeSelectEmits,\n\tslots: makeSlots<FaTreeSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst treeSelectRef = ref<InstanceType<typeof ElTreeSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[] | any[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t?.map((m) => ({\n\t\t\t\t\t...m,\n\t\t\t\t\tvalue: m[props.nodeKey],\n\t\t\t\t\tlabel: isFunction(props.props.label) ? props.props.label(m) : m[props.props.label ?? \"label\"],\n\t\t\t\t\thide: isFunction(props.props.hide) ? props.props.hide(m) : m[props.props.hide ?? \"hide\"],\n\t\t\t\t\tdisabled: isFunction(props.props.disabled) ? props.props.disabled(m) : m[props.props.disabled ?? \"disabled\"],\n\t\t\t\t\tchildren: isFunction(props.props.children)\n\t\t\t\t\t\t? handleData(props.props.children(m))\n\t\t\t\t\t\t: handleData(m[props.props.children ?? \"children\"]),\n\t\t\t\t}))\n\t\t\t\t.filter((f) => !f.hide);\n\t\t};\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\tstate.selectorData = handleData(resData);\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaTreeSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstate.selectorData = handleData(props.data);\n\t\t\t}\n\t\t};\n\n\t\tconst handleFilterNode = (value: FilterValue, data: TreeNodeData, child: any): boolean => {\n\t\t\tif (!value) return true;\n\t\t\tlet parentNode = child.parent,\n\t\t\t\tlabels = [child.label],\n\t\t\t\tlevel = 1;\n\t\t\twhile (level < child.level) {\n\t\t\t\tlabels = [...labels, parentNode.label];\n\t\t\t\tparentNode = parentNode.parent;\n\t\t\t\tlevel++;\n\t\t\t}\n\t\t\tconst result = labels.some((label) => label.indexOf(value) !== -1);\n\t\t\tif (props.filterNodeMethod) {\n\t\t\t\treturn result && props.filterNodeMethod(value, data, child);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[], data?: ElSelectorOutput): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdata ??= state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleNodeClick = (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): void => {\n\t\t\t// 判断是否开启点击展开节点,并且节点是折叠状态,则自动展开,否则需要点击箭头图标才能折叠或开启 'collapseOnClickNode'\n\t\t\tif (props.expandOnClickNode) {\n\t\t\t\tif (!node.expanded) {\n\t\t\t\t\tnode.expand();\n\t\t\t\t} else if (node.expanded && props.collapseOnClickNode) {\n\t\t\t\t\tnode.collapse();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否开启了 checkStrictly\n\t\t\tif (props.checkStrictly) {\n\t\t\t\thandleChange(data.value, data);\n\t\t\t} else {\n\t\t\t\tif (node.isLeaf) {\n\t\t\t\t\thandleChange(data.value, data);\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"nodeClick\", data, node, instance);\n\t\t};\n\n\t\t/**\n\t\t * 下拉框出现/隐藏时触发\n\t\t */\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\tprops.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\thandleChange([state.selectorData[0].value]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleChange(state.selectorData[0].value, state.selectorData[0]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elTreeSelectProps = useProps(props, { ...SelectProps, ...treeProps }, [\n\t\t\t\"modelValue\",\n\t\t\t\"popperClass\",\n\t\t\t\"loading\",\n\t\t\t\"expandOnClickNode\",\n\t\t\t\"filterNodeMethod\",\n\t\t]);\n\n\t\tuseRender(() => (\n\t\t\t<ElTreeSelect\n\t\t\t\t{...elTreeSelectProps.value}\n\t\t\t\tref={treeSelectRef}\n\t\t\t\tclass=\"fa-tree-select\"\n\t\t\t\tpopperClass={`fa-tree-select-dropdown ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\tdata={state.selectorData}\n\t\t\t\texpandOnClickNode={props.checkOnClickNode ? false : props.expandOnClickNode}\n\t\t\t\tfilterNodeMethod={handleFilterNode}\n\t\t\t\tonNodeClick={handleNodeClick}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t\tonNodeContextmenu={(event: Event, data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance) =>\n\t\t\t\t\temit(\"nodeContextmenu\", event, data, node, instance)\n\t\t\t\t}\n\t\t\t\tonCheckChange={(data: ElSelectorOutput, checked: boolean, indeterminate: boolean) =>\n\t\t\t\t\temit(\"checkChange\", data, checked, indeterminate)\n\t\t\t\t}\n\t\t\t\tonCheck={(\n\t\t\t\t\tdata: ElSelectorOutput,\n\t\t\t\t\tnode: {\n\t\t\t\t\t\tcheckedNodes: ElSelectorOutput[];\n\t\t\t\t\t\tcheckedKeys: TreeKey[];\n\t\t\t\t\t\thalfCheckedNodes: ElSelectorOutput[];\n\t\t\t\t\t\thalfCheckedKeys: TreeKey[];\n\t\t\t\t\t}\n\t\t\t\t) => emit(\"check\", data, node)}\n\t\t\t\tonCurrentChange={(data: ElSelectorOutput, node: any) => emit(\"currentChange\", data, node)}\n\t\t\t\tonNodeExpand={(data: ElSelectorOutput, node: any, instance: ComponentInternalInstance) => emit(\"nodeExpand\", data, node, instance)}\n\t\t\t\tonNodeCollapse={(data: ElSelectorOutput, node: any, instance: ComponentInternalInstance) =>\n\t\t\t\t\temit(\"nodeCollapse\", data, node, instance)\n\t\t\t\t}\n\t\t\t\tonNodeDragStart={(node: any, event: DragEvent) => emit(\"nodeDragStart\", node, event)}\n\t\t\t\tonNodeDragEnter={(node: any, enterNode: any, event: DragEvent) => emit(\"nodeDragEnter\", node, enterNode, event)}\n\t\t\t\tonNodeDragLeave={(node: any, leaveNode: any, event: DragEvent) => emit(\"nodeDragLeave\", node, leaveNode, event)}\n\t\t\t\tonNodeDragOver={(node: any, dropNode: any, event: DragEvent) => emit(\"nodeDragOver\", node, dropNode, event)}\n\t\t\t\tonNodeDragEnd={(node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) =>\n\t\t\t\t\temit(\"nodeDragEnd\", node, dropNode, dropType, event)\n\t\t\t\t}\n\t\t\t\tonNodeDrop={(node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => emit(\"nodeDrop\", node, dropNode, dropType, event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\t...(slots.default && {\n\t\t\t\t\t\tdefault: ({ node, data }: { node: any; data: ElSelectorOutput }): VNode[] => slots.default({ node, data }),\n\t\t\t\t\t}),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElTreeSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => treeSelectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => treeSelectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => treeSelectRef.value?.selectedLabel),\n\n\t\t\t/** @description 过滤所有树节点,过滤后的节点将被隐藏 */\n\t\t\tfilter: computed(() => treeSelectRef.value?.filter),\n\t\t\t/** @description 为节点设置新数据,只有当设置 node-key 属性的时候才可用 */\n\t\t\tupdateKeyChildren: computed(() => treeSelectRef.value?.updateKeyChildren),\n\t\t\t/** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */\n\t\t\tgetCheckedNodes: computed(() => treeSelectRef.value?.getCheckedNodes),\n\t\t\t/** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */\n\t\t\tsetCheckedNodes: computed(() => treeSelectRef.value?.setCheckedNodes),\n\t\t\t/** @description 若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */\n\t\t\tgetCheckedKeys: computed(() => treeSelectRef.value?.getCheckedKeys),\n\t\t\t/** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCheckedKeys: computed(() => treeSelectRef.value?.setCheckedKeys),\n\t\t\t/** @description 设置节点是否被选中, 使用此方法必须设置 node-key 属性 */\n\t\t\tsetChecked: computed(() => treeSelectRef.value?.setChecked),\n\t\t\t/** @description 如果节点可用被选中 (show-checkbox 为 true), 它将返回当前半选中的节点组成的数组 */\n\t\t\tgetHalfCheckedNodes: computed(() => treeSelectRef.value?.getHalfCheckedNodes),\n\t\t\t/** @description 若节点可被选中(show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组 */\n\t\t\tgetHalfCheckedKeys: computed(() => treeSelectRef.value?.getHalfCheckedKeys),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentKey: computed(() => treeSelectRef.value?.getCurrentKey),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentNode: computed(() => treeSelectRef.value?.getCurrentNode),\n\t\t\t/** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentKey: computed(() => treeSelectRef.value?.setCurrentKey),\n\t\t\t/** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentNode: computed(() => treeSelectRef.value?.setCurrentNode),\n\t\t\t/** @description 根据 data 或者 key 拿到 Tree 组件中的 node */\n\t\t\tgetNode: computed(() => treeSelectRef.value?.getNode),\n\t\t\t/** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */\n\t\t\tremove: computed(() => treeSelectRef.value?.remove),\n\t\t\t/** @description 为 Tree 中的一个节点追加一个子节点 */\n\t\t\tappend: computed(() => treeSelectRef.value?.append),\n\t\t\t/** @description 在 Tree 中给定节点前插入一个节点 */\n\t\t\tinsertBefore: computed(() => treeSelectRef.value?.insertBefore),\n\t\t\t/** @description 在 Tree 中给定节点后插入一个节点 */\n\t\t\tinsertAfter: computed(() => treeSelectRef.value?.insertAfter),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["faTreeSelectProps","SelectProps","treeProps","loadingText","type","String","default","noMatchText","noDataText","collapseTags","Boolean","collapseTagsTooltip","nodeKey","defaultExpandAll","checkOnClickNode","highlightCurrent","expandOnClickNode","collapseOnClickNode","cacheData","Array","modelValue","definePropType","Number","Object","undefined","label","width","moreDetail","lazy","defaultSelected","props","hide","disabled","children","data","requestApi","Function","initParam","faTreeSelectEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","nodeClick","node","instance","nodeContextmenu","Event","checkChange","checked","indeterminate","check","currentChange","nodeExpand","nodeCollapse","nodeDragStart","DragEvent","nodeDragEnter","enterNode","nodeDragLeave","leaveNode","nodeDragOver","dropNode","nodeDragEnd","dropType","nodeDrop","TreeSelect","name","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","state","reactive","withDefineType","loading","selectorData","debut","echo","length","nextRefresh","treeSelectRef","ref","handleData","map","m","isFunction","filter","f","loadData","async","params","resData","error","consoleError","handleFilterNode","child","parentNode","parent","labels","level","result","some","indexOf","filterNodeMethod","handleChange","multiple","valueArr","dataList","includes","isNil","find","handleClear","handleNodeClick","expanded","collapse","expand","checkStrictly","isLeaf","handleVisibleChange","watch","newValue","hasLabel","slice","multipleLimit","item","index","immediate","onMounted","oldValue","isEqual","deep","elTreeSelectProps","useProps","useRender","_createVNode","ElTreeSelect","_mergeProps","class","popperClass","style","addUnit","$event","onNodeClick","onClear","onVisibleChange","onRemoveTag","onBlur","onFocus","onNodeContextmenu","onCheckChange","onCheck","onCurrentChange","onNodeExpand","onNodeCollapse","onNodeDragStart","onNodeDragEnter","onNodeDragLeave","onNodeDragOver","onNodeDragEnd","onNodeDrop","header","footer","prefix","empty","tag","useExpose","computed","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter","refresh","setSelection","clearSelection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"treeSelect.js","sources":["../../../../../packages/components/treeSelect/src/treeSelect.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElTreeSelect } from \"element-plus\";\nimport { type SelectComponentProps, SelectProps } from \"@fast-element-plus/components/select/src/select\";\nimport { treeProps } from \"@fast-element-plus/components/tree/src/tree.props\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isFunction, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select\";\nimport type { FilterValue, NodeDropType, TreeKey, TreeNodeData } from \"@fast-element-plus/components/tree/src/tree.props\";\nimport type { ComponentInternalInstance, VNode } from \"vue\";\n\nexport const faTreeSelectProps = {\n\t...SelectProps,\n\t...treeProps,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */\n\tnodeKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/** @description 是否默认展开所有节点 */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候选中节点 */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否高亮当前选中节点 */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。 */\n\texpandOnClickNode: Boolean,\n\t/** @description 点击折叠节点,需要开启 'expandOnClickNode' */\n\tcollapseOnClickNode: Boolean,\n\t/**\n\t * 懒加载节点的缓存数据,结构与数据相同,用于获取未加载数据的标签\n\t * @description The cached data of the lazy node, the structure is the same as the data, used to get the label of the unloaded data\n\t */\n\tcacheData: {\n\t\ttype: Array,\n\t\tdefault: (): [] => [],\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<SelectComponentProps>(Object),\n\t\tdefault: (): Partial<SelectComponentProps> => ({\n\t\t\tlabel: \"label\",\n\t\t\thide: \"hide\",\n\t\t\tdisabled: \"disabled\",\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[] | any[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] | any[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[] | any[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faTreeSelectEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\n\t/** @description 当节点被点击的时候触发 */\n\tnodeClick: (data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 当某一节点被鼠标右键点击时会触发该事件 */\n\tnodeContextmenu: (event: Event, data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance): boolean =>\n\t\tevent instanceof Event && isObject(data) && isObject(node) && isObject(instance),\n\t/** @description 当复选框被点击的时候触发 */\n\tcheckChange: (data: ElSelectorOutput, checked: boolean, indeterminate: boolean): boolean =>\n\t\tisObject(data) && isBoolean(checked) && isBoolean(indeterminate),\n\t/** @description 点击节点复选框之后触发 */\n\tcheck: (\n\t\tdata: ElSelectorOutput,\n\t\tnode: {\n\t\t\tcheckedNodes: ElSelectorOutput[];\n\t\t\tcheckedKeys: TreeKey[];\n\t\t\thalfCheckedNodes: ElSelectorOutput[];\n\t\t\thalfCheckedKeys: TreeKey[];\n\t\t}\n\t): boolean => isObject(data) && isObject(node),\n\t/** @description 当前选中节点变化时触发的事件 */\n\tcurrentChange: (data: ElSelectorOutput, node: any): boolean => isObject(data) && isObject(node),\n\t/** @description 节点被展开时触发的事件 */\n\tnodeExpand: (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 节点被关闭时触发的事件 */\n\tnodeCollapse: (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance): boolean =>\n\t\tisObject(data) && isObject(node) && isObject(instance),\n\t/** @description 节点开始拖拽时触发的事件 */\n\tnodeDragStart: (node: any, event: DragEvent): boolean => isObject(node) && event instanceof DragEvent,\n\t/** @description 拖拽进入其他节点时触发的事件 */\n\tnodeDragEnter: (node: any, enterNode: any, event: DragEvent): boolean => isObject(node) && isObject(enterNode) && event instanceof DragEvent,\n\t/** @description 拖拽离开某个节点时触发的事件 */\n\tnodeDragLeave: (node: any, leaveNode: any, event: DragEvent): boolean => isObject(node) && isObject(leaveNode) && event instanceof DragEvent,\n\t/** @description 在拖拽节点时触发的事件(类似浏览器的 mouseover 事件) */\n\tnodeDragOver: (node: any, dropNode: any, event: DragEvent): boolean => isObject(node) && isObject(dropNode) && event instanceof DragEvent,\n\t/** @description 拖拽结束时(可能未成功)触发的事件 */\n\tnodeDragEnd: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent): boolean =>\n\t\tisObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,\n\t/** @description 拖拽成功完成时触发的事件 */\n\tnodeDrop: (node: any, dropNode: any, dropType: NodeDropType, event: DragEvent): boolean =>\n\t\tisObject(node) && isObject(dropNode) && isString(dropType) && event instanceof DragEvent,\n};\n\ntype FaTreeSelectSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { node: any; data: ElSelectorOutput };\n\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaTreeSelect\",\n\tprops: faTreeSelectProps,\n\temits: faTreeSelectEmits,\n\tslots: makeSlots<FaTreeSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst treeSelectRef = ref<InstanceType<typeof ElTreeSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[] | any[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t?.map((m) => ({\n\t\t\t\t\t...m,\n\t\t\t\t\tvalue: m[props.nodeKey],\n\t\t\t\t\tlabel: isFunction(props.props.label) ? props.props.label(m) : m[props.props.label ?? \"label\"],\n\t\t\t\t\thide: isFunction(props.props.hide) ? props.props.hide(m) : m[props.props.hide ?? \"hide\"],\n\t\t\t\t\tdisabled: isFunction(props.props.disabled) ? props.props.disabled(m) : m[props.props.disabled ?? \"disabled\"],\n\t\t\t\t\tchildren: isFunction(props.props.children)\n\t\t\t\t\t\t? handleData(props.props.children(m))\n\t\t\t\t\t\t: handleData(m[props.props.children ?? \"children\"]),\n\t\t\t\t}))\n\t\t\t\t.filter((f) => !f.hide);\n\t\t};\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\tstate.selectorData = handleData(resData);\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaTreeSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.selectorData = handleData(props.data);\n\t\t\t}\n\t\t};\n\n\t\tconst handleFilterNode = (value: FilterValue, data: TreeNodeData, child: any): boolean => {\n\t\t\tif (!value) return true;\n\t\t\tlet parentNode = child.parent,\n\t\t\t\tlabels = [child.label],\n\t\t\t\tlevel = 1;\n\t\t\twhile (level < child.level) {\n\t\t\t\tlabels = [...labels, parentNode.label];\n\t\t\t\tparentNode = parentNode.parent;\n\t\t\t\tlevel++;\n\t\t\t}\n\t\t\tconst result = labels.some((label) => label.indexOf(value) !== -1);\n\t\t\tif (props.filterNodeMethod) {\n\t\t\t\treturn result && props.filterNodeMethod(value, data, child);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[], data?: ElSelectorOutput): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdata ??= state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleNodeClick = (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): void => {\n\t\t\t// 判断是否开启点击展开节点,并且节点是折叠状态,则自动展开,否则需要点击箭头图标才能折叠或开启 'collapseOnClickNode'\n\t\t\tif (props.expandOnClickNode) {\n\t\t\t\tif (!node.expanded) {\n\t\t\t\t\tnode.expand();\n\t\t\t\t} else if (node.expanded && props.collapseOnClickNode) {\n\t\t\t\t\tnode.collapse();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否开启了 checkStrictly\n\t\t\tif (props.checkStrictly) {\n\t\t\t\thandleChange(data.value, data);\n\t\t\t} else {\n\t\t\t\tif (node.isLeaf) {\n\t\t\t\t\thandleChange(data.value, data);\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"nodeClick\", data, node, instance);\n\t\t};\n\n\t\t/**\n\t\t * 下拉框出现/隐藏时触发\n\t\t */\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\tprops.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaTreeSelect\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\thandleChange([state.selectorData[0].value]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleChange(state.selectorData[0].value, state.selectorData[0]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elTreeSelectProps = useProps(props, { ...SelectProps, ...treeProps }, [\n\t\t\t\"modelValue\",\n\t\t\t\"popperClass\",\n\t\t\t\"loading\",\n\t\t\t\"expandOnClickNode\",\n\t\t\t\"filterNodeMethod\",\n\t\t]);\n\n\t\tuseRender(() => (\n\t\t\t<ElTreeSelect\n\t\t\t\t{...elTreeSelectProps.value}\n\t\t\t\tref={treeSelectRef}\n\t\t\t\tclass=\"fa-tree-select\"\n\t\t\t\tpopperClass={`fa-tree-select-dropdown ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\tdata={state.selectorData}\n\t\t\t\texpandOnClickNode={props.checkOnClickNode ? false : props.expandOnClickNode}\n\t\t\t\tfilterNodeMethod={handleFilterNode}\n\t\t\t\tonNodeClick={handleNodeClick}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t\tonNodeContextmenu={(event: Event, data: ElSelectorOutput, node?: any, instance?: ComponentInternalInstance) =>\n\t\t\t\t\temit(\"nodeContextmenu\", event, data, node, instance)\n\t\t\t\t}\n\t\t\t\tonCheckChange={(data: ElSelectorOutput, checked: boolean, indeterminate: boolean) =>\n\t\t\t\t\temit(\"checkChange\", data, checked, indeterminate)\n\t\t\t\t}\n\t\t\t\tonCheck={(\n\t\t\t\t\tdata: ElSelectorOutput,\n\t\t\t\t\tnode: {\n\t\t\t\t\t\tcheckedNodes: ElSelectorOutput[];\n\t\t\t\t\t\tcheckedKeys: TreeKey[];\n\t\t\t\t\t\thalfCheckedNodes: ElSelectorOutput[];\n\t\t\t\t\t\thalfCheckedKeys: TreeKey[];\n\t\t\t\t\t}\n\t\t\t\t) => emit(\"check\", data, node)}\n\t\t\t\tonCurrentChange={(data: ElSelectorOutput, node: any) => emit(\"currentChange\", data, node)}\n\t\t\t\tonNodeExpand={(data: ElSelectorOutput, node: any, instance: ComponentInternalInstance) => emit(\"nodeExpand\", data, node, instance)}\n\t\t\t\tonNodeCollapse={(data: ElSelectorOutput, node: any, instance: ComponentInternalInstance) =>\n\t\t\t\t\temit(\"nodeCollapse\", data, node, instance)\n\t\t\t\t}\n\t\t\t\tonNodeDragStart={(node: any, event: DragEvent) => emit(\"nodeDragStart\", node, event)}\n\t\t\t\tonNodeDragEnter={(node: any, enterNode: any, event: DragEvent) => emit(\"nodeDragEnter\", node, enterNode, event)}\n\t\t\t\tonNodeDragLeave={(node: any, leaveNode: any, event: DragEvent) => emit(\"nodeDragLeave\", node, leaveNode, event)}\n\t\t\t\tonNodeDragOver={(node: any, dropNode: any, event: DragEvent) => emit(\"nodeDragOver\", node, dropNode, event)}\n\t\t\t\tonNodeDragEnd={(node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) =>\n\t\t\t\t\temit(\"nodeDragEnd\", node, dropNode, dropType, event)\n\t\t\t\t}\n\t\t\t\tonNodeDrop={(node: any, dropNode: any, dropType: NodeDropType, event: DragEvent) => emit(\"nodeDrop\", node, dropNode, dropType, event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\t...(slots.default && {\n\t\t\t\t\t\tdefault: ({ node, data }: { node: any; data: ElSelectorOutput }): VNode[] => slots.default({ node, data }),\n\t\t\t\t\t}),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElTreeSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => treeSelectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => treeSelectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => treeSelectRef.value?.selectedLabel),\n\n\t\t\t/** @description 过滤所有树节点,过滤后的节点将被隐藏 */\n\t\t\tfilter: computed(() => treeSelectRef.value?.filter),\n\t\t\t/** @description 为节点设置新数据,只有当设置 node-key 属性的时候才可用 */\n\t\t\tupdateKeyChildren: computed(() => treeSelectRef.value?.updateKeyChildren),\n\t\t\t/** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */\n\t\t\tgetCheckedNodes: computed(() => treeSelectRef.value?.getCheckedNodes),\n\t\t\t/** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */\n\t\t\tsetCheckedNodes: computed(() => treeSelectRef.value?.setCheckedNodes),\n\t\t\t/** @description 若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */\n\t\t\tgetCheckedKeys: computed(() => treeSelectRef.value?.getCheckedKeys),\n\t\t\t/** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCheckedKeys: computed(() => treeSelectRef.value?.setCheckedKeys),\n\t\t\t/** @description 设置节点是否被选中, 使用此方法必须设置 node-key 属性 */\n\t\t\tsetChecked: computed(() => treeSelectRef.value?.setChecked),\n\t\t\t/** @description 如果节点可用被选中 (show-checkbox 为 true), 它将返回当前半选中的节点组成的数组 */\n\t\t\tgetHalfCheckedNodes: computed(() => treeSelectRef.value?.getHalfCheckedNodes),\n\t\t\t/** @description 若节点可被选中(show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组 */\n\t\t\tgetHalfCheckedKeys: computed(() => treeSelectRef.value?.getHalfCheckedKeys),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentKey: computed(() => treeSelectRef.value?.getCurrentKey),\n\t\t\t/** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\tgetCurrentNode: computed(() => treeSelectRef.value?.getCurrentNode),\n\t\t\t/** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentKey: computed(() => treeSelectRef.value?.setCurrentKey),\n\t\t\t/** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\tsetCurrentNode: computed(() => treeSelectRef.value?.setCurrentNode),\n\t\t\t/** @description 根据 data 或者 key 拿到 Tree 组件中的 node */\n\t\t\tgetNode: computed(() => treeSelectRef.value?.getNode),\n\t\t\t/** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */\n\t\t\tremove: computed(() => treeSelectRef.value?.remove),\n\t\t\t/** @description 为 Tree 中的一个节点追加一个子节点 */\n\t\t\tappend: computed(() => treeSelectRef.value?.append),\n\t\t\t/** @description 在 Tree 中给定节点前插入一个节点 */\n\t\t\tinsertBefore: computed(() => treeSelectRef.value?.insertBefore),\n\t\t\t/** @description 在 Tree 中给定节点后插入一个节点 */\n\t\t\tinsertAfter: computed(() => treeSelectRef.value?.insertAfter),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["faTreeSelectProps","SelectProps","treeProps","loadingText","type","String","default","noMatchText","noDataText","collapseTags","Boolean","collapseTagsTooltip","nodeKey","defaultExpandAll","checkOnClickNode","highlightCurrent","expandOnClickNode","collapseOnClickNode","cacheData","Array","modelValue","definePropType","Number","Object","undefined","label","width","moreDetail","lazy","defaultSelected","props","hide","disabled","children","data","requestApi","Function","initParam","faTreeSelectEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","nodeClick","node","instance","nodeContextmenu","Event","checkChange","checked","indeterminate","check","currentChange","nodeExpand","nodeCollapse","nodeDragStart","DragEvent","nodeDragEnter","enterNode","nodeDragLeave","leaveNode","nodeDragOver","dropNode","nodeDragEnd","dropType","nodeDrop","TreeSelect","name","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","state","reactive","withDefineType","loading","selectorData","debut","echo","length","nextRefresh","treeSelectRef","ref","handleData","map","m","isFunction","filter","f","loadData","async","params","resData","error","consoleError","handleFilterNode","child","parentNode","parent","labels","level","result","some","indexOf","filterNodeMethod","handleChange","multiple","valueArr","dataList","includes","isNil","find","handleClear","handleNodeClick","expanded","collapse","expand","checkStrictly","isLeaf","handleVisibleChange","watch","newValue","hasLabel","slice","multipleLimit","item","index","immediate","onMounted","oldValue","isEqual","deep","elTreeSelectProps","useProps","useRender","_createVNode","ElTreeSelect","_mergeProps","class","popperClass","style","addUnit","$event","onNodeClick","onClear","onVisibleChange","onRemoveTag","onBlur","onFocus","onNodeContextmenu","onCheckChange","onCheck","onCurrentChange","onNodeExpand","onNodeCollapse","onNodeDragStart","onNodeDragEnter","onNodeDragLeave","onNodeDragOver","onNodeDragEnd","onNodeDrop","header","footer","prefix","empty","tag","useExpose","computed","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter","refresh","setSelection","clearSelection"],"mappings":"oUAWaA,EAAoB,IAC7BC,EAAAA,eACAC,EAAAA,UAEHC,YAAa,CACZC,KAAMC,OACNC,QAAS,UAGVC,YAAa,CACZH,KAAMC,OACNC,QAAS,WAGVE,WAAY,CACXJ,KAAMC,OACNC,QAAS,QAGVG,aAAc,CACbL,KAAMM,QACNJ,SAAS,GAGVK,oBAAqB,CACpBP,KAAMM,QACNJ,SAAS,GAGVM,QAAS,CACRR,KAAMC,OACNC,QAAS,SAGVO,iBAAkB,CACjBT,KAAMM,QACNJ,SAAS,GAGVQ,iBAAkB,CACjBV,KAAMM,QACNJ,SAAS,GAGVS,iBAAkB,CACjBX,KAAMM,QACNJ,SAAS,GAGVU,kBAAmBN,QAEnBO,oBAAqBP,QAKrBQ,UAAW,CACVd,KAAMe,MACNb,QAASA,IAAU,IAGpBc,WAAY,CACXhB,KAAMiB,EAAAA,eAA4F,CAAChB,OAAQiB,OAAQZ,QAASa,OAAQJ,QACpIb,aAASkB,GAGVC,MAAOJ,EAAAA,eAAkC,CAAChB,OAAQc,QAElDO,MAAO,CACNtB,KAAM,CAACC,OAAQiB,QACfhB,QAAS,QAGVqB,WAAYjB,QAEZkB,KAAM,CACLxB,KAAMM,QACNJ,SAAS,GAGVuB,gBAAiBnB,QAEjBoB,MAAO,CACN1B,KAAMiB,EAAAA,eAAqCE,QAC3CjB,QAASA,KAAAA,CACRmB,MAAO,QACPM,KAAM,OACNC,SAAU,WACVC,SAAU,cAIZC,KAAM,CACL9B,KAAMiB,EAAAA,eAA2CF,OACjDb,QAASA,IAAkC,IAG5C6B,WAAY,CACX/B,KAAMiB,EAAAA,eAAsEe,WAG7EC,UAAWhB,EAAAA,eAAsC,CAAChB,OAAQiB,OAAQC,UAGtDe,EAAoB,CAEhC,oBAAsBC,GACrBC,WAASD,IAAUE,EAAAA,SAASF,IAAUG,EAAAA,UAAUH,IAAUI,EAAAA,SAASJ,IAAUK,EAAAA,QAAQL,IAAUM,EAAAA,OAAON,GAEvG,eAAiBA,GAAsCC,EAAAA,SAASD,IAAUK,EAAAA,QAAQL,IAAUM,EAAAA,OAAON,GAGnGO,mBAAqBZ,GAA8CU,EAAAA,QAAQV,GAE3Ea,OAAQA,CACPb,EACAK,KAECI,EAAAA,SAAST,IAASU,EAAAA,QAAQV,IAASW,EAAAA,OAAOX,MAC1CM,EAAAA,SAASD,IAAUE,EAAAA,SAASF,IAAUG,YAAUH,IAAUI,EAAAA,SAASJ,IAAUK,EAAAA,QAAQL,IAAUM,EAAAA,OAAON,IAExGS,cAAgBC,GAA8BP,EAAAA,UAAUO,GAExDC,aAAuCV,EAAAA,SAASW,IAAaV,EAAAA,SAASU,IAAaT,EAAAA,UAAUS,IAAaR,EAAAA,SAASQ,IAAaP,EAAAA,QAAQO,GAExIC,MAAOA,KAAe,EAEtBC,QAAsCC,aAAiBC,WAEvDC,SAAuCF,aAAiBC,WAGxDE,UAAWA,CAACvB,EAAwBwB,EAAYC,IAC/ChB,EAAAA,SAAST,IAASS,WAASe,IAASf,EAAAA,SAASgB,GAE9CC,gBAAiBA,CAACN,EAAcpB,EAAwBwB,EAAYC,IACnEL,aAAiBO,OAASlB,EAAAA,SAAST,IAASS,EAAAA,SAASe,IAASf,EAAAA,SAASgB,GAExEG,YAAaA,CAAC5B,EAAwB6B,EAAkBC,IACvDrB,EAAAA,SAAST,IAASQ,YAAUqB,IAAYrB,EAAAA,UAAUsB,GAEnDC,MAAOA,CACN/B,EACAwB,IAMaf,EAAAA,SAAST,IAASS,EAAAA,SAASe,GAEzCQ,cAAeA,CAAChC,EAAwBwB,IAAuBf,EAAAA,SAAST,IAASS,EAAAA,SAASe,GAE1FS,WAAYA,CAACjC,EAAwBwB,EAAWC,IAC/ChB,EAAAA,SAAST,IAASS,WAASe,IAASf,EAAAA,SAASgB,GAE9CS,aAAcA,CAAClC,EAAwBwB,EAAWC,IACjDhB,EAAAA,SAAST,IAASS,WAASe,IAASf,EAAAA,SAASgB,GAE9CU,cAAeA,CAACX,EAAWJ,IAA8BX,EAAAA,SAASe,IAASJ,aAAiBgB,UAE5FC,cAAeA,CAACb,EAAWc,EAAgBlB,IAA8BX,EAAAA,SAASe,IAASf,EAAAA,SAAS6B,IAAclB,aAAiBgB,UAEnIG,cAAeA,CAACf,EAAWgB,EAAgBpB,IAA8BX,EAAAA,SAASe,IAASf,EAAAA,SAAS+B,IAAcpB,aAAiBgB,UAEnIK,aAAcA,CAACjB,EAAWkB,EAAetB,IAA8BX,EAAAA,SAASe,IAASf,EAAAA,SAASiC,IAAatB,aAAiBgB,UAEhIO,YAAaA,CAACnB,EAAWkB,EAAeE,EAAwBxB,IAC/DX,EAAAA,SAASe,IAASf,EAAAA,SAASiC,IAAapC,EAAAA,SAASsC,IAAaxB,aAAiBgB,UAEhFS,SAAUA,CAACrB,EAAWkB,EAAeE,EAAwBxB,IAC5DX,EAAAA,SAASe,IAASf,EAAAA,SAASiC,IAAapC,EAAAA,SAASsC,IAAaxB,aAAiBgB,WAuBjFU,oBAA+B,CAC9BC,KAAM,eACNnD,MAAO9B,EACPkF,MAAO5C,EACP6C,MAAOC,EAAAA,YACPC,KAAAA,CAAMvD,GAAOwD,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAgBC,EAAAA,UAAU5D,EAAO,QAASyD,EAAM,CAAEI,SAAS,IAE3DC,EAAQC,EAAAA,SAAS,CACtBtD,MAAOuD,EAAAA,iBACPC,SAAS,EACTC,aAAcF,EAAAA,eAAmC,IAEjDG,OAAO,EAEPC,OAAMpE,EAAMI,MAAMiE,OAAS,GAE3BC,aAAa,IAGRC,EAAgBC,EAAAA,MAEhBC,EAAcrE,GACZA,GACJsE,IAAKC,IAAAA,IACHA,EACHlE,MAAOkE,EAAE3E,EAAMlB,SACfa,MAAOiF,EAAAA,WAAW5E,EAAMA,MAAML,OAASK,EAAMA,MAAML,MAAMgF,GAAKA,EAAE3E,EAAMA,MAAML,OAAS,SACrFM,KAAM2E,EAAAA,WAAW5E,EAAMA,MAAMC,MAAQD,EAAMA,MAAMC,KAAK0E,GAAKA,EAAE3E,EAAMA,MAAMC,MAAQ,QACjFC,SAAU0E,EAAAA,WAAW5E,EAAMA,MAAME,UAAYF,EAAMA,MAAME,SAASyE,GAAKA,EAAE3E,EAAMA,MAAME,UAAY,YACjGC,SAAUyE,EAAAA,WAAW5E,EAAMA,MAAMG,UAC9BsE,EAAWzE,EAAMA,MAAMG,SAASwE,IAChCF,EAAWE,EAAE3E,EAAMA,MAAMG,UAAY,gBAExC0E,OAAQC,IAAOA,EAAE7E,MAGd8E,EAAWC,UAEhB,GAAIhF,EAAMK,WAAY,CACrByD,EAAMG,SAAU,EAChB,MAAMgB,EAASjF,EAAMO,WAAa,CAAA,EAClC,IACC,MAAM2E,QAAgBlF,EAAMK,WAAW4E,GAEvCnB,EAAMM,MAAO,EACbN,EAAMI,aAAeO,EAAWS,GAChCzB,EAAK,qBAAsBK,EAAMI,aAClC,OAASiB,GACRC,EAAAA,aAAa,eAAgBD,GAC7BrB,EAAMI,aAAe,EACtB,CAAA,QACCJ,EAAMG,SAAU,CACjB,CACD,MAECH,EAAMM,MAAO,EACbN,EAAMI,aAAeO,EAAWzE,EAAMI,OAIlCiF,EAAmBA,CAAC5E,EAAoBL,EAAoBkF,KACjE,IAAK7E,EAAO,OAAO,EACnB,IAAI8E,EAAaD,EAAME,OACtBC,EAAS,CAACH,EAAM3F,OAChB+F,EAAQ,EACT,KAAOA,EAAQJ,EAAMI,OACpBD,EAAS,IAAIA,EAAQF,EAAW5F,OAChC4F,EAAaA,EAAWC,OACxBE,IAED,MAAMC,EAASF,EAAOG,KAAMjG,IAAmC,IAAzBA,EAAMkG,QAAQpF,IACpD,OAAIT,EAAM8F,iBACFH,GAAU3F,EAAM8F,iBAAiBrF,EAAOL,EAAMkF,GAE/CK,GAGFI,EAAeA,CAACtF,EAAqFL,KAE1G,GAAIJ,EAAMgG,SAAU,CAEnB,MAAMC,EAAWxF,EACjB,GAAyB,IAArBwF,GAAU5B,OAKb,OAJAP,EAAMrD,MAAQ,KACdkD,EAAclD,MAAQ,KACtBgD,EAAK,oBAAqB,WAC1BA,EAAK,SAAU,KAAM,MAGtB,MAAMyC,EAAWpC,EAAMI,aAAaW,UAAcoB,EAASE,SAASrB,EAAErE,QACtEqD,EAAMrD,MAAQA,EACdkD,EAAclD,MAAQyF,EAASxB,IAAKC,GAAMA,EAAEhF,OAC5C8D,EAAK,oBAAqBhD,GAC1BgD,EAAK,SAAUyC,EAAUzF,EAC1B,KAAO,CAEN,GAAI2F,EAAAA,MAAM3F,GAKT,OAJAqD,EAAMrD,MAAQ,KACdkD,EAAclD,MAAQ,KACtBgD,EAAK,oBAAqB,WAC1BA,EAAK,SAAU,KAAM,MAGtBrD,IAAS0D,EAAMI,aAAamC,KAAMvB,GAAMA,EAAErE,QAAUA,GACpDqD,EAAMrD,MAAQA,EACdkD,EAAclD,MAAQL,EAAKT,MAC3B8D,EAAK,oBAAqBhD,GAC1BgD,EAAK,SAAUrD,EAAMK,EACtB,GAGK6F,EAAcA,KACnBxC,EAAMrD,MAAQ,KACdkD,EAAclD,MAAQ,KACtBgD,EAAK,UAGA8C,EAAkBA,CAACnG,EAAwBwB,EAAWC,EAAqCL,KAE5FxB,EAAMd,oBACJ0C,EAAK4E,SAEC5E,EAAK4E,UAAYxG,EAAMb,qBACjCyC,EAAK6E,WAFL7E,EAAK8E,WAMH1G,EAAM2G,eAGL/E,EAAKgF,SAFTb,EAAa3F,EAAKK,MAAOL,GAM1BqD,EAAK,YAAarD,EAAMwB,EAAMC,IAMzBgF,EAAsB7B,MAAO7D,IAC9BA,IACC2C,EAAMK,OAETL,EAAMK,OAAQ,EAEdnE,EAAMF,YAAeiF,KAGjBjB,EAAMQ,cACTR,EAAMQ,aAAc,QACdS,MAITtB,EAAK,gBAAiBtC,IAGvB2F,EAAAA,MACC,IAAM9G,EAAMV,WACXyH,IACA,GAAIjD,EAAMM,OAASgC,EAAAA,MAAMW,GAAW,CACnC,MAAMC,GAAYZ,QAAMpG,EAAML,OAE9B,GAAIK,EAAMgG,SAAU,CAEnB,IAAKlF,EAAAA,QAAQiG,GAEZ,YADA3B,EAAAA,aAAa,eAAgB,2CAG9B,GAAI4B,IAAalG,EAAAA,QAAQd,EAAML,OAE9B,YADAyF,EAAAA,aAAa,eAAgB,iDAG9BtB,EAAMI,aAAe6C,EAEnBE,MAAM,EAAGjH,EAAMkH,cAAgB,EAAIlH,EAAMkH,cAAgBH,EAAS1C,QAClEK,IAAI,CAACyC,EAAMC,KAAAA,CACX3G,MAAO0G,EACPxH,MAAOqH,EAAWhH,EAAML,MAAMyH,QAAS1H,IAE1C,KAAO,CACN,GAAIoB,EAAAA,QAAQiG,GAEX,YADA3B,EAAAA,aAAa,eAAgB,2CAG9B,GAAI4B,GAAYlG,EAAAA,QAAQd,EAAML,OAE7B,YADAyF,EAAAA,aAAa,eAAgB,iDAG9BtB,EAAMI,aAAe,CACpB,CACCzD,MAAOsG,EACPpH,MAAOK,EAAML,OAGhB,CACD,CACAmE,EAAMrD,MAAQsG,GAEf,CACCM,WAAW,IAIbC,EAAAA,UAAUtC,UACLhF,EAAMD,uBACHgF,IACFjB,EAAMI,aAAaG,OAAS,IAC3BrE,EAAMgG,SACTD,EAAa,CAACjC,EAAMI,aAAa,GAAGzD,QAEpCsF,EAAajC,EAAMI,aAAa,GAAGzD,MAAOqD,EAAMI,aAAa,OAKtDlE,EAAMK,YAAcL,EAAMI,MAAMiE,OAAS,GAClDP,EAAMK,OAAQ,QACRY,KAGG/E,EAAMF,YACTiF,IAEP+B,EAAAA,MACC,IAAM9G,EAAMO,UACZ,CAACwG,EAAUQ,KACLC,EAAAA,QAAQT,EAAUQ,KACtBzD,EAAMQ,aAAc,EACf8B,EAAAA,MAAMtC,EAAMrD,QAChBsF,OAKJe,QACC,IAAM9G,EAAMI,KACZ4E,UACMhF,EAAMK,kBACJ0E,KAGR,CAAE0C,MAAM,MAIV,MAAMC,EAAoBC,EAAAA,SAAS3H,EAAO,IAAK7B,EAAAA,eAAgBC,EAAAA,WAAa,CAC3E,aACA,cACA,UACA,oBACA,qBAoED,OAjEAwJ,EAAAA,UAAU,IAAAC,EAAAA,YAAAC,EAAAA,aAAAC,EAAAA,WAEJL,EAAkBjH,MAAK,CAAA+D,IACtBD,EAAayD,MAAA,iBAAAC,YAEL,2BAA2BjI,EAAMiI,cAAaC,MACpD,CAAEtI,MAAOuI,EAAAA,QAAQnI,EAAMJ,QAAQN,WAC9BwE,EAAMrD,MAAK,sBAAA2H,GAAXtE,EAAMrD,MAAK2H,EAAAnE,QACVH,EAAMG,QAAO7D,KAChB0D,EAAMI,aAAYhF,mBACLc,EAAMhB,kBAA2BgB,EAAMd,kBAAiB4G,iBACzDT,EAAgBgD,YACrB9B,EAAe+B,QACnBhC,EAAWiC,gBACH1B,EAAmB2B,YACtBnH,GAAkBoC,EAAK,YAAapC,GAASoH,OAClDjH,GAAsBiC,EAAK,OAAQjC,GAAMkH,QACxClH,GAAsBiC,EAAK,QAASjC,GAAMmH,kBACjCA,CAACnH,EAAcpB,EAAwBwB,EAAYC,IACrE4B,EAAK,kBAAmBjC,EAAOpB,EAAMwB,EAAMC,GAAS+G,cAEtCA,CAACxI,EAAwB6B,EAAkBC,IACzDuB,EAAK,cAAerD,EAAM6B,EAASC,GAAc2G,QAEzCA,CACRzI,EACAwB,IAMI6B,EAAK,QAASrD,EAAMwB,GAAKkH,gBACbA,CAAC1I,EAAwBwB,IAAc6B,EAAK,gBAAiBrD,EAAMwB,GAAKmH,aAC3EA,CAAC3I,EAAwBwB,EAAWC,IAAwC4B,EAAK,aAAcrD,EAAMwB,EAAMC,GAASmH,eAClHA,CAAC5I,EAAwBwB,EAAWC,IACnD4B,EAAK,eAAgBrD,EAAMwB,EAAMC,GAASoH,gBAE1BA,CAACrH,EAAWJ,IAAqBiC,EAAK,gBAAiB7B,EAAMJ,GAAM0H,gBACnEA,CAACtH,EAAWc,EAAgBlB,IAAqBiC,EAAK,gBAAiB7B,EAAMc,EAAWlB,GAAM2H,gBAC9FA,CAACvH,EAAWgB,EAAgBpB,IAAqBiC,EAAK,gBAAiB7B,EAAMgB,EAAWpB,GAAM4H,eAC/FA,CAACxH,EAAWkB,EAAetB,IAAqBiC,EAAK,eAAgB7B,EAAMkB,EAAUtB,GAAM6H,cAC5FA,CAACzH,EAAWkB,EAAeE,EAAwBxB,IACjEiC,EAAK,cAAe7B,EAAMkB,EAAUE,EAAUxB,GAAM8H,WAEzCA,CAAC1H,EAAWkB,EAAeE,EAAwBxB,IAAqBiC,EAAK,WAAY7B,EAAMkB,EAAUE,EAAUxB,KAAM,IAGhI6B,EAAM7E,SAAW,CACpBA,QAASA,EAAGoD,OAAMxB,UAA2DiD,EAAM7E,QAAQ,CAAEoD,OAAMxB,aAEhGiD,EAAMkG,QAAU,CAAEA,OAAQA,IAAelG,EAAMkG,aAC/ClG,EAAMmG,QAAU,CAAEA,OAAQA,IAAenG,EAAMmG,aAC/CnG,EAAMoG,QAAU,CAAEA,OAAQA,IAAepG,EAAMoG,aAC/CpG,EAAMqG,OAAS,CAAEA,MAAOA,IAAerG,EAAMqG,YAC7CrG,EAAMsG,KAAO,CAAEA,IAAKA,IAAetG,EAAMsG,UACzCtG,EAAMY,SAAW,CAAEA,QAASA,IAAeZ,EAAMY,cACjDZ,EAAM1D,OAAS,CAClBA,MAAOA,EAAGA,QAAOc,WAChB4C,EAAM1D,MAAM,CAAEA,QAAOc,cAMnBmJ,EAAAA,UAAUlG,EAAQ,CAExBhC,MAAOmI,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOiB,OAE3CH,KAAMsI,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOc,MAE1CoC,cAAekG,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOkD,eAGnDkB,OAAQgF,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOoE,QAE5CiF,kBAAmBD,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOqJ,mBAEvDC,gBAAiBF,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOsJ,iBAErDC,gBAAiBH,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOuJ,iBAErDC,eAAgBJ,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOwJ,gBAEpDC,eAAgBL,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOyJ,gBAEpDC,WAAYN,EAAAA,SAAS,IAAMtF,EAAc9D,OAAO0J,YAEhDC,oBAAqBP,EAAAA,SAAS,IAAMtF,EAAc9D,OAAO2J,qBAEzDC,mBAAoBR,EAAAA,SAAS,IAAMtF,EAAc9D,OAAO4J,oBAExDC,cAAeT,EAAAA,SAAS,IAAMtF,EAAc9D,OAAO6J,eAEnDC,eAAgBV,EAAAA,SAAS,IAAMtF,EAAc9D,OAAO8J,gBAEpDC,cAAeX,EAAAA,SAAS,IAAMtF,EAAc9D,OAAO+J,eAEnDC,eAAgBZ,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOgK,gBAEpDC,QAASb,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOiK,SAE7CC,OAAQd,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOkK,QAE5CC,OAAQf,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOmK,QAE5CC,aAAchB,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOoK,cAElDC,YAAajB,EAAAA,SAAS,IAAMtF,EAAc9D,OAAOqK,aAEjD7G,QAAS4F,EAAAA,SAAS,IAAM/F,EAAMG,SAE9B8G,QAAShG,EAETiG,aAAevK,GAAuFsF,EAAatF,GAEnHwK,eAAgBA,IAAMlF,EAAa,OAErC"}
|