@kupola/kupola 1.5.1 → 1.5.2

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.
@@ -66,20 +66,20 @@ class ot {
66
66
  for (const o of s) {
67
67
  await this._resolveDepends(o.depends, t);
68
68
  const l = performance.now();
69
- let c, d;
69
+ let c, h;
70
70
  try {
71
71
  c = o.handler(...e), c instanceof Promise && await c, o.resolved = !0;
72
72
  } catch (u) {
73
- d = u, console.error(`[KupolaLifecycle] Error in ${t} hook "${o.name}":`, u), t !== "error" && await this._handleError({ phase: t, hook: o.name, error: u, args: e });
73
+ h = u, console.error(`[KupolaLifecycle] Error in ${t} hook "${o.name}":`, u), t !== "error" && await this._handleError({ phase: t, hook: o.name, error: u, args: e });
74
74
  }
75
- const h = performance.now() - l;
75
+ const d = performance.now() - l;
76
76
  this.trace.push({
77
77
  emitId: n,
78
78
  phase: t,
79
79
  hookName: o.name,
80
- duration: h,
81
- status: d ? "error" : "success",
82
- error: d ? d.message : null,
80
+ duration: d,
81
+ status: h ? "error" : "success",
82
+ error: h ? h.message : null,
83
83
  timestamp: Date.now()
84
84
  });
85
85
  }
@@ -201,123 +201,123 @@ class ot {
201
201
  console.error(`[KupolaLifecycle] Unhandled error in ${t.phase}:`, t.error);
202
202
  }
203
203
  }
