@embarkai/ui-kit 0.4.90 → 0.4.92
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/README.md +2 -9
- package/dist/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +388 -324
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +270 -207
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -6012,9 +6012,9 @@ function ChainSync() {
|
|
|
6012
6012
|
const shouldSwitchRequest = !config.current?.network?.forceChain && !!config.current?.network?.autoswitch && activeChainId !== config.current?.network?.chainId;
|
|
6013
6013
|
async function showSwitchChainRequest() {
|
|
6014
6014
|
const stats = await getShareRecoveryStats();
|
|
6015
|
-
const
|
|
6015
|
+
const hasRecoveryData2 = !!stats && (!!stats.created || stats.devices && stats.devices.length > 0);
|
|
6016
6016
|
const jwt = jwtTokenManager2.getTokens();
|
|
6017
|
-
const isNewUser = !
|
|
6017
|
+
const isNewUser = !hasRecoveryData2 && !!jwt?.isNewUser;
|
|
6018
6018
|
if (isNewUser || !shouldSwitchRequest) return;
|
|
6019
6019
|
useLayoutDataStore.getState().setPage("chain-switch-request" /* CHAIN_SWITCH_REQUEST */);
|
|
6020
6020
|
}
|
|
@@ -7133,8 +7133,8 @@ function useAutoConnect() {
|
|
|
7133
7133
|
error: "No server vault found"
|
|
7134
7134
|
});
|
|
7135
7135
|
const stats = await getShareRecoveryStats2();
|
|
7136
|
-
const
|
|
7137
|
-
setHasServerVault(!!
|
|
7136
|
+
const hasRecoveryData2 = stats && (stats.created || stats.devices && stats.devices.length > 0);
|
|
7137
|
+
setHasServerVault(!!hasRecoveryData2);
|
|
7138
7138
|
useLayoutDataStore.getState().openPostAuthNavigation();
|
|
7139
7139
|
} catch (e) {
|
|
7140
7140
|
console.warn("[UI-KIT][AutoConnect] Vault status check failed:", e);
|
|
@@ -7216,59 +7216,49 @@ var init_useOpenPage = __esm({
|
|
|
7216
7216
|
});
|
|
7217
7217
|
|
|
7218
7218
|
// src/internal/hooks/useBackupStatusChanges.ts
|
|
7219
|
-
import {
|
|
7220
|
-
import { useEffect as useEffect6 } from "react";
|
|
7219
|
+
import { useEffect as useEffect6, useRef as useRef4 } from "react";
|
|
7221
7220
|
function useBackupStatusChanges() {
|
|
7222
7221
|
const { open: openPage } = useOpenPage();
|
|
7223
|
-
const
|
|
7224
|
-
|
|
7225
|
-
|
|
7226
|
-
|
|
7227
|
-
|
|
7228
|
-
|
|
7229
|
-
|
|
7230
|
-
};
|
|
7231
|
-
},
|
|
7232
|
-
onSuccess: ({ stats, detail }) => {
|
|
7222
|
+
const requestSeqRef = useRef4(0);
|
|
7223
|
+
const openPageRef = useRef4(openPage);
|
|
7224
|
+
openPageRef.current = openPage;
|
|
7225
|
+
useEffect6(() => {
|
|
7226
|
+
async function handleBackupStatusChanged(event) {
|
|
7227
|
+
const detail = event?.detail;
|
|
7228
|
+
console.log("[BACKUP STATUS] changed:", detail);
|
|
7233
7229
|
const { setHasServerVault } = useSession.getState();
|
|
7234
|
-
|
|
7235
|
-
|
|
7230
|
+
if (detail?.success === true && detail.method === "server") {
|
|
7231
|
+
requestSeqRef.current++;
|
|
7236
7232
|
setHasServerVault(true);
|
|
7237
|
-
|
|
7238
|
-
const isNewUserTouched = localStorage.getItem(NEW_USER_TOUCHED_KEY) === "true";
|
|
7239
|
-
if (!isNewUserTouched && !!jwt?.isNewUser) {
|
|
7240
|
-
localStorage.setItem(NEW_USER_TOUCHED_KEY, "true");
|
|
7241
|
-
openPage("nickname-settings" /* NICKNAME_SETTINGS */, { isInitialUser: true });
|
|
7242
|
-
}
|
|
7243
|
-
if (!!isNewUserTouched && !jwt?.isNewUser) {
|
|
7244
|
-
localStorage.removeItem(NEW_USER_TOUCHED_KEY);
|
|
7245
|
-
}
|
|
7246
|
-
} else {
|
|
7247
|
-
setHasServerVault(false);
|
|
7248
|
-
openPage("keysare-backup" /* KEYSARE_BACKUP */);
|
|
7249
|
-
console.warn("[BACKUP STATUS] No recovery data found in vault, marking as no-server-vault");
|
|
7233
|
+
return;
|
|
7250
7234
|
}
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
|
|
7235
|
+
const seq = ++requestSeqRef.current;
|
|
7236
|
+
const result = await checkShareRecoveryStats();
|
|
7237
|
+
if (seq !== requestSeqRef.current) return;
|
|
7238
|
+
if (!result.ok) {
|
|
7239
|
+
if (!useSession.getState().isServerVaultChecked) setHasServerVault(false);
|
|
7240
|
+
console.warn("[BACKUP STATUS] Vault status check failed, keeping previous status:", result.error);
|
|
7241
|
+
return;
|
|
7242
|
+
}
|
|
7243
|
+
if (hasRecoveryData(result.stats)) {
|
|
7244
|
+
setHasServerVault(true);
|
|
7245
|
+
return;
|
|
7246
|
+
}
|
|
7247
|
+
setHasServerVault(false);
|
|
7248
|
+
openPageRef.current("keysare-backup" /* KEYSARE_BACKUP */);
|
|
7249
|
+
console.warn("[BACKUP STATUS] No recovery data found in vault, marking as no-server-vault");
|
|
7255
7250
|
}
|
|
7256
|
-
});
|
|
7257
|
-
useEffect6(() => {
|
|
7258
7251
|
window.addEventListener("lumia-passport-backup-status-changed", handleBackupStatusChanged);
|
|
7259
7252
|
return () => {
|
|
7260
7253
|
window.removeEventListener("lumia-passport-backup-status-changed", handleBackupStatusChanged);
|
|
7261
7254
|
};
|
|
7262
7255
|
}, []);
|
|
7263
7256
|
}
|
|
7264
|
-
var NEW_USER_TOUCHED_KEY;
|
|
7265
7257
|
var init_useBackupStatusChanges = __esm({
|
|
7266
7258
|
"src/internal/hooks/useBackupStatusChanges.ts"() {
|
|
7267
7259
|
init_SessionContext();
|
|
7268
7260
|
init_useOpenPage();
|
|
7269
|
-
init_auth();
|
|
7270
7261
|
init_vaultClient();
|
|
7271
|
-
NEW_USER_TOUCHED_KEY = "embarkai-is-new-user-touhced";
|
|
7272
7262
|
}
|
|
7273
7263
|
});
|
|
7274
7264
|
|
|
@@ -9053,20 +9043,20 @@ var init_useT = __esm({
|
|
|
9053
9043
|
});
|
|
9054
9044
|
|
|
9055
9045
|
// src/internal/components/Expandable/hooks/useExpandable.ts
|
|
9056
|
-
import { useCallback as useCallback7, useEffect as useEffect9, useRef as
|
|
9046
|
+
import { useCallback as useCallback7, useEffect as useEffect9, useRef as useRef5 } from "react";
|
|
9057
9047
|
var DEFERRED_DELAY, useExpandable;
|
|
9058
9048
|
var init_useExpandable = __esm({
|
|
9059
9049
|
"src/internal/components/Expandable/hooks/useExpandable.ts"() {
|
|
9060
9050
|
DEFERRED_DELAY = 100;
|
|
9061
9051
|
useExpandable = (props) => {
|
|
9062
9052
|
const { isExpanded = false, initHeight = 0, minHeight = 0 } = props;
|
|
9063
|
-
const expandableRef =
|
|
9064
|
-
const contentRef =
|
|
9053
|
+
const expandableRef = useRef5(null);
|
|
9054
|
+
const contentRef = useRef5(null);
|
|
9065
9055
|
useEffect9(() => {
|
|
9066
9056
|
if (!expandableRef.current) return;
|
|
9067
9057
|
expandableRef.current.style.setProperty("--ui-kit-expandable-h", `${initHeight}px )`);
|
|
9068
9058
|
}, []);
|
|
9069
|
-
const expandableHeightTimerRef =
|
|
9059
|
+
const expandableHeightTimerRef = useRef5(null);
|
|
9070
9060
|
const setExpandableHeight = useCallback7((minHeight2, isExpanded2) => {
|
|
9071
9061
|
if (expandableHeightTimerRef.current) clearTimeout(expandableHeightTimerRef.current);
|
|
9072
9062
|
expandableHeightTimerRef.current = setTimeout(() => {
|
|
@@ -9681,7 +9671,7 @@ var init_PassKeyStep = __esm({
|
|
|
9681
9671
|
});
|
|
9682
9672
|
|
|
9683
9673
|
// src/internal/components/ui/input.tsx
|
|
9684
|
-
import React5, { useImperativeHandle as useImperativeHandle2, useRef as
|
|
9674
|
+
import React5, { useImperativeHandle as useImperativeHandle2, useRef as useRef6 } from "react";
|
|
9685
9675
|
import { jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
9686
9676
|
var Input;
|
|
9687
9677
|
var init_input = __esm({
|
|
@@ -9689,7 +9679,7 @@ var init_input = __esm({
|
|
|
9689
9679
|
init_utils();
|
|
9690
9680
|
Input = React5.forwardRef((props, ref) => {
|
|
9691
9681
|
const { className, disabled, error, Icon: Icon2, element, inputClassName, ...inputProps } = props;
|
|
9692
|
-
const internalRef =
|
|
9682
|
+
const internalRef = useRef6(null);
|
|
9693
9683
|
useImperativeHandle2(ref, () => internalRef.current);
|
|
9694
9684
|
return /* @__PURE__ */ jsxs11("div", { className: cn2("w-full flex flex-col gap-1", className), children: [
|
|
9695
9685
|
/* @__PURE__ */ jsxs11(
|
|
@@ -9754,21 +9744,21 @@ var init_emailChallenge = __esm({
|
|
|
9754
9744
|
});
|
|
9755
9745
|
|
|
9756
9746
|
// src/internal/components/AuthMenu/SignInStep/Email.tsx
|
|
9757
|
-
import { useMutation as
|
|
9747
|
+
import { useMutation as useMutation2 } from "@tanstack/react-query";
|
|
9758
9748
|
import { ChevronRight, Loader as Loader2, Mail as Mail2 } from "lucide-react";
|
|
9759
|
-
import { useEffect as useEffect10, useRef as
|
|
9749
|
+
import { useEffect as useEffect10, useRef as useRef7 } from "react";
|
|
9760
9750
|
import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
9761
9751
|
function Email() {
|
|
9762
9752
|
const { callbacksRef } = useProviderConfig();
|
|
9763
9753
|
const { t } = useT();
|
|
9764
|
-
const focusRef =
|
|
9765
|
-
const inputRef =
|
|
9766
|
-
const buttonRef =
|
|
9754
|
+
const focusRef = useRef7(null);
|
|
9755
|
+
const inputRef = useRef7(null);
|
|
9756
|
+
const buttonRef = useRef7(null);
|
|
9767
9757
|
const isLoading = useSession((st) => st.isLoading);
|
|
9768
9758
|
const setIsLoading = useSession((st) => st.setIsLoading);
|
|
9769
9759
|
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
9770
9760
|
const { email, emailChallenge, alert: alert2, setEmail, setEmailChallenge, setStep, setAlert } = useAuthStore();
|
|
9771
|
-
const { mutate: onSendVerificationCode } =
|
|
9761
|
+
const { mutate: onSendVerificationCode } = useMutation2({
|
|
9772
9762
|
mutationFn: async (mail) => {
|
|
9773
9763
|
const isEmailValid = mail.length !== 0 && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(mail);
|
|
9774
9764
|
if (!isEmailValid) {
|
|
@@ -10537,11 +10527,11 @@ var init_constants5 = __esm({
|
|
|
10537
10527
|
|
|
10538
10528
|
// src/internal/components/AuthMenu/useAuthMenuHanders.ts
|
|
10539
10529
|
import { useQueryClient as useQueryClient2 } from "@tanstack/react-query";
|
|
10540
|
-
import { useCallback as useCallback10, useRef as
|
|
10530
|
+
import { useCallback as useCallback10, useRef as useRef8, useState as useState3 } from "react";
|
|
10541
10531
|
function useAuthMenuHandlers() {
|
|
10542
10532
|
const { config, callbacksRef } = useProviderConfig();
|
|
10543
10533
|
const qc = useQueryClient2();
|
|
10544
|
-
const pendingLoginResponseRef =
|
|
10534
|
+
const pendingLoginResponseRef = useRef8(null);
|
|
10545
10535
|
const [telegramCleanup, setTelegramCleanup] = useState3(null);
|
|
10546
10536
|
const usePaymaster = useSession((st) => st.usePaymaster);
|
|
10547
10537
|
const publicClient = useSession((st) => st.publicClient);
|
|
@@ -10725,7 +10715,7 @@ var init_useAuthMenuHanders = __esm({
|
|
|
10725
10715
|
});
|
|
10726
10716
|
|
|
10727
10717
|
// src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
|
|
10728
|
-
import { useEffect as useEffect11, useRef as
|
|
10718
|
+
import { useEffect as useEffect11, useRef as useRef9, useState as useState4 } from "react";
|
|
10729
10719
|
import { Fragment as Fragment6, jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
10730
10720
|
var getRemainingSeconds, VerificationCodeInput;
|
|
10731
10721
|
var init_VerificationCodeInput = __esm({
|
|
@@ -10761,8 +10751,8 @@ var init_VerificationCodeInput = __esm({
|
|
|
10761
10751
|
document.removeEventListener("visibilitychange", syncTimeLeft);
|
|
10762
10752
|
};
|
|
10763
10753
|
}, [expiresAt]);
|
|
10764
|
-
const lastSubmittedRef =
|
|
10765
|
-
const inputsRef =
|
|
10754
|
+
const lastSubmittedRef = useRef9(null);
|
|
10755
|
+
const inputsRef = useRef9([]);
|
|
10766
10756
|
const [digits, setDigits] = useState4(["", "", "", "", "", ""]);
|
|
10767
10757
|
useEffect11(() => {
|
|
10768
10758
|
const code = digits.join("");
|
|
@@ -10880,7 +10870,7 @@ var init_VerificationCodeInput = __esm({
|
|
|
10880
10870
|
});
|
|
10881
10871
|
|
|
10882
10872
|
// src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx
|
|
10883
|
-
import { useMutation as
|
|
10873
|
+
import { useMutation as useMutation3 } from "@tanstack/react-query";
|
|
10884
10874
|
import { ArrowLeft as ArrowLeft2, Loader as Loader3 } from "lucide-react";
|
|
10885
10875
|
import { useState as useState5 } from "react";
|
|
10886
10876
|
import { Fragment as Fragment7, jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
@@ -10901,7 +10891,7 @@ function VerifyStep(props) {
|
|
|
10901
10891
|
setAlert
|
|
10902
10892
|
} = useAuthStore();
|
|
10903
10893
|
const [resendCount, setResendCount] = useState5(0);
|
|
10904
|
-
const { mutate: onVerifyCode, isPending: isCodeVerifying } =
|
|
10894
|
+
const { mutate: onVerifyCode, isPending: isCodeVerifying } = useMutation3({
|
|
10905
10895
|
mutationFn: async (code) => {
|
|
10906
10896
|
setIsLoading(true);
|
|
10907
10897
|
setAlert(null);
|
|
@@ -10973,7 +10963,7 @@ function VerifyStep(props) {
|
|
|
10973
10963
|
setIsLoading(false);
|
|
10974
10964
|
}
|
|
10975
10965
|
});
|
|
10976
|
-
const { mutate: onResendCode, isPending: isCodeResending } =
|
|
10966
|
+
const { mutate: onResendCode, isPending: isCodeResending } = useMutation3({
|
|
10977
10967
|
mutationFn: async () => {
|
|
10978
10968
|
setAlert(null);
|
|
10979
10969
|
setIsLoading(true);
|
|
@@ -12831,7 +12821,7 @@ var init_config = __esm({
|
|
|
12831
12821
|
});
|
|
12832
12822
|
|
|
12833
12823
|
// src/internal/components/BuyMenu/binance/BinanceSummary.tsx
|
|
12834
|
-
import { useMutation as
|
|
12824
|
+
import { useMutation as useMutation4, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
|
|
12835
12825
|
import { InfoIcon as InfoIcon3, LoaderIcon as LoaderIcon2 } from "lucide-react";
|
|
12836
12826
|
import { jsx as jsx42, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
12837
12827
|
function BinanceSummary(props) {
|
|
@@ -12843,7 +12833,7 @@ function BinanceSummary(props) {
|
|
|
12843
12833
|
const { selectedFiat, selectedCrypto, srcQueryAmount, redirecting, setRedirecting } = useBuyMenuStore();
|
|
12844
12834
|
const quoteData = useBinanceStore((st) => st.quoteData);
|
|
12845
12835
|
const cryptoToRecieve = Number(quoteData?.totalAmount || "0");
|
|
12846
|
-
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } =
|
|
12836
|
+
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation4({
|
|
12847
12837
|
mutationFn: async () => {
|
|
12848
12838
|
setRedirecting(true);
|
|
12849
12839
|
return await createPreorderMutation({
|
|
@@ -13324,10 +13314,10 @@ var init_BinanceTxHistory = __esm({
|
|
|
13324
13314
|
|
|
13325
13315
|
// src/internal/components/BuyMenu/binance/useBinanceSseTracing.ts
|
|
13326
13316
|
import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
|
|
13327
|
-
import { useEffect as useEffect17, useRef as
|
|
13317
|
+
import { useEffect as useEffect17, useRef as useRef10 } from "react";
|
|
13328
13318
|
function useBinanceSseTxTracing(walletAddress) {
|
|
13329
13319
|
const qc = useQueryClient4();
|
|
13330
|
-
const debounceRef =
|
|
13320
|
+
const debounceRef = useRef10(null);
|
|
13331
13321
|
useEffect17(() => {
|
|
13332
13322
|
if (!walletAddress) return;
|
|
13333
13323
|
const iframeManager = getIframeManager();
|
|
@@ -13368,7 +13358,7 @@ var init_utils6 = __esm({
|
|
|
13368
13358
|
});
|
|
13369
13359
|
|
|
13370
13360
|
// src/internal/components/BuyMenu/binance/Binance.tsx
|
|
13371
|
-
import { useMutation as
|
|
13361
|
+
import { useMutation as useMutation5, useQuery as useQuery3, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
|
|
13372
13362
|
import { LoaderIcon as LoaderIcon4 } from "lucide-react";
|
|
13373
13363
|
import { useEffect as useEffect18 } from "react";
|
|
13374
13364
|
import { Fragment as Fragment11, jsx as jsx45, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
@@ -13426,7 +13416,7 @@ function Binance() {
|
|
|
13426
13416
|
useEffect18(() => {
|
|
13427
13417
|
useBuyMenuStore.getState().setMinAmount(Number(selectedPaymentMode?.fiatMinLimit || "0"));
|
|
13428
13418
|
}, [selectedPaymentMode]);
|
|
13429
|
-
const { mutate: estimateQuote, isPending: isQuoteEstimating } =
|
|
13419
|
+
const { mutate: estimateQuote, isPending: isQuoteEstimating } = useMutation5({
|
|
13430
13420
|
mutationFn: async () => {
|
|
13431
13421
|
return await getQuoteQuery({
|
|
13432
13422
|
fiatCurrency: selectedFiat,
|
|
@@ -13687,7 +13677,7 @@ var init_api2 = __esm({
|
|
|
13687
13677
|
});
|
|
13688
13678
|
|
|
13689
13679
|
// src/internal/components/BuyMenu/finchpay/FinchPaySummary.tsx
|
|
13690
|
-
import { useMutation as
|
|
13680
|
+
import { useMutation as useMutation6 } from "@tanstack/react-query";
|
|
13691
13681
|
import { Loader as Loader5 } from "lucide-react";
|
|
13692
13682
|
import { jsx as jsx46, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
13693
13683
|
function FinchPaySummary(props) {
|
|
@@ -13696,7 +13686,7 @@ function FinchPaySummary(props) {
|
|
|
13696
13686
|
const walletAddress = useSession((st) => st.address);
|
|
13697
13687
|
const redirecting = useBuyMenuStore((st) => st.redirecting);
|
|
13698
13688
|
const srcQueryAmount = useBuyMenuStore((st) => st.srcQueryAmount);
|
|
13699
|
-
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } =
|
|
13689
|
+
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation6({
|
|
13700
13690
|
mutationFn: async () => {
|
|
13701
13691
|
useBuyMenuStore.getState().setRedirecting(true);
|
|
13702
13692
|
return createWidgetUrlMutation({
|
|
@@ -13985,10 +13975,10 @@ var init_networks = __esm({
|
|
|
13985
13975
|
|
|
13986
13976
|
// src/internal/components/BuyMenu/finchpay/useFinchpaySseTxTracing.ts
|
|
13987
13977
|
import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
|
|
13988
|
-
import { useEffect as useEffect19, useRef as
|
|
13978
|
+
import { useEffect as useEffect19, useRef as useRef11 } from "react";
|
|
13989
13979
|
function useFinchpaySseTxTracing(walletAddress) {
|
|
13990
13980
|
const qc = useQueryClient6();
|
|
13991
|
-
const debounceRef =
|
|
13981
|
+
const debounceRef = useRef11(null);
|
|
13992
13982
|
useEffect19(() => {
|
|
13993
13983
|
if (!walletAddress) return;
|
|
13994
13984
|
const iframeManager = getIframeManager();
|
|
@@ -14412,7 +14402,7 @@ var init_ProviderSelector = __esm({
|
|
|
14412
14402
|
});
|
|
14413
14403
|
|
|
14414
14404
|
// src/internal/components/BuyMenu/useHandleInputAmount.ts
|
|
14415
|
-
import { useEffect as useEffect21, useRef as
|
|
14405
|
+
import { useEffect as useEffect21, useRef as useRef12 } from "react";
|
|
14416
14406
|
var ON_INPUT_QUERY_DELAY, useHandleInputAmount;
|
|
14417
14407
|
var init_useHandleInputAmount = __esm({
|
|
14418
14408
|
"src/internal/components/BuyMenu/useHandleInputAmount.ts"() {
|
|
@@ -14420,11 +14410,11 @@ var init_useHandleInputAmount = __esm({
|
|
|
14420
14410
|
init_useBuyMenuStore();
|
|
14421
14411
|
ON_INPUT_QUERY_DELAY = 1500;
|
|
14422
14412
|
useHandleInputAmount = () => {
|
|
14423
|
-
const lastRampProviderRef =
|
|
14413
|
+
const lastRampProviderRef = useRef12(DEFAULT_PROVIDER2);
|
|
14424
14414
|
const rampProvider = useBuyMenuStore((st) => st.rampProvider);
|
|
14425
14415
|
const srcInputAmount = useBuyMenuStore((st) => st.srcInputAmount);
|
|
14426
14416
|
const minAmount = useBuyMenuStore((st) => st.minAmount);
|
|
14427
|
-
const queryAmountTimer =
|
|
14417
|
+
const queryAmountTimer = useRef12(null);
|
|
14428
14418
|
useEffect21(() => {
|
|
14429
14419
|
if (queryAmountTimer.current) clearTimeout(queryAmountTimer.current);
|
|
14430
14420
|
queryAmountTimer.current = setTimeout(() => {
|
|
@@ -15766,12 +15756,12 @@ var init_useStore = __esm({
|
|
|
15766
15756
|
});
|
|
15767
15757
|
|
|
15768
15758
|
// src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts
|
|
15769
|
-
import { useMutation as
|
|
15759
|
+
import { useMutation as useMutation7 } from "@tanstack/react-query";
|
|
15770
15760
|
function useSendVerificationCode() {
|
|
15771
15761
|
const setAlert = useManageWalletStore((st) => st.setAlert);
|
|
15772
15762
|
const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
|
|
15773
15763
|
const setEmailCodeExpiresAt = useManageWalletStore((st) => st.setEmailCodeExpiresAt);
|
|
15774
|
-
return
|
|
15764
|
+
return useMutation7({
|
|
15775
15765
|
mutationFn: async (email) => {
|
|
15776
15766
|
if (!email) {
|
|
15777
15767
|
throw new Error("Email is required");
|
|
@@ -15866,7 +15856,7 @@ var init_useProvidersList = __esm({
|
|
|
15866
15856
|
});
|
|
15867
15857
|
|
|
15868
15858
|
// src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
|
|
15869
|
-
import { useMutation as
|
|
15859
|
+
import { useMutation as useMutation8, useQueryClient as useQueryClient9 } from "@tanstack/react-query";
|
|
15870
15860
|
function useVerifyCode() {
|
|
15871
15861
|
const { callbacksRef } = useProviderConfig();
|
|
15872
15862
|
const qc = useQueryClient9();
|
|
@@ -15883,7 +15873,7 @@ function useVerifyCode() {
|
|
|
15883
15873
|
setLinkIsLoading,
|
|
15884
15874
|
setAlert
|
|
15885
15875
|
} = useManageWalletStore();
|
|
15886
|
-
return
|
|
15876
|
+
return useMutation8({
|
|
15887
15877
|
mutationFn: async (codeToVerify) => {
|
|
15888
15878
|
const code = codeToVerify ?? emailCode;
|
|
15889
15879
|
if (!code) {
|
|
@@ -16740,7 +16730,7 @@ var init_ManageWallet = __esm({
|
|
|
16740
16730
|
});
|
|
16741
16731
|
|
|
16742
16732
|
// src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
|
|
16743
|
-
import { useMutation as
|
|
16733
|
+
import { useMutation as useMutation9, useQueryClient as useQueryClient13 } from "@tanstack/react-query";
|
|
16744
16734
|
import { Key as Key4, Loader as Loader10 } from "lucide-react";
|
|
16745
16735
|
import { useState as useState13 } from "react";
|
|
16746
16736
|
import { useDisconnect } from "wagmi";
|
|
@@ -16755,7 +16745,7 @@ function UnlinkProviderMenu() {
|
|
|
16755
16745
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
16756
16746
|
const { confirmUnlink, setConfirmUnlink, setAlert } = useManageWalletStore();
|
|
16757
16747
|
const [confirmInput, setConfirmInput] = useState13("");
|
|
16758
|
-
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } =
|
|
16748
|
+
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation9({
|
|
16759
16749
|
mutationFn: async () => {
|
|
16760
16750
|
if (!confirmUnlink) {
|
|
16761
16751
|
throw new Error("No provider to unlink");
|
|
@@ -16865,9 +16855,9 @@ var init_ManageWalletMenu = __esm({
|
|
|
16865
16855
|
|
|
16866
16856
|
// src/internal/components/ConnectExternalWalletMenu/useConnectExternalWalletMenuParams.ts
|
|
16867
16857
|
import { keys as keys2 } from "lodash-es";
|
|
16868
|
-
import { useEffect as useEffect24, useRef as
|
|
16858
|
+
import { useEffect as useEffect24, useRef as useRef13 } from "react";
|
|
16869
16859
|
function useConnectExternalWalletMenuParams() {
|
|
16870
|
-
const paramsRef =
|
|
16860
|
+
const paramsRef = useRef13(null);
|
|
16871
16861
|
useEffect24(() => {
|
|
16872
16862
|
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
16873
16863
|
if (!pageParams || !keys2(pageParams).length) return;
|
|
@@ -16883,7 +16873,7 @@ var init_useConnectExternalWalletMenuParams = __esm({
|
|
|
16883
16873
|
});
|
|
16884
16874
|
|
|
16885
16875
|
// src/internal/components/ConnectExternalWalletMenu/ConnectExternalWalletMenu.tsx
|
|
16886
|
-
import { useMutation as
|
|
16876
|
+
import { useMutation as useMutation10, useQuery as useQuery8, useQueryClient as useQueryClient14 } from "@tanstack/react-query";
|
|
16887
16877
|
import { ArrowLeft as ArrowLeft7, Loader as Loader11, Wallet2Icon as Wallet2Icon2 } from "lucide-react";
|
|
16888
16878
|
import { useCallback as useCallback17, useMemo as useMemo9 } from "react";
|
|
16889
16879
|
import { useConnect, useConnection, useConnectors, useDisconnect as useDisconnect2, useSignMessage } from "wagmi";
|
|
@@ -16914,7 +16904,7 @@ function ConnectExternalWalletMenu() {
|
|
|
16914
16904
|
queryKey: [PROVIDERS_QUERY_KEY, embarkAiAddress],
|
|
16915
16905
|
queryFn: async () => getLinkedProviders()
|
|
16916
16906
|
});
|
|
16917
|
-
const { mutateAsync: onLinkingComplete } =
|
|
16907
|
+
const { mutateAsync: onLinkingComplete } = useMutation10({
|
|
16918
16908
|
mutationFn: async (success) => {
|
|
16919
16909
|
useManageWalletStore.getState().setProviderType(null);
|
|
16920
16910
|
useLayoutDataStore.getState().setPage(walletMenuOpenedFrom || "manage-wallet" /* MANAGE_WALLET */);
|
|
@@ -16925,7 +16915,7 @@ function ConnectExternalWalletMenu() {
|
|
|
16925
16915
|
callbacksRef.current?.onAccountUpdate?.({ providers: providers2 });
|
|
16926
16916
|
}
|
|
16927
16917
|
});
|
|
16928
|
-
const { mutateAsync: loginOrLinkOrConnectWallet, isPending: isLoginOrLinkOrConnectWallet } =
|
|
16918
|
+
const { mutateAsync: loginOrLinkOrConnectWallet, isPending: isLoginOrLinkOrConnectWallet } = useMutation10({
|
|
16929
16919
|
mutationFn: async (payload) => {
|
|
16930
16920
|
const { walletData, connectFlowType } = payload;
|
|
16931
16921
|
const { walletMenuOpenedFrom: walletMenuOpenedFrom2, setPage, setPendingWalletLogin } = useLayoutDataStore.getState();
|
|
@@ -17282,7 +17272,7 @@ var init_ConnectExternalWalletMenu2 = __esm({
|
|
|
17282
17272
|
});
|
|
17283
17273
|
|
|
17284
17274
|
// src/internal/clients/devices.ts
|
|
17285
|
-
import { useMutation as
|
|
17275
|
+
import { useMutation as useMutation11, useQuery as useQuery9, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
|
|
17286
17276
|
async function getDevices() {
|
|
17287
17277
|
const response = await tssClient.get("/api/auth/devices", true);
|
|
17288
17278
|
if (!response.success || !response.data) {
|
|
@@ -17315,7 +17305,7 @@ function useDevices() {
|
|
|
17315
17305
|
}
|
|
17316
17306
|
function useLinkDevice() {
|
|
17317
17307
|
const qc = useQueryClient15();
|
|
17318
|
-
return
|
|
17308
|
+
return useMutation11({
|
|
17319
17309
|
mutationFn: (code) => linkDevice(code),
|
|
17320
17310
|
onSuccess: () => {
|
|
17321
17311
|
qc.invalidateQueries({ queryKey: [DEVICES_QUERY_KEY] });
|
|
@@ -17324,7 +17314,7 @@ function useLinkDevice() {
|
|
|
17324
17314
|
}
|
|
17325
17315
|
function useUnlinkDevice() {
|
|
17326
17316
|
const qc = useQueryClient15();
|
|
17327
|
-
return
|
|
17317
|
+
return useMutation11({
|
|
17328
17318
|
mutationFn: (deviceId) => unlinkDevice(deviceId),
|
|
17329
17319
|
onSuccess: () => {
|
|
17330
17320
|
qc.invalidateQueries({ queryKey: [DEVICES_QUERY_KEY] });
|
|
@@ -17952,7 +17942,7 @@ var init_guardian_backup = __esm({
|
|
|
17952
17942
|
});
|
|
17953
17943
|
|
|
17954
17944
|
// src/internal/components/DevicesMenu/DeviceManageScreen.tsx
|
|
17955
|
-
import { useCallback as useCallback19, useEffect as useEffect25, useRef as
|
|
17945
|
+
import { useCallback as useCallback19, useEffect as useEffect25, useRef as useRef14, useState as useState15 } from "react";
|
|
17956
17946
|
import { ArrowLeft as ArrowLeft9, Cpu, Download, HardDrive, Loader2 as Loader23, Trash2, Upload } from "lucide-react";
|
|
17957
17947
|
import { Fragment as Fragment18, jsx as jsx73, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
17958
17948
|
function formatSize(bytes) {
|
|
@@ -17967,7 +17957,7 @@ function DeviceManageScreen() {
|
|
|
17967
17957
|
const userId = session?.mpcUserId || "";
|
|
17968
17958
|
const deviceId = pageParams?.deviceId;
|
|
17969
17959
|
const deviceName = pageParams?.deviceName;
|
|
17970
|
-
const guardianRef =
|
|
17960
|
+
const guardianRef = useRef14(null);
|
|
17971
17961
|
const [screen, setScreen] = useState15({ step: "connecting" });
|
|
17972
17962
|
const [actionState, setActionState] = useState15(null);
|
|
17973
17963
|
const [password, setPassword] = useState15("");
|
|
@@ -18666,6 +18656,42 @@ var init_useOnRestoreSuccess = __esm({
|
|
|
18666
18656
|
}
|
|
18667
18657
|
});
|
|
18668
18658
|
|
|
18659
|
+
// src/internal/lib/new-user-onboarding.ts
|
|
18660
|
+
function getStorage() {
|
|
18661
|
+
return typeof window !== "undefined" ? window.localStorage : void 0;
|
|
18662
|
+
}
|
|
18663
|
+
function readOnboarded(userId) {
|
|
18664
|
+
try {
|
|
18665
|
+
return getStorage()?.getItem(`${NICKNAME_ONBOARDED_KEY}.${userId}`) === "true";
|
|
18666
|
+
} catch {
|
|
18667
|
+
return false;
|
|
18668
|
+
}
|
|
18669
|
+
}
|
|
18670
|
+
function isNewUserFlow() {
|
|
18671
|
+
return !!jwtTokenManager2.getTokens()?.isNewUser;
|
|
18672
|
+
}
|
|
18673
|
+
function needsNicknameOnboarding() {
|
|
18674
|
+
const jwt = jwtTokenManager2.getTokens();
|
|
18675
|
+
if (!jwt?.userId || !jwt.isNewUser) return false;
|
|
18676
|
+
return !readOnboarded(jwt.userId);
|
|
18677
|
+
}
|
|
18678
|
+
function markNicknameOnboarded() {
|
|
18679
|
+
const jwt = jwtTokenManager2.getTokens();
|
|
18680
|
+
try {
|
|
18681
|
+
if (jwt?.userId) getStorage()?.setItem(`${NICKNAME_ONBOARDED_KEY}.${jwt.userId}`, "true");
|
|
18682
|
+
getStorage()?.removeItem(LEGACY_NEW_USER_TOUCHED_KEY);
|
|
18683
|
+
} catch {
|
|
18684
|
+
}
|
|
18685
|
+
}
|
|
18686
|
+
var NICKNAME_ONBOARDED_KEY, LEGACY_NEW_USER_TOUCHED_KEY;
|
|
18687
|
+
var init_new_user_onboarding = __esm({
|
|
18688
|
+
"src/internal/lib/new-user-onboarding.ts"() {
|
|
18689
|
+
init_auth();
|
|
18690
|
+
NICKNAME_ONBOARDED_KEY = "embarkai-nickname-onboarded";
|
|
18691
|
+
LEGACY_NEW_USER_TOUCHED_KEY = "embarkai-is-new-user-touhced";
|
|
18692
|
+
}
|
|
18693
|
+
});
|
|
18694
|
+
|
|
18669
18695
|
// src/internal/cloudStorage.ts
|
|
18670
18696
|
var cloudStorage_exports = {};
|
|
18671
18697
|
__export(cloudStorage_exports, {
|
|
@@ -18878,7 +18904,7 @@ var init_cloudStorage = __esm({
|
|
|
18878
18904
|
});
|
|
18879
18905
|
|
|
18880
18906
|
// src/internal/components/KeyshareRestoreMenu/hooks/useCreateBackup.ts
|
|
18881
|
-
import { useMutation as
|
|
18907
|
+
import { useMutation as useMutation12, useQueryClient as useQueryClient16 } from "@tanstack/react-query";
|
|
18882
18908
|
import { useCallback as useCallback22, useEffect as useEffect26 } from "react";
|
|
18883
18909
|
function useCreateBackup() {
|
|
18884
18910
|
const qc = useQueryClient16();
|
|
@@ -18896,10 +18922,23 @@ function useCreateBackup() {
|
|
|
18896
18922
|
}, [hasServerVault]);
|
|
18897
18923
|
const recoveryUserId = useSession((st) => st.recoveryUserId);
|
|
18898
18924
|
const passportUserId = session?.mpcUserId || recoveryUserId || "";
|
|
18899
|
-
const onBackupSuccess = useCallback22(() => {
|
|
18900
|
-
console.log(
|
|
18901
|
-
|
|
18902
|
-
|
|
18925
|
+
const onBackupSuccess = useCallback22((method) => {
|
|
18926
|
+
console.log(`[EMBARKAI BACKUP] ${method} backup created successfully`);
|
|
18927
|
+
if (method !== "server") return;
|
|
18928
|
+
const { setIsDialogForced } = useLayoutStore.getState();
|
|
18929
|
+
const { openPostAuthNavigation, setPage, setPageParams } = useLayoutDataStore.getState();
|
|
18930
|
+
useSession.getState().setHasServerVault(true);
|
|
18931
|
+
setIsDialogForced(false);
|
|
18932
|
+
if (needsNicknameOnboarding()) {
|
|
18933
|
+
markNicknameOnboarded();
|
|
18934
|
+
setPageParams({ isInitialUser: true });
|
|
18935
|
+
setPage("nickname-settings" /* NICKNAME_SETTINGS */);
|
|
18936
|
+
return;
|
|
18937
|
+
}
|
|
18938
|
+
if (openPostAuthNavigation()) return;
|
|
18939
|
+
if (isNewUserFlow()) setPage(null);
|
|
18940
|
+
}, []);
|
|
18941
|
+
const { mutate: createPasswordBackup, isPending: isPasswordBackupCreating } = useMutation12({
|
|
18903
18942
|
mutationFn: async () => {
|
|
18904
18943
|
const iframeManager = getIframeManager();
|
|
18905
18944
|
if (!iframeManager) {
|
|
@@ -18927,12 +18966,11 @@ function useCreateBackup() {
|
|
|
18927
18966
|
})
|
|
18928
18967
|
);
|
|
18929
18968
|
}
|
|
18930
|
-
onBackupSuccess();
|
|
18969
|
+
onBackupSuccess("server");
|
|
18931
18970
|
} else {
|
|
18932
18971
|
setError(response.error || "Server backup failed");
|
|
18972
|
+
useLayoutStore.getState().setIsDialogForced(false);
|
|
18933
18973
|
}
|
|
18934
|
-
useLayoutStore.getState().setIsDialogForced(false);
|
|
18935
|
-
useLayoutDataStore.getState().openPostAuthNavigation();
|
|
18936
18974
|
},
|
|
18937
18975
|
onError: async (error) => {
|
|
18938
18976
|
const { setError, setSuccess } = useRestoreStore.getState();
|
|
@@ -18945,7 +18983,7 @@ function useCreateBackup() {
|
|
|
18945
18983
|
qc.invalidateQueries({ queryKey: [CHECK_BACKUP_QUERY_KEY, address] });
|
|
18946
18984
|
}
|
|
18947
18985
|
});
|
|
18948
|
-
const { mutate: createLocalBackup, isPending: isLocalBackupCreating } =
|
|
18986
|
+
const { mutate: createLocalBackup, isPending: isLocalBackupCreating } = useMutation12({
|
|
18949
18987
|
mutationFn: async () => {
|
|
18950
18988
|
const iframeManager = getIframeManager();
|
|
18951
18989
|
if (!usePasskey && !restorePassword) {
|
|
@@ -18972,14 +19010,14 @@ function useCreateBackup() {
|
|
|
18972
19010
|
})
|
|
18973
19011
|
);
|
|
18974
19012
|
}
|
|
18975
|
-
onBackupSuccess();
|
|
19013
|
+
onBackupSuccess("file");
|
|
18976
19014
|
},
|
|
18977
19015
|
onError: async (error) => {
|
|
18978
19016
|
useRestoreStore.getState().setError(error?.message || "Backup creation failed");
|
|
18979
19017
|
qc.invalidateQueries({ queryKey: [CHECK_BACKUP_QUERY_KEY, address] });
|
|
18980
19018
|
}
|
|
18981
19019
|
});
|
|
18982
|
-
const { mutate: createPasskey, isPending: isPasskeyCreating } =
|
|
19020
|
+
const { mutate: createPasskey, isPending: isPasskeyCreating } = useMutation12({
|
|
18983
19021
|
mutationFn: async () => {
|
|
18984
19022
|
useRestoreStore.getState().setIsCreatingPasskey(true);
|
|
18985
19023
|
const { linkPasskeyWithWebAuthn: linkPasskeyWithWebAuthn2 } = await Promise.resolve().then(() => (init_passkey2(), passkey_exports2));
|
|
@@ -19006,7 +19044,7 @@ function useCreateBackup() {
|
|
|
19006
19044
|
}
|
|
19007
19045
|
}
|
|
19008
19046
|
});
|
|
19009
|
-
const { mutate: createCloudBackup, isPending: isCloudBackupCreating } =
|
|
19047
|
+
const { mutate: createCloudBackup, isPending: isCloudBackupCreating } = useMutation12({
|
|
19010
19048
|
mutationFn: async () => {
|
|
19011
19049
|
const iframeManager = getIframeManager();
|
|
19012
19050
|
const encryptedData = await iframeManager.encryptBackupData(passportUserId);
|
|
@@ -19039,7 +19077,7 @@ function useCreateBackup() {
|
|
|
19039
19077
|
})
|
|
19040
19078
|
);
|
|
19041
19079
|
}
|
|
19042
|
-
onBackupSuccess();
|
|
19080
|
+
onBackupSuccess("cloud");
|
|
19043
19081
|
},
|
|
19044
19082
|
onError: async (error) => {
|
|
19045
19083
|
useRestoreStore.getState().setError(error?.message || "Backup creation failed");
|
|
@@ -19064,13 +19102,14 @@ var init_useCreateBackup = __esm({
|
|
|
19064
19102
|
init_useLayoutDataStore();
|
|
19065
19103
|
init_useLayoutStore();
|
|
19066
19104
|
init_iframe_manager();
|
|
19105
|
+
init_new_user_onboarding();
|
|
19067
19106
|
init_constants5();
|
|
19068
19107
|
init_hooks();
|
|
19069
19108
|
}
|
|
19070
19109
|
});
|
|
19071
19110
|
|
|
19072
19111
|
// src/internal/components/KeyshareRestoreMenu/hooks/useRestoreAccount.ts
|
|
19073
|
-
import { useMutation as
|
|
19112
|
+
import { useMutation as useMutation13 } from "@tanstack/react-query";
|
|
19074
19113
|
function useRestoreAccount() {
|
|
19075
19114
|
const recoveryUserId = useSession((st) => st.recoveryUserId);
|
|
19076
19115
|
const {
|
|
@@ -19084,7 +19123,7 @@ function useRestoreAccount() {
|
|
|
19084
19123
|
setRestoreFile
|
|
19085
19124
|
} = useRestoreStore();
|
|
19086
19125
|
const { onRestoreSuccess } = useOnRestoreSuccess();
|
|
19087
|
-
const { mutate: restoreFromServer2, isPending: isRestoringFromServer } =
|
|
19126
|
+
const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = useMutation13({
|
|
19088
19127
|
mutationFn: async () => {
|
|
19089
19128
|
setError(null);
|
|
19090
19129
|
setSuccess(null);
|
|
@@ -19123,7 +19162,7 @@ function useRestoreAccount() {
|
|
|
19123
19162
|
setError(errorMsg);
|
|
19124
19163
|
}
|
|
19125
19164
|
});
|
|
19126
|
-
const { mutate: restoreFromFile, isPending: isRestoringFromFile } =
|
|
19165
|
+
const { mutate: restoreFromFile, isPending: isRestoringFromFile } = useMutation13({
|
|
19127
19166
|
mutationFn: async () => {
|
|
19128
19167
|
if (!restoreFile) {
|
|
19129
19168
|
throw new Error("Please select a backup file");
|
|
@@ -19157,7 +19196,7 @@ function useRestoreAccount() {
|
|
|
19157
19196
|
setError(errorMsg);
|
|
19158
19197
|
}
|
|
19159
19198
|
});
|
|
19160
|
-
const { mutate: restoreFromCloud, isPending: isRestoringFromCloud } =
|
|
19199
|
+
const { mutate: restoreFromCloud, isPending: isRestoringFromCloud } = useMutation13({
|
|
19161
19200
|
mutationFn: async () => {
|
|
19162
19201
|
alert("Cloud restore not implemented yet");
|
|
19163
19202
|
return null;
|
|
@@ -19422,7 +19461,7 @@ var init_onboarding_setup4 = __esm({
|
|
|
19422
19461
|
|
|
19423
19462
|
// src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
|
|
19424
19463
|
import { ChevronRight as ChevronRight3, Eye, EyeOff, Info as Info3, Key as Key5, Loader as Loader12, Plus } from "lucide-react";
|
|
19425
|
-
import { useEffect as useEffect28, useRef as
|
|
19464
|
+
import { useEffect as useEffect28, useRef as useRef15 } from "react";
|
|
19426
19465
|
import { Fragment as Fragment21, jsx as jsx77, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
19427
19466
|
function PasswordPasskey(props) {
|
|
19428
19467
|
const { t } = useT();
|
|
@@ -19437,7 +19476,7 @@ function PasswordPasskey(props) {
|
|
|
19437
19476
|
onCreatePasskey
|
|
19438
19477
|
} = props;
|
|
19439
19478
|
const hasServerVault = useSession((st) => st.hasServerVault);
|
|
19440
|
-
const actionRef =
|
|
19479
|
+
const actionRef = useRef15(null);
|
|
19441
19480
|
const {
|
|
19442
19481
|
showPassword,
|
|
19443
19482
|
restorePassword,
|
|
@@ -20250,7 +20289,7 @@ var init_methods = __esm({
|
|
|
20250
20289
|
});
|
|
20251
20290
|
|
|
20252
20291
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
20253
|
-
import { useMutation as
|
|
20292
|
+
import { useMutation as useMutation14, useQuery as useQuery11, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
|
|
20254
20293
|
import { AlertCircle as AlertCircle2, CheckCircle2, CloudDownload as CloudDownload2, Loader as Loader14, UserCircle as UserCircle2 } from "lucide-react";
|
|
20255
20294
|
import { useEffect as useEffect31 } from "react";
|
|
20256
20295
|
import { useDisconnect as useDisconnect4 } from "wagmi";
|
|
@@ -20331,7 +20370,7 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
20331
20370
|
useEffect31(() => {
|
|
20332
20371
|
if (!!hasServerBackup) useRestoreStore.getState().setMethod("server");
|
|
20333
20372
|
}, [hasServerBackup]);
|
|
20334
|
-
const { mutate: disconnect, isPending: isDisconnecting } =
|
|
20373
|
+
const { mutate: disconnect, isPending: isDisconnecting } = useMutation14({
|
|
20335
20374
|
mutationFn: async () => {
|
|
20336
20375
|
const { setStatus, setIsLoading } = useSession.getState();
|
|
20337
20376
|
const { setError, setMethod } = useRestoreStore.getState();
|
|
@@ -20506,10 +20545,10 @@ function KeyshareBackupMenu() {
|
|
|
20506
20545
|
queryFn: async () => await getShareRecoveryStats()
|
|
20507
20546
|
});
|
|
20508
20547
|
useOnboardingTourAvailable(!isRecoveryLoading && currentBackupMethod === "server" && !usePasskey);
|
|
20509
|
-
const
|
|
20548
|
+
const hasRecoveryData2 = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
|
|
20510
20549
|
useEffect32(() => {
|
|
20511
|
-
if (!!
|
|
20512
|
-
}, [
|
|
20550
|
+
if (!!hasRecoveryData2) useRestoreStore.getState().setMethod("server");
|
|
20551
|
+
}, [hasRecoveryData2]);
|
|
20513
20552
|
const {
|
|
20514
20553
|
isPasswordBackupCreating,
|
|
20515
20554
|
createPasswordBackup,
|
|
@@ -20529,11 +20568,11 @@ function KeyshareBackupMenu() {
|
|
|
20529
20568
|
className: "list-scrollbar-y w-full",
|
|
20530
20569
|
children: /* @__PURE__ */ jsxs77(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
|
|
20531
20570
|
!!isRecoveryLoading && (hasServerVault || !currentBackupMethod) && /* @__PURE__ */ jsx85("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx85(Loader15, { className: "w-4 h-4 animate-spin" }) }),
|
|
20532
|
-
(!isRecoveryLoading || !hasServerVault) && !
|
|
20571
|
+
(!isRecoveryLoading || !hasServerVault) && !hasRecoveryData2 && /* @__PURE__ */ jsxs77("div", { className: "flex items-center justify-center gap-2 px-5 py-[var(--ui-kit-pd)]", children: [
|
|
20533
20572
|
/* @__PURE__ */ jsx85(LockIcon, { className: "w-6 h-6" }),
|
|
20534
20573
|
/* @__PURE__ */ jsx85("span", { className: "font-bold text-xl leading-6", children: t("passport:backupMenu.title") })
|
|
20535
20574
|
] }),
|
|
20536
|
-
!isRecoveryLoading && !!
|
|
20575
|
+
!isRecoveryLoading && !!hasRecoveryData2 && /* @__PURE__ */ jsxs77(
|
|
20537
20576
|
"div",
|
|
20538
20577
|
{
|
|
20539
20578
|
ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */, inst),
|
|
@@ -20594,7 +20633,7 @@ function KeyshareBackupMenu() {
|
|
|
20594
20633
|
]
|
|
20595
20634
|
}
|
|
20596
20635
|
),
|
|
20597
|
-
!isRecoveryLoading && !!
|
|
20636
|
+
!isRecoveryLoading && !!hasRecoveryData2 && !currentBackupMethod && /* @__PURE__ */ jsx85(MethodSelector, { mode: "backup", serverRecoveryStatus }),
|
|
20598
20637
|
(!isRecoveryLoading || !hasServerVault) && !!currentBackupMethod && /* @__PURE__ */ jsx85(Fragment28, { children: /* @__PURE__ */ jsx85(
|
|
20599
20638
|
BackupComponent,
|
|
20600
20639
|
{
|
|
@@ -20606,7 +20645,7 @@ function KeyshareBackupMenu() {
|
|
|
20606
20645
|
createPasskeyHandler: createPasskey
|
|
20607
20646
|
}
|
|
20608
20647
|
) }),
|
|
20609
|
-
!isRecoveryLoading && !currentBackupMethod && !
|
|
20648
|
+
!isRecoveryLoading && !currentBackupMethod && !hasRecoveryData2 && /* @__PURE__ */ jsxs77(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
20610
20649
|
/* @__PURE__ */ jsx85(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
|
|
20611
20650
|
/* @__PURE__ */ jsx85("span", { className: "block flex-1 font-semibold", children: "No Backup Found" })
|
|
20612
20651
|
] }),
|
|
@@ -20763,11 +20802,11 @@ var init_SumsubIframeManager = __esm({
|
|
|
20763
20802
|
});
|
|
20764
20803
|
|
|
20765
20804
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
20766
|
-
import { useEffect as useEffect33, useRef as
|
|
20805
|
+
import { useEffect as useEffect33, useRef as useRef16, useState as useState20 } from "react";
|
|
20767
20806
|
function useSumsubIframe({ iframeUrl }) {
|
|
20768
20807
|
const config = useProviderConfig().config;
|
|
20769
20808
|
const { colorMode } = useColorMode();
|
|
20770
|
-
const iframeRef =
|
|
20809
|
+
const iframeRef = useRef16(null);
|
|
20771
20810
|
const [isLoading, setIsLoading] = useState20(true);
|
|
20772
20811
|
const [error, setError] = useState20(null);
|
|
20773
20812
|
const [height, setHeight] = useState20(0);
|
|
@@ -21228,7 +21267,7 @@ var init_useNicknameStore = __esm({
|
|
|
21228
21267
|
});
|
|
21229
21268
|
|
|
21230
21269
|
// src/internal/components/NicknameMenu/useNicknameAvailability.ts
|
|
21231
|
-
import { useMutation as
|
|
21270
|
+
import { useMutation as useMutation15 } from "@tanstack/react-query";
|
|
21232
21271
|
import { debounce as debounce4 } from "lodash-es";
|
|
21233
21272
|
import { useCallback as useCallback23, useEffect as useEffect35 } from "react";
|
|
21234
21273
|
function useNicknameAvailability(currentNickname) {
|
|
@@ -21238,7 +21277,7 @@ function useNicknameAvailability(currentNickname) {
|
|
|
21238
21277
|
if (!currentNickname) return;
|
|
21239
21278
|
useNicknameStore.getState().setNicknameValue(currentNickname);
|
|
21240
21279
|
}, [currentNickname]);
|
|
21241
|
-
const { mutate: checkAvailability, isPending: isCheckingAvailability } =
|
|
21280
|
+
const { mutate: checkAvailability, isPending: isCheckingAvailability } = useMutation15({
|
|
21242
21281
|
mutationFn: async (newNickname) => {
|
|
21243
21282
|
useNicknameStore.getState().setError(null);
|
|
21244
21283
|
useNicknameStore.getState().setAvailability(null);
|
|
@@ -21283,9 +21322,9 @@ var init_useNicknameAvailability = __esm({
|
|
|
21283
21322
|
});
|
|
21284
21323
|
|
|
21285
21324
|
// src/internal/components/NicknameMenu/NicknameEditForm.tsx
|
|
21286
|
-
import { useMutation as
|
|
21325
|
+
import { useMutation as useMutation16, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
|
|
21287
21326
|
import { AtSignIcon, CopyIcon as CopyIcon2, LoaderIcon as LoaderIcon10, SaveIcon } from "lucide-react";
|
|
21288
|
-
import { useCallback as useCallback24, useState as useState21 } from "react";
|
|
21327
|
+
import { useCallback as useCallback24, useEffect as useEffect36, useRef as useRef17, useState as useState21 } from "react";
|
|
21289
21328
|
import { Fragment as Fragment30, jsx as jsx91, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
21290
21329
|
function NicknameEditForm(props) {
|
|
21291
21330
|
const { isInitialUser, nicknameInfo } = props;
|
|
@@ -21299,7 +21338,11 @@ function NicknameEditForm(props) {
|
|
|
21299
21338
|
const nicknameAvailability = useNicknameStore((st) => st.availability);
|
|
21300
21339
|
const { isCheckingAvailability } = useNicknameAvailability(nicknameInfo ? nicknameInfo.handle : "");
|
|
21301
21340
|
const [isNicknameCopied, setIsNicknameCopied] = useState21(false);
|
|
21302
|
-
const
|
|
21341
|
+
const exitTimerRef = useRef17(null);
|
|
21342
|
+
useEffect36(() => () => {
|
|
21343
|
+
if (exitTimerRef.current) clearTimeout(exitTimerRef.current);
|
|
21344
|
+
}, []);
|
|
21345
|
+
const { mutate: changeNickname2, isPending: isNicknameChanging } = useMutation16({
|
|
21303
21346
|
mutationFn: (handle) => changeNickname(handle),
|
|
21304
21347
|
onSuccess: () => {
|
|
21305
21348
|
qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
|
|
@@ -21308,7 +21351,11 @@ function NicknameEditForm(props) {
|
|
|
21308
21351
|
providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address])
|
|
21309
21352
|
});
|
|
21310
21353
|
if (!!isInitialUser) {
|
|
21311
|
-
setTimeout(() =>
|
|
21354
|
+
exitTimerRef.current = setTimeout(() => {
|
|
21355
|
+
const { page, openPostAuthNavigation, setPage } = useLayoutDataStore.getState();
|
|
21356
|
+
if (page !== "nickname-settings" /* NICKNAME_SETTINGS */) return;
|
|
21357
|
+
if (!openPostAuthNavigation()) setPage(null);
|
|
21358
|
+
}, 1500);
|
|
21312
21359
|
}
|
|
21313
21360
|
useNicknameStore.getState().setSuccess(t("passport:nicknameMenu.availability.nicknameChanged"));
|
|
21314
21361
|
setTimeout(() => {
|
|
@@ -21470,7 +21517,7 @@ var init_onboarding_setup6 = __esm({
|
|
|
21470
21517
|
import { useQuery as useQuery14 } from "@tanstack/react-query";
|
|
21471
21518
|
import dayjs4 from "dayjs";
|
|
21472
21519
|
import { ArrowLeft as ArrowLeft16, Loader as Loader16 } from "lucide-react";
|
|
21473
|
-
import { useEffect as
|
|
21520
|
+
import { useEffect as useEffect37 } from "react";
|
|
21474
21521
|
import { jsx as jsx92, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
21475
21522
|
function NicknameMenu() {
|
|
21476
21523
|
const { isInitialUser } = usePageParams().current;
|
|
@@ -21491,7 +21538,7 @@ function NicknameMenu() {
|
|
|
21491
21538
|
queryFn: async () => await getNicknameInfo()
|
|
21492
21539
|
});
|
|
21493
21540
|
const resolvedError = nicknameError || nicknameInfoError?.message || null;
|
|
21494
|
-
|
|
21541
|
+
useEffect37(() => () => useNicknameStore.getState().reset(), []);
|
|
21495
21542
|
return /* @__PURE__ */ jsx92(
|
|
21496
21543
|
"div",
|
|
21497
21544
|
{
|
|
@@ -21547,7 +21594,10 @@ function NicknameMenu() {
|
|
|
21547
21594
|
variant: "default",
|
|
21548
21595
|
size: "large",
|
|
21549
21596
|
title: t("passport:common.continue"),
|
|
21550
|
-
onClick: () =>
|
|
21597
|
+
onClick: () => {
|
|
21598
|
+
const { openPostAuthNavigation, setPage } = useLayoutDataStore.getState();
|
|
21599
|
+
if (!openPostAuthNavigation()) setPage(null);
|
|
21600
|
+
},
|
|
21551
21601
|
className: "w-full",
|
|
21552
21602
|
children: [
|
|
21553
21603
|
t("passport:common.continue"),
|
|
@@ -21905,7 +21955,7 @@ var init_utils8 = __esm({
|
|
|
21905
21955
|
// src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts
|
|
21906
21956
|
import { createBlockscoutClient as createBlockscoutClient2, nonBlockscoutClient } from "@embarkai/core";
|
|
21907
21957
|
import { useQuery as useQuery17, useQueryClient as useQueryClient20 } from "@tanstack/react-query";
|
|
21908
|
-
import { useCallback as useCallback25, useMemo as useMemo13, useRef as
|
|
21958
|
+
import { useCallback as useCallback25, useMemo as useMemo13, useRef as useRef18 } from "react";
|
|
21909
21959
|
function useBlockscoutAssets(options) {
|
|
21910
21960
|
const { address, chainId, enabled = true, detectSecurityTokens = true } = options;
|
|
21911
21961
|
const qc = useQueryClient20();
|
|
@@ -21920,7 +21970,7 @@ function useBlockscoutAssets(options) {
|
|
|
21920
21970
|
() => blockscoutApiUrl ? createBlockscoutClient2({ baseUrl: blockscoutApiUrl }) : null,
|
|
21921
21971
|
[blockscoutApiUrl]
|
|
21922
21972
|
);
|
|
21923
|
-
const lastRefreshRef =
|
|
21973
|
+
const lastRefreshRef = useRef18(0);
|
|
21924
21974
|
const {
|
|
21925
21975
|
data: watchTokenAssets = [],
|
|
21926
21976
|
isLoading: watchTokensLoading,
|
|
@@ -22677,7 +22727,7 @@ var init_onboarding_setup7 = __esm({
|
|
|
22677
22727
|
import { useQuery as useQuery19 } from "@tanstack/react-query";
|
|
22678
22728
|
import { ArrowLeft as ArrowLeft18, AtSignIcon as AtSignIcon2, CheckCircle2 as CheckCircle23, Copy as Copy2, FingerprintIcon, LoaderIcon as LoaderIcon12, Wallet2Icon as Wallet2Icon3 } from "lucide-react";
|
|
22679
22729
|
import QRCode from "qrcode";
|
|
22680
|
-
import { useEffect as
|
|
22730
|
+
import { useEffect as useEffect38, useMemo as useMemo15, useState as useState23 } from "react";
|
|
22681
22731
|
import { Fragment as Fragment32, jsx as jsx96, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
22682
22732
|
function ReceiveMenu() {
|
|
22683
22733
|
const { t } = useT();
|
|
@@ -22704,7 +22754,7 @@ function ReceiveMenu() {
|
|
|
22704
22754
|
return null;
|
|
22705
22755
|
}
|
|
22706
22756
|
}, [session?.ownerAddress]);
|
|
22707
|
-
|
|
22757
|
+
useEffect38(() => {
|
|
22708
22758
|
if (!address) return;
|
|
22709
22759
|
QRCode.toDataURL(address, {
|
|
22710
22760
|
width: 200,
|
|
@@ -23079,7 +23129,7 @@ var init_ConnectedApps = __esm({
|
|
|
23079
23129
|
});
|
|
23080
23130
|
|
|
23081
23131
|
// src/internal/components/SecurityMenu/ConnectedApps/UntrustApplication.tsx
|
|
23082
|
-
import { useMutation as
|
|
23132
|
+
import { useMutation as useMutation17, useQueryClient as useQueryClient22 } from "@tanstack/react-query";
|
|
23083
23133
|
import { AppWindowMac as AppWindowMac2, Loader as Loader18 } from "lucide-react";
|
|
23084
23134
|
import { jsx as jsx98, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
23085
23135
|
function UntrustApplication() {
|
|
@@ -23087,7 +23137,7 @@ function UntrustApplication() {
|
|
|
23087
23137
|
const qc = useQueryClient22();
|
|
23088
23138
|
const userId = useSession((st) => st?.session?.mpcUserId);
|
|
23089
23139
|
const appToUntrust = useSecurityStore((st) => st.appToUntrust);
|
|
23090
|
-
const { mutate: handleUntrustApp, isPending: isUntrustingApp } =
|
|
23140
|
+
const { mutate: handleUntrustApp, isPending: isUntrustingApp } = useMutation17({
|
|
23091
23141
|
mutationFn: async () => {
|
|
23092
23142
|
if (!userId || !appToUntrust) return;
|
|
23093
23143
|
const iframeManager = getIframeManager();
|
|
@@ -23698,12 +23748,12 @@ var init_SenderSelector = __esm({
|
|
|
23698
23748
|
});
|
|
23699
23749
|
|
|
23700
23750
|
// src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts
|
|
23701
|
-
import { useEffect as
|
|
23751
|
+
import { useEffect as useEffect39, useRef as useRef19 } from "react";
|
|
23702
23752
|
function useAvailableSenders() {
|
|
23703
23753
|
const address = useSession((st) => st.address);
|
|
23704
23754
|
const { profiles } = useLinkedProfiles();
|
|
23705
|
-
const lastCalcedSenders =
|
|
23706
|
-
|
|
23755
|
+
const lastCalcedSenders = useRef19([]);
|
|
23756
|
+
useEffect39(() => {
|
|
23707
23757
|
const sendersAccumulator = [
|
|
23708
23758
|
{
|
|
23709
23759
|
type: "embarkai-wallet",
|
|
@@ -24192,7 +24242,7 @@ var init_useOperationHashesStore = __esm({
|
|
|
24192
24242
|
});
|
|
24193
24243
|
|
|
24194
24244
|
// src/internal/components/SendMenu/hyperbridge/hooks/useBridge.ts
|
|
24195
|
-
import { useMutation as
|
|
24245
|
+
import { useMutation as useMutation18, useQueryClient as useQueryClient23 } from "@tanstack/react-query";
|
|
24196
24246
|
import { useCallback as useCallback27 } from "react";
|
|
24197
24247
|
import { useSwitchChain, useWalletClient } from "wagmi";
|
|
24198
24248
|
function useBridge() {
|
|
@@ -24214,7 +24264,7 @@ function useBridge() {
|
|
|
24214
24264
|
setOriginChain(destinationChain);
|
|
24215
24265
|
setDestinationChain(originChain);
|
|
24216
24266
|
}, []);
|
|
24217
|
-
const { mutate: estimateQuote } =
|
|
24267
|
+
const { mutate: estimateQuote } = useMutation18({
|
|
24218
24268
|
mutationFn: async (amountToBridge) => {
|
|
24219
24269
|
useFlowSelectorStore.getState().setError(null);
|
|
24220
24270
|
useFlowSelectorStore.getState().setIsUiLocked(true);
|
|
@@ -24281,7 +24331,7 @@ function useBridge() {
|
|
|
24281
24331
|
})
|
|
24282
24332
|
);
|
|
24283
24333
|
}, []);
|
|
24284
|
-
const { mutate: bridgeAsset, isPending: isAssetBridging } =
|
|
24334
|
+
const { mutate: bridgeAsset, isPending: isAssetBridging } = useMutation18({
|
|
24285
24335
|
mutationFn: async () => {
|
|
24286
24336
|
const directWalletAddress = useExternalWalletStore.getState().externalAddress;
|
|
24287
24337
|
const directWalletChainId = useExternalWalletStore.getState().externalChainId;
|
|
@@ -24406,7 +24456,7 @@ var init_useBridge = __esm({
|
|
|
24406
24456
|
|
|
24407
24457
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts
|
|
24408
24458
|
import { useQuery as useQuery22 } from "@tanstack/react-query";
|
|
24409
|
-
import { useEffect as
|
|
24459
|
+
import { useEffect as useEffect40 } from "react";
|
|
24410
24460
|
function useHyperlaneRoutes() {
|
|
24411
24461
|
const address = useSession((st) => st.address);
|
|
24412
24462
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -24422,7 +24472,7 @@ function useHyperlaneRoutes() {
|
|
|
24422
24472
|
queryKey: [HYPERLANE_WARP_ROUTES_QUERY_KEY, address],
|
|
24423
24473
|
queryFn: async () => await getHyperlaneWarpRoutes()
|
|
24424
24474
|
});
|
|
24425
|
-
|
|
24475
|
+
useEffect40(() => {
|
|
24426
24476
|
if (!errorWarpRoutes) return;
|
|
24427
24477
|
useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
|
|
24428
24478
|
const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
|
|
@@ -24431,7 +24481,7 @@ function useHyperlaneRoutes() {
|
|
|
24431
24481
|
setOriginChain(null);
|
|
24432
24482
|
setDestinationChain(null);
|
|
24433
24483
|
}, [errorWarpRoutes]);
|
|
24434
|
-
|
|
24484
|
+
useEffect40(() => {
|
|
24435
24485
|
if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
|
|
24436
24486
|
let targetHyperRouteToSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
|
|
24437
24487
|
if (!targetHyperRouteToSelect) {
|
|
@@ -24470,13 +24520,13 @@ var init_useHyperlaneRoutes = __esm({
|
|
|
24470
24520
|
});
|
|
24471
24521
|
|
|
24472
24522
|
// src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts
|
|
24473
|
-
import { useEffect as
|
|
24523
|
+
import { useEffect as useEffect41 } from "react";
|
|
24474
24524
|
function useMenuTitle(warpRoutes) {
|
|
24475
24525
|
const { t } = useT();
|
|
24476
24526
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
24477
24527
|
const hyperRoute = useBridgeStore((st) => st.hyperRoute);
|
|
24478
24528
|
const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
|
|
24479
|
-
|
|
24529
|
+
useEffect41(() => {
|
|
24480
24530
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
24481
24531
|
switch (true) {
|
|
24482
24532
|
case bridgeStep === "sender-selector":
|
|
@@ -24669,7 +24719,7 @@ var init_ResolveChainIcon = __esm({
|
|
|
24669
24719
|
// src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
|
|
24670
24720
|
import { CHAINS_BROWSERS_TRANSPORTS as CHAINS_BROWSERS_TRANSPORTS2 } from "@embarkai/core";
|
|
24671
24721
|
import { useQuery as useQuery23, useQueryClient as useQueryClient24 } from "@tanstack/react-query";
|
|
24672
|
-
import { useCallback as useCallback28, useEffect as
|
|
24722
|
+
import { useCallback as useCallback28, useEffect as useEffect42 } from "react";
|
|
24673
24723
|
import { createPublicClient as createPublicClient2, erc20Abi as erc20Abi3, formatUnits as formatUnits8, http as http3 } from "viem";
|
|
24674
24724
|
import { useSwitchChain as useSwitchChain2 } from "wagmi";
|
|
24675
24725
|
function useBridgeBalance(isLoadingWarpRoutes, hyperlaneWarpRoutes) {
|
|
@@ -24775,7 +24825,7 @@ function useBridgeBalance(isLoadingWarpRoutes, hyperlaneWarpRoutes) {
|
|
|
24775
24825
|
},
|
|
24776
24826
|
[refreshBalances, qc]
|
|
24777
24827
|
);
|
|
24778
|
-
|
|
24828
|
+
useEffect42(() => {
|
|
24779
24829
|
if (!!isLoadingWarpRoutes || !bridgeSender || !originChain) return;
|
|
24780
24830
|
switch (bridgeSender) {
|
|
24781
24831
|
case "embarkai-wallet":
|
|
@@ -25738,7 +25788,7 @@ var init_steps = __esm({
|
|
|
25738
25788
|
});
|
|
25739
25789
|
|
|
25740
25790
|
// src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx
|
|
25741
|
-
import { useEffect as
|
|
25791
|
+
import { useEffect as useEffect43 } from "react";
|
|
25742
25792
|
import { jsx as jsx111, jsxs as jsxs101 } from "react/jsx-runtime";
|
|
25743
25793
|
function HyperlaneBridge() {
|
|
25744
25794
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
@@ -25746,7 +25796,7 @@ function HyperlaneBridge() {
|
|
|
25746
25796
|
const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
|
|
25747
25797
|
const { directWalletProfiles } = useAvailableSenders();
|
|
25748
25798
|
useMenuTitle(hyperlaneWarpRoutes);
|
|
25749
|
-
|
|
25799
|
+
useEffect43(() => {
|
|
25750
25800
|
return () => {
|
|
25751
25801
|
useBridgeStore.getState().resetSelections();
|
|
25752
25802
|
};
|
|
@@ -25792,14 +25842,14 @@ var init_HyperlaneBridge = __esm({
|
|
|
25792
25842
|
});
|
|
25793
25843
|
|
|
25794
25844
|
// src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx
|
|
25795
|
-
import { useRef as
|
|
25845
|
+
import { useRef as useRef20 } from "react";
|
|
25796
25846
|
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
25797
25847
|
function BridgeHistorySwitch(props) {
|
|
25798
25848
|
const { disabled } = props;
|
|
25799
25849
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
25800
25850
|
const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
|
|
25801
25851
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
25802
|
-
const lastBridgeStepRef =
|
|
25852
|
+
const lastBridgeStepRef = useRef20(null);
|
|
25803
25853
|
if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
|
|
25804
25854
|
return null;
|
|
25805
25855
|
}
|
|
@@ -25901,7 +25951,7 @@ var init_useErc3643Compliance = __esm({
|
|
|
25901
25951
|
|
|
25902
25952
|
// src/hooks/useNicknameResolve.ts
|
|
25903
25953
|
import { useQuery as useQuery24 } from "@tanstack/react-query";
|
|
25904
|
-
import { useEffect as
|
|
25954
|
+
import { useEffect as useEffect44, useMemo as useMemo18, useState as useState25 } from "react";
|
|
25905
25955
|
function looksLikeNickname(input) {
|
|
25906
25956
|
if (!input) return false;
|
|
25907
25957
|
if (input.startsWith("0x")) return false;
|
|
@@ -25915,7 +25965,7 @@ function useNicknameResolve(input, options) {
|
|
|
25915
25965
|
const [isDebouncing, setIsDebouncing] = useState25(false);
|
|
25916
25966
|
const normalized = normalizeNickname(input);
|
|
25917
25967
|
const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
|
|
25918
|
-
|
|
25968
|
+
useEffect44(() => {
|
|
25919
25969
|
if (!isNicknameInput || !enabled) {
|
|
25920
25970
|
setDebouncedInput("");
|
|
25921
25971
|
setIsDebouncing(false);
|
|
@@ -26383,7 +26433,7 @@ var init_AssetList = __esm({
|
|
|
26383
26433
|
|
|
26384
26434
|
// src/internal/components/SendMenu/send/components/NicknameData.tsx
|
|
26385
26435
|
import { AtSign, CheckCircle2 as CheckCircle24, ShieldAlert, ShieldCheck as ShieldCheck2 } from "lucide-react";
|
|
26386
|
-
import { useEffect as
|
|
26436
|
+
import { useEffect as useEffect45 } from "react";
|
|
26387
26437
|
import { jsx as jsx116, jsxs as jsxs105 } from "react/jsx-runtime";
|
|
26388
26438
|
function NicknameData(props) {
|
|
26389
26439
|
const { resolvedNicknameData, isNicknameInput } = props;
|
|
@@ -26396,7 +26446,7 @@ function NicknameData(props) {
|
|
|
26396
26446
|
isWalletNotSetup,
|
|
26397
26447
|
isFrozen
|
|
26398
26448
|
} = resolvedNicknameData;
|
|
26399
|
-
|
|
26449
|
+
useEffect45(() => {
|
|
26400
26450
|
if (isResolving) return;
|
|
26401
26451
|
let errMessage = null;
|
|
26402
26452
|
switch (true) {
|
|
@@ -26765,7 +26815,7 @@ var init_InputSendStep = __esm({
|
|
|
26765
26815
|
});
|
|
26766
26816
|
|
|
26767
26817
|
// src/internal/components/SendMenu/send/sendSteps/ConfirmSendStep.tsx
|
|
26768
|
-
import { useMutation as
|
|
26818
|
+
import { useMutation as useMutation19 } from "@tanstack/react-query";
|
|
26769
26819
|
import { AlertTriangle as AlertTriangle3, AtSign as AtSign3, Loader as Loader21, Shield, ShieldAlert as ShieldAlert2, ShieldCheck as ShieldCheck3 } from "lucide-react";
|
|
26770
26820
|
import { Fragment as Fragment41, jsx as jsx118, jsxs as jsxs107 } from "react/jsx-runtime";
|
|
26771
26821
|
function ConfirmSendStep(props) {
|
|
@@ -26779,7 +26829,7 @@ function ConfirmSendStep(props) {
|
|
|
26779
26829
|
const isNft = isNftAsset3(selectedAsset);
|
|
26780
26830
|
const isSecurity = isSecurityToken2(selectedAsset);
|
|
26781
26831
|
const effectiveAddress = isNicknameInput ? resolvedAddress : recipient;
|
|
26782
|
-
const { mutate: handleConfirm, isPending: isTransactionPending } =
|
|
26832
|
+
const { mutate: handleConfirm, isPending: isTransactionPending } = useMutation19({
|
|
26783
26833
|
mutationFn: async () => {
|
|
26784
26834
|
if (!effectiveAddress || !selectedAsset) return;
|
|
26785
26835
|
setTxStep("pending");
|
|
@@ -26965,7 +27015,7 @@ var init_sendSteps = __esm({
|
|
|
26965
27015
|
|
|
26966
27016
|
// src/internal/components/SendMenu/send/SendMenu.tsx
|
|
26967
27017
|
import { CheckCircle2 as CheckCircle26, Loader as Loader27 } from "lucide-react";
|
|
26968
|
-
import { useEffect as
|
|
27018
|
+
import { useEffect as useEffect46, useMemo as useMemo19 } from "react";
|
|
26969
27019
|
import { parseUnits as parseUnits2 } from "viem";
|
|
26970
27020
|
import { Fragment as Fragment42, jsx as jsx119, jsxs as jsxs108 } from "react/jsx-runtime";
|
|
26971
27021
|
function SendMenu() {
|
|
@@ -26986,16 +27036,16 @@ function SendMenu() {
|
|
|
26986
27036
|
userOpHash,
|
|
26987
27037
|
reset
|
|
26988
27038
|
} = useSendTransaction();
|
|
26989
|
-
|
|
27039
|
+
useEffect46(() => {
|
|
26990
27040
|
useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
|
|
26991
27041
|
}, [isAssetsLoading, isTransactionPending]);
|
|
26992
|
-
|
|
27042
|
+
useEffect46(() => {
|
|
26993
27043
|
useFlowSelectorStore.getState().setError(sendTransactionError || null);
|
|
26994
27044
|
}, [sendTransactionError]);
|
|
26995
27045
|
const { txStep, recipient, amount, selectedAsset, setSelectedAsset } = useSendStore();
|
|
26996
27046
|
const isNft = isNftAsset3(selectedAsset);
|
|
26997
27047
|
const isSecurity = isSecurityToken2(selectedAsset);
|
|
26998
|
-
|
|
27048
|
+
useEffect46(() => {
|
|
26999
27049
|
const shouldDefaultAsset = assets.length > 0 && !selectedAsset;
|
|
27000
27050
|
if (!shouldDefaultAsset) return;
|
|
27001
27051
|
const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
|
|
@@ -27005,7 +27055,7 @@ function SendMenu() {
|
|
|
27005
27055
|
if (isBalance(erc20)) return setSelectedAsset(erc20);
|
|
27006
27056
|
setSelectedAsset(assets[0]);
|
|
27007
27057
|
}, [assets, selectedAsset]);
|
|
27008
|
-
|
|
27058
|
+
useEffect46(
|
|
27009
27059
|
() => () => {
|
|
27010
27060
|
useSendStore.getState().reset();
|
|
27011
27061
|
reset();
|
|
@@ -27030,7 +27080,7 @@ function SendMenu() {
|
|
|
27030
27080
|
enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
|
|
27031
27081
|
chainId: activeChainId
|
|
27032
27082
|
});
|
|
27033
|
-
|
|
27083
|
+
useEffect46(() => {
|
|
27034
27084
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
27035
27085
|
switch (true) {
|
|
27036
27086
|
case txStep === "select-asset":
|
|
@@ -27129,10 +27179,10 @@ var init_send = __esm({
|
|
|
27129
27179
|
|
|
27130
27180
|
// src/internal/components/SendMenu/useSendMenuParams.ts
|
|
27131
27181
|
import { keys as keys3 } from "lodash-es";
|
|
27132
|
-
import { useEffect as
|
|
27182
|
+
import { useEffect as useEffect47 } from "react";
|
|
27133
27183
|
function useSendMenuParams() {
|
|
27134
27184
|
const { config } = useProviderConfig();
|
|
27135
|
-
|
|
27185
|
+
useEffect47(() => {
|
|
27136
27186
|
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
27137
27187
|
if (!pageParams || !keys3(pageParams).length) return;
|
|
27138
27188
|
const { sendFlow, send, bridge } = pageParams || {};
|
|
@@ -27197,7 +27247,7 @@ var init_useSendMenuParams = __esm({
|
|
|
27197
27247
|
|
|
27198
27248
|
// src/internal/components/SendMenu/SendFlowSelector.tsx
|
|
27199
27249
|
import { ArrowLeft as ArrowLeft20, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2 } from "lucide-react";
|
|
27200
|
-
import { useEffect as
|
|
27250
|
+
import { useEffect as useEffect48, useMemo as useMemo20 } from "react";
|
|
27201
27251
|
import { jsx as jsx120, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
27202
27252
|
function SelectorFlowButtons() {
|
|
27203
27253
|
const { t } = useT();
|
|
@@ -27259,13 +27309,13 @@ function SendFlowSelector() {
|
|
|
27259
27309
|
const sendStep = useSendStore((st) => st.txStep);
|
|
27260
27310
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
27261
27311
|
useOnboardingTourAvailable(sendStep === "input" && bridgeStep === "select");
|
|
27262
|
-
|
|
27312
|
+
useEffect48(
|
|
27263
27313
|
() => () => {
|
|
27264
27314
|
useFlowSelectorStore.getState().setError(null);
|
|
27265
27315
|
},
|
|
27266
27316
|
[]
|
|
27267
27317
|
);
|
|
27268
|
-
|
|
27318
|
+
useEffect48(() => {
|
|
27269
27319
|
if (!!config?.current?.features?.showAssetBridge) return;
|
|
27270
27320
|
if (selectorFlow === "bridge") useFlowSelectorStore.getState().setFlow("send");
|
|
27271
27321
|
}, [selectorFlow]);
|
|
@@ -28370,7 +28420,7 @@ var init_onboarding_setup11 = __esm({
|
|
|
28370
28420
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
28371
28421
|
import { useQuery as useQuery27 } from "@tanstack/react-query";
|
|
28372
28422
|
import { ArrowLeft as ArrowLeft22, HardDrive as HardDrive3 } from "lucide-react";
|
|
28373
|
-
import { useEffect as
|
|
28423
|
+
import { useEffect as useEffect49 } from "react";
|
|
28374
28424
|
import { jsx as jsx123, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
28375
28425
|
function useSettingsButtons(chainId) {
|
|
28376
28426
|
const config = useProviderConfig().config;
|
|
@@ -28392,7 +28442,7 @@ function useSettingsButtons(chainId) {
|
|
|
28392
28442
|
if (proMode) {
|
|
28393
28443
|
settingsButtons.push({ id: "devices" /* DEVICES */, name: "passport:guardiansMenu.title", Icon: HardDrive3 });
|
|
28394
28444
|
}
|
|
28395
|
-
|
|
28445
|
+
useEffect49(() => {
|
|
28396
28446
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
28397
28447
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
28398
28448
|
return;
|
|
@@ -28697,7 +28747,7 @@ var init_PageMap = __esm({
|
|
|
28697
28747
|
});
|
|
28698
28748
|
|
|
28699
28749
|
// src/internal/hooks/usePageMapper.tsx
|
|
28700
|
-
import { useCallback as useCallback31, useEffect as
|
|
28750
|
+
import { useCallback as useCallback31, useEffect as useEffect50 } from "react";
|
|
28701
28751
|
import { jsx as jsx125 } from "react/jsx-runtime";
|
|
28702
28752
|
function usePageMapper() {
|
|
28703
28753
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -28730,7 +28780,7 @@ function usePageMapper() {
|
|
|
28730
28780
|
},
|
|
28731
28781
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
28732
28782
|
);
|
|
28733
|
-
|
|
28783
|
+
useEffect50(() => {
|
|
28734
28784
|
if (page === null) return closeDialog();
|
|
28735
28785
|
const pageItem = PAGE_MAP[page];
|
|
28736
28786
|
if (!pageItem) {
|
|
@@ -28753,20 +28803,20 @@ var init_usePageMapper = __esm({
|
|
|
28753
28803
|
});
|
|
28754
28804
|
|
|
28755
28805
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
28756
|
-
import { useEffect as
|
|
28806
|
+
import { useEffect as useEffect51 } from "react";
|
|
28757
28807
|
function useSettingsNotifications() {
|
|
28758
28808
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
28759
28809
|
const providers = jwtTokenManager2.getProviders();
|
|
28760
28810
|
const hasEmail = providers.includes("email");
|
|
28761
28811
|
const { data: userProfile = null } = useUserProfile();
|
|
28762
|
-
|
|
28812
|
+
useEffect51(() => {
|
|
28763
28813
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
28764
28814
|
setSettingsNotifications({
|
|
28765
28815
|
...COMPLETE_KYC_PROGRESS,
|
|
28766
28816
|
status: isKYCVerified ? "resolved" : "active"
|
|
28767
28817
|
});
|
|
28768
28818
|
}, [userProfile, setSettingsNotifications]);
|
|
28769
|
-
|
|
28819
|
+
useEffect51(() => {
|
|
28770
28820
|
setSettingsNotifications({
|
|
28771
28821
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
28772
28822
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -28798,7 +28848,7 @@ var init_package = __esm({
|
|
|
28798
28848
|
"package.json"() {
|
|
28799
28849
|
package_default = {
|
|
28800
28850
|
name: "@embarkai/ui-kit",
|
|
28801
|
-
version: "0.4.
|
|
28851
|
+
version: "0.4.92",
|
|
28802
28852
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
28803
28853
|
type: "module",
|
|
28804
28854
|
main: "./dist/index.cjs",
|
|
@@ -28853,9 +28903,9 @@ var init_package = __esm({
|
|
|
28853
28903
|
clsx: "^2.1.1",
|
|
28854
28904
|
dayjs: "^1.11.21",
|
|
28855
28905
|
"dkls23-wasm": "^0.1.1",
|
|
28856
|
-
"framer-motion": "^12.40.0",
|
|
28857
28906
|
"lodash-es": "^4.18.1",
|
|
28858
28907
|
"lucide-react": "^1.28.0",
|
|
28908
|
+
motion: "^13.1.1",
|
|
28859
28909
|
qrcode: "^1.5.4",
|
|
28860
28910
|
viem: "^2.52.2",
|
|
28861
28911
|
wagmi: "^3.7.5",
|
|
@@ -28898,7 +28948,7 @@ var init_package = __esm({
|
|
|
28898
28948
|
});
|
|
28899
28949
|
|
|
28900
28950
|
// src/internal/components/Footer/Footer.tsx
|
|
28901
|
-
import { useMutation as
|
|
28951
|
+
import { useMutation as useMutation20, useQueryClient as useQueryClient27 } from "@tanstack/react-query";
|
|
28902
28952
|
import { Loader as Loader29, LogOut } from "lucide-react";
|
|
28903
28953
|
import { useDisconnect as useDisconnect5 } from "wagmi";
|
|
28904
28954
|
import { jsx as jsx126, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
@@ -28920,7 +28970,7 @@ function Footer() {
|
|
|
28920
28970
|
}
|
|
28921
28971
|
}
|
|
28922
28972
|
});
|
|
28923
|
-
const { mutate: disconnect, isPending: isDisconnecting } =
|
|
28973
|
+
const { mutate: disconnect, isPending: isDisconnecting } = useMutation20({
|
|
28924
28974
|
mutationFn: async (disconnectAddress) => {
|
|
28925
28975
|
if (!disconnectAddress) throw new Error("No address to disconnect");
|
|
28926
28976
|
const { setError, setStatus, setIsLoading } = useSession.getState();
|
|
@@ -29119,7 +29169,7 @@ var init_onborading_setup = __esm({
|
|
|
29119
29169
|
|
|
29120
29170
|
// src/internal/components/Header/Header.tsx
|
|
29121
29171
|
import { CircleQuestionMarkIcon, Copy as Copy4, Loader as Loader30 } from "lucide-react";
|
|
29122
|
-
import { useCallback as useCallback32, useRef as
|
|
29172
|
+
import { useCallback as useCallback32, useRef as useRef21, useState as useState29 } from "react";
|
|
29123
29173
|
import { Fragment as Fragment44, jsx as jsx127, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
29124
29174
|
function formatAddress2(addr) {
|
|
29125
29175
|
if (!addr) return "";
|
|
@@ -29134,8 +29184,8 @@ function Header() {
|
|
|
29134
29184
|
const proMode = useProMode();
|
|
29135
29185
|
const [proToast, setProToast] = useState29(false);
|
|
29136
29186
|
const [copied, setCopied] = useState29(false);
|
|
29137
|
-
const clickCountRef =
|
|
29138
|
-
const clickTimerRef =
|
|
29187
|
+
const clickCountRef = useRef21(0);
|
|
29188
|
+
const clickTimerRef = useRef21(null);
|
|
29139
29189
|
const handleAvatarClick = useCallback32(() => {
|
|
29140
29190
|
clickCountRef.current += 1;
|
|
29141
29191
|
if (clickTimerRef.current) {
|
|
@@ -29454,8 +29504,8 @@ var init_visually_hidden = __esm({
|
|
|
29454
29504
|
});
|
|
29455
29505
|
|
|
29456
29506
|
// src/internal/components/Dialog/Dialog.tsx
|
|
29457
|
-
import { AnimatePresence, motion } from "
|
|
29458
|
-
import { useEffect as
|
|
29507
|
+
import { AnimatePresence, motion } from "motion/react";
|
|
29508
|
+
import { useEffect as useEffect52 } from "react";
|
|
29459
29509
|
import { jsx as jsx130, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
29460
29510
|
function Dialog2() {
|
|
29461
29511
|
const config = useProviderConfig().config;
|
|
@@ -29467,7 +29517,7 @@ function Dialog2() {
|
|
|
29467
29517
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
29468
29518
|
const setPostAuthNavigation = useLayoutDataStore((st) => st.setPostAuthNavigation);
|
|
29469
29519
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
29470
|
-
|
|
29520
|
+
useEffect52(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
29471
29521
|
usePageMapper();
|
|
29472
29522
|
useAutoConnect();
|
|
29473
29523
|
useBackupStatusChanges();
|
|
@@ -29546,19 +29596,19 @@ var init_Dialog2 = __esm({
|
|
|
29546
29596
|
});
|
|
29547
29597
|
|
|
29548
29598
|
// src/internal/components/DirectWalletHandler.tsx
|
|
29549
|
-
import { useEffect as
|
|
29599
|
+
import { useEffect as useEffect53 } from "react";
|
|
29550
29600
|
import { useConnection as useConnection2 } from "wagmi";
|
|
29551
29601
|
function DirectWalletHandler() {
|
|
29552
29602
|
const walletMode = useProviderConfig().config.current?.wallet?.mode || "both";
|
|
29553
29603
|
const externalAddress = useExternalWalletStore((st) => st.externalAddress);
|
|
29554
29604
|
const isExternalConnected = useExternalWalletStore((st) => st.isExternalConnected);
|
|
29555
29605
|
const { address, isConnected, chain, connector } = useConnection2();
|
|
29556
|
-
|
|
29606
|
+
useEffect53(() => {
|
|
29557
29607
|
const { setConfigMode, setActiveMode } = useExternalWalletStore.getState();
|
|
29558
29608
|
setConfigMode(walletMode);
|
|
29559
29609
|
if (walletMode !== "both") setActiveMode(walletMode);
|
|
29560
29610
|
}, [walletMode]);
|
|
29561
|
-
|
|
29611
|
+
useEffect53(() => {
|
|
29562
29612
|
if ((!!externalAddress || isExternalConnected) && !isConnected) {
|
|
29563
29613
|
useExternalWalletStore.getState().clearExternalWallet();
|
|
29564
29614
|
return;
|
|
@@ -29707,6 +29757,7 @@ var init_SessionContext = __esm({
|
|
|
29707
29757
|
isIframeReady: false,
|
|
29708
29758
|
hasServerVault: true,
|
|
29709
29759
|
// assume true until proven otherwise to not throw red warnings before checking
|
|
29760
|
+
isServerVaultChecked: false,
|
|
29710
29761
|
walletReadyStatus: null,
|
|
29711
29762
|
hasHydrated: false,
|
|
29712
29763
|
// Will be set after hydration from localStorage or default to TESTNET
|
|
@@ -29724,7 +29775,8 @@ var init_SessionContext = __esm({
|
|
|
29724
29775
|
setStatus: (s) => set({ status: s }),
|
|
29725
29776
|
setError: (e) => set({ error: e }),
|
|
29726
29777
|
setRecoveryUserId: (userId) => set({ recoveryUserId: userId }),
|
|
29727
|
-
|
|
29778
|
+
// every caller passes a definitive answer, so the first one lifts the optimistic default
|
|
29779
|
+
setHasServerVault: (hasServerVault) => set({ hasServerVault, isServerVaultChecked: true }),
|
|
29728
29780
|
setWalletReadyStatus: (status) => set({ walletReadyStatus: status }),
|
|
29729
29781
|
setActiveChainId: (activeChainId) => set({ activeChainId }),
|
|
29730
29782
|
setActiveChain: (chainParams) => set({ ...chainParams })
|
|
@@ -29868,6 +29920,7 @@ __export(vaultClient_exports, {
|
|
|
29868
29920
|
backupToServer: () => backupToServer,
|
|
29869
29921
|
checkPasskeyAvailability: () => checkPasskeyAvailability,
|
|
29870
29922
|
checkServerBackupAvailability: () => checkServerBackupAvailability,
|
|
29923
|
+
checkShareRecoveryStats: () => checkShareRecoveryStats,
|
|
29871
29924
|
clearBackupStatus: () => clearBackupStatus,
|
|
29872
29925
|
deleteShare: () => deleteShare,
|
|
29873
29926
|
getAvailableCloudProviders: () => getAvailableCloudProviders2,
|
|
@@ -29876,6 +29929,7 @@ __export(vaultClient_exports, {
|
|
|
29876
29929
|
getCurrentKeyshareBackupData: () => getCurrentKeyshareBackupData,
|
|
29877
29930
|
getShare: () => getShare,
|
|
29878
29931
|
getShareRecoveryStats: () => getShareRecoveryStats,
|
|
29932
|
+
hasRecoveryData: () => hasRecoveryData,
|
|
29879
29933
|
isCloudShareSupported: () => isCloudShareSupported,
|
|
29880
29934
|
restoreFromBackup: () => restoreFromBackup,
|
|
29881
29935
|
restoreFromServer: () => restoreFromServer,
|
|
@@ -29925,20 +29979,29 @@ async function getShareVaultToken(scopes) {
|
|
|
29925
29979
|
expiresAt: Date.now() + (data.expiresIn || 300) * 1e3
|
|
29926
29980
|
};
|
|
29927
29981
|
}
|
|
29928
|
-
async function
|
|
29982
|
+
async function checkShareRecoveryStats() {
|
|
29929
29983
|
try {
|
|
29930
29984
|
const token = await getShareVaultToken(["share:get"]);
|
|
29931
29985
|
const response = await fetch(`${getShareVaultUrl()}/v1/shares/me/recovery/stats`, {
|
|
29932
29986
|
method: "GET",
|
|
29933
29987
|
headers: { "Authorization": `Bearer ${token.token}`, "Content-Type": "application/json" }
|
|
29934
29988
|
});
|
|
29935
|
-
if (response.status === 404) return null;
|
|
29936
|
-
if (!response.ok)
|
|
29937
|
-
|
|
29938
|
-
|
|
29939
|
-
return
|
|
29989
|
+
if (response.status === 404) return { ok: true, stats: null };
|
|
29990
|
+
if (!response.ok) {
|
|
29991
|
+
return { ok: false, stats: null, error: new Error(`Recovery stats request failed: ${response.status}`) };
|
|
29992
|
+
}
|
|
29993
|
+
return { ok: true, stats: await response.json() };
|
|
29994
|
+
} catch (error) {
|
|
29995
|
+
return { ok: false, stats: null, error };
|
|
29940
29996
|
}
|
|
29941
29997
|
}
|
|
29998
|
+
function hasRecoveryData(stats) {
|
|
29999
|
+
return !!stats && (!!stats.created || !!stats.devices?.length);
|
|
30000
|
+
}
|
|
30001
|
+
async function getShareRecoveryStats() {
|
|
30002
|
+
const result = await checkShareRecoveryStats();
|
|
30003
|
+
return result.ok ? result.stats : null;
|
|
30004
|
+
}
|
|
29942
30005
|
async function getShare() {
|
|
29943
30006
|
const token = await getShareVaultToken(["share:get"]);
|
|
29944
30007
|
const response = await fetch(`${getShareVaultUrl()}/v1/shares/me`, {
|
|
@@ -32142,9 +32205,9 @@ import {
|
|
|
32142
32205
|
createContext,
|
|
32143
32206
|
useCallback as useCallback34,
|
|
32144
32207
|
useContext,
|
|
32145
|
-
useEffect as
|
|
32208
|
+
useEffect as useEffect54,
|
|
32146
32209
|
useMemo as useMemo21,
|
|
32147
|
-
useRef as
|
|
32210
|
+
useRef as useRef22
|
|
32148
32211
|
} from "react";
|
|
32149
32212
|
import { WagmiProvider as NativeWagmiProvider } from "wagmi";
|
|
32150
32213
|
import { jsx as jsx132 } from "react/jsx-runtime";
|
|
@@ -32165,9 +32228,9 @@ function clearLegacyWagmiStorage() {
|
|
|
32165
32228
|
}
|
|
32166
32229
|
function Provider(props) {
|
|
32167
32230
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
32168
|
-
const callbacksRef =
|
|
32169
|
-
|
|
32170
|
-
const config =
|
|
32231
|
+
const callbacksRef = useRef22(callbacks);
|
|
32232
|
+
useEffect54(() => notifyNoProjetctId(projectId), [projectId]);
|
|
32233
|
+
const config = useRef22(merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
32171
32234
|
const updateConfig = useCallback34((updates) => {
|
|
32172
32235
|
const prev = config.current;
|
|
32173
32236
|
const next = { ...prev };
|
|
@@ -32207,7 +32270,7 @@ function Provider(props) {
|
|
|
32207
32270
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
32208
32271
|
callbacksRef.current = next;
|
|
32209
32272
|
}, []);
|
|
32210
|
-
|
|
32273
|
+
useEffect54(() => {
|
|
32211
32274
|
if (typeof window === "undefined" || !projectId) return;
|
|
32212
32275
|
const mergedConfig = merge3(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
32213
32276
|
updateConfig(mergedConfig);
|
|
@@ -32227,7 +32290,7 @@ function Provider(props) {
|
|
|
32227
32290
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
32228
32291
|
}
|
|
32229
32292
|
}, [projectId, initialConfig]);
|
|
32230
|
-
|
|
32293
|
+
useEffect54(() => {
|
|
32231
32294
|
if (typeof window === "undefined" || !projectId) return;
|
|
32232
32295
|
try {
|
|
32233
32296
|
initSdkErrorTracking();
|
|
@@ -32289,7 +32352,7 @@ var init_ProviderContext = __esm({
|
|
|
32289
32352
|
});
|
|
32290
32353
|
|
|
32291
32354
|
// src/styles/built.css
|
|
32292
|
-
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-primary-h:var(--embark-ui-primary-h,rgba(0,0,0,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,rgba(0,0,0,.6));--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-secondary-h:var(--embark-ui-secondary-h,hsla(0,0%,89%,.8));--ui-kit-secondary-a:var(--embark-ui-secondary-a,hsla(0,0%,89%,.6));--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-primary-h:var(--embark-ui-primary-h,hsla(0,0%,100%,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,hsla(0,0%,100%,.6));--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-secondary-h:var(--embark-ui-secondary-h,rgba(42,42,42,.6));--ui-kit-secondary-a:var(--embark-ui-secondary-a,rgba(42,42,42,.4));--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}`;
|
|
32355
|
+
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}`;
|
|
32293
32356
|
|
|
32294
32357
|
// src/index.ts
|
|
32295
32358
|
init_ProviderContext();
|
|
@@ -32310,7 +32373,7 @@ init_useUserProfile();
|
|
|
32310
32373
|
init_pro_mode();
|
|
32311
32374
|
init_utils();
|
|
32312
32375
|
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader31, Shield as Shield2 } from "lucide-react";
|
|
32313
|
-
import { useEffect as
|
|
32376
|
+
import { useEffect as useEffect55, useMemo as useMemo22 } from "react";
|
|
32314
32377
|
import { Fragment as Fragment46, jsx as jsx133, jsxs as jsxs119 } from "react/jsx-runtime";
|
|
32315
32378
|
function getFormattedStatus(label, status, showStatus) {
|
|
32316
32379
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
@@ -32330,7 +32393,7 @@ function ConnectWalletButton(props) {
|
|
|
32330
32393
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
32331
32394
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
32332
32395
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
32333
|
-
|
|
32396
|
+
useEffect55(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
32334
32397
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
32335
32398
|
const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
|
|
32336
32399
|
const indicators = useMemo22(() => {
|
|
@@ -32976,13 +33039,13 @@ var Hash = ({
|
|
|
32976
33039
|
|
|
32977
33040
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
32978
33041
|
init_base3();
|
|
32979
|
-
import { useEffect as
|
|
33042
|
+
import { useEffect as useEffect57, useState as useState33 } from "react";
|
|
32980
33043
|
import { jsx as jsx139, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
32981
33044
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
32982
33045
|
const [transactions, setTransactions] = useState33([]);
|
|
32983
33046
|
const [loading, setLoading] = useState33(true);
|
|
32984
33047
|
const [error, setError] = useState33(null);
|
|
32985
|
-
|
|
33048
|
+
useEffect57(() => {
|
|
32986
33049
|
const fetchTransactions2 = async () => {
|
|
32987
33050
|
try {
|
|
32988
33051
|
setLoading(true);
|