@kupola/kupola 1.5.2 → 1.5.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,4 +1,4 @@
1
- class ot {
1
+ class ct {
2
2
  constructor(t = "app") {
3
3
  this.scope = t, this.hooks = /* @__PURE__ */ new Map(), this.state = "created", this.stateHistory = ["created"], this.transitions = /* @__PURE__ */ new Map([
4
4
  ["created", ["bootstrapped", "destroyed"]],
@@ -201,51 +201,51 @@ class ot {
201
201
  console.error(`[KupolaLifecycle] Unhandled error in ${t.phase}:`, t.error);
202
202
  }
203
203
  }
204
- const Sa = new ot("app");
205
- function La(i = "app") {
206
- return new ot(i);
204
+ const Ma = new ct("app");
205
+ function Ta(i = "app") {
206
+ return new ct(i);
207
207
  }
208
- const Ce = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
209
- function G(i) {
210
- return Ce.has(i);
208
+ const Se = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
209
+ function Z(i) {
210
+ return Se.has(i);
211
211
  }
212
- function Se(i) {
212
+ function Le(i) {
213
213
  return i ? i.trim() : "";
214
214
  }
215
- function Le(i) {
215
+ function De(i) {
216
216
  return i ? i.replace(/^\s+/, "") : "";
217
217
  }
218
- function De(i) {
218
+ function He(i) {
219
219
  return i ? i.replace(/\s+$/, "") : "";
220
220
  }
221
- function He(i) {
221
+ function Me(i) {
222
222
  return i ? i.toUpperCase() : "";
223
223
  }
224
- function Me(i) {
224
+ function Te(i) {
225
225
  return i ? i.toLowerCase() : "";
226
226
  }
227
227
  function Ie(i) {
228
228
  return i ? i.charAt(0).toUpperCase() + i.slice(1) : "";
229
229
  }
230
- function Te(i) {
230
+ function Ae(i) {
231
231
  return i ? i.replace(/-(\w)/g, (t, e) => e ? e.toUpperCase() : "") : "";
232
232
  }
233
- function Ae(i) {
233
+ function ze(i) {
234
234
  return i ? i.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "") : "";
235
235
  }
236
- function ze(i, t, e = " ") {
236
+ function Pe(i, t, e = " ") {
237
237
  return (String(i) || "").padStart(t, e);
238
238
  }
239
- function Pe(i, t, e = " ") {
239
+ function $e(i, t, e = " ") {
240
240
  return (String(i) || "").padEnd(t, e);
241
241
  }
242
- function $e(i, t, e = "...") {
242
+ function Be(i, t, e = "...") {
243
243
  return !i || i.length <= t ? i || "" : i.slice(0, t) + e;
244
244
  }
245
245
  function qe(i, t, e) {
246
246
  return i ? i.split(t).join(e) : "";
247
247
  }
248
- function Be(i, t) {
248
+ function Oe(i, t) {
249
249
  return i ? i.replace(/\{\{(\w+)\}\}/g, (e, s) => t[s] !== void 0 ? t[s] : `{{${s}}}`) : "";
250
250
  }
251
251
  function Fe(i, t) {
@@ -254,70 +254,70 @@ function Fe(i, t) {
254
254
  function Ne(i, t) {
255
255
  return (i || "").endsWith(t);
256
256
  }
257
- function Oe(i, t) {
257
+ function Re(i, t) {
258
258
  return (i || "").includes(t);
259
259
  }
260
- function Re(i, t) {
260
+ function Ve(i, t) {
261
261
  return (i || "").repeat(t);
262
262
  }
263
- function Ve(i) {
263
+ function Ke(i) {
264
264
  return (i || "").split("").reverse().join("");
265
265
  }
266
- function Ke(i, t) {
266
+ function We(i, t) {
267
267
  return !i || !t ? 0 : i.split(t).length - 1;
268
268
  }
269
- function We(i) {
269
+ function Ue(i) {
270
270
  if (!i) return "";
271
271
  const t = document.createElement("div");
272
272
  return t.textContent = i, t.innerHTML;
273
273
  }
274
- function Ue(i) {
274
+ function Ye(i) {
275
275
  if (!i) return "";
276
276
  const t = document.createElement("div");
277
277
  return t.innerHTML = i, t.textContent;
278
278
  }
279
- function Ye(i = 8) {
279
+ function Xe(i = 8) {
280
280
  const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
281
281
  let e = "";
282
282
  for (let s = 0; s < i; s++)
283
283
  e += t.charAt(Math.floor(Math.random() * t.length));
284
284
  return e;
285
285
  }
286
- function Xe() {
286
+ function je() {
287
287
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (i) => {
288
288
  const t = Math.random() * 16 | 0;
289
289
  return (i === "x" ? t : t & 3 | 8).toString(16);
290
290
  });
291
291
  }
292
- const je = { trim: Se, trimLeft: Le, trimRight: De, toUpperCase: He, toLowerCase: Me, capitalize: Ie, camelize: Te, hyphenate: Ae, padStart: ze, padEnd: Pe, truncate: $e, replaceAll: qe, format: Be, startsWith: Fe, endsWith: Ne, includes: Oe, repeat: Re, reverse: Ve, countOccurrences: Ke, escapeHtml: We, unescapeHtml: Ue, generateRandom: Ye, generateUUID: Xe };
293
- function Je(i) {
292
+ const Je = { trim: Le, trimLeft: De, trimRight: He, toUpperCase: Me, toLowerCase: Te, capitalize: Ie, camelize: Ae, hyphenate: ze, padStart: Pe, padEnd: $e, truncate: Be, replaceAll: qe, format: Oe, startsWith: Fe, endsWith: Ne, includes: Re, repeat: Ve, reverse: Ke, countOccurrences: We, escapeHtml: Ue, unescapeHtml: Ye, generateRandom: Xe, generateUUID: je };
293
+ function Ge(i) {
294
294
  return Array.isArray(i);
295
295
  }
296
- function Ge(i) {
296
+ function Ze(i) {
297
297
  return !i || i.length === 0;
298
298
  }
299
- function Ze(i) {
299
+ function Qe(i) {
300
300
  return i ? i.length : 0;
301
301
  }
302
- function Qe(i, t) {
302
+ function ts(i, t) {
303
303
  return i && i.length > 0 ? i[0] : t;
304
304
  }
305
- function ts(i, t) {
305
+ function es(i, t) {
306
306
  return i && i.length > 0 ? i[i.length - 1] : t;
307
307
  }
308
- function es(i, t, e) {
308
+ function ss(i, t, e) {
309
309
  return i && i[t] !== void 0 ? i[t] : e;
310
310
  }
311
- function ss(i, t, e) {
311
+ function is(i, t, e) {
312
312
  return i ? i.slice(t, e) : [];
313
313
  }
314
- function is(...i) {
314
+ function ns(...i) {
315
315
  return i.reduce((t, e) => t.concat(e || []), []);
316
316
  }
317
- function ns(i, t = ",") {
317
+ function rs(i, t = ",") {
318
318
  return i ? i.join(t) : "";
319
319
  }
320
- function rs(i, t, e = 0) {
320
+ function as(i, t, e = 0) {
321
321
  if (!i) return -1;
322
322
  if (Number.isNaN(t)) {
323
323
  for (let s = e; s < i.length; s++)
@@ -326,7 +326,7 @@ function rs(i, t, e = 0) {
326
326
  }
327
327
  return i.indexOf(t, e);
328
328
  }
329
- function as(i, t, e) {
329
+ function os(i, t, e) {
330
330
  if (!i) return -1;
331
331
  if (Number.isNaN(t)) {
332
332
  const s = e !== void 0 ? e : i.length - 1;
@@ -336,78 +336,78 @@ function as(i, t, e) {
336
336
  }
337
337
  return i.lastIndexOf(t, e);
338
338
  }
339
- function os(i, t) {
339
+ function ls(i, t) {
340
340
  return i ? i.includes(t) : !1;
341
341
  }
342
- function ls(i, ...t) {
342
+ function cs(i, ...t) {
343
343
  return i && i.push(...t), i;
344
344
  }
345
- function cs(i) {
345
+ function hs(i) {
346
346
  return i ? i.pop() : void 0;
347
347
  }
348
- function hs(i) {
348
+ function ds(i) {
349
349
  return i ? i.shift() : void 0;
350
350
  }
351
- function ds(i, ...t) {
351
+ function us(i, ...t) {
352
352
  return i && i.unshift(...t), i;
353
353
  }
354
- function us(i, t) {
354
+ function ps(i, t) {
355
355
  if (!i) return i;
356
356
  const e = Number.isNaN(t) ? i.findIndex((s) => Number.isNaN(s)) : i.indexOf(t);
357
357
  return e > -1 && i.splice(e, 1), i;
358
358
  }
359
- function ps(i, t) {
359
+ function fs(i, t) {
360
360
  return !i || t < 0 || t >= i.length || i.splice(t, 1), i;
361
361
  }
362
- function fs(i, t, e) {
362
+ function ms(i, t, e) {
363
363
  return i && (i.splice(t, 0, e), i);
364
364
  }
365
- function ms(i) {
365
+ function gs(i) {
366
366
  return i ? i.slice().reverse() : [];
367
367
  }
368
- function gs(i, t) {
368
+ function _s(i, t) {
369
369
  return i ? i.slice().sort(t) : [];
370
370
  }
371
- function _s(i, t, e = "asc") {
371
+ function ys(i, t, e = "asc") {
372
372
  return i ? i.slice().sort((s, n) => {
373
373
  const r = typeof s == "object" ? s[t] : s, a = typeof n == "object" ? n[t] : n;
374
374
  return r < a ? e === "asc" ? -1 : 1 : r > a ? e === "asc" ? 1 : -1 : 0;
375
375
  }) : [];
376
376
  }
377
- function ys(i, t) {
377
+ function vs(i, t) {
378
378
  return i ? i.filter(t) : [];
379
379
  }
380
- function vs(i, t) {
380
+ function bs(i, t) {
381
381
  return i ? i.map(t) : [];
382
382
  }
383
- function bs(i, t, e) {
383
+ function xs(i, t, e) {
384
384
  return i ? i.reduce(t, e) : e;
385
385
  }
386
- function xs(i, t) {
386
+ function Es(i, t) {
387
387
  i && i.forEach(t);
388
388
  }
389
- function Es(i, t) {
389
+ function ws(i, t) {
390
390
  return i ? i.every(t) : !0;
391
391
  }
392
392
  function ks(i, t) {
393
393
  return i ? i.some(t) : !1;
394
394
  }
395
- function ws(i, t) {
395
+ function Cs(i, t) {
396
396
  return i ? i.find(t) : void 0;
397
397
  }
398
- function Cs(i, t) {
398
+ function Ss(i, t) {
399
399
  return i ? i.findIndex(t) : -1;
400
400
  }
401
- function Ss(i, t = 1) {
401
+ function Ls(i, t = 1) {
402
402
  return i ? i.flat(t) : [];
403
403
  }
404
- function kt(i) {
405
- return i ? i.reduce((t, e) => Array.isArray(e) ? t.concat(kt(e)) : t.concat(e), []) : [];
404
+ function Ct(i) {
405
+ return i ? i.reduce((t, e) => Array.isArray(e) ? t.concat(Ct(e)) : t.concat(e), []) : [];
406
406
  }
407
- function Ls(i) {
407
+ function Ds(i) {
408
408
  return i ? [...new Set(i)] : [];
409
409
  }
410
- function Ds(i, t) {
410
+ function Hs(i, t) {
411
411
  if (!i) return [];
412
412
  const e = /* @__PURE__ */ new Set();
413
413
  return i.filter((s) => {
@@ -415,14 +415,14 @@ function Ds(i, t) {
415
415
  return e.has(n) ? !1 : (e.add(n), !0);
416
416
  });
417
417
  }
418
- function Hs(i, t) {
418
+ function Ms(i, t) {
419
419
  if (!i || t <= 0) return [];
420
420
  const e = [];
421
421
  for (let s = 0; s < i.length; s += t)
422
422
  e.push(i.slice(s, s + t));
423
423
  return e;
424
424
  }
425
- function Ms(i) {
425
+ function Ts(i) {
426
426
  if (!i) return [];
427
427
  const t = i.slice();
428
428
  for (let e = t.length - 1; e > 0; e--) {
@@ -431,25 +431,25 @@ function Ms(i) {
431
431
  }
432
432
  return t;
433
433
  }
434
- function wt(i) {
434
+ function St(i) {
435
435
  return i ? i.reduce((t, e) => t + (Number(e) || 0), 0) : 0;
436
436
  }
437
437
  function Is(i) {
438
- return !i || i.length === 0 ? 0 : wt(i) / i.length;
438
+ return !i || i.length === 0 ? 0 : St(i) / i.length;
439
439
  }
440
- function Ts(i) {
440
+ function As(i) {
441
441
  return i && i.length > 0 ? Math.max(...i) : -1 / 0;
442
442
  }
443
- function As(i) {
443
+ function zs(i) {
444
444
  return i && i.length > 0 ? Math.min(...i) : 1 / 0;
445
445
  }
446
- function zs(...i) {
446
+ function Ps(...i) {
447
447
  return i.length === 0 ? [] : i.reduce((t, e) => t.filter((s) => e && e.includes(s)));
448
448
  }
449
- function Ps(...i) {
449
+ function $s(...i) {
450
450
  return [...new Set(i.flat().filter(Boolean))];
451
451
  }
452
- function $s(i, t) {
452
+ function Bs(i, t) {
453
453
  return i ? i.filter((e) => !t || !t.includes(e)) : [];
454
454
  }
455
455
  function qs(...i) {
@@ -457,8 +457,8 @@ function qs(...i) {
457
457
  const t = Math.max(...i.map((e) => e ? e.length : 0));
458
458
  return Array.from({ length: t }, (e, s) => i.map((n) => n && n[s]));
459
459
  }
460
- const Bs = { isArray: Je, isEmpty: Ge, size: Ze, first: Qe, last: ts, get: es, slice: ss, concat: is, join: ns, indexOf: rs, lastIndexOf: as, includes: os, push: ls, pop: cs, shift: hs, unshift: ds, remove: us, removeAt: ps, insert: fs, reverse: ms, sort: gs, sortBy: _s, filter: ys, map: vs, reduce: bs, forEach: xs, every: Es, some: ks, find: ws, findIndex: Cs, flat: Ss, flattenDeep: kt, unique: Ls, uniqueBy: Ds, chunk: Hs, shuffle: Ms, sum: wt, average: Is, max: Ts, min: As, intersection: zs, union: Ps, difference: $s, zip: qs };
461
- function st(i) {
460
+ const Os = { isArray: Ge, isEmpty: Ze, size: Qe, first: ts, last: es, get: ss, slice: is, concat: ns, join: rs, indexOf: as, lastIndexOf: os, includes: ls, push: cs, pop: hs, shift: ds, unshift: us, remove: ps, removeAt: fs, insert: ms, reverse: gs, sort: _s, sortBy: ys, filter: vs, map: bs, reduce: xs, forEach: Es, every: ws, some: ks, find: Cs, findIndex: Ss, flat: Ls, flattenDeep: Ct, unique: Ds, uniqueBy: Hs, chunk: Ms, shuffle: Ts, sum: St, average: Is, max: As, min: zs, intersection: Ps, union: $s, difference: Bs, zip: qs };
461
+ function nt(i) {
462
462
  return i !== null && typeof i == "object" && !Array.isArray(i);
463
463
  }
464
464
  function Fs(i) {
@@ -467,42 +467,42 @@ function Fs(i) {
467
467
  function Ns(i) {
468
468
  return i ? Object.keys(i) : [];
469
469
  }
470
- function Os(i) {
470
+ function Rs(i) {
471
471
  return i ? Object.values(i) : [];
472
472
  }
473
- function Rs(i) {
473
+ function Vs(i) {
474
474
  return i ? Object.entries(i) : [];
475
475
  }
476
- function Vs(i, t) {
476
+ function Ks(i, t) {
477
477
  return i ? Object.prototype.hasOwnProperty.call(i, t) : !1;
478
478
  }
479
- function Ks(i, t, e) {
479
+ function Ws(i, t, e) {
480
480
  if (!i) return e;
481
481
  const s = t.split(".");
482
- return s.some(G) ? e : s.reduce((n, r) => n && n[r], i) ?? e;
482
+ return s.some(Z) ? e : s.reduce((n, r) => n && n[r], i) ?? e;
483
483
  }
484
- function Ws(i, t, e) {
484
+ function Us(i, t, e) {
485
485
  if (!i || typeof i != "object") return i;
486
486
  const s = t.split(".");
487
- if (s.some(G)) return i;
487
+ if (s.some(Z)) return i;
488
488
  const n = s.pop();
489
489
  let r = i;
490
490
  return s.forEach((a) => {
491
491
  (!r[a] || typeof r[a] != "object") && (r[a] = {}), r = r[a];
492
492
  }), r[n] = e, i;
493
493
  }
494
- function Us(i, t) {
494
+ function Ys(i, t) {
495
495
  return i ? t.reduce((e, s) => (i[s] !== void 0 && (e[s] = i[s]), e), {}) : {};
496
496
  }
497
- function Ys(i, t) {
497
+ function Xs(i, t) {
498
498
  return i ? Object.keys(i).reduce((e, s) => (t.includes(s) || (e[s] = i[s]), e), {}) : {};
499
499
  }
500
- function Ct(...i) {
500
+ function Lt(...i) {
501
501
  return i.reduce((t, e) => (e && typeof e == "object" && Object.keys(e).forEach((s) => {
502
- G(s) || (st(e[s]) && st(t[s]) ? t[s] = Ct(t[s], e[s]) : t[s] = e[s]);
502
+ Z(s) || (nt(e[s]) && nt(t[s]) ? t[s] = Lt(t[s], e[s]) : t[s] = e[s]);
503
503
  }), t), {});
504
504
  }
505
- function Xs(i) {
505
+ function js(i) {
506
506
  return i && JSON.parse(JSON.stringify(i));
507
507
  }
508
508
  function U(i, t = /* @__PURE__ */ new WeakMap()) {
@@ -524,299 +524,299 @@ function U(i, t = /* @__PURE__ */ new WeakMap()) {
524
524
  }
525
525
  const e = {};
526
526
  return t.set(i, e), Object.keys(i).forEach((s) => {
527
- G(s) || (e[s] = U(i[s], t));
527
+ Z(s) || (e[s] = U(i[s], t));
528
528
  }), e;
529
529
  }
530
- function js(i, t) {
530
+ function Js(i, t) {
531
531
  i && Object.keys(i).forEach((e) => t(i[e], e, i));
532
532
  }
533
- function Js(i, t) {
533
+ function Gs(i, t) {
534
534
  if (!i) return {};
535
535
  const e = {};
536
536
  return Object.keys(i).forEach((s) => {
537
537
  e[s] = t(i[s], s, i);
538
538
  }), e;
539
539
  }
540
- function Gs(i, t) {
540
+ function Zs(i, t) {
541
541
  if (!i) return {};
542
542
  const e = {};
543
543
  return Object.keys(i).forEach((s) => {
544
544
  t(i[s], s, i) && (e[s] = i[s]);
545
545
  }), e;
546
546
  }
547
- function Zs(i, t, e) {
547
+ function Qs(i, t, e) {
548
548
  return i ? Object.keys(i).reduce((s, n) => t(s, i[n], n, i), e) : e;
549
549
  }
550
- function Qs(i) {
550
+ function ti(i) {
551
551
  return i ? Object.keys(i).map((t) => ({ key: t, value: i[t] })) : [];
552
552
  }
553
- function ti(i, t, e) {
553
+ function ei(i, t, e) {
554
554
  return i ? i.reduce((s, n) => {
555
555
  const r = typeof n == "object" ? n[t] : n, a = e ? n[e] : n;
556
556
  return r !== void 0 && (s[r] = a), s;
557
557
  }, {}) : {};
558
558
  }
559
- function ei(i) {
559
+ function si(i) {
560
560
  return i ? Object.keys(i).length : 0;
561
561
  }
562
- function si(i) {
562
+ function ii(i) {
563
563
  if (!i) return {};
564
564
  const t = {};
565
565
  return Object.keys(i).forEach((e) => {
566
566
  t[i[e]] = e;
567
567
  }), t;
568
568
  }
569
- function St(i, t) {
569
+ function Dt(i, t) {
570
570
  if (i === t) return !0;
571
571
  if (!i || !t || typeof i != "object" || typeof t != "object") return !1;
572
572
  const e = Object.keys(i), s = Object.keys(t);
573
- return e.length !== s.length ? !1 : e.every((n) => St(i[n], t[n]));
573
+ return e.length !== s.length ? !1 : e.every((n) => Dt(i[n], t[n]));
574
574
  }
575
- function Lt(i) {
575
+ function Ht(i) {
576
576
  return i && (Object.freeze(i), Object.keys(i).forEach((t) => {
577
- typeof i[t] == "object" && Lt(i[t]);
577
+ typeof i[t] == "object" && Ht(i[t]);
578
578
  }), i);
579
579
  }
580
- function ii(i) {
580
+ function ni(i) {
581
581
  return i && Object.seal(i);
582
582
  }
583
- const ni = { isObject: st, isEmpty: Fs, keys: Ns, values: Os, entries: Rs, has: Vs, get: Ks, set: Ws, pick: Us, omit: Ys, merge: Ct, clone: Xs, deepClone: U, forEach: js, map: Js, filter: Gs, reduce: Zs, toArray: Qs, fromArray: ti, size: ei, invert: si, isEqual: St, freeze: Lt, seal: ii };
583
+ const ri = { isObject: nt, isEmpty: Fs, keys: Ns, values: Rs, entries: Vs, has: Ks, get: Ws, set: Us, pick: Ys, omit: Xs, merge: Lt, clone: js, deepClone: U, forEach: Js, map: Gs, filter: Zs, reduce: Qs, toArray: ti, fromArray: ei, size: si, invert: ii, isEqual: Dt, freeze: Ht, seal: ni };
584
584
  function L(i) {
585
585
  return typeof i == "number" && !isNaN(i);
586
586
  }
587
- function ri(i) {
587
+ function ai(i) {
588
588
  return Number.isInteger(i);
589
589
  }
590
- function ai(i) {
590
+ function oi(i) {
591
591
  return L(i) && !Number.isInteger(i);
592
592
  }
593
- function oi(i) {
593
+ function li(i) {
594
594
  return L(i) && i > 0;
595
595
  }
596
- function li(i) {
596
+ function ci(i) {
597
597
  return L(i) && i < 0;
598
598
  }
599
- function ci(i) {
599
+ function hi(i) {
600
600
  return L(i) && i === 0;
601
601
  }
602
- function hi(i, t, e) {
602
+ function di(i, t, e) {
603
603
  return L(i) ? Math.min(Math.max(i, t), e) : i;
604
604
  }
605
- function di(i, t = 0) {
605
+ function ui(i, t = 0) {
606
606
  if (!L(i)) return i;
607
607
  const e = Math.pow(10, t);
608
608
  return Math.round(i * e) / e;
609
609
  }
610
- function ui(i) {
610
+ function pi(i) {
611
611
  return L(i) ? Math.floor(i) : i;
612
612
  }
613
- function pi(i) {
613
+ function fi(i) {
614
614
  return L(i) ? Math.ceil(i) : i;
615
615
  }
616
- function fi(i) {
616
+ function mi(i) {
617
617
  return L(i) ? Math.abs(i) : i;
618
618
  }
619
- function mi(...i) {
619
+ function gi(...i) {
620
620
  const t = i.filter(L);
621
621
  return t.length > 0 ? Math.min(...t) : void 0;
622
622
  }
623
- function gi(...i) {
623
+ function _i(...i) {
624
624
  const t = i.filter(L);
625
625
  return t.length > 0 ? Math.max(...t) : void 0;
626
626
  }
627
- function Dt(...i) {
627
+ function Mt(...i) {
628
628
  return i.flat().filter(L).reduce((e, s) => e + s, 0);
629
629
  }
630
- function _i(...i) {
630
+ function yi(...i) {
631
631
  const t = i.flat().filter(L);
632
- return t.length > 0 ? Dt(t) / t.length : 0;
632
+ return t.length > 0 ? Mt(t) / t.length : 0;
633
633
  }
634
- function Ht(i = 0, t = 1) {
634
+ function Tt(i = 0, t = 1) {
635
635
  return Math.random() * (t - i) + i;
636
636
  }
637
- function yi(i, t) {
638
- return Math.floor(Ht(i, t + 1));
637
+ function vi(i, t) {
638
+ return Math.floor(Tt(i, t + 1));
639
639
  }
640
- function vi(i, t = 2) {
640
+ function bi(i, t = 2) {
641
641
  return L(i) ? i.toFixed(t) : String(i);
642
642
  }
643
- function bi(i, t = "CNY", e = 2) {
643
+ function xi(i, t = "CNY", e = 2) {
644
644
  return L(i) ? new Intl.NumberFormat("zh-CN", { style: "currency", currency: t, minimumFractionDigits: e, maximumFractionDigits: e }).format(i) : String(i);
645
645
  }
646
- function xi(i, t = 0) {
646
+ function Ei(i, t = 0) {
647
647
  return L(i) ? `${(i * 100).toFixed(t)}%` : String(i);
648
648
  }
649
- function Ei(i, t = 0) {
649
+ function wi(i, t = 0) {
650
650
  return L(i) ? i.toFixed(t) : String(i);
651
651
  }
652
652
  function ki(i, t = 6) {
653
653
  return L(i) ? i.toPrecision(t) : String(i);
654
654
  }
655
- function wi(i) {
655
+ function Ci(i) {
656
656
  return Number.isNaN(i);
657
657
  }
658
- function Ci(i) {
658
+ function Si(i) {
659
659
  return Number.isFinite(i);
660
660
  }
661
- function Si(i, t = 10) {
661
+ function Li(i, t = 10) {
662
662
  return Number.parseInt(i, t);
663
663
  }
664
- function Li(i) {
664
+ function Di(i) {
665
665
  return Number.parseFloat(i);
666
666
  }
667
- function Di(i, t = 0) {
667
+ function Hi(i, t = 0) {
668
668
  const e = Number(i);
669
669
  return isNaN(e) ? t : e;
670
670
  }
671
- function Hi(i, t, e = 0) {
671
+ function Mi(i, t, e = 0) {
672
672
  return !L(i) || !L(t) || t === 0 ? e : i / t;
673
673
  }
674
- function Mi(...i) {
674
+ function Ti(...i) {
675
675
  return i.reduce((t, e) => !L(t) || !L(e) ? 0 : t * e, 1);
676
676
  }
677
- const Ii = { isNumber: L, isInteger: ri, isFloat: ai, isPositive: oi, isNegative: li, isZero: ci, clamp: hi, round: di, floor: ui, ceil: pi, abs: fi, min: mi, max: gi, sum: Dt, average: _i, random: Ht, randomInt: yi, format: vi, formatCurrency: bi, formatPercent: xi, toFixed: Ei, toPrecision: ki, isNaN: wi, isFinite: Ci, parseInt: Si, parseFloat: Li, toNumber: Di, safeDivide: Hi, safeMultiply: Mi };
678
- function Z() {
677
+ const Ii = { isNumber: L, isInteger: ai, isFloat: oi, isPositive: li, isNegative: ci, isZero: hi, clamp: di, round: ui, floor: pi, ceil: fi, abs: mi, min: gi, max: _i, sum: Mt, average: yi, random: Tt, randomInt: vi, format: bi, formatCurrency: xi, formatPercent: Ei, toFixed: wi, toPrecision: ki, isNaN: Ci, isFinite: Si, parseInt: Li, parseFloat: Di, toNumber: Hi, safeDivide: Mi, safeMultiply: Ti };
678
+ function Q() {
679
679
  return Date.now();
680
680
  }
681
681
  function K() {
682
682
  const i = /* @__PURE__ */ new Date();
683
683
  return i.setHours(0, 0, 0, 0), i;
684
684
  }
685
- function Ti() {
685
+ function Ai() {
686
686
  const i = K();
687
687
  return i.setDate(i.getDate() + 1), i;
688
688
  }
689
- function Ai() {
689
+ function zi() {
690
690
  const i = K();
691
691
  return i.setDate(i.getDate() - 1), i;
692
692
  }
693
- function k(i) {
693
+ function w(i) {
694
694
  return i instanceof Date && !isNaN(i.getTime());
695
695
  }
696
- function Mt(i) {
697
- return k(i);
696
+ function It(i) {
697
+ return w(i);
698
698
  }
699
- function zi(i) {
699
+ function Pi(i) {
700
700
  const t = new Date(i);
701
- return Mt(t) ? t : null;
701
+ return It(t) ? t : null;
702
702
  }
703
- function Pi(i, t = "YYYY-MM-DD HH:mm:ss") {
704
- if (!k(i)) return "";
703
+ function $i(i, t = "YYYY-MM-DD HH:mm:ss") {
704
+ if (!w(i)) return "";
705
705
  const e = i.getFullYear(), s = String(i.getMonth() + 1).padStart(2, "0"), n = String(i.getDate()).padStart(2, "0"), r = String(i.getHours()).padStart(2, "0"), a = String(i.getMinutes()).padStart(2, "0"), o = String(i.getSeconds()).padStart(2, "0"), l = String(i.getMilliseconds()).padStart(3, "0"), h = ["日", "一", "二", "三", "四", "五", "六"][i.getDay()];
706
706
  return t.replace("YYYY", e).replace("MM", s).replace("DD", n).replace("HH", r).replace("mm", a).replace("ss", o).replace("SSS", l).replace("D", i.getDate()).replace("M", i.getMonth() + 1).replace("H", i.getHours()).replace("m", i.getMinutes()).replace("s", i.getSeconds()).replace("W", h);
707
707
  }
708
- function $i(i) {
709
- return k(i) ? i.toISOString() : "";
708
+ function Bi(i) {
709
+ return w(i) ? i.toISOString() : "";
710
710
  }
711
711
  function qi(i) {
712
- return k(i) ? new Date(i.toUTCString()) : null;
712
+ return w(i) ? new Date(i.toUTCString()) : null;
713
713
  }
714
- function Bi(i, t) {
715
- if (!k(i)) return i;
714
+ function Oi(i, t) {
715
+ if (!w(i)) return i;
716
716
  const e = new Date(i);
717
717
  return e.setDate(e.getDate() + t), e;
718
718
  }
719
719
  function Fi(i, t) {
720
- if (!k(i)) return i;
720
+ if (!w(i)) return i;
721
721
  const e = new Date(i);
722
722
  return e.setHours(e.getHours() + t), e;
723
723
  }
724
724
  function Ni(i, t) {
725
- if (!k(i)) return i;
725
+ if (!w(i)) return i;
726
726
  const e = new Date(i);
727
727
  return e.setMinutes(e.getMinutes() + t), e;
728
728
  }
729
- function Oi(i, t) {
730
- if (!k(i)) return i;
729
+ function Ri(i, t) {
730
+ if (!w(i)) return i;
731
731
  const e = new Date(i);
732
732
  return e.setSeconds(e.getSeconds() + t), e;
733
733
  }
734
- function Q(i, t) {
735
- if (!k(i) || !k(t)) return 0;
734
+ function tt(i, t) {
735
+ if (!w(i) || !w(t)) return 0;
736
736
  const e = new Date(i);
737
737
  e.setHours(0, 0, 0, 0);
738
738
  const s = new Date(t);
739
739
  return s.setHours(0, 0, 0, 0), Math.floor((e.getTime() - s.getTime()) / (1e3 * 60 * 60 * 24));
740
740
  }
741
- function Ri(i, t) {
742
- return !k(i) || !k(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / (1e3 * 60 * 60));
743
- }
744
741
  function Vi(i, t) {
745
- return !k(i) || !k(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / (1e3 * 60));
742
+ return !w(i) || !w(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / (1e3 * 60 * 60));
746
743
  }
747
744
  function Ki(i, t) {
748
- return !k(i) || !k(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / 1e3);
745
+ return !w(i) || !w(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / (1e3 * 60));
749
746
  }
750
- function Wi(i) {
751
- return k(i) ? Q(i, K()) === 0 : !1;
747
+ function Wi(i, t) {
748
+ return !w(i) || !w(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / 1e3);
752
749
  }
753
750
  function Ui(i) {
754
- return k(i) ? Q(i, K()) === -1 : !1;
751
+ return w(i) ? tt(i, K()) === 0 : !1;
755
752
  }
756
753
  function Yi(i) {
757
- return k(i) ? Q(i, K()) === 1 : !1;
754
+ return w(i) ? tt(i, K()) === -1 : !1;
758
755
  }
759
756
  function Xi(i) {
760
- return k(i) ? i.getTime() > Z() : !1;
757
+ return w(i) ? tt(i, K()) === 1 : !1;
761
758
  }
762
759
  function ji(i) {
763
- return k(i) ? i.getTime() < Z() : !1;
760
+ return w(i) ? i.getTime() > Q() : !1;
764
761
  }
765
762
  function Ji(i) {
766
- if (!k(i)) return !1;
767
- const t = i.getFullYear();
768
- return t % 4 === 0 && (t % 100 !== 0 || t % 400 === 0);
763
+ return w(i) ? i.getTime() < Q() : !1;
769
764
  }
770
765
  function Gi(i) {
771
- return k(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0).getDate() : 0;
766
+ if (!w(i)) return !1;
767
+ const t = i.getFullYear();
768
+ return t % 4 === 0 && (t % 100 !== 0 || t % 400 === 0);
772
769
  }
773
770
  function Zi(i) {
774
- if (!k(i)) return 0;
775
- const t = new Date(i.getFullYear(), 0, 1), e = i.getTime() - t.getTime();
776
- return Math.ceil(e / (1e3 * 60 * 60 * 24 * 7));
771
+ return w(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0).getDate() : 0;
777
772
  }
778
773
  function Qi(i) {
779
- return k(i) ? Math.ceil((i.getMonth() + 1) / 3) : 0;
774
+ if (!w(i)) return 0;
775
+ const t = new Date(i.getFullYear(), 0, 1), e = i.getTime() - t.getTime();
776
+ return Math.ceil(e / (1e3 * 60 * 60 * 24 * 7));
780
777
  }
781
778
  function tn(i) {
782
- if (!k(i)) return i;
783
- const t = new Date(i);
784
- return t.setHours(0, 0, 0, 0), t;
779
+ return w(i) ? Math.ceil((i.getMonth() + 1) / 3) : 0;
785
780
  }
786
781
  function en(i) {
787
- if (!k(i)) return i;
782
+ if (!w(i)) return i;
788
783
  const t = new Date(i);
789
- return t.setHours(23, 59, 59, 999), t;
784
+ return t.setHours(0, 0, 0, 0), t;
790
785
  }
791
786
  function sn(i) {
792
- return k(i) ? new Date(i.getFullYear(), i.getMonth(), 1) : i;
787
+ if (!w(i)) return i;
788
+ const t = new Date(i);
789
+ return t.setHours(23, 59, 59, 999), t;
793
790
  }
794
791
  function nn(i) {
795
- return k(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0, 23, 59, 59, 999) : i;
792
+ return w(i) ? new Date(i.getFullYear(), i.getMonth(), 1) : i;
793
+ }
794
+ function rn(i) {
795
+ return w(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0, 23, 59, 59, 999) : i;
796
796
  }
797
- function It(i, t = 1) {
798
- if (!k(i)) return i;
797
+ function At(i, t = 1) {
798
+ if (!w(i)) return i;
799
799
  const e = new Date(i), s = e.getDay(), n = s >= t ? s - t : s + (7 - t);
800
800
  return e.setDate(e.getDate() - n), e.setHours(0, 0, 0, 0), e;
801
801
  }
802
- function rn(i, t = 1) {
803
- if (!k(i)) return i;
804
- const e = It(i, t), s = new Date(e);
802
+ function an(i, t = 1) {
803
+ if (!w(i)) return i;
804
+ const e = At(i, t), s = new Date(e);
805
805
  return s.setDate(s.getDate() + 6), s.setHours(23, 59, 59, 999), s;
806
806
  }
807
- function an(i) {
808
- if (!k(i)) return 0;
807
+ function on(i) {
808
+ if (!w(i)) return 0;
809
809
  const t = /* @__PURE__ */ new Date();
810
810
  let e = t.getFullYear() - i.getFullYear();
811
811
  return (t.getMonth() < i.getMonth() || t.getMonth() === i.getMonth() && t.getDate() < i.getDate()) && e--, Math.max(0, e);
812
812
  }
813
- function on(i) {
814
- if (!k(i)) return "";
815
- const e = Z() - i.getTime(), s = 60 * 1e3, n = 60 * s, r = 24 * n, a = 7 * r, o = 30 * r, l = 365 * r;
813
+ function ln(i) {
814
+ if (!w(i)) return "";
815
+ const e = Q() - i.getTime(), s = 60 * 1e3, n = 60 * s, r = 24 * n, a = 7 * r, o = 30 * r, l = 365 * r;
816
816
  return e < s ? "刚刚" : e < n ? `${Math.floor(e / s)}分钟前` : e < r ? `${Math.floor(e / n)}小时前` : e < a ? `${Math.floor(e / r)}天前` : e < o ? `${Math.floor(e / a)}周前` : e < l ? `${Math.floor(e / o)}个月前` : `${Math.floor(e / l)}年前`;
817
817
  }
818
- const ln = { now: Z, today: K, tomorrow: Ti, yesterday: Ai, isDate: k, isValid: Mt, parse: zi, format: Pi, toISO: $i, toUTC: qi, addDays: Bi, addHours: Fi, addMinutes: Ni, addSeconds: Oi, diffDays: Q, diffHours: Ri, diffMinutes: Vi, diffSeconds: Ki, isToday: Wi, isYesterday: Ui, isTomorrow: Yi, isFuture: Xi, isPast: ji, isLeapYear: Ji, getDaysInMonth: Gi, getWeekOfYear: Zi, getQuarter: Qi, startOfDay: tn, endOfDay: en, startOfMonth: sn, endOfMonth: nn, startOfWeek: It, endOfWeek: rn, getAge: an, fromNow: on };
819
- function cn(i, t, e = {}) {
818
+ const cn = { now: Q, today: K, tomorrow: Ai, yesterday: zi, isDate: w, isValid: It, parse: Pi, format: $i, toISO: Bi, toUTC: qi, addDays: Oi, addHours: Fi, addMinutes: Ni, addSeconds: Ri, diffDays: tt, diffHours: Vi, diffMinutes: Ki, diffSeconds: Wi, isToday: Ui, isYesterday: Yi, isTomorrow: Xi, isFuture: ji, isPast: Ji, isLeapYear: Gi, getDaysInMonth: Zi, getWeekOfYear: Qi, getQuarter: tn, startOfDay: en, endOfDay: sn, startOfMonth: nn, endOfMonth: rn, startOfWeek: At, endOfWeek: an, getAge: on, fromNow: ln };
819
+ function hn(i, t, e = {}) {
820
820
  let s = null, n = null, r = null, a = 0;
821
821
  const o = e.leading || !1, l = e.trailing !== !1;
822
822
  function c() {
@@ -835,7 +835,7 @@ function cn(i, t, e = {}) {
835
835
  n = f, r = this, a = Date.now(), s ? (clearTimeout(s), s = setTimeout(d, u())) : h();
836
836
  };
837
837
  }
838
- function hn(i, t, e = {}) {
838
+ function dn(i, t, e = {}) {
839
839
  let s = !1;
840
840
  const n = e.trailing || !1;
841
841
  let r = null, a = null;
@@ -848,31 +848,31 @@ function hn(i, t, e = {}) {
848
848
  }, t));
849
849
  };
850
850
  }
851
- function dn(i) {
851
+ function un(i) {
852
852
  return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i || "");
853
853
  }
854
- function un(i) {
854
+ function pn(i) {
855
855
  return /^1[3-9]\d{9}$/.test(i || "");
856
856
  }
857
- function pn(i) {
857
+ function fn(i) {
858
858
  return /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w.-]*)*\/?$/.test(i || "");
859
859
  }
860
- function Tt(i) {
860
+ function zt(i) {
861
861
  return /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(i || "");
862
862
  }
863
- function At(i) {
863
+ function Pt(i) {
864
864
  return /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/.test(i || "");
865
865
  }
866
- function fn(i) {
867
- return Tt(i) || At(i);
868
- }
869
866
  function mn(i) {
870
- return /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(i || "");
867
+ return zt(i) || Pt(i);
871
868
  }
872
869
  function gn(i) {
873
- return /^[A-Z][0-9]{8}$|^[A-Z]{2}[0-9]{7}$/.test(i || "");
870
+ return /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(i || "");
874
871
  }
875
872
  function _n(i) {
873
+ return /^[A-Z][0-9]{8}$|^[A-Z]{2}[0-9]{7}$/.test(i || "");
874
+ }
875
+ function yn(i) {
876
876
  const t = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9]{2})[0-9]{12}|3[47][0-9]{13})$/, e = i.replace(/\s/g, "");
877
877
  if (!t.test(e)) return !1;
878
878
  let s = 0, n = !1;
@@ -882,90 +882,90 @@ function _n(i) {
882
882
  }
883
883
  return s % 10 === 0;
884
884
  }
885
- function zt(i) {
885
+ function $t(i) {
886
886
  return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(i || "");
887
887
  }
888
- function Pt(i) {
888
+ function Bt(i) {
889
889
  const t = /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/.exec(i || "");
890
890
  return t ? t.slice(1).every((e) => parseInt(e) >= 0 && parseInt(e) <= 255) : !1;
891
891
  }
892
- function $t(i) {
892
+ function qt(i) {
893
893
  const t = /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*([01]|0\.\d+)\)$/.exec(i || "");
894
894
  if (!t) return !1;
895
895
  const [, e, s, n, r] = t;
896
896
  return parseInt(e) >= 0 && parseInt(e) <= 255 && parseInt(s) >= 0 && parseInt(s) <= 255 && parseInt(n) >= 0 && parseInt(n) <= 255 && parseFloat(r) >= 0 && parseFloat(r) <= 1;
897
897
  }
898
- function yn(i) {
899
- return zt(i) || Pt(i) || $t(i);
900
- }
901
898
  function vn(i) {
902
- return !isNaN(new Date(i).getTime());
899
+ return $t(i) || Bt(i) || qt(i);
903
900
  }
904
901
  function bn(i) {
902
+ return !isNaN(new Date(i).getTime());
903
+ }
904
+ function xn(i) {
905
905
  try {
906
906
  return JSON.parse(i), !0;
907
907
  } catch {
908
908
  return !1;
909
909
  }
910
910
  }
911
- function xn(i) {
911
+ function En(i) {
912
912
  return !i || i.trim() === "";
913
913
  }
914
- function En(i) {
914
+ function wn(i) {
915
915
  return /^\s+$/.test(i || "");
916
916
  }
917
917
  function kn(i) {
918
918
  return !isNaN(parseFloat(i)) && isFinite(i);
919
919
  }
920
- function wn(i) {
920
+ function Cn(i) {
921
921
  return /^-?\d+$/.test(i || "");
922
922
  }
923
- function Cn(i) {
923
+ function Sn(i) {
924
924
  return /^-?\d+\.\d+$/.test(i || "");
925
925
  }
926
- function Sn(i) {
926
+ function Ln(i) {
927
927
  const t = parseFloat(i);
928
928
  return !isNaN(t) && t > 0;
929
929
  }
930
- function Ln(i) {
930
+ function Dn(i) {
931
931
  const t = parseFloat(i);
932
932
  return !isNaN(t) && t < 0;
933
933
  }
934
- function Dn(i) {
934
+ function Hn(i) {
935
935
  return /^[a-zA-Z]+$/.test(i || "");
936
936
  }
937
- function Hn(i) {
937
+ function Mn(i) {
938
938
  return /^[a-zA-Z0-9]+$/.test(i || "");
939
939
  }
940
- function Mn(i) {
940
+ function Tn(i) {
941
941
  return /^[\u4e00-\u9fa5]+$/.test(i || "");
942
942
  }
943
943
  function In(i, t, e) {
944
944
  const s = (i || "").length;
945
945
  return s >= t && (e === void 0 || s <= e);
946
946
  }
947
- function Tn(i, t) {
947
+ function An(i, t) {
948
948
  return (i || "").length >= t;
949
949
  }
950
- function An(i, t) {
950
+ function zn(i, t) {
951
951
  return (i || "").length <= t;
952
952
  }
953
- function zn(i, t) {
953
+ function Pn(i, t) {
954
954
  return t instanceof RegExp ? t.test(i || "") : !1;
955
955
  }
956
- function Pn(i, t) {
956
+ function $n(i, t) {
957
957
  return String(i) === String(t);
958
958
  }
959
- function qt(i, t) {
959
+ function Ot(i, t) {
960
960
  return (i || "").includes(t);
961
961
  }
962
- function $n(i, t) {
963
- return !qt(i, t);
962
+ function Bn(i, t) {
963
+ return !Ot(i, t);
964
964
  }
965
965
  function qn(i) {
966
966
  return Array.isArray(i);
967
967
  }
968
- function Bn(i, t, e) {
968
+ function On(i, t, e) {
969
969
  const s = i ? i.length : 0;
970
970
  return s >= t && (e === void 0 || s <= e);
971
971
  }
@@ -975,20 +975,20 @@ function Fn(i, t) {
975
975
  function Nn(i, t) {
976
976
  return i ? i.length <= t : !1;
977
977
  }
978
- function On(i) {
978
+ function Rn(i) {
979
979
  return i !== null && typeof i == "object" && !Array.isArray(i);
980
980
  }
981
- function Rn(i, t) {
981
+ function Vn(i, t) {
982
982
  return !i || !t || !Array.isArray(t) ? !1 : t.every((e) => Object.prototype.hasOwnProperty.call(i, e));
983
983
  }
984
- function Vn(i, t) {
984
+ function Kn(i, t) {
985
985
  const e = {};
986
986
  return Object.keys(t).forEach((s) => {
987
987
  const n = i[s], r = t[s], a = [];
988
988
  r.forEach((o) => {
989
989
  if (typeof o == "string") {
990
990
  const [l, ...c] = o.split(":");
991
- Bt[l](n, ...c) || a.push(l);
991
+ Ft[l](n, ...c) || a.push(l);
992
992
  } else if (typeof o == "function") {
993
993
  const l = o(n, i);
994
994
  l !== !0 && a.push(l || "validation_failed");
@@ -996,8 +996,8 @@ function Vn(i, t) {
996
996
  }), a.length > 0 && (e[s] = a);
997
997
  }), { valid: Object.keys(e).length === 0, errors: e };
998
998
  }
999
- const Bt = { isEmail: dn, isPhone: un, isURL: pn, isIPv4: Tt, isIPv6: At, isIP: fn, isIDCard: mn, isPassport: gn, isCreditCard: _n, isHexColor: zt, isRGB: Pt, isRGBA: $t, isColor: yn, isDate: vn, isJSON: bn, isEmpty: xn, isWhitespace: En, isNumber: kn, isInteger: wn, isFloat: Cn, isPositive: Sn, isNegative: Ln, isAlpha: Dn, isAlphaNumeric: Hn, isChinese: Mn, isLength: In, minLength: Tn, maxLength: An, matches: zn, equals: Pn, contains: qt, notContains: $n, isArray: qn, arrayLength: Bn, arrayMinLength: Fn, arrayMaxLength: Nn, isObject: On, hasKeys: Rn, validate: Vn };
1000
- function Kn(i) {
999
+ const Ft = { isEmail: un, isPhone: pn, isURL: fn, isIPv4: zt, isIPv6: Pt, isIP: mn, isIDCard: gn, isPassport: _n, isCreditCard: yn, isHexColor: $t, isRGB: Bt, isRGBA: qt, isColor: vn, isDate: bn, isJSON: xn, isEmpty: En, isWhitespace: wn, isNumber: kn, isInteger: Cn, isFloat: Sn, isPositive: Ln, isNegative: Dn, isAlpha: Hn, isAlphaNumeric: Mn, isChinese: Tn, isLength: In, minLength: An, maxLength: zn, matches: Pn, equals: $n, contains: Ot, notContains: Bn, isArray: qn, arrayLength: On, arrayMinLength: Fn, arrayMaxLength: Nn, isObject: Rn, hasKeys: Vn, validate: Kn };
1000
+ function Wn(i) {
1001
1001
  const t = i ? String(i) : "", e = [1732584193, 4023233417, 2562383102, 271733878], s = [3614090360, 3905402710, 606105819, 3250441966, 4118548399, 1200080426, 2821735955, 4249261313, 1770035416, 2336552879, 4294925233, 2304563134, 1804603682, 4254626195, 2792965006, 1236535329, 4129170786, 3225465664, 643717713, 3921069994, 3593408605, 38016083, 3634488961, 3889429448, 568446438, 3275163606, 4107603335, 1163531501, 2850285829, 4243563512, 1735328473, 2368359562, 4294588738, 2272392833, 1839030562, 4259657740, 2763975236, 1272893353, 4139469664, 3200236656, 681279174, 3936430074, 3572445317, 76029189, 3654602809, 3873151461, 530742520, 3299628645, 4096336452, 1126891415, 2878612391, 4237533241, 1700485571, 2399980690, 4293915773, 2240044497, 1873313359, 4264355552, 2734768916, 1309151649, 4149444226, 3174756917, 718787259, 3951481745], n = [[7, 12, 17, 22], [5, 9, 14, 20], [4, 11, 16, 23], [6, 10, 15, 21]];
1002
1002
  function r(d, u) {
1003
1003
  return d << u | d >>> 32 - u;
@@ -1019,11 +1019,11 @@ function Kn(i) {
1019
1019
  _[S] = d.charCodeAt(S * 4) & 255 | (d.charCodeAt(S * 4 + 1) & 255) << 8 | (d.charCodeAt(S * 4 + 2) & 255) << 16 | (d.charCodeAt(S * 4 + 3) & 255) << 24;
1020
1020
  let b = f, x = p, v = m, C = y;
1021
1021
  for (let S = 0; S < 64; S++) {
1022
- let w, A;
1022
+ let k, A;
1023
1023
  const z = Math.floor(S / 16), D = S % 16;
1024
- z === 0 ? (w = x & v | ~x & C, A = D) : z === 1 ? (w = C & x | ~C & v, A = (5 * D + 1) % 16) : z === 2 ? (w = x ^ v ^ C, A = (3 * D + 5) % 16) : (w = v ^ (x | ~C), A = 7 * D % 16);
1025
- const B = C;
1026
- C = v, v = x, x = x + r(b + w + s[S] + _[A] & 4294967295, n[z][S % 4]), b = B;
1024
+ z === 0 ? (k = x & v | ~x & C, A = D) : z === 1 ? (k = C & x | ~C & v, A = (5 * D + 1) % 16) : z === 2 ? (k = x ^ v ^ C, A = (3 * D + 5) % 16) : (k = v ^ (x | ~C), A = 7 * D % 16);
1025
+ const q = C;
1026
+ C = v, v = x, x = x + r(b + k + s[S] + _[A] & 4294967295, n[z][S % 4]), b = q;
1027
1027
  }
1028
1028
  return [f + b & 4294967295, p + x & 4294967295, m + v & 4294967295, y + C & 4294967295];
1029
1029
  }
@@ -1037,7 +1037,7 @@ function Kn(i) {
1037
1037
  h += (d >>> 8 * u & 255).toString(16).padStart(2, "0");
1038
1038
  }), h;
1039
1039
  }
1040
- function Wn(i) {
1040
+ function Un(i) {
1041
1041
  const t = i ? String(i) : "", e = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298];
1042
1042
  function s(c, h) {
1043
1043
  return c >>> h | c << 32 - h;
@@ -1063,8 +1063,8 @@ function Wn(i) {
1063
1063
  }
1064
1064
  let [u, f, p, m, y, _, b, x] = h;
1065
1065
  for (let v = 0; v < 64; v++) {
1066
- const C = s(y, 6) ^ s(y, 11) ^ s(y, 25), S = y & _ ^ ~y & b, w = x + C + S + e[v] + d[v] & 4294967295, A = s(u, 2) ^ s(u, 13) ^ s(u, 22), z = u & f ^ u & p ^ f & p, D = A + z & 4294967295;
1067
- x = b, b = _, _ = y, y = m + w & 4294967295, m = p, p = f, f = u, u = w + D & 4294967295;
1066
+ const C = s(y, 6) ^ s(y, 11) ^ s(y, 25), S = y & _ ^ ~y & b, k = x + C + S + e[v] + d[v] & 4294967295, A = s(u, 2) ^ s(u, 13) ^ s(u, 22), z = u & f ^ u & p ^ f & p, D = A + z & 4294967295;
1067
+ x = b, b = _, _ = y, y = m + k & 4294967295, m = p, p = f, f = u, u = k + D & 4294967295;
1068
1068
  }
1069
1069
  return [h[0] + u & 4294967295, h[1] + f & 4294967295, h[2] + p & 4294967295, h[3] + m & 4294967295, h[4] + y & 4294967295, h[5] + _ & 4294967295, h[6] + b & 4294967295, h[7] + x & 4294967295];
1070
1070
  }
@@ -1078,7 +1078,7 @@ function Wn(i) {
1078
1078
  l += (c >>> 8 * h & 255).toString(16).padStart(2, "0");
1079
1079
  }), l;
1080
1080
  }
1081
- function Un(i) {
1081
+ function Yn(i) {
1082
1082
  const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1083
1083
  let e = "", s = 0;
1084
1084
  const n = i ? i.split("").map((r) => r.charCodeAt(0)) : [];
@@ -1088,7 +1088,7 @@ function Un(i) {
1088
1088
  }
1089
1089
  return e;
1090
1090
  }
1091
- function Yn(i) {
1091
+ function Xn(i) {
1092
1092
  const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1093
1093
  let e = "", s = 0;
1094
1094
  for (i = i.replace(/[^A-Za-z0-9+/=]/g, ""); s < i.length; ) {
@@ -1097,55 +1097,55 @@ function Yn(i) {
1097
1097
  }
1098
1098
  return e;
1099
1099
  }
1100
- function Xn() {
1100
+ function jn() {
1101
1101
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (i) => {
1102
1102
  const t = Math.random() * 16 | 0;
1103
1103
  return (i === "x" ? t : t & 3 | 8).toString(16);
1104
1104
  });
1105
1105
  }
1106
- const jn = { md5: Kn, sha256: Wn, base64Encode: Un, base64Decode: Yn, uuid: Xn }, q = /* @__PURE__ */ new Map();
1107
- async function j(i, t = {}) {
1106
+ const Jn = { md5: Wn, sha256: Un, base64Encode: Yn, base64Decode: Xn, uuid: jn }, B = /* @__PURE__ */ new Map();
1107
+ async function J(i, t = {}) {
1108
1108
  const { crossOrigin: e = "anonymous" } = t;
1109
- return q.has(i) ? q.get(i) : new Promise((s, n) => {
1109
+ return B.has(i) ? B.get(i) : new Promise((s, n) => {
1110
1110
  const r = new Image();
1111
1111
  r.crossOrigin = e, r.onload = () => {
1112
- q.set(i, r), s(r);
1112
+ B.set(i, r), s(r);
1113
1113
  }, r.onerror = () => {
1114
1114
  n(new Error(`Failed to load image: ${i}`));
1115
1115
  }, r.src = i;
1116
1116
  });
1117
1117
  }
1118
- async function Jn(i, t = {}) {
1118
+ async function Gn(i, t = {}) {
1119
1119
  const { parallel: e = !0 } = t;
1120
- if (e) return Promise.all(i.map((n) => j(n, t)));
1120
+ if (e) return Promise.all(i.map((n) => J(n, t)));
1121
1121
  const s = [];
1122
1122
  for (const n of i)
1123
- s.push(await j(n, t));
1123
+ s.push(await J(n, t));
1124
1124
  return s;
1125
1125
  }
1126
- async function Ft(i, t = {}) {
1126
+ async function Nt(i, t = {}) {
1127
1127
  const { type: e = "text/javascript", async: s = !0, defer: n = !1 } = t;
1128
- return q.has(i) ? q.get(i) : new Promise((r, a) => {
1128
+ return B.has(i) ? B.get(i) : new Promise((r, a) => {
1129
1129
  const o = document.createElement("script");
1130
1130
  o.type = e, o.async = s, o.defer = n, o.onload = () => {
1131
- q.set(i, o), r(o);
1131
+ B.set(i, o), r(o);
1132
1132
  }, o.onerror = () => {
1133
1133
  o.remove(), a(new Error(`Failed to load script: ${i}`));
1134
1134
  }, o.src = i, document.head.appendChild(o);
1135
1135
  });
1136
1136
  }
1137
- async function Nt(i, t = {}) {
1137
+ async function Rt(i, t = {}) {
1138
1138
  const { media: e = "all" } = t;
1139
- return q.has(i) ? q.get(i) : new Promise((s, n) => {
1139
+ return B.has(i) ? B.get(i) : new Promise((s, n) => {
1140
1140
  const r = document.createElement("link");
1141
1141
  r.rel = "stylesheet", r.href = i, r.media = e, r.onload = () => {
1142
- q.set(i, r), s(r);
1142
+ B.set(i, r), s(r);
1143
1143
  }, r.onerror = () => {
1144
1144
  r.remove(), n(new Error(`Failed to load stylesheet: ${i}`));
1145
1145
  }, document.head.appendChild(r);
1146
1146
  });
1147
1147
  }
1148
- async function Gn(i, t, e = {}) {
1148
+ async function Zn(i, t, e = {}) {
1149
1149
  const { weight: s = "normal", style: n = "normal" } = e, r = new FontFace(i, `url(${t})`, { weight: s, style: n });
1150
1150
  try {
1151
1151
  return await r.load(), document.fonts.add(r), r;
@@ -1153,41 +1153,41 @@ async function Gn(i, t, e = {}) {
1153
1153
  throw new Error(`Failed to load font: ${i}`);
1154
1154
  }
1155
1155
  }
1156
- async function Zn(i, t = "image") {
1156
+ async function Qn(i, t = "image") {
1157
1157
  switch (t) {
1158
1158
  case "image":
1159
- return j(i);
1159
+ return J(i);
1160
1160
  case "script":
1161
- return Ft(i);
1161
+ return Nt(i);
1162
1162
  case "stylesheet":
1163
1163
  case "style":
1164
- return Nt(i);
1164
+ return Rt(i);
1165
1165
  default:
1166
1166
  throw new Error(`Unsupported preload type: ${t}`);
1167
1167
  }
1168
1168
  }
1169
- function Qn(i) {
1170
- return q.has(i);
1169
+ function tr(i) {
1170
+ return B.has(i);
1171
1171
  }
1172
- function tr() {
1173
- q.clear();
1172
+ function er() {
1173
+ B.clear();
1174
1174
  }
1175
- function er(i) {
1176
- q.delete(i);
1175
+ function sr(i) {
1176
+ B.delete(i);
1177
1177
  }
1178
- const sr = { loadImage: j, loadImages: Jn, loadScript: Ft, loadStylesheet: Nt, loadFont: Gn, preload: Zn, isLoaded: Qn, clearCache: tr, clearCacheByUrl: er }, Da = {
1179
- string: je,
1180
- array: Bs,
1181
- object: ni,
1178
+ const ir = { loadImage: J, loadImages: Gn, loadScript: Nt, loadStylesheet: Rt, loadFont: Zn, preload: Qn, isLoaded: tr, clearCache: er, clearCacheByUrl: sr }, Ia = {
1179
+ string: Je,
1180
+ array: Os,
1181
+ object: ri,
1182
1182
  number: Ii,
1183
- date: ln,
1184
- debounce: cn,
1185
- throttle: hn,
1186
- validator: Bt,
1187
- crypto: jn,
1188
- preload: sr
1183
+ date: cn,
1184
+ debounce: hn,
1185
+ throttle: dn,
1186
+ validator: Ft,
1187
+ crypto: Jn,
1188
+ preload: ir
1189
1189
  };
1190
- function ir(i) {
1190
+ function nr(i) {
1191
1191
  if (!i) return "";
1192
1192
  let t = String(i);
1193
1193
  const e = /<\s*(script|iframe|object|embed|applet|form|base|link|meta|style)\b[^>]*>[\s\S]*?<\s*\/\s*\1\s*>|<\s*(script|iframe|object|embed|applet|form|base|link|meta|style)\b[^>]*\/?>/gi;
@@ -1197,20 +1197,20 @@ function ir(i) {
1197
1197
  while (t !== s);
1198
1198
  return t = t.replace(/\bon\w+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi, ""), t = t.replace(/(href|src|action|background)\s*=\s*(?:"[^"]*(?:javascript|vbscript|data)\s*:[^"]*"|'[^']*(?:javascript|vbscript|data)\s*:[^']*'|[^\s>]*(?:javascript|vbscript|data)\s*:[^\s>]*)/gi, '$1=""'), t = t.replace(/expression\s*\([^)]*\)/gi, ""), t;
1199
1199
  }
1200
- class ut {
1200
+ class ft {
1201
1201
  constructor() {
1202
1202
  this.children = {}, this.keys = [];
1203
1203
  }
1204
1204
  }
1205
- class et {
1205
+ class it {
1206
1206
  constructor() {
1207
- this.root = new ut();
1207
+ this.root = new ft();
1208
1208
  }
1209
1209
  insert(t) {
1210
1210
  let e = this.root;
1211
1211
  const s = t.split(".");
1212
1212
  s.forEach((n, r) => {
1213
- e.children[n] || (e.children[n] = new ut()), e = e.children[n], r === s.length - 1 && e.keys.push(t);
1213
+ e.children[n] || (e.children[n] = new ft()), e = e.children[n], r === s.length - 1 && e.keys.push(t);
1214
1214
  });
1215
1215
  }
1216
1216
  getSubKeys(t) {
@@ -1242,9 +1242,9 @@ const g = {
1242
1242
  path: Symbol("reactive_path"),
1243
1243
  isReactive: Symbol("reactive_is_reactive")
1244
1244
  };
1245
- class nr {
1245
+ class rr {
1246
1246
  constructor() {
1247
- this.rawData = {}, this.data = null, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new et(), this.updateQueue = /* @__PURE__ */ new Map(), this.isProcessing = !1, this.pendingComputed = /* @__PURE__ */ new Set(), this.persistedKeys = /* @__PURE__ */ new Map(), this.snapshots = [], this.snapshotLimit = 10, this._proxyCache = /* @__PURE__ */ new WeakMap(), this.createReactiveData();
1247
+ this.rawData = {}, this.data = null, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new it(), this.updateQueue = /* @__PURE__ */ new Map(), this.isProcessing = !1, this.pendingComputed = /* @__PURE__ */ new Set(), this.persistedKeys = /* @__PURE__ */ new Map(), this.snapshots = [], this.snapshotLimit = 10, this._proxyCache = /* @__PURE__ */ new WeakMap(), this.createReactiveData();
1248
1248
  }
1249
1249
  createReactiveData() {
1250
1250
  const t = {
@@ -1382,7 +1382,7 @@ class nr {
1382
1382
  t.textContent !== String(e ?? "") && (t.textContent = e ?? "");
1383
1383
  break;
1384
1384
  case "html":
1385
- const c = ir(e);
1385
+ const c = nr(e);
1386
1386
  t.innerHTML !== c && (t.innerHTML = c);
1387
1387
  break;
1388
1388
  case "value":
@@ -1440,7 +1440,7 @@ class nr {
1440
1440
  }), this.processComputed();
1441
1441
  }
1442
1442
  reset() {
1443
- this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new et(), this.updateQueue.clear(), this.snapshots = [], this.createReactiveData(), this.bind();
1443
+ this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new it(), this.updateQueue.clear(), this.snapshots = [], this.createReactiveData(), this.bind();
1444
1444
  }
1445
1445
  persist(t, e = {}) {
1446
1446
  const {
@@ -1706,14 +1706,14 @@ class nr {
1706
1706
  });
1707
1707
  }), this.persistedKeys.forEach((t, e) => {
1708
1708
  t.timeout && clearTimeout(t.timeout);
1709
- }), this.persistedKeys.clear(), this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new et(), this.updateQueue.clear(), this.snapshots = [];
1709
+ }), this.persistedKeys.clear(), this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new it(), this.updateQueue.clear(), this.snapshots = [];
1710
1710
  }
1711
1711
  }
1712
- class pt {
1712
+ class mt {
1713
1713
  constructor(t, e = {}) {
1714
1714
  this.name = t, this._stateKey = `__store_${t}__`;
1715
1715
  const s = e.state ? e.state() : {};
1716
- this.getters = e.getters || {}, this.actions = e.actions || {}, this.mutations = e.mutations || {}, this.observers = {}, F ? (F.set(this._stateKey, s), this.state = F.data?.[this._stateKey] || F.createReactive(s, this._stateKey), F.observe(this._stateKey, (n) => {
1716
+ this.getters = e.getters || {}, this.actions = e.actions || {}, this.mutations = e.mutations || {}, this.observers = {}, O ? (O.set(this._stateKey, s), this.state = O.data?.[this._stateKey] || O.createReactive(s, this._stateKey), O.observe(this._stateKey, (n) => {
1717
1717
  this.notify(n);
1718
1718
  })) : this.state = s, this._bindGetters(), this._bindActions();
1719
1719
  }
@@ -1769,7 +1769,7 @@ class pt {
1769
1769
  } catch (s) {
1770
1770
  console.error(`Observer error for store ${this.name}:`, s);
1771
1771
  }
1772
- }), F && F.set(this.name, t);
1772
+ }), O && O.set(this.name, t);
1773
1773
  }
1774
1774
  toJSON() {
1775
1775
  return {
@@ -1779,25 +1779,25 @@ class pt {
1779
1779
  };
1780
1780
  }
1781
1781
  }
1782
- class rr {
1782
+ class ar {
1783
1783
  constructor() {
1784
1784
  this.stores = /* @__PURE__ */ new Map();
1785
1785
  }
1786
1786
  createStore(t, e) {
1787
- const s = new pt(t, e);
1787
+ const s = new mt(t, e);
1788
1788
  return this.stores.set(t, s), s;
1789
1789
  }
1790
1790
  getStore(t) {
1791
1791
  return this.stores.get(t);
1792
1792
  }
1793
1793
  registerStore(t) {
1794
- t instanceof pt && this.stores.set(t.name, t);
1794
+ t instanceof mt && this.stores.set(t.name, t);
1795
1795
  }
1796
1796
  dispose() {
1797
1797
  this.stores.clear();
1798
1798
  }
1799
1799
  }
1800
- class ar {
1800
+ class or {
1801
1801
  constructor() {
1802
1802
  this.events = {}, this.delegatedEvents = {}, this.eventListeners = {};
1803
1803
  }
@@ -1874,12 +1874,12 @@ function I(i = null) {
1874
1874
  }
1875
1875
  }), t;
1876
1876
  }
1877
- const F = new nr(), Ha = new ar(), Ot = new rr();
1878
- function Ma(i, t) {
1879
- return Ot.createStore(i, t);
1877
+ const O = new rr(), Aa = new or(), Vt = new ar();
1878
+ function za(i, t) {
1879
+ return Vt.createStore(i, t);
1880
1880
  }
1881
- function Ia(i) {
1882
- return Ot.getStore(i);
1881
+ function Pa(i) {
1882
+ return Vt.getStore(i);
1883
1883
  }
1884
1884
  const T = {
1885
1885
  paths: {
@@ -1902,11 +1902,22 @@ const T = {
1902
1902
  },
1903
1903
  ui: {
1904
1904
  defaultSize: "md",
1905
- defaultVariant: "default"
1905
+ modal: {
1906
+ backdropClick: !0
1907
+ },
1908
+ dropdown: {
1909
+ closeOnClick: !0
1910
+ },
1911
+ datepicker: {
1912
+ weekStart: 1
1913
+ },
1914
+ tooltip: {
1915
+ delay: 300
1916
+ }
1906
1917
  },
1907
1918
  performance: {
1908
- lazyLoad: !0,
1909
- debounceDelay: 300,
1919
+ lazyLoad: !1,
1920
+ debounceDelay: 200,
1910
1921
  throttleDelay: 100,
1911
1922
  animationEnabled: !0
1912
1923
  },
@@ -1921,72 +1932,88 @@ const T = {
1921
1932
  span: ["class", "style"],
1922
1933
  div: ["class", "style"]
1923
1934
  }
1935
+ },
1936
+ maskData: {
1937
+ enabled: !0,
1938
+ patterns: {
1939
+ phone: { regex: "^(\\d{3})\\d{4}(\\d{4})$", replace: "$1****$2" },
1940
+ email: { regex: "^(.)(.*)(@.*)$", replace: "$1***$3" },
1941
+ idCard: { regex: "^(\\d{6})\\d{8}(\\d{4})$", replace: "$1********$2" },
1942
+ bankCard: { regex: "^(\\d{4})\\d{8}(\\d{4})$", replace: "$1 **** **** $2" }
1943
+ }
1944
+ },
1945
+ secureId: {
1946
+ length: 16,
1947
+ charset: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
1924
1948
  }
1925
1949
  },
1926
- dev: {
1927
- debug: !1,
1928
- logLevel: "warn"
1950
+ message: {
1951
+ duration: 3e3,
1952
+ position: "top-right",
1953
+ maxCount: 5
1954
+ },
1955
+ notification: {
1956
+ duration: 4500,
1957
+ position: "top-right"
1929
1958
  },
1930
- extend: {
1931
- themeVariables: {}
1959
+ validation: {
1960
+ defaultRules: [],
1961
+ showErrors: !0,
1962
+ trigger: "blur"
1932
1963
  },
1933
1964
  components: {
1934
1965
  autoInit: !0,
1935
1966
  silentErrors: !1
1936
- },
1937
- store: {
1938
- persist: !0,
1939
- prefix: "kupola-"
1940
- },
1941
- events: {
1942
- global: !0
1943
1967
  }
1944
1968
  };
1945
- function Ta(i) {
1946
- Kt(T, i);
1969
+ function $a(i) {
1970
+ Wt(T, i);
1947
1971
  }
1948
- function lt(i) {
1949
- return i ? hr(T, i) : T;
1972
+ function ht(i) {
1973
+ return i ? fr(T, i) : T;
1950
1974
  }
1951
- function Rt() {
1975
+ function Kt() {
1952
1976
  return T.paths.base + T.paths.icons.replace(/^\//, "");
1953
1977
  }
1954
- function Aa() {
1978
+ function Ba() {
1955
1979
  return T.paths.base;
1956
1980
  }
1957
- function or() {
1981
+ function lr() {
1958
1982
  return T.theme.default;
1959
1983
  }
1960
- function lr() {
1984
+ function cr() {
1961
1985
  return T.theme.brand;
1962
1986
  }
1963
- function za() {
1987
+ function qa() {
1964
1988
  return T.http;
1965
1989
  }
1966
- function cr() {
1990
+ function X() {
1967
1991
  return T.ui;
1968
1992
  }
1969
- function Vt() {
1993
+ function et() {
1970
1994
  return T.security;
1971
1995
  }
1972
- function Pa() {
1973
- return T.dev;
1974
- }
1975
- function $a() {
1996
+ function hr() {
1976
1997
  return T.performance;
1977
1998
  }
1978
- function qa() {
1979
- return T.extend;
1999
+ function dr() {
2000
+ return T.message;
1980
2001
  }
1981
- function Kt(i, t) {
2002
+ function ur() {
2003
+ return T.notification;
2004
+ }
2005
+ function pr() {
2006
+ return T.validation;
2007
+ }
2008
+ function Wt(i, t) {
1982
2009
  for (const e in t)
1983
- t[e] instanceof Object && e in i && i[e] instanceof Object ? Kt(i[e], t[e]) : i[e] = t[e];
2010
+ t[e] instanceof Object && e in i && i[e] instanceof Object ? Wt(i[e], t[e]) : i[e] = t[e];
1984
2011
  return i;
1985
2012
  }
1986
- function hr(i, t) {
2013
+ function fr(i, t) {
1987
2014
  return t.split(".").reduce((e, s) => (e && e[s]) !== void 0 ? e[s] : void 0, i);
1988
2015
  }
1989
- const Wt = "kupola-theme", Ut = "kupola-brand", Y = [
2016
+ const Ut = "kupola-theme", Yt = "kupola-brand", Y = [
1990
2017
  { id: "green", name: "翠绿", color: "#32F08C" },
1991
2018
  { id: "xionghuang", name: "雄黄", color: "#FF9900" },
1992
2019
  { id: "jianghuang", name: "姜黄", color: "#E2C027" },
@@ -2000,11 +2027,11 @@ const Wt = "kupola-theme", Ut = "kupola-brand", Y = [
2000
2027
  { id: "roulan", name: "柔蓝", color: "#106898" }
2001
2028
  ];
2002
2029
  function R() {
2003
- return localStorage.getItem(Wt) || or();
2030
+ return localStorage.getItem(Ut) || lr();
2004
2031
  }
2005
- function it(i) {
2032
+ function rt(i) {
2006
2033
  if (i !== "dark" && i !== "light") return;
2007
- document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Wt, i);
2034
+ document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Ut, i);
2008
2035
  const t = document.querySelector("[data-theme-toggle]");
2009
2036
  if (t) {
2010
2037
  t.setAttribute("data-current-theme", i);
@@ -2015,13 +2042,13 @@ function it(i) {
2015
2042
  }
2016
2043
  }
2017
2044
  }
2018
- function X() {
2019
- return localStorage.getItem(Ut) || lr();
2045
+ function j() {
2046
+ return localStorage.getItem(Yt) || cr();
2020
2047
  }
2021
- function nt(i) {
2048
+ function at(i) {
2022
2049
  const t = Y.find((n) => n.id === i);
2023
2050
  if (!t) return;
2024
- document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Ut, i);
2051
+ document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Yt, i);
2025
2052
  const e = document.querySelector("[data-brand-toggle]");
2026
2053
  if (e) {
2027
2054
  e.setAttribute("data-current-brand", i);
@@ -2034,26 +2061,26 @@ function nt(i) {
2034
2061
  n.getAttribute("data-brand-btn") === i ? n.classList.add("is-active") : n.classList.remove("is-active");
2035
2062
  });
2036
2063
  }
2037
- function ft(i) {
2064
+ function gt(i) {
2038
2065
  const t = i.querySelector(".theme-icon");
2039
2066
  if (t) {
2040
- const e = R(), s = Rt();
2067
+ const e = R(), s = Kt();
2041
2068
  t.src = e === "dark" ? s + "sun.svg" : s + "moon.svg";
2042
2069
  }
2043
2070
  }
2044
- function dr() {
2071
+ function mr() {
2045
2072
  const i = R();
2046
- it(i);
2047
- const t = X();
2048
- nt(t);
2073
+ rt(i);
2074
+ const t = j();
2075
+ at(t);
2049
2076
  const e = document.querySelector("[data-theme-toggle]");
2050
2077
  if (e) {
2051
- ft(e);
2078
+ gt(e);
2052
2079
  const o = e.onclick;
2053
2080
  e.onclick = function(l) {
2054
2081
  l.preventDefault();
2055
2082
  const h = R() === "dark" ? "light" : "dark";
2056
- it(h), ft(e), typeof o == "function" && o.call(this, l);
2083
+ rt(h), gt(e), typeof o == "function" && o.call(this, l);
2057
2084
  };
2058
2085
  }
2059
2086
  let s = document.getElementById("brand-picker");
@@ -2078,20 +2105,20 @@ function dr() {
2078
2105
  o.addEventListener("click", (l) => {
2079
2106
  l.stopPropagation();
2080
2107
  const c = o.getAttribute("data-brand-btn");
2081
- nt(c), s && (s.style.display = "none");
2108
+ at(c), s && (s.style.display = "none");
2082
2109
  });
2083
2110
  });
2084
2111
  }
2085
- function Ba() {
2112
+ function Oa() {
2086
2113
  const i = document.createElement("button");
2087
2114
  i.setAttribute("data-theme-toggle", ""), i.setAttribute("data-current-theme", R()), i.className = "ds-btn ds-btn--ghost ds-btn--sm ds-btn--icon", i.style.position = "fixed", i.style.top = "16px", i.style.right = "16px", i.style.zIndex = "9999";
2088
2115
  const t = document.createElement("img");
2089
2116
  t.className = "theme-icon";
2090
- const e = Rt();
2117
+ const e = Kt();
2091
2118
  return t.src = R() === "dark" ? e + "sun.svg" : e + "moon.svg", t.width = 14, t.height = 14, t.alt = "Toggle theme", i.appendChild(t), document.body.appendChild(i), i.onclick = function(s) {
2092
2119
  s.preventDefault();
2093
2120
  const r = R() === "dark" ? "light" : "dark";
2094
- it(r);
2121
+ rt(r);
2095
2122
  }, i;
2096
2123
  }
2097
2124
  function Fa() {
@@ -2101,11 +2128,11 @@ function Fa() {
2101
2128
  o.setAttribute("data-brand-btn", a.id), o.style.display = "flex", o.style.justifyContent = "center", o.style.alignItems = "center", o.style.height = "60px", o.style.backgroundColor = a.color, o.style.color = ["#32F08C", "#FF9900", "#E2C027", "#0EB0C9", "#B1A6CC"].includes(a.color) ? "#0C0C0D" : "#FFFFFF", o.style.fontWeight = "500", o.style.borderRadius = "4px", o.style.border = "none", o.style.cursor = "pointer", o.style.margin = "0", o.style.padding = "0", o.textContent = a.name, i.appendChild(o);
2102
2129
  }), document.body.appendChild(i);
2103
2130
  const t = document.createElement("button");
2104
- t.setAttribute("data-brand-toggle", ""), t.setAttribute("data-current-brand", X()), t.className = "ds-btn ds-btn--ghost ds-btn--sm", t.style.position = "fixed", t.style.top = "16px", t.style.right = "56px", t.style.zIndex = "9999", t.style.display = "flex", t.style.alignItems = "center", t.style.gap = "6px";
2131
+ t.setAttribute("data-brand-toggle", ""), t.setAttribute("data-current-brand", j()), t.className = "ds-btn ds-btn--ghost ds-btn--sm", t.style.position = "fixed", t.style.top = "16px", t.style.right = "56px", t.style.zIndex = "9999", t.style.display = "flex", t.style.alignItems = "center", t.style.gap = "6px";
2105
2132
  const e = document.createElement("span");
2106
- e.className = "brand-icon", e.style.width = "12px", e.style.height = "12px", e.style.borderRadius = "50%", e.style.backgroundColor = Y.find((a) => a.id === X()).color;
2133
+ e.className = "brand-icon", e.style.width = "12px", e.style.height = "12px", e.style.borderRadius = "50%", e.style.backgroundColor = Y.find((a) => a.id === j()).color;
2107
2134
  const s = document.createElement("span");
2108
- s.className = "brand-name", s.style.fontSize = "11px", s.textContent = Y.find((a) => a.id === X()).name, t.appendChild(e), t.appendChild(s), document.body.appendChild(t), t.onclick = function(a) {
2135
+ s.className = "brand-name", s.style.fontSize = "11px", s.textContent = Y.find((a) => a.id === j()).name, t.appendChild(e), t.appendChild(s), document.body.appendChild(t), t.onclick = function(a) {
2109
2136
  a.stopPropagation(), a.preventDefault();
2110
2137
  const o = i.style.display === "none";
2111
2138
  i.style.display = o ? "grid" : "none", o ? setTimeout(() => {
@@ -2121,12 +2148,12 @@ function Fa() {
2121
2148
  a.addEventListener("click", (o) => {
2122
2149
  o.stopPropagation();
2123
2150
  const l = a.getAttribute("data-brand-btn");
2124
- nt(l), i.style.display = "none";
2151
+ at(l), i.style.display = "none";
2125
2152
  });
2126
2153
  }), { toggleBtn: t, container: i };
2127
2154
  }
2128
2155
  function Na(i, t = {}) {
2129
- const s = Vt()?.sanitizeHtml || {};
2156
+ const s = et()?.sanitizeHtml || {};
2130
2157
  if (!s.enabled && !t.force)
2131
2158
  return i;
2132
2159
  const n = t.allowedTags || s.allowedTags || [], r = t.allowedAttributes || s.allowedAttributes || {};
@@ -2145,16 +2172,41 @@ function Na(i, t = {}) {
2145
2172
  });
2146
2173
  }), o.body.innerHTML;
2147
2174
  }
2148
- function Oa(i) {
2175
+ function Ra(i) {
2149
2176
  if (typeof i != "string")
2150
2177
  return i;
2151
2178
  const t = document.createElement("div");
2152
2179
  return t.textContent = i, t.innerHTML;
2153
2180
  }
2154
- function Ra(i) {
2181
+ function Va(i) {
2155
2182
  return typeof i != "string" ? i : new DOMParser().parseFromString(i, "text/html").body.textContent || "";
2156
2183
  }
2157
- class ur {
2184
+ function Ka(i, t, e = {}) {
2185
+ const n = et()?.maskData || {};
2186
+ if (!n.enabled && !e.force || i == null)
2187
+ return i;
2188
+ const a = (e.patterns || n.patterns || {})[t];
2189
+ if (!a)
2190
+ return i;
2191
+ const o = typeof a.regex == "string" ? new RegExp(a.regex) : a.regex;
2192
+ return String(i).replace(o, a.replace);
2193
+ }
2194
+ function Wa(i, t) {
2195
+ const s = et()?.secureId || {}, n = i || s.length || 16, r = s.charset || "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
2196
+ if (typeof crypto > "u" || !crypto.getRandomValues) {
2197
+ let l = "";
2198
+ for (let c = 0; c < n; c++)
2199
+ l += r[Math.floor(Math.random() * r.length)];
2200
+ return t ? `${t}_${l}` : l;
2201
+ }
2202
+ const a = new Uint32Array(n);
2203
+ crypto.getRandomValues(a);
2204
+ let o = "";
2205
+ for (let l = 0; l < n; l++)
2206
+ o += r[a[l] % r.length];
2207
+ return t ? `${t}_${o}` : o;
2208
+ }
2209
+ class gr {
2158
2210
  constructor() {
2159
2211
  this.initializers = /* @__PURE__ */ new Map(), this.cleanupFunctions = /* @__PURE__ */ new Map(), this.processedElements = /* @__PURE__ */ new WeakSet(), this._dataAttrs = ["data-component"], this._cssClasses = [], this._cachedSelector = null;
2160
2212
  }
@@ -2261,7 +2313,7 @@ class ur {
2261
2313
  }), await Promise.all(n);
2262
2314
  }
2263
2315
  }
2264
- const E = new ur(), pr = [
2316
+ const E = new gr(), _r = [
2265
2317
  { attr: "data-dropdown", cls: "ds-dropdown" },
2266
2318
  { attr: "data-select", cls: "ds-select" },
2267
2319
  { attr: "data-datepicker", cls: "ds-datepicker" },
@@ -2283,11 +2335,11 @@ const E = new ur(), pr = [
2283
2335
  { cls: "ds-notification" },
2284
2336
  { cls: "ds-message" }
2285
2337
  ];
2286
- for (const i of pr)
2338
+ for (const i of _r)
2287
2339
  i.attr && !E._dataAttrs.includes(i.attr) && E._dataAttrs.push(i.attr), i.cls && !E._cssClasses.includes(i.cls) && E._cssClasses.push(i.cls);
2288
- class J {
2340
+ class G {
2289
2341
  constructor(t) {
2290
- this.element = t, this.isMounted = !1, this.isDestroyed = !1, this.props = this._parseProps(), this.state = {}, this.slots = this._parseSlots(), this._eventListeners = {}, this._appliedMixins = [], this.lifecycle = new ot(), this.setupContext = null;
2342
+ this.element = t, this.isMounted = !1, this.isDestroyed = !1, this.props = this._parseProps(), this.state = {}, this.slots = this._parseSlots(), this._eventListeners = {}, this._appliedMixins = [], this.lifecycle = new ct(), this.setupContext = null;
2291
2343
  }
2292
2344
  _parseProps() {
2293
2345
  const t = {};
@@ -2386,7 +2438,7 @@ class J {
2386
2438
  };
2387
2439
  let e = Object.getPrototypeOf(this);
2388
2440
  const s = /* @__PURE__ */ new Set();
2389
- for (; e && e.constructor !== Object && e.constructor !== J; ) {
2441
+ for (; e && e.constructor !== Object && e.constructor !== G; ) {
2390
2442
  for (const [n, r] of Object.entries(t))
2391
2443
  s.has(n) || e.hasOwnProperty(n) && (Array.isArray(r) ? r.forEach((a) => {
2392
2444
  n === "render" && this.lifecycle.on(a, () => this.render?.());
@@ -2420,7 +2472,7 @@ class J {
2420
2472
  setup() {
2421
2473
  }
2422
2474
  }
2423
- function mt(i, t) {
2475
+ function _t(i, t) {
2424
2476
  Object.keys(t).forEach((e) => {
2425
2477
  if (e !== "constructor")
2426
2478
  if (typeof t[e] == "function") {
@@ -2432,12 +2484,12 @@ function mt(i, t) {
2432
2484
  i.prototype[e] = t[e];
2433
2485
  });
2434
2486
  }
2435
- class fr {
2487
+ class yr {
2436
2488
  constructor() {
2437
2489
  this.components = /* @__PURE__ */ new Map(), this.lazyComponents = /* @__PURE__ */ new Map(), this.loadedComponents = /* @__PURE__ */ new Map(), this.instances = /* @__PURE__ */ new Map(), this.observer = null, this.mixins = /* @__PURE__ */ new Map(), this.loadingPromises = /* @__PURE__ */ new Map();
2438
2490
  }
2439
2491
  register(t, e) {
2440
- if (!(e.prototype instanceof J))
2492
+ if (!(e.prototype instanceof G))
2441
2493
  throw new Error(`Component ${t} must extend KupolaComponent`);
2442
2494
  this.components.set(t, e);
2443
2495
  }
@@ -2461,7 +2513,7 @@ class fr {
2461
2513
  const n = (async () => {
2462
2514
  try {
2463
2515
  const r = await s(), a = r.default || r;
2464
- if (!(a.prototype instanceof J))
2516
+ if (!(a.prototype instanceof G))
2465
2517
  throw new Error(`Component ${t} must extend KupolaComponent`);
2466
2518
  return this.loadedComponents.set(t, a), a;
2467
2519
  } catch (r) {
@@ -2476,7 +2528,7 @@ class fr {
2476
2528
  useMixin(t, ...e) {
2477
2529
  e.forEach((s) => {
2478
2530
  const n = this.mixins.get(s);
2479
- n && mt(t, n);
2531
+ n && _t(t, n);
2480
2532
  });
2481
2533
  }
2482
2534
  async bootstrap(t = document) {
@@ -2517,7 +2569,7 @@ class fr {
2517
2569
  const n = t.getAttribute("data-mixins"), r = s;
2518
2570
  n && n.split(",").forEach((o) => {
2519
2571
  const l = this.mixins.get(o.trim());
2520
- l && mt(r, l);
2572
+ l && _t(r, l);
2521
2573
  });
2522
2574
  const a = new r(t);
2523
2575
  t.__kupolaInstance = a, this.instances.set(t, a), a.mount();
@@ -2563,37 +2615,37 @@ class fr {
2563
2615
  }
2564
2616
  }
2565
2617
  let M = null;
2566
- typeof window < "u" && (M = new fr());
2567
- function mr() {
2568
- if (Vt().xssProtection && typeof document < "u") {
2618
+ typeof window < "u" && (M = new yr());
2619
+ function vr() {
2620
+ if (et().xssProtection && typeof document < "u") {
2569
2621
  let t = document.querySelector('meta[http-equiv="X-XSS-Protection"]');
2570
2622
  t || (t = document.createElement("meta"), t.setAttribute("http-equiv", "X-XSS-Protection"), t.setAttribute("content", "1; mode=block"), document.head.insertBefore(t, document.head.firstChild)), t = document.querySelector('meta[http-equiv="X-Content-Type-Options"]'), t || (t = document.createElement("meta"), t.setAttribute("http-equiv", "X-Content-Type-Options"), t.setAttribute("content", "nosniff"), document.head.insertBefore(t, document.head.firstChild)), t = document.querySelector('meta[http-equiv="X-Frame-Options"]'), t || (t = document.createElement("meta"), t.setAttribute("http-equiv", "X-Frame-Options"), t.setAttribute("content", "SAMEORIGIN"), document.head.insertBefore(t, document.head.firstChild));
2571
2623
  }
2572
2624
  }
2573
- async function gt() {
2625
+ async function yt() {
2574
2626
  if (typeof window < "u") {
2575
- mr();
2576
- const i = lt();
2577
- F.loadPersisted(), F.bind(), dr(), i.components?.autoInit !== !1 && (await E.initializeAll(), M && await M.bootstrap());
2627
+ vr();
2628
+ const i = ht();
2629
+ O.loadPersisted(), O.bind(), mr(), i.components?.autoInit !== !1 && (await E.initializeAll(), M && await M.bootstrap());
2578
2630
  }
2579
2631
  }
2580
- typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", gt) : typeof window < "u" && setTimeout(gt, 0);
2581
- function Va(i, t) {
2632
+ typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", yt) : typeof window < "u" && setTimeout(yt, 0);
2633
+ function Ua(i, t) {
2582
2634
  M && M.register(i, t);
2583
2635
  }
2584
- function Ka(i, t) {
2636
+ function Ya(i, t) {
2585
2637
  M && M.registerLazy(i, t);
2586
2638
  }
2587
- function Wa(i) {
2639
+ function Xa(i) {
2588
2640
  return M ? M.bootstrap(i) : Promise.resolve();
2589
2641
  }
2590
- function Ua(i, t) {
2642
+ function ja(i, t) {
2591
2643
  M && M.defineMixin(i, t);
2592
2644
  }
2593
- function Ya(i, ...t) {
2645
+ function Ja(i, ...t) {
2594
2646
  M && M.useMixin(i, ...t);
2595
2647
  }
2596
- function Xa(i, t) {
2648
+ function Ga(i, t) {
2597
2649
  if (!t || typeof t != "object")
2598
2650
  throw new Error(`defineComponent("${i}"): options must be an object`);
2599
2651
  t.componentClass ? M && M.register(i, t.componentClass) : t.lazy && M && M.registerLazy(i, t.lazy), t.init ? E.register(i, t.init, t.cleanup || null, {
@@ -2605,9 +2657,9 @@ function Xa(i, t) {
2605
2657
  cssClass: t.cssClass
2606
2658
  });
2607
2659
  }
2608
- class Yt {
2660
+ class Xt {
2609
2661
  constructor(t = {}) {
2610
- const e = lt();
2662
+ const e = ht();
2611
2663
  this.locales = t.locales || {}, this.currentLocale = t.defaultLocale || e.i18n?.locale || "zh-CN", this.fallbackLocale = t.fallbackLocale || e.i18n?.fallbackLocale || "en-US", this.delimiter = t.delimiter || ".", this.missingHandler = t.missingHandler || ((s) => (console.warn(`Missing translation: ${s}`), s)), this._initFromDOM();
2612
2664
  }
2613
2665
  _initFromDOM() {
@@ -2703,32 +2755,32 @@ class Yt {
2703
2755
  return new Intl.RelativeTimeFormat(n, s).format(t, e);
2704
2756
  }
2705
2757
  }
2706
- const O = new Yt();
2707
- function ja(i) {
2708
- return new Yt(i);
2758
+ const N = new Xt();
2759
+ function Za(i) {
2760
+ return new Xt(i);
2709
2761
  }
2710
- function Ja(i, t = {}) {
2711
- return O.t(i, t);
2762
+ function Qa(i, t = {}) {
2763
+ return N.t(i, t);
2712
2764
  }
2713
- function Ga(i, t, e = {}) {
2714
- return O.n(i, t, e);
2765
+ function to(i, t, e = {}) {
2766
+ return N.n(i, t, e);
2715
2767
  }
2716
- function Za(i) {
2717
- return O.setLocale(i);
2768
+ function eo(i) {
2769
+ return N.setLocale(i);
2718
2770
  }
2719
- function Qa() {
2720
- return O.getLocale();
2771
+ function so() {
2772
+ return N.getLocale();
2721
2773
  }
2722
- function to(i, t = {}) {
2723
- return O.formatDate(i, t);
2774
+ function io(i, t = {}) {
2775
+ return N.formatDate(i, t);
2724
2776
  }
2725
- function eo(i, t = {}) {
2726
- return O.formatNumber(i, t);
2777
+ function no(i, t = {}) {
2778
+ return N.formatNumber(i, t);
2727
2779
  }
2728
- function so(i, t, e = {}) {
2729
- return O.formatCurrency(i, t, e);
2780
+ function ro(i, t, e = {}) {
2781
+ return N.formatCurrency(i, t, e);
2730
2782
  }
2731
- class gr {
2783
+ class br {
2732
2784
  constructor() {
2733
2785
  this._listeners = /* @__PURE__ */ new Map(), this._scopeListeners = /* @__PURE__ */ new Map();
2734
2786
  }
@@ -2858,39 +2910,41 @@ class gr {
2858
2910
  this._listeners.clear(), this._scopeListeners.clear();
2859
2911
  }
2860
2912
  }
2861
- const H = new gr();
2862
- function io(i, t, e, s) {
2913
+ const H = new br();
2914
+ function ao(i, t, e, s) {
2863
2915
  return H.on(i, t, e, s);
2864
2916
  }
2865
- function no(i, t, e, s) {
2917
+ function oo(i, t, e, s) {
2866
2918
  return H.once(i, t, e, s);
2867
2919
  }
2868
- function ro(i, t, e) {
2920
+ function lo(i, t, e) {
2869
2921
  H.off(i, t, e);
2870
2922
  }
2871
- function ao(i, t, e) {
2923
+ function co(i, t, e) {
2872
2924
  return H.emit(i, t, e);
2873
2925
  }
2874
- function oo(i, t) {
2926
+ function ho(i, t) {
2875
2927
  return H.emitGlobal(i, t);
2876
2928
  }
2877
- function lo(i) {
2929
+ function uo(i) {
2878
2930
  H.offByScope(i);
2879
2931
  }
2880
- function co(i, t) {
2932
+ function po(i, t) {
2881
2933
  H.offAll(i, t);
2882
2934
  }
2883
- function ho(i, t) {
2935
+ function fo(i, t) {
2884
2936
  return H.getListenerCount(i, t);
2885
2937
  }
2886
- class _r {
2938
+ class xr {
2887
2939
  constructor(t, e = {}) {
2888
- this.element = t, this.trigger = t.querySelector(".ds-dropdown__trigger"), this.menu = t.querySelector(".ds-dropdown__menu"), this.triggerText = this.trigger ? this.trigger.querySelector("span") : null, this.scope = `dropdown-${Math.random().toString(36).substr(2, 9)}`, this.triggerMode = e.trigger || t.getAttribute("data-dropdown-trigger") || "click", this.hoverDelay = e.hoverDelay || parseInt(t.getAttribute("data-dropdown-hover-delay")) || 150, this.disabled = e.disabled || t.hasAttribute("data-dropdown-disabled"), this.keyboardNav = e.keyboardNav !== !1, this.autoPosition = e.autoPosition !== !1, this.onSelect = e.onSelect || null, this.onShow = e.onShow || null, this.onHide = e.onHide || null, this.isOpen = !1, this.focusIndex = -1, this._hoverTimer = null, this._hoverLeaveTimer = null, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._itemClickHandler = null, this._keydownHandler = null, this._mouseenterHandler = null, this._mouseleaveHandler = null, this._triggerMouseenterHandler = null, this._triggerMouseleaveHandler = null, this._triggerKeydownHandler = null;
2940
+ this.element = t, this.trigger = t.querySelector(".ds-dropdown__trigger"), this.menu = t.querySelector(".ds-dropdown__menu"), this.triggerText = this.trigger ? this.trigger.querySelector("span") : null, this.scope = `dropdown-${Math.random().toString(36).substr(2, 9)}`;
2941
+ const s = X();
2942
+ this.triggerMode = e.trigger || t.getAttribute("data-dropdown-trigger") || "click", this.hoverDelay = e.hoverDelay || parseInt(t.getAttribute("data-dropdown-hover-delay")) || 150, this.disabled = e.disabled || t.hasAttribute("data-dropdown-disabled"), this.keyboardNav = e.keyboardNav !== !1, this.autoPosition = e.autoPosition !== !1, this.closeOnClick = e.closeOnClick !== void 0 ? e.closeOnClick : s.dropdown?.closeOnClick !== void 0 ? s.dropdown.closeOnClick : !0, this.appendToBody = e.appendToBody !== !1, this.onSelect = e.onSelect || null, this.onShow = e.onShow || null, this.onHide = e.onHide || null, this.isOpen = !1, this.focusIndex = -1, this._hoverTimer = null, this._hoverLeaveTimer = null, this._originalParent = null, this._originalPosition = null, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._itemClickHandler = null, this._keydownHandler = null, this._mouseenterHandler = null, this._mouseleaveHandler = null, this._triggerMouseenterHandler = null, this._triggerMouseleaveHandler = null, this._triggerKeydownHandler = null;
2889
2943
  }
2890
2944
  init() {
2891
2945
  !this.trigger || !this.menu || this.element.__kupolaInitialized || (this._itemClickHandler = (t) => {
2892
2946
  const e = t.currentTarget;
2893
- e.classList.contains("is-disabled") || e.classList.contains("ds-dropdown__divider") || (this.triggerText && !e.hasAttribute("data-no-update-trigger") && (this.triggerText.textContent = e.textContent.trim()), this.onSelect && this.onSelect({ item: e, value: e.getAttribute("data-value"), text: e.textContent.trim() }), this.hideMenu(), this.trigger.focus());
2947
+ e.classList.contains("is-disabled") || e.classList.contains("ds-dropdown__divider") || (this.triggerText && !e.hasAttribute("data-no-update-trigger") && (this.triggerText.textContent = e.textContent.trim()), this.onSelect && this.onSelect({ item: e, value: e.getAttribute("data-value"), text: e.textContent.trim() }), this.closeOnClick && (this.hideMenu(), this.trigger.focus()));
2894
2948
  }, this._bindMenuItems(), this._triggerClickHandler = (t) => {
2895
2949
  t.stopPropagation(), !this.disabled && this.toggleMenu();
2896
2950
  }, this._triggerMouseenterHandler = () => {
@@ -2902,7 +2956,8 @@ class _r {
2902
2956
  }, this._mouseleaveHandler = () => {
2903
2957
  this.triggerMode === "hover" && (this._hoverLeaveTimer = setTimeout(() => this.hideMenu(), this.hoverDelay));
2904
2958
  }, this._keydownHandler = (t) => {
2905
- if (!this.isOpen || this.disabled) return;
2959
+ if (!this.isOpen || this.disabled)
2960
+ return;
2906
2961
  const e = this._getNavigableItems();
2907
2962
  if (e.length)
2908
2963
  switch (t.key) {
@@ -2929,7 +2984,7 @@ class _r {
2929
2984
  }, this.triggerMode === "hover" ? (this.trigger.addEventListener("mouseenter", this._triggerMouseenterHandler), this.trigger.addEventListener("mouseleave", this._triggerMouseleaveHandler), this.menu.addEventListener("mouseenter", this._mouseenterHandler), this.menu.addEventListener("mouseleave", this._mouseleaveHandler)) : this.trigger.addEventListener("click", this._triggerClickHandler), this._triggerKeydownHandler = (t) => {
2930
2985
  this.disabled || (t.key === "Enter" || t.key === " " || t.key === "ArrowDown") && (t.preventDefault(), this.showMenu());
2931
2986
  }, this.trigger.addEventListener("keydown", this._triggerKeydownHandler), document.addEventListener("keydown", this._keydownHandler), this._documentClickHandler = (t) => {
2932
- this.element.contains(t.target) || this.hideMenu();
2987
+ !this.element.contains(t.target) && !this.menu.contains(t.target) && this.hideMenu();
2933
2988
  }, this._documentClickListener = H.on(document, "click", this._documentClickHandler, { scope: this.scope }), this.menu.style.display = "none", this.element.__kupolaInitialized = !0);
2934
2989
  }
2935
2990
  _bindMenuItems() {
@@ -2944,17 +2999,37 @@ class _r {
2944
2999
  t.forEach((e) => e.classList.remove("is-focused")), t[this.focusIndex] && (t[this.focusIndex].classList.add("is-focused"), t[this.focusIndex].scrollIntoView({ block: "nearest" }));
2945
3000
  }
2946
3001
  _calculatePosition() {
2947
- if (!this.autoPosition) return;
3002
+ if (!this.autoPosition)
3003
+ return;
2948
3004
  const t = this.element.getBoundingClientRect(), e = this.menu.getBoundingClientRect(), s = window.innerHeight, n = window.innerWidth;
2949
- this.menu.classList.remove("ds-dropdown--top", "ds-dropdown--right", "ds-dropdown--dropup");
2950
- const r = s - t.bottom, a = t.top;
2951
- r < e.height && a > r ? (this.menu.classList.add("ds-dropdown--dropup"), this.menu.style.top = "auto", this.menu.style.bottom = "100%", this.menu.style.marginBottom = "4px") : (this.menu.style.top = "100%", this.menu.style.bottom = "auto", this.menu.style.marginBottom = "0"), t.left + e.width > n ? (this.menu.style.left = "auto", this.menu.style.right = "0") : (this.menu.style.left = "0", this.menu.style.right = "auto");
3005
+ if (this.menu.classList.remove("ds-dropdown--top", "ds-dropdown--right", "ds-dropdown--dropup"), this.appendToBody) {
3006
+ this.menu.style.width = `${Math.max(t.width, e.width)}px`;
3007
+ const r = s - t.bottom, a = t.top;
3008
+ r < e.height && a > r ? (this.menu.style.top = `${t.top - e.height - 4}px`, this.menu.style.bottom = "auto") : (this.menu.style.top = `${t.bottom + 4}px`, this.menu.style.bottom = "auto"), t.left + e.width > n ? (this.menu.style.left = `${t.right - Math.max(t.width, e.width)}px`, this.menu.style.right = "auto") : (this.menu.style.left = `${t.left}px`, this.menu.style.right = "auto");
3009
+ } else {
3010
+ const r = s - t.bottom, a = t.top;
3011
+ r < e.height && a > r ? (this.menu.classList.add("ds-dropdown--dropup"), this.menu.style.top = "auto", this.menu.style.bottom = "100%", this.menu.style.marginBottom = "4px") : (this.menu.style.top = "100%", this.menu.style.bottom = "auto", this.menu.style.marginBottom = "0"), t.left + e.width > n ? (this.menu.style.left = "auto", this.menu.style.right = "0") : (this.menu.style.left = "0", this.menu.style.right = "auto");
3012
+ }
2952
3013
  }
2953
3014
  showMenu() {
2954
- this.disabled || this.isOpen || (this.isOpen = !0, this.focusIndex = -1, this.menu.style.display = "block", this.element.classList.add("is-open"), this._calculatePosition(), this.onShow && this.onShow(), this.element.dispatchEvent(new CustomEvent("kupola:dropdown-show", { bubbles: !0 })));
3015
+ this.disabled || this.isOpen || (this.isOpen = !0, this.focusIndex = -1, this.element.classList.add("is-open"), this.appendToBody && (this._appendMenuToBody(), this._addScrollListener()), this.menu.style.display = "block", this._calculatePosition(), this.onShow && this.onShow(), this.element.dispatchEvent(new CustomEvent("kupola:dropdown-show", { bubbles: !0 })));
2955
3016
  }
2956
3017
  hideMenu() {
2957
- this.isOpen && (this.isOpen = !1, this.menu.style.display = "none", this.element.classList.remove("is-open"), this.menu.querySelectorAll(".ds-dropdown__item").forEach((t) => t.classList.remove("is-focused")), this.onHide && this.onHide(), this.element.dispatchEvent(new CustomEvent("kupola:dropdown-hide", { bubbles: !0 })));
3018
+ this.isOpen && (this.isOpen = !1, this.menu.style.display = "none", this.element.classList.remove("is-open"), this.appendToBody && (this._restoreMenuFromBody(), this._removeScrollListener()), this.menu.querySelectorAll(".ds-dropdown__item").forEach((t) => t.classList.remove("is-focused")), this.onHide && this.onHide(), this.element.dispatchEvent(new CustomEvent("kupola:dropdown-hide", { bubbles: !0 })));
3019
+ }
3020
+ _appendMenuToBody() {
3021
+ this.menu && (this._originalParent = this.menu.parentNode, this._originalPosition = this.menu.style.position, this._originalTop = this.menu.style.top, this._originalLeft = this.menu.style.left, this._originalRight = this.menu.style.right, this._originalBottom = this.menu.style.bottom, this._originalMarginBottom = this.menu.style.marginBottom, this._originalWidth = this.menu.style.width, this.menu.style.position = "fixed", this.menu.style.zIndex = "9999", document.body.appendChild(this.menu));
3022
+ }
3023
+ _restoreMenuFromBody() {
3024
+ !this.menu || !this._originalParent || (this._originalParent.appendChild(this.menu), this.menu.style.position = this._originalPosition || "", this.menu.style.top = this._originalTop || "", this.menu.style.left = this._originalLeft || "", this.menu.style.right = this._originalRight || "", this.menu.style.bottom = this._originalBottom || "", this.menu.style.marginBottom = this._originalMarginBottom || "", this.menu.style.width = this._originalWidth || "", this.menu.style.zIndex = "", this._originalParent = null);
3025
+ }
3026
+ _addScrollListener() {
3027
+ this._scrollHandler = () => {
3028
+ this.hideMenu();
3029
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3030
+ }
3031
+ _removeScrollListener() {
3032
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
2958
3033
  }
2959
3034
  toggleMenu() {
2960
3035
  this.isOpen ? this.hideMenu() : this.showMenu();
@@ -2982,30 +3057,30 @@ class _r {
2982
3057
  destroy() {
2983
3058
  this.element.__kupolaInitialized && (clearTimeout(this._hoverTimer), clearTimeout(this._hoverLeaveTimer), this.trigger && (this._triggerClickHandler && this.trigger.removeEventListener("click", this._triggerClickHandler), this._triggerMouseenterHandler && this.trigger.removeEventListener("mouseenter", this._triggerMouseenterHandler), this._triggerMouseleaveHandler && this.trigger.removeEventListener("mouseleave", this._triggerMouseleaveHandler), this._triggerKeydownHandler && this.trigger.removeEventListener("keydown", this._triggerKeydownHandler)), this.menu && (this.menu.querySelectorAll(".ds-dropdown__item").forEach((t) => {
2984
3059
  t._dropdownItemClickHandler && t.removeEventListener("click", t._dropdownItemClickHandler);
2985
- }), this._mouseenterHandler && this.menu.removeEventListener("mouseenter", this._mouseenterHandler), this._mouseleaveHandler && this.menu.removeEventListener("mouseleave", this._mouseleaveHandler)), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._itemClickHandler = null, this._keydownHandler = null, this._mouseenterHandler = null, this._mouseleaveHandler = null, this._triggerMouseenterHandler = null, this._triggerMouseleaveHandler = null, this._triggerKeydownHandler = null, this.element.__kupolaInitialized = !1);
3060
+ }), this._mouseenterHandler && this.menu.removeEventListener("mouseenter", this._mouseenterHandler), this._mouseleaveHandler && this.menu.removeEventListener("mouseleave", this._mouseleaveHandler)), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this.appendToBody && this._originalParent && this._restoreMenuFromBody(), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._itemClickHandler = null, this._keydownHandler = null, this._mouseenterHandler = null, this._mouseleaveHandler = null, this._triggerMouseenterHandler = null, this._triggerMouseleaveHandler = null, this._triggerKeydownHandler = null, this.element.__kupolaInitialized = !1);
2986
3061
  }
2987
3062
  }
2988
- function Xt(i, t) {
2989
- const e = new _r(i, t);
3063
+ function jt(i, t) {
3064
+ const e = new xr(i, t);
2990
3065
  e.init(), i._kupolaDropdown = e;
2991
3066
  }
2992
- function uo(i = document) {
3067
+ function mo(i = document) {
2993
3068
  i.querySelectorAll(".ds-dropdown").forEach((t) => {
2994
- Xt(t);
3069
+ jt(t);
2995
3070
  });
2996
3071
  }
2997
- function jt(i) {
3072
+ function Jt(i) {
2998
3073
  i._kupolaDropdown && (i._kupolaDropdown.destroy(), i._kupolaDropdown = null);
2999
3074
  }
3000
- function po() {
3075
+ function go() {
3001
3076
  document.querySelectorAll(".ds-dropdown").forEach((i) => {
3002
- jt(i);
3077
+ Jt(i);
3003
3078
  });
3004
3079
  }
3005
- E.register("dropdown", Xt, jt);
3006
- class yr {
3080
+ E.register("dropdown", jt, Jt);
3081
+ class Er {
3007
3082
  constructor(t, e = {}) {
3008
- this.element = t, this.trigger = t.querySelector(".ds-select__trigger"), this.valueEl = t.querySelector(".ds-select__value") || t.querySelector(".ds-select__trigger span"), this.optionsEl = t.querySelector(".ds-select__options") || t.querySelector(".ds-select__menu"), this.nativeSelect = t.querySelector("select"), this.icon = t.querySelector(".ds-select__icon"), this.scope = `select-${Math.random().toString(36).substr(2, 9)}`, this.multiple = e.multiple || t.hasAttribute("data-select-multiple"), this.searchable = e.searchable || t.hasAttribute("data-select-search"), this.clearable = e.clearable || t.hasAttribute("data-select-clear"), this.placeholder = e.placeholder || t.getAttribute("data-select-placeholder") || "", this.disabled = e.disabled || t.hasAttribute("data-select-disabled"), this.maxSelection = e.maxSelection || parseInt(t.getAttribute("data-select-max")) || 1 / 0, this.remoteMethod = e.remoteMethod || null, this.onChange = e.onChange || null, this.isOpen = !1, this.selectedValues = /* @__PURE__ */ new Set(), this.allOptions = [], this.filteredOptions = [], this.focusIndex = -1, this.searchInput = null, this.clearBtn = null, this.tagsWrap = null, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._optionClickHandler = null, this._keydownHandler = null;
3083
+ this.element = t, this.trigger = t.querySelector(".ds-select__trigger"), this.valueEl = t.querySelector(".ds-select__value") || t.querySelector(".ds-select__trigger span"), this.optionsEl = t.querySelector(".ds-select__options") || t.querySelector(".ds-select__menu"), this.nativeSelect = t.querySelector("select"), this.icon = t.querySelector(".ds-select__icon"), this.scope = `select-${Math.random().toString(36).substr(2, 9)}`, this.multiple = e.multiple || t.hasAttribute("data-select-multiple"), this.searchable = e.searchable || t.hasAttribute("data-select-search"), this.clearable = e.clearable || t.hasAttribute("data-select-clear"), this.placeholder = e.placeholder || t.getAttribute("data-select-placeholder") || "", this.disabled = e.disabled || t.hasAttribute("data-select-disabled"), this.maxSelection = e.maxSelection || parseInt(t.getAttribute("data-select-max")) || 1 / 0, this.remoteMethod = e.remoteMethod || null, this.onChange = e.onChange || null, this.appendToBody = e.appendToBody !== !1, this.isOpen = !1, this.selectedValues = /* @__PURE__ */ new Set(), this.allOptions = [], this.filteredOptions = [], this.focusIndex = -1, this.searchInput = null, this.clearBtn = null, this.tagsWrap = null, this._originalParent = null, this._originalPosition = null, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._optionClickHandler = null, this._keydownHandler = null;
3009
3084
  }
3010
3085
  init() {
3011
3086
  !this.trigger || !this.optionsEl || this.element.__kupolaInitialized || (this._collectOptions(), this.searchable && this._createSearchInput(), this.clearable && this._createClearButton(), this.multiple && this._createTagsWrap(), this.placeholder && this.valueEl && (this.valueEl.setAttribute("data-placeholder", this.placeholder), this.selectedValues.size || (this.valueEl.classList.add("ds-select__value--placeholder"), this.valueEl.textContent = this.placeholder)), this._optionClickHandler = (t) => {
@@ -3034,7 +3109,7 @@ class yr {
3034
3109
  break;
3035
3110
  }
3036
3111
  }, document.addEventListener("keydown", this._keydownHandler), this._documentClickHandler = (t) => {
3037
- this.element.contains(t.target) || this.hideOptions();
3112
+ !this.element.contains(t.target) && !this.optionsEl.contains(t.target) && this.hideOptions();
3038
3113
  }, this._documentClickListener = H.on(document, "click", this._documentClickHandler, { scope: this.scope }), this._restoreSelectedState(), this.optionsEl.style.display = "none", this.element.__kupolaInitialized = !0);
3039
3114
  }
3040
3115
  _collectOptions() {
@@ -3176,10 +3251,31 @@ class yr {
3176
3251
  this.valueEl && (this.valueEl.textContent = t || this.valueEl.textContent, this.valueEl.classList.remove("ds-select__value--placeholder"));
3177
3252
  }
3178
3253
  showOptions() {
3179
- this.disabled || this.isOpen || (this.isOpen = !0, this.optionsEl.style.display = "block", this.icon && (this.icon.style.transform = "rotate(180deg)"), this.element.classList.add("is-open"), this.focusIndex = -1, this.searchInput && setTimeout(() => this.searchInput.focus(), 50));
3254
+ this.disabled || this.isOpen || (this.isOpen = !0, this.element.classList.add("is-open"), this.icon && (this.icon.style.transform = "rotate(180deg)"), this.focusIndex = -1, this.appendToBody && (this._appendOptionsToBody(), this._addScrollListener()), this.optionsEl.style.display = "block", this._calculateOptionsPosition(), this.searchInput && setTimeout(() => this.searchInput.focus(), 50));
3180
3255
  }
3181
3256
  hideOptions() {
3182
- this.isOpen && (this.isOpen = !1, this.optionsEl.style.display = "none", this.icon && (this.icon.style.transform = "rotate(0deg)"), this.element.classList.remove("is-open"), this.searchInput && (this.searchInput.value = "", this._handleSearch()), this.optionsEl.querySelectorAll(".ds-select__option, .ds-select__item").forEach((t) => t.classList.remove("is-focused")));
3257
+ this.isOpen && (this.isOpen = !1, this.optionsEl.style.display = "none", this.icon && (this.icon.style.transform = "rotate(0deg)"), this.element.classList.remove("is-open"), this.appendToBody && (this._restoreOptionsFromBody(), this._removeScrollListener()), this.searchInput && (this.searchInput.value = "", this._handleSearch()), this.optionsEl.querySelectorAll(".ds-select__option, .ds-select__item").forEach((t) => t.classList.remove("is-focused")));
3258
+ }
3259
+ _addScrollListener() {
3260
+ this._scrollHandler = () => {
3261
+ this.hideOptions();
3262
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3263
+ }
3264
+ _removeScrollListener() {
3265
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
3266
+ }
3267
+ _appendOptionsToBody() {
3268
+ this.optionsEl && (this._originalParent = this.optionsEl.parentNode, this._originalPosition = this.optionsEl.style.position, this._originalTop = this.optionsEl.style.top, this._originalLeft = this.optionsEl.style.left, this._originalRight = this.optionsEl.style.right, this._originalWidth = this.optionsEl.style.width, this.optionsEl.style.position = "fixed", this.optionsEl.style.zIndex = "9999", document.body.appendChild(this.optionsEl));
3269
+ }
3270
+ _restoreOptionsFromBody() {
3271
+ !this.optionsEl || !this._originalParent || (this._originalParent.appendChild(this.optionsEl), this.optionsEl.style.position = this._originalPosition || "", this.optionsEl.style.top = this._originalTop || "", this.optionsEl.style.left = this._originalLeft || "", this.optionsEl.style.right = this._originalRight || "", this.optionsEl.style.width = this._originalWidth || "", this.optionsEl.style.zIndex = "", this._originalParent = null);
3272
+ }
3273
+ _calculateOptionsPosition() {
3274
+ if (!this.appendToBody || !this.optionsEl) return;
3275
+ const t = this.element.getBoundingClientRect(), e = this.optionsEl.getBoundingClientRect(), s = window.innerHeight, n = window.innerWidth;
3276
+ this.optionsEl.style.width = `${Math.max(t.width, e.width)}px`;
3277
+ const r = s - t.bottom, a = t.top;
3278
+ r < e.height && a > r ? this.optionsEl.style.top = `${t.top - e.height - 4}px` : this.optionsEl.style.top = `${t.bottom + 4}px`, t.left + e.width > n ? this.optionsEl.style.left = `${t.right - Math.max(t.width, e.width)}px` : this.optionsEl.style.left = `${t.left}px`;
3183
3279
  }
3184
3280
  toggleOptions() {
3185
3281
  this.isOpen ? this.hideOptions() : this.showOptions();
@@ -3213,25 +3309,27 @@ class yr {
3213
3309
  destroy() {
3214
3310
  this.element.__kupolaInitialized && (this.trigger && this._triggerClickHandler && this.trigger.removeEventListener("click", this._triggerClickHandler), this.optionsEl && this.optionsEl.querySelectorAll(".ds-select__option, .ds-select__item").forEach((t) => {
3215
3311
  t._selectOptionClickHandler && t.removeEventListener("click", t._selectOptionClickHandler);
3216
- }), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this.searchInput && this.searchInput.remove(), this.clearBtn && this.clearBtn.remove(), this.tagsWrap && this.tagsWrap.remove(), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._optionClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3312
+ }), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this.searchInput && this.searchInput.remove(), this.clearBtn && this.clearBtn.remove(), this.tagsWrap && this.tagsWrap.remove(), this.appendToBody && this._originalParent && this._restoreOptionsFromBody(), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._optionClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3217
3313
  }
3218
3314
  }
3219
- function Jt(i, t) {
3220
- const e = new yr(i, t);
3315
+ function Gt(i, t) {
3316
+ const e = new Er(i, t);
3221
3317
  e.init(), i._kupolaSelect = e;
3222
3318
  }
3223
- function fo(i = document) {
3319
+ function _o(i = document) {
3224
3320
  i.querySelectorAll(".ds-select").forEach((t) => {
3225
- Jt(t);
3321
+ Gt(t);
3226
3322
  });
3227
3323
  }
3228
- function vr(i) {
3324
+ function wr(i) {
3229
3325
  i._kupolaSelect && (i._kupolaSelect.destroy(), i._kupolaSelect = null);
3230
3326
  }
3231
- E.register("select", Jt, vr);
3232
- class br {
3327
+ E.register("select", Gt, wr);
3328
+ class kr {
3233
3329
  constructor(t, e = {}) {
3234
- this.element = t, this.input = t.querySelector("input"), this.endInput = t.querySelector(".ds-datepicker__end-input"), this.icon = t.querySelector(".ds-datepicker__icon"), this.calendarEl = t.querySelector(".ds-datepicker__calendar"), this.scope = `datepicker-${Math.random().toString(36).substr(2, 9)}`, this.format = e.format || t.getAttribute("data-datepicker-format") || "YYYY-MM-DD", this.range = e.range || t.hasAttribute("data-datepicker-range"), this.minDate = e.minDate || t.getAttribute("data-datepicker-min") || null, this.maxDate = e.maxDate || t.getAttribute("data-datepicker-max") || null, this.disabledDate = e.disabledDate || null, this.weekStart = e.weekStart || parseInt(t.getAttribute("data-datepicker-week-start")) || 0, this.placeholder = e.placeholder || t.getAttribute("data-datepicker-placeholder") || "", this.showToday = e.showToday !== !1, this.showWeekNumber = e.showWeekNumber || t.hasAttribute("data-datepicker-week-number"), this.onChange = e.onChange || null, this.months = e.months || ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], this.weekDays = e.weekDays || ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], this.todayText = e.todayText || "Today", this.clearText = e.clearText || "Clear", this.currentDate = /* @__PURE__ */ new Date(), this.viewMode = "days", this.selectedDate = null, this.rangeStart = null, this.rangeEnd = null, this.isSelectingEnd = !1, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._resizeHandler = null, this._resizeListener = null, this._keydownHandler = null;
3330
+ this.element = t, this.input = t.querySelector("input"), this.endInput = t.querySelector(".ds-datepicker__end-input"), this.icon = t.querySelector(".ds-datepicker__icon"), this.calendarEl = t.querySelector(".ds-datepicker__calendar"), this.scope = `datepicker-${Math.random().toString(36).substr(2, 9)}`;
3331
+ const s = X(), n = s.datepicker?.weekStart !== void 0 ? s.datepicker.weekStart : 1;
3332
+ this.format = e.format || t.getAttribute("data-datepicker-format") || "YYYY-MM-DD", this.range = e.range || t.hasAttribute("data-datepicker-range"), this.minDate = e.minDate || t.getAttribute("data-datepicker-min") || null, this.maxDate = e.maxDate || t.getAttribute("data-datepicker-max") || null, this.disabledDate = e.disabledDate || null, this.weekStart = e.weekStart !== void 0 ? e.weekStart : parseInt(t.getAttribute("data-datepicker-week-start")) || n, this.appendToBody = e.appendToBody !== !1, this.placeholder = e.placeholder || t.getAttribute("data-datepicker-placeholder") || "", this.showToday = e.showToday !== !1, this.showWeekNumber = e.showWeekNumber || t.hasAttribute("data-datepicker-week-number"), this.onChange = e.onChange || null, this.months = e.months || ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], this.weekDays = e.weekDays || ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], this.todayText = e.todayText || "Today", this.clearText = e.clearText || "Clear", this.currentDate = /* @__PURE__ */ new Date(), this.viewMode = "days", this.selectedDate = null, this.rangeStart = null, this.rangeEnd = null, this.isSelectingEnd = !1, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._documentClickHandler = null, this._originalParent = null, this._documentClickListener = null, this._resizeHandler = null, this._resizeListener = null, this._keydownHandler = null;
3235
3333
  }
3236
3334
  init() {
3237
3335
  if (this.calendarEl && !this.element.__kupolaInitialized) {
@@ -3249,23 +3347,27 @@ class br {
3249
3347
  }
3250
3348
  }
3251
3349
  _parseDate(t) {
3252
- if (!t) return null;
3350
+ if (!t)
3351
+ return null;
3253
3352
  const e = t.split("-");
3254
3353
  return e.length === 3 ? new Date(parseInt(e[0]), parseInt(e[1]) - 1, parseInt(e[2])) : null;
3255
3354
  }
3256
3355
  _formatDate(t) {
3257
- if (!t) return "";
3356
+ if (!t)
3357
+ return "";
3258
3358
  const e = t.getFullYear(), s = String(t.getMonth() + 1).padStart(2, "0"), n = String(t.getDate()).padStart(2, "0");
3259
3359
  return this.format.replace("YYYY", e).replace("MM", s).replace("DD", n);
3260
3360
  }
3261
3361
  _isDateDisabled(t) {
3262
3362
  if (this.minDate) {
3263
3363
  const e = typeof this.minDate == "string" ? this._parseDate(this.minDate) : this.minDate;
3264
- if (t < e) return !0;
3364
+ if (t < e)
3365
+ return !0;
3265
3366
  }
3266
3367
  if (this.maxDate) {
3267
3368
  const e = typeof this.maxDate == "string" ? this._parseDate(this.maxDate) : this.maxDate;
3268
- if (t > e) return !0;
3369
+ if (t > e)
3370
+ return !0;
3269
3371
  }
3270
3372
  return this.disabledDate ? this.disabledDate(t) : !1;
3271
3373
  }
@@ -3277,30 +3379,46 @@ class br {
3277
3379
  return !t || !e ? !1 : t.getFullYear() === e.getFullYear() && t.getMonth() === e.getMonth() && t.getDate() === e.getDate();
3278
3380
  }
3279
3381
  _isInRange(t) {
3280
- if (!this.range || !this.rangeStart || !this.rangeEnd) return !1;
3382
+ if (!this.range || !this.rangeStart || !this.rangeEnd)
3383
+ return !1;
3281
3384
  const e = t.getTime(), s = Math.min(this.rangeStart.getTime(), this.rangeEnd.getTime()), n = Math.max(this.rangeStart.getTime(), this.rangeEnd.getTime());
3282
3385
  return e >= s && e <= n;
3283
3386
  }
3284
3387
  calculatePosition() {
3285
3388
  const t = this.element.getBoundingClientRect(), e = this.calendarEl.getBoundingClientRect(), n = window.innerHeight - t.bottom, r = t.top, a = e.height || 320;
3286
- n >= a ? (this.calendarEl.style.top = "calc(100% + 4px)", this.calendarEl.style.bottom = "auto") : r >= a ? (this.calendarEl.style.top = "auto", this.calendarEl.style.bottom = "calc(100% + 4px)") : (this.calendarEl.style.top = "calc(100% + 4px)", this.calendarEl.style.bottom = "auto");
3389
+ this.appendToBody ? (this.calendarEl.style.left = `${t.left}px`, n >= a ? (this.calendarEl.style.top = `${t.bottom + 4}px`, this.calendarEl.style.bottom = "auto") : r >= a ? (this.calendarEl.style.top = `${t.top - a - 4}px`, this.calendarEl.style.bottom = "auto") : (this.calendarEl.style.top = `${t.bottom + 4}px`, this.calendarEl.style.bottom = "auto")) : n >= a ? (this.calendarEl.style.top = "calc(100% + 4px)", this.calendarEl.style.bottom = "auto") : r >= a ? (this.calendarEl.style.top = "auto", this.calendarEl.style.bottom = "calc(100% + 4px)") : (this.calendarEl.style.top = "calc(100% + 4px)", this.calendarEl.style.bottom = "auto");
3287
3390
  }
3288
3391
  toggleCalendar(t) {
3289
3392
  t.preventDefault(), t.stopPropagation();
3290
3393
  const e = this.calendarEl.style.display === "block";
3291
3394
  document.querySelectorAll(".ds-datepicker__calendar").forEach((s) => {
3292
3395
  s !== this.calendarEl && (s.style.display = "none", s.setAttribute("hidden", ""));
3293
- }), e || (this.calendarEl.style.display = "block", this.calendarEl.removeAttribute("hidden"), this.calculatePosition());
3396
+ }), e || (this.appendToBody && (this._appendCalendarToBody(), this._addScrollListener()), this.calendarEl.style.display = "block", this.calendarEl.removeAttribute("hidden"), this.calculatePosition());
3294
3397
  }
3295
3398
  hideCalendar(t) {
3296
- this.element.contains(t.target) || (this.calendarEl.style.display = "none", this.calendarEl.setAttribute("hidden", ""), this.viewMode = "days");
3399
+ !this.element.contains(t.target) && !this.calendarEl.contains(t.target) && (this.calendarEl.style.display = "none", this.calendarEl.setAttribute("hidden", ""), this.viewMode = "days", this.appendToBody && (this._restoreCalendarFromBody(), this._removeScrollListener()));
3400
+ }
3401
+ _addScrollListener() {
3402
+ this._scrollHandler = () => {
3403
+ this.hideCalendar({ target: document });
3404
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3405
+ }
3406
+ _removeScrollListener() {
3407
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
3408
+ }
3409
+ _appendCalendarToBody() {
3410
+ this.calendarEl && (this._originalParent = this.calendarEl.parentNode, this._originalPosition = this.calendarEl.style.position, this._originalTop = this.calendarEl.style.top, this._originalLeft = this.calendarEl.style.left, this._originalWidth = this.calendarEl.style.width, this.calendarEl.style.position = "fixed", this.calendarEl.style.zIndex = "9999", document.body.appendChild(this.calendarEl));
3411
+ }
3412
+ _restoreCalendarFromBody() {
3413
+ !this.calendarEl || !this._originalParent || (this._originalParent.appendChild(this.calendarEl), this.calendarEl.style.position = this._originalPosition || "", this.calendarEl.style.top = this._originalTop || "", this.calendarEl.style.left = this._originalLeft || "", this.calendarEl.style.width = this._originalWidth || "", this.calendarEl.style.zIndex = "", this._originalParent = null);
3297
3414
  }
3298
3415
  resizeHandler() {
3299
3416
  this.calendarEl.style.display === "block" && this.calculatePosition();
3300
3417
  }
3301
3418
  _renderCalendar() {
3302
3419
  const t = this.calendarEl;
3303
- if (!t) return;
3420
+ if (!t)
3421
+ return;
3304
3422
  if (t.querySelectorAll(".ds-datepicker__day").forEach((p) => {
3305
3423
  p._dayClickHandler && p.removeEventListener("click", p._dayClickHandler);
3306
3424
  }), this.viewMode === "years") {
@@ -3464,23 +3582,23 @@ class br {
3464
3582
  destroy() {
3465
3583
  this.element.__kupolaInitialized && (this.icon && this._iconClickHandler && this.icon.removeEventListener("click", this._iconClickHandler), this.input && this._inputClickHandler && this.input.removeEventListener("click", this._inputClickHandler), this.endInput && this._endInputClickHandler && this.endInput.removeEventListener("click", this._endInputClickHandler), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this._resizeListener && this._resizeListener.unsubscribe ? this._resizeListener.unsubscribe() : this._resizeHandler && window.removeEventListener("resize", this._resizeHandler), this.calendarEl && this.calendarEl.querySelectorAll(".ds-datepicker__day").forEach((t) => {
3466
3584
  t._dayClickHandler && t.removeEventListener("click", t._dayClickHandler);
3467
- }), this._documentClickHandler = null, this._resizeHandler = null, this._documentClickListener = null, this._resizeListener = null, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3585
+ }), this.appendToBody && this._originalParent && this._restoreCalendarFromBody(), this._documentClickHandler = null, this._resizeHandler = null, this._documentClickListener = null, this._resizeListener = null, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3468
3586
  }
3469
3587
  }
3470
- function Gt(i, t) {
3471
- const e = new br(i, t);
3588
+ function Zt(i, t) {
3589
+ const e = new kr(i, t);
3472
3590
  e.init(), i._kupolaDatepicker = e;
3473
3591
  }
3474
- function mo(i = document) {
3592
+ function yo(i = document) {
3475
3593
  i.querySelectorAll(".ds-datepicker").forEach((t) => {
3476
- Gt(t);
3594
+ Zt(t);
3477
3595
  });
3478
3596
  }
3479
- function xr(i) {
3597
+ function Cr(i) {
3480
3598
  i._kupolaDatepicker && (i._kupolaDatepicker.destroy(), i._kupolaDatepicker = null);
3481
3599
  }
3482
- E.register("datepicker", Gt, xr);
3483
- class Er {
3600
+ E.register("datepicker", Zt, Cr);
3601
+ class Sr {
3484
3602
  constructor(t, e = {}) {
3485
3603
  this.element = t, this.input = t.querySelector("input"), this.inputWrap = t.querySelector(".ds-timepicker__input-wrap"), this.panelEl = null, this.scope = `timepicker-${Math.random().toString(36).substr(2, 9)}`, this.showSeconds = e.showSeconds || t.hasAttribute("data-timepicker-seconds"), this.use12Hour = e.use12Hour || t.hasAttribute("data-timepicker-12h"), this.hourStep = e.hourStep || parseInt(t.getAttribute("data-timepicker-hour-step")) || 1, this.minuteStep = e.minuteStep || parseInt(t.getAttribute("data-timepicker-minute-step")) || 5, this.secondStep = e.secondStep || parseInt(t.getAttribute("data-timepicker-second-step")) || 5, this.minTime = e.minTime || t.getAttribute("data-timepicker-min") || null, this.maxTime = e.maxTime || t.getAttribute("data-timepicker-max") || null, this.disabledTime = e.disabledTime || null, this.placeholder = e.placeholder || t.getAttribute("data-timepicker-placeholder") || "", this.clearable = e.clearable || t.hasAttribute("data-timepicker-clear"), this.onChange = e.onChange || null, this.selectedHour = 12, this.selectedMinute = 0, this.selectedSecond = 0, this.isPM = !1, this._inputWrapClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._resizeHandler = null, this._resizeListener = null, this._keydownHandler = null;
3486
3604
  }
@@ -3662,20 +3780,20 @@ class Er {
3662
3780
  this.element.__kupolaInitialized && (this.inputWrap && this._inputWrapClickHandler && this.inputWrap.removeEventListener("click", this._inputWrapClickHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this._resizeListener && this._resizeListener.unsubscribe ? this._resizeListener.unsubscribe() : this._resizeHandler && window.removeEventListener("resize", this._resizeHandler), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this.panelEl && (this.panelEl.remove(), this.panelEl = null), this._inputWrapClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._resizeHandler = null, this._resizeListener = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3663
3781
  }
3664
3782
  }
3665
- function Zt(i, t) {
3666
- const e = new Er(i, t);
3783
+ function Qt(i, t) {
3784
+ const e = new Sr(i, t);
3667
3785
  e.init(), i._kupolaTimepicker = e;
3668
3786
  }
3669
- function go(i = document) {
3787
+ function vo(i = document) {
3670
3788
  i.querySelectorAll(".ds-timepicker").forEach((t) => {
3671
- Zt(t);
3789
+ Qt(t);
3672
3790
  });
3673
3791
  }
3674
- function kr(i) {
3792
+ function Lr(i) {
3675
3793
  i._kupolaTimepicker && (i._kupolaTimepicker.destroy(), i._kupolaTimepicker = null);
3676
3794
  }
3677
- E.register("timepicker", Zt, kr);
3678
- class wr {
3795
+ E.register("timepicker", Qt, Lr);
3796
+ class Dr {
3679
3797
  constructor(t, e = {}) {
3680
3798
  if (this.element = t, this.track = t.querySelector(".ds-slider__track"), this.fill = t.querySelector(".ds-slider__fill"), this.input = t.querySelector(".ds-slider__input"), this.valueEl = t.querySelector(".ds-slider__value"), this.range = e.range || t.hasAttribute("data-slider-range"), this.vertical = e.vertical || t.hasAttribute("data-slider-vertical"), this.disabled = e.disabled || t.hasAttribute("data-slider-disabled"), this.showTooltip = e.showTooltip !== !1, this.showMarks = e.marks || t.hasAttribute("data-slider-marks"), this.markStep = e.markStep || parseInt(t.getAttribute("data-slider-mark-step")) || 10, this.tooltipFormat = e.tooltipFormat || ((s) => s), this.onChange = e.onChange || null, this.onInput = e.onInput || null, this.inputEnd = t.querySelector(".ds-slider__input--end"), this.fillEnd = null, this.thumbStart = null, this.thumbEnd = null, this.tooltipStart = null, this.tooltipEnd = null, this.marksEl = null, this._listeners = [], this._isDragging = !1, this._activeThumb = null, !this.track || !this.fill)
3681
3799
  throw new Error("Slider: Missing required elements");
@@ -3823,26 +3941,26 @@ class wr {
3823
3941
  this.disabled = !0, this.element.classList.add("is-disabled");
3824
3942
  }
3825
3943
  }
3826
- function Qt(i, t) {
3944
+ function te(i, t) {
3827
3945
  if (!i.__kupolaInitialized)
3828
3946
  try {
3829
- const e = new wr(i, t);
3947
+ const e = new Dr(i, t);
3830
3948
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3831
3949
  } catch (e) {
3832
3950
  console.error("[Slider] Error initializing:", e);
3833
3951
  }
3834
3952
  }
3835
- function Cr(i) {
3953
+ function Hr(i) {
3836
3954
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3837
3955
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3838
3956
  }
3839
- function _o() {
3957
+ function bo() {
3840
3958
  document.querySelectorAll(".ds-slider").forEach((i) => {
3841
- Qt(i);
3959
+ te(i);
3842
3960
  });
3843
3961
  }
3844
- E.register("slider", Qt, Cr);
3845
- class Sr {
3962
+ E.register("slider", te, Hr);
3963
+ class Mr {
3846
3964
  constructor(t, e = {}) {
3847
3965
  this.element = t, this.track = t.querySelector(".ds-carousel__track"), this.items = t.querySelectorAll(".ds-carousel__item"), this.prevBtn = t.querySelector(".ds-carousel__prev"), this.nextBtn = t.querySelector(".ds-carousel__next"), this.indicators = t.querySelectorAll(".ds-carousel__indicator"), this.autoBtn = t.querySelector(".ds-carousel__auto"), this.mode = e.mode || t.getAttribute("data-carousel-mode") || "slide", this.vertical = e.vertical || t.hasAttribute("data-carousel-vertical"), this.autoPlay = e.autoPlay !== !1, this.interval = e.interval || parseInt(t.getAttribute("data-carousel-interval")) || 3e3, this.transitionDuration = e.transitionDuration || parseInt(t.getAttribute("data-carousel-duration")) || 500, this.loop = e.loop !== !1, this.pauseOnHover = e.pauseOnHover !== !1, this.swipe = e.swipe !== !1, this.swipeThreshold = e.swipeThreshold || 50, this.keyboardNav = e.keyboardNav || t.hasAttribute("data-carousel-keyboard"), this.onChange = e.onChange || null, this.currentIndex = 0, this.totalItems = this.items.length, this.autoPlayTimer = null, this.isAutoPlaying = !1, this.isTransitioning = !1, this.touchStartX = 0, this.touchStartY = 0, this.touchDeltaX = 0, this.touchDeltaY = 0, this.isSwiping = !1, this._mouseEnterHandler = () => {
3848
3966
  this.pauseOnHover && this.stopAutoPlay();
@@ -3923,22 +4041,22 @@ class Sr {
3923
4041
  }), this._touchStartHandler && this.element.removeEventListener("touchstart", this._touchStartHandler), this._touchMoveHandler && this.element.removeEventListener("touchmove", this._touchMoveHandler), this._touchEndHandler && this.element.removeEventListener("touchend", this._touchEndHandler), this._keydownHandler && this.element.removeEventListener("keydown", this._keydownHandler), this._prevClickHandler = null, this._nextClickHandler = null, this._autoClickHandler = null, this._indicatorClickHandlers = null;
3924
4042
  }
3925
4043
  }
3926
- function te(i, t) {
4044
+ function ee(i, t) {
3927
4045
  if (i.__kupolaInitialized) return;
3928
- const e = new Sr(i, t);
4046
+ const e = new Mr(i, t);
3929
4047
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3930
4048
  }
3931
- function yo(i = document) {
4049
+ function xo(i = document) {
3932
4050
  i.querySelectorAll(".ds-carousel").forEach((t) => {
3933
- te(t);
4051
+ ee(t);
3934
4052
  });
3935
4053
  }
3936
- function Lr(i) {
4054
+ function Tr(i) {
3937
4055
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3938
4056
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3939
4057
  }
3940
- E.register("carousel", te, Lr);
3941
- class Dr {
4058
+ E.register("carousel", ee, Tr);
4059
+ class Ir {
3942
4060
  constructor(t, e = {}) {
3943
4061
  this.element = t, this.mask = t.querySelector(".ds-drawer-mask"), this.drawerEl = t.querySelector(".ds-drawer"), this.placement = e.placement || t.getAttribute("data-drawer-placement") || "right", this.width = e.width || t.getAttribute("data-drawer-width") || "400px", this.height = e.height || t.getAttribute("data-drawer-height") || "400px", this.escClose = e.escClose !== !1, this.maskClosable = e.maskClosable !== !1, this.showMask = e.showMask !== !1, this.onOpen = e.onOpen || null, this.onClose = e.onClose || null, this.onBeforeClose = e.onBeforeClose || null, this._keydownHandler = null, this._bindEvents();
3944
4062
  }
@@ -3975,20 +4093,20 @@ class Dr {
3975
4093
  return this.drawerEl?.classList.contains("is-visible") || !1;
3976
4094
  }
3977
4095
  }
3978
- function rt(i, t) {
4096
+ function ot(i, t) {
3979
4097
  if (i.__kupolaInitialized) return;
3980
- const e = new Dr(i, t);
4098
+ const e = new Ir(i, t);
3981
4099
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3982
4100
  }
3983
- function Hr(i) {
4101
+ function Ar(i) {
3984
4102
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3985
4103
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3986
4104
  }
3987
- function vo() {
4105
+ function Eo() {
3988
4106
  document.querySelectorAll("[data-drawer]").forEach((i) => {
3989
4107
  i.addEventListener("click", () => {
3990
4108
  const t = i.getAttribute("data-drawer"), e = document.getElementById(t);
3991
- e && (rt(e, {
4109
+ e && (ot(e, {
3992
4110
  placement: i.getAttribute("data-drawer-placement") || "right",
3993
4111
  width: i.getAttribute("data-drawer-width"),
3994
4112
  height: i.getAttribute("data-drawer-height")
@@ -3996,16 +4114,18 @@ function vo() {
3996
4114
  });
3997
4115
  }), document.querySelectorAll(".ds-drawer-mask").forEach((i) => {
3998
4116
  const t = i.parentElement;
3999
- t && rt(t);
4117
+ t && ot(t);
4000
4118
  });
4001
4119
  }
4002
- E.register("drawer", rt, Hr);
4120
+ E.register("drawer", ot, Ar);
4003
4121
  class $ {
4004
4122
  constructor(t, e = {}) {
4005
- this.element = t, this.mask = t.querySelector(".ds-modal-mask"), this.modal = t.querySelector(".ds-modal"), this.closeBtn = t.querySelector(".ds-modal__close"), this.fullscreen = e.fullscreen || t.hasAttribute("data-modal-fullscreen"), this.closableOnMask = e.closableOnMask !== !1, this.escClose = e.escClose !== !1, this.width = e.width || t.getAttribute("data-modal-width") || "", this.center = e.center !== !1, this.onBeforeOpen = e.onBeforeOpen || null, this.onBeforeClose = e.onBeforeClose || null, this.onOpened = e.onOpened || null, this.onClosed = e.onClosed || null, this._isOpen = !1, this._keydownHandler = (s) => {
4006
- this.escClose && s.key === "Escape" && this.isVisible() && this.close();
4007
- }, this._closeBtnClickHandler = () => this.close(), this._maskClickHandler = (s) => {
4008
- this.closableOnMask && s.target === this.mask && this.close();
4123
+ this.element = t, this.mask = t.querySelector(".ds-modal-mask"), this.modal = t.querySelector(".ds-modal"), this.closeBtn = t.querySelector(".ds-modal__close");
4124
+ const s = X(), n = s.modal?.backdropClick !== void 0 ? s.modal.backdropClick : !0;
4125
+ this.fullscreen = e.fullscreen || t.hasAttribute("data-modal-fullscreen"), this.closableOnMask = e.closableOnMask !== void 0 ? e.closableOnMask : n, this.escClose = e.escClose !== !1, this.width = e.width || t.getAttribute("data-modal-width") || "", this.center = e.center !== !1, this.onBeforeOpen = e.onBeforeOpen || null, this.onBeforeClose = e.onBeforeClose || null, this.onOpened = e.onOpened || null, this.onClosed = e.onClosed || null, this._isOpen = !1, this._keydownHandler = (r) => {
4126
+ this.escClose && r.key === "Escape" && this.isVisible() && this.close();
4127
+ }, this._closeBtnClickHandler = () => this.close(), this._maskClickHandler = (r) => {
4128
+ this.closableOnMask && r.target === this.mask && this.close();
4009
4129
  }, this.init();
4010
4130
  }
4011
4131
  init() {
@@ -4034,7 +4154,7 @@ class $ {
4034
4154
  }
4035
4155
  }
4036
4156
  $._openCount = 0;
4037
- function ee(i = {}) {
4157
+ function se(i = {}) {
4038
4158
  const {
4039
4159
  title: t = "",
4040
4160
  content: e = "",
@@ -4054,7 +4174,7 @@ function ee(i = {}) {
4054
4174
  onOpen: y,
4055
4175
  onClose: _,
4056
4176
  footer: b = null,
4057
- size: x = cr().defaultSize
4177
+ size: x = X().defaultSize
4058
4178
  } = i, v = x === "sm" ? "ds-btn--sm" : x === "lg" ? "ds-btn--lg" : "", C = document.createElement("div");
4059
4179
  C.className = "ds-modal-container";
4060
4180
  let S = "";
@@ -4077,13 +4197,13 @@ function ee(i = {}) {
4077
4197
  </div>
4078
4198
  </div>
4079
4199
  `, document.body.appendChild(C);
4080
- const w = new $(C, { fullscreen: r, closableOnMask: f }), A = C.querySelector(".ds-modal__title");
4200
+ const k = new $(C, { fullscreen: r, closableOnMask: f }), A = C.querySelector(".ds-modal__title");
4081
4201
  A && (A.textContent = t);
4082
4202
  const z = C.querySelector(".ds-modal__body");
4083
4203
  z && (s ? z.innerHTML = e : z.textContent = e);
4084
- const D = C.querySelector("[data-modal-confirm]"), B = C.querySelector("[data-modal-cancel]");
4085
- let ct = !1;
4086
- const ht = async () => {
4204
+ const D = C.querySelector("[data-modal-confirm]"), q = C.querySelector("[data-modal-cancel]");
4205
+ let dt = !1;
4206
+ const ut = async () => {
4087
4207
  if (p) {
4088
4208
  D.disabled = !0, D.classList.add("is-loading");
4089
4209
  try {
@@ -4096,50 +4216,52 @@ function ee(i = {}) {
4096
4216
  return;
4097
4217
  }
4098
4218
  }
4099
- ct = !0, w.close();
4100
- }, dt = () => {
4101
- m && m(), w.close();
4219
+ dt = !0, k.close();
4220
+ }, pt = () => {
4221
+ m && m(), k.close();
4102
4222
  };
4103
- D && D.addEventListener("click", ht), B && B.addEventListener("click", dt);
4104
- const Ee = () => {
4223
+ D && D.addEventListener("click", ut), q && q.addEventListener("click", pt);
4224
+ const we = () => {
4105
4225
  setTimeout(() => {
4106
- D && D.removeEventListener("click", ht), B && B.removeEventListener("click", dt), w.destroy(), C.remove(), _ && _(ct);
4226
+ D && D.removeEventListener("click", ut), q && q.removeEventListener("click", pt), k.destroy(), C.remove(), _ && _(dt);
4107
4227
  }, 300);
4108
- }, ke = w.close.bind(w);
4109
- return w.close = () => {
4110
- ke(), Ee();
4111
- }, w.open(), y && setTimeout(() => y(), 50), w;
4228
+ }, ke = k.close.bind(k);
4229
+ return k.close = () => {
4230
+ ke(), we();
4231
+ }, k.open(), y && setTimeout(() => y(), 50), k;
4112
4232
  }
4113
- function bo(i) {
4114
- return typeof i == "string" && (i = { content: i }), ee({
4233
+ function wo(i) {
4234
+ return typeof i == "string" && (i = { content: i }), se({
4115
4235
  ...i,
4116
4236
  showCancel: !0,
4117
4237
  showConfirm: !0
4118
4238
  });
4119
4239
  }
4120
- function xo(i) {
4121
- return typeof i == "string" && (i = { content: i }), ee({
4240
+ function ko(i) {
4241
+ return typeof i == "string" && (i = { content: i }), se({
4122
4242
  ...i,
4123
4243
  showCancel: !1,
4124
4244
  showConfirm: !0
4125
4245
  });
4126
4246
  }
4127
- function se(i) {
4128
- if (i.__kupolaInitialized) return;
4247
+ function ie(i) {
4248
+ if (i.__kupolaInitialized)
4249
+ return;
4129
4250
  const t = new $(i);
4130
4251
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4131
4252
  }
4132
- function Mr(i) {
4133
- if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4253
+ function zr(i) {
4254
+ if (!i.__kupolaInitialized || !i.__kupolaInstance)
4255
+ return;
4134
4256
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4135
4257
  }
4136
- function Eo() {
4258
+ function Co() {
4137
4259
  document.querySelectorAll(".ds-modal-container").forEach((i) => {
4138
- se(i);
4260
+ ie(i);
4139
4261
  });
4140
4262
  }
4141
- E.register("modal", se, Mr);
4142
- class ko {
4263
+ E.register("modal", ie, zr);
4264
+ class So {
4143
4265
  static normal(t = {}) {
4144
4266
  return this._create({ type: "normal", ...t });
4145
4267
  }
@@ -4204,7 +4326,7 @@ class ko {
4204
4326
  return c.classList.add("is-visible"), document.body.style.overflow = "hidden", h && h.addEventListener("click", p), d && d.addEventListener("click", m), c.addEventListener("click", f), document.addEventListener("keydown", u), { close: y };
4205
4327
  }
4206
4328
  }
4207
- const wo = {
4329
+ const Lo = {
4208
4330
  normal: function(i) {
4209
4331
  this.show({ ...i, type: "normal" });
4210
4332
  },
@@ -4221,38 +4343,38 @@ const wo = {
4221
4343
  this.show({ ...i, type: "info" });
4222
4344
  },
4223
4345
  show: function(i) {
4224
- const { title: t, message: e, type: s = "normal", duration: n = 4e3 } = i, r = document.createElement("div");
4225
- r.className = `ds-notification__item ds-notification__item--${s}`;
4226
- const a = {
4346
+ const t = ur(), { title: e, message: s, type: n = "normal", duration: r = t.duration, position: a = t.position } = i, o = document.createElement("div");
4347
+ o.className = `ds-notification__item ds-notification__item--${n}`;
4348
+ const l = {
4227
4349
  normal: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>',
4228
4350
  success: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg>',
4229
4351
  error: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg>',
4230
4352
  warning: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>',
4231
4353
  info: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>'
4232
4354
  };
4233
- r.innerHTML = `
4234
- <div class="ds-notification__icon ds-notification__icon--${s}">${a[s]}</div>
4355
+ o.innerHTML = `
4356
+ <div class="ds-notification__icon ds-notification__icon--${n}">${l[n]}</div>
4235
4357
  <div class="ds-notification__content">
4236
- ${t ? '<div class="ds-notification__title"></div>' : ""}
4237
- ${e ? '<div class="ds-notification__message"></div>' : ""}
4358
+ ${e ? '<div class="ds-notification__title"></div>' : ""}
4359
+ ${s ? '<div class="ds-notification__message"></div>' : ""}
4238
4360
  </div>
4239
4361
  <button class="ds-notification__close">
4240
4362
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
4241
4363
  </button>
4242
- `, t && (r.querySelector(".ds-notification__title").textContent = t), e && (r.querySelector(".ds-notification__message").textContent = e);
4243
- let o = document.querySelector(".ds-notification");
4244
- o || (o = document.createElement("div"), o.className = "ds-notification", document.body.appendChild(o)), o.appendChild(r), setTimeout(() => {
4245
- r.classList.add("is-visible");
4246
- }, 10), r.querySelector(".ds-notification__close").addEventListener("click", () => {
4247
- r.classList.remove("is-visible"), r.classList.add("is-exiting"), setTimeout(() => r.remove(), 300);
4248
- }), n > 0 && setTimeout(() => {
4249
- r.classList.remove("is-visible"), r.classList.add("is-exiting"), setTimeout(() => r.remove(), 300);
4250
- }, n);
4364
+ `, e && (o.querySelector(".ds-notification__title").textContent = e), s && (o.querySelector(".ds-notification__message").textContent = s);
4365
+ let c = document.querySelector(".ds-notification");
4366
+ c || (c = document.createElement("div"), c.className = `ds-notification ds-notification--${a}`, document.body.appendChild(c)), c.appendChild(o), setTimeout(() => {
4367
+ o.classList.add("is-visible");
4368
+ }, 10), o.querySelector(".ds-notification__close").addEventListener("click", () => {
4369
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4370
+ }), r > 0 && setTimeout(() => {
4371
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4372
+ }, r);
4251
4373
  }
4252
4374
  };
4253
- function Co() {
4375
+ function Do() {
4254
4376
  }
4255
- const So = {
4377
+ const Ho = {
4256
4378
  normal: function(i, t = {}) {
4257
4379
  this.show(i, "normal", t);
4258
4380
  },
@@ -4269,33 +4391,39 @@ const So = {
4269
4391
  this.show(i, "info", t);
4270
4392
  },
4271
4393
  show: function(i, t = "normal", e = {}) {
4272
- const { duration: s = 3e3 } = e, n = document.createElement("div");
4273
- n.className = `ds-message__item ds-message__item--${t}`;
4274
- const r = {
4394
+ const s = dr(), { duration: n = s.duration, position: r = s.position } = e, a = s.maxCount || 5, o = document.createElement("div");
4395
+ o.className = `ds-message__item ds-message__item--${t}`;
4396
+ const l = {
4275
4397
  normal: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>',
4276
4398
  success: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg>',
4277
4399
  error: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg>',
4278
4400
  warning: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>',
4279
4401
  info: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>'
4280
4402
  };
4281
- n.innerHTML = `
4282
- <div class="ds-message__icon ds-message__icon--${t}">${r[t]}</div>
4403
+ o.innerHTML = `
4404
+ <div class="ds-message__icon ds-message__icon--${t}">${l[t]}</div>
4283
4405
  <div class="ds-message__content"></div>
4284
- `, n.querySelector(".ds-message__content").textContent = i;
4285
- let a = document.querySelector(".ds-message");
4286
- a || (a = document.createElement("div"), a.className = "ds-message", document.body.appendChild(a)), a.appendChild(n), setTimeout(() => {
4287
- n.classList.add("is-visible");
4288
- }, 10), s > 0 && setTimeout(() => {
4289
- n.classList.remove("is-visible"), n.classList.add("is-exiting"), setTimeout(() => n.remove(), 300);
4290
- }, s);
4406
+ `, o.querySelector(".ds-message__content").textContent = i;
4407
+ let c = document.querySelector(".ds-message");
4408
+ c || (c = document.createElement("div"), c.className = `ds-message ds-message--${r}`, document.body.appendChild(c));
4409
+ const h = c.querySelectorAll(".ds-message__item");
4410
+ if (h.length >= a) {
4411
+ const d = h[0];
4412
+ d.classList.remove("is-visible"), d.classList.add("is-exiting"), setTimeout(() => d.remove(), 300);
4413
+ }
4414
+ c.appendChild(o), setTimeout(() => {
4415
+ o.classList.add("is-visible");
4416
+ }, 10), n > 0 && setTimeout(() => {
4417
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4418
+ }, n);
4291
4419
  }
4292
4420
  };
4293
- function Lo() {
4421
+ function Mo() {
4294
4422
  }
4295
- function _t(i) {
4423
+ function vt(i) {
4296
4424
  return i ? i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;") : "";
4297
4425
  }
4298
- class Ir {
4426
+ class Pr {
4299
4427
  constructor(t) {
4300
4428
  this.element = t, this.dropzone = t.querySelector(".ds-fileupload__dropzone"), this.input = t.querySelector(".ds-fileupload__input"), this.list = t.querySelector(".ds-fileupload__list"), this.progress = t.querySelector(".ds-fileupload__preview"), this.files = [], this.maxSize = parseInt(t.getAttribute("data-max-size")) || 0, this.maxCount = parseInt(t.getAttribute("data-max-count")) || 0, this._listeners = [], this.init();
4301
4429
  }
@@ -4351,7 +4479,7 @@ class Ir {
4351
4479
  <div class="ds-fileupload__icon" style="width: 24px; height: 24px; border-radius: 4px;">
4352
4480
  ${s}
4353
4481
  </div>
4354
- <span class="ds-fileupload__filename">${this.truncateFilename(_t(t.name))}</span>
4482
+ <span class="ds-fileupload__filename">${this.truncateFilename(vt(t.name))}</span>
4355
4483
  <span class="ds-fileupload__size">${this.formatSize(t.size)}</span>
4356
4484
  <button class="ds-fileupload__remove" type="button" aria-label="Remove file">
4357
4485
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
@@ -4403,7 +4531,7 @@ class Ir {
4403
4531
  e.onload = (s) => {
4404
4532
  const n = document.createElement("div");
4405
4533
  n.className = "ds-fileupload__preview-item", n.innerHTML = `
4406
- <img src="${s.target.result}" alt="${_t(t.name)}">
4534
+ <img src="${s.target.result}" alt="${vt(t.name)}">
4407
4535
  <button class="ds-fileupload__preview-remove" type="button" aria-label="Remove preview">
4408
4536
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4409
4537
  <path d="M18 6L6 18"/>
@@ -4453,22 +4581,22 @@ class Ir {
4453
4581
  }), this._listeners = null, this.files = [], this.dropzone = null, this.input = null, this.list = null, this.progress = null, this.preview = null, this.element = null;
4454
4582
  }
4455
4583
  }
4456
- function ie(i) {
4584
+ function ne(i) {
4457
4585
  if (i.__kupolaInitialized) return;
4458
- const t = new Ir(i);
4586
+ const t = new Pr(i);
4459
4587
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4460
4588
  }
4461
- function Tr(i) {
4589
+ function $r(i) {
4462
4590
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4463
4591
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4464
4592
  }
4465
- function Do() {
4593
+ function To() {
4466
4594
  document.querySelectorAll(".ds-fileupload").forEach((i) => {
4467
- ie(i);
4595
+ ne(i);
4468
4596
  });
4469
4597
  }
4470
- E.register("fileupload", ie, Tr);
4471
- class Ar {
4598
+ E.register("fileupload", ne, $r);
4599
+ class Br {
4472
4600
  constructor(t, e = {}) {
4473
4601
  this.element = t, this.headers = [], this._listeners = [], this.accordion = e.accordion || t.hasAttribute("data-collapse-accordion"), this.animationDuration = e.animationDuration || parseInt(t.getAttribute("data-collapse-duration")) || 300, this.disabledItems = e.disabledItems || [], this.defaultExpanded = e.defaultExpanded || [], this._init();
4474
4602
  }
@@ -4550,22 +4678,22 @@ class Ar {
4550
4678
  this.headers[t] && (this.headers[t].isDisabled = !1, this.headers[t].item.classList.remove("is-disabled"));
4551
4679
  }
4552
4680
  }
4553
- function ne(i, t) {
4681
+ function re(i, t) {
4554
4682
  if (i.__kupolaInitialized) return;
4555
- const e = new Ar(i, t);
4683
+ const e = new Br(i, t);
4556
4684
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4557
4685
  }
4558
- function zr(i) {
4686
+ function qr(i) {
4559
4687
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4560
4688
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4561
4689
  }
4562
- function Ho() {
4690
+ function Io() {
4563
4691
  document.querySelectorAll(".ds-collapse").forEach((i) => {
4564
- ne(i);
4692
+ re(i);
4565
4693
  });
4566
4694
  }
4567
- E.register("collapse", ne, zr);
4568
- class Pr {
4695
+ E.register("collapse", re, qr);
4696
+ class Or {
4569
4697
  constructor(t, e = {}) {
4570
4698
  this.element = t, this.trigger = t.querySelector(".ds-color-picker__trigger"), this.panel = t.querySelector(".ds-color-picker__panel"), this.valueSpan = t.querySelector(".ds-color-picker__value"), this.customInput = t.querySelector(".ds-color-picker__input"), this.scope = `colorpicker-${Math.random().toString(36).substr(2, 9)}`, this.options = e, this.value = e.value || "#007bff", this.showAlpha = e.showAlpha !== !1, this.mode = e.mode || "hex", this.previousColors = e.previousColors || this._getStoredColors(), this.previousColorsLimit = e.previousColorsLimit || 12, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._colorClickHandler = null, this._inputInputHandler = null, this._alphaChangeHandler = null, this._modeChangeHandler = null, this._hueChangeHandler = null, this._saturationChangeHandler = null, this._valueChangeHandler = null, this.hue = 210, this.saturation = 100, this.brightness = 50, this.alpha = 100, this._colorStringToHSB(this.value);
4571
4699
  }
@@ -4730,20 +4858,20 @@ class Pr {
4730
4858
  }), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._colorClickHandler = null, this._inputInputHandler = null, this._alphaChangeHandler = null, this._modeChangeHandler = null, this._hueChangeHandler = null, this._saturationChangeHandler = null, this._valueChangeHandler = null, this.element.__kupolaInitialized = !1;
4731
4859
  }
4732
4860
  }
4733
- function re(i, t) {
4734
- const e = new Pr(i, t);
4861
+ function ae(i, t) {
4862
+ const e = new Or(i, t);
4735
4863
  e.init(), i._kupolaColorPicker = e;
4736
4864
  }
4737
- function Mo(i = document) {
4865
+ function Ao(i = document) {
4738
4866
  i.querySelectorAll(".ds-color-picker").forEach((t) => {
4739
- re(t);
4867
+ ae(t);
4740
4868
  });
4741
4869
  }
4742
- function $r(i) {
4870
+ function Fr(i) {
4743
4871
  i._kupolaColorPicker && (i._kupolaColorPicker.destroy(), i._kupolaColorPicker = null);
4744
4872
  }
4745
- E.register("color-picker", re, $r);
4746
- class qr {
4873
+ E.register("color-picker", ae, Fr);
4874
+ class Nr {
4747
4875
  constructor(t, e = {}) {
4748
4876
  if (this.element = t, this.titleEl = t.querySelector(".ds-calendar__title"), this.daysEl = t.querySelector(".ds-calendar__days"), this.prevBtn = t.querySelector(".ds-calendar__nav--prev"), this.nextBtn = t.querySelector(".ds-calendar__nav--next"), this.todayBtn = t.querySelector(".ds-calendar__nav--today"), this._listeners = [], !this.titleEl || !this.daysEl)
4749
4877
  throw new Error("Calendar: Missing required elements");
@@ -4940,26 +5068,26 @@ class qr {
4940
5068
  this.isRangeMode = !this.isRangeMode, this.rangeStart = null, this.rangeEnd = null, this.render(), this._emitChange();
4941
5069
  }
4942
5070
  }
4943
- function ae(i, t) {
5071
+ function oe(i, t) {
4944
5072
  if (!i.__kupolaInitialized)
4945
5073
  try {
4946
- const e = new qr(i, t);
5074
+ const e = new Nr(i, t);
4947
5075
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4948
5076
  } catch (e) {
4949
5077
  console.error("[Calendar] Error initializing:", e);
4950
5078
  }
4951
5079
  }
4952
- function Br(i) {
5080
+ function Rr(i) {
4953
5081
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4954
5082
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4955
5083
  }
4956
- function Io() {
5084
+ function zo() {
4957
5085
  document.querySelectorAll(".ds-calendar").forEach((i) => {
4958
- ae(i);
5086
+ oe(i);
4959
5087
  });
4960
5088
  }
4961
- E.register("calendar", ae, Br);
4962
- class Fr {
5089
+ E.register("calendar", oe, Rr);
5090
+ class Vr {
4963
5091
  constructor(t, e = {}) {
4964
5092
  this.element = t, this.input = t.querySelector(".ds-dynamic-tags__input"), this._listeners = [], this.maxCount = e.maxCount || parseInt(t.getAttribute("data-dynamic-tags-max")) || 1 / 0, this.allowDuplicates = e.allowDuplicates !== !1, this.color = e.color || t.getAttribute("data-dynamic-tags-color") || "default", this.init();
4965
5093
  }
@@ -5105,22 +5233,22 @@ class Fr {
5105
5233
  }), this._listeners = null, this.input = null, this.element = null;
5106
5234
  }
5107
5235
  }
5108
- function oe(i, t) {
5236
+ function le(i, t) {
5109
5237
  if (i.__kupolaInitialized) return;
5110
- const e = new Fr(i, t);
5238
+ const e = new Vr(i, t);
5111
5239
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5112
5240
  }
5113
- function Nr(i) {
5241
+ function Kr(i) {
5114
5242
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5115
5243
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5116
5244
  }
5117
- function To() {
5245
+ function Po() {
5118
5246
  document.querySelectorAll(".ds-dynamic-tags").forEach((i) => {
5119
- oe(i);
5247
+ le(i);
5120
5248
  });
5121
5249
  }
5122
- E.register("dynamic-tags", oe, Nr);
5123
- class le {
5250
+ E.register("dynamic-tags", le, Kr);
5251
+ class ce {
5124
5252
  constructor(t = {}) {
5125
5253
  this.images = t.images || [], this.currentIndex = t.currentIndex || 0, this.overlay = null, this.closeHandler = this.close.bind(this), this.keyHandler = this.handleKeydown.bind(this), this.clickHandler = this.handleOverlayClick.bind(this), this.zoom = 1, this.rotation = 0, this.zoomStep = t.zoomStep || 0.2, this.minZoom = t.minZoom || 0.5, this.maxZoom = t.maxZoom || 3, this.init();
5126
5254
  }
@@ -5312,18 +5440,18 @@ class le {
5312
5440
  }
5313
5441
  }
5314
5442
  let V = null;
5315
- function Ao() {
5316
- V || (V = new le()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5443
+ function $o() {
5444
+ V || (V = new ce()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5317
5445
  i.addEventListener("click", () => {
5318
5446
  const t = JSON.parse(i.getAttribute("data-image-preview")), e = parseInt(i.getAttribute("data-image-index")) || 0;
5319
5447
  V.show(t, e);
5320
5448
  });
5321
5449
  });
5322
5450
  }
5323
- function zo(i, t = 0) {
5324
- V || (V = new le()), V.show(i, t);
5451
+ function Bo(i, t = 0) {
5452
+ V || (V = new ce()), V.show(i, t);
5325
5453
  }
5326
- class Or {
5454
+ class Wr {
5327
5455
  constructor(t, e = {}) {
5328
5456
  this.element = t, this.closeBtn = t.querySelector(".ds-tag__close"), this.checkbox = t.querySelector(".ds-tag__checkbox"), this.editInput = t.querySelector(".ds-tag__input"), this._listeners = [], this.color = e.color || t.getAttribute("data-tag-color") || "default", this.size = e.size || t.getAttribute("data-tag-size") || "default", this.checkable = e.checkable || t.hasAttribute("data-tag-checkable"), this.checked = e.checked || t.hasAttribute("data-tag-checked"), this.editable = e.editable || t.hasAttribute("data-tag-editable"), this.maxLength = e.maxLength || parseInt(t.getAttribute("data-tag-maxlength")) || 50, this.init();
5329
5457
  }
@@ -5453,22 +5581,22 @@ class Or {
5453
5581
  }), this._listeners = [], this.closeBtn = null, this.checkbox = null, this.editInput = null, this.element = null;
5454
5582
  }
5455
5583
  }
5456
- function ce(i, t) {
5584
+ function he(i, t) {
5457
5585
  if (i.__kupolaInitialized) return;
5458
- const e = new Or(i, t);
5586
+ const e = new Wr(i, t);
5459
5587
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5460
5588
  }
5461
- function Rr(i) {
5589
+ function Ur(i) {
5462
5590
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5463
5591
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5464
5592
  }
5465
- function Po() {
5593
+ function qo() {
5466
5594
  document.querySelectorAll(".ds-tag").forEach((i) => {
5467
- ce(i);
5595
+ he(i);
5468
5596
  });
5469
5597
  }
5470
- E.register("tag", ce, Rr);
5471
- class Vr {
5598
+ E.register("tag", he, Ur);
5599
+ class Yr {
5472
5600
  constructor(t) {
5473
5601
  this.element = t, this.valueElement = t.querySelector(".ds-statcard__value"), this.progressFill = t.querySelector(".ds-statcard__progress-fill"), this.animated = !1, this._observer = null, this.init();
5474
5602
  }
@@ -5528,22 +5656,22 @@ class Vr {
5528
5656
  this._observer && (this._observer.disconnect(), this._observer = null), this.animated = !1, this.valueElement = null, this.progressFill = null, this.element = null;
5529
5657
  }
5530
5658
  }
5531
- function he(i) {
5659
+ function de(i) {
5532
5660
  if (i.__kupolaInitialized) return;
5533
- const t = new Vr(i);
5661
+ const t = new Yr(i);
5534
5662
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
5535
5663
  }
5536
- function Kr(i) {
5664
+ function Xr(i) {
5537
5665
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5538
5666
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5539
5667
  }
5540
- function $o() {
5668
+ function Oo() {
5541
5669
  document.querySelectorAll(".ds-statcard").forEach((i) => {
5542
- he(i);
5670
+ de(i);
5543
5671
  });
5544
5672
  }
5545
- E.register("statcard", he, Kr);
5546
- class Wr {
5673
+ E.register("statcard", de, Xr);
5674
+ class jr {
5547
5675
  constructor(t, e = {}) {
5548
5676
  this.element = t, this.data = e.data || [], this.startDate = e.startDate || this.getOneYearAgo(), this.endDate = e.endDate || /* @__PURE__ */ new Date(), this.cellSize = e.cellSize || 14, this.onCellClick = e.onCellClick || null, this.tooltip = null, this.baseColor = e.color || t.getAttribute("data-color") || "#22c55e", this._listeners = [], this.init();
5549
5677
  }
@@ -5643,16 +5771,16 @@ class Wr {
5643
5771
  const v = document.createElement("div");
5644
5772
  v.className = "ds-heatmap__cell", v.style.visibility = "hidden", b.appendChild(v);
5645
5773
  } else {
5646
- const v = this.getDataByDate(x), C = Math.max(...this.data.map((B) => B.value), 1), S = this.getLevel(v, C), w = document.createElement("div");
5647
- w.className = "ds-heatmap__cell", w.dataset.date = this.formatDate(x), w.dataset.value = v, w.style.backgroundColor = this.getCellColor(S);
5648
- const A = (B) => this.showTooltip(B, x, v), z = () => this.hideTooltip(), D = () => {
5774
+ const v = this.getDataByDate(x), C = Math.max(...this.data.map((q) => q.value), 1), S = this.getLevel(v, C), k = document.createElement("div");
5775
+ k.className = "ds-heatmap__cell", k.dataset.date = this.formatDate(x), k.dataset.value = v, k.style.backgroundColor = this.getCellColor(S);
5776
+ const A = (q) => this.showTooltip(q, x, v), z = () => this.hideTooltip(), D = () => {
5649
5777
  this.onCellClick && this.onCellClick({ date: this.formatDate(x), value: v });
5650
5778
  };
5651
- w.addEventListener("mouseenter", A), w.addEventListener("mouseleave", z), w.addEventListener("click", D), this._listeners.push(
5652
- { el: w, event: "mouseenter", handler: A },
5653
- { el: w, event: "mouseleave", handler: z },
5654
- { el: w, event: "click", handler: D }
5655
- ), b.appendChild(w);
5779
+ k.addEventListener("mouseenter", A), k.addEventListener("mouseleave", z), k.addEventListener("click", D), this._listeners.push(
5780
+ { el: k, event: "mouseenter", handler: A },
5781
+ { el: k, event: "mouseleave", handler: z },
5782
+ { el: k, event: "click", handler: D }
5783
+ ), b.appendChild(k);
5656
5784
  }
5657
5785
  }), y.appendChild(b);
5658
5786
  }), f.appendChild(y), h.appendChild(f), c.appendChild(h), t.appendChild(c), this.renderLegend(t);
@@ -5698,7 +5826,7 @@ class Wr {
5698
5826
  }), this._listeners = null, this.tooltip && this.tooltip.parentNode && this.tooltip.parentNode.removeChild(this.tooltip), this.tooltip = null, this.data = [], this.element = null;
5699
5827
  }
5700
5828
  }
5701
- function de(i) {
5829
+ function ue(i) {
5702
5830
  if (i.__kupolaInitialized) return;
5703
5831
  const t = i.getAttribute("data-heatmap-data");
5704
5832
  let e = [];
@@ -5706,27 +5834,27 @@ function de(i) {
5706
5834
  try {
5707
5835
  e = JSON.parse(t);
5708
5836
  } catch {
5709
- e = yt();
5837
+ e = bt();
5710
5838
  }
5711
5839
  else
5712
- e = yt();
5713
- const s = new Wr(i, {
5840
+ e = bt();
5841
+ const s = new jr(i, {
5714
5842
  data: e,
5715
5843
  onCellClick: (n) => {
5716
5844
  }
5717
5845
  });
5718
5846
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
5719
5847
  }
5720
- function Ur(i) {
5848
+ function Jr(i) {
5721
5849
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5722
5850
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5723
5851
  }
5724
- function qo() {
5852
+ function Fo() {
5725
5853
  document.querySelectorAll(".ds-heatmap").forEach((i) => {
5726
- de(i);
5854
+ ue(i);
5727
5855
  });
5728
5856
  }
5729
- function yt() {
5857
+ function bt() {
5730
5858
  const i = [], t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
5731
5859
  e.setFullYear(e.getFullYear() - 1);
5732
5860
  for (let s = new Date(e); s <= t; s.setDate(s.getDate() + 1)) {
@@ -5738,10 +5866,12 @@ function yt() {
5738
5866
  }
5739
5867
  return i;
5740
5868
  }
5741
- E.register("heatmap", de, Ur);
5742
- class Yr {
5869
+ E.register("heatmap", ue, Jr);
5870
+ class Gr {
5743
5871
  constructor(t, e = {}) {
5744
- this.element = t, this.tooltipEl = null, this.options = e, this.delay = e.delay || parseInt(t.getAttribute("data-tooltip-delay")) || 0, this.hideDelay = e.hideDelay || parseInt(t.getAttribute("data-tooltip-hide-delay")) || 0, this.trigger = e.trigger || t.getAttribute("data-tooltip-trigger") || "hover", this.html = e.html || t.hasAttribute("data-tooltip-html"), this.theme = e.theme || t.getAttribute("data-tooltip-theme") || "default", this.position = e.position || t.getAttribute("data-tooltip-position") || "top", this.animation = e.animation !== !1, this.mouseFollow = e.mouseFollow || t.hasAttribute("data-tooltip-mouse-follow"), this._showTooltip = null, this._hideTooltip = null, this._showTimer = null, this._hideTimer = null, this._clickHandler = null, this._focusHandler = null, this._blurHandler = null, this._mouseMoveHandler = null, this.isVisible = !1;
5872
+ this.element = t, this.tooltipEl = null, this.options = e;
5873
+ const s = X(), n = s.tooltip?.delay !== void 0 ? s.tooltip.delay : 300;
5874
+ this.delay = e.delay !== void 0 ? e.delay : parseInt(t.getAttribute("data-tooltip-delay")) || n, this.hideDelay = e.hideDelay || parseInt(t.getAttribute("data-tooltip-hide-delay")) || 0, this.trigger = e.trigger || t.getAttribute("data-tooltip-trigger") || "hover", this.html = e.html || t.hasAttribute("data-tooltip-html"), this.theme = e.theme || t.getAttribute("data-tooltip-theme") || "default", this.position = e.position || t.getAttribute("data-tooltip-position") || "top", this.animation = e.animation !== !1, this.mouseFollow = e.mouseFollow || t.hasAttribute("data-tooltip-mouse-follow"), this._showTooltip = null, this._hideTooltip = null, this._showTimer = null, this._hideTimer = null, this._clickHandler = null, this._focusHandler = null, this._blurHandler = null, this._mouseMoveHandler = null, this.isVisible = !1;
5745
5875
  }
5746
5876
  init() {
5747
5877
  this.element.__kupolaInitialized || (this._showTooltip = () => {
@@ -5751,7 +5881,8 @@ class Yr {
5751
5881
  }, this._clickHandler = () => {
5752
5882
  this.isVisible ? this.hide() : this.show();
5753
5883
  }, this._mouseMoveHandler = (t) => {
5754
- if (!this.isVisible || !this.mouseFollow || !this.tooltipEl) return;
5884
+ if (!this.isVisible || !this.mouseFollow || !this.tooltipEl)
5885
+ return;
5755
5886
  const e = this.tooltipEl.getBoundingClientRect();
5756
5887
  let s = t.clientX + 10, n = t.clientY + 10;
5757
5888
  const r = window.innerWidth, a = window.innerHeight;
@@ -5761,7 +5892,8 @@ class Yr {
5761
5892
  })), (this.trigger === "focus" || this.trigger === "hover") && (this.element.addEventListener("focus", this._showTooltip), this.element.addEventListener("blur", this._hideTooltip)), this.element.__kupolaInitialized = !0);
5762
5893
  }
5763
5894
  show() {
5764
- if (this.isVisible) return;
5895
+ if (this.isVisible)
5896
+ return;
5765
5897
  const t = this.element.getAttribute("data-tooltip");
5766
5898
  t && (this.tooltipEl = document.createElement("div"), this.tooltipEl.className = `ds-tooltip ds-tooltip--${this.position} ds-tooltip--${this.theme}`, this.html ? this.tooltipEl.innerHTML = t : this.tooltipEl.textContent = t, document.body.appendChild(this.tooltipEl), requestAnimationFrame(() => {
5767
5899
  this.tooltipEl.classList.add("is-visible"), this.mouseFollow || this._positionTooltip(), this.isVisible = !0, this.element.dispatchEvent(new CustomEvent("kupola:tooltip-show", {
@@ -5771,7 +5903,8 @@ class Yr {
5771
5903
  }));
5772
5904
  }
5773
5905
  hide() {
5774
- if (!this.isVisible || !this.tooltipEl) return;
5906
+ if (!this.isVisible || !this.tooltipEl)
5907
+ return;
5775
5908
  this.tooltipEl.classList.remove("is-visible");
5776
5909
  const t = this.tooltipEl;
5777
5910
  setTimeout(() => {
@@ -5785,7 +5918,8 @@ class Yr {
5785
5918
  this.isVisible ? this.hide() : this.show();
5786
5919
  }
5787
5920
  _positionTooltip() {
5788
- if (!this.tooltipEl) return;
5921
+ if (!this.tooltipEl)
5922
+ return;
5789
5923
  const t = this.element.getBoundingClientRect(), e = this.tooltipEl.getBoundingClientRect(), s = window.innerWidth, n = window.innerHeight;
5790
5924
  let r, a;
5791
5925
  switch (this.position) {
@@ -5830,20 +5964,20 @@ class Yr {
5830
5964
  this.element.__kupolaInitialized && (this._showTimer && (clearTimeout(this._showTimer), this._showTimer = null), this._hideTimer && (clearTimeout(this._hideTimer), this._hideTimer = null), (this.trigger === "hover" || this.trigger === "focus") && (this.element.removeEventListener("mouseenter", this._showTooltip), this.element.removeEventListener("mouseleave", this._hideTooltip)), this.trigger === "click" && this.element.removeEventListener("click", this._clickHandler), (this.trigger === "focus" || this.trigger === "hover") && (this.element.removeEventListener("focus", this._showTooltip), this.element.removeEventListener("blur", this._hideTooltip)), this.mouseFollow && this.element.removeEventListener("mousemove", this._mouseMoveHandler), this.tooltipEl && (this.tooltipEl.remove(), this.tooltipEl = null), this.isVisible = !1, this._showTooltip = null, this._hideTooltip = null, this._clickHandler = null, this._mouseMoveHandler = null, this.element.__kupolaInitialized = !1);
5831
5965
  }
5832
5966
  }
5833
- function ue(i, t) {
5834
- const e = new Yr(i, t);
5967
+ function pe(i, t) {
5968
+ const e = new Gr(i, t);
5835
5969
  e.init(), i._kupolaTooltip = e;
5836
5970
  }
5837
- function Bo(i = document) {
5971
+ function No(i = document) {
5838
5972
  i.querySelectorAll("[data-tooltip]").forEach((t) => {
5839
- ue(t);
5973
+ pe(t);
5840
5974
  });
5841
5975
  }
5842
- function Xr(i) {
5976
+ function Zr(i) {
5843
5977
  i._kupolaTooltip && (i._kupolaTooltip.destroy(), i._kupolaTooltip = null);
5844
5978
  }
5845
- E.register("tooltip", ue, Xr);
5846
- class jr {
5979
+ E.register("tooltip", pe, Zr);
5980
+ class Qr {
5847
5981
  constructor() {
5848
5982
  this.validators = {
5849
5983
  required: this.validateRequired,
@@ -6024,7 +6158,7 @@ class jr {
6024
6158
  return s && t === s.value;
6025
6159
  }
6026
6160
  validatePhone(t) {
6027
- return /^[\d\s\-\+\(\)]{7,20}$/.test(t);
6161
+ return /^[\d\s\-+()]{7,20}$/.test(t);
6028
6162
  }
6029
6163
  validateDate(t) {
6030
6164
  return /^\d{4}[-/]\d{2}[-/]\d{2}$/.test(t) && !isNaN(Date.parse(t));
@@ -6069,7 +6203,7 @@ class jr {
6069
6203
  }[t] || "Invalid input";
6070
6204
  }
6071
6205
  }
6072
- const P = new jr();
6206
+ const P = new Qr();
6073
6207
  window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized = !0, document.addEventListener("DOMContentLoaded", () => {
6074
6208
  document.querySelectorAll("form[data-validation]").forEach((i) => {
6075
6209
  i.addEventListener("submit", async (t) => {
@@ -6099,30 +6233,33 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6099
6233
  r && r.focus();
6100
6234
  }
6101
6235
  }), i.querySelectorAll("[data-validate]").forEach((t) => {
6102
- t.addEventListener("blur", () => {
6103
- setTimeout(() => {
6104
- const n = document.activeElement;
6105
- if (n && n.closest(".ds-select"))
6236
+ const e = pr(), s = e.trigger || "blur", n = () => {
6237
+ e.showErrors && setTimeout(() => {
6238
+ const l = document.activeElement;
6239
+ if (l && l.closest(".ds-select"))
6106
6240
  return;
6107
6241
  P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6108
6242
  }, 50);
6109
- });
6110
- const s = ((n, r) => {
6111
- let a;
6112
- return (...o) => {
6113
- clearTimeout(a), a = setTimeout(() => n(...o), r);
6243
+ };
6244
+ (s === "blur" || s === "both") && t.addEventListener("blur", n);
6245
+ const r = (l, c) => {
6246
+ let h;
6247
+ return (...d) => {
6248
+ clearTimeout(h), h = setTimeout(() => l(...d), c);
6114
6249
  };
6115
- })(() => {
6116
- const n = P.getValue(t);
6117
- n.length > 0 || t.classList.contains("ds-input--error") ? P.validateInput(t) && n && P.showSuccess(t) : P.removeStatusIcon(t);
6118
- }, 300);
6119
- t.addEventListener("input", s), t.addEventListener("keyup", (n) => {
6120
- n.key === "Enter" && P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6250
+ }, a = hr(), o = r(() => {
6251
+ if (!e.showErrors)
6252
+ return;
6253
+ const l = P.getValue(t);
6254
+ l.length > 0 || t.classList.contains("ds-input--error") ? P.validateInput(t) && l && P.showSuccess(t) : P.removeStatusIcon(t);
6255
+ }, a.debounceDelay);
6256
+ (s === "input" || s === "both") && t.addEventListener("input", o), t.addEventListener("keyup", (l) => {
6257
+ l.key === "Enter" && P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6121
6258
  });
6122
6259
  });
6123
6260
  });
6124
6261
  }));
6125
- class Jr {
6262
+ class ta {
6126
6263
  constructor(t, e = {}) {
6127
6264
  this.element = t, this.data = e.data || [], this.itemHeight = e.itemHeight || 48, this.itemWidth = e.itemWidth || 200, this.bufferSize = e.bufferSize || 5, this.renderItem = e.renderItem || this.defaultRenderItem, this.onItemClick = e.onItemClick || null, this.onItemSelect = e.onItemSelect || null, this.onScroll = e.onScroll || null, this.onScrollEnd = e.onScrollEnd || null, this.selectedKey = e.selectedKey || null, this.keyField = e.keyField || "id", this.useDynamicHeight = e.useDynamicHeight || !1, this.dynamicHeightCache = /* @__PURE__ */ new Map(), this.estimatedHeight = e.estimatedHeight || 48, this.container = null, this.scrollbarTrack = null, this.scrollbarThumb = null, this.totalHeight = 0, this.startIndex = 0, this.endIndex = 0, this.isScrolling = !1, this.scrollTimeout = null, this.lastScrollTop = 0, this.lastScrollLeft = 0, this.init();
6128
6265
  }
@@ -6361,7 +6498,7 @@ class Jr {
6361
6498
  }), this.data = [], this.dynamicHeightCache.clear(), this.container.innerHTML = "", this._listeners = null, this._scrollHandler = null, this._thumbDragStartHandler = null, this._thumbDragMoveHandler = null, this._thumbDragEndHandler = null, this._wheelHandler = null, this.container = null, this.scrollbarThumb = null, this.element = null;
6362
6499
  }
6363
6500
  }
6364
- function vt(i = 1e3) {
6501
+ function xt(i = 1e3) {
6365
6502
  const t = [], e = ["Document", "Image", "Video", "Folder", "Archive", "Spreadsheet", "Presentation", "Code"];
6366
6503
  for (let s = 1; s <= i; s++) {
6367
6504
  const n = Math.floor(Math.random() * e.length), r = Math.floor(Math.random() * 1e4);
@@ -6374,7 +6511,7 @@ function vt(i = 1e3) {
6374
6511
  }
6375
6512
  return t;
6376
6513
  }
6377
- function Gr(i) {
6514
+ function ea(i) {
6378
6515
  if (i.__kupolaInitialized) return;
6379
6516
  const t = i.getAttribute("data-virtual-list");
6380
6517
  let e = [];
@@ -6382,11 +6519,11 @@ function Gr(i) {
6382
6519
  try {
6383
6520
  e = JSON.parse(t);
6384
6521
  } catch {
6385
- e = vt(1e3);
6522
+ e = xt(1e3);
6386
6523
  }
6387
6524
  else
6388
- e = vt(1e3);
6389
- const s = new Jr(i, {
6525
+ e = xt(1e3);
6526
+ const s = new ta(i, {
6390
6527
  data: e,
6391
6528
  onItemClick: (n) => {
6392
6529
  },
@@ -6395,12 +6532,12 @@ function Gr(i) {
6395
6532
  });
6396
6533
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
6397
6534
  }
6398
- function Zr(i) {
6535
+ function sa(i) {
6399
6536
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6400
6537
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6401
6538
  }
6402
- E.register("virtual-list", Gr, Zr);
6403
- const Qr = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="butt" stroke-linejoin="miter"', pe = {
6539
+ E.register("virtual-list", ea, sa);
6540
+ const ia = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="butt" stroke-linejoin="miter"', fe = {
6404
6541
  globe: '<circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 0 20"/><path d="M12 2a15.3 15.3 0 0 0 0 20"/>',
6405
6542
  dashboard: '<rect x="3" y="3" width="7" height="9"/><rect x="14" y="3" width="7" height="5"/><rect x="14" y="12" width="7" height="9"/><rect x="3" y="16" width="7" height="5"/>',
6406
6543
  mouse: '<rect x="6" y="2" width="12" height="20" rx="6"/><line x1="12" y1="6" x2="12" y2="11"/>',
@@ -6510,19 +6647,19 @@ const Qr = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0
6510
6647
  code: '<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',
6511
6648
  apple: '<path fill="currentColor" stroke="none" d="M17.05 12.04c-.03-3.04 2.49-4.5 2.6-4.57-1.42-2.07-3.62-2.36-4.4-2.39-1.87-.19-3.65 1.1-4.6 1.1-.96 0-2.42-1.08-3.98-1.05-2.05.03-3.94 1.19-4.99 3.02-2.13 3.69-.54 9.13 1.53 12.12 1.01 1.46 2.21 3.1 3.78 3.04 1.52-.06 2.09-.98 3.93-.98 1.83 0 2.36.98 3.97.95 1.64-.03 2.68-1.49 3.68-2.96 1.16-1.7 1.64-3.35 1.66-3.43-.04-.02-3.18-1.22-3.21-4.85zM14.06 4.34c.83-1.01 1.39-2.41 1.24-3.81-1.2.05-2.65.8-3.51 1.8-.77.89-1.45 2.31-1.27 3.68 1.34.1 2.71-.68 3.54-1.67z"/>'
6512
6649
  };
6513
- function fe(i, t = 16, e = "0 0 24 24") {
6514
- const s = pe[i];
6515
- return s ? `<svg ${Qr.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6650
+ function me(i, t = 16, e = "0 0 24 24") {
6651
+ const s = fe[i];
6652
+ return s ? `<svg ${ia.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6516
6653
  }
6517
- function at(i = document) {
6654
+ function lt(i = document) {
6518
6655
  i.querySelectorAll("[data-icon]").forEach((t) => {
6519
6656
  const e = t.getAttribute("data-icon"), s = +t.getAttribute("data-size") || 16, n = t.getAttribute("data-viewbox") || "0 0 24 24";
6520
- t.innerHTML = fe(e, s, n), t.classList.add("icon");
6657
+ t.innerHTML = me(e, s, n), t.classList.add("icon");
6521
6658
  });
6522
6659
  }
6523
- const Fo = { svg: fe, render: at, PATHS: pe };
6524
- typeof document < "u" && (document.readyState !== "loading" ? at() : document.addEventListener("DOMContentLoaded", () => at()));
6525
- class ta {
6660
+ const Ro = { svg: me, render: lt, PATHS: fe };
6661
+ typeof document < "u" && (document.readyState !== "loading" ? lt() : document.addEventListener("DOMContentLoaded", () => lt()));
6662
+ class na {
6526
6663
  constructor(t) {
6527
6664
  this.element = t, this.hoursEl = t.querySelector(".ds-countdown__item--hours .ds-countdown__value"), this.minutesEl = t.querySelector(".ds-countdown__item--minutes .ds-countdown__value"), this.secondsEl = t.querySelector(".ds-countdown__item--seconds .ds-countdown__value"), this.endTime = this.parseEndTime(), this.interval = null, this.init();
6528
6665
  }
@@ -6574,22 +6711,22 @@ class ta {
6574
6711
  this.stop(), this.hoursEl = null, this.minutesEl = null, this.secondsEl = null, this.element = null;
6575
6712
  }
6576
6713
  }
6577
- function me(i) {
6714
+ function ge(i) {
6578
6715
  if (i.__kupolaInitialized) return;
6579
- const t = new ta(i);
6716
+ const t = new na(i);
6580
6717
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6581
6718
  }
6582
- function ea(i) {
6719
+ function ra(i) {
6583
6720
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6584
6721
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6585
6722
  }
6586
- function No() {
6723
+ function Vo() {
6587
6724
  document.querySelectorAll(".ds-countdown").forEach((t) => {
6588
- me(t);
6725
+ ge(t);
6589
6726
  });
6590
6727
  }
6591
- E.register("countdown", me, ea);
6592
- class sa {
6728
+ E.register("countdown", ge, ra);
6729
+ class aa {
6593
6730
  constructor(t) {
6594
6731
  if (this.element = t, this.minusBtn = t.querySelector(".ds-number-input__btn--decrease"), this.plusBtn = t.querySelector(".ds-number-input__btn--increase"), this.inputEl = t.querySelector(".ds-number-input__input"), this._listeners = [], !this.minusBtn || !this.plusBtn || !this.inputEl)
6595
6732
  throw new Error("NumberInput: Missing required elements");
@@ -6640,26 +6777,26 @@ class sa {
6640
6777
  }), this._listeners = null, this.minusBtn = null, this.plusBtn = null, this.inputEl = null, this.element = null;
6641
6778
  }
6642
6779
  }
6643
- function ge(i) {
6780
+ function _e(i) {
6644
6781
  if (!i.__kupolaInitialized)
6645
6782
  try {
6646
- const t = new sa(i);
6783
+ const t = new aa(i);
6647
6784
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6648
6785
  } catch (t) {
6649
6786
  console.error("[NumberInput] Error initializing:", t);
6650
6787
  }
6651
6788
  }
6652
- function ia(i) {
6789
+ function oa(i) {
6653
6790
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6654
6791
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6655
6792
  }
6656
- function Oo() {
6793
+ function Ko() {
6657
6794
  document.querySelectorAll(".ds-number-input").forEach((i) => {
6658
- ge(i);
6795
+ _e(i);
6659
6796
  });
6660
6797
  }
6661
- E.register("number-input", ge, ia);
6662
- class na {
6798
+ E.register("number-input", _e, oa);
6799
+ class la {
6663
6800
  constructor(t) {
6664
6801
  this.container = t, this.track = t.querySelector(".ds-slider-captcha__track"), this.btn = t.querySelector(".ds-slider-captcha__btn"), this.text = t.querySelector(".ds-slider-captcha__text"), this.progress = t.querySelector(".ds-slider-captcha__progress"), this.statusEl = t.querySelector(".ds-slider-captcha__status"), this.refreshBtn = t.querySelector(".ds-slider-captcha__refresh"), this.footerRefreshBtn = t.querySelector(".ds-slider-captcha__footer-refresh"), this.config = {
6665
6802
  tolerance: 6,
@@ -6802,22 +6939,22 @@ class na {
6802
6939
  this.container._initialized && (this.btn && this._mouseDownHandler && this.btn.removeEventListener("mousedown", this._mouseDownHandler), this.btn && this._touchStartHandler && this.btn.removeEventListener("touchstart", this._touchStartHandler), this.refreshBtn && this.refreshBtn.removeEventListener("click", () => this.loadCaptcha()), this.footerRefreshBtn && this.footerRefreshBtn.removeEventListener("click", () => this.loadCaptcha()), this._mouseMoveListener && this._mouseMoveListener.unsubscribe ? this._mouseMoveListener.unsubscribe() : this._mouseMoveHandler && document.removeEventListener("mousemove", this._mouseMoveHandler), this._mouseUpListener && this._mouseUpListener.unsubscribe ? this._mouseUpListener.unsubscribe() : this._mouseUpHandler && document.removeEventListener("mouseup", this._mouseUpHandler), this._touchMoveListener && this._touchMoveListener.unsubscribe ? this._touchMoveListener.unsubscribe() : this._touchMoveHandler && document.removeEventListener("touchmove", this._touchMoveHandler), this._touchEndListener && this._touchEndListener.unsubscribe ? this._touchEndListener.unsubscribe() : this._touchEndHandler && document.removeEventListener("touchend", this._touchEndHandler), this.container._initialized = !1);
6803
6940
  }
6804
6941
  }
6805
- function ra() {
6942
+ function ca() {
6806
6943
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6807
- const t = new na(i);
6944
+ const t = new la(i);
6808
6945
  t.init(), i._kupolaSlideCaptcha = t;
6809
6946
  });
6810
6947
  }
6811
- function aa(i) {
6948
+ function ha(i) {
6812
6949
  i._kupolaSlideCaptcha && (i._kupolaSlideCaptcha.destroy(), i._kupolaSlideCaptcha = null);
6813
6950
  }
6814
- function oa() {
6951
+ function da() {
6815
6952
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6816
- aa(i);
6953
+ ha(i);
6817
6954
  });
6818
6955
  }
6819
- E.register("slide-captcha", ra, oa);
6820
- class la {
6956
+ E.register("slide-captcha", ca, da);
6957
+ class ua {
6821
6958
  constructor(t) {
6822
6959
  this.form = t, this.fields = [], this.validators = {}, this.errorMessages = {}, this._submitHandler = null, this._fieldHandlers = /* @__PURE__ */ new Map(), this._init();
6823
6960
  }
@@ -6957,23 +7094,23 @@ class la {
6957
7094
  }), this._submitHandler = null, this._fieldHandlers.clear(), this._fieldHandlers = null, this.fields = null, this.validators = null, this.errorMessages = null, this.form = null;
6958
7095
  }
6959
7096
  }
6960
- function ca(i) {
7097
+ function pa(i) {
6961
7098
  const t = document.querySelectorAll(i || ".ds-form");
6962
7099
  return t.forEach((e) => {
6963
7100
  if (e._kupolaForm) return;
6964
- const s = new la(e);
7101
+ const s = new ua(e);
6965
7102
  e._kupolaForm = s;
6966
7103
  }), t.length;
6967
7104
  }
6968
- function Ro(i) {
7105
+ function Wo(i) {
6969
7106
  return i._kupolaForm;
6970
7107
  }
6971
- function Vo(i) {
7108
+ function Uo(i) {
6972
7109
  const t = i._kupolaForm;
6973
7110
  return t ? t.validate() : !1;
6974
7111
  }
6975
- E.register("form-validation", ca);
6976
- class ha {
7112
+ E.register("form-validation", pa);
7113
+ class fa {
6977
7114
  constructor() {
6978
7115
  this._queue = /* @__PURE__ */ new Set(), this._scheduled = !1, this._flushDepth = 0, this._maxDepth = 10;
6979
7116
  }
@@ -7000,8 +7137,8 @@ class ha {
7000
7137
  this._flushDepth--;
7001
7138
  }
7002
7139
  }
7003
- const da = new ha();
7004
- class ua {
7140
+ const ma = new fa();
7141
+ class ga {
7005
7142
  constructor(t, e) {
7006
7143
  this.data = t, this.createdAt = Date.now(), this.ttl = e;
7007
7144
  }
@@ -7012,7 +7149,7 @@ class ua {
7012
7149
  return !this.isFresh;
7013
7150
  }
7014
7151
  }
7015
- class _e {
7152
+ class ye {
7016
7153
  constructor() {
7017
7154
  this._store = /* @__PURE__ */ new Map();
7018
7155
  }
@@ -7021,7 +7158,7 @@ class _e {
7021
7158
  return e || null;
7022
7159
  }
7023
7160
  set(t, e, s = 6e4) {
7024
- this._store.set(t, new ua(e, s));
7161
+ this._store.set(t, new ga(e, s));
7025
7162
  }
7026
7163
  has(t) {
7027
7164
  return this._store.has(t);
@@ -7038,22 +7175,22 @@ class _e {
7038
7175
  return e ? e.data : null;
7039
7176
  }
7040
7177
  }
7041
- class N extends Error {
7178
+ class F extends Error {
7042
7179
  constructor(t, e, s) {
7043
7180
  super(t), this.name = "DependsError", this.code = e, this.cause = s, this.timestamp = Date.now();
7044
7181
  }
7045
7182
  }
7046
- let tt = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7047
- function Ko(i) {
7183
+ let st = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7184
+ function Yo(i) {
7048
7185
  if (!i || typeof i.fetch != "function")
7049
7186
  throw new TypeError("[Kupola] configureHttpClient: client must provide a fetch function");
7050
- tt = i.fetch.bind(i);
7187
+ st = i.fetch.bind(i);
7051
7188
  }
7052
- function Wo() {
7053
- return tt;
7189
+ function Xo() {
7190
+ return st;
7054
7191
  }
7055
- function Uo() {
7056
- tt = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7192
+ function jo() {
7193
+ st = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7057
7194
  }
7058
7195
  class W {
7059
7196
  constructor(t, e) {
@@ -7066,7 +7203,7 @@ class W {
7066
7203
  };
7067
7204
  }
7068
7205
  notify() {
7069
- da.schedule(() => {
7206
+ ma.schedule(() => {
7070
7207
  this.subscribers.forEach((t) => {
7071
7208
  try {
7072
7209
  t();
@@ -7077,7 +7214,7 @@ class W {
7077
7214
  });
7078
7215
  }
7079
7216
  async fetch(t) {
7080
- throw new N("Source fetch not implemented", "NOT_IMPLEMENTED");
7217
+ throw new F("Source fetch not implemented", "NOT_IMPLEMENTED");
7081
7218
  }
7082
7219
  async getValue(t) {
7083
7220
  const e = this.cache.get(this.cacheKey);
@@ -7092,7 +7229,7 @@ class W {
7092
7229
  const r = this.retryDelay * Math.pow(2, e), a = Math.random() * r * 0.5, o = r + a;
7093
7230
  return await new Promise((l) => setTimeout(l, o)), this._fetchWithRetry(t, e + 1);
7094
7231
  }
7095
- const n = s instanceof N ? s : new N(s.message || "Fetch failed", "FETCH_ERROR", s);
7232
+ const n = s instanceof F ? s : new F(s.message || "Fetch failed", "FETCH_ERROR", s);
7096
7233
  if (this.onError)
7097
7234
  try {
7098
7235
  this.onError(n);
@@ -7114,13 +7251,13 @@ class W {
7114
7251
  this.subscribers = [], this.pending = null;
7115
7252
  }
7116
7253
  }
7117
- class pa extends W {
7254
+ class _a extends W {
7118
7255
  constructor(t, e) {
7119
7256
  super(t, e), this.method = t.method || "GET", this.headers = t.headers || {}, this.queryParams = t.query || {};
7120
7257
  }
7121
7258
  async fetch(t) {
7122
7259
  let e = this.config.source;
7123
- const s = lt("http");
7260
+ const s = ht("http");
7124
7261
  s?.baseURL && !e.startsWith("http://") && !e.startsWith("https://") && (e = s.baseURL + e.replace(/^\//, ""));
7125
7262
  for (const u in t)
7126
7263
  e = e.replace(`:${u}`, encodeURIComponent(t[u]));
@@ -7135,16 +7272,16 @@ class pa extends W {
7135
7272
  headers: { "Content-Type": "application/json", ...r, ...this.headers }
7136
7273
  };
7137
7274
  s?.withCredentials && (a.credentials = "include"), ["POST", "PUT", "PATCH"].includes(a.method) && (a.body = JSON.stringify(t));
7138
- const o = tt;
7275
+ const o = st;
7139
7276
  if (!o)
7140
- throw new N("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7277
+ throw new F("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7141
7278
  const l = await o(e, a), c = typeof l.ok == "boolean" ? l.ok : l.status >= 200 && l.status < 300, h = typeof l.status == "number" ? l.status : 0;
7142
7279
  if (!c)
7143
- throw new N(`HTTP ${h}`, "HTTP_ERROR");
7280
+ throw new F(`HTTP ${h}`, "HTTP_ERROR");
7144
7281
  return typeof l.json == "function" ? await l.json() : l.data !== void 0 ? l.data : l;
7145
7282
  }
7146
7283
  }
7147
- class ye extends W {
7284
+ class ve extends W {
7148
7285
  constructor(t, e) {
7149
7286
  super(t, e), this.storageKey = t.source.replace("localStorage:", ""), this.defaultValue = t.default, this.sync = t.sync !== !1, this.sync && typeof window < "u" && (this._storageHandler = (s) => {
7150
7287
  s.key === this.storageKey && (this.cache.delete(this.cacheKey), this.notify());
@@ -7171,7 +7308,7 @@ class ye extends W {
7171
7308
  super.destroy(), this._storageHandler && window.removeEventListener("storage", this._storageHandler);
7172
7309
  }
7173
7310
  }
7174
- class fa extends W {
7311
+ class ya extends W {
7175
7312
  constructor(t, e) {
7176
7313
  super(t, e), this.paramName = t.source.replace("route:", "");
7177
7314
  }
@@ -7181,17 +7318,17 @@ class fa extends W {
7181
7318
  return e ? decodeURIComponent(e[1]) : new URLSearchParams(location.search).get(this.paramName) || "";
7182
7319
  }
7183
7320
  }
7184
- class ma extends W {
7321
+ class va extends W {
7185
7322
  async fetch(t) {
7186
7323
  return await this.config.source(t);
7187
7324
  }
7188
7325
  }
7189
- class ga extends W {
7326
+ class ba extends W {
7190
7327
  async fetch() {
7191
7328
  return this.config.source;
7192
7329
  }
7193
7330
  }
7194
- class ve extends W {
7331
+ class be extends W {
7195
7332
  constructor(t, e) {
7196
7333
  super(t, e), this.ws = null, this.reconnect = t.reconnect !== !1, this.reconnectDelay = t.reconnectDelay || 3e3, this._reconnectAttempt = 0, this._maxReconnectDelay = t.maxReconnectDelay || 3e4, this.messageHandler = null, this._connected = !1, this._destroyed = !1;
7197
7334
  }
@@ -7209,7 +7346,7 @@ class ve extends W {
7209
7346
  }
7210
7347
  this.cache.set(this.cacheKey, n, this.staleTime), this.notify();
7211
7348
  }, this.ws.onmessage = this.messageHandler, this.ws.onerror = (s) => {
7212
- this._connected || e(new N("WebSocket connection failed", "WS_ERROR", s));
7349
+ this._connected || e(new F("WebSocket connection failed", "WS_ERROR", s));
7213
7350
  }, this.ws.onclose = () => {
7214
7351
  if (this._connected = !1, this.reconnect && !this._destroyed) {
7215
7352
  const s = this.reconnectDelay * Math.pow(2, this._reconnectAttempt), n = Math.random() * s * 0.3, r = Math.min(s + n, this._maxReconnectDelay);
@@ -7220,7 +7357,7 @@ class ve extends W {
7220
7357
  }
7221
7358
  };
7222
7359
  } catch (s) {
7223
- e(new N("WebSocket creation failed", "WS_ERROR", s));
7360
+ e(new F("WebSocket creation failed", "WS_ERROR", s));
7224
7361
  }
7225
7362
  });
7226
7363
  }
@@ -7231,21 +7368,21 @@ class ve extends W {
7231
7368
  this._destroyed = !0, super.destroy(), this.ws && (this.ws.onmessage = null, this.ws.onclose = null, this.ws.close(), this.ws = null);
7232
7369
  }
7233
7370
  }
7234
- function be(i, t) {
7371
+ function xe(i, t) {
7235
7372
  const e = i.source;
7236
- return typeof e == "function" ? new ma(i, t) : typeof e == "string" && (e.startsWith("ws://") || e.startsWith("wss://")) ? new ve(i, t) : typeof e == "string" && (e.startsWith("/") || e.startsWith("http")) ? new pa(i, t) : typeof e == "string" && e.startsWith("localStorage:") ? new ye(i, t) : typeof e == "string" && e.startsWith("route:") ? new fa(i, t) : new ga(i, t);
7373
+ return typeof e == "function" ? new va(i, t) : typeof e == "string" && (e.startsWith("ws://") || e.startsWith("wss://")) ? new be(i, t) : typeof e == "string" && (e.startsWith("/") || e.startsWith("http")) ? new _a(i, t) : typeof e == "string" && e.startsWith("localStorage:") ? new ve(i, t) : typeof e == "string" && e.startsWith("route:") ? new ya(i, t) : new ba(i, t);
7237
7374
  }
7238
- function Yo(i, t) {
7239
- const e = {}, s = new _e(), n = [];
7375
+ function Jo(i, t) {
7376
+ const e = {}, s = new ye(), n = [];
7240
7377
  for (const r in t) {
7241
7378
  let p = function() {
7242
- return bt(i);
7379
+ return Et(i);
7243
7380
  }, a = t[r];
7244
7381
  typeof a == "string" && (a = { source: a });
7245
7382
  const o = {
7246
7383
  ...a,
7247
- cacheKey: a.cacheKey || `${r}-${JSON.stringify(bt(i))}`
7248
- }, l = be(o, s), c = I(null), h = I(!0), d = I(null), u = I(null);
7384
+ cacheKey: a.cacheKey || `${r}-${JSON.stringify(Et(i))}`
7385
+ }, l = xe(o, s), c = I(null), h = I(!0), d = I(null), u = I(null);
7249
7386
  let f = 0;
7250
7387
  async function m() {
7251
7388
  const b = ++f;
@@ -7286,11 +7423,11 @@ function Yo(i, t) {
7286
7423
  },
7287
7424
  // For StorageSource
7288
7425
  setValue(b) {
7289
- l instanceof ye && (l.setValue(b), c.value = b);
7426
+ l instanceof ve && (l.setValue(b), c.value = b);
7290
7427
  },
7291
7428
  // For WebSocketSource
7292
7429
  send(b) {
7293
- l instanceof ve && l.send(b);
7430
+ l instanceof be && l.send(b);
7294
7431
  },
7295
7432
  _source: l
7296
7433
  };
@@ -7302,8 +7439,8 @@ function Yo(i, t) {
7302
7439
  }
7303
7440
  }, window.__kupolaDepInstances || (window.__kupolaDepInstances = []), window.__kupolaDepInstances.push(e), e;
7304
7441
  }
7305
- function Xo(i) {
7306
- const t = new _e(), e = be(i, t), s = I(null), n = I(!0), r = I(null);
7442
+ function Go(i) {
7443
+ const t = new ye(), e = xe(i, t), s = I(null), n = I(!0), r = I(null);
7307
7444
  let a = 0;
7308
7445
  async function o() {
7309
7446
  const l = ++a;
@@ -7331,7 +7468,7 @@ function Xo(i) {
7331
7468
  }
7332
7469
  };
7333
7470
  }
7334
- function bt(i) {
7471
+ function Et(i) {
7335
7472
  const t = {};
7336
7473
  for (const e in i) {
7337
7474
  const s = i[e];
@@ -7339,9 +7476,9 @@ function bt(i) {
7339
7476
  }
7340
7477
  return t;
7341
7478
  }
7342
- function jo() {
7479
+ function Zo() {
7343
7480
  }
7344
- class _a {
7481
+ class xa {
7345
7482
  constructor(t, e = {}) {
7346
7483
  this.element = typeof t == "string" ? document.querySelector(t) : t, this.options = e, this.columns = (e.columns || []).map((s, n) => ({ ...s, _index: n })), this.rowKey = e.rowKey || "id", this._data = [], this._loading = !1, this.striped = e.striped !== !1, this.bordered = e.bordered || !1, this.hoverable = e.hoverable !== !1, this.compact = e.compact || !1, this.emptyText = e.emptyText || "暂无数据", this.loadingText = e.loadingText || "加载中...", this.multiSort = e.multiSort || !1, this._sorts = [], this._filterText = "", this._showPagination = e.pagination !== !1, this._pageSizes = e.pageSizes || [10, 20, 50, 100], this._pageSize = e.pageSize || 10, this._currentPage = 1, this._total = 0, this.selection = e.selection || null, this._selectedKeys = /* @__PURE__ */ new Set(), this.selectionColumnTitle = e.selectionColumnTitle || "", this.expandable = e.expandable || null, this._expandedKeys = /* @__PURE__ */ new Set(), this.expandColumnTitle = e.expandColumnTitle || "", this.editable = e.editable || !1, this._editingCell = null, this._editBuffer = {}, this.resizable = e.resizable || !1, this.draggable = e.draggable || !1, this._dragState = null, this.tree = e.tree || null, this._treeExpandedKeys = /* @__PURE__ */ new Set(), e.tree?.defaultExpandAll && (this._treeExpandAll = !0), this.virtualScroll = e.virtualScroll || null, this._scrollContainer = null, this._scrollHandler = null, this._resizeCleanups = [], this._filterDebounceTimer = null, this._reactiveCleanups = [], this.mergeCells = e.mergeCells || null, this.onSort = e.onSort || null, this.onPageChange = e.onPageChange || null, this.onRowClick = e.onRowClick || null, this.onFilter = e.onFilter || null, this.onSelect = e.onSelect || null, this.onExpand = e.onExpand || null, this.onEditSave = e.onEditSave || null, this.onEditCancel = e.onEditCancel || null, this.onRowDragEnd = e.onRowDragEnd || null, this.onColumnResize = e.onColumnResize || null, this.sortKey = I(null), this.sortOrder = I(null), this.currentPage = I(1), this.filterText = I(""), this.selectedKeys = I([]), this._init();
7347
7484
  }
@@ -7881,10 +8018,10 @@ class _a {
7881
8018
  this._filterDebounceTimer && (clearTimeout(this._filterDebounceTimer), this._filterDebounceTimer = null), this._resizeCleanups.forEach((t) => t()), this._resizeCleanups = [], this._reactiveCleanups.forEach((t) => t.unsubscribe()), this._reactiveCleanups = [], this.element.innerHTML = "", this.element.classList.remove("kupola-table-wrapper", "kupola-table-virtual-wrapper"), this._data = [], this._virtualData = null, this._dragState = null, this._editingCell = null, this._editBuffer = {};
7882
8019
  }
7883
8020
  }
7884
- function xe(i, t) {
7885
- return new _a(i, t);
8021
+ function Ee(i, t) {
8022
+ return new xa(i, t);
7886
8023
  }
7887
- function Jo() {
8024
+ function Qo() {
7888
8025
  document.querySelectorAll("[data-kupola-table]").forEach((i) => {
7889
8026
  const t = i.getAttribute("data-kupola-table");
7890
8027
  let e = {};
@@ -7893,11 +8030,11 @@ function Jo() {
7893
8030
  e = JSON.parse(t);
7894
8031
  } catch {
7895
8032
  }
7896
- xe(i, e);
8033
+ Ee(i, e);
7897
8034
  });
7898
8035
  }
7899
- E.register("table", xe);
7900
- class ya {
8036
+ E.register("table", Ee);
8037
+ class Ea {
7901
8038
  constructor(t, e = {}) {
7902
8039
  this.element = typeof t == "string" ? document.querySelector(t) : t, this.options = e, this._current = e.current || 1, this._total = e.total || 0, this._pageSize = e.pageSize || 10, this._maxPages = e.maxPages || 7, this._showTotal = e.showTotal !== !1, this._showSizeChanger = e.showSizeChanger || !1, this._pageSizes = e.pageSizes || [10, 20, 50, 100], this._simple = e.simple || !1, this.current = I(this._current), this.total = I(this._total), this.onChange = e.onChange || null, this.onPageSizeChange = e.onPageSizeChange || null, this._init();
7903
8040
  }
@@ -7997,9 +8134,9 @@ class ya {
7997
8134
  this.element.innerHTML = "", this.element.classList.remove("kupola-pagination");
7998
8135
  }
7999
8136
  }
8000
- let xt = !1;
8001
- function va() {
8002
- if (xt || typeof document > "u") return;
8137
+ let wt = !1;
8138
+ function wa() {
8139
+ if (wt || typeof document > "u") return;
8003
8140
  const i = document.createElement("style");
8004
8141
  i.textContent = `
8005
8142
  .kupola-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@@ -8015,13 +8152,13 @@ function va() {
8015
8152
  .kupola-pagination-jumper { font-size: 14px; color: #666; }
8016
8153
  .kupola-pagination-jumper input { width: 50px; height: 28px; margin: 0 4px; padding: 0 8px; border: 1px solid #d9d9d9; border-radius: 4px; text-align: center; font-size: 13px; }
8017
8154
  .kupola-pagination-jumper input:focus { outline: none; border-color: #1890ff; }
8018
- `, document.head.appendChild(i), xt = !0;
8155
+ `, document.head.appendChild(i), wt = !0;
8019
8156
  }
8020
- function Go(i, t) {
8021
- return va(), new ya(i, t);
8157
+ function tl(i, t) {
8158
+ return wa(), new Ea(i, t);
8022
8159
  }
8023
- let Et = !1;
8024
- class ba extends HTMLElement {
8160
+ let kt = !1;
8161
+ class ka extends HTMLElement {
8025
8162
  static get observedAttributes() {
8026
8163
  return ["open"];
8027
8164
  }
@@ -8043,7 +8180,7 @@ class ba extends HTMLElement {
8043
8180
  }
8044
8181
  }
8045
8182
  }
8046
- class xa extends HTMLElement {
8183
+ class Ca extends HTMLElement {
8047
8184
  static get observedAttributes() {
8048
8185
  return ["title", "position"];
8049
8186
  }
@@ -8058,7 +8195,7 @@ class xa extends HTMLElement {
8058
8195
  }
8059
8196
  }
8060
8197
  }
8061
- class Ea extends HTMLElement {
8198
+ class Sa extends HTMLElement {
8062
8199
  connectedCallback() {
8063
8200
  this._render();
8064
8201
  }
@@ -8076,13 +8213,13 @@ class Ea extends HTMLElement {
8076
8213
  }), this.innerHTML = "", this.appendChild(t);
8077
8214
  }
8078
8215
  }
8079
- class ka extends HTMLElement {
8216
+ class La extends HTMLElement {
8080
8217
  static get observedAttributes() {
8081
8218
  return ["title"];
8082
8219
  }
8083
8220
  // Content is read by parent <k-collapse> during its connectedCallback
8084
8221
  }
8085
- class wa extends HTMLElement {
8222
+ class Da extends HTMLElement {
8086
8223
  static get observedAttributes() {
8087
8224
  return ["position", "open"];
8088
8225
  }
@@ -8100,7 +8237,7 @@ class wa extends HTMLElement {
8100
8237
  }
8101
8238
  }
8102
8239
  }
8103
- class Ca extends HTMLElement {
8240
+ class Ha extends HTMLElement {
8104
8241
  static get observedAttributes() {
8105
8242
  return ["title", "open"];
8106
8243
  }
@@ -8143,229 +8280,232 @@ class Ca extends HTMLElement {
8143
8280
  this.removeAttribute("open");
8144
8281
  }
8145
8282
  }
8146
- function Zo() {
8147
- if (Et || typeof customElements > "u") return;
8148
- Et = !0;
8283
+ function el() {
8284
+ if (kt || typeof customElements > "u") return;
8285
+ kt = !0;
8149
8286
  const i = [
8150
- ["k-dropdown", ba],
8151
- ["k-tooltip", xa],
8152
- ["k-collapse", Ea],
8153
- ["k-collapse-item", ka],
8154
- ["k-drawer", wa],
8155
- ["k-modal", Ca]
8287
+ ["k-dropdown", ka],
8288
+ ["k-tooltip", Ca],
8289
+ ["k-collapse", Sa],
8290
+ ["k-collapse-item", La],
8291
+ ["k-drawer", Da],
8292
+ ["k-modal", Ha]
8156
8293
  ];
8157
8294
  for (const [t, e] of i)
8158
8295
  customElements.get(t) || customElements.define(t, e);
8159
8296
  }
8160
8297
  export {
8161
8298
  Y as BRAND_OPTIONS,
8162
- ua as CacheEntry,
8163
- _e as CacheManager,
8164
- qr as Calendar,
8165
- Sr as Carousel,
8166
- Ar as Collapse,
8167
- Pr as ColorPicker,
8168
- ur as ComponentInitializerRegistry,
8169
- ta as Countdown,
8170
- br as Datepicker,
8171
- N as DependsError,
8299
+ ga as CacheEntry,
8300
+ ye as CacheManager,
8301
+ Nr as Calendar,
8302
+ Mr as Carousel,
8303
+ Br as Collapse,
8304
+ Or as ColorPicker,
8305
+ gr as ComponentInitializerRegistry,
8306
+ na as Countdown,
8307
+ kr as Datepicker,
8308
+ F as DependsError,
8172
8309
  W as DependsSource,
8173
- ko as Dialog,
8174
- Dr as Drawer,
8175
- _r as Dropdown,
8176
- Fr as DynamicTags,
8177
- pa as FetchedSource,
8178
- Ir as FileUpload,
8179
- ma as FunctionSource,
8180
- gr as GlobalEvents,
8181
- Wr as Heatmap,
8182
- Fo as Icons,
8183
- le as ImagePreview,
8184
- J as KupolaComponent,
8185
- fr as KupolaComponentRegistry,
8186
- nr as KupolaDataBind,
8187
- ar as KupolaEventBus,
8188
- la as KupolaForm,
8189
- Yt as KupolaI18n,
8190
- ot as KupolaLifecycle,
8191
- ya as KupolaPagination,
8192
- pt as KupolaStore,
8193
- rr as KupolaStoreManager,
8194
- _a as KupolaTable,
8195
- Da as KupolaUtils,
8196
- jr as KupolaValidator,
8197
- So as Message,
8310
+ So as Dialog,
8311
+ Ir as Drawer,
8312
+ xr as Dropdown,
8313
+ Vr as DynamicTags,
8314
+ _a as FetchedSource,
8315
+ Pr as FileUpload,
8316
+ va as FunctionSource,
8317
+ br as GlobalEvents,
8318
+ jr as Heatmap,
8319
+ Ro as Icons,
8320
+ ce as ImagePreview,
8321
+ G as KupolaComponent,
8322
+ yr as KupolaComponentRegistry,
8323
+ rr as KupolaDataBind,
8324
+ or as KupolaEventBus,
8325
+ ua as KupolaForm,
8326
+ Xt as KupolaI18n,
8327
+ ct as KupolaLifecycle,
8328
+ Ea as KupolaPagination,
8329
+ mt as KupolaStore,
8330
+ ar as KupolaStoreManager,
8331
+ xa as KupolaTable,
8332
+ Ia as KupolaUtils,
8333
+ Qr as KupolaValidator,
8334
+ Ho as Message,
8198
8335
  $ as Modal,
8199
- wo as Notification,
8200
- sa as NumberInput,
8201
- pe as PATHS,
8202
- fa as RouteSource,
8203
- ha as Scheduler,
8204
- yr as Select,
8205
- na as SlideCaptcha,
8206
- wr as Slider,
8207
- Vr as StatCard,
8208
- ga as StaticSource,
8209
- ye as StorageSource,
8210
- Or as Tag,
8211
- Er as Timepicker,
8212
- Yr as Tooltip,
8213
- Jr as VirtualList,
8214
- ve as WebSocketSource,
8215
- xo as alertModal,
8216
- mt as applyMixin,
8217
- Bs as arrayUtils,
8218
- Wa as bootstrapComponents,
8219
- po as cleanupAllDropdowns,
8220
- oa as cleanupAllSlideCaptchas,
8221
- Br as cleanupCalendar,
8222
- Lr as cleanupCarousel,
8223
- zr as cleanupCollapse,
8224
- $r as cleanupColorPicker,
8225
- ea as cleanupCountdown,
8226
- xr as cleanupDatepicker,
8227
- Hr as cleanupDrawer,
8228
- jt as cleanupDropdown,
8229
- Nr as cleanupDynamicTags,
8230
- Tr as cleanupFileUpload,
8231
- Ur as cleanupHeatmap,
8232
- Mr as cleanupModal,
8233
- ia as cleanupNumberInput,
8234
- vr as cleanupSelect,
8235
- aa as cleanupSlideCaptcha,
8236
- Cr as cleanupSlider,
8237
- Kr as cleanupStatCard,
8238
- Rr as cleanupTag,
8239
- kr as cleanupTimepicker,
8240
- Xr as cleanupTooltip,
8241
- Zr as cleanupVirtualList,
8242
- jo as clearCache,
8243
- Ko as configureHttpClient,
8244
- bo as confirmModal,
8336
+ Lo as Notification,
8337
+ aa as NumberInput,
8338
+ fe as PATHS,
8339
+ ya as RouteSource,
8340
+ fa as Scheduler,
8341
+ Er as Select,
8342
+ la as SlideCaptcha,
8343
+ Dr as Slider,
8344
+ Yr as StatCard,
8345
+ ba as StaticSource,
8346
+ ve as StorageSource,
8347
+ Wr as Tag,
8348
+ Sr as Timepicker,
8349
+ Gr as Tooltip,
8350
+ ta as VirtualList,
8351
+ be as WebSocketSource,
8352
+ ko as alertModal,
8353
+ _t as applyMixin,
8354
+ Os as arrayUtils,
8355
+ Xa as bootstrapComponents,
8356
+ go as cleanupAllDropdowns,
8357
+ da as cleanupAllSlideCaptchas,
8358
+ Rr as cleanupCalendar,
8359
+ Tr as cleanupCarousel,
8360
+ qr as cleanupCollapse,
8361
+ Fr as cleanupColorPicker,
8362
+ ra as cleanupCountdown,
8363
+ Cr as cleanupDatepicker,
8364
+ Ar as cleanupDrawer,
8365
+ Jt as cleanupDropdown,
8366
+ Kr as cleanupDynamicTags,
8367
+ $r as cleanupFileUpload,
8368
+ Jr as cleanupHeatmap,
8369
+ zr as cleanupModal,
8370
+ oa as cleanupNumberInput,
8371
+ wr as cleanupSelect,
8372
+ ha as cleanupSlideCaptcha,
8373
+ Hr as cleanupSlider,
8374
+ Xr as cleanupStatCard,
8375
+ Ur as cleanupTag,
8376
+ Lr as cleanupTimepicker,
8377
+ Zr as cleanupTooltip,
8378
+ sa as cleanupVirtualList,
8379
+ Zo as clearCache,
8380
+ Yo as configureHttpClient,
8381
+ wo as confirmModal,
8245
8382
  Fa as createBrandPicker,
8246
- ja as createI18n,
8247
- La as createLifecycle,
8248
- ee as createModal,
8249
- be as createSource,
8250
- Ma as createStore,
8251
- Ba as createThemeToggle,
8252
- jn as cryptoUtils,
8253
- ln as dateUtils,
8254
- cn as debounce,
8255
- Xa as defineComponent,
8256
- Ua as defineMixin,
8257
- ao as emit,
8258
- oo as emitGlobal,
8259
- Oa as escapeHtml,
8260
- so as formatCurrency,
8261
- to as formatDate,
8262
- eo as formatNumber,
8263
- Aa as getBasePath,
8264
- X as getBrand,
8265
- lt as getConfig,
8266
- lr as getDefaultBrand,
8267
- or as getDefaultTheme,
8268
- Pa as getDevConfig,
8269
- qa as getExtendConfig,
8270
- Ro as getFormInstance,
8271
- Wo as getHttpClient,
8272
- za as getHttpConfig,
8273
- Rt as getIconsPath,
8274
- ho as getListenerCount,
8275
- Qa as getLocale,
8276
- $a as getPerformanceConfig,
8277
- Vt as getSecurityConfig,
8278
- Ia as getStore,
8383
+ Za as createI18n,
8384
+ Ta as createLifecycle,
8385
+ se as createModal,
8386
+ xe as createSource,
8387
+ za as createStore,
8388
+ Oa as createThemeToggle,
8389
+ Jn as cryptoUtils,
8390
+ cn as dateUtils,
8391
+ hn as debounce,
8392
+ Ga as defineComponent,
8393
+ ja as defineMixin,
8394
+ co as emit,
8395
+ ho as emitGlobal,
8396
+ Ra as escapeHtml,
8397
+ ro as formatCurrency,
8398
+ io as formatDate,
8399
+ no as formatNumber,
8400
+ Wa as generateSecureId,
8401
+ Ba as getBasePath,
8402
+ j as getBrand,
8403
+ ht as getConfig,
8404
+ cr as getDefaultBrand,
8405
+ lr as getDefaultTheme,
8406
+ Wo as getFormInstance,
8407
+ Xo as getHttpClient,
8408
+ qa as getHttpConfig,
8409
+ Kt as getIconsPath,
8410
+ fo as getListenerCount,
8411
+ so as getLocale,
8412
+ dr as getMessageConfig,
8413
+ ur as getNotificationConfig,
8414
+ hr as getPerformanceConfig,
8415
+ et as getSecurityConfig,
8416
+ Pa as getStore,
8279
8417
  R as getTheme,
8280
- cr as getUiConfig,
8418
+ X as getUiConfig,
8419
+ pr as getValidationConfig,
8281
8420
  H as globalEvents,
8282
- Jo as initAllTables,
8283
- ae as initCalendar,
8284
- Io as initCalendars,
8285
- te as initCarousel,
8286
- yo as initCarousels,
8287
- ne as initCollapse,
8288
- Ho as initCollapses,
8289
- re as initColorPicker,
8290
- Mo as initColorPickers,
8291
- me as initCountdown,
8292
- No as initCountdowns,
8293
- Gt as initDatepicker,
8294
- mo as initDatepickers,
8295
- rt as initDrawer,
8296
- vo as initDrawers,
8297
- Xt as initDropdown,
8298
- uo as initDropdowns,
8299
- oe as initDynamicTags,
8300
- To as initDynamicTagsAll,
8301
- ie as initFileUpload,
8302
- Do as initFileUploads,
8303
- ca as initFormValidation,
8304
- de as initHeatmap,
8305
- qo as initHeatmaps,
8306
- Ao as initImagePreview,
8307
- Lo as initMessages,
8308
- se as initModal,
8309
- Eo as initModals,
8310
- Co as initNotifications,
8311
- ge as initNumberInput,
8312
- Oo as initNumberInputs,
8313
- Go as initPagination,
8314
- Jt as initSelect,
8315
- fo as initSelects,
8316
- ra as initSlideCaptchas,
8317
- Qt as initSlider,
8318
- _o as initSliders,
8319
- he as initStatCard,
8320
- $o as initStatCards,
8321
- xe as initTable,
8322
- ce as initTag,
8323
- Po as initTags,
8324
- dr as initTheme,
8325
- Zt as initTimepicker,
8326
- go as initTimepickers,
8327
- ue as initTooltip,
8328
- Bo as initTooltips,
8329
- Gr as initVirtualList,
8330
- gt as kupolaBootstrap,
8331
- F as kupolaData,
8332
- Ha as kupolaEvents,
8333
- O as kupolaI18n,
8421
+ Qo as initAllTables,
8422
+ oe as initCalendar,
8423
+ zo as initCalendars,
8424
+ ee as initCarousel,
8425
+ xo as initCarousels,
8426
+ re as initCollapse,
8427
+ Io as initCollapses,
8428
+ ae as initColorPicker,
8429
+ Ao as initColorPickers,
8430
+ ge as initCountdown,
8431
+ Vo as initCountdowns,
8432
+ Zt as initDatepicker,
8433
+ yo as initDatepickers,
8434
+ ot as initDrawer,
8435
+ Eo as initDrawers,
8436
+ jt as initDropdown,
8437
+ mo as initDropdowns,
8438
+ le as initDynamicTags,
8439
+ Po as initDynamicTagsAll,
8440
+ ne as initFileUpload,
8441
+ To as initFileUploads,
8442
+ pa as initFormValidation,
8443
+ ue as initHeatmap,
8444
+ Fo as initHeatmaps,
8445
+ $o as initImagePreview,
8446
+ Mo as initMessages,
8447
+ ie as initModal,
8448
+ Co as initModals,
8449
+ Do as initNotifications,
8450
+ _e as initNumberInput,
8451
+ Ko as initNumberInputs,
8452
+ tl as initPagination,
8453
+ Gt as initSelect,
8454
+ _o as initSelects,
8455
+ ca as initSlideCaptchas,
8456
+ te as initSlider,
8457
+ bo as initSliders,
8458
+ de as initStatCard,
8459
+ Oo as initStatCards,
8460
+ Ee as initTable,
8461
+ he as initTag,
8462
+ qo as initTags,
8463
+ mr as initTheme,
8464
+ Qt as initTimepicker,
8465
+ vo as initTimepickers,
8466
+ pe as initTooltip,
8467
+ No as initTooltips,
8468
+ ea as initVirtualList,
8469
+ yt as kupolaBootstrap,
8470
+ O as kupolaData,
8471
+ Aa as kupolaEvents,
8472
+ N as kupolaI18n,
8334
8473
  E as kupolaInitializer,
8335
- Sa as kupolaLifecycle,
8474
+ Ma as kupolaLifecycle,
8336
8475
  M as kupolaRegistry,
8337
- Ot as kupolaStoreManager,
8338
- Ga as n,
8476
+ Vt as kupolaStoreManager,
8477
+ Ka as maskData,
8478
+ to as n,
8339
8479
  Ii as numberUtils,
8340
- ni as objectUtils,
8341
- ro as off,
8342
- co as offAll,
8343
- lo as offByScope,
8344
- io as on,
8345
- no as once,
8346
- sr as preloadUtils,
8480
+ ri as objectUtils,
8481
+ lo as off,
8482
+ po as offAll,
8483
+ uo as offByScope,
8484
+ ao as on,
8485
+ oo as once,
8486
+ ir as preloadUtils,
8347
8487
  I as ref,
8348
- Va as registerComponent,
8349
- Ka as registerLazyComponent,
8350
- Zo as registerWebComponents,
8351
- at as renderIcon,
8352
- Uo as resetHttpClient,
8488
+ Ua as registerComponent,
8489
+ Ya as registerLazyComponent,
8490
+ el as registerWebComponents,
8491
+ lt as renderIcon,
8492
+ jo as resetHttpClient,
8353
8493
  Na as sanitizeHtml,
8354
- nt as setBrand,
8355
- Ta as setConfig,
8356
- Za as setLocale,
8357
- it as setTheme,
8358
- zo as showImagePreview,
8359
- je as stringUtils,
8360
- Ra as stripHtml,
8361
- fe as svg,
8362
- Ja as t,
8363
- hn as throttle,
8364
- Yo as useDeps,
8365
- Ya as useMixin,
8366
- Xo as useQuery,
8367
- Vo as validateForm,
8494
+ at as setBrand,
8495
+ $a as setConfig,
8496
+ eo as setLocale,
8497
+ rt as setTheme,
8498
+ Bo as showImagePreview,
8499
+ Je as stringUtils,
8500
+ Va as stripHtml,
8501
+ me as svg,
8502
+ Qa as t,
8503
+ dn as throttle,
8504
+ Jo as useDeps,
8505
+ Ja as useMixin,
8506
+ Go as useQuery,
8507
+ Uo as validateForm,
8368
8508
  P as validator,
8369
- Bt as validatorUtils
8509
+ Ft as validatorUtils
8370
8510
  };
8371
8511
  //# sourceMappingURL=kupola.esm.js.map