@ql-web/ql-self-development 1.0.1 → 1.0.4

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.
@@ -1,13 +1,13 @@
1
- import { createElementBlock as A, openBlock as f, normalizeClass as O, createCommentVNode as E, renderSlot as C, useCssVars as Ne, computed as Y, onMounted as be, onUnmounted as Ee, Fragment as N, createBlock as X, Teleport as ce, createElementVNode as w, createVNode as I, Transition as ue, withCtx as F, withKeys as de, normalizeStyle as z, toDisplayString as x, createTextVNode as U, ref as M, watch as V, onBeforeUnmount as Oe, renderList as $, withModifiers as J, nextTick as Re } from "vue";
2
- const te = (e, o) => {
1
+ import { createElementBlock as y, openBlock as m, normalizeClass as R, createCommentVNode as k, renderSlot as C, useCssVars as Re, computed as I, onMounted as Ee, onUnmounted as Ce, Fragment as O, createBlock as X, Teleport as de, createElementVNode as w, createVNode as P, Transition as fe, withCtx as F, withKeys as me, normalizeStyle as B, toDisplayString as x, createTextVNode as U, ref as M, watch as V, onBeforeUnmount as We, renderList as $, withModifiers as N, nextTick as Qe } from "vue";
2
+ const te = (e, n) => {
3
3
  const t = e.__vccOpts || e;
4
- for (const [n, l] of o)
5
- t[n] = l;
4
+ for (const [l, o] of n)
5
+ t[l] = o;
6
6
  return t;
7
- }, We = ["disabled"], Qe = {
7
+ }, Ge = ["disabled"], qe = {
8
8
  key: 0,
9
9
  class: "my-button__spinner"
10
- }, Ge = /* @__PURE__ */ Object.assign({
10
+ }, Ke = /* @__PURE__ */ Object.assign({
11
11
  name: "MyButton"
12
12
  }, {
13
13
  __name: "MyButton",
@@ -36,41 +36,41 @@ const te = (e, o) => {
36
36
  }
37
37
  },
38
38
  emits: ["click"],
39
- setup(e, { emit: o }) {
40
- return (t, n) => (f(), A("button", {
41
- class: O(["my-button", [
39
+ setup(e, { emit: n }) {
40
+ return (t, l) => (m(), y("button", {
41
+ class: R(["my-button", [
42
42
  `my-button--${e.type}`,
43
43
  `my-button--${e.size}`,
44
44
  { "my-button--disabled": e.disabled || e.loading },
45
45
  { "my-button--loading": e.loading }
46
46
  ]]),
47
47
  disabled: e.disabled || e.loading,
48
- onClick: n[0] || (n[0] = (l) => t.$emit("click", l))
48
+ onClick: l[0] || (l[0] = (o) => t.$emit("click", o))
49
49
  }, [
50
- e.loading ? (f(), A("span", Qe)) : E("", !0),
50
+ e.loading ? (m(), y("span", qe)) : k("", !0),
51
51
  C(t.$slots, "default", {}, void 0, !0)
52
- ], 10, We));
52
+ ], 10, Ge));
53
53
  }
54
- }), H = /* @__PURE__ */ te(Ge, [["__scopeId", "data-v-5aea9e77"]]);
55
- function qe(e) {
54
+ }), H = /* @__PURE__ */ te(Ke, [["__scopeId", "data-v-5aea9e77"]]);
55
+ function je(e) {
56
56
  e.component(H.name, H);
57
57
  }
58
- const Ke = {
58
+ const Ze = {
59
59
  key: 0,
60
60
  class: "my-dialog__header"
61
- }, je = { class: "my-dialog__title" }, Ze = { class: "my-dialog__body" }, Xe = {
61
+ }, Xe = { class: "my-dialog__title" }, $e = { class: "my-dialog__body" }, _e = {
62
62
  key: 1,
63
63
  class: "my-dialog__footer"
64
- }, $e = {
64
+ }, et = {
65
65
  key: 0,
66
66
  class: "my-dialog__header"
67
- }, _e = { class: "my-dialog__title" }, et = { class: "my-dialog__body" }, tt = {
67
+ }, tt = { class: "my-dialog__title" }, nt = { class: "my-dialog__body" }, lt = {
68
68
  key: 1,
69
69
  class: "my-dialog__footer"
70
- }, nt = {
70
+ }, ot = {
71
71
  name: "MyDialog"
72
72
  // 关键:这里定义组件名称,避免解析异常
73
- }, ot = /* @__PURE__ */ Object.assign(nt, {
73
+ }, at = /* @__PURE__ */ Object.assign(ot, {
74
74
  props: {
75
75
  modelValue: {
76
76
  type: Boolean,
@@ -144,70 +144,70 @@ const Ke = {
144
144
  "cancel",
145
145
  "close"
146
146
  ],
147
- setup(e, { emit: o }) {
148
- Ne((d) => ({
147
+ setup(e, { emit: n }) {
148
+ Re((u) => ({
149
149
  v2ade6a45: e.zIndex
150
150
  }));
151
- const t = e, n = o, l = Y(() => {
152
- const { width: d } = t;
153
- return typeof d == "number" ? `${d}px` : d;
151
+ const t = e, l = n, o = I(() => {
152
+ const { width: u } = t;
153
+ return typeof u == "number" ? `${u}px` : u;
154
154
  }), s = () => {
155
155
  t.closeOnClickModal && !t.loading && c();
156
- }, u = (d) => {
157
- t.closeOnPressEscape && d.key === "Escape" && !t.loading && t.modelValue && c();
156
+ }, d = (u) => {
157
+ t.closeOnPressEscape && u.key === "Escape" && !t.loading && t.modelValue && c();
158
158
  }, c = async () => {
159
- typeof t.beforeClose == "function" && !await t.beforeClose() || (n("update:modelValue", !1), n("close"));
160
- }, g = () => {
161
- n("cancel"), c();
159
+ typeof t.beforeClose == "function" && !await t.beforeClose() || (l("update:modelValue", !1), l("close"));
160
+ }, h = () => {
161
+ l("cancel"), c();
162
162
  }, i = () => {
163
- n("confirm"), c();
163
+ l("confirm"), c();
164
164
  };
165
- let m = null;
166
- return be(() => {
167
- m = (d) => {
168
- t.modelValue && u(d);
169
- }, window.addEventListener("keydown", m);
170
- }), Ee(() => {
171
- window.removeEventListener("keydown", m);
172
- }), (d, y) => (f(), A(N, null, [
173
- e.modal && e.modelValue ? (f(), X(ce, {
165
+ let A = null;
166
+ return Ee(() => {
167
+ A = (u) => {
168
+ t.modelValue && d(u);
169
+ }, window.addEventListener("keydown", A);
170
+ }), Ce(() => {
171
+ window.removeEventListener("keydown", A);
172
+ }), (u, p) => (m(), y(O, null, [
173
+ e.modal && e.modelValue ? (m(), X(de, {
174
174
  key: 0,
175
175
  to: "body"
176
176
  }, [
177
177
  w("div", {
178
- class: O(["my-dialog__mask", { "my-dialog__mask--append-to-body": e.modalAppendToBody }]),
178
+ class: R(["my-dialog__mask", { "my-dialog__mask--append-to-body": e.modalAppendToBody }]),
179
179
  onClick: s
180
180
  }, null, 2)
181
- ])) : E("", !0),
182
- e.appendToBody || e.modalAppendToBody ? (f(), X(ce, {
181
+ ])) : k("", !0),
182
+ e.appendToBody || e.modalAppendToBody ? (m(), X(de, {
183
183
  key: 1,
184
184
  to: "body"
185
185
  }, [
186
- I(ue, { name: "my-dialog-fade" }, {
186
+ P(fe, { name: "my-dialog-fade" }, {
187
187
  default: F(() => [
188
- e.modelValue ? (f(), A("div", {
188
+ e.modelValue ? (m(), y("div", {
189
189
  key: 0,
190
190
  class: "my-dialog",
191
- style: z({ width: l.value, zIndex: e.zIndex }),
192
- onKeydown: de(u, ["esc"])
191
+ style: B({ width: o.value, zIndex: e.zIndex }),
192
+ onKeydown: me(d, ["esc"])
193
193
  }, [
194
- e.showHeader ? (f(), A("div", Ke, [
195
- w("h3", je, x(e.title), 1),
196
- e.showClose ? (f(), A("button", {
194
+ e.showHeader ? (m(), y("div", Ze, [
195
+ w("h3", Xe, x(e.title), 1),
196
+ e.showClose ? (m(), y("button", {
197
197
  key: 0,
198
198
  class: "my-dialog__close",
199
199
  onClick: c,
200
200
  "aria-label": "关闭弹窗"
201
- }, " × ")) : E("", !0)
202
- ])) : E("", !0),
203
- w("div", Ze, [
204
- C(d.$slots, "default", {}, void 0, !0)
201
+ }, " × ")) : k("", !0)
202
+ ])) : k("", !0),
203
+ w("div", $e, [
204
+ C(u.$slots, "default", {}, void 0, !0)
205
205
  ]),
206
- e.showFooter ? (f(), A("div", Xe, [
207
- C(d.$slots, "footer", {}, () => [
208
- I(H, {
206
+ e.showFooter ? (m(), y("div", _e, [
207
+ C(u.$slots, "footer", {}, () => [
208
+ P(H, {
209
209
  type: "default",
210
- onClick: g,
210
+ onClick: h,
211
211
  disabled: e.loading
212
212
  }, {
213
213
  default: F(() => [
@@ -215,7 +215,7 @@ const Ke = {
215
215
  ]),
216
216
  _: 1
217
217
  }, 8, ["disabled"]),
218
- I(H, {
218
+ P(H, {
219
219
  type: "primary",
220
220
  onClick: i,
221
221
  loading: e.loading
@@ -226,39 +226,39 @@ const Ke = {
226
226
  _: 1
227
227
  }, 8, ["loading"])
228
228
  ], !0)
229
- ])) : E("", !0)
230
- ], 36)) : E("", !0)
229
+ ])) : k("", !0)
230
+ ], 36)) : k("", !0)
231
231
  ]),
232
232
  _: 3
233
233
  })
234
- ])) : (f(), X(ue, {
234
+ ])) : (m(), X(fe, {
235
235
  key: 2,
236
236
  name: "my-dialog-fade"
237
237
  }, {
238
238
  default: F(() => [
239
- e.modelValue ? (f(), A("div", {
239
+ e.modelValue ? (m(), y("div", {
240
240
  key: 0,
241
241
  class: "my-dialog",
242
- style: z({ width: l.value, zIndex: e.zIndex }),
243
- onKeydown: de(u, ["esc"])
242
+ style: B({ width: o.value, zIndex: e.zIndex }),
243
+ onKeydown: me(d, ["esc"])
244
244
  }, [
245
- e.showHeader ? (f(), A("div", $e, [
246
- w("h3", _e, x(e.title), 1),
247
- e.showClose ? (f(), A("button", {
245
+ e.showHeader ? (m(), y("div", et, [
246
+ w("h3", tt, x(e.title), 1),
247
+ e.showClose ? (m(), y("button", {
248
248
  key: 0,
249
249
  class: "my-dialog__close",
250
250
  onClick: c,
251
251
  "aria-label": "关闭弹窗"
252
- }, " × ")) : E("", !0)
253
- ])) : E("", !0),
254
- w("div", et, [
255
- C(d.$slots, "default", {}, void 0, !0)
252
+ }, " × ")) : k("", !0)
253
+ ])) : k("", !0),
254
+ w("div", nt, [
255
+ C(u.$slots, "default", {}, void 0, !0)
256
256
  ]),
257
- e.showFooter ? (f(), A("div", tt, [
258
- C(d.$slots, "footer", {}, () => [
259
- I(H, {
257
+ e.showFooter ? (m(), y("div", lt, [
258
+ C(u.$slots, "footer", {}, () => [
259
+ P(H, {
260
260
  type: "default",
261
- onClick: g,
261
+ onClick: h,
262
262
  disabled: e.loading
263
263
  }, {
264
264
  default: F(() => [
@@ -266,7 +266,7 @@ const Ke = {
266
266
  ]),
267
267
  _: 1
268
268
  }, 8, ["disabled"]),
269
- I(H, {
269
+ P(H, {
270
270
  type: "primary",
271
271
  onClick: i,
272
272
  loading: e.loading
@@ -277,98 +277,98 @@ const Ke = {
277
277
  _: 1
278
278
  }, 8, ["loading"])
279
279
  ], !0)
280
- ])) : E("", !0)
281
- ], 36)) : E("", !0)
280
+ ])) : k("", !0)
281
+ ], 36)) : k("", !0)
282
282
  ]),
283
283
  _: 3
284
284
  }))
285
285
  ], 64));
286
286
  }
287
- }), me = /* @__PURE__ */ te(ot, [["__scopeId", "data-v-49a2b6d1"]]);
288
- function lt(e) {
289
- e.component(me.name, me);
287
+ }), Ae = /* @__PURE__ */ te(at, [["__scopeId", "data-v-49a2b6d1"]]);
288
+ function rt(e) {
289
+ e.component(Ae.name, Ae);
290
290
  }
291
- const ke = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADA0lEQVR4AdxUXUgUURT+ZmfXv9Z2N5CVgkiohNBXCcteEoqFiLIMxHoIeqnHQLNEhATxoaB6DCksgjQDH7IIg7CX8FFfsh6sKGorGddddXN3djrnzuzsbuzPbMxaNMy5955zz/2+795zZxz4y8+/JSDQ8313oDc4ThYK9H7V7LUgYRI2caQfunkCTA5ZfQ1ox8k2pyfZM9YIk7CJQ3AZoKYAyIlBivnISv36DC7BkxIAtIrIxjQmV5oAPqKNYU8vcZqAjSLP5Pl/BWyvkeGukDK3m8UryQm4KyX0n/bixvkt2LnViXxPSQRcbPPA73Oilqy/0wuXM7cE2wW0H6hCU325YNQ0DTcnlhGLCzdrY6uAxjoXOg+6TaJHr1YxM79u+tkGlgTIFrJ8bge6T3ogO/SLN7ewjpGpSDbOjFheaMa6cKQaXQQs6bgZi5MO53W3e+CrlkVICasYGg0hoQk3b5NTgEwzVzo8CDRVYX9DBc4dTh3t74hnWt1orCsTYZVYh8ZCUCIJ4RdqiCZ7ikrrvyyq5uTR5k04tq/K9JODpvoynGhJxe+/iGBuIZacLtjnFMArh59FMD0X5aGws4fcaGkoF2Nu/D4H+JOTJL0+M/M/MTq9ylOWLa8ALuH18RDtSL/JDiJiwsYdLrio3D2nvHBX6hBBJY5rlGuZ2UjUVxtOti5GVbj6YAkfgvqxupwSeju86KJLt2ubSyyJxTUMPgwhssaSRchyU1AAI61ENfTdW8LiMqmhAO+6eU8FjfT39tMw3n3O87fR07K2lgTwyh+hBPpGFKxE6XZywLCXs2t4MrNmeMV3lgUw9PugigEqBx85+x+/xXFrIszDP7aiBDDLLH1il4YV3H0exuU7CqLrxdedcZJWtABe+OZTDGP0n7f6s+E1uSxNgLScK8n+eIorTQCm7CfKiWhypQSojh5KV8hK/SrQuQSPKWBysOYtVHkvID0mK0E5+NgJmzgEF/THFMAuT0wO+NvIPJMDtZK95idMwuaNMplhGQKMmK1dIbBfAAAA//+Sr6f8AAAABklEQVQDABj4K1CFA5rrAAAAAElFTkSuQmCC", Ce = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABlklEQVR4AeyXQU7CQBSGXwtsNcYoLoSlZ/AAbtqlHoIzkBBDDAln4BC6bDcewDO4pC5EY4xuoa3/P0zpYCiadIwspplHpzOv3//zZhIGX/752i0DYf/1LBzMbhEf4eA5txszMMGGhln0VQUoLo30QSS/ROyZSXb6OZhgQ0NpaejKgDSyMcYOPJEob7Y60ejEsxlkkk0NrYWuSGlA5IIjWbPVi4eHT+zbDDLJ1kylxb5hgCUSYSInguuXAHtgiqi7F6ZkkVmwzSU2DDClDC/LJnjqIOq2jmZt5FQaQLYNcWBUq2RtM6De/OsPZ8BVwFXAVcBVwFXAVWBbBRKLP8WVrEoDue/3YKDyRcz9tiWatTHfMOB9MiMYvp3yHt8cxzgVdxF1T8ddssgs2CJLLcFlGJB7PIu/mE/KRI7YCTLJ1jSlxX5pIPX7GHjPRUJvMU8snIbXTtNkkk0NWWqha/wviMZHj5I2zkW8O4RaDrF6sexgQ0NpaXZZAQxwIhq1rxD7Ftb+295pgwk2vyi0irZmoBi0ef+J9QUAAP//8u/KewAAAAZJREFUAwAWFlxQpt7/QwAAAABJRU5ErkJggg==", Se = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEBUlEQVR4AbxWW2gUZxT+zhg3WEtaaDebQtNCsBV6wZbSC/TBIpRWvBSfbNrSJ9OHtpamD1poKdW2lAht7EVNaqAXKvFNRUVBFMULUVQMKgheEBU0CT4Yr1mTOX5nJuNsdv/ZWWPi8P+7/5zzne/79r/MrIcKr+wKfTi3XOfnWrU91+p3sffmWvVW2H2OLcYcMYatkBapBrK/6hSKrPbyegmqawH9hOSvs2c5rg47OAZjzBFjWKuxWuLKtmQDv2t1bau2eILjFFlAlsnslTZidYHVGgfIlVToNJBdpnU5X3cKdBHFM0nF6XHNGIdxGacLX2Ig94e+6E3EASjecBWMKkYu4zTu4voRBgKXg9jMX11fDLz/e60HuQONArLYANfJy+i68RGPFLU+0KBWFLlroHYIS8d02iOF4m8uR6A1HA8M2HER4Es8oMu0TNPkAgM8Los59fex242qtGcfKo2FEc2EmoAXPrW0MUyM3efjk4BN84FVM4HqCS5ebTRtz7uNWUzzwcHPMWom+O9c4OlHBPOmCv6Z4ySebNoeN94MZ3qUQWHdn+8ArzxhI2DIV3QcYdDVFDO4B3SaKzfa2DdvAnOeDcWN49tdwPazNnJ1nUYDaHClRhP78AXg81dj8fbDir+7yzI10IDUJEEanwM6uEOqiErCRPHpTwEtBYu55bRiye4om/QtNYnUjc8Dv7wNzH5G0M6dXM7E1MeA1YHR8Ncf6VF8ugXwNUk4jtOA9se38ajhUcATCQKzypio5Vlf8x5QUx1iL/QrPt4A3BwMSlM+tJ8GcMaF+mkvsOJg/BPMRFvRTEyqAv6bCzxZE4pfHVB8RPHeGy5GZ+wMDUi3M8XgD3tGmrDlaHsXqKKex/xKjl+q4w3Hg5zvJr5HT1zmTcVNuj0IdpTDm4mVBTMxm0fMnm5LpgMzp4TiVv81WXaes9E9dGp7/kR7/+N6ubKlnIlVh+LlsHPe9HIsbkv1/7FyDM7cddP2+j6Ta4B0IuWyI1VoIoJvPKn4kQaj+8q/pdO0PSvg8rUAkkfKZSbaCmbi0EXFwq3g0zylsCQt+VATCAz0fSWnOMHLS3COwPd8uDRvU/x2QPHBeuDWkAOUEjIt0zRYYMAGvRPwHTdkl43Teif/qP+8D7gykIZ05AVdgdZw6q4BfCEDfl7mAXIe43bJ+UCDWpFEbICRvkVyCVX2/2A8TJCT3IEGtaI2woAFexbKUf82Xqt0OawmtXPajdO4i7ElBgxgLns8eUshy1DB6UDiJXnjMC7jdMGcBgIg16m3WRbzuPC9KB2MlX1YMV/YiJUOqzUO21+FycJxsoFhlB2XnmZp8jNSB5H3AfkLwH72PkB4DqyDY4sxR4xhrcZqkXLdAQAA//8U/gJ8AAAABklEQVQDALTbYl5+th2kAAAAAElFTkSuQmCC", xe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABQklEQVR4AeyTMW7CMBiFf5ORqhVDRU/QM3Rsq04Z26ntSZAYkThJ26kdM1UtI2fgBCAGBIIxmPebyLGREgbHhsFRXhI7yfteXpIWnXg5rwBpb36b9mff0DLtT2WzmsET3mCYpesGGE5JPiaSz9CleVEzxxKe8AZDsQpTHYCS7RBzHcj32ilYilMGIHpSM2E2mmUE4IrC0M1XbAQIBbc5MUBsIDZQ28DbQ5tc9Xrftv+7g1FlACGI3h8vnMUPcMC0hpUBrKs8DioDSEn08bd21uf/pjZ+ZQC+i2921dfIIQCH8K3aBnzD2T8GiA2cUwNixV9lGJUss4HfMHBF0awyQN7q4dQC8r0uaM9SHB0gG15PKE/uiMQP5OF1cO3wBkOxaL/oADzkE9mg+wJdZYMb0ay68IQ3PyjDClkBirlGd8fMdgAAAP//XjVF+wAAAAZJREFUAwC8AvpBDco2EwAAAABJRU5ErkJggg==", Me = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACl0lEQVR4AcSWMUxTURSG/3OVMmDYSllYiJsxbMpoWJ2clB1djEYMgc3BDUIs0Tio7Lg5uRrH6kaMm2FhAboRSaToO/7/LYVCX6W1r68397S3553zf3/fe/e1AR2O4mu/Ulrzu6WyvymVkwpjr1T2X/VIuFaOx1ij2g5lcaGB4gu/Ssi7UPMduL8H/AHFbzKKXA/XA1yDOR5jjWrVo17W/XO2N/DSh8fKvhwM3wmZo8oIo9PJWp9TrzRArXaNqQaKKz5eSvyzwRcJL7RrvjjvBWlIS5pp9S0GSq/8ehjCVzim0xr+K0ctaUr7fP8ZA9Hlb3zkt544X9j7Z58AtSOjSezUAK9TKPiH/sAbRJ+IDLIamRMDY3/wPNPT3iCcf+fliKzjfDSg7WLAE+Q0xBJTuGiA22WJp76Hu11S3YQX6kwg1J9aPttNeza1Pit2CEe4TUE+OPia7xwRO/DGm8mX20RzzPAe8KmmVM5Ln6IBTKZRF6aBLCONwdwkDdgoFy1zYdpoILtoAcSEjdJAXA3shQZ8P42+WnFkGWkMPnv2aQBbaQdXK6CB7CKNwdwWDdgmFwOathlg+DQgOsQOyZB+/3GA/MeB2KH60H4CtoHch22IHcRNHMuA1ZDbsFqdyV9DMatP7YcDa8hpiCWmcPEMaLF3Cc94U3Dz6VMfw1CJrGPEiQE8tsOkZncA20bfhm1HBlkNxKkBZqqLtoPL+n/QDxPUpHZkkNWYZwwoufvIviVHuJHp5eBpl6a0xWiOFgM6KJe7wW45bAU97Q6rSUNa0kTKSDUQ63id9uZtidvlGmDrQFcPKz7YbF290tD9xf7U2d7Acbm2y+683U8KNg6ze4C9BfCFUQXssB7gWjkeY41q1aNeXDD+AgAA//+bB9/cAAAABklEQVQDAAKYU17yLjjJAAAAAElFTkSuQmCC", Te = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRElEQVR4AeyWQS6DURSFzyvBSNNYgUSYmugvQlJSXQCrsQKrYQFtQxMi/pqYEokVSFMjBM89/O/+v5HJLQa3yem7ue/lOyenk9bwx5//FaB/li/3BsOj7iAfd0/zaCph9oRNj2rp2gAv3l9xGWPcQ8R89ZHJLEyy6UGvxNQA8S0cyrKx0KhjY20VO5tNU5FJNj0KLxmBMgBim5uVpUXMzc5wNBWZZBMaCy/OGiDVzoe8mISULT9H4pcB0uaXTw/gDXgD3oA34A14A96AN1A2EPDIf2NPzy88JiJlF1400QABoc/Fzd099CEXRiKTbOKSF+cywFQ8kMXoYTTGxdU1Ts6HpiKTbHqELy8ZAQ3Q3spua9NYDyEco1LR5yuLL2GSTQ96JaQG4IIXu63mfqeV1TvbWTCVMMmmB72SvgVIS8vzJ9YHAAAA//8XpLH0AAAABklEQVQDACRq8EHJFY1KAAAAAElFTkSuQmCC", Be = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEDUlEQVR4AbxXT2gUVxj/vjezG0SNtaU0Fy+hLUgpvdk/GBp6KISeSl1mJlNyanPupXoo9FDoQXvptdueQtfJMIonCXiQSESjNxERVHLxEhX/RUWzOzvP3++5GQyuMSbZHb4f73vv+77f79uZ93ZnjazzqtVqO8I4DsJw/J8wiufDMLodRuPPHJzPNcSQw9x10sobG6jVfvwwisb/9fzKohR2WlQmReznovo+RAYcnM81xJDDXNawFvE17bUNjI2NDQRRfNjziytW5CewbAPOWLEHVewIMNTOWwMEfWCEMeYA21jDWnKQC2tdrWsDuIVDu3btngXpQWttBZ/4mC3ae6eTo6NpkvyVJMlZ4FaWZU2CPnCWMebYwt/ralBLDnKRs1sHrzQQx/GnuIUXReULFCyINV9NJ0ktTdNrmK/L0nTqGmtYi4IFcpGT3JivslUNsMt2YU8iYw8+wWy14u9L08Y85hsy1pKDXCDYQ25qwC+tbIDPyfMqJxBx4oM7d347NTV1F/NNGTnItdIENai1Qlo2MPjOu3/wViGwUK1UDtTr9Rb8LTFykRNk7nE4LUxorgEeF2yWX7DhrC00ZtcMbiXISW6Li1rUJL9rwPeLQ5hUVeU4nxv8nhi5qQHyakdTDDbFDpzZCIuFLYrfMPbUbFGhRkFNahuvWv0OituBubc5asjfkPGIonAO2E5tI237DSaCbzEeP7o9R6kFbSOqn1HRiJzn2A+UWtA2Yovhjuj1ztiP4YUWtA3uwCAV8zy/z7EfKLVUB00/BNfSwCOwS0zwfX83x36g1LJ2yYiahY7oR52xH8MLLWjzDlyiYiHyJcd+oNSy9pIRT09TVEX5hUS35yi1oG3azSa/gJ5AdSQIgo8x9tSCYIIaIxB5Qm2TZdljFUmwYNSYPzH21NS0qGGoSW1DtTw3hzE2rZUfgiDmqximW2/kpgaYmx1NcQ1k2f83rOjfysvYxsTExHtI2lIjp4KbEtSiJgVcA3SWHtz7Hb9IfP8bbrZaxyYnJ/E2zMjmQS5ygmmYGk4LE1rZwMzMzHK73foeizdFdHTp0aNT7Fo2eZGDXAJOEblJDWrBd1Y2wBk2xaJn3HF0TTRb+UU+N8Y2AtaSQzri5KaGvHStaoDrjUbjMv7t7OOtwnxYtDgXRlH2Nkc0wFFjDWsdh5V5cpIb81X2SgOMssuHD++PYrMcwabB27EeUONdxR/R2SCKfo2iaD/wAV6pqgR9YD9jYTQ+qya/KoIa1RY5yEVO6XJ1bYB5M9gTadI41M7NJyryH9aeAl+r6BGQzgGLnl9ZJugDc4wxB3iqqGEtOciFta722gZWsnlckuToz7iFQ2I0xKOpi+gFsfaOiCw7OJ9rUmcOc1nDWsTXtOcAAAD//x0L0LwAAAAGSURBVAMA5s/4CuM1JlwAAAAASUVORK5CYII=", at = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAABtElEQVR4AeyUTUsCURSGz7lSi/oHfWIftokgUiOKFhFBCCLt+3XtQwQJClwEIulEEG00TezDf1CLwns6r7QJRO+diRbR5dzhZYbzPsPceY+hX17/wB//4M6fdGpqY2IhkUpFfQNXII9Pxo4tcSa+nNqNAnUFSszaMpFYYd6bS2zshIW6AqnVCu6YTV5BYii2P7+U3lLtXcano12/uhVrC9ojbOggnkimVXuVFxDOnWZw02MqQguZw9mVdBLadXsDYfxUrwZM9gw6JpSZX0quQ7vsUEAYtxtBVSydq9ajNdn4yuaa6pEVGgjnTrNasWwvVLOIzS0uJldVD61IQDg/1oOy0kpEbD6Yj2YSW9M0ZEUGDvEe+CgyEEMAwwBDYUzk9LlReRlI+roZCYjwYwiolzJNHsNB9dAKDUToEX511//FFjAUVI+sUECEHaGHO4YAhgG0y/YGIuQIO8wRfgwBaNftBUS42ZismjNCj/Cr9ipnIEKth5VTd0bYEXrV3uUK5J4x26ThZpESwk4hlytQ3l97J4ak2L6vXYZk9dtcgdTtXr89NGq1fleEizMwAuNb698HfgIAAP//vtw3CwAAAAZJREFUAwBT25E52VkioAAAAABJRU5ErkJggg==", rt = "data:image/png;base64,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", it = {
291
+ const Se = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADA0lEQVR4AdxUXUgUURT+ZmfXv9Z2N5CVgkiohNBXCcteEoqFiLIMxHoIeqnHQLNEhATxoaB6DCksgjQDH7IIg7CX8FFfsh6sKGorGddddXN3djrnzuzsbuzPbMxaNMy5955zz/2+795zZxz4y8+/JSDQ8313oDc4ThYK9H7V7LUgYRI2caQfunkCTA5ZfQ1ox8k2pyfZM9YIk7CJQ3AZoKYAyIlBivnISv36DC7BkxIAtIrIxjQmV5oAPqKNYU8vcZqAjSLP5Pl/BWyvkeGukDK3m8UryQm4KyX0n/bixvkt2LnViXxPSQRcbPPA73Oilqy/0wuXM7cE2wW0H6hCU325YNQ0DTcnlhGLCzdrY6uAxjoXOg+6TaJHr1YxM79u+tkGlgTIFrJ8bge6T3ogO/SLN7ewjpGpSDbOjFheaMa6cKQaXQQs6bgZi5MO53W3e+CrlkVICasYGg0hoQk3b5NTgEwzVzo8CDRVYX9DBc4dTh3t74hnWt1orCsTYZVYh8ZCUCIJ4RdqiCZ7ikrrvyyq5uTR5k04tq/K9JODpvoynGhJxe+/iGBuIZacLtjnFMArh59FMD0X5aGws4fcaGkoF2Nu/D4H+JOTJL0+M/M/MTq9ylOWLa8ALuH18RDtSL/JDiJiwsYdLrio3D2nvHBX6hBBJY5rlGuZ2UjUVxtOti5GVbj6YAkfgvqxupwSeju86KJLt2ubSyyJxTUMPgwhssaSRchyU1AAI61ENfTdW8LiMqmhAO+6eU8FjfT39tMw3n3O87fR07K2lgTwyh+hBPpGFKxE6XZywLCXs2t4MrNmeMV3lgUw9PugigEqBx85+x+/xXFrIszDP7aiBDDLLH1il4YV3H0exuU7CqLrxdedcZJWtABe+OZTDGP0n7f6s+E1uSxNgLScK8n+eIorTQCm7CfKiWhypQSojh5KV8hK/SrQuQSPKWBysOYtVHkvID0mK0E5+NgJmzgEF/THFMAuT0wO+NvIPJMDtZK95idMwuaNMplhGQKMmK1dIbBfAAAA//+Sr6f8AAAABklEQVQDABj4K1CFA5rrAAAAAElFTkSuQmCC", xe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABlklEQVR4AeyXQU7CQBSGXwtsNcYoLoSlZ/AAbtqlHoIzkBBDDAln4BC6bDcewDO4pC5EY4xuoa3/P0zpYCiadIwspplHpzOv3//zZhIGX/752i0DYf/1LBzMbhEf4eA5txszMMGGhln0VQUoLo30QSS/ROyZSXb6OZhgQ0NpaejKgDSyMcYOPJEob7Y60ejEsxlkkk0NrYWuSGlA5IIjWbPVi4eHT+zbDDLJ1kylxb5hgCUSYSInguuXAHtgiqi7F6ZkkVmwzSU2DDClDC/LJnjqIOq2jmZt5FQaQLYNcWBUq2RtM6De/OsPZ8BVwFXAVcBVwFXAVWBbBRKLP8WVrEoDue/3YKDyRcz9tiWatTHfMOB9MiMYvp3yHt8cxzgVdxF1T8ddssgs2CJLLcFlGJB7PIu/mE/KRI7YCTLJ1jSlxX5pIPX7GHjPRUJvMU8snIbXTtNkkk0NWWqha/wviMZHj5I2zkW8O4RaDrF6sexgQ0NpaXZZAQxwIhq1rxD7Ftb+295pgwk2vyi0irZmoBi0ef+J9QUAAP//8u/KewAAAAZJREFUAwAWFlxQpt7/QwAAAABJRU5ErkJggg==", Me = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEBUlEQVR4AbxWW2gUZxT+zhg3WEtaaDebQtNCsBV6wZbSC/TBIpRWvBSfbNrSJ9OHtpamD1poKdW2lAht7EVNaqAXKvFNRUVBFMULUVQMKgheEBU0CT4Yr1mTOX5nJuNsdv/ZWWPi8P+7/5zzne/79r/MrIcKr+wKfTi3XOfnWrU91+p3sffmWvVW2H2OLcYcMYatkBapBrK/6hSKrPbyegmqawH9hOSvs2c5rg47OAZjzBFjWKuxWuLKtmQDv2t1bau2eILjFFlAlsnslTZidYHVGgfIlVToNJBdpnU5X3cKdBHFM0nF6XHNGIdxGacLX2Ig94e+6E3EASjecBWMKkYu4zTu4voRBgKXg9jMX11fDLz/e60HuQONArLYANfJy+i68RGPFLU+0KBWFLlroHYIS8d02iOF4m8uR6A1HA8M2HER4Es8oMu0TNPkAgM8Los59fex242qtGcfKo2FEc2EmoAXPrW0MUyM3efjk4BN84FVM4HqCS5ebTRtz7uNWUzzwcHPMWom+O9c4OlHBPOmCv6Z4ySebNoeN94MZ3qUQWHdn+8ArzxhI2DIV3QcYdDVFDO4B3SaKzfa2DdvAnOeDcWN49tdwPazNnJ1nUYDaHClRhP78AXg81dj8fbDir+7yzI10IDUJEEanwM6uEOqiErCRPHpTwEtBYu55bRiye4om/QtNYnUjc8Dv7wNzH5G0M6dXM7E1MeA1YHR8Ncf6VF8ugXwNUk4jtOA9se38ajhUcATCQKzypio5Vlf8x5QUx1iL/QrPt4A3BwMSlM+tJ8GcMaF+mkvsOJg/BPMRFvRTEyqAv6bCzxZE4pfHVB8RPHeGy5GZ+wMDUi3M8XgD3tGmrDlaHsXqKKex/xKjl+q4w3Hg5zvJr5HT1zmTcVNuj0IdpTDm4mVBTMxm0fMnm5LpgMzp4TiVv81WXaes9E9dGp7/kR7/+N6ubKlnIlVh+LlsHPe9HIsbkv1/7FyDM7cddP2+j6Ta4B0IuWyI1VoIoJvPKn4kQaj+8q/pdO0PSvg8rUAkkfKZSbaCmbi0EXFwq3g0zylsCQt+VATCAz0fSWnOMHLS3COwPd8uDRvU/x2QPHBeuDWkAOUEjIt0zRYYMAGvRPwHTdkl43Teif/qP+8D7gykIZ05AVdgdZw6q4BfCEDfl7mAXIe43bJ+UCDWpFEbICRvkVyCVX2/2A8TJCT3IEGtaI2woAFexbKUf82Xqt0OawmtXPajdO4i7ElBgxgLns8eUshy1DB6UDiJXnjMC7jdMGcBgIg16m3WRbzuPC9KB2MlX1YMV/YiJUOqzUO21+FycJxsoFhlB2XnmZp8jNSB5H3AfkLwH72PkB4DqyDY4sxR4xhrcZqkXLdAQAA//8U/gJ8AAAABklEQVQDALTbYl5+th2kAAAAAElFTkSuQmCC", Te = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABQklEQVR4AeyTMW7CMBiFf5ORqhVDRU/QM3Rsq04Z26ntSZAYkThJ26kdM1UtI2fgBCAGBIIxmPebyLGREgbHhsFRXhI7yfteXpIWnXg5rwBpb36b9mff0DLtT2WzmsET3mCYpesGGE5JPiaSz9CleVEzxxKe8AZDsQpTHYCS7RBzHcj32ilYilMGIHpSM2E2mmUE4IrC0M1XbAQIBbc5MUBsIDZQ28DbQ5tc9Xrftv+7g1FlACGI3h8vnMUPcMC0hpUBrKs8DioDSEn08bd21uf/pjZ+ZQC+i2921dfIIQCH8K3aBnzD2T8GiA2cUwNixV9lGJUss4HfMHBF0awyQN7q4dQC8r0uaM9SHB0gG15PKE/uiMQP5OF1cO3wBkOxaL/oADzkE9mg+wJdZYMb0ay68IQ3PyjDClkBirlGd8fMdgAAAP//XjVF+wAAAAZJREFUAwC8AvpBDco2EwAAAABJRU5ErkJggg==", Be = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACl0lEQVR4AcSWMUxTURSG/3OVMmDYSllYiJsxbMpoWJ2clB1djEYMgc3BDUIs0Tio7Lg5uRrH6kaMm2FhAboRSaToO/7/LYVCX6W1r68397S3553zf3/fe/e1AR2O4mu/Ulrzu6WyvymVkwpjr1T2X/VIuFaOx1ij2g5lcaGB4gu/Ssi7UPMduL8H/AHFbzKKXA/XA1yDOR5jjWrVo17W/XO2N/DSh8fKvhwM3wmZo8oIo9PJWp9TrzRArXaNqQaKKz5eSvyzwRcJL7RrvjjvBWlIS5pp9S0GSq/8ehjCVzim0xr+K0ctaUr7fP8ZA9Hlb3zkt544X9j7Z58AtSOjSezUAK9TKPiH/sAbRJ+IDLIamRMDY3/wPNPT3iCcf+fliKzjfDSg7WLAE+Q0xBJTuGiA22WJp76Hu11S3YQX6kwg1J9aPttNeza1Pit2CEe4TUE+OPia7xwRO/DGm8mX20RzzPAe8KmmVM5Ln6IBTKZRF6aBLCONwdwkDdgoFy1zYdpoILtoAcSEjdJAXA3shQZ8P42+WnFkGWkMPnv2aQBbaQdXK6CB7CKNwdwWDdgmFwOathlg+DQgOsQOyZB+/3GA/MeB2KH60H4CtoHch22IHcRNHMuA1ZDbsFqdyV9DMatP7YcDa8hpiCWmcPEMaLF3Cc94U3Dz6VMfw1CJrGPEiQE8tsOkZncA20bfhm1HBlkNxKkBZqqLtoPL+n/QDxPUpHZkkNWYZwwoufvIviVHuJHp5eBpl6a0xWiOFgM6KJe7wW45bAU97Q6rSUNa0kTKSDUQ63id9uZtidvlGmDrQFcPKz7YbF290tD9xf7U2d7Acbm2y+683U8KNg6ze4C9BfCFUQXssB7gWjkeY41q1aNeXDD+AgAA//+bB9/cAAAABklEQVQDAAKYU17yLjjJAAAAAElFTkSuQmCC", ze = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRElEQVR4AeyWQS6DURSFzyvBSNNYgUSYmugvQlJSXQCrsQKrYQFtQxMi/pqYEokVSFMjBM89/O/+v5HJLQa3yem7ue/lOyenk9bwx5//FaB/li/3BsOj7iAfd0/zaCph9oRNj2rp2gAv3l9xGWPcQ8R89ZHJLEyy6UGvxNQA8S0cyrKx0KhjY20VO5tNU5FJNj0KLxmBMgBim5uVpUXMzc5wNBWZZBMaCy/OGiDVzoe8mISULT9H4pcB0uaXTw/gDXgD3oA34A14A96AN1A2EPDIf2NPzy88JiJlF1400QABoc/Fzd099CEXRiKTbOKSF+cywFQ8kMXoYTTGxdU1Ts6HpiKTbHqELy8ZAQ3Q3spua9NYDyEco1LR5yuLL2GSTQ96JaQG4IIXu63mfqeV1TvbWTCVMMmmB72SvgVIS8vzJ9YHAAAA//8XpLH0AAAABklEQVQDACRq8EHJFY1KAAAAAElFTkSuQmCC", Le = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEDUlEQVR4AbxXT2gUVxj/vjezG0SNtaU0Fy+hLUgpvdk/GBp6KISeSl1mJlNyanPupXoo9FDoQXvptdueQtfJMIonCXiQSESjNxERVHLxEhX/RUWzOzvP3++5GQyuMSbZHb4f73vv+77f79uZ93ZnjazzqtVqO8I4DsJw/J8wiufDMLodRuPPHJzPNcSQw9x10sobG6jVfvwwisb/9fzKohR2WlQmReznovo+RAYcnM81xJDDXNawFvE17bUNjI2NDQRRfNjziytW5CewbAPOWLEHVewIMNTOWwMEfWCEMeYA21jDWnKQC2tdrWsDuIVDu3btngXpQWttBZ/4mC3ae6eTo6NpkvyVJMlZ4FaWZU2CPnCWMebYwt/ralBLDnKRs1sHrzQQx/GnuIUXReULFCyINV9NJ0ktTdNrmK/L0nTqGmtYi4IFcpGT3JivslUNsMt2YU8iYw8+wWy14u9L08Y85hsy1pKDXCDYQ25qwC+tbIDPyfMqJxBx4oM7d347NTV1F/NNGTnItdIENai1Qlo2MPjOu3/wViGwUK1UDtTr9Rb8LTFykRNk7nE4LUxorgEeF2yWX7DhrC00ZtcMbiXISW6Li1rUJL9rwPeLQ5hUVeU4nxv8nhi5qQHyakdTDDbFDpzZCIuFLYrfMPbUbFGhRkFNahuvWv0OituBubc5asjfkPGIonAO2E5tI237DSaCbzEeP7o9R6kFbSOqn1HRiJzn2A+UWtA2Yovhjuj1ztiP4YUWtA3uwCAV8zy/z7EfKLVUB00/BNfSwCOwS0zwfX83x36g1LJ2yYiahY7oR52xH8MLLWjzDlyiYiHyJcd+oNSy9pIRT09TVEX5hUS35yi1oG3azSa/gJ5AdSQIgo8x9tSCYIIaIxB5Qm2TZdljFUmwYNSYPzH21NS0qGGoSW1DtTw3hzE2rZUfgiDmqximW2/kpgaYmx1NcQ1k2f83rOjfysvYxsTExHtI2lIjp4KbEtSiJgVcA3SWHtz7Hb9IfP8bbrZaxyYnJ/E2zMjmQS5ygmmYGk4LE1rZwMzMzHK73foeizdFdHTp0aNT7Fo2eZGDXAJOEblJDWrBd1Y2wBk2xaJn3HF0TTRb+UU+N8Y2AtaSQzri5KaGvHStaoDrjUbjMv7t7OOtwnxYtDgXRlH2Nkc0wFFjDWsdh5V5cpIb81X2SgOMssuHD++PYrMcwabB27EeUONdxR/R2SCKfo2iaD/wAV6pqgR9YD9jYTQ+qya/KoIa1RY5yEVO6XJ1bYB5M9gTadI41M7NJyryH9aeAl+r6BGQzgGLnl9ZJugDc4wxB3iqqGEtOciFta722gZWsnlckuToz7iFQ2I0xKOpi+gFsfaOiCw7OJ9rUmcOc1nDWsTXtOcAAAD//x0L0LwAAAAGSURBVAMA5s/4CuM1JlwAAAAASUVORK5CYII=", it = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAABtElEQVR4AeyUTUsCURSGz7lSi/oHfWIftokgUiOKFhFBCCLt+3XtQwQJClwEIulEEG00TezDf1CLwns6r7QJRO+diRbR5dzhZYbzPsPceY+hX17/wB//4M6fdGpqY2IhkUpFfQNXII9Pxo4tcSa+nNqNAnUFSszaMpFYYd6bS2zshIW6AqnVCu6YTV5BYii2P7+U3lLtXcano12/uhVrC9ojbOggnkimVXuVFxDOnWZw02MqQguZw9mVdBLadXsDYfxUrwZM9gw6JpSZX0quQ7vsUEAYtxtBVSydq9ajNdn4yuaa6pEVGgjnTrNasWwvVLOIzS0uJldVD61IQDg/1oOy0kpEbD6Yj2YSW9M0ZEUGDvEe+CgyEEMAwwBDYUzk9LlReRlI+roZCYjwYwiolzJNHsNB9dAKDUToEX511//FFjAUVI+sUECEHaGHO4YAhgG0y/YGIuQIO8wRfgwBaNftBUS42ZismjNCj/Cr9ipnIEKth5VTd0bYEXrV3uUK5J4x26ThZpESwk4hlytQ3l97J4ak2L6vXYZk9dtcgdTtXr89NGq1fleEizMwAuNb698HfgIAAP//vtw3CwAAAAZJREFUAwBT25E52VkioAAAAABJRU5ErkJggg==", st = "data:image/png;base64,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", ct = {
292
292
  key: 0,
293
293
  class: "selected-inp"
294
- }, st = {
294
+ }, ut = {
295
295
  key: 0,
296
296
  class: "selected-ploc"
297
- }, ct = { key: 1 }, ut = {
297
+ }, dt = { key: 1 }, ft = {
298
298
  key: 0,
299
299
  class: "selected-tags"
300
- }, dt = ["onClick"], mt = ["width", "height"], ft = ["fill"], At = ["fill"], gt = { key: 1 }, yt = { class: "radio-text" }, ht = ["width", "height"], pt = ["fill"], vt = ["width", "height"], wt = ["fill"], bt = {
300
+ }, mt = ["onClick"], At = ["width", "height"], gt = ["fill"], yt = ["fill"], ht = { key: 1 }, pt = { class: "radio-text" }, vt = ["width", "height"], wt = ["fill"], bt = ["width", "height"], kt = ["fill"], Et = {
301
301
  key: 1,
302
302
  style: { width: "100%" }
303
- }, Et = { class: "panel-content" }, kt = {
304
- key: 0,
305
- class: "option all-select"
306
303
  }, Ct = {
307
304
  key: 0,
308
- src: ke,
309
- alt: "全选"
305
+ class: "panel-content"
310
306
  }, St = {
311
- key: 1,
312
- src: Ce,
313
- alt: "全选"
307
+ key: 0,
308
+ class: "option all-select"
314
309
  }, xt = {
315
- key: 2,
310
+ key: 0,
316
311
  src: Se,
317
312
  alt: "全选"
318
313
  }, Mt = {
319
- key: 0,
314
+ key: 1,
320
315
  src: xe,
321
- alt: "半选"
316
+ alt: "全选"
322
317
  }, Tt = {
323
- key: 1,
318
+ key: 2,
324
319
  src: Me,
325
- alt: "半选"
320
+ alt: "全选"
326
321
  }, Bt = {
327
322
  key: 0,
328
323
  src: Te,
329
- alt: "未选"
324
+ alt: "半选"
330
325
  }, zt = {
331
326
  key: 1,
332
327
  src: Be,
328
+ alt: "半选"
329
+ }, Lt = {
330
+ key: 0,
331
+ src: ze,
332
+ alt: "未选"
333
+ }, Dt = {
334
+ key: 1,
335
+ src: Le,
333
336
  alt: "未选"
334
- }, Lt = { class: "labbel-item" }, Dt = ["onClick"], Ft = { class: "label-text" }, Ht = ["onClick"], It = {
337
+ }, Ft = { class: "labbel-item" }, Ht = ["onClick"], Pt = { class: "label-text" }, It = ["onClick"], Yt = {
335
338
  key: 0,
336
- src: ke,
339
+ src: Se,
337
340
  alt: "全选"
338
- }, Yt = {
341
+ }, Jt = {
339
342
  key: 1,
340
- src: Ce,
343
+ src: xe,
341
344
  alt: "全选"
342
- }, Pt = {
345
+ }, Ut = {
343
346
  key: 2,
344
- src: Se,
347
+ src: Me,
345
348
  alt: "全选"
346
- }, Ut = {
349
+ }, Vt = {
347
350
  key: 0,
348
- src: xe,
351
+ src: Te,
349
352
  alt: "半选"
350
- }, Vt = {
353
+ }, Nt = {
351
354
  key: 1,
352
- src: Me,
355
+ src: Be,
353
356
  alt: "半选"
354
- }, Jt = {
357
+ }, Ot = {
355
358
  key: 0,
356
- src: Te,
359
+ src: ze,
357
360
  alt: "未选"
358
- }, Nt = {
361
+ }, Rt = {
359
362
  key: 1,
360
- src: Be,
363
+ src: Le,
361
364
  alt: "未选"
362
- }, Ot = { class: "labbel-item" }, Rt = {
365
+ }, Wt = { class: "labbel-item" }, Qt = {
363
366
  key: 0,
364
367
  class: "right-arow-its"
365
- }, Wt = {
366
- key: 0,
367
- class: "no-data"
368
- }, Qt = { class: "no-da-tes" }, Gt = { class: "no-data-text" }, qt = {
369
- key: 1,
368
+ }, Gt = { class: "no-da-tes" }, qt = { class: "no-data-text" }, Kt = {
369
+ key: 2,
370
370
  class: "panel-footer"
371
- }, Kt = ["disabled"], jt = /* @__PURE__ */ Object.assign({
371
+ }, jt = ["disabled"], Zt = /* @__PURE__ */ Object.assign({
372
372
  name: "qlMulpSel"
373
373
  }, {
374
374
  __name: "qlMulpSel",
@@ -481,203 +481,236 @@ const ke = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AA
481
481
  tagCloseSize: {
482
482
  type: [String, Number],
483
483
  default: "15px"
484
+ },
485
+ labelJoinType: {
486
+ type: String,
487
+ default: "self",
488
+ // self=仅返回当前级,full=拼接所有上级
489
+ validator: (e) => ["self", "full"].includes(e)
490
+ // 限制可选值
491
+ },
492
+ labelJoinSeparator: {
493
+ type: String,
494
+ default: "/"
484
495
  }
485
496
  },
486
497
  emits: ["confirm"],
487
- setup(e, { emit: o }) {
488
- const t = e, n = o, l = M(!1), s = M([]), u = M([]), c = M([]), g = M([]), i = M({}), m = M([]), d = M([]), y = M(0);
498
+ setup(e, { emit: n }) {
499
+ const t = e, l = n, o = M(!1), s = M([]), d = M([]), c = M([]), h = M([]), i = M({}), A = M([]), u = M([]), p = M(0);
489
500
  let b = M(null), S = M(null);
490
- const B = Y(() => c.value.filter((a) => {
491
- const r = i.value[a];
492
- return t.isMultiple ? r && !r.hasChildren : r && !0;
493
- })), P = Y(() => B.value.length === y.value && y.value > 0), W = Y(() => B.value.length > 0 && B.value.length < y.value), D = Y(() => s.value.filter((a) => {
501
+ const z = I(() => {
502
+ let a = c.value.filter((r) => {
503
+ const f = i.value[r];
504
+ return t.isMultiple ? f && !f.hasChildren : f && !0;
505
+ });
506
+ return t.isMultiple ? a : a.length > 0 ? [a[0]] : [];
507
+ }), Y = I(() => z.value.length === p.value && p.value > 0), Q = I(() => z.value.length > 0 && z.value.length < p.value), D = I(() => {
508
+ let a = s.value.filter((r) => {
509
+ const f = i.value[r];
510
+ return t.isMultiple ? f && !f.hasChildren : f && !0;
511
+ });
512
+ return t.isMultiple ? a : a.length > 0 ? [a[0]] : [];
513
+ }), J = (a) => {
494
514
  const r = i.value[a];
495
- return r && !r.hasChildren;
496
- })), Q = (a) => {
497
- i.value = {}, y.value = 0;
498
- const r = (p) => {
499
- p.forEach((h) => {
500
- i.value[h[t.valueProp]] = h, !h[t.childrenProp] || h[t.childrenProp].length === 0 ? (h.hasChildren = !1, y.value++) : (h.hasChildren = !0, r(h[t.childrenProp]));
515
+ if (!r) return "";
516
+ const f = [r[t.labelProp]];
517
+ let g = r.parentId;
518
+ for (; g; ) {
519
+ const v = i.value[g];
520
+ if (v)
521
+ f.unshift(v[t.labelProp]), g = v.parentId;
522
+ else
523
+ break;
524
+ }
525
+ return f.join(t.labelJoinSeparator);
526
+ }, Fe = (a) => {
527
+ i.value = {}, p.value = 0;
528
+ const r = (f) => {
529
+ f.forEach((g) => {
530
+ i.value[g[t.valueProp]] = g, !g[t.childrenProp] || g[t.childrenProp].length === 0 ? (g.hasChildren = !1, p.value++) : (g.hasChildren = !0, i.value[g[t.valueProp]] = g, r(g[t.childrenProp]));
501
531
  });
502
532
  };
503
533
  r(a);
504
- }, Le = (a) => {
505
- a.filter((p) => {
506
- const h = i.value[p];
507
- return h && !h.hasChildren;
508
- }).forEach((p) => {
509
- s.value.includes(p) || (s.value.push(p), j(i.value[p].parentId));
510
- }), ae();
511
- }, De = () => {
512
- c.value = [...s.value], m.value = [t.data], d.value = [];
513
- }, Fe = () => {
514
- m.value = [t.data], d.value = [];
534
+ }, He = (a) => {
535
+ setTimeout(() => {
536
+ a.filter((f) => {
537
+ const g = i.value[f];
538
+ return t.isMultiple ? g && !g.hasChildren : g && !0;
539
+ }).forEach((f) => {
540
+ s.value.includes(f) || (s.value.push(f), j(i.value[f].parentId));
541
+ }), re();
542
+ }, 100);
543
+ }, ne = () => {
544
+ c.value = [...s.value], A.value = [t.data], u.value = [];
545
+ }, Pe = () => {
546
+ A.value = [t.data], u.value = [];
515
547
  }, T = (a) => c.value.includes(a), G = (a) => {
516
548
  const r = i.value[a];
517
549
  if (!r || !r.hasChildren) return !1;
518
- const p = r[t.childrenProp].every(
550
+ const f = r[t.childrenProp].every(
519
551
  (v) => T(v[t.valueProp])
520
- ), h = r[t.childrenProp].some(
552
+ ), g = r[t.childrenProp].some(
521
553
  (v) => T(v[t.valueProp]) || G(v[t.valueProp])
522
554
  );
523
- return !p && h;
524
- }, ne = () => {
525
- g.value = B.value.map((a) => {
555
+ return !f && g;
556
+ }, le = () => {
557
+ h.value = z.value.map((a) => {
526
558
  const r = i.value[a];
527
- return r ? r[t.labelProp] : "";
559
+ return r ? t.isMultiple ? r[t.labelProp] : t.labelJoinType === "full" ? J(a) : r[t.labelProp] : "";
528
560
  }).filter(Boolean);
529
561
  }, oe = (a) => {
530
562
  const r = i.value[a];
531
563
  r && (t.isMultiple ? (T(a) || c.value.push(a), r[t.childrenProp] && r[t.childrenProp].length > 0 && r[t.childrenProp].forEach(
532
- (p) => oe(p[t.valueProp])
564
+ (f) => oe(f[t.valueProp])
533
565
  )) : c.value = [a]);
534
- }, le = (a) => {
566
+ }, ae = (a) => {
535
567
  const r = i.value[a];
536
- r && (T(a) || c.value.push(a), r.parentId && le(r.parentId));
568
+ r && (T(a) || c.value.push(a), r.parentId && ae(r.parentId));
537
569
  }, q = (a) => {
538
570
  const r = i.value[a];
539
571
  if (!r) return;
540
- const p = c.value.indexOf(a);
541
- p > -1 && c.value.splice(p, 1), r[t.childrenProp] && r[t.childrenProp].length > 0 && r[t.childrenProp].forEach(
542
- (h) => q(h[t.valueProp])
572
+ const f = c.value.indexOf(a);
573
+ f > -1 && c.value.splice(f, 1), r[t.childrenProp] && r[t.childrenProp].length > 0 && r[t.childrenProp].forEach(
574
+ (g) => q(g[t.valueProp])
543
575
  );
544
- }, He = (a) => {
545
- T(a[t.valueProp]) ? q(a[t.valueProp]) : oe(a[t.valueProp]), a.parentId && K(a.parentId);
576
+ }, Ie = (a, r) => {
577
+ const f = T(a[t.valueProp]);
578
+ console.log(f, "isChecked------"), f ? q(a[t.valueProp]) : (oe(a[t.valueProp]), u.value.splice(r), u.value.push(a[t.valueProp])), a.parentId && K(a.parentId);
546
579
  }, K = (a) => {
547
580
  const r = i.value[a];
548
581
  if (!r || !r.hasChildren) return;
549
- const p = r[t.childrenProp].map(
550
- (k) => k[t.valueProp]
551
- ), h = p.every((k) => T(k));
552
- p.some(
553
- (k) => T(k) || G(k)
582
+ const f = r[t.childrenProp].map(
583
+ (E) => E[t.valueProp]
584
+ ), g = f.every((E) => T(E));
585
+ f.some(
586
+ (E) => T(E) || G(E)
554
587
  );
555
588
  const v = c.value.indexOf(a);
556
- h ? v === -1 && c.value.push(a) : v > -1 && c.value.splice(v, 1), r.parentId && K(r.parentId);
557
- }, Ie = () => {
558
- P.value ? c.value = [] : (c.value = [], Object.values(i.value).forEach((a) => {
559
- a.hasChildren || le(a[t.valueProp]);
589
+ g ? v === -1 && c.value.push(a) : v > -1 && c.value.splice(v, 1), console.log(c.value, "tempCheckedKeys.value------------", v), r.parentId && K(r.parentId);
590
+ }, Ye = () => {
591
+ Y.value ? c.value = [] : (c.value = [], Object.values(i.value).forEach((a) => {
592
+ a.hasChildren || ae(a[t.valueProp]);
560
593
  }));
561
- }, ae = () => {
562
- u.value = D.value.map((a) => {
594
+ }, re = () => {
595
+ d.value = D.value.map((a) => {
563
596
  const r = i.value[a];
564
- return r ? r[t.labelProp] : "";
597
+ return r ? t.isMultiple ? r[t.labelProp] : t.labelJoinType === "full" ? J(a) : r[t.labelProp] : "";
565
598
  }).filter(Boolean);
566
599
  }, j = (a) => {
567
600
  const r = i.value[a];
568
601
  if (!r || !r.hasChildren) return;
569
- const p = r[t.childrenProp].map(
570
- (k) => k[t.valueProp]
571
- ), h = p.every(
572
- (k) => s.value.includes(k)
602
+ const f = r[t.childrenProp].map(
603
+ (E) => E[t.valueProp]
604
+ ), g = f.every(
605
+ (E) => s.value.includes(E)
573
606
  );
574
- p.some(
575
- (k) => s.value.includes(k) || re(k)
607
+ f.some(
608
+ (E) => s.value.includes(E) || ie(E)
576
609
  );
577
610
  const v = s.value.indexOf(a);
578
- h ? v === -1 && s.value.push(a) : v > -1 && s.value.splice(v, 1), r.parentId && j(r.parentId);
579
- }, re = (a) => {
611
+ g ? v === -1 && s.value.push(a) : v > -1 && s.value.splice(v, 1), r.parentId && j(r.parentId);
612
+ }, ie = (a) => {
580
613
  const r = i.value[a];
581
614
  if (!r || !r.hasChildren) return !1;
582
- const p = r[t.childrenProp].every(
615
+ const f = r[t.childrenProp].every(
583
616
  (v) => s.value.includes(v[t.valueProp])
584
- ), h = r[t.childrenProp].some(
585
- (v) => s.value.includes(v[t.valueProp]) || re(v[t.valueProp])
617
+ ), g = r[t.childrenProp].some(
618
+ (v) => s.value.includes(v[t.valueProp]) || ie(v[t.valueProp])
586
619
  );
587
- return !p && h;
588
- }, Ye = (a) => {
620
+ return !f && g;
621
+ }, Je = (a) => {
589
622
  const r = D.value[a];
590
623
  if (!r) return;
591
- const p = s.value.indexOf(r);
592
- if (p > -1 && s.value.splice(p, 1), ie(r), j(i.value[r].parentId), ae(), l.value) {
593
- const h = c.value.indexOf(r);
594
- h > -1 && c.value.splice(h, 1), q(r), K(i.value[r].parentId), ne();
624
+ const f = s.value.indexOf(r);
625
+ if (f > -1 && s.value.splice(f, 1), se(r), j(i.value[r].parentId), re(), o.value) {
626
+ const g = c.value.indexOf(r);
627
+ g > -1 && c.value.splice(g, 1), q(r), K(i.value[r].parentId), le();
595
628
  }
596
- n("confirm", {
597
- checkIds: D.value,
598
- checkLabels: u.value,
599
- activeNodeIds: d.value
600
- });
601
- }, ie = (a) => {
629
+ ue("delete");
630
+ }, se = (a) => {
602
631
  const r = i.value[a];
603
632
  if (!r) return;
604
- const p = s.value.indexOf(a);
605
- p > -1 && s.value.splice(p, 1), r[t.childrenProp] && r[t.childrenProp].length > 0 && r[t.childrenProp].forEach(
606
- (h) => ie(h[t.valueProp])
633
+ const f = s.value.indexOf(a);
634
+ f > -1 && s.value.splice(f, 1), r[t.childrenProp] && r[t.childrenProp].length > 0 && r[t.childrenProp].forEach(
635
+ (g) => se(g[t.valueProp])
607
636
  );
608
- }, Pe = () => {
609
- l.value = !l.value, Re(() => {
610
- l.value;
637
+ }, Ue = () => {
638
+ o.value = !o.value, Qe(() => {
639
+ o.value;
611
640
  });
612
- }, se = (a) => {
641
+ }, ce = (a) => {
613
642
  a.target.closest(".cascade-selector") || Z();
614
643
  }, Z = () => {
615
- l.value = !1;
616
- }, Ue = (a, r) => {
617
- d.value.splice(r), d.value.push(a[t.valueProp]), m.value.splice(r + 1), a[t.childrenProp] && a[t.childrenProp].length > 0 && m.value.push(a[t.childrenProp]);
618
- }, Ve = () => {
619
- s.value = [...c.value], u.value = [...g.value], n("confirm", {
620
- checkIds: D.value,
621
- checkLabels: u.value,
622
- activeNodeIds: d.value
623
- }), Z();
644
+ o.value = !1;
645
+ }, Ve = (a, r) => {
646
+ u.value.splice(r), u.value.push(a[t.valueProp]), A.value.splice(r + 1), a[t.childrenProp] && a[t.childrenProp].length > 0 && A.value.push(a[t.childrenProp]);
647
+ }, Ne = () => {
648
+ s.value = [...c.value], d.value = [...h.value], console.log(D.value, "pppp"), ue("confirm"), Z();
649
+ }, ue = (a) => {
650
+ let r = D.value, f = d.value, g = u.value;
651
+ t.isMultiple || (r.length && (r = [r[0]]), f.length && (f = [f[0]]), g.length && (g = [g[0]])), l("confirm", {
652
+ type: a,
653
+ checkIds: r,
654
+ checkLabels: f,
655
+ activeNodeIds: g
656
+ });
624
657
  };
625
658
  V(
626
659
  () => t.data,
627
660
  (a) => {
628
- a.length > 0 && Q(a);
661
+ a.length > 0 && (Fe(a), ne());
629
662
  },
630
663
  { immediate: !0, deep: !0 }
631
664
  ), V(
632
665
  () => t.defaultValue,
633
666
  (a) => {
634
- a && a.length > 0 && Le(a);
667
+ a && a.length > 0 && He(a);
635
668
  },
636
669
  { immediate: !0 }
637
670
  ), V(c, () => {
638
- ne();
639
- }), V(l, (a) => {
640
- a ? De() : Fe();
671
+ le();
672
+ }), V(o, (a) => {
673
+ a ? ne() : Pe();
641
674
  });
642
- function Je() {
675
+ function Oe() {
643
676
  }
644
677
  return window.addEventListener("resize", () => {
645
- l.value;
646
- }), be(() => {
647
- document.addEventListener("click", se);
678
+ o.value;
648
679
  }), Ee(() => {
649
- window.removeEventListener("resize", Je);
650
- }), Oe(() => {
651
- document.removeEventListener("click", se);
652
- }), (a, r) => (f(), A("div", {
680
+ document.addEventListener("click", ce);
681
+ }), Ce(() => {
682
+ window.removeEventListener("resize", Oe);
683
+ }), We(() => {
684
+ document.removeEventListener("click", ce);
685
+ }), (a, r) => (m(), y("div", {
653
686
  class: "cascade-selector",
654
- style: z({ width: e.isShowInput ? "100%" : "auto" })
687
+ style: B({ width: e.isShowInput ? "100%" : "auto" })
655
688
  }, [
656
689
  w("div", {
657
690
  class: "selector-trigger",
658
- onClick: Pe,
659
- style: z({
660
- border: l.value ? `1px solid ${e.borderSelectedColor}` : `1px solid ${e.borderUnColor}`
691
+ onClick: Ue,
692
+ style: B({
693
+ border: o.value ? `1px solid ${e.borderSelectedColor}` : `1px solid ${e.borderUnColor}`
661
694
  }),
662
695
  ref_key: "selectorRef",
663
696
  ref: b
664
697
  }, [
665
- e.isShowInput ? (f(), A("div", it, [
666
- u.value.length ? E("", !0) : (f(), A("span", st, x(e.placeholder), 1)),
667
- u.value.length ? (f(), A("div", ct, [
668
- e.isMultiple ? (f(), A("div", ut, [
669
- (f(!0), A(N, null, $(u.value, (p, h) => (f(), A("span", {
698
+ e.isShowInput ? (m(), y("div", ct, [
699
+ d.value.length ? k("", !0) : (m(), y("span", ut, x(e.placeholder), 1)),
700
+ d.value.length ? (m(), y("div", dt, [
701
+ e.isMultiple ? (m(), y("div", ft, [
702
+ (m(!0), y(O, null, $(d.value, (f, g) => (m(), y("span", {
670
703
  class: "tag",
671
- key: h,
672
- style: z({ background: e.tagBackground, color: e.tagFontColor, fontSize: e.tagFontSize })
704
+ key: g,
705
+ style: B({ background: e.tagBackground, color: e.tagFontColor, fontSize: e.tagFontSize })
673
706
  }, [
674
- w("span", null, x(p), 1),
707
+ w("span", null, x(f), 1),
675
708
  w("i", {
676
709
  class: "tag-close",
677
- onClick: J((v) => Ye(h), ["stop"])
710
+ onClick: N((v) => Je(g), ["stop"])
678
711
  }, [
679
712
  C(a.$slots, "tagImg", {}, () => [
680
- (f(), A("svg", {
713
+ (m(), y("svg", {
681
714
  t: "1767609038891",
682
715
  class: "icon",
683
716
  viewBox: "0 0 1024 1024",
@@ -691,25 +724,25 @@ const ke = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AA
691
724
  d: "M195.238875 782.385433m15.004806-15.004806l556.881946-556.881946q15.004806-15.004806 30.009612 0l15.245222 15.245223q15.004806 15.004806 0 30.009611l-556.881946 556.881946q-15.004806 15.004806-30.009611 0l-15.245223-15.245222q-15.004806-15.004806 0-30.009612Z",
692
725
  "p-id": "5759",
693
726
  fill: e.tagImgColor
694
- }, null, 8, ft),
727
+ }, null, 8, gt),
695
728
  w("path", {
696
729
  d: "M195.003277 242.323839m15.004806-15.004806l15.245223-15.245222q15.004806-15.004806 30.009611 0l556.938514 556.938514q15.004806 15.004806 0 30.009612l-15.245222 15.245222q-15.004806 15.004806-30.009612 0l-556.938514-556.938514q-15.004806-15.004806 0-30.009612Z",
697
730
  "p-id": "5760",
698
731
  fill: e.tagImgColor
699
- }, null, 8, At)
700
- ], 8, mt))
732
+ }, null, 8, yt)
733
+ ], 8, At))
701
734
  ], !0)
702
- ], 8, dt)
735
+ ], 8, mt)
703
736
  ], 4))), 128))
704
- ])) : (f(), A("div", gt, [
705
- w("span", yt, x(u.value.join(", ")), 1)
737
+ ])) : (m(), y("div", ht, [
738
+ w("span", pt, x(d.value.join(e.labelJoinSeparator)), 1)
706
739
  ]))
707
- ])) : E("", !0),
740
+ ])) : k("", !0),
708
741
  w("i", {
709
- class: O(["arrow", { up: l.value }])
742
+ class: R(["arrow", { up: o.value }])
710
743
  }, [
711
- C(a.$slots, "arrow", { isPanelOpen: l.value }, () => [
712
- e.arrowStatus == "reality" ? (f(), A("svg", {
744
+ C(a.$slots, "arrow", { isPanelOpen: o.value }, () => [
745
+ e.arrowStatus == "reality" ? (m(), y("svg", {
713
746
  key: 0,
714
747
  t: "1767602421952",
715
748
  class: "icon",
@@ -722,10 +755,10 @@ const ke = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AA
722
755
  }, [
723
756
  w("path", {
724
757
  d: "M250.18933085 410.04488365l242.51052367 242.93009204c4.61525217 4.61525217 10.48920951 6.71309407 16.36316682 6.71309409s11.74791464-2.0978419 16.36316682-6.71309409l248.38448099-248.80404936c4.1956838-4.1956838 6.71309407-10.06964111 6.71309407-16.36316682s-2.51741029-12.16748302-6.71309407-16.36316681c-8.81093598-9.23050436-23.49582928-9.23050436-32.72633365 0L509.06302135 603.88547523l-226.14735685-226.56692523c-4.1956838-4.1956838-10.06964111-6.71309407-16.36316683-6.71309408s-12.16748302 2.51741029-16.36316682 6.71309408S243.47623678 387.38819113 243.47623678 393.68171683s2.51741029 11.74791464 6.71309407 16.36316682z",
725
- fill: l.value ? e.illusionSelectedColor : e.illusionUnColor,
758
+ fill: o.value ? e.illusionSelectedColor : e.illusionUnColor,
726
759
  "p-id": "7221"
727
- }, null, 8, pt)
728
- ], 8, ht)) : (f(), A("svg", {
760
+ }, null, 8, wt)
761
+ ], 8, vt)) : (m(), y("svg", {
729
762
  key: 1,
730
763
  t: "1767605110713",
731
764
  class: "icon",
@@ -738,112 +771,116 @@ const ke = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AA
738
771
  }, [
739
772
  w("path", {
740
773
  d: "M917.674121 981.469649L1619.42492 206.108626A124.319489 124.319489 0 0 0 1527.821086 0H124.319489A124.319489 124.319489 0 0 0 32.715655 207.744409L734.466454 981.469649a124.319489 124.319489 0 0 0 183.207667 0z",
741
- fill: l.value ? e.illusionSelectedColor : e.illusionUnColor,
774
+ fill: o.value ? e.illusionSelectedColor : e.illusionUnColor,
742
775
  "p-id": "1612"
743
- }, null, 8, wt)
744
- ], 8, vt))
776
+ }, null, 8, kt)
777
+ ], 8, bt))
745
778
  ], !0)
746
779
  ], 2)
747
- ])) : (f(), A("div", bt, [
748
- C(a.$slots, "content", { isPanelOpen: l.value }, void 0, !0)
780
+ ])) : (m(), y("div", Et, [
781
+ C(a.$slots, "content", { isPanelOpen: o.value }, void 0, !0)
749
782
  ]))
750
783
  ], 4),
751
- l.value ? (f(), A("div", {
784
+ o.value ? (m(), y("div", {
752
785
  key: 0,
753
786
  class: "cascade-panel",
754
- onClick: r[0] || (r[0] = J(() => {
787
+ onClick: r[0] || (r[0] = N(() => {
755
788
  }, ["stop"])),
756
789
  ref_key: "cascadeRef",
757
790
  ref: S
758
791
  }, [
759
- w("div", Et, [
760
- (f(!0), A(N, null, $(m.value, (p, h) => (f(), A("div", {
792
+ e.data && e.data.length ? (m(), y("div", Ct, [
793
+ (m(!0), y(O, null, $(A.value, (f, g) => (m(), y("div", {
761
794
  class: "column",
762
- key: h,
763
- style: z({ minWidth: e.columnWidth })
795
+ key: g,
796
+ style: B({ minWidth: e.columnWidth })
764
797
  }, [
765
- h === 0 && e.isShowSelectAll && e.isMultiple && e.data && e.data.length > 0 ? (f(), A("div", kt, [
798
+ g === 0 && e.isShowSelectAll && e.isMultiple && e.data && e.data.length > 0 ? (m(), y("div", St, [
766
799
  w("div", null, [
767
800
  w("div", {
768
801
  class: "checkbox-img",
769
- onClick: J(Ie, ["stop"])
802
+ onClick: N(Ye, ["stop"])
770
803
  }, [
771
- P.value ? C(a.$slots, "allSel", { key: 0 }, () => [
772
- e.graphic == "square" ? (f(), A("img", Ct)) : e.graphic == "solid" ? (f(), A("img", St)) : (f(), A("img", xt))
773
- ], !0) : W.value ? C(a.$slots, "bxSel", { key: 1 }, () => [
774
- e.graphic == "square" || e.graphic == "solid" ? (f(), A("img", Mt)) : (f(), A("img", Tt))
804
+ Y.value ? C(a.$slots, "allSel", { key: 0 }, () => [
805
+ e.graphic == "square" ? (m(), y("img", xt)) : e.graphic == "solid" ? (m(), y("img", Mt)) : (m(), y("img", Tt))
806
+ ], !0) : Q.value ? C(a.$slots, "bxSel", { key: 1 }, () => [
807
+ e.graphic == "square" || e.graphic == "solid" ? (m(), y("img", Bt)) : (m(), y("img", zt))
775
808
  ], !0) : C(a.$slots, "unSel", { key: 2 }, () => [
776
- e.graphic == "square" || e.graphic == "solid" ? (f(), A("img", Bt)) : (f(), A("img", zt))
809
+ e.graphic == "square" || e.graphic == "solid" ? (m(), y("img", Lt)) : (m(), y("img", Dt))
777
810
  ], !0)
778
811
  ]),
779
- w("label", Lt, x(e.selAllText), 1)
812
+ w("label", Ft, x(e.selAllText), 1)
780
813
  ])
781
- ])) : E("", !0),
782
- (f(!0), A(N, null, $(p, (v) => (f(), A("div", {
783
- class: O(["option", { active: v[e.valueProp] === d.value[h] }]),
814
+ ])) : k("", !0),
815
+ (m(!0), y(O, null, $(f, (v) => (m(), y("div", {
816
+ class: R(["option", { active: v[e.valueProp] === u.value[g] }]),
784
817
  key: v[e.valueProp],
785
- onClick: (k) => Ue(v, h),
786
- style: z(
787
- v[e.valueProp] === d.value[h] ? e.fontActiveStyles : {}
818
+ onClick: (E) => Ve(v, g),
819
+ style: B(
820
+ v[e.valueProp] === u.value[g] ? e.fontActiveStyles : {}
788
821
  )
789
822
  }, [
790
- w("div", Ft, [
823
+ w("div", Pt, [
791
824
  w("div", {
792
825
  class: "checkbox-img",
793
- onClick: J((k) => He(v), ["stop"])
826
+ onClick: N((E) => Ie(v, g), ["stop"])
794
827
  }, [
795
828
  T(v[e.valueProp]) ? C(a.$slots, "allSel", { key: 0 }, () => [
796
- e.graphic == "square" ? (f(), A("img", It)) : e.graphic == "solid" ? (f(), A("img", Yt)) : (f(), A("img", Pt))
829
+ e.graphic == "square" ? (m(), y("img", Yt)) : e.graphic == "solid" ? (m(), y("img", Jt)) : (m(), y("img", Ut))
797
830
  ], !0) : G(v[e.valueProp]) ? C(a.$slots, "bxSel", { key: 1 }, () => [
798
- e.graphic == "square" || e.graphic == "solid" ? (f(), A("img", Ut)) : (f(), A("img", Vt))
831
+ e.graphic == "square" || e.graphic == "solid" ? (m(), y("img", Vt)) : (m(), y("img", Nt))
799
832
  ], !0) : C(a.$slots, "unSel", { key: 2 }, () => [
800
- e.graphic == "square" || e.graphic == "solid" ? (f(), A("img", Jt)) : (f(), A("img", Nt))
833
+ e.graphic == "square" || e.graphic == "solid" ? (m(), y("img", Ot)) : (m(), y("img", Rt))
801
834
  ], !0)
802
- ], 8, Ht),
803
- w("label", Ot, x(v[e.labelProp]), 1)
835
+ ], 8, It),
836
+ w("label", Wt, x(v[e.labelProp]), 1)
804
837
  ]),
805
- v.hasChildren ? (f(), A("div", Rt, [...r[1] || (r[1] = [
838
+ v.hasChildren ? (m(), y("div", Qt, [...r[1] || (r[1] = [
806
839
  w("img", {
807
840
  style: { width: "14px", height: "14px" },
808
- src: at,
841
+ src: it,
809
842
  alt: ""
810
843
  }, null, -1)
811
- ])])) : E("", !0)
812
- ], 14, Dt))), 128))
844
+ ])])) : k("", !0)
845
+ ], 14, Ht))), 128))
813
846
  ], 4))), 128))
814
- ]),
815
- e.data && e.data.length ? E("", !0) : (f(), A("div", Wt, [
816
- w("div", Qt, [
847
+ ])) : k("", !0),
848
+ e.data && e.data.length ? k("", !0) : (m(), y("div", {
849
+ key: 1,
850
+ class: "no-data",
851
+ style: B({ minWidth: e.columnWidth })
852
+ }, [
853
+ w("div", Gt, [
817
854
  C(a.$slots, "empty", {}, () => [
818
855
  r[2] || (r[2] = w("img", {
819
856
  class: "no-data-img",
820
- src: rt,
857
+ src: st,
821
858
  alt: "无数据"
822
859
  }, null, -1)),
823
- w("div", Gt, x(e.noDataText), 1)
860
+ w("div", qt, x(e.noDataText), 1)
824
861
  ], !0)
825
862
  ])
826
- ])),
827
- e.data && e.data.length ? (f(), A("div", qt, [
863
+ ], 4)),
864
+ e.data && e.data.length ? (m(), y("div", Kt, [
828
865
  w("button", {
829
866
  class: "btn cancel",
830
867
  onClick: Z
831
868
  }, "取消"),
832
869
  w("button", {
833
870
  class: "btn confirm",
834
- disabled: B.value.length === 0,
835
- onClick: Ve
836
- }, " 确定 ", 8, Kt)
837
- ])) : E("", !0)
838
- ], 512)) : E("", !0)
871
+ disabled: z.value.length === 0,
872
+ onClick: Ne
873
+ }, " 确定 ", 8, jt)
874
+ ])) : k("", !0)
875
+ ], 512)) : k("", !0)
839
876
  ], 4));
840
877
  }
841
- }), fe = /* @__PURE__ */ te(jt, [["__scopeId", "data-v-8b69a447"]]);
842
- function Zt(e) {
843
- e.component(fe.name, fe);
878
+ }), ge = /* @__PURE__ */ te(Zt, [["__scopeId", "data-v-77658d24"]]);
879
+ function Xt(e) {
880
+ e.component(ge.name, ge);
844
881
  }
845
882
  let L = null;
846
- function Xt(e, o) {
883
+ function $t(e, n) {
847
884
  if (!e)
848
885
  throw new Error("[your-npm-package] 初始化失败:请传入全局配置!");
849
886
  L = {
@@ -851,72 +888,72 @@ function Xt(e, o) {
851
888
  localStorageKey: "defaultKey",
852
889
  defaultWatermark: "全局水印(需在全局变量中定义)",
853
890
  ...e
854
- }, o && (o.config.globalProperties.$packageOptions = L);
891
+ }, n && (n.config.globalProperties.$packageOptions = L);
855
892
  }
856
- function R() {
893
+ function W() {
857
894
  if (!L)
858
895
  throw new Error("[your-npm-package] 请先调用 initGlobalOptions 初始化全局变量!");
859
896
  return L;
860
897
  }
861
- function pn(e) {
898
+ function vn(e) {
862
899
  if (!L)
863
900
  throw new Error("[your-npm-package] 请先初始化全局变量!");
864
901
  L = { ...L, ...e };
865
902
  }
866
- function $t(e, o = "YYYY-MM-DD HH:mm:ss") {
903
+ function _t(e, n = "YYYY-MM-DD HH:mm:ss") {
867
904
  let t;
868
905
  if (!e)
869
906
  t = /* @__PURE__ */ new Date();
870
907
  else if (typeof e == "string" || typeof e == "number") {
871
- const m = typeof e == "string" ? Number(e) : e;
872
- t = new Date(m.toString().length === 10 ? m * 1e3 : m);
908
+ const A = typeof e == "string" ? Number(e) : e;
909
+ t = new Date(A.toString().length === 10 ? A * 1e3 : A);
873
910
  } else if (e instanceof Date)
874
911
  t = e;
875
912
  else
876
913
  return console.warn("无效的日期参数"), "";
877
914
  if (isNaN(t.getTime()))
878
915
  return console.warn("无效的日期"), "";
879
- const n = t.getFullYear(), l = t.getMonth() + 1, s = t.getDate(), u = t.getHours(), c = t.getMinutes(), g = t.getSeconds(), i = (m, d = 2) => m.toString().padStart(d, "0");
880
- return o.replace(/YYYY/g, n).replace(/YY/g, n.toString().slice(-2)).replace(/MM/g, i(l)).replace(/M/g, l).replace(/DD/g, i(s)).replace(/D/g, s).replace(/HH/g, i(u)).replace(/H/g, u).replace(/hh/g, i(u % 12 || 12)).replace(/h/g, u % 12 || 12).replace(/mm/g, i(c)).replace(/m/g, c).replace(/ss/g, i(g)).replace(/s/g, g);
916
+ const l = t.getFullYear(), o = t.getMonth() + 1, s = t.getDate(), d = t.getHours(), c = t.getMinutes(), h = t.getSeconds(), i = (A, u = 2) => A.toString().padStart(u, "0");
917
+ return n.replace(/YYYY/g, l).replace(/YY/g, l.toString().slice(-2)).replace(/MM/g, i(o)).replace(/M/g, o).replace(/DD/g, i(s)).replace(/D/g, s).replace(/HH/g, i(d)).replace(/H/g, d).replace(/hh/g, i(d % 12 || 12)).replace(/h/g, d % 12 || 12).replace(/mm/g, i(c)).replace(/m/g, c).replace(/ss/g, i(h)).replace(/s/g, h);
881
918
  }
882
- function _t(e) {
883
- const { localStorageKey: o } = R();
919
+ function en(e) {
920
+ const { localStorageKey: n } = W();
884
921
  try {
885
- let t = localStorage.getItem(`${o}-${e}`) || "{}";
922
+ let t = localStorage.getItem(`${n}-${e}`) || "{}";
886
923
  return JSON.parse(t)?.content;
887
924
  } catch (t) {
888
925
  console.log(t, "setToken------------------err");
889
926
  }
890
927
  }
891
- function en(e, o) {
892
- const { localStorageKey: t } = R();
928
+ function tn(e, n) {
929
+ const { localStorageKey: t } = W();
893
930
  try {
894
- let n = {
895
- content: o,
931
+ let l = {
932
+ content: n,
896
933
  datetime: (/* @__PURE__ */ new Date()).getTime(),
897
- dataType: typeof o
934
+ dataType: typeof n
898
935
  };
899
- localStorage.setItem(`${t}-${e}`, JSON.stringify(n));
900
- } catch (n) {
901
- console.log(n, "setToken------------------err");
936
+ localStorage.setItem(`${t}-${e}`, JSON.stringify(l));
937
+ } catch (l) {
938
+ console.log(l, "setToken------------------err");
902
939
  }
903
940
  }
904
- function tn(e) {
905
- const { localStorageKey: o } = R();
906
- localStorage.removeItem(`${o}-${e}`);
941
+ function nn(e) {
942
+ const { localStorageKey: n } = W();
943
+ localStorage.removeItem(`${n}-${e}`);
907
944
  }
908
- function nn() {
945
+ function ln() {
909
946
  localStorage.clear();
910
947
  }
911
948
  const on = {
912
- mounted(e, o) {
949
+ mounted(e, n) {
913
950
  e.addEventListener("click", () => {
914
- if (!o.value) {
951
+ if (!n.value) {
915
952
  console.warn("复制内容不能为空!");
916
953
  return;
917
954
  }
918
955
  const t = document.createElement("input");
919
- t.value = o.value, document.body.appendChild(t), t.select(), document.execCommand("copy"), document.body.removeChild(t), e.dispatchEvent(new CustomEvent("copy-success", { detail: o.value }));
956
+ t.value = n.value, document.body.appendChild(t), t.select(), document.execCommand("copy"), document.body.removeChild(t), e.dispatchEvent(new CustomEvent("copy-success", { detail: n.value }));
920
957
  });
921
958
  },
922
959
  // 解绑时移除事件
@@ -924,8 +961,8 @@ const on = {
924
961
  e.removeEventListener("click", () => {
925
962
  });
926
963
  }
927
- }, ln = {
928
- mounted(e, o) {
964
+ }, an = {
965
+ mounted(e, n) {
929
966
  e._debounceCache = {
930
967
  fn: null,
931
968
  // 防抖函数缓存
@@ -933,50 +970,50 @@ const on = {
933
970
  // 绑定的事件类型
934
971
  timer: null
935
972
  // 定时器缓存(新增,兼容 leading 逻辑)
936
- }, Ae(e, o);
973
+ }, ye(e, n);
937
974
  },
938
- updated(e, o) {
939
- o.value !== o.oldValue && (ge(e), Ae(e, o));
975
+ updated(e, n) {
976
+ n.value !== n.oldValue && (he(e), ye(e, n));
940
977
  },
941
978
  unmounted(e) {
942
- ge(e), e._debounceCache?.timer && clearTimeout(e._debounceCache.timer), delete e._debounceCache;
979
+ he(e), e._debounceCache?.timer && clearTimeout(e._debounceCache.timer), delete e._debounceCache;
943
980
  }
944
981
  };
945
- function Ae(e, o) {
946
- let t, n;
947
- if (typeof o.value == "function")
948
- t = o.value, n = { delay: 500, eventType: "click", leading: !0 };
949
- else if (Array.isArray(o.value) && typeof o.value[0] == "function")
950
- [t, n = {}] = o.value, n = {
982
+ function ye(e, n) {
983
+ let t, l;
984
+ if (typeof n.value == "function")
985
+ t = n.value, l = { delay: 500, eventType: "click", leading: !0 };
986
+ else if (Array.isArray(n.value) && typeof n.value[0] == "function")
987
+ [t, l = {}] = n.value, l = {
951
988
  delay: 500,
952
989
  eventType: "click",
953
990
  leading: !0,
954
- ...n
991
+ ...l
955
992
  };
956
993
  else {
957
994
  console.warn("防抖指令参数错误!必须传入函数或 [函数, 配置对象]");
958
995
  return;
959
996
  }
960
- const { delay: l, eventType: s, leading: u } = n, c = typeof l == "number" && l >= 0 ? l : 500;
961
- (typeof l != "number" || l < 0) && console.warn(`防抖延迟参数错误(${l}),已自动重置为 500ms`);
962
- const g = typeof s == "string" ? s : "click";
997
+ const { delay: o, eventType: s, leading: d } = l, c = typeof o == "number" && o >= 0 ? o : 500;
998
+ (typeof o != "number" || o < 0) && console.warn(`防抖延迟参数错误(${o}),已自动重置为 500ms`);
999
+ const h = typeof s == "string" ? s : "click";
963
1000
  typeof s != "string" && console.warn(`事件类型参数错误(${s}),已自动重置为 click`);
964
- const i = typeof u == "boolean" ? u : !0;
965
- typeof u != "boolean" && console.warn(`触发时机参数错误(${u}),已自动重置为 true(开始前执行)`);
966
- const m = (...d) => {
967
- e._debounceCache.timer && clearTimeout(e._debounceCache.timer), i && !e._debounceCache.timer && t.apply(e, d), e._debounceCache.timer = setTimeout(() => {
968
- i || t.apply(e, d), e._debounceCache.timer = null;
1001
+ const i = typeof d == "boolean" ? d : !0;
1002
+ typeof d != "boolean" && console.warn(`触发时机参数错误(${d}),已自动重置为 true(开始前执行)`);
1003
+ const A = (...u) => {
1004
+ e._debounceCache.timer && clearTimeout(e._debounceCache.timer), i && !e._debounceCache.timer && t.apply(e, u), e._debounceCache.timer = setTimeout(() => {
1005
+ i || t.apply(e, u), e._debounceCache.timer = null;
969
1006
  }, c);
970
1007
  };
971
- e.addEventListener(g, m), e._debounceCache.fn = m, e._debounceCache.eventType = g;
1008
+ e.addEventListener(h, A), e._debounceCache.fn = A, e._debounceCache.eventType = h;
972
1009
  }
973
- function ge(e) {
1010
+ function he(e) {
974
1011
  if (!e._debounceCache) return;
975
- const { fn: o, eventType: t, timer: n } = e._debounceCache;
976
- o && t && e.removeEventListener(t, o), n && clearTimeout(n), e._debounceCache.fn = null, e._debounceCache.eventType = null, e._debounceCache.timer = null;
1012
+ const { fn: n, eventType: t, timer: l } = e._debounceCache;
1013
+ n && t && e.removeEventListener(t, n), l && clearTimeout(l), e._debounceCache.fn = null, e._debounceCache.eventType = null, e._debounceCache.timer = null;
977
1014
  }
978
- const an = {
979
- mounted(e, o) {
1015
+ const rn = {
1016
+ mounted(e, n) {
980
1017
  e._throttle = {
981
1018
  fn: null,
982
1019
  eventType: null,
@@ -984,48 +1021,48 @@ const an = {
984
1021
  // 上次执行时间
985
1022
  coolDownTimer: null
986
1023
  // 冷却期定时器(保证leading=false时按间隔执行)
987
- }, ye(e, o);
1024
+ }, pe(e, n);
988
1025
  },
989
- updated(e, o) {
990
- o.value !== o.oldValue && (he(e), ye(e, o));
1026
+ updated(e, n) {
1027
+ n.value !== n.oldValue && (ve(e), pe(e, n));
991
1028
  },
992
1029
  unmounted(e) {
993
- he(e);
1030
+ ve(e);
994
1031
  }
995
1032
  };
996
- function ye(e, o) {
997
- let t, n;
998
- if (typeof o.value == "function")
999
- t = o.value, n = { delay: 500, eventType: "click", leading: !0 };
1000
- else if (Array.isArray(o.value) && typeof o.value[0] == "function")
1001
- [t, n = {}] = o.value, n = { delay: 500, eventType: "click", leading: !0, ...n };
1033
+ function pe(e, n) {
1034
+ let t, l;
1035
+ if (typeof n.value == "function")
1036
+ t = n.value, l = { delay: 500, eventType: "click", leading: !0 };
1037
+ else if (Array.isArray(n.value) && typeof n.value[0] == "function")
1038
+ [t, l = {}] = n.value, l = { delay: 500, eventType: "click", leading: !0, ...l };
1002
1039
  else {
1003
1040
  console.warn("节流指令参数错误!必须传入函数或 [函数, 配置对象]");
1004
1041
  return;
1005
1042
  }
1006
- const { delay: l, eventType: s, leading: u } = n, c = typeof l == "number" && l >= 0 ? l : 500, g = typeof s == "string" ? s : "click", i = typeof u == "boolean" ? u : !0, m = e._throttle, d = (...y) => {
1007
- const b = Date.now(), S = b - m.lastExecTime;
1008
- i ? S >= c ? (t.apply(e, y), m.lastExecTime = b) : m.coolDownTimer || (m.coolDownTimer = setTimeout(() => {
1009
- t.apply(e, y), m.lastExecTime = Date.now(), m.coolDownTimer = null;
1010
- }, c - S)) : m.coolDownTimer || (m.coolDownTimer = setTimeout(() => {
1011
- t.apply(e, y), m.lastExecTime = Date.now(), m.coolDownTimer = null;
1043
+ const { delay: o, eventType: s, leading: d } = l, c = typeof o == "number" && o >= 0 ? o : 500, h = typeof s == "string" ? s : "click", i = typeof d == "boolean" ? d : !0, A = e._throttle, u = (...p) => {
1044
+ const b = Date.now(), S = b - A.lastExecTime;
1045
+ i ? S >= c ? (t.apply(e, p), A.lastExecTime = b) : A.coolDownTimer || (A.coolDownTimer = setTimeout(() => {
1046
+ t.apply(e, p), A.lastExecTime = Date.now(), A.coolDownTimer = null;
1047
+ }, c - S)) : A.coolDownTimer || (A.coolDownTimer = setTimeout(() => {
1048
+ t.apply(e, p), A.lastExecTime = Date.now(), A.coolDownTimer = null;
1012
1049
  }, c));
1013
1050
  };
1014
- e.addEventListener(g, d), m.fn = d, m.eventType = g;
1051
+ e.addEventListener(h, u), A.fn = u, A.eventType = h;
1015
1052
  }
1016
- function he(e) {
1053
+ function ve(e) {
1017
1054
  if (!e._throttle) return;
1018
- const { fn: o, eventType: t, coolDownTimer: n } = e._throttle;
1019
- o && t && e.removeEventListener(t, o), n && clearTimeout(n), delete e._throttle;
1055
+ const { fn: n, eventType: t, coolDownTimer: l } = e._throttle;
1056
+ n && t && e.removeEventListener(t, n), l && clearTimeout(l), delete e._throttle;
1020
1057
  }
1021
- const rn = {
1058
+ const sn = {
1022
1059
  /**
1023
1060
  * 指令挂载钩子函数
1024
1061
  * 元素插入DOM树时执行,完成懒加载的初始化逻辑
1025
1062
  * @param {HTMLElement} el - 绑定指令的img元素
1026
1063
  * @param {Object} binding - 指令绑定信息对象
1027
1064
  */
1028
- mounted(e, o) {
1065
+ mounted(e, n) {
1029
1066
  const t = {
1030
1067
  src: "",
1031
1068
  placeholder: "",
@@ -1039,68 +1076,68 @@ const rn = {
1039
1076
  objectFit: ""
1040
1077
  // 默认object-fit为contain
1041
1078
  };
1042
- let n = { ...t };
1043
- const l = o.value;
1044
- if (typeof l == "string" ? n.src = l : Array.isArray(l) ? [n.src, n.placeholder = "", n.errorSrc = t.errorSrc] = l : typeof l == "object" && l !== null && (n = {
1079
+ let l = { ...t };
1080
+ const o = n.value;
1081
+ if (typeof o == "string" ? l.src = o : Array.isArray(o) ? [l.src, l.placeholder = "", l.errorSrc = t.errorSrc] = o : typeof o == "object" && o !== null && (l = {
1045
1082
  ...t,
1046
- ...l,
1047
- lazy: l.lazy !== void 0 ? !!l.lazy : t.lazy,
1048
- rootMargin: l.rootMargin || t.rootMargin,
1049
- root: l.root || t.root,
1050
- threshold: l.threshold || t.threshold,
1051
- delay: l.delay || t.delay,
1052
- errorSrc: l.errorSrc || t.errorSrc,
1053
- objectFit: l.objectFit || t.objectFit
1083
+ ...o,
1084
+ lazy: o.lazy !== void 0 ? !!o.lazy : t.lazy,
1085
+ rootMargin: o.rootMargin || t.rootMargin,
1086
+ root: o.root || t.root,
1087
+ threshold: o.threshold || t.threshold,
1088
+ delay: o.delay || t.delay,
1089
+ errorSrc: o.errorSrc || t.errorSrc,
1090
+ objectFit: o.objectFit || t.objectFit
1054
1091
  // 解析objectFit配置
1055
- }), !n.src) {
1056
- console.warn("[v-lazy] 图片地址(src)为必传参数!"), e.src = n.placeholder || n.errorSrc;
1092
+ }), !l.src) {
1093
+ console.warn("[v-lazy] 图片地址(src)为必传参数!"), e.src = l.placeholder || l.errorSrc;
1057
1094
  return;
1058
1095
  }
1059
- if (n.objectFit && (e.style.objectFit = n.objectFit), !n.lazy) {
1060
- c(e, n);
1096
+ if (l.objectFit && (e.style.objectFit = l.objectFit), !l.lazy) {
1097
+ c(e, l);
1061
1098
  return;
1062
1099
  }
1063
1100
  let s = null;
1064
- if (n.root)
1065
- if (s = document.querySelector(n.root), !s)
1066
- console.warn(`[v-lazy] 滚动容器 "${n.root}" 不存在,回退到浏览器视口!`), s = null;
1101
+ if (l.root)
1102
+ if (s = document.querySelector(l.root), !s)
1103
+ console.warn(`[v-lazy] 滚动容器 "${l.root}" 不存在,回退到浏览器视口!`), s = null;
1067
1104
  else {
1068
1105
  const i = getComputedStyle(s);
1069
- !["auto", "scroll", "overlay"].includes(i.overflowY) && i.height === "auto" && console.warn(`[v-lazy] 滚动容器 "${n.root}" 样式建议:设置 overflow-y: auto/scroll + 固定高度!`);
1106
+ !["auto", "scroll", "overlay"].includes(i.overflowY) && i.height === "auto" && console.warn(`[v-lazy] 滚动容器 "${l.root}" 样式建议:设置 overflow-y: auto/scroll + 固定高度!`);
1070
1107
  }
1071
- e.src = n.placeholder || n.errorSrc;
1072
- let u = "0px";
1073
- typeof n.rootMargin == "string" ? /^(\d+(px|%))(\s+\d+(px|%)){0,3}$/.test(n.rootMargin.trim()) ? u = n.rootMargin.trim() : console.warn(`[v-lazy] rootMargin格式错误(${n.rootMargin}),仅支持px/%单位!`) : console.warn(`[v-lazy] rootMargin必须是字符串,当前是${typeof n.rootMargin}类型!`);
1074
- function c(i, m) {
1075
- i.removeEventListener("load", d), i.removeEventListener("error", y);
1076
- function d() {
1077
- i.removeEventListener("load", d), i.removeEventListener("error", y);
1108
+ e.src = l.placeholder || l.errorSrc;
1109
+ let d = "0px";
1110
+ typeof l.rootMargin == "string" ? /^(\d+(px|%))(\s+\d+(px|%)){0,3}$/.test(l.rootMargin.trim()) ? d = l.rootMargin.trim() : console.warn(`[v-lazy] rootMargin格式错误(${l.rootMargin}),仅支持px/%单位!`) : console.warn(`[v-lazy] rootMargin必须是字符串,当前是${typeof l.rootMargin}类型!`);
1111
+ function c(i, A) {
1112
+ i.removeEventListener("load", u), i.removeEventListener("error", p);
1113
+ function u() {
1114
+ i.removeEventListener("load", u), i.removeEventListener("error", p);
1078
1115
  }
1079
- function y() {
1080
- console.warn(`[v-lazy] 图片 ${m.src} 加载失败,使用兜底图`), i.src = m.errorSrc, i.removeEventListener("load", d), i.removeEventListener("error", y);
1116
+ function p() {
1117
+ console.warn(`[v-lazy] 图片 ${A.src} 加载失败,使用兜底图`), i.src = A.errorSrc, i.removeEventListener("load", u), i.removeEventListener("error", p);
1081
1118
  }
1082
- i.addEventListener("load", d), i.addEventListener("error", y), i.src = m.src, i._lazyLoadHandler = d, i._lazyErrorHandler = y;
1119
+ i.addEventListener("load", u), i.addEventListener("error", p), i.src = A.src, i._lazyLoadHandler = u, i._lazyErrorHandler = p;
1083
1120
  }
1084
- const g = new IntersectionObserver(
1121
+ const h = new IntersectionObserver(
1085
1122
  (i) => {
1086
- const m = i[0];
1087
- m.isIntersecting && (console.log(`[v-lazy] 图片 ${n.src} 触发加载(提前${u})`, {
1088
- 实际生效rootMargin: m.rootMargin,
1089
- 根边界: m.rootBounds,
1090
- 元素位置: m.boundingClientRect,
1091
- objectFit样式: n.objectFit
1123
+ const A = i[0];
1124
+ A.isIntersecting && (console.log(`[v-lazy] 图片 ${l.src} 触发加载(提前${d})`, {
1125
+ 实际生效rootMargin: A.rootMargin,
1126
+ 根边界: A.rootBounds,
1127
+ 元素位置: A.boundingClientRect,
1128
+ objectFit样式: l.objectFit
1092
1129
  // 日志中输出当前object-fit样式
1093
- }), c(e, n), g.unobserve(e), g.disconnect(), delete e._lazyObserver);
1130
+ }), c(e, l), h.unobserve(e), h.disconnect(), delete e._lazyObserver);
1094
1131
  },
1095
1132
  {
1096
1133
  root: s,
1097
- rootMargin: u,
1098
- threshold: n.threshold,
1099
- delay: n.delay,
1134
+ rootMargin: d,
1135
+ threshold: l.threshold,
1136
+ delay: l.delay,
1100
1137
  trackVisibility: !0
1101
1138
  }
1102
1139
  );
1103
- e.isConnected && (g.observe(e), e._lazyObserver = g, e._lazyOptions = n);
1140
+ e.isConnected && (h.observe(e), e._lazyObserver = h, e._lazyOptions = l);
1104
1141
  },
1105
1142
  /**
1106
1143
  * 指令解绑钩子函数
@@ -1116,28 +1153,28 @@ const rn = {
1116
1153
  * @param {HTMLElement} el - 绑定指令的img元素
1117
1154
  * @param {Object} binding - 指令绑定信息对象
1118
1155
  */
1119
- updated(e, o) {
1120
- this.unmounted(e), this.mounted(e, o);
1156
+ updated(e, n) {
1157
+ this.unmounted(e), this.mounted(e, n);
1121
1158
  }
1122
- }, sn = {
1123
- mounted(e, o) {
1124
- if (!(o.value === void 0 ? !0 : o.value)) return;
1125
- const n = e.tagName === "INPUT" || e.tagName === "TEXTAREA" ? e : e.querySelector("input, textarea");
1126
- n && setTimeout(() => {
1127
- n.focus();
1159
+ }, cn = {
1160
+ mounted(e, n) {
1161
+ if (!(n.value === void 0 ? !0 : n.value)) return;
1162
+ const l = e.tagName === "INPUT" || e.tagName === "TEXTAREA" ? e : e.querySelector("input, textarea");
1163
+ l && setTimeout(() => {
1164
+ l.focus();
1128
1165
  }, 0);
1129
1166
  },
1130
1167
  // 更新时动态控制聚焦/失焦
1131
- updated(e, o) {
1168
+ updated(e, n) {
1132
1169
  const t = e.tagName === "INPUT" || e.tagName === "TEXTAREA" ? e : e.querySelector("input, textarea");
1133
- t && (o.value ? t.focus() : t.blur());
1170
+ t && (n.value ? t.focus() : t.blur());
1134
1171
  }
1135
1172
  };
1136
- function ze() {
1173
+ function De() {
1137
1174
  return !!document.fullscreenElement;
1138
1175
  }
1139
- function cn() {
1140
- if (ze())
1176
+ function un() {
1177
+ if (De())
1141
1178
  try {
1142
1179
  document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.msExitFullscreen && document.msExitFullscreen();
1143
1180
  } catch (e) {
@@ -1151,58 +1188,58 @@ function _(e) {
1151
1188
  }
1152
1189
  try {
1153
1190
  e.requestFullscreen ? e.requestFullscreen() : e.webkitRequestFullscreen ? e.webkitRequestFullscreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.msRequestFullscreen && e.msRequestFullscreen();
1154
- } catch (o) {
1155
- console.warn("元素全屏失败:", o);
1191
+ } catch (n) {
1192
+ console.warn("元素全屏失败:", n);
1156
1193
  }
1157
1194
  }
1158
- function un() {
1195
+ function dn() {
1159
1196
  const e = document.documentElement;
1160
1197
  _(e);
1161
1198
  }
1162
- function pe(e, o) {
1199
+ function we(e, n) {
1163
1200
  const t = e._fullscreenCache;
1164
1201
  if (!t) return;
1165
- let n = "browser", l = "click";
1166
- Array.isArray(o.value) ? ([n, l] = o.value, l = l || "click") : o.value !== void 0 && (n = o.value), t.triggerEvent = l, t.handler = () => {
1167
- if (ze()) {
1168
- cn();
1202
+ let l = "browser", o = "click";
1203
+ Array.isArray(n.value) ? ([l, o] = n.value, o = o || "click") : n.value !== void 0 && (l = n.value), t.triggerEvent = o, t.handler = () => {
1204
+ if (De()) {
1205
+ un();
1169
1206
  return;
1170
1207
  }
1171
- if (n === "browser")
1172
- un();
1173
- else if (n === "myself")
1208
+ if (l === "browser")
1209
+ dn();
1210
+ else if (l === "myself")
1174
1211
  _(e);
1175
1212
  else {
1176
- let s = n;
1177
- if (typeof n == "string" ? s = document.querySelector(n) : n?.$el && (s = n.$el), !s) {
1213
+ let s = l;
1214
+ if (typeof l == "string" ? s = document.querySelector(l) : l?.$el && (s = l.$el), !s) {
1178
1215
  console.warn("指定的全屏目标元素不存在!");
1179
1216
  return;
1180
1217
  }
1181
1218
  _(s);
1182
1219
  }
1183
- }, e.addEventListener(l, t.handler);
1220
+ }, e.addEventListener(o, t.handler);
1184
1221
  }
1185
- function ve(e) {
1186
- const o = e._fullscreenCache;
1187
- !o || !o.handler || (e.removeEventListener(o.triggerEvent, o.handler), o.handler = null, o.triggerEvent = "click");
1222
+ function be(e) {
1223
+ const n = e._fullscreenCache;
1224
+ !n || !n.handler || (e.removeEventListener(n.triggerEvent, n.handler), n.handler = null, n.triggerEvent = "click");
1188
1225
  }
1189
- const dn = {
1190
- mounted(e, o) {
1226
+ const fn = {
1227
+ mounted(e, n) {
1191
1228
  e._fullscreenCache = {
1192
1229
  handler: null,
1193
1230
  // 点击处理函数
1194
1231
  triggerEvent: "click"
1195
1232
  // 默认触发事件:click
1196
- }, pe(e, o);
1233
+ }, we(e, n);
1197
1234
  },
1198
- updated(e, o) {
1199
- o.value !== o.oldValue && (ve(e), pe(e, o));
1235
+ updated(e, n) {
1236
+ n.value !== n.oldValue && (be(e), we(e, n));
1200
1237
  },
1201
1238
  unmounted(e) {
1202
- ve(e), delete e._fullscreenCache;
1239
+ be(e), delete e._fullscreenCache;
1203
1240
  }
1204
1241
  }, mn = {
1205
- mounted(e, o) {
1242
+ mounted(e, n) {
1206
1243
  const t = {
1207
1244
  target: "",
1208
1245
  // 拖拽触发区域的class名(空则整个el可拖)
@@ -1210,69 +1247,69 @@ const dn = {
1210
1247
  // z-index默认值
1211
1248
  type: "class"
1212
1249
  };
1213
- let n;
1214
- typeof o.value == "object" && o.value !== null ? n = { ...t, ...o.value } : typeof o.value == "string" ? n = { ...t, target: o.value.replace(".", "") } : n = t;
1215
1250
  let l;
1216
- if (n.target) {
1217
- if (n.type == "id" ? l = e.querySelector(`#${n.target}`) : l = e.querySelector(`.${n.target}`), !l) {
1218
- console.warn(`拖拽触发区域(class="${n.target}")在当前元素下不存在!`);
1251
+ typeof n.value == "object" && n.value !== null ? l = { ...t, ...n.value } : typeof n.value == "string" ? l = { ...t, target: n.value.replace(".", "") } : l = t;
1252
+ let o;
1253
+ if (l.target) {
1254
+ if (l.type == "id" ? o = e.querySelector(`#${l.target}`) : o = e.querySelector(`.${l.target}`), !o) {
1255
+ console.warn(`拖拽触发区域(class="${l.target}")在当前元素下不存在!`);
1219
1256
  return;
1220
1257
  }
1221
1258
  } else
1222
- l = e;
1259
+ o = e;
1223
1260
  const s = e;
1224
- let u = 0, c = 0, g = !1;
1261
+ let d = 0, c = 0, h = !1;
1225
1262
  const i = (b) => {
1226
- b.stopPropagation(), g = !0;
1263
+ b.stopPropagation(), h = !0;
1227
1264
  const S = s.getBoundingClientRect();
1228
- u = b.clientX - S.left, c = b.clientY - S.top, l.style.cursor = "move", s.style.userSelect = "none", s.style.position = "fixed", s.style.zIndex = n.index;
1229
- }, m = (b) => {
1230
- if (!g) return;
1231
- const S = b.clientX - u, B = b.clientY - c, P = window.innerWidth - s.offsetWidth, W = window.innerHeight - s.offsetHeight, D = Math.max(0, Math.min(S, P)), Q = Math.max(0, Math.min(B, W));
1232
- s.style.left = `${D}px`, s.style.top = `${Q}px`;
1233
- }, d = () => {
1234
- g && (g = !1, l.style.cursor = "default", s.style.userSelect = "auto");
1235
- }, y = () => {
1236
- g || (l.style.cursor = "move");
1265
+ d = b.clientX - S.left, c = b.clientY - S.top, o.style.cursor = "move", s.style.userSelect = "none", s.style.position = "fixed", s.style.zIndex = l.index;
1266
+ }, A = (b) => {
1267
+ if (!h) return;
1268
+ const S = b.clientX - d, z = b.clientY - c, Y = window.innerWidth - s.offsetWidth, Q = window.innerHeight - s.offsetHeight, D = Math.max(0, Math.min(S, Y)), J = Math.max(0, Math.min(z, Q));
1269
+ s.style.left = `${D}px`, s.style.top = `${J}px`;
1270
+ }, u = () => {
1271
+ h && (h = !1, o.style.cursor = "default", s.style.userSelect = "auto");
1272
+ }, p = () => {
1273
+ h || (o.style.cursor = "move");
1237
1274
  };
1238
- l.addEventListener("mousedown", i), document.addEventListener("mousemove", m), document.addEventListener("mouseup", d), l.addEventListener("mouseenter", y), e._dragHandlers = {
1239
- dragArea: l,
1275
+ o.addEventListener("mousedown", i), document.addEventListener("mousemove", A), document.addEventListener("mouseup", u), o.addEventListener("mouseenter", p), e._dragHandlers = {
1276
+ dragArea: o,
1240
1277
  moveEl: s,
1241
1278
  handleMousedown: i,
1242
- handleMousemove: m,
1243
- handleMouseup: d,
1244
- handleMouseEnter: y
1279
+ handleMousemove: A,
1280
+ handleMouseup: u,
1281
+ handleMouseEnter: p
1245
1282
  };
1246
1283
  },
1247
1284
  unmounted(e) {
1248
1285
  if (e._dragHandlers) {
1249
- const { dragArea: o, moveEl: t, handleMousedown: n, handleMousemove: l, handleMouseup: s, handleMouseEnter: u } = e._dragHandlers;
1250
- o.removeEventListener("mousedown", n), document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", s), o.removeEventListener("mouseenter", u), t.style.position = "", t.style.left = "", t.style.top = "", t.style.zIndex = "", t.style.userSelect = "", o.style.cursor = "", delete e._dragHandlers;
1286
+ const { dragArea: n, moveEl: t, handleMousedown: l, handleMousemove: o, handleMouseup: s, handleMouseEnter: d } = e._dragHandlers;
1287
+ n.removeEventListener("mousedown", l), document.removeEventListener("mousemove", o), document.removeEventListener("mouseup", s), n.removeEventListener("mouseenter", d), t.style.position = "", t.style.left = "", t.style.top = "", t.style.zIndex = "", t.style.userSelect = "", n.style.cursor = "", delete e._dragHandlers;
1251
1288
  }
1252
1289
  }
1253
- }, fn = {
1254
- mounted(e, o) {
1255
- we(e, o);
1290
+ }, An = {
1291
+ mounted(e, n) {
1292
+ ke(e, n);
1256
1293
  },
1257
- updated(e, o) {
1294
+ updated(e, n) {
1258
1295
  e._watermarkTimer && clearTimeout(e._watermarkTimer), e._watermarkTimer = setTimeout(() => {
1259
- !e || !e.isConnected || (ee(e), we(e, o));
1296
+ !e || !e.isConnected || (ee(e), ke(e, n));
1260
1297
  }, 100);
1261
1298
  },
1262
1299
  unmounted(e) {
1263
1300
  e._watermarkTimer && (clearTimeout(e._watermarkTimer), delete e._watermarkTimer), ee(e);
1264
1301
  }
1265
1302
  };
1266
- function we(e, o) {
1303
+ function ke(e, n) {
1267
1304
  if (!e || !e.isConnected) {
1268
1305
  console.warn("[v-watermark] 元素未挂载到DOM,跳过水印创建");
1269
1306
  return;
1270
1307
  }
1271
- const { defaultWatermark: t } = R();
1272
- let n = t || "默认水印", l = {};
1273
- const s = o.value;
1274
- Array.isArray(s) ? (n = s[0] ?? n, l = typeof s[1] == "object" && s[1] !== null ? s[1] : {}) : typeof s == "string" || typeof s == "number" ? (n = String(s), l = {}) : typeof s == "object" && s !== null && (n = s.text ?? n, l = s);
1275
- const u = {
1308
+ const { defaultWatermark: t } = W();
1309
+ let l = t || "默认水印", o = {};
1310
+ const s = n.value;
1311
+ Array.isArray(s) ? (l = s[0] ?? l, o = typeof s[1] == "object" && s[1] !== null ? s[1] : {}) : typeof s == "string" || typeof s == "number" ? (l = String(s), o = {}) : typeof s == "object" && s !== null && (l = s.text ?? l, o = s);
1312
+ const d = {
1276
1313
  show: !0,
1277
1314
  // 新增:默认展示水印
1278
1315
  fontSize: 14,
@@ -1284,30 +1321,30 @@ function we(e, o) {
1284
1321
  zIndex: 9999,
1285
1322
  fontFamily: "微软雅黑"
1286
1323
  }, c = {
1287
- ...u,
1288
- ...l,
1289
- show: typeof l.show == "boolean" ? l.show : u.show,
1324
+ ...d,
1325
+ ...o,
1326
+ show: typeof o.show == "boolean" ? o.show : d.show,
1290
1327
  // 确保show为布尔值
1291
- fontSize: Math.max(8, Math.min(36, Number(l.fontSize) || u.fontSize)),
1292
- rotate: Math.max(-45, Math.min(45, Number(l.rotate) || u.rotate)),
1293
- opacity: Math.max(0.1, Math.min(1, Number(l.opacity) || u.opacity)),
1294
- gapX: Math.max(50, Number(l.gapX) || u.gapX),
1295
- gapY: Math.max(50, Number(l.gapY) || u.gapY),
1296
- zIndex: Number(l.zIndex) || u.zIndex
1328
+ fontSize: Math.max(8, Math.min(36, Number(o.fontSize) || d.fontSize)),
1329
+ rotate: Math.max(-45, Math.min(45, Number(o.rotate) || d.rotate)),
1330
+ opacity: Math.max(0.1, Math.min(1, Number(o.opacity) || d.opacity)),
1331
+ gapX: Math.max(50, Number(o.gapX) || d.gapX),
1332
+ gapY: Math.max(50, Number(o.gapY) || d.gapY),
1333
+ zIndex: Number(o.zIndex) || d.zIndex
1297
1334
  };
1298
1335
  if (!c.show) {
1299
1336
  ee(e), console.debug("[v-watermark] show参数为false,不展示水印");
1300
1337
  return;
1301
1338
  }
1302
1339
  try {
1303
- const g = document.createElement("canvas"), i = g.getContext("2d");
1340
+ const h = document.createElement("canvas"), i = h.getContext("2d");
1304
1341
  if (!i) {
1305
1342
  console.error("[v-watermark] 获取Canvas 2D上下文失败,无法绘制水印");
1306
1343
  return;
1307
1344
  }
1308
1345
  i.font = `${c.fontSize}px ${c.fontFamily}`;
1309
- const m = i.measureText(n).width, d = c.gapX || m + 20, y = c.gapY || c.fontSize + 40;
1310
- g.width = d, g.height = y, i.clearRect(0, 0, g.width, g.height), i.font = `${c.fontSize}px ${c.fontFamily}`, i.fillStyle = c.color, i.globalAlpha = c.opacity, i.translate(g.width / 2, g.height / 2), i.rotate(c.rotate * Math.PI / 180), i.textAlign = "center", i.textBaseline = "middle", i.fillText(n, 0, 0);
1346
+ const A = i.measureText(l).width, u = c.gapX || A + 20, p = c.gapY || c.fontSize + 40;
1347
+ h.width = u, h.height = p, i.clearRect(0, 0, h.width, h.height), i.font = `${c.fontSize}px ${c.fontFamily}`, i.fillStyle = c.color, i.globalAlpha = c.opacity, i.translate(h.width / 2, h.height / 2), i.rotate(c.rotate * Math.PI / 180), i.textAlign = "center", i.textBaseline = "middle", i.fillText(l, 0, 0);
1311
1348
  const b = document.createElement("div");
1312
1349
  b.style.cssText = `
1313
1350
  position: absolute;
@@ -1316,7 +1353,7 @@ function we(e, o) {
1316
1353
  width: 100%;
1317
1354
  height: 100%;
1318
1355
  pointer-events: none;
1319
- background: url(${g.toDataURL("image/png")}) repeat;
1356
+ background: url(${h.toDataURL("image/png")}) repeat;
1320
1357
  z-index: ${c.zIndex};
1321
1358
  user-select: none;
1322
1359
  border: none;
@@ -1325,8 +1362,8 @@ function we(e, o) {
1325
1362
  `;
1326
1363
  const S = getComputedStyle(e).position;
1327
1364
  S === "static" && (e._originPosition = S, e.style.position = "relative"), e.isConnected && (e.appendChild(b), e._watermarkEl = b);
1328
- } catch (g) {
1329
- console.error("[v-watermark] 创建水印失败:", g);
1365
+ } catch (h) {
1366
+ console.error("[v-watermark] 创建水印失败:", h);
1330
1367
  }
1331
1368
  }
1332
1369
  function ee(e) {
@@ -1334,22 +1371,22 @@ function ee(e) {
1334
1371
  if (e._watermarkEl) {
1335
1372
  try {
1336
1373
  e.removeChild(e._watermarkEl);
1337
- } catch (o) {
1338
- console.warn("[v-watermark] 移除水印层失败:", o);
1374
+ } catch (n) {
1375
+ console.warn("[v-watermark] 移除水印层失败:", n);
1339
1376
  }
1340
1377
  delete e._watermarkEl;
1341
1378
  }
1342
1379
  e._originPosition && (e.style.position = e._originPosition, delete e._originPosition);
1343
1380
  }
1344
1381
  }
1345
- const An = {
1346
- mounted(e, o) {
1382
+ const gn = {
1383
+ mounted(e, n) {
1347
1384
  const t = e.tagName === "INPUT" ? e : e.querySelector("input");
1348
1385
  if (!t) {
1349
1386
  console.warn("v-inputLimit 指令需绑定到 input 或包含 input 的元素!");
1350
1387
  return;
1351
1388
  }
1352
- const l = { ...{
1389
+ const o = { ...{
1353
1390
  type: "",
1354
1391
  // 限制类型:number/letter/custom(必填,否则不生效)
1355
1392
  length: -1,
@@ -1358,98 +1395,98 @@ const An = {
1358
1395
  // 默认错误提示
1359
1396
  reg: null
1360
1397
  // 自定义正则(type=custom 时必填)
1361
- }, ...o.value || {} };
1362
- if (!l.type) {
1398
+ }, ...n.value || {} };
1399
+ if (!o.type) {
1363
1400
  console.warn("v-inputLimit 指令必须指定 type 参数(number/letter/custom)!");
1364
1401
  return;
1365
1402
  }
1366
- if (l.type === "custom" && !l.reg) {
1403
+ if (o.type === "custom" && !o.reg) {
1367
1404
  console.warn("type=custom 时,必须传入 reg 自定义正则表达式!");
1368
1405
  return;
1369
1406
  }
1370
- const s = (d) => {
1371
- let y = d, b = !0;
1372
- switch (l.type) {
1407
+ const s = (u) => {
1408
+ let p = u, b = !0;
1409
+ switch (o.type) {
1373
1410
  case "number":
1374
- y = y.replace(/[^0-9]/g, ""), b = /^[0-9]*$/.test(d);
1411
+ p = p.replace(/[^0-9]/g, ""), b = /^[0-9]*$/.test(u);
1375
1412
  break;
1376
1413
  case "letter":
1377
- y = y.replace(/[^a-zA-Z]/g, ""), b = /^[a-zA-Z]*$/.test(d);
1414
+ p = p.replace(/[^a-zA-Z]/g, ""), b = /^[a-zA-Z]*$/.test(u);
1378
1415
  break;
1379
1416
  case "custom":
1380
- const S = new RegExp(`[^${l.reg.source}]`, "g");
1381
- y = y.replace(S, ""), b = l.reg.test(d);
1417
+ const S = new RegExp(`[^${o.reg.source}]`, "g");
1418
+ p = p.replace(S, ""), b = o.reg.test(u);
1382
1419
  break;
1383
1420
  default:
1384
- console.warn(`v-inputLimit 不支持的类型:${l.type},仅支持 number/letter/custom`), b = !0;
1421
+ console.warn(`v-inputLimit 不支持的类型:${o.type},仅支持 number/letter/custom`), b = !0;
1385
1422
  break;
1386
1423
  }
1387
- return l.length > 0 && y.length > l.length && (y = y.substring(0, l.length), b = !1), [y, b];
1424
+ return o.length > 0 && p.length > o.length && (p = p.substring(0, o.length), b = !1), [p, b];
1388
1425
  };
1389
- let u = null;
1390
- const c = () => u || (u = document.createElement("div"), u.style.cssText = `
1426
+ let d = null;
1427
+ const c = () => d || (d = document.createElement("div"), d.style.cssText = `
1391
1428
  color: #f56c6c;
1392
1429
  font-size: 12px;
1393
1430
  margin-top: 4px;
1394
1431
  line-height: 1;
1395
- `, u.className = "v-input-limit-error-tip", t.parentNode.appendChild(u), u), g = (d) => {
1396
- const y = c();
1397
- d ? (y.textContent = l.errorMsg, y.style.display = "block") : y.style.display = "none";
1432
+ `, d.className = "v-input-limit-error-tip", t.parentNode.appendChild(d), d), h = (u) => {
1433
+ const p = c();
1434
+ u ? (p.textContent = o.errorMsg, p.style.display = "block") : p.style.display = "none";
1398
1435
  }, i = () => {
1399
- const [d, y] = s(t.value);
1400
- t.value !== d && (t.value = d, t.dispatchEvent(new Event("input", { bubbles: !0 }))), g(!y);
1401
- }, m = gn(i, 100);
1402
- t.addEventListener("input", m), t.addEventListener("keyup", m), e._inputLimit = {
1436
+ const [u, p] = s(t.value);
1437
+ t.value !== u && (t.value = u, t.dispatchEvent(new Event("input", { bubbles: !0 }))), h(!p);
1438
+ }, A = yn(i, 100);
1439
+ t.addEventListener("input", A), t.addEventListener("keyup", A), e._inputLimit = {
1403
1440
  inputEl: t,
1404
- debouncedHandleInput: m,
1405
- errorTipEl: u,
1441
+ debouncedHandleInput: A,
1442
+ errorTipEl: d,
1406
1443
  handleInput: i
1407
1444
  };
1408
1445
  },
1409
1446
  unmounted(e) {
1410
- const { inputEl: o, debouncedHandleInput: t, errorTipEl: n } = e._inputLimit || {};
1411
- o && t && (o.removeEventListener("input", t), o.removeEventListener("keyup", t)), n && n.parentNode && n.parentNode.removeChild(n), delete e._inputLimit;
1447
+ const { inputEl: n, debouncedHandleInput: t, errorTipEl: l } = e._inputLimit || {};
1448
+ n && t && (n.removeEventListener("input", t), n.removeEventListener("keyup", t)), l && l.parentNode && l.parentNode.removeChild(l), delete e._inputLimit;
1412
1449
  }
1413
1450
  };
1414
- function gn(e, o) {
1451
+ function yn(e, n) {
1415
1452
  let t = null;
1416
- return function(...n) {
1453
+ return function(...l) {
1417
1454
  clearTimeout(t), t = setTimeout(() => {
1418
- e.apply(this, n);
1419
- }, o);
1455
+ e.apply(this, l);
1456
+ }, n);
1420
1457
  };
1421
1458
  }
1422
- const vn = {
1423
- format: $t,
1424
- getToken: _t,
1425
- setToken: en,
1426
- removeToken: tn,
1427
- clearToken: nn
1428
- }, yn = {
1459
+ const wn = {
1460
+ format: _t,
1461
+ getToken: en,
1462
+ setToken: tn,
1463
+ removeToken: nn,
1464
+ clearToken: ln
1465
+ }, hn = {
1429
1466
  copy: on,
1430
- debounce: ln,
1431
- throttle: an,
1432
- lazy: rn,
1433
- focus: sn,
1434
- fullscreen: dn,
1467
+ debounce: an,
1468
+ throttle: rn,
1469
+ lazy: sn,
1470
+ focus: cn,
1471
+ fullscreen: fn,
1435
1472
  draggable: mn,
1436
- watermark: fn,
1437
- inputLimit: An
1438
- }, wn = (e, o) => {
1439
- qe(e), lt(e), Zt(e), Xt(o, e), Object.entries(yn).forEach(([t, n]) => {
1440
- e.directive(t, n);
1473
+ watermark: An,
1474
+ inputLimit: gn
1475
+ }, bn = (e, n) => {
1476
+ je(e), rt(e), Xt(e), $t(n, e), Object.entries(hn).forEach(([t, l]) => {
1477
+ e.directive(t, l);
1441
1478
  });
1442
1479
  };
1443
1480
  export {
1444
1481
  H as MyButton,
1445
- me as MyDialog,
1446
- nn as clearToken,
1447
- wn as default,
1448
- $t as format,
1449
- _t as getToken,
1450
- fe as qlMulpSel,
1451
- tn as removeToken,
1452
- en as setToken,
1453
- pn as updateGlobalOptions,
1454
- vn as utils
1482
+ Ae as MyDialog,
1483
+ ln as clearToken,
1484
+ bn as default,
1485
+ _t as format,
1486
+ en as getToken,
1487
+ ge as qlMulpSel,
1488
+ nn as removeToken,
1489
+ tn as setToken,
1490
+ vn as updateGlobalOptions,
1491
+ wn as utils
1455
1492
  };