@kupola/kupola 1.4.9 → 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.
@@ -1,4 +1,4 @@
1
- class at {
1
+ class ot {
2
2
  constructor(t = "app") {
3
3
  this.scope = t, this.hooks = /* @__PURE__ */ new Map(), this.state = "created", this.stateHistory = ["created"], this.transitions = /* @__PURE__ */ new Map([
4
4
  ["created", ["bootstrapped", "destroyed"]],
@@ -201,123 +201,123 @@ class at {
201
201
  console.error(`[KupolaLifecycle] Unhandled error in ${t.phase}:`, t.error);
202
202
  }
203
203
  }
204
- const fa = new at("app");
205
- function ma(i = "app") {
206
- return new at(i);
204
+ const Sa = new ot("app");
205
+ function La(i = "app") {
206
+ return new ot(i);
207
207
  }
208
- const ye = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
209
- function J(i) {
210
- return ye.has(i);
208
+ const Ce = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
209
+ function G(i) {
210
+ return Ce.has(i);
211
211
  }
212
- function ve(i) {
212
+ function Se(i) {
213
213
  return i ? i.trim() : "";
214
214
  }
215
- function be(i) {
215
+ function Le(i) {
216
216
  return i ? i.replace(/^\s+/, "") : "";
217
217
  }
218
- function xe(i) {
218
+ function De(i) {
219
219
  return i ? i.replace(/\s+$/, "") : "";
220
220
  }
221
- function Ee(i) {
221
+ function He(i) {
222
222
  return i ? i.toUpperCase() : "";
223
223
  }
224
- function ke(i) {
224
+ function Me(i) {
225
225
  return i ? i.toLowerCase() : "";
226
226
  }
227
- function we(i) {
227
+ function Ie(i) {
228
228
  return i ? i.charAt(0).toUpperCase() + i.slice(1) : "";
229
229
  }
230
- function Ce(i) {
230
+ function Te(i) {
231
231
  return i ? i.replace(/-(\w)/g, (t, e) => e ? e.toUpperCase() : "") : "";
232
232
  }
233
- function Se(i) {
233
+ function Ae(i) {
234
234
  return i ? i.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "") : "";
235
235
  }
236
- function Le(i, t, e = " ") {
236
+ function ze(i, t, e = " ") {
237
237
  return (String(i) || "").padStart(t, e);
238
238
  }
239
- function De(i, t, e = " ") {
239
+ function Pe(i, t, e = " ") {
240
240
  return (String(i) || "").padEnd(t, e);
241
241
  }
242
- function He(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 Me(i, t, e) {
245
+ function qe(i, t, e) {
246
246
  return i ? i.split(t).join(e) : "";
247
247
  }
248
- function Ie(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 Te(i, t) {
251
+ function Fe(i, t) {
252
252
  return (i || "").startsWith(t);
253
253
  }
254
- function Ae(i, t) {
254
+ function Ne(i, t) {
255
255
  return (i || "").endsWith(t);
256
256
  }
257
- function ze(i, t) {
257
+ function Oe(i, t) {
258
258
  return (i || "").includes(t);
259
259
  }
260
- function Pe(i, t) {
260
+ function Re(i, t) {
261
261
  return (i || "").repeat(t);
262
262
  }
263
- function $e(i) {
263
+ function Ve(i) {
264
264
  return (i || "").split("").reverse().join("");
265
265
  }
266
- function qe(i, t) {
266
+ function Ke(i, t) {
267
267
  return !i || !t ? 0 : i.split(t).length - 1;
268
268
  }
269
- function Be(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 Fe(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 Ne(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 Oe() {
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 Re = { trim: ve, trimLeft: be, trimRight: xe, toUpperCase: Ee, toLowerCase: ke, capitalize: we, camelize: Ce, hyphenate: Se, padStart: Le, padEnd: De, truncate: He, replaceAll: Me, format: Ie, startsWith: Te, endsWith: Ae, includes: ze, repeat: Pe, reverse: $e, countOccurrences: qe, escapeHtml: Be, unescapeHtml: Fe, generateRandom: Ne, generateUUID: Oe };
293
- function Ve(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 Ke(i) {
296
+ function Ge(i) {
297
297
  return !i || i.length === 0;
298
298
  }
299
- function We(i) {
299
+ function Ze(i) {
300
300
  return i ? i.length : 0;
301
301
  }
302
- function Ye(i, t) {
302
+ function Qe(i, t) {
303
303
  return i && i.length > 0 ? i[0] : t;
304
304
  }
305
- function Ue(i, t) {
305
+ function ts(i, t) {
306
306
  return i && i.length > 0 ? i[i.length - 1] : t;
307
307
  }
308
- function Xe(i, t, e) {
308
+ function es(i, t, e) {
309
309
  return i && i[t] !== void 0 ? i[t] : e;
310
310
  }
311
- function je(i, t, e) {
311
+ function ss(i, t, e) {
312
312
  return i ? i.slice(t, e) : [];
313
313
  }
314
- function Je(...i) {
314
+ function is(...i) {
315
315
  return i.reduce((t, e) => t.concat(e || []), []);
316
316
  }
317
- function Ge(i, t = ",") {
317
+ function ns(i, t = ",") {
318
318
  return i ? i.join(t) : "";
319
319
  }
320
- function Ze(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 Ze(i, t, e = 0) {
326
326
  }
327
327
  return i.indexOf(t, e);
328
328
  }
329
- function Qe(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 Qe(i, t, e) {
336
336
  }
337
337
  return i.lastIndexOf(t, e);
338
338
  }
339
- function ts(i, t) {
339
+ function os(i, t) {
340
340
  return i ? i.includes(t) : !1;
341
341
  }
342
- function es(i, ...t) {
342
+ function ls(i, ...t) {
343
343
  return i && i.push(...t), i;
344
344
  }
345
- function ss(i) {
345
+ function cs(i) {
346
346
  return i ? i.pop() : void 0;
347
347
  }
348
- function is(i) {
348
+ function hs(i) {
349
349
  return i ? i.shift() : void 0;
350
350
  }
351
- function ns(i, ...t) {
351
+ function ds(i, ...t) {
352
352
  return i && i.unshift(...t), i;
353
353
  }
354
- function rs(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 as(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 os(i, t, e) {
362
+ function fs(i, t, e) {
363
363
  return i && (i.splice(t, 0, e), i);
364
364
  }
365
- function ls(i) {
365
+ function ms(i) {
366
366
  return i ? i.slice().reverse() : [];
367
367
  }
368
- function cs(i, t) {
368
+ function gs(i, t) {
369
369
  return i ? i.slice().sort(t) : [];
370
370
  }
371
- function hs(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 ds(i, t) {
377
+ function ys(i, t) {
378
378
  return i ? i.filter(t) : [];
379
379
  }
380
- function us(i, t) {
380
+ function vs(i, t) {
381
381
  return i ? i.map(t) : [];
382
382
  }
383
- function ps(i, t, e) {
383
+ function bs(i, t, e) {
384
384
  return i ? i.reduce(t, e) : e;
385
385
  }
386
- function fs(i, t) {
386
+ function xs(i, t) {
387
387
  i && i.forEach(t);
388
388
  }
389
- function ms(i, t) {
389
+ function Es(i, t) {
390
390
  return i ? i.every(t) : !0;
391
391
  }
392
- function gs(i, t) {
392
+ function ks(i, t) {
393
393
  return i ? i.some(t) : !1;
394
394
  }
395
- function _s(i, t) {
395
+ function ws(i, t) {
396
396
  return i ? i.find(t) : void 0;
397
397
  }
398
- function ys(i, t) {
398
+ function Cs(i, t) {
399
399
  return i ? i.findIndex(t) : -1;
400
400
  }
401
- function vs(i, t = 1) {
401
+ function Ss(i, t = 1) {
402
402
  return i ? i.flat(t) : [];
403
403
  }
404
- function vt(i) {
405
- return i ? i.reduce((t, e) => Array.isArray(e) ? t.concat(vt(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 bs(i) {
407
+ function Ls(i) {
408
408
  return i ? [...new Set(i)] : [];
409
409
  }
410
- function xs(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 xs(i, t) {
415
415
  return e.has(n) ? !1 : (e.add(n), !0);
416
416
  });
417
417
  }
418
- function Es(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 ks(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,392 +431,392 @@ function ks(i) {
431
431
  }
432
432
  return t;
433
433
  }
434
- function bt(i) {
434
+ function wt(i) {
435
435
  return i ? i.reduce((t, e) => t + (Number(e) || 0), 0) : 0;
436
436
  }
437
- function ws(i) {
438
- return !i || i.length === 0 ? 0 : bt(i) / i.length;
437
+ function Is(i) {
438
+ return !i || i.length === 0 ? 0 : wt(i) / i.length;
439
439
  }
440
- function Cs(i) {
440
+ function Ts(i) {
441
441
  return i && i.length > 0 ? Math.max(...i) : -1 / 0;
442
442
  }
443
- function Ss(i) {
443
+ function As(i) {
444
444
  return i && i.length > 0 ? Math.min(...i) : 1 / 0;
445
445
  }
446
- function Ls(...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 Ds(...i) {
449
+ function Ps(...i) {
450
450
  return [...new Set(i.flat().filter(Boolean))];
451
451
  }
452
- function Hs(i, t) {
452
+ function $s(i, t) {
453
453
  return i ? i.filter((e) => !t || !t.includes(e)) : [];
454
454
  }
455
- function Ms(...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 Is = { isArray: Ve, isEmpty: Ke, size: We, first: Ye, last: Ue, get: Xe, slice: je, concat: Je, join: Ge, indexOf: Ze, lastIndexOf: Qe, includes: ts, push: es, pop: ss, shift: is, unshift: ns, remove: rs, removeAt: as, insert: os, reverse: ls, sort: cs, sortBy: hs, filter: ds, map: us, reduce: ps, forEach: fs, every: ms, some: gs, find: _s, findIndex: ys, flat: vs, flattenDeep: vt, unique: bs, uniqueBy: xs, chunk: Es, shuffle: ks, sum: bt, average: ws, max: Cs, min: Ss, intersection: Ls, union: Ds, difference: Hs, zip: Ms };
461
- function et(i) {
460
+ const Bs = { isArray: Je, isEmpty: Ge, size: Ze, first: Qe, last: ts, get: es, slice: ss, concat: is, join: ns, indexOf: rs, lastIndexOf: as, includes: os, push: ls, pop: cs, shift: hs, unshift: ds, remove: us, removeAt: ps, insert: fs, reverse: ms, sort: gs, sortBy: _s, filter: ys, map: vs, reduce: bs, forEach: xs, every: Es, some: ks, find: ws, findIndex: Cs, flat: Ss, flattenDeep: kt, unique: Ls, uniqueBy: Ds, chunk: Hs, shuffle: Ms, sum: wt, average: Is, max: Ts, min: As, intersection: zs, union: Ps, difference: $s, zip: qs };
461
+ function st(i) {
462
462
  return i !== null && typeof i == "object" && !Array.isArray(i);
463
463
  }
464
- function Ts(i) {
464
+ function Fs(i) {
465
465
  return !i || typeof i != "object" ? !0 : Object.keys(i).length === 0;
466
466
  }
467
- function As(i) {
467
+ function Ns(i) {
468
468
  return i ? Object.keys(i) : [];
469
469
  }
470
- function zs(i) {
470
+ function Os(i) {
471
471
  return i ? Object.values(i) : [];
472
472
  }
473
- function Ps(i) {
473
+ function Rs(i) {
474
474
  return i ? Object.entries(i) : [];
475
475
  }
476
- function $s(i, t) {
476
+ function Vs(i, t) {
477
477
  return i ? Object.prototype.hasOwnProperty.call(i, t) : !1;
478
478
  }
479
- function qs(i, t, e) {
479
+ function Ks(i, t, e) {
480
480
  if (!i) return e;
481
481
  const s = t.split(".");
482
- return s.some(J) ? e : s.reduce((n, r) => n && n[r], i) ?? e;
482
+ return s.some(G) ? e : s.reduce((n, r) => n && n[r], i) ?? e;
483
483
  }
484
- function Bs(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
- if (s.some(J)) return i;
487
+ if (s.some(G)) return i;
488
488
  const n = s.pop();
489
489
  let r = i;
490
490
  return s.forEach((a) => {
491
491
  (!r[a] || typeof r[a] != "object") && (r[a] = {}), r = r[a];
492
492
  }), r[n] = e, i;
493
493
  }
494
- function Fs(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 Ns(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 xt(...i) {
500
+ function Ct(...i) {
501
501
  return i.reduce((t, e) => (e && typeof e == "object" && Object.keys(e).forEach((s) => {
502
- J(s) || (et(e[s]) && et(t[s]) ? t[s] = xt(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 Os(i) {
505
+ function Xs(i) {
506
506
  return i && JSON.parse(JSON.stringify(i));
507
507
  }
508
- function W(i, t = /* @__PURE__ */ new WeakMap()) {
508
+ function U(i, t = /* @__PURE__ */ new WeakMap()) {
509
509
  if (!i || typeof i != "object") return i;
510
510
  if (t.has(i)) return t.get(i);
511
511
  if (i instanceof Date) return new Date(i);
512
512
  if (i instanceof RegExp) return new RegExp(i);
513
513
  if (i instanceof Map) {
514
514
  const s = /* @__PURE__ */ new Map();
515
- return t.set(i, s), i.forEach((n, r) => s.set(r, W(n, t))), s;
515
+ return t.set(i, s), i.forEach((n, r) => s.set(r, U(n, t))), s;
516
516
  }
517
517
  if (i instanceof Set) {
518
518
  const s = /* @__PURE__ */ new Set();
519
- return t.set(i, s), i.forEach((n) => s.add(W(n, t))), s;
519
+ return t.set(i, s), i.forEach((n) => s.add(U(n, t))), s;
520
520
  }
521
521
  if (Array.isArray(i)) {
522
522
  const s = [];
523
- return t.set(i, s), i.forEach((n) => s.push(W(n, t))), s;
523
+ return t.set(i, s), i.forEach((n) => s.push(U(n, t))), s;
524
524
  }
525
525
  const e = {};
526
526
  return t.set(i, e), Object.keys(i).forEach((s) => {
527
- J(s) || (e[s] = W(i[s], t));
527
+ G(s) || (e[s] = U(i[s], t));
528
528
  }), e;
529
529
  }
530
- function Rs(i, t) {
530
+ function js(i, t) {
531
531
  i && Object.keys(i).forEach((e) => t(i[e], e, i));
532
532
  }
533
- function Vs(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 Ks(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 Ws(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 Ys(i) {
550
+ function Qs(i) {
551
551
  return i ? Object.keys(i).map((t) => ({ key: t, value: i[t] })) : [];
552
552
  }
553
- function Us(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 Xs(i) {
559
+ function ei(i) {
560
560
  return i ? Object.keys(i).length : 0;
561
561
  }
562
- function js(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 Et(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) => Et(i[n], t[n]));
573
+ return e.length !== s.length ? !1 : e.every((n) => St(i[n], t[n]));
574
574
  }
575
- function kt(i) {
575
+ function Lt(i) {
576
576
  return i && (Object.freeze(i), Object.keys(i).forEach((t) => {
577
- typeof i[t] == "object" && kt(i[t]);
577
+ typeof i[t] == "object" && Lt(i[t]);
578
578
  }), i);
579
579
  }
580
- function Js(i) {
580
+ function ii(i) {
581
581
  return i && Object.seal(i);
582
582
  }
583
- const Gs = { isObject: et, isEmpty: Ts, keys: As, values: zs, entries: Ps, has: $s, get: qs, set: Bs, pick: Fs, omit: Ns, merge: xt, clone: Os, deepClone: W, forEach: Rs, map: Vs, filter: Ks, reduce: Ws, toArray: Ys, fromArray: Us, size: Xs, invert: js, isEqual: Et, freeze: kt, seal: Js };
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 Zs(i) {
587
+ function ri(i) {
588
588
  return Number.isInteger(i);
589
589
  }
590
- function Qs(i) {
590
+ function ai(i) {
591
591
  return L(i) && !Number.isInteger(i);
592
592
  }
593
- function ti(i) {
593
+ function oi(i) {
594
594
  return L(i) && i > 0;
595
595
  }
596
- function ei(i) {
596
+ function li(i) {
597
597
  return L(i) && i < 0;
598
598
  }
599
- function si(i) {
599
+ function ci(i) {
600
600
  return L(i) && i === 0;
601
601
  }
602
- function ii(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 ni(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 ri(i) {
610
+ function ui(i) {
611
611
  return L(i) ? Math.floor(i) : i;
612
612
  }
613
- function ai(i) {
613
+ function pi(i) {
614
614
  return L(i) ? Math.ceil(i) : i;
615
615
  }
616
- function oi(i) {
616
+ function fi(i) {
617
617
  return L(i) ? Math.abs(i) : i;
618
618
  }
619
- function li(...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 ci(...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 wt(...i) {
627
+ function Dt(...i) {
628
628
  return i.flat().filter(L).reduce((e, s) => e + s, 0);
629
629
  }
630
- function hi(...i) {
630
+ function _i(...i) {
631
631
  const t = i.flat().filter(L);
632
- return t.length > 0 ? wt(t) / t.length : 0;
632
+ return t.length > 0 ? Dt(t) / t.length : 0;
633
633
  }
634
- function Ct(i = 0, t = 1) {
634
+ function Ht(i = 0, t = 1) {
635
635
  return Math.random() * (t - i) + i;
636
636
  }
637
- function di(i, t) {
638
- return Math.floor(Ct(i, t + 1));
637
+ function yi(i, t) {
638
+ return Math.floor(Ht(i, t + 1));
639
639
  }
640
- function ui(i, t = 2) {
640
+ function vi(i, t = 2) {
641
641
  return L(i) ? i.toFixed(t) : String(i);
642
642
  }
643
- function pi(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 fi(i, t = 0) {
646
+ function xi(i, t = 0) {
647
647
  return L(i) ? `${(i * 100).toFixed(t)}%` : String(i);
648
648
  }
649
- function mi(i, t = 0) {
649
+ function Ei(i, t = 0) {
650
650
  return L(i) ? i.toFixed(t) : String(i);
651
651
  }
652
- function gi(i, t = 6) {
652
+ function ki(i, t = 6) {
653
653
  return L(i) ? i.toPrecision(t) : String(i);
654
654
  }
655
- function _i(i) {
655
+ function wi(i) {
656
656
  return Number.isNaN(i);
657
657
  }
658
- function yi(i) {
658
+ function Ci(i) {
659
659
  return Number.isFinite(i);
660
660
  }
661
- function vi(i, t = 10) {
661
+ function Si(i, t = 10) {
662
662
  return Number.parseInt(i, t);
663
663
  }
664
- function bi(i) {
664
+ function Li(i) {
665
665
  return Number.parseFloat(i);
666
666
  }
667
- function xi(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 Ei(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 ki(...i) {
674
+ function Mi(...i) {
675
675
  return i.reduce((t, e) => !L(t) || !L(e) ? 0 : t * e, 1);
676
676
  }
677
- const wi = { isNumber: L, isInteger: Zs, isFloat: Qs, isPositive: ti, isNegative: ei, isZero: si, clamp: ii, round: ni, floor: ri, ceil: ai, abs: oi, min: li, max: ci, sum: wt, average: hi, random: Ct, randomInt: di, format: ui, formatCurrency: pi, formatPercent: fi, toFixed: mi, toPrecision: gi, isNaN: _i, isFinite: yi, parseInt: vi, parseFloat: bi, toNumber: xi, safeDivide: Ei, safeMultiply: ki };
678
- function G() {
677
+ const Ii = { isNumber: L, isInteger: ri, isFloat: ai, isPositive: oi, isNegative: li, isZero: ci, clamp: hi, round: di, floor: ui, ceil: pi, abs: fi, min: mi, max: gi, sum: Dt, average: _i, random: Ht, randomInt: yi, format: vi, formatCurrency: bi, formatPercent: xi, toFixed: Ei, toPrecision: ki, isNaN: wi, isFinite: Ci, parseInt: Si, parseFloat: Li, toNumber: Di, safeDivide: Hi, safeMultiply: Mi };
678
+ function Z() {
679
679
  return Date.now();
680
680
  }
681
- function V() {
681
+ function K() {
682
682
  const i = /* @__PURE__ */ new Date();
683
683
  return i.setHours(0, 0, 0, 0), i;
684
684
  }
685
- function Ci() {
686
- const i = V();
685
+ function Ti() {
686
+ const i = K();
687
687
  return i.setDate(i.getDate() + 1), i;
688
688
  }
689
- function Si() {
690
- const i = V();
689
+ function Ai() {
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 St(i) {
696
+ function Mt(i) {
697
697
  return k(i);
698
698
  }
699
- function Li(i) {
699
+ function zi(i) {
700
700
  const t = new Date(i);
701
- return St(t) ? t : null;
701
+ return Mt(t) ? t : null;
702
702
  }
703
- function Di(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
705
  const e = i.getFullYear(), s = String(i.getMonth() + 1).padStart(2, "0"), n = String(i.getDate()).padStart(2, "0"), r = String(i.getHours()).padStart(2, "0"), a = String(i.getMinutes()).padStart(2, "0"), o = String(i.getSeconds()).padStart(2, "0"), l = String(i.getMilliseconds()).padStart(3, "0"), h = ["日", "一", "二", "三", "四", "五", "六"][i.getDay()];
706
706
  return t.replace("YYYY", e).replace("MM", s).replace("DD", n).replace("HH", r).replace("mm", a).replace("ss", o).replace("SSS", l).replace("D", i.getDate()).replace("M", i.getMonth() + 1).replace("H", i.getHours()).replace("m", i.getMinutes()).replace("s", i.getSeconds()).replace("W", h);
707
707
  }
708
- function Hi(i) {
708
+ function $i(i) {
709
709
  return k(i) ? i.toISOString() : "";
710
710
  }
711
- function Mi(i) {
711
+ function qi(i) {
712
712
  return k(i) ? new Date(i.toUTCString()) : null;
713
713
  }
714
- function Ii(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 Ti(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 Ai(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 zi(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;
733
733
  }
734
- function Z(i, t) {
734
+ function Q(i, t) {
735
735
  if (!k(i) || !k(t)) return 0;
736
736
  const e = new Date(i);
737
737
  e.setHours(0, 0, 0, 0);
738
738
  const s = new Date(t);
739
739
  return s.setHours(0, 0, 0, 0), Math.floor((e.getTime() - s.getTime()) / (1e3 * 60 * 60 * 24));
740
740
  }
741
- function Pi(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 $i(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 qi(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 Bi(i) {
751
- return k(i) ? Z(i, V()) === 0 : !1;
750
+ function Wi(i) {
751
+ return k(i) ? Q(i, K()) === 0 : !1;
752
752
  }
753
- function Fi(i) {
754
- return k(i) ? Z(i, V()) === -1 : !1;
753
+ function Ui(i) {
754
+ return k(i) ? Q(i, K()) === -1 : !1;
755
755
  }
756
- function Ni(i) {
757
- return k(i) ? Z(i, V()) === 1 : !1;
756
+ function Yi(i) {
757
+ return k(i) ? Q(i, K()) === 1 : !1;
758
758
  }
759
- function Oi(i) {
760
- return k(i) ? i.getTime() > G() : !1;
759
+ function Xi(i) {
760
+ return k(i) ? i.getTime() > Z() : !1;
761
761
  }
762
- function Ri(i) {
763
- return k(i) ? i.getTime() < G() : !1;
762
+ function ji(i) {
763
+ return k(i) ? i.getTime() < Z() : !1;
764
764
  }
765
- function Vi(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 Ki(i) {
770
+ function Gi(i) {
771
771
  return k(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0).getDate() : 0;
772
772
  }
773
- function Wi(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 Yi(i) {
778
+ function Qi(i) {
779
779
  return k(i) ? Math.ceil((i.getMonth() + 1) / 3) : 0;
780
780
  }
781
- function Ui(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 Xi(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 ji(i) {
791
+ function sn(i) {
792
792
  return k(i) ? new Date(i.getFullYear(), i.getMonth(), 1) : i;
793
793
  }
794
- function Ji(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 Lt(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 Gi(i, t = 1) {
802
+ function rn(i, t = 1) {
803
803
  if (!k(i)) return i;
804
- const e = Lt(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 Zi(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 Qi(i) {
813
+ function on(i) {
814
814
  if (!k(i)) return "";
815
- const e = G() - i.getTime(), s = 60 * 1e3, n = 60 * s, r = 24 * n, a = 7 * r, o = 30 * r, l = 365 * r;
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 tn = { now: G, today: V, tomorrow: Ci, yesterday: Si, isDate: k, isValid: St, parse: Li, format: Di, toISO: Hi, toUTC: Mi, addDays: Ii, addHours: Ti, addMinutes: Ai, addSeconds: zi, diffDays: Z, diffHours: Pi, diffMinutes: $i, diffSeconds: qi, isToday: Bi, isYesterday: Fi, isTomorrow: Ni, isFuture: Oi, isPast: Ri, isLeapYear: Vi, getDaysInMonth: Ki, getWeekOfYear: Wi, getQuarter: Yi, startOfDay: Ui, endOfDay: Xi, startOfMonth: ji, endOfMonth: Ji, startOfWeek: Lt, endOfWeek: Gi, getAge: Zi, fromNow: Qi };
819
- function en(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() {
@@ -835,7 +835,7 @@ function en(i, t, e = {}) {
835
835
  n = f, r = this, a = Date.now(), s ? (clearTimeout(s), s = setTimeout(d, u())) : h();
836
836
  };
837
837
  }
838
- function sn(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 sn(i, t, e = {}) {
848
848
  }, t));
849
849
  };
850
850
  }
851
- function nn(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 rn(i) {
854
+ function un(i) {
855
855
  return /^1[3-9]\d{9}$/.test(i || "");
856
856
  }
857
- function an(i) {
857
+ function pn(i) {
858
858
  return /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w.-]*)*\/?$/.test(i || "");
859
859
  }
860
- function Dt(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 Ht(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 on(i) {
867
- return Dt(i) || Ht(i);
866
+ function fn(i) {
867
+ return Tt(i) || At(i);
868
868
  }
869
- function ln(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 cn(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 hn(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 hn(i) {
882
882
  }
883
883
  return s % 10 === 0;
884
884
  }
885
- function Mt(i) {
885
+ function zt(i) {
886
886
  return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(i || "");
887
887
  }
888
- function It(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 Tt(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 dn(i) {
899
- return Mt(i) || It(i) || Tt(i);
898
+ function yn(i) {
899
+ return zt(i) || Pt(i) || $t(i);
900
900
  }
901
- function un(i) {
901
+ function vn(i) {
902
902
  return !isNaN(new Date(i).getTime());
903
903
  }
904
- function pn(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 fn(i) {
911
+ function xn(i) {
912
912
  return !i || i.trim() === "";
913
913
  }
914
- function mn(i) {
914
+ function En(i) {
915
915
  return /^\s+$/.test(i || "");
916
916
  }
917
- function gn(i) {
917
+ function kn(i) {
918
918
  return !isNaN(parseFloat(i)) && isFinite(i);
919
919
  }
920
- function _n(i) {
920
+ function wn(i) {
921
921
  return /^-?\d+$/.test(i || "");
922
922
  }
923
- function yn(i) {
923
+ function Cn(i) {
924
924
  return /^-?\d+\.\d+$/.test(i || "");
925
925
  }
926
- function vn(i) {
926
+ function Sn(i) {
927
927
  const t = parseFloat(i);
928
928
  return !isNaN(t) && t > 0;
929
929
  }
930
- function bn(i) {
930
+ function Ln(i) {
931
931
  const t = parseFloat(i);
932
932
  return !isNaN(t) && t < 0;
933
933
  }
934
- function xn(i) {
934
+ function Dn(i) {
935
935
  return /^[a-zA-Z]+$/.test(i || "");
936
936
  }
937
- function En(i) {
937
+ function Hn(i) {
938
938
  return /^[a-zA-Z0-9]+$/.test(i || "");
939
939
  }
940
- function kn(i) {
940
+ function Mn(i) {
941
941
  return /^[\u4e00-\u9fa5]+$/.test(i || "");
942
942
  }
943
- function wn(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 Cn(i, t) {
947
+ function Tn(i, t) {
948
948
  return (i || "").length >= t;
949
949
  }
950
- function Sn(i, t) {
950
+ function An(i, t) {
951
951
  return (i || "").length <= t;
952
952
  }
953
- function Ln(i, t) {
953
+ function zn(i, t) {
954
954
  return t instanceof RegExp ? t.test(i || "") : !1;
955
955
  }
956
- function Dn(i, t) {
956
+ function Pn(i, t) {
957
957
  return String(i) === String(t);
958
958
  }
959
- function At(i, t) {
959
+ function qt(i, t) {
960
960
  return (i || "").includes(t);
961
961
  }
962
- function Hn(i, t) {
963
- return !At(i, t);
962
+ function $n(i, t) {
963
+ return !qt(i, t);
964
964
  }
965
- function Mn(i) {
965
+ function qn(i) {
966
966
  return Array.isArray(i);
967
967
  }
968
- function In(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 Tn(i, t) {
972
+ function Fn(i, t) {
973
973
  return i ? i.length >= t : !1;
974
974
  }
975
- function An(i, t) {
975
+ function Nn(i, t) {
976
976
  return i ? i.length <= t : !1;
977
977
  }
978
- function zn(i) {
978
+ function On(i) {
979
979
  return i !== null && typeof i == "object" && !Array.isArray(i);
980
980
  }
981
- function Pn(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 $n(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
- zt[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,8 +996,8 @@ function $n(i, t) {
996
996
  }), a.length > 0 && (e[s] = a);
997
997
  }), { valid: Object.keys(e).length === 0, errors: e };
998
998
  }
999
- const zt = { isEmail: nn, isPhone: rn, isURL: an, isIPv4: Dt, isIPv6: Ht, isIP: on, isIDCard: ln, isPassport: cn, isCreditCard: hn, isHexColor: Mt, isRGB: It, isRGBA: Tt, isColor: dn, isDate: un, isJSON: pn, isEmpty: fn, isWhitespace: mn, isNumber: gn, isInteger: _n, isFloat: yn, isPositive: vn, isNegative: bn, isAlpha: xn, isAlphaNumeric: En, isChinese: kn, isLength: wn, minLength: Cn, maxLength: Sn, matches: Ln, equals: Dn, contains: At, notContains: Hn, isArray: Mn, arrayLength: In, arrayMinLength: Tn, arrayMaxLength: An, isObject: zn, hasKeys: Pn, validate: $n };
1000
- function qn(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
1002
  function r(d, u) {
1003
1003
  return d << u | d >>> 32 - u;
@@ -1017,15 +1017,15 @@ function qn(i) {
1017
1017
  const [f, p, m, y] = u, _ = [];
1018
1018
  for (let S = 0; S < 16; S++)
1019
1019
  _[S] = d.charCodeAt(S * 4) & 255 | (d.charCodeAt(S * 4 + 1) & 255) << 8 | (d.charCodeAt(S * 4 + 2) & 255) << 16 | (d.charCodeAt(S * 4 + 3) & 255) << 24;
1020
- let x = f, b = p, v = m, w = y;
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];
@@ -1037,7 +1037,7 @@ function qn(i) {
1037
1037
  h += (d >>> 8 * u & 255).toString(16).padStart(2, "0");
1038
1038
  }), h;
1039
1039
  }
1040
- function Bn(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
1042
  function s(c, h) {
1043
1043
  return c >>> h | c << 32 - h;
@@ -1058,15 +1058,15 @@ function Bn(i) {
1058
1058
  for (let v = 0; v < 16; v++)
1059
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(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] + w + d[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] = h;
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] + d[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 [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] + x & 4294967295, h[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];
@@ -1078,7 +1078,7 @@ function Bn(i) {
1078
1078
  l += (c >>> 8 * h & 255).toString(16).padStart(2, "0");
1079
1079
  }), l;
1080
1080
  }
1081
- function Fn(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)) : [];
@@ -1088,7 +1088,7 @@ function Fn(i) {
1088
1088
  }
1089
1089
  return e;
1090
1090
  }
1091
- function Nn(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; ) {
@@ -1097,55 +1097,55 @@ function Nn(i) {
1097
1097
  }
1098
1098
  return e;
1099
1099
  }
1100
- function On() {
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 Rn = { md5: qn, sha256: Bn, base64Encode: Fn, base64Decode: Nn, uuid: On }, $ = /* @__PURE__ */ new Map();
1107
- async function X(i, t = {}) {
1106
+ const jn = { md5: Kn, sha256: Wn, base64Encode: Un, base64Decode: Yn, uuid: Xn }, q = /* @__PURE__ */ new Map();
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 Vn(i, t = {}) {
1118
+ async function Jn(i, t = {}) {
1119
1119
  const { parallel: e = !0 } = t;
1120
- if (e) return Promise.all(i.map((n) => X(n, t)));
1120
+ if (e) return Promise.all(i.map((n) => j(n, t)));
1121
1121
  const s = [];
1122
1122
  for (const n of i)
1123
- s.push(await X(n, t));
1123
+ s.push(await j(n, t));
1124
1124
  return s;
1125
1125
  }
1126
- async function Pt(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 $t(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 Kn(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 Kn(i, t, e = {}) {
1153
1153
  throw new Error(`Failed to load font: ${i}`);
1154
1154
  }
1155
1155
  }
1156
- async function Wn(i, t = "image") {
1156
+ async function Zn(i, t = "image") {
1157
1157
  switch (t) {
1158
1158
  case "image":
1159
- return X(i);
1159
+ return j(i);
1160
1160
  case "script":
1161
- return Pt(i);
1161
+ return Ft(i);
1162
1162
  case "stylesheet":
1163
1163
  case "style":
1164
- return $t(i);
1164
+ return Nt(i);
1165
1165
  default:
1166
1166
  throw new Error(`Unsupported preload type: ${t}`);
1167
1167
  }
1168
1168
  }
1169
- function Yn(i) {
1170
- return $.has(i);
1171
- }
1172
- function Un() {
1173
- $.clear();
1174
- }
1175
- function Xn(i) {
1176
- $.delete(i);
1177
- }
1178
- const jn = { loadImage: X, loadImages: Vn, loadScript: Pt, loadStylesheet: $t, loadFont: Kn, preload: Wn, isLoaded: Yn, clearCache: Un, clearCacheByUrl: Xn }, ga = {
1179
- string: Re,
1180
- array: Is,
1181
- object: Gs,
1182
- number: wi,
1183
- date: tn,
1184
- debounce: en,
1185
- throttle: sn,
1186
- validator: zt,
1187
- crypto: Rn,
1188
- preload: jn
1169
+ function Qn(i) {
1170
+ return q.has(i);
1171
+ }
1172
+ function tr() {
1173
+ q.clear();
1174
+ }
1175
+ function er(i) {
1176
+ q.delete(i);
1177
+ }
1178
+ const sr = { loadImage: j, loadImages: Jn, loadScript: Ft, loadStylesheet: Nt, loadFont: Gn, preload: Zn, isLoaded: Qn, clearCache: tr, clearCacheByUrl: er }, Da = {
1179
+ string: je,
1180
+ array: Bs,
1181
+ object: ni,
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 Jn(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 Jn(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 lt {
1200
+ class ut {
1201
1201
  constructor() {
1202
1202
  this.children = {}, this.keys = [];
1203
1203
  }
1204
1204
  }
1205
- class tt {
1205
+ class et {
1206
1206
  constructor() {
1207
- this.root = new lt();
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 lt()), 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,9 +1242,9 @@ const g = {
1242
1242
  path: Symbol("reactive_path"),
1243
1243
  isReactive: Symbol("reactive_is_reactive")
1244
1244
  };
1245
- class Gn {
1245
+ class nr {
1246
1246
  constructor() {
1247
- this.rawData = {}, this.data = null, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new tt(), this.updateQueue = /* @__PURE__ */ new Map(), this.isProcessing = !1, this.pendingComputed = /* @__PURE__ */ new Set(), this.persistedKeys = /* @__PURE__ */ new Map(), this.snapshots = [], this.snapshotLimit = 10, this._proxyCache = /* @__PURE__ */ new WeakMap(), this.createReactiveData();
1247
+ this.rawData = {}, this.data = null, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new 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
  }
1249
1249
  createReactiveData() {
1250
1250
  const t = {
@@ -1382,7 +1382,7 @@ class Gn {
1382
1382
  t.textContent !== String(e ?? "") && (t.textContent = e ?? "");
1383
1383
  break;
1384
1384
  case "html":
1385
- const c = Jn(e);
1385
+ const c = ir(e);
1386
1386
  t.innerHTML !== c && (t.innerHTML = c);
1387
1387
  break;
1388
1388
  case "value":
@@ -1440,7 +1440,7 @@ class Gn {
1440
1440
  }), this.processComputed();
1441
1441
  }
1442
1442
  reset() {
1443
- this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new tt(), this.updateQueue.clear(), this.snapshots = [], this.createReactiveData(), this.bind();
1443
+ this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new et(), this.updateQueue.clear(), this.snapshots = [], this.createReactiveData(), this.bind();
1444
1444
  }
1445
1445
  persist(t, e = {}) {
1446
1446
  const {
@@ -1706,14 +1706,14 @@ class Gn {
1706
1706
  });
1707
1707
  }), this.persistedKeys.forEach((t, e) => {
1708
1708
  t.timeout && clearTimeout(t.timeout);
1709
- }), this.persistedKeys.clear(), this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new tt(), this.updateQueue.clear(), this.snapshots = [];
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 ct {
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 ct {
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 ct {
1779
1779
  };
1780
1780
  }
1781
1781
  }
1782
- class Zn {
1782
+ class rr {
1783
1783
  constructor() {
1784
1784
  this.stores = /* @__PURE__ */ new Map();
1785
1785
  }
1786
1786
  createStore(t, e) {
1787
- const s = new ct(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 ct && 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 Qn {
1800
+ class ar {
1801
1801
  constructor() {
1802
1802
  this.events = {}, this.delegatedEvents = {}, this.eventListeners = {};
1803
1803
  }
@@ -1854,7 +1854,7 @@ class Qn {
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,119 @@ function T(i = null) {
1874
1874
  }
1875
1875
  }), t;
1876
1876
  }
1877
- const q = new Gn(), _a = new Qn(), qt = new Zn();
1878
- function ya(i, t) {
1879
- return qt.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
+ }
1881
+ function Ia(i) {
1882
+ return Ot.getStore(i);
1883
+ }
1884
+ const T = {
1885
+ paths: {
1886
+ icons: "/icons/",
1887
+ base: "/"
1888
+ },
1889
+ theme: {
1890
+ default: "dark",
1891
+ brand: "zengqing"
1892
+ },
1893
+ i18n: {
1894
+ locale: "zh-CN",
1895
+ fallbackLocale: "en-US"
1896
+ },
1897
+ http: {
1898
+ baseURL: "",
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: {}
1932
+ },
1933
+ components: {
1934
+ autoInit: !0,
1935
+ silentErrors: !1
1936
+ },
1937
+ store: {
1938
+ persist: !0,
1939
+ prefix: "kupola-"
1940
+ },
1941
+ events: {
1942
+ global: !0
1943
+ }
1944
+ };
1945
+ function Ta(i) {
1946
+ Kt(T, i);
1947
+ }
1948
+ function lt(i) {
1949
+ return i ? hr(T, i) : T;
1950
+ }
1951
+ function Rt() {
1952
+ return T.paths.base + T.paths.icons.replace(/^\//, "");
1880
1953
  }
1881
- function va(i) {
1882
- return qt.getStore(i);
1954
+ function Aa() {
1955
+ return T.paths.base;
1883
1956
  }
1884
- const Bt = "kupola-theme", Ft = "kupola-brand", Y = [
1957
+ function or() {
1958
+ return T.theme.default;
1959
+ }
1960
+ function lr() {
1961
+ return T.theme.brand;
1962
+ }
1963
+ function za() {
1964
+ return T.http;
1965
+ }
1966
+ function cr() {
1967
+ return T.ui;
1968
+ }
1969
+ function Vt() {
1970
+ return T.security;
1971
+ }
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) {
1982
+ for (const e in t)
1983
+ t[e] instanceof Object && e in i && i[e] instanceof Object ? Kt(i[e], t[e]) : i[e] = t[e];
1984
+ return i;
1985
+ }
1986
+ function hr(i, t) {
1987
+ return t.split(".").reduce((e, s) => (e && e[s]) !== void 0 ? e[s] : void 0, i);
1988
+ }
1989
+ const Wt = "kupola-theme", Ut = "kupola-brand", Y = [
1885
1990
  { id: "green", name: "翠绿", color: "#32F08C" },
1886
1991
  { id: "xionghuang", name: "雄黄", color: "#FF9900" },
1887
1992
  { id: "jianghuang", name: "姜黄", color: "#E2C027" },
@@ -1894,12 +1999,12 @@ const Bt = "kupola-theme", Ft = "kupola-brand", Y = [
1894
1999
  { id: "zengqing", name: "曾青", color: "#535164" },
1895
2000
  { id: "roulan", name: "柔蓝", color: "#106898" }
1896
2001
  ];
1897
- function O() {
1898
- return localStorage.getItem(Bt) || "dark";
2002
+ function R() {
2003
+ return localStorage.getItem(Wt) || or();
1899
2004
  }
1900
- function st(i) {
2005
+ function it(i) {
1901
2006
  if (i !== "dark" && i !== "light") return;
1902
- document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Bt, i);
2007
+ document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Wt, i);
1903
2008
  const t = document.querySelector("[data-theme-toggle]");
1904
2009
  if (t) {
1905
2010
  t.setAttribute("data-current-theme", i);
@@ -1910,13 +2015,13 @@ function st(i) {
1910
2015
  }
1911
2016
  }
1912
2017
  }
1913
- function U() {
1914
- return localStorage.getItem(Ft) || "zengqing";
2018
+ function X() {
2019
+ return localStorage.getItem(Ut) || lr();
1915
2020
  }
1916
- function it(i) {
2021
+ function nt(i) {
1917
2022
  const t = Y.find((n) => n.id === i);
1918
2023
  if (!t) return;
1919
- document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Ft, i);
2024
+ document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Ut, i);
1920
2025
  const e = document.querySelector("[data-brand-toggle]");
1921
2026
  if (e) {
1922
2027
  e.setAttribute("data-current-brand", i);
@@ -1929,26 +2034,26 @@ function it(i) {
1929
2034
  n.getAttribute("data-brand-btn") === i ? n.classList.add("is-active") : n.classList.remove("is-active");
1930
2035
  });
1931
2036
  }
1932
- function ht(i) {
2037
+ function ft(i) {
1933
2038
  const t = i.querySelector(".theme-icon");
1934
2039
  if (t) {
1935
- const e = O();
1936
- t.src = e === "dark" ? "/icons/sun.svg" : "/icons/moon.svg";
2040
+ const e = R(), s = Rt();
2041
+ t.src = e === "dark" ? s + "sun.svg" : s + "moon.svg";
1937
2042
  }
1938
2043
  }
1939
- function tr() {
1940
- const i = O();
1941
- st(i);
1942
- const t = U();
1943
- it(t);
2044
+ function dr() {
2045
+ const i = R();
2046
+ it(i);
2047
+ const t = X();
2048
+ nt(t);
1944
2049
  const e = document.querySelector("[data-theme-toggle]");
1945
2050
  if (e) {
1946
- ht(e);
2051
+ ft(e);
1947
2052
  const o = e.onclick;
1948
2053
  e.onclick = function(l) {
1949
2054
  l.preventDefault();
1950
- const h = O() === "dark" ? "light" : "dark";
1951
- st(h), ht(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);
1952
2057
  };
1953
2058
  }
1954
2059
  let s = document.getElementById("brand-picker");
@@ -1973,34 +2078,34 @@ function tr() {
1973
2078
  o.addEventListener("click", (l) => {
1974
2079
  l.stopPropagation();
1975
2080
  const c = o.getAttribute("data-brand-btn");
1976
- it(c), s && (s.style.display = "none");
2081
+ nt(c), s && (s.style.display = "none");
1977
2082
  });
1978
2083
  });
1979
2084
  }
1980
- function ba() {
2085
+ function Ba() {
1981
2086
  const i = document.createElement("button");
1982
- i.setAttribute("data-theme-toggle", ""), i.setAttribute("data-current-theme", O()), 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";
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";
1983
2088
  const t = document.createElement("img");
1984
2089
  t.className = "theme-icon";
1985
- const e = document.getElementsByTagName("script"), s = e[e.length - 1], n = s.src.substring(0, s.src.lastIndexOf("/") + 1);
1986
- return t.src = O() === "dark" ? n + "../icons/sun.svg" : n + "../icons/moon.svg", t.width = 14, t.height = 14, t.alt = "Toggle theme", i.appendChild(t), document.body.appendChild(i), i.onclick = function(r) {
1987
- r.preventDefault();
1988
- const o = O() === "dark" ? "light" : "dark";
1989
- st(o);
2090
+ const e = Rt();
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) {
2092
+ s.preventDefault();
2093
+ const r = R() === "dark" ? "light" : "dark";
2094
+ it(r);
1990
2095
  }, i;
1991
2096
  }
1992
- function xa() {
2097
+ function Fa() {
1993
2098
  const i = document.createElement("div");
1994
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) => {
1995
2100
  const o = document.createElement("button");
1996
2101
  o.setAttribute("data-brand-btn", a.id), o.style.display = "flex", o.style.justifyContent = "center", o.style.alignItems = "center", o.style.height = "60px", o.style.backgroundColor = a.color, o.style.color = ["#32F08C", "#FF9900", "#E2C027", "#0EB0C9", "#B1A6CC"].includes(a.color) ? "#0C0C0D" : "#FFFFFF", o.style.fontWeight = "500", o.style.borderRadius = "4px", o.style.border = "none", o.style.cursor = "pointer", o.style.margin = "0", o.style.padding = "0", o.textContent = a.name, i.appendChild(o);
1997
2102
  }), document.body.appendChild(i);
1998
2103
  const t = document.createElement("button");
1999
- t.setAttribute("data-brand-toggle", ""), t.setAttribute("data-current-brand", U()), t.className = "ds-btn ds-btn--ghost ds-btn--sm", t.style.position = "fixed", t.style.top = "16px", t.style.right = "56px", t.style.zIndex = "9999", t.style.display = "flex", t.style.alignItems = "center", t.style.gap = "6px";
2104
+ t.setAttribute("data-brand-toggle", ""), t.setAttribute("data-current-brand", X()), t.className = "ds-btn ds-btn--ghost ds-btn--sm", t.style.position = "fixed", t.style.top = "16px", t.style.right = "56px", t.style.zIndex = "9999", t.style.display = "flex", t.style.alignItems = "center", t.style.gap = "6px";
2000
2105
  const e = document.createElement("span");
2001
- e.className = "brand-icon", e.style.width = "12px", e.style.height = "12px", e.style.borderRadius = "50%", e.style.backgroundColor = Y.find((a) => a.id === U()).color;
2106
+ e.className = "brand-icon", e.style.width = "12px", e.style.height = "12px", e.style.borderRadius = "50%", e.style.backgroundColor = Y.find((a) => a.id === X()).color;
2002
2107
  const s = document.createElement("span");
2003
- s.className = "brand-name", s.style.fontSize = "11px", s.textContent = Y.find((a) => a.id === U()).name, t.appendChild(e), t.appendChild(s), document.body.appendChild(t), t.onclick = function(a) {
2108
+ s.className = "brand-name", s.style.fontSize = "11px", s.textContent = Y.find((a) => a.id === X()).name, t.appendChild(e), t.appendChild(s), document.body.appendChild(t), t.onclick = function(a) {
2004
2109
  a.stopPropagation(), a.preventDefault();
2005
2110
  const o = i.style.display === "none";
2006
2111
  i.style.display = o ? "grid" : "none", o ? setTimeout(() => {
@@ -2016,11 +2121,40 @@ function xa() {
2016
2121
  a.addEventListener("click", (o) => {
2017
2122
  o.stopPropagation();
2018
2123
  const l = a.getAttribute("data-brand-btn");
2019
- it(l), i.style.display = "none";
2124
+ nt(l), i.style.display = "none";
2020
2125
  });
2021
2126
  }), { toggleBtn: t, container: i };
2022
2127
  }
2023
- class er {
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 {
2024
2158
  constructor() {
2025
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;
2026
2160
  }
@@ -2127,7 +2261,7 @@ class er {
2127
2261
  }), await Promise.all(n);
2128
2262
  }
2129
2263
  }
2130
- const E = new er(), sr = [
2264
+ const E = new ur(), pr = [
2131
2265
  { attr: "data-dropdown", cls: "ds-dropdown" },
2132
2266
  { attr: "data-select", cls: "ds-select" },
2133
2267
  { attr: "data-datepicker", cls: "ds-datepicker" },
@@ -2149,11 +2283,11 @@ const E = new er(), sr = [
2149
2283
  { cls: "ds-notification" },
2150
2284
  { cls: "ds-message" }
2151
2285
  ];
2152
- for (const i of sr)
2286
+ for (const i of pr)
2153
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);
2154
- class j {
2288
+ class J {
2155
2289
  constructor(t) {
2156
- this.element = t, this.isMounted = !1, this.isDestroyed = !1, this.props = this._parseProps(), this.state = {}, this.slots = this._parseSlots(), this._eventListeners = {}, this._appliedMixins = [], this.lifecycle = new at(), this.setupContext = null;
2290
+ this.element = t, this.isMounted = !1, this.isDestroyed = !1, this.props = this._parseProps(), this.state = {}, this.slots = this._parseSlots(), this._eventListeners = {}, this._appliedMixins = [], this.lifecycle = new ot(), this.setupContext = null;
2157
2291
  }
2158
2292
  _parseProps() {
2159
2293
  const t = {};
@@ -2252,7 +2386,7 @@ class j {
2252
2386
  };
2253
2387
  let e = Object.getPrototypeOf(this);
2254
2388
  const s = /* @__PURE__ */ new Set();
2255
- for (; e && e.constructor !== Object && e.constructor !== j; ) {
2389
+ for (; e && e.constructor !== Object && e.constructor !== J; ) {
2256
2390
  for (const [n, r] of Object.entries(t))
2257
2391
  s.has(n) || e.hasOwnProperty(n) && (Array.isArray(r) ? r.forEach((a) => {
2258
2392
  n === "render" && this.lifecycle.on(a, () => this.render?.());
@@ -2286,7 +2420,7 @@ class j {
2286
2420
  setup() {
2287
2421
  }
2288
2422
  }
2289
- function dt(i, t) {
2423
+ function mt(i, t) {
2290
2424
  Object.keys(t).forEach((e) => {
2291
2425
  if (e !== "constructor")
2292
2426
  if (typeof t[e] == "function") {
@@ -2298,12 +2432,12 @@ function dt(i, t) {
2298
2432
  i.prototype[e] = t[e];
2299
2433
  });
2300
2434
  }
2301
- class ir {
2435
+ class fr {
2302
2436
  constructor() {
2303
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();
2304
2438
  }
2305
2439
  register(t, e) {
2306
- if (!(e.prototype instanceof j))
2440
+ if (!(e.prototype instanceof J))
2307
2441
  throw new Error(`Component ${t} must extend KupolaComponent`);
2308
2442
  this.components.set(t, e);
2309
2443
  }
@@ -2327,7 +2461,7 @@ class ir {
2327
2461
  const n = (async () => {
2328
2462
  try {
2329
2463
  const r = await s(), a = r.default || r;
2330
- if (!(a.prototype instanceof j))
2464
+ if (!(a.prototype instanceof J))
2331
2465
  throw new Error(`Component ${t} must extend KupolaComponent`);
2332
2466
  return this.loadedComponents.set(t, a), a;
2333
2467
  } catch (r) {
@@ -2342,7 +2476,7 @@ class ir {
2342
2476
  useMixin(t, ...e) {
2343
2477
  e.forEach((s) => {
2344
2478
  const n = this.mixins.get(s);
2345
- n && dt(t, n);
2479
+ n && mt(t, n);
2346
2480
  });
2347
2481
  }
2348
2482
  async bootstrap(t = document) {
@@ -2383,7 +2517,7 @@ class ir {
2383
2517
  const n = t.getAttribute("data-mixins"), r = s;
2384
2518
  n && n.split(",").forEach((o) => {
2385
2519
  const l = this.mixins.get(o.trim());
2386
- l && dt(r, l);
2520
+ l && mt(r, l);
2387
2521
  });
2388
2522
  const a = new r(t);
2389
2523
  t.__kupolaInstance = a, this.instances.set(t, a), a.mount();
@@ -2429,27 +2563,37 @@ class ir {
2429
2563
  }
2430
2564
  }
2431
2565
  let M = null;
2432
- typeof window < "u" && (M = new ir());
2433
- async function ut() {
2434
- typeof window < "u" && (q.loadPersisted(), q.bind(), tr(), await E.initializeAll(), M && await M.bootstrap());
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
+ }
2435
2572
  }
2436
- typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", ut) : typeof window < "u" && setTimeout(ut, 0);
2437
- function Ea(i, t) {
2573
+ async function gt() {
2574
+ if (typeof window < "u") {
2575
+ mr();
2576
+ const i = lt();
2577
+ F.loadPersisted(), F.bind(), dr(), i.components?.autoInit !== !1 && (await E.initializeAll(), M && await M.bootstrap());
2578
+ }
2579
+ }
2580
+ typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", gt) : typeof window < "u" && setTimeout(gt, 0);
2581
+ function Va(i, t) {
2438
2582
  M && M.register(i, t);
2439
2583
  }
2440
- function ka(i, t) {
2584
+ function Ka(i, t) {
2441
2585
  M && M.registerLazy(i, t);
2442
2586
  }
2443
- function wa(i) {
2587
+ function Wa(i) {
2444
2588
  return M ? M.bootstrap(i) : Promise.resolve();
2445
2589
  }
2446
- function Ca(i, t) {
2590
+ function Ua(i, t) {
2447
2591
  M && M.defineMixin(i, t);
2448
2592
  }
2449
- function Sa(i, ...t) {
2593
+ function Ya(i, ...t) {
2450
2594
  M && M.useMixin(i, ...t);
2451
2595
  }
2452
- function La(i, t) {
2596
+ function Xa(i, t) {
2453
2597
  if (!t || typeof t != "object")
2454
2598
  throw new Error(`defineComponent("${i}"): options must be an object`);
2455
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, {
@@ -2461,9 +2605,10 @@ function La(i, t) {
2461
2605
  cssClass: t.cssClass
2462
2606
  });
2463
2607
  }
2464
- class Nt {
2608
+ class Yt {
2465
2609
  constructor(t = {}) {
2466
- this.locales = t.locales || {}, this.currentLocale = t.defaultLocale || "zh-CN", this.fallbackLocale = t.fallbackLocale || "zh-CN", this.delimiter = t.delimiter || ".", this.missingHandler = t.missingHandler || ((e) => (console.warn(`Missing translation: ${e}`), e)), this._initFromDOM();
2610
+ const e = lt();
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();
2467
2612
  }
2468
2613
  _initFromDOM() {
2469
2614
  document.querySelectorAll('script[type="application/json"][data-kupola-i18n]').forEach((s) => {
@@ -2558,32 +2703,32 @@ class Nt {
2558
2703
  return new Intl.RelativeTimeFormat(n, s).format(t, e);
2559
2704
  }
2560
2705
  }
2561
- const N = new Nt();
2562
- function Da(i) {
2563
- return new Nt(i);
2706
+ const O = new Yt();
2707
+ function ja(i) {
2708
+ return new Yt(i);
2564
2709
  }
2565
- function Ha(i, t = {}) {
2566
- return N.t(i, t);
2710
+ function Ja(i, t = {}) {
2711
+ return O.t(i, t);
2567
2712
  }
2568
- function Ma(i, t, e = {}) {
2569
- return N.n(i, t, e);
2713
+ function Ga(i, t, e = {}) {
2714
+ return O.n(i, t, e);
2570
2715
  }
2571
- function Ia(i) {
2572
- return N.setLocale(i);
2716
+ function Za(i) {
2717
+ return O.setLocale(i);
2573
2718
  }
2574
- function Ta() {
2575
- return N.getLocale();
2719
+ function Qa() {
2720
+ return O.getLocale();
2576
2721
  }
2577
- function Aa(i, t = {}) {
2578
- return N.formatDate(i, t);
2722
+ function to(i, t = {}) {
2723
+ return O.formatDate(i, t);
2579
2724
  }
2580
- function za(i, t = {}) {
2581
- return N.formatNumber(i, t);
2725
+ function eo(i, t = {}) {
2726
+ return O.formatNumber(i, t);
2582
2727
  }
2583
- function Pa(i, t, e = {}) {
2584
- return N.formatCurrency(i, t, e);
2728
+ function so(i, t, e = {}) {
2729
+ return O.formatCurrency(i, t, e);
2585
2730
  }
2586
- class nr {
2731
+ class gr {
2587
2732
  constructor() {
2588
2733
  this._listeners = /* @__PURE__ */ new Map(), this._scopeListeners = /* @__PURE__ */ new Map();
2589
2734
  }
@@ -2713,32 +2858,32 @@ class nr {
2713
2858
  this._listeners.clear(), this._scopeListeners.clear();
2714
2859
  }
2715
2860
  }
2716
- const H = new nr();
2717
- function $a(i, t, e, s) {
2861
+ const H = new gr();
2862
+ function io(i, t, e, s) {
2718
2863
  return H.on(i, t, e, s);
2719
2864
  }
2720
- function qa(i, t, e, s) {
2865
+ function no(i, t, e, s) {
2721
2866
  return H.once(i, t, e, s);
2722
2867
  }
2723
- function Ba(i, t, e) {
2868
+ function ro(i, t, e) {
2724
2869
  H.off(i, t, e);
2725
2870
  }
2726
- function Fa(i, t, e) {
2871
+ function ao(i, t, e) {
2727
2872
  return H.emit(i, t, e);
2728
2873
  }
2729
- function Na(i, t) {
2874
+ function oo(i, t) {
2730
2875
  return H.emitGlobal(i, t);
2731
2876
  }
2732
- function Oa(i) {
2877
+ function lo(i) {
2733
2878
  H.offByScope(i);
2734
2879
  }
2735
- function Ra(i, t) {
2880
+ function co(i, t) {
2736
2881
  H.offAll(i, t);
2737
2882
  }
2738
- function Va(i, t) {
2883
+ function ho(i, t) {
2739
2884
  return H.getListenerCount(i, t);
2740
2885
  }
2741
- class rr {
2886
+ class _r {
2742
2887
  constructor(t, e = {}) {
2743
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;
2744
2889
  }
@@ -2840,25 +2985,25 @@ class rr {
2840
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);
2841
2986
  }
2842
2987
  }
2843
- function Ot(i, t) {
2844
- const e = new rr(i, t);
2988
+ function Xt(i, t) {
2989
+ const e = new _r(i, t);
2845
2990
  e.init(), i._kupolaDropdown = e;
2846
2991
  }
2847
- function Ka(i = document) {
2992
+ function uo(i = document) {
2848
2993
  i.querySelectorAll(".ds-dropdown").forEach((t) => {
2849
- Ot(t);
2994
+ Xt(t);
2850
2995
  });
2851
2996
  }
2852
- function Rt(i) {
2997
+ function jt(i) {
2853
2998
  i._kupolaDropdown && (i._kupolaDropdown.destroy(), i._kupolaDropdown = null);
2854
2999
  }
2855
- function Wa() {
3000
+ function po() {
2856
3001
  document.querySelectorAll(".ds-dropdown").forEach((i) => {
2857
- Rt(i);
3002
+ jt(i);
2858
3003
  });
2859
3004
  }
2860
- E.register("dropdown", Ot, Rt);
2861
- class ar {
3005
+ E.register("dropdown", Xt, jt);
3006
+ class yr {
2862
3007
  constructor(t, e = {}) {
2863
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;
2864
3009
  }
@@ -3071,20 +3216,20 @@ class ar {
3071
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);
3072
3217
  }
3073
3218
  }
3074
- function Vt(i, t) {
3075
- const e = new ar(i, t);
3219
+ function Jt(i, t) {
3220
+ const e = new yr(i, t);
3076
3221
  e.init(), i._kupolaSelect = e;
3077
3222
  }
3078
- function Ya(i = document) {
3223
+ function fo(i = document) {
3079
3224
  i.querySelectorAll(".ds-select").forEach((t) => {
3080
- Vt(t);
3225
+ Jt(t);
3081
3226
  });
3082
3227
  }
3083
- function or(i) {
3228
+ function vr(i) {
3084
3229
  i._kupolaSelect && (i._kupolaSelect.destroy(), i._kupolaSelect = null);
3085
3230
  }
3086
- E.register("select", Vt, or);
3087
- class lr {
3231
+ E.register("select", Jt, vr);
3232
+ class br {
3088
3233
  constructor(t, e = {}) {
3089
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;
3090
3235
  }
@@ -3322,20 +3467,20 @@ class lr {
3322
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);
3323
3468
  }
3324
3469
  }
3325
- function Kt(i, t) {
3326
- const e = new lr(i, t);
3470
+ function Gt(i, t) {
3471
+ const e = new br(i, t);
3327
3472
  e.init(), i._kupolaDatepicker = e;
3328
3473
  }
3329
- function Ua(i = document) {
3474
+ function mo(i = document) {
3330
3475
  i.querySelectorAll(".ds-datepicker").forEach((t) => {
3331
- Kt(t);
3476
+ Gt(t);
3332
3477
  });
3333
3478
  }
3334
- function cr(i) {
3479
+ function xr(i) {
3335
3480
  i._kupolaDatepicker && (i._kupolaDatepicker.destroy(), i._kupolaDatepicker = null);
3336
3481
  }
3337
- E.register("datepicker", Kt, cr);
3338
- class hr {
3482
+ E.register("datepicker", Gt, xr);
3483
+ class Er {
3339
3484
  constructor(t, e = {}) {
3340
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;
3341
3486
  }
@@ -3517,20 +3662,20 @@ class hr {
3517
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);
3518
3663
  }
3519
3664
  }
3520
- function Wt(i, t) {
3521
- const e = new hr(i, t);
3665
+ function Zt(i, t) {
3666
+ const e = new Er(i, t);
3522
3667
  e.init(), i._kupolaTimepicker = e;
3523
3668
  }
3524
- function Xa(i = document) {
3669
+ function go(i = document) {
3525
3670
  i.querySelectorAll(".ds-timepicker").forEach((t) => {
3526
- Wt(t);
3671
+ Zt(t);
3527
3672
  });
3528
3673
  }
3529
- function dr(i) {
3674
+ function kr(i) {
3530
3675
  i._kupolaTimepicker && (i._kupolaTimepicker.destroy(), i._kupolaTimepicker = null);
3531
3676
  }
3532
- E.register("timepicker", Wt, dr);
3533
- class ur {
3677
+ E.register("timepicker", Zt, kr);
3678
+ class wr {
3534
3679
  constructor(t, e = {}) {
3535
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)
3536
3681
  throw new Error("Slider: Missing required elements");
@@ -3678,26 +3823,26 @@ class ur {
3678
3823
  this.disabled = !0, this.element.classList.add("is-disabled");
3679
3824
  }
3680
3825
  }
3681
- function Yt(i, t) {
3826
+ function Qt(i, t) {
3682
3827
  if (!i.__kupolaInitialized)
3683
3828
  try {
3684
- const e = new ur(i, t);
3829
+ const e = new wr(i, t);
3685
3830
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3686
3831
  } catch (e) {
3687
3832
  console.error("[Slider] Error initializing:", e);
3688
3833
  }
3689
3834
  }
3690
- function pr(i) {
3835
+ function Cr(i) {
3691
3836
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3692
3837
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3693
3838
  }
3694
- function ja() {
3839
+ function _o() {
3695
3840
  document.querySelectorAll(".ds-slider").forEach((i) => {
3696
- Yt(i);
3841
+ Qt(i);
3697
3842
  });
3698
3843
  }
3699
- E.register("slider", Yt, pr);
3700
- class fr {
3844
+ E.register("slider", Qt, Cr);
3845
+ class Sr {
3701
3846
  constructor(t, e = {}) {
3702
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 = () => {
3703
3848
  this.pauseOnHover && this.stopAutoPlay();
@@ -3778,22 +3923,22 @@ class fr {
3778
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;
3779
3924
  }
3780
3925
  }
3781
- function Ut(i, t) {
3926
+ function te(i, t) {
3782
3927
  if (i.__kupolaInitialized) return;
3783
- const e = new fr(i, t);
3928
+ const e = new Sr(i, t);
3784
3929
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3785
3930
  }
3786
- function Ja(i = document) {
3931
+ function yo(i = document) {
3787
3932
  i.querySelectorAll(".ds-carousel").forEach((t) => {
3788
- Ut(t);
3933
+ te(t);
3789
3934
  });
3790
3935
  }
3791
- function mr(i) {
3936
+ function Lr(i) {
3792
3937
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3793
3938
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3794
3939
  }
3795
- E.register("carousel", Ut, mr);
3796
- class gr {
3940
+ E.register("carousel", te, Lr);
3941
+ class Dr {
3797
3942
  constructor(t, e = {}) {
3798
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();
3799
3944
  }
@@ -3830,20 +3975,20 @@ class gr {
3830
3975
  return this.drawerEl?.classList.contains("is-visible") || !1;
3831
3976
  }
3832
3977
  }
3833
- function nt(i, t) {
3978
+ function rt(i, t) {
3834
3979
  if (i.__kupolaInitialized) return;
3835
- const e = new gr(i, t);
3980
+ const e = new Dr(i, t);
3836
3981
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
3837
3982
  }
3838
- function _r(i) {
3983
+ function Hr(i) {
3839
3984
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3840
3985
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3841
3986
  }
3842
- function Ga() {
3987
+ function vo() {
3843
3988
  document.querySelectorAll("[data-drawer]").forEach((i) => {
3844
3989
  i.addEventListener("click", () => {
3845
3990
  const t = i.getAttribute("data-drawer"), e = document.getElementById(t);
3846
- e && (nt(e, {
3991
+ e && (rt(e, {
3847
3992
  placement: i.getAttribute("data-drawer-placement") || "right",
3848
3993
  width: i.getAttribute("data-drawer-width"),
3849
3994
  height: i.getAttribute("data-drawer-height")
@@ -3851,11 +3996,11 @@ function Ga() {
3851
3996
  });
3852
3997
  }), document.querySelectorAll(".ds-drawer-mask").forEach((i) => {
3853
3998
  const t = i.parentElement;
3854
- t && nt(t);
3999
+ t && rt(t);
3855
4000
  });
3856
4001
  }
3857
- E.register("drawer", nt, _r);
3858
- class P {
4002
+ E.register("drawer", rt, Hr);
4003
+ class $ {
3859
4004
  constructor(t, e = {}) {
3860
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) => {
3861
4006
  this.escClose && s.key === "Escape" && this.isVisible() && this.close();
@@ -3871,12 +4016,12 @@ class P {
3871
4016
  this.mask.classList.add("ds-modal-fade-enter-active");
3872
4017
  })), this.modal && (this.modal.classList.add("ds-modal-zoom-enter"), requestAnimationFrame(() => {
3873
4018
  this.modal.classList.add("ds-modal-zoom-enter-active");
3874
- })), 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 })));
3875
4020
  }
3876
4021
  close() {
3877
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(() => {
3878
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");
3879
- }, 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 })));
3880
4025
  }
3881
4026
  toggleFullscreen() {
3882
4027
  this.fullscreen = !this.fullscreen, this.modal && this.modal.classList.toggle("ds-modal--fullscreen", this.fullscreen);
@@ -3885,11 +4030,11 @@ class P {
3885
4030
  return this.mask && this.mask.classList.contains("is-visible");
3886
4031
  }
3887
4032
  destroy() {
3888
- 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 = ""));
3889
4034
  }
3890
4035
  }
3891
- P._openCount = 0;
3892
- function Xt(i = {}) {
4036
+ $._openCount = 0;
4037
+ function ee(i = {}) {
3893
4038
  const {
3894
4039
  title: t = "",
3895
4040
  content: e = "",
@@ -3908,14 +4053,15 @@ function Xt(i = {}) {
3908
4053
  onCancel: m,
3909
4054
  onOpen: y,
3910
4055
  onClose: _,
3911
- footer: x = null
3912
- } = i, b = document.createElement("div");
3913
- b.className = "ds-modal-container";
3914
- let v = "";
3915
- x !== null && (typeof x == "string" ? v = `<div class="ds-modal__footer">${x}</div>` : (o || a) && (v = `<div class="ds-modal__footer">
3916
- ${a ? `<button class="ds-btn ${d}" data-modal-cancel>${c}</button>` : ""}
3917
- ${o ? `<button class="ds-btn ${h}" data-modal-confirm>${l}</button>` : ""}
3918
- </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 = `
3919
4065
  <div class="ds-modal-mask">
3920
4066
  <div class="ds-modal${r ? " ds-modal--fullscreen" : ""}" style="${r ? "" : "max-width: " + n}">
3921
4067
  <div class="ds-modal__header">
@@ -3927,17 +4073,17 @@ function Xt(i = {}) {
3927
4073
  </button>` : ""}
3928
4074
  </div>
3929
4075
  <div class="ds-modal__body"></div>
3930
- ${v}
4076
+ ${S}
3931
4077
  </div>
3932
4078
  </div>
3933
- `, document.body.appendChild(b);
3934
- const w = new P(b, { fullscreen: r, closableOnMask: f }), S = b.querySelector(".ds-modal__title");
3935
- S && (S.textContent = t);
3936
- const C = b.querySelector(".ds-modal__body");
3937
- C && (s ? C.innerHTML = e : C.textContent = e);
3938
- const D = b.querySelector("[data-modal-confirm]"), I = b.querySelector("[data-modal-cancel]");
3939
- let z = !1;
3940
- 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 () => {
3941
4087
  if (p) {
3942
4088
  D.disabled = !0, D.classList.add("is-loading");
3943
4089
  try {
@@ -3950,50 +4096,50 @@ function Xt(i = {}) {
3950
4096
  return;
3951
4097
  }
3952
4098
  }
3953
- z = !0, w.close();
3954
- }, ot = () => {
4099
+ ct = !0, w.close();
4100
+ }, dt = () => {
3955
4101
  m && m(), w.close();
3956
4102
  };
3957
- D && D.addEventListener("click", B), I && I.addEventListener("click", ot);
3958
- const me = () => {
4103
+ D && D.addEventListener("click", ht), B && B.addEventListener("click", dt);
4104
+ const Ee = () => {
3959
4105
  setTimeout(() => {
3960
- D && D.removeEventListener("click", B), I && I.removeEventListener("click", ot), w.destroy(), b.remove(), _ && _(z);
4106
+ D && D.removeEventListener("click", ht), B && B.removeEventListener("click", dt), w.destroy(), C.remove(), _ && _(ct);
3961
4107
  }, 300);
3962
- }, ge = w.close.bind(w);
4108
+ }, ke = w.close.bind(w);
3963
4109
  return w.close = () => {
3964
- ge(), me();
4110
+ ke(), Ee();
3965
4111
  }, w.open(), y && setTimeout(() => y(), 50), w;
3966
4112
  }
3967
- function Za(i) {
3968
- return typeof i == "string" && (i = { content: i }), Xt({
4113
+ function bo(i) {
4114
+ return typeof i == "string" && (i = { content: i }), ee({
3969
4115
  ...i,
3970
4116
  showCancel: !0,
3971
4117
  showConfirm: !0
3972
4118
  });
3973
4119
  }
3974
- function Qa(i) {
3975
- return typeof i == "string" && (i = { content: i }), Xt({
4120
+ function xo(i) {
4121
+ return typeof i == "string" && (i = { content: i }), ee({
3976
4122
  ...i,
3977
4123
  showCancel: !1,
3978
4124
  showConfirm: !0
3979
4125
  });
3980
4126
  }
3981
- function jt(i) {
4127
+ function se(i) {
3982
4128
  if (i.__kupolaInitialized) return;
3983
- const t = new P(i);
4129
+ const t = new $(i);
3984
4130
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
3985
4131
  }
3986
- function yr(i) {
4132
+ function Mr(i) {
3987
4133
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
3988
4134
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
3989
4135
  }
3990
- function to() {
4136
+ function Eo() {
3991
4137
  document.querySelectorAll(".ds-modal-container").forEach((i) => {
3992
- jt(i);
4138
+ se(i);
3993
4139
  });
3994
4140
  }
3995
- E.register("modal", jt, yr);
3996
- class eo {
4141
+ E.register("modal", se, Mr);
4142
+ class ko {
3997
4143
  static normal(t = {}) {
3998
4144
  return this._create({ type: "normal", ...t });
3999
4145
  }
@@ -4058,7 +4204,7 @@ class eo {
4058
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 };
4059
4205
  }
4060
4206
  }
4061
- const so = {
4207
+ const wo = {
4062
4208
  normal: function(i) {
4063
4209
  this.show({ ...i, type: "normal" });
4064
4210
  },
@@ -4104,9 +4250,9 @@ const so = {
4104
4250
  }, n);
4105
4251
  }
4106
4252
  };
4107
- function io() {
4253
+ function Co() {
4108
4254
  }
4109
- const no = {
4255
+ const So = {
4110
4256
  normal: function(i, t = {}) {
4111
4257
  this.show(i, "normal", t);
4112
4258
  },
@@ -4144,12 +4290,12 @@ const no = {
4144
4290
  }, s);
4145
4291
  }
4146
4292
  };
4147
- function ro() {
4293
+ function Lo() {
4148
4294
  }
4149
- function pt(i) {
4295
+ function _t(i) {
4150
4296
  return i ? i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;") : "";
4151
4297
  }
4152
- class vr {
4298
+ class Ir {
4153
4299
  constructor(t) {
4154
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();
4155
4301
  }
@@ -4205,7 +4351,7 @@ class vr {
4205
4351
  <div class="ds-fileupload__icon" style="width: 24px; height: 24px; border-radius: 4px;">
4206
4352
  ${s}
4207
4353
  </div>
4208
- <span class="ds-fileupload__filename">${this.truncateFilename(pt(t.name))}</span>
4354
+ <span class="ds-fileupload__filename">${this.truncateFilename(_t(t.name))}</span>
4209
4355
  <span class="ds-fileupload__size">${this.formatSize(t.size)}</span>
4210
4356
  <button class="ds-fileupload__remove" type="button" aria-label="Remove file">
4211
4357
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
@@ -4257,7 +4403,7 @@ class vr {
4257
4403
  e.onload = (s) => {
4258
4404
  const n = document.createElement("div");
4259
4405
  n.className = "ds-fileupload__preview-item", n.innerHTML = `
4260
- <img src="${s.target.result}" alt="${pt(t.name)}">
4406
+ <img src="${s.target.result}" alt="${_t(t.name)}">
4261
4407
  <button class="ds-fileupload__preview-remove" type="button" aria-label="Remove preview">
4262
4408
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4263
4409
  <path d="M18 6L6 18"/>
@@ -4307,22 +4453,22 @@ class vr {
4307
4453
  }), this._listeners = null, this.files = [], this.dropzone = null, this.input = null, this.list = null, this.progress = null, this.preview = null, this.element = null;
4308
4454
  }
4309
4455
  }
4310
- function Jt(i) {
4456
+ function ie(i) {
4311
4457
  if (i.__kupolaInitialized) return;
4312
- const t = new vr(i);
4458
+ const t = new Ir(i);
4313
4459
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4314
4460
  }
4315
- function br(i) {
4461
+ function Tr(i) {
4316
4462
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4317
4463
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4318
4464
  }
4319
- function ao() {
4465
+ function Do() {
4320
4466
  document.querySelectorAll(".ds-fileupload").forEach((i) => {
4321
- Jt(i);
4467
+ ie(i);
4322
4468
  });
4323
4469
  }
4324
- E.register("fileupload", Jt, br);
4325
- class xr {
4470
+ E.register("fileupload", ie, Tr);
4471
+ class Ar {
4326
4472
  constructor(t, e = {}) {
4327
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();
4328
4474
  }
@@ -4404,22 +4550,22 @@ class xr {
4404
4550
  this.headers[t] && (this.headers[t].isDisabled = !1, this.headers[t].item.classList.remove("is-disabled"));
4405
4551
  }
4406
4552
  }
4407
- function Gt(i, t) {
4553
+ function ne(i, t) {
4408
4554
  if (i.__kupolaInitialized) return;
4409
- const e = new xr(i, t);
4555
+ const e = new Ar(i, t);
4410
4556
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4411
4557
  }
4412
- function Er(i) {
4558
+ function zr(i) {
4413
4559
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4414
4560
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4415
4561
  }
4416
- function oo() {
4562
+ function Ho() {
4417
4563
  document.querySelectorAll(".ds-collapse").forEach((i) => {
4418
- Gt(i);
4564
+ ne(i);
4419
4565
  });
4420
4566
  }
4421
- E.register("collapse", Gt, Er);
4422
- class kr {
4567
+ E.register("collapse", ne, zr);
4568
+ class Pr {
4423
4569
  constructor(t, e = {}) {
4424
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);
4425
4571
  }
@@ -4584,20 +4730,20 @@ class kr {
4584
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;
4585
4731
  }
4586
4732
  }
4587
- function Zt(i, t) {
4588
- const e = new kr(i, t);
4733
+ function re(i, t) {
4734
+ const e = new Pr(i, t);
4589
4735
  e.init(), i._kupolaColorPicker = e;
4590
4736
  }
4591
- function lo(i = document) {
4737
+ function Mo(i = document) {
4592
4738
  i.querySelectorAll(".ds-color-picker").forEach((t) => {
4593
- Zt(t);
4739
+ re(t);
4594
4740
  });
4595
4741
  }
4596
- function wr(i) {
4742
+ function $r(i) {
4597
4743
  i._kupolaColorPicker && (i._kupolaColorPicker.destroy(), i._kupolaColorPicker = null);
4598
4744
  }
4599
- E.register("color-picker", Zt, wr);
4600
- class Cr {
4745
+ E.register("color-picker", re, $r);
4746
+ class qr {
4601
4747
  constructor(t, e = {}) {
4602
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)
4603
4749
  throw new Error("Calendar: Missing required elements");
@@ -4717,9 +4863,9 @@ class Cr {
4717
4863
  const m = this._getEventsForDate(h);
4718
4864
  if (m.length > 0) {
4719
4865
  const _ = document.createElement("span");
4720
- _.className = "ds-calendar__day-events", m.slice(0, 3).forEach((x) => {
4721
- const b = document.createElement("span");
4722
- b.className = "ds-calendar__day-event", b.style.backgroundColor = x.color || "#007bff", _.appendChild(b);
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);
4723
4869
  }), d.appendChild(_);
4724
4870
  }
4725
4871
  const y = () => {
@@ -4794,26 +4940,26 @@ class Cr {
4794
4940
  this.isRangeMode = !this.isRangeMode, this.rangeStart = null, this.rangeEnd = null, this.render(), this._emitChange();
4795
4941
  }
4796
4942
  }
4797
- function Qt(i, t) {
4943
+ function ae(i, t) {
4798
4944
  if (!i.__kupolaInitialized)
4799
4945
  try {
4800
- const e = new Cr(i, t);
4946
+ const e = new qr(i, t);
4801
4947
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4802
4948
  } catch (e) {
4803
4949
  console.error("[Calendar] Error initializing:", e);
4804
4950
  }
4805
4951
  }
4806
- function Sr(i) {
4952
+ function Br(i) {
4807
4953
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4808
4954
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4809
4955
  }
4810
- function co() {
4956
+ function Io() {
4811
4957
  document.querySelectorAll(".ds-calendar").forEach((i) => {
4812
- Qt(i);
4958
+ ae(i);
4813
4959
  });
4814
4960
  }
4815
- E.register("calendar", Qt, Sr);
4816
- class Lr {
4961
+ E.register("calendar", ae, Br);
4962
+ class Fr {
4817
4963
  constructor(t, e = {}) {
4818
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();
4819
4965
  }
@@ -4959,22 +5105,22 @@ class Lr {
4959
5105
  }), this._listeners = null, this.input = null, this.element = null;
4960
5106
  }
4961
5107
  }
4962
- function te(i, t) {
5108
+ function oe(i, t) {
4963
5109
  if (i.__kupolaInitialized) return;
4964
- const e = new Lr(i, t);
5110
+ const e = new Fr(i, t);
4965
5111
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4966
5112
  }
4967
- function Dr(i) {
5113
+ function Nr(i) {
4968
5114
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4969
5115
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4970
5116
  }
4971
- function ho() {
5117
+ function To() {
4972
5118
  document.querySelectorAll(".ds-dynamic-tags").forEach((i) => {
4973
- te(i);
5119
+ oe(i);
4974
5120
  });
4975
5121
  }
4976
- E.register("dynamic-tags", te, Dr);
4977
- class ee {
5122
+ E.register("dynamic-tags", oe, Nr);
5123
+ class le {
4978
5124
  constructor(t = {}) {
4979
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();
4980
5126
  }
@@ -5165,19 +5311,19 @@ class ee {
5165
5311
  e && e.removeEventListener("click", this.closeHandler), s && this._prevHandler && s.removeEventListener("click", this._prevHandler), n && this._nextHandler && n.removeEventListener("click", this._nextHandler), this.overlay && this.overlay.parentNode && this.overlay.parentNode.removeChild(this.overlay);
5166
5312
  }
5167
5313
  }
5168
- let R = null;
5169
- function uo() {
5170
- R || (R = new ee()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5314
+ let V = null;
5315
+ function Ao() {
5316
+ V || (V = new le()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5171
5317
  i.addEventListener("click", () => {
5172
5318
  const t = JSON.parse(i.getAttribute("data-image-preview")), e = parseInt(i.getAttribute("data-image-index")) || 0;
5173
- R.show(t, e);
5319
+ V.show(t, e);
5174
5320
  });
5175
5321
  });
5176
5322
  }
5177
- function po(i, t = 0) {
5178
- R || (R = new ee()), R.show(i, t);
5323
+ function zo(i, t = 0) {
5324
+ V || (V = new le()), V.show(i, t);
5179
5325
  }
5180
- class Hr {
5326
+ class Or {
5181
5327
  constructor(t, e = {}) {
5182
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();
5183
5329
  }
@@ -5307,22 +5453,22 @@ class Hr {
5307
5453
  }), this._listeners = [], this.closeBtn = null, this.checkbox = null, this.editInput = null, this.element = null;
5308
5454
  }
5309
5455
  }
5310
- function se(i, t) {
5456
+ function ce(i, t) {
5311
5457
  if (i.__kupolaInitialized) return;
5312
- const e = new Hr(i, t);
5458
+ const e = new Or(i, t);
5313
5459
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5314
5460
  }
5315
- function Mr(i) {
5461
+ function Rr(i) {
5316
5462
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5317
5463
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5318
5464
  }
5319
- function fo() {
5465
+ function Po() {
5320
5466
  document.querySelectorAll(".ds-tag").forEach((i) => {
5321
- se(i);
5467
+ ce(i);
5322
5468
  });
5323
5469
  }
5324
- E.register("tag", se, Mr);
5325
- class Ir {
5470
+ E.register("tag", ce, Rr);
5471
+ class Vr {
5326
5472
  constructor(t) {
5327
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();
5328
5474
  }
@@ -5382,22 +5528,22 @@ class Ir {
5382
5528
  this._observer && (this._observer.disconnect(), this._observer = null), this.animated = !1, this.valueElement = null, this.progressFill = null, this.element = null;
5383
5529
  }
5384
5530
  }
5385
- function ie(i) {
5531
+ function he(i) {
5386
5532
  if (i.__kupolaInitialized) return;
5387
- const t = new Ir(i);
5533
+ const t = new Vr(i);
5388
5534
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
5389
5535
  }
5390
- function Tr(i) {
5536
+ function Kr(i) {
5391
5537
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5392
5538
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5393
5539
  }
5394
- function mo() {
5540
+ function $o() {
5395
5541
  document.querySelectorAll(".ds-statcard").forEach((i) => {
5396
- ie(i);
5542
+ he(i);
5397
5543
  });
5398
5544
  }
5399
- E.register("statcard", ie, Tr);
5400
- class Ar {
5545
+ E.register("statcard", he, Kr);
5546
+ class Wr {
5401
5547
  constructor(t, e = {}) {
5402
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();
5403
5549
  }
@@ -5474,41 +5620,41 @@ class Ar {
5474
5620
  d.className = "ds-heatmap__weekday-labels";
5475
5621
  const u = this.element.classList.contains("ds-heatmap--compact") ? 12 : 16;
5476
5622
  this.getWeekdayLabels().forEach((_) => {
5477
- const x = document.createElement("div");
5478
- x.className = "ds-heatmap__weekday-label", x.textContent = _, x.style.height = u + "px", x.style.lineHeight = u + "px", d.appendChild(x);
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);
5479
5625
  }), h.appendChild(d);
5480
5626
  const f = document.createElement("div");
5481
5627
  f.className = "ds-heatmap__grid-container";
5482
5628
  const p = document.createElement("div");
5483
5629
  p.className = "ds-heatmap__month-labels", p.style.width = l + "px";
5484
5630
  const m = this.getMonthLabels();
5485
- m.forEach((_, x) => {
5486
- const b = document.createElement("div");
5487
- b.className = "ds-heatmap__month-label", b.textContent = _.label;
5488
- const v = m[x + 1];
5489
- let w;
5490
- 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);
5491
5637
  }), f.appendChild(p);
5492
5638
  const y = document.createElement("div");
5493
5639
  y.className = "ds-heatmap__grid", e.forEach((_) => {
5494
- const x = document.createElement("div");
5495
- x.className = "ds-heatmap__week-column", _.forEach((b) => {
5496
- if (b === null) {
5640
+ const b = document.createElement("div");
5641
+ b.className = "ds-heatmap__week-column", _.forEach((x) => {
5642
+ if (x === null) {
5497
5643
  const v = document.createElement("div");
5498
- 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);
5499
5645
  } else {
5500
- const v = this.getDataByDate(b), w = Math.max(...this.data.map((B) => B.value), 1), S = this.getLevel(v, w), C = document.createElement("div");
5501
- C.className = "ds-heatmap__cell", C.dataset.date = this.formatDate(b), C.dataset.value = v, C.style.backgroundColor = this.getCellColor(S);
5502
- const D = (B) => this.showTooltip(B, b, v), I = () => this.hideTooltip(), z = () => {
5503
- 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 });
5504
5650
  };
5505
- C.addEventListener("mouseenter", D), C.addEventListener("mouseleave", I), C.addEventListener("click", z), this._listeners.push(
5506
- { el: C, event: "mouseenter", handler: D },
5507
- { el: C, event: "mouseleave", handler: I },
5508
- { el: C, event: "click", handler: z }
5509
- ), 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);
5510
5656
  }
5511
- }), y.appendChild(x);
5657
+ }), y.appendChild(b);
5512
5658
  }), f.appendChild(y), h.appendChild(f), c.appendChild(h), t.appendChild(c), this.renderLegend(t);
5513
5659
  }
5514
5660
  renderLegend(t) {
@@ -5552,7 +5698,7 @@ class Ar {
5552
5698
  }), this._listeners = null, this.tooltip && this.tooltip.parentNode && this.tooltip.parentNode.removeChild(this.tooltip), this.tooltip = null, this.data = [], this.element = null;
5553
5699
  }
5554
5700
  }
5555
- function ne(i) {
5701
+ function de(i) {
5556
5702
  if (i.__kupolaInitialized) return;
5557
5703
  const t = i.getAttribute("data-heatmap-data");
5558
5704
  let e = [];
@@ -5560,27 +5706,27 @@ function ne(i) {
5560
5706
  try {
5561
5707
  e = JSON.parse(t);
5562
5708
  } catch {
5563
- e = ft();
5709
+ e = yt();
5564
5710
  }
5565
5711
  else
5566
- e = ft();
5567
- const s = new Ar(i, {
5712
+ e = yt();
5713
+ const s = new Wr(i, {
5568
5714
  data: e,
5569
5715
  onCellClick: (n) => {
5570
5716
  }
5571
5717
  });
5572
5718
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
5573
5719
  }
5574
- function zr(i) {
5720
+ function Ur(i) {
5575
5721
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5576
5722
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5577
5723
  }
5578
- function go() {
5724
+ function qo() {
5579
5725
  document.querySelectorAll(".ds-heatmap").forEach((i) => {
5580
- ne(i);
5726
+ de(i);
5581
5727
  });
5582
5728
  }
5583
- function ft() {
5729
+ function yt() {
5584
5730
  const i = [], t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
5585
5731
  e.setFullYear(e.getFullYear() - 1);
5586
5732
  for (let s = new Date(e); s <= t; s.setDate(s.getDate() + 1)) {
@@ -5592,8 +5738,8 @@ function ft() {
5592
5738
  }
5593
5739
  return i;
5594
5740
  }
5595
- E.register("heatmap", ne, zr);
5596
- class Pr {
5741
+ E.register("heatmap", de, Ur);
5742
+ class Yr {
5597
5743
  constructor(t, e = {}) {
5598
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;
5599
5745
  }
@@ -5684,20 +5830,20 @@ class Pr {
5684
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);
5685
5831
  }
5686
5832
  }
5687
- function re(i, t) {
5688
- const e = new Pr(i, t);
5833
+ function ue(i, t) {
5834
+ const e = new Yr(i, t);
5689
5835
  e.init(), i._kupolaTooltip = e;
5690
5836
  }
5691
- function _o(i = document) {
5837
+ function Bo(i = document) {
5692
5838
  i.querySelectorAll("[data-tooltip]").forEach((t) => {
5693
- re(t);
5839
+ ue(t);
5694
5840
  });
5695
5841
  }
5696
- function $r(i) {
5842
+ function Xr(i) {
5697
5843
  i._kupolaTooltip && (i._kupolaTooltip.destroy(), i._kupolaTooltip = null);
5698
5844
  }
5699
- E.register("tooltip", re, $r);
5700
- class qr {
5845
+ E.register("tooltip", ue, Xr);
5846
+ class jr {
5701
5847
  constructor() {
5702
5848
  this.validators = {
5703
5849
  required: this.validateRequired,
@@ -5923,20 +6069,20 @@ class qr {
5923
6069
  }[t] || "Invalid input";
5924
6070
  }
5925
6071
  }
5926
- const A = new qr();
6072
+ const P = new jr();
5927
6073
  window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized = !0, document.addEventListener("DOMContentLoaded", () => {
5928
6074
  document.querySelectorAll("form[data-validation]").forEach((i) => {
5929
6075
  i.addEventListener("submit", async (t) => {
5930
6076
  const e = i.id || `form-${Math.random().toString(36).substr(2, 9)}`;
5931
- if (A.submitting.has(e)) {
6077
+ if (P.submitting.has(e)) {
5932
6078
  t.preventDefault();
5933
6079
  return;
5934
6080
  }
5935
6081
  t.preventDefault();
5936
6082
  const s = i.querySelector("[data-validate-async]") !== null;
5937
6083
  let n;
5938
- if (s ? n = await A.validateAsync(i) : n = A.validate(i), n) {
5939
- A.submitting.add(e);
6084
+ if (s ? n = await P.validateAsync(i) : n = P.validate(i), n) {
6085
+ P.submitting.add(e);
5940
6086
  const r = i.querySelector('button[type="submit"]');
5941
6087
  if (r) {
5942
6088
  const a = r.textContent;
@@ -5946,7 +6092,7 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
5946
6092
  const a = i.getAttribute("data-on-submit");
5947
6093
  a && window[a] ? await window[a](i) : i.submit();
5948
6094
  } finally {
5949
- 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);
5950
6096
  }
5951
6097
  } else {
5952
6098
  const r = i.querySelector(".ds-input--error");
@@ -5958,7 +6104,7 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
5958
6104
  const n = document.activeElement;
5959
6105
  if (n && n.closest(".ds-select"))
5960
6106
  return;
5961
- A.validateInput(t) && t.value.trim() && A.showSuccess(t);
6107
+ P.validateInput(t) && t.value.trim() && P.showSuccess(t);
5962
6108
  }, 50);
5963
6109
  });
5964
6110
  const s = ((n, r) => {
@@ -5967,16 +6113,16 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
5967
6113
  clearTimeout(a), a = setTimeout(() => n(...o), r);
5968
6114
  };
5969
6115
  })(() => {
5970
- const n = A.getValue(t);
5971
- 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);
5972
6118
  }, 300);
5973
6119
  t.addEventListener("input", s), t.addEventListener("keyup", (n) => {
5974
- 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);
5975
6121
  });
5976
6122
  });
5977
6123
  });
5978
6124
  }));
5979
- class Br {
6125
+ class Jr {
5980
6126
  constructor(t, e = {}) {
5981
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();
5982
6128
  }
@@ -6215,7 +6361,7 @@ class Br {
6215
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;
6216
6362
  }
6217
6363
  }
6218
- function mt(i = 1e3) {
6364
+ function vt(i = 1e3) {
6219
6365
  const t = [], e = ["Document", "Image", "Video", "Folder", "Archive", "Spreadsheet", "Presentation", "Code"];
6220
6366
  for (let s = 1; s <= i; s++) {
6221
6367
  const n = Math.floor(Math.random() * e.length), r = Math.floor(Math.random() * 1e4);
@@ -6228,7 +6374,7 @@ function mt(i = 1e3) {
6228
6374
  }
6229
6375
  return t;
6230
6376
  }
6231
- function Fr(i) {
6377
+ function Gr(i) {
6232
6378
  if (i.__kupolaInitialized) return;
6233
6379
  const t = i.getAttribute("data-virtual-list");
6234
6380
  let e = [];
@@ -6236,11 +6382,11 @@ function Fr(i) {
6236
6382
  try {
6237
6383
  e = JSON.parse(t);
6238
6384
  } catch {
6239
- e = mt(1e3);
6385
+ e = vt(1e3);
6240
6386
  }
6241
6387
  else
6242
- e = mt(1e3);
6243
- const s = new Br(i, {
6388
+ e = vt(1e3);
6389
+ const s = new Jr(i, {
6244
6390
  data: e,
6245
6391
  onItemClick: (n) => {
6246
6392
  },
@@ -6249,12 +6395,12 @@ function Fr(i) {
6249
6395
  });
6250
6396
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
6251
6397
  }
6252
- function Nr(i) {
6398
+ function Zr(i) {
6253
6399
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6254
6400
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6255
6401
  }
6256
- E.register("virtual-list", Fr, Nr);
6257
- const Or = '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"', ae = {
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 = {
6258
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"/>',
6259
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"/>',
6260
6406
  mouse: '<rect x="6" y="2" width="12" height="20" rx="6"/><line x1="12" y1="6" x2="12" y2="11"/>',
@@ -6364,19 +6510,19 @@ const Or = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0
6364
6510
  code: '<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',
6365
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"/>'
6366
6512
  };
6367
- function oe(i, t = 16, e = "0 0 24 24") {
6368
- const s = ae[i];
6369
- return s ? `<svg ${Or.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>` : "";
6370
6516
  }
6371
- function rt(i = document) {
6517
+ function at(i = document) {
6372
6518
  i.querySelectorAll("[data-icon]").forEach((t) => {
6373
6519
  const e = t.getAttribute("data-icon"), s = +t.getAttribute("data-size") || 16, n = t.getAttribute("data-viewbox") || "0 0 24 24";
6374
- t.innerHTML = oe(e, s, n), t.classList.add("icon");
6520
+ t.innerHTML = fe(e, s, n), t.classList.add("icon");
6375
6521
  });
6376
6522
  }
6377
- const yo = { svg: oe, render: rt, PATHS: ae };
6378
- typeof document < "u" && (document.readyState !== "loading" ? rt() : document.addEventListener("DOMContentLoaded", () => rt()));
6379
- class Rr {
6523
+ const Fo = { svg: fe, render: at, PATHS: pe };
6524
+ typeof document < "u" && (document.readyState !== "loading" ? at() : document.addEventListener("DOMContentLoaded", () => at()));
6525
+ class ta {
6380
6526
  constructor(t) {
6381
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();
6382
6528
  }
@@ -6428,22 +6574,22 @@ class Rr {
6428
6574
  this.stop(), this.hoursEl = null, this.minutesEl = null, this.secondsEl = null, this.element = null;
6429
6575
  }
6430
6576
  }
6431
- function le(i) {
6577
+ function me(i) {
6432
6578
  if (i.__kupolaInitialized) return;
6433
- const t = new Rr(i);
6579
+ const t = new ta(i);
6434
6580
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6435
6581
  }
6436
- function Vr(i) {
6582
+ function ea(i) {
6437
6583
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6438
6584
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6439
6585
  }
6440
- function vo() {
6586
+ function No() {
6441
6587
  document.querySelectorAll(".ds-countdown").forEach((t) => {
6442
- le(t);
6588
+ me(t);
6443
6589
  });
6444
6590
  }
6445
- E.register("countdown", le, Vr);
6446
- class Kr {
6591
+ E.register("countdown", me, ea);
6592
+ class sa {
6447
6593
  constructor(t) {
6448
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)
6449
6595
  throw new Error("NumberInput: Missing required elements");
@@ -6494,26 +6640,26 @@ class Kr {
6494
6640
  }), this._listeners = null, this.minusBtn = null, this.plusBtn = null, this.inputEl = null, this.element = null;
6495
6641
  }
6496
6642
  }
6497
- function ce(i) {
6643
+ function ge(i) {
6498
6644
  if (!i.__kupolaInitialized)
6499
6645
  try {
6500
- const t = new Kr(i);
6646
+ const t = new sa(i);
6501
6647
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6502
6648
  } catch (t) {
6503
6649
  console.error("[NumberInput] Error initializing:", t);
6504
6650
  }
6505
6651
  }
6506
- function Wr(i) {
6652
+ function ia(i) {
6507
6653
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6508
6654
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6509
6655
  }
6510
- function bo() {
6656
+ function Oo() {
6511
6657
  document.querySelectorAll(".ds-number-input").forEach((i) => {
6512
- ce(i);
6658
+ ge(i);
6513
6659
  });
6514
6660
  }
6515
- E.register("number-input", ce, Wr);
6516
- class Yr {
6661
+ E.register("number-input", ge, ia);
6662
+ class na {
6517
6663
  constructor(t) {
6518
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 = {
6519
6665
  tolerance: 6,
@@ -6656,22 +6802,22 @@ class Yr {
6656
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);
6657
6803
  }
6658
6804
  }
6659
- function Ur() {
6805
+ function ra() {
6660
6806
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6661
- const t = new Yr(i);
6807
+ const t = new na(i);
6662
6808
  t.init(), i._kupolaSlideCaptcha = t;
6663
6809
  });
6664
6810
  }
6665
- function Xr(i) {
6811
+ function aa(i) {
6666
6812
  i._kupolaSlideCaptcha && (i._kupolaSlideCaptcha.destroy(), i._kupolaSlideCaptcha = null);
6667
6813
  }
6668
- function jr() {
6814
+ function oa() {
6669
6815
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
6670
- Xr(i);
6816
+ aa(i);
6671
6817
  });
6672
6818
  }
6673
- E.register("slide-captcha", Ur, jr);
6674
- class Jr {
6819
+ E.register("slide-captcha", ra, oa);
6820
+ class la {
6675
6821
  constructor(t) {
6676
6822
  this.form = t, this.fields = [], this.validators = {}, this.errorMessages = {}, this._submitHandler = null, this._fieldHandlers = /* @__PURE__ */ new Map(), this._init();
6677
6823
  }
@@ -6811,23 +6957,23 @@ class Jr {
6811
6957
  }), this._submitHandler = null, this._fieldHandlers.clear(), this._fieldHandlers = null, this.fields = null, this.validators = null, this.errorMessages = null, this.form = null;
6812
6958
  }
6813
6959
  }
6814
- function Gr(i) {
6960
+ function ca(i) {
6815
6961
  const t = document.querySelectorAll(i || ".ds-form");
6816
6962
  return t.forEach((e) => {
6817
6963
  if (e._kupolaForm) return;
6818
- const s = new Jr(e);
6964
+ const s = new la(e);
6819
6965
  e._kupolaForm = s;
6820
6966
  }), t.length;
6821
6967
  }
6822
- function xo(i) {
6968
+ function Ro(i) {
6823
6969
  return i._kupolaForm;
6824
6970
  }
6825
- function Eo(i) {
6971
+ function Vo(i) {
6826
6972
  const t = i._kupolaForm;
6827
6973
  return t ? t.validate() : !1;
6828
6974
  }
6829
- E.register("form-validation", Gr);
6830
- class Zr {
6975
+ E.register("form-validation", ca);
6976
+ class ha {
6831
6977
  constructor() {
6832
6978
  this._queue = /* @__PURE__ */ new Set(), this._scheduled = !1, this._flushDepth = 0, this._maxDepth = 10;
6833
6979
  }
@@ -6854,8 +7000,8 @@ class Zr {
6854
7000
  this._flushDepth--;
6855
7001
  }
6856
7002
  }
6857
- const Qr = new Zr();
6858
- class ta {
7003
+ const da = new ha();
7004
+ class ua {
6859
7005
  constructor(t, e) {
6860
7006
  this.data = t, this.createdAt = Date.now(), this.ttl = e;
6861
7007
  }
@@ -6866,7 +7012,7 @@ class ta {
6866
7012
  return !this.isFresh;
6867
7013
  }
6868
7014
  }
6869
- class he {
7015
+ class _e {
6870
7016
  constructor() {
6871
7017
  this._store = /* @__PURE__ */ new Map();
6872
7018
  }
@@ -6875,7 +7021,7 @@ class he {
6875
7021
  return e || null;
6876
7022
  }
6877
7023
  set(t, e, s = 6e4) {
6878
- this._store.set(t, new ta(e, s));
7024
+ this._store.set(t, new ua(e, s));
6879
7025
  }
6880
7026
  has(t) {
6881
7027
  return this._store.has(t);
@@ -6892,24 +7038,24 @@ class he {
6892
7038
  return e ? e.data : null;
6893
7039
  }
6894
7040
  }
6895
- class F extends Error {
7041
+ class N extends Error {
6896
7042
  constructor(t, e, s) {
6897
7043
  super(t), this.name = "DependsError", this.code = e, this.cause = s, this.timestamp = Date.now();
6898
7044
  }
6899
7045
  }
6900
- let Q = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
6901
- function ko(i) {
7046
+ let tt = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7047
+ function Ko(i) {
6902
7048
  if (!i || typeof i.fetch != "function")
6903
7049
  throw new TypeError("[Kupola] configureHttpClient: client must provide a fetch function");
6904
- Q = i.fetch.bind(i);
7050
+ tt = i.fetch.bind(i);
6905
7051
  }
6906
- function wo() {
6907
- return Q;
7052
+ function Wo() {
7053
+ return tt;
6908
7054
  }
6909
- function Co() {
6910
- Q = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7055
+ function Uo() {
7056
+ tt = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
6911
7057
  }
6912
- class K {
7058
+ class W {
6913
7059
  constructor(t, e) {
6914
7060
  this.config = t, this.cacheKey = t.cacheKey || String(t.source), this.staleTime = t.staleTime ?? 6e4, this.cache = e, this.subscribers = [], this.pending = null, this.retryCount = t.retry ?? 0, this.retryDelay = t.retryDelay ?? 1e3, this.onError = t.onError || null;
6915
7061
  }
@@ -6920,7 +7066,7 @@ class K {
6920
7066
  };
6921
7067
  }
6922
7068
  notify() {
6923
- Qr.schedule(() => {
7069
+ da.schedule(() => {
6924
7070
  this.subscribers.forEach((t) => {
6925
7071
  try {
6926
7072
  t();
@@ -6931,7 +7077,7 @@ class K {
6931
7077
  });
6932
7078
  }
6933
7079
  async fetch(t) {
6934
- throw new F("Source fetch not implemented", "NOT_IMPLEMENTED");
7080
+ throw new N("Source fetch not implemented", "NOT_IMPLEMENTED");
6935
7081
  }
6936
7082
  async getValue(t) {
6937
7083
  const e = this.cache.get(this.cacheKey);
@@ -6946,7 +7092,7 @@ class K {
6946
7092
  const r = this.retryDelay * Math.pow(2, e), a = Math.random() * r * 0.5, o = r + a;
6947
7093
  return await new Promise((l) => setTimeout(l, o)), this._fetchWithRetry(t, e + 1);
6948
7094
  }
6949
- const n = s instanceof F ? s : new F(s.message || "Fetch failed", "FETCH_ERROR", s);
7095
+ const n = s instanceof N ? s : new N(s.message || "Fetch failed", "FETCH_ERROR", s);
6950
7096
  if (this.onError)
6951
7097
  try {
6952
7098
  this.onError(n);
@@ -6968,35 +7114,37 @@ class K {
6968
7114
  this.subscribers = [], this.pending = null;
6969
7115
  }
6970
7116
  }
6971
- class ea extends K {
7117
+ class pa extends W {
6972
7118
  constructor(t, e) {
6973
7119
  super(t, e), this.method = t.method || "GET", this.headers = t.headers || {}, this.queryParams = t.query || {};
6974
7120
  }
6975
7121
  async fetch(t) {
6976
7122
  let e = this.config.source;
6977
- for (const h in t)
6978
- e = e.replace(`:${h}`, encodeURIComponent(t[h]));
6979
- const s = [];
6980
- for (const [h, d] of Object.entries(this.queryParams || {}))
6981
- s.push(`${encodeURIComponent(h)}=${encodeURIComponent(d)}`);
6982
- for (const h in t)
6983
- this.config.source.includes(`:${h}`) || s.push(`${encodeURIComponent(h)}=${encodeURIComponent(t[h])}`);
6984
- s.length > 0 && (e += (e.includes("?") ? "&" : "?") + s.join("&"));
6985
- const n = {
7123
+ const s = lt("http");
7124
+ s?.baseURL && !e.startsWith("http://") && !e.startsWith("https://") && (e = s.baseURL + e.replace(/^\//, ""));
7125
+ for (const u in t)
7126
+ e = e.replace(`:${u}`, encodeURIComponent(t[u]));
7127
+ const n = [];
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])}`);
7132
+ n.length > 0 && (e += (e.includes("?") ? "&" : "?") + n.join("&"));
7133
+ const r = s?.headers || {}, a = {
6986
7134
  method: this.method.toUpperCase(),
6987
- headers: { "Content-Type": "application/json", ...this.headers }
7135
+ headers: { "Content-Type": "application/json", ...r, ...this.headers }
6988
7136
  };
6989
- ["POST", "PUT", "PATCH"].includes(n.method) && (n.body = JSON.stringify(t));
6990
- const r = Q;
6991
- if (!r)
6992
- throw new F("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
6993
- const a = await r(e, n), o = typeof a.ok == "boolean" ? a.ok : a.status >= 200 && a.status < 300, l = typeof a.status == "number" ? a.status : 0;
7137
+ s?.withCredentials && (a.credentials = "include"), ["POST", "PUT", "PATCH"].includes(a.method) && (a.body = JSON.stringify(t));
7138
+ const o = tt;
6994
7139
  if (!o)
6995
- throw new F(`HTTP ${l}`, "HTTP_ERROR");
6996
- return typeof a.json == "function" ? await a.json() : a.data !== void 0 ? a.data : a;
7140
+ throw new N("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
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;
6997
7145
  }
6998
7146
  }
6999
- class de extends K {
7147
+ class ye extends W {
7000
7148
  constructor(t, e) {
7001
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) => {
7002
7150
  s.key === this.storageKey && (this.cache.delete(this.cacheKey), this.notify());
@@ -7023,7 +7171,7 @@ class de extends K {
7023
7171
  super.destroy(), this._storageHandler && window.removeEventListener("storage", this._storageHandler);
7024
7172
  }
7025
7173
  }
7026
- class sa extends K {
7174
+ class fa extends W {
7027
7175
  constructor(t, e) {
7028
7176
  super(t, e), this.paramName = t.source.replace("route:", "");
7029
7177
  }
@@ -7033,17 +7181,17 @@ class sa extends K {
7033
7181
  return e ? decodeURIComponent(e[1]) : new URLSearchParams(location.search).get(this.paramName) || "";
7034
7182
  }
7035
7183
  }
7036
- class ia extends K {
7184
+ class ma extends W {
7037
7185
  async fetch(t) {
7038
7186
  return await this.config.source(t);
7039
7187
  }
7040
7188
  }
7041
- class na extends K {
7189
+ class ga extends W {
7042
7190
  async fetch() {
7043
7191
  return this.config.source;
7044
7192
  }
7045
7193
  }
7046
- class ue extends K {
7194
+ class ve extends W {
7047
7195
  constructor(t, e) {
7048
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;
7049
7197
  }
@@ -7061,7 +7209,7 @@ class ue extends K {
7061
7209
  }
7062
7210
  this.cache.set(this.cacheKey, n, this.staleTime), this.notify();
7063
7211
  }, this.ws.onmessage = this.messageHandler, this.ws.onerror = (s) => {
7064
- this._connected || e(new F("WebSocket connection failed", "WS_ERROR", s));
7212
+ this._connected || e(new N("WebSocket connection failed", "WS_ERROR", s));
7065
7213
  }, this.ws.onclose = () => {
7066
7214
  if (this._connected = !1, this.reconnect && !this._destroyed) {
7067
7215
  const s = this.reconnectDelay * Math.pow(2, this._reconnectAttempt), n = Math.random() * s * 0.3, r = Math.min(s + n, this._maxReconnectDelay);
@@ -7072,7 +7220,7 @@ class ue extends K {
7072
7220
  }
7073
7221
  };
7074
7222
  } catch (s) {
7075
- e(new F("WebSocket creation failed", "WS_ERROR", s));
7223
+ e(new N("WebSocket creation failed", "WS_ERROR", s));
7076
7224
  }
7077
7225
  });
7078
7226
  }
@@ -7083,50 +7231,50 @@ class ue extends K {
7083
7231
  this._destroyed = !0, super.destroy(), this.ws && (this.ws.onmessage = null, this.ws.onclose = null, this.ws.close(), this.ws = null);
7084
7232
  }
7085
7233
  }
7086
- function pe(i, t) {
7234
+ function be(i, t) {
7087
7235
  const e = i.source;
7088
- return typeof e == "function" ? new ia(i, t) : typeof e == "string" && (e.startsWith("ws://") || e.startsWith("wss://")) ? new ue(i, t) : typeof e == "string" && (e.startsWith("/") || e.startsWith("http")) ? new ea(i, t) : typeof e == "string" && e.startsWith("localStorage:") ? new de(i, t) : typeof e == "string" && e.startsWith("route:") ? new sa(i, t) : new na(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);
7089
7237
  }
7090
- function So(i, t) {
7091
- const e = {}, s = new he(), n = [];
7238
+ function Yo(i, t) {
7239
+ const e = {}, s = new _e(), n = [];
7092
7240
  for (const r in t) {
7093
7241
  let p = function() {
7094
- return gt(i);
7242
+ return bt(i);
7095
7243
  }, a = t[r];
7096
7244
  typeof a == "string" && (a = { source: a });
7097
7245
  const o = {
7098
7246
  ...a,
7099
- cacheKey: a.cacheKey || `${r}-${JSON.stringify(gt(i))}`
7100
- }, l = pe(o, s), c = T(null), h = T(!0), d = 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);
7101
7249
  let f = 0;
7102
7250
  async function m() {
7103
- const x = ++f;
7251
+ const b = ++f;
7104
7252
  h.value = !0, d.value = null;
7105
7253
  try {
7106
- const b = await l.getValue(p());
7107
- if (x !== f) return;
7108
- c.value = b, u.value = Date.now();
7109
- } catch (b) {
7110
- if (x !== f) return;
7111
- d.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";
7112
7260
  } finally {
7113
- x === f && (h.value = !1);
7261
+ b === f && (h.value = !1);
7114
7262
  }
7115
7263
  }
7116
7264
  m();
7117
7265
  const y = l.subscribe(() => {
7118
- const x = s.getStale(l.cacheKey);
7119
- 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());
7120
7268
  });
7121
7269
  n.push(y);
7122
7270
  const _ = Object.keys(i);
7123
- _.length > 0 && _.forEach((x) => {
7124
- const b = i[x];
7125
- 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) {
7126
7274
  const v = () => {
7127
7275
  l.invalidate(), m();
7128
7276
  };
7129
- b._subscribers.add(v), n.push(() => b._subscribers.delete(v));
7277
+ x._subscribers.add(v), n.push(() => x._subscribers.delete(v));
7130
7278
  }
7131
7279
  }), e[r] = {
7132
7280
  data: c,
@@ -7137,12 +7285,12 @@ function So(i, t) {
7137
7285
  return l.invalidate(), m();
7138
7286
  },
7139
7287
  // For StorageSource
7140
- setValue(x) {
7141
- l instanceof de && (l.setValue(x), c.value = x);
7288
+ setValue(b) {
7289
+ l instanceof ye && (l.setValue(b), c.value = b);
7142
7290
  },
7143
7291
  // For WebSocketSource
7144
- send(x) {
7145
- l instanceof ue && l.send(x);
7292
+ send(b) {
7293
+ l instanceof ve && l.send(b);
7146
7294
  },
7147
7295
  _source: l
7148
7296
  };
@@ -7154,8 +7302,8 @@ function So(i, t) {
7154
7302
  }
7155
7303
  }, window.__kupolaDepInstances || (window.__kupolaDepInstances = []), window.__kupolaDepInstances.push(e), e;
7156
7304
  }
7157
- function Lo(i) {
7158
- const t = new he(), e = pe(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);
7159
7307
  let a = 0;
7160
7308
  async function o() {
7161
7309
  const l = ++a;
@@ -7183,7 +7331,7 @@ function Lo(i) {
7183
7331
  }
7184
7332
  };
7185
7333
  }
7186
- function gt(i) {
7334
+ function bt(i) {
7187
7335
  const t = {};
7188
7336
  for (const e in i) {
7189
7337
  const s = i[e];
@@ -7191,11 +7339,11 @@ function gt(i) {
7191
7339
  }
7192
7340
  return t;
7193
7341
  }
7194
- function Do() {
7342
+ function jo() {
7195
7343
  }
7196
- class ra {
7344
+ class _a {
7197
7345
  constructor(t, e = {}) {
7198
- 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();
7199
7347
  }
7200
7348
  _init() {
7201
7349
  this.element.classList.add("kupola-table-wrapper"), this.virtualScroll && this.element.classList.add("kupola-table-virtual-wrapper"), this.render();
@@ -7733,10 +7881,10 @@ class ra {
7733
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 = {};
7734
7882
  }
7735
7883
  }
7736
- function fe(i, t) {
7737
- return new ra(i, t);
7884
+ function xe(i, t) {
7885
+ return new _a(i, t);
7738
7886
  }
7739
- function Ho() {
7887
+ function Jo() {
7740
7888
  document.querySelectorAll("[data-kupola-table]").forEach((i) => {
7741
7889
  const t = i.getAttribute("data-kupola-table");
7742
7890
  let e = {};
@@ -7745,13 +7893,13 @@ function Ho() {
7745
7893
  e = JSON.parse(t);
7746
7894
  } catch {
7747
7895
  }
7748
- fe(i, e);
7896
+ xe(i, e);
7749
7897
  });
7750
7898
  }
7751
- E.register("table", fe);
7752
- class aa {
7899
+ E.register("table", xe);
7900
+ class ya {
7753
7901
  constructor(t, e = {}) {
7754
- 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();
7755
7903
  }
7756
7904
  _init() {
7757
7905
  this.element.classList.add("kupola-pagination"), this.render();
@@ -7849,9 +7997,9 @@ class aa {
7849
7997
  this.element.innerHTML = "", this.element.classList.remove("kupola-pagination");
7850
7998
  }
7851
7999
  }
7852
- let _t = !1;
7853
- function oa() {
7854
- if (_t || typeof document > "u") return;
8000
+ let xt = !1;
8001
+ function va() {
8002
+ if (xt || typeof document > "u") return;
7855
8003
  const i = document.createElement("style");
7856
8004
  i.textContent = `
7857
8005
  .kupola-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@@ -7867,13 +8015,13 @@ function oa() {
7867
8015
  .kupola-pagination-jumper { font-size: 14px; color: #666; }
7868
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; }
7869
8017
  .kupola-pagination-jumper input:focus { outline: none; border-color: #1890ff; }
7870
- `, document.head.appendChild(i), _t = !0;
8018
+ `, document.head.appendChild(i), xt = !0;
7871
8019
  }
7872
- function Mo(i, t) {
7873
- return oa(), new aa(i, t);
8020
+ function Go(i, t) {
8021
+ return va(), new ya(i, t);
7874
8022
  }
7875
- let yt = !1;
7876
- class la extends HTMLElement {
8023
+ let Et = !1;
8024
+ class ba extends HTMLElement {
7877
8025
  static get observedAttributes() {
7878
8026
  return ["open"];
7879
8027
  }
@@ -7895,7 +8043,7 @@ class la extends HTMLElement {
7895
8043
  }
7896
8044
  }
7897
8045
  }
7898
- class ca extends HTMLElement {
8046
+ class xa extends HTMLElement {
7899
8047
  static get observedAttributes() {
7900
8048
  return ["title", "position"];
7901
8049
  }
@@ -7910,7 +8058,7 @@ class ca extends HTMLElement {
7910
8058
  }
7911
8059
  }
7912
8060
  }
7913
- class ha extends HTMLElement {
8061
+ class Ea extends HTMLElement {
7914
8062
  connectedCallback() {
7915
8063
  this._render();
7916
8064
  }
@@ -7928,13 +8076,13 @@ class ha extends HTMLElement {
7928
8076
  }), this.innerHTML = "", this.appendChild(t);
7929
8077
  }
7930
8078
  }
7931
- class da extends HTMLElement {
8079
+ class ka extends HTMLElement {
7932
8080
  static get observedAttributes() {
7933
8081
  return ["title"];
7934
8082
  }
7935
8083
  // Content is read by parent <k-collapse> during its connectedCallback
7936
8084
  }
7937
- class ua extends HTMLElement {
8085
+ class wa extends HTMLElement {
7938
8086
  static get observedAttributes() {
7939
8087
  return ["position", "open"];
7940
8088
  }
@@ -7952,7 +8100,7 @@ class ua extends HTMLElement {
7952
8100
  }
7953
8101
  }
7954
8102
  }
7955
- class pa extends HTMLElement {
8103
+ class Ca extends HTMLElement {
7956
8104
  static get observedAttributes() {
7957
8105
  return ["title", "open"];
7958
8106
  }
@@ -7995,214 +8143,229 @@ class pa extends HTMLElement {
7995
8143
  this.removeAttribute("open");
7996
8144
  }
7997
8145
  }
7998
- function Io() {
7999
- if (yt || typeof customElements > "u") return;
8000
- yt = !0;
8146
+ function Zo() {
8147
+ if (Et || typeof customElements > "u") return;
8148
+ Et = !0;
8001
8149
  const i = [
8002
- ["k-dropdown", la],
8003
- ["k-tooltip", ca],
8004
- ["k-collapse", ha],
8005
- ["k-collapse-item", da],
8006
- ["k-drawer", ua],
8007
- ["k-modal", pa]
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]
8008
8156
  ];
8009
8157
  for (const [t, e] of i)
8010
8158
  customElements.get(t) || customElements.define(t, e);
8011
8159
  }
8012
8160
  export {
8013
8161
  Y as BRAND_OPTIONS,
8014
- ta as CacheEntry,
8015
- he as CacheManager,
8016
- Cr as Calendar,
8017
- fr as Carousel,
8018
- xr as Collapse,
8019
- kr as ColorPicker,
8020
- er as ComponentInitializerRegistry,
8021
- Rr as Countdown,
8022
- lr as Datepicker,
8023
- F as DependsError,
8024
- K as DependsSource,
8025
- eo as Dialog,
8026
- gr as Drawer,
8027
- rr as Dropdown,
8028
- Lr as DynamicTags,
8029
- ea as FetchedSource,
8030
- vr as FileUpload,
8031
- ia as FunctionSource,
8032
- nr as GlobalEvents,
8033
- Ar as Heatmap,
8034
- yo as Icons,
8035
- ee as ImagePreview,
8036
- j as KupolaComponent,
8037
- ir as KupolaComponentRegistry,
8038
- Gn as KupolaDataBind,
8039
- Qn as KupolaEventBus,
8040
- Jr as KupolaForm,
8041
- Nt as KupolaI18n,
8042
- at as KupolaLifecycle,
8043
- aa as KupolaPagination,
8044
- ct as KupolaStore,
8045
- Zn as KupolaStoreManager,
8046
- ra as KupolaTable,
8047
- ga as KupolaUtils,
8048
- qr as KupolaValidator,
8049
- no as Message,
8050
- P as Modal,
8051
- so as Notification,
8052
- Kr as NumberInput,
8053
- ae as PATHS,
8054
- sa as RouteSource,
8055
- Zr as Scheduler,
8056
- ar as Select,
8057
- Yr as SlideCaptcha,
8058
- ur as Slider,
8059
- Ir as StatCard,
8060
- na as StaticSource,
8061
- de as StorageSource,
8062
- Hr as Tag,
8063
- hr as Timepicker,
8064
- Pr as Tooltip,
8065
- Br as VirtualList,
8066
- ue as WebSocketSource,
8067
- Qa as alertModal,
8068
- dt as applyMixin,
8069
- Is as arrayUtils,
8070
- wa as bootstrapComponents,
8071
- Wa as cleanupAllDropdowns,
8072
- jr as cleanupAllSlideCaptchas,
8073
- Sr as cleanupCalendar,
8074
- mr as cleanupCarousel,
8075
- Er as cleanupCollapse,
8076
- wr as cleanupColorPicker,
8077
- Vr as cleanupCountdown,
8078
- cr as cleanupDatepicker,
8079
- _r as cleanupDrawer,
8080
- Rt as cleanupDropdown,
8081
- Dr as cleanupDynamicTags,
8082
- br as cleanupFileUpload,
8083
- zr as cleanupHeatmap,
8084
- yr as cleanupModal,
8085
- Wr as cleanupNumberInput,
8086
- or as cleanupSelect,
8087
- Xr as cleanupSlideCaptcha,
8088
- pr as cleanupSlider,
8089
- Tr as cleanupStatCard,
8090
- Mr as cleanupTag,
8091
- dr as cleanupTimepicker,
8092
- $r as cleanupTooltip,
8093
- Nr as cleanupVirtualList,
8094
- Do as clearCache,
8095
- ko as configureHttpClient,
8096
- Za as confirmModal,
8097
- xa as createBrandPicker,
8098
- Da as createI18n,
8099
- ma as createLifecycle,
8100
- Xt as createModal,
8101
- pe as createSource,
8102
- ya as createStore,
8103
- ba as createThemeToggle,
8104
- Rn as cryptoUtils,
8105
- tn as dateUtils,
8106
- en as debounce,
8107
- La as defineComponent,
8108
- Ca as defineMixin,
8109
- Fa as emit,
8110
- Na as emitGlobal,
8111
- Pa as formatCurrency,
8112
- Aa as formatDate,
8113
- za as formatNumber,
8114
- U as getBrand,
8115
- xo as getFormInstance,
8116
- wo as getHttpClient,
8117
- Va as getListenerCount,
8118
- Ta as getLocale,
8119
- va as getStore,
8120
- O as getTheme,
8162
+ ua as CacheEntry,
8163
+ _e as CacheManager,
8164
+ qr as Calendar,
8165
+ Sr as Carousel,
8166
+ Ar as Collapse,
8167
+ Pr as ColorPicker,
8168
+ ur as ComponentInitializerRegistry,
8169
+ ta as Countdown,
8170
+ br as Datepicker,
8171
+ N as DependsError,
8172
+ W as DependsSource,
8173
+ ko as Dialog,
8174
+ Dr as Drawer,
8175
+ _r as Dropdown,
8176
+ Fr as DynamicTags,
8177
+ pa as FetchedSource,
8178
+ Ir as FileUpload,
8179
+ ma as FunctionSource,
8180
+ gr as GlobalEvents,
8181
+ Wr as Heatmap,
8182
+ Fo as Icons,
8183
+ le as ImagePreview,
8184
+ J as KupolaComponent,
8185
+ fr as KupolaComponentRegistry,
8186
+ nr as KupolaDataBind,
8187
+ ar as KupolaEventBus,
8188
+ la as KupolaForm,
8189
+ Yt as KupolaI18n,
8190
+ ot as KupolaLifecycle,
8191
+ ya as KupolaPagination,
8192
+ pt as KupolaStore,
8193
+ rr as KupolaStoreManager,
8194
+ _a as KupolaTable,
8195
+ Da as KupolaUtils,
8196
+ jr as KupolaValidator,
8197
+ So as Message,
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,
8264
+ X as getBrand,
8265
+ lt as getConfig,
8266
+ lr as getDefaultBrand,
8267
+ or as getDefaultTheme,
8268
+ Pa as getDevConfig,
8269
+ qa as getExtendConfig,
8270
+ Ro as getFormInstance,
8271
+ Wo as getHttpClient,
8272
+ za as getHttpConfig,
8273
+ Rt as getIconsPath,
8274
+ ho as getListenerCount,
8275
+ Qa as getLocale,
8276
+ $a as getPerformanceConfig,
8277
+ Vt as getSecurityConfig,
8278
+ Ia as getStore,
8279
+ R as getTheme,
8280
+ cr as getUiConfig,
8121
8281
  H as globalEvents,
8122
- Ho as initAllTables,
8123
- Qt as initCalendar,
8124
- co as initCalendars,
8125
- Ut as initCarousel,
8126
- Ja as initCarousels,
8127
- Gt as initCollapse,
8128
- oo as initCollapses,
8129
- Zt as initColorPicker,
8130
- lo as initColorPickers,
8131
- le as initCountdown,
8132
- vo as initCountdowns,
8133
- Kt as initDatepicker,
8134
- Ua as initDatepickers,
8135
- nt as initDrawer,
8136
- Ga as initDrawers,
8137
- Ot as initDropdown,
8138
- Ka as initDropdowns,
8139
- te as initDynamicTags,
8140
- ho as initDynamicTagsAll,
8141
- Jt as initFileUpload,
8142
- ao as initFileUploads,
8143
- Gr as initFormValidation,
8144
- ne as initHeatmap,
8145
- go as initHeatmaps,
8146
- uo as initImagePreview,
8147
- ro as initMessages,
8148
- jt as initModal,
8149
- to as initModals,
8150
- io as initNotifications,
8151
- ce as initNumberInput,
8152
- bo as initNumberInputs,
8153
- Mo as initPagination,
8154
- Vt as initSelect,
8155
- Ya as initSelects,
8156
- Ur as initSlideCaptchas,
8157
- Yt as initSlider,
8158
- ja as initSliders,
8159
- ie as initStatCard,
8160
- mo as initStatCards,
8161
- fe as initTable,
8162
- se as initTag,
8163
- fo as initTags,
8164
- tr as initTheme,
8165
- Wt as initTimepicker,
8166
- Xa as initTimepickers,
8167
- re as initTooltip,
8168
- _o as initTooltips,
8169
- Fr as initVirtualList,
8170
- ut as kupolaBootstrap,
8171
- q as kupolaData,
8172
- _a as kupolaEvents,
8173
- N as kupolaI18n,
8282
+ Jo as initAllTables,
8283
+ ae as initCalendar,
8284
+ Io as initCalendars,
8285
+ te as initCarousel,
8286
+ yo as initCarousels,
8287
+ ne as initCollapse,
8288
+ Ho as initCollapses,
8289
+ re as initColorPicker,
8290
+ Mo as initColorPickers,
8291
+ me as initCountdown,
8292
+ No as initCountdowns,
8293
+ Gt as initDatepicker,
8294
+ mo as initDatepickers,
8295
+ rt as initDrawer,
8296
+ vo as initDrawers,
8297
+ Xt as initDropdown,
8298
+ uo as initDropdowns,
8299
+ oe as initDynamicTags,
8300
+ To as initDynamicTagsAll,
8301
+ ie as initFileUpload,
8302
+ Do as initFileUploads,
8303
+ ca as initFormValidation,
8304
+ de as initHeatmap,
8305
+ qo as initHeatmaps,
8306
+ Ao as initImagePreview,
8307
+ Lo as initMessages,
8308
+ se as initModal,
8309
+ Eo as initModals,
8310
+ Co as initNotifications,
8311
+ ge as initNumberInput,
8312
+ Oo as initNumberInputs,
8313
+ Go as initPagination,
8314
+ Jt as initSelect,
8315
+ fo as initSelects,
8316
+ ra as initSlideCaptchas,
8317
+ Qt as initSlider,
8318
+ _o as initSliders,
8319
+ he as initStatCard,
8320
+ $o as initStatCards,
8321
+ xe as initTable,
8322
+ ce as initTag,
8323
+ Po as initTags,
8324
+ dr as initTheme,
8325
+ Zt as initTimepicker,
8326
+ go as initTimepickers,
8327
+ ue as initTooltip,
8328
+ Bo as initTooltips,
8329
+ Gr as initVirtualList,
8330
+ gt as kupolaBootstrap,
8331
+ F as kupolaData,
8332
+ Ha as kupolaEvents,
8333
+ O as kupolaI18n,
8174
8334
  E as kupolaInitializer,
8175
- fa as kupolaLifecycle,
8335
+ Sa as kupolaLifecycle,
8176
8336
  M as kupolaRegistry,
8177
- qt as kupolaStoreManager,
8178
- Ma as n,
8179
- wi as numberUtils,
8180
- Gs as objectUtils,
8181
- Ba as off,
8182
- Ra as offAll,
8183
- Oa as offByScope,
8184
- $a as on,
8185
- qa as once,
8186
- jn as preloadUtils,
8187
- T as ref,
8188
- Ea as registerComponent,
8189
- ka as registerLazyComponent,
8190
- Io as registerWebComponents,
8191
- rt as renderIcon,
8192
- Co as resetHttpClient,
8193
- it as setBrand,
8194
- Ia as setLocale,
8195
- st as setTheme,
8196
- po as showImagePreview,
8197
- Re as stringUtils,
8198
- oe as svg,
8199
- Ha as t,
8200
- sn as throttle,
8201
- So as useDeps,
8202
- Sa as useMixin,
8203
- Lo as useQuery,
8204
- Eo as validateForm,
8205
- A as validator,
8206
- zt as validatorUtils
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,
8351
+ at as renderIcon,
8352
+ Uo as resetHttpClient,
8353
+ Na as sanitizeHtml,
8354
+ nt as setBrand,
8355
+ Ta as setConfig,
8356
+ Za as setLocale,
8357
+ it as setTheme,
8358
+ zo as showImagePreview,
8359
+ je as stringUtils,
8360
+ Ra as stripHtml,
8361
+ fe as svg,
8362
+ Ja as t,
8363
+ hn as throttle,
8364
+ Yo as useDeps,
8365
+ Ya as useMixin,
8366
+ Xo as useQuery,
8367
+ Vo as validateForm,
8368
+ P as validator,
8369
+ Bt as validatorUtils
8207
8370
  };
8208
8371
  //# sourceMappingURL=kupola.esm.js.map