@retinalabsllc/zairusjs 9.0.30 → 9.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -593,49 +593,206 @@ var Footer = ({
593
593
  };
594
594
 
595
595
  // src/components/MobileNav.tsx
596
- import React7 from "react";
596
+ import React8, { useState as useState5 } from "react";
597
597
  import Link4 from "next/link";
598
- import { usePathname as usePathname2 } from "next/navigation";
598
+ import { usePathname as usePathname2, useRouter } from "next/navigation";
599
+ import { HugeiconsIcon as HugeiconsIcon4 } from "@hugeicons/react";
600
+ import {
601
+ SidebarLeft01Icon,
602
+ ArrowLeft01Icon,
603
+ LogoutCircle02Icon,
604
+ Notification01Icon
605
+ } from "@hugeicons/core-free-icons";
606
+
607
+ // src/components/ConfirmationDialog.tsx
608
+ import React7 from "react";
599
609
  import { HugeiconsIcon as HugeiconsIcon3 } from "@hugeicons/react";
600
- var MobileNav = ({ items }) => {
610
+ import { Loading03Icon as Loading03Icon2 } from "@hugeicons/core-free-icons";
611
+ var ConfirmationDialog = ({
612
+ isOpen,
613
+ title,
614
+ message,
615
+ confirmText = "Confirm",
616
+ cancelText = "Cancel",
617
+ isProcessing = false,
618
+ isDestructive = true,
619
+ onClose,
620
+ onConfirm
621
+ }) => {
622
+ if (!isOpen) return null;
623
+ return /* @__PURE__ */ React7.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React7.createElement(
624
+ "div",
625
+ {
626
+ className: "absolute inset-0 bg-black/40 ",
627
+ onClick: () => !isProcessing && onClose()
628
+ }
629
+ ), /* @__PURE__ */ React7.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__ */ React7.createElement("div", { className: "p-6 pb-4 text-center w-full" }, /* @__PURE__ */ React7.createElement("h3", { className: "text-[17px] text-black tracking-tight mb-2" }, title), /* @__PURE__ */ React7.createElement("p", { className: "text-[12px] text-neutral-500 leading-relaxed px-2" }, message)), /* @__PURE__ */ React7.createElement("div", { className: "w-full flex" }, /* @__PURE__ */ React7.createElement(
630
+ "button",
631
+ {
632
+ onClick: onClose,
633
+ disabled: isProcessing,
634
+ className: "flex-1 py-4 text-[14px] text-neutral-500 hover:bg-neutral-50 transition-colors disabled:opacity-50 outline-none "
635
+ },
636
+ cancelText
637
+ ), /* @__PURE__ */ React7.createElement(
638
+ "button",
639
+ {
640
+ onClick: onConfirm,
641
+ disabled: isProcessing,
642
+ 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"}`
643
+ },
644
+ isProcessing ? /* @__PURE__ */ React7.createElement(HugeiconsIcon3, { icon: Loading03Icon2, className: "animate-spin", size: 18 }) : confirmText
645
+ ))));
646
+ };
647
+
648
+ // src/components/MobileNav.tsx
649
+ var MobileNav = ({
650
+ items,
651
+ web3Address,
652
+ web3Avatar,
653
+ userInitials = "U",
654
+ unreadCount = 0,
655
+ onOpenNotifications,
656
+ onLogout
657
+ }) => {
601
658
  const pathname = usePathname2();
659
+ const router = useRouter();
660
+ const [isCollapsed, setIsCollapsed] = useState5(false);
661
+ const [showLogoutDialog, setShowLogoutDialog] = useState5(false);
662
+ const [isLoggingOut, setIsLoggingOut] = useState5(false);
602
663
  if (!items || items.length === 0) return null;
603
- return /* @__PURE__ */ React7.createElement("div", { className: "fixed bottom-6 inset-x-0 z-100 flex justify-center pointer-events-none px-3 animate-in slide-in-from-bottom-8 fade-in duration-500" }, /* @__PURE__ */ React7.createElement("nav", { className: "pointer-events-auto w-full max-w-sm bg-white/80 backdrop-blur-xl shadow-[0_8px_30px_rgb(0,0,0,0.08)] rounded-full px-6 py-2.5 flex items-center justify-between" }, items.map((item) => {
604
- const isActive = item.href === "/" ? pathname === "/" : pathname?.startsWith(item.href);
605
- return /* @__PURE__ */ React7.createElement(
664
+ const isItemActive = (href) => {
665
+ if (href === "/" || href === "/app") {
666
+ return pathname === "/" || pathname === "/app";
667
+ }
668
+ return pathname?.startsWith(href);
669
+ };
670
+ const isChildRoute = pathname !== "/" && pathname !== "/app" && !items.some((item) => item.href === pathname);
671
+ const handleLogout = async () => {
672
+ setIsLoggingOut(true);
673
+ try {
674
+ if (onLogout) await onLogout();
675
+ } finally {
676
+ setIsLoggingOut(false);
677
+ setShowLogoutDialog(false);
678
+ }
679
+ };
680
+ const handleCopyWallet = () => {
681
+ if (web3Address) {
682
+ navigator.clipboard.writeText(web3Address);
683
+ }
684
+ };
685
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(
686
+ "aside",
687
+ {
688
+ 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"}`
689
+ },
690
+ /* @__PURE__ */ React8.createElement("div", { className: `p-5 flex items-center shrink-0 ${isCollapsed ? "justify-center" : "justify-start"}` }, /* @__PURE__ */ React8.createElement("div", { className: "flex items-center gap-3 w-full" }, /* @__PURE__ */ React8.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__ */ React8.createElement("img", { src: web3Avatar, alt: "Avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ React8.createElement("span", { className: "text-[12px] font-medium text-black uppercase" }, userInitials)), !isCollapsed && /* @__PURE__ */ React8.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React8.createElement("span", { className: "text-[14px] font-medium text-black truncate" }, "Aeona Profile"), web3Address && /* @__PURE__ */ React8.createElement(
691
+ "span",
692
+ {
693
+ onClick: handleCopyWallet,
694
+ className: "text-[10px] text-neutral-500 truncate cursor-pointer hover:text-black transition-colors"
695
+ },
696
+ web3Address
697
+ )))),
698
+ /* @__PURE__ */ React8.createElement("nav", { className: "flex-1 py-4 flex flex-col gap-2 px-3 overflow-y-auto custom-scrollbar" }, items.map((item) => {
699
+ const active = isItemActive(item.href);
700
+ return /* @__PURE__ */ React8.createElement(
701
+ Link4,
702
+ {
703
+ key: item.label,
704
+ href: item.href,
705
+ 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"}`,
706
+ title: isCollapsed ? item.label : void 0
707
+ },
708
+ /* @__PURE__ */ React8.createElement(
709
+ HugeiconsIcon4,
710
+ {
711
+ icon: item.icon,
712
+ size: 20,
713
+ className: `shrink-0 transition-colors ${active ? "text-black" : "text-neutral-400 group-hover:text-black"}`
714
+ }
715
+ ),
716
+ !isCollapsed && /* @__PURE__ */ React8.createElement("span", { className: `text-[13px] font-medium tracking-wide truncate ${active ? "text-black" : ""}` }, item.label)
717
+ );
718
+ })),
719
+ /* @__PURE__ */ React8.createElement("div", { className: "p-4 shrink-0 flex flex-col gap-2 border-t border-neutral-50" }, /* @__PURE__ */ React8.createElement(
720
+ "button",
721
+ {
722
+ onClick: () => setShowLogoutDialog(true),
723
+ 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" : ""}`,
724
+ title: isCollapsed ? "Log Out" : void 0
725
+ },
726
+ /* @__PURE__ */ React8.createElement(HugeiconsIcon4, { icon: LogoutCircle02Icon, size: 20, className: "shrink-0 transition-colors" }),
727
+ !isCollapsed && /* @__PURE__ */ React8.createElement("span", { className: "text-[13px] font-medium tracking-wide" }, "Log Out")
728
+ ), /* @__PURE__ */ React8.createElement(
729
+ "button",
730
+ {
731
+ onClick: () => setIsCollapsed(!isCollapsed),
732
+ 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" : ""}`
733
+ },
734
+ /* @__PURE__ */ React8.createElement(HugeiconsIcon4, { icon: SidebarLeft01Icon, size: 20, className: "shrink-0 transition-colors" }),
735
+ !isCollapsed && /* @__PURE__ */ React8.createElement("span", { className: "text-[13px] font-medium tracking-wide" }, "Collapse")
736
+ ))
737
+ ), /* @__PURE__ */ React8.createElement("div", { className: "md:hidden fixed top-3 inset-x-0 z-50 flex justify-center pointer-events-none px-2.5" }, /* @__PURE__ */ React8.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__ */ React8.createElement("div", { className: "flex items-center gap-2" }, isChildRoute && /* @__PURE__ */ React8.createElement(
738
+ "button",
739
+ {
740
+ onClick: () => router.back(),
741
+ 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"
742
+ },
743
+ /* @__PURE__ */ React8.createElement(HugeiconsIcon4, { icon: ArrowLeft01Icon, size: 16 })
744
+ ), web3Address && /* @__PURE__ */ React8.createElement(
745
+ "div",
746
+ {
747
+ onClick: handleCopyWallet,
748
+ 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"
749
+ },
750
+ web3Avatar ? /* @__PURE__ */ React8.createElement("img", { src: web3Avatar, alt: "Avatar", className: "w-6 h-6 rounded-full object-cover shrink-0" }) : /* @__PURE__ */ React8.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),
751
+ /* @__PURE__ */ React8.createElement("span", { className: "text-[12px] font-medium text-black truncate max-w-24 sm:max-w-40" }, web3Address)
752
+ )), /* @__PURE__ */ React8.createElement(
753
+ "button",
754
+ {
755
+ onClick: onOpenNotifications,
756
+ 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"
757
+ },
758
+ /* @__PURE__ */ React8.createElement(HugeiconsIcon4, { icon: Notification01Icon, size: 16 }),
759
+ unreadCount > 0 && /* @__PURE__ */ React8.createElement("span", { className: "absolute top-1 right-1.5 w-2 h-2 bg-blue-600 rounded-full border-2 border-white" })
760
+ ))), /* @__PURE__ */ React8.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__ */ React8.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) => {
761
+ const active = isItemActive(item.href);
762
+ return /* @__PURE__ */ React8.createElement(
606
763
  Link4,
607
764
  {
608
765
  key: item.label,
609
766
  href: item.href,
610
767
  className: "flex flex-col items-center justify-center gap-1 min-w-14 transition-transform active:scale-95 outline-none"
611
768
  },
612
- /* @__PURE__ */ React7.createElement("div", { className: `transition-colors duration-300 ${isActive ? "text-black" : "text-neutral-400 hover:text-neutral-600"}` }, /* @__PURE__ */ React7.createElement(
613
- HugeiconsIcon3,
614
- {
615
- icon: item.icon,
616
- size: 20
617
- }
618
- )),
619
- /* @__PURE__ */ React7.createElement(
620
- "span",
621
- {
622
- className: `text-[9px] tracking-wide transition-colors duration-300 ${isActive ? "text-black" : "text-neutral-400"}`
623
- },
624
- item.label
625
- )
769
+ /* @__PURE__ */ React8.createElement("div", { className: `transition-colors duration-300 ${active ? "text-black" : "text-neutral-400 hover:text-neutral-600"}` }, /* @__PURE__ */ React8.createElement(HugeiconsIcon4, { icon: item.icon, size: 20 })),
770
+ /* @__PURE__ */ React8.createElement("span", { className: `text-[9px] tracking-wide font-medium transition-colors duration-300 ${active ? "text-black" : "text-neutral-400"}` }, item.label)
626
771
  );
627
- })));
772
+ }))), /* @__PURE__ */ React8.createElement(
773
+ ConfirmationDialog,
774
+ {
775
+ isOpen: showLogoutDialog,
776
+ title: "Secure Logout",
777
+ message: "Are you sure you want to log out? You will need to authenticate to return.",
778
+ confirmText: "Log Out",
779
+ isDestructive: true,
780
+ isProcessing: isLoggingOut,
781
+ onClose: () => setShowLogoutDialog(false),
782
+ onConfirm: handleLogout
783
+ }
784
+ ));
628
785
  };
629
786
 
630
787
  // src/components/UniversalOrganizationPage.tsx
631
- import React11, { useState as useState6, useEffect as useEffect4 } from "react";
788
+ import React12, { useState as useState7, useEffect as useEffect4 } from "react";
632
789
  import toast2 from "react-hot-toast";
633
790
 
634
791
  // src/components/ManagedToaster.tsx
635
- import React8 from "react";
792
+ import React9 from "react";
636
793
  import { Toaster } from "react-hot-toast";
