@retinalabsllc/zairusjs 9.0.50 → 9.0.55

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
@@ -64,6 +64,7 @@ __export(index_exports, {
64
64
  UniversalOrganizationPage: () => UniversalOrganizationPage,
65
65
  UniversalProfilePage: () => UniversalProfilePage,
66
66
  UniversalProfileSettings: () => UniversalProfileSettings,
67
+ UniversalSidebar: () => UniversalSidebar,
67
68
  UniversalTransactionPage: () => UniversalTransactionPage,
68
69
  UniversalWalletPage: () => UniversalWalletPage,
69
70
  WaitlistDialog: () => WaitlistDialog
@@ -663,201 +664,49 @@ var Footer = ({
663
664
  };
664
665
 
665
666
  // src/components/MobileNav.tsx
666
- var import_react11 = __toESM(require("react"));
667
+ var import_react9 = __toESM(require("react"));
667
668
  var import_link4 = __toESM(require("next/link"));
668
669
  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"));
674
670
  var import_react10 = require("@hugeicons/react");
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
+ var MobileNav = ({ items }) => {
723
672
  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);
728
673
  if (!items || items.length === 0) return null;
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(
674
+ 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 md:hidden" }, /* @__PURE__ */ import_react9.default.createElement("nav", { className: "pointer-events-auto w-full max-w-sm bg-white/50 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) => {
675
+ const isActive = item.href === "/" || item.href === "/app" ? pathname === "/" || pathname === "/app" : pathname === item.href || pathname?.startsWith(`${item.href}/`);
676
+ return /* @__PURE__ */ import_react9.default.createElement(
828
677
  import_link4.default,
829
678
  {
830
679
  key: item.label,
831
680
  href: item.href,
832
681
  className: "flex flex-col items-center justify-center gap-1 min-w-14 transition-transform active:scale-95 outline-none"
833
682
  },
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)
683
+ /* @__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(
684
+ import_react10.HugeiconsIcon,
685
+ {
686
+ icon: item.icon,
687
+ size: 20
688
+ }
689
+ )),
690
+ /* @__PURE__ */ import_react9.default.createElement(
691
+ "span",
692
+ {
693
+ className: `text-[9px] tracking-wide transition-colors duration-300 ${isActive ? "text-black" : "text-neutral-400"}`
694
+ },
695
+ 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
701
  // src/components/UniversalOrganizationPage.tsx
853
- var import_react17 = __toESM(require("react"));
702
+ var import_react15 = __toESM(require("react"));
854
703
  var import_react_hot_toast3 = __toESM(require("react-hot-toast"));
855
704
 
856
705
  // src/components/ManagedToaster.tsx
857
- var import_react13 = __toESM(require("react"));
706
+ var import_react11 = __toESM(require("react"));
858
707
  var import_react_hot_toast2 = require("react-hot-toast");
859
708
  var ManagedToaster = () => {
860
- return /* @__PURE__ */ import_react13.default.createElement(
709
+ return /* @__PURE__ */ import_react11.default.createElement(
861
710
  import_react_hot_toast2.Toaster,
862
711
  {
863
712
  position: "top-right",
@@ -889,7 +738,7 @@ var ManagedToaster = () => {
889
738
  };
890
739
 
891
740
  // src/components/ReusableInputs.tsx
892
- var import_react14 = __toESM(require("react"));
741
+ var import_react12 = __toESM(require("react"));
893
742
  var TextInput = ({
894
743
  label,
895
744
  value,
@@ -900,7 +749,7 @@ var TextInput = ({
900
749
  readOnly,
901
750
  type = "text",
902
751
  onClick
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
+ }) => /* @__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(
904
753
  "input",
905
754
  {
906
755
  type,
@@ -921,7 +770,7 @@ var NumberInput = ({
921
770
  placeholder,
922
771
  maxLength,
923
772
  disabled
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
+ }) => /* @__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(
925
774
  "input",
926
775
  {
927
776
  type: "text",
@@ -939,9 +788,9 @@ var NumberInput = ({
939
788
  ));
940
789
 
941
790
  // src/components/Banner.tsx
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");
791
+ var import_react13 = __toESM(require("react"));
792
+ var import_react14 = require("@hugeicons/react");
793
+ var import_core_free_icons2 = require("@hugeicons/core-free-icons");
945
794
  var Banner = ({
946
795
  title,
947
796
  message,
@@ -951,7 +800,7 @@ var Banner = ({
951
800
  onDismiss,
952
801
  action
953
802
  }) => {
954
- const [isVisible, setIsVisible] = (0, import_react15.useState)(true);
803
+ const [isVisible, setIsVisible] = (0, import_react13.useState)(true);
955
804
  if (!isVisible) return null;
956
805
  const handleDismiss = () => {
957
806
  setIsVisible(false);
@@ -963,7 +812,7 @@ var Banner = ({
963
812
  iconColor: "text-emerald-600",
964
813
  titleColor: "text-emerald-900",
965
814
  msgColor: "text-emerald-700",
966
- defaultIcon: import_core_free_icons4.CheckmarkBadge01Icon,
815
+ defaultIcon: import_core_free_icons2.CheckmarkBadge01Icon,
967
816
  closeHover: "hover:bg-emerald-100 text-emerald-500"
968
817
  },
969
818
  warning: {
@@ -971,7 +820,7 @@ var Banner = ({
971
820
  iconColor: "text-amber-600",
972
821
  titleColor: "text-amber-900",
973
822
  msgColor: "text-amber-700",
974
- defaultIcon: import_core_free_icons4.InformationCircleIcon,
823
+ defaultIcon: import_core_free_icons2.InformationCircleIcon,
975
824
  closeHover: "hover:bg-amber-100 text-amber-500"
976
825
  },
977
826
  alert: {
@@ -979,27 +828,27 @@ var Banner = ({
979
828
  iconColor: "text-red-600",
980
829
  titleColor: "text-red-900",
981
830
  msgColor: "text-red-700",
982
- defaultIcon: import_core_free_icons4.Alert02Icon,
831
+ defaultIcon: import_core_free_icons2.Alert02Icon,
983
832
  closeHover: "hover:bg-red-100 text-red-500"
984
833
  }
985
834
  };
986
835
  const currentConfig = config[type];
987
836
  const IconToUse = icon || currentConfig.defaultIcon;
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
+ 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(
989
838
  "button",
990
839
  {
991
840
  onClick: handleDismiss,
992
841
  className: `absolute top-3 right-3 p-1.5 rounded-full transition-colors outline-none shrink-0 ${currentConfig.closeHover}`,
993
842
  "aria-label": "Dismiss banner"
994
843
  },
995
- /* @__PURE__ */ import_react15.default.createElement(import_react16.HugeiconsIcon, { icon: import_core_free_icons4.Cancel01Icon, size: 16 })
844
+ /* @__PURE__ */ import_react13.default.createElement(import_react14.HugeiconsIcon, { icon: import_core_free_icons2.Cancel01Icon, size: 16 })
996
845
  ));
997
846
  };
998
847
 
999
848
  // src/components/UniversalOrganizationPage.tsx
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" }));
849
+ var import_react16 = require("@hugeicons/react");
850
+ var import_core_free_icons3 = require("@hugeicons/core-free-icons");
851
+ 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" }));
1003
852
  var UniversalOrganizationPage = ({
1004
853
  initialOrgName,
1005
854
  initialSlug,
@@ -1012,13 +861,13 @@ var UniversalOrganizationPage = ({
1012
861
  onCheckSlugAvailability
1013
862
  }) => {
1014
863
  const resolvedInitialUsername = initialUsername || initialSlug;
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)(() => {
864
+ const [web3Name, setWeb3Name] = (0, import_react15.useState)(initialOrgName);
865
+ const [username, setUsername] = (0, import_react15.useState)(resolvedInitialUsername);
866
+ const [slug, setSlug] = (0, import_react15.useState)(initialSlug);
867
+ const [isCheckingSlug, setIsCheckingSlug] = (0, import_react15.useState)(false);
868
+ const [slugAvailable, setSlugAvailable] = (0, import_react15.useState)(null);
869
+ const [isSubmitting, setIsSubmitting] = (0, import_react15.useState)(false);
870
+ (0, import_react15.useEffect)(() => {
1022
871
  setWeb3Name(initialOrgName || "");
1023
872
  setSlug(initialSlug || "");
1024
873
  setUsername(initialUsername || initialSlug || "");
@@ -1032,7 +881,7 @@ var UniversalOrganizationPage = ({
1032
881
  const handleSlugChange = (val) => {
1033
882
  setSlug(val.toLowerCase().replace(/[^a-z0-9-]/g, "").replace(/-+/g, "-").substring(0, 50));
1034
883
  };
1035
- (0, import_react17.useEffect)(() => {
884
+ (0, import_react15.useEffect)(() => {
1036
885
  if (!slug || slug === initialSlug) {
1037
886
  setSlugAvailable(null);
1038
887
  setIsCheckingSlug(false);
@@ -1087,7 +936,7 @@ var UniversalOrganizationPage = ({
1087
936
  };
1088
937
  const hasChanges = web3Name !== initialOrgName || slug !== initialSlug || username !== resolvedInitialUsername;
1089
938
  const isSaveDisabled = isSubmitting || isReadOnly || isCheckingSlug || !hasChanges || web3Name.length < 3 || slug.length < 3 || username.length < 3 || slug !== initialSlug && slugAvailable === false;
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
+ 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(
1091
940
  TextInput,
1092
941
  {
1093
942
  label: "Display Name",
@@ -1097,7 +946,7 @@ var UniversalOrganizationPage = ({
1097
946
  placeholder: "Sovereign User",
1098
947
  maxLength: 50
1099
948
  }
1100
- ), /* @__PURE__ */ import_react17.default.createElement(
949
+ ), /* @__PURE__ */ import_react15.default.createElement(
1101
950
  TextInput,
1102
951
  {
1103
952
  label: "Digital Identity",
@@ -1107,7 +956,7 @@ var UniversalOrganizationPage = ({
1107
956
  placeholder: "sovereignuser",
1108
957
  maxLength: 30
1109
958
  }
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
+ ), /* @__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(
1111
960
  "input",
1112
961
  {
1113
962
  type: "text",
@@ -1119,7 +968,7 @@ var UniversalOrganizationPage = ({
1119
968
  className: "w-full px-2 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed",
1120
969
  placeholder: "sovereign-user-handle"
1121
970
  }
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
+ ), /* @__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(
1123
972
  ThreeDActionButton,
1124
973
  {
1125
974
  type: "submit",
@@ -1128,7 +977,7 @@ var UniversalOrganizationPage = ({
1128
977
  className: "min-w-32"
1129
978
  },
1130
979
  "Save Changes"
1131
- ), hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ import_react17.default.createElement(
980
+ ), hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ import_react15.default.createElement(
1132
981
  "button",
1133
982
  {
1134
983
  type: "button",
@@ -1144,10 +993,10 @@ var UniversalOrganizationPage = ({
1144
993
  };
1145
994
 
1146
995
  // src/components/UniversalProfileSettings.tsx
1147
- var import_react19 = __toESM(require("react"));
996
+ var import_react17 = __toESM(require("react"));
1148
997
  var import_react_hot_toast4 = __toESM(require("react-hot-toast"));
1149
- var import_react20 = require("@hugeicons/react");
1150
- var import_core_free_icons6 = require("@hugeicons/core-free-icons");
998
+ var import_react18 = require("@hugeicons/react");
999
+ var import_core_free_icons4 = require("@hugeicons/core-free-icons");
1151
1000
  var UniversalProfileSettings = ({
1152
1001
  initialFirstName,
1153
1002
  initialLastName,
@@ -1161,15 +1010,15 @@ var UniversalProfileSettings = ({
1161
1010
  onSavePin,
1162
1011
  onSaveProfile
1163
1012
  }) => {
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)(() => {
1013
+ const [firstName, setFirstName] = (0, import_react17.useState)(initialFirstName);
1014
+ const [lastName, setLastName] = (0, import_react17.useState)(initialLastName);
1015
+ const [isSubmitting, setIsSubmitting] = (0, import_react17.useState)(false);
1016
+ const [isPinModalOpen, setIsPinModalOpen] = (0, import_react17.useState)(false);
1017
+ const [oldPin, setOldPin] = (0, import_react17.useState)("");
1018
+ const [newPin, setNewPin] = (0, import_react17.useState)("");
1019
+ const [confirmPin, setConfirmPin] = (0, import_react17.useState)("");
1020
+ const [isPinSubmitting, setIsPinSubmitting] = (0, import_react17.useState)(false);
1021
+ (0, import_react17.useEffect)(() => {
1173
1022
  setFirstName(initialFirstName || "");
1174
1023
  setLastName(initialLastName || "");
1175
1024
  }, [initialFirstName, initialLastName]);
@@ -1235,7 +1084,7 @@ var UniversalProfileSettings = ({
1235
1084
  };
1236
1085
  const hasChanges = firstName !== initialFirstName || lastName !== initialLastName;
1237
1086
  const isSaveDisabled = isSubmitting || isReadOnly || !hasChanges || firstName.trim().length === 0 || lastName.trim().length === 0;
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
+ return /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col max-w-5xl rounded-2xl p-6 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(
1239
1088
  TextInput,
1240
1089
  {
1241
1090
  label: "First Name",
@@ -1244,7 +1093,7 @@ var UniversalProfileSettings = ({
1244
1093
  disabled: isReadOnly || isSubmitting,
1245
1094
  placeholder: "System"
1246
1095
  }
1247
- )), /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react19.default.createElement(
1096
+ )), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ import_react17.default.createElement(
1248
1097
  TextInput,
1249
1098
  {
1250
1099
  label: "Last Name",
@@ -1253,7 +1102,7 @@ var UniversalProfileSettings = ({
1253
1102
  disabled: isReadOnly || isSubmitting,
1254
1103
  placeholder: "Admin"
1255
1104
  }
1256
- ))), /* @__PURE__ */ import_react19.default.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ import_react19.default.createElement(
1105
+ ))), /* @__PURE__ */ import_react17.default.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ import_react17.default.createElement(
1257
1106
  TextInput,
1258
1107
  {
1259
1108
  label: "Email ID",
@@ -1262,7 +1111,7 @@ var UniversalProfileSettings = ({
1262
1111
  },
1263
1112
  disabled: true
1264
1113
  }
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
+ ), /* @__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(
1266
1115
  "button",
1267
1116
  {
1268
1117
  type: "button",
@@ -1270,8 +1119,8 @@ var UniversalProfileSettings = ({
1270
1119
  "aria-label": "PIN Settings",
1271
1120
  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"
1272
1121
  },
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(
1122
+ /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: import_core_free_icons4.LockKeyIcon, size: 17, className: "text-black" })
1123
+ ))), /* @__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(
1275
1124
  "button",
1276
1125
  {
1277
1126
  type: "button",
@@ -1282,7 +1131,7 @@ var UniversalProfileSettings = ({
1282
1131
  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"
1283
1132
  },
1284
1133
  "Cancel"
1285
- ), /* @__PURE__ */ import_react19.default.createElement(
1134
+ ), /* @__PURE__ */ import_react17.default.createElement(
1286
1135
  ThreeDActionButton,
1287
1136
  {
1288
1137
  type: "submit",
@@ -1291,7 +1140,7 @@ var UniversalProfileSettings = ({
1291
1140
  className: "min-w-32 w-full sm:w-auto"
1292
1141
  },
1293
1142
  "Save Changes"
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
+ ))))), 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(
1295
1144
  TextInput,
1296
1145
  {
1297
1146
  type: "password",
@@ -1302,7 +1151,7 @@ var UniversalProfileSettings = ({
1302
1151
  onChange: (val) => handlePinInput(val, setOldPin),
1303
1152
  placeholder: "\u2022\u2022\u2022\u2022"
1304
1153
  }
1305
- ), /* @__PURE__ */ import_react19.default.createElement(
1154
+ ), /* @__PURE__ */ import_react17.default.createElement(
1306
1155
  TextInput,
1307
1156
  {
1308
1157
  type: "password",
@@ -1313,7 +1162,7 @@ var UniversalProfileSettings = ({
1313
1162
  onChange: (val) => handlePinInput(val, setNewPin),
1314
1163
  placeholder: "\u2022\u2022\u2022\u2022"
1315
1164
  }
1316
- ), /* @__PURE__ */ import_react19.default.createElement(
1165
+ ), /* @__PURE__ */ import_react17.default.createElement(
1317
1166
  TextInput,
1318
1167
  {
1319
1168
  type: "password",
@@ -1324,7 +1173,7 @@ var UniversalProfileSettings = ({
1324
1173
  onChange: (val) => handlePinInput(val, setConfirmPin),
1325
1174
  placeholder: "\u2022\u2022\u2022\u2022"
1326
1175
  }
1327
- ), /* @__PURE__ */ import_react19.default.createElement("div", { className: "pt-2" }, /* @__PURE__ */ import_react19.default.createElement(
1176
+ ), /* @__PURE__ */ import_react17.default.createElement("div", { className: "pt-2" }, /* @__PURE__ */ import_react17.default.createElement(
1328
1177
  ThreeDActionButton,
1329
1178
  {
1330
1179
  type: "submit",
@@ -1337,14 +1186,14 @@ var UniversalProfileSettings = ({
1337
1186
  };
1338
1187
 
1339
1188
  // src/components/UniversalErrorView.tsx
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");
1343
-
1344
- // src/components/PageSpinner.tsx
1345
1189
  var import_react21 = __toESM(require("react"));
1346
1190
  var import_react22 = require("@hugeicons/react");
1347
- var import_core_free_icons7 = require("@hugeicons/core-free-icons");
1191
+ var import_core_free_icons6 = require("@hugeicons/core-free-icons");
1192
+
1193
+ // src/components/PageSpinner.tsx
1194
+ var import_react19 = __toESM(require("react"));
1195
+ var import_react20 = require("@hugeicons/react");
1196
+ var import_core_free_icons5 = require("@hugeicons/core-free-icons");
1348
1197
  var PageSpinner = ({
1349
1198
  className = "",
1350
1199
  iconClassName = "text-black",
@@ -1352,10 +1201,10 @@ var PageSpinner = ({
1352
1201
  }) => {
1353
1202
  return (
1354
1203
  // z-[100] ensures it sits above absolute headers and modals
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,
1204
+ /* @__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(
1205
+ import_react20.HugeiconsIcon,
1357
1206
  {
1358
- icon: import_core_free_icons7.Loading03Icon,
1207
+ icon: import_core_free_icons5.Loading03Icon,
1359
1208
  size,
1360
1209
  className: `animate-spin mb-4 ${iconClassName}`
1361
1210
  }
@@ -1375,7 +1224,7 @@ var UniversalErrorView = ({
1375
1224
  returnLabel = "Return to Workspace"
1376
1225
  }) => {
1377
1226
  if (isBooting || isLoading && !activeData) {
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
+ 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));
1379
1228
  }
1380
1229
  if (!isLoading && (!activeData || activeError)) {
1381
1230
  const errorString = typeof activeError === "string" ? activeError : JSON.stringify(activeError || "");
@@ -1386,7 +1235,7 @@ var UniversalErrorView = ({
1386
1235
  const apiMessage = typeof activeError === "string" && activeError.trim() !== "" ? activeError : null;
1387
1236
  let title = "Oops Connection Error";
1388
1237
  let description = apiMessage || `We could not load your request. Please check your connection and try again.`;
1389
- let IconComponent = import_core_free_icons8.ConfusedIcon;
1238
+ let IconComponent = import_core_free_icons6.ConfusedIcon;
1390
1239
  if (isNotFoundError) {
1391
1240
  title = "Oops its not your fault";
1392
1241
  description = apiMessage || `We could not reach the ${envName} you just loaded. Our team has been notified.`;
@@ -1394,7 +1243,7 @@ var UniversalErrorView = ({
1394
1243
  title = "Access Restricted";
1395
1244
  description = apiMessage || `You have insufficient permissions to view this ${envName}. Please contact your administrator.`;
1396
1245
  }
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
+ 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(
1398
1247
  "button",
1399
1248
  {
1400
1249
  onClick: () => window.location.href = returnUrl,
@@ -1403,14 +1252,14 @@ var UniversalErrorView = ({
1403
1252
  returnLabel
1404
1253
  ) : (
1405
1254
  // Soft errors (Network timeouts) allow them to retry or optionally retreat
1406
- /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, envName.toLowerCase().includes("application") && /* @__PURE__ */ import_react23.default.createElement(
1255
+ /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, envName.toLowerCase().includes("application") && /* @__PURE__ */ import_react21.default.createElement(
1407
1256
  "button",
1408
1257
  {
1409
1258
  onClick: () => window.location.href = returnUrl,
1410
1259
  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 "
1411
1260
  },
1412
1261
  "Back Home"
1413
- ), /* @__PURE__ */ import_react23.default.createElement(
1262
+ ), /* @__PURE__ */ import_react21.default.createElement(
1414
1263
  "button",
1415
1264
  {
1416
1265
  onClick: onRetry,
@@ -1425,11 +1274,11 @@ var UniversalErrorView = ({
1425
1274
  };
1426
1275
 
1427
1276
  // src/components/UniversalTransactionPage.tsx
1428
- var import_react25 = __toESM(require("react"));
1429
- var import_react26 = require("@hugeicons/react");
1277
+ var import_react23 = __toESM(require("react"));
1278
+ var import_react24 = require("@hugeicons/react");
1430
1279
  var import_react_hot_toast5 = __toESM(require("react-hot-toast"));
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" }));
1280
+ var import_core_free_icons7 = require("@hugeicons/core-free-icons");
1281
+ 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" }));
1433
1282
  var formatDate = (dateInput) => {
1434
1283
  const d = new Date(dateInput);
1435
1284
  const day = d.getDate();
@@ -1464,15 +1313,15 @@ var UniversalTransactionPage = ({
1464
1313
  onReportTransaction,
1465
1314
  onGenerateReceipt
1466
1315
  }) => {
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)(() => {
1316
+ const [selectedTransaction, setSelectedTransaction] = (0, import_react23.useState)(null);
1317
+ const [isGeneratingReceipt, setIsGeneratingReceipt] = (0, import_react23.useState)(false);
1318
+ const [localSearchQuery, setLocalSearchQuery] = (0, import_react23.useState)(searchQuery);
1319
+ const [isTyping, setIsTyping] = (0, import_react23.useState)(false);
1320
+ const [isDirectionModalOpen, setIsDirectionModalOpen] = (0, import_react23.useState)(false);
1321
+ const [isTypeModalOpen, setIsTypeModalOpen] = (0, import_react23.useState)(false);
1322
+ const directionDropdownRef = (0, import_react23.useRef)(null);
1323
+ const typeDropdownRef = (0, import_react23.useRef)(null);
1324
+ (0, import_react23.useEffect)(() => {
1476
1325
  function handleClickOutside(event) {
1477
1326
  if (directionDropdownRef.current && !directionDropdownRef.current.contains(event.target)) {
1478
1327
  setIsDirectionModalOpen(false);
@@ -1484,7 +1333,7 @@ var UniversalTransactionPage = ({
1484
1333
  document.addEventListener("mousedown", handleClickOutside);
1485
1334
  return () => document.removeEventListener("mousedown", handleClickOutside);
1486
1335
  }, []);
1487
- (0, import_react25.useEffect)(() => {
1336
+ (0, import_react23.useEffect)(() => {
1488
1337
  setIsTyping(true);
1489
1338
  const handler = setTimeout(() => {
1490
1339
  onSearchChange(localSearchQuery);
@@ -1492,7 +1341,7 @@ var UniversalTransactionPage = ({
1492
1341
  }, 600);
1493
1342
  return () => clearTimeout(handler);
1494
1343
  }, [localSearchQuery, onSearchChange]);
1495
- (0, import_react25.useEffect)(() => {
1344
+ (0, import_react23.useEffect)(() => {
1496
1345
  if (searchQuery === "" && localSearchQuery !== "") {
1497
1346
  setLocalSearchQuery("");
1498
1347
  }
@@ -1514,63 +1363,77 @@ var UniversalTransactionPage = ({
1514
1363
  setIsGeneratingReceipt(false);
1515
1364
  }
1516
1365
  };
1366
+ const handleCopyReference = async (reference) => {
1367
+ try {
1368
+ await navigator.clipboard.writeText(reference);
1369
+ import_react_hot_toast5.default.success("Copied");
1370
+ } catch {
1371
+ }
1372
+ };
1517
1373
  const isListLoading = isLoading || isTyping;
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(
1374
+ 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-row flex-nowrap items-center justify-between gap-4 w-full" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative flex-1 min-w-0 max-w-full" }, /* @__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(
1519
1375
  "input",
1520
1376
  {
1521
1377
  type: "text",
1522
1378
  placeholder: "Search reference or amount...",
1523
1379
  value: localSearchQuery,
1524
1380
  onChange: (e) => setLocalSearchQuery(e.target.value),
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"
1381
+ 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"
1526
1382
  }
1527
- )), /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0" }, /* @__PURE__ */ import_react25.default.createElement(
1383
+ )), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ import_react23.default.createElement(
1528
1384
  "button",
1529
1385
  {
1530
1386
  onClick: () => setIsDirectionModalOpen(true),
1531
1387
  "aria-label": "Filter by payment type",
1532
1388
  className: "flex items-center justify-center bg-white w-10 h-10 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
1533
1389
  },
1534
- /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.SearchList02Icon, size: 16 })
1535
- ), /* @__PURE__ */ import_react25.default.createElement(
1390
+ /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.SearchList02Icon, size: 16 })
1391
+ ), /* @__PURE__ */ import_react23.default.createElement(
1536
1392
  "button",
1537
1393
  {
1538
1394
  onClick: () => setIsTypeModalOpen(true),
1539
1395
  "aria-label": "Filter by transaction type",
1540
1396
  className: "flex items-center justify-center bg-white w-10 h-10 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
1541
1397
  },
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(
1398
+ /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.ListSettingIcon, size: 16 })
1399
+ ))), /* @__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(
1544
1400
  "div",
1545
1401
  {
1546
1402
  key: tx.id,
1547
1403
  onClick: () => setSelectedTransaction(tx),
1548
1404
  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"
1549
1405
  },
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(
1406
+ /* @__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-[12px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, tx.direction === "CREDIT" ? "+" : "-", tx.amount, " ", tx.currency))),
1407
+ /* @__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()))
1408
+ ))), !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(
1553
1409
  "button",
1554
1410
  {
1555
1411
  onClick: () => onPageChange(currentPage - 1),
1556
1412
  disabled: currentPage <= 1 || isListLoading,
1557
1413
  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"
1558
1414
  },
1559
- /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: import_core_free_icons9.ArrowLeft01Icon, size: 14 })
1560
- ), /* @__PURE__ */ import_react25.default.createElement(
1415
+ /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.ArrowLeft01Icon, size: 14 })
1416
+ ), /* @__PURE__ */ import_react23.default.createElement(
1561
1417
  "button",
1562
1418
  {
1563
1419
  onClick: () => onPageChange(currentPage + 1),
1564
1420
  disabled: currentPage >= totalPages || isListLoading || totalPages === 0,
1565
1421
  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"
1566
1422
  },
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]) => {
1423
+ /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.ArrowRight01Icon, size: 14 })
1424
+ )))))), 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("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[13px] text-black truncate min-w-0 block" }, selectedTransaction.reference), /* @__PURE__ */ import_react23.default.createElement(
1425
+ "button",
1426
+ {
1427
+ onClick: () => handleCopyReference(selectedTransaction.reference),
1428
+ className: "text-neutral-400 hover:text-black transition-colors outline-none"
1429
+ },
1430
+ /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon: import_core_free_icons7.Copy01Icon, size: 14 })
1431
+ ))), /* @__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]) => {
1569
1432
  if (key === "fromAddress" || key === "toAddress") return null;
1570
1433
  if (value === null || value === void 0 || typeof value === "object") return null;
1571
1434
  const formattedKey = key.replace(/([A-Z])/g, " $1").replace(/^./, (str) => str.toUpperCase());
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(
1435
+ 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)));
1436
+ })), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ import_react23.default.createElement(
1574
1437
  ThreeDActionButton,
1575
1438
  {
1576
1439
  onClick: handleGenerateReceipt,
@@ -1578,14 +1441,14 @@ var UniversalTransactionPage = ({
1578
1441
  className: "w-full py-3 text-[14px]"
1579
1442
  },
1580
1443
  "Generate Receipt"
1581
- ), /* @__PURE__ */ import_react25.default.createElement(
1444
+ ), /* @__PURE__ */ import_react23.default.createElement(
1582
1445
  "button",
1583
1446
  {
1584
1447
  onClick: () => onReportTransaction && onReportTransaction(selectedTransaction),
1585
1448
  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"
1586
1449
  },
1587
1450
  "Report Transaction"
1588
- ), selectedTransaction.type === "WALLET_TRANSACTION" && /* @__PURE__ */ import_react25.default.createElement(
1451
+ ), selectedTransaction.type === "WALLET_TRANSACTION" && /* @__PURE__ */ import_react23.default.createElement(
1589
1452
  "a",
1590
1453
  {
1591
1454
  href: `https://basescan.org/tx/${selectedTransaction.reference}`,
@@ -1594,7 +1457,7 @@ var UniversalTransactionPage = ({
1594
1457
  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"
1595
1458
  },
1596
1459
  "View in block explorer"
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(
1460
+ ))))), 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(
1598
1461
  "button",
1599
1462
  {
1600
1463
  key: option,
@@ -1604,19 +1467,19 @@ var UniversalTransactionPage = ({
1604
1467
  },
1605
1468
  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"}`
1606
1469
  },
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(
1470
+ /* @__PURE__ */ import_react23.default.createElement("span", { className: "truncate pr-2" }, option.charAt(0).toUpperCase() + option.slice(1).toLowerCase())
1471
+ ))), /* @__PURE__ */ import_react23.default.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ import_react23.default.createElement(
1609
1472
  "button",
1610
1473
  {
1611
1474
  onClick: () => setIsDirectionModalOpen(false),
1612
1475
  className: "w-full py-4 text-[13px] text-neutral-500 hover:text-black transition-colors outline-none "
1613
1476
  },
1614
1477
  "Cancel"
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" }, [
1478
+ )))), 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" }, [
1616
1479
  { label: "All Transactions", value: "ALL" },
1617
1480
  { label: "Wallet Transactions", value: "WALLET_TRANSACTION" },
1618
1481
  { label: "Card Transactions", value: "CARD_TRANSACTION" }
1619
- ].map((option) => /* @__PURE__ */ import_react25.default.createElement(
1482
+ ].map((option) => /* @__PURE__ */ import_react23.default.createElement(
1620
1483
  "button",
1621
1484
  {
1622
1485
  key: option.value,
@@ -1626,8 +1489,8 @@ var UniversalTransactionPage = ({
1626
1489
  },
1627
1490
  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"}`
1628
1491
  },
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(
1492
+ /* @__PURE__ */ import_react23.default.createElement("span", { className: "truncate pr-2" }, option.label.charAt(0).toUpperCase() + option.label.slice(1).toLowerCase())
1493
+ ))), /* @__PURE__ */ import_react23.default.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ import_react23.default.createElement(
1631
1494
  "button",
1632
1495
  {
1633
1496
  onClick: () => setIsTypeModalOpen(false),
@@ -1638,9 +1501,9 @@ var UniversalTransactionPage = ({
1638
1501
  };
1639
1502
 
1640
1503
  // src/components/UniversalHomeView.tsx
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");
1504
+ var import_react25 = __toESM(require("react"));
1505
+ var import_react26 = require("@hugeicons/react");
1506
+ var import_core_free_icons8 = require("@hugeicons/core-free-icons");
1644
1507
  var UniversalHomeView = ({
1645
1508
  balanceLabel = "Your Balance",
1646
1509
  balanceAmount,
@@ -1649,9 +1512,9 @@ var UniversalHomeView = ({
1649
1512
  secondaryAction,
1650
1513
  transactionsProps
1651
1514
  }) => {
1652
- const [displayAmount, setDisplayAmount] = (0, import_react27.useState)("0.00");
1653
- const [isBalanceHidden, setIsBalanceHidden] = (0, import_react27.useState)(false);
1654
- (0, import_react27.useEffect)(() => {
1515
+ const [displayAmount, setDisplayAmount] = (0, import_react25.useState)("0.00");
1516
+ const [isBalanceHidden, setIsBalanceHidden] = (0, import_react25.useState)(false);
1517
+ (0, import_react25.useEffect)(() => {
1655
1518
  const target = parseFloat(balanceAmount.replace(/,/g, ""));
1656
1519
  if (isNaN(target)) {
1657
1520
  setDisplayAmount(balanceAmount);
@@ -1680,29 +1543,29 @@ var UniversalHomeView = ({
1680
1543
  requestAnimationFrame(step);
1681
1544
  }, [balanceAmount]);
1682
1545
  const [intPart, decPart] = displayAmount.includes(".") ? displayAmount.split(".") : [displayAmount, "00"];
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(
1546
+ 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(
1684
1547
  "button",
1685
1548
  {
1686
1549
  onClick: () => setIsBalanceHidden(!isBalanceHidden),
1687
1550
  className: "text-neutral-400 hover:text-black transition-colors outline-none"
1688
1551
  },
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(
1552
+ /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: isBalanceHidden ? import_core_free_icons8.ViewIcon : import_core_free_icons8.ViewOffSlashIcon, size: 14 })
1553
+ )), /* @__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-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(
1691
1554
  ThreeDActionButton,
1692
1555
  {
1693
1556
  onClick: primaryAction.onClick,
1694
1557
  className: "px-6 py-2.5 sm:px-8 sm:py-2.5"
1695
1558
  },
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(
1559
+ /* @__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 }))
1560
+ ), secondaryAction && /* @__PURE__ */ import_react25.default.createElement(
1698
1561
  "button",
1699
1562
  {
1700
1563
  onClick: secondaryAction.onClick,
1701
1564
  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"
1702
1565
  },
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(
1566
+ /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[13px] tracking-wide " }, secondaryAction.label),
1567
+ secondaryAction.icon && /* @__PURE__ */ import_react25.default.createElement(import_react26.HugeiconsIcon, { icon: secondaryAction.icon, size: 16 })
1568
+ )))), /* @__PURE__ */ import_react25.default.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ import_react25.default.createElement(
1706
1569
  UniversalTransactionPage,
1707
1570
  {
1708
1571
  ...transactionsProps,
@@ -1714,14 +1577,14 @@ var UniversalHomeView = ({
1714
1577
  };
1715
1578
 
1716
1579
  // src/components/UniversalWalletPage.tsx
1717
- var import_react29 = __toESM(require("react"));
1580
+ var import_react27 = __toESM(require("react"));
1718
1581
  var import_react_hot_toast6 = __toESM(require("react-hot-toast"));
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" }));
1582
+ var import_react28 = require("@hugeicons/react");
1583
+ var import_core_free_icons9 = require("@hugeicons/core-free-icons");
1584
+ 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" }));
1722
1585
  var WalletLogo = ({ src, alt, sizeClass = "w-10 h-10" }) => {
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(
1586
+ const [isLoaded, setIsLoaded] = (0, import_react27.useState)(false);
1587
+ 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(
1725
1588
  "img",
1726
1589
  {
1727
1590
  src,
@@ -1743,8 +1606,8 @@ var UniversalWalletPage = ({
1743
1606
  onDownloadPayId,
1744
1607
  onCopyAddress
1745
1608
  }) => {
1746
- const [selectedWallet, setSelectedWallet] = (0, import_react29.useState)(null);
1747
- const [localSearchQuery, setLocalSearchQuery] = (0, import_react29.useState)("");
1609
+ const [selectedWallet, setSelectedWallet] = (0, import_react27.useState)(null);
1610
+ const [localSearchQuery, setLocalSearchQuery] = (0, import_react27.useState)("");
1748
1611
  const filteredWallets = wallets.filter((wallet) => {
1749
1612
  const q = localSearchQuery.toLowerCase();
1750
1613
  return wallet.name.toLowerCase().includes(q) || wallet.currency.toLowerCase().includes(q) || wallet.network.toLowerCase().includes(q);
@@ -1757,7 +1620,7 @@ var UniversalWalletPage = ({
1757
1620
  }
1758
1621
  import_react_hot_toast6.default.success("Address copied to clipboard");
1759
1622
  };
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(
1623
+ 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(
1761
1624
  "input",
1762
1625
  {
1763
1626
  type: "text",
@@ -1766,16 +1629,16 @@ var UniversalWalletPage = ({
1766
1629
  onChange: (e) => setLocalSearchQuery(e.target.value),
1767
1630
  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"
1768
1631
  }
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(
1632
+ ))), /* @__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(
1770
1633
  "div",
1771
1634
  {
1772
1635
  key: wallet.id,
1773
1636
  onClick: () => setSelectedWallet(wallet),
1774
1637
  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"
1775
1638
  },
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(
1639
+ /* @__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))),
1640
+ /* @__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))
1641
+ )))))), 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(
1779
1642
  ThreeDActionButton,
1780
1643
  {
1781
1644
  onClick: () => onDownloadPayId && onDownloadPayId(selectedWallet),
@@ -1783,7 +1646,7 @@ var UniversalWalletPage = ({
1783
1646
  className: "w-full py-3 text-[13px]"
1784
1647
  },
1785
1648
  "Generate Statement"
1786
- ), /* @__PURE__ */ import_react29.default.createElement(
1649
+ ), /* @__PURE__ */ import_react27.default.createElement(
1787
1650
  "button",
1788
1651
  {
1789
1652
  onClick: () => handleCopy(selectedWallet),
@@ -1796,12 +1659,53 @@ var UniversalWalletPage = ({
1796
1659
  // src/components/UniversalCardPage.tsx
1797
1660
  var import_react35 = __toESM(require("react"));
1798
1661
  var import_react36 = require("@hugeicons/react");
1799
- var import_core_free_icons14 = require("@hugeicons/core-free-icons");
1662
+ var import_core_free_icons13 = require("@hugeicons/core-free-icons");
1663
+
1664
+ // src/components/ConfirmationDialog.tsx
1665
+ var import_react29 = __toESM(require("react"));
1666
+ var import_react30 = require("@hugeicons/react");
1667
+ var import_core_free_icons10 = require("@hugeicons/core-free-icons");
1668
+ var ConfirmationDialog = ({
1669
+ isOpen,
1670
+ title,
1671
+ message,
1672
+ confirmText = "Confirm",
1673
+ cancelText = "Cancel",
1674
+ isProcessing = false,
1675
+ isDestructive = true,
1676
+ onClose,
1677
+ onConfirm
1678
+ }) => {
1679
+ if (!isOpen) return null;
1680
+ 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(
1681
+ "div",
1682
+ {
1683
+ className: "absolute inset-0 bg-black/40 ",
1684
+ onClick: () => !isProcessing && onClose()
1685
+ }
1686
+ ), /* @__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(
1687
+ "button",
1688
+ {
1689
+ onClick: onClose,
1690
+ disabled: isProcessing,
1691
+ className: "flex-1 py-4 text-[14px] text-neutral-500 hover:bg-neutral-50 transition-colors disabled:opacity-50 outline-none "
1692
+ },
1693
+ cancelText
1694
+ ), /* @__PURE__ */ import_react29.default.createElement(
1695
+ "button",
1696
+ {
1697
+ onClick: onConfirm,
1698
+ disabled: isProcessing,
1699
+ 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"}`
1700
+ },
1701
+ isProcessing ? /* @__PURE__ */ import_react29.default.createElement(import_react30.HugeiconsIcon, { icon: import_core_free_icons10.Loading03Icon, className: "animate-spin", size: 18 }) : confirmText
1702
+ ))));
1703
+ };
1800
1704
 
1801
1705
  // src/components/PinDialerBottomSheet.tsx
1802
1706
  var import_react31 = __toESM(require("react"));
1803
1707
  var import_react32 = require("@hugeicons/react");
1804
- var import_core_free_icons12 = require("@hugeicons/core-free-icons");
1708
+ var import_core_free_icons11 = require("@hugeicons/core-free-icons");
1805
1709
  var PinDialerBottomSheet = ({
1806
1710
  isOpen,
1807
1711
  title = "Action Required",
@@ -1836,7 +1740,7 @@ var PinDialerBottomSheet = ({
1836
1740
  if (!isVerifying) onClose();
1837
1741
  }
1838
1742
  }
1839
- ), /* @__PURE__ */ import_react31.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_react31.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react31.default.createElement("h3", { className: "text-[16px] text-black font-medium tracking-tight" }, title), /* @__PURE__ */ import_react31.default.createElement(
1743
+ ), /* @__PURE__ */ import_react31.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_react31.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ import_react31.default.createElement("h3", { className: "text-[16px] text-black tracking-tight" }, title), /* @__PURE__ */ import_react31.default.createElement(
1840
1744
  "button",
1841
1745
  {
1842
1746
  onClick: () => {
@@ -1844,14 +1748,14 @@ var PinDialerBottomSheet = ({
1844
1748
  },
1845
1749
  className: "text-neutral-400 hover:text-black transition-colors outline-none"
1846
1750
  },
1847
- /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons12.CancelCircleIcon, size: 20 })
1751
+ /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons11.CancelCircleIcon, size: 20 })
1848
1752
  )), /* @__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(
1849
1753
  "div",
1850
1754
  {
1851
1755
  key: i,
1852
1756
  className: `w-2 h-2 rounded-full transition-colors duration-200 ${pin.length > i ? "bg-black" : "bg-neutral-200"}`
1853
1757
  }
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(
1758
+ ))), 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(
1855
1759
  "button",
1856
1760
  {
1857
1761
  key: num,
@@ -1872,14 +1776,14 @@ var PinDialerBottomSheet = ({
1872
1776
  onClick: () => handlePinPress("del"),
1873
1777
  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"
1874
1778
  },
1875
- /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons12.LessThanIcon, size: 20 })
1779
+ /* @__PURE__ */ import_react31.default.createElement(import_react32.HugeiconsIcon, { icon: import_core_free_icons11.LessThanIcon, size: 20 })
1876
1780
  )))));
1877
1781
  };
1878
1782
 
1879
1783
  // src/components/CardAction.tsx
1880
1784
  var import_react33 = __toESM(require("react"));
1881
1785
  var import_react34 = require("@hugeicons/react");
1882
- var import_core_free_icons13 = require("@hugeicons/core-free-icons");
1786
+ var import_core_free_icons12 = require("@hugeicons/core-free-icons");
1883
1787
  var CardActionDialog = ({
1884
1788
  isOpen,
1885
1789
  card,
@@ -1896,18 +1800,18 @@ var CardActionDialog = ({
1896
1800
  className: "absolute inset-0 bg-black/40 animate-in fade-in duration-200",
1897
1801
  onClick: onClose
1898
1802
  }
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(
1803
+ ), /* @__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_icons12.CreditCardIcon, size: 20, className: "text-black" }), /* @__PURE__ */ import_react33.default.createElement("h3", { className: "text-[16px] text-black tracking-tight" }, title)), /* @__PURE__ */ import_react33.default.createElement(
1900
1804
  "button",
1901
1805
  {
1902
1806
  onClick: onClose,
1903
1807
  className: "text-neutral-400 hover:text-black transition-colors outline-none"
1904
1808
  },
1905
- /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons13.CancelCircleIcon, size: 20 })
1809
+ /* @__PURE__ */ import_react33.default.createElement(import_react34.HugeiconsIcon, { icon: import_core_free_icons12.CancelCircleIcon, size: 20 })
1906
1810
  )), /* @__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
1811
  "button",
1908
1812
  {
1909
1813
  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"
1814
+ className: "w-full py-3.5 bg-black text-white text-[13px] rounded-xl hover:bg-neutral-800 transition-colors outline-none active:scale-95"
1911
1815
  },
1912
1816
  actionType === "ACTIVATE" ? "Activate Now" : "Create Card"
1913
1817
  ))));
@@ -2011,17 +1915,17 @@ var UniversalCardPage = ({
2011
1915
  const capitalized = type.charAt(0).toUpperCase() + type.slice(1).toLowerCase();
2012
1916
  return `${capitalized} Card`;
2013
1917
  };
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) => {
1918
+ const displayCardNumber = isRevealed ? activeCard.cardNumber : `XXXX XXXX XXXX ${activeCard.cardNumber.slice(-4)}`;
1919
+ const displayExpiry = isRevealed ? activeCard.expiry : "XX/XX";
1920
+ const displayCvv = isRevealed ? activeCard.cvv : "XXX";
1921
+ return /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full flex flex-col items-center animate-in max-w-5xl 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
1922
  const isActive = activeTabIndex === idx;
2019
1923
  return /* @__PURE__ */ import_react35.default.createElement(
2020
1924
  "button",
2021
1925
  {
2022
1926
  key: tab.id,
2023
1927
  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"}`
1928
+ className: `px-4 py-1.5 rounded-full text-[11px] 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
1929
  },
2026
1930
  formatTabLabel(tab.type)
2027
1931
  );
@@ -2038,7 +1942,7 @@ var UniversalCardPage = ({
2038
1942
  transform: isFlipped ? "rotateY(180deg)" : "rotateY(0deg)"
2039
1943
  }
2040
1944
  },
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" })),
1945
+ !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_icons13.Loading03Icon, size: 28, className: "animate-spin text-black" })),
2042
1946
  !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
1947
  "button",
2044
1948
  {
@@ -2046,7 +1950,7 @@ var UniversalCardPage = ({
2046
1950
  e.stopPropagation();
2047
1951
  handleOverlayActionClick("ACTIVATE");
2048
1952
  },
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"
1953
+ className: "px-6 py-2.5 bg-white/35 text-white text-[12px] rounded-full transition-all outline-none active:scale-95"
2050
1954
  },
2051
1955
  "Activate Card"
2052
1956
  ), isDead && /* @__PURE__ */ import_react35.default.createElement(
@@ -2056,7 +1960,7 @@ var UniversalCardPage = ({
2056
1960
  e.stopPropagation();
2057
1961
  handleOverlayActionClick("CREATE");
2058
1962
  },
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"
1963
+ className: "px-6 py-2.5 bg-white/35 text-white text-[12px] rounded-full transition-all outline-none active:scale-95"
2060
1964
  },
2061
1965
  "Create Card"
2062
1966
  ), isFrozen && /* @__PURE__ */ import_react35.default.createElement(
@@ -2067,9 +1971,9 @@ var UniversalCardPage = ({
2067
1971
  handleOverlayUnfreeze();
2068
1972
  },
2069
1973
  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"
1974
+ className: "px-6 py-2.5 bg-white/35 text-white text-[12px] rounded-full transition-all outline-none active:scale-95 flex items-center gap-2 disabled:opacity-80"
2071
1975
  },
2072
- isOverlayActionLoading ? /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons14.Loading03Icon, size: 16, className: "animate-spin" }) : "Unfreeze Card"
1976
+ isOverlayActionLoading ? /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons13.Loading03Icon, size: 16, className: "animate-spin" }) : "Unfreeze Card"
2073
1977
  )),
2074
1978
  /* @__PURE__ */ import_react35.default.createElement(
2075
1979
  "div",
@@ -2122,7 +2026,7 @@ var UniversalCardPage = ({
2122
2026
  )), /* @__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(
2123
2027
  MenuRow,
2124
2028
  {
2125
- icon: import_core_free_icons14.ViewOffSlashIcon,
2029
+ icon: import_core_free_icons13.ViewOffSlashIcon,
2126
2030
  title: "Reveal Information",
2127
2031
  subtitle: "Show card informations",
2128
2032
  onClick: handleToggleReveal,
@@ -2134,7 +2038,7 @@ var UniversalCardPage = ({
2134
2038
  ), /* @__PURE__ */ import_react35.default.createElement(
2135
2039
  MenuRow,
2136
2040
  {
2137
- icon: import_core_free_icons14.SnowIcon,
2041
+ icon: import_core_free_icons13.SnowIcon,
2138
2042
  title: "Freeze",
2139
2043
  subtitle: "Freeze & Unfreeze card",
2140
2044
  onClick: handleToggleFreeze,
@@ -2146,7 +2050,7 @@ var UniversalCardPage = ({
2146
2050
  ), /* @__PURE__ */ import_react35.default.createElement(
2147
2051
  MenuRow,
2148
2052
  {
2149
- icon: import_core_free_icons14.Dollar02Icon,
2053
+ icon: import_core_free_icons13.Dollar02Icon,
2150
2054
  title: "Set Limits",
2151
2055
  subtitle: "Set card limits",
2152
2056
  onClick: () => {
@@ -2158,7 +2062,7 @@ var UniversalCardPage = ({
2158
2062
  )), /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react35.default.createElement(
2159
2063
  MenuRow,
2160
2064
  {
2161
- icon: import_core_free_icons14.Delete02Icon,
2065
+ icon: import_core_free_icons13.Delete02Icon,
2162
2066
  title: "Delete card",
2163
2067
  subtitle: "Permanently delete card",
2164
2068
  onClick: () => {
@@ -2222,13 +2126,13 @@ var MenuRow = ({
2222
2126
  },
2223
2127
  /* @__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
2128
  /* @__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" })
2129
+ 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_icons13.Loading03Icon, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ import_react35.default.createElement(import_react36.HugeiconsIcon, { icon: import_core_free_icons13.ArrowRight01Icon, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2226
2130
  );
2227
2131
 
2228
2132
  // src/components/UniversalProfilePage.tsx
2229
2133
  var import_react37 = __toESM(require("react"));
2230
2134
  var import_react38 = require("@hugeicons/react");
2231
- var import_core_free_icons15 = require("@hugeicons/core-free-icons");
2135
+ var import_core_free_icons14 = require("@hugeicons/core-free-icons");
2232
2136
  var UniversalProfilePage = ({
2233
2137
  avatarSrc,
2234
2138
  roleName,
@@ -2256,7 +2160,7 @@ var UniversalProfilePage = ({
2256
2160
  setShowLogoutDialog(false);
2257
2161
  }
2258
2162
  };
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(
2163
+ return /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-full max-w-5xl 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_icons14.Loading03Icon, size: 24, className: "animate-spin text-black" })), /* @__PURE__ */ import_react37.default.createElement(
2260
2164
  "img",
2261
2165
  {
2262
2166
  src: avatarSrc,
@@ -2264,10 +2168,10 @@ var UniversalProfilePage = ({
2264
2168
  onLoad: () => setIsAvatarLoaded(true),
2265
2169
  className: `w-full h-full object-cover transition-opacity duration-300 ${isAvatarLoaded ? "opacity-100" : "opacity-0"}`
2266
2170
  }
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(
2171
+ )) : /* @__PURE__ */ import_react37.default.createElement(import_react38.HugeiconsIcon, { icon: import_core_free_icons14.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_icons14.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(
2268
2172
  MenuRow2,
2269
2173
  {
2270
- icon: import_core_free_icons15.UserIcon,
2174
+ icon: import_core_free_icons14.UserIcon,
2271
2175
  title: "Account",
2272
2176
  subtitle: "Your account details",
2273
2177
  onClick: onAccountTap
@@ -2275,7 +2179,7 @@ var UniversalProfilePage = ({
2275
2179
  ), /* @__PURE__ */ import_react37.default.createElement(
2276
2180
  MenuRow2,
2277
2181
  {
2278
- icon: import_core_free_icons15.LockKeyIcon,
2182
+ icon: import_core_free_icons14.LockKeyIcon,
2279
2183
  title: "Security",
2280
2184
  subtitle: "2FA & authentication",
2281
2185
  onClick: onSecurityTap
@@ -2283,7 +2187,7 @@ var UniversalProfilePage = ({
2283
2187
  ), /* @__PURE__ */ import_react37.default.createElement(
2284
2188
  MenuRow2,
2285
2189
  {
2286
- icon: import_core_free_icons15.ShieldUserIcon,
2190
+ icon: import_core_free_icons14.ShieldUserIcon,
2287
2191
  title: "Web3 Profile",
2288
2192
  subtitle: "Manage web3 profile",
2289
2193
  onClick: onDefiTap
@@ -2291,7 +2195,7 @@ var UniversalProfilePage = ({
2291
2195
  ), /* @__PURE__ */ import_react37.default.createElement(
2292
2196
  MenuRow2,
2293
2197
  {
2294
- icon: import_core_free_icons15.MessageQuestionIcon,
2198
+ icon: import_core_free_icons14.MessageQuestionIcon,
2295
2199
  title: "Get Help",
2296
2200
  subtitle: "24/7 Support",
2297
2201
  onClick: onHelpTap,
@@ -2300,7 +2204,7 @@ var UniversalProfilePage = ({
2300
2204
  )), /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react37.default.createElement(
2301
2205
  MenuRow2,
2302
2206
  {
2303
- icon: import_core_free_icons15.UserIdVerificationIcon,
2207
+ icon: import_core_free_icons14.UserIdVerificationIcon,
2304
2208
  title: "Verifications",
2305
2209
  subtitle: "Account Verifications",
2306
2210
  onClick: onVerificationsTap
@@ -2308,7 +2212,7 @@ var UniversalProfilePage = ({
2308
2212
  ), /* @__PURE__ */ import_react37.default.createElement(
2309
2213
  MenuRow2,
2310
2214
  {
2311
- icon: import_core_free_icons15.FileDownloadIcon,
2215
+ icon: import_core_free_icons14.FileDownloadIcon,
2312
2216
  title: "Export Account",
2313
2217
  subtitle: "Transfer your account",
2314
2218
  onClick: onExportTap
@@ -2316,7 +2220,7 @@ var UniversalProfilePage = ({
2316
2220
  ), /* @__PURE__ */ import_react37.default.createElement(
2317
2221
  MenuRow2,
2318
2222
  {
2319
- icon: import_core_free_icons15.LogoutCircle02Icon,
2223
+ icon: import_core_free_icons14.LogoutCircle02Icon,
2320
2224
  title: "LogOut",
2321
2225
  subtitle: "End your session",
2322
2226
  onClick: () => setShowLogoutDialog(true),
@@ -2325,7 +2229,7 @@ var UniversalProfilePage = ({
2325
2229
  )), /* @__PURE__ */ import_react37.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden mb-4" }, /* @__PURE__ */ import_react37.default.createElement(
2326
2230
  MenuRow2,
2327
2231
  {
2328
- icon: import_core_free_icons15.UserRemove01Icon,
2232
+ icon: import_core_free_icons14.UserRemove01Icon,
2329
2233
  title: "Delete Account",
2330
2234
  subtitle: "Remove account",
2331
2235
  onClick: onDeleteTap,
@@ -2353,20 +2257,90 @@ var MenuRow2 = ({ icon, title, subtitle, onClick, iconColor = "text-black", titl
2353
2257
  },
2354
2258
  /* @__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
2259
  /* @__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" })
2260
+ /* @__PURE__ */ import_react37.default.createElement(import_react38.HugeiconsIcon, { icon: import_core_free_icons14.ArrowRight01Icon, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2357
2261
  );
2358
2262
 
2359
- // src/components/HeroSection.tsx
2360
- var import_react40 = __toESM(require("react"));
2263
+ // src/components/UniversalSidebar.tsx
2264
+ var import_react39 = __toESM(require("react"));
2361
2265
  var import_link5 = __toESM(require("next/link"));
2266
+ var import_react40 = require("@hugeicons/react");
2267
+ var import_core_free_icons15 = require("@hugeicons/core-free-icons");
2268
+ var UniversalSidebar = ({
2269
+ navItems,
2270
+ currentPath,
2271
+ onNavClick,
2272
+ showLogoutAction = false,
2273
+ onLogout
2274
+ }) => {
2275
+ const [showLogoutDialog, setShowLogoutDialog] = (0, import_react39.useState)(false);
2276
+ const [isLoggingOut, setIsLoggingOut] = (0, import_react39.useState)(false);
2277
+ const hasActiveMatch = navItems.some(
2278
+ (item) => item.path === "/" || item.path === "/app" ? currentPath === "/" || currentPath === "/app" : currentPath === item.path || currentPath?.startsWith(`${item.path}/`)
2279
+ );
2280
+ const handleLogoutInitiation = async () => {
2281
+ if (isLoggingOut || !onLogout) return;
2282
+ setIsLoggingOut(true);
2283
+ try {
2284
+ await onLogout();
2285
+ } catch (error) {
2286
+ setIsLoggingOut(false);
2287
+ setShowLogoutDialog(false);
2288
+ }
2289
+ };
2290
+ return /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, /* @__PURE__ */ import_react39.default.createElement("aside", { className: "hidden md:flex fixed top-0 left-0 h-screen w-20 flex-col z-40 overflow-y-auto custom-scrollbar" }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "h-24 shrink-0" }), /* @__PURE__ */ import_react39.default.createElement("nav", { className: "flex-1 flex flex-col gap-3 px-2" }, navItems.map((item, index) => {
2291
+ const isExactOrSubMatch = item.path === "/" || item.path === "/app" ? currentPath === "/" || currentPath === "/app" : currentPath === item.path || currentPath?.startsWith(`${item.path}/`);
2292
+ const isCurrentRoute = isExactOrSubMatch || !hasActiveMatch && index === 0;
2293
+ return /* @__PURE__ */ import_react39.default.createElement(
2294
+ import_link5.default,
2295
+ {
2296
+ key: item.name,
2297
+ href: item.path,
2298
+ onClick: (e) => onNavClick ? onNavClick(e, item.path) : void 0,
2299
+ className: `flex items-center justify-center w-12 h-12 mx-auto rounded-full transition-all outline-none group shrink-0 ${isCurrentRoute ? "bg-white text-black" : "text-neutral-500 hover:text-black hover:bg-white/50"}`,
2300
+ title: item.name
2301
+ },
2302
+ /* @__PURE__ */ import_react39.default.createElement(
2303
+ import_react40.HugeiconsIcon,
2304
+ {
2305
+ icon: item.icon,
2306
+ size: 20,
2307
+ className: `shrink-0 transition-colors ${isCurrentRoute ? "text-black" : "text-neutral-400 group-hover:text-black"}`
2308
+ }
2309
+ )
2310
+ );
2311
+ })), /* @__PURE__ */ import_react39.default.createElement("div", { className: "p-4 shrink-0 flex flex-col items-center gap-2 mb-4" }, showLogoutAction && /* @__PURE__ */ import_react39.default.createElement(
2312
+ "button",
2313
+ {
2314
+ onClick: () => setShowLogoutDialog(true),
2315
+ className: "w-12 h-12 rounded-full flex items-center justify-center text-neutral-500 hover:bg-white/50 transition-all outline-none"
2316
+ },
2317
+ /* @__PURE__ */ import_react39.default.createElement(import_react40.HugeiconsIcon, { icon: import_core_free_icons15.LogoutCircle02Icon, size: 20 })
2318
+ ))), showLogoutAction && /* @__PURE__ */ import_react39.default.createElement(
2319
+ ConfirmationDialog,
2320
+ {
2321
+ isOpen: showLogoutDialog,
2322
+ title: "Secure Logout",
2323
+ message: "Are you sure you want to log out? You will need to authenticate to return.",
2324
+ confirmText: "Log Out",
2325
+ isDestructive: true,
2326
+ isProcessing: isLoggingOut,
2327
+ onClose: () => setShowLogoutDialog(false),
2328
+ onConfirm: handleLogoutInitiation
2329
+ }
2330
+ ));
2331
+ };
2332
+
2333
+ // src/components/HeroSection.tsx
2334
+ var import_react42 = __toESM(require("react"));
2335
+ var import_link6 = __toESM(require("next/link"));
2362
2336
  var import_image2 = __toESM(require("next/image"));
2363
2337
 
2364
2338
  // src/components/WaitlistDialog.tsx
2365
- var import_react39 = __toESM(require("react"));
2339
+ var import_react41 = __toESM(require("react"));
2366
2340
  var import_react_hot_toast7 = require("react-hot-toast");
2367
2341
  var WaitlistDialog = ({ isOpen, onClose }) => {
2368
- const [email, setEmail] = (0, import_react39.useState)("");
2369
- const [isLoading, setIsLoading] = (0, import_react39.useState)(false);
2342
+ const [email, setEmail] = (0, import_react41.useState)("");
2343
+ const [isLoading, setIsLoading] = (0, import_react41.useState)(false);
2370
2344
  if (!isOpen) return null;
2371
2345
  const handleSubmit = async (e) => {
2372
2346
  e.preventDefault();
@@ -2397,12 +2371,12 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2397
2371
  setIsLoading(false);
2398
2372
  }
2399
2373
  };
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(
2374
+ return /* @__PURE__ */ import_react41.default.createElement("div", { className: "fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "absolute inset-0", onClick: !isLoading ? onClose : void 0 }), /* @__PURE__ */ import_react41.default.createElement(
2401
2375
  "div",
2402
2376
  {
2403
2377
  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"
2404
2378
  },
2405
- /* @__PURE__ */ import_react39.default.createElement(
2379
+ /* @__PURE__ */ import_react41.default.createElement(
2406
2380
  "button",
2407
2381
  {
2408
2382
  onClick: onClose,
@@ -2410,7 +2384,7 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2410
2384
  className: "absolute top-4 right-4 p-2 text-neutral-700 hover:text-neutral-400 transition-colors disabled:opacity-50 outline-none",
2411
2385
  "aria-label": "Close dialog"
2412
2386
  },
2413
- /* @__PURE__ */ import_react39.default.createElement(
2387
+ /* @__PURE__ */ import_react41.default.createElement(
2414
2388
  "svg",
2415
2389
  {
2416
2390
  xmlns: "http://www.w3.org/2000/svg",
@@ -2423,11 +2397,11 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2423
2397
  strokeLinecap: "round",
2424
2398
  strokeLinejoin: "round"
2425
2399
  },
2426
- /* @__PURE__ */ import_react39.default.createElement("path", { d: "M18 6 6 18" }),
2427
- /* @__PURE__ */ import_react39.default.createElement("path", { d: "m6 6 12 12" })
2400
+ /* @__PURE__ */ import_react41.default.createElement("path", { d: "M18 6 6 18" }),
2401
+ /* @__PURE__ */ import_react41.default.createElement("path", { d: "m6 6 12 12" })
2428
2402
  )
2429
2403
  ),
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(
2404
+ /* @__PURE__ */ import_react41.default.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ import_react41.default.createElement("div", { className: "mb-8 mt-2" }, /* @__PURE__ */ import_react41.default.createElement("h2", { className: "text-2xl text-black tracking-tight mb-2" }, "Join the Waitlist"), /* @__PURE__ */ import_react41.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_react41.default.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-8" }, /* @__PURE__ */ import_react41.default.createElement(
2431
2405
  TextInput,
2432
2406
  {
2433
2407
  label: "Email ID",
@@ -2437,7 +2411,7 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2437
2411
  placeholder: "name@example.com",
2438
2412
  disabled: isLoading
2439
2413
  }
2440
- ), /* @__PURE__ */ import_react39.default.createElement(
2414
+ ), /* @__PURE__ */ import_react41.default.createElement(
2441
2415
  ThreeDActionButton,
2442
2416
  {
2443
2417
  type: "submit",
@@ -2470,10 +2444,10 @@ var HeroSection = ({
2470
2444
  bgImageSrc,
2471
2445
  isWaitlist = false
2472
2446
  }) => {
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)(() => {
2447
+ const [isAnimating, setIsAnimating] = (0, import_react42.useState)(false);
2448
+ const [isWaitlistOpen, setIsWaitlistOpen] = (0, import_react42.useState)(false);
2449
+ const titleRef = (0, import_react42.useRef)(null);
2450
+ (0, import_react42.useEffect)(() => {
2477
2451
  const observer = new IntersectionObserver(
2478
2452
  ([entry]) => {
2479
2453
  if (entry.isIntersecting) {
@@ -2495,7 +2469,7 @@ var HeroSection = ({
2495
2469
  setIsWaitlistOpen(true);
2496
2470
  }
2497
2471
  };
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(
2472
+ return /* @__PURE__ */ import_react42.default.createElement("div", { className: "w-screen min-h-screen flex justify-center items-center p-4" }, /* @__PURE__ */ import_react42.default.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ import_react42.default.createElement(
2499
2473
  "video",
2500
2474
  {
2501
2475
  src: bgVideoSrc,
@@ -2506,7 +2480,7 @@ var HeroSection = ({
2506
2480
  playsInline: true,
2507
2481
  className: "absolute inset-0 h-full w-full object-cover z-0"
2508
2482
  }
2509
- ) : bgImageSrc ? /* @__PURE__ */ import_react40.default.createElement(
2483
+ ) : bgImageSrc ? /* @__PURE__ */ import_react42.default.createElement(
2510
2484
  import_image2.default,
2511
2485
  {
2512
2486
  src: bgImageSrc,
@@ -2515,7 +2489,7 @@ var HeroSection = ({
2515
2489
  priority: true,
2516
2490
  className: "absolute inset-0 h-full w-full object-cover z-0"
2517
2491
  }
2518
- ) : null, /* @__PURE__ */ import_react40.default.createElement(
2492
+ ) : null, /* @__PURE__ */ import_react42.default.createElement(
2519
2493
  "div",
2520
2494
  {
2521
2495
  className: "pointer-events-none absolute inset-0 z-10 opacity-[0.7] mix-blend-overlay",
@@ -2523,31 +2497,31 @@ var HeroSection = ({
2523
2497
  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")`
2524
2498
  }
2525
2499
  }
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(
2500
+ ), /* @__PURE__ */ import_react42.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_react42.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_react42.default.createElement("div", { className: "grid grid-cols-12 items-end gap-4" }, /* @__PURE__ */ import_react42.default.createElement("div", { className: "col-span-12 lg:col-span-8" }, /* @__PURE__ */ import_react42.default.createElement(
2527
2501
  "h1",
2528
2502
  {
2529
2503
  ref: titleRef,
2530
2504
  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]"
2531
2505
  },
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(
2535
- import_link5.default,
2506
+ /* @__PURE__ */ import_react42.default.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ import_react42.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_react42.default.createElement("br", null), highlightText, /* @__PURE__ */ import_react42.default.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2507
+ )), /* @__PURE__ */ import_react42.default.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ import_react42.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_react42.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!
2508
+ /* @__PURE__ */ import_react42.default.createElement(
2509
+ import_link6.default,
2536
2510
  {
2537
2511
  href: isWaitlist ? "#" : ctaHref || "#",
2538
2512
  onClick: handleCtaClick,
2539
2513
  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"
2540
2514
  },
2541
2515
  ctaText,
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(
2544
- import_link5.default,
2516
+ /* @__PURE__ */ import_react42.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_react42.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_react42.default.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ import_react42.default.createElement("path", { d: "m12 5 7 7-7 7" })))
2517
+ ), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react42.default.createElement(
2518
+ import_link6.default,
2545
2519
  {
2546
2520
  href: secondaryCtaHref,
2547
2521
  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"
2548
2522
  },
2549
2523
  secondaryCtaText
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(
2524
+ )), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ import_react42.default.createElement("span", { className: "text-[10px] tracking-widest uppercase text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react42.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_react42.default.createElement(
2551
2525
  import_image2.default,
2552
2526
  {
2553
2527
  src: logo.src,
@@ -2556,7 +2530,7 @@ var HeroSection = ({
2556
2530
  height: 28,
2557
2531
  className: "object-contain"
2558
2532
  }
2559
- ))))))))), /* @__PURE__ */ import_react40.default.createElement(
2533
+ ))))))))), /* @__PURE__ */ import_react42.default.createElement(
2560
2534
  WaitlistDialog,
2561
2535
  {
2562
2536
  isOpen: isWaitlistOpen,
@@ -2566,12 +2540,12 @@ var HeroSection = ({
2566
2540
  };
2567
2541
 
2568
2542
  // src/components/AppBento2.tsx
2569
- var import_react41 = __toESM(require("react"));
2570
- var import_react42 = require("@hugeicons/react");
2543
+ var import_react43 = __toESM(require("react"));
2544
+ var import_react44 = require("@hugeicons/react");
2571
2545
  var AppBento2 = ({ tagline, headline, features }) => {
2572
- const [isAnimating, setIsAnimating] = (0, import_react41.useState)(false);
2573
- const titleRef = (0, import_react41.useRef)(null);
2574
- (0, import_react41.useEffect)(() => {
2546
+ const [isAnimating, setIsAnimating] = (0, import_react43.useState)(false);
2547
+ const titleRef = (0, import_react43.useRef)(null);
2548
+ (0, import_react43.useEffect)(() => {
2575
2549
  const observer = new IntersectionObserver(
2576
2550
  ([entry]) => {
2577
2551
  if (entry.isIntersecting) {
@@ -2589,7 +2563,7 @@ var AppBento2 = ({ tagline, headline, features }) => {
2589
2563
  }
2590
2564
  return () => observer.disconnect();
2591
2565
  }, []);
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(
2566
+ return /* @__PURE__ */ import_react43.default.createElement("div", { className: "w-full py-16" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "w-full flex justify-center px-4" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "relative overflow-hidden mb-12 text-left" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "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(
2593
2567
  "h2",
2594
2568
  {
2595
2569
  ref: titleRef,
@@ -2597,7 +2571,7 @@ var AppBento2 = ({ tagline, headline, features }) => {
2597
2571
  style: isAnimating ? { animationIterationCount: 1 } : {}
2598
2572
  },
2599
2573
  headline
2600
- ))), /* @__PURE__ */ import_react41.default.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-6 gap-6" }, features.map((f, i) => {
2574
+ ))), /* @__PURE__ */ import_react43.default.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-6 gap-6" }, features.map((f, i) => {
2601
2575
  const isWhite = i === 0;
2602
2576
  const isBlack = i === 1;
2603
2577
  const isNeutral = i === 2;
@@ -2619,36 +2593,36 @@ var AppBento2 = ({ tagline, headline, features }) => {
2619
2593
  const textColor = isBlack ? "text-white" : "text-black";
2620
2594
  const subTextColor = isBlack ? "text-neutral-300" : "text-neutral-600";
2621
2595
  const labelColor = isBlack ? "text-neutral-400" : "text-neutral-500";
2622
- return /* @__PURE__ */ import_react41.default.createElement(
2596
+ return /* @__PURE__ */ import_react43.default.createElement(
2623
2597
  "div",
2624
2598
  {
2625
2599
  key: i,
2626
2600
  className: `relative rounded-2xl overflow-hidden p-8 flex flex-col min-h-75 transition-all duration-500 group text-left ${getBgStyle()} ${f.size}`,
2627
2601
  style: { boxShadow: getShadowStyle() }
2628
2602
  },
2629
- /* @__PURE__ */ import_react41.default.createElement(
2603
+ /* @__PURE__ */ import_react43.default.createElement(
2630
2604
  "div",
2631
2605
  {
2632
2606
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
2633
2607
  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")` }
2634
2608
  }
2635
2609
  ),
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)))
2610
+ isBlack && /* @__PURE__ */ import_react43.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" }),
2611
+ /* @__PURE__ */ import_react43.default.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ import_react43.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_react43.default.createElement(import_react44.HugeiconsIcon, { icon: f.icon, size: 180 }))),
2612
+ /* @__PURE__ */ import_react43.default.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ import_react43.default.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ import_react43.default.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ import_react43.default.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ import_react43.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react43.default.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ import_react43.default.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
2639
2613
  );
2640
2614
  })))));
2641
2615
  };
2642
2616
 
2643
2617
  // src/components/FeatureScroll.tsx
2644
- var import_react43 = __toESM(require("react"));
2618
+ var import_react45 = __toESM(require("react"));
2645
2619
  var import_image3 = __toESM(require("next/image"));
2646
- var import_react44 = require("@hugeicons/react");
2620
+ var import_react46 = require("@hugeicons/react");
2647
2621
  var import_core_free_icons16 = require("@hugeicons/core-free-icons");
2648
2622
  var FeatureCard = ({ feature, bgImage }) => {
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(
2623
+ const [isBgLoading, setIsBgLoading] = (0, import_react45.useState)(true);
2624
+ const [isFgLoading, setIsFgLoading] = (0, import_react45.useState)(!!feature.image);
2625
+ return /* @__PURE__ */ import_react45.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_react45.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_react45.default.createElement(
2652
2626
  import_image3.default,
2653
2627
  {
2654
2628
  src: bgImage,
@@ -2661,7 +2635,7 @@ var FeatureCard = ({ feature, bgImage }) => {
2661
2635
  ${isBgLoading ? "blur-xl scale-110" : "blur-0 scale-100"}
2662
2636
  `
2663
2637
  }
2664
- ), /* @__PURE__ */ import_react43.default.createElement(
2638
+ ), /* @__PURE__ */ import_react45.default.createElement(
2665
2639
  "div",
2666
2640
  {
2667
2641
  className: "absolute inset-0 w-full h-full pointer-events-none z-0 opacity-[0.25] mix-blend-overlay",
@@ -2669,7 +2643,7 @@ var FeatureCard = ({ feature, bgImage }) => {
2669
2643
  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")`
2670
2644
  }
2671
2645
  }
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(
2646
+ ), isFgLoading && feature.image && /* @__PURE__ */ import_react45.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_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.Loading03Icon, size: 32, className: "animate-spin text-neutral-400" })), feature.image && /* @__PURE__ */ import_react45.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_react45.default.createElement(
2673
2647
  import_image3.default,
2674
2648
  {
2675
2649
  src: feature.image,
@@ -2682,12 +2656,12 @@ var FeatureCard = ({ feature, bgImage }) => {
2682
2656
  ${isFgLoading ? "opacity-0 blur-xl" : "opacity-100 blur-0"}
2683
2657
  `
2684
2658
  }
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)));
2659
+ ))), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ import_react45.default.createElement("h3", { className: " text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
2686
2660
  };
2687
2661
  var FeatureScroll = ({ tagline, headline, features }) => {
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);
2662
+ const scrollRef = (0, import_react45.useRef)(null);
2663
+ const [canScrollLeft, setCanScrollLeft] = (0, import_react45.useState)(false);
2664
+ const [canScrollRight, setCanScrollRight] = (0, import_react45.useState)(true);
2691
2665
  const checkScroll = () => {
2692
2666
  if (scrollRef.current) {
2693
2667
  const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;
@@ -2695,7 +2669,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2695
2669
  setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 2);
2696
2670
  }
2697
2671
  };
2698
- (0, import_react43.useEffect)(() => {
2672
+ (0, import_react45.useEffect)(() => {
2699
2673
  checkScroll();
2700
2674
  window.addEventListener("resize", checkScroll);
2701
2675
  return () => window.removeEventListener("resize", checkScroll);
@@ -2711,7 +2685,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2711
2685
  "https://retinalabs.company/assets/images/bg_6.avif",
2712
2686
  "https://retinalabs.company/assets/images/bg_1.avif"
2713
2687
  ];
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(
2688
+ return /* @__PURE__ */ import_react45.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10 overflow-hidden" }, /* @__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 md:flex-row md:items-end justify-between gap-6 mb-12" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "relative z-10 text-left" }, /* @__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]" }, headline)), /* @__PURE__ */ import_react45.default.createElement("div", { className: "hidden md:flex items-center gap-3" }, /* @__PURE__ */ import_react45.default.createElement(
2715
2689
  "button",
2716
2690
  {
2717
2691
  onClick: () => scroll("left"),
@@ -2719,8 +2693,8 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2719
2693
  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",
2720
2694
  "aria-label": "Previous feature"
2721
2695
  },
2722
- /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.ArrowLeft01Icon, size: 20 })
2723
- ), /* @__PURE__ */ import_react43.default.createElement(
2696
+ /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.ArrowLeft01Icon, size: 20 })
2697
+ ), /* @__PURE__ */ import_react45.default.createElement(
2724
2698
  "button",
2725
2699
  {
2726
2700
  onClick: () => scroll("right"),
@@ -2728,57 +2702,57 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2728
2702
  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",
2729
2703
  "aria-label": "Next feature"
2730
2704
  },
2731
- /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.ArrowRight01Icon, size: 20 })
2732
- ))), /* @__PURE__ */ import_react43.default.createElement(
2705
+ /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.ArrowRight01Icon, size: 20 })
2706
+ ))), /* @__PURE__ */ import_react45.default.createElement(
2733
2707
  "div",
2734
2708
  {
2735
2709
  ref: scrollRef,
2736
2710
  onScroll: checkScroll,
2737
2711
  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"
2738
2712
  },
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(
2713
+ features.slice(0, 3).map((feature, idx) => /* @__PURE__ */ import_react45.default.createElement(FeatureCard, { key: idx, feature, bgImage: bgImages[idx] }))
2714
+ ), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex md:hidden items-center justify-center gap-4 mt-2" }, /* @__PURE__ */ import_react45.default.createElement(
2741
2715
  "button",
2742
2716
  {
2743
2717
  onClick: () => scroll("left"),
2744
2718
  disabled: !canScrollLeft,
2745
2719
  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"
2746
2720
  },
2747
- /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.ArrowLeft01Icon, size: 20 })
2748
- ), /* @__PURE__ */ import_react43.default.createElement(
2721
+ /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.ArrowLeft01Icon, size: 20 })
2722
+ ), /* @__PURE__ */ import_react45.default.createElement(
2749
2723
  "button",
2750
2724
  {
2751
2725
  onClick: () => scroll("right"),
2752
2726
  disabled: !canScrollRight,
2753
2727
  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"
2754
2728
  },
2755
- /* @__PURE__ */ import_react43.default.createElement(import_react44.HugeiconsIcon, { icon: import_core_free_icons16.ArrowRight01Icon, size: 20 })
2729
+ /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.ArrowRight01Icon, size: 20 })
2756
2730
  ))));
2757
2731
  };
2758
2732
 
2759
2733
  // src/components/PlatformFeatures.tsx
2760
- var import_react45 = __toESM(require("react"));
2761
- var import_react46 = require("@hugeicons/react");
2734
+ var import_react47 = __toESM(require("react"));
2735
+ var import_react48 = require("@hugeicons/react");
2762
2736
  var PlatformFeatures = ({
2763
2737
  tagline,
2764
2738
  headline,
2765
2739
  description,
2766
2740
  features
2767
2741
  }) => {
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(
2742
+ return /* @__PURE__ */ import_react47.default.createElement("section", { className: "w-full flex justify-center mb-15 relative z-10" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col items-start mb-16 relative z-10" }, /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react47.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.05] mb-6" }, headline), /* @__PURE__ */ import_react47.default.createElement("p", { className: "text-[15px] leading-[1.8] text-neutral-600 max-w-2xl" }, description)), /* @__PURE__ */ import_react47.default.createElement("div", { className: "w-full h-px bg-neutral-100 mb-16", "aria-hidden": "true" }), /* @__PURE__ */ import_react47.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_react47.default.createElement(
2769
2743
  "div",
2770
2744
  {
2771
2745
  key: idx,
2772
2746
  className: "flex flex-col group animate-in fade-in slide-in-from-bottom-4 duration-700 fill-mode-both",
2773
2747
  style: { animationDelay: feature.delay || "0ms" }
2774
2748
  },
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))
2749
+ /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-row items-center gap-4 mb-4" }, /* @__PURE__ */ import_react47.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_react47.default.createElement(import_react48.HugeiconsIcon, { icon: feature.icon, size: 24 })), /* @__PURE__ */ import_react47.default.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ import_react47.default.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-0.5" }, feature.label || "CAPABILITY"), /* @__PURE__ */ import_react47.default.createElement("h3", { className: "text-xl tracking-tight text-black" }, feature.title))),
2750
+ /* @__PURE__ */ import_react47.default.createElement("div", null, /* @__PURE__ */ import_react47.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
2777
2751
  )))));
2778
2752
  };
2779
2753
 
2780
2754
  // src/components/ManagedDocument.tsx
2781
- var import_react47 = __toESM(require("react"));
2755
+ var import_react49 = __toESM(require("react"));
2782
2756
  var ManagedDocument = ({
2783
2757
  tagline,
2784
2758
  title,
@@ -2786,9 +2760,9 @@ var ManagedDocument = ({
2786
2760
  contactText,
2787
2761
  contactEmail
2788
2762
  }) => {
2789
- const [isAnimating, setIsAnimating] = (0, import_react47.useState)(false);
2790
- const titleRef = (0, import_react47.useRef)(null);
2791
- (0, import_react47.useEffect)(() => {
2763
+ const [isAnimating, setIsAnimating] = (0, import_react49.useState)(false);
2764
+ const titleRef = (0, import_react49.useRef)(null);
2765
+ (0, import_react49.useEffect)(() => {
2792
2766
  const observer = new IntersectionObserver(
2793
2767
  ([entry]) => {
2794
2768
  if (entry.isIntersecting) {
@@ -2808,7 +2782,7 @@ var ManagedDocument = ({
2808
2782
  }, []);
2809
2783
  return (
2810
2784
  // Outer layout wrapper (takes up available space, adds padding)
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(
2785
+ /* @__PURE__ */ import_react49.default.createElement("div", { className: "grow pt-4 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react49.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__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(
2812
2786
  "h1",
2813
2787
  {
2814
2788
  ref: titleRef,
@@ -2816,7 +2790,7 @@ var ManagedDocument = ({
2816
2790
  style: isAnimating ? { animationIterationCount: 1 } : {}
2817
2791
  },
2818
2792
  title
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(
2793
+ )), sections.map((section, index) => /* @__PURE__ */ import_react49.default.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ import_react49.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_react49.default.createElement("div", { className: "text-[14px] leading-[1.8] text-neutral-700 space-y-4 text-left " }, section.paragraphs.map((text, pIndex) => /* @__PURE__ */ import_react49.default.createElement("p", { key: pIndex }, text))), section.quote && /* @__PURE__ */ import_react49.default.createElement("div", { className: `border-neutral-100 border rounded-xl p-6 ${section.paragraphs && section.paragraphs.length > 0 ? "mt-6" : ""}` }, /* @__PURE__ */ import_react49.default.createElement("p", { className: "text-neutral-900 text-[14px] md:text-[14px] leading-relaxed" }, '"', section.quote, '"')))), (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(
2820
2794
  "a",
2821
2795
  {
2822
2796
  href: `mailto:${contactEmail}`,
@@ -2828,18 +2802,18 @@ var ManagedDocument = ({
2828
2802
  };
2829
2803
 
2830
2804
  // src/components/ManagedContactBlock.tsx
2831
- var import_react48 = __toESM(require("react"));
2832
- var import_react49 = require("@hugeicons/react");
2805
+ var import_react50 = __toESM(require("react"));
2806
+ var import_react51 = require("@hugeicons/react");
2833
2807
  var SecureEmail = ({ user, domain, className }) => {
2834
- const [isMounted, setIsMounted] = (0, import_react48.useState)(false);
2835
- (0, import_react48.useEffect)(() => {
2808
+ const [isMounted, setIsMounted] = (0, import_react50.useState)(false);
2809
+ (0, import_react50.useEffect)(() => {
2836
2810
  setIsMounted(true);
2837
2811
  }, []);
2838
2812
  if (!isMounted) {
2839
- return /* @__PURE__ */ import_react48.default.createElement("span", { className, style: { opacity: 0 } }, "Loading");
2813
+ return /* @__PURE__ */ import_react50.default.createElement("span", { className, style: { opacity: 0 } }, "Loading");
2840
2814
  }
2841
2815
  const email = `${user}@${domain}`;
2842
- return /* @__PURE__ */ import_react48.default.createElement("a", { href: `mailto:${email}`, className }, email);
2816
+ return /* @__PURE__ */ import_react50.default.createElement("a", { href: `mailto:${email}`, className }, email);
2843
2817
  };
2844
2818
  var ManagedContactBlock = ({
2845
2819
  tagline,
@@ -2848,7 +2822,7 @@ var ManagedContactBlock = ({
2848
2822
  emails,
2849
2823
  socials
2850
2824
  }) => {
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(
2825
+ return /* @__PURE__ */ import_react50.default.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react50.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react50.default.createElement(
2852
2826
  "div",
2853
2827
  {
2854
2828
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -2857,21 +2831,21 @@ var ManagedContactBlock = ({
2857
2831
  backgroundRepeat: "repeat"
2858
2832
  }
2859
2833
  }
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(
2834
+ ), /* @__PURE__ */ import_react50.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react50.default.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ import_react50.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react50.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react50.default.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react50.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Contact Details"), /* @__PURE__ */ import_react50.default.createElement("div", { className: "space-y-3 text-[13px] text-neutral-600 leading-[1.8]" }, company.name && /* @__PURE__ */ import_react50.default.createElement("p", { className: "text-black" }, company.name), company.lines && company.lines.map((line, idx) => /* @__PURE__ */ import_react50.default.createElement("p", { key: idx }, line)), company.phone && /* @__PURE__ */ import_react50.default.createElement("p", { className: "pt-2" }, /* @__PURE__ */ import_react50.default.createElement(
2861
2835
  "a",
2862
2836
  {
2863
2837
  href: `tel:${company.phone.replace(/\s+/g, "")}`,
2864
2838
  className: "transition-colors hover:text-black"
2865
2839
  },
2866
2840
  company.phone
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(
2841
+ )))), emails && emails.length > 0 && /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react50.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Email Directory"), /* @__PURE__ */ import_react50.default.createElement("div", { className: "space-y-6 text-[13px]" }, emails.map((email, idx) => /* @__PURE__ */ import_react50.default.createElement("div", { key: idx }, /* @__PURE__ */ import_react50.default.createElement("p", { className: "text-[11px] tracking-[0.2em] mb-1.5 text-neutral-500 " }, email.label), /* @__PURE__ */ import_react50.default.createElement(
2868
2842
  SecureEmail,
2869
2843
  {
2870
2844
  user: email.user,
2871
2845
  domain: email.domain,
2872
2846
  className: "text-neutral-600 transition-colors hover:text-black"
2873
2847
  }
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(
2848
+ ))))), socials && socials.length > 0 && /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react50.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Find Us Online"), /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex flex-col space-y-5 pt-1" }, socials.map((social, idx) => /* @__PURE__ */ import_react50.default.createElement(
2875
2849
  "a",
2876
2850
  {
2877
2851
  key: idx,
@@ -2881,27 +2855,27 @@ var ManagedContactBlock = ({
2881
2855
  className: "flex items-center gap-3 transition-colors group text-neutral-600 hover:text-black",
2882
2856
  "aria-label": social.label
2883
2857
  },
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)
2858
+ /* @__PURE__ */ import_react50.default.createElement(import_react51.HugeiconsIcon, { icon: social.icon, size: 18 }),
2859
+ /* @__PURE__ */ import_react50.default.createElement("span", { className: "text-[13px]" }, social.label)
2886
2860
  )))))))));
2887
2861
  };
2888
2862
 
2889
2863
  // src/components/ManagedPricingBlock.tsx
2890
- var import_react50 = __toESM(require("react"));
2891
- var import_link6 = __toESM(require("next/link"));
2864
+ var import_react52 = __toESM(require("react"));
2865
+ var import_link7 = __toESM(require("next/link"));
2892
2866
  var import_image4 = __toESM(require("next/image"));
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" }));
2867
+ var CheckIcon = ({ className = "" }) => /* @__PURE__ */ import_react52.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_react52.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ import_react52.default.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2868
+ var CrossIcon = ({ className = "" }) => /* @__PURE__ */ import_react52.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_react52.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ import_react52.default.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2895
2869
  var ManagedPricingBlock = ({
2896
2870
  tagline,
2897
2871
  title,
2898
2872
  plans = [],
2899
2873
  tabs
2900
2874
  }) => {
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)(() => {
2875
+ const [isAnimating, setIsAnimating] = (0, import_react52.useState)(false);
2876
+ const [activeTabIndex, setActiveTabIndex] = (0, import_react52.useState)(0);
2877
+ const titleRef = (0, import_react52.useRef)(null);
2878
+ (0, import_react52.useEffect)(() => {
2905
2879
  const observer = new IntersectionObserver(
2906
2880
  ([entry]) => {
2907
2881
  if (entry.isIntersecting) {
@@ -2921,7 +2895,7 @@ var ManagedPricingBlock = ({
2921
2895
  }, []);
2922
2896
  const hasTabs = tabs && tabs.length > 0;
2923
2897
  const currentPlans = hasTabs ? tabs[activeTabIndex].plans : plans;
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(
2898
+ return /* @__PURE__ */ import_react52.default.createElement("div", { className: "grow pt-10 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react52.default.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ import_react52.default.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 sm:mb-12" }, tagline && /* @__PURE__ */ import_react52.default.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block " }, tagline), /* @__PURE__ */ import_react52.default.createElement(
2925
2899
  "h1",
2926
2900
  {
2927
2901
  ref: titleRef,
@@ -2929,30 +2903,30 @@ var ManagedPricingBlock = ({
2929
2903
  style: isAnimating ? { animationIterationCount: 1 } : {}
2930
2904
  },
2931
2905
  title
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) => {
2906
+ )), hasTabs && /* @__PURE__ */ import_react52.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_react52.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) => {
2933
2907
  const isActive = activeTabIndex === idx;
2934
- return /* @__PURE__ */ import_react50.default.createElement(
2908
+ return /* @__PURE__ */ import_react52.default.createElement(
2935
2909
  "button",
2936
2910
  {
2937
2911
  key: idx,
2938
2912
  onClick: () => setActiveTabIndex(idx),
2939
- className: `px-4 sm:px-6 py-1.5 sm:py-2 rounded-full text-[11px] sm:text-xs transition-all duration-200 outline-none whitespace-nowrap shrink-0 ${isActive ? "bg-neutral-50 text-black " : "text-neutral-500 hover:text-black hover:bg-neutral-50/50 "}`
2913
+ className: `px-4 py-1.5 rounded-full text-[11px] transition-all duration-200 outline-none whitespace-nowrap shrink-0 ${isActive ? "bg-neutral-50 text-black " : "text-neutral-500 hover:text-black hover:bg-neutral-50/50 "}`
2940
2914
  },
2941
2915
  tab.label
2942
2916
  );
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(
2917
+ }))), /* @__PURE__ */ import_react52.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_react52.default.createElement(
2944
2918
  "div",
2945
2919
  {
2946
2920
  key: `${activeTabIndex}-${planIdx}`,
2947
2921
  className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden transition-all duration-300 ${plan.isPremium ? "" : ""}`
2948
2922
  },
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(
2923
+ /* @__PURE__ */ import_react52.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react52.default.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ import_react52.default.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ import_react52.default.createElement("h3", { className: "text-3xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ import_react52.default.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ import_react52.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_react52.default.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ import_react52.default.createElement(
2950
2924
  "div",
2951
2925
  {
2952
2926
  key: logoIdx,
2953
2927
  className: "relative w-5 h-5 overflow-hidden flex items-center justify-center shrink-0"
2954
2928
  },
2955
- /* @__PURE__ */ import_react50.default.createElement(
2929
+ /* @__PURE__ */ import_react52.default.createElement(
2956
2930
  import_image4.default,
2957
2931
  {
2958
2932
  src: logo.src,
@@ -2963,28 +2937,28 @@ var ManagedPricingBlock = ({
2963
2937
  }
2964
2938
  )
2965
2939
  )))),
2966
- plan.isPremium ? /* @__PURE__ */ import_react50.default.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ import_react50.default.createElement(
2967
- import_link6.default,
2940
+ plan.isPremium ? /* @__PURE__ */ import_react52.default.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ import_react52.default.createElement(
2941
+ import_link7.default,
2968
2942
  {
2969
2943
  href: plan.ctaHref,
2970
2944
  className: "w-full py-2.5 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none block"
2971
2945
  },
2972
2946
  plan.ctaText
2973
2947
  ),
2974
- /* @__PURE__ */ import_react50.default.createElement("div", { className: "flex flex-col gap-3" }, plan.features.map((feature, featureIdx) => {
2948
+ /* @__PURE__ */ import_react52.default.createElement("div", { className: "flex flex-col gap-3" }, plan.features.map((feature, featureIdx) => {
2975
2949
  const isAvailable = feature.value !== false;
2976
2950
  const valueText = typeof feature.value === "string" ? feature.value : "";
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, ")")));
2951
+ return /* @__PURE__ */ import_react52.default.createElement("div", { key: featureIdx, className: "flex items-center gap-2.5" }, isAvailable ? /* @__PURE__ */ import_react52.default.createElement(CheckIcon, null) : /* @__PURE__ */ import_react52.default.createElement(CrossIcon, null), /* @__PURE__ */ import_react52.default.createElement("span", { className: `text-xs truncate ${isAvailable ? "text-neutral-800" : "text-neutral-400"}` }, feature.name, valueText && /* @__PURE__ */ import_react52.default.createElement("span", { className: "text-neutral-500 ml-1" }, "(", valueText, ")")));
2978
2952
  }))
2979
2953
  )))));
2980
2954
  };
2981
2955
 
2982
2956
  // src/components/ManagedBoardBlock.tsx
2983
- var import_react51 = __toESM(require("react"));
2957
+ var import_react53 = __toESM(require("react"));
2984
2958
  var import_image5 = __toESM(require("next/image"));
2985
- var import_react52 = require("@hugeicons/react");
2959
+ var import_react54 = require("@hugeicons/react");
2986
2960
  var import_core_free_icons17 = require("@hugeicons/core-free-icons");
2987
- var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_react51.default.createElement(
2961
+ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_react53.default.createElement(
2988
2962
  "a",
2989
2963
  {
2990
2964
  href,
@@ -2993,7 +2967,7 @@ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_r
2993
2967
  className: "text-neutral-400 hover:text-black transition-colors",
2994
2968
  "aria-label": `${name} on ${label}`
2995
2969
  },
2996
- /* @__PURE__ */ import_react51.default.createElement(import_react52.HugeiconsIcon, { icon, size: 16 })
2970
+ /* @__PURE__ */ import_react53.default.createElement(import_react54.HugeiconsIcon, { icon, size: 16 })
2997
2971
  );
2998
2972
  var ManagedBoardBlock = ({
2999
2973
  tagline,
@@ -3002,7 +2976,7 @@ var ManagedBoardBlock = ({
3002
2976
  contactText,
3003
2977
  contactEmail
3004
2978
  }) => {
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(
2979
+ return /* @__PURE__ */ import_react53.default.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react53.default.createElement("div", { className: "relative w-full mx-auto overflow-hidden max-w-7xl" }, /* @__PURE__ */ import_react53.default.createElement(
3006
2980
  "div",
3007
2981
  {
3008
2982
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -3011,7 +2985,7 @@ var ManagedBoardBlock = ({
3011
2985
  backgroundRepeat: "repeat"
3012
2986
  }
3013
2987
  }
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(
2988
+ ), /* @__PURE__ */ import_react53.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react53.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react53.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react53.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react53.default.createElement("div", { className: "relative px-5 md:px-12 py-4 md:py-8" }, /* @__PURE__ */ import_react53.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_react53.default.createElement("div", { key: idx, className: "relative p-6 md:p-8 rounded-2xl bg-white flex flex-col transition-all group" }, /* @__PURE__ */ import_react53.default.createElement("div", { className: "flex items-start space-x-4 md:space-x-5 mb-5 md:mb-6" }, /* @__PURE__ */ import_react53.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_react53.default.createElement(
3015
2989
  import_image5.default,
3016
2990
  {
3017
2991
  src: member.imageSrc,
@@ -3020,7 +2994,7 @@ var ManagedBoardBlock = ({
3020
2994
  sizes: "(max-width: 768px) 56px, 64px",
3021
2995
  className: "object-cover grayscale opacity-100 transition-opacity"
3022
2996
  }
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(
2997
+ )), /* @__PURE__ */ import_react53.default.createElement("div", { className: "pt-1" }, /* @__PURE__ */ import_react53.default.createElement("h3", { className: " text-[14px] md:text-[15px] text-black tracking-tight" }, member.name), /* @__PURE__ */ import_react53.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 mt-1.5 " }, member.title))), /* @__PURE__ */ import_react53.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 text-left grow mb-8" }, member.bio), /* @__PURE__ */ import_react53.default.createElement("div", { className: "space-y-6 mt-auto" }, /* @__PURE__ */ import_react53.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react53.default.createElement(ThreeDButton, { href: member.website }, "Visit Website")), /* @__PURE__ */ import_react53.default.createElement("div", { className: "flex space-x-4 pt-5" }, member.twitterHandle && member.twitterHandle.length > 0 && /* @__PURE__ */ import_react53.default.createElement(
3024
2998
  MemberSocialLink,
3025
2999
  {
3026
3000
  href: `https://x.com/${member.twitterHandle}`,
@@ -3028,7 +3002,7 @@ var ManagedBoardBlock = ({
3028
3002
  label: "X",
3029
3003
  name: member.name
3030
3004
  }
3031
- ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ import_react51.default.createElement(
3005
+ ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ import_react53.default.createElement(
3032
3006
  MemberSocialLink,
3033
3007
  {
3034
3008
  href: member.linkedinHandle,
@@ -3036,28 +3010,28 @@ var ManagedBoardBlock = ({
3036
3010
  label: "LinkedIn",
3037
3011
  name: member.name
3038
3012
  }
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))))));
3013
+ ))))))), (contactText || contactEmail) && /* @__PURE__ */ import_react53.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react53.default.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react53.default.createElement("a", { href: `mailto:${contactEmail}`, className: "text-black decoration-black decoration-2 underline-offset-4 ml-1 transition-colors" }, contactEmail))))));
3040
3014
  };
3041
3015
 
3042
3016
  // src/components/ManagedNotFoundBlock.tsx
3043
- var import_react53 = __toESM(require("react"));
3017
+ var import_react55 = __toESM(require("react"));
3044
3018
  var ManagedNotFoundBlock = ({
3045
3019
  title = "404 - Page Not Found",
3046
3020
  description = "The page you are looking for does not exist or has been moved."
3047
3021
  }) => {
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(
3022
+ return /* @__PURE__ */ import_react55.default.createElement("main", { className: "min-h-screen flex items-center justify-center relative z-20 bg-transparent" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ import_react55.default.createElement(
3049
3023
  "svg",
3050
3024
  {
3051
3025
  xmlns: "http://www.w3.org/2000/svg",
3052
3026
  viewBox: "0 0 24 24",
3053
3027
  className: "w-12 h-12 fill-neutral-100"
3054
3028
  },
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)));
3029
+ /* @__PURE__ */ import_react55.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" })
3030
+ )), /* @__PURE__ */ import_react55.default.createElement("h1", { className: " text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ import_react55.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description)));
3057
3031
  };
3058
3032
 
3059
3033
  // src/components/ManagedNewsletterSplitBlock.tsx
3060
- var import_react54 = __toESM(require("react"));
3034
+ var import_react56 = __toESM(require("react"));
3061
3035
  var import_image6 = __toESM(require("next/image"));
3062
3036
  var ManagedNewsletterSplitBlock = ({
3063
3037
  tagline,
@@ -3071,7 +3045,7 @@ var ManagedNewsletterSplitBlock = ({
3071
3045
  ctaHref = "/contact",
3072
3046
  children
3073
3047
  }) => {
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(
3048
+ return /* @__PURE__ */ import_react56.default.createElement("div", { className: "grow flex flex-col md:flex-row relative w-full pt-32 md:pt-0" }, /* @__PURE__ */ import_react56.default.createElement("div", { className: "hidden md:block md:w-1/2 relative min-h-screen overflow-hidden" }, /* @__PURE__ */ import_react56.default.createElement(
3075
3049
  import_image6.default,
3076
3050
  {
3077
3051
  src: imageSrc,
@@ -3081,7 +3055,7 @@ var ManagedNewsletterSplitBlock = ({
3081
3055
  className: "object-cover object-top grayscale opacity-60",
3082
3056
  quality: 100
3083
3057
  }
3084
- ), /* @__PURE__ */ import_react54.default.createElement(
3058
+ ), /* @__PURE__ */ import_react56.default.createElement(
3085
3059
  "div",
3086
3060
  {
3087
3061
  className: "absolute inset-0 z-10 pointer-events-none",
@@ -3089,7 +3063,7 @@ var ManagedNewsletterSplitBlock = ({
3089
3063
  background: "linear-gradient(to right, rgba(255,255,255,0) 30%, #ffffff 100%)"
3090
3064
  }
3091
3065
  }
3092
- ), /* @__PURE__ */ import_react54.default.createElement(
3066
+ ), /* @__PURE__ */ import_react56.default.createElement(
3093
3067
  "div",
3094
3068
  {
3095
3069
  className: "absolute inset-x-0 bottom-0 h-40 z-10 pointer-events-none",
@@ -3097,7 +3071,7 @@ var ManagedNewsletterSplitBlock = ({
3097
3071
  background: "linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffffff 100%)"
3098
3072
  }
3099
3073
  }
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(
3074
+ )), /* @__PURE__ */ import_react56.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_react56.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_react56.default.createElement(
3101
3075
  "div",
3102
3076
  {
3103
3077
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -3106,7 +3080,7 @@ var ManagedNewsletterSplitBlock = ({
3106
3080
  backgroundRepeat: "repeat"
3107
3081
  }
3108
3082
  }
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(
3083
+ ), /* @__PURE__ */ import_react56.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react56.default.createElement("div", { className: "mb-10 border-b border-neutral-100 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ import_react56.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 " }, tagline), /* @__PURE__ */ import_react56.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ import_react56.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, subtitle)), /* @__PURE__ */ import_react56.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-10 text-center md:text-left" }, description), children && /* @__PURE__ */ import_react56.default.createElement("div", { className: "mb-8 text-left" }, children), /* @__PURE__ */ import_react56.default.createElement("div", { className: "text-center md:text-left mt-10 space-y-6" }, dividerText && /* @__PURE__ */ import_react56.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react56.default.createElement("div", { className: "grow h-px bg-neutral-100" }), /* @__PURE__ */ import_react56.default.createElement("span", { className: "shrink mx-4 text-[11px] tracking-[0.2em] text-neutral-400 " }, dividerText), /* @__PURE__ */ import_react56.default.createElement("div", { className: "grow h-px bg-neutral-100" })), ctaText && ctaHref && /* @__PURE__ */ import_react56.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react56.default.createElement(
3110
3084
  ThreeDButton,
3111
3085
  {
3112
3086
  href: ctaHref,
@@ -3117,14 +3091,14 @@ var ManagedNewsletterSplitBlock = ({
3117
3091
  };
3118
3092
 
3119
3093
  // src/components/PortfolioHero.tsx
3120
- var import_react55 = __toESM(require("react"));
3121
- var import_link7 = __toESM(require("next/link"));
3094
+ var import_react57 = __toESM(require("react"));
3095
+ var import_link8 = __toESM(require("next/link"));
3122
3096
  var import_image7 = __toESM(require("next/image"));
3123
- var import_react56 = require("@hugeicons/react");
3097
+ var import_react58 = require("@hugeicons/react");
3124
3098
  var import_core_free_icons18 = require("@hugeicons/core-free-icons");
3125
3099
  var useScrollAnimation = () => {
3126
- const elementRef = (0, import_react55.useRef)(null);
3127
- (0, import_react55.useEffect)(() => {
3100
+ const elementRef = (0, import_react57.useRef)(null);
3101
+ (0, import_react57.useEffect)(() => {
3128
3102
  const el = elementRef.current;
3129
3103
  if (!el) return;
3130
3104
  const observer = new IntersectionObserver(
@@ -3160,13 +3134,13 @@ var PortfolioHero = ({
3160
3134
  secondaryCtaHref
3161
3135
  }) => {
3162
3136
  const heroContentRef = useScrollAnimation();
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(
3137
+ return /* @__PURE__ */ import_react57.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_react57.default.createElement(
3164
3138
  "div",
3165
3139
  {
3166
3140
  ref: heroContentRef,
3167
3141
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
3168
3142
  },
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(
3143
+ /* @__PURE__ */ import_react57.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ import_react57.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_react57.default.createElement(
3170
3144
  import_image7.default,
3171
3145
  {
3172
3146
  src: imageSrc,
@@ -3177,7 +3151,7 @@ var PortfolioHero = ({
3177
3151
  sizes: "(max-width: 640px) 80px, 128px",
3178
3152
  quality: 100
3179
3153
  }
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(
3154
+ )), /* @__PURE__ */ import_react57.default.createElement("div", { className: "flex flex-col text-left" }, /* @__PURE__ */ import_react57.default.createElement("h1", { className: " text-3xl sm:text-5xl lg:text-6xl tracking-tight text-black leading-none mb-3" }, name), socialLabel && /* @__PURE__ */ import_react57.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, socialLabel), socialLinkText && socialLinkHref && /* @__PURE__ */ import_react57.default.createElement(
3181
3155
  "a",
3182
3156
  {
3183
3157
  href: socialLinkHref,
@@ -3187,30 +3161,30 @@ var PortfolioHero = ({
3187
3161
  },
3188
3162
  socialLinkText
3189
3163
  ))),
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(
3164
+ /* @__PURE__ */ import_react57.default.createElement("p", { className: "text-[13px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
3165
+ /* @__PURE__ */ import_react57.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 w-full sm:w-auto" }, primaryCtaText && primaryCtaHref && /* @__PURE__ */ import_react57.default.createElement("div", { className: "w-full sm:w-auto *:w-full" }, /* @__PURE__ */ import_react57.default.createElement(
3192
3166
  ThreeDButton,
3193
3167
  {
3194
3168
  href: primaryCtaHref,
3195
3169
  className: "py-3 tracking-widest text-[11px]"
3196
3170
  },
3197
3171
  primaryCtaText
3198
- )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react55.default.createElement(
3199
- import_link7.default,
3172
+ )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react57.default.createElement(
3173
+ import_link8.default,
3200
3174
  {
3201
3175
  href: secondaryCtaHref,
3202
3176
  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"
3203
3177
  },
3204
3178
  secondaryCtaText,
3205
- /* @__PURE__ */ import_react55.default.createElement(import_react56.HugeiconsIcon, { icon: import_core_free_icons18.ArrowRight01Icon, size: 16 })
3179
+ /* @__PURE__ */ import_react57.default.createElement(import_react58.HugeiconsIcon, { icon: import_core_free_icons18.ArrowRight01Icon, size: 16 })
3206
3180
  ))
3207
3181
  ));
3208
3182
  };
3209
3183
 
3210
3184
  // src/components/GifFeatureCard.tsx
3211
- var import_react57 = __toESM(require("react"));
3185
+ var import_react59 = __toESM(require("react"));
3212
3186
  var import_image8 = __toESM(require("next/image"));
3213
- var import_react58 = require("@hugeicons/react");
3187
+ var import_react60 = require("@hugeicons/react");
3214
3188
  var import_core_free_icons19 = require("@hugeicons/core-free-icons");
3215
3189
  var GifFeatureCard = ({
3216
3190
  gifSrc,
@@ -3219,20 +3193,20 @@ var GifFeatureCard = ({
3219
3193
  alt = "Feature animation",
3220
3194
  className = "aspect-video"
3221
3195
  }) => {
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,
3196
+ const [isLoading, setIsLoading] = (0, import_react59.useState)(true);
3197
+ return /* @__PURE__ */ import_react59.default.createElement("div", { className: `relative w-full bg-black overflow-hidden shadow-2xl ${className}` }, isLoading && /* @__PURE__ */ import_react59.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ import_react59.default.createElement(
3198
+ import_react60.HugeiconsIcon,
3225
3199
  {
3226
3200
  icon: import_core_free_icons19.Loading03Icon,
3227
3201
  size: 32,
3228
3202
  className: "animate-spin text-white"
3229
3203
  }
3230
- )), /* @__PURE__ */ import_react57.default.createElement(
3204
+ )), /* @__PURE__ */ import_react59.default.createElement(
3231
3205
  "div",
3232
3206
  {
3233
3207
  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"}`
3234
3208
  },
3235
- /* @__PURE__ */ import_react57.default.createElement(
3209
+ /* @__PURE__ */ import_react59.default.createElement(
3236
3210
  import_image8.default,
3237
3211
  {
3238
3212
  src: gifSrc,
@@ -3243,16 +3217,16 @@ var GifFeatureCard = ({
3243
3217
  className: "object-cover object-center pointer-events-none"
3244
3218
  }
3245
3219
  )
3246
- ), /* @__PURE__ */ import_react57.default.createElement(
3220
+ ), /* @__PURE__ */ import_react59.default.createElement(
3247
3221
  "div",
3248
3222
  {
3249
3223
  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"
3250
3224
  }
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)));
3225
+ ), /* @__PURE__ */ import_react59.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_react59.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_react59.default.createElement("p", { className: "text-[13px] sm:text-[15px] leading-relaxed text-neutral-300 max-w-2xl drop-shadow-sm" }, subtitle)));
3252
3226
  };
3253
3227
 
3254
3228
  // src/components/MedicalFeatureStatsBlock.tsx
3255
- var import_react59 = __toESM(require("react"));
3229
+ var import_react61 = __toESM(require("react"));
3256
3230
  var import_image9 = __toESM(require("next/image"));
3257
3231
  var MedicalFeatureStatsBlock = ({
3258
3232
  bottomHeadline,
@@ -3261,9 +3235,9 @@ var MedicalFeatureStatsBlock = ({
3261
3235
  trustText,
3262
3236
  stats
3263
3237
  }) => {
3264
- const [isAnimating, setIsAnimating] = (0, import_react59.useState)(false);
3265
- const titleRef = (0, import_react59.useRef)(null);
3266
- (0, import_react59.useEffect)(() => {
3238
+ const [isAnimating, setIsAnimating] = (0, import_react61.useState)(false);
3239
+ const titleRef = (0, import_react61.useRef)(null);
3240
+ (0, import_react61.useEffect)(() => {
3267
3241
  const observer = new IntersectionObserver(
3268
3242
  ([entry]) => {
3269
3243
  if (entry.isIntersecting) {
@@ -3281,7 +3255,7 @@ var MedicalFeatureStatsBlock = ({
3281
3255
  }
3282
3256
  return () => observer.disconnect();
3283
3257
  }, []);
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(
3258
+ return /* @__PURE__ */ import_react61.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ import_react61.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react61.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ import_react61.default.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ import_react61.default.createElement(
3285
3259
  "h2",
3286
3260
  {
3287
3261
  ref: titleRef,
@@ -3289,7 +3263,7 @@ var MedicalFeatureStatsBlock = ({
3289
3263
  style: isAnimating ? { animationIterationCount: 1 } : {}
3290
3264
  },
3291
3265
  bottomHeadline
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(
3266
+ ), /* @__PURE__ */ import_react61.default.createElement("p", { className: "text-[14px] leading-relaxed text-neutral-500" }, bottomDescription)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ import_react61.default.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ import_react61.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_react61.default.createElement(
3293
3267
  import_image9.default,
3294
3268
  {
3295
3269
  src,
@@ -3298,17 +3272,17 @@ var MedicalFeatureStatsBlock = ({
3298
3272
  sizes: "48px",
3299
3273
  className: "object-cover"
3300
3274
  }
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))))));
3275
+ )))), /* @__PURE__ */ import_react61.default.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ import_react61.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ import_react61.default.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ import_react61.default.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ import_react61.default.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ import_react61.default.createElement("h1", { className: "text-6xl gradient-text md:text-[80px] tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
3302
3276
  };
3303
3277
 
3304
3278
  // src/components/ConsultantShowcase.tsx
3305
- var import_react60 = __toESM(require("react"));
3279
+ var import_react62 = __toESM(require("react"));
3306
3280
  var import_image10 = __toESM(require("next/image"));
3307
- var import_react61 = require("@hugeicons/react");
3281
+ var import_react63 = require("@hugeicons/react");
3308
3282
  var import_core_free_icons20 = require("@hugeicons/core-free-icons");
3309
3283
  var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
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(
3284
+ const [isLoading, setIsLoading] = (0, import_react62.useState)(true);
3285
+ return /* @__PURE__ */ import_react62.default.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ import_react62.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_react62.default.createElement(import_react63.HugeiconsIcon, { icon: import_core_free_icons20.Loading03Icon, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ import_react62.default.createElement(
3312
3286
  import_image10.default,
3313
3287
  {
3314
3288
  src,
@@ -3327,9 +3301,9 @@ var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
3327
3301
  var ConsultantShowcase = ({
3328
3302
  profiles
3329
3303
  }) => {
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);
3304
+ const [currentIndex, setCurrentIndex] = (0, import_react62.useState)(0);
3305
+ const [touchStart, setTouchStart] = (0, import_react62.useState)(null);
3306
+ const [touchEnd, setTouchEnd] = (0, import_react62.useState)(null);
3333
3307
  const nextSlide = () => {
3334
3308
  setCurrentIndex((prev) => prev === profiles.length - 1 ? 0 : prev + 1);
3335
3309
  };
@@ -3354,7 +3328,7 @@ var ConsultantShowcase = ({
3354
3328
  }
3355
3329
  };
3356
3330
  if (!profiles || profiles.length === 0) return null;
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(
3331
+ return /* @__PURE__ */ import_react62.default.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react62.default.createElement(
3358
3332
  "div",
3359
3333
  {
3360
3334
  className: "relative w-full h-100 md:h-112.5 rounded-4xl overflow-hidden bg-neutral-900 group select-none",
@@ -3364,13 +3338,13 @@ var ConsultantShowcase = ({
3364
3338
  },
3365
3339
  profiles.map((profile, idx) => {
3366
3340
  const isActive = idx === currentIndex;
3367
- return /* @__PURE__ */ import_react60.default.createElement(
3341
+ return /* @__PURE__ */ import_react62.default.createElement(
3368
3342
  "div",
3369
3343
  {
3370
3344
  key: profile.id,
3371
3345
  className: `absolute inset-0 transition-opacity duration-700 ease-in-out ${isActive ? "opacity-100 z-10" : "opacity-0 z-0 pointer-events-none"}`
3372
3346
  },
3373
- /* @__PURE__ */ import_react60.default.createElement(
3347
+ /* @__PURE__ */ import_react62.default.createElement(
3374
3348
  ImageWithLoader,
3375
3349
  {
3376
3350
  src: profile.imageSrc,
@@ -3378,14 +3352,14 @@ var ConsultantShowcase = ({
3378
3352
  priority: idx === 0
3379
3353
  }
3380
3354
  ),
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)))
3355
+ /* @__PURE__ */ import_react62.default.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
3356
+ /* @__PURE__ */ import_react62.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" }),
3357
+ /* @__PURE__ */ import_react62.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_react62.default.createElement("h2", { className: "text-[29px] tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ import_react62.default.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[15px] text-white/80 tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ import_react62.default.createElement("p", { className: "text-[15px] text-white/80 tracking-wide mt-1" }, profile.description)))
3384
3358
  );
3385
3359
  }),
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(
3360
+ /* @__PURE__ */ import_react62.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" }),
3361
+ /* @__PURE__ */ import_react62.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" }),
3362
+ /* @__PURE__ */ import_react62.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_react62.default.createElement(
3389
3363
  "button",
3390
3364
  {
3391
3365
  key: idx,
@@ -3398,13 +3372,13 @@ var ConsultantShowcase = ({
3398
3372
  };
3399
3373
 
3400
3374
  // src/components/ContentGridBlock.tsx
3401
- var import_react62 = __toESM(require("react"));
3375
+ var import_react64 = __toESM(require("react"));
3402
3376
  var import_image11 = __toESM(require("next/image"));
3403
- var import_react63 = require("@hugeicons/react");
3377
+ var import_react65 = require("@hugeicons/react");
3404
3378
  var import_core_free_icons21 = require("@hugeicons/core-free-icons");
3405
3379
  var ImageWithLoader2 = ({ src, alt, className, sizes }) => {
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(
3380
+ const [isLoading, setIsLoading] = (0, import_react64.useState)(true);
3381
+ return /* @__PURE__ */ import_react64.default.createElement("div", { className: `relative overflow-hidden bg-neutral-100 ${className}` }, isLoading && /* @__PURE__ */ import_react64.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_react64.default.createElement(import_react65.HugeiconsIcon, { icon: import_core_free_icons21.Loading03Icon, size: 24, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ import_react64.default.createElement(
3408
3382
  import_image11.default,
3409
3383
  {
3410
3384
  src,
@@ -3426,30 +3400,30 @@ var ContentGridBlock = ({
3426
3400
  middleBottomCard,
3427
3401
  rightCards
3428
3402
  }) => {
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(
3403
+ return /* @__PURE__ */ import_react64.default.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ import_react64.default.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ import_react64.default.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ import_react64.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ import_react64.default.createElement("span", { className: "mb-auto text-[11px] text-neutral-200 tracking-widest" }, leftCard.tag), /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ import_react64.default.createElement("div", null, /* @__PURE__ */ import_react64.default.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[13px] text-neutral-300" }, leftCard.subtitle)), /* @__PURE__ */ import_react64.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react64.default.createElement(import_image11.default, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ import_react64.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ import_react64.default.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ import_react64.default.createElement(import_image11.default, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ import_react64.default.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ import_react64.default.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ import_react64.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_react64.default.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ import_react64.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ import_react64.default.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ import_react64.default.createElement("div", null, /* @__PURE__ */ import_react64.default.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ import_react64.default.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ import_react64.default.createElement(import_image11.default, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ import_react64.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[16px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ import_react64.default.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ import_react64.default.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ import_react64.default.createElement("div", { key: idx, className: "relative w-full h-80 text-white rounded-3xl overflow-hidden group" }, /* @__PURE__ */ import_react64.default.createElement(
3430
3404
  ImageWithLoader2,
3431
3405
  {
3432
3406
  src: card.bgImageSrc,
3433
3407
  alt: card.title,
3434
3408
  className: "absolute inset-0 w-full h-full"
3435
3409
  }
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)))))))));
3410
+ ), /* @__PURE__ */ import_react64.default.createElement("div", { className: "absolute inset-0 z-20 pointer-events-none" }), /* @__PURE__ */ import_react64.default.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ import_react64.default.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ import_react64.default.createElement("div", { className: "pt-3" }, /* @__PURE__ */ import_react64.default.createElement("h4", { className: "text-[15px] text-white tracking-wide" }, card.title), /* @__PURE__ */ import_react64.default.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
3437
3411
  };
3438
3412
 
3439
3413
  // src/components/ManagedProjectsBlock.tsx
3440
- var import_react64 = __toESM(require("react"));
3441
- var import_link8 = __toESM(require("next/link"));
3414
+ var import_react66 = __toESM(require("react"));
3415
+ var import_link9 = __toESM(require("next/link"));
3442
3416
  var GridSection = ({
3443
3417
  children,
3444
3418
  isLast = false,
3445
3419
  className = "py-8 md:py-10"
3446
- }) => /* @__PURE__ */ import_react64.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
3420
+ }) => /* @__PURE__ */ import_react66.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
3447
3421
  var ManagedProjectsBlock = ({
3448
3422
  tagline,
3449
3423
  title,
3450
3424
  projects
3451
3425
  }) => {
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(
3426
+ return /* @__PURE__ */ import_react66.default.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react66.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react66.default.createElement(
3453
3427
  "div",
3454
3428
  {
3455
3429
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -3458,10 +3432,10 @@ var ManagedProjectsBlock = ({
3458
3432
  backgroundRepeat: "repeat"
3459
3433
  }
3460
3434
  }
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) => {
3435
+ ), /* @__PURE__ */ import_react66.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react66.default.createElement(GridSection, null, tagline && /* @__PURE__ */ import_react66.default.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ import_react66.default.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
3462
3436
  const isLast = index === projects.length - 1;
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));
3437
+ const projectContent = /* @__PURE__ */ import_react66.default.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ import_react66.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_react66.default.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ import_react66.default.createElement("h2", { className: " text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ import_react66.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_react66.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_react66.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 shrink-0 " }, project.date)), /* @__PURE__ */ import_react66.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));
3438
+ return /* @__PURE__ */ import_react66.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_react66.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react66.default.createElement(import_link9.default, { href: project.link, className: "block outline-none" }, projectContent));
3465
3439
  }))));
3466
3440
  };
3467
3441
  // Annotate the CommonJS export names for ESM import in node:
@@ -3499,6 +3473,7 @@ var ManagedProjectsBlock = ({
3499
3473
  UniversalOrganizationPage,
3500
3474
  UniversalProfilePage,
3501
3475
  UniversalProfileSettings,
3476
+ UniversalSidebar,
3502
3477
  UniversalTransactionPage,
3503
3478
  UniversalWalletPage,
3504
3479
  WaitlistDialog