@retinalabsllc/zairusjs 9.0.30 → 9.0.50

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.js CHANGED
@@ -663,49 +663,201 @@ var Footer = ({
663
663
  };
664
664
 
665
665
  // src/components/MobileNav.tsx
666
- var import_react9 = __toESM(require("react"));
666
+ var import_react11 = __toESM(require("react"));
667
667
  var import_link4 = __toESM(require("next/link"));
668
668
  var import_navigation3 = require("next/navigation");
669
+ var import_react12 = require("@hugeicons/react");
670
+ var import_core_free_icons3 = require("@hugeicons/core-free-icons");
671
+
672
+ // src/components/ConfirmationDialog.tsx
673
+ var import_react9 = __toESM(require("react"));
669
674
  var import_react10 = require("@hugeicons/react");
670
- var MobileNav = ({ items }) => {
675
+ var import_core_free_icons2 = require("@hugeicons/core-free-icons");
676
+ var ConfirmationDialog = ({
677
+ isOpen,
678
+ title,
679
+ message,
680
+ confirmText = "Confirm",
681
+ cancelText = "Cancel",
682
+ isProcessing = false,
683
+ isDestructive = true,
684
+ onClose,
685
+ onConfirm
686
+ }) => {
687
+ if (!isOpen) return null;
688
+ return /* @__PURE__ */ import_react9.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react9.default.createElement(
689
+ "div",
690
+ {
691
+ className: "absolute inset-0 bg-black/40 ",
692
+ onClick: () => !isProcessing && onClose()
693
+ }
694
+ ), /* @__PURE__ */ import_react9.default.createElement("div", { className: "relative w-72 bg-white rounded-2xl flex flex-col items-center overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react9.default.createElement("div", { className: "p-6 pb-4 text-center w-full" }, /* @__PURE__ */ import_react9.default.createElement("h3", { className: "text-[17px] text-black tracking-tight mb-2" }, title), /* @__PURE__ */ import_react9.default.createElement("p", { className: "text-[12px] text-neutral-500 leading-relaxed px-2" }, message)), /* @__PURE__ */ import_react9.default.createElement("div", { className: "w-full flex" }, /* @__PURE__ */ import_react9.default.createElement(
695
+ "button",
696
+ {
697
+ onClick: onClose,
698
+ disabled: isProcessing,
699
+ className: "flex-1 py-4 text-[14px] text-neutral-500 hover:bg-neutral-50 transition-colors disabled:opacity-50 outline-none "
700
+ },
701
+ cancelText
702
+ ), /* @__PURE__ */ import_react9.default.createElement(
703
+ "button",
704
+ {
705
+ onClick: onConfirm,
706
+ disabled: isProcessing,
707
+ className: `flex-1 py-4 text-[13px] transition-colors disabled:opacity-50 flex justify-center items-center outline-none ${isDestructive ? "text-red-500 hover:bg-red-50" : "text-black hover:bg-neutral-50"}`
708
+ },
709
+ isProcessing ? /* @__PURE__ */ import_react9.default.createElement(import_react10.HugeiconsIcon, { icon: import_core_free_icons2.Loading03Icon, className: "animate-spin", size: 18 }) : confirmText
710
+ ))));
711
+ };
712
+
713
+ // src/components/MobileNav.tsx
714
+ var MobileNav = ({
715
+ items,
716
+ web3Address,
717
+ web3Avatar,
718
+ userInitials = "U",
719
+ unreadCount = 0,
720
+ onOpenNotifications,
721
+ onLogout
722
+ }) => {
671
723
  const pathname = (0, import_navigation3.usePathname)();
724
+ const router = (0, import_navigation3.useRouter)();
725
+ const [isCollapsed, setIsCollapsed] = (0, import_react11.useState)(false);
726
+ const [showLogoutDialog, setShowLogoutDialog] = (0, import_react11.useState)(false);
727
+ const [isLoggingOut, setIsLoggingOut] = (0, import_react11.useState)(false);
672
728
  if (!items || items.length === 0) return null;
673
- return /* @__PURE__ */ import_react9.default.createElement("div", { className: "fixed bottom-6 inset-x-0 z-100 flex justify-center pointer-events-none px-3 animate-in slide-in-from-bottom-8 fade-in duration-500" }, /* @__PURE__ */ import_react9.default.createElement("nav", { className: "pointer-events-auto w-full max-w-sm bg-white/80 backdrop-blur-xl shadow-[0_8px_30px_rgb(0,0,0,0.08)] rounded-full px-6 py-2.5 flex items-center justify-between" }, items.map((item) => {
674
- const isActive = item.href === "/" ? pathname === "/" : pathname?.startsWith(item.href);
675
- return /* @__PURE__ */ import_react9.default.createElement(
729
+ const isItemActive = (href) => {
730
+ if (href === "/" || href === "/app") {
731
+ return pathname === "/" || pathname === "/app";
732
+ }
733
+ return pathname?.startsWith(href);
734
+ };
735
+ const isChildRoute = pathname !== "/" && pathname !== "/app" && !items.some((item) => item.href === pathname);
736
+ const handleLogout = async () => {
737
+ setIsLoggingOut(true);
738
+ try {
739
+ if (onLogout) await onLogout();
740
+ } finally {
741
+ setIsLoggingOut(false);
742
+ setShowLogoutDialog(false);
743
+ }
744
+ };
745
+ const handleCopyWallet = () => {
746
+ if (web3Address) {
747
+ navigator.clipboard.writeText(web3Address);
748
+ }
749
+ };
750
+ return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(
751
+ "aside",
752
+ {
753
+ className: `hidden md:flex fixed top-0 left-0 h-screen bg-white border-r border-neutral-100 flex-col transition-all duration-300 z-40 ${isCollapsed ? "w-20" : "w-64"}`
754
+ },
755
+ /* @__PURE__ */ import_react11.default.createElement("div", { className: `p-5 flex items-center shrink-0 ${isCollapsed ? "justify-center" : "justify-start"}` }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center gap-3 w-full" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-10 h-10 rounded-full flex items-center justify-center shrink-0 border border-neutral-100 bg-neutral-50 overflow-hidden" }, web3Avatar ? /* @__PURE__ */ import_react11.default.createElement("img", { src: web3Avatar, alt: "Avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ import_react11.default.createElement("span", { className: "text-[12px] font-medium text-black uppercase" }, userInitials)), !isCollapsed && /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react11.default.createElement("span", { className: "text-[14px] font-medium text-black truncate" }, "Aeona Profile"), web3Address && /* @__PURE__ */ import_react11.default.createElement(
756
+ "span",
757
+ {
758
+ onClick: handleCopyWallet,
759
+ className: "text-[10px] text-neutral-500 truncate cursor-pointer hover:text-black transition-colors"
760
+ },
761
+ web3Address
762
+ )))),
763
+ /* @__PURE__ */ import_react11.default.createElement("nav", { className: "flex-1 py-4 flex flex-col gap-2 px-3 overflow-y-auto custom-scrollbar" }, items.map((item) => {
764
+ const active = isItemActive(item.href);
765
+ return /* @__PURE__ */ import_react11.default.createElement(
766
+ import_link4.default,
767
+ {
768
+ key: item.label,
769
+ href: item.href,
770
+ className: `flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all outline-none group shrink-0 ${active ? "bg-neutral-100 text-black" : "text-neutral-500 hover:bg-neutral-50 hover:text-black"}`,
771
+ title: isCollapsed ? item.label : void 0
772
+ },
773
+ /* @__PURE__ */ import_react11.default.createElement(
774
+ import_react12.HugeiconsIcon,
775
+ {
776
+ icon: item.icon,
777
+ size: 20,
778
+ className: `shrink-0 transition-colors ${active ? "text-black" : "text-neutral-400 group-hover:text-black"}`
779
+ }
780
+ ),
781
+ !isCollapsed && /* @__PURE__ */ import_react11.default.createElement("span", { className: `text-[13px] font-medium tracking-wide truncate ${active ? "text-black" : ""}` }, item.label)
782
+ );
783
+ })),
784
+ /* @__PURE__ */ import_react11.default.createElement("div", { className: "p-4 shrink-0 flex flex-col gap-2 border-t border-neutral-50" }, /* @__PURE__ */ import_react11.default.createElement(
785
+ "button",
786
+ {
787
+ onClick: () => setShowLogoutDialog(true),
788
+ className: `flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all outline-none group text-neutral-500 hover:bg-neutral-50 hover:text-red-500 ${isCollapsed ? "justify-center" : ""}`,
789
+ title: isCollapsed ? "Log Out" : void 0
790
+ },
791
+ /* @__PURE__ */ import_react11.default.createElement(import_react12.HugeiconsIcon, { icon: import_core_free_icons3.LogoutCircle02Icon, size: 20, className: "shrink-0 transition-colors" }),
792
+ !isCollapsed && /* @__PURE__ */ import_react11.default.createElement("span", { className: "text-[13px] font-medium tracking-wide" }, "Log Out")
793
+ ), /* @__PURE__ */ import_react11.default.createElement(
794
+ "button",
795
+ {
796
+ onClick: () => setIsCollapsed(!isCollapsed),
797
+ className: `flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all outline-none group text-neutral-400 hover:bg-neutral-50 hover:text-black ${isCollapsed ? "justify-center" : ""}`
798
+ },
799
+ /* @__PURE__ */ import_react11.default.createElement(import_react12.HugeiconsIcon, { icon: import_core_free_icons3.SidebarLeft01Icon, size: 20, className: "shrink-0 transition-colors" }),
800
+ !isCollapsed && /* @__PURE__ */ import_react11.default.createElement("span", { className: "text-[13px] font-medium tracking-wide" }, "Collapse")
801
+ ))
802
+ ), /* @__PURE__ */ import_react11.default.createElement("div", { className: "md:hidden fixed top-3 inset-x-0 z-50 flex justify-center pointer-events-none px-2.5" }, /* @__PURE__ */ import_react11.default.createElement("header", { className: "pointer-events-auto w-full max-w-sm backdrop-blur-xl bg-white/65 rounded-full p-2 flex items-center justify-between" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center gap-2" }, isChildRoute && /* @__PURE__ */ import_react11.default.createElement(
803
+ "button",
804
+ {
805
+ onClick: () => router.back(),
806
+ className: "w-8 h-8 rounded-full bg-white flex items-center justify-center text-neutral-600 hover:text-black transition-colors outline-none shrink-0 border border-neutral-100"
807
+ },
808
+ /* @__PURE__ */ import_react11.default.createElement(import_react12.HugeiconsIcon, { icon: import_core_free_icons3.ArrowLeft01Icon, size: 16 })
809
+ ), web3Address && /* @__PURE__ */ import_react11.default.createElement(
810
+ "div",
811
+ {
812
+ onClick: handleCopyWallet,
813
+ className: "flex items-center gap-2 bg-white rounded-full p-1 pr-3 cursor-pointer hover:bg-neutral-50 transition-colors border border-neutral-100"
814
+ },
815
+ web3Avatar ? /* @__PURE__ */ import_react11.default.createElement("img", { src: web3Avatar, alt: "Avatar", className: "w-6 h-6 rounded-full object-cover shrink-0" }) : /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-6 h-6 rounded-full bg-neutral-100 flex items-center justify-center text-[10px] font-medium text-black shrink-0" }, userInitials),
816
+ /* @__PURE__ */ import_react11.default.createElement("span", { className: "text-[12px] font-medium text-black truncate max-w-24 sm:max-w-40" }, web3Address)
817
+ )), /* @__PURE__ */ import_react11.default.createElement(
818
+ "button",
819
+ {
820
+ onClick: onOpenNotifications,
821
+ className: "relative w-8 h-8 shrink-0 bg-white rounded-full flex items-center justify-center text-neutral-600 hover:text-black transition-colors outline-none mr-1 border border-neutral-100"
822
+ },
823
+ /* @__PURE__ */ import_react11.default.createElement(import_react12.HugeiconsIcon, { icon: import_core_free_icons3.Notification01Icon, size: 16 }),
824
+ unreadCount > 0 && /* @__PURE__ */ import_react11.default.createElement("span", { className: "absolute top-1 right-1.5 w-2 h-2 bg-blue-600 rounded-full border-2 border-white" })
825
+ ))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "md:hidden fixed bottom-6 inset-x-0 z-100 flex justify-center pointer-events-none px-3 animate-in slide-in-from-bottom-8 fade-in duration-500" }, /* @__PURE__ */ import_react11.default.createElement("nav", { className: "pointer-events-auto w-full max-w-sm bg-white/65 backdrop-blur-xl shadow-[0_8px_30px_rgb(0,0,0,0.08)] rounded-full px-6 py-2.5 flex items-center justify-between border border-white/50" }, items.map((item) => {
826
+ const active = isItemActive(item.href);
827
+ return /* @__PURE__ */ import_react11.default.createElement(
676
828
  import_link4.default,
677
829
  {
678
830
  key: item.label,
679
831
  href: item.href,
680
832
  className: "flex flex-col items-center justify-center gap-1 min-w-14 transition-transform active:scale-95 outline-none"
681
833
  },
682
- /* @__PURE__ */ import_react9.default.createElement("div", { className: `transition-colors duration-300 ${isActive ? "text-black" : "text-neutral-400 hover:text-neutral-600"}` }, /* @__PURE__ */ import_react9.default.createElement(
683
- import_react10.HugeiconsIcon,
684
- {
685
- icon: item.icon,
686
- size: 20
687
- }
688
- )),
689
- /* @__PURE__ */ import_react9.default.createElement(
690
- "span",
691
- {
692
- className: `text-[9px] tracking-wide transition-colors duration-300 ${isActive ? "text-black" : "text-neutral-400"}`
693
- },
694
- item.label
695
- )
834
+ /* @__PURE__ */ import_react11.default.createElement("div", { className: `transition-colors duration-300 ${active ? "text-black" : "text-neutral-400 hover:text-neutral-600"}` }, /* @__PURE__ */ import_react11.default.createElement(import_react12.HugeiconsIcon, { icon: item.icon, size: 20 })),
835
+ /* @__PURE__ */ import_react11.default.createElement("span", { className: `text-[9px] tracking-wide font-medium transition-colors duration-300 ${active ? "text-black" : "text-neutral-400"}` }, item.label)
696
836
  );
697
- })));
837
+ }))), /* @__PURE__ */ import_react11.default.createElement(
838
+ ConfirmationDialog,
839
+ {
840
+ isOpen: showLogoutDialog,
841
+ title: "Secure Logout",
842
+ message: "Are you sure you want to log out? You will need to authenticate to return.",
843
+ confirmText: "Log Out",
844
+ isDestructive: true,
845
+ isProcessing: isLoggingOut,
846
+ onClose: () => setShowLogoutDialog(false),
847
+ onConfirm: handleLogout
848
+ }
849
+ ));
698
850
  };
699
851
 
700
852
  // src/components/UniversalOrganizationPage.tsx
701
- var import_react15 = __toESM(require("react"));
853
+ var import_react17 = __toESM(require("react"));
702
854
  var import_react_hot_toast3 = __toESM(require("react-hot-toast"));
703
855
 
704
856
  // src/components/ManagedToaster.tsx
705
- var import_react11 = __toESM(require("react"));
857
+ var import_react13 = __toESM(require("react"));
706
858
  var import_react_hot_toast2 = require("react-hot-toast");