637
794
  var ManagedToaster = () => {
638
- return /* @__PURE__ */ React8.createElement(
795
+ return /* @__PURE__ */ React9.createElement(
639
796
  Toaster,
640
797
  {
641
798
  position: "top-right",
@@ -667,7 +824,7 @@ var ManagedToaster = () => {
667
824
  };
668
825
 
669
826
  // src/components/ReusableInputs.tsx
670
- import React9 from "react";
827
+ import React10 from "react";
671
828
  var TextInput = ({
672
829
  label,
673
830
  value,
@@ -678,7 +835,7 @@ var TextInput = ({
678
835
  readOnly,
679
836
  type = "text",
680
837
  onClick
681
- }) => /* @__PURE__ */ React9.createElement("div", { className: "space-y-2 flex-1 w-full", onClick }, label && /* @__PURE__ */ React9.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, label), /* @__PURE__ */ React9.createElement(
838
+ }) => /* @__PURE__ */ React10.createElement("div", { className: "space-y-2 flex-1 w-full", onClick }, label && /* @__PURE__ */ React10.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, label), /* @__PURE__ */ React10.createElement(
682
839
  "input",
683
840
  {
684
841
  type,
@@ -699,7 +856,7 @@ var NumberInput = ({
699
856
  placeholder,
700
857
  maxLength,
701
858
  disabled
702
- }) => /* @__PURE__ */ React9.createElement("div", { className: "space-y-2 flex-1 w-full" }, label && /* @__PURE__ */ React9.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, label), /* @__PURE__ */ React9.createElement(
859
+ }) => /* @__PURE__ */ React10.createElement("div", { className: "space-y-2 flex-1 w-full" }, label && /* @__PURE__ */ React10.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block " }, label), /* @__PURE__ */ React10.createElement(
703
860
  "input",
704
861
  {
705
862
  type: "text",
@@ -717,8 +874,8 @@ var NumberInput = ({
717
874
  ));
718
875
 
719
876
  // src/components/Banner.tsx
720
- import React10, { useState as useState5 } from "react";
721
- import { HugeiconsIcon as HugeiconsIcon4 } from "@hugeicons/react";
877
+ import React11, { useState as useState6 } from "react";
878
+ import { HugeiconsIcon as HugeiconsIcon5 } from "@hugeicons/react";
722
879
  import {
723
880
  Alert02Icon,
724
881
  CheckmarkBadge01Icon,
@@ -734,7 +891,7 @@ var Banner = ({
734
891
  onDismiss,
735
892
  action
736
893
  }) => {
737
- const [isVisible, setIsVisible] = useState5(true);
894
+ const [isVisible, setIsVisible] = useState6(true);
738
895
  if (!isVisible) return null;
739
896
  const handleDismiss = () => {
740
897
  setIsVisible(false);
@@ -768,23 +925,23 @@ var Banner = ({
768
925
  };
769
926
  const currentConfig = config[type];
770
927
  const IconToUse = icon || currentConfig.defaultIcon;
771
- return /* @__PURE__ */ React10.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__ */ React10.createElement("div", { className: "flex-1 flex flex-col min-w-0" }, /* @__PURE__ */ React10.createElement("h4", { className: `text-sm tracking-tight mb-1 ${currentConfig.titleColor}` }, title), /* @__PURE__ */ React10.createElement("p", { className: `text-xs leading-relaxed ${currentConfig.msgColor}` }, message), action && /* @__PURE__ */ React10.createElement("div", { className: "mt-3" }, action)), isDismissible && /* @__PURE__ */ React10.createElement(
928
+ return /* @__PURE__ */ React11.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__ */ React11.createElement("div", { className: "flex-1 flex flex-col min-w-0" }, /* @__PURE__ */ React11.createElement("h4", { className: `text-sm tracking-tight mb-1 ${currentConfig.titleColor}` }, title), /* @__PURE__ */ React11.createElement("p", { className: `text-xs leading-relaxed ${currentConfig.msgColor}` }, message), action && /* @__PURE__ */ React11.createElement("div", { className: "mt-3" }, action)), isDismissible && /* @__PURE__ */ React11.createElement(
772
929
  "button",
773
930
  {
774
931
  onClick: handleDismiss,
775
932
  className: `absolute top-3 right-3 p-1.5 rounded-full transition-colors outline-none shrink-0 ${currentConfig.closeHover}`,
776
933
  "aria-label": "Dismiss banner"
777
934
  },
778
- /* @__PURE__ */ React10.createElement(HugeiconsIcon4, { icon: Cancel01Icon, size: 16 })
935
+ /* @__PURE__ */ React11.createElement(HugeiconsIcon5, { icon: Cancel01Icon, size: 16 })
779
936
  ));
780
937
  };
781
938
 
782
939
  // src/components/UniversalOrganizationPage.tsx
783
- import { HugeiconsIcon as HugeiconsIcon5 } from "@hugeicons/react";
940
+ import { HugeiconsIcon as HugeiconsIcon6 } from "@hugeicons/react";
784
941
  import {
785
942
  CircleLock02Icon
786
943
  } from "@hugeicons/core-free-icons";
787
- var InputSpinner2 = () => /* @__PURE__ */ React11.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__ */ React11.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React11.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" }));
944
+ var InputSpinner2 = () => /* @__PURE__ */ React12.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__ */ React12.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ React12.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" }));
788
945
  var UniversalOrganizationPage = ({
789
946
  initialOrgName,
790
947
  initialSlug,
@@ -797,12 +954,12 @@ var UniversalOrganizationPage = ({
797
954
  onCheckSlugAvailability
798
955
  }) => {
799
956
  const resolvedInitialUsername = initialUsername || initialSlug;
800
- const [web3Name, setWeb3Name] = useState6(initialOrgName);
801
- const [username, setUsername] = useState6(resolvedInitialUsername);
802
- const [slug, setSlug] = useState6(initialSlug);
803
- const [isCheckingSlug, setIsCheckingSlug] = useState6(false);
804
- const [slugAvailable, setSlugAvailable] = useState6(null);
805
- const [isSubmitting, setIsSubmitting] = useState6(false);
957
+ const [web3Name, setWeb3Name] = useState7(initialOrgName);
958
+ const [username, setUsername] = useState7(resolvedInitialUsername);
959
+ const [slug, setSlug] = useState7(initialSlug);
960
+ const [isCheckingSlug, setIsCheckingSlug] = useState7(false);
961
+ const [slugAvailable, setSlugAvailable] = useState7(null);
962
+ const [isSubmitting, setIsSubmitting] = useState7(false);
806
963
  useEffect4(() => {
807
964
  setWeb3Name(initialOrgName || "");
808
965
  setSlug(initialSlug || "");
@@ -872,7 +1029,7 @@ var UniversalOrganizationPage = ({
872
1029
  };
873
1030
  const hasChanges = web3Name !== initialOrgName || slug !== initialSlug || username !== resolvedInitialUsername;
874
1031
  const isSaveDisabled = isSubmitting || isReadOnly || isCheckingSlug || !hasChanges || web3Name.length < 3 || slug.length < 3 || username.length < 3 || slug !== initialSlug && slugAvailable === false;
875
- return /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col gap-8 animate-in max-w-5xl rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React11.createElement(ManagedToaster, null), /* @__PURE__ */ React11.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Public Profile"), /* @__PURE__ */ React11.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your financial payment handle identifiers and global public cryptographic signature identity details.")), isReadOnly && /* @__PURE__ */ React11.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React11.createElement(HugeiconsIcon5, { icon: CircleLock02Icon, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ React11.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ React11.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React11.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ React11.createElement(
1032
+ return /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col gap-8 animate-in max-w-5xl rounded-2xl p-6 bg-white fade-in duration-300" }, /* @__PURE__ */ React12.createElement(ManagedToaster, null), /* @__PURE__ */ React12.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React12.createElement("div", null, /* @__PURE__ */ React12.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, "Public Profile"), /* @__PURE__ */ React12.createElement("p", { className: "text-xs text-neutral-500" }, "Manage your financial payment handle identifiers and global public cryptographic signature identity details.")), isReadOnly && /* @__PURE__ */ React12.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: CircleLock02Icon, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ React12.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ React12.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React12.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ React12.createElement(
876
1033
  TextInput,
877
1034
  {
878
1035
  label: "Display Name",
@@ -882,7 +1039,7 @@ var UniversalOrganizationPage = ({
882
1039
  placeholder: "Sovereign User",
883
1040
  maxLength: 50
884
1041
  }
885
- ), /* @__PURE__ */ React11.createElement(
1042
+ ), /* @__PURE__ */ React12.createElement(
886
1043
  TextInput,
887
1044
  {
888
1045
  label: "Digital Identity",
@@ -892,7 +1049,7 @@ var UniversalOrganizationPage = ({
892
1049
  placeholder: "sovereignuser",
893
1050
  maxLength: 30
894
1051
  }
895
- ), /* @__PURE__ */ React11.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ React11.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Wallet Username"), /* @__PURE__ */ React11.createElement("div", { className: "flex items-center relative w-full border-b border-neutral-100 focus-within:border-black transition-all duration-300" }, /* @__PURE__ */ React11.createElement(
1052
+ ), /* @__PURE__ */ React12.createElement("div", { className: "space-y-1.5 relative w-full" }, /* @__PURE__ */ React12.createElement("label", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block" }, "Wallet Username"), /* @__PURE__ */ React12.createElement("div", { className: "flex items-center relative w-full border-b border-neutral-100 focus-within:border-black transition-all duration-300" }, /* @__PURE__ */ React12.createElement(
896
1053
  "input",
897
1054
  {
898
1055
  type: "text",
@@ -904,7 +1061,7 @@ var UniversalOrganizationPage = ({
904
1061
  className: "w-full px-2 py-3 text-sm bg-transparent text-black outline-none disabled:opacity-50 disabled:cursor-not-allowed",
905
1062
  placeholder: "sovereign-user-handle"
906
1063
  }
907
- ), /* @__PURE__ */ React11.createElement("span", { className: "text-neutral-400 text-sm py-3 pr-8 shrink-0 whitespace-nowrap" }, slugPrefixUrl), /* @__PURE__ */ React11.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ React11.createElement(InputSpinner2, null), !isCheckingSlug && !isReadOnly && slug !== initialSlug && slug.length >= 3 && slugAvailable === false && /* @__PURE__ */ React11.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-red-100" }, /* @__PURE__ */ React11.createElement("svg", { className: "w-2 h-2 text-red-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React11.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__ */ React11.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ React11.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React11.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__ */ React11.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ React11.createElement(
1064
+ ), /* @__PURE__ */ React12.createElement("span", { className: "text-neutral-400 text-sm py-3 pr-8 shrink-0 whitespace-nowrap" }, slugPrefixUrl), /* @__PURE__ */ React12.createElement("div", { className: "absolute right-2 top-1/2 -translate-y-1/2" }, isCheckingSlug && /* @__PURE__ */ React12.createElement(InputSpinner2, null), !isCheckingSlug && !isReadOnly && slug !== initialSlug && slug.length >= 3 && slugAvailable === false && /* @__PURE__ */ React12.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-red-100" }, /* @__PURE__ */ React12.createElement("svg", { className: "w-2 h-2 text-red-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React12.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__ */ React12.createElement("span", { className: "inline-flex items-center justify-center w-4 h-4 rounded-full bg-green-100" }, /* @__PURE__ */ React12.createElement("svg", { className: "w-2 h-2 text-green-600", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React12.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__ */ React12.createElement("div", { className: "pt-8 mt-2 flex items-center gap-4" }, /* @__PURE__ */ React12.createElement(
908
1065
  ThreeDActionButton,
909
1066
  {
910
1067
  type: "submit",
@@ -913,7 +1070,7 @@ var UniversalOrganizationPage = ({
913
1070
  className: "min-w-32"
914
1071
  },
915
1072
  "Save Changes"
916
- ), hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ React11.createElement(
1073
+ ), hasChanges && !isSubmitting && !isReadOnly && /* @__PURE__ */ React12.createElement(
917
1074
  "button",
918
1075
  {
919
1076
  type: "button",
@@ -929,13 +1086,13 @@ var UniversalOrganizationPage = ({
929
1086
  };
930
1087
 
931
1088
  // src/components/UniversalProfileSettings.tsx
932
- import React12, { useState as useState7, useEffect as useEffect5 } from "react";
1089
+ import React13, { useState as useState8, useEffect as useEffect5 } from "react";
933
1090
  import toast3 from "react-hot-toast";
934
- import { HugeiconsIcon as HugeiconsIcon6 } from "@hugeicons/react";
1091
+ import { HugeiconsIcon as HugeiconsIcon7 } from "@hugeicons/react";
935
1092
  import {
936
1093
  CircleLock02Icon as CircleLock02Icon2,
937
1094
  CancelCircleIcon,
938
- Loading03Icon as Loading03Icon2,
1095
+ Loading03Icon as Loading03Icon3,
939
1096
  LockKeyIcon
940
1097
  } from "@hugeicons/core-free-icons";
941
1098
  var UniversalProfileSettings = ({
@@ -951,14 +1108,14 @@ var UniversalProfileSettings = ({
951
1108
  onSavePin,
952
1109
  onSaveProfile
953
1110
  }) => {
954
- const [firstName, setFirstName] = useState7(initialFirstName);
955
- const [lastName, setLastName] = useState7(initialLastName);
956
- const [isSubmitting, setIsSubmitting] = useState7(false);
957
- const [isPinModalOpen, setIsPinModalOpen] = useState7(false);
958
- const [oldPin, setOldPin] = useState7("");
959
- const [newPin, setNewPin] = useState7("");
960
- const [confirmPin, setConfirmPin] = useState7("");
961
- const [isPinSubmitting, setIsPinSubmitting] = useState7(false);
1111
+ const [firstName, setFirstName] = useState8(initialFirstName);
1112
+ const [lastName, setLastName] = useState8(initialLastName);
1113
+ const [isSubmitting, setIsSubmitting] = useState8(false);
1114
+ const [isPinModalOpen, setIsPinModalOpen] = useState8(false);
1115
+ const [oldPin, setOldPin] = useState8("");
1116
+ const [newPin, setNewPin] = useState8("");
1117
+ const [confirmPin, setConfirmPin] = useState8("");
1118
+ const [isPinSubmitting, setIsPinSubmitting] = useState8(false);
962
1119
  useEffect5(() => {
963
1120
  setFirstName(initialFirstName || "");
964
1121
  setLastName(initialLastName || "");
@@ -1025,7 +1182,7 @@ var UniversalProfileSettings = ({
1025
1182
  };
1026
1183
  const hasChanges = firstName !== initialFirstName || lastName !== initialLastName;
1027
1184
  const isSaveDisabled = isSubmitting || isReadOnly || !hasChanges || firstName.trim().length === 0 || lastName.trim().length === 0;
1028
- return /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col max-w-5xl rounded-2xl p-6 bg-white gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ React12.createElement(ManagedToaster, null), /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-3 sm:gap-4" }, /* @__PURE__ */ React12.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React12.createElement("h1", { className: "text-black text-xl mb-1 truncate tracking-tight" }, "Personal Settings"), /* @__PURE__ */ React12.createElement("p", { className: "text-xs text-neutral-500 truncate" }, "Manage your personal account profile.")), isReadOnly && /* @__PURE__ */ React12.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: CircleLock02Icon2, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ React12.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ React12.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React12.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col sm:flex-row gap-6" }, /* @__PURE__ */ React12.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React12.createElement(
1185
+ return /* @__PURE__ */ React13.createElement("div", { className: "flex flex-col max-w-5xl rounded-2xl p-6 bg-white gap-8 animate-in fade-in duration-300" }, /* @__PURE__ */ React13.createElement(ManagedToaster, null), /* @__PURE__ */ React13.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-3 sm:gap-4" }, /* @__PURE__ */ React13.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React13.createElement("h1", { className: "text-black text-xl mb-1 truncate tracking-tight" }, "Personal Settings"), /* @__PURE__ */ React13.createElement("p", { className: "text-xs text-neutral-500 truncate" }, "Manage your personal account profile.")), isReadOnly && /* @__PURE__ */ React13.createElement("span", { className: "p-2 w-9 h-9 bg-neutral-100 text-neutral-400 rounded-full shrink-0" }, /* @__PURE__ */ React13.createElement(HugeiconsIcon7, { icon: CircleLock02Icon2, size: 18, className: "text-current" }))), bannerProps && /* @__PURE__ */ React13.createElement(Banner, { ...bannerProps }), /* @__PURE__ */ React13.createElement("div", { className: "w-full max-w-5xl" }, /* @__PURE__ */ React13.createElement("form", { className: "flex flex-col gap-8", onSubmit: handleSave, autoComplete: "off" }, /* @__PURE__ */ React13.createElement("div", { className: "flex flex-col sm:flex-row gap-6" }, /* @__PURE__ */ React13.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React13.createElement(
1029
1186
  TextInput,
1030
1187
  {
1031
1188
  label: "First Name",
@@ -1034,7 +1191,7 @@ var UniversalProfileSettings = ({
1034
1191
  disabled: isReadOnly || isSubmitting,
1035
1192
  placeholder: "System"
1036
1193
  }
1037
- )), /* @__PURE__ */ React12.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React12.createElement(
1194
+ )), /* @__PURE__ */ React13.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React13.createElement(
1038
1195
  TextInput,
1039
1196
  {
1040
1197
  label: "Last Name",
@@ -1043,7 +1200,7 @@ var UniversalProfileSettings = ({
1043
1200
  disabled: isReadOnly || isSubmitting,
1044
1201
  placeholder: "Admin"
1045
1202
  }
1046
- ))), /* @__PURE__ */ React12.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ React12.createElement(
1203
+ ))), /* @__PURE__ */ React13.createElement("div", { className: "space-y-2 min-w-0" }, /* @__PURE__ */ React13.createElement(
1047
1204
  TextInput,
1048
1205
  {
1049
1206
  label: "Email ID",
@@ -1052,7 +1209,7 @@ var UniversalProfileSettings = ({
1052
1209
  },
1053
1210
  disabled: true
1054
1211
  }
1055
- ), /* @__PURE__ */ React12.createElement("p", { className: "text-[11px] text-neutral-500 mt-1 truncate" }, "To change your email address, please contact support.")), /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between pt-8 mt-2 gap-6 sm:gap-4" }, /* @__PURE__ */ React12.createElement("div", { className: "flex items-center gap-6 min-w-0" }, /* @__PURE__ */ React12.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React12.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate" }, "Account Status"), /* @__PURE__ */ React12.createElement("span", { className: "text-xs text-black block truncate" }, accountStatus)), /* @__PURE__ */ React12.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React12.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate" }, "Member Since"), /* @__PURE__ */ React12.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__ */ React12.createElement("div", { className: "min-w-0 pl-4" }, /* @__PURE__ */ React12.createElement(
1212
+ ), /* @__PURE__ */ React13.createElement("p", { className: "text-[11px] text-neutral-500 mt-1 truncate" }, "To change your email address, please contact support.")), /* @__PURE__ */ React13.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between pt-8 mt-2 gap-6 sm:gap-4" }, /* @__PURE__ */ React13.createElement("div", { className: "flex items-center gap-6 min-w-0" }, /* @__PURE__ */ React13.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React13.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate" }, "Account Status"), /* @__PURE__ */ React13.createElement("span", { className: "text-xs text-black block truncate" }, accountStatus)), /* @__PURE__ */ React13.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React13.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em] block truncate" }, "Member Since"), /* @__PURE__ */ React13.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__ */ React13.createElement("div", { className: "min-w-0 pl-4" }, /* @__PURE__ */ React13.createElement(
1056
1213
  "button",
1057
1214
  {
1058
1215
  type: "button",
@@ -1060,8 +1217,8 @@ var UniversalProfileSettings = ({
1060
1217
  "aria-label": "PIN Settings",
1061
1218
  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"
1062
1219
  },
1063
- /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: LockKeyIcon, size: 17, className: "text-black" })
1064
- ))), /* @__PURE__ */ React12.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__ */ React12.createElement(
1220
+ /* @__PURE__ */ React13.createElement(HugeiconsIcon7, { icon: LockKeyIcon, size: 17, className: "text-black" })
1221
+ ))), /* @__PURE__ */ React13.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__ */ React13.createElement(
1065
1222
  "button",
1066
1223
  {
1067
1224
  type: "button",
@@ -1072,7 +1229,7 @@ var UniversalProfileSettings = ({
1072
1229
  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"
1073
1230
  },
1074
1231
  "Cancel"
1075
- ), /* @__PURE__ */ React12.createElement(
1232
+ ), /* @__PURE__ */ React13.createElement(
1076
1233
  ThreeDActionButton,
1077
1234
  {
1078
1235
  type: "submit",
@@ -1081,7 +1238,7 @@ var UniversalProfileSettings = ({
1081
1238
  className: "min-w-32 w-full sm:w-auto"
1082
1239
  },
1083
1240
  "Save Changes"
1084
- ))))), isPinModalOpen && /* @__PURE__ */ React12.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React12.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePinModal }), /* @__PURE__ */ React12.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__ */ React12.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React12.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, hasPin ? "Change PIN" : "Create PIN"), /* @__PURE__ */ React12.createElement("button", { onClick: closePinModal, disabled: isPinSubmitting, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: CancelCircleIcon, size: 18 }))), /* @__PURE__ */ React12.createElement("div", { className: "p-6" }, isPinLoading ? /* @__PURE__ */ React12.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ React12.createElement(HugeiconsIcon6, { icon: Loading03Icon2, size: 28, className: "animate-spin text-neutral-400 mb-4" })) : /* @__PURE__ */ React12.createElement("form", { onSubmit: handlePinSubmit, className: "flex flex-col gap-6" }, hasPin && /* @__PURE__ */ React12.createElement(
1241
+ ))))), isPinModalOpen && /* @__PURE__ */ React13.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React13.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePinModal }), /* @__PURE__ */ React13.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__ */ React13.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React13.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, hasPin ? "Change PIN" : "Create PIN"), /* @__PURE__ */ React13.createElement("button", { onClick: closePinModal, disabled: isPinSubmitting, className: "text-neutral-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React13.createElement(HugeiconsIcon7, { icon: CancelCircleIcon, size: 18 }))), /* @__PURE__ */ React13.createElement("div", { className: "p-6" }, isPinLoading ? /* @__PURE__ */ React13.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ React13.createElement(HugeiconsIcon7, { icon: Loading03Icon3, size: 28, className: "animate-spin text-neutral-400 mb-4" })) : /* @__PURE__ */ React13.createElement("form", { onSubmit: handlePinSubmit, className: "flex flex-col gap-6" }, hasPin && /* @__PURE__ */ React13.createElement(
1085
1242
  TextInput,
1086
1243
  {
1087
1244
  type: "password",
@@ -1092,7 +1249,7 @@ var UniversalProfileSettings = ({
1092
1249
  onChange: (val) => handlePinInput(val, setOldPin),
1093
1250
  placeholder: "\u2022\u2022\u2022\u2022"
1094
1251
  }
1095
- ), /* @__PURE__ */ React12.createElement(
1252
+ ), /* @__PURE__ */ React13.createElement(
1096
1253
  TextInput,
1097
1254
  {
1098
1255
  type: "password",
@@ -1103,7 +1260,7 @@ var UniversalProfileSettings = ({
1103
1260
  onChange: (val) => handlePinInput(val, setNewPin),
1104
1261
  placeholder: "\u2022\u2022\u2022\u2022"
1105
1262
  }
1106
- ), /* @__PURE__ */ React12.createElement(
1263
+ ), /* @__PURE__ */ React13.createElement(
1107
1264
  TextInput,
1108
1265
  {
1109
1266
  type: "password",
@@ -1114,7 +1271,7 @@ var UniversalProfileSettings = ({
1114
1271
  onChange: (val) => handlePinInput(val, setConfirmPin),
1115
1272
  placeholder: "\u2022\u2022\u2022\u2022"
1116
1273
  }
1117
- ), /* @__PURE__ */ React12.createElement("div", { className: "pt-2" }, /* @__PURE__ */ React12.createElement(
1274
+ ), /* @__PURE__ */ React13.createElement("div", { className: "pt-2" }, /* @__PURE__ */ React13.createElement(
1118
1275
  ThreeDActionButton,
1119
1276
  {
1120
1277
  type: "submit",
@@ -1127,14 +1284,14 @@ var UniversalProfileSettings = ({
1127
1284
  };
1128
1285
 
1129
1286
  // src/components/UniversalErrorView.tsx
1130
- import React14 from "react";
1131
- import { HugeiconsIcon as HugeiconsIcon8 } from "@hugeicons/react";
1287
+ import React15 from "react";
1288
+ import { HugeiconsIcon as HugeiconsIcon9 } from "@hugeicons/react";
1132
1289
  import { ConfusedIcon } from "@hugeicons/core-free-icons";
1133
1290
 
1134
1291
  // src/components/PageSpinner.tsx
1135
- import React13 from "react";
1136
- import { HugeiconsIcon as HugeiconsIcon7 } from "@hugeicons/react";
1137
- import { Loading03Icon as Loading03Icon3 } from "@hugeicons/core-free-icons";
1292
+ import React14 from "react";
1293
+ import { HugeiconsIcon as HugeiconsIcon8 } from "@hugeicons/react";
1294
+ import { Loading03Icon as Loading03Icon4 } from "@hugeicons/core-free-icons";
1138
1295
  var PageSpinner = ({
1139
1296
  className = "",
1140
1297
  iconClassName = "text-black",
@@ -1142,10 +1299,10 @@ var PageSpinner = ({
1142
1299
  }) => {
1143
1300
  return (
1144
1301
  // z-[100] ensures it sits above absolute headers and modals
1145
- /* @__PURE__ */ React13.createElement("div", { className: `fixed inset-0 z-100 flex flex-col items-center justify-center w-full h-full pointer-events-none ${className}` }, /* @__PURE__ */ React13.createElement(
1146
- HugeiconsIcon7,
1302
+ /* @__PURE__ */ React14.createElement("div", { className: `fixed inset-0 z-100 flex flex-col items-center justify-center w-full h-full pointer-events-none ${className}` }, /* @__PURE__ */ React14.createElement(
1303
+ HugeiconsIcon8,
1147
1304
  {
1148
- icon: Loading03Icon3,
1305
+ icon: Loading03Icon4,
1149
1306
  size,
1150
1307
  className: `animate-spin mb-4 ${iconClassName}`
1151
1308
  }
@@ -1165,7 +1322,7 @@ var UniversalErrorView = ({
1165
1322
  returnLabel = "Return to Workspace"
1166
1323
  }) => {
1167
1324
  if (isBooting || isLoading && !activeData) {
1168
- return /* @__PURE__ */ React14.createElement("div", { className: "flex items-center justify-center h-screen w-full bg-white" }, /* @__PURE__ */ React14.createElement(PageSpinner, null));
1325
+ return /* @__PURE__ */ React15.createElement("div", { className: "flex items-center justify-center h-screen w-full bg-white" }, /* @__PURE__ */ React15.createElement(PageSpinner, null));
1169
1326
  }
1170
1327
  if (!isLoading && (!activeData || activeError)) {
1171
1328
  const errorString = typeof activeError === "string" ? activeError : JSON.stringify(activeError || "");
@@ -1184,7 +1341,7 @@ var UniversalErrorView = ({
1184
1341
  title = "Access Restricted";
1185
1342
  description = apiMessage || `You have insufficient permissions to view this ${envName}. Please contact your administrator.`;
1186
1343
  }
1187
- return /* @__PURE__ */ React14.createElement("div", { className: "flex flex-col items-center justify-center h-screen w-full px-4 animate-in fade-in duration-500" }, /* @__PURE__ */ React14.createElement("div", { className: "mb-4 flex justify-center" }, /* @__PURE__ */ React14.createElement(HugeiconsIcon8, { icon: IconComponent, size: 48, className: "text-neutral-300" })), /* @__PURE__ */ React14.createElement("h2", { className: "text-lg text-black tracking-tight " }, title), /* @__PURE__ */ React14.createElement("p", { className: "text-xs mt-2 mb-8 text-neutral-500 max-w-sm text-center leading-relaxed" }, description), /* @__PURE__ */ React14.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 w-full justify-center sm:w-auto" }, isNotFoundError || isPermissionError ? /* @__PURE__ */ React14.createElement(
1344
+ return /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col items-center justify-center h-screen w-full px-4 animate-in fade-in duration-500" }, /* @__PURE__ */ React15.createElement("div", { className: "mb-4 flex justify-center" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: IconComponent, size: 48, className: "text-neutral-300" })), /* @__PURE__ */ React15.createElement("h2", { className: "text-lg text-black tracking-tight " }, title), /* @__PURE__ */ React15.createElement("p", { className: "text-xs mt-2 mb-8 text-neutral-500 max-w-sm text-center leading-relaxed" }, description), /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 w-full justify-center sm:w-auto" }, isNotFoundError || isPermissionError ? /* @__PURE__ */ React15.createElement(
1188
1345
  "button",
1189
1346
  {
1190
1347
  onClick: () => window.location.href = returnUrl,
@@ -1193,14 +1350,14 @@ var UniversalErrorView = ({
1193
1350
  returnLabel
1194
1351
  ) : (
1195
1352
  // Soft errors (Network timeouts) allow them to retry or optionally retreat
1196
- /* @__PURE__ */ React14.createElement(React14.Fragment, null, envName.toLowerCase().includes("application") && /* @__PURE__ */ React14.createElement(
1353
+ /* @__PURE__ */ React15.createElement(React15.Fragment, null, envName.toLowerCase().includes("application") && /* @__PURE__ */ React15.createElement(
1197
1354
  "button",
1198
1355
  {
1199
1356
  onClick: () => window.location.href = returnUrl,
1200
1357
  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 "
1201
1358
  },
1202
1359
  "Back Home"
1203
- ), /* @__PURE__ */ React14.createElement(
1360
+ ), /* @__PURE__ */ React15.createElement(
1204
1361
  "button",
1205
1362
  {
1206
1363
  onClick: onRetry,
@@ -1215,13 +1372,13 @@ var UniversalErrorView = ({
1215
1372
  };
1216
1373
 
1217
1374
  // src/components/UniversalTransactionPage.tsx
1218
- import React15, { useState as useState8, useEffect as useEffect6, useRef as useRef3 } from "react";
1219
- import { HugeiconsIcon as HugeiconsIcon9 } from "@hugeicons/react";
1375
+ import React16, { useState as useState9, useEffect as useEffect6, useRef as useRef3 } from "react";
1376
+ import { HugeiconsIcon as HugeiconsIcon10 } from "@hugeicons/react";
1220
1377
  import toast4 from "react-hot-toast";
1221
1378
  import {
1222
- ArrowLeft01Icon,
1379
+ ArrowLeft01Icon as ArrowLeft01Icon2,
1223
1380
  ArrowRight01Icon,
1224
- Loading03Icon as Loading03Icon4,
1381
+ Loading03Icon as Loading03Icon5,
1225
1382
  ArrowDownRight01Icon,
1226
1383
  ArrowUpRight01Icon,
1227
1384
  Search01Icon,
@@ -1229,7 +1386,7 @@ import {
1229
1386
  ListSettingIcon,
1230
1387
  CancelCircleIcon as CancelCircleIcon2
1231
1388
  } from "@hugeicons/core-free-icons";
1232
- var PageSpinner2 = () => /* @__PURE__ */ React15.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: Loading03Icon4, size: 32, className: "animate-spin mb-4 text-black" }));
1389
+ var PageSpinner2 = () => /* @__PURE__ */ React16.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: Loading03Icon5, size: 32, className: "animate-spin mb-4 text-black" }));
1233
1390
  var formatDate = (dateInput) => {
1234
1391
  const d = new Date(dateInput);
1235
1392
  const day = d.getDate();
@@ -1264,12 +1421,12 @@ var UniversalTransactionPage = ({
1264
1421
  onReportTransaction,
1265
1422
  onGenerateReceipt
1266
1423
  }) => {
1267
- const [selectedTransaction, setSelectedTransaction] = useState8(null);
1268
- const [isGeneratingReceipt, setIsGeneratingReceipt] = useState8(false);
1269
- const [localSearchQuery, setLocalSearchQuery] = useState8(searchQuery);
1270
- const [isTyping, setIsTyping] = useState8(false);
1271
- const [isDirectionModalOpen, setIsDirectionModalOpen] = useState8(false);
1272
- const [isTypeModalOpen, setIsTypeModalOpen] = useState8(false);
1424
+ const [selectedTransaction, setSelectedTransaction] = useState9(null);
1425
+ const [isGeneratingReceipt, setIsGeneratingReceipt] = useState9(false);
1426
+ const [localSearchQuery, setLocalSearchQuery] = useState9(searchQuery);
1427
+ const [isTyping, setIsTyping] = useState9(false);
1428
+ const [isDirectionModalOpen, setIsDirectionModalOpen] = useState9(false);
1429
+ const [isTypeModalOpen, setIsTypeModalOpen] = useState9(false);
1273
1430
  const directionDropdownRef = useRef3(null);
1274
1431
  const typeDropdownRef = useRef3(null);
1275
1432
  useEffect6(() => {
@@ -1315,7 +1472,7 @@ var UniversalTransactionPage = ({
1315
1472
  }
1316
1473
  };
1317
1474
  const isListLoading = isLoading || isTyping;
1318
- return /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, /* @__PURE__ */ React15.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React15.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ React15.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React15.createElement(
1475
+ return /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, /* @__PURE__ */ React16.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React16.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ React16.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React16.createElement(
1319
1476
  "input",
1320
1477
  {
1321
1478
  type: "text",
@@ -1324,53 +1481,53 @@ var UniversalTransactionPage = ({
1324
1481
  onChange: (e) => setLocalSearchQuery(e.target.value),
1325
1482
  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"
1326
1483
  }
1327
- )), /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-3 w-auto pb-0" }, /* @__PURE__ */ React15.createElement(
1484
+ )), /* @__PURE__ */ React16.createElement("div", { className: "flex items-center gap-3 w-auto pb-0" }, /* @__PURE__ */ React16.createElement(
1328
1485
  "button",
1329
1486
  {
1330
1487
  onClick: () => setIsDirectionModalOpen(true),
1331
1488
  "aria-label": "Filter by payment type",
1332
1489
  className: "flex items-center justify-center bg-white w-10 h-10 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
1333
1490
  },
1334
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: SearchList02Icon, size: 16 })
1335
- ), /* @__PURE__ */ React15.createElement(
1491
+ /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: SearchList02Icon, size: 16 })
1492
+ ), /* @__PURE__ */ React16.createElement(
1336
1493
  "button",
1337
1494
  {
1338
1495
  onClick: () => setIsTypeModalOpen(true),
1339
1496
  "aria-label": "Filter by transaction type",
1340
1497
  className: "flex items-center justify-center bg-white w-10 h-10 rounded-full text-neutral-500 hover:text-black transition-colors outline-none"
1341
1498
  },
1342
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: ListSettingIcon, size: 16 })
1343
- ))), /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React15.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React15.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ React15.createElement(PageSpinner2, null) : /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React15.createElement("div", null, transactions.length === 0 ? /* @__PURE__ */ React15.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No transactions found") : transactions.map((tx) => /* @__PURE__ */ React15.createElement(
1499
+ /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: ListSettingIcon, size: 16 })
1500
+ ))), /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React16.createElement("div", null, /* @__PURE__ */ React16.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React16.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React16.createElement("div", { className: "w-full overflow-hidden" }, isListLoading ? /* @__PURE__ */ React16.createElement(PageSpinner2, null) : /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React16.createElement("div", null, transactions.length === 0 ? /* @__PURE__ */ React16.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No transactions found") : transactions.map((tx) => /* @__PURE__ */ React16.createElement(
1344
1501
  "div",
1345
1502
  {
1346
1503
  key: tx.id,
1347
1504
  onClick: () => setSelectedTransaction(tx),
1348
1505
  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"
1349
1506
  },
1350
- /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React15.createElement("div", { className: `w-10 h-10 shrink-0 rounded-full flex items-center justify-center bg-neutral-100 text-black` }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: tx.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 18 })), /* @__PURE__ */ React15.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React15.createElement("p", { className: "text-[13px] text-black truncate" }, getDisplayName(tx)), /* @__PURE__ */ React15.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))),
1351
- /* @__PURE__ */ React15.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] text-neutral-400" }, formatDate(tx.createdAt)), /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] text-neutral-400 capitalize" }, tx.direction.toLowerCase()))
1352
- ))), !hidePagination && /* @__PURE__ */ React15.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React15.createElement(
1507
+ /* @__PURE__ */ React16.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React16.createElement("div", { className: `w-10 h-10 shrink-0 rounded-full flex items-center justify-center bg-neutral-100 text-black` }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: tx.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 18 })), /* @__PURE__ */ React16.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React16.createElement("p", { className: "text-[13px] text-black truncate" }, getDisplayName(tx)), /* @__PURE__ */ React16.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))),
1508
+ /* @__PURE__ */ React16.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] text-neutral-400" }, formatDate(tx.createdAt)), /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] text-neutral-400 capitalize" }, tx.direction.toLowerCase()))
1509
+ ))), !hidePagination && /* @__PURE__ */ React16.createElement("div", { className: "flex items-center justify-between pt-6 mt-2 " }, /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] text-neutral-400 tracking-[0.2em]" }, "Page ", currentPage, " of ", totalPages === 0 ? 1 : totalPages), /* @__PURE__ */ React16.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React16.createElement(
1353
1510
  "button",
1354
1511
  {
1355
1512
  onClick: () => onPageChange(currentPage - 1),
1356
1513
  disabled: currentPage <= 1 || isListLoading,
1357
1514
  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"
1358
1515
  },
1359
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: ArrowLeft01Icon, size: 14 })
1360
- ), /* @__PURE__ */ React15.createElement(
1516
+ /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: ArrowLeft01Icon2, size: 14 })
1517
+ ), /* @__PURE__ */ React16.createElement(
1361
1518
  "button",
1362
1519
  {
1363
1520
  onClick: () => onPageChange(currentPage + 1),
1364
1521
  disabled: currentPage >= totalPages || isListLoading || totalPages === 0,
1365
1522
  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"
1366
1523
  },
1367
- /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: ArrowRight01Icon, size: 14 })
1368
- )))))), selectedTransaction && /* @__PURE__ */ React15.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React15.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ React15.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__ */ React15.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React15.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Details"), /* @__PURE__ */ React15.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: CancelCircleIcon2, size: 18 }))), /* @__PURE__ */ React15.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ React15.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 bg-neutral-100 text-black` }, /* @__PURE__ */ React15.createElement(HugeiconsIcon9, { icon: selectedTransaction.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ React15.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__ */ React15.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full bg-neutral-50" }, selectedTransaction.status)), /* @__PURE__ */ React15.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black break-all" }, selectedTransaction.reference)), /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Date & Time"), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black" }, formatDate(selectedTransaction.createdAt), " at ", formatTime(selectedTransaction.createdAt))), /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transaction Type"), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.type.replace("_", " ").toLowerCase())), /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Flow Direction"), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.direction.toLowerCase())), selectedTransaction.metadata?.fromAddress && selectedTransaction.metadata?.toAddress && /* @__PURE__ */ React15.createElement("div", null, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transfer Route"), /* @__PURE__ */ React15.createElement("div", { className: "flex items-center gap-2 text-[13px] text-black" }, /* @__PURE__ */ React15.createElement("span", { className: "truncate " }, truncateAddress(String(selectedTransaction.metadata.fromAddress))), /* @__PURE__ */ React15.createElement("span", { className: "text-neutral-400" }, "\u2192"), /* @__PURE__ */ React15.createElement("span", { className: "truncate " }, truncateAddress(String(selectedTransaction.metadata.toAddress))))), selectedTransaction.metadata && Object.entries(selectedTransaction.metadata).map(([key, value]) => {
1524
+ /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: ArrowRight01Icon, size: 14 })
1525
+ )))))), selectedTransaction && /* @__PURE__ */ React16.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React16.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ React16.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__ */ React16.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React16.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Details"), /* @__PURE__ */ React16.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: CancelCircleIcon2, size: 18 }))), /* @__PURE__ */ React16.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ React16.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 bg-neutral-100 text-black` }, /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: selectedTransaction.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ React16.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__ */ React16.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full bg-neutral-50" }, selectedTransaction.status)), /* @__PURE__ */ React16.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ React16.createElement("div", null, /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ React16.createElement("span", { className: "text-[13px] text-black break-all" }, selectedTransaction.reference)), /* @__PURE__ */ React16.createElement("div", null, /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Date & Time"), /* @__PURE__ */ React16.createElement("span", { className: "text-[13px] text-black" }, formatDate(selectedTransaction.createdAt), " at ", formatTime(selectedTransaction.createdAt))), /* @__PURE__ */ React16.createElement("div", null, /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transaction Type"), /* @__PURE__ */ React16.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.type.replace("_", " ").toLowerCase())), /* @__PURE__ */ React16.createElement("div", null, /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Flow Direction"), /* @__PURE__ */ React16.createElement("span", { className: "text-[13px] text-black capitalize" }, selectedTransaction.direction.toLowerCase())), selectedTransaction.metadata?.fromAddress && selectedTransaction.metadata?.toAddress && /* @__PURE__ */ React16.createElement("div", null, /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Transfer Route"), /* @__PURE__ */ React16.createElement("div", { className: "flex items-center gap-2 text-[13px] text-black" }, /* @__PURE__ */ React16.createElement("span", { className: "truncate " }, truncateAddress(String(selectedTransaction.metadata.fromAddress))), /* @__PURE__ */ React16.createElement("span", { className: "text-neutral-400" }, "\u2192"), /* @__PURE__ */ React16.createElement("span", { className: "truncate " }, truncateAddress(String(selectedTransaction.metadata.toAddress))))), selectedTransaction.metadata && Object.entries(selectedTransaction.metadata).map(([key, value]) => {
1369
1526
  if (key === "fromAddress" || key === "toAddress") return null;
1370
1527
  if (value === null || value === void 0 || typeof value === "object") return null;
1371
1528
  const formattedKey = key.replace(/([A-Z])/g, " $1").replace(/^./, (str) => str.toUpperCase());
1372
- return /* @__PURE__ */ React15.createElement("div", { key }, /* @__PURE__ */ React15.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, formattedKey), /* @__PURE__ */ React15.createElement("span", { className: "text-[13px] text-black break-all" }, String(value)));
1373
- })), /* @__PURE__ */ React15.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React15.createElement(
1529
+ return /* @__PURE__ */ React16.createElement("div", { key }, /* @__PURE__ */ React16.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, formattedKey), /* @__PURE__ */ React16.createElement("span", { className: "text-[13px] text-black break-all" }, String(value)));
1530
+ })), /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React16.createElement(
1374
1531
  ThreeDActionButton,
1375
1532
  {
1376
1533
  onClick: handleGenerateReceipt,
@@ -1378,14 +1535,14 @@ var UniversalTransactionPage = ({
1378
1535
  className: "w-full py-3 text-[14px]"
1379
1536
  },
1380
1537
  "Generate Receipt"
1381
- ), /* @__PURE__ */ React15.createElement(
1538
+ ), /* @__PURE__ */ React16.createElement(
1382
1539
  "button",
1383
1540
  {
1384
1541
  onClick: () => onReportTransaction && onReportTransaction(selectedTransaction),
1385
1542
  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"
1386
1543
  },
1387
1544
  "Report Transaction"
1388
- ), selectedTransaction.type === "WALLET_TRANSACTION" && /* @__PURE__ */ React15.createElement(
1545
+ ), selectedTransaction.type === "WALLET_TRANSACTION" && /* @__PURE__ */ React16.createElement(
1389
1546
  "a",
1390
1547
  {
1391
1548
  href: `https://basescan.org/tx/${selectedTransaction.reference}`,
@@ -1394,7 +1551,7 @@ var UniversalTransactionPage = ({
1394
1551
  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"
1395
1552
  },
1396
1553
  "View in block explorer"
1397
- ))))), isDirectionModalOpen && /* @__PURE__ */ React15.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React15.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ React15.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__ */ React15.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React15.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Payment Type")), /* @__PURE__ */ React15.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "CREDIT", "DEBIT"].map((option) => /* @__PURE__ */ React15.createElement(
1554
+ ))))), isDirectionModalOpen && /* @__PURE__ */ React16.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React16.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsDirectionModalOpen(false) }), /* @__PURE__ */ React16.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__ */ React16.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React16.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Payment Type")), /* @__PURE__ */ React16.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, ["ALL", "CREDIT", "DEBIT"].map((option) => /* @__PURE__ */ React16.createElement(
1398
1555
  "button",
