@kupola/kupola 1.5.3 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- class 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,41 @@ 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) => {
2930
2946
  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());
2947
+ e.classList.contains("is-disabled") || e.classList.contains("ds-dropdown__divider") || (this.triggerText && !e.hasAttribute("data-no-update-trigger") && (this.triggerText.textContent = e.textContent.trim()), this.onSelect && this.onSelect({ item: e, value: e.getAttribute("data-value"), text: e.textContent.trim() }), this.closeOnClick && (this.hideMenu(), this.trigger.focus()));
2932
2948
  }, this._bindMenuItems(), this._triggerClickHandler = (t) => {
2933
2949
  t.stopPropagation(), !this.disabled && this.toggleMenu();
2934
2950
  }, this._triggerMouseenterHandler = () => {
@@ -2940,7 +2956,8 @@ class _r {
2940
2956
  }, this._mouseleaveHandler = () => {
2941
2957
  this.triggerMode === "hover" && (this._hoverLeaveTimer = setTimeout(() => this.hideMenu(), this.hoverDelay));
2942
2958
  }, this._keydownHandler = (t) => {
2943
- if (!this.isOpen || this.disabled) return;
2959
+ if (!this.isOpen || this.disabled)
2960
+ return;
2944
2961
  const e = this._getNavigableItems();
2945
2962
  if (e.length)
2946
2963
  switch (t.key) {
@@ -2967,7 +2984,7 @@ class _r {
2967
2984
  }, this.triggerMode === "hover" ? (this.trigger.addEventListener("mouseenter", this._triggerMouseenterHandler), this.trigger.addEventListener("mouseleave", this._triggerMouseleaveHandler), this.menu.addEventListener("mouseenter", this._mouseenterHandler), this.menu.addEventListener("mouseleave", this._mouseleaveHandler)) : this.trigger.addEventListener("click", this._triggerClickHandler), this._triggerKeydownHandler = (t) => {
2968
2985
  this.disabled || (t.key === "Enter" || t.key === " " || t.key === "ArrowDown") && (t.preventDefault(), this.showMenu());
2969
2986
  }, this.trigger.addEventListener("keydown", this._triggerKeydownHandler), document.addEventListener("keydown", this._keydownHandler), this._documentClickHandler = (t) => {
2970
- this.element.contains(t.target) || this.hideMenu();
2987
+ !this.element.contains(t.target) && !this.menu.contains(t.target) && this.hideMenu();
2971
2988
  }, this._documentClickListener = H.on(document, "click", this._documentClickHandler, { scope: this.scope }), this.menu.style.display = "none", this.element.__kupolaInitialized = !0);
2972
2989
  }
2973
2990
  _bindMenuItems() {
@@ -2982,17 +2999,37 @@ class _r {
2982
2999
  t.forEach((e) => e.classList.remove("is-focused")), t[this.focusIndex] && (t[this.focusIndex].classList.add("is-focused"), t[this.focusIndex].scrollIntoView({ block: "nearest" }));
2983
3000
  }
2984
3001
  _calculatePosition() {
2985
- if (!this.autoPosition) return;
3002
+ if (!this.autoPosition)
3003
+ return;
2986
3004
  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");
3005
+ if (this.menu.classList.remove("ds-dropdown--top", "ds-dropdown--right", "ds-dropdown--dropup"), this.appendToBody) {
3006
+ this.menu.style.width = `${Math.max(t.width, e.width)}px`;
3007
+ const r = s - t.bottom, a = t.top;
3008
+ r < e.height && a > r ? (this.menu.style.top = `${t.top - e.height - 4}px`, this.menu.style.bottom = "auto") : (this.menu.style.top = `${t.bottom + 4}px`, this.menu.style.bottom = "auto"), t.left + e.width > n ? (this.menu.style.left = `${t.right - Math.max(t.width, e.width)}px`, this.menu.style.right = "auto") : (this.menu.style.left = `${t.left}px`, this.menu.style.right = "auto");
3009
+ } else {
3010
+ const r = s - t.bottom, a = t.top;
3011
+ r < e.height && a > r ? (this.menu.classList.add("ds-dropdown--dropup"), this.menu.style.top = "auto", this.menu.style.bottom = "100%", this.menu.style.marginBottom = "4px") : (this.menu.style.top = "100%", this.menu.style.bottom = "auto", this.menu.style.marginBottom = "0"), t.left + e.width > n ? (this.menu.style.left = "auto", this.menu.style.right = "0") : (this.menu.style.left = "0", this.menu.style.right = "auto");
3012
+ }
2990
3013
  }
2991
3014
  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 })));
3015
+ this.disabled || this.isOpen || (this.isOpen = !0, this.focusIndex = -1, this.element.classList.add("is-open"), this.appendToBody && (this._appendMenuToBody(), this._addScrollListener()), this.menu.style.display = "block", this._calculatePosition(), this.onShow && this.onShow(), this.element.dispatchEvent(new CustomEvent("kupola:dropdown-show", { bubbles: !0 })));
2993
3016
  }
2994
3017
  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 })));
