mgv-backoffice 1.46.0 → 1.47.0

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.
package/dist/ui-lib.js CHANGED
@@ -206,7 +206,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
206
206
  }, Qe = { key: 1 }, $e = { key: 2 }, et = ["type", "disabled"], tt = {
207
207
  key: 0,
208
208
  class: "inline-flex items-center"
209
- }, nt = { key: 1 }, rt = { key: 2 }, it = /* @__PURE__ */ m({
209
+ }, nt = { key: 1 }, rt = { key: 2 }, q = /* @__PURE__ */ m({
210
210
  __name: "BaseButton",
211
211
  props: {
212
212
  description: {
@@ -477,52 +477,52 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
477
477
  ], 10, et));
478
478
  };
479
479
  }
480
- }), at = /* @__PURE__ */ function(e) {
480
+ }), it = /* @__PURE__ */ function(e) {
481
481
  return e.BASE = "BASE", e.BASE_SHORTER = "BASE_SHORTER", e.SQUARE = "SQUARE", e;
482
- }({}), ot = {
482
+ }({}), at = {
483
483
  key: 0,
484
484
  class: "h-px my-8 bg-gray-200 border-0 dark:bg-gray-700"
485
- }, st = {
485
+ }, ot = {
486
486
  key: 1,
487
487
  class: "w-48 h-1 mx-auto my-4 bg-gray-100 border-0 rounded md:my-10 dark:bg-gray-700"
488
- }, ct = {
488
+ }, st = {
489
489
  key: 2,
490
490
  class: "w-8 h-8 mx-auto my-8 bg-gray-200 border-0 rounded md:my-12 dark:bg-gray-700"
491
- }, lt = /* @__PURE__ */ m({
491
+ }, ct = /* @__PURE__ */ m({
492
492
  __name: "BaseLine",
493
493
  props: { mode: {
494
494
  type: String,
495
495
  required: !1,
496
- default: at.BASE
496
+ default: it.BASE
497
497
  } },
498
498
  setup(t) {
499
499
  return (n, r) => (D(), c(e, null, [
500
- t.mode === F(at).BASE ? (D(), c("hr", ot)) : s("", !0),
501
- t.mode === F(at).BASE_SHORTER ? (D(), c("hr", st)) : s("", !0),
502
- t.mode === F(at).SQUARE ? (D(), c("hr", ct)) : s("", !0)
500
+ t.mode === F(it).BASE ? (D(), c("hr", at)) : s("", !0),
501
+ t.mode === F(it).BASE_SHORTER ? (D(), c("hr", ot)) : s("", !0),
502
+ t.mode === F(it).SQUARE ? (D(), c("hr", st)) : s("", !0)
503
503
  ], 64));
504
504
  }
505
- }), q = /* @__PURE__ */ function(e) {
505
+ }), J = /* @__PURE__ */ function(e) {
506
506
  return e.SMALL = "SMALL", e.MEDIUM = "MEDIUM", e.LARGE = "LARGE", e;
507
- }({}), ut = q, dt = ["height", "width"], ft = ["id"], pt = ["id", "href"], mt = ["id", "href"], ht = ["id", "href"], gt = ["id", "href"], _t = ["id", "href"], vt = ["id", "href"], yt = ["id", "href"], bt = ["id", "href"], xt = ["id", "href"], St = ["id"], Ct = ["fill"], wt = ["fill"], Tt = ["fill"], Et = ["fill"], Dt = ["fill"], Ot = ["fill"], kt = ["fill"], At = ["fill"], jt = ["fill"], Mt = ["fill"], Nt = /* @__PURE__ */ m({
507
+ }({}), lt = J, ut = ["height", "width"], dt = ["id"], ft = ["id", "href"], pt = ["id", "href"], mt = ["id", "href"], ht = ["id", "href"], gt = ["id", "href"], _t = ["id", "href"], vt = ["id", "href"], yt = ["id", "href"], bt = ["id", "href"], xt = ["id"], St = ["fill"], Ct = ["fill"], wt = ["fill"], Tt = ["fill"], Et = ["fill"], Dt = ["fill"], Ot = ["fill"], kt = ["fill"], At = ["fill"], jt = ["fill"], Mt = /* @__PURE__ */ m({
508
508
  __name: "BaseLogo",
509
509
  props: { size: {
510
510
  type: String,
511
511
  required: !1,
512
- default: q.MEDIUM
512
+ default: J.MEDIUM
513
513
  } },
514
514
  setup(e) {
515
515
  let t = `logo-${te()}`, n = e;
516
516
  function r() {
517
517
  let e = "";
518
518
  switch (n.size) {
519
- case q.SMALL:
519
+ case J.SMALL:
520
520
  e = "50px";
521
521
  break;
522
- case q.MEDIUM:
522
+ case J.MEDIUM:
523
523
  e = "100px";
524
524
  break;
525
- case q.LARGE: e = "150px";
525
+ case J.LARGE: e = "150px";
526
526
  }
527
527
  return e;
528
528
  }
@@ -545,7 +545,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
545
545
  }, null, -1), l("stop", {
546
546
  offset: "1",
547
547
  "stop-color": "#132d13"
548
- }, null, -1)]], 8, ft),
548
+ }, null, -1)]], 8, dt),
549
549
  l("linearGradient", {
550
550
  id: `${t}-b`,
551
551
  gradientUnits: "userSpaceOnUse",
@@ -554,7 +554,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
554
554
  href: `#${t}-a`,
555
555
  y1: "288.291",
556
556
  y2: "369.4"
557
- }, null, 8, pt),
557
+ }, null, 8, ft),
558
558
  l("linearGradient", {
559
559
  id: `${t}-c`,
560
560
  gradientUnits: "userSpaceOnUse",
@@ -563,7 +563,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
563
563
  href: `#${t}-a`,
564
564
  y1: "308.454",
565
565
  y2: "370.601"
566
- }, null, 8, mt),
566
+ }, null, 8, pt),
567
567
  l("linearGradient", {
568
568
  id: `${t}-d`,
569
569
  gradientUnits: "userSpaceOnUse",
@@ -572,7 +572,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
572
572
  href: `#${t}-a`,
573
573
  y1: "288.291",
574
574
  y2: "369.85"
575
- }, null, 8, ht),
575
+ }, null, 8, mt),
576
576
  l("linearGradient", {
577
577
  id: `${t}-e`,
578
578
  gradientUnits: "userSpaceOnUse",
@@ -581,7 +581,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
581
581
  href: `#${t}-a`,
582
582
  y1: "307.312",
583
583
  y2: "369.511"
584
- }, null, 8, gt),
584
+ }, null, 8, ht),
585
585
  l("linearGradient", {
586
586
  id: `${t}-f`,
587
587
  gradientUnits: "userSpaceOnUse",
@@ -590,7 +590,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
590
590
  href: `#${t}-a`,
591
591
  y1: "288.291",
592
592
  y2: "367.857"
593
- }, null, 8, _t),
593
+ }, null, 8, gt),
594
594
  l("linearGradient", {
595
595
  id: `${t}-g`,
596
596
  gradientUnits: "userSpaceOnUse",
@@ -599,7 +599,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
599
599
  href: `#${t}-a`,
600
600
  y1: "307.312",
601
601
  y2: "369.511"
602
- }, null, 8, vt),
602
+ }, null, 8, _t),
603
603
  l("linearGradient", {
604
604
  id: `${t}-h`,
605
605
  gradientUnits: "userSpaceOnUse",
@@ -608,7 +608,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
608
608
  href: `#${t}-a`,
609
609
  y1: "306.156",
610
610
  y2: "367.742"
611
- }, null, 8, yt),
611
+ }, null, 8, vt),
612
612
  l("linearGradient", {
613
613
  id: `${t}-i`,
614
614
  gradientUnits: "userSpaceOnUse",
@@ -617,7 +617,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
617
617
  href: `#${t}-a`,
618
618
  y1: "288.291",
619
619
  y2: "369.4"
620
- }, null, 8, bt),
620
+ }, null, 8, yt),
621
621
  l("linearGradient", {
622
622
  id: `${t}-j`,
623
623
  gradientUnits: "userSpaceOnUse",
@@ -626,7 +626,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
626
626
  href: `#${t}-a`,
627
627
  y1: "131.629",
628
628
  y2: "232.559"
629
- }, null, 8, xt),
629
+ }, null, 8, bt),
630
630
  l("linearGradient", {
631
631
  id: `${t}-k`,
632
632
  gradientUnits: "userSpaceOnUse",
@@ -641,64 +641,64 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
641
641
  }, null, -1), l("stop", {
642
642
  offset: "1",
643
643
  "stop-color": "#808183"
644
- }, null, -1)]], 8, St),
644
+ }, null, -1)]], 8, xt),
645
645
  l("path", {
646
646
  d: "m65 307.2c-6.8 0-13.1 2.2-18.2 5.9v-24.8h-13.2v81.1h31.4c17.2 0 31.1-13.9 31.1-31.1s-13.9-31.1-31.1-31.1zm0 49.3h-18.2v-18.2c0-10.1 8.2-18.2 18.2-18.2 10.1 0 18.2 8.2 18.2 18.2.1 10.1-8.1 18.2-18.2 18.2z",
647
647
  fill: `url(#${t}-b)`
648
- }, null, 8, Ct),
648
+ }, null, 8, St),
649
649
  l("path", {
650
650
  d: "m168.8 343.9h-46.7c1.4 7.1 6.6 12 14.1 12.7 6.4.6 12.9.1 19.9.1v11.9c-15.2 4.9-33.3.5-42.1-10.4-3.8-4.7-17.3-34.7 11.5-47.4 39-11.4 45.3 22.4 43.3 33.1zm-14.2-12.7c-1.7-8.1-8.8-12.9-17.9-12.3-7.6.5-14 5.8-14.5 12.3z",
651
651
  fill: `url(#${t}-c)`
652
- }, null, 8, wt),
652
+ }, null, 8, Ct),
653
653
  l("path", {
654
654
  d: "m195.5 320.2c0 10.5-.2 20 .1 29.6.2 5.8 4.4 8.4 13.2 8.6v10.5c-13.8 3.9-26.2-4.5-26.4-18-.2-18.7-.1-43.9-.1-62.6h14.1l-.3 18.5 12.7-.1v13.4h-13.3z",
655
655
  fill: `url(#${t}-d)`
656
- }, null, 8, Tt),
656
+ }, null, 8, wt),
657
657
  l("path", {
658
658
  d: "m249.6 307.3c-17.2 0-31.1 13.9-31.1 31.1s13.9 31.1 31.1 31.1h31.1v-31.1c0-17.2-13.9-31.1-31.1-31.1zm18.6 49.7h-18.5c-10.2 0-18.5-8.3-18.5-18.5s8.3-18.5 18.5-18.5 18.5 8.3 18.5 18.5z",
659
659
  fill: `url(#${t}-e)`
660
- }, null, 8, Et),
660
+ }, null, 8, Tt),
661
661
  l("path", {
662
662
  d: "m296.4 288.3h13v79.6h-13z",
663
663
  fill: `url(#${t}-f)`
664
- }, null, 8, Dt),
664
+ }, null, 8, Et),
665
665
  l("path", {
666
666
  d: "m354.1 307.3c-17.2 0-31.1 13.9-31.1 31.1s13.9 31.1 31.1 31.1h31.1v-31.1c0-17.2-13.9-31.1-31.1-31.1zm18.6 49.7h-18.5c-10.2 0-18.5-8.3-18.5-18.5s8.3-18.5 18.5-18.5 18.5 8.3 18.5 18.5z",
667
667
  fill: `url(#${t}-g)`
668
- }, null, 8, Ot),
668
+ }, null, 8, Dt),
669
669
  l("path", {
670
670
  d: "m442.2 367.7c0-12.3.2-23.6 0-34.9-.2-3.4-3.6-13.8-14.1-13.4-10.3-.3-14.4 10-14.3 12.7.1 10.2.5 35.1.5 35.1l-13.6.1s-.3-25.7.2-36.2c.6-14.1 12.7-25 27.5-25 14.7 0 26.2 10.4 26.7 24.9.4 10.4.5 36.3.5 36.3z",
671
671
  fill: `url(#${t}-h)`
672
- }, null, 8, kt),
672
+ }, null, 8, Ot),
673
673
  l("path", {
674
674
  d: "m501.9 307.2c6.8 0 13.1 2.2 18.2 5.9v-24.8h13.2v81.1h-31.4c-17.2 0-31.1-13.9-31.1-31.1s13.9-31.1 31.1-31.1zm0 49.3h18.2v-18.2c0-10.1-8.2-18.2-18.2-18.2-10.1 0-18.2 8.2-18.2 18.2 0 10.1 8.1 18.2 18.2 18.2z",
675
675
  fill: `url(#${t}-i)`
676
- }, null, 8, At),
676
+ }, null, 8, kt),
677
677
  l("path", {
678
678
  d: "m309.2 180.6h-24v-24c0-12.6 10.2-24.1 22.8-25 14.8-1 27.1 11.3 26.1 26.1-.8 12.7-12.3 22.9-24.9 22.9zm-50.7-48.9c-14.8-1-27.1 11.3-26.1 26.1.8 12.6 12.4 22.8 25 22.8h23.9v-24c0-12.6-10.3-24.1-22.8-24.9zm50.7 51.9h-24v23.9c0 12.6 10.2 24.1 22.8 25 14.8 1 27.1-11.3 26.1-26.1-.8-12.6-12.3-22.8-24.9-22.8zm-52.4 0c-14 0-25.3 11.8-24.4 26 .8 12.2 10.7 22.1 22.9 22.9 14.2.9 26-10.4 26-24.4v-24.5z",
679
679
  fill: `url(#${t}-j)`
680
- }, null, 8, jt),
680
+ }, null, 8, At),
681
681
  l("path", {
682
682
  d: "m281.7 183.8h3.6v18.5h-3.6z",
683
683
  fill: `url(#${t}-k)`
684
- }, null, 8, Mt)
685
- ], 8, dt))]),
684
+ }, null, 8, jt)
685
+ ], 8, ut))]),
686
686
  _: 1
