@embarkai/ui-kit 0.4.76 → 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 +417 -411
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +303 -297
- 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,16 +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
|
-
"text-[var(--ui-kit-success)]",
|
|
9369
|
-
"absolute top-2 right-2 text-[10px]"
|
|
9370
|
-
// colorMode === 'dark' ? 'text-[var(--ui-kit-fg-inverted)]' : 'text-[var(--ui-kit-fg)]'
|
|
9371
|
-
),
|
|
9372
|
-
children: t("passport:common.hide")
|
|
9349
|
+
children: /* @__PURE__ */ jsx21(XIcon, { className: "h-3 w-3" })
|
|
9373
9350
|
}
|
|
9374
9351
|
),
|
|
9375
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(
|
|
@@ -9425,7 +9402,7 @@ var init_OnboardingOverlay = __esm({
|
|
|
9425
9402
|
init_button();
|
|
9426
9403
|
init_onboarder();
|
|
9427
9404
|
init_useOnboardingStore();
|
|
9428
|
-
EXPAND =
|
|
9405
|
+
EXPAND = 8;
|
|
9429
9406
|
TOOLTIP_MIN_WIDTH = 320;
|
|
9430
9407
|
TOP_POS_OFFSET = 112;
|
|
9431
9408
|
}
|
|
@@ -10044,7 +10021,7 @@ var init_useBuyMenuStore = __esm({
|
|
|
10044
10021
|
// src/internal/components/BuyMenu/components/CryptoSelector.tsx
|
|
10045
10022
|
import { debounce as debounce2, toPairs } from "lodash-es";
|
|
10046
10023
|
import { InfoIcon, PointerIcon, SearchIcon } from "lucide-react";
|
|
10047
|
-
import { useCallback as useCallback10, useMemo as
|
|
10024
|
+
import { useCallback as useCallback10, useMemo as useMemo3, useState as useState7 } from "react";
|
|
10048
10025
|
import { jsx as jsx34, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
10049
10026
|
function CryptoItem(props) {
|
|
10050
10027
|
const { symbol, network } = props;
|
|
@@ -10091,7 +10068,7 @@ function CryptoSelector(props) {
|
|
|
10091
10068
|
}, 1e3),
|
|
10092
10069
|
[]
|
|
10093
10070
|
);
|
|
10094
|
-
const filteredCoins =
|
|
10071
|
+
const filteredCoins = useMemo3(() => {
|
|
10095
10072
|
const sorted = [...coins].sort((a, b) => {
|
|
10096
10073
|
const aIdx = POPULAR_CRYPTOS.indexOf(a.symbol.toUpperCase());
|
|
10097
10074
|
const bIdx = POPULAR_CRYPTOS.indexOf(b.symbol.toUpperCase());
|
|
@@ -10269,7 +10246,7 @@ var init_ResolvedFiatIcon = __esm({
|
|
|
10269
10246
|
// src/internal/components/BuyMenu/components/FiatSelector.tsx
|
|
10270
10247
|
import { debounce as debounce3 } from "lodash-es";
|
|
10271
10248
|
import { PointerIcon as PointerIcon2, SearchIcon as SearchIcon2 } from "lucide-react";
|
|
10272
|
-
import { useCallback as useCallback11, useMemo as
|
|
10249
|
+
import { useCallback as useCallback11, useMemo as useMemo4, useState as useState8 } from "react";
|
|
10273
10250
|
import { Fragment as Fragment9, jsx as jsx36, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
10274
10251
|
function getCurrencyName(ticker, locale = "en") {
|
|
10275
10252
|
try {
|
|
@@ -10316,7 +10293,7 @@ function FiatSelector(props) {
|
|
|
10316
10293
|
}, 1e3),
|
|
10317
10294
|
[]
|
|
10318
10295
|
);
|
|
10319
|
-
const filteredFiats =
|
|
10296
|
+
const filteredFiats = useMemo4(() => {
|
|
10320
10297
|
const sorted = [...fiats].sort((a, b) => {
|
|
10321
10298
|
const aIdx = POPULAR_FIATS.indexOf(a.ticker.toUpperCase());
|
|
10322
10299
|
const bIdx = POPULAR_FIATS.indexOf(b.ticker.toUpperCase());
|
|
@@ -11002,7 +10979,7 @@ import { useInfiniteQuery } from "@tanstack/react-query";
|
|
|
11002
10979
|
import dayjs from "dayjs";
|
|
11003
10980
|
import { debounce as debounce4 } from "lodash-es";
|
|
11004
10981
|
import { DownloadIcon, ExternalLinkIcon, LoaderIcon as LoaderIcon3 } from "lucide-react";
|
|
11005
|
-
import { useCallback as useCallback12, useEffect as useEffect15, useMemo as
|
|
10982
|
+
import { useCallback as useCallback12, useEffect as useEffect15, useMemo as useMemo5 } from "react";
|
|
11006
10983
|
import { jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
11007
10984
|
function getStatusVariant(status) {
|
|
11008
10985
|
switch (status) {
|
|
@@ -11133,7 +11110,7 @@ function BinanceTxHistory() {
|
|
|
11133
11110
|
txStatuses: SHOW_STATUSES
|
|
11134
11111
|
})
|
|
11135
11112
|
});
|
|
11136
|
-
const txList =
|
|
11113
|
+
const txList = useMemo5(
|
|
11137
11114
|
() => historyData?.pages?.map((p) => p.data).flat(Infinity) || [],
|
|
11138
11115
|
[historyData]
|
|
11139
11116
|
);
|
|
@@ -12837,7 +12814,7 @@ import { PAYMASTER_CACHE_TTL_MS } from "@embarkai/core";
|
|
|
12837
12814
|
import { getChainConfig as getChainConfig8, SUPPORTED_MAINNETS as SUPPORTED_MAINNETS2 } from "@embarkai/core/read";
|
|
12838
12815
|
import { useQuery as useQuery5 } from "@tanstack/react-query";
|
|
12839
12816
|
import { ArrowLeft as ArrowLeft4 } from "lucide-react";
|
|
12840
|
-
import { useMemo as
|
|
12817
|
+
import { useMemo as useMemo6, useState as useState10 } from "react";
|
|
12841
12818
|
import { jsx as jsx54, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
12842
12819
|
function ChainsMenu() {
|
|
12843
12820
|
const { t } = useT();
|
|
@@ -12847,7 +12824,7 @@ function ChainsMenu() {
|
|
|
12847
12824
|
const [isTestnets, setIsTestnets] = useState10(false);
|
|
12848
12825
|
const [nextChainId, setNextChainId] = useState10(null);
|
|
12849
12826
|
useOnboardingTourAvailable(true);
|
|
12850
|
-
const visibleNetworks =
|
|
12827
|
+
const visibleNetworks = useMemo6(() => {
|
|
12851
12828
|
return NETWORK_OPTIONS.filter(
|
|
12852
12829
|
(option) => option.isActive && (isTestnets ? true : SUPPORTED_MAINNETS2.includes(option.chainId))
|
|
12853
12830
|
);
|
|
@@ -15216,7 +15193,7 @@ var init_hooks = __esm({
|
|
|
15216
15193
|
|
|
15217
15194
|
// src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
|
|
15218
15195
|
import { Cloud, Cpu as Cpu3, FileDown, FileUp } from "lucide-react";
|
|
15219
|
-
import { Fragment as Fragment17, useMemo as
|
|
15196
|
+
import { Fragment as Fragment17, useMemo as useMemo7 } from "react";
|
|
15220
15197
|
import { jsx as jsx60, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
15221
15198
|
function MethodSelector(props) {
|
|
15222
15199
|
const { mode = "restore", serverRecoveryStatus } = props;
|
|
@@ -15230,7 +15207,7 @@ function MethodSelector(props) {
|
|
|
15230
15207
|
setError,
|
|
15231
15208
|
setSuccess
|
|
15232
15209
|
} = useRestoreStore();
|
|
15233
|
-
const recoveryRenderMethods =
|
|
15210
|
+
const recoveryRenderMethods = useMemo7(() => {
|
|
15234
15211
|
const methodsWithBackupData = getRecoveryRenderMethods(mode).map((mt) => {
|
|
15235
15212
|
let data = null;
|
|
15236
15213
|
switch (true) {
|
|
@@ -15302,7 +15279,7 @@ var init_MethodSelector = __esm({
|
|
|
15302
15279
|
});
|
|
15303
15280
|
|
|
15304
15281
|
// src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts
|
|
15305
|
-
var KEYSHARE_BACKUP_MENU_TOUR;
|
|
15282
|
+
var KEYSHARE_BACKUP_MENU_TOUR, KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY;
|
|
15306
15283
|
var init_onboarding_setup3 = __esm({
|
|
15307
15284
|
"src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
|
|
15308
15285
|
init_hooks();
|
|
@@ -15362,6 +15339,43 @@ var init_onboarding_setup3 = __esm({
|
|
|
15362
15339
|
description: "passport:backupMenu.onboarding.backupAdvanced.description"
|
|
15363
15340
|
}
|
|
15364
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
|
+
];
|
|
15365
15379
|
}
|
|
15366
15380
|
});
|
|
15367
15381
|
|
|
@@ -18038,7 +18052,7 @@ var init_ProviderCard = __esm({
|
|
|
18038
18052
|
// src/internal/components/ManageWalletMenu/ManageWallet.tsx
|
|
18039
18053
|
import { fromPairs } from "lodash-es";
|
|
18040
18054
|
import { AlertTriangle as AlertTriangle4, ArrowLeft as ArrowLeft14, Loader as Loader13 } from "lucide-react";
|
|
18041
|
-
import { useMemo as
|
|
18055
|
+
import { useMemo as useMemo8 } from "react";
|
|
18042
18056
|
import { Fragment as Fragment28, jsx as jsx79, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
18043
18057
|
function getProviderName(provider) {
|
|
18044
18058
|
return PROVIDERS_META[provider].name || provider;
|
|
@@ -18080,7 +18094,7 @@ function ManageWalletMenu() {
|
|
|
18080
18094
|
} = useManageWalletStore();
|
|
18081
18095
|
const configuredProviders = getConfiguredProviders(config.current);
|
|
18082
18096
|
const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
|
|
18083
|
-
const renderProviders =
|
|
18097
|
+
const renderProviders = useMemo8(() => {
|
|
18084
18098
|
const normalizeProviderName = (name) => {
|
|
18085
18099
|
if (name === "x") return "twitter";
|
|
18086
18100
|
return name;
|
|
@@ -18444,14 +18458,22 @@ var useNicknameStore;
|
|
|
18444
18458
|
var init_useNicknameStore = __esm({
|
|
18445
18459
|
"src/internal/components/NicknameMenu/useNicknameStore.ts"() {
|
|
18446
18460
|
useNicknameStore = create10((set) => ({
|
|
18447
|
-
renderKey: "",
|
|
18461
|
+
renderKey: "nickname-menu-render-key",
|
|
18448
18462
|
setRenderKey: (renderKey) => set({ renderKey }),
|
|
18449
18463
|
nicknameValue: "",
|
|
18450
18464
|
setNicknameValue: (nicknameValue) => set({ nicknameValue }),
|
|
18451
18465
|
availability: null,
|
|
18452
18466
|
setAvailability: (availability) => set({ availability }),
|
|
18467
|
+
success: null,
|
|
18468
|
+
setSuccess: (success) => set({ success }),
|
|
18453
18469
|
error: null,
|
|
18454
|
-
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
|
+
})
|
|
18455
18477
|
}));
|
|
18456
18478
|
}
|
|
18457
18479
|
});
|
|
@@ -18513,7 +18535,7 @@ var init_useNicknameAvailability = __esm({
|
|
|
18513
18535
|
|
|
18514
18536
|
// src/internal/components/NicknameMenu/NicknameEditForm.tsx
|
|
18515
18537
|
import { useMutation as useMutation17, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
|
|
18516
|
-
import { AtSignIcon,
|
|
18538
|
+
import { AtSignIcon, CopyIcon, LoaderIcon as LoaderIcon8, SaveIcon } from "lucide-react";
|
|
18517
18539
|
import { useCallback as useCallback22, useState as useState20 } from "react";
|
|
18518
18540
|
import { Fragment as Fragment29, jsx as jsx81, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
18519
18541
|
function NicknameEditForm(props) {
|
|
@@ -18528,14 +18550,7 @@ function NicknameEditForm(props) {
|
|
|
18528
18550
|
const nicknameAvailability = useNicknameStore((st) => st.availability);
|
|
18529
18551
|
const { isCheckingAvailability } = useNicknameAvailability(nicknameInfo ? nicknameInfo.handle : "");
|
|
18530
18552
|
const [isNicknameCopied, setIsNicknameCopied] = useState20(false);
|
|
18531
|
-
const {
|
|
18532
|
-
mutate: changeNickname2,
|
|
18533
|
-
isError: isNicknameChangeError,
|
|
18534
|
-
isPending: isNicknameChanging,
|
|
18535
|
-
isSuccess: isNicknameChangeSuccess,
|
|
18536
|
-
// error: nicknameChangeError,
|
|
18537
|
-
reset
|
|
18538
|
-
} = useMutation17({
|
|
18553
|
+
const { mutate: changeNickname2, isPending: isNicknameChanging } = useMutation17({
|
|
18539
18554
|
mutationFn: (handle) => changeNickname(handle),
|
|
18540
18555
|
onSuccess: () => {
|
|
18541
18556
|
qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
|
|
@@ -18543,7 +18558,15 @@ function NicknameEditForm(props) {
|
|
|
18543
18558
|
callbacksRef.current?.onAccountUpdate?.({
|
|
18544
18559
|
providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address])
|
|
18545
18560
|
});
|
|
18546
|
-
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);
|
|
18547
18570
|
},
|
|
18548
18571
|
onError: (error) => {
|
|
18549
18572
|
const changeNicknameError = error;
|
|
@@ -18559,17 +18582,16 @@ function NicknameEditForm(props) {
|
|
|
18559
18582
|
const handleNicknameInputChange = useCallback22(
|
|
18560
18583
|
(e) => {
|
|
18561
18584
|
const { error, setError, setNicknameValue } = useNicknameStore.getState();
|
|
18562
|
-
const
|
|
18563
|
-
setNicknameValue(
|
|
18564
|
-
if (error &&
|
|
18565
|
-
if (
|
|
18566
|
-
|
|
18567
|
-
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);
|
|
18568
18590
|
if (!validation.valid && validation.error) {
|
|
18569
18591
|
setError(getNicknameErrorMessage(validation.error, { t }));
|
|
18570
18592
|
}
|
|
18571
18593
|
},
|
|
18572
|
-
[
|
|
18594
|
+
[t]
|
|
18573
18595
|
);
|
|
18574
18596
|
const handleSubmit = useCallback22(
|
|
18575
18597
|
(e) => {
|
|
@@ -18596,34 +18618,43 @@ function NicknameEditForm(props) {
|
|
|
18596
18618
|
const normalizedInputValue = normalizeNickname(nicknameValue);
|
|
18597
18619
|
const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
|
|
18598
18620
|
const isSubmitDisabled = !canChange || nicknameValue.length === 0 || isSameAsCurrentNickname || !!nicknameError || isNicknameChanging || isCheckingAvailability || !nicknameAvailability?.available;
|
|
18599
|
-
const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging &&
|
|
18621
|
+
const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging && nicknameAvailability?.available;
|
|
18600
18622
|
return /* @__PURE__ */ jsxs75(Fragment29, { children: [
|
|
18601
|
-
canChange ? /* @__PURE__ */
|
|
18602
|
-
/* @__PURE__ */
|
|
18603
|
-
|
|
18604
|
-
{
|
|
18605
|
-
|
|
18606
|
-
|
|
18607
|
-
|
|
18608
|
-
|
|
18609
|
-
|
|
18610
|
-
|
|
18611
|
-
|
|
18612
|
-
|
|
18613
|
-
|
|
18614
|
-
|
|
18615
|
-
|
|
18616
|
-
|
|
18617
|
-
|
|
18618
|
-
|
|
18619
|
-
|
|
18620
|
-
|
|
18621
|
-
|
|
18622
|
-
|
|
18623
|
-
|
|
18624
|
-
|
|
18625
|
-
|
|
18626
|
-
|
|
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: [
|
|
18627
18658
|
/* @__PURE__ */ jsxs75(
|
|
18628
18659
|
"span",
|
|
18629
18660
|
{
|
|
@@ -18691,7 +18722,8 @@ var init_onboarding_setup6 = __esm({
|
|
|
18691
18722
|
// src/internal/components/NicknameMenu/NicknameMenu.tsx
|
|
18692
18723
|
import { useQuery as useQuery13 } from "@tanstack/react-query";
|
|
18693
18724
|
import dayjs4 from "dayjs";
|
|
18694
|
-
import { ArrowLeft as ArrowLeft15,
|
|
18725
|
+
import { ArrowLeft as ArrowLeft15, Loader as Loader15 } from "lucide-react";
|
|
18726
|
+
import { useEffect as useEffect35 } from "react";
|
|
18695
18727
|
import { jsx as jsx82, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
18696
18728
|
function NicknameMenu() {
|
|
18697
18729
|
const { isInitialUser } = usePageParams().current;
|
|
@@ -18700,6 +18732,7 @@ function NicknameMenu() {
|
|
|
18700
18732
|
const address = useSession((st) => st.address);
|
|
18701
18733
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
18702
18734
|
const nicknameRenderKey = useNicknameStore((st) => st.renderKey);
|
|
18735
|
+
const nicknameSuccess = useNicknameStore((st) => st.success);
|
|
18703
18736
|
const nicknameError = useNicknameStore((st) => st.error);
|
|
18704
18737
|
const {
|
|
18705
18738
|
data: nicknameInfo,
|
|
@@ -18709,9 +18742,10 @@ function NicknameMenu() {
|
|
|
18709
18742
|
retry: 1,
|
|
18710
18743
|
enabled: !!address,
|
|
18711
18744
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
18712
|
-
queryFn: getNicknameInfo
|
|
18745
|
+
queryFn: async () => await getNicknameInfo()
|
|
18713
18746
|
});
|
|
18714
18747
|
const resolvedError = nicknameError || nicknameInfoError?.message || null;
|
|
18748
|
+
useEffect35(() => () => useNicknameStore.getState().reset(), []);
|
|
18715
18749
|
return /* @__PURE__ */ jsx82(
|
|
18716
18750
|
"div",
|
|
18717
18751
|
{
|
|
@@ -18735,16 +18769,12 @@ function NicknameMenu() {
|
|
|
18735
18769
|
isNicknameInfoLoading && /* @__PURE__ */ jsx82(Loader15, { className: "w-4 h-4 animate-spin" })
|
|
18736
18770
|
] })
|
|
18737
18771
|
] }),
|
|
18738
|
-
/* @__PURE__ */ jsx82("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.yourNickname") }),
|
|
18739
18772
|
/* @__PURE__ */ jsx82(NicknameEditForm, { nicknameInfo, isInitialUser }),
|
|
18740
|
-
!nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */
|
|
18741
|
-
|
|
18742
|
-
|
|
18743
|
-
|
|
18744
|
-
|
|
18745
|
-
}) })
|
|
18746
|
-
] }),
|
|
18747
|
-
!!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: [
|
|
18748
18778
|
/* @__PURE__ */ jsxs76("span", { children: [
|
|
18749
18779
|
/* @__PURE__ */ jsx82("span", { className: "text-[var(--ui-kit-fg-muted)]", children: nicknameInfo.changedAt ? t("passport:nicknameMenu.lastChanged") : t("passport:common.created") }),
|
|
18750
18780
|
/* @__PURE__ */ jsx82("span", { children: ": " }),
|
|
@@ -18756,6 +18786,7 @@ function NicknameMenu() {
|
|
|
18756
18786
|
/* @__PURE__ */ jsx82("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
|
|
18757
18787
|
] })
|
|
18758
18788
|
] }),
|
|
18789
|
+
!!nicknameSuccess && /* @__PURE__ */ jsx82(Highlight, { type: "success", children: nicknameSuccess }),
|
|
18759
18790
|
isInitialUser && /* @__PURE__ */ jsxs76(Highlight, { type: "success", children: [
|
|
18760
18791
|
/* @__PURE__ */ jsx82("p", {
|
|
18761
18792
|
//@ts-expect-error i18n typings
|
|
@@ -18816,7 +18847,7 @@ var init_NicknameMenu2 = __esm({
|
|
|
18816
18847
|
|
|
18817
18848
|
// src/internal/hooks/useResolvedPublicClient.ts
|
|
18818
18849
|
import { createPublicClientForChain as createPublicClientForChain5, getChainConfig as getChainConfig9 } from "@embarkai/core/read";
|
|
18819
|
-
import { useMemo as
|
|
18850
|
+
import { useMemo as useMemo9 } from "react";
|
|
18820
18851
|
function getCachedPublicClient(chainId) {
|
|
18821
18852
|
const cachedClient = publicClientByChainId.get(chainId);
|
|
18822
18853
|
if (cachedClient) return cachedClient;
|
|
@@ -18830,11 +18861,11 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
|
|
|
18830
18861
|
const activeChainConfig = useSession((st) => st.chainConfig);
|
|
18831
18862
|
const resolvedChainId = chainId ?? activeChainId;
|
|
18832
18863
|
const shouldUseActiveClient = !chainId || chainId === activeChainId;
|
|
18833
|
-
const chainConfig =
|
|
18864
|
+
const chainConfig = useMemo9(() => {
|
|
18834
18865
|
if (shouldUseActiveClient) return activeChainConfig;
|
|
18835
18866
|
return getChainConfig9(chainId);
|
|
18836
18867
|
}, [activeChainConfig, chainId, shouldUseActiveClient]);
|
|
18837
|
-
const publicClient =
|
|
18868
|
+
const publicClient = useMemo9(() => {
|
|
18838
18869
|
if (shouldUseActiveClient) return activePublicClient;
|
|
18839
18870
|
if (!chainId) return activePublicClient;
|
|
18840
18871
|
try {
|
|
@@ -18915,12 +18946,12 @@ var init_useNativeBalance = __esm({
|
|
|
18915
18946
|
|
|
18916
18947
|
// src/internal/hooks/useBlockscoutAssets/useWatchTokens.ts
|
|
18917
18948
|
import { useQuery as useQuery15 } from "@tanstack/react-query";
|
|
18918
|
-
import { useMemo as
|
|
18949
|
+
import { useMemo as useMemo10 } from "react";
|
|
18919
18950
|
import { erc20Abi as erc20Abi2, formatUnits as formatUnits3 } from "viem";
|
|
18920
18951
|
function useWatchTokens(options) {
|
|
18921
18952
|
const { address, chainId, enabled, publicClient } = options;
|
|
18922
18953
|
const { config } = useProviderConfig();
|
|
18923
|
-
const watchTokens =
|
|
18954
|
+
const watchTokens = useMemo10(() => {
|
|
18924
18955
|
const allWatchTokens = config.current.watchTokens;
|
|
18925
18956
|
const tokensForChain = chainId ? allWatchTokens?.[chainId] || [] : [];
|
|
18926
18957
|
return tokensForChain;
|
|
@@ -19129,7 +19160,7 @@ var init_utils8 = __esm({
|
|
|
19129
19160
|
// src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts
|
|
19130
19161
|
import { createBlockscoutClient as createBlockscoutClient2, nonBlockscoutClient } from "@embarkai/core";
|
|
19131
19162
|
import { useQuery as useQuery16, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
|
|
19132
|
-
import { useCallback as useCallback23, useMemo as
|
|
19163
|
+
import { useCallback as useCallback23, useMemo as useMemo11, useRef as useRef15 } from "react";
|
|
19133
19164
|
function useBlockscoutAssets(options) {
|
|
19134
19165
|
const { address, chainId, enabled = true, detectSecurityTokens = true } = options;
|
|
19135
19166
|
const qc = useQueryClient19();
|
|
@@ -19140,7 +19171,7 @@ function useBlockscoutAssets(options) {
|
|
|
19140
19171
|
tokenBalancesQueryKey: customTokenBalancesQueryKey
|
|
19141
19172
|
} = useProviderConfig().config?.current?.portfolio || {};
|
|
19142
19173
|
const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
|
|
19143
|
-
const blockscoutClient =
|
|
19174
|
+
const blockscoutClient = useMemo11(
|
|
19144
19175
|
() => blockscoutApiUrl ? createBlockscoutClient2({ baseUrl: blockscoutApiUrl }) : null,
|
|
19145
19176
|
[blockscoutApiUrl]
|
|
19146
19177
|
);
|
|
@@ -19216,7 +19247,7 @@ function useBlockscoutAssets(options) {
|
|
|
19216
19247
|
queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", resolvedChainId, blockscoutApiUrl, address],
|
|
19217
19248
|
queryFn: () => blockscoutClient.getNfts(address)
|
|
19218
19249
|
});
|
|
19219
|
-
const erc20TokenAddresses =
|
|
19250
|
+
const erc20TokenAddresses = useMemo11(() => {
|
|
19220
19251
|
if (!blockscoutItems) return [];
|
|
19221
19252
|
return blockscoutItems.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
|
|
19222
19253
|
}, [blockscoutItems]);
|
|
@@ -19261,7 +19292,7 @@ function useBlockscoutAssets(options) {
|
|
|
19261
19292
|
// 1 minute
|
|
19262
19293
|
// gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
19263
19294
|
});
|
|
19264
|
-
const assets =
|
|
19295
|
+
const assets = useMemo11(() => {
|
|
19265
19296
|
const result = [];
|
|
19266
19297
|
const addedAddresses = /* @__PURE__ */ new Set();
|
|
19267
19298
|
if (nativeBalanceData) {
|
|
@@ -19355,7 +19386,7 @@ function useBlockscoutAssets(options) {
|
|
|
19355
19386
|
watchTokenAssets,
|
|
19356
19387
|
chainConfig
|
|
19357
19388
|
]);
|
|
19358
|
-
const nativeBalance =
|
|
19389
|
+
const nativeBalance = useMemo11(() => {
|
|
19359
19390
|
if (!nativeBalanceData) return null;
|
|
19360
19391
|
return {
|
|
19361
19392
|
value: nativeBalanceData.value,
|
|
@@ -19363,7 +19394,7 @@ function useBlockscoutAssets(options) {
|
|
|
19363
19394
|
symbol: nativeBalanceData.symbol
|
|
19364
19395
|
};
|
|
19365
19396
|
}, [nativeBalanceData]);
|
|
19366
|
-
const error =
|
|
19397
|
+
const error = useMemo11(() => {
|
|
19367
19398
|
if (!blockscoutError) return null;
|
|
19368
19399
|
return createError(blockscoutError);
|
|
19369
19400
|
}, [blockscoutError]);
|
|
@@ -19873,9 +19904,9 @@ var init_onboarding_setup7 = __esm({
|
|
|
19873
19904
|
});
|
|
19874
19905
|
|
|
19875
19906
|
// src/internal/components/ReceiveMenu/ReceiveMenu.tsx
|
|
19876
|
-
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";
|
|
19877
19908
|
import QRCode from "qrcode";
|
|
19878
|
-
import { useCallback as useCallback25, useEffect as
|
|
19909
|
+
import { useCallback as useCallback25, useEffect as useEffect36, useMemo as useMemo12, useState as useState21 } from "react";
|
|
19879
19910
|
import { Fragment as Fragment31, jsx as jsx86, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
19880
19911
|
function ReceiveMenu() {
|
|
19881
19912
|
const session = useSession((st) => st.session);
|
|
@@ -19890,7 +19921,7 @@ function ReceiveMenu() {
|
|
|
19890
19921
|
const [copied, setCopied] = useState21(false);
|
|
19891
19922
|
const [fingerprintCopied, setFingerprintCopied] = useState21(false);
|
|
19892
19923
|
useOnboardingTourAvailable(true);
|
|
19893
|
-
const fingerprint =
|
|
19924
|
+
const fingerprint = useMemo12(() => {
|
|
19894
19925
|
if (!session?.ownerAddress) return null;
|
|
19895
19926
|
try {
|
|
19896
19927
|
return generateFingerprint(session.ownerAddress);
|
|
@@ -19898,7 +19929,7 @@ function ReceiveMenu() {
|
|
|
19898
19929
|
return null;
|
|
19899
19930
|
}
|
|
19900
19931
|
}, [session?.ownerAddress]);
|
|
19901
|
-
|
|
19932
|
+
useEffect36(() => {
|
|
19902
19933
|
if (open && address) {
|
|
19903
19934
|
QRCode.toDataURL(address, {
|
|
19904
19935
|
width: 200,
|
|
@@ -19955,7 +19986,7 @@ function ReceiveMenu() {
|
|
|
19955
19986
|
/* @__PURE__ */ jsx86("span", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: t("passport:common.fingerprint") }),
|
|
19956
19987
|
/* @__PURE__ */ jsx86("span", { className: "font-mono text-sm font-semibold text-[var(--ui-kit-fg)]", children: fingerprint }),
|
|
19957
19988
|
/* @__PURE__ */ jsxs80("div", { className: "relative group", children: [
|
|
19958
|
-
/* @__PURE__ */ jsx86(
|
|
19989
|
+
/* @__PURE__ */ jsx86(Info4, { className: "w-3.5 h-3.5 text-[var(--ui-kit-fg-muted)] cursor-help" }),
|
|
19959
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" })
|
|
19960
19991
|
] }),
|
|
19961
19992
|
/* @__PURE__ */ jsx86(
|
|
@@ -20006,18 +20037,21 @@ var init_ReceiveMenu2 = __esm({
|
|
|
20006
20037
|
});
|
|
20007
20038
|
|
|
20008
20039
|
// src/internal/components/SecurityMenu/onboarding.setup.ts
|
|
20009
|
-
var
|
|
20040
|
+
var SECURITY_MENU_TOUR;
|
|
20010
20041
|
var init_onboarding_setup8 = __esm({
|
|
20011
20042
|
"src/internal/components/SecurityMenu/onboarding.setup.ts"() {
|
|
20012
|
-
|
|
20013
|
-
CONNECTED_APPS_TOUR = [
|
|
20043
|
+
SECURITY_MENU_TOUR = [
|
|
20014
20044
|
{
|
|
20015
|
-
elId: "embarkai-security-menu-
|
|
20016
|
-
title: "passport:securityMenu.onboarding.
|
|
20017
|
-
description: "passport:securityMenu.onboarding.
|
|
20018
|
-
}
|
|
20019
|
-
|
|
20020
|
-
|
|
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
|
+
},
|
|
20021
20055
|
{
|
|
20022
20056
|
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20023
20057
|
title: "passport:securityMenu.onboarding.keyshare.details.concept.title",
|
|
@@ -20043,39 +20077,11 @@ var init_onboarding_setup8 = __esm({
|
|
|
20043
20077
|
title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
|
|
20044
20078
|
description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
|
|
20045
20079
|
},
|
|
20046
|
-
...CONNECTED_APPS_TOUR
|
|
20047
|
-
];
|
|
20048
|
-
SECURITY_MENU_TOUR = [
|
|
20049
|
-
{
|
|
20050
|
-
elId: "embarkai-security-menu-onboarding" /* securityMenu */,
|
|
20051
|
-
title: "passport:securityMenu.onboarding.securityMenu.title",
|
|
20052
|
-
description: "passport:securityMenu.onboarding.securityMenu.description"
|
|
20053
|
-
},
|
|
20054
|
-
/** KEYSHARE */
|
|
20055
|
-
{
|
|
20056
|
-
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20057
|
-
title: "passport:securityMenu.onboarding.keyshare.title",
|
|
20058
|
-
description: "passport:securityMenu.onboarding.keyshare.description",
|
|
20059
|
-
actions: [
|
|
20060
|
-
{
|
|
20061
|
-
caption: "passport:securityMenu.onboarding.keyshare.detailsButton",
|
|
20062
|
-
onClick: () => {
|
|
20063
|
-
onboarder.endTour();
|
|
20064
|
-
setTimeout(() => onboarder.startTour(KEYSHARE_TOUR), 220);
|
|
20065
|
-
}
|
|
20066
|
-
},
|
|
20067
|
-
{
|
|
20068
|
-
caption: "passport:common.continue",
|
|
20069
|
-
onClick: () => onboarder.next()
|
|
20070
|
-
}
|
|
20071
|
-
]
|
|
20072
|
-
},
|
|
20073
20080
|
{
|
|
20074
|
-
elId: "embarkai-security-menu-
|
|
20075
|
-
title: "passport:securityMenu.onboarding.
|
|
20076
|
-
description: "passport:securityMenu.onboarding.
|
|
20077
|
-
}
|
|
20078
|
-
...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
|
+
}
|
|
20079
20085
|
];
|
|
20080
20086
|
}
|
|
20081
20087
|
});
|
|
@@ -20136,7 +20142,7 @@ var init_useConnectedApps = __esm({
|
|
|
20136
20142
|
// src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx
|
|
20137
20143
|
import dayjs5 from "dayjs";
|
|
20138
20144
|
import { AppWindowMac, ExternalLinkIcon as ExternalLinkIcon2, InfoIcon as InfoIcon4, LoaderIcon as LoaderIcon10, ShieldBanIcon, ShieldCheckIcon } from "lucide-react";
|
|
20139
|
-
import { useEffect as
|
|
20145
|
+
import { useEffect as useEffect37 } from "react";
|
|
20140
20146
|
import { Fragment as Fragment32, jsx as jsx87, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
20141
20147
|
function Application(props) {
|
|
20142
20148
|
const {
|
|
@@ -20236,7 +20242,7 @@ function Application(props) {
|
|
|
20236
20242
|
function ConnectedApps() {
|
|
20237
20243
|
const { t } = useT();
|
|
20238
20244
|
const { data: connectedApps = [], isLoading: isConnectedAppsLoading } = useConnectedApps();
|
|
20239
|
-
|
|
20245
|
+
useEffect37(() => {
|
|
20240
20246
|
if (!connectedApps.length || isConnectedAppsLoading) return;
|
|
20241
20247
|
useSecurityStore.getState().setRenderKey(`connected-apps-loaded-${Date.now()}`);
|
|
20242
20248
|
}, [connectedApps, isConnectedAppsLoading]);
|
|
@@ -20527,14 +20533,14 @@ var init_useKeyshareRecoveryStats = __esm({
|
|
|
20527
20533
|
|
|
20528
20534
|
// src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
|
|
20529
20535
|
import { Cloud as Cloud3, DatabaseBackupIcon, Laptop, LoaderIcon as LoaderIcon11, Server as Server2 } from "lucide-react";
|
|
20530
|
-
import { useEffect as
|
|
20536
|
+
import { useEffect as useEffect38 } from "react";
|
|
20531
20537
|
import { Fragment as Fragment34, jsx as jsx91, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
20532
20538
|
function Keyshare() {
|
|
20533
20539
|
const userId = useSession((st) => st?.session?.mpcUserId);
|
|
20534
20540
|
const { t } = useT();
|
|
20535
20541
|
const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
|
|
20536
20542
|
const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
|
|
20537
|
-
|
|
20543
|
+
useEffect38(() => {
|
|
20538
20544
|
if (!recoveryData?.keyshareInfo || isRecoveryLoading) return;
|
|
20539
20545
|
useSecurityStore.getState().setRenderKey(`keyshare-loaded-${Date.now()}`);
|
|
20540
20546
|
}, [recoveryData, isRecoveryLoading]);
|
|
@@ -20970,7 +20976,7 @@ var init_useBridgeStore = __esm({
|
|
|
20970
20976
|
// src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx
|
|
20971
20977
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
20972
20978
|
import { useMutation as useMutation19 } from "@tanstack/react-query";
|
|
20973
|
-
import { useEffect as
|
|
20979
|
+
import { useEffect as useEffect39, useRef as useRef16, useState as useState22 } from "react";
|
|
20974
20980
|
import { useSignMessage } from "wagmi";
|
|
20975
20981
|
import { jsx as jsx93, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
20976
20982
|
function SenderSelector(props) {
|
|
@@ -20986,7 +20992,7 @@ function SenderSelector(props) {
|
|
|
20986
20992
|
const bridgeSender = useBridgeStore((st) => st.bridgeSender);
|
|
20987
20993
|
const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
|
|
20988
20994
|
const [walletMessage, setWalletMessage] = useState22(null);
|
|
20989
|
-
|
|
20995
|
+
useEffect39(() => {
|
|
20990
20996
|
useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
|
|
20991
20997
|
}, [walletMessage]);
|
|
20992
20998
|
const { mutate: loginDirectWallet, isPending: isDirectWalletLoggingIn } = useMutation19({
|
|
@@ -21042,7 +21048,7 @@ function SenderSelector(props) {
|
|
|
21042
21048
|
setWalletMessage(error instanceof Error ? error.message : "Wallet login failed. Please try again.");
|
|
21043
21049
|
}
|
|
21044
21050
|
});
|
|
21045
|
-
|
|
21051
|
+
useEffect39(() => {
|
|
21046
21052
|
const pendingProfile = pendingWalletRef.current;
|
|
21047
21053
|
if (!pendingProfile || !directWalletIsConnected || !directWalletAddress) return;
|
|
21048
21054
|
if (directWalletAddress.toLowerCase() !== pendingProfile.externalId?.toLowerCase()) return;
|
|
@@ -21231,12 +21237,12 @@ var init_wallets = __esm({
|
|
|
21231
21237
|
});
|
|
21232
21238
|
|
|
21233
21239
|
// src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts
|
|
21234
|
-
import { useEffect as
|
|
21240
|
+
import { useEffect as useEffect40, useRef as useRef17 } from "react";
|
|
21235
21241
|
function useAvailableSenders() {
|
|
21236
21242
|
const address = useSession((st) => st.address);
|
|
21237
21243
|
const { profiles } = useLinkedProfiles();
|
|
21238
21244
|
const lastCalcedSenders = useRef17([]);
|
|
21239
|
-
|
|
21245
|
+
useEffect40(() => {
|
|
21240
21246
|
const sendersAccumulator = [
|
|
21241
21247
|
{
|
|
21242
21248
|
type: "embarkai-wallet",
|
|
@@ -21603,7 +21609,7 @@ var init_utils9 = __esm({
|
|
|
21603
21609
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts
|
|
21604
21610
|
import { useInfiniteQuery as useInfiniteQuery3 } from "@tanstack/react-query";
|
|
21605
21611
|
import { debounce as debounce7 } from "lodash-es";
|
|
21606
|
-
import { useCallback as useCallback26, useEffect as
|
|
21612
|
+
import { useCallback as useCallback26, useEffect as useEffect41, useMemo as useMemo13 } from "react";
|
|
21607
21613
|
function useHyperlaneHistory() {
|
|
21608
21614
|
const address = useSession((st) => st.address);
|
|
21609
21615
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -21619,7 +21625,7 @@ function useHyperlaneHistory() {
|
|
|
21619
21625
|
queryFn: async ({ pageParam }) => await getHyperlaneBridgeHistory({ page: pageParam, pageSize: TX_HISTORY_PAGE_SIZE })
|
|
21620
21626
|
});
|
|
21621
21627
|
const { data: txHistoryData, isLoading: isBridgeTxHistoryLoading } = query;
|
|
21622
|
-
const txList =
|
|
21628
|
+
const txList = useMemo13(
|
|
21623
21629
|
() => txHistoryData?.pages?.map((p) => p.data).flat(Infinity) || [],
|
|
21624
21630
|
[txHistoryData]
|
|
21625
21631
|
);
|
|
@@ -21629,7 +21635,7 @@ function useHyperlaneHistory() {
|
|
|
21629
21635
|
}, 250),
|
|
21630
21636
|
[]
|
|
21631
21637
|
);
|
|
21632
|
-
|
|
21638
|
+
useEffect41(() => {
|
|
21633
21639
|
if (isBridgeTxHistoryLoading || txList.length === 0) return;
|
|
21634
21640
|
updateExpandable();
|
|
21635
21641
|
}, [isBridgeTxHistoryLoading, txList]);
|
|
@@ -21869,7 +21875,7 @@ var init_useBridge = __esm({
|
|
|
21869
21875
|
|
|
21870
21876
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts
|
|
21871
21877
|
import { useQuery as useQuery20 } from "@tanstack/react-query";
|
|
21872
|
-
import { useEffect as
|
|
21878
|
+
import { useEffect as useEffect42 } from "react";
|
|
21873
21879
|
function useHyperlaneRoutes() {
|
|
21874
21880
|
const address = useSession((st) => st.address);
|
|
21875
21881
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -21889,7 +21895,7 @@ function useHyperlaneRoutes() {
|
|
|
21889
21895
|
return warpRoutes;
|
|
21890
21896
|
}
|
|
21891
21897
|
});
|
|
21892
|
-
|
|
21898
|
+
useEffect42(() => {
|
|
21893
21899
|
if (!errorWarpRoutes) return;
|
|
21894
21900
|
useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
|
|
21895
21901
|
const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
|
|
@@ -21898,7 +21904,7 @@ function useHyperlaneRoutes() {
|
|
|
21898
21904
|
setOriginChain(null);
|
|
21899
21905
|
setDestinationChain(null);
|
|
21900
21906
|
}, [errorWarpRoutes]);
|
|
21901
|
-
|
|
21907
|
+
useEffect42(() => {
|
|
21902
21908
|
if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
|
|
21903
21909
|
const warpRouteToAutoSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
|
|
21904
21910
|
if (!warpRouteToAutoSelect) return;
|
|
@@ -21931,13 +21937,13 @@ var init_useHyperlaneRoutes = __esm({
|
|
|
21931
21937
|
});
|
|
21932
21938
|
|
|
21933
21939
|
// src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts
|
|
21934
|
-
import { useEffect as
|
|
21940
|
+
import { useEffect as useEffect43 } from "react";
|
|
21935
21941
|
function useMenuTitle(warpRoutes) {
|
|
21936
21942
|
const { t } = useT();
|
|
21937
21943
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
21938
21944
|
const hyperRoute = useBridgeStore((st) => st.hyperRoute);
|
|
21939
21945
|
const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
|
|
21940
|
-
|
|
21946
|
+
useEffect43(() => {
|
|
21941
21947
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
21942
21948
|
switch (true) {
|
|
21943
21949
|
case bridgeStep === "sender-selector":
|
|
@@ -22138,7 +22144,7 @@ var init_ResolveChainIcon = __esm({
|
|
|
22138
22144
|
// src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
|
|
22139
22145
|
import { CHAINS_BROWSERS_TRANSPORTS as CHAINS_BROWSERS_TRANSPORTS2 } from "@embarkai/core";
|
|
22140
22146
|
import { useQuery as useQuery21, useQueryClient as useQueryClient23 } from "@tanstack/react-query";
|
|
22141
|
-
import { useCallback as useCallback28, useEffect as
|
|
22147
|
+
import { useCallback as useCallback28, useEffect as useEffect44 } from "react";
|
|
22142
22148
|
import { createPublicClient as createPublicClient2, erc20Abi as erc20Abi3, formatUnits as formatUnits8, http as http3 } from "viem";
|
|
22143
22149
|
import { useSwitchChain as useSwitchChain2 } from "wagmi";
|
|
22144
22150
|
function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
@@ -22244,7 +22250,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
22244
22250
|
},
|
|
22245
22251
|
[refreshBalances, qc]
|
|
22246
22252
|
);
|
|
22247
|
-
|
|
22253
|
+
useEffect44(() => {
|
|
22248
22254
|
if (!bridgeSender || !originChain) return;
|
|
22249
22255
|
switch (bridgeSender) {
|
|
22250
22256
|
case "embarkai-wallet":
|
|
@@ -22293,7 +22299,7 @@ var init_useBridgeBalance = __esm({
|
|
|
22293
22299
|
});
|
|
22294
22300
|
|
|
22295
22301
|
// src/internal/components/SendMenu/hyperbridge/steps/SelectStep.tsx
|
|
22296
|
-
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";
|
|
22297
22303
|
import { Fragment as Fragment36 } from "react";
|
|
22298
22304
|
import { Fragment as Fragment37, jsx as jsx97, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
22299
22305
|
function SelectStep(props) {
|
|
@@ -22522,7 +22528,7 @@ function SelectStep(props) {
|
|
|
22522
22528
|
e.stopPropagation();
|
|
22523
22529
|
useBridgeStore.getState().setRecipient(null);
|
|
22524
22530
|
},
|
|
22525
|
-
children: /* @__PURE__ */ jsx97(
|
|
22531
|
+
children: /* @__PURE__ */ jsx97(XIcon2, { className: "w-4 h-4" })
|
|
22526
22532
|
}
|
|
22527
22533
|
)
|
|
22528
22534
|
}
|
|
@@ -22568,7 +22574,7 @@ var init_SelectStep = __esm({
|
|
|
22568
22574
|
|
|
22569
22575
|
// src/internal/components/ui/checkbox.tsx
|
|
22570
22576
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
22571
|
-
import { CheckIcon as
|
|
22577
|
+
import { CheckIcon as CheckIcon2 } from "lucide-react";
|
|
22572
22578
|
import { jsx as jsx98 } from "react/jsx-runtime";
|
|
22573
22579
|
function Checkbox({ className, ...props }) {
|
|
22574
22580
|
return /* @__PURE__ */ jsx98(
|
|
@@ -22586,7 +22592,7 @@ function Checkbox({ className, ...props }) {
|
|
|
22586
22592
|
className
|
|
22587
22593
|
),
|
|
22588
22594
|
...props,
|
|
22589
|
-
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)]" }) })
|
|
22590
22596
|
}
|
|
22591
22597
|
);
|
|
22592
22598
|
}
|
|
@@ -23095,13 +23101,13 @@ var init_HistoryStep = __esm({
|
|
|
23095
23101
|
|
|
23096
23102
|
// src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx
|
|
23097
23103
|
import { ArrowLeftRightIcon as ArrowLeftRightIcon2 } from "lucide-react";
|
|
23098
|
-
import { useMemo as
|
|
23104
|
+
import { useMemo as useMemo14 } from "react";
|
|
23099
23105
|
import { jsx as jsx102, jsxs as jsxs94 } from "react/jsx-runtime";
|
|
23100
23106
|
function SelectAssetRoute(props) {
|
|
23101
23107
|
const { hyperlaneWarpRoutes } = props;
|
|
23102
23108
|
const { t } = useT();
|
|
23103
23109
|
const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
|
|
23104
|
-
const tokenList =
|
|
23110
|
+
const tokenList = useMemo14(() => {
|
|
23105
23111
|
const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
|
|
23106
23112
|
const uniqueTokens = Array.from(new Set(tokens));
|
|
23107
23113
|
return uniqueTokens.map((symbol) => ({
|
|
@@ -23205,7 +23211,7 @@ var init_steps = __esm({
|
|
|
23205
23211
|
});
|
|
23206
23212
|
|
|
23207
23213
|
// src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx
|
|
23208
|
-
import { useEffect as
|
|
23214
|
+
import { useEffect as useEffect45 } from "react";
|
|
23209
23215
|
import { jsx as jsx103, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
23210
23216
|
function HyperlaneBridge() {
|
|
23211
23217
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
@@ -23213,7 +23219,7 @@ function HyperlaneBridge() {
|
|
|
23213
23219
|
const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
|
|
23214
23220
|
const { directWalletProfile } = useAvailableSenders();
|
|
23215
23221
|
useMenuTitle(hyperlaneWarpRoutes);
|
|
23216
|
-
|
|
23222
|
+
useEffect45(() => {
|
|
23217
23223
|
return () => {
|
|
23218
23224
|
useBridgeStore.getState().resetSelections();
|
|
23219
23225
|
};
|
|
@@ -23368,7 +23374,7 @@ var init_useErc3643Compliance = __esm({
|
|
|
23368
23374
|
|
|
23369
23375
|
// src/hooks/useNicknameResolve.ts
|
|
23370
23376
|
import { useQuery as useQuery22 } from "@tanstack/react-query";
|
|
23371
|
-
import { useEffect as
|
|
23377
|
+
import { useEffect as useEffect46, useMemo as useMemo15, useState as useState24 } from "react";
|
|
23372
23378
|
function looksLikeNickname(input) {
|
|
23373
23379
|
if (!input) return false;
|
|
23374
23380
|
if (input.startsWith("0x")) return false;
|
|
@@ -23382,7 +23388,7 @@ function useNicknameResolve(input, options) {
|
|
|
23382
23388
|
const [isDebouncing, setIsDebouncing] = useState24(false);
|
|
23383
23389
|
const normalized = normalizeNickname(input);
|
|
23384
23390
|
const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
|
|
23385
|
-
|
|
23391
|
+
useEffect46(() => {
|
|
23386
23392
|
if (!isNicknameInput || !enabled) {
|
|
23387
23393
|
setDebouncedInput("");
|
|
23388
23394
|
setIsDebouncing(false);
|
|
@@ -23408,7 +23414,7 @@ function useNicknameResolve(input, options) {
|
|
|
23408
23414
|
const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
|
|
23409
23415
|
const isWalletNotSetup = !!query.data && query.data.resolvedTarget === null;
|
|
23410
23416
|
const isFrozen = query.data?.isFrozen ?? false;
|
|
23411
|
-
const fingerprintVerification =
|
|
23417
|
+
const fingerprintVerification = useMemo15(() => {
|
|
23412
23418
|
if (!query.data?.owner || !query.data?.fingerprint) {
|
|
23413
23419
|
return null;
|
|
23414
23420
|
}
|
|
@@ -23842,7 +23848,7 @@ var init_AssetList = __esm({
|
|
|
23842
23848
|
|
|
23843
23849
|
// src/internal/components/SendMenu/send/components/NicknameData.tsx
|
|
23844
23850
|
import { AtSign, CheckCircle2 as CheckCircle24, ShieldAlert, ShieldCheck as ShieldCheck2 } from "lucide-react";
|
|
23845
|
-
import { useEffect as
|
|
23851
|
+
import { useEffect as useEffect47 } from "react";
|
|
23846
23852
|
import { jsx as jsx108, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
23847
23853
|
function NicknameData(props) {
|
|
23848
23854
|
const { resolvedNicknameData, isNicknameInput } = props;
|
|
@@ -23855,11 +23861,11 @@ function NicknameData(props) {
|
|
|
23855
23861
|
isWalletNotSetup,
|
|
23856
23862
|
isFrozen
|
|
23857
23863
|
} = resolvedNicknameData;
|
|
23858
|
-
|
|
23864
|
+
useEffect47(() => {
|
|
23859
23865
|
if (!resolvedNicknameData?.data?.fingerprint || !isNicknameInput) return;
|
|
23860
23866
|
useFlowSelectorStore.getState().setRenderKey(`nickname-resolved-${Date.now()}`);
|
|
23861
23867
|
}, [resolvedNicknameData, isNicknameInput]);
|
|
23862
|
-
|
|
23868
|
+
useEffect47(() => {
|
|
23863
23869
|
if (isResolving) return;
|
|
23864
23870
|
let errMessage = null;
|
|
23865
23871
|
switch (true) {
|
|
@@ -24429,7 +24435,7 @@ var init_sendSteps = __esm({
|
|
|
24429
24435
|
|
|
24430
24436
|
// src/internal/components/SendMenu/send/SendMenu.tsx
|
|
24431
24437
|
import { CheckCircle2 as CheckCircle26, Loader as Loader27 } from "lucide-react";
|
|
24432
|
-
import { useEffect as
|
|
24438
|
+
import { useEffect as useEffect48, useMemo as useMemo16 } from "react";
|
|
24433
24439
|
import { parseUnits as parseUnits2 } from "viem";
|
|
24434
24440
|
import { Fragment as Fragment41, jsx as jsx111, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
24435
24441
|
function SendMenu() {
|
|
@@ -24450,16 +24456,16 @@ function SendMenu() {
|
|
|
24450
24456
|
userOpHash,
|
|
24451
24457
|
reset
|
|
24452
24458
|
} = useSendTransaction();
|
|
24453
|
-
|
|
24459
|
+
useEffect48(() => {
|
|
24454
24460
|
useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
|
|
24455
24461
|
}, [isAssetsLoading, isTransactionPending]);
|
|
24456
|
-
|
|
24462
|
+
useEffect48(() => {
|
|
24457
24463
|
useFlowSelectorStore.getState().setError(sendTransactionError || null);
|
|
24458
24464
|
}, [sendTransactionError]);
|
|
24459
24465
|
const { txStep, recipient, amount, selectedAsset, setSelectedAsset } = useSendStore();
|
|
24460
24466
|
const isNft = isNftAsset3(selectedAsset);
|
|
24461
24467
|
const isSecurity = isSecurityToken2(selectedAsset);
|
|
24462
|
-
|
|
24468
|
+
useEffect48(() => {
|
|
24463
24469
|
const shouldDefaultAsset = assets.length > 0 && !selectedAsset;
|
|
24464
24470
|
if (!shouldDefaultAsset) return;
|
|
24465
24471
|
const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
|
|
@@ -24469,7 +24475,7 @@ function SendMenu() {
|
|
|
24469
24475
|
if (isBalance(erc20)) return setSelectedAsset(erc20);
|
|
24470
24476
|
setSelectedAsset(assets[0]);
|
|
24471
24477
|
}, [assets, selectedAsset]);
|
|
24472
|
-
|
|
24478
|
+
useEffect48(
|
|
24473
24479
|
() => () => {
|
|
24474
24480
|
useSendStore.getState().reset();
|
|
24475
24481
|
reset();
|
|
@@ -24479,7 +24485,7 @@ function SendMenu() {
|
|
|
24479
24485
|
const isNicknameInput = looksLikeNickname(recipient);
|
|
24480
24486
|
const resolvedNicknameData = useNicknameResolve(recipient, { enabled: isNicknameInput, chainId: activeChainId });
|
|
24481
24487
|
const effectiveAddress = isNicknameInput ? resolvedNicknameData?.resolvedAddress : recipient;
|
|
24482
|
-
const complianceAmount =
|
|
24488
|
+
const complianceAmount = useMemo16(() => {
|
|
24483
24489
|
if (!isSecurity || !amount || !selectedAsset) return void 0;
|
|
24484
24490
|
try {
|
|
24485
24491
|
return parseUnits2(amount, selectedAsset.decimals || 18);
|
|
@@ -24494,7 +24500,7 @@ function SendMenu() {
|
|
|
24494
24500
|
enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
|
|
24495
24501
|
chainId: activeChainId
|
|
24496
24502
|
});
|
|
24497
|
-
|
|
24503
|
+
useEffect48(() => {
|
|
24498
24504
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
24499
24505
|
switch (true) {
|
|
24500
24506
|
case txStep === "select-asset":
|
|
@@ -24593,9 +24599,9 @@ var init_send = __esm({
|
|
|
24593
24599
|
|
|
24594
24600
|
// src/internal/components/SendMenu/useSendMenuParams.ts
|
|
24595
24601
|
import { keys as keys2 } from "lodash-es";
|
|
24596
|
-
import { useEffect as
|
|
24602
|
+
import { useEffect as useEffect49 } from "react";
|
|
24597
24603
|
function useSendMenuParams() {
|
|
24598
|
-
|
|
24604
|
+
useEffect49(() => {
|
|
24599
24605
|
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
24600
24606
|
if (!pageParams || !keys2(pageParams).length) return;
|
|
24601
24607
|
console.log("[SEND PARAMS]", pageParams);
|
|
@@ -24643,7 +24649,7 @@ var init_useSendMenuParams = __esm({
|
|
|
24643
24649
|
|
|
24644
24650
|
// src/internal/components/SendMenu/SendFlowSelector.tsx
|
|
24645
24651
|
import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2, InfoIcon as InfoIcon6 } from "lucide-react";
|
|
24646
|
-
import { useEffect as
|
|
24652
|
+
import { useEffect as useEffect50 } from "react";
|
|
24647
24653
|
import { jsx as jsx112, jsxs as jsxs103 } from "react/jsx-runtime";
|
|
24648
24654
|
function SelectorFlowButtons() {
|
|
24649
24655
|
const { t } = useT();
|
|
@@ -24706,7 +24712,7 @@ function SendFlowSelector() {
|
|
|
24706
24712
|
const sendStep = useSendStore((st) => st.txStep);
|
|
24707
24713
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
24708
24714
|
useOnboardingTourAvailable(sendStep === "input" && bridgeStep === "select");
|
|
24709
|
-
|
|
24715
|
+
useEffect50(
|
|
24710
24716
|
() => () => {
|
|
24711
24717
|
useFlowSelectorStore.getState().setError(null);
|
|
24712
24718
|
},
|
|
@@ -24902,7 +24908,7 @@ var init_onboarding_setup10 = __esm({
|
|
|
24902
24908
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
24903
24909
|
import { useQuery as useQuery24 } from "@tanstack/react-query";
|
|
24904
24910
|
import { ArrowLeft as ArrowLeft20, HardDrive as HardDrive3 } from "lucide-react";
|
|
24905
|
-
import { useEffect as
|
|
24911
|
+
import { useEffect as useEffect51 } from "react";
|
|
24906
24912
|
import { jsx as jsx113, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
24907
24913
|
function useSettingsButtons() {
|
|
24908
24914
|
const config = useProviderConfig().config;
|
|
@@ -24921,7 +24927,7 @@ function useSettingsButtons() {
|
|
|
24921
24927
|
if (proMode) {
|
|
24922
24928
|
settingsButtons.push({ id: "devices" /* DEVICES */, name: "passport:guardiansMenu.title", Icon: HardDrive3 });
|
|
24923
24929
|
}
|
|
24924
|
-
|
|
24930
|
+
useEffect51(() => {
|
|
24925
24931
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
24926
24932
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
24927
24933
|
return;
|
|
@@ -26144,7 +26150,7 @@ var init_PageMap = __esm({
|
|
|
26144
26150
|
});
|
|
26145
26151
|
|
|
26146
26152
|
// src/internal/hooks/usePageMapper.tsx
|
|
26147
|
-
import { useCallback as useCallback31, useEffect as
|
|
26153
|
+
import { useCallback as useCallback31, useEffect as useEffect52 } from "react";
|
|
26148
26154
|
import { jsx as jsx117 } from "react/jsx-runtime";
|
|
26149
26155
|
function usePageMapper() {
|
|
26150
26156
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -26177,7 +26183,7 @@ function usePageMapper() {
|
|
|
26177
26183
|
},
|
|
26178
26184
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
26179
26185
|
);
|
|
26180
|
-
|
|
26186
|
+
useEffect52(() => {
|
|
26181
26187
|
if (page === null) return closeDialog();
|
|
26182
26188
|
const pageItem = PAGE_MAP[page];
|
|
26183
26189
|
if (!pageItem) {
|
|
@@ -26200,20 +26206,20 @@ var init_usePageMapper = __esm({
|
|
|
26200
26206
|
});
|
|
26201
26207
|
|
|
26202
26208
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
26203
|
-
import { useEffect as
|
|
26209
|
+
import { useEffect as useEffect53 } from "react";
|
|
26204
26210
|
function useSettingsNotifications() {
|
|
26205
26211
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
26206
26212
|
const providers = jwtTokenManager2.getProviders();
|
|
26207
26213
|
const hasEmail = providers.includes("email");
|
|
26208
26214
|
const { data: userProfile = null } = useUserProfile();
|
|
26209
|
-
|
|
26215
|
+
useEffect53(() => {
|
|
26210
26216
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
26211
26217
|
setSettingsNotifications({
|
|
26212
26218
|
...COMPLETE_KYC_PROGRESS,
|
|
26213
26219
|
status: isKYCVerified ? "resolved" : "active"
|
|
26214
26220
|
});
|
|
26215
26221
|
}, [userProfile, setSettingsNotifications]);
|
|
26216
|
-
|
|
26222
|
+
useEffect53(() => {
|
|
26217
26223
|
setSettingsNotifications({
|
|
26218
26224
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
26219
26225
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -26245,7 +26251,7 @@ var init_package = __esm({
|
|
|
26245
26251
|
"package.json"() {
|
|
26246
26252
|
package_default = {
|
|
26247
26253
|
name: "@embarkai/ui-kit",
|
|
26248
|
-
version: "0.4.
|
|
26254
|
+
version: "0.4.77",
|
|
26249
26255
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
26250
26256
|
type: "module",
|
|
26251
26257
|
main: "./dist/index.cjs",
|
|
@@ -26556,7 +26562,7 @@ var init_onborading_setup = __esm({
|
|
|
26556
26562
|
},
|
|
26557
26563
|
["receive" /* RECEIVE */]: () => RECEIVE_MENU_TOUR,
|
|
26558
26564
|
["security" /* SECURITY */]: () => SECURITY_MENU_TOUR,
|
|
26559
|
-
["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,
|
|
26560
26566
|
["transactions" /* TRANSACTIONS */]: () => TRANSACTIONS_MENU_TOUR,
|
|
26561
26567
|
["nickname-settings" /* NICKNAME_SETTINGS */]: () => NICKNAME_MENU_TOUR,
|
|
26562
26568
|
["manage-wallet" /* MANAGE_WALLET */]: () => MANAGE_WALLET_MENU_TOUR,
|
|
@@ -26679,7 +26685,7 @@ function Header() {
|
|
|
26679
26685
|
size: "small",
|
|
26680
26686
|
variant: "ghost",
|
|
26681
26687
|
className: "text-[10px] px-2",
|
|
26682
|
-
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]()),
|
|
26688
|
+
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]({ config: config.current })),
|
|
26683
26689
|
children: /* @__PURE__ */ jsx119(CircleQuestionMarkIcon2, { className: "w-4 h-4" })
|
|
26684
26690
|
}
|
|
26685
26691
|
)
|
|
@@ -26904,7 +26910,7 @@ var init_visually_hidden = __esm({
|
|
|
26904
26910
|
|
|
26905
26911
|
// src/internal/components/Dialog/Dialog.tsx
|
|
26906
26912
|
import { AnimatePresence, motion } from "framer-motion";
|
|
26907
|
-
import { useEffect as
|
|
26913
|
+
import { useEffect as useEffect54 } from "react";
|
|
26908
26914
|
import { jsx as jsx122, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
26909
26915
|
function Dialog2() {
|
|
26910
26916
|
const config = useProviderConfig().config;
|
|
@@ -26916,7 +26922,7 @@ function Dialog2() {
|
|
|
26916
26922
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
26917
26923
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
26918
26924
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
26919
|
-
|
|
26925
|
+
useEffect54(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
26920
26926
|
usePageMapper();
|
|
26921
26927
|
useAutoConnect();
|
|
26922
26928
|
useBackupStatusChanges();
|
|
@@ -26993,7 +26999,7 @@ var init_Dialog2 = __esm({
|
|
|
26993
26999
|
});
|
|
26994
27000
|
|
|
26995
27001
|
// src/internal/components/DirectWalletHandler.tsx
|
|
26996
|
-
import { useEffect as
|
|
27002
|
+
import { useEffect as useEffect55 } from "react";
|
|
26997
27003
|
import { useAccount } from "wagmi";
|
|
26998
27004
|
function DirectWalletHandler() {
|
|
26999
27005
|
const walletMode = useProviderConfig().config.current?.wallet?.mode || "linked";
|
|
@@ -27005,13 +27011,13 @@ function DirectWalletHandler() {
|
|
|
27005
27011
|
const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
|
|
27006
27012
|
const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
|
|
27007
27013
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
27008
|
-
|
|
27014
|
+
useEffect55(() => {
|
|
27009
27015
|
setConfigMode(walletMode);
|
|
27010
27016
|
if (walletMode !== "both") {
|
|
27011
27017
|
setActiveMode(walletMode);
|
|
27012
27018
|
}
|
|
27013
27019
|
}, [walletMode, setConfigMode, setActiveMode]);
|
|
27014
|
-
|
|
27020
|
+
useEffect55(() => {
|
|
27015
27021
|
if (isConnected && address && !isExternalConnected && connector && chain?.id) {
|
|
27016
27022
|
setExternalWallet({
|
|
27017
27023
|
address,
|
|
@@ -27020,17 +27026,17 @@ function DirectWalletHandler() {
|
|
|
27020
27026
|
});
|
|
27021
27027
|
}
|
|
27022
27028
|
}, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
|
|
27023
|
-
|
|
27029
|
+
useEffect55(() => {
|
|
27024
27030
|
if (isExternalConnected && !isConnected) {
|
|
27025
27031
|
clearExternalWallet();
|
|
27026
27032
|
}
|
|
27027
27033
|
}, [isConnected, isExternalConnected, clearExternalWallet]);
|
|
27028
|
-
|
|
27034
|
+
useEffect55(() => {
|
|
27029
27035
|
if (isExternalConnected && isConnected && chain?.id) {
|
|
27030
27036
|
setExternalChainId(chain.id);
|
|
27031
27037
|
}
|
|
27032
27038
|
}, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
|
|
27033
|
-
|
|
27039
|
+
useEffect55(() => {
|
|
27034
27040
|
if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
|
|
27035
27041
|
setExternalWallet({
|
|
27036
27042
|
address,
|
|
@@ -27105,7 +27111,7 @@ var init_TssManager = __esm({
|
|
|
27105
27111
|
// src/internal/components/WalletConnectHandler.tsx
|
|
27106
27112
|
import { useConnectModal as useConnectModal2 } from "@rainbow-me/rainbowkit";
|
|
27107
27113
|
import { useMutation as useMutation23, useQueryClient as useQueryClient27 } from "@tanstack/react-query";
|
|
27108
|
-
import React28, { useCallback as useCallback34, useEffect as
|
|
27114
|
+
import React28, { useCallback as useCallback34, useEffect as useEffect56 } from "react";
|
|
27109
27115
|
import { useAccount as useAccount2, useDisconnect as useDisconnect4, useSignMessage as useSignMessage2 } from "wagmi";
|
|
27110
27116
|
function WalletConnectHandler() {
|
|
27111
27117
|
const qc = useQueryClient27();
|
|
@@ -27160,7 +27166,7 @@ function WalletConnectHandler() {
|
|
|
27160
27166
|
const [hasStartedLinking, setHasStartedLinking] = React28.useState(false);
|
|
27161
27167
|
const [modalWasOpened, setModalWasOpened] = React28.useState(false);
|
|
27162
27168
|
const [pendingModalOpen, setPendingModalOpen] = React28.useState(false);
|
|
27163
|
-
|
|
27169
|
+
useEffect56(() => {
|
|
27164
27170
|
if (isWalletLinking && !hasStartedLinking) {
|
|
27165
27171
|
console.log("[WalletConnectHandler] Starting wallet link flow:", {
|
|
27166
27172
|
isConnected,
|
|
@@ -27198,18 +27204,18 @@ function WalletConnectHandler() {
|
|
|
27198
27204
|
setProviderType,
|
|
27199
27205
|
walletMode
|
|
27200
27206
|
]);
|
|
27201
|
-
|
|
27207
|
+
useEffect56(() => {
|
|
27202
27208
|
if (pendingModalOpen && !isConnected && openConnectModal) {
|
|
27203
27209
|
setPendingModalOpen(false);
|
|
27204
27210
|
openConnectModal();
|
|
27205
27211
|
}
|
|
27206
27212
|
}, [pendingModalOpen, isConnected, openConnectModal]);
|
|
27207
|
-
|
|
27213
|
+
useEffect56(() => {
|
|
27208
27214
|
if (connectModalOpen && hasStartedLinking) {
|
|
27209
27215
|
setModalWasOpened(true);
|
|
27210
27216
|
}
|
|
27211
27217
|
}, [connectModalOpen, hasStartedLinking]);
|
|
27212
|
-
|
|
27218
|
+
useEffect56(() => {
|
|
27213
27219
|
if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
27214
27220
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
27215
27221
|
onLinkingComplete(false);
|
|
@@ -27217,7 +27223,7 @@ function WalletConnectHandler() {
|
|
|
27217
27223
|
setModalWasOpened(false);
|
|
27218
27224
|
}
|
|
27219
27225
|
}, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
|
|
27220
|
-
|
|
27226
|
+
useEffect56(() => {
|
|
27221
27227
|
if (isWalletLinking) {
|
|
27222
27228
|
const timeout = setTimeout(() => {
|
|
27223
27229
|
console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
|
|
@@ -27337,7 +27343,7 @@ function WalletConnectHandler() {
|
|
|
27337
27343
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
27338
27344
|
}
|
|
27339
27345
|
});
|
|
27340
|
-
|
|
27346
|
+
useEffect56(() => {
|
|
27341
27347
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
|
|
27342
27348
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
27343
27349
|
if (!passportWalletAddress) {
|
|
@@ -27347,7 +27353,7 @@ function WalletConnectHandler() {
|
|
|
27347
27353
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
27348
27354
|
}
|
|
27349
27355
|
}, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
|
|
27350
|
-
|
|
27356
|
+
useEffect56(() => {
|
|
27351
27357
|
if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
|
|
27352
27358
|
const timeout = setTimeout(() => {
|
|
27353
27359
|
console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
|
|
@@ -30126,14 +30132,14 @@ var init_rainbowkit = __esm({
|
|
|
30126
30132
|
|
|
30127
30133
|
// src/context/RainbowKitContext.tsx
|
|
30128
30134
|
import { darkTheme, lightTheme, RainbowKitProvider as NativeRainbowKitProvider } from "@rainbow-me/rainbowkit";
|
|
30129
|
-
import { useMemo as
|
|
30135
|
+
import { useMemo as useMemo17 } from "react";
|
|
30130
30136
|
import { WagmiProvider } from "wagmi";
|
|
30131
30137
|
import "@rainbow-me/rainbowkit/styles.css";
|
|
30132
30138
|
import { Fragment as Fragment45, jsx as jsx124 } from "react/jsx-runtime";
|
|
30133
30139
|
function RainbowKitProvider({ children }) {
|
|
30134
30140
|
const config = useProviderConfig().config;
|
|
30135
30141
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
30136
|
-
const rainbowConfig =
|
|
30142
|
+
const rainbowConfig = useMemo17(
|
|
30137
30143
|
() => createRainbowConfig({
|
|
30138
30144
|
projectId: config.current?.wallet?.walletConnectProjectId,
|
|
30139
30145
|
allowedWallets: config.current?.wallet?.allowedWallets,
|
|
@@ -30147,7 +30153,7 @@ function RainbowKitProvider({ children }) {
|
|
|
30147
30153
|
config.current?.wallet?.walletConnectProjectId
|
|
30148
30154
|
]
|
|
30149
30155
|
);
|
|
30150
|
-
const customTheme =
|
|
30156
|
+
const customTheme = useMemo17(() => {
|
|
30151
30157
|
if (!config.current?.wallet?.enabled) return {};
|
|
30152
30158
|
return colorMode === "dark" ? {
|
|
30153
30159
|
...darkTheme(),
|
|
@@ -30207,8 +30213,8 @@ import {
|
|
|
30207
30213
|
createContext,
|
|
30208
30214
|
useCallback as useCallback35,
|
|
30209
30215
|
useContext,
|
|
30210
|
-
useEffect as
|
|
30211
|
-
useMemo as
|
|
30216
|
+
useEffect as useEffect57,
|
|
30217
|
+
useMemo as useMemo18,
|
|
30212
30218
|
useRef as useRef20
|
|
30213
30219
|
} from "react";
|
|
30214
30220
|
import { jsx as jsx126 } from "react/jsx-runtime";
|
|
@@ -30230,7 +30236,7 @@ function clearLegacyWagmiStorage() {
|
|
|
30230
30236
|
function Provider(props) {
|
|
30231
30237
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
30232
30238
|
const callbacksRef = useRef20(callbacks);
|
|
30233
|
-
|
|
30239
|
+
useEffect57(() => notifyNoProjetctId(projectId), [projectId]);
|
|
30234
30240
|
const config = useRef20(merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
30235
30241
|
const updateConfig = useCallback35((updates) => {
|
|
30236
30242
|
const prev = config.current;
|
|
@@ -30271,7 +30277,7 @@ function Provider(props) {
|
|
|
30271
30277
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
30272
30278
|
callbacksRef.current = next;
|
|
30273
30279
|
}, []);
|
|
30274
|
-
|
|
30280
|
+
useEffect57(() => {
|
|
30275
30281
|
if (typeof window === "undefined" || !projectId) return;
|
|
30276
30282
|
const mergedConfig = merge3(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
30277
30283
|
updateConfig(mergedConfig);
|
|
@@ -30291,7 +30297,7 @@ function Provider(props) {
|
|
|
30291
30297
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
30292
30298
|
}
|
|
30293
30299
|
}, [projectId, initialConfig]);
|
|
30294
|
-
|
|
30300
|
+
useEffect57(() => {
|
|
30295
30301
|
if (typeof window === "undefined" || !projectId) return;
|
|
30296
30302
|
try {
|
|
30297
30303
|
initSdkErrorTracking();
|
|
@@ -30320,7 +30326,7 @@ function Provider(props) {
|
|
|
30320
30326
|
console.error("[PROVIDER] Error setting up iframe manager:", error);
|
|
30321
30327
|
}
|
|
30322
30328
|
}, [projectId]);
|
|
30323
|
-
const contextValue =
|
|
30329
|
+
const contextValue = useMemo18(
|
|
30324
30330
|
() => ({
|
|
30325
30331
|
config,
|
|
30326
30332
|
updateConfig,
|
|
@@ -30360,7 +30366,7 @@ var init_ProviderContext = __esm({
|
|
|
30360
30366
|
});
|
|
30361
30367
|
|
|
30362
30368
|
// src/styles/built.css
|
|
30363
|
-
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}`;
|
|
30364
30370
|
|
|
30365
30371
|
// src/index.ts
|
|
30366
30372
|
init_ProviderContext();
|
|
@@ -30380,7 +30386,7 @@ init_useLayoutStore();
|
|
|
30380
30386
|
init_pro_mode();
|
|
30381
30387
|
init_utils2();
|
|
30382
30388
|
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader31, Shield as Shield3 } from "lucide-react";
|
|
30383
|
-
import { useEffect as
|
|
30389
|
+
import { useEffect as useEffect58, useMemo as useMemo19 } from "react";
|
|
30384
30390
|
import { Fragment as Fragment46, jsx as jsx127, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
30385
30391
|
function getFormattedStatus(label, status, showStatus) {
|
|
30386
30392
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
@@ -30400,10 +30406,10 @@ function ConnectWalletButton(props) {
|
|
|
30400
30406
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
30401
30407
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
30402
30408
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
30403
|
-
|
|
30409
|
+
useEffect58(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
30404
30410
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
30405
30411
|
const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
|
|
30406
|
-
const indicators =
|
|
30412
|
+
const indicators = useMemo19(() => {
|
|
30407
30413
|
const userId = session?.mpcUserId;
|
|
30408
30414
|
if (!userId) return { server: false, local: false, backup: false };
|
|
30409
30415
|
const server = jwtTokenManager2.getHasKeyshare() ?? false;
|
|
@@ -31046,13 +31052,13 @@ var Hash = ({
|
|
|
31046
31052
|
|
|
31047
31053
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
31048
31054
|
init_base2();
|
|
31049
|
-
import { useEffect as
|
|
31055
|
+
import { useEffect as useEffect60, useState as useState32 } from "react";
|
|
31050
31056
|
import { jsx as jsx133, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
31051
31057
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
31052
31058
|
const [transactions, setTransactions] = useState32([]);
|
|
31053
31059
|
const [loading, setLoading] = useState32(true);
|
|
31054
31060
|
const [error, setError] = useState32(null);
|
|
31055
|
-
|
|
31061
|
+
useEffect60(() => {
|
|
31056
31062
|
const fetchTransactions2 = async () => {
|
|
31057
31063
|
try {
|
|
31058
31064
|
setLoading(true);
|
|
@@ -31459,7 +31465,7 @@ function useSendDirectTransaction() {
|
|
|
31459
31465
|
init_SessionContext();
|
|
31460
31466
|
init_account2();
|
|
31461
31467
|
init_linkedProfiles();
|
|
31462
|
-
import { useCallback as useCallback41, useMemo as
|
|
31468
|
+
import { useCallback as useCallback41, useMemo as useMemo20, useState as useState35 } from "react";
|
|
31463
31469
|
import { encodeFunctionData as encodeFunctionData3, isAddress as isAddress4, parseEther as parseEther4, parseUnits as parseUnits3 } from "viem";
|
|
31464
31470
|
var ERC20_TRANSFER_ABI2 = [
|
|
31465
31471
|
{
|
|
@@ -31478,7 +31484,7 @@ function useTransferToLinkedWallet() {
|
|
|
31478
31484
|
const [isPending, setIsPending] = useState35(false);
|
|
31479
31485
|
const [error, setError] = useState35(null);
|
|
31480
31486
|
const [userOpHash, setUserOpHash] = useState35(null);
|
|
31481
|
-
const linkedWallets =
|
|
31487
|
+
const linkedWallets = useMemo20(
|
|
31482
31488
|
() => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
|
|
31483
31489
|
[profiles]
|
|
31484
31490
|
);
|