@retinalabsllc/zairusjs 9.0.50 → 9.0.60

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