204
- const xa = new ot("app");
205
- function Ea(i = "app") {
204
+ const Sa = new ot("app");
205
+ function La(i = "app") {
206
206
  return new ot(i);
207
207
  }
208
- const Ee = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
208
+ const Ce = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
209
209
  function G(i) {
210
- return Ee.has(i);
210
+ return Ce.has(i);
211
211
  }
212
- function ke(i) {
212
+ function Se(i) {
213
213
  return i ? i.trim() : "";
214
214
  }
215
- function we(i) {
215
+ function Le(i) {
216
216
  return i ? i.replace(/^\s+/, "") : "";
217
217
  }
218
- function Ce(i) {
218
+ function De(i) {
219
219
  return i ? i.replace(/\s+$/, "") : "";
220
220
  }
221
- function Se(i) {
221
+ function He(i) {
222
222
  return i ? i.toUpperCase() : "";
223
223
  }
224
- function Le(i) {
224
+ function Me(i) {
225
225
  return i ? i.toLowerCase() : "";
226
226
  }
227
- function De(i) {
227
+ function Ie(i) {
228
228
  return i ? i.charAt(0).toUpperCase() + i.slice(1) : "";
229
229
  }
230
- function He(i) {
230
+ function Te(i) {
231
231
  return i ? i.replace(/-(\w)/g, (t, e) => e ? e.toUpperCase() : "") : "";
232
232
  }
233
- function Me(i) {
233
+ function Ae(i) {
234
234
  return i ? i.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "") : "";
235
235
  }
236
- function Ie(i, t, e = " ") {
236
+ function ze(i, t, e = " ") {
237
237
  return (String(i) || "").padStart(t, e);
238
238
  }
239
- function Te(i, t, e = " ") {
239
+ function Pe(i, t, e = " ") {
240
240
  return (String(i) || "").padEnd(t, e);
241
241
  }
242
- function Ae(i, t, e = "...") {
242
+ function $e(i, t, e = "...") {
243
243
  return !i || i.length <= t ? i || "" : i.slice(0, t) + e;
244
244
  }
245
- function ze(i, t, e) {
245
+ function qe(i, t, e) {
246
246
  return i ? i.split(t).join(e) : "";
247
247
  }
248
- function Pe(i, t) {
248
+ function Be(i, t) {
249
249
  return i ? i.replace(/\{\{(\w+)\}\}/g, (e, s) => t[s] !== void 0 ? t[s] : `{{${s}}}`) : "";
250
250
  }
251
- function $e(i, t) {
251
+ function Fe(i, t) {
252
252
  return (i || "").startsWith(t);
253
253
  }
254
- function qe(i, t) {
254
+ function Ne(i, t) {
255
255
  return (i || "").endsWith(t);
256
256
  }
257
- function Be(i, t) {
257
+ function Oe(i, t) {
258
258
  return (i || "").includes(t);
259
259
  }
260
- function Fe(i, t) {
260
+ function Re(i, t) {
261
261
  return (i || "").repeat(t);
262
262
  }
263
- function Ne(i) {
263
+ function Ve(i) {
264
264
  return (i || "").split("").reverse().join("");
265
265
  }
266
- function Oe(i, t) {
266
+ function Ke(i, t) {
267
267
  return !i || !t ? 0 : i.split(t).length - 1;
268
268
  }
269
- function Re(i) {
269
+ function We(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 Ve(i) {
274
+ function Ue(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 Ke(i = 8) {
279
+ function Ye(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 We() {
286
+ function Xe() {
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 Ue = { trim: ke, trimLeft: we, trimRight: Ce, toUpperCase: Se, toLowerCase: Le, capitalize: De, camelize: He, hyphenate: Me, padStart: Ie, padEnd: Te, truncate: Ae, replaceAll: ze, format: Pe, startsWith: $e, endsWith: qe, includes: Be, repeat: Fe, reverse: Ne, countOccurrences: Oe, escapeHtml: Re, unescapeHtml: Ve, generateRandom: Ke, generateUUID: We };
293
- function Ye(i) {
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) {
294
294
  return Array.isArray(i);
295
295
  }
296
- function Xe(i) {
296
+ function Ge(i) {
297
297
  return !i || i.length === 0;
298
298
  }
299
- function je(i) {
299
+ function Ze(i) {
300
300
  return i ? i.length : 0;
301
301
  }
302
- function Je(i, t) {
302
+ function Qe(i, t) {
303
303
  return i && i.length > 0 ? i[0] : t;
304
304
  }
305
- function Ge(i, t) {
305
+ function ts(i, t) {
306
306
  return i && i.length > 0 ? i[i.length - 1] : t;
307
307
  }
308
- function Ze(i, t, e) {
308
+ function es(i, t, e) {
309
309
  return i && i[t] !== void 0 ? i[t] : e;
310
310
  }
311
- function Qe(i, t, e) {
311
+ function ss(i, t, e) {
312
312
  return i ? i.slice(t, e) : [];
313
313
  }
314
- function ts(...i) {
314
+ function is(...i) {
315
315
  return i.reduce((t, e) => t.concat(e || []), []);
316
316
  }
317
- function es(i, t = ",") {
317
+ function ns(i, t = ",") {
318
318
  return i ? i.join(t) : "";
319
319
  }
320
- function ss(i, t, e = 0) {
320
+ function rs(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 ss(i, t, e = 0) {
326
326
  }
327
327
  return i.indexOf(t, e);
328
328
  }
329
- function is(i, t, e) {
329
+ function as(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 is(i, t, e) {
336
336
  }
337
337
  return i.lastIndexOf(t, e);
338
338
  }
339
- function ns(i, t) {
339
+ function os(i, t) {
340
340
  return i ? i.includes(t) : !1;
341
341
  }
342
- function rs(i, ...t) {
342
+ function ls(i, ...t) {
343
343
  return i && i.push(...t), i;
344
344
  }
345
- function as(i) {
345
+ function cs(i) {
346
346
  return i ? i.pop() : void 0;
347
347
  }
348
- function os(i) {
348
+ function hs(i) {
349
349
  return i ? i.shift() : void 0;
350
350
  }
351
- function ls(i, ...t) {
351
+ function ds(i, ...t) {
352
352
  return i && i.unshift(...t), i;
353
353
  }
354
- function cs(i, t) {
354
+ function us(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 hs(i, t) {
359
+ function ps(i, t) {
360
360
  return !i || t < 0 || t >= i.length || i.splice(t, 1), i;
361
361
  }
362
- function ds(i, t, e) {
362
+ function fs(i, t, e) {
363
363
  return i && (i.splice(t, 0, e), i);
364
364
  }
365
- function us(i) {
365
+ function ms(i) {
366
366
  return i ? i.slice().reverse() : [];
367
367
  }
368
- function ps(i, t) {
368
+ function gs(i, t) {
369
369
  return i ? i.slice().sort(t) : [];
370
370
  }
371
- function fs(i, t, e = "asc") {
371
+ function _s(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 ms(i, t) {
377
+ function ys(i, t) {
378
378
  return i ? i.filter(t) : [];
379
379
  }
380
- function gs(i, t) {
380
+ function vs(i, t) {
381
381
  return i ? i.map(t) : [];
382
382
  }
383
- function _s(i, t, e) {
383
+ function bs(i, t, e) {
384
384
  return i ? i.reduce(t, e) : e;
385
385
  }
386
- function ys(i, t) {
386
+ function xs(i, t) {
387
387
  i && i.forEach(t);
388
388
  }
389
- function vs(i, t) {
389
+ function Es(i, t) {
390
390
  return i ? i.every(t) : !0;
391
391
  }
392
- function bs(i, t) {
392
+ function ks(i, t) {
393
393
  return i ? i.some(t) : !1;
394
394
  }
395
- function xs(i, t) {
395
+ function ws(i, t) {
396
396
  return i ? i.find(t) : void 0;
397
397
  }
398
- function Es(i, t) {
398
+ function Cs(i, t) {
399
399
  return i ? i.findIndex(t) : -1;
400
400
  }
401
- function ks(i, t = 1) {
401
+ function Ss(i, t = 1) {
402
402
  return i ? i.flat(t) : [];
403
403
  }
404
- function xt(i) {
405
- return i ? i.reduce((t, e) => Array.isArray(e) ? t.concat(xt(e)) : t.concat(e), []) : [];
404
+ function kt(i) {
405
+ return i ? i.reduce((t, e) => Array.isArray(e) ? t.concat(kt(e)) : t.concat(e), []) : [];
406
406
  }
407
- function ws(i) {
407
+ function Ls(i) {
408
408
  return i ? [...new Set(i)] : [];
409
409
  }
410
- function Cs(i, t) {
410
+ function Ds(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 Cs(i, t) {
415
415
  return e.has(n) ? !1 : (e.add(n), !0);
416
416
  });
417
417
  }
418
- function Ss(i, t) {
418
+ function Hs(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 Ls(i) {
425
+ function Ms(i) {
426
426
  if (!i) return [];
427
427
  const t = i.slice();
428
428
  for (let e = t.length - 1; e > 0; e--) {
@@ -431,57 +431,57 @@ function Ls(i) {
431
431
  }
432
432
  return t;
433
433
  }
434
- function Et(i) {
434
+ function wt(i) {
435
435
  return i ? i.reduce((t, e) => t + (Number(e) || 0), 0) : 0;
436
436
  }
437
- function Ds(i) {
438
- return !i || i.length === 0 ? 0 : Et(i) / i.length;
437
+ function Is(i) {
438
+ return !i || i.length === 0 ? 0 : wt(i) / i.length;
439
439
  }
440
- function Hs(i) {
440
+ function Ts(i) {
441
441
  return i && i.length > 0 ? Math.max(...i) : -1 / 0;
442
442
  }
443
- function Ms(i) {
443
+ function As(i) {
444
444
  return i && i.length > 0 ? Math.min(...i) : 1 / 0;
445
445
  }
446
- function Is(...i) {
446
+ function zs(...i) {
447
447
  return i.length === 0 ? [] : i.reduce((t, e) => t.filter((s) => e && e.includes(s)));
448
448
  }
449
- function Ts(...i) {
449
+ function Ps(...i) {
450
450
  return [...new Set(i.flat().filter(Boolean))];
451
451
  }
452
- function As(i, t) {
452
+ function $s(i, t) {
453
453
  return i ? i.filter((e) => !t || !t.includes(e)) : [];
454
454
  }
455
- function zs(...i) {
455
+ function qs(...i) {
456
456
  if (i.length === 0) return [];
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 Ps = { isArray: Ye, isEmpty: Xe, size: je, first: Je, last: Ge, get: Ze, slice: Qe, concat: ts, join: es, indexOf: ss, lastIndexOf: is, includes: ns, push: rs, pop: as, shift: os, unshift: ls, remove: cs, removeAt: hs, insert: ds, reverse: us, sort: ps, sortBy: fs, filter: ms, map: gs, reduce: _s, forEach: ys, every: vs, some: bs, find: xs, findIndex: Es, flat: ks, flattenDeep: xt, unique: ws, uniqueBy: Cs, chunk: Ss, shuffle: Ls, sum: Et, average: Ds, max: Hs, min: Ms, intersection: Is, union: Ts, difference: As, zip: zs };
460
+ const Bs = { isArray: Je, isEmpty: Ge, size: Ze, first: Qe, last: ts, get: es, slice: ss, concat: is, join: ns, indexOf: rs, lastIndexOf: as, includes: os, push: ls, pop: cs, shift: hs, unshift: ds, remove: us, removeAt: ps, insert: fs, reverse: ms, sort: gs, sortBy: _s, filter: ys, map: vs, reduce: bs, forEach: xs, every: Es, some: ks, find: ws, findIndex: Cs, flat: Ss, flattenDeep: kt, unique: Ls, uniqueBy: Ds, chunk: Hs, shuffle: Ms, sum: wt, average: Is, max: Ts, min: As, intersection: zs, union: Ps, difference: $s, zip: qs };
461
461
  function st(i) {
462
462
  return i !== null && typeof i == "object" && !Array.isArray(i);
463
463
  }
464
- function $s(i) {
464
+ function Fs(i) {
465
465
  return !i || typeof i != "object" ? !0 : Object.keys(i).length === 0;
466
466
  }
467
- function qs(i) {
467
+ function Ns(i) {
468
468
  return i ? Object.keys(i) : [];
469
469
  }
470
- function Bs(i) {
470
+ function Os(i) {
471
471
  return i ? Object.values(i) : [];
472
472
  }
473
- function Fs(i) {
473
+ function Rs(i) {
474
474
  return i ? Object.entries(i) : [];
475
475
  }
476
- function Ns(i, t) {
476
+ function Vs(i, t) {
477
477
  return i ? Object.prototype.hasOwnProperty.call(i, t) : !1;
478
478
  }
479
- function Os(i, t, e) {
479
+ function Ks(i, t, e) {
480
480
  if (!i) return e;
481
481
  const s = t.split(".");
482
482
  return s.some(G) ? e : s.reduce((n, r) => n && n[r], i) ?? e;
483
483
  }
484
- function Rs(i, t, e) {
484
+ function Ws(i, t, e) {
485
485
  if (!i || typeof i != "object") return i;
486
486
  const s = t.split(".");
487
487
  if (s.some(G)) return i;
@@ -491,18 +491,18 @@ function Rs(i, t, e) {
491
491
  (!r[a] || typeof r[a] != "object") && (r[a] = {}), r = r[a];
492
492
  }), r[n] = e, i;
493
493
  }
494
- function Vs(i, t) {
494
+ function Us(i, t) {
495
495
  return i ? t.reduce((e, s) => (i[s] !== void 0 && (e[s] = i[s]), e), {}) : {};
496
496
  }
497
- function Ks(i, t) {
497
+ function Ys(i, t) {
498
498
  return i ? Object.keys(i).reduce((e, s) => (t.includes(s) || (e[s] = i[s]), e), {}) : {};
499
499
  }
500
- function kt(...i) {
500
+ function Ct(...i) {
501
501
  return i.reduce((t, e) => (e && typeof e == "object" && Object.keys(e).forEach((s) => {
502
- G(s) || (st(e[s]) && st(t[s]) ? t[s] = kt(t[s], e[s]) : t[s] = e[s]);
502
+ G(s) || (st(e[s]) && st(t[s]) ? t[s] = Ct(t[s], e[s]) : t[s] = e[s]);
503
503
  }), t), {});
504
504
  }
505
- function Ws(i) {
505
+ function Xs(i) {
506
506
  return i && JSON.parse(JSON.stringify(i));
507
507
  }
508
508
  function U(i, t = /* @__PURE__ */ new WeakMap()) {
@@ -527,154 +527,154 @@ function U(i, t = /* @__PURE__ */ new WeakMap()) {
527
527
  G(s) || (e[s] = U(i[s], t));
528
528
  }), e;
529
529
  }
530
- function Us(i, t) {
530
+ function js(i, t) {
531
531
  i && Object.keys(i).forEach((e) => t(i[e], e, i));
532
532
  }
533
- function Ys(i, t) {
533
+ function Js(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 Xs(i, t) {
540
+ function Gs(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 js(i, t, e) {
547
+ function Zs(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 Js(i) {
550
+ function Qs(i) {
551
551
  return i ? Object.keys(i).map((t) => ({ key: t, value: i[t] })) : [];
552
552
  }
553
- function Gs(i, t, e) {
553
+ function ti(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 Zs(i) {
559
+ function ei(i) {
560
560
  return i ? Object.keys(i).length : 0;
561
561
  }
562
- function Qs(i) {
562
+ function si(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 wt(i, t) {
569
+ function St(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) => wt(i[n], t[n]));
573
+ return e.length !== s.length ? !1 : e.every((n) => St(i[n], t[n]));
574
574
  }
575
- function Ct(i) {
575
+ function Lt(i) {
576
576
  return i && (Object.freeze(i), Object.keys(i).forEach((t) => {
577
- typeof i[t] == "object" && Ct(i[t]);
577
+ typeof i[t] == "object" && Lt(i[t]);
578
578
  }), i);
579
579
  }
580
- function ti(i) {
580
+ function ii(i) {
581
581
  return i && Object.seal(i);
582
582
  }
583
- const ei = { isObject: st, isEmpty: $s, keys: qs, values: Bs, entries: Fs, has: Ns, get: Os, set: Rs, pick: Vs, omit: Ks, merge: kt, clone: Ws, deepClone: U, forEach: Us, map: Ys, filter: Xs, reduce: js, toArray: Js, fromArray: Gs, size: Zs, invert: Qs, isEqual: wt, freeze: Ct, seal: ti };
583
+ const ni = { isObject: st, isEmpty: Fs, keys: Ns, values: Os, entries: Rs, has: Vs, get: Ks, set: Ws, pick: Us, omit: Ys, merge: Ct, clone: Xs, deepClone: U, forEach: js, map: Js, filter: Gs, reduce: Zs, toArray: Qs, fromArray: ti, size: ei, invert: si, isEqual: St, freeze: Lt, seal: ii };
584
584
  function L(i) {
585
585
  return typeof i == "number" && !isNaN(i);
586
586
  }
587
- function si(i) {
587
+ function ri(i) {
588
588
  return Number.isInteger(i);
589
589
  }
590
- function ii(i) {
590
+ function ai(i) {
591
591
  return L(i) && !Number.isInteger(i);
592
592
  }
593
- function ni(i) {
593
+ function oi(i) {
594
594
  return L(i) && i > 0;
595
595
  }
596
- function ri(i) {
596
+ function li(i) {
597
597
  return L(i) && i < 0;
598
598
  }
599
- function ai(i) {
599
+ function ci(i) {
600
600
  return L(i) && i === 0;
601
601
  }
602
- function oi(i, t, e) {
602
+ function hi(i, t, e) {
603
603
  return L(i) ? Math.min(Math.max(i, t), e) : i;
604
604
  }
605
- function li(i, t = 0) {
605
+ function di(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 ci(i) {
610
+ function ui(i) {
611
611
  return L(i) ? Math.floor(i) : i;
612
612
  }
613
- function hi(i) {
613
+ function pi(i) {
614
614
  return L(i) ? Math.ceil(i) : i;
615
615
  }
616
- function di(i) {
616
+ function fi(i) {
617
617
  return L(i) ? Math.abs(i) : i;
618
618
  }
619
- function ui(...i) {
619
+ function mi(...i) {
620
620
  const t = i.filter(L);
621
621
  return t.length > 0 ? Math.min(...t) : void 0;
622
622
  }
623
- function pi(...i) {
623
+ function gi(...i) {
624
624
  const t = i.filter(L);
625
625
  return t.length > 0 ? Math.max(...t) : void 0;
626
626
  }
627
- function St(...i) {
627
+ function Dt(...i) {
628
628
  return i.flat().filter(L).reduce((e, s) => e + s, 0);
629
629
  }
630
- function fi(...i) {
630
+ function _i(...i) {
631
631
  const t = i.flat().filter(L);
632
- return t.length > 0 ? St(t) / t.length : 0;
632
+ return t.length > 0 ? Dt(t) / t.length : 0;
633
633
  }
634
- function Lt(i = 0, t = 1) {
634
+ function Ht(i = 0, t = 1) {
635
635
  return Math.random() * (t - i) + i;
636
636
  }
637
- function mi(i, t) {
638
- return Math.floor(Lt(i, t + 1));
637
+ function yi(i, t) {
638
+ return Math.floor(Ht(i, t + 1));
639
639
  }
640
- function gi(i, t = 2) {
640
+ function vi(i, t = 2) {
641
641
  return L(i) ? i.toFixed(t) : String(i);
642
642
  }
643
- function _i(i, t = "CNY", e = 2) {
643
+ function bi(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 yi(i, t = 0) {
646
+ function xi(i, t = 0) {
647
647
  return L(i) ? `${(i * 100).toFixed(t)}%` : String(i);
648
648
  }
649
- function vi(i, t = 0) {
649
+ function Ei(i, t = 0) {
650
650
  return L(i) ? i.toFixed(t) : String(i);
651
651
  }
652
- function bi(i, t = 6) {
652
+ function ki(i, t = 6) {
653
653
  return L(i) ? i.toPrecision(t) : String(i);
654
654
  }
655
- function xi(i) {
655
+ function wi(i) {
656
656
  return Number.isNaN(i);
657
657
  }
658
- function Ei(i) {
658
+ function Ci(i) {
659
659
  return Number.isFinite(i);
660
660
  }
661
- function ki(i, t = 10) {
661
+ function Si(i, t = 10) {
662
662
  return Number.parseInt(i, t);
663
663
  }
664
- function wi(i) {
664
+ function Li(i) {
665
665
  return Number.parseFloat(i);
666
666
  }
667
- function Ci(i, t = 0) {
667
+ function Di(i, t = 0) {
668
668
  const e = Number(i);
669
669
  return isNaN(e) ? t : e;
670
670
  }
671
- function Si(i, t, e = 0) {
671
+ function Hi(i, t, e = 0) {
672
672
  return !L(i) || !L(t) || t === 0 ? e : i / t;
673
673
  }
674
- function Li(...i) {
674
+ function Mi(...i) {
675
675
  return i.reduce((t, e) => !L(t) || !L(e) ? 0 : t * e, 1);
676
676
  }
677
- const Di = { isNumber: L, isInteger: si, isFloat: ii, isPositive: ni, isNegative: ri, isZero: ai, clamp: oi, round: li, floor: ci, ceil: hi, abs: di, min: ui, max: pi, sum: St, average: fi, random: Lt, randomInt: mi, format: gi, formatCurrency: _i, formatPercent: yi, toFixed: vi, toPrecision: bi, isNaN: xi, isFinite: Ei, parseInt: ki, parseFloat: wi, toNumber: Ci, safeDivide: Si, safeMultiply: Li };
677
+ const Ii = { isNumber: L, isInteger: ri, isFloat: ai, isPositive: oi, isNegative: li, isZero: ci, clamp: hi, round: di, floor: ui, ceil: pi, abs: fi, min: mi, max: gi, sum: Dt, average: _i, random: Ht, randomInt: yi, format: vi, formatCurrency: bi, formatPercent: xi, toFixed: Ei, toPrecision: ki, isNaN: wi, isFinite: Ci, parseInt: Si, parseFloat: Li, toNumber: Di, safeDivide: Hi, safeMultiply: Mi };
678
678
  function Z() {
679
679
  return Date.now();
680
680
  }
@@ -682,51 +682,51 @@ function K() {
682
682
  const i = /* @__PURE__ */ new Date();
683
683
  return i.setHours(0, 0, 0, 0), i;
684
684
  }
685
- function Hi() {
685
+ function Ti() {
686
686
  const i = K();
687
687
  return i.setDate(i.getDate() + 1), i;
688
688
  }
689
- function Mi() {
689
+ function Ai() {
690
690
  const i = K();
691
691
  return i.setDate(i.getDate() - 1), i;
692
692
  }
693
693
  function k(i) {
694
694
  return i instanceof Date && !isNaN(i.getTime());
695
695
  }
696
- function Dt(i) {
696
+ function Mt(i) {
697
697
  return k(i);
698
698
  }
699
- function Ii(i) {
699
+ function zi(i) {
700
700
  const t = new Date(i);
701
- return Dt(t) ? t : null;
701
+ return Mt(t) ? t : null;
702
702
  }
703
- function Ti(i, t = "YYYY-MM-DD HH:mm:ss") {
703
+ function Pi(i, t = "YYYY-MM-DD HH:mm:ss") {
704
704
  if (!k(i)) return "";
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"), d = ["日", "一", "二", "三", "四", "五", "六"][i.getDay()];
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", d);
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
+ 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 Ai(i) {
708
+ function $i(i) {
709
709
  return k(i) ? i.toISOString() : "";
710
710
  }
711
- function zi(i) {
711
+ function qi(i) {
712
712
  return k(i) ? new Date(i.toUTCString()) : null;
713
713
  }
714
- function Pi(i, t) {
714
+ function Bi(i, t) {
715
715
  if (!k(i)) return i;
716
716
  const e = new Date(i);
717
717
  return e.setDate(e.getDate() + t), e;
718
718
  }
719
- function $i(i, t) {
719
+ function Fi(i, t) {
720
720
  if (!k(i)) return i;
721
721
  const e = new Date(i);
722
722
  return e.setHours(e.getHours() + t), e;
723
723
  }
724
- function qi(i, t) {
724
+ function Ni(i, t) {
725
725
  if (!k(i)) return i;
726
726
  const e = new Date(i);
727
727
  return e.setMinutes(e.getMinutes() + t), e;
728
728
  }
729
- function Bi(i, t) {
729
+ function Oi(i, t) {
730
730
  if (!k(i)) return i;
731
731
  const e = new Date(i);
732
732
  return e.setSeconds(e.getSeconds() + t), e;
@@ -738,104 +738,104 @@ function Q(i, t) {
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 Fi(i, t) {
741
+ function Ri(i, t) {
742
742
  return !k(i) || !k(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / (1e3 * 60 * 60));
743
743
  }
744
- function Ni(i, t) {
744
+ function Vi(i, t) {
745
745
  return !k(i) || !k(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / (1e3 * 60));
746
746
  }
747
- function Oi(i, t) {
747
+ function Ki(i, t) {
748
748
  return !k(i) || !k(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / 1e3);
749
749
  }
750
- function Ri(i) {
750
+ function Wi(i) {
751
751
  return k(i) ? Q(i, K()) === 0 : !1;
752
752
  }
753
- function Vi(i) {
753
+ function Ui(i) {
754
754
  return k(i) ? Q(i, K()) === -1 : !1;
755
755
  }
756
- function Ki(i) {
756
+ function Yi(i) {
757
757
  return k(i) ? Q(i, K()) === 1 : !1;
758
758
  }
759
- function Wi(i) {
759
+ function Xi(i) {
760
760
  return k(i) ? i.getTime() > Z() : !1;
761
761
  }
762
- function Ui(i) {
762
+ function ji(i) {
763
763
  return k(i) ? i.getTime() < Z() : !1;
764
764
  }
765
- function Yi(i) {
765
+ function Ji(i) {
766
766
  if (!k(i)) return !1;
767
767
  const t = i.getFullYear();
768
768
  return t % 4 === 0 && (t % 100 !== 0 || t % 400 === 0);
769
769
  }
770
- function Xi(i) {
770
+ function Gi(i) {
771
771
  return k(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0).getDate() : 0;
772
772
  }
773
- function ji(i) {
773
+ function Zi(i) {
774
774
  if (!k(i)) return 0;
775
775
  const t = new Date(i.getFullYear(), 0, 1), e = i.getTime() - t.getTime();
776
776
  return Math.ceil(e / (1e3 * 60 * 60 * 24 * 7));
777
777
  }
778
- function Ji(i) {
778
+ function Qi(i) {
779
779
  return k(i) ? Math.ceil((i.getMonth() + 1) / 3) : 0;
780
780
  }
781
- function Gi(i) {
781
+ function tn(i) {
782
782
  if (!k(i)) return i;
783
783
  const t = new Date(i);
784
784
  return t.setHours(0, 0, 0, 0), t;
785
785
  }
786
- function Zi(i) {
786
+ function en(i) {
787
787
  if (!k(i)) return i;
788
788
  const t = new Date(i);
789
789
  return t.setHours(23, 59, 59, 999), t;
790
790
  }
791
- function Qi(i) {
791
+ function sn(i) {
792
792
  return k(i) ? new Date(i.getFullYear(), i.getMonth(), 1) : i;
793
793
  }
794
- function tn(i) {
794
+ function nn(i) {
795
795
  return k(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0, 23, 59, 59, 999) : i;
796
796
  }
797
- function Ht(i, t = 1) {
797
+ function It(i, t = 1) {
798
798
  if (!k(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 en(i, t = 1) {
802
+ function rn(i, t = 1) {
803
803
  if (!k(i)) return i;
804
- const e = Ht(i, t), s = new Date(e);
804
+ const e = It(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 sn(i) {
807
+ function an(i) {
808
808
  if (!k(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 nn(i) {
813
+ function on(i) {
814
814
  if (!k(i)) return "";
815
815
  const e = Z() - 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 rn = { now: Z, today: K, tomorrow: Hi, yesterday: Mi, isDate: k, isValid: Dt, parse: Ii, format: Ti, toISO: Ai, toUTC: zi, addDays: Pi, addHours: $i, addMinutes: qi, addSeconds: Bi, diffDays: Q, diffHours: Fi, diffMinutes: Ni, diffSeconds: Oi, isToday: Ri, isYesterday: Vi, isTomorrow: Ki, isFuture: Wi, isPast: Ui, isLeapYear: Yi, getDaysInMonth: Xi, getWeekOfYear: ji, getQuarter: Ji, startOfDay: Gi, endOfDay: Zi, startOfMonth: Qi, endOfMonth: tn, startOfWeek: Ht, endOfWeek: en, getAge: sn, fromNow: nn };
819
- function an(i, t, e = {}) {
818
+ const ln = { now: Z, today: K, tomorrow: Ti, yesterday: Ai, isDate: k, isValid: Mt, parse: zi, format: Pi, toISO: $i, toUTC: qi, addDays: Bi, addHours: Fi, addMinutes: Ni, addSeconds: Oi, diffDays: Q, diffHours: Ri, diffMinutes: Vi, diffSeconds: Ki, isToday: Wi, isYesterday: Ui, isTomorrow: Yi, isFuture: Xi, isPast: ji, isLeapYear: Ji, getDaysInMonth: Gi, getWeekOfYear: Zi, getQuarter: Qi, startOfDay: tn, endOfDay: en, startOfMonth: sn, endOfMonth: nn, startOfWeek: It, endOfWeek: rn, getAge: an, fromNow: on };
819
+ function cn(i, t, e = {}) {
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() {
823
823
  i.apply(r, n);
824
824
  }
825
- function d() {
826
- a = Date.now(), o ? (s = setTimeout(h, t), c()) : s = setTimeout(h, t);
827
- }
828
825
  function h() {
826
+ a = Date.now(), o ? (s = setTimeout(d, t), c()) : s = setTimeout(d, t);
827
+ }
828
+ function d() {
829
829
  s = null, l && n && c(), n = null, r = null;
830
830
  }
831
831
  function u() {
832
832
  return Math.max(0, t - (Date.now() - a));
833
833
  }
834
834
  return function(...f) {
835
- n = f, r = this, a = Date.now(), s ? (clearTimeout(s), s = setTimeout(h, u())) : d();
835
+ n = f, r = this, a = Date.now(), s ? (clearTimeout(s), s = setTimeout(d, u())) : h();
836
836
  };
837
837
  }
838
- function on(i, t, e = {}) {
838
+ function hn(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 on(i, t, e = {}) {
848
848
  }, t));
849
849
  };
850
850
  }
851
- function ln(i) {
851
+ function dn(i) {
852
852
  return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i || "");
853
853
  }
854
- function cn(i) {
854
+ function un(i) {
855
855
  return /^1[3-9]\d{9}$/.test(i || "");
856
856
  }
857
- function hn(i) {
857
+ function pn(i) {
858
858
  return /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w.-]*)*\/?$/.test(i || "");
859
859
  }
860
- function Mt(i) {
860
+ function Tt(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 It(i) {
863
+ function At(i) {
864
864
  return /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/.test(i || "");
865
865
  }
866
- function dn(i) {
867
- return Mt(i) || It(i);
866
+ function fn(i) {
867
+ return Tt(i) || At(i);
868
868
  }
869
- function un(i) {
869
+ function mn(i) {
870
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 || "");
871
871
  }
872
- function pn(i) {
872
+ function gn(i) {
873
873
  return /^[A-Z][0-9]{8}$|^[A-Z]{2}[0-9]{7}$/.test(i || "");
874
874
  }
875
- function fn(i) {
875
+ function _n(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,113 +882,113 @@ function fn(i) {
882
882
  }
883
883
  return s % 10 === 0;
884
884
  }
885
- function Tt(i) {
885
+ function zt(i) {
886
886
  return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(i || "");
887
887
  }
888
- function At(i) {
888
+ function Pt(i) {
889
889
  const t = /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/.exec(i || "");
890
890
  return t ? t.slice(1).every((e) => parseInt(e) >= 0 && parseInt(e) <= 255) : !1;
891
891
  }
892
- function zt(i) {
892
+ function $t(i) {
893
893
  const t = /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*([01]|0\.\d+)\)$/.exec(i || "");
894
894
  if (!t) return !1;
895
895
  const [, e, s, n, r] = t;
896
896
  return parseInt(e) >= 0 && parseInt(e) <= 255 && parseInt(s) >= 0 && parseInt(s) <= 255 && parseInt(n) >= 0 && parseInt(n) <= 255 && parseFloat(r) >= 0 && parseFloat(r) <= 1;
897
897
  }
898
- function mn(i) {
899
- return Tt(i) || At(i) || zt(i);
898
+ function yn(i) {
899
+ return zt(i) || Pt(i) || $t(i);
900
900
  }
901
- function gn(i) {
901
+ function vn(i) {
902
902
  return !isNaN(new Date(i).getTime());
903
903
  }
904
- function _n(i) {
904
+ function bn(i) {
905
905
  try {
906
906
  return JSON.parse(i), !0;
907
907
  } catch {
908
908
  return !1;
909
909
  }
910
910
  }
911
- function yn(i) {
911
+ function xn(i) {
912
912
  return !i || i.trim() === "";
913
913
  }
914
- function vn(i) {
914
+ function En(i) {
915
915
  return /^\s+$/.test(i || "");
916
916
  }
917
- function bn(i) {
917
+ function kn(i) {
918
918
  return !isNaN(parseFloat(i)) && isFinite(i);
919
919
  }
920
- function xn(i) {
920
+ function wn(i) {
921
921
  return /^-?\d+$/.test(i || "");
922
922
  }
923
- function En(i) {
923
+ function Cn(i) {
924
924
  return /^-?\d+\.\d+$/.test(i || "");
925
925
  }
926
- function kn(i) {
926
+ function Sn(i) {
927
927
  const t = parseFloat(i);
928
928
  return !isNaN(t) && t > 0;
929
929
  }
930
- function wn(i) {
930
+ function Ln(i) {
931
931
  const t = parseFloat(i);
932
932
  return !isNaN(t) && t < 0;
933
933
  }
934
- function Cn(i) {
934
+ function Dn(i) {
935
935
  return /^[a-zA-Z]+$/.test(i || "");
936
936
  }
937
- function Sn(i) {
937
+ function Hn(i) {
938
938
  return /^[a-zA-Z0-9]+$/.test(i || "");
939
939
  }
940
- function Ln(i) {
940
+ function Mn(i) {
941
941
  return /^[\u4e00-\u9fa5]+$/.test(i || "");
942
942
  }
943
- function Dn(i, t, e) {
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 Hn(i, t) {
947
+ function Tn(i, t) {
948
948
  return (i || "").length >= t;
949
949
  }
950
- function Mn(i, t) {
950
+ function An(i, t) {
951
951
  return (i || "").length <= t;
952
952
  }
953
- function In(i, t) {
953
+ function zn(i, t) {
954
954
  return t instanceof RegExp ? t.test(i || "") : !1;
955
955
  }
956
- function Tn(i, t) {
956
+ function Pn(i, t) {
957
957
  return String(i) === String(t);
958
958
  }
959
- function Pt(i, t) {
959
+ function qt(i, t) {
960
960
  return (i || "").includes(t);
961
961
  }
962
- function An(i, t) {
963
- return !Pt(i, t);
962
+ function $n(i, t) {
963
+ return !qt(i, t);
964
964
  }
965
- function zn(i) {
965
+ function qn(i) {
966
966
  return Array.isArray(i);
967
967
  }
968
- function Pn(i, t, e) {
968
+ function Bn(i, t, e) {
969
969
  const s = i ? i.length : 0;
970
970
  return s >= t && (e === void 0 || s <= e);
971
971
  }
972
- function $n(i, t) {
972
+ function Fn(i, t) {
973
973
  return i ? i.length >= t : !1;
974
974
  }
975
- function qn(i, t) {
975
+ function Nn(i, t) {
976
976
  return i ? i.length <= t : !1;
977
977
  }
978
- function Bn(i) {
978
+ function On(i) {
979
979
  return i !== null && typeof i == "object" && !Array.isArray(i);
980
980
  }
981
- function Fn(i, t) {
981
+ function Rn(i, t) {
982
982
  return !i || !t || !Array.isArray(t) ? !1 : t.every((e) => Object.prototype.hasOwnProperty.call(i, e));
983
983
  }
984
- function Nn(i, t) {
984
+ function Vn(i, t) {
985
985
  const e = {};
986
986
  return Object.keys(t).forEach((s) => {
987
987
  const n = i[s], r = t[s], a = [];
988
988
  r.forEach((o) => {
989
989
  if (typeof o == "string") {
990
990
  const [l, ...c] = o.split(":");
991
- $t[l](n, ...c) || a.push(l);
991
+ Bt[l](n, ...c) || a.push(l);
992
992
  } else if (typeof o == "function") {
993
993
  const l = o(n, i);
994
994
  l !== !0 && a.push(l || "validation_failed");
@@ -996,77 +996,77 @@ function Nn(i, t) {
996
996
  }), a.length > 0 && (e[s] = a);
997
997
  }), { valid: Object.keys(e).length === 0, errors: e };
998
998
  }
999
- const $t = { isEmail: ln, isPhone: cn, isURL: hn, isIPv4: Mt, isIPv6: It, isIP: dn, isIDCard: un, isPassport: pn, isCreditCard: fn, isHexColor: Tt, isRGB: At, isRGBA: zt, isColor: mn, isDate: gn, isJSON: _n, isEmpty: yn, isWhitespace: vn, isNumber: bn, isInteger: xn, isFloat: En, isPositive: kn, isNegative: wn, isAlpha: Cn, isAlphaNumeric: Sn, isChinese: Ln, isLength: Dn, minLength: Hn, maxLength: Mn, matches: In, equals: Tn, contains: Pt, notContains: An, isArray: zn, arrayLength: Pn, arrayMinLength: $n, arrayMaxLength: qn, isObject: Bn, hasKeys: Fn, validate: Nn };
1000
- function On(i) {
999
+ const Bt = { isEmail: dn, isPhone: un, isURL: pn, isIPv4: Tt, isIPv6: At, isIP: fn, isIDCard: mn, isPassport: gn, isCreditCard: _n, isHexColor: zt, isRGB: Pt, isRGBA: $t, isColor: yn, isDate: vn, isJSON: bn, isEmpty: xn, isWhitespace: En, isNumber: kn, isInteger: wn, isFloat: Cn, isPositive: Sn, isNegative: Ln, isAlpha: Dn, isAlphaNumeric: Hn, isChinese: Mn, isLength: In, minLength: Tn, maxLength: An, matches: zn, equals: Pn, contains: qt, notContains: $n, isArray: qn, arrayLength: Bn, arrayMinLength: Fn, arrayMaxLength: Nn, isObject: On, hasKeys: Rn, validate: Vn };
1000
+ function Kn(i) {
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
- function r(h, u) {
1003
- return h << u | h >>> 32 - u;
1002
+ function r(d, u) {
1003
+ return d << u | d >>> 32 - u;
1004
1004
  }
1005
- function a(h) {
1006
- const u = h.length * 8;
1007
- for (h += "€"; h.length % 64 !== 56; )
1008
- h += "\0";
1005
+ function a(d) {
1006
+ const u = d.length * 8;
1007
+ for (d += "€"; d.length % 64 !== 56; )
1008
+ d += "\0";
1009
1009
  const f = u & 4294967295, p = u >>> 32 & 4294967295;
1010
1010
  for (let m = 0; m < 4; m++)
1011
- h += String.fromCharCode(f >>> 8 * m & 255);
1011
+ d += String.fromCharCode(f >>> 8 * m & 255);
1012
1012
  for (let m = 0; m < 4; m++)
1013
- h += String.fromCharCode(p >>> 8 * m & 255);
1014
- return h;
1013
+ d += String.fromCharCode(p >>> 8 * m & 255);
1014
+ return d;
1015
1015
  }
1016
- function o(h, u) {
1016
+ function o(d, u) {
1017
1017
  const [f, p, m, y] = u, _ = [];
1018
1018
  for (let S = 0; S < 16; S++)
1019
- _[S] = h.charCodeAt(S * 4) & 255 | (h.charCodeAt(S * 4 + 1) & 255) << 8 | (h.charCodeAt(S * 4 + 2) & 255) << 16 | (h.charCodeAt(S * 4 + 3) & 255) << 24;
1020
- let x = f, b = p, v = m, w = y;
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
+ let b = f, x = p, v = m, C = y;
1021
1021
  for (let S = 0; S < 64; S++) {
1022
- let C, D;
1023
- const I = Math.floor(S / 16), z = S % 16;
1024
- I === 0 ? (C = b & v | ~b & w, D = z) : I === 1 ? (C = w & b | ~w & v, D = (5 * z + 1) % 16) : I === 2 ? (C = b ^ v ^ w, D = (3 * z + 5) % 16) : (C = v ^ (b | ~w), D = 7 * z % 16);
1025
- const B = w;
1026
- w = v, v = b, b = b + r(x + C + s[S] + _[D] & 4294967295, n[I][S % 4]), x = B;
1022
+ let w, A;
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;
1027
1027
  }
1028
- return [f + x & 4294967295, p + b & 4294967295, m + v & 4294967295, y + w & 4294967295];
1028
+ return [f + b & 4294967295, p + x & 4294967295, m + v & 4294967295, y + C & 4294967295];
1029
1029
  }
1030
1030
  const l = a(t);
1031
1031
  let c = [...e];
1032
- for (let h = 0; h < l.length; h += 64)
1033
- c = o(l.substring(h, h + 64), c);
1034
- let d = "";
1035
- return c.forEach((h) => {
1032
+ for (let d = 0; d < l.length; d += 64)
1033
+ c = o(l.substring(d, d + 64), c);
1034
+ let h = "";
1035
+ return c.forEach((d) => {
1036
1036
  for (let u = 0; u < 4; u++)
1037
- d += (h >>> 8 * u & 255).toString(16).padStart(2, "0");
1038
- }), d;
1037
+ h += (d >>> 8 * u & 255).toString(16).padStart(2, "0");
1038
+ }), h;
1039
1039
  }
1040
- function Rn(i) {
1040
+ function Wn(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
- function s(c, d) {
1043
- return c >>> d | c << 32 - d;
1042
+ function s(c, h) {
1043
+ return c >>> h | c << 32 - h;
1044
1044
  }
1045
1045
  function n(c) {
1046
- const d = c.length * 8;
1046
+ const h = c.length * 8;
1047
1047
  for (c += "€"; c.length % 64 !== 56; )
1048
1048
  c += "\0";
1049
- const h = d & 4294967295, u = d >>> 32 & 4294967295;
1049
+ const d = h & 4294967295, u = h >>> 32 & 4294967295;
1050
1050
  for (let f = 0; f < 4; f++)
1051
1051
  c += String.fromCharCode(u >>> 8 * f & 255);
1052
1052
  for (let f = 0; f < 4; f++)
1053
- c += String.fromCharCode(h >>> 8 * f & 255);
1053
+ c += String.fromCharCode(d >>> 8 * f & 255);
1054
1054
  return c;
1055
1055
  }
1056
- function r(c, d) {
1057
- const h = [];
1056
+ function r(c, h) {
1057
+ const d = [];
1058
1058
  for (let v = 0; v < 16; v++)
1059
- h[v] = c.charCodeAt(v * 4) & 255 | (c.charCodeAt(v * 4 + 1) & 255) << 8 | (c.charCodeAt(v * 4 + 2) & 255) << 16 | (c.charCodeAt(v * 4 + 3) & 255) << 24;
1059
+ d[v] = c.charCodeAt(v * 4) & 255 | (c.charCodeAt(v * 4 + 1) & 255) << 8 | (c.charCodeAt(v * 4 + 2) & 255) << 16 | (c.charCodeAt(v * 4 + 3) & 255) << 24;
1060
1060
  for (let v = 16; v < 64; v++) {
1061
- const w = s(h[v - 15], 7) ^ s(h[v - 15], 18) ^ h[v - 15] >>> 3, S = s(h[v - 2], 17) ^ s(h[v - 2], 19) ^ h[v - 2] >>> 10;
1062
- h[v] = h[v - 16] + w + h[v - 7] + S & 4294967295;
1061
+ const C = s(d[v - 15], 7) ^ s(d[v - 15], 18) ^ d[v - 15] >>> 3, S = s(d[v - 2], 17) ^ s(d[v - 2], 19) ^ d[v - 2] >>> 10;
1062
+ d[v] = d[v - 16] + C + d[v - 7] + S & 4294967295;
1063
1063
  }
1064
- let [u, f, p, m, y, _, x, b] = d;
1064
+ let [u, f, p, m, y, _, b, x] = h;
1065
1065
  for (let v = 0; v < 64; v++) {
1066
- const w = s(y, 6) ^ s(y, 11) ^ s(y, 25), S = y & _ ^ ~y & x, C = b + w + S + e[v] + h[v] & 4294967295, D = s(u, 2) ^ s(u, 13) ^ s(u, 22), I = u & f ^ u & p ^ f & p, z = D + I & 4294967295;
1067
- b = x, x = _, _ = y, y = m + C & 4294967295, m = p, p = f, f = u, u = C + z & 4294967295;
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;
1068
1068
  }
1069
- return [d[0] + u & 4294967295, d[1] + f & 4294967295, d[2] + p & 4294967295, d[3] + m & 4294967295, d[4] + y & 4294967295, d[5] + _ & 4294967295, d[6] + x & 4294967295, d[7] + b & 4294967295];
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
  }
1071
1071
  const a = n(t);
1072
1072
  let o = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225];
@@ -1074,48 +1074,48 @@ function Rn(i) {
1074
1074
  o = r(a.substring(c, c + 64), o);
1075
1075
  let l = "";
1076
1076
  return o.forEach((c) => {
1077
- for (let d = 3; d >= 0; d--)
1078
- l += (c >>> 8 * d & 255).toString(16).padStart(2, "0");
1077
+ for (let h = 3; h >= 0; h--)
1078
+ l += (c >>> 8 * h & 255).toString(16).padStart(2, "0");
1079
1079
  }), l;
1080
1080
  }
1081
- function Vn(i) {
1081
+ function Un(i) {
1082
1082
  const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1083
1083
  let e = "", s = 0;
1084
1084
  const n = i ? i.split("").map((r) => r.charCodeAt(0)) : [];
1085
1085
  for (; s < n.length; ) {
1086
- const r = n[s++], a = n[s++] || 0, o = n[s++] || 0, l = r >> 2, c = (r & 3) << 4 | a >> 4, d = (a & 15) << 2 | o >> 6, h = o & 63;
1087
- e += t[l] + t[c] + (s > n.length + 1 ? "=" : t[d]) + (s > n.length ? "=" : t[h]);
1086
+ const r = n[s++], a = n[s++] || 0, o = n[s++] || 0, l = r >> 2, c = (r & 3) << 4 | a >> 4, h = (a & 15) << 2 | o >> 6, d = o & 63;
1087
+ e += t[l] + t[c] + (s > n.length + 1 ? "=" : t[h]) + (s > n.length ? "=" : t[d]);
1088
1088
  }
1089
1089
  return e;
1090
1090
  }
1091
- function Kn(i) {
1091
+ function Yn(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; ) {
1095
- const n = t.indexOf(i.charAt(s++)), r = t.indexOf(i.charAt(s++)), a = t.indexOf(i.charAt(s++)), o = t.indexOf(i.charAt(s++)), l = n << 2 | r >> 4, c = (r & 15) << 4 | a >> 2, d = (a & 3) << 6 | o;
1096
- e += String.fromCharCode(l), a !== 64 && (e += String.fromCharCode(c)), o !== 64 && (e += String.fromCharCode(d));
1095
+ const n = t.indexOf(i.charAt(s++)), r = t.indexOf(i.charAt(s++)), a = t.indexOf(i.charAt(s++)), o = t.indexOf(i.charAt(s++)), l = n << 2 | r >> 4, c = (r & 15) << 4 | a >> 2, h = (a & 3) << 6 | o;
1096
+ e += String.fromCharCode(l), a !== 64 && (e += String.fromCharCode(c)), o !== 64 && (e += String.fromCharCode(h));
1097
1097
  }
1098
1098
  return e;
1099
1099
  }
1100
- function Wn() {
1100
+ function Xn() {
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 Un = { md5: On, sha256: Rn, base64Encode: Vn, base64Decode: Kn, uuid: Wn }, $ = /* @__PURE__ */ new Map();
1106
+ const jn = { md5: Kn, sha256: Wn, base64Encode: Un, base64Decode: Yn, uuid: Xn }, q = /* @__PURE__ */ new Map();
1107
1107
  async function j(i, t = {}) {
1108
1108
  const { crossOrigin: e = "anonymous" } = t;
1109
- return $.has(i) ? $.get(i) : new Promise((s, n) => {
1109
+ return q.has(i) ? q.get(i) : new Promise((s, n) => {
1110
1110
  const r = new Image();
1111
1111
  r.crossOrigin = e, r.onload = () => {
1112
- $.set(i, r), s(r);
1112
+ q.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 Yn(i, t = {}) {
1118
+ async function Jn(i, t = {}) {
1119
1119
  const { parallel: e = !0 } = t;
1120
1120
  if (e) return Promise.all(i.map((n) => j(n, t)));
1121
1121
  const s = [];
@@ -1123,29 +1123,29 @@ async function Yn(i, t = {}) {
1123
1123
  s.push(await j(n, t));
1124
1124
  return s;
1125
1125
  }
1126
- async function qt(i, t = {}) {
1126
+ async function Ft(i, t = {}) {
1127
1127
  const { type: e = "text/javascript", async: s = !0, defer: n = !1 } = t;
1128
- return $.has(i) ? $.get(i) : new Promise((r, a) => {
1128
+ return q.has(i) ? q.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
- $.set(i, o), r(o);
1131
+ q.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 Bt(i, t = {}) {
1137
+ async function Nt(i, t = {}) {
1138
1138
  const { media: e = "all" } = t;
1139
- return $.has(i) ? $.get(i) : new Promise((s, n) => {
1139
+ return q.has(i) ? q.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
- $.set(i, r), s(r);
1142
+ q.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 Xn(i, t, e = {}) {
1148
+ async function Gn(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 Xn(i, t, e = {}) {
1153
1153
  throw new Error(`Failed to load font: ${i}`);
1154
1154
  }
1155
1155
  }
1156
- async function jn(i, t = "image") {
1156
+ async function Zn(i, t = "image") {
1157
1157
  switch (t) {
1158
1158
  case "image":
1159
1159
  return j(i);
1160
1160
  case "script":
1161
- return qt(i);
1161
+ return Ft(i);
1162
1162
  case "stylesheet":
1163
1163
  case "style":
1164
- return Bt(i);
1164
+ return Nt(i);
1165
1165
  default:
1166
1166
  throw new Error(`Unsupported preload type: ${t}`);
1167
1167
  }
1168
1168
  }
1169
- function Jn(i) {
1170
- return $.has(i);
1169
+ function Qn(i) {
1170
+ return q.has(i);
1171
1171
  }
1172
- function Gn() {
1173
- $.clear();
1172
+ function tr() {
1173
+ q.clear();
1174
1174
  }
1175
- function Zn(i) {
1176
- $.delete(i);
1175
+ function er(i) {
1176
+ q.delete(i);
1177
1177
  }
1178
- const Qn = { loadImage: j, loadImages: Yn, loadScript: qt, loadStylesheet: Bt, loadFont: Xn, preload: jn, isLoaded: Jn, clearCache: Gn, clearCacheByUrl: Zn }, ka = {
1179
- string: Ue,
1180
- array: Ps,
1181
- object: ei,
1182
- number: Di,
1183
- date: rn,
1184
- debounce: an,
1185
- throttle: on,
1186
- validator: $t,
1187
- crypto: Un,
1188
- preload: Qn
1178
+ const sr = { loadImage: j, loadImages: Jn, loadScript: Ft, loadStylesheet: Nt, loadFont: Gn, preload: Zn, isLoaded: Qn, clearCache: tr, clearCacheByUrl: er }, Da = {
1179
+ string: je,
1180
+ array: Bs,
1181
+ object: ni,
1182
+ number: Ii,
1183
+ date: ln,
1184
+ debounce: cn,
1185
+ throttle: hn,
1186
+ validator: Bt,
1187
+ crypto: jn,
1188
+ preload: sr
1189
1189
  };
1190
- function tr(i) {
1190
+ function ir(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 tr(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 ht {
1200
+ class ut {
1201
1201
  constructor() {
1202
1202
  this.children = {}, this.keys = [];
1203
1203
  }
1204
1204
  }
1205
1205
  class et {
1206
1206
  constructor() {
1207
- this.root = new ht();
1207
+ this.root = new ut();
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 ht()), e = e.children[n], r === s.length - 1 && e.keys.push(t);
1213
+ e.children[n] || (e.children[n] = new ut()), e = e.children[n], r === s.length - 1 && e.keys.push(t);
1214
1214
  });
1215
1215
  }
1216
1216
  getSubKeys(t) {
@@ -1242,7 +1242,7 @@ const g = {
1242
1242
  path: Symbol("reactive_path"),
1243
1243
  isReactive: Symbol("reactive_is_reactive")
1244
1244
  };
1245
- class er {
1245
+ class nr {
1246
1246
  constructor() {
1247
1247
  this.rawData = {}, this.data = null, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new et(), this.updateQueue = /* @__PURE__ */ new Map(), this.isProcessing = !1, this.pendingComputed = /* @__PURE__ */ new Set(), this.persistedKeys = /* @__PURE__ */ new Map(), this.snapshots = [], this.snapshotLimit = 10, this._proxyCache = /* @__PURE__ */ new WeakMap(), this.createReactiveData();
1248
1248
  }
@@ -1280,8 +1280,8 @@ class er {
1280
1280
  set: (r, a, o, l) => {
1281
1281
  if (a === g.parent || a === g.path || a === g.isReactive || a === "__parent__" || a === "__path__" || a === "__isReactive__")
1282
1282
  return !0;
1283
- const c = Reflect.get(r, a, l), d = Reflect.set(r, a, o, l), h = `${r[g.path]}${r[g.path] ? "." : ""}${a}`;
1284
- return this.notify(h, o, c), this.queueUpdate(h, o), d;
1283
+ const c = Reflect.get(r, a, l), h = Reflect.set(r, a, o, l), d = `${r[g.path]}${r[g.path] ? "." : ""}${a}`;
1284
+ return this.notify(d, o, c), this.queueUpdate(d, o), h;
1285
1285
  },
1286
1286
  deleteProperty: (r, a) => {
1287
1287
  if (a === g.parent || a === g.path || a === g.isReactive)
@@ -1382,7 +1382,7 @@ class er {
1382
1382
  t.textContent !== String(e ?? "") && (t.textContent = e ?? "");
1383
1383
  break;
1384
1384
  case "html":
1385
- const c = tr(e);
1385
+ const c = ir(e);
1386
1386
  t.innerHTML !== c && (t.innerHTML = c);
1387
1387
  break;
1388
1388
  case "value":
@@ -1395,8 +1395,8 @@ class er {
1395
1395
  t.disabled !== !!e && (t.disabled = !!e);
1396
1396
  break;
1397
1397
  case "hidden":
1398
- const d = e ? "none" : "";
1399
- t.style.display !== d && (t.style.display = d);
1398
+ const h = e ? "none" : "";
1399
+ t.style.display !== h && (t.style.display = h);
1400
1400
  break;
1401
1401
  case "class":
1402
1402
  l && (e ? t.classList.add(l) : t.classList.remove(l));
@@ -1459,18 +1459,18 @@ class er {
1459
1459
  encryptionKey: o
1460
1460
  });
1461
1461
  const c = this.get(t);
1462
- c !== void 0 && this._persistSave(t, c, l, { version: r, encrypt: a, encryptionKey: o }), this.observe(t, (d) => {
1463
- const h = this.persistedKeys.get(t);
1464
- h && (h.debounce > 0 ? (h.timeout && clearTimeout(h.timeout), h.timeout = setTimeout(() => {
1465
- this._persistSave(t, d, h.storage, {
1466
- version: h.version,
1467
- encrypt: h.encrypt,
1468
- encryptionKey: h.encryptionKey
1462
+ c !== void 0 && this._persistSave(t, c, l, { version: r, encrypt: a, encryptionKey: o }), this.observe(t, (h) => {
1463
+ const d = this.persistedKeys.get(t);
1464
+ d && (d.debounce > 0 ? (d.timeout && clearTimeout(d.timeout), d.timeout = setTimeout(() => {
1465
+ this._persistSave(t, h, d.storage, {
1466
+ version: d.version,
1467
+ encrypt: d.encrypt,
1468
+ encryptionKey: d.encryptionKey
1469
1469
  });
1470
- }, h.debounce)) : this._persistSave(t, d, h.storage, {
1471
- version: h.version,
1472
- encrypt: h.encrypt,
1473
- encryptionKey: h.encryptionKey
1470
+ }, d.debounce)) : this._persistSave(t, h, d.storage, {
1471
+ version: d.version,
1472
+ encrypt: d.encrypt,
1473
+ encryptionKey: d.encryptionKey
1474
1474
  }));
1475
1475
  });
1476
1476
  }
@@ -1636,8 +1636,8 @@ class er {
1636
1636
  set: (r, a, o, l) => {
1637
1637
  if (a === g.parent || a === g.path || a === g.isReactive || a === "__parent__" || a === "__path__" || a === "__isReactive__")
1638
1638
  return !0;
1639
- const c = Reflect.get(r, a, l), d = Reflect.set(r, a, o, l), h = `${r[g.path]}${r[g.path] ? "." : ""}${a}`;
1640
- return this.notify(h, o, c), this.queueUpdate(h, o), d;
1639
+ const c = Reflect.get(r, a, l), h = Reflect.set(r, a, o, l), d = `${r[g.path]}${r[g.path] ? "." : ""}${a}`;
1640
+ return this.notify(d, o, c), this.queueUpdate(d, o), h;
1641
1641
  },
1642
1642
  deleteProperty: (r, a) => {
1643
1643
  if (a === g.parent || a === g.path || a === g.isReactive)
@@ -1709,11 +1709,11 @@ class er {
1709
1709
  }), this.persistedKeys.clear(), this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new et(), this.updateQueue.clear(), this.snapshots = [];
1710
1710
  }
1711
1711
  }
1712
- class dt {
1712
+ class pt {
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 = {}, q ? (q.set(this._stateKey, s), this.state = q.data?.[this._stateKey] || q.createReactive(s, this._stateKey), q.observe(this._stateKey, (n) => {
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) => {
1717
1717
  this.notify(n);
1718
1718
  })) : this.state = s, this._bindGetters(), this._bindActions();
1719
1719
  }
@@ -1769,7 +1769,7 @@ class dt {
1769
1769
  } catch (s) {
1770
1770
  console.error(`Observer error for store ${this.name}:`, s);
1771
1771
  }
1772
- }), q && q.set(this.name, t);
1772
+ }), F && F.set(this.name, t);
1773
1773
  }
1774
1774
  toJSON() {
1775
1775
  return {
@@ -1779,25 +1779,25 @@ class dt {
1779
1779
  };
1780
1780
  }
1781
1781
  }
1782
- class sr {
1782
+ class rr {
1783
1783
  constructor() {
1784
1784
  this.stores = /* @__PURE__ */ new Map();
1785
1785
  }
1786
1786
  createStore(t, e) {
1787
- const s = new dt(t, e);
1787
+ const s = new pt(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 dt && this.stores.set(t.name, t);
1794
+ t instanceof pt && this.stores.set(t.name, t);
1795
1795
  }
1796
1796
  dispose() {
1797
1797
  this.stores.clear();
1798
1798
  }
1799
1799
  }
1800
- class ir {
1800
+ class ar {
1801
1801
  constructor() {
1802
1802
  this.events = {}, this.delegatedEvents = {}, this.eventListeners = {};
1803
1803
  }
@@ -1854,7 +1854,7 @@ class ir {
1854
1854
  }), this.events = {}, this.delegatedEvents = {}, this.eventListeners = {};
1855
1855
  }
1856
1856
  }
1857
- function T(i = null) {
1857
+ function I(i = null) {
1858
1858
  const t = {
1859
1859
  _value: i,
1860
1860
  _subscribers: /* @__PURE__ */ new Set()
@@ -1874,14 +1874,14 @@ function T(i = null) {
1874
1874
  }
1875
1875
  }), t;
1876
1876
  }
1877
- const q = new er(), wa = new ir(), Ft = new sr();
1878
- function Ca(i, t) {
1879
- return Ft.createStore(i, t);
1877
+ const F = new nr(), Ha = new ar(), Ot = new rr();
1878
+ function Ma(i, t) {
1879
+ return Ot.createStore(i, t);
1880
1880
  }
1881
- function Sa(i) {
1882
- return Ft.getStore(i);
1881
+ function Ia(i) {
1882
+ return Ot.getStore(i);
1883
1883
  }
1884
- const F = {
1884
+ const T = {
1885
1885
  paths: {
1886
1886
  icons: "/icons/",
1887
1887
  base: "/"
@@ -1896,7 +1896,39 @@ const F = {
1896
1896
  },
1897
1897
  http: {
1898
1898
  baseURL: "",
1899
- timeout: 1e4
1899
+ timeout: 1e4,
1900
+ headers: {},
1901
+ withCredentials: !1
1902
+ },
1903
+ ui: {
1904
+ defaultSize: "md",
1905
+ defaultVariant: "default"
1906
+ },
1907
+ performance: {
1908
+ lazyLoad: !0,
1909
+ debounceDelay: 300,
1910
+ throttleDelay: 100,
1911
+ animationEnabled: !0
1912
+ },
1913
+ security: {
1914
+ xssProtection: !0,
1915
+ sanitizeHtml: {
1916
+ enabled: !0,
1917
+ allowedTags: ["b", "i", "u", "em", "strong", "a", "br", "p", "span", "div", "img"],
1918
+ allowedAttributes: {
1919
+ a: ["href", "target", "rel"],
1920
+ img: ["src", "alt", "width", "height"],
1921
+ span: ["class", "style"],
1922
+ div: ["class", "style"]
1923
+ }
1924
+ }
1925
+ },
1926
+ dev: {
1927
+ debug: !1,
1928
+ logLevel: "warn"
1929
+ },
1930
+ extend: {
1931
+ themeVariables: {}
1900
1932
  },
1901
1933
  components: {
1902
1934
  autoInit: !0,
@@ -1910,33 +1942,51 @@ const F = {
1910
1942
  global: !0
1911
1943
  }
1912
1944
  };
1913
- function La(i) {
1914
- Ot(F, i);
1945
+ function Ta(i) {
1946
+ Kt(T, i);
1915
1947
  }
1916
1948
  function lt(i) {
1917
- return i ? ar(F, i) : F;
1949
+ return i ? hr(T, i) : T;
1950
+ }
1951
+ function Rt() {
1952
+ return T.paths.base + T.paths.icons.replace(/^\//, "");
1953
+ }
1954
+ function Aa() {
1955
+ return T.paths.base;
1956
+ }
1957
+ function or() {
1958
+ return T.theme.default;
1918
1959
  }
1919
- function Nt() {
1920
- return F.paths.base + F.paths.icons.replace(/^\//, "");
1960
+ function lr() {
1961
+ return T.theme.brand;
1921
1962
  }
1922
- function Da() {
1923
- return F.paths.base;
1963
+ function za() {
1964
+ return T.http;
1924
1965
  }
1925
- function nr() {
1926
- return F.theme.default;
1966
+ function cr() {
1967
+ return T.ui;
1927
1968
  }
1928
- function rr() {
1929
- return F.theme.brand;
1969
+ function Vt() {
1970
+ return T.security;
1930
1971
  }
1931
- function Ot(i, t) {
1972
+ function Pa() {
1973
+ return T.dev;
1974
+ }
1975
+ function $a() {
1976
+ return T.performance;
1977
+ }
1978
+ function qa() {
1979
+ return T.extend;
1980
+ }
1981
+ function Kt(i, t) {
1932
1982
  for (const e in t)
1933
- t[e] instanceof Object && e in i && i[e] instanceof Object ? Ot(i[e], t[e]) : i[e] = t[e];
1983
+ t[e] instanceof Object && e in i && i[e] instanceof Object ? Kt(i[e], t[e]) : i[e] = t[e];
1934
1984
  return i;
1935
1985
  }
1936
- function ar(i, t) {
1986
+ function hr(i, t) {
1937
1987
  return t.split(".").reduce((e, s) => (e && e[s]) !== void 0 ? e[s] : void 0, i);
1938
1988
  }
1939
- const Rt = "kupola-theme", Vt = "kupola-brand", Y = [
1989
+ const Wt = "kupola-theme", Ut = "kupola-brand", Y = [
1940
1990
  { id: "green", name: "翠绿", color: "#32F08C" },
1941
1991
  { id: "xionghuang", name: "雄黄", color: "#FF9900" },
1942
1992
  { id: "jianghuang", name: "姜黄", color: "#E2C027" },
@@ -1950,11 +2000,11 @@ const Rt = "kupola-theme", Vt = "kupola-brand", Y = [
1950
2000
  { id: "roulan", name: "柔蓝", color: "#106898" }
1951
2001
  ];
1952
2002
  function R() {
1953
- return localStorage.getItem(Rt) || nr();
2003
+ return localStorage.getItem(Wt) || or();
1954
2004
  }
1955
2005
  function it(i) {
1956
2006
  if (i !== "dark" && i !== "light") return;
1957
- document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Rt, i);
2007
+ document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Wt, i);
1958
2008
  const t = document.querySelector("[data-theme-toggle]");
1959
2009
  if (t) {
1960
2010
  t.setAttribute("data-current-theme", i);
@@ -1966,12 +2016,12 @@ function it(i) {
1966
2016
  }
1967
2017
  }
1968
2018
  function X() {
1969
- return localStorage.getItem(Vt) || rr();
2019
+ return localStorage.getItem(Ut) || lr();
1970
2020
  }
1971
2021
  function nt(i) {
1972
2022
  const t = Y.find((n) => n.id === i);
1973
2023
  if (!t) return;
1974
- document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Vt, i);
2024
+ document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Ut, i);
1975
2025
  const e = document.querySelector("[data-brand-toggle]");
1976
2026
  if (e) {
1977
2027
  e.setAttribute("data-current-brand", i);
@@ -1984,26 +2034,26 @@ function nt(i) {
1984
2034
  n.getAttribute("data-brand-btn") === i ? n.classList.add("is-active") : n.classList.remove("is-active");
1985
2035
  });
1986
2036
  }
1987
- function ut(i) {
2037
+ function ft(i) {
1988
2038
  const t = i.querySelector(".theme-icon");
1989
2039
  if (t) {
1990
- const e = R(), s = Nt();
2040
+ const e = R(), s = Rt();
1991
2041
  t.src = e === "dark" ? s + "sun.svg" : s + "moon.svg";
1992
2042
  }
1993
2043
  }
1994
- function or() {
2044
+ function dr() {
1995
2045
  const i = R();
1996
2046
  it(i);
1997
2047
  const t = X();
1998
2048
  nt(t);
1999
2049
  const e = document.querySelector("[data-theme-toggle]");
2000
2050
  if (e) {
2001
- ut(e);
2051
+ ft(e);
2002
2052
  const o = e.onclick;
2003
2053
  e.onclick = function(l) {
2004
2054
  l.preventDefault();
2005
- const d = R() === "dark" ? "light" : "dark";
2006
- it(d), ut(e), typeof o == "function" && o.call(this, l);
2055
+ const h = R() === "dark" ? "light" : "dark";
2056
+ it(h), ft(e), typeof o == "function" && o.call(this, l);
2007
2057
  };
2008
2058
  }
2009
2059
  let s = document.getElementById("brand-picker");
@@ -2032,19 +2082,19 @@ function or() {
2032
2082
  });
2033
2083
  });
2034
2084
  }
2035
- function Ha() {
2085
+ function Ba() {
2036
2086
  const i = document.createElement("button");
2037
2087
  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";
2038
2088
  const t = document.createElement("img");
2039
2089
  t.className = "theme-icon";
2040
- const e = Nt();
2090
+ const e = Rt();
2041
2091
  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) {
2042
2092
  s.preventDefault();
2043
2093
  const r = R() === "dark" ? "light" : "dark";
2044
2094
  it(r);
2045
2095
  }, i;
2046
2096
  }
2047
- function Ma() {
2097
+ function Fa() {
2048
2098
  const i = document.createElement("div");
2049
2099
  i.id = "brand-picker-auto", i.style.position = "fixed", i.style.top = "56px", i.style.right = "16px", i.style.zIndex = "9998", i.style.display = "none", i.style.padding = "12px", i.style.width = "200px", i.style.gridTemplateColumns = "repeat(3, 1fr)", i.style.gap = "6px", i.style.backgroundColor = "var(--bg-base-secondary)", i.style.border = "1px solid var(--border-neutral-l1)", i.style.borderRadius = "8px", i.style.boxShadow = "0 4px 20px rgba(0, 0, 0, 0.2)", i.style.overflow = "hidden", Y.forEach((a) => {
2050
2100
  const o = document.createElement("button");
@@ -2075,7 +2125,36 @@ function Ma() {
2075
2125
  });
2076
2126
  }), { toggleBtn: t, container: i };
2077
2127
  }
2078
- class lr {
2128
+ function Na(i, t = {}) {
2129
+ const s = Vt()?.sanitizeHtml || {};
2130
+ if (!s.enabled && !t.force)
2131
+ return i;
2132
+ const n = t.allowedTags || s.allowedTags || [], r = t.allowedAttributes || s.allowedAttributes || {};
2133
+ if (typeof i != "string")
2134
+ return i;
2135
+ const o = new DOMParser().parseFromString(i, "text/html");
2136
+ return o.body.querySelectorAll("*").forEach((c) => {
2137
+ const h = c.tagName.toLowerCase();
2138
+ if (!n.includes(h)) {
2139
+ c.remove();
2140
+ return;
2141
+ }
2142
+ Array.from(c.attributes).forEach((d) => {
2143
+ const u = d.name.toLowerCase();
2144
+ (r[h] || []).includes(u) || c.removeAttribute(d.name);
2145
+ });
2146
+ }), o.body.innerHTML;
2147
+ }
2148
+ function Oa(i) {
2149
+ if (typeof i != "string")
2150
+ return i;
2151
+ const t = document.createElement("div");
2152
+ return t.textContent = i, t.innerHTML;
2153
+ }
2154
+ function Ra(i) {
2155
+ return typeof i != "string" ? i : new DOMParser().parseFromString(i, "text/html").body.textContent || "";
2156
+ }
2157
+ class ur {
2079
2158
  constructor() {
2080
2159
  this.initializers = /* @__PURE__ */ new Map(), this.cleanupFunctions = /* @__PURE__ */ new Map(), this.processedElements = /* @__PURE__ */ new WeakSet(), this._dataAttrs = ["data-component"], this._cssClasses = [], this._cachedSelector = null;
2081
2160
  }
@@ -2182,7 +2261,7 @@ class lr {
2182
2261
  }), await Promise.all(n);
2183
2262
  }
2184
2263
  }
2185
- const E = new lr(), cr = [
2264
+ const E = new ur(), pr = [
2186
2265
  { attr: "data-dropdown", cls: "ds-dropdown" },
2187
2266
  { attr: "data-select", cls: "ds-select" },
2188
2267
  { attr: "data-datepicker", cls: "ds-datepicker" },
@@ -2204,7 +2283,7 @@ const E = new lr(), cr = [
2204
2283
  { cls: "ds-notification" },
2205
2284
  { cls: "ds-message" }
2206
2285
  ];
2207
- for (const i of cr)
2286
+ for (const i of pr)
2208
2287
  i.attr && !E._dataAttrs.includes(i.attr) && E._dataAttrs.push(i.attr), i.cls && !E._cssClasses.includes(i.cls) && E._cssClasses.push(i.cls);
2209
2288
  class J {
2210
2289
  constructor(t) {
@@ -2341,7 +2420,7 @@ class J {
2341
2420
  setup() {
2342
2421
  }
2343
2422
  }
2344
- function pt(i, t) {
2423
+ function mt(i, t) {
2345
2424
  Object.keys(t).forEach((e) => {
2346
2425
  if (e !== "constructor")
2347
2426
  if (typeof t[e] == "function") {
@@ -2353,7 +2432,7 @@ function pt(i, t) {
2353
2432
  i.prototype[e] = t[e];
2354
2433
  });
2355
2434
  }
2356
- class hr {
2435
+ class fr {
2357
2436
  constructor() {
2358
2437
  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();
2359
2438
  }
@@ -2397,7 +2476,7 @@ class hr {
2397
2476
  useMixin(t, ...e) {
2398
2477
  e.forEach((s) => {
2399
2478
  const n = this.mixins.get(s);
2400
- n && pt(t, n);
2479
+ n && mt(t, n);
2401
2480
  });
2402
2481
  }
2403
2482
  async bootstrap(t = document) {
@@ -2438,7 +2517,7 @@ class hr {
2438
2517
  const n = t.getAttribute("data-mixins"), r = s;
2439
2518
  n && n.split(",").forEach((o) => {
2440
2519
  const l = this.mixins.get(o.trim());
2441
- l && pt(r, l);
2520
+ l && mt(r, l);
2442
2521
  });
2443
2522
  const a = new r(t);
2444
2523
  t.__kupolaInstance = a, this.instances.set(t, a), a.mount();
@@ -2484,30 +2563,37 @@ class hr {
2484
2563
  }
2485
2564
  }
2486
2565
  let M = null;
2487
- typeof window < "u" && (M = new hr());
2488
- async function ft() {
2566
+ typeof window < "u" && (M = new fr());
2567
+ function mr() {
2568
+ if (Vt().xssProtection && typeof document < "u") {
2569
+ let t = document.querySelector('meta[http-equiv="X-XSS-Protection"]');
2570
+ t || (t = document.createElement("meta"), t.setAttribute("http-equiv", "X-XSS-Protection"), t.setAttribute("content", "1; mode=block"), document.head.insertBefore(t, document.head.firstChild)), t = document.querySelector('meta[http-equiv="X-Content-Type-Options"]'), t || (t = document.createElement("meta"), t.setAttribute("http-equiv", "X-Content-Type-Options"), t.setAttribute("content", "nosniff"), document.head.insertBefore(t, document.head.firstChild)), t = document.querySelector('meta[http-equiv="X-Frame-Options"]'), t || (t = document.createElement("meta"), t.setAttribute("http-equiv", "X-Frame-Options"), t.setAttribute("content", "SAMEORIGIN"), document.head.insertBefore(t, document.head.firstChild));
2571
+ }
2572
+ }
2573
+ async function gt() {
2489
2574
  if (typeof window < "u") {
2575
+ mr();
2490
2576
  const i = lt();
2491
- q.loadPersisted(), q.bind(), or(), i.components?.autoInit !== !1 && (await E.initializeAll(), M && await M.bootstrap());
2577
+ F.loadPersisted(), F.bind(), dr(), i.components?.autoInit !== !1 && (await E.initializeAll(), M && await M.bootstrap());
2492
2578
  }
2493
2579
  }
2494
- typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", ft) : typeof window < "u" && setTimeout(ft, 0);
2495
- function Ia(i, t) {
2580
+ typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", gt) : typeof window < "u" && setTimeout(gt, 0);
2581
+ function Va(i, t) {
2496
2582
  M && M.register(i, t);
2497
2583
  }
2498
- function Ta(i, t) {
2584
+ function Ka(i, t) {
2499
2585
  M && M.registerLazy(i, t);
2500
2586
  }
2501
- function Aa(i) {
2587
+ function Wa(i) {
2502
2588
  return M ? M.bootstrap(i) : Promise.resolve();
2503
2589
  }
2504
- function za(i, t) {
2590
+ function Ua(i, t) {
2505
2591
  M && M.defineMixin(i, t);
2506
2592
  }
2507
- function Pa(i, ...t) {
2593
+ function Ya(i, ...t) {
2508
2594
  M && M.useMixin(i, ...t);
2509
2595
  }
2510
- function $a(i, t) {
2596
+ function Xa(i, t) {
2511
2597
  if (!t || typeof t != "object")
2512
2598
  throw new Error(`defineComponent("${i}"): options must be an object`);
2513
2599
  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, {
@@ -2519,7 +2605,7 @@ function $a(i, t) {
2519
2605
  cssClass: t.cssClass
2520
2606
  });
2521
2607
  }
2522
- class Kt {
2608
+ class Yt {
2523
2609
  constructor(t = {}) {
2524
2610
  const e = lt();
2525
2611
  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();
@@ -2617,37 +2703,37 @@ class Kt {
2617
2703
  return new Intl.RelativeTimeFormat(n, s).format(t, e);
2618
2704
  }
2619
2705
  }
2620
- const O = new Kt();
2621
- function qa(i) {
2622
- return new Kt(i);
2706
+ const O = new Yt();
2707
+ function ja(i) {
2708
+ return new Yt(i);
2623
2709
  }
2624
- function Ba(i, t = {}) {
2710
+ function Ja(i, t = {}) {
2625
2711
  return O.t(i, t);
2626
2712
  }
2627
- function Fa(i, t, e = {}) {
2713
+ function Ga(i, t, e = {}) {
2628
2714
  return O.n(i, t, e);
2629
2715
  }
2630
- function Na(i) {
2716
+ function Za(i) {
2631
2717
  return O.setLocale(i);
2632
2718
  }
2633
- function Oa() {
2719
+ function Qa() {
2634
2720
  return O.getLocale();
2635
2721
  }
2636
- function Ra(i, t = {}) {
2722
+ function to(i, t = {}) {
2637
2723
  return O.formatDate(i, t);
2638
2724
  }
2639
- function Va(i, t = {}) {
2725
+ function eo(i, t = {}) {
2640
2726
  return O.formatNumber(i, t);
2641
2727
  }
2642
- function Ka(i, t, e = {}) {
2728
+ function so(i, t, e = {}) {
2643
2729
  return O.formatCurrency(i, t, e);
2644
2730
  }
2645
- class dr {
2731
+ class gr {
2646
2732
  constructor() {
2647
2733
  this._listeners = /* @__PURE__ */ new Map(), this._scopeListeners = /* @__PURE__ */ new Map();
2648
2734
  }
2649
2735
  on(t, e, s, n = {}) {
2650
- const { scope: r = null, once: a = !1, passive: o = !1, capture: l = !1 } = n, c = this._generateId(), d = {
2736
+ const { scope: r = null, once: a = !1, passive: o = !1, capture: l = !1 } = n, c = this._generateId(), h = {
2651
2737
  id: c,
2652
2738
  target: t,
2653
2739
  eventName: e,
@@ -2656,11 +2742,11 @@ class dr {
2656
2742
  once: a,
2657
2743
  wrappedHandler: null
2658
2744
  };
2659
- d.wrappedHandler = (u) => {
2745
+ h.wrappedHandler = (u) => {
2660
2746
  a && this.offById(c), s.call(t, u);
2661
2747
  };
2662
- const h = this._getEventKey(t, e);
2663
- return this._listeners.has(h) || this._listeners.set(h, []), this._listeners.get(h).push(d), r && (this._scopeListeners.has(r) || this._scopeListeners.set(r, []), this._scopeListeners.get(r).push(c)), t.addEventListener(e, d.wrappedHandler, {
2748
+ const d = this._getEventKey(t, e);
2749
+ return this._listeners.has(d) || this._listeners.set(d, []), this._listeners.get(d).push(h), r && (this._scopeListeners.has(r) || this._scopeListeners.set(r, []), this._scopeListeners.get(r).push(c)), t.addEventListener(e, h.wrappedHandler, {
2664
2750
  passive: o,
2665
2751
  capture: l
2666
2752
  }), {
@@ -2772,32 +2858,32 @@ class dr {
2772
2858
  this._listeners.clear(), this._scopeListeners.clear();
2773
2859
  }
2774
2860
  }
2775
- const H = new dr();
2776
- function Wa(i, t, e, s) {
2861
+ const H = new gr();
2862
+ function io(i, t, e, s) {
2777
2863
  return H.on(i, t, e, s);
2778
2864
  }
2779
- function Ua(i, t, e, s) {
2865
+ function no(i, t, e, s) {
2780
2866
  return H.once(i, t, e, s);
2781
2867
  }
2782
- function Ya(i, t, e) {
2868
+ function ro(i, t, e) {
2783
2869
  H.off(i, t, e);
2784
2870
  }
2785
- function Xa(i, t, e) {
2871
+ function ao(i, t, e) {
2786
2872
  return H.emit(i, t, e);
2787
2873
  }
2788
- function ja(i, t) {
2874
+ function oo(i, t) {
2789
2875
  return H.emitGlobal(i, t);
2790
2876
  }
2791
- function Ja(i) {
2877
+ function lo(i) {
2792
2878
  H.offByScope(i);
2793
2879
  }
2794
- function Ga(i, t) {
2880
+ function co(i, t) {
2795
2881
  H.offAll(i, t);
2796
2882
  }
2797
- function Za(i, t) {
2883
+ function ho(i, t) {
2798
2884
  return H.getListenerCount(i, t);
2799
2885
  }
2800
- class ur {
2886
+ class _r {
2801
2887
  constructor(t, e = {}) {
2802
2888
  this.element = t, this.trigger = t.querySelector(".ds-dropdown__trigger"), this.menu = t.querySelector(".ds-dropdown__menu"), this.triggerText = this.trigger ? this.trigger.querySelector("span") : null, this.scope = `dropdown-${Math.random().toString(36).substr(2, 9)}`, this.triggerMode = e.trigger || t.getAttribute("data-dropdown-trigger") || "click", this.hoverDelay = e.hoverDelay || parseInt(t.getAttribute("data-dropdown-hover-delay")) || 150, this.disabled = e.disabled || t.hasAttribute("data-dropdown-disabled"), this.keyboardNav = e.keyboardNav !== !1, this.autoPosition = e.autoPosition !== !1, this.onSelect = e.onSelect || null, this.onShow = e.onShow || null, this.onHide = e.onHide || null, this.isOpen = !1, this.focusIndex = -1, this._hoverTimer = null, this._hoverLeaveTimer = null, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._itemClickHandler = null, this._keydownHandler = null, this._mouseenterHandler = null, this._mouseleaveHandler = null, this._triggerMouseenterHandler = null, this._triggerMouseleaveHandler = null, this._triggerKeydownHandler = null;
2803
2889
  }
@@ -2899,25 +2985,25 @@ class ur {
2899
2985
  }), this._mouseenterHandler && this.menu.removeEventListener("mouseenter", this._mouseenterHandler), this._mouseleaveHandler && this.menu.removeEventListener("mouseleave", this._mouseleaveHandler)), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._itemClickHandler = null, this._keydownHandler = null, this._mouseenterHandler = null, this._mouseleaveHandler = null, this._triggerMouseenterHandler = null, this._triggerMouseleaveHandler = null, this._triggerKeydownHandler = null, this.element.__kupolaInitialized = !1);
2900
2986
  }
2901
2987
  }
2902
- function Wt(i, t) {
2903
- const e = new ur(i, t);
2988
+ function Xt(i, t) {
2989
+ const e = new _r(i, t);
2904
2990
  e.init(), i._kupolaDropdown = e;
2905
2991
  }
2906
- function Qa(i = document) {
2992
+ function uo(i = document) {
2907
2993
  i.querySelectorAll(".ds-dropdown").forEach((t) => {
2908
- Wt(t);
2994
+ Xt(t);
2909
2995
  });
2910
2996
  }
2911
- function Ut(i) {
2997
+ function jt(i) {
2912
2998
  i._kupolaDropdown && (i._kupolaDropdown.destroy(), i._kupolaDropdown = null);
2913
2999
  }
2914
- function to() {
3000
+ function po() {
2915
3001
  document.querySelectorAll(".ds-dropdown").forEach((i) => {
2916
- Ut(i);
3002
+ jt(i);
2917
3003
  });
2918
3004
  }
2919
- E.register("dropdown", Wt, Ut);
2920
- class pr {
3005
+ E.register("dropdown", Xt, jt);
3006
+ class yr {
2921
3007
  constructor(t, e = {}) {
2922
3008
  this.element = t, this.trigger = t.querySelector(".ds-select__trigger"), this.valueEl = t.querySelector(".ds-select__value") || t.querySelector(".ds-select__trigger span"), this.optionsEl = t.querySelector(".ds-select__options") || t.querySelector(".ds-select__menu"), this.nativeSelect = t.querySelector("select"), this.icon = t.querySelector(".ds-select__icon"), this.scope = `select-${Math.random().toString(36).substr(2, 9)}`, this.multiple = e.multiple || t.hasAttribute("data-select-multiple"), this.searchable = e.searchable || t.hasAttribute("data-select-search"), this.clearable = e.clearable || t.hasAttribute("data-select-clear"), this.placeholder = e.placeholder || t.getAttribute("data-select-placeholder") || "", this.disabled = e.disabled || t.hasAttribute("data-select-disabled"), this.maxSelection = e.maxSelection || parseInt(t.getAttribute("data-select-max")) || 1 / 0, this.remoteMethod = e.remoteMethod || null, this.onChange = e.onChange || null, this.isOpen = !1, this.selectedValues = /* @__PURE__ */ new Set(), this.allOptions = [], this.filteredOptions = [], this.focusIndex = -1, this.searchInput = null, this.clearBtn = null, this.tagsWrap = null, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._optionClickHandler = null, this._keydownHandler = null;
2923
3009
  }
@@ -3130,20 +3216,20 @@ class pr {
3130
3216
  }), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this.searchInput && this.searchInput.remove(), this.clearBtn && this.clearBtn.remove(), this.tagsWrap && this.tagsWrap.remove(), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._optionClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3131
3217
  }
3132
3218
  }
3133
- function Yt(i, t) {
3134
- const e = new pr(i, t);
3219
+ function Jt(i, t) {
3220
+ const e = new yr(i, t);
3135
3221
  e.init(), i._kupolaSelect = e;
3136
3222
  }
3137
- function eo(i = document) {
3223
+ function fo(i = document) {
3138
3224
  i.querySelectorAll(".ds-select").forEach((t) => {
3139
- Yt(t);
3225
+ Jt(t);
3140
3226
  });
3141
3227
  }
3142
- function fr(i) {
3228
+ function vr(i) {
3143
3229
  i._kupolaSelect && (i._kupolaSelect.destroy(), i._kupolaSelect = null);
3144
3230
  }
3145
- E.register("select", Yt, fr);
3146
- class mr {
3231
+ E.register("select", Jt, vr);
3232
+ class br {
3147
3233
  constructor(t, e = {}) {
3148
3234
  this.element = t, this.input = t.querySelector("input"), this.endInput = t.querySelector(".ds-datepicker__end-input"), this.icon = t.querySelector(".ds-datepicker__icon"), this.calendarEl = t.querySelector(".ds-datepicker__calendar"), this.scope = `datepicker-${Math.random().toString(36).substr(2, 9)}`, this.format = e.format || t.getAttribute("data-datepicker-format") || "YYYY-MM-DD", this.range = e.range || t.hasAttribute("data-datepicker-range"), this.minDate = e.minDate || t.getAttribute("data-datepicker-min") || null, this.maxDate = e.maxDate || t.getAttribute("data-datepicker-max") || null, this.disabledDate = e.disabledDate || null, this.weekStart = e.weekStart || parseInt(t.getAttribute("data-datepicker-week-start")) || 0, this.placeholder = e.placeholder || t.getAttribute("data-datepicker-placeholder") || "", this.showToday = e.showToday !== !1, this.showWeekNumber = e.showWeekNumber || t.hasAttribute("data-datepicker-week-number"), this.onChange = e.onChange || null, this.months = e.months || ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], this.weekDays = e.weekDays || ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], this.todayText = e.todayText || "Today", this.clearText = e.clearText || "Clear", this.currentDate = /* @__PURE__ */ new Date(), this.viewMode = "days", this.selectedDate = null, this.rangeStart = null, this.rangeEnd = null, this.isSelectingEnd = !1, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._resizeHandler = null, this._resizeListener = null, this._keydownHandler = null;
3149
3235
  }
@@ -3246,20 +3332,20 @@ class mr {
3246
3332
  const m = document.createElement("span");
3247
3333
  m.className = "ds-datepicker__weekday", m.textContent = p, l.appendChild(m);
3248
3334
  }), t.appendChild(l);
3249
- const d = document.createElement("div");
3250
- d.className = "ds-datepicker__days";
3251
- const h = new Date(e, s, 1).getDay(), u = new Date(e, s + 1, 0).getDate(), f = (h - this.weekStart + 7) % 7;
3335
+ const h = document.createElement("div");
3336
+ h.className = "ds-datepicker__days";
3337
+ const d = new Date(e, s, 1).getDay(), u = new Date(e, s + 1, 0).getDate(), f = (d - this.weekStart + 7) % 7;
3252
3338
  for (let p = 0; p < f; p++) {
3253
3339
  const m = document.createElement("span");
3254
- m.className = "ds-datepicker__day ds-datepicker__day--empty", d.appendChild(m);
3340
+ m.className = "ds-datepicker__day ds-datepicker__day--empty", h.appendChild(m);
3255
3341
  }
3256
3342
  for (let p = 1; p <= u; p++) {
3257
3343
  const m = new Date(e, s, p), y = document.createElement("button");
3258
3344
  y.className = "ds-datepicker__day", y.type = "button", y.textContent = p, this._formatDate(m), this._isToday(m) && y.classList.add("is-today"), this.range ? ((this._isSameDay(m, this.rangeStart) || this._isSameDay(m, this.rangeEnd)) && y.classList.add("is-selected"), this._isInRange(m) && y.classList.add("is-in-range")) : this._isSameDay(m, this.selectedDate) && y.classList.add("is-selected"), this._isDateDisabled(m) && (y.classList.add("is-disabled"), y.disabled = !0);
3259
3345
  const _ = () => this._selectDate(m);
3260
- y.addEventListener("click", _), y._dayClickHandler = _, d.appendChild(y);
3346
+ y.addEventListener("click", _), y._dayClickHandler = _, h.appendChild(y);
3261
3347
  }
3262
- if (t.appendChild(d), this.showToday) {
3348
+ if (t.appendChild(h), this.showToday) {
3263
3349
  const p = document.createElement("div");
3264
3350
  p.className = "ds-datepicker__footer";
3265
3351
  const m = document.createElement("button");
@@ -3292,10 +3378,10 @@ class mr {
3292
3378
  const l = document.createElement("div");
3293
3379
  l.className = "ds-datepicker__years-grid";
3294
3380
  for (let c = 0; c < 12; c++) {
3295
- const d = s + c, h = document.createElement("button");
3296
- h.className = "ds-datepicker__year-cell", h.type = "button", h.textContent = d, d === e && h.classList.add("is-selected"), h.addEventListener("click", (u) => {
3297
- u.stopPropagation(), this.currentDate.setFullYear(d), this.viewMode = "months", this._renderCalendar();
3298
- }), l.appendChild(h);
3381
+ const h = s + c, d = document.createElement("button");
3382
+ d.className = "ds-datepicker__year-cell", d.type = "button", d.textContent = h, h === e && d.classList.add("is-selected"), d.addEventListener("click", (u) => {
3383
+ u.stopPropagation(), this.currentDate.setFullYear(h), this.viewMode = "months", this._renderCalendar();
3384
+ }), l.appendChild(d);
3299
3385
  }
3300
3386
  t.appendChild(l);
3301
3387
  }
@@ -3318,10 +3404,10 @@ class mr {
3318
3404
  }), s.appendChild(n), s.appendChild(r), s.appendChild(a), t.appendChild(s);
3319
3405
  const o = document.createElement("div");
3320
3406
  o.className = "ds-datepicker__months-grid", this.months.forEach((l, c) => {
3321
- const d = document.createElement("button");
3322
- d.className = "ds-datepicker__month-cell", d.type = "button", d.textContent = l, c === this.currentDate.getMonth() && d.classList.add("is-selected"), d.addEventListener("click", (h) => {
3323
- h.stopPropagation(), this.currentDate.setMonth(c), this.viewMode = "days", this._renderCalendar();
3324
- }), o.appendChild(d);
3407
+ const h = document.createElement("button");
3408
+ h.className = "ds-datepicker__month-cell", h.type = "button", h.textContent = l, c === this.currentDate.getMonth() && h.classList.add("is-selected"), h.addEventListener("click", (d) => {
3409
+ d.stopPropagation(), this.currentDate.setMonth(c), this.viewMode = "days", this._renderCalendar();
3410
+ }), o.appendChild(h);
3325
3411
  }), t.appendChild(o);
3326
3412
  }
3327
3413
  _selectDate(t) {
@@ -3381,20 +3467,20 @@ class mr {
3381
3467
  }), this._documentClickHandler = null, this._resizeHandler = null, this._documentClickListener = null, this._resizeListener = null, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3382
3468
  }
3383
3469
  }
3384
- function Xt(i, t) {
3385
- const e = new mr(i, t);
3470
+ function Gt(i, t) {
3471
+ const e = new br(i, t);
3386
3472
  e.init(), i._kupolaDatepicker = e;
3387
3473
  }
3388
- function so(i = document) {
3474
+ function mo(i = document) {
3389
3475
  i.querySelectorAll(".ds-datepicker").forEach((t) => {
3390
- Xt(t);
3476
+ Gt(t);
3391
3477
  });
3392
3478
  }
3393
- function gr(i) {
3479
+ function xr(i) {
3394
3480
  i._kupolaDatepicker && (i._kupolaDatepicker.destroy(), i._kupolaDatepicker = null);
3395
3481
  }
3396
- E.register("datepicker", Xt, gr);
3397
- class _r {
3482
+ E.register("datepicker", Gt, xr);
3483
+ class Er {
3398
3484
  constructor(t, e = {}) {
3399
3485
  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;
3400
3486
  }
@@ -3576,20 +3662,20 @@ class _r {
3576
3662
  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);
3577
3663
  }
3578
3664
  }
3579
- function jt(i, t) {
3580
- const e = new _r(i, t);
3665
+ function Zt(i, t) {
3666
+ const e = new Er(i, t);
3581
3667
  e.init(), i._kupolaTimepicker = e;
3582
3668
  }
3583
- function io(i = document) {
3669
+ function go(i = document) {
3584
3670
  i.querySelectorAll(".ds-timepicker").forEach((t) => {
3585
- jt(t);
3671
+ Zt(t);
3586
3672
  });
3587
3673
  }
3588
- function yr(i) {
3674
+ function kr(i) {
3589
3675
  i._kupolaTimepicker && (i._kupolaTimepicker.destroy(), i._kupolaTimepicker = null);
3590
3676
  }
3591
- E.register("timepicker", jt, yr);
3592
- class vr {
3677
+ E.register("timepicker", Zt, kr);
3678
+ class wr {
3593
3679
  constructor(t, e = {}) {
3594
3680
  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)
3595
3681
  throw new Error("Slider: Missing required elements");
@@ -3645,11 +3731,11 @@ class vr {
3645
3731
  if (!this._isDragging) return;
3646
3732
  a.preventDefault();
3647
3733
  const o = a.touches ? a.touches[0].clientX : a.clientX, l = a.touches ? a.touches[0].clientY : a.clientY, c = this.track.getBoundingClientRect();
3648
- let d;
3649
- this.vertical ? d = 1 - (l - c.top) / c.height : d = (o - c.left) / c.width, d = Math.max(0, Math.min(1, d));
3650
- const h = parseFloat(this.input?.min || 0), u = parseFloat(this.input?.max || 100), f = parseFloat(this.input?.step || 1);
3651
- let p = h + d * (u - h);
3652
- if (p = Math.round(p / f) * f, p = Math.max(h, Math.min(u, p)), e === "start" && this.range && this.inputEnd) {
3734
+ let h;
3735
+ this.vertical ? h = 1 - (l - c.top) / c.height : h = (o - c.left) / c.width, h = Math.max(0, Math.min(1, h));
3736
+ const d = parseFloat(this.input?.min || 0), u = parseFloat(this.input?.max || 100), f = parseFloat(this.input?.step || 1);
3737
+ let p = d + h * (u - d);
3738
+ if (p = Math.round(p / f) * f, p = Math.max(d, Math.min(u, p)), e === "start" && this.range && this.inputEnd) {
3653
3739
  const m = parseFloat(this.inputEnd.value);
3654
3740
  p > m && (p = m);
3655
3741
  }
@@ -3657,7 +3743,7 @@ class vr {
3657
3743
  const m = parseFloat(this.input.value);
3658
3744
  p < m && (p = m);
3659
3745
  }
3660
- e === "start" && this.input ? this.input.value = p : e === "end" && this.inputEnd && (this.inputEnd.value = p), this.updateSlider(), this.onInput && this.onInput({ value: this.getValue(), percentage: d });
3746
+ e === "start" && this.input ? this.input.value = p : e === "end" && this.inputEnd && (this.inputEnd.value = p), this.updateSlider(), this.onInput && this.onInput({ value: this.getValue(), percentage: h });
3661
3747
  }, r = () => {
3662
3748
  this._isDragging = !1, this._activeThumb = null, this.element.classList.remove("is-dragging"), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", r), document.removeEventListener("touchmove", n), document.removeEventListener("touchend", r), this.onChange && this.onChange({ value: this.getValue() }), this.element.dispatchEvent(new CustomEvent("kupola:slider-change", {
3663
3749
  detail: { value: this.getValue() },
@@ -3677,8 +3763,8 @@ class vr {
3677
3763
  const a = parseFloat(this.input?.min || 0), o = parseFloat(this.input?.max || 100), l = parseFloat(this.input?.step || 1);
3678
3764
  let c = a + r * (o - a);
3679
3765
  if (c = Math.round(c / l) * l, this.range) {
3680
- const d = parseFloat(this.input?.value || 0), h = parseFloat(this.inputEnd?.value || 0), u = Math.abs(c - d), f = Math.abs(c - h);
3681
- u <= f ? this.input && (this.input.value = Math.min(c, h)) : this.inputEnd && (this.inputEnd.value = Math.max(c, d));
3766
+ const h = parseFloat(this.input?.value || 0), d = parseFloat(this.inputEnd?.value || 0), u = Math.abs(c - h), f = Math.abs(c - d);
3767
+ u <= f ? this.input && (this.input.value = Math.min(c, d)) : this.inputEnd && (this.inputEnd.value = Math.max(c, h));
3682
3768
  } else
3683
3769
  this.input && (this.input.value = c);
3684
3770
  this.updateSlider();
@@ -3737,26 +3823,26 @@ class vr {
3737
3823
  this.disabled = !0, this.element.classList.add("is-disabled");
3738
3824
  }
3739
3825
  }
3740
- function Jt(i, t) {
3826
+ function Qt(i, t) {
3741
3827
  if (!i.__kupolaInitialized)
3742
3828
  try {
3743
- const e = new vr(i, t);
3829
+ const e = new wr(i, t);
3744
3830
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3745
3831
  } catch (e) {
3746
3832
  console.error("[Slider] Error initializing:", e);
3747
3833
  }
3748
3834
  }
3749
- function br(i) {
3835
+ function Cr(i) {
3750
3836
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3751
3837
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3752
3838
  }
3753
- function no() {
3839
+ function _o() {
3754
3840
  document.querySelectorAll(".ds-slider").forEach((i) => {
3755
- Jt(i);
3841
+ Qt(i);
3756
3842
  });
3757
3843
  }
3758
- E.register("slider", Jt, br);
3759
- class xr {
3844
+ E.register("slider", Qt, Cr);
3845
+ class Sr {
3760
3846
  constructor(t, e = {}) {
3761
3847
  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 = () => {
3762
3848
  this.pauseOnHover && this.stopAutoPlay();
@@ -3837,22 +3923,22 @@ class xr {
3837
3923
  }), 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;
3838
3924
  }
3839
3925
  }
3840
- function Gt(i, t) {
3926
+ function te(i, t) {
3841
3927
  if (i.__kupolaInitialized) return;
3842
- const e = new xr(i, t);
3928
+ const e = new Sr(i, t);
3843
3929
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3844
3930
  }
3845
- function ro(i = document) {
3931
+ function yo(i = document) {
3846
3932
  i.querySelectorAll(".ds-carousel").forEach((t) => {
3847
- Gt(t);
3933
+ te(t);
3848
3934
  });
3849
3935
  }
3850
- function Er(i) {
3936
+ function Lr(i) {
3851
3937
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3852
3938
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3853
3939
  }
3854
- E.register("carousel", Gt, Er);
3855
- class kr {
3940
+ E.register("carousel", te, Lr);
3941
+ class Dr {
3856
3942
  constructor(t, e = {}) {
3857
3943
  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();
3858
3944
  }
@@ -3891,14 +3977,14 @@ class kr {
3891
3977
  }
3892
3978
  function rt(i, t) {
3893
3979
  if (i.__kupolaInitialized) return;
3894
- const e = new kr(i, t);
3980
+ const e = new Dr(i, t);
3895
3981
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3896
3982
  }
3897
- function wr(i) {
3983
+ function Hr(i) {
3898
3984
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3899
3985
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3900
3986
  }
3901
- function ao() {
3987
+ function vo() {
3902
3988
  document.querySelectorAll("[data-drawer]").forEach((i) => {
3903
3989
  i.addEventListener("click", () => {
3904
3990
  const t = i.getAttribute("data-drawer"), e = document.getElementById(t);
@@ -3913,8 +3999,8 @@ function ao() {
3913
3999
  t && rt(t);
3914
4000
  });
3915
4001
  }
3916
- E.register("drawer", rt, wr);
3917
- class P {
4002
+ E.register("drawer", rt, Hr);
4003
+ class $ {
3918
4004
  constructor(t, e = {}) {
3919
4005
  this.element = t, this.mask = t.querySelector(".ds-modal-mask"), this.modal = t.querySelector(".ds-modal"), this.closeBtn = t.querySelector(".ds-modal__close"), this.fullscreen = e.fullscreen || t.hasAttribute("data-modal-fullscreen"), this.closableOnMask = e.closableOnMask !== !1, this.escClose = e.escClose !== !1, this.width = e.width || t.getAttribute("data-modal-width") || "", this.center = e.center !== !1, this.onBeforeOpen = e.onBeforeOpen || null, this.onBeforeClose = e.onBeforeClose || null, this.onOpened = e.onOpened || null, this.onClosed = e.onClosed || null, this._isOpen = !1, this._keydownHandler = (s) => {
3920
4006
  this.escClose && s.key === "Escape" && this.isVisible() && this.close();
@@ -3930,12 +4016,12 @@ class P {
3930
4016
  this.mask.classList.add("ds-modal-fade-enter-active");
3931
4017
  })), this.modal && (this.modal.classList.add("ds-modal-zoom-enter"), requestAnimationFrame(() => {
3932
4018
  this.modal.classList.add("ds-modal-zoom-enter-active");
3933
- })), this._isOpen || (P._openCount = (P._openCount || 0) + 1, this._isOpen = !0), document.body.style.overflow = "hidden", this.onOpened && setTimeout(() => this.onOpened(), 300), this.element.dispatchEvent(new CustomEvent("kupola:modal-open", { bubbles: !0 })));
4019
+ })), this._isOpen || ($._openCount = ($._openCount || 0) + 1, this._isOpen = !0), document.body.style.overflow = "hidden", this.onOpened && setTimeout(() => this.onOpened(), 300), this.element.dispatchEvent(new CustomEvent("kupola:modal-open", { bubbles: !0 })));
3934
4020
  }
3935
4021
  close() {
3936
4022
  this.onBeforeClose && this.onBeforeClose() === !1 || (this.mask && (this.mask.classList.remove("ds-modal-fade-enter-active"), this.mask.classList.add("ds-modal-fade-leave-active")), this.modal && (this.modal.classList.remove("ds-modal-zoom-enter-active"), this.modal.classList.add("ds-modal-zoom-leave-active")), setTimeout(() => {
3937
4023
  this.mask && this.mask.classList.remove("is-visible", "ds-modal-fade-enter", "ds-modal-fade-leave-active"), this.modal && this.modal.classList.remove("ds-modal-zoom-enter", "ds-modal-zoom-leave-active");
3938
- }, 300), this._isOpen && (P._openCount = Math.max(0, (P._openCount || 0) - 1), this._isOpen = !1, P._openCount === 0 && (document.body.style.overflow = "")), this.onClosed && setTimeout(() => this.onClosed(), 300), this.element.dispatchEvent(new CustomEvent("kupola:modal-close", { bubbles: !0 })));
4024
+ }, 300), this._isOpen && ($._openCount = Math.max(0, ($._openCount || 0) - 1), this._isOpen = !1, $._openCount === 0 && (document.body.style.overflow = "")), this.onClosed && setTimeout(() => this.onClosed(), 300), this.element.dispatchEvent(new CustomEvent("kupola:modal-close", { bubbles: !0 })));
3939
4025
  }
3940
4026
  toggleFullscreen() {
3941
4027
  this.fullscreen = !this.fullscreen, this.modal && this.modal.classList.toggle("ds-modal--fullscreen", this.fullscreen);
@@ -3944,11 +4030,11 @@ class P {
3944
4030
  return this.mask && this.mask.classList.contains("is-visible");
3945
4031
  }
3946
4032
  destroy() {
3947
- document.removeEventListener("keydown", this._keydownHandler), this.closeBtn && this.closeBtn.removeEventListener("click", this._closeBtnClickHandler), this.mask && this.mask.removeEventListener("click", this._maskClickHandler), this._isOpen && (P._openCount = Math.max(0, (P._openCount || 0) - 1), this._isOpen = !1, P._openCount === 0 && (document.body.style.overflow = ""));
4033
+ document.removeEventListener("keydown", this._keydownHandler), this.closeBtn && this.closeBtn.removeEventListener("click", this._closeBtnClickHandler), this.mask && this.mask.removeEventListener("click", this._maskClickHandler), this._isOpen && ($._openCount = Math.max(0, ($._openCount || 0) - 1), this._isOpen = !1, $._openCount === 0 && (document.body.style.overflow = ""));
3948
4034
  }
3949
4035
  }
3950
- P._openCount = 0;
3951
- function Zt(i = {}) {
4036
+ $._openCount = 0;
4037
+ function ee(i = {}) {
3952
4038
  const {
3953
4039
  title: t = "",
3954
4040
  content: e = "",
@@ -3959,22 +4045,23 @@ function Zt(i = {}) {
3959
4045
  showConfirm: o = !0,
3960
4046
  confirmText: l = "OK",
3961
4047
  cancelText: c = "Cancel",
3962
- confirmClass: d = "ds-btn--brand",
3963
- cancelClass: h = "ds-btn--ghost",
4048
+ confirmClass: h = "ds-btn--brand",
4049
+ cancelClass: d = "ds-btn--ghost",
3964
4050
  closable: u = !0,
3965
4051
  maskClosable: f = !0,
3966
4052
  onConfirm: p,
3967
4053
  onCancel: m,
3968
4054
  onOpen: y,
3969
4055
  onClose: _,
3970
- footer: x = null
3971
- } = i, b = document.createElement("div");
3972
- b.className = "ds-modal-container";
3973
- let v = "";
3974
- x !== null && (typeof x == "string" ? v = `<div class="ds-modal__footer">${x}</div>` : (o || a) && (v = `<div class="ds-modal__footer">
3975
- ${a ? `<button class="ds-btn ${h}" data-modal-cancel>${c}</button>` : ""}
3976
- ${o ? `<button class="ds-btn ${d}" data-modal-confirm>${l}</button>` : ""}
3977
- </div>`)), b.innerHTML = `
4056
+ footer: b = null,
4057
+ size: x = cr().defaultSize
4058
+ } = i, v = x === "sm" ? "ds-btn--sm" : x === "lg" ? "ds-btn--lg" : "", C = document.createElement("div");
4059
+ C.className = "ds-modal-container";
4060
+ let S = "";
4061
+ b !== null && (typeof b == "string" ? S = `<div class="ds-modal__footer">${b}</div>` : (o || a) && (S = `<div class="ds-modal__footer">
4062
+ ${a ? `<button class="ds-btn ${v} ${d}" data-modal-cancel>${c}</button>` : ""}
4063
+ ${o ? `<button class="ds-btn ${v} ${h}" data-modal-confirm>${l}</button>` : ""}
4064
+ </div>`)), C.innerHTML = `
3978
4065
  <div class="ds-modal-mask">
3979
4066
  <div class="ds-modal${r ? " ds-modal--fullscreen" : ""}" style="${r ? "" : "max-width: " + n}">
3980
4067
  <div class="ds-modal__header">
@@ -3986,17 +4073,17 @@ function Zt(i = {}) {
3986
4073
  </button>` : ""}
3987
4074
  </div>
3988
4075
  <div class="ds-modal__body"></div>
3989
- ${v}
4076
+ ${S}
3990
4077
  </div>
3991
4078
  </div>
3992
- `, document.body.appendChild(b);
3993
- const w = new P(b, { fullscreen: r, closableOnMask: f }), S = b.querySelector(".ds-modal__title");
3994
- S && (S.textContent = t);
3995
- const C = b.querySelector(".ds-modal__body");
3996
- C && (s ? C.innerHTML = e : C.textContent = e);
3997
- const D = b.querySelector("[data-modal-confirm]"), I = b.querySelector("[data-modal-cancel]");
3998
- let z = !1;
3999
- const B = async () => {
4079
+ `, document.body.appendChild(C);
4080
+ const w = new $(C, { fullscreen: r, closableOnMask: f }), A = C.querySelector(".ds-modal__title");
4081
+ A && (A.textContent = t);
4082
+ const z = C.querySelector(".ds-modal__body");
4083
+ z && (s ? z.innerHTML = e : z.textContent = e);
4084
+ const D = C.querySelector("[data-modal-confirm]"), B = C.querySelector("[data-modal-cancel]");
4085
+ let ct = !1;
4086
+ const ht = async () => {
4000
4087
  if (p) {
4001
4088
  D.disabled = !0, D.classList.add("is-loading");
4002
4089
  try {
@@ -4009,50 +4096,50 @@ function Zt(i = {}) {
4009
4096
  return;
4010
4097
  }
4011
4098
  }
4012
- z = !0, w.close();
4013
- }, ct = () => {
4099
+ ct = !0, w.close();
4100
+ }, dt = () => {
4014
4101
  m && m(), w.close();
4015
4102
  };
4016
- D && D.addEventListener("click", B), I && I.addEventListener("click", ct);
4017
- const ve = () => {
4103
+ D && D.addEventListener("click", ht), B && B.addEventListener("click", dt);
4104
+ const Ee = () => {
4018
4105
  setTimeout(() => {
4019
- D && D.removeEventListener("click", B), I && I.removeEventListener("click", ct), w.destroy(), b.remove(), _ && _(z);
4106
+ D && D.removeEventListener("click", ht), B && B.removeEventListener("click", dt), w.destroy(), C.remove(), _ && _(ct);
4020
4107
  }, 300);
4021
- }, be = w.close.bind(w);
4108
+ }, ke = w.close.bind(w);
4022
4109
  return w.close = () => {
4023
- be(), ve();
4110
+ ke(), Ee();
4024
4111
  }, w.open(), y && setTimeout(() => y(), 50), w;
4025
4112
  }
4026
- function oo(i) {
4027
- return typeof i == "string" && (i = { content: i }), Zt({
4113
+ function bo(i) {
4114
+ return typeof i == "string" && (i = { content: i }), ee({
4028
4115
  ...i,
4029
4116
  showCancel: !0,
4030
4117
  showConfirm: !0
4031
4118
  });
4032
4119
  }
4033
- function lo(i) {
4034
- return typeof i == "string" && (i = { content: i }), Zt({
4120
+ function xo(i) {
4121
+ return typeof i == "string" && (i = { content: i }), ee({
4035
4122
  ...i,
4036
4123
  showCancel: !1,
4037
4124
  showConfirm: !0
4038
4125
  });
4039
4126
  }
4040
- function Qt(i) {
4127
+ function se(i) {
4041
4128
  if (i.__kupolaInitialized) return;
4042
- const t = new P(i);
4129
+ const t = new $(i);
4043
4130
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4044
4131
  }
4045
- function Cr(i) {
4132
+ function Mr(i) {
4046
4133
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4047
4134
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4048
4135
  }
4049
- function co() {
4136
+ function Eo() {
4050
4137
  document.querySelectorAll(".ds-modal-container").forEach((i) => {
4051
- Qt(i);
4138
+ se(i);
4052
4139
  });
4053
4140
  }
4054
- E.register("modal", Qt, Cr);
4055
- class ho {
4141
+ E.register("modal", se, Mr);
4142
+ class ko {
4056
4143
  static normal(t = {}) {
4057
4144
  return this._create({ type: "normal", ...t });
4058
4145
  }
@@ -4103,7 +4190,7 @@ class ho {
4103
4190
  </div>
4104
4191
  </div>
4105
4192
  `, document.body.appendChild(l), s && (l.querySelector(".ds-dialog__title").textContent = s), l.querySelector(".ds-dialog__content").textContent = n;
4106
- const c = l.querySelector(".ds-modal-mask"), d = l.querySelector("[data-dialog-confirm]"), h = l.querySelector("[data-dialog-cancel]"), u = function(_) {
4193
+ const c = l.querySelector(".ds-modal-mask"), h = l.querySelector("[data-dialog-confirm]"), d = l.querySelector("[data-dialog-cancel]"), u = function(_) {
4107
4194
  _.key === "Escape" && (a && a(), y());
4108
4195
  }, f = function(_) {
4109
4196
  _.target === c && (a && a(), y());
@@ -4112,12 +4199,12 @@ class ho {
4112
4199
  }, m = function() {
4113
4200
  a && a(), y();
4114
4201
  }, y = () => {
4115
- c.classList.remove("is-visible"), document.body.style.overflow = "", document.removeEventListener("keydown", u), c.removeEventListener("click", f), d && d.removeEventListener("click", p), h && h.removeEventListener("click", m), setTimeout(() => l.remove(), 300);
4202
+ c.classList.remove("is-visible"), document.body.style.overflow = "", document.removeEventListener("keydown", u), c.removeEventListener("click", f), h && h.removeEventListener("click", p), d && d.removeEventListener("click", m), setTimeout(() => l.remove(), 300);
4116
4203
  };
4117
- return c.classList.add("is-visible"), document.body.style.overflow = "hidden", d && d.addEventListener("click", p), h && h.addEventListener("click", m), c.addEventListener("click", f), document.addEventListener("keydown", u), { close: y };
4204
+ 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 };
4118
4205
  }
4119
4206
  }
4120
- const uo = {
4207
+ const wo = {
4121
4208
  normal: function(i) {
4122
4209
  this.show({ ...i, type: "normal" });
4123
4210
  },
@@ -4163,9 +4250,9 @@ const uo = {
4163
4250
  }, n);
4164
4251
  }
4165
4252
  };
4166
- function po() {
4253
+ function Co() {
4167
4254
  }
4168
- const fo = {
4255
+ const So = {
4169
4256
  normal: function(i, t = {}) {
4170
4257
  this.show(i, "normal", t);
4171
4258
  },
@@ -4203,12 +4290,12 @@ const fo = {
4203
4290
  }, s);
4204
4291
  }
4205
4292
  };
4206
- function mo() {
4293
+ function Lo() {
4207
4294
  }
4208
- function mt(i) {
4295
+ function _t(i) {
4209
4296
  return i ? i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;") : "";
4210
4297
  }
4211
- class Sr {
4298
+ class Ir {
4212
4299
  constructor(t) {
4213
4300
  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();
4214
4301
  }
@@ -4264,7 +4351,7 @@ class Sr {
4264
4351
  <div class="ds-fileupload__icon" style="width: 24px; height: 24px; border-radius: 4px;">
4265
4352
  ${s}
4266
4353
  </div>
4267
- <span class="ds-fileupload__filename">${this.truncateFilename(mt(t.name))}</span>
4354
+ <span class="ds-fileupload__filename">${this.truncateFilename(_t(t.name))}</span>
4268
4355
  <span class="ds-fileupload__size">${this.formatSize(t.size)}</span>
4269
4356
  <button class="ds-fileupload__remove" type="button" aria-label="Remove file">
4270
4357
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
@@ -4316,7 +4403,7 @@ class Sr {
4316
4403
  e.onload = (s) => {
4317
4404
  const n = document.createElement("div");
4318
4405
  n.className = "ds-fileupload__preview-item", n.innerHTML = `
4319
- <img src="${s.target.result}" alt="${mt(t.name)}">
4406
+ <img src="${s.target.result}" alt="${_t(t.name)}">
4320
4407
  <button class="ds-fileupload__preview-remove" type="button" aria-label="Remove preview">
4321
4408
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4322
4409
  <path d="M18 6L6 18"/>
@@ -4366,22 +4453,22 @@ class Sr {
4366
4453
  }), this._listeners = null, this.files = [], this.dropzone = null, this.input = null, this.list = null, this.progress = null, this.preview = null, this.element = null;
4367
4454
  }
4368
4455
  }
4369
- function te(i) {
4456
+ function ie(i) {
4370
4457
  if (i.__kupolaInitialized) return;
4371
- const t = new Sr(i);
4458
+ const t = new Ir(i);
4372
4459
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4373
4460
  }
4374
- function Lr(i) {
4461
+ function Tr(i) {
4375
4462
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4376
4463
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4377
4464
  }
4378
- function go() {
4465
+ function Do() {
4379
4466
  document.querySelectorAll(".ds-fileupload").forEach((i) => {
4380
- te(i);
4467
+ ie(i);
4381
4468
  });
4382
4469
  }
4383
- E.register("fileupload", te, Lr);
4384
- class Dr {
4470
+ E.register("fileupload", ie, Tr);
4471
+ class Ar {
4385
4472
  constructor(t, e = {}) {
4386
4473
  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();
4387
4474
  }
@@ -4398,8 +4485,8 @@ class Dr {
4398
4485
  const l = () => {
4399
4486
  if (a) return;
4400
4487
  const c = n.classList.contains("is-active");
4401
- this.accordion && !c && this.headers.forEach((d, h) => {
4402
- h !== s && d.item.classList.contains("is-active") && this._collapseItem(d);
4488
+ this.accordion && !c && this.headers.forEach((h, d) => {
4489
+ d !== s && h.item.classList.contains("is-active") && this._collapseItem(h);
4403
4490
  }), c ? this._collapseItem({ item: n, content: r }) : this._expandItem({ item: n, content: r }), this.element.dispatchEvent(new CustomEvent("kupola:collapse-toggle", {
4404
4491
  detail: { index: s, expanded: !c, item: n },
4405
4492
  bubbles: !0
@@ -4463,22 +4550,22 @@ class Dr {
4463
4550
  this.headers[t] && (this.headers[t].isDisabled = !1, this.headers[t].item.classList.remove("is-disabled"));
4464
4551
  }
4465
4552
  }
4466
- function ee(i, t) {
4553
+ function ne(i, t) {
4467
4554
  if (i.__kupolaInitialized) return;
4468
- const e = new Dr(i, t);
4555
+ const e = new Ar(i, t);
4469
4556
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4470
4557
  }
4471
- function Hr(i) {
4558
+ function zr(i) {
4472
4559
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4473
4560
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4474
4561
  }
4475
- function _o() {
4562
+ function Ho() {
4476
4563
  document.querySelectorAll(".ds-collapse").forEach((i) => {
4477
- ee(i);
4564
+ ne(i);
4478
4565
  });
4479
4566
  }
4480
- E.register("collapse", ee, Hr);
4481
- class Mr {
4567
+ E.register("collapse", ne, zr);
4568
+ class Pr {
4482
4569
  constructor(t, e = {}) {
4483
4570
  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);
4484
4571
  }
@@ -4502,9 +4589,9 @@ class Mr {
4502
4589
  }
4503
4590
  _colorStringToHSB(t) {
4504
4591
  const e = t.replace(/^#/, ""), s = parseInt(e.substring(0, 2), 16) / 255, n = parseInt(e.substring(2, 4), 16) / 255, r = parseInt(e.substring(4, 6), 16) / 255, a = e.length === 8 ? parseInt(e.substring(6, 8), 16) / 255 : 1, o = Math.max(s, n, r), l = Math.min(s, n, r);
4505
- let c = 0, d = 0, h = o;
4592
+ let c = 0, h = 0, d = o;
4506
4593
  const u = o - l;
4507
- if (d = o === 0 ? 0 : u / o, o !== l)
4594
+ if (h = o === 0 ? 0 : u / o, o !== l)
4508
4595
  switch (o) {
4509
4596
  case s:
4510
4597
  c = ((n - r) / u + (n < r ? 6 : 0)) / 6;
@@ -4516,17 +4603,17 @@ class Mr {
4516
4603
  c = ((s - n) / u + 4) / 6;
4517
4604
  break;
4518
4605
  }
4519
- this.hue = Math.round(c * 360), this.saturation = Math.round(d * 100), this.brightness = Math.round(h * 100), this.alpha = Math.round(a * 100);
4606
+ this.hue = Math.round(c * 360), this.saturation = Math.round(h * 100), this.brightness = Math.round(d * 100), this.alpha = Math.round(a * 100);
4520
4607
  }
4521
4608
  _HSBToColorString(t, e, s, n = 1) {
4522
4609
  e /= 100, s /= 100, n /= 100;
4523
- const r = (h) => (h + t / 60) % 6, a = (h) => s * (1 - e * Math.max(0, Math.min(r(h), 4 - r(h), 1))), o = Math.round(a(5) * 255), l = Math.round(a(3) * 255), c = Math.round(a(1) * 255);
4610
+ const r = (d) => (d + t / 60) % 6, a = (d) => s * (1 - e * Math.max(0, Math.min(r(d), 4 - r(d), 1))), o = Math.round(a(5) * 255), l = Math.round(a(3) * 255), c = Math.round(a(1) * 255);
4524
4611
  if (this.mode === "rgb")
4525
4612
  return n < 1 ? `rgba(${o}, ${l}, ${c}, ${n.toFixed(2)})` : `rgb(${o}, ${l}, ${c})`;
4526
4613
  if (this.mode === "hsl")
4527
4614
  return n < 1 ? `hsla(${t}, ${Math.round(e * 100)}%, ${Math.round(s * 100)}%, ${n.toFixed(2)})` : `hsl(${t}, ${Math.round(e * 100)}%, ${Math.round(s * 100)}%)`;
4528
- const d = `#${o.toString(16).padStart(2, "0")}${l.toString(16).padStart(2, "0")}${c.toString(16).padStart(2, "0")}`;
4529
- return n < 1 ? d + Math.round(n * 255).toString(16).padStart(2, "0") : d;
4615
+ const h = `#${o.toString(16).padStart(2, "0")}${l.toString(16).padStart(2, "0")}${c.toString(16).padStart(2, "0")}`;
4616
+ return n < 1 ? h + Math.round(n * 255).toString(16).padStart(2, "0") : h;
4530
4617
  }
4531
4618
  _renderPreviousColors() {
4532
4619
  const t = this.panel.querySelector(".ds-color-picker__previous");
@@ -4643,20 +4730,20 @@ class Mr {
4643
4730
  }), 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;
4644
4731
  }
4645
4732
  }
4646
- function se(i, t) {
4647
- const e = new Mr(i, t);
4733
+ function re(i, t) {
4734
+ const e = new Pr(i, t);
4648
4735
  e.init(), i._kupolaColorPicker = e;
4649
4736
  }
4650
- function yo(i = document) {
4737
+ function Mo(i = document) {
4651
4738
  i.querySelectorAll(".ds-color-picker").forEach((t) => {
4652
- se(t);
4739
+ re(t);
4653
4740
  });
4654
4741
  }
4655
- function Ir(i) {
4742
+ function $r(i) {
4656
4743
  i._kupolaColorPicker && (i._kupolaColorPicker.destroy(), i._kupolaColorPicker = null);
4657
4744
  }
4658
- E.register("color-picker", se, Ir);
4659
- class Tr {
4745
+ E.register("color-picker", re, $r);
4746
+ class qr {
4660
4747
  constructor(t, e = {}) {
4661
4748
  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)
4662
4749
  throw new Error("Calendar: Missing required elements");
@@ -4736,22 +4823,22 @@ class Tr {
4736
4823
  for (let o = 1; o <= n; o++) {
4737
4824
  const l = new Date(t, e, o), c = document.createElement("button");
4738
4825
  c.className = "ds-calendar__day", c.textContent = o;
4739
- const d = this._formatDate(l);
4740
- d === a && c.classList.add("is-today"), this._isSameDay(l, this.selectedDate) && c.classList.add("is-selected"), this.isRangeMode && (this._isRangeStart(l) && c.classList.add("is-range-start"), this._isRangeEnd(l) && c.classList.add("is-range-end"), this._isDateInRange(l) && c.classList.add("is-in-range"));
4741
- const h = this._getEventsForDate(l);
4742
- if (h.length > 0) {
4826
+ const h = this._formatDate(l);
4827
+ h === a && c.classList.add("is-today"), this._isSameDay(l, this.selectedDate) && c.classList.add("is-selected"), this.isRangeMode && (this._isRangeStart(l) && c.classList.add("is-range-start"), this._isRangeEnd(l) && c.classList.add("is-range-end"), this._isDateInRange(l) && c.classList.add("is-in-range"));
4828
+ const d = this._getEventsForDate(l);
4829
+ if (d.length > 0) {
4743
4830
  c.classList.add("has-events");
4744
4831
  const f = document.createElement("span");
4745
- f.className = "ds-calendar__day-event", f.style.backgroundColor = h[0].color || "#007bff", c.appendChild(f);
4832
+ f.className = "ds-calendar__day-event", f.style.backgroundColor = d[0].color || "#007bff", c.appendChild(f);
4746
4833
  }
4747
4834
  const u = () => {
4748
4835
  this.element.querySelectorAll(".ds-calendar__day").forEach((f) => f.classList.remove("is-selected")), c.classList.add("is-selected"), this.isRangeMode ? !this.rangeStart || this.rangeEnd && !this._isSameDay(l, this.rangeEnd) ? (this.rangeStart = l, this.rangeEnd = null) : this.rangeStart && !this.rangeEnd && (l < this.rangeStart ? (this.rangeEnd = this.rangeStart, this.rangeStart = l) : this.rangeEnd = l, this.onRangeSelect && this.onRangeSelect({ start: this.rangeStart, end: this.rangeEnd }), this.element.dispatchEvent(new CustomEvent("kupola:calendar-range-select", {
4749
4836
  detail: { start: this.rangeStart, end: this.rangeEnd },
4750
4837
  bubbles: !0
4751
- }))) : (this.selectedDate = l, this.onSelect && this.onSelect({ date: l, dateStr: d }), this.element.dispatchEvent(new CustomEvent("kupola:calendar-select", {
4752
- detail: { date: l, dateStr: d },
4838
+ }))) : (this.selectedDate = l, this.onSelect && this.onSelect({ date: l, dateStr: h }), this.element.dispatchEvent(new CustomEvent("kupola:calendar-select", {
4839
+ detail: { date: l, dateStr: h },
4753
4840
  bubbles: !0
4754
- }))), h.forEach((f) => {
4841
+ }))), d.forEach((f) => {
4755
4842
  this.onEventClick && this.onEventClick(f, l);
4756
4843
  }), this.render();
4757
4844
  };
@@ -4763,31 +4850,31 @@ class Tr {
4763
4850
  a.setDate(n.getDate() + 6), this.titleEl.textContent = `${this.i18n.shortMonths[r.getMonth()]} ${r.getDate()} - ${this.i18n.shortMonths[a.getMonth()]} ${a.getDate()} ${t}`, this.daysEl.innerHTML = "";
4764
4851
  const o = /* @__PURE__ */ new Date(), l = this._formatDate(o);
4765
4852
  for (let c = 0; c < 7; c++) {
4766
- const d = new Date(n);
4767
- d.setDate(n.getDate() + c);
4768
- const h = document.createElement("button");
4769
- h.className = "ds-calendar__day ds-calendar__day--week";
4853
+ const h = new Date(n);
4854
+ h.setDate(n.getDate() + c);
4855
+ const d = document.createElement("button");
4856
+ d.className = "ds-calendar__day ds-calendar__day--week";
4770
4857
  const u = document.createElement("span");
4771
- u.className = "ds-calendar__day-header", u.textContent = this.i18n.shortWeekdays[d.getDay()], h.appendChild(u);
4858
+ u.className = "ds-calendar__day-header", u.textContent = this.i18n.shortWeekdays[h.getDay()], d.appendChild(u);
4772
4859
  const f = document.createElement("span");
4773
- f.className = "ds-calendar__day-number", f.textContent = d.getDate(), h.appendChild(f);
4774
- const p = this._formatDate(d);
4775
- p === l && h.classList.add("is-today"), this._isSameDay(d, this.selectedDate) && h.classList.add("is-selected");
4776
- const m = this._getEventsForDate(d);
4860
+ f.className = "ds-calendar__day-number", f.textContent = h.getDate(), d.appendChild(f);
4861
+ const p = this._formatDate(h);
4862
+ p === l && d.classList.add("is-today"), this._isSameDay(h, this.selectedDate) && d.classList.add("is-selected");
4863
+ const m = this._getEventsForDate(h);
4777
4864
  if (m.length > 0) {
4778
4865
  const _ = document.createElement("span");
4779
- _.className = "ds-calendar__day-events", m.slice(0, 3).forEach((x) => {
4780
- const b = document.createElement("span");
4781
- b.className = "ds-calendar__day-event", b.style.backgroundColor = x.color || "#007bff", _.appendChild(b);
4782
- }), h.appendChild(_);
4866
+ _.className = "ds-calendar__day-events", m.slice(0, 3).forEach((b) => {
4867
+ const x = document.createElement("span");
4868
+ x.className = "ds-calendar__day-event", x.style.backgroundColor = b.color || "#007bff", _.appendChild(x);
4869
+ }), d.appendChild(_);
4783
4870
  }
4784
4871
  const y = () => {
4785
- this.element.querySelectorAll(".ds-calendar__day").forEach((_) => _.classList.remove("is-selected")), h.classList.add("is-selected"), this.selectedDate = d, this.onSelect && this.onSelect({ date: d, dateStr: p }), this.element.dispatchEvent(new CustomEvent("kupola:calendar-select", {
4786
- detail: { date: d, dateStr: p },
4872
+ this.element.querySelectorAll(".ds-calendar__day").forEach((_) => _.classList.remove("is-selected")), d.classList.add("is-selected"), this.selectedDate = h, this.onSelect && this.onSelect({ date: h, dateStr: p }), this.element.dispatchEvent(new CustomEvent("kupola:calendar-select", {
4873
+ detail: { date: h, dateStr: p },
4787
4874
  bubbles: !0
4788
4875
  })), this.render();
4789
4876
  };
4790
- h.addEventListener("click", y), this._listeners.push({ el: h, event: "click", handler: y }), this.daysEl.appendChild(h);
4877
+ d.addEventListener("click", y), this._listeners.push({ el: d, event: "click", handler: y }), this.daysEl.appendChild(d);
4791
4878
  }
4792
4879
  }
4793
4880
  destroy() {
@@ -4853,26 +4940,26 @@ class Tr {
4853
4940
  this.isRangeMode = !this.isRangeMode, this.rangeStart = null, this.rangeEnd = null, this.render(), this._emitChange();
4854
4941
  }
4855
4942
  }
4856
- function ie(i, t) {
4943
+ function ae(i, t) {
4857
4944
  if (!i.__kupolaInitialized)
4858
4945
  try {
4859
- const e = new Tr(i, t);
4946
+ const e = new qr(i, t);
4860
4947
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4861
4948
  } catch (e) {
4862
4949
  console.error("[Calendar] Error initializing:", e);
4863
4950
  }
4864
4951
  }
4865
- function Ar(i) {
4952
+ function Br(i) {
4866
4953
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4867
4954
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4868
4955
  }
4869
- function vo() {
4956
+ function Io() {
4870
4957
  document.querySelectorAll(".ds-calendar").forEach((i) => {
4871
- ie(i);
4958
+ ae(i);
4872
4959
  });
4873
4960
  }
4874
- E.register("calendar", ie, Ar);
4875
- class zr {
4961
+ E.register("calendar", ae, Br);
4962
+ class Fr {
4876
4963
  constructor(t, e = {}) {
4877
4964
  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();
4878
4965
  }
@@ -5018,22 +5105,22 @@ class zr {
5018
5105
  }), this._listeners = null, this.input = null, this.element = null;
5019
5106
  }
5020
5107
  }
5021
- function ne(i, t) {
5108
+ function oe(i, t) {
5022
5109
  if (i.__kupolaInitialized) return;
5023
- const e = new zr(i, t);
5110
+ const e = new Fr(i, t);
5024
5111
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5025
5112
  }
5026
- function Pr(i) {
5113
+ function Nr(i) {
5027
5114
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5028
5115
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5029
5116
  }
5030
- function bo() {
5117
+ function To() {
5031
5118
  document.querySelectorAll(".ds-dynamic-tags").forEach((i) => {
5032
- ne(i);
5119
+ oe(i);
5033
5120
  });
5034
5121
  }
5035
- E.register("dynamic-tags", ne, Pr);
5036
- class re {
5122
+ E.register("dynamic-tags", oe, Nr);
5123
+ class le {
5037
5124
  constructor(t = {}) {
5038
5125
  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();
5039
5126
  }
@@ -5225,18 +5312,18 @@ class re {
5225
5312
  }
5226
5313
  }
5227
5314
  let V = null;
5228
- function xo() {
5229
- V || (V = new re()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5315
+ function Ao() {
5316
+ V || (V = new le()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5230
5317
  i.addEventListener("click", () => {
5231
5318
  const t = JSON.parse(i.getAttribute("data-image-preview")), e = parseInt(i.getAttribute("data-image-index")) || 0;
5232
5319
  V.show(t, e);
5233
5320
  });
5234
5321
  });
5235
5322
  }
5236
- function Eo(i, t = 0) {
5237
- V || (V = new re()), V.show(i, t);
5323
+ function zo(i, t = 0) {
5324
+ V || (V = new le()), V.show(i, t);
5238
5325
  }
5239
- class $r {
5326
+ class Or {
5240
5327
  constructor(t, e = {}) {
5241
5328
  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();
5242
5329
  }
@@ -5366,22 +5453,22 @@ class $r {
5366
5453
  }), this._listeners = [], this.closeBtn = null, this.checkbox = null, this.editInput = null, this.element = null;
5367
5454
  }
5368
5455
  }
5369
- function ae(i, t) {
5456
+ function ce(i, t) {
5370
5457
  if (i.__kupolaInitialized) return;
5371
- const e = new $r(i, t);
5458
+ const e = new Or(i, t);
5372
5459
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5373
5460
  }
5374
- function qr(i) {
5461
+ function Rr(i) {
5375
5462
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5376
5463
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5377
5464
  }
5378
- function ko() {
5465
+ function Po() {
5379
5466
  document.querySelectorAll(".ds-tag").forEach((i) => {
5380
- ae(i);
5467
+ ce(i);
5381
5468
  });
5382
5469
  }
5383
- E.register("tag", ae, qr);
5384
- class Br {
5470
+ E.register("tag", ce, Rr);
5471
+ class Vr {
5385
5472
  constructor(t) {
5386
5473
  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();
5387
5474
  }
@@ -5396,8 +5483,8 @@ class Br {
5396
5483
  if (!this.valueElement) return;
5397
5484
  const t = this.valueElement.textContent, e = t.match(/[\d.,]+/);
5398
5485
  if (!e) return;
5399
- const s = parseFloat(e[0].replace(",", "")), n = t.substring(0, e.index), r = t.substring(e.index + e[0].length), a = 1500, o = performance.now(), l = 0, c = (d) => {
5400
- const h = d - o, u = Math.min(h / a, 1), f = 1 - Math.pow(1 - u, 3), p = l + (s - l) * f;
5486
+ const s = parseFloat(e[0].replace(",", "")), n = t.substring(0, e.index), r = t.substring(e.index + e[0].length), a = 1500, o = performance.now(), l = 0, c = (h) => {
5487
+ const d = h - o, u = Math.min(d / a, 1), f = 1 - Math.pow(1 - u, 3), p = l + (s - l) * f;
5401
5488
  let m;
5402
5489
  s >= 1e6 ? m = (p / 1e6).toFixed(1) + "M" : s >= 1e3 ? m = (p / 1e3).toFixed(1) + "K" : Number.isInteger(s) ? m = Math.floor(p).toLocaleString() : m = p.toFixed(2), this.valueElement.textContent = n + m + r, u < 1 && requestAnimationFrame(c);
5403
5490
  };
@@ -5415,18 +5502,18 @@ class Br {
5415
5502
  this.valueElement.textContent = t;
5416
5503
  return;
5417
5504
  }
5418
- const a = n.substring(0, r.index), o = n.substring(r.index + r[0].length), l = parseFloat(r[0].replace(",", "")), c = parseFloat(t), d = performance.now(), h = (u) => {
5419
- const f = u - d, p = Math.min(f / s, 1), m = 1 - Math.pow(1 - p, 3), y = l + (c - l) * m;
5505
+ const a = n.substring(0, r.index), o = n.substring(r.index + r[0].length), l = parseFloat(r[0].replace(",", "")), c = parseFloat(t), h = performance.now(), d = (u) => {
5506
+ const f = u - h, p = Math.min(f / s, 1), m = 1 - Math.pow(1 - p, 3), y = l + (c - l) * m;
5420
5507
  let _;
5421
- c >= 1e6 ? _ = (y / 1e6).toFixed(1) + "M" : c >= 1e3 ? _ = (y / 1e3).toFixed(1) + "K" : Number.isInteger(c) ? _ = Math.floor(y).toLocaleString() : _ = y.toFixed(2), this.valueElement.textContent = a + _ + o, p < 1 && requestAnimationFrame(h);
5508
+ c >= 1e6 ? _ = (y / 1e6).toFixed(1) + "M" : c >= 1e3 ? _ = (y / 1e3).toFixed(1) + "K" : Number.isInteger(c) ? _ = Math.floor(y).toLocaleString() : _ = y.toFixed(2), this.valueElement.textContent = a + _ + o, p < 1 && requestAnimationFrame(d);
5422
5509
  };
5423
- requestAnimationFrame(h);
5510
+ requestAnimationFrame(d);
5424
5511
  }
5425
5512
  updateProgress(t, e = {}) {
5426
5513
  if (!this.progressFill) return;
5427
5514
  const s = e.duration || 600, n = parseFloat(this.progressFill.style.width || "0"), r = Math.min(Math.max(t, 0), 100), a = performance.now(), o = (l) => {
5428
- const c = l - a, d = Math.min(c / s, 1), h = 1 - Math.pow(1 - d, 3), u = n + (r - n) * h;
5429
- this.progressFill.style.width = u + "%", d < 1 && requestAnimationFrame(o);
5515
+ const c = l - a, h = Math.min(c / s, 1), d = 1 - Math.pow(1 - h, 3), u = n + (r - n) * d;
5516
+ this.progressFill.style.width = u + "%", h < 1 && requestAnimationFrame(o);
5430
5517
  };
5431
5518
  requestAnimationFrame(o);
5432
5519
  }
@@ -5441,22 +5528,22 @@ class Br {
5441
5528
  this._observer && (this._observer.disconnect(), this._observer = null), this.animated = !1, this.valueElement = null, this.progressFill = null, this.element = null;
5442
5529
  }
5443
5530
  }
5444
- function oe(i) {
5531
+ function he(i) {
5445
5532
  if (i.__kupolaInitialized) return;
5446
- const t = new Br(i);
5533
+ const t = new Vr(i);
5447
5534
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
5448
5535
  }
5449
- function Fr(i) {
5536
+ function Kr(i) {
5450
5537
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5451
5538
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5452
5539
  }
5453
- function wo() {
5540
+ function $o() {
5454
5541
  document.querySelectorAll(".ds-statcard").forEach((i) => {
5455
- oe(i);
5542
+ he(i);
5456
5543
  });
5457
5544
  }
5458
- E.register("statcard", oe, Fr);
5459
- class Nr {
5545
+ E.register("statcard", he, Kr);
5546
+ class Wr {
5460
5547
  constructor(t, e = {}) {
5461
5548
  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();
5462
5549
  }
@@ -5527,48 +5614,48 @@ class Nr {
5527
5614
  s.push(new Date(_)), (_.getDay() === 6 || _.getTime() === this.endDate.getTime()) && (e.push(s), s = []);
5528
5615
  const a = e.length, o = this.element.classList.contains("ds-heatmap--compact") ? 12 : 16, l = a * o, c = document.createElement("div");
5529
5616
  c.className = "ds-heatmap__container";
5530
- const d = document.createElement("div");
5531
- d.className = "ds-heatmap__labels-and-grid";
5532
5617
  const h = document.createElement("div");
5533
- h.className = "ds-heatmap__weekday-labels";
5618
+ h.className = "ds-heatmap__labels-and-grid";
5619
+ const d = document.createElement("div");
5620
+ d.className = "ds-heatmap__weekday-labels";
5534
5621
  const u = this.element.classList.contains("ds-heatmap--compact") ? 12 : 16;
5535
5622
  this.getWeekdayLabels().forEach((_) => {
5536
- const x = document.createElement("div");
5537
- x.className = "ds-heatmap__weekday-label", x.textContent = _, x.style.height = u + "px", x.style.lineHeight = u + "px", h.appendChild(x);
5538
- }), d.appendChild(h);
5623
+ const b = document.createElement("div");
5624
+ b.className = "ds-heatmap__weekday-label", b.textContent = _, b.style.height = u + "px", b.style.lineHeight = u + "px", d.appendChild(b);
5625
+ }), h.appendChild(d);
5539
5626
  const f = document.createElement("div");
5540
5627
  f.className = "ds-heatmap__grid-container";
5541
5628
  const p = document.createElement("div");
5542
5629
  p.className = "ds-heatmap__month-labels", p.style.width = l + "px";
5543
5630
  const m = this.getMonthLabels();
5544
- m.forEach((_, x) => {
5545
- const b = document.createElement("div");
5546
- b.className = "ds-heatmap__month-label", b.textContent = _.label;
5547
- const v = m[x + 1];
5548
- let w;
5549
- v ? w = Math.ceil((v.offset - _.offset) / 7) : w = a - Math.floor(_.offset / 7), b.style.width = w * o + "px", p.appendChild(b);
5631
+ m.forEach((_, b) => {
5632
+ const x = document.createElement("div");
5633
+ x.className = "ds-heatmap__month-label", x.textContent = _.label;
5634
+ const v = m[b + 1];
5635
+ let C;
5636
+ v ? C = Math.ceil((v.offset - _.offset) / 7) : C = a - Math.floor(_.offset / 7), x.style.width = C * o + "px", p.appendChild(x);
5550
5637
  }), f.appendChild(p);
5551
5638
  const y = document.createElement("div");
5552
5639
  y.className = "ds-heatmap__grid", e.forEach((_) => {
5553
- const x = document.createElement("div");
5554
- x.className = "ds-heatmap__week-column", _.forEach((b) => {
5555
- if (b === null) {
5640
+ const b = document.createElement("div");
5641
+ b.className = "ds-heatmap__week-column", _.forEach((x) => {
5642
+ if (x === null) {
5556
5643
  const v = document.createElement("div");
5557
- v.className = "ds-heatmap__cell", v.style.visibility = "hidden", x.appendChild(v);
5644
+ v.className = "ds-heatmap__cell", v.style.visibility = "hidden", b.appendChild(v);
5558
5645
  } else {
5559
- const v = this.getDataByDate(b), w = Math.max(...this.data.map((B) => B.value), 1), S = this.getLevel(v, w), C = document.createElement("div");
5560
- C.className = "ds-heatmap__cell", C.dataset.date = this.formatDate(b), C.dataset.value = v, C.style.backgroundColor = this.getCellColor(S);
5561
- const D = (B) => this.showTooltip(B, b, v), I = () => this.hideTooltip(), z = () => {
5562
- this.onCellClick && this.onCellClick({ date: this.formatDate(b), value: v });
5646
+ const v = this.getDataByDate(x), C = Math.max(...this.data.map((B) => B.value), 1), S = this.getLevel(v, C), w = document.createElement("div");
5647
+ w.className = "ds-heatmap__cell", w.dataset.date = this.formatDate(x), w.dataset.value = v, w.style.backgroundColor = this.getCellColor(S);
5648
+ const A = (B) => this.showTooltip(B, x, v), z = () => this.hideTooltip(), D = () => {
5649
+ this.onCellClick && this.onCellClick({ date: this.formatDate(x), value: v });
5563
5650
  };
5564
- C.addEventListener("mouseenter", D), C.addEventListener("mouseleave", I), C.addEventListener("click", z), this._listeners.push(
5565
- { el: C, event: "mouseenter", handler: D },
5566
- { el: C, event: "mouseleave", handler: I },
5567
- { el: C, event: "click", handler: z }
5568
- ), x.appendChild(C);
5651
+ w.addEventListener("mouseenter", A), w.addEventListener("mouseleave", z), w.addEventListener("click", D), this._listeners.push(
5652
+ { el: w, event: "mouseenter", handler: A },
5653
+ { el: w, event: "mouseleave", handler: z },
5654
+ { el: w, event: "click", handler: D }
5655
+ ), b.appendChild(w);
5569
5656
  }
5570
- }), y.appendChild(x);
5571
- }), f.appendChild(y), d.appendChild(f), c.appendChild(d), t.appendChild(c), this.renderLegend(t);
5657
+ }), y.appendChild(b);
5658
+ }), f.appendChild(y), h.appendChild(f), c.appendChild(h), t.appendChild(c), this.renderLegend(t);
5572
5659
  }
5573
5660
  renderLegend(t) {
5574
5661
  const e = document.createElement("div");
@@ -5611,7 +5698,7 @@ class Nr {
5611
5698
  }), this._listeners = null, this.tooltip && this.tooltip.parentNode && this.tooltip.parentNode.removeChild(this.tooltip), this.tooltip = null, this.data = [], this.element = null;
5612
5699
  }
5613
5700
  }
5614
- function le(i) {
5701
+ function de(i) {
5615
5702
  if (i.__kupolaInitialized) return;
5616
5703
  const t = i.getAttribute("data-heatmap-data");
5617
5704
  let e = [];
@@ -5619,27 +5706,27 @@ function le(i) {
5619
5706
  try {
5620
5707
  e = JSON.parse(t);
5621
5708
  } catch {
5622
- e = gt();
5709
+ e = yt();
5623
5710
  }
5624
5711
  else
5625
- e = gt();
5626
- const s = new Nr(i, {
5712
+ e = yt();
5713
+ const s = new Wr(i, {
5627
5714
  data: e,
5628
5715
  onCellClick: (n) => {
5629
5716
  }
5630
5717
  });
5631
5718
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
5632
5719
  }
5633
- function Or(i) {
5720
+ function Ur(i) {
5634
5721
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5635
5722
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5636
5723
  }
5637
- function Co() {
5724
+ function qo() {
5638
5725
  document.querySelectorAll(".ds-heatmap").forEach((i) => {
5639
- le(i);
5726
+ de(i);
5640
5727
  });
5641
5728
  }
5642
- function gt() {
5729
+ function yt() {
5643
5730
  const i = [], t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
5644
5731
  e.setFullYear(e.getFullYear() - 1);
5645
5732
  for (let s = new Date(e); s <= t; s.setDate(s.getDate() + 1)) {
@@ -5651,8 +5738,8 @@ function gt() {
5651
5738
  }
5652
5739
  return i;
5653
5740
  }
5654
- E.register("heatmap", le, Or);
5655
- class Rr {
5741
+ E.register("heatmap", de, Ur);
5742
+ class Yr {
5656
5743
  constructor(t, e = {}) {
5657
5744
  this.element = t, this.tooltipEl = null, this.options = e, this.delay = e.delay || parseInt(t.getAttribute("data-tooltip-delay")) || 0, this.hideDelay = e.hideDelay || parseInt(t.getAttribute("data-tooltip-hide-delay")) || 0, this.trigger = e.trigger || t.getAttribute("data-tooltip-trigger") || "hover", this.html = e.html || t.hasAttribute("data-tooltip-html"), this.theme = e.theme || t.getAttribute("data-tooltip-theme") || "default", this.position = e.position || t.getAttribute("data-tooltip-position") || "top", this.animation = e.animation !== !1, this.mouseFollow = e.mouseFollow || t.hasAttribute("data-tooltip-mouse-follow"), this._showTooltip = null, this._hideTooltip = null, this._showTimer = null, this._hideTimer = null, this._clickHandler = null, this._focusHandler = null, this._blurHandler = null, this._mouseMoveHandler = null, this.isVisible = !1;
5658
5745
  }
@@ -5743,20 +5830,20 @@ class Rr {
5743
5830
  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);
5744
5831
  }
5745
5832
  }
5746
- function ce(i, t) {
5747
- const e = new Rr(i, t);
5833
+ function ue(i, t) {
5834
+ const e = new Yr(i, t);
5748
5835
  e.init(), i._kupolaTooltip = e;
5749
5836
  }
5750
- function So(i = document) {
5837
+ function Bo(i = document) {
5751
5838
  i.querySelectorAll("[data-tooltip]").forEach((t) => {
5752
- ce(t);
5839
+ ue(t);
5753
5840
  });
5754
5841
  }
5755
- function Vr(i) {
5842
+ function Xr(i) {
5756
5843
  i._kupolaTooltip && (i._kupolaTooltip.destroy(), i._kupolaTooltip = null);
5757
5844
  }
5758
- E.register("tooltip", ce, Vr);
5759
- class Kr {
5845
+ E.register("tooltip", ue, Xr);
5846
+ class jr {
5760
5847
  constructor() {
5761
5848
  this.validators = {
5762
5849
  required: this.validateRequired,
@@ -5784,11 +5871,11 @@ class Kr {
5784
5871
  let r = !1;
5785
5872
  return n.forEach((a) => {
5786
5873
  const o = a.name || a.id, l = this.parseRules(a.getAttribute("data-validate")), c = this.getValue(a);
5787
- for (const [d, h] of Object.entries(l))
5788
- if ((this.customValidators[d] || this.validators[d])?.(c, h))
5874
+ for (const [h, d] of Object.entries(l))
5875
+ if ((this.customValidators[h] || this.validators[h])?.(c, d))
5789
5876
  this.clearError(a);
5790
5877
  else {
5791
- s[o] = this.getErrorMessage(d, h, a), this.showError(a, s[o]), r = !0;
5878
+ s[o] = this.getErrorMessage(h, d, a), this.showError(a, s[o]), r = !0;
5792
5879
  break;
5793
5880
  }
5794
5881
  }), this.formStates[e] = {
@@ -5831,8 +5918,8 @@ class Kr {
5831
5918
  await this.validateInputAsync(l) || (a = !0);
5832
5919
  const o = {};
5833
5920
  return r.forEach((l) => {
5834
- const c = l.name || l.id, d = l.parentElement.querySelector(".ds-input__error");
5835
- d && (o[c] = d.textContent);
5921
+ const c = l.name || l.id, h = l.parentElement.querySelector(".ds-input__error");
5922
+ h && (o[c] = h.textContent);
5836
5923
  }), this.formStates[s] = {
5837
5924
  valid: !a,
5838
5925
  errors: o,
@@ -5982,20 +6069,20 @@ class Kr {
5982
6069
  }[t] || "Invalid input";
5983
6070
  }
5984
6071
  }
5985
- const A = new Kr();
6072
+ const P = new jr();
5986
6073
  window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized = !0, document.addEventListener("DOMContentLoaded", () => {
5987
6074
  document.querySelectorAll("form[data-validation]").forEach((i) => {
5988
6075
  i.addEventListener("submit", async (t) => {
5989
6076
  const e = i.id || `form-${Math.random().toString(36).substr(2, 9)}`;
5990
- if (A.submitting.has(e)) {
6077
+ if (P.submitting.has(e)) {
5991
6078
  t.preventDefault();
5992
6079
  return;
5993
6080
  }
5994
6081
  t.preventDefault();
5995
6082
  const s = i.querySelector("[data-validate-async]") !== null;
5996
6083
  let n;
5997
- if (s ? n = await A.validateAsync(i) : n = A.validate(i), n) {
5998
- A.submitting.add(e);
6084
+ if (s ? n = await P.validateAsync(i) : n = P.validate(i), n) {
6085
+ P.submitting.add(e);
5999
6086
  const r = i.querySelector('button[type="submit"]');
6000
6087
  if (r) {
6001
6088
  const a = r.textContent;
@@ -6005,7 +6092,7 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6005
6092
  const a = i.getAttribute("data-on-submit");
6006
6093
  a && window[a] ? await window[a](i) : i.submit();
6007
6094
  } finally {
6008
- A.submitting.delete(e), r && (r.textContent = r.getAttribute("data-original-text") || "Submit", r.disabled = !1);
6095
+ P.submitting.delete(e), r && (r.textContent = r.getAttribute("data-original-text") || "Submit", r.disabled = !1);
6009
6096
  }
6010
6097
  } else {
6011
6098
  const r = i.querySelector(".ds-input--error");
@@ -6017,7 +6104,7 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6017
6104
  const n = document.activeElement;
6018
6105
  if (n && n.closest(".ds-select"))
6019
6106
  return;
6020
- A.validateInput(t) && t.value.trim() && A.showSuccess(t);
6107
+ P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6021
6108
  }, 50);
6022
6109
  });
6023
6110
  const s = ((n, r) => {
@@ -6026,16 +6113,16 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6026
6113
  clearTimeout(a), a = setTimeout(() => n(...o), r);
6027
6114
  };
6028
6115
  })(() => {
6029
- const n = A.getValue(t);
6030
- n.length > 0 || t.classList.contains("ds-input--error") ? A.validateInput(t) && n && A.showSuccess(t) : A.removeStatusIcon(t);
6116
+ const n = P.getValue(t);
6117
+ n.length > 0 || t.classList.contains("ds-input--error") ? P.validateInput(t) && n && P.showSuccess(t) : P.removeStatusIcon(t);
6031
6118
  }, 300);
6032
6119
  t.addEventListener("input", s), t.addEventListener("keyup", (n) => {
6033
- n.key === "Enter" && A.validateInput(t) && t.value.trim() && A.showSuccess(t);
6120
+ n.key === "Enter" && P.validateInput(t) && t.value.trim() && P.showSuccess(t);
6034
6121
  });
6035
6122
  });
6036
6123
  });
6037
6124
  }));
6038
- class Wr {
6125
+ class Jr {
6039
6126
  constructor(t, e = {}) {
6040
6127
  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();
6041
6128
  }
@@ -6159,9 +6246,9 @@ class Wr {
6159
6246
  const c = t ? this.itemWidth : this.itemHeight;
6160
6247
  l = n * c;
6161
6248
  }
6162
- a.forEach((c, d) => {
6163
- const h = n + d, u = c[this.keyField] || h, f = this.selectedKey === u, p = this.getItemSize(h);
6164
- o += this._buildItemHtml(c, h, u, f, p, l, t), l += p;
6249
+ a.forEach((c, h) => {
6250
+ const d = n + h, u = c[this.keyField] || d, f = this.selectedKey === u, p = this.getItemSize(d);
6251
+ o += this._buildItemHtml(c, d, u, f, p, l, t), l += p;
6165
6252
  }), this.container.innerHTML = o, this.useDynamicHeight && this.updateDynamicHeights(), this.container.querySelectorAll(".ds-virtual-list__item").forEach((c) => {
6166
6253
  c.addEventListener("click", () => this.handleItemClick(c));
6167
6254
  });
@@ -6274,7 +6361,7 @@ class Wr {
6274
6361
  }), 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;
6275
6362
  }
6276
6363
  }
6277
- function _t(i = 1e3) {
6364
+ function vt(i = 1e3) {
6278
6365
  const t = [], e = ["Document", "Image", "Video", "Folder", "Archive", "Spreadsheet", "Presentation", "Code"];
6279
6366
  for (let s = 1; s <= i; s++) {
6280
6367
  const n = Math.floor(Math.random() * e.length), r = Math.floor(Math.random() * 1e4);
@@ -6287,7 +6374,7 @@ function _t(i = 1e3) {
6287
6374
  }
6288
6375
  return t;
6289
6376
  }
6290
- function Ur(i) {
6377
+ function Gr(i) {
6291
6378
  if (i.__kupolaInitialized) return;
6292
6379
  const t = i.getAttribute("data-virtual-list");
6293
6380
  let e = [];
@@ -6295,11 +6382,11 @@ function Ur(i) {
6295
6382
  try {
6296
6383
  e = JSON.parse(t);
6297
6384
  } catch {
6298
- e = _t(1e3);
6385
+ e = vt(1e3);
6299
6386
  }
6300
6387
  else
6301
- e = _t(1e3);
6302
- const s = new Wr(i, {
6388
+ e = vt(1e3);
6389
+ const s = new Jr(i, {
6303
6390
  data: e,
6304
6391
  onItemClick: (n) => {
6305
6392
  },
@@ -6308,12 +6395,12 @@ function Ur(i) {
6308
6395
  });
6309
6396
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
6310
6397
  }
6311
- function Yr(i) {
6398
+ function Zr(i) {
6312
6399
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6313
6400
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6314
6401
  }
6315
- E.register("virtual-list", Ur, Yr);
6316
- const Xr = '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"', he = {
6402
+ E.register("virtual-list", Gr, Zr);
6403
+ const Qr = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="butt" stroke-linejoin="miter"', pe = {
6317
6404
  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"/>',
6318
6405
  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"/>',
6319
6406
  mouse: '<rect x="6" y="2" width="12" height="20" rx="6"/><line x1="12" y1="6" x2="12" y2="11"/>',
@@ -6423,19 +6510,19 @@ const Xr = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0
6423
6510
  code: '<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',
6424
6511
  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"/>'
6425
6512
  };
6426
- function de(i, t = 16, e = "0 0 24 24") {
6427
- const s = he[i];
6428
- return s ? `<svg ${Xr.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6513
+ function fe(i, t = 16, e = "0 0 24 24") {
6514
+ const s = pe[i];
6515
+ return s ? `<svg ${Qr.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6429
6516
  }
6430
6517
  function at(i = document) {
6431
6518
  i.querySelectorAll("[data-icon]").forEach((t) => {
6432
6519
  const e = t.getAttribute("data-icon"), s = +t.getAttribute("data-size") || 16, n = t.getAttribute("data-viewbox") || "0 0 24 24";
6433
- t.innerHTML = de(e, s, n), t.classList.add("icon");
6520
+ t.innerHTML = fe(e, s, n), t.classList.add("icon");
6434
6521
  });
6435
6522
  }
6436
- const Lo = { svg: de, render: at, PATHS: he };
6523
+ const Fo = { svg: fe, render: at, PATHS: pe };
6437
6524
  typeof document < "u" && (document.readyState !== "loading" ? at() : document.addEventListener("DOMContentLoaded", () => at()));
6438
- class jr {
6525
+ class ta {
6439
6526
  constructor(t) {
6440
6527
  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();
6441
6528
  }
@@ -6487,22 +6574,22 @@ class jr {
6487
6574
  this.stop(), this.hoursEl = null, this.minutesEl = null, this.secondsEl = null, this.element = null;
6488
6575
  }
6489
6576
  }
6490
- function ue(i) {
6577
+ function me(i) {
6491
6578
  if (i.__kupolaInitialized) return;
6492
- const t = new jr(i);
6579
+ const t = new ta(i);
6493
6580
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6494
6581
  }
6495
- function Jr(i) {
6582
+ function ea(i) {
6496
6583
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6497
6584
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6498
6585
  }
6499
- function Do() {
6586
+ function No() {
6500
6587
  document.querySelectorAll(".ds-countdown").forEach((t) => {
6501
- ue(t);
6588
+ me(t);
6502
6589
  });
6503
6590
  }
6504
- E.register("countdown", ue, Jr);
6505
- class Gr {
6591
+ E.register("countdown", me, ea);
6592
+ class sa {
6506
6593
  constructor(t) {
6507
6594
  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)
6508
6595
  throw new Error("NumberInput: Missing required elements");
@@ -6553,26 +6640,26 @@ class Gr {
6553
6640
  }), this._listeners = null, this.minusBtn = null, this.plusBtn = null, this.inputEl = null, this.element = null;
6554
6641
  }
6555
6642
  }
6556
- function pe(i) {
6643
+ function ge(i) {
6557
6644
  if (!i.__kupolaInitialized)
6558
6645
  try {
6559
- const t = new Gr(i);
6646
+ const t = new sa(i);
6560
6647
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6561
6648
  } catch (t) {
6562
6649
  console.error("[NumberInput] Error initializing:", t);
6563
6650
  }
6564
6651
  }
6565
- function Zr(i) {
6652
+ function ia(i) {
6566
6653
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6567
6654
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6568
6655
  }
6569
- function Ho() {
6656
+ function Oo() {
6570
6657
  document.querySelectorAll(".ds-number-input").forEach((i) => {
6571
- pe(i);
6658
+ ge(i);
6572
6659
  });
6573
6660
  }
6574
- E.register("number-input", pe, Zr);
6575
- class Qr {
6661
+ E.register("number-input", ge, ia);
6662
+ class na {
6576
6663
  constructor(t) {
6577
6664
  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 = {
6578
6665
  tolerance: 6,
@@ -6632,11 +6719,11 @@ class Qr {
6632
6719
  const n = Date.now() - this.startTime;
6633
6720
  let r = 0, a = 0;
6634
6721
  if (this.trackData.length > 0) {
6635
- const l = this.trackData[this.trackData.length - 1], c = this.currentX - l.x, d = n - l.t;
6636
- if (d > 0 && (r = c / d, this.trackData.length > 1)) {
6637
- const h = this.trackData[this.trackData.length - 2], u = l.t - h.t;
6722
+ const l = this.trackData[this.trackData.length - 1], c = this.currentX - l.x, h = n - l.t;
6723
+ if (h > 0 && (r = c / h, this.trackData.length > 1)) {
6724
+ const d = this.trackData[this.trackData.length - 2], u = l.t - d.t;
6638
6725
  if (u > 0) {
6639
- const f = (l.x - h.x) / u;
6726
+ const f = (l.x - d.x) / u;
6640
6727
  a = r - f;
6641
6728
  }
6642
6729
  }
@@ -6660,9 +6747,9 @@ class Qr {
6660
6747
  if (s > this.config.tolerance)
6661
6748
  return { passed: !1, msg: "验证失败" };
6662
6749
  const n = [];
6663
- for (let d = 1; d < this.trackData.length; d++) {
6664
- const h = this.trackData[d].x - this.trackData[d - 1].x, u = this.trackData[d].t - this.trackData[d - 1].t;
6665
- u > 0 && u < 500 && n.push(h / u);
6750
+ for (let h = 1; h < this.trackData.length; h++) {
6751
+ const d = this.trackData[h].x - this.trackData[h - 1].x, u = this.trackData[h].t - this.trackData[h - 1].t;
6752
+ u > 0 && u < 500 && n.push(d / u);
6666
6753
  }
6667
6754
  if (n.length < 3)
6668
6755
  return { passed: !1, msg: "验证失败" };
@@ -6670,8 +6757,8 @@ class Qr {
6670
6757
  if (r - a < this.config.minSpeedDelta)
6671
6758
  return { passed: !1, msg: "验证失败" };
6672
6759
  let o = !1;
6673
- for (const d of this.trackData)
6674
- if (Math.abs(d.y) > 2) {
6760
+ for (const h of this.trackData)
6761
+ if (Math.abs(h.y) > 2) {
6675
6762
  o = !0;
6676
6763
  break;
6677
6764
  }
@@ -6683,9 +6770,9 @@ class Qr {
6683
6770
  if (l > this.config.maxDuration)
6684
6771
  return { passed: !1, msg: "验证失败" };
6685
6772
  const c = [];
6686
- for (let d = 1; d < n.length; d++)
6687
- c.push(Math.abs(n[d] - n[d - 1]));
6688
- return c.length > 2 && c.reduce((h, u) => h + u, 0) / c.length < 0.05 ? { passed: !1, msg: "验证失败" } : { passed: !0, msg: "验证通过" };
6773
+ for (let h = 1; h < n.length; h++)
6774
+ c.push(Math.abs(n[h] - n[h - 1]));
6775
+ return c.length > 2 && c.reduce((d, u) => d + u, 0) / c.length < 0.05 ? { passed: !1, msg: "验证失败" } : { passed: !0, msg: "验证通过" };
6689
6776
  }
6690
6777
  verifyCaptcha() {
6691
6778
  this.isProcessing || this.isVerified || (this.isProcessing = !0, this.statusEl && (this.statusEl.textContent = "验证中...", this.statusEl.className = "ds-slider-captcha__status is-loading"), this.btn.style.cursor = "wait", this.container.classList.add("is-disabled"), setTimeout(() => {
@@ -6715,22 +6802,22 @@ class Qr {
6715
6802
  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);
6716
6803
  }
6717
6804
  }
6718
- function ta() {
6805
+ function ra() {
6719
6806
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6720
- const t = new Qr(i);
6807
+ const t = new na(i);
6721
6808
  t.init(), i._kupolaSlideCaptcha = t;
6722
6809
  });
6723
6810
  }
6724
- function ea(i) {
6811
+ function aa(i) {
6725
6812
  i._kupolaSlideCaptcha && (i._kupolaSlideCaptcha.destroy(), i._kupolaSlideCaptcha = null);
6726
6813
  }
6727
- function sa() {
6814
+ function oa() {
6728
6815
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6729
- ea(i);
6816
+ aa(i);
6730
6817
  });
6731
6818
  }
6732
- E.register("slide-captcha", ta, sa);
6733
- class ia {
6819
+ E.register("slide-captcha", ra, oa);
6820
+ class la {
6734
6821
  constructor(t) {
6735
6822
  this.form = t, this.fields = [], this.validators = {}, this.errorMessages = {}, this._submitHandler = null, this._fieldHandlers = /* @__PURE__ */ new Map(), this._init();
6736
6823
  }
@@ -6870,23 +6957,23 @@ class ia {
6870
6957
  }), this._submitHandler = null, this._fieldHandlers.clear(), this._fieldHandlers = null, this.fields = null, this.validators = null, this.errorMessages = null, this.form = null;
6871
6958
  }
6872
6959
  }
6873
- function na(i) {
6960
+ function ca(i) {
6874
6961
  const t = document.querySelectorAll(i || ".ds-form");
6875
6962
  return t.forEach((e) => {
6876
6963
  if (e._kupolaForm) return;
6877
- const s = new ia(e);
6964
+ const s = new la(e);
6878
6965
  e._kupolaForm = s;
6879
6966
  }), t.length;
6880
6967
  }
6881
- function Mo(i) {
6968
+ function Ro(i) {
6882
6969
  return i._kupolaForm;
6883
6970
  }
6884
- function Io(i) {
6971
+ function Vo(i) {
6885
6972
  const t = i._kupolaForm;
6886
6973
  return t ? t.validate() : !1;
6887
6974
  }
6888
- E.register("form-validation", na);
6889
- class ra {
6975
+ E.register("form-validation", ca);
6976
+ class ha {
6890
6977
  constructor() {
6891
6978
  this._queue = /* @__PURE__ */ new Set(), this._scheduled = !1, this._flushDepth = 0, this._maxDepth = 10;
6892
6979
  }
@@ -6913,8 +7000,8 @@ class ra {
6913
7000
  this._flushDepth--;
6914
7001
  }
6915
7002
  }
6916
- const aa = new ra();
6917
- class oa {
7003
+ const da = new ha();
7004
+ class ua {
6918
7005
  constructor(t, e) {
6919
7006
  this.data = t, this.createdAt = Date.now(), this.ttl = e;
6920
7007
  }
@@ -6925,7 +7012,7 @@ class oa {
6925
7012
  return !this.isFresh;
6926
7013
  }
6927
7014
  }
6928
- class fe {
7015
+ class _e {
6929
7016
  constructor() {
6930
7017
  this._store = /* @__PURE__ */ new Map();
6931
7018
  }
@@ -6934,7 +7021,7 @@ class fe {
6934
7021
  return e || null;
6935
7022
  }
6936
7023
  set(t, e, s = 6e4) {
6937
- this._store.set(t, new oa(e, s));
7024
+ this._store.set(t, new ua(e, s));
6938
7025
  }
6939
7026
  has(t) {
6940
7027
  return this._store.has(t);
@@ -6957,15 +7044,15 @@ class N extends Error {
6957
7044
  }
6958
7045
  }
6959
7046
  let tt = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
6960
- function To(i) {
7047
+ function Ko(i) {
6961
7048
  if (!i || typeof i.fetch != "function")
6962
7049
  throw new TypeError("[Kupola] configureHttpClient: client must provide a fetch function");
6963
7050
  tt = i.fetch.bind(i);
6964
7051
  }
6965
- function Ao() {
7052
+ function Wo() {
6966
7053
  return tt;
6967
7054
  }
6968
- function zo() {
7055
+ function Uo() {
6969
7056
  tt = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
6970
7057
  }
6971
7058
  class W {
@@ -6979,7 +7066,7 @@ class W {
6979
7066
  };
6980
7067
  }
6981
7068
  notify() {
6982
- aa.schedule(() => {
7069
+ da.schedule(() => {
6983
7070
  this.subscribers.forEach((t) => {
6984
7071
  try {
6985
7072
  t();
@@ -7027,7 +7114,7 @@ class W {
7027
7114
  this.subscribers = [], this.pending = null;
7028
7115
  }
7029
7116
  }
7030
- class la extends W {
7117
+ class pa extends W {
7031
7118
  constructor(t, e) {
7032
7119
  super(t, e), this.method = t.method || "GET", this.headers = t.headers || {}, this.queryParams = t.query || {};
7033
7120
  }
@@ -7035,29 +7122,29 @@ class la extends W {
7035
7122
  let e = this.config.source;
7036
7123
  const s = lt("http");
7037
7124
  s?.baseURL && !e.startsWith("http://") && !e.startsWith("https://") && (e = s.baseURL + e.replace(/^\//, ""));
7038
- for (const h in t)
7039
- e = e.replace(`:${h}`, encodeURIComponent(t[h]));
7125
+ for (const u in t)
7126
+ e = e.replace(`:${u}`, encodeURIComponent(t[u]));
7040
7127
  const n = [];
7041
- for (const [h, u] of Object.entries(this.queryParams || {}))
7042
- n.push(`${encodeURIComponent(h)}=${encodeURIComponent(u)}`);
7043
- for (const h in t)
7044
- this.config.source.includes(`:${h}`) || n.push(`${encodeURIComponent(h)}=${encodeURIComponent(t[h])}`);
7128
+ for (const [u, f] of Object.entries(this.queryParams || {}))
7129
+ n.push(`${encodeURIComponent(u)}=${encodeURIComponent(f)}`);
7130
+ for (const u in t)
7131
+ this.config.source.includes(`:${u}`) || n.push(`${encodeURIComponent(u)}=${encodeURIComponent(t[u])}`);
7045
7132
  n.length > 0 && (e += (e.includes("?") ? "&" : "?") + n.join("&"));
7046
- const r = {
7133
+ const r = s?.headers || {}, a = {
7047
7134
  method: this.method.toUpperCase(),
7048
- headers: { "Content-Type": "application/json", ...this.headers }
7135
+ headers: { "Content-Type": "application/json", ...r, ...this.headers }
7049
7136
  };
7050
- ["POST", "PUT", "PATCH"].includes(r.method) && (r.body = JSON.stringify(t));
7051
- const a = tt;
7052
- if (!a)
7137
+ s?.withCredentials && (a.credentials = "include"), ["POST", "PUT", "PATCH"].includes(a.method) && (a.body = JSON.stringify(t));
7138
+ const o = tt;
7139
+ if (!o)
7053
7140
  throw new N("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7054
- const o = await a(e, r), l = typeof o.ok == "boolean" ? o.ok : o.status >= 200 && o.status < 300, c = typeof o.status == "number" ? o.status : 0;
7055
- if (!l)
7056
- throw new N(`HTTP ${c}`, "HTTP_ERROR");
7057
- return typeof o.json == "function" ? await o.json() : o.data !== void 0 ? o.data : o;
7141
+ const l = await o(e, a), c = typeof l.ok == "boolean" ? l.ok : l.status >= 200 && l.status < 300, h = typeof l.status == "number" ? l.status : 0;
7142
+ if (!c)
7143
+ throw new N(`HTTP ${h}`, "HTTP_ERROR");
7144
+ return typeof l.json == "function" ? await l.json() : l.data !== void 0 ? l.data : l;
7058
7145
  }
7059
7146
  }
7060
- class me extends W {
7147
+ class ye extends W {
7061
7148
  constructor(t, e) {
7062
7149
  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) => {
7063
7150
  s.key === this.storageKey && (this.cache.delete(this.cacheKey), this.notify());
@@ -7084,7 +7171,7 @@ class me extends W {
7084
7171
  super.destroy(), this._storageHandler && window.removeEventListener("storage", this._storageHandler);
7085
7172
  }
7086
7173
  }
7087
- class ca extends W {
7174
+ class fa extends W {
7088
7175
  constructor(t, e) {
7089
7176
  super(t, e), this.paramName = t.source.replace("route:", "");
7090
7177
  }
@@ -7094,17 +7181,17 @@ class ca extends W {
7094
7181
  return e ? decodeURIComponent(e[1]) : new URLSearchParams(location.search).get(this.paramName) || "";
7095
7182
  }
7096
7183
  }
7097
- class ha extends W {
7184
+ class ma extends W {
7098
7185
  async fetch(t) {
7099
7186
  return await this.config.source(t);
7100
7187
  }
7101
7188
  }
7102
- class da extends W {
7189
+ class ga extends W {
7103
7190
  async fetch() {
7104
7191
  return this.config.source;
7105
7192
  }
7106
7193
  }
7107
- class ge extends W {
7194
+ class ve extends W {
7108
7195
  constructor(t, e) {
7109
7196
  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;
7110
7197
  }
@@ -7144,66 +7231,66 @@ class ge extends W {
7144
7231
  this._destroyed = !0, super.destroy(), this.ws && (this.ws.onmessage = null, this.ws.onclose = null, this.ws.close(), this.ws = null);
7145
7232
  }
7146
7233
  }
7147
- function _e(i, t) {
7234
+ function be(i, t) {
7148
7235
  const e = i.source;
7149
- return typeof e == "function" ? new ha(i, t) : typeof e == "string" && (e.startsWith("ws://") || e.startsWith("wss://")) ? new ge(i, t) : typeof e == "string" && (e.startsWith("/") || e.startsWith("http")) ? new la(i, t) : typeof e == "string" && e.startsWith("localStorage:") ? new me(i, t) : typeof e == "string" && e.startsWith("route:") ? new ca(i, t) : new da(i, t);
7236
+ return typeof e == "function" ? new ma(i, t) : typeof e == "string" && (e.startsWith("ws://") || e.startsWith("wss://")) ? new ve(i, t) : typeof e == "string" && (e.startsWith("/") || e.startsWith("http")) ? new pa(i, t) : typeof e == "string" && e.startsWith("localStorage:") ? new ye(i, t) : typeof e == "string" && e.startsWith("route:") ? new fa(i, t) : new ga(i, t);
7150
7237
  }
7151
- function Po(i, t) {
7152
- const e = {}, s = new fe(), n = [];
7238
+ function Yo(i, t) {
7239
+ const e = {}, s = new _e(), n = [];
7153
7240
  for (const r in t) {
7154
7241
  let p = function() {
7155
- return yt(i);
7242
+ return bt(i);
7156
7243
  }, a = t[r];
7157
7244
  typeof a == "string" && (a = { source: a });
7158
7245
  const o = {
7159
7246
  ...a,
7160
- cacheKey: a.cacheKey || `${r}-${JSON.stringify(yt(i))}`
7161
- }, l = _e(o, s), c = T(null), d = T(!0), h = T(null), u = T(null);
7247
+ cacheKey: a.cacheKey || `${r}-${JSON.stringify(bt(i))}`
7248
+ }, l = be(o, s), c = I(null), h = I(!0), d = I(null), u = I(null);
7162
7249
  let f = 0;
7163
7250
  async function m() {
7164
- const x = ++f;
7165
- d.value = !0, h.value = null;
7251
+ const b = ++f;
7252
+ h.value = !0, d.value = null;
7166
7253
  try {
7167
- const b = await l.getValue(p());
7168
- if (x !== f) return;
7169
- c.value = b, u.value = Date.now();
7170
- } catch (b) {
7171
- if (x !== f) return;
7172
- h.value = b.message || "Unknown error";
7254
+ const x = await l.getValue(p());
7255
+ if (b !== f) return;
7256
+ c.value = x, u.value = Date.now();
7257
+ } catch (x) {
7258
+ if (b !== f) return;
7259
+ d.value = x.message || "Unknown error";
7173
7260
  } finally {
7174
- x === f && (d.value = !1);
7261
+ b === f && (h.value = !1);
7175
7262
  }
7176
7263
  }
7177
7264
  m();
7178
7265
  const y = l.subscribe(() => {
7179
- const x = s.getStale(l.cacheKey);
7180
- x != null && (c.value = x, u.value = Date.now());
7266
+ const b = s.getStale(l.cacheKey);
7267
+ b != null && (c.value = b, u.value = Date.now());
7181
7268
  });
7182
7269
  n.push(y);
7183
7270
  const _ = Object.keys(i);
7184
- _.length > 0 && _.forEach((x) => {
7185
- const b = i[x];
7186
- if (b && typeof b == "object" && "value" in b && b._subscribers) {
7271
+ _.length > 0 && _.forEach((b) => {
7272
+ const x = i[b];
7273
+ if (x && typeof x == "object" && "value" in x && x._subscribers) {
7187
7274
  const v = () => {
7188
7275
  l.invalidate(), m();
7189
7276
  };
7190
- b._subscribers.add(v), n.push(() => b._subscribers.delete(v));
7277
+ x._subscribers.add(v), n.push(() => x._subscribers.delete(v));
7191
7278
  }
7192
7279
  }), e[r] = {
7193
7280
  data: c,
7194
- loading: d,
7195
- error: h,
7281
+ loading: h,
7282
+ error: d,
7196
7283
  lastUpdated: u,
7197
7284
  refresh() {
7198
7285
  return l.invalidate(), m();
7199
7286
  },
7200
7287
  // For StorageSource
7201
- setValue(x) {
7202
- l instanceof me && (l.setValue(x), c.value = x);
7288
+ setValue(b) {
7289
+ l instanceof ye && (l.setValue(b), c.value = b);
7203
7290
  },
7204
7291
  // For WebSocketSource
7205
- send(x) {
7206
- l instanceof ge && l.send(x);
7292
+ send(b) {
7293
+ l instanceof ve && l.send(b);
7207
7294
  },
7208
7295
  _source: l
7209
7296
  };
@@ -7215,8 +7302,8 @@ function Po(i, t) {
7215
7302
  }
7216
7303
  }, window.__kupolaDepInstances || (window.__kupolaDepInstances = []), window.__kupolaDepInstances.push(e), e;
7217
7304
  }
7218
- function $o(i) {
7219
- const t = new fe(), e = _e(i, t), s = T(null), n = T(!0), r = T(null);
7305
+ function Xo(i) {
7306
+ const t = new _e(), e = be(i, t), s = I(null), n = I(!0), r = I(null);
7220
7307
  let a = 0;
7221
7308
  async function o() {
7222
7309
  const l = ++a;
@@ -7244,7 +7331,7 @@ function $o(i) {
7244
7331
  }
7245
7332
  };
7246
7333
  }
7247
- function yt(i) {
7334
+ function bt(i) {
7248
7335
  const t = {};
7249
7336
  for (const e in i) {
7250
7337
  const s = i[e];
@@ -7252,11 +7339,11 @@ function yt(i) {
7252
7339
  }
7253
7340
  return t;
7254
7341
  }
7255
- function qo() {
7342
+ function jo() {
7256
7343
  }
7257
- class ua {
7344
+ class _a {
7258
7345
  constructor(t, e = {}) {
7259
- 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 = T(null), this.sortOrder = T(null), this.currentPage = T(1), this.filterText = T(""), this.selectedKeys = T([]), this._init();
7346
+ 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();
7260
7347
  }
7261
7348
  _init() {
7262
7349
  this.element.classList.add("kupola-table-wrapper"), this.virtualScroll && this.element.classList.add("kupola-table-virtual-wrapper"), this.render();
@@ -7408,8 +7495,8 @@ class ua {
7408
7495
  s.forEach((a) => n.set(`${a.row}-${a.col}`, a));
7409
7496
  const r = /* @__PURE__ */ new Set();
7410
7497
  t.forEach((a, o) => {
7411
- const l = a[this.rowKey] ?? o, c = this._selectedKeys.has(l), d = this._expandedKeys.has(l), h = this._renderDataRow(a, o, l, c, r, n);
7412
- if (e.appendChild(h), this.expandable && d) {
7498
+ const l = a[this.rowKey] ?? o, c = this._selectedKeys.has(l), h = this._expandedKeys.has(l), d = this._renderDataRow(a, o, l, c, r, n);
7499
+ if (e.appendChild(d), this.expandable && h) {
7413
7500
  const u = document.createElement("tr");
7414
7501
  u.className = "kupola-table-expand-row";
7415
7502
  const f = document.createElement("td"), p = this.columns.length + (this.selection ? 1 : 0) + 1;
@@ -7425,8 +7512,8 @@ class ua {
7425
7512
  const o = document.createElement("tr");
7426
7513
  return o.setAttribute("data-row-key", s), n && o.classList.add("kupola-table-row-selected"), this.draggable && (o.draggable = !0, o.classList.add("kupola-table-draggable")), this.selection && this._renderSelectionCell(o, s, n), this.expandable && this._renderExpandCell(o, s), this.columns.forEach((l, c) => {
7427
7514
  if (r.has(`${e}-${c}`)) return;
7428
- const d = this._renderDataCell(t, e, s, l, c, r, a);
7429
- o.appendChild(d);
7515
+ const h = this._renderDataCell(t, e, s, l, c, r, a);
7516
+ o.appendChild(h);
7430
7517
  }), this.onRowClick && (o.style.cursor = "pointer", o.addEventListener("click", (l) => {
7431
7518
  l.target.closest(".kupola-table-expand-btn, .kupola-table-tree-toggle, input, button") || this.onRowClick(t, e, l);
7432
7519
  })), o;
@@ -7451,20 +7538,20 @@ class ua {
7451
7538
  const c = o.get(`${e}-${r}`);
7452
7539
  if (c) {
7453
7540
  c.rowSpan > 1 && (l.rowSpan = c.rowSpan), c.colSpan > 1 && (l.colSpan = c.colSpan);
7454
- for (let h = 0; h < (c.rowSpan || 1); h++)
7541
+ for (let d = 0; d < (c.rowSpan || 1); d++)
7455
7542
  for (let u = 0; u < (c.colSpan || 1); u++)
7456
- h === 0 && u === 0 || a.add(`${e + h}-${r + u}`);
7543
+ d === 0 && u === 0 || a.add(`${e + d}-${r + u}`);
7457
7544
  }
7458
7545
  this.tree && r === 0 && t._level > 0 && this._renderTreeIndent(l, t);
7459
- const d = this._editingCell && this._editingCell.rowKey === s && this._editingCell.colKey === n.key;
7460
- if (d)
7546
+ const h = this._editingCell && this._editingCell.rowKey === s && this._editingCell.colKey === n.key;
7547
+ if (h)
7461
7548
  l.appendChild(this._renderEditCell(n, t));
7462
7549
  else if (n.render) {
7463
- const h = n.render(t[n.key], t, e);
7464
- typeof h == "string" ? l.innerHTML = h : h instanceof HTMLElement && l.appendChild(h);
7550
+ const d = n.render(t[n.key], t, e);
7551
+ typeof d == "string" ? l.innerHTML = d : d instanceof HTMLElement && l.appendChild(d);
7465
7552
  } else
7466
7553
  l.textContent = t[n.key] ?? "";
7467
- return this.editable && !d && n.editable !== !1 && (l.classList.add("kupola-table-editable-cell"), l.addEventListener("dblclick", () => this._startEdit(s, n.key, t[n.key]))), l;
7554
+ return this.editable && !h && n.editable !== !1 && (l.classList.add("kupola-table-editable-cell"), l.addEventListener("dblclick", () => this._startEdit(s, n.key, t[n.key]))), l;
7468
7555
  }
7469
7556
  _renderTreeIndent(t, e) {
7470
7557
  const s = document.createElement("span");
@@ -7502,16 +7589,16 @@ class ua {
7502
7589
  if (!this._virtualData) return;
7503
7590
  const { data: t, rowHeight: e, overscan: s, tbody: n, topSpacer: r } = this._virtualData, a = this.element.querySelector(".kupola-table-container");
7504
7591
  if (!a) return;
7505
- const o = a.scrollTop, l = a.clientHeight, c = Math.max(0, Math.floor(o / e) - s), d = Math.min(t.length, Math.ceil((o + l) / e) + s);
7592
+ const o = a.scrollTop, l = a.clientHeight, c = Math.max(0, Math.floor(o / e) - s), h = Math.min(t.length, Math.ceil((o + l) / e) + s);
7506
7593
  n.querySelectorAll(".kupola-table-virtual-row").forEach((p) => p.remove());
7507
7594
  const u = document.createDocumentFragment();
7508
- for (let p = c; p < d; p++) {
7595
+ for (let p = c; p < h; p++) {
7509
7596
  const m = t[p], y = m[this.rowKey] ?? p, _ = this._renderDataRow(m, p, y, this._selectedKeys.has(y), /* @__PURE__ */ new Set(), /* @__PURE__ */ new Map());
7510
7597
  _.classList.add("kupola-table-virtual-row"), _.style.height = e + "px", u.appendChild(_);
7511
7598
  }
7512
7599
  r.style.height = c * e + "px";
7513
7600
  const f = n.querySelector(".kupola-table-virtual-spacer-bottom");
7514
- f && (f.style.height = (t.length - d) * e + "px"), r.after(u);
7601
+ f && (f.style.height = (t.length - h) * e + "px"), r.after(u);
7515
7602
  }
7516
7603
  // ================================================================
7517
7604
  // INLINE EDIT
@@ -7523,8 +7610,8 @@ class ua {
7523
7610
  if (n.type = t.editType || "text", n.className = "ds-input kupola-table-edit-input", n.value = this._editBuffer[t.key] ?? e[t.key] ?? "", t.editOptions) {
7524
7611
  const l = document.createElement("select");
7525
7612
  l.className = "ds-input kupola-table-edit-input", t.editOptions.forEach((c) => {
7526
- const d = document.createElement("option");
7527
- d.value = typeof c == "object" ? c.value : c, d.textContent = typeof c == "object" ? c.label : c, String(d.value) === String(n.value) && (d.selected = !0), l.appendChild(d);
7613
+ const h = document.createElement("option");
7614
+ h.value = typeof c == "object" ? c.value : c, h.textContent = typeof c == "object" ? c.label : c, String(h.value) === String(n.value) && (h.selected = !0), l.appendChild(h);
7528
7615
  }), l.addEventListener("change", () => {
7529
7616
  this._editBuffer[t.key] = l.value;
7530
7617
  }), s.appendChild(l);
@@ -7614,11 +7701,11 @@ class ua {
7614
7701
  this.element.querySelectorAll(".kupola-table-resize-handle").forEach((e) => {
7615
7702
  e.addEventListener("mousedown", (s) => {
7616
7703
  s.preventDefault();
7617
- const n = e.getAttribute("data-col-key"), r = e.parentElement, a = s.clientX, o = r.offsetWidth, l = (d) => {
7618
- const h = Math.max(50, o + (d.clientX - a));
7619
- r.style.width = h + "px";
7704
+ const n = e.getAttribute("data-col-key"), r = e.parentElement, a = s.clientX, o = r.offsetWidth, l = (h) => {
7705
+ const d = Math.max(50, o + (h.clientX - a));
7706
+ r.style.width = d + "px";
7620
7707
  const u = this.columns.find((f) => f.key === n);
7621
- u && (u.width = h), this.onColumnResize && this.onColumnResize(n, h);
7708
+ u && (u.width = d), this.onColumnResize && this.onColumnResize(n, d);
7622
7709
  }, c = () => {
7623
7710
  document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", c);
7624
7711
  };
@@ -7762,9 +7849,9 @@ class ua {
7762
7849
  // ================================================================
7763
7850
  exportCSV(t = "export.csv") {
7764
7851
  const e = this.getProcessedData(), s = this.columns.map((c) => c.title || c.key), n = e.map(
7765
- (c) => this.columns.map((d) => {
7766
- let h = c[d.key];
7767
- return h == null && (h = ""), h = String(h).replace(/"/g, '""'), `"${h}"`;
7852
+ (c) => this.columns.map((h) => {
7853
+ let d = c[h.key];
7854
+ return d == null && (d = ""), d = String(d).replace(/"/g, '""'), `"${d}"`;
7768
7855
  }).join(",")
7769
7856
  ), r = "\uFEFF" + [s.join(","), ...n].join(`
7770
7857
  `), a = new Blob([r], { type: "text/csv;charset=utf-8;" }), o = URL.createObjectURL(a), l = document.createElement("a");
@@ -7794,10 +7881,10 @@ class ua {
7794
7881
  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 = {};
7795
7882
  }
7796
7883
  }
7797
- function ye(i, t) {
7798
- return new ua(i, t);
7884
+ function xe(i, t) {
7885
+ return new _a(i, t);
7799
7886
  }
7800
- function Bo() {
7887
+ function Jo() {
7801
7888
  document.querySelectorAll("[data-kupola-table]").forEach((i) => {
7802
7889
  const t = i.getAttribute("data-kupola-table");
7803
7890
  let e = {};
@@ -7806,13 +7893,13 @@ function Bo() {
7806
7893
  e = JSON.parse(t);
7807
7894
  } catch {
7808
7895
  }
7809
- ye(i, e);
7896
+ xe(i, e);
7810
7897
  });
7811
7898
  }
7812
- E.register("table", ye);
7813
- class pa {
7899
+ E.register("table", xe);
7900
+ class ya {
7814
7901
  constructor(t, e = {}) {
7815
- 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 = T(this._current), this.total = T(this._total), this.onChange = e.onChange || null, this.onPageSizeChange = e.onPageSizeChange || null, this._init();
7902
+ 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();
7816
7903
  }
7817
7904
  _init() {
7818
7905
  this.element.classList.add("kupola-pagination"), this.render();
@@ -7910,9 +7997,9 @@ class pa {
7910
7997
  this.element.innerHTML = "", this.element.classList.remove("kupola-pagination");
7911
7998
  }
7912
7999
  }
7913
- let vt = !1;
7914
- function fa() {
7915
- if (vt || typeof document > "u") return;
8000
+ let xt = !1;
8001
+ function va() {
8002
+ if (xt || typeof document > "u") return;
7916
8003
  const i = document.createElement("style");
7917
8004
  i.textContent = `
7918
8005
  .kupola-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@@ -7928,13 +8015,13 @@ function fa() {
7928
8015
  .kupola-pagination-jumper { font-size: 14px; color: #666; }
7929
8016
  .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; }
7930
8017
  .kupola-pagination-jumper input:focus { outline: none; border-color: #1890ff; }
7931
- `, document.head.appendChild(i), vt = !0;
8018
+ `, document.head.appendChild(i), xt = !0;
7932
8019
  }
7933
- function Fo(i, t) {
7934
- return fa(), new pa(i, t);
8020
+ function Go(i, t) {
8021
+ return va(), new ya(i, t);
7935
8022
  }
7936
- let bt = !1;
7937
- class ma extends HTMLElement {
8023
+ let Et = !1;
8024
+ class ba extends HTMLElement {
7938
8025
  static get observedAttributes() {
7939
8026
  return ["open"];
7940
8027
  }
@@ -7956,7 +8043,7 @@ class ma extends HTMLElement {
7956
8043
  }
7957
8044
  }
7958
8045
  }
7959
- class ga extends HTMLElement {
8046
+ class xa extends HTMLElement {
7960
8047
  static get observedAttributes() {
7961
8048
  return ["title", "position"];
7962
8049
  }
@@ -7971,7 +8058,7 @@ class ga extends HTMLElement {
7971
8058
  }
7972
8059
  }
7973
8060
  }
7974
- class _a extends HTMLElement {
8061
+ class Ea extends HTMLElement {
7975
8062
  connectedCallback() {
7976
8063
  this._render();
7977
8064
  }
@@ -7989,13 +8076,13 @@ class _a extends HTMLElement {
7989
8076
  }), this.innerHTML = "", this.appendChild(t);
7990
8077
  }
7991
8078
  }
7992
- class ya extends HTMLElement {
8079
+ class ka extends HTMLElement {
7993
8080
  static get observedAttributes() {
7994
8081
  return ["title"];
7995
8082
  }
7996
8083
  // Content is read by parent <k-collapse> during its connectedCallback
7997
8084
  }
7998
- class va extends HTMLElement {
8085
+ class wa extends HTMLElement {
7999
8086
  static get observedAttributes() {
8000
8087
  return ["position", "open"];
8001
8088
  }
@@ -8013,7 +8100,7 @@ class va extends HTMLElement {
8013
8100
  }
8014
8101
  }
8015
8102
  }
8016
- class ba extends HTMLElement {
8103
+ class Ca extends HTMLElement {
8017
8104
  static get observedAttributes() {
8018
8105
  return ["title", "open"];
8019
8106
  }
@@ -8056,220 +8143,229 @@ class ba extends HTMLElement {
8056
8143
  this.removeAttribute("open");
8057
8144
  }
8058
8145
  }
8059
- function No() {
8060
- if (bt || typeof customElements > "u") return;
8061
- bt = !0;
8146
+ function Zo() {
8147
+ if (Et || typeof customElements > "u") return;
8148
+ Et = !0;
8062
8149
  const i = [
8063
- ["k-dropdown", ma],
8064
- ["k-tooltip", ga],
8065
- ["k-collapse", _a],
8066
- ["k-collapse-item", ya],
8067
- ["k-drawer", va],
8068
- ["k-modal", ba]
8150
+ ["k-dropdown", ba],
8151
+ ["k-tooltip", xa],
8152
+ ["k-collapse", Ea],
8153
+ ["k-collapse-item", ka],
8154
+ ["k-drawer", wa],
8155
+ ["k-modal", Ca]
8069
8156
  ];
8070
8157
  for (const [t, e] of i)
8071
8158
  customElements.get(t) || customElements.define(t, e);
8072
8159
  }
8073
8160
  export {
8074
8161
  Y as BRAND_OPTIONS,
8075
- oa as CacheEntry,
8076
- fe as CacheManager,
8077
- Tr as Calendar,
8078
- xr as Carousel,
8079
- Dr as Collapse,
8080
- Mr as ColorPicker,
8081
- lr as ComponentInitializerRegistry,
8082
- jr as Countdown,
8083
- mr as Datepicker,
8162
+ ua as CacheEntry,
8163
+ _e as CacheManager,
8164
+ qr as Calendar,
8165
+ Sr as Carousel,
8166
+ Ar as Collapse,
8167
+ Pr as ColorPicker,
8168
+ ur as ComponentInitializerRegistry,
8169
+ ta as Countdown,
8170
+ br as Datepicker,
8084
8171
  N as DependsError,
8085
8172
  W as DependsSource,
8086
- ho as Dialog,
8087
- kr as Drawer,
8088
- ur as Dropdown,
8089
- zr as DynamicTags,
8090
- la as FetchedSource,
8091
- Sr as FileUpload,
8092
- ha as FunctionSource,
8093
- dr as GlobalEvents,
8094
- Nr as Heatmap,
8095
- Lo as Icons,
8096
- re as ImagePreview,
8173
+ ko as Dialog,
8174
+ Dr as Drawer,
8175
+ _r as Dropdown,
8176
+ Fr as DynamicTags,
8177
+ pa as FetchedSource,
8178
+ Ir as FileUpload,
8179
+ ma as FunctionSource,
8180
+ gr as GlobalEvents,
8181
+ Wr as Heatmap,
8182
+ Fo as Icons,
8183
+ le as ImagePreview,
8097
8184
  J as KupolaComponent,
8098
- hr as KupolaComponentRegistry,
8099
- er as KupolaDataBind,
8100
- ir as KupolaEventBus,
8101
- ia as KupolaForm,
8102
- Kt as KupolaI18n,
8185
+ fr as KupolaComponentRegistry,
8186
+ nr as KupolaDataBind,
8187
+ ar as KupolaEventBus,
8188
+ la as KupolaForm,
8189
+ Yt as KupolaI18n,
8103
8190
  ot as KupolaLifecycle,
8104
- pa as KupolaPagination,
8105
- dt as KupolaStore,
8106
- sr as KupolaStoreManager,
8107
- ua as KupolaTable,
8108
- ka as KupolaUtils,
8109
- Kr as KupolaValidator,
8110
- fo as Message,
8111
- P as Modal,
8112
- uo as Notification,
8113
- Gr as NumberInput,
8114
- he as PATHS,
8115
- ca as RouteSource,
8116
- ra as Scheduler,
8117
- pr as Select,
8118
- Qr as SlideCaptcha,
8119
- vr as Slider,
8120
- Br as StatCard,
8121
- da as StaticSource,
8122
- me as StorageSource,
8123
- $r as Tag,
8124
- _r as Timepicker,
8125
- Rr as Tooltip,
8126
- Wr as VirtualList,
8127
- ge as WebSocketSource,
8128
- lo as alertModal,
8129
- pt as applyMixin,
8130
- Ps as arrayUtils,
8131
- Aa as bootstrapComponents,
8132
- to as cleanupAllDropdowns,
8133
- sa as cleanupAllSlideCaptchas,
8134
- Ar as cleanupCalendar,
8135
- Er as cleanupCarousel,
8136
- Hr as cleanupCollapse,
8137
- Ir as cleanupColorPicker,
8138
- Jr as cleanupCountdown,
8139
- gr as cleanupDatepicker,
8140
- wr as cleanupDrawer,
8141
- Ut as cleanupDropdown,
8142
- Pr as cleanupDynamicTags,
8143
- Lr as cleanupFileUpload,
8144
- Or as cleanupHeatmap,
8145
- Cr as cleanupModal,
8146
- Zr as cleanupNumberInput,
8147
- fr as cleanupSelect,
8148
- ea as cleanupSlideCaptcha,
8149
- br as cleanupSlider,
8150
- Fr as cleanupStatCard,
8151
- qr as cleanupTag,
8152
- yr as cleanupTimepicker,
8153
- Vr as cleanupTooltip,
8154
- Yr as cleanupVirtualList,
8155
- qo as clearCache,
8156
- To as configureHttpClient,
8157
- oo as confirmModal,
8158
- Ma as createBrandPicker,
8159
- qa as createI18n,
8160
- Ea as createLifecycle,
8161
- Zt as createModal,
8162
- _e as createSource,
8163
- Ca as createStore,
8164
- Ha as createThemeToggle,
8165
- Un as cryptoUtils,
8166
- rn as dateUtils,
8167
- an as debounce,
8168
- $a as defineComponent,
8169
- za as defineMixin,
8170
- Xa as emit,
8171
- ja as emitGlobal,
8172
- Ka as formatCurrency,
8173
- Ra as formatDate,
8174
- Va as formatNumber,
8175
- Da as getBasePath,
8191
+ ya as KupolaPagination,
8192
+ pt as KupolaStore,
8193
+ rr as KupolaStoreManager,
8194
+ _a as KupolaTable,
8195
+ Da as KupolaUtils,
8196
+ jr as KupolaValidator,
8197
+ So as Message,
8198
+ $ as Modal,
8199
+ wo as Notification,
8200
+ sa as NumberInput,
8201
+ pe as PATHS,
8202
+ fa as RouteSource,
8203
+ ha as Scheduler,
8204
+ yr as Select,
8205
+ na as SlideCaptcha,
8206
+ wr as Slider,
8207
+ Vr as StatCard,
8208
+ ga as StaticSource,
8209
+ ye as StorageSource,
8210
+ Or as Tag,
8211
+ Er as Timepicker,
8212
+ Yr as Tooltip,
8213
+ Jr as VirtualList,
8214
+ ve as WebSocketSource,
8215
+ xo as alertModal,
8216
+ mt as applyMixin,
8217
+ Bs as arrayUtils,
8218
+ Wa as bootstrapComponents,
8219
+ po as cleanupAllDropdowns,
8220
+ oa as cleanupAllSlideCaptchas,
8221
+ Br as cleanupCalendar,
8222
+ Lr as cleanupCarousel,
8223
+ zr as cleanupCollapse,
8224
+ $r as cleanupColorPicker,
8225
+ ea as cleanupCountdown,
8226
+ xr as cleanupDatepicker,
8227
+ Hr as cleanupDrawer,
8228
+ jt as cleanupDropdown,
8229
+ Nr as cleanupDynamicTags,
8230
+ Tr as cleanupFileUpload,
8231
+ Ur as cleanupHeatmap,
8232
+ Mr as cleanupModal,
8233
+ ia as cleanupNumberInput,
8234
+ vr as cleanupSelect,
8235
+ aa as cleanupSlideCaptcha,
8236
+ Cr as cleanupSlider,
8237
+ Kr as cleanupStatCard,
8238
+ Rr as cleanupTag,
8239
+ kr as cleanupTimepicker,
8240
+ Xr as cleanupTooltip,
8241
+ Zr as cleanupVirtualList,
8242
+ jo as clearCache,
8243
+ Ko as configureHttpClient,
8244
+ bo as confirmModal,
8245
+ Fa as createBrandPicker,
8246
+ ja as createI18n,
8247
+ La as createLifecycle,
8248
+ ee as createModal,
8249
+ be as createSource,
8250
+ Ma as createStore,
8251
+ Ba as createThemeToggle,
8252
+ jn as cryptoUtils,
8253
+ ln as dateUtils,
8254
+ cn as debounce,
8255
+ Xa as defineComponent,
8256
+ Ua as defineMixin,
8257
+ ao as emit,
8258
+ oo as emitGlobal,
8259
+ Oa as escapeHtml,
8260
+ so as formatCurrency,
8261
+ to as formatDate,
8262
+ eo as formatNumber,
8263
+ Aa as getBasePath,
8176
8264
  X as getBrand,
8177
8265
  lt as getConfig,
8178
- rr as getDefaultBrand,
8179
- nr as getDefaultTheme,
8180
- Mo as getFormInstance,
8181
- Ao as getHttpClient,
8182
- Nt as getIconsPath,
8183
- Za as getListenerCount,
8184
- Oa as getLocale,
8185
- Sa as getStore,
8266
+ lr as getDefaultBrand,
8267
+ or as getDefaultTheme,
8268
+ Pa as getDevConfig,
8269
+ qa as getExtendConfig,
8270
+ Ro as getFormInstance,
8271
+ Wo as getHttpClient,
8272
+ za as getHttpConfig,
8273
+ Rt as getIconsPath,
8274
+ ho as getListenerCount,
8275
+ Qa as getLocale,
8276
+ $a as getPerformanceConfig,
8277
+ Vt as getSecurityConfig,
8278
+ Ia as getStore,
8186
8279
  R as getTheme,
8280
+ cr as getUiConfig,
8187
8281
  H as globalEvents,
8188
- Bo as initAllTables,
8189
- ie as initCalendar,
8190
- vo as initCalendars,
8191
- Gt as initCarousel,
8192
- ro as initCarousels,
8193
- ee as initCollapse,
8194
- _o as initCollapses,
8195
- se as initColorPicker,
8196
- yo as initColorPickers,
8197
- ue as initCountdown,
8198
- Do as initCountdowns,
8199
- Xt as initDatepicker,
8200
- so as initDatepickers,
8282
+ Jo as initAllTables,
8283
+ ae as initCalendar,
8284
+ Io as initCalendars,
8285
+ te as initCarousel,
8286
+ yo as initCarousels,
8287
+ ne as initCollapse,
8288
+ Ho as initCollapses,
8289
+ re as initColorPicker,
8290
+ Mo as initColorPickers,
8291
+ me as initCountdown,
8292
+ No as initCountdowns,
8293
+ Gt as initDatepicker,
8294
+ mo as initDatepickers,
8201
8295
  rt as initDrawer,
8202
- ao as initDrawers,
8203
- Wt as initDropdown,
8204
- Qa as initDropdowns,
8205
- ne as initDynamicTags,
8206
- bo as initDynamicTagsAll,
8207
- te as initFileUpload,
8208
- go as initFileUploads,
8209
- na as initFormValidation,
8210
- le as initHeatmap,
8211
- Co as initHeatmaps,
8212
- xo as initImagePreview,
8213
- mo as initMessages,
8214
- Qt as initModal,
8215
- co as initModals,
8216
- po as initNotifications,
8217
- pe as initNumberInput,
8218
- Ho as initNumberInputs,
8219
- Fo as initPagination,
8220
- Yt as initSelect,
8221
- eo as initSelects,
8222
- ta as initSlideCaptchas,
8223
- Jt as initSlider,
8224
- no as initSliders,
8225
- oe as initStatCard,
8226
- wo as initStatCards,
8227
- ye as initTable,
8228
- ae as initTag,
8229
- ko as initTags,
8230
- or as initTheme,
8231
- jt as initTimepicker,
8232
- io as initTimepickers,
8233
- ce as initTooltip,
8234
- So as initTooltips,
8235
- Ur as initVirtualList,
8236
- ft as kupolaBootstrap,
8237
- q as kupolaData,
8238
- wa as kupolaEvents,
8296
+ vo as initDrawers,
8297
+ Xt as initDropdown,
8298
+ uo as initDropdowns,
8299
+ oe as initDynamicTags,
8300
+ To as initDynamicTagsAll,
8301
+ ie as initFileUpload,
8302
+ Do as initFileUploads,
8303
+ ca as initFormValidation,
8304
+ de as initHeatmap,
8305
+ qo as initHeatmaps,
8306
+ Ao as initImagePreview,
8307
+ Lo as initMessages,
8308
+ se as initModal,
8309
+ Eo as initModals,
8310
+ Co as initNotifications,
8311
+ ge as initNumberInput,
8312
+ Oo as initNumberInputs,
8313
+ Go as initPagination,
8314
+ Jt as initSelect,
8315
+ fo as initSelects,
8316
+ ra as initSlideCaptchas,
8317
+ Qt as initSlider,
8318
+ _o as initSliders,
8319
+ he as initStatCard,
8320
+ $o as initStatCards,
8321
+ xe as initTable,
8322
+ ce as initTag,
8323
+ Po as initTags,
8324
+ dr as initTheme,
8325
+ Zt as initTimepicker,
8326
+ go as initTimepickers,
8327
+ ue as initTooltip,
8328
+ Bo as initTooltips,
8329
+ Gr as initVirtualList,
8330
+ gt as kupolaBootstrap,
8331
+ F as kupolaData,
8332
+ Ha as kupolaEvents,
8239
8333
  O as kupolaI18n,
8240
8334
  E as kupolaInitializer,
8241
- xa as kupolaLifecycle,
8335
+ Sa as kupolaLifecycle,
8242
8336
  M as kupolaRegistry,
8243
- Ft as kupolaStoreManager,
8244
- Fa as n,
8245
- Di as numberUtils,
8246
- ei as objectUtils,
8247
- Ya as off,
8248
- Ga as offAll,
8249
- Ja as offByScope,
8250
- Wa as on,
8251
- Ua as once,
8252
- Qn as preloadUtils,
8253
- T as ref,
8254
- Ia as registerComponent,
8255
- Ta as registerLazyComponent,
8256
- No as registerWebComponents,
8337
+ Ot as kupolaStoreManager,
8338
+ Ga as n,
8339
+ Ii as numberUtils,
8340
+ ni as objectUtils,
8341
+ ro as off,
8342
+ co as offAll,
8343
+ lo as offByScope,
8344
+ io as on,
8345
+ no as once,
8346
+ sr as preloadUtils,
8347
+ I as ref,
8348
+ Va as registerComponent,
8349
+ Ka as registerLazyComponent,
8350
+ Zo as registerWebComponents,
8257
8351
  at as renderIcon,
8258
- zo as resetHttpClient,
8352
+ Uo as resetHttpClient,
8353
+ Na as sanitizeHtml,
8259
8354
  nt as setBrand,
8260
- La as setConfig,
8261
- Na as setLocale,
8355
+ Ta as setConfig,
8356
+ Za as setLocale,
8262
8357
  it as setTheme,
8263
- Eo as showImagePreview,
8264
- Ue as stringUtils,
8265
- de as svg,
8266
- Ba as t,
8267
- on as throttle,
8268
- Po as useDeps,
8269
- Pa as useMixin,
8270
- $o as useQuery,
8271
- Io as validateForm,
8272
- A as validator,
8273
- $t as validatorUtils
8358
+ zo as showImagePreview,
8359
+ je as stringUtils,
8360
+ Ra as stripHtml,
8361
+ fe as svg,
8362
+ Ja as t,
8363
+ hn as throttle,
8364
+ Yo as useDeps,
8365
+ Ya as useMixin,
8366
+ Xo as useQuery,
8367
+ Vo as validateForm,
8368
+ P as validator,
8369
+ Bt as validatorUtils
8274
8370
  };
8275
8371
  //# sourceMappingURL=kupola.esm.js.map