707
859
  var ManagedToaster = () => {
708
- return /* @__PURE__ */ import_react11.default.createElement(
860
+ return /* @__PURE__ */ import_react13.default.createElement(
709
861
  import_react_hot_toast2.Toaster,
710
862
  {
711
863
  position: "top-right",
@@ -737,7 +889,7 @@ var ManagedToaster = () => {
737
889
  };
738
890
 
739
891
  // src/components/ReusableInputs.tsx
740
- var import_react12 = __toESM(require("react"));
892
+ var import_react14 = __toESM(require("react"));
741
893
  var TextInput = ({
742
894
  label,
743
895
  value,
@@ -748,7 +900,7 @@ var TextInput = ({
748
900
  readOnly,
749
901
  type = "text",
750
902
  onClick
751
- }) => /* @__PURE__ */ import_react12.default.createElement("div", { className: "space-y-2 flex-1 w-full", onClick }, label && /* @__PURE__ */ import_react12.default.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, label), /* @__PURE__ */ import_react12.default.createElement(
903
+ }) => /* @__PURE__ */ import_react14.default.createElement("div", { className: "space-y-2 flex-1 w-full", onClick }, label && /* @__PURE__ */ import_react14.default.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, label), /* @__PURE__ */ import_react14.default.createElement(
752
904
  "input",
753
905
  {
754
906
  type,
@@ -769,7 +921,7 @@ var NumberInput = ({
769
921
  placeholder,
770
922
  maxLength,
771
923
  disabled
772
- }) => /* @__PURE__ */ import_react12.default.createElement("div", { className: "space-y-2 flex-1 w-full" }, label && /* @__PURE__ */ import_react12.default.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, label), /* @__PURE__ */ import_react12.default.createElement(
924
+ }) => /* @__PURE__ */ import_react14.default.createElement("div", { className: "space-y-2 flex-1 w-full" }, label && /* @__PURE__ */ import_react14.default.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, label), /* @__PURE__ */ import_react14.default.createElement(
773
925
  "input",
774
926
  {
775
927
  type: "text",
@@ -787,9 +939,9 @@ var NumberInput = ({
787
939
  ));
788
940
 
789
941
  // src/components/Banner.tsx
790
- var import_react13 = __toESM(require("react"));
791
- var import_react14 = require("@hugeicons/react");
792
- var import_core_free_icons2 = require("@hugeicons/core-free-icons");
942
+ var import_react15 = __toESM(require("react"));
943
+ var import_react16 = require("@hugeicons/react");
944
+ var import_core_free_icons4 = require("@hugeicons/core-free-icons");
793
945
  var Banner = ({
794
946
  title,
795
947
  message,
@@ -799,7 +951,7 @@ var Banner = ({
799
951
  onDismiss,
800
952
  action
801
953
  }) => {
802
- const [isVisible, setIsVisible] = (0, import_react13.useState)(true);
954
+ const [isVisible, setIsVisible] = (0, import_react15.useState)(true);
803
955
  if (!isVisible) return null;
804
956
  const handleDismiss = () => {
805
957
  setIsVisible(false);
@@ -811,7 +963,7 @@ var Banner = ({
811
963
  iconColor: "text-emerald-600",
812
964
  titleColor: "text-emerald-900",
813
965
  msgColor: "text-emerald-700",
814
- defaultIcon: import_core_free_icons2.CheckmarkBadge01Icon,
966
+ defaultIcon: import_core_free_icons4.CheckmarkBadge01Icon,
815
967
  closeHover: "hover:bg-emerald-100 text-emerald-500"
816
968
  },
817
969
  warning: {
@@ -819,7 +971,7 @@ var Banner = ({
819
971
  iconColor: "text-amber-600",
820
972
  titleColor: "text-amber-900",
821
973
  msgColor: "text-amber-700",
822
- defaultIcon: import_core_free_icons2.InformationCircleIcon,
974
+ defaultIcon: import_core_free_icons4.InformationCircleIcon,
823
975
  closeHover: "hover:bg-amber-100 text-amber-500"
824
976
  },
825
977
  alert: {
@@ -827,27 +979,27 @@ var Banner = ({
827
979
  iconColor: "text-red-600",
828
980
  titleColor: "text-red-900",
829
981
  msgColor: "text-red-700",
830
- defaultIcon: import_core_free_icons2.Alert02Icon,
982
+ defaultIcon: import_core_free_icons4.Alert02Icon,
831
983
  closeHover: "hover:bg-red-100 text-red-500"
832
984
  }
833
985
  };
834
986
  const currentConfig = config[type];
835
987
  const IconToUse = icon || currentConfig.defaultIcon;
836
- return /* @__PURE__ */ import_react13.default.createElement("div", { className: `relative w-full rounded-2xl p-4 flex items-start gap-4 transition-all duration-300 animate-in fade-in slide-in-from-top-2 ${currentConfig.bg}` }, /* @__PURE__ */ import_react13.default.createElement("div", { className: "flex-1 flex flex-col min-w-0" }, /* @__PURE__ */ import_react13.default.createElement("h4", { className: `text-sm tracking-tight mb-1 ${currentConfig.titleColor}` }, title), /* @__PURE__ */ import_react13.default.createElement("p", { className: `text-xs leading-relaxed ${currentConfig.msgColor}` }, message), action && /* @__PURE__ */ import_react13.default.createElement("div", { className: "mt-3" }, action)), isDismissible && /* @__PURE__ */ import_react13.default.createElement(
988
+ return /* @__PURE__ */ import_react15.default.createElement("div", { className: `relative w-full rounded-2xl p-4 flex items-start gap-4 transition-all duration-300 animate-in fade-in slide-in-from-top-2 ${currentConfig.bg}` }, /* @__PURE__ */ import_react15.default.createElement("div", { className: "flex-1 flex flex-col min-w-0" }, /* @__PURE__ */ import_react15.default.createElement("h4", { className: `text-sm tracking-tight mb-1 ${currentConfig.titleColor}` }, title), /* @__PURE__ */ import_react15.default.createElement("p", { className: `text-xs leading-relaxed ${currentConfig.msgColor}` }, message), action && /* @__PURE__ */ import_react15.default.createElement("div", { className: "mt-3" }, action)), isDismissible && /* @__PURE__ */ import_react15.default.createElement(
837
989
  "button",
838
990
  {
839
991
  onClick: handleDismiss,
840
992
  className: `absolute top-3 right-3 p-1.5 rounded-full transition-colors outline-none shrink-0 ${currentConfig.closeHover}`,
841
993
  "aria-label": "Dismiss banner"
842
994
  },
843
- /* @__PURE__ */ import_react13.default.createElement(import_react14.HugeiconsIcon, { icon: import_core_free_icons2.Cancel01Icon, size: 16 })
995
+ /* @__PURE__ */ import_react15.default.createElement(import_react16.HugeiconsIcon, { icon: import_core_free_icons4.Cancel01Icon, size: 16 })
844
996
  ));
845
997
  };
846
998
 
847
999
  // src/components/UniversalOrganizationPage.tsx
848
- var import_react16 = require("@hugeicons/react");
849
- var import_core_free_icons3 = require("@hugeicons/core-free-icons");
850
- var InputSpinner2 = () => /* @__PURE__ */ import_react15.default.createElement("svg", { className: "animate-spin h-4 w-4 text-neutral-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ import_react15.default.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ import_react15.default.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }));
1000
+ var import_react18 = require("@hugeicons/react");
1001
+ var import_core_free_icons5 = require("@hugeicons/core-free-icons");
1002
+ var InputSpinner2 = () => /* @__PURE__ */ import_react17.default.createElement("svg", { className: "animate-spin h-4 w-4 text-neutral-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ import_react17.default.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ import_react17.default.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }));
851
1003
  var UniversalOrganizationPage = ({
852
1004
  initialOrgName,
853
1005
  initialSlug,
@@ -860,13 +1012,13 @@ var UniversalOrganizationPage = ({
860
1012
  onCheckSlugAvailability
861
1013
  }) => {
862
1014
  const resolvedInitialUsername = initialUsername || initialSlug;
863
- const [web3Name, setWeb3Name] = (0, import_react15.useState)(initialOrgName);
864
- const [username, setUsername] = (0, import_react15.useState)(resolvedInitialUsername);
865
- const [slug, setSlug] = (0, import_react15.useState)(initialSlug);
866
- const [isCheckingSlug, setIsCheckingSlug] = (0, import_react15.useState)(false);
867
- const [slugAvailable, setSlugAvailable] = (0, import_react15.useState)(null);
868
- const [isSubmitting, setIsSubmitting] = (0, import_react15.useState)(false);
869
- (0, import_react15.useEffect)(() => {
1015
+ const [web3Name, setWeb3Name] = (0, import_react17.useState)(initialOrgName);
1016
+ const [username, setUsername] = (0, import_react17.useState)(resolvedInitialUsername);
1017
+ const [slug, setSlug] = (0, import_react17.useState)(initialSlug);
1018
+ const [isCheckingSlug, setIsCheckingSlug] = (0, import_react17.useState)(false);
1019
+ const [slugAvailable, setSlugAvailable] = (0, import_react17.useState)(null);
1020
+ const [isSubmitting, setIsSubmitting] = (0, import_react17.useState)(false);
1021
+ (0, import_react17.useEffect)(() => {
870
1022
  setWeb3Name(initialOrgName || "");
871
1023
  setSlug(initialSlug || "");
872
1024
  setUsername(initialUsername || initialSlug || "");
@@ -880,7 +1032,7 @@ var UniversalOrganizationPage = ({
880
1032
  const handleSlugChange = (val) => {
881
1033
  setSlug(val.toLowerCase().replace(/[^a-z0-9-]/g, "").replace(/-+/g, "-").substring(0, 50));
882
1034
  };
883
- (0, import_react15.useEffect)(() => {
1035
+ (0, import_react17.useEffect)(() => {
884
1036
  if (!slug || slug === initialSlug) {
885
1037
  setSlugAvailable(null);
886
1038
  setIsCheckingSlug(false);
@@ -935,7 +1087,7 @@ var UniversalOrganizationPage = ({
935
1087
  };
936
1088
  const hasChanges = web3Name !== initialOrgName || slug !== initialSlug || username !== resolvedInitialUsername;
937
1089
  const isSaveDisabled = isSubmitting || isReadOnly || isCheckingSlug || !hasChanges || web3Name.length < 3 || slug.length < 3 || username.length < 3 || slug !== initialSlug && slugAvailable === false;
938
- return /* @__PURE__ */ import_react15.default.createElement("div", { className: "flex flex-col gap-8 animate-in max-w-5xl rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react15.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react15.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react15.default.createElement("div", null, /* @__PURE__ */ import_react15.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Public Profile"), /* @__PURE__ */ import_react15.default.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your financial payment handle identifiers and global public cryptographic signature identity details.")), isReadOnly && /* @__PURE__ */ import_react15.default.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ import_react15.default.createElement(import_react16.HugeiconsIcon, { icon: import_core_free_icons3.CircleLock02Icon, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ import_react15.default.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ import_react15.default.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ import_react15.default.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ import_react15.default.createElement(
1090
+ return /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col gap-8 animate-in max-w-5xl rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ import_react17.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react17.default.createElement("div", null, /* @__PURE__ */ import_react17.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Public Profile"), /* @__PURE__ */ import_react17.default.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your financial payment handle identifiers and global public cryptographic signature identity details.")), isReadOnly && /* @__PURE__ */ import_react17.default.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: import_core_free_icons5.CircleLock02Icon, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ import_react17.default.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ import_react17.default.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ import_react17.default.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ import_react17.default.createElement(
939
1091
  TextInput,
940
1092
  {
941
1093
  label: "Display Name",
@@ -945,7 +1097,7 @@ var UniversalOrganizationPage = ({
945
1097
  placeholder: "Sovereign User",
946
1098
  maxLength: 50
947
1099
  }
948
- ), /* @__PURE__ */ import_react15.default.createElement(
1100
+ ), /* @__PURE__ */ import_react17.default.createElement(
949
1101
  TextInput,
950
1102
  {
951
1103
  label: "Digital Identity",
@@ -955,7 +1107,7 @@ var UniversalOrganizationPage = ({
955
1107
  placeholder: "sovereignuser",
956
1108
  maxLength: 30
957
1109
  }
958
- ), /* @__PURE__ */ import_react15.default.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ import_react15.default.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Wallet Username"), /* @__PURE__ */ import_react15.default.createElement("div", { className: "flex items-center relative w-full border-b border-neutral-100 focus-within:border-black transition-all duration-300" }, /* @__PURE__ */ import_react15.default.createElement(
1110
+ ), /* @__PURE__ */ import_react17.default.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ import_react17.default.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Wallet Username"), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex items-center relative w-full border-b border-neutral-100 focus-within:border-black transition-all duration-300" }, /* @__PURE__ */ import_react17.default.createElement(
959
1111
  "input",
960
1112
  {
961
1113
  type: "text",
@@ -967,7 +1119,7 @@ var UniversalOrganizationPage = ({
967
1119
  className: "w-full px-2 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed",
968
1120
  placeholder: "sovereign-user-handle"
969
1121
  }
970
- ), /* @__PURE__ */ import_react15.default.createElement("span", { className: "text-neutral-400 text-sm py-3 pr-8 shrink-0 whitespace-nowrap" }, slugPrefixUrl), /* @__PURE__ */ import_react15.default.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ import_react15.default.createElement(InputSpinner2, null), !isCheckingSlug && !isReadOnly && slug !== initialSlug && slug.length >= 3 && slugAvailable === false && /* @__PURE__ */ import_react15.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-red-100" }, /* @__PURE__ */ import_react15.default.createElement("svg", { className: "w-2 h-2 text-red-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react15.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && !isReadOnly && slug !== initialSlug && slug.length >= 3 && slugAvailable === true && /* @__PURE__ */ import_react15.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ import_react15.default.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react15.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ import_react15.default.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ import_react15.default.createElement(
1122
+ ), /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-neutral-400 text-sm py-3 pr-8 shrink-0 whitespace-nowrap" }, slugPrefixUrl), /* @__PURE__ */ import_react17.default.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ import_react17.default.createElement(InputSpinner2, null), !isCheckingSlug && !isReadOnly && slug !== initialSlug && slug.length >= 3 && slugAvailable === false && /* @__PURE__ */ import_react17.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-red-100" }, /* @__PURE__ */ import_react17.default.createElement("svg", { className: "w-2 h-2 text-red-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react17.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" }))), !isCheckingSlug && !isReadOnly && slug !== initialSlug && slug.length >= 3 && slugAvailable === true && /* @__PURE__ */ import_react17.default.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ import_react17.default.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react17.default.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.707 5.293a1 1 0 00-1.414 0L8 12.586 4.707 9.293a1 1 0 10-1.414 1.414l4 4a1 1 0 001.414 0l8-8a1 1 0 000-1.414z" })))))), /* @__PURE__ */ import_react17.default.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ import_react17.default.createElement(
971
1123
  ThreeDActionButton,
972
1124
  {
973
1125
  type: "submit",
@@ -976,7 +1128,7 @@ var UniversalOrganizationPage = ({
976
1128
  className: "min-w-32"
977
1129
  },
978
1130
  "Save Changes"
979
- ), hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ import_react15.default.createElement(
1131
+ ), hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ import_react17.default.createElement(
980
1132
  "button",
981
1133
  {
982
1134
  type: "button",
@@ -992,10 +1144,10 @@ var UniversalOrganizationPage = ({
992
1144
  };
993
1145
 
994
1146
  // src/components/UniversalProfileSettings.tsx
995
- var import_react17 = __toESM(require("react"));
1147
+ var import_react19 = __toESM(require("react"));
996
1148
  var import_react_hot_toast4 = __toESM(require("react-hot-toast"));
997
- var import_react18 = require("@hugeicons/react");
998
- var import_core_free_icons4 = require("@hugeicons/core-free-icons");
1149
+ var import_react20 = require("@hugeicons/react");
1150
+ var import_core_free_icons6 = require("@hugeicons/core-free-icons");
999
1151
  var UniversalProfileSettings = ({
1000
1152
  initialFirstName,
1001
1153
  initialLastName,
@@ -1009,15 +1161,15 @@ var UniversalProfileSettings = ({
1009
1161
  onSavePin,
1010
1162
  onSaveProfile
1011
1163
  }) => {
1012
- const [firstName, setFirstName] = (0, import_react17.useState)(initialFirstName);
1013
- const [lastName, setLastName] = (0, import_react17.useState)(initialLastName);
1014
- const [isSubmitting, setIsSubmitting] = (0, import_react17.useState)(false);
1015
- const [isPinModalOpen, setIsPinModalOpen] = (0, import_react17.useState)(false);
1016
- const [oldPin, setOldPin] = (0, import_react17.useState)("");
1017
- const [newPin, setNewPin] = (0, import_react17.useState)("");
1018
- const [confirmPin, setConfirmPin] = (0, import_react17.useState)("");
1019
- const [isPinSubmitting, setIsPinSubmitting] = (0, import_react17.useState)(false);
1020
- (0, import_react17.useEffect)(() => {
1164
+ const [firstName, setFirstName] = (0, import_react19.useState)(initialFirstName);
1165
+ const [lastName, setLastName] = (0, import_react19.useState)(initialLastName);
1166
+ const [isSubmitting, setIsSubmitting] = (0, import_react19.useState)(false);
1167
+ const [isPinModalOpen, setIsPinModalOpen] = (0, import_react19.useState)(false);
1168
+ const [oldPin, setOldPin] = (0, import_react19.useState)("");
1169
+ const [newPin, setNewPin] = (0, import_react19.useState)("");
1170
+ const [confirmPin, setConfirmPin] = (0, import_react19.useState)("");
1171
+ const [isPinSubmitting, setIsPinSubmitting] = (0, import_react19.useState)(false);
1172
+ (0, import_react19.useEffect)(() => {
1021
1173
  setFirstName(initialFirstName || "");
1022
1174
  setLastName(initialLastName || "");
1023
1175
  }, [initialFirstName, initialLastName]);
@@ -1083,7 +1235,7 @@ var UniversalProfileSettings = ({
1083
1235
  };
1084
1236
  const hasChanges = firstName !== initialFirstName || lastName !== initialLastName;
1085
1237
  const isSaveDisabled = isSubmitting || isReadOnly || !hasChanges || firstName.trim().length === 0 || lastName.trim().length === 0;
1086
- return /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col max-w-5xl rounded-2xl p-6 bg-white gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react17.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-3 sm:gap-4" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react17.default.createElement("h1", { className: "text-black text-xl mb-1 truncate tracking-tight" }, "Personal Settings"), /* @__PURE__ */ import_react17.default.createElement("p", { className: "text-xs text-neutral-500 truncate" }, "Manage your personal account profile.")), isReadOnly && /* @__PURE__ */ import_react17.default.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: import_core_free_icons4.CircleLock02Icon, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ import_react17.default.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ import_react17.default.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ import_react17.default.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col sm:flex-row gap-6" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react17.default.createElement(
1238
+ return /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex flex-col max-w-5xl rounded-2xl p-6 bg-white gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react19.default.createElement(ManagedToaster, null), /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-3 sm:gap-4" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react19.default.createElement("h1", { className: "text-black text-xl mb-1 truncate tracking-tight" }, "Personal Settings"), /* @__PURE__ */ import_react19.default.createElement("p", { className: "text-xs text-neutral-500 truncate" }, "Manage your personal account profile.")), isReadOnly && /* @__PURE__ */ import_react19.default.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ import_react19.default.createElement(import_react20.HugeiconsIcon, { icon: import_core_free_icons6.CircleLock02Icon, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ import_react19.default.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ import_react19.default.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ import_react19.default.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex flex-col sm:flex-row gap-6" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react19.default.createElement(
1087
1239
  TextInput,
1088
1240
  {
1089
1241
  label: "First Name",
@@ -1092,7 +1244,7 @@ var UniversalProfileSettings = ({
1092
1244
  disabled: isReadOnly || isSubmitting,
1093
1245
  placeholder: "System"
1094
1246
  }
1095
- )), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react17.default.createElement(
1247
+ )), /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react19.default.createElement(
1096
1248
  TextInput,
1097
1249
  {
1098
1250
  label: "Last Name",
@@ -1101,7 +1253,7 @@ var UniversalProfileSettings = ({
1101
1253
  disabled: isReadOnly || isSubmitting,
1102
1254
  placeholder: "Admin"
1103
1255
  }
1104
- ))), /* @__PURE__ */ import_react17.default.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ import_react17.default.createElement(
1256
+ ))), /* @__PURE__ */ import_react19.default.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ import_react19.default.createElement(
1105
1257
  TextInput,
1106
1258
  {
1107
1259
  label: "Email ID",
@@ -1110,7 +1262,7 @@ var UniversalProfileSettings = ({
1110
1262
  },
1111
1263
  disabled: true
1112
1264
  }
1113
- ), /* @__PURE__ */ import_react17.default.createElement("p", { className: "text-[11px] text-neutral-500 mt-1 truncate" }, "To change your email address, please contact support.")), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between pt-8 mt-2 gap-6 sm:gap-4" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex items-center gap-6 min-w-0" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate" }, "Account Status"), /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-black block truncate" }, accountStatus)), /* @__PURE__ */ import_react17.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate" }, "Member Since"), /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-black block truncate" }, memberSince ? new Date(memberSince).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : "N/A")), /* @__PURE__ */ import_react17.default.createElement("div", { className: "min-w-0 pl-4" }, /* @__PURE__ */ import_react17.default.createElement(
1265
+ ), /* @__PURE__ */ import_react19.default.createElement("p", { className: "text-[11px] text-neutral-500 mt-1 truncate" }, "To change your email address, please contact support.")), /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between pt-8 mt-2 gap-6 sm:gap-4" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex items-center gap-6 min-w-0" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate" }, "Account Status"), /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-xs text-black block truncate" }, accountStatus)), /* @__PURE__ */ import_react19.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate" }, "Member Since"), /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-xs text-black block truncate" }, memberSince ? new Date(memberSince).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : "N/A")), /* @__PURE__ */ import_react19.default.createElement("div", { className: "min-w-0 pl-4" }, /* @__PURE__ */ import_react19.default.createElement(
1114
1266
  "button",
1115
1267
  {
1116
1268
  type: "button",
@@ -1118,8 +1270,8 @@ var UniversalProfileSettings = ({
1118
1270
  "aria-label": "PIN Settings",
1119
1271
  className: "w-9 h-9 flex items-center justify-center border border-neutral-200 rounded-full text-black hover:bg-neutral-50 transition-colors outline-none"
1120
1272
  },
1121
- /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: import_core_free_icons4.LockKeyIcon, size: 17, className: "text-black" })
1122
- ))), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col-reverse sm:flex-row items-center gap-3 sm:gap-4 w-full sm:w-auto shrink-0" }, hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ import_react17.default.createElement(
1273
+ /* @__PURE__ */ import_react19.default.createElement(import_react20.HugeiconsIcon, { icon: import_core_free_icons6.LockKeyIcon, size: 17, className: "text-black" })
1274
+ ))), /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex flex-col-reverse sm:flex-row items-center gap-3 sm:gap-4 w-full sm:w-auto shrink-0" }, hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ import_react19.default.createElement(
1123
1275
  "button",
1124
1276
  {
1125
1277
  type: "button",
@@ -1130,7 +1282,7 @@ var UniversalProfileSettings = ({
1130
1282
  className: "text-[11px] tracking-widest text-neutral-400 hover:text-black transition-colors w-full sm:w-auto py-2 sm:py-0 outline-none"
1131
1283
  },
1132
1284
  "Cancel"
1133
- ), /* @__PURE__ */ import_react17.default.createElement(
1285
+ ), /* @__PURE__ */ import_react19.default.createElement(
1134
1286
  ThreeDActionButton,
1135
1287
  {
1136
1288
  type: "submit",
@@ -1139,7 +1291,7 @@ var UniversalProfileSettings = ({
1139
1291
  className: "min-w-32 w-full sm:w-auto"
1140
1292
  },
1141
1293
  "Save Changes"
1142
- ))))), isPinModalOpen && /* @__PURE__ */ import_react17.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePinModal }), /* @__PURE__ */ import_react17.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react17.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, hasPin ? "Change PIN" : "Create PIN"), /* @__PURE__ */ import_react17.default.createElement("button", { onClick: closePinModal, disabled: isPinSubmitting, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: import_core_free_icons4.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react17.default.createElement("div", { className: "p-6" }, isPinLoading ? /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: import_core_free_icons4.Loading03Icon, size: 28, className: "animate-spin text-neutral-400 mb-4" })) : /* @__PURE__ */ import_react17.default.createElement("form", { onSubmit: handlePinSubmit, className: "flex flex-col gap-6" }, hasPin && /* @__PURE__ */ import_react17.default.createElement(
1294
+ ))))), isPinModalOpen && /* @__PURE__ */ import_react19.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePinModal }), /* @__PURE__ */ import_react19.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react19.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, hasPin ? "Change PIN" : "Create PIN"), /* @__PURE__ */ import_react19.default.createElement("button", { onClick: closePinModal, disabled: isPinSubmitting, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ import_react19.default.createElement(import_react20.HugeiconsIcon, { icon: import_core_free_icons6.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react19.default.createElement("div", { className: "p-6" }, isPinLoading ? /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ import_react19.default.createElement(import_react20.HugeiconsIcon, { icon: import_core_free_icons6.Loading03Icon, size: 28, className: "animate-spin text-neutral-400 mb-4" })) : /* @__PURE__ */ import_react19.default.createElement("form", { onSubmit: handlePinSubmit, className: "flex flex-col gap-6" }, hasPin && /* @__PURE__ */ import_react19.default.createElement(
1143
1295
  TextInput,
1144
1296
  {
1145
1297
  type: "password",
@@ -1150,7 +1302,7 @@ var UniversalProfileSettings = ({
1150
1302
  onChange: (val) => handlePinInput(val, setOldPin),
1151
1303
  placeholder: "\u2022\u2022\u2022\u2022"
1152
1304
  }
1153
- ), /* @__PURE__ */ import_react17.default.createElement(
1305
+ ), /* @__PURE__ */ import_react19.default.createElement(
1154
1306
  TextInput,
1155
1307
  {
1156
1308
  type: "password",
@@ -1161,7 +1313,7 @@ var UniversalProfileSettings = ({
1161
1313
  onChange: (val) => handlePinInput(val, setNewPin),
1162
1314
  placeholder: "\u2022\u2022\u2022\u2022"
1163
1315
  }
1164
- ), /* @__PURE__ */ import_react17.default.createElement(
1316
+ ), /* @__PURE__ */ import_react19.default.createElement(
1165
1317
  TextInput,
1166
1318
  {
1167
1319
  type: "password",
@@ -1172,7 +1324,7 @@ var UniversalProfileSettings = ({
1172
1324
  onChange: (val) => handlePinInput(val, setConfirmPin),
1173
1325
  placeholder: "\u2022\u2022\u2022\u2022"
1174
1326
  }
1175
- ), /* @__PURE__ */ import_react17.default.createElement("div", { className: "pt-2" }, /* @__PURE__ */ import_react17.default.createElement(
1327
+ ), /* @__PURE__ */ import_react19.default.createElement("div", { className: "pt-2" }, /* @__PURE__ */ import_react19.default.createElement(
1176
1328
  ThreeDActionButton,
1177
1329
  {
1178
1330
  type: "submit",
@@ -1185,14 +1337,14 @@ var UniversalProfileSettings = ({
1185
1337
  };
1186
1338
 
1187
1339
  // src/components/UniversalErrorView.tsx
1188
- var import_react21 = __toESM(require("react"));
1189
- var import_react22 = require("@hugeicons/react");
1190
- var import_core_free_icons6 = require("@hugeicons/core-free-icons");
1340
+ var import_react23 = __toESM(require("react"));
1341
+ var import_react24 = require("@hugeicons/react");
1342
+ var import_core_free_icons8 = require("@hugeicons/core-free-icons");
1191
1343
 
1192
1344
  // src/components/PageSpinner.tsx
1193
- var import_react19 = __toESM(require("react"));
1194
- var import_react20 = require("@hugeicons/react");
1195
- var import_core_free_icons5 = require("@hugeicons/core-free-icons");
1345
+ var import_react21 = __toESM(require("react"));
1346
+ var import_react22 = require("@hugeicons/react");
1347
+ var import_core_free_icons7 = require("@hugeicons/core-free-icons");
1196
1348
  var PageSpinner = ({
1197
1349
  className = "",
1198
1350
  iconClassName = "text-black",
@@ -1200,10 +1352,10 @@ var PageSpinner = ({
1200
1352
  }) => {
1201
1353
  return (
1202
1354
  // z-[100] ensures it sits above absolute headers and modals
1203
- /* @__PURE__ */ import_react19.default.createElement("div", { className: `fixed inset-0 z-100 flex flex-col items-center justify-center w-full h-full pointer-events-none ${className}` }, /* @__PURE__ */ import_react19.default.createElement(
1204
- import_react20.HugeiconsIcon,
1355
+ /* @__PURE__ */ import_react21.default.createElement("div", { className: `fixed inset-0 z-100 flex flex-col items-center justify-center w-full h-full pointer-events-none ${className}` }, /* @__PURE__ */ import_react21.default.createElement(
1356
+ import_react22.HugeiconsIcon,
1205
1357
  {
1206
- icon: import_core_free_icons5.Loading03Icon,
1358
+ icon: import_core_free_icons7.Loading03Icon,
1207
1359
  size,
1208
1360
  className: `animate-spin mb-4 ${iconClassName}`
1209
1361
  }
@@ -1223,7 +1375,7 @@ var UniversalErrorView = ({
1223
1375
  returnLabel = "Return to Workspace"
1224
1376
  }) => {
1225
1377
  if (isBooting || isLoading && !activeData) {
1226
- return /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex items-center justify-center h-screen w-full bg-white" }, /* @__PURE__ */ import_react21.default.createElement(PageSpinner, null));
1378
+ return /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-center justify-center h-screen w-full bg-white" }, /* @__PURE__ */ import_react23.default.createElement(PageSpinner, null));
1227
1379
  }
1228
1380
  if (!isLoading && (!activeData || activeError)) {
1229
1381
  const errorString = typeof activeError === "string" ? activeError : JSON.stringify(activeError || "");
@@ -1234,7 +1386,7 @@ var UniversalErrorView = ({
1234
1386
  const apiMessage = typeof activeError === "string" && activeError.trim() !== "" ? activeError : null;
1235
1387
  let title = "Oops Connection Error";
1236
1388
  let description = apiMessage || `We could not load your request. Please check your connection and try again.`;
1237
- let IconComponent = import_core_free_icons6.ConfusedIcon;
1389
+ let IconComponent = import_core_free_icons8.ConfusedIcon;
1238
1390
  if (isNotFoundError) {
1239
1391
  title = "Oops its not your fault";
1240
1392
  description = apiMessage || `We could not reach the ${envName} you just loaded. Our team has been notified.`;
@@ -1242,7 +1394,7 @@ var UniversalErrorView = ({
1242
1394
  title = "Access Restricted";
1243
1395
  description = apiMessage || `You have insufficient permissions to view this ${envName}. Please contact your administrator.`;
1244
1396
  }
1245
- return /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex flex-col items-center justify-center h-screen w-full px-4 animate-in fade-in duration-500" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "mb-4 flex justify-center" }, /* @__PURE__ */ import_react21.default.createElement(import_react22.HugeiconsIcon, { icon: IconComponent, size: 48, className: "text-neutral-300" })), /* @__PURE__ */ import_react21.default.createElement("h2", { className: "text-lg text-black tracking-tight " }, title), /* @__PURE__ */ import_react21.default.createElement("p", { className: "text-xs mt-2 mb-8 text-neutral-500 max-w-sm text-center leading-relaxed" }, description), /* @__PURE__ */ import_react21.default.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 w-full justify-center sm:w-auto" }, isNotFoundError || isPermissionError ? /* @__PURE__ */ import_react21.default.createElement(
1397
+ return /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col items-center justify-center h-screen w-full px-4 animate-in fade-in duration-500" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "mb-4 flex justify-center" }, /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: IconComponent, size: 48, className: "text-neutral-300" })), /* @__PURE__ */ import_react23.default.createElement("h2", { className: "text-lg text-black tracking-tight " }, title), /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-xs mt-2 mb-8 text-neutral-500 max-w-sm text-center leading-relaxed" }, description), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 w-full justify-center sm:w-auto" }, isNotFoundError || isPermissionError ? /* @__PURE__ */ import_react23.default.createElement(
1246
1398
  "button",
1247
1399
  {
1248
1400
  onClick: () => window.location.href = returnUrl,
@@ -1251,14 +1403,14 @@ var UniversalErrorView = ({
1251
1403
  returnLabel
1252
1404
  ) : (
1253
1405
  // Soft errors (Network timeouts) allow them to retry or optionally retreat
1254
- /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, envName.toLowerCase().includes("application") && /* @__PURE__ */ import_react21.default.createElement(
1406
+ /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, envName.toLowerCase().includes("application") && /* @__PURE__ */ import_react23.default.createElement(
1255
1407
  "button",
1256
1408
  {
1257
1409
  onClick: () => window.location.href = returnUrl,
1258
1410
  className: "px-6 py-2 bg-transparent border border-neutral-200 text-neutral-500 hover:text-black hover:bg-neutral-50 rounded-full text-[11px] tracking-widest transition-colors w-full sm:w-auto outline-none "
1259
1411
  },
1260
1412
  "Back Home"
1261
- ), /* @__PURE__ */ import_react21.default.createElement(
1413
+ ), /* @__PURE__ */ import_react23.default.createElement(
1262
1414
  "button",
1263
1415
  {
1264
1416
  onClick: onRetry,
@@ -1273,11 +1425,11 @@ var UniversalErrorView = ({
1273
1425
  };
1274
1426
 
1275
1427
  // src/components/UniversalTransactionPage.tsx
1276
- var import_react23 = __toESM(require("react"));
1277
- var import_react24 = require("@hugeicons/react");
1428
+ var import_react25 = __toESM(require("react"));
1429
+ var import_react26 = require("@hugeicons/react");
1278
1430
  var import_react_hot_toast5 = __toESM(require("react-hot-toast"));
1279
- var import_core_free_icons7 = require("@hugeicons/core-free-icons");
1280
- var PageSpinner2 = () => /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
1431
+ var import_core_free_icons9 = require("@hugeicons/core-free-icons");
1432
+ var PageSpinner2 = () => /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
1281
1433
  var formatDate = (dateInput) => {
1282
1434
  const d = new Date(dateInput);
1283
1435
  const day = d.getDate();
@@ -1312,15 +1464,15 @@ var UniversalTransactionPage = ({
1312
1464
  onReportTransaction,
1313
1465
  onGenerateReceipt
1314
1466
  }) => {
1315
- const [selectedTransaction, setSelectedTransaction] = (0, import_react23.useState)(null);
1316
- const [isGeneratingReceipt, setIsGeneratingReceipt] = (0, import_react23.useState)(false);
1317
- const [localSearchQuery, setLocalSearchQuery] = (0, import_react23.useState)(searchQuery);
1318
- const [isTyping, setIsTyping] = (0, import_react23.useState)(false);
1319
- const [isDirectionModalOpen, setIsDirectionModalOpen] = (0, import_react23.useState)(false);
1320
- const [isTypeModalOpen, setIsTypeModalOpen] = (0, import_react23.useState)(false);
1321
- const directionDropdownRef = (0, import_react23.useRef)(null);
1322
- const typeDropdownRef = (0, import_react23.useRef)(null);
1323
- (0, import_react23.useEffect)(() => {
1467
+ const [selectedTransaction, setSelectedTransaction] = (0, import_react25.useState)(null);
1468
+ const [isGeneratingReceipt, setIsGeneratingReceipt] = (0, import_react25.useState)(false);
1469
+ const [localSearchQuery, setLocalSearchQuery] = (0, import_react25.useState)(searchQuery);
1470
+ const [isTyping, setIsTyping] = (0, import_react25.useState)(false);
1471
+ const [isDirectionModalOpen, setIsDirectionModalOpen] = (0, import_react25.useState)(false);
1472
+ const [isTypeModalOpen, setIsTypeModalOpen] = (0, import_react25.useState)(false);
1473
+ const directionDropdownRef = (0, import_react25.useRef)(null);
1474
+ const typeDropdownRef = (0, import_react25.useRef)(null);
1475
+ (0, import_react25.useEffect)(() => {
1324
1476
  function handleClickOutside(event) {
1325
1477
  if (directionDropdownRef.current && !directionDropdownRef.current.contains(event.target)) {
1326
1478
  setIsDirectionModalOpen(false);
@@ -1332,7 +1484,7 @@ var UniversalTransactionPage = ({
1332
1484
  document.addEventListener("mousedown", handleClickOutside);
1333
1485
  return () => document.removeEventListener("mousedown", handleClickOutside);
1334
1486
  }, []);
1335
- (0, import_react23.useEffect)(() => {
1487
+ (0, import_react25.useEffect)(() => {
1336
1488
  setIsTyping(true);
1337
1489
  const handler = setTimeout(() => {
1338
1490
  onSearchChange(localSearchQuery);
@@ -1340,7 +1492,7 @@ var UniversalTransactionPage = ({
1340
1492
  }, 600);
1341
1493
  return () => clearTimeout(handler);
1342
1494
  }, [localSearchQuery, onSearchChange]);
1343
- (0, import_react23.useEffect)(() => {
1495
+ (0, import_react25.useEffect)(() => {
1344
1496
  if (searchQuery === "" && localSearchQuery !== "") {
1345
1497
  setLocalSearchQuery("");
1346
1498
  }
@@ -1363,7 +1515,7 @@ var UniversalTransactionPage = ({
1363
1515
  }
1364
1516
  };
1365
1517
  const isListLoading = isLoading || isTyping;
1366
- return /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, /* @__PURE__ */ import_react23.default.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ import_react23.default.createElement(
1518
+ return /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, /* @__PURE__ */ import_react25.default.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ import_react25.default.createElement(
1367
1519
  "input",
1368
1520
  {
1369
1521
  type: "text",
@@ -1372,53 +1524,53 @@ var UniversalTransactionPage = ({
1372
1524
  onChange: (e) => setLocalSearchQuery(e.target.value),
1373
1525
  className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[13px] text-black placeholder-neutral-400 outline-none transition-colors focus:border-black"
1374
1526
  }
1375
- )), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0" }, /* @__PURE__ */ import_react23.default.createElement(
1527
+ )), /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0" }, /* @__PURE__ */ import_react25.default.createElement(
1376
1528
  "button",
1377
1529
  {
1378
1530
  onClick: () => setIsDirectionModalOpen(true),
1379
1531
  "aria-label": "Filter by payment type",
1380
1532
  className: "flex items-center justify-center bg-white w-10 h-10 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
1381
1533
  },
1382
- /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.SearchList02Icon, size: 16 })
1383
- ), /* @__PURE__ */ import_react23.default.createElement(
1534
+ /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.SearchList02Icon, size: 16 })
1535
+ ), /* @__PURE__ */ import_react25.default.createElement(
1384
1536
  "button",
1385
1537
  {
1386
1538
  onClick: () => setIsTypeModalOpen(true),
1387
1539
  "aria-label": "Filter by transaction type",
1388
1540
  className: "flex items-center justify-center bg-white w-10 h-10 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
1389
1541
  },
1390
- /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.ListSettingIcon, size: 16 })
1391
- ))), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ import_react23.default.createElement("div", null, /* @__PURE__ */ import_react23.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ import_react23.default.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ import_react23.default.createElement(PageSpinner2, null) : /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react23.default.createElement("div", null, transactions.length === 0 ? /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No transactions found") : transactions.map((tx) => /* @__PURE__ */ import_react23.default.createElement(
1542
+ /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.ListSettingIcon, size: 16 })
1543
+ ))), /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ import_react25.default.createElement("div", null, /* @__PURE__ */ import_react25.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ import_react25.default.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ import_react25.default.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ import_react25.default.createElement(PageSpinner2, null) : /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react25.default.createElement("div", null, transactions.length === 0 ? /* @__PURE__ */ import_react25.default.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No transactions found") : transactions.map((tx) => /* @__PURE__ */ import_react25.default.createElement(
1392
1544
  "div",
1393
1545
  {
1394
1546
  key: tx.id,
1395
1547
  onClick: () => setSelectedTransaction(tx),
1396
1548
  className: "flex items-center justify-between py-4 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
1397
1549
  },
1398
- /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: `w-10 h-10 shrink-0 rounded-full flex items-center justify-center bg-neutral-100 text-black` }, /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: tx.direction === "CREDIT" ? import_core_free_icons7.ArrowDownRight01Icon : import_core_free_icons7.ArrowUpRight01Icon, size: 18 })), /* @__PURE__ */ import_react23.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-[13px] text-black truncate" }, getDisplayName(tx)), /* @__PURE__ */ import_react23.default.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, tx.direction === "CREDIT" ? "+" : "-", tx.amount, " ", tx.currency))),
1399
- /* @__PURE__ */ import_react23.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] text-neutral-400" }, formatDate(tx.createdAt)), /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] text-neutral-400 capitalize" }, tx.direction.toLowerCase()))
1400
- ))), !hidePagination && /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react23.default.createElement(
1550
+ /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: `w-10 h-10 shrink-0 rounded-full flex items-center justify-center bg-neutral-100 text-black` }, /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: tx.direction === "CREDIT" ? import_core_free_icons9.ArrowDownRight01Icon : import_core_free_icons9.ArrowUpRight01Icon, size: 18 })), /* @__PURE__ */ import_react25.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ import_react25.default.createElement("p", { className: "text-[13px] text-black truncate" }, getDisplayName(tx)), /* @__PURE__ */ import_react25.default.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, tx.direction === "CREDIT" ? "+" : "-", tx.amount, " ", tx.currency))),
1551
+ /* @__PURE__ */ import_react25.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] text-neutral-400" }, formatDate(tx.createdAt)), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] text-neutral-400 capitalize" }, tx.direction.toLowerCase()))
1552
+ ))), !hidePagination && /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react25.default.createElement(
1401
1553
  "button",
1402
1554
  {
1403
1555
  onClick: () => onPageChange(currentPage - 1),
1404
1556
  disabled: currentPage <= 1 || isListLoading,
1405
1557
  className: "p-2 bg-white border border-neutral-200 rounded-full text-black hover:bg-neutral-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
1406
1558
  },
1407
- /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.ArrowLeft01Icon, size: 14 })
1408
- ), /* @__PURE__ */ import_react23.default.createElement(
1559
+ /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.ArrowLeft01Icon, size: 14 })
1560
+ ), /* @__PURE__ */ import_react25.default.createElement(
1409
1561
  "button",
1410
1562
  {
1411
1563
  onClick: () => onPageChange(currentPage + 1),
1412
1564
  disabled: currentPage >= totalPages || isListLoading || totalPages === 0,
1413
1565
  className: "p-2 bg-white border border-neutral-200 rounded-full text-black hover:bg-neutral-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
1414
1566
  },
1415
- /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.ArrowRight01Icon, size: 14 })
1416
- )))))), selectedTransaction && /* @__PURE__ */ import_react23.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react23.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Details"), /* @__PURE__ */ import_react23.default.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 bg-neutral-100 text-black` }, /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: selectedTransaction.direction === "CREDIT" ? import_core_free_icons7.ArrowDownRight01Icon : import_core_free_icons7.ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ import_react23.default.createElement("h2", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedTransaction.direction === "CREDIT" ? "+" : "-", selectedTransaction.amount, " ", selectedTransaction.currency), /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full bg-neutral-50" }, selectedTransaction.status)), /* @__PURE__ */ import_react23.default.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ import_react23.default.createElement("div", null, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[13px] text-black break-all" }, selectedTransaction.reference)), /* @__PURE__ */ import_react23.default.createElement("div", null, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Date & Time"), /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[13px] text-black" }, formatDate(selectedTransaction.createdAt), " at ", formatTime(selectedTransaction.createdAt))), /* @__PURE__ */ import_react23.default.createElement("div", null, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transaction Type"), /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.type.replace("_", " ").toLowerCase())), /* @__PURE__ */ import_react23.default.createElement("div", null, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Flow Direction"), /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.direction.toLowerCase())), selectedTransaction.metadata?.fromAddress && selectedTransaction.metadata?.toAddress && /* @__PURE__ */ import_react23.default.createElement("div", null, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transfer Route"), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-center gap-2 text-[13px] text-black" }, /* @__PURE__ */ import_react23.default.createElement("span", { className: "truncate " }, truncateAddress(String(selectedTransaction.metadata.fromAddress))), /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-neutral-400" }, "\u2192"), /* @__PURE__ */ import_react23.default.createElement("span", { className: "truncate " }, truncateAddress(String(selectedTransaction.metadata.toAddress))))), selectedTransaction.metadata && Object.entries(selectedTransaction.metadata).map(([key, value]) => {
1567
+ /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.ArrowRight01Icon, size: 14 })
1568
+ )))))), selectedTransaction && /* @__PURE__ */ import_react25.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ import_react25.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react25.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Details"), /* @__PURE__ */ import_react25.default.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 bg-neutral-100 text-black` }, /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: selectedTransaction.direction === "CREDIT" ? import_core_free_icons9.ArrowDownRight01Icon : import_core_free_icons9.ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ import_react25.default.createElement("h2", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedTransaction.direction === "CREDIT" ? "+" : "-", selectedTransaction.amount, " ", selectedTransaction.currency), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full bg-neutral-50" }, selectedTransaction.status)), /* @__PURE__ */ import_react25.default.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ import_react25.default.createElement("div", null, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[13px] text-black break-all" }, selectedTransaction.reference)), /* @__PURE__ */ import_react25.default.createElement("div", null, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Date & Time"), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[13px] text-black" }, formatDate(selectedTransaction.createdAt), " at ", formatTime(selectedTransaction.createdAt))), /* @__PURE__ */ import_react25.default.createElement("div", null, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transaction Type"), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.type.replace("_", " ").toLowerCase())), /* @__PURE__ */ import_react25.default.createElement("div", null, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Flow Direction"), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.direction.toLowerCase())), selectedTransaction.metadata?.fromAddress && selectedTransaction.metadata?.toAddress && /* @__PURE__ */ import_react25.default.createElement("div", null, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transfer Route"), /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center gap-2 text-[13px] text-black" }, /* @__PURE__ */ import_react25.default.createElement("span", { className: "truncate " }, truncateAddress(String(selectedTransaction.metadata.fromAddress))), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-neutral-400" }, "\u2192"), /* @__PURE__ */ import_react25.default.createElement("span", { className: "truncate " }, truncateAddress(String(selectedTransaction.metadata.toAddress))))), selectedTransaction.metadata && Object.entries(selectedTransaction.metadata).map(([key, value]) => {
1417
1569
  if (key === "fromAddress" || key === "toAddress") return null;
1418
1570
  if (value === null || value === void 0 || typeof value === "object") return null;
1419
1571
  const formattedKey = key.replace(/([A-Z])/g, " $1").replace(/^./, (str) => str.toUpperCase());
1420
- return /* @__PURE__ */ import_react23.default.createElement("div", { key }, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, formattedKey), /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[13px] text-black break-all" }, String(value)));
1421
- })), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react23.default.createElement(
1572
+ return /* @__PURE__ */ import_react25.default.createElement("div", { key }, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, formattedKey), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[13px] text-black break-all" }, String(value)));
1573
+ })), /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react25.default.createElement(
1422
1574
  ThreeDActionButton,
1423
1575
  {
1424
1576
  onClick: handleGenerateReceipt,
@@ -1426,14 +1578,14 @@ var UniversalTransactionPage = ({
1426
1578
  className: "w-full py-3 text-[14px]"
1427
1579
  },
1428
1580
  "Generate Receipt"
1429
- ), /* @__PURE__ */ import_react23.default.createElement(
1581
+ ), /* @__PURE__ */ import_react25.default.createElement(
1430
1582
  "button",
1431
1583
  {
1432
1584
  onClick: () => onReportTransaction && onReportTransaction(selectedTransaction),
1433
1585
  className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-[13px] tracking-wide mt-2"
1434
1586
  },
1435
1587
  "Report Transaction"
1436
- ), selectedTransaction.type === "WALLET_TRANSACTION" && /* @__PURE__ */ import_react23.default.createElement(
1588
+ ), selectedTransaction.type === "WALLET_TRANSACTION" && /* @__PURE__ */ import_react25.default.createElement(
1437
1589
  "a",
1438
1590
  {
1439
1591
  href: `https://basescan.org/tx/${selectedTransaction.reference}`,
@@ -1442,7 +1594,7 @@ var UniversalTransactionPage = ({
1442
1594
  className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none text-[13px] tracking-wide mt-2"
1443
1595
  },
1444
1596
  "View in block explorer"
1445
- ))))), isDirectionModalOpen && /* @__PURE__ */ import_react23.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ import_react23.default.createElement("div", { ref: directionDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ import_react23.default.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Payment Type")), /* @__PURE__ */ import_react23.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "CREDIT", "DEBIT"].map((option) => /* @__PURE__ */ import_react23.default.createElement(
1597
+ ))))), isDirectionModalOpen && /* @__PURE__ */ import_react25.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ import_react25.default.createElement("div", { ref: directionDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ import_react25.default.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Payment Type")), /* @__PURE__ */ import_react25.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "CREDIT", "DEBIT"].map((option) => /* @__PURE__ */ import_react25.default.createElement(
1446
1598
  "button",
1447
1599
  {
1448
1600
  key: option,
@@ -1452,19 +1604,19 @@ var UniversalTransactionPage = ({
1452
1604
  },
1453
1605
  className: `text-left px-4 py-3 text-[11px] tracking-wide transition-colors rounded-full flex items-center justify-between outline-none ${activeDirectionFilter === option ? "bg-neutral-100 text-black " : "text-neutral-500 hover:bg-neutral-50 hover:text-black"}`
1454
1606
  },
1455
- /* @__PURE__ */ import_react23.default.createElement("span", { className: "truncate pr-2" }, option.charAt(0).toUpperCase() + option.slice(1).toLowerCase())
1456
- ))), /* @__PURE__ */ import_react23.default.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ import_react23.default.createElement(
1607
+ /* @__PURE__ */ import_react25.default.createElement("span", { className: "truncate pr-2" }, option.charAt(0).toUpperCase() + option.slice(1).toLowerCase())
1608
+ ))), /* @__PURE__ */ import_react25.default.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ import_react25.default.createElement(
1457
1609
  "button",
1458
1610
  {
1459
1611
  onClick: () => setIsDirectionModalOpen(false),
1460
1612
  className: "w-full py-4 text-[13px] text-neutral-500 hover:text-black transition-colors outline-none "
1461
1613
  },
1462
1614
  "Cancel"
1463
- )))), isTypeModalOpen && /* @__PURE__ */ import_react23.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ import_react23.default.createElement("div", { ref: typeDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ import_react23.default.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Transactions Type")), /* @__PURE__ */ import_react23.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, [
1615
+ )))), isTypeModalOpen && /* @__PURE__ */ import_react25.default.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ import_react25.default.createElement("div", { ref: typeDropdownRef, className: "relative w-72 bg-white shadow-2xl rounded-2xl flex flex-col items-center overflow-hidden animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ import_react25.default.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Transactions Type")), /* @__PURE__ */ import_react25.default.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, [
1464
1616
  { label: "All Transactions", value: "ALL" },
1465
1617
  { label: "Wallet Transactions", value: "WALLET_TRANSACTION" },
1466
1618
  { label: "Card Transactions", value: "CARD_TRANSACTION" }
1467
- ].map((option) => /* @__PURE__ */ import_react23.default.createElement(
1619
+ ].map((option) => /* @__PURE__ */ import_react25.default.createElement(
1468
1620
  "button",
1469
1621
  {
1470
1622
  key: option.value,
@@ -1474,8 +1626,8 @@ var UniversalTransactionPage = ({
1474
1626
  },
1475
1627
  className: `text-left px-4 py-3 text-[11px] tracking-wide transition-colors rounded-full flex items-center justify-between outline-none ${activeTypeFilter === option.value ? "bg-neutral-100 text-black " : "text-neutral-500 hover:bg-neutral-50 hover:text-black"}`
1476
1628
  },
1477
- /* @__PURE__ */ import_react23.default.createElement("span", { className: "truncate pr-2" }, option.label.charAt(0).toUpperCase() + option.label.slice(1).toLowerCase())
1478
- ))), /* @__PURE__ */ import_react23.default.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ import_react23.default.createElement(
1629
+ /* @__PURE__ */ import_react25.default.createElement("span", { className: "truncate pr-2" }, option.label.charAt(0).toUpperCase() + option.label.slice(1).toLowerCase())
1630
+ ))), /* @__PURE__ */ import_react25.default.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ import_react25.default.createElement(
1479
1631
  "button",
1480
1632
  {
1481
1633
  onClick: () => setIsTypeModalOpen(false),
@@ -1486,9 +1638,9 @@ var UniversalTransactionPage = ({
1486
1638
  };
1487
1639
 
1488
1640
  // src/components/UniversalHomeView.tsx
1489
- var import_react25 = __toESM(require("react"));
1490
- var import_react26 = require("@hugeicons/react");
1491
- var import_core_free_icons8 = require("@hugeicons/core-free-icons");
1641
+ var import_react27 = __toESM(require("react"));
1642
+ var import_react28 = require("@hugeicons/react");
1643
+ var import_core_free_icons10 = require("@hugeicons/core-free-icons");
1492
1644
  var UniversalHomeView = ({
1493
1645
  balanceLabel = "Your Balance",
1494
1646
  balanceAmount,
@@ -1497,9 +1649,9 @@ var UniversalHomeView = ({
1497
1649
  secondaryAction,
1498
1650
  transactionsProps
1499
1651
  }) => {
1500
- const [displayAmount, setDisplayAmount] = (0, import_react25.useState)("0.00");
1501
- const [isBalanceHidden, setIsBalanceHidden] = (0, import_react25.useState)(false);
1502
- (0, import_react25.useEffect)(() => {
1652
+ const [displayAmount, setDisplayAmount] = (0, import_react27.useState)("0.00");
1653
+ const [isBalanceHidden, setIsBalanceHidden] = (0, import_react27.useState)(false);
1654
+ (0, import_react27.useEffect)(() => {
1503
1655
  const target = parseFloat(balanceAmount.replace(/,/g, ""));
1504
1656
  if (isNaN(target)) {
1505
1657
  setDisplayAmount(balanceAmount);
@@ -1528,29 +1680,29 @@ var UniversalHomeView = ({
1528
1680
  requestAnimationFrame(step);
1529
1681
  }, [balanceAmount]);
1530
1682
  const [intPart, decPart] = displayAmount.includes(".") ? displayAmount.split(".") : [displayAmount, "00"];
1531
- return /* @__PURE__ */ import_react25.default.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "relative flex items-start justify-between w-full pt-4 pb-8" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col items-start text-left z-10 w-full" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center gap-2 mb-1.5" }, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[12px] sm:text-[13px] text-neutral-500" }, balanceLabel), /* @__PURE__ */ import_react25.default.createElement(
1683
+ return /* @__PURE__ */ import_react27.default.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "relative flex items-start justify-between w-full pt-4 pb-8" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col items-start text-left z-10 w-full" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center gap-2 mb-1.5" }, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[12px] sm:text-[13px] text-neutral-500" }, balanceLabel), /* @__PURE__ */ import_react27.default.createElement(
1532
1684
  "button",
1533
1685
  {
1534
1686
  onClick: () => setIsBalanceHidden(!isBalanceHidden),
1535
1687
  className: "text-neutral-400 hover:text-black transition-colors outline-none"
1536
1688
  },
1537
- /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: isBalanceHidden ? import_core_free_icons8.ViewIcon : import_core_free_icons8.ViewOffSlashIcon, size: 14 })
1538
- )), /* @__PURE__ */ import_react25.default.createElement("h1", { className: `text-3xl sm:text-4xl md:text-5xl text-black tracking-tight mb-5 tabular-nums flex items-baseline transition-all duration-300 ${isBalanceHidden ? "blur-sm opacity-40 select-none" : ""}` }, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-xl sm:text-2xl text-neutral-400 mr-1" }, balanceCurrency), intPart, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-xl sm:text-2xl text-neutral-400" }, ".", decPart)), /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center gap-3" }, primaryAction && /* @__PURE__ */ import_react25.default.createElement(
1689
+ /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: isBalanceHidden ? import_core_free_icons10.ViewIcon : import_core_free_icons10.ViewOffSlashIcon, size: 14 })
1690
+ )), /* @__PURE__ */ import_react27.default.createElement("h1", { className: `text-3xl sm:text-4xl md:text-5xl text-black tracking-tight mb-5 tabular-nums flex items-baseline transition-all duration-300 ${isBalanceHidden ? "blur-sm opacity-40 select-none" : ""}` }, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-xl sm:text-2xl text-neutral-400 mr-1" }, balanceCurrency), intPart, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-xl sm:text-2xl text-neutral-400" }, ".", decPart)), /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center gap-3" }, primaryAction && /* @__PURE__ */ import_react27.default.createElement(
1539
1691
  ThreeDActionButton,
