@kupola/kupola 1.7.1 → 1.7.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 ht {
1
+ class ut {
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 ht {
201
201
  console.error(`[KupolaLifecycle] Unhandled error in ${t.phase}:`, t.error);
202
202
  }
203
203
  }
204
- const Aa = new ht("app");
205
- function za(i = "app") {
206
- return new ht(i);
204
+ const Ba = new ut("app");
205
+ function qa(i = "app") {
206
+ return new ut(i);
207
207
  }
208
- const De = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
209
- function Q(i) {
210
- return De.has(i);
208
+ const Ie = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
209
+ function et(i) {
210
+ return Ie.has(i);
211
211
  }
212
- function He(i) {
212
+ function Te(i) {
213
213
  return i ? i.trim() : "";
214
214
  }
215
- function Me(i) {
215
+ function Ae(i) {
216
216
  return i ? i.replace(/^\s+/, "") : "";
217
217
  }
218
- function Ie(i) {
218
+ function ze(i) {
219
219
  return i ? i.replace(/\s+$/, "") : "";
220
220
  }
221
- function Te(i) {
221
+ function Pe(i) {
222
222
  return i ? i.toUpperCase() : "";
223
223
  }
224
- function Ae(i) {
224
+ function $e(i) {
225
225
  return i ? i.toLowerCase() : "";
226
226
  }
227
- function ze(i) {
227
+ function Be(i) {
228
228
  return i ? i.charAt(0).toUpperCase() + i.slice(1) : "";
229
229
  }
230
- function Pe(i) {
230
+ function qe(i) {
231
231
  return i ? i.replace(/-(\w)/g, (t, e) => e ? e.toUpperCase() : "") : "";
232
232
  }
233
- function $e(i) {
233
+ function Oe(i) {
234
234
  return i ? i.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "") : "";
235
235
  }
236
- function Be(i, t, e = " ") {
236
+ function Fe(i, t, e = " ") {
237
237
  return (String(i) || "").padStart(t, e);
238
238
  }
239
- function qe(i, t, e = " ") {
239
+ function Ne(i, t, e = " ") {
240
240
  return (String(i) || "").padEnd(t, e);
241
241
  }
242
- function Oe(i, t, e = "...") {
242
+ function Re(i, t, e = "...") {
243
243
  return !i || i.length <= t ? i || "" : i.slice(0, t) + e;
244
244
  }
245
- function Fe(i, t, e) {
245
+ function Ve(i, t, e) {
246
246
  return i ? i.split(t).join(e) : "";
247
247
  }
248
- function Ne(i, t) {
248
+ function Ke(i, t) {
249
249
  return i ? i.replace(/\{\{(\w+)\}\}/g, (e, s) => t[s] !== void 0 ? t[s] : `{{${s}}}`) : "";
250
250
  }
251
- function Re(i, t) {
251
+ function We(i, t) {
252
252
  return (i || "").startsWith(t);
253
253
  }
254
- function Ve(i, t) {
254
+ function Ue(i, t) {
255
255
  return (i || "").endsWith(t);
256
256
  }
257
- function Ke(i, t) {
257
+ function Ye(i, t) {
258
258
  return (i || "").includes(t);
259
259
  }
260
- function We(i, t) {
260
+ function Xe(i, t) {
261
261
  return (i || "").repeat(t);
262
262
  }
263
- function Ue(i) {
263
+ function je(i) {
264
264
  return (i || "").split("").reverse().join("");
265
265
  }
266
- function Ye(i, t) {
266
+ function Je(i, t) {
267
267
  return !i || !t ? 0 : i.split(t).length - 1;
268
268
  }
269
- function Xe(i) {
269
+ function Ze(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 je(i) {
274
+ function Ge(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 Je(i = 8) {
279
+ function Qe(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 Ze() {
286
+ function ts() {
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 Ge = { trim: He, trimLeft: Me, trimRight: Ie, toUpperCase: Te, toLowerCase: Ae, capitalize: ze, camelize: Pe, hyphenate: $e, padStart: Be, padEnd: qe, truncate: Oe, replaceAll: Fe, format: Ne, startsWith: Re, endsWith: Ve, includes: Ke, repeat: We, reverse: Ue, countOccurrences: Ye, escapeHtml: Xe, unescapeHtml: je, generateRandom: Je, generateUUID: Ze };
293
- function Qe(i) {
292
+ const es = { trim: Te, trimLeft: Ae, trimRight: ze, toUpperCase: Pe, toLowerCase: $e, capitalize: Be, camelize: qe, hyphenate: Oe, padStart: Fe, padEnd: Ne, truncate: Re, replaceAll: Ve, format: Ke, startsWith: We, endsWith: Ue, includes: Ye, repeat: Xe, reverse: je, countOccurrences: Je, escapeHtml: Ze, unescapeHtml: Ge, generateRandom: Qe, generateUUID: ts };
293
+ function ss(i) {
294
294
  return Array.isArray(i);
295
295
  }
296
- function ts(i) {
296
+ function is(i) {
297
297
  return !i || i.length === 0;
298
298
  }
299
- function es(i) {
299
+ function ns(i) {
300
300
  return i ? i.length : 0;
301
301
  }
302
- function ss(i, t) {
302
+ function rs(i, t) {
303
303
  return i && i.length > 0 ? i[0] : t;
304
304
  }
305
- function is(i, t) {
305
+ function as(i, t) {
306
306
  return i && i.length > 0 ? i[i.length - 1] : t;
307
307
  }
308
- function ns(i, t, e) {
308
+ function os(i, t, e) {
309
309
  return i && i[t] !== void 0 ? i[t] : e;
310
310
  }
311
- function rs(i, t, e) {
311
+ function ls(i, t, e) {
312
312
  return i ? i.slice(t, e) : [];
313
313
  }
314
- function as(...i) {
314
+ function cs(...i) {
315
315
  return i.reduce((t, e) => t.concat(e || []), []);
316
316
  }
317
- function os(i, t = ",") {
317
+ function hs(i, t = ",") {
318
318
  return i ? i.join(t) : "";
319
319
  }
320
- function ls(i, t, e = 0) {
320
+ function ds(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 ls(i, t, e = 0) {
326
326
  }
327
327
  return i.indexOf(t, e);
328
328
  }
329
- function cs(i, t, e) {
329
+ function us(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 cs(i, t, e) {
336
336
  }
337
337
  return i.lastIndexOf(t, e);
338
338
  }
339
- function hs(i, t) {
339
+ function ps(i, t) {
340
340
  return i ? i.includes(t) : !1;
341
341
  }
342
- function ds(i, ...t) {
342
+ function fs(i, ...t) {
343
343
  return i && i.push(...t), i;
344
344
  }
345
- function us(i) {
345
+ function ms(i) {
346
346
  return i ? i.pop() : void 0;
347
347
  }
348
- function ps(i) {
348
+ function gs(i) {
349
349
  return i ? i.shift() : void 0;
350
350
  }
351
- function fs(i, ...t) {
351
+ function _s(i, ...t) {
352
352
  return i && i.unshift(...t), i;
353
353
  }
354
- function ms(i, t) {
354
+ function ys(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 gs(i, t) {
359
+ function vs(i, t) {
360
360
  return !i || t < 0 || t >= i.length || i.splice(t, 1), i;
361
361
  }
362
- function _s(i, t, e) {
362
+ function bs(i, t, e) {
363
363
  return i && (i.splice(t, 0, e), i);
364
364
  }
365
- function ys(i) {
365
+ function xs(i) {
366
366
  return i ? i.slice().reverse() : [];
367
367
  }
368
- function vs(i, t) {
368
+ function Es(i, t) {
369
369
  return i ? i.slice().sort(t) : [];
370
370
  }
371
- function bs(i, t, e = "asc") {
371
+ function ws(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 xs(i, t) {
377
+ function ks(i, t) {
378
378
  return i ? i.filter(t) : [];
379
379
  }
380
- function Es(i, t) {
380
+ function Cs(i, t) {
381
381
  return i ? i.map(t) : [];
382
382
  }
383
- function ws(i, t, e) {
383
+ function Ss(i, t, e) {
384
384
  return i ? i.reduce(t, e) : e;
385
385
  }
386
- function ks(i, t) {
386
+ function Ls(i, t) {
387
387
  i && i.forEach(t);
388
388
  }
389
- function Cs(i, t) {
389
+ function Ds(i, t) {
390
390
  return i ? i.every(t) : !0;
391
391
  }
392
- function Ss(i, t) {
392
+ function Hs(i, t) {
393
393
  return i ? i.some(t) : !1;
394
394
  }
395
- function Ls(i, t) {
395
+ function Ms(i, t) {
396
396
  return i ? i.find(t) : void 0;
397
397
  }
398
- function Ds(i, t) {
398
+ function Is(i, t) {
399
399
  return i ? i.findIndex(t) : -1;
400
400
  }
401
- function Hs(i, t = 1) {
401
+ function Ts(i, t = 1) {
402
402
  return i ? i.flat(t) : [];
403
403
  }
404
- function Dt(i) {
405
- return i ? i.reduce((t, e) => Array.isArray(e) ? t.concat(Dt(e)) : t.concat(e), []) : [];
404
+ function It(i) {
405
+ return i ? i.reduce((t, e) => Array.isArray(e) ? t.concat(It(e)) : t.concat(e), []) : [];
406
406
  }
407
- function Ms(i) {
407
+ function As(i) {
408
408
  return i ? [...new Set(i)] : [];
409
409
  }
410
- function Is(i, t) {
410
+ function zs(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 Is(i, t) {
415
415
  return e.has(n) ? !1 : (e.add(n), !0);
416
416
  });
417
417
  }
418
- function Ts(i, t) {
418
+ function Ps(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 As(i) {
425
+ function $s(i) {
426
426
  if (!i) return [];
427
427
  const t = i.slice();
428
428
  for (let e = t.length - 1; e > 0; e--) {
@@ -431,78 +431,78 @@ function As(i) {
431
431
  }
432
432
  return t;
433
433
  }
434
- function Ht(i) {
434
+ function Tt(i) {
435
435
  return i ? i.reduce((t, e) => t + (Number(e) || 0), 0) : 0;
436
436
  }
437
- function zs(i) {
438
- return !i || i.length === 0 ? 0 : Ht(i) / i.length;
437
+ function Bs(i) {
438
+ return !i || i.length === 0 ? 0 : Tt(i) / i.length;
439
439
  }
440
- function Ps(i) {
440
+ function qs(i) {
441
441
  return i && i.length > 0 ? Math.max(...i) : -1 / 0;
442
442
  }
443
- function $s(i) {
443
+ function Os(i) {
444
444
  return i && i.length > 0 ? Math.min(...i) : 1 / 0;
445
445
  }
446
- function Bs(...i) {
446
+ function Fs(...i) {
447
447
  return i.length === 0 ? [] : i.reduce((t, e) => t.filter((s) => e && e.includes(s)));
448
448
  }
449
- function qs(...i) {
449
+ function Ns(...i) {
450
450
  return [...new Set(i.flat().filter(Boolean))];
451
451
  }
452
- function Os(i, t) {
452
+ function Rs(i, t) {
453
453
  return i ? i.filter((e) => !t || !t.includes(e)) : [];
454
454
  }
455
- function Fs(...i) {
455
+ function Vs(...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 Ns = { isArray: Qe, isEmpty: ts, size: es, first: ss, last: is, get: ns, slice: rs, concat: as, join: os, indexOf: ls, lastIndexOf: cs, includes: hs, push: ds, pop: us, shift: ps, unshift: fs, remove: ms, removeAt: gs, insert: _s, reverse: ys, sort: vs, sortBy: bs, filter: xs, map: Es, reduce: ws, forEach: ks, every: Cs, some: Ss, find: Ls, findIndex: Ds, flat: Hs, flattenDeep: Dt, unique: Ms, uniqueBy: Is, chunk: Ts, shuffle: As, sum: Ht, average: zs, max: Ps, min: $s, intersection: Bs, union: qs, difference: Os, zip: Fs };
461
- function rt(i) {
460
+ const Ks = { isArray: ss, isEmpty: is, size: ns, first: rs, last: as, get: os, slice: ls, concat: cs, join: hs, indexOf: ds, lastIndexOf: us, includes: ps, push: fs, pop: ms, shift: gs, unshift: _s, remove: ys, removeAt: vs, insert: bs, reverse: xs, sort: Es, sortBy: ws, filter: ks, map: Cs, reduce: Ss, forEach: Ls, every: Ds, some: Hs, find: Ms, findIndex: Is, flat: Ts, flattenDeep: It, unique: As, uniqueBy: zs, chunk: Ps, shuffle: $s, sum: Tt, average: Bs, max: qs, min: Os, intersection: Fs, union: Ns, difference: Rs, zip: Vs };
461
+ function ot(i) {
462
462
  return i !== null && typeof i == "object" && !Array.isArray(i);
463
463
  }
464
- function Rs(i) {
464
+ function Ws(i) {
465
465
  return !i || typeof i != "object" ? !0 : Object.keys(i).length === 0;
466
466
  }
467
- function Vs(i) {
467
+ function Us(i) {
468
468
  return i ? Object.keys(i) : [];
469
469
  }
470
- function Ks(i) {
470
+ function Ys(i) {
471
471
  return i ? Object.values(i) : [];
472
472
  }
473
- function Ws(i) {
473
+ function Xs(i) {
474
474
  return i ? Object.entries(i) : [];
475
475
  }
476
- function Us(i, t) {
476
+ function js(i, t) {
477
477
  return i ? Object.prototype.hasOwnProperty.call(i, t) : !1;
478
478
  }
479
- function Ys(i, t, e) {
479
+ function Js(i, t, e) {
480
480
  if (!i) return e;
481
481
  const s = t.split(".");
482
- return s.some(Q) ? e : s.reduce((n, r) => n && n[r], i) ?? e;
482
+ return s.some(et) ? e : s.reduce((n, r) => n && n[r], i) ?? e;
483
483
  }
484
- function Xs(i, t, e) {
484
+ function Zs(i, t, e) {
485
485
  if (!i || typeof i != "object") return i;
486
486
  const s = t.split(".");
487
- if (s.some(Q)) return i;
487
+ if (s.some(et)) 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 js(i, t) {
494
+ function Gs(i, t) {
495
495
  return i ? t.reduce((e, s) => (i[s] !== void 0 && (e[s] = i[s]), e), {}) : {};
496
496
  }
497
- function Js(i, t) {
497
+ function Qs(i, t) {
498
498
  return i ? Object.keys(i).reduce((e, s) => (t.includes(s) || (e[s] = i[s]), e), {}) : {};
499
499
  }
500
- function Mt(...i) {
500
+ function At(...i) {
501
501
  return i.reduce((t, e) => (e && typeof e == "object" && Object.keys(e).forEach((s) => {
502
- Q(s) || (rt(e[s]) && rt(t[s]) ? t[s] = Mt(t[s], e[s]) : t[s] = e[s]);
502
+ et(s) || (ot(e[s]) && ot(t[s]) ? t[s] = At(t[s], e[s]) : t[s] = e[s]);
503
503
  }), t), {});
504
504
  }
505
- function Zs(i) {
505
+ function ti(i) {
506
506
  return i && JSON.parse(JSON.stringify(i));
507
507
  }
508
508
  function Y(i, t = /* @__PURE__ */ new WeakMap()) {
@@ -524,299 +524,299 @@ function Y(i, t = /* @__PURE__ */ new WeakMap()) {
524
524
  }
525
525
  const e = {};
526
526
  return t.set(i, e), Object.keys(i).forEach((s) => {
527
- Q(s) || (e[s] = Y(i[s], t));
527
+ et(s) || (e[s] = Y(i[s], t));
528
528
  }), e;
529
529
  }
530
- function Gs(i, t) {
530
+ function ei(i, t) {
531
531
  i && Object.keys(i).forEach((e) => t(i[e], e, i));
532
532
  }
533
- function Qs(i, t) {
533
+ function si(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 ti(i, t) {
540
+ function ii(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 ei(i, t, e) {
547
+ function ni(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 si(i) {
550
+ function ri(i) {
551
551
  return i ? Object.keys(i).map((t) => ({ key: t, value: i[t] })) : [];
552
552
  }
553
- function ii(i, t, e) {
553
+ function ai(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 ni(i) {
559
+ function oi(i) {
560
560
  return i ? Object.keys(i).length : 0;
561
561
  }
562
- function ri(i) {
562
+ function li(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 It(i, t) {
569
+ function zt(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) => It(i[n], t[n]));
573
+ return e.length !== s.length ? !1 : e.every((n) => zt(i[n], t[n]));
574
574
  }
575
- function Tt(i) {
575
+ function Pt(i) {
576
576
  return i && (Object.freeze(i), Object.keys(i).forEach((t) => {
577
- typeof i[t] == "object" && Tt(i[t]);
577
+ typeof i[t] == "object" && Pt(i[t]);
578
578
  }), i);
579
579
  }
580
- function ai(i) {
580
+ function ci(i) {
581
581
  return i && Object.seal(i);
582
582
  }
583
- const oi = { isObject: rt, isEmpty: Rs, keys: Vs, values: Ks, entries: Ws, has: Us, get: Ys, set: Xs, pick: js, omit: Js, merge: Mt, clone: Zs, deepClone: Y, forEach: Gs, map: Qs, filter: ti, reduce: ei, toArray: si, fromArray: ii, size: ni, invert: ri, isEqual: It, freeze: Tt, seal: ai };
583
+ const hi = { isObject: ot, isEmpty: Ws, keys: Us, values: Ys, entries: Xs, has: js, get: Js, set: Zs, pick: Gs, omit: Qs, merge: At, clone: ti, deepClone: Y, forEach: ei, map: si, filter: ii, reduce: ni, toArray: ri, fromArray: ai, size: oi, invert: li, isEqual: zt, freeze: Pt, seal: ci };
584
584
  function L(i) {
585
585
  return typeof i == "number" && !isNaN(i);
586
586
  }
587
- function li(i) {
587
+ function di(i) {
588
588
  return Number.isInteger(i);
589
589
  }
590
- function ci(i) {
590
+ function ui(i) {
591
591
  return L(i) && !Number.isInteger(i);
592
592
  }
593
- function hi(i) {
593
+ function pi(i) {
594
594
  return L(i) && i > 0;
595
595
  }
596
- function di(i) {
596
+ function fi(i) {
597
597
  return L(i) && i < 0;
598
598
  }
599
- function ui(i) {
599
+ function mi(i) {
600
600
  return L(i) && i === 0;
601
601
  }
602
- function pi(i, t, e) {
602
+ function gi(i, t, e) {
603
603
  return L(i) ? Math.min(Math.max(i, t), e) : i;
604
604
  }
605
- function fi(i, t = 0) {
605
+ function _i(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 mi(i) {
610
+ function yi(i) {
611
611
  return L(i) ? Math.floor(i) : i;
612
612
  }
613
- function gi(i) {
613
+ function vi(i) {
614
614
  return L(i) ? Math.ceil(i) : i;
615
615
  }
616
- function _i(i) {
616
+ function bi(i) {
617
617
  return L(i) ? Math.abs(i) : i;
618
618
  }
619
- function yi(...i) {
619
+ function xi(...i) {
620
620
  const t = i.filter(L);
621
621
  return t.length > 0 ? Math.min(...t) : void 0;
622
622
  }
623
- function vi(...i) {
623
+ function Ei(...i) {
624
624
  const t = i.filter(L);
625
625
  return t.length > 0 ? Math.max(...t) : void 0;
626
626
  }
627
- function At(...i) {
627
+ function $t(...i) {
628
628
  return i.flat().filter(L).reduce((e, s) => e + s, 0);
629
629
  }
630
- function bi(...i) {
630
+ function wi(...i) {
631
631
  const t = i.flat().filter(L);
632
- return t.length > 0 ? At(t) / t.length : 0;
632
+ return t.length > 0 ? $t(t) / t.length : 0;
633
633
  }
634
- function zt(i = 0, t = 1) {
634
+ function Bt(i = 0, t = 1) {
635
635
  return Math.random() * (t - i) + i;
636
636
  }
637
- function xi(i, t) {
638
- return Math.floor(zt(i, t + 1));
637
+ function ki(i, t) {
638
+ return Math.floor(Bt(i, t + 1));
639
639
  }
640
- function Ei(i, t = 2) {
640
+ function Ci(i, t = 2) {
641
641
  return L(i) ? i.toFixed(t) : String(i);
642
642
  }
643
- function wi(i, t = "CNY", e = 2) {
643
+ function Si(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 ki(i, t = 0) {
646
+ function Li(i, t = 0) {
647
647
  return L(i) ? `${(i * 100).toFixed(t)}%` : String(i);
648
648
  }
649
- function Ci(i, t = 0) {
649
+ function Di(i, t = 0) {
650
650
  return L(i) ? i.toFixed(t) : String(i);
651
651
  }
652
- function Si(i, t = 6) {
652
+ function Hi(i, t = 6) {
653
653
  return L(i) ? i.toPrecision(t) : String(i);
654
654
  }
655
- function Li(i) {
655
+ function Mi(i) {
656
656
  return Number.isNaN(i);
657
657
  }
658
- function Di(i) {
658
+ function Ii(i) {
659
659
  return Number.isFinite(i);
660
660
  }
661
- function Hi(i, t = 10) {
661
+ function Ti(i, t = 10) {
662
662
  return Number.parseInt(i, t);
663
663
  }
664
- function Mi(i) {
664
+ function Ai(i) {
665
665
  return Number.parseFloat(i);
666
666
  }
667
- function Ii(i, t = 0) {
667
+ function zi(i, t = 0) {
668
668
  const e = Number(i);
669
669
  return isNaN(e) ? t : e;
670
670
  }
671
- function Ti(i, t, e = 0) {
671
+ function Pi(i, t, e = 0) {
672
672
  return !L(i) || !L(t) || t === 0 ? e : i / t;
673
673
  }
674
- function Ai(...i) {
674
+ function $i(...i) {
675
675
  return i.reduce((t, e) => !L(t) || !L(e) ? 0 : t * e, 1);
676
676
  }
677
- const zi = { isNumber: L, isInteger: li, isFloat: ci, isPositive: hi, isNegative: di, isZero: ui, clamp: pi, round: fi, floor: mi, ceil: gi, abs: _i, min: yi, max: vi, sum: At, average: bi, random: zt, randomInt: xi, format: Ei, formatCurrency: wi, formatPercent: ki, toFixed: Ci, toPrecision: Si, isNaN: Li, isFinite: Di, parseInt: Hi, parseFloat: Mi, toNumber: Ii, safeDivide: Ti, safeMultiply: Ai };
678
- function tt() {
677
+ const Bi = { isNumber: L, isInteger: di, isFloat: ui, isPositive: pi, isNegative: fi, isZero: mi, clamp: gi, round: _i, floor: yi, ceil: vi, abs: bi, min: xi, max: Ei, sum: $t, average: wi, random: Bt, randomInt: ki, format: Ci, formatCurrency: Si, formatPercent: Li, toFixed: Di, toPrecision: Hi, isNaN: Mi, isFinite: Ii, parseInt: Ti, parseFloat: Ai, toNumber: zi, safeDivide: Pi, safeMultiply: $i };
678
+ function st() {
679
679
  return Date.now();
680
680
  }
681
681
  function K() {
682
682
  const i = /* @__PURE__ */ new Date();
683
683
  return i.setHours(0, 0, 0, 0), i;
684
684
  }
685
- function Pi() {
685
+ function qi() {
686
686
  const i = K();
687
687
  return i.setDate(i.getDate() + 1), i;
688
688
  }
689
- function $i() {
689
+ function Oi() {
690
690
  const i = K();
691
691
  return i.setDate(i.getDate() - 1), i;
692
692
  }
693
693
  function w(i) {
694
694
  return i instanceof Date && !isNaN(i.getTime());
695
695
  }
696
- function Pt(i) {
696
+ function qt(i) {
697
697
  return w(i);
698
698
  }
699
- function Bi(i) {
699
+ function Fi(i) {
700
700
  const t = new Date(i);
701
- return Pt(t) ? t : null;
701
+ return qt(t) ? t : null;
702
702
  }
703
- function qi(i, t = "YYYY-MM-DD HH:mm:ss") {
703
+ function Ni(i, t = "YYYY-MM-DD HH:mm:ss") {
704
704
  if (!w(i)) return "";
705
705
  const e = i.getFullYear(), s = String(i.getMonth() + 1).padStart(2, "0"), n = String(i.getDate()).padStart(2, "0"), r = String(i.getHours()).padStart(2, "0"), a = String(i.getMinutes()).padStart(2, "0"), o = String(i.getSeconds()).padStart(2, "0"), l = String(i.getMilliseconds()).padStart(3, "0"), h = ["日", "一", "二", "三", "四", "五", "六"][i.getDay()];
706
706
  return t.replace("YYYY", e).replace("MM", s).replace("DD", n).replace("HH", r).replace("mm", a).replace("ss", o).replace("SSS", l).replace("D", i.getDate()).replace("M", i.getMonth() + 1).replace("H", i.getHours()).replace("m", i.getMinutes()).replace("s", i.getSeconds()).replace("W", h);
707
707
  }
708
- function Oi(i) {
708
+ function Ri(i) {
709
709
  return w(i) ? i.toISOString() : "";
710
710
  }
711
- function Fi(i) {
711
+ function Vi(i) {
712
712
  return w(i) ? new Date(i.toUTCString()) : null;
713
713
  }
714
- function Ni(i, t) {
714
+ function Ki(i, t) {
715
715
  if (!w(i)) return i;
716
716
  const e = new Date(i);
717
717
  return e.setDate(e.getDate() + t), e;
718
718
  }
719
- function Ri(i, t) {
719
+ function Wi(i, t) {
720
720
  if (!w(i)) return i;
721
721
  const e = new Date(i);
722
722
  return e.setHours(e.getHours() + t), e;
723
723
  }
724
- function Vi(i, t) {
724
+ function Ui(i, t) {
725
725
  if (!w(i)) return i;
726
726
  const e = new Date(i);
727
727
  return e.setMinutes(e.getMinutes() + t), e;
728
728
  }
729
- function Ki(i, t) {
729
+ function Yi(i, t) {
730
730
  if (!w(i)) return i;
731
731
  const e = new Date(i);
732
732
  return e.setSeconds(e.getSeconds() + t), e;
733
733
  }
734
- function et(i, t) {
734
+ function it(i, t) {
735
735
  if (!w(i) || !w(t)) return 0;
736
736
  const e = new Date(i);
737
737
  e.setHours(0, 0, 0, 0);
738
738
  const s = new Date(t);
739
739
  return s.setHours(0, 0, 0, 0), Math.floor((e.getTime() - s.getTime()) / (1e3 * 60 * 60 * 24));
740
740
  }
741
- function Wi(i, t) {
741
+ function Xi(i, t) {
742
742
  return !w(i) || !w(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / (1e3 * 60 * 60));
743
743
  }
744
- function Ui(i, t) {
744
+ function ji(i, t) {
745
745
  return !w(i) || !w(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / (1e3 * 60));
746
746
  }
747
- function Yi(i, t) {
747
+ function Ji(i, t) {
748
748
  return !w(i) || !w(t) ? 0 : Math.floor((i.getTime() - t.getTime()) / 1e3);
749
749
  }
750
- function Xi(i) {
751
- return w(i) ? et(i, K()) === 0 : !1;
752
- }
753
- function ji(i) {
754
- return w(i) ? et(i, K()) === -1 : !1;
755
- }
756
- function Ji(i) {
757
- return w(i) ? et(i, K()) === 1 : !1;
758
- }
759
750
  function Zi(i) {
760
- return w(i) ? i.getTime() > tt() : !1;
751
+ return w(i) ? it(i, K()) === 0 : !1;
761
752
  }
762
753
  function Gi(i) {
763
- return w(i) ? i.getTime() < tt() : !1;
754
+ return w(i) ? it(i, K()) === -1 : !1;
764
755
  }
765
756
  function Qi(i) {
757
+ return w(i) ? it(i, K()) === 1 : !1;
758
+ }
759
+ function tn(i) {
760
+ return w(i) ? i.getTime() > st() : !1;
761
+ }
762
+ function en(i) {
763
+ return w(i) ? i.getTime() < st() : !1;
764
+ }
765
+ function sn(i) {
766
766
  if (!w(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 tn(i) {
770
+ function nn(i) {
771
771
  return w(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0).getDate() : 0;
772
772
  }
773
- function en(i) {
773
+ function rn(i) {
774
774
  if (!w(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 sn(i) {
778
+ function an(i) {
779
779
  return w(i) ? Math.ceil((i.getMonth() + 1) / 3) : 0;
780
780
  }
781
- function nn(i) {
781
+ function on(i) {
782
782
  if (!w(i)) return i;
783
783
  const t = new Date(i);
784
784
  return t.setHours(0, 0, 0, 0), t;
785
785
  }
786
- function rn(i) {
786
+ function ln(i) {
787
787
  if (!w(i)) return i;
788
788
  const t = new Date(i);
789
789
  return t.setHours(23, 59, 59, 999), t;
790
790
  }
791
- function an(i) {
791
+ function cn(i) {
792
792
  return w(i) ? new Date(i.getFullYear(), i.getMonth(), 1) : i;
793
793
  }
794
- function on(i) {
794
+ function hn(i) {
795
795
  return w(i) ? new Date(i.getFullYear(), i.getMonth() + 1, 0, 23, 59, 59, 999) : i;
796
796
  }
797
- function $t(i, t = 1) {
797
+ function Ot(i, t = 1) {
798
798
  if (!w(i)) return i;
799
799
  const e = new Date(i), s = e.getDay(), n = s >= t ? s - t : s + (7 - t);
800
800
  return e.setDate(e.getDate() - n), e.setHours(0, 0, 0, 0), e;
801
801
  }
802
- function ln(i, t = 1) {
802
+ function dn(i, t = 1) {
803
803
  if (!w(i)) return i;
804
- const e = $t(i, t), s = new Date(e);
804
+ const e = Ot(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 cn(i) {
807
+ function un(i) {
808
808
  if (!w(i)) return 0;
809
809
  const t = /* @__PURE__ */ new Date();
810
810
  let e = t.getFullYear() - i.getFullYear();
811
811
  return (t.getMonth() < i.getMonth() || t.getMonth() === i.getMonth() && t.getDate() < i.getDate()) && e--, Math.max(0, e);
812
812
  }
813
- function hn(i) {
813
+ function pn(i) {
814
814
  if (!w(i)) return "";
815
- const e = tt() - i.getTime(), s = 60 * 1e3, n = 60 * s, r = 24 * n, a = 7 * r, o = 30 * r, l = 365 * r;
815
+ const e = st() - 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 dn = { now: tt, today: K, tomorrow: Pi, yesterday: $i, isDate: w, isValid: Pt, parse: Bi, format: qi, toISO: Oi, toUTC: Fi, addDays: Ni, addHours: Ri, addMinutes: Vi, addSeconds: Ki, diffDays: et, diffHours: Wi, diffMinutes: Ui, diffSeconds: Yi, isToday: Xi, isYesterday: ji, isTomorrow: Ji, isFuture: Zi, isPast: Gi, isLeapYear: Qi, getDaysInMonth: tn, getWeekOfYear: en, getQuarter: sn, startOfDay: nn, endOfDay: rn, startOfMonth: an, endOfMonth: on, startOfWeek: $t, endOfWeek: ln, getAge: cn, fromNow: hn };
819
- function un(i, t, e = {}) {
818
+ const fn = { now: st, today: K, tomorrow: qi, yesterday: Oi, isDate: w, isValid: qt, parse: Fi, format: Ni, toISO: Ri, toUTC: Vi, addDays: Ki, addHours: Wi, addMinutes: Ui, addSeconds: Yi, diffDays: it, diffHours: Xi, diffMinutes: ji, diffSeconds: Ji, isToday: Zi, isYesterday: Gi, isTomorrow: Qi, isFuture: tn, isPast: en, isLeapYear: sn, getDaysInMonth: nn, getWeekOfYear: rn, getQuarter: an, startOfDay: on, endOfDay: ln, startOfMonth: cn, endOfMonth: hn, startOfWeek: Ot, endOfWeek: dn, getAge: un, fromNow: pn };
819
+ function mn(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 un(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 pn(i, t, e = {}) {
838
+ function gn(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 pn(i, t, e = {}) {
848
848
  }, t));
849
849
  };
850
850
  }
851
- function fn(i) {
851
+ function _n(i) {
852
852
  return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i || "");
853
853
  }
854
- function mn(i) {
854
+ function yn(i) {
855
855
  return /^1[3-9]\d{9}$/.test(i || "");
856
856
  }
857
- function gn(i) {
857
+ function vn(i) {
858
858
  return /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w.-]*)*\/?$/.test(i || "");
859
859
  }
860
- function Bt(i) {
860
+ function Ft(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 qt(i) {
863
+ function Nt(i) {
864
864
  return /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/.test(i || "");
865
865
  }
866
- function _n(i) {
867
- return Bt(i) || qt(i);
866
+ function bn(i) {
867
+ return Ft(i) || Nt(i);
868
868
  }
869
- function yn(i) {
869
+ function xn(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 vn(i) {
872
+ function En(i) {
873
873
  return /^[A-Z][0-9]{8}$|^[A-Z]{2}[0-9]{7}$/.test(i || "");
874
874
  }
875
- function bn(i) {
875
+ function wn(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 bn(i) {
882
882
  }
883
883
  return s % 10 === 0;
884
884
  }
885
- function Ot(i) {
885
+ function Rt(i) {
886
886
  return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(i || "");
887
887
  }
888
- function Ft(i) {
888
+ function Vt(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 Nt(i) {
892
+ function Kt(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 xn(i) {
899
- return Ot(i) || Ft(i) || Nt(i);
898
+ function kn(i) {
899
+ return Rt(i) || Vt(i) || Kt(i);
900
900
  }
901
- function En(i) {
901
+ function Cn(i) {
902
902
  return !isNaN(new Date(i).getTime());
903
903
  }
904
- function wn(i) {
904
+ function Sn(i) {
905
905
  try {
906
906
  return JSON.parse(i), !0;
907
907
  } catch {
908
908
  return !1;
909
909
  }
910
910
  }
911
- function kn(i) {
911
+ function Ln(i) {
912
912
  return !i || i.trim() === "";
913
913
  }
914
- function Cn(i) {
914
+ function Dn(i) {
915
915
  return /^\s+$/.test(i || "");
916
916
  }
917
- function Sn(i) {
917
+ function Hn(i) {
918
918
  return !isNaN(parseFloat(i)) && isFinite(i);
919
919
  }
920
- function Ln(i) {
920
+ function Mn(i) {
921
921
  return /^-?\d+$/.test(i || "");
922
922
  }
923
- function Dn(i) {
923
+ function In(i) {
924
924
  return /^-?\d+\.\d+$/.test(i || "");
925
925
  }
926
- function Hn(i) {
926
+ function Tn(i) {
927
927
  const t = parseFloat(i);
928
928
  return !isNaN(t) && t > 0;
929
929
  }
930
- function Mn(i) {
930
+ function An(i) {
931
931
  const t = parseFloat(i);
932
932
  return !isNaN(t) && t < 0;
933
933
  }
934
- function In(i) {
934
+ function zn(i) {
935
935
  return /^[a-zA-Z]+$/.test(i || "");
936
936
  }
937
- function Tn(i) {
937
+ function Pn(i) {
938
938
  return /^[a-zA-Z0-9]+$/.test(i || "");
939
939
  }
940
- function An(i) {
940
+ function $n(i) {
941
941
  return /^[\u4e00-\u9fa5]+$/.test(i || "");
942
942
  }
943
- function zn(i, t, e) {
943
+ function Bn(i, t, e) {
944
944
  const s = (i || "").length;
945
945
  return s >= t && (e === void 0 || s <= e);
946
946
  }
947
- function Pn(i, t) {
947
+ function qn(i, t) {
948
948
  return (i || "").length >= t;
949
949
  }
950
- function $n(i, t) {
950
+ function On(i, t) {
951
951
  return (i || "").length <= t;
952
952
  }
953
- function Bn(i, t) {
953
+ function Fn(i, t) {
954
954
  return t instanceof RegExp ? t.test(i || "") : !1;
955
955
  }
956
- function qn(i, t) {
956
+ function Nn(i, t) {
957
957
  return String(i) === String(t);
958
958
  }
959
- function Rt(i, t) {
959
+ function Wt(i, t) {
960
960
  return (i || "").includes(t);
961
961
  }
962
- function On(i, t) {
963
- return !Rt(i, t);
962
+ function Rn(i, t) {
963
+ return !Wt(i, t);
964
964
  }
965
- function Fn(i) {
965
+ function Vn(i) {
966
966
  return Array.isArray(i);
967
967
  }
968
- function Nn(i, t, e) {
968
+ function Kn(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 Rn(i, t) {
972
+ function Wn(i, t) {
973
973
  return i ? i.length >= t : !1;
974
974
  }
975
- function Vn(i, t) {
975
+ function Un(i, t) {
976
976
  return i ? i.length <= t : !1;
977
977
  }
978
- function Kn(i) {
978
+ function Yn(i) {
979
979
  return i !== null && typeof i == "object" && !Array.isArray(i);
980
980
  }
981
- function Wn(i, t) {
981
+ function Xn(i, t) {
982
982
  return !i || !t || !Array.isArray(t) ? !1 : t.every((e) => Object.prototype.hasOwnProperty.call(i, e));
983
983
  }
984
- function Un(i, t) {
984
+ function jn(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
- Vt[l](n, ...c) || a.push(l);
991
+ Ut[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 Un(i, t) {
996
996
  }), a.length > 0 && (e[s] = a);
997
997
  }), { valid: Object.keys(e).length === 0, errors: e };
998
998
  }
999
- const Vt = { isEmail: fn, isPhone: mn, isURL: gn, isIPv4: Bt, isIPv6: qt, isIP: _n, isIDCard: yn, isPassport: vn, isCreditCard: bn, isHexColor: Ot, isRGB: Ft, isRGBA: Nt, isColor: xn, isDate: En, isJSON: wn, isEmpty: kn, isWhitespace: Cn, isNumber: Sn, isInteger: Ln, isFloat: Dn, isPositive: Hn, isNegative: Mn, isAlpha: In, isAlphaNumeric: Tn, isChinese: An, isLength: zn, minLength: Pn, maxLength: $n, matches: Bn, equals: qn, contains: Rt, notContains: On, isArray: Fn, arrayLength: Nn, arrayMinLength: Rn, arrayMaxLength: Vn, isObject: Kn, hasKeys: Wn, validate: Un };
1000
- function Yn(i) {
999
+ const Ut = { isEmail: _n, isPhone: yn, isURL: vn, isIPv4: Ft, isIPv6: Nt, isIP: bn, isIDCard: xn, isPassport: En, isCreditCard: wn, isHexColor: Rt, isRGB: Vt, isRGBA: Kt, isColor: kn, isDate: Cn, isJSON: Sn, isEmpty: Ln, isWhitespace: Dn, isNumber: Hn, isInteger: Mn, isFloat: In, isPositive: Tn, isNegative: An, isAlpha: zn, isAlphaNumeric: Pn, isChinese: $n, isLength: Bn, minLength: qn, maxLength: On, matches: Fn, equals: Nn, contains: Wt, notContains: Rn, isArray: Vn, arrayLength: Kn, arrayMinLength: Wn, arrayMaxLength: Un, isObject: Yn, hasKeys: Xn, validate: jn };
1000
+ function Jn(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;
@@ -1037,7 +1037,7 @@ function Yn(i) {
1037
1037
  h += (d >>> 8 * u & 255).toString(16).padStart(2, "0");
1038
1038
  }), h;
1039
1039
  }
1040
- function Xn(i) {
1040
+ function Zn(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;
@@ -1078,7 +1078,7 @@ function Xn(i) {
1078
1078
  l += (c >>> 8 * h & 255).toString(16).padStart(2, "0");
1079
1079
  }), l;
1080
1080
  }
1081
- function jn(i) {
1081
+ function Gn(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 jn(i) {
1088
1088
  }
1089
1089
  return e;
1090
1090
  }
1091
- function Jn(i) {
1091
+ function Qn(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,13 +1097,13 @@ function Jn(i) {
1097
1097
  }
1098
1098
  return e;
1099
1099
  }
1100
- function Zn() {
1100
+ function tr() {
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 Gn = { md5: Yn, sha256: Xn, base64Encode: jn, base64Decode: Jn, uuid: Zn }, B = /* @__PURE__ */ new Map();
1106
+ const er = { md5: Jn, sha256: Zn, base64Encode: Gn, base64Decode: Qn, uuid: tr }, B = /* @__PURE__ */ new Map();
1107
1107
  async function Z(i, t = {}) {
1108
1108
  const { crossOrigin: e = "anonymous" } = t;
1109
1109
  return B.has(i) ? B.get(i) : new Promise((s, n) => {
@@ -1115,7 +1115,7 @@ async function Z(i, t = {}) {
1115
1115
  }, r.src = i;
1116
1116
  });
1117
1117
  }
1118
- async function Qn(i, t = {}) {
1118
+ async function sr(i, t = {}) {
1119
1119
  const { parallel: e = !0 } = t;
1120
1120
  if (e) return Promise.all(i.map((n) => Z(n, t)));
1121
1121
  const s = [];
@@ -1123,7 +1123,7 @@ async function Qn(i, t = {}) {
1123
1123
  s.push(await Z(n, t));
1124
1124
  return s;
1125
1125
  }
1126
- async function Kt(i, t = {}) {
1126
+ async function Yt(i, t = {}) {
1127
1127
  const { type: e = "text/javascript", async: s = !0, defer: n = !1 } = t;
1128
1128
  return B.has(i) ? B.get(i) : new Promise((r, a) => {
1129
1129
  const o = document.createElement("script");
@@ -1134,7 +1134,7 @@ async function Kt(i, t = {}) {
1134
1134
  }, o.src = i, document.head.appendChild(o);
1135
1135
  });
1136
1136
  }
1137
- async function Wt(i, t = {}) {
1137
+ async function Xt(i, t = {}) {
1138
1138
  const { media: e = "all" } = t;
1139
1139
  return B.has(i) ? B.get(i) : new Promise((s, n) => {
1140
1140
  const r = document.createElement("link");
@@ -1145,7 +1145,7 @@ async function Wt(i, t = {}) {
1145
1145
  }, document.head.appendChild(r);
1146
1146
  });
1147
1147
  }
1148
- async function tr(i, t, e = {}) {
1148
+ async function ir(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 tr(i, t, e = {}) {
1153
1153
  throw new Error(`Failed to load font: ${i}`);
1154
1154
  }
1155
1155
  }
1156
- async function er(i, t = "image") {
1156
+ async function nr(i, t = "image") {
1157
1157
  switch (t) {
1158
1158
  case "image":
1159
1159
  return Z(i);
1160
1160
  case "script":
1161
- return Kt(i);
1161
+ return Yt(i);
1162
1162
  case "stylesheet":
1163
1163
  case "style":
1164
- return Wt(i);
1164
+ return Xt(i);
1165
1165
  default:
1166
1166
  throw new Error(`Unsupported preload type: ${t}`);
1167
1167
  }
1168
1168
  }
1169
- function sr(i) {
1169
+ function rr(i) {
1170
1170
  return B.has(i);
1171
1171
  }
1172
- function ir() {
1172
+ function ar() {
1173
1173
  B.clear();
1174
1174
  }
1175
- function nr(i) {
1175
+ function or(i) {
1176
1176
  B.delete(i);
1177
1177
  }
1178
- const rr = { loadImage: Z, loadImages: Qn, loadScript: Kt, loadStylesheet: Wt, loadFont: tr, preload: er, isLoaded: sr, clearCache: ir, clearCacheByUrl: nr }, Pa = {
1179
- string: Ge,
1180
- array: Ns,
1181
- object: oi,
1182
- number: zi,
1183
- date: dn,
1184
- debounce: un,
1185
- throttle: pn,
1186
- validator: Vt,
1187
- crypto: Gn,
1188
- preload: rr
1178
+ const lr = { loadImage: Z, loadImages: sr, loadScript: Yt, loadStylesheet: Xt, loadFont: ir, preload: nr, isLoaded: rr, clearCache: ar, clearCacheByUrl: or }, Oa = {
1179
+ string: es,
1180
+ array: Ks,
1181
+ object: hi,
1182
+ number: Bi,
1183
+ date: fn,
1184
+ debounce: mn,
1185
+ throttle: gn,
1186
+ validator: Ut,
1187
+ crypto: er,
1188
+ preload: lr
1189
1189
  };
1190
- function ar(i) {
1190
+ function cr(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 ar(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 gt {
1200
+ class vt {
1201
1201
  constructor() {
1202
1202
  this.children = {}, this.keys = [];
1203
1203
  }
1204
1204
  }
1205
- class nt {
1205
+ class at {
1206
1206
  constructor() {
1207
- this.root = new gt();
1207
+ this.root = new vt();
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 gt()), e = e.children[n], r === s.length - 1 && e.keys.push(t);
1213
+ e.children[n] || (e.children[n] = new vt()), 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 or {
1245
+ class hr {
1246
1246
  constructor() {
1247
- this.rawData = {}, this.data = null, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new nt(), 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 at(), 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 or {
1382
1382
  t.textContent !== String(e ?? "") && (t.textContent = e ?? "");
1383
1383
  break;
1384
1384
  case "html":
1385
- const c = ar(e);
1385
+ const c = cr(e);
1386
1386
  t.innerHTML !== c && (t.innerHTML = c);
1387
1387
  break;
1388
1388
  case "value":
@@ -1440,7 +1440,7 @@ class or {
1440
1440
  }), this.processComputed();
1441
1441
  }
1442
1442
  reset() {
1443
- this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new nt(), this.updateQueue.clear(), this.snapshots = [], this.createReactiveData(), this.bind();
1443
+ this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new at(), this.updateQueue.clear(), this.snapshots = [], this.createReactiveData(), this.bind();
1444
1444
  }
1445
1445
  persist(t, e = {}) {
1446
1446
  const {
@@ -1706,10 +1706,10 @@ class or {
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 nt(), this.updateQueue.clear(), this.snapshots = [];
1709
+ }), this.persistedKeys.clear(), this.rawData = {}, this.observers = {}, this.elements = {}, this.computedProperties = {}, this.pathTrie = new at(), this.updateQueue.clear(), this.snapshots = [];
1710
1710
  }
1711
1711
  }
1712
- class _t {
1712
+ class bt {
1713
1713
  constructor(t, e = {}) {
1714
1714
  this.name = t, this._stateKey = `__store_${t}__`;
1715
1715
  const s = e.state ? e.state() : {};
@@ -1779,25 +1779,25 @@ class _t {
1779
1779
  };
1780
1780
  }
1781
1781
  }
1782
- class lr {
1782
+ class dr {
1783
1783
  constructor() {
1784
1784
  this.stores = /* @__PURE__ */ new Map();
1785
1785
  }
1786
1786
  createStore(t, e) {
1787
- const s = new _t(t, e);
1787
+ const s = new bt(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 _t && this.stores.set(t.name, t);
1794
+ t instanceof bt && this.stores.set(t.name, t);
1795
1795
  }
1796
1796
  dispose() {
1797
1797
  this.stores.clear();
1798
1798
  }
1799
1799
  }
1800
- class cr {
1800
+ class ur {
1801
1801
  constructor() {
1802
1802
  this.events = {}, this.delegatedEvents = {}, this.eventListeners = {};
1803
1803
  }
@@ -1874,14 +1874,14 @@ function T(i = null) {
1874
1874
  }
1875
1875
  }), t;
1876
1876
  }
1877
- const O = new or(), $a = new cr(), Ut = new lr();
1878
- function Ba(i, t) {
1879
- return Ut.createStore(i, t);
1877
+ const O = new hr(), Fa = new ur(), jt = new dr();
1878
+ function Na(i, t) {
1879
+ return jt.createStore(i, t);
1880
1880
  }
1881
- function qa(i) {
1882
- return Ut.getStore(i);
1881
+ function Ra(i) {
1882
+ return jt.getStore(i);
1883
1883
  }
1884
- const I = {
1884
+ const M = {
1885
1885
  paths: {
1886
1886
  icons: "/icons/",
1887
1887
  base: "/"
@@ -1975,59 +1975,91 @@ const I = {
1975
1975
  autoInit: !0,
1976
1976
  silentErrors: !1
1977
1977
  }
1978
- };
1979
- function hr(i) {
1980
- Yt(I, i);
1978
+ }, G = [];
1979
+ function xt() {
1980
+ if (typeof window < "u" && window.kupolaConfig)
1981
+ try {
1982
+ mt(M, window.kupolaConfig), Jt();
1983
+ } catch (i) {
1984
+ console.warn("[Kupola] Failed to parse window.kupolaConfig:", i);
1985
+ }
1986
+ }
1987
+ function Jt() {
1988
+ G.forEach((i) => {
1989
+ try {
1990
+ i(M);
1991
+ } catch (t) {
1992
+ console.warn("[Kupola] Error in config change listener:", t);
1993
+ }
1994
+ });
1981
1995
  }
1982
- function dt(i) {
1983
- return i ? _r(I, i) : I;
1996
+ function pr(i) {
1997
+ typeof i == "function" && G.push(i);
1984
1998
  }
1985
- function ut() {
1986
- return I.paths.base + I.paths.icons.replace(/^\//, "");
1999
+ function Va(i) {
2000
+ const t = G.indexOf(i);
2001
+ t > -1 && G.splice(t, 1);
1987
2002
  }
1988
- function Oa() {
1989
- return I.paths.base;
2003
+ typeof document < "u" && (document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", xt) : xt());
2004
+ function fr(i) {
2005
+ mt(M, i), Jt();
1990
2006
  }
1991
- function dr() {
1992
- return I.theme.default;
2007
+ function pt(i) {
2008
+ return i ? xr(M, i) : M;
1993
2009
  }
1994
- function ur() {
1995
- return I.theme.brand;
2010
+ function ft() {
2011
+ return M.paths.base + M.paths.icons.replace(/^\//, "");
2012
+ }
2013
+ function Ka() {
2014
+ return M.paths.base;
2015
+ }
2016
+ function mr() {
2017
+ return M.theme.default;
2018
+ }
2019
+ function gr() {
2020
+ return M.theme.brand;
1996
2021
  }
1997
- function Fa() {
1998
- return I.http;
2022
+ function Wa() {
2023
+ return M.http;
1999
2024
  }
2000
2025
  function j() {
2001
- return I.ui;
2026
+ return M.ui;
2002
2027
  }
2003
2028
  function W() {
2004
- return I.zIndex;
2029
+ return M.zIndex;
2005
2030
  }
2006
- function st() {
2007
- return I.security;
2031
+ function nt() {
2032
+ return M.security;
2008
2033
  }
2009
- function pr() {
2010
- return I.performance;
2034
+ function _r() {
2035
+ return M.performance;
2011
2036
  }
2012
- function fr() {
2013
- return I.message;
2037
+ function yr() {
2038
+ return M.message;
2014
2039
  }
2015
- function mr() {
2016
- return I.notification;
2040
+ function vr() {
2041
+ return M.notification;
2017
2042
  }
2018
- function gr() {
2019
- return I.validation;
2043
+ function br() {
2044
+ return M.validation;
2020
2045
  }
2021
- function Yt(i, t) {
2046
+ function mt(i, t) {
2022
2047
  for (const e in t)
2023
- t[e] instanceof Object && e in i && i[e] instanceof Object ? Yt(i[e], t[e]) : i[e] = t[e];
2048
+ t[e] instanceof Object && e in i && i[e] instanceof Object ? mt(i[e], t[e]) : i[e] = t[e];
2024
2049
  return i;
2025
2050
  }
2026
- function _r(i, t) {
2051
+ function xr(i, t) {
2027
2052
  return t.split(".").reduce((e, s) => (e && e[s]) !== void 0 ? e[s] : void 0, i);
2028
2053
  }
2029
- const Xt = "kupola-theme", jt = "kupola-brand";
2030
- let yt = !1;
2054
+ const Zt = "kupola-theme", Gt = "kupola-brand";
2055
+ let Et = !1;
2056
+ pr((i) => {
2057
+ const t = document.querySelector("[data-theme-toggle]");
2058
+ if (t) {
2059
+ const e = F();
2060
+ ct(t), Q(e);
2061
+ }
2062
+ });
2031
2063
  const X = [
2032
2064
  { id: "green", name: "翠绿", color: "#32F08C" },
2033
2065
  { id: "xionghuang", name: "雄黄", color: "#FF9900" },
@@ -2041,12 +2073,12 @@ const X = [
2041
2073
  { id: "zengqing", name: "曾青", color: "#535164" },
2042
2074
  { id: "roulan", name: "柔蓝", color: "#106898" }
2043
2075
  ];
2044
- function R() {
2045
- return localStorage.getItem(Xt) || dr();
2076
+ function F() {
2077
+ return localStorage.getItem(Zt) || mr();
2046
2078
  }
2047
- function at(i) {
2079
+ function Q(i) {
2048
2080
  if (i !== "dark" && i !== "light") return;
2049
- document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Xt, i);
2081
+ document.documentElement.setAttribute("data-theme", i), localStorage.setItem(Zt, i);
2050
2082
  const t = document.querySelector("[data-theme-toggle]");
2051
2083
  if (t) {
2052
2084
  t.setAttribute("data-current-theme", i);
@@ -2058,12 +2090,12 @@ function at(i) {
2058
2090
  }
2059
2091
  }
2060
2092
  function J() {
2061
- return localStorage.getItem(jt) || ur();
2093
+ return localStorage.getItem(Gt) || gr();
2062
2094
  }
2063
- function ot(i) {
2095
+ function lt(i) {
2064
2096
  const t = X.find((n) => n.id === i);
2065
2097
  if (!t) return;
2066
- document.documentElement.setAttribute("data-brand", i), localStorage.setItem(jt, i);
2098
+ document.documentElement.setAttribute("data-brand", i), localStorage.setItem(Gt, i);
2067
2099
  const e = document.querySelector("[data-brand-toggle]");
2068
2100
  if (e) {
2069
2101
  e.setAttribute("data-current-brand", i);
@@ -2076,20 +2108,20 @@ function ot(i) {
2076
2108
  n.getAttribute("data-brand-btn") === i ? n.classList.add("is-active") : n.classList.remove("is-active");
2077
2109
  });
2078
2110
  }
2079
- function vt(i) {
2111
+ function ct(i) {
2080
2112
  const t = i.querySelector(".theme-icon");
2081
2113
  if (t) {
2082
- const e = R(), s = ut();
2114
+ const e = F(), s = ft();
2083
2115
  t.src = e === "dark" ? s + "sun.svg" : s + "moon.svg";
2084
2116
  }
2085
2117
  }
2086
- function yr() {
2118
+ function Er() {
2087
2119
  const i = document.querySelector("[data-theme-toggle]");
2088
- if (!yt && (yt = !0, i)) {
2120
+ if (!Et && (Et = !0, i)) {
2089
2121
  const o = i.querySelector(".theme-icon");
2090
- if (o && o.src && ut() === "/icons/") {
2122
+ if (o && o.src && ft() === "/icons/") {
2091
2123
  const c = o.src.substring(0, o.src.lastIndexOf("/") + 1), h = window.location.pathname.substring(0, window.location.pathname.lastIndexOf("/") + 1), d = c.replace(window.location.origin + h, "");
2092
- d !== c && hr({
2124
+ d !== c && fr({
2093
2125
  paths: {
2094
2126
  icons: d,
2095
2127
  base: h
@@ -2097,16 +2129,16 @@ function yr() {
2097
2129
  });
2098
2130
  }
2099
2131
  }
2100
- const t = R();
2101
- at(t);
2132
+ const t = F();
2133
+ Q(t);
2102
2134
  const e = J();
2103
- if (ot(e), i) {
2104
- vt(i);
2135
+ if (lt(e), i) {
2136
+ ct(i);
2105
2137
  const o = i.onclick;
2106
2138
  i.onclick = function(l) {
2107
2139
  l.preventDefault();
2108
- const h = R() === "dark" ? "light" : "dark";
2109
- at(h), vt(i), typeof o == "function" && o.call(this, l);
2140
+ const h = F() === "dark" ? "light" : "dark";
2141
+ Q(h), ct(i), typeof o == "function" && o.call(this, l);
2110
2142
  };
2111
2143
  }
2112
2144
  let s = document.getElementById("brand-picker");
@@ -2131,23 +2163,23 @@ function yr() {
2131
2163
  o.addEventListener("click", (l) => {
2132
2164
  l.stopPropagation();
2133
2165
  const c = o.getAttribute("data-brand-btn");
2134
- ot(c), s && (s.style.display = "none");
2166
+ lt(c), s && (s.style.display = "none");
2135
2167
  });
2136
2168
  });
2137
2169
  }
2138
- function Na() {
2170
+ function Ua() {
2139
2171
  const i = document.createElement("button");
2140
- 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";
2172
+ i.setAttribute("data-theme-toggle", ""), i.setAttribute("data-current-theme", F()), 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";
2141
2173
  const t = document.createElement("img");
2142
2174
  t.className = "theme-icon";
2143
- const e = ut();
2144
- 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) {
2175
+ const e = ft();
2176
+ return t.src = F() === "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) {
2145
2177
  s.preventDefault();
2146
- const r = R() === "dark" ? "light" : "dark";
2147
- at(r);
2178
+ const r = F() === "dark" ? "light" : "dark";
2179
+ Q(r);
2148
2180
  }, i;
2149
2181
  }
2150
- function Ra() {
2182
+ function Ya() {
2151
2183
  const i = document.createElement("div");
2152
2184
  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", X.forEach((a) => {
2153
2185
  const o = document.createElement("button");
@@ -2174,12 +2206,12 @@ function Ra() {
2174
2206
  a.addEventListener("click", (o) => {
2175
2207
  o.stopPropagation();
2176
2208
  const l = a.getAttribute("data-brand-btn");
2177
- ot(l), i.style.display = "none";
2209
+ lt(l), i.style.display = "none";
2178
2210
  });
2179
2211
  }), { toggleBtn: t, container: i };
2180
2212
  }
2181
- function Va(i, t = {}) {
2182
- const s = st()?.sanitizeHtml || {};
2213
+ function Xa(i, t = {}) {
2214
+ const s = nt()?.sanitizeHtml || {};
2183
2215
  if (!s.enabled && !t.force)
2184
2216
  return i;
2185
2217
  const n = t.allowedTags || s.allowedTags || [], r = t.allowedAttributes || s.allowedAttributes || {};
@@ -2198,17 +2230,17 @@ function Va(i, t = {}) {
2198
2230
  });
2199
2231
  }), o.body.innerHTML;
2200
2232
  }
2201
- function Ka(i) {
2233
+ function ja(i) {
2202
2234
  if (typeof i != "string")
2203
2235
  return i;
2204
2236
  const t = document.createElement("div");
2205
2237
  return t.textContent = i, t.innerHTML;
2206
2238
  }
2207
- function Wa(i) {
2239
+ function Ja(i) {
2208
2240
  return typeof i != "string" ? i : new DOMParser().parseFromString(i, "text/html").body.textContent || "";
2209
2241
  }
2210
- function Ua(i, t, e = {}) {
2211
- const n = st()?.maskData || {};
2242
+ function Za(i, t, e = {}) {
2243
+ const n = nt()?.maskData || {};
2212
2244
  if (!n.enabled && !e.force || i == null)
2213
2245
  return i;
2214
2246
  const a = (e.patterns || n.patterns || {})[t];
@@ -2217,8 +2249,8 @@ function Ua(i, t, e = {}) {
2217
2249
  const o = typeof a.regex == "string" ? new RegExp(a.regex) : a.regex;
2218
2250
  return String(i).replace(o, a.replace);
2219
2251
  }
2220
- function Ya(i, t) {
2221
- const s = st()?.secureId || {}, n = i || s.length || 16, r = s.charset || "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
2252
+ function Ga(i, t) {
2253
+ const s = nt()?.secureId || {}, n = i || s.length || 16, r = s.charset || "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
2222
2254
  if (typeof crypto > "u" || !crypto.getRandomValues) {
2223
2255
  let l = "";
2224
2256
  for (let c = 0; c < n; c++)
@@ -2232,7 +2264,7 @@ function Ya(i, t) {
2232
2264
  o += r[a[l] % r.length];
2233
2265
  return t ? `${t}_${o}` : o;
2234
2266
  }
2235
- class vr {
2267
+ class wr {
2236
2268
  constructor() {
2237
2269
  this.initializers = /* @__PURE__ */ new Map(), this.cleanupFunctions = /* @__PURE__ */ new Map(), this.processedElements = /* @__PURE__ */ new WeakSet(), this._dataAttrs = ["data-component"], this._cssClasses = [], this._cachedSelector = null;
2238
2270
  }
@@ -2339,7 +2371,7 @@ class vr {
2339
2371
  }), await Promise.all(n);
2340
2372
  }
2341
2373
  }
2342
- const E = new vr(), br = [
2374
+ const E = new wr(), kr = [
2343
2375
  { attr: "data-dropdown", cls: "ds-dropdown" },
2344
2376
  { attr: "data-select", cls: "ds-select" },
2345
2377
  { attr: "data-datepicker", cls: "ds-datepicker" },
@@ -2361,11 +2393,11 @@ const E = new vr(), br = [
2361
2393
  { cls: "ds-notification" },
2362
2394
  { cls: "ds-message" }
2363
2395
  ];
2364
- for (const i of br)
2396
+ for (const i of kr)
2365
2397
  i.attr && !E._dataAttrs.includes(i.attr) && E._dataAttrs.push(i.attr), i.cls && !E._cssClasses.includes(i.cls) && E._cssClasses.push(i.cls);
2366
- class G {
2398
+ class tt {
2367
2399
  constructor(t) {
2368
- 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 ht(), this.setupContext = null;
2400
+ 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 ut(), this.setupContext = null;
2369
2401
  }
2370
2402
  _parseProps() {
2371
2403
  const t = {};
@@ -2464,7 +2496,7 @@ class G {
2464
2496
  };
2465
2497
  let e = Object.getPrototypeOf(this);
2466
2498
  const s = /* @__PURE__ */ new Set();
2467
- for (; e && e.constructor !== Object && e.constructor !== G; ) {
2499
+ for (; e && e.constructor !== Object && e.constructor !== tt; ) {
2468
2500
  for (const [n, r] of Object.entries(t))
2469
2501
  s.has(n) || e.hasOwnProperty(n) && (Array.isArray(r) ? r.forEach((a) => {
2470
2502
  n === "render" && this.lifecycle.on(a, () => this.render?.());
@@ -2498,7 +2530,7 @@ class G {
2498
2530
  setup() {
2499
2531
  }
2500
2532
  }
2501
- function bt(i, t) {
2533
+ function wt(i, t) {
2502
2534
  Object.keys(t).forEach((e) => {
2503
2535
  if (e !== "constructor")
2504
2536
  if (typeof t[e] == "function") {
@@ -2510,12 +2542,12 @@ function bt(i, t) {
2510
2542
  i.prototype[e] = t[e];
2511
2543
  });
2512
2544
  }
2513
- class xr {
2545
+ class Cr {
2514
2546
  constructor() {
2515
2547
  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();
2516
2548
  }
2517
2549
  register(t, e) {
2518
- if (!(e.prototype instanceof G))
2550
+ if (!(e.prototype instanceof tt))
2519
2551
  throw new Error(`Component ${t} must extend KupolaComponent`);
2520
2552
  this.components.set(t, e);
2521
2553
  }
@@ -2539,7 +2571,7 @@ class xr {
2539
2571
  const n = (async () => {
2540
2572
  try {
2541
2573
  const r = await s(), a = r.default || r;
2542
- if (!(a.prototype instanceof G))
2574
+ if (!(a.prototype instanceof tt))
2543
2575
  throw new Error(`Component ${t} must extend KupolaComponent`);
2544
2576
  return this.loadedComponents.set(t, a), a;
2545
2577
  } catch (r) {
@@ -2554,7 +2586,7 @@ class xr {
2554
2586
  useMixin(t, ...e) {
2555
2587
  e.forEach((s) => {
2556
2588
  const n = this.mixins.get(s);
2557
- n && bt(t, n);
2589
+ n && wt(t, n);
2558
2590
  });
2559
2591
  }
2560
2592
  async bootstrap(t = document) {
@@ -2595,7 +2627,7 @@ class xr {
2595
2627
  const n = t.getAttribute("data-mixins"), r = s;
2596
2628
  n && n.split(",").forEach((o) => {
2597
2629
  const l = this.mixins.get(o.trim());
2598
- l && bt(r, l);
2630
+ l && wt(r, l);
2599
2631
  });
2600
2632
  const a = new r(t);
2601
2633
  t.__kupolaInstance = a, this.instances.set(t, a), a.mount();
@@ -2640,41 +2672,41 @@ class xr {
2640
2672
  }), this.instances.clear(), this.components.clear(), this.mixins.clear();
2641
2673
  }
2642
2674
  }
2643
- let M = null;
2644
- typeof window < "u" && (M = new xr());
2645
- function Er() {
2646
- if (st().xssProtection && typeof document < "u") {
2675
+ let I = null;
2676
+ typeof window < "u" && (I = new Cr());
2677
+ function Sr() {
2678
+ if (nt().xssProtection && typeof document < "u") {
2647
2679
  let t = document.querySelector('meta[http-equiv="X-XSS-Protection"]');
2648
2680
  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));
2649
2681
  }
2650
2682
  }
2651
- async function xt() {
2683
+ async function kt() {
2652
2684
  if (typeof window < "u") {
2653
- Er();
2654
- const i = dt();
2655
- O.loadPersisted(), O.bind(), yr(), i.components?.autoInit !== !1 && (await E.initializeAll(), M && await M.bootstrap());
2685
+ Sr();
2686
+ const i = pt();
2687
+ O.loadPersisted(), O.bind(), Er(), i.components?.autoInit !== !1 && (await E.initializeAll(), I && await I.bootstrap());
2656
2688
  }
2657
2689
  }
2658
- typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", xt) : typeof window < "u" && setTimeout(xt, 0);
2659
- function Xa(i, t) {
2660
- M && M.register(i, t);
2690
+ typeof document < "u" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", kt) : typeof window < "u" && setTimeout(kt, 0);
2691
+ function Qa(i, t) {
2692
+ I && I.register(i, t);
2661
2693
  }
2662
- function ja(i, t) {
2663
- M && M.registerLazy(i, t);
2694
+ function to(i, t) {
2695
+ I && I.registerLazy(i, t);
2664
2696
  }
2665
- function Ja(i) {
2666
- return M ? M.bootstrap(i) : Promise.resolve();
2697
+ function eo(i) {
2698
+ return I ? I.bootstrap(i) : Promise.resolve();
2667
2699
  }
2668
- function Za(i, t) {
2669
- M && M.defineMixin(i, t);
2700
+ function so(i, t) {
2701
+ I && I.defineMixin(i, t);
2670
2702
  }
2671
- function Ga(i, ...t) {
2672
- M && M.useMixin(i, ...t);
2703
+ function io(i, ...t) {
2704
+ I && I.useMixin(i, ...t);
2673
2705
  }
2674
- function Qa(i, t) {
2706
+ function no(i, t) {
2675
2707
  if (!t || typeof t != "object")
2676
2708
  throw new Error(`defineComponent("${i}"): options must be an object`);
2677
- 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, {
2709
+ t.componentClass ? I && I.register(i, t.componentClass) : t.lazy && I && I.registerLazy(i, t.lazy), t.init ? E.register(i, t.init, t.cleanup || null, {
2678
2710
  dataAttribute: t.dataAttribute,
2679
2711
  cssClass: t.cssClass
2680
2712
  }) : (t.dataAttribute || t.cssClass) && E.register(i, () => {
@@ -2683,9 +2715,9 @@ function Qa(i, t) {
2683
2715
  cssClass: t.cssClass
2684
2716
  });
2685
2717
  }
2686
- class Jt {
2718
+ class Qt {
2687
2719
  constructor(t = {}) {
2688
- const e = dt();
2720
+ const e = pt();
2689
2721
  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();
2690
2722
  }
2691
2723
  _initFromDOM() {
@@ -2781,32 +2813,32 @@ class Jt {
2781
2813
  return new Intl.RelativeTimeFormat(n, s).format(t, e);
2782
2814
  }
2783
2815
  }
2784
- const N = new Jt();
2785
- function to(i) {
2786
- return new Jt(i);
2816
+ const R = new Qt();
2817
+ function ro(i) {
2818
+ return new Qt(i);
2787
2819
  }
2788
- function eo(i, t = {}) {
2789
- return N.t(i, t);
2820
+ function ao(i, t = {}) {
2821
+ return R.t(i, t);
2790
2822
  }
2791
- function so(i, t, e = {}) {
2792
- return N.n(i, t, e);
2823
+ function oo(i, t, e = {}) {
2824
+ return R.n(i, t, e);
2793
2825
  }
2794
- function io(i) {
2795
- return N.setLocale(i);
2826
+ function lo(i) {
2827
+ return R.setLocale(i);
2796
2828
  }
2797
- function no() {
2798
- return N.getLocale();
2829
+ function co() {
2830
+ return R.getLocale();
2799
2831
  }
2800
- function ro(i, t = {}) {
2801
- return N.formatDate(i, t);
2832
+ function ho(i, t = {}) {
2833
+ return R.formatDate(i, t);
2802
2834
  }
2803
- function ao(i, t = {}) {
2804
- return N.formatNumber(i, t);
2835
+ function uo(i, t = {}) {
2836
+ return R.formatNumber(i, t);
2805
2837
  }
2806
- function oo(i, t, e = {}) {
2807
- return N.formatCurrency(i, t, e);
2838
+ function po(i, t, e = {}) {
2839
+ return R.formatCurrency(i, t, e);
2808
2840
  }
2809
- class wr {
2841
+ class Lr {
2810
2842
  constructor() {
2811
2843
  this._listeners = /* @__PURE__ */ new Map(), this._scopeListeners = /* @__PURE__ */ new Map();
2812
2844
  }
@@ -2936,32 +2968,32 @@ class wr {
2936
2968
  this._listeners.clear(), this._scopeListeners.clear();
2937
2969
  }
2938
2970
  }
2939
- const H = new wr();
2940
- function lo(i, t, e, s) {
2971
+ const H = new Lr();
2972
+ function fo(i, t, e, s) {
2941
2973
  return H.on(i, t, e, s);
2942
2974
  }
2943
- function co(i, t, e, s) {
2975
+ function mo(i, t, e, s) {
2944
2976
  return H.once(i, t, e, s);
2945
2977
  }
2946
- function ho(i, t, e) {
2978
+ function go(i, t, e) {
2947
2979
  H.off(i, t, e);
2948
2980
  }
2949
- function uo(i, t, e) {
2981
+ function _o(i, t, e) {
2950
2982
  return H.emit(i, t, e);
2951
2983
  }
2952
- function po(i, t) {
2984
+ function yo(i, t) {
2953
2985
  return H.emitGlobal(i, t);
2954
2986
  }
2955
- function fo(i) {
2987
+ function vo(i) {
2956
2988
  H.offByScope(i);
2957
2989
  }
2958
- function mo(i, t) {
2990
+ function bo(i, t) {
2959
2991
  H.offAll(i, t);
2960
2992
  }
2961
- function go(i, t) {
2993
+ function xo(i, t) {
2962
2994
  return H.getListenerCount(i, t);
2963
2995
  }
2964
- class kr {
2996
+ class Dr {
2965
2997
  constructor(t, e = {}) {
2966
2998
  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)}`;
2967
2999
  const s = j();
@@ -3096,26 +3128,26 @@ class kr {
3096
3128
  }), this._mouseenterHandler && this.menu.removeEventListener("mouseenter", this._mouseenterHandler), this._mouseleaveHandler && this.menu.removeEventListener("mouseleave", this._mouseleaveHandler)), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this.appendToBody && this._originalParent && this._restoreMenuFromBody(), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._itemClickHandler = null, this._keydownHandler = null, this._mouseenterHandler = null, this._mouseleaveHandler = null, this._triggerMouseenterHandler = null, this._triggerMouseleaveHandler = null, this._triggerKeydownHandler = null, this.element.__kupolaInitialized = !1);
3097
3129
  }
3098
3130
  }
3099
- function Zt(i, t) {
3131
+ function te(i, t) {
3100
3132
  i._kupolaDropdown && i._kupolaDropdown.destroy();
3101
- const e = new kr(i, t);
3133
+ const e = new Dr(i, t);
3102
3134
  e.init(), i._kupolaDropdown = e;
3103
3135
  }
3104
- function _o(i = document) {
3136
+ function Eo(i = document) {
3105
3137
  i.querySelectorAll(".ds-dropdown").forEach((t) => {
3106
- Zt(t);
3138
+ te(t);
3107
3139
  });
3108
3140
  }
3109
- function Gt(i) {
3141
+ function ee(i) {
3110
3142
  i._kupolaDropdown && (i._kupolaDropdown.destroy(), i._kupolaDropdown = null);
3111
3143
  }
3112
- function yo() {
3144
+ function wo() {
3113
3145
  document.querySelectorAll(".ds-dropdown").forEach((i) => {
3114
- Gt(i);
3146
+ ee(i);
3115
3147
  });
3116
3148
  }
3117
- E.register("dropdown", Zt, Gt);
3118
- class Cr {
3149
+ E.register("dropdown", te, ee);
3150
+ class Hr {
3119
3151
  constructor(t, e = {}) {
3120
3152
  this.element = t, this.trigger = t.querySelector(".ds-select__trigger"), this.valueEl = t.querySelector(".ds-select__value") || t.querySelector(".ds-select__trigger span"), this.optionsEl = t.querySelector(".ds-select__options") || t.querySelector(".ds-select__menu"), this.nativeSelect = t.querySelector("select"), this.icon = t.querySelector(".ds-select__icon"), this.scope = `select-${Math.random().toString(36).substr(2, 9)}`, this.multiple = e.multiple || t.hasAttribute("data-select-multiple"), this.searchable = e.searchable || t.hasAttribute("data-select-search"), this.clearable = e.clearable || t.hasAttribute("data-select-clear"), this.placeholder = e.placeholder || t.getAttribute("data-select-placeholder") || "", this.disabled = e.disabled || t.hasAttribute("data-select-disabled"), this.maxSelection = e.maxSelection || parseInt(t.getAttribute("data-select-max")) || 1 / 0, this.remoteMethod = e.remoteMethod || null, this.onChange = e.onChange || null, this.appendToBody = e.appendToBody !== !1, this.isOpen = !1, this.selectedValues = /* @__PURE__ */ new Set(), this.allOptions = [], this.filteredOptions = [], this.focusIndex = -1, this.searchInput = null, this.clearBtn = null, this.tagsWrap = null, this._originalParent = null, this._originalPosition = null, this._triggerClickHandler = null, this._documentClickHandler = null, this._documentClickListener = null, this._optionClickHandler = null, this._keydownHandler = null;
3121
3153
  }
@@ -3361,20 +3393,20 @@ class Cr {
3361
3393
  }), this._keydownHandler && document.removeEventListener("keydown", this._keydownHandler), this._documentClickListener && this._documentClickListener.unsubscribe ? this._documentClickListener.unsubscribe() : this._documentClickHandler && document.removeEventListener("click", this._documentClickHandler), this.searchInput && this.searchInput.remove(), this.clearBtn && this.clearBtn.remove(), this.tagsWrap && this.tagsWrap.remove(), this.appendToBody && this._originalParent && this._restoreOptionsFromBody(), this._documentClickHandler = null, this._documentClickListener = null, this._triggerClickHandler = null, this._optionClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3362
3394
  }
3363
3395
  }
3364
- function Qt(i, t) {
3365
- const e = new Cr(i, t);
3396
+ function se(i, t) {
3397
+ const e = new Hr(i, t);
3366
3398
  e.init(), i._kupolaSelect = e;
3367
3399
  }
3368
- function vo(i = document) {
3400
+ function ko(i = document) {
3369
3401
  i.querySelectorAll(".ds-select").forEach((t) => {
3370
- Qt(t);
3402
+ se(t);
3371
3403
  });
3372
3404
  }
3373
- function Sr(i) {
3405
+ function Mr(i) {
3374
3406
  i._kupolaSelect && (i._kupolaSelect.destroy(), i._kupolaSelect = null);
3375
3407
  }
3376
- E.register("select", Qt, Sr);
3377
- class Lr {
3408
+ E.register("select", se, Mr);
3409
+ class Ir {
3378
3410
  constructor(t, e = {}) {
3379
3411
  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)}`;
3380
3412
  const s = j(), n = s.datepicker?.weekStart !== void 0 ? s.datepicker.weekStart : 1;
@@ -3637,20 +3669,20 @@ class Lr {
3637
3669
  }), this.appendToBody && this._originalParent && this._restoreCalendarFromBody(), this._documentClickHandler = null, this._resizeHandler = null, this._documentClickListener = null, this._resizeListener = null, this._iconClickHandler = null, this._inputClickHandler = null, this._endInputClickHandler = null, this._keydownHandler = null, this.element.__kupolaInitialized = !1);
3638
3670
  }
3639
3671
  }
3640
- function te(i, t) {
3641
- const e = new Lr(i, t);
3672
+ function ie(i, t) {
3673
+ const e = new Ir(i, t);
3642
3674
  e.init(), i._kupolaDatepicker = e;
3643
3675
  }
3644
- function bo(i = document) {
3676
+ function Co(i = document) {
3645
3677
  i.querySelectorAll(".ds-datepicker").forEach((t) => {
3646
- te(t);
3678
+ ie(t);
3647
3679
  });
3648
3680
  }
3649
- function Dr(i) {
3681
+ function Tr(i) {
3650
3682
  i._kupolaDatepicker && (i._kupolaDatepicker.destroy(), i._kupolaDatepicker = null);
3651
3683
  }
3652
- E.register("datepicker", te, Dr);
3653
- class Hr {
3684
+ E.register("datepicker", ie, Tr);
3685
+ class Ar {
3654
3686
  constructor(t, e = {}) {
3655
3687
  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;
3656
3688
  }
@@ -3832,20 +3864,20 @@ class Hr {
3832
3864
  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);
3833
3865
  }
3834
3866
  }
3835
- function ee(i, t) {
3836
- const e = new Hr(i, t);
3867
+ function ne(i, t) {
3868
+ const e = new Ar(i, t);
3837
3869
  e.init(), i._kupolaTimepicker = e;
3838
3870
  }
3839
- function xo(i = document) {
3871
+ function So(i = document) {
3840
3872
  i.querySelectorAll(".ds-timepicker").forEach((t) => {
3841
- ee(t);
3873
+ ne(t);
3842
3874
  });
3843
3875
  }
3844
- function Mr(i) {
3876
+ function zr(i) {
3845
3877
  i._kupolaTimepicker && (i._kupolaTimepicker.destroy(), i._kupolaTimepicker = null);
3846
3878
  }
3847
- E.register("timepicker", ee, Mr);
3848
- class Ir {
3879
+ E.register("timepicker", ne, zr);
3880
+ class Pr {
3849
3881
  constructor(t, e = {}) {
3850
3882
  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)
3851
3883
  throw new Error("Slider: Missing required elements");
@@ -3993,26 +4025,26 @@ class Ir {
3993
4025
  this.disabled = !0, this.element.classList.add("is-disabled");
3994
4026
  }
3995
4027
  }
3996
- function se(i, t) {
4028
+ function re(i, t) {
3997
4029
  if (!i.__kupolaInitialized)
3998
4030
  try {
3999
- const e = new Ir(i, t);
4031
+ const e = new Pr(i, t);
4000
4032
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4001
4033
  } catch (e) {
4002
4034
  console.error("[Slider] Error initializing:", e);
4003
4035
  }
4004
4036
  }
4005
- function Tr(i) {
4037
+ function $r(i) {
4006
4038
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4007
4039
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4008
4040
  }
4009
- function Eo() {
4041
+ function Lo() {
4010
4042
  document.querySelectorAll(".ds-slider").forEach((i) => {
4011
- se(i);
4043
+ re(i);
4012
4044
  });
4013
4045
  }
4014
- E.register("slider", se, Tr);
4015
- class Ar {
4046
+ E.register("slider", re, $r);
4047
+ class Br {
4016
4048
  constructor(t, e = {}) {
4017
4049
  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 = () => {
4018
4050
  this.pauseOnHover && this.stopAutoPlay();
@@ -4093,22 +4125,22 @@ class Ar {
4093
4125
  }), 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;
4094
4126
  }
4095
4127
  }
4096
- function ie(i, t) {
4128
+ function ae(i, t) {
4097
4129
  if (i.__kupolaInitialized) return;
4098
- const e = new Ar(i, t);
4130
+ const e = new Br(i, t);
4099
4131
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4100
4132
  }
4101
- function wo(i = document) {
4133
+ function Do(i = document) {
4102
4134
  i.querySelectorAll(".ds-carousel").forEach((t) => {
4103
- ie(t);
4135
+ ae(t);
4104
4136
  });
4105
4137
  }
4106
- function zr(i) {
4138
+ function qr(i) {
4107
4139
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4108
4140
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4109
4141
  }
4110
- E.register("carousel", ie, zr);
4111
- class Pr {
4142
+ E.register("carousel", ae, qr);
4143
+ class Or {
4112
4144
  constructor(t, e = {}) {
4113
4145
  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();
4114
4146
  }
@@ -4145,20 +4177,20 @@ class Pr {
4145
4177
  return this.drawerEl?.classList.contains("is-visible") || !1;
4146
4178
  }
4147
4179
  }
4148
- function lt(i, t) {
4180
+ function ht(i, t) {
4149
4181
  if (i.__kupolaInitialized) return;
4150
- const e = new Pr(i, t);
4182
+ const e = new Or(i, t);
4151
4183
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4152
4184
  }
4153
- function $r(i) {
4185
+ function Fr(i) {
4154
4186
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4155
4187
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4156
4188
  }
4157
- function ko() {
4189
+ function Ho() {
4158
4190
  document.querySelectorAll("[data-drawer]").forEach((i) => {
4159
4191
  i.addEventListener("click", () => {
4160
4192
  const t = i.getAttribute("data-drawer"), e = document.getElementById(t);
4161
- e && (lt(e, {
4193
+ e && (ht(e, {
4162
4194
  placement: i.getAttribute("data-drawer-placement") || "right",
4163
4195
  width: i.getAttribute("data-drawer-width"),
4164
4196
  height: i.getAttribute("data-drawer-height")
@@ -4166,10 +4198,10 @@ function ko() {
4166
4198
  });
4167
4199
  }), document.querySelectorAll(".ds-drawer-mask").forEach((i) => {
4168
4200
  const t = i.parentElement;
4169
- t && lt(t);
4201
+ t && ht(t);
4170
4202
  });
4171
4203
  }
4172
- E.register("drawer", lt, $r);
4204
+ E.register("drawer", ht, Fr);
4173
4205
  class $ {
4174
4206
  constructor(t, e = {}) {
4175
4207
  this.element = t, this.mask = t.querySelector(".ds-modal-mask"), this.modal = t.querySelector(".ds-modal"), this.closeBtn = t.querySelector(".ds-modal__close");
@@ -4206,7 +4238,7 @@ class $ {
4206
4238
  }
4207
4239
  }
4208
4240
  $._openCount = 0;
4209
- function ne(i = {}) {
4241
+ function oe(i = {}) {
4210
4242
  const {
4211
4243
  title: t = "",
4212
4244
  content: e = "",
@@ -4254,8 +4286,8 @@ function ne(i = {}) {
4254
4286
  const z = C.querySelector(".ds-modal__body");
4255
4287
  z && (s ? z.innerHTML = e : z.textContent = e);
4256
4288
  const D = C.querySelector("[data-modal-confirm]"), q = C.querySelector("[data-modal-cancel]");
4257
- let pt = !1;
4258
- const ft = async () => {
4289
+ let gt = !1;
4290
+ const _t = async () => {
4259
4291
  if (p) {
4260
4292
  D.disabled = !0, D.classList.add("is-loading");
4261
4293
  try {
@@ -4268,52 +4300,52 @@ function ne(i = {}) {
4268
4300
  return;
4269
4301
  }
4270
4302
  }
4271
- pt = !0, k.close();
4272
- }, mt = () => {
4303
+ gt = !0, k.close();
4304
+ }, yt = () => {
4273
4305
  m && m(), k.close();
4274
4306
  };
4275
- D && D.addEventListener("click", ft), q && q.addEventListener("click", mt);
4276
- const Ce = () => {
4307
+ D && D.addEventListener("click", _t), q && q.addEventListener("click", yt);
4308
+ const De = () => {
4277
4309
  setTimeout(() => {
4278
- D && D.removeEventListener("click", ft), q && q.removeEventListener("click", mt), k.destroy(), C.remove(), _ && _(pt);
4310
+ D && D.removeEventListener("click", _t), q && q.removeEventListener("click", yt), k.destroy(), C.remove(), _ && _(gt);
4279
4311
  }, 300);
4280
- }, Se = k.close.bind(k);
4312
+ }, He = k.close.bind(k);
4281
4313
  return k.close = () => {
4282
- Se(), Ce();
4314
+ He(), De();
4283
4315
  }, k.open(), y && setTimeout(() => y(), 50), k;
4284
4316
  }
4285
- function Co(i) {
4286
- return typeof i == "string" && (i = { content: i }), ne({
4317
+ function Mo(i) {
4318
+ return typeof i == "string" && (i = { content: i }), oe({
4287
4319
  ...i,
4288
4320
  showCancel: !0,
4289
4321
  showConfirm: !0
4290
4322
  });
4291
4323
  }
4292
- function So(i) {
4293
- return typeof i == "string" && (i = { content: i }), ne({
4324
+ function Io(i) {
4325
+ return typeof i == "string" && (i = { content: i }), oe({
4294
4326
  ...i,
4295
4327
  showCancel: !1,
4296
4328
  showConfirm: !0
4297
4329
  });
4298
4330
  }
4299
- function re(i) {
4331
+ function le(i) {
4300
4332
  if (i.__kupolaInitialized)
4301
4333
  return;
4302
4334
  const t = new $(i);
4303
4335
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4304
4336
  }
4305
- function Br(i) {
4337
+ function Nr(i) {
4306
4338
  if (!i.__kupolaInitialized || !i.__kupolaInstance)
4307
4339
  return;
4308
4340
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4309
4341
  }
4310
- function Lo() {
4342
+ function To() {
4311
4343
  document.querySelectorAll(".ds-modal-container").forEach((i) => {
4312
- re(i);
4344
+ le(i);
4313
4345
  });
4314
4346
  }
4315
- E.register("modal", re, Br);
4316
- class Do {
4347
+ E.register("modal", le, Nr);
4348
+ class Ao {
4317
4349
  static normal(t = {}) {
4318
4350
  return this._create({ type: "normal", ...t });
4319
4351
  }
@@ -4378,7 +4410,7 @@ class Do {
4378
4410
  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 };
4379
4411
  }
4380
4412
  }
4381
- const Ho = {
4413
+ const zo = {
4382
4414
  normal: function(i) {
4383
4415
  this.show({ ...i, type: "normal" });
4384
4416
  },
@@ -4395,7 +4427,7 @@ const Ho = {
4395
4427
  this.show({ ...i, type: "info" });
4396
4428
  },
4397
4429
  show: function(i) {
4398
- const t = mr(), { title: e, message: s, type: n = "normal", duration: r = t.duration, position: a = t.position } = i, o = document.createElement("div");
4430
+ const t = vr(), { title: e, message: s, type: n = "normal", duration: r = t.duration, position: a = t.position } = i, o = document.createElement("div");
4399
4431
  o.className = `ds-notification__item ds-notification__item--${n}`;
4400
4432
  const l = {
4401
4433
  normal: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>',
@@ -4429,9 +4461,9 @@ const Ho = {
4429
4461
  }, r);
4430
4462
  }
4431
4463
  };
4432
- function Mo() {
4464
+ function Po() {
4433
4465
  }
4434
- const Io = {
4466
+ const $o = {
4435
4467
  normal: function(i, t = {}) {
4436
4468
  this.show(i, "normal", t);
4437
4469
  },
@@ -4448,7 +4480,7 @@ const Io = {
4448
4480
  this.show(i, "info", t);
4449
4481
  },
4450
4482
  show: function(i, t = "normal", e = {}) {
4451
- const s = fr(), { duration: n = s.duration, position: r = s.position } = e, a = s.maxCount || 5, o = document.createElement("div");
4483
+ const s = yr(), { duration: n = s.duration, position: r = s.position } = e, a = s.maxCount || 5, o = document.createElement("div");
4452
4484
  o.className = `ds-message__item ds-message__item--${t}`;
4453
4485
  const l = {
4454
4486
  normal: '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>',
@@ -4479,12 +4511,12 @@ const Io = {
4479
4511
  }, n);
4480
4512
  }
4481
4513
  };
4482
- function To() {
4514
+ function Bo() {
4483
4515
  }
4484
- function Et(i) {
4516
+ function Ct(i) {
4485
4517
  return i ? i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;") : "";
4486
4518
  }
4487
- class qr {
4519
+ class Rr {
4488
4520
  constructor(t) {
4489
4521
  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();
4490
4522
  }
@@ -4540,7 +4572,7 @@ class qr {
4540
4572
  <div class="ds-fileupload__icon" style="width: 24px; height: 24px; border-radius: 4px;">
4541
4573
  ${s}
4542
4574
  </div>
4543
- <span class="ds-fileupload__filename">${this.truncateFilename(Et(t.name))}</span>
4575
+ <span class="ds-fileupload__filename">${this.truncateFilename(Ct(t.name))}</span>
4544
4576
  <span class="ds-fileupload__size">${this.formatSize(t.size)}</span>
4545
4577
  <button class="ds-fileupload__remove" type="button" aria-label="Remove file">
4546
4578
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
@@ -4592,7 +4624,7 @@ class qr {
4592
4624
  e.onload = (s) => {
4593
4625
  const n = document.createElement("div");
4594
4626
  n.className = "ds-fileupload__preview-item", n.innerHTML = `
4595
- <img src="${s.target.result}" alt="${Et(t.name)}">
4627
+ <img src="${s.target.result}" alt="${Ct(t.name)}">
4596
4628
  <button class="ds-fileupload__preview-remove" type="button" aria-label="Remove preview">
4597
4629
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4598
4630
  <path d="M18 6L6 18"/>
@@ -4642,22 +4674,22 @@ class qr {
4642
4674
  }), this._listeners = null, this.files = [], this.dropzone = null, this.input = null, this.list = null, this.progress = null, this.preview = null, this.element = null;
4643
4675
  }
4644
4676
  }
4645
- function ae(i) {
4677
+ function ce(i) {
4646
4678
  if (i.__kupolaInitialized) return;
4647
- const t = new qr(i);
4679
+ const t = new Rr(i);
4648
4680
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
4649
4681
  }
4650
- function Or(i) {
4682
+ function Vr(i) {
4651
4683
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4652
4684
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4653
4685
  }
4654
- function Ao() {
4686
+ function qo() {
4655
4687
  document.querySelectorAll(".ds-fileupload").forEach((i) => {
4656
- ae(i);
4688
+ ce(i);
4657
4689
  });
4658
4690
  }
4659
- E.register("fileupload", ae, Or);
4660
- class Fr {
4691
+ E.register("fileupload", ce, Vr);
4692
+ class Kr {
4661
4693
  constructor(t, e = {}) {
4662
4694
  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();
4663
4695
  }
@@ -4739,22 +4771,22 @@ class Fr {
4739
4771
  this.headers[t] && (this.headers[t].isDisabled = !1, this.headers[t].item.classList.remove("is-disabled"));
4740
4772
  }
4741
4773
  }
4742
- function oe(i, t) {
4774
+ function he(i, t) {
4743
4775
  if (i.__kupolaInitialized) return;
4744
- const e = new Fr(i, t);
4776
+ const e = new Kr(i, t);
4745
4777
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
4746
4778
  }
4747
- function Nr(i) {
4779
+ function Wr(i) {
4748
4780
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
4749
4781
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
4750
4782
  }
4751
- function zo() {
4783
+ function Oo() {
4752
4784
  document.querySelectorAll(".ds-collapse").forEach((i) => {
4753
- oe(i);
4785
+ he(i);
4754
4786
  });
4755
4787
  }
4756
- E.register("collapse", oe, Nr);
4757
- class Rr {
4788
+ E.register("collapse", he, Wr);
4789
+ class Ur {
4758
4790
  constructor(t, e = {}) {
4759
4791
  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);
4760
4792
  }
@@ -4919,20 +4951,20 @@ class Rr {
4919
4951
  }), 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;
4920
4952
  }
4921
4953
  }
4922
- function le(i, t) {
4923
- const e = new Rr(i, t);
4954
+ function de(i, t) {
4955
+ const e = new Ur(i, t);
4924
4956
  e.init(), i._kupolaColorPicker = e;
4925
4957
  }
4926
- function Po(i = document) {
4958
+ function Fo(i = document) {
4927
4959
  i.querySelectorAll(".ds-color-picker").forEach((t) => {
4928
- le(t);
4960
+ de(t);
4929
4961
  });
4930
4962
  }
4931
- function Vr(i) {
4963
+ function Yr(i) {
4932
4964
  i._kupolaColorPicker && (i._kupolaColorPicker.destroy(), i._kupolaColorPicker = null);
4933
4965
  }
4934
- E.register("color-picker", le, Vr);
4935
- class Kr {
4966
+ E.register("color-picker", de, Yr);
4967
+ class Xr {
4936
4968
  constructor(t, e = {}) {
4937
4969
  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)
4938
4970
  throw new Error("Calendar: Missing required elements");
@@ -5129,26 +5161,26 @@ class Kr {
5129
5161
  this.isRangeMode = !this.isRangeMode, this.rangeStart = null, this.rangeEnd = null, this.render(), this._emitChange();
5130
5162
  }
5131
5163
  }
5132
- function ce(i, t) {
5164
+ function ue(i, t) {
5133
5165
  if (!i.__kupolaInitialized)
5134
5166
  try {
5135
- const e = new Kr(i, t);
5167
+ const e = new Xr(i, t);
5136
5168
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5137
5169
  } catch (e) {
5138
5170
  console.error("[Calendar] Error initializing:", e);
5139
5171
  }
5140
5172
  }
5141
- function Wr(i) {
5173
+ function jr(i) {
5142
5174
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5143
5175
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5144
5176
  }
5145
- function $o() {
5177
+ function No() {
5146
5178
  document.querySelectorAll(".ds-calendar").forEach((i) => {
5147
- ce(i);
5179
+ ue(i);
5148
5180
  });
5149
5181
  }
5150
- E.register("calendar", ce, Wr);
5151
- class Ur {
5182
+ E.register("calendar", ue, jr);
5183
+ class Jr {
5152
5184
  constructor(t, e = {}) {
5153
5185
  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();
5154
5186
  }
@@ -5294,22 +5326,22 @@ class Ur {
5294
5326
  }), this._listeners = null, this.input = null, this.element = null;
5295
5327
  }
5296
5328
  }
5297
- function he(i, t) {
5329
+ function pe(i, t) {
5298
5330
  if (i.__kupolaInitialized) return;
5299
- const e = new Ur(i, t);
5331
+ const e = new Jr(i, t);
5300
5332
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5301
5333
  }
5302
- function Yr(i) {
5334
+ function Zr(i) {
5303
5335
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5304
5336
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5305
5337
  }
5306
- function Bo() {
5338
+ function Ro() {
5307
5339
  document.querySelectorAll(".ds-dynamic-tags").forEach((i) => {
5308
- he(i);
5340
+ pe(i);
5309
5341
  });
5310
5342
  }
5311
- E.register("dynamic-tags", he, Yr);
5312
- class de {
5343
+ E.register("dynamic-tags", pe, Zr);
5344
+ class fe {
5313
5345
  constructor(t = {}) {
5314
5346
  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();
5315
5347
  }
@@ -5501,18 +5533,18 @@ class de {
5501
5533
  }
5502
5534
  }
5503
5535
  let V = null;
5504
- function qo() {
5505
- V || (V = new de()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5536
+ function Vo() {
5537
+ V || (V = new fe()), document.querySelectorAll("[data-image-preview]").forEach((i) => {
5506
5538
  i.addEventListener("click", () => {
5507
5539
  const t = JSON.parse(i.getAttribute("data-image-preview")), e = parseInt(i.getAttribute("data-image-index")) || 0;
5508
5540
  V.show(t, e);
5509
5541
  });
5510
5542
  });
5511
5543
  }
5512
- function Oo(i, t = 0) {
5513
- V || (V = new de()), V.show(i, t);
5544
+ function Ko(i, t = 0) {
5545
+ V || (V = new fe()), V.show(i, t);
5514
5546
  }
5515
- class Xr {
5547
+ class Gr {
5516
5548
  constructor(t, e = {}) {
5517
5549
  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();
5518
5550
  }
@@ -5642,22 +5674,22 @@ class Xr {
5642
5674
  }), this._listeners = [], this.closeBtn = null, this.checkbox = null, this.editInput = null, this.element = null;
5643
5675
  }
5644
5676
  }
5645
- function ue(i, t) {
5677
+ function me(i, t) {
5646
5678
  if (i.__kupolaInitialized) return;
5647
- const e = new Xr(i, t);
5679
+ const e = new Gr(i, t);
5648
5680
  i.__kupolaInstance = e, i.__kupolaInitialized = !0;
5649
5681
  }
5650
- function jr(i) {
5682
+ function Qr(i) {
5651
5683
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5652
5684
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5653
5685
  }
5654
- function Fo() {
5686
+ function Wo() {
5655
5687
  document.querySelectorAll(".ds-tag").forEach((i) => {
5656
- ue(i);
5688
+ me(i);
5657
5689
  });
5658
5690
  }
5659
- E.register("tag", ue, jr);
5660
- class Jr {
5691
+ E.register("tag", me, Qr);
5692
+ class ta {
5661
5693
  constructor(t) {
5662
5694
  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();
5663
5695
  }
@@ -5717,22 +5749,22 @@ class Jr {
5717
5749
  this._observer && (this._observer.disconnect(), this._observer = null), this.animated = !1, this.valueElement = null, this.progressFill = null, this.element = null;
5718
5750
  }
5719
5751
  }
5720
- function pe(i) {
5752
+ function ge(i) {
5721
5753
  if (i.__kupolaInitialized) return;
5722
- const t = new Jr(i);
5754
+ const t = new ta(i);
5723
5755
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
5724
5756
  }
5725
- function Zr(i) {
5757
+ function ea(i) {
5726
5758
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5727
5759
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5728
5760
  }
5729
- function No() {
5761
+ function Uo() {
5730
5762
  document.querySelectorAll(".ds-statcard").forEach((i) => {
5731
- pe(i);
5763
+ ge(i);
5732
5764
  });
5733
5765
  }
5734
- E.register("statcard", pe, Zr);
5735
- class Gr {
5766
+ E.register("statcard", ge, ea);
5767
+ class sa {
5736
5768
  constructor(t, e = {}) {
5737
5769
  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();
5738
5770
  }
@@ -5887,7 +5919,7 @@ class Gr {
5887
5919
  }), this._listeners = null, this.tooltip && this.tooltip.parentNode && this.tooltip.parentNode.removeChild(this.tooltip), this.tooltip = null, this.data = [], this.element = null;
5888
5920
  }
5889
5921
  }
5890
- function fe(i) {
5922
+ function _e(i) {
5891
5923
  if (i.__kupolaInitialized) return;
5892
5924
  const t = i.getAttribute("data-heatmap-data");
5893
5925
  let e = [];
@@ -5895,27 +5927,27 @@ function fe(i) {
5895
5927
  try {
5896
5928
  e = JSON.parse(t);
5897
5929
  } catch {
5898
- e = wt();
5930
+ e = St();
5899
5931
  }
5900
5932
  else
5901
- e = wt();
5902
- const s = new Gr(i, {
5933
+ e = St();
5934
+ const s = new sa(i, {
5903
5935
  data: e,
5904
5936
  onCellClick: (n) => {
5905
5937
  }
5906
5938
  });
5907
5939
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
5908
5940
  }
5909
- function Qr(i) {
5941
+ function ia(i) {
5910
5942
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
5911
5943
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
5912
5944
  }
5913
- function Ro() {
5945
+ function Yo() {
5914
5946
  document.querySelectorAll(".ds-heatmap").forEach((i) => {
5915
- fe(i);
5947
+ _e(i);
5916
5948
  });
5917
5949
  }
5918
- function wt() {
5950
+ function St() {
5919
5951
  const i = [], t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
5920
5952
  e.setFullYear(e.getFullYear() - 1);
5921
5953
  for (let s = new Date(e); s <= t; s.setDate(s.getDate() + 1)) {
@@ -5927,8 +5959,8 @@ function wt() {
5927
5959
  }
5928
5960
  return i;
5929
5961
  }
5930
- E.register("heatmap", fe, Qr);
5931
- class ta {
5962
+ E.register("heatmap", _e, ia);
5963
+ class na {
5932
5964
  constructor(t, e = {}) {
5933
5965
  this.element = t, this.tooltipEl = null, this.options = e;
5934
5966
  const s = j(), n = s.tooltip?.delay !== void 0 ? s.tooltip.delay : 300;
@@ -6029,20 +6061,20 @@ class ta {
6029
6061
  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);
6030
6062
  }
6031
6063
  }
6032
- function me(i, t) {
6033
- const e = new ta(i, t);
6064
+ function ye(i, t) {
6065
+ const e = new na(i, t);
6034
6066
  e.init(), i._kupolaTooltip = e;
6035
6067
  }
6036
- function Vo(i = document) {
6068
+ function Xo(i = document) {
6037
6069
  i.querySelectorAll("[data-tooltip]").forEach((t) => {
6038
- me(t);
6070
+ ye(t);
6039
6071
  });
6040
6072
  }
6041
- function ea(i) {
6073
+ function ra(i) {
6042
6074
  i._kupolaTooltip && (i._kupolaTooltip.destroy(), i._kupolaTooltip = null);
6043
6075
  }
6044
- E.register("tooltip", me, ea);
6045
- class sa {
6076
+ E.register("tooltip", ye, ra);
6077
+ class aa {
6046
6078
  constructor() {
6047
6079
  this.validators = {
6048
6080
  required: this.validateRequired,
@@ -6268,7 +6300,7 @@ class sa {
6268
6300
  }[t] || "Invalid input";
6269
6301
  }
6270
6302
  }
6271
- const P = new sa();
6303
+ const P = new aa();
6272
6304
  window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized = !0, document.addEventListener("DOMContentLoaded", () => {
6273
6305
  document.querySelectorAll("form[data-validation]").forEach((i) => {
6274
6306
  i.addEventListener("submit", async (t) => {
@@ -6298,7 +6330,7 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6298
6330
  r && r.focus();
6299
6331
  }
6300
6332
  }), i.querySelectorAll("[data-validate]").forEach((t) => {
6301
- const e = gr(), s = e.trigger || "blur", n = () => {
6333
+ const e = br(), s = e.trigger || "blur", n = () => {
6302
6334
  e.showErrors && setTimeout(() => {
6303
6335
  const l = document.activeElement;
6304
6336
  if (l && l.closest(".ds-select"))
@@ -6312,7 +6344,7 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6312
6344
  return (...d) => {
6313
6345
  clearTimeout(h), h = setTimeout(() => l(...d), c);
6314
6346
  };
6315
- }, a = pr(), o = r(() => {
6347
+ }, a = _r(), o = r(() => {
6316
6348
  if (!e.showErrors)
6317
6349
  return;
6318
6350
  const l = P.getValue(t);
@@ -6324,7 +6356,7 @@ window.__kupolaValidationInitialized || (window.__kupolaValidationInitialized =
6324
6356
  });
6325
6357
  });
6326
6358
  }));
6327
- class ia {
6359
+ class oa {
6328
6360
  constructor(t, e = {}) {
6329
6361
  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();
6330
6362
  }
@@ -6563,7 +6595,7 @@ class ia {
6563
6595
  }), 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;
6564
6596
  }
6565
6597
  }
6566
- function kt(i = 1e3) {
6598
+ function Lt(i = 1e3) {
6567
6599
  const t = [], e = ["Document", "Image", "Video", "Folder", "Archive", "Spreadsheet", "Presentation", "Code"];
6568
6600
  for (let s = 1; s <= i; s++) {
6569
6601
  const n = Math.floor(Math.random() * e.length), r = Math.floor(Math.random() * 1e4);
@@ -6576,7 +6608,7 @@ function kt(i = 1e3) {
6576
6608
  }
6577
6609
  return t;
6578
6610
  }
6579
- function na(i) {
6611
+ function la(i) {
6580
6612
  if (i.__kupolaInitialized) return;
6581
6613
  const t = i.getAttribute("data-virtual-list");
6582
6614
  let e = [];
@@ -6584,11 +6616,11 @@ function na(i) {
6584
6616
  try {
6585
6617
  e = JSON.parse(t);
6586
6618
  } catch {
6587
- e = kt(1e3);
6619
+ e = Lt(1e3);
6588
6620
  }
6589
6621
  else
6590
- e = kt(1e3);
6591
- const s = new ia(i, {
6622
+ e = Lt(1e3);
6623
+ const s = new oa(i, {
6592
6624
  data: e,
6593
6625
  onItemClick: (n) => {
6594
6626
  },
@@ -6597,12 +6629,12 @@ function na(i) {
6597
6629
  });
6598
6630
  i.__kupolaInstance = s, i.__kupolaInitialized = !0;
6599
6631
  }
6600
- function ra(i) {
6632
+ function ca(i) {
6601
6633
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6602
6634
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6603
6635
  }
6604
- E.register("virtual-list", na, ra);
6605
- const aa = '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"', ge = {
6636
+ E.register("virtual-list", la, ca);
6637
+ const ha = '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"', ve = {
6606
6638
  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"/>',
6607
6639
  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"/>',
6608
6640
  mouse: '<rect x="6" y="2" width="12" height="20" rx="6"/><line x1="12" y1="6" x2="12" y2="11"/>',
@@ -6712,19 +6744,19 @@ const aa = 'xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0
6712
6744
  code: '<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>',
6713
6745
  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"/>'
6714
6746
  };
6715
- function _e(i, t = 16, e = "0 0 24 24") {
6716
- const s = ge[i];
6717
- return s ? `<svg ${aa.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6747
+ function be(i, t = 16, e = "0 0 24 24") {
6748
+ const s = ve[i];
6749
+ return s ? `<svg ${ha.replace('width="16"', `width="${t}"`).replace('height="16"', `height="${t}"`).replace('viewBox="0 0 24 24"', `viewBox="${e}"`)}>${s}</svg>` : "";
6718
6750
  }
6719
- function ct(i = document) {
6751
+ function dt(i = document) {
6720
6752
  i.querySelectorAll("[data-icon]").forEach((t) => {
6721
6753
  const e = t.getAttribute("data-icon"), s = +t.getAttribute("data-size") || 16, n = t.getAttribute("data-viewbox") || "0 0 24 24";
6722
- t.innerHTML = _e(e, s, n), t.classList.add("icon");
6754
+ t.innerHTML = be(e, s, n), t.classList.add("icon");
6723
6755
  });
6724
6756
  }
6725
- const Ko = { svg: _e, render: ct, PATHS: ge };
6726
- typeof document < "u" && (document.readyState !== "loading" ? ct() : document.addEventListener("DOMContentLoaded", () => ct()));
6727
- class oa {
6757
+ const jo = { svg: be, render: dt, PATHS: ve };
6758
+ typeof document < "u" && (document.readyState !== "loading" ? dt() : document.addEventListener("DOMContentLoaded", () => dt()));
6759
+ class da {
6728
6760
  constructor(t) {
6729
6761
  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();
6730
6762
  }
@@ -6776,22 +6808,22 @@ class oa {
6776
6808
  this.stop(), this.hoursEl = null, this.minutesEl = null, this.secondsEl = null, this.element = null;
6777
6809
  }
6778
6810
  }
6779
- function ye(i) {
6811
+ function xe(i) {
6780
6812
  if (i.__kupolaInitialized) return;
6781
- const t = new oa(i);
6813
+ const t = new da(i);
6782
6814
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6783
6815
  }
6784
- function la(i) {
6816
+ function ua(i) {
6785
6817
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6786
6818
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6787
6819
  }
6788
- function Wo() {
6820
+ function Jo() {
6789
6821
  document.querySelectorAll(".ds-countdown").forEach((t) => {
6790
- ye(t);
6822
+ xe(t);
6791
6823
  });
6792
6824
  }
6793
- E.register("countdown", ye, la);
6794
- class ca {
6825
+ E.register("countdown", xe, ua);
6826
+ class pa {
6795
6827
  constructor(t) {
6796
6828
  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)
6797
6829
  throw new Error("NumberInput: Missing required elements");
@@ -6842,26 +6874,26 @@ class ca {
6842
6874
  }), this._listeners = null, this.minusBtn = null, this.plusBtn = null, this.inputEl = null, this.element = null;
6843
6875
  }
6844
6876
  }
6845
- function ve(i) {
6877
+ function Ee(i) {
6846
6878
  if (!i.__kupolaInitialized)
6847
6879
  try {
6848
- const t = new ca(i);
6880
+ const t = new pa(i);
6849
6881
  i.__kupolaInstance = t, i.__kupolaInitialized = !0;
6850
6882
  } catch (t) {
6851
6883
  console.error("[NumberInput] Error initializing:", t);
6852
6884
  }
6853
6885
  }
6854
- function ha(i) {
6886
+ function fa(i) {
6855
6887
  if (!i.__kupolaInitialized || !i.__kupolaInstance) return;
6856
6888
  i.__kupolaInstance.destroy(), i.__kupolaInstance = null, i.__kupolaInitialized = !1;
6857
6889
  }
6858
- function Uo() {
6890
+ function Zo() {
6859
6891
  document.querySelectorAll(".ds-number-input").forEach((i) => {
6860
- ve(i);
6892
+ Ee(i);
6861
6893
  });
6862
6894
  }
6863
- E.register("number-input", ve, ha);
6864
- class da {
6895
+ E.register("number-input", Ee, fa);
6896
+ class ma {
6865
6897
  constructor(t) {
6866
6898
  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 = {
6867
6899
  tolerance: 6,
@@ -7004,22 +7036,22 @@ class da {
7004
7036
  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);
7005
7037
  }
7006
7038
  }
7007
- function ua() {
7039
+ function ga() {
7008
7040
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
7009
- const t = new da(i);
7041
+ const t = new ma(i);
7010
7042
  t.init(), i._kupolaSlideCaptcha = t;
7011
7043
  });
7012
7044
  }
7013
- function pa(i) {
7045
+ function _a(i) {
7014
7046
  i._kupolaSlideCaptcha && (i._kupolaSlideCaptcha.destroy(), i._kupolaSlideCaptcha = null);
7015
7047
  }
7016
- function fa() {
7048
+ function ya() {
7017
7049
  document.querySelectorAll(".ds-slider-captcha").forEach((i) => {
7018
- pa(i);
7050
+ _a(i);
7019
7051
  });
7020
7052
  }
7021
- E.register("slide-captcha", ua, fa);
7022
- class ma {
7053
+ E.register("slide-captcha", ga, ya);
7054
+ class va {
7023
7055
  constructor(t) {
7024
7056
  this.form = t, this.fields = [], this.validators = {}, this.errorMessages = {}, this._submitHandler = null, this._fieldHandlers = /* @__PURE__ */ new Map(), this._init();
7025
7057
  }
@@ -7159,23 +7191,23 @@ class ma {
7159
7191
  }), this._submitHandler = null, this._fieldHandlers.clear(), this._fieldHandlers = null, this.fields = null, this.validators = null, this.errorMessages = null, this.form = null;
7160
7192
  }
7161
7193
  }
7162
- function ga(i) {
7194
+ function ba(i) {
7163
7195
  const t = document.querySelectorAll(i || ".ds-form");
7164
7196
  return t.forEach((e) => {
7165
7197
  if (e._kupolaForm) return;
7166
- const s = new ma(e);
7198
+ const s = new va(e);
7167
7199
  e._kupolaForm = s;
7168
7200
  }), t.length;
7169
7201
  }
7170
- function Yo(i) {
7202
+ function Go(i) {
7171
7203
  return i._kupolaForm;
7172
7204
  }
7173
- function Xo(i) {
7205
+ function Qo(i) {
7174
7206
  const t = i._kupolaForm;
7175
7207
  return t ? t.validate() : !1;
7176
7208
  }
7177
- E.register("form-validation", ga);
7178
- class _a {
7209
+ E.register("form-validation", ba);
7210
+ class xa {
7179
7211
  constructor() {
7180
7212
  this._queue = /* @__PURE__ */ new Set(), this._scheduled = !1, this._flushDepth = 0, this._maxDepth = 10;
7181
7213
  }
@@ -7202,8 +7234,8 @@ class _a {
7202
7234
  this._flushDepth--;
7203
7235
  }
7204
7236
  }
7205
- const ya = new _a();
7206
- class va {
7237
+ const Ea = new xa();
7238
+ class wa {
7207
7239
  constructor(t, e) {
7208
7240
  this.data = t, this.createdAt = Date.now(), this.ttl = e;
7209
7241
  }
@@ -7214,7 +7246,7 @@ class va {
7214
7246
  return !this.isFresh;
7215
7247
  }
7216
7248
  }
7217
- class be {
7249
+ class we {
7218
7250
  constructor() {
7219
7251
  this._store = /* @__PURE__ */ new Map();
7220
7252
  }
@@ -7223,7 +7255,7 @@ class be {
7223
7255
  return e || null;
7224
7256
  }
7225
7257
  set(t, e, s = 6e4) {
7226
- this._store.set(t, new va(e, s));
7258
+ this._store.set(t, new wa(e, s));
7227
7259
  }
7228
7260
  has(t) {
7229
7261
  return this._store.has(t);
@@ -7240,22 +7272,22 @@ class be {
7240
7272
  return e ? e.data : null;
7241
7273
  }
7242
7274
  }
7243
- class F extends Error {
7275
+ class N extends Error {
7244
7276
  constructor(t, e, s) {
7245
7277
  super(t), this.name = "DependsError", this.code = e, this.cause = s, this.timestamp = Date.now();
7246
7278
  }
7247
7279
  }
7248
- let it = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7249
- function jo(i) {
7280
+ let rt = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7281
+ function tl(i) {
7250
7282
  if (!i || typeof i.fetch != "function")
7251
7283
  throw new TypeError("[Kupola] configureHttpClient: client must provide a fetch function");
7252
- it = i.fetch.bind(i);
7284
+ rt = i.fetch.bind(i);
7253
7285
  }
7254
- function Jo() {
7255
- return it;
7286
+ function el() {
7287
+ return rt;
7256
7288
  }
7257
- function Zo() {
7258
- it = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7289
+ function sl() {
7290
+ rt = typeof globalThis < "u" && globalThis.fetch ? globalThis.fetch.bind(globalThis) : typeof window < "u" && window.fetch ? window.fetch.bind(window) : null;
7259
7291
  }
7260
7292
  class U {
7261
7293
  constructor(t, e) {
@@ -7268,7 +7300,7 @@ class U {
7268
7300
  };
7269
7301
  }
7270
7302
  notify() {
7271
- ya.schedule(() => {
7303
+ Ea.schedule(() => {
7272
7304
  this.subscribers.forEach((t) => {
7273
7305
  try {
7274
7306
  t();
@@ -7279,7 +7311,7 @@ class U {
7279
7311
  });
7280
7312
  }
7281
7313
  async fetch(t) {
7282
- throw new F("Source fetch not implemented", "NOT_IMPLEMENTED");
7314
+ throw new N("Source fetch not implemented", "NOT_IMPLEMENTED");
7283
7315
  }
7284
7316
  async getValue(t) {
7285
7317
  const e = this.cache.get(this.cacheKey);
@@ -7294,7 +7326,7 @@ class U {
7294
7326
  const r = this.retryDelay * Math.pow(2, e), a = Math.random() * r * 0.5, o = r + a;
7295
7327
  return await new Promise((l) => setTimeout(l, o)), this._fetchWithRetry(t, e + 1);
7296
7328
  }
7297
- const n = s instanceof F ? s : new F(s.message || "Fetch failed", "FETCH_ERROR", s);
7329
+ const n = s instanceof N ? s : new N(s.message || "Fetch failed", "FETCH_ERROR", s);
7298
7330
  if (this.onError)
7299
7331
  try {
7300
7332
  this.onError(n);
@@ -7316,13 +7348,13 @@ class U {
7316
7348
  this.subscribers = [], this.pending = null;
7317
7349
  }
7318
7350
  }
7319
- class ba extends U {
7351
+ class ka extends U {
7320
7352
  constructor(t, e) {
7321
7353
  super(t, e), this.method = t.method || "GET", this.headers = t.headers || {}, this.queryParams = t.query || {};
7322
7354
  }
7323
7355
  async fetch(t) {
7324
7356
  let e = this.config.source;
7325
- const s = dt("http");
7357
+ const s = pt("http");
7326
7358
  s?.baseURL && !e.startsWith("http://") && !e.startsWith("https://") && (e = s.baseURL + e.replace(/^\//, ""));
7327
7359
  for (const u in t)
7328
7360
  e = e.replace(`:${u}`, encodeURIComponent(t[u]));
@@ -7337,16 +7369,16 @@ class ba extends U {
7337
7369
  headers: { "Content-Type": "application/json", ...r, ...this.headers }
7338
7370
  };
7339
7371
  s?.withCredentials && (a.credentials = "include"), ["POST", "PUT", "PATCH"].includes(a.method) && (a.body = JSON.stringify(t));
7340
- const o = it;
7372
+ const o = rt;
7341
7373
  if (!o)
7342
- throw new F("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7374
+ throw new N("No HTTP client available. Use configureHttpClient() to set one.", "NO_HTTP_CLIENT");
7343
7375
  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;
7344
7376
  if (!c)
7345
- throw new F(`HTTP ${h}`, "HTTP_ERROR");
7377
+ throw new N(`HTTP ${h}`, "HTTP_ERROR");
7346
7378
  return typeof l.json == "function" ? await l.json() : l.data !== void 0 ? l.data : l;
7347
7379
  }
7348
7380
  }
7349
- class xe extends U {
7381
+ class ke extends U {
7350
7382
  constructor(t, e) {
7351
7383
  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) => {
7352
7384
  s.key === this.storageKey && (this.cache.delete(this.cacheKey), this.notify());
@@ -7373,7 +7405,7 @@ class xe extends U {
7373
7405
  super.destroy(), this._storageHandler && window.removeEventListener("storage", this._storageHandler);
7374
7406
  }
7375
7407
  }
7376
- class xa extends U {
7408
+ class Ca extends U {
7377
7409
  constructor(t, e) {
7378
7410
  super(t, e), this.paramName = t.source.replace("route:", "");
7379
7411
  }
@@ -7383,17 +7415,17 @@ class xa extends U {
7383
7415
  return e ? decodeURIComponent(e[1]) : new URLSearchParams(location.search).get(this.paramName) || "";
7384
7416
  }
7385
7417
  }
7386
- class Ea extends U {
7418
+ class Sa extends U {
7387
7419
  async fetch(t) {
7388
7420
  return await this.config.source(t);
7389
7421
  }
7390
7422
  }
7391
- class wa extends U {
7423
+ class La extends U {
7392
7424
  async fetch() {
7393
7425
  return this.config.source;
7394
7426
  }
7395
7427
  }
7396
- class Ee extends U {
7428
+ class Ce extends U {
7397
7429
  constructor(t, e) {
7398
7430
  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;
7399
7431
  }
@@ -7411,7 +7443,7 @@ class Ee extends U {
7411
7443
  }
7412
7444
  this.cache.set(this.cacheKey, n, this.staleTime), this.notify();
7413
7445
  }, this.ws.onmessage = this.messageHandler, this.ws.onerror = (s) => {
7414
- this._connected || e(new F("WebSocket connection failed", "WS_ERROR", s));
7446
+ this._connected || e(new N("WebSocket connection failed", "WS_ERROR", s));
7415
7447
  }, this.ws.onclose = () => {
7416
7448
  if (this._connected = !1, this.reconnect && !this._destroyed) {
7417
7449
  const s = this.reconnectDelay * Math.pow(2, this._reconnectAttempt), n = Math.random() * s * 0.3, r = Math.min(s + n, this._maxReconnectDelay);
@@ -7422,7 +7454,7 @@ class Ee extends U {
7422
7454
  }
7423
7455
  };
7424
7456
  } catch (s) {
7425
- e(new F("WebSocket creation failed", "WS_ERROR", s));
7457
+ e(new N("WebSocket creation failed", "WS_ERROR", s));
7426
7458
  }
7427
7459
  });
7428
7460
  }
@@ -7433,21 +7465,21 @@ class Ee extends U {
7433
7465
  this._destroyed = !0, super.destroy(), this.ws && (this.ws.onmessage = null, this.ws.onclose = null, this.ws.close(), this.ws = null);
7434
7466
  }
7435
7467
  }
7436
- function we(i, t) {
7468
+ function Se(i, t) {
7437
7469
  const e = i.source;
7438
- return typeof e == "function" ? new Ea(i, t) : typeof e == "string" && (e.startsWith("ws://") || e.startsWith("wss://")) ? new Ee(i, t) : typeof e == "string" && (e.startsWith("/") || e.startsWith("http")) ? new ba(i, t) : typeof e == "string" && e.startsWith("localStorage:") ? new xe(i, t) : typeof e == "string" && e.startsWith("route:") ? new xa(i, t) : new wa(i, t);
7470
+ return typeof e == "function" ? new Sa(i, t) : typeof e == "string" && (e.startsWith("ws://") || e.startsWith("wss://")) ? new Ce(i, t) : typeof e == "string" && (e.startsWith("/") || e.startsWith("http")) ? new ka(i, t) : typeof e == "string" && e.startsWith("localStorage:") ? new ke(i, t) : typeof e == "string" && e.startsWith("route:") ? new Ca(i, t) : new La(i, t);
7439
7471
  }
7440
- function Go(i, t) {
7441
- const e = {}, s = new be(), n = [];
7472
+ function il(i, t) {
7473
+ const e = {}, s = new we(), n = [];
7442
7474
  for (const r in t) {
7443
7475
  let p = function() {
7444
- return Ct(i);
7476
+ return Dt(i);
7445
7477
  }, a = t[r];
7446
7478
  typeof a == "string" && (a = { source: a });
7447
7479
  const o = {
7448
7480
  ...a,
7449
- cacheKey: a.cacheKey || `${r}-${JSON.stringify(Ct(i))}`
7450
- }, l = we(o, s), c = T(null), h = T(!0), d = T(null), u = T(null);
7481
+ cacheKey: a.cacheKey || `${r}-${JSON.stringify(Dt(i))}`
7482
+ }, l = Se(o, s), c = T(null), h = T(!0), d = T(null), u = T(null);
7451
7483
  let f = 0;
7452
7484
  async function m() {
7453
7485
  const b = ++f;
@@ -7488,11 +7520,11 @@ function Go(i, t) {
7488
7520
  },
7489
7521
  // For StorageSource
7490
7522
  setValue(b) {
7491
- l instanceof xe && (l.setValue(b), c.value = b);
7523
+ l instanceof ke && (l.setValue(b), c.value = b);
7492
7524
  },
7493
7525
  // For WebSocketSource
7494
7526
  send(b) {
7495
- l instanceof Ee && l.send(b);
7527
+ l instanceof Ce && l.send(b);
7496
7528
  },
7497
7529
  _source: l
7498
7530
  };
@@ -7504,8 +7536,8 @@ function Go(i, t) {
7504
7536
  }
7505
7537
  }, window.__kupolaDepInstances || (window.__kupolaDepInstances = []), window.__kupolaDepInstances.push(e), e;
7506
7538
  }
7507
- function Qo(i) {
7508
- const t = new be(), e = we(i, t), s = T(null), n = T(!0), r = T(null);
7539
+ function nl(i) {
7540
+ const t = new we(), e = Se(i, t), s = T(null), n = T(!0), r = T(null);
7509
7541
  let a = 0;
7510
7542
  async function o() {
7511
7543
  const l = ++a;
@@ -7533,7 +7565,7 @@ function Qo(i) {
7533
7565
  }
7534
7566
  };
7535
7567
  }
7536
- function Ct(i) {
7568
+ function Dt(i) {
7537
7569
  const t = {};
7538
7570
  for (const e in i) {
7539
7571
  const s = i[e];
@@ -7541,9 +7573,9 @@ function Ct(i) {
7541
7573
  }
7542
7574
  return t;
7543
7575
  }
7544
- function tl() {
7576
+ function rl() {
7545
7577
  }
7546
- class ka {
7578
+ class Da {
7547
7579
  constructor(t, e = {}) {
7548
7580
  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();
7549
7581
  }
@@ -8083,10 +8115,10 @@ class ka {
8083
8115
  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 = {};
8084
8116
  }
8085
8117
  }
8086
- function ke(i, t) {
8087
- return new ka(i, t);
8118
+ function Le(i, t) {
8119
+ return new Da(i, t);
8088
8120
  }
8089
- function el() {
8121
+ function al() {
8090
8122
  document.querySelectorAll("[data-kupola-table]").forEach((i) => {
8091
8123
  const t = i.getAttribute("data-kupola-table");
8092
8124
  let e = {};
@@ -8095,11 +8127,11 @@ function el() {
8095
8127
  e = JSON.parse(t);
8096
8128
  } catch {
8097
8129
  }
8098
- ke(i, e);
8130
+ Le(i, e);
8099
8131
  });
8100
8132
  }
8101
- E.register("table", ke);
8102
- class Ca {
8133
+ E.register("table", Le);
8134
+ class Ha {
8103
8135
  constructor(t, e = {}) {
8104
8136
  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();
8105
8137
  }
@@ -8199,9 +8231,9 @@ class Ca {
8199
8231
  this.element.innerHTML = "", this.element.classList.remove("kupola-pagination");
8200
8232
  }
8201
8233
  }
8202
- let St = !1;
8203
- function Sa() {
8204
- if (St || typeof document > "u") return;
8234
+ let Ht = !1;
8235
+ function Ma() {
8236
+ if (Ht || typeof document > "u") return;
8205
8237
  const i = document.createElement("style");
8206
8238
  i.textContent = `
8207
8239
  .kupola-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@@ -8217,13 +8249,13 @@ function Sa() {
8217
8249
  .kupola-pagination-jumper { font-size: 14px; color: #666; }
8218
8250
  .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; }
8219
8251
  .kupola-pagination-jumper input:focus { outline: none; border-color: #1890ff; }
8220
- `, document.head.appendChild(i), St = !0;
8252
+ `, document.head.appendChild(i), Ht = !0;
8221
8253
  }
8222
- function sl(i, t) {
8223
- return Sa(), new Ca(i, t);
8254
+ function ol(i, t) {
8255
+ return Ma(), new Ha(i, t);
8224
8256
  }
8225
- let Lt = !1;
8226
- class La extends HTMLElement {
8257
+ let Mt = !1;
8258
+ class Ia extends HTMLElement {
8227
8259
  static get observedAttributes() {
8228
8260
  return ["open"];
8229
8261
  }
@@ -8245,7 +8277,7 @@ class La extends HTMLElement {
8245
8277
  }
8246
8278
  }
8247
8279
  }
8248
- class Da extends HTMLElement {
8280
+ class Ta extends HTMLElement {
8249
8281
  static get observedAttributes() {
8250
8282
  return ["title", "position"];
8251
8283
  }
@@ -8260,7 +8292,7 @@ class Da extends HTMLElement {
8260
8292
  }
8261
8293
  }
8262
8294
  }
8263
- class Ha extends HTMLElement {
8295
+ class Aa extends HTMLElement {
8264
8296
  connectedCallback() {
8265
8297
  this._render();
8266
8298
  }
@@ -8278,13 +8310,13 @@ class Ha extends HTMLElement {
8278
8310
  }), this.innerHTML = "", this.appendChild(t);
8279
8311
  }
8280
8312
  }
8281
- class Ma extends HTMLElement {
8313
+ class za extends HTMLElement {
8282
8314
  static get observedAttributes() {
8283
8315
  return ["title"];
8284
8316
  }
8285
8317
  // Content is read by parent <k-collapse> during its connectedCallback
8286
8318
  }
8287
- class Ia extends HTMLElement {
8319
+ class Pa extends HTMLElement {
8288
8320
  static get observedAttributes() {
8289
8321
  return ["position", "open"];
8290
8322
  }
@@ -8302,7 +8334,7 @@ class Ia extends HTMLElement {
8302
8334
  }
8303
8335
  }
8304
8336
  }
8305
- class Ta extends HTMLElement {
8337
+ class $a extends HTMLElement {
8306
8338
  static get observedAttributes() {
8307
8339
  return ["title", "open"];
8308
8340
  }
@@ -8345,232 +8377,234 @@ class Ta extends HTMLElement {
8345
8377
  this.removeAttribute("open");
8346
8378
  }
8347
8379
  }
8348
- function il() {
8349
- if (Lt || typeof customElements > "u") return;
8350
- Lt = !0;
8380
+ function ll() {
8381
+ if (Mt || typeof customElements > "u") return;
8382
+ Mt = !0;
8351
8383
  const i = [
8352
- ["k-dropdown", La],
8353
- ["k-tooltip", Da],
8354
- ["k-collapse", Ha],
8355
- ["k-collapse-item", Ma],
8356
- ["k-drawer", Ia],
8357
- ["k-modal", Ta]
8384
+ ["k-dropdown", Ia],
8385
+ ["k-tooltip", Ta],
8386
+ ["k-collapse", Aa],
8387
+ ["k-collapse-item", za],
8388
+ ["k-drawer", Pa],
8389
+ ["k-modal", $a]
8358
8390
  ];
8359
8391
  for (const [t, e] of i)
8360
8392
  customElements.get(t) || customElements.define(t, e);
8361
8393
  }
8362
8394
  export {
8363
8395
  X as BRAND_OPTIONS,
8364
- va as CacheEntry,
8365
- be as CacheManager,
8366
- Kr as Calendar,
8367
- Ar as Carousel,
8368
- Fr as Collapse,
8369
- Rr as ColorPicker,
8370
- vr as ComponentInitializerRegistry,
8371
- oa as Countdown,
8372
- Lr as Datepicker,
8373
- F as DependsError,
8396
+ wa as CacheEntry,
8397
+ we as CacheManager,
8398
+ Xr as Calendar,
8399
+ Br as Carousel,
8400
+ Kr as Collapse,
8401
+ Ur as ColorPicker,
8402
+ wr as ComponentInitializerRegistry,
8403
+ da as Countdown,
8404
+ Ir as Datepicker,
8405
+ N as DependsError,
8374
8406
  U as DependsSource,
8375
- Do as Dialog,
8376
- Pr as Drawer,
8377
- kr as Dropdown,
8378
- Ur as DynamicTags,
8379
- ba as FetchedSource,
8380
- qr as FileUpload,
8381
- Ea as FunctionSource,
8382
- wr as GlobalEvents,
8383
- Gr as Heatmap,
8384
- Ko as Icons,
8385
- de as ImagePreview,
8386
- G as KupolaComponent,
8387
- xr as KupolaComponentRegistry,
8388
- or as KupolaDataBind,
8389
- cr as KupolaEventBus,
8390
- ma as KupolaForm,
8391
- Jt as KupolaI18n,
8392
- ht as KupolaLifecycle,
8393
- Ca as KupolaPagination,
8394
- _t as KupolaStore,
8395
- lr as KupolaStoreManager,
8396
- ka as KupolaTable,
8397
- Pa as KupolaUtils,
8398
- sa as KupolaValidator,
8399
- Io as Message,
8407
+ Ao as Dialog,
8408
+ Or as Drawer,
8409
+ Dr as Dropdown,
8410
+ Jr as DynamicTags,
8411
+ ka as FetchedSource,
8412
+ Rr as FileUpload,
8413
+ Sa as FunctionSource,
8414
+ Lr as GlobalEvents,
8415
+ sa as Heatmap,
8416
+ jo as Icons,
8417
+ fe as ImagePreview,
8418
+ tt as KupolaComponent,
8419
+ Cr as KupolaComponentRegistry,
8420
+ hr as KupolaDataBind,
8421
+ ur as KupolaEventBus,
8422
+ va as KupolaForm,
8423
+ Qt as KupolaI18n,
8424
+ ut as KupolaLifecycle,
8425
+ Ha as KupolaPagination,
8426
+ bt as KupolaStore,
8427
+ dr as KupolaStoreManager,
8428
+ Da as KupolaTable,
8429
+ Oa as KupolaUtils,
8430
+ aa as KupolaValidator,
8431
+ $o as Message,
8400
8432
  $ as Modal,
8401
- Ho as Notification,
8402
- ca as NumberInput,
8403
- ge as PATHS,
8404
- xa as RouteSource,
8405
- _a as Scheduler,
8406
- Cr as Select,
8407
- da as SlideCaptcha,
8408
- Ir as Slider,
8409
- Jr as StatCard,
8410
- wa as StaticSource,
8411
- xe as StorageSource,
8412
- Xr as Tag,
8413
- Hr as Timepicker,
8414
- ta as Tooltip,
8415
- ia as VirtualList,
8416
- Ee as WebSocketSource,
8417
- So as alertModal,
8418
- bt as applyMixin,
8419
- Ns as arrayUtils,
8420
- Ja as bootstrapComponents,
8421
- yo as cleanupAllDropdowns,
8422
- fa as cleanupAllSlideCaptchas,
8423
- Wr as cleanupCalendar,
8424
- zr as cleanupCarousel,
8425
- Nr as cleanupCollapse,
8426
- Vr as cleanupColorPicker,
8427
- la as cleanupCountdown,
8428
- Dr as cleanupDatepicker,
8429
- $r as cleanupDrawer,
8430
- Gt as cleanupDropdown,
8431
- Yr as cleanupDynamicTags,
8432
- Or as cleanupFileUpload,
8433
- Qr as cleanupHeatmap,
8434
- Br as cleanupModal,
8435
- ha as cleanupNumberInput,
8436
- Sr as cleanupSelect,
8437
- pa as cleanupSlideCaptcha,
8438
- Tr as cleanupSlider,
8439
- Zr as cleanupStatCard,
8440
- jr as cleanupTag,
8441
- Mr as cleanupTimepicker,
8442
- ea as cleanupTooltip,
8443
- ra as cleanupVirtualList,
8444
- tl as clearCache,
8445
- jo as configureHttpClient,
8446
- Co as confirmModal,
8447
- Ra as createBrandPicker,
8448
- to as createI18n,
8449
- za as createLifecycle,
8450
- ne as createModal,
8451
- we as createSource,
8452
- Ba as createStore,
8453
- Na as createThemeToggle,
8454
- Gn as cryptoUtils,
8455
- dn as dateUtils,
8456
- un as debounce,
8457
- Qa as defineComponent,
8458
- Za as defineMixin,
8459
- uo as emit,
8460
- po as emitGlobal,
8461
- Ka as escapeHtml,
8462
- oo as formatCurrency,
8463
- ro as formatDate,
8464
- ao as formatNumber,
8465
- Ya as generateSecureId,
8466
- Oa as getBasePath,
8433
+ zo as Notification,
8434
+ pa as NumberInput,
8435
+ ve as PATHS,
8436
+ Ca as RouteSource,
8437
+ xa as Scheduler,
8438
+ Hr as Select,
8439
+ ma as SlideCaptcha,
8440
+ Pr as Slider,
8441
+ ta as StatCard,
8442
+ La as StaticSource,
8443
+ ke as StorageSource,
8444
+ Gr as Tag,
8445
+ Ar as Timepicker,
8446
+ na as Tooltip,
8447
+ oa as VirtualList,
8448
+ Ce as WebSocketSource,
8449
+ Io as alertModal,
8450
+ wt as applyMixin,
8451
+ Ks as arrayUtils,
8452
+ eo as bootstrapComponents,
8453
+ wo as cleanupAllDropdowns,
8454
+ ya as cleanupAllSlideCaptchas,
8455
+ jr as cleanupCalendar,
8456
+ qr as cleanupCarousel,
8457
+ Wr as cleanupCollapse,
8458
+ Yr as cleanupColorPicker,
8459
+ ua as cleanupCountdown,
8460
+ Tr as cleanupDatepicker,
8461
+ Fr as cleanupDrawer,
8462
+ ee as cleanupDropdown,
8463
+ Zr as cleanupDynamicTags,
8464
+ Vr as cleanupFileUpload,
8465
+ ia as cleanupHeatmap,
8466
+ Nr as cleanupModal,
8467
+ fa as cleanupNumberInput,
8468
+ Mr as cleanupSelect,
8469
+ _a as cleanupSlideCaptcha,
8470
+ $r as cleanupSlider,
8471
+ ea as cleanupStatCard,
8472
+ Qr as cleanupTag,
8473
+ zr as cleanupTimepicker,
8474
+ ra as cleanupTooltip,
8475
+ ca as cleanupVirtualList,
8476
+ rl as clearCache,
8477
+ tl as configureHttpClient,
8478
+ Mo as confirmModal,
8479
+ Ya as createBrandPicker,
8480
+ ro as createI18n,
8481
+ qa as createLifecycle,
8482
+ oe as createModal,
8483
+ Se as createSource,
8484
+ Na as createStore,
8485
+ Ua as createThemeToggle,
8486
+ er as cryptoUtils,
8487
+ fn as dateUtils,
8488
+ mn as debounce,
8489
+ no as defineComponent,
8490
+ so as defineMixin,
8491
+ _o as emit,
8492
+ yo as emitGlobal,
8493
+ ja as escapeHtml,
8494
+ po as formatCurrency,
8495
+ ho as formatDate,
8496
+ uo as formatNumber,
8497
+ Ga as generateSecureId,
8498
+ Ka as getBasePath,
8467
8499
  J as getBrand,
8468
- dt as getConfig,
8469
- ur as getDefaultBrand,
8470
- dr as getDefaultTheme,
8471
- Yo as getFormInstance,
8472
- Jo as getHttpClient,
8473
- Fa as getHttpConfig,
8474
- ut as getIconsPath,
8475
- go as getListenerCount,
8476
- no as getLocale,
8477
- fr as getMessageConfig,
8478
- mr as getNotificationConfig,
8479
- pr as getPerformanceConfig,
8480
- st as getSecurityConfig,
8481
- qa as getStore,
8482
- R as getTheme,
8500
+ pt as getConfig,
8501
+ gr as getDefaultBrand,
8502
+ mr as getDefaultTheme,
8503
+ Go as getFormInstance,
8504
+ el as getHttpClient,
8505
+ Wa as getHttpConfig,
8506
+ ft as getIconsPath,
8507
+ xo as getListenerCount,
8508
+ co as getLocale,
8509
+ yr as getMessageConfig,
8510
+ vr as getNotificationConfig,
8511
+ _r as getPerformanceConfig,
8512
+ nt as getSecurityConfig,
8513
+ Ra as getStore,
8514
+ F as getTheme,
8483
8515
  j as getUiConfig,
8484
- gr as getValidationConfig,
8516
+ br as getValidationConfig,
8485
8517
  H as globalEvents,
8486
- el as initAllTables,
8487
- ce as initCalendar,
8488
- $o as initCalendars,
8489
- ie as initCarousel,
8490
- wo as initCarousels,
8491
- oe as initCollapse,
8492
- zo as initCollapses,
8493
- le as initColorPicker,
8494
- Po as initColorPickers,
8495
- ye as initCountdown,
8496
- Wo as initCountdowns,
8497
- te as initDatepicker,
8498
- bo as initDatepickers,
8499
- lt as initDrawer,
8500
- ko as initDrawers,
8501
- Zt as initDropdown,
8502
- _o as initDropdowns,
8503
- he as initDynamicTags,
8504
- Bo as initDynamicTagsAll,
8505
- ae as initFileUpload,
8506
- Ao as initFileUploads,
8507
- ga as initFormValidation,
8508
- fe as initHeatmap,
8509
- Ro as initHeatmaps,
8510
- qo as initImagePreview,
8511
- To as initMessages,
8512
- re as initModal,
8513
- Lo as initModals,
8514
- Mo as initNotifications,
8515
- ve as initNumberInput,
8516
- Uo as initNumberInputs,
8517
- sl as initPagination,
8518
- Qt as initSelect,
8519
- vo as initSelects,
8520
- ua as initSlideCaptchas,
8521
- se as initSlider,
8522
- Eo as initSliders,
8523
- pe as initStatCard,
8524
- No as initStatCards,
8525
- ke as initTable,
8526
- ue as initTag,
8527
- Fo as initTags,
8528
- yr as initTheme,
8529
- ee as initTimepicker,
8530
- xo as initTimepickers,
8531
- me as initTooltip,
8532
- Vo as initTooltips,
8533
- na as initVirtualList,
8534
- xt as kupolaBootstrap,
8518
+ al as initAllTables,
8519
+ ue as initCalendar,
8520
+ No as initCalendars,
8521
+ ae as initCarousel,
8522
+ Do as initCarousels,
8523
+ he as initCollapse,
8524
+ Oo as initCollapses,
8525
+ de as initColorPicker,
8526
+ Fo as initColorPickers,
8527
+ xe as initCountdown,
8528
+ Jo as initCountdowns,
8529
+ ie as initDatepicker,
8530
+ Co as initDatepickers,
8531
+ ht as initDrawer,
8532
+ Ho as initDrawers,
8533
+ te as initDropdown,
8534
+ Eo as initDropdowns,
8535
+ pe as initDynamicTags,
8536
+ Ro as initDynamicTagsAll,
8537
+ ce as initFileUpload,
8538
+ qo as initFileUploads,
8539
+ ba as initFormValidation,
8540
+ _e as initHeatmap,
8541
+ Yo as initHeatmaps,
8542
+ Vo as initImagePreview,
8543
+ Bo as initMessages,
8544
+ le as initModal,
8545
+ To as initModals,
8546
+ Po as initNotifications,
8547
+ Ee as initNumberInput,
8548
+ Zo as initNumberInputs,
8549
+ ol as initPagination,
8550
+ se as initSelect,
8551
+ ko as initSelects,
8552
+ ga as initSlideCaptchas,
8553
+ re as initSlider,
8554
+ Lo as initSliders,
8555
+ ge as initStatCard,
8556
+ Uo as initStatCards,
8557
+ Le as initTable,
8558
+ me as initTag,
8559
+ Wo as initTags,
8560
+ Er as initTheme,
8561
+ ne as initTimepicker,
8562
+ So as initTimepickers,
8563
+ ye as initTooltip,
8564
+ Xo as initTooltips,
8565
+ la as initVirtualList,
8566
+ kt as kupolaBootstrap,
8535
8567
  O as kupolaData,
8536
- $a as kupolaEvents,
8537
- N as kupolaI18n,
8568
+ Fa as kupolaEvents,
8569
+ R as kupolaI18n,
8538
8570
  E as kupolaInitializer,
8539
- Aa as kupolaLifecycle,
8540
- M as kupolaRegistry,
8541
- Ut as kupolaStoreManager,
8542
- Ua as maskData,
8543
- so as n,
8544
- zi as numberUtils,
8545
- oi as objectUtils,
8546
- ho as off,
8547
- mo as offAll,
8548
- fo as offByScope,
8549
- lo as on,
8550
- co as once,
8551
- rr as preloadUtils,
8571
+ Ba as kupolaLifecycle,
8572
+ I as kupolaRegistry,
8573
+ jt as kupolaStoreManager,
8574
+ Za as maskData,
8575
+ oo as n,
8576
+ Bi as numberUtils,
8577
+ hi as objectUtils,
8578
+ go as off,
8579
+ bo as offAll,
8580
+ vo as offByScope,
8581
+ Va as offConfigChange,
8582
+ fo as on,
8583
+ pr as onConfigChange,
8584
+ mo as once,
8585
+ lr as preloadUtils,
8552
8586
  T as ref,
8553
- Xa as registerComponent,
8554
- ja as registerLazyComponent,
8555
- il as registerWebComponents,
8556
- ct as renderIcon,
8557
- Zo as resetHttpClient,
8558
- Va as sanitizeHtml,
8559
- ot as setBrand,
8560
- hr as setConfig,
8561
- io as setLocale,
8562
- at as setTheme,
8563
- Oo as showImagePreview,
8564
- Ge as stringUtils,
8565
- Wa as stripHtml,
8566
- _e as svg,
8567
- eo as t,
8568
- pn as throttle,
8569
- Go as useDeps,
8570
- Ga as useMixin,
8571
- Qo as useQuery,
8572
- Xo as validateForm,
8587
+ Qa as registerComponent,
8588
+ to as registerLazyComponent,
8589
+ ll as registerWebComponents,
8590
+ dt as renderIcon,
8591
+ sl as resetHttpClient,
8592
+ Xa as sanitizeHtml,
8593
+ lt as setBrand,
8594
+ fr as setConfig,
8595
+ lo as setLocale,
8596
+ Q as setTheme,
8597
+ Ko as showImagePreview,
8598
+ es as stringUtils,
8599
+ Ja as stripHtml,
8600
+ be as svg,
8601
+ ao as t,
8602
+ gn as throttle,
8603
+ il as useDeps,
8604
+ io as useMixin,
8605
+ nl as useQuery,
8606
+ Qo as validateForm,
8573
8607
  P as validator,
8574
- Vt as validatorUtils
8608
+ Ut as validatorUtils
8575
8609
  };
8576
8610
  //# sourceMappingURL=kupola.esm.js.map