687
687
  });
688
688
  };
689
689
  }
690
- }), Pt = /* @__PURE__ */ function(e) {
690
+ }), Nt = /* @__PURE__ */ function(e) {
691
691
  return e.DELETE = "DELETE", e.SUCCESS = "SUCCESS", e;
692
- }({}), Ft = {
692
+ }({}), Pt = {
693
693
  key: 0,
694
694
  class: "p-6 text-center"
695
- }, It = { class: "flex justify-center" }, Lt = {
695
+ }, Ft = { class: "flex justify-center" }, It = {
696
696
  key: 1,
697
697
  class: "p-6 text-center"
698
- }, Rt = {
698
+ }, Lt = {
699
699
  key: 0,
700
700
  class: "mb-5 text-sm text-gray-500"
701
- }, zt = { class: "flex justify-center" }, Bt = /* @__PURE__ */ m({
701
+ }, Rt = { class: "flex justify-center" }, zt = /* @__PURE__ */ m({
702
702
  __name: "BaseModal",
703
703
  props: {
704
704
  title: {
@@ -717,7 +717,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
717
717
  mode: {
718
718
  type: String,
719
719
  required: !1,
720
- default: Pt.SUCCESS
720
+ default: Nt.SUCCESS
721
721
  }
722
722
  },
723
723
  emits: ["closeModal", "confirmModal"],
@@ -738,37 +738,37 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
738
738
  role: "dialog",
739
739
  "aria-modal": "true",
740
740
  "aria-labelledby": i
741
- }, [t.mode === F(Pt).DELETE ? (D(), c("div", Ft, [
741
+ }, [t.mode === F(Nt).DELETE ? (D(), c("div", Pt, [
742
742
  p(F(Se), { class: "w-12 h-12 text-gray-400 mx-auto mb-4" }),
743
743
  l("h3", {
744
744
  id: i,
745
745
  class: "mb-5 text-lg font-normal text-gray-500 dark:text-gray-400"
746
746
  }, " Are you sure you want to delete this " + P(t.title) + "? ", 1),
747
- l("div", It, [p(it, {
747
+ l("div", Ft, [p(q, {
748
748
  color: F(G).RED,
749
749
  onClick: r[1] ||= (e) => n.$emit("confirmModal"),
750
750
  description: "Yes, I'm sure"
751
- }, null, 8, ["color"]), p(it, {
751
+ }, null, 8, ["color"]), p(q, {
752
752
  color: F(G).WHITE,
753
753
  onClick: r[2] ||= (e) => n.$emit("closeModal"),
754
754
  description: "No, cancel"
755
755
  }, null, 8, ["color"])])
756
- ])) : (D(), c("div", Lt, [
756
+ ])) : (D(), c("div", It, [
757
757
  p(F(pe), { class: "w-12 h-12 text-green-500 mx-auto mb-4" }),
758
758
  l("h3", {
759
759
  id: i,
760
760
  class: "mb-2 text-lg font-medium text-gray-900"
761
761
  }, P(t.title), 1),
762
- t.description ? (D(), c("p", Rt, P(t.description), 1)) : s("", !0),
762
+ t.description ? (D(), c("p", Lt, P(t.description), 1)) : s("", !0),
763
763
  j(n.$slots, "default"),
764
- l("div", zt, [p(it, {
764
+ l("div", Rt, [p(q, {
765
765
  color: F(G).BLUE,
766
766
  onClick: r[3] ||= (e) => n.$emit("closeModal"),
767
767
  description: "OK"
768
768
  }, null, 8, ["color"])])
769
769
  ]))])], 64));
770
770
  }
771
- }), Vt = /* @__PURE__ */ m({
771
+ }), Bt = /* @__PURE__ */ m({
772
772
  __name: "BaseRow",
773
773
  props: { bgColor: {
774
774
  type: String,
@@ -782,7 +782,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
782
782
  }
783
783
  return (e, t) => (D(), c("div", { class: b(n()) }, [j(e.$slots, "default")], 2));
784
784
  }
785
- }), Ht = /* @__PURE__ */ m({
785
+ }), Vt = /* @__PURE__ */ m({
786
786
  __name: "BaseSpinner",
787
787
  props: {
788
788
  size: { default: "sm" },
@@ -810,9 +810,9 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
810
810
  "aria-label": "Loading"
811
811
  }, null, 2));
812
812
  }
813
- }), J = /* @__PURE__ */ function(e) {
813
+ }), Y = /* @__PURE__ */ function(e) {
814
814
  return e.SUCCESS = "SUCCESS", e.WARNING = "WARNING", e.ERROR = "ERROR", e;
815
- }({}), Y = /* @__PURE__ */ function(e) {
815
+ }({}), Ht = /* @__PURE__ */ function(e) {
816
816
  return e.TOP_LEFT = "TOP_LEFT", e.TOP_RIGHT = "TOP_RIGHT", e.BOTTOM_LEFT = "BOTTOM_LEFT", e.BOTTOM_RIGHT = "BOTTOM_RIGHT", e;
817
817
  }({}), Ut = { class: "flex items-center w-full max-w-md p-4 mb-4 text-gray-500 bg-white rounded-lg shadow dark:text-gray-400 dark:bg-gray-800" }, Wt = { class: "ml-3 text-sm font-normal" }, Gt = /* @__PURE__ */ m({
818
818
  __name: "BaseToast",
@@ -833,7 +833,7 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
833
833
  positioning: {
834
834
  type: String,
835
835
  required: !1,
836
- default: Y.TOP_RIGHT
836
+ default: Ht.TOP_RIGHT
837
837
  },
838
838
  duration: {
839
839
  type: Number,
@@ -854,13 +854,13 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
854
854
  function a() {
855
855
  let e = "";
856
856
  switch (t.mode) {
857
- case J.ERROR:
857
+ case Y.ERROR:
858
858
  e = "text-red-500 bg-red-100 dark:bg-red-800 dark:text-red-200";
859
859
  break;
860
- case J.SUCCESS:
860
+ case Y.SUCCESS:
861
861
  e = "text-green-500 bg-green-100 dark:bg-green-800 dark:text-green-200";
862
862
  break;
863
- case J.WARNING:
863
+ case Y.WARNING:
864
864
  e = "text-orange-500 bg-orange-100 dark:bg-orange-700 dark:text-orange-200";
865
865
  break;
866
866
  default: e = "text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-200";
@@ -870,16 +870,16 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
870
870
  function o() {
871
871
  let e = "top-5 right-5";
872
872
  switch (t.positioning) {
873
- case Y.BOTTOM_LEFT:
873
+ case Ht.BOTTOM_LEFT:
874
874
  e = "bottom-5 left-5";
875
875
  break;
876
- case Y.TOP_LEFT:
876
+ case Ht.TOP_LEFT:
877
877
  e = "top-5 left-5";
878
878
  break;
879
- case Y.TOP_RIGHT:
879
+ case Ht.TOP_RIGHT:
880
880
  e = "top-5 right-5";
881
881
  break;
882
- case Y.BOTTOM_RIGHT: e = "bottom-5 right-5";
882
+ case Ht.BOTTOM_RIGHT: e = "bottom-5 right-5";
883
883
  }
884
884
  return "fixed flex items-center w-full max-w-md p-4 space-x-4 divide-x rounded-lg " + e;
885
885
  }
@@ -889,13 +889,13 @@ var We = "bg-red-100 text-red-700 border-red-200", Ge = /* @__PURE__ */ m({
889
889
  class: b(o()),
890
890
  role: "alert"
891
891
  }, [l("div", Ut, [
892
- e.mode == F(J).ERROR ? (D(), c("div", {
892
+ e.mode == F(Y).ERROR ? (D(), c("div", {
893
893
  key: 0,
894
894
  class: b(a())
895
- }, [p(F(Se), { class: "h-6 w-6 text-red-500" }), r[0] ||= l("span", { class: "sr-only" }, "Error icon", -1)], 2)) : e.mode == F(J).SUCCESS ? (D(), c("div", {
895
+ }, [p(F(Se), { class: "h-6 w-6 text-red-500" }), r[0] ||= l("span", { class: "sr-only" }, "Error icon", -1)], 2)) : e.mode == F(Y).SUCCESS ? (D(), c("div", {
896
896
  key: 1,
897
897
  class: b(a())
898
- }, [p(F(pe), { class: "h-6 w-6 text-green-500" }), r[1] ||= l("span", { class: "sr-only" }, "Check icon", -1)], 2)) : e.mode == F(J).WARNING ? (D(), c("div", {
898
+ }, [p(F(pe), { class: "h-6 w-6 text-green-500" }), r[1] ||= l("span", { class: "sr-only" }, "Check icon", -1)], 2)) : e.mode == F(Y).WARNING ? (D(), c("div", {
899
899
  key: 2,
900
900
  class: b(a())
901
901
  }, [p(F(Ce), { class: "h-6 w-6 text-yellow-500" }), r[2] ||= l("span", { class: "sr-only" }, "Warning icon", -1)], 2)) : s("", !0),
@@ -1881,7 +1881,7 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
1881
1881
  key: 0,
1882
1882
  class: b(["text-sm", F(d) ? "text-gray-300" : "text-gray-600"])
1883
1883
  }, P(t.message), 3)) : s("", !0),
1884
- h.value ? (D(), c("div", rr, [p(Ht, { color: "emerald" })])) : g.value ? (D(), c("div", ir, P(g.value), 1)) : s("", !0),
1884
+ h.value ? (D(), c("div", rr, [p(Vt, { color: "emerald" })])) : g.value ? (D(), c("div", ir, P(g.value), 1)) : s("", !0),
1885
1885
  !h.value && !g.value && S.value.length > 0 ? (D(), c("div", ar, [l("div", or, [p(F(Ee), {
1886
1886
  class: b(["absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4", F(f).dimText]),
1887
1887
  "aria-hidden": "true"
@@ -3082,9 +3082,9 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3082
3082
  }
3083
3083
  }
3084
3084
  }
3085
- return w(h), n({ load: h }), (n, r) => (D(), o(Vt, { class: "!p-6" }, {
3085
+ return w(h), n({ load: h }), (n, r) => (D(), o(Bt, { class: "!p-6" }, {
3086
3086
  default: L(() => [
3087
- l("div", Wi, [l("div", null, [l("h2", Gi, P(t.title), 1), t.subtitle ? (D(), c("p", Ki, P(t.subtitle), 1)) : s("", !0)]), u.value ? (D(), c("span", qi, [p(Ht, { class: "!h-4 !w-4" }), r[4] ||= f(" Saving… ", -1)])) : s("", !0)]),
3087
+ l("div", Wi, [l("div", null, [l("h2", Gi, P(t.title), 1), t.subtitle ? (D(), c("p", Ki, P(t.subtitle), 1)) : s("", !0)]), u.value ? (D(), c("span", qi, [p(Vt, { class: "!h-4 !w-4" }), r[4] ||= f(" Saving… ", -1)])) : s("", !0)]),
3088
3088
  l("div", Ji, [
3089
3089
  l("div", Yi, [l("label", {
3090
3090
  for: `${t.idPrefix}-key-id`,
@@ -3146,7 +3146,7 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3146
3146
  type: "text",
3147
3147
  class: b(aa)
3148
3148
  }, null, 8, ["id", "modelValue"])]),
3149
- l("div", ia, [p(it, {
3149
+ l("div", ia, [p(q, {
3150
3150
  color: F(G).GREEN,
3151
3151
  description: t.saveLabel,
3152
3152
  isDisable: u.value,
@@ -3358,7 +3358,46 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3358
3358
  onChange: (t) => g(e)
3359
3359
  }, null, 40, ka), l("span", { class: b(["text-sm text-slate-700 dark:text-slate-200", { "font-mono": t.mono }]) }, P(e), 3)]))), 128))])]))), 128))], 2)]));
3360
3360
  }
3361
- }), ja = /* @__PURE__ */ m({
3361
+ }), ja = { class: "inline-flex items-center gap-1 font-mono text-[11px]" }, Ma = {
3362
+ key: 0,
3363
+ class: "text-slate-500 dark:text-slate-400 uppercase tracking-wide"
3364
+ }, Na = ["title"], Pa = ["title", "aria-label"], Fa = /* @__PURE__ */ m({
3365
+ __name: "BaseIdChip",
3366
+ props: {
3367
+ value: {},
3368
+ label: { default: "" },
3369
+ copyLabel: { default: void 0 },
3370
+ actionLabel: { default: void 0 },
3371
+ maxWidthClass: { default: "max-w-[90px]" }
3372
+ },
3373
+ emits: ["action"],
3374
+ setup(e, { emit: t }) {
3375
+ let n = t;
3376
+ return (t, r) => (D(), c("div", ja, [
3377
+ e.label ? (D(), c("span", Ma, P(e.label), 1)) : s("", !0),
3378
+ l("code", {
3379
+ class: b(["truncate rounded bg-slate-100 px-1 text-slate-600 dark:bg-slate-800 dark:text-slate-300", e.maxWidthClass]),
3380
+ title: e.value
3381
+ }, P(e.value), 11, Na),
3382
+ p(Ar, {
3383
+ text: e.value,
3384
+ label: e.copyLabel ?? `${e.label} ${e.value}`.trim(),
3385
+ "icon-class": "w-3.5 h-3.5"
3386
+ }, null, 8, ["text", "label"]),
3387
+ e.actionLabel ? (D(), c("button", {
3388
+ key: 1,
3389
+ type: "button",
3390
+ title: e.actionLabel,
3391
+ "aria-label": e.actionLabel,
3392
+ class: "rounded px-0.5 text-slate-400 hover:bg-slate-100 hover:text-emerald-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 dark:hover:bg-slate-800 dark:hover:text-emerald-400",
3393
+ onClick: r[0] ||= (t) => n("action", e.value)
3394
+ }, [p(F(Ee), {
3395
+ class: "h-3.5 w-3.5",
3396
+ "aria-hidden": "true"
3397
+ })], 8, Pa)) : s("", !0)
3398
+ ]));
3399
+ }
3400
+ }), Ia = /* @__PURE__ */ m({
3362
3401
  __name: "BaseDateTimePicker",
3363
3402
  props: {
3364
3403
  modelValue: { default: null },
@@ -3411,28 +3450,28 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3411
3450
  "teleport"
3412
3451
  ]));
3413
3452
  }
3414
- }), Ma = { class: "flex min-w-0 flex-1 flex-wrap items-center gap-1" }, Na = { class: "truncate" }, Pa = [
3453
+ }), La = { class: "flex min-w-0 flex-1 flex-wrap items-center gap-1" }, Ra = { class: "truncate" }, za = [
3415
3454
  "aria-label",
3416
3455
  "disabled",
3417
3456
  "onClick"
3418
- ], Fa = [
3457
+ ], Ba = [
3419
3458
  "disabled",
3420
3459
  "readonly",
3421
3460
  "aria-label",
3422
3461
  "aria-expanded",
3423
3462
  "aria-activedescendant",
3424
3463
  "placeholder"
3425
- ], Ia = ["aria-multiselectable"], La = [
3464
+ ], Va = ["aria-multiselectable"], Ha = [
3426
3465
  "id",
3427
3466
  "aria-selected",
3428
3467
  "aria-disabled",
3429
3468
  "title",
3430
3469
  "onMouseenter",
3431
3470
  "onClick"
3432
- ], Ra = { class: "truncate" }, za = {
3471
+ ], Ua = { class: "truncate" }, Wa = {
3433
3472
  key: 0,
3434
3473
  class: "px-3 py-2 text-sm text-slate-500 dark:text-slate-400"
3435
- }, Ba = /* @__PURE__ */ m({
3474
+ }, Ga = /* @__PURE__ */ m({
3436
3475
  __name: "BaseSearchSelect",
3437
3476
  props: {
3438
3477
  options: {},
@@ -3541,10 +3580,10 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3541
3580
  class: b(["flex min-h-[38px] items-center gap-1.5 rounded-lg border bg-white px-3 py-1.5 text-sm transition-colors dark:bg-slate-900", [f.value ? "border-emerald-500 ring-2 ring-emerald-500/30" : "border-slate-300 hover:border-slate-400 dark:border-slate-600 dark:hover:border-slate-500", t.disabled ? "cursor-not-allowed opacity-60" : "cursor-text"]]),
3542
3581
  onMousedown: N
3543
3582
  }, [
3544
- l("div", Ma, [(D(!0), c(e, null, A(v.value, (e) => R((D(), c("span", {
3583
+ l("div", La, [(D(!0), c(e, null, A(v.value, (e) => R((D(), c("span", {
3545
3584
  key: String(e.value),
3546
3585
  class: "inline-flex max-w-full items-center gap-1 rounded-md bg-emerald-50 py-0.5 pl-2 pr-1 text-xs font-medium text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300"
3547
- }, [l("span", Na, P(e.label), 1), l("button", {
3586
+ }, [l("span", Ra, P(e.label), 1), l("button", {
3548
3587
  type: "button",
3549
3588
  class: "rounded p-0.5 hover:bg-emerald-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 dark:hover:bg-emerald-500/25",
3550
3589
  "aria-label": `Remove ${e.label}`,
@@ -3554,7 +3593,7 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3554
3593
  }, [p(F(Ae), {
3555
3594
  class: "h-3 w-3",
3556
3595
  "aria-hidden": "true"
3557
- })], 40, Pa)])), [[oe, t.multiple]])), 128)), R(l("input", {
3596
+ })], 40, za)])), [[oe, t.multiple]])), 128)), R(l("input", {
3558
3597
  ref_key: "inputEl",
3559
3598
  ref: d,
3560
3599
  "onUpdate:modelValue": r[1] ||= (e) => m.value = e,
@@ -3573,7 +3612,7 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3573
3612
  onFocus: j,
3574
3613
  onInput: j,
3575
3614
  onKeydown: se
3576
- }, null, 42, Fa), [[ae, m.value]])]),
3615
+ }, null, 42, Ba), [[ae, m.value]])]),
3577
3616
  t.clearable && x.value && !t.disabled ? (D(), c("button", {
3578
3617
  key: 0,
3579
3618
  type: "button",
@@ -3606,28 +3645,28 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3606
3645
  onMousedown: r[3] ||= z(() => {}, ["prevent"]),
3607
3646
  onMouseenter: (e) => h.value = t,
3608
3647
  onClick: (t) => ne(e)
3609
- }, [l("span", Ra, P(e.label), 1), O(e) ? (D(), o(F(me), {
3648
+ }, [l("span", Ua, P(e.label), 1), O(e) ? (D(), o(F(me), {
3610
3649
  key: 0,
3611
3650
  class: "h-4 w-4 shrink-0",
3612
3651
  "aria-hidden": "true"
3613
- })) : s("", !0)], 42, La))), 128)), E.value.length === 0 ? (D(), c("li", za, P(t.options.length === 0 ? t.emptyText : t.noResultsText), 1)) : s("", !0)], 8, Ia)) : s("", !0)], 2));
3652
+ })) : s("", !0)], 42, Ha))), 128)), E.value.length === 0 ? (D(), c("li", Wa, P(t.options.length === 0 ? t.emptyText : t.noResultsText), 1)) : s("", !0)], 8, Va)) : s("", !0)], 2));
3614
3653
  }