1399
1556
  {
1400
1557
  key: option,
@@ -1404,19 +1561,19 @@ var UniversalTransactionPage = ({
1404
1561
  },
1405
1562
  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"}`
1406
1563
  },
1407
- /* @__PURE__ */ React15.createElement("span", { className: "truncate pr-2" }, option.charAt(0).toUpperCase() + option.slice(1).toLowerCase())
1408
- ))), /* @__PURE__ */ React15.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ React15.createElement(
1564
+ /* @__PURE__ */ React16.createElement("span", { className: "truncate pr-2" }, option.charAt(0).toUpperCase() + option.slice(1).toLowerCase())
1565
+ ))), /* @__PURE__ */ React16.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ React16.createElement(
1409
1566
  "button",
1410
1567
  {
1411
1568
  onClick: () => setIsDirectionModalOpen(false),
1412
1569
  className: "w-full py-4 text-[13px] text-neutral-500 hover:text-black transition-colors outline-none "
1413
1570
  },
1414
1571
  "Cancel"
1415
- )))), isTypeModalOpen && /* @__PURE__ */ React15.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React15.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ React15.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__ */ React15.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React15.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Transactions Type")), /* @__PURE__ */ React15.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, [
1572
+ )))), isTypeModalOpen && /* @__PURE__ */ React16.createElement("div", { className: "fixed inset-0 z-110 flex items-center justify-center p-4" }, /* @__PURE__ */ React16.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setIsTypeModalOpen(false) }), /* @__PURE__ */ React16.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__ */ React16.createElement("div", { className: "p-6 text-center w-full mb-2" }, /* @__PURE__ */ React16.createElement("h3", { className: "text-[14px] text-black tracking-tight" }, "Transactions Type")), /* @__PURE__ */ React16.createElement("div", { className: "w-full flex flex-col pl-2 pr-2 gap-1" }, [
1416
1573
  { label: "All Transactions", value: "ALL" },
1417
1574
  { label: "Wallet Transactions", value: "WALLET_TRANSACTION" },
1418
1575
  { label: "Card Transactions", value: "CARD_TRANSACTION" }
1419
- ].map((option) => /* @__PURE__ */ React15.createElement(
1576
+ ].map((option) => /* @__PURE__ */ React16.createElement(
1420
1577
  "button",
1421
1578
  {
1422
1579
  key: option.value,
@@ -1426,8 +1583,8 @@ var UniversalTransactionPage = ({
1426
1583
  },
1427
1584
  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"}`
1428
1585
  },
1429
- /* @__PURE__ */ React15.createElement("span", { className: "truncate pr-2" }, option.label.charAt(0).toUpperCase() + option.label.slice(1).toLowerCase())
1430
- ))), /* @__PURE__ */ React15.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ React15.createElement(
1586
+ /* @__PURE__ */ React16.createElement("span", { className: "truncate pr-2" }, option.label.charAt(0).toUpperCase() + option.label.slice(1).toLowerCase())
1587
+ ))), /* @__PURE__ */ React16.createElement("div", { className: "w-full flex mt-2 " }, /* @__PURE__ */ React16.createElement(
1431
1588
  "button",
1432
1589
  {
1433
1590
  onClick: () => setIsTypeModalOpen(false),
@@ -1438,8 +1595,8 @@ var UniversalTransactionPage = ({
1438
1595
  };
1439
1596
 
1440
1597
  // src/components/UniversalHomeView.tsx
1441
- import React16, { useState as useState9, useEffect as useEffect7 } from "react";
1442
- import { HugeiconsIcon as HugeiconsIcon10 } from "@hugeicons/react";
1598
+ import React17, { useState as useState10, useEffect as useEffect7 } from "react";
1599
+ import { HugeiconsIcon as HugeiconsIcon11 } from "@hugeicons/react";
1443
1600
  import { ViewOffSlashIcon, ViewIcon } from "@hugeicons/core-free-icons";
1444
1601
  var UniversalHomeView = ({
1445
1602
  balanceLabel = "Your Balance",
@@ -1449,8 +1606,8 @@ var UniversalHomeView = ({
1449
1606
  secondaryAction,
1450
1607
  transactionsProps
1451
1608
  }) => {
1452
- const [displayAmount, setDisplayAmount] = useState9("0.00");
1453
- const [isBalanceHidden, setIsBalanceHidden] = useState9(false);
1609
+ const [displayAmount, setDisplayAmount] = useState10("0.00");
1610
+ const [isBalanceHidden, setIsBalanceHidden] = useState10(false);
1454
1611
  useEffect7(() => {
1455
1612
  const target = parseFloat(balanceAmount.replace(/,/g, ""));
1456
1613
  if (isNaN(target)) {
@@ -1480,29 +1637,29 @@ var UniversalHomeView = ({
1480
1637
  requestAnimationFrame(step);
1481
1638
  }, [balanceAmount]);
1482
1639
  const [intPart, decPart] = displayAmount.includes(".") ? displayAmount.split(".") : [displayAmount, "00"];
1483
- return /* @__PURE__ */ React16.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React16.createElement("div", { className: "relative flex items-start justify-between w-full pt-4 pb-8" }, /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col items-start text-left z-10 w-full" }, /* @__PURE__ */ React16.createElement("div", { className: "flex items-center gap-2 mb-1.5" }, /* @__PURE__ */ React16.createElement("span", { className: "text-[12px] sm:text-[13px] text-neutral-500" }, balanceLabel), /* @__PURE__ */ React16.createElement(
1640
+ return /* @__PURE__ */ React17.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React17.createElement("div", { className: "relative flex items-start justify-between w-full pt-4 pb-8" }, /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col items-start text-left z-10 w-full" }, /* @__PURE__ */ React17.createElement("div", { className: "flex items-center gap-2 mb-1.5" }, /* @__PURE__ */ React17.createElement("span", { className: "text-[12px] sm:text-[13px] text-neutral-500" }, balanceLabel), /* @__PURE__ */ React17.createElement(
1484
1641
  "button",
1485
1642
  {
1486
1643
  onClick: () => setIsBalanceHidden(!isBalanceHidden),
1487
1644
  className: "text-neutral-400 hover:text-black transition-colors outline-none"
1488
1645
  },
1489
- /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: isBalanceHidden ? ViewIcon : ViewOffSlashIcon, size: 14 })
1490
- )), /* @__PURE__ */ React16.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__ */ React16.createElement("span", { className: "text-xl sm:text-2xl text-neutral-400 mr-1" }, balanceCurrency), intPart, /* @__PURE__ */ React16.createElement("span", { className: "text-xl sm:text-2xl text-neutral-400" }, ".", decPart)), /* @__PURE__ */ React16.createElement("div", { className: "flex items-center gap-3" }, primaryAction && /* @__PURE__ */ React16.createElement(
1646
+ /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: isBalanceHidden ? ViewIcon : ViewOffSlashIcon, size: 14 })
1647
+ )), /* @__PURE__ */ React17.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__ */ React17.createElement("span", { className: "text-xl sm:text-2xl text-neutral-400 mr-1" }, balanceCurrency), intPart, /* @__PURE__ */ React17.createElement("span", { className: "text-xl sm:text-2xl text-neutral-400" }, ".", decPart)), /* @__PURE__ */ React17.createElement("div", { className: "flex items-center gap-3" }, primaryAction && /* @__PURE__ */ React17.createElement(
1491
1648
  ThreeDActionButton,
1492
1649
  {
1493
1650
  onClick: primaryAction.onClick,
1494
1651
  className: "px-6 py-2.5 sm:px-8 sm:py-2.5"
1495
1652
  },
1496
- /* @__PURE__ */ React16.createElement("span", { className: "flex items-center gap-1.5 text-[13px] tracking-wide " }, primaryAction.label, primaryAction.icon && /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: primaryAction.icon, size: 16 }))
1497
- ), secondaryAction && /* @__PURE__ */ React16.createElement(
1653
+ /* @__PURE__ */ React17.createElement("span", { className: "flex items-center gap-1.5 text-[13px] tracking-wide " }, primaryAction.label, primaryAction.icon && /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: primaryAction.icon, size: 16 }))
1654
+ ), secondaryAction && /* @__PURE__ */ React17.createElement(
1498
1655
  "button",
1499
1656
  {
1500
1657
  onClick: secondaryAction.onClick,
1501
1658
  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"
1502
1659
  },
1503
- /* @__PURE__ */ React16.createElement("span", { className: "text-[13px] tracking-wide " }, secondaryAction.label),
1504
- secondaryAction.icon && /* @__PURE__ */ React16.createElement(HugeiconsIcon10, { icon: secondaryAction.icon, size: 16 })
1505
- )))), /* @__PURE__ */ React16.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ React16.createElement(
1660
+ /* @__PURE__ */ React17.createElement("span", { className: "text-[13px] tracking-wide " }, secondaryAction.label),
1661
+ secondaryAction.icon && /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: secondaryAction.icon, size: 16 })
1662
+ )))), /* @__PURE__ */ React17.createElement("div", { className: "w-full mt-2" }, /* @__PURE__ */ React17.createElement(
1506
1663
  UniversalTransactionPage,
1507
1664
  {
1508
1665
  ...transactionsProps,
@@ -1514,18 +1671,18 @@ var UniversalHomeView = ({
1514
1671
  };
1515
1672
 
1516
1673
  // src/components/UniversalWalletPage.tsx
1517
- import React17, { useState as useState10 } from "react";
1674
+ import React18, { useState as useState11 } from "react";
1518
1675
  import toast5 from "react-hot-toast";
1519
- import { HugeiconsIcon as HugeiconsIcon11 } from "@hugeicons/react";
1676
+ import { HugeiconsIcon as HugeiconsIcon12 } from "@hugeicons/react";
1520
1677
  import {
1521
1678
  Search01Icon as Search01Icon2,
1522
1679
  CancelCircleIcon as CancelCircleIcon3,
1523
- Loading03Icon as Loading03Icon5
1680
+ Loading03Icon as Loading03Icon6
1524
1681
  } from "@hugeicons/core-free-icons";
1525
- var PageSpinner3 = () => /* @__PURE__ */ React17.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: Loading03Icon5, size: 32, className: "animate-spin mb-4 text-black" }));
1682
+ var PageSpinner3 = () => /* @__PURE__ */ React18.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Loading03Icon6, size: 32, className: "animate-spin mb-4 text-black" }));
1526
1683
  var WalletLogo = ({ src, alt, sizeClass = "w-10 h-10" }) => {
1527
- const [isLoaded, setIsLoaded] = useState10(false);
1528
- return /* @__PURE__ */ React17.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden ${sizeClass}` }, !isLoaded && /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: Loading03Icon5, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React17.createElement(
1684
+ const [isLoaded, setIsLoaded] = useState11(false);
1685
+ return /* @__PURE__ */ React18.createElement("div", { className: `relative shrink-0 rounded-full bg-neutral-100 flex items-center justify-center overflow-hidden ${sizeClass}` }, !isLoaded && /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Loading03Icon6, size: 16, className: "animate-spin text-neutral-400 absolute" }), /* @__PURE__ */ React18.createElement(
1529
1686
  "img",
1530
1687
  {
1531
1688
  src,
@@ -1547,8 +1704,8 @@ var UniversalWalletPage = ({
1547
1704
  onDownloadPayId,
1548
1705
  onCopyAddress
1549
1706
  }) => {
1550
- const [selectedWallet, setSelectedWallet] = useState10(null);
1551
- const [localSearchQuery, setLocalSearchQuery] = useState10("");
1707
+ const [selectedWallet, setSelectedWallet] = useState11(null);
1708
+ const [localSearchQuery, setLocalSearchQuery] = useState11("");
1552
1709
  const filteredWallets = wallets.filter((wallet) => {
1553
1710
  const q = localSearchQuery.toLowerCase();
1554
1711
  return wallet.name.toLowerCase().includes(q) || wallet.currency.toLowerCase().includes(q) || wallet.network.toLowerCase().includes(q);
@@ -1561,7 +1718,7 @@ var UniversalWalletPage = ({
1561
1718
  }
1562
1719
  toast5.success("Address copied to clipboard");
1563
1720
  };
1564
- return /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, /* @__PURE__ */ React17.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React17.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ React17.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: Search01Icon2, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React17.createElement(
1721
+ return /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-6 animate-in max-w-5xl fade-in duration-300" }, /* @__PURE__ */ React18.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4 w-full" }, /* @__PURE__ */ React18.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Search01Icon2, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ React18.createElement(
1565
1722
  "input",
1566
1723
  {
1567
1724
  type: "text",
@@ -1570,16 +1727,16 @@ var UniversalWalletPage = ({
1570
1727
  onChange: (e) => setLocalSearchQuery(e.target.value),
1571
1728
  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"
1572
1729
  }
1573
- ))), /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React17.createElement("div", null, /* @__PURE__ */ React17.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React17.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React17.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React17.createElement(PageSpinner3, null) : /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React17.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React17.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React17.createElement(
1730
+ ))), /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React18.createElement("p", { className: "text-xs text-neutral-500" }, headerDescription))), /* @__PURE__ */ React18.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React18.createElement(PageSpinner3, null) : /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React18.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React18.createElement("p", { className: "text-xs text-neutral-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React18.createElement(
1574
1731
  "div",
1575
1732
  {
1576
1733
  key: wallet.id,
1577
1734
  onClick: () => setSelectedWallet(wallet),
1578
1735
  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"
1579
1736
  },
1580
- /* @__PURE__ */ React17.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React17.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), /* @__PURE__ */ React17.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React17.createElement("p", { className: "text-[13px] text-black truncate " }, wallet.name), /* @__PURE__ */ React17.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, wallet.balance, " ", wallet.currency))),
1581
- /* @__PURE__ */ React17.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React17.createElement("span", { className: "text-[10px] tracking-wide text-neutral-600 bg-neutral-100 px-2.5 py-1 rounded-full " }, wallet.network))
1582
- )))))), selectedWallet && /* @__PURE__ */ React17.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React17.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ React17.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__ */ React17.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React17.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ React17.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: CancelCircleIcon3, size: 18 }))), /* @__PURE__ */ React17.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React17.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ React17.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__ */ React17.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__ */ React17.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), /* @__PURE__ */ React17.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ React17.createElement("div", null, /* @__PURE__ */ React17.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ React17.createElement("span", { className: "text-[13px] text-black break-all " }, selectedWallet.address)), /* @__PURE__ */ React17.createElement("div", null, /* @__PURE__ */ React17.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Name"), /* @__PURE__ */ React17.createElement("span", { className: "text-[13px] text-black" }, selectedWallet.name))), /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React17.createElement(
1737
+ /* @__PURE__ */ React18.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React18.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), /* @__PURE__ */ React18.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React18.createElement("p", { className: "text-[13px] text-black truncate " }, wallet.name), /* @__PURE__ */ React18.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, wallet.balance, " ", wallet.currency))),
1738
+ /* @__PURE__ */ React18.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React18.createElement("span", { className: "text-[10px] tracking-wide text-neutral-600 bg-neutral-100 px-2.5 py-1 rounded-full " }, wallet.network))
1739
+ )))))), selectedWallet && /* @__PURE__ */ React18.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React18.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React18.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ React18.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: CancelCircleIcon3, size: 18 }))), /* @__PURE__ */ React18.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React18.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ React18.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__ */ React18.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__ */ React18.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), /* @__PURE__ */ React18.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] text-black break-all " }, selectedWallet.address)), /* @__PURE__ */ React18.createElement("div", null, /* @__PURE__ */ React18.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Name"), /* @__PURE__ */ React18.createElement("span", { className: "text-[13px] text-black" }, selectedWallet.name))), /* @__PURE__ */ React18.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React18.createElement(
1583
1740
  ThreeDActionButton,
1584
1741
  {
1585
1742
  onClick: () => onDownloadPayId && onDownloadPayId(selectedWallet),
@@ -1587,7 +1744,7 @@ var UniversalWalletPage = ({
1587
1744
  className: "w-full py-3 text-[13px]"
1588
1745
  },
1589
1746
  "Generate Statement"
1590
- ), /* @__PURE__ */ React17.createElement(
1747
+ ), /* @__PURE__ */ React18.createElement(
1591
1748
  "button",
1592
1749
  {
1593
1750
  onClick: () => handleCopy(selectedWallet),
@@ -1598,8 +1755,8 @@ var UniversalWalletPage = ({
1598
1755
  };
1599
1756
 
1600
1757
  // src/components/UniversalCardPage.tsx
1601
- import React20, { useState as useState12, useEffect as useEffect9 } from "react";
1602
- import { HugeiconsIcon as HugeiconsIcon14 } from "@hugeicons/react";
1758
+ import React21, { useState as useState13, useEffect as useEffect9 } from "react";
1759
+ import { HugeiconsIcon as HugeiconsIcon15 } from "@hugeicons/react";
1603
1760
  import {
1604
1761
  SnowIcon,
1605
1762
  Delete02Icon,
@@ -1609,51 +1766,10 @@ import {
1609
1766
  Loading03Icon as Loading03Icon8
1610
1767
  } from "@hugeicons/core-free-icons";
1611
1768
 
1612
- // src/components/ConfirmationDialog.tsx
1613
- import React18 from "react";
1614
- import { HugeiconsIcon as HugeiconsIcon12 } from "@hugeicons/react";
1615
- import { Loading03Icon as Loading03Icon6 } from "@hugeicons/core-free-icons";
1616
- var ConfirmationDialog = ({
1617
- isOpen,
1618
- title,
1619
- message,
1620
- confirmText = "Confirm",
1621
- cancelText = "Cancel",
1622
- isProcessing = false,
1623
- isDestructive = true,
1624
- onClose,
1625
- onConfirm
1626
- }) => {
1627
- if (!isOpen) return null;
1628
- return /* @__PURE__ */ React18.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React18.createElement(
1629
- "div",
1630
- {
1631
- className: "absolute inset-0 bg-black/40 ",
1632
- onClick: () => !isProcessing && onClose()
1633
- }
1634
- ), /* @__PURE__ */ React18.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__ */ React18.createElement("div", { className: "p-6 pb-4 text-center w-full" }, /* @__PURE__ */ React18.createElement("h3", { className: "text-[17px] text-black tracking-tight mb-2" }, title), /* @__PURE__ */ React18.createElement("p", { className: "text-[12px] text-neutral-500 leading-relaxed px-2" }, message)), /* @__PURE__ */ React18.createElement("div", { className: "w-full flex" }, /* @__PURE__ */ React18.createElement(
1635
- "button",
1636
- {
1637
- onClick: onClose,
1638
- disabled: isProcessing,
1639
- className: "flex-1 py-4 text-[14px] text-neutral-500 hover:bg-neutral-50 transition-colors disabled:opacity-50 outline-none "
1640
- },
1641
- cancelText
1642
- ), /* @__PURE__ */ React18.createElement(
1643
- "button",
1644
- {
1645
- onClick: onConfirm,
1646
- disabled: isProcessing,
1647
- 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"}`
1648
- },
1649
- isProcessing ? /* @__PURE__ */ React18.createElement(HugeiconsIcon12, { icon: Loading03Icon6, className: "animate-spin", size: 18 }) : confirmText
1650
- ))));
1651
- };
1652
-
1653
1769
  // src/components/PinDialerBottomSheet.tsx
