wyfe-ivue 2.18.0 → 2.19.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.
Files changed (101) hide show
  1. package/dist/Cascader-BB3yk28P.js +1117 -0
  2. package/dist/DatePicker-PSGRmt7B.js +71 -0
  3. package/dist/Input-BIm6QfM6.js +86 -0
  4. package/dist/InputNumber-D5ZFFg9v.js +324 -0
  5. package/dist/InputRange-DtdnyTGM.js +66 -0
  6. package/dist/Radio-4C1zMSBX.js +72 -0
  7. package/dist/Select-YTfQHWik.js +80 -0
  8. package/dist/Switch-C37DM8ZB.js +50 -0
  9. package/dist/TimePicker-BCPNKwbx.js +311 -0
  10. package/dist/TimeSelect-QCGsl3tI.js +267 -0
  11. package/dist/TreeSelect-CIbi7fL-.js +1490 -0
  12. package/dist/UseElDatePicker-OPVXRCbb.js +3351 -0
  13. package/dist/UseElInput-DwzKiz_z.js +136 -0
  14. package/dist/UseElSelect-ziqK7Be6.js +1918 -0
  15. package/dist/UseRender-B4KwiKKC.js +41 -0
  16. package/dist/_baseFindIndex-DkWs4peK.js +7 -0
  17. package/dist/_plugin-vue_export-helper-CBt_VvXa.js +8 -0
  18. package/dist/click-outside-Dk875U1u.js +40 -0
  19. package/dist/cloneDeep-Cb5CTLhl.js +8 -0
  20. package/dist/collapse-transition-B7HV9jYb.js +46 -0
  21. package/dist/css-BaGTfWV6.js +1064 -0
  22. package/dist/css-Crw3tNnP.js +153 -0
  23. package/dist/css-D1Vxa6Sv.js +262 -0
  24. package/dist/css-D_udYZ1U.js +1365 -0
  25. package/dist/css-DductTH5.js +2495 -0
  26. package/dist/css-HR0lxXHj.js +417 -0
  27. package/dist/customParseFormat-3K1euVvb.js +169 -0
  28. package/dist/icon-C0_AuzqV.js +128 -0
  29. package/dist/index.es.js +5650 -22141
  30. package/dist/index.umd.cjs +26 -13
  31. package/dist/input-VDXZFIJy.js +561 -0
  32. package/dist/isArrayLikeObject-C21RH0Ux.js +13 -0
  33. package/dist/isEqual-Btx737-P.js +317 -0
  34. package/dist/panel-time-pick-DiQtkYX0.js +1056 -0
  35. package/dist/repeat-click-CdLhvwtI.js +25 -0
  36. package/dist/toNumber-BXq-nIDt.js +30 -0
  37. package/dist/types/UseElCheckbox/index.vue.d.ts +2 -2
  38. package/dist/types/UseElCheckbox/props.d.ts +1 -1
  39. package/dist/types/UseElConfigProvider/index.vue.d.ts +19 -34
  40. package/dist/types/UseElConfigProvider/props.d.ts +13 -20
  41. package/dist/types/UseElDatePicker/index.vue.d.ts +36 -0
  42. package/dist/types/UseElDatePicker/props.d.ts +17 -0
  43. package/dist/types/UseElDescriptions/index.vue.d.ts +3 -2
  44. package/dist/types/UseElDescriptions/props.d.ts +2 -2
  45. package/dist/types/UseElDescriptions/types.d.ts +4 -2
  46. package/dist/types/UseElForm/components/InlineForm.vue.d.ts +120 -10
  47. package/dist/types/UseElForm/components/RowForm.vue.d.ts +121 -8
  48. package/dist/types/UseElForm/components/controls/Cascader.vue.d.ts +52 -0
  49. package/dist/types/UseElForm/components/controls/DatePicker.vue.d.ts +39 -0
  50. package/dist/types/UseElForm/components/controls/Input.vue.d.ts +39 -0
  51. package/dist/types/UseElForm/components/controls/InputNumber.vue.d.ts +31 -0
  52. package/dist/types/UseElForm/components/controls/InputRange.vue.d.ts +39 -0
  53. package/dist/types/UseElForm/components/controls/Radio.vue.d.ts +40 -0
  54. package/dist/types/UseElForm/components/controls/Select.vue.d.ts +48 -0
  55. package/dist/types/UseElForm/components/controls/Switch.vue.d.ts +22 -0
  56. package/dist/types/UseElForm/components/controls/TimePicker.vue.d.ts +31 -0
  57. package/dist/types/UseElForm/components/controls/TimeSelect.vue.d.ts +31 -0
  58. package/dist/types/UseElForm/components/controls/TreeSelect.vue.d.ts +48 -0
  59. package/dist/types/UseElForm/index.vue.d.ts +296 -70
  60. package/dist/types/UseElForm/props.d.ts +3 -3
  61. package/dist/types/UseElForm/types.d.ts +28 -13
  62. package/dist/types/UseElForm/useFormHook.d.ts +1 -42
  63. package/dist/types/UseElInput/index.vue.d.ts +14 -4
  64. package/dist/types/UseElInput/props.d.ts +7 -1
  65. package/dist/types/UseElSelect/index.vue.d.ts +23 -5
  66. package/dist/types/UseElSelect/props.d.ts +11 -2
  67. package/dist/types/UseElSelect/useSelectHook.d.ts +3 -3
  68. package/dist/types/UseElSwitch/index.vue.d.ts +4 -4
  69. package/dist/types/UseElSwitch/props.d.ts +2 -2
  70. package/dist/types/UseElTable/components/RecTableColumn.vue.d.ts +1 -1
  71. package/dist/types/UseElTable/hooks/useTableHook.d.ts +16 -2
  72. package/dist/types/UseElTable/index.vue.d.ts +9 -9
  73. package/dist/types/UseElTable/props.d.ts +2 -2
  74. package/dist/types/UseElTable/types.d.ts +5 -3
  75. package/dist/types/UseElTable/utils.d.ts +3 -2
  76. package/dist/types/UseElUpload/index.vue.d.ts +9 -9
  77. package/dist/types/UseElUpload/types.d.ts +9 -0
  78. package/dist/types/UseRender/props.d.ts +1 -1
  79. package/dist/types/UseSvgIcon/index.vue.d.ts +2 -2
  80. package/dist/types/UseSvgIcon/props.d.ts +1 -1
  81. package/dist/types/index.d.ts +1 -0
  82. package/dist/typescript-BiVZ6C7A.js +4 -0
  83. package/dist/use-deprecated-C_WRApBA.js +278 -0
  84. package/dist/use-locale-CmOc_a7M.js +225 -0
  85. package/dist/useLog-BlFalGf6.js +49 -0
  86. package/dist/wyfe-ivue.css +1 -1
  87. package/package.json +6 -15
  88. package/src/components/UseElConfigProvider/props.ts +21 -34
  89. package/src/components/UseElDatePicker/props.ts +29 -0
  90. package/src/components/UseElDescriptions/props.ts +2 -2
  91. package/src/components/UseElDescriptions/types.ts +7 -2
  92. package/src/components/UseElForm/props.ts +5 -4
  93. package/src/components/UseElForm/types.ts +45 -23
  94. package/src/components/UseElInput/props.ts +12 -2
  95. package/src/components/UseElSelect/props.ts +16 -1
  96. package/src/components/UseElTable/props.ts +3 -3
  97. package/src/components/UseElTable/types.ts +6 -3
  98. package/src/components/UseElUpload/types.ts +17 -0
  99. package/src/components/UseRender/props.ts +2 -2
  100. package/src/types/dict.ts +47 -0
  101. package/src/types/index.ts +45 -25