3615
- }), Va = { class: "rounded-xl border border-slate-200 bg-white text-left shadow-sm dark:border-slate-700 dark:bg-slate-900" }, Ha = {
3654
+ }), Ka = { class: "rounded-xl border border-slate-200 bg-white text-left shadow-sm dark:border-slate-700 dark:bg-slate-900" }, qa = {
3616
3655
  key: 0,
3617
3656
  class: "flex flex-wrap items-center justify-between gap-3 border-b border-slate-200 px-5 py-3 dark:border-slate-700"
3618
- }, Ua = { class: "min-w-0" }, Wa = {
3657
+ }, Ja = { class: "min-w-0" }, Ya = {
3619
3658
  key: 0,
3620
3659
  class: "text-base font-semibold text-slate-900 dark:text-slate-100"
3621
- }, Ga = {
3660
+ }, Xa = {
3622
3661
  key: 1,
3623
3662
  class: "text-sm text-slate-500 dark:text-slate-400"
3624
- }, Ka = {
3663
+ }, Za = {
3625
3664
  key: 0,
3626
3665
  class: "flex items-center gap-2"
3627
- }, qa = {
3666
+ }, Qa = {
3628
3667
  key: 1,
3629
3668
  class: "flex flex-wrap items-center justify-end gap-2 border-t border-slate-200 px-5 py-3 dark:border-slate-700"
3630
- }, Ja = /* @__PURE__ */ m({
3669
+ }, $a = /* @__PURE__ */ m({
3631
3670
  __name: "BaseCard",
3632
3671
  props: {
3633
3672
  title: { default: "" },
@@ -3635,24 +3674,24 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3635
3674
  padding: { default: "md" }
3636
3675
  },
3637
3676
  setup(e) {
3638
- return (t, n) => (D(), c("section", Va, [
3639
- e.title || e.subtitle || t.$slots.actions ? (D(), c("header", Ha, [l("div", Ua, [e.title ? (D(), c("h2", Wa, P(e.title), 1)) : s("", !0), e.subtitle ? (D(), c("p", Ga, P(e.subtitle), 1)) : s("", !0)]), t.$slots.actions ? (D(), c("div", Ka, [j(t.$slots, "actions")])) : s("", !0)])) : s("", !0),
3677
+ return (t, n) => (D(), c("section", Ka, [
3678
+ e.title || e.subtitle || t.$slots.actions ? (D(), c("header", qa, [l("div", Ja, [e.title ? (D(), c("h2", Ya, P(e.title), 1)) : s("", !0), e.subtitle ? (D(), c("p", Xa, P(e.subtitle), 1)) : s("", !0)]), t.$slots.actions ? (D(), c("div", Za, [j(t.$slots, "actions")])) : s("", !0)])) : s("", !0),
3640
3679
  l("div", { class: b(e.padding === "sm" ? "p-4" : e.padding === "none" ? "" : "p-5") }, [j(t.$slots, "default")], 2),
3641
- t.$slots.footer ? (D(), c("footer", qa, [j(t.$slots, "footer")])) : s("", !0)
3680
+ t.$slots.footer ? (D(), c("footer", Qa, [j(t.$slots, "footer")])) : s("", !0)
3642
3681
  ]));
3643
3682
  }
3644
- }), Ya = ["for"], Xa = {
3683
+ }), eo = ["for"], to = {
3645
3684
  key: 0,
3646
3685
  class: "ml-0.5 text-red-500",
3647
3686
  "aria-hidden": "true"
3648
- }, Za = {
3687
+ }, no = {
3649
3688
  key: 1,
3650
3689
  class: "mt-1 text-xs font-medium text-red-600 dark:text-red-400",
3651
3690
  role: "alert"
3652
- }, Qa = {
3691
+ }, ro = {
3653
3692
  key: 2,
3654
3693
  class: "mt-1 text-xs text-slate-500 dark:text-slate-400"
3655
- }, $a = /* @__PURE__ */ m({
3694
+ }, io = /* @__PURE__ */ m({
3656
3695
  __name: "BaseField",
3657
3696
  props: {
3658
3697
  label: { default: "" },
@@ -3678,12 +3717,12 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3678
3717
  key: 0,
3679
3718
  for: e.labelFor || void 0,
3680
3719
  class: b(["mb-1 block", e.compact ? "text-xs uppercase tracking-wide text-slate-500 dark:text-slate-400" : "text-sm font-medium text-slate-700 dark:text-slate-200"])
3681
- }, [f(P(e.label), 1), e.required ? (D(), c("span", Xa, "*")) : s("", !0)], 10, Ya)) : s("", !0),
3720
+ }, [f(P(e.label), 1), e.required ? (D(), c("span", to, "*")) : s("", !0)], 10, eo)) : s("", !0),
3682
3721
  j(t.$slots, "default"),
3683
- e.error ? (D(), c("p", Za, P(e.error), 1)) : e.hint ? (D(), c("p", Qa, P(e.hint), 1)) : s("", !0)
3722
+ e.error ? (D(), c("p", no, P(e.error), 1)) : e.hint ? (D(), c("p", ro, P(e.hint), 1)) : s("", !0)
3684
3723
  ], 2));
