@retinalabsllc/zairusjs 9.0.90 → 10.0.1
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.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +32 -20
- package/dist/index.mjs +39 -27
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -267,6 +267,7 @@ interface UniversalWalletPageProps {
|
|
|
267
267
|
hideControls?: boolean;
|
|
268
268
|
hideBalanceAmounts?: boolean;
|
|
269
269
|
isGeneratingStatement?: boolean;
|
|
270
|
+
onBack?: () => void;
|
|
270
271
|
wallets: UniversalWallet[];
|
|
271
272
|
isLoading?: boolean;
|
|
272
273
|
renderQrCode?: (wallet: UniversalWallet) => React.ReactNode;
|
package/dist/index.d.ts
CHANGED
|
@@ -267,6 +267,7 @@ interface UniversalWalletPageProps {
|
|
|
267
267
|
hideControls?: boolean;
|
|
268
268
|
hideBalanceAmounts?: boolean;
|
|
269
269
|
isGeneratingStatement?: boolean;
|
|
270
|
+
onBack?: () => void;
|
|
270
271
|
wallets: UniversalWallet[];
|
|
271
272
|
isLoading?: boolean;
|
|
272
273
|
renderQrCode?: (wallet: UniversalWallet) => React.ReactNode;
|
package/dist/index.js
CHANGED
|
@@ -938,7 +938,7 @@ var UniversalOrganizationPage = ({
|
|
|
938
938
|
};
|
|
939
939
|
const hasChanges = web3Name !== initialOrgName || slug !== initialSlug || username !== resolvedInitialUsername;
|
|
940
940
|
const isSaveDisabled = isSubmitting || isReadOnly || isCheckingSlug || !hasChanges || web3Name.length < 3 || slug.length < 3 || username.length < 3 || slug !== initialSlug && slugAvailable === false;
|
|
941
|
-
return /* @__PURE__ */ import_react15.default.createElement("div", null, /* @__PURE__ */ import_react15.default.createElement("div", { className: "mb-
|
|
941
|
+
return /* @__PURE__ */ import_react15.default.createElement("div", null, /* @__PURE__ */ import_react15.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react15.default.createElement(
|
|
942
942
|
"button",
|
|
943
943
|
{
|
|
944
944
|
onClick: onBackHandler,
|
|
@@ -1073,8 +1073,8 @@ var UniversalProfileSettings = ({
|
|
|
1073
1073
|
const handlePinSubmit = async (e) => {
|
|
1074
1074
|
e.preventDefault();
|
|
1075
1075
|
if (!onSavePin) return;
|
|
1076
|
-
if (hasPin && oldPin.length !== 4) return import_react_hot_toast4.default.error("Old PIN must be exactly 4
|
|
1077
|
-
if (newPin.length !== 4) return import_react_hot_toast4.default.error("New PIN must be exactly 4
|
|
1076
|
+
if (hasPin && oldPin.length !== 4) return import_react_hot_toast4.default.error("Old PIN must be exactly 4-digits.");
|
|
1077
|
+
if (newPin.length !== 4) return import_react_hot_toast4.default.error("New PIN must be exactly 4-digits.");
|
|
1078
1078
|
if (newPin !== confirmPin) return import_react_hot_toast4.default.error("New PINs do not match.");
|
|
1079
1079
|
setIsPinSubmitting(true);
|
|
1080
1080
|
try {
|
|
@@ -1098,7 +1098,7 @@ var UniversalProfileSettings = ({
|
|
|
1098
1098
|
};
|
|
1099
1099
|
const hasChanges = firstName !== initialFirstName || lastName !== initialLastName;
|
|
1100
1100
|
const isSaveDisabled = isSubmitting || isReadOnly || !hasChanges || firstName.trim().length === 0 || lastName.trim().length === 0;
|
|
1101
|
-
return /* @__PURE__ */ import_react17.default.createElement("div", null, /* @__PURE__ */ import_react17.default.createElement("div", { className: "mb-
|
|
1101
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", null, /* @__PURE__ */ import_react17.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react17.default.createElement(
|
|
1102
1102
|
"button",
|
|
1103
1103
|
{
|
|
1104
1104
|
onClick: onBackHandler,
|
|
@@ -1632,8 +1632,12 @@ var UniversalWalletPage = ({
|
|
|
1632
1632
|
isLoading = false,
|
|
1633
1633
|
renderQrCode,
|
|
1634
1634
|
onDownloadPayId,
|
|
1635
|
-
onCopyAddress
|
|
1635
|
+
onCopyAddress,
|
|
1636
|
+
onBack
|
|
1636
1637
|
}) => {
|
|
1638
|
+
const onBackHandler = onBack ?? (() => {
|
|
1639
|
+
if (typeof window !== "undefined") window.history.back();
|
|
1640
|
+
});
|
|
1637
1641
|
const [selectedWallet, setSelectedWallet] = (0, import_react27.useState)(null);
|
|
1638
1642
|
const [localSearchQuery, setLocalSearchQuery] = (0, import_react27.useState)("");
|
|
1639
1643
|
const filteredWallets = wallets.filter((wallet) => {
|
|
@@ -1648,7 +1652,15 @@ var UniversalWalletPage = ({
|
|
|
1648
1652
|
}
|
|
1649
1653
|
import_react_hot_toast6.default.success("Copied");
|
|
1650
1654
|
};
|
|
1651
|
-
return /* @__PURE__ */ import_react27.default.createElement("div",
|
|
1655
|
+
return /* @__PURE__ */ import_react27.default.createElement("div", null, /* @__PURE__ */ import_react27.default.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ import_react27.default.createElement(
|
|
1656
|
+
"button",
|
|
1657
|
+
{
|
|
1658
|
+
onClick: onBackHandler,
|
|
1659
|
+
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] font-medium outline-none"
|
|
1660
|
+
},
|
|
1661
|
+
/* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.ArrowLeft01Icon, size: 16 }),
|
|
1662
|
+
" Back"
|
|
1663
|
+
)), /* @__PURE__ */ import_react27.default.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ import_react27.default.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col sm:flex-row mb-4 items-center justify-between gap-4 w-full" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "relative w-full sm:w-96" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none" }, /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.Search01Icon, size: 16, className: "text-neutral-400" })), /* @__PURE__ */ import_react27.default.createElement(
|
|
1652
1664
|
"input",
|
|
1653
1665
|
{
|
|
1654
1666
|
type: "text",
|
|
@@ -1666,7 +1678,7 @@ var UniversalWalletPage = ({
|
|
|
1666
1678
|
},
|
|
1667
1679
|
/* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ import_react27.default.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), /* @__PURE__ */ import_react27.default.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ import_react27.default.createElement("p", { className: "text-[13px] text-black truncate " }, wallet.name), /* @__PURE__ */ import_react27.default.createElement("p", { className: `text-[13px] text-neutral-500 truncate transition-all duration-300 ${hideBalanceAmounts ? "blur-sm opacity-40 select-none" : ""}` }, wallet.balance, " ", wallet.currency))),
|
|
1668
1680
|
/* @__PURE__ */ import_react27.default.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[10px] tracking-wide text-neutral-600 bg-neutral-100 px-2.5 py-1 rounded-full " }, wallet.network))
|
|
1669
|
-
)))))), selectedWallet && /* @__PURE__ */ import_react27.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ import_react27.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react27.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ import_react27.default.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ import_react27.default.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ import_react27.default.createElement("h2", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedWallet.balance, " ", selectedWallet.currency), /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full border border-neutral-200
|
|
1681
|
+
)))))), selectedWallet && /* @__PURE__ */ import_react27.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ import_react27.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react27.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ import_react27.default.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react27.default.createElement(import_react28.HugeiconsIcon, { icon: import_core_free_icons9.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ import_react27.default.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14 mb-4" }), /* @__PURE__ */ import_react27.default.createElement("h2", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedWallet.balance, " ", selectedWallet.currency), /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[9px] tracking-widest text-neutral-500 px-4 py-1.5 rounded-full border border-neutral-200 mt-1 " }, selectedWallet.network, " NETWORK")), renderQrCode && /* @__PURE__ */ import_react27.default.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), /* @__PURE__ */ import_react27.default.createElement("div", { className: "grid grid-cols-1 gap-y-6 gap-x-4 mb-10" }, /* @__PURE__ */ import_react27.default.createElement("div", null, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-neutral-400 block mb-2" }, "Wallet Address"), /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[13px] text-black truncate min-w-0 block" }, truncateAddress2(selectedWallet.address)), /* @__PURE__ */ import_react27.default.createElement(
|
|
1670
1682
|
"button",
|
|
1671
1683
|
{
|
|
1672
1684
|
onClick: () => handleCopy(selectedWallet),
|
|
@@ -1688,7 +1700,7 @@ var UniversalWalletPage = ({
|
|
|
1688
1700
|
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 outline-none text-[13px] tracking-wide transition-colors"
|
|
1689
1701
|
},
|
|
1690
1702
|
"Copy Wallet Address"
|
|
1691
|
-
))))));
|
|
1703
|
+
)))))));
|
|
1692
1704
|
};
|
|
1693
1705
|
|
|
1694
1706
|
// src/components/UniversalCardPage.tsx
|
|
@@ -2030,7 +2042,7 @@ var UniversalCardPage = ({
|
|
|
2030
2042
|
style: { backgroundImage: `url(${activeCard.backgroundOverlay})` }
|
|
2031
2043
|
}
|
|
2032
2044
|
),
|
|
2033
|
-
/* @__PURE__ */ import_react35.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between items-start w-full" }, /* @__PURE__ */ import_react35.default.createElement("div", null, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[12px] text-white/70 " }, "Prepaid Card")), activeCard.companyLogoSrc && /* @__PURE__ */ import_react35.default.createElement("img", { src: activeCard.companyLogoSrc, alt: "Company Logo", className: "h-10 w-auto max-w-30 object-contain opacity-90" })), /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[10px] text-white/60 tracking-widest
|
|
2045
|
+
/* @__PURE__ */ import_react35.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-between" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between items-start w-full" }, /* @__PURE__ */ import_react35.default.createElement("div", null, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[12px] text-white/70 " }, "Prepaid Card")), activeCard.companyLogoSrc && /* @__PURE__ */ import_react35.default.createElement("img", { src: activeCard.companyLogoSrc, alt: "Company Logo", className: "h-10 w-auto max-w-30 object-contain opacity-90" })), /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between items-end w-full" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[10px] text-white/60 tracking-widest " }, "Card Number"), /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[14px] text-white tracking-widest font-light" }, displayCardNumber)), activeCard.networkLogoSrc && /* @__PURE__ */ import_react35.default.createElement("img", { src: activeCard.networkLogoSrc, alt: "Network Logo", className: "h-10 w-auto max-w-20 object-contain opacity-90" })))
|
|
2034
2046
|
),
|
|
2035
2047
|
/* @__PURE__ */ import_react35.default.createElement(
|
|
2036
2048
|
"div",
|
|
@@ -2056,7 +2068,7 @@ var UniversalCardPage = ({
|
|
|
2056
2068
|
}
|
|
2057
2069
|
),
|
|
2058
2070
|
/* @__PURE__ */ import_react35.default.createElement("div", { className: "absolute top-6 left-0 right-0 h-10 bg-black/80 w-full" }),
|
|
2059
|
-
/* @__PURE__ */ import_react35.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-end" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full text-center mb-6" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-white text-3xl italic tracking-wide opacity-90", style: { fontFamily: "'Whisper', cursive" } }, activeCard.cardHolderName)), /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between w-full max-w-[80%]" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[9px] text-white/60 tracking-widest
|
|
2071
|
+
/* @__PURE__ */ import_react35.default.createElement("div", { className: "relative z-10 w-full h-full p-5 flex flex-col justify-end" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full text-center mb-6" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-white text-3xl italic tracking-wide opacity-90", style: { fontFamily: "'Whisper', cursive" } }, activeCard.cardHolderName)), /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex justify-between w-full max-w-[80%]" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[9px] text-white/60 tracking-widest " }, "Expiry"), /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[14px] text-white font-light" }, displayExpiry)), /* @__PURE__ */ import_react35.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[9px] text-white/60 tracking-widest " }, "CVV"), /* @__PURE__ */ import_react35.default.createElement("span", { className: "text-[14px] text-white font-light" }, displayCvv))))
|
|
2060
2072
|
)
|
|
2061
2073
|
)), /* @__PURE__ */ import_react35.default.createElement("p", { className: "w-full text-center text-xs text-neutral-400 mb-6 mt-1" }, isActivated ? "Tap to flip card" : "Action Required"), /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ import_react35.default.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ import_react35.default.createElement(
|
|
2062
2074
|
MenuRow,
|
|
@@ -2555,7 +2567,7 @@ var HeroSection = ({
|
|
|
2555
2567
|
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"
|
|
2556
2568
|
},
|
|
2557
2569
|
secondaryCtaText
|
|
2558
|
-
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ import_react42.default.createElement("span", { className: "text-[10px] tracking-widest
|
|
2570
|
+
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ import_react42.default.createElement("span", { className: "text-[10px] tracking-widest text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ import_react42.default.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react42.default.createElement("div", { key: idx, className: "relative h-6 w-6 sm:h-7 sm:w-7 opacity-70 hover:opacity-100 transition-opacity invert" }, /* @__PURE__ */ import_react42.default.createElement(
|
|
2559
2571
|
import_image2.default,
|
|
2560
2572
|
{
|
|
2561
2573
|
src: logo.src,
|
|
@@ -2817,14 +2829,7 @@ var UniversalSecurityPage = ({
|
|
|
2817
2829
|
toggleLoading: isPasskeyLoading,
|
|
2818
2830
|
isLast: true
|
|
2819
2831
|
}
|
|
2820
|
-
))), show2FASetupModal && /* @__PURE__ */ import_react45.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShow2FASetupModal(false) }), /* @__PURE__ */ import_react45.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react45.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Enable 2FA"), /* @__PURE__ */ import_react45.default.createElement("button", { onClick: () => !isSubmitting && setShow2FASetupModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-2" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, twoFaQr ? /* @__PURE__ */ import_react45.default.createElement("img", { src: twoFaQr, alt: "2FA QR Code", className: "w-40 h-40 object-contain rounded-xl border border-neutral-100 p-2" }) : /* @__PURE__ */ import_react45.default.createElement("div", { className: "w-40 h-40 bg-neutral-100 rounded-xl flex items-center justify-center animate-pulse" })), /* @__PURE__ */ import_react45.default.createElement("div", { className: "
|
|
2821
|
-
"button",
|
|
2822
|
-
{
|
|
2823
|
-
onClick: () => handleCopySecret(twoFaSecret),
|
|
2824
|
-
className: "text-neutral-400 hover:text-black transition-colors outline-none shrink-0 ml-2"
|
|
2825
|
-
},
|
|
2826
|
-
/* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.Copy01Icon, size: 16 })
|
|
2827
|
-
)))), /* @__PURE__ */ import_react45.default.createElement("div", { className: "text-center mb-8 mt-2" }, /* @__PURE__ */ import_react45.default.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-[13px] text-neutral-500" }, "Enter the 6-digit code from your app")), /* @__PURE__ */ import_react45.default.createElement("form", { className: "space-y-8", autoComplete: "off", onSubmit: (e) => {
|
|
2832
|
+
))), show2FASetupModal && /* @__PURE__ */ import_react45.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShow2FASetupModal(false) }), /* @__PURE__ */ import_react45.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200 max-h-[90vh]" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react45.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Enable 2FA"), /* @__PURE__ */ import_react45.default.createElement("button", { onClick: () => !isSubmitting && setShow2FASetupModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-2" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, twoFaQr ? /* @__PURE__ */ import_react45.default.createElement("img", { src: twoFaQr, alt: "2FA QR Code", className: "w-40 h-40 object-contain rounded-xl border border-neutral-100 p-2" }) : /* @__PURE__ */ import_react45.default.createElement("div", { className: "w-40 h-40 bg-neutral-100 rounded-xl flex items-center justify-center animate-pulse" })), /* @__PURE__ */ import_react45.default.createElement("div", { className: "text-center mb-8 mt-2" }, /* @__PURE__ */ import_react45.default.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-[13px] text-neutral-500" }, "Enter the 6-digit code from your app")), /* @__PURE__ */ import_react45.default.createElement("form", { className: "space-y-8", autoComplete: "off", onSubmit: (e) => {
|
|
2828
2833
|
e.preventDefault();
|
|
2829
2834
|
submitEnable2FA(otp.join(""));
|
|
2830
2835
|
} }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex justify-between gap-2", onPaste: handlePaste }, otp.map((digit, index) => /* @__PURE__ */ import_react45.default.createElement(
|
|
@@ -2855,7 +2860,14 @@ var UniversalSecurityPage = ({
|
|
|
2855
2860
|
className: "w-full py-3.5"
|
|
2856
2861
|
},
|
|
2857
2862
|
"Verify & Enable"
|
|
2858
|
-
)
|
|
2863
|
+
), /* @__PURE__ */ import_react45.default.createElement(
|
|
2864
|
+
"button",
|
|
2865
|
+
{
|
|
2866
|
+
onClick: () => handleCopySecret(twoFaSecret),
|
|
2867
|
+
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 outline-none text-[13px] tracking-wide transition-colors"
|
|
2868
|
+
},
|
|
2869
|
+
"Copy Secret Key"
|
|
2870
|
+
))))), show2FADisableModal && /* @__PURE__ */ import_react45.default.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShow2FADisableModal(false) }), /* @__PURE__ */ import_react45.default.createElement("div", { className: "relative w-full max-w-sm bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ import_react45.default.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Disable 2FA"), /* @__PURE__ */ import_react45.default.createElement("button", { onClick: () => !isSubmitting && setShow2FADisableModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ import_react45.default.createElement(import_react46.HugeiconsIcon, { icon: import_core_free_icons16.CancelCircleIcon, size: 18 }))), /* @__PURE__ */ import_react45.default.createElement("div", { className: "p-6" }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "text-center mb-8 mt-2" }, /* @__PURE__ */ import_react45.default.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-[13px] text-neutral-500" }, "Enter the code from your authenticator app to disable 2FA.")), /* @__PURE__ */ import_react45.default.createElement("form", { className: "space-y-8", autoComplete: "off", onSubmit: (e) => {
|
|
2859
2871
|
e.preventDefault();
|
|
2860
2872
|
submitDisable2FA(otp.join(""));
|
|
2861
2873
|
} }, /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex justify-between gap-2", onPaste: handlePaste }, otp.map((digit, index) => /* @__PURE__ */ import_react45.default.createElement(
|
package/dist/index.mjs
CHANGED
|
@@ -874,7 +874,7 @@ var UniversalOrganizationPage = ({
|
|
|
874
874
|
};
|
|
875
875
|
const hasChanges = web3Name !== initialOrgName || slug !== initialSlug || username !== resolvedInitialUsername;
|
|
876
876
|
const isSaveDisabled = isSubmitting || isReadOnly || isCheckingSlug || !hasChanges || web3Name.length < 3 || slug.length < 3 || username.length < 3 || slug !== initialSlug && slugAvailable === false;
|
|
877
|
-
return /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement("div", { className: "mb-
|
|
877
|
+
return /* @__PURE__ */ React11.createElement("div", null, /* @__PURE__ */ React11.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React11.createElement(
|
|
878
878
|
"button",
|
|
879
879
|
{
|
|
880
880
|
onClick: onBackHandler,
|
|
@@ -1015,8 +1015,8 @@ var UniversalProfileSettings = ({
|
|
|
1015
1015
|
const handlePinSubmit = async (e) => {
|
|
1016
1016
|
e.preventDefault();
|
|
1017
1017
|
if (!onSavePin) return;
|
|
1018
|
-
if (hasPin && oldPin.length !== 4) return toast3.error("Old PIN must be exactly 4
|
|
1019
|
-
if (newPin.length !== 4) return toast3.error("New PIN must be exactly 4
|
|
1018
|
+
if (hasPin && oldPin.length !== 4) return toast3.error("Old PIN must be exactly 4-digits.");
|
|
1019
|
+
if (newPin.length !== 4) return toast3.error("New PIN must be exactly 4-digits.");
|
|
1020
1020
|
if (newPin !== confirmPin) return toast3.error("New PINs do not match.");
|
|
1021
1021
|
setIsPinSubmitting(true);
|
|
1022
1022
|
try {
|
|
@@ -1040,7 +1040,7 @@ var UniversalProfileSettings = ({
|
|
|
1040
1040
|
};
|
|
1041
1041
|
const hasChanges = firstName !== initialFirstName || lastName !== initialLastName;
|
|
1042
1042
|
const isSaveDisabled = isSubmitting || isReadOnly || !hasChanges || firstName.trim().length === 0 || lastName.trim().length === 0;
|
|
1043
|
-
return /* @__PURE__ */ React12.createElement("div", null, /* @__PURE__ */ React12.createElement("div", { className: "mb-
|
|
1043
|
+
return /* @__PURE__ */ React12.createElement("div", null, /* @__PURE__ */ React12.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React12.createElement(
|
|
1044
1044
|
"button",
|
|
1045
1045
|
{
|
|
1046
1046
|
onClick: onBackHandler,
|
|
@@ -1561,7 +1561,8 @@ import {
|
|
|
1561
1561
|
Search01Icon as Search01Icon2,
|
|
1562
1562
|
CancelCircleIcon as CancelCircleIcon3,
|
|
1563
1563
|
Loading03Icon as Loading03Icon5,
|
|
1564
|
-
Copy01Icon as Copy01Icon2
|
|
1564
|
+
Copy01Icon as Copy01Icon2,
|
|
1565
|
+
ArrowLeft01Icon as ArrowLeft01Icon4
|
|
1565
1566
|
} from "@hugeicons/core-free-icons";
|
|
1566
1567
|
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" }));
|
|
1567
1568
|
var truncateAddress2 = (ref) => {
|
|
@@ -1590,8 +1591,12 @@ var UniversalWalletPage = ({
|
|
|
1590
1591
|
isLoading = false,
|
|
1591
1592
|
renderQrCode,
|
|
1592
1593
|
onDownloadPayId,
|
|
1593
|
-
onCopyAddress
|
|
1594
|
+
onCopyAddress,
|
|
1595
|
+
onBack
|
|
1594
1596
|
}) => {
|
|
1597
|
+
const onBackHandler = onBack ?? (() => {
|
|
1598
|
+
if (typeof window !== "undefined") window.history.back();
|
|
1599
|
+
});
|
|
1595
1600
|
const [selectedWallet, setSelectedWallet] = useState10(null);
|
|
1596
1601
|
const [localSearchQuery, setLocalSearchQuery] = useState10("");
|
|
1597
1602
|
const filteredWallets = wallets.filter((wallet) => {
|
|
@@ -1606,7 +1611,15 @@ var UniversalWalletPage = ({
|
|
|
1606
1611
|
}
|
|
1607
1612
|
toast5.success("Copied");
|
|
1608
1613
|
};
|
|
1609
|
-
return /* @__PURE__ */ React17.createElement("div",
|
|
1614
|
+
return /* @__PURE__ */ React17.createElement("div", null, /* @__PURE__ */ React17.createElement("div", { className: "mb-6 flex max-w-3xl w-full mx-auto items-center px-1" }, /* @__PURE__ */ React17.createElement(
|
|
1615
|
+
"button",
|
|
1616
|
+
{
|
|
1617
|
+
onClick: onBackHandler,
|
|
1618
|
+
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] font-medium outline-none"
|
|
1619
|
+
},
|
|
1620
|
+
/* @__PURE__ */ React17.createElement(HugeiconsIcon11, { icon: ArrowLeft01Icon4, size: 16 }),
|
|
1621
|
+
" Back"
|
|
1622
|
+
)), /* @__PURE__ */ React17.createElement("div", { className: "w-full max-w-3xl mx-auto flex flex-col animate-in fade-in duration-300" }, /* @__PURE__ */ React17.createElement(ManagedToaster, null), !hideControls && /* @__PURE__ */ React17.createElement("div", { className: "flex flex-col sm:flex-row mb-4 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(
|
|
1610
1623
|
"input",
|
|
1611
1624
|
{
|
|
1612
1625
|
type: "text",
|
|
@@ -1624,7 +1637,7 @@ var UniversalWalletPage = ({
|
|
|
1624
1637
|
},
|
|
1625
1638
|
/* @__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))),
|
|
1626
1639
|
/* @__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))
|
|
1627
|
-
)))))), 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
|
|
1640
|
+
)))))), 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 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("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React17.createElement("span", { className: "text-[13px] text-black truncate min-w-0 block" }, truncateAddress2(selectedWallet.address)), /* @__PURE__ */ React17.createElement(
|
|
1628
1641
|
"button",
|
|
1629
1642
|
{
|
|
1630
1643
|
onClick: () => handleCopy(selectedWallet),
|
|
@@ -1646,7 +1659,7 @@ var UniversalWalletPage = ({
|
|
|
1646
1659
|
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 outline-none text-[13px] tracking-wide transition-colors"
|
|
1647
1660
|
},
|
|
1648
1661
|
"Copy Wallet Address"
|
|
1649
|
-
))))));
|
|
1662
|
+
)))))));
|
|
1650
1663
|
};
|
|
1651
1664
|
|
|
1652
1665
|
// src/components/UniversalCardPage.tsx
|
|
@@ -1995,7 +2008,7 @@ var UniversalCardPage = ({
|
|
|
1995
2008
|
style: { backgroundImage: `url(${activeCard.backgroundOverlay})` }
|
|
1996
2009
|
}
|
|
1997
2010
|
),
|
|
1998
|
-
/* @__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
|
|
2011
|
+
/* @__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 " }, "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" })))
|
|
1999
2012
|
),
|
|
2000
2013
|
/* @__PURE__ */ React21.createElement(
|
|
2001
2014
|
"div",
|
|
@@ -2021,7 +2034,7 @@ var UniversalCardPage = ({
|
|
|
2021
2034
|
}
|
|
2022
2035
|
),
|
|
2023
2036
|
/* @__PURE__ */ React21.createElement("div", { className: "absolute top-6 left-0 right-0 h-10 bg-black/80 w-full" }),
|
|
2024
|
-
/* @__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
|
|
2037
|
+
/* @__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 " }, "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 " }, "CVV"), /* @__PURE__ */ React21.createElement("span", { className: "text-[14px] text-white font-light" }, displayCvv))))
|
|
2025
2038
|
)
|
|
2026
2039
|
)), /* @__PURE__ */ React21.createElement("p", { className: "w-full text-center 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(
|
|
2027
2040
|
MenuRow,
|
|
@@ -2534,7 +2547,7 @@ var HeroSection = ({
|
|
|
2534
2547
|
className: "inline-flex h-10 items-center self-start justify-center text-xs tracking-wide rounded-full px-6 border border-[#ffffff]/30 text-[#ffffff] hover:bg-[#ffffff]/10 transition-colors"
|
|
2535
2548
|
},
|
|
2536
2549
|
secondaryCtaText
|
|
2537
|
-
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React25.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ React25.createElement("span", { className: "text-[10px] tracking-widest
|
|
2550
|
+
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React25.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ React25.createElement("span", { className: "text-[10px] tracking-widest text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ React25.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ React25.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__ */ React25.createElement(
|
|
2538
2551
|
Image3,
|
|
2539
2552
|
{
|
|
2540
2553
|
src: logo.src,
|
|
@@ -2634,8 +2647,7 @@ import { HugeiconsIcon as HugeiconsIcon19 } from "@hugeicons/react";
|
|
|
2634
2647
|
import {
|
|
2635
2648
|
CancelCircleIcon as CancelCircleIcon6,
|
|
2636
2649
|
Loading03Icon as Loading03Icon10,
|
|
2637
|
-
|
|
2638
|
-
ArrowLeft01Icon as ArrowLeft01Icon4,
|
|
2650
|
+
ArrowLeft01Icon as ArrowLeft01Icon5,
|
|
2639
2651
|
Shield02Icon,
|
|
2640
2652
|
Key01Icon,
|
|
2641
2653
|
ArrowRight01Icon as ArrowRight01Icon4
|
|
@@ -2779,7 +2791,7 @@ var UniversalSecurityPage = ({
|
|
|
2779
2791
|
onClick: onBack,
|
|
2780
2792
|
className: "flex items-center gap-2 text-neutral-500 hover:text-black transition-colors text-[13px] font-medium outline-none"
|
|
2781
2793
|
},
|
|
2782
|
-
/* @__PURE__ */ React27.createElement(HugeiconsIcon19, { icon:
|
|
2794
|
+
/* @__PURE__ */ React27.createElement(HugeiconsIcon19, { icon: ArrowLeft01Icon5, size: 16 }),
|
|
2783
2795
|
" Back"
|
|
2784
2796
|
)), /* @__PURE__ */ React27.createElement("div", { className: "w-full flex flex-col gap-4" }, /* @__PURE__ */ React27.createElement("div", { className: "w-full bg-white rounded-2xl overflow-hidden" }, /* @__PURE__ */ React27.createElement(
|
|
2785
2797
|
MenuRow3,
|
|
@@ -2804,14 +2816,7 @@ var UniversalSecurityPage = ({
|
|
|
2804
2816
|
toggleLoading: isPasskeyLoading,
|
|
2805
2817
|
isLast: true
|
|
2806
2818
|
}
|
|
2807
|
-
))), show2FASetupModal && /* @__PURE__ */ React27.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React27.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShow2FASetupModal(false) }), /* @__PURE__ */ React27.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__ */ React27.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React27.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Enable 2FA"), /* @__PURE__ */ React27.createElement("button", { onClick: () => !isSubmitting && setShow2FASetupModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React27.createElement(HugeiconsIcon19, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React27.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-2" }, /* @__PURE__ */ React27.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, twoFaQr ? /* @__PURE__ */ React27.createElement("img", { src: twoFaQr, alt: "2FA QR Code", className: "w-40 h-40 object-contain rounded-xl border border-neutral-100 p-2" }) : /* @__PURE__ */ React27.createElement("div", { className: "w-40 h-40 bg-neutral-100 rounded-xl flex items-center justify-center animate-pulse" })), /* @__PURE__ */ React27.createElement("div", { className: "
|
|
2808
|
-
"button",
|
|
2809
|
-
{
|
|
2810
|
-
onClick: () => handleCopySecret(twoFaSecret),
|
|
2811
|
-
className: "text-neutral-400 hover:text-black transition-colors outline-none shrink-0 ml-2"
|
|
2812
|
-
},
|
|
2813
|
-
/* @__PURE__ */ React27.createElement(HugeiconsIcon19, { icon: Copy01Icon3, size: 16 })
|
|
2814
|
-
)))), /* @__PURE__ */ React27.createElement("div", { className: "text-center mb-8 mt-2" }, /* @__PURE__ */ React27.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ React27.createElement("p", { className: "text-[13px] text-neutral-500" }, "Enter the 6-digit code from your app")), /* @__PURE__ */ React27.createElement("form", { className: "space-y-8", autoComplete: "off", onSubmit: (e) => {
|
|
2819
|
+
))), show2FASetupModal && /* @__PURE__ */ React27.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React27.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShow2FASetupModal(false) }), /* @__PURE__ */ React27.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__ */ React27.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React27.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Enable 2FA"), /* @__PURE__ */ React27.createElement("button", { onClick: () => !isSubmitting && setShow2FASetupModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React27.createElement(HugeiconsIcon19, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React27.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-2" }, /* @__PURE__ */ React27.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, twoFaQr ? /* @__PURE__ */ React27.createElement("img", { src: twoFaQr, alt: "2FA QR Code", className: "w-40 h-40 object-contain rounded-xl border border-neutral-100 p-2" }) : /* @__PURE__ */ React27.createElement("div", { className: "w-40 h-40 bg-neutral-100 rounded-xl flex items-center justify-center animate-pulse" })), /* @__PURE__ */ React27.createElement("div", { className: "text-center mb-8 mt-2" }, /* @__PURE__ */ React27.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ React27.createElement("p", { className: "text-[13px] text-neutral-500" }, "Enter the 6-digit code from your app")), /* @__PURE__ */ React27.createElement("form", { className: "space-y-8", autoComplete: "off", onSubmit: (e) => {
|
|
2815
2820
|
e.preventDefault();
|
|
2816
2821
|
submitEnable2FA(otp.join(""));
|
|
2817
2822
|
} }, /* @__PURE__ */ React27.createElement("div", { className: "flex justify-between gap-2", onPaste: handlePaste }, otp.map((digit, index) => /* @__PURE__ */ React27.createElement(
|
|
@@ -2842,7 +2847,14 @@ var UniversalSecurityPage = ({
|
|
|
2842
2847
|
className: "w-full py-3.5"
|
|
2843
2848
|
},
|
|
2844
2849
|
"Verify & Enable"
|
|
2845
|
-
)
|
|
2850
|
+
), /* @__PURE__ */ React27.createElement(
|
|
2851
|
+
"button",
|
|
2852
|
+
{
|
|
2853
|
+
onClick: () => handleCopySecret(twoFaSecret),
|
|
2854
|
+
className: "w-full flex items-center justify-center py-2.5 rounded-full border border-neutral-200 text-black hover:bg-neutral-50 outline-none text-[13px] tracking-wide transition-colors"
|
|
2855
|
+
},
|
|
2856
|
+
"Copy Secret Key"
|
|
2857
|
+
))))), show2FADisableModal && /* @__PURE__ */ React27.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React27.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShow2FADisableModal(false) }), /* @__PURE__ */ React27.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__ */ React27.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React27.createElement("h3", { className: "text-[15px] text-black tracking-tight" }, "Disable 2FA"), /* @__PURE__ */ React27.createElement("button", { onClick: () => !isSubmitting && setShow2FADisableModal(false), className: "text-neutral-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React27.createElement(HugeiconsIcon19, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React27.createElement("div", { className: "p-6" }, /* @__PURE__ */ React27.createElement("div", { className: "text-center mb-8 mt-2" }, /* @__PURE__ */ React27.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight" }, "Security Check"), /* @__PURE__ */ React27.createElement("p", { className: "text-[13px] text-neutral-500" }, "Enter the code from your authenticator app to disable 2FA.")), /* @__PURE__ */ React27.createElement("form", { className: "space-y-8", autoComplete: "off", onSubmit: (e) => {
|
|
2846
2858
|
e.preventDefault();
|
|
2847
2859
|
submitDisable2FA(otp.join(""));
|
|
2848
2860
|
} }, /* @__PURE__ */ React27.createElement("div", { className: "flex justify-between gap-2", onPaste: handlePaste }, otp.map((digit, index) => /* @__PURE__ */ React27.createElement(
|
|
@@ -2910,7 +2922,7 @@ var MenuRow3 = ({
|
|
|
2910
2922
|
import React28, { useRef as useRef7, useState as useState19, useEffect as useEffect12 } from "react";
|
|
2911
2923
|
import Image4 from "next/image";
|
|
2912
2924
|
import { HugeiconsIcon as HugeiconsIcon20 } from "@hugeicons/react";
|
|
2913
|
-
import { ArrowLeft01Icon as
|
|
2925
|
+
import { ArrowLeft01Icon as ArrowLeft01Icon6, ArrowRight01Icon as ArrowRight01Icon5, Loading03Icon as Loading03Icon11 } from "@hugeicons/core-free-icons";
|
|
2914
2926
|
var FeatureCard = ({ feature, bgImage }) => {
|
|
2915
2927
|
const [isBgLoading, setIsBgLoading] = useState19(true);
|
|
2916
2928
|
const [isFgLoading, setIsFgLoading] = useState19(!!feature.image);
|
|
@@ -2984,7 +2996,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
|
|
|
2984
2996
|
disabled: !canScrollLeft,
|
|
2985
2997
|
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"
|
|
2986
2998
|
},
|
|
2987
|
-
/* @__PURE__ */ React28.createElement(HugeiconsIcon20, { icon:
|
|
2999
|
+
/* @__PURE__ */ React28.createElement(HugeiconsIcon20, { icon: ArrowLeft01Icon6, size: 20 })
|
|
2988
3000
|
), /* @__PURE__ */ React28.createElement(
|
|
2989
3001
|
"button",
|
|
2990
3002
|
{
|
|
@@ -3008,7 +3020,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
|
|
|
3008
3020
|
disabled: !canScrollLeft,
|
|
3009
3021
|
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"
|
|
3010
3022
|
},
|
|
3011
|
-
/* @__PURE__ */ React28.createElement(HugeiconsIcon20, { icon:
|
|
3023
|
+
/* @__PURE__ */ React28.createElement(HugeiconsIcon20, { icon: ArrowLeft01Icon6, size: 20 })
|
|
3012
3024
|
), /* @__PURE__ */ React28.createElement(
|
|
3013
3025
|
"button",
|
|
3014
3026
|
{
|