jett.admin.npmpackage 1.0.21 → 1.0.23

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/index.css CHANGED
@@ -57,6 +57,9 @@
57
57
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
58
58
  --default-font-family: var(--font-sans);
59
59
  --default-mono-font-family: var(--font-mono);
60
+ --color-primary: rgb(63, 63, 70);
61
+ --color-accent: rgb(244, 244, 245);
62
+ --color-secondary: rgb(0, 0, 0);
60
63
  }
61
64
  }
62
65
  @layer base {
@@ -587,6 +590,9 @@
587
590
  .bg-green-100 {
588
591
  background-color: var(--color-green-100);
589
592
  }
593
+ .bg-primary {
594
+ background-color: var(--color-primary);
595
+ }
590
596
  .bg-red-50 {
591
597
  background-color: var(--color-red-50);
592
598
  }
@@ -689,12 +695,12 @@
689
695
  .text-\[\#3f3f46cc\] {
690
696
  color: #3f3f46cc;
691
697
  }
692
- .text-\[\#18181b\] {
693
- color: #18181b;
694
- }
695
698
  .text-\[\#737373\] {
696
699
  color: #737373;
697
700
  }
701
+ .text-accent {
702
+ color: var(--color-accent);
703
+ }
698
704
  .text-black {
699
705
  color: var(--color-black);
700
706
  }
@@ -713,12 +719,18 @@
713
719
  .text-green-800 {
714
720
  color: var(--color-green-800);
715
721
  }
722
+ .text-primary {
723
+ color: var(--color-primary);
724
+ }
716
725
  .text-red-500 {
717
726
  color: var(--color-red-500);
718
727
  }
719
728
  .text-red-800 {
720
729
  color: var(--color-red-800);
721
730
  }
731
+ .text-secondary {
732
+ color: var(--color-secondary);
733
+ }
722
734
  .text-white {
723
735
  color: var(--color-white);
724
736
  }
@@ -828,14 +840,19 @@
828
840
  -webkit-user-select: none;
829
841
  user-select: none;
830
842
  }
831
- .peer-checked\:border-black {
843
+ .\*\:text-primary {
844
+ :is(& > *) {
845
+ color: var(--color-primary);
846
+ }
847
+ }
848
+ .peer-checked\:border-primary {
832
849
  &:is(:where(.peer):checked ~ *) {
833
- border-color: var(--color-black);
850
+ border-color: var(--color-primary);
834
851
  }
835
852
  }
836
- .peer-checked\:bg-black {
853
+ .peer-checked\:bg-primary {
837
854
  &:is(:where(.peer):checked ~ *) {
838
- background-color: var(--color-black);
855
+ background-color: var(--color-primary);
839
856
  }
840
857
  }
841
858
  .focus-within\:outline-2 {
@@ -861,17 +878,10 @@
861
878
  }
862
879
  }
863
880
  }
864
- .hover\:bg-\[\#f3f4f6\] {
865
- &:hover {
866
- @media (hover: hover) {
867
- background-color: #f3f4f6;
868
- }
869
- }
870
- }
871
- .hover\:bg-\[\#f4f4f5\] {
881
+ .hover\:bg-accent {
872
882
  &:hover {
873
883
  @media (hover: hover) {
874
- background-color: #f4f4f5;
884
+ background-color: var(--color-accent);
875
885
  }
876
886
  }
877
887
  }
@@ -1001,6 +1011,15 @@
1001
1011
  }
1002
1012
  }
1003
1013
  }
1014
+ .dark\:hover\:bg-accent {
1015
+ &:where(.dark, .dark *) {
1016
+ &:hover {
1017
+ @media (hover: hover) {
1018
+ background-color: var(--color-accent);
1019
+ }
1020
+ }
1021
+ }
1022
+ }
1004
1023
  }
1005
1024
  @property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
1006
1025
  @property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