1540
1692
  {
1541
1693
  onClick: primaryAction.onClick,
1542
1694
  className: "px-6 py-2.5 sm:px-8 sm:py-2.5"
1543
1695
  },
1544
- /* @__PURE__ */ import_react25.default.createElement("span", { className: "flex items-center gap-1.5 text-[13px] tracking-wide " }, primaryAction.label, primaryAction.icon && /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: primaryAction.icon, size: 16 }))
1545
- ), secondaryAction && /* @__PURE__ */ import_react25.default.createElement(
1696
+ /* @__PURE__ */ import_react27.default.createElement("span", { className: "flex items-center gap-1.5 text-[13px] tracking-wide " }, primaryAction.label, primaryAction.icon && /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: primaryAction.icon, size: 16 }))
1697
+ ), secondaryAction && /* @__PURE__ */ import_react27.default.createElement(
1546
1698
  "button",
1547
1699
  {
1548
1700
  onClick: secondaryAction.onClick,
1549
1701
  className: "flex items-center gap-1.5 px-6 py-2.5 sm:px-8 sm:py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 transition-colors outline-none"
1550
1702
  },
1551
- /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[13px] tracking-wide " }, secondaryAction.label),
1552
- secondaryAction.icon && /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: secondaryAction.icon, size: 16 })
1553
- )))), /* @__PURE__ */ import_react25.default.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ import_react25.default.createElement(
1703
+ /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[13px] tracking-wide " }, secondaryAction.label),
1704
+ secondaryAction.icon && /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: secondaryAction.icon, size: 16 })
1705
+ )))), /* @__PURE__ */ import_react27.default.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ import_react27.default.createElement(
1554
1706
  UniversalTransactionPage,
1555
1707
  {
1556
1708
  ...transactionsProps,
@@ -1562,14 +1714,14 @@ var UniversalHomeView = ({
1562
1714
  };
1563
1715
 
1564
1716
  // src/components/UniversalWalletPage.tsx
1565
- var import_react27 = __toESM(require("react"));
1717
+ var import_react29 = __toESM(require("react"));
1566
1718
  var import_react_hot_toast6 = __toESM(require("react-hot-toast"));
1567
- var import_react28 = require("@hugeicons/react");
1568
- var import_core_free_icons9 = require("@hugeicons/core-free-icons");
1569
- var PageSpinner3 = () => /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
1719
+ var import_react30 = require("@hugeicons/react");
1720
+ var import_core_free_icons11 = require("@hugeicons/core-free-icons");
1721
+ var PageSpinner3 = () => /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react29.default.createElement(import_react30.HugeiconsIcon, { icon: import_core_free_icons11.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
1570
1722
  var WalletLogo = ({ src, alt, sizeClass = "w-10 h-10" }) => {
1571
- const [isLoaded, setIsLoaded] = (0, import_react27.useState)(false);
1572
- return /* @__PURE__ */ import_react27.default.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden ${sizeClass}` }, !isLoaded && /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.Loading03Icon, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ import_react27.default.createElement(
1723
+ const [isLoaded, setIsLoaded] = (0, import_react29.useState)(false);
1724
+ return /* @__PURE__ */ import_react29.default.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden ${sizeClass}` }, !isLoaded && /* @__PURE__ */ import_react29.default.createElement(import_react30.HugeiconsIcon, { icon: import_core_free_icons11.Loading03Icon, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ import_react29.default.createElement(
1573
1725
  "img",
1574
1726
  {
1575
1727
  src,
@@ -1591,8 +1743,8 @@ var UniversalWalletPage = ({
1591
1743
  onDownloadPayId,
1592
1744
  onCopyAddress
1593
1745
  }) => {
1594
- const [selectedWallet, setSelectedWallet] = (0, import_react27.useState)(null);
1595
- const [localSearchQuery, setLocalSearchQuery] = (0, import_react27.useState)("");
1746
+ const [selectedWallet, setSelectedWallet] = (0, import_react29.useState)(null);
1747
+ const [localSearchQuery, setLocalSearchQuery] = (0, import_react29.useState)("");
1596
1748
  const filteredWallets = wallets.filter((wallet) => {
1597
1749
  const q = localSearchQuery.toLowerCase();
1598
1750
  return wallet.name.toLowerCase().includes(q) || wallet.currency.toLowerCase().includes(q) || wallet.network.toLowerCase().includes(q);
@@ -1605,7 +1757,7 @@ var UniversalWalletPage = ({
1605
1757
  }
1606
1758
  import_react_hot_toast6.default.success("Address copied to clipboard");
1607
1759
  };
1608
- return /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, /* @__PURE__ */ import_react27.default.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ import_react27.default.createElement(
1760
+ return /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, /* @__PURE__ */ import_react29.default.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ import_react29.default.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ import_react29.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react29.default.createElement(import_react30.HugeiconsIcon, { icon: import_core_free_icons11.Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ import_react29.default.createElement(
1609
1761
  "input",
1610
1762
  {
1611
1763
  type: "text",
@@ -1614,16 +1766,16 @@ var UniversalWalletPage = ({
1614
1766
  onChange: (e) => setLocalSearchQuery(e.target.value),
1615
1767
  className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-[13px] text-black placeholder-neutral-400 outline-none transition-all duration-300 focus:border-black"
1616
1768
  }
1617
- ))), /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ import_react27.default.createElement("div", null, /* @__PURE__ */ import_react27.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ import_react27.default.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ import_react27.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react27.default.createElement(PageSpinner3, null) : /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react27.default.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ import_react27.default.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ import_react27.default.createElement(
1769
+ ))), /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ import_react29.default.createElement("div", null, /* @__PURE__ */ import_react29.default.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ import_react29.default.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ import_react29.default.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ import_react29.default.createElement(PageSpinner3, null) : /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ import_react29.default.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ import_react29.default.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ import_react29.default.createElement(
1618
1770
  "div",
1619
1771
  {
1620
1772
  key: wallet.id,
1621
1773
  onClick: () => setSelectedWallet(wallet),
1622
1774
  className: "flex items-center justify-between py-4 hover:bg-neutral-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl"
1623
1775
  },
1624
- /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react27.default.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), /* @__PURE__ */ import_react27.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ import_react27.default.createElement("p", { className: "text-[13px] text-black truncate " }, wallet.name), /* @__PURE__ */ import_react27.default.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, wallet.balance, " ", wallet.currency))),
1625
- /* @__PURE__ */ import_react27.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[10px] tracking-wide text-neutral-600 bg-neutral-100 px-2.5 py-1 rounded-full " }, wallet.network))
1626
- )))))), selectedWallet && /* @__PURE__ */ import_react27.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ import_react27.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react27.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ import_react27.default.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ import_react27.default.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ import_react27.default.createElement("h2", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedWallet.balance, " ", selectedWallet.currency), /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full border border-neutral-200 uppercase mt-1 " }, selectedWallet.network, " NETWORK")), renderQrCode && /* @__PURE__ */ import_react27.default.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), /* @__PURE__ */ import_react27.default.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ import_react27.default.createElement("div", null, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[13px] text-black break-all " }, selectedWallet.address)), /* @__PURE__ */ import_react27.default.createElement("div", null, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Name"), /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[13px] text-black" }, selectedWallet.name))), /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react27.default.createElement(
1776
+ /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react29.default.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), /* @__PURE__ */ import_react29.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ import_react29.default.createElement("p", { className: "text-[13px] text-black truncate " }, wallet.name), /* @__PURE__ */ import_react29.default.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, wallet.balance, " ", wallet.currency))),
1777
+ /* @__PURE__ */ import_react29.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react29.default.createElement("span", { className: "text-[10px] tracking-wide text-neutral-600 bg-neutral-100 px-2.5 py-1 rounded-full " }, wallet.network))
1778
+ )))))), selectedWallet && /* @__PURE__ */ import_react29.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react29.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ import_react29.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react29.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ import_react29.default.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react29.default.createElement(import_react30.HugeiconsIcon, { icon: import_core_free_icons11.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ import_react29.default.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ import_react29.default.createElement("h2", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedWallet.balance, " ", selectedWallet.currency), /* @__PURE__ */ import_react29.default.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full border border-neutral-200 uppercase mt-1 " }, selectedWallet.network, " NETWORK")), renderQrCode && /* @__PURE__ */ import_react29.default.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), /* @__PURE__ */ import_react29.default.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ import_react29.default.createElement("div", null, /* @__PURE__ */ import_react29.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ import_react29.default.createElement("span", { className: "text-[13px] text-black break-all " }, selectedWallet.address)), /* @__PURE__ */ import_react29.default.createElement("div", null, /* @__PURE__ */ import_react29.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Name"), /* @__PURE__ */ import_react29.default.createElement("span", { className: "text-[13px] text-black" }, selectedWallet.name))), /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react29.default.createElement(
1627
1779
  ThreeDActionButton,
1628
1780
  {
1629
1781
  onClick: () => onDownloadPayId && onDownloadPayId(selectedWallet),
@@ -1631,7 +1783,7 @@ var UniversalWalletPage = ({
1631
1783
  className: "w-full py-3 text-[13px]"
1632
1784
  },
1633
1785
  "Generate Statement"
1634
- ), /* @__PURE__ */ import_react27.default.createElement(
1786
+ ), /* @__PURE__ */ import_react29.default.createElement(
1635
1787
  "button",
1636
1788
  {
1637
1789
  onClick: () => handleCopy(selectedWallet),
@@ -1642,55 +1794,14 @@ var UniversalWalletPage = ({
1642
1794
  };
1643
1795
 
1644
1796
  // src/components/UniversalCardPage.tsx
1645
- var import_react33 = __toESM(require("react"));
1646
- var import_react34 = require("@hugeicons/react");
1647
- var import_core_free_icons12 = require("@hugeicons/core-free-icons");
1648
-
1649
- // src/components/ConfirmationDialog.tsx
1650
- var import_react29 = __toESM(require("react"));
1651
- var import_react30 = require("@hugeicons/react");
1652
- var import_core_free_icons10 = require("@hugeicons/core-free-icons");
1653
- var ConfirmationDialog = ({
1654
- isOpen,
1655
- title,
1656
- message,
1657
- confirmText = "Confirm",
1658
- cancelText = "Cancel",
1659
- isProcessing = false,
1660
- isDestructive = true,
1661
- onClose,
1662
- onConfirm
1663
- }) => {
1664
- if (!isOpen) return null;
1665
- return /* @__PURE__ */ import_react29.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react29.default.createElement(
1666
- "div",
1667
- {
1668
- className: "absolute inset-0 bg-black/40 ",
1669
- onClick: () => !isProcessing && onClose()
1670
- }
1671
- ), /* @__PURE__ */ import_react29.default.createElement("div", { className: "relative w-72 bg-white rounded-2xl flex flex-col items-center overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react29.default.createElement("div", { className: "p-6 pb-4 text-center w-full" }, /* @__PURE__ */ import_react29.default.createElement("h3", { className: "text-[17px] text-black tracking-tight mb-2" }, title), /* @__PURE__ */ import_react29.default.createElement("p", { className: "text-[12px] text-neutral-500 leading-relaxed px-2" }, message)), /* @__PURE__ */ import_react29.default.createElement("div", { className: "w-full flex" }, /* @__PURE__ */ import_react29.default.createElement(
1672
- "button",
1673
- {
1674
- onClick: onClose,
1675
- disabled: isProcessing,
1676
- className: "flex-1 py-4 text-[14px] text-neutral-500 hover:bg-neutral-50 transition-colors disabled:opacity-50 outline-none "
1677
- },
1678
- cancelText
1679
- ), /* @__PURE__ */ import_react29.default.createElement(
1680
- "button",
1681
- {
1682
- onClick: onConfirm,
1683
- disabled: isProcessing,
1684
- className: `flex-1 py-4 text-[13px] transition-colors disabled:opacity-50 flex justify-center items-center outline-none ${isDestructive ? "text-red-500 hover:bg-red-50" : "text-black hover:bg-neutral-50"}`
1685
- },
1686
- isProcessing ? /* @__PURE__ */ import_react29.default.createElement(import_react30.HugeiconsIcon, { icon: import_core_free_icons10.Loading03Icon, className: "animate-spin", size: 18 }) : confirmText
1687
- ))));
1688
- };
1797
+ var import_react35 = __toESM(require("react"));
1798
+ var import_react36 = require("@hugeicons/react");
1799
+ var import_core_free_icons14 = require("@hugeicons/core-free-icons");
1689
1800
 
1690
1801
  // src/components/PinDialerBottomSheet.tsx
1691
1802
  var import_react31 = __toESM(require("react"));
1692
1803
  var import_react32 = require("@hugeicons/react");
1693
- var import_core_free_icons11 = require("@hugeicons/core-free-icons");
1804
+ var import_core_free_icons12 = require("@hugeicons/core-free-icons");
1694
1805
  var PinDialerBottomSheet = ({
1695
1806
  isOpen,
1696
1807
  title = "Action Required",
@@ -1733,26 +1844,26 @@ var PinDialerBottomSheet = ({
1733
1844
  },
1734
1845
  className: "text-neutral-400 hover:text-black transition-colors outline-none"
1735
1846
  },
1736
- /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons11.CancelCircleIcon, size: 20 })
1847
+ /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons12.CancelCircleIcon, size: 20 })
1737
1848
  )), /* @__PURE__ */ import_react31.default.createElement("div", { className: "flex flex-col px-6 pb-8 pt-2 relative" }, /* @__PURE__ */ import_react31.default.createElement("div", { className: "flex justify-center gap-4 mb-8" }, [0, 1, 2, 3].map((i) => /* @__PURE__ */ import_react31.default.createElement(
1738
1849
  "div",
1739
1850
  {
1740
1851
  key: i,
1741
1852
  className: `w-2 h-2 rounded-full transition-colors duration-200 ${pin.length > i ? "bg-black" : "bg-neutral-200"}`
1742
1853
  }
1743
- ))), isVerifying && /* @__PURE__ */ import_react31.default.createElement("div", { className: "absolute inset-0 bg-white/80 backdrop-blur-sm z-10 flex items-center justify-center rounded-b-2xl" }, /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons11.Loading03Icon, size: 28, className: "animate-spin text-black" })), /* @__PURE__ */ import_react31.default.createElement("div", { className: "grid grid-cols-3 gap-y-4 gap-x-6 max-w-60 mx-auto" }, [1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => /* @__PURE__ */ import_react31.default.createElement(
1854
+ ))), isVerifying && /* @__PURE__ */ import_react31.default.createElement("div", { className: "absolute inset-0 bg-white/80 backdrop-blur-sm z-10 flex items-center justify-center rounded-b-2xl" }, /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons12.Loading03Icon, size: 28, className: "animate-spin text-black" })), /* @__PURE__ */ import_react31.default.createElement("div", { className: "grid grid-cols-3 gap-y-4 gap-x-6 max-w-60 mx-auto" }, [1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => /* @__PURE__ */ import_react31.default.createElement(
1744
1855
  "button",
1745
1856
  {
1746
1857
  key: num,
1747
1858
  onClick: () => handlePinPress(num),
1748
- className: "w-14 h-14 rounded-full flex border border-neutral-200 items-center justify-center text-sm text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1859
+ className: "w-14 h-14 rounded-full flex bg-neutral-50 items-center justify-center text-sm text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1749
1860
  },
1750
1861
  num
1751
1862
  )), /* @__PURE__ */ import_react31.default.createElement("div", null), " ", /* @__PURE__ */ import_react31.default.createElement(
1752
1863
  "button",
1753
1864
  {
1754
1865
  onClick: () => handlePinPress(0),
1755
- className: "w-14 h-14 rounded-full flex border border-neutral-200 items-center justify-center text-sm text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1866
+ className: "w-14 h-14 rounded-full flex bg-neutral-50 items-center justify-center text-sm text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1756
1867
  },
1757
1868
  "0"
1758
1869
  ), /* @__PURE__ */ import_react31.default.createElement(
@@ -1761,49 +1872,98 @@ var PinDialerBottomSheet = ({
1761
1872
  onClick: () => handlePinPress("del"),
1762
1873
  className: "w-14 h-14 rounded-full flex items-center justify-center text-neutral-400 hover:text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1763
1874
  },
1764
- /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons11.CancelCircleIcon, size: 20 })
1875
+ /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons12.LessThanIcon, size: 20 })
1765
1876
  )))));