1654
- import React19, { useState as useState11, useEffect as useEffect8 } from "react";
1770
+ import React19, { useState as useState12, useEffect as useEffect8 } from "react";
1655
1771
  import { HugeiconsIcon as HugeiconsIcon13 } from "@hugeicons/react";
1656
- import { Loading03Icon as Loading03Icon7, CancelCircleIcon as CancelCircleIcon4 } from "@hugeicons/core-free-icons";
1772
+ import { Loading03Icon as Loading03Icon7, CancelCircleIcon as CancelCircleIcon4, LessThanIcon } from "@hugeicons/core-free-icons";
1657
1773
  var PinDialerBottomSheet = ({
1658
1774
  isOpen,
1659
1775
  title = "Action Required",
@@ -1661,7 +1777,7 @@ var PinDialerBottomSheet = ({
1661
1777
  onClose,
1662
1778
  onComplete
1663
1779
  }) => {
1664
- const [pin, setPin] = useState11("");
1780
+ const [pin, setPin] = useState12("");
1665
1781
  useEffect8(() => {
1666
1782
  setPin("");
1667
1783
  }, [isOpen]);
@@ -1708,14 +1824,14 @@ var PinDialerBottomSheet = ({
1708
1824
  {
1709
1825
  key: num,
1710
1826
  onClick: () => handlePinPress(num),
1711
- className: "w-14 h-14 rounded-full flex border border-neutral-200 items-center justify-center text-sm text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1827
+ className: "w-14 h-14 rounded-full flex bg-neutral-50 items-center justify-center text-sm text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1712
1828
  },
1713
1829
  num
1714
1830
  )), /* @__PURE__ */ React19.createElement("div", null), " ", /* @__PURE__ */ React19.createElement(
1715
1831
  "button",
1716
1832
  {
1717
1833
  onClick: () => handlePinPress(0),
1718
- className: "w-14 h-14 rounded-full flex border border-neutral-200 items-center justify-center text-sm text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1834
+ className: "w-14 h-14 rounded-full flex bg-neutral-50 items-center justify-center text-sm text-black hover:bg-neutral-50 transition-colors mx-auto outline-none active:scale-95"
1719
1835
  },
1720
1836
  "0"
1721
1837
  ), /* @__PURE__ */ React19.createElement(
@@ -1724,49 +1840,98 @@ var PinDialerBottomSheet = ({
1724
1840
  onClick: () => handlePinPress("del"),
1725
1841
  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"
1726
1842
  },
1727
- /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: CancelCircleIcon4, size: 20 })
1843
+ /* @__PURE__ */ React19.createElement(HugeiconsIcon13, { icon: LessThanIcon, size: 20 })
1728
1844
  )))));
1729
1845
  };
1730
1846
 
1847
+ // src/components/CardAction.tsx
1848
+ import React20 from "react";
1849
+ import { HugeiconsIcon as HugeiconsIcon14 } from "@hugeicons/react";
1850
+ import { CancelCircleIcon as CancelCircleIcon5, CreditCardIcon } from "@hugeicons/core-free-icons";
1851
+ var CardActionDialog = ({
1852
+ isOpen,
1853
+ card,
1854
+ actionType,
1855
+ onClose,
1856
+ onProceed
1857
+ }) => {
1858
+ if (!isOpen || !card) return null;
1859
+ const title = actionType === "ACTIVATE" ? "Activate Card" : "Create New Card";
1860
+ const description = actionType === "ACTIVATE" ? `You are about to activate your ${card.type.toLowerCase()} card. Once activated, you can view details and set limits.` : `Your current ${card.type.toLowerCase()} card is ${card.status.toLowerCase()}. You need to provision a new one to continue.`;
1861
+ return /* @__PURE__ */ React20.createElement("div", { className: "fixed inset-0 z-150 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React20.createElement(
1862
+ "div",
1863
+ {
1864
+ className: "absolute inset-0 bg-black/40 animate-in fade-in duration-200",
1865
+ onClick: onClose
1866
+ }
1867
+ ), /* @__PURE__ */ React20.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__ */ React20.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: CreditCardIcon, size: 20, className: "text-black" }), /* @__PURE__ */ React20.createElement("h3", { className: "text-[16px] text-black font-medium tracking-tight" }, title)), /* @__PURE__ */ React20.createElement(
1868
+ "button",
1869
+ {
1870
+ onClick: onClose,
1871
+ className: "text-neutral-400 hover:text-black transition-colors outline-none"
1872
+ },
1873
+ /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: CancelCircleIcon5, size: 20 })
1874
+ )), /* @__PURE__ */ React20.createElement("div", { className: "p-6 text-center" }, /* @__PURE__ */ React20.createElement("p", { className: "text-[13px] text-neutral-500 leading-relaxed mb-6" }, description), /* @__PURE__ */ React20.createElement(
1875
+ "button",
1876
+ {
1877
+ onClick: onProceed,
1878
+ 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"
1879
+ },
1880
+ actionType === "ACTIVATE" ? "Activate Now" : "Create Card"
1881
+ ))));
1882
+ };
1883
+
1731
1884
  // src/components/UniversalCardPage.tsx
1732
1885
  var UniversalCardPage = ({
1733
- cardHolderName,
1734
- cardNumber,
1735
- expiry,
1736
- cvv,
1737
- cardBgSrc,
1738
- backgroundOverlay,
1739
- companyLogoSrc,
1740
- networkLogoSrc,
1886
+ cards = [],
1741
1887
  onReveal,
1742
1888
  onFreeze,
1743
1889
  onSetLimits,
1744
- onDelete
1890
+ onDelete,
1891
+ onCardAction
1745
1892
  }) => {
1746
- const [isFlipped, setIsFlipped] = useState12(false);
1747
- const [isBgLoaded, setIsBgLoaded] = useState12(false);
1748
- const [isRevealed, setIsRevealed] = useState12(false);
1749
- const [isRevealing, setIsRevealing] = useState12(false);
1750
- const [isFrozen, setIsFrozen] = useState12(false);
1751
- const [isFreezing, setIsFreezing] = useState12(false);
1752
- const [showDeleteDialog, setShowDeleteDialog] = useState12(false);
1753
- const [isDeleting, setIsDeleting] = useState12(false);
1754
- const [showPinDialer, setShowPinDialer] = useState12(false);
1893
+ const [activeTabIndex, setActiveTabIndex] = useState13(0);
1894
+ const activeCard = cards[activeTabIndex];
1895
+ useEffect9(() => {
1896
+ setIsFlipped(false);
1897
+ setIsRevealed(false);
1898
+ }, [activeTabIndex]);
1899
+ const [isFlipped, setIsFlipped] = useState13(false);
1900
+ const [isBgLoaded, setIsBgLoaded] = useState13(false);
1901
+ const [isRevealed, setIsRevealed] = useState13(false);
1902
+ const [isRevealing, setIsRevealing] = useState13(false);
1903
+ const [isFreezing, setIsFreezing] = useState13(false);
1904
+ const [isOverlayActionLoading, setIsOverlayActionLoading] = useState13(false);
1905
+ const [showDeleteDialog, setShowDeleteDialog] = useState13(false);
1906
+ const [isDeleting, setIsDeleting] = useState13(false);
1907
+ const [showPinDialer, setShowPinDialer] = useState13(false);
1908
+ const [showCardActionDialog, setShowCardActionDialog] = useState13(false);
1909
+ const [cardActionType, setCardActionType] = useState13("ACTIVATE");
1755
1910
  useEffect9(() => {
1756
- if (!cardBgSrc) return;
1911
+ setIsBgLoaded(false);
1912
+ if (!activeCard?.cardBgSrc) return;
1757
1913
  const img = new Image();
1758
- img.src = cardBgSrc;
1914
+ img.src = activeCard.cardBgSrc;
1759
1915
  img.onload = () => {
1760
1916
  setTimeout(() => setIsBgLoaded(true), 300);
1761
1917
  };
1762
- }, [cardBgSrc]);
1918
+ }, [activeCard?.cardBgSrc]);
1919
+ if (!activeCard) return /* @__PURE__ */ React21.createElement("div", { className: "text-center p-8 text-neutral-500" }, "No cards available");
1920
+ const isActivated = activeCard.status === "ACTIVATED";
1921
+ const isFrozen = activeCard.status === "FROZEN";
1922
+ const isUnactivated = activeCard.status === "UNACTIVATED";
1923
+ const isDead = ["BLOCKED", "EXPIRED", "DELETED"].includes(activeCard.status);
1924
+ const canFlip = isBgLoaded && isActivated;
1925
+ const actionsDisabled = !isActivated && !isFrozen;
1926
+ const revealDisabled = !isActivated;
1927
+ const freezeDisabled = isUnactivated || isDead;
1763
1928
  const handleToggleReveal = () => {
1764
- if (isRevealing) return;
1929
+ if (revealDisabled || isRevealing) return;
1765
1930
  if (isRevealed) {
1766
1931
  setIsRevealed(false);
1767
1932
  setIsRevealing(true);
1768
1933
  setTimeout(() => {
1769
- if (onReveal) onReveal();
1934
+ if (onReveal) onReveal(activeCard.id);
1770
1935
  setIsRevealing(false);
1771
1936
  }, 800);
1772
1937
  } else {
@@ -1778,67 +1943,125 @@ var UniversalCardPage = ({
1778
1943
  setTimeout(() => {
1779
1944
  setShowPinDialer(false);
1780
1945
  setIsRevealed(true);
1781
- if (onReveal) onReveal();
1946
+ if (onReveal) onReveal(activeCard.id);
1782
1947
  setIsRevealing(false);
1783
1948
  }, 1e3);
1784
1949
  };
1785
1950
  const handleToggleFreeze = () => {
1786
- if (isFreezing) return;
1951
+ if (freezeDisabled || isFreezing) return;
1787
1952
  setIsFreezing(true);
1788
1953
  setTimeout(() => {
1789
- setIsFrozen(!isFrozen);
1790
- if (onFreeze) onFreeze();
1954
+ if (onFreeze) onFreeze(activeCard.id);
1791
1955
  setIsFreezing(false);
1792
1956
  }, 800);
1793
1957
  };
1958
+ const handleOverlayUnfreeze = () => {
1959
+ if (isOverlayActionLoading) return;
1960
+ setIsOverlayActionLoading(true);
1961
+ setTimeout(() => {
1962
+ if (onFreeze) onFreeze(activeCard.id);
1963
+ setIsOverlayActionLoading(false);
1964
+ }, 800);
1965
+ };
1966
+ const handleOverlayActionClick = (type) => {
1967
+ setCardActionType(type);
1968
+ setShowCardActionDialog(true);
1969
+ };
1794
1970
  const confirmDelete = async () => {
1795
1971
  setIsDeleting(true);
1796
1972
  setTimeout(() => {
1797
- if (onDelete) onDelete();
1973
+ if (onDelete) onDelete(activeCard.id);
1798
1974
  setIsDeleting(false);
1799
1975
  setShowDeleteDialog(false);
1800
1976
  }, 1200);
1801
1977
  };
1802
- const displayCardNumber = isRevealed ? cardNumber : `\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 ${cardNumber.slice(-4)}`;
1803
- const displayExpiry = isRevealed ? expiry : "\u2022\u2022/\u2022\u2022";
1804
- const displayCvv = isRevealed ? cvv : "\u2022\u2022\u2022";
1805
- return /* @__PURE__ */ React20.createElement("div", { className: "w-full flex flex-col items-center animate-in fade-in duration-300 pb-12" }, /* @__PURE__ */ React20.createElement("div", { className: "w-full pt-6 pb-2 flex justify-center", style: { perspective: "1000px" } }, /* @__PURE__ */ React20.createElement(
1978
+ const formatTabLabel = (type) => {
1979
+ const capitalized = type.charAt(0).toUpperCase() + type.slice(1).toLowerCase();
1980
+ return `${capitalized} Card`;
1981
+ };
1982
+ const displayCardNumber = isRevealed ? activeCard.cardNumber : `\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 ${activeCard.cardNumber.slice(-4)}`;
1983
+ const displayExpiry = isRevealed ? activeCard.expiry : "\u2022\u2022/\u2022\u2022";
1984
+ const displayCvv = isRevealed ? activeCard.cvv : "\u2022\u2022\u2022";
1985
+ return /* @__PURE__ */ React21.createElement("div", { className: "w-full flex flex-col items-center animate-in fade-in duration-300 pb-12" }, cards.length > 1 && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-center mb-6 w-full px-2" }, /* @__PURE__ */ React21.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) => {
1986
+ const isActive = activeTabIndex === idx;
1987
+ return /* @__PURE__ */ React21.createElement(
1988
+ "button",
1989
+ {
1990
+ key: tab.id,
1991
+ onClick: () => setActiveTabIndex(idx),
1992
+ 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"}`
1993
+ },
1994
+ formatTabLabel(tab.type)
1995
+ );
1996
+ }))), /* @__PURE__ */ React21.createElement("div", { className: "w-full pt-2 pb-2 flex justify-center", style: { perspective: "1000px" } }, /* @__PURE__ */ React21.createElement(
1806
1997
  "div",
1807
1998
  {
1808
1999
  onClick: () => {
1809
- if (isBgLoaded) setIsFlipped(!isFlipped);
2000
+ if (canFlip) setIsFlipped(!isFlipped);
1810
2001
  },
1811
- className: `relative w-full max-w-85 transition-transform duration-700 ${!isBgLoaded ? "cursor-wait" : "cursor-pointer"}`,
2002
+ className: `relative w-full max-w-85 transition-transform duration-700 ${!isBgLoaded ? "cursor-wait" : canFlip ? "cursor-pointer" : "cursor-default"}`,
1812
2003
  style: {
1813
2004
  height: 185,
1814
2005
  transformStyle: "preserve-3d",
1815
2006
  transform: isFlipped ? "rotateY(180deg)" : "rotateY(0deg)"
1816
2007
  }
1817
2008
  },
1818
- !isBgLoaded && /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 w-full h-full bg-white rounded-2xl flex items-center justify-center z-50 " }, /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: Loading03Icon8, size: 28, className: "animate-spin text-black" })),
1819
- /* @__PURE__ */ React20.createElement(
2009
+ !isBgLoaded && /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 w-full h-full bg-white rounded-2xl flex items-center justify-center z-50 " }, /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon: Loading03Icon8, size: 28, className: "animate-spin text-black" })),
2010
+ !isActivated && isBgLoaded && /* @__PURE__ */ React21.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__ */ React21.createElement(
2011
+ "button",
2012
+ {
2013
+ onClick: (e) => {
2014
+ e.stopPropagation();
2015
+ handleOverlayActionClick("ACTIVATE");
2016
+ },
2017
+ className: "px-6 py-2.5 bg-white/35 text-black text-[12px] font-medium rounded-full transition-all outline-none active:scale-95"
2018
+ },
2019
+ "Activate Card"
2020
+ ), isDead && /* @__PURE__ */ React21.createElement(
2021
+ "button",
2022
+ {
2023
+ onClick: (e) => {
2024
+ e.stopPropagation();
2025
+ handleOverlayActionClick("CREATE");
2026
+ },
2027
+ className: "px-6 py-2.5 bg-white/35 text-black text-[12px] font-medium rounded-full transition-all outline-none active:scale-95"
2028
+ },
2029
+ "Create Card"
2030
+ ), isFrozen && /* @__PURE__ */ React21.createElement(
2031
+ "button",
2032
+ {
2033
+ onClick: (e) => {
2034
+ e.stopPropagation();
2035
+ handleOverlayUnfreeze();
2036
+ },
2037
+ disabled: isOverlayActionLoading,
2038
+ 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"
2039
+ },
2040
+ isOverlayActionLoading ? /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon: Loading03Icon8, size: 16, className: "animate-spin" }) : "Unfreeze Card"
2041
+ )),
2042
+ /* @__PURE__ */ React21.createElement(
1820
2043
  "div",
1821
2044
  {
1822
2045
  className: `absolute inset-0 w-full h-full rounded-2xl overflow-hidden transition-all duration-700 ${isBgLoaded ? "opacity-100 scale-100" : "opacity-0 scale-105"}`,
1823
2046
  style: { backfaceVisibility: "hidden" }
1824
2047
  },
1825
- /* @__PURE__ */ React20.createElement(
2048
+ /* @__PURE__ */ React21.createElement(
1826
2049
  "div",
1827
2050
  {
1828
2051
  className: "absolute inset-0 bg-cover bg-center",
1829
- style: { backgroundImage: `url(${cardBgSrc}), linear-gradient(to bottom right, #111, #333)` }
2052
+ style: { backgroundImage: `url(${activeCard.cardBgSrc}), linear-gradient(to bottom right, #111, #333)` }
1830
2053
  }
1831
2054
  ),
1832
- backgroundOverlay && /* @__PURE__ */ React20.createElement(
2055
+ activeCard.backgroundOverlay && /* @__PURE__ */ React21.createElement(
1833
2056
  "div",
1834
2057
  {
1835
2058
  className: "absolute inset-0 bg-cover bg-center pointer-events-none",
1836
- style: { backgroundImage: `url(${backgroundOverlay})` }
2059
+ style: { backgroundImage: `url(${activeCard.backgroundOverlay})` }
1837
2060
  }
1838
2061
  ),
1839
- /* @__PURE__ */ React20.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-start w-full" }, /* @__PURE__ */ React20.createElement("div", null, /* @__PURE__ */ React20.createElement("span", { className: "text-[12px] text-white/70 " }, "Prepaid Card")), companyLogoSrc && /* @__PURE__ */ React20.createElement("img", { src: companyLogoSrc, alt: "Company Logo", className: "h-10 w-auto max-w-30 object-contain opacity-90" })), /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React20.createElement("span", { className: "text-[10px] text-white/60 tracking-widest uppercase" }, "Card Number"), /* @__PURE__ */ React20.createElement("span", { className: "text-[14px] text-white tracking-widest font-light" }, displayCardNumber)), networkLogoSrc && /* @__PURE__ */ React20.createElement("img", { src: networkLogoSrc, alt: "Network Logo", className: "h-10 w-auto max-w-20 object-contain opacity-90" })))
2062
+ /* @__PURE__ */ React21.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-start w-full" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("span", { className: "text-[12px] text-white/70 " }, "Prepaid Card")), activeCard.companyLogoSrc && /* @__PURE__ */ React21.createElement("img", { src: activeCard.companyLogoSrc, alt: "Company Logo", className: "h-10 w-auto max-w-30 object-contain opacity-90" })), /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[10px] text-white/60 tracking-widest uppercase" }, "Card Number"), /* @__PURE__ */ React21.createElement("span", { className: "text-[14px] text-white tracking-widest font-light" }, displayCardNumber)), activeCard.networkLogoSrc && /* @__PURE__ */ React21.createElement("img", { src: activeCard.networkLogoSrc, alt: "Network Logo", className: "h-10 w-auto max-w-20 object-contain opacity-90" })))
1840
2063
  ),
1841
- /* @__PURE__ */ React20.createElement(
2064
+ /* @__PURE__ */ React21.createElement(
1842
2065
  "div",
1843
2066
  {
1844
2067
  className: `absolute inset-0 w-full h-full rounded-2xl overflow-hidden transition-all duration-700 ${isBgLoaded ? "opacity-100 scale-100" : "opacity-0 scale-105"}`,
@@ -1847,23 +2070,24 @@ var UniversalCardPage = ({
1847
2070
  transform: "rotateY(180deg)"
1848
2071
  }
1849
2072
  },
1850
- /* @__PURE__ */ React20.createElement(
2073
+ /* @__PURE__ */ React21.createElement(
1851
2074
  "div",
1852
2075
  {
1853
2076
  className: "absolute inset-0 bg-cover bg-center",
1854
- style: { backgroundImage: `url(${cardBgSrc}), linear-gradient(to bottom right, #111, #333)` }
2077
+ style: { backgroundImage: `url(${activeCard.cardBgSrc}), linear-gradient(to bottom right, #111, #333)` }
1855
2078
  }
1856
2079
  ),
1857
- backgroundOverlay && /* @__PURE__ */ React20.createElement(
2080
+ activeCard.backgroundOverlay && /* @__PURE__ */ React21.createElement(
1858
2081
  "div",
1859
2082
  {
1860
2083
  className: "absolute inset-0 bg-cover bg-center pointer-events-none",
1861
- style: { backgroundImage: `url(${backgroundOverlay})` }
2084
+ style: { backgroundImage: `url(${activeCard.backgroundOverlay})` }
1862
2085
  }
1863
2086
  ),
1864
- /* @__PURE__ */ React20.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-end" }, /* @__PURE__ */ React20.createElement("div", { className: "flex justify-between w-full max-w-[80%]" }, /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React20.createElement("span", { className: "text-[9px] text-white/60 tracking-widest uppercase" }, "Expiry"), /* @__PURE__ */ React20.createElement("span", { className: "text-[14px] text-white font-light" }, displayExpiry)), /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React20.createElement("span", { className: "text-[9px] text-white/60 tracking-widest uppercase" }, "CVV"), /* @__PURE__ */ React20.createElement("span", { className: "text-[14px] text-white font-light" }, displayCvv))))
2087
+ /* @__PURE__ */ React21.createElement("div", { className: "absolute top-6 left-0 right-0 h-10 bg-black/80 w-full" }),
2088
+ /* @__PURE__ */ React21.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-end" }, /* @__PURE__ */ React21.createElement("div", { className: "w-full text-center mb-6" }, /* @__PURE__ */ React21.createElement("span", { className: "text-white text-3xl italic tracking-wide opacity-90", style: { fontFamily: "'Whisper', cursive" } }, activeCard.cardHolderName)), /* @__PURE__ */ React21.createElement("div", { className: "flex justify-between w-full max-w-[80%]" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[9px] text-white/60 tracking-widest uppercase" }, "Expiry"), /* @__PURE__ */ React21.createElement("span", { className: "text-[14px] text-white font-light" }, displayExpiry)), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[9px] text-white/60 tracking-widest uppercase" }, "CVV"), /* @__PURE__ */ React21.createElement("span", { className: "text-[14px] text-white font-light" }, displayCvv))))
1865
2089
  )
1866
- )), /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-neutral-400 mb-6" }, "Tap to flip card"), /* @__PURE__ */ React20.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ React20.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React20.createElement(
2090
+ )), /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-neutral-400 mb-6 mt-1" }, isActivated ? "Tap to flip card" : "Action Required"), /* @__PURE__ */ React21.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ React21.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React21.createElement(
1867
2091
  MenuRow,
