@embarkai/ui-kit 0.4.75 → 0.4.77
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 +423 -416
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +309 -302
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5835,7 +5835,7 @@ var init_en = __esm({
|
|
|
5835
5835
|
},
|
|
5836
5836
|
nicknameMenu: {
|
|
5837
5837
|
title: "Nickname",
|
|
5838
|
-
yourNickname: "Your
|
|
5838
|
+
yourNickname: "Your nickname",
|
|
5839
5839
|
cooldownMessage: "You can change your nickname again on {{canChangeAt}} ({{days}} days remained)",
|
|
5840
5840
|
lastChanged: "Last changed",
|
|
5841
5841
|
timesChanged: "Times changed",
|
|
@@ -5857,7 +5857,8 @@ var init_en = __esm({
|
|
|
5857
5857
|
alreadyYourNickname: "This is already your nickname",
|
|
5858
5858
|
checkingAvailability: "Checking availability...",
|
|
5859
5859
|
nicknameAvailable: "Nickname is available",
|
|
5860
|
-
nicknameNotAvailable: "This nickname is not available"
|
|
5860
|
+
nicknameNotAvailable: "This nickname is not available",
|
|
5861
|
+
nicknameChanged: "Nickname has been changed"
|
|
5861
5862
|
},
|
|
5862
5863
|
initialUser: {
|
|
5863
5864
|
welcome: "Your nickname is set as {{nickname}}",
|
|
@@ -6400,7 +6401,8 @@ var init_ru = __esm({
|
|
|
6400
6401
|
alreadyYourNickname: "\u042D\u0442\u043E \u0443\u0436\u0435 \u0432\u0430\u0448 \u043D\u0438\u043A\u043D\u0435\u0439\u043C",
|
|
6401
6402
|
checkingAvailability: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0441\u0442\u0438...",
|
|
6402
6403
|
nicknameAvailable: "\u041D\u0438\u043A\u043D\u0435\u0439\u043C \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",
|
|
6403
|
-
nicknameNotAvailable: "\u042D\u0442\u043E\u0442 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D"
|
|
6404
|
+
nicknameNotAvailable: "\u042D\u0442\u043E\u0442 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",
|
|
6405
|
+
nicknameChanged: "\u041D\u0438\u043A\u043D\u0435\u0439\u043C \u0431\u044B\u043B \u0438\u0437\u043C\u0435\u043D\u0435\u043D"
|
|
6404
6406
|
},
|
|
6405
6407
|
initialUser: {
|
|
6406
6408
|
welcome: "\u0412\u0430\u0448 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D \u043A\u0430\u043A {{nickname}}",
|
|
@@ -6943,7 +6945,8 @@ var init_zh = __esm({
|
|
|
6943
6945
|
alreadyYourNickname: "\u6B64\u6635\u79F0\u5DF2\u662F\u60A8\u7684\u6635\u79F0",
|
|
6944
6946
|
checkingAvailability: "\u6B63\u5728\u68C0\u67E5\u53EF\u7528\u6027...",
|
|
6945
6947
|
nicknameAvailable: "\u6635\u79F0\u53EF\u7528",
|
|
6946
|
-
nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528"
|
|
6948
|
+
nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528",
|
|
6949
|
+
nicknameChanged: "\u6635\u79F0\u5DF2\u66F4\u6539"
|
|
6947
6950
|
},
|
|
6948
6951
|
initialUser: {
|
|
6949
6952
|
welcome: "\u60A8\u7684\u6635\u79F0\u5DF2\u8BBE\u7F6E\u4E3A {{nickname}}",
|
|
@@ -9094,7 +9097,7 @@ var init_onboarder = __esm({
|
|
|
9094
9097
|
const elementRef = this.elements.get(elId)?.deref();
|
|
9095
9098
|
if (!elementRef) return;
|
|
9096
9099
|
const { x, y, width, height } = elementRef.getBoundingClientRect();
|
|
9097
|
-
elementRef.scrollIntoView({ behavior: "smooth", block: "
|
|
9100
|
+
elementRef.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
9098
9101
|
useOnboardingStore.getState().setElRect({ x, y, width, height });
|
|
9099
9102
|
}, 200);
|
|
9100
9103
|
});
|
|
@@ -9112,7 +9115,7 @@ var init_onboarder = __esm({
|
|
|
9112
9115
|
elRectData = elementRef.getBoundingClientRect();
|
|
9113
9116
|
} else {
|
|
9114
9117
|
elRectData = element.getBoundingClientRect();
|
|
9115
|
-
element.scrollIntoView({ behavior: "smooth", block: "
|
|
9118
|
+
element.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
9116
9119
|
}
|
|
9117
9120
|
useOnboardingStore.getState().setElRect(elRectData);
|
|
9118
9121
|
}
|
|
@@ -9175,76 +9178,42 @@ var init_onboarder = __esm({
|
|
|
9175
9178
|
if (!this.tour) return null;
|
|
9176
9179
|
return this.tour[this.tourPointer];
|
|
9177
9180
|
}
|
|
9178
|
-
|
|
9179
|
-
|
|
9180
|
-
}
|
|
9181
|
+
// getCurrentTargetElement(): HTMLElement | null {
|
|
9182
|
+
// return this.elements.get(this.tour[this.tourPointer]?.elId)?.deref() || null
|
|
9183
|
+
// }
|
|
9181
9184
|
};
|
|
9182
9185
|
onboarder = new Onboarder();
|
|
9183
9186
|
}
|
|
9184
9187
|
});
|
|
9185
9188
|
|
|
9186
9189
|
// src/internal/components/Onboarding/OnboardingOverlay.tsx
|
|
9187
|
-
import { ChevronRightIcon, LoaderIcon } from "lucide-react";
|
|
9188
|
-
import { useEffect as useEffect12, useState as useState5 } from "react";
|
|
9190
|
+
import { ChevronRightIcon, LoaderIcon, XIcon } from "lucide-react";
|
|
9191
|
+
import { useEffect as useEffect12, useMemo as useMemo2, useState as useState5 } from "react";
|
|
9189
9192
|
import { createPortal } from "react-dom";
|
|
9190
9193
|
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
9191
9194
|
function getTooltipXPos(params) {
|
|
9192
|
-
const { x, width, isMobileView
|
|
9193
|
-
const
|
|
9194
|
-
const
|
|
9195
|
-
const
|
|
9196
|
-
const
|
|
9197
|
-
const
|
|
9198
|
-
|
|
9199
|
-
|
|
9200
|
-
if (
|
|
9201
|
-
|
|
9202
|
-
isOverflowX: true,
|
|
9203
|
-
width: ttWidth,
|
|
9204
|
-
x: x - (ttEndX - window.innerWidth) - 2 * expandValue
|
|
9205
|
-
// unstick tooltip from window right edge
|
|
9206
|
-
};
|
|
9207
|
-
}
|
|
9208
|
-
if (isTTOverflowsFrame) {
|
|
9209
|
-
const calcedX = x - ttShiftX - ttWidth / 2 + frameWidth / 2;
|
|
9210
|
-
return {
|
|
9211
|
-
isOverflowX: true,
|
|
9212
|
-
width: ttWidth,
|
|
9213
|
-
x: calcedX < expandValue ? expandValue : calcedX
|
|
9214
|
-
};
|
|
9215
|
-
}
|
|
9216
|
-
return {
|
|
9217
|
-
isOverflowX: isTTOverflowsFrame || isTTOverflowsWindow,
|
|
9218
|
-
width: ttWidth,
|
|
9219
|
-
x: x - ttShiftX
|
|
9220
|
-
};
|
|
9195
|
+
const { x, width, isMobileView } = params;
|
|
9196
|
+
const frameWidth = isMobileView ? width : width + 2 * EXPAND;
|
|
9197
|
+
const ttWidth = isMobileView ? window.innerWidth - 2 * EXPAND : Math.max(frameWidth, TOOLTIP_MIN_WIDTH);
|
|
9198
|
+
const ttCenterPosX = x + width / 2;
|
|
9199
|
+
const ttExpectedStartX = ttCenterPosX - ttWidth / 2;
|
|
9200
|
+
const ttExpectedEndX = ttCenterPosX + ttWidth / 2;
|
|
9201
|
+
let ttTargetStartX = ttExpectedStartX;
|
|
9202
|
+
if (ttExpectedStartX < EXPAND) ttTargetStartX = EXPAND;
|
|
9203
|
+
if (ttExpectedEndX > window.innerWidth - EXPAND) ttTargetStartX = window.innerWidth - EXPAND - ttWidth;
|
|
9204
|
+
return { width: ttWidth, x: ttTargetStartX };
|
|
9221
9205
|
}
|
|
9222
9206
|
function getTooltipYPos(params) {
|
|
9223
|
-
const { y, height, isMobileView
|
|
9224
|
-
|
|
9225
|
-
const
|
|
9207
|
+
const { y, height, isMobileView } = params;
|
|
9208
|
+
const topPosY = y - EXPAND * 2 - TOP_POS_OFFSET;
|
|
9209
|
+
const targetBottomY = y + height + EXPAND * 2;
|
|
9210
|
+
const bottomPosY = Math.min(targetBottomY, window.innerHeight - EXPAND - TOP_POS_OFFSET);
|
|
9226
9211
|
const isTopPos = isMobileView && topPosY >= EXPAND;
|
|
9227
|
-
return {
|
|
9228
|
-
isTopPos,
|
|
9229
|
-
isOverflowY: topPosY < EXPAND,
|
|
9230
|
-
y: isTopPos ? topPosY : bottomPosY
|
|
9231
|
-
// topPosY >= EXPAND - unstick tooltip from window top edge
|
|
9232
|
-
};
|
|
9212
|
+
return { isTopPos, y: isTopPos ? topPosY : bottomPosY };
|
|
9233
9213
|
}
|
|
9234
9214
|
function OnboardingOverlay() {
|
|
9235
9215
|
const { t } = useT();
|
|
9236
9216
|
const page = useLayoutDataStore((st) => st.page);
|
|
9237
|
-
const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
|
|
9238
|
-
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
9239
|
-
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
9240
|
-
const { elRect, mountIntoNode } = useOnboardingStore();
|
|
9241
|
-
const {
|
|
9242
|
-
actions: tourStepActions = [],
|
|
9243
|
-
waitSecs = null,
|
|
9244
|
-
title,
|
|
9245
|
-
description,
|
|
9246
|
-
forced = false
|
|
9247
|
-
} = onboarder.getCurrentStep() || {};
|
|
9248
9217
|
useEffect12(() => {
|
|
9249
9218
|
setTimeout(() => {
|
|
9250
9219
|
if (!page) {
|
|
@@ -9259,17 +9228,28 @@ function OnboardingOverlay() {
|
|
|
9259
9228
|
useOnboardingStore.getState().setMountIntoNode(embarkUIContainer);
|
|
9260
9229
|
}, 0);
|
|
9261
9230
|
}, [page]);
|
|
9231
|
+
const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
|
|
9232
|
+
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
9233
|
+
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
9234
|
+
const { elRect, mountIntoNode } = useOnboardingStore();
|
|
9262
9235
|
const [continueCountdown, setContinueCountdown] = useState5(null);
|
|
9263
|
-
const
|
|
9264
|
-
|
|
9265
|
-
|
|
9266
|
-
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
|
-
|
|
9271
|
-
|
|
9272
|
-
|
|
9236
|
+
const {
|
|
9237
|
+
actions: tourStepActions = [],
|
|
9238
|
+
waitSecs = null,
|
|
9239
|
+
title,
|
|
9240
|
+
description,
|
|
9241
|
+
forced = false
|
|
9242
|
+
} = onboarder.getCurrentStep() || {};
|
|
9243
|
+
const position = useMemo2(() => {
|
|
9244
|
+
const posParams = {
|
|
9245
|
+
x: elRect.x,
|
|
9246
|
+
y: elRect.y,
|
|
9247
|
+
width: elRect.width,
|
|
9248
|
+
height: elRect.height,
|
|
9249
|
+
isMobileView
|
|
9250
|
+
};
|
|
9251
|
+
return { ...getTooltipXPos(posParams), ...getTooltipYPos(posParams) };
|
|
9252
|
+
}, [elRect, isMobileView]);
|
|
9273
9253
|
useEffect12(() => {
|
|
9274
9254
|
if (!waitSecs) return;
|
|
9275
9255
|
setContinueCountdown(waitSecs);
|
|
@@ -9296,6 +9276,7 @@ function OnboardingOverlay() {
|
|
|
9296
9276
|
style: { zIndex: isOnboarding ? 1e4 : -9999 },
|
|
9297
9277
|
className: cn(
|
|
9298
9278
|
"embarkai-ui-scope",
|
|
9279
|
+
// with data-current-theme-mode will provide full embark cssv set
|
|
9299
9280
|
"overflow-hidden pointer-events-auto",
|
|
9300
9281
|
"fixed left-0 top-0",
|
|
9301
9282
|
isOnboarding ? "w-[100dvw] h-[100dvh]" : "w-0 h-0"
|
|
@@ -9321,10 +9302,10 @@ function OnboardingOverlay() {
|
|
|
9321
9302
|
fill: "black",
|
|
9322
9303
|
style: {
|
|
9323
9304
|
transition: "x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease",
|
|
9324
|
-
x: elRect.x -
|
|
9325
|
-
y: elRect.y -
|
|
9326
|
-
width: elRect.width +
|
|
9327
|
-
height: elRect.height +
|
|
9305
|
+
x: elRect.x - EXPAND,
|
|
9306
|
+
y: elRect.y - EXPAND,
|
|
9307
|
+
width: elRect.width + EXPAND * 2,
|
|
9308
|
+
height: elRect.height + EXPAND * 2
|
|
9328
9309
|
}
|
|
9329
9310
|
}
|
|
9330
9311
|
)
|
|
@@ -9343,14 +9324,14 @@ function OnboardingOverlay() {
|
|
|
9343
9324
|
"overflow-hidden"
|
|
9344
9325
|
),
|
|
9345
9326
|
style: {
|
|
9346
|
-
willChange: "top, left, width, height
|
|
9327
|
+
willChange: "top, left, width, height",
|
|
9347
9328
|
width: isOnboarding ? position.width : 0,
|
|
9348
9329
|
height: isOnboarding ? "auto" : 0,
|
|
9349
9330
|
top: isOnboarding ? position.y : window.innerHeight / 2,
|
|
9350
9331
|
left: isOnboarding ? position.x : window.innerWidth / 2,
|
|
9351
9332
|
transition: "top 0.3s ease, left 0.3s ease, width 0.3s ease",
|
|
9352
9333
|
transform: position.isTopPos ? `translateY(calc(-100% + ${TOP_POS_OFFSET}px))` : "translateY(0)",
|
|
9353
|
-
borderRadius:
|
|
9334
|
+
borderRadius: "var(--ui-kit-bdrs)"
|
|
9354
9335
|
},
|
|
9355
9336
|
children: [
|
|
9356
9337
|
/* @__PURE__ */ jsx21("p", { className: "font-bold", children: t(title) }),
|
|
@@ -9360,15 +9341,12 @@ function OnboardingOverlay() {
|
|
|
9360
9341
|
{
|
|
9361
9342
|
size: "small",
|
|
9362
9343
|
variant: "ghost",
|
|
9344
|
+
className: "absolute top-1 right-1 text-[var(--ui-kit-success)]",
|
|
9363
9345
|
onClick: () => {
|
|
9364
9346
|
setContinueCountdown(null);
|
|
9365
9347
|
onboarder.endTour();
|
|
9366
9348
|
},
|
|
9367
|
-
className:
|
|
9368
|
-
"absolute top-2 right-2 text-[10px]",
|
|
9369
|
-
colorMode === "dark" ? "text-[var(--ui-kit-fg-inverted)]" : "text-[var(--ui-kit-fg)]"
|
|
9370
|
-
),
|
|
9371
|
-
children: t("passport:common.hide")
|
|
9349
|
+
children: /* @__PURE__ */ jsx21(XIcon, { className: "h-3 w-3" })
|
|
9372
9350
|
}
|
|
9373
9351
|
),
|
|
9374
9352
|
!!tourStepActions?.length ? /* @__PURE__ */ jsx21("div", { className: "flex grid grid-cols-2 gap-[var(--ui-kit-gap)]", children: tourStepActions.map(({ caption, onClick }, index) => /* @__PURE__ */ jsxs17(
|
|
@@ -9424,7 +9402,7 @@ var init_OnboardingOverlay = __esm({
|
|
|
9424
9402
|
init_button();
|
|
9425
9403
|
init_onboarder();
|
|
9426
9404
|
init_useOnboardingStore();
|
|
9427
|
-
EXPAND =
|
|
9405
|
+
EXPAND = 8;
|
|
9428
9406
|
TOOLTIP_MIN_WIDTH = 320;
|
|
9429
9407
|
TOP_POS_OFFSET = 112;
|
|
9430
9408
|
}
|
|
@@ -10043,7 +10021,7 @@ var init_useBuyMenuStore = __esm({
|
|
|
10043
10021
|
// src/internal/components/BuyMenu/components/CryptoSelector.tsx
|
|
10044
10022
|
import { debounce as debounce2, toPairs } from "lodash-es";
|
|
10045
10023
|
import { InfoIcon, PointerIcon, SearchIcon } from "lucide-react";
|
|
10046
|
-
import { useCallback as useCallback10, useMemo as
|
|
10024
|
+
import { useCallback as useCallback10, useMemo as useMemo3, useState as useState7 } from "react";
|
|
10047
10025
|
import { jsx as jsx34, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
10048
10026
|
function CryptoItem(props) {
|
|
10049
10027
|
const { symbol, network } = props;
|
|
@@ -10090,7 +10068,7 @@ function CryptoSelector(props) {
|
|
|
10090
10068
|
}, 1e3),
|
|
10091
10069
|
[]
|
|
10092
10070
|
);
|
|
10093
|
-
const filteredCoins =
|
|
10071
|
+
const filteredCoins = useMemo3(() => {
|
|
10094
10072
|
const sorted = [...coins].sort((a, b) => {
|
|
10095
10073
|
const aIdx = POPULAR_CRYPTOS.indexOf(a.symbol.toUpperCase());
|
|
10096
10074
|
const bIdx = POPULAR_CRYPTOS.indexOf(b.symbol.toUpperCase());
|
|
@@ -10268,7 +10246,7 @@ var init_ResolvedFiatIcon = __esm({
|
|
|
10268
10246
|
// src/internal/components/BuyMenu/components/FiatSelector.tsx
|
|
10269
10247
|
import { debounce as debounce3 } from "lodash-es";
|
|
10270
10248
|
import { PointerIcon as PointerIcon2, SearchIcon as SearchIcon2 } from "lucide-react";
|
|
10271
|
-
import { useCallback as useCallback11, useMemo as
|
|
10249
|
+
import { useCallback as useCallback11, useMemo as useMemo4, useState as useState8 } from "react";
|
|
10272
10250
|
import { Fragment as Fragment9, jsx as jsx36, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
10273
10251
|
function getCurrencyName(ticker, locale = "en") {
|
|
10274
10252
|
try {
|
|
@@ -10315,7 +10293,7 @@ function FiatSelector(props) {
|
|
|
10315
10293
|
}, 1e3),
|
|
10316
10294
|
[]
|
|
10317
10295
|
);
|
|
10318
|
-
const filteredFiats =
|
|
10296
|
+
const filteredFiats = useMemo4(() => {
|
|
10319
10297
|
const sorted = [...fiats].sort((a, b) => {
|
|
10320
10298
|
const aIdx = POPULAR_FIATS.indexOf(a.ticker.toUpperCase());
|
|
10321
10299
|
const bIdx = POPULAR_FIATS.indexOf(b.ticker.toUpperCase());
|
|
@@ -10752,7 +10730,7 @@ function BinanceSummary(props) {
|
|
|
10752
10730
|
/* @__PURE__ */ jsxs33("span", { className: "font-bold", children: [
|
|
10753
10731
|
formatPrice(srcQueryAmount),
|
|
10754
10732
|
" ",
|
|
10755
|
-
selectedFiat
|
|
10733
|
+
selectedFiat?.toUpperCase()
|
|
10756
10734
|
] })
|
|
10757
10735
|
] }),
|
|
10758
10736
|
/* @__PURE__ */ jsxs33("div", { className: "flex justify-between text-xs leading-5", children: [
|
|
@@ -10760,7 +10738,7 @@ function BinanceSummary(props) {
|
|
|
10760
10738
|
/* @__PURE__ */ jsxs33("span", { className: "font-bold", children: [
|
|
10761
10739
|
formatPrice(cryptoToRecieve),
|
|
10762
10740
|
" ",
|
|
10763
|
-
selectedCrypto
|
|
10741
|
+
selectedCrypto?.toUpperCase()
|
|
10764
10742
|
] })
|
|
10765
10743
|
] }),
|
|
10766
10744
|
/* @__PURE__ */ jsxs33(Highlight, { type: "info", className: "", children: [
|
|
@@ -10799,7 +10777,7 @@ function BinanceSummary(props) {
|
|
|
10799
10777
|
!!quoteData?.totalAmount && /* @__PURE__ */ jsxs33("strong", { children: [
|
|
10800
10778
|
formatPrice(Number(quoteData.totalAmount)),
|
|
10801
10779
|
" ",
|
|
10802
|
-
selectedCrypto
|
|
10780
|
+
selectedCrypto?.toUpperCase()
|
|
10803
10781
|
] })
|
|
10804
10782
|
]
|
|
10805
10783
|
}
|
|
@@ -11001,7 +10979,7 @@ import { useInfiniteQuery } from "@tanstack/react-query";
|
|
|
11001
10979
|
import dayjs from "dayjs";
|
|
11002
10980
|
import { debounce as debounce4 } from "lodash-es";
|
|
11003
10981
|
import { DownloadIcon, ExternalLinkIcon, LoaderIcon as LoaderIcon3 } from "lucide-react";
|
|
11004
|
-
import { useCallback as useCallback12, useEffect as useEffect15, useMemo as
|
|
10982
|
+
import { useCallback as useCallback12, useEffect as useEffect15, useMemo as useMemo5 } from "react";
|
|
11005
10983
|
import { jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
11006
10984
|
function getStatusVariant(status) {
|
|
11007
10985
|
switch (status) {
|
|
@@ -11043,7 +11021,7 @@ function BinanceTxHistoryItem(props) {
|
|
|
11043
11021
|
} = txPayload || {};
|
|
11044
11022
|
const statusInfo = STATUS_CODE_TO_MESSAGE[txStatus];
|
|
11045
11023
|
const badgeVariant = getStatusVariant(txStatus);
|
|
11046
|
-
const TokenIcon = TOKENS_ICONS[cryptoCurrency
|
|
11024
|
+
const TokenIcon = TOKENS_ICONS[cryptoCurrency?.toUpperCase()] || TOKENS_ICONS["EMBARKAI"];
|
|
11047
11025
|
return /* @__PURE__ */ jsxs34(
|
|
11048
11026
|
"div",
|
|
11049
11027
|
{
|
|
@@ -11132,7 +11110,7 @@ function BinanceTxHistory() {
|
|
|
11132
11110
|
txStatuses: SHOW_STATUSES
|
|
11133
11111
|
})
|
|
11134
11112
|
});
|
|
11135
|
-
const txList =
|
|
11113
|
+
const txList = useMemo5(
|
|
11136
11114
|
() => historyData?.pages?.map((p) => p.data).flat(Infinity) || [],
|
|
11137
11115
|
[historyData]
|
|
11138
11116
|
);
|
|
@@ -11383,8 +11361,8 @@ function Binance() {
|
|
|
11383
11361
|
const minimumAmountWarningMsg = srcInputAmount < fiatMinimum ? (
|
|
11384
11362
|
// @ts-expect-error i18n typings
|
|
11385
11363
|
t("passport:buyMenu.inputPlaceholder.providerMin", {
|
|
11386
|
-
minimum: fiatMinimum
|
|
11387
|
-
currency: selectedFiat
|
|
11364
|
+
minimum: fiatMinimum?.toFixed(2),
|
|
11365
|
+
currency: selectedFiat?.toUpperCase(),
|
|
11388
11366
|
provider: "BINANCE CONNECT"
|
|
11389
11367
|
})
|
|
11390
11368
|
) : void 0;
|
|
@@ -12836,7 +12814,7 @@ import { PAYMASTER_CACHE_TTL_MS } from "@embarkai/core";
|
|
|
12836
12814
|
import { getChainConfig as getChainConfig8, SUPPORTED_MAINNETS as SUPPORTED_MAINNETS2 } from "@embarkai/core/read";
|
|
12837
12815
|
import { useQuery as useQuery5 } from "@tanstack/react-query";
|
|
12838
12816
|
import { ArrowLeft as ArrowLeft4 } from "lucide-react";
|
|
12839
|
-
import { useMemo as
|
|
12817
|
+
import { useMemo as useMemo6, useState as useState10 } from "react";
|
|
12840
12818
|
import { jsx as jsx54, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
12841
12819
|
function ChainsMenu() {
|
|
12842
12820
|
const { t } = useT();
|
|
@@ -12846,7 +12824,7 @@ function ChainsMenu() {
|
|
|
12846
12824
|
const [isTestnets, setIsTestnets] = useState10(false);
|
|
12847
12825
|
const [nextChainId, setNextChainId] = useState10(null);
|
|
12848
12826
|
useOnboardingTourAvailable(true);
|
|
12849
|
-
const visibleNetworks =
|
|
12827
|
+
const visibleNetworks = useMemo6(() => {
|
|
12850
12828
|
return NETWORK_OPTIONS.filter(
|
|
12851
12829
|
(option) => option.isActive && (isTestnets ? true : SUPPORTED_MAINNETS2.includes(option.chainId))
|
|
12852
12830
|
);
|
|
@@ -15215,7 +15193,7 @@ var init_hooks = __esm({
|
|
|
15215
15193
|
|
|
15216
15194
|
// src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
|
|
15217
15195
|
import { Cloud, Cpu as Cpu3, FileDown, FileUp } from "lucide-react";
|
|
15218
|
-
import { Fragment as Fragment17, useMemo as
|
|
15196
|
+
import { Fragment as Fragment17, useMemo as useMemo7 } from "react";
|
|
15219
15197
|
import { jsx as jsx60, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
15220
15198
|
function MethodSelector(props) {
|
|
15221
15199
|
const { mode = "restore", serverRecoveryStatus } = props;
|
|
@@ -15229,7 +15207,7 @@ function MethodSelector(props) {
|
|
|
15229
15207
|
setError,
|
|
15230
15208
|
setSuccess
|
|
15231
15209
|
} = useRestoreStore();
|
|
15232
|
-
const recoveryRenderMethods =
|
|
15210
|
+
const recoveryRenderMethods = useMemo7(() => {
|
|
15233
15211
|
const methodsWithBackupData = getRecoveryRenderMethods(mode).map((mt) => {
|
|
15234
15212
|
let data = null;
|
|
15235
15213
|
switch (true) {
|
|
@@ -15301,7 +15279,7 @@ var init_MethodSelector = __esm({
|
|
|
15301
15279
|
});
|
|
15302
15280
|
|
|
15303
15281
|
// src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts
|
|
15304
|
-
var KEYSHARE_BACKUP_MENU_TOUR;
|
|
15282
|
+
var KEYSHARE_BACKUP_MENU_TOUR, KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY;
|
|
15305
15283
|
var init_onboarding_setup3 = __esm({
|
|
15306
15284
|
"src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
|
|
15307
15285
|
init_hooks();
|
|
@@ -15361,6 +15339,43 @@ var init_onboarding_setup3 = __esm({
|
|
|
15361
15339
|
description: "passport:backupMenu.onboarding.backupAdvanced.description"
|
|
15362
15340
|
}
|
|
15363
15341
|
];
|
|
15342
|
+
KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY = [
|
|
15343
|
+
{
|
|
15344
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15345
|
+
title: "passport:backupMenu.onboarding.backupMenu.title",
|
|
15346
|
+
description: "passport:backupMenu.onboarding.backupMenu.description",
|
|
15347
|
+
onNext: () => {
|
|
15348
|
+
const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
|
|
15349
|
+
setSuccess(null);
|
|
15350
|
+
setError(null);
|
|
15351
|
+
setRestoreFile(null);
|
|
15352
|
+
setRestorePassword("<your-strong-password>");
|
|
15353
|
+
setShowPassword(true);
|
|
15354
|
+
setUsePasskey(false);
|
|
15355
|
+
setMethod("server");
|
|
15356
|
+
}
|
|
15357
|
+
},
|
|
15358
|
+
{
|
|
15359
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15360
|
+
title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
|
|
15361
|
+
description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
|
|
15362
|
+
onNext: () => {
|
|
15363
|
+
const { setRestorePassword, setShowPassword } = useRestoreStore.getState();
|
|
15364
|
+
setRestorePassword("");
|
|
15365
|
+
setShowPassword(false);
|
|
15366
|
+
}
|
|
15367
|
+
},
|
|
15368
|
+
{
|
|
15369
|
+
elId: "embarkai-keyshare-backup-status-onboarding" /* backupStatus */,
|
|
15370
|
+
title: "passport:backupMenu.onboarding.backupStatus.title",
|
|
15371
|
+
description: "passport:backupMenu.onboarding.backupStatus.description"
|
|
15372
|
+
},
|
|
15373
|
+
{
|
|
15374
|
+
elId: "embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */,
|
|
15375
|
+
title: "passport:backupMenu.onboarding.backupAdvanced.title",
|
|
15376
|
+
description: "passport:backupMenu.onboarding.backupAdvanced.description"
|
|
15377
|
+
}
|
|
15378
|
+
];
|
|
15364
15379
|
}
|
|
15365
15380
|
});
|
|
15366
15381
|
|
|
@@ -18037,7 +18052,7 @@ var init_ProviderCard = __esm({
|
|
|
18037
18052
|
// src/internal/components/ManageWalletMenu/ManageWallet.tsx
|
|
18038
18053
|
import { fromPairs } from "lodash-es";
|
|
18039
18054
|
import { AlertTriangle as AlertTriangle4, ArrowLeft as ArrowLeft14, Loader as Loader13 } from "lucide-react";
|
|
18040
|
-
import { useMemo as
|
|
18055
|
+
import { useMemo as useMemo8 } from "react";
|
|
18041
18056
|
import { Fragment as Fragment28, jsx as jsx79, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
18042
18057
|
function getProviderName(provider) {
|
|
18043
18058
|
return PROVIDERS_META[provider].name || provider;
|
|
@@ -18079,7 +18094,7 @@ function ManageWalletMenu() {
|
|
|
18079
18094
|
} = useManageWalletStore();
|
|
18080
18095
|
const configuredProviders = getConfiguredProviders(config.current);
|
|
18081
18096
|
const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
|
|
18082
|
-
const renderProviders =
|
|
18097
|
+
const renderProviders = useMemo8(() => {
|
|
18083
18098
|
const normalizeProviderName = (name) => {
|
|
18084
18099
|
if (name === "x") return "twitter";
|
|
18085
18100
|
return name;
|
|
@@ -18443,14 +18458,22 @@ var useNicknameStore;
|
|
|
18443
18458
|
var init_useNicknameStore = __esm({
|
|
18444
18459
|
"src/internal/components/NicknameMenu/useNicknameStore.ts"() {
|
|
18445
18460
|
useNicknameStore = create10((set) => ({
|
|
18446
|
-
renderKey: "",
|
|
18461
|
+
renderKey: "nickname-menu-render-key",
|
|
18447
18462
|
setRenderKey: (renderKey) => set({ renderKey }),
|
|
18448
18463
|
nicknameValue: "",
|
|
18449
18464
|
setNicknameValue: (nicknameValue) => set({ nicknameValue }),
|
|
18450
18465
|
availability: null,
|
|
18451
18466
|
setAvailability: (availability) => set({ availability }),
|
|
18467
|
+
success: null,
|
|
18468
|
+
setSuccess: (success) => set({ success }),
|
|
18452
18469
|
error: null,
|
|
18453
|
-
setError: (error) => set({ error })
|
|
18470
|
+
setError: (error) => set({ error }),
|
|
18471
|
+
reset: () => set({
|
|
18472
|
+
renderKey: "nickname-menu-render-key",
|
|
18473
|
+
nicknameValue: "",
|
|
18474
|
+
availability: null,
|
|
18475
|
+
error: null
|
|
18476
|
+
})
|
|
18454
18477
|
}));
|
|
18455
18478
|
}
|
|
18456
18479
|
});
|
|
@@ -18512,7 +18535,7 @@ var init_useNicknameAvailability = __esm({
|
|
|
18512
18535
|
|
|
18513
18536
|
// src/internal/components/NicknameMenu/NicknameEditForm.tsx
|
|
18514
18537
|
import { useMutation as useMutation17, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
|
|
18515
|
-
import { AtSignIcon,
|
|
18538
|
+
import { AtSignIcon, CopyIcon, LoaderIcon as LoaderIcon8, SaveIcon } from "lucide-react";
|
|
18516
18539
|
import { useCallback as useCallback22, useState as useState20 } from "react";
|
|
18517
18540
|
import { Fragment as Fragment29, jsx as jsx81, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
18518
18541
|
function NicknameEditForm(props) {
|
|
@@ -18527,14 +18550,7 @@ function NicknameEditForm(props) {
|
|
|
18527
18550
|
const nicknameAvailability = useNicknameStore((st) => st.availability);
|
|
18528
18551
|
const { isCheckingAvailability } = useNicknameAvailability(nicknameInfo ? nicknameInfo.handle : "");
|
|
18529
18552
|
const [isNicknameCopied, setIsNicknameCopied] = useState20(false);
|
|
18530
|
-
const {
|
|
18531
|
-
mutate: changeNickname2,
|
|
18532
|
-
isError: isNicknameChangeError,
|
|
18533
|
-
isPending: isNicknameChanging,
|
|
18534
|
-
isSuccess: isNicknameChangeSuccess,
|
|
18535
|
-
// error: nicknameChangeError,
|
|
18536
|
-
reset
|
|
18537
|
-
} = useMutation17({
|
|
18553
|
+
const { mutate: changeNickname2, isPending: isNicknameChanging } = useMutation17({
|
|
18538
18554
|
mutationFn: (handle) => changeNickname(handle),
|
|
18539
18555
|
onSuccess: () => {
|
|
18540
18556
|
qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
|
|
@@ -18542,7 +18558,15 @@ function NicknameEditForm(props) {
|
|
|
18542
18558
|
callbacksRef.current?.onAccountUpdate?.({
|
|
18543
18559
|
providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address])
|
|
18544
18560
|
});
|
|
18545
|
-
if (!!isInitialUser)
|
|
18561
|
+
if (!!isInitialUser) {
|
|
18562
|
+
setTimeout(() => useLayoutDataStore.getState().setPage(null), 1500);
|
|
18563
|
+
}
|
|
18564
|
+
useNicknameStore.getState().setSuccess(t("passport:nicknameMenu.availability.nicknameChanged"));
|
|
18565
|
+
useNicknameStore.getState().setRenderKey(`nickname-has-been-changed-${Date.now()}`);
|
|
18566
|
+
setTimeout(() => {
|
|
18567
|
+
useNicknameStore.getState().setSuccess(null);
|
|
18568
|
+
useNicknameStore.getState().setRenderKey(`nickname-has-been-changed-${Date.now()}`);
|
|
18569
|
+
}, 1500);
|
|
18546
18570
|
},
|
|
18547
18571
|
onError: (error) => {
|
|
18548
18572
|
const changeNicknameError = error;
|
|
@@ -18558,17 +18582,16 @@ function NicknameEditForm(props) {
|
|
|
18558
18582
|
const handleNicknameInputChange = useCallback22(
|
|
18559
18583
|
(e) => {
|
|
18560
18584
|
const { error, setError, setNicknameValue } = useNicknameStore.getState();
|
|
18561
|
-
const
|
|
18562
|
-
setNicknameValue(
|
|
18563
|
-
if (error &&
|
|
18564
|
-
if (
|
|
18565
|
-
|
|
18566
|
-
const validation = validateNickname(value);
|
|
18585
|
+
const nextInputValue = e.target.value;
|
|
18586
|
+
setNicknameValue(nextInputValue);
|
|
18587
|
+
if (error && nextInputValue.length >= 3) setError(null);
|
|
18588
|
+
if (nextInputValue?.length < 1) return;
|
|
18589
|
+
const validation = validateNickname(nextInputValue);
|
|
18567
18590
|
if (!validation.valid && validation.error) {
|
|
18568
18591
|
setError(getNicknameErrorMessage(validation.error, { t }));
|
|
18569
18592
|
}
|
|
18570
18593
|
},
|
|
18571
|
-
[
|
|
18594
|
+
[t]
|
|
18572
18595
|
);
|
|
18573
18596
|
const handleSubmit = useCallback22(
|
|
18574
18597
|
(e) => {
|
|
@@ -18595,34 +18618,43 @@ function NicknameEditForm(props) {
|
|
|
18595
18618
|
const normalizedInputValue = normalizeNickname(nicknameValue);
|
|
18596
18619
|
const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
|
|
18597
18620
|
const isSubmitDisabled = !canChange || nicknameValue.length === 0 || isSameAsCurrentNickname || !!nicknameError || isNicknameChanging || isCheckingAvailability || !nicknameAvailability?.available;
|
|
18598
|
-
const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging &&
|
|
18621
|
+
const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging && nicknameAvailability?.available;
|
|
18599
18622
|
return /* @__PURE__ */ jsxs75(Fragment29, { children: [
|
|
18600
|
-
canChange ? /* @__PURE__ */
|
|
18601
|
-
/* @__PURE__ */
|
|
18602
|
-
|
|
18603
|
-
{
|
|
18604
|
-
|
|
18605
|
-
|
|
18606
|
-
|
|
18607
|
-
|
|
18608
|
-
|
|
18609
|
-
|
|
18610
|
-
|
|
18611
|
-
|
|
18612
|
-
|
|
18613
|
-
|
|
18614
|
-
|
|
18615
|
-
|
|
18616
|
-
|
|
18617
|
-
|
|
18618
|
-
|
|
18619
|
-
|
|
18620
|
-
|
|
18621
|
-
|
|
18622
|
-
|
|
18623
|
-
|
|
18624
|
-
|
|
18625
|
-
|
|
18623
|
+
canChange ? /* @__PURE__ */ jsxs75(Fragment29, { children: [
|
|
18624
|
+
/* @__PURE__ */ jsxs75("span", { className: "text-[10px] leading-4 text-[var(--ui-kit-fg-muted)]", children: [
|
|
18625
|
+
t("passport:nicknameMenu.yourNickname"),
|
|
18626
|
+
currentNickname !== nicknameValue && /* @__PURE__ */ jsxs75("strong", { className: "text-[var(--ui-kit-fg)]", children: [
|
|
18627
|
+
": ",
|
|
18628
|
+
currentNickname
|
|
18629
|
+
] })
|
|
18630
|
+
] }),
|
|
18631
|
+
/* @__PURE__ */ jsx81("form", { onSubmit: handleSubmit, className: "w-full", children: /* @__PURE__ */ jsxs75("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
18632
|
+
/* @__PURE__ */ jsx81(
|
|
18633
|
+
Input,
|
|
18634
|
+
{
|
|
18635
|
+
Icon: AtSignIcon,
|
|
18636
|
+
value: nicknameValue,
|
|
18637
|
+
onChange: handleNicknameInputChange,
|
|
18638
|
+
placeholder: t("passport:nicknameMenu.placeholder"),
|
|
18639
|
+
disabled: isNicknameChanging,
|
|
18640
|
+
className: "flex-1"
|
|
18641
|
+
}
|
|
18642
|
+
),
|
|
18643
|
+
/* @__PURE__ */ jsx81(
|
|
18644
|
+
Button,
|
|
18645
|
+
{
|
|
18646
|
+
type: "submit",
|
|
18647
|
+
size: "large",
|
|
18648
|
+
disabled: isSubmitDisabled,
|
|
18649
|
+
title: isNicknameAvailalable ? t("passport:nicknameMenu.availability.nicknameAvailable") : "",
|
|
18650
|
+
className: cn("w-12", {
|
|
18651
|
+
"bg-[var(--ui-kit-bg-success)] text-[var(--ui-kit-success)]": isNicknameAvailalable
|
|
18652
|
+
}),
|
|
18653
|
+
children: isCheckingAvailability || isNicknameChanging ? /* @__PURE__ */ jsx81(LoaderIcon8, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx81(SaveIcon, { className: "w-4 h-4" })
|
|
18654
|
+
}
|
|
18655
|
+
)
|
|
18656
|
+
] }) })
|
|
18657
|
+
] }) : /* @__PURE__ */ jsxs75("div", { className: "w-full flex items-center justify-between px-[var(--ui-kit-pd)] h-12 bg-[var(--ui-kit-secondary)] rounded-[var(--ui-kit-el-bdrs)]", children: [
|
|
18626
18658
|
/* @__PURE__ */ jsxs75(
|
|
18627
18659
|
"span",
|
|
18628
18660
|
{
|
|
@@ -18690,7 +18722,8 @@ var init_onboarding_setup6 = __esm({
|
|
|
18690
18722
|
// src/internal/components/NicknameMenu/NicknameMenu.tsx
|
|
18691
18723
|
import { useQuery as useQuery13 } from "@tanstack/react-query";
|
|
18692
18724
|
import dayjs4 from "dayjs";
|
|
18693
|
-
import { ArrowLeft as ArrowLeft15,
|
|
18725
|
+
import { ArrowLeft as ArrowLeft15, Loader as Loader15 } from "lucide-react";
|
|
18726
|
+
import { useEffect as useEffect35 } from "react";
|
|
18694
18727
|
import { jsx as jsx82, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
18695
18728
|
function NicknameMenu() {
|
|
18696
18729
|
const { isInitialUser } = usePageParams().current;
|
|
@@ -18699,6 +18732,7 @@ function NicknameMenu() {
|
|
|
18699
18732
|
const address = useSession((st) => st.address);
|
|
18700
18733
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
18701
18734
|
const nicknameRenderKey = useNicknameStore((st) => st.renderKey);
|
|
18735
|
+
const nicknameSuccess = useNicknameStore((st) => st.success);
|
|
18702
18736
|
const nicknameError = useNicknameStore((st) => st.error);
|
|
18703
18737
|
const {
|
|
18704
18738
|
data: nicknameInfo,
|
|
@@ -18708,9 +18742,10 @@ function NicknameMenu() {
|
|
|
18708
18742
|
retry: 1,
|
|
18709
18743
|
enabled: !!address,
|
|
18710
18744
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
18711
|
-
queryFn: getNicknameInfo
|
|
18745
|
+
queryFn: async () => await getNicknameInfo()
|
|
18712
18746
|
});
|
|
18713
18747
|
const resolvedError = nicknameError || nicknameInfoError?.message || null;
|
|
18748
|
+
useEffect35(() => () => useNicknameStore.getState().reset(), []);
|
|
18714
18749
|
return /* @__PURE__ */ jsx82(
|
|
18715
18750
|
"div",
|
|
18716
18751
|
{
|
|
@@ -18734,16 +18769,12 @@ function NicknameMenu() {
|
|
|
18734
18769
|
isNicknameInfoLoading && /* @__PURE__ */ jsx82(Loader15, { className: "w-4 h-4 animate-spin" })
|
|
18735
18770
|
] })
|
|
18736
18771
|
] }),
|
|
18737
|
-
/* @__PURE__ */ jsx82("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.yourNickname") }),
|
|
18738
18772
|
/* @__PURE__ */ jsx82(NicknameEditForm, { nicknameInfo, isInitialUser }),
|
|
18739
|
-
!nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */
|
|
18740
|
-
|
|
18741
|
-
|
|
18742
|
-
|
|
18743
|
-
|
|
18744
|
-
}) })
|
|
18745
|
-
] }),
|
|
18746
|
-
!!nicknameInfo && /* @__PURE__ */ jsxs76("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
|
|
18773
|
+
!nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ jsx82(Highlight, { type: "info", children: t("passport:nicknameMenu.cooldownMessage", {
|
|
18774
|
+
canChangeAt: dayjs4(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
|
|
18775
|
+
days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
|
|
18776
|
+
}) }),
|
|
18777
|
+
!nicknameSuccess && !!nicknameInfo && /* @__PURE__ */ jsxs76("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
|
|
18747
18778
|
/* @__PURE__ */ jsxs76("span", { children: [
|
|
18748
18779
|
/* @__PURE__ */ jsx82("span", { className: "text-[var(--ui-kit-fg-muted)]", children: nicknameInfo.changedAt ? t("passport:nicknameMenu.lastChanged") : t("passport:common.created") }),
|
|
18749
18780
|
/* @__PURE__ */ jsx82("span", { children: ": " }),
|
|
@@ -18755,6 +18786,7 @@ function NicknameMenu() {
|
|
|
18755
18786
|
/* @__PURE__ */ jsx82("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
|
|
18756
18787
|
] })
|
|
18757
18788
|
] }),
|
|
18789
|
+
!!nicknameSuccess && /* @__PURE__ */ jsx82(Highlight, { type: "success", children: nicknameSuccess }),
|
|
18758
18790
|
isInitialUser && /* @__PURE__ */ jsxs76(Highlight, { type: "success", children: [
|
|
18759
18791
|
/* @__PURE__ */ jsx82("p", {
|
|
18760
18792
|
//@ts-expect-error i18n typings
|
|
@@ -18815,7 +18847,7 @@ var init_NicknameMenu2 = __esm({
|
|
|
18815
18847
|
|
|
18816
18848
|
// src/internal/hooks/useResolvedPublicClient.ts
|
|
18817
18849
|
import { createPublicClientForChain as createPublicClientForChain5, getChainConfig as getChainConfig9 } from "@embarkai/core/read";
|
|
18818
|
-
import { useMemo as
|
|
18850
|
+
import { useMemo as useMemo9 } from "react";
|
|
18819
18851
|
function getCachedPublicClient(chainId) {
|
|
18820
18852
|
const cachedClient = publicClientByChainId.get(chainId);
|
|
18821
18853
|
if (cachedClient) return cachedClient;
|
|
@@ -18829,11 +18861,11 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
|
|
|
18829
18861
|
const activeChainConfig = useSession((st) => st.chainConfig);
|
|
18830
18862
|
const resolvedChainId = chainId ?? activeChainId;
|
|
18831
18863
|
const shouldUseActiveClient = !chainId || chainId === activeChainId;
|
|
18832
|
-
const chainConfig =
|
|
18864
|
+
const chainConfig = useMemo9(() => {
|
|
18833
18865
|
if (shouldUseActiveClient) return activeChainConfig;
|
|
18834
18866
|
return getChainConfig9(chainId);
|
|
18835
18867
|
}, [activeChainConfig, chainId, shouldUseActiveClient]);
|
|
18836
|
-
const publicClient =
|
|
18868
|
+
const publicClient = useMemo9(() => {
|
|
18837
18869
|
if (shouldUseActiveClient) return activePublicClient;
|
|
18838
18870
|
if (!chainId) return activePublicClient;
|
|
18839
18871
|
try {
|
|
@@ -18914,12 +18946,12 @@ var init_useNativeBalance = __esm({
|
|
|
18914
18946
|
|
|
18915
18947
|
// src/internal/hooks/useBlockscoutAssets/useWatchTokens.ts
|
|
18916
18948
|
import { useQuery as useQuery15 } from "@tanstack/react-query";
|
|
18917
|
-
import { useMemo as
|
|
18949
|
+
import { useMemo as useMemo10 } from "react";
|
|
18918
18950
|
import { erc20Abi as erc20Abi2, formatUnits as formatUnits3 } from "viem";
|
|
18919
18951
|
function useWatchTokens(options) {
|
|
18920
18952
|
const { address, chainId, enabled, publicClient } = options;
|
|
18921
18953
|
const { config } = useProviderConfig();
|
|
18922
|
-
const watchTokens =
|
|
18954
|
+
const watchTokens = useMemo10(() => {
|
|
18923
18955
|
const allWatchTokens = config.current.watchTokens;
|
|
18924
18956
|
const tokensForChain = chainId ? allWatchTokens?.[chainId] || [] : [];
|
|
18925
18957
|
return tokensForChain;
|
|
@@ -19128,7 +19160,7 @@ var init_utils8 = __esm({
|
|
|
19128
19160
|
// src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts
|
|
19129
19161
|
import { createBlockscoutClient as createBlockscoutClient2, nonBlockscoutClient } from "@embarkai/core";
|
|
19130
19162
|
import { useQuery as useQuery16, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
|
|
19131
|
-
import { useCallback as useCallback23, useMemo as
|
|
19163
|
+
import { useCallback as useCallback23, useMemo as useMemo11, useRef as useRef15 } from "react";
|
|
19132
19164
|
function useBlockscoutAssets(options) {
|
|
19133
19165
|
const { address, chainId, enabled = true, detectSecurityTokens = true } = options;
|
|
19134
19166
|
const qc = useQueryClient19();
|
|
@@ -19139,7 +19171,7 @@ function useBlockscoutAssets(options) {
|
|
|
19139
19171
|
tokenBalancesQueryKey: customTokenBalancesQueryKey
|
|
19140
19172
|
} = useProviderConfig().config?.current?.portfolio || {};
|
|
19141
19173
|
const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
|
|
19142
|
-
const blockscoutClient =
|
|
19174
|
+
const blockscoutClient = useMemo11(
|
|
19143
19175
|
() => blockscoutApiUrl ? createBlockscoutClient2({ baseUrl: blockscoutApiUrl }) : null,
|
|
19144
19176
|
[blockscoutApiUrl]
|
|
19145
19177
|
);
|
|
@@ -19215,7 +19247,7 @@ function useBlockscoutAssets(options) {
|
|
|
19215
19247
|
queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", resolvedChainId, blockscoutApiUrl, address],
|
|
19216
19248
|
queryFn: () => blockscoutClient.getNfts(address)
|
|
19217
19249
|
});
|
|
19218
|
-
const erc20TokenAddresses =
|
|
19250
|
+
const erc20TokenAddresses = useMemo11(() => {
|
|
19219
19251
|
if (!blockscoutItems) return [];
|
|
19220
19252
|
return blockscoutItems.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
|
|
19221
19253
|
}, [blockscoutItems]);
|
|
@@ -19260,7 +19292,7 @@ function useBlockscoutAssets(options) {
|
|
|
19260
19292
|
// 1 minute
|
|
19261
19293
|
// gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
19262
19294
|
});
|
|
19263
|
-
const assets =
|
|
19295
|
+
const assets = useMemo11(() => {
|
|
19264
19296
|
const result = [];
|
|
19265
19297
|
const addedAddresses = /* @__PURE__ */ new Set();
|
|
19266
19298
|
if (nativeBalanceData) {
|
|
@@ -19354,7 +19386,7 @@ function useBlockscoutAssets(options) {
|
|
|
19354
19386
|
watchTokenAssets,
|
|
19355
19387
|
chainConfig
|
|
19356
19388
|
]);
|
|
19357
|
-
const nativeBalance =
|
|
19389
|
+
const nativeBalance = useMemo11(() => {
|
|
19358
19390
|
if (!nativeBalanceData) return null;
|
|
19359
19391
|
return {
|
|
19360
19392
|
value: nativeBalanceData.value,
|
|
@@ -19362,7 +19394,7 @@ function useBlockscoutAssets(options) {
|
|
|
19362
19394
|
symbol: nativeBalanceData.symbol
|
|
19363
19395
|
};
|
|
19364
19396
|
}, [nativeBalanceData]);
|
|
19365
|
-
const error =
|
|
19397
|
+
const error = useMemo11(() => {
|
|
19366
19398
|
if (!blockscoutError) return null;
|
|
19367
19399
|
return createError(blockscoutError);
|
|
19368
19400
|
}, [blockscoutError]);
|
|
@@ -19872,9 +19904,9 @@ var init_onboarding_setup7 = __esm({
|
|
|
19872
19904
|
});
|
|
19873
19905
|
|
|
19874
19906
|
// src/internal/components/ReceiveMenu/ReceiveMenu.tsx
|
|
19875
|
-
import { ArrowLeft as ArrowLeft17, CheckCircle2 as CheckCircle23, Copy as Copy2, Info as
|
|
19907
|
+
import { ArrowLeft as ArrowLeft17, CheckCircle2 as CheckCircle23, Copy as Copy2, Info as Info4, Loader as Loader17, Shield } from "lucide-react";
|
|
19876
19908
|
import QRCode from "qrcode";
|
|
19877
|
-
import { useCallback as useCallback25, useEffect as
|
|
19909
|
+
import { useCallback as useCallback25, useEffect as useEffect36, useMemo as useMemo12, useState as useState21 } from "react";
|
|
19878
19910
|
import { Fragment as Fragment31, jsx as jsx86, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
19879
19911
|
function ReceiveMenu() {
|
|
19880
19912
|
const session = useSession((st) => st.session);
|
|
@@ -19889,7 +19921,7 @@ function ReceiveMenu() {
|
|
|
19889
19921
|
const [copied, setCopied] = useState21(false);
|
|
19890
19922
|
const [fingerprintCopied, setFingerprintCopied] = useState21(false);
|
|
19891
19923
|
useOnboardingTourAvailable(true);
|
|
19892
|
-
const fingerprint =
|
|
19924
|
+
const fingerprint = useMemo12(() => {
|
|
19893
19925
|
if (!session?.ownerAddress) return null;
|
|
19894
19926
|
try {
|
|
19895
19927
|
return generateFingerprint(session.ownerAddress);
|
|
@@ -19897,7 +19929,7 @@ function ReceiveMenu() {
|
|
|
19897
19929
|
return null;
|
|
19898
19930
|
}
|
|
19899
19931
|
}, [session?.ownerAddress]);
|
|
19900
|
-
|
|
19932
|
+
useEffect36(() => {
|
|
19901
19933
|
if (open && address) {
|
|
19902
19934
|
QRCode.toDataURL(address, {
|
|
19903
19935
|
width: 200,
|
|
@@ -19954,7 +19986,7 @@ function ReceiveMenu() {
|
|
|
19954
19986
|
/* @__PURE__ */ jsx86("span", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: t("passport:common.fingerprint") }),
|
|
19955
19987
|
/* @__PURE__ */ jsx86("span", { className: "font-mono text-sm font-semibold text-[var(--ui-kit-fg)]", children: fingerprint }),
|
|
19956
19988
|
/* @__PURE__ */ jsxs80("div", { className: "relative group", children: [
|
|
19957
|
-
/* @__PURE__ */ jsx86(
|
|
19989
|
+
/* @__PURE__ */ jsx86(Info4, { className: "w-3.5 h-3.5 text-[var(--ui-kit-fg-muted)] cursor-help" }),
|
|
19958
19990
|
/* @__PURE__ */ jsx86("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-xs bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)] rounded shadow-lg opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-10", children: "Share this to verify your identity" })
|
|
19959
19991
|
] }),
|
|
19960
19992
|
/* @__PURE__ */ jsx86(
|
|
@@ -20005,18 +20037,21 @@ var init_ReceiveMenu2 = __esm({
|
|
|
20005
20037
|
});
|
|
20006
20038
|
|
|
20007
20039
|
// src/internal/components/SecurityMenu/onboarding.setup.ts
|
|
20008
|
-
var
|
|
20040
|
+
var SECURITY_MENU_TOUR;
|
|
20009
20041
|
var init_onboarding_setup8 = __esm({
|
|
20010
20042
|
"src/internal/components/SecurityMenu/onboarding.setup.ts"() {
|
|
20011
|
-
|
|
20012
|
-
CONNECTED_APPS_TOUR = [
|
|
20043
|
+
SECURITY_MENU_TOUR = [
|
|
20013
20044
|
{
|
|
20014
|
-
elId: "embarkai-security-menu-
|
|
20015
|
-
title: "passport:securityMenu.onboarding.
|
|
20016
|
-
description: "passport:securityMenu.onboarding.
|
|
20017
|
-
}
|
|
20018
|
-
|
|
20019
|
-
|
|
20045
|
+
elId: "embarkai-security-menu-onboarding" /* securityMenu */,
|
|
20046
|
+
title: "passport:securityMenu.onboarding.securityMenu.title",
|
|
20047
|
+
description: "passport:securityMenu.onboarding.securityMenu.description"
|
|
20048
|
+
},
|
|
20049
|
+
/** KEYSHARE */
|
|
20050
|
+
{
|
|
20051
|
+
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20052
|
+
title: "passport:securityMenu.onboarding.keyshare.title",
|
|
20053
|
+
description: "passport:securityMenu.onboarding.keyshare.description"
|
|
20054
|
+
},
|
|
20020
20055
|
{
|
|
20021
20056
|
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20022
20057
|
title: "passport:securityMenu.onboarding.keyshare.details.concept.title",
|
|
@@ -20042,39 +20077,11 @@ var init_onboarding_setup8 = __esm({
|
|
|
20042
20077
|
title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
|
|
20043
20078
|
description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
|
|
20044
20079
|
},
|
|
20045
|
-
...CONNECTED_APPS_TOUR
|
|
20046
|
-
];
|
|
20047
|
-
SECURITY_MENU_TOUR = [
|
|
20048
|
-
{
|
|
20049
|
-
elId: "embarkai-security-menu-onboarding" /* securityMenu */,
|
|
20050
|
-
title: "passport:securityMenu.onboarding.securityMenu.title",
|
|
20051
|
-
description: "passport:securityMenu.onboarding.securityMenu.description"
|
|
20052
|
-
},
|
|
20053
|
-
/** KEYSHARE */
|
|
20054
|
-
{
|
|
20055
|
-
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20056
|
-
title: "passport:securityMenu.onboarding.keyshare.title",
|
|
20057
|
-
description: "passport:securityMenu.onboarding.keyshare.description",
|
|
20058
|
-
actions: [
|
|
20059
|
-
{
|
|
20060
|
-
caption: "passport:securityMenu.onboarding.keyshare.detailsButton",
|
|
20061
|
-
onClick: () => {
|
|
20062
|
-
onboarder.endTour();
|
|
20063
|
-
setTimeout(() => onboarder.startTour(KEYSHARE_TOUR), 220);
|
|
20064
|
-
}
|
|
20065
|
-
},
|
|
20066
|
-
{
|
|
20067
|
-
caption: "passport:common.continue",
|
|
20068
|
-
onClick: () => onboarder.next()
|
|
20069
|
-
}
|
|
20070
|
-
]
|
|
20071
|
-
},
|
|
20072
20080
|
{
|
|
20073
|
-
elId: "embarkai-security-menu-
|
|
20074
|
-
title: "passport:securityMenu.onboarding.
|
|
20075
|
-
description: "passport:securityMenu.onboarding.
|
|
20076
|
-
}
|
|
20077
|
-
...CONNECTED_APPS_TOUR
|
|
20081
|
+
elId: "embarkai-security-menu-connected-apps-onboarding" /* connectedApps */,
|
|
20082
|
+
title: "passport:securityMenu.onboarding.connectedApps.title",
|
|
20083
|
+
description: "passport:securityMenu.onboarding.connectedApps.description"
|
|
20084
|
+
}
|
|
20078
20085
|
];
|
|
20079
20086
|
}
|
|
20080
20087
|
});
|
|
@@ -20135,7 +20142,7 @@ var init_useConnectedApps = __esm({
|
|
|
20135
20142
|
// src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx
|
|
20136
20143
|
import dayjs5 from "dayjs";
|
|
20137
20144
|
import { AppWindowMac, ExternalLinkIcon as ExternalLinkIcon2, InfoIcon as InfoIcon4, LoaderIcon as LoaderIcon10, ShieldBanIcon, ShieldCheckIcon } from "lucide-react";
|
|
20138
|
-
import { useEffect as
|
|
20145
|
+
import { useEffect as useEffect37 } from "react";
|
|
20139
20146
|
import { Fragment as Fragment32, jsx as jsx87, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
20140
20147
|
function Application(props) {
|
|
20141
20148
|
const {
|
|
@@ -20235,7 +20242,7 @@ function Application(props) {
|
|
|
20235
20242
|
function ConnectedApps() {
|
|
20236
20243
|
const { t } = useT();
|
|
20237
20244
|
const { data: connectedApps = [], isLoading: isConnectedAppsLoading } = useConnectedApps();
|
|
20238
|
-
|
|
20245
|
+
useEffect37(() => {
|
|
20239
20246
|
if (!connectedApps.length || isConnectedAppsLoading) return;
|
|
20240
20247
|
useSecurityStore.getState().setRenderKey(`connected-apps-loaded-${Date.now()}`);
|
|
20241
20248
|
}, [connectedApps, isConnectedAppsLoading]);
|
|
@@ -20526,14 +20533,14 @@ var init_useKeyshareRecoveryStats = __esm({
|
|
|
20526
20533
|
|
|
20527
20534
|
// src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
|
|
20528
20535
|
import { Cloud as Cloud3, DatabaseBackupIcon, Laptop, LoaderIcon as LoaderIcon11, Server as Server2 } from "lucide-react";
|
|
20529
|
-
import { useEffect as
|
|
20536
|
+
import { useEffect as useEffect38 } from "react";
|
|
20530
20537
|
import { Fragment as Fragment34, jsx as jsx91, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
20531
20538
|
function Keyshare() {
|
|
20532
20539
|
const userId = useSession((st) => st?.session?.mpcUserId);
|
|
20533
20540
|
const { t } = useT();
|
|
20534
20541
|
const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
|
|
20535
20542
|
const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
|
|
20536
|
-
|
|
20543
|
+
useEffect38(() => {
|
|
20537
20544
|
if (!recoveryData?.keyshareInfo || isRecoveryLoading) return;
|
|
20538
20545
|
useSecurityStore.getState().setRenderKey(`keyshare-loaded-${Date.now()}`);
|
|
20539
20546
|
}, [recoveryData, isRecoveryLoading]);
|
|
@@ -20969,7 +20976,7 @@ var init_useBridgeStore = __esm({
|
|
|
20969
20976
|
// src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx
|
|
20970
20977
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
20971
20978
|
import { useMutation as useMutation19 } from "@tanstack/react-query";
|
|
20972
|
-
import { useEffect as
|
|
20979
|
+
import { useEffect as useEffect39, useRef as useRef16, useState as useState22 } from "react";
|
|
20973
20980
|
import { useSignMessage } from "wagmi";
|
|
20974
20981
|
import { jsx as jsx93, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
20975
20982
|
function SenderSelector(props) {
|
|
@@ -20985,7 +20992,7 @@ function SenderSelector(props) {
|
|
|
20985
20992
|
const bridgeSender = useBridgeStore((st) => st.bridgeSender);
|
|
20986
20993
|
const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
|
|
20987
20994
|
const [walletMessage, setWalletMessage] = useState22(null);
|
|
20988
|
-
|
|
20995
|
+
useEffect39(() => {
|
|
20989
20996
|
useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
|
|
20990
20997
|
}, [walletMessage]);
|
|
20991
20998
|
const { mutate: loginDirectWallet, isPending: isDirectWalletLoggingIn } = useMutation19({
|
|
@@ -21041,7 +21048,7 @@ function SenderSelector(props) {
|
|
|
21041
21048
|
setWalletMessage(error instanceof Error ? error.message : "Wallet login failed. Please try again.");
|
|
21042
21049
|
}
|
|
21043
21050
|
});
|
|
21044
|
-
|
|
21051
|
+
useEffect39(() => {
|
|
21045
21052
|
const pendingProfile = pendingWalletRef.current;
|
|
21046
21053
|
if (!pendingProfile || !directWalletIsConnected || !directWalletAddress) return;
|
|
21047
21054
|
if (directWalletAddress.toLowerCase() !== pendingProfile.externalId?.toLowerCase()) return;
|
|
@@ -21230,12 +21237,12 @@ var init_wallets = __esm({
|
|
|
21230
21237
|
});
|
|
21231
21238
|
|
|
21232
21239
|
// src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts
|
|
21233
|
-
import { useEffect as
|
|
21240
|
+
import { useEffect as useEffect40, useRef as useRef17 } from "react";
|
|
21234
21241
|
function useAvailableSenders() {
|
|
21235
21242
|
const address = useSession((st) => st.address);
|
|
21236
21243
|
const { profiles } = useLinkedProfiles();
|
|
21237
21244
|
const lastCalcedSenders = useRef17([]);
|
|
21238
|
-
|
|
21245
|
+
useEffect40(() => {
|
|
21239
21246
|
const sendersAccumulator = [
|
|
21240
21247
|
{
|
|
21241
21248
|
type: "embarkai-wallet",
|
|
@@ -21602,7 +21609,7 @@ var init_utils9 = __esm({
|
|
|
21602
21609
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts
|
|
21603
21610
|
import { useInfiniteQuery as useInfiniteQuery3 } from "@tanstack/react-query";
|
|
21604
21611
|
import { debounce as debounce7 } from "lodash-es";
|
|
21605
|
-
import { useCallback as useCallback26, useEffect as
|
|
21612
|
+
import { useCallback as useCallback26, useEffect as useEffect41, useMemo as useMemo13 } from "react";
|
|
21606
21613
|
function useHyperlaneHistory() {
|
|
21607
21614
|
const address = useSession((st) => st.address);
|
|
21608
21615
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -21618,7 +21625,7 @@ function useHyperlaneHistory() {
|
|
|
21618
21625
|
queryFn: async ({ pageParam }) => await getHyperlaneBridgeHistory({ page: pageParam, pageSize: TX_HISTORY_PAGE_SIZE })
|
|
21619
21626
|
});
|
|
21620
21627
|
const { data: txHistoryData, isLoading: isBridgeTxHistoryLoading } = query;
|
|
21621
|
-
const txList =
|
|
21628
|
+
const txList = useMemo13(
|
|
21622
21629
|
() => txHistoryData?.pages?.map((p) => p.data).flat(Infinity) || [],
|
|
21623
21630
|
[txHistoryData]
|
|
21624
21631
|
);
|
|
@@ -21628,7 +21635,7 @@ function useHyperlaneHistory() {
|
|
|
21628
21635
|
}, 250),
|
|
21629
21636
|
[]
|
|
21630
21637
|
);
|
|
21631
|
-
|
|
21638
|
+
useEffect41(() => {
|
|
21632
21639
|
if (isBridgeTxHistoryLoading || txList.length === 0) return;
|
|
21633
21640
|
updateExpandable();
|
|
21634
21641
|
}, [isBridgeTxHistoryLoading, txList]);
|
|
@@ -21868,7 +21875,7 @@ var init_useBridge = __esm({
|
|
|
21868
21875
|
|
|
21869
21876
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts
|
|
21870
21877
|
import { useQuery as useQuery20 } from "@tanstack/react-query";
|
|
21871
|
-
import { useEffect as
|
|
21878
|
+
import { useEffect as useEffect42 } from "react";
|
|
21872
21879
|
function useHyperlaneRoutes() {
|
|
21873
21880
|
const address = useSession((st) => st.address);
|
|
21874
21881
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -21888,7 +21895,7 @@ function useHyperlaneRoutes() {
|
|
|
21888
21895
|
return warpRoutes;
|
|
21889
21896
|
}
|
|
21890
21897
|
});
|
|
21891
|
-
|
|
21898
|
+
useEffect42(() => {
|
|
21892
21899
|
if (!errorWarpRoutes) return;
|
|
21893
21900
|
useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
|
|
21894
21901
|
const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
|
|
@@ -21897,7 +21904,7 @@ function useHyperlaneRoutes() {
|
|
|
21897
21904
|
setOriginChain(null);
|
|
21898
21905
|
setDestinationChain(null);
|
|
21899
21906
|
}, [errorWarpRoutes]);
|
|
21900
|
-
|
|
21907
|
+
useEffect42(() => {
|
|
21901
21908
|
if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
|
|
21902
21909
|
const warpRouteToAutoSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
|
|
21903
21910
|
if (!warpRouteToAutoSelect) return;
|
|
@@ -21930,13 +21937,13 @@ var init_useHyperlaneRoutes = __esm({
|
|
|
21930
21937
|
});
|
|
21931
21938
|
|
|
21932
21939
|
// src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts
|
|
21933
|
-
import { useEffect as
|
|
21940
|
+
import { useEffect as useEffect43 } from "react";
|
|
21934
21941
|
function useMenuTitle(warpRoutes) {
|
|
21935
21942
|
const { t } = useT();
|
|
21936
21943
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
21937
21944
|
const hyperRoute = useBridgeStore((st) => st.hyperRoute);
|
|
21938
21945
|
const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
|
|
21939
|
-
|
|
21946
|
+
useEffect43(() => {
|
|
21940
21947
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
21941
21948
|
switch (true) {
|
|
21942
21949
|
case bridgeStep === "sender-selector":
|
|
@@ -22137,7 +22144,7 @@ var init_ResolveChainIcon = __esm({
|
|
|
22137
22144
|
// src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
|
|
22138
22145
|
import { CHAINS_BROWSERS_TRANSPORTS as CHAINS_BROWSERS_TRANSPORTS2 } from "@embarkai/core";
|
|
22139
22146
|
import { useQuery as useQuery21, useQueryClient as useQueryClient23 } from "@tanstack/react-query";
|
|
22140
|
-
import { useCallback as useCallback28, useEffect as
|
|
22147
|
+
import { useCallback as useCallback28, useEffect as useEffect44 } from "react";
|
|
22141
22148
|
import { createPublicClient as createPublicClient2, erc20Abi as erc20Abi3, formatUnits as formatUnits8, http as http3 } from "viem";
|
|
22142
22149
|
import { useSwitchChain as useSwitchChain2 } from "wagmi";
|
|
22143
22150
|
function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
@@ -22243,7 +22250,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
22243
22250
|
},
|
|
22244
22251
|
[refreshBalances, qc]
|
|
22245
22252
|
);
|
|
22246
|
-
|
|
22253
|
+
useEffect44(() => {
|
|
22247
22254
|
if (!bridgeSender || !originChain) return;
|
|
22248
22255
|
switch (bridgeSender) {
|
|
22249
22256
|
case "embarkai-wallet":
|
|
@@ -22292,7 +22299,7 @@ var init_useBridgeBalance = __esm({
|
|
|
22292
22299
|
});
|
|
22293
22300
|
|
|
22294
22301
|
// src/internal/components/SendMenu/hyperbridge/steps/SelectStep.tsx
|
|
22295
|
-
import { ArrowLeftRightIcon, ArrowRightLeftIcon, LoaderIcon as LoaderIcon12, Wallet2Icon as Wallet2Icon2, XIcon } from "lucide-react";
|
|
22302
|
+
import { ArrowLeftRightIcon, ArrowRightLeftIcon, LoaderIcon as LoaderIcon12, Wallet2Icon as Wallet2Icon2, XIcon as XIcon2 } from "lucide-react";
|
|
22296
22303
|
import { Fragment as Fragment36 } from "react";
|
|
22297
22304
|
import { Fragment as Fragment37, jsx as jsx97, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
22298
22305
|
function SelectStep(props) {
|
|
@@ -22521,7 +22528,7 @@ function SelectStep(props) {
|
|
|
22521
22528
|
e.stopPropagation();
|
|
22522
22529
|
useBridgeStore.getState().setRecipient(null);
|
|
22523
22530
|
},
|
|
22524
|
-
children: /* @__PURE__ */ jsx97(
|
|
22531
|
+
children: /* @__PURE__ */ jsx97(XIcon2, { className: "w-4 h-4" })
|
|
22525
22532
|
}
|
|
22526
22533
|
)
|
|
22527
22534
|
}
|
|
@@ -22567,7 +22574,7 @@ var init_SelectStep = __esm({
|
|
|
22567
22574
|
|
|
22568
22575
|
// src/internal/components/ui/checkbox.tsx
|
|
22569
22576
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
22570
|
-
import { CheckIcon as
|
|
22577
|
+
import { CheckIcon as CheckIcon2 } from "lucide-react";
|
|
22571
22578
|
import { jsx as jsx98 } from "react/jsx-runtime";
|
|
22572
22579
|
function Checkbox({ className, ...props }) {
|
|
22573
22580
|
return /* @__PURE__ */ jsx98(
|
|
@@ -22585,7 +22592,7 @@ function Checkbox({ className, ...props }) {
|
|
|
22585
22592
|
className
|
|
22586
22593
|
),
|
|
22587
22594
|
...props,
|
|
22588
|
-
children: /* @__PURE__ */ jsx98(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center transition-none", children: /* @__PURE__ */ jsx98(
|
|
22595
|
+
children: /* @__PURE__ */ jsx98(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center transition-none", children: /* @__PURE__ */ jsx98(CheckIcon2, { className: "w-4 h-4 text-[var(--ui-kit-fg)]" }) })
|
|
22589
22596
|
}
|
|
22590
22597
|
);
|
|
22591
22598
|
}
|
|
@@ -23094,13 +23101,13 @@ var init_HistoryStep = __esm({
|
|
|
23094
23101
|
|
|
23095
23102
|
// src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx
|
|
23096
23103
|
import { ArrowLeftRightIcon as ArrowLeftRightIcon2 } from "lucide-react";
|
|
23097
|
-
import { useMemo as
|
|
23104
|
+
import { useMemo as useMemo14 } from "react";
|
|
23098
23105
|
import { jsx as jsx102, jsxs as jsxs94 } from "react/jsx-runtime";
|
|
23099
23106
|
function SelectAssetRoute(props) {
|
|
23100
23107
|
const { hyperlaneWarpRoutes } = props;
|
|
23101
23108
|
const { t } = useT();
|
|
23102
23109
|
const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
|
|
23103
|
-
const tokenList =
|
|
23110
|
+
const tokenList = useMemo14(() => {
|
|
23104
23111
|
const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
|
|
23105
23112
|
const uniqueTokens = Array.from(new Set(tokens));
|
|
23106
23113
|
return uniqueTokens.map((symbol) => ({
|
|
@@ -23204,7 +23211,7 @@ var init_steps = __esm({
|
|
|
23204
23211
|
});
|
|
23205
23212
|
|
|
23206
23213
|
// src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx
|
|
23207
|
-
import { useEffect as
|
|
23214
|
+
import { useEffect as useEffect45 } from "react";
|
|
23208
23215
|
import { jsx as jsx103, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
23209
23216
|
function HyperlaneBridge() {
|
|
23210
23217
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
@@ -23212,7 +23219,7 @@ function HyperlaneBridge() {
|
|
|
23212
23219
|
const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
|
|
23213
23220
|
const { directWalletProfile } = useAvailableSenders();
|
|
23214
23221
|
useMenuTitle(hyperlaneWarpRoutes);
|
|
23215
|
-
|
|
23222
|
+
useEffect45(() => {
|
|
23216
23223
|
return () => {
|
|
23217
23224
|
useBridgeStore.getState().resetSelections();
|
|
23218
23225
|
};
|
|
@@ -23367,7 +23374,7 @@ var init_useErc3643Compliance = __esm({
|
|
|
23367
23374
|
|
|
23368
23375
|
// src/hooks/useNicknameResolve.ts
|
|
23369
23376
|
import { useQuery as useQuery22 } from "@tanstack/react-query";
|
|
23370
|
-
import { useEffect as
|
|
23377
|
+
import { useEffect as useEffect46, useMemo as useMemo15, useState as useState24 } from "react";
|
|
23371
23378
|
function looksLikeNickname(input) {
|
|
23372
23379
|
if (!input) return false;
|
|
23373
23380
|
if (input.startsWith("0x")) return false;
|
|
@@ -23381,7 +23388,7 @@ function useNicknameResolve(input, options) {
|
|
|
23381
23388
|
const [isDebouncing, setIsDebouncing] = useState24(false);
|
|
23382
23389
|
const normalized = normalizeNickname(input);
|
|
23383
23390
|
const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
|
|
23384
|
-
|
|
23391
|
+
useEffect46(() => {
|
|
23385
23392
|
if (!isNicknameInput || !enabled) {
|
|
23386
23393
|
setDebouncedInput("");
|
|
23387
23394
|
setIsDebouncing(false);
|
|
@@ -23407,7 +23414,7 @@ function useNicknameResolve(input, options) {
|
|
|
23407
23414
|
const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
|
|
23408
23415
|
const isWalletNotSetup = !!query.data && query.data.resolvedTarget === null;
|
|
23409
23416
|
const isFrozen = query.data?.isFrozen ?? false;
|
|
23410
|
-
const fingerprintVerification =
|
|
23417
|
+
const fingerprintVerification = useMemo15(() => {
|
|
23411
23418
|
if (!query.data?.owner || !query.data?.fingerprint) {
|
|
23412
23419
|
return null;
|
|
23413
23420
|
}
|
|
@@ -23841,7 +23848,7 @@ var init_AssetList = __esm({
|
|
|
23841
23848
|
|
|
23842
23849
|
// src/internal/components/SendMenu/send/components/NicknameData.tsx
|
|
23843
23850
|
import { AtSign, CheckCircle2 as CheckCircle24, ShieldAlert, ShieldCheck as ShieldCheck2 } from "lucide-react";
|
|
23844
|
-
import { useEffect as
|
|
23851
|
+
import { useEffect as useEffect47 } from "react";
|
|
23845
23852
|
import { jsx as jsx108, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
23846
23853
|
function NicknameData(props) {
|
|
23847
23854
|
const { resolvedNicknameData, isNicknameInput } = props;
|
|
@@ -23854,11 +23861,11 @@ function NicknameData(props) {
|
|
|
23854
23861
|
isWalletNotSetup,
|
|
23855
23862
|
isFrozen
|
|
23856
23863
|
} = resolvedNicknameData;
|
|
23857
|
-
|
|
23864
|
+
useEffect47(() => {
|
|
23858
23865
|
if (!resolvedNicknameData?.data?.fingerprint || !isNicknameInput) return;
|
|
23859
23866
|
useFlowSelectorStore.getState().setRenderKey(`nickname-resolved-${Date.now()}`);
|
|
23860
23867
|
}, [resolvedNicknameData, isNicknameInput]);
|
|
23861
|
-
|
|
23868
|
+
useEffect47(() => {
|
|
23862
23869
|
if (isResolving) return;
|
|
23863
23870
|
let errMessage = null;
|
|
23864
23871
|
switch (true) {
|
|
@@ -24428,7 +24435,7 @@ var init_sendSteps = __esm({
|
|
|
24428
24435
|
|
|
24429
24436
|
// src/internal/components/SendMenu/send/SendMenu.tsx
|
|
24430
24437
|
import { CheckCircle2 as CheckCircle26, Loader as Loader27 } from "lucide-react";
|
|
24431
|
-
import { useEffect as
|
|
24438
|
+
import { useEffect as useEffect48, useMemo as useMemo16 } from "react";
|
|
24432
24439
|
import { parseUnits as parseUnits2 } from "viem";
|
|
24433
24440
|
import { Fragment as Fragment41, jsx as jsx111, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
24434
24441
|
function SendMenu() {
|
|
@@ -24449,16 +24456,16 @@ function SendMenu() {
|
|
|
24449
24456
|
userOpHash,
|
|
24450
24457
|
reset
|
|
24451
24458
|
} = useSendTransaction();
|
|
24452
|
-
|
|
24459
|
+
useEffect48(() => {
|
|
24453
24460
|
useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
|
|
24454
24461
|
}, [isAssetsLoading, isTransactionPending]);
|
|
24455
|
-
|
|
24462
|
+
useEffect48(() => {
|
|
24456
24463
|
useFlowSelectorStore.getState().setError(sendTransactionError || null);
|
|
24457
24464
|
}, [sendTransactionError]);
|
|
24458
24465
|
const { txStep, recipient, amount, selectedAsset, setSelectedAsset } = useSendStore();
|
|
24459
24466
|
const isNft = isNftAsset3(selectedAsset);
|
|
24460
24467
|
const isSecurity = isSecurityToken2(selectedAsset);
|
|
24461
|
-
|
|
24468
|
+
useEffect48(() => {
|
|
24462
24469
|
const shouldDefaultAsset = assets.length > 0 && !selectedAsset;
|
|
24463
24470
|
if (!shouldDefaultAsset) return;
|
|
24464
24471
|
const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
|
|
@@ -24468,7 +24475,7 @@ function SendMenu() {
|
|
|
24468
24475
|
if (isBalance(erc20)) return setSelectedAsset(erc20);
|
|
24469
24476
|
setSelectedAsset(assets[0]);
|
|
24470
24477
|
}, [assets, selectedAsset]);
|
|
24471
|
-
|
|
24478
|
+
useEffect48(
|
|
24472
24479
|
() => () => {
|
|
24473
24480
|
useSendStore.getState().reset();
|
|
24474
24481
|
reset();
|
|
@@ -24478,7 +24485,7 @@ function SendMenu() {
|
|
|
24478
24485
|
const isNicknameInput = looksLikeNickname(recipient);
|
|
24479
24486
|
const resolvedNicknameData = useNicknameResolve(recipient, { enabled: isNicknameInput, chainId: activeChainId });
|
|
24480
24487
|
const effectiveAddress = isNicknameInput ? resolvedNicknameData?.resolvedAddress : recipient;
|
|
24481
|
-
const complianceAmount =
|
|
24488
|
+
const complianceAmount = useMemo16(() => {
|
|
24482
24489
|
if (!isSecurity || !amount || !selectedAsset) return void 0;
|
|
24483
24490
|
try {
|
|
24484
24491
|
return parseUnits2(amount, selectedAsset.decimals || 18);
|
|
@@ -24493,7 +24500,7 @@ function SendMenu() {
|
|
|
24493
24500
|
enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
|
|
24494
24501
|
chainId: activeChainId
|
|
24495
24502
|
});
|
|
24496
|
-
|
|
24503
|
+
useEffect48(() => {
|
|
24497
24504
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
24498
24505
|
switch (true) {
|
|
24499
24506
|
case txStep === "select-asset":
|
|
@@ -24592,9 +24599,9 @@ var init_send = __esm({
|
|
|
24592
24599
|
|
|
24593
24600
|
// src/internal/components/SendMenu/useSendMenuParams.ts
|
|
24594
24601
|
import { keys as keys2 } from "lodash-es";
|
|
24595
|
-
import { useEffect as
|
|
24602
|
+
import { useEffect as useEffect49 } from "react";
|
|
24596
24603
|
function useSendMenuParams() {
|
|
24597
|
-
|
|
24604
|
+
useEffect49(() => {
|
|
24598
24605
|
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
24599
24606
|
if (!pageParams || !keys2(pageParams).length) return;
|
|
24600
24607
|
console.log("[SEND PARAMS]", pageParams);
|
|
@@ -24642,7 +24649,7 @@ var init_useSendMenuParams = __esm({
|
|
|
24642
24649
|
|
|
24643
24650
|
// src/internal/components/SendMenu/SendFlowSelector.tsx
|
|
24644
24651
|
import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2, InfoIcon as InfoIcon6 } from "lucide-react";
|
|
24645
|
-
import { useEffect as
|
|
24652
|
+
import { useEffect as useEffect50 } from "react";
|
|
24646
24653
|
import { jsx as jsx112, jsxs as jsxs103 } from "react/jsx-runtime";
|
|
24647
24654
|
function SelectorFlowButtons() {
|
|
24648
24655
|
const { t } = useT();
|
|
@@ -24705,7 +24712,7 @@ function SendFlowSelector() {
|
|
|
24705
24712
|
const sendStep = useSendStore((st) => st.txStep);
|
|
24706
24713
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
24707
24714
|
useOnboardingTourAvailable(sendStep === "input" && bridgeStep === "select");
|
|
24708
|
-
|
|
24715
|
+
useEffect50(
|
|
24709
24716
|
() => () => {
|
|
24710
24717
|
useFlowSelectorStore.getState().setError(null);
|
|
24711
24718
|
},
|
|
@@ -24901,7 +24908,7 @@ var init_onboarding_setup10 = __esm({
|
|
|
24901
24908
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
24902
24909
|
import { useQuery as useQuery24 } from "@tanstack/react-query";
|
|
24903
24910
|
import { ArrowLeft as ArrowLeft20, HardDrive as HardDrive3 } from "lucide-react";
|
|
24904
|
-
import { useEffect as
|
|
24911
|
+
import { useEffect as useEffect51 } from "react";
|
|
24905
24912
|
import { jsx as jsx113, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
24906
24913
|
function useSettingsButtons() {
|
|
24907
24914
|
const config = useProviderConfig().config;
|
|
@@ -24920,7 +24927,7 @@ function useSettingsButtons() {
|
|
|
24920
24927
|
if (proMode) {
|
|
24921
24928
|
settingsButtons.push({ id: "devices" /* DEVICES */, name: "passport:guardiansMenu.title", Icon: HardDrive3 });
|
|
24922
24929
|
}
|
|
24923
|
-
|
|
24930
|
+
useEffect51(() => {
|
|
24924
24931
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
24925
24932
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
24926
24933
|
return;
|
|
@@ -26143,7 +26150,7 @@ var init_PageMap = __esm({
|
|
|
26143
26150
|
});
|
|
26144
26151
|
|
|
26145
26152
|
// src/internal/hooks/usePageMapper.tsx
|
|
26146
|
-
import { useCallback as useCallback31, useEffect as
|
|
26153
|
+
import { useCallback as useCallback31, useEffect as useEffect52 } from "react";
|
|
26147
26154
|
import { jsx as jsx117 } from "react/jsx-runtime";
|
|
26148
26155
|
function usePageMapper() {
|
|
26149
26156
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -26176,7 +26183,7 @@ function usePageMapper() {
|
|
|
26176
26183
|
},
|
|
26177
26184
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
26178
26185
|
);
|
|
26179
|
-
|
|
26186
|
+
useEffect52(() => {
|
|
26180
26187
|
if (page === null) return closeDialog();
|
|
26181
26188
|
const pageItem = PAGE_MAP[page];
|
|
26182
26189
|
if (!pageItem) {
|
|
@@ -26199,20 +26206,20 @@ var init_usePageMapper = __esm({
|
|
|
26199
26206
|
});
|
|
26200
26207
|
|
|
26201
26208
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
26202
|
-
import { useEffect as
|
|
26209
|
+
import { useEffect as useEffect53 } from "react";
|
|
26203
26210
|
function useSettingsNotifications() {
|
|
26204
26211
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
26205
26212
|
const providers = jwtTokenManager2.getProviders();
|
|
26206
26213
|
const hasEmail = providers.includes("email");
|
|
26207
26214
|
const { data: userProfile = null } = useUserProfile();
|
|
26208
|
-
|
|
26215
|
+
useEffect53(() => {
|
|
26209
26216
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
26210
26217
|
setSettingsNotifications({
|
|
26211
26218
|
...COMPLETE_KYC_PROGRESS,
|
|
26212
26219
|
status: isKYCVerified ? "resolved" : "active"
|
|
26213
26220
|
});
|
|
26214
26221
|
}, [userProfile, setSettingsNotifications]);
|
|
26215
|
-
|
|
26222
|
+
useEffect53(() => {
|
|
26216
26223
|
setSettingsNotifications({
|
|
26217
26224
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
26218
26225
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -26244,7 +26251,7 @@ var init_package = __esm({
|
|
|
26244
26251
|
"package.json"() {
|
|
26245
26252
|
package_default = {
|
|
26246
26253
|
name: "@embarkai/ui-kit",
|
|
26247
|
-
version: "0.4.
|
|
26254
|
+
version: "0.4.77",
|
|
26248
26255
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
26249
26256
|
type: "module",
|
|
26250
26257
|
main: "./dist/index.cjs",
|
|
@@ -26555,7 +26562,7 @@ var init_onborading_setup = __esm({
|
|
|
26555
26562
|
},
|
|
26556
26563
|
["receive" /* RECEIVE */]: () => RECEIVE_MENU_TOUR,
|
|
26557
26564
|
["security" /* SECURITY */]: () => SECURITY_MENU_TOUR,
|
|
26558
|
-
["keysare-backup" /* KEYSARE_BACKUP */]: () => KEYSHARE_BACKUP_MENU_TOUR,
|
|
26565
|
+
["keysare-backup" /* KEYSARE_BACKUP */]: ({ config }) => config?.passkey?.enabled ? KEYSHARE_BACKUP_MENU_TOUR : KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY,
|
|
26559
26566
|
["transactions" /* TRANSACTIONS */]: () => TRANSACTIONS_MENU_TOUR,
|
|
26560
26567
|
["nickname-settings" /* NICKNAME_SETTINGS */]: () => NICKNAME_MENU_TOUR,
|
|
26561
26568
|
["manage-wallet" /* MANAGE_WALLET */]: () => MANAGE_WALLET_MENU_TOUR,
|
|
@@ -26678,7 +26685,7 @@ function Header() {
|
|
|
26678
26685
|
size: "small",
|
|
26679
26686
|
variant: "ghost",
|
|
26680
26687
|
className: "text-[10px] px-2",
|
|
26681
|
-
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]()),
|
|
26688
|
+
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]({ config: config.current })),
|
|
26682
26689
|
children: /* @__PURE__ */ jsx119(CircleQuestionMarkIcon2, { className: "w-4 h-4" })
|
|
26683
26690
|
}
|
|
26684
26691
|
)
|
|
@@ -26903,7 +26910,7 @@ var init_visually_hidden = __esm({
|
|
|
26903
26910
|
|
|
26904
26911
|
// src/internal/components/Dialog/Dialog.tsx
|
|
26905
26912
|
import { AnimatePresence, motion } from "framer-motion";
|
|
26906
|
-
import { useEffect as
|
|
26913
|
+
import { useEffect as useEffect54 } from "react";
|
|
26907
26914
|
import { jsx as jsx122, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
26908
26915
|
function Dialog2() {
|
|
26909
26916
|
const config = useProviderConfig().config;
|
|
@@ -26915,7 +26922,7 @@ function Dialog2() {
|
|
|
26915
26922
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
26916
26923
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
26917
26924
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
26918
|
-
|
|
26925
|
+
useEffect54(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
26919
26926
|
usePageMapper();
|
|
26920
26927
|
useAutoConnect();
|
|
26921
26928
|
useBackupStatusChanges();
|
|
@@ -26992,7 +26999,7 @@ var init_Dialog2 = __esm({
|
|
|
26992
26999
|
});
|
|
26993
27000
|
|
|
26994
27001
|
// src/internal/components/DirectWalletHandler.tsx
|
|
26995
|
-
import { useEffect as
|
|
27002
|
+
import { useEffect as useEffect55 } from "react";
|
|
26996
27003
|
import { useAccount } from "wagmi";
|
|
26997
27004
|
function DirectWalletHandler() {
|
|
26998
27005
|
const walletMode = useProviderConfig().config.current?.wallet?.mode || "linked";
|
|
@@ -27004,13 +27011,13 @@ function DirectWalletHandler() {
|
|
|
27004
27011
|
const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
|
|
27005
27012
|
const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
|
|
27006
27013
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
27007
|
-
|
|
27014
|
+
useEffect55(() => {
|
|
27008
27015
|
setConfigMode(walletMode);
|
|
27009
27016
|
if (walletMode !== "both") {
|
|
27010
27017
|
setActiveMode(walletMode);
|
|
27011
27018
|
}
|
|
27012
27019
|
}, [walletMode, setConfigMode, setActiveMode]);
|
|
27013
|
-
|
|
27020
|
+
useEffect55(() => {
|
|
27014
27021
|
if (isConnected && address && !isExternalConnected && connector && chain?.id) {
|
|
27015
27022
|
setExternalWallet({
|
|
27016
27023
|
address,
|
|
@@ -27019,17 +27026,17 @@ function DirectWalletHandler() {
|
|
|
27019
27026
|
});
|
|
27020
27027
|
}
|
|
27021
27028
|
}, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
|
|
27022
|
-
|
|
27029
|
+
useEffect55(() => {
|
|
27023
27030
|
if (isExternalConnected && !isConnected) {
|
|
27024
27031
|
clearExternalWallet();
|
|
27025
27032
|
}
|
|
27026
27033
|
}, [isConnected, isExternalConnected, clearExternalWallet]);
|
|
27027
|
-
|
|
27034
|
+
useEffect55(() => {
|
|
27028
27035
|
if (isExternalConnected && isConnected && chain?.id) {
|
|
27029
27036
|
setExternalChainId(chain.id);
|
|
27030
27037
|
}
|
|
27031
27038
|
}, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
|
|
27032
|
-
|
|
27039
|
+
useEffect55(() => {
|
|
27033
27040
|
if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
|
|
27034
27041
|
setExternalWallet({
|
|
27035
27042
|
address,
|
|
@@ -27104,7 +27111,7 @@ var init_TssManager = __esm({
|
|
|
27104
27111
|
// src/internal/components/WalletConnectHandler.tsx
|
|
27105
27112
|
import { useConnectModal as useConnectModal2 } from "@rainbow-me/rainbowkit";
|
|
27106
27113
|
import { useMutation as useMutation23, useQueryClient as useQueryClient27 } from "@tanstack/react-query";
|
|
27107
|
-
import React28, { useCallback as useCallback34, useEffect as
|
|
27114
|
+
import React28, { useCallback as useCallback34, useEffect as useEffect56 } from "react";
|
|
27108
27115
|
import { useAccount as useAccount2, useDisconnect as useDisconnect4, useSignMessage as useSignMessage2 } from "wagmi";
|
|
27109
27116
|
function WalletConnectHandler() {
|
|
27110
27117
|
const qc = useQueryClient27();
|
|
@@ -27159,7 +27166,7 @@ function WalletConnectHandler() {
|
|
|
27159
27166
|
const [hasStartedLinking, setHasStartedLinking] = React28.useState(false);
|
|
27160
27167
|
const [modalWasOpened, setModalWasOpened] = React28.useState(false);
|
|
27161
27168
|
const [pendingModalOpen, setPendingModalOpen] = React28.useState(false);
|
|
27162
|
-
|
|
27169
|
+
useEffect56(() => {
|
|
27163
27170
|
if (isWalletLinking && !hasStartedLinking) {
|
|
27164
27171
|
console.log("[WalletConnectHandler] Starting wallet link flow:", {
|
|
27165
27172
|
isConnected,
|
|
@@ -27197,18 +27204,18 @@ function WalletConnectHandler() {
|
|
|
27197
27204
|
setProviderType,
|
|
27198
27205
|
walletMode
|
|
27199
27206
|
]);
|
|
27200
|
-
|
|
27207
|
+
useEffect56(() => {
|
|
27201
27208
|
if (pendingModalOpen && !isConnected && openConnectModal) {
|
|
27202
27209
|
setPendingModalOpen(false);
|
|
27203
27210
|
openConnectModal();
|
|
27204
27211
|
}
|
|
27205
27212
|
}, [pendingModalOpen, isConnected, openConnectModal]);
|
|
27206
|
-
|
|
27213
|
+
useEffect56(() => {
|
|
27207
27214
|
if (connectModalOpen && hasStartedLinking) {
|
|
27208
27215
|
setModalWasOpened(true);
|
|
27209
27216
|
}
|
|
27210
27217
|
}, [connectModalOpen, hasStartedLinking]);
|
|
27211
|
-
|
|
27218
|
+
useEffect56(() => {
|
|
27212
27219
|
if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
27213
27220
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
27214
27221
|
onLinkingComplete(false);
|
|
@@ -27216,7 +27223,7 @@ function WalletConnectHandler() {
|
|
|
27216
27223
|
setModalWasOpened(false);
|
|
27217
27224
|
}
|
|
27218
27225
|
}, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
|
|
27219
|
-
|
|
27226
|
+
useEffect56(() => {
|
|
27220
27227
|
if (isWalletLinking) {
|
|
27221
27228
|
const timeout = setTimeout(() => {
|
|
27222
27229
|
console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
|
|
@@ -27336,7 +27343,7 @@ function WalletConnectHandler() {
|
|
|
27336
27343
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
27337
27344
|
}
|
|
27338
27345
|
});
|
|
27339
|
-
|
|
27346
|
+
useEffect56(() => {
|
|
27340
27347
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
|
|
27341
27348
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
27342
27349
|
if (!passportWalletAddress) {
|
|
@@ -27346,7 +27353,7 @@ function WalletConnectHandler() {
|
|
|
27346
27353
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
27347
27354
|
}
|
|
27348
27355
|
}, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
|
|
27349
|
-
|
|
27356
|
+
useEffect56(() => {
|
|
27350
27357
|
if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
|
|
27351
27358
|
const timeout = setTimeout(() => {
|
|
27352
27359
|
console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
|
|
@@ -30125,14 +30132,14 @@ var init_rainbowkit = __esm({
|
|
|
30125
30132
|
|
|
30126
30133
|
// src/context/RainbowKitContext.tsx
|
|
30127
30134
|
import { darkTheme, lightTheme, RainbowKitProvider as NativeRainbowKitProvider } from "@rainbow-me/rainbowkit";
|
|
30128
|
-
import { useMemo as
|
|
30135
|
+
import { useMemo as useMemo17 } from "react";
|
|
30129
30136
|
import { WagmiProvider } from "wagmi";
|
|
30130
30137
|
import "@rainbow-me/rainbowkit/styles.css";
|
|
30131
30138
|
import { Fragment as Fragment45, jsx as jsx124 } from "react/jsx-runtime";
|
|
30132
30139
|
function RainbowKitProvider({ children }) {
|
|
30133
30140
|
const config = useProviderConfig().config;
|
|
30134
30141
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
30135
|
-
const rainbowConfig =
|
|
30142
|
+
const rainbowConfig = useMemo17(
|
|
30136
30143
|
() => createRainbowConfig({
|
|
30137
30144
|
projectId: config.current?.wallet?.walletConnectProjectId,
|
|
30138
30145
|
allowedWallets: config.current?.wallet?.allowedWallets,
|
|
@@ -30146,7 +30153,7 @@ function RainbowKitProvider({ children }) {
|
|
|
30146
30153
|
config.current?.wallet?.walletConnectProjectId
|
|
30147
30154
|
]
|
|
30148
30155
|
);
|
|
30149
|
-
const customTheme =
|
|
30156
|
+
const customTheme = useMemo17(() => {
|
|
30150
30157
|
if (!config.current?.wallet?.enabled) return {};
|
|
30151
30158
|
return colorMode === "dark" ? {
|
|
30152
30159
|
...darkTheme(),
|
|
@@ -30206,8 +30213,8 @@ import {
|
|
|
30206
30213
|
createContext,
|
|
30207
30214
|
useCallback as useCallback35,
|
|
30208
30215
|
useContext,
|
|
30209
|
-
useEffect as
|
|
30210
|
-
useMemo as
|
|
30216
|
+
useEffect as useEffect57,
|
|
30217
|
+
useMemo as useMemo18,
|
|
30211
30218
|
useRef as useRef20
|
|
30212
30219
|
} from "react";
|
|
30213
30220
|
import { jsx as jsx126 } from "react/jsx-runtime";
|
|
@@ -30229,7 +30236,7 @@ function clearLegacyWagmiStorage() {
|
|
|
30229
30236
|
function Provider(props) {
|
|
30230
30237
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
30231
30238
|
const callbacksRef = useRef20(callbacks);
|
|
30232
|
-
|
|
30239
|
+
useEffect57(() => notifyNoProjetctId(projectId), [projectId]);
|
|
30233
30240
|
const config = useRef20(merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
30234
30241
|
const updateConfig = useCallback35((updates) => {
|
|
30235
30242
|
const prev = config.current;
|
|
@@ -30270,7 +30277,7 @@ function Provider(props) {
|
|
|
30270
30277
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
30271
30278
|
callbacksRef.current = next;
|
|
30272
30279
|
}, []);
|
|
30273
|
-
|
|
30280
|
+
useEffect57(() => {
|
|
30274
30281
|
if (typeof window === "undefined" || !projectId) return;
|
|
30275
30282
|
const mergedConfig = merge3(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
30276
30283
|
updateConfig(mergedConfig);
|
|
@@ -30290,7 +30297,7 @@ function Provider(props) {
|
|
|
30290
30297
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
30291
30298
|
}
|
|
30292
30299
|
}, [projectId, initialConfig]);
|
|
30293
|
-
|
|
30300
|
+
useEffect57(() => {
|
|
30294
30301
|
if (typeof window === "undefined" || !projectId) return;
|
|
30295
30302
|
try {
|
|
30296
30303
|
initSdkErrorTracking();
|
|
@@ -30319,7 +30326,7 @@ function Provider(props) {
|
|
|
30319
30326
|
console.error("[PROVIDER] Error setting up iframe manager:", error);
|
|
30320
30327
|
}
|
|
30321
30328
|
}, [projectId]);
|
|
30322
|
-
const contextValue =
|
|
30329
|
+
const contextValue = useMemo18(
|
|
30323
30330
|
() => ({
|
|
30324
30331
|
config,
|
|
30325
30332
|
updateConfig,
|
|
@@ -30359,7 +30366,7 @@ var init_ProviderContext = __esm({
|
|
|
30359
30366
|
});
|
|
30360
30367
|
|
|
30361
30368
|
// src/styles/built.css
|
|
30362
|
-
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 .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-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-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-0{width:0}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[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-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary-h\\)\\]{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-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-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-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 .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{pointer-events:none;position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-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-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-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 :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}`;
|
|
30369
|
+
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 .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-1{right:.25rem}.embarkai-ui-scope .right-2{right:.5rem}.embarkai-ui-scope .right-3{right:.75rem}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1{top:.25rem}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-2{top:.5rem}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .ml-auto{margin-left:auto}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-0\\.5{margin-top:.125rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .table{display:table}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-8{width:2rem;height:2rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-0{height:0}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-0{width:0}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[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-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary-h\\)\\]{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-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-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-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 .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{pointer-events:none;position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-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-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-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 :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}`;
|
|
30363
30370
|
|
|
30364
30371
|
// src/index.ts
|
|
30365
30372
|
init_ProviderContext();
|
|
@@ -30379,7 +30386,7 @@ init_useLayoutStore();
|
|
|
30379
30386
|
init_pro_mode();
|
|
30380
30387
|
init_utils2();
|
|
30381
30388
|
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader31, Shield as Shield3 } from "lucide-react";
|
|
30382
|
-
import { useEffect as
|
|
30389
|
+
import { useEffect as useEffect58, useMemo as useMemo19 } from "react";
|
|
30383
30390
|
import { Fragment as Fragment46, jsx as jsx127, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
30384
30391
|
function getFormattedStatus(label, status, showStatus) {
|
|
30385
30392
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
@@ -30399,10 +30406,10 @@ function ConnectWalletButton(props) {
|
|
|
30399
30406
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
30400
30407
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
30401
30408
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
30402
|
-
|
|
30409
|
+
useEffect58(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
30403
30410
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
30404
30411
|
const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
|
|
30405
|
-
const indicators =
|
|
30412
|
+
const indicators = useMemo19(() => {
|
|
30406
30413
|
const userId = session?.mpcUserId;
|
|
30407
30414
|
if (!userId) return { server: false, local: false, backup: false };
|
|
30408
30415
|
const server = jwtTokenManager2.getHasKeyshare() ?? false;
|
|
@@ -31045,13 +31052,13 @@ var Hash = ({
|
|
|
31045
31052
|
|
|
31046
31053
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
31047
31054
|
init_base2();
|
|
31048
|
-
import { useEffect as
|
|
31055
|
+
import { useEffect as useEffect60, useState as useState32 } from "react";
|
|
31049
31056
|
import { jsx as jsx133, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
31050
31057
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
31051
31058
|
const [transactions, setTransactions] = useState32([]);
|
|
31052
31059
|
const [loading, setLoading] = useState32(true);
|
|
31053
31060
|
const [error, setError] = useState32(null);
|
|
31054
|
-
|
|
31061
|
+
useEffect60(() => {
|
|
31055
31062
|
const fetchTransactions2 = async () => {
|
|
31056
31063
|
try {
|
|
31057
31064
|
setLoading(true);
|
|
@@ -31458,7 +31465,7 @@ function useSendDirectTransaction() {
|
|
|
31458
31465
|
init_SessionContext();
|
|
31459
31466
|
init_account2();
|
|
31460
31467
|
init_linkedProfiles();
|
|
31461
|
-
import { useCallback as useCallback41, useMemo as
|
|
31468
|
+
import { useCallback as useCallback41, useMemo as useMemo20, useState as useState35 } from "react";
|
|
31462
31469
|
import { encodeFunctionData as encodeFunctionData3, isAddress as isAddress4, parseEther as parseEther4, parseUnits as parseUnits3 } from "viem";
|
|
31463
31470
|
var ERC20_TRANSFER_ABI2 = [
|
|
31464
31471
|
{
|
|
@@ -31477,7 +31484,7 @@ function useTransferToLinkedWallet() {
|
|
|
31477
31484
|
const [isPending, setIsPending] = useState35(false);
|
|
31478
31485
|
const [error, setError] = useState35(null);
|
|
31479
31486
|
const [userOpHash, setUserOpHash] = useState35(null);
|
|
31480
|
-
const linkedWallets =
|
|
31487
|
+
const linkedWallets = useMemo20(
|
|
31481
31488
|
() => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
|
|
31482
31489
|
[profiles]
|
|
31483
31490
|
);
|