1766
1877
  };
1767
1878
 
1879
+ // src/components/CardAction.tsx
1880
+ var import_react33 = __toESM(require("react"));
1881
+ var import_react34 = require("@hugeicons/react");
1882
+ var import_core_free_icons13 = require("@hugeicons/core-free-icons");
1883
+ var CardActionDialog = ({
1884
+ isOpen,
1885
+ card,
1886
+ actionType,
1887
+ onClose,
1888
+ onProceed
1889
+ }) => {
1890
+ if (!isOpen || !card) return null;
1891
+ const title = actionType === "ACTIVATE" ? "Activate Card" : "Create New Card";
1892
+ const description = actionType === "ACTIVATE" ? `You are about to activate your ${card.type.toLowerCase()} card. Once activated, you can view details and set limits.` : `Your current ${card.type.toLowerCase()} card is ${card.status.toLowerCase()}. You need to provision a new one to continue.`;
1893
+ return /* @__PURE__ */ import_react33.default.createElement("div", { className: "fixed inset-0 z-150 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react33.default.createElement(
1894
+ "div",
1895
+ {
1896
+ className: "absolute inset-0 bg-black/40 animate-in fade-in duration-200",
1897
+ onClick: onClose
1898
+ }
1899
+ ), /* @__PURE__ */ import_react33.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons13.CreditCardIcon, size: 20, className: "text-black" }), /* @__PURE__ */ import_react33.default.createElement("h3", { className: "text-[16px] text-black font-medium tracking-tight" }, title)), /* @__PURE__ */ import_react33.default.createElement(
1900
+ "button",
1901
+ {
1902
+ onClick: onClose,
1903
+ className: "text-neutral-400 hover:text-black transition-colors outline-none"
1904
+ },
1905
+ /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons13.CancelCircleIcon, size: 20 })
1906
+ )), /* @__PURE__ */ import_react33.default.createElement("div", { className: "p-6 text-center" }, /* @__PURE__ */ import_react33.default.createElement("p", { className: "text-[13px] text-neutral-500 leading-relaxed mb-6" }, description), /* @__PURE__ */ import_react33.default.createElement(
1907
+ "button",
1908
+ {
1909
+ onClick: onProceed,
1910
+ className: "w-full py-3.5 bg-black text-white text-[13px] font-medium rounded-xl hover:bg-neutral-800 transition-colors outline-none active:scale-95"
1911
+ },
1912
+ actionType === "ACTIVATE" ? "Activate Now" : "Create Card"
1913
+ ))));
1914
+ };
1915
+
1768
1916
  // src/components/UniversalCardPage.tsx
1769
1917
  var UniversalCardPage = ({
1770
- cardHolderName,
1771
- cardNumber,
1772
- expiry,
1773
- cvv,
1774
- cardBgSrc,
1775
- backgroundOverlay,
1776
- companyLogoSrc,
1777
- networkLogoSrc,
1918
+ cards = [],
1778
1919
  onReveal,
1779
1920
  onFreeze,
1780
1921
  onSetLimits,
1781
- onDelete
1922
+ onDelete,
1923
+ onCardAction
1782
1924
  }) => {
1783
- const [isFlipped, setIsFlipped] = (0, import_react33.useState)(false);
1784
- const [isBgLoaded, setIsBgLoaded] = (0, import_react33.useState)(false);
1785
- const [isRevealed, setIsRevealed] = (0, import_react33.useState)(false);
1786
- const [isRevealing, setIsRevealing] = (0, import_react33.useState)(false);
1787
- const [isFrozen, setIsFrozen] = (0, import_react33.useState)(false);
1788
- const [isFreezing, setIsFreezing] = (0, import_react33.useState)(false);
1789
- const [showDeleteDialog, setShowDeleteDialog] = (0, import_react33.useState)(false);
1790
- const [isDeleting, setIsDeleting] = (0, import_react33.useState)(false);
1791
- const [showPinDialer, setShowPinDialer] = (0, import_react33.useState)(false);
1792
- (0, import_react33.useEffect)(() => {
1793
- if (!cardBgSrc) return;
1925
+ const [activeTabIndex, setActiveTabIndex] = (0, import_react35.useState)(0);
1926
+ const activeCard = cards[activeTabIndex];
1927
+ (0, import_react35.useEffect)(() => {
1928
+ setIsFlipped(false);
1929
+ setIsRevealed(false);
1930
+ }, [activeTabIndex]);
1931
+ const [isFlipped, setIsFlipped] = (0, import_react35.useState)(false);
1932
+ const [isBgLoaded, setIsBgLoaded] = (0, import_react35.useState)(false);
1933
+ const [isRevealed, setIsRevealed] = (0, import_react35.useState)(false);
1934
+ const [isRevealing, setIsRevealing] = (0, import_react35.useState)(false);
1935
+ const [isFreezing, setIsFreezing] = (0, import_react35.useState)(false);
1936
+ const [isOverlayActionLoading, setIsOverlayActionLoading] = (0, import_react35.useState)(false);
1937
+ const [showDeleteDialog, setShowDeleteDialog] = (0, import_react35.useState)(false);
1938
+ const [isDeleting, setIsDeleting] = (0, import_react35.useState)(false);
1939
+ const [showPinDialer, setShowPinDialer] = (0, import_react35.useState)(false);
1940
+ const [showCardActionDialog, setShowCardActionDialog] = (0, import_react35.useState)(false);
1941
+ const [cardActionType, setCardActionType] = (0, import_react35.useState)("ACTIVATE");
1942
+ (0, import_react35.useEffect)(() => {
1943
+ setIsBgLoaded(false);
1944
+ if (!activeCard?.cardBgSrc) return;
1794
1945
  const img = new Image();
1795
- img.src = cardBgSrc;
1946
+ img.src = activeCard.cardBgSrc;
1796
1947
  img.onload = () => {
1797
1948
  setTimeout(() => setIsBgLoaded(true), 300);
1798
1949
  };
1799
- }, [cardBgSrc]);
1950
+ }, [activeCard?.cardBgSrc]);
1951
+ if (!activeCard) return /* @__PURE__ */ import_react35.default.createElement("div", { className: "text-center p-8 text-neutral-500" }, "No cards available");
1952
+ const isActivated = activeCard.status === "ACTIVATED";
1953
+ const isFrozen = activeCard.status === "FROZEN";
1954
+ const isUnactivated = activeCard.status === "UNACTIVATED";
1955
+ const isDead = ["BLOCKED", "EXPIRED", "DELETED"].includes(activeCard.status);
1956
+ const canFlip = isBgLoaded && isActivated;
1957
+ const actionsDisabled = !isActivated && !isFrozen;
1958
+ const revealDisabled = !isActivated;
1959
+ const freezeDisabled = isUnactivated || isDead;
1800
1960
  const handleToggleReveal = () => {
1801
- if (isRevealing) return;
1961
+ if (revealDisabled || isRevealing) return;
1802
1962
  if (isRevealed) {
1803
1963
  setIsRevealed(false);
1804
1964
  setIsRevealing(true);
1805
1965
  setTimeout(() => {
1806
- if (onReveal) onReveal();
1966
+ if (onReveal) onReveal(activeCard.id);
1807
1967
  setIsRevealing(false);
1808
1968
  }, 800);
1809
1969
  } else {
@@ -1815,67 +1975,125 @@ var UniversalCardPage = ({
1815
1975
  setTimeout(() => {
1816
1976
  setShowPinDialer(false);
1817
1977
  setIsRevealed(true);
1818
- if (onReveal) onReveal();
1978
+ if (onReveal) onReveal(activeCard.id);
1819
1979
  setIsRevealing(false);
1820
1980
  }, 1e3);
1821
1981
  };
1822
1982
  const handleToggleFreeze = () => {
1823
- if (isFreezing) return;
1983
+ if (freezeDisabled || isFreezing) return;
1824
1984
  setIsFreezing(true);
1825
1985
  setTimeout(() => {
1826
- setIsFrozen(!isFrozen);
1827
- if (onFreeze) onFreeze();
1986
+ if (onFreeze) onFreeze(activeCard.id);
1828
1987
  setIsFreezing(false);
1829
1988
  }, 800);
1830
1989
  };
1990
+ const handleOverlayUnfreeze = () => {
1991
+ if (isOverlayActionLoading) return;
1992
+ setIsOverlayActionLoading(true);
1993
+ setTimeout(() => {
1994
+ if (onFreeze) onFreeze(activeCard.id);
1995
+ setIsOverlayActionLoading(false);
1996
+ }, 800);
1997
+ };
1998
+ const handleOverlayActionClick = (type) => {
1999
+ setCardActionType(type);
2000
+ setShowCardActionDialog(true);
2001
+ };
1831
2002
  const confirmDelete = async () => {
1832
2003
  setIsDeleting(true);
1833
2004
  setTimeout(() => {
1834
- if (onDelete) onDelete();
2005
+ if (onDelete) onDelete(activeCard.id);
1835
2006
  setIsDeleting(false);
1836
2007
  setShowDeleteDialog(false);
1837
2008
  }, 1200);
1838
2009
  };
1839
- const displayCardNumber = isRevealed ? cardNumber : `\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 ${cardNumber.slice(-4)}`;
1840
- const displayExpiry = isRevealed ? expiry : "\u2022\u2022/\u2022\u2022";
1841
- const displayCvv = isRevealed ? cvv : "\u2022\u2022\u2022";
1842
- return /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full flex flex-col items-center animate-in fade-in duration-300 pb-12" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full pt-6 pb-2 flex justify-center", style: { perspective: "1000px" } }, /* @__PURE__ */ import_react33.default.createElement(
2010
+ const formatTabLabel = (type) => {
2011
+ const capitalized = type.charAt(0).toUpperCase() + type.slice(1).toLowerCase();
2012
+ return `${capitalized} Card`;
2013
+ };
2014
+ const displayCardNumber = isRevealed ? activeCard.cardNumber : `\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 ${activeCard.cardNumber.slice(-4)}`;
2015
+ const displayExpiry = isRevealed ? activeCard.expiry : "\u2022\u2022/\u2022\u2022";
2016
+ const displayCvv = isRevealed ? activeCard.cvv : "\u2022\u2022\u2022";
2017
+ return /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full flex flex-col items-center animate-in fade-in duration-300 pb-12" }, cards.length > 1 && /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex items-center justify-center mb-6 w-full px-2" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar " }, cards.map((tab, idx) => {
2018
+ const isActive = activeTabIndex === idx;
2019
+ return /* @__PURE__ */ import_react35.default.createElement(
2020
+ "button",
2021
+ {
2022
+ key: tab.id,
2023
+ onClick: () => setActiveTabIndex(idx),
2024
+ className: `px-4 sm:px-6 py-1.5 sm:py-2 rounded-full text-[11px] sm:text-xs font-medium transition-all duration-200 outline-none whitespace-nowrap shrink-0 ${isActive ? "bg-neutral-100 text-black" : "text-neutral-500 hover:text-black hover:bg-neutral-50/50"}`
2025
+ },
2026
+ formatTabLabel(tab.type)
2027
+ );
2028
+ }))), /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full pt-2 pb-2 flex justify-center", style: { perspective: "1000px" } }, /* @__PURE__ */ import_react35.default.createElement(
1843
2029
  "div",
1844
2030
  {
1845
2031
  onClick: () => {
1846
- if (isBgLoaded) setIsFlipped(!isFlipped);
2032
+ if (canFlip) setIsFlipped(!isFlipped);
1847
2033
  },
1848
- className: `relative w-full max-w-85 transition-transform duration-700 ${!isBgLoaded ? "cursor-wait" : "cursor-pointer"}`,
2034
+ className: `relative w-full max-w-85 transition-transform duration-700 ${!isBgLoaded ? "cursor-wait" : canFlip ? "cursor-pointer" : "cursor-default"}`,
1849
2035
  style: {
1850
2036
  height: 185,
1851
2037
  transformStyle: "preserve-3d",
1852
2038
  transform: isFlipped ? "rotateY(180deg)" : "rotateY(0deg)"
1853
2039
  }
1854
2040
  },
1855
- !isBgLoaded && /* @__PURE__ */ import_react33.default.createElement("div", { className: "absolute inset-0 w-full h-full bg-white rounded-2xl flex items-center justify-center z-50 " }, /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons12.Loading03Icon, size: 28, className: "animate-spin text-black" })),
1856
- /* @__PURE__ */ import_react33.default.createElement(
2041
+ !isBgLoaded && /* @__PURE__ */ import_react35.default.createElement("div", { className: "absolute inset-0 w-full h-full bg-white rounded-2xl flex items-center justify-center z-50 " }, /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons14.Loading03Icon, size: 28, className: "animate-spin text-black" })),
2042
+ !isActivated && isBgLoaded && /* @__PURE__ */ import_react35.default.createElement("div", { className: "absolute inset-0 z-40 w-full h-full rounded-2xl backdrop-blur-sm bg-white/20 flex flex-col items-center justify-center border border-white/30", style: { transform: "translateZ(1px)" } }, isUnactivated && /* @__PURE__ */ import_react35.default.createElement(
2043
+ "button",
2044
+ {
2045
+ onClick: (e) => {
2046
+ e.stopPropagation();
2047
+ handleOverlayActionClick("ACTIVATE");
2048
+ },
2049
+ className: "px-6 py-2.5 bg-white/35 text-black text-[12px] font-medium rounded-full transition-all outline-none active:scale-95"
2050
+ },
2051
+ "Activate Card"
2052
+ ), isDead && /* @__PURE__ */ import_react35.default.createElement(
2053
+ "button",
2054
+ {
2055
+ onClick: (e) => {
2056
+ e.stopPropagation();
2057
+ handleOverlayActionClick("CREATE");
2058
+ },
2059
+ className: "px-6 py-2.5 bg-white/35 text-black text-[12px] font-medium rounded-full transition-all outline-none active:scale-95"
2060
+ },
2061
+ "Create Card"
2062
+ ), isFrozen && /* @__PURE__ */ import_react35.default.createElement(
2063
+ "button",
2064
+ {
2065
+ onClick: (e) => {
2066
+ e.stopPropagation();
2067
+ handleOverlayUnfreeze();
2068
+ },
2069
+ disabled: isOverlayActionLoading,
2070
+ className: "px-6 py-2.5 bg-white/35 text-black text-[12px] font-medium rounded-full transition-all outline-none active:scale-95 flex items-center gap-2 disabled:opacity-80"
2071
+ },
2072
+ isOverlayActionLoading ? /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons14.Loading03Icon, size: 16, className: "animate-spin" }) : "Unfreeze Card"
2073
+ )),
2074
+ /* @__PURE__ */ import_react35.default.createElement(
1857
2075
  "div",
1858
2076
  {
1859
2077
  className: `absolute inset-0 w-full h-full rounded-2xl overflow-hidden transition-all duration-700 ${isBgLoaded ? "opacity-100 scale-100" : "opacity-0 scale-105"}`,
1860
2078
  style: { backfaceVisibility: "hidden" }
1861
2079
  },
1862
- /* @__PURE__ */ import_react33.default.createElement(
2080
+ /* @__PURE__ */ import_react35.default.createElement(
1863
2081
  "div",
1864
2082
  {
1865
2083
  className: "absolute inset-0 bg-cover bg-center",
1866
- style: { backgroundImage: `url(${cardBgSrc}), linear-gradient(to bottom right, #111, #333)` }
2084
+ style: { backgroundImage: `url(${activeCard.cardBgSrc}), linear-gradient(to bottom right, #111, #333)` }
1867
2085
  }
1868
2086
  ),
1869
- backgroundOverlay && /* @__PURE__ */ import_react33.default.createElement(
2087
+ activeCard.backgroundOverlay && /* @__PURE__ */ import_react35.default.createElement(
1870
2088
  "div",
1871
2089
  {
1872
2090
  className: "absolute inset-0 bg-cover bg-center pointer-events-none",
1873
- style: { backgroundImage: `url(${backgroundOverlay})` }
2091
+ style: { backgroundImage: `url(${activeCard.backgroundOverlay})` }
1874
2092
  }
1875
2093
  ),
1876
- /* @__PURE__ */ import_react33.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex justify-between items-start w-full" }, /* @__PURE__ */ import_react33.default.createElement("div", null, /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[12px] text-white/70 " }, "Prepaid Card")), companyLogoSrc && /* @__PURE__ */ import_react33.default.createElement("img", { src: companyLogoSrc, alt: "Company Logo", className: "h-10 w-auto max-w-30 object-contain opacity-90" })), /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[10px] text-white/60 tracking-widest uppercase" }, "Card Number"), /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[14px] text-white tracking-widest font-light" }, displayCardNumber)), networkLogoSrc && /* @__PURE__ */ import_react33.default.createElement("img", { src: networkLogoSrc, alt: "Network Logo", className: "h-10 w-auto max-w-20 object-contain opacity-90" })))
2094
+ /* @__PURE__ */ import_react35.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between items-start w-full" }, /* @__PURE__ */ import_react35.default.createElement("div", null, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[12px] text-white/70 " }, "Prepaid Card")), activeCard.companyLogoSrc && /* @__PURE__ */ import_react35.default.createElement("img", { src: activeCard.companyLogoSrc, alt: "Company Logo", className: "h-10 w-auto max-w-30 object-contain opacity-90" })), /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[10px] text-white/60 tracking-widest uppercase" }, "Card Number"), /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[14px] text-white tracking-widest font-light" }, displayCardNumber)), activeCard.networkLogoSrc && /* @__PURE__ */ import_react35.default.createElement("img", { src: activeCard.networkLogoSrc, alt: "Network Logo", className: "h-10 w-auto max-w-20 object-contain opacity-90" })))
1877
2095
  ),
1878
- /* @__PURE__ */ import_react33.default.createElement(
2096
+ /* @__PURE__ */ import_react35.default.createElement(
1879
2097
  "div",
1880
2098
  {
1881
2099
  className: `absolute inset-0 w-full h-full rounded-2xl overflow-hidden transition-all duration-700 ${isBgLoaded ? "opacity-100 scale-100" : "opacity-0 scale-105"}`,
@@ -1884,63 +2102,72 @@ var UniversalCardPage = ({
1884
2102
  transform: "rotateY(180deg)"
1885
2103
  }
1886
2104
  },
1887
- /* @__PURE__ */ import_react33.default.createElement(
2105
+ /* @__PURE__ */ import_react35.default.createElement(
1888
2106
  "div",
1889
2107
  {
1890
2108
  className: "absolute inset-0 bg-cover bg-center",
1891
- style: { backgroundImage: `url(${cardBgSrc}), linear-gradient(to bottom right, #111, #333)` }
2109
+ style: { backgroundImage: `url(${activeCard.cardBgSrc}), linear-gradient(to bottom right, #111, #333)` }
1892
2110
  }
1893
2111
  ),
1894
- backgroundOverlay && /* @__PURE__ */ import_react33.default.createElement(
2112
+ activeCard.backgroundOverlay && /* @__PURE__ */ import_react35.default.createElement(
1895
2113
  "div",
1896
2114
  {
1897
2115
  className: "absolute inset-0 bg-cover bg-center pointer-events-none",
1898
- style: { backgroundImage: `url(${backgroundOverlay})` }
2116
+ style: { backgroundImage: `url(${activeCard.backgroundOverlay})` }
1899
2117
  }
1900
2118
  ),
1901
- /* @__PURE__ */ import_react33.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-end" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex justify-between w-full max-w-[80%]" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[9px] text-white/60 tracking-widest uppercase" }, "Expiry"), /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[14px] text-white font-light" }, displayExpiry)), /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[9px] text-white/60 tracking-widest uppercase" }, "CVV"), /* @__PURE__ */ import_react33.default.createElement("span", { className: "text-[14px] text-white font-light" }, displayCvv))))
2119
+ /* @__PURE__ */ import_react35.default.createElement("div", { className: "absolute top-6 left-0 right-0 h-10 bg-black/80 w-full" }),
2120
+ /* @__PURE__ */ import_react35.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-end" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full text-center mb-6" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-white text-3xl italic tracking-wide opacity-90", style: { fontFamily: "'Whisper', cursive" } }, activeCard.cardHolderName)), /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between w-full max-w-[80%]" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[9px] text-white/60 tracking-widest uppercase" }, "Expiry"), /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[14px] text-white font-light" }, displayExpiry)), /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[9px] text-white/60 tracking-widest uppercase" }, "CVV"), /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[14px] text-white font-light" }, displayCvv))))
1902
2121
  )