package/dist/index.js CHANGED
@@ -57,7 +57,7 @@ function cn(...inputs) {
57
57
  var import_react = __toESM(require("react"));
58
58
  var variantStyles = {
59
59
  PRIMARY: "bg-white",
60
- SECONDARY: "bg-black text-white",
60
+ SECONDARY: "bg-primary text-white",
61
61
  DEFAULT: "bg-white text-black hover:bg-gray-100",
62
62
  DANGER: "bg-[#ef4444] text-white"
63
63
  };
@@ -222,7 +222,7 @@ var CustomCheckbox = ({ onChange, checked }) => {
222
222
  ), /* @__PURE__ */ import_react3.default.createElement(
223
223
  "span",
224
224
  {
225
- className: "\r\n w-4 h-4 flex items-center justify-center border-2 border-gray-400 rounded \r\n peer-checked:bg-black peer-checked:border-black\r\n transition-colors\r\n "
225
+ className: "\r\n w-4 h-4 flex items-center justify-center border-2 border-gray-400 rounded \r\n peer-checked:bg-primary peer-checked:border-primary\r\n transition-colors\r\n "
226
226
  },
227
227
  checked && /* @__PURE__ */ import_react3.default.createElement(
228
228
  "svg",
@@ -445,6 +445,7 @@ var import_react11 = __toESM(require("react"));
445
445
 
446
446
  // ConstantUI.js
447
447
  var import_lucide_react4 = require("lucide-react");
448
+ var encodedAuthData = localStorage.getItem("encodedAuthData");
448
449
  var navItemsConstant = [
449
450
  {
450
451
  Icon: import_lucide_react4.Home,
@@ -539,19 +540,27 @@ var navItemsConstant = [
539
540
  {
540
541
  label: "Pricing Policy",
541
542
  onClick: () => {
542
- window.location.href = "/pricing/";
543
- }
543
+ },
544
+ isDropDown: true,
545
+ options: [
546
+ { label: "Pricing Policy", onClick: () => {
547
+ window.location.href = "/policy/pricing-policy?auth=" + encodedAuthData;
548
+ } },
549
+ { label: "Travel Policy", onClick: () => {
550
+ window.location.href = "/policy/travel-policy?auth=" + encodedAuthData;
551
+ } }
552
+ ]
544
553
  },
545
554
  {
546
555
  label: "Offers",
547
556
  onClick: () => {
548
- window.location.href = "/offers/";
557
+ window.location.href = "/offers?auth=" + encodedAuthData;
549
558
  }
550
559
  },
551
560
  {
552
561
  label: "Vouchers",
553
562
  onClick: () => {
554
- window.location.href = "https://devadmin.musafirbiz.com/vouchers/";
563
+ window.location.href = "https://devadmin.musafirbiz.com/vouchers?auth=" + encodedAuthData;
555
564
  }
556
565
  },
557
566
  {
@@ -581,40 +590,25 @@ var navItemsConstant = [
581
590
  onClick: () => {
582
591
  },
583
592
  options: [
584
- {
585
- label: "Admin Users",
586
- onClick: () => {
587
- window.location.href = "/users/";
588
- }
589
- },
593
+ { label: "Admin Users", onClick: () => {
594
+ window.location.href = "/users/";
595
+ } },
590
596
  { label: "Admin User Attributes", onClick: () => {
591
597
  } }
592
598
  ]
593
599
  },
594
- {
595
- label: "TMC Markets",
596
- onClick: () => {
597
- window.location.href = "/market/";
598
- }
599
- },
600
- {
601
- label: "Permissions",
602
- onClick: () => {
603
- window.location.href = "/permissions/";
604
- }
605
- },
606
- {
607
- label: "Report Configurations",
608
- onClick: () => {
609
- window.location.href = "/reports/";
610
- }
611
- },
612
- {
613
- label: "Whitelabelling",
614
- onClick: () => {
615
- window.location.href = "/whitelabelling/";
616
- }
617
- }
600
+ { label: "TMC Markets", onClick: () => {
601
+ window.location.href = "/market/";
602
+ } },
603
+ { label: "Permissions", onClick: () => {
604
+ window.location.href = "/permissions/";
605
+ } },
606
+ { label: "Report Configurations", onClick: () => {
607
+ window.location.href = "/reports/";
608
+ } },
609
+ { label: "Whitelabelling", onClick: () => {
610
+ window.location.href = "/whitelabelling/";
611
+ } }
618
612
  ]
619
613
  }
620
614
  ];
@@ -632,10 +626,11 @@ var additionalItemsConstant = [
632
626
  var sidebarlogo_default = "./sidebarlogo-S4TNJORM.webp";
633
627
 
634
628
  // src/sideBar/SideBar.jsx
629
+ var import_js_cookie = __toESM(require("js-cookie"));
635
630
  var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) => {
636
631
  var _a, _b;
637
632
  const [authData, setAuthData] = (0, import_react11.useState)(null);
638
- const handleIconRotate = (e, index, additionalKey) => {
633
+ const handleIconRotate = (e, index, additionalKey, parentIndex) => {
639
634
  let dropDownIcon = e.currentTarget.children[2];
640
635
  if (!dropDownIcon) return;
641
636
  if (dropDownIcon.classList.contains("rotate-180")) {
@@ -644,7 +639,7 @@ var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) =>
644
639
  dropDownIcon.classList.add("transition-all");
645
640
  dropDownIcon.classList.add("rotate-180");
646
641
  }
647
- const optionsContainer = document.getElementById(`dropDownOptions-${index}${additionalKey ? `-${additionalKey}` : ""}`);
642
+ const optionsContainer = document.getElementById(`dropDownOptions-${index}${additionalKey ? `-${additionalKey}` : ""}${parentIndex ? `-${parentIndex}` : ""}`);
648
643
  if (!optionsContainer) return;
649
644
  optionsContainer.classList.add("transition-all");
650
645
  if (optionsContainer.classList.contains("max-h-0")) {
@@ -659,9 +654,11 @@ var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) =>
659
654
  const params = new URLSearchParams(window.location.search);
660
655
  let authData2 = params.get("authData");
661
656
  if (authData2) {
657
+ localStorage.setItem("encodedAuthData", authData2);
662
658
  authData2 = atob(authData2);
663
659
  localStorage.setItem("authData", authData2);
664
- setAuthData(JSON.parse(authData2));
660
+ const parsedAuthData = JSON.parse(authData2);
661
+ setAuthData(parsedAuthData);
665
662
  params.delete("authData");
666
663
  const newUrl = window.location.pathname + (params.toString() ? "?" + params.toString() : "");
667
664
  window.history.replaceState({}, document.title, newUrl);
@@ -680,28 +677,28 @@ var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) =>
680
677
  const navItemsLocal = navItems ?? navItemsConstant;
681
678
  const additionalItemsLocal = additionalItems ?? additionalItemsConstant;
682
679
  const sideBarLogoLocal = sideBarLogo ?? sidebarlogo_default;
683
- return /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-[320px] transition-all ease-in-out delay-100 bg-transparent border-r border-gray-200 dark:border-[#303036] flex flex-col p-4 h-full max-h-[100vh]" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "p-2 mb-4" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-[108px] h-[40px] flex items-center \r\n justify-center" }, /* @__PURE__ */ import_react11.default.createElement("img", { src: sideBarLogoLocal, alt: "sidebarLogo", width: 108, height: 40 }))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex ml-[20px] items-center gap-2 mb-2 dark:text-[#f4f4f5cc]" }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react5.Globe, { width: 20, height: 20 }), /* @__PURE__ */ import_react11.default.createElement("h3", { className: "text-[#3f3f46cc] dark:text-[#f4f4f5cc] font-medium" }, "Data Centers")), /* @__PURE__ */ import_react11.default.createElement("div", null, /* @__PURE__ */ import_react11.default.createElement(CustomAutocomplete, { options: [] }))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "overflow-y-auto" }, /* @__PURE__ */ import_react11.default.createElement("div", null, navItemsLocal == null ? void 0 : navItemsLocal.map((item, index) => {
684
- return /* @__PURE__ */ import_react11.default.createElement("div", { key: index, className: "" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center gap-3 p-2 hover:bg-[#f3f4f6] dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] cursor-pointer rounded-lg ml-2", onClick: (e) => {
680
+ return /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-[320px] transition-all ease-in-out delay-100 bg-transparent border-r border-gray-200 dark:border-[#303036] flex flex-col p-4 h-full max-h-[100vh] *:text-primary" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "p-2 mb-4" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-[108px] h-[40px] flex items-center \r\n justify-center" }, /* @__PURE__ */ import_react11.default.createElement("img", { src: sideBarLogoLocal, alt: "sidebarLogo", width: 108, height: 40 }))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex ml-[20px] items-center gap-2 mb-2 dark:text-[#f4f4f5cc]" }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react5.Globe, { width: 20, height: 20 }), /* @__PURE__ */ import_react11.default.createElement("h3", { className: "text-[#3f3f46cc] dark:text-[#f4f4f5cc] font-medium" }, "Data Centers")), /* @__PURE__ */ import_react11.default.createElement("div", null, /* @__PURE__ */ import_react11.default.createElement(CustomAutocomplete, { options: [] }))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "overflow-y-auto" }, /* @__PURE__ */ import_react11.default.createElement("div", null, navItemsLocal == null ? void 0 : navItemsLocal.map((item, index) => {
681
+ return /* @__PURE__ */ import_react11.default.createElement("div", { key: index, className: "" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center gap-3 p-2 hover:bg-accent dark:hover:bg-accent dark:text-[#f4f4f5cc] cursor-pointer rounded-lg ml-2", onClick: (e) => {
685
682
  item.onClick && item.onClick(e);
686
683
  handleIconRotate(e, index);
687
- } }, /* @__PURE__ */ import_react11.default.createElement(item.Icon, { width: 20, height: 20 }), /* @__PURE__ */ import_react11.default.createElement("span", { className: "font-medium text-[#3f3f46cc] dark:text-[#f4f4f5cc]" }, item.label), item.isDropDown && /* @__PURE__ */ import_react11.default.createElement("div", { className: `ml-auto transition-all delay-75` }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react5.ChevronDown, { width: 20, height: 20 }))), item.options && item.options.length > 0 && /* @__PURE__ */ import_react11.default.createElement("div", { className: "ml-[20px] max-h-0 overflow-hidden flex flex-col", id: `dropDownOptions-${index}` }, item.options.map((options, optionsIndex) => {
684
+ } }, /* @__PURE__ */ import_react11.default.createElement(item.Icon, { width: 20, height: 20 }), /* @__PURE__ */ import_react11.default.createElement("span", { className: "font-medium text-secondary dark:text-[#f4f4f5cc]" }, item.label), item.isDropDown && /* @__PURE__ */ import_react11.default.createElement("div", { className: `ml-auto transition-all delay-75` }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react5.ChevronDown, { width: 20, height: 20 }))), item.options && item.options.length > 0 && /* @__PURE__ */ import_react11.default.createElement("div", { className: "ml-[20px] max-h-0 overflow-hidden flex flex-col", id: `dropDownOptions-${index}` }, item.options.map((options, optionsIndex) => {
688
685
  return /* @__PURE__ */ import_react11.default.createElement("div", { className: "" }, /* @__PURE__ */ import_react11.default.createElement(
689
686
  "div",
690
687
  {
691
- className: "flex items-center gap-3 p-2 hover:bg-[#f3f4f6] dark:hover:bg-[#27272a] cursor-pointer",
688
+ className: "flex items-center gap-3 p-2 hover:bg-accent dark:hover:bg-[#27272a] cursor-pointer",
692
689
  onClick: (e) => {
693
690
  options.onClick && options.onClick();
694
- options.isDropDown && handleIconRotate(e, optionsIndex, "subOption");
691
+ options.isDropDown && handleIconRotate(e, optionsIndex, "subOption", index);
695
692
  }
696
693
  },
697
694
  /* @__PURE__ */ import_react11.default.createElement("div", null),
698
- /* @__PURE__ */ import_react11.default.createElement("span", { className: "font-medium text-sm text-[#3f3f46cc] dark:text-[#f4f4f5cc]" }, options.label),
695
+ /* @__PURE__ */ import_react11.default.createElement("span", { className: "font-medium text-sm text-secondary dark:text-[#f4f4f5cc]" }, options.label),
699
696
  options.isDropDown && /* @__PURE__ */ import_react11.default.createElement("div", { className: `ml-auto transition-all delay-75` }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react5.ChevronDown, { width: 20, height: 20 }))
700
- ), options.options && options.options.length > 1 && /* @__PURE__ */ import_react11.default.createElement("div", { className: "ml-[20px] max-h-0 overflow-hidden flex flex-col", id: `dropDownOptions-${optionsIndex}-subOption` }, options.options.map((subOption) => {
697
+ ), options.options && options.options.length > 1 && /* @__PURE__ */ import_react11.default.createElement("div", { className: "ml-[20px] max-h-0 overflow-hidden flex flex-col", id: `dropDownOptions-${optionsIndex}-subOption-${index}` }, options.options.map((subOption) => {
701
698
  return /* @__PURE__ */ import_react11.default.createElement(
702
699
  "div",
703
700
  {
704
- className: "p-2 rounded-lg hover:bg-gray-100 text-[#3f3f46cc] dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] font-medium text-sm",
701
+ className: "p-2 rounded-lg hover:bg-accent dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] font-medium text-sm text-secondary",
705
702
  onClick: (e) => {
706
703
  subOption.onClick && subOption.onClick();
707
704
  }
@@ -711,10 +708,10 @@ var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) =>
711
708
  })));
712
709
  })));
713
710
  })), /* @__PURE__ */ import_react11.default.createElement("div", { className: "border-t border-[#e5e5e5] dark:border-[#303036] mt-4" }, (additionalItemsLocal == null ? void 0 : additionalItemsLocal.length) > 0 && additionalItemsLocal.map((item, index) => {
714
- return /* @__PURE__ */ import_react11.default.createElement("div", { key: index, className: "flex items-center gap-3 p-2 hover:bg-[#f3f4f6] dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] cursor-pointer", onClick: () => item.onClick && item.onClick() }, /* @__PURE__ */ import_react11.default.createElement(item.Icon, { width: 20, height: 20 }), /* @__PURE__ */ import_react11.default.createElement("span", { className: "font-medium text-[#3f3f46cc] dark:text-[#f4f4f5cc]" }, item.label));
715
- }))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "mt-auto bg-[#fafafa] dark:bg-transparent sticky bottom-0 pt-2" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center justify-between p-2 rounded-lg hover:bg-[#f4f4f5] dark:hover:bg-[#27272a] cursor-pointer", onClick: () => {
711
+ return /* @__PURE__ */ import_react11.default.createElement("div", { key: index, className: "flex items-center gap-3 p-2 hover:bg-accent dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] cursor-pointer", onClick: () => item.onClick && item.onClick() }, /* @__PURE__ */ import_react11.default.createElement(item.Icon, { width: 20, height: 20 }), /* @__PURE__ */ import_react11.default.createElement("span", { className: "font-medium text-primary dark:text-[#f4f4f5cc]" }, item.label));
712
+ }))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "mt-auto bg-[#fafafa] dark:bg-transparent sticky bottom-0 pt-2" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center justify-between p-2 rounded-lg hover:bg-accent dark:hover:bg-[#27272a] cursor-pointer", onClick: () => {
716
713
  window.location.href = "/profile";
717
- } }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react11.default.createElement("span", { className: "relative flex shrink-0 overflow-hidden rounded-full h-10 w-10" }, /* @__PURE__ */ import_react11.default.createElement("span", { className: "flex h-full w-full items-center justify-center rounded-full bg-muted" }, ((_a = authData == null ? void 0 : authData.userInfo) == null ? void 0 : _a.UserName) ? authData.userInfo.UserName.split("")[0] : "A")), /* @__PURE__ */ import_react11.default.createElement("div", null, /* @__PURE__ */ import_react11.default.createElement("p", { className: "font-semibold" }, ((_b = authData == null ? void 0 : authData.userInfo) == null ? void 0 : _b.UserName) ? authData.userInfo.UserName : "Admin User"), /* @__PURE__ */ import_react11.default.createElement("p", { className: "text-sm text-[#3f3f46cc] dark:text-[#f4f4f5cc]" }, role))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "text-[#18181b] dark:text-[#f4f4f5cc]" }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react5.LogOut, null)))));
714
+ } }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react11.default.createElement("span", { className: "relative flex shrink-0 overflow-hidden rounded-full h-10 w-10" }, /* @__PURE__ */ import_react11.default.createElement("span", { className: "flex h-full w-full items-center justify-center rounded-full bg-muted" }, ((_a = authData == null ? void 0 : authData.userInfo) == null ? void 0 : _a.UserName) ? authData.userInfo.UserName.split("")[0] : "A")), /* @__PURE__ */ import_react11.default.createElement("div", null, /* @__PURE__ */ import_react11.default.createElement("p", { className: "font-semibold" }, ((_b = authData == null ? void 0 : authData.userInfo) == null ? void 0 : _b.UserName) ? authData.userInfo.UserName : "Admin User"), /* @__PURE__ */ import_react11.default.createElement("p", { className: "text-sm dark:text-[#f4f4f5cc]" }, role))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "dark:text-[#f4f4f5cc]" }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react5.LogOut, null)))));
718
715
  };
719
716
 
720
717
  // src/RightSheet/RightSheet.jsx
@@ -772,10 +769,10 @@ var RightSheet = ({
772
769
  // src/Table/CustomTable.jsx
773
770
  var import_react13 = __toESM(require("react"));
774
771
  var CustomTable = ({ tableHeader, setIsAllChecked, isAllChecked, children }) => {
775
- return /* @__PURE__ */ import_react13.default.createElement("div", { className: "border border-[#e5e5e5] rounded-lg overflow-x-auto" }, /* @__PURE__ */ import_react13.default.createElement("div", { className: "w-full relative overflow-x-auto" }, /* @__PURE__ */ import_react13.default.createElement("table", { className: "w-full caption-bottom text-sm overflow-x-auto bg-white table-fixed border-collapse" }, /* @__PURE__ */ import_react13.default.createElement("thead", { className: "border-b border-[#e5e5e5]" }, /* @__PURE__ */ import_react13.default.createElement("tr", { className: "transition-colors text-[#737373] hover:bg-muted/50 \r\n data-[state=selected]:bg-muted" }, /* @__PURE__ */ import_react13.default.createElement("th", { className: "px-4 py-3 text-left w-[50px]" }, /* @__PURE__ */ import_react13.default.createElement(CustomCheckbox, { checked: isAllChecked, onChange: () => {
772
+ return /* @__PURE__ */ import_react13.default.createElement("div", { className: "border border-[#e5e5e5] rounded-lg overflow-x-auto" }, /* @__PURE__ */ import_react13.default.createElement("div", { className: "w-full relative overflow-x-auto" }, /* @__PURE__ */ import_react13.default.createElement("table", { className: "w-full caption-bottom text-sm overflow-x-auto bg-white table-fixed border-collapse" }, /* @__PURE__ */ import_react13.default.createElement("thead", { className: "border-b border-[#e5e5e5] text-accent" }, /* @__PURE__ */ import_react13.default.createElement("tr", { className: "transition-colors text-[#737373] hover:bg-muted/50 \r\n data-[state=selected]:bg-muted" }, /* @__PURE__ */ import_react13.default.createElement("th", { className: "px-4 py-3 text-left w-[50px] text-accent" }, /* @__PURE__ */ import_react13.default.createElement(CustomCheckbox, { checked: isAllChecked, onChange: () => {
776
773
  setIsAllChecked(!isAllChecked);
777
774
  } })), tableHeader.map((header, index) => {
778
- return /* @__PURE__ */ import_react13.default.createElement("th", { className: `px-4 py-3 text-sm font-medium ${index == tableHeader.length - 1 ? "text-right" : "text-left"}`, key: header + index }, header);
775
+ return /* @__PURE__ */ import_react13.default.createElement("th", { className: `px-4 py-3 text-sm text-accent font-medium ${index == tableHeader.length - 1 ? "text-right" : "text-left"}`, key: header + index }, header);
779
776
  }))), /* @__PURE__ */ import_react13.default.createElement("tbody", null, children))));
780
777
  };
781
778
 
package/dist/index.mjs CHANGED
@@ -9,7 +9,7 @@ function cn(...inputs) {
9
9
  import React from "react";
10
10
  var variantStyles = {
11
11
  PRIMARY: "bg-white",
12
- SECONDARY: "bg-black text-white",
12
+ SECONDARY: "bg-primary text-white",
13
13
  DEFAULT: "bg-white text-black hover:bg-gray-100",
14
14
  DANGER: "bg-[#ef4444] text-white"
15
15
  };
@@ -174,7 +174,7 @@ var CustomCheckbox = ({ onChange, checked }) => {
174
174
  ), /* @__PURE__ */ React3.createElement(
175
175
  "span",
176
176
  {
177
- className: "\r\n w-4 h-4 flex items-center justify-center border-2 border-gray-400 rounded \r\n peer-checked:bg-black peer-checked:border-black\r\n transition-colors\r\n "
177
+ className: "\r\n w-4 h-4 flex items-center justify-center border-2 border-gray-400 rounded \r\n peer-checked:bg-primary peer-checked:border-primary\r\n transition-colors\r\n "
178
178
  },
179
179
  checked && /* @__PURE__ */ React3.createElement(
180
180
  "svg",
@@ -396,21 +396,8 @@ import { ChevronDown as ChevronDown2, Globe as Globe2, LogOut } from "lucide-rea
396
396
  import React11, { useEffect, useState as useState2 } from "react";
397
397
 
398
398
  // ConstantUI.js
399
- import {
400
- Home,
401
- BaggageClaim,
402
- Users,
403
- Banknote,
404
- Globe,
405
- TrendingUp,
406
- FileText,
407
- FileKey2,
408
- LifeBuoy,
409
- Cog,
410
- Building,
411
- Handshake,
412
- DollarSign
413
- } from "lucide-react";
399
+ import { Home, BaggageClaim, Users, Banknote, Globe, TrendingUp, FileText, FileKey2, LifeBuoy, Cog, Building, Handshake, DollarSign } from "lucide-react";
400
+ var encodedAuthData = localStorage.getItem("encodedAuthData");
414
401
  var navItemsConstant = [
415
402
  {
416
403
  Icon: Home,
@@ -505,19 +492,27 @@ var navItemsConstant = [
505
492
  {
506
493
  label: "Pricing Policy",
507
494
  onClick: () => {
508
- window.location.href = "/pricing/";
509
- }
495
+ },
496
+ isDropDown: true,
497
+ options: [
498
+ { label: "Pricing Policy", onClick: () => {
499
+ window.location.href = "/policy/pricing-policy?auth=" + encodedAuthData;
500
+ } },
501
+ { label: "Travel Policy", onClick: () => {
502
+ window.location.href = "/policy/travel-policy?auth=" + encodedAuthData;
503
+ } }
504
+ ]
510
505
  },
511
506
  {
512
507
  label: "Offers",
513
508
  onClick: () => {
514
- window.location.href = "/offers/";
509
+ window.location.href = "/offers?auth=" + encodedAuthData;
515
510
  }
516
511
  },
517
512
  {
518
513
  label: "Vouchers",
519
514
  onClick: () => {
520
- window.location.href = "https://devadmin.musafirbiz.com/vouchers/";
515
+ window.location.href = "https://devadmin.musafirbiz.com/vouchers?auth=" + encodedAuthData;
521
516
  }
522
517
  },
523
518
  {
@@ -547,40 +542,25 @@ var navItemsConstant = [
547
542
  onClick: () => {
548
543
  },
549
544
  options: [
550
- {
551
- label: "Admin Users",
552
- onClick: () => {
553
- window.location.href = "/users/";
554
- }
555
- },
545
+ { label: "Admin Users", onClick: () => {
546
+ window.location.href = "/users/";
547
+ } },
556
548
  { label: "Admin User Attributes", onClick: () => {
557
549
  } }
558
550
  ]
559
551
  },
560
- {
561
- label: "TMC Markets",
562
- onClick: () => {
563
- window.location.href = "/market/";
564
- }
565
- },
566
- {
567
- label: "Permissions",
568
- onClick: () => {
569
- window.location.href = "/permissions/";
570
- }
571
- },
572
- {
573
- label: "Report Configurations",
574
- onClick: () => {
575
- window.location.href = "/reports/";
576
- }
577
- },
578
- {
579
- label: "Whitelabelling",
580
- onClick: () => {
581
- window.location.href = "/whitelabelling/";
582
- }
583
- }
552
+ { label: "TMC Markets", onClick: () => {
553
+ window.location.href = "/market/";
554
+ } },
555
+ { label: "Permissions", onClick: () => {
556
+ window.location.href = "/permissions/";
557
+ } },
558
+ { label: "Report Configurations", onClick: () => {
559
+ window.location.href = "/reports/";
560
+ } },
561
+ { label: "Whitelabelling", onClick: () => {
562
+ window.location.href = "/whitelabelling/";
563
+ } }
584
564
  ]
585
565
  }
586
566
  ];
@@ -598,10 +578,11 @@ var additionalItemsConstant = [
598
578
  var sidebarlogo_default = "./sidebarlogo-S4TNJORM.webp";
599
579
 
600
580
  // src/sideBar/SideBar.jsx
581
+ import Cookies from "js-cookie";
601
582
  var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) => {
602
583
  var _a, _b;
603
584
  const [authData, setAuthData] = useState2(null);
604
- const handleIconRotate = (e, index, additionalKey) => {
585
+ const handleIconRotate = (e, index, additionalKey, parentIndex) => {
605
586
  let dropDownIcon = e.currentTarget.children[2];
606
587
  if (!dropDownIcon) return;
607
588
  if (dropDownIcon.classList.contains("rotate-180")) {
@@ -610,7 +591,7 @@ var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) =>
610
591
  dropDownIcon.classList.add("transition-all");
611
592
  dropDownIcon.classList.add("rotate-180");
612
593
  }
613
- const optionsContainer = document.getElementById(`dropDownOptions-${index}${additionalKey ? `-${additionalKey}` : ""}`);
594
+ const optionsContainer = document.getElementById(`dropDownOptions-${index}${additionalKey ? `-${additionalKey}` : ""}${parentIndex ? `-${parentIndex}` : ""}`);
614
595
  if (!optionsContainer) return;
615
596
  optionsContainer.classList.add("transition-all");
616
597
  if (optionsContainer.classList.contains("max-h-0")) {
@@ -625,9 +606,11 @@ var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) =>
625
606
  const params = new URLSearchParams(window.location.search);
626
607
  let authData2 = params.get("authData");
627
608
  if (authData2) {
609
+ localStorage.setItem("encodedAuthData", authData2);
628
610
  authData2 = atob(authData2);
629
611
  localStorage.setItem("authData", authData2);
630
- setAuthData(JSON.parse(authData2));
612
+ const parsedAuthData = JSON.parse(authData2);
613
+ setAuthData(parsedAuthData);
631
614
  params.delete("authData");
632
615
  const newUrl = window.location.pathname + (params.toString() ? "?" + params.toString() : "");
633
616
  window.history.replaceState({}, document.title, newUrl);
@@ -646,28 +629,28 @@ var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) =>
646
629
  const navItemsLocal = navItems ?? navItemsConstant;
647
630
  const additionalItemsLocal = additionalItems ?? additionalItemsConstant;
648
631
  const sideBarLogoLocal = sideBarLogo ?? sidebarlogo_default;
649
- return /* @__PURE__ */ React11.createElement("div", { className: "w-[320px] transition-all ease-in-out delay-100 bg-transparent border-r border-gray-200 dark:border-[#303036] flex flex-col p-4 h-full max-h-[100vh]" }, /* @__PURE__ */ React11.createElement("div", { className: "p-2 mb-4" }, /* @__PURE__ */ React11.createElement("div", { className: "w-[108px] h-[40px] flex items-center \r\n justify-center" }, /* @__PURE__ */ React11.createElement("img", { src: sideBarLogoLocal, alt: "sidebarLogo", width: 108, height: 40 }))), /* @__PURE__ */ React11.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React11.createElement("div", { className: "flex ml-[20px] items-center gap-2 mb-2 dark:text-[#f4f4f5cc]" }, /* @__PURE__ */ React11.createElement(Globe2, { width: 20, height: 20 }), /* @__PURE__ */ React11.createElement("h3", { className: "text-[#3f3f46cc] dark:text-[#f4f4f5cc] font-medium" }, "Data Centers")), /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement(CustomAutocomplete, { options: [] }))), /* @__PURE__ */ React11.createElement("div", { className: "overflow-y-auto" }, /* @__PURE__ */ React11.createElement("div", null, navItemsLocal == null ? void 0 : navItemsLocal.map((item, index) => {
650
- return /* @__PURE__ */ React11.createElement("div", { key: index, className: "" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3 p-2 hover:bg-[#f3f4f6] dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] cursor-pointer rounded-lg ml-2", onClick: (e) => {
632
+ return /* @__PURE__ */ React11.createElement("div", { className: "w-[320px] transition-all ease-in-out delay-100 bg-transparent border-r border-gray-200 dark:border-[#303036] flex flex-col p-4 h-full max-h-[100vh] *:text-primary" }, /* @__PURE__ */ React11.createElement("div", { className: "p-2 mb-4" }, /* @__PURE__ */ React11.createElement("div", { className: "w-[108px] h-[40px] flex items-center \r\n justify-center" }, /* @__PURE__ */ React11.createElement("img", { src: sideBarLogoLocal, alt: "sidebarLogo", width: 108, height: 40 }))), /* @__PURE__ */ React11.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React11.createElement("div", { className: "flex ml-[20px] items-center gap-2 mb-2 dark:text-[#f4f4f5cc]" }, /* @__PURE__ */ React11.createElement(Globe2, { width: 20, height: 20 }), /* @__PURE__ */ React11.createElement("h3", { className: "text-[#3f3f46cc] dark:text-[#f4f4f5cc] font-medium" }, "Data Centers")), /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement(CustomAutocomplete, { options: [] }))), /* @__PURE__ */ React11.createElement("div", { className: "overflow-y-auto" }, /* @__PURE__ */ React11.createElement("div", null, navItemsLocal == null ? void 0 : navItemsLocal.map((item, index) => {
633
+ return /* @__PURE__ */ React11.createElement("div", { key: index, className: "" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3 p-2 hover:bg-accent dark:hover:bg-accent dark:text-[#f4f4f5cc] cursor-pointer rounded-lg ml-2", onClick: (e) => {
651
634
  item.onClick && item.onClick(e);
652
635
  handleIconRotate(e, index);
653
- } }, /* @__PURE__ */ React11.createElement(item.Icon, { width: 20, height: 20 }), /* @__PURE__ */ React11.createElement("span", { className: "font-medium text-[#3f3f46cc] dark:text-[#f4f4f5cc]" }, item.label), item.isDropDown && /* @__PURE__ */ React11.createElement("div", { className: `ml-auto transition-all delay-75` }, /* @__PURE__ */ React11.createElement(ChevronDown2, { width: 20, height: 20 }))), item.options && item.options.length > 0 && /* @__PURE__ */ React11.createElement("div", { className: "ml-[20px] max-h-0 overflow-hidden flex flex-col", id: `dropDownOptions-${index}` }, item.options.map((options, optionsIndex) => {
636
+ } }, /* @__PURE__ */ React11.createElement(item.Icon, { width: 20, height: 20 }), /* @__PURE__ */ React11.createElement("span", { className: "font-medium text-secondary dark:text-[#f4f4f5cc]" }, item.label), item.isDropDown && /* @__PURE__ */ React11.createElement("div", { className: `ml-auto transition-all delay-75` }, /* @__PURE__ */ React11.createElement(ChevronDown2, { width: 20, height: 20 }))), item.options && item.options.length > 0 && /* @__PURE__ */ React11.createElement("div", { className: "ml-[20px] max-h-0 overflow-hidden flex flex-col", id: `dropDownOptions-${index}` }, item.options.map((options, optionsIndex) => {
654
637
  return /* @__PURE__ */ React11.createElement("div", { className: "" }, /* @__PURE__ */ React11.createElement(
655
638
  "div",
656
639
  {
657
- className: "flex items-center gap-3 p-2 hover:bg-[#f3f4f6] dark:hover:bg-[#27272a] cursor-pointer",
640
+ className: "flex items-center gap-3 p-2 hover:bg-accent dark:hover:bg-[#27272a] cursor-pointer",
658
641
  onClick: (e) => {
659
642
  options.onClick && options.onClick();
660
- options.isDropDown && handleIconRotate(e, optionsIndex, "subOption");
643
+ options.isDropDown && handleIconRotate(e, optionsIndex, "subOption", index);
661
644
  }
662
645
  },
663
646
  /* @__PURE__ */ React11.createElement("div", null),
664
- /* @__PURE__ */ React11.createElement("span", { className: "font-medium text-sm text-[#3f3f46cc] dark:text-[#f4f4f5cc]" }, options.label),
647
+ /* @__PURE__ */ React11.createElement("span", { className: "font-medium text-sm text-secondary dark:text-[#f4f4f5cc]" }, options.label),
665
648
  options.isDropDown && /* @__PURE__ */ React11.createElement("div", { className: `ml-auto transition-all delay-75` }, /* @__PURE__ */ React11.createElement(ChevronDown2, { width: 20, height: 20 }))
666
- ), options.options && options.options.length > 1 && /* @__PURE__ */ React11.createElement("div", { className: "ml-[20px] max-h-0 overflow-hidden flex flex-col", id: `dropDownOptions-${optionsIndex}-subOption` }, options.options.map((subOption) => {
649
+ ), options.options && options.options.length > 1 && /* @__PURE__ */ React11.createElement("div", { className: "ml-[20px] max-h-0 overflow-hidden flex flex-col", id: `dropDownOptions-${optionsIndex}-subOption-${index}` }, options.options.map((subOption) => {
667
650
  return /* @__PURE__ */ React11.createElement(
668
651
  "div",
669
652
  {
670
- className: "p-2 rounded-lg hover:bg-gray-100 text-[#3f3f46cc] dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] font-medium text-sm",
653
+ className: "p-2 rounded-lg hover:bg-accent dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] font-medium text-sm text-secondary",
671
654
  onClick: (e) => {
672
655
  subOption.onClick && subOption.onClick();
673
656
  }
@@ -677,10 +660,10 @@ var AppSideBar = ({ username, role, navItems, additionalItems, sideBarLogo }) =>
677
660
  })));
678
661
  })));
679
662
  })), /* @__PURE__ */ React11.createElement("div", { className: "border-t border-[#e5e5e5] dark:border-[#303036] mt-4" }, (additionalItemsLocal == null ? void 0 : additionalItemsLocal.length) > 0 && additionalItemsLocal.map((item, index) => {
680
- return /* @__PURE__ */ React11.createElement("div", { key: index, className: "flex items-center gap-3 p-2 hover:bg-[#f3f4f6] dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] cursor-pointer", onClick: () => item.onClick && item.onClick() }, /* @__PURE__ */ React11.createElement(item.Icon, { width: 20, height: 20 }), /* @__PURE__ */ React11.createElement("span", { className: "font-medium text-[#3f3f46cc] dark:text-[#f4f4f5cc]" }, item.label));
681
- }))), /* @__PURE__ */ React11.createElement("div", { className: "mt-auto bg-[#fafafa] dark:bg-transparent sticky bottom-0 pt-2" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between p-2 rounded-lg hover:bg-[#f4f4f5] dark:hover:bg-[#27272a] cursor-pointer", onClick: () => {
663
+ return /* @__PURE__ */ React11.createElement("div", { key: index, className: "flex items-center gap-3 p-2 hover:bg-accent dark:hover:bg-[#27272a] dark:text-[#f4f4f5cc] cursor-pointer", onClick: () => item.onClick && item.onClick() }, /* @__PURE__ */ React11.createElement(item.Icon, { width: 20, height: 20 }), /* @__PURE__ */ React11.createElement("span", { className: "font-medium text-primary dark:text-[#f4f4f5cc]" }, item.label));
664
+ }))), /* @__PURE__ */ React11.createElement("div", { className: "mt-auto bg-[#fafafa] dark:bg-transparent sticky bottom-0 pt-2" }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between p-2 rounded-lg hover:bg-accent dark:hover:bg-[#27272a] cursor-pointer", onClick: () => {
682
665
  window.location.href = "/profile";
683
- } }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("span", { className: "relative flex shrink-0 overflow-hidden rounded-full h-10 w-10" }, /* @__PURE__ */ React11.createElement("span", { className: "flex h-full w-full items-center justify-center rounded-full bg-muted" }, ((_a = authData == null ? void 0 : authData.userInfo) == null ? void 0 : _a.UserName) ? authData.userInfo.UserName.split("")[0] : "A")), /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement("p", { className: "font-semibold" }, ((_b = authData == null ? void 0 : authData.userInfo) == null ? void 0 : _b.UserName) ? authData.userInfo.UserName : "Admin User"), /* @__PURE__ */ React11.createElement("p", { className: "text-sm text-[#3f3f46cc] dark:text-[#f4f4f5cc]" }, role))), /* @__PURE__ */ React11.createElement("div", { className: "text-[#18181b] dark:text-[#f4f4f5cc]" }, /* @__PURE__ */ React11.createElement(LogOut, null)))));
666
+ } }, /* @__PURE__ */ React11.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React11.createElement("span", { className: "relative flex shrink-0 overflow-hidden rounded-full h-10 w-10" }, /* @__PURE__ */ React11.createElement("span", { className: "flex h-full w-full items-center justify-center rounded-full bg-muted" }, ((_a = authData == null ? void 0 : authData.userInfo) == null ? void 0 : _a.UserName) ? authData.userInfo.UserName.split("")[0] : "A")), /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement("p", { className: "font-semibold" }, ((_b = authData == null ? void 0 : authData.userInfo) == null ? void 0 : _b.UserName) ? authData.userInfo.UserName : "Admin User"), /* @__PURE__ */ React11.createElement("p", { className: "text-sm dark:text-[#f4f4f5cc]" }, role))), /* @__PURE__ */ React11.createElement("div", { className: "dark:text-[#f4f4f5cc]" }, /* @__PURE__ */ React11.createElement(LogOut, null)))));
684
667
  };
685
668
 
686
669
  // src/RightSheet/RightSheet.jsx
@@ -738,10 +721,10 @@ var RightSheet = ({
738
721
  // src/Table/CustomTable.jsx
739
722
  import React13 from "react";
740
723
  var CustomTable = ({ tableHeader, setIsAllChecked, isAllChecked, children }) => {
741
- return /* @__PURE__ */ React13.createElement("div", { className: "border border-[#e5e5e5] rounded-lg overflow-x-auto" }, /* @__PURE__ */ React13.createElement("div", { className: "w-full relative overflow-x-auto" }, /* @__PURE__ */ React13.createElement("table", { className: "w-full caption-bottom text-sm overflow-x-auto bg-white table-fixed border-collapse" }, /* @__PURE__ */ React13.createElement("thead", { className: "border-b border-[#e5e5e5]" }, /* @__PURE__ */ React13.createElement("tr", { className: "transition-colors text-[#737373] hover:bg-muted/50 \r\n data-[state=selected]:bg-muted" }, /* @__PURE__ */ React13.createElement("th", { className: "px-4 py-3 text-left w-[50px]" }, /* @__PURE__ */ React13.createElement(CustomCheckbox, { checked: isAllChecked, onChange: () => {
724
+ return /* @__PURE__ */ React13.createElement("div", { className: "border border-[#e5e5e5] rounded-lg overflow-x-auto" }, /* @__PURE__ */ React13.createElement("div", { className: "w-full relative overflow-x-auto" }, /* @__PURE__ */ React13.createElement("table", { className: "w-full caption-bottom text-sm overflow-x-auto bg-white table-fixed border-collapse" }, /* @__PURE__ */ React13.createElement("thead", { className: "border-b border-[#e5e5e5] text-accent" }, /* @__PURE__ */ React13.createElement("tr", { className: "transition-colors text-[#737373] hover:bg-muted/50 \r\n data-[state=selected]:bg-muted" }, /* @__PURE__ */ React13.createElement("th", { className: "px-4 py-3 text-left w-[50px] text-accent" }, /* @__PURE__ */ React13.createElement(CustomCheckbox, { checked: isAllChecked, onChange: () => {
742
725
  setIsAllChecked(!isAllChecked);
743
726
  } })), tableHeader.map((header, index) => {
744
- return /* @__PURE__ */ React13.createElement("th", { className: `px-4 py-3 text-sm font-medium ${index == tableHeader.length - 1 ? "text-right" : "text-left"}`, key: header + index }, header);
727
+ return /* @__PURE__ */ React13.createElement("th", { className: `px-4 py-3 text-sm text-accent font-medium ${index == tableHeader.length - 1 ? "text-right" : "text-left"}`, key: header + index }, header);
745
728
  }))), /* @__PURE__ */ React13.createElement("tbody", null, children))));
746
729
  };
747
730
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jett.admin.npmpackage",
3
- "version": "1.0.21",
3
+ "version": "1.0.23",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "exports": {
@@ -24,6 +24,7 @@
24
24
  "dependencies": {
25
25
  "@tailwindcss/postcss": "^4.1.13",
26
26
  "clsx": "^2.1.1",
27
+ "js-cookie": "^3.0.5",
27
28
  "lucide-react": "^0.544.0",
28
29
  "tailwind-merge": "^3.3.1",
29
30
  "tsup": "^8.5.0"