1868
2092
  {
1869
2093
  icon: ViewOffSlashIcon2,
@@ -1872,9 +2096,10 @@ var UniversalCardPage = ({
1872
2096
  onClick: handleToggleReveal,
1873
2097
  isToggle: true,
1874
2098
  toggleState: isRevealed,
1875
- toggleLoading: isRevealing
2099
+ toggleLoading: isRevealing,
2100
+ disabled: revealDisabled
1876
2101
  }
1877
- ), /* @__PURE__ */ React20.createElement(
2102
+ ), /* @__PURE__ */ React21.createElement(
1878
2103
  MenuRow,
1879
2104
  {
1880
2105
  icon: SnowIcon,
@@ -1883,27 +2108,34 @@ var UniversalCardPage = ({
1883
2108
  onClick: handleToggleFreeze,
1884
2109
  isToggle: true,
1885
2110
  toggleState: isFrozen,
1886
- toggleLoading: isFreezing
2111
+ toggleLoading: isFreezing,
2112
+ disabled: freezeDisabled
1887
2113
  }
1888
- ), /* @__PURE__ */ React20.createElement(
2114
+ ), /* @__PURE__ */ React21.createElement(
1889
2115
  MenuRow,
1890
2116
  {
1891
2117
  icon: Dollar02Icon,
1892
2118
  title: "Set Limits",
1893
2119
  subtitle: "Set card limits",
1894
- onClick: onSetLimits,
2120
+ onClick: () => {
2121
+ if (!actionsDisabled && onSetLimits) onSetLimits(activeCard.id);
2122
+ },
2123
+ disabled: actionsDisabled,
1895
2124
  isLast: true
1896
2125
  }
1897
- )), /* @__PURE__ */ React20.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React20.createElement(
2126
+ )), /* @__PURE__ */ React21.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React21.createElement(
1898
2127
  MenuRow,
1899
2128
  {
1900
2129
  icon: Delete02Icon,
1901
2130
  title: "Delete card",
1902
2131
  subtitle: "Permanently delete card",
1903
- onClick: () => setShowDeleteDialog(true),
2132
+ onClick: () => {
2133
+ if (!actionsDisabled) setShowDeleteDialog(true);
2134
+ },
2135
+ disabled: actionsDisabled,
1904
2136
  isLast: true
1905
2137
  }
1906
- ))), /* @__PURE__ */ React20.createElement(
2138
+ ))), /* @__PURE__ */ React21.createElement(
1907
2139
  ConfirmationDialog,
1908
2140
  {
1909
2141
  isOpen: showDeleteDialog,
@@ -1915,7 +2147,7 @@ var UniversalCardPage = ({
1915
2147
  onClose: () => setShowDeleteDialog(false),
1916
2148
  onConfirm: confirmDelete
1917
2149
  }
1918
- ), /* @__PURE__ */ React20.createElement(
2150
+ ), /* @__PURE__ */ React21.createElement(
1919
2151
  PinDialerBottomSheet,
1920
2152
  {
1921
2153
  isOpen: showPinDialer,
@@ -1924,6 +2156,18 @@ var UniversalCardPage = ({
1924
2156
  onClose: () => setShowPinDialer(false),
1925
2157
  onComplete: handlePinComplete
1926
2158
  }
2159
+ ), /* @__PURE__ */ React21.createElement(
2160
+ CardActionDialog,
2161
+ {
2162
+ isOpen: showCardActionDialog,
2163
+ card: activeCard,
2164
+ actionType: cardActionType,
2165
+ onClose: () => setShowCardActionDialog(false),
2166
+ onProceed: () => {
2167
+ if (onCardAction) onCardAction(activeCard.id, cardActionType);
2168
+ setShowCardActionDialog(false);
2169
+ }
2170
+ }
1927
2171
  ));
1928
2172
  };
1929
2173
  var MenuRow = ({
@@ -1936,21 +2180,22 @@ var MenuRow = ({
1936
2180
  isLast = false,
1937
2181
  isToggle = false,
1938
2182
  toggleState = false,
1939
- toggleLoading = false
1940
- }) => /* @__PURE__ */ React20.createElement(
2183
+ toggleLoading = false,
2184
+ disabled = false
2185
+ }) => /* @__PURE__ */ React21.createElement(
1941
2186
  "div",
1942
2187
  {
1943
- onClick,
1944
- className: `flex items-center p-3 cursor-pointer hover:bg-neutral-50 transition-colors ${!isLast ? "" : ""}`
2188
+ onClick: disabled ? void 0 : onClick,
2189
+ className: `flex items-center p-3 transition-colors ${!isLast ? "" : ""} ${disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-neutral-50"}`
1945
2190
  },
1946
- /* @__PURE__ */ React20.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon, size: 16, className: iconColor })),
1947
- /* @__PURE__ */ React20.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React20.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ React20.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
1948
- isToggle ? /* @__PURE__ */ React20.createElement("div", { className: `relative w-11 h-6 rounded-full transition-colors duration-300 ml-2 shrink-0 ${toggleState ? "bg-black" : "bg-neutral-200"}` }, /* @__PURE__ */ React20.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__ */ React20.createElement(HugeiconsIcon14, { icon: Loading03Icon8, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ React20.createElement(HugeiconsIcon14, { icon: ArrowRight01Icon2, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2191
+ /* @__PURE__ */ React21.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon, size: 16, className: iconColor })),
2192
+ /* @__PURE__ */ React21.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ React21.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
2193
+ isToggle ? /* @__PURE__ */ React21.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__ */ React21.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__ */ React21.createElement(HugeiconsIcon15, { icon: Loading03Icon8, size: 10, className: "animate-spin text-black" }))) : /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon: ArrowRight01Icon2, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
1949
2194
  );
1950
2195
 
1951
2196
  // src/components/UniversalProfilePage.tsx
1952
- import React21, { useState as useState13 } from "react";
1953
- import { HugeiconsIcon as HugeiconsIcon15 } from "@hugeicons/react";
2197
+ import React22, { useState as useState14 } from "react";
2198
+ import { HugeiconsIcon as HugeiconsIcon16 } from "@hugeicons/react";
1954
2199
  import {
1955
2200
  UserIcon,
1956
2201
  LockKeyIcon as LockKeyIcon2,
@@ -1958,10 +2203,11 @@ import {
1958
2203
  MessageQuestionIcon,
1959
2204
  UserIdVerificationIcon,
1960
2205
  FileDownloadIcon,
1961
- LogoutCircle02Icon,
2206
+ LogoutCircle02Icon as LogoutCircle02Icon2,
1962
2207
  UserRemove01Icon,
1963
2208
  ArrowRight01Icon as ArrowRight01Icon3,
1964
- Loading03Icon as Loading03Icon9
2209
+ Loading03Icon as Loading03Icon9,
2210
+ CrownIcon
1965
2211
  } from "@hugeicons/core-free-icons";
1966
2212
  var UniversalProfilePage = ({
1967
2213
  avatarSrc,
@@ -1976,9 +2222,9 @@ var UniversalProfilePage = ({
1976
2222
  onLogoutTap,
1977
2223
  onDeleteTap
1978
2224
  }) => {
1979
- const [isAvatarLoaded, setIsAvatarLoaded] = useState13(false);
1980
- const [showLogoutDialog, setShowLogoutDialog] = useState13(false);
1981
- const [isLoggingOut, setIsLoggingOut] = useState13(false);
2225
+ const [isAvatarLoaded, setIsAvatarLoaded] = useState14(false);
2226
+ const [showLogoutDialog, setShowLogoutDialog] = useState14(false);
2227
+ const [isLoggingOut, setIsLoggingOut] = useState14(false);
1982
2228
  const handleConfirmLogout = async () => {
1983
2229
  setIsLoggingOut(true);
1984
2230
  try {
@@ -1990,7 +2236,7 @@ var UniversalProfilePage = ({
1990
2236
  setShowLogoutDialog(false);
1991
2237
  }
1992
2238
  };
1993
- return /* @__PURE__ */ React21.createElement("div", { className: "w-full max-w-md mx-auto flex flex-col items-center animate-in fade-in duration-300 pb-12" }, /* @__PURE__ */ React21.createElement("div", { className: "pt-8 pb-4 flex flex-col items-center" }, /* @__PURE__ */ React21.createElement("div", { className: "w-22 h-22 rounded-full bg-white p-1 mb-4 flex items-center justify-center" }, /* @__PURE__ */ React21.createElement("div", { className: "relative w-full h-full rounded-full overflow-hidden bg-neutral-100 flex items-center justify-center" }, avatarSrc ? /* @__PURE__ */ React21.createElement(React21.Fragment, null, !isAvatarLoaded && /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-100" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon: Loading03Icon9, size: 24, className: "animate-spin text-black" })), /* @__PURE__ */ React21.createElement(
2239
+ return /* @__PURE__ */ React22.createElement("div", { className: "w-full max-w-md mx-auto flex flex-col items-center animate-in fade-in duration-300 pb-12" }, /* @__PURE__ */ React22.createElement("div", { className: "pt-8 pb-4 flex flex-col items-center" }, /* @__PURE__ */ React22.createElement("div", { className: "w-22 h-22 rounded-full bg-white p-1 mb-4 flex items-center justify-center" }, /* @__PURE__ */ React22.createElement("div", { className: "relative w-full h-full rounded-full overflow-hidden bg-neutral-100 flex items-center justify-center" }, avatarSrc ? /* @__PURE__ */ React22.createElement(React22.Fragment, null, !isAvatarLoaded && /* @__PURE__ */ React22.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-100" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon16, { icon: Loading03Icon9, size: 24, className: "animate-spin text-black" })), /* @__PURE__ */ React22.createElement(
1994
2240
  "img",
1995
2241
  {
1996
2242
  src: avatarSrc,
@@ -1998,7 +2244,7 @@ var UniversalProfilePage = ({
1998
2244
  onLoad: () => setIsAvatarLoaded(true),
1999
2245
  className: `w-full h-full object-cover transition-opacity duration-300 ${isAvatarLoaded ? "opacity-100" : "opacity-0"}`
2000
2246
  }
2001
- )) : /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon: UserIcon, size: 40, className: "text-neutral-300" }))), /* @__PURE__ */ React21.createElement("div", { className: "bg-white rounded-full px-4 py-2 flex items-center justify-center gap-2 mb-3" }, /* @__PURE__ */ React21.createElement("span", { className: "text-[12px] text-black" }, roleName), /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon: ArrowRight01Icon3, size: 14, className: "text-neutral-400" })), /* @__PURE__ */ React21.createElement("span", { className: "text-[12px] text-neutral-500" }, memberSince)), /* @__PURE__ */ React21.createElement("div", { className: "w-full flex flex-col gap-4 mt-2" }, /* @__PURE__ */ React21.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React21.createElement(
2247
+ )) : /* @__PURE__ */ React22.createElement(HugeiconsIcon16, { icon: UserIcon, size: 40, className: "text-neutral-300" }))), /* @__PURE__ */ React22.createElement("div", { className: "bg-white rounded-full px-4 py-2 flex items-center justify-center gap-2 mb-3" }, /* @__PURE__ */ React22.createElement("span", { className: "text-[12px] text-black" }, roleName), /* @__PURE__ */ React22.createElement(HugeiconsIcon16, { icon: CrownIcon, size: 14, className: "text-neutral-400" })), /* @__PURE__ */ React22.createElement("span", { className: "text-[12px] text-neutral-500" }, memberSince)), /* @__PURE__ */ React22.createElement("div", { className: "w-full flex flex-col gap-4 mt-2" }, /* @__PURE__ */ React22.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React22.createElement(
2002
2248
  MenuRow2,
2003
2249
  {
2004
2250
  icon: UserIcon,
@@ -2006,7 +2252,7 @@ var UniversalProfilePage = ({
2006
2252
  subtitle: "Your account details",
2007
2253
  onClick: onAccountTap
2008
2254
  }
2009
- ), /* @__PURE__ */ React21.createElement(
2255
+ ), /* @__PURE__ */ React22.createElement(
2010
2256
  MenuRow2,
2011
2257
  {
2012
2258
  icon: LockKeyIcon2,
@@ -2014,7 +2260,7 @@ var UniversalProfilePage = ({
2014
2260
  subtitle: "2FA & authentication",
2015
2261
  onClick: onSecurityTap
2016
2262
  }
2017
- ), /* @__PURE__ */ React21.createElement(
2263
+ ), /* @__PURE__ */ React22.createElement(
2018
2264
  MenuRow2,
2019
2265
  {
2020
2266
  icon: ShieldUserIcon,
@@ -2022,7 +2268,7 @@ var UniversalProfilePage = ({
2022
2268
  subtitle: "Manage web3 profile",
2023
2269
  onClick: onDefiTap
2024
2270
  }
2025
- ), /* @__PURE__ */ React21.createElement(
2271
+ ), /* @__PURE__ */ React22.createElement(
2026
2272
  MenuRow2,
2027
2273
  {
2028
2274
  icon: MessageQuestionIcon,
@@ -2031,7 +2277,7 @@ var UniversalProfilePage = ({
2031
2277
  onClick: onHelpTap,
2032
2278
  isLast: true
2033
2279
  }
2034
- )), /* @__PURE__ */ React21.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React21.createElement(
2280
+ )), /* @__PURE__ */ React22.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React22.createElement(
2035
2281
  MenuRow2,
2036
2282
  {
2037
2283
  icon: UserIdVerificationIcon,
@@ -2039,7 +2285,7 @@ var UniversalProfilePage = ({
2039
2285
  subtitle: "Account Verifications",
2040
2286
  onClick: onVerificationsTap
2041
2287
  }
2042
- ), /* @__PURE__ */ React21.createElement(
2288
+ ), /* @__PURE__ */ React22.createElement(
2043
2289
  MenuRow2,
2044
2290
  {
2045
2291
  icon: FileDownloadIcon,
@@ -2047,16 +2293,16 @@ var UniversalProfilePage = ({
2047
2293
  subtitle: "Transfer your account",
2048
2294
  onClick: onExportTap
2049
2295
  }
2050
- ), /* @__PURE__ */ React21.createElement(
2296
+ ), /* @__PURE__ */ React22.createElement(
2051
2297
  MenuRow2,
2052
2298
  {
2053
- icon: LogoutCircle02Icon,
2299
+ icon: LogoutCircle02Icon2,
2054
2300
  title: "LogOut",
2055
2301
  subtitle: "End your session",
2056
2302
  onClick: () => setShowLogoutDialog(true),
2057
2303
  isLast: true
2058
2304
  }
2059
- )), /* @__PURE__ */ React21.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden mb-4" }, /* @__PURE__ */ React21.createElement(
2305
+ )), /* @__PURE__ */ React22.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden mb-4" }, /* @__PURE__ */ React22.createElement(
2060
2306
  MenuRow2,
2061
2307
  {
2062
2308
  icon: UserRemove01Icon,
@@ -2065,7 +2311,7 @@ var UniversalProfilePage = ({
2065
2311
  onClick: onDeleteTap,
2066
2312
  isLast: true
2067
2313
  }
2068
- ))), /* @__PURE__ */ React21.createElement(
2314
+ ))), /* @__PURE__ */ React22.createElement(
2069
2315
  ConfirmationDialog,
2070
2316
  {
2071
2317
  isOpen: showLogoutDialog,
@@ -2079,28 +2325,28 @@ var UniversalProfilePage = ({
2079
2325
  }
2080
2326
  ));
2081
2327
  };
2082
- var MenuRow2 = ({ icon, title, subtitle, onClick, iconColor = "text-black", titleColor = "text-black", isLast = false }) => /* @__PURE__ */ React21.createElement(
2328
+ var MenuRow2 = ({ icon, title, subtitle, onClick, iconColor = "text-black", titleColor = "text-black", isLast = false }) => /* @__PURE__ */ React22.createElement(
2083
2329
  "div",
2084
2330
  {
2085
2331
  onClick,
2086
2332
  className: `flex items-center p-4 cursor-pointer hover:bg-neutral-50 transition-colors ${!isLast ? "" : ""}`
2087
2333
  },
2088
- /* @__PURE__ */ React21.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon, size: 16, className: iconColor })),
2089
- /* @__PURE__ */ React21.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React21.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ React21.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
2090
- /* @__PURE__ */ React21.createElement(HugeiconsIcon15, { icon: ArrowRight01Icon3, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2334
+ /* @__PURE__ */ React22.createElement("div", { className: "w-9 h-9 rounded-full border border-neutral-200 flex items-center justify-center shrink-0 mr-4" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon16, { icon, size: 16, className: iconColor })),
2335
+ /* @__PURE__ */ React22.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React22.createElement("p", { className: `text-[13px] truncate ${titleColor}` }, title), /* @__PURE__ */ React22.createElement("p", { className: "text-[11px] text-neutral-500 truncate" }, subtitle)),
2336
+ /* @__PURE__ */ React22.createElement(HugeiconsIcon16, { icon: ArrowRight01Icon3, size: 18, className: "text-neutral-400 shrink-0 ml-2" })
2091
2337
  );
2092
2338
 
2093
2339
  // src/components/HeroSection.tsx
2094
- import React23, { useState as useState15, useEffect as useEffect10, useRef as useRef4 } from "react";
2340
+ import React24, { useState as useState16, useEffect as useEffect10, useRef as useRef4 } from "react";
2095
2341
  import Link5 from "next/link";
2096
2342
  import Image3 from "next/image";
2097
2343
 
2098
2344
  // src/components/WaitlistDialog.tsx
2099
- import React22, { useState as useState14 } from "react";
2345
+ import React23, { useState as useState15 } from "react";
2100
2346
  import { toast as toast6 } from "react-hot-toast";
2101
2347
  var WaitlistDialog = ({ isOpen, onClose }) => {
2102
- const [email, setEmail] = useState14("");
2103
- const [isLoading, setIsLoading] = useState14(false);
2348
+ const [email, setEmail] = useState15("");
2349
+ const [isLoading, setIsLoading] = useState15(false);
2104
2350
  if (!isOpen) return null;
2105
2351
  const handleSubmit = async (e) => {
2106
2352
  e.preventDefault();
@@ -2131,12 +2377,12 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2131
2377
  setIsLoading(false);
2132
2378
  }
2133
2379
  };
2134
- return /* @__PURE__ */ React22.createElement("div", { className: "fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ React22.createElement("div", { className: "absolute inset-0", onClick: !isLoading ? onClose : void 0 }), /* @__PURE__ */ React22.createElement(
2380
+ return /* @__PURE__ */ React23.createElement("div", { className: "fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40" }, /* @__PURE__ */ React23.createElement("div", { className: "absolute inset-0", onClick: !isLoading ? onClose : void 0 }), /* @__PURE__ */ React23.createElement(
2135
2381
  "div",
2136
2382
  {
2137
2383
  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"
2138
2384
  },
2139
- /* @__PURE__ */ React22.createElement(
2385
+ /* @__PURE__ */ React23.createElement(
2140
2386
  "button",
2141
2387
  {
2142
2388
  onClick: onClose,
@@ -2144,7 +2390,7 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2144
2390
  className: "absolute top-4 right-4 p-2 text-neutral-700 hover:text-neutral-400 transition-colors disabled:opacity-50 outline-none",
2145
2391
  "aria-label": "Close dialog"
2146
2392
  },
2147
- /* @__PURE__ */ React22.createElement(
2393
+ /* @__PURE__ */ React23.createElement(
2148
2394
  "svg",
2149
2395
  {
2150
2396
  xmlns: "http://www.w3.org/2000/svg",
@@ -2157,11 +2403,11 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2157
2403
  strokeLinecap: "round",
2158
2404
  strokeLinejoin: "round"
2159
2405
  },
2160
- /* @__PURE__ */ React22.createElement("path", { d: "M18 6 6 18" }),
2161
- /* @__PURE__ */ React22.createElement("path", { d: "m6 6 12 12" })
2406
+ /* @__PURE__ */ React23.createElement("path", { d: "M18 6 6 18" }),
2407
+ /* @__PURE__ */ React23.createElement("path", { d: "m6 6 12 12" })
2162
2408
  )
2163
2409
  ),
2164
- /* @__PURE__ */ React22.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React22.createElement("div", { className: "mb-8 mt-2" }, /* @__PURE__ */ React22.createElement("h2", { className: "text-2xl text-black tracking-tight mb-2" }, "Join the Waitlist"), /* @__PURE__ */ React22.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__ */ React22.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-8" }, /* @__PURE__ */ React22.createElement(
2410
+ /* @__PURE__ */ React23.createElement("div", { className: "p-6 sm:p-8" }, /* @__PURE__ */ React23.createElement("div", { className: "mb-8 mt-2" }, /* @__PURE__ */ React23.createElement("h2", { className: "text-2xl text-black tracking-tight mb-2" }, "Join the Waitlist"), /* @__PURE__ */ React23.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__ */ React23.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-8" }, /* @__PURE__ */ React23.createElement(
2165
2411
  TextInput,
2166
2412
  {
2167
2413
  label: "Email ID",
@@ -2171,7 +2417,7 @@ var WaitlistDialog = ({ isOpen, onClose }) => {
2171
2417
  placeholder: "name@example.com",
2172
2418
  disabled: isLoading
2173
2419
  }
2174
- ), /* @__PURE__ */ React22.createElement(
2420
+ ), /* @__PURE__ */ React23.createElement(
2175
2421
  ThreeDActionButton,
2176
2422
  {
2177
2423
  type: "submit",
@@ -2204,8 +2450,8 @@ var HeroSection = ({
2204
2450
  bgImageSrc,
2205
2451
  isWaitlist = false
2206
2452
  }) => {
2207
- const [isAnimating, setIsAnimating] = useState15(false);
2208
- const [isWaitlistOpen, setIsWaitlistOpen] = useState15(false);
2453
+ const [isAnimating, setIsAnimating] = useState16(false);
2454
+ const [isWaitlistOpen, setIsWaitlistOpen] = useState16(false);
2209
2455
  const titleRef = useRef4(null);
2210
2456
  useEffect10(() => {
2211
2457
  const observer = new IntersectionObserver(
@@ -2229,7 +2475,7 @@ var HeroSection = ({
2229
2475
  setIsWaitlistOpen(true);
2230
2476
  }
2231
2477
  };
2232
- return /* @__PURE__ */ React23.createElement("div", { className: "w-screen min-h-screen flex justify-center items-center p-4" }, /* @__PURE__ */ React23.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ React23.createElement(
2478
+ return /* @__PURE__ */ React24.createElement("div", { className: "w-screen min-h-screen flex justify-center items-center p-4" }, /* @__PURE__ */ React24.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ React24.createElement(
2233
2479
  "video",
2234
2480
  {
2235
2481
  src: bgVideoSrc,
@@ -2240,7 +2486,7 @@ var HeroSection = ({
2240
2486
  playsInline: true,
2241
2487
  className: "absolute inset-0 h-full w-full object-cover z-0"
2242
2488
  }
2243
- ) : bgImageSrc ? /* @__PURE__ */ React23.createElement(
2489
+ ) : bgImageSrc ? /* @__PURE__ */ React24.createElement(
2244
2490
  Image3,
2245
2491
  {
2246
2492
  src: bgImageSrc,
@@ -2249,7 +2495,7 @@ var HeroSection = ({
2249
2495
  priority: true,
2250
2496
  className: "absolute inset-0 h-full w-full object-cover z-0"
2251
2497
  }
2252
- ) : null, /* @__PURE__ */ React23.createElement(
2498
+ ) : null, /* @__PURE__ */ React24.createElement(
2253
2499
  "div",
2254
2500
  {
2255
2501
  className: "pointer-events-none absolute inset-0 z-10 opacity-[0.7] mix-blend-overlay",
@@ -2257,15 +2503,15 @@ var HeroSection = ({
2257
2503
  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")`
2258
2504
  }
2259
2505
  }
2260
- ), /* @__PURE__ */ React23.createElement("div", { className: "pointer-events-none absolute inset-0 bg-linear-to-b from-black/30 via-transparent to-black/80 z-10" }), /* @__PURE__ */ React23.createElement("div", { className: "absolute bottom-0 left-0 right-0 px-4 pb-4 sm:px-6 md:px-10 z-20" }, /* @__PURE__ */ React23.createElement("div", { className: "grid grid-cols-12 items-end gap-4" }, /* @__PURE__ */ React23.createElement("div", { className: "col-span-12 lg:col-span-8" }, /* @__PURE__ */ React23.createElement(
2506
+ ), /* @__PURE__ */ React24.createElement("div", { className: "pointer-events-none absolute inset-0 bg-linear-to-b from-black/30 via-transparent to-black/80 z-10" }), /* @__PURE__ */ React24.createElement("div", { className: "absolute bottom-0 left-0 right-0 px-4 pb-4 sm:px-6 md:px-10 z-20" }, /* @__PURE__ */ React24.createElement("div", { className: "grid grid-cols-12 items-end gap-4" }, /* @__PURE__ */ React24.createElement("div", { className: "col-span-12 lg:col-span-8" }, /* @__PURE__ */ React24.createElement(
2261
2507
  "h1",
2262
2508
  {
2263
2509
  ref: titleRef,
2264
2510
  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]"
2265
2511
  },
2266
- /* @__PURE__ */ React23.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ React23.createElement("span", { className: `inline-block relative transition-all duration-1000 ${isAnimating ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"}` }, titlePrefix, titlePrefix && /* @__PURE__ */ React23.createElement("br", null), highlightText, /* @__PURE__ */ React23.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2267
- )), /* @__PURE__ */ React23.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ React23.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__ */ React23.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!
2268
- /* @__PURE__ */ React23.createElement(
2512
+ /* @__PURE__ */ React24.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ React24.createElement("span", { className: `inline-block relative transition-all duration-1000 ${isAnimating ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"}` }, titlePrefix, titlePrefix && /* @__PURE__ */ React24.createElement("br", null), highlightText, /* @__PURE__ */ React24.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2513
+ )), /* @__PURE__ */ React24.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ React24.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__ */ React24.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!
2514
+ /* @__PURE__ */ React24.createElement(
2269
2515
  Link5,
2270
2516
  {
2271
2517
  href: isWaitlist ? "#" : ctaHref || "#",
@@ -2273,15 +2519,15 @@ var HeroSection = ({
2273
2519
  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"
2274
2520
  },
2275
2521
  ctaText,
2276
- /* @__PURE__ */ React23.createElement("span", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-black transition-transform group-hover:scale-110" }, /* @__PURE__ */ React23.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__ */ React23.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ React23.createElement("path", { d: "m12 5 7 7-7 7" })))
2277
- ), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ React23.createElement(
2522
+ /* @__PURE__ */ React24.createElement("span", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-black transition-transform group-hover:scale-110" }, /* @__PURE__ */ React24.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__ */ React24.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ React24.createElement("path", { d: "m12 5 7 7-7 7" })))
2523
+ ), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ React24.createElement(
2278
2524
  Link5,
2279
2525
  {
2280
2526
  href: secondaryCtaHref,
2281
2527
  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"
2282
2528
  },
2283
2529
  secondaryCtaText
2284
- )), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React23.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ React23.createElement("span", { className: "text-[10px] tracking-widest uppercase text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ React23.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ React23.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__ */ React23.createElement(
2530
+ )), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React24.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ React24.createElement("span", { className: "text-[10px] tracking-widest uppercase text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ React24.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ React24.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__ */ React24.createElement(
2285
2531
  Image3,
2286
2532
  {
2287
2533
  src: logo.src,
@@ -2290,7 +2536,7 @@ var HeroSection = ({
2290
2536
  height: 28,
2291
2537
  className: "object-contain"
2292
2538
  }
2293
- ))))))))), /* @__PURE__ */ React23.createElement(
2539
+ ))))))))), /* @__PURE__ */ React24.createElement(
2294
2540
  WaitlistDialog,
2295
2541
  {
2296
2542
  isOpen: isWaitlistOpen,
@@ -2300,10 +2546,10 @@ var HeroSection = ({
2300
2546
  };
2301
2547
 
2302
2548
  // src/components/AppBento2.tsx
2303
- import React24, { useState as useState16, useEffect as useEffect11, useRef as useRef5 } from "react";
2304
- import { HugeiconsIcon as HugeiconsIcon16 } from "@hugeicons/react";
2549
+ import React25, { useState as useState17, useEffect as useEffect11, useRef as useRef5 } from "react";
2550
+ import { HugeiconsIcon as HugeiconsIcon17 } from "@hugeicons/react";
2305
2551
  var AppBento2 = ({ tagline, headline, features }) => {
2306
- const [isAnimating, setIsAnimating] = useState16(false);
2552
+ const [isAnimating, setIsAnimating] = useState17(false);
2307
2553
  const titleRef = useRef5(null);
2308
2554
  useEffect11(() => {
2309
2555
  const observer = new IntersectionObserver(
@@ -2323,7 +2569,7 @@ var AppBento2 = ({ tagline, headline, features }) => {
2323
2569
  }
2324
2570
  return () => observer.disconnect();
2325
2571
  }, []);
2326
- return /* @__PURE__ */ React24.createElement("div", { className: "w-full py-16" }, /* @__PURE__ */ React24.createElement("div", { className: "w-full flex justify-center px-4" }, /* @__PURE__ */ React24.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ React24.createElement("div", { className: "relative overflow-hidden mb-12 text-left" }, /* @__PURE__ */ React24.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React24.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4 " }, tagline), /* @__PURE__ */ React24.createElement(
2572
+ return /* @__PURE__ */ React25.createElement("div", { className: "w-full py-16" }, /* @__PURE__ */ React25.createElement("div", { className: "w-full flex justify-center px-4" }, /* @__PURE__ */ React25.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ React25.createElement("div", { className: "relative overflow-hidden mb-12 text-left" }, /* @__PURE__ */ React25.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React25.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4 " }, tagline), /* @__PURE__ */ React25.createElement(
2327
2573
  "h2",
2328
2574
  {
2329
2575
  ref: titleRef,
@@ -2331,7 +2577,7 @@ var AppBento2 = ({ tagline, headline, features }) => {
2331
2577
  style: isAnimating ? { animationIterationCount: 1 } : {}
2332
2578
  },
2333
2579
  headline
2334
- ))), /* @__PURE__ */ React24.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-6 gap-6" }, features.map((f, i) => {
2580
+ ))), /* @__PURE__ */ React25.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-6 gap-6" }, features.map((f, i) => {
2335
2581
  const isWhite = i === 0;
2336
2582
  const isBlack = i === 1;
2337
2583
  const isNeutral = i === 2;
@@ -2353,36 +2599,36 @@ var AppBento2 = ({ tagline, headline, features }) => {
2353
2599
  const textColor = isBlack ? "text-white" : "text-black";
2354
2600
  const subTextColor = isBlack ? "text-neutral-300" : "text-neutral-600";
2355
2601
  const labelColor = isBlack ? "text-neutral-400" : "text-neutral-500";
2356
- return /* @__PURE__ */ React24.createElement(
2602
+ return /* @__PURE__ */ React25.createElement(
2357
2603
  "div",
2358
2604
  {
2359
2605
  key: i,
2360
2606
  className: `relative rounded-2xl overflow-hidden p-8 flex flex-col min-h-75 transition-all duration-500 group text-left ${getBgStyle()} ${f.size}`,
2361
2607
  style: { boxShadow: getShadowStyle() }
2362
2608
  },
2363
- /* @__PURE__ */ React24.createElement(
2609
+ /* @__PURE__ */ React25.createElement(
2364
2610
  "div",
2365
2611
  {
2366
2612
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
2367
2613
  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")` }
2368
2614
  }
2369
2615
  ),
2370
- isBlack && /* @__PURE__ */ React24.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" }),
2371
- /* @__PURE__ */ React24.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ React24.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__ */ React24.createElement(HugeiconsIcon16, { icon: f.icon, size: 180 }))),
2372
- /* @__PURE__ */ React24.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ React24.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ React24.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ React24.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ React24.createElement(HugeiconsIcon16, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ React24.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React24.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ React24.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
2616
+ isBlack && /* @__PURE__ */ React25.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" }),
2617
+ /* @__PURE__ */ React25.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ React25.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__ */ React25.createElement(HugeiconsIcon17, { icon: f.icon, size: 180 }))),
2618
+ /* @__PURE__ */ React25.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ React25.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ React25.createElement("span", { className: `text-[9px] tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ React25.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ React25.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React25.createElement("h3", { className: `text-xl mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ React25.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
2373
2619
  );
2374
2620
  })))));
2375
2621
  };
2376
2622
 
2377
2623
  // src/components/FeatureScroll.tsx
2378
- import React25, { useRef as useRef6, useState as useState17, useEffect as useEffect12 } from "react";
2624
+ import React26, { useRef as useRef6, useState as useState18, useEffect as useEffect12 } from "react";
2379
2625
  import Image4 from "next/image";
2380
- import { HugeiconsIcon as HugeiconsIcon17 } from "@hugeicons/react";
2381
- import { ArrowLeft01Icon as ArrowLeft01Icon2, ArrowRight01Icon as ArrowRight01Icon4, Loading03Icon as Loading03Icon10 } from "@hugeicons/core-free-icons";
2626
+ import { HugeiconsIcon as HugeiconsIcon18 } from "@hugeicons/react";
2627
+ import { ArrowLeft01Icon as ArrowLeft01Icon3, ArrowRight01Icon as ArrowRight01Icon4, Loading03Icon as Loading03Icon10 } from "@hugeicons/core-free-icons";
2382
2628
  var FeatureCard = ({ feature, bgImage }) => {
2383
- const [isBgLoading, setIsBgLoading] = useState17(true);
2384
- const [isFgLoading, setIsFgLoading] = useState17(!!feature.image);
2385
- return /* @__PURE__ */ React25.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__ */ React25.createElement("div", { className: "relative w-full aspect-16/10 bg-neutral-100 rounded-2xl overflow-hidden mb-6 flex items-center justify-center" }, /* @__PURE__ */ React25.createElement(
2629
+ const [isBgLoading, setIsBgLoading] = useState18(true);
2630
+ const [isFgLoading, setIsFgLoading] = useState18(!!feature.image);
2631
+ return /* @__PURE__ */ React26.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__ */ React26.createElement("div", { className: "relative w-full aspect-16/10 bg-neutral-100 rounded-2xl overflow-hidden mb-6 flex items-center justify-center" }, /* @__PURE__ */ React26.createElement(
2386
2632
  Image4,
2387
2633
  {
2388
2634
  src: bgImage,
@@ -2395,7 +2641,7 @@ var FeatureCard = ({ feature, bgImage }) => {
2395
2641
  ${isBgLoading ? "blur-xl scale-110" : "blur-0 scale-100"}
2396
2642
  `
2397
2643
  }
2398
- ), /* @__PURE__ */ React25.createElement(
2644
+ ), /* @__PURE__ */ React26.createElement(
2399
2645
  "div",
2400
2646
  {
2401
2647
  className: "absolute inset-0 w-full h-full pointer-events-none z-0 opacity-[0.25] mix-blend-overlay",
@@ -2403,7 +2649,7 @@ var FeatureCard = ({ feature, bgImage }) => {
2403
2649
  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")`
2404
2650
  }
2405
2651
  }
2406
- ), isFgLoading && feature.image && /* @__PURE__ */ React25.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__ */ React25.createElement(HugeiconsIcon17, { icon: Loading03Icon10, size: 32, className: "animate-spin text-neutral-400" })), feature.image && /* @__PURE__ */ React25.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__ */ React25.createElement(
2652
+ ), isFgLoading && feature.image && /* @__PURE__ */ React26.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__ */ React26.createElement(HugeiconsIcon18, { icon: Loading03Icon10, size: 32, className: "animate-spin text-neutral-400" })), feature.image && /* @__PURE__ */ React26.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__ */ React26.createElement(
2407
2653
  Image4,
2408
2654
  {
2409
2655
  src: feature.image,
@@ -2416,12 +2662,12 @@ var FeatureCard = ({ feature, bgImage }) => {
2416
2662
  ${isFgLoading ? "opacity-0 blur-xl" : "opacity-100 blur-0"}
2417
2663
  `
2418
2664
  }
2419
- ))), /* @__PURE__ */ React25.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ React25.createElement("h3", { className: " text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ React25.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
2665
+ ))), /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ React26.createElement("h3", { className: " text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ React26.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
2420
2666
  };
2421
2667
  var FeatureScroll = ({ tagline, headline, features }) => {
2422
2668
  const scrollRef = useRef6(null);
2423
- const [canScrollLeft, setCanScrollLeft] = useState17(false);
2424
- const [canScrollRight, setCanScrollRight] = useState17(true);
2669
+ const [canScrollLeft, setCanScrollLeft] = useState18(false);
2670
+ const [canScrollRight, setCanScrollRight] = useState18(true);
2425
2671
  const checkScroll = () => {
2426
2672
  if (scrollRef.current) {
2427
2673
  const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;
@@ -2445,7 +2691,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2445
2691
  "https://retinalabs.company/assets/images/bg_6.avif",
2446
2692
  "https://retinalabs.company/assets/images/bg_1.avif"
2447
2693
  ];
2448
- return /* @__PURE__ */ React25.createElement("section", { className: "py-24 w-full flex justify-center relative z-10 overflow-hidden" }, /* @__PURE__ */ React25.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ React25.createElement("div", { className: "flex flex-col md:flex-row md:items-end justify-between gap-6 mb-12" }, /* @__PURE__ */ React25.createElement("div", { className: "relative z-10 text-left" }, /* @__PURE__ */ React25.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ React25.createElement("h2", { className: " text-3xl tracking-tight text-black leading-[1.05]" }, headline)), /* @__PURE__ */ React25.createElement("div", { className: "hidden md:flex items-center gap-3" }, /* @__PURE__ */ React25.createElement(
2694
+ return /* @__PURE__ */ React26.createElement("section", { className: "py-24 w-full flex justify-center relative z-10 overflow-hidden" }, /* @__PURE__ */ React26.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col md:flex-row md:items-end justify-between gap-6 mb-12" }, /* @__PURE__ */ React26.createElement("div", { className: "relative z-10 text-left" }, /* @__PURE__ */ React26.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ React26.createElement("h2", { className: " text-3xl tracking-tight text-black leading-[1.05]" }, headline)), /* @__PURE__ */ React26.createElement("div", { className: "hidden md:flex items-center gap-3" }, /* @__PURE__ */ React26.createElement(
2449
2695
  "button",
2450
2696
  {
2451
2697
  onClick: () => scroll("left"),
@@ -2453,8 +2699,8 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2453
2699
  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",
2454
2700
  "aria-label": "Previous feature"
2455
2701
  },
2456
- /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: ArrowLeft01Icon2, size: 20 })
2457
- ), /* @__PURE__ */ React25.createElement(
2702
+ /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: ArrowLeft01Icon3, size: 20 })
2703
+ ), /* @__PURE__ */ React26.createElement(
2458
2704
  "button",
2459
2705
  {
2460
2706
  onClick: () => scroll("right"),
@@ -2462,57 +2708,57 @@ var FeatureScroll = ({ tagline, headline, features }) => {
2462
2708
  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",
2463
2709
  "aria-label": "Next feature"
2464
2710
  },
2465
- /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: ArrowRight01Icon4, size: 20 })
2466
- ))), /* @__PURE__ */ React25.createElement(
2711
+ /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: ArrowRight01Icon4, size: 20 })
2712
+ ))), /* @__PURE__ */ React26.createElement(
2467
2713
  "div",
2468
2714
  {
2469
2715
  ref: scrollRef,
2470
2716
  onScroll: checkScroll,
2471
2717
  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"
2472
2718
  },
2473
- features.slice(0, 3).map((feature, idx) => /* @__PURE__ */ React25.createElement(FeatureCard, { key: idx, feature, bgImage: bgImages[idx] }))
2474
- ), /* @__PURE__ */ React25.createElement("div", { className: "flex md:hidden items-center justify-center gap-4 mt-2" }, /* @__PURE__ */ React25.createElement(
2719
+ features.slice(0, 3).map((feature, idx) => /* @__PURE__ */ React26.createElement(FeatureCard, { key: idx, feature, bgImage: bgImages[idx] }))
2720
+ ), /* @__PURE__ */ React26.createElement("div", { className: "flex md:hidden items-center justify-center gap-4 mt-2" }, /* @__PURE__ */ React26.createElement(
2475
2721
  "button",
2476
2722
  {
2477
2723
  onClick: () => scroll("left"),
2478
2724
  disabled: !canScrollLeft,
2479
2725
  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"
2480
2726
  },
2481
- /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: ArrowLeft01Icon2, size: 20 })
2482
- ), /* @__PURE__ */ React25.createElement(
2727
+ /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: ArrowLeft01Icon3, size: 20 })
2728
+ ), /* @__PURE__ */ React26.createElement(
2483
2729
  "button",
2484
2730
  {
2485
2731
  onClick: () => scroll("right"),
2486
2732
  disabled: !canScrollRight,
2487
2733
  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"
2488
2734
  },
2489
- /* @__PURE__ */ React25.createElement(HugeiconsIcon17, { icon: ArrowRight01Icon4, size: 20 })
2735
+ /* @__PURE__ */ React26.createElement(HugeiconsIcon18, { icon: ArrowRight01Icon4, size: 20 })
2490
2736
  ))));
2491
2737
  };
2492
2738
 
2493
2739
  // src/components/PlatformFeatures.tsx
2494
- import React26 from "react";
2495
- import { HugeiconsIcon as HugeiconsIcon18 } from "@hugeicons/react";
2740
+ import React27 from "react";
2741
+ import { HugeiconsIcon as HugeiconsIcon19 } from "@hugeicons/react";
2496
2742
  var PlatformFeatures = ({
2497
2743
  tagline,
2498
2744
  headline,
2499
2745
  description,
2500
2746
  features
2501
2747
  }) => {
2502
- return /* @__PURE__ */ React26.createElement("section", { className: "w-full flex justify-center mb-15 relative z-10" }, /* @__PURE__ */ React26.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col items-start mb-16 relative z-10" }, /* @__PURE__ */ React26.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ React26.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.05] mb-6" }, headline), /* @__PURE__ */ React26.createElement("p", { className: "text-[15px] leading-[1.8] text-neutral-600 max-w-2xl" }, description)), /* @__PURE__ */ React26.createElement("div", { className: "w-full h-px bg-neutral-100 mb-16", "aria-hidden": "true" }), /* @__PURE__ */ React26.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__ */ React26.createElement(
2748
+ return /* @__PURE__ */ React27.createElement("section", { className: "w-full flex justify-center mb-15 relative z-10" }, /* @__PURE__ */ React27.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ React27.createElement("div", { className: "flex flex-col items-start mb-16 relative z-10" }, /* @__PURE__ */ React27.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ React27.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.05] mb-6" }, headline), /* @__PURE__ */ React27.createElement("p", { className: "text-[15px] leading-[1.8] text-neutral-600 max-w-2xl" }, description)), /* @__PURE__ */ React27.createElement("div", { className: "w-full h-px bg-neutral-100 mb-16", "aria-hidden": "true" }), /* @__PURE__ */ React27.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__ */ React27.createElement(
2503
2749
  "div",
2504
2750
  {
2505
2751
  key: idx,
2506
2752
  className: "flex flex-col group animate-in fade-in slide-in-from-bottom-4 duration-700 fill-mode-both",
2507
2753
  style: { animationDelay: feature.delay || "0ms" }
2508
2754
  },
2509
- /* @__PURE__ */ React26.createElement("div", { className: "flex flex-row items-center gap-4 mb-4" }, /* @__PURE__ */ React26.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__ */ React26.createElement(HugeiconsIcon18, { icon: feature.icon, size: 24 })), /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ React26.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-0.5" }, feature.label || "CAPABILITY"), /* @__PURE__ */ React26.createElement("h3", { className: "text-xl tracking-tight text-black" }, feature.title))),
2510
- /* @__PURE__ */ React26.createElement("div", null, /* @__PURE__ */ React26.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
2755
+ /* @__PURE__ */ React27.createElement("div", { className: "flex flex-row items-center gap-4 mb-4" }, /* @__PURE__ */ React27.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__ */ React27.createElement(HugeiconsIcon19, { icon: feature.icon, size: 24 })), /* @__PURE__ */ React27.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ React27.createElement("span", { className: "text-[11px] tracking-widest text-neutral-400 mb-0.5" }, feature.label || "CAPABILITY"), /* @__PURE__ */ React27.createElement("h3", { className: "text-xl tracking-tight text-black" }, feature.title))),
2756
+ /* @__PURE__ */ React27.createElement("div", null, /* @__PURE__ */ React27.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
2511
2757
  )))));
2512
2758
  };
2513
2759
 
2514
2760
  // src/components/ManagedDocument.tsx
2515
- import React27, { useState as useState18, useEffect as useEffect13, useRef as useRef7 } from "react";
2761
+ import React28, { useState as useState19, useEffect as useEffect13, useRef as useRef7 } from "react";
2516
2762
  var ManagedDocument = ({
2517
2763
  tagline,
2518
2764
  title,
@@ -2520,7 +2766,7 @@ var ManagedDocument = ({
2520
2766
  contactText,
2521
2767
  contactEmail
2522
2768
  }) => {
2523
- const [isAnimating, setIsAnimating] = useState18(false);
2769
+ const [isAnimating, setIsAnimating] = useState19(false);
2524
2770
  const titleRef = useRef7(null);
2525
2771
  useEffect13(() => {
2526
2772
  const observer = new IntersectionObserver(
@@ -2542,7 +2788,7 @@ var ManagedDocument = ({
2542
2788
  }, []);
2543
2789
  return (
2544
2790
  // Outer layout wrapper (takes up available space, adds padding)
2545
- /* @__PURE__ */ React27.createElement("div", { className: "grow pt-4 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React27.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ React27.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React27.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ React27.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React27.createElement(
2791
+ /* @__PURE__ */ React28.createElement("div", { className: "grow pt-4 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React28.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ React28.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React28.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ React28.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React28.createElement(
2546
2792
  "h1",
2547
2793
  {
2548
2794
  ref: titleRef,
@@ -2550,7 +2796,7 @@ var ManagedDocument = ({
2550
2796
  style: isAnimating ? { animationIterationCount: 1 } : {}
2551
2797
  },
2552
2798
  title
2553
- )), sections.map((section, index) => /* @__PURE__ */ React27.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ React27.createElement("p", { className: " text-[11px] tracking-[0.2em] text-black mb-4 text-left " }, section.heading), section.paragraphs && section.paragraphs.length > 0 && /* @__PURE__ */ React27.createElement("div", { className: "text-[14px] leading-[1.8] text-neutral-700 space-y-4 text-left " }, section.paragraphs.map((text, pIndex) => /* @__PURE__ */ React27.createElement("p", { key: pIndex }, text))), section.quote && /* @__PURE__ */ React27.createElement("div", { className: `border-neutral-100 border rounded-xl p-6 ${section.paragraphs && section.paragraphs.length > 0 ? "mt-6" : ""}` }, /* @__PURE__ */ React27.createElement("p", { className: "text-neutral-900 text-[14px] md:text-[14px] leading-relaxed" }, '"', section.quote, '"')))), (contactText || contactEmail) && /* @__PURE__ */ React27.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ React27.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ React27.createElement(
2799
+ )), sections.map((section, index) => /* @__PURE__ */ React28.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ React28.createElement("p", { className: " text-[11px] tracking-[0.2em] text-black mb-4 text-left " }, section.heading), section.paragraphs && section.paragraphs.length > 0 && /* @__PURE__ */ React28.createElement("div", { className: "text-[14px] leading-[1.8] text-neutral-700 space-y-4 text-left " }, section.paragraphs.map((text, pIndex) => /* @__PURE__ */ React28.createElement("p", { key: pIndex }, text))), section.quote && /* @__PURE__ */ React28.createElement("div", { className: `border-neutral-100 border rounded-xl p-6 ${section.paragraphs && section.paragraphs.length > 0 ? "mt-6" : ""}` }, /* @__PURE__ */ React28.createElement("p", { className: "text-neutral-900 text-[14px] md:text-[14px] leading-relaxed" }, '"', section.quote, '"')))), (contactText || contactEmail) && /* @__PURE__ */ React28.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ React28.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ React28.createElement(
2554
2800
  "a",
2555
2801
  {
2556
2802
  href: `mailto:${contactEmail}`,
@@ -2562,18 +2808,18 @@ var ManagedDocument = ({
2562
2808
  };
2563
2809
 
2564
2810
  // src/components/ManagedContactBlock.tsx
2565
- import React28, { useState as useState19, useEffect as useEffect14 } from "react";
2566
- import { HugeiconsIcon as HugeiconsIcon19 } from "@hugeicons/react";
2811
+ import React29, { useState as useState20, useEffect as useEffect14 } from "react";
2812
+ import { HugeiconsIcon as HugeiconsIcon20 } from "@hugeicons/react";
2567
2813
  var SecureEmail = ({ user, domain, className }) => {
2568
- const [isMounted, setIsMounted] = useState19(false);
2814
+ const [isMounted, setIsMounted] = useState20(false);
2569
2815
  useEffect14(() => {
2570
2816
  setIsMounted(true);
2571
2817
  }, []);
2572
2818
  if (!isMounted) {
2573
- return /* @__PURE__ */ React28.createElement("span", { className, style: { opacity: 0 } }, "Loading");
2819
+ return /* @__PURE__ */ React29.createElement("span", { className, style: { opacity: 0 } }, "Loading");
2574
2820
  }
2575
2821
  const email = `${user}@${domain}`;
2576
- return /* @__PURE__ */ React28.createElement("a", { href: `mailto:${email}`, className }, email);
2822
+ return /* @__PURE__ */ React29.createElement("a", { href: `mailto:${email}`, className }, email);
2577
2823
  };
2578
2824
  var ManagedContactBlock = ({
2579
2825
  tagline,
@@ -2582,7 +2828,7 @@ var ManagedContactBlock = ({
2582
2828
  emails,
2583
2829
  socials
2584
2830
  }) => {
2585
- return /* @__PURE__ */ React28.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React28.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ React28.createElement(
2831
+ return /* @__PURE__ */ React29.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React29.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ React29.createElement(
2586
2832
  "div",
2587
2833
  {
2588
2834
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -2591,21 +2837,21 @@ var ManagedContactBlock = ({
2591
2837
  backgroundRepeat: "repeat"
2592
2838
  }
2593
2839
  }
2594
- ), /* @__PURE__ */ React28.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React28.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ React28.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React28.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ React28.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ React28.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ React28.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React28.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Contact Details"), /* @__PURE__ */ React28.createElement("div", { className: "space-y-3 text-[13px] text-neutral-600 leading-[1.8]" }, company.name && /* @__PURE__ */ React28.createElement("p", { className: "text-black" }, company.name), company.lines && company.lines.map((line, idx) => /* @__PURE__ */ React28.createElement("p", { key: idx }, line)), company.phone && /* @__PURE__ */ React28.createElement("p", { className: "pt-2" }, /* @__PURE__ */ React28.createElement(
2840
+ ), /* @__PURE__ */ React29.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React29.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ React29.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React29.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ React29.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ React29.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ React29.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React29.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Contact Details"), /* @__PURE__ */ React29.createElement("div", { className: "space-y-3 text-[13px] text-neutral-600 leading-[1.8]" }, company.name && /* @__PURE__ */ React29.createElement("p", { className: "text-black" }, company.name), company.lines && company.lines.map((line, idx) => /* @__PURE__ */ React29.createElement("p", { key: idx }, line)), company.phone && /* @__PURE__ */ React29.createElement("p", { className: "pt-2" }, /* @__PURE__ */ React29.createElement(
2595
2841
  "a",
2596
2842
  {
2597
2843
  href: `tel:${company.phone.replace(/\s+/g, "")}`,
2598
2844
  className: "transition-colors hover:text-black"
2599
2845
  },
2600
2846
  company.phone
2601
- )))), emails && emails.length > 0 && /* @__PURE__ */ React28.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React28.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Email Directory"), /* @__PURE__ */ React28.createElement("div", { className: "space-y-6 text-[13px]" }, emails.map((email, idx) => /* @__PURE__ */ React28.createElement("div", { key: idx }, /* @__PURE__ */ React28.createElement("p", { className: "text-[11px] tracking-[0.2em] mb-1.5 text-neutral-500 " }, email.label), /* @__PURE__ */ React28.createElement(
2847
+ )))), emails && emails.length > 0 && /* @__PURE__ */ React29.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React29.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Email Directory"), /* @__PURE__ */ React29.createElement("div", { className: "space-y-6 text-[13px]" }, emails.map((email, idx) => /* @__PURE__ */ React29.createElement("div", { key: idx }, /* @__PURE__ */ React29.createElement("p", { className: "text-[11px] tracking-[0.2em] mb-1.5 text-neutral-500 " }, email.label), /* @__PURE__ */ React29.createElement(
2602
2848
  SecureEmail,
2603
2849
  {
2604
2850
  user: email.user,
2605
2851
  domain: email.domain,
2606
2852
  className: "text-neutral-600 transition-colors hover:text-black"
2607
2853
  }
2608
- ))))), socials && socials.length > 0 && /* @__PURE__ */ React28.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React28.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Find Us Online"), /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col space-y-5 pt-1" }, socials.map((social, idx) => /* @__PURE__ */ React28.createElement(
2854
+ ))))), socials && socials.length > 0 && /* @__PURE__ */ React29.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ React29.createElement("p", { className: "text-[11px] tracking-[0.2em] text-black mb-4 " }, "Find Us Online"), /* @__PURE__ */ React29.createElement("div", { className: "flex flex-col space-y-5 pt-1" }, socials.map((social, idx) => /* @__PURE__ */ React29.createElement(
2609
2855
  "a",
2610
2856
  {
2611
2857
  key: idx,
@@ -2615,25 +2861,25 @@ var ManagedContactBlock = ({
2615
2861
  className: "flex items-center gap-3 transition-colors group text-neutral-600 hover:text-black",
2616
2862
  "aria-label": social.label
2617
2863
  },
2618
- /* @__PURE__ */ React28.createElement(HugeiconsIcon19, { icon: social.icon, size: 18 }),
2619
- /* @__PURE__ */ React28.createElement("span", { className: "text-[13px]" }, social.label)
2864
+ /* @__PURE__ */ React29.createElement(HugeiconsIcon20, { icon: social.icon, size: 18 }),
2865
+ /* @__PURE__ */ React29.createElement("span", { className: "text-[13px]" }, social.label)
2620
2866
  )))))))));
2621
2867
  };
2622
2868
 
2623
2869
  // src/components/ManagedPricingBlock.tsx
2624
- import React29, { useState as useState20, useEffect as useEffect15, useRef as useRef8 } from "react";
2870
+ import React30, { useState as useState21, useEffect as useEffect15, useRef as useRef8 } from "react";
2625
2871
  import Link6 from "next/link";
2626
2872
  import Image5 from "next/image";
2627
- var CheckIcon = ({ className = "" }) => /* @__PURE__ */ React29.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__ */ React29.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ React29.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2628
- var CrossIcon = ({ className = "" }) => /* @__PURE__ */ React29.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__ */ React29.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ React29.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2873
+ var CheckIcon = ({ className = "" }) => /* @__PURE__ */ React30.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__ */ React30.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ React30.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2874
+ var CrossIcon = ({ className = "" }) => /* @__PURE__ */ React30.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__ */ React30.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ React30.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
2629
2875
  var ManagedPricingBlock = ({
2630
2876
  tagline,
2631
2877
  title,
2632
2878
  plans = [],
2633
2879
  tabs
2634
2880
  }) => {
2635
- const [isAnimating, setIsAnimating] = useState20(false);
2636
- const [activeTabIndex, setActiveTabIndex] = useState20(0);
2881
+ const [isAnimating, setIsAnimating] = useState21(false);
2882
+ const [activeTabIndex, setActiveTabIndex] = useState21(0);
2637
2883
  const titleRef = useRef8(null);
2638
2884
  useEffect15(() => {
2639
2885
  const observer = new IntersectionObserver(
@@ -2655,7 +2901,7 @@ var ManagedPricingBlock = ({
2655
2901
  }, []);
2656
2902
  const hasTabs = tabs && tabs.length > 0;
2657
2903
  const currentPlans = hasTabs ? tabs[activeTabIndex].plans : plans;
2658
- return /* @__PURE__ */ React29.createElement("div", { className: "grow pt-10 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React29.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ React29.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 sm:mb-12" }, tagline && /* @__PURE__ */ React29.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block " }, tagline), /* @__PURE__ */ React29.createElement(
2904
+ return /* @__PURE__ */ React30.createElement("div", { className: "grow pt-10 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React30.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ React30.createElement("div", { className: "w-full flex flex-col items-center text-center mb-10 sm:mb-12" }, tagline && /* @__PURE__ */ React30.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block " }, tagline), /* @__PURE__ */ React30.createElement(
2659
2905
  "h1",
2660
2906
  {
2661
2907
  ref: titleRef,
@@ -2663,9 +2909,9 @@ var ManagedPricingBlock = ({
2663
2909
  style: isAnimating ? { animationIterationCount: 1 } : {}
2664
2910
  },
2665
2911
  title
2666
- )), hasTabs && /* @__PURE__ */ React29.createElement("div", { className: "flex items-center justify-center mb-8 sm:mb-10 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React29.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) => {
2912
+ )), hasTabs && /* @__PURE__ */ React30.createElement("div", { className: "flex items-center justify-center mb-8 sm:mb-10 w-full animate-in fade-in duration-300 px-2" }, /* @__PURE__ */ React30.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) => {
2667
2913
  const isActive = activeTabIndex === idx;
2668
- return /* @__PURE__ */ React29.createElement(
2914
+ return /* @__PURE__ */ React30.createElement(
2669
2915
  "button",
2670
2916
  {
2671
2917
  key: idx,
@@ -2674,19 +2920,19 @@ var ManagedPricingBlock = ({
2674
2920
  },
2675
2921
  tab.label
2676
2922
  );
2677
- }))), /* @__PURE__ */ React29.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__ */ React29.createElement(
2923
+ }))), /* @__PURE__ */ React30.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__ */ React30.createElement(
2678
2924
  "div",
2679
2925
  {
2680
2926
  key: `${activeTabIndex}-${planIdx}`,
2681
2927
  className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden transition-all duration-300 ${plan.isPremium ? "" : ""}`
2682
2928
  },
2683
- /* @__PURE__ */ React29.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React29.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ React29.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ React29.createElement("h3", { className: "text-3xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ React29.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ React29.createElement("p", { className: "text-xs text-neutral-500 mt-2 min-h-8" }, plan.description), plan.showApps && plan.appLogos && plan.appLogos.length > 0 && /* @__PURE__ */ React29.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ React29.createElement(
2929
+ /* @__PURE__ */ React30.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React30.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ React30.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ React30.createElement("h3", { className: "text-3xl font-light text-black" }, plan.price), plan.period && /* @__PURE__ */ React30.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ React30.createElement("p", { className: "text-xs text-neutral-500 mt-2 min-h-8" }, plan.description), plan.showApps && plan.appLogos && plan.appLogos.length > 0 && /* @__PURE__ */ React30.createElement("div", { className: "flex items-center gap-2 mt-4" }, plan.appLogos.map((logo, logoIdx) => /* @__PURE__ */ React30.createElement(
2684
2930
  "div",
2685
2931
  {
2686
2932
  key: logoIdx,
2687
2933
  className: "relative w-5 h-5 overflow-hidden flex items-center justify-center shrink-0"
2688
2934
  },
2689
- /* @__PURE__ */ React29.createElement(
2935
+ /* @__PURE__ */ React30.createElement(
2690
2936
  Image5,
2691
2937
  {
2692
2938
  src: logo.src,
@@ -2697,7 +2943,7 @@ var ManagedPricingBlock = ({
2697
2943
  }
2698
2944
  )
2699
2945
  )))),
2700
- plan.isPremium ? /* @__PURE__ */ React29.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ React29.createElement(
2946
+ plan.isPremium ? /* @__PURE__ */ React30.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ React30.createElement(
2701
2947
  Link6,
2702
2948
  {
2703
2949
  href: plan.ctaHref,
@@ -2705,20 +2951,20 @@ var ManagedPricingBlock = ({
2705
2951
  },
2706
2952
  plan.ctaText
2707
2953
  ),
2708
- /* @__PURE__ */ React29.createElement("div", { className: "flex flex-col gap-3" }, plan.features.map((feature, featureIdx) => {
2954
+ /* @__PURE__ */ React30.createElement("div", { className: "flex flex-col gap-3" }, plan.features.map((feature, featureIdx) => {
2709
2955
  const isAvailable = feature.value !== false;
2710
2956
  const valueText = typeof feature.value === "string" ? feature.value : "";
2711
- return /* @__PURE__ */ React29.createElement("div", { key: featureIdx, className: "flex items-center gap-2.5" }, isAvailable ? /* @__PURE__ */ React29.createElement(CheckIcon, null) : /* @__PURE__ */ React29.createElement(CrossIcon, null), /* @__PURE__ */ React29.createElement("span", { className: `text-xs truncate ${isAvailable ? "text-neutral-800" : "text-neutral-400"}` }, feature.name, valueText && /* @__PURE__ */ React29.createElement("span", { className: "text-neutral-500 ml-1" }, "(", valueText, ")")));
2957
+ return /* @__PURE__ */ React30.createElement("div", { key: featureIdx, className: "flex items-center gap-2.5" }, isAvailable ? /* @__PURE__ */ React30.createElement(CheckIcon, null) : /* @__PURE__ */ React30.createElement(CrossIcon, null), /* @__PURE__ */ React30.createElement("span", { className: `text-xs truncate ${isAvailable ? "text-neutral-800" : "text-neutral-400"}` }, feature.name, valueText && /* @__PURE__ */ React30.createElement("span", { className: "text-neutral-500 ml-1" }, "(", valueText, ")")));
2712
2958
  }))
2713
2959
  )))));
2714
2960
  };
2715
2961
 
2716
2962
  // src/components/ManagedBoardBlock.tsx
2717
- import React30 from "react";
2963
+ import React31 from "react";
2718
2964
  import Image6 from "next/image";
2719
- import { HugeiconsIcon as HugeiconsIcon20 } from "@hugeicons/react";
2965
+ import { HugeiconsIcon as HugeiconsIcon21 } from "@hugeicons/react";
2720
2966
  import { TwitterIcon, LinkedinIcon } from "@hugeicons/core-free-icons";
2721
- var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ React30.createElement(
2967
+ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ React31.createElement(
2722
2968
  "a",
2723
2969
  {
2724
2970
  href,
@@ -2727,7 +2973,7 @@ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ React30.
2727
2973
  className: "text-neutral-400 hover:text-black transition-colors",
2728
2974
  "aria-label": `${name} on ${label}`
2729
2975
  },
2730
- /* @__PURE__ */ React30.createElement(HugeiconsIcon20, { icon, size: 16 })
2976
+ /* @__PURE__ */ React31.createElement(HugeiconsIcon21, { icon, size: 16 })
2731
2977
  );
2732
2978
  var ManagedBoardBlock = ({
2733
2979
  tagline,
@@ -2736,7 +2982,7 @@ var ManagedBoardBlock = ({
2736
2982
  contactText,
2737
2983
  contactEmail
2738
2984
  }) => {
2739
- return /* @__PURE__ */ React30.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React30.createElement("div", { className: "relative w-full mx-auto overflow-hidden max-w-7xl" }, /* @__PURE__ */ React30.createElement(
2985
+ return /* @__PURE__ */ React31.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React31.createElement("div", { className: "relative w-full mx-auto overflow-hidden max-w-7xl" }, /* @__PURE__ */ React31.createElement(
2740
2986
  "div",
2741
2987
  {
2742
2988
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -2745,7 +2991,7 @@ var ManagedBoardBlock = ({
2745
2991
  backgroundRepeat: "repeat"
2746
2992
  }
2747
2993
  }
2748
- ), /* @__PURE__ */ React30.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React30.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ React30.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React30.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ React30.createElement("div", { className: "relative px-5 md:px-12 py-4 md:py-8" }, /* @__PURE__ */ React30.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__ */ React30.createElement("div", { key: idx, className: "relative p-6 md:p-8 rounded-2xl bg-white flex flex-col transition-all group" }, /* @__PURE__ */ React30.createElement("div", { className: "flex items-start space-x-4 md:space-x-5 mb-5 md:mb-6" }, /* @__PURE__ */ React30.createElement("div", { className: "relative w-14 h-14 md:w-16 md:h-16 shrink-0 bg-white overflow-hidden rounded-xl" }, /* @__PURE__ */ React30.createElement(
2994
+ ), /* @__PURE__ */ React31.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React31.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ React31.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React31.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ React31.createElement("div", { className: "relative px-5 md:px-12 py-4 md:py-8" }, /* @__PURE__ */ React31.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__ */ React31.createElement("div", { key: idx, className: "relative p-6 md:p-8 rounded-2xl bg-white flex flex-col transition-all group" }, /* @__PURE__ */ React31.createElement("div", { className: "flex items-start space-x-4 md:space-x-5 mb-5 md:mb-6" }, /* @__PURE__ */ React31.createElement("div", { className: "relative w-14 h-14 md:w-16 md:h-16 shrink-0 bg-white overflow-hidden rounded-xl" }, /* @__PURE__ */ React31.createElement(
2749
2995
  Image6,
2750
2996
  {
2751
2997
  src: member.imageSrc,
@@ -2754,7 +3000,7 @@ var ManagedBoardBlock = ({
2754
3000
  sizes: "(max-width: 768px) 56px, 64px",
2755
3001
  className: "object-cover grayscale opacity-100 transition-opacity"
2756
3002
  }
2757
- )), /* @__PURE__ */ React30.createElement("div", { className: "pt-1" }, /* @__PURE__ */ React30.createElement("h3", { className: " text-[14px] md:text-[15px] text-black tracking-tight" }, member.name), /* @__PURE__ */ React30.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 mt-1.5 " }, member.title))), /* @__PURE__ */ React30.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 text-left grow mb-8" }, member.bio), /* @__PURE__ */ React30.createElement("div", { className: "space-y-6 mt-auto" }, /* @__PURE__ */ React30.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ React30.createElement(ThreeDButton, { href: member.website }, "Visit Website")), /* @__PURE__ */ React30.createElement("div", { className: "flex space-x-4 pt-5" }, member.twitterHandle && member.twitterHandle.length > 0 && /* @__PURE__ */ React30.createElement(
3003
+ )), /* @__PURE__ */ React31.createElement("div", { className: "pt-1" }, /* @__PURE__ */ React31.createElement("h3", { className: " text-[14px] md:text-[15px] text-black tracking-tight" }, member.name), /* @__PURE__ */ React31.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 mt-1.5 " }, member.title))), /* @__PURE__ */ React31.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 text-left grow mb-8" }, member.bio), /* @__PURE__ */ React31.createElement("div", { className: "space-y-6 mt-auto" }, /* @__PURE__ */ React31.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ React31.createElement(ThreeDButton, { href: member.website }, "Visit Website")), /* @__PURE__ */ React31.createElement("div", { className: "flex space-x-4 pt-5" }, member.twitterHandle && member.twitterHandle.length > 0 && /* @__PURE__ */ React31.createElement(
2758
3004
  MemberSocialLink,
2759
3005
  {
2760
3006
  href: `https://x.com/${member.twitterHandle}`,
@@ -2762,7 +3008,7 @@ var ManagedBoardBlock = ({
2762
3008
  label: "X",
2763
3009
  name: member.name
2764
3010
  }
2765
- ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ React30.createElement(
3011
+ ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ React31.createElement(
2766
3012
  MemberSocialLink,
2767
3013
  {
2768
3014
  href: member.linkedinHandle,
@@ -2770,28 +3016,28 @@ var ManagedBoardBlock = ({
2770
3016
  label: "LinkedIn",
2771
3017
  name: member.name
2772
3018
  }
2773
- ))))))), (contactText || contactEmail) && /* @__PURE__ */ React30.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ React30.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ React30.createElement("a", { href: `mailto:${contactEmail}`, className: "text-black decoration-black decoration-2 underline-offset-4 ml-1 transition-colors" }, contactEmail))))));
3019
+ ))))))), (contactText || contactEmail) && /* @__PURE__ */ React31.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ React31.createElement("p", { className: "text-[11px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ React31.createElement("a", { href: `mailto:${contactEmail}`, className: "text-black decoration-black decoration-2 underline-offset-4 ml-1 transition-colors" }, contactEmail))))));
2774
3020
  };
2775
3021
 
2776
3022
  // src/components/ManagedNotFoundBlock.tsx
2777
- import React31 from "react";
3023
+ import React32 from "react";
2778
3024
  var ManagedNotFoundBlock = ({
2779
3025
  title = "404 - Page Not Found",
2780
3026
  description = "The page you are looking for does not exist or has been moved."
2781
3027
  }) => {
2782
- return /* @__PURE__ */ React31.createElement("main", { className: "min-h-screen flex items-center justify-center relative z-20 bg-transparent" }, /* @__PURE__ */ React31.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ React31.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ React31.createElement(
3028
+ return /* @__PURE__ */ React32.createElement("main", { className: "min-h-screen flex items-center justify-center relative z-20 bg-transparent" }, /* @__PURE__ */ React32.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ React32.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ React32.createElement(
2783
3029
  "svg",
2784
3030
  {
2785
3031
  xmlns: "http://www.w3.org/2000/svg",
2786
3032
  viewBox: "0 0 24 24",
2787
3033
  className: "w-12 h-12 fill-neutral-100"
2788
3034
  },
2789
- /* @__PURE__ */ React31.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" })
2790
- )), /* @__PURE__ */ React31.createElement("h1", { className: " text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ React31.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description)));
3035
+ /* @__PURE__ */ React32.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" })
3036
+ )), /* @__PURE__ */ React32.createElement("h1", { className: " text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ React32.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description)));
2791
3037
  };
2792
3038
 
2793
3039
  // src/components/ManagedNewsletterSplitBlock.tsx
2794
- import React32 from "react";
3040
+ import React33 from "react";
2795
3041
  import Image7 from "next/image";
2796
3042
  var ManagedNewsletterSplitBlock = ({
2797
3043
  tagline,
@@ -2805,7 +3051,7 @@ var ManagedNewsletterSplitBlock = ({
2805
3051
  ctaHref = "/contact",
2806
3052
  children
2807
3053
  }) => {
2808
- return /* @__PURE__ */ React32.createElement("div", { className: "grow flex flex-col md:flex-row relative w-full pt-32 md:pt-0" }, /* @__PURE__ */ React32.createElement("div", { className: "hidden md:block md:w-1/2 relative min-h-screen overflow-hidden" }, /* @__PURE__ */ React32.createElement(
3054
+ return /* @__PURE__ */ React33.createElement("div", { className: "grow flex flex-col md:flex-row relative w-full pt-32 md:pt-0" }, /* @__PURE__ */ React33.createElement("div", { className: "hidden md:block md:w-1/2 relative min-h-screen overflow-hidden" }, /* @__PURE__ */ React33.createElement(
2809
3055
  Image7,
2810
3056
  {
2811
3057
  src: imageSrc,
@@ -2815,7 +3061,7 @@ var ManagedNewsletterSplitBlock = ({
2815
3061
  className: "object-cover object-top grayscale opacity-60",
2816
3062
  quality: 100
2817
3063
  }
2818
- ), /* @__PURE__ */ React32.createElement(
3064
+ ), /* @__PURE__ */ React33.createElement(
2819
3065
  "div",
2820
3066
  {
2821
3067
  className: "absolute inset-0 z-10 pointer-events-none",
@@ -2823,7 +3069,7 @@ var ManagedNewsletterSplitBlock = ({
2823
3069
  background: "linear-gradient(to right, rgba(255,255,255,0) 30%, #ffffff 100%)"
2824
3070
  }
2825
3071
  }
2826
- ), /* @__PURE__ */ React32.createElement(
3072
+ ), /* @__PURE__ */ React33.createElement(
2827
3073
  "div",
2828
3074
  {
2829
3075
  className: "absolute inset-x-0 bottom-0 h-40 z-10 pointer-events-none",
@@ -2831,7 +3077,7 @@ var ManagedNewsletterSplitBlock = ({
2831
3077
  background: "linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffffff 100%)"
2832
3078
  }
2833
3079
  }
2834
- )), /* @__PURE__ */ React32.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__ */ React32.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__ */ React32.createElement(
3080
+ )), /* @__PURE__ */ React33.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__ */ React33.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__ */ React33.createElement(
2835
3081
  "div",
2836
3082
  {
2837
3083
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -2840,7 +3086,7 @@ var ManagedNewsletterSplitBlock = ({
2840
3086
  backgroundRepeat: "repeat"
2841
3087
  }
2842
3088
  }
2843
- ), /* @__PURE__ */ React32.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React32.createElement("div", { className: "mb-10 border-b border-neutral-100 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ React32.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 " }, tagline), /* @__PURE__ */ React32.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ React32.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, subtitle)), /* @__PURE__ */ React32.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-10 text-center md:text-left" }, description), children && /* @__PURE__ */ React32.createElement("div", { className: "mb-8 text-left" }, children), /* @__PURE__ */ React32.createElement("div", { className: "text-center md:text-left mt-10 space-y-6" }, dividerText && /* @__PURE__ */ React32.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React32.createElement("div", { className: "grow h-px bg-neutral-100" }), /* @__PURE__ */ React32.createElement("span", { className: "shrink mx-4 text-[11px] tracking-[0.2em] text-neutral-400 " }, dividerText), /* @__PURE__ */ React32.createElement("div", { className: "grow h-px bg-neutral-100" })), ctaText && ctaHref && /* @__PURE__ */ React32.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ React32.createElement(
3089
+ ), /* @__PURE__ */ React33.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React33.createElement("div", { className: "mb-10 border-b border-neutral-100 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ React33.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 " }, tagline), /* @__PURE__ */ React33.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ React33.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, subtitle)), /* @__PURE__ */ React33.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-10 text-center md:text-left" }, description), children && /* @__PURE__ */ React33.createElement("div", { className: "mb-8 text-left" }, children), /* @__PURE__ */ React33.createElement("div", { className: "text-center md:text-left mt-10 space-y-6" }, dividerText && /* @__PURE__ */ React33.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React33.createElement("div", { className: "grow h-px bg-neutral-100" }), /* @__PURE__ */ React33.createElement("span", { className: "shrink mx-4 text-[11px] tracking-[0.2em] text-neutral-400 " }, dividerText), /* @__PURE__ */ React33.createElement("div", { className: "grow h-px bg-neutral-100" })), ctaText && ctaHref && /* @__PURE__ */ React33.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ React33.createElement(
2844
3090
  ThreeDButton,
2845
3091
  {
2846
3092
  href: ctaHref,
@@ -2851,10 +3097,10 @@ var ManagedNewsletterSplitBlock = ({
2851
3097
  };
2852
3098
 
2853
3099
  // src/components/PortfolioHero.tsx
2854
- import React33, { useEffect as useEffect16, useRef as useRef9 } from "react";
3100
+ import React34, { useEffect as useEffect16, useRef as useRef9 } from "react";
2855
3101
  import Link7 from "next/link";
2856
3102
  import Image8 from "next/image";
2857
- import { HugeiconsIcon as HugeiconsIcon21 } from "@hugeicons/react";
3103
+ import { HugeiconsIcon as HugeiconsIcon22 } from "@hugeicons/react";
2858
3104
  import { ArrowRight01Icon as ArrowRight01Icon5 } from "@hugeicons/core-free-icons";
2859
3105
  var useScrollAnimation = () => {
2860
3106
  const elementRef = useRef9(null);
@@ -2894,13 +3140,13 @@ var PortfolioHero = ({
2894
3140
  secondaryCtaHref
2895
3141
  }) => {
2896
3142
  const heroContentRef = useScrollAnimation();
2897
- return /* @__PURE__ */ React33.createElement("section", { className: "pt-8 pb-16 px-6 md:px-12 flex flex-col relative overflow-hidden z-10 w-full" }, /* @__PURE__ */ React33.createElement(
3143
+ return /* @__PURE__ */ React34.createElement("section", { className: "pt-8 pb-16 px-6 md:px-12 flex flex-col relative overflow-hidden z-10 w-full" }, /* @__PURE__ */ React34.createElement(
2898
3144
  "div",
2899
3145
  {
2900
3146
  ref: heroContentRef,
2901
3147
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
2902
3148
  },
2903
- /* @__PURE__ */ React33.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ React33.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__ */ React33.createElement(
3149
+ /* @__PURE__ */ React34.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ React34.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__ */ React34.createElement(
2904
3150
  Image8,
2905
3151
  {
2906
3152
  src: imageSrc,
@@ -2911,7 +3157,7 @@ var PortfolioHero = ({
2911
3157
  sizes: "(max-width: 640px) 80px, 128px",
2912
3158
  quality: 100
2913
3159
  }
2914
- )), /* @__PURE__ */ React33.createElement("div", { className: "flex flex-col text-left" }, /* @__PURE__ */ React33.createElement("h1", { className: " text-3xl sm:text-5xl lg:text-6xl tracking-tight text-black leading-none mb-3" }, name), socialLabel && /* @__PURE__ */ React33.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, socialLabel), socialLinkText && socialLinkHref && /* @__PURE__ */ React33.createElement(
3160
+ )), /* @__PURE__ */ React34.createElement("div", { className: "flex flex-col text-left" }, /* @__PURE__ */ React34.createElement("h1", { className: " text-3xl sm:text-5xl lg:text-6xl tracking-tight text-black leading-none mb-3" }, name), socialLabel && /* @__PURE__ */ React34.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 " }, socialLabel), socialLinkText && socialLinkHref && /* @__PURE__ */ React34.createElement(
2915
3161
  "a",
2916
3162
  {
2917
3163
  href: socialLinkHref,
@@ -2921,30 +3167,30 @@ var PortfolioHero = ({
2921
3167
  },
2922
3168
  socialLinkText
2923
3169
  ))),
2924
- /* @__PURE__ */ React33.createElement("p", { className: "text-[13px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
2925
- /* @__PURE__ */ React33.createElement("div", { className: "flex flex-col sm:flex-row gap-4 w-full sm:w-auto" }, primaryCtaText && primaryCtaHref && /* @__PURE__ */ React33.createElement("div", { className: "w-full sm:w-auto *:w-full" }, /* @__PURE__ */ React33.createElement(
3170
+ /* @__PURE__ */ React34.createElement("p", { className: "text-[13px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
3171
+ /* @__PURE__ */ React34.createElement("div", { className: "flex flex-col sm:flex-row gap-4 w-full sm:w-auto" }, primaryCtaText && primaryCtaHref && /* @__PURE__ */ React34.createElement("div", { className: "w-full sm:w-auto *:w-full" }, /* @__PURE__ */ React34.createElement(
2926
3172
  ThreeDButton,
2927
3173
  {
2928
3174
  href: primaryCtaHref,
2929
3175
  className: "py-3 tracking-widest text-[11px]"
2930
3176
  },
2931
3177
  primaryCtaText
2932
- )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ React33.createElement(
3178
+ )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ React34.createElement(
2933
3179
  Link7,
2934
3180
  {
2935
3181
  href: secondaryCtaHref,
2936
3182
  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"
2937
3183
  },
2938
3184
  secondaryCtaText,
2939
- /* @__PURE__ */ React33.createElement(HugeiconsIcon21, { icon: ArrowRight01Icon5, size: 16 })
3185
+ /* @__PURE__ */ React34.createElement(HugeiconsIcon22, { icon: ArrowRight01Icon5, size: 16 })
2940
3186
  ))
2941
3187
  ));
2942
3188
  };
2943
3189
 
2944
3190
  // src/components/GifFeatureCard.tsx
2945
- import React34, { useState as useState21 } from "react";
3191
+ import React35, { useState as useState22 } from "react";
2946
3192
  import Image9 from "next/image";
2947
- import { HugeiconsIcon as HugeiconsIcon22 } from "@hugeicons/react";
3193
+ import { HugeiconsIcon as HugeiconsIcon23 } from "@hugeicons/react";
2948
3194
  import { Loading03Icon as Loading03Icon11 } from "@hugeicons/core-free-icons";
2949
3195
  var GifFeatureCard = ({
2950
3196
  gifSrc,
@@ -2953,20 +3199,20 @@ var GifFeatureCard = ({
2953
3199
  alt = "Feature animation",
2954
3200
  className = "aspect-video"
2955
3201
  }) => {
2956
- const [isLoading, setIsLoading] = useState21(true);
2957
- return /* @__PURE__ */ React34.createElement("div", { className: `relative w-full bg-black overflow-hidden shadow-2xl ${className}` }, isLoading && /* @__PURE__ */ React34.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ React34.createElement(
2958
- HugeiconsIcon22,
3202
+ const [isLoading, setIsLoading] = useState22(true);
3203
+ return /* @__PURE__ */ React35.createElement("div", { className: `relative w-full bg-black overflow-hidden shadow-2xl ${className}` }, isLoading && /* @__PURE__ */ React35.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ React35.createElement(
3204
+ HugeiconsIcon23,
2959
3205
  {
2960
3206
  icon: Loading03Icon11,
2961
3207
  size: 32,
2962
3208
  className: "animate-spin text-white"
2963
3209
  }
2964
- )), /* @__PURE__ */ React34.createElement(
3210
+ )), /* @__PURE__ */ React35.createElement(
2965
3211
  "div",
2966
3212
  {
2967
3213
  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"}`
2968
3214
  },
2969
- /* @__PURE__ */ React34.createElement(
3215
+ /* @__PURE__ */ React35.createElement(
2970
3216
  Image9,
2971
3217
  {
2972
3218
  src: gifSrc,
@@ -2977,16 +3223,16 @@ var GifFeatureCard = ({
2977
3223
  className: "object-cover object-center pointer-events-none"
2978
3224
  }
2979
3225
  )
2980
- ), /* @__PURE__ */ React34.createElement(
3226
+ ), /* @__PURE__ */ React35.createElement(
2981
3227
  "div",
2982
3228
  {
2983
3229
  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"
2984
3230
  }
2985
- ), /* @__PURE__ */ React34.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__ */ React34.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__ */ React34.createElement("p", { className: "text-[13px] sm:text-[15px] leading-relaxed text-neutral-300 max-w-2xl drop-shadow-sm" }, subtitle)));
3231
+ ), /* @__PURE__ */ React35.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__ */ React35.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__ */ React35.createElement("p", { className: "text-[13px] sm:text-[15px] leading-relaxed text-neutral-300 max-w-2xl drop-shadow-sm" }, subtitle)));
2986
3232
  };
2987
3233
 
2988
3234
  // src/components/MedicalFeatureStatsBlock.tsx
2989
- import React35, { useState as useState22, useEffect as useEffect17, useRef as useRef10 } from "react";
3235
+ import React36, { useState as useState23, useEffect as useEffect17, useRef as useRef10 } from "react";
2990
3236
  import Image10 from "next/image";
2991
3237
  var MedicalFeatureStatsBlock = ({
2992
3238
  bottomHeadline,
@@ -2995,7 +3241,7 @@ var MedicalFeatureStatsBlock = ({
2995
3241
  trustText,
2996
3242
  stats
2997
3243
  }) => {
2998
- const [isAnimating, setIsAnimating] = useState22(false);
3244
+ const [isAnimating, setIsAnimating] = useState23(false);
2999
3245
  const titleRef = useRef10(null);
3000
3246
  useEffect17(() => {
3001
3247
  const observer = new IntersectionObserver(
@@ -3015,7 +3261,7 @@ var MedicalFeatureStatsBlock = ({
3015
3261
  }
3016
3262
  return () => observer.disconnect();
3017
3263
  }, []);
3018
- return /* @__PURE__ */ React35.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ React35.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ React35.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ React35.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ React35.createElement(
3264
+ return /* @__PURE__ */ React36.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ React36.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ React36.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-10 mb-12" }, /* @__PURE__ */ React36.createElement("div", { className: "max-w-xl" }, /* @__PURE__ */ React36.createElement(
3019
3265
  "h2",
3020
3266
  {
3021
3267
  ref: titleRef,
@@ -3023,7 +3269,7 @@ var MedicalFeatureStatsBlock = ({
3023
3269
  style: isAnimating ? { animationIterationCount: 1 } : {}
3024
3270
  },
3025
3271
  bottomHeadline
3026
- ), /* @__PURE__ */ React35.createElement("p", { className: "text-[14px] leading-relaxed text-neutral-500" }, bottomDescription)), /* @__PURE__ */ React35.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ React35.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ React35.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__ */ React35.createElement(
3272
+ ), /* @__PURE__ */ React36.createElement("p", { className: "text-[14px] leading-relaxed text-neutral-500" }, bottomDescription)), /* @__PURE__ */ React36.createElement("div", { className: "flex items-center gap-4 shrink-0" }, /* @__PURE__ */ React36.createElement("div", { className: "flex -space-x-3" }, avatars.map((src, i) => /* @__PURE__ */ React36.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__ */ React36.createElement(
3027
3273
  Image10,
3028
3274
  {
3029
3275
  src,
@@ -3032,17 +3278,17 @@ var MedicalFeatureStatsBlock = ({
3032
3278
  sizes: "48px",
3033
3279
  className: "object-cover"
3034
3280
  }
3035
- )))), /* @__PURE__ */ React35.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ React35.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ React35.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ React35.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ React35.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ React35.createElement("h1", { className: "text-6xl gradient-text md:text-[80px] tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
3281
+ )))), /* @__PURE__ */ React36.createElement("p", { className: "text-[11px] text-neutral-800 leading-[1.4] max-w-55" }, trustText))), /* @__PURE__ */ React36.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6" }, stats.map((stat, idx) => /* @__PURE__ */ React36.createElement("div", { key: idx, className: "bg-white rounded-4xl p-8 md:p-10 flex flex-col h-70" }, /* @__PURE__ */ React36.createElement("div", { className: "flex items-center p-0.5 mb-6" }, /* @__PURE__ */ React36.createElement("span", { className: "text-[14px] text-neutral-500 tracking-wide" }, stat.label)), /* @__PURE__ */ React36.createElement("h1", { className: "text-6xl gradient-text md:text-[80px] tracking-tighter text-black mt-auto leading-none" }, stat.value))))));
3036
3282
  };
3037
3283
 
3038
3284
  // src/components/ConsultantShowcase.tsx
3039
- import React36, { useState as useState23 } from "react";
3285
+ import React37, { useState as useState24 } from "react";
3040
3286
  import Image11 from "next/image";
3041
- import { HugeiconsIcon as HugeiconsIcon23 } from "@hugeicons/react";
3287
+ import { HugeiconsIcon as HugeiconsIcon24 } from "@hugeicons/react";
3042
3288
  import { Loading03Icon as Loading03Icon12 } from "@hugeicons/core-free-icons";
3043
3289
  var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
3044
- const [isLoading, setIsLoading] = useState23(true);
3045
- return /* @__PURE__ */ React36.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ React36.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__ */ React36.createElement(HugeiconsIcon23, { icon: Loading03Icon12, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ React36.createElement(
3290
+ const [isLoading, setIsLoading] = useState24(true);
3291
+ return /* @__PURE__ */ React37.createElement("div", { className: `absolute inset-0 bg-neutral-800 ${className}` }, isLoading && /* @__PURE__ */ React37.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__ */ React37.createElement(HugeiconsIcon24, { icon: Loading03Icon12, size: 24, className: "animate-spin text-white/50" })), /* @__PURE__ */ React37.createElement(
3046
3292
  Image11,
3047
3293
  {
3048
3294
  src,
@@ -3061,9 +3307,9 @@ var ImageWithLoader = ({ src, alt, className, sizes, priority = false }) => {
3061
3307
  var ConsultantShowcase = ({
3062
3308
  profiles
3063
3309
  }) => {
3064
- const [currentIndex, setCurrentIndex] = useState23(0);
3065
- const [touchStart, setTouchStart] = useState23(null);
3066
- const [touchEnd, setTouchEnd] = useState23(null);
3310
+ const [currentIndex, setCurrentIndex] = useState24(0);
3311
+ const [touchStart, setTouchStart] = useState24(null);
3312
+ const [touchEnd, setTouchEnd] = useState24(null);
3067
3313
  const nextSlide = () => {
3068
3314
  setCurrentIndex((prev) => prev === profiles.length - 1 ? 0 : prev + 1);
3069
3315
  };
@@ -3088,7 +3334,7 @@ var ConsultantShowcase = ({
3088
3334
  }
3089
3335
  };
3090
3336
  if (!profiles || profiles.length === 0) return null;
3091
- return /* @__PURE__ */ React36.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ React36.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ React36.createElement(
3337
+ return /* @__PURE__ */ React37.createElement("section", { className: "py-24 w-full flex justify-center px-4 md:px-8 z-10 relative" }, /* @__PURE__ */ React37.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ React37.createElement(
3092
3338
  "div",
3093
3339
  {
3094
3340
  className: "relative w-full h-100 md:h-112.5 rounded-4xl overflow-hidden bg-neutral-900 group select-none",
@@ -3098,13 +3344,13 @@ var ConsultantShowcase = ({
3098
3344
  },
3099
3345
  profiles.map((profile, idx) => {
3100
3346
  const isActive = idx === currentIndex;
3101
- return /* @__PURE__ */ React36.createElement(
3347
+ return /* @__PURE__ */ React37.createElement(
3102
3348
  "div",
3103
3349
  {
3104
3350
  key: profile.id,
3105
3351
  className: `absolute inset-0 transition-opacity duration-700 ease-in-out ${isActive ? "opacity-100 z-10" : "opacity-0 z-0 pointer-events-none"}`
3106
3352
  },
3107
- /* @__PURE__ */ React36.createElement(
3353
+ /* @__PURE__ */ React37.createElement(
3108
3354
  ImageWithLoader,
3109
3355
  {
3110
3356
  src: profile.imageSrc,
@@ -3112,14 +3358,14 @@ var ConsultantShowcase = ({
3112
3358
  priority: idx === 0
3113
3359
  }
3114
3360
  ),
3115
- /* @__PURE__ */ React36.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
3116
- /* @__PURE__ */ React36.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" }),
3117
- /* @__PURE__ */ React36.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__ */ React36.createElement("h2", { className: "text-[29px] tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ React36.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ React36.createElement("p", { className: "text-[15px] text-white/80 tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ React36.createElement("p", { className: "text-[15px] text-white/80 tracking-wide mt-1" }, profile.description)))
3361
+ /* @__PURE__ */ React37.createElement("div", { className: "absolute inset-0 bg-black/20 z-10 pointer-events-none" }),
3362
+ /* @__PURE__ */ React37.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" }),
3363
+ /* @__PURE__ */ React37.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__ */ React37.createElement("h2", { className: "text-[29px] tracking-tight mb-2 leading-none" }, profile.name), /* @__PURE__ */ React37.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ React37.createElement("p", { className: "text-[15px] text-white/80 tracking-wide" }, profile.role), profile.description && /* @__PURE__ */ React37.createElement("p", { className: "text-[15px] text-white/80 tracking-wide mt-1" }, profile.description)))
3118
3364
  );
3119
3365
  }),
3120
- /* @__PURE__ */ React36.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" }),
3121
- /* @__PURE__ */ React36.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" }),
3122
- /* @__PURE__ */ React36.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__ */ React36.createElement(
3366
+ /* @__PURE__ */ React37.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" }),
3367
+ /* @__PURE__ */ React37.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" }),
3368
+ /* @__PURE__ */ React37.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__ */ React37.createElement(
3123
3369
  "button",
3124
3370
  {
3125
3371
  key: idx,
@@ -3132,13 +3378,13 @@ var ConsultantShowcase = ({
3132
3378
  };
3133
3379
 
3134
3380
  // src/components/ContentGridBlock.tsx
3135
- import React37, { useState as useState24 } from "react";
3381
+ import React38, { useState as useState25 } from "react";
3136
3382
  import Image12 from "next/image";
3137
- import { HugeiconsIcon as HugeiconsIcon24 } from "@hugeicons/react";
3383
+ import { HugeiconsIcon as HugeiconsIcon25 } from "@hugeicons/react";
3138
3384
  import { Loading03Icon as Loading03Icon13 } from "@hugeicons/core-free-icons";
3139
3385
  var ImageWithLoader2 = ({ src, alt, className, sizes }) => {
3140
- const [isLoading, setIsLoading] = useState24(true);
3141
- return /* @__PURE__ */ React37.createElement("div", { className: `relative overflow-hidden bg-neutral-100 ${className}` }, isLoading && /* @__PURE__ */ React37.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__ */ React37.createElement(HugeiconsIcon24, { icon: Loading03Icon13, size: 24, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ React37.createElement(
3386
+ const [isLoading, setIsLoading] = useState25(true);
3387
+ return /* @__PURE__ */ React38.createElement("div", { className: `relative overflow-hidden bg-neutral-100 ${className}` }, isLoading && /* @__PURE__ */ React38.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__ */ React38.createElement(HugeiconsIcon25, { icon: Loading03Icon13, size: 24, className: "animate-spin text-neutral-400" })), /* @__PURE__ */ React38.createElement(
3142
3388
  Image12,
3143
3389
  {
3144
3390
  src,
@@ -3160,30 +3406,30 @@ var ContentGridBlock = ({
3160
3406
  middleBottomCard,
3161
3407
  rightCards
3162
3408
  }) => {
3163
- return /* @__PURE__ */ React37.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React37.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React37.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React37.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React37.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React37.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React37.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React37.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React37.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ React37.createElement("span", { className: "mb-auto text-[11px] text-neutral-200 tracking-widest" }, leftCard.tag), /* @__PURE__ */ React37.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ React37.createElement("div", null, /* @__PURE__ */ React37.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ React37.createElement("p", { className: "text-[13px] text-neutral-300" }, leftCard.subtitle)), /* @__PURE__ */ React37.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React37.createElement(Image12, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ React37.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React37.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ React37.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ React37.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ React37.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React37.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ React37.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ React37.createElement(Image12, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ React37.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ React37.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ React37.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__ */ React37.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ React37.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React37.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ React37.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ React37.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React37.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ React37.createElement("div", null, /* @__PURE__ */ React37.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ React37.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ React37.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React37.createElement(Image12, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ React37.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React37.createElement("p", { className: "text-[16px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ React37.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ React37.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ React37.createElement("div", { key: idx, className: "relative w-full h-80 text-white rounded-3xl overflow-hidden group" }, /* @__PURE__ */ React37.createElement(
3409
+ return /* @__PURE__ */ React38.createElement("section", { className: " w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React38.createElement("div", { className: "max-w-300 w-full px-4 md:px-8 flex flex-col gap-12" }, /* @__PURE__ */ React38.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start lg:items-end gap-6 w-full" }, /* @__PURE__ */ React38.createElement("h2", { className: "text-3xl tracking-tight text-black leading-[1.15] max-w-lg" }, header.titlePrefix, " ", /* @__PURE__ */ React38.createElement("span", { className: "gradient-text" }, header.highlightText))), /* @__PURE__ */ React38.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" }, /* @__PURE__ */ React38.createElement("div", { className: "flex flex-col justify-end" }, /* @__PURE__ */ React38.createElement("div", { className: "bg-black rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React38.createElement("p", { className: "text-[17px] text-white leading-snug mb-4" }, leftCard.mainText), leftCard.tag && /* @__PURE__ */ React38.createElement("span", { className: "mb-auto text-[11px] text-neutral-200 tracking-widest" }, leftCard.tag), /* @__PURE__ */ React38.createElement("div", { className: "flex items-center justify-between mt-8" }, /* @__PURE__ */ React38.createElement("div", null, /* @__PURE__ */ React38.createElement("h4", { className: "text-[15px] text-white" }, leftCard.title), /* @__PURE__ */ React38.createElement("p", { className: "text-[13px] text-neutral-300" }, leftCard.subtitle)), /* @__PURE__ */ React38.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React38.createElement(Image12, { src: leftCard.thumbnailSrc, alt: leftCard.title, fill: true, className: "object-cover" }))))), /* @__PURE__ */ React38.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ React38.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col relative h-75" }, /* @__PURE__ */ React38.createElement("div", { className: "absolute top-6 right-6 flex flex-col items-end gap-1" }, /* @__PURE__ */ React38.createElement("span", { className: "text-[11px] text-neutral-400 tracking-wide" }, middleTopCard.topRightLabel), /* @__PURE__ */ React38.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React38.createElement("div", { className: "flex -space-x-2" }, middleTopCard.topRightAvatars.map((src, i) => /* @__PURE__ */ React38.createElement("div", { key: i, className: "w-7 h-7 rounded-full border-2 border-white overflow-hidden relative z-10" }, /* @__PURE__ */ React38.createElement(Image12, { src, alt: "Avatar", fill: true, className: "object-cover", sizes: "28px" })))), /* @__PURE__ */ React38.createElement("span", { className: "text-sm text-neutral-500" }, middleTopCard.topRightCount))), /* @__PURE__ */ React38.createElement("div", { className: "grow flex flex-col justify-center items-center py-6" }, /* @__PURE__ */ React38.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__ */ React38.createElement("span", { className: " text-black" }, middleTopCard.badgeHighlight), middleTopCard.badgeSuffix)), /* @__PURE__ */ React38.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React38.createElement("p", { className: "text-[11px] text-neutral-400 tracking-wide mb-1" }, middleTopCard.title), /* @__PURE__ */ React38.createElement("p", { className: "text-[14px] text-black leading-snug pr-4" }, middleTopCard.description))), /* @__PURE__ */ React38.createElement("div", { className: "bg-white rounded-3xl p-8 flex flex-col h-80" }, /* @__PURE__ */ React38.createElement("div", { className: "flex justify-between items-start mb-6" }, /* @__PURE__ */ React38.createElement("div", null, /* @__PURE__ */ React38.createElement("h4", { className: "text-[15px] text-black leading-tight" }, middleBottomCard.title), /* @__PURE__ */ React38.createElement("p", { className: "text-[13px] text-neutral-400" }, middleBottomCard.subtitle)), /* @__PURE__ */ React38.createElement("div", { className: "w-10 h-10 rounded-full overflow-hidden relative" }, /* @__PURE__ */ React38.createElement(Image12, { src: middleBottomCard.thumbnailSrc, alt: middleBottomCard.title, fill: true, className: "object-cover" }))), /* @__PURE__ */ React38.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ React38.createElement("p", { className: "text-[16px] text-black leading-snug mb-4" }, middleBottomCard.mainText), middleBottomCard.tag && /* @__PURE__ */ React38.createElement("span", { className: "text-[11px] text-neutral-400 tracking-widest" }, middleBottomCard.tag)))), /* @__PURE__ */ React38.createElement("div", { className: "flex flex-col gap-6" }, rightCards.slice(0, 2).map((card, idx) => /* @__PURE__ */ React38.createElement("div", { key: idx, className: "relative w-full h-80 text-white rounded-3xl overflow-hidden group" }, /* @__PURE__ */ React38.createElement(
3164
3410
  ImageWithLoader2,
3165
3411
  {
3166
3412
  src: card.bgImageSrc,
3167
3413
  alt: card.title,
3168
3414
  className: "absolute inset-0 w-full h-full"
3169
3415
  }
3170
- ), /* @__PURE__ */ React37.createElement("div", { className: "absolute inset-0 z-20 pointer-events-none" }), /* @__PURE__ */ React37.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ React37.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ React37.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ React37.createElement("div", { className: "pt-3" }, /* @__PURE__ */ React37.createElement("h4", { className: "text-[15px] text-white tracking-wide" }, card.title), /* @__PURE__ */ React37.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
3416
+ ), /* @__PURE__ */ React38.createElement("div", { className: "absolute inset-0 z-20 pointer-events-none" }), /* @__PURE__ */ React38.createElement("div", { className: "absolute inset-0 z-30 p-6 flex flex-col justify-end text-white" }, /* @__PURE__ */ React38.createElement("p", { className: "text-[14px] leading-snug mb-3 pr-2 text-white/90" }, card.mainText), card.tag && /* @__PURE__ */ React38.createElement("span", { className: "mb-4 text-[11px] text-white/50 tracking-widest" }, card.tag), /* @__PURE__ */ React38.createElement("div", { className: "pt-3" }, /* @__PURE__ */ React38.createElement("h4", { className: "text-[15px] text-white tracking-wide" }, card.title), /* @__PURE__ */ React38.createElement("p", { className: "text-[13px] text-white/60" }, card.subtitle)))))))));
3171
3417
  };
3172
3418
 
3173
3419
  // src/components/ManagedProjectsBlock.tsx
3174
- import React38 from "react";
3420
+ import React39 from "react";
3175
3421
  import Link8 from "next/link";
3176
3422
  var GridSection = ({
3177
3423
  children,
3178
3424
  isLast = false,
3179
3425
  className = "py-8 md:py-10"
3180
- }) => /* @__PURE__ */ React38.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
3426
+ }) => /* @__PURE__ */ React39.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "" : ""}` }, children);
3181
3427
  var ManagedProjectsBlock = ({
3182
3428
  tagline,
3183
3429
  title,
3184
3430
  projects
3185
3431
  }) => {
3186
- return /* @__PURE__ */ React38.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React38.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ React38.createElement(
3432
+ return /* @__PURE__ */ React39.createElement("div", { className: "grow pt-4 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React39.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ React39.createElement(
3187
3433
  "div",
3188
3434
  {
3189
3435
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -3192,10 +3438,10 @@ var ManagedProjectsBlock = ({
3192
3438
  backgroundRepeat: "repeat"
3193
3439
  }
3194
3440
  }
3195
- ), /* @__PURE__ */ React38.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React38.createElement(GridSection, null, tagline && /* @__PURE__ */ React38.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React38.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
3441
+ ), /* @__PURE__ */ React39.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React39.createElement(GridSection, null, tagline && /* @__PURE__ */ React39.createElement("span", { className: "text-[11px] tracking-[0.4em] text-neutral-500 text-left block " }, tagline), /* @__PURE__ */ React39.createElement("h1", { className: " text-3xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
3196
3442
  const isLast = index === projects.length - 1;
3197
- const projectContent = /* @__PURE__ */ React38.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ React38.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__ */ React38.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ React38.createElement("h2", { className: " text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ React38.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__ */ React38.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__ */ React38.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 shrink-0 " }, project.date)), /* @__PURE__ */ React38.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
3198
- return /* @__PURE__ */ React38.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__ */ React38.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ React38.createElement(Link8, { href: project.link, className: "block outline-none" }, projectContent));
3443
+ const projectContent = /* @__PURE__ */ React39.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ React39.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__ */ React39.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ React39.createElement("h2", { className: " text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ React39.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__ */ React39.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__ */ React39.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-500 shrink-0 " }, project.date)), /* @__PURE__ */ React39.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
3444
+ return /* @__PURE__ */ React39.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__ */ React39.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ React39.createElement(Link8, { href: project.link, className: "block outline-none" }, projectContent));
3199
3445
  }))));
3200
3446
  };
3201
3447
  export {