1903
- )), /* @__PURE__ */ import_react33.default.createElement("p", { className: "text-xs text-neutral-400 mb-6" }, "Tap to flip card"), /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react33.default.createElement(
2122
+ )), /* @__PURE__ */ import_react35.default.createElement("p", { className: "text-xs text-neutral-400 mb-6 mt-1" }, isActivated ? "Tap to flip card" : "Action Required"), /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react35.default.createElement(
1904
2123
  MenuRow,
1905
2124
  {
1906
- icon: import_core_free_icons12.ViewOffSlashIcon,
2125
+ icon: import_core_free_icons14.ViewOffSlashIcon,
1907
2126
  title: "Reveal Information",
1908
2127
  subtitle: "Show card informations",
1909
2128
  onClick: handleToggleReveal,
1910
2129
  isToggle: true,
1911
2130
  toggleState: isRevealed,
1912
- toggleLoading: isRevealing
2131
+ toggleLoading: isRevealing,
2132
+ disabled: revealDisabled
1913
2133
  }
1914
- ), /* @__PURE__ */ import_react33.default.createElement(
2134
+ ), /* @__PURE__ */ import_react35.default.createElement(
1915
2135
  MenuRow,
1916
2136
  {
1917
- icon: import_core_free_icons12.SnowIcon,
2137
+ icon: import_core_free_icons14.SnowIcon,
1918
2138
  title: "Freeze",
1919
2139
  subtitle: "Freeze & Unfreeze card",
1920
2140
  onClick: handleToggleFreeze,
1921
2141
  isToggle: true,
1922
2142
  toggleState: isFrozen,
1923
- toggleLoading: isFreezing
2143
+ toggleLoading: isFreezing,
2144
+ disabled: freezeDisabled
1924
2145
  }
1925
- ), /* @__PURE__ */ import_react33.default.createElement(
2146
+ ), /* @__PURE__ */ import_react35.default.createElement(
1926
2147
  MenuRow,
1927
2148
  {
1928
- icon: import_core_free_icons12.Dollar02Icon,
2149
+ icon: import_core_free_icons14.Dollar02Icon,
1929
2150
  title: "Set Limits",
1930
2151
  subtitle: "Set card limits",
1931
- onClick: onSetLimits,
2152
+ onClick: () => {
2153
+ if (!actionsDisabled && onSetLimits) onSetLimits(activeCard.id);
2154
+ },
2155
+ disabled: actionsDisabled,
1932
2156
  isLast: true
1933
2157
  }
1934
- )), /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react33.default.createElement(
2158
+ )), /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react35.default.createElement(
1935
2159
  MenuRow,
1936
2160
  {
1937
- icon: import_core_free_icons12.Delete02Icon,
2161
+ icon: import_core_free_icons14.Delete02Icon,
1938
2162
  title: "Delete card",
1939
2163
  subtitle: "Permanently delete card",
1940
- onClick: () => setShowDeleteDialog(true),
2164
+ onClick: () => {
2165
+ if (!actionsDisabled) setShowDeleteDialog(true);
2166
+ },
2167
+ disabled: actionsDisabled,
1941
2168
  isLast: true
1942
2169
  }
1943
- ))), /* @__PURE__ */ import_react33.default.createElement(
2170
+ ))), /* @__PURE__ */ import_react35.default.createElement(
1944
2171
  ConfirmationDialog,
1945
2172
  {
1946
2173
  isOpen: showDeleteDialog,
@@ -1952,7 +2179,7 @@ var UniversalCardPage = ({
1952
2179
  onClose: () => setShowDeleteDialog(false),
1953
2180
  onConfirm: confirmDelete
1954
2181
  }
1955
- ), /* @__PURE__ */ import_react33.default.createElement(
2182
+ ), /* @__PURE__ */ import_react35.default.createElement(
1956
2183
  PinDialerBottomSheet,
1957
2184
  {
1958
2185
  isOpen: showPinDialer,
@@ -1961,6 +2188,18 @@ var UniversalCardPage = ({
1961
2188
  onClose: () => setShowPinDialer(false),
1962
2189
  onComplete: handlePinComplete
1963
2190
  }
2191
+ ), /* @__PURE__ */ import_react35.default.createElement(
2192
+ CardActionDialog,
2193
+ {
2194
+ isOpen: showCardActionDialog,
2195
+ card: activeCard,
2196
+ actionType: cardActionType,
2197
+ onClose: () => setShowCardActionDialog(false),
2198
+ onProceed: () => {
2199
+ if (onCardAction) onCardAction(activeCard.id, cardActionType);
2200
+ setShowCardActionDialog(false);
2201
+ }
2202
+ }
1964
2203
  ));
1965
2204
  };
1966
2205
  var MenuRow = ({
@@ -1973,22 +2212,23 @@ var MenuRow = ({
1973
2212
  isLast = false,
1974
2213
  isToggle = false,
1975
2214
  toggleState = false,
1976
- toggleLoading = false
1977
- }) => /* @__PURE__ */ import_react33.default.createElement(
2215
+ toggleLoading = false,
2216
+ disabled = false
2217
+ }) => /* @__PURE__ */ import_react35.default.createElement(
1978
2218
  "div",
1979
2219
  {
1980
- onClick,
1981
- className: `flex items-center p-3 cursor-pointer hover:bg-neutral-50 transition-colors ${!isLast ? "" : ""}`
2220
+ onClick: disabled ? void 0 : onClick,
2221
+ className: `flex items-center p-3 transition-colors ${!isLast ? "" : ""} ${disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-neutral-50"}`
1982
2222
  },
1983
- /* @__PURE__ */ import_react33.default.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon, size: 16, className: iconColor })),
1984
- /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react33.default.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ import_react33.default.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
1985
- isToggle ? /* @__PURE__ */ import_react33.default.createElement("div", { className: `relative w-11 h-6 rounded-full transition-colors duration-300 ml-2 shrink-0 ${toggleState ? "bg-black" : "bg-neutral-200"}` }, /* @__PURE__ */ import_react33.default.createElement("div", { className: `absolute top-1 left-1 w-4 h-4 rounded-full bg-white shadow-sm transition-transform duration-300 flex items-center justify-center ${toggleState ? "translate-x-5" : "translate-x-0"}` }, toggleLoading && /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons12.Loading03Icon, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons12.ArrowRight01Icon, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2223
+ /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon, size: 16, className: iconColor })),
2224
+ /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react35.default.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ import_react35.default.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
2225
+ isToggle ? /* @__PURE__ */ import_react35.default.createElement("div", { className: `relative w-11 h-6 rounded-full transition-colors duration-300 ml-2 shrink-0 ${toggleState ? "bg-black" : "bg-neutral-200"} ${disabled ? "opacity-50" : ""}` }, /* @__PURE__ */ import_react35.default.createElement("div", { className: `absolute top-1 left-1 w-4 h-4 rounded-full bg-white shadow-sm transition-transform duration-300 flex items-center justify-center ${toggleState ? "translate-x-5" : "translate-x-0"}` }, toggleLoading && /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons14.Loading03Icon, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons14.ArrowRight01Icon, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
1986
2226
  );
1987
2227
 
1988
2228
  // src/components/UniversalProfilePage.tsx
1989
- var import_react35 = __toESM(require("react"));
1990
- var import_react36 = require("@hugeicons/react");
1991
- var import_core_free_icons13 = require("@hugeicons/core-free-icons");
2229
+ var import_react37 = __toESM(require("react"));
2230
+ var import_react38 = require("@hugeicons/react");
2231
+ var import_core_free_icons15 = require("@hugeicons/core-free-icons");
1992
2232
  var UniversalProfilePage = ({
1993
2233
  avatarSrc,
1994
2234
  roleName,
@@ -2002,9 +2242,9 @@ var UniversalProfilePage = ({
2002
2242
  onLogoutTap,
2003
2243
  onDeleteTap
2004
2244
  }) => {
2005
- const [isAvatarLoaded, setIsAvatarLoaded] = (0, import_react35.useState)(false);
2006
- const [showLogoutDialog, setShowLogoutDialog] = (0, import_react35.useState)(false);
2007
- const [isLoggingOut, setIsLoggingOut] = (0, import_react35.useState)(false);
2245
+ const [isAvatarLoaded, setIsAvatarLoaded] = (0, import_react37.useState)(false);
2246
+ const [showLogoutDialog, setShowLogoutDialog] = (0, import_react37.useState)(false);
2247
+ const [isLoggingOut, setIsLoggingOut] = (0, import_react37.useState)(false);
2008
2248
  const handleConfirmLogout = async () => {
2009
2249
  setIsLoggingOut(true);
2010
2250
  try {
@@ -2016,7 +2256,7 @@ var UniversalProfilePage = ({
2016
2256
  setShowLogoutDialog(false);
2017
2257
  }
2018
2258
  };
2019
- return /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full max-w-md mx-auto flex flex-col items-center animate-in fade-in duration-300 pb-12" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "pt-8 pb-4 flex flex-col items-center" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-22 h-22 rounded-full bg-white p-1 mb-4 flex items-center justify-center" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "relative w-full h-full rounded-full overflow-hidden bg-neutral-100 flex items-center justify-center" }, avatarSrc ? /* @__PURE__ */ import_react35.default.createElement(import_react35.default.Fragment, null, !isAvatarLoaded && /* @__PURE__ */ import_react35.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-100" }, /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons13.Loading03Icon, size: 24, className: "animate-spin text-black" })), /* @__PURE__ */ import_react35.default.createElement(
2259
+ return /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-full max-w-md mx-auto flex flex-col items-center animate-in fade-in duration-300 pb-12" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "pt-8 pb-4 flex flex-col items-center" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-22 h-22 rounded-full bg-white p-1 mb-4 flex items-center justify-center" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "relative w-full h-full rounded-full overflow-hidden bg-neutral-100 flex items-center justify-center" }, avatarSrc ? /* @__PURE__ */ import_react37.default.createElement(import_react37.default.Fragment, null, !isAvatarLoaded && /* @__PURE__ */ import_react37.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-100" }, /* @__PURE__ */ import_react37.default.createElement(import_react38.HugeiconsIcon, { icon: import_core_free_icons15.Loading03Icon, size: 24, className: "animate-spin text-black" })), /* @__PURE__ */ import_react37.default.createElement(
2020
2260
  "img",
2021
2261
  {
2022
2262
  src: avatarSrc,
@@ -2024,74 +2264,74 @@ var UniversalProfilePage = ({
2024
2264
  onLoad: () => setIsAvatarLoaded(true),
2025
2265
  className: `w-full h-full object-cover transition-opacity duration-300 ${isAvatarLoaded ? "opacity-100" : "opacity-0"}`
2026
2266
  }
2027
- )) : /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons13.UserIcon, size: 40, className: "text-neutral-300" }))), /* @__PURE__ */ import_react35.default.createElement("div", { className: "bg-white rounded-full px-4 py-2 flex items-center justify-center gap-2 mb-3" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[12px] text-black" }, roleName), /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons13.ArrowRight01Icon, size: 14, className: "text-neutral-400" })), /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[12px] text-neutral-500" }, memberSince)), /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full flex flex-col gap-4 mt-2" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react35.default.createElement(
2267
+ )) : /* @__PURE__ */ import_react37.default.createElement(import_react38.HugeiconsIcon, { icon: import_core_free_icons15.UserIcon, size: 40, className: "text-neutral-300" }))), /* @__PURE__ */ import_react37.default.createElement("div", { className: "bg-white rounded-full px-4 py-2 flex items-center justify-center gap-2 mb-3" }, /* @__PURE__ */ import_react37.default.createElement("span", { className: "text-[12px] text-black" }, roleName), /* @__PURE__ */ import_react37.default.createElement(import_react38.HugeiconsIcon, { icon: import_core_free_icons15.CrownIcon, size: 14, className: "text-neutral-400" })), /* @__PURE__ */ import_react37.default.createElement("span", { className: "text-[12px] text-neutral-500" }, memberSince)), /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-full flex flex-col gap-4 mt-2" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react37.default.createElement(
2028
2268
  MenuRow2,
2029
2269
  {
2030
- icon: import_core_free_icons13.UserIcon,
2270
+ icon: import_core_free_icons15.UserIcon,
2031
2271
  title: "Account",
2032
2272
  subtitle: "Your account details",
2033
2273
  onClick: onAccountTap
2034
2274
  }
2035
- ), /* @__PURE__ */ import_react35.default.createElement(
2275
+ ), /* @__PURE__ */ import_react37.default.createElement(
2036
2276
  MenuRow2,
2037
2277
  {
2038
- icon: import_core_free_icons13.LockKeyIcon,
2278
+ icon: import_core_free_icons15.LockKeyIcon,
2039
2279
  title: "Security",
2040
2280
  subtitle: "2FA & authentication",
2041
2281
  onClick: onSecurityTap
2042
2282
  }
2043
- ), /* @__PURE__ */ import_react35.default.createElement(
2283
+ ), /* @__PURE__ */ import_react37.default.createElement(
2044
2284
  MenuRow2,
2045
2285
  {
2046
- icon: import_core_free_icons13.ShieldUserIcon,
2286
+ icon: import_core_free_icons15.ShieldUserIcon,
2047
2287
  title: "Web3 Profile",
2048
2288
  subtitle: "Manage web3 profile",
2049
2289
  onClick: onDefiTap
2050
2290
  }
2051
- ), /* @__PURE__ */ import_react35.default.createElement(
2291
+ ), /* @__PURE__ */ import_react37.default.createElement(
2052
2292
  MenuRow2,
2053
2293
  {
2054
- icon: import_core_free_icons13.MessageQuestionIcon,
2294
+ icon: import_core_free_icons15.MessageQuestionIcon,
2055
2295
  title: "Get Help",
2056
2296
  subtitle: "24/7 Support",
2057
2297
  onClick: onHelpTap,
2058
2298
  isLast: true
2059
2299
  }
2060
- )), /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react35.default.createElement(
2300
+ )), /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react37.default.createElement(
2061
2301
  MenuRow2,
2062
2302
  {
2063
- icon: import_core_free_icons13.UserIdVerificationIcon,
2303
+ icon: import_core_free_icons15.UserIdVerificationIcon,
2064
2304
  title: "Verifications",
2065
2305
  subtitle: "Account Verifications",
2066
2306
  onClick: onVerificationsTap
2067
2307
  }
2068
- ), /* @__PURE__ */ import_react35.default.createElement(
2308
+ ), /* @__PURE__ */ import_react37.default.createElement(
2069
2309
  MenuRow2,
2070
2310
  {
2071
- icon: import_core_free_icons13.FileDownloadIcon,
2311
+ icon: import_core_free_icons15.FileDownloadIcon,
2072
2312
  title: "Export Account",
2073
2313
  subtitle: "Transfer your account",
2074
2314
  onClick: onExportTap
2075
2315
  }
2076
- ), /* @__PURE__ */ import_react35.default.createElement(
2316
+ ), /* @__PURE__ */ import_react37.default.createElement(
2077
2317
  MenuRow2,
2078
2318
  {
2079
- icon: import_core_free_icons13.LogoutCircle02Icon,
2319
+ icon: import_core_free_icons15.LogoutCircle02Icon,
2080
2320
  title: "LogOut",
2081
2321
  subtitle: "End your session",
2082
2322
  onClick: () => setShowLogoutDialog(true),
2083
2323
  isLast: true
2084
2324
  }
2085
- )), /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden mb-4" }, /* @__PURE__ */ import_react35.default.createElement(
2325
+ )), /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden mb-4" }, /* @__PURE__ */ import_react37.default.createElement(
2086
2326
  MenuRow2,
2087
2327
  {
2088
- icon: import_core_free_icons13.UserRemove01Icon,
2328
+ icon: import_core_free_icons15.UserRemove01Icon,
2089
2329
  title: "Delete Account",
2090
2330
  subtitle: "Remove account",
2091
2331
  onClick: onDeleteTap,
2092
2332
  isLast: true
2093
2333
  }
2094
- ))), /* @__PURE__ */ import_react35.default.createElement(
2334
+ ))), /* @__PURE__ */ import_react37.default.createElement(
2095
2335
  ConfirmationDialog,
2096
2336
  {
2097
2337
  isOpen: showLogoutDialog,
@@ -2105,28 +2345,28 @@ var UniversalProfilePage = ({
2105
2345
  }
2106
2346
  ));
2107
2347
  };