@@ -0,0 +1,1117 @@
1
+ import { a as e, n as t, s as n } from "./use-locale-CmOc_a7M.js";
2
+ import { $t as r, A as i, At as a, Bt as o, Dt as s, E as c, Gt as l, H as u, It as d, M as f, O as p, S as m, Tt as h, Yt as g, _ as ee, f as _, i as te, p as v, r as y, s as b, t as ne, tn as x, v as re, x as S, xt as ie } from "./css-BaGTfWV6.js";
3
+ import { t as C } from "./isEqual-Btx737-P.js";
4
+ import { t as ae } from "./cloneDeep-Cb5CTLhl.js";
5
+ import { a as oe, b as se, f as w, g as ce, h as le, o as T, t as ue, u as E } from "./css-DductTH5.js";
6
+ import { t as de } from "./click-outside-Dk875U1u.js";
7
+ import { _ as D, a as fe, h as pe, i as me, m as he, o as ge, t as O } from "./icon-C0_AuzqV.js";
8
+ import { t as _e } from "./input-VDXZFIJy.js";
9
+ import { a as k, n as ve, t as ye } from "./css-Crw3tNnP.js";
10
+ import { t as A } from "./css-HR0lxXHj.js";
11
+ import { t as be } from "./css-D1Vxa6Sv.js";
12
+ import { t as j } from "./UseRender-B4KwiKKC.js";
13
+ import "./index.es.js";
14
+ import { Comment as xe, Fragment as M, computed as N, createBlock as P, createCommentVNode as F, createElementBlock as I, createElementVNode as L, createSlots as Se, createTextVNode as R, createVNode as z, defineComponent as B, getCurrentInstance as V, inject as H, nextTick as Ce, normalizeClass as U, normalizeStyle as we, onBeforeUpdate as Te, onMounted as Ee, openBlock as W, provide as De, reactive as Oe, ref as G, renderList as ke, renderSlot as K, resolveDynamicComponent as Ae, toDisplayString as q, unref as J, useAttrs as je, useSlots as Me, vModelText as Ne, vShow as Pe, watch as Y, withCtx as X, withDirectives as Fe, withKeys as Ie, withModifiers as Z } from "vue";
15
+ import { ArrowDown as Le, ArrowRight as Re, Check as ze, CircleClose as Be, Loading as Ve } from "@element-plus/icons-vue";
16
+ //#region node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/flattenDeep.js
17
+ var He = Infinity;
18
+ function Ue(e) {
19
+ return e != null && e.length ? u(e, He) : [];
20
+ }
21
+ //#endregion
22
+ //#region node_modules/.pnpm/element-plus@2.13.7_typescr_ec03ac4af1881a498740109f524cb771/node_modules/element-plus/es/components/cascader-panel/src/config.mjs
23
+ var Q = S({
24
+ modelValue: { type: m([
25
+ Number,
26
+ String,
27
+ Array,
28
+ Object
29
+ ]) },
30
+ options: {
31
+ type: m(Array),
32
+ default: () => []
33
+ },
34
+ props: {
35
+ type: m(Object),
36
+ default: () => ({})
37
+ }
38
+ }), We = {
39
+ expandTrigger: "click",
40
+ multiple: !1,
41
+ checkStrictly: !1,
42
+ emitPath: !0,
43
+ lazy: !1,
44
+ lazyLoad: ie,
45
+ value: "value",
46
+ label: "label",
47
+ children: "children",
48
+ leaf: "leaf",
49
+ disabled: "disabled",
50
+ hoverThreshold: 500,
51
+ checkOnClickNode: !1,
52
+ checkOnClickLeaf: !0,
53
+ showPrefix: !0
54
+ }, Ge = S({
55
+ ...Q,
56
+ border: {
57
+ type: Boolean,
58
+ default: !0
59
+ },
60
+ renderLabel: { type: Function }
61
+ }), Ke = (e) => !0, qe = {
62
+ [x]: Ke,
63
+ [r]: Ke,
64
+ close: () => !0,
65
+ "expand-change": (e) => e
66
+ }, Je = (e) => N(() => ({
67
+ ...We,
68
+ ...e.props
69
+ })), Ye = Symbol();
70
+ //#endregion
71
+ //#region node_modules/.pnpm/element-plus@2.13.7_typescr_ec03ac4af1881a498740109f524cb771/node_modules/element-plus/es/components/cascader-panel/src/node-content.mjs
72
+ function Xe(e) {
73
+ return !!(h(e) ? e.every(({ type: e }) => e === xe) : e?.type === xe);
74
+ }
75
+ var Ze = /* @__PURE__ */ B({
76
+ name: "NodeContent",
77
+ props: { node: {
78
+ type: Object,
79
+ required: !0
80
+ } },
81
+ setup(e) {
82
+ let t = ee("cascader-node"), { renderLabelFn: n } = H(Ye), { node: r } = e, { data: i, label: a } = r, o = () => {
83
+ let e = n?.({
84
+ node: r,
85
+ data: i
86
+ });
87
+ return Xe(e) ? a : e ?? a;
88
+ };
89
+ return () => z("span", { class: t.e("label") }, [o()]);
90
+ }
91
+ }), Qe = [
92
+ "id",
93
+ "aria-haspopup",
94
+ "aria-owns",
95
+ "aria-expanded",
96
+ "tabindex"
97
+ ], $e = /* @__PURE__ */ B({
98
+ name: "ElCascaderNode",
99
+ __name: "node",
100
+ props: {
101
+ node: {
102
+ type: Object,
103
+ required: !0
104
+ },
105
+ menuId: String
106
+ },
107
+ emits: ["expand"],
108
+ setup(e, { emit: t }) {
109
+ let n = e, r = t, i = H(Ye), a = ee("cascader-node"), o = N(() => i.isHoverMenu), s = N(() => i.config.multiple), c = N(() => i.config.checkStrictly), l = N(() => i.config.showPrefix), u = N(() => i.checkedNodes[0]?.uid), d = N(() => n.node.isDisabled), f = N(() => n.node.isLeaf), p = N(() => c.value && !f.value || !d.value), m = N(() => g(i.expandingNode)), h = N(() => c.value && i.checkedNodes.some(g)), g = (e) => {
110
+ let { level: t, uid: r } = n.node;
111
+ return e?.pathNodes[t - 1]?.uid === r;
112
+ }, _ = () => {
113
+ m.value || i.expandNode(n.node);
114
+ }, te = (e) => {
115
+ let { node: t } = n;
116
+ e !== t.checked && i.handleCheckChange(t, e);
117
+ }, v = () => {
118
+ i.lazyLoad(n.node, () => {
119
+ f.value || _();
120
+ });
121
+ }, y = (e) => {
122
+ o.value && (b(), !f.value && r("expand", e));
123
+ }, b = () => {
124
+ let { node: e } = n;
125
+ !p.value || e.loading || (e.loaded ? _() : v());
126
+ }, ne = () => {
127
+ f.value && !d.value && !c.value && !s.value ? re(!0) : (i.config.checkOnClickNode && (s.value || c.value) || f.value && i.config.checkOnClickLeaf) && !d.value ? x(!n.node.checked) : o.value || b();
128
+ }, x = (e) => {
129
+ c.value ? (te(e), n.node.loaded && _()) : re(e);
130
+ }, re = (e) => {
131
+ n.node.loaded ? (te(e), !c.value && _()) : v();
132
+ };
133
+ return (t, n) => (W(), I("li", {
134
+ id: `${e.menuId}-${e.node.uid}`,
135
+ role: "menuitem",
136
+ "aria-haspopup": !f.value,
137
+ "aria-owns": f.value ? void 0 : e.menuId,
138
+ "aria-expanded": m.value,
139
+ tabindex: p.value ? -1 : void 0,
140
+ class: U([
141
+ J(a).b(),
142
+ J(a).is("selectable", c.value),
143
+ J(a).is("active", e.node.checked),
144
+ J(a).is("disabled", !p.value),
145
+ m.value && "in-active-path",
146
+ h.value && "in-checked-path"
147
+ ]),
148
+ onMouseenter: y,
149
+ onFocus: y,
150
+ onClick: ne
151
+ }, [
152
+ F(" prefix "),
153
+ s.value && l.value ? (W(), P(J(A), {
154
+ key: 0,
155
+ "model-value": e.node.checked,
156
+ indeterminate: e.node.indeterminate,
157
+ disabled: d.value,
158
+ onClick: n[0] ||= Z(() => {}, ["stop"]),
159
+ "onUpdate:modelValue": x
160
+ }, null, 8, [
161
+ "model-value",
162
+ "indeterminate",
163
+ "disabled"
164
+ ])) : c.value && l.value ? (W(), P(J(be), {
165
+ key: 1,
166
+ "model-value": u.value,
167
+ label: e.node.uid,
168
+ disabled: d.value,
169
+ "onUpdate:modelValue": x,
170
+ onClick: n[1] ||= Z(() => {}, ["stop"])
171
+ }, {
172
+ default: X(() => [F("\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n "), n[2] ||= L("span", null, null, -1)]),
173
+ _: 1
174
+ }, 8, [
175
+ "model-value",
176
+ "label",
177
+ "disabled"
178
+ ])) : f.value && e.node.checked ? (W(), P(J(O), {
179
+ key: 2,
180
+ class: U(J(a).e("prefix"))
181
+ }, {
182
+ default: X(() => [z(J(ze))]),
183
+ _: 1
184
+ }, 8, ["class"])) : F("v-if", !0),
185
+ F(" content "),
186
+ z(J(Ze), { node: e.node }, null, 8, ["node"]),
187
+ F(" postfix "),
188
+ f.value ? F("v-if", !0) : (W(), I(M, { key: 3 }, [e.node.loading ? (W(), P(J(O), {
189
+ key: 0,
190
+ class: U([J(a).is("loading"), J(a).e("postfix")])
191
+ }, {
192
+ default: X(() => [z(J(Ve))]),
193
+ _: 1
194
+ }, 8, ["class"])) : (W(), P(J(O), {
195
+ key: 1,
196
+ class: U(["arrow-right", J(a).e("postfix")])
197
+ }, {
198
+ default: X(() => [z(J(Re))]),
199
+ _: 1
200
+ }, 8, ["class"]))], 64))
201
+ ], 42, Qe));
202
+ }
203
+ }), et = /* @__PURE__ */ B({
204
+ name: "ElCascaderMenu",
205
+ __name: "menu",
206
+ props: {
207
+ nodes: {
208
+ type: Array,
209
+ required: !0
210
+ },
211
+ index: {
212
+ type: Number,
213
+ required: !0
214
+ }
215
+ },
216
+ setup(e) {
217
+ let n = e, r = V(), i = ee("cascader-menu"), { t: a } = t(), o = v(), s, c, l = H(Ye), u = G(), d = N(() => !n.nodes.length), f = N(() => !l.initialLoaded), p = N(() => `${o.value}-${n.index}`), m = (e) => {
218
+ s = e.target;
219
+ }, h = (e) => {
220
+ if (!(!l.isHoverMenu || !s || !u.value)) if (s.contains(e.target)) {
221
+ g();
222
+ let t = r.vnode.el, { left: n } = t.getBoundingClientRect(), { offsetWidth: a, offsetHeight: o } = t, c = e.clientX - n, l = s.offsetTop, d = l + s.offsetHeight, f = t.querySelector(`.${i.e("wrap")}`)?.scrollTop || 0;
223
+ u.value.innerHTML = `
224
+ <path style="pointer-events: auto;" fill="transparent" d="M${c} ${l} L${a} ${f} V${l} Z" />
225
+ <path style="pointer-events: auto;" fill="transparent" d="M${c} ${d} L${a} ${o + f} V${d} Z" />
226
+ `;
227
+ } else c ||= window.setTimeout(_, l.config.hoverThreshold);
228
+ }, g = () => {
229
+ c &&= (clearTimeout(c), void 0);
230
+ }, _ = () => {
231
+ u.value && (u.value.innerHTML = "", g());
232
+ };
233
+ return (t, n) => (W(), P(J(ue), {
234
+ key: p.value,
235
+ tag: "ul",
236
+ role: "menu",
237
+ class: U(J(i).b()),
238
+ "wrap-class": J(i).e("wrap"),
239
+ "view-class": [J(i).e("list"), J(i).is("empty", d.value)],
240
+ onMousemove: h,
241
+ onMouseleave: _
242
+ }, {
243
+ default: X(() => [
244
+ (W(!0), I(M, null, ke(e.nodes, (e) => (W(), P($e, {
245
+ key: e.uid,
246
+ node: e,
247
+ "menu-id": p.value,
248
+ onExpand: m
249
+ }, null, 8, ["node", "menu-id"]))), 128)),
250
+ f.value ? (W(), I("div", {
251
+ key: 0,
252
+ class: U(J(i).e("empty-text"))
253
+ }, [z(J(O), {
254
+ size: "14",
255
+ class: U(J(i).is("loading"))
256
+ }, {
257
+ default: X(() => [z(J(Ve))]),
258
+ _: 1
259
+ }, 8, ["class"]), R(" " + q(J(a)("el.cascader.loading")), 1)], 2)) : d.value ? (W(), I("div", {
260
+ key: 1,
261
+ class: U(J(i).e("empty-text"))
262
+ }, [K(t.$slots, "empty", {}, () => [R(q(J(a)("el.cascader.noData")), 1)])], 2)) : J(l)?.isHoverMenu ? (W(), I(M, { key: 2 }, [F(" eslint-disable vue/html-self-closing "), (W(), I("svg", {
263
+ ref_key: "hoverZone",
264
+ ref: u,
265
+ class: U(J(i).e("hover-zone"))
266
+ }, null, 2))], 2112)) : F("v-if", !0),
267
+ F(" eslint-enable vue/html-self-closing ")
268
+ ]),
269
+ _: 3
270
+ }, 8, [
271
+ "class",
272
+ "wrap-class",
273
+ "view-class"
274
+ ]));
275
+ }
276
+ }), tt = 0, nt = (e) => {
277
+ let t = [e], { parent: n } = e;
278
+ for (; n;) t.unshift(n), n = n.parent;
279
+ return t;
280
+ }, rt = class e {
281
+ constructor(t, n, r, i = !1) {
282
+ this.data = t, this.config = n, this.parent = r, this.root = i, this.uid = tt++, this.checked = !1, this.indeterminate = !1, this.loading = !1;
283
+ let { value: a, label: o, children: s } = n, c = t[s], l = nt(this);
284
+ this.level = i ? 0 : r ? r.level + 1 : 1, this.value = t[a], this.label = t[o], this.pathNodes = l, this.pathValues = l.map((e) => e.value), this.pathLabels = l.map((e) => e.label), this.childrenData = c, this.children = (c || []).map((t) => new e(t, n, this)), this.loaded = !n.lazy || this.isLeaf || !p(c), this.text = "";
285
+ }
286
+ get isDisabled() {
287
+ let { data: e, parent: t, config: n } = this, { disabled: r, checkStrictly: i } = n;
288
+ return (s(r) ? r(e, this) : !!e[r]) || !i && !!t?.isDisabled;
289
+ }
290
+ get isLeaf() {
291
+ let { data: e, config: t, childrenData: n, loaded: r } = this, { lazy: i, leaf: a } = t, o = s(a) ? a(e, this) : e[a];
292
+ return f(o) ? i && !r ? !1 : !(h(n) && n.length) : !!o;
293
+ }
294
+ get valueByOption() {
295
+ return this.config.emitPath ? this.pathValues : this.value;
296
+ }
297
+ appendChild(t) {
298
+ let { childrenData: n, children: r } = this, i = new e(t, this.config, this);
299
+ return h(n) ? n.push(t) : this.childrenData = [t], r.push(i), i;
300
+ }
301
+ calcText(e, t) {
302
+ let n = e ? this.pathLabels.join(t) : this.label;
303
+ return this.text = n, n;
304
+ }
305
+ broadcast(e) {
306
+ this.children.forEach((t) => {
307
+ t && (t.broadcast(e), t.onParentCheck?.(e));
308
+ });
309
+ }
310
+ emit() {
311
+ let { parent: e } = this;
312
+ e && (e.onChildCheck?.(), e.emit());
313
+ }
314
+ onParentCheck(e) {
315
+ this.isDisabled || this.setCheckState(e);
316
+ }
317
+ onChildCheck() {
318
+ let { children: e } = this, t = e.filter((e) => !e.isDisabled), n = t.length ? t.every((e) => e.checked) : !1;
319
+ this.setCheckState(n);
320
+ }
321
+ setCheckState(e) {
322
+ let t = this.children.length, n = this.children.reduce((e, t) => e + (t.checked ? 1 : t.indeterminate ? .5 : 0), 0);
323
+ this.checked = this.loaded && this.children.filter((e) => !e.isDisabled).every((e) => e.loaded && e.checked) && e, this.indeterminate = this.loaded && n !== t && n > 0;
324
+ }
325
+ doCheck(e) {
326
+ if (this.checked === e) return;
327
+ let { checkStrictly: t, multiple: n } = this.config;
328
+ t || !n ? this.checked = e : (this.broadcast(e), this.setCheckState(e), this.emit());
329
+ }
330
+ }, it = (e, t) => e.reduce((e, n) => (n.isLeaf ? e.push(n) : (!t && e.push(n), e = e.concat(it(n.children, t))), e), []), $ = class {
331
+ constructor(e, t) {
332
+ this.config = t;
333
+ let n = (e || []).map((e) => new rt(e, this.config));
334
+ this.nodes = n, this.allNodes = it(n, !1), this.leafNodes = it(n, !0);
335
+ }
336
+ getNodes() {
337
+ return this.nodes;
338
+ }
339
+ getFlattedNodes(e) {
340
+ return e ? this.leafNodes : this.allNodes;
341
+ }
342
+ appendNode(e, t) {
343
+ let n = t ? t.appendChild(e) : new rt(e, this.config);
344
+ t || this.nodes.push(n), this.appendAllNodesAndLeafNodes(n);
345
+ }
346
+ appendNodes(e, t) {
347
+ e.length > 0 ? e.forEach((e) => this.appendNode(e, t)) : t && t.isLeaf && this.leafNodes.push(t);
348
+ }
349
+ appendAllNodesAndLeafNodes(e) {
350
+ this.allNodes.push(e), e.isLeaf && this.leafNodes.push(e), e.children && e.children.forEach((e) => {
351
+ this.appendAllNodesAndLeafNodes(e);
352
+ });
353
+ }
354
+ getNodeByValue(e, t = !1) {
355
+ return i(e) ? null : this.getFlattedNodes(t).find((t) => C(t.value, e) || C(t.pathValues, e)) || null;
356
+ }
357
+ getSameNode(e) {
358
+ return e && this.getFlattedNodes(!1).find(({ value: t, level: n }) => C(e.value, t) && e.level === n) || null;
359
+ }
360
+ }, at = (e) => {
361
+ if (!e) return 0;
362
+ let t = e.id.split("-");
363
+ return Number(t[t.length - 2]);
364
+ }, ot = (e) => {
365
+ if (!e) return;
366
+ let t = e.querySelector("input");
367
+ t ? t.click() : D(e) && e.click();
368
+ }, st = (e, t) => {
369
+ let n = t.slice(0), r = n.map((e) => e.uid), i = e.reduce((e, t) => {
370
+ let i = r.indexOf(t.uid);
371
+ return i > -1 && (e.push(t), n.splice(i, 1), r.splice(i, 1)), e;
372
+ }, []);
373
+ return i.push(...n), i;
374
+ }, ct = b(/* @__PURE__ */ B({
375
+ name: "ElCascaderPanel",
376
+ __name: "index",
377
+ props: Ge,
378
+ emits: qe,
379
+ setup(t, { expose: i, emit: a }) {
380
+ let o = t, s = a, c = !1, u = ee("cascader"), d = Je(o), f = Me(), m, h = G(!0), g = G(!1), _ = G([]), te = G(), v = G([]), y = G(), b = G([]), ne = N(() => d.value.expandTrigger === "hover"), re = N(() => o.renderLabel || f.default), S = () => {
381
+ let { options: e } = o, t = d.value;
382
+ c = !1, m = new $(e, t), v.value = [m.getNodes()], t.lazy && p(o.options) ? (h.value = !1, ie(void 0, (e) => {
383
+ e && (m = new $(e, t), v.value = [m.getNodes()]), h.value = !0, D(!1, !0);
384
+ })) : D(!1, !0);
385
+ }, ie = (e, t) => {
386
+ let n = d.value;
387
+ e ||= new rt({}, n, void 0, !0), e.loading = !0, n.lazyLoad(e, (n) => {
388
+ let r = e, i = r.root ? null : r;
389
+ r.loading = !1, r.loaded = !0, r.childrenData = r.childrenData || [], n && m?.appendNodes(n, i), n && t?.(n), e.level === 0 && (g.value = !0);
390
+ }, () => {
391
+ e.loading = !1, e.loaded = !1, e.level === 0 && (h.value = !0);
392
+ });
393
+ }, oe = (e, t) => {
394
+ let { level: n } = e, r = v.value.slice(0, n), i;
395
+ e.isLeaf ? i = e.pathNodes[n - 2] : (i = e, r.push(e.children)), y.value?.uid !== i?.uid && (y.value = e, v.value = r, !t && s("expand-change", e?.pathValues || []));
396
+ }, se = (e, t, n = !0) => {
397
+ let { checkStrictly: r, multiple: i } = d.value, a = b.value[0];
398
+ c = !0, !i && a?.doCheck(!1), e.doCheck(t), de(), n && !i && !r && s("close"), !n && !i && ce(e);
399
+ }, ce = (e) => {
400
+ e && (e = e.parent, ce(e), e && oe(e));
401
+ }, le = (e) => m?.getFlattedNodes(e), T = (e) => le(e)?.filter(({ checked: e }) => e !== !1), ue = () => {
402
+ b.value.forEach((e) => e.doCheck(!1)), de(), v.value = v.value.slice(0, 1), y.value = void 0, s("expand-change", []);
403
+ }, de = () => {
404
+ let { checkStrictly: e, multiple: t } = d.value, n = b.value, r = st(n, T(!e)), i = r.map((e) => e.valueByOption);
405
+ b.value = r, te.value = t ? i : i[0] ?? null;
406
+ }, D = (e = !1, t = !1) => {
407
+ let { modelValue: n } = o, { lazy: r, multiple: i, checkStrictly: a } = d.value, s = !a;
408
+ if (!(!h.value || c || !t && C(n, te.value))) if (r && !e) {
409
+ let e = w(Ue(E(n))).map((e) => m?.getNodeByValue(e)).filter((e) => !!e && !e.loaded && !e.loading);
410
+ e.length ? e.forEach((e) => {
411
+ ie(e, () => D(!1, t));
412
+ }) : D(!0, t);
413
+ } else fe(w((i ? E(n) : [n]).map((e) => m?.getNodeByValue(e, s))), t), te.value = ae(n ?? void 0);
414
+ }, fe = (e, t = !0) => {
415
+ let { checkStrictly: n } = d.value, r = b.value, i = e.filter((e) => !!e && (n || e.isLeaf)), a = m?.getSameNode(y.value), o = t && a || i[0];
416
+ o ? o.pathNodes.forEach((e) => oe(e, !0)) : y.value = void 0, r.forEach((e) => e.doCheck(!1)), Oe(i).forEach((e) => e.doCheck(!0)), b.value = i, Ce(me);
417
+ }, me = () => {
418
+ l && _.value.forEach((e) => {
419
+ let t = e?.$el;
420
+ if (t) {
421
+ let e = t.querySelector(`.${u.namespace.value}-scrollbar__wrap`), n = t.querySelector(`.${u.b("node")}.in-active-path`);
422
+ if (!n) {
423
+ let e = t.querySelectorAll(`.${u.b("node")}.${u.is("active")}`);
424
+ n = e[e.length - 1];
425
+ }
426
+ k(e, n);
427
+ }
428
+ });
429
+ }, ge = (t) => {
430
+ let r = t.target, i = e(t);
431
+ switch (i) {
432
+ case n.up:
433
+ case n.down:
434
+ t.preventDefault(), he(pe(r, i === n.up ? -1 : 1, `.${u.b("node")}[tabindex="-1"]`));
435
+ break;
436
+ case n.left: {
437
+ t.preventDefault();
438
+ let e = _.value[at(r) - 1]?.$el.querySelector(`.${u.b("node")}[aria-expanded="true"]`);
439
+ he(e);
440
+ break;
441
+ }
442
+ case n.right: {
443
+ t.preventDefault();
444
+ let e = _.value[at(r) + 1]?.$el.querySelector(`.${u.b("node")}[tabindex="-1"]`);
445
+ he(e);
446
+ break;
447
+ }
448
+ case n.enter:
449
+ case n.numpadEnter:
450
+ ot(r);
451
+ break;
452
+ }
453
+ };
454
+ return De(Ye, Oe({
455
+ config: d,
456
+ expandingNode: y,
457
+ checkedNodes: b,
458
+ isHoverMenu: ne,
459
+ initialLoaded: h,
460
+ renderLabelFn: re,
461
+ lazyLoad: ie,
462
+ expandNode: oe,
463
+ handleCheckChange: se
464
+ })), Y(d, (e, t) => {
465
+ C(e, t) || S();
466
+ }, { immediate: !0 }), Y(() => o.options, S, { deep: !0 }), Y(() => o.modelValue, () => {
467
+ c = !1, D();
468
+ }, { deep: !0 }), Y(() => te.value, (e) => {
469
+ C(e, o.modelValue) || (s(x, e), s(r, e));
470
+ }), Te(() => _.value = []), Ee(() => !p(o.modelValue) && D()), i({
471
+ menuList: _,
472
+ menus: v,
473
+ checkedNodes: b,
474
+ handleKeyDown: ge,
475
+ handleCheckChange: se,
476
+ getFlattedNodes: le,
477
+ getCheckedNodes: T,
478
+ clearCheckedNodes: ue,
479
+ calculateCheckedValue: de,
480
+ scrollToExpandingNode: me,
481
+ loadLazyRootNodes: () => {
482
+ g.value || S();
483
+ }
484
+ }), (e, n) => (W(), I("div", {
485
+ class: U([J(u).b("panel"), J(u).is("bordered", t.border)]),
486
+ onKeydown: ge
487
+ }, [(W(!0), I(M, null, ke(v.value, (t, n) => (W(), P(et, {
488
+ key: n,
489
+ ref_for: !0,
490
+ ref: (e) => _.value[n] = e,
491
+ index: n,
492
+ nodes: [...t]
493
+ }, {
494
+ empty: X(() => [K(e.$slots, "empty")]),
495
+ _: 3
496
+ }, 8, ["index", "nodes"]))), 128))], 34));
497
+ }
498
+ })), lt = S({
499
+ ...Q,
500
+ size: _,
501
+ placeholder: String,
502
+ disabled: {
503
+ type: Boolean,
504
+ default: void 0
505
+ },
506
+ clearable: Boolean,
507
+ clearIcon: {
508
+ type: me,
509
+ default: Be
510
+ },
511
+ filterable: Boolean,
512
+ filterMethod: {
513
+ type: m(Function),
514
+ default: (e, t) => e.text.includes(t)
515
+ },
516
+ separator: {
517
+ type: String,
518
+ default: " / "
519
+ },
520
+ showAllLevels: {
521
+ type: Boolean,
522
+ default: !0
523
+ },
524
+ collapseTags: Boolean,
525
+ maxCollapseTags: {
526
+ type: Number,
527
+ default: 1
528
+ },
529
+ collapseTagsTooltip: Boolean,
530
+ maxCollapseTagsTooltipHeight: { type: [String, Number] },
531
+ debounce: {
532
+ type: Number,
533
+ default: 300
534
+ },
535
+ beforeFilter: {
536
+ type: m(Function),
537
+ default: () => !0
538
+ },
539
+ placement: {
540
+ type: m(String),
541
+ values: se,
542
+ default: "bottom-start"
543
+ },
544
+ fallbackPlacements: {
545
+ type: m(Array),
546
+ default: [
547
+ "bottom-start",
548
+ "bottom",
549
+ "top-start",
550
+ "top",
551
+ "right",
552
+ "left"
553
+ ]
554
+ },
555
+ popperClass: T.popperClass,
556
+ popperStyle: T.popperStyle,
557
+ teleported: T.teleported,
558
+ effect: {
559
+ type: m(String),
560
+ default: "light"
561
+ },
562
+ tagType: {
563
+ ...ve.type,
564
+ default: "info"
565
+ },
566
+ tagEffect: {
567
+ ...ve.effect,
568
+ default: "light"
569
+ },
570
+ validateEvent: {
571
+ type: Boolean,
572
+ default: !0
573
+ },
574
+ persistent: {
575
+ type: Boolean,
576
+ default: !0
577
+ },
578
+ showCheckedStrategy: {
579
+ type: String,
580
+ values: ["parent", "child"],
581
+ default: "child"
582
+ },
583
+ checkOnClickNode: Boolean,
584
+ showPrefix: {
585
+ type: Boolean,
586
+ default: !0
587
+ },
588
+ ...ce
589
+ }), ut = (e) => !0, dt = {
590
+ [x]: ut,
591
+ [r]: ut,
592
+ focus: (e) => e instanceof FocusEvent,
593
+ blur: (e) => e instanceof FocusEvent,
594
+ clear: () => !0,
595
+ visibleChange: (e) => c(e),
596
+ expandChange: (e) => !!e,
597
+ removeTag: (e) => !!e
598
+ }, ft = ["placeholder"], pt = ["onClick"], mt = b(/* @__PURE__ */ B({
599
+ name: "ElCascader",
600
+ __name: "cascader",
601
+ props: lt,
602
+ emits: dt,
603
+ setup(i, { expose: s, emit: c }) {
604
+ let u = { modifiers: [{
605
+ name: "arrowPosition",
606
+ enabled: !0,
607
+ phase: "main",
608
+ fn: ({ state: e }) => {
609
+ let { modifiersData: t, placement: n } = e;
610
+ [
611
+ "right",
612
+ "left",
613
+ "bottom",
614
+ "top"
615
+ ].includes(n) || t.arrow && (t.arrow.x = 35);
616
+ },
617
+ requires: ["arrow"]
618
+ }] }, f = i, p = c, m = je(), h = Me(), _ = 0, v = 0, b = ee("cascader"), S = ee("input"), ie = {
619
+ small: 7,
620
+ default: 11,
621
+ large: 15
622
+ }, { t: C } = t(), { formItem: se } = ne(), w = y(), { valueOnClear: ce } = le(f), { isComposing: T, handleComposition: E } = fe({ afterComposition(e) {
623
+ let t = e.target?.value;
624
+ Et(t);
625
+ } }), D = G(), me = G(), k = G(), ve = G(), A = G(), be = G(), j = G(!1), xe = G(!1), R = G(!1), B = G(""), V = G(""), H = G([]), Te = G([]), De = N(() => f.props.multiple ? f.collapseTags ? H.value.slice(0, f.maxCollapseTags) : H.value : []), Oe = N(() => f.props.multiple && f.collapseTags ? H.value.slice(f.maxCollapseTags) : []), Re = N(() => m.style), Be = N(() => f.placeholder ?? C("el.cascader.placeholder")), Ve = N(() => V.value || H.value.length > 0 || T.value ? "" : Be.value), He = te(), Ue = N(() => He.value === "small" ? "small" : "default"), Q = N(() => !!f.props.multiple), We = N(() => !f.filterable || Q.value), Ge = N(() => Q.value ? V.value : B.value), Ke = N(() => A.value?.checkedNodes || []), { wrapperRef: qe, isFocused: Je, handleBlur: Ye } = ge(k, {
626
+ disabled: w,
627
+ beforeBlur(e) {
628
+ return D.value?.isFocusInsideContent(e) || me.value?.isFocusInsideContent(e);
629
+ },
630
+ afterBlur() {
631
+ f.validateEvent && se?.validate?.("blur").catch((e) => re(e));
632
+ }
633
+ }), Xe = N(() => !f.clearable || w.value || R.value || !xe.value && !Je.value ? !1 : !!Ke.value.length), Ze = N(() => {
634
+ let { showAllLevels: e, separator: t } = f, n = Ke.value;
635
+ return n.length ? Q.value ? "" : n[0].calcText(e, t) : "";
636
+ }), Qe = N(() => se?.validateState || ""), $e = N({
637
+ get() {
638
+ return ae(f.modelValue);
639
+ },
640
+ set(e) {
641
+ let t = e ?? ce.value;
642
+ p(x, t), p(r, t), f.validateEvent && se?.validate("change").catch((e) => re(e));
643
+ }
644
+ }), et = N(() => [
645
+ b.b(),
646
+ b.m(He.value),
647
+ b.is("disabled", w.value),
648
+ m.class
649
+ ]), tt = N(() => [
650
+ S.e("icon"),
651
+ "icon-arrow-down",
652
+ b.is("reverse", j.value)
653
+ ]), nt = N(() => b.is("focus", Je.value)), rt = N(() => D.value?.popperRef?.contentRef), it = (e) => {
654
+ Je.value && Ye(new FocusEvent("blur", e)), $(!1);
655
+ }, $ = (e) => {
656
+ w.value || (e ??= !j.value, e !== j.value && (j.value = e, k.value?.input?.setAttribute("aria-expanded", `${e}`), e ? (at(), A.value && Ce(A.value.scrollToExpandingNode)) : f.filterable && xt(), p("visibleChange", e)));
657
+ }, at = () => {
658
+ Ce(() => {
659
+ D.value?.updatePopper();
660
+ });
661
+ }, ot = () => {
662
+ R.value = !1;
663
+ }, st = (e) => {
664
+ let { showAllLevels: t, separator: n } = f;
665
+ return {
666
+ node: e,
667
+ key: e.uid,
668
+ text: e.calcText(t, n),
669
+ hitState: !1,
670
+ closable: !w.value && !e.isDisabled
671
+ };
672
+ }, lt = (e) => {
673
+ let t = e.node;
674
+ t.doCheck(!1), A.value?.calculateCheckedValue(), p("removeTag", t.valueByOption);
675
+ }, ut = () => {
676
+ switch (f.showCheckedStrategy) {
677
+ case "child": return Ke.value;
678
+ case "parent": {
679
+ let e = _t(!1), t = e.map((e) => e.value);
680
+ return e.filter((e) => !e.parent || !t.includes(e.parent.value));
681
+ }
682
+ default: return [];
683
+ }
684
+ }, dt = () => {
685
+ if (!Q.value) return;
686
+ let e = ut(), t = [];
687
+ e.forEach((e) => t.push(st(e))), H.value = t;
688
+ }, mt = () => {
689
+ let { filterMethod: e, showAllLevels: t, separator: n } = f, r = A.value?.getFlattedNodes(!f.props.checkStrictly)?.filter((r) => r.isDisabled ? !1 : (r.calcText(t, n), e(r, Ge.value)));
690
+ Q.value && H.value.forEach((e) => {
691
+ e.hitState = !1;
692
+ }), R.value = !0, Te.value = r, at();
693
+ }, ht = () => {
694
+ let e;
695
+ e = R.value && be.value ? be.value.$el.querySelector(`.${b.e("suggestion-item")}`) : A.value?.$el.querySelector(`.${b.b("node")}[tabindex="-1"]`), e && (e.focus(), !R.value && e.getAttribute("aria-haspopup") === "true" && e.click());
696
+ }, gt = () => {
697
+ let e = k.value?.input, t = ve.value, n = be.value?.$el;
698
+ if (!(!l || !e)) {
699
+ if (n) {
700
+ let t = n.querySelector(`.${b.e("suggestion-list")}`);
701
+ t.style.minWidth = `${e.offsetWidth}px`;
702
+ }
703
+ if (t) {
704
+ let { offsetHeight: n } = t, r = H.value.length > 0 ? `${Math.max(n, _) - 2}px` : `${_}px`;
705
+ if (e.style.height = r, h.prefix) {
706
+ let e = k.value?.$el.querySelector(`.${S.e("prefix")}`), n = 0;
707
+ e && (n = e.offsetWidth, n > 0 && (n += ie[He.value || "default"])), t.style.left = `${n}px`;
708
+ } else t.style.left = "0";
709
+ at();
710
+ }
711
+ }
712
+ }, _t = (e) => A.value?.getCheckedNodes(e), vt = (e) => {
713
+ at(), p("expandChange", e);
714
+ }, yt = (t) => {
715
+ if (!T.value) switch (e(t)) {
716
+ case n.enter:
717
+ case n.numpadEnter:
718
+ $();
719
+ break;
720
+ case n.down:
721
+ $(!0), Ce(ht), t.preventDefault();
722
+ break;
723
+ case n.esc:
724
+ j.value === !0 && (t.preventDefault(), t.stopPropagation(), $(!1));
725
+ break;
726
+ case n.tab:
727
+ $(!1);
728
+ break;
729
+ }
730
+ }, bt = () => {
731
+ A.value?.clearCheckedNodes(), !j.value && f.filterable && xt(), $(!1), p("clear");
732
+ }, xt = () => {
733
+ let { value: e } = Ze;
734
+ B.value = e, V.value = e;
735
+ }, St = (e) => {
736
+ let { checked: t } = e;
737
+ Q.value ? A.value?.handleCheckChange(e, !t, !1) : (!t && A.value?.handleCheckChange(e, !0, !1), $(!1));
738
+ }, Ct = (t) => {
739
+ let r = t.target, i = e(t);
740
+ switch (i) {
741
+ case n.up:
742
+ case n.down:
743
+ t.preventDefault(), he(pe(r, i === n.up ? -1 : 1, `.${b.e("suggestion-item")}[tabindex="-1"]`));
744
+ break;
745
+ case n.enter:
746
+ case n.numpadEnter:
747
+ r.click();
748
+ break;
749
+ }
750
+ }, wt = () => {
751
+ let e = H.value[H.value.length - 1];
752
+ v = V.value ? 0 : v + 1, !(!e || !v || f.collapseTags && H.value.length > 1) && (e.hitState ? lt(e) : e.hitState = !0);
753
+ }, Tt = g(() => {
754
+ let { value: e } = Ge;
755
+ if (!e) return;
756
+ let t = f.beforeFilter(e);
757
+ a(t) ? t.then(mt).catch(() => {}) : t === !1 ? ot() : mt();
758
+ }, N(() => f.debounce)), Et = (e, t) => {
759
+ if (!j.value && $(!0), !t?.isComposing) if (e) Tt();
760
+ else {
761
+ let e = f.beforeFilter("");
762
+ a(e) && e.catch(() => {}), ot();
763
+ }
764
+ }, Dt = (e) => Number.parseFloat(d(S.cssVarName("input-height"), e).value) - 2;
765
+ return Y(R, at), Y([
766
+ Ke,
767
+ w,
768
+ () => f.collapseTags,
769
+ () => f.maxCollapseTags
770
+ ], dt), Y(H, () => {
771
+ Ce(() => gt());
772
+ }), Y(He, async () => {
773
+ await Ce();
774
+ let e = k.value.input;
775
+ _ = Dt(e) || _, gt();
776
+ }), Y(Ze, xt, { immediate: !0 }), Y(() => j.value, (e) => {
777
+ e && f.props.lazy && f.props.lazyLoad && A.value?.loadLazyRootNodes();
778
+ }), Ee(() => {
779
+ let e = k.value.input, t = Dt(e);
780
+ _ = e.offsetHeight || t, o(e, gt);
781
+ }), s({
782
+ getCheckedNodes: _t,
783
+ cascaderPanelRef: A,
784
+ togglePopperVisible: $,
785
+ contentRef: rt,
786
+ presentText: Ze,
787
+ focus: () => {
788
+ k.value?.focus();
789
+ },
790
+ blur: () => {
791
+ k.value?.blur();
792
+ }
793
+ }), (e, t) => (W(), P(J(oe), {
794
+ ref_key: "tooltipRef",
795
+ ref: D,
796
+ visible: j.value,
797
+ teleported: i.teleported,
798
+ "popper-class": [J(b).e("dropdown"), i.popperClass],
799
+ "popper-style": i.popperStyle,
800
+ "popper-options": u,
801
+ "fallback-placements": i.fallbackPlacements,
802
+ "stop-popper-mouse-event": !1,
803
+ "gpu-acceleration": !1,
804
+ placement: i.placement,
805
+ transition: `${J(b).namespace.value}-zoom-in-top`,
806
+ effect: i.effect,
807
+ pure: "",
808
+ persistent: i.persistent,
809
+ onHide: ot
810
+ }, {
811
+ default: X(() => [Fe((W(), I("div", {
812
+ ref_key: "wrapperRef",
813
+ ref: qe,
814
+ class: U(et.value),
815
+ style: we(Re.value),
816
+ onClick: t[8] ||= () => $(We.value ? void 0 : !0),
817
+ onKeydown: yt,
818
+ onMouseenter: t[9] ||= (e) => xe.value = !0,
819
+ onMouseleave: t[10] ||= (e) => xe.value = !1
820
+ }, [z(J(_e), {
821
+ ref_key: "inputRef",
822
+ ref: k,
823
+ modelValue: B.value,
824
+ "onUpdate:modelValue": t[1] ||= (e) => B.value = e,
825
+ placeholder: Ve.value,
826
+ readonly: We.value,
827
+ disabled: J(w),
828
+ "validate-event": !1,
829
+ size: J(He),
830
+ class: U(nt.value),
831
+ tabindex: Q.value && i.filterable && !J(w) ? -1 : void 0,
832
+ onCompositionstart: J(E),
833
+ onCompositionupdate: J(E),
834
+ onCompositionend: J(E),
835
+ onInput: Et
836
+ }, Se({
837
+ suffix: X(() => [Xe.value ? (W(), P(J(O), {
838
+ key: "clear",
839
+ class: U([J(S).e("icon"), "icon-circle-close"]),
840
+ onClick: Z(bt, ["stop"])
841
+ }, {
842
+ default: X(() => [(W(), P(Ae(i.clearIcon)))]),
843
+ _: 1
844
+ }, 8, ["class"])) : (W(), P(J(O), {
845
+ key: "arrow-down",
846
+ class: U(tt.value),
847
+ onClick: t[0] ||= Z((e) => $(), ["stop"])
848
+ }, {
849
+ default: X(() => [z(J(Le))]),
850
+ _: 1
851
+ }, 8, ["class"]))]),
852
+ _: 2
853
+ }, [e.$slots.prefix ? {
854
+ name: "prefix",
855
+ fn: X(() => [K(e.$slots, "prefix")]),
856
+ key: "0"
857
+ } : void 0]), 1032, [
858
+ "modelValue",
859
+ "placeholder",
860
+ "readonly",
861
+ "disabled",
862
+ "size",
863
+ "class",
864
+ "tabindex",
865
+ "onCompositionstart",
866
+ "onCompositionupdate",
867
+ "onCompositionend"
868
+ ]), Q.value ? (W(), I("div", {
869
+ key: 0,
870
+ ref_key: "tagWrapper",
871
+ ref: ve,
872
+ class: U([J(b).e("tags"), J(b).is("validate", !!Qe.value)])
873
+ }, [
874
+ K(e.$slots, "tag", {
875
+ data: H.value,
876
+ deleteTag: lt
877
+ }, () => [(W(!0), I(M, null, ke(De.value, (e) => (W(), P(J(ye), {
878
+ key: e.key,
879
+ type: i.tagType,
880
+ size: Ue.value,
881
+ effect: i.tagEffect,
882
+ hit: e.hitState,
883
+ closable: e.closable,
884
+ "disable-transitions": "",
885
+ onClose: (t) => lt(e)
886
+ }, {
887
+ default: X(() => [L("span", null, q(e.text), 1)]),
888
+ _: 2
889
+ }, 1032, [
890
+ "type",
891
+ "size",
892
+ "effect",
893
+ "hit",
894
+ "closable",
895
+ "onClose"
896
+ ]))), 128))]),
897
+ i.collapseTags && H.value.length > i.maxCollapseTags ? (W(), P(J(oe), {
898
+ key: 0,
899
+ ref_key: "tagTooltipRef",
900
+ ref: me,
901
+ disabled: j.value || !i.collapseTagsTooltip,
902
+ "fallback-placements": [
903
+ "bottom",
904
+ "top",
905
+ "right",
906
+ "left"
907
+ ],
908
+ placement: "bottom",
909
+ "popper-class": i.popperClass,
910
+ "popper-style": i.popperStyle,
911
+ effect: i.effect,
912
+ persistent: i.persistent
913
+ }, {
914
+ default: X(() => [z(J(ye), {
915
+ closable: !1,
916
+ size: Ue.value,
917
+ type: i.tagType,
918
+ effect: i.tagEffect,
919
+ "disable-transitions": ""
920
+ }, {
921
+ default: X(() => [L("span", { class: U(J(b).e("tags-text")) }, " + " + q(H.value.length - i.maxCollapseTags), 3)]),
922
+ _: 1
923
+ }, 8, [
924
+ "size",
925
+ "type",
926
+ "effect"
927
+ ])]),
928
+ content: X(() => [z(J(ue), { "max-height": i.maxCollapseTagsTooltipHeight }, {
929
+ default: X(() => [L("div", { class: U(J(b).e("collapse-tags")) }, [(W(!0), I(M, null, ke(Oe.value, (e, t) => (W(), I("div", {
930
+ key: t,
931
+ class: U(J(b).e("collapse-tag"))
932
+ }, [(W(), P(J(ye), {
933
+ key: e.key,
934
+ class: "in-tooltip",
935
+ type: i.tagType,
936
+ size: Ue.value,
937
+ effect: i.tagEffect,
938
+ hit: e.hitState,
939
+ closable: e.closable,
940
+ "disable-transitions": "",
941
+ onClose: (t) => lt(e)
942
+ }, {
943
+ default: X(() => [L("span", null, q(e.text), 1)]),
944
+ _: 2
945
+ }, 1032, [
946
+ "type",
947
+ "size",
948
+ "effect",
949
+ "hit",
950
+ "closable",
951
+ "onClose"
952
+ ]))], 2))), 128))], 2)]),
953
+ _: 1
954
+ }, 8, ["max-height"])]),
955
+ _: 1
956
+ }, 8, [
957
+ "disabled",
958
+ "popper-class",
959
+ "popper-style",
960
+ "effect",
961
+ "persistent"
962
+ ])) : F("v-if", !0),
963
+ i.filterable && !J(w) ? Fe((W(), I("input", {
964
+ key: 1,
965
+ "onUpdate:modelValue": t[2] ||= (e) => V.value = e,
966
+ type: "text",
967
+ class: U(J(b).e("search-input")),
968
+ placeholder: Ze.value ? "" : Be.value,
969
+ onInput: t[3] ||= (e) => Et(V.value, e),
970
+ onClick: t[4] ||= Z((e) => $(!0), ["stop"]),
971
+ onKeydown: Ie(wt, ["delete"]),
972
+ onCompositionstart: t[5] ||= (...e) => J(E) && J(E)(...e),
973
+ onCompositionupdate: t[6] ||= (...e) => J(E) && J(E)(...e),
974
+ onCompositionend: t[7] ||= (...e) => J(E) && J(E)(...e)
975
+ }, null, 42, ft)), [[Ne, V.value]]) : F("v-if", !0)
976
+ ], 2)) : F("v-if", !0)], 38)), [[
977
+ J(de),
978
+ it,
979
+ rt.value
980
+ ]])]),
981
+ content: X(() => [
982
+ e.$slots.header ? (W(), I("div", {
983
+ key: 0,
984
+ class: U(J(b).e("header")),
985
+ onClick: t[11] ||= Z(() => {}, ["stop"])
986
+ }, [K(e.$slots, "header")], 2)) : F("v-if", !0),
987
+ Fe(z(J(ct), {
988
+ ref_key: "cascaderPanelRef",
989
+ ref: A,
990
+ modelValue: $e.value,
991
+ "onUpdate:modelValue": t[12] ||= (e) => $e.value = e,
992
+ options: i.options,
993
+ props: f.props,
994
+ border: !1,
995
+ "render-label": e.$slots.default,
996
+ onExpandChange: vt,
997
+ onClose: t[13] ||= (t) => e.$nextTick(() => $(!1))
998
+ }, {
999
+ empty: X(() => [K(e.$slots, "empty")]),
1000
+ _: 3
1001
+ }, 8, [
1002
+ "modelValue",
1003
+ "options",
1004
+ "props",
1005
+ "render-label"
1006
+ ]), [[Pe, !R.value]]),
1007
+ i.filterable ? Fe((W(), P(J(ue), {
1008
+ key: 1,
1009
+ ref_key: "suggestionPanel",
1010
+ ref: be,
1011
+ tag: "ul",
1012
+ class: U(J(b).e("suggestion-panel")),
1013
+ "view-class": J(b).e("suggestion-list"),
1014
+ onKeydown: Ct
1015
+ }, {
1016
+ default: X(() => [Te.value.length ? (W(!0), I(M, { key: 0 }, ke(Te.value, (t) => (W(), I("li", {
1017
+ key: t.uid,
1018
+ class: U([J(b).e("suggestion-item"), J(b).is("checked", t.checked)]),
1019
+ tabindex: -1,
1020
+ onClick: (e) => St(t)
1021
+ }, [K(e.$slots, "suggestion-item", { item: t }, () => [L("span", null, q(t.text), 1), t.checked ? (W(), P(J(O), { key: 0 }, {
1022
+ default: X(() => [z(J(ze))]),
1023
+ _: 1
1024
+ })) : F("v-if", !0)])], 10, pt))), 128)) : K(e.$slots, "empty", { key: 1 }, () => [L("li", { class: U(J(b).e("empty-text")) }, q(J(C)("el.cascader.noMatch")), 3)])]),
1025
+ _: 3
1026
+ }, 8, ["class", "view-class"])), [[Pe, R.value]]) : F("v-if", !0),
1027
+ e.$slots.footer ? (W(), I("div", {
1028
+ key: 2,
1029
+ class: U(J(b).e("footer")),
1030
+ onClick: t[14] ||= Z(() => {}, ["stop"])
1031
+ }, [K(e.$slots, "footer")], 2)) : F("v-if", !0)
1032
+ ]),
1033
+ _: 3
1034
+ }, 8, [
1035
+ "visible",
1036
+ "teleported",
1037
+ "popper-class",
1038
+ "popper-style",
1039
+ "fallback-placements",
1040
+ "placement",
1041
+ "transition",
1042
+ "effect",
1043
+ "persistent"
1044
+ ]));
1045
+ }
1046
+ })), ht = /* @__PURE__ */ B({
1047
+ __name: "Cascader",
1048
+ props: {
1049
+ item: {
1050
+ type: Object,
1051
+ required: !0
1052
+ },
1053
+ formModel: {
1054
+ type: Object,
1055
+ required: !0
1056
+ },
1057
+ globalConfig: {
1058
+ type: Object,
1059
+ required: !0
1060
+ },
1061
+ dictMap: {
1062
+ type: Object,
1063
+ required: !0
1064
+ },
1065
+ formItemWidth: {
1066
+ type: String,
1067
+ required: !0
1068
+ }
1069
+ },
1070
+ setup(e, { expose: t }) {
1071
+ let n = e, r = N(() => n.item.cascaderConfig), i = N(() => r.value?.options || n.dictMap[n.item.dictKey] || void 0), a = N(() => r.value?.props || n.globalConfig.finalDictProps), o = (e) => {
1072
+ if (Object.hasOwn(r.value, "onChange") && typeof r.value?.onChange == "function") {
1073
+ let t = i.value?.find((t) => t[r.value?.props?.value || n.globalConfig.finalDictProps.value] === e);
1074
+ r.value.onChange({
1075
+ value: e,
1076
+ item: n.item,
1077
+ option: t,
1078
+ cascaderRef: s
1079
+ });
1080
+ }
1081
+ }, s = G(null);
1082
+ return t({ cascaderRef: s }), (t, n) => {
1083
+ let c = j, l = mt;
1084
+ return r.value.useRender ? (W(), P(c, {
1085
+ key: 0,
1086
+ content: e.formModel[e.item.prop],
1087
+ class: U(typeof r.value.useRender == "object" && r.value.useRender.class),
1088
+ style: we(typeof r.value.useRender == "object" && r.value.useRender.style)
1089
+ }, null, 8, [
1090
+ "content",
1091
+ "class",
1092
+ "style"
1093
+ ])) : (W(), P(l, {
1094
+ key: 1,
1095
+ ref_key: "cascaderRef",
1096
+ ref: s,
1097
+ modelValue: e.formModel[e.item.prop],
1098
+ "onUpdate:modelValue": n[0] ||= (t) => e.formModel[e.item.prop] = t,
1099
+ options: i.value,
1100
+ props: a.value,
1101
+ clearable: r.value.clearable ?? !0,
1102
+ disabled: r.value.disabled || !1,
1103
+ style: we({ width: r.value.width ?? e.formItemWidth }),
1104
+ onChange: o
1105
+ }, null, 8, [
1106
+ "modelValue",
1107
+ "options",
1108
+ "props",
1109
+ "clearable",
1110
+ "disabled",
1111
+ "style"
1112
+ ]));
1113
+ };
1114
+ }
1115
+ });
1116
+ //#endregion
1117
+ export { ht as default };