@kupola/kupola 1.5.3 → 1.5.5

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 lt {
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 lt {
201
201
  console.error(`[KupolaLifecycle] Unhandled error in ${t.phase}:`, t.error);
202
202
  }
203
203
  }
204
- const Sa = new lt("app");
205
- function La(i = "app") {
206
- return new lt(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 wt(i) {
405
- return i ? i.reduce((t, e) => Array.isArray(e) ? t.concat(wt(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 Ct(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 : Ct(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: wt, unique: Ls, uniqueBy: Ds, chunk: Hs, shuffle: Ms, sum: Ct, average: Is, max: Ts, min: As, intersection: zs, union: Ps, difference: $s, zip: qs };
461
- function it(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 St(...i) {
500
+ function Lt(...i) {
501
501
  return i.reduce((t, e) => (e && typeof e == "object" && Object.keys(e).forEach((s) => {
502
- G(s) || (it(e[s]) && it(t[s]) ? t[s] = St(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 Lt(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) => Lt(i[n], t[n]));
573
+ return e.length !== s.length ? !1 : e.every((n) => Dt(i[n], t[n]));
574
574
  }
575
- function Dt(i) {
575
+ function Ht(i) {
576
576
  return i && (Object.freeze(i), Object.keys(i).forEach((t) => {
577
- typeof i[t] == "object" && Dt(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: it, isEmpty: Fs, keys: Ns, values: Os, entries: Rs, has: Vs, get: Ks, set: Ws, pick: Us, omit: Ys, merge: St, clone: Xs, deepClone: U, forEach: js, map: Js, filter: Gs, reduce: Zs, toArray: Qs, fromArray: ti, size: ei, invert: si, isEqual: Lt, freeze: Dt, 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 Ht(...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 ? Ht(t) / t.length : 0;
632
+ return t.length > 0 ? Mt(t) / t.length : 0;
633
633
  }
634
- function Mt(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(Mt(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: Ht, average: _i, random: Mt, 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
696
  function It(i) {
697
- return k(i);
697
+ return w(i);
698
698
  }
699
- function zi(i) {
699
+ function Pi(i) {
700
700
  const t = new Date(i);
701
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 Tt(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 = Tt(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: It, 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: Tt, 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 At(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 zt(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 At(i) || zt(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,10 +882,10 @@ function _n(i) {
882
882
  }
883
883
  return s % 10 === 0;
884
884
  }
885
- function Pt(i) {
885
+ function $t(i) {
886
886
  return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(i || "");
887
887
  }
888
- function $t(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
  }
@@ -895,77 +895,77 @@ function qt(i) {
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 Pt(i) || $t(i) || qt(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 Bt(i, t) {
959
+ function Ot(i, t) {
960
960
  return (i || "").includes(t);
961
961
  }
962
- function $n(i, t) {
963
- return !Bt(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,13 +975,13 @@ 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 = [];
@@ -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 Ft = { isEmail: dn, isPhone: un, isURL: pn, isIPv4: At, isIPv6: zt, isIP: fn, isIDCard: mn, isPassport: gn, isCreditCard: _n, isHexColor: Pt, isRGB: $t, isRGBA: qt, 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: Bt, 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
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 Ot(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
1161
  return Nt(i);
1162
1162
  case "stylesheet":
1163
1163
  case "style":
1164
- return Ot(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: Nt, loadStylesheet: Ot, 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,
1183
+ date: cn,
1184
+ debounce: hn,
1185
+ throttle: dn,
1186
1186
  validator: Ft,
1187
- crypto: jn,
1188
- preload: sr
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 pt {
1200
+ class ft {
1201
1201
  constructor() {
1202
1202
  this.children = {}, this.keys = [];
1203
1203
  }
1204
1204
  }
1205
- class st {
1205
+ class it {
1206
1206
  constructor() {
1207
- this.root = new pt();
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 pt()), 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 st(), 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 st(), 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 st(), 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 ft {
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 ft {
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 ft {
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 ft(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 ft && 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(), Rt = new rr();
1878
- function Ma(i, t) {
1879
- return Rt.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 Rt.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
  },
@@ -1936,70 +1947,73 @@ const T = {
1936
1947
  charset: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
1937
1948
  }
1938
1949
  },
1939
- dev: {
1940
- debug: !1,
1941
- logLevel: "warn"
1950
+ message: {
1951
+ duration: 3e3,
1952
+ position: "top-right",
1953
+ maxCount: 5
1942
1954
  },
1943
- extend: {
1944
- themeVariables: {}
1955
+ notification: {
1956
+ duration: 4500,
1957
+ position: "top-right"
1958
+ },
1959
+ validation: {
1960
+ defaultRules: [],
1961
+ showErrors: !0,
1962
+ trigger: "blur"
1945
1963
  },
1946
1964
  components: {
1947
1965
  autoInit: !0,
1948
1966
  silentErrors: !1
1949
- },
1950
- store: {
1951
- persist: !0,
1952
- prefix: "kupola-"
1953
- },
1954
- events: {
1955
- global: !0
1956
1967
  }
1957
1968
  };
1958
- function Ta(i) {
1959
- Kt(T, i);
1969
+ function $a(i) {
1970
+ Wt(T, i);
1960
1971
  }
1961
- function ct(i) {
1962
- return i ? hr(T, i) : T;
1972
+ function ht(i) {
1973
+ return i ? fr(T, i) : T;
1963
1974
  }
1964
- function Vt() {
1975
+ function Kt() {
1965
1976
  return T.paths.base + T.paths.icons.replace(/^\//, "");
1966
1977
  }
1967
- function Aa() {
1978
+ function Ba() {
1968
1979
  return T.paths.base;
1969
1980
  }
1970
- function or() {
1981
+ function lr() {
1971
1982
  return T.theme.default;
1972
1983
  }
1973
- function lr() {
1984
+ function cr() {
1974
1985
  return T.theme.brand;
1975
1986
  }
1976
- function za() {
1987
+ function qa() {
1977
1988
  return T.http;
1978
1989
  }
1979
- function cr() {
1990
+ function X() {
1980
1991
  return T.ui;
1981
1992
  }
1982
- function tt() {
1993
+ function et() {
1983
1994
  return T.security;
1984
1995
  }
1985
- function Pa() {
1986
- return T.dev;
1987
- }
1988
- function $a() {
1996
+ function hr() {
1989
1997
  return T.performance;
1990
1998
  }
1991
- function qa() {
1992
- return T.extend;
1999
+ function dr() {
2000
+ return T.message;
2001
+ }
2002
+ function ur() {
2003
+ return T.notification;
1993
2004
  }
1994
- function Kt(i, t) {
2005
+ function pr() {
2006
+ return T.validation;
2007
+ }
2008
+ function Wt(i, t) {
1995
2009
  for (const e in t)
1996
- 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];
1997
2011
  return i;
1998
2012
  }
1999
- function hr(i, t) {
2013
+ function fr(i, t) {
2000
2014
  return t.split(".").reduce((e, s) => (e && e[s]) !== void 0 ? e[s] : void 0, i);
2001
2015
  }
2002
- const Wt = "kupola-theme", Ut = "kupola-brand", Y = [
2016
+ const Ut = "kupola-theme", Yt = "kupola-brand", Y = [
2003
2017
  { id: "green", name: "翠绿", color: "#32F08C" },
2004
2018
  { id: "xionghuang", name: "雄黄", color: "#FF9900" },
2005
2019
  { id: "jianghuang", name: "姜黄", color: "#E2C027" },
@@ -2013,11 +2027,11 @@ const Wt = "kupola-theme", Ut = "kupola-brand", Y = [
2013
2027
  { id: "roulan", name: "柔蓝", color: "#106898" }
2014
2028
  ];
2015
2029
  function R() {
2016
- return localStorage.getItem(Wt) || or();
2030
+ return localStorage.getItem(Ut) || lr();
2017
2031
  }
2018
- function nt(i) {
2032
+ function rt(i) {
2019
2033
  if (i !== "dark" && i !== "light") return;
2020
- document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Wt, i);
2034
+ document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Ut, i);
2021
2035
  const t = document.querySelector("[data-theme-toggle]");
2022
2036
  if (t) {
2023
2037
  t.setAttribute("data-current-theme", i);
@@ -2028,13 +2042,13 @@ function nt(i) {
2028
2042
  }
2029
2043
  }
2030
2044
  }
2031
- function X() {
2032
- return localStorage.getItem(Ut) || lr();
2045
+ function j() {
2046
+ return localStorage.getItem(Yt) || cr();
2033
2047
  }
2034
- function rt(i) {
2048
+ function at(i) {
2035
2049
  const t = Y.find((n) => n.id === i);
2036
2050
  if (!t) return;
2037
- document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Ut, i);
2051
+ document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Yt, i);
2038
2052
  const e = document.querySelector("[data-brand-toggle]");
2039
2053
  if (e) {
2040
2054
  e.setAttribute("data-current-brand", i);
@@ -2047,26 +2061,26 @@ function rt(i) {
2047
2061
  n.getAttribute("data-brand-btn") === i ? n.classList.add("is-active") : n.classList.remove("is-active");
2048
2062
  });
2049
2063
  }
2050
- function mt(i) {
2064
+ function gt(i) {
2051
2065
  const t = i.querySelector(".theme-icon");
2052
2066
  if (t) {
2053
- const e = R(), s = Vt();
2067
+ const e = R(), s = Kt();
2054
2068
  t.src = e === "dark" ? s + "sun.svg" : s + "moon.svg";
2055
2069
  }
2056
2070
  }
2057
- function dr() {
2071
+ function mr() {
2058
2072
  const i = R();
2059
- nt(i);
2060
- const t = X();
2061
- rt(t);
2073
+ rt(i);
2074
+ const t = j();
2075
+ at(t);
2062
2076
  const e = document.querySelector("[data-theme-toggle]");
2063
2077
  if (e) {
2064
- mt(e);
2078
+ gt(e);
2065
2079
  const o = e.onclick;
2066
2080
  e.onclick = function(l) {
2067
2081
  l.preventDefault();
2068
2082
  const h = R() === "dark" ? "light" : "dark";
2069
- nt(h), mt(e), typeof o == "function" && o.call(this, l);
2083
+ rt(h), gt(e), typeof o == "function" && o.call(this, l);
2070
2084
  };
2071
2085
  }
2072
2086
  let s = document.getElementById("brand-picker");
@@ -2091,20 +2105,20 @@ function dr() {
2091
2105
  o.addEventListener("click", (l) => {
2092
2106
  l.stopPropagation();
2093
2107
  const c = o.getAttribute("data-brand-btn");
2094
- rt(c), s && (s.style.display = "none");
2108
+ at(c), s && (s.style.display = "none");
2095
2109
  });
2096
2110
  });
2097
2111
  }
2098
- function Ba() {
2112
+ function Oa() {
2099
2113
  const i = document.createElement("button");
2100
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";
2101
2115
  const t = document.createElement("img");
2102
2116
  t.className = "theme-icon";
2103
- const e = Vt();
2117
+ const e = Kt();
2104
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) {
2105
2119
  s.preventDefault();
2106
2120
  const r = R() === "dark" ? "light" : "dark";
2107
- nt(r);
2121
+ rt(r);
2108
2122
  }, i;
2109
2123
  }
2110
2124
  function Fa() {
@@ -2114,11 +2128,11 @@ function Fa() {
2114
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);
2115
2129
  }), document.body.appendChild(i);
2116
2130
  const t = document.createElement("button");
2117
- 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";
2118
2132
  const e = document.createElement("span");
2119
- 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;
2120
2134
  const s = document.createElement("span");
2121
- 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) {
2122
2136
  a.stopPropagation(), a.preventDefault();
2123
2137
  const o = i.style.display === "none";
2124
2138
  i.style.display = o ? "grid" : "none", o ? setTimeout(() => {
@@ -2134,12 +2148,12 @@ function Fa() {
2134
2148
  a.addEventListener("click", (o) => {
2135
2149
  o.stopPropagation();
2136
2150
  const l = a.getAttribute("data-brand-btn");
2137
- rt(l), i.style.display = "none";
2151
+ at(l), i.style.display = "none";
2138
2152
  });
2139
2153
  }), { toggleBtn: t, container: i };
2140
2154
  }
2141
2155
  function Na(i, t = {}) {
2142
- const s = tt()?.sanitizeHtml || {};
2156
+ const s = et()?.sanitizeHtml || {};
2143
2157
  if (!s.enabled && !t.force)
2144
2158
  return i;
2145
2159
  const n = t.allowedTags || s.allowedTags || [], r = t.allowedAttributes || s.allowedAttributes || {};
@@ -2158,17 +2172,17 @@ function Na(i, t = {}) {
2158
2172
  });
2159
2173
  }), o.body.innerHTML;
2160
2174
  }
2161
- function Oa(i) {
2175
+ function Ra(i) {
2162
2176
  if (typeof i != "string")
2163
2177
  return i;
2164
2178
  const t = document.createElement("div");
2165
2179
  return t.textContent = i, t.innerHTML;
2166
2180
  }
2167
- function Ra(i) {
2181
+ function Va(i) {
2168
2182
  return typeof i != "string" ? i : new DOMParser().parseFromString(i, "text/html").body.textContent || "";
2169
2183
  }
2170
- function Va(i, t, e = {}) {
2171
- const n = tt()?.maskData || {};
2184
+ function Ka(i, t, e = {}) {
2185
+ const n = et()?.maskData || {};
2172
2186
  if (!n.enabled && !e.force || i == null)
2173
2187
  return i;
2174
2188
  const a = (e.patterns || n.patterns || {})[t];
@@ -2177,8 +2191,8 @@ function Va(i, t, e = {}) {
2177
2191
  const o = typeof a.regex == "string" ? new RegExp(a.regex) : a.regex;
2178
2192
  return String(i).replace(o, a.replace);
2179
2193
  }
2180
- function Ka(i, t) {
2181
- const s = tt()?.secureId || {}, n = i || s.length || 16, r = s.charset || "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
2194
+ function Wa(i, t) {
2195
+ const s = et()?.secureId || {}, n = i || s.length || 16, r = s.charset || "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
2182
2196
  if (typeof crypto > "u" || !crypto.getRandomValues) {
2183
2197
  let l = "";
2184
2198
  for (let c = 0; c < n; c++)
@@ -2192,7 +2206,7 @@ function Ka(i, t) {
2192
2206
  o += r[a[l] % r.length];
2193
2207
  return t ? `${t}_${o}` : o;
2194
2208
  }
2195
- class ur {
2209
+ class gr {
2196
2210
  constructor() {
2197
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;
2198
2212
  }
@@ -2299,7 +2313,7 @@ class ur {
2299
2313
  }), await Promise.all(n);
2300
2314
  }
2301
2315
  }
2302
- const E = new ur(), pr = [
2316
+ const E = new gr(), _r = [
2303
2317
  { attr: "data-dropdown", cls: "ds-dropdown" },
2304
2318
  { attr: "data-select", cls: "ds-select" },
2305
2319
  { attr: "data-datepicker", cls: "ds-datepicker" },
@@ -2321,11 +2335,11 @@ const E = new ur(), pr = [
2321
2335
  { cls: "ds-notification" },
2322
2336
  { cls: "ds-message" }
2323
2337
  ];
2324
- for (const i of pr)
2338
+ for (const i of _r)
2325
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);
2326
- class J {
2340
+ class G {
2327
2341
  constructor(t) {
2328
- 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 lt(), 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;
2329
2343
  }
2330
2344
  _parseProps() {
2331
2345
  const t = {};
@@ -2424,7 +2438,7 @@ class J {
2424
2438
  };
2425
2439
  let e = Object.getPrototypeOf(this);
2426
2440
  const s = /* @__PURE__ */ new Set();
2427
- for (; e && e.constructor !== Object && e.constructor !== J; ) {
2441
+ for (; e && e.constructor !== Object && e.constructor !== G; ) {
2428
2442
  for (const [n, r] of Object.entries(t))
2429
2443
  s.has(n) || e.hasOwnProperty(n) && (Array.isArray(r) ? r.forEach((a) => {
2430
2444
  n === "render" && this.lifecycle.on(a, () => this.render?.());
@@ -2458,7 +2472,7 @@ class J {
2458
2472
  setup() {
2459
2473
  }
2460
2474
  }
2461
- function gt(i, t) {
2475
+ function _t(i, t) {
2462
2476
  Object.keys(t).forEach((e) => {
2463
2477
  if (e !== "constructor")
2464
2478
  if (typeof t[e] == "function") {
@@ -2470,12 +2484,12 @@ function gt(i, t) {
2470
2484
  i.prototype[e] = t[e];
2471
2485
  });
2472
2486
  }
2473
- class fr {
2487
+ class yr {
2474
2488
  constructor() {
2475
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();
2476
2490
  }
2477
2491
  register(t, e) {
2478
- if (!(e.prototype instanceof J))
2492
+ if (!(e.prototype instanceof G))
2479
2493
  throw new Error(`Component ${t} must extend KupolaComponent`);
2480
2494
  this.components.set(t, e);
2481
2495
  }
@@ -2499,7 +2513,7 @@ class fr {
2499
2513
  const n = (async () => {
2500
2514
  try {
2501
2515
  const r = await s(), a = r.default || r;
2502
- if (!(a.prototype instanceof J))
2516
+ if (!(a.prototype instanceof G))
2503
2517
  throw new Error(`Component ${t} must extend KupolaComponent`);
2504
2518
  return this.loadedComponents.set(t, a), a;
2505
2519
  } catch (r) {
@@ -2514,7 +2528,7 @@ class fr {
2514
2528
  useMixin(t, ...e) {
2515
2529
  e.forEach((s) => {
2516
2530
  const n = this.mixins.get(s);
2517
- n && gt(t, n);
2531
+ n && _t(t, n);
2518
2532
  });
2519
2533
  }
2520
2534
  async bootstrap(t = document) {
@@ -2555,7 +2569,7 @@ class fr {
2555
2569
  const n = t.getAttribute("data-mixins"), r = s;
2556
2570
  n && n.split(",").forEach((o) => {
2557
2571
  const l = this.mixins.get(o.trim());
2558
- l && gt(r, l);
2572
+ l && _t(r, l);
2559
2573
  });
2560
2574
  const a = new r(t);
2561
2575
  t.__kupolaInstance = a, this.instances.set(t, a), a.mount();
@@ -2601,37 +2615,37 @@ class fr {
2601
2615
  }
2602
2616
  }
2603
2617
  let M = null;
2604
- typeof window < "u" && (M = new fr());
2605
- function mr() {
2606
- if (tt().xssProtection && typeof document < "u") {
2618
+ typeof window < "u" && (M = new yr());
2619
+ function vr() {
2620
+ if (et().xssProtection && typeof document < "u") {
2607
2621
  let t = document.querySelector('meta[http-equiv="X-XSS-Protection"]');
2608
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));
2609
2623
  }
2610
2624
  }
2611
- async function _t() {
2625
+ async function yt() {
2612
2626
  if (typeof window < "u") {
2613
- mr();
2614
- const i = ct();
2615
- 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());
2616
2630
  }
2617
2631
  }
2618
- typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", _t) : typeof window < "u" && setTimeout(_t, 0);
2619
- function Wa(i, t) {
2632
+ typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", yt) : typeof window < "u" && setTimeout(yt, 0);
2633
+ function Ua(i, t) {
2620
2634
  M && M.register(i, t);
2621
2635
  }
2622
- function Ua(i, t) {
2636
+ function Ya(i, t) {
2623
2637
  M && M.registerLazy(i, t);
2624
2638
  }
2625
- function Ya(i) {
2639
+ function Xa(i) {
2626
2640
  return M ? M.bootstrap(i) : Promise.resolve();
2627
2641
  }
2628
- function Xa(i, t) {
2642
+ function ja(i, t) {
2629
2643
  M && M.defineMixin(i, t);
2630
2644
  }
2631
- function ja(i, ...t) {
2645
+ function Ja(i, ...t) {
2632
2646
  M && M.useMixin(i, ...t);
2633
2647
  }
2634
- function Ja(i, t) {
2648
+ function Ga(i, t) {
2635
2649
  if (!t || typeof t != "object")
2636
2650
  throw new Error(`defineComponent("${i}"): options must be an object`);
2637
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, {
@@ -2643,9 +2657,9 @@ function Ja(i, t) {
2643
2657
  cssClass: t.cssClass
2644
2658
  });
2645
2659
  }
2646
- class Yt {
2660
+ class Xt {
2647
2661
  constructor(t = {}) {
2648
- const e = ct();
2662
+ const e = ht();
2649
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();
2650
2664
  }
2651
2665
  _initFromDOM() {
@@ -2741,32 +2755,32 @@ class Yt {
2741
2755
  return new Intl.RelativeTimeFormat(n, s).format(t, e);
2742
2756
  }
2743
2757
  }
2744
- const O = new Yt();
2745
- function Ga(i) {
2746
- return new Yt(i);
2747
- }
2748
- function Za(i, t = {}) {
2749
- return O.t(i, t);
2758
+ const N = new Xt();
2759
+ function Za(i) {
2760
+ return new Xt(i);
2750
2761
  }
2751
- function Qa(i, t, e = {}) {
2752
- return O.n(i, t, e);
2762
+ function Qa(i, t = {}) {
2763
+ return N.t(i, t);
2753
2764
  }
2754
- function to(i) {
2755
- return O.setLocale(i);
2765
+ function to(i, t, e = {}) {
2766
+ return N.n(i, t, e);
2756
2767
  }
2757
- function eo() {
2758
- return O.getLocale();
2768
+ function eo(i) {
2769
+ return N.setLocale(i);
2759
2770
  }
2760
- function so(i, t = {}) {
2761
- return O.formatDate(i, t);
2771
+ function so() {
2772
+ return N.getLocale();
2762
2773
  }
2763
2774
  function io(i, t = {}) {
2764
- return O.formatNumber(i, t);
2775
+ return N.formatDate(i, t);
2765
2776
  }
2766
- function no(i, t, e = {}) {
2767
- return O.formatCurrency(i, t, e);
2777
+ function no(i, t = {}) {
2778
+ return N.formatNumber(i, t);
2768
2779
  }
2769
- class gr {
2780
+ function ro(i, t, e = {}) {
2781
+ return N.formatCurrency(i, t, e);
2782
+ }
2783
+ class br {
2770
2784
  constructor() {
2771
2785
  this._listeners = /* @__PURE__ */ new Map(), this._scopeListeners = /* @__PURE__ */ new Map();
2772
2786
  }
@@ -2896,39 +2910,42 @@ class gr {
2896
2910
  this._listeners.clear(), this._scopeListeners.clear();
2897
2911
  }
2898
2912
  }
2899
- const H = new gr();
2900
- function ro(i, t, e, s) {
2913
+ const H = new br();
2914
+ function ao(i, t, e, s) {
2901
2915
  return H.on(i, t, e, s);
2902
2916
  }
2903
- function ao(i, t, e, s) {
2917
+ function oo(i, t, e, s) {
2904
2918
  return H.once(i, t, e, s);
2905
2919
  }
2906
- function oo(i, t, e) {
2920
+ function lo(i, t, e) {
2907
2921
  H.off(i, t, e);
2908
2922
  }
2909
- function lo(i, t, e) {
2923
+ function co(i, t, e) {
2910
2924
  return H.emit(i, t, e);
2911
2925
  }
2912
- function co(i, t) {
2926
+ function ho(i, t) {
2913
2927
  return H.emitGlobal(i, t);
2914
2928
  }
2915
- function ho(i) {
2929
+ function uo(i) {
2916
2930
  H.offByScope(i);
2917
2931
  }
2918
- function uo(i, t) {
2932
+ function po(i, t) {
2919
2933
  H.offAll(i, t);
2920
2934
  }
2921
- function po(i, t) {
2935
+ function fo(i, t) {
2922
2936
  return H.getListenerCount(i, t);
2923
2937
  }
2924
- class _r {
2938
+ class xr {
2925
2939
  constructor(t, e = {}) {
2926
- 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;
2927
2943
  }
2928
2944
  init() {
2929
2945
  !this.trigger || !this.menu || this.element.__kupolaInitialized || (this._itemClickHandler = (t) => {
2946
+ t.stopPropagation();
2930
2947
  const e = t.currentTarget;
2931
- 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());
2948
+ e.classList.contains("is-disabled") || e.classList.contains("ds-dropdown__divider") || (this.menu.querySelectorAll(".ds-dropdown__item").forEach((s) => s.classList.remove("is-selected")), e.classList.add("is-selected"), this.triggerText && !e.hasAttribute("data-no-update-trigger") && (this.triggerText.textContent = e.textContent.trim()), this.element.setAttribute("data-value", e.getAttribute("data-value") || ""), this.onSelect && this.onSelect({ item: e, value: e.getAttribute("data-value"), text: e.textContent.trim() }), this.closeOnClick && (this.hideMenu(), this.trigger.focus()));
2932
2949
  }, this._bindMenuItems(), this._triggerClickHandler = (t) => {
2933
2950
  t.stopPropagation(), !this.disabled && this.toggleMenu();
2934
2951
  }, this._triggerMouseenterHandler = () => {
@@ -2940,7 +2957,8 @@ class _r {
2940
2957
  }, this._mouseleaveHandler = () => {
2941
2958
  this.triggerMode === "hover" && (this._hoverLeaveTimer = setTimeout(() => this.hideMenu(), this.hoverDelay));
2942
2959
  }, this._keydownHandler = (t) => {
2943
- if (!this.isOpen || this.disabled) return;
2960
+ if (!this.isOpen || this.disabled)
2961
+ return;
2944
2962
  const e = this._getNavigableItems();
2945
2963
  if (e.length)
2946
2964
  switch (t.key) {
@@ -2967,7 +2985,7 @@ class _r {
2967
2985
  }, 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) => {
2968
2986
  this.disabled || (t.key === "Enter" || t.key === " " || t.key === "ArrowDown") && (t.preventDefault(), this.showMenu());
2969
2987
  }, this.trigger.addEventListener("keydown", this._triggerKeydownHandler), document.addEventListener("keydown", this._keydownHandler), this._documentClickHandler = (t) => {
2970
- this.element.contains(t.target) || this.hideMenu();
2988
+ !this.element.contains(t.target) && !this.menu.contains(t.target) && this.hideMenu();
2971
2989
  }, this._documentClickListener = H.on(document, "click", this._documentClickHandler, { scope: this.scope }), this.menu.style.display = "none", this.element.__kupolaInitialized = !0);
2972
2990
  }
2973
2991
  _bindMenuItems() {
@@ -2982,17 +3000,37 @@ class _r {
2982
3000
  t.forEach((e) => e.classList.remove("is-focused")), t[this.focusIndex] && (t[this.focusIndex].classList.add("is-focused"), t[this.focusIndex].scrollIntoView({ block: "nearest" }));
2983
3001
  }
2984
3002
  _calculatePosition() {
2985
- if (!this.autoPosition) return;
3003
+ if (!this.autoPosition)
3004
+ return;
2986
3005
  const t = this.element.getBoundingClientRect(), e = this.menu.getBoundingClientRect(), s = window.innerHeight, n = window.innerWidth;
2987
- this.menu.classList.remove("ds-dropdown--top", "ds-dropdown--right", "ds-dropdown--dropup");
2988
- const r = s - t.bottom, a = t.top;
2989
- 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");
3006
+ if (this.menu.classList.remove("ds-dropdown--top", "ds-dropdown--right", "ds-dropdown--dropup"), this.appendToBody) {
3007
+ this.menu.style.width = `${Math.max(t.width, e.width)}px`;
3008
+ const r = s - t.bottom, a = t.top;
3009
+ 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");
3010
+ } else {
3011
+ const r = s - t.bottom, a = t.top;
3012
+ 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");
3013
+ }
2990
3014
  }
2991
3015
  showMenu() {
2992
- 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 })));
3016
+ 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 })));
2993
3017
  }
2994
3018
  hideMenu() {
2995
- 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 })));
3019
+ 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 })));
3020
+ }
3021
+ _appendMenuToBody() {
3022
+ 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));
3023
+ }
3024
+ _restoreMenuFromBody() {
3025
+ !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);
3026
+ }
3027
+ _addScrollListener() {
3028
+ this._scrollHandler = () => {
3029
+ this.hideMenu();
3030
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3031
+ }
3032
+ _removeScrollListener() {
3033
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
2996
3034
  }
2997
3035
  toggleMenu() {
2998
3036
  this.isOpen ? this.hideMenu() : this.showMenu();
@@ -3020,33 +3058,34 @@ class _r {
3020
3058
  destroy() {
3021
3059
  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) => {
3022
3060
  t._dropdownItemClickHandler && t.removeEventListener("click", t._dropdownItemClickHandler);
3023
- }), 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);
3061
+ }), 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);
3024
3062
  }
3025
3063
  }
3026
- function Xt(i, t) {
3027
- const e = new _r(i, t);
3064
+ function jt(i, t) {
3065
+ const e = new xr(i, t);
3028
3066
  e.init(), i._kupolaDropdown = e;
3029
3067
  }
3030
- function fo(i = document) {
3068
+ function mo(i = document) {
3031
3069
  i.querySelectorAll(".ds-dropdown").forEach((t) => {
3032
- Xt(t);
3070
+ jt(t);
3033
3071
  });
3034
3072
  }
3035
- function jt(i) {
3073
+ function Jt(i) {
3036
3074
  i._kupolaDropdown && (i._kupolaDropdown.destroy(), i._kupolaDropdown = null);
3037
3075
  }
3038
- function mo() {
3076
+ function go() {
3039
3077
  document.querySelectorAll(".ds-dropdown").forEach((i) => {
3040
- jt(i);
3078
+ Jt(i);
3041
3079
  });
3042
3080
  }
3043
- E.register("dropdown", Xt, jt);
3044
- class yr {
3081
+ E.register("dropdown", jt, Jt);
3082
+ class Er {
3045
3083
  constructor(t, e = {}) {
3046
- 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;
3084
+ 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;
3047
3085
  }
3048
3086
  init() {
3049
3087
  !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) => {
3088
+ t.stopPropagation();
3050
3089
  const e = t.currentTarget;
3051
3090
  if (e.classList.contains("is-disabled")) return;
3052
3091
  const s = e.getAttribute("data-value");
@@ -3072,7 +3111,7 @@ class yr {
3072
3111
  break;
3073
3112
  }
3074
3113
  }, document.addEventListener("keydown", this._keydownHandler), this._documentClickHandler = (t) => {
3075
- this.element.contains(t.target) || this.hideOptions();
3114
+ !this.element.contains(t.target) && !this.optionsEl.contains(t.target) && this.hideOptions();
3076
3115
  }, this._documentClickListener = H.on(document, "click", this._documentClickHandler, { scope: this.scope }), this._restoreSelectedState(), this.optionsEl.style.display = "none", this.element.__kupolaInitialized = !0);
3077
3116
  }
3078
3117
  _collectOptions() {
@@ -3214,10 +3253,31 @@ class yr {
3214
3253
  this.valueEl && (this.valueEl.textContent = t || this.valueEl.textContent, this.valueEl.classList.remove("ds-select__value--placeholder"));
3215
3254
  }
3216
3255
  showOptions() {
3217
- 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));
3256
+ 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));
3218
3257
  }
3219
3258
  hideOptions() {
3220
- 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")));
3259
+ 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")));
3260
+ }
3261
+ _addScrollListener() {
3262
+ this._scrollHandler = () => {
3263
+ this.hideOptions();
3264
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3265
+ }
3266
+ _removeScrollListener() {
3267
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
3268
+ }
3269
+ _appendOptionsToBody() {
3270
+ 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));
3271
+ }
3272
+ _restoreOptionsFromBody() {
3273
+ !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);
3274
+ }
3275
+ _calculateOptionsPosition() {
3276
+ if (!this.appendToBody || !this.optionsEl) return;
3277
+ const t = this.element.getBoundingClientRect(), e = this.optionsEl.getBoundingClientRect(), s = window.innerHeight, n = window.innerWidth;
3278
+ this.optionsEl.style.width = `${Math.max(t.width, e.width)}px`;
3279
+ const r = s - t.bottom, a = t.top;
3280
+ 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`;
3221
3281
  }
3222
3282
  toggleOptions() {
3223
3283
  this.isOpen ? this.hideOptions() : this.showOptions();
@@ -3251,25 +3311,27 @@ class yr {
3251
3311
  destroy() {
3252
3312
  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) => {
3253
3313
  t._selectOptionClickHandler && t.removeEventListener("click", t._selectOptionClickHandler);
3254
- }), 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);
3314
+ }), 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);
3255
3315
  }
3256
3316
  }
3257
- function Jt(i, t) {
3258
- const e = new yr(i, t);
3317
+ function Gt(i, t) {
3318
+ const e = new Er(i, t);
3259
3319
  e.init(), i._kupolaSelect = e;
3260
3320
  }
3261
- function go(i = document) {
3321
+ function _o(i = document) {
3262
3322
  i.querySelectorAll(".ds-select").forEach((t) => {
3263
- Jt(t);
3323
+ Gt(t);
3264
3324
  });
3265
3325
  }
3266
- function vr(i) {
3326
+ function wr(i) {
3267
3327
  i._kupolaSelect && (i._kupolaSelect.destroy(), i._kupolaSelect = null);
3268
3328
  }
3269
- E.register("select", Jt, vr);
3270
- class br {
3329
+ E.register("select", Gt, wr);
3330
+ class kr {
3271
3331
  constructor(t, e = {}) {
3272
- 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;
3332
+ 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)}`;
3333
+ const s = X(), n = s.datepicker?.weekStart !== void 0 ? s.datepicker.weekStart : 1;
3334
+ 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;
3273
3335
  }
3274
3336
  init() {
3275
3337
  if (this.calendarEl && !this.element.__kupolaInitialized) {
@@ -3287,23 +3349,27 @@ class br {
3287
3349
  }
3288
3350
  }
3289
3351
  _parseDate(t) {
3290
- if (!t) return null;
3352
+ if (!t)
3353
+ return null;
3291
3354
  const e = t.split("-");
3292
3355
  return e.length === 3 ? new Date(parseInt(e[0]), parseInt(e[1]) - 1, parseInt(e[2])) : null;
3293
3356
  }
3294
3357
  _formatDate(t) {
3295
- if (!t) return "";
3358
+ if (!t)
3359
+ return "";
3296
3360
  const e = t.getFullYear(), s = String(t.getMonth() + 1).padStart(2, "0"), n = String(t.getDate()).padStart(2, "0");
3297
3361
  return this.format.replace("YYYY", e).replace("MM", s).replace("DD", n);
3298
3362
  }
3299
3363
  _isDateDisabled(t) {
3300
3364
  if (this.minDate) {
3301
3365
  const e = typeof this.minDate == "string" ? this._parseDate(this.minDate) : this.minDate;
3302
- if (t < e) return !0;
3366
+ if (t < e)
3367
+ return !0;
3303
3368
  }
3304
3369
  if (this.maxDate) {
3305
3370
  const e = typeof this.maxDate == "string" ? this._parseDate(this.maxDate) : this.maxDate;
3306
- if (t > e) return !0;
3371
+ if (t > e)
3372
+ return !0;
3307
3373
  }
3308
3374
  return this.disabledDate ? this.disabledDate(t) : !1;
3309
3375
  }
@@ -3315,30 +3381,46 @@ class br {
3315
3381
  return !t || !e ? !1 : t.getFullYear() === e.getFullYear() && t.getMonth() === e.getMonth() && t.getDate() === e.getDate();
3316
3382
  }
3317
3383
  _isInRange(t) {
3318
- if (!this.range || !this.rangeStart || !this.rangeEnd) return !1;
3384
+ if (!this.range || !this.rangeStart || !this.rangeEnd)
3385
+ return !1;
3319
3386
  const e = t.getTime(), s = Math.min(this.rangeStart.getTime(), this.rangeEnd.getTime()), n = Math.max(this.rangeStart.getTime(), this.rangeEnd.getTime());
3320
3387
  return e >= s && e <= n;
3321
3388
  }
3322
3389
  calculatePosition() {
3323
3390
  const t = this.element.getBoundingClientRect(), e = this.calendarEl.getBoundingClientRect(), n = window.innerHeight - t.bottom, r = t.top, a = e.height || 320;
3324
- 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");
3391
+ 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");
3325
3392
  }
3326
3393
  toggleCalendar(t) {
3327
3394
  t.preventDefault(), t.stopPropagation();
3328
3395
  const e = this.calendarEl.style.display === "block";
3329
3396
  document.querySelectorAll(".ds-datepicker__calendar").forEach((s) => {
3330
3397
  s !== this.calendarEl && (s.style.display = "none", s.setAttribute("hidden", ""));
3331
- }), e || (this.calendarEl.style.display = "block", this.calendarEl.removeAttribute("hidden"), this.calculatePosition());
3398
+ }), e || (this.appendToBody && (this._appendCalendarToBody(), this._addScrollListener()), this.calendarEl.style.display = "block", this.calendarEl.removeAttribute("hidden"), this.calculatePosition());
3332
3399
  }
3333
3400
  hideCalendar(t) {
3334
- this.element.contains(t.target) || (this.calendarEl.style.display = "none", this.calendarEl.setAttribute("hidden", ""), this.viewMode = "days");
3401
+ !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()));
3402
+ }
3403
+ _addScrollListener() {
3404
+ this._scrollHandler = () => {
3405
+ this.hideCalendar({ target: document });
3406
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3407
+ }
3408
+ _removeScrollListener() {
3409
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
3410
+ }
3411
+ _appendCalendarToBody() {
3412
+ 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));
3413
+ }
3414
+ _restoreCalendarFromBody() {
3415
+ !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);
3335
3416
  }
3336
3417
  resizeHandler() {
3337
3418
  this.calendarEl.style.display === "block" && this.calculatePosition();
3338
3419
  }
3339
3420
  _renderCalendar() {
3340
3421
  const t = this.calendarEl;
3341
- if (!t) return;
3422
+ if (!t)
3423
+ return;
3342
3424
  if (t.querySelectorAll(".ds-datepicker__day").forEach((p) => {
3343
3425
  p._dayClickHandler && p.removeEventListener("click", p._dayClickHandler);
3344
3426
  }), this.viewMode === "years") {
@@ -3502,23 +3584,23 @@ class br {
3502
3584
  destroy() {
3503
3585
  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) => {
3504
3586
  t._dayClickHandler && t.removeEventListener("click", t._dayClickHandler);
3505
- }), 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);
3587
+ }), 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);
3506
3588
  }
3507
3589
  }
3508
- function Gt(i, t) {
3509
- const e = new br(i, t);
3590
+ function Zt(i, t) {
3591
+ const e = new kr(i, t);
3510
3592
  e.init(), i._kupolaDatepicker = e;
3511
3593
  }
3512
- function _o(i = document) {
3594
+ function yo(i = document) {
3513
3595
  i.querySelectorAll(".ds-datepicker").forEach((t) => {
3514
- Gt(t);
3596
+ Zt(t);
3515
3597
  });
3516
3598
  }
3517
- function xr(i) {
3599
+ function Cr(i) {
3518
3600
  i._kupolaDatepicker && (i._kupolaDatepicker.destroy(), i._kupolaDatepicker = null);
3519
3601
  }
3520
- E.register("datepicker", Gt, xr);
3521
- class Er {
3602
+ E.register("datepicker", Zt, Cr);
3603
+ class Sr {
3522
3604
  constructor(t, e = {}) {
3523
3605
  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;
3524
3606
  }
@@ -3700,20 +3782,20 @@ class Er {
3700
3782
  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);
3701
3783
  }
3702
3784
  }
3703
- function Zt(i, t) {
3704
- const e = new Er(i, t);
3785
+ function Qt(i, t) {
3786
+ const e = new Sr(i, t);
3705
3787
  e.init(), i._kupolaTimepicker = e;
3706
3788
  }
3707
- function yo(i = document) {
3789
+ function vo(i = document) {
3708
3790
  i.querySelectorAll(".ds-timepicker").forEach((t) => {
3709
- Zt(t);
3791
+ Qt(t);
3710
3792
  });
3711
3793
  }
3712
- function kr(i) {
3794
+ function Lr(i) {
3713
3795
  i._kupolaTimepicker && (i._kupolaTimepicker.destroy(), i._kupolaTimepicker = null);
3714
3796
  }
3715
- E.register("timepicker", Zt, kr);
3716
- class wr {
3797
+ E.register("timepicker", Qt, Lr);
3798
+ class Dr {
3717
3799
  constructor(t, e = {}) {
3718
3800
  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)
3719
3801
  throw new Error("Slider: Missing required elements");
@@ -3861,26 +3943,26 @@ class wr {
3861
3943
  this.disabled = !0, this.element.classList.add("is-disabled");
3862
3944
  }
3863
3945
  }
3864
- function Qt(i, t) {
3946
+ function te(i, t) {
3865
3947
  if (!i.__kupolaInitialized)
3866
3948
  try {
3867
- const e = new wr(i, t);
3949
+ const e = new Dr(i, t);
3868
3950
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3869
3951
  } catch (e) {
3870
3952
  console.error("[Slider] Error initializing:", e);
3871
3953
  }
3872
3954
  }
3873
- function Cr(i) {
3955
+ function Hr(i) {
3874
3956
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3875
3957
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3876
3958
  }
3877
- function vo() {
3959
+ function bo() {
3878
3960
  document.querySelectorAll(".ds-slider").forEach((i) => {
3879
- Qt(i);
3961
+ te(i);
3880
3962
  });
3881
3963
  }
3882
- E.register("slider", Qt, Cr);
3883
- class Sr {
3964
+ E.register("slider", te, Hr);
3965
+ class Mr {
3884
3966
  constructor(t, e = {}) {
3885
3967
  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 = () => {
3886
3968
  this.pauseOnHover && this.stopAutoPlay();
@@ -3961,22 +4043,22 @@ class Sr {
3961
4043
  }), 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;
3962
4044
  }
3963
4045
  }
3964
- function te(i, t) {
4046
+ function ee(i, t) {
3965
4047
  if (i.__kupolaInitialized) return;
3966
- const e = new Sr(i, t);
4048
+ const e = new Mr(i, t);
3967
4049
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3968
4050
  }
3969
- function bo(i = document) {
4051
+ function xo(i = document) {
3970
4052
  i.querySelectorAll(".ds-carousel").forEach((t) => {
3971
- te(t);
4053
+ ee(t);
3972
4054
  });
3973
4055
  }
3974
- function Lr(i) {
4056
+ function Tr(i) {
3975
4057
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3976
4058
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3977
4059
  }
3978
- E.register("carousel", te, Lr);
3979
- class Dr {
4060
+ E.register("carousel", ee, Tr);
4061
+ class Ir {
3980
4062
  constructor(t, e = {}) {
3981
4063
  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();
3982
4064
  }
@@ -4013,20 +4095,20 @@ class Dr {
4013
4095
  return this.drawerEl?.classList.contains("is-visible") || !1;
4014
4096
  }
4015
4097
  }
4016
- function at(i, t) {
4098
+ function ot(i, t) {
4017
4099
  if (i.__kupolaInitialized) return;
4018
- const e = new Dr(i, t);
4100
+ const e = new Ir(i, t);
4019
4101
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4020
4102
  }
4021
- function Hr(i) {
4103
+ function Ar(i) {
4022
4104
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4023
4105
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4024
4106
  }
4025
- function xo() {
4107
+ function Eo() {
4026
4108
  document.querySelectorAll("[data-drawer]").forEach((i) => {
4027
4109
  i.addEventListener("click", () => {
4028
4110
  const t = i.getAttribute("data-drawer"), e = document.getElementById(t);
4029
- e && (at(e, {
4111
+ e && (ot(e, {
4030
4112
  placement: i.getAttribute("data-drawer-placement") || "right",
4031
4113
  width: i.getAttribute("data-drawer-width"),
4032
4114
  height: i.getAttribute("data-drawer-height")
@@ -4034,16 +4116,18 @@ function xo() {
4034
4116
  });
4035
4117
  }), document.querySelectorAll(".ds-drawer-mask").forEach((i) => {
4036
4118
  const t = i.parentElement;
4037
- t && at(t);
4119
+ t && ot(t);
4038
4120
  });
4039
4121
  }
4040
- E.register("drawer", at, Hr);
4122
+ E.register("drawer", ot, Ar);
4041
4123
  class $ {
4042
4124
  constructor(t, e = {}) {
4043
- 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) => {
4044
- this.escClose && s.key === "Escape" && this.isVisible() && this.close();
4045
- }, this._closeBtnClickHandler = () => this.close(), this._maskClickHandler = (s) => {
4046
- this.closableOnMask && s.target === this.mask && this.close();
4125
+ this.element = t, this.mask = t.querySelector(".ds-modal-mask"), this.modal = t.querySelector(".ds-modal"), this.closeBtn = t.querySelector(".ds-modal__close");
4126
+ const s = X(), n = s.modal?.backdropClick !== void 0 ? s.modal.backdropClick : !0;
4127
+ 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) => {
4128
+ this.escClose && r.key === "Escape" && this.isVisible() && this.close();
4129
+ }, this._closeBtnClickHandler = () => this.close(), this._maskClickHandler = (r) => {
4130
+ this.closableOnMask && r.target === this.mask && this.close();
4047
4131
  }, this.init();
4048
4132
  }
4049
4133
  init() {
@@ -4072,7 +4156,7 @@ class $ {
4072
4156
  }
4073
4157
  }
4074
4158
  $._openCount = 0;
4075
- function ee(i = {}) {
4159
+ function se(i = {}) {
4076
4160
  const {
4077
4161
  title: t = "",
4078
4162
  content: e = "",
@@ -4092,7 +4176,7 @@ function ee(i = {}) {
4092
4176
  onOpen: y,
4093
4177
  onClose: _,
4094
4178
  footer: b = null,
4095
- size: x = cr().defaultSize
4179
+ size: x = X().defaultSize
4096
4180
  } = i, v = x === "sm" ? "ds-btn--sm" : x === "lg" ? "ds-btn--lg" : "", C = document.createElement("div");
4097
4181
  C.className = "ds-modal-container";
4098
4182
  let S = "";
@@ -4115,13 +4199,13 @@ function ee(i = {}) {
4115
4199
  </div>
4116
4200
  </div>
4117
4201
  `, document.body.appendChild(C);
4118
- const w = new $(C, { fullscreen: r, closableOnMask: f }), A = C.querySelector(".ds-modal__title");
4202
+ const k = new $(C, { fullscreen: r, closableOnMask: f }), A = C.querySelector(".ds-modal__title");
4119
4203
  A && (A.textContent = t);
4120
4204
  const z = C.querySelector(".ds-modal__body");
4121
4205
  z && (s ? z.innerHTML = e : z.textContent = e);
4122
- const D = C.querySelector("[data-modal-confirm]"), B = C.querySelector("[data-modal-cancel]");
4123
- let ht = !1;
4124
- const dt = async () => {
4206
+ const D = C.querySelector("[data-modal-confirm]"), q = C.querySelector("[data-modal-cancel]");
4207
+ let dt = !1;
4208
+ const ut = async () => {
4125
4209
  if (p) {
4126
4210
  D.disabled = !0, D.classList.add("is-loading");
4127
4211
  try {
@@ -4134,50 +4218,52 @@ function ee(i = {}) {
4134
4218
  return;
4135
4219
  }
4136
4220
  }
4137
- ht = !0, w.close();
4138
- }, ut = () => {
4139
- m && m(), w.close();
4221
+ dt = !0, k.close();
4222
+ }, pt = () => {
4223
+ m && m(), k.close();
4140
4224
  };
4141
- D && D.addEventListener("click", dt), B && B.addEventListener("click", ut);
4142
- const Ee = () => {
4225
+ D && D.addEventListener("click", ut), q && q.addEventListener("click", pt);
4226
+ const we = () => {
4143
4227
  setTimeout(() => {
4144
- D && D.removeEventListener("click", dt), B && B.removeEventListener("click", ut), w.destroy(), C.remove(), _ && _(ht);
4228
+ D && D.removeEventListener("click", ut), q && q.removeEventListener("click", pt), k.destroy(), C.remove(), _ && _(dt);
4145
4229
  }, 300);
4146
- }, ke = w.close.bind(w);
4147
- return w.close = () => {
4148
- ke(), Ee();
4149
- }, w.open(), y && setTimeout(() => y(), 50), w;
4230
+ }, ke = k.close.bind(k);
4231
+ return k.close = () => {
4232
+ ke(), we();
4233
+ }, k.open(), y && setTimeout(() => y(), 50), k;
4150
4234
  }
4151
- function Eo(i) {
4152
- return typeof i == "string" && (i = { content: i }), ee({
4235
+ function wo(i) {
4236
+ return typeof i == "string" && (i = { content: i }), se({
4153
4237
  ...i,
4154
4238
  showCancel: !0,
4155
4239
  showConfirm: !0
4156
4240
  });
4157
4241
  }
4158
4242
  function ko(i) {
4159
- return typeof i == "string" && (i = { content: i }), ee({
4243
+ return typeof i == "string" && (i = { content: i }), se({
4160
4244
  ...i,
4161
4245
  showCancel: !1,
4162
4246
  showConfirm: !0
4163
4247
  });
4164
4248
  }
4165
- function se(i) {
4166
- if (i.__kupolaInitialized) return;
4249
+ function ie(i) {
4250
+ if (i.__kupolaInitialized)
4251
+ return;
4167
4252
  const t = new $(i);
4168
4253
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4169
4254
  }
4170
- function Mr(i) {
4171
- if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4255
+ function zr(i) {
4256
+ if (!i.__kupolaInitialized || !i.__kupolaInstance)
4257
+ return;
4172
4258
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4173
4259
  }
4174
- function wo() {
4260
+ function Co() {
4175
4261
  document.querySelectorAll(".ds-modal-container").forEach((i) => {
4176
- se(i);
4262
+ ie(i);
4177
4263
  });
4178
4264
  }
4179
- E.register("modal", se, Mr);
4180
- class Co {
4265
+ E.register("modal", ie, zr);
4266
+ class So {
4181
4267
  static normal(t = {}) {
4182
4268
  return this._create({ type: "normal", ...t });
4183
4269
  }
@@ -4242,7 +4328,7 @@ class Co {
4242
4328
  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 };
4243
4329
  }
4244
4330
  }
4245
- const So = {
4331
+ const Lo = {
4246
4332
  normal: function(i) {
4247
4333
  this.show({ ...i, type: "normal" });
4248
4334
  },
@@ -4259,38 +4345,38 @@ const So = {
4259
4345
  this.show({ ...i, type: "info" });
4260
4346
  },
4261
4347
  show: function(i) {
4262
- const { title: t, message: e, type: s = "normal", duration: n = 4e3 } = i, r = document.createElement("div");
4263
- r.className = `ds-notification__item ds-notification__item--${s}`;
4264
- const a = {
4348
+ const t = ur(), { title: e, message: s, type: n = "normal", duration: r = t.duration, position: a = t.position } = i, o = document.createElement("div");
4349
+ o.className = `ds-notification__item ds-notification__item--${n}`;
4350
+ const l = {
4265
4351
  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>',
4266
4352
  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>',
4267
4353
  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>',
4268
4354
  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>',
4269
4355
  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>'
4270
4356
  };
4271
- r.innerHTML = `
4272
- <div class="ds-notification__icon ds-notification__icon--${s}">${a[s]}</div>
4357
+ o.innerHTML = `
4358
+ <div class="ds-notification__icon ds-notification__icon--${n}">${l[n]}</div>
4273
4359
  <div class="ds-notification__content">
4274
- ${t ? '<div class="ds-notification__title"></div>' : ""}
4275
- ${e ? '<div class="ds-notification__message"></div>' : ""}
4360
+ ${e ? '<div class="ds-notification__title"></div>' : ""}
4361
+ ${s ? '<div class="ds-notification__message"></div>' : ""}
4276
4362
  </div>
4277
4363
  <button class="ds-notification__close">
4278
4364
  <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>
4279
4365
  </button>
4280
- `, t && (r.querySelector(".ds-notification__title").textContent = t), e && (r.querySelector(".ds-notification__message").textContent = e);
4281
- let o = document.querySelector(".ds-notification");
4282
- o || (o = document.createElement("div"), o.className = "ds-notification", document.body.appendChild(o)), o.appendChild(r), setTimeout(() => {
4283
- r.classList.add("is-visible");
4284
- }, 10), r.querySelector(".ds-notification__close").addEventListener("click", () => {
4285
- r.classList.remove("is-visible"), r.classList.add("is-exiting"), setTimeout(() => r.remove(), 300);
4286
- }), n > 0 && setTimeout(() => {
4287
- r.classList.remove("is-visible"), r.classList.add("is-exiting"), setTimeout(() => r.remove(), 300);
4288
- }, n);
4366
+ `, e && (o.querySelector(".ds-notification__title").textContent = e), s && (o.querySelector(".ds-notification__message").textContent = s);
4367
+ let c = document.querySelector(".ds-notification");
4368
+ c || (c = document.createElement("div"), c.className = `ds-notification ds-notification--${a}`, document.body.appendChild(c)), c.appendChild(o), setTimeout(() => {
4369
+ o.classList.add("is-visible");
4370
+ }, 10), o.querySelector(".ds-notification__close").addEventListener("click", () => {
4371
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4372
+ }), r > 0 && setTimeout(() => {
4373
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4374
+ }, r);
4289
4375
  }
4290
4376
  };
4291
- function Lo() {
4377
+ function Do() {
4292
4378
  }
4293
- const Do = {
4379
+ const Ho = {
4294
4380
  normal: function(i, t = {}) {
4295
4381
  this.show(i, "normal", t);
4296
4382
  },
@@ -4307,33 +4393,39 @@ const Do = {
4307
4393
  this.show(i, "info", t);
4308
4394
  },
4309
4395
  show: function(i, t = "normal", e = {}) {
4310
- const { duration: s = 3e3 } = e, n = document.createElement("div");
4311
- n.className = `ds-message__item ds-message__item--${t}`;
4312
- const r = {
4396
+ const s = dr(), { duration: n = s.duration, position: r = s.position } = e, a = s.maxCount || 5, o = document.createElement("div");
4397
+ o.className = `ds-message__item ds-message__item--${t}`;
4398
+ const l = {
4313
4399
  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>',
4314
4400
  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>',
4315
4401
  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>',
4316
4402
  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>',
4317
4403
  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>'
4318
4404
  };
4319
- n.innerHTML = `
4320
- <div class="ds-message__icon ds-message__icon--${t}">${r[t]}</div>
4405
+ o.innerHTML = `
4406
+ <div class="ds-message__icon ds-message__icon--${t}">${l[t]}</div>
4321
4407
  <div class="ds-message__content"></div>
4322
- `, n.querySelector(".ds-message__content").textContent = i;
4323
- let a = document.querySelector(".ds-message");
4324
- a || (a = document.createElement("div"), a.className = "ds-message", document.body.appendChild(a)), a.appendChild(n), setTimeout(() => {
4325
- n.classList.add("is-visible");
4326
- }, 10), s > 0 && setTimeout(() => {
4327
- n.classList.remove("is-visible"), n.classList.add("is-exiting"), setTimeout(() => n.remove(), 300);
4328
- }, s);
4408
+ `, o.querySelector(".ds-message__content").textContent = i;
4409
+ let c = document.querySelector(".ds-message");
4410
+ c || (c = document.createElement("div"), c.className = `ds-message ds-message--${r}`, document.body.appendChild(c));
4411
+ const h = c.querySelectorAll(".ds-message__item");
4412
+ if (h.length >= a) {
4413
+ const d = h[0];
4414
+ d.classList.remove("is-visible"), d.classList.add("is-exiting"), setTimeout(() => d.remove(), 300);
4415
+ }
4416
+ c.appendChild(o), setTimeout(() => {
4417
+ o.classList.add("is-visible");
4418
+ }, 10), n > 0 && setTimeout(() => {
4419
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4420
+ }, n);
4329
4421
  }
4330
4422
  };
4331
- function Ho() {
4423
+ function Mo() {
4332
4424
  }
4333
- function yt(i) {
4425
+ function vt(i) {
4334
4426
  return i ? i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;") : "";
4335
4427
  }
4336
- class Ir {
4428
+ class Pr {
4337
4429
  constructor(t) {
4338
4430
  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();
4339
4431
  }
@@ -4389,7 +4481,7 @@ class Ir {
4389
4481
  <div class="ds-fileupload__icon" style="width: 24px; height: 24px; border-radius: 4px;">
4390
4482
  ${s}
4391
4483
  </div>
4392
- <span class="ds-fileupload__filename">${this.truncateFilename(yt(t.name))}</span>
4484
+ <span class="ds-fileupload__filename">${this.truncateFilename(vt(t.name))}</span>
4393
4485
  <span class="ds-fileupload__size">${this.formatSize(t.size)}</span>
4394
4486
  <button class="ds-fileupload__remove" type="button" aria-label="Remove file">
4395
4487
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
@@ -4441,7 +4533,7 @@ class Ir {
4441
4533
  e.onload = (s) => {
4442
4534
  const n = document.createElement("div");
4443
4535
  n.className = "ds-fileupload__preview-item", n.innerHTML = `
4444
- <img src="${s.target.result}" alt="${yt(t.name)}">
4536
+ <img src="${s.target.result}" alt="${vt(t.name)}">
4445
4537
  <button class="ds-fileupload__preview-remove" type="button" aria-label="Remove preview">
4446
4538
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4447
4539
  <path d="M18 6L6 18"/>
@@ -4491,22 +4583,22 @@ class Ir {
4491
4583
  }), this._listeners = null, this.files = [], this.dropzone = null, this.input = null, this.list = null, this.progress = null, this.preview = null, this.element = null;
4492
4584
  }
4493
4585
  }
4494
- function ie(i) {
4586
+ function ne(i) {
4495
4587
  if (i.__kupolaInitialized) return;
4496
- const t = new Ir(i);
4588
+ const t = new Pr(i);
4497
4589
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4498
4590
  }
4499
- function Tr(i) {
4591
+ function $r(i) {
4500
4592
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4501
4593
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4502
4594
  }
4503
- function Mo() {
4595
+ function To() {
4504
4596
  document.querySelectorAll(".ds-fileupload").forEach((i) => {
4505
- ie(i);
4597
+ ne(i);
4506
4598
  });
4507
4599
  }
4508
- E.register("fileupload", ie, Tr);
4509
- class Ar {
4600
+ E.register("fileupload", ne, $r);
4601
+ class Br {
4510
4602
  constructor(t, e = {}) {
4511
4603
  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();
4512
4604
  }
@@ -4588,22 +4680,22 @@ class Ar {
4588
4680
  this.headers[t] && (this.headers[t].isDisabled = !1, this.headers[t].item.classList.remove("is-disabled"));
4589
4681
  }
4590
4682
  }
4591
- function ne(i, t) {
4683
+ function re(i, t) {
4592
4684
  if (i.__kupolaInitialized) return;
4593
- const e = new Ar(i, t);
4685
+ const e = new Br(i, t);
4594
4686
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4595
4687
  }
4596
- function zr(i) {
4688
+ function qr(i) {
4597
4689
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4598
4690
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4599
4691
  }
4600
4692
  function Io() {
4601
4693
  document.querySelectorAll(".ds-collapse").forEach((i) => {
4602
- ne(i);
4694
+ re(i);
4603
4695
  });
4604
4696
  }
4605
- E.register("collapse", ne, zr);
4606
- class Pr {
4697
+ E.register("collapse", re, qr);
4698
+ class Or {
4607
4699
  constructor(t, e = {}) {
4608
4700
  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);
4609
4701
  }
@@ -4768,20 +4860,20 @@ class Pr {
4768
4860
  }), 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;
4769
4861
  }
4770
4862
  }
4771
- function re(i, t) {
4772
- const e = new Pr(i, t);
4863
+ function ae(i, t) {
4864
+ const e = new Or(i, t);
4773
4865
  e.init(), i._kupolaColorPicker = e;
4774
4866
  }
4775
- function To(i = document) {
4867
+ function Ao(i = document) {
4776
4868
  i.querySelectorAll(".ds-color-picker").forEach((t) => {
4777
- re(t);
4869
+ ae(t);
4778
4870
  });
4779
4871
  }
4780
- function $r(i) {
4872
+ function Fr(i) {
4781
4873
  i._kupolaColorPicker && (i._kupolaColorPicker.destroy(), i._kupolaColorPicker = null);
4782
4874
  }
4783
- E.register("color-picker", re, $r);
4784
- class qr {
4875
+ E.register("color-picker", ae, Fr);
4876
+ class Nr {
4785
4877
  constructor(t, e = {}) {
4786
4878
  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)
4787
4879
  throw new Error("Calendar: Missing required elements");
@@ -4978,26 +5070,26 @@ class qr {
4978
5070
  this.isRangeMode = !this.isRangeMode, this.rangeStart = null, this.rangeEnd = null, this.render(), this._emitChange();
4979
5071
  }
4980
5072
  }
4981
- function ae(i, t) {
5073
+ function oe(i, t) {
4982
5074
  if (!i.__kupolaInitialized)
4983
5075
  try {
4984
- const e = new qr(i, t);
5076
+ const e = new Nr(i, t);
4985
5077
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4986
5078
  } catch (e) {
4987
5079
  console.error("[Calendar] Error initializing:", e);
4988
5080
  }
4989
5081
  }
4990
- function Br(i) {
5082
+ function Rr(i) {
4991
5083
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4992
5084
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4993
5085
  }
4994
- function Ao() {
5086
+ function zo() {
4995
5087
  document.querySelectorAll(".ds-calendar").forEach((i) => {
4996
- ae(i);
5088
+ oe(i);
4997
5089
  });
4998
5090
  }
4999
- E.register("calendar", ae, Br);
5000
- class Fr {
5091
+ E.register("calendar", oe, Rr);
5092
+ class Vr {
5001
5093
  constructor(t, e = {}) {
5002
5094
  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();
5003
5095
  }
@@ -5143,22 +5235,22 @@ class Fr {
5143
5235
  }), this._listeners = null, this.input = null, this.element = null;
5144
5236
  }
5145
5237
  }
5146
- function oe(i, t) {
5238
+ function le(i, t) {
5147
5239
  if (i.__kupolaInitialized) return;
5148
- const e = new Fr(i, t);
5240
+ const e = new Vr(i, t);
5149
5241
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5150
5242
  }
5151
- function Nr(i) {
5243
+ function Kr(i) {
5152
5244
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5153
5245
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5154
5246
  }
5155
- function zo() {
5247
+ function Po() {
5156
5248
  document.querySelectorAll(".ds-dynamic-tags").forEach((i) => {
5157
- oe(i);
5249
+ le(i);
5158
5250
  });
5159
5251
  }
5160
- E.register("dynamic-tags", oe, Nr);
5161
- class le {
5252
+ E.register("dynamic-tags", le, Kr);
5253
+ class ce {
5162
5254
  constructor(t = {}) {
5163
5255
  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();
5164
5256
  }
@@ -5350,18 +5442,18 @@ class le {
5350
5442
  }
5351
5443
  }
5352
5444
  let V = null;
5353
- function Po() {
5354
- V || (V = new le()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5445
+ function $o() {
5446
+ V || (V = new ce()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5355
5447
  i.addEventListener("click", () => {
5356
5448
  const t = JSON.parse(i.getAttribute("data-image-preview")), e = parseInt(i.getAttribute("data-image-index")) || 0;
5357
5449
  V.show(t, e);
5358
5450
  });
5359
5451
  });
5360
5452
  }
5361
- function $o(i, t = 0) {
5362
- V || (V = new le()), V.show(i, t);
5453
+ function Bo(i, t = 0) {
5454
+ V || (V = new ce()), V.show(i, t);
5363
5455
  }
5364
- class Or {
5456
+ class Wr {
5365
5457
  constructor(t, e = {}) {
5366
5458
  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();
5367
5459
  }
@@ -5491,22 +5583,22 @@ class Or {
5491
5583
  }), this._listeners = [], this.closeBtn = null, this.checkbox = null, this.editInput = null, this.element = null;
5492
5584
  }
5493
5585
  }
5494
- function ce(i, t) {
5586
+ function he(i, t) {
5495
5587
  if (i.__kupolaInitialized) return;
5496
- const e = new Or(i, t);
5588
+ const e = new Wr(i, t);
5497
5589
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5498
5590
  }
5499
- function Rr(i) {
5591
+ function Ur(i) {
5500
5592
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5501
5593
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5502
5594
  }
5503
5595
  function qo() {
5504
5596
  document.querySelectorAll(".ds-tag").forEach((i) => {
5505
- ce(i);
5597
+ he(i);
5506
5598
  });
5507
5599
  }
5508
- E.register("tag", ce, Rr);
5509
- class Vr {
5600
+ E.register("tag", he, Ur);
5601
+ class Yr {
5510
5602
  constructor(t) {
5511
5603
  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();
5512
5604
  }
@@ -5566,22 +5658,22 @@ class Vr {
5566
5658
  this._observer && (this._observer.disconnect(), this._observer = null), this.animated = !1, this.valueElement = null, this.progressFill = null, this.element = null;
5567
5659
  }
5568
5660
  }
5569
- function he(i) {
5661
+ function de(i) {
5570
5662
  if (i.__kupolaInitialized) return;
5571
- const t = new Vr(i);
5663
+ const t = new Yr(i);
5572
5664
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
5573
5665
  }
5574
- function Kr(i) {
5666
+ function Xr(i) {
5575
5667
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5576
5668
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5577
5669
  }
5578
- function Bo() {
5670
+ function Oo() {
5579
5671
  document.querySelectorAll(".ds-statcard").forEach((i) => {
5580
- he(i);
5672
+ de(i);
5581
5673
  });
5582
5674
  }
5583
- E.register("statcard", he, Kr);
5584
- class Wr {
5675
+ E.register("statcard", de, Xr);
5676
+ class jr {
5585
5677
  constructor(t, e = {}) {
5586
5678
  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();
5587
5679
  }
@@ -5681,16 +5773,16 @@ class Wr {
5681
5773
  const v = document.createElement("div");
5682
5774
  v.className = "ds-heatmap__cell", v.style.visibility = "hidden", b.appendChild(v);
5683
5775
  } else {
5684
- const v = this.getDataByDate(x), C = Math.max(...this.data.map((B) => B.value), 1), S = this.getLevel(v, C), w = document.createElement("div");
5685
- w.className = "ds-heatmap__cell", w.dataset.date = this.formatDate(x), w.dataset.value = v, w.style.backgroundColor = this.getCellColor(S);
5686
- const A = (B) => this.showTooltip(B, x, v), z = () => this.hideTooltip(), D = () => {
5776
+ const v = this.getDataByDate(x), C = Math.max(...this.data.map((q) => q.value), 1), S = this.getLevel(v, C), k = document.createElement("div");
5777
+ k.className = "ds-heatmap__cell", k.dataset.date = this.formatDate(x), k.dataset.value = v, k.style.backgroundColor = this.getCellColor(S);
5778
+ const A = (q) => this.showTooltip(q, x, v), z = () => this.hideTooltip(), D = () => {
5687
5779
  this.onCellClick && this.onCellClick({ date: this.formatDate(x), value: v });
5688
5780
  };
5689
- w.addEventListener("mouseenter", A), w.addEventListener("mouseleave", z), w.addEventListener("click", D), this._listeners.push(
5690
- { el: w, event: "mouseenter", handler: A },
5691
- { el: w, event: "mouseleave", handler: z },
5692
- { el: w, event: "click", handler: D }
5693
- ), b.appendChild(w);
5781
+ k.addEventListener("mouseenter", A), k.addEventListener("mouseleave", z), k.addEventListener("click", D), this._listeners.push(
5782
+ { el: k, event: "mouseenter", handler: A },
5783
+ { el: k, event: "mouseleave", handler: z },
5784
+ { el: k, event: "click", handler: D }
5785
+ ), b.appendChild(k);
5694
5786
  }
5695
5787
  }), y.appendChild(b);
5696
5788
  }), f.appendChild(y), h.appendChild(f), c.appendChild(h), t.appendChild(c), this.renderLegend(t);
@@ -5736,7 +5828,7 @@ class Wr {
5736
5828
  }), this._listeners = null, this.tooltip && this.tooltip.parentNode && this.tooltip.parentNode.removeChild(this.tooltip), this.tooltip = null, this.data = [], this.element = null;
5737
5829
  }
5738
5830
  }
5739
- function de(i) {
5831
+ function ue(i) {
5740
5832
  if (i.__kupolaInitialized) return;
5741
5833
  const t = i.getAttribute("data-heatmap-data");
5742
5834
  let e = [];
@@ -5744,27 +5836,27 @@ function de(i) {
5744
5836
  try {
5745
5837
  e = JSON.parse(t);
5746
5838
  } catch {
5747
- e = vt();
5839
+ e = bt();
5748
5840
  }
5749
5841
  else
5750
- e = vt();
5751
- const s = new Wr(i, {
5842
+ e = bt();
5843
+ const s = new jr(i, {
5752
5844
  data: e,
5753
5845
  onCellClick: (n) => {
5754
5846
  }
5755
5847
  });
5756
5848
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
5757
5849
  }
5758
- function Ur(i) {
5850
+ function Jr(i) {
5759
5851
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5760
5852
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5761
5853
  }
5762
5854
  function Fo() {
5763
5855
  document.querySelectorAll(".ds-heatmap").forEach((i) => {
5764
- de(i);
5856
+ ue(i);
5765
5857
  });
5766
5858
  }
5767
- function vt() {
5859
+ function bt() {
5768
5860
  const i = [], t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
5769
5861
  e.setFullYear(e.getFullYear() - 1);
5770
5862
  for (let s = new Date(e); s <= t; s.setDate(s.getDate() + 1)) {
@@ -5776,10 +5868,12 @@ function vt() {
5776
5868
  }
5777
5869
  return i;
5778
5870
  }
5779
- E.register("heatmap", de, Ur);
5780
- class Yr {
5871
+ E.register("heatmap", ue, Jr);
5872
+ class Gr {
5781
5873
  constructor(t, e = {}) {
5782
- 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;
5874
+ this.element = t, this.tooltipEl = null, this.options = e;
5875
+ const s = X(), n = s.tooltip?.delay !== void 0 ? s.tooltip.delay : 300;
5876
+ 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;
5783
5877
  }
5784
5878
  init() {
5785
5879
  this.element.__kupolaInitialized || (this._showTooltip = () => {
@@ -5789,7 +5883,8 @@ class Yr {
5789
5883
  }, this._clickHandler = () => {
5790
5884
  this.isVisible ? this.hide() : this.show();
5791
5885
  }, this._mouseMoveHandler = (t) => {
5792
- if (!this.isVisible || !this.mouseFollow || !this.tooltipEl) return;
5886
+ if (!this.isVisible || !this.mouseFollow || !this.tooltipEl)
5887
+ return;
5793
5888
  const e = this.tooltipEl.getBoundingClientRect();
5794
5889
  let s = t.clientX + 10, n = t.clientY + 10;
5795
5890
  const r = window.innerWidth, a = window.innerHeight;
@@ -5799,7 +5894,8 @@ class Yr {
5799
5894
  })), (this.trigger === "focus" || this.trigger === "hover") && (this.element.addEventListener("focus", this._showTooltip), this.element.addEventListener("blur", this._hideTooltip)), this.element.__kupolaInitialized = !0);
5800
5895
  }
5801
5896
  show() {
5802
- if (this.isVisible) return;
5897
+ if (this.isVisible)
5898
+ return;
5803
5899
  const t = this.element.getAttribute("data-tooltip");
5804
5900
  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(() => {
5805
5901
  this.tooltipEl.classList.add("is-visible"), this.mouseFollow || this._positionTooltip(), this.isVisible = !0, this.element.dispatchEvent(new CustomEvent("kupola:tooltip-show", {
@@ -5809,7 +5905,8 @@ class Yr {
5809
5905
  }));
5810
5906
  }
5811
5907
  hide() {
5812
- if (!this.isVisible || !this.tooltipEl) return;
5908
+ if (!this.isVisible || !this.tooltipEl)
5909
+ return;
5813
5910
  this.tooltipEl.classList.remove("is-visible");
5814
5911
  const t = this.tooltipEl;
5815
5912
  setTimeout(() => {
@@ -5823,7 +5920,8 @@ class Yr {
5823
5920
  this.isVisible ? this.hide() : this.show();
5824
5921
  }
5825
5922
  _positionTooltip() {
5826
- if (!this.tooltipEl) return;
5923
+ if (!this.tooltipEl)
5924
+ return;
5827
5925
  const t = this.element.getBoundingClientRect(), e = this.tooltipEl.getBoundingClientRect(), s = window.innerWidth, n = window.innerHeight;
5828
5926
  let r, a;
5829
5927
  switch (this.position) {
@@ -5868,20 +5966,20 @@ class Yr {
5868
5966
  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);
5869
5967
  }
5870
5968
  }
5871
- function ue(i, t) {
5872
- const e = new Yr(i, t);
5969
+ function pe(i, t) {
5970
+ const e = new Gr(i, t);
5873
5971
  e.init(), i._kupolaTooltip = e;
5874
5972
  }
5875
5973
  function No(i = document) {
5876
5974
  i.querySelectorAll("[data-tooltip]").forEach((t) => {
5877
- ue(t);
5975
+ pe(t);
5878
5976
  });
5879
5977
  }
5880
- function Xr(i) {
5978
+ function Zr(i) {
5881
5979
  i._kupolaTooltip && (i._kupolaTooltip.destroy(), i._kupolaTooltip = null);
5882
5980
  }
5883
- E.register("tooltip", ue, Xr);
5884
- class jr {
5981
+ E.register("tooltip", pe, Zr);
5982
+ class Qr {
5885
5983
  constructor() {
5886
5984
  this.validators = {
5887
5985
  required: this.validateRequired,
@@ -6062,7 +6160,7 @@ class jr {
6062
6160
  return s && t === s.value;
6063
6161
  }
6064
6162
  validatePhone(t) {
6065
- return /^[\d\s\-\+\(\)]{7,20}$/.test(t);
6163
+ return /^[\d\s\-+()]{7,20}$/.test(t);
6066
6164
  }
6067
6165
  validateDate(t) {
6068
6166
  return /^\d{4}[-/]\d{2}[-/]\d{2}$/.test(t) && !isNaN(Date.parse(t));
@@ -6107,7 +6205,7 @@ class jr {
6107
6205
  }[t] || "Invalid input";
6108
6206
  }
6109
6207
  }
6110
- const P = new jr();
6208
+ const P = new Qr();
6111
6209
  window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized = !0, document.addEventListener("DOMContentLoaded", () => {
6112
6210
  document.querySelectorAll("form[data-validation]").forEach((i) => {
6113
6211
  i.addEventListener("submit", async (t) => {
@@ -6137,30 +6235,33 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6137
6235
  r && r.focus();
6138
6236
  }
6139
6237
  }), i.querySelectorAll("[data-validate]").forEach((t) => {
6140
- t.addEventListener("blur", () => {
6141
- setTimeout(() => {
6142
- const n = document.activeElement;
6143
- if (n && n.closest(".ds-select"))
6238
+ const e = pr(), s = e.trigger || "blur", n = () => {
6239
+ e.showErrors && setTimeout(() => {
6240
+ const l = document.activeElement;
6241
+ if (l && l.closest(".ds-select"))
6144
6242
  return;
6145
6243
  P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6146
6244
  }, 50);
6147
- });
6148
- const s = ((n, r) => {
6149
- let a;
6150
- return (...o) => {
6151
- clearTimeout(a), a = setTimeout(() => n(...o), r);
6245
+ };
6246
+ (s === "blur" || s === "both") && t.addEventListener("blur", n);
6247
+ const r = (l, c) => {
6248
+ let h;
6249
+ return (...d) => {
6250
+ clearTimeout(h), h = setTimeout(() => l(...d), c);
6152
6251
  };
6153
- })(() => {
6154
- const n = P.getValue(t);
6155
- n.length > 0 || t.classList.contains("ds-input--error") ? P.validateInput(t) && n && P.showSuccess(t) : P.removeStatusIcon(t);
6156
- }, 300);
6157
- t.addEventListener("input", s), t.addEventListener("keyup", (n) => {
6158
- n.key === "Enter" && P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6252
+ }, a = hr(), o = r(() => {
6253
+ if (!e.showErrors)
6254
+ return;
6255
+ const l = P.getValue(t);
6256
+ l.length > 0 || t.classList.contains("ds-input--error") ? P.validateInput(t) && l && P.showSuccess(t) : P.removeStatusIcon(t);
6257
+ }, a.debounceDelay);
6258
+ (s === "input" || s === "both") && t.addEventListener("input", o), t.addEventListener("keyup", (l) => {
6259
+ l.key === "Enter" && P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6159
6260
  });
6160
6261
  });
6161
6262
  });
6162
6263
  }));
6163
- class Jr {
6264
+ class ta {
6164
6265
  constructor(t, e = {}) {
6165
6266
  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();
6166
6267
  }
@@ -6399,7 +6500,7 @@ class Jr {
6399
6500
  }), 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;
6400
6501
  }
6401
6502
  }
6402
- function bt(i = 1e3) {
6503
+ function xt(i = 1e3) {
6403
6504
  const t = [], e = ["Document", "Image", "Video", "Folder", "Archive", "Spreadsheet", "Presentation", "Code"];
6404
6505
  for (let s = 1; s <= i; s++) {
6405
6506
  const n = Math.floor(Math.random() * e.length), r = Math.floor(Math.random() * 1e4);
@@ -6412,7 +6513,7 @@ function bt(i = 1e3) {
6412
6513
  }
6413
6514
  return t;
6414
6515
  }
6415
- function Gr(i) {
6516
+ function ea(i) {
6416
6517
  if (i.__kupolaInitialized) return;
6417
6518
  const t = i.getAttribute("data-virtual-list");
6418
6519
  let e = [];
@@ -6420,11 +6521,11 @@ function Gr(i) {
6420
6521
  try {
6421
6522
  e = JSON.parse(t);
6422
6523
  } catch {
6423
- e = bt(1e3);
6524
+ e = xt(1e3);
6424
6525
  }
6425
6526
  else
6426
- e = bt(1e3);
6427
- const s = new Jr(i, {
6527
+ e = xt(1e3);
6528
+ const s = new ta(i, {
6428
6529
  data: e,
6429
6530
  onItemClick: (n) => {
6430
6531
  },
@@ -6433,12 +6534,12 @@ function Gr(i) {
6433
6534
  });
6434
6535
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
6435
6536
  }
6436
- function Zr(i) {
6537
+ function sa(i) {
6437
6538
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6438
6539
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6439
6540
  }
6440
- E.register("virtual-list", Gr, Zr);
6441
- 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 = {
6541
+ E.register("virtual-list", ea, sa);
6542
+ 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 = {
6442
6543
  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"/>',
6443
6544
  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"/>',
6444
6545
  mouse: '<rect x="6" y="2" width="12" height="20" rx="6"/><line x1="12" y1="6" x2="12" y2="11"/>',
@@ -6548,19 +6649,19 @@ const Qr = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0
6548
6649
  code: '<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',
6549
6650
  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"/>'
6550
6651
  };
6551
- function fe(i, t = 16, e = "0 0 24 24") {
6552
- const s = pe[i];
6553
- return s ? `<svg ${Qr.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6652
+ function me(i, t = 16, e = "0 0 24 24") {
6653
+ const s = fe[i];
6654
+ return s ? `<svg ${ia.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6554
6655
  }
6555
- function ot(i = document) {
6656
+ function lt(i = document) {
6556
6657
  i.querySelectorAll("[data-icon]").forEach((t) => {
6557
6658
  const e = t.getAttribute("data-icon"), s = +t.getAttribute("data-size") || 16, n = t.getAttribute("data-viewbox") || "0 0 24 24";
6558
- t.innerHTML = fe(e, s, n), t.classList.add("icon");
6659
+ t.innerHTML = me(e, s, n), t.classList.add("icon");
6559
6660
  });
6560
6661
  }
6561
- const Oo = { svg: fe, render: ot, PATHS: pe };
6562
- typeof document < "u" && (document.readyState !== "loading" ? ot() : document.addEventListener("DOMContentLoaded", () => ot()));
6563
- class ta {
6662
+ const Ro = { svg: me, render: lt, PATHS: fe };
6663
+ typeof document < "u" && (document.readyState !== "loading" ? lt() : document.addEventListener("DOMContentLoaded", () => lt()));
6664
+ class na {
6564
6665
  constructor(t) {
6565
6666
  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();
6566
6667
  }
@@ -6612,22 +6713,22 @@ class ta {
6612
6713
  this.stop(), this.hoursEl = null, this.minutesEl = null, this.secondsEl = null, this.element = null;
6613
6714
  }
6614
6715
  }
6615
- function me(i) {
6716
+ function ge(i) {
6616
6717
  if (i.__kupolaInitialized) return;
6617
- const t = new ta(i);
6718
+ const t = new na(i);
6618
6719
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6619
6720
  }
6620
- function ea(i) {
6721
+ function ra(i) {
6621
6722
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6622
6723
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6623
6724
  }
6624
- function Ro() {
6725
+ function Vo() {
6625
6726
  document.querySelectorAll(".ds-countdown").forEach((t) => {
6626
- me(t);
6727
+ ge(t);
6627
6728
  });
6628
6729
  }
6629
- E.register("countdown", me, ea);
6630
- class sa {
6730
+ E.register("countdown", ge, ra);
6731
+ class aa {
6631
6732
  constructor(t) {
6632
6733
  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)
6633
6734
  throw new Error("NumberInput: Missing required elements");
@@ -6678,26 +6779,26 @@ class sa {
6678
6779
  }), this._listeners = null, this.minusBtn = null, this.plusBtn = null, this.inputEl = null, this.element = null;
6679
6780
  }
6680
6781
  }
6681
- function ge(i) {
6782
+ function _e(i) {
6682
6783
  if (!i.__kupolaInitialized)
6683
6784
  try {
6684
- const t = new sa(i);
6785
+ const t = new aa(i);
6685
6786
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6686
6787
  } catch (t) {
6687
6788
  console.error("[NumberInput] Error initializing:", t);
6688
6789
  }
6689
6790
  }
6690
- function ia(i) {
6791
+ function oa(i) {
6691
6792
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6692
6793
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6693
6794
  }
6694
- function Vo() {
6795
+ function Ko() {
6695
6796
  document.querySelectorAll(".ds-number-input").forEach((i) => {
6696
- ge(i);
6797
+ _e(i);
6697
6798
  });
6698
6799
  }
6699
- E.register("number-input", ge, ia);
6700
- class na {
6800
+ E.register("number-input", _e, oa);
6801
+ class la {
6701
6802
  constructor(t) {
6702
6803
  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 = {
6703
6804
  tolerance: 6,
@@ -6840,22 +6941,22 @@ class na {
6840
6941
  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);
6841
6942
  }
6842
6943
  }
6843
- function ra() {
6944
+ function ca() {
6844
6945
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6845
- const t = new na(i);
6946
+ const t = new la(i);
6846
6947
  t.init(), i._kupolaSlideCaptcha = t;
6847
6948
  });
6848
6949
  }
6849
- function aa(i) {
6950
+ function ha(i) {
6850
6951
  i._kupolaSlideCaptcha && (i._kupolaSlideCaptcha.destroy(), i._kupolaSlideCaptcha = null);
6851
6952
  }
6852
- function oa() {
6953
+ function da() {
6853
6954
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6854
- aa(i);
6955
+ ha(i);
6855
6956
  });
6856
6957
  }
6857
- E.register("slide-captcha", ra, oa);
6858
- class la {
6958
+ E.register("slide-captcha", ca, da);
6959
+ class ua {
6859
6960
  constructor(t) {
6860
6961
  this.form = t, this.fields = [], this.validators = {}, this.errorMessages = {}, this._submitHandler = null, this._fieldHandlers = /* @__PURE__ */ new Map(), this._init();
6861
6962
  }
@@ -6995,23 +7096,23 @@ class la {
6995
7096
  }), this._submitHandler = null, this._fieldHandlers.clear(), this._fieldHandlers = null, this.fields = null, this.validators = null, this.errorMessages = null, this.form = null;
6996
7097
  }
6997
7098
  }
6998
- function ca(i) {
7099
+ function pa(i) {
6999
7100
  const t = document.querySelectorAll(i || ".ds-form");
7000
7101
  return t.forEach((e) => {
7001
7102
  if (e._kupolaForm) return;
7002
- const s = new la(e);
7103
+ const s = new ua(e);
7003
7104
  e._kupolaForm = s;
7004
7105
  }), t.length;
7005
7106
  }
7006
- function Ko(i) {
7107
+ function Wo(i) {
7007
7108
  return i._kupolaForm;
7008
7109
  }
7009
- function Wo(i) {
7110
+ function Uo(i) {
7010
7111
  const t = i._kupolaForm;
7011
7112
  return t ? t.validate() : !1;
7012
7113
  }
7013
- E.register("form-validation", ca);
7014
- class ha {
7114
+ E.register("form-validation", pa);
7115
+ class fa {
7015
7116
  constructor() {
7016
7117
  this._queue = /* @__PURE__ */ new Set(), this._scheduled = !1, this._flushDepth = 0, this._maxDepth = 10;
7017
7118
  }
@@ -7038,8 +7139,8 @@ class ha {
7038
7139
  this._flushDepth--;
7039
7140
  }
7040
7141
  }
7041
- const da = new ha();
7042
- class ua {
7142
+ const ma = new fa();
7143
+ class ga {
7043
7144
  constructor(t, e) {
7044
7145
  this.data = t, this.createdAt = Date.now(), this.ttl = e;
7045
7146
  }
@@ -7050,7 +7151,7 @@ class ua {
7050
7151
  return !this.isFresh;
7051
7152
  }
7052
7153
  }
7053
- class _e {
7154
+ class ye {
7054
7155
  constructor() {
7055
7156
  this._store = /* @__PURE__ */ new Map();
7056
7157
  }
@@ -7059,7 +7160,7 @@ class _e {
7059
7160
  return e || null;
7060
7161
  }
7061
7162
  set(t, e, s = 6e4) {
7062
- this._store.set(t, new ua(e, s));
7163
+ this._store.set(t, new ga(e, s));
7063
7164
  }
7064
7165
  has(t) {
7065
7166
  return this._store.has(t);
@@ -7076,22 +7177,22 @@ class _e {
7076
7177
  return e ? e.data : null;
7077
7178
  }
7078
7179
  }
7079
- class N extends Error {
7180
+ class F extends Error {
7080
7181
  constructor(t, e, s) {
7081
7182
  super(t), this.name = "DependsError", this.code = e, this.cause = s, this.timestamp = Date.now();
7082
7183
  }
7083
7184
  }
7084
- let et = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7085
- function Uo(i) {
7185
+ let st = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7186
+ function Yo(i) {
7086
7187
  if (!i || typeof i.fetch != "function")
7087
7188
  throw new TypeError("[Kupola] configureHttpClient: client must provide a fetch function");
7088
- et = i.fetch.bind(i);
7089
- }
7090
- function Yo() {
7091
- return et;
7189
+ st = i.fetch.bind(i);
7092
7190
  }
7093
7191
  function Xo() {
7094
- et = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7192
+ return st;
7193
+ }
7194
+ function jo() {
7195
+ st = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7095
7196
  }
7096
7197
  class W {
7097
7198
  constructor(t, e) {
@@ -7104,7 +7205,7 @@ class W {
7104
7205
  };
7105
7206
  }
7106
7207
  notify() {
7107
- da.schedule(() => {
7208
+ ma.schedule(() => {
7108
7209
  this.subscribers.forEach((t) => {
7109
7210
  try {
7110
7211
  t();
@@ -7115,7 +7216,7 @@ class W {
7115
7216
  });
7116
7217
  }
7117
7218
  async fetch(t) {
7118
- throw new N("Source fetch not implemented", "NOT_IMPLEMENTED");
7219
+ throw new F("Source fetch not implemented", "NOT_IMPLEMENTED");
7119
7220
  }
7120
7221
  async getValue(t) {
7121
7222
  const e = this.cache.get(this.cacheKey);
@@ -7130,7 +7231,7 @@ class W {
7130
7231
  const r = this.retryDelay * Math.pow(2, e), a = Math.random() * r * 0.5, o = r + a;
7131
7232
  return await new Promise((l) => setTimeout(l, o)), this._fetchWithRetry(t, e + 1);
7132
7233
  }
7133
- const n = s instanceof N ? s : new N(s.message || "Fetch failed", "FETCH_ERROR", s);
7234
+ const n = s instanceof F ? s : new F(s.message || "Fetch failed", "FETCH_ERROR", s);
7134
7235
  if (this.onError)
7135
7236
  try {
7136
7237
  this.onError(n);
@@ -7152,13 +7253,13 @@ class W {
7152
7253
  this.subscribers = [], this.pending = null;
7153
7254
  }
7154
7255
  }
7155
- class pa extends W {
7256
+ class _a extends W {
7156
7257
  constructor(t, e) {
7157
7258
  super(t, e), this.method = t.method || "GET", this.headers = t.headers || {}, this.queryParams = t.query || {};
7158
7259
  }
7159
7260
  async fetch(t) {
7160
7261
  let e = this.config.source;
7161
- const s = ct("http");
7262
+ const s = ht("http");
7162
7263
  s?.baseURL && !e.startsWith("http://") && !e.startsWith("https://") && (e = s.baseURL + e.replace(/^\//, ""));
7163
7264
  for (const u in t)
7164
7265
  e = e.replace(`:${u}`, encodeURIComponent(t[u]));
@@ -7173,16 +7274,16 @@ class pa extends W {
7173
7274
  headers: { "Content-Type": "application/json", ...r, ...this.headers }
7174
7275
  };
7175
7276
  s?.withCredentials && (a.credentials = "include"), ["POST", "PUT", "PATCH"].includes(a.method) && (a.body = JSON.stringify(t));
7176
- const o = et;
7277
+ const o = st;
7177
7278
  if (!o)
7178
- throw new N("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7279
+ throw new F("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7179
7280
  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;
7180
7281
  if (!c)
7181
- throw new N(`HTTP ${h}`, "HTTP_ERROR");
7282
+ throw new F(`HTTP ${h}`, "HTTP_ERROR");
7182
7283
  return typeof l.json == "function" ? await l.json() : l.data !== void 0 ? l.data : l;
7183
7284
  }
7184
7285
  }
7185
- class ye extends W {
7286
+ class ve extends W {
7186
7287
  constructor(t, e) {
7187
7288
  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) => {
7188
7289
  s.key === this.storageKey && (this.cache.delete(this.cacheKey), this.notify());
@@ -7209,7 +7310,7 @@ class ye extends W {
7209
7310
  super.destroy(), this._storageHandler && window.removeEventListener("storage", this._storageHandler);
7210
7311
  }
7211
7312
  }
7212
- class fa extends W {
7313
+ class ya extends W {
7213
7314
  constructor(t, e) {
7214
7315
  super(t, e), this.paramName = t.source.replace("route:", "");
7215
7316
  }
@@ -7219,17 +7320,17 @@ class fa extends W {
7219
7320
  return e ? decodeURIComponent(e[1]) : new URLSearchParams(location.search).get(this.paramName) || "";
7220
7321
  }
7221
7322
  }
7222
- class ma extends W {
7323
+ class va extends W {
7223
7324
  async fetch(t) {
7224
7325
  return await this.config.source(t);
7225
7326
  }
7226
7327
  }
7227
- class ga extends W {
7328
+ class ba extends W {
7228
7329
  async fetch() {
7229
7330
  return this.config.source;
7230
7331
  }
7231
7332
  }
7232
- class ve extends W {
7333
+ class be extends W {
7233
7334
  constructor(t, e) {
7234
7335
  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;
7235
7336
  }
@@ -7247,7 +7348,7 @@ class ve extends W {
7247
7348
  }
7248
7349
  this.cache.set(this.cacheKey, n, this.staleTime), this.notify();
7249
7350
  }, this.ws.onmessage = this.messageHandler, this.ws.onerror = (s) => {
7250
- this._connected || e(new N("WebSocket connection failed", "WS_ERROR", s));
7351
+ this._connected || e(new F("WebSocket connection failed", "WS_ERROR", s));
7251
7352
  }, this.ws.onclose = () => {
7252
7353
  if (this._connected = !1, this.reconnect && !this._destroyed) {
7253
7354
  const s = this.reconnectDelay * Math.pow(2, this._reconnectAttempt), n = Math.random() * s * 0.3, r = Math.min(s + n, this._maxReconnectDelay);
@@ -7258,7 +7359,7 @@ class ve extends W {
7258
7359
  }
7259
7360
  };
7260
7361
  } catch (s) {
7261
- e(new N("WebSocket creation failed", "WS_ERROR", s));
7362
+ e(new F("WebSocket creation failed", "WS_ERROR", s));
7262
7363
  }
7263
7364
  });
7264
7365
  }
@@ -7269,21 +7370,21 @@ class ve extends W {
7269
7370
  this._destroyed = !0, super.destroy(), this.ws && (this.ws.onmessage = null, this.ws.onclose = null, this.ws.close(), this.ws = null);
7270
7371
  }
7271
7372
  }
7272
- function be(i, t) {
7373
+ function xe(i, t) {
7273
7374
  const e = i.source;
7274
- 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);
7375
+ 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);
7275
7376
  }
7276
- function jo(i, t) {
7277
- const e = {}, s = new _e(), n = [];
7377
+ function Jo(i, t) {
7378
+ const e = {}, s = new ye(), n = [];
7278
7379
  for (const r in t) {
7279
7380
  let p = function() {
7280
- return xt(i);
7381
+ return Et(i);
7281
7382
  }, a = t[r];
7282
7383
  typeof a == "string" && (a = { source: a });
7283
7384
  const o = {
7284
7385
  ...a,
7285
- cacheKey: a.cacheKey || `${r}-${JSON.stringify(xt(i))}`
7286
- }, l = be(o, s), c = I(null), h = I(!0), d = I(null), u = I(null);
7386
+ cacheKey: a.cacheKey || `${r}-${JSON.stringify(Et(i))}`
7387
+ }, l = xe(o, s), c = I(null), h = I(!0), d = I(null), u = I(null);
7287
7388
  let f = 0;
7288
7389
  async function m() {
7289
7390
  const b = ++f;
@@ -7324,11 +7425,11 @@ function jo(i, t) {
7324
7425
  },
7325
7426
  // For StorageSource
7326
7427
  setValue(b) {
7327
- l instanceof ye && (l.setValue(b), c.value = b);
7428
+ l instanceof ve && (l.setValue(b), c.value = b);
7328
7429
  },
7329
7430
  // For WebSocketSource
7330
7431
  send(b) {
7331
- l instanceof ve && l.send(b);
7432
+ l instanceof be && l.send(b);
7332
7433
  },
7333
7434
  _source: l
7334
7435
  };
@@ -7340,8 +7441,8 @@ function jo(i, t) {
7340
7441
  }
7341
7442
  }, window.__kupolaDepInstances || (window.__kupolaDepInstances = []), window.__kupolaDepInstances.push(e), e;
7342
7443
  }
7343
- function Jo(i) {
7344
- const t = new _e(), e = be(i, t), s = I(null), n = I(!0), r = I(null);
7444
+ function Go(i) {
7445
+ const t = new ye(), e = xe(i, t), s = I(null), n = I(!0), r = I(null);
7345
7446
  let a = 0;
7346
7447
  async function o() {
7347
7448
  const l = ++a;
@@ -7369,7 +7470,7 @@ function Jo(i) {
7369
7470
  }
7370
7471
  };
7371
7472
  }
7372
- function xt(i) {
7473
+ function Et(i) {
7373
7474
  const t = {};
7374
7475
  for (const e in i) {
7375
7476
  const s = i[e];
@@ -7377,9 +7478,9 @@ function xt(i) {
7377
7478
  }
7378
7479
  return t;
7379
7480
  }
7380
- function Go() {
7481
+ function Zo() {
7381
7482
  }
7382
- class _a {
7483
+ class xa {
7383
7484
  constructor(t, e = {}) {
7384
7485
  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();
7385
7486
  }
@@ -7919,10 +8020,10 @@ class _a {
7919
8020
  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 = {};
7920
8021
  }
7921
8022
  }
7922
- function xe(i, t) {
7923
- return new _a(i, t);
8023
+ function Ee(i, t) {
8024
+ return new xa(i, t);
7924
8025
  }
7925
- function Zo() {
8026
+ function Qo() {
7926
8027
  document.querySelectorAll("[data-kupola-table]").forEach((i) => {
7927
8028
  const t = i.getAttribute("data-kupola-table");
7928
8029
  let e = {};
@@ -7931,11 +8032,11 @@ function Zo() {
7931
8032
  e = JSON.parse(t);
7932
8033
  } catch {
7933
8034
  }
7934
- xe(i, e);
8035
+ Ee(i, e);
7935
8036
  });
7936
8037
  }
7937
- E.register("table", xe);
7938
- class ya {
8038
+ E.register("table", Ee);
8039
+ class Ea {
7939
8040
  constructor(t, e = {}) {
7940
8041
  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();
7941
8042
  }
@@ -8035,9 +8136,9 @@ class ya {
8035
8136
  this.element.innerHTML = "", this.element.classList.remove("kupola-pagination");
8036
8137
  }
8037
8138
  }
8038
- let Et = !1;
8039
- function va() {
8040
- if (Et || typeof document > "u") return;
8139
+ let wt = !1;
8140
+ function wa() {
8141
+ if (wt || typeof document > "u") return;
8041
8142
  const i = document.createElement("style");
8042
8143
  i.textContent = `
8043
8144
  .kupola-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@@ -8053,13 +8154,13 @@ function va() {
8053
8154
  .kupola-pagination-jumper { font-size: 14px; color: #666; }
8054
8155
  .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; }
8055
8156
  .kupola-pagination-jumper input:focus { outline: none; border-color: #1890ff; }
8056
- `, document.head.appendChild(i), Et = !0;
8157
+ `, document.head.appendChild(i), wt = !0;
8057
8158
  }
8058
- function Qo(i, t) {
8059
- return va(), new ya(i, t);
8159
+ function tl(i, t) {
8160
+ return wa(), new Ea(i, t);
8060
8161
  }
8061
8162
  let kt = !1;
8062
- class ba extends HTMLElement {
8163
+ class ka extends HTMLElement {
8063
8164
  static get observedAttributes() {
8064
8165
  return ["open"];
8065
8166
  }
@@ -8081,7 +8182,7 @@ class ba extends HTMLElement {
8081
8182
  }
8082
8183
  }
8083
8184
  }
8084
- class xa extends HTMLElement {
8185
+ class Ca extends HTMLElement {
8085
8186
  static get observedAttributes() {
8086
8187
  return ["title", "position"];
8087
8188
  }
@@ -8096,7 +8197,7 @@ class xa extends HTMLElement {
8096
8197
  }
8097
8198
  }
8098
8199
  }
8099
- class Ea extends HTMLElement {
8200
+ class Sa extends HTMLElement {
8100
8201
  connectedCallback() {
8101
8202
  this._render();
8102
8203
  }
@@ -8114,13 +8215,13 @@ class Ea extends HTMLElement {
8114
8215
  }), this.innerHTML = "", this.appendChild(t);
8115
8216
  }
8116
8217
  }
8117
- class ka extends HTMLElement {
8218
+ class La extends HTMLElement {
8118
8219
  static get observedAttributes() {
8119
8220
  return ["title"];
8120
8221
  }
8121
8222
  // Content is read by parent <k-collapse> during its connectedCallback
8122
8223
  }
8123
- class wa extends HTMLElement {
8224
+ class Da extends HTMLElement {
8124
8225
  static get observedAttributes() {
8125
8226
  return ["position", "open"];
8126
8227
  }
@@ -8138,7 +8239,7 @@ class wa extends HTMLElement {
8138
8239
  }
8139
8240
  }
8140
8241
  }
8141
- class Ca extends HTMLElement {
8242
+ class Ha extends HTMLElement {
8142
8243
  static get observedAttributes() {
8143
8244
  return ["title", "open"];
8144
8245
  }
@@ -8181,230 +8282,231 @@ class Ca extends HTMLElement {
8181
8282
  this.removeAttribute("open");
8182
8283
  }
8183
8284
  }
8184
- function tl() {
8285
+ function el() {
8185
8286
  if (kt || typeof customElements > "u") return;
8186
8287
  kt = !0;
8187
8288
  const i = [
8188
- ["k-dropdown", ba],
8189
- ["k-tooltip", xa],
8190
- ["k-collapse", Ea],
8191
- ["k-collapse-item", ka],
8192
- ["k-drawer", wa],
8193
- ["k-modal", Ca]
8289
+ ["k-dropdown", ka],
8290
+ ["k-tooltip", Ca],
8291
+ ["k-collapse", Sa],
8292
+ ["k-collapse-item", La],
8293
+ ["k-drawer", Da],
8294
+ ["k-modal", Ha]
8194
8295
  ];
8195
8296
  for (const [t, e] of i)
8196
8297
  customElements.get(t) || customElements.define(t, e);
8197
8298
  }
8198
8299
  export {
8199
8300
  Y as BRAND_OPTIONS,
8200
- ua as CacheEntry,
8201
- _e as CacheManager,
8202
- qr as Calendar,
8203
- Sr as Carousel,
8204
- Ar as Collapse,
8205
- Pr as ColorPicker,
8206
- ur as ComponentInitializerRegistry,
8207
- ta as Countdown,
8208
- br as Datepicker,
8209
- N as DependsError,
8301
+ ga as CacheEntry,
8302
+ ye as CacheManager,
8303
+ Nr as Calendar,
8304
+ Mr as Carousel,
8305
+ Br as Collapse,
8306
+ Or as ColorPicker,
8307
+ gr as ComponentInitializerRegistry,
8308
+ na as Countdown,
8309
+ kr as Datepicker,
8310
+ F as DependsError,
8210
8311
  W as DependsSource,
8211
- Co as Dialog,
8212
- Dr as Drawer,
8213
- _r as Dropdown,
8214
- Fr as DynamicTags,
8215
- pa as FetchedSource,
8216
- Ir as FileUpload,
8217
- ma as FunctionSource,
8218
- gr as GlobalEvents,
8219
- Wr as Heatmap,
8220
- Oo as Icons,
8221
- le as ImagePreview,
8222
- J as KupolaComponent,
8223
- fr as KupolaComponentRegistry,
8224
- nr as KupolaDataBind,
8225
- ar as KupolaEventBus,
8226
- la as KupolaForm,
8227
- Yt as KupolaI18n,
8228
- lt as KupolaLifecycle,
8229
- ya as KupolaPagination,
8230
- ft as KupolaStore,
8231
- rr as KupolaStoreManager,
8232
- _a as KupolaTable,
8233
- Da as KupolaUtils,
8234
- jr as KupolaValidator,
8235
- Do as Message,
8312
+ So as Dialog,
8313
+ Ir as Drawer,
8314
+ xr as Dropdown,
8315
+ Vr as DynamicTags,
8316
+ _a as FetchedSource,
8317
+ Pr as FileUpload,
8318
+ va as FunctionSource,
8319
+ br as GlobalEvents,
8320
+ jr as Heatmap,
8321
+ Ro as Icons,
8322
+ ce as ImagePreview,
8323
+ G as KupolaComponent,
8324
+ yr as KupolaComponentRegistry,
8325
+ rr as KupolaDataBind,
8326
+ or as KupolaEventBus,
8327
+ ua as KupolaForm,
8328
+ Xt as KupolaI18n,
8329
+ ct as KupolaLifecycle,
8330
+ Ea as KupolaPagination,
8331
+ mt as KupolaStore,
8332
+ ar as KupolaStoreManager,
8333
+ xa as KupolaTable,
8334
+ Ia as KupolaUtils,
8335
+ Qr as KupolaValidator,
8336
+ Ho as Message,
8236
8337
  $ as Modal,
8237
- So as Notification,
8238
- sa as NumberInput,
8239
- pe as PATHS,
8240
- fa as RouteSource,
8241
- ha as Scheduler,
8242
- yr as Select,
8243
- na as SlideCaptcha,
8244
- wr as Slider,
8245
- Vr as StatCard,
8246
- ga as StaticSource,
8247
- ye as StorageSource,
8248
- Or as Tag,
8249
- Er as Timepicker,
8250
- Yr as Tooltip,
8251
- Jr as VirtualList,
8252
- ve as WebSocketSource,
8338
+ Lo as Notification,
8339
+ aa as NumberInput,
8340
+ fe as PATHS,
8341
+ ya as RouteSource,
8342
+ fa as Scheduler,
8343
+ Er as Select,
8344
+ la as SlideCaptcha,
8345
+ Dr as Slider,
8346
+ Yr as StatCard,
8347
+ ba as StaticSource,
8348
+ ve as StorageSource,
8349
+ Wr as Tag,
8350
+ Sr as Timepicker,
8351
+ Gr as Tooltip,
8352
+ ta as VirtualList,
8353
+ be as WebSocketSource,
8253
8354
  ko as alertModal,
8254
- gt as applyMixin,
8255
- Bs as arrayUtils,
8256
- Ya as bootstrapComponents,
8257
- mo as cleanupAllDropdowns,
8258
- oa as cleanupAllSlideCaptchas,
8259
- Br as cleanupCalendar,
8260
- Lr as cleanupCarousel,
8261
- zr as cleanupCollapse,
8262
- $r as cleanupColorPicker,
8263
- ea as cleanupCountdown,
8264
- xr as cleanupDatepicker,
8265
- Hr as cleanupDrawer,
8266
- jt as cleanupDropdown,
8267
- Nr as cleanupDynamicTags,
8268
- Tr as cleanupFileUpload,
8269
- Ur as cleanupHeatmap,
8270
- Mr as cleanupModal,
8271
- ia as cleanupNumberInput,
8272
- vr as cleanupSelect,
8273
- aa as cleanupSlideCaptcha,
8274
- Cr as cleanupSlider,
8275
- Kr as cleanupStatCard,
8276
- Rr as cleanupTag,
8277
- kr as cleanupTimepicker,
8278
- Xr as cleanupTooltip,
8279
- Zr as cleanupVirtualList,
8280
- Go as clearCache,
8281
- Uo as configureHttpClient,
8282
- Eo as confirmModal,
8355
+ _t as applyMixin,
8356
+ Os as arrayUtils,
8357
+ Xa as bootstrapComponents,
8358
+ go as cleanupAllDropdowns,
8359
+ da as cleanupAllSlideCaptchas,
8360
+ Rr as cleanupCalendar,
8361
+ Tr as cleanupCarousel,
8362
+ qr as cleanupCollapse,
8363
+ Fr as cleanupColorPicker,
8364
+ ra as cleanupCountdown,
8365
+ Cr as cleanupDatepicker,
8366
+ Ar as cleanupDrawer,
8367
+ Jt as cleanupDropdown,
8368
+ Kr as cleanupDynamicTags,
8369
+ $r as cleanupFileUpload,
8370
+ Jr as cleanupHeatmap,
8371
+ zr as cleanupModal,
8372
+ oa as cleanupNumberInput,
8373
+ wr as cleanupSelect,
8374
+ ha as cleanupSlideCaptcha,
8375
+ Hr as cleanupSlider,
8376
+ Xr as cleanupStatCard,
8377
+ Ur as cleanupTag,
8378
+ Lr as cleanupTimepicker,
8379
+ Zr as cleanupTooltip,
8380
+ sa as cleanupVirtualList,
8381
+ Zo as clearCache,
8382
+ Yo as configureHttpClient,
8383
+ wo as confirmModal,
8283
8384
  Fa as createBrandPicker,
8284
- Ga as createI18n,
8285
- La as createLifecycle,
8286
- ee as createModal,
8287
- be as createSource,
8288
- Ma as createStore,
8289
- Ba as createThemeToggle,
8290
- jn as cryptoUtils,
8291
- ln as dateUtils,
8292
- cn as debounce,
8293
- Ja as defineComponent,
8294
- Xa as defineMixin,
8295
- lo as emit,
8296
- co as emitGlobal,
8297
- Oa as escapeHtml,
8298
- no as formatCurrency,
8299
- so as formatDate,
8300
- io as formatNumber,
8301
- Ka as generateSecureId,
8302
- Aa as getBasePath,
8303
- X as getBrand,
8304
- ct as getConfig,
8305
- lr as getDefaultBrand,
8306
- or as getDefaultTheme,
8307
- Pa as getDevConfig,
8308
- qa as getExtendConfig,
8309
- Ko as getFormInstance,
8310
- Yo as getHttpClient,
8311
- za as getHttpConfig,
8312
- Vt as getIconsPath,
8313
- po as getListenerCount,
8314
- eo as getLocale,
8315
- $a as getPerformanceConfig,
8316
- tt as getSecurityConfig,
8317
- Ia as getStore,
8385
+ Za as createI18n,
8386
+ Ta as createLifecycle,
8387
+ se as createModal,
8388
+ xe as createSource,
8389
+ za as createStore,
8390
+ Oa as createThemeToggle,
8391
+ Jn as cryptoUtils,
8392
+ cn as dateUtils,
8393
+ hn as debounce,
8394
+ Ga as defineComponent,
8395
+ ja as defineMixin,
8396
+ co as emit,
8397
+ ho as emitGlobal,
8398
+ Ra as escapeHtml,
8399
+ ro as formatCurrency,
8400
+ io as formatDate,
8401
+ no as formatNumber,
8402
+ Wa as generateSecureId,
8403
+ Ba as getBasePath,
8404
+ j as getBrand,
8405
+ ht as getConfig,
8406
+ cr as getDefaultBrand,
8407
+ lr as getDefaultTheme,
8408
+ Wo as getFormInstance,
8409
+ Xo as getHttpClient,
8410
+ qa as getHttpConfig,
8411
+ Kt as getIconsPath,
8412
+ fo as getListenerCount,
8413
+ so as getLocale,
8414
+ dr as getMessageConfig,
8415
+ ur as getNotificationConfig,
8416
+ hr as getPerformanceConfig,
8417
+ et as getSecurityConfig,
8418
+ Pa as getStore,
8318
8419
  R as getTheme,
8319
- cr as getUiConfig,
8420
+ X as getUiConfig,
8421
+ pr as getValidationConfig,
8320
8422
  H as globalEvents,
8321
- Zo as initAllTables,
8322
- ae as initCalendar,
8323
- Ao as initCalendars,
8324
- te as initCarousel,
8325
- bo as initCarousels,
8326
- ne as initCollapse,
8423
+ Qo as initAllTables,
8424
+ oe as initCalendar,
8425
+ zo as initCalendars,
8426
+ ee as initCarousel,
8427
+ xo as initCarousels,
8428
+ re as initCollapse,
8327
8429
  Io as initCollapses,
8328
- re as initColorPicker,
8329
- To as initColorPickers,
8330
- me as initCountdown,
8331
- Ro as initCountdowns,
8332
- Gt as initDatepicker,
8333
- _o as initDatepickers,
8334
- at as initDrawer,
8335
- xo as initDrawers,
8336
- Xt as initDropdown,
8337
- fo as initDropdowns,
8338
- oe as initDynamicTags,
8339
- zo as initDynamicTagsAll,
8340
- ie as initFileUpload,
8341
- Mo as initFileUploads,
8342
- ca as initFormValidation,
8343
- de as initHeatmap,
8430
+ ae as initColorPicker,
8431
+ Ao as initColorPickers,
8432
+ ge as initCountdown,
8433
+ Vo as initCountdowns,
8434
+ Zt as initDatepicker,
8435
+ yo as initDatepickers,
8436
+ ot as initDrawer,
8437
+ Eo as initDrawers,
8438
+ jt as initDropdown,
8439
+ mo as initDropdowns,
8440
+ le as initDynamicTags,
8441
+ Po as initDynamicTagsAll,
8442
+ ne as initFileUpload,
8443
+ To as initFileUploads,
8444
+ pa as initFormValidation,
8445
+ ue as initHeatmap,
8344
8446
  Fo as initHeatmaps,
8345
- Po as initImagePreview,
8346
- Ho as initMessages,
8347
- se as initModal,
8348
- wo as initModals,
8349
- Lo as initNotifications,
8350
- ge as initNumberInput,
8351
- Vo as initNumberInputs,
8352
- Qo as initPagination,
8353
- Jt as initSelect,
8354
- go as initSelects,
8355
- ra as initSlideCaptchas,
8356
- Qt as initSlider,
8357
- vo as initSliders,
8358
- he as initStatCard,
8359
- Bo as initStatCards,
8360
- xe as initTable,
8361
- ce as initTag,
8447
+ $o as initImagePreview,
8448
+ Mo as initMessages,
8449
+ ie as initModal,
8450
+ Co as initModals,
8451
+ Do as initNotifications,
8452
+ _e as initNumberInput,
8453
+ Ko as initNumberInputs,
8454
+ tl as initPagination,
8455
+ Gt as initSelect,
8456
+ _o as initSelects,
8457
+ ca as initSlideCaptchas,
8458
+ te as initSlider,
8459
+ bo as initSliders,
8460
+ de as initStatCard,
8461
+ Oo as initStatCards,
8462
+ Ee as initTable,
8463
+ he as initTag,
8362
8464
  qo as initTags,
8363
- dr as initTheme,
8364
- Zt as initTimepicker,
8365
- yo as initTimepickers,
8366
- ue as initTooltip,
8465
+ mr as initTheme,
8466
+ Qt as initTimepicker,
8467
+ vo as initTimepickers,
8468
+ pe as initTooltip,
8367
8469
  No as initTooltips,
8368
- Gr as initVirtualList,
8369
- _t as kupolaBootstrap,
8370
- F as kupolaData,
8371
- Ha as kupolaEvents,
8372
- O as kupolaI18n,
8470
+ ea as initVirtualList,
8471
+ yt as kupolaBootstrap,
8472
+ O as kupolaData,
8473
+ Aa as kupolaEvents,
8474
+ N as kupolaI18n,
8373
8475
  E as kupolaInitializer,
8374
- Sa as kupolaLifecycle,
8476
+ Ma as kupolaLifecycle,
8375
8477
  M as kupolaRegistry,
8376
- Rt as kupolaStoreManager,
8377
- Va as maskData,
8378
- Qa as n,
8478
+ Vt as kupolaStoreManager,
8479
+ Ka as maskData,
8480
+ to as n,
8379
8481
  Ii as numberUtils,
8380
- ni as objectUtils,
8381
- oo as off,
8382
- uo as offAll,
8383
- ho as offByScope,
8384
- ro as on,
8385
- ao as once,
8386
- sr as preloadUtils,
8482
+ ri as objectUtils,
8483
+ lo as off,
8484
+ po as offAll,
8485
+ uo as offByScope,
8486
+ ao as on,
8487
+ oo as once,
8488
+ ir as preloadUtils,
8387
8489
  I as ref,
8388
- Wa as registerComponent,
8389
- Ua as registerLazyComponent,
8390
- tl as registerWebComponents,
8391
- ot as renderIcon,
8392
- Xo as resetHttpClient,
8490
+ Ua as registerComponent,
8491
+ Ya as registerLazyComponent,
8492
+ el as registerWebComponents,
8493
+ lt as renderIcon,
8494
+ jo as resetHttpClient,
8393
8495
  Na as sanitizeHtml,
8394
- rt as setBrand,
8395
- Ta as setConfig,
8396
- to as setLocale,
8397
- nt as setTheme,
8398
- $o as showImagePreview,
8399
- je as stringUtils,
8400
- Ra as stripHtml,
8401
- fe as svg,
8402
- Za as t,
8403
- hn as throttle,
8404
- jo as useDeps,
8405
- ja as useMixin,
8406
- Jo as useQuery,
8407
- Wo as validateForm,
8496
+ at as setBrand,
8497
+ $a as setConfig,
8498
+ eo as setLocale,
8499
+ rt as setTheme,
8500
+ Bo as showImagePreview,
8501
+ Je as stringUtils,
8502
+ Va as stripHtml,
8503
+ me as svg,
8504
+ Qa as t,
8505
+ dn as throttle,
8506
+ Jo as useDeps,
8507
+ Ja as useMixin,
8508
+ Go as useQuery,
8509
+ Uo as validateForm,
8408
8510
  P as validator,
8409
8511
  Ft as validatorUtils
8410
8512
  };