2108
- var MenuRow2 = ({ icon, title, subtitle, onClick, iconColor = "text-black", titleColor = "text-black", isLast = false }) => /* @__PURE__ */ import_react35.default.createElement(
2348
+ var MenuRow2 = ({ icon, title, subtitle, onClick, iconColor = "text-black", titleColor = "text-black", isLast = false }) => /* @__PURE__ */ import_react37.default.createElement(
2109
2349
  "div",
2110
2350
  {
2111
2351
  onClick,
2112
2352
  className: `flex items-center p-4 cursor-pointer hover:bg-neutral-50 transition-colors ${!isLast ? "" : ""}`
2113
2353
  },
2114
- /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon, size: 16, className: iconColor })),
2115
- /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react35.default.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ import_react35.default.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
2116
- /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons13.ArrowRight01Icon, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2354
+ /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ import_react37.default.createElement(import_react38.HugeiconsIcon, { icon, size: 16, className: iconColor })),
2355
+ /* @__PURE__ */ import_react37.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react37.default.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ import_react37.default.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
2356
+ /* @__PURE__ */ import_react37.default.createElement(import_react38.HugeiconsIcon, { icon: import_core_free_icons15.ArrowRight01Icon, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2117
2357
  );
2118
2358
 
2119
2359
  // src/components/HeroSection.tsx
2120
- var import_react38 = __toESM(require("react"));
2360
+ var import_react40 = __toESM(require("react"));
2121
2361
  var import_link5 = __toESM(require("next/link"));
2122
2362
  var import_image2 = __toESM(require("next/image"));
2123
2363
 
2124
2364
  // src/components/WaitlistDialog.tsx
2125
- var import_react37 = __toESM(require("react"));
2365
+ var import_react39 = __toESM(require("react"));
2126
2366
  var import_react_hot_toast7 = require("react-hot-toast");
2127
2367
  var WaitlistDialog = ({ isOpen, onClose }) => {
2128
- const [email, setEmail] = (0, import_react37.useState)("");
2129
- const [isLoading, setIsLoading] = (0, import_react37.useState)(false);
2368
+ const [email, setEmail] = (0, import_react39.useState)("");
2369
+ const [isLoading, setIsLoading] = (0, import_react39.useState)(false);
2130
2370
  if (!isOpen) return null;
2131
2371
  const handleSubmit = async (e) => {
2132
2372
  e.preventDefault();
@@ -2157,12 +2397,12 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2157
2397
  setIsLoading(false);
2158
2398
  }
2159
2399
  };
2160
- return /* @__PURE__ */ import_react37.default.createElement("div", { className: "fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "absolute inset-0", onClick: !isLoading ? onClose : void 0 }), /* @__PURE__ */ import_react37.default.createElement(
2400
+ return /* @__PURE__ */ import_react39.default.createElement("div", { className: "fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "absolute inset-0", onClick: !isLoading ? onClose : void 0 }), /* @__PURE__ */ import_react39.default.createElement(
2161
2401
  "div",
2162
2402
  {
2163
2403
  className: "w-full max-w-md bg-white rounded-2xl shadow-2xl overflow-hidden relative z-10 animate-in fade-in zoom-in-95 duration-200"
2164
2404
  },
2165
- /* @__PURE__ */ import_react37.default.createElement(
2405
+ /* @__PURE__ */ import_react39.default.createElement(
2166
2406
  "button",
2167
2407
  {
2168
2408
  onClick: onClose,
@@ -2170,7 +2410,7 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2170
2410
  className: "absolute top-4 right-4 p-2 text-neutral-700 hover:text-neutral-400 transition-colors disabled:opacity-50 outline-none",
2171
2411
  "aria-label": "Close dialog"
2172
2412
  },
2173
- /* @__PURE__ */ import_react37.default.createElement(
2413
+ /* @__PURE__ */ import_react39.default.createElement(
2174
2414
  "svg",
2175
2415
  {
2176
2416
  xmlns: "http://www.w3.org/2000/svg",
@@ -2183,11 +2423,11 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2183
2423
  strokeLinecap: "round",
2184
2424
  strokeLinejoin: "round"
2185
2425
  },
2186
- /* @__PURE__ */ import_react37.default.createElement("path", { d: "M18 6 6 18" }),
2187
- /* @__PURE__ */ import_react37.default.createElement("path", { d: "m6 6 12 12" })
2426
+ /* @__PURE__ */ import_react39.default.createElement("path", { d: "M18 6 6 18" }),
2427
+ /* @__PURE__ */ import_react39.default.createElement("path", { d: "m6 6 12 12" })
2188
2428
  )
2189
2429
  ),
2190
- /* @__PURE__ */ import_react37.default.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ import_react37.default.createElement("div", { className: "mb-8 mt-2" }, /* @__PURE__ */ import_react37.default.createElement("h2", { className: "text-2xl text-black tracking-tight mb-2" }, "Join the Waitlist"), /* @__PURE__ */ import_react37.default.createElement("p", { className: "text-[13px] text-neutral-500 leading-relaxed" }, "Be the first to experience the future of Web3 freedom. Secure your early access spot today.")), /* @__PURE__ */ import_react37.default.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-8" }, /* @__PURE__ */ import_react37.default.createElement(
2430
+ /* @__PURE__ */ import_react39.default.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "mb-8 mt-2" }, /* @__PURE__ */ import_react39.default.createElement("h2", { className: "text-2xl text-black tracking-tight mb-2" }, "Join the Waitlist"), /* @__PURE__ */ import_react39.default.createElement("p", { className: "text-[13px] text-neutral-500 leading-relaxed" }, "Be the first to experience the future of Web3 freedom. Secure your early access spot today.")), /* @__PURE__ */ import_react39.default.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-8" }, /* @__PURE__ */ import_react39.default.createElement(
2191
2431
  TextInput,
2192
2432
  {
2193
2433
  label: "Email ID",
@@ -2197,7 +2437,7 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2197
2437
  placeholder: "name@example.com",
2198
2438
  disabled: isLoading
2199
2439
  }
2200
- ), /* @__PURE__ */ import_react37.default.createElement(
2440
+ ), /* @__PURE__ */ import_react39.default.createElement(
2201
2441
  ThreeDActionButton,
2202
2442
  {
2203
2443
  type: "submit",
@@ -2230,10 +2470,10 @@ var HeroSection = ({
2230
2470
  bgImageSrc,
2231
2471
  isWaitlist = false
2232
2472
  }) => {
2233
- const [isAnimating, setIsAnimating] = (0, import_react38.useState)(false);
2234
- const [isWaitlistOpen, setIsWaitlistOpen] = (0, import_react38.useState)(false);
2235
- const titleRef = (0, import_react38.useRef)(null);
2236
- (0, import_react38.useEffect)(() => {
2473
+ const [isAnimating, setIsAnimating] = (0, import_react40.useState)(false);
2474
+ const [isWaitlistOpen, setIsWaitlistOpen] = (0, import_react40.useState)(false);
2475
+ const titleRef = (0, import_react40.useRef)(null);
2476
+ (0, import_react40.useEffect)(() => {
2237
2477
  const observer = new IntersectionObserver(
2238
2478
  ([entry]) => {
2239
2479
  if (entry.isIntersecting) {
@@ -2255,7 +2495,7 @@ var HeroSection = ({
2255
2495
  setIsWaitlistOpen(true);
2256
2496
  }
2257
2497
  };
2258
- return /* @__PURE__ */ import_react38.default.createElement("div", { className: "w-screen min-h-screen flex justify-center items-center p-4" }, /* @__PURE__ */ import_react38.default.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ import_react38.default.createElement(
2498
+ return /* @__PURE__ */ import_react40.default.createElement("div", { className: "w-screen min-h-screen flex justify-center items-center p-4" }, /* @__PURE__ */ import_react40.default.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ import_react40.default.createElement(
2259
2499
  "video",
2260
2500
  {
2261
2501
  src: bgVideoSrc,
@@ -2266,7 +2506,7 @@ var HeroSection = ({
2266
2506
  playsInline: true,
2267
2507
  className: "absolute inset-0 h-full w-full object-cover z-0"
2268
2508
  }
2269
- ) : bgImageSrc ? /* @__PURE__ */ import_react38.default.createElement(
2509
+ ) : bgImageSrc ? /* @__PURE__ */ import_react40.default.createElement(
2270
2510
  import_image2.default,
2271
2511
  {
2272
2512
  src: bgImageSrc,
@@ -2275,7 +2515,7 @@ var HeroSection = ({
2275
2515
  priority: true,
2276
2516
  className: "absolute inset-0 h-full w-full object-cover z-0"
2277
2517
  }
2278
- ) : null, /* @__PURE__ */ import_react38.default.createElement(
2518
+ ) : null, /* @__PURE__ */ import_react40.default.createElement(
2279
2519
  "div",
2280
2520
  {
2281
2521
  className: "pointer-events-none absolute inset-0 z-10 opacity-[0.7] mix-blend-overlay",
@@ -2283,15 +2523,15 @@ var HeroSection = ({
2283
2523
  backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`
2284
2524
  }
2285
2525
  }
2286
- ), /* @__PURE__ */ import_react38.default.createElement("div", { className: "pointer-events-none absolute inset-0 bg-linear-to-b from-black/30 via-transparent to-black/80 z-10" }), /* @__PURE__ */ import_react38.default.createElement("div", { className: "absolute bottom-0 left-0 right-0 px-4 pb-4 sm:px-6 md:px-10 z-20" }, /* @__PURE__ */ import_react38.default.createElement("div", { className: "grid grid-cols-12 items-end gap-4" }, /* @__PURE__ */ import_react38.default.createElement("div", { className: "col-span-12 lg:col-span-8" }, /* @__PURE__ */ import_react38.default.createElement(
2526
+ ), /* @__PURE__ */ import_react40.default.createElement("div", { className: "pointer-events-none absolute inset-0 bg-linear-to-b from-black/30 via-transparent to-black/80 z-10" }), /* @__PURE__ */ import_react40.default.createElement("div", { className: "absolute bottom-0 left-0 right-0 px-4 pb-4 sm:px-6 md:px-10 z-20" }, /* @__PURE__ */ import_react40.default.createElement("div", { className: "grid grid-cols-12 items-end gap-4" }, /* @__PURE__ */ import_react40.default.createElement("div", { className: "col-span-12 lg:col-span-8" }, /* @__PURE__ */ import_react40.default.createElement(
2287
2527
  "h1",
2288
2528
  {
2289
2529
  ref: titleRef,
2290
2530
  className: "leading-[0.85] tracking-[-0.07em] text-[18.2vw] sm:text-[16.8vw] md:text-[15.4vw] lg:text-[14vw] xl:text-[13.3vw] 2xl:text-[14vw] text-[#ffffff]"
2291
2531
  },
2292
- /* @__PURE__ */ import_react38.default.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ import_react38.default.createElement("span", { className: `inline-block relative transition-all duration-1000 ${isAnimating ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"}` }, titlePrefix, titlePrefix && /* @__PURE__ */ import_react38.default.createElement("br", null), highlightText, /* @__PURE__ */ import_react38.default.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2293
- )), /* @__PURE__ */ import_react38.default.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ import_react38.default.createElement("p", { className: "text-xs text-[#ffffff]/70 sm:text-sm md:text-base leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ import_react38.default.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && // Changed from <button> to <Link> so it actually navigates!
2294
- /* @__PURE__ */ import_react38.default.createElement(
2532
+ /* @__PURE__ */ import_react40.default.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ import_react40.default.createElement("span", { className: `inline-block relative transition-all duration-1000 ${isAnimating ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"}` }, titlePrefix, titlePrefix && /* @__PURE__ */ import_react40.default.createElement("br", null), highlightText, /* @__PURE__ */ import_react40.default.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2533
+ )), /* @__PURE__ */ import_react40.default.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ import_react40.default.createElement("p", { className: "text-xs text-[#ffffff]/70 sm:text-sm md:text-base leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ import_react40.default.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && // Changed from <button> to <Link> so it actually navigates!
2534
+ /* @__PURE__ */ import_react40.default.createElement(
2295
2535
  import_link5.default,
2296
2536
  {
2297
2537
  href: isWaitlist ? "#" : ctaHref || "#",
@@ -2299,15 +2539,15 @@ var HeroSection = ({
2299
2539
  className: "group inline-flex h-10 items-center gap-2 self-start rounded-full bg-[#ffffff] pl-5 pr-1 text-xs text-black transition-all hover:gap-3"
2300
2540
  },
2301
2541
  ctaText,
2302
- /* @__PURE__ */ import_react38.default.createElement("span", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-black transition-transform group-hover:scale-110" }, /* @__PURE__ */ import_react38.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "lucide lucide-arrow-right h-4 w-4 text-[#ffffff]" }, /* @__PURE__ */ import_react38.default.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ import_react38.default.createElement("path", { d: "m12 5 7 7-7 7" })))
2303
- ), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react38.default.createElement(
2542
+ /* @__PURE__ */ import_react40.default.createElement("span", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-black transition-transform group-hover:scale-110" }, /* @__PURE__ */ import_react40.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "lucide lucide-arrow-right h-4 w-4 text-[#ffffff]" }, /* @__PURE__ */ import_react40.default.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ import_react40.default.createElement("path", { d: "m12 5 7 7-7 7" })))
2543
+ ), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react40.default.createElement(
2304
2544
  import_link5.default,
2305
2545
  {
2306
2546
  href: secondaryCtaHref,
2307
2547
  className: "inline-flex h-10 items-center self-start justify-center text-xs tracking-wide rounded-full px-6 border border-[#ffffff]/30 text-[#ffffff] hover:bg-[#ffffff]/10 transition-colors"
2308
2548
  },
2309
2549
  secondaryCtaText
2310
- )), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react38.default.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ import_react38.default.createElement("span", { className: "text-[10px] tracking-widest uppercase text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ import_react38.default.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react38.default.createElement("div", { key: idx, className: "relative h-6 w-6 sm:h-7 sm:w-7 opacity-70 hover:opacity-100 transition-opacity invert" }, /* @__PURE__ */ import_react38.default.createElement(
2550
+ )), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react40.default.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ import_react40.default.createElement("span", { className: "text-[10px] tracking-widest uppercase text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ import_react40.default.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react40.default.createElement("div", { key: idx, className: "relative h-6 w-6 sm:h-7 sm:w-7 opacity-70 hover:opacity-100 transition-opacity invert" }, /* @__PURE__ */ import_react40.default.createElement(
2311
2551
  import_image2.default,
2312
2552
  {
2313
2553
  src: logo.src,
@@ -2316,7 +2556,7 @@ var HeroSection = ({
2316
2556
  height: 28,
2317
2557
  className: "object-contain"
2318
2558
  }
2319
- ))))))))), /* @__PURE__ */ import_react38.default.createElement(
2559
+ ))))))))), /* @__PURE__ */ import_react40.default.createElement(
2320
2560
  WaitlistDialog,
2321
2561
  {
2322
2562
  isOpen: isWaitlistOpen,
@@ -2326,12 +2566,12 @@ var HeroSection = ({
2326
2566
  };
2327
2567
 
2328
2568
  // src/components/AppBento2.tsx
2329
- var import_react39 = __toESM(require("react"));
2330
- var import_react40 = require("@hugeicons/react");
2569
+ var import_react41 = __toESM(require("react"));
2570
+ var import_react42 = require("@hugeicons/react");
2331
2571
  var AppBento2 = ({ tagline, headline, features }) => {
2332
- const [isAnimating, setIsAnimating] = (0, import_react39.useState)(false);
2333
- const titleRef = (0, import_react39.useRef)(null);
2334
- (0, import_react39.useEffect)(() => {
2572
+ const [isAnimating, setIsAnimating] = (0, import_react41.useState)(false);
2573
+ const titleRef = (0, import_react41.useRef)(null);
2574
+ (0, import_react41.useEffect)(() => {
2335
2575
  const observer = new IntersectionObserver(
2336
2576
  ([entry]) => {
2337
2577
  if (entry.isIntersecting) {
@@ -2349,7 +2589,7 @@ var AppBento2 = ({ tagline, headline, features }) => {
2349
2589
  }
2350
2590
  return () => observer.disconnect();
2351
2591
  }, []);
2352
- return /* @__PURE__ */ import_react39.default.createElement("div", { className: "w-full py-16" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "w-full flex justify-center px-4" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "relative overflow-hidden mb-12 text-left" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react39.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4 " }, tagline), /* @__PURE__ */ import_react39.default.createElement(
2592
+ return /* @__PURE__ */ import_react41.default.createElement("div", { className: "w-full py-16" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "w-full flex justify-center px-4" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "relative overflow-hidden mb-12 text-left" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react41.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4 " }, tagline), /* @__PURE__ */ import_react41.default.createElement(
2353
2593
  "h2",
2354
2594
  {
2355
2595
  ref: titleRef,
@@ -2357,7 +2597,7 @@ var AppBento2 = ({ tagline, headline, features }) => {
2357
2597
  style: isAnimating ? { animationIterationCount: 1 } : {}
2358
2598
  },
2359
2599
  headline
2360
- ))), /* @__PURE__ */ import_react39.default.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-6 gap-6" }, features.map((f, i) => {
2600
+ ))), /* @__PURE__ */ import_react41.default.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-6 gap-6" }, features.map((f, i) => {
2361
2601
  const isWhite = i === 0;
2362
2602
  const isBlack = i === 1;
2363
2603
  const isNeutral = i === 2;
@@ -2379,36 +2619,36 @@ var AppBento2 = ({ tagline, headline, features }) => {
2379
2619
  const textColor = isBlack ? "text-white" : "text-black";
2380
2620
  const subTextColor = isBlack ? "text-neutral-300" : "text-neutral-600";
2381
2621
  const labelColor = isBlack ? "text-neutral-400" : "text-neutral-500";
2382
- return /* @__PURE__ */ import_react39.default.createElement(
2622
+ return /* @__PURE__ */ import_react41.default.createElement(
2383
2623
  "div",
2384
2624
  {
2385
2625
  key: i,
2386
2626
  className: `relative rounded-2xl overflow-hidden p-8 flex flex-col min-h-75 transition-all duration-500 group text-left ${getBgStyle()} ${f.size}`,
2387
2627
  style: { boxShadow: getShadowStyle() }
2388
2628
  },
2389
- /* @__PURE__ */ import_react39.default.createElement(
2629
+ /* @__PURE__ */ import_react41.default.createElement(
2390
2630
  "div",
2391
2631
  {
2392
2632
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
2393
2633
  style: { backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")` }
2394
2634
  }
2395
2635
  ),
2396
- isBlack && /* @__PURE__ */ import_react39.default.createElement("span", { className: "absolute inset-0 rounded-2xl bg-linear-to-b from-white/10 via-white/5 to-transparent pointer-events-none z-10" }),
2397
- /* @__PURE__ */ import_react39.default.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: `absolute -bottom-8 -right-8 transform group-hover:scale-110 transition-transform duration-700 ease-out ${isBlack ? "text-white/5" : "text-black/5"}` }, /* @__PURE__ */ import_react39.default.createElement(import_react40.HugeiconsIcon, { icon: f.icon, size: 180 }))),
2398
- /* @__PURE__ */ import_react39.default.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ import_react39.default.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ import_react39.default.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ import_react39.default.createElement(import_react40.HugeiconsIcon, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ import_react39.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react39.default.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ import_react39.default.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
2636
+ isBlack && /* @__PURE__ */ import_react41.default.createElement("span", { className: "absolute inset-0 rounded-2xl bg-linear-to-b from-white/10 via-white/5 to-transparent pointer-events-none z-10" }),
2637
+ /* @__PURE__ */ import_react41.default.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: `absolute -bottom-8 -right-8 transform group-hover:scale-110 transition-transform duration-700 ease-out ${isBlack ? "text-white/5" : "text-black/5"}` }, /* @__PURE__ */ import_react41.default.createElement(import_react42.HugeiconsIcon, { icon: f.icon, size: 180 }))),
2638
+ /* @__PURE__ */ import_react41.default.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ import_react41.default.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ import_react41.default.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ import_react41.default.createElement(import_react42.HugeiconsIcon, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ import_react41.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react41.default.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ import_react41.default.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
2399
2639
  );
2400
2640
  })))));
2401
2641
  };
2402
2642
 
2403
2643
  // src/components/FeatureScroll.tsx
2404
- var import_react41 = __toESM(require("react"));
2644
+ var import_react43 = __toESM(require("react"));
2405
2645
  var import_image3 = __toESM(require("next/image"));
2406
- var import_react42 = require("@hugeicons/react");
2407
- var import_core_free_icons14 = require("@hugeicons/core-free-icons");
2646
+ var import_react44 = require("@hugeicons/react");
2647
+ var import_core_free_icons16 = require("@hugeicons/core-free-icons");
2408
2648
  var FeatureCard = ({ feature, bgImage }) => {
2409
- const [isBgLoading, setIsBgLoading] = (0, import_react41.useState)(true);
2410
- const [isFgLoading, setIsFgLoading] = (0, import_react41.useState)(!!feature.image);
2411
- return /* @__PURE__ */ import_react41.default.createElement("div", { className: "flex flex-col shrink-0 w-[90vw] sm:w-150 snap-center md:snap-start group cursor-grab active:cursor-grabbing" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "relative w-full aspect-16/10 bg-neutral-100 rounded-2xl overflow-hidden mb-6 flex items-center justify-center" }, /* @__PURE__ */ import_react41.default.createElement(
2649
+ const [isBgLoading, setIsBgLoading] = (0, import_react43.useState)(true);
2650
+ const [isFgLoading, setIsFgLoading] = (0, import_react43.useState)(!!feature.image);
2651
+ return /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col shrink-0 w-[90vw] sm:w-150 snap-center md:snap-start group cursor-grab active:cursor-grabbing" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "relative w-full aspect-16/10 bg-neutral-100 rounded-2xl overflow-hidden mb-6 flex items-center justify-center" }, /* @__PURE__ */ import_react43.default.createElement(
2412
2652
  import_image3.default,
2413
2653
  {
2414
2654
  src: bgImage,
@@ -2421,7 +2661,7 @@ var FeatureCard = ({ feature, bgImage }) => {
2421
2661
  ${isBgLoading ? "blur-xl scale-110" : "blur-0 scale-100"}
2422
2662
  `
2423
2663
  }
2424
- ), /* @__PURE__ */ import_react41.default.createElement(
2664
+ ), /* @__PURE__ */ import_react43.default.createElement(
2425
2665
  "div",
2426
2666
  {
2427
2667
  className: "absolute inset-0 w-full h-full pointer-events-none z-0 opacity-[0.25] mix-blend-overlay",
@@ -2429,7 +2669,7 @@ var FeatureCard = ({ feature, bgImage }) => {
2429
2669
  backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`
2430
2670
  }
2431
2671
  }
2432
- ), isFgLoading && feature.image && /* @__PURE__ */ import_react41.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-50/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ import_react41.default.createElement(import_react42.HugeiconsIcon, { icon: import_core_free_icons14.Loading03Icon, size: 32, className: "animate-spin text-neutral-400" })), feature.image && /* @__PURE__ */ import_react41.default.createElement("div", { className: "absolute -bottom-6 -right-6 w-[85%] h-[85%] z-10 transition-transform duration-700 ease-out group-hover:-translate-x-2 group-hover:-translate-y-2" }, /* @__PURE__ */ import_react41.default.createElement(
2672
+ ), isFgLoading && feature.image && /* @__PURE__ */ import_react43.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-50/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.Loading03Icon, size: 32, className: "animate-spin text-neutral-400" })), feature.image && /* @__PURE__ */ import_react43.default.createElement("div", { className: "absolute -bottom-6 -right-6 w-[85%] h-[85%] z-10 transition-transform duration-700 ease-out group-hover:-translate-x-2 group-hover:-translate-y-2" }, /* @__PURE__ */ import_react43.default.createElement(
2433
2673
  import_image3.default,
2434
2674
  {
2435
2675
  src: feature.image,
@@ -2442,12 +2682,12 @@ var FeatureCard = ({ feature, bgImage }) => {
2442
2682
  ${isFgLoading ? "opacity-0 blur-xl" : "opacity-100 blur-0"}
2443
2683
  `
2444
2684
  }
2445
- ))), /* @__PURE__ */ import_react41.default.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ import_react41.default.createElement("h3", { className: " text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ import_react41.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
2685
+ ))), /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ import_react43.default.createElement("h3", { className: " text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ import_react43.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
2446
2686
  };
2447
2687
  var FeatureScroll = ({ tagline, headline, features }) => {
2448
- const scrollRef = (0, import_react41.useRef)(null);
2449
- const [canScrollLeft, setCanScrollLeft] = (0, import_react41.useState)(false);
2450
- const [canScrollRight, setCanScrollRight] = (0, import_react41.useState)(true);
2688
+ const scrollRef = (0, import_react43.useRef)(null);
2689
+ const [canScrollLeft, setCanScrollLeft] = (0, import_react43.useState)(false);
2690
+ const [canScrollRight, setCanScrollRight] = (0, import_react43.useState)(true);
2451
2691
  const checkScroll = () => {
2452
2692
  if (scrollRef.current) {
2453
2693
  const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;
@@ -2455,7 +2695,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2455
2695
  setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 2);
2456
2696
  }
2457
2697
  };
2458
- (0, import_react41.useEffect)(() => {
2698
+ (0, import_react43.useEffect)(() => {
2459
2699
  checkScroll();
2460
2700
  window.addEventListener("resize", checkScroll);
2461
2701
  return () => window.removeEventListener("resize", checkScroll);
@@ -2471,7 +2711,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2471
2711
  "https://retinalabs.company/assets/images/bg_6.avif",
2472
2712
  "https://retinalabs.company/assets/images/bg_1.avif"
2473
2713
  ];
2474
- return /* @__PURE__ */ import_react41.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10 overflow-hidden" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "flex flex-col md:flex-row md:items-end justify-between gap-6 mb-12" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "relative z-10 text-left" }, /* @__PURE__ */ import_react41.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react41.default.createElement("h2", { className: " text-3xl tracking-tight text-black leading-[1.05]" }, headline)), /* @__PURE__ */ import_react41.default.createElement("div", { className: "hidden md:flex items-center gap-3" }, /* @__PURE__ */ import_react41.default.createElement(
2714
+ return /* @__PURE__ */ import_react43.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10 overflow-hidden" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col md:flex-row md:items-end justify-between gap-6 mb-12" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "relative z-10 text-left" }, /* @__PURE__ */ import_react43.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react43.default.createElement("h2", { className: " text-3xl tracking-tight text-black leading-[1.05]" }, headline)), /* @__PURE__ */ import_react43.default.createElement("div", { className: "hidden md:flex items-center gap-3" }, /* @__PURE__ */ import_react43.default.createElement(
2475
2715
  "button",
2476
2716
  {
2477
2717
  onClick: () => scroll("left"),
@@ -2479,8 +2719,8 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2479
2719
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 disabled:hover:border-neutral-200 disabled:hover:text-neutral-500 disabled:cursor-not-allowed transition-all outline-none",
2480
2720
  "aria-label": "Previous feature"
2481
2721
  },
2482
- /* @__PURE__ */ import_react41.default.createElement(import_react42.HugeiconsIcon, { icon: import_core_free_icons14.ArrowLeft01Icon, size: 20 })
2483
- ), /* @__PURE__ */ import_react41.default.createElement(
2722
+ /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.ArrowLeft01Icon, size: 20 })
2723
+ ), /* @__PURE__ */ import_react43.default.createElement(
2484
2724
  "button",
2485
2725
  {
2486
2726
  onClick: () => scroll("right"),
@@ -2488,57 +2728,57 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2488
2728
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 disabled:hover:border-neutral-200 disabled:hover:text-neutral-500 disabled:cursor-not-allowed transition-all outline-none",
2489
2729
  "aria-label": "Next feature"
2490
2730
  },
2491
- /* @__PURE__ */ import_react41.default.createElement(import_react42.HugeiconsIcon, { icon: import_core_free_icons14.ArrowRight01Icon, size: 20 })
2492
- ))), /* @__PURE__ */ import_react41.default.createElement(
2731
+ /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.ArrowRight01Icon, size: 20 })
2732
+ ))), /* @__PURE__ */ import_react43.default.createElement(
2493
2733
  "div",
2494
2734
  {
2495
2735
  ref: scrollRef,
2496
2736
  onScroll: checkScroll,
2497
2737
  className: "flex gap-6 overflow-x-auto snap-x snap-mandatory [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] scrollbar-none pb-8 -mx-4 px-4 md:mx-0 md:px-0"
2498
2738
  },
2499
- features.slice(0, 3).map((feature, idx) => /* @__PURE__ */ import_react41.default.createElement(FeatureCard, { key: idx, feature, bgImage: bgImages[idx] }))
2500
- ), /* @__PURE__ */ import_react41.default.createElement("div", { className: "flex md:hidden items-center justify-center gap-4 mt-2" }, /* @__PURE__ */ import_react41.default.createElement(
2739
+ features.slice(0, 3).map((feature, idx) => /* @__PURE__ */ import_react43.default.createElement(FeatureCard, { key: idx, feature, bgImage: bgImages[idx] }))
2740
+ ), /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex md:hidden items-center justify-center gap-4 mt-2" }, /* @__PURE__ */ import_react43.default.createElement(
2501
2741
  "button",
2502
2742
  {
2503
2743
  onClick: () => scroll("left"),
2504
2744
  disabled: !canScrollLeft,
2505
2745
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 transition-all outline-none"
2506
2746
  },
2507
- /* @__PURE__ */ import_react41.default.createElement(import_react42.HugeiconsIcon, { icon: import_core_free_icons14.ArrowLeft01Icon, size: 20 })
2508
- ), /* @__PURE__ */ import_react41.default.createElement(
2747
+ /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.ArrowLeft01Icon, size: 20 })
2748
+ ), /* @__PURE__ */ import_react43.default.createElement(
2509
2749
  "button",
2510
2750
  {
2511
2751
  onClick: () => scroll("right"),
2512
2752
  disabled: !canScrollRight,
2513
2753
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 transition-all outline-none"
2514
2754
  },
2515
- /* @__PURE__ */ import_react41.default.createElement(import_react42.HugeiconsIcon, { icon: import_core_free_icons14.ArrowRight01Icon, size: 20 })
2755
+ /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.ArrowRight01Icon, size: 20 })
2516
2756
  ))));
2517
2757
  };
2518
2758
 
2519
2759
  // src/components/PlatformFeatures.tsx
2520
- var import_react43 = __toESM(require("react"));
2521
- var import_react44 = require("@hugeicons/react");
2760
+ var import_react45 = __toESM(require("react"));
2761
+ var import_react46 = require("@hugeicons/react");
2522
2762
  var PlatformFeatures = ({
2523
2763
  tagline,
2524
2764
  headline,
2525
2765
  description,
2526
2766
  features
2527
2767
  }) => {
2528
- return /* @__PURE__ */ import_react43.default.createElement("section", { className: "w-full flex justify-center mb-15 relative z-10" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col items-start mb-16 relative z-10" }, /* @__PURE__ */ import_react43.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react43.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.05] mb-6" }, headline), /* @__PURE__ */ import_react43.default.createElement("p", { className: "text-[15px] leading-[1.8] text-neutral-600 max-w-2xl" }, description)), /* @__PURE__ */ import_react43.default.createElement("div", { className: "w-full h-px bg-neutral-100 mb-16", "aria-hidden": "true" }), /* @__PURE__ */ import_react43.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-12" }, features.map((feature, idx) => /* @__PURE__ */ import_react43.default.createElement(
2768
+ return /* @__PURE__ */ import_react45.default.createElement("section", { className: "w-full flex justify-center mb-15 relative z-10" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col items-start mb-16 relative z-10" }, /* @__PURE__ */ import_react45.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react45.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.05] mb-6" }, headline), /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-[15px] leading-[1.8] text-neutral-600 max-w-2xl" }, description)), /* @__PURE__ */ import_react45.default.createElement("div", { className: "w-full h-px bg-neutral-100 mb-16", "aria-hidden": "true" }), /* @__PURE__ */ import_react45.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-12" }, features.map((feature, idx) => /* @__PURE__ */ import_react45.default.createElement(
2529
2769
  "div",
2530
2770
  {
2531
2771
  key: idx,
2532
2772
  className: "flex flex-col group animate-in fade-in slide-in-from-bottom-4 duration-700 fill-mode-both",
2533
2773
  style: { animationDelay: feature.delay || "0ms" }
2534
2774
  },
2535
- /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-row items-center gap-4 mb-4" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "w-14 h-14 shrink-0 rounded-xl border border-neutral-200 flex items-center justify-center text-neutral-600 transition-colors duration-300" }, /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: feature.icon, size: 24 })), /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ import_react43.default.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-0.5" }, feature.label || "CAPABILITY"), /* @__PURE__ */ import_react43.default.createElement("h3", { className: "text-xl tracking-tight text-black" }, feature.title))),
2536
- /* @__PURE__ */ import_react43.default.createElement("div", null, /* @__PURE__ */ import_react43.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
2775
+ /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-row items-center gap-4 mb-4" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "w-14 h-14 shrink-0 rounded-xl border border-neutral-200 flex items-center justify-center text-neutral-600 transition-colors duration-300" }, /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: feature.icon, size: 24 })), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ import_react45.default.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-0.5" }, feature.label || "CAPABILITY"), /* @__PURE__ */ import_react45.default.createElement("h3", { className: "text-xl tracking-tight text-black" }, feature.title))),
2776
+ /* @__PURE__ */ import_react45.default.createElement("div", null, /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
2537
2777
  )))));
2538
2778
  };
2539
2779
 
2540
2780
  // src/components/ManagedDocument.tsx
2541
- var import_react45 = __toESM(require("react"));
2781
+ var import_react47 = __toESM(require("react"));
2542
2782
  var ManagedDocument = ({
2543
2783
  tagline,
2544
2784
  title,
@@ -2546,9 +2786,9 @@ var ManagedDocument = ({
2546
2786
  contactText,
2547
2787
  contactEmail
2548
2788
  }) => {
2549
- const [isAnimating, setIsAnimating] = (0, import_react45.useState)(false);
2550
- const titleRef = (0, import_react45.useRef)(null);
2551
- (0, import_react45.useEffect)(() => {
2789
+ const [isAnimating, setIsAnimating] = (0, import_react47.useState)(false);
2790
+ const titleRef = (0, import_react47.useRef)(null);
2791
+ (0, import_react47.useEffect)(() => {
2552
2792
  const observer = new IntersectionObserver(
2553
2793
  ([entry]) => {
2554
2794
  if (entry.isIntersecting) {
@@ -2568,7 +2808,7 @@ var ManagedDocument = ({
2568
2808
  }, []);
2569
2809
  return (
2570
2810
  // Outer layout wrapper (takes up available space, adds padding)
2571
- /* @__PURE__ */ import_react45.default.createElement("div", { className: "grow pt-4 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react45.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react45.default.createElement(
2811
+ /* @__PURE__ */ import_react47.default.createElement("div", { className: "grow pt-4 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react47.default.createElement(
2572
2812
  "h1",
2573
2813
  {
2574
2814
  ref: titleRef,
@@ -2576,7 +2816,7 @@ var ManagedDocument = ({
2576
2816
  style: isAnimating ? { animationIterationCount: 1 } : {}
2577
2817
  },
2578
2818
  title
2579
- )), sections.map((section, index) => /* @__PURE__ */ import_react45.default.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ import_react45.default.createElement("p", { className: " text-[11px] tracking-[0.2em] text-black mb-4 text-left " }, section.heading), section.paragraphs && section.paragraphs.length > 0 && /* @__PURE__ */ import_react45.default.createElement("div", { className: "text-[14px] leading-[1.8] text-neutral-700 space-y-4 text-left " }, section.paragraphs.map((text, pIndex) => /* @__PURE__ */ import_react45.default.createElement("p", { key: pIndex }, text))), section.quote && /* @__PURE__ */ import_react45.default.createElement("div", { className: `border-neutral-100 border rounded-xl p-6 ${section.paragraphs && section.paragraphs.length > 0 ? "mt-6" : ""}` }, /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-neutral-900 text-[14px] md:text-[14px] leading-relaxed" }, '"', section.quote, '"')))), (contactText || contactEmail) && /* @__PURE__ */ import_react45.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react45.default.createElement(
2819
+ )), sections.map((section, index) => /* @__PURE__ */ import_react47.default.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ import_react47.default.createElement("p", { className: " text-[11px] tracking-[0.2em] text-black mb-4 text-left " }, section.heading), section.paragraphs && section.paragraphs.length > 0 && /* @__PURE__ */ import_react47.default.createElement("div", { className: "text-[14px] leading-[1.8] text-neutral-700 space-y-4 text-left " }, section.paragraphs.map((text, pIndex) => /* @__PURE__ */ import_react47.default.createElement("p", { key: pIndex }, text))), section.quote && /* @__PURE__ */ import_react47.default.createElement("div", { className: `border-neutral-100 border rounded-xl p-6 ${section.paragraphs && section.paragraphs.length > 0 ? "mt-6" : ""}` }, /* @__PURE__ */ import_react47.default.createElement("p", { className: "text-neutral-900 text-[14px] md:text-[14px] leading-relaxed" }, '"', section.quote, '"')))), (contactText || contactEmail) && /* @__PURE__ */ import_react47.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react47.default.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react47.default.createElement(
2580
2820
  "a",
2581
2821
  {
2582
2822
  href: `mailto:${contactEmail}`,
@@ -2588,18 +2828,18 @@ var ManagedDocument = ({
2588
2828
  };
2589
2829
 
2590
2830
  // src/components/ManagedContactBlock.tsx
2591
- var import_react46 = __toESM(require("react"));
2592
- var import_react47 = require("@hugeicons/react");
2831
+ var import_react48 = __toESM(require("react"));
2832
+ var import_react49 = require("@hugeicons/react");
2593
2833
  var SecureEmail = ({ user, domain, className }) => {
2594
- const [isMounted, setIsMounted] = (0, import_react46.useState)(false);
2595
- (0, import_react46.useEffect)(() => {
2834
+ const [isMounted, setIsMounted] = (0, import_react48.useState)(false);
2835
+ (0, import_react48.useEffect)(() => {
2596
2836
  setIsMounted(true);
2597
2837
  }, []);
2598
2838
  if (!isMounted) {
2599
- return /* @__PURE__ */ import_react46.default.createElement("span", { className, style: { opacity: 0 } }, "Loading");
2839
+ return /* @__PURE__ */ import_react48.default.createElement("span", { className, style: { opacity: 0 } }, "Loading");
2600
2840
  }
2601
2841
  const email = `${user}@${domain}`;
2602
- return /* @__PURE__ */ import_react46.default.createElement("a", { href: `mailto:${email}`, className }, email);
2842
+ return /* @__PURE__ */ import_react48.default.createElement("a", { href: `mailto:${email}`, className }, email);
2603
2843
  };
2604
2844
  var ManagedContactBlock = ({
2605
2845
  tagline,
@@ -2608,7 +2848,7 @@ var ManagedContactBlock = ({
2608
2848
  emails,
2609
2849
  socials
2610
2850
  }) => {
2611
- return /* @__PURE__ */ import_react46.default.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react46.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react46.default.createElement(
2851
+ return /* @__PURE__ */ import_react48.default.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react48.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react48.default.createElement(
2612
2852
  "div",
2613
2853
  {
2614
2854
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -2617,21 +2857,21 @@ var ManagedContactBlock = ({
2617
2857
  backgroundRepeat: "repeat"
2618
2858
  }
2619
2859
  }
2620
- ), /* @__PURE__ */ import_react46.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react46.default.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ import_react46.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react46.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react46.default.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ import_react46.default.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ import_react46.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react46.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Contact Details"), /* @__PURE__ */ import_react46.default.createElement("div", { className: "space-y-3 text-[13px] text-neutral-600 leading-[1.8]" }, company.name && /* @__PURE__ */ import_react46.default.createElement("p", { className: "text-black" }, company.name), company.lines && company.lines.map((line, idx) => /* @__PURE__ */ import_react46.default.createElement("p", { key: idx }, line)), company.phone && /* @__PURE__ */ import_react46.default.createElement("p", { className: "pt-2" }, /* @__PURE__ */ import_react46.default.createElement(
2860
+ ), /* @__PURE__ */ import_react48.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react48.default.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ import_react48.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react48.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react48.default.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react48.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Contact Details"), /* @__PURE__ */ import_react48.default.createElement("div", { className: "space-y-3 text-[13px] text-neutral-600 leading-[1.8]" }, company.name && /* @__PURE__ */ import_react48.default.createElement("p", { className: "text-black" }, company.name), company.lines && company.lines.map((line, idx) => /* @__PURE__ */ import_react48.default.createElement("p", { key: idx }, line)), company.phone && /* @__PURE__ */ import_react48.default.createElement("p", { className: "pt-2" }, /* @__PURE__ */ import_react48.default.createElement(
2621
2861
  "a",
2622
2862
  {
2623
2863
  href: `tel:${company.phone.replace(/\s+/g, "")}`,
2624
2864
  className: "transition-colors hover:text-black"
2625
2865
  },
2626
2866
  company.phone
2627
- )))), emails && emails.length > 0 && /* @__PURE__ */ import_react46.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react46.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Email Directory"), /* @__PURE__ */ import_react46.default.createElement("div", { className: "space-y-6 text-[13px]" }, emails.map((email, idx) => /* @__PURE__ */ import_react46.default.createElement("div", { key: idx }, /* @__PURE__ */ import_react46.default.createElement("p", { className: "text-[11px] tracking-[0.2em] mb-1.5 text-neutral-500 " }, email.label), /* @__PURE__ */ import_react46.default.createElement(
2867
+ )))), emails && emails.length > 0 && /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react48.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Email Directory"), /* @__PURE__ */ import_react48.default.createElement("div", { className: "space-y-6 text-[13px]" }, emails.map((email, idx) => /* @__PURE__ */ import_react48.default.createElement("div", { key: idx }, /* @__PURE__ */ import_react48.default.createElement("p", { className: "text-[11px] tracking-[0.2em] mb-1.5 text-neutral-500 " }, email.label), /* @__PURE__ */ import_react48.default.createElement(
2628
2868
  SecureEmail,
2629
2869
  {
2630
2870
  user: email.user,
2631
2871
  domain: email.domain,
2632
2872
  className: "text-neutral-600 transition-colors hover:text-black"
2633
2873
  }
2634
- ))))), socials && socials.length > 0 && /* @__PURE__ */ import_react46.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react46.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Find Us Online"), /* @__PURE__ */ import_react46.default.createElement("div", { className: "flex flex-col space-y-5 pt-1" }, socials.map((social, idx) => /* @__PURE__ */ import_react46.default.createElement(
2874
+ ))))), socials && socials.length > 0 && /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react48.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Find Us Online"), /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex flex-col space-y-5 pt-1" }, socials.map((social, idx) => /* @__PURE__ */ import_react48.default.createElement(
2635
2875
  "a",
2636
2876
  {
2637
2877
  key: idx,
@@ -2641,27 +2881,27 @@ var ManagedContactBlock = ({
2641
2881
  className: "flex items-center gap-3 transition-colors group text-neutral-600 hover:text-black",
2642
2882
  "aria-label": social.label
2643
2883
  },
2644
- /* @__PURE__ */ import_react46.default.createElement(import_react47.HugeiconsIcon, { icon: social.icon, size: 18 }),
2645
- /* @__PURE__ */ import_react46.default.createElement("span", { className: "text-[13px]" }, social.label)
2884
+ /* @__PURE__ */ import_react48.default.createElement(import_react49.HugeiconsIcon, { icon: social.icon, size: 18 }),
2885
+ /* @__PURE__ */ import_react48.default.createElement("span", { className: "text-[13px]" }, social.label)
2646
2886
  )))))))));
2647
2887
  };
2648
2888
 
2649
2889
  // src/components/ManagedPricingBlock.tsx
2650
- var import_react48 = __toESM(require("react"));
2890
+ var import_react50 = __toESM(require("react"));
2651
2891
  var import_link6 = __toESM(require("next/link"));
2652
2892
  var import_image4 = __toESM(require("next/image"));
2653
- var CheckIcon = ({ className = "" }) => /* @__PURE__ */ import_react48.default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ import_react48.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ import_react48.default.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2654
- var CrossIcon = ({ className = "" }) => /* @__PURE__ */ import_react48.default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ import_react48.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ import_react48.default.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2893
+ var CheckIcon = ({ className = "" }) => /* @__PURE__ */ import_react50.default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ import_react50.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ import_react50.default.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2894
+ var CrossIcon = ({ className = "" }) => /* @__PURE__ */ import_react50.default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ import_react50.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ import_react50.default.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2655
2895
  var ManagedPricingBlock = ({
2656
2896
  tagline,
2657
2897
  title,
2658
2898
  plans = [],
2659
2899
  tabs
2660
2900
  }) => {
2661
- const [isAnimating, setIsAnimating] = (0, import_react48.useState)(false);
2662
- const [activeTabIndex, setActiveTabIndex] = (0, import_react48.useState)(0);
2663
- const titleRef = (0, import_react48.useRef)(null);
2664
- (0, import_react48.useEffect)(() => {
2901
+ const [isAnimating, setIsAnimating] = (0, import_react50.useState)(false);
2902
+ const [activeTabIndex, setActiveTabIndex] = (0, import_react50.useState)(0);
2903
+ const titleRef = (0, import_react50.useRef)(null);
2904
+ (0, import_react50.useEffect)(() => {
2665
2905
  const observer = new IntersectionObserver(
2666
2906
  ([entry]) => {
2667
2907
  if (entry.isIntersecting) {
@@ -2681,7 +2921,7 @@ var ManagedPricingBlock = ({
2681
2921
  }, []);
2682
2922
  const hasTabs = tabs && tabs.length > 0;
2683
2923
  const currentPlans = hasTabs ? tabs[activeTabIndex].plans : plans;
2684
- return /* @__PURE__ */ import_react48.default.createElement("div", { className: "grow pt-10 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react48.default.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ import_react48.default.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 sm:mb-12" }, tagline && /* @__PURE__ */ import_react48.default.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block " }, tagline), /* @__PURE__ */ import_react48.default.createElement(
2924
+ return /* @__PURE__ */ import_react50.default.createElement("div", { className: "grow pt-10 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react50.default.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ import_react50.default.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 sm:mb-12" }, tagline && /* @__PURE__ */ import_react50.default.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block " }, tagline), /* @__PURE__ */ import_react50.default.createElement(
2685
2925
  "h1",
2686
2926
  {
2687
2927
  ref: titleRef,
@@ -2689,9 +2929,9 @@ var ManagedPricingBlock = ({
2689
2929
  style: isAnimating ? { animationIterationCount: 1 } : {}
2690
2930
  },
2691
2931
  title
2692
- )), hasTabs && /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex items-center justify-center mb-8 sm:mb-10 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, tabs.map((tab, idx) => {
2932
+ )), hasTabs && /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex items-center justify-center mb-8 sm:mb-10 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex items-center bg-white rounded-full p-1 sm:p-1.5 max-w-full overflow-x-auto custom-scrollbar" }, tabs.map((tab, idx) => {
2693
2933
  const isActive = activeTabIndex === idx;
2694
- return /* @__PURE__ */ import_react48.default.createElement(
2934
+ return /* @__PURE__ */ import_react50.default.createElement(
2695
2935
  "button",
2696
2936
  {
2697
2937
  key: idx,
@@ -2700,19 +2940,19 @@ var ManagedPricingBlock = ({
2700
2940
  },
2701
2941
  tab.label
2702
2942
  );
2703
- }))), /* @__PURE__ */ import_react48.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5 w-full max-w-3xl animate-in slide-in-from-bottom-2 fade-in duration-500" }, currentPlans.map((plan, planIdx) => /* @__PURE__ */ import_react48.default.createElement(
2943
+ }))), /* @__PURE__ */ import_react50.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5 w-full max-w-3xl animate-in slide-in-from-bottom-2 fade-in duration-500" }, currentPlans.map((plan, planIdx) => /* @__PURE__ */ import_react50.default.createElement(
2704
2944
  "div",
2705
2945
  {
2706
2946
  key: `${activeTabIndex}-${planIdx}`,
2707
2947
  className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden transition-all duration-300 ${plan.isPremium ? "" : ""}`
2708
2948
  },
2709
- /* @__PURE__ */ import_react48.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react48.default.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ import_react48.default.createElement("h3", { className: "text-3xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ import_react48.default.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ import_react48.default.createElement("p", { className: "text-xs text-neutral-500 mt-2 min-h-8" }, plan.description), plan.showApps && plan.appLogos && plan.appLogos.length > 0 && /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ import_react48.default.createElement(
2949
+ /* @__PURE__ */ import_react50.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react50.default.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ import_react50.default.createElement("h3", { className: "text-3xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ import_react50.default.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ import_react50.default.createElement("p", { className: "text-xs text-neutral-500 mt-2 min-h-8" }, plan.description), plan.showApps && plan.appLogos && plan.appLogos.length > 0 && /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ import_react50.default.createElement(
2710
2950
  "div",
2711
2951
  {
2712
2952
  key: logoIdx,
2713
2953
  className: "relative w-5 h-5 overflow-hidden flex items-center justify-center shrink-0"
2714
2954
  },
2715
- /* @__PURE__ */ import_react48.default.createElement(
2955
+ /* @__PURE__ */ import_react50.default.createElement(
2716
2956
  import_image4.default,
2717
2957
  {
2718
2958
  src: logo.src,
@@ -2723,7 +2963,7 @@ var ManagedPricingBlock = ({
2723
2963
  }
2724
2964
  )
2725
2965
  )))),
2726
- plan.isPremium ? /* @__PURE__ */ import_react48.default.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ import_react48.default.createElement(
2966
+ plan.isPremium ? /* @__PURE__ */ import_react50.default.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ import_react50.default.createElement(
2727
2967
  import_link6.default,
2728
2968
  {
2729
2969
  href: plan.ctaHref,
@@ -2731,20 +2971,20 @@ var ManagedPricingBlock = ({
2731
2971
  },
2732
2972
  plan.ctaText
2733
2973
  ),
2734
- /* @__PURE__ */ import_react48.default.createElement("div", { className: "flex flex-col gap-3" }, plan.features.map((feature, featureIdx) => {
2974
+ /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex flex-col gap-3" }, plan.features.map((feature, featureIdx) => {
2735
2975
  const isAvailable = feature.value !== false;
2736
2976
  const valueText = typeof feature.value === "string" ? feature.value : "";
2737
- return /* @__PURE__ */ import_react48.default.createElement("div", { key: featureIdx, className: "flex items-center gap-2.5" }, isAvailable ? /* @__PURE__ */ import_react48.default.createElement(CheckIcon, null) : /* @__PURE__ */ import_react48.default.createElement(CrossIcon, null), /* @__PURE__ */ import_react48.default.createElement("span", { className: `text-xs truncate ${isAvailable ? "text-neutral-800" : "text-neutral-400"}` }, feature.name, valueText && /* @__PURE__ */ import_react48.default.createElement("span", { className: "text-neutral-500 ml-1" }, "(", valueText, ")")));
2977
+ return /* @__PURE__ */ import_react50.default.createElement("div", { key: featureIdx, className: "flex items-center gap-2.5" }, isAvailable ? /* @__PURE__ */ import_react50.default.createElement(CheckIcon, null) : /* @__PURE__ */ import_react50.default.createElement(CrossIcon, null), /* @__PURE__ */ import_react50.default.createElement("span", { className: `text-xs truncate ${isAvailable ? "text-neutral-800" : "text-neutral-400"}` }, feature.name, valueText && /* @__PURE__ */ import_react50.default.createElement("span", { className: "text-neutral-500 ml-1" }, "(", valueText, ")")));
2738
2978
  }))
2739
2979
  )))));
2740
2980
  };
2741
2981
 
2742
2982
  // src/components/ManagedBoardBlock.tsx
2743
- var import_react49 = __toESM(require("react"));
2983
+ var import_react51 = __toESM(require("react"));
2744
2984
  var import_image5 = __toESM(require("next/image"));
2745
- var import_react50 = require("@hugeicons/react");
2746
- var import_core_free_icons15 = require("@hugeicons/core-free-icons");
2747
- var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_react49.default.createElement(
2985
+ var import_react52 = require("@hugeicons/react");
2986
+ var import_core_free_icons17 = require("@hugeicons/core-free-icons");
2987
+ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_react51.default.createElement(
2748
2988
  "a",
2749
2989
  {
2750
2990
  href,
@@ -2753,7 +2993,7 @@ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_r
2753
2993
  className: "text-neutral-400 hover:text-black transition-colors",
2754
2994
  "aria-label": `${name} on ${label}`
2755
2995
  },
2756
- /* @__PURE__ */ import_react49.default.createElement(import_react50.HugeiconsIcon, { icon, size: 16 })
2996
+ /* @__PURE__ */ import_react51.default.createElement(import_react52.HugeiconsIcon, { icon, size: 16 })
2757
2997
  );
2758
2998
  var ManagedBoardBlock = ({
2759
2999
  tagline,
@@ -2762,7 +3002,7 @@ var ManagedBoardBlock = ({
2762
3002
  contactText,
2763
3003
  contactEmail
2764
3004
  }) => {
2765
- return /* @__PURE__ */ import_react49.default.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react49.default.createElement("div", { className: "relative w-full mx-auto overflow-hidden max-w-7xl" }, /* @__PURE__ */ import_react49.default.createElement(
3005
+ return /* @__PURE__ */ import_react51.default.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react51.default.createElement("div", { className: "relative w-full mx-auto overflow-hidden max-w-7xl" }, /* @__PURE__ */ import_react51.default.createElement(
2766
3006
  "div",
2767
3007
  {
2768
3008
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -2771,7 +3011,7 @@ var ManagedBoardBlock = ({
2771
3011
  backgroundRepeat: "repeat"
2772
3012
  }
2773
3013
  }
2774
- ), /* @__PURE__ */ import_react49.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react49.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react49.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react49.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react49.default.createElement("div", { className: "relative px-5 md:px-12 py-4 md:py-8" }, /* @__PURE__ */ import_react49.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5 md:gap-8" }, members.map((member, idx) => /* @__PURE__ */ import_react49.default.createElement("div", { key: idx, className: "relative p-6 md:p-8 rounded-2xl bg-white flex flex-col transition-all group" }, /* @__PURE__ */ import_react49.default.createElement("div", { className: "flex items-start space-x-4 md:space-x-5 mb-5 md:mb-6" }, /* @__PURE__ */ import_react49.default.createElement("div", { className: "relative w-14 h-14 md:w-16 md:h-16 shrink-0 bg-white overflow-hidden rounded-xl" }, /* @__PURE__ */ import_react49.default.createElement(
3014
+ ), /* @__PURE__ */ import_react51.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react51.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react51.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react51.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react51.default.createElement("div", { className: "relative px-5 md:px-12 py-4 md:py-8" }, /* @__PURE__ */ import_react51.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5 md:gap-8" }, members.map((member, idx) => /* @__PURE__ */ import_react51.default.createElement("div", { key: idx, className: "relative p-6 md:p-8 rounded-2xl bg-white flex flex-col transition-all group" }, /* @__PURE__ */ import_react51.default.createElement("div", { className: "flex items-start space-x-4 md:space-x-5 mb-5 md:mb-6" }, /* @__PURE__ */ import_react51.default.createElement("div", { className: "relative w-14 h-14 md:w-16 md:h-16 shrink-0 bg-white overflow-hidden rounded-xl" }, /* @__PURE__ */ import_react51.default.createElement(
2775
3015
  import_image5.default,
2776
3016
  {
2777
3017
  src: member.imageSrc,
@@ -2780,44 +3020,44 @@ var ManagedBoardBlock = ({
2780
3020
  sizes: "(max-width: 768px) 56px, 64px",
2781
3021
  className: "object-cover grayscale opacity-100 transition-opacity"
2782
3022
  }
2783
- )), /* @__PURE__ */ import_react49.default.createElement("div", { className: "pt-1" }, /* @__PURE__ */ import_react49.default.createElement("h3", { className: " text-[14px] md:text-[15px] text-black tracking-tight" }, member.name), /* @__PURE__ */ import_react49.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 mt-1.5 " }, member.title))), /* @__PURE__ */ import_react49.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 text-left grow mb-8" }, member.bio), /* @__PURE__ */ import_react49.default.createElement("div", { className: "space-y-6 mt-auto" }, /* @__PURE__ */ import_react49.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react49.default.createElement(ThreeDButton, { href: member.website }, "Visit Website")), /* @__PURE__ */ import_react49.default.createElement("div", { className: "flex space-x-4 pt-5" }, member.twitterHandle && member.twitterHandle.length > 0 && /* @__PURE__ */ import_react49.default.createElement(
3023
+ )), /* @__PURE__ */ import_react51.default.createElement("div", { className: "pt-1" }, /* @__PURE__ */ import_react51.default.createElement("h3", { className: " text-[14px] md:text-[15px] text-black tracking-tight" }, member.name), /* @__PURE__ */ import_react51.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 mt-1.5 " }, member.title))), /* @__PURE__ */ import_react51.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 text-left grow mb-8" }, member.bio), /* @__PURE__ */ import_react51.default.createElement("div", { className: "space-y-6 mt-auto" }, /* @__PURE__ */ import_react51.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react51.default.createElement(ThreeDButton, { href: member.website }, "Visit Website")), /* @__PURE__ */ import_react51.default.createElement("div", { className: "flex space-x-4 pt-5" }, member.twitterHandle && member.twitterHandle.length > 0 && /* @__PURE__ */ import_react51.default.createElement(
2784
3024
  MemberSocialLink,
2785
3025
  {
2786
3026
  href: `https://x.com/${member.twitterHandle}`,
2787
- icon: import_core_free_icons15.TwitterIcon,
3027
+ icon: import_core_free_icons17.TwitterIcon,
2788
3028
  label: "X",
2789
3029
  name: member.name
2790
3030
  }
2791
- ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ import_react49.default.createElement(
3031
+ ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ import_react51.default.createElement(
2792
3032
  MemberSocialLink,
2793
3033
  {
2794
3034
  href: member.linkedinHandle,
2795
- icon: import_core_free_icons15.LinkedinIcon,
3035
+ icon: import_core_free_icons17.LinkedinIcon,
2796
3036
  label: "LinkedIn",
2797
3037
  name: member.name
2798
3038
  }
2799
- ))))))), (contactText || contactEmail) && /* @__PURE__ */ import_react49.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react49.default.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react49.default.createElement("a", { href: `mailto:${contactEmail}`, className: "text-black decoration-black decoration-2 underline-offset-4 ml-1 transition-colors" }, contactEmail))))));
3039
+ ))))))), (contactText || contactEmail) && /* @__PURE__ */ import_react51.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react51.default.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react51.default.createElement("a", { href: `mailto:${contactEmail}`, className: "text-black decoration-black decoration-2 underline-offset-4 ml-1 transition-colors" }, contactEmail))))));
2800
3040
  };
2801
3041
 
2802
3042
  // src/components/ManagedNotFoundBlock.tsx
2803
- var import_react51 = __toESM(require("react"));
3043
+ var import_react53 = __toESM(require("react"));
2804
3044
  var ManagedNotFoundBlock = ({
2805
3045
  title = "404 - Page Not Found",
2806
3046
  description = "The page you are looking for does not exist or has been moved."
2807
3047
  }) => {
2808
- return /* @__PURE__ */ import_react51.default.createElement("main", { className: "min-h-screen flex items-center justify-center relative z-20 bg-transparent" }, /* @__PURE__ */ import_react51.default.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ import_react51.default.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ import_react51.default.createElement(
3048
+ return /* @__PURE__ */ import_react53.default.createElement("main", { className: "min-h-screen flex items-center justify-center relative z-20 bg-transparent" }, /* @__PURE__ */ import_react53.default.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ import_react53.default.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ import_react53.default.createElement(
2809
3049
  "svg",
2810
3050
  {
2811
3051
  xmlns: "http://www.w3.org/2000/svg",
2812
3052
  viewBox: "0 0 24 24",
2813
3053
  className: "w-12 h-12 fill-neutral-100"
2814
3054
  },
2815
- /* @__PURE__ */ import_react51.default.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })
2816
- )), /* @__PURE__ */ import_react51.default.createElement("h1", { className: " text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ import_react51.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description)));
3055
+ /* @__PURE__ */ import_react53.default.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })
3056
+ )), /* @__PURE__ */ import_react53.default.createElement("h1", { className: " text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ import_react53.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description)));
2817
3057
  };
2818
3058
 
2819
3059
  // src/components/ManagedNewsletterSplitBlock.tsx
2820
- var import_react52 = __toESM(require("react"));
3060
+ var import_react54 = __toESM(require("react"));
2821
3061
  var import_image6 = __toESM(require("next/image"));
2822
3062
  var ManagedNewsletterSplitBlock = ({
2823
3063
  tagline,
@@ -2831,7 +3071,7 @@ var ManagedNewsletterSplitBlock = ({
2831
3071
  ctaHref = "/contact",
2832
3072
  children
2833
3073
  }) => {
2834
- return /* @__PURE__ */ import_react52.default.createElement("div", { className: "grow flex flex-col md:flex-row relative w-full pt-32 md:pt-0" }, /* @__PURE__ */ import_react52.default.createElement("div", { className: "hidden md:block md:w-1/2 relative min-h-screen overflow-hidden" }, /* @__PURE__ */ import_react52.default.createElement(
3074
+ return /* @__PURE__ */ import_react54.default.createElement("div", { className: "grow flex flex-col md:flex-row relative w-full pt-32 md:pt-0" }, /* @__PURE__ */ import_react54.default.createElement("div", { className: "hidden md:block md:w-1/2 relative min-h-screen overflow-hidden" }, /* @__PURE__ */ import_react54.default.createElement(
2835
3075
  import_image6.default,
2836
3076
  {
2837
3077
  src: imageSrc,
@@ -2841,7 +3081,7 @@ var ManagedNewsletterSplitBlock = ({
2841
3081
  className: "object-cover object-top grayscale opacity-60",
2842
3082
  quality: 100
2843
3083
  }
2844
- ), /* @__PURE__ */ import_react52.default.createElement(
3084
+ ), /* @__PURE__ */ import_react54.default.createElement(
2845
3085
  "div",
2846
3086
  {
2847
3087
  className: "absolute inset-0 z-10 pointer-events-none",
@@ -2849,7 +3089,7 @@ var ManagedNewsletterSplitBlock = ({
2849
3089
  background: "linear-gradient(to right, rgba(255,255,255,0) 30%, #ffffff 100%)"
2850
3090
  }
2851
3091
  }
2852
- ), /* @__PURE__ */ import_react52.default.createElement(
3092
+ ), /* @__PURE__ */ import_react54.default.createElement(
2853
3093
  "div",
2854
3094
  {
2855
3095
  className: "absolute inset-x-0 bottom-0 h-40 z-10 pointer-events-none",
@@ -2857,7 +3097,7 @@ var ManagedNewsletterSplitBlock = ({
2857
3097
  background: "linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffffff 100%)"
2858
3098
  }
2859
3099
  }
2860
- )), /* @__PURE__ */ import_react52.default.createElement("div", { className: "w-full md:w-1/2 flex mt-22 flex-col items-center justify-center p-4 md:p-12 relative z-20" }, /* @__PURE__ */ import_react52.default.createElement("div", { className: "relative w-full max-w-lg p-8 md:p-12 text-center md:text-left transition-all duration-700 ease-out" }, /* @__PURE__ */ import_react52.default.createElement(
3100
+ )), /* @__PURE__ */ import_react54.default.createElement("div", { className: "w-full md:w-1/2 flex mt-22 flex-col items-center justify-center p-4 md:p-12 relative z-20" }, /* @__PURE__ */ import_react54.default.createElement("div", { className: "relative w-full max-w-lg p-8 md:p-12 text-center md:text-left transition-all duration-700 ease-out" }, /* @__PURE__ */ import_react54.default.createElement(
2861
3101
  "div",
2862
3102
  {
2863
3103
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -2866,7 +3106,7 @@ var ManagedNewsletterSplitBlock = ({
2866
3106
  backgroundRepeat: "repeat"
2867
3107
  }
2868
3108
  }
2869
- ), /* @__PURE__ */ import_react52.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react52.default.createElement("div", { className: "mb-10 border-b border-neutral-100 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ import_react52.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 " }, tagline), /* @__PURE__ */ import_react52.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ import_react52.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, subtitle)), /* @__PURE__ */ import_react52.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-10 text-center md:text-left" }, description), children && /* @__PURE__ */ import_react52.default.createElement("div", { className: "mb-8 text-left" }, children), /* @__PURE__ */ import_react52.default.createElement("div", { className: "text-center md:text-left mt-10 space-y-6" }, dividerText && /* @__PURE__ */ import_react52.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react52.default.createElement("div", { className: "grow h-px bg-neutral-100" }), /* @__PURE__ */ import_react52.default.createElement("span", { className: "shrink mx-4 text-[11px] tracking-[0.2em] text-neutral-400 " }, dividerText), /* @__PURE__ */ import_react52.default.createElement("div", { className: "grow h-px bg-neutral-100" })), ctaText && ctaHref && /* @__PURE__ */ import_react52.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react52.default.createElement(
3109
+ ), /* @__PURE__ */ import_react54.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react54.default.createElement("div", { className: "mb-10 border-b border-neutral-100 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ import_react54.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 " }, tagline), /* @__PURE__ */ import_react54.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ import_react54.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, subtitle)), /* @__PURE__ */ import_react54.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-10 text-center md:text-left" }, description), children && /* @__PURE__ */ import_react54.default.createElement("div", { className: "mb-8 text-left" }, children), /* @__PURE__ */ import_react54.default.createElement("div", { className: "text-center md:text-left mt-10 space-y-6" }, dividerText && /* @__PURE__ */ import_react54.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react54.default.createElement("div", { className: "grow h-px bg-neutral-100" }), /* @__PURE__ */ import_react54.default.createElement("span", { className: "shrink mx-4 text-[11px] tracking-[0.2em] text-neutral-400 " }, dividerText), /* @__PURE__ */ import_react54.default.createElement("div", { className: "grow h-px bg-neutral-100" })), ctaText && ctaHref && /* @__PURE__ */ import_react54.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react54.default.createElement(
2870
3110
  ThreeDButton,
2871
3111
  {
2872
3112
  href: ctaHref,
@@ -2877,14 +3117,14 @@ var ManagedNewsletterSplitBlock = ({
2877
3117
  };
2878
3118
 
2879
3119
  // src/components/PortfolioHero.tsx
2880
- var import_react53 = __toESM(require("react"));
3120
+ var import_react55 = __toESM(require("react"));
2881
3121
  var import_link7 = __toESM(require("next/link"));
2882
3122
  var import_image7 = __toESM(require("next/image"));
2883
- var import_react54 = require("@hugeicons/react");
2884
- var import_core_free_icons16 = require("@hugeicons/core-free-icons");
3123
+ var import_react56 = require("@hugeicons/react");
3124
+ var import_core_free_icons18 = require("@hugeicons/core-free-icons");
2885
3125
  var useScrollAnimation = () => {
2886
- const elementRef = (0, import_react53.useRef)(null);
2887
- (0, import_react53.useEffect)(() => {
3126
+ const elementRef = (0, import_react55.useRef)(null);
3127
+ (0, import_react55.useEffect)(() => {
2888
3128
  const el = elementRef.current;
2889
3129
  if (!el) return;
2890
3130
  const observer = new IntersectionObserver(
@@ -2920,13 +3160,13 @@ var PortfolioHero = ({
2920
3160
  secondaryCtaHref
2921
3161
  }) => {
2922
3162
  const heroContentRef = useScrollAnimation();
2923
- return /* @__PURE__ */ import_react53.default.createElement("section", { className: "pt-8 pb-16 px-6 md:px-12 flex flex-col relative overflow-hidden z-10 w-full" }, /* @__PURE__ */ import_react53.default.createElement(
3163
+ return /* @__PURE__ */ import_react55.default.createElement("section", { className: "pt-8 pb-16 px-6 md:px-12 flex flex-col relative overflow-hidden z-10 w-full" }, /* @__PURE__ */ import_react55.default.createElement(
2924
3164
  "div",
2925
3165
  {
2926
3166
  ref: heroContentRef,
2927
3167
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
2928
3168
  },
2929
- /* @__PURE__ */ import_react53.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ import_react53.default.createElement("div", { className: "relative w-20 h-20 sm:w-32 sm:h-32 rounded-full overflow-hidden border border-neutral-100 shrink-0 shadow-sm" }, /* @__PURE__ */ import_react53.default.createElement(
3169
+ /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "relative w-20 h-20 sm:w-32 sm:h-32 rounded-full overflow-hidden border border-neutral-100 shrink-0 shadow-sm" }, /* @__PURE__ */ import_react55.default.createElement(
2930
3170
  import_image7.default,
2931
3171
  {
2932
3172
  src: imageSrc,
@@ -2937,7 +3177,7 @@ var PortfolioHero = ({
2937
3177
  sizes: "(max-width: 640px) 80px, 128px",
2938
3178
  quality: 100
2939
3179
  }
2940
- )), /* @__PURE__ */ import_react53.default.createElement("div", { className: "flex flex-col text-left" }, /* @__PURE__ */ import_react53.default.createElement("h1", { className: " text-3xl sm:text-5xl lg:text-6xl tracking-tight text-black leading-none mb-3" }, name), socialLabel && /* @__PURE__ */ import_react53.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, socialLabel), socialLinkText && socialLinkHref && /* @__PURE__ */ import_react53.default.createElement(
3180
+ )), /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col text-left" }, /* @__PURE__ */ import_react55.default.createElement("h1", { className: " text-3xl sm:text-5xl lg:text-6xl tracking-tight text-black leading-none mb-3" }, name), socialLabel && /* @__PURE__ */ import_react55.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, socialLabel), socialLinkText && socialLinkHref && /* @__PURE__ */ import_react55.default.createElement(
2941
3181
  "a",
2942
3182
  {
2943
3183
  href: socialLinkHref,
@@ -2947,31 +3187,31 @@ var PortfolioHero = ({
2947
3187
  },
2948
3188
  socialLinkText
2949
3189
  ))),
2950
- /* @__PURE__ */ import_react53.default.createElement("p", { className: "text-[13px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
2951
- /* @__PURE__ */ import_react53.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 w-full sm:w-auto" }, primaryCtaText && primaryCtaHref && /* @__PURE__ */ import_react53.default.createElement("div", { className: "w-full sm:w-auto *:w-full" }, /* @__PURE__ */ import_react53.default.createElement(
3190
+ /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[13px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
3191
+ /* @__PURE__ */ import_react55.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 w-full sm:w-auto" }, primaryCtaText && primaryCtaHref && /* @__PURE__ */ import_react55.default.createElement("div", { className: "w-full sm:w-auto *:w-full" }, /* @__PURE__ */ import_react55.default.createElement(
2952
3192
  ThreeDButton,
2953
3193
  {
2954
3194
  href: primaryCtaHref,
2955
3195
  className: "py-3 tracking-widest text-[11px]"
2956
3196
  },
2957
3197
  primaryCtaText
2958
- )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react53.default.createElement(
3198
+ )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react55.default.createElement(
2959
3199
  import_link7.default,
2960
3200
  {
2961
3201
  href: secondaryCtaHref,
2962
3202
  className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-[11px] tracking-[0.2em] rounded-full px-8 py-3.5 bg-neutral-200 transition-colors text-black hover:bg-neutral-200 outline-none"
2963
3203
  },
2964
3204
  secondaryCtaText,
2965
- /* @__PURE__ */ import_react53.default.createElement(import_react54.HugeiconsIcon, { icon: import_core_free_icons16.ArrowRight01Icon, size: 16 })
3205
+ /* @__PURE__ */ import_react55.default.createElement(import_react56.HugeiconsIcon, { icon: import_core_free_icons18.ArrowRight01Icon, size: 16 })
2966
3206
  ))
2967
3207
  ));
2968
3208
  };
2969
3209
 
2970
3210
  // src/components/GifFeatureCard.tsx
2971
- var import_react55 = __toESM(require("react"));
3211
+ var import_react57 = __toESM(require("react"));
2972
3212
  var import_image8 = __toESM(require("next/image"));
2973
- var import_react56 = require("@hugeicons/react");
2974
- var import_core_free_icons17 = require("@hugeicons/core-free-icons");
3213
+ var import_react58 = require("@hugeicons/react");
3214
+ var import_core_free_icons19 = require("@hugeicons/core-free-icons");
2975
3215
  var GifFeatureCard = ({
2976
3216
  gifSrc,
2977
3217
  title,
@@ -2979,20 +3219,20 @@ var GifFeatureCard = ({
2979
3219
  alt = "Feature animation",
2980
3220
  className = "aspect-video"
2981
3221
  }) => {
2982
- const [isLoading, setIsLoading] = (0, import_react55.useState)(true);
2983
- return /* @__PURE__ */ import_react55.default.createElement("div", { className: `relative w-full bg-black overflow-hidden shadow-2xl ${className}` }, isLoading && /* @__PURE__ */ import_react55.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ import_react55.default.createElement(
2984
- import_react56.HugeiconsIcon,
3222
+ const [isLoading, setIsLoading] = (0, import_react57.useState)(true);
3223
+ return /* @__PURE__ */ import_react57.default.createElement("div", { className: `relative w-full bg-black overflow-hidden shadow-2xl ${className}` }, isLoading && /* @__PURE__ */ import_react57.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ import_react57.default.createElement(
3224
+ import_react58.HugeiconsIcon,
2985
3225
  {
2986
- icon: import_core_free_icons17.Loading03Icon,
3226
+ icon: import_core_free_icons19.Loading03Icon,
2987
3227
  size: 32,
2988
3228
  className: "animate-spin text-white"
2989
3229
  }
2990
- )), /* @__PURE__ */ import_react55.default.createElement(
3230
+ )), /* @__PURE__ */ import_react57.default.createElement(
2991
3231
  "div",
2992
3232
  {
2993
3233
  className: `absolute inset-0 z-0 transition-all duration-1000 ease-out ${isLoading ? "scale-105 blur-2xl opacity-0" : "scale-100 blur-0 opacity-100"}`
2994
3234
  },
2995
- /* @__PURE__ */ import_react55.default.createElement(
3235
+ /* @__PURE__ */ import_react57.default.createElement(
2996
3236
  import_image8.default,
2997
3237
  {
2998
3238
  src: gifSrc,
@@ -3003,16 +3243,16 @@ var GifFeatureCard = ({
3003
3243
  className: "object-cover object-center pointer-events-none"
3004
3244
  }
3005
3245
  )
3006
- ), /* @__PURE__ */ import_react55.default.createElement(
3246
+ ), /* @__PURE__ */ import_react57.default.createElement(
3007
3247
  "div",
3008
3248
  {
3009
3249
  className: "absolute inset-x-0 bottom-0 h-1/2 sm:h-2/3 bg-linear-to-t from-black/95 via-black/40 to-transparent z-10 pointer-events-none transition-opacity duration-700"
3010
3250
  }
3011
- ), /* @__PURE__ */ import_react55.default.createElement("div", { className: "absolute inset-x-0 bottom-0 p-6 sm:p-8 z-30 flex flex-col justify-end text-left pointer-events-none" }, title && /* @__PURE__ */ import_react55.default.createElement("h3", { className: " text-xl sm:text-2xl md:text-3xl text-white tracking-tight mb-2 sm:mb-3 drop-shadow-md" }, title), subtitle && /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[13px] sm:text-[15px] leading-relaxed text-neutral-300 max-w-2xl drop-shadow-sm" }, subtitle)));
3251
+ ), /* @__PURE__ */ import_react57.default.createElement("div", { className: "absolute inset-x-0 bottom-0 p-6 sm:p-8 z-30 flex flex-col justify-end text-left pointer-events-none" }, title && /* @__PURE__ */ import_react57.default.createElement("h3", { className: " text-xl sm:text-2xl md:text-3xl text-white tracking-tight mb-2 sm:mb-3 drop-shadow-md" }, title), subtitle && /* @__PURE__ */ import_react57.default.createElement("p", { className: "text-[13px] sm:text-[15px] leading-relaxed text-neutral-300 max-w-2xl drop-shadow-sm" }, subtitle)));
3012
3252
  };
3013
3253
 
3014
3254
  // src/components/MedicalFeatureStatsBlock.tsx
3015
- var import_react57 = __toESM(require("react"));
3255
+ var import_react59 = __toESM(require("react"));
3016
3256
  var import_image9 = __toESM(require("next/image"));
3017
3257
  var MedicalFeatureStatsBlock = ({
3018
3258
  bottomHeadline,
@@ -3021,9 +3261,9 @@ var MedicalFeatureStatsBlock = ({
3021
3261
  trustText,
3022
3262
  stats
3023
3263
  }) => {
3024
- const [isAnimating, setIsAnimating] = (0, import_react57.useState)(false);
3025
- const titleRef = (0, import_react57.useRef)(null);
3026
- (0, import_react57.useEffect)(() => {
3264
+ const [isAnimating, setIsAnimating] = (0, import_react59.useState)(false);
3265
+ const titleRef = (0, import_react59.useRef)(null);
3266
+ (0, import_react59.useEffect)(() => {
3027
3267
  const observer = new IntersectionObserver(
3028
3268
  ([entry]) => {
3029
3269
  if (entry.isIntersecting) {
@@ -3041,7 +3281,7 @@ var MedicalFeatureStatsBlock = ({
3041
3281
  }
3042
3282
  return () => observer.disconnect();
3043
3283
  }, []);
3044
- return /* @__PURE__ */ import_react57.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ import_react57.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react57.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ import_react57.default.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ import_react57.default.createElement(
3284
+ return /* @__PURE__ */ import_react59.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ import_react59.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react59.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ import_react59.default.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ import_react59.default.createElement(
3045
3285
  "h2",
3046
3286
  {
3047
3287
  ref: titleRef,
@@ -3049,7 +3289,7 @@ var MedicalFeatureStatsBlock = ({
3049
3289
  style: isAnimating ? { animationIterationCount: 1 } : {}
3050
3290
  },
3051
3291
  bottomHeadline
3052
- ), /* @__PURE__ */ import_react57.default.createElement("p", { className: "text-[14px] leading-relaxed text-neutral-500" }, bottomDescription)), /* @__PURE__ */ import_react57.default.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ import_react57.default.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ import_react57.default.createElement("div", { key: i, className: "relative w-12 h-12 rounded-full border-[3px] border-white overflow-hidden bg-neutral-100 z-1 hover:z-10 transition-all" }, /* @__PURE__ */ import_react57.default.createElement(
3292
+ ), /* @__PURE__ */ import_react59.default.createElement("p", { className: "text-[14px] leading-relaxed text-neutral-500" }, bottomDescription)), /* @__PURE__ */ import_react59.default.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ import_react59.default.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ import_react59.default.createElement("div", { key: i, className: "relative w-12 h-12 rounded-full border-[3px] border-white overflow-hidden bg-neutral-100 z-1 hover:z-10 transition-all" }, /* @__PURE__ */ import_react59.default.createElement(
3053
3293
  import_image9.default,
3054
3294
  {
3055
3295
  src,
@@ -3058,17 +3298,17 @@ var MedicalFeatureStatsBlock = ({
3058
3298
  sizes: "48px",
3059
3299
  className: "object-cover"
3060
3300
  }
3061
- )))), /* @__PURE__ */ import_react57.default.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ import_react57.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ import_react57.default.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ import_react57.default.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ import_react57.default.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ import_react57.default.createElement("h1", { className: "text-6xl gradient-text md:text-[80px] tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
3301
+ )))), /* @__PURE__ */ import_react59.default.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ import_react59.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ import_react59.default.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ import_react59.default.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ import_react59.default.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ import_react59.default.createElement("h1", { className: "text-6xl gradient-text md:text-[80px] tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
3062
3302
  };
3063
3303
 
3064
3304
  // src/components/ConsultantShowcase.tsx
3065
- var import_react58 = __toESM(require("react"));
3305
+ var import_react60 = __toESM(require("react"));
3066
3306
  var import_image10 = __toESM(require("next/image"));
3067
- var import_react59 = require("@hugeicons/react");
3068
- var import_core_free_icons18 = require("@hugeicons/core-free-icons");
3307
+ var import_react61 = require("@hugeicons/react");
3308
+ var import_core_free_icons20 = require("@hugeicons/core-free-icons");
3069
3309
  var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
3070
- const [isLoading, setIsLoading] = (0, import_react58.useState)(true);
3071
- return /* @__PURE__ */ import_react58.default.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ import_react58.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-800/50 backdrop-blur-md transition-opacity duration-300" }, /* @__PURE__ */ import_react58.default.createElement(import_react59.HugeiconsIcon, { icon: import_core_free_icons18.Loading03Icon, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ import_react58.default.createElement(
3310
+ const [isLoading, setIsLoading] = (0, import_react60.useState)(true);
3311
+ return /* @__PURE__ */ import_react60.default.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-800/50 backdrop-blur-md transition-opacity duration-300" }, /* @__PURE__ */ import_react60.default.createElement(import_react61.HugeiconsIcon, { icon: import_core_free_icons20.Loading03Icon, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ import_react60.default.createElement(
3072
3312
  import_image10.default,
3073
3313
  {
3074
3314
  src,
@@ -3087,9 +3327,9 @@ var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
3087
3327
  var ConsultantShowcase = ({
3088
3328
  profiles
3089
3329
  }) => {
3090
- const [currentIndex, setCurrentIndex] = (0, import_react58.useState)(0);
3091
- const [touchStart, setTouchStart] = (0, import_react58.useState)(null);
3092
- const [touchEnd, setTouchEnd] = (0, import_react58.useState)(null);
3330
+ const [currentIndex, setCurrentIndex] = (0, import_react60.useState)(0);
3331
+ const [touchStart, setTouchStart] = (0, import_react60.useState)(null);
3332
+ const [touchEnd, setTouchEnd] = (0, import_react60.useState)(null);
3093
3333
  const nextSlide = () => {
3094
3334
  setCurrentIndex((prev) => prev === profiles.length - 1 ? 0 : prev + 1);
3095
3335
  };
@@ -3114,7 +3354,7 @@ var ConsultantShowcase = ({
3114
3354
  }
3115
3355
  };
3116
3356
  if (!profiles || profiles.length === 0) return null;
3117
- return /* @__PURE__ */ import_react58.default.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react58.default.createElement(
3357
+ return /* @__PURE__ */ import_react60.default.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react60.default.createElement(
3118
3358
  "div",
3119
3359
  {
3120
3360
  className: "relative w-full h-100 md:h-112.5 rounded-4xl overflow-hidden bg-neutral-900 group select-none",
@@ -3124,13 +3364,13 @@ var ConsultantShowcase = ({
3124
3364
  },
3125
3365
  profiles.map((profile, idx) => {
3126
3366
  const isActive = idx === currentIndex;
3127
- return /* @__PURE__ */ import_react58.default.createElement(
3367
+ return /* @__PURE__ */ import_react60.default.createElement(
3128
3368
  "div",
3129
3369
  {
3130
3370
  key: profile.id,
3131
3371
  className: `absolute inset-0 transition-opacity duration-700 ease-in-out ${isActive ? "opacity-100 z-10" : "opacity-0 z-0 pointer-events-none"}`
3132
3372
  },
3133
- /* @__PURE__ */ import_react58.default.createElement(
3373
+ /* @__PURE__ */ import_react60.default.createElement(
3134
3374
  ImageWithLoader,
3135
3375
  {
3136
3376
  src: profile.imageSrc,
@@ -3138,14 +3378,14 @@ var ConsultantShowcase = ({
3138
3378
  priority: idx === 0
3139
3379
  }
3140
3380
  ),
3141
- /* @__PURE__ */ import_react58.default.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
3142
- /* @__PURE__ */ import_react58.default.createElement("div", { className: "absolute top-0 left-0 w-full h-[60%] bg-linear-to-b from-black/80 via-black/30 to-transparent z-20 pointer-events-none" }),
3143
- /* @__PURE__ */ import_react58.default.createElement("div", { className: `absolute top-8 left-8 md:top-12 md:left-12 z-30 text-white max-w-lg transition-transform duration-700 ease-out ${isActive ? "translate-y-0" : "-translate-y-4"}` }, /* @__PURE__ */ import_react58.default.createElement("h2", { className: "text-[29px] tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ import_react58.default.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ import_react58.default.createElement("p", { className: "text-[15px] text-white/80 tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ import_react58.default.createElement("p", { className: "text-[15px] text-white/80 tracking-wide mt-1" }, profile.description)))
3381
+ /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
3382
+ /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute top-0 left-0 w-full h-[60%] bg-linear-to-b from-black/80 via-black/30 to-transparent z-20 pointer-events-none" }),
3383
+ /* @__PURE__ */ import_react60.default.createElement("div", { className: `absolute top-8 left-8 md:top-12 md:left-12 z-30 text-white max-w-lg transition-transform duration-700 ease-out ${isActive ? "translate-y-0" : "-translate-y-4"}` }, /* @__PURE__ */ import_react60.default.createElement("h2", { className: "text-[29px] tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[15px] text-white/80 tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[15px] text-white/80 tracking-wide mt-1" }, profile.description)))
3144
3384
  );
3145
3385
  }),
3146
- /* @__PURE__ */ import_react58.default.createElement("div", { className: "absolute top-0 left-0 w-[20%] h-full z-40 cursor-w-resize hidden md:block", onClick: prevSlide, "aria-label": "Previous image" }),
3147
- /* @__PURE__ */ import_react58.default.createElement("div", { className: "absolute top-0 right-0 w-[20%] h-full z-40 cursor-e-resize hidden md:block", onClick: nextSlide, "aria-label": "Next image" }),
3148
- /* @__PURE__ */ import_react58.default.createElement("div", { className: "absolute bottom-6 md:bottom-8 left-0 w-full px-4 z-30 flex justify-center items-center gap-2" }, profiles.map((_, idx) => /* @__PURE__ */ import_react58.default.createElement(
3386
+ /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute top-0 left-0 w-[20%] h-full z-40 cursor-w-resize hidden md:block", onClick: prevSlide, "aria-label": "Previous image" }),
3387
+ /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute top-0 right-0 w-[20%] h-full z-40 cursor-e-resize hidden md:block", onClick: nextSlide, "aria-label": "Next image" }),
3388
+ /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute bottom-6 md:bottom-8 left-0 w-full px-4 z-30 flex justify-center items-center gap-2" }, profiles.map((_, idx) => /* @__PURE__ */ import_react60.default.createElement(
3149
3389
  "button",
3150
3390
  {
3151
3391
  key: idx,
@@ -3158,13 +3398,13 @@ var ConsultantShowcase = ({
3158
3398
  };
3159
3399
 
3160
3400
  // src/components/ContentGridBlock.tsx
3161
- var import_react60 = __toESM(require("react"));
3401
+ var import_react62 = __toESM(require("react"));
3162
3402
  var import_image11 = __toESM(require("next/image"));
3163
- var import_react61 = require("@hugeicons/react");
3164
- var import_core_free_icons19 = require("@hugeicons/core-free-icons");
3403
+ var import_react63 = require("@hugeicons/react");
3404
+ var import_core_free_icons21 = require("@hugeicons/core-free-icons");
3165
3405
  var ImageWithLoader2 = ({ src, alt, className, sizes }) => {
3166
- const [isLoading, setIsLoading] = (0, import_react60.useState)(true);
3167
- return /* @__PURE__ */ import_react60.default.createElement("div", { className: `relative overflow-hidden bg-neutral-100 ${className}` }, isLoading && /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-100/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ import_react60.default.createElement(import_react61.HugeiconsIcon, { icon: import_core_free_icons19.Loading03Icon, size: 24, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ import_react60.default.createElement(
3406
+ const [isLoading, setIsLoading] = (0, import_react62.useState)(true);
3407
+ return /* @__PURE__ */ import_react62.default.createElement("div", { className: `relative overflow-hidden bg-neutral-100 ${className}` }, isLoading && /* @__PURE__ */ import_react62.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-neutral-100/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ import_react62.default.createElement(import_react63.HugeiconsIcon, { icon: import_core_free_icons21.Loading03Icon, size: 24, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ import_react62.default.createElement(
3168
3408
  import_image11.default,
3169
3409
  {
3170
3410
  src,
@@ -3186,30 +3426,30 @@ var ContentGridBlock = ({
3186
3426
  middleBottomCard,
3187
3427
  rightCards
3188
3428
  }) => {
3189
- return /* @__PURE__ */ import_react60.default.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ import_react60.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ import_react60.default.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ import_react60.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ import_react60.default.createElement("span", { className: "mb-auto text-[11px] text-neutral-200 tracking-widest" }, leftCard.tag), /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ import_react60.default.createElement("div", null, /* @__PURE__ */ import_react60.default.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[13px] text-neutral-300" }, leftCard.subtitle)), /* @__PURE__ */ import_react60.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react60.default.createElement(import_image11.default, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react60.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ import_react60.default.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ import_react60.default.createElement(import_image11.default, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ import_react60.default.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ import_react60.default.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-50/50 border border-neutral-100 text-[13px] text-neutral-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ import_react60.default.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ import_react60.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ import_react60.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ import_react60.default.createElement("div", null, /* @__PURE__ */ import_react60.default.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ import_react60.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react60.default.createElement(import_image11.default, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ import_react60.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[16px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ import_react60.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ import_react60.default.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ import_react60.default.createElement("div", { key: idx, className: "relative w-full h-80 text-white rounded-3xl overflow-hidden group" }, /* @__PURE__ */ import_react60.default.createElement(
3429
+ return /* @__PURE__ */ import_react62.default.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ import_react62.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ import_react62.default.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ import_react62.default.createElement("span", { className: "mb-auto text-[11px] text-neutral-200 tracking-widest" }, leftCard.tag), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ import_react62.default.createElement("div", null, /* @__PURE__ */ import_react62.default.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[13px] text-neutral-300" }, leftCard.subtitle)), /* @__PURE__ */ import_react62.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react62.default.createElement(import_image11.default, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ import_react62.default.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ import_react62.default.createElement(import_image11.default, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "px-5 py-2 rounded-full bg-neutral-50/50 border border-neutral-100 text-[13px] text-neutral-600" }, middleTopCard.badgePrefix, " ", /* @__PURE__ */ import_react62.default.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ import_react62.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ import_react62.default.createElement("div", null, /* @__PURE__ */ import_react62.default.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ import_react62.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react62.default.createElement(import_image11.default, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[16px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ import_react62.default.createElement("div", { key: idx, className: "relative w-full h-80 text-white rounded-3xl overflow-hidden group" }, /* @__PURE__ */ import_react62.default.createElement(
3190
3430
  ImageWithLoader2,
3191
3431
  {
3192
3432
  src: card.bgImageSrc,
3193
3433
  alt: card.title,
3194
3434
  className: "absolute inset-0 w-full h-full"
3195
3435
  }
3196
- ), /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute inset-0 z-20 pointer-events-none" }), /* @__PURE__ */ import_react60.default.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ import_react60.default.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ import_react60.default.createElement("div", { className: "pt-3" }, /* @__PURE__ */ import_react60.default.createElement("h4", { className: "text-[15px] text-white tracking-wide" }, card.title), /* @__PURE__ */ import_react60.default.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
3436
+ ), /* @__PURE__ */ import_react62.default.createElement("div", { className: "absolute inset-0 z-20 pointer-events-none" }), /* @__PURE__ */ import_react62.default.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ import_react62.default.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ import_react62.default.createElement("div", { className: "pt-3" }, /* @__PURE__ */ import_react62.default.createElement("h4", { className: "text-[15px] text-white tracking-wide" }, card.title), /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
3197
3437
  };
3198
3438
 
3199
3439
  // src/components/ManagedProjectsBlock.tsx
3200
- var import_react62 = __toESM(require("react"));
3440
+ var import_react64 = __toESM(require("react"));
3201
3441
  var import_link8 = __toESM(require("next/link"));
3202
3442
  var GridSection = ({
3203
3443
  children,
3204
3444
  isLast = false,
3205
3445
  className = "py-8 md:py-10"
3206
- }) => /* @__PURE__ */ import_react62.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
3446
+ }) => /* @__PURE__ */ import_react64.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
3207
3447
  var ManagedProjectsBlock = ({
3208
3448
  tagline,
3209
3449
  title,
3210
3450
  projects
3211
3451
  }) => {
3212
- return /* @__PURE__ */ import_react62.default.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react62.default.createElement(
3452
+ return /* @__PURE__ */ import_react64.default.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react64.default.createElement(
3213
3453
  "div",
3214
3454
  {
3215
3455
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -3218,10 +3458,10 @@ var ManagedProjectsBlock = ({
3218
3458
  backgroundRepeat: "repeat"
3219
3459
  }
3220
3460
  }
3221
- ), /* @__PURE__ */ import_react62.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react62.default.createElement(GridSection, null, tagline && /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react62.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
3461
+ ), /* @__PURE__ */ import_react64.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react64.default.createElement(GridSection, null, tagline && /* @__PURE__ */ import_react64.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react64.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
3222
3462
  const isLast = index === projects.length - 1;
3223
- const projectContent = /* @__PURE__ */ import_react62.default.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ import_react62.default.createElement("h2", { className: " text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-[11px] opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ import_react62.default.createElement("span", { className: `text-[9px] px-2.5 py-1 rounded-full tracking-[0.15em] transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-neutral-100 text-neutral-500 group-hover:bg-neutral-100 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ import_react62.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 shrink-0 " }, project.date)), /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
3224
- return /* @__PURE__ */ import_react62.default.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ import_react62.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react62.default.createElement(import_link8.default, { href: project.link, className: "block outline-none" }, projectContent));
3463
+ const projectContent = /* @__PURE__ */ import_react64.default.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ import_react64.default.createElement("h2", { className: " text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ import_react64.default.createElement("span", { className: "text-[11px] opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ import_react64.default.createElement("span", { className: `text-[9px] px-2.5 py-1 rounded-full tracking-[0.15em] transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-neutral-100 text-neutral-500 group-hover:bg-neutral-100 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ import_react64.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 shrink-0 " }, project.date)), /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
3464
+ return /* @__PURE__ */ import_react64.default.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ import_react64.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react64.default.createElement(import_link8.default, { href: project.link, className: "block outline-none" }, projectContent));
3225
3465
  }))));
3226
3466
  };
3227
3467
  // Annotate the CommonJS export names for ESM import in node: