@retinalabsllc/zairusjs 21.0.1 → 21.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3 -3
- package/dist/index.mjs +27 -27
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1058,7 +1058,7 @@ var UniversalHuddleDetails = ({
|
|
|
1058
1058
|
className: `relative w-11 h-6 rounded-full transition-colors outline-none shrink-0 ${isPrivate ? "bg-[#d97757]" : "bg-stone-200"} ${!enableEdits && "opacity-50 cursor-not-allowed"}`
|
|
1059
1059
|
},
|
|
1060
1060
|
/* @__PURE__ */ import_react17.default.createElement("div", { className: `absolute top-1 left-1 bg-white w-4 h-4 rounded-full transition-transform ${isPrivate ? "translate-x-5" : "translate-x-0"}` })
|
|
1061
|
-
)), isPrivate && /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size, " added")), enableEdits && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: () => setShowMembersModal(true), className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent" }, "Manage Access")), isDirty && /* @__PURE__ */ import_react17.default.createElement("div", { className: "pt-4 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react17.default.createElement(ThreeDActionButton, { onClick: handleUpdate, isLoading: isSubmitting, className: "w-full sm:w-auto min-w-40" }, "Save Changes")), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 " }, (liveStatus === "SCHEDULED" || liveStatus === "ONGOING") && /* @__PURE__ */ import_react17.default.createElement("a", { href: `/app/
|
|
1061
|
+
)), isPrivate && /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size, " added")), enableEdits && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: () => setShowMembersModal(true), className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent" }, "Manage Access")), isDirty && /* @__PURE__ */ import_react17.default.createElement("div", { className: "pt-4 animate-in fade-in duration-300" }, /* @__PURE__ */ import_react17.default.createElement(ThreeDActionButton, { onClick: handleUpdate, isLoading: isSubmitting, className: "w-full sm:w-auto min-w-40" }, "Save Changes")), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 " }, (liveStatus === "SCHEDULED" || liveStatus === "ONGOING") && /* @__PURE__ */ import_react17.default.createElement("a", { href: `/app/huddles/room/${huddle.id}`, className: "flex-1 w-full py-2.5 bg-[#d97757] text-white rounded-full text-center text-xs transition-colors hover:bg-[#d97757]/5" }, "Join Huddle"), /* @__PURE__ */ import_react17.default.createElement("a", { href: `/app/assets/huddles/${huddle.id}`, className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Huddle Assets"), canDelete && liveStatus === "SCHEDULED" && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: () => setConfirmDialog("CANCEL"), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Cancel Huddle"), canDelete && liveStatus !== "SCHEDULED" && /* @__PURE__ */ import_react17.default.createElement("button", { onClick: () => setConfirmDialog("DELETE"), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Delete Huddle"))), /* @__PURE__ */ import_react17.default.createElement(
|
|
1062
1062
|
CalendarPicker,
|
|
1063
1063
|
{
|
|
1064
1064
|
isOpen: calendarMode !== null,
|
|
@@ -1234,7 +1234,7 @@ var Banner = ({
|
|
|
1234
1234
|
onClick: handleDismiss,
|
|
1235
1235
|
className: `absolute top-3 right-3 p-1.5 rounded-full transition-colors outline-none shrink-0 ${currentConfig.closeHover}`
|
|
1236
1236
|
},
|
|
1237
|
-
/* @__PURE__ */ import_react22.default.createElement(import_react23.HugeiconsIcon, { icon: import_core_free_icons7.
|
|
1237
|
+
/* @__PURE__ */ import_react22.default.createElement(import_react23.HugeiconsIcon, { icon: import_core_free_icons7.CancelCircleIcon, size: 16 })
|
|
1238
1238
|
));
|
|
1239
1239
|
};
|
|
1240
1240
|
|
|
@@ -3225,7 +3225,7 @@ var FeatureCard = ({ feature, bgImage }) => {
|
|
|
3225
3225
|
onLoad: () => setIsFgLoading(false),
|
|
3226
3226
|
className: `
|
|
3227
3227
|
object-cover transition-all duration-700 ease-out
|
|
3228
|
-
${isLeft ? "object-top-right rounded-tr-
|
|
3228
|
+
${isLeft ? "object-top-right rounded-tr-lg shadow-[12px_-12px_30px_rgba(0,0,0,0.06)]" : "object-top-left rounded-tl-lg shadow-[-12px_-12px_30px_rgba(0,0,0,0.06)]"}
|
|
3229
3229
|
${isFgLoading ? "opacity-0 blur-xl" : "opacity-100 blur-0"}
|
|
3230
3230
|
`
|
|
3231
3231
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -986,7 +986,7 @@ var UniversalHuddleDetails = ({
|
|
|
986
986
|
className: `relative w-11 h-6 rounded-full transition-colors outline-none shrink-0 ${isPrivate ? "bg-[#d97757]" : "bg-stone-200"} ${!enableEdits && "opacity-50 cursor-not-allowed"}`
|
|
987
987
|
},
|
|
988
988
|
/* @__PURE__ */ React11.createElement("div", { className: `absolute top-1 left-1 bg-white w-4 h-4 rounded-full transition-transform ${isPrivate ? "translate-x-5" : "translate-x-0"}` })
|
|
989
|
-
)), isPrivate && /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl" }, /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React11.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ React11.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size, " added")), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setShowMembersModal(true), className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent" }, "Manage Access")), isDirty && /* @__PURE__ */ React11.createElement("div", { className: "pt-4 animate-in fade-in duration-300" }, /* @__PURE__ */ React11.createElement(ThreeDActionButton, { onClick: handleUpdate, isLoading: isSubmitting, className: "w-full sm:w-auto min-w-40" }, "Save Changes")), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 " }, (liveStatus === "SCHEDULED" || liveStatus === "ONGOING") && /* @__PURE__ */ React11.createElement("a", { href: `/app/
|
|
989
|
+
)), isPrivate && /* @__PURE__ */ React11.createElement("div", { className: "flex items-center justify-between animate-in fade-in zoom-in-95 duration-200 bg-stone-50 p-4 rounded-xl" }, /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React11.createElement("span", { className: "text-xs text-black tracking-tight" }, "Participants"), /* @__PURE__ */ React11.createElement("span", { className: "text-xs text-[#d97757] " }, selectedParticipants.size, " added")), enableEdits && /* @__PURE__ */ React11.createElement("button", { onClick: () => setShowMembersModal(true), className: "px-4 py-2 border border-stone-200 text-black text-xs tracking-wide rounded-full hover:bg-white transition-colors outline-none bg-transparent" }, "Manage Access")), isDirty && /* @__PURE__ */ React11.createElement("div", { className: "pt-4 animate-in fade-in duration-300" }, /* @__PURE__ */ React11.createElement(ThreeDActionButton, { onClick: handleUpdate, isLoading: isSubmitting, className: "w-full sm:w-auto min-w-40" }, "Save Changes")), /* @__PURE__ */ React11.createElement("div", { className: "flex flex-col sm:flex-row items-center gap-3 pt-6 mt-2 " }, (liveStatus === "SCHEDULED" || liveStatus === "ONGOING") && /* @__PURE__ */ React11.createElement("a", { href: `/app/huddles/room/${huddle.id}`, className: "flex-1 w-full py-2.5 bg-[#d97757] text-white rounded-full text-center text-xs transition-colors hover:bg-[#d97757]/5" }, "Join Huddle"), /* @__PURE__ */ React11.createElement("a", { href: `/app/assets/huddles/${huddle.id}`, className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Huddle Assets"), canDelete && liveStatus === "SCHEDULED" && /* @__PURE__ */ React11.createElement("button", { onClick: () => setConfirmDialog("CANCEL"), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Cancel Huddle"), canDelete && liveStatus !== "SCHEDULED" && /* @__PURE__ */ React11.createElement("button", { onClick: () => setConfirmDialog("DELETE"), className: "flex-1 w-full py-2.5 bg-transparent border border-stone-200 text-black rounded-full text-center text-xs transition-colors hover:bg-stone-50" }, "Delete Huddle"))), /* @__PURE__ */ React11.createElement(
|
|
990
990
|
CalendarPicker,
|
|
991
991
|
{
|
|
992
992
|
isOpen: calendarMode !== null,
|
|
@@ -1117,7 +1117,7 @@ import {
|
|
|
1117
1117
|
Alert02Icon,
|
|
1118
1118
|
CheckmarkBadge01Icon,
|
|
1119
1119
|
InformationCircleIcon,
|
|
1120
|
-
|
|
1120
|
+
CancelCircleIcon as CancelCircleIcon3
|
|
1121
1121
|
} from "@hugeicons/core-free-icons";
|
|
1122
1122
|
var Banner = ({
|
|
1123
1123
|
title,
|
|
@@ -1167,7 +1167,7 @@ var Banner = ({
|
|
|
1167
1167
|
onClick: handleDismiss,
|
|
1168
1168
|
className: `absolute top-3 right-3 p-1.5 rounded-full transition-colors outline-none shrink-0 ${currentConfig.closeHover}`
|
|
1169
1169
|
},
|
|
1170
|
-
/* @__PURE__ */ React14.createElement(HugeiconsIcon9, { icon:
|
|
1170
|
+
/* @__PURE__ */ React14.createElement(HugeiconsIcon9, { icon: CancelCircleIcon3, size: 16 })
|
|
1171
1171
|
));
|
|
1172
1172
|
};
|
|
1173
1173
|
|
|
@@ -1339,7 +1339,7 @@ import toast3 from "react-hot-toast";
|
|
|
1339
1339
|
import { HugeiconsIcon as HugeiconsIcon11 } from "@hugeicons/react";
|
|
1340
1340
|
import {
|
|
1341
1341
|
CircleLock02Icon as CircleLock02Icon2,
|
|
1342
|
-
CancelCircleIcon as
|
|
1342
|
+
CancelCircleIcon as CancelCircleIcon4,
|
|
1343
1343
|
Loading03Icon as Loading03Icon5,
|
|
1344
1344
|
LockKeyIcon,
|
|
1345
1345
|
ArrowLeft01Icon as ArrowLeft01Icon4
|
|
@@ -1498,7 +1498,7 @@ var UniversalProfileSettings = ({
|
|
|
1498
1498
|
className: "min-w-32 w-full sm:w-auto"
|
|
1499
1499
|
},
|
|
1500
1500
|
"Save Changes"
|
|
1501
|
-
))))), isPasscodeModalOpen && /* @__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: closePasscodeModal }), /* @__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" }, /* @__PURE__ */ React16.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React16.createElement("h3", { className: "text-sm text-black tracking-tight" }, hasPasscode ? "Change Passcode" : "Create Security Passcode"), /* @__PURE__ */ React16.createElement("button", { onClick: closePasscodeModal, disabled: isPasscodeSubmitting, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon:
|
|
1501
|
+
))))), isPasscodeModalOpen && /* @__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: closePasscodeModal }), /* @__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" }, /* @__PURE__ */ React16.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React16.createElement("h3", { className: "text-sm text-black tracking-tight" }, hasPasscode ? "Change Passcode" : "Create Security Passcode"), /* @__PURE__ */ React16.createElement("button", { onClick: closePasscodeModal, disabled: isPasscodeSubmitting, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: CancelCircleIcon4, size: 18 }))), /* @__PURE__ */ React16.createElement("div", { className: "p-6" }, isPasscodeLoading ? /* @__PURE__ */ React16.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ React16.createElement(HugeiconsIcon11, { icon: Loading03Icon5, size: 28, className: "animate-spin text-stone-400 mb-4" })) : /* @__PURE__ */ React16.createElement("form", { onSubmit: handlePasscodeSubmit, className: "flex flex-col gap-6" }, hasPasscode && /* @__PURE__ */ React16.createElement(
|
|
1502
1502
|
TextInput,
|
|
1503
1503
|
{
|
|
1504
1504
|
type: "password",
|
|
@@ -1644,7 +1644,7 @@ import {
|
|
|
1644
1644
|
Search01Icon as Search01Icon3,
|
|
1645
1645
|
SearchList02Icon,
|
|
1646
1646
|
ListSettingIcon,
|
|
1647
|
-
CancelCircleIcon as
|
|
1647
|
+
CancelCircleIcon as CancelCircleIcon5,
|
|
1648
1648
|
Copy01Icon
|
|
1649
1649
|
} from "@hugeicons/core-free-icons";
|
|
1650
1650
|
var PageSpinner2 = () => /* @__PURE__ */ React19.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: Loading03Icon7, size: 32, className: "animate-spin mb-4 text-black" }));
|
|
@@ -1795,7 +1795,7 @@ var UniversalTransactionPage = ({
|
|
|
1795
1795
|
className: "p-2 bg-white border border-stone-200 rounded-full text-black hover:bg-stone-50 disabled:opacity-30 disabled:cursor-not-allowed transition-all outline-none"
|
|
1796
1796
|
},
|
|
1797
1797
|
/* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: ArrowRight01Icon3, size: 14 })
|
|
1798
|
-
)))))), selectedTransaction && /* @__PURE__ */ React19.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ React19.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__ */ React19.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React19.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Details"), /* @__PURE__ */ React19.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon:
|
|
1798
|
+
)))))), selectedTransaction && /* @__PURE__ */ React19.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React19.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedTransaction(null) }), /* @__PURE__ */ React19.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__ */ React19.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React19.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Details"), /* @__PURE__ */ React19.createElement("button", { onClick: () => setSelectedTransaction(null), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: CancelCircleIcon5, size: 18 }))), /* @__PURE__ */ React19.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6" }, /* @__PURE__ */ React19.createElement("div", { className: "flex flex-col items-center justify-center mb-4" }, /* @__PURE__ */ React19.createElement("div", { className: `w-12 h-12 rounded-full flex items-center justify-center mb-4 border border-stone-200 text-black` }, /* @__PURE__ */ React19.createElement(HugeiconsIcon14, { icon: selectedTransaction.direction === "CREDIT" ? ArrowDownRight01Icon : ArrowUpRight01Icon, size: 20 })), /* @__PURE__ */ React19.createElement("p", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts ? "blur-[6px] opacity-40 select-none" : ""}` }, selectedTransaction.amount), /* @__PURE__ */ React19.createElement("span", { className: `text-xs tracking-widest px-4 py-1.5 rounded-full ${getStatusClasses(selectedTransaction.status)}` }, selectedTransaction.status)), /* @__PURE__ */ React19.createElement("div", { className: "grid grid-cols-1 gap-y-8 gap-x-4 mb-10 mt-6" }, /* @__PURE__ */ React19.createElement("div", null, /* @__PURE__ */ React19.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-2" }, "Reference ID"), /* @__PURE__ */ React19.createElement("div", { className: "flex items-center gap-2 min-w-0" }, /* @__PURE__ */ React19.createElement("span", { className: "text-sm text-black truncate min-w-0 block" }, truncateReference(selectedTransaction.reference)), /* @__PURE__ */ React19.createElement(
|
|
1799
1799
|
"button",
|
|
1800
1800
|
{
|
|
1801
1801
|
onClick: () => handleCopyReference(selectedTransaction.reference),
|
|
@@ -1874,7 +1874,7 @@ import {
|
|
|
1874
1874
|
Notification01Icon,
|
|
1875
1875
|
ArrowLeft01Icon as ArrowLeft01Icon6,
|
|
1876
1876
|
ArrowRight01Icon as ArrowRight01Icon4,
|
|
1877
|
-
CancelCircleIcon as
|
|
1877
|
+
CancelCircleIcon as CancelCircleIcon6,
|
|
1878
1878
|
ArrowUpRight01Icon as ArrowUpRight01Icon2
|
|
1879
1879
|
} from "@hugeicons/core-free-icons";
|
|
1880
1880
|
var UniversalHomeView = ({
|
|
@@ -1956,7 +1956,7 @@ var UniversalHomeView = ({
|
|
|
1956
1956
|
hideBalanceAmounts: false,
|
|
1957
1957
|
hidePagination: true
|
|
1958
1958
|
}
|
|
1959
|
-
)), showNotifDialog && /* @__PURE__ */ React20.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__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 h-[80vh]" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ React20.createElement("button", { onClick: () => setSelectedNotif(null), className: "text-stone-400 hover:text-black transition-colors outline-none flex items-center gap-2 text-xs tracking-widest " }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: ArrowLeft01Icon6, size: 14 }), " Back") : /* @__PURE__ */ React20.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications", isNotifsLoading && /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: Loading03Icon8, size: 14, className: "animate-spin text-stone-400" })), /* @__PURE__ */ React20.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon:
|
|
1959
|
+
)), showNotifDialog && /* @__PURE__ */ React20.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React20.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__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 h-[80vh]" }, /* @__PURE__ */ React20.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, selectedNotif ? /* @__PURE__ */ React20.createElement("button", { onClick: () => setSelectedNotif(null), className: "text-stone-400 hover:text-black transition-colors outline-none flex items-center gap-2 text-xs tracking-widest " }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: ArrowLeft01Icon6, size: 14 }), " Back") : /* @__PURE__ */ React20.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications", isNotifsLoading && /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: Loading03Icon8, size: 14, className: "animate-spin text-stone-400" })), /* @__PURE__ */ React20.createElement("button", { onClick: () => setShowNotifDialog(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React20.createElement(HugeiconsIcon15, { icon: CancelCircleIcon6, size: 18 }))), /* @__PURE__ */ React20.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, selectedNotif ? /* @__PURE__ */ React20.createElement("div", { className: "p-4 text-left" }, /* @__PURE__ */ React20.createElement("h4", { className: "text-sm text-black mb-1 " }, selectedNotif.title), /* @__PURE__ */ React20.createElement("span", { className: "text-xs text-stone-400 tracking-widest mb-4 block " }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React20.createElement("p", { className: "text-xs text-stone-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message)) : /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col divide-y divide-stone-50/50" }, notifications?.length === 0 && !isNotifsLoading ? /* @__PURE__ */ React20.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "You have no notifications.") : notifications?.map((notif) => /* @__PURE__ */ React20.createElement(
|
|
1960
1960
|
"div",
|
|
1961
1961
|
{
|
|
1962
1962
|
key: notif.id,
|
|
@@ -1993,7 +1993,7 @@ import toast5 from "react-hot-toast";
|
|
|
1993
1993
|
import { HugeiconsIcon as HugeiconsIcon16 } from "@hugeicons/react";
|
|
1994
1994
|
import {
|
|
1995
1995
|
Search01Icon as Search01Icon4,
|
|
1996
|
-
CancelCircleIcon as
|
|
1996
|
+
CancelCircleIcon as CancelCircleIcon7,
|
|
1997
1997
|
Loading03Icon as Loading03Icon9,
|
|
1998
1998
|
Copy01Icon as Copy01Icon2,
|
|
1999
1999
|
ArrowLeft01Icon as ArrowLeft01Icon7,
|
|
@@ -2156,7 +2156,7 @@ var UniversalWalletPage = ({
|
|
|
2156
2156
|
onChange: (e) => setLocalSearchQuery(e.target.value),
|
|
2157
2157
|
className: "w-full pl-10 pr-4 py-2 bg-white rounded-full text-sm text-black placeholder-stone-400 outline-none transition-colors focus:border-black"
|
|
2158
2158
|
}
|
|
2159
|
-
)), !external && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React21.createElement("button", { onClick: startWalletGeneration, className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: PlusSignIcon, size: 16 })), /* @__PURE__ */ React21.createElement("button", { onClick: startWalletImport, className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Upload01Icon, size: 16 })))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-stone-500" }, headerDescription))), /* @__PURE__ */ React21.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React21.createElement(PageSpinner3, null) : /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React21.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React21.createElement("div", { key: wallet.id, onClick: () => setSelectedWallet(wallet), className: "flex items-center justify-between py-4 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React21.createElement("div", { className: "relative shrink-0" }, /* @__PURE__ */ React21.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), wallet.networkLogoSrc && /* @__PURE__ */ React21.createElement("div", { className: "absolute -bottom-1 -right-1 w-4 h-4 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React21.createElement("img", { src: wallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React21.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-black truncate" }, wallet.name), !external && wallet.isActive !== void 0 && /* @__PURE__ */ React21.createElement("span", { className: `text-xs px-1.5 py-0.5 rounded-sm tracking-widest ${wallet.isActive ? "bg-emerald-50 text-emerald-600" : "bg-[#d97757]/10 text-[#d97757]"}` }, wallet.isActive ? "Active" : "Inactive")), /* @__PURE__ */ React21.createElement("p", { className: `text-sm text-stone-500 truncate transition-all duration-300 ${hideBalanceAmounts && !external ? "blur-sm opacity-40 select-none" : ""}` }, external ? wallet.currency : `${wallet.balance} ${wallet.currency}`))), /* @__PURE__ */ React21.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React21.createElement("span", { className: "text-xs tracking-wide text-stone-600 bg-stone-100 px-2.5 py-1 rounded-full " }, wallet.network)))))))), addModalOpen && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setAddModalOpen(false) }), /* @__PURE__ */ React21.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-sm text-black tracking-tight" }, flowStep === 1 ? "Important Notice" : flowStep === 2 ? "Secret Recovery Phrase" : flowStep === 3 ? "Verify Phrase" : "Secure Wallet"), /* @__PURE__ */ React21.createElement("button", { onClick: () => !isProcessing && setAddModalOpen(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon:
|
|
2159
|
+
)), !external && /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-3 w-auto pb-0 shrink-0" }, /* @__PURE__ */ React21.createElement("button", { onClick: startWalletGeneration, className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: PlusSignIcon, size: 16 })), /* @__PURE__ */ React21.createElement("button", { onClick: startWalletImport, className: "flex items-center justify-center bg-white w-9 h-9 rounded-full text-stone-500 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Upload01Icon, size: 16 })))), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-8 p-6 rounded-2xl bg-white w-full" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col sm:flex-row sm:items-start justify-between gap-4" }, /* @__PURE__ */ React21.createElement("div", null, /* @__PURE__ */ React21.createElement("h1", { className: "text-black text-xl mb-1 tracking-tight" }, headerTitle), headerDescription && /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-stone-500" }, headerDescription))), /* @__PURE__ */ React21.createElement("div", { className: "w-full overflow-hidden" }, isLoading ? /* @__PURE__ */ React21.createElement(PageSpinner3, null) : /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React21.createElement("div", null, filteredWallets.length === 0 ? /* @__PURE__ */ React21.createElement("p", { className: "text-xs text-stone-400 py-6 text-center" }, "No wallets found") : filteredWallets.map((wallet) => /* @__PURE__ */ React21.createElement("div", { key: wallet.id, onClick: () => setSelectedWallet(wallet), className: "flex items-center justify-between py-4 hover:bg-stone-50 transition-colors cursor-pointer group min-w-0 px-3 -mx-3 rounded-xl" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-4 min-w-0 flex-1" }, /* @__PURE__ */ React21.createElement("div", { className: "relative shrink-0" }, /* @__PURE__ */ React21.createElement(WalletLogo, { src: wallet.logoSrc, alt: wallet.name }), wallet.networkLogoSrc && /* @__PURE__ */ React21.createElement("div", { className: "absolute -bottom-1 -right-1 w-4 h-4 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React21.createElement("img", { src: wallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React21.createElement("div", { className: "min-w-0 flex-1 flex flex-col gap-1" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-black truncate" }, wallet.name), !external && wallet.isActive !== void 0 && /* @__PURE__ */ React21.createElement("span", { className: `text-xs px-1.5 py-0.5 rounded-sm tracking-widest ${wallet.isActive ? "bg-emerald-50 text-emerald-600" : "bg-[#d97757]/10 text-[#d97757]"}` }, wallet.isActive ? "Active" : "Inactive")), /* @__PURE__ */ React21.createElement("p", { className: `text-sm text-stone-500 truncate transition-all duration-300 ${hideBalanceAmounts && !external ? "blur-sm opacity-40 select-none" : ""}` }, external ? wallet.currency : `${wallet.balance} ${wallet.currency}`))), /* @__PURE__ */ React21.createElement("div", { className: "shrink-0 flex flex-col items-end gap-1 text-right" }, /* @__PURE__ */ React21.createElement("span", { className: "text-xs tracking-wide text-stone-600 bg-stone-100 px-2.5 py-1 rounded-full " }, wallet.network)))))))), addModalOpen && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setAddModalOpen(false) }), /* @__PURE__ */ React21.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React21.createElement("h3", { className: "text-sm text-black tracking-tight" }, flowStep === 1 ? "Important Notice" : flowStep === 2 ? "Secret Recovery Phrase" : flowStep === 3 ? "Verify Phrase" : "Secure Wallet"), /* @__PURE__ */ React21.createElement("button", { onClick: () => !isProcessing && setAddModalOpen(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: CancelCircleIcon7, size: 18 }))), /* @__PURE__ */ React21.createElement("div", { className: "p-6" }, flowStep === 1 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React21.createElement(Banner, { type: "alert", title: "Critical Warning", message: "You are about to generate a Self-Custodial Recovery Phrase. This phrase is the absolute master key to your wallet and all assets within it. Aeona DOES NOT store this phrase. If you lose it, your funds are permanently lost. Do not share this phrase with anyone.", isDismissible: false }), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "I Understand, Generate Phrase")), flowStep === 2 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-stone-600" }, "Please write down these words in the exact order shown. Store them in a secure, offline location."), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-2 max-h-48 overflow-y-auto custom-scrollbar pr-1" }, generatedPhrase.split(" ").map((word, idx) => /* @__PURE__ */ React21.createElement("div", { key: idx, className: "flex items-center gap-1.5 bg-stone-50 rounded-lg p-2 selection:bg-stone-100" }, /* @__PURE__ */ React21.createElement("span", { className: "text-xs text-stone-400 select-none w-4 text-right shrink-0" }, idx + 1, "."), /* @__PURE__ */ React21.createElement("span", { className: "text-sm text-black " }, word)))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between gap-2 0 pt-4" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => handleCopy(generatedPhrase, false), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Copy01Icon2, size: 14 }), " Copy Phrase"), /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: handleDownloadTxt, className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: Download01Icon, size: 14 }), " Download .txt")), /* @__PURE__ */ React21.createElement("div", { className: "flex items-start gap-3 p-3 rounded-xl border border-stone-200 mt-2" }, /* @__PURE__ */ React21.createElement("input", { type: "checkbox", id: "backup-confirm", checked: hasBackedUp, onChange: (e) => setHasBackedUp(e.target.checked), className: "mt-0.5 w-4 h-4 bg-white border-stone-300 rounded text-black focus:ring-black cursor-pointer shrink-0" }), /* @__PURE__ */ React21.createElement("label", { htmlFor: "backup-confirm", className: "text-xs text-stone-600 cursor-pointer leading-relaxed" }, "I have securely copied and stored my recovery phrase. I understand that if I lose it, my funds are gone forever.")), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Continue")), flowStep === 3 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-stone-600" }, "Please enter or paste your recovery phrase below to verify your backup."), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-2 max-h-56 overflow-y-auto custom-scrollbar pr-1 pb-1" }, verifyWords.map((word, idx) => /* @__PURE__ */ React21.createElement("div", { key: idx, className: "flex items-center gap-1 bg-white border border-stone-200 focus-within:border-black rounded-lg p-1.5 transition-colors" }, /* @__PURE__ */ React21.createElement("span", { className: "text-xs text-stone-400 w-4 shrink-0 text-right select-none" }, idx + 1, "."), /* @__PURE__ */ React21.createElement(
|
|
2160
2160
|
"input",
|
|
2161
2161
|
{
|
|
2162
2162
|
type: "text",
|
|
@@ -2181,7 +2181,7 @@ var UniversalWalletPage = ({
|
|
|
2181
2181
|
},
|
|
2182
2182
|
className: "w-full bg-transparent text-sm text-black outline-none min-w-0"
|
|
2183
2183
|
}
|
|
2184
|
-
)))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => handleGridPaste(setVerifyWords, verifyWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Verify Backup")), flowStep === 4 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement(Banner, { type: "success", title: "Phrase Verified", message: "Your phrase is correct. Now set a local password to encrypt your wallet on this browser.", isDismissible: false }), /* @__PURE__ */ React21.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("generated"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Save Wallet"))))), importModalOpen && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setImportModalOpen(false) }), /* @__PURE__ */ React21.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React21.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Import Wallet"), /* @__PURE__ */ React21.createElement("button", { onClick: () => !isProcessing && setImportModalOpen(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon:
|
|
2184
|
+
)))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => handleGridPaste(setVerifyWords, verifyWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleCreationNext, className: "w-full mt-2" }, "Verify Backup")), flowStep === 4 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement(Banner, { type: "success", title: "Phrase Verified", message: "Your phrase is correct. Now set a local password to encrypt your wallet on this browser.", isDismissible: false }), /* @__PURE__ */ React21.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("generated"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Save Wallet"))))), importModalOpen && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isProcessing && setImportModalOpen(false) }), /* @__PURE__ */ React21.createElement("div", { className: "relative w-full max-w-md bg-white rounded-2xl flex flex-col overflow-hidden shadow-2xl animate-in zoom-in-95 duration-200" }, /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React21.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Import Wallet"), /* @__PURE__ */ React21.createElement("button", { onClick: () => !isProcessing && setImportModalOpen(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: CancelCircleIcon7, size: 18 }))), /* @__PURE__ */ React21.createElement("div", { className: "p-6" }, flowStep === 1 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-stone-600" }, "Enter your 12 or 24-word recovery phrase to restore your wallet on this device."), /* @__PURE__ */ React21.createElement("div", { className: "grid grid-cols-3 gap-2 max-h-56 overflow-y-auto custom-scrollbar pr-1 pb-1" }, importWords.map((word, idx) => /* @__PURE__ */ React21.createElement("div", { key: idx, className: "flex items-center gap-1 bg-white border border-stone-200 focus-within:border-black rounded-lg p-1.5 transition-colors" }, /* @__PURE__ */ React21.createElement("span", { className: "text-xs text-stone-400 w-4 shrink-0 text-right select-none" }, idx + 1, "."), /* @__PURE__ */ React21.createElement(
|
|
2185
2185
|
"input",
|
|
2186
2186
|
{
|
|
2187
2187
|
type: "text",
|
|
@@ -2207,7 +2207,7 @@ var UniversalWalletPage = ({
|
|
|
2207
2207
|
},
|
|
2208
2208
|
className: "w-full bg-transparent text-sm text-black outline-none min-w-0"
|
|
2209
2209
|
}
|
|
2210
|
-
)))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => handleGridPaste(setImportWords, importWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleImportNext, className: "w-full mt-2" }, "Continue")), flowStep === 2 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-stone-600" }, "Set a local password to encrypt this wallet on this specific browser."), /* @__PURE__ */ React21.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("imported"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Import Wallet"))))), selectedWallet && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ React21.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__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React21.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ React21.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon:
|
|
2210
|
+
)))), /* @__PURE__ */ React21.createElement("div", { className: "flex items-center justify-between pt-4" }, /* @__PURE__ */ React21.createElement("button", { type: "button", onClick: () => handleGridPaste(setImportWords, importWords), className: "text-xs text-black flex items-center gap-1.5 hover:underline outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: ClipboardIcon, size: 14 }), " Paste Phrase")), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: handleImportNext, className: "w-full mt-2" }, "Continue")), flowStep === 2 && /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col gap-6 animate-in fade-in slide-in-from-right-4" }, /* @__PURE__ */ React21.createElement("p", { className: "text-sm text-stone-600" }, "Set a local password to encrypt this wallet on this specific browser."), /* @__PURE__ */ React21.createElement(TextInput, { label: "Local Password", type: "password", value: walletPassword, onChange: setWalletPassword, placeholder: "Enter a strong password" }), /* @__PURE__ */ React21.createElement(ThreeDActionButton, { onClick: () => handleSaveWallet("imported"), isLoading: isProcessing, className: "w-full mt-2" }, "Encrypt & Import Wallet"))))), selectedWallet && /* @__PURE__ */ React21.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React21.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => setSelectedWallet(null) }), /* @__PURE__ */ React21.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__ */ React21.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React21.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Wallet Details"), /* @__PURE__ */ React21.createElement("button", { onClick: () => setSelectedWallet(null), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React21.createElement(HugeiconsIcon16, { icon: CancelCircleIcon7, size: 18 }))), /* @__PURE__ */ React21.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 pt-6" }, /* @__PURE__ */ React21.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React21.createElement("div", { className: "relative mb-4" }, /* @__PURE__ */ React21.createElement(WalletLogo, { src: selectedWallet.logoSrc, alt: selectedWallet.name, sizeClass: "w-14 h-14" }), selectedWallet.networkLogoSrc && /* @__PURE__ */ React21.createElement("div", { className: "absolute -bottom-1 -right-1 w-5 h-5 rounded-full border border-white bg-white overflow-hidden shadow-sm" }, /* @__PURE__ */ React21.createElement("img", { src: selectedWallet.networkLogoSrc, alt: "Network", className: "w-full h-full object-cover" }))), /* @__PURE__ */ React21.createElement("h2", { className: `text-2xl text-black mb-2 transition-all duration-300 ${hideBalanceAmounts && !external ? "blur-[6px] opacity-40 select-none" : ""}` }, external ? selectedWallet.currency : `${selectedWallet.balance} ${selectedWallet.currency}`), /* @__PURE__ */ React21.createElement("span", { className: "text-xs tracking-widest text-stone-500 px-4 py-1.5 rounded-full border border-stone-200 mt-1 " }, selectedWallet.network, " NETWORK")), renderQrCode && /* @__PURE__ */ React21.createElement("div", { className: "w-full flex justify-center mb-6 mix-blend-multiply" }, renderQrCode(selectedWallet)), external && /* @__PURE__ */ React21.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React21.createElement(
|
|
2211
2211
|
Banner,
|
|
2212
2212
|
{
|
|
2213
2213
|
type: "warning",
|
|
@@ -2241,7 +2241,7 @@ import {
|
|
|
2241
2241
|
ArrowRight01Icon as ArrowRight01Icon5,
|
|
2242
2242
|
ViewOffSlashIcon,
|
|
2243
2243
|
Loading03Icon as Loading03Icon10,
|
|
2244
|
-
CancelCircleIcon as
|
|
2244
|
+
CancelCircleIcon as CancelCircleIcon8,
|
|
2245
2245
|
Copy01Icon as Copy01Icon3,
|
|
2246
2246
|
PlusSignIcon as PlusSignIcon2
|
|
2247
2247
|
} from "@hugeicons/core-free-icons";
|
|
@@ -2403,7 +2403,7 @@ var CardInfoDialog = ({ isOpen, onClose, cardDetails }) => {
|
|
|
2403
2403
|
toast6.success(`${label} copied to clipboard`);
|
|
2404
2404
|
};
|
|
2405
2405
|
const formattedCardNumber = cardDetails.card_number.replace(/(.{4})/g, "$1 ").trim();
|
|
2406
|
-
return /* @__PURE__ */ React22.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React22.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: onClose }), /* @__PURE__ */ React22.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__ */ React22.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React22.createElement("h3", { className: "text-sm text-black tracking-tight " }, "Secure Card Details"), /* @__PURE__ */ React22.createElement("button", { onClick: onClose, className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon:
|
|
2406
|
+
return /* @__PURE__ */ React22.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React22.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: onClose }), /* @__PURE__ */ React22.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__ */ React22.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React22.createElement("h3", { className: "text-sm text-black tracking-tight " }, "Secure Card Details"), /* @__PURE__ */ React22.createElement("button", { onClick: onClose, className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: CancelCircleIcon8, size: 18 }))), /* @__PURE__ */ React22.createElement("div", { className: "p-6" }, /* @__PURE__ */ React22.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-6" }, /* @__PURE__ */ React22.createElement("div", null, /* @__PURE__ */ React22.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1.5 " }, "Card Number"), /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-stone-200" }, /* @__PURE__ */ React22.createElement("span", { className: "text-sm tracking-widest text-black block" }, formattedCardNumber), /* @__PURE__ */ React22.createElement("button", { onClick: () => handleCopy(cardDetails.card_number, "Card Number"), className: "text-stone-400 hover:text-black outline-none shrink-0 ml-3" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React22.createElement("div", { className: "grid grid-cols-2 gap-4" }, /* @__PURE__ */ React22.createElement("div", null, /* @__PURE__ */ React22.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1.5 " }, "Expiry Date"), /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-stone-200" }, /* @__PURE__ */ React22.createElement("span", { className: "text-sm text-black block" }, cardDetails.expiry), /* @__PURE__ */ React22.createElement("button", { onClick: () => handleCopy(cardDetails.expiry, "Expiry Date"), className: "text-stone-400 hover:text-black outline-none shrink-0 ml-2" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: Copy01Icon3, size: 16 })))), /* @__PURE__ */ React22.createElement("div", null, /* @__PURE__ */ React22.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1.5 " }, "CVV"), /* @__PURE__ */ React22.createElement("div", { className: "flex items-center justify-between p-3 rounded-full border border-stone-200" }, /* @__PURE__ */ React22.createElement("span", { className: "text-sm text-black block" }, cardDetails.cvv), /* @__PURE__ */ React22.createElement("button", { onClick: () => handleCopy(cardDetails.cvv, "CVV"), className: "text-stone-400 hover:text-black outline-none shrink-0 ml-2" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: Copy01Icon3, size: 16 })))))))));
|
|
2407
2407
|
};
|
|
2408
2408
|
var FundCardDialog = ({ isOpen, onClose, onSubmit }) => {
|
|
2409
2409
|
const [amount, setAmount] = useState15("");
|
|
@@ -2427,7 +2427,7 @@ var FundCardDialog = ({ isOpen, onClose, onSubmit }) => {
|
|
|
2427
2427
|
setIsProcessing(false);
|
|
2428
2428
|
}
|
|
2429
2429
|
};
|
|
2430
|
-
return /* @__PURE__ */ React22.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React22.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isProcessing && onClose() }), /* @__PURE__ */ React22.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__ */ React22.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React22.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Fund Card"), /* @__PURE__ */ React22.createElement("button", { disabled: isProcessing, onClick: onClose, className: "text-stone-400 hover:text-black outline-none disabled:opacity-50" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon:
|
|
2430
|
+
return /* @__PURE__ */ React22.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React22.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: () => !isProcessing && onClose() }), /* @__PURE__ */ React22.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__ */ React22.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React22.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Fund Card"), /* @__PURE__ */ React22.createElement("button", { disabled: isProcessing, onClick: onClose, className: "text-stone-400 hover:text-black outline-none disabled:opacity-50" }, /* @__PURE__ */ React22.createElement(HugeiconsIcon17, { icon: CancelCircleIcon8, size: 18 }))), /* @__PURE__ */ React22.createElement("div", { className: "flex-1 p-6" }, /* @__PURE__ */ React22.createElement("form", { onSubmit: handleFundCard, className: "flex flex-col gap-6" }, /* @__PURE__ */ React22.createElement(
|
|
2431
2431
|
NumberInput,
|
|
2432
2432
|
{
|
|
2433
2433
|
label: "Amount to Add",
|
|
@@ -2975,7 +2975,7 @@ import React28, { useState as useState21 } from "react";
|
|
|
2975
2975
|
import toast8 from "react-hot-toast";
|
|
2976
2976
|
import { HugeiconsIcon as HugeiconsIcon21 } from "@hugeicons/react";
|
|
2977
2977
|
import {
|
|
2978
|
-
CancelCircleIcon as
|
|
2978
|
+
CancelCircleIcon as CancelCircleIcon9,
|
|
2979
2979
|
Loading03Icon as Loading03Icon12,
|
|
2980
2980
|
ArrowLeft01Icon as ArrowLeft01Icon8,
|
|
2981
2981
|
Key01Icon,
|
|
@@ -3101,7 +3101,7 @@ var UniversalSecurityPage = ({
|
|
|
3101
3101
|
toggleLoading: isPasskeyLoading,
|
|
3102
3102
|
isLast: true
|
|
3103
3103
|
}
|
|
3104
|
-
))), isPasscodeModalOpen && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePasscodeModal }), /* @__PURE__ */ React28.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__ */ React28.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React28.createElement("h3", { className: "text-sm text-black tracking-tight" }, hasPasscode ? "Change Passcode" : "Create Security Passcode"), /* @__PURE__ */ React28.createElement("button", { onClick: closePasscodeModal, disabled: isPasscodeSubmitting, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon:
|
|
3104
|
+
))), isPasscodeModalOpen && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/40", onClick: closePasscodeModal }), /* @__PURE__ */ React28.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__ */ React28.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React28.createElement("h3", { className: "text-sm text-black tracking-tight" }, hasPasscode ? "Change Passcode" : "Create Security Passcode"), /* @__PURE__ */ React28.createElement("button", { onClick: closePasscodeModal, disabled: isPasscodeSubmitting, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon: CancelCircleIcon9, size: 18 }))), /* @__PURE__ */ React28.createElement("div", { className: "p-6" }, isPasscodeLoading ? /* @__PURE__ */ React28.createElement("div", { className: "flex flex-col items-center justify-center py-10" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon: Loading03Icon12, size: 28, className: "animate-spin text-stone-400 mb-4" })) : /* @__PURE__ */ React28.createElement("form", { onSubmit: handlePasscodeSubmit, className: "flex flex-col gap-6" }, hasPasscode && /* @__PURE__ */ React28.createElement(
|
|
3105
3105
|
TextInput,
|
|
3106
3106
|
{
|
|
3107
3107
|
type: "password",
|
|
@@ -3143,7 +3143,7 @@ var UniversalSecurityPage = ({
|
|
|
3143
3143
|
className: "w-full"
|
|
3144
3144
|
},
|
|
3145
3145
|
hasPasscode ? "Update Passcode" : "Set Passcode"
|
|
3146
|
-
)))))), showPasskeyModal && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShowPasskeyModal(false) }), /* @__PURE__ */ React28.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__ */ React28.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React28.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Enable Passkey"), /* @__PURE__ */ React28.createElement("button", { onClick: () => !isSubmitting && setShowPasskeyModal(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon:
|
|
3146
|
+
)))))), showPasskeyModal && /* @__PURE__ */ React28.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React28.createElement("div", { className: "absolute inset-0 bg-black/40 ", onClick: () => !isSubmitting && setShowPasskeyModal(false) }), /* @__PURE__ */ React28.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__ */ React28.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, /* @__PURE__ */ React28.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Enable Passkey"), /* @__PURE__ */ React28.createElement("button", { onClick: () => !isSubmitting && setShowPasskeyModal(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React28.createElement(HugeiconsIcon21, { icon: CancelCircleIcon9, size: 18 }))), /* @__PURE__ */ React28.createElement("div", { className: "p-6 text-center" }, /* @__PURE__ */ React28.createElement("p", { className: "text-sm text-stone-500 mb-8 leading-relaxed" }, "Use your device's biometrics (Face ID, Touch ID, or PIN) to securely sign into your account without needing a password."), /* @__PURE__ */ React28.createElement(
|
|
3147
3147
|
ThreeDActionButton,
|
|
3148
3148
|
{
|
|
3149
3149
|
onClick: submitEnablePasskey,
|
|
@@ -3224,7 +3224,7 @@ var FeatureCard = ({ feature, bgImage }) => {
|
|
|
3224
3224
|
onLoad: () => setIsFgLoading(false),
|
|
3225
3225
|
className: `
|
|
3226
3226
|
object-cover transition-all duration-700 ease-out
|
|
3227
|
-
${isLeft ? "object-top-right rounded-tr-
|
|
3227
|
+
${isLeft ? "object-top-right rounded-tr-lg shadow-[12px_-12px_30px_rgba(0,0,0,0.06)]" : "object-top-left rounded-tl-lg shadow-[-12px_-12px_30px_rgba(0,0,0,0.06)]"}
|
|
3228
3228
|
${isFgLoading ? "opacity-0 blur-xl" : "opacity-100 blur-0"}
|
|
3229
3229
|
`
|
|
3230
3230
|
}
|
|
@@ -4356,7 +4356,7 @@ import { useWindowSize as useWindowSize2 } from "react-use";
|
|
|
4356
4356
|
import { HugeiconsIcon as HugeiconsIcon32 } from "@hugeicons/react";
|
|
4357
4357
|
import {
|
|
4358
4358
|
ArrowLeft01Icon as ArrowLeft01Icon13,
|
|
4359
|
-
CancelCircleIcon as
|
|
4359
|
+
CancelCircleIcon as CancelCircleIcon11,
|
|
4360
4360
|
Loading03Icon as Loading03Icon20
|
|
4361
4361
|
} from "@hugeicons/core-free-icons";
|
|
4362
4362
|
var CheckIcon2 = ({ className = "" }) => /* @__PURE__ */ React46.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__ */ React46.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ React46.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
|
|
@@ -4511,7 +4511,7 @@ var UniversalCardActionPage = ({
|
|
|
4511
4511
|
onClick: () => setSelectedTier(null),
|
|
4512
4512
|
className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50"
|
|
4513
4513
|
},
|
|
4514
|
-
/* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon:
|
|
4514
|
+
/* @__PURE__ */ React46.createElement(HugeiconsIcon32, { icon: CancelCircleIcon11, size: 18 })
|
|
4515
4515
|
)), /* @__PURE__ */ React46.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-6 relative z-10" }, /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col items-center justify-center mb-6" }, /* @__PURE__ */ React46.createElement("p", { className: "text-2xl text-black mb-1" }, selectedTier.priceUSD === 0 ? "Free" : `$${selectedTier.priceUSD.toFixed(2)}`), /* @__PURE__ */ React46.createElement("span", { className: `text-xs tracking-widest px-4 py-1.5 rounded-full bg-stone-100 text-black mt-1` }, formatTierName(selectedTier.tierName), " ", formatTierName(cardType))), /* @__PURE__ */ React46.createElement("div", { className: "grid grid-cols-1 gap-y-6 mb-8 mt-4" }, /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1" }, "Action"), /* @__PURE__ */ React46.createElement("span", { className: "text-sm text-black " }, intendedAction === "upgrade" ? `Upgrade to ${formatTierName(selectedTier.tierName)}` : `Pre-order Card`)), intendedAction === "pre_order" && selectedTier.priceUSD > 0 && /* @__PURE__ */ React46.createElement("div", null, /* @__PURE__ */ React46.createElement("span", { className: "text-xs tracking-[0.2em] text-stone-400 block mb-1" }, "Payment Notice"), /* @__PURE__ */ React46.createElement("span", { className: "text-xs text-stone-600 leading-relaxed block" }, "By confirming, $", selectedTier.priceUSD.toFixed(2), " will be securely deducted from your USD asset balance to guarantee your order."))), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React46.createElement(
|
|
4516
4516
|
ThreeDActionButton,
|
|
4517
4517
|
{
|
|
@@ -4546,7 +4546,7 @@ var UniversalCardActionPage = ({
|
|
|
4546
4546
|
// src/components/PinDialerBottomSheet.tsx
|
|
4547
4547
|
import React47, { useState as useState33, useEffect as useEffect18 } from "react";
|
|
4548
4548
|
import { HugeiconsIcon as HugeiconsIcon33 } from "@hugeicons/react";
|
|
4549
|
-
import { CancelCircleIcon as
|
|
4549
|
+
import { CancelCircleIcon as CancelCircleIcon12 } from "@hugeicons/core-free-icons";
|
|
4550
4550
|
var PinDialerBottomSheet = ({
|
|
4551
4551
|
isOpen,
|
|
4552
4552
|
title = "Action Required",
|
|
@@ -4581,7 +4581,7 @@ var PinDialerBottomSheet = ({
|
|
|
4581
4581
|
disabled: isVerifying,
|
|
4582
4582
|
className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50"
|
|
4583
4583
|
},
|
|
4584
|
-
/* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon:
|
|
4584
|
+
/* @__PURE__ */ React47.createElement(HugeiconsIcon33, { icon: CancelCircleIcon12, size: 20 })
|
|
4585
4585
|
)), /* @__PURE__ */ React47.createElement("div", { className: "flex flex-col px-6 pb-6 pt-2 relative" }, /* @__PURE__ */ React47.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React47.createElement(
|
|
4586
4586
|
TextInput,
|
|
4587
4587
|
{
|
|
@@ -5248,7 +5248,7 @@ import {
|
|
|
5248
5248
|
Notification01Icon as Notification01Icon2,
|
|
5249
5249
|
ArrowLeft01Icon as ArrowLeft01Icon17,
|
|
5250
5250
|
ArrowRight01Icon as ArrowRight01Icon12,
|
|
5251
|
-
CancelCircleIcon as
|
|
5251
|
+
CancelCircleIcon as CancelCircleIcon13,
|
|
5252
5252
|
ArrowUpRight01Icon as ArrowUpRight01Icon3,
|
|
5253
5253
|
Robot01Icon,
|
|
5254
5254
|
Logout01Icon,
|
|
@@ -5396,7 +5396,7 @@ var UniversalHome2 = ({
|
|
|
5396
5396
|
{
|
|
5397
5397
|
...huddlesProps
|
|
5398
5398
|
}
|
|
5399
|
-
)), showOrgSwitcher && /* @__PURE__ */ React51.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ React51.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-[80vh] h-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React51.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ React51.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon:
|
|
5399
|
+
)), showOrgSwitcher && /* @__PURE__ */ React51.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowOrgSwitcher(false) }), /* @__PURE__ */ React51.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-[80vh] h-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between p-5 shrink-0 " }, /* @__PURE__ */ React51.createElement("h3", { className: "text-sm text-black tracking-tight" }, "Switch Workspace"), /* @__PURE__ */ React51.createElement("button", { onClick: () => setShowOrgSwitcher(false), className: "text-stone-400 hover:text-black transition-colors outline-none" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon: CancelCircleIcon13, size: 18 }))), /* @__PURE__ */ React51.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2" }, /* @__PURE__ */ React51.createElement("div", { className: "flex flex-col" }, organizations?.length === 0 ? /* @__PURE__ */ React51.createElement("div", { className: "p-8 text-center text-xs text-stone-400" }, "No organizations found.") : organizations?.map((org) => /* @__PURE__ */ React51.createElement(
|
|
5400
5400
|
"button",
|
|
5401
5401
|
{
|
|
5402
5402
|
key: org.id,
|
|
@@ -5420,7 +5420,7 @@ var UniversalHome2 = ({
|
|
|
5420
5420
|
},
|
|
5421
5421
|
/* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon: Logout01Icon, size: 15 }),
|
|
5422
5422
|
"Log Out"
|
|
5423
|
-
)))), showNotifDialog && /* @__PURE__ */ React51.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React51.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-[80vh] h-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React51.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none flex items-center gap-2 text-xs tracking-widest disabled:opacity-50" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon: ArrowLeft01Icon17, size: 14 }), " Back") : /* @__PURE__ */ React51.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React51.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon:
|
|
5423
|
+
)))), showNotifDialog && /* @__PURE__ */ React51.createElement("div", { className: "fixed inset-0 z-120 flex items-center justify-center p-4 pointer-events-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 bg-black/30", onClick: () => setShowNotifDialog(false) }), /* @__PURE__ */ React51.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-[80vh] h-auto" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-between p-5 shrink-0" }, selectedNotif ? /* @__PURE__ */ React51.createElement("button", { onClick: () => setSelectedNotif(null), disabled: isResolving, className: "text-[#d97757] hover:text-[#d97757] transition-colors outline-none flex items-center gap-2 text-xs tracking-widest disabled:opacity-50" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon: ArrowLeft01Icon17, size: 14 }), " Back") : /* @__PURE__ */ React51.createElement("h3", { className: "text-sm text-black tracking-tight flex items-center gap-2" }, "Notifications"), /* @__PURE__ */ React51.createElement("button", { onClick: () => setShowNotifDialog(false), disabled: isResolving, className: "text-stone-400 hover:text-black transition-colors outline-none disabled:opacity-50" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon: CancelCircleIcon13, size: 18 }))), /* @__PURE__ */ React51.createElement("div", { className: "flex-1 overflow-y-auto custom-scrollbar p-2 relative" }, isNotifsLoading && !selectedNotif && /* @__PURE__ */ React51.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon: Loading03Icon24, size: 28, className: "animate-spin text-black" })), selectedNotif ? /* @__PURE__ */ React51.createElement("div", { className: "p-4 text-left" }, selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && selectedNotif.meta_json?.completed ? /* @__PURE__ */ React51.createElement("div", { className: "mb-2" }, /* @__PURE__ */ React51.createElement("span", { className: "inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-emerald-50 text-emerald-600 text-xs tracking-wide" }, /* @__PURE__ */ React51.createElement(HugeiconsIcon37, { icon: Tick02Icon2, size: 12 }), " Action Completed")) : /* @__PURE__ */ React51.createElement("h4", { className: "text-sm text-black mb-1" }, selectedNotif.title), /* @__PURE__ */ React51.createElement("span", { className: "text-xs text-stone-400 tracking-widest mb-4 block" }, formatNotifDate(selectedNotif.createdAt)), /* @__PURE__ */ React51.createElement("p", { className: "text-xs text-stone-600 leading-relaxed whitespace-pre-wrap" }, selectedNotif.message), selectedNotif.type === "HUDDLE_INVITE" && selectedNotif.meta_json?.action === "RESOLVE_INVITE" && /* @__PURE__ */ React51.createElement("div", { className: `mt-8 flex gap-3 pt-6 ${selectedNotif.meta_json?.completed ? "opacity-40 pointer-events-none cursor-not-allowed" : ""}` }, /* @__PURE__ */ React51.createElement(
|
|
5424
5424
|
"button",
|
|
5425
5425
|
{
|
|
5426
5426
|
onClick: () => handleResolve("ACCEPTED"),
|