3685
3724
  }
3686
- }), eo = { class: "flex items-start justify-between gap-3" }, to = { class: "min-w-0 text-left" }, no = { class: "truncate text-sm font-bold tracking-wide text-gray-800 dark:text-slate-200" }, ro = /* @__PURE__ */ m({
3725
+ }), ao = { class: "flex items-start justify-between gap-3" }, oo = { class: "min-w-0 text-left" }, so = { class: "truncate text-sm font-bold tracking-wide text-gray-800 dark:text-slate-200" }, co = /* @__PURE__ */ m({
3687
3726
  __name: "BaseStatCard",
3688
3727
  props: {
3689
3728
  title: {},
@@ -3731,8 +3770,8 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3731
3770
  }
3732
3771
  }, r = a(() => n[t.accent]);
3733
3772
  return (t, n) => (D(), o(N(e.to ? F(Me) : "div"), v(e.to ? { to: e.to } : {}, { class: ["relative block rounded-xl border-2 border-dashed bg-white p-5 transition-colors dark:bg-slate-800", [r.value.border, e.to ? "hover:bg-slate-50 dark:hover:bg-slate-700/60 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500" : ""]] }), {
3734
- default: L(() => [l("div", eo, [l("div", to, [
3735
- l("p", no, P(e.title), 1),
3773
+ default: L(() => [l("div", ao, [l("div", oo, [
3774
+ l("p", so, P(e.title), 1),
3736
3775
  l("p", { class: b(["mt-1 truncate text-3xl font-bold", r.value.value]) }, P(e.value), 3),
3737
3776
  e.subtitle ? (D(), c("p", {
3738
3777
  key: 0,
@@ -3746,14 +3785,14 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3746
3785
  _: 3
3747
3786
  }, 16, ["class"]));
3748
3787
  }
3749
- }), io = [
3788
+ }), lo = [
3750
3789
  "aria-checked",
3751
3790
  "aria-label",
3752
3791
  "disabled"
3753
- ], ao = {
3792
+ ], uo = {
3754
3793
  key: 0,
3755
3794
  class: "text-sm font-medium text-slate-700 dark:text-slate-200"
3756
- }, oo = /* @__PURE__ */ m({
3795
+ }, fo = /* @__PURE__ */ m({
3757
3796
  __name: "BaseToggle",
3758
3797
  props: {
3759
3798
  modelValue: {
@@ -3793,12 +3832,12 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3793
3832
  }, [l("span", {
3794
3833
  class: b(["inline-block h-5 w-5 rounded-full bg-white shadow ring-1 ring-black/5 transition-transform", e.modelValue ? "translate-x-[22px]" : "translate-x-0.5"]),
3795
3834
  "aria-hidden": "true"
3796
- }, null, 2)], 10, io), e.label ? (D(), c("span", ao, P(e.label), 1)) : s("", !0)], 2));
3835
+ }, null, 2)], 10, lo), e.label ? (D(), c("span", uo, P(e.label), 1)) : s("", !0)], 2));
3797
3836
  }
3798
- }), so = ["checked", "disabled"], co = {
3837
+ }), po = ["checked", "disabled"], mo = {
3799
3838
  key: 0,
3800
3839
  class: "text-sm text-slate-700 dark:text-slate-200"
3801
- }, lo = /* @__PURE__ */ m({
3840
+ }, ho = /* @__PURE__ */ m({
3802
3841
  inheritAttrs: !1,
3803
3842
  __name: "BaseCheckbox",
3804
3843
  props: {
@@ -3825,15 +3864,15 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3825
3864
  disabled: e.disabled,
3826
3865
  class: "h-5 w-5 shrink-0 cursor-[inherit] rounded-md border-slate-300 bg-white text-emerald-600 accent-emerald-600 transition-colors focus:ring-2 focus:ring-emerald-500/40 focus:ring-offset-0 dark:border-slate-600 dark:bg-slate-900 dark:checked:bg-emerald-600",
3827
3866
  onChange: r
3828
- }), null, 16, so), e.label || t.$slots.default ? (D(), c("span", co, [j(t.$slots, "default", {}, () => [f(P(e.label), 1)])])) : s("", !0)], 2));
3867
+ }), null, 16, po), e.label || t.$slots.default ? (D(), c("span", mo, [j(t.$slots, "default", {}, () => [f(P(e.label), 1)])])) : s("", !0)], 2));
3829
3868
  }
3830
- }), uo = { class: "flex flex-col gap-2 text-left" }, fo = {
3869
+ }), go = { class: "flex flex-col gap-2 text-left" }, _o = {
3831
3870
  class: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-emerald-100 text-sm font-semibold text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300",
3832
3871
  "aria-hidden": "true"
3833
- }, po = { class: "min-w-0" }, mo = { class: "block truncate text-sm font-medium text-slate-900 dark:text-slate-100" }, ho = {
3872
+ }, vo = { class: "min-w-0" }, yo = { class: "block truncate text-sm font-medium text-slate-900 dark:text-slate-100" }, bo = {
3834
3873
  key: 0,
3835
3874
  class: "block truncate text-xs text-slate-500 dark:text-slate-400"
3836
- }, go = /* @__PURE__ */ m({
3875
+ }, xo = /* @__PURE__ */ m({
3837
3876
  __name: "BaseSidebarUser",
3838
3877
  props: {
3839
3878
  name: {},
@@ -3849,13 +3888,13 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3849
3888
  emits: ["logout"],
3850
3889
  setup(e, { emit: t }) {
3851
3890
  let n = e, r = t, i = a(() => (n.name || "?").split(/[\s._-]+/).filter(Boolean).slice(0, 2).map((e) => e[0].toUpperCase()).join(""));
3852
- return (t, n) => (D(), c("div", uo, [(D(), o(N(e.to ? F(Me) : "div"), v(e.to ? { to: e.to } : {}, {
3891
+ return (t, n) => (D(), c("div", go, [(D(), o(N(e.to ? F(Me) : "div"), v(e.to ? { to: e.to } : {}, {
3853
3892
  class: ["flex items-center gap-3 rounded-lg p-2 transition-colors", e.to ? "hover:bg-slate-100 dark:hover:bg-slate-800 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500" : ""],
3854
3893
  title: e.to ? e.profileLabel : void 0
3855
3894
  }), {
3856
- default: L(() => [l("span", fo, P(i.value), 1), l("span", po, [l("span", mo, P(e.name), 1), e.email ? (D(), c("span", ho, P(e.email), 1)) : s("", !0)])]),
3895
+ default: L(() => [l("span", _o, P(i.value), 1), l("span", vo, [l("span", yo, P(e.name), 1), e.email ? (D(), c("span", bo, P(e.email), 1)) : s("", !0)])]),
3857
3896
  _: 1
3858
- }, 16, ["class", "title"])), e.showLogout ? (D(), o(it, {
3897
+ }, 16, ["class", "title"])), e.showLogout ? (D(), o(q, {
3859
3898
  key: 0,
3860
3899
  class: "w-full justify-center",
3861
3900
  description: e.logoutLabel,
@@ -3876,16 +3915,16 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3876
3915
  "size"
3877
3916
  ])) : s("", !0)]));
3878
3917
  }
3879
- }), _o = { class: "flex min-h-screen w-full flex-col items-center justify-center bg-slate-50 px-4 py-10 dark:bg-slate-950" }, vo = { class: "mb-6 flex justify-center" }, yo = {
3918
+ }), So = { class: "flex min-h-screen w-full flex-col items-center justify-center bg-slate-50 px-4 py-10 dark:bg-slate-950" }, Co = { class: "mb-6 flex justify-center" }, wo = {
3880
3919
  key: 0,
3881
3920
  class: "mb-1 text-2xl font-bold tracking-tight text-slate-900 dark:text-slate-100"
3882
- }, bo = {
3921
+ }, To = {
3883
3922
  key: 1,
3884
3923
  class: "text-sm text-slate-500 dark:text-slate-400"
3885
- }, xo = {
3924
+ }, Eo = {
3886
3925
  key: 2,
3887
3926
  class: "mt-6 border-t border-slate-200 pt-4 text-center text-sm text-slate-500 dark:border-slate-700 dark:text-slate-400"
3888
- }, So = /* @__PURE__ */ m({
3927
+ }, Do = /* @__PURE__ */ m({
3889
3928
  __name: "BaseAuthLayout",
3890
3929
  props: {
3891
3930
  title: { default: "" },
@@ -3896,17 +3935,17 @@ var Kn = ["aria-label", "aria-expanded"], qn = { class: "flex flex-col h-full" }
3896
3935
  }
3897
3936
  },
3898
3937
  setup(e) {
3899
- return (t, n) => (D(), c("div", _o, [l("div", vo, [j(t.$slots, "logo", {}, () => [p(Nt, { size: F(q).MEDIUM }, null, 8, ["size"])])]), l("div", { class: b(["w-full rounded-xl border border-slate-200 bg-white p-6 text-left shadow-sm sm:p-8 dark:border-slate-700 dark:bg-slate-900", e.wide ? "max-w-3xl" : "max-w-md"]) }, [
3900
- e.title ? (D(), c("h1", yo, P(e.title), 1)) : s("", !0),
3901
- e.subtitle ? (D(), c("p", bo, P(e.subtitle), 1)) : s("", !0),
3938
+ return (t, n) => (D(), c("div", So, [l("div", Co, [j(t.$slots, "logo", {}, () => [p(Mt, { size: F(J).MEDIUM }, null, 8, ["size"])])]), l("div", { class: b(["w-full rounded-xl border border-slate-200 bg-white p-6 text-left shadow-sm sm:p-8 dark:border-slate-700 dark:bg-slate-900", e.wide ? "max-w-3xl" : "max-w-md"]) }, [
3939
+ e.title ? (D(), c("h1", wo, P(e.title), 1)) : s("", !0),
3940
+ e.subtitle ? (D(), c("p", To, P(e.subtitle), 1)) : s("", !0),
3902
3941
  l("div", { class: b(e.title || e.subtitle ? "mt-6" : "") }, [j(t.$slots, "default")], 2),
3903
- t.$slots.footer ? (D(), c("div", xo, [j(t.$slots, "footer")])) : s("", !0)
3942
+ t.$slots.footer ? (D(), c("div", Eo, [j(t.$slots, "footer")])) : s("", !0)
3904
3943
  ], 2)]));
3905
3944
  }
3906
3945
  });
3907
3946
  //#endregion
3908
3947
  //#region node_modules/@heroicons/vue/20/solid/esm/CheckCircleIcon.js
3909
- function Co(e, t) {
3948
+ function Oo(e, t) {
3910
3949
  return D(), c("svg", {
3911
3950
  xmlns: "http://www.w3.org/2000/svg",
3912
3951
  viewBox: "0 0 20 20",
@@ -3921,7 +3960,7 @@ function Co(e, t) {
3921
3960
  }
3922
3961
  //#endregion
3923
3962
  //#region node_modules/@heroicons/vue/20/solid/esm/XCircleIcon.js
3924
- function wo(e, t) {
3963
+ function ko(e, t) {
3925
3964
  return D(), c("svg", {
3926
3965
  xmlns: "http://www.w3.org/2000/svg",
3927
3966
  viewBox: "0 0 20 20",
@@ -3936,7 +3975,7 @@ function wo(e, t) {
3936
3975
  }
3937
3976
  //#endregion
3938
3977
  //#region src/components/BaseBooleanBadge.vue
3939
- var To = /* @__PURE__ */ m({
3978
+ var Ao = /* @__PURE__ */ m({
3940
3979
  __name: "BaseBooleanBadge",
3941
3980
  props: {
3942
3981
  value: {
@@ -3947,20 +3986,20 @@ var To = /* @__PURE__ */ m({
3947
3986
  falseLabel: { default: "No" }
3948
3987
  },
3949
3988
  setup(e) {
3950
- return (t, n) => (D(), c("span", { class: b(["inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium ring-1 ring-inset", e.value ? "bg-emerald-50 text-emerald-700 ring-emerald-600/20 dark:bg-emerald-500/10 dark:text-emerald-300 dark:ring-emerald-400/30" : "bg-red-50 text-red-700 ring-red-600/20 dark:bg-red-500/10 dark:text-red-300 dark:ring-red-400/30"]) }, [e.value ? (D(), o(F(Co), {
3989
+ return (t, n) => (D(), c("span", { class: b(["inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium ring-1 ring-inset", e.value ? "bg-emerald-50 text-emerald-700 ring-emerald-600/20 dark:bg-emerald-500/10 dark:text-emerald-300 dark:ring-emerald-400/30" : "bg-red-50 text-red-700 ring-red-600/20 dark:bg-red-500/10 dark:text-red-300 dark:ring-red-400/30"]) }, [e.value ? (D(), o(F(Oo), {
3951
3990
  key: 0,
3952
3991
  class: "h-3.5 w-3.5",
3953
3992
  "aria-hidden": "true"
3954
- })) : (D(), o(F(wo), {
3993
+ })) : (D(), o(F(ko), {
3955
3994
  key: 1,
3956
3995
  class: "h-3.5 w-3.5",
3957
3996
  "aria-hidden": "true"
3958
3997
  })), f(" " + P(e.value ? e.trueLabel : e.falseLabel), 1)], 2));
3959
3998
  }
3960
- }), Eo = { class: "text-xs uppercase tracking-wide text-slate-500 dark:text-slate-400" }, Do = ["href"], Oo = {
3999
+ }), jo = { class: "text-xs uppercase tracking-wide text-slate-500 dark:text-slate-400" }, Mo = ["href"], No = {
3961
4000
  key: 1,
3962
4001
  class: "text-slate-400 dark:text-slate-500"
3963
- }, ko = /* @__PURE__ */ m({
4002
+ }, Po = /* @__PURE__ */ m({
3964
4003
  __name: "BaseDetailList",
3965
4004
  props: {
3966
4005
  items: {},
@@ -3974,18 +4013,18 @@ var To = /* @__PURE__ */ m({
3974
4013
  return (r, i) => (D(), c("dl", { class: b(["grid grid-cols-[minmax(0,1fr)] gap-x-6 gap-y-4 text-left", t.columns === 2 ? "sm:grid-cols-[repeat(2,minmax(0,1fr))]" : t.columns === 3 ? "sm:grid-cols-[repeat(2,minmax(0,1fr))] lg:grid-cols-[repeat(3,minmax(0,1fr))]" : ""]) }, [(D(!0), c(e, null, A(t.items, (r) => (D(), c("div", {
3975
4014
  key: r.label,
3976
4015
  class: "min-w-0"
3977
- }, [l("dt", Eo, P(r.label), 1), l("dd", { class: b(["mt-1 break-words text-sm text-slate-900 dark:text-slate-100", r.mono ? "font-mono" : ""]) }, [r.href && !n(r.value) ? (D(), c("a", {
4016
+ }, [l("dt", jo, P(r.label), 1), l("dd", { class: b(["mt-1 break-words text-sm text-slate-900 dark:text-slate-100", r.mono ? "font-mono" : ""]) }, [r.href && !n(r.value) ? (D(), c("a", {
3978
4017
  key: 0,
3979
4018
  href: r.href,
3980
4019
  target: "_blank",
3981
4020
  rel: "noopener noreferrer",
3982
4021
  class: "text-emerald-600 hover:underline dark:text-emerald-400"
3983
- }, P(r.value), 9, Do)) : n(r.value) ? (D(), c("span", Oo, P(t.emptyText), 1)) : (D(), c(e, { key: 2 }, [f(P(r.value), 1)], 64))], 2)]))), 128))], 2));
4022
+ }, P(r.value), 9, Mo)) : n(r.value) ? (D(), c("span", No, P(t.emptyText), 1)) : (D(), c(e, { key: 2 }, [f(P(r.value), 1)], 64))], 2)]))), 128))], 2));
3984
4023
  }
3985
4024
  });
3986
4025
  //#endregion
3987
4026
  //#region src/composables/useDebounce.ts
3988
- function Ao(e, t = 300) {
4027
+ function Fo(e, t = 300) {
3989
4028
  let n = k(e.value), r = null;
3990
4029
  return I(e, (e) => {
3991
4030
  r && clearTimeout(r), r = setTimeout(() => {
@@ -3997,12 +4036,12 @@ function Ao(e, t = 300) {
3997
4036
  }
3998
4037
  //#endregion
3999
4038
  //#region src/composables/useToast.ts
4000
- function jo(e = 3e3) {
4001
- let t = k(!1), n = k(""), r = k(J.SUCCESS), i = null;
4039
+ function Io(e = 3e3) {
4040
+ let t = k(!1), n = k(""), r = k(Y.SUCCESS), i = null;
4002
4041
  function a() {
4003
4042
  i &&= (clearTimeout(i), null);
4004
4043
  }
4005
- function o(o, s = J.SUCCESS, c = e) {
4044
+ function o(o, s = Y.SUCCESS, c = e) {
4006
4045
  n.value = o, r.value = s, t.value = !0, a(), i = setTimeout(() => {
4007
4046
  t.value = !1, i = null;
4008
4047
  }, c);
@@ -4018,7 +4057,7 @@ function jo(e = 3e3) {
4018
4057
  }
4019
4058
  //#endregion
4020
4059
  //#region src/composables/useQueryParamSync.ts
4021
- function Mo() {
4060
+ function Lo() {
4022
4061
  let e = Ne(), t = Pe();
4023
4062
  function n(t) {
4024
4063
  let n = e.query[t];
@@ -4040,7 +4079,7 @@ function Mo() {
4040
4079
  }
4041
4080
  //#endregion
4042
4081
  //#region src/composables/useFieldClasses.ts
4043
- function No() {
4082
+ function Ro() {
4044
4083
  let { isDark: e } = U(), t = a(() => e.value ? "text-gray-300" : "text-gray-600"), n = a(() => e.value ? "bg-gray-800 border-gray-600 text-gray-100 placeholder-gray-500 focus:ring-emerald-500 focus:border-emerald-500" : "bg-white border-gray-300 text-gray-800 focus:ring-emerald-500 focus:border-emerald-500");
4045
4084
  function r(t) {
4046
4085
  return t == null || String(t).trim() === "" ? e.value ? "bg-gray-800 border-red-500 text-gray-100 placeholder-gray-500 focus:ring-red-500 focus:border-red-500 ring-1 ring-red-500/30" : "bg-white border-red-400 text-gray-800 focus:ring-red-500 focus:border-red-500 ring-1 ring-red-400/30" : n.value;
@@ -4053,7 +4092,7 @@ function No() {
4053
4092
  }
4054
4093
  //#endregion
4055
4094
  //#region src/composables/usePolling.ts
4056
- function Po(e, t, n = {}) {
4095
+ function zo(e, t, n = {}) {
4057
4096
  let { immediate: r = !0, pauseWhenHidden: i = !0 } = n, a = null, o = k(!1), s = !1;
4058
4097
  function c() {
4059
4098
  a === null && t !== null && (a = setInterval(() => void e(), t));
@@ -4088,7 +4127,7 @@ function Po(e, t, n = {}) {
4088
4127
  }
4089
4128
  //#endregion
4090
4129
  //#region src/composables/useLatestRequest.ts
4091
- function Fo() {
4130
+ function Bo() {
4092
4131
  let e = 0, t = null;
4093
4132
  function n() {
4094
4133
  let n = ++e;
@@ -4107,12 +4146,12 @@ function Fo() {
4107
4146
  cancel: r
4108
4147
  };
4109
4148
  }
4110
- function Io(e) {
4149
+ function Vo(e) {
4111
4150
  return typeof DOMException < "u" && e instanceof DOMException && e.name === "AbortError" || e instanceof Error && e.name === "AbortError";
4112
4151
  }
4113
4152
  //#endregion
4114
4153
  //#region src/composables/useDirtyState.ts
4115
- function Lo(e) {
4154
+ function Ho(e) {
4116
4155
  return JSON.stringify(e, (e, t) => {
4117
4156
  if (typeof t == "object" && t && !Array.isArray(t)) {
4118
4157
  let e = {};
@@ -4122,10 +4161,10 @@ function Lo(e) {
4122
4161
  return t;
4123
4162
  });
4124
4163
  }
4125
- function Ro(e) {
4126
- let t = k(Lo(e())), n = a(() => Lo(e()) !== t.value);
4164
+ function Uo(e) {
4165
+ let t = k(Ho(e())), n = a(() => Ho(e()) !== t.value);
4127
4166
  function r() {
4128
- t.value = Lo(e());
4167
+ t.value = Ho(e());
4129
4168
  }
4130
4169
  return {
4131
4170
  dirty: n,
@@ -4134,12 +4173,12 @@ function Ro(e) {
4134
4173
  }
4135
4174
  //#endregion
4136
4175
  //#region src/enums/BaseBadgeEnum.ts
4137
- var zo = /* @__PURE__ */ function(e) {
4176
+ var Wo = /* @__PURE__ */ function(e) {
4138
4177
  return e.WIN = "WIN", e.LOSE = "LOSE", e;
4139
4178
  }({});
4140
4179
  //#endregion
4141
4180
  //#region src/utils/util.ts
4142
- function Bo(e) {
4181
+ function Go(e) {
4143
4182
  let t = "red";
4144
4183
  switch (e) {
4145
4184
  case B.ERROR:
@@ -4155,7 +4194,7 @@ function Bo(e) {
4155
4194
  }
4156
4195
  return t;
4157
4196
  }
4158
- function Vo(e) {
4197
+ function Ko(e) {
4159
4198
  let t = "red";
4160
4199
  switch (e) {
4161
4200
  case W.GREEN:
@@ -4182,14 +4221,14 @@ function Vo(e) {
4182
4221
  }
4183
4222
  //#endregion
4184
4223
  //#region src/utils/httpColors.ts
4185
- var Ho = {
4224
+ var qo = {
4186
4225
  GET: "bg-blue-600",
4187
4226
  POST: "bg-emerald-600",
4188
4227
  PUT: "bg-amber-600",
4189
4228
  DELETE: "bg-red-600",
4190
4229
  PATCH: "bg-purple-600",
4191
4230
  HEAD: "bg-gray-600"
4192
- }, Uo = {
4231
+ }, Jo = {
4193
4232
  GET: "bg-blue-500",
4194
4233
  POST: "bg-green-500",
4195
4234
  PUT: "bg-yellow-500",
@@ -4197,39 +4236,39 @@ var Ho = {
4197
4236
  PATCH: "bg-purple-500",
4198
4237
  HEAD: "bg-gray-500"
4199
4238
  };
4200
- function Wo(e) {
4201
- return e ? Ho[e.toUpperCase()] ?? "bg-gray-600" : "bg-gray-600";
4239
+ function Yo(e) {
4240
+ return e ? qo[e.toUpperCase()] ?? "bg-gray-600" : "bg-gray-600";
4202
4241
  }
4203
- function Go(e) {
4204
- return e ? Uo[e.toUpperCase()] ?? "bg-gray-500" : "bg-gray-500";
4242
+ function Xo(e) {
4243
+ return e ? Jo[e.toUpperCase()] ?? "bg-gray-500" : "bg-gray-500";
4205
4244
  }
4206
- function Ko(e) {
4245
+ function Zo(e) {
4207
4246
  let t = e ?? 0;
4208
4247
  return t >= 200 && t < 300 ? "bg-emerald-600" : t >= 300 && t < 400 ? "bg-blue-600" : t >= 400 && t < 500 ? "bg-amber-600" : t >= 500 ? "bg-red-600" : "bg-gray-600";
4209
4248
  }
4210
- function qo(e, t) {
4249
+ function Qo(e, t) {
4211
4250
  let n = (e || "ANY").toUpperCase();
4212
4251
  return n === "GET" ? t ? "bg-blue-500/15 text-blue-400" : "bg-blue-100 text-blue-700" : n === "POST" ? t ? "bg-emerald-500/15 text-emerald-400" : "bg-emerald-100 text-emerald-700" : n === "PUT" ? t ? "bg-amber-500/15 text-amber-400" : "bg-amber-100 text-amber-700" : n === "DELETE" ? t ? "bg-red-500/15 text-red-400" : "bg-red-100 text-red-700" : n === "PATCH" ? t ? "bg-purple-500/15 text-purple-400" : "bg-purple-100 text-purple-700" : n === "HEAD" ? t ? "bg-sky-500/15 text-sky-400" : "bg-sky-100 text-sky-700" : t ? "bg-gray-500/15 text-gray-400" : "bg-gray-100 text-gray-600";
4213
4252
  }
4214
- function Jo(e, t) {
4253
+ function $o(e, t) {
4215
4254
  let n = e ?? 200;
4216
4255
  return n >= 200 && n < 300 ? t ? "bg-emerald-500/15 text-emerald-300" : "bg-emerald-100 text-emerald-700" : n >= 300 && n < 400 ? t ? "bg-sky-500/15 text-sky-300" : "bg-sky-100 text-sky-700" : n >= 400 && n < 500 ? t ? "bg-amber-500/15 text-amber-300" : "bg-amber-100 text-amber-700" : n >= 500 && n < 600 ? t ? "bg-red-500/15 text-red-300" : "bg-red-100 text-red-700" : t ? "bg-gray-800 text-gray-400" : "bg-gray-100 text-gray-600";
4217
4256
  }
4218
- function Yo(e, t) {
4257
+ function es(e, t) {
4219
4258
  let n = e ?? 200;
4220
4259
  return t ? n >= 200 && n < 300 ? "bg-green-500/15 text-green-400" : n >= 300 && n < 400 ? "bg-blue-500/15 text-blue-400" : n >= 400 && n < 500 ? "bg-yellow-500/15 text-yellow-400" : "bg-red-500/15 text-red-400" : n >= 200 && n < 300 ? "bg-green-100 text-green-800" : n >= 300 && n < 400 ? "bg-blue-100 text-blue-800" : n >= 400 && n < 500 ? "bg-yellow-100 text-yellow-800" : "bg-red-100 text-red-800";
4221
4260
  }
4222
4261
  //#endregion
4223
4262
  //#region src/utils/kvRows.ts
4224
- function Xo(e) {
4263
+ function ts(e) {
4225
4264
  return !(e.key ?? "").trim() || e.matcherType === "absent" ? !1 : !(e.value ?? "").trim();
4226
4265
  }
4227
- function Zo(e) {
4266
+ function ns(e) {
4228
4267
  return e.matcherType === "absent" || !(e.value ?? "").trim() ? !1 : !(e.key ?? "").trim();
4229
4268
  }
4230
4269
  //#endregion
4231
4270
  //#region src/utils/sanitizeHtml.ts
4232
- var Qo = /* @__PURE__ */ new Set([
4271
+ var rs = /* @__PURE__ */ new Set([
4233
4272
  "A",
4234
4273
  "B",
4235
4274
  "STRONG",
@@ -4244,7 +4283,7 @@ var Qo = /* @__PURE__ */ new Set([
4244
4283
  "LI",
4245
4284
  "SPAN",
4246
4285
  "DIV"
4247
- ]), $o = /* @__PURE__ */ new Set([
4286
+ ]), is = /* @__PURE__ */ new Set([
4248
4287
  "SCRIPT",
4249
4288
  "STYLE",
4250
4289
  "IFRAME",
@@ -4252,40 +4291,40 @@ var Qo = /* @__PURE__ */ new Set([
4252
4291
  "EMBED",
4253
4292
  "NOSCRIPT",
4254
4293
  "TEMPLATE"
4255
- ]), es = { A: /* @__PURE__ */ new Set(["href", "title"]) };
4256
- function ts(e) {
4294
+ ]), as = { A: /* @__PURE__ */ new Set(["href", "title"]) };
4295
+ function os(e) {
4257
4296
  let t = e.trim().toLowerCase();
4258
4297
  return t.startsWith("http://") || t.startsWith("https://") || t.startsWith("mailto:") || t.startsWith("tel:") || t.startsWith("/") || t.startsWith("#") || t === "";
4259
4298
  }
4260
- function ns(e) {
4299
+ function ss(e) {
4261
4300
  if (e.nodeType !== Node.ELEMENT_NODE) return;
4262
4301
  let t = e, n = t.tagName.toUpperCase();
4263
- if (!Qo.has(n)) {
4264
- $o.has(n) ? t.remove() : t.replaceWith(document.createTextNode(t.textContent ?? ""));
4302
+ if (!rs.has(n)) {
4303
+ is.has(n) ? t.remove() : t.replaceWith(document.createTextNode(t.textContent ?? ""));
4265
4304
  return;
4266
4305
  }
4267
- let r = es[n] ?? /* @__PURE__ */ new Set();
4306
+ let r = as[n] ?? /* @__PURE__ */ new Set();
4268
4307
  for (let e of Array.from(t.attributes)) {
4269
4308
  if (!r.has(e.name.toLowerCase())) {
4270
4309
  t.removeAttribute(e.name);
4271
4310
  continue;
4272
4311
  }
4273
- n === "A" && e.name.toLowerCase() === "href" && !ts(e.value) && t.removeAttribute(e.name);
4312
+ n === "A" && e.name.toLowerCase() === "href" && !os(e.value) && t.removeAttribute(e.name);
4274
4313
  }
4275
4314
  n === "A" && t.hasAttribute("href") && (t.setAttribute("rel", "noopener noreferrer"), t.setAttribute("target", "_blank"));
4276
- for (let e of Array.from(t.childNodes)) ns(e);
4315
+ for (let e of Array.from(t.childNodes)) ss(e);
4277
4316
  }
4278
- function rs(e) {
4317
+ function cs(e) {
4279
4318
  if (!e) return "";
4280
4319
  let t = new DOMParser().parseFromString(`<div>${e}</div>`, "text/html").body.firstElementChild;
4281
4320
  if (!t) return "";
4282
- for (let e of Array.from(t.childNodes)) ns(e);
4321
+ for (let e of Array.from(t.childNodes)) ss(e);
4283
4322
  return t.innerHTML;
4284
4323
  }
4285
4324
  //#endregion
4286
4325
  //#region src/utils/format.ts
4287
4326
  var $ = "—";
4288
- function is(e, t = 4) {
4327
+ function ls(e, t = 4) {
4289
4328
  if (e == null || typeof e == "string" && e.trim() === "") return $;
4290
4329
  let n = typeof e == "string" ? Number(e) : e;
4291
4330
  return isFinite(n) ? n.toLocaleString(void 0, {
@@ -4293,12 +4332,12 @@ function is(e, t = 4) {
4293
4332
  maximumFractionDigits: t
4294
4333
  }) : $;
4295
4334
  }
4296
- function as(e) {
4335
+ function us(e) {
4297
4336
  if (e == null || e === "") return $;
4298
4337
  let t = new Date(e);
4299
4338
  return isNaN(t.getTime()) ? String(e) : t.toLocaleString();
4300
4339
  }
4301
- function os(e) {
4340
+ function ds(e) {
4302
4341
  return new Date(e).toLocaleString(void 0, {
4303
4342
  month: "short",
4304
4343
  day: "numeric",
@@ -4306,13 +4345,13 @@ function os(e) {
4306
4345
  minute: "2-digit"
4307
4346
  });
4308
4347
  }
4309
- function ss(e) {
4348
+ function fs(e) {
4310
4349
  return new Date(e).toLocaleDateString(void 0, {
4311
4350
  month: "short",
4312
4351
  day: "numeric"
4313
4352
  });
4314
4353
  }
4315
- function cs(e) {
4354
+ function ps(e) {
4316
4355
  try {
4317
4356
  return new Date(e).toLocaleString(void 0, {
4318
4357
  year: "numeric",
@@ -4328,7 +4367,7 @@ function cs(e) {
4328
4367
  return String(e);
4329
4368
  }
4330
4369
  }
4331
- function ls(e) {
4370
+ function ms(e) {
4332
4371
  if (!isFinite(e) || e === 0) return e.toFixed(2);
4333
4372
  let t = Math.abs(e), n = 2;
4334
4373
  return t < 1e-4 ? n = 8 : t < .01 ? n = 6 : t < 1 ? n = 4 : t < 100 && (n = 3), e.toLocaleString(void 0, {
@@ -4336,13 +4375,13 @@ function ls(e) {
4336
4375
  maximumFractionDigits: n
4337
4376
  });
4338
4377
  }
4339
- function us(e, t = 2) {
4378
+ function hs(e, t = 2) {
4340
4379
  return `${e >= 0 ? "+" : ""}${e.toFixed(t)}%`;
4341
4380
  }
4342
- function ds(e) {
4381
+ function gs(e) {
4343
4382
  return `${e < 0 ? "-" : "+"}$${Math.abs(e).toFixed(2)}`;
4344
4383
  }
4345
- function fs(e, t = 2, n = "$") {
4384
+ function _s(e, t = 2, n = "$") {
4346
4385
  if (e == null || typeof e == "string" && e.trim() === "") return $;
4347
4386
  let r = typeof e == "string" ? Number(e) : e;
4348
4387
  if (!isFinite(r)) return $;
@@ -4352,7 +4391,29 @@ function fs(e, t = 2, n = "$") {
4352
4391
  });
4353
4392
  return `${r < 0 && Number(Math.abs(r).toFixed(t)) !== 0 ? "-" : ""}${n}${i}`;
4354
4393
  }
4355
- function ps(e) {
4394
+ var vs = {
4395
+ EUR: "€",
4396
+ GBP: "£"
4397
+ }, ys = /* @__PURE__ */ new Set([
4398
+ "USD",
4399
+ "USDT",
4400
+ "USDC"
4401
+ ]);
4402
+ function bs(e) {
4403
+ let t = (e ?? "").trim().toUpperCase();
4404
+ return !t || ys.has(t) ? "$" : vs[t] ?? null;
4405
+ }
4406
+ function xs(e, t, n = 2) {
4407
+ let r = (t ?? "").trim().toUpperCase(), i = bs(r);
4408
+ if (i !== null) {
4409
+ let t = _s(e, n, i);
4410
+ return r && r !== "USD" && ys.has(r) && t !== $ ? `${t} ${r}` : t;
4411
+ }
4412
+ if (e == null || typeof e == "string" && e.trim() === "") return $;
4413
+ let a = typeof e == "string" ? Number(e) : e;
4414
+ return isFinite(a) ? `${a.toLocaleString(void 0, { maximumFractionDigits: 8 })} ${r}` : $;
4415
+ }
4416
+ function Ss(e) {
4356
4417
  if (e == null || e === "") return $;
4357
4418
  let t = new Date(e);
4358
4419
  return isNaN(t.getTime()) ? String(e) : t.toLocaleDateString("en-US", {
@@ -4361,7 +4422,7 @@ function ps(e) {
4361
4422
  day: "numeric"
4362
4423
  });
4363
4424
  }
4364
- function ms(e) {
4425
+ function Cs(e) {
4365
4426
  if (e == null || e === "") return $;
4366
4427
  let t = new Date(e);
4367
4428
  return isNaN(t.getTime()) ? String(e) : t.toLocaleDateString("en-US", {
@@ -4372,22 +4433,22 @@ function ms(e) {
4372
4433
  minute: "2-digit"
4373
4434
  });
4374
4435
  }
4375
- function hs(e) {
4436
+ function ws(e) {
4376
4437
  if (typeof e != "number" || !isFinite(e) || e <= 0) return "";
4377
4438
  let t = e / 1e3, n = t < 1 ? 3 : 2;
4378
4439
  return `= ${t.toFixed(n)} s`;
4379
4440
  }
4380
- function gs(e) {
4441
+ function Ts(e) {
4381
4442
  return e ? e < 1024 ? `${e} B` : e < 1048576 ? `${(e / 1024).toFixed(1)} KB` : `${(e / 1048576).toFixed(1)} MB` : "";
4382
4443
  }
4383
- function _s(e) {
4444
+ function Es(e) {
4384
4445
  try {
4385
4446
  return JSON.stringify(JSON.parse(e), null, 2);
4386
4447
  } catch {
4387
4448
  return e;
4388
4449
  }
4389
4450
  }
4390
- function vs(e) {
4451
+ function Ds(e) {
4391
4452
  if (e == null) return "";
4392
4453
  if (typeof e == "string") return e;
4393
4454
  try {
@@ -4396,14 +4457,14 @@ function vs(e) {
4396
4457
  return String(e);
4397
4458
  }
4398
4459
  }
4399
- function ys(e, t = 2) {
4460
+ function Os(e, t = 2) {
4400
4461
  if (e == null || !isFinite(e)) return $;
4401
4462
  let n = Math.floor(Math.max(0, e) / 6e4), r = Math.floor(n / 1440), i = Math.floor(n % 1440 / 60), a = n % 60, o = [];
4402
4463
  return r > 0 && o.push(`${r}d`), (r > 0 || i > 0) && o.push(`${i}h`), o.push(`${a}m`), o.slice(0, t).join(" ");
4403
4464
  }
4404
4465
  //#endregion
4405
4466
  //#region src/utils/validate.ts
4406
- function bs(e) {
4467
+ function ks(e) {
4407
4468
  let t = (e ?? "").trim();
4408
4469
  if (!t) return !1;
4409
4470
  try {
@@ -4413,7 +4474,7 @@ function bs(e) {
4413
4474
  return !1;
4414
4475
  }
4415
4476
  }
4416
- function xs(e) {
4477
+ function As(e) {
4417
4478
  if (!e.trim()) return !0;
4418
4479
  try {
4419
4480
  return JSON.parse(e), !0;
@@ -4421,7 +4482,7 @@ function xs(e) {
4421
4482
  return !1;
4422
4483
  }
4423
4484
  }
4424
- function Ss(e) {
4485
+ function js(e) {
4425
4486
  if (!e.trim()) return !0;
4426
4487
  try {
4427
4488
  return !new DOMParser().parseFromString(e, "application/xml").getElementsByTagName("parsererror").length;
@@ -4429,7 +4490,7 @@ function Ss(e) {
4429
4490
  return !1;
4430
4491
  }
4431
4492
  }
4432
- function Cs(e) {
4493
+ function Ms(e) {
4433
4494
  if (!e.trim()) return !0;
4434
4495
  let t = e.replace(/\s+/g, "");
4435
4496
  if (!t) return !0;
@@ -4442,7 +4503,7 @@ function Cs(e) {
4442
4503
  }
4443
4504
  //#endregion
4444
4505
  //#region src/utils/specForm.ts
4445
- function ws(e, t) {
4506
+ function Ns(e, t) {
4446
4507
  let n = {};
4447
4508
  if (!e) return n;
4448
4509
  for (let r of e) {
@@ -4451,7 +4512,7 @@ function ws(e, t) {
4451
4512
  }
4452
4513
  return n;
4453
4514
  }
4454
- function Ts(e, t) {
4515
+ function Ps(e, t) {
4455
4516
  if (!e) return null;
4456
4517
  for (let n of e) if (n.type === "decimal" || n.type === "integer") {
4457
4518
  let e = t[n.key], r = e === "" || e == null;
@@ -4462,7 +4523,7 @@ function Ts(e, t) {
4462
4523
  }
4463
4524
  //#endregion
4464
4525
  //#region src/utils/pnl.ts
4465
- function Es(e) {
4526
+ function Fs(e) {
4466
4527
  if (e.buyPrice == null || e.lastPrice == null || e.filledQty == null) return {
4467
4528
  pnlUsd: null,
4468
4529
  pnlPct: null
@@ -4477,4 +4538,4 @@ function Es(e) {
4477
4538
  };
4478
4539
  }
4479
4540
  //#endregion
4480
- export { B as AlertEnum, Or as BaseActionButton, Ve as BaseAlert, vr as BaseAppLayout, So as BaseAuthLayout, Ge as BaseBadge, zo as BaseBadgeEnum, xa as BaseBarDistribution, To as BaseBooleanBadge, Ye as BaseBreadcrumb, it as BaseButton, G as BaseButtonEnum, K as BaseButtonSizeEnum, Ja as BaseCard, lo as BaseCheckbox, ti as BaseChipButton, li as BaseCodeBlock, Tn as BaseCollapsibleSection, kn as BaseConfirmModal, Ar as BaseCopyButton, oa as BaseCredentialsForm, ja as BaseDateTimePicker, ko as BaseDetailList, vi as BaseDropdown, hr as BaseEntityPickerModal, $a as BaseField, ci as BaseFileDropzone, Ui as BaseFilterChip, Pr as BaseGoogleSignInButton, Aa as BaseGroupedChecklist, di as BaseInput, lt as BaseLine, ut as BaseLoginEnum, Kr as BaseLoginForm, Nt as BaseLogo, q as BaseLogoEnum, Bt as BaseModal, Pt as BaseModalEnum, Sn as BaseModalShell, In as BaseNotFoundPage, $r as BaseNotificationPanel, Sr as BasePageHeader, ga as BasePillPickerModal, ni as BaseRemoveButton, Vt as BaseRow, Ba as BaseSearchSelect, Si as BaseSegmentedControl, pi as BaseSelect, nr as BaseSidebar, go as BaseSidebarUser, Ri as BaseSpecFields, Ht as BaseSpinner, Vi as BaseStatBreakdown, ro as BaseStatCard, ai as BaseStatusPill, Ai as BaseTable, Nn as BaseTextInputModal, Gt as BaseToast, J as BaseToastEnum, oo as BaseToggle, Tr as BaseToolbarButton, qt as ColoredSquares, W as ColorsEnums, Xt as EarningsCard, tn as EuroAmount, at as LineEnum, sn as Pagination, Y as PositioningEnum, fn as TrendArrow, ws as buildSpecParams, Es as computePnL, Ts as firstInvalidNumericSpec, gs as fmtBytes, ps as fmtCalendarDate, ms as fmtCalendarDateTime, as as fmtDate, ss as fmtDateShort, os as fmtDateTime, cs as fmtDateTimeMs, ys as fmtDuration, fs as fmtMoney, hs as fmtMsAsSeconds, is as fmtNumber, us as fmtPct, ls as fmtPrice, ds as fmtUsd, _s as formatJson, Bo as getBaseColor, Vo as getBaseColorOf, He as humanizeEnum, Ue as humanizeTextVNodes, Re as initTheme, Io as isAbortError, ts as isSafeHref, bs as isValidAbsoluteUrl, Cs as isValidBase64, xs as isValidJson, Ss as isValidXml, Go as methodBadgeBright, Wo as methodBadgeSolid, qo as methodBadgeTinted, Zo as rowKeyMissing, Xo as rowValueMissing, rs as sanitizeHtml, Lo as stableStringify, Jo as statusBadgeSoft, Ko as statusBadgeSolid, Yo as statusBadgeTinted, vs as stringifyValue, Ao as useDebouncedRef, Ro as useDirtyState, pn as useEscapeKey, No as useFieldClasses, Fo as useLatestRequest, Rn as useMobileSidebar, Gn as useNotifications, Po as usePolling, Mo as useQueryParamSync, Hn as useSidebarCollapse, U as useTheme, X as useThemeClasses, jo as useToast };
4541
+ export { B as AlertEnum, Or as BaseActionButton, Ve as BaseAlert, vr as BaseAppLayout, Do as BaseAuthLayout, Ge as BaseBadge, Wo as BaseBadgeEnum, xa as BaseBarDistribution, Ao as BaseBooleanBadge, Ye as BaseBreadcrumb, q as BaseButton, G as BaseButtonEnum, K as BaseButtonSizeEnum, $a as BaseCard, ho as BaseCheckbox, ti as BaseChipButton, li as BaseCodeBlock, Tn as BaseCollapsibleSection, kn as BaseConfirmModal, Ar as BaseCopyButton, oa as BaseCredentialsForm, Ia as BaseDateTimePicker, Po as BaseDetailList, vi as BaseDropdown, hr as BaseEntityPickerModal, io as BaseField, ci as BaseFileDropzone, Ui as BaseFilterChip, Pr as BaseGoogleSignInButton, Aa as BaseGroupedChecklist, Fa as BaseIdChip, di as BaseInput, ct as BaseLine, lt as BaseLoginEnum, Kr as BaseLoginForm, Mt as BaseLogo, J as BaseLogoEnum, zt as BaseModal, Nt as BaseModalEnum, Sn as BaseModalShell, In as BaseNotFoundPage, $r as BaseNotificationPanel, Sr as BasePageHeader, ga as BasePillPickerModal, ni as BaseRemoveButton, Bt as BaseRow, Ga as BaseSearchSelect, Si as BaseSegmentedControl, pi as BaseSelect, nr as BaseSidebar, xo as BaseSidebarUser, Ri as BaseSpecFields, Vt as BaseSpinner, Vi as BaseStatBreakdown, co as BaseStatCard, ai as BaseStatusPill, Ai as BaseTable, Nn as BaseTextInputModal, Gt as BaseToast, Y as BaseToastEnum, fo as BaseToggle, Tr as BaseToolbarButton, qt as ColoredSquares, W as ColorsEnums, Xt as EarningsCard, tn as EuroAmount, it as LineEnum, sn as Pagination, Ht as PositioningEnum, fn as TrendArrow, Ns as buildSpecParams, Fs as computePnL, bs as currencySymbol, Ps as firstInvalidNumericSpec, Ts as fmtBytes, Ss as fmtCalendarDate, Cs as fmtCalendarDateTime, xs as fmtCurrencyAmount, us as fmtDate, fs as fmtDateShort, ds as fmtDateTime, ps as fmtDateTimeMs, Os as fmtDuration, _s as fmtMoney, ws as fmtMsAsSeconds, ls as fmtNumber, hs as fmtPct, ms as fmtPrice, gs as fmtUsd, Es as formatJson, Go as getBaseColor, Ko as getBaseColorOf, He as humanizeEnum, Ue as humanizeTextVNodes, Re as initTheme, Vo as isAbortError, os as isSafeHref, ks as isValidAbsoluteUrl, Ms as isValidBase64, As as isValidJson, js as isValidXml, Xo as methodBadgeBright, Yo as methodBadgeSolid, Qo as methodBadgeTinted, ns as rowKeyMissing, ts as rowValueMissing, cs as sanitizeHtml, Ho as stableStringify, $o as statusBadgeSoft, Zo as statusBadgeSolid, es as statusBadgeTinted, Ds as stringifyValue, Fo as useDebouncedRef, Uo as useDirtyState, pn as useEscapeKey, Ro as useFieldClasses, Bo as useLatestRequest, Rn as useMobileSidebar, Gn as useNotifications, zo as usePolling, Lo as useQueryParamSync, Hn as useSidebarCollapse, U as useTheme, X as useThemeClasses, Io as useToast };