3018
+ this.isOpen && (this.isOpen = !1, this.menu.style.display = "none", this.element.classList.remove("is-open"), this.appendToBody && (this._restoreMenuFromBody(), this._removeScrollListener()), this.menu.querySelectorAll(".ds-dropdown__item").forEach((t) => t.classList.remove("is-focused")), this.onHide && this.onHide(), this.element.dispatchEvent(new CustomEvent("kupola:dropdown-hide", { bubbles: !0 })));
3019
+ }
3020
+ _appendMenuToBody() {
3021
+ this.menu && (this._originalParent = this.menu.parentNode, this._originalPosition = this.menu.style.position, this._originalTop = this.menu.style.top, this._originalLeft = this.menu.style.left, this._originalRight = this.menu.style.right, this._originalBottom = this.menu.style.bottom, this._originalMarginBottom = this.menu.style.marginBottom, this._originalWidth = this.menu.style.width, this.menu.style.position = "fixed", this.menu.style.zIndex = "9999", document.body.appendChild(this.menu));
3022
+ }
3023
+ _restoreMenuFromBody() {
3024
+ !this.menu || !this._originalParent || (this._originalParent.appendChild(this.menu), this.menu.style.position = this._originalPosition || "", this.menu.style.top = this._originalTop || "", this.menu.style.left = this._originalLeft || "", this.menu.style.right = this._originalRight || "", this.menu.style.bottom = this._originalBottom || "", this.menu.style.marginBottom = this._originalMarginBottom || "", this.menu.style.width = this._originalWidth || "", this.menu.style.zIndex = "", this._originalParent = null);
3025
+ }
3026
+ _addScrollListener() {
3027
+ this._scrollHandler = () => {
3028
+ this.hideMenu();
3029
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3030
+ }
3031
+ _removeScrollListener() {
3032
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
2996
3033
  }
2997
3034
  toggleMenu() {
2998
3035
  this.isOpen ? this.hideMenu() : this.showMenu();
@@ -3020,30 +3057,30 @@ class _r {
3020
3057
  destroy() {
3021
3058
  this.element.__kupolaInitialized && (clearTimeout(this._hoverTimer), clearTimeout(this._hoverLeaveTimer), this.trigger && (this._triggerClickHandler && this.trigger.removeEventListener("click", this._triggerClickHandler), this._triggerMouseenterHandler && this.trigger.removeEventListener("mouseenter", this._triggerMouseenterHandler), this._triggerMouseleaveHandler && this.trigger.removeEventListener("mouseleave", this._triggerMouseleaveHandler), this._triggerKeydownHandler && this.trigger.removeEventListener("keydown", this._triggerKeydownHandler)), this.menu && (this.menu.querySelectorAll(".ds-dropdown__item").forEach((t) => {
3022
3059
  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);
3060
+ }), this._mouseenterHandler && this.menu.removeEventListener("mouseenter", this._mouseenterHandler), this._mouseleaveHandler && this.menu.removeEventListener("mouseleave", this._mouseleaveHandler)), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this.appendToBody && this._originalParent && this._restoreMenuFromBody(), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._itemClickHandler = null, this._keydownHandler = null, this._mouseenterHandler = null, this._mouseleaveHandler = null, this._triggerMouseenterHandler = null, this._triggerMouseleaveHandler = null, this._triggerKeydownHandler = null, this.element.__kupolaInitialized = !1);
3024
3061
  }
3025
3062
  }
3026
- function Xt(i, t) {
3027
- const e = new _r(i, t);
3063
+ function jt(i, t) {
3064
+ const e = new xr(i, t);
3028
3065
  e.init(), i._kupolaDropdown = e;
3029
3066
  }
3030
- function fo(i = document) {
3067
+ function mo(i = document) {
3031
3068
  i.querySelectorAll(".ds-dropdown").forEach((t) => {
3032
- Xt(t);
3069
+ jt(t);
3033
3070
  });
3034
3071
  }
3035
- function jt(i) {
3072
+ function Jt(i) {
3036
3073
  i._kupolaDropdown && (i._kupolaDropdown.destroy(), i._kupolaDropdown = null);
3037
3074
  }
3038
- function mo() {
3075
+ function go() {
3039
3076
  document.querySelectorAll(".ds-dropdown").forEach((i) => {
3040
- jt(i);
3077
+ Jt(i);
3041
3078
  });
3042
3079
  }
3043
- E.register("dropdown", Xt, jt);
3044
- class yr {
3080
+ E.register("dropdown", jt, Jt);
3081
+ class Er {
3045
3082
  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;
3083
+ this.element = t, this.trigger = t.querySelector(".ds-select__trigger"), this.valueEl = t.querySelector(".ds-select__value") || t.querySelector(".ds-select__trigger span"), this.optionsEl = t.querySelector(".ds-select__options") || t.querySelector(".ds-select__menu"), this.nativeSelect = t.querySelector("select"), this.icon = t.querySelector(".ds-select__icon"), this.scope = `select-${Math.random().toString(36).substr(2, 9)}`, this.multiple = e.multiple || t.hasAttribute("data-select-multiple"), this.searchable = e.searchable || t.hasAttribute("data-select-search"), this.clearable = e.clearable || t.hasAttribute("data-select-clear"), this.placeholder = e.placeholder || t.getAttribute("data-select-placeholder") || "", this.disabled = e.disabled || t.hasAttribute("data-select-disabled"), this.maxSelection = e.maxSelection || parseInt(t.getAttribute("data-select-max")) || 1 / 0, this.remoteMethod = e.remoteMethod || null, this.onChange = e.onChange || null, this.appendToBody = e.appendToBody !== !1, this.isOpen = !1, this.selectedValues = /* @__PURE__ */ new Set(), this.allOptions = [], this.filteredOptions = [], this.focusIndex = -1, this.searchInput = null, this.clearBtn = null, this.tagsWrap = null, this._originalParent = null, this._originalPosition = null, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._optionClickHandler = null, this._keydownHandler = null;
3047
3084
  }
3048
3085
  init() {
3049
3086
  !this.trigger || !this.optionsEl || this.element.__kupolaInitialized || (this._collectOptions(), this.searchable && this._createSearchInput(), this.clearable && this._createClearButton(), this.multiple && this._createTagsWrap(), this.placeholder && this.valueEl && (this.valueEl.setAttribute("data-placeholder", this.placeholder), this.selectedValues.size || (this.valueEl.classList.add("ds-select__value--placeholder"), this.valueEl.textContent = this.placeholder)), this._optionClickHandler = (t) => {
@@ -3072,7 +3109,7 @@ class yr {
3072
3109
  break;
3073
3110
  }
3074
3111
  }, document.addEventListener("keydown", this._keydownHandler), this._documentClickHandler = (t) => {
3075
- this.element.contains(t.target) || this.hideOptions();
3112
+ !this.element.contains(t.target) && !this.optionsEl.contains(t.target) && this.hideOptions();
3076
3113
  }, this._documentClickListener = H.on(document, "click", this._documentClickHandler, { scope: this.scope }), this._restoreSelectedState(), this.optionsEl.style.display = "none", this.element.__kupolaInitialized = !0);
3077
3114
  }
3078
3115
  _collectOptions() {
@@ -3214,10 +3251,31 @@ class yr {
3214
3251
  this.valueEl && (this.valueEl.textContent = t || this.valueEl.textContent, this.valueEl.classList.remove("ds-select__value--placeholder"));
3215
3252
  }
3216
3253
  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));
3254
+ this.disabled || this.isOpen || (this.isOpen = !0, this.element.classList.add("is-open"), this.icon && (this.icon.style.transform = "rotate(180deg)"), this.focusIndex = -1, this.appendToBody && (this._appendOptionsToBody(), this._addScrollListener()), this.optionsEl.style.display = "block", this._calculateOptionsPosition(), this.searchInput && setTimeout(() => this.searchInput.focus(), 50));
3218
3255
  }
3219
3256
  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")));
3257
+ this.isOpen && (this.isOpen = !1, this.optionsEl.style.display = "none", this.icon && (this.icon.style.transform = "rotate(0deg)"), this.element.classList.remove("is-open"), this.appendToBody && (this._restoreOptionsFromBody(), this._removeScrollListener()), this.searchInput && (this.searchInput.value = "", this._handleSearch()), this.optionsEl.querySelectorAll(".ds-select__option, .ds-select__item").forEach((t) => t.classList.remove("is-focused")));
3258
+ }
3259
+ _addScrollListener() {
3260
+ this._scrollHandler = () => {
3261
+ this.hideOptions();
3262
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3263
+ }
3264
+ _removeScrollListener() {
3265
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
3266
+ }
3267
+ _appendOptionsToBody() {
3268
+ this.optionsEl && (this._originalParent = this.optionsEl.parentNode, this._originalPosition = this.optionsEl.style.position, this._originalTop = this.optionsEl.style.top, this._originalLeft = this.optionsEl.style.left, this._originalRight = this.optionsEl.style.right, this._originalWidth = this.optionsEl.style.width, this.optionsEl.style.position = "fixed", this.optionsEl.style.zIndex = "9999", document.body.appendChild(this.optionsEl));
3269
+ }
3270
+ _restoreOptionsFromBody() {
3271
+ !this.optionsEl || !this._originalParent || (this._originalParent.appendChild(this.optionsEl), this.optionsEl.style.position = this._originalPosition || "", this.optionsEl.style.top = this._originalTop || "", this.optionsEl.style.left = this._originalLeft || "", this.optionsEl.style.right = this._originalRight || "", this.optionsEl.style.width = this._originalWidth || "", this.optionsEl.style.zIndex = "", this._originalParent = null);
3272
+ }
3273
+ _calculateOptionsPosition() {
3274
+ if (!this.appendToBody || !this.optionsEl) return;
3275
+ const t = this.element.getBoundingClientRect(), e = this.optionsEl.getBoundingClientRect(), s = window.innerHeight, n = window.innerWidth;
3276
+ this.optionsEl.style.width = `${Math.max(t.width, e.width)}px`;
3277
+ const r = s - t.bottom, a = t.top;
3278
+ r < e.height && a > r ? this.optionsEl.style.top = `${t.top - e.height - 4}px` : this.optionsEl.style.top = `${t.bottom + 4}px`, t.left + e.width > n ? this.optionsEl.style.left = `${t.right - Math.max(t.width, e.width)}px` : this.optionsEl.style.left = `${t.left}px`;
3221
3279
  }
3222
3280
  toggleOptions() {
3223
3281
  this.isOpen ? this.hideOptions() : this.showOptions();
@@ -3251,25 +3309,27 @@ class yr {
3251
3309
  destroy() {
3252
3310
  this.element.__kupolaInitialized && (this.trigger && this._triggerClickHandler && this.trigger.removeEventListener("click", this._triggerClickHandler), this.optionsEl && this.optionsEl.querySelectorAll(".ds-select__option, .ds-select__item").forEach((t) => {
3253
3311
  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);
3312
+ }), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this.searchInput && this.searchInput.remove(), this.clearBtn && this.clearBtn.remove(), this.tagsWrap && this.tagsWrap.remove(), this.appendToBody && this._originalParent && this._restoreOptionsFromBody(), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._optionClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3255
3313
  }
3256
3314
  }
3257
- function Jt(i, t) {
3258
- const e = new yr(i, t);
3315
+ function Gt(i, t) {
3316
+ const e = new Er(i, t);
3259
3317
  e.init(), i._kupolaSelect = e;
3260
3318
  }
3261
- function go(i = document) {
3319
+ function _o(i = document) {
3262
3320
  i.querySelectorAll(".ds-select").forEach((t) => {
3263
- Jt(t);
3321
+ Gt(t);
3264
3322
  });
3265
3323
  }
3266
- function vr(i) {
3324
+ function wr(i) {
3267
3325
  i._kupolaSelect && (i._kupolaSelect.destroy(), i._kupolaSelect = null);
3268
3326
  }
3269
- E.register("select", Jt, vr);
3270
- class br {
3327
+ E.register("select", Gt, wr);
3328
+ class kr {
3271
3329
  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;
3330
+ this.element = t, this.input = t.querySelector("input"), this.endInput = t.querySelector(".ds-datepicker__end-input"), this.icon = t.querySelector(".ds-datepicker__icon"), this.calendarEl = t.querySelector(".ds-datepicker__calendar"), this.scope = `datepicker-${Math.random().toString(36).substr(2, 9)}`;
3331
+ const s = X(), n = s.datepicker?.weekStart !== void 0 ? s.datepicker.weekStart : 1;
3332
+ this.format = e.format || t.getAttribute("data-datepicker-format") || "YYYY-MM-DD", this.range = e.range || t.hasAttribute("data-datepicker-range"), this.minDate = e.minDate || t.getAttribute("data-datepicker-min") || null, this.maxDate = e.maxDate || t.getAttribute("data-datepicker-max") || null, this.disabledDate = e.disabledDate || null, this.weekStart = e.weekStart !== void 0 ? e.weekStart : parseInt(t.getAttribute("data-datepicker-week-start")) || n, this.appendToBody = e.appendToBody !== !1, this.placeholder = e.placeholder || t.getAttribute("data-datepicker-placeholder") || "", this.showToday = e.showToday !== !1, this.showWeekNumber = e.showWeekNumber || t.hasAttribute("data-datepicker-week-number"), this.onChange = e.onChange || null, this.months = e.months || ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], this.weekDays = e.weekDays || ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], this.todayText = e.todayText || "Today", this.clearText = e.clearText || "Clear", this.currentDate = /* @__PURE__ */ new Date(), this.viewMode = "days", this.selectedDate = null, this.rangeStart = null, this.rangeEnd = null, this.isSelectingEnd = !1, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._documentClickHandler = null, this._originalParent = null, this._documentClickListener = null, this._resizeHandler = null, this._resizeListener = null, this._keydownHandler = null;
3273
3333
  }
3274
3334
  init() {
3275
3335
  if (this.calendarEl && !this.element.__kupolaInitialized) {
@@ -3287,23 +3347,27 @@ class br {
3287
3347
  }
3288
3348
  }
3289
3349
  _parseDate(t) {
3290
- if (!t) return null;
3350
+ if (!t)
3351
+ return null;
3291
3352
  const e = t.split("-");
3292
3353
  return e.length === 3 ? new Date(parseInt(e[0]), parseInt(e[1]) - 1, parseInt(e[2])) : null;
3293
3354
  }
3294
3355
  _formatDate(t) {
3295
- if (!t) return "";
3356
+ if (!t)
3357
+ return "";
3296
3358
  const e = t.getFullYear(), s = String(t.getMonth() + 1).padStart(2, "0"), n = String(t.getDate()).padStart(2, "0");
3297
3359
  return this.format.replace("YYYY", e).replace("MM", s).replace("DD", n);
3298
3360
  }
3299
3361
  _isDateDisabled(t) {
3300
3362
  if (this.minDate) {
3301
3363
  const e = typeof this.minDate == "string" ? this._parseDate(this.minDate) : this.minDate;
3302
- if (t < e) return !0;
3364
+ if (t < e)
3365
+ return !0;
3303
3366
  }
3304
3367
  if (this.maxDate) {
3305
3368
  const e = typeof this.maxDate == "string" ? this._parseDate(this.maxDate) : this.maxDate;
3306
- if (t > e) return !0;
3369
+ if (t > e)
3370
+ return !0;
3307
3371
  }
3308
3372
  return this.disabledDate ? this.disabledDate(t) : !1;
3309
3373
  }
@@ -3315,30 +3379,46 @@ class br {
3315
3379
  return !t || !e ? !1 : t.getFullYear() === e.getFullYear() && t.getMonth() === e.getMonth() && t.getDate() === e.getDate();
3316
3380
  }
3317
3381
  _isInRange(t) {
3318
- if (!this.range || !this.rangeStart || !this.rangeEnd) return !1;
3382
+ if (!this.range || !this.rangeStart || !this.rangeEnd)
3383
+ return !1;
3319
3384
  const e = t.getTime(), s = Math.min(this.rangeStart.getTime(), this.rangeEnd.getTime()), n = Math.max(this.rangeStart.getTime(), this.rangeEnd.getTime());
3320
3385
  return e >= s && e <= n;
3321
3386
  }
3322
3387
  calculatePosition() {
3323
3388
  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");
3389
+ this.appendToBody ? (this.calendarEl.style.left = `${t.left}px`, n >= a ? (this.calendarEl.style.top = `${t.bottom + 4}px`, this.calendarEl.style.bottom = "auto") : r >= a ? (this.calendarEl.style.top = `${t.top - a - 4}px`, this.calendarEl.style.bottom = "auto") : (this.calendarEl.style.top = `${t.bottom + 4}px`, this.calendarEl.style.bottom = "auto")) : n >= a ? (this.calendarEl.style.top = "calc(100% + 4px)", this.calendarEl.style.bottom = "auto") : r >= a ? (this.calendarEl.style.top = "auto", this.calendarEl.style.bottom = "calc(100% + 4px)") : (this.calendarEl.style.top = "calc(100% + 4px)", this.calendarEl.style.bottom = "auto");
3325
3390
  }
3326
3391
  toggleCalendar(t) {
3327
3392
  t.preventDefault(), t.stopPropagation();
3328
3393
  const e = this.calendarEl.style.display === "block";
3329
3394
  document.querySelectorAll(".ds-datepicker__calendar").forEach((s) => {
3330
3395
  s !== this.calendarEl && (s.style.display = "none", s.setAttribute("hidden", ""));
3331
- }), e || (this.calendarEl.style.display = "block", this.calendarEl.removeAttribute("hidden"), this.calculatePosition());
3396
+ }), e || (this.appendToBody && (this._appendCalendarToBody(), this._addScrollListener()), this.calendarEl.style.display = "block", this.calendarEl.removeAttribute("hidden"), this.calculatePosition());
3332
3397
  }
3333
3398
  hideCalendar(t) {
3334
- this.element.contains(t.target) || (this.calendarEl.style.display = "none", this.calendarEl.setAttribute("hidden", ""), this.viewMode = "days");
3399
+ !this.element.contains(t.target) && !this.calendarEl.contains(t.target) && (this.calendarEl.style.display = "none", this.calendarEl.setAttribute("hidden", ""), this.viewMode = "days", this.appendToBody && (this._restoreCalendarFromBody(), this._removeScrollListener()));
3400
+ }
3401
+ _addScrollListener() {
3402
+ this._scrollHandler = () => {
3403
+ this.hideCalendar({ target: document });
3404
+ }, window.addEventListener("scroll", this._scrollHandler, !0);
3405
+ }
3406
+ _removeScrollListener() {
3407
+ this._scrollHandler && (window.removeEventListener("scroll", this._scrollHandler, !0), this._scrollHandler = null);
3408
+ }
3409
+ _appendCalendarToBody() {
3410
+ this.calendarEl && (this._originalParent = this.calendarEl.parentNode, this._originalPosition = this.calendarEl.style.position, this._originalTop = this.calendarEl.style.top, this._originalLeft = this.calendarEl.style.left, this._originalWidth = this.calendarEl.style.width, this.calendarEl.style.position = "fixed", this.calendarEl.style.zIndex = "9999", document.body.appendChild(this.calendarEl));
3411
+ }
3412
+ _restoreCalendarFromBody() {
3413
+ !this.calendarEl || !this._originalParent || (this._originalParent.appendChild(this.calendarEl), this.calendarEl.style.position = this._originalPosition || "", this.calendarEl.style.top = this._originalTop || "", this.calendarEl.style.left = this._originalLeft || "", this.calendarEl.style.width = this._originalWidth || "", this.calendarEl.style.zIndex = "", this._originalParent = null);
3335
3414
  }
3336
3415
  resizeHandler() {
3337
3416
  this.calendarEl.style.display === "block" && this.calculatePosition();
3338
3417
  }
3339
3418
  _renderCalendar() {
3340
3419
  const t = this.calendarEl;
3341
- if (!t) return;
3420
+ if (!t)
3421
+ return;
3342
3422
  if (t.querySelectorAll(".ds-datepicker__day").forEach((p) => {
3343
3423
  p._dayClickHandler && p.removeEventListener("click", p._dayClickHandler);
3344
3424
  }), this.viewMode === "years") {
@@ -3502,23 +3582,23 @@ class br {
3502
3582
  destroy() {
3503
3583
  this.element.__kupolaInitialized && (this.icon && this._iconClickHandler && this.icon.removeEventListener("click", this._iconClickHandler), this.input && this._inputClickHandler && this.input.removeEventListener("click", this._inputClickHandler), this.endInput && this._endInputClickHandler && this.endInput.removeEventListener("click", this._endInputClickHandler), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this._resizeListener && this._resizeListener.unsubscribe ? this._resizeListener.unsubscribe() : this._resizeHandler && window.removeEventListener("resize", this._resizeHandler), this.calendarEl && this.calendarEl.querySelectorAll(".ds-datepicker__day").forEach((t) => {
3504
3584
  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);
3585
+ }), this.appendToBody && this._originalParent && this._restoreCalendarFromBody(), this._documentClickHandler = null, this._resizeHandler = null, this._documentClickListener = null, this._resizeListener = null, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3506
3586
  }
3507
3587
  }
3508
- function Gt(i, t) {
3509
- const e = new br(i, t);
3588
+ function Zt(i, t) {
3589
+ const e = new kr(i, t);
3510
3590
  e.init(), i._kupolaDatepicker = e;
3511
3591
  }
3512
- function _o(i = document) {
3592
+ function yo(i = document) {
3513
3593
  i.querySelectorAll(".ds-datepicker").forEach((t) => {
3514
- Gt(t);
3594
+ Zt(t);
3515
3595
  });
3516
3596
  }
3517
- function xr(i) {
3597
+ function Cr(i) {
3518
3598
  i._kupolaDatepicker && (i._kupolaDatepicker.destroy(), i._kupolaDatepicker = null);
3519
3599
  }
3520
- E.register("datepicker", Gt, xr);
3521
- class Er {
3600
+ E.register("datepicker", Zt, Cr);
3601
+ class Sr {
3522
3602
  constructor(t, e = {}) {
3523
3603
  this.element = t, this.input = t.querySelector("input"), this.inputWrap = t.querySelector(".ds-timepicker__input-wrap"), this.panelEl = null, this.scope = `timepicker-${Math.random().toString(36).substr(2, 9)}`, this.showSeconds = e.showSeconds || t.hasAttribute("data-timepicker-seconds"), this.use12Hour = e.use12Hour || t.hasAttribute("data-timepicker-12h"), this.hourStep = e.hourStep || parseInt(t.getAttribute("data-timepicker-hour-step")) || 1, this.minuteStep = e.minuteStep || parseInt(t.getAttribute("data-timepicker-minute-step")) || 5, this.secondStep = e.secondStep || parseInt(t.getAttribute("data-timepicker-second-step")) || 5, this.minTime = e.minTime || t.getAttribute("data-timepicker-min") || null, this.maxTime = e.maxTime || t.getAttribute("data-timepicker-max") || null, this.disabledTime = e.disabledTime || null, this.placeholder = e.placeholder || t.getAttribute("data-timepicker-placeholder") || "", this.clearable = e.clearable || t.hasAttribute("data-timepicker-clear"), this.onChange = e.onChange || null, this.selectedHour = 12, this.selectedMinute = 0, this.selectedSecond = 0, this.isPM = !1, this._inputWrapClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._resizeHandler = null, this._resizeListener = null, this._keydownHandler = null;
3524
3604
  }
@@ -3700,20 +3780,20 @@ class Er {
3700
3780
  this.element.__kupolaInitialized && (this.inputWrap && this._inputWrapClickHandler && this.inputWrap.removeEventListener("click", this._inputWrapClickHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this._resizeListener && this._resizeListener.unsubscribe ? this._resizeListener.unsubscribe() : this._resizeHandler && window.removeEventListener("resize", this._resizeHandler), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this.panelEl && (this.panelEl.remove(), this.panelEl = null), this._inputWrapClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._resizeHandler = null, this._resizeListener = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3701
3781
  }
3702
3782
  }
3703
- function Zt(i, t) {
3704
- const e = new Er(i, t);
3783
+ function Qt(i, t) {
3784
+ const e = new Sr(i, t);
3705
3785
  e.init(), i._kupolaTimepicker = e;
3706
3786
  }
3707
- function yo(i = document) {
3787
+ function vo(i = document) {
3708
3788
  i.querySelectorAll(".ds-timepicker").forEach((t) => {
3709
- Zt(t);
3789
+ Qt(t);
3710
3790
  });
3711
3791
  }
3712
- function kr(i) {
3792
+ function Lr(i) {
3713
3793
  i._kupolaTimepicker && (i._kupolaTimepicker.destroy(), i._kupolaTimepicker = null);
3714
3794
  }
3715
- E.register("timepicker", Zt, kr);
3716
- class wr {
3795
+ E.register("timepicker", Qt, Lr);
3796
+ class Dr {
3717
3797
  constructor(t, e = {}) {
3718
3798
  if (this.element = t, this.track = t.querySelector(".ds-slider__track"), this.fill = t.querySelector(".ds-slider__fill"), this.input = t.querySelector(".ds-slider__input"), this.valueEl = t.querySelector(".ds-slider__value"), this.range = e.range || t.hasAttribute("data-slider-range"), this.vertical = e.vertical || t.hasAttribute("data-slider-vertical"), this.disabled = e.disabled || t.hasAttribute("data-slider-disabled"), this.showTooltip = e.showTooltip !== !1, this.showMarks = e.marks || t.hasAttribute("data-slider-marks"), this.markStep = e.markStep || parseInt(t.getAttribute("data-slider-mark-step")) || 10, this.tooltipFormat = e.tooltipFormat || ((s) => s), this.onChange = e.onChange || null, this.onInput = e.onInput || null, this.inputEnd = t.querySelector(".ds-slider__input--end"), this.fillEnd = null, this.thumbStart = null, this.thumbEnd = null, this.tooltipStart = null, this.tooltipEnd = null, this.marksEl = null, this._listeners = [], this._isDragging = !1, this._activeThumb = null, !this.track || !this.fill)
3719
3799
  throw new Error("Slider: Missing required elements");
@@ -3861,26 +3941,26 @@ class wr {
3861
3941
  this.disabled = !0, this.element.classList.add("is-disabled");
3862
3942
  }
3863
3943
  }
3864
- function Qt(i, t) {
3944
+ function te(i, t) {
3865
3945
  if (!i.__kupolaInitialized)
3866
3946
  try {
3867
- const e = new wr(i, t);
3947
+ const e = new Dr(i, t);
3868
3948
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3869
3949
  } catch (e) {
3870
3950
  console.error("[Slider] Error initializing:", e);
3871
3951
  }
3872
3952
  }
3873
- function Cr(i) {
3953
+ function Hr(i) {
3874
3954
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3875
3955
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3876
3956
  }
3877
- function vo() {
3957
+ function bo() {
3878
3958
  document.querySelectorAll(".ds-slider").forEach((i) => {
3879
- Qt(i);
3959
+ te(i);
3880
3960
  });
3881
3961
  }
3882
- E.register("slider", Qt, Cr);
3883
- class Sr {
3962
+ E.register("slider", te, Hr);
3963
+ class Mr {
3884
3964
  constructor(t, e = {}) {
3885
3965
  this.element = t, this.track = t.querySelector(".ds-carousel__track"), this.items = t.querySelectorAll(".ds-carousel__item"), this.prevBtn = t.querySelector(".ds-carousel__prev"), this.nextBtn = t.querySelector(".ds-carousel__next"), this.indicators = t.querySelectorAll(".ds-carousel__indicator"), this.autoBtn = t.querySelector(".ds-carousel__auto"), this.mode = e.mode || t.getAttribute("data-carousel-mode") || "slide", this.vertical = e.vertical || t.hasAttribute("data-carousel-vertical"), this.autoPlay = e.autoPlay !== !1, this.interval = e.interval || parseInt(t.getAttribute("data-carousel-interval")) || 3e3, this.transitionDuration = e.transitionDuration || parseInt(t.getAttribute("data-carousel-duration")) || 500, this.loop = e.loop !== !1, this.pauseOnHover = e.pauseOnHover !== !1, this.swipe = e.swipe !== !1, this.swipeThreshold = e.swipeThreshold || 50, this.keyboardNav = e.keyboardNav || t.hasAttribute("data-carousel-keyboard"), this.onChange = e.onChange || null, this.currentIndex = 0, this.totalItems = this.items.length, this.autoPlayTimer = null, this.isAutoPlaying = !1, this.isTransitioning = !1, this.touchStartX = 0, this.touchStartY = 0, this.touchDeltaX = 0, this.touchDeltaY = 0, this.isSwiping = !1, this._mouseEnterHandler = () => {
3886
3966
  this.pauseOnHover && this.stopAutoPlay();
@@ -3961,22 +4041,22 @@ class Sr {
3961
4041
  }), this._touchStartHandler && this.element.removeEventListener("touchstart", this._touchStartHandler), this._touchMoveHandler && this.element.removeEventListener("touchmove", this._touchMoveHandler), this._touchEndHandler && this.element.removeEventListener("touchend", this._touchEndHandler), this._keydownHandler && this.element.removeEventListener("keydown", this._keydownHandler), this._prevClickHandler = null, this._nextClickHandler = null, this._autoClickHandler = null, this._indicatorClickHandlers = null;
3962
4042
  }
3963
4043
  }
3964
- function te(i, t) {
4044
+ function ee(i, t) {
3965
4045
  if (i.__kupolaInitialized) return;
3966
- const e = new Sr(i, t);
4046
+ const e = new Mr(i, t);
3967
4047
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3968
4048
  }
3969
- function bo(i = document) {
4049
+ function xo(i = document) {
3970
4050
  i.querySelectorAll(".ds-carousel").forEach((t) => {
3971
- te(t);
4051
+ ee(t);
3972
4052
  });
3973
4053
  }
3974
- function Lr(i) {
4054
+ function Tr(i) {
3975
4055
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3976
4056
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3977
4057
  }
3978
- E.register("carousel", te, Lr);
3979
- class Dr {
4058
+ E.register("carousel", ee, Tr);
4059
+ class Ir {
3980
4060
  constructor(t, e = {}) {
3981
4061
  this.element = t, this.mask = t.querySelector(".ds-drawer-mask"), this.drawerEl = t.querySelector(".ds-drawer"), this.placement = e.placement || t.getAttribute("data-drawer-placement") || "right", this.width = e.width || t.getAttribute("data-drawer-width") || "400px", this.height = e.height || t.getAttribute("data-drawer-height") || "400px", this.escClose = e.escClose !== !1, this.maskClosable = e.maskClosable !== !1, this.showMask = e.showMask !== !1, this.onOpen = e.onOpen || null, this.onClose = e.onClose || null, this.onBeforeClose = e.onBeforeClose || null, this._keydownHandler = null, this._bindEvents();
3982
4062
  }
@@ -4013,20 +4093,20 @@ class Dr {
4013
4093
  return this.drawerEl?.classList.contains("is-visible") || !1;
4014
4094
  }
4015
4095
  }
4016
- function at(i, t) {
4096
+ function ot(i, t) {
4017
4097
  if (i.__kupolaInitialized) return;
4018
- const e = new Dr(i, t);
4098
+ const e = new Ir(i, t);
4019
4099
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4020
4100
  }
4021
- function Hr(i) {
4101
+ function Ar(i) {
4022
4102
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4023
4103
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4024
4104
  }
4025
- function xo() {
4105
+ function Eo() {
4026
4106
  document.querySelectorAll("[data-drawer]").forEach((i) => {
4027
4107
  i.addEventListener("click", () => {
4028
4108
  const t = i.getAttribute("data-drawer"), e = document.getElementById(t);
4029
- e && (at(e, {
4109
+ e && (ot(e, {
4030
4110
  placement: i.getAttribute("data-drawer-placement") || "right",
4031
4111
  width: i.getAttribute("data-drawer-width"),
4032
4112
  height: i.getAttribute("data-drawer-height")
@@ -4034,16 +4114,18 @@ function xo() {
4034
4114
  });
4035
4115
  }), document.querySelectorAll(".ds-drawer-mask").forEach((i) => {
4036
4116
  const t = i.parentElement;
4037
- t && at(t);
4117
+ t && ot(t);
4038
4118
  });
4039
4119
  }
4040
- E.register("drawer", at, Hr);
4120
+ E.register("drawer", ot, Ar);
4041
4121
  class $ {
4042
4122
  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();
4123
+ this.element = t, this.mask = t.querySelector(".ds-modal-mask"), this.modal = t.querySelector(".ds-modal"), this.closeBtn = t.querySelector(".ds-modal__close");
4124
+ const s = X(), n = s.modal?.backdropClick !== void 0 ? s.modal.backdropClick : !0;
4125
+ this.fullscreen = e.fullscreen || t.hasAttribute("data-modal-fullscreen"), this.closableOnMask = e.closableOnMask !== void 0 ? e.closableOnMask : n, this.escClose = e.escClose !== !1, this.width = e.width || t.getAttribute("data-modal-width") || "", this.center = e.center !== !1, this.onBeforeOpen = e.onBeforeOpen || null, this.onBeforeClose = e.onBeforeClose || null, this.onOpened = e.onOpened || null, this.onClosed = e.onClosed || null, this._isOpen = !1, this._keydownHandler = (r) => {
4126
+ this.escClose && r.key === "Escape" && this.isVisible() && this.close();
4127
+ }, this._closeBtnClickHandler = () => this.close(), this._maskClickHandler = (r) => {
4128
+ this.closableOnMask && r.target === this.mask && this.close();
4047
4129
  }, this.init();
4048
4130
  }
4049
4131
  init() {
@@ -4072,7 +4154,7 @@ class $ {
4072
4154
  }
4073
4155
  }
4074
4156
  $._openCount = 0;
4075
- function ee(i = {}) {
4157
+ function se(i = {}) {
4076
4158
  const {
4077
4159
  title: t = "",
4078
4160
  content: e = "",
@@ -4092,7 +4174,7 @@ function ee(i = {}) {
4092
4174
  onOpen: y,
4093
4175
  onClose: _,
4094
4176
  footer: b = null,
4095
- size: x = cr().defaultSize
4177
+ size: x = X().defaultSize
4096
4178
  } = i, v = x === "sm" ? "ds-btn--sm" : x === "lg" ? "ds-btn--lg" : "", C = document.createElement("div");
4097
4179
  C.className = "ds-modal-container";
4098
4180
  let S = "";
@@ -4115,13 +4197,13 @@ function ee(i = {}) {
4115
4197
  </div>
4116
4198
  </div>
4117
4199
  `, document.body.appendChild(C);
4118
- const w = new $(C, { fullscreen: r, closableOnMask: f }), A = C.querySelector(".ds-modal__title");
4200
+ const k = new $(C, { fullscreen: r, closableOnMask: f }), A = C.querySelector(".ds-modal__title");
4119
4201
  A && (A.textContent = t);
4120
4202
  const z = C.querySelector(".ds-modal__body");
4121
4203
  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 () => {
4204
+ const D = C.querySelector("[data-modal-confirm]"), q = C.querySelector("[data-modal-cancel]");
4205
+ let dt = !1;
4206
+ const ut = async () => {
4125
4207
  if (p) {
4126
4208
  D.disabled = !0, D.classList.add("is-loading");
4127
4209
  try {
@@ -4134,50 +4216,52 @@ function ee(i = {}) {
4134
4216
  return;
4135
4217
  }
4136
4218
  }
4137
- ht = !0, w.close();
4138
- }, ut = () => {
4139
- m && m(), w.close();
4219
+ dt = !0, k.close();
4220
+ }, pt = () => {
4221
+ m && m(), k.close();
4140
4222
  };
4141
- D && D.addEventListener("click", dt), B && B.addEventListener("click", ut);
4142
- const Ee = () => {
4223
+ D && D.addEventListener("click", ut), q && q.addEventListener("click", pt);
4224
+ const we = () => {
4143
4225
  setTimeout(() => {
4144
- D && D.removeEventListener("click", dt), B && B.removeEventListener("click", ut), w.destroy(), C.remove(), _ && _(ht);
4226
+ D && D.removeEventListener("click", ut), q && q.removeEventListener("click", pt), k.destroy(), C.remove(), _ && _(dt);
4145
4227
  }, 300);
4146
- }, ke = w.close.bind(w);
4147
- return w.close = () => {
4148
- ke(), Ee();
4149
- }, w.open(), y && setTimeout(() => y(), 50), w;
4228
+ }, ke = k.close.bind(k);
4229
+ return k.close = () => {
4230
+ ke(), we();
4231
+ }, k.open(), y && setTimeout(() => y(), 50), k;
4150
4232
  }
4151
- function Eo(i) {
4152
- return typeof i == "string" && (i = { content: i }), ee({
4233
+ function wo(i) {
4234
+ return typeof i == "string" && (i = { content: i }), se({
4153
4235
  ...i,
4154
4236
  showCancel: !0,
4155
4237
  showConfirm: !0
4156
4238
  });
4157
4239
  }
4158
4240
  function ko(i) {
4159
- return typeof i == "string" && (i = { content: i }), ee({
4241
+ return typeof i == "string" && (i = { content: i }), se({
4160
4242
  ...i,
4161
4243
  showCancel: !1,
4162
4244
  showConfirm: !0
4163
4245
  });
4164
4246
  }
4165
- function se(i) {
4166
- if (i.__kupolaInitialized) return;
4247
+ function ie(i) {
4248
+ if (i.__kupolaInitialized)
4249
+ return;
4167
4250
  const t = new $(i);
4168
4251
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4169
4252
  }
4170
- function Mr(i) {
4171
- if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4253
+ function zr(i) {
4254
+ if (!i.__kupolaInitialized || !i.__kupolaInstance)
4255
+ return;
4172
4256
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4173
4257
  }
4174
- function wo() {
4258
+ function Co() {
4175
4259
  document.querySelectorAll(".ds-modal-container").forEach((i) => {
4176
- se(i);
4260
+ ie(i);
4177
4261
  });
4178
4262
  }
4179
- E.register("modal", se, Mr);
4180
- class Co {
4263
+ E.register("modal", ie, zr);
4264
+ class So {
4181
4265
  static normal(t = {}) {
4182
4266
  return this._create({ type: "normal", ...t });
4183
4267
  }
@@ -4242,7 +4326,7 @@ class Co {
4242
4326
  return c.classList.add("is-visible"), document.body.style.overflow = "hidden", h && h.addEventListener("click", p), d && d.addEventListener("click", m), c.addEventListener("click", f), document.addEventListener("keydown", u), { close: y };
4243
4327
  }
4244
4328
  }
4245
- const So = {
4329
+ const Lo = {
4246
4330
  normal: function(i) {
4247
4331
  this.show({ ...i, type: "normal" });
4248
4332
  },
@@ -4259,38 +4343,38 @@ const So = {
4259
4343
  this.show({ ...i, type: "info" });
4260
4344
  },
4261
4345
  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 = {
4346
+ const t = ur(), { title: e, message: s, type: n = "normal", duration: r = t.duration, position: a = t.position } = i, o = document.createElement("div");
4347
+ o.className = `ds-notification__item ds-notification__item--${n}`;
4348
+ const l = {
4265
4349
  normal: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>',
4266
4350
  success: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg>',
4267
4351
  error: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg>',
4268
4352
  warning: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>',
4269
4353
  info: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>'
4270
4354
  };
4271
- r.innerHTML = `
4272
- <div class="ds-notification__icon ds-notification__icon--${s}">${a[s]}</div>
4355
+ o.innerHTML = `
4356
+ <div class="ds-notification__icon ds-notification__icon--${n}">${l[n]}</div>
4273
4357
  <div class="ds-notification__content">
4274
- ${t ? '<div class="ds-notification__title"></div>' : ""}
4275
- ${e ? '<div class="ds-notification__message"></div>' : ""}
4358
+ ${e ? '<div class="ds-notification__title"></div>' : ""}
4359
+ ${s ? '<div class="ds-notification__message"></div>' : ""}
4276
4360
  </div>
4277
4361
  <button class="ds-notification__close">
4278
4362
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
4279
4363
  </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);
4364
+ `, e && (o.querySelector(".ds-notification__title").textContent = e), s && (o.querySelector(".ds-notification__message").textContent = s);
4365
+ let c = document.querySelector(".ds-notification");
4366
+ c || (c = document.createElement("div"), c.className = `ds-notification ds-notification--${a}`, document.body.appendChild(c)), c.appendChild(o), setTimeout(() => {
4367
+ o.classList.add("is-visible");
4368
+ }, 10), o.querySelector(".ds-notification__close").addEventListener("click", () => {
4369
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4370
+ }), r > 0 && setTimeout(() => {
4371
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4372
+ }, r);
4289
4373
  }
4290
4374
  };
4291
- function Lo() {
4375
+ function Do() {
4292
4376
  }
4293
- const Do = {
4377
+ const Ho = {
4294
4378
  normal: function(i, t = {}) {
4295
4379
  this.show(i, "normal", t);
4296
4380
  },
@@ -4307,33 +4391,39 @@ const Do = {
4307
4391
  this.show(i, "info", t);
4308
4392
  },
4309
4393
  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 = {
4394
+ const s = dr(), { duration: n = s.duration, position: r = s.position } = e, a = s.maxCount || 5, o = document.createElement("div");
4395
+ o.className = `ds-message__item ds-message__item--${t}`;
4396
+ const l = {
4313
4397
  normal: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>',
4314
4398
  success: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg>',
4315
4399
  error: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg>',
4316
4400
  warning: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>',
4317
4401
  info: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>'
4318
4402
  };
4319
- n.innerHTML = `
4320
- <div class="ds-message__icon ds-message__icon--${t}">${r[t]}</div>
4403
+ o.innerHTML = `
4404
+ <div class="ds-message__icon ds-message__icon--${t}">${l[t]}</div>
4321
4405
  <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);
4406
+ `, o.querySelector(".ds-message__content").textContent = i;
4407
+ let c = document.querySelector(".ds-message");
4408
+ c || (c = document.createElement("div"), c.className = `ds-message ds-message--${r}`, document.body.appendChild(c));
4409
+ const h = c.querySelectorAll(".ds-message__item");
4410
+ if (h.length >= a) {
4411
+ const d = h[0];
4412
+ d.classList.remove("is-visible"), d.classList.add("is-exiting"), setTimeout(() => d.remove(), 300);
4413
+ }
4414
+ c.appendChild(o), setTimeout(() => {
4415
+ o.classList.add("is-visible");
4416
+ }, 10), n > 0 && setTimeout(() => {
4417
+ o.classList.remove("is-visible"), o.classList.add("is-exiting"), setTimeout(() => o.remove(), 300);
4418
+ }, n);
4329
4419
  }
4330
4420
  };
4331
- function Ho() {
4421
+ function Mo() {
4332
4422
  }
4333
- function yt(i) {
4423
+ function vt(i) {
4334
4424
  return i ? i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;") : "";
4335
4425
  }
4336
- class Ir {
4426
+ class Pr {
4337
4427
  constructor(t) {
4338
4428
  this.element = t, this.dropzone = t.querySelector(".ds-fileupload__dropzone"), this.input = t.querySelector(".ds-fileupload__input"), this.list = t.querySelector(".ds-fileupload__list"), this.progress = t.querySelector(".ds-fileupload__preview"), this.files = [], this.maxSize = parseInt(t.getAttribute("data-max-size")) || 0, this.maxCount = parseInt(t.getAttribute("data-max-count")) || 0, this._listeners = [], this.init();
4339
4429
  }
@@ -4389,7 +4479,7 @@ class Ir {
4389
4479
  <div class="ds-fileupload__icon" style="width: 24px; height: 24px; border-radius: 4px;">
4390
4480
  ${s}
4391
4481
  </div>
4392
- <span class="ds-fileupload__filename">${this.truncateFilename(yt(t.name))}</span>
4482
+ <span class="ds-fileupload__filename">${this.truncateFilename(vt(t.name))}</span>
4393
4483
  <span class="ds-fileupload__size">${this.formatSize(t.size)}</span>
4394
4484
  <button class="ds-fileupload__remove" type="button" aria-label="Remove file">
4395
4485
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
@@ -4441,7 +4531,7 @@ class Ir {
4441
4531
  e.onload = (s) => {
4442
4532
  const n = document.createElement("div");
4443
4533
  n.className = "ds-fileupload__preview-item", n.innerHTML = `
4444
- <img src="${s.target.result}" alt="${yt(t.name)}">
4534
+ <img src="${s.target.result}" alt="${vt(t.name)}">
4445
4535
  <button class="ds-fileupload__preview-remove" type="button" aria-label="Remove preview">
4446
4536
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4447
4537
  <path d="M18 6L6 18"/>
@@ -4491,22 +4581,22 @@ class Ir {
4491
4581
  }), this._listeners = null, this.files = [], this.dropzone = null, this.input = null, this.list = null, this.progress = null, this.preview = null, this.element = null;
4492
4582
  }
4493
4583
  }
4494
- function ie(i) {
4584
+ function ne(i) {
4495
4585
  if (i.__kupolaInitialized) return;
4496
- const t = new Ir(i);
4586
+ const t = new Pr(i);
4497
4587
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4498
4588
  }
4499
- function Tr(i) {
4589
+ function $r(i) {
4500
4590
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4501
4591
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4502
4592
  }
4503
- function Mo() {
4593
+ function To() {
4504
4594
  document.querySelectorAll(".ds-fileupload").forEach((i) => {
4505
- ie(i);
4595
+ ne(i);
4506
4596
  });
4507
4597
  }
4508
- E.register("fileupload", ie, Tr);
4509
- class Ar {
4598
+ E.register("fileupload", ne, $r);
4599
+ class Br {
4510
4600
  constructor(t, e = {}) {
4511
4601
  this.element = t, this.headers = [], this._listeners = [], this.accordion = e.accordion || t.hasAttribute("data-collapse-accordion"), this.animationDuration = e.animationDuration || parseInt(t.getAttribute("data-collapse-duration")) || 300, this.disabledItems = e.disabledItems || [], this.defaultExpanded = e.defaultExpanded || [], this._init();
4512
4602
  }
@@ -4588,22 +4678,22 @@ class Ar {
4588
4678
  this.headers[t] && (this.headers[t].isDisabled = !1, this.headers[t].item.classList.remove("is-disabled"));
4589
4679
  }
4590
4680
  }
4591
- function ne(i, t) {
4681
+ function re(i, t) {
4592
4682
  if (i.__kupolaInitialized) return;
4593
- const e = new Ar(i, t);
4683
+ const e = new Br(i, t);
4594
4684
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4595
4685
  }
4596
- function zr(i) {
4686
+ function qr(i) {
4597
4687
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4598
4688
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4599
4689
  }
4600
4690
  function Io() {
4601
4691
  document.querySelectorAll(".ds-collapse").forEach((i) => {
4602
- ne(i);
4692
+ re(i);
4603
4693
  });
4604
4694
  }
4605
- E.register("collapse", ne, zr);
4606
- class Pr {
4695
+ E.register("collapse", re, qr);
4696
+ class Or {
4607
4697
  constructor(t, e = {}) {
4608
4698
  this.element = t, this.trigger = t.querySelector(".ds-color-picker__trigger"), this.panel = t.querySelector(".ds-color-picker__panel"), this.valueSpan = t.querySelector(".ds-color-picker__value"), this.customInput = t.querySelector(".ds-color-picker__input"), this.scope = `colorpicker-${Math.random().toString(36).substr(2, 9)}`, this.options = e, this.value = e.value || "#007bff", this.showAlpha = e.showAlpha !== !1, this.mode = e.mode || "hex", this.previousColors = e.previousColors || this._getStoredColors(), this.previousColorsLimit = e.previousColorsLimit || 12, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._colorClickHandler = null, this._inputInputHandler = null, this._alphaChangeHandler = null, this._modeChangeHandler = null, this._hueChangeHandler = null, this._saturationChangeHandler = null, this._valueChangeHandler = null, this.hue = 210, this.saturation = 100, this.brightness = 50, this.alpha = 100, this._colorStringToHSB(this.value);
4609
4699
  }
@@ -4768,20 +4858,20 @@ class Pr {
4768
4858
  }), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._colorClickHandler = null, this._inputInputHandler = null, this._alphaChangeHandler = null, this._modeChangeHandler = null, this._hueChangeHandler = null, this._saturationChangeHandler = null, this._valueChangeHandler = null, this.element.__kupolaInitialized = !1;
4769
4859
  }
4770
4860
  }
4771
- function re(i, t) {
4772
- const e = new Pr(i, t);
4861
+ function ae(i, t) {
4862
+ const e = new Or(i, t);
4773
4863
  e.init(), i._kupolaColorPicker = e;
4774
4864
  }
4775
- function To(i = document) {
4865
+ function Ao(i = document) {
4776
4866
  i.querySelectorAll(".ds-color-picker").forEach((t) => {
4777
- re(t);
4867
+ ae(t);
4778
4868
  });
4779
4869
  }
4780
- function $r(i) {
4870
+ function Fr(i) {
4781
4871
  i._kupolaColorPicker && (i._kupolaColorPicker.destroy(), i._kupolaColorPicker = null);
4782
4872
  }
4783
- E.register("color-picker", re, $r);
4784
- class qr {
4873
+ E.register("color-picker", ae, Fr);
4874
+ class Nr {
4785
4875
  constructor(t, e = {}) {
4786
4876
  if (this.element = t, this.titleEl = t.querySelector(".ds-calendar__title"), this.daysEl = t.querySelector(".ds-calendar__days"), this.prevBtn = t.querySelector(".ds-calendar__nav--prev"), this.nextBtn = t.querySelector(".ds-calendar__nav--next"), this.todayBtn = t.querySelector(".ds-calendar__nav--today"), this._listeners = [], !this.titleEl || !this.daysEl)
4787
4877
  throw new Error("Calendar: Missing required elements");
@@ -4978,26 +5068,26 @@ class qr {
4978
5068
  this.isRangeMode = !this.isRangeMode, this.rangeStart = null, this.rangeEnd = null, this.render(), this._emitChange();
4979
5069
  }
4980
5070
  }
4981
- function ae(i, t) {
5071
+ function oe(i, t) {
4982
5072
  if (!i.__kupolaInitialized)
4983
5073
  try {
4984
- const e = new qr(i, t);
5074
+ const e = new Nr(i, t);
4985
5075
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4986
5076
  } catch (e) {
4987
5077
  console.error("[Calendar] Error initializing:", e);
4988
5078
  }
4989
5079
  }
4990
- function Br(i) {
5080
+ function Rr(i) {
4991
5081
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4992
5082
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4993
5083
  }
4994
- function Ao() {
5084
+ function zo() {
4995
5085
  document.querySelectorAll(".ds-calendar").forEach((i) => {
4996
- ae(i);
5086
+ oe(i);
4997
5087
  });
4998
5088
  }
4999
- E.register("calendar", ae, Br);
5000
- class Fr {
5089
+ E.register("calendar", oe, Rr);
5090
+ class Vr {
5001
5091
  constructor(t, e = {}) {
5002
5092
  this.element = t, this.input = t.querySelector(".ds-dynamic-tags__input"), this._listeners = [], this.maxCount = e.maxCount || parseInt(t.getAttribute("data-dynamic-tags-max")) || 1 / 0, this.allowDuplicates = e.allowDuplicates !== !1, this.color = e.color || t.getAttribute("data-dynamic-tags-color") || "default", this.init();
5003
5093
  }
@@ -5143,22 +5233,22 @@ class Fr {
5143
5233
  }), this._listeners = null, this.input = null, this.element = null;
5144
5234
  }
5145
5235
  }
5146
- function oe(i, t) {
5236
+ function le(i, t) {
5147
5237
  if (i.__kupolaInitialized) return;
5148
- const e = new Fr(i, t);
5238
+ const e = new Vr(i, t);
5149
5239
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5150
5240
  }
5151
- function Nr(i) {
5241
+ function Kr(i) {
5152
5242
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5153
5243
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5154
5244
  }
5155
- function zo() {
5245
+ function Po() {
5156
5246
  document.querySelectorAll(".ds-dynamic-tags").forEach((i) => {
5157
- oe(i);
5247
+ le(i);
5158
5248
  });
5159
5249
  }
5160
- E.register("dynamic-tags", oe, Nr);
5161
- class le {
5250
+ E.register("dynamic-tags", le, Kr);
5251
+ class ce {
5162
5252
  constructor(t = {}) {
5163
5253
  this.images = t.images || [], this.currentIndex = t.currentIndex || 0, this.overlay = null, this.closeHandler = this.close.bind(this), this.keyHandler = this.handleKeydown.bind(this), this.clickHandler = this.handleOverlayClick.bind(this), this.zoom = 1, this.rotation = 0, this.zoomStep = t.zoomStep || 0.2, this.minZoom = t.minZoom || 0.5, this.maxZoom = t.maxZoom || 3, this.init();
5164
5254
  }
@@ -5350,18 +5440,18 @@ class le {
5350
5440
  }
5351
5441
  }
5352
5442
  let V = null;
5353
- function Po() {
5354
- V || (V = new le()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5443
+ function $o() {
5444
+ V || (V = new ce()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5355
5445
  i.addEventListener("click", () => {
5356
5446
  const t = JSON.parse(i.getAttribute("data-image-preview")), e = parseInt(i.getAttribute("data-image-index")) || 0;
5357
5447
  V.show(t, e);
5358
5448
  });
5359
5449
  });
5360
5450
  }
5361
- function $o(i, t = 0) {
5362
- V || (V = new le()), V.show(i, t);
5451
+ function Bo(i, t = 0) {
5452
+ V || (V = new ce()), V.show(i, t);
5363
5453
  }
5364
- class Or {
5454
+ class Wr {
5365
5455
  constructor(t, e = {}) {
5366
5456
  this.element = t, this.closeBtn = t.querySelector(".ds-tag__close"), this.checkbox = t.querySelector(".ds-tag__checkbox"), this.editInput = t.querySelector(".ds-tag__input"), this._listeners = [], this.color = e.color || t.getAttribute("data-tag-color") || "default", this.size = e.size || t.getAttribute("data-tag-size") || "default", this.checkable = e.checkable || t.hasAttribute("data-tag-checkable"), this.checked = e.checked || t.hasAttribute("data-tag-checked"), this.editable = e.editable || t.hasAttribute("data-tag-editable"), this.maxLength = e.maxLength || parseInt(t.getAttribute("data-tag-maxlength")) || 50, this.init();
5367
5457
  }
@@ -5491,22 +5581,22 @@ class Or {
5491
5581
  }), this._listeners = [], this.closeBtn = null, this.checkbox = null, this.editInput = null, this.element = null;
5492
5582
  }
5493
5583
  }
5494
- function ce(i, t) {
5584
+ function he(i, t) {
5495
5585
  if (i.__kupolaInitialized) return;
5496
- const e = new Or(i, t);
5586
+ const e = new Wr(i, t);
5497
5587
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5498
5588
  }
5499
- function Rr(i) {
5589
+ function Ur(i) {
5500
5590
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5501
5591
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5502
5592
  }
5503
5593
  function qo() {
5504
5594
  document.querySelectorAll(".ds-tag").forEach((i) => {
5505
- ce(i);
5595
+ he(i);
5506
5596
  });
5507
5597
  }
5508
- E.register("tag", ce, Rr);
5509
- class Vr {
5598
+ E.register("tag", he, Ur);
5599
+ class Yr {
5510
5600
  constructor(t) {
5511
5601
  this.element = t, this.valueElement = t.querySelector(".ds-statcard__value"), this.progressFill = t.querySelector(".ds-statcard__progress-fill"), this.animated = !1, this._observer = null, this.init();
5512
5602
  }
@@ -5566,22 +5656,22 @@ class Vr {
5566
5656
  this._observer && (this._observer.disconnect(), this._observer = null), this.animated = !1, this.valueElement = null, this.progressFill = null, this.element = null;
5567
5657
  }
5568
5658
  }
5569
- function he(i) {
5659
+ function de(i) {
5570
5660
  if (i.__kupolaInitialized) return;
5571
- const t = new Vr(i);
5661
+ const t = new Yr(i);
5572
5662
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
5573
5663
  }
5574
- function Kr(i) {
5664
+ function Xr(i) {
5575
5665
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5576
5666
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5577
5667
  }
5578
- function Bo() {
5668
+ function Oo() {
5579
5669
  document.querySelectorAll(".ds-statcard").forEach((i) => {
5580
- he(i);
5670
+ de(i);
5581
5671
  });
5582
5672
  }
5583
- E.register("statcard", he, Kr);
5584
- class Wr {
5673
+ E.register("statcard", de, Xr);
5674
+ class jr {
5585
5675
  constructor(t, e = {}) {
5586
5676
  this.element = t, this.data = e.data || [], this.startDate = e.startDate || this.getOneYearAgo(), this.endDate = e.endDate || /* @__PURE__ */ new Date(), this.cellSize = e.cellSize || 14, this.onCellClick = e.onCellClick || null, this.tooltip = null, this.baseColor = e.color || t.getAttribute("data-color") || "#22c55e", this._listeners = [], this.init();
5587
5677
  }
@@ -5681,16 +5771,16 @@ class Wr {
5681
5771
  const v = document.createElement("div");
5682
5772
  v.className = "ds-heatmap__cell", v.style.visibility = "hidden", b.appendChild(v);
5683
5773
  } 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 = () => {
5774
+ const v = this.getDataByDate(x), C = Math.max(...this.data.map((q) => q.value), 1), S = this.getLevel(v, C), k = document.createElement("div");
5775
+ k.className = "ds-heatmap__cell", k.dataset.date = this.formatDate(x), k.dataset.value = v, k.style.backgroundColor = this.getCellColor(S);
5776
+ const A = (q) => this.showTooltip(q, x, v), z = () => this.hideTooltip(), D = () => {
5687
5777
  this.onCellClick && this.onCellClick({ date: this.formatDate(x), value: v });
5688
5778
  };
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);
5779
+ k.addEventListener("mouseenter", A), k.addEventListener("mouseleave", z), k.addEventListener("click", D), this._listeners.push(
5780
+ { el: k, event: "mouseenter", handler: A },
5781
+ { el: k, event: "mouseleave", handler: z },
5782
+ { el: k, event: "click", handler: D }
5783
+ ), b.appendChild(k);
5694
5784
  }
5695
5785
  }), y.appendChild(b);
5696
5786
  }), f.appendChild(y), h.appendChild(f), c.appendChild(h), t.appendChild(c), this.renderLegend(t);
@@ -5736,7 +5826,7 @@ class Wr {
5736
5826
  }), this._listeners = null, this.tooltip && this.tooltip.parentNode && this.tooltip.parentNode.removeChild(this.tooltip), this.tooltip = null, this.data = [], this.element = null;
5737
5827
  }
5738
5828
  }
5739
- function de(i) {
5829
+ function ue(i) {
5740
5830
  if (i.__kupolaInitialized) return;
5741
5831
  const t = i.getAttribute("data-heatmap-data");
5742
5832
  let e = [];
@@ -5744,27 +5834,27 @@ function de(i) {
5744
5834
  try {
5745
5835
  e = JSON.parse(t);
5746
5836
  } catch {
5747
- e = vt();
5837
+ e = bt();
5748
5838
  }
5749
5839
  else
5750
- e = vt();
5751
- const s = new Wr(i, {
5840
+ e = bt();
5841
+ const s = new jr(i, {
5752
5842
  data: e,
5753
5843
  onCellClick: (n) => {
5754
5844
  }
5755
5845
  });
5756
5846
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
5757
5847
  }
5758
- function Ur(i) {
5848
+ function Jr(i) {
5759
5849
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5760
5850
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5761
5851
  }
5762
5852
  function Fo() {
5763
5853
  document.querySelectorAll(".ds-heatmap").forEach((i) => {
5764
- de(i);
5854
+ ue(i);
5765
5855
  });
5766
5856
  }
5767
- function vt() {
5857
+ function bt() {
5768
5858
  const i = [], t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
5769
5859
  e.setFullYear(e.getFullYear() - 1);
5770
5860
  for (let s = new Date(e); s <= t; s.setDate(s.getDate() + 1)) {
@@ -5776,10 +5866,12 @@ function vt() {
5776
5866
  }
5777
5867
  return i;
5778
5868
  }
5779
- E.register("heatmap", de, Ur);
5780
- class Yr {
5869
+ E.register("heatmap", ue, Jr);
5870
+ class Gr {
5781
5871
  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;
5872
+ this.element = t, this.tooltipEl = null, this.options = e;
5873
+ const s = X(), n = s.tooltip?.delay !== void 0 ? s.tooltip.delay : 300;
5874
+ this.delay = e.delay !== void 0 ? e.delay : parseInt(t.getAttribute("data-tooltip-delay")) || n, this.hideDelay = e.hideDelay || parseInt(t.getAttribute("data-tooltip-hide-delay")) || 0, this.trigger = e.trigger || t.getAttribute("data-tooltip-trigger") || "hover", this.html = e.html || t.hasAttribute("data-tooltip-html"), this.theme = e.theme || t.getAttribute("data-tooltip-theme") || "default", this.position = e.position || t.getAttribute("data-tooltip-position") || "top", this.animation = e.animation !== !1, this.mouseFollow = e.mouseFollow || t.hasAttribute("data-tooltip-mouse-follow"), this._showTooltip = null, this._hideTooltip = null, this._showTimer = null, this._hideTimer = null, this._clickHandler = null, this._focusHandler = null, this._blurHandler = null, this._mouseMoveHandler = null, this.isVisible = !1;
5783
5875
  }
5784
5876
  init() {
5785
5877
  this.element.__kupolaInitialized || (this._showTooltip = () => {
@@ -5789,7 +5881,8 @@ class Yr {
5789
5881
  }, this._clickHandler = () => {
5790
5882
  this.isVisible ? this.hide() : this.show();
5791
5883
  }, this._mouseMoveHandler = (t) => {
5792
- if (!this.isVisible || !this.mouseFollow || !this.tooltipEl) return;
5884
+ if (!this.isVisible || !this.mouseFollow || !this.tooltipEl)
5885
+ return;
5793
5886
  const e = this.tooltipEl.getBoundingClientRect();
5794
5887
  let s = t.clientX + 10, n = t.clientY + 10;
5795
5888
  const r = window.innerWidth, a = window.innerHeight;
@@ -5799,7 +5892,8 @@ class Yr {
5799
5892
  })), (this.trigger === "focus" || this.trigger === "hover") && (this.element.addEventListener("focus", this._showTooltip), this.element.addEventListener("blur", this._hideTooltip)), this.element.__kupolaInitialized = !0);
5800
5893
  }
5801
5894
  show() {
5802
- if (this.isVisible) return;
5895
+ if (this.isVisible)
5896
+ return;
5803
5897
  const t = this.element.getAttribute("data-tooltip");
5804
5898
  t && (this.tooltipEl = document.createElement("div"), this.tooltipEl.className = `ds-tooltip ds-tooltip--${this.position} ds-tooltip--${this.theme}`, this.html ? this.tooltipEl.innerHTML = t : this.tooltipEl.textContent = t, document.body.appendChild(this.tooltipEl), requestAnimationFrame(() => {
5805
5899
  this.tooltipEl.classList.add("is-visible"), this.mouseFollow || this._positionTooltip(), this.isVisible = !0, this.element.dispatchEvent(new CustomEvent("kupola:tooltip-show", {
@@ -5809,7 +5903,8 @@ class Yr {
5809
5903
  }));
5810
5904
  }
5811
5905
  hide() {
5812
- if (!this.isVisible || !this.tooltipEl) return;
5906
+ if (!this.isVisible || !this.tooltipEl)
5907
+ return;
5813
5908
  this.tooltipEl.classList.remove("is-visible");
5814
5909
  const t = this.tooltipEl;
5815
5910
  setTimeout(() => {
@@ -5823,7 +5918,8 @@ class Yr {
5823
5918
  this.isVisible ? this.hide() : this.show();
5824
5919
  }
5825
5920
  _positionTooltip() {
5826
- if (!this.tooltipEl) return;
5921
+ if (!this.tooltipEl)
5922
+ return;
5827
5923
  const t = this.element.getBoundingClientRect(), e = this.tooltipEl.getBoundingClientRect(), s = window.innerWidth, n = window.innerHeight;
5828
5924
  let r, a;
5829
5925
  switch (this.position) {
@@ -5868,20 +5964,20 @@ class Yr {
5868
5964
  this.element.__kupolaInitialized && (this._showTimer && (clearTimeout(this._showTimer), this._showTimer = null), this._hideTimer && (clearTimeout(this._hideTimer), this._hideTimer = null), (this.trigger === "hover" || this.trigger === "focus") && (this.element.removeEventListener("mouseenter", this._showTooltip), this.element.removeEventListener("mouseleave", this._hideTooltip)), this.trigger === "click" && this.element.removeEventListener("click", this._clickHandler), (this.trigger === "focus" || this.trigger === "hover") && (this.element.removeEventListener("focus", this._showTooltip), this.element.removeEventListener("blur", this._hideTooltip)), this.mouseFollow && this.element.removeEventListener("mousemove", this._mouseMoveHandler), this.tooltipEl && (this.tooltipEl.remove(), this.tooltipEl = null), this.isVisible = !1, this._showTooltip = null, this._hideTooltip = null, this._clickHandler = null, this._mouseMoveHandler = null, this.element.__kupolaInitialized = !1);
5869
5965
  }
5870
5966
  }
5871
- function ue(i, t) {
5872
- const e = new Yr(i, t);
5967
+ function pe(i, t) {
5968
+ const e = new Gr(i, t);
5873
5969
  e.init(), i._kupolaTooltip = e;
5874
5970
  }
5875
5971
  function No(i = document) {
5876
5972
  i.querySelectorAll("[data-tooltip]").forEach((t) => {
5877
- ue(t);
5973
+ pe(t);
5878
5974
  });
5879
5975
  }
5880
- function Xr(i) {
5976
+ function Zr(i) {
5881
5977
  i._kupolaTooltip && (i._kupolaTooltip.destroy(), i._kupolaTooltip = null);
5882
5978
  }
5883
- E.register("tooltip", ue, Xr);
5884
- class jr {
5979
+ E.register("tooltip", pe, Zr);
5980
+ class Qr {
5885
5981
  constructor() {
5886
5982
  this.validators = {
5887
5983
  required: this.validateRequired,
@@ -6062,7 +6158,7 @@ class jr {
6062
6158
  return s && t === s.value;
6063
6159
  }
6064
6160
  validatePhone(t) {
6065
- return /^[\d\s\-\+\(\)]{7,20}$/.test(t);
6161
+ return /^[\d\s\-+()]{7,20}$/.test(t);
6066
6162
  }
6067
6163
  validateDate(t) {
6068
6164
  return /^\d{4}[-/]\d{2}[-/]\d{2}$/.test(t) && !isNaN(Date.parse(t));
@@ -6107,7 +6203,7 @@ class jr {
6107
6203
  }[t] || "Invalid input";
6108
6204
  }
6109
6205
  }
6110
- const P = new jr();
6206
+ const P = new Qr();
6111
6207
  window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized = !0, document.addEventListener("DOMContentLoaded", () => {
6112
6208
  document.querySelectorAll("form[data-validation]").forEach((i) => {
6113
6209
  i.addEventListener("submit", async (t) => {
@@ -6137,30 +6233,33 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6137
6233
  r && r.focus();
6138
6234
  }
6139
6235
  }), i.querySelectorAll("[data-validate]").forEach((t) => {
6140
- t.addEventListener("blur", () => {
6141
- setTimeout(() => {
6142
- const n = document.activeElement;
6143
- if (n && n.closest(".ds-select"))
6236
+ const e = pr(), s = e.trigger || "blur", n = () => {
6237
+ e.showErrors && setTimeout(() => {
6238
+ const l = document.activeElement;
6239
+ if (l && l.closest(".ds-select"))
6144
6240
  return;
6145
6241
  P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6146
6242
  }, 50);
6147
- });
6148
- const s = ((n, r) => {
6149
- let a;
6150
- return (...o) => {
6151
- clearTimeout(a), a = setTimeout(() => n(...o), r);
6243
+ };
6244
+ (s === "blur" || s === "both") && t.addEventListener("blur", n);
6245
+ const r = (l, c) => {
6246
+ let h;
6247
+ return (...d) => {
6248
+ clearTimeout(h), h = setTimeout(() => l(...d), c);
6152
6249
  };
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);
6250
+ }, a = hr(), o = r(() => {
6251
+ if (!e.showErrors)
6252
+ return;
6253
+ const l = P.getValue(t);
6254
+ l.length > 0 || t.classList.contains("ds-input--error") ? P.validateInput(t) && l && P.showSuccess(t) : P.removeStatusIcon(t);
6255
+ }, a.debounceDelay);
6256
+ (s === "input" || s === "both") && t.addEventListener("input", o), t.addEventListener("keyup", (l) => {
6257
+ l.key === "Enter" && P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6159
6258
  });
6160
6259
  });
6161
6260
  });
6162
6261
  }));
6163
- class Jr {
6262
+ class ta {
6164
6263
  constructor(t, e = {}) {
6165
6264
  this.element = t, this.data = e.data || [], this.itemHeight = e.itemHeight || 48, this.itemWidth = e.itemWidth || 200, this.bufferSize = e.bufferSize || 5, this.renderItem = e.renderItem || this.defaultRenderItem, this.onItemClick = e.onItemClick || null, this.onItemSelect = e.onItemSelect || null, this.onScroll = e.onScroll || null, this.onScrollEnd = e.onScrollEnd || null, this.selectedKey = e.selectedKey || null, this.keyField = e.keyField || "id", this.useDynamicHeight = e.useDynamicHeight || !1, this.dynamicHeightCache = /* @__PURE__ */ new Map(), this.estimatedHeight = e.estimatedHeight || 48, this.container = null, this.scrollbarTrack = null, this.scrollbarThumb = null, this.totalHeight = 0, this.startIndex = 0, this.endIndex = 0, this.isScrolling = !1, this.scrollTimeout = null, this.lastScrollTop = 0, this.lastScrollLeft = 0, this.init();
6166
6265
  }
@@ -6399,7 +6498,7 @@ class Jr {
6399
6498
  }), this.data = [], this.dynamicHeightCache.clear(), this.container.innerHTML = "", this._listeners = null, this._scrollHandler = null, this._thumbDragStartHandler = null, this._thumbDragMoveHandler = null, this._thumbDragEndHandler = null, this._wheelHandler = null, this.container = null, this.scrollbarThumb = null, this.element = null;
6400
6499
  }
6401
6500
  }
6402
- function bt(i = 1e3) {
6501
+ function xt(i = 1e3) {
6403
6502
  const t = [], e = ["Document", "Image", "Video", "Folder", "Archive", "Spreadsheet", "Presentation", "Code"];
6404
6503
  for (let s = 1; s <= i; s++) {
6405
6504
  const n = Math.floor(Math.random() * e.length), r = Math.floor(Math.random() * 1e4);
@@ -6412,7 +6511,7 @@ function bt(i = 1e3) {
6412
6511
  }
6413
6512
  return t;
6414
6513
  }
6415
- function Gr(i) {
6514
+ function ea(i) {
6416
6515
  if (i.__kupolaInitialized) return;
6417
6516
  const t = i.getAttribute("data-virtual-list");
6418
6517
  let e = [];
@@ -6420,11 +6519,11 @@ function Gr(i) {
6420
6519
  try {
6421
6520
  e = JSON.parse(t);
6422
6521
  } catch {
6423
- e = bt(1e3);
6522
+ e = xt(1e3);
6424
6523
  }
6425
6524
  else
6426
- e = bt(1e3);
6427
- const s = new Jr(i, {
6525
+ e = xt(1e3);
6526
+ const s = new ta(i, {
6428
6527
  data: e,
6429
6528
  onItemClick: (n) => {
6430
6529
  },
@@ -6433,12 +6532,12 @@ function Gr(i) {
6433
6532
  });
6434
6533
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
6435
6534
  }
6436
- function Zr(i) {
6535
+ function sa(i) {
6437
6536
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6438
6537
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6439
6538
  }
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 = {
6539
+ E.register("virtual-list", ea, sa);
6540
+ const ia = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="butt" stroke-linejoin="miter"', fe = {
6442
6541
  globe: '<circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 0 20"/><path d="M12 2a15.3 15.3 0 0 0 0 20"/>',
6443
6542
  dashboard: '<rect x="3" y="3" width="7" height="9"/><rect x="14" y="3" width="7" height="5"/><rect x="14" y="12" width="7" height="9"/><rect x="3" y="16" width="7" height="5"/>',
6444
6543
  mouse: '<rect x="6" y="2" width="12" height="20" rx="6"/><line x1="12" y1="6" x2="12" y2="11"/>',
@@ -6548,19 +6647,19 @@ const Qr = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0
6548
6647
  code: '<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',
6549
6648
  apple: '<path fill="currentColor" stroke="none" d="M17.05 12.04c-.03-3.04 2.49-4.5 2.6-4.57-1.42-2.07-3.62-2.36-4.4-2.39-1.87-.19-3.65 1.1-4.6 1.1-.96 0-2.42-1.08-3.98-1.05-2.05.03-3.94 1.19-4.99 3.02-2.13 3.69-.54 9.13 1.53 12.12 1.01 1.46 2.21 3.1 3.78 3.04 1.52-.06 2.09-.98 3.93-.98 1.83 0 2.36.98 3.97.95 1.64-.03 2.68-1.49 3.68-2.96 1.16-1.7 1.64-3.35 1.66-3.43-.04-.02-3.18-1.22-3.21-4.85zM14.06 4.34c.83-1.01 1.39-2.41 1.24-3.81-1.2.05-2.65.8-3.51 1.8-.77.89-1.45 2.31-1.27 3.68 1.34.1 2.71-.68 3.54-1.67z"/>'
6550
6649
  };
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>` : "";
6650
+ function me(i, t = 16, e = "0 0 24 24") {
6651
+ const s = fe[i];
6652
+ return s ? `<svg ${ia.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6554
6653
  }
6555
- function ot(i = document) {
6654
+ function lt(i = document) {
6556
6655
  i.querySelectorAll("[data-icon]").forEach((t) => {
6557
6656
  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");
6657
+ t.innerHTML = me(e, s, n), t.classList.add("icon");
6559
6658
  });
6560
6659
  }
6561
- const Oo = { svg: fe, render: ot, PATHS: pe };
6562
- typeof document < "u" && (document.readyState !== "loading" ? ot() : document.addEventListener("DOMContentLoaded", () => ot()));
6563
- class ta {
6660
+ const Ro = { svg: me, render: lt, PATHS: fe };
6661
+ typeof document < "u" && (document.readyState !== "loading" ? lt() : document.addEventListener("DOMContentLoaded", () => lt()));
6662
+ class na {
6564
6663
  constructor(t) {
6565
6664
  this.element = t, this.hoursEl = t.querySelector(".ds-countdown__item--hours .ds-countdown__value"), this.minutesEl = t.querySelector(".ds-countdown__item--minutes .ds-countdown__value"), this.secondsEl = t.querySelector(".ds-countdown__item--seconds .ds-countdown__value"), this.endTime = this.parseEndTime(), this.interval = null, this.init();
6566
6665
  }
@@ -6612,22 +6711,22 @@ class ta {
6612
6711
  this.stop(), this.hoursEl = null, this.minutesEl = null, this.secondsEl = null, this.element = null;
6613
6712
  }
6614
6713
  }
6615
- function me(i) {
6714
+ function ge(i) {
6616
6715
  if (i.__kupolaInitialized) return;
6617
- const t = new ta(i);
6716
+ const t = new na(i);
6618
6717
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6619
6718
  }
6620
- function ea(i) {
6719
+ function ra(i) {
6621
6720
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6622
6721
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6623
6722
  }
6624
- function Ro() {
6723
+ function Vo() {
6625
6724
  document.querySelectorAll(".ds-countdown").forEach((t) => {
6626
- me(t);
6725
+ ge(t);
6627
6726
  });
6628
6727
  }
6629
- E.register("countdown", me, ea);
6630
- class sa {
6728
+ E.register("countdown", ge, ra);
6729
+ class aa {
6631
6730
  constructor(t) {
6632
6731
  if (this.element = t, this.minusBtn = t.querySelector(".ds-number-input__btn--decrease"), this.plusBtn = t.querySelector(".ds-number-input__btn--increase"), this.inputEl = t.querySelector(".ds-number-input__input"), this._listeners = [], !this.minusBtn || !this.plusBtn || !this.inputEl)
6633
6732
  throw new Error("NumberInput: Missing required elements");
@@ -6678,26 +6777,26 @@ class sa {
6678
6777
  }), this._listeners = null, this.minusBtn = null, this.plusBtn = null, this.inputEl = null, this.element = null;
6679
6778
  }
6680
6779
  }
6681
- function ge(i) {
6780
+ function _e(i) {
6682
6781
  if (!i.__kupolaInitialized)
6683
6782
  try {
6684
- const t = new sa(i);
6783
+ const t = new aa(i);
6685
6784
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6686
6785
  } catch (t) {
6687
6786
  console.error("[NumberInput] Error initializing:", t);
6688
6787
  }
6689
6788
  }
6690
- function ia(i) {
6789
+ function oa(i) {
6691
6790
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6692
6791
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6693
6792
  }
6694
- function Vo() {
6793
+ function Ko() {
6695
6794
  document.querySelectorAll(".ds-number-input").forEach((i) => {
6696
- ge(i);
6795
+ _e(i);
6697
6796
  });
6698
6797
  }
6699
- E.register("number-input", ge, ia);
6700
- class na {
6798
+ E.register("number-input", _e, oa);
6799
+ class la {
6701
6800
  constructor(t) {
6702
6801
  this.container = t, this.track = t.querySelector(".ds-slider-captcha__track"), this.btn = t.querySelector(".ds-slider-captcha__btn"), this.text = t.querySelector(".ds-slider-captcha__text"), this.progress = t.querySelector(".ds-slider-captcha__progress"), this.statusEl = t.querySelector(".ds-slider-captcha__status"), this.refreshBtn = t.querySelector(".ds-slider-captcha__refresh"), this.footerRefreshBtn = t.querySelector(".ds-slider-captcha__footer-refresh"), this.config = {
6703
6802
  tolerance: 6,
@@ -6840,22 +6939,22 @@ class na {
6840
6939
  this.container._initialized && (this.btn && this._mouseDownHandler && this.btn.removeEventListener("mousedown", this._mouseDownHandler), this.btn && this._touchStartHandler && this.btn.removeEventListener("touchstart", this._touchStartHandler), this.refreshBtn && this.refreshBtn.removeEventListener("click", () => this.loadCaptcha()), this.footerRefreshBtn && this.footerRefreshBtn.removeEventListener("click", () => this.loadCaptcha()), this._mouseMoveListener && this._mouseMoveListener.unsubscribe ? this._mouseMoveListener.unsubscribe() : this._mouseMoveHandler && document.removeEventListener("mousemove", this._mouseMoveHandler), this._mouseUpListener && this._mouseUpListener.unsubscribe ? this._mouseUpListener.unsubscribe() : this._mouseUpHandler && document.removeEventListener("mouseup", this._mouseUpHandler), this._touchMoveListener && this._touchMoveListener.unsubscribe ? this._touchMoveListener.unsubscribe() : this._touchMoveHandler && document.removeEventListener("touchmove", this._touchMoveHandler), this._touchEndListener && this._touchEndListener.unsubscribe ? this._touchEndListener.unsubscribe() : this._touchEndHandler && document.removeEventListener("touchend", this._touchEndHandler), this.container._initialized = !1);
6841
6940
  }
6842
6941
  }
6843
- function ra() {
6942
+ function ca() {
6844
6943
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6845
- const t = new na(i);
6944
+ const t = new la(i);
6846
6945
  t.init(), i._kupolaSlideCaptcha = t;
6847
6946
  });
6848
6947
  }
6849
- function aa(i) {
6948
+ function ha(i) {
6850
6949
  i._kupolaSlideCaptcha && (i._kupolaSlideCaptcha.destroy(), i._kupolaSlideCaptcha = null);
6851
6950
  }
6852
- function oa() {
6951
+ function da() {
6853
6952
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6854
- aa(i);
6953
+ ha(i);
6855
6954
  });
6856
6955
  }
6857
- E.register("slide-captcha", ra, oa);
6858
- class la {
6956
+ E.register("slide-captcha", ca, da);
6957
+ class ua {
6859
6958
  constructor(t) {
6860
6959
  this.form = t, this.fields = [], this.validators = {}, this.errorMessages = {}, this._submitHandler = null, this._fieldHandlers = /* @__PURE__ */ new Map(), this._init();
6861
6960
  }
@@ -6995,23 +7094,23 @@ class la {
6995
7094
  }), this._submitHandler = null, this._fieldHandlers.clear(), this._fieldHandlers = null, this.fields = null, this.validators = null, this.errorMessages = null, this.form = null;
6996
7095
  }
6997
7096
  }
6998
- function ca(i) {
7097
+ function pa(i) {
6999
7098
  const t = document.querySelectorAll(i || ".ds-form");
7000
7099
  return t.forEach((e) => {
7001
7100
  if (e._kupolaForm) return;
7002
- const s = new la(e);
7101
+ const s = new ua(e);
7003
7102
  e._kupolaForm = s;
7004
7103
  }), t.length;
7005
7104
  }
7006
- function Ko(i) {
7105
+ function Wo(i) {
7007
7106
  return i._kupolaForm;
7008
7107
  }
7009
- function Wo(i) {
7108
+ function Uo(i) {
7010
7109
  const t = i._kupolaForm;
7011
7110
  return t ? t.validate() : !1;
7012
7111
  }
7013
- E.register("form-validation", ca);
7014
- class ha {
7112
+ E.register("form-validation", pa);
7113
+ class fa {
7015
7114
  constructor() {
7016
7115
  this._queue = /* @__PURE__ */ new Set(), this._scheduled = !1, this._flushDepth = 0, this._maxDepth = 10;
7017
7116
  }
@@ -7038,8 +7137,8 @@ class ha {
7038
7137
  this._flushDepth--;
7039
7138
  }
7040
7139
  }
7041
- const da = new ha();
7042
- class ua {
7140
+ const ma = new fa();
7141
+ class ga {
7043
7142
  constructor(t, e) {
7044
7143
  this.data = t, this.createdAt = Date.now(), this.ttl = e;
7045
7144
  }
@@ -7050,7 +7149,7 @@ class ua {
7050
7149
  return !this.isFresh;
7051
7150
  }
7052
7151
  }
7053
- class _e {
7152
+ class ye {
7054
7153
  constructor() {
7055
7154
  this._store = /* @__PURE__ */ new Map();
7056
7155
  }
@@ -7059,7 +7158,7 @@ class _e {
7059
7158
  return e || null;
7060
7159
  }
7061
7160
  set(t, e, s = 6e4) {
7062
- this._store.set(t, new ua(e, s));
7161
+ this._store.set(t, new ga(e, s));
7063
7162
  }
7064
7163
  has(t) {
7065
7164
  return this._store.has(t);
@@ -7076,22 +7175,22 @@ class _e {
7076
7175
  return e ? e.data : null;
7077
7176
  }
7078
7177
  }
7079
- class N extends Error {
7178
+ class F extends Error {
7080
7179
  constructor(t, e, s) {
7081
7180
  super(t), this.name = "DependsError", this.code = e, this.cause = s, this.timestamp = Date.now();
7082
7181
  }
7083
7182
  }
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) {
7183
+ let st = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7184
+ function Yo(i) {
7086
7185
  if (!i || typeof i.fetch != "function")
7087
7186
  throw new TypeError("[Kupola] configureHttpClient: client must provide a fetch function");
7088
- et = i.fetch.bind(i);
7089
- }
7090
- function Yo() {
7091
- return et;
7187
+ st = i.fetch.bind(i);
7092
7188
  }
7093
7189
  function Xo() {
7094
- et = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7190
+ return st;
7191
+ }
7192
+ function jo() {
7193
+ st = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7095
7194
  }
7096
7195
  class W {
7097
7196
  constructor(t, e) {
@@ -7104,7 +7203,7 @@ class W {
7104
7203
  };
7105
7204
  }
7106
7205
  notify() {
7107
- da.schedule(() => {
7206
+ ma.schedule(() => {
7108
7207
  this.subscribers.forEach((t) => {
7109
7208
  try {
7110
7209
  t();
@@ -7115,7 +7214,7 @@ class W {
7115
7214
  });
7116
7215
  }
7117
7216
  async fetch(t) {
7118
- throw new N("Source fetch not implemented", "NOT_IMPLEMENTED");
7217
+ throw new F("Source fetch not implemented", "NOT_IMPLEMENTED");
7119
7218
  }
7120
7219
  async getValue(t) {
7121
7220
  const e = this.cache.get(this.cacheKey);
@@ -7130,7 +7229,7 @@ class W {
7130
7229
  const r = this.retryDelay * Math.pow(2, e), a = Math.random() * r * 0.5, o = r + a;
7131
7230
  return await new Promise((l) => setTimeout(l, o)), this._fetchWithRetry(t, e + 1);
7132
7231
  }
7133
- const n = s instanceof N ? s : new N(s.message || "Fetch failed", "FETCH_ERROR", s);
7232
+ const n = s instanceof F ? s : new F(s.message || "Fetch failed", "FETCH_ERROR", s);
7134
7233
  if (this.onError)
7135
7234
  try {
7136
7235
  this.onError(n);
@@ -7152,13 +7251,13 @@ class W {
7152
7251
  this.subscribers = [], this.pending = null;
7153
7252
  }
7154
7253
  }
7155
- class pa extends W {
7254
+ class _a extends W {
7156
7255
  constructor(t, e) {
7157
7256
  super(t, e), this.method = t.method || "GET", this.headers = t.headers || {}, this.queryParams = t.query || {};
7158
7257
  }
7159
7258
  async fetch(t) {
7160
7259
  let e = this.config.source;
7161
- const s = ct("http");
7260
+ const s = ht("http");
7162
7261
  s?.baseURL && !e.startsWith("http://") && !e.startsWith("https://") && (e = s.baseURL + e.replace(/^\//, ""));
7163
7262
  for (const u in t)
7164
7263
  e = e.replace(`:${u}`, encodeURIComponent(t[u]));
@@ -7173,16 +7272,16 @@ class pa extends W {
7173
7272
  headers: { "Content-Type": "application/json", ...r, ...this.headers }
7174
7273
  };
7175
7274
  s?.withCredentials && (a.credentials = "include"), ["POST", "PUT", "PATCH"].includes(a.method) && (a.body = JSON.stringify(t));
7176
- const o = et;
7275
+ const o = st;
7177
7276
  if (!o)
7178
- throw new N("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7277
+ throw new F("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7179
7278
  const l = await o(e, a), c = typeof l.ok == "boolean" ? l.ok : l.status >= 200 && l.status < 300, h = typeof l.status == "number" ? l.status : 0;
7180
7279
  if (!c)
7181
- throw new N(`HTTP ${h}`, "HTTP_ERROR");
7280
+ throw new F(`HTTP ${h}`, "HTTP_ERROR");
7182
7281
  return typeof l.json == "function" ? await l.json() : l.data !== void 0 ? l.data : l;
7183
7282
  }
7184
7283
  }
7185
- class ye extends W {
7284
+ class ve extends W {
7186
7285
  constructor(t, e) {
7187
7286
  super(t, e), this.storageKey = t.source.replace("localStorage:", ""), this.defaultValue = t.default, this.sync = t.sync !== !1, this.sync && typeof window < "u" && (this._storageHandler = (s) => {
7188
7287
  s.key === this.storageKey && (this.cache.delete(this.cacheKey), this.notify());
@@ -7209,7 +7308,7 @@ class ye extends W {
7209
7308
  super.destroy(), this._storageHandler && window.removeEventListener("storage", this._storageHandler);
7210
7309
  }
7211
7310
  }
7212
- class fa extends W {
7311
+ class ya extends W {
7213
7312
  constructor(t, e) {
7214
7313
  super(t, e), this.paramName = t.source.replace("route:", "");
7215
7314
  }
@@ -7219,17 +7318,17 @@ class fa extends W {
7219
7318
  return e ? decodeURIComponent(e[1]) : new URLSearchParams(location.search).get(this.paramName) || "";
7220
7319
  }
7221
7320
  }
7222
- class ma extends W {
7321
+ class va extends W {
7223
7322
  async fetch(t) {
7224
7323
  return await this.config.source(t);
7225
7324
  }
7226
7325
  }
7227
- class ga extends W {
7326
+ class ba extends W {
7228
7327
  async fetch() {
7229
7328
  return this.config.source;
7230
7329
  }
7231
7330
  }
7232
- class ve extends W {
7331
+ class be extends W {
7233
7332
  constructor(t, e) {
7234
7333
  super(t, e), this.ws = null, this.reconnect = t.reconnect !== !1, this.reconnectDelay = t.reconnectDelay || 3e3, this._reconnectAttempt = 0, this._maxReconnectDelay = t.maxReconnectDelay || 3e4, this.messageHandler = null, this._connected = !1, this._destroyed = !1;
7235
7334
  }
@@ -7247,7 +7346,7 @@ class ve extends W {
7247
7346
  }
7248
7347
  this.cache.set(this.cacheKey, n, this.staleTime), this.notify();
7249
7348
  }, this.ws.onmessage = this.messageHandler, this.ws.onerror = (s) => {
7250
- this._connected || e(new N("WebSocket connection failed", "WS_ERROR", s));
7349
+ this._connected || e(new F("WebSocket connection failed", "WS_ERROR", s));
7251
7350
  }, this.ws.onclose = () => {
7252
7351
  if (this._connected = !1, this.reconnect && !this._destroyed) {
7253
7352
  const s = this.reconnectDelay * Math.pow(2, this._reconnectAttempt), n = Math.random() * s * 0.3, r = Math.min(s + n, this._maxReconnectDelay);
@@ -7258,7 +7357,7 @@ class ve extends W {
7258
7357
  }
7259
7358
  };
7260
7359
  } catch (s) {
7261
- e(new N("WebSocket creation failed", "WS_ERROR", s));
7360
+ e(new F("WebSocket creation failed", "WS_ERROR", s));
7262
7361
  }
7263
7362
  });
7264
7363
  }
@@ -7269,21 +7368,21 @@ class ve extends W {
7269
7368
  this._destroyed = !0, super.destroy(), this.ws && (this.ws.onmessage = null, this.ws.onclose = null, this.ws.close(), this.ws = null);
7270
7369
  }
7271
7370
  }
7272
- function be(i, t) {
7371
+ function xe(i, t) {
7273
7372
  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);
7373
+ return typeof e == "function" ? new va(i, t) : typeof e == "string" && (e.startsWith("ws://") || e.startsWith("wss://")) ? new be(i, t) : typeof e == "string" && (e.startsWith("/") || e.startsWith("http")) ? new _a(i, t) : typeof e == "string" && e.startsWith("localStorage:") ? new ve(i, t) : typeof e == "string" && e.startsWith("route:") ? new ya(i, t) : new ba(i, t);
7275
7374
  }
7276
- function jo(i, t) {
7277
- const e = {}, s = new _e(), n = [];
7375
+ function Jo(i, t) {
7376
+ const e = {}, s = new ye(), n = [];
7278
7377
  for (const r in t) {
7279
7378
  let p = function() {
7280
- return xt(i);
7379
+ return Et(i);
7281
7380
  }, a = t[r];
7282
7381
  typeof a == "string" && (a = { source: a });
7283
7382
  const o = {
7284
7383
  ...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);
7384
+ cacheKey: a.cacheKey || `${r}-${JSON.stringify(Et(i))}`
7385
+ }, l = xe(o, s), c = I(null), h = I(!0), d = I(null), u = I(null);
7287
7386
  let f = 0;
7288
7387
  async function m() {
7289
7388
  const b = ++f;
@@ -7324,11 +7423,11 @@ function jo(i, t) {
7324
7423
  },
7325
7424
  // For StorageSource
7326
7425
  setValue(b) {
7327
- l instanceof ye && (l.setValue(b), c.value = b);
7426
+ l instanceof ve && (l.setValue(b), c.value = b);
7328
7427
  },
7329
7428
  // For WebSocketSource
7330
7429
  send(b) {
7331
- l instanceof ve && l.send(b);
7430
+ l instanceof be && l.send(b);
7332
7431
  },
7333
7432
  _source: l
7334
7433
  };
@@ -7340,8 +7439,8 @@ function jo(i, t) {
7340
7439
  }
7341
7440
  }, window.__kupolaDepInstances || (window.__kupolaDepInstances = []), window.__kupolaDepInstances.push(e), e;
7342
7441
  }
7343
- function Jo(i) {
7344
- const t = new _e(), e = be(i, t), s = I(null), n = I(!0), r = I(null);
7442
+ function Go(i) {
7443
+ const t = new ye(), e = xe(i, t), s = I(null), n = I(!0), r = I(null);
7345
7444
  let a = 0;
7346
7445
  async function o() {
7347
7446
  const l = ++a;
@@ -7369,7 +7468,7 @@ function Jo(i) {
7369
7468
  }
7370
7469
  };
7371
7470
  }
7372
- function xt(i) {
7471
+ function Et(i) {
7373
7472
  const t = {};
7374
7473
  for (const e in i) {
7375
7474
  const s = i[e];
@@ -7377,9 +7476,9 @@ function xt(i) {
7377
7476
  }
7378
7477
  return t;
7379
7478
  }
7380
- function Go() {
7479
+ function Zo() {
7381
7480
  }
7382
- class _a {
7481
+ class xa {
7383
7482
  constructor(t, e = {}) {
7384
7483
  this.element = typeof t == "string" ? document.querySelector(t) : t, this.options = e, this.columns = (e.columns || []).map((s, n) => ({ ...s, _index: n })), this.rowKey = e.rowKey || "id", this._data = [], this._loading = !1, this.striped = e.striped !== !1, this.bordered = e.bordered || !1, this.hoverable = e.hoverable !== !1, this.compact = e.compact || !1, this.emptyText = e.emptyText || "暂无数据", this.loadingText = e.loadingText || "加载中...", this.multiSort = e.multiSort || !1, this._sorts = [], this._filterText = "", this._showPagination = e.pagination !== !1, this._pageSizes = e.pageSizes || [10, 20, 50, 100], this._pageSize = e.pageSize || 10, this._currentPage = 1, this._total = 0, this.selection = e.selection || null, this._selectedKeys = /* @__PURE__ */ new Set(), this.selectionColumnTitle = e.selectionColumnTitle || "", this.expandable = e.expandable || null, this._expandedKeys = /* @__PURE__ */ new Set(), this.expandColumnTitle = e.expandColumnTitle || "", this.editable = e.editable || !1, this._editingCell = null, this._editBuffer = {}, this.resizable = e.resizable || !1, this.draggable = e.draggable || !1, this._dragState = null, this.tree = e.tree || null, this._treeExpandedKeys = /* @__PURE__ */ new Set(), e.tree?.defaultExpandAll && (this._treeExpandAll = !0), this.virtualScroll = e.virtualScroll || null, this._scrollContainer = null, this._scrollHandler = null, this._resizeCleanups = [], this._filterDebounceTimer = null, this._reactiveCleanups = [], this.mergeCells = e.mergeCells || null, this.onSort = e.onSort || null, this.onPageChange = e.onPageChange || null, this.onRowClick = e.onRowClick || null, this.onFilter = e.onFilter || null, this.onSelect = e.onSelect || null, this.onExpand = e.onExpand || null, this.onEditSave = e.onEditSave || null, this.onEditCancel = e.onEditCancel || null, this.onRowDragEnd = e.onRowDragEnd || null, this.onColumnResize = e.onColumnResize || null, this.sortKey = I(null), this.sortOrder = I(null), this.currentPage = I(1), this.filterText = I(""), this.selectedKeys = I([]), this._init();
7385
7484
  }
@@ -7919,10 +8018,10 @@ class _a {
7919
8018
  this._filterDebounceTimer && (clearTimeout(this._filterDebounceTimer), this._filterDebounceTimer = null), this._resizeCleanups.forEach((t) => t()), this._resizeCleanups = [], this._reactiveCleanups.forEach((t) => t.unsubscribe()), this._reactiveCleanups = [], this.element.innerHTML = "", this.element.classList.remove("kupola-table-wrapper", "kupola-table-virtual-wrapper"), this._data = [], this._virtualData = null, this._dragState = null, this._editingCell = null, this._editBuffer = {};
7920
8019
  }
7921
8020
  }
7922
- function xe(i, t) {
7923
- return new _a(i, t);
8021
+ function Ee(i, t) {
8022
+ return new xa(i, t);
7924
8023
  }
7925
- function Zo() {
8024
+ function Qo() {
7926
8025
  document.querySelectorAll("[data-kupola-table]").forEach((i) => {
7927
8026
  const t = i.getAttribute("data-kupola-table");
7928
8027
  let e = {};
@@ -7931,11 +8030,11 @@ function Zo() {
7931
8030
  e = JSON.parse(t);
7932
8031
  } catch {
7933
8032
  }
7934
- xe(i, e);
8033
+ Ee(i, e);
7935
8034
  });
7936
8035
  }
7937
- E.register("table", xe);
7938
- class ya {
8036
+ E.register("table", Ee);
8037
+ class Ea {
7939
8038
  constructor(t, e = {}) {
7940
8039
  this.element = typeof t == "string" ? document.querySelector(t) : t, this.options = e, this._current = e.current || 1, this._total = e.total || 0, this._pageSize = e.pageSize || 10, this._maxPages = e.maxPages || 7, this._showTotal = e.showTotal !== !1, this._showSizeChanger = e.showSizeChanger || !1, this._pageSizes = e.pageSizes || [10, 20, 50, 100], this._simple = e.simple || !1, this.current = I(this._current), this.total = I(this._total), this.onChange = e.onChange || null, this.onPageSizeChange = e.onPageSizeChange || null, this._init();
7941
8040
  }
@@ -8035,9 +8134,9 @@ class ya {
8035
8134
  this.element.innerHTML = "", this.element.classList.remove("kupola-pagination");
8036
8135
  }
8037
8136
  }
8038
- let Et = !1;
8039
- function va() {
8040
- if (Et || typeof document > "u") return;
8137
+ let wt = !1;
8138
+ function wa() {
8139
+ if (wt || typeof document > "u") return;
8041
8140
  const i = document.createElement("style");
8042
8141
  i.textContent = `
8043
8142
  .kupola-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@@ -8053,13 +8152,13 @@ function va() {
8053
8152
  .kupola-pagination-jumper { font-size: 14px; color: #666; }
8054
8153
  .kupola-pagination-jumper input { width: 50px; height: 28px; margin: 0 4px; padding: 0 8px; border: 1px solid #d9d9d9; border-radius: 4px; text-align: center; font-size: 13px; }
8055
8154
  .kupola-pagination-jumper input:focus { outline: none; border-color: #1890ff; }
8056
- `, document.head.appendChild(i), Et = !0;
8155
+ `, document.head.appendChild(i), wt = !0;
8057
8156
  }
8058
- function Qo(i, t) {
8059
- return va(), new ya(i, t);
8157
+ function tl(i, t) {
8158
+ return wa(), new Ea(i, t);
8060
8159
  }
8061
8160
  let kt = !1;
8062
- class ba extends HTMLElement {
8161
+ class ka extends HTMLElement {
8063
8162
  static get observedAttributes() {
8064
8163
  return ["open"];
8065
8164
  }
@@ -8081,7 +8180,7 @@ class ba extends HTMLElement {
8081
8180
  }
8082
8181
  }
8083
8182
  }
8084
- class xa extends HTMLElement {
8183
+ class Ca extends HTMLElement {
8085
8184
  static get observedAttributes() {
8086
8185
  return ["title", "position"];
8087
8186
  }
@@ -8096,7 +8195,7 @@ class xa extends HTMLElement {
8096
8195
  }
8097
8196
  }
8098
8197
  }
8099
- class Ea extends HTMLElement {
8198
+ class Sa extends HTMLElement {
8100
8199
  connectedCallback() {
8101
8200
  this._render();
8102
8201
  }
@@ -8114,13 +8213,13 @@ class Ea extends HTMLElement {
8114
8213
  }), this.innerHTML = "", this.appendChild(t);
8115
8214
  }
8116
8215
  }
8117
- class ka extends HTMLElement {
8216
+ class La extends HTMLElement {
8118
8217
  static get observedAttributes() {
8119
8218
  return ["title"];
8120
8219
  }
8121
8220
  // Content is read by parent <k-collapse> during its connectedCallback
8122
8221
  }
8123
- class wa extends HTMLElement {
8222
+ class Da extends HTMLElement {
8124
8223
  static get observedAttributes() {
8125
8224
  return ["position", "open"];
8126
8225
  }
@@ -8138,7 +8237,7 @@ class wa extends HTMLElement {
8138
8237
  }
8139
8238
  }
8140
8239
  }
8141
- class Ca extends HTMLElement {
8240
+ class Ha extends HTMLElement {
8142
8241
  static get observedAttributes() {
8143
8242
  return ["title", "open"];
8144
8243
  }
@@ -8181,230 +8280,231 @@ class Ca extends HTMLElement {
8181
8280
  this.removeAttribute("open");
8182
8281
  }
8183
8282
  }
8184
- function tl() {
8283
+ function el() {
8185
8284
  if (kt || typeof customElements > "u") return;
8186
8285
  kt = !0;
8187
8286
  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]
8287
+ ["k-dropdown", ka],
8288
+ ["k-tooltip", Ca],
8289
+ ["k-collapse", Sa],
8290
+ ["k-collapse-item", La],
8291
+ ["k-drawer", Da],
8292
+ ["k-modal", Ha]
8194
8293
  ];
8195
8294
  for (const [t, e] of i)
8196
8295
  customElements.get(t) || customElements.define(t, e);
8197
8296
  }
8198
8297
  export {
8199
8298
  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,
8299
+ ga as CacheEntry,
8300
+ ye as CacheManager,
8301
+ Nr as Calendar,
8302
+ Mr as Carousel,
8303
+ Br as Collapse,
8304
+ Or as ColorPicker,
8305
+ gr as ComponentInitializerRegistry,
8306
+ na as Countdown,
8307
+ kr as Datepicker,
8308
+ F as DependsError,
8210
8309
  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,
8310
+ So as Dialog,
8311
+ Ir as Drawer,
8312
+ xr as Dropdown,
8313
+ Vr as DynamicTags,
8314
+ _a as FetchedSource,
8315
+ Pr as FileUpload,
8316
+ va as FunctionSource,
8317
+ br as GlobalEvents,
8318
+ jr as Heatmap,
8319
+ Ro as Icons,
8320
+ ce as ImagePreview,
8321
+ G as KupolaComponent,
8322
+ yr as KupolaComponentRegistry,
8323
+ rr as KupolaDataBind,
8324
+ or as KupolaEventBus,
8325
+ ua as KupolaForm,
8326
+ Xt as KupolaI18n,
8327
+ ct as KupolaLifecycle,
8328
+ Ea as KupolaPagination,
8329
+ mt as KupolaStore,
8330
+ ar as KupolaStoreManager,
8331
+ xa as KupolaTable,
8332
+ Ia as KupolaUtils,
8333
+ Qr as KupolaValidator,
8334
+ Ho as Message,
8236
8335
  $ 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,
8336
+ Lo as Notification,
8337
+ aa as NumberInput,
8338
+ fe as PATHS,
8339
+ ya as RouteSource,
8340
+ fa as Scheduler,
8341
+ Er as Select,
8342
+ la as SlideCaptcha,
8343
+ Dr as Slider,
8344
+ Yr as StatCard,
8345
+ ba as StaticSource,
8346
+ ve as StorageSource,
8347
+ Wr as Tag,
8348
+ Sr as Timepicker,
8349
+ Gr as Tooltip,
8350
+ ta as VirtualList,
8351
+ be as WebSocketSource,
8253
8352
  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,
8353
+ _t as applyMixin,
8354
+ Os as arrayUtils,
8355
+ Xa as bootstrapComponents,
8356
+ go as cleanupAllDropdowns,
8357
+ da as cleanupAllSlideCaptchas,
8358
+ Rr as cleanupCalendar,
8359
+ Tr as cleanupCarousel,
8360
+ qr as cleanupCollapse,
8361
+ Fr as cleanupColorPicker,
8362
+ ra as cleanupCountdown,
8363
+ Cr as cleanupDatepicker,
8364
+ Ar as cleanupDrawer,
8365
+ Jt as cleanupDropdown,
8366
+ Kr as cleanupDynamicTags,
8367
+ $r as cleanupFileUpload,
8368
+ Jr as cleanupHeatmap,
8369
+ zr as cleanupModal,
8370
+ oa as cleanupNumberInput,
8371
+ wr as cleanupSelect,
8372
+ ha as cleanupSlideCaptcha,
8373
+ Hr as cleanupSlider,
8374
+ Xr as cleanupStatCard,
8375
+ Ur as cleanupTag,
8376
+ Lr as cleanupTimepicker,
8377
+ Zr as cleanupTooltip,
8378
+ sa as cleanupVirtualList,
8379
+ Zo as clearCache,
8380
+ Yo as configureHttpClient,
8381
+ wo as confirmModal,
8283
8382
  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,
8383
+ Za as createI18n,
8384
+ Ta as createLifecycle,
8385
+ se as createModal,
8386
+ xe as createSource,
8387
+ za as createStore,
8388
+ Oa as createThemeToggle,
8389
+ Jn as cryptoUtils,
8390
+ cn as dateUtils,
8391
+ hn as debounce,
8392
+ Ga as defineComponent,
8393
+ ja as defineMixin,
8394
+ co as emit,
8395
+ ho as emitGlobal,
8396
+ Ra as escapeHtml,
8397
+ ro as formatCurrency,
8398
+ io as formatDate,
8399
+ no as formatNumber,
8400
+ Wa as generateSecureId,
8401
+ Ba as getBasePath,
8402
+ j as getBrand,
8403
+ ht as getConfig,
8404
+ cr as getDefaultBrand,
8405
+ lr as getDefaultTheme,
8406
+ Wo as getFormInstance,
8407
+ Xo as getHttpClient,
8408
+ qa as getHttpConfig,
8409
+ Kt as getIconsPath,
8410
+ fo as getListenerCount,
8411
+ so as getLocale,
8412
+ dr as getMessageConfig,
8413
+ ur as getNotificationConfig,
8414
+ hr as getPerformanceConfig,
8415
+ et as getSecurityConfig,
8416
+ Pa as getStore,
8318
8417
  R as getTheme,
8319
- cr as getUiConfig,
8418
+ X as getUiConfig,
8419
+ pr as getValidationConfig,
8320
8420
  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,
8421
+ Qo as initAllTables,
8422
+ oe as initCalendar,
8423
+ zo as initCalendars,
8424
+ ee as initCarousel,
8425
+ xo as initCarousels,
8426
+ re as initCollapse,
8327
8427
  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,
8428
+ ae as initColorPicker,
8429
+ Ao as initColorPickers,
8430
+ ge as initCountdown,
8431
+ Vo as initCountdowns,
8432
+ Zt as initDatepicker,
8433
+ yo as initDatepickers,
8434
+ ot as initDrawer,
8435
+ Eo as initDrawers,
8436
+ jt as initDropdown,
8437
+ mo as initDropdowns,
8438
+ le as initDynamicTags,
8439
+ Po as initDynamicTagsAll,
8440
+ ne as initFileUpload,
8441
+ To as initFileUploads,
8442
+ pa as initFormValidation,
8443
+ ue as initHeatmap,
8344
8444
  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,
8445
+ $o as initImagePreview,
8446
+ Mo as initMessages,
8447
+ ie as initModal,
8448
+ Co as initModals,
8449
+ Do as initNotifications,
8450
+ _e as initNumberInput,
8451
+ Ko as initNumberInputs,
8452
+ tl as initPagination,
8453
+ Gt as initSelect,
8454
+ _o as initSelects,
8455
+ ca as initSlideCaptchas,
8456
+ te as initSlider,
8457
+ bo as initSliders,
8458
+ de as initStatCard,
8459
+ Oo as initStatCards,
8460
+ Ee as initTable,
8461
+ he as initTag,
8362
8462
  qo as initTags,
8363
- dr as initTheme,
8364
- Zt as initTimepicker,
8365
- yo as initTimepickers,
8366
- ue as initTooltip,
8463
+ mr as initTheme,
8464
+ Qt as initTimepicker,
8465
+ vo as initTimepickers,
8466
+ pe as initTooltip,
8367
8467
  No as initTooltips,
8368
- Gr as initVirtualList,
8369
- _t as kupolaBootstrap,
8370
- F as kupolaData,
8371
- Ha as kupolaEvents,
8372
- O as kupolaI18n,
8468
+ ea as initVirtualList,
8469
+ yt as kupolaBootstrap,
8470
+ O as kupolaData,
8471
+ Aa as kupolaEvents,
8472
+ N as kupolaI18n,
8373
8473
  E as kupolaInitializer,
8374
- Sa as kupolaLifecycle,
8474
+ Ma as kupolaLifecycle,
8375
8475
  M as kupolaRegistry,
8376
- Rt as kupolaStoreManager,
8377
- Va as maskData,
8378
- Qa as n,
8476
+ Vt as kupolaStoreManager,
8477
+ Ka as maskData,
8478
+ to as n,
8379
8479
  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,
8480
+ ri as objectUtils,
8481
+ lo as off,
8482
+ po as offAll,
8483
+ uo as offByScope,
8484
+ ao as on,
8485
+ oo as once,
8486
+ ir as preloadUtils,
8387
8487
  I as ref,
8388
- Wa as registerComponent,
8389
- Ua as registerLazyComponent,
8390
- tl as registerWebComponents,
8391
- ot as renderIcon,
8392
- Xo as resetHttpClient,
8488
+ Ua as registerComponent,
8489
+ Ya as registerLazyComponent,
8490
+ el as registerWebComponents,
8491
+ lt as renderIcon,
8492
+ jo as resetHttpClient,
8393
8493
  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,
8494
+ at as setBrand,
8495
+ $a as setConfig,
8496
+ eo as setLocale,
8497
+ rt as setTheme,
8498
+ Bo as showImagePreview,
8499
+ Je as stringUtils,
8500
+ Va as stripHtml,
8501
+ me as svg,
8502
+ Qa as t,
8503
+ dn as throttle,
8504
+ Jo as useDeps,
8505
+ Ja as useMixin,
8506
+ Go as useQuery,
8507
+ Uo as validateForm,
8408
8508
  P as validator,
8409
8509
  Ft as validatorUtils
8410
8510
  };