@embarkai/ui-kit 0.4.92 → 0.4.94
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/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +1323 -1522
- package/dist/index.js +1318 -1518
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -5021,11 +5021,12 @@ var init_cn = __esm({
|
|
|
5021
5021
|
});
|
|
5022
5022
|
|
|
5023
5023
|
// src/internal/constants.ts
|
|
5024
|
-
var import_lucide_react, LOCAL_COLOR_MODE_KEY, LOOCAL_BACKUP_STATUS_KEY, DEFAULT_AUTH_MENU_HEIGHT, DEFAULT_MAIN_MENU_HEIGHT, MAX_CONTENT_HEIGHT, MAIN_DIALOG_ANIMATION_SPEED, Y_ANIMATION_SETUP, BLOCKSCOUT_QUERY_STALE_TIME, BLOCKSCOUT_QUERY_GC_TIME, BLOCKSCOUT_REFRESH_DEBOUNCE, IPFS_GATEWAY, PROVIDERS_META;
|
|
5024
|
+
var import_lucide_react, EMBARKAI_DIALOG_ONBOARDING_ID, LOCAL_COLOR_MODE_KEY, LOOCAL_BACKUP_STATUS_KEY, DEFAULT_AUTH_MENU_HEIGHT, DEFAULT_MAIN_MENU_HEIGHT, MAX_CONTENT_HEIGHT, MAIN_DIALOG_ANIMATION_SPEED, Y_ANIMATION_SETUP, BLOCKSCOUT_QUERY_STALE_TIME, BLOCKSCOUT_QUERY_GC_TIME, BLOCKSCOUT_REFRESH_DEBOUNCE, IPFS_GATEWAY, PROVIDERS_META;
|
|
5025
5025
|
var init_constants = __esm({
|
|
5026
5026
|
"src/internal/constants.ts"() {
|
|
5027
5027
|
import_lucide_react = require("lucide-react");
|
|
5028
5028
|
init_assets();
|
|
5029
|
+
EMBARKAI_DIALOG_ONBOARDING_ID = "embark-main-dialog-content";
|
|
5029
5030
|
LOCAL_COLOR_MODE_KEY = "passport-theme-mode";
|
|
5030
5031
|
LOOCAL_BACKUP_STATUS_KEY = "passport-backup-status";
|
|
5031
5032
|
DEFAULT_AUTH_MENU_HEIGHT = 253;
|
|
@@ -5061,25 +5062,16 @@ var init_useLayoutStore = __esm({
|
|
|
5061
5062
|
colorMode: "light",
|
|
5062
5063
|
isMobileView: false,
|
|
5063
5064
|
maxScrollHeight: MAX_CONTENT_HEIGHT,
|
|
5064
|
-
isDialogClosing: false,
|
|
5065
5065
|
isDialogOpen: false,
|
|
5066
|
+
isDialogAnimating: false,
|
|
5066
5067
|
isDialogForced: false,
|
|
5067
|
-
dialogTitle: null,
|
|
5068
|
-
dialogDescription: null,
|
|
5069
5068
|
dialogContent: null,
|
|
5070
5069
|
isSettings: false,
|
|
5071
5070
|
setColorMode: (colorMode) => set({ colorMode }),
|
|
5072
|
-
// setLayoutView: (layoutView) => set(() => ({ layoutView })),
|
|
5073
|
-
// setDeviceType: (deviceType) => set(() => ({ deviceType })),
|
|
5074
5071
|
setIsMobileView: (isMobileView) => set({ isMobileView }),
|
|
5075
5072
|
setMaxScrollHeight: (maxScrollHeight) => set({ maxScrollHeight }),
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
setIsDialogForced: (isDialogForced) => set({ isDialogForced }),
|
|
5079
|
-
setDialogTitle: (dialogTitle) => set({ dialogTitle }),
|
|
5080
|
-
setDialogDescription: (dialogDescription) => set({ dialogDescription }),
|
|
5081
|
-
setDialogContent: (dialogContent) => set({ dialogContent }),
|
|
5082
|
-
setIsSettings: (isSettings) => set({ isSettings })
|
|
5073
|
+
/** dedicated setter for dialog forced state */
|
|
5074
|
+
setIsDialogForced: (isDialogForced) => set({ isDialogForced })
|
|
5083
5075
|
}));
|
|
5084
5076
|
}
|
|
5085
5077
|
});
|
|
@@ -9713,18 +9705,20 @@ var init_input = __esm({
|
|
|
9713
9705
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
9714
9706
|
"div",
|
|
9715
9707
|
{
|
|
9716
|
-
className: cn2(
|
|
9717
|
-
"flex h-12 w-full rounded-[var(--ui-kit-el-bdrs)] items-center gap-[var(--ui-kit-gap)] px-[var(--ui-kit-pd)]",
|
|
9718
|
-
"bg-[var(--ui-kit-secondary)]",
|
|
9719
|
-
"hover:bg-[var(--ui-kit-secondary-a)]",
|
|
9720
|
-
"transition-colors duration-200 ease-in-out",
|
|
9721
|
-
"file:border-0 file:bg-transparent file:text-base file:font-medium",
|
|
9722
|
-
"focus-within:outline-none focus-within:bg-[var(--ui-kit-secondary-h)]",
|
|
9723
|
-
disabled ? "cursor-default opacity-50" : "cursor-text"
|
|
9724
|
-
),
|
|
9725
9708
|
onClick: () => {
|
|
9726
9709
|
internalRef.current?.focus();
|
|
9727
9710
|
},
|
|
9711
|
+
className: cn2(
|
|
9712
|
+
"flex h-12 w-full items-center gap-[var(--ui-kit-gap)] px-[var(--ui-kit-pd)]",
|
|
9713
|
+
"bg-[var(--ui-kit-secondary)] rounded-[var(--ui-kit-el-bdrs)]",
|
|
9714
|
+
"border border-transparent",
|
|
9715
|
+
"transition-all duration-200 ease-in-out",
|
|
9716
|
+
disabled ? "cursor-not-allowed opacity-50" : cn2(
|
|
9717
|
+
"cursor-text opacity-100 hover:opacity-80",
|
|
9718
|
+
"focus-within:opacity-100 focus-within:border-[var(--ui-kit-bd)]",
|
|
9719
|
+
"focus-within:hover:opacity-100"
|
|
9720
|
+
)
|
|
9721
|
+
),
|
|
9728
9722
|
children: [
|
|
9729
9723
|
Icon2 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "flex flex-none items-center justify-center w-8 h-8", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon2, { width: 16, height: 16, className: "text-[var(--ui-kit-fg)]" }) }),
|
|
9730
9724
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
@@ -9734,9 +9728,10 @@ var init_input = __esm({
|
|
|
9734
9728
|
className: cn2(
|
|
9735
9729
|
"text-[16px] text-[var(--ui-kit-fg)] font-semibold",
|
|
9736
9730
|
"placeholder:text-[var(--ui-kit-fg-muted)]",
|
|
9737
|
-
"
|
|
9738
|
-
"
|
|
9739
|
-
|
|
9731
|
+
"ring-0 ring-offset-0",
|
|
9732
|
+
"outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0",
|
|
9733
|
+
"h-full flex-1 border-0 bg-transparent px-0",
|
|
9734
|
+
{ ["cursor-not-allowed"]: disabled },
|
|
9740
9735
|
inputClassName
|
|
9741
9736
|
),
|
|
9742
9737
|
disabled,
|
|
@@ -10866,13 +10861,15 @@ var init_VerificationCodeInput = __esm({
|
|
|
10866
10861
|
onPaste: handlePaste,
|
|
10867
10862
|
className: cn2(
|
|
10868
10863
|
"block w-[40px] h-[48px] rounded-[var(--ui-kit-el-bdrs)]",
|
|
10869
|
-
"text-[16px] leading-5 text-center font-semibold text-[var(--ui-kit-fg)]
|
|
10870
|
-
"bg-[var(--ui-kit-secondary)]
|
|
10871
|
-
"disabled:cursor-default disabled:opacity-50 disabled:hover:bg-[var(--ui-kit-secondary)]",
|
|
10872
|
-
"focus:bg-[var(--ui-kit-secondary-a)]",
|
|
10873
|
-
"border-0 border-transparent",
|
|
10864
|
+
"text-[16px] leading-5 text-center font-semibold text-[var(--ui-kit-fg)]",
|
|
10865
|
+
"bg-[var(--ui-kit-secondary)] border-0 border-transparent",
|
|
10874
10866
|
// to avoid default appearance border
|
|
10875
|
-
"transition-
|
|
10867
|
+
"transition-all duration-200",
|
|
10868
|
+
isLoading ? "cursor-not-allowed opacity-50" : cn2(
|
|
10869
|
+
"cursor-text opacity-100 hover:opacity-80",
|
|
10870
|
+
"focus-within:opacity-100 focus-within:border-[var(--ui-kit-bd)]",
|
|
10871
|
+
"focus-within:hover:opacity-100"
|
|
10872
|
+
)
|
|
10876
10873
|
)
|
|
10877
10874
|
},
|
|
10878
10875
|
i
|
|
@@ -11108,7 +11105,6 @@ var init_AuthMenu = __esm({
|
|
|
11108
11105
|
init_auth();
|
|
11109
11106
|
init_constants();
|
|
11110
11107
|
init_useLayoutDataStore();
|
|
11111
|
-
init_useLayoutStore();
|
|
11112
11108
|
init_Expandable2();
|
|
11113
11109
|
init_button();
|
|
11114
11110
|
init_highlight();
|
|
@@ -11123,16 +11119,14 @@ var init_AuthMenu = __esm({
|
|
|
11123
11119
|
AuthMenu = () => {
|
|
11124
11120
|
const { t } = useT();
|
|
11125
11121
|
const isIframeReady = useSession((st) => st.isIframeReady);
|
|
11126
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11127
|
-
const setTransitionPageHeight = useLayoutDataStore((st) => st.setTransitionPageHeight);
|
|
11128
11122
|
const pendingWalletLogin = useLayoutDataStore((st) => st.pendingWalletLogin);
|
|
11129
|
-
const
|
|
11130
|
-
const
|
|
11123
|
+
const step = useAuthStore((st) => st.step);
|
|
11124
|
+
const alert2 = useAuthStore((st) => st.alert);
|
|
11131
11125
|
const { pendingLoginResponseRef, onAuthSuccess, goBackToSignIn } = useAuthMenuHandlers();
|
|
11132
11126
|
(0, import_react23.useEffect)(() => {
|
|
11133
11127
|
if (!pendingWalletLogin) return;
|
|
11134
11128
|
const loginResponse = pendingWalletLogin;
|
|
11135
|
-
setPendingWalletLogin(null);
|
|
11129
|
+
useLayoutDataStore.getState().setPendingWalletLogin(null);
|
|
11136
11130
|
console.log("[AuthMenu] Processing wallet login response:", loginResponse);
|
|
11137
11131
|
import_auth23.jwtTokenManager.clearTokens().then(() => {
|
|
11138
11132
|
pendingLoginResponseRef.current = loginResponse;
|
|
@@ -11140,8 +11134,9 @@ var init_AuthMenu = __esm({
|
|
|
11140
11134
|
});
|
|
11141
11135
|
}, [pendingWalletLogin]);
|
|
11142
11136
|
(0, import_react23.useEffect)(() => {
|
|
11143
|
-
setTransitionPageHeight(DEFAULT_AUTH_MENU_HEIGHT);
|
|
11137
|
+
useLayoutDataStore.getState().setTransitionPageHeight(DEFAULT_AUTH_MENU_HEIGHT);
|
|
11144
11138
|
return () => {
|
|
11139
|
+
const { setStep, setPasskeyStatus, setEmail, setEmailChallenge, setAlert } = useAuthStore.getState();
|
|
11145
11140
|
setStep("signin");
|
|
11146
11141
|
setEmail("");
|
|
11147
11142
|
setEmailChallenge(null);
|
|
@@ -11150,7 +11145,7 @@ var init_AuthMenu = __esm({
|
|
|
11150
11145
|
};
|
|
11151
11146
|
}, []);
|
|
11152
11147
|
if (!isIframeReady) {
|
|
11153
|
-
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
11148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Expandable, { isExpanded: true, className: "w-full p-8 flex flex-col justify-center items-center gap-[var(--ui-kit-gap)]", children: [
|
|
11154
11149
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Loader, { className: "w-4 h-4 animate-spin" }),
|
|
11155
11150
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: "Initializing wallet..." })
|
|
11156
11151
|
] });
|
|
@@ -11172,26 +11167,25 @@ var init_AuthMenu = __esm({
|
|
|
11172
11167
|
}),
|
|
11173
11168
|
[onAuthSuccess, goBackToSignIn]
|
|
11174
11169
|
);
|
|
11175
|
-
return /* @__PURE__ */ (0, import_jsx_runtime23.
|
|
11176
|
-
|
|
11177
|
-
{
|
|
11178
|
-
|
|
11179
|
-
"
|
|
11180
|
-
"
|
|
11181
|
-
},
|
|
11182
|
-
|
|
11183
|
-
|
|
11184
|
-
|
|
11185
|
-
|
|
11186
|
-
|
|
11187
|
-
|
|
11188
|
-
|
|
11189
|
-
|
|
11190
|
-
|
|
11191
|
-
|
|
11192
|
-
|
|
11193
|
-
|
|
11194
|
-
);
|
|
11170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
11171
|
+
stepContent[step],
|
|
11172
|
+
alert2 && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Highlight, { type: "error", children: [
|
|
11173
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "block w-full flex flex-col gap-1 flex-1 mb-2", children: [
|
|
11174
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "block font-bold leading-5", children: alert2.title }),
|
|
11175
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "block whitespace-pre-line", children: alert2.message || "Unknown error" })
|
|
11176
|
+
] }),
|
|
11177
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
11178
|
+
Button,
|
|
11179
|
+
{
|
|
11180
|
+
variant: "default",
|
|
11181
|
+
size: "medium",
|
|
11182
|
+
className: "w-full",
|
|
11183
|
+
onClick: () => useAuthStore.getState().setAlert(null),
|
|
11184
|
+
children: t("passport:common.hide")
|
|
11185
|
+
}
|
|
11186
|
+
)
|
|
11187
|
+
] })
|
|
11188
|
+
] });
|
|
11195
11189
|
};
|
|
11196
11190
|
}
|
|
11197
11191
|
});
|
|
@@ -12683,11 +12677,12 @@ var init_components = __esm({
|
|
|
12683
12677
|
var BUY_MENU_BINANCE_TOUR;
|
|
12684
12678
|
var init_onboarding_setup = __esm({
|
|
12685
12679
|
"src/internal/components/BuyMenu/onboarding.setup.ts"() {
|
|
12680
|
+
init_constants();
|
|
12686
12681
|
init_useBinanceStore();
|
|
12687
12682
|
init_useBuyMenuStore();
|
|
12688
12683
|
BUY_MENU_BINANCE_TOUR = [
|
|
12689
12684
|
{
|
|
12690
|
-
elId: "
|
|
12685
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"buy" /* BUY */}`,
|
|
12691
12686
|
title: "passport:buyMenu.onboarding.buyMenu.title",
|
|
12692
12687
|
description: "passport:buyMenu.onboarding.buyMenu.description",
|
|
12693
12688
|
waitSecs: 6,
|
|
@@ -13865,7 +13860,7 @@ function FinchPayTxHistoryItem(props) {
|
|
|
13865
13860
|
"relative",
|
|
13866
13861
|
"w-full p-[var(--ui-kit-pd)]",
|
|
13867
13862
|
"rounded-[var(--ui-kit-el-bdrs)]",
|
|
13868
|
-
"bg-[var(--ui-kit-secondary
|
|
13863
|
+
"bg-[var(--ui-kit-secondary)]"
|
|
13869
13864
|
),
|
|
13870
13865
|
children: [
|
|
13871
13866
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -14494,7 +14489,6 @@ var init_useHandleInputAmount = __esm({
|
|
|
14494
14489
|
function BuyMenu() {
|
|
14495
14490
|
const { t } = useT();
|
|
14496
14491
|
const walletAddress = useSession((st) => st.address);
|
|
14497
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
14498
14492
|
useBuyMenuParams();
|
|
14499
14493
|
useHandleInputAmount();
|
|
14500
14494
|
const rampProvider = useBuyMenuStore((st) => st.rampProvider);
|
|
@@ -14510,103 +14504,92 @@ function BuyMenu() {
|
|
|
14510
14504
|
const showExtras = !isCryptoSelector && !isFiatSelector && !isProviderSummary && !isProviderSelector && !isPaymentModeSelector;
|
|
14511
14505
|
const showProviderTrigger = showExtras && !isTransactionHistory;
|
|
14512
14506
|
useOnboardingTourAvailable(showProviderTrigger);
|
|
14513
|
-
return /* @__PURE__ */ (0, import_jsx_runtime50.
|
|
14514
|
-
"div",
|
|
14515
|
-
|
|
14516
|
-
|
|
14517
|
-
|
|
14518
|
-
|
|
14519
|
-
|
|
14520
|
-
|
|
14521
|
-
|
|
14522
|
-
|
|
14523
|
-
|
|
14524
|
-
|
|
14525
|
-
|
|
14526
|
-
|
|
14527
|
-
|
|
14528
|
-
|
|
14529
|
-
|
|
14530
|
-
|
|
14531
|
-
|
|
14532
|
-
|
|
14533
|
-
|
|
14534
|
-
|
|
14535
|
-
setIsCryptoSelector,
|
|
14536
|
-
setIsFiatSelector,
|
|
14537
|
-
setIsPaymentModeSelector,
|
|
14538
|
-
setError
|
|
14539
|
-
} = useBuyMenuStore.getState();
|
|
14540
|
-
setError(null);
|
|
14541
|
-
if (isProviderSummary) {
|
|
14542
|
-
setIsProviderSummary(false);
|
|
14543
|
-
return;
|
|
14544
|
-
}
|
|
14545
|
-
if (isTransactionHistory) {
|
|
14546
|
-
setIsTransactionHistory(false);
|
|
14547
|
-
return;
|
|
14548
|
-
}
|
|
14549
|
-
if (isProviderSelector) {
|
|
14550
|
-
setIsProviderSelector(false);
|
|
14551
|
-
return;
|
|
14552
|
-
}
|
|
14553
|
-
if (isCryptoSelector) {
|
|
14554
|
-
setIsCryptoSelector(false);
|
|
14555
|
-
return;
|
|
14556
|
-
}
|
|
14557
|
-
if (isFiatSelector) {
|
|
14558
|
-
setIsFiatSelector(false);
|
|
14559
|
-
return;
|
|
14560
|
-
}
|
|
14561
|
-
if (isPaymentModeSelector) {
|
|
14562
|
-
setIsPaymentModeSelector(false);
|
|
14563
|
-
return;
|
|
14564
|
-
}
|
|
14565
|
-
useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */);
|
|
14566
|
-
},
|
|
14567
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react20.ArrowLeft, { className: "h-4 w-4" })
|
|
14507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Expandable, { isExpanded: true, contentClassName: "relative w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
14508
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
14509
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
14510
|
+
Button,
|
|
14511
|
+
{
|
|
14512
|
+
variant: "ghost",
|
|
14513
|
+
size: "icon",
|
|
14514
|
+
className: "flex-none",
|
|
14515
|
+
onClick: () => {
|
|
14516
|
+
const {
|
|
14517
|
+
setIsProviderSummary,
|
|
14518
|
+
setIsTransactionHistory,
|
|
14519
|
+
setIsProviderSelector,
|
|
14520
|
+
setIsCryptoSelector,
|
|
14521
|
+
setIsFiatSelector,
|
|
14522
|
+
setIsPaymentModeSelector,
|
|
14523
|
+
setError
|
|
14524
|
+
} = useBuyMenuStore.getState();
|
|
14525
|
+
setError(null);
|
|
14526
|
+
if (isProviderSummary) {
|
|
14527
|
+
setIsProviderSummary(false);
|
|
14528
|
+
return;
|
|
14568
14529
|
}
|
|
14569
|
-
|
|
14570
|
-
|
|
14571
|
-
|
|
14572
|
-
Switch,
|
|
14573
|
-
{
|
|
14574
|
-
labels: { checked: "PURCHASE", unchecked: "HISTORY" },
|
|
14575
|
-
checked: isTransactionHistory,
|
|
14576
|
-
onChange: () => {
|
|
14577
|
-
useBuyMenuStore.getState().setError(null);
|
|
14578
|
-
useBuyMenuStore.getState().setIsTransactionHistory();
|
|
14579
|
-
}
|
|
14530
|
+
if (isTransactionHistory) {
|
|
14531
|
+
setIsTransactionHistory(false);
|
|
14532
|
+
return;
|
|
14580
14533
|
}
|
|
14581
|
-
|
|
14582
|
-
|
|
14583
|
-
|
|
14584
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:buyMenu.selectProvider") }),
|
|
14585
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
14586
|
-
Button,
|
|
14587
|
-
{
|
|
14588
|
-
ref: (inst) => onboarder.registerElement("buymenu-provider-selector" /* providerSelector */, inst),
|
|
14589
|
-
variant: !!selectedProvider?.id ? "default" : "secondary",
|
|
14590
|
-
onClick: () => {
|
|
14591
|
-
useBuyMenuStore.getState().setError(null);
|
|
14592
|
-
useBuyMenuStore.getState().setIsProviderSelector(true);
|
|
14593
|
-
},
|
|
14594
|
-
className: cn2("w-full justify-center", {
|
|
14595
|
-
[ACTIVE_PROVIDER_CNS[selectedProvider?.id]]: rampProvider === selectedProvider?.id,
|
|
14596
|
-
[IDLE_PROVIDERS_CNS[selectedProvider?.id]]: rampProvider !== selectedProvider?.id
|
|
14597
|
-
}),
|
|
14598
|
-
children: [
|
|
14599
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(selectedProvider.icon, {}),
|
|
14600
|
-
!selectedProvider.icon && t("passport:buyMenu.selectProvider")
|
|
14601
|
-
]
|
|
14534
|
+
if (isProviderSelector) {
|
|
14535
|
+
setIsProviderSelector(false);
|
|
14536
|
+
return;
|
|
14602
14537
|
}
|
|
14603
|
-
|
|
14604
|
-
|
|
14605
|
-
|
|
14606
|
-
|
|
14607
|
-
|
|
14608
|
-
|
|
14609
|
-
|
|
14538
|
+
if (isCryptoSelector) {
|
|
14539
|
+
setIsCryptoSelector(false);
|
|
14540
|
+
return;
|
|
14541
|
+
}
|
|
14542
|
+
if (isFiatSelector) {
|
|
14543
|
+
setIsFiatSelector(false);
|
|
14544
|
+
return;
|
|
14545
|
+
}
|
|
14546
|
+
if (isPaymentModeSelector) {
|
|
14547
|
+
setIsPaymentModeSelector(false);
|
|
14548
|
+
return;
|
|
14549
|
+
}
|
|
14550
|
+
useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */);
|
|
14551
|
+
},
|
|
14552
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react20.ArrowLeft, { className: "h-4 w-4" })
|
|
14553
|
+
}
|
|
14554
|
+
),
|
|
14555
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "block flex-none text-xl font-semibold", children: t("passport:buyMenu.title") }),
|
|
14556
|
+
showExtras && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex-1 h-8 flex items-center justify-end gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
14557
|
+
Switch,
|
|
14558
|
+
{
|
|
14559
|
+
labels: { checked: "PURCHASE", unchecked: "HISTORY" },
|
|
14560
|
+
checked: isTransactionHistory,
|
|
14561
|
+
onChange: () => {
|
|
14562
|
+
useBuyMenuStore.getState().setError(null);
|
|
14563
|
+
useBuyMenuStore.getState().setIsTransactionHistory();
|
|
14564
|
+
}
|
|
14565
|
+
}
|
|
14566
|
+
) })
|
|
14567
|
+
] }),
|
|
14568
|
+
showProviderTrigger && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
|
|
14569
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:buyMenu.selectProvider") }),
|
|
14570
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
14571
|
+
Button,
|
|
14572
|
+
{
|
|
14573
|
+
ref: (inst) => onboarder.registerElement("buymenu-provider-selector" /* providerSelector */, inst),
|
|
14574
|
+
variant: !!selectedProvider?.id ? "default" : "secondary",
|
|
14575
|
+
onClick: () => {
|
|
14576
|
+
useBuyMenuStore.getState().setError(null);
|
|
14577
|
+
useBuyMenuStore.getState().setIsProviderSelector(true);
|
|
14578
|
+
},
|
|
14579
|
+
className: cn2("w-full justify-center", {
|
|
14580
|
+
[ACTIVE_PROVIDER_CNS[selectedProvider?.id]]: rampProvider === selectedProvider?.id,
|
|
14581
|
+
[IDLE_PROVIDERS_CNS[selectedProvider?.id]]: rampProvider !== selectedProvider?.id
|
|
14582
|
+
}),
|
|
14583
|
+
children: [
|
|
14584
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(selectedProvider.icon, {}),
|
|
14585
|
+
!selectedProvider.icon && t("passport:buyMenu.selectProvider")
|
|
14586
|
+
]
|
|
14587
|
+
}
|
|
14588
|
+
)
|
|
14589
|
+
] }),
|
|
14590
|
+
isProviderSelector ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ProviderSelector, { providers: AVAILABLE_RAMP_PROVIDERS.map((el) => ({ ...el, Icon: el.icon })) }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ProviderComponent, { walletAddress }),
|
|
14591
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Highlight, { type: "error", children: error })
|
|
14592
|
+
] });
|
|
14610
14593
|
}
|
|
14611
14594
|
var import_lucide_react20, import_jsx_runtime50;
|
|
14612
14595
|
var init_BuyMenu = __esm({
|
|
@@ -14616,7 +14599,6 @@ var init_BuyMenu = __esm({
|
|
|
14616
14599
|
init_i18n();
|
|
14617
14600
|
import_lucide_react20 = require("lucide-react");
|
|
14618
14601
|
init_useLayoutDataStore();
|
|
14619
|
-
init_useLayoutStore();
|
|
14620
14602
|
init_Expandable2();
|
|
14621
14603
|
init_Onboarding();
|
|
14622
14604
|
init_button();
|
|
@@ -14970,26 +14952,11 @@ var init_ChainItem = __esm({
|
|
|
14970
14952
|
}
|
|
14971
14953
|
});
|
|
14972
14954
|
|
|
14973
|
-
// src/internal/components/ChainsMenu/onboarding.setup.ts
|
|
14974
|
-
var CHAIN_MENU_TOUR;
|
|
14975
|
-
var init_onboarding_setup2 = __esm({
|
|
14976
|
-
"src/internal/components/ChainsMenu/onboarding.setup.ts"() {
|
|
14977
|
-
CHAIN_MENU_TOUR = [
|
|
14978
|
-
{
|
|
14979
|
-
elId: "embarkai-chain-menu-onboarding" /* chainMenu */,
|
|
14980
|
-
title: "passport:chainMenu.onboarding.chainMenu.title",
|
|
14981
|
-
description: "passport:chainMenu.onboarding.chainMenu.description"
|
|
14982
|
-
}
|
|
14983
|
-
];
|
|
14984
|
-
}
|
|
14985
|
-
});
|
|
14986
|
-
|
|
14987
14955
|
// src/internal/components/ChainsMenu/ChainsMenu.tsx
|
|
14988
14956
|
function ChainsMenu() {
|
|
14989
14957
|
const { t } = useT();
|
|
14990
14958
|
const config = useProviderConfig().config;
|
|
14991
14959
|
const activeChainId = useSession((st) => st.activeChainId);
|
|
14992
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
14993
14960
|
const [isTestnets, setIsTestnets] = (0, import_react37.useState)(false);
|
|
14994
14961
|
const [nextChainId, setNextChainId] = (0, import_react37.useState)(null);
|
|
14995
14962
|
useOnboardingTourAvailable(true);
|
|
@@ -15020,56 +14987,45 @@ function ChainsMenu() {
|
|
|
15020
14987
|
chainId: activeChainId
|
|
15021
14988
|
} : void 0
|
|
15022
14989
|
});
|
|
15023
|
-
return /* @__PURE__ */ (0, import_jsx_runtime58.
|
|
15024
|
-
"div",
|
|
15025
|
-
|
|
15026
|
-
|
|
15027
|
-
|
|
15028
|
-
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
15029
|
-
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
15030
|
-
},
|
|
15031
|
-
className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
|
|
15032
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
15033
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
15034
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
15035
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
15036
|
-
Button,
|
|
15037
|
-
{
|
|
15038
|
-
size: "icon",
|
|
15039
|
-
variant: "ghost",
|
|
15040
|
-
title: t("passport:common.back"),
|
|
15041
|
-
onClick: () => {
|
|
15042
|
-
const chainMenuOpenedFrom = useLayoutDataStore.getState().chainMenuOpenedFrom;
|
|
15043
|
-
useLayoutDataStore.getState().setPage(chainMenuOpenedFrom || "settings" /* SETTINGS */);
|
|
15044
|
-
},
|
|
15045
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react22.ArrowLeft, { className: "h-4 w-4" })
|
|
15046
|
-
}
|
|
15047
|
-
),
|
|
15048
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.title") })
|
|
15049
|
-
] }),
|
|
15050
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
15051
|
-
Switch,
|
|
15052
|
-
{
|
|
15053
|
-
labels: { checked: "MAINNETS", unchecked: "ALL" },
|
|
15054
|
-
checked: isTestnets,
|
|
15055
|
-
onChange: () => setIsTestnets(!isTestnets)
|
|
15056
|
-
}
|
|
15057
|
-
)
|
|
15058
|
-
] }),
|
|
15059
|
-
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: visibleNetworks.map((network, networkIdx) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
15060
|
-
ChainItem,
|
|
14990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
14991
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
14992
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
14993
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
14994
|
+
Button,
|
|
15061
14995
|
{
|
|
15062
|
-
|
|
15063
|
-
|
|
15064
|
-
|
|
15065
|
-
|
|
15066
|
-
|
|
15067
|
-
|
|
15068
|
-
|
|
15069
|
-
|
|
15070
|
-
|
|
15071
|
-
|
|
15072
|
-
|
|
14996
|
+
size: "icon",
|
|
14997
|
+
variant: "ghost",
|
|
14998
|
+
title: t("passport:common.back"),
|
|
14999
|
+
onClick: () => {
|
|
15000
|
+
const chainMenuOpenedFrom = useLayoutDataStore.getState().chainMenuOpenedFrom;
|
|
15001
|
+
useLayoutDataStore.getState().setPage(chainMenuOpenedFrom || "settings" /* SETTINGS */);
|
|
15002
|
+
},
|
|
15003
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react22.ArrowLeft, { className: "h-4 w-4" })
|
|
15004
|
+
}
|
|
15005
|
+
),
|
|
15006
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.title") })
|
|
15007
|
+
] }),
|
|
15008
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
15009
|
+
Switch,
|
|
15010
|
+
{
|
|
15011
|
+
labels: { checked: "MAINNETS", unchecked: "ALL" },
|
|
15012
|
+
checked: isTestnets,
|
|
15013
|
+
onChange: () => setIsTestnets(!isTestnets)
|
|
15014
|
+
}
|
|
15015
|
+
)
|
|
15016
|
+
] }),
|
|
15017
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: visibleNetworks.map((network, networkIdx) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
15018
|
+
ChainItem,
|
|
15019
|
+
{
|
|
15020
|
+
...network,
|
|
15021
|
+
nextChainId,
|
|
15022
|
+
setNextChainId,
|
|
15023
|
+
isActivePaymasterDataLoading,
|
|
15024
|
+
activePaymasterData
|
|
15025
|
+
},
|
|
15026
|
+
`chain-${network.chainId}-${networkIdx}`
|
|
15027
|
+
)) })
|
|
15028
|
+
] });
|
|
15073
15029
|
}
|
|
15074
15030
|
var import_core3, import_read15, import_react_query15, import_lucide_react22, import_react37, import_jsx_runtime58;
|
|
15075
15031
|
var init_ChainsMenu = __esm({
|
|
@@ -15085,7 +15041,6 @@ var init_ChainsMenu = __esm({
|
|
|
15085
15041
|
import_react37 = require("react");
|
|
15086
15042
|
init_resolve_paymaster();
|
|
15087
15043
|
init_useLayoutDataStore();
|
|
15088
|
-
init_useLayoutStore();
|
|
15089
15044
|
init_Expandable2();
|
|
15090
15045
|
init_Onboarding();
|
|
15091
15046
|
init_button();
|
|
@@ -15101,71 +15056,60 @@ function ChainSwitchRequest() {
|
|
|
15101
15056
|
const config = useProviderConfig().config;
|
|
15102
15057
|
const isLoading = useSession((st) => st.isLoading);
|
|
15103
15058
|
const chainConfig = useSession((st) => st.chainConfig);
|
|
15104
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
15105
15059
|
const prefferedChain = NETWORK_OPTIONS.find((ch) => ch.chainId === config.current?.network?.chainId) || null;
|
|
15106
15060
|
const PrefferedChainIcon = prefferedChain?.Icon || (() => null);
|
|
15107
|
-
return /* @__PURE__ */ (0, import_jsx_runtime59.
|
|
15108
|
-
"div",
|
|
15109
|
-
|
|
15110
|
-
|
|
15111
|
-
|
|
15112
|
-
|
|
15113
|
-
|
|
15114
|
-
|
|
15115
|
-
|
|
15116
|
-
|
|
15117
|
-
|
|
15118
|
-
|
|
15119
|
-
|
|
15120
|
-
|
|
15121
|
-
|
|
15122
|
-
|
|
15123
|
-
|
|
15124
|
-
|
|
15125
|
-
|
|
15126
|
-
|
|
15127
|
-
|
|
15128
|
-
|
|
15129
|
-
|
|
15130
|
-
|
|
15131
|
-
|
|
15132
|
-
|
|
15133
|
-
{
|
|
15134
|
-
i18nKey: "passport:chainMenu.chainSwitchRequest.description",
|
|
15135
|
-
values: {
|
|
15136
|
-
preferredChain: `${prefferedChain?.name || "N/A"}`,
|
|
15137
|
-
currentChain: `${chainConfig?.name || "N/A"}`
|
|
15138
|
-
},
|
|
15139
|
-
components: {
|
|
15140
|
-
br: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("br", {}),
|
|
15141
|
-
b: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "font-bold" })
|
|
15142
|
-
}
|
|
15143
|
-
}
|
|
15144
|
-
) })
|
|
15145
|
-
] }),
|
|
15146
|
-
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
|
|
15147
|
-
Button,
|
|
15148
|
-
{
|
|
15149
|
-
size: "large",
|
|
15150
|
-
variant: "default",
|
|
15151
|
-
className: "w-full",
|
|
15152
|
-
disabled: isLoading,
|
|
15153
|
-
onClick: () => {
|
|
15154
|
-
if (!config.current?.network?.chainId) return;
|
|
15155
|
-
useSession.getState().setActiveChainId(config.current.network.chainId);
|
|
15156
|
-
useLayoutDataStore.getState().setPage("chain" /* CHAIN */);
|
|
15157
|
-
},
|
|
15158
|
-
children: [
|
|
15159
|
-
isLoading ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react23.Loader, { className: "w-6 h-6 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(PrefferedChainIcon, { className: "w-6 h-6" }),
|
|
15160
|
-
t("passport:chainMenu.chainSwitchRequest.confirmButton", {
|
|
15161
|
-
chain: `${prefferedChain?.name || "N/A"}`
|
|
15162
|
-
})
|
|
15163
|
-
]
|
|
15061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
15062
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
15063
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
15064
|
+
Button,
|
|
15065
|
+
{
|
|
15066
|
+
size: "icon",
|
|
15067
|
+
variant: "ghost",
|
|
15068
|
+
title: t("passport:common.back"),
|
|
15069
|
+
onClick: () => useLayoutDataStore.getState().setPage("settings" /* SETTINGS */),
|
|
15070
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react23.ArrowLeft, { className: "h-4 w-4" })
|
|
15071
|
+
}
|
|
15072
|
+
),
|
|
15073
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.chainSwitchRequest.title") })
|
|
15074
|
+
] }),
|
|
15075
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Highlight, { type: "info", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
15076
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react23.Info, { className: "w-4 h-4 flex-none" }),
|
|
15077
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "block", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
15078
|
+
import_react_i18next2.Trans,
|
|
15079
|
+
{
|
|
15080
|
+
i18nKey: "passport:chainMenu.chainSwitchRequest.description",
|
|
15081
|
+
values: {
|
|
15082
|
+
preferredChain: `${prefferedChain?.name || "N/A"}`,
|
|
15083
|
+
currentChain: `${chainConfig?.name || "N/A"}`
|
|
15084
|
+
},
|
|
15085
|
+
components: {
|
|
15086
|
+
br: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("br", {}),
|
|
15087
|
+
b: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "font-bold" })
|
|
15164
15088
|
}
|
|
15165
|
-
|
|
15166
|
-
|
|
15167
|
-
}
|
|
15168
|
-
|
|
15089
|
+
}
|
|
15090
|
+
) })
|
|
15091
|
+
] }),
|
|
15092
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
|
|
15093
|
+
Button,
|
|
15094
|
+
{
|
|
15095
|
+
size: "large",
|
|
15096
|
+
variant: "default",
|
|
15097
|
+
className: "w-full",
|
|
15098
|
+
disabled: isLoading,
|
|
15099
|
+
onClick: () => {
|
|
15100
|
+
if (!config.current?.network?.chainId) return;
|
|
15101
|
+
useSession.getState().setActiveChainId(config.current.network.chainId);
|
|
15102
|
+
useLayoutDataStore.getState().setPage("chain" /* CHAIN */);
|
|
15103
|
+
},
|
|
15104
|
+
children: [
|
|
15105
|
+
isLoading ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react23.Loader, { className: "w-6 h-6 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(PrefferedChainIcon, { className: "w-6 h-6" }),
|
|
15106
|
+
t("passport:chainMenu.chainSwitchRequest.confirmButton", {
|
|
15107
|
+
chain: `${prefferedChain?.name || "N/A"}`
|
|
15108
|
+
})
|
|
15109
|
+
]
|
|
15110
|
+
}
|
|
15111
|
+
)
|
|
15112
|
+
] });
|
|
15169
15113
|
}
|
|
15170
15114
|
var import_lucide_react23, import_react_i18next2, import_jsx_runtime59;
|
|
15171
15115
|
var init_ChainSwitchRequest = __esm({
|
|
@@ -15177,7 +15121,6 @@ var init_ChainSwitchRequest = __esm({
|
|
|
15177
15121
|
import_lucide_react23 = require("lucide-react");
|
|
15178
15122
|
import_react_i18next2 = require("react-i18next");
|
|
15179
15123
|
init_useLayoutDataStore();
|
|
15180
|
-
init_useLayoutStore();
|
|
15181
15124
|
init_Expandable2();
|
|
15182
15125
|
init_button();
|
|
15183
15126
|
init_highlight();
|
|
@@ -15185,6 +15128,21 @@ var init_ChainSwitchRequest = __esm({
|
|
|
15185
15128
|
}
|
|
15186
15129
|
});
|
|
15187
15130
|
|
|
15131
|
+
// src/internal/components/ChainsMenu/onboarding.setup.ts
|
|
15132
|
+
var CHAIN_MENU_TOUR;
|
|
15133
|
+
var init_onboarding_setup2 = __esm({
|
|
15134
|
+
"src/internal/components/ChainsMenu/onboarding.setup.ts"() {
|
|
15135
|
+
init_constants();
|
|
15136
|
+
CHAIN_MENU_TOUR = [
|
|
15137
|
+
{
|
|
15138
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"chain" /* CHAIN */}`,
|
|
15139
|
+
title: "passport:chainMenu.onboarding.chainMenu.title",
|
|
15140
|
+
description: "passport:chainMenu.onboarding.chainMenu.description"
|
|
15141
|
+
}
|
|
15142
|
+
];
|
|
15143
|
+
}
|
|
15144
|
+
});
|
|
15145
|
+
|
|
15188
15146
|
// src/internal/components/ChainsMenu/index.ts
|
|
15189
15147
|
var init_ChainsMenu2 = __esm({
|
|
15190
15148
|
"src/internal/components/ChainsMenu/index.ts"() {
|
|
@@ -16401,20 +16359,6 @@ var init_useLinkTelegram = __esm({
|
|
|
16401
16359
|
}
|
|
16402
16360
|
});
|
|
16403
16361
|
|
|
16404
|
-
// src/internal/components/ManageWalletMenu/onboarding.setup.ts
|
|
16405
|
-
var MANAGE_WALLET_MENU_TOUR;
|
|
16406
|
-
var init_onboarding_setup3 = __esm({
|
|
16407
|
-
"src/internal/components/ManageWalletMenu/onboarding.setup.ts"() {
|
|
16408
|
-
MANAGE_WALLET_MENU_TOUR = [
|
|
16409
|
-
{
|
|
16410
|
-
elId: "embarkai-profiles-menu-onboarding" /* profilesMenu */,
|
|
16411
|
-
title: "passport:profilesMenu.onboarding.profilesMenu.title",
|
|
16412
|
-
description: "passport:profilesMenu.onboarding.profilesMenu.description"
|
|
16413
|
-
}
|
|
16414
|
-
];
|
|
16415
|
-
}
|
|
16416
|
-
});
|
|
16417
|
-
|
|
16418
16362
|
// src/internal/components/ManageWalletMenu/ProviderCard.tsx
|
|
16419
16363
|
function getProviderCaption(provider) {
|
|
16420
16364
|
const providerName = provider.provider;
|
|
@@ -16589,7 +16533,6 @@ function ManageWalletMenu() {
|
|
|
16589
16533
|
const config = useProviderConfig().config;
|
|
16590
16534
|
const { t } = useT();
|
|
16591
16535
|
const { open: openEmbarkAI } = useOpenPage();
|
|
16592
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
16593
16536
|
const {
|
|
16594
16537
|
alert: alert2,
|
|
16595
16538
|
providerType,
|
|
@@ -16684,66 +16627,54 @@ function ManageWalletMenu() {
|
|
|
16684
16627
|
const showExtraProvidersUi = !isProvidersLoading && !providersError && (providerType === "email" || providerType === "passkey");
|
|
16685
16628
|
useOnboardingTourAvailable(!showExtraProvidersUi && providerType === null);
|
|
16686
16629
|
const combinedAlertMessage = alert2?.message || providersError?.message || null;
|
|
16687
|
-
return /* @__PURE__ */ (0, import_jsx_runtime69.
|
|
16688
|
-
"div",
|
|
16689
|
-
|
|
16690
|
-
|
|
16691
|
-
|
|
16692
|
-
|
|
16693
|
-
|
|
16694
|
-
|
|
16695
|
-
|
|
16696
|
-
|
|
16697
|
-
|
|
16698
|
-
|
|
16699
|
-
|
|
16700
|
-
|
|
16701
|
-
|
|
16702
|
-
|
|
16703
|
-
|
|
16704
|
-
|
|
16705
|
-
|
|
16706
|
-
|
|
16707
|
-
|
|
16708
|
-
|
|
16709
|
-
|
|
16710
|
-
|
|
16711
|
-
|
|
16712
|
-
|
|
16713
|
-
|
|
16714
|
-
|
|
16715
|
-
|
|
16716
|
-
|
|
16717
|
-
|
|
16718
|
-
|
|
16719
|
-
|
|
16720
|
-
|
|
16721
|
-
|
|
16722
|
-
|
|
16630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
16631
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] w-full justify-between", children: [
|
|
16632
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
16633
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
16634
|
+
Button,
|
|
16635
|
+
{
|
|
16636
|
+
variant: "ghost",
|
|
16637
|
+
size: "icon",
|
|
16638
|
+
title: t("passport:common.back"),
|
|
16639
|
+
disabled: linkIsLoading,
|
|
16640
|
+
onClick: () => {
|
|
16641
|
+
setAlert(null);
|
|
16642
|
+
if (providerType === "email") {
|
|
16643
|
+
setEmail("");
|
|
16644
|
+
setEmailCode("");
|
|
16645
|
+
setEmailStep("input");
|
|
16646
|
+
setEmailCodeExpiresAt(0);
|
|
16647
|
+
}
|
|
16648
|
+
if (!providerType) useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
|
|
16649
|
+
setProviderType(null);
|
|
16650
|
+
},
|
|
16651
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react29.ArrowLeft, { className: "h-4 w-4" })
|
|
16652
|
+
}
|
|
16653
|
+
),
|
|
16654
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-xl font-semibold", children: t("passport:profilesMenu.title") })
|
|
16655
|
+
] }),
|
|
16656
|
+
linkIsLoading && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react29.LoaderIcon, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" })
|
|
16657
|
+
] }),
|
|
16658
|
+
isProvidersLoading && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "flex items-center justify-center p-4 text-[var(--ui-kit-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react29.Loader, { className: "w-4 h-4 animate-spin" }) }),
|
|
16659
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(EmailNotConnectedWarning, {}),
|
|
16660
|
+
showCurrentProviders && renderProviders.map((node) => node),
|
|
16661
|
+
showExtraProvidersUi && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(AddProvider, {}),
|
|
16662
|
+
combinedAlertMessage && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(Highlight, { type: "error", children: [
|
|
16663
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "break-words whitespace-pre-wrap mb-4", children: [
|
|
16664
|
+
alert2?.title && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_jsx_runtime69.Fragment, { children: [
|
|
16665
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("strong", { children: alert2.title }),
|
|
16666
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("br", {})
|
|
16723
16667
|
] }),
|
|
16724
|
-
|
|
16725
|
-
|
|
16726
|
-
|
|
16727
|
-
|
|
16728
|
-
|
|
16729
|
-
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "break-words whitespace-pre-wrap mb-4", children: [
|
|
16730
|
-
alert2?.title && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_jsx_runtime69.Fragment, { children: [
|
|
16731
|
-
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("strong", { children: alert2.title }),
|
|
16732
|
-
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("br", {})
|
|
16733
|
-
] }),
|
|
16734
|
-
combinedAlertMessage
|
|
16735
|
-
] }),
|
|
16736
|
-
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Button, { variant: "default", size: "medium", className: "w-full", onClick: () => setAlert(null), children: t("passport:common.hide") })
|
|
16737
|
-
] })
|
|
16738
|
-
] })
|
|
16739
|
-
}
|
|
16740
|
-
);
|
|
16668
|
+
combinedAlertMessage
|
|
16669
|
+
] }),
|
|
16670
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Button, { variant: "default", size: "medium", className: "w-full", onClick: () => setAlert(null), children: t("passport:common.hide") })
|
|
16671
|
+
] })
|
|
16672
|
+
] });
|
|
16741
16673
|
}
|
|
16742
16674
|
var import_lodash_es8, import_lucide_react29, import_react41, import_jsx_runtime69, POSSIBLE_PROVIDERS, MULTI_PROVIDERS;
|
|
16743
16675
|
var init_ManageWallet = __esm({
|
|
16744
16676
|
"src/internal/components/ManageWalletMenu/ManageWallet.tsx"() {
|
|
16745
16677
|
init_useLayoutDataStore();
|
|
16746
|
-
init_useLayoutStore();
|
|
16747
16678
|
init_ProviderContext();
|
|
16748
16679
|
init_useOpenPage();
|
|
16749
16680
|
init_i18n();
|
|
@@ -16891,6 +16822,21 @@ var init_UnlinkProviderMenu = __esm({
|
|
|
16891
16822
|
}
|
|
16892
16823
|
});
|
|
16893
16824
|
|
|
16825
|
+
// src/internal/components/ManageWalletMenu/onboarding.setup.ts
|
|
16826
|
+
var MANAGE_WALLET_MENU_TOUR;
|
|
16827
|
+
var init_onboarding_setup3 = __esm({
|
|
16828
|
+
"src/internal/components/ManageWalletMenu/onboarding.setup.ts"() {
|
|
16829
|
+
init_constants();
|
|
16830
|
+
MANAGE_WALLET_MENU_TOUR = [
|
|
16831
|
+
{
|
|
16832
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"manage-wallet" /* MANAGE_WALLET */}`,
|
|
16833
|
+
title: "passport:profilesMenu.onboarding.profilesMenu.title",
|
|
16834
|
+
description: "passport:profilesMenu.onboarding.profilesMenu.description"
|
|
16835
|
+
}
|
|
16836
|
+
];
|
|
16837
|
+
}
|
|
16838
|
+
});
|
|
16839
|
+
|
|
16894
16840
|
// src/internal/components/ManageWalletMenu/index.ts
|
|
16895
16841
|
var init_ManageWalletMenu = __esm({
|
|
16896
16842
|
"src/internal/components/ManageWalletMenu/index.ts"() {
|
|
@@ -16941,7 +16887,6 @@ function ConnectExternalWalletMenu() {
|
|
|
16941
16887
|
const { isConnected: isExternalWalletConnected } = (0, import_wagmi2.useConnection)();
|
|
16942
16888
|
const { mutate: disconnect } = (0, import_wagmi2.useDisconnect)();
|
|
16943
16889
|
const { mutateAsync: signMessageAsync } = (0, import_wagmi2.useSignMessage)();
|
|
16944
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
16945
16890
|
const walletMenuOpenedFrom = useLayoutDataStore((st) => st.walletMenuOpenedFrom);
|
|
16946
16891
|
const { data: providers = [] } = (0, import_react_query24.useQuery)({
|
|
16947
16892
|
retry: false,
|
|
@@ -17157,69 +17102,59 @@ function ConnectExternalWalletMenu() {
|
|
|
17157
17102
|
return t("passport:connectMenu.instructions.confirm");
|
|
17158
17103
|
}
|
|
17159
17104
|
}, [embarkAiAddress, t]);
|
|
17160
|
-
return /* @__PURE__ */ (0, import_jsx_runtime71.
|
|
17161
|
-
"div",
|
|
17162
|
-
|
|
17163
|
-
|
|
17164
|
-
|
|
17165
|
-
|
|
17166
|
-
|
|
17167
|
-
|
|
17168
|
-
|
|
17169
|
-
|
|
17170
|
-
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
17171
|
-
|
|
17172
|
-
|
|
17173
|
-
|
|
17174
|
-
|
|
17175
|
-
|
|
17176
|
-
|
|
17177
|
-
|
|
17178
|
-
|
|
17105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
17106
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
17107
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
17108
|
+
Button,
|
|
17109
|
+
{
|
|
17110
|
+
variant: "ghost",
|
|
17111
|
+
size: "icon",
|
|
17112
|
+
title: t("passport:common.back"),
|
|
17113
|
+
disabled: isConnectingExternalWallet || isLoginOrLinkOrConnectWallet,
|
|
17114
|
+
onClick: () => useLayoutDataStore.getState().setPage(walletMenuOpenedFrom ?? "main-menu" /* MAIN_MENU */),
|
|
17115
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react31.ArrowLeft, { className: "h-4 w-4" })
|
|
17116
|
+
}
|
|
17117
|
+
),
|
|
17118
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-xl font-semibold", children: t("passport:connectMenu.connectWallet") })
|
|
17119
|
+
] }),
|
|
17120
|
+
visibleConnectors.map((connector) => {
|
|
17121
|
+
const isConnectingThis = isConnectingExternalWallet && //@ts-expect-error uid exists
|
|
17122
|
+
pendingConnectVariables?.connector?.uid === connector.uid;
|
|
17123
|
+
const WalletIcon = WALLET_ICONS[connector.id] || import_lucide_react31.Wallet2Icon;
|
|
17124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
17125
|
+
Button,
|
|
17126
|
+
{
|
|
17127
|
+
variant: "secondary",
|
|
17128
|
+
size: "large",
|
|
17129
|
+
className: "w-full justify-center",
|
|
17130
|
+
disabled: isConnectingExternalWallet,
|
|
17131
|
+
onClick: async () => {
|
|
17132
|
+
if (isExternalWalletConnected) {
|
|
17133
|
+
disconnect();
|
|
17134
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
17179
17135
|
}
|
|
17180
|
-
|
|
17181
|
-
|
|
17182
|
-
|
|
17183
|
-
|
|
17184
|
-
|
|
17185
|
-
|
|
17186
|
-
|
|
17187
|
-
|
|
17188
|
-
|
|
17189
|
-
|
|
17190
|
-
|
|
17191
|
-
|
|
17192
|
-
|
|
17193
|
-
|
|
17194
|
-
|
|
17195
|
-
|
|
17196
|
-
|
|
17197
|
-
|
|
17198
|
-
|
|
17199
|
-
|
|
17200
|
-
|
|
17201
|
-
|
|
17202
|
-
children: [
|
|
17203
|
-
isConnectingThis ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "w-6 h-6 flex-none flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react31.Loader, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(WalletIcon, { className: "w-6 h-6 flex-none" }),
|
|
17204
|
-
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { children: connector.name })
|
|
17205
|
-
]
|
|
17206
|
-
},
|
|
17207
|
-
connector.uid
|
|
17208
|
-
);
|
|
17209
|
-
}),
|
|
17210
|
-
isConnectingExternalWallet && !!pendingConnectVariables?.connector && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Highlight, {
|
|
17211
|
-
type: "warning",
|
|
17212
|
-
// @ts-expect-error i18n typing
|
|
17213
|
-
children: t("passport:connectMenu.instructions.follow", {
|
|
17214
|
-
wallet: pendingConnectVariables.connector.name,
|
|
17215
|
-
steps: getInstructionSteps()
|
|
17216
|
-
})
|
|
17217
|
-
}),
|
|
17218
|
-
visibleConnectors.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Highlight, { type: "info", children: t("passport:connectMenu.noWallets") }),
|
|
17219
|
-
error && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Highlight, { type: "error", children: error.message })
|
|
17220
|
-
] })
|
|
17221
|
-
}
|
|
17222
|
-
);
|
|
17136
|
+
useLayoutStore.getState().setIsDialogForced(true);
|
|
17137
|
+
connect({ connector });
|
|
17138
|
+
},
|
|
17139
|
+
children: [
|
|
17140
|
+
isConnectingThis ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "w-6 h-6 flex-none flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react31.Loader, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(WalletIcon, { className: "w-6 h-6 flex-none" }),
|
|
17141
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { children: connector.name })
|
|
17142
|
+
]
|
|
17143
|
+
},
|
|
17144
|
+
connector.uid
|
|
17145
|
+
);
|
|
17146
|
+
}),
|
|
17147
|
+
isConnectingExternalWallet && !!pendingConnectVariables?.connector && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Highlight, {
|
|
17148
|
+
type: "warning",
|
|
17149
|
+
// @ts-expect-error i18n typing
|
|
17150
|
+
children: t("passport:connectMenu.instructions.follow", {
|
|
17151
|
+
wallet: pendingConnectVariables.connector.name,
|
|
17152
|
+
steps: getInstructionSteps()
|
|
17153
|
+
})
|
|
17154
|
+
}),
|
|
17155
|
+
visibleConnectors.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Highlight, { type: "info", children: t("passport:connectMenu.noWallets") }),
|
|
17156
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Highlight, { type: "error", children: error.message })
|
|
17157
|
+
] });
|
|
17223
17158
|
}
|
|
17224
17159
|
var import_react_query24, import_lucide_react31, import_react44, import_wagmi2, import_jsx_runtime71;
|
|
17225
17160
|
var init_ConnectExternalWalletMenu = __esm({
|
|
@@ -17399,7 +17334,6 @@ function getErrorMessage(err) {
|
|
|
17399
17334
|
}
|
|
17400
17335
|
function DeviceLinkScreen() {
|
|
17401
17336
|
const setPage = useLayoutDataStore((s) => s.setPage);
|
|
17402
|
-
const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
|
|
17403
17337
|
const { mutate: link, isPending } = useLinkDevice();
|
|
17404
17338
|
const [code, setCode] = (0, import_react46.useState)("");
|
|
17405
17339
|
const [error, setError] = (0, import_react46.useState)(null);
|
|
@@ -17421,56 +17355,38 @@ function DeviceLinkScreen() {
|
|
|
17421
17355
|
}
|
|
17422
17356
|
});
|
|
17423
17357
|
}
|
|
17424
|
-
return /* @__PURE__ */ (0, import_jsx_runtime72.
|
|
17425
|
-
"div",
|
|
17426
|
-
|
|
17427
|
-
|
|
17428
|
-
|
|
17429
|
-
|
|
17430
|
-
|
|
17431
|
-
|
|
17432
|
-
|
|
17433
|
-
|
|
17434
|
-
|
|
17435
|
-
|
|
17436
|
-
|
|
17437
|
-
|
|
17438
|
-
|
|
17439
|
-
|
|
17440
|
-
|
|
17441
|
-
|
|
17442
|
-
|
|
17443
|
-
|
|
17444
|
-
|
|
17445
|
-
|
|
17446
|
-
}
|
|
17447
|
-
),
|
|
17448
|
-
error && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("p", { className: "text-sm text-[var(--ui-kit-bg-error)]", children: error }),
|
|
17449
|
-
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
17450
|
-
Button,
|
|
17451
|
-
{
|
|
17452
|
-
variant: "default",
|
|
17453
|
-
size: "large",
|
|
17454
|
-
className: "w-full",
|
|
17455
|
-
disabled: !isValid || isPending,
|
|
17456
|
-
onClick: handleLink,
|
|
17457
|
-
children: isPending ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react32.Loader2, { className: "w-4 h-4 animate-spin" }) : "Link"
|
|
17458
|
-
}
|
|
17459
|
-
)
|
|
17460
|
-
] })
|
|
17461
|
-
}
|
|
17462
|
-
);
|
|
17358
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
17359
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
17360
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Button, { variant: "ghost", size: "icon", onClick: () => setPage("devices" /* DEVICES */), children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react32.ArrowLeft, { className: "h-4 w-4 flex-none" }) }),
|
|
17361
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "text-xl font-semibold", children: "Link Device" })
|
|
17362
|
+
] }),
|
|
17363
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("p", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: "On your device: Long press to link smart wallet. Then enter the 6-character code shown on screen." }),
|
|
17364
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
17365
|
+
"input",
|
|
17366
|
+
{
|
|
17367
|
+
type: "text",
|
|
17368
|
+
value: code,
|
|
17369
|
+
onChange: (e) => handleCodeChange(e.target.value),
|
|
17370
|
+
onKeyDown: (e) => e.key === "Enter" && handleLink(),
|
|
17371
|
+
placeholder: "XXXXXX",
|
|
17372
|
+
autoFocus: true,
|
|
17373
|
+
maxLength: 6,
|
|
17374
|
+
className: "w-full text-center text-2xl tracking-[0.3em] font-mono px-4 py-3 rounded-lg\n bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)]\n border border-[var(--ui-kit-bd)] focus:outline-none focus:border-[var(--ui-kit-primary)]\n uppercase"
|
|
17375
|
+
}
|
|
17376
|
+
),
|
|
17377
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("p", { className: "text-sm text-[var(--ui-kit-bg-error)]", children: error }),
|
|
17378
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Button, { variant: "default", size: "large", className: "w-full", disabled: !isValid || isPending, onClick: handleLink, children: isPending ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react32.Loader2, { className: "w-4 h-4 animate-spin" }) : "Link" })
|
|
17379
|
+
] });
|
|
17463
17380
|
}
|
|
17464
|
-
var
|
|
17381
|
+
var import_lucide_react32, import_react46, import_jsx_runtime72, VALID_CHARS;
|
|
17465
17382
|
var init_DeviceLinkScreen = __esm({
|
|
17466
17383
|
"src/internal/components/DevicesMenu/DeviceLinkScreen.tsx"() {
|
|
17467
|
-
import_react46 = require("react");
|
|
17468
17384
|
import_lucide_react32 = require("lucide-react");
|
|
17385
|
+
import_react46 = require("react");
|
|
17386
|
+
init_devices();
|
|
17387
|
+
init_useLayoutDataStore();
|
|
17469
17388
|
init_Expandable2();
|
|
17470
17389
|
init_button();
|
|
17471
|
-
init_useLayoutDataStore();
|
|
17472
|
-
init_useLayoutStore();
|
|
17473
|
-
init_devices();
|
|
17474
17390
|
import_jsx_runtime72 = require("react/jsx-runtime");
|
|
17475
17391
|
VALID_CHARS = /^[A-HJ-NP-Z2-9]*$/;
|
|
17476
17392
|
}
|
|
@@ -18001,7 +17917,6 @@ function formatSize(bytes) {
|
|
|
18001
17917
|
function DeviceManageScreen() {
|
|
18002
17918
|
const setPage = useLayoutDataStore((s) => s.setPage);
|
|
18003
17919
|
const pageParams = useLayoutDataStore((s) => s.pageParams);
|
|
18004
|
-
const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
|
|
18005
17920
|
const session = useSession((st) => st.session);
|
|
18006
17921
|
const userId = session?.mpcUserId || "";
|
|
18007
17922
|
const deviceId = pageParams?.deviceId;
|
|
@@ -18103,185 +18018,204 @@ function DeviceManageScreen() {
|
|
|
18103
18018
|
setActionState(null);
|
|
18104
18019
|
}
|
|
18105
18020
|
}, [password, userId, refreshList]);
|
|
18106
|
-
const handleDelete = (0, import_react47.useCallback)(
|
|
18107
|
-
|
|
18108
|
-
|
|
18109
|
-
|
|
18110
|
-
|
|
18111
|
-
|
|
18112
|
-
|
|
18113
|
-
|
|
18114
|
-
|
|
18115
|
-
|
|
18116
|
-
|
|
18117
|
-
|
|
18118
|
-
|
|
18119
|
-
|
|
18120
|
-
|
|
18121
|
-
|
|
18122
|
-
|
|
18123
|
-
|
|
18021
|
+
const handleDelete = (0, import_react47.useCallback)(
|
|
18022
|
+
async (keyshareId) => {
|
|
18023
|
+
const guardian = guardianRef.current;
|
|
18024
|
+
if (!guardian) return;
|
|
18025
|
+
setActionState({ action: "delete", keyshareId, substep: "confirm-device" });
|
|
18026
|
+
setErrorMessage(null);
|
|
18027
|
+
setWaitingConfirm(true);
|
|
18028
|
+
try {
|
|
18029
|
+
await deleteFromGuardian(guardian, keyshareId);
|
|
18030
|
+
setWaitingConfirm(false);
|
|
18031
|
+
setStatusMessage("Keyshare deleted.");
|
|
18032
|
+
setActionState(null);
|
|
18033
|
+
await refreshList();
|
|
18034
|
+
} catch (err) {
|
|
18035
|
+
setWaitingConfirm(false);
|
|
18036
|
+
setErrorMessage(err.message);
|
|
18037
|
+
setActionState(null);
|
|
18038
|
+
}
|
|
18039
|
+
},
|
|
18040
|
+
[refreshList]
|
|
18041
|
+
);
|
|
18124
18042
|
const isWorking = actionState?.substep === "working" || actionState?.substep === "confirm-device";
|
|
18125
|
-
return /* @__PURE__ */ (0, import_jsx_runtime73.
|
|
18126
|
-
"div",
|
|
18127
|
-
|
|
18128
|
-
|
|
18129
|
-
|
|
18130
|
-
|
|
18131
|
-
|
|
18132
|
-
|
|
18043
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
|
|
18044
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
18045
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18046
|
+
Button,
|
|
18047
|
+
{
|
|
18048
|
+
variant: "ghost",
|
|
18049
|
+
size: "icon",
|
|
18050
|
+
onClick: () => {
|
|
18133
18051
|
guardianRef.current?.close();
|
|
18134
18052
|
setPage("devices" /* DEVICES */);
|
|
18135
|
-
},
|
|
18136
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.
|
|
18137
|
-
|
|
18138
|
-
|
|
18139
|
-
|
|
18140
|
-
|
|
18141
|
-
|
|
18142
|
-
|
|
18143
|
-
|
|
18144
|
-
|
|
18145
|
-
|
|
18053
|
+
},
|
|
18054
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.ArrowLeft, { className: "h-4 w-4 flex-none" })
|
|
18055
|
+
}
|
|
18056
|
+
),
|
|
18057
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.HardDrive, { className: "h-5 w-5 flex-none" }),
|
|
18058
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-xl font-semibold", children: deviceName || "Guardian" }),
|
|
18059
|
+
screen.step === "connected" && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("span", { className: "text-xs text-[var(--ui-kit-fg-muted)] ml-auto", children: [
|
|
18060
|
+
"v",
|
|
18061
|
+
screen.info.fwVer
|
|
18062
|
+
] })
|
|
18063
|
+
] }),
|
|
18064
|
+
waitingConfirm && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)] text-sm animate-pulse", children: [
|
|
18065
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Loader2, { className: "w-4 h-4 animate-spin" }),
|
|
18066
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: "Confirm on your device..." })
|
|
18067
|
+
] }),
|
|
18068
|
+
statusMessage && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "text-sm text-green-500 p-2", children: statusMessage }),
|
|
18069
|
+
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "text-sm text-[var(--ui-kit-bg-error)] p-2", children: errorMessage }),
|
|
18070
|
+
screen.step === "connecting" && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Loader2, { className: "w-6 h-6 animate-spin text-[var(--ui-kit-fg-muted)]" }) }),
|
|
18071
|
+
screen.step === "error" && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "text-sm text-[var(--ui-kit-bg-error)] text-center py-8", children: screen.message }),
|
|
18072
|
+
screen.step === "new-device" && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex flex-col items-center gap-4 py-8", children: [
|
|
18073
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Cpu, { className: "w-10 h-10 text-[var(--ui-kit-fg-muted)]" }),
|
|
18074
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "text-center", children: [
|
|
18075
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-sm font-semibold", children: "New device detected" }),
|
|
18076
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { className: "text-xs text-[var(--ui-kit-fg-muted)] mt-1", children: [
|
|
18077
|
+
screen.info.deviceId,
|
|
18078
|
+
" \xB7 v",
|
|
18079
|
+
screen.info.fwVer
|
|
18080
|
+
] })
|
|
18081
|
+
] }),
|
|
18082
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18083
|
+
Button,
|
|
18084
|
+
{
|
|
18085
|
+
variant: "default",
|
|
18086
|
+
size: "large",
|
|
18087
|
+
className: "w-full",
|
|
18088
|
+
onClick: () => {
|
|
18089
|
+
setPage("device-link" /* DEVICE_LINK */);
|
|
18090
|
+
},
|
|
18091
|
+
children: "Link Device"
|
|
18092
|
+
}
|
|
18093
|
+
)
|
|
18094
|
+
] }),
|
|
18095
|
+
screen.step === "connected" && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
18096
|
+
screen.keyshares.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "text-sm text-[var(--ui-kit-fg-muted)] text-center py-4", children: "No keyshares stored on this device" }),
|
|
18097
|
+
screen.keyshares.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] text-right", children: [
|
|
18098
|
+
screen.keyshares.length,
|
|
18099
|
+
" keyshare",
|
|
18100
|
+
screen.keyshares.length > 1 ? "s" : "",
|
|
18101
|
+
" \xB7",
|
|
18102
|
+
" ",
|
|
18103
|
+
formatSize(screen.keyshares.reduce((s, e) => s + e.size, 0))
|
|
18104
|
+
] }),
|
|
18105
|
+
screen.keyshares.map(({ id, size }) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center gap-3 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
|
|
18106
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Cpu, { className: "w-5 h-5 text-[var(--ui-kit-fg-muted)] shrink-0" }),
|
|
18107
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
18108
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-sm font-mono truncate block text-[var(--ui-kit-fg)]", children: id }),
|
|
18109
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: formatSize(size) })
|
|
18146
18110
|
] }),
|
|
18147
|
-
|
|
18148
|
-
|
|
18149
|
-
|
|
18150
|
-
|
|
18151
|
-
|
|
18152
|
-
|
|
18153
|
-
|
|
18154
|
-
|
|
18155
|
-
|
|
18156
|
-
|
|
18157
|
-
"
|
|
18158
|
-
|
|
18159
|
-
|
|
18160
|
-
|
|
18111
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18112
|
+
Button,
|
|
18113
|
+
{
|
|
18114
|
+
variant: "ghost",
|
|
18115
|
+
size: "icon",
|
|
18116
|
+
disabled: isWorking,
|
|
18117
|
+
onClick: () => {
|
|
18118
|
+
guardianRef.current?.close();
|
|
18119
|
+
const store = useLayoutDataStore.getState();
|
|
18120
|
+
store.setPageParams({ key: "device-restore" /* DEVICE_RESTORE */, keyshareId: id, deviceId, deviceName });
|
|
18121
|
+
store.setPage("device-restore" /* DEVICE_RESTORE */);
|
|
18122
|
+
},
|
|
18123
|
+
title: "Restore",
|
|
18124
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Download, { className: "w-4 h-4" })
|
|
18125
|
+
}
|
|
18126
|
+
),
|
|
18127
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18128
|
+
Button,
|
|
18129
|
+
{
|
|
18130
|
+
variant: "ghost",
|
|
18131
|
+
size: "icon",
|
|
18132
|
+
disabled: isWorking,
|
|
18133
|
+
onClick: () => handleDelete(id),
|
|
18134
|
+
title: "Delete",
|
|
18135
|
+
className: "text-[var(--ui-kit-bg-error)]",
|
|
18136
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Trash2, { className: "w-4 h-4" })
|
|
18137
|
+
}
|
|
18138
|
+
)
|
|
18139
|
+
] }, id)),
|
|
18140
|
+
actionState?.action === "overwrite" && actionState.substep === "confirm" && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center justify-between gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
|
|
18141
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-sm", children: "Keyshare exists. Overwrite? (requires button press on device)" }),
|
|
18142
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex gap-2", children: [
|
|
18161
18143
|
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18162
18144
|
Button,
|
|
18163
18145
|
{
|
|
18164
|
-
variant: "
|
|
18165
|
-
size: "
|
|
18166
|
-
className: "w-full",
|
|
18146
|
+
variant: "ghost",
|
|
18147
|
+
size: "small",
|
|
18167
18148
|
onClick: () => {
|
|
18168
|
-
setPage("device-link" /* DEVICE_LINK */);
|
|
18169
|
-
},
|
|
18170
|
-
children: "Link Device"
|
|
18171
|
-
}
|
|
18172
|
-
)
|
|
18173
|
-
] }),
|
|
18174
|
-
screen.step === "connected" && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
18175
|
-
screen.keyshares.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "text-sm text-[var(--ui-kit-fg-muted)] text-center py-4", children: "No keyshares stored on this device" }),
|
|
18176
|
-
screen.keyshares.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] text-right", children: [
|
|
18177
|
-
screen.keyshares.length,
|
|
18178
|
-
" keyshare",
|
|
18179
|
-
screen.keyshares.length > 1 ? "s" : "",
|
|
18180
|
-
" \xB7 ",
|
|
18181
|
-
formatSize(screen.keyshares.reduce((s, e) => s + e.size, 0))
|
|
18182
|
-
] }),
|
|
18183
|
-
screen.keyshares.map(({ id, size }) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center gap-3 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
|
|
18184
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Cpu, { className: "w-5 h-5 text-[var(--ui-kit-fg-muted)] shrink-0" }),
|
|
18185
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
18186
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-sm font-mono truncate block text-[var(--ui-kit-fg)]", children: id }),
|
|
18187
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: formatSize(size) })
|
|
18188
|
-
] }),
|
|
18189
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18190
|
-
Button,
|
|
18191
|
-
{
|
|
18192
|
-
variant: "ghost",
|
|
18193
|
-
size: "icon",
|
|
18194
|
-
disabled: isWorking,
|
|
18195
|
-
onClick: () => {
|
|
18196
|
-
guardianRef.current?.close();
|
|
18197
|
-
const store = useLayoutDataStore.getState();
|
|
18198
|
-
store.setPageParams({ key: "device-restore" /* DEVICE_RESTORE */, keyshareId: id, deviceId, deviceName });
|
|
18199
|
-
store.setPage("device-restore" /* DEVICE_RESTORE */);
|
|
18200
|
-
},
|
|
18201
|
-
title: "Restore",
|
|
18202
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Download, { className: "w-4 h-4" })
|
|
18203
|
-
}
|
|
18204
|
-
),
|
|
18205
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18206
|
-
Button,
|
|
18207
|
-
{
|
|
18208
|
-
variant: "ghost",
|
|
18209
|
-
size: "icon",
|
|
18210
|
-
disabled: isWorking,
|
|
18211
|
-
onClick: () => handleDelete(id),
|
|
18212
|
-
title: "Delete",
|
|
18213
|
-
className: "text-[var(--ui-kit-bg-error)]",
|
|
18214
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Trash2, { className: "w-4 h-4" })
|
|
18215
|
-
}
|
|
18216
|
-
)
|
|
18217
|
-
] }, id)),
|
|
18218
|
-
actionState?.action === "overwrite" && actionState.substep === "confirm" && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center justify-between gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
|
|
18219
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-sm", children: "Keyshare exists. Overwrite? (requires button press on device)" }),
|
|
18220
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex gap-2", children: [
|
|
18221
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { variant: "ghost", size: "small", onClick: () => {
|
|
18222
18149
|
setActionState(null);
|
|
18223
18150
|
setPassword("");
|
|
18224
|
-
}, children: "Cancel" }),
|
|
18225
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { variant: "outline", size: "small", onClick: handleOverwrite, children: "Overwrite" })
|
|
18226
|
-
] })
|
|
18227
|
-
] }),
|
|
18228
|
-
actionState?.action === "backup" && actionState.substep === "password" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex gap-2", children: [
|
|
18229
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18230
|
-
"input",
|
|
18231
|
-
{
|
|
18232
|
-
type: "password",
|
|
18233
|
-
autoComplete: "one-time-code",
|
|
18234
|
-
"data-1p-ignore": true,
|
|
18235
|
-
"data-lpignore": "true",
|
|
18236
|
-
value: password,
|
|
18237
|
-
onChange: (e) => setPassword(e.target.value),
|
|
18238
|
-
onKeyDown: (e) => e.key === "Enter" && password && handleBackup(),
|
|
18239
|
-
placeholder: "Encryption password",
|
|
18240
|
-
className: "flex-1 text-sm px-3 py-2 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bd)] text-[var(--ui-kit-fg)] focus:outline-none focus:border-[var(--ui-kit-primary)]",
|
|
18241
|
-
autoFocus: true
|
|
18242
|
-
}
|
|
18243
|
-
),
|
|
18244
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { variant: "default", disabled: !password, onClick: handleBackup, children: "Backup" }),
|
|
18245
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { variant: "ghost", onClick: () => {
|
|
18246
|
-
setActionState(null);
|
|
18247
|
-
setPassword("");
|
|
18248
|
-
}, children: "Cancel" })
|
|
18249
|
-
] }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
18250
|
-
Button,
|
|
18251
|
-
{
|
|
18252
|
-
variant: "default",
|
|
18253
|
-
size: "large",
|
|
18254
|
-
className: "w-full",
|
|
18255
|
-
disabled: isWorking,
|
|
18256
|
-
onClick: () => {
|
|
18257
|
-
setStatusMessage(null);
|
|
18258
|
-
setErrorMessage(null);
|
|
18259
|
-
setActionState({ action: "backup", substep: "password" });
|
|
18260
18151
|
},
|
|
18261
|
-
children:
|
|
18262
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Upload, { className: "w-4 h-4" }),
|
|
18263
|
-
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: "Backup Current Keyshare" })
|
|
18264
|
-
]
|
|
18152
|
+
children: "Cancel"
|
|
18265
18153
|
}
|
|
18266
18154
|
),
|
|
18267
|
-
|
|
18155
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { variant: "outline", size: "small", onClick: handleOverwrite, children: "Overwrite" })
|
|
18268
18156
|
] })
|
|
18269
|
-
] })
|
|
18270
|
-
|
|
18271
|
-
|
|
18157
|
+
] }),
|
|
18158
|
+
actionState?.action === "backup" && actionState.substep === "password" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex gap-2", children: [
|
|
18159
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18160
|
+
"input",
|
|
18161
|
+
{
|
|
18162
|
+
type: "password",
|
|
18163
|
+
autoComplete: "one-time-code",
|
|
18164
|
+
"data-1p-ignore": true,
|
|
18165
|
+
"data-lpignore": "true",
|
|
18166
|
+
value: password,
|
|
18167
|
+
onChange: (e) => setPassword(e.target.value),
|
|
18168
|
+
onKeyDown: (e) => e.key === "Enter" && password && handleBackup(),
|
|
18169
|
+
placeholder: "Encryption password",
|
|
18170
|
+
className: "flex-1 text-sm px-3 py-2 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bd)] text-[var(--ui-kit-fg)] focus:outline-none focus:border-[var(--ui-kit-primary)]",
|
|
18171
|
+
autoFocus: true
|
|
18172
|
+
}
|
|
18173
|
+
),
|
|
18174
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { variant: "default", disabled: !password, onClick: handleBackup, children: "Backup" }),
|
|
18175
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
18176
|
+
Button,
|
|
18177
|
+
{
|
|
18178
|
+
variant: "ghost",
|
|
18179
|
+
onClick: () => {
|
|
18180
|
+
setActionState(null);
|
|
18181
|
+
setPassword("");
|
|
18182
|
+
},
|
|
18183
|
+
children: "Cancel"
|
|
18184
|
+
}
|
|
18185
|
+
)
|
|
18186
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
18187
|
+
Button,
|
|
18188
|
+
{
|
|
18189
|
+
variant: "default",
|
|
18190
|
+
size: "large",
|
|
18191
|
+
className: "w-full",
|
|
18192
|
+
disabled: isWorking,
|
|
18193
|
+
onClick: () => {
|
|
18194
|
+
setStatusMessage(null);
|
|
18195
|
+
setErrorMessage(null);
|
|
18196
|
+
setActionState({ action: "backup", substep: "password" });
|
|
18197
|
+
},
|
|
18198
|
+
children: [
|
|
18199
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Upload, { className: "w-4 h-4" }),
|
|
18200
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: "Backup Current Keyshare" })
|
|
18201
|
+
]
|
|
18202
|
+
}
|
|
18203
|
+
),
|
|
18204
|
+
actionState?.substep === "working" && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Loader2, { className: "w-5 h-5 animate-spin" }) })
|
|
18205
|
+
] })
|
|
18206
|
+
] });
|
|
18272
18207
|
}
|
|
18273
|
-
var
|
|
18208
|
+
var import_lucide_react33, import_react47, import_jsx_runtime73;
|
|
18274
18209
|
var init_DeviceManageScreen = __esm({
|
|
18275
18210
|
"src/internal/components/DevicesMenu/DeviceManageScreen.tsx"() {
|
|
18276
|
-
|
|
18211
|
+
init_SessionContext();
|
|
18277
18212
|
import_lucide_react33 = require("lucide-react");
|
|
18278
|
-
|
|
18279
|
-
|
|
18213
|
+
import_react47 = require("react");
|
|
18214
|
+
init_guardian_backup();
|
|
18280
18215
|
init_useLayoutDataStore();
|
|
18281
|
-
init_useLayoutStore();
|
|
18282
|
-
init_SessionContext();
|
|
18283
18216
|
init_iframe_manager();
|
|
18284
|
-
|
|
18217
|
+
init_Expandable2();
|
|
18218
|
+
init_button();
|
|
18285
18219
|
import_jsx_runtime73 = require("react/jsx-runtime");
|
|
18286
18220
|
}
|
|
18287
18221
|
});
|
|
@@ -18290,7 +18224,6 @@ var init_DeviceManageScreen = __esm({
|
|
|
18290
18224
|
function DeviceRestoreScreen() {
|
|
18291
18225
|
const setPage = useLayoutDataStore((s) => s.setPage);
|
|
18292
18226
|
const pageParams = useLayoutDataStore((s) => s.pageParams);
|
|
18293
|
-
const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
|
|
18294
18227
|
const session = useSession((st) => st.session);
|
|
18295
18228
|
const userId = session?.mpcUserId || "";
|
|
18296
18229
|
const keyshareId = pageParams?.keyshareId;
|
|
@@ -18326,79 +18259,71 @@ function DeviceRestoreScreen() {
|
|
|
18326
18259
|
setIsWorking(false);
|
|
18327
18260
|
}
|
|
18328
18261
|
}, [password, keyshareId, userId, deviceId]);
|
|
18329
|
-
return /* @__PURE__ */ (0, import_jsx_runtime74.
|
|
18330
|
-
"div",
|
|
18331
|
-
|
|
18332
|
-
|
|
18333
|
-
|
|
18334
|
-
|
|
18335
|
-
|
|
18336
|
-
|
|
18337
|
-
|
|
18338
|
-
|
|
18339
|
-
|
|
18340
|
-
|
|
18341
|
-
|
|
18342
|
-
|
|
18343
|
-
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("p", { className: "text-[var(--ui-kit-fg-muted)] mt-1", children: [
|
|
18344
|
-
"Your existing keyshare will be overwritten with the backup from ",
|
|
18345
|
-
deviceName || "Guardian",
|
|
18346
|
-
" device. Make sure you have a backup of your current keyshare before proceeding."
|
|
18347
|
-
] })
|
|
18348
|
-
] })
|
|
18349
|
-
] }),
|
|
18350
|
-
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] font-mono truncate px-1", children: keyshareId }),
|
|
18351
|
-
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
18352
|
-
"input",
|
|
18353
|
-
{
|
|
18354
|
-
type: "password",
|
|
18355
|
-
autoComplete: "one-time-code",
|
|
18356
|
-
"data-1p-ignore": true,
|
|
18357
|
-
"data-lpignore": "true",
|
|
18358
|
-
value: password,
|
|
18359
|
-
onChange: (e) => setPassword(e.target.value),
|
|
18360
|
-
onKeyDown: (e) => e.key === "Enter" && password && !isWorking && handleRestore(),
|
|
18361
|
-
placeholder: "Encryption password",
|
|
18362
|
-
className: "w-full text-sm px-3 py-2 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bd)] text-[var(--ui-kit-fg)] focus:outline-none focus:border-[var(--ui-kit-primary)]",
|
|
18363
|
-
autoFocus: true,
|
|
18364
|
-
disabled: isWorking
|
|
18365
|
-
}
|
|
18366
|
-
),
|
|
18367
|
-
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
18368
|
-
Button,
|
|
18369
|
-
{
|
|
18370
|
-
variant: "default",
|
|
18371
|
-
size: "large",
|
|
18372
|
-
className: "w-full",
|
|
18373
|
-
disabled: !password || isWorking,
|
|
18374
|
-
onClick: handleRestore,
|
|
18375
|
-
children: isWorking ? /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
18376
|
-
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react34.Loader2, { className: "w-4 h-4 animate-spin" }),
|
|
18377
|
-
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: "Restoring \u2014 confirm on your device..." })
|
|
18378
|
-
] }) : /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
18379
|
-
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react34.Download, { className: "w-4 h-4" }),
|
|
18380
|
-
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: "Restore from Guardian" })
|
|
18381
|
-
] })
|
|
18382
|
-
}
|
|
18383
|
-
),
|
|
18384
|
-
statusMessage && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "text-sm text-green-500 p-2 text-center", children: statusMessage }),
|
|
18385
|
-
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "text-sm text-[var(--ui-kit-bg-error)] p-2 text-center", children: errorMessage })
|
|
18262
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
|
|
18263
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
18264
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Button, { variant: "ghost", size: "icon", onClick: () => setPage("device-manage" /* DEVICE_MANAGE */), children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react34.ArrowLeft, { className: "h-4 w-4 flex-none" }) }),
|
|
18265
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "text-xl font-semibold", children: "Restore Keyshare" })
|
|
18266
|
+
] }),
|
|
18267
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex gap-3 p-3 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bg-error)]", children: [
|
|
18268
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react34.AlertTriangle, { className: "w-5 h-5 text-[var(--ui-kit-bg-error)] shrink-0 mt-0.5" }),
|
|
18269
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "text-sm", children: [
|
|
18270
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("p", { className: "font-semibold text-[var(--ui-kit-bg-error)]", children: "This will replace your current keyshare" }),
|
|
18271
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("p", { className: "text-[var(--ui-kit-fg-muted)] mt-1", children: [
|
|
18272
|
+
"Your existing keyshare will be overwritten with the backup from ",
|
|
18273
|
+
deviceName || "Guardian",
|
|
18274
|
+
" device. Make sure you have a backup of your current keyshare before proceeding."
|
|
18275
|
+
] })
|
|
18386
18276
|
] })
|
|
18387
|
-
}
|
|
18388
|
-
|
|
18277
|
+
] }),
|
|
18278
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] font-mono truncate px-1", children: keyshareId }),
|
|
18279
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
18280
|
+
"input",
|
|
18281
|
+
{
|
|
18282
|
+
type: "password",
|
|
18283
|
+
autoComplete: "one-time-code",
|
|
18284
|
+
"data-1p-ignore": true,
|
|
18285
|
+
"data-lpignore": "true",
|
|
18286
|
+
value: password,
|
|
18287
|
+
onChange: (e) => setPassword(e.target.value),
|
|
18288
|
+
onKeyDown: (e) => e.key === "Enter" && password && !isWorking && handleRestore(),
|
|
18289
|
+
placeholder: "Encryption password",
|
|
18290
|
+
className: "w-full text-sm px-3 py-2 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bd)] text-[var(--ui-kit-fg)] focus:outline-none focus:border-[var(--ui-kit-primary)]",
|
|
18291
|
+
autoFocus: true,
|
|
18292
|
+
disabled: isWorking
|
|
18293
|
+
}
|
|
18294
|
+
),
|
|
18295
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
18296
|
+
Button,
|
|
18297
|
+
{
|
|
18298
|
+
variant: "default",
|
|
18299
|
+
size: "large",
|
|
18300
|
+
className: "w-full",
|
|
18301
|
+
disabled: !password || isWorking,
|
|
18302
|
+
onClick: handleRestore,
|
|
18303
|
+
children: isWorking ? /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
18304
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react34.Loader2, { className: "w-4 h-4 animate-spin" }),
|
|
18305
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: "Restoring \u2014 confirm on your device..." })
|
|
18306
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
18307
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react34.Download, { className: "w-4 h-4" }),
|
|
18308
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: "Restore from Guardian" })
|
|
18309
|
+
] })
|
|
18310
|
+
}
|
|
18311
|
+
),
|
|
18312
|
+
statusMessage && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "text-sm text-green-500 p-2 text-center", children: statusMessage }),
|
|
18313
|
+
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "text-sm text-[var(--ui-kit-bg-error)] p-2 text-center", children: errorMessage })
|
|
18314
|
+
] });
|
|
18389
18315
|
}
|
|
18390
|
-
var
|
|
18316
|
+
var import_lucide_react34, import_react48, import_jsx_runtime74;
|
|
18391
18317
|
var init_DeviceRestoreScreen = __esm({
|
|
18392
18318
|
"src/internal/components/DevicesMenu/DeviceRestoreScreen.tsx"() {
|
|
18393
|
-
|
|
18319
|
+
init_SessionContext();
|
|
18394
18320
|
import_lucide_react34 = require("lucide-react");
|
|
18395
|
-
|
|
18396
|
-
|
|
18321
|
+
import_react48 = require("react");
|
|
18322
|
+
init_guardian_backup();
|
|
18397
18323
|
init_useLayoutDataStore();
|
|
18398
|
-
init_useLayoutStore();
|
|
18399
|
-
init_SessionContext();
|
|
18400
18324
|
init_iframe_manager();
|
|
18401
|
-
|
|
18325
|
+
init_Expandable2();
|
|
18326
|
+
init_button();
|
|
18402
18327
|
import_jsx_runtime74 = require("react/jsx-runtime");
|
|
18403
18328
|
}
|
|
18404
18329
|
});
|
|
@@ -18472,7 +18397,11 @@ function DeviceRow({ device }) {
|
|
|
18472
18397
|
{
|
|
18473
18398
|
onClick: () => {
|
|
18474
18399
|
const store = useLayoutDataStore.getState();
|
|
18475
|
-
store.setPageParams({
|
|
18400
|
+
store.setPageParams({
|
|
18401
|
+
key: "device-manage" /* DEVICE_MANAGE */,
|
|
18402
|
+
deviceId: device.deviceId,
|
|
18403
|
+
deviceName: device.deviceName
|
|
18404
|
+
});
|
|
18476
18405
|
store.setPage("device-manage" /* DEVICE_MANAGE */);
|
|
18477
18406
|
},
|
|
18478
18407
|
className: "text-[var(--ui-kit-fg-muted)] hover:text-[var(--ui-kit-fg)] transition-colors shrink-0",
|
|
@@ -18492,53 +18421,35 @@ function DeviceRow({ device }) {
|
|
|
18492
18421
|
}
|
|
18493
18422
|
function DevicesMenu() {
|
|
18494
18423
|
const setPage = useLayoutDataStore((s) => s.setPage);
|
|
18495
|
-
const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
|
|
18496
18424
|
const { data, isLoading, error, refetch, isFetching } = useDevices();
|
|
18497
18425
|
const devices = data?.devices ?? [];
|
|
18498
|
-
return /* @__PURE__ */ (0, import_jsx_runtime75.
|
|
18499
|
-
"div",
|
|
18500
|
-
|
|
18501
|
-
|
|
18502
|
-
className: "
|
|
18503
|
-
|
|
18504
|
-
|
|
18505
|
-
|
|
18506
|
-
|
|
18507
|
-
|
|
18508
|
-
|
|
18509
|
-
|
|
18510
|
-
|
|
18511
|
-
|
|
18512
|
-
|
|
18513
|
-
|
|
18514
|
-
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
|
|
18515
|
-
Button,
|
|
18516
|
-
{
|
|
18517
|
-
variant: "default",
|
|
18518
|
-
size: "large",
|
|
18519
|
-
className: "w-full",
|
|
18520
|
-
onClick: () => setPage("device-link" /* DEVICE_LINK */),
|
|
18521
|
-
children: [
|
|
18522
|
-
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_lucide_react35.Cpu, { className: "w-4 h-4" }),
|
|
18523
|
-
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: "Add Device" })
|
|
18524
|
-
]
|
|
18525
|
-
}
|
|
18526
|
-
)
|
|
18527
|
-
] })
|
|
18528
|
-
}
|
|
18529
|
-
);
|
|
18426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
|
|
18427
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
18428
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Button, { variant: "ghost", size: "icon", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_lucide_react35.ArrowLeft, { className: "h-4 w-4 flex-none" }) }),
|
|
18429
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "text-xl font-semibold", children: "Devices" }),
|
|
18430
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_lucide_react35.Loader2, { className: "w-4 h-4 animate-spin" }),
|
|
18431
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "flex-1" }),
|
|
18432
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Button, { variant: "ghost", size: "icon", onClick: () => refetch(), disabled: isFetching, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_lucide_react35.RefreshCw, { className: `h-4 w-4 flex-none ${isFetching ? "animate-spin" : ""}` }) })
|
|
18433
|
+
] }),
|
|
18434
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "text-sm text-[var(--ui-kit-bg-error)] text-center py-4", children: "Failed to load devices" }),
|
|
18435
|
+
!isLoading && !error && devices.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "text-sm text-[var(--ui-kit-fg-muted)] text-center py-8", children: "No linked devices" }),
|
|
18436
|
+
devices.map((device) => /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(DeviceRow, { device }, device.deviceId)),
|
|
18437
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(Button, { variant: "default", size: "large", className: "w-full", onClick: () => setPage("device-link" /* DEVICE_LINK */), children: [
|
|
18438
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_lucide_react35.Cpu, { className: "w-4 h-4" }),
|
|
18439
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: "Add Device" })
|
|
18440
|
+
] })
|
|
18441
|
+
] });
|
|
18530
18442
|
}
|
|
18531
|
-
var
|
|
18443
|
+
var import_lucide_react35, import_react49, import_jsx_runtime75;
|
|
18532
18444
|
var init_DevicesMenu = __esm({
|
|
18533
18445
|
"src/internal/components/DevicesMenu/DevicesMenu.tsx"() {
|
|
18534
|
-
import_react49 = require("react");
|
|
18535
18446
|
import_lucide_react35 = require("lucide-react");
|
|
18536
|
-
|
|
18537
|
-
init_button();
|
|
18538
|
-
init_useLayoutDataStore();
|
|
18539
|
-
init_useLayoutStore();
|
|
18447
|
+
import_react49 = require("react");
|
|
18540
18448
|
init_devices();
|
|
18541
18449
|
init_guardian_backup();
|
|
18450
|
+
init_useLayoutDataStore();
|
|
18451
|
+
init_Expandable2();
|
|
18452
|
+
init_button();
|
|
18542
18453
|
import_jsx_runtime75 = require("react/jsx-runtime");
|
|
18543
18454
|
}
|
|
18544
18455
|
});
|
|
@@ -19421,10 +19332,11 @@ var init_MethodSelector = __esm({
|
|
|
19421
19332
|
var KEYSHARE_BACKUP_MENU_TOUR, KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY;
|
|
19422
19333
|
var init_onboarding_setup4 = __esm({
|
|
19423
19334
|
"src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
|
|
19335
|
+
init_constants();
|
|
19424
19336
|
init_hooks();
|
|
19425
19337
|
KEYSHARE_BACKUP_MENU_TOUR = [
|
|
19426
19338
|
{
|
|
19427
|
-
elId: "
|
|
19339
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
|
|
19428
19340
|
title: "passport:backupMenu.onboarding.backupMenu.title",
|
|
19429
19341
|
description: "passport:backupMenu.onboarding.backupMenu.description",
|
|
19430
19342
|
onNext: () => {
|
|
@@ -19449,7 +19361,7 @@ var init_onboarding_setup4 = __esm({
|
|
|
19449
19361
|
}
|
|
19450
19362
|
},
|
|
19451
19363
|
{
|
|
19452
|
-
elId: "
|
|
19364
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
|
|
19453
19365
|
title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
|
|
19454
19366
|
description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
|
|
19455
19367
|
onNext: () => {
|
|
@@ -19460,7 +19372,7 @@ var init_onboarding_setup4 = __esm({
|
|
|
19460
19372
|
}
|
|
19461
19373
|
},
|
|
19462
19374
|
{
|
|
19463
|
-
elId: "
|
|
19375
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
|
|
19464
19376
|
title: "passport:backupMenu.onboarding.backupEncryptionPasskey.title",
|
|
19465
19377
|
description: "passport:backupMenu.onboarding.backupEncryptionPasskey.description",
|
|
19466
19378
|
onNext: () => {
|
|
@@ -19480,7 +19392,7 @@ var init_onboarding_setup4 = __esm({
|
|
|
19480
19392
|
];
|
|
19481
19393
|
KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY = [
|
|
19482
19394
|
{
|
|
19483
|
-
elId: "
|
|
19395
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
|
|
19484
19396
|
title: "passport:backupMenu.onboarding.backupMenu.title",
|
|
19485
19397
|
description: "passport:backupMenu.onboarding.backupMenu.description",
|
|
19486
19398
|
onNext: () => {
|
|
@@ -19495,7 +19407,7 @@ var init_onboarding_setup4 = __esm({
|
|
|
19495
19407
|
}
|
|
19496
19408
|
},
|
|
19497
19409
|
{
|
|
19498
|
-
elId: "
|
|
19410
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
|
|
19499
19411
|
title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
|
|
19500
19412
|
description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
|
|
19501
19413
|
onNext: () => {
|
|
@@ -20390,7 +20302,6 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
20390
20302
|
const { callbacksRef } = useProviderConfig();
|
|
20391
20303
|
const { t } = useT();
|
|
20392
20304
|
const address = useSession((st) => st.address);
|
|
20393
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
20394
20305
|
const error = useRestoreStore((st) => st.error);
|
|
20395
20306
|
const success = useRestoreStore((st) => st.success);
|
|
20396
20307
|
const currentRestoreMethod = useRestoreStore((st) => st.method);
|
|
@@ -20473,106 +20384,99 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
20473
20384
|
}
|
|
20474
20385
|
});
|
|
20475
20386
|
const RestoreComponent = currentRestoreMethod ? RESTORE_COMPONENTS[currentRestoreMethod] : null;
|
|
20476
|
-
return /* @__PURE__ */ (0, import_jsx_runtime84.
|
|
20477
|
-
"div",
|
|
20478
|
-
|
|
20479
|
-
|
|
20480
|
-
|
|
20481
|
-
|
|
20482
|
-
|
|
20483
|
-
|
|
20484
|
-
|
|
20387
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
20388
|
+
isBackupStatusLoading && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] text-center justify-center items-center", children: [
|
|
20389
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react44.Loader, { className: "w-4 h-4 animate-spin" }),
|
|
20390
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "block w-full text-xs leading-4", children: t("passport:restoreMenu.check") })
|
|
20391
|
+
] }),
|
|
20392
|
+
!success && !isBackupStatusLoading && !isDisconnecting && !hasServerBackup && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
20393
|
+
NoBackupFound,
|
|
20394
|
+
{
|
|
20395
|
+
isLoading: isRestoringFromServer || isRestoringFromCloud || isRestoringFromFile || isDisconnecting,
|
|
20396
|
+
restoreFromFile
|
|
20397
|
+
}
|
|
20398
|
+
),
|
|
20399
|
+
!success && !isBackupStatusLoading && !isDisconnecting && hasServerBackup && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_jsx_runtime84.Fragment, { children: [
|
|
20400
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
|
|
20401
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
20402
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react44.CloudDownload, { className: "w-6 h-6" }),
|
|
20403
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "font-bold text-xl leading-6", children: t("passport:restoreMenu.title") })
|
|
20485
20404
|
] }),
|
|
20486
|
-
|
|
20487
|
-
|
|
20405
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
20406
|
+
Switch,
|
|
20488
20407
|
{
|
|
20489
|
-
|
|
20490
|
-
|
|
20491
|
-
|
|
20492
|
-
|
|
20493
|
-
|
|
20494
|
-
|
|
20495
|
-
|
|
20496
|
-
|
|
20497
|
-
|
|
20498
|
-
|
|
20499
|
-
|
|
20500
|
-
|
|
20501
|
-
{
|
|
20502
|
-
name: "advanced-restore-flow-toggle",
|
|
20503
|
-
labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
|
|
20504
|
-
checked: currentRestoreMethod !== "server",
|
|
20505
|
-
onChange: () => {
|
|
20506
|
-
const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
|
|
20507
|
-
if (!!error) setError(null);
|
|
20508
|
-
if (currentRestoreMethod === "server") {
|
|
20509
|
-
setRestorePassword("");
|
|
20510
|
-
setMethod(null);
|
|
20511
|
-
} else {
|
|
20512
|
-
setRestoreFile(null);
|
|
20513
|
-
setMethod("server");
|
|
20514
|
-
}
|
|
20515
|
-
}
|
|
20408
|
+
name: "advanced-restore-flow-toggle",
|
|
20409
|
+
labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
|
|
20410
|
+
checked: currentRestoreMethod !== "server",
|
|
20411
|
+
onChange: () => {
|
|
20412
|
+
const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
|
|
20413
|
+
if (!!error) setError(null);
|
|
20414
|
+
if (currentRestoreMethod === "server") {
|
|
20415
|
+
setRestorePassword("");
|
|
20416
|
+
setMethod(null);
|
|
20417
|
+
} else {
|
|
20418
|
+
setRestoreFile(null);
|
|
20419
|
+
setMethod("server");
|
|
20516
20420
|
}
|
|
20517
|
-
)
|
|
20518
|
-
] }),
|
|
20519
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(MethodSelector, { mode: "restore", serverRecoveryStatus }),
|
|
20520
|
-
!!currentRestoreMethod && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
20521
|
-
RestoreComponent,
|
|
20522
|
-
{
|
|
20523
|
-
isLoading: isRestoringFromFile || isRestoringFromServer || isRestoringFromCloud || isDisconnecting,
|
|
20524
|
-
fileHandler: restoreFromFile,
|
|
20525
|
-
serverHandler: restoreFromServer2,
|
|
20526
|
-
cloudHandler: restoreFromCloud
|
|
20527
20421
|
}
|
|
20528
|
-
)
|
|
20529
|
-
] }),
|
|
20530
|
-
!success && !isBackupStatusLoading && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
20531
|
-
Button,
|
|
20532
|
-
{
|
|
20533
|
-
size: "large",
|
|
20534
|
-
variant: "ghost",
|
|
20535
|
-
onClick: () => {
|
|
20536
|
-
const {
|
|
20537
|
-
setError,
|
|
20538
|
-
setShowPassword,
|
|
20539
|
-
setUsePasskey,
|
|
20540
|
-
setRestoreFile,
|
|
20541
|
-
setRestorePassword,
|
|
20542
|
-
setSuccess,
|
|
20543
|
-
setMethod
|
|
20544
|
-
} = useRestoreStore.getState();
|
|
20545
|
-
setError(null);
|
|
20546
|
-
setShowPassword(false);
|
|
20547
|
-
setUsePasskey(false);
|
|
20548
|
-
setRestoreFile(null);
|
|
20549
|
-
setRestorePassword("");
|
|
20550
|
-
setSuccess(null);
|
|
20551
|
-
setMethod(null);
|
|
20552
|
-
disconnect();
|
|
20553
|
-
},
|
|
20554
|
-
disabled: isDisconnecting || isRestoringFromFile || isRestoringFromServer,
|
|
20555
|
-
className: "w-fit mx-auto",
|
|
20556
|
-
children: [
|
|
20557
|
-
isDisconnecting ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react44.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react44.UserCircle, { className: "w-4 h-4" }),
|
|
20558
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { children: t("passport:restoreMenu.tryAnotherAccount") })
|
|
20559
|
-
]
|
|
20560
20422
|
}
|
|
20561
|
-
)
|
|
20562
|
-
|
|
20563
|
-
|
|
20564
|
-
|
|
20565
|
-
|
|
20566
|
-
|
|
20567
|
-
|
|
20568
|
-
|
|
20569
|
-
|
|
20570
|
-
|
|
20571
|
-
|
|
20572
|
-
|
|
20573
|
-
|
|
20574
|
-
|
|
20575
|
-
|
|
20423
|
+
)
|
|
20424
|
+
] }),
|
|
20425
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(MethodSelector, { mode: "restore", serverRecoveryStatus }),
|
|
20426
|
+
!!currentRestoreMethod && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
20427
|
+
RestoreComponent,
|
|
20428
|
+
{
|
|
20429
|
+
isLoading: isRestoringFromFile || isRestoringFromServer || isRestoringFromCloud || isDisconnecting,
|
|
20430
|
+
fileHandler: restoreFromFile,
|
|
20431
|
+
serverHandler: restoreFromServer2,
|
|
20432
|
+
cloudHandler: restoreFromCloud
|
|
20433
|
+
}
|
|
20434
|
+
)
|
|
20435
|
+
] }),
|
|
20436
|
+
!success && !isBackupStatusLoading && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
20437
|
+
Button,
|
|
20438
|
+
{
|
|
20439
|
+
size: "large",
|
|
20440
|
+
variant: "ghost",
|
|
20441
|
+
onClick: () => {
|
|
20442
|
+
const {
|
|
20443
|
+
setError,
|
|
20444
|
+
setShowPassword,
|
|
20445
|
+
setUsePasskey,
|
|
20446
|
+
setRestoreFile,
|
|
20447
|
+
setRestorePassword,
|
|
20448
|
+
setSuccess,
|
|
20449
|
+
setMethod
|
|
20450
|
+
} = useRestoreStore.getState();
|
|
20451
|
+
setError(null);
|
|
20452
|
+
setShowPassword(false);
|
|
20453
|
+
setUsePasskey(false);
|
|
20454
|
+
setRestoreFile(null);
|
|
20455
|
+
setRestorePassword("");
|
|
20456
|
+
setSuccess(null);
|
|
20457
|
+
setMethod(null);
|
|
20458
|
+
disconnect();
|
|
20459
|
+
},
|
|
20460
|
+
disabled: isDisconnecting || isRestoringFromFile || isRestoringFromServer,
|
|
20461
|
+
className: "w-fit mx-auto",
|
|
20462
|
+
children: [
|
|
20463
|
+
isDisconnecting ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react44.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react44.UserCircle, { className: "w-4 h-4" }),
|
|
20464
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { children: t("passport:restoreMenu.tryAnotherAccount") })
|
|
20465
|
+
]
|
|
20466
|
+
}
|
|
20467
|
+
),
|
|
20468
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
20469
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react44.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20470
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "w-full flex-1 block", children: error })
|
|
20471
|
+
] }),
|
|
20472
|
+
success && /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_jsx_runtime84.Fragment, { children: [
|
|
20473
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(Highlight, { type: "success", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
20474
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react44.CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20475
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "w-full flex-1 block", children: success })
|
|
20476
|
+
] }),
|
|
20477
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Button, { variant: "default", size: "large", className: "w-full", onClick: () => onRestoreSuccess(), children: "Done" })
|
|
20478
|
+
] })
|
|
20479
|
+
] });
|
|
20576
20480
|
};
|
|
20577
20481
|
}
|
|
20578
20482
|
});
|
|
@@ -20583,7 +20487,6 @@ function KeyshareBackupMenu() {
|
|
|
20583
20487
|
const hasServerVault = useSession((st) => st.hasServerVault);
|
|
20584
20488
|
const { t } = useT();
|
|
20585
20489
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
20586
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
20587
20490
|
const currentBackupMethod = useRestoreStore((st) => st.method);
|
|
20588
20491
|
const usePasskey = useRestoreStore((st) => st.usePasskey);
|
|
20589
20492
|
const error = useRestoreStore((st) => st.error);
|
|
@@ -20622,118 +20525,110 @@ function KeyshareBackupMenu() {
|
|
|
20622
20525
|
createPasskey
|
|
20623
20526
|
} = useCreateBackup();
|
|
20624
20527
|
const BackupComponent = !!currentBackupMethod ? COMPONENTS[currentBackupMethod] : null;
|
|
20625
|
-
return /* @__PURE__ */ (0, import_jsx_runtime85.
|
|
20626
|
-
"div",
|
|
20627
|
-
{
|
|
20628
|
-
|
|
20629
|
-
|
|
20630
|
-
|
|
20631
|
-
|
|
20632
|
-
|
|
20633
|
-
|
|
20634
|
-
|
|
20635
|
-
|
|
20636
|
-
|
|
20637
|
-
|
|
20638
|
-
|
|
20639
|
-
|
|
20640
|
-
|
|
20641
|
-
|
|
20642
|
-
|
|
20643
|
-
|
|
20644
|
-
|
|
20645
|
-
|
|
20646
|
-
|
|
20647
|
-
|
|
20648
|
-
|
|
20649
|
-
|
|
20650
|
-
|
|
20651
|
-
|
|
20652
|
-
|
|
20653
|
-
|
|
20654
|
-
|
|
20655
|
-
|
|
20656
|
-
|
|
20657
|
-
|
|
20658
|
-
|
|
20659
|
-
|
|
20660
|
-
|
|
20661
|
-
|
|
20662
|
-
|
|
20663
|
-
|
|
20664
|
-
|
|
20665
|
-
|
|
20666
|
-
|
|
20667
|
-
|
|
20668
|
-
|
|
20669
|
-
setPage("settings" /* SETTINGS */);
|
|
20670
|
-
},
|
|
20671
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.ArrowLeft, { className: "h-4 w-4" })
|
|
20672
|
-
}
|
|
20673
|
-
),
|
|
20674
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-xl font-semibold leading-8", children: t("passport:backupMenu.title") })
|
|
20675
|
-
] }),
|
|
20676
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
20677
|
-
Switch,
|
|
20678
|
-
{
|
|
20679
|
-
name: "advanced-restore-flow-toggle",
|
|
20680
|
-
labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
|
|
20681
|
-
checked: currentBackupMethod !== "server",
|
|
20682
|
-
onChange: () => {
|
|
20683
|
-
const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
|
|
20684
|
-
if (!!error) setError(null);
|
|
20685
|
-
if (currentBackupMethod === "server") {
|
|
20686
|
-
setRestorePassword("");
|
|
20687
|
-
setMethod(null);
|
|
20688
|
-
} else {
|
|
20689
|
-
setRestoreFile(null);
|
|
20690
|
-
setMethod("server");
|
|
20691
|
-
}
|
|
20692
|
-
}
|
|
20693
|
-
}
|
|
20694
|
-
)
|
|
20695
|
-
]
|
|
20696
|
-
}
|
|
20697
|
-
),
|
|
20698
|
-
!isRecoveryLoading && !!hasRecoveryData2 && !currentBackupMethod && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(MethodSelector, { mode: "backup", serverRecoveryStatus }),
|
|
20699
|
-
(!isRecoveryLoading || !hasServerVault) && !!currentBackupMethod && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_jsx_runtime85.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
20700
|
-
BackupComponent,
|
|
20701
|
-
{
|
|
20702
|
-
mode: "backup",
|
|
20703
|
-
isLoading: isPasswordBackupCreating || isCloudBackupCreating || isLocalBackupCreating || isPasskeyCreating,
|
|
20704
|
-
fileHandler: createLocalBackup,
|
|
20705
|
-
serverHandler: createPasswordBackup,
|
|
20706
|
-
cloudHandler: createCloudBackup,
|
|
20707
|
-
createPasskeyHandler: createPasskey
|
|
20708
|
-
}
|
|
20709
|
-
) }),
|
|
20710
|
-
!isRecoveryLoading && !currentBackupMethod && !hasRecoveryData2 && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
20711
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20712
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "block flex-1 font-semibold", children: "No Backup Found" })
|
|
20713
|
-
] }),
|
|
20714
|
-
error && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
20715
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20716
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "block w-full flex-1", children: error })
|
|
20717
|
-
] }),
|
|
20718
|
-
success && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Highlight, { type: "success", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
20719
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "w-full flex gap-[var(--ui-kit-gap)]", children: [
|
|
20720
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20721
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "block w-full flex-1", children: success })
|
|
20528
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
20529
|
+
!!isRecoveryLoading && (hasServerVault || !currentBackupMethod) && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.Loader, { className: "w-4 h-4 animate-spin" }) }),
|
|
20530
|
+
(!isRecoveryLoading || !hasServerVault) && !hasRecoveryData2 && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex items-center justify-center gap-2 px-5 py-[var(--ui-kit-pd)]", children: [
|
|
20531
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.LockIcon, { className: "w-6 h-6" }),
|
|
20532
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "font-bold text-xl leading-6", children: t("passport:backupMenu.title") })
|
|
20533
|
+
] }),
|
|
20534
|
+
!isRecoveryLoading && !!hasRecoveryData2 && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
|
|
20535
|
+
"div",
|
|
20536
|
+
{
|
|
20537
|
+
ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */, inst),
|
|
20538
|
+
className: "flex items-center justify-between gap-[var(--ui-kit-gap)]",
|
|
20539
|
+
children: [
|
|
20540
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
20541
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
20542
|
+
Button,
|
|
20543
|
+
{
|
|
20544
|
+
variant: "ghost",
|
|
20545
|
+
size: "icon",
|
|
20546
|
+
title: "Back",
|
|
20547
|
+
onClick: () => {
|
|
20548
|
+
const {
|
|
20549
|
+
setSuccess,
|
|
20550
|
+
setError,
|
|
20551
|
+
setRestorePassword,
|
|
20552
|
+
setRestoreFile,
|
|
20553
|
+
setShowPassword,
|
|
20554
|
+
setUsePasskey,
|
|
20555
|
+
setMethod,
|
|
20556
|
+
setSelectedCloudProvider
|
|
20557
|
+
} = useRestoreStore.getState();
|
|
20558
|
+
setRestorePassword("");
|
|
20559
|
+
setRestoreFile(null);
|
|
20560
|
+
setShowPassword(false);
|
|
20561
|
+
setSelectedCloudProvider(null);
|
|
20562
|
+
setUsePasskey(false);
|
|
20563
|
+
setError(null);
|
|
20564
|
+
setSuccess(null);
|
|
20565
|
+
setMethod(null);
|
|
20566
|
+
setPage("settings" /* SETTINGS */);
|
|
20567
|
+
},
|
|
20568
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.ArrowLeft, { className: "h-4 w-4" })
|
|
20569
|
+
}
|
|
20570
|
+
),
|
|
20571
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-xl font-semibold leading-8", children: t("passport:backupMenu.title") })
|
|
20722
20572
|
] }),
|
|
20723
20573
|
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
20724
|
-
|
|
20574
|
+
Switch,
|
|
20725
20575
|
{
|
|
20726
|
-
|
|
20727
|
-
|
|
20728
|
-
|
|
20729
|
-
|
|
20730
|
-
|
|
20576
|
+
name: "advanced-restore-flow-toggle",
|
|
20577
|
+
labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
|
|
20578
|
+
checked: currentBackupMethod !== "server",
|
|
20579
|
+
onChange: () => {
|
|
20580
|
+
const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
|
|
20581
|
+
if (!!error) setError(null);
|
|
20582
|
+
if (currentBackupMethod === "server") {
|
|
20583
|
+
setRestorePassword("");
|
|
20584
|
+
setMethod(null);
|
|
20585
|
+
} else {
|
|
20586
|
+
setRestoreFile(null);
|
|
20587
|
+
setMethod("server");
|
|
20588
|
+
}
|
|
20589
|
+
}
|
|
20731
20590
|
}
|
|
20732
20591
|
)
|
|
20733
|
-
]
|
|
20734
|
-
|
|
20735
|
-
|
|
20736
|
-
|
|
20592
|
+
]
|
|
20593
|
+
}
|
|
20594
|
+
),
|
|
20595
|
+
!isRecoveryLoading && !!hasRecoveryData2 && !currentBackupMethod && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(MethodSelector, { mode: "backup", serverRecoveryStatus }),
|
|
20596
|
+
(!isRecoveryLoading || !hasServerVault) && !!currentBackupMethod && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_jsx_runtime85.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
20597
|
+
BackupComponent,
|
|
20598
|
+
{
|
|
20599
|
+
mode: "backup",
|
|
20600
|
+
isLoading: isPasswordBackupCreating || isCloudBackupCreating || isLocalBackupCreating || isPasskeyCreating,
|
|
20601
|
+
fileHandler: createLocalBackup,
|
|
20602
|
+
serverHandler: createPasswordBackup,
|
|
20603
|
+
cloudHandler: createCloudBackup,
|
|
20604
|
+
createPasskeyHandler: createPasskey
|
|
20605
|
+
}
|
|
20606
|
+
) }),
|
|
20607
|
+
!isRecoveryLoading && !currentBackupMethod && !hasRecoveryData2 && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
20608
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20609
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "block flex-1 font-semibold", children: "No Backup Found" })
|
|
20610
|
+
] }),
|
|
20611
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
20612
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20613
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "block w-full flex-1", children: error })
|
|
20614
|
+
] }),
|
|
20615
|
+
success && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Highlight, { type: "success", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
20616
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "w-full flex gap-[var(--ui-kit-gap)]", children: [
|
|
20617
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react45.CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20618
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "block w-full flex-1", children: success })
|
|
20619
|
+
] }),
|
|
20620
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
20621
|
+
Button,
|
|
20622
|
+
{
|
|
20623
|
+
variant: "default",
|
|
20624
|
+
size: "large",
|
|
20625
|
+
className: "w-full",
|
|
20626
|
+
onClick: () => useRestoreStore.getState().setSuccess(null),
|
|
20627
|
+
children: t("passport:common.continue")
|
|
20628
|
+
}
|
|
20629
|
+
)
|
|
20630
|
+
] })
|
|
20631
|
+
] });
|
|
20737
20632
|
}
|
|
20738
20633
|
var import_react_query31, import_lucide_react45, import_react59, import_jsx_runtime85, COMPONENTS;
|
|
20739
20634
|
var init_KeyshareBackupMenu = __esm({
|
|
@@ -20744,7 +20639,6 @@ var init_KeyshareBackupMenu = __esm({
|
|
|
20744
20639
|
import_lucide_react45 = require("lucide-react");
|
|
20745
20640
|
import_react59 = require("react");
|
|
20746
20641
|
init_useLayoutDataStore();
|
|
20747
|
-
init_useLayoutStore();
|
|
20748
20642
|
init_vaultClient();
|
|
20749
20643
|
init_Expandable2();
|
|
20750
20644
|
init_Onboarding();
|
|
@@ -20967,27 +20861,13 @@ var init_SumsubIframe = __esm({
|
|
|
20967
20861
|
// src/internal/components/KYC/KycMenu.tsx
|
|
20968
20862
|
function KycMenu() {
|
|
20969
20863
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
20970
|
-
|
|
20971
|
-
|
|
20972
|
-
|
|
20973
|
-
|
|
20974
|
-
|
|
20975
|
-
|
|
20976
|
-
|
|
20977
|
-
"paddingTop": "var(--ui-kit-pd)",
|
|
20978
|
-
"paddingBottom": "var(--ui-kit-pd)",
|
|
20979
|
-
"paddingLeft": "4px"
|
|
20980
|
-
},
|
|
20981
|
-
className: "list-scrollbar-y w-full flex flex-col gap-[var(--ui-kit-gap)]",
|
|
20982
|
-
children: [
|
|
20983
|
-
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
20984
|
-
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react47.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
20985
|
-
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: "text-xl font-semibold", children: "KYC" })
|
|
20986
|
-
] }),
|
|
20987
|
-
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(KycContent, {})
|
|
20988
|
-
]
|
|
20989
|
-
}
|
|
20990
|
-
);
|
|
20864
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
20865
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
20866
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react47.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
20867
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: "text-xl font-semibold", children: "KYC" })
|
|
20868
|
+
] }),
|
|
20869
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(KycContent, {})
|
|
20870
|
+
] });
|
|
20991
20871
|
}
|
|
20992
20872
|
var import_lucide_react47, import_jsx_runtime87, KycContent;
|
|
20993
20873
|
var init_KycMenu = __esm({
|
|
@@ -20995,7 +20875,7 @@ var init_KycMenu = __esm({
|
|
|
20995
20875
|
init_ProviderContext();
|
|
20996
20876
|
import_lucide_react47 = require("lucide-react");
|
|
20997
20877
|
init_useLayoutDataStore();
|
|
20998
|
-
|
|
20878
|
+
init_Expandable2();
|
|
20999
20879
|
init_button();
|
|
21000
20880
|
init_SumsubIframe();
|
|
21001
20881
|
import_jsx_runtime87 = require("react/jsx-runtime");
|
|
@@ -21075,44 +20955,41 @@ var init_KYC = __esm({
|
|
|
21075
20955
|
function LanguagesMenu() {
|
|
21076
20956
|
const config = useProviderConfig().config;
|
|
21077
20957
|
const { t, i18n } = useT();
|
|
21078
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
21079
20958
|
const langOpenedFromMenu = useLayoutDataStore((st) => st.langOpenedFromMenu);
|
|
21080
|
-
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
21081
20959
|
const languageList = getAvailableLanguages(config.current.translations);
|
|
21082
|
-
return /* @__PURE__ */ (0, import_jsx_runtime89.
|
|
21083
|
-
"div",
|
|
21084
|
-
|
|
21085
|
-
|
|
21086
|
-
|
|
21087
|
-
|
|
20960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
20961
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
20962
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
20963
|
+
Button,
|
|
20964
|
+
{
|
|
20965
|
+
variant: "ghost",
|
|
20966
|
+
size: "icon",
|
|
20967
|
+
title: "Back",
|
|
20968
|
+
onClick: () => useLayoutDataStore.getState().setPage(langOpenedFromMenu),
|
|
20969
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react48.ArrowLeft, { className: "h-4 w-4" })
|
|
20970
|
+
}
|
|
20971
|
+
),
|
|
20972
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "text-xl font-semibold", children: t("passport:common.language") })
|
|
20973
|
+
] }),
|
|
20974
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] py-[var(--ui-kit-pd)]", children: languageList.map((langKey) => /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
20975
|
+
Button,
|
|
20976
|
+
{
|
|
20977
|
+
size: "large",
|
|
20978
|
+
variant: i18n.resolvedLanguage === langKey ? "default" : "ghost",
|
|
20979
|
+
className: "justify-between",
|
|
20980
|
+
onClick: () => {
|
|
20981
|
+
i18n.changeLanguage(langKey);
|
|
20982
|
+
localStorage.setItem(LOCAL_STORAGE_I18N_KEY, langKey);
|
|
20983
|
+
useLayoutDataStore.getState().setPage(langOpenedFromMenu);
|
|
20984
|
+
},
|
|
20985
|
+
children: [
|
|
20986
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { children: LANGUAGES[langKey]?.name }),
|
|
20987
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "text-2xl leading-6", children: LANGUAGES[langKey]?.flags })
|
|
20988
|
+
]
|
|
21088
20989
|
},
|
|
21089
|
-
|
|
21090
|
-
|
|
21091
|
-
|
|
21092
|
-
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage(langOpenedFromMenu), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react48.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
21093
|
-
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "text-xl font-semibold", children: t("passport:common.language") })
|
|
21094
|
-
] }),
|
|
21095
|
-
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] py-[var(--ui-kit-pd)]", children: languageList.map((langKey) => /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
21096
|
-
Button,
|
|
21097
|
-
{
|
|
21098
|
-
size: "large",
|
|
21099
|
-
variant: i18n.resolvedLanguage === langKey ? "default" : "ghost",
|
|
21100
|
-
className: "justify-between",
|
|
21101
|
-
onClick: () => {
|
|
21102
|
-
i18n.changeLanguage(langKey);
|
|
21103
|
-
localStorage.setItem(LOCAL_STORAGE_I18N_KEY, langKey);
|
|
21104
|
-
setPage(langOpenedFromMenu);
|
|
21105
|
-
},
|
|
21106
|
-
children: [
|
|
21107
|
-
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { children: LANGUAGES[langKey]?.name }),
|
|
21108
|
-
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "text-2xl leading-6", children: LANGUAGES[langKey]?.flags })
|
|
21109
|
-
]
|
|
21110
|
-
},
|
|
21111
|
-
langKey
|
|
21112
|
-
)) })
|
|
21113
|
-
] })
|
|
21114
|
-
}
|
|
21115
|
-
);
|
|
20990
|
+
langKey
|
|
20991
|
+
)) })
|
|
20992
|
+
] });
|
|
21116
20993
|
}
|
|
21117
20994
|
var import_lucide_react48, import_jsx_runtime89;
|
|
21118
20995
|
var init_LanguagesMenu = __esm({
|
|
@@ -21121,7 +20998,6 @@ var init_LanguagesMenu = __esm({
|
|
|
21121
20998
|
init_i18n();
|
|
21122
20999
|
import_lucide_react48 = require("lucide-react");
|
|
21123
21000
|
init_useLayoutDataStore();
|
|
21124
|
-
init_useLayoutStore();
|
|
21125
21001
|
init_Expandable2();
|
|
21126
21002
|
init_button();
|
|
21127
21003
|
import_jsx_runtime89 = require("react/jsx-runtime");
|
|
@@ -21168,12 +21044,16 @@ var init_onboarding_setup5 = __esm({
|
|
|
21168
21044
|
function MainMenu() {
|
|
21169
21045
|
const address = useSession((st) => st.address);
|
|
21170
21046
|
const { t } = useT();
|
|
21171
|
-
|
|
21172
|
-
|
|
21173
|
-
|
|
21047
|
+
(0, import_react61.useEffect)(
|
|
21048
|
+
() => (
|
|
21049
|
+
// actual height measurement of the main menu on mount. prevents layout animations jumps
|
|
21050
|
+
useLayoutDataStore.getState().setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT)
|
|
21051
|
+
),
|
|
21052
|
+
[]
|
|
21053
|
+
);
|
|
21174
21054
|
useOnboardingTourAvailable(true);
|
|
21175
21055
|
useProvidersList();
|
|
21176
|
-
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
21056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--ui-kit-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, onboardingId, label, icon: Icon2 }) => /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
|
|
21177
21057
|
Button,
|
|
21178
21058
|
{
|
|
21179
21059
|
ref: (inst) => onboarder.registerElement(onboardingId, inst),
|
|
@@ -21181,7 +21061,7 @@ function MainMenu() {
|
|
|
21181
21061
|
variant: "ghost",
|
|
21182
21062
|
disabled: !address,
|
|
21183
21063
|
className: "flex-col w-full h-fit p-0",
|
|
21184
|
-
onClick: () => setPage(id),
|
|
21064
|
+
onClick: () => useLayoutDataStore.getState().setPage(id),
|
|
21185
21065
|
children: [
|
|
21186
21066
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Icon2, { className: "w-5 h-5 md:w-8 md:h-8" }),
|
|
21187
21067
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "text-xs font-semibold", children: t(label) })
|
|
@@ -21199,6 +21079,7 @@ var init_MainMenu = __esm({
|
|
|
21199
21079
|
import_react61 = require("react");
|
|
21200
21080
|
init_constants();
|
|
21201
21081
|
init_useLayoutDataStore();
|
|
21082
|
+
init_Expandable2();
|
|
21202
21083
|
init_useProvidersList();
|
|
21203
21084
|
init_Onboarding();
|
|
21204
21085
|
init_button();
|
|
@@ -21570,20 +21451,6 @@ var init_NicknameEditForm = __esm({
|
|
|
21570
21451
|
}
|
|
21571
21452
|
});
|
|
21572
21453
|
|
|
21573
|
-
// src/internal/components/NicknameMenu/onboarding.setup.ts
|
|
21574
|
-
var NICKNAME_MENU_TOUR;
|
|
21575
|
-
var init_onboarding_setup6 = __esm({
|
|
21576
|
-
"src/internal/components/NicknameMenu/onboarding.setup.ts"() {
|
|
21577
|
-
NICKNAME_MENU_TOUR = [
|
|
21578
|
-
{
|
|
21579
|
-
elId: "embarkai-nickname-menu-onboarding" /* nicknameMenu */,
|
|
21580
|
-
title: "passport:nicknameMenu.onboarding.nicknameMenu.title",
|
|
21581
|
-
description: "passport:nicknameMenu.onboarding.nicknameMenu.description"
|
|
21582
|
-
}
|
|
21583
|
-
];
|
|
21584
|
-
}
|
|
21585
|
-
});
|
|
21586
|
-
|
|
21587
21454
|
// src/internal/components/NicknameMenu/NicknameMenu.tsx
|
|
21588
21455
|
function NicknameMenu() {
|
|
21589
21456
|
const { isInitialUser } = usePageParams().current;
|
|
@@ -21605,79 +21472,71 @@ function NicknameMenu() {
|
|
|
21605
21472
|
});
|
|
21606
21473
|
const resolvedError = nicknameError || nicknameInfoError?.message || null;
|
|
21607
21474
|
(0, import_react64.useEffect)(() => () => useNicknameStore.getState().reset(), []);
|
|
21608
|
-
return /* @__PURE__ */ (0, import_jsx_runtime92.
|
|
21609
|
-
"div",
|
|
21610
|
-
|
|
21611
|
-
|
|
21612
|
-
|
|
21613
|
-
|
|
21614
|
-
|
|
21615
|
-
|
|
21616
|
-
|
|
21617
|
-
|
|
21618
|
-
|
|
21619
|
-
|
|
21620
|
-
|
|
21621
|
-
|
|
21622
|
-
|
|
21623
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react51.ArrowLeft, { className: "h-4 w-4 flex-none" })
|
|
21624
|
-
}
|
|
21625
|
-
),
|
|
21626
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: "flex gap-[var(--ui-kit-gap)] items-center w-fit", children: [
|
|
21627
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "text-xl font-semibold", children: t("passport:nicknameMenu.title") }),
|
|
21628
|
-
isNicknameInfoLoading && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react51.Loader, { className: "w-4 h-4 animate-spin" })
|
|
21629
|
-
] })
|
|
21630
|
-
] }),
|
|
21631
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(NicknameEditForm, { nicknameInfo, isInitialUser }),
|
|
21632
|
-
!nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Highlight, { type: "info", children: t("passport:nicknameMenu.cooldownMessage", {
|
|
21633
|
-
canChangeAt: (0, import_dayjs4.default)(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
|
|
21634
|
-
days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
|
|
21635
|
-
}) }),
|
|
21636
|
-
!nicknameSuccess && !!nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
|
|
21637
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("span", { children: [
|
|
21638
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: nicknameInfo.changedAt ? t("passport:nicknameMenu.lastChanged") : t("passport:common.created") }),
|
|
21639
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { children: ": " }),
|
|
21640
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("strong", { className: "text-[var(--ui-kit-fg)]", children: (0, import_dayjs4.default)(nicknameInfo.changedAt || nicknameInfo.createdAt).format("MMM D, YYYY") })
|
|
21641
|
-
] }),
|
|
21642
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("span", { children: [
|
|
21643
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.timesChanged") }),
|
|
21644
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { children: ": " }),
|
|
21645
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
|
|
21646
|
-
] })
|
|
21647
|
-
] }),
|
|
21648
|
-
!!nicknameSuccess && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Highlight, { type: "success", children: nicknameSuccess }),
|
|
21649
|
-
isInitialUser && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Highlight, { type: "success", children: [
|
|
21650
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", {
|
|
21651
|
-
//@ts-expect-error i18n typings
|
|
21652
|
-
children: t("passport:nicknameMenu.initialUser.welcome", {
|
|
21653
|
-
nickname: nicknameInfo?.handle || "N/A"
|
|
21654
|
-
})
|
|
21655
|
-
}),
|
|
21656
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", { children: t("passport:nicknameMenu.initialUser.message") }),
|
|
21657
|
-
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
|
|
21658
|
-
Button,
|
|
21659
|
-
{
|
|
21660
|
-
variant: "default",
|
|
21661
|
-
size: "large",
|
|
21662
|
-
title: t("passport:common.continue"),
|
|
21663
|
-
onClick: () => {
|
|
21664
|
-
const { openPostAuthNavigation, setPage } = useLayoutDataStore.getState();
|
|
21665
|
-
if (!openPostAuthNavigation()) setPage(null);
|
|
21666
|
-
},
|
|
21667
|
-
className: "w-full",
|
|
21668
|
-
children: [
|
|
21669
|
-
t("passport:common.continue"),
|
|
21670
|
-
" (",
|
|
21671
|
-
nicknameInfo?.handle,
|
|
21672
|
-
")"
|
|
21673
|
-
]
|
|
21674
|
-
}
|
|
21675
|
-
)
|
|
21676
|
-
] }),
|
|
21677
|
-
!!resolvedError?.length && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Highlight, { type: "error", children: resolvedError })
|
|
21475
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21476
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] ", children: [
|
|
21477
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
21478
|
+
Button,
|
|
21479
|
+
{
|
|
21480
|
+
variant: "ghost",
|
|
21481
|
+
size: "icon",
|
|
21482
|
+
title: t("passport:common.back"),
|
|
21483
|
+
onClick: () => useLayoutDataStore.getState().setPage("settings" /* SETTINGS */),
|
|
21484
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react51.ArrowLeft, { className: "h-4 w-4 flex-none" })
|
|
21485
|
+
}
|
|
21486
|
+
),
|
|
21487
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: "flex gap-[var(--ui-kit-gap)] items-center w-fit", children: [
|
|
21488
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "text-xl font-semibold", children: t("passport:nicknameMenu.title") }),
|
|
21489
|
+
isNicknameInfoLoading && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react51.Loader, { className: "w-4 h-4 animate-spin" })
|
|
21678
21490
|
] })
|
|
21679
|
-
}
|
|
21680
|
-
|
|
21491
|
+
] }),
|
|
21492
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(NicknameEditForm, { nicknameInfo, isInitialUser }),
|
|
21493
|
+
!nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Highlight, { type: "info", children: t("passport:nicknameMenu.cooldownMessage", {
|
|
21494
|
+
canChangeAt: (0, import_dayjs4.default)(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
|
|
21495
|
+
days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
|
|
21496
|
+
}) }),
|
|
21497
|
+
!nicknameSuccess && !!nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
|
|
21498
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("span", { children: [
|
|
21499
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: nicknameInfo.changedAt ? t("passport:nicknameMenu.lastChanged") : t("passport:common.created") }),
|
|
21500
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { children: ": " }),
|
|
21501
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("strong", { className: "text-[var(--ui-kit-fg)]", children: (0, import_dayjs4.default)(nicknameInfo.changedAt || nicknameInfo.createdAt).format("MMM D, YYYY") })
|
|
21502
|
+
] }),
|
|
21503
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("span", { children: [
|
|
21504
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.timesChanged") }),
|
|
21505
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { children: ": " }),
|
|
21506
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
|
|
21507
|
+
] })
|
|
21508
|
+
] }),
|
|
21509
|
+
!!nicknameSuccess && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Highlight, { type: "success", children: nicknameSuccess }),
|
|
21510
|
+
isInitialUser && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Highlight, { type: "success", children: [
|
|
21511
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", {
|
|
21512
|
+
//@ts-expect-error i18n typings
|
|
21513
|
+
children: t("passport:nicknameMenu.initialUser.welcome", {
|
|
21514
|
+
nickname: nicknameInfo?.handle || "N/A"
|
|
21515
|
+
})
|
|
21516
|
+
}),
|
|
21517
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", { children: t("passport:nicknameMenu.initialUser.message") }),
|
|
21518
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
|
|
21519
|
+
Button,
|
|
21520
|
+
{
|
|
21521
|
+
variant: "default",
|
|
21522
|
+
size: "large",
|
|
21523
|
+
title: t("passport:common.continue"),
|
|
21524
|
+
onClick: () => {
|
|
21525
|
+
const { openPostAuthNavigation, setPage } = useLayoutDataStore.getState();
|
|
21526
|
+
if (!openPostAuthNavigation()) setPage(null);
|
|
21527
|
+
},
|
|
21528
|
+
className: "w-full",
|
|
21529
|
+
children: [
|
|
21530
|
+
t("passport:common.continue"),
|
|
21531
|
+
" (",
|
|
21532
|
+
nicknameInfo?.handle,
|
|
21533
|
+
")"
|
|
21534
|
+
]
|
|
21535
|
+
}
|
|
21536
|
+
)
|
|
21537
|
+
] }),
|
|
21538
|
+
!!resolvedError?.length && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Highlight, { type: "error", children: resolvedError })
|
|
21539
|
+
] });
|
|
21681
21540
|
}
|
|
21682
21541
|
var import_react_query35, import_dayjs4, import_lucide_react51, import_react64, import_jsx_runtime92;
|
|
21683
21542
|
var init_NicknameMenu = __esm({
|
|
@@ -21704,6 +21563,21 @@ var init_NicknameMenu = __esm({
|
|
|
21704
21563
|
}
|
|
21705
21564
|
});
|
|
21706
21565
|
|
|
21566
|
+
// src/internal/components/NicknameMenu/onboarding.setup.ts
|
|
21567
|
+
var NICKNAME_MENU_TOUR;
|
|
21568
|
+
var init_onboarding_setup6 = __esm({
|
|
21569
|
+
"src/internal/components/NicknameMenu/onboarding.setup.ts"() {
|
|
21570
|
+
init_constants();
|
|
21571
|
+
NICKNAME_MENU_TOUR = [
|
|
21572
|
+
{
|
|
21573
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"nickname-settings" /* NICKNAME_SETTINGS */}`,
|
|
21574
|
+
title: "passport:nicknameMenu.onboarding.nicknameMenu.title",
|
|
21575
|
+
description: "passport:nicknameMenu.onboarding.nicknameMenu.description"
|
|
21576
|
+
}
|
|
21577
|
+
];
|
|
21578
|
+
}
|
|
21579
|
+
});
|
|
21580
|
+
|
|
21707
21581
|
// src/internal/components/NicknameMenu/index.ts
|
|
21708
21582
|
var init_NicknameMenu2 = __esm({
|
|
21709
21583
|
"src/internal/components/NicknameMenu/index.ts"() {
|
|
@@ -22609,7 +22483,6 @@ function PortfolioMenu() {
|
|
|
22609
22483
|
const { t } = useT();
|
|
22610
22484
|
const qc = (0, import_react_query40.useQueryClient)();
|
|
22611
22485
|
const address = useSession((st) => st.address);
|
|
22612
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
22613
22486
|
const {
|
|
22614
22487
|
assets: blockscoutAssets,
|
|
22615
22488
|
refreshBalances: refreshBlockscoutBalances,
|
|
@@ -22626,57 +22499,47 @@ function PortfolioMenu() {
|
|
|
22626
22499
|
Promise.all(shownProjectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
22627
22500
|
refreshBlockscoutBalances();
|
|
22628
22501
|
}, [qc, shownProjectAssets, refreshBlockscoutBalances]);
|
|
22629
|
-
return /* @__PURE__ */ (0, import_jsx_runtime95.
|
|
22630
|
-
"div",
|
|
22631
|
-
|
|
22632
|
-
|
|
22633
|
-
|
|
22634
|
-
|
|
22502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22503
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
22504
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
22505
|
+
Button,
|
|
22506
|
+
{
|
|
22507
|
+
variant: "ghost",
|
|
22508
|
+
size: "icon",
|
|
22509
|
+
title: "Back",
|
|
22510
|
+
onClick: () => useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */),
|
|
22511
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.ArrowLeft, { className: "h-4 w-4" })
|
|
22512
|
+
}
|
|
22513
|
+
),
|
|
22514
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "text-xl font-semibold", children: t("passport:portfolioMenu.title") }),
|
|
22515
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
22516
|
+
Button,
|
|
22517
|
+
{
|
|
22518
|
+
title: "Refresh balances",
|
|
22519
|
+
variant: "ghost",
|
|
22520
|
+
size: "icon",
|
|
22521
|
+
onClick: refreshAllAssetsBalances,
|
|
22522
|
+
disabled: isBlockscoutLoading || isBlockscoutFetching,
|
|
22523
|
+
children: isBlockscoutLoading || isBlockscoutFetching ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.RefreshCw, { className: "h-4 w-4" })
|
|
22524
|
+
}
|
|
22525
|
+
)
|
|
22526
|
+
] }),
|
|
22527
|
+
isBlockscoutLoading && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "w-full flex items-center justify-center gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.Loader, { className: "w-4 h-4 animate-spin" }) }),
|
|
22528
|
+
!isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--ui-kit-gap)]", children: [
|
|
22529
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.Gem, { className: "w-8 h-8" }),
|
|
22530
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "block", children: t("passport:portfolioMenu.noAssets") })
|
|
22531
|
+
] }),
|
|
22532
|
+
!isBlockscoutLoading && shownProjectAssets?.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
|
|
22533
|
+
!isBlockscoutLoading && blockscoutAssets?.length > 0 && blockscoutAssets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
22534
|
+
PortfolioItem,
|
|
22535
|
+
{
|
|
22536
|
+
address,
|
|
22537
|
+
asset
|
|
22635
22538
|
},
|
|
22636
|
-
|
|
22637
|
-
|
|
22638
|
-
|
|
22639
|
-
|
|
22640
|
-
Button,
|
|
22641
|
-
{
|
|
22642
|
-
variant: "ghost",
|
|
22643
|
-
size: "icon",
|
|
22644
|
-
title: "Back",
|
|
22645
|
-
onClick: () => useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */),
|
|
22646
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.ArrowLeft, { className: "h-4 w-4" })
|
|
22647
|
-
}
|
|
22648
|
-
),
|
|
22649
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "text-xl font-semibold", children: t("passport:portfolioMenu.title") }),
|
|
22650
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
22651
|
-
Button,
|
|
22652
|
-
{
|
|
22653
|
-
title: "Refresh balances",
|
|
22654
|
-
variant: "ghost",
|
|
22655
|
-
size: "icon",
|
|
22656
|
-
onClick: refreshAllAssetsBalances,
|
|
22657
|
-
disabled: isBlockscoutLoading || isBlockscoutFetching,
|
|
22658
|
-
children: isBlockscoutLoading || isBlockscoutFetching ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.RefreshCw, { className: "h-4 w-4" })
|
|
22659
|
-
}
|
|
22660
|
-
)
|
|
22661
|
-
] }),
|
|
22662
|
-
isBlockscoutLoading && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "w-full flex items-center justify-center gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.Loader, { className: "w-4 h-4 animate-spin" }) }),
|
|
22663
|
-
!isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--ui-kit-gap)]", children: [
|
|
22664
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_lucide_react53.Gem, { className: "w-8 h-8" }),
|
|
22665
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "block", children: t("passport:portfolioMenu.noAssets") })
|
|
22666
|
-
] }),
|
|
22667
|
-
!isBlockscoutLoading && shownProjectAssets?.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
|
|
22668
|
-
!isBlockscoutLoading && blockscoutAssets?.length > 0 && blockscoutAssets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
22669
|
-
PortfolioItem,
|
|
22670
|
-
{
|
|
22671
|
-
address,
|
|
22672
|
-
asset
|
|
22673
|
-
},
|
|
22674
|
-
`${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
|
|
22675
|
-
)),
|
|
22676
|
-
blockscoutError && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Highlight, { type: "error", children: blockscoutError?.message })
|
|
22677
|
-
] })
|
|
22678
|
-
}
|
|
22679
|
-
);
|
|
22539
|
+
`${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
|
|
22540
|
+
)),
|
|
22541
|
+
blockscoutError && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Highlight, { type: "error", children: blockscoutError?.message })
|
|
22542
|
+
] });
|
|
22680
22543
|
}
|
|
22681
22544
|
var import_react_query40, import_lucide_react53, import_react69, import_jsx_runtime95;
|
|
22682
22545
|
var init_PortfolioMenu = __esm({
|
|
@@ -22689,7 +22552,6 @@ var init_PortfolioMenu = __esm({
|
|
|
22689
22552
|
import_react69 = require("react");
|
|
22690
22553
|
init_useBlockscoutAssets2();
|
|
22691
22554
|
init_useLayoutDataStore();
|
|
22692
|
-
init_useLayoutStore();
|
|
22693
22555
|
init_Expandable2();
|
|
22694
22556
|
init_button();
|
|
22695
22557
|
init_highlight();
|
|
@@ -22785,21 +22647,6 @@ var init_nickname_fingerprint = __esm({
|
|
|
22785
22647
|
}
|
|
22786
22648
|
});
|
|
22787
22649
|
|
|
22788
|
-
// src/internal/components/ReceiveMenu/onboarding.setup.ts
|
|
22789
|
-
var RECEIVE_MENU_ONBOARDING_ID, RECEIVE_MENU_TOUR;
|
|
22790
|
-
var init_onboarding_setup7 = __esm({
|
|
22791
|
-
"src/internal/components/ReceiveMenu/onboarding.setup.ts"() {
|
|
22792
|
-
RECEIVE_MENU_ONBOARDING_ID = "embarkai-receive-menu-onboarding";
|
|
22793
|
-
RECEIVE_MENU_TOUR = [
|
|
22794
|
-
{
|
|
22795
|
-
elId: RECEIVE_MENU_ONBOARDING_ID,
|
|
22796
|
-
title: "passport:receiveMenu.onboarding.receiveMenu.title",
|
|
22797
|
-
description: "passport:receiveMenu.onboarding.receiveMenu.description"
|
|
22798
|
-
}
|
|
22799
|
-
];
|
|
22800
|
-
}
|
|
22801
|
-
});
|
|
22802
|
-
|
|
22803
22650
|
// src/internal/components/ReceiveMenu/ReceiveMenu.tsx
|
|
22804
22651
|
function ReceiveMenu() {
|
|
22805
22652
|
const { t } = useT();
|
|
@@ -22812,7 +22659,6 @@ function ReceiveMenu() {
|
|
|
22812
22659
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
22813
22660
|
queryFn: async () => await getNicknameInfo()
|
|
22814
22661
|
});
|
|
22815
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
22816
22662
|
const [qrCodeUrl, setQrCodeUrl] = (0, import_react70.useState)("");
|
|
22817
22663
|
const [isAddressCopied, setAddressCopied] = (0, import_react70.useState)(false);
|
|
22818
22664
|
const [isNicknameCopied, setNicknameCopied] = (0, import_react70.useState)(false);
|
|
@@ -22834,107 +22680,96 @@ function ReceiveMenu() {
|
|
|
22834
22680
|
color: { dark: "#000000", light: "#ffffff" }
|
|
22835
22681
|
}).then((url) => setQrCodeUrl(url)).catch((err) => console.error("Failed to generate QR code:", err));
|
|
22836
22682
|
}, [address]);
|
|
22837
|
-
return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
22838
|
-
"div",
|
|
22839
|
-
|
|
22840
|
-
|
|
22841
|
-
|
|
22842
|
-
|
|
22843
|
-
|
|
22844
|
-
|
|
22845
|
-
|
|
22846
|
-
|
|
22847
|
-
|
|
22848
|
-
|
|
22849
|
-
|
|
22850
|
-
|
|
22851
|
-
|
|
22852
|
-
|
|
22853
|
-
|
|
22854
|
-
|
|
22855
|
-
|
|
22856
|
-
|
|
22857
|
-
|
|
22858
|
-
|
|
22859
|
-
|
|
22860
|
-
|
|
22861
|
-
|
|
22862
|
-
|
|
22863
|
-
|
|
22864
|
-
|
|
22865
|
-
|
|
22866
|
-
|
|
22867
|
-
|
|
22868
|
-
|
|
22869
|
-
|
|
22870
|
-
|
|
22871
|
-
|
|
22872
|
-
|
|
22873
|
-
|
|
22874
|
-
|
|
22875
|
-
|
|
22876
|
-
|
|
22877
|
-
|
|
22878
|
-
|
|
22879
|
-
|
|
22880
|
-
|
|
22881
|
-
|
|
22882
|
-
|
|
22883
|
-
|
|
22884
|
-
|
|
22885
|
-
|
|
22886
|
-
|
|
22887
|
-
|
|
22888
|
-
|
|
22889
|
-
|
|
22890
|
-
)
|
|
22891
|
-
|
|
22892
|
-
|
|
22893
|
-
|
|
22894
|
-
|
|
22895
|
-
|
|
22896
|
-
|
|
22897
|
-
|
|
22898
|
-
|
|
22899
|
-
|
|
22900
|
-
const nickname = nicknameInfo.handle;
|
|
22901
|
-
navigator.clipboard.writeText(nickname);
|
|
22902
|
-
setNicknameCopied(true);
|
|
22903
|
-
setTimeout(() => setNicknameCopied(false), 2e3);
|
|
22904
|
-
},
|
|
22905
|
-
children: isNicknameInfoLoading ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.LoaderIcon, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_jsx_runtime96.Fragment, { children: [
|
|
22906
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.AtSignIcon, { className: "h-4 w-4 flex-none" }),
|
|
22907
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: cn2("text-xs flex-1", { "text-[var(--ui-kit-bg-success)]": isNicknameCopied }), children: nicknameInfo.handle }),
|
|
22908
|
-
isNicknameCopied ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.CheckCircle2, { className: "h-4 w-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.Copy, { className: "h-4 w-4 flex-none" })
|
|
22909
|
-
] })
|
|
22910
|
-
}
|
|
22911
|
-
),
|
|
22912
|
-
fingerprint && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_jsx_runtime96.Fragment, { children: [
|
|
22913
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.identity") }),
|
|
22914
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
22915
|
-
Button,
|
|
22916
|
-
{
|
|
22917
|
-
title: "Copy fingerprint",
|
|
22918
|
-
variant: "secondary",
|
|
22919
|
-
size: "medium",
|
|
22920
|
-
className: "w-full justify-between",
|
|
22921
|
-
onClick: () => {
|
|
22922
|
-
if (!fingerprint) return;
|
|
22923
|
-
navigator.clipboard.writeText(fingerprint);
|
|
22924
|
-
setFingerprintCopied(true);
|
|
22925
|
-
setTimeout(() => setFingerprintCopied(false), 2e3);
|
|
22926
|
-
},
|
|
22927
|
-
children: [
|
|
22928
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.FingerprintIcon, { className: "w-4 h-4 flex-none" }),
|
|
22929
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: cn2("text-xs font-bold flex-1", { "text-[var(--ui-kit-bg-success)]": fingerprintCopied }), children: fingerprint }),
|
|
22930
|
-
fingerprintCopied ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.CheckCircle2, { className: "w-4 h-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.Copy, { className: "w-4 h-4 flex-none" })
|
|
22931
|
-
]
|
|
22932
|
-
}
|
|
22933
|
-
)
|
|
22683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22684
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
22685
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
22686
|
+
Button,
|
|
22687
|
+
{
|
|
22688
|
+
variant: "ghost",
|
|
22689
|
+
size: "icon",
|
|
22690
|
+
title: "Back",
|
|
22691
|
+
onClick: () => useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */),
|
|
22692
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.ArrowLeft, { className: "h-4 w-4" })
|
|
22693
|
+
}
|
|
22694
|
+
),
|
|
22695
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "text-xl font-semibold", children: t("passport:receiveMenu.title") })
|
|
22696
|
+
] }),
|
|
22697
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.scanQR") }),
|
|
22698
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(Highlight, { className: "text-center", type: "warning", children: [
|
|
22699
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("strong", { className: "block w-full", children: `${t("passport:common.network")}: ${chainConfig.name}` }),
|
|
22700
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "block w-full", children: t("passport:receiveMenu.warning") })
|
|
22701
|
+
] }),
|
|
22702
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "flex items-center justify-center p-[var(--ui-kit-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) }),
|
|
22703
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.address") }),
|
|
22704
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
22705
|
+
Button,
|
|
22706
|
+
{
|
|
22707
|
+
title: "Copy address",
|
|
22708
|
+
variant: "secondary",
|
|
22709
|
+
size: "medium",
|
|
22710
|
+
className: "w-full",
|
|
22711
|
+
onClick: () => {
|
|
22712
|
+
if (!address) return;
|
|
22713
|
+
navigator.clipboard.writeText(address);
|
|
22714
|
+
setAddressCopied(true);
|
|
22715
|
+
setTimeout(() => setAddressCopied(false), 2e3);
|
|
22716
|
+
},
|
|
22717
|
+
children: [
|
|
22718
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.Wallet2Icon, { className: "h-4 w-4 flex-none" }),
|
|
22719
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("span", { className: cn2("text-[10px] flex-1 block", { "text-[var(--ui-kit-bg-success)]": isAddressCopied }), children: [
|
|
22720
|
+
address.slice(0, 10),
|
|
22721
|
+
"...",
|
|
22722
|
+
address.slice(-6)
|
|
22723
|
+
] }),
|
|
22724
|
+
isAddressCopied ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.CheckCircle2, { className: "h-4 w-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.Copy, { className: "h-4 w-4 flex-none" })
|
|
22725
|
+
]
|
|
22726
|
+
}
|
|
22727
|
+
),
|
|
22728
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.nickname") }),
|
|
22729
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
22730
|
+
Button,
|
|
22731
|
+
{
|
|
22732
|
+
title: "Copy nickname",
|
|
22733
|
+
variant: "secondary",
|
|
22734
|
+
size: "medium",
|
|
22735
|
+
className: "w-full",
|
|
22736
|
+
onClick: () => {
|
|
22737
|
+
const nickname = nicknameInfo.handle;
|
|
22738
|
+
navigator.clipboard.writeText(nickname);
|
|
22739
|
+
setNicknameCopied(true);
|
|
22740
|
+
setTimeout(() => setNicknameCopied(false), 2e3);
|
|
22741
|
+
},
|
|
22742
|
+
children: isNicknameInfoLoading ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.LoaderIcon, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_jsx_runtime96.Fragment, { children: [
|
|
22743
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.AtSignIcon, { className: "h-4 w-4 flex-none" }),
|
|
22744
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: cn2("text-xs flex-1", { "text-[var(--ui-kit-bg-success)]": isNicknameCopied }), children: nicknameInfo.handle }),
|
|
22745
|
+
isNicknameCopied ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.CheckCircle2, { className: "h-4 w-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.Copy, { className: "h-4 w-4 flex-none" })
|
|
22934
22746
|
] })
|
|
22935
|
-
|
|
22936
|
-
|
|
22937
|
-
|
|
22747
|
+
}
|
|
22748
|
+
),
|
|
22749
|
+
fingerprint && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_jsx_runtime96.Fragment, { children: [
|
|
22750
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.identity") }),
|
|
22751
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
22752
|
+
Button,
|
|
22753
|
+
{
|
|
22754
|
+
title: "Copy fingerprint",
|
|
22755
|
+
variant: "secondary",
|
|
22756
|
+
size: "medium",
|
|
22757
|
+
className: "w-full justify-between",
|
|
22758
|
+
onClick: () => {
|
|
22759
|
+
if (!fingerprint) return;
|
|
22760
|
+
navigator.clipboard.writeText(fingerprint);
|
|
22761
|
+
setFingerprintCopied(true);
|
|
22762
|
+
setTimeout(() => setFingerprintCopied(false), 2e3);
|
|
22763
|
+
},
|
|
22764
|
+
children: [
|
|
22765
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.FingerprintIcon, { className: "w-4 h-4 flex-none" }),
|
|
22766
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: cn2("text-xs font-bold flex-1", { "text-[var(--ui-kit-bg-success)]": fingerprintCopied }), children: fingerprint }),
|
|
22767
|
+
fingerprintCopied ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.CheckCircle2, { className: "w-4 h-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react54.Copy, { className: "w-4 h-4 flex-none" })
|
|
22768
|
+
]
|
|
22769
|
+
}
|
|
22770
|
+
)
|
|
22771
|
+
] })
|
|
22772
|
+
] });
|
|
22938
22773
|
}
|
|
22939
22774
|
var import_react_query41, import_lucide_react54, import_qrcode, import_react70, import_jsx_runtime96;
|
|
22940
22775
|
var init_ReceiveMenu = __esm({
|
|
@@ -22948,17 +22783,31 @@ var init_ReceiveMenu = __esm({
|
|
|
22948
22783
|
init_nickname();
|
|
22949
22784
|
init_profile();
|
|
22950
22785
|
init_useLayoutDataStore();
|
|
22951
|
-
init_useLayoutStore();
|
|
22952
22786
|
init_nickname_fingerprint();
|
|
22953
22787
|
init_utils();
|
|
22788
|
+
init_Expandable2();
|
|
22954
22789
|
init_Onboarding();
|
|
22955
22790
|
init_button();
|
|
22956
22791
|
init_highlight();
|
|
22957
|
-
init_onboarding_setup7();
|
|
22958
22792
|
import_jsx_runtime96 = require("react/jsx-runtime");
|
|
22959
22793
|
}
|
|
22960
22794
|
});
|
|
22961
22795
|
|
|
22796
|
+
// src/internal/components/ReceiveMenu/onboarding.setup.ts
|
|
22797
|
+
var RECEIVE_MENU_TOUR;
|
|
22798
|
+
var init_onboarding_setup7 = __esm({
|
|
22799
|
+
"src/internal/components/ReceiveMenu/onboarding.setup.ts"() {
|
|
22800
|
+
init_constants();
|
|
22801
|
+
RECEIVE_MENU_TOUR = [
|
|
22802
|
+
{
|
|
22803
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"receive" /* RECEIVE */}`,
|
|
22804
|
+
title: "passport:receiveMenu.onboarding.receiveMenu.title",
|
|
22805
|
+
description: "passport:receiveMenu.onboarding.receiveMenu.description"
|
|
22806
|
+
}
|
|
22807
|
+
];
|
|
22808
|
+
}
|
|
22809
|
+
});
|
|
22810
|
+
|
|
22962
22811
|
// src/internal/components/ReceiveMenu/index.ts
|
|
22963
22812
|
var init_ReceiveMenu2 = __esm({
|
|
22964
22813
|
"src/internal/components/ReceiveMenu/index.ts"() {
|
|
@@ -22971,9 +22820,10 @@ var init_ReceiveMenu2 = __esm({
|
|
|
22971
22820
|
var SECURITY_MENU_TOUR;
|
|
22972
22821
|
var init_onboarding_setup8 = __esm({
|
|
22973
22822
|
"src/internal/components/SecurityMenu/onboarding.setup.ts"() {
|
|
22823
|
+
init_constants();
|
|
22974
22824
|
SECURITY_MENU_TOUR = [
|
|
22975
22825
|
{
|
|
22976
|
-
elId: "
|
|
22826
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"security" /* SECURITY */}`,
|
|
22977
22827
|
title: "passport:securityMenu.onboarding.securityMenu.title",
|
|
22978
22828
|
description: "passport:securityMenu.onboarding.securityMenu.description"
|
|
22979
22829
|
},
|
|
@@ -23087,8 +22937,8 @@ function Application(props) {
|
|
|
23087
22937
|
"p-2 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-secondary)]",
|
|
23088
22938
|
{
|
|
23089
22939
|
"cursor-default": !appUrl,
|
|
23090
|
-
"cursor-pointer transition-
|
|
23091
|
-
"hover:
|
|
22940
|
+
"cursor-pointer transition-opacity duration-200": !!appUrl,
|
|
22941
|
+
"hover:opacity-80 active:opacity-60": !!appUrl
|
|
23092
22942
|
}
|
|
23093
22943
|
),
|
|
23094
22944
|
onClick: () => {
|
|
@@ -23590,47 +23440,35 @@ var init_Keyshare2 = __esm({
|
|
|
23590
23440
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
23591
23441
|
function SecurityMenu() {
|
|
23592
23442
|
const { t } = useT();
|
|
23593
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
23594
23443
|
const appToUntrust = useSecurityStore((st) => st.appToUntrust);
|
|
23595
23444
|
useOnboardingTourAvailable(!appToUntrust);
|
|
23596
|
-
return /* @__PURE__ */ (0, import_jsx_runtime102.
|
|
23597
|
-
"div",
|
|
23598
|
-
|
|
23599
|
-
|
|
23600
|
-
|
|
23601
|
-
|
|
23602
|
-
|
|
23603
|
-
|
|
23604
|
-
|
|
23605
|
-
|
|
23606
|
-
|
|
23607
|
-
|
|
23608
|
-
|
|
23609
|
-
|
|
23610
|
-
variant: "ghost",
|
|
23611
|
-
size: "icon",
|
|
23612
|
-
title: t("passport:common.back"),
|
|
23613
|
-
onClick: () => {
|
|
23614
|
-
const { appToUntrust: appToUntrust2, untrustApp } = useSecurityStore.getState();
|
|
23615
|
-
if (!!appToUntrust2) {
|
|
23616
|
-
untrustApp(null);
|
|
23617
|
-
} else {
|
|
23618
|
-
useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
|
|
23619
|
-
}
|
|
23620
|
-
},
|
|
23621
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react60.ArrowLeft, { className: "h-4 w-4" })
|
|
23445
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
23446
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
23447
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
23448
|
+
Button,
|
|
23449
|
+
{
|
|
23450
|
+
variant: "ghost",
|
|
23451
|
+
size: "icon",
|
|
23452
|
+
title: t("passport:common.back"),
|
|
23453
|
+
onClick: () => {
|
|
23454
|
+
const { appToUntrust: appToUntrust2, untrustApp } = useSecurityStore.getState();
|
|
23455
|
+
if (!!appToUntrust2) {
|
|
23456
|
+
untrustApp(null);
|
|
23457
|
+
} else {
|
|
23458
|
+
useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
|
|
23622
23459
|
}
|
|
23623
|
-
|
|
23624
|
-
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
23625
|
-
|
|
23626
|
-
|
|
23627
|
-
|
|
23628
|
-
|
|
23629
|
-
|
|
23630
|
-
|
|
23631
|
-
|
|
23632
|
-
|
|
23633
|
-
|
|
23460
|
+
},
|
|
23461
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react60.ArrowLeft, { className: "h-4 w-4" })
|
|
23462
|
+
}
|
|
23463
|
+
),
|
|
23464
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)("span", { className: "text-xl font-semibold", children: t("passport:securityMenu.title") })
|
|
23465
|
+
] }),
|
|
23466
|
+
appToUntrust && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(UntrustApplication, {}),
|
|
23467
|
+
!appToUntrust && /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_jsx_runtime102.Fragment, { children: [
|
|
23468
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Keyshare, {}),
|
|
23469
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(ConnectedApps, {})
|
|
23470
|
+
] })
|
|
23471
|
+
] });
|
|
23634
23472
|
}
|
|
23635
23473
|
var import_lucide_react60, import_jsx_runtime102;
|
|
23636
23474
|
var init_SecurityMenu = __esm({
|
|
@@ -23638,7 +23476,6 @@ var init_SecurityMenu = __esm({
|
|
|
23638
23476
|
init_i18n();
|
|
23639
23477
|
import_lucide_react60 = require("lucide-react");
|
|
23640
23478
|
init_useLayoutDataStore();
|
|
23641
|
-
init_useLayoutStore();
|
|
23642
23479
|
init_Expandable2();
|
|
23643
23480
|
init_Onboarding();
|
|
23644
23481
|
init_button();
|
|
@@ -24694,6 +24531,7 @@ var init_useSendStore = __esm({
|
|
|
24694
24531
|
var TOUR_SEND_ASSET, TOUR_BRIDGE_QUOTE, SEND_MENU_TOUR, BRIDGE_MENU_TOUR;
|
|
24695
24532
|
var init_onboarding_setup9 = __esm({
|
|
24696
24533
|
"src/internal/components/SendMenu/onboarding.setup.ts"() {
|
|
24534
|
+
init_constants();
|
|
24697
24535
|
init_useBridgeStore();
|
|
24698
24536
|
init_useSendStore();
|
|
24699
24537
|
TOUR_SEND_ASSET = {
|
|
@@ -24713,7 +24551,7 @@ var init_onboarding_setup9 = __esm({
|
|
|
24713
24551
|
};
|
|
24714
24552
|
SEND_MENU_TOUR = [
|
|
24715
24553
|
{
|
|
24716
|
-
elId: "
|
|
24554
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"send" /* SEND */}`,
|
|
24717
24555
|
title: "passport:sendMenu.onboarding.sendMenu.title",
|
|
24718
24556
|
description: "passport:sendMenu.onboarding.sendMenu.description",
|
|
24719
24557
|
waitSecs: 4,
|
|
@@ -24742,7 +24580,7 @@ var init_onboarding_setup9 = __esm({
|
|
|
24742
24580
|
];
|
|
24743
24581
|
BRIDGE_MENU_TOUR = [
|
|
24744
24582
|
{
|
|
24745
|
-
elId: "
|
|
24583
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"send" /* SEND */}`,
|
|
24746
24584
|
title: "passport:bridgeMenu.onboarding.bridgeMenu.title",
|
|
24747
24585
|
description: "passport:bridgeMenu.onboarding.bridgeMenu.description",
|
|
24748
24586
|
waitSecs: 5
|
|
@@ -27403,7 +27241,6 @@ function SendFlowSelector() {
|
|
|
27403
27241
|
const { t } = useT();
|
|
27404
27242
|
const { config } = useProviderConfig();
|
|
27405
27243
|
useSendMenuParams();
|
|
27406
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
27407
27244
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
27408
27245
|
const menuTitle = useFlowSelectorStore((st) => st.menuTitle);
|
|
27409
27246
|
const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
|
|
@@ -27428,74 +27265,63 @@ function SendFlowSelector() {
|
|
|
27428
27265
|
}, []);
|
|
27429
27266
|
const isSendFlowInitialState = selectorFlow === "send" && sendStep === "input" || selectorFlow === "bridge" && bridgeStep === "select";
|
|
27430
27267
|
const isFlowSelectorButtonsShown = !!config?.current?.features?.showAssetBridge && isSendFlowInitialState;
|
|
27431
|
-
return /* @__PURE__ */ (0, import_jsx_runtime120.
|
|
27432
|
-
"div",
|
|
27433
|
-
|
|
27434
|
-
|
|
27435
|
-
|
|
27436
|
-
|
|
27437
|
-
|
|
27438
|
-
|
|
27439
|
-
|
|
27440
|
-
|
|
27441
|
-
|
|
27442
|
-
|
|
27443
|
-
|
|
27444
|
-
|
|
27445
|
-
|
|
27446
|
-
|
|
27447
|
-
|
|
27448
|
-
|
|
27449
|
-
|
|
27450
|
-
|
|
27451
|
-
|
|
27452
|
-
|
|
27453
|
-
|
|
27454
|
-
switch (bridgeStep2) {
|
|
27455
|
-
case "select":
|
|
27456
|
-
return setPage("main-menu" /* MAIN_MENU */);
|
|
27457
|
-
// case ''
|
|
27458
|
-
case "tx-history-details":
|
|
27459
|
-
return setBridgeStep("tx-history");
|
|
27460
|
-
default:
|
|
27461
|
-
return setBridgeStep("select");
|
|
27462
|
-
}
|
|
27463
|
-
}
|
|
27464
|
-
if (selectorFlow === "send") {
|
|
27465
|
-
const { txStep, setTxStep } = useSendStore.getState();
|
|
27466
|
-
switch (txStep) {
|
|
27467
|
-
case "input":
|
|
27468
|
-
return setPage("main-menu" /* MAIN_MENU */);
|
|
27469
|
-
default:
|
|
27470
|
-
return setTxStep("input");
|
|
27471
|
-
}
|
|
27472
|
-
}
|
|
27473
|
-
},
|
|
27474
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react73.ArrowLeft, { className: "h-4 w-4" })
|
|
27268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
27269
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
27270
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
27271
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
27272
|
+
Button,
|
|
27273
|
+
{
|
|
27274
|
+
variant: "ghost",
|
|
27275
|
+
size: "icon",
|
|
27276
|
+
disabled: isUiLocked,
|
|
27277
|
+
onClick: () => {
|
|
27278
|
+
useFlowSelectorStore.getState().setError(null);
|
|
27279
|
+
const { setPage } = useLayoutDataStore.getState();
|
|
27280
|
+
if (selectorFlow === "bridge") {
|
|
27281
|
+
const { bridgeStep: bridgeStep2, setBridgeStep } = useBridgeStore.getState();
|
|
27282
|
+
switch (bridgeStep2) {
|
|
27283
|
+
case "select":
|
|
27284
|
+
return setPage("main-menu" /* MAIN_MENU */);
|
|
27285
|
+
// case ''
|
|
27286
|
+
case "tx-history-details":
|
|
27287
|
+
return setBridgeStep("tx-history");
|
|
27288
|
+
default:
|
|
27289
|
+
return setBridgeStep("select");
|
|
27290
|
+
}
|
|
27475
27291
|
}
|
|
27476
|
-
|
|
27477
|
-
|
|
27478
|
-
|
|
27479
|
-
|
|
27480
|
-
|
|
27481
|
-
|
|
27482
|
-
|
|
27483
|
-
|
|
27484
|
-
|
|
27485
|
-
|
|
27486
|
-
|
|
27487
|
-
|
|
27488
|
-
|
|
27489
|
-
|
|
27490
|
-
|
|
27491
|
-
|
|
27492
|
-
|
|
27493
|
-
|
|
27494
|
-
|
|
27495
|
-
|
|
27496
|
-
|
|
27497
|
-
|
|
27498
|
-
|
|
27292
|
+
if (selectorFlow === "send") {
|
|
27293
|
+
const { txStep, setTxStep } = useSendStore.getState();
|
|
27294
|
+
switch (txStep) {
|
|
27295
|
+
case "input":
|
|
27296
|
+
return setPage("main-menu" /* MAIN_MENU */);
|
|
27297
|
+
default:
|
|
27298
|
+
return setTxStep("input");
|
|
27299
|
+
}
|
|
27300
|
+
}
|
|
27301
|
+
},
|
|
27302
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react73.ArrowLeft, { className: "h-4 w-4" })
|
|
27303
|
+
}
|
|
27304
|
+
),
|
|
27305
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "text-xl font-semibold", children: menuTitle })
|
|
27306
|
+
] }),
|
|
27307
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(BridgeHistorySwitch, {}) })
|
|
27308
|
+
] }),
|
|
27309
|
+
isFlowSelectorButtonsShown && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(SelectorFlowButtons, {}),
|
|
27310
|
+
availableFlows[selectorFlow],
|
|
27311
|
+
sendOrBridgeError && /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(Highlight, { type: "error", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
27312
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { children: sendOrBridgeError }),
|
|
27313
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
27314
|
+
Button,
|
|
27315
|
+
{
|
|
27316
|
+
variant: "default",
|
|
27317
|
+
size: "medium",
|
|
27318
|
+
className: "w-full",
|
|
27319
|
+
onClick: () => useFlowSelectorStore.getState().setError(null),
|
|
27320
|
+
children: t("passport:common.hide")
|
|
27321
|
+
}
|
|
27322
|
+
)
|
|
27323
|
+
] })
|
|
27324
|
+
] });
|
|
27499
27325
|
}
|
|
27500
27326
|
var import_lucide_react73, import_react89, import_jsx_runtime120;
|
|
27501
27327
|
var init_SendFlowSelector = __esm({
|
|
@@ -27505,7 +27331,6 @@ var init_SendFlowSelector = __esm({
|
|
|
27505
27331
|
import_lucide_react73 = require("lucide-react");
|
|
27506
27332
|
import_react89 = require("react");
|
|
27507
27333
|
init_useLayoutDataStore();
|
|
27508
|
-
init_useLayoutStore();
|
|
27509
27334
|
init_utils();
|
|
27510
27335
|
init_Expandable2();
|
|
27511
27336
|
init_Onboarding();
|
|
@@ -28180,20 +28005,6 @@ var init_api4 = __esm({
|
|
|
28180
28005
|
}
|
|
28181
28006
|
});
|
|
28182
28007
|
|
|
28183
|
-
// src/internal/components/TransactionsMenu/onboarding.setup.ts
|
|
28184
|
-
var TRANSACTIONS_MENU_TOUR;
|
|
28185
|
-
var init_onboarding_setup10 = __esm({
|
|
28186
|
-
"src/internal/components/TransactionsMenu/onboarding.setup.ts"() {
|
|
28187
|
-
TRANSACTIONS_MENU_TOUR = [
|
|
28188
|
-
{
|
|
28189
|
-
elId: "embarkai-transactions-menu-onboarding" /* transactionsMenu */,
|
|
28190
|
-
title: "passport:transactionsMenu.onboarding.transactionsMenu.title",
|
|
28191
|
-
description: "passport:transactionsMenu.onboarding.transactionsMenu.description"
|
|
28192
|
-
}
|
|
28193
|
-
];
|
|
28194
|
-
}
|
|
28195
|
-
});
|
|
28196
|
-
|
|
28197
28008
|
// src/internal/components/TransactionsMenu/utils.ts
|
|
28198
28009
|
function formatIntl(price, fractionDigits) {
|
|
28199
28010
|
const formatter = Intl.NumberFormat("en-US", {
|
|
@@ -28290,8 +28101,8 @@ function TransactionsGroup(props) {
|
|
|
28290
28101
|
onClick: () => openInExplorer2(parent.parentHash),
|
|
28291
28102
|
className: cn2(
|
|
28292
28103
|
"w-full flex flex-col gap-1 p-[var(--ui-kit-pd)] rounded-[var(--ui-kit-el-bdrs)]",
|
|
28293
|
-
"transition-
|
|
28294
|
-
"bg-[var(--ui-kit-secondary)] hover:
|
|
28104
|
+
"transition-opacity cursor-pointer",
|
|
28105
|
+
"bg-[var(--ui-kit-secondary)] hover:opacity-80 active:opacity-60"
|
|
28295
28106
|
),
|
|
28296
28107
|
children: [
|
|
28297
28108
|
/* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
@@ -28392,7 +28203,6 @@ function TransactionsMenu() {
|
|
|
28392
28203
|
const { t } = useT();
|
|
28393
28204
|
useOnboardingTourAvailable(true);
|
|
28394
28205
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
28395
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
28396
28206
|
const [expandedGroups, setExpandedGroups] = (0, import_react91.useState)({});
|
|
28397
28207
|
const historySupported = isTransactionHistorySupported(chainConfig?.id);
|
|
28398
28208
|
const {
|
|
@@ -28411,50 +28221,39 @@ function TransactionsMenu() {
|
|
|
28411
28221
|
[qc, chainConfig.id, address]
|
|
28412
28222
|
);
|
|
28413
28223
|
const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
|
|
28414
|
-
return /* @__PURE__ */ (0, import_jsx_runtime122.
|
|
28415
|
-
"div",
|
|
28416
|
-
|
|
28417
|
-
|
|
28418
|
-
|
|
28419
|
-
|
|
28420
|
-
|
|
28224
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
28225
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
28226
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
28227
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-xl font-semibold", children: t("passport:transactionsMenu.title") }),
|
|
28228
|
+
historySupported && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
28229
|
+
Button,
|
|
28230
|
+
{
|
|
28231
|
+
variant: "ghost",
|
|
28232
|
+
size: "icon",
|
|
28233
|
+
onClick: refreshTxHistory,
|
|
28234
|
+
disabled: isTxHistoryFetching,
|
|
28235
|
+
title: "Refresh transactions",
|
|
28236
|
+
children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.RefreshCw, { className: "h-4 w-4" })
|
|
28237
|
+
}
|
|
28238
|
+
)
|
|
28239
|
+
] }),
|
|
28240
|
+
!historySupported && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { children: t("passport:transactionsMenu.comingSoon") }) }),
|
|
28241
|
+
historySupported && isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.Loader, { className: "w-4 h-4 animate-spin" }) }),
|
|
28242
|
+
historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Highlight, { type: "info", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
|
|
28243
|
+
historySupported && !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
28244
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.XCircle, { className: "w-4 h-4 flex-none" }),
|
|
28245
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
|
|
28246
|
+
] }),
|
|
28247
|
+
historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
28248
|
+
TransactionsGroup,
|
|
28249
|
+
{
|
|
28250
|
+
group,
|
|
28251
|
+
expanded: expandedGroups[group.id] ?? false,
|
|
28252
|
+
onToggleExpanded: (groupId) => setExpandedGroups((prev) => ({ ...prev, [groupId]: !prev[groupId] }))
|
|
28421
28253
|
},
|
|
28422
|
-
|
|
28423
|
-
|
|
28424
|
-
|
|
28425
|
-
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
28426
|
-
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-xl font-semibold", children: t("passport:transactionsMenu.title") }),
|
|
28427
|
-
historySupported && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
28428
|
-
Button,
|
|
28429
|
-
{
|
|
28430
|
-
variant: "ghost",
|
|
28431
|
-
size: "icon",
|
|
28432
|
-
onClick: refreshTxHistory,
|
|
28433
|
-
disabled: isTxHistoryFetching,
|
|
28434
|
-
title: "Refresh transactions",
|
|
28435
|
-
children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.RefreshCw, { className: "h-4 w-4" })
|
|
28436
|
-
}
|
|
28437
|
-
)
|
|
28438
|
-
] }),
|
|
28439
|
-
!historySupported && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { children: t("passport:transactionsMenu.comingSoon") }) }),
|
|
28440
|
-
historySupported && isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.Loader, { className: "w-4 h-4 animate-spin" }) }),
|
|
28441
|
-
historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Highlight, { type: "info", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
|
|
28442
|
-
historySupported && !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
28443
|
-
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_lucide_react75.XCircle, { className: "w-4 h-4 flex-none" }),
|
|
28444
|
-
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
|
|
28445
|
-
] }),
|
|
28446
|
-
historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
28447
|
-
TransactionsGroup,
|
|
28448
|
-
{
|
|
28449
|
-
group,
|
|
28450
|
-
expanded: expandedGroups[group.id] ?? false,
|
|
28451
|
-
onToggleExpanded: (groupId) => setExpandedGroups((prev) => ({ ...prev, [groupId]: !prev[groupId] }))
|
|
28452
|
-
},
|
|
28453
|
-
group.id
|
|
28454
|
-
)) })
|
|
28455
|
-
] })
|
|
28456
|
-
}
|
|
28457
|
-
);
|
|
28254
|
+
group.id
|
|
28255
|
+
)) })
|
|
28256
|
+
] });
|
|
28458
28257
|
}
|
|
28459
28258
|
var import_react_query53, import_lucide_react75, import_react91, import_jsx_runtime122;
|
|
28460
28259
|
var init_TransactionsMenu = __esm({
|
|
@@ -28465,7 +28264,6 @@ var init_TransactionsMenu = __esm({
|
|
|
28465
28264
|
import_lucide_react75 = require("lucide-react");
|
|
28466
28265
|
import_react91 = require("react");
|
|
28467
28266
|
init_useLayoutDataStore();
|
|
28468
|
-
init_useLayoutStore();
|
|
28469
28267
|
init_Expandable2();
|
|
28470
28268
|
init_Onboarding();
|
|
28471
28269
|
init_button();
|
|
@@ -28477,6 +28275,21 @@ var init_TransactionsMenu = __esm({
|
|
|
28477
28275
|
}
|
|
28478
28276
|
});
|
|
28479
28277
|
|
|
28278
|
+
// src/internal/components/TransactionsMenu/onboarding.setup.ts
|
|
28279
|
+
var TRANSACTIONS_MENU_TOUR;
|
|
28280
|
+
var init_onboarding_setup10 = __esm({
|
|
28281
|
+
"src/internal/components/TransactionsMenu/onboarding.setup.ts"() {
|
|
28282
|
+
init_constants();
|
|
28283
|
+
TRANSACTIONS_MENU_TOUR = [
|
|
28284
|
+
{
|
|
28285
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"transactions" /* TRANSACTIONS */}`,
|
|
28286
|
+
title: "passport:transactionsMenu.onboarding.transactionsMenu.title",
|
|
28287
|
+
description: "passport:transactionsMenu.onboarding.transactionsMenu.description"
|
|
28288
|
+
}
|
|
28289
|
+
];
|
|
28290
|
+
}
|
|
28291
|
+
});
|
|
28292
|
+
|
|
28480
28293
|
// src/internal/components/TransactionsMenu/index.ts
|
|
28481
28294
|
var init_TransactionsMenu2 = __esm({
|
|
28482
28295
|
"src/internal/components/TransactionsMenu/index.ts"() {
|
|
@@ -28504,21 +28317,6 @@ var init_constants8 = __esm({
|
|
|
28504
28317
|
}
|
|
28505
28318
|
});
|
|
28506
28319
|
|
|
28507
|
-
// src/internal/components/SettingsMenu/onboarding.setup.ts
|
|
28508
|
-
var SETTINGS_MENU_ONBOARDING_ID, SETTINGS_MENU_TOUR;
|
|
28509
|
-
var init_onboarding_setup11 = __esm({
|
|
28510
|
-
"src/internal/components/SettingsMenu/onboarding.setup.ts"() {
|
|
28511
|
-
SETTINGS_MENU_ONBOARDING_ID = "embarkai-settings-menu-onboarding";
|
|
28512
|
-
SETTINGS_MENU_TOUR = [
|
|
28513
|
-
{
|
|
28514
|
-
elId: SETTINGS_MENU_ONBOARDING_ID,
|
|
28515
|
-
title: "passport:common.onboarding.settingsMenu.title",
|
|
28516
|
-
description: "passport:common.onboarding.settingsMenu.description"
|
|
28517
|
-
}
|
|
28518
|
-
];
|
|
28519
|
-
}
|
|
28520
|
-
});
|
|
28521
|
-
|
|
28522
28320
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
28523
28321
|
function useSettingsButtons(chainId) {
|
|
28524
28322
|
const config = useProviderConfig().config;
|
|
@@ -28571,41 +28369,30 @@ function SettingsMenu() {
|
|
|
28571
28369
|
queryFn: getNicknameInfo
|
|
28572
28370
|
});
|
|
28573
28371
|
const highlightedKeys = settingsNotifications.map((n) => n.target);
|
|
28574
|
-
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
28575
|
-
"div",
|
|
28576
|
-
|
|
28577
|
-
|
|
28578
|
-
|
|
28579
|
-
|
|
28580
|
-
|
|
28372
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
28373
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
28374
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_lucide_react77.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
28375
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-xl font-semibold", children: t("passport:common.settings") })
|
|
28376
|
+
] }),
|
|
28377
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: settingsButtons.map((el) => ({ ...el, onClick: () => setPage(el.id) })).map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
28378
|
+
Button,
|
|
28379
|
+
{
|
|
28380
|
+
variant: "secondary",
|
|
28381
|
+
size: "large",
|
|
28382
|
+
onClick,
|
|
28383
|
+
disabled: !address,
|
|
28384
|
+
className: cn2(
|
|
28385
|
+
"w-full items-center justify-start",
|
|
28386
|
+
highlightedKeys.includes(id) && "animate-glow-warning"
|
|
28387
|
+
),
|
|
28388
|
+
children: [
|
|
28389
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Icon2, { className: "w-4 h-4" }),
|
|
28390
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { children: t(name) })
|
|
28391
|
+
]
|
|
28581
28392
|
},
|
|
28582
|
-
|
|
28583
|
-
|
|
28584
|
-
|
|
28585
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_lucide_react77.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
28586
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-xl font-semibold", children: t("passport:common.settings") })
|
|
28587
|
-
] }),
|
|
28588
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: settingsButtons.map((el) => ({ ...el, onClick: () => setPage(el.id) })).map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
28589
|
-
Button,
|
|
28590
|
-
{
|
|
28591
|
-
variant: "secondary",
|
|
28592
|
-
size: "large",
|
|
28593
|
-
onClick,
|
|
28594
|
-
disabled: !address,
|
|
28595
|
-
className: cn2(
|
|
28596
|
-
"w-full items-center justify-start",
|
|
28597
|
-
highlightedKeys.includes(id) && "animate-glow-warning"
|
|
28598
|
-
),
|
|
28599
|
-
children: [
|
|
28600
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Icon2, { className: "w-4 h-4" }),
|
|
28601
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { children: t(name) })
|
|
28602
|
-
]
|
|
28603
|
-
},
|
|
28604
|
-
id
|
|
28605
|
-
)) })
|
|
28606
|
-
]
|
|
28607
|
-
}
|
|
28608
|
-
);
|
|
28393
|
+
id
|
|
28394
|
+
)) })
|
|
28395
|
+
] });
|
|
28609
28396
|
}
|
|
28610
28397
|
var import_react_query54, import_lucide_react77, import_react92, import_jsx_runtime123;
|
|
28611
28398
|
var init_SettingsMenu = __esm({
|
|
@@ -28622,16 +28409,31 @@ var init_SettingsMenu = __esm({
|
|
|
28622
28409
|
init_useLayoutStore();
|
|
28623
28410
|
init_pro_mode();
|
|
28624
28411
|
init_utils();
|
|
28412
|
+
init_Expandable2();
|
|
28625
28413
|
init_useProvidersList();
|
|
28626
28414
|
init_Onboarding();
|
|
28627
28415
|
init_TransactionsMenu2();
|
|
28628
28416
|
init_button();
|
|
28629
28417
|
init_constants8();
|
|
28630
|
-
init_onboarding_setup11();
|
|
28631
28418
|
import_jsx_runtime123 = require("react/jsx-runtime");
|
|
28632
28419
|
}
|
|
28633
28420
|
});
|
|
28634
28421
|
|
|
28422
|
+
// src/internal/components/SettingsMenu/onboarding.setup.ts
|
|
28423
|
+
var SETTINGS_MENU_TOUR;
|
|
28424
|
+
var init_onboarding_setup11 = __esm({
|
|
28425
|
+
"src/internal/components/SettingsMenu/onboarding.setup.ts"() {
|
|
28426
|
+
init_constants();
|
|
28427
|
+
SETTINGS_MENU_TOUR = [
|
|
28428
|
+
{
|
|
28429
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"settings" /* SETTINGS */}`,
|
|
28430
|
+
title: "passport:common.onboarding.settingsMenu.title",
|
|
28431
|
+
description: "passport:common.onboarding.settingsMenu.description"
|
|
28432
|
+
}
|
|
28433
|
+
];
|
|
28434
|
+
}
|
|
28435
|
+
});
|
|
28436
|
+
|
|
28635
28437
|
// src/internal/components/SettingsMenu/index.ts
|
|
28636
28438
|
var init_SettingsMenu2 = __esm({
|
|
28637
28439
|
"src/internal/components/SettingsMenu/index.ts"() {
|
|
@@ -28853,35 +28655,25 @@ var init_PageMap = __esm({
|
|
|
28853
28655
|
// src/internal/hooks/usePageMapper.tsx
|
|
28854
28656
|
function usePageMapper() {
|
|
28855
28657
|
const page = useLayoutDataStore((st) => st.page);
|
|
28856
|
-
const {
|
|
28857
|
-
setDialogTitle,
|
|
28858
|
-
setDialogDescription,
|
|
28859
|
-
setIsDialogForced,
|
|
28860
|
-
setDialogContent,
|
|
28861
|
-
setIsDialogOpen,
|
|
28862
|
-
setIsDialogClosing
|
|
28863
|
-
} = useLayoutStore();
|
|
28864
28658
|
const closeDialog = (0, import_react93.useCallback)(() => {
|
|
28865
|
-
|
|
28659
|
+
useLayoutStore.setState({ isDialogAnimating: true });
|
|
28866
28660
|
setTimeout(() => {
|
|
28867
|
-
|
|
28868
|
-
|
|
28869
|
-
|
|
28870
|
-
|
|
28871
|
-
|
|
28872
|
-
|
|
28661
|
+
useLayoutStore.setState({
|
|
28662
|
+
dialogContent: null,
|
|
28663
|
+
isDialogAnimating: false,
|
|
28664
|
+
isDialogOpen: false,
|
|
28665
|
+
isDialogForced: false
|
|
28666
|
+
// closing via page === null should reset forced state
|
|
28667
|
+
});
|
|
28873
28668
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
28874
|
-
}, [
|
|
28875
|
-
const openDialog = (0, import_react93.useCallback)(
|
|
28876
|
-
(
|
|
28877
|
-
|
|
28878
|
-
|
|
28879
|
-
|
|
28880
|
-
|
|
28881
|
-
|
|
28882
|
-
},
|
|
28883
|
-
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
28884
|
-
);
|
|
28669
|
+
}, []);
|
|
28670
|
+
const openDialog = (0, import_react93.useCallback)((pageItem) => {
|
|
28671
|
+
useLayoutStore.setState({
|
|
28672
|
+
dialogContent: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(pageItem.component, {}),
|
|
28673
|
+
isDialogOpen: true
|
|
28674
|
+
// isDialogAnimating: true
|
|
28675
|
+
});
|
|
28676
|
+
}, []);
|
|
28885
28677
|
(0, import_react93.useEffect)(() => {
|
|
28886
28678
|
if (page === null) return closeDialog();
|
|
28887
28679
|
const pageItem = PAGE_MAP[page];
|
|
@@ -28952,7 +28744,7 @@ var init_package = __esm({
|
|
|
28952
28744
|
"package.json"() {
|
|
28953
28745
|
package_default = {
|
|
28954
28746
|
name: "@embarkai/ui-kit",
|
|
28955
|
-
version: "0.4.
|
|
28747
|
+
version: "0.4.94",
|
|
28956
28748
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
28957
28749
|
type: "module",
|
|
28958
28750
|
main: "./dist/index.cjs",
|
|
@@ -29215,9 +29007,9 @@ var init_Footer2 = __esm({
|
|
|
29215
29007
|
var EMBARKAI_HEADER_ONBOARDING_ID, EMBARKAI_HEADER_TOUR_BUTTON_ID, ONBOARDING_TOURS;
|
|
29216
29008
|
var init_onborading_setup = __esm({
|
|
29217
29009
|
"src/internal/components/Header/onborading.setup.ts"() {
|
|
29010
|
+
init_constants();
|
|
29218
29011
|
init_BuyMenu2();
|
|
29219
29012
|
init_ChainsMenu2();
|
|
29220
|
-
init_Dialog2();
|
|
29221
29013
|
init_Footer2();
|
|
29222
29014
|
init_KeyshareRestoreMenu2();
|
|
29223
29015
|
init_MainMenu2();
|
|
@@ -29428,7 +29220,7 @@ var init_Header2 = __esm({
|
|
|
29428
29220
|
// src/internal/components/ui/dialog.tsx
|
|
29429
29221
|
function useDecideContentStyles() {
|
|
29430
29222
|
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
29431
|
-
const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.
|
|
29223
|
+
const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogAnimating);
|
|
29432
29224
|
const mobileStyles = isMobileView ? { "--ui-kit-bdrs": "20px 20px 0px 0px" } : {};
|
|
29433
29225
|
return {
|
|
29434
29226
|
isClosing,
|
|
@@ -29614,12 +29406,10 @@ function Dialog2() {
|
|
|
29614
29406
|
const className = config.current?.ui?.dialogClassName;
|
|
29615
29407
|
const session = useSession((st) => st.session);
|
|
29616
29408
|
const hasServerVault = useSession((st) => st.hasServerVault);
|
|
29409
|
+
const { colorMode, maxScrollHeight, isDialogOpen, dialogContent, isDialogForced } = useLayoutStore();
|
|
29617
29410
|
const page = useLayoutDataStore((st) => st.page);
|
|
29618
29411
|
const transitionPageHeight = useLayoutDataStore((st) => st.transitionPageHeight);
|
|
29619
|
-
|
|
29620
|
-
const setPostAuthNavigation = useLayoutDataStore((st) => st.setPostAuthNavigation);
|
|
29621
|
-
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
29622
|
-
(0, import_react98.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
29412
|
+
(0, import_react98.useEffect)(() => useLayoutStore.setState({ isSettings: !!session }), [session]);
|
|
29623
29413
|
usePageMapper();
|
|
29624
29414
|
useAutoConnect();
|
|
29625
29415
|
useBackupStatusChanges();
|
|
@@ -29634,6 +29424,7 @@ function Dialog2() {
|
|
|
29634
29424
|
onOpenChange: (open) => {
|
|
29635
29425
|
if (isDialogForced) return;
|
|
29636
29426
|
if (!open) {
|
|
29427
|
+
const { setPostAuthNavigation, setPage } = useLayoutDataStore.getState();
|
|
29637
29428
|
setPostAuthNavigation(null);
|
|
29638
29429
|
setPage(null);
|
|
29639
29430
|
}
|
|
@@ -29645,18 +29436,29 @@ function Dialog2() {
|
|
|
29645
29436
|
colorMode,
|
|
29646
29437
|
className,
|
|
29647
29438
|
children: [
|
|
29648
|
-
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(DialogTitle, { children:
|
|
29649
|
-
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(DialogDescription, { className: "sr-only", children:
|
|
29439
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(DialogTitle, { children: "embarkAI" }) }),
|
|
29440
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(DialogDescription, { className: "sr-only", children: "embarkAI wallet" }),
|
|
29650
29441
|
!isHeaderHidden && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Header, {}),
|
|
29651
29442
|
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_react97.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
29652
29443
|
import_react97.motion.div,
|
|
29653
29444
|
{
|
|
29445
|
+
style: { overflow: "hidden" },
|
|
29654
29446
|
initial: { opacity: 0, height: transitionPageHeight },
|
|
29655
29447
|
animate: { opacity: 1, height: "auto" },
|
|
29656
29448
|
exit: { opacity: 0, height: transitionPageHeight },
|
|
29657
|
-
style: { overflow: "hidden" },
|
|
29658
29449
|
transition: Y_ANIMATION_SETUP,
|
|
29659
|
-
children:
|
|
29450
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
29451
|
+
"div",
|
|
29452
|
+
{
|
|
29453
|
+
ref: (inst) => onboarder.registerElement(`${EMBARKAI_DIALOG_ONBOARDING_ID}-${page}`, inst),
|
|
29454
|
+
style: {
|
|
29455
|
+
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
29456
|
+
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
29457
|
+
},
|
|
29458
|
+
className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
|
|
29459
|
+
children: dialogContent
|
|
29460
|
+
}
|
|
29461
|
+
)
|
|
29660
29462
|
},
|
|
29661
29463
|
page || "empty"
|
|
29662
29464
|
) }),
|
|
@@ -29667,7 +29469,7 @@ function Dialog2() {
|
|
|
29667
29469
|
}
|
|
29668
29470
|
);
|
|
29669
29471
|
}
|
|
29670
|
-
var import_react97, import_react98, import_jsx_runtime130
|
|
29472
|
+
var import_react97, import_react98, import_jsx_runtime130;
|
|
29671
29473
|
var init_Dialog = __esm({
|
|
29672
29474
|
"src/internal/components/Dialog/Dialog.tsx"() {
|
|
29673
29475
|
init_ProviderContext();
|
|
@@ -29689,7 +29491,6 @@ var init_Dialog = __esm({
|
|
|
29689
29491
|
init_dialog();
|
|
29690
29492
|
init_visually_hidden();
|
|
29691
29493
|
import_jsx_runtime130 = require("react/jsx-runtime");
|
|
29692
|
-
EMBARKAI_DIALOG_ONBOARDING_ID = "embark-main-dialog-content";
|
|
29693
29494
|
}
|
|
29694
29495
|
});
|
|
29695
29496
|
|
|
@@ -32531,7 +32332,7 @@ __export(index_exports, {
|
|
|
32531
32332
|
module.exports = __toCommonJS(index_exports);
|
|
32532
32333
|
|
|
32533
32334
|
// src/styles/built.css
|
|
32534
|
-
var built_default = `.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .sticky{position:sticky}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-1{right:.25rem}.embarkai-ui-scope .right-2{right:.5rem}.embarkai-ui-scope .right-3{right:.75rem}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1{top:.25rem}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-2{top:.5rem}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .float-right{float:right}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .ml-auto{margin-left:auto}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-0\\.5{margin-top:.125rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .table{display:table}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-8{width:2rem;height:2rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-0{height:0}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-0{width:0}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[30dvw\\]{width:30dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[60dvw\\]{width:60dvw}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-7xl{max-width:80rem}.embarkai-ui-scope .max-w-\\[100px\\]{max-width:100px}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[420px\\]{max-width:420px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary-h\\)\\]{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-10{padding-left:2.5rem;padding-right:2.5rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-4{padding-top:1rem;padding-bottom:1rem}.embarkai-ui-scope .py-8{padding-top:2rem;padding-bottom:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-top:var(--ui-kit-gap);padding-bottom:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pb-\\[var\\(--ui-kit-pd\\)\\]{padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-light{font-weight:300}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-3{line-height:.75rem}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{--tw-shadow:inset 0 0 0 1px var(--ui-kit-bd);--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--w3m-z-index:10001!important}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}@keyframes rotateShine{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.embarkai-ui-scope .button-shine-outline{position:absolute;top:0;left:0;width:100%;height:100%;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;-webkit-mask-composite:xor;mask-composite:exclude}.embarkai-ui-scope .button-shine-outline-shiner{pointer-events:none;position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:focus-within{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .hover\\:bg-\\[\\#002c15\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#081f2c\\]:hover{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:hover{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:hover{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .hover\\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:active{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover:disabled{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:hover:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:active:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:active:disabled{opacity:.5}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
|
|
32335
|
+
var built_default = `.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .sticky{position:sticky}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-1{right:.25rem}.embarkai-ui-scope .right-2{right:.5rem}.embarkai-ui-scope .right-3{right:.75rem}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1{top:.25rem}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-2{top:.5rem}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .float-right{float:right}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .ml-auto{margin-left:auto}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-0\\.5{margin-top:.125rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .table{display:table}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-8{width:2rem;height:2rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-0{height:0}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-0{width:0}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[30dvw\\]{width:30dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[60dvw\\]{width:60dvw}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-7xl{max-width:80rem}.embarkai-ui-scope .max-w-\\[100px\\]{max-width:100px}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[420px\\]{max-width:420px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-not-allowed{cursor:not-allowed}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-10{padding-left:2.5rem;padding-right:2.5rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-4{padding-top:1rem;padding-bottom:1rem}.embarkai-ui-scope .py-8{padding-top:2rem;padding-bottom:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-top:var(--ui-kit-gap);padding-bottom:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pb-\\[var\\(--ui-kit-pd\\)\\]{padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-light{font-weight:300}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-3{line-height:.75rem}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{--tw-shadow:inset 0 0 0 1px var(--ui-kit-bd);--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .ring-offset-0{--tw-ring-offset-width:0px}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--w3m-z-index:10001!important}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}@keyframes rotateShine{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.embarkai-ui-scope .button-shine-outline{position:absolute;top:0;left:0;width:100%;height:100%;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;-webkit-mask-composite:xor;mask-composite:exclude}.embarkai-ui-scope .button-shine-outline-shiner{pointer-events:none;position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:border-\\[var\\(--ui-kit-bd\\)\\]:focus-within{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .focus-within\\:opacity-100:focus-within{opacity:1}.embarkai-ui-scope .hover\\:bg-\\[\\#002c15\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#081f2c\\]:hover{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .hover\\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus-within\\:hover\\:opacity-100:hover:focus-within{opacity:1}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:hover:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:active:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:active:disabled{opacity:.5}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
|
|
32535
32336
|
|
|
32536
32337
|
// src/index.ts
|
|
32537
32338
|
var import_core10 = require("@embarkai/core");
|