@embarkai/ui-kit 0.4.43 → 0.4.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +188 -185
- package/dist/index.d.cts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +326 -323
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5373,7 +5373,9 @@ var init_en = __esm({
|
|
|
5373
5373
|
next: "Next",
|
|
5374
5374
|
prev: "Prev",
|
|
5375
5375
|
page: "Page",
|
|
5376
|
+
details: "Details",
|
|
5376
5377
|
loading: "Loading",
|
|
5378
|
+
loadMore: "Load More",
|
|
5377
5379
|
max: "Max",
|
|
5378
5380
|
min: "Min",
|
|
5379
5381
|
search: "Search",
|
|
@@ -5705,7 +5707,9 @@ var init_ru = __esm({
|
|
|
5705
5707
|
next: "\u0421\u043B\u0435\u0434",
|
|
5706
5708
|
prev: "\u041F\u0440\u0435\u0434",
|
|
5707
5709
|
page: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430",
|
|
5710
|
+
details: "\u0414\u0435\u0442\u0430\u043B\u0438",
|
|
5708
5711
|
loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430",
|
|
5712
|
+
loadMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0451",
|
|
5709
5713
|
max: "\u041C\u0430\u043A\u0441",
|
|
5710
5714
|
min: "\u041C\u0438\u043D",
|
|
5711
5715
|
search: "\u041F\u043E\u0438\u0441\u043A",
|
|
@@ -6037,7 +6041,9 @@ var init_zh = __esm({
|
|
|
6037
6041
|
next: "\u4E0B\u4E00\u6B65",
|
|
6038
6042
|
prev: "\u4E0A\u4E00\u6B65",
|
|
6039
6043
|
page: "\u9875\u9762",
|
|
6044
|
+
details: "\u8BE6\u60C5",
|
|
6040
6045
|
loading: "\u52A0\u8F7D\u4E2D",
|
|
6046
|
+
loadMore: "\u52A0\u8F7D\u66F4\u591A",
|
|
6041
6047
|
max: "\u6700\u5927",
|
|
6042
6048
|
min: "\u6700\u5C0F",
|
|
6043
6049
|
search: "\u641C\u7D22",
|
|
@@ -9844,8 +9850,8 @@ var init_statuses = __esm({
|
|
|
9844
9850
|
import { useInfiniteQuery } from "@tanstack/react-query";
|
|
9845
9851
|
import dayjs from "dayjs";
|
|
9846
9852
|
import { debounce as debounce4 } from "lodash-es";
|
|
9847
|
-
import { LoaderIcon as LoaderIcon2 } from "lucide-react";
|
|
9848
|
-
import { useCallback as useCallback11, useEffect as useEffect11,
|
|
9853
|
+
import { DownloadIcon, ExternalLinkIcon, LoaderIcon as LoaderIcon2 } from "lucide-react";
|
|
9854
|
+
import { useCallback as useCallback11, useEffect as useEffect11, useMemo as useMemo4 } from "react";
|
|
9849
9855
|
import { jsx as jsx35, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
9850
9856
|
function getStatusVariant(status) {
|
|
9851
9857
|
switch (status) {
|
|
@@ -9865,7 +9871,7 @@ function BinanceTxHistoryItem(props) {
|
|
|
9865
9871
|
const { id, initPayload, txPayload, txStatus, createdAt, updatedAt } = props;
|
|
9866
9872
|
const { t } = useT();
|
|
9867
9873
|
const {
|
|
9868
|
-
type,
|
|
9874
|
+
// type,
|
|
9869
9875
|
// status,
|
|
9870
9876
|
// externalOrderId,
|
|
9871
9877
|
fiatCurrency,
|
|
@@ -9887,6 +9893,7 @@ function BinanceTxHistoryItem(props) {
|
|
|
9887
9893
|
} = txPayload || {};
|
|
9888
9894
|
const statusInfo = STATUS_CODE_TO_MESSAGE[txStatus];
|
|
9889
9895
|
const badgeVariant = getStatusVariant(txStatus);
|
|
9896
|
+
const TokenIcon = TOKENS_ICONS[cryptoCurrency.toUpperCase()] || TOKENS_ICONS["EMBARKAI"];
|
|
9890
9897
|
return /* @__PURE__ */ jsxs30(
|
|
9891
9898
|
"div",
|
|
9892
9899
|
{
|
|
@@ -9894,42 +9901,54 @@ function BinanceTxHistoryItem(props) {
|
|
|
9894
9901
|
"relative",
|
|
9895
9902
|
"w-full p-[var(--ui-kit-pd)]",
|
|
9896
9903
|
"rounded-[var(--ui-kit-el-bdrs)]",
|
|
9897
|
-
"bg-[var(--ui-kit-secondary
|
|
9904
|
+
"bg-[var(--ui-kit-secondary)]"
|
|
9898
9905
|
),
|
|
9899
9906
|
children: [
|
|
9900
9907
|
/* @__PURE__ */ jsx35(
|
|
9901
9908
|
Badge,
|
|
9902
9909
|
{
|
|
9903
9910
|
variant: badgeVariant,
|
|
9904
|
-
className: cn("absolute top-
|
|
9911
|
+
className: cn("absolute top-2 -translate-y-1/3 right-2", {
|
|
9905
9912
|
"bg-[var(--ui-kit-bg)] animate-glow-warning": badgeVariant === "outline"
|
|
9906
9913
|
}),
|
|
9907
9914
|
children: statusInfo?.type
|
|
9908
9915
|
}
|
|
9909
9916
|
),
|
|
9910
|
-
/* @__PURE__ */
|
|
9911
|
-
|
|
9912
|
-
/* @__PURE__ */
|
|
9913
|
-
|
|
9914
|
-
|
|
9915
|
-
|
|
9916
|
-
|
|
9917
|
-
|
|
9918
|
-
|
|
9919
|
-
|
|
9920
|
-
|
|
9921
|
-
|
|
9922
|
-
|
|
9923
|
-
fiatCurrency
|
|
9917
|
+
/* @__PURE__ */ jsxs30("div", { className: "w-full flex items-start gap-[var(--ui-kit-gap)] mb-1", children: [
|
|
9918
|
+
/* @__PURE__ */ jsx35(TokenIcon, { className: "w-8 h-8" }),
|
|
9919
|
+
/* @__PURE__ */ jsxs30("div", { className: "w-full", children: [
|
|
9920
|
+
/* @__PURE__ */ jsxs30("p", { className: "text-lg leading-5", children: [
|
|
9921
|
+
/* @__PURE__ */ jsx35("strong", { children: formatPrice(Number(cryptoAmount)) }),
|
|
9922
|
+
" ",
|
|
9923
|
+
cryptoCurrency
|
|
9924
|
+
] }),
|
|
9925
|
+
Number(fiatAmount || "0") > 0 && /* @__PURE__ */ jsxs30("p", { className: "text-[10px] leading-4", children: [
|
|
9926
|
+
formatPrice(Number(fiatAmount)),
|
|
9927
|
+
" ",
|
|
9928
|
+
fiatCurrency
|
|
9929
|
+
] })
|
|
9924
9930
|
] })
|
|
9925
9931
|
] }),
|
|
9926
|
-
/* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between", children: [
|
|
9927
|
-
/* @__PURE__ */ jsxs30("span", { className: cn("text-[10px] leading-
|
|
9928
|
-
"
|
|
9932
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between mb-1", children: [
|
|
9933
|
+
/* @__PURE__ */ jsxs30("span", { className: cn("text-[10px] leading-5 text-[var(--ui-kit-fg-muted)]"), children: [
|
|
9934
|
+
"ID: ",
|
|
9929
9935
|
id
|
|
9930
9936
|
] }),
|
|
9931
|
-
|
|
9932
|
-
] })
|
|
9937
|
+
/* @__PURE__ */ jsx35("span", { className: "text-[10px] leading-5 text-[var(--ui-kit-fg-muted)]", children: dayjs(updatedAt || createdAt).format("MMM D YYYY [at] HH:mm") })
|
|
9938
|
+
] }),
|
|
9939
|
+
orderDetailLink && /* @__PURE__ */ jsxs30(
|
|
9940
|
+
Button,
|
|
9941
|
+
{
|
|
9942
|
+
variant: "outline",
|
|
9943
|
+
size: "medium",
|
|
9944
|
+
className: "w-full",
|
|
9945
|
+
onClick: () => window.open(orderDetailLink, "_blank", "noopener,noreferrer"),
|
|
9946
|
+
children: [
|
|
9947
|
+
/* @__PURE__ */ jsx35(ExternalLinkIcon, { className: "w-4 h-4" }),
|
|
9948
|
+
/* @__PURE__ */ jsx35("span", { className: "text-xs leading-5", children: t("passport:common.details") })
|
|
9949
|
+
]
|
|
9950
|
+
}
|
|
9951
|
+
)
|
|
9933
9952
|
]
|
|
9934
9953
|
}
|
|
9935
9954
|
);
|
|
@@ -9937,9 +9956,8 @@ function BinanceTxHistoryItem(props) {
|
|
|
9937
9956
|
function BinanceTxHistory() {
|
|
9938
9957
|
const { t } = useT();
|
|
9939
9958
|
const walletAddress = useSession((st) => st.address);
|
|
9940
|
-
const [pagePointer, setPagePointer] = useState8(1);
|
|
9941
9959
|
const {
|
|
9942
|
-
data:
|
|
9960
|
+
data: historyData,
|
|
9943
9961
|
isLoading: isTxDataLoading,
|
|
9944
9962
|
isFetching: isTxDataFetching,
|
|
9945
9963
|
hasNextPage,
|
|
@@ -9955,9 +9973,10 @@ function BinanceTxHistory() {
|
|
|
9955
9973
|
txStatuses: SHOW_STATUSES
|
|
9956
9974
|
})
|
|
9957
9975
|
});
|
|
9958
|
-
const
|
|
9959
|
-
|
|
9960
|
-
|
|
9976
|
+
const txList = useMemo4(
|
|
9977
|
+
() => historyData?.pages?.map((p) => p.data).flat(Infinity) || [],
|
|
9978
|
+
[historyData]
|
|
9979
|
+
);
|
|
9961
9980
|
const updateExpandable = useCallback11(
|
|
9962
9981
|
debounce4(() => {
|
|
9963
9982
|
useBuyMenuStore.getState().setRenderKey(`binance-history-loaded-${Date.now()}`);
|
|
@@ -9965,67 +9984,34 @@ function BinanceTxHistory() {
|
|
|
9965
9984
|
[]
|
|
9966
9985
|
);
|
|
9967
9986
|
useEffect11(() => {
|
|
9968
|
-
if (isTxDataLoading || txList?.length
|
|
9987
|
+
if (isTxDataLoading || !txList?.length || txList.length > 10) return;
|
|
9969
9988
|
updateExpandable();
|
|
9970
9989
|
}, [isTxDataLoading, txList]);
|
|
9971
|
-
|
|
9972
|
-
async (curCursor, curPageParams) => {
|
|
9973
|
-
const maxLoadedPage = Math.max(...curPageParams);
|
|
9974
|
-
if (curCursor !== maxLoadedPage) {
|
|
9975
|
-
setPagePointer((prev) => prev + 1);
|
|
9976
|
-
} else {
|
|
9977
|
-
const nPage = await fetchNextPage();
|
|
9978
|
-
const nextPageParams = nPage?.data?.pageParams || [];
|
|
9979
|
-
const nextCursor = Number(nextPageParams[nextPageParams.length - 1]) || 1;
|
|
9980
|
-
setPagePointer(nextCursor);
|
|
9981
|
-
}
|
|
9982
|
-
},
|
|
9983
|
-
[fetchNextPage]
|
|
9984
|
-
);
|
|
9985
|
-
if (isTxDataLoading) {
|
|
9986
|
-
return /* @__PURE__ */ jsx35("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx35(LoaderIcon2, { className: "w-4 h-4 animate-spin" }) });
|
|
9987
|
-
}
|
|
9988
|
-
if (!isTxDataLoading && txList.length === 0) {
|
|
9990
|
+
if (!isTxDataLoading && !txList.length) {
|
|
9989
9991
|
return /* @__PURE__ */ jsx35(Highlight, { children: t("passport:buyMenu.noItems.noTransactions") });
|
|
9990
9992
|
}
|
|
9991
|
-
return /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-[var(--ui-kit-gap)]
|
|
9993
|
+
return /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
9992
9994
|
txList.map((tx) => /* @__PURE__ */ jsx35(BinanceTxHistoryItem, { ...tx }, tx.id)),
|
|
9993
|
-
/* @__PURE__ */ jsxs30(
|
|
9994
|
-
|
|
9995
|
-
|
|
9996
|
-
|
|
9997
|
-
|
|
9998
|
-
|
|
9999
|
-
|
|
10000
|
-
|
|
10001
|
-
|
|
10002
|
-
|
|
10003
|
-
|
|
10004
|
-
|
|
10005
|
-
|
|
10006
|
-
|
|
10007
|
-
Button,
|
|
10008
|
-
{
|
|
10009
|
-
variant: "ghost",
|
|
10010
|
-
size: "medium",
|
|
10011
|
-
disabled: isTxDataFetching,
|
|
10012
|
-
className: "text-xs",
|
|
10013
|
-
onClick: () => handleNextPage(pagePointer, pageParams),
|
|
10014
|
-
children: t("passport:common.next")
|
|
10015
|
-
}
|
|
10016
|
-
)
|
|
10017
|
-
] }),
|
|
10018
|
-
isTxDataFetching ? /* @__PURE__ */ jsx35(LoaderIcon2, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsxs30("span", { className: "text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: [
|
|
10019
|
-
pagePointer,
|
|
10020
|
-
" / ",
|
|
10021
|
-
pageCount
|
|
10022
|
-
] })
|
|
10023
|
-
] })
|
|
9995
|
+
hasNextPage && /* @__PURE__ */ jsxs30(
|
|
9996
|
+
Button,
|
|
9997
|
+
{
|
|
9998
|
+
variant: "ghost",
|
|
9999
|
+
size: "large",
|
|
10000
|
+
disabled: isTxDataFetching,
|
|
10001
|
+
className: "w-full",
|
|
10002
|
+
onClick: () => fetchNextPage(),
|
|
10003
|
+
children: [
|
|
10004
|
+
isTxDataFetching ? /* @__PURE__ */ jsx35(LoaderIcon2, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx35(DownloadIcon, { className: "w-4 h-4" }),
|
|
10005
|
+
t("passport:common.loadMore")
|
|
10006
|
+
]
|
|
10007
|
+
}
|
|
10008
|
+
)
|
|
10024
10009
|
] });
|
|
10025
10010
|
}
|
|
10026
|
-
var TRANSACTIONS_PAGESIZE, SHOW_STATUSES
|
|
10011
|
+
var TRANSACTIONS_PAGESIZE, SHOW_STATUSES;
|
|
10027
10012
|
var init_BinanceTxHistory = __esm({
|
|
10028
10013
|
"src/internal/components/BuyMenu/binance/BinanceTxHistory.tsx"() {
|
|
10014
|
+
init_tokens();
|
|
10029
10015
|
init_utils2();
|
|
10030
10016
|
init_SessionContext();
|
|
10031
10017
|
init_i18n();
|
|
@@ -10039,7 +10025,6 @@ var init_BinanceTxHistory = __esm({
|
|
|
10039
10025
|
init_statuses();
|
|
10040
10026
|
TRANSACTIONS_PAGESIZE = 4;
|
|
10041
10027
|
SHOW_STATUSES = ["0", "1", "2", "20", "97", "99"];
|
|
10042
|
-
TX_TYPES = { 1: "passport:common.buy", 2: "passport:common.sell", 3: "passport:common.send" };
|
|
10043
10028
|
}
|
|
10044
10029
|
});
|
|
10045
10030
|
|
|
@@ -10523,7 +10508,7 @@ var init_FinchPaySummary = __esm({
|
|
|
10523
10508
|
import { useInfiniteQuery as useInfiniteQuery2 } from "@tanstack/react-query";
|
|
10524
10509
|
import dayjs2 from "dayjs";
|
|
10525
10510
|
import { LoaderIcon as LoaderIcon4 } from "lucide-react";
|
|
10526
|
-
import { useCallback as useCallback12, useState as
|
|
10511
|
+
import { useCallback as useCallback12, useState as useState8 } from "react";
|
|
10527
10512
|
import { jsx as jsx38, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
10528
10513
|
function getStatusVariant2(status) {
|
|
10529
10514
|
switch (status) {
|
|
@@ -10603,7 +10588,7 @@ function FinchPayTxHistoryItem(props) {
|
|
|
10603
10588
|
function FinchPayTxHistory() {
|
|
10604
10589
|
const { t } = useT();
|
|
10605
10590
|
const walletAddress = useSession((st) => st.address);
|
|
10606
|
-
const [cursor, setCursor] =
|
|
10591
|
+
const [cursor, setCursor] = useState8(1);
|
|
10607
10592
|
const {
|
|
10608
10593
|
data: txData,
|
|
10609
10594
|
isLoading: isTxDataLoading,
|
|
@@ -11305,7 +11290,6 @@ function BuyMenu() {
|
|
|
11305
11290
|
}
|
|
11306
11291
|
) })
|
|
11307
11292
|
] }),
|
|
11308
|
-
/* @__PURE__ */ jsx41("div", { className: "w-full h-0" }, renderKey),
|
|
11309
11293
|
showProviderTrigger && /* @__PURE__ */ jsxs36(Fragment14, { children: [
|
|
11310
11294
|
/* @__PURE__ */ jsx41("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:buyMenu.selectProvider") }),
|
|
11311
11295
|
/* @__PURE__ */ jsxs36(
|
|
@@ -11328,6 +11312,7 @@ function BuyMenu() {
|
|
|
11328
11312
|
)
|
|
11329
11313
|
] }),
|
|
11330
11314
|
isProviderSelector ? /* @__PURE__ */ jsx41(ProviderSelector, { providers: AVAILABLE_RAMP_PROVIDERS.map((el) => ({ ...el, Icon: el.icon })) }) : /* @__PURE__ */ jsx41(ProviderComponent, { walletAddress }),
|
|
11315
|
+
/* @__PURE__ */ jsx41("div", { className: "w-full h-0" }, renderKey),
|
|
11331
11316
|
error && /* @__PURE__ */ jsx41(Highlight, { type: "error", children: error })
|
|
11332
11317
|
] })
|
|
11333
11318
|
}
|
|
@@ -11694,7 +11679,7 @@ import { PAYMASTER_CACHE_TTL_MS } from "@embarkai/core";
|
|
|
11694
11679
|
import { getChainConfig as getChainConfig7 } from "@embarkai/core/read";
|
|
11695
11680
|
import { useQuery as useQuery4 } from "@tanstack/react-query";
|
|
11696
11681
|
import { ArrowLeft as ArrowLeft4, Copy, ExternalLink, Loader as Loader6 } from "lucide-react";
|
|
11697
|
-
import { useEffect as useEffect17, useRef as useRef11, useState as
|
|
11682
|
+
import { useEffect as useEffect17, useRef as useRef11, useState as useState9 } from "react";
|
|
11698
11683
|
import { jsx as jsx48, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
11699
11684
|
function getPaymasterExplorerUrl(chainId, paymasterAddress) {
|
|
11700
11685
|
const chainConfig = getChainConfig7(chainId);
|
|
@@ -11707,8 +11692,8 @@ function ChainsMenu() {
|
|
|
11707
11692
|
const isLoading = useSession((st) => st.isLoading);
|
|
11708
11693
|
const activeChainId = useSession((st) => st.activeChainId);
|
|
11709
11694
|
const setActiveChainId = useSession((st) => st.setActiveChainId);
|
|
11710
|
-
const [nextChainId, setNextChainId] =
|
|
11711
|
-
const [copiedChainId, setCopiedChainId] =
|
|
11695
|
+
const [nextChainId, setNextChainId] = useState9(null);
|
|
11696
|
+
const [copiedChainId, setCopiedChainId] = useState9(null);
|
|
11712
11697
|
const copiedResetTimerRef = useRef11(null);
|
|
11713
11698
|
const { t } = useT();
|
|
11714
11699
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
@@ -12040,7 +12025,7 @@ var init_devices = __esm({
|
|
|
12040
12025
|
});
|
|
12041
12026
|
|
|
12042
12027
|
// src/internal/components/DevicesMenu/DeviceLinkScreen.tsx
|
|
12043
|
-
import { useState as
|
|
12028
|
+
import { useState as useState10 } from "react";
|
|
12044
12029
|
import { ArrowLeft as ArrowLeft6, Loader2 as Loader22 } from "lucide-react";
|
|
12045
12030
|
import { jsx as jsx50, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
12046
12031
|
function getErrorMessage(err) {
|
|
@@ -12062,8 +12047,8 @@ function DeviceLinkScreen() {
|
|
|
12062
12047
|
const setPage = useLayoutDataStore((s) => s.setPage);
|
|
12063
12048
|
const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
|
|
12064
12049
|
const { mutate: link, isPending } = useLinkDevice();
|
|
12065
|
-
const [code, setCode] =
|
|
12066
|
-
const [error, setError] =
|
|
12050
|
+
const [code, setCode] = useState10("");
|
|
12051
|
+
const [error, setError] = useState10(null);
|
|
12067
12052
|
const isValid = code.length === 6 && VALID_CHARS.test(code);
|
|
12068
12053
|
function handleCodeChange(value) {
|
|
12069
12054
|
const upper = value.toUpperCase().slice(0, 6);
|
|
@@ -12643,7 +12628,7 @@ var init_guardian_backup = __esm({
|
|
|
12643
12628
|
});
|
|
12644
12629
|
|
|
12645
12630
|
// src/internal/components/DevicesMenu/DeviceManageScreen.tsx
|
|
12646
|
-
import { useCallback as useCallback14, useEffect as useEffect19, useRef as useRef13, useState as
|
|
12631
|
+
import { useCallback as useCallback14, useEffect as useEffect19, useRef as useRef13, useState as useState11 } from "react";
|
|
12647
12632
|
import { ArrowLeft as ArrowLeft7, Cpu, Download, HardDrive, Loader2 as Loader23, Trash2, Upload } from "lucide-react";
|
|
12648
12633
|
import { Fragment as Fragment15, jsx as jsx51, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
12649
12634
|
function formatSize(bytes) {
|
|
@@ -12659,12 +12644,12 @@ function DeviceManageScreen() {
|
|
|
12659
12644
|
const deviceId = pageParams?.deviceId;
|
|
12660
12645
|
const deviceName = pageParams?.deviceName;
|
|
12661
12646
|
const guardianRef = useRef13(null);
|
|
12662
|
-
const [screen, setScreen] =
|
|
12663
|
-
const [actionState, setActionState] =
|
|
12664
|
-
const [password, setPassword] =
|
|
12665
|
-
const [statusMessage, setStatusMessage] =
|
|
12666
|
-
const [errorMessage, setErrorMessage] =
|
|
12667
|
-
const [waitingConfirm, setWaitingConfirm] =
|
|
12647
|
+
const [screen, setScreen] = useState11({ step: "connecting" });
|
|
12648
|
+
const [actionState, setActionState] = useState11(null);
|
|
12649
|
+
const [password, setPassword] = useState11("");
|
|
12650
|
+
const [statusMessage, setStatusMessage] = useState11(null);
|
|
12651
|
+
const [errorMessage, setErrorMessage] = useState11(null);
|
|
12652
|
+
const [waitingConfirm, setWaitingConfirm] = useState11(false);
|
|
12668
12653
|
useEffect19(() => {
|
|
12669
12654
|
if (!statusMessage) return;
|
|
12670
12655
|
const t = setTimeout(() => setStatusMessage(null), 3e3);
|
|
@@ -12935,7 +12920,7 @@ var init_DeviceManageScreen = __esm({
|
|
|
12935
12920
|
});
|
|
12936
12921
|
|
|
12937
12922
|
// src/internal/components/DevicesMenu/DeviceRestoreScreen.tsx
|
|
12938
|
-
import { useCallback as useCallback15, useState as
|
|
12923
|
+
import { useCallback as useCallback15, useState as useState12 } from "react";
|
|
12939
12924
|
import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft8, Download as Download2, Loader2 as Loader24 } from "lucide-react";
|
|
12940
12925
|
import { Fragment as Fragment16, jsx as jsx52, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
12941
12926
|
function DeviceRestoreScreen() {
|
|
@@ -12947,10 +12932,10 @@ function DeviceRestoreScreen() {
|
|
|
12947
12932
|
const keyshareId = pageParams?.keyshareId;
|
|
12948
12933
|
const deviceId = pageParams?.deviceId;
|
|
12949
12934
|
const deviceName = pageParams?.deviceName;
|
|
12950
|
-
const [password, setPassword] =
|
|
12951
|
-
const [isWorking, setIsWorking] =
|
|
12952
|
-
const [statusMessage, setStatusMessage] =
|
|
12953
|
-
const [errorMessage, setErrorMessage] =
|
|
12935
|
+
const [password, setPassword] = useState12("");
|
|
12936
|
+
const [isWorking, setIsWorking] = useState12(false);
|
|
12937
|
+
const [statusMessage, setStatusMessage] = useState12(null);
|
|
12938
|
+
const [errorMessage, setErrorMessage] = useState12(null);
|
|
12954
12939
|
const handleRestore = useCallback15(async () => {
|
|
12955
12940
|
if (!password || !keyshareId || !userId) return;
|
|
12956
12941
|
const iframe4 = getIframeManager();
|
|
@@ -13051,7 +13036,7 @@ var init_DeviceRestoreScreen = __esm({
|
|
|
13051
13036
|
});
|
|
13052
13037
|
|
|
13053
13038
|
// src/internal/components/DevicesMenu/DevicesMenu.tsx
|
|
13054
|
-
import { useState as
|
|
13039
|
+
import { useState as useState13 } from "react";
|
|
13055
13040
|
import { ArrowLeft as ArrowLeft9, Cpu as Cpu2, Monitor, CheckCircle, Trash2 as Trash22, Loader2 as Loader25, RefreshCw, HardDrive as HardDrive2 } from "lucide-react";
|
|
13056
13041
|
import { jsx as jsx53, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
13057
13042
|
function DeviceIcon({ deviceType }) {
|
|
@@ -13063,8 +13048,8 @@ function truncateAddress(address) {
|
|
|
13063
13048
|
return `${address.slice(0, 6)}...${address.slice(-4)}`;
|
|
13064
13049
|
}
|
|
13065
13050
|
function DeviceRow({ device }) {
|
|
13066
|
-
const [confirmingUnlink, setConfirmingUnlink] =
|
|
13067
|
-
const [unlinkError, setUnlinkError] =
|
|
13051
|
+
const [confirmingUnlink, setConfirmingUnlink] = useState13(false);
|
|
13052
|
+
const [unlinkError, setUnlinkError] = useState13(null);
|
|
13068
13053
|
const { mutate: unlink, isPending } = useUnlinkDevice();
|
|
13069
13054
|
if (confirmingUnlink) {
|
|
13070
13055
|
return /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
|
|
@@ -14115,7 +14100,7 @@ var init_hooks = __esm({
|
|
|
14115
14100
|
|
|
14116
14101
|
// src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
|
|
14117
14102
|
import { Cloud, Cpu as Cpu3, FileDown, FileUp } from "lucide-react";
|
|
14118
|
-
import { Fragment as Fragment17, useMemo as
|
|
14103
|
+
import { Fragment as Fragment17, useMemo as useMemo5 } from "react";
|
|
14119
14104
|
import { jsx as jsx54, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
14120
14105
|
function MethodSelector(props) {
|
|
14121
14106
|
const { mode = "restore", serverRecoveryStatus } = props;
|
|
@@ -14129,7 +14114,7 @@ function MethodSelector(props) {
|
|
|
14129
14114
|
setError,
|
|
14130
14115
|
setSuccess
|
|
14131
14116
|
} = useRestoreStore();
|
|
14132
|
-
const recoveryRenderMethods =
|
|
14117
|
+
const recoveryRenderMethods = useMemo5(() => {
|
|
14133
14118
|
const methodsWithBackupData = getRecoveryRenderMethods(mode).map((mt) => {
|
|
14134
14119
|
let data = null;
|
|
14135
14120
|
switch (true) {
|
|
@@ -14849,7 +14834,7 @@ var init_Cloud = __esm({
|
|
|
14849
14834
|
});
|
|
14850
14835
|
|
|
14851
14836
|
// src/internal/components/KeyshareRestoreMenu/methods/Guardian.tsx
|
|
14852
|
-
import { useState as
|
|
14837
|
+
import { useState as useState15 } from "react";
|
|
14853
14838
|
import { Cpu as Cpu4, Loader2 as Loader26 } from "lucide-react";
|
|
14854
14839
|
import { Fragment as Fragment23, jsx as jsx61, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
14855
14840
|
function Guardian(props) {
|
|
@@ -14858,8 +14843,8 @@ function Guardian(props) {
|
|
|
14858
14843
|
const session = useSession((st) => st.session);
|
|
14859
14844
|
const recoveryUserId = useSession((st) => st.recoveryUserId);
|
|
14860
14845
|
const { onRestoreSuccess } = useOnRestoreSuccess();
|
|
14861
|
-
const [isWorking, setIsWorking] =
|
|
14862
|
-
const [step, setStep] =
|
|
14846
|
+
const [isWorking, setIsWorking] = useState15(false);
|
|
14847
|
+
const [step, setStep] = useState15("idle");
|
|
14863
14848
|
const handleGuardianBackup = async () => {
|
|
14864
14849
|
if (!restorePassword) {
|
|
14865
14850
|
setError("Please enter a password");
|
|
@@ -15528,15 +15513,15 @@ var init_SumsubIframeManager = __esm({
|
|
|
15528
15513
|
});
|
|
15529
15514
|
|
|
15530
15515
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
15531
|
-
import { useEffect as useEffect28, useRef as useRef15, useState as
|
|
15516
|
+
import { useEffect as useEffect28, useRef as useRef15, useState as useState16 } from "react";
|
|
15532
15517
|
function useSumsubIframe({ iframeUrl }) {
|
|
15533
15518
|
const config = useProviderConfig().config;
|
|
15534
15519
|
const { colorMode } = useColorMode();
|
|
15535
15520
|
const iframeRef = useRef15(null);
|
|
15536
|
-
const [isLoading, setIsLoading] =
|
|
15537
|
-
const [error, setError] =
|
|
15538
|
-
const [height, setHeight] =
|
|
15539
|
-
const [status, setStatus] =
|
|
15521
|
+
const [isLoading, setIsLoading] = useState16(true);
|
|
15522
|
+
const [error, setError] = useState16(null);
|
|
15523
|
+
const [height, setHeight] = useState16(0);
|
|
15524
|
+
const [status, setStatus] = useState16("");
|
|
15540
15525
|
const levelName = config.current?.kyc?.options?.levelName;
|
|
15541
15526
|
useEffect28(() => {
|
|
15542
15527
|
setError(null);
|
|
@@ -16563,7 +16548,7 @@ var init_telegram2 = __esm({
|
|
|
16563
16548
|
|
|
16564
16549
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
16565
16550
|
import { useQueryClient as useQueryClient15 } from "@tanstack/react-query";
|
|
16566
|
-
import { useCallback as useCallback19, useEffect as useEffect31, useState as
|
|
16551
|
+
import { useCallback as useCallback19, useEffect as useEffect31, useState as useState17 } from "react";
|
|
16567
16552
|
function useLinkTelegram() {
|
|
16568
16553
|
const {
|
|
16569
16554
|
config: { current: config },
|
|
@@ -16621,7 +16606,7 @@ function useLinkTelegram() {
|
|
|
16621
16606
|
setLinkIsLoading(false);
|
|
16622
16607
|
}
|
|
16623
16608
|
}, [config.social?.providers]);
|
|
16624
|
-
const [telegramLinkStarted, setTelegramLinkStarted] =
|
|
16609
|
+
const [telegramLinkStarted, setTelegramLinkStarted] = useState17(false);
|
|
16625
16610
|
useEffect31(() => {
|
|
16626
16611
|
console.log("[useLinkTelegram] Effect triggered:", {
|
|
16627
16612
|
providerType,
|
|
@@ -16743,7 +16728,7 @@ var init_ProviderCard = __esm({
|
|
|
16743
16728
|
// src/internal/components/ManageWalletMenu/ManageWallet.tsx
|
|
16744
16729
|
import { fromPairs } from "lodash-es";
|
|
16745
16730
|
import { AlertTriangle as AlertTriangle4, ArrowLeft as ArrowLeft14, Loader as Loader14 } from "lucide-react";
|
|
16746
|
-
import { useMemo as
|
|
16731
|
+
import { useMemo as useMemo6 } from "react";
|
|
16747
16732
|
import { Fragment as Fragment28, jsx as jsx73, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
16748
16733
|
function getProviderName(provider) {
|
|
16749
16734
|
return PROVIDERS_META[provider].name || provider;
|
|
@@ -16785,7 +16770,7 @@ function ManageWalletMenu() {
|
|
|
16785
16770
|
} = useManageWalletStore();
|
|
16786
16771
|
const configuredProviders = getConfiguredProviders(config.current);
|
|
16787
16772
|
const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
|
|
16788
|
-
const renderProviders =
|
|
16773
|
+
const renderProviders = useMemo6(() => {
|
|
16789
16774
|
const normalizeProviderName = (name) => {
|
|
16790
16775
|
if (name === "x") return "twitter";
|
|
16791
16776
|
return name;
|
|
@@ -16973,7 +16958,7 @@ var init_useExternalWalletStore = __esm({
|
|
|
16973
16958
|
// src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
|
|
16974
16959
|
import { useMutation as useMutation15, useQueryClient as useQueryClient16 } from "@tanstack/react-query";
|
|
16975
16960
|
import { Key as Key6, Loader as Loader15 } from "lucide-react";
|
|
16976
|
-
import { useState as
|
|
16961
|
+
import { useState as useState18 } from "react";
|
|
16977
16962
|
import { useDisconnect } from "wagmi";
|
|
16978
16963
|
import { jsx as jsx74, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
16979
16964
|
function UnlinkProviderMenu() {
|
|
@@ -16985,7 +16970,7 @@ function UnlinkProviderMenu() {
|
|
|
16985
16970
|
const { t } = useT();
|
|
16986
16971
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
16987
16972
|
const { confirmUnlink, setConfirmUnlink, setAlert } = useManageWalletStore();
|
|
16988
|
-
const [confirmInput, setConfirmInput] =
|
|
16973
|
+
const [confirmInput, setConfirmInput] = useState18("");
|
|
16989
16974
|
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation15({
|
|
16990
16975
|
mutationFn: async () => {
|
|
16991
16976
|
if (!confirmUnlink) {
|
|
@@ -17214,7 +17199,7 @@ var init_nickname_validation = __esm({
|
|
|
17214
17199
|
// src/internal/components/NicknameMenu/NicknameEditForm.tsx
|
|
17215
17200
|
import { useMutation as useMutation16, useQueryClient as useQueryClient17 } from "@tanstack/react-query";
|
|
17216
17201
|
import { AtSign, Check as Check2, ChevronRight as ChevronRight5, Copy as Copy2, Loader as Loader17 } from "lucide-react";
|
|
17217
|
-
import { useCallback as useCallback20, useState as
|
|
17202
|
+
import { useCallback as useCallback20, useState as useState19 } from "react";
|
|
17218
17203
|
import { Fragment as Fragment29, jsx as jsx76, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
17219
17204
|
function NicknameEditForm(props) {
|
|
17220
17205
|
const {
|
|
@@ -17233,7 +17218,7 @@ function NicknameEditForm(props) {
|
|
|
17233
17218
|
const { t } = useT();
|
|
17234
17219
|
const passportWalletAddress = useSession((st) => st.address);
|
|
17235
17220
|
const { callbacksRef } = useProviderConfig();
|
|
17236
|
-
const [isNicknameCopied, setIsNicknameCopied] =
|
|
17221
|
+
const [isNicknameCopied, setIsNicknameCopied] = useState19(false);
|
|
17237
17222
|
const {
|
|
17238
17223
|
mutate: changeNickname2,
|
|
17239
17224
|
isError: isNicknameChangeError,
|
|
@@ -17362,16 +17347,16 @@ var init_NicknameEditForm = __esm({
|
|
|
17362
17347
|
|
|
17363
17348
|
// src/internal/components/NicknameMenu/useNickname.ts
|
|
17364
17349
|
import { useQuery as useQuery12 } from "@tanstack/react-query";
|
|
17365
|
-
import { useEffect as useEffect32, useState as
|
|
17350
|
+
import { useEffect as useEffect32, useState as useState20 } from "react";
|
|
17366
17351
|
function useNicknameForm(currentNickname) {
|
|
17367
|
-
const [inputValue, setInputValue] =
|
|
17352
|
+
const [inputValue, setInputValue] = useState20("");
|
|
17368
17353
|
const normalizedInputValue = normalizeNickname(inputValue);
|
|
17369
17354
|
const validation = validateNickname(inputValue);
|
|
17370
17355
|
const isValidForCheck = validation.valid && normalizedInputValue.length > 0;
|
|
17371
17356
|
useEffect32(() => {
|
|
17372
17357
|
setInputValue(currentNickname);
|
|
17373
17358
|
}, [currentNickname]);
|
|
17374
|
-
const [queryInputValue, setQueryInputValue] =
|
|
17359
|
+
const [queryInputValue, setQueryInputValue] = useState20("");
|
|
17375
17360
|
const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
|
|
17376
17361
|
const shouldCheckAvailability = validation.valid && !isSameAsCurrentNickname && inputValue.length > 0;
|
|
17377
17362
|
useEffect32(() => {
|
|
@@ -17417,12 +17402,12 @@ var init_useNickname = __esm({
|
|
|
17417
17402
|
import { useQuery as useQuery13 } from "@tanstack/react-query";
|
|
17418
17403
|
import dayjs4 from "dayjs";
|
|
17419
17404
|
import { AlertTriangle as AlertTriangle5, ArrowLeft as ArrowLeft15, Info as Info4, Loader as Loader18 } from "lucide-react";
|
|
17420
|
-
import { useState as
|
|
17405
|
+
import { useState as useState21 } from "react";
|
|
17421
17406
|
import { jsx as jsx77, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
17422
17407
|
function NicknameMenu() {
|
|
17423
17408
|
const address = useSession((st) => st.address);
|
|
17424
17409
|
const { t } = useT();
|
|
17425
|
-
const [clientError, setClientError] =
|
|
17410
|
+
const [clientError, setClientError] = useState21(null);
|
|
17426
17411
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
17427
17412
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
17428
17413
|
const {
|
|
@@ -17536,7 +17521,7 @@ var init_NicknameMenu2 = __esm({
|
|
|
17536
17521
|
|
|
17537
17522
|
// src/internal/hooks/useResolvedPublicClient.ts
|
|
17538
17523
|
import { createPublicClientForChain as createPublicClientForChain5, getChainConfig as getChainConfig8 } from "@embarkai/core/read";
|
|
17539
|
-
import { useMemo as
|
|
17524
|
+
import { useMemo as useMemo7 } from "react";
|
|
17540
17525
|
function getCachedPublicClient(chainId) {
|
|
17541
17526
|
const cachedClient = publicClientByChainId.get(chainId);
|
|
17542
17527
|
if (cachedClient) return cachedClient;
|
|
@@ -17550,11 +17535,11 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
|
|
|
17550
17535
|
const activeChainConfig = useSession((st) => st.chainConfig);
|
|
17551
17536
|
const resolvedChainId = chainId ?? activeChainId;
|
|
17552
17537
|
const shouldUseActiveClient = !chainId || chainId === activeChainId;
|
|
17553
|
-
const chainConfig =
|
|
17538
|
+
const chainConfig = useMemo7(() => {
|
|
17554
17539
|
if (shouldUseActiveClient) return activeChainConfig;
|
|
17555
17540
|
return getChainConfig8(chainId);
|
|
17556
17541
|
}, [activeChainConfig, chainId, shouldUseActiveClient]);
|
|
17557
|
-
const publicClient =
|
|
17542
|
+
const publicClient = useMemo7(() => {
|
|
17558
17543
|
if (shouldUseActiveClient) return activePublicClient;
|
|
17559
17544
|
if (!chainId) return activePublicClient;
|
|
17560
17545
|
try {
|
|
@@ -17581,13 +17566,13 @@ var init_useResolvedPublicClient = __esm({
|
|
|
17581
17566
|
|
|
17582
17567
|
// src/internal/hooks/useWatchTokens.ts
|
|
17583
17568
|
import { useQuery as useQuery14 } from "@tanstack/react-query";
|
|
17584
|
-
import { useMemo as
|
|
17569
|
+
import { useMemo as useMemo8 } from "react";
|
|
17585
17570
|
import { erc20Abi, formatUnits as formatUnits2 } from "viem";
|
|
17586
17571
|
function useWatchTokens(options) {
|
|
17587
17572
|
const { address, chainId, enabled = true } = options;
|
|
17588
17573
|
const { config } = useProviderConfig();
|
|
17589
17574
|
const { publicClient, resolvedChainId } = useResolvedPublicClient(chainId, "useWatchTokens");
|
|
17590
|
-
const watchTokens =
|
|
17575
|
+
const watchTokens = useMemo8(() => {
|
|
17591
17576
|
const allWatchTokens = config.current.watchTokens;
|
|
17592
17577
|
const tokensForChain = resolvedChainId ? allWatchTokens?.[resolvedChainId] || [] : [];
|
|
17593
17578
|
return tokensForChain;
|
|
@@ -17681,7 +17666,7 @@ var init_useWatchTokens = __esm({
|
|
|
17681
17666
|
// src/internal/hooks/useBlockscoutAssets.ts
|
|
17682
17667
|
import { createBlockscoutClient } from "@embarkai/core/clients";
|
|
17683
17668
|
import { useQuery as useQuery15 } from "@tanstack/react-query";
|
|
17684
|
-
import { useCallback as useCallback21, useMemo as
|
|
17669
|
+
import { useCallback as useCallback21, useMemo as useMemo9, useRef as useRef16 } from "react";
|
|
17685
17670
|
import { formatEther, formatUnits as formatUnits3 } from "viem";
|
|
17686
17671
|
function resolveIpfsUri(uri) {
|
|
17687
17672
|
if (!uri) return "";
|
|
@@ -17813,7 +17798,7 @@ function useBlockscoutAssets(options) {
|
|
|
17813
17798
|
const customTokenBalancesQuery = portfolioConfig?.tokenBalancesQuery;
|
|
17814
17799
|
const customTokenBalancesQueryKey = portfolioConfig?.tokenBalancesQueryKey;
|
|
17815
17800
|
const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
|
|
17816
|
-
const blockscoutClient =
|
|
17801
|
+
const blockscoutClient = useMemo9(
|
|
17817
17802
|
() => blockscoutApiUrl ? createBlockscoutClient({ baseUrl: blockscoutApiUrl }) : null,
|
|
17818
17803
|
[blockscoutApiUrl]
|
|
17819
17804
|
);
|
|
@@ -17886,7 +17871,7 @@ function useBlockscoutAssets(options) {
|
|
|
17886
17871
|
retry: 2,
|
|
17887
17872
|
retryDelay: 1e3
|
|
17888
17873
|
});
|
|
17889
|
-
const erc20TokenAddresses =
|
|
17874
|
+
const erc20TokenAddresses = useMemo9(() => {
|
|
17890
17875
|
if (!tokenBalances) return [];
|
|
17891
17876
|
return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
|
|
17892
17877
|
}, [tokenBalances]);
|
|
@@ -17930,7 +17915,7 @@ function useBlockscoutAssets(options) {
|
|
|
17930
17915
|
gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
17931
17916
|
retry: 1
|
|
17932
17917
|
});
|
|
17933
|
-
const assets =
|
|
17918
|
+
const assets = useMemo9(() => {
|
|
17934
17919
|
const result = [];
|
|
17935
17920
|
const addedAddresses = /* @__PURE__ */ new Set();
|
|
17936
17921
|
if (nativeBalanceData) {
|
|
@@ -17976,7 +17961,7 @@ function useBlockscoutAssets(options) {
|
|
|
17976
17961
|
}
|
|
17977
17962
|
return result;
|
|
17978
17963
|
}, [nativeBalanceData, tokenBalances, nftItems, erc3643Results, watchTokenAssets, chainConfig]);
|
|
17979
|
-
const nativeBalance =
|
|
17964
|
+
const nativeBalance = useMemo9(() => {
|
|
17980
17965
|
if (!nativeBalanceData) return null;
|
|
17981
17966
|
return {
|
|
17982
17967
|
value: nativeBalanceData.value,
|
|
@@ -17984,7 +17969,7 @@ function useBlockscoutAssets(options) {
|
|
|
17984
17969
|
symbol: nativeBalanceData.symbol
|
|
17985
17970
|
};
|
|
17986
17971
|
}, [nativeBalanceData]);
|
|
17987
|
-
const error =
|
|
17972
|
+
const error = useMemo9(() => {
|
|
17988
17973
|
if (!tokensError) return null;
|
|
17989
17974
|
return createError(tokensError);
|
|
17990
17975
|
}, [tokensError]);
|
|
@@ -18085,7 +18070,7 @@ var init_BalanceView2 = __esm({
|
|
|
18085
18070
|
// src/internal/components/PortfolioMenu/PortfolioItem.tsx
|
|
18086
18071
|
import { useQuery as useQuery16, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
|
|
18087
18072
|
import { Image as ImageIcon, Loader as Loader19, ShieldAlert, Sparkles } from "lucide-react";
|
|
18088
|
-
import { useState as
|
|
18073
|
+
import { useState as useState22 } from "react";
|
|
18089
18074
|
import { formatUnits as formatUnits5 } from "viem";
|
|
18090
18075
|
import { Fragment as Fragment30, jsx as jsx79, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
18091
18076
|
function openInExplorer(address) {
|
|
@@ -18138,8 +18123,8 @@ async function resolveAssetRate(symbol, address, customAssetRateQuery) {
|
|
|
18138
18123
|
}
|
|
18139
18124
|
function PortfolioItemImage(props) {
|
|
18140
18125
|
const { asset } = props;
|
|
18141
|
-
const [nftImageError, setNftImageError] =
|
|
18142
|
-
const [logoError, setLogoError] =
|
|
18126
|
+
const [nftImageError, setNftImageError] = useState22(false);
|
|
18127
|
+
const [logoError, setLogoError] = useState22(false);
|
|
18143
18128
|
const isNft = isNftAsset(asset);
|
|
18144
18129
|
const nftImage = getNftImage(asset);
|
|
18145
18130
|
const isSecurity = isSecurityToken(asset);
|
|
@@ -18447,7 +18432,7 @@ var init_nickname_fingerprint = __esm({
|
|
|
18447
18432
|
// src/internal/components/ReceiveMenu/ReceiveMenu.tsx
|
|
18448
18433
|
import { ArrowLeft as ArrowLeft17, CheckCircle2 as CheckCircle23, Copy as Copy3, Info as Info5, Loader as Loader21, Shield } from "lucide-react";
|
|
18449
18434
|
import QRCode from "qrcode";
|
|
18450
|
-
import { useCallback as useCallback23, useEffect as useEffect33, useMemo as
|
|
18435
|
+
import { useCallback as useCallback23, useEffect as useEffect33, useMemo as useMemo10, useState as useState23 } from "react";
|
|
18451
18436
|
import { Fragment as Fragment31, jsx as jsx81, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
18452
18437
|
function ReceiveMenu() {
|
|
18453
18438
|
const session = useSession((st) => st.session);
|
|
@@ -18458,10 +18443,10 @@ function ReceiveMenu() {
|
|
|
18458
18443
|
const { t } = useT();
|
|
18459
18444
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
18460
18445
|
const open = page === "receive";
|
|
18461
|
-
const [qrCodeUrl, setQrCodeUrl] =
|
|
18462
|
-
const [copied, setCopied] =
|
|
18463
|
-
const [fingerprintCopied, setFingerprintCopied] =
|
|
18464
|
-
const fingerprint =
|
|
18446
|
+
const [qrCodeUrl, setQrCodeUrl] = useState23("");
|
|
18447
|
+
const [copied, setCopied] = useState23(false);
|
|
18448
|
+
const [fingerprintCopied, setFingerprintCopied] = useState23(false);
|
|
18449
|
+
const fingerprint = useMemo10(() => {
|
|
18465
18450
|
if (!session?.ownerAddress) return null;
|
|
18466
18451
|
try {
|
|
18467
18452
|
return generateFingerprint(session.ownerAddress);
|
|
@@ -18638,7 +18623,7 @@ var init_hooks2 = __esm({
|
|
|
18638
18623
|
|
|
18639
18624
|
// src/internal/components/SecurityMenu/ConnectedApps.tsx
|
|
18640
18625
|
import dayjs5 from "dayjs";
|
|
18641
|
-
import { AppWindowMac, ExternalLinkIcon, Info as Info6, ShieldBanIcon, ShieldCheckIcon } from "lucide-react";
|
|
18626
|
+
import { AppWindowMac, ExternalLinkIcon as ExternalLinkIcon2, Info as Info6, ShieldBanIcon, ShieldCheckIcon } from "lucide-react";
|
|
18642
18627
|
import { Fragment as Fragment32, jsx as jsx82, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
18643
18628
|
function Application(props) {
|
|
18644
18629
|
const { projectId, logo, name, appUrl, trustedAuthorizedApp, firstConnectedAt, untrustApp } = props;
|
|
@@ -18690,7 +18675,7 @@ function Application(props) {
|
|
|
18690
18675
|
/* @__PURE__ */ jsxs77("span", { className: "flex flex-col", children: [
|
|
18691
18676
|
/* @__PURE__ */ jsx82("span", { className: "text-sm font-semibold truncate", children: name }),
|
|
18692
18677
|
projectUrl && /* @__PURE__ */ jsxs77("span", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
18693
|
-
/* @__PURE__ */ jsx82(
|
|
18678
|
+
/* @__PURE__ */ jsx82(ExternalLinkIcon2, { className: "w-3 h-3 flex-none", strokeWidth: 1 }),
|
|
18694
18679
|
/* @__PURE__ */ jsx82("span", { className: "flex-1 truncate", children: new URL(projectUrl).hostname })
|
|
18695
18680
|
] })
|
|
18696
18681
|
] }),
|
|
@@ -19017,7 +19002,7 @@ var init_UntrustApplication = __esm({
|
|
|
19017
19002
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
19018
19003
|
import { useMutation as useMutation17, useQueryClient as useQueryClient20 } from "@tanstack/react-query";
|
|
19019
19004
|
import { ArrowLeft as ArrowLeft18 } from "lucide-react";
|
|
19020
|
-
import { useState as
|
|
19005
|
+
import { useState as useState24 } from "react";
|
|
19021
19006
|
import { jsx as jsx88, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
19022
19007
|
function SecurityMenu() {
|
|
19023
19008
|
const qc = useQueryClient20();
|
|
@@ -19026,7 +19011,7 @@ function SecurityMenu() {
|
|
|
19026
19011
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
19027
19012
|
const userId = jwtTokenManager2.getUserId();
|
|
19028
19013
|
const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
|
|
19029
|
-
const [appToUntrust, untrustApp] =
|
|
19014
|
+
const [appToUntrust, untrustApp] = useState24(null);
|
|
19030
19015
|
const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
|
|
19031
19016
|
const localInfo = recoveryData?.keyshareInfo || {};
|
|
19032
19017
|
const hasServerBackup = !!recoveryData?.shareRecoveryStats?.created || recoveryData?.shareRecoveryStats?.devices?.length > 0;
|
|
@@ -19364,7 +19349,7 @@ var init_useBridgeStore = __esm({
|
|
|
19364
19349
|
// src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx
|
|
19365
19350
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
19366
19351
|
import { useMutation as useMutation18 } from "@tanstack/react-query";
|
|
19367
|
-
import { useEffect as useEffect34, useRef as useRef17, useState as
|
|
19352
|
+
import { useEffect as useEffect34, useRef as useRef17, useState as useState25 } from "react";
|
|
19368
19353
|
import { useSignMessage } from "wagmi";
|
|
19369
19354
|
import { jsx as jsx89, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
19370
19355
|
function SenderSelector(props) {
|
|
@@ -19379,7 +19364,7 @@ function SenderSelector(props) {
|
|
|
19379
19364
|
const originChain = useBridgeStore((st) => st.originChain);
|
|
19380
19365
|
const bridgeSender = useBridgeStore((st) => st.bridgeSender);
|
|
19381
19366
|
const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
|
|
19382
|
-
const [walletMessage, setWalletMessage] =
|
|
19367
|
+
const [walletMessage, setWalletMessage] = useState25(null);
|
|
19383
19368
|
useEffect34(() => {
|
|
19384
19369
|
useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
|
|
19385
19370
|
}, [walletMessage]);
|
|
@@ -19987,22 +19972,28 @@ var init_utils8 = __esm({
|
|
|
19987
19972
|
});
|
|
19988
19973
|
|
|
19989
19974
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts
|
|
19990
|
-
import {
|
|
19975
|
+
import { useInfiniteQuery as useInfiniteQuery3 } from "@tanstack/react-query";
|
|
19991
19976
|
import { debounce as debounce6 } from "lodash-es";
|
|
19992
|
-
import { useCallback as useCallback24, useEffect as useEffect36,
|
|
19977
|
+
import { useCallback as useCallback24, useEffect as useEffect36, useMemo as useMemo11 } from "react";
|
|
19993
19978
|
function useHyperlaneHistory() {
|
|
19994
19979
|
const address = useSession((st) => st.address);
|
|
19995
19980
|
const page = useLayoutDataStore((st) => st.page);
|
|
19996
19981
|
const flow = useFlowSelectorStore((st) => st.flow);
|
|
19997
19982
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
19998
|
-
const
|
|
19999
|
-
const query = useQuery19({
|
|
19983
|
+
const query = useInfiniteQuery3({
|
|
20000
19984
|
retry: false,
|
|
19985
|
+
initialPageParam: 1,
|
|
20001
19986
|
refetchInterval: TX_HISTORY_POLLING_INTERVAL,
|
|
20002
19987
|
enabled: bridgeStep === "tx-history" && !!address && page === "send" /* SEND */ && flow === "bridge",
|
|
20003
|
-
queryKey: [HYPERLANE_HISTORY_QUERY_KEY, address
|
|
20004
|
-
|
|
19988
|
+
queryKey: [HYPERLANE_HISTORY_QUERY_KEY, address],
|
|
19989
|
+
getNextPageParam: (lastPage) => lastPage.page < lastPage.pageCount ? lastPage.page + 1 : void 0,
|
|
19990
|
+
queryFn: async ({ pageParam }) => await getHyperlaneBridgeHistory({ page: pageParam, pageSize: TX_HISTORY_PAGE_SIZE })
|
|
20005
19991
|
});
|
|
19992
|
+
const { data: txHistoryData, isLoading: isBridgeTxHistoryLoading } = query;
|
|
19993
|
+
const txList = useMemo11(
|
|
19994
|
+
() => txHistoryData?.pages?.map((p) => p.data).flat(Infinity) || [],
|
|
19995
|
+
[txHistoryData]
|
|
19996
|
+
);
|
|
20006
19997
|
const updateExpandable = useCallback24(
|
|
20007
19998
|
debounce6(() => {
|
|
20008
19999
|
useFlowSelectorStore.getState().setRenderKey(`hyperlane-history-loaded-${Date.now()}`);
|
|
@@ -20010,15 +20001,10 @@ function useHyperlaneHistory() {
|
|
|
20010
20001
|
[]
|
|
20011
20002
|
);
|
|
20012
20003
|
useEffect36(() => {
|
|
20013
|
-
|
|
20014
|
-
if (isLoading || data.data?.length === 0) return;
|
|
20004
|
+
if (isBridgeTxHistoryLoading || txList.length === 0) return;
|
|
20015
20005
|
updateExpandable();
|
|
20016
|
-
}, [
|
|
20017
|
-
return {
|
|
20018
|
-
...query,
|
|
20019
|
-
currentPage,
|
|
20020
|
-
setCurrentPage
|
|
20021
|
-
};
|
|
20006
|
+
}, [isBridgeTxHistoryLoading, txList]);
|
|
20007
|
+
return { query, txList };
|
|
20022
20008
|
}
|
|
20023
20009
|
var HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
|
|
20024
20010
|
var init_useHyperlaneHistory = __esm({
|
|
@@ -20029,7 +20015,7 @@ var init_useHyperlaneHistory = __esm({
|
|
|
20029
20015
|
init_api3();
|
|
20030
20016
|
init_useBridgeStore();
|
|
20031
20017
|
HYPERLANE_HISTORY_QUERY_KEY = "hyperlane-tx-history-query-key";
|
|
20032
|
-
TX_HISTORY_PAGE_SIZE =
|
|
20018
|
+
TX_HISTORY_PAGE_SIZE = 4;
|
|
20033
20019
|
TX_HISTORY_POLLING_INTERVAL = 1e3 * 45;
|
|
20034
20020
|
}
|
|
20035
20021
|
});
|
|
@@ -20252,7 +20238,7 @@ var init_useBridge = __esm({
|
|
|
20252
20238
|
});
|
|
20253
20239
|
|
|
20254
20240
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts
|
|
20255
|
-
import { useQuery as
|
|
20241
|
+
import { useQuery as useQuery19 } from "@tanstack/react-query";
|
|
20256
20242
|
import { useEffect as useEffect37 } from "react";
|
|
20257
20243
|
function useHyperlaneRoutes() {
|
|
20258
20244
|
const address = useSession((st) => st.address);
|
|
@@ -20263,7 +20249,7 @@ function useHyperlaneRoutes() {
|
|
|
20263
20249
|
data: hyperlaneWarpRoutes = [],
|
|
20264
20250
|
isLoading: isLoadingWarpRoutes,
|
|
20265
20251
|
error: errorWarpRoutes
|
|
20266
|
-
} =
|
|
20252
|
+
} = useQuery19({
|
|
20267
20253
|
retry: false,
|
|
20268
20254
|
enabled: !!address && page === "send" /* SEND */ && flow === "bridge",
|
|
20269
20255
|
queryKey: [HYPERLANE_WARP_ROUTES_QUERY_KEY, address],
|
|
@@ -20368,7 +20354,7 @@ var init_ResolveChainIcon = __esm({
|
|
|
20368
20354
|
|
|
20369
20355
|
// src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
|
|
20370
20356
|
import { CHAINS_BROWSERS_TRANSPORTS as CHAINS_BROWSERS_TRANSPORTS2 } from "@embarkai/core";
|
|
20371
|
-
import { useQuery as
|
|
20357
|
+
import { useQuery as useQuery20, useQueryClient as useQueryClient22 } from "@tanstack/react-query";
|
|
20372
20358
|
import { useCallback as useCallback26, useEffect as useEffect39 } from "react";
|
|
20373
20359
|
import { createPublicClient as createPublicClient2, erc20Abi as erc20Abi2, formatUnits as formatUnits7, http as http3 } from "viem";
|
|
20374
20360
|
import { useSwitchChain as useSwitchChain2 } from "wagmi";
|
|
@@ -20400,7 +20386,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
20400
20386
|
const embarkTokenBalanace = assets.find((a) => a.symbol === selectedWarpRoute?.symbol);
|
|
20401
20387
|
const originChainMeta = CHAINS_UI_META[originChain];
|
|
20402
20388
|
const isSelectedTokenNative = selectedWarpRoute?.symbol?.toUpperCase() === originChainMeta?.chain?.nativeCurrency?.symbol?.toUpperCase();
|
|
20403
|
-
const { data: externalBalanceData, isLoading: isExternalBalanceLoading } =
|
|
20389
|
+
const { data: externalBalanceData, isLoading: isExternalBalanceLoading } = useQuery20({
|
|
20404
20390
|
retry: false,
|
|
20405
20391
|
enabled: bridgeSender === "direct-wallet" && !isSelectedTokenNative && !!directWalletAddress && !!routeTokenAddress && !!originChain,
|
|
20406
20392
|
queryKey: [EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, originChain, directWalletAddress, routeTokenAddress],
|
|
@@ -20443,7 +20429,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
20443
20429
|
return { value, decimals, symbol, formatted };
|
|
20444
20430
|
}
|
|
20445
20431
|
});
|
|
20446
|
-
const { data: externalNativeBalanceData, isLoading: isExternalNativeBalanceLoading } =
|
|
20432
|
+
const { data: externalNativeBalanceData, isLoading: isExternalNativeBalanceLoading } = useQuery20({
|
|
20447
20433
|
retry: false,
|
|
20448
20434
|
enabled: bridgeSender === "direct-wallet" && isSelectedTokenNative && !!directWalletAddress && !!originChain,
|
|
20449
20435
|
queryKey: [EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY, originChain, directWalletAddress],
|
|
@@ -20812,11 +20798,11 @@ var init_checkbox = __esm({
|
|
|
20812
20798
|
|
|
20813
20799
|
// src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx
|
|
20814
20800
|
import { LoaderIcon as LoaderIcon9 } from "lucide-react";
|
|
20815
|
-
import { useState as
|
|
20801
|
+
import { useState as useState26 } from "react";
|
|
20816
20802
|
import { jsx as jsx95, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
20817
20803
|
function ConfirmStep(props) {
|
|
20818
20804
|
const { isAssetBridging, bridgeAsset, hyperlaneWarpRoutes } = props;
|
|
20819
|
-
const [userConsent, setUserConsent] =
|
|
20805
|
+
const [userConsent, setUserConsent] = useState26(false);
|
|
20820
20806
|
const { t } = useT();
|
|
20821
20807
|
const address = useSession((st) => st.address);
|
|
20822
20808
|
const bridgeSender = useBridgeStore((st) => st.bridgeSenders.find((s) => s.type === st.bridgeSender));
|
|
@@ -21035,76 +21021,79 @@ var init_SuccessStep = __esm({
|
|
|
21035
21021
|
// src/internal/components/SendMenu/hyperbridge/steps/HistoryStep.tsx
|
|
21036
21022
|
import { useQueryClient as useQueryClient23 } from "@tanstack/react-query";
|
|
21037
21023
|
import dayjs7 from "dayjs";
|
|
21038
|
-
import { ArrowRightIcon, ExternalLinkIcon as
|
|
21024
|
+
import { ArrowRightIcon, DownloadIcon as DownloadIcon2, ExternalLinkIcon as ExternalLinkIcon3, InfoIcon as InfoIcon4, LoaderIcon as LoaderIcon10 } from "lucide-react";
|
|
21039
21025
|
import { jsx as jsx97, jsxs as jsxs89 } from "react/jsx-runtime";
|
|
21040
21026
|
function HistoryDetailsStep() {
|
|
21041
21027
|
const { t } = useT();
|
|
21042
21028
|
const item = useBridgeStore((st) => st.bridgeHistoryItem);
|
|
21043
21029
|
const destinationAdress = item.recipient || item.address;
|
|
21044
|
-
return /* @__PURE__ */ jsxs89(
|
|
21045
|
-
/* @__PURE__ */ jsxs89("
|
|
21046
|
-
/* @__PURE__ */
|
|
21047
|
-
|
|
21048
|
-
|
|
21049
|
-
|
|
21050
|
-
|
|
21051
|
-
|
|
21052
|
-
] }),
|
|
21053
|
-
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21054
|
-
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.recipient") }),
|
|
21055
|
-
/* @__PURE__ */ jsxs89("strong", { children: [
|
|
21056
|
-
destinationAdress.slice(0, 6),
|
|
21057
|
-
"...",
|
|
21058
|
-
destinationAdress.slice(-4)
|
|
21059
|
-
] })
|
|
21060
|
-
] }),
|
|
21061
|
-
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21062
|
-
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.labels.fromChain") }),
|
|
21063
|
-
/* @__PURE__ */ jsx97("strong", { children: CHAINS_UI_META[item.originChain].chainLabel })
|
|
21064
|
-
] }),
|
|
21065
|
-
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21066
|
-
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.labels.toChain") }),
|
|
21067
|
-
/* @__PURE__ */ jsx97("strong", { children: CHAINS_UI_META[item.destinationChain].chainLabel })
|
|
21068
|
-
] }),
|
|
21069
|
-
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21070
|
-
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.amount") }),
|
|
21071
|
-
/* @__PURE__ */ jsx97("strong", { children: formatPrice(Number(item.quote.amount)) })
|
|
21072
|
-
] }),
|
|
21073
|
-
/* @__PURE__ */ jsxs89("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
21074
|
-
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.igpFee") }),
|
|
21075
|
-
/* @__PURE__ */ jsxs89("strong", { children: [
|
|
21076
|
-
/* @__PURE__ */ jsx97("span", { children: formatPrice(Number(item.quote.igpFee)) }),
|
|
21077
|
-
/* @__PURE__ */ jsxs89("span", { children: [
|
|
21078
|
-
" ",
|
|
21079
|
-
item.quote.igpSymbol
|
|
21030
|
+
return /* @__PURE__ */ jsxs89("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21031
|
+
/* @__PURE__ */ jsxs89(Highlight, { type: "info", className: "w-full", children: [
|
|
21032
|
+
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21033
|
+
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.sender") }),
|
|
21034
|
+
/* @__PURE__ */ jsxs89("strong", { children: [
|
|
21035
|
+
item.address.slice(0, 6),
|
|
21036
|
+
"...",
|
|
21037
|
+
item.address.slice(-4)
|
|
21080
21038
|
] })
|
|
21081
|
-
] })
|
|
21082
|
-
|
|
21083
|
-
|
|
21084
|
-
|
|
21085
|
-
|
|
21086
|
-
|
|
21087
|
-
|
|
21088
|
-
" ",
|
|
21089
|
-
item.quote.localSymbol
|
|
21039
|
+
] }),
|
|
21040
|
+
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21041
|
+
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.recipient") }),
|
|
21042
|
+
/* @__PURE__ */ jsxs89("strong", { children: [
|
|
21043
|
+
destinationAdress.slice(0, 6),
|
|
21044
|
+
"...",
|
|
21045
|
+
destinationAdress.slice(-4)
|
|
21090
21046
|
] })
|
|
21047
|
+
] }),
|
|
21048
|
+
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21049
|
+
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.labels.fromChain") }),
|
|
21050
|
+
/* @__PURE__ */ jsx97("strong", { children: CHAINS_UI_META[item.originChain].chainLabel })
|
|
21051
|
+
] }),
|
|
21052
|
+
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21053
|
+
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.labels.toChain") }),
|
|
21054
|
+
/* @__PURE__ */ jsx97("strong", { children: CHAINS_UI_META[item.destinationChain].chainLabel })
|
|
21055
|
+
] }),
|
|
21056
|
+
/* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21057
|
+
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.amount") }),
|
|
21058
|
+
/* @__PURE__ */ jsx97("strong", { children: formatPrice(Number(item.quote.amount)) })
|
|
21059
|
+
] }),
|
|
21060
|
+
/* @__PURE__ */ jsxs89("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
21061
|
+
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.igpFee") }),
|
|
21062
|
+
/* @__PURE__ */ jsxs89("strong", { children: [
|
|
21063
|
+
/* @__PURE__ */ jsx97("span", { children: formatPrice(Number(item.quote.igpFee)) }),
|
|
21064
|
+
/* @__PURE__ */ jsxs89("span", { children: [
|
|
21065
|
+
" ",
|
|
21066
|
+
item.quote.igpSymbol
|
|
21067
|
+
] })
|
|
21068
|
+
] })
|
|
21069
|
+
] }),
|
|
21070
|
+
/* @__PURE__ */ jsxs89("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
21071
|
+
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.localFee") }),
|
|
21072
|
+
/* @__PURE__ */ jsxs89("strong", { children: [
|
|
21073
|
+
/* @__PURE__ */ jsx97("span", { children: formatPrice(Number(item.quote.localFee)) }),
|
|
21074
|
+
/* @__PURE__ */ jsxs89("span", { children: [
|
|
21075
|
+
" ",
|
|
21076
|
+
item.quote.localSymbol
|
|
21077
|
+
] })
|
|
21078
|
+
] })
|
|
21079
|
+
] }),
|
|
21080
|
+
item.quote.tokenFee && /* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
|
|
21081
|
+
/* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.tokenFee") }),
|
|
21082
|
+
/* @__PURE__ */ jsx97("strong", { children: formatPrice(Number(item.quote.tokenFee)) })
|
|
21091
21083
|
] })
|
|
21092
21084
|
] }),
|
|
21093
|
-
item.
|
|
21094
|
-
|
|
21095
|
-
/* @__PURE__ */ jsx97("strong", { children: formatPrice(Number(item.quote.tokenFee)) })
|
|
21096
|
-
] }),
|
|
21097
|
-
item.txHashes?.map((txHash) => /* @__PURE__ */ jsx97(
|
|
21098
|
-
"a",
|
|
21085
|
+
item.txHashes?.map((txHash) => /* @__PURE__ */ jsxs89(
|
|
21086
|
+
Button,
|
|
21099
21087
|
{
|
|
21100
|
-
|
|
21101
|
-
|
|
21102
|
-
|
|
21103
|
-
|
|
21104
|
-
|
|
21105
|
-
|
|
21106
|
-
|
|
21107
|
-
|
|
21088
|
+
variant: "outline",
|
|
21089
|
+
size: "medium",
|
|
21090
|
+
className: "w-full",
|
|
21091
|
+
disabled: !txHash,
|
|
21092
|
+
onClick: () => window.open(`${CHAINS_UI_META[item.originChain].explorerUrl}/tx/${txHash}`, "_blank", "noopener,noreferrer"),
|
|
21093
|
+
children: [
|
|
21094
|
+
/* @__PURE__ */ jsx97(ExternalLinkIcon3, { className: "w-4 h-4" }),
|
|
21095
|
+
txHash ? `Explore TX: ${txHash.slice(0, 8)}...${txHash.slice(-4)}` : "N/A"
|
|
21096
|
+
]
|
|
21108
21097
|
},
|
|
21109
21098
|
txHash
|
|
21110
21099
|
))
|
|
@@ -21150,6 +21139,7 @@ function HistoryItem(props) {
|
|
|
21150
21139
|
updatedAt,
|
|
21151
21140
|
txStatus
|
|
21152
21141
|
} = props;
|
|
21142
|
+
const { t } = useT();
|
|
21153
21143
|
const qc = useQueryClient23();
|
|
21154
21144
|
const address = useSession((st) => st.address);
|
|
21155
21145
|
const warpRoutes = qc.getQueryData([HYPERLANE_WARP_ROUTES_QUERY_KEY, address]);
|
|
@@ -21163,26 +21153,18 @@ function HistoryItem(props) {
|
|
|
21163
21153
|
return /* @__PURE__ */ jsxs89(
|
|
21164
21154
|
"div",
|
|
21165
21155
|
{
|
|
21166
|
-
onClick: () => {
|
|
21167
|
-
const { setBridgeHistoryItem, setBridgeStep } = useBridgeStore.getState();
|
|
21168
|
-
setBridgeHistoryItem(props);
|
|
21169
|
-
setBridgeStep("tx-history-details");
|
|
21170
|
-
},
|
|
21171
21156
|
className: cn(
|
|
21172
21157
|
"w-full cursor-pointer",
|
|
21173
21158
|
"flex flex-col gap-1",
|
|
21174
21159
|
// gap-[var(--ui-kit-gap)]
|
|
21175
21160
|
"bg-[var(--ui-kit-secondary)]",
|
|
21176
|
-
"
|
|
21177
|
-
"p-2 rounded-[var(--ui-kit-el-bdrs)]",
|
|
21161
|
+
"p-2 rounded-[var(--ui-kit-el-bdrs)]"
|
|
21178
21162
|
// p-[var(--ui-kit-pd)]
|
|
21179
|
-
"hover:bg-[var(--ui-kit-secondary-h)] active:bg-[var(--ui-kit-secondary-a)]",
|
|
21180
|
-
"transition-colors duration-200"
|
|
21181
21163
|
),
|
|
21182
21164
|
children: [
|
|
21183
|
-
/* @__PURE__ */ jsxs89("div", { className: "flex items-
|
|
21165
|
+
/* @__PURE__ */ jsxs89("div", { className: "flex items-start gap-[var(--ui-kit-gap)] justify-between", children: [
|
|
21184
21166
|
/* @__PURE__ */ jsxs89("span", { className: "font-bold text-lg leading-6 flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21185
|
-
/* @__PURE__ */ jsx97(AssetIcon, { className: "w-
|
|
21167
|
+
/* @__PURE__ */ jsx97(AssetIcon, { className: "w-8 h-8 flex-none" }),
|
|
21186
21168
|
/* @__PURE__ */ jsx97("span", { children: formatPrice(Number(quote.amount)) }),
|
|
21187
21169
|
/* @__PURE__ */ jsx97("span", { children: assetWarpRoute?.symbol || "" })
|
|
21188
21170
|
] }),
|
|
@@ -21200,7 +21182,7 @@ function HistoryItem(props) {
|
|
|
21200
21182
|
children: [
|
|
21201
21183
|
/* @__PURE__ */ jsxs89("div", { className: "flex w-full items-center justify-between gap-[var(--ui-kit-gap)] leading-5", children: [
|
|
21202
21184
|
/* @__PURE__ */ jsx97(ResolveChainIcon, { chainName: originChain, className: "w-6 h-6 flex-none" }),
|
|
21203
|
-
/* @__PURE__ */ jsx97("span", { className: "block flex-1 text-xs truncate", children: CHAINS_UI_META[originChain]?.chainLabel || "N/A" })
|
|
21185
|
+
/* @__PURE__ */ jsx97("span", { className: "block flex-1 text-xs truncate text-right", children: CHAINS_UI_META[originChain]?.chainLabel || "N/A" })
|
|
21204
21186
|
] }),
|
|
21205
21187
|
/* @__PURE__ */ jsxs89("strong", { className: "text-[10px] leading-5", children: [
|
|
21206
21188
|
fromAddress.slice(0, 6),
|
|
@@ -21233,33 +21215,54 @@ function HistoryItem(props) {
|
|
|
21233
21215
|
}
|
|
21234
21216
|
)
|
|
21235
21217
|
] }),
|
|
21236
|
-
/* @__PURE__ */ jsx97("span", { className: "block w-full text-[10px] text-[var(--ui-kit-fg-muted)] leading-4", children: dayjs7(updatedAt).format("MMMM D, YYYY [at] HH:mm") })
|
|
21218
|
+
/* @__PURE__ */ jsx97("span", { className: "block w-full text-[10px] text-[var(--ui-kit-fg-muted)] leading-4", children: dayjs7(updatedAt).format("MMMM D, YYYY [at] HH:mm") }),
|
|
21219
|
+
/* @__PURE__ */ jsxs89(
|
|
21220
|
+
Button,
|
|
21221
|
+
{
|
|
21222
|
+
variant: "outline",
|
|
21223
|
+
size: "medium",
|
|
21224
|
+
className: "w-full",
|
|
21225
|
+
onClick: () => {
|
|
21226
|
+
const { setBridgeHistoryItem, setBridgeStep } = useBridgeStore.getState();
|
|
21227
|
+
setBridgeHistoryItem(props);
|
|
21228
|
+
setBridgeStep("tx-history-details");
|
|
21229
|
+
},
|
|
21230
|
+
children: [
|
|
21231
|
+
/* @__PURE__ */ jsx97(InfoIcon4, { className: "w-4 h-4" }),
|
|
21232
|
+
/* @__PURE__ */ jsx97("span", { className: "text-xs leading-5", children: t("passport:common.details") })
|
|
21233
|
+
]
|
|
21234
|
+
}
|
|
21235
|
+
)
|
|
21237
21236
|
]
|
|
21238
21237
|
}
|
|
21239
21238
|
);
|
|
21240
21239
|
}
|
|
21241
21240
|
function HistoryStep() {
|
|
21242
21241
|
const { t } = useT();
|
|
21243
|
-
const {
|
|
21244
|
-
|
|
21245
|
-
|
|
21246
|
-
|
|
21242
|
+
const {
|
|
21243
|
+
txList,
|
|
21244
|
+
query: { hasNextPage, isLoading, isFetching: isTxDataFetching, fetchNextPage }
|
|
21245
|
+
} = useHyperlaneHistory();
|
|
21246
|
+
if (!isLoading && txList.length === 0) {
|
|
21247
21247
|
return /* @__PURE__ */ jsx97(Highlight, { type: "info", className: "w-full text-center text-[10px] text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:bridgeMenu.errors.noHistory") });
|
|
21248
21248
|
}
|
|
21249
21249
|
return /* @__PURE__ */ jsxs89("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21250
|
-
|
|
21251
|
-
!
|
|
21252
|
-
|
|
21253
|
-
|
|
21254
|
-
|
|
21255
|
-
|
|
21256
|
-
|
|
21257
|
-
|
|
21258
|
-
|
|
21259
|
-
|
|
21260
|
-
|
|
21261
|
-
|
|
21262
|
-
|
|
21250
|
+
isLoading && /* @__PURE__ */ jsx97("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx97(LoaderIcon10, { className: "w-4 h-4 animate-spin" }) }),
|
|
21251
|
+
!isLoading && txList.map((item) => /* @__PURE__ */ jsx97(HistoryItem, { ...item }, item.id)),
|
|
21252
|
+
hasNextPage && /* @__PURE__ */ jsxs89(
|
|
21253
|
+
Button,
|
|
21254
|
+
{
|
|
21255
|
+
variant: "ghost",
|
|
21256
|
+
size: "large",
|
|
21257
|
+
disabled: isTxDataFetching,
|
|
21258
|
+
className: "w-full",
|
|
21259
|
+
onClick: () => fetchNextPage(),
|
|
21260
|
+
children: [
|
|
21261
|
+
isTxDataFetching ? /* @__PURE__ */ jsx97(LoaderIcon10, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx97(DownloadIcon2, { className: "w-4 h-4" }),
|
|
21262
|
+
t("passport:common.loadMore")
|
|
21263
|
+
]
|
|
21264
|
+
}
|
|
21265
|
+
)
|
|
21263
21266
|
] });
|
|
21264
21267
|
}
|
|
21265
21268
|
var P_CN3;
|
|
@@ -21278,20 +21281,20 @@ var init_HistoryStep = __esm({
|
|
|
21278
21281
|
init_useHyperlaneRoutes();
|
|
21279
21282
|
init_chains();
|
|
21280
21283
|
init_useBridgeStore();
|
|
21281
|
-
P_CN3 = "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]";
|
|
21284
|
+
P_CN3 = "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)] leading-5";
|
|
21282
21285
|
}
|
|
21283
21286
|
});
|
|
21284
21287
|
|
|
21285
21288
|
// src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx
|
|
21286
21289
|
import { ArrowLeftRightIcon as ArrowLeftRightIcon2 } from "lucide-react";
|
|
21287
|
-
import { useMemo as
|
|
21290
|
+
import { useMemo as useMemo12, useState as useState27 } from "react";
|
|
21288
21291
|
import { Fragment as Fragment37, jsx as jsx98, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
21289
21292
|
function SelectAssetRoute(props) {
|
|
21290
21293
|
const { hyperlaneWarpRoutes } = props;
|
|
21291
21294
|
const { t } = useT();
|
|
21292
|
-
const [isTokenSymbolSelector, setIsTokenSymbolSelector] =
|
|
21295
|
+
const [isTokenSymbolSelector, setIsTokenSymbolSelector] = useState27(false);
|
|
21293
21296
|
const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
|
|
21294
|
-
const tokenList =
|
|
21297
|
+
const tokenList = useMemo12(() => {
|
|
21295
21298
|
const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
|
|
21296
21299
|
const uniqueTokens = Array.from(new Set(tokens));
|
|
21297
21300
|
return uniqueTokens.map((symbol) => ({
|
|
@@ -21574,8 +21577,8 @@ var init_useErc3643Compliance = __esm({
|
|
|
21574
21577
|
});
|
|
21575
21578
|
|
|
21576
21579
|
// src/hooks/useNicknameResolve.ts
|
|
21577
|
-
import { useQuery as
|
|
21578
|
-
import { useState as
|
|
21580
|
+
import { useQuery as useQuery21 } from "@tanstack/react-query";
|
|
21581
|
+
import { useState as useState28, useEffect as useEffect41, useMemo as useMemo13 } from "react";
|
|
21579
21582
|
function looksLikeNickname(input) {
|
|
21580
21583
|
if (!input) return false;
|
|
21581
21584
|
if (input.startsWith("0x")) return false;
|
|
@@ -21585,8 +21588,8 @@ function looksLikeNickname(input) {
|
|
|
21585
21588
|
}
|
|
21586
21589
|
function useNicknameResolve(input, options) {
|
|
21587
21590
|
const { enabled = true, chainId } = options;
|
|
21588
|
-
const [debouncedInput, setDebouncedInput] =
|
|
21589
|
-
const [isDebouncing, setIsDebouncing] =
|
|
21591
|
+
const [debouncedInput, setDebouncedInput] = useState28("");
|
|
21592
|
+
const [isDebouncing, setIsDebouncing] = useState28(false);
|
|
21590
21593
|
const normalized = normalizeNickname(input);
|
|
21591
21594
|
const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
|
|
21592
21595
|
useEffect41(() => {
|
|
@@ -21604,7 +21607,7 @@ function useNicknameResolve(input, options) {
|
|
|
21604
21607
|
clearTimeout(timer);
|
|
21605
21608
|
};
|
|
21606
21609
|
}, [normalized, isNicknameInput, enabled]);
|
|
21607
|
-
const query =
|
|
21610
|
+
const query = useQuery21({
|
|
21608
21611
|
queryKey: [...QUERY_KEYS.nicknameResolve(debouncedInput), chainId],
|
|
21609
21612
|
queryFn: () => resolveNickname(debouncedInput, chainId),
|
|
21610
21613
|
enabled: enabled && isNicknameInput && debouncedInput.length > 0,
|
|
@@ -21615,7 +21618,7 @@ function useNicknameResolve(input, options) {
|
|
|
21615
21618
|
const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
|
|
21616
21619
|
const isWalletNotSetup = !!query.data && query.data.resolvedTarget === null;
|
|
21617
21620
|
const isFrozen = query.data?.isFrozen ?? false;
|
|
21618
|
-
const fingerprintVerification =
|
|
21621
|
+
const fingerprintVerification = useMemo13(() => {
|
|
21619
21622
|
if (!query.data?.owner || !query.data?.fingerprint) {
|
|
21620
21623
|
return null;
|
|
21621
21624
|
}
|
|
@@ -21649,14 +21652,14 @@ var init_useNicknameResolve = __esm({
|
|
|
21649
21652
|
});
|
|
21650
21653
|
|
|
21651
21654
|
// src/hooks/useSendTransaction.ts
|
|
21652
|
-
import { useCallback as useCallback27, useState as
|
|
21655
|
+
import { useCallback as useCallback27, useState as useState29 } from "react";
|
|
21653
21656
|
import { encodeFunctionData as encodeFunctionData2, isAddress, parseEther as parseEther2, parseUnits } from "viem";
|
|
21654
21657
|
function useSendTransaction() {
|
|
21655
21658
|
const session = useSession((st) => st.session);
|
|
21656
21659
|
const address = useSession((st) => st.address);
|
|
21657
|
-
const [isLoading, setIsLoading] =
|
|
21658
|
-
const [error, setError] =
|
|
21659
|
-
const [userOpHash, setUserOpHash] =
|
|
21660
|
+
const [isLoading, setIsLoading] = useState29(false);
|
|
21661
|
+
const [error, setError] = useState29(null);
|
|
21662
|
+
const [userOpHash, setUserOpHash] = useState29(null);
|
|
21660
21663
|
const sendTransaction = useCallback27(
|
|
21661
21664
|
async (params) => {
|
|
21662
21665
|
if (!session || !address) {
|
|
@@ -21917,10 +21920,10 @@ var init_AssetInputIcon = __esm({
|
|
|
21917
21920
|
|
|
21918
21921
|
// src/internal/components/SendMenu/send/components/NftDisplayCard.tsx
|
|
21919
21922
|
import { Image as ImageIcon3, Sparkles as Sparkles3 } from "lucide-react";
|
|
21920
|
-
import { useState as
|
|
21923
|
+
import { useState as useState30 } from "react";
|
|
21921
21924
|
import { jsx as jsx102, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
21922
21925
|
function NftDisplayCard({ asset }) {
|
|
21923
|
-
const [imageError, setImageError] =
|
|
21926
|
+
const [imageError, setImageError] = useState30(false);
|
|
21924
21927
|
const nftImage = asset.image || asset.nftMetadata?.image;
|
|
21925
21928
|
return /* @__PURE__ */ jsxs93("div", { className: "flex items-center gap-3 p-3 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-bg-secondary)]", children: [
|
|
21926
21929
|
nftImage && !imageError ? /* @__PURE__ */ jsx102(
|
|
@@ -22577,7 +22580,7 @@ var init_sendSteps = __esm({
|
|
|
22577
22580
|
|
|
22578
22581
|
// src/internal/components/SendMenu/send/SendMenu.tsx
|
|
22579
22582
|
import { CheckCircle2 as CheckCircle26, Loader as Loader31 } from "lucide-react";
|
|
22580
|
-
import { useEffect as useEffect42, useMemo as
|
|
22583
|
+
import { useEffect as useEffect42, useMemo as useMemo14 } from "react";
|
|
22581
22584
|
import { parseUnits as parseUnits2 } from "viem";
|
|
22582
22585
|
import { Fragment as Fragment42, jsx as jsx107, jsxs as jsxs98 } from "react/jsx-runtime";
|
|
22583
22586
|
function SendMenu() {
|
|
@@ -22638,7 +22641,7 @@ function SendMenu() {
|
|
|
22638
22641
|
const isNicknameInput = looksLikeNickname(recipient);
|
|
22639
22642
|
const resolvedNicknameData = useNicknameResolve(recipient, { enabled: isNicknameInput, chainId: activeChainId });
|
|
22640
22643
|
const effectiveAddress = isNicknameInput ? resolvedNicknameData?.resolvedAddress : recipient;
|
|
22641
|
-
const complianceAmount =
|
|
22644
|
+
const complianceAmount = useMemo14(() => {
|
|
22642
22645
|
if (!isSecurity || !amount || !selectedAsset) return void 0;
|
|
22643
22646
|
try {
|
|
22644
22647
|
return parseUnits2(amount, selectedAsset.decimals || 18);
|
|
@@ -22745,7 +22748,7 @@ var init_send = __esm({
|
|
|
22745
22748
|
});
|
|
22746
22749
|
|
|
22747
22750
|
// src/internal/components/SendMenu/SendFlowSelector.tsx
|
|
22748
|
-
import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2, InfoIcon as
|
|
22751
|
+
import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2, InfoIcon as InfoIcon5 } from "lucide-react";
|
|
22749
22752
|
import { useEffect as useEffect43 } from "react";
|
|
22750
22753
|
import { jsx as jsx108, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
22751
22754
|
function SelectorFlowButtons() {
|
|
@@ -22867,7 +22870,7 @@ function SendFlowSelector() {
|
|
|
22867
22870
|
SELECTOR_FLOW[selectorFlow],
|
|
22868
22871
|
error && /* @__PURE__ */ jsxs99(Highlight, { type: "error", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22869
22872
|
/* @__PURE__ */ jsxs99("div", { className: "w-full flex gap-[var(--ui-kit-gap)]", children: [
|
|
22870
|
-
/* @__PURE__ */ jsx108(
|
|
22873
|
+
/* @__PURE__ */ jsx108(InfoIcon5, { className: "h-4 w-4 flex-none" }),
|
|
22871
22874
|
/* @__PURE__ */ jsx108("span", { children: error })
|
|
22872
22875
|
] }),
|
|
22873
22876
|
/* @__PURE__ */ jsx108(
|
|
@@ -22990,7 +22993,7 @@ var init_constants6 = __esm({
|
|
|
22990
22993
|
});
|
|
22991
22994
|
|
|
22992
22995
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
22993
|
-
import { useQuery as
|
|
22996
|
+
import { useQuery as useQuery22 } from "@tanstack/react-query";
|
|
22994
22997
|
import { ArrowLeft as ArrowLeft20, HardDrive as HardDrive3 } from "lucide-react";
|
|
22995
22998
|
import { useEffect as useEffect44 } from "react";
|
|
22996
22999
|
import { jsx as jsx110, jsxs as jsxs100 } from "react/jsx-runtime";
|
|
@@ -23033,7 +23036,7 @@ function SettingsMenu() {
|
|
|
23033
23036
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
23034
23037
|
const settingsButtons = useSettingsButtons();
|
|
23035
23038
|
useProvidersList();
|
|
23036
|
-
|
|
23039
|
+
useQuery22({
|
|
23037
23040
|
retry: 1,
|
|
23038
23041
|
enabled: !!address,
|
|
23039
23042
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
@@ -24017,9 +24020,9 @@ var init_TransactionsGroup = __esm({
|
|
|
24017
24020
|
});
|
|
24018
24021
|
|
|
24019
24022
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
24020
|
-
import { useQuery as
|
|
24023
|
+
import { useQuery as useQuery23, useQueryClient as useQueryClient24 } from "@tanstack/react-query";
|
|
24021
24024
|
import { ArrowLeft as ArrowLeft22, Loader as Loader32, RefreshCw as RefreshCw3, XCircle } from "lucide-react";
|
|
24022
|
-
import { useCallback as useCallback28, useState as
|
|
24025
|
+
import { useCallback as useCallback28, useState as useState31 } from "react";
|
|
24023
24026
|
import { jsx as jsx114, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
24024
24027
|
function TransactionsMenu() {
|
|
24025
24028
|
const qc = useQueryClient24();
|
|
@@ -24028,14 +24031,14 @@ function TransactionsMenu() {
|
|
|
24028
24031
|
const { t } = useT();
|
|
24029
24032
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
24030
24033
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
24031
|
-
const [expandedGroups, setExpandedGroups] =
|
|
24034
|
+
const [expandedGroups, setExpandedGroups] = useState31({});
|
|
24032
24035
|
const historySupported = isTransactionHistorySupported(chainConfig?.id);
|
|
24033
24036
|
const {
|
|
24034
24037
|
data: txHistoryGroups = [],
|
|
24035
24038
|
isLoading: isTxHistoryLoading,
|
|
24036
24039
|
isFetching: isTxHistoryFetching,
|
|
24037
24040
|
error: txHistoryError
|
|
24038
|
-
} =
|
|
24041
|
+
} = useQuery23({
|
|
24039
24042
|
retry: false,
|
|
24040
24043
|
enabled: !!address && !!chainConfig?.id && historySupported,
|
|
24041
24044
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
|
|
@@ -24336,14 +24339,14 @@ var init_usePageMapper = __esm({
|
|
|
24336
24339
|
});
|
|
24337
24340
|
|
|
24338
24341
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
24339
|
-
import { useQuery as
|
|
24342
|
+
import { useQuery as useQuery24 } from "@tanstack/react-query";
|
|
24340
24343
|
import { useEffect as useEffect46 } from "react";
|
|
24341
24344
|
function useSettingsNotifications() {
|
|
24342
24345
|
const address = useSession((st) => st.address);
|
|
24343
24346
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
24344
24347
|
const providers = jwtTokenManager2.getProviders();
|
|
24345
24348
|
const hasEmail = providers.includes("email");
|
|
24346
|
-
const { data: userProfile = null } =
|
|
24349
|
+
const { data: userProfile = null } = useQuery24({
|
|
24347
24350
|
retry: false,
|
|
24348
24351
|
enabled: !!address,
|
|
24349
24352
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -24389,7 +24392,7 @@ var init_package = __esm({
|
|
|
24389
24392
|
"package.json"() {
|
|
24390
24393
|
package_default = {
|
|
24391
24394
|
name: "@embarkai/ui-kit",
|
|
24392
|
-
version: "0.4.
|
|
24395
|
+
version: "0.4.45",
|
|
24393
24396
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
24394
24397
|
type: "module",
|
|
24395
24398
|
main: "./dist/index.cjs",
|
|
@@ -24605,9 +24608,9 @@ var init_Footer2 = __esm({
|
|
|
24605
24608
|
});
|
|
24606
24609
|
|
|
24607
24610
|
// src/internal/components/Header/Header.tsx
|
|
24608
|
-
import { useQuery as
|
|
24611
|
+
import { useQuery as useQuery25 } from "@tanstack/react-query";
|
|
24609
24612
|
import { Copy as Copy5, Loader as Loader34 } from "lucide-react";
|
|
24610
|
-
import { useCallback as useCallback30, useRef as useRef20, useState as
|
|
24613
|
+
import { useCallback as useCallback30, useRef as useRef20, useState as useState32 } from "react";
|
|
24611
24614
|
import { Fragment as Fragment44, jsx as jsx117, jsxs as jsxs106 } from "react/jsx-runtime";
|
|
24612
24615
|
function formatAddress2(addr) {
|
|
24613
24616
|
if (!addr) return "";
|
|
@@ -24619,8 +24622,8 @@ function Header() {
|
|
|
24619
24622
|
const chainConfig = useSession((st) => st.chainConfig);
|
|
24620
24623
|
const { t } = useT();
|
|
24621
24624
|
const proMode = useProMode();
|
|
24622
|
-
const [proToast, setProToast] =
|
|
24623
|
-
const [copied, setCopied] =
|
|
24625
|
+
const [proToast, setProToast] = useState32(false);
|
|
24626
|
+
const [copied, setCopied] = useState32(false);
|
|
24624
24627
|
const clickCountRef = useRef20(0);
|
|
24625
24628
|
const clickTimerRef = useRef20(null);
|
|
24626
24629
|
const handleAvatarClick = useCallback30(() => {
|
|
@@ -24641,7 +24644,7 @@ function Header() {
|
|
|
24641
24644
|
}, 1e3);
|
|
24642
24645
|
}
|
|
24643
24646
|
}, []);
|
|
24644
|
-
const { data: profile, isLoading: isProfileLoading } =
|
|
24647
|
+
const { data: profile, isLoading: isProfileLoading } = useQuery25({
|
|
24645
24648
|
retry: false,
|
|
24646
24649
|
enabled: !!address,
|
|
24647
24650
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -28122,14 +28125,14 @@ var init_rainbowkit = __esm({
|
|
|
28122
28125
|
|
|
28123
28126
|
// src/context/RainbowKitContext.tsx
|
|
28124
28127
|
import { darkTheme, lightTheme, RainbowKitProvider as NativeRainbowKitProvider } from "@rainbow-me/rainbowkit";
|
|
28125
|
-
import { useMemo as
|
|
28128
|
+
import { useMemo as useMemo15 } from "react";
|
|
28126
28129
|
import { WagmiProvider } from "wagmi";
|
|
28127
28130
|
import "@rainbow-me/rainbowkit/styles.css";
|
|
28128
28131
|
import { Fragment as Fragment46, jsx as jsx122 } from "react/jsx-runtime";
|
|
28129
28132
|
function RainbowKitProvider({ children }) {
|
|
28130
28133
|
const config = useProviderConfig().config;
|
|
28131
28134
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
28132
|
-
const rainbowConfig =
|
|
28135
|
+
const rainbowConfig = useMemo15(
|
|
28133
28136
|
() => createRainbowConfig({
|
|
28134
28137
|
projectId: config.current?.wallet?.walletConnectProjectId,
|
|
28135
28138
|
allowedWallets: config.current?.wallet?.allowedWallets,
|
|
@@ -28143,7 +28146,7 @@ function RainbowKitProvider({ children }) {
|
|
|
28143
28146
|
config.current?.wallet?.walletConnectProjectId
|
|
28144
28147
|
]
|
|
28145
28148
|
);
|
|
28146
|
-
const customTheme =
|
|
28149
|
+
const customTheme = useMemo15(() => {
|
|
28147
28150
|
if (!config.current?.wallet?.enabled) return {};
|
|
28148
28151
|
return colorMode === "dark" ? {
|
|
28149
28152
|
...darkTheme(),
|
|
@@ -28204,7 +28207,7 @@ import {
|
|
|
28204
28207
|
useCallback as useCallback33,
|
|
28205
28208
|
useContext,
|
|
28206
28209
|
useEffect as useEffect50,
|
|
28207
|
-
useMemo as
|
|
28210
|
+
useMemo as useMemo16,
|
|
28208
28211
|
useRef as useRef21
|
|
28209
28212
|
} from "react";
|
|
28210
28213
|
import { jsx as jsx124 } from "react/jsx-runtime";
|
|
@@ -28316,7 +28319,7 @@ function Provider(props) {
|
|
|
28316
28319
|
console.error("[PROVIDER] Error setting up iframe manager:", error);
|
|
28317
28320
|
}
|
|
28318
28321
|
}, [projectId]);
|
|
28319
|
-
const contextValue =
|
|
28322
|
+
const contextValue = useMemo16(
|
|
28320
28323
|
() => ({
|
|
28321
28324
|
config,
|
|
28322
28325
|
updateConfig,
|
|
@@ -28356,7 +28359,7 @@ var init_ProviderContext = __esm({
|
|
|
28356
28359
|
});
|
|
28357
28360
|
|
|
28358
28361
|
// src/styles/built.css
|
|
28359
|
-
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-0\\.5{right:-.125rem}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-0\\.5{top:-.125rem}.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-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\\/2{top:50%}.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 .-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-2{height:.5rem}.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-64{max-height:16rem}.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 .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-2{width:.5rem}.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-72{width:18rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.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-\\[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-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[80px\\]{max-width:80px}.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 .rotate-180{--tw-rotate:180deg}.embarkai-ui-scope .rotate-180,.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-help{cursor:help}.embarkai-ui-scope .cursor-not-allowed{cursor:not-allowed}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .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-1\\.5{gap:.375rem}.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-accent\\)\\]{background-color:var(--ui-kit-accent)}.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-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.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-\\[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-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-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-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 .tracking-wider{letter-spacing:.05em}.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 .opacity-70{opacity:.7}.embarkai-ui-scope .opacity-90{opacity:.9}.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-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px 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 .transition-transform{transition-property:transform;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)}.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{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-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.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-bg-secondary\\)\\]:hover{background-color:var(--ui-kit-bg-secondary)}.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-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-100:hover{opacity:1}.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-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .md\\:text-xs{font-size:.75rem;line-height:1rem}}.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}`;
|
|
28362
|
+
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-0\\.5{right:-.125rem}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-0\\.5{top:-.125rem}.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-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\\/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 .-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-2{height:.5rem}.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-64{max-height:16rem}.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 .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-2{width:.5rem}.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-72{width:18rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.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-\\[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-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[80px\\]{max-width:80px}.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 .rotate-180{--tw-rotate:180deg}.embarkai-ui-scope .rotate-180,.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-help{cursor:help}.embarkai-ui-scope .cursor-not-allowed{cursor:not-allowed}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .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-1\\.5{gap:.375rem}.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-accent\\)\\]{background-color:var(--ui-kit-accent)}.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-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.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-\\[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-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-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-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 .tracking-wider{letter-spacing:.05em}.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 .opacity-70{opacity:.7}.embarkai-ui-scope .opacity-90{opacity:.9}.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-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px 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 .transition-transform{transition-property:transform;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)}.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{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-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.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-bg-secondary\\)\\]:hover{background-color:var(--ui-kit-bg-secondary)}.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-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-100:hover{opacity:1}.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-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .md\\:text-xs{font-size:.75rem;line-height:1rem}}.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}`;
|
|
28360
28363
|
|
|
28361
28364
|
// src/index.ts
|
|
28362
28365
|
init_ProviderContext();
|
|
@@ -28467,9 +28470,9 @@ init_useLayoutDataStore();
|
|
|
28467
28470
|
init_useLayoutStore();
|
|
28468
28471
|
init_pro_mode();
|
|
28469
28472
|
init_utils2();
|
|
28470
|
-
import { useQuery as
|
|
28473
|
+
import { useQuery as useQuery26 } from "@tanstack/react-query";
|
|
28471
28474
|
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader35, Shield as Shield3 } from "lucide-react";
|
|
28472
|
-
import { useEffect as useEffect51, useMemo as
|
|
28475
|
+
import { useEffect as useEffect51, useMemo as useMemo17 } from "react";
|
|
28473
28476
|
import { Fragment as Fragment47, jsx as jsx126, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
28474
28477
|
function getFormattedStatus(label, status, showStatus) {
|
|
28475
28478
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
@@ -28490,14 +28493,14 @@ function ConnectWalletButton(props) {
|
|
|
28490
28493
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
28491
28494
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
28492
28495
|
useEffect51(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
28493
|
-
const { data: profile, isLoading: isProfileLoading } =
|
|
28496
|
+
const { data: profile, isLoading: isProfileLoading } = useQuery26({
|
|
28494
28497
|
retry: false,
|
|
28495
28498
|
enabled: !!address,
|
|
28496
28499
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
28497
28500
|
queryFn: getUserProfile
|
|
28498
28501
|
});
|
|
28499
28502
|
const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
|
|
28500
|
-
const indicators =
|
|
28503
|
+
const indicators = useMemo17(() => {
|
|
28501
28504
|
const userId = session?.mpcUserId;
|
|
28502
28505
|
if (!userId) return { server: false, local: false, backup: false };
|
|
28503
28506
|
const server = jwtTokenManager2.getHasKeyshare() ?? false;
|
|
@@ -29161,12 +29164,12 @@ var Hash = ({
|
|
|
29161
29164
|
|
|
29162
29165
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
29163
29166
|
init_base();
|
|
29164
|
-
import { useEffect as useEffect53, useState as
|
|
29167
|
+
import { useEffect as useEffect53, useState as useState36 } from "react";
|
|
29165
29168
|
import { jsx as jsx132, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
29166
29169
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
29167
|
-
const [transactions, setTransactions] =
|
|
29168
|
-
const [loading, setLoading] =
|
|
29169
|
-
const [error, setError] =
|
|
29170
|
+
const [transactions, setTransactions] = useState36([]);
|
|
29171
|
+
const [loading, setLoading] = useState36(true);
|
|
29172
|
+
const [error, setError] = useState36(null);
|
|
29170
29173
|
useEffect53(() => {
|
|
29171
29174
|
const fetchTransactions2 = async () => {
|
|
29172
29175
|
try {
|
|
@@ -29517,7 +29520,7 @@ function useDirectWallet() {
|
|
|
29517
29520
|
|
|
29518
29521
|
// src/hooks/useSendDirectTransaction.ts
|
|
29519
29522
|
init_useExternalWalletStore();
|
|
29520
|
-
import { useCallback as useCallback39, useState as
|
|
29523
|
+
import { useCallback as useCallback39, useState as useState38 } from "react";
|
|
29521
29524
|
import { isAddress as isAddress3, parseEther as parseEther3 } from "viem";
|
|
29522
29525
|
import { useSendTransaction as useWagmiSendTransaction, useSwitchChain as useSwitchChain3 } from "wagmi";
|
|
29523
29526
|
function useSendDirectTransaction() {
|
|
@@ -29525,9 +29528,9 @@ function useSendDirectTransaction() {
|
|
|
29525
29528
|
const externalChainId = useExternalWalletStore((st) => st.externalChainId);
|
|
29526
29529
|
const { sendTransactionAsync } = useWagmiSendTransaction();
|
|
29527
29530
|
const { switchChainAsync } = useSwitchChain3();
|
|
29528
|
-
const [isPending, setIsPending] =
|
|
29529
|
-
const [error, setError] =
|
|
29530
|
-
const [txHash, setTxHash] =
|
|
29531
|
+
const [isPending, setIsPending] = useState38(false);
|
|
29532
|
+
const [error, setError] = useState38(null);
|
|
29533
|
+
const [txHash, setTxHash] = useState38(null);
|
|
29531
29534
|
const sendTransaction = useCallback39(
|
|
29532
29535
|
async (params) => {
|
|
29533
29536
|
if (!isConnected) {
|
|
@@ -29574,7 +29577,7 @@ function useSendDirectTransaction() {
|
|
|
29574
29577
|
init_SessionContext();
|
|
29575
29578
|
init_account2();
|
|
29576
29579
|
init_linkedProfiles();
|
|
29577
|
-
import { useCallback as useCallback40, useMemo as
|
|
29580
|
+
import { useCallback as useCallback40, useMemo as useMemo18, useState as useState39 } from "react";
|
|
29578
29581
|
import { encodeFunctionData as encodeFunctionData3, isAddress as isAddress4, parseEther as parseEther4, parseUnits as parseUnits3 } from "viem";
|
|
29579
29582
|
var ERC20_TRANSFER_ABI2 = [
|
|
29580
29583
|
{
|
|
@@ -29590,10 +29593,10 @@ var ERC20_TRANSFER_ABI2 = [
|
|
|
29590
29593
|
function useTransferToLinkedWallet() {
|
|
29591
29594
|
const session = useSession((st) => st.session);
|
|
29592
29595
|
const { profiles } = useLinkedProfiles();
|
|
29593
|
-
const [isPending, setIsPending] =
|
|
29594
|
-
const [error, setError] =
|
|
29595
|
-
const [userOpHash, setUserOpHash] =
|
|
29596
|
-
const linkedWallets =
|
|
29596
|
+
const [isPending, setIsPending] = useState39(false);
|
|
29597
|
+
const [error, setError] = useState39(null);
|
|
29598
|
+
const [userOpHash, setUserOpHash] = useState39(null);
|
|
29599
|
+
const linkedWallets = useMemo18(
|
|
29597
29600
|
() => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
|
|
29598
29601
|
[profiles]
|
|
29599
29602
|
);
|