@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.cjs
CHANGED
|
@@ -5853,7 +5853,7 @@ var init_en = __esm({
|
|
|
5853
5853
|
},
|
|
5854
5854
|
nicknameMenu: {
|
|
5855
5855
|
title: "Nickname",
|
|
5856
|
-
yourNickname: "Your
|
|
5856
|
+
yourNickname: "Your nickname",
|
|
5857
5857
|
cooldownMessage: "You can change your nickname again on {{canChangeAt}} ({{days}} days remained)",
|
|
5858
5858
|
lastChanged: "Last changed",
|
|
5859
5859
|
timesChanged: "Times changed",
|
|
@@ -5875,7 +5875,8 @@ var init_en = __esm({
|
|
|
5875
5875
|
alreadyYourNickname: "This is already your nickname",
|
|
5876
5876
|
checkingAvailability: "Checking availability...",
|
|
5877
5877
|
nicknameAvailable: "Nickname is available",
|
|
5878
|
-
nicknameNotAvailable: "This nickname is not available"
|
|
5878
|
+
nicknameNotAvailable: "This nickname is not available",
|
|
5879
|
+
nicknameChanged: "Nickname has been changed"
|
|
5879
5880
|
},
|
|
5880
5881
|
initialUser: {
|
|
5881
5882
|
welcome: "Your nickname is set as {{nickname}}",
|
|
@@ -6418,7 +6419,8 @@ var init_ru = __esm({
|
|
|
6418
6419
|
alreadyYourNickname: "\u042D\u0442\u043E \u0443\u0436\u0435 \u0432\u0430\u0448 \u043D\u0438\u043A\u043D\u0435\u0439\u043C",
|
|
6419
6420
|
checkingAvailability: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0441\u0442\u0438...",
|
|
6420
6421
|
nicknameAvailable: "\u041D\u0438\u043A\u043D\u0435\u0439\u043C \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",
|
|
6421
|
-
nicknameNotAvailable: "\u042D\u0442\u043E\u0442 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D"
|
|
6422
|
+
nicknameNotAvailable: "\u042D\u0442\u043E\u0442 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",
|
|
6423
|
+
nicknameChanged: "\u041D\u0438\u043A\u043D\u0435\u0439\u043C \u0431\u044B\u043B \u0438\u0437\u043C\u0435\u043D\u0435\u043D"
|
|
6422
6424
|
},
|
|
6423
6425
|
initialUser: {
|
|
6424
6426
|
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}}",
|
|
@@ -6961,7 +6963,8 @@ var init_zh = __esm({
|
|
|
6961
6963
|
alreadyYourNickname: "\u6B64\u6635\u79F0\u5DF2\u662F\u60A8\u7684\u6635\u79F0",
|
|
6962
6964
|
checkingAvailability: "\u6B63\u5728\u68C0\u67E5\u53EF\u7528\u6027...",
|
|
6963
6965
|
nicknameAvailable: "\u6635\u79F0\u53EF\u7528",
|
|
6964
|
-
nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528"
|
|
6966
|
+
nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528",
|
|
6967
|
+
nicknameChanged: "\u6635\u79F0\u5DF2\u66F4\u6539"
|
|
6965
6968
|
},
|
|
6966
6969
|
initialUser: {
|
|
6967
6970
|
welcome: "\u60A8\u7684\u6635\u79F0\u5DF2\u8BBE\u7F6E\u4E3A {{nickname}}",
|
|
@@ -9123,7 +9126,7 @@ var init_onboarder = __esm({
|
|
|
9123
9126
|
const elementRef = this.elements.get(elId)?.deref();
|
|
9124
9127
|
if (!elementRef) return;
|
|
9125
9128
|
const { x, y, width, height } = elementRef.getBoundingClientRect();
|
|
9126
|
-
elementRef.scrollIntoView({ behavior: "smooth", block: "
|
|
9129
|
+
elementRef.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
9127
9130
|
useOnboardingStore.getState().setElRect({ x, y, width, height });
|
|
9128
9131
|
}, 200);
|
|
9129
9132
|
});
|
|
@@ -9141,7 +9144,7 @@ var init_onboarder = __esm({
|
|
|
9141
9144
|
elRectData = elementRef.getBoundingClientRect();
|
|
9142
9145
|
} else {
|
|
9143
9146
|
elRectData = element.getBoundingClientRect();
|
|
9144
|
-
element.scrollIntoView({ behavior: "smooth", block: "
|
|
9147
|
+
element.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
9145
9148
|
}
|
|
9146
9149
|
useOnboardingStore.getState().setElRect(elRectData);
|
|
9147
9150
|
}
|
|
@@ -9204,9 +9207,9 @@ var init_onboarder = __esm({
|
|
|
9204
9207
|
if (!this.tour) return null;
|
|
9205
9208
|
return this.tour[this.tourPointer];
|
|
9206
9209
|
}
|
|
9207
|
-
|
|
9208
|
-
|
|
9209
|
-
}
|
|
9210
|
+
// getCurrentTargetElement(): HTMLElement | null {
|
|
9211
|
+
// return this.elements.get(this.tour[this.tourPointer]?.elId)?.deref() || null
|
|
9212
|
+
// }
|
|
9210
9213
|
};
|
|
9211
9214
|
onboarder = new Onboarder();
|
|
9212
9215
|
}
|
|
@@ -9214,62 +9217,28 @@ var init_onboarder = __esm({
|
|
|
9214
9217
|
|
|
9215
9218
|
// src/internal/components/Onboarding/OnboardingOverlay.tsx
|
|
9216
9219
|
function getTooltipXPos(params) {
|
|
9217
|
-
const { x, width, isMobileView
|
|
9218
|
-
const
|
|
9219
|
-
const
|
|
9220
|
-
const
|
|
9221
|
-
const
|
|
9222
|
-
const
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
if (
|
|
9226
|
-
|
|
9227
|
-
isOverflowX: true,
|
|
9228
|
-
width: ttWidth,
|
|
9229
|
-
x: x - (ttEndX - window.innerWidth) - 2 * expandValue
|
|
9230
|
-
// unstick tooltip from window right edge
|
|
9231
|
-
};
|
|
9232
|
-
}
|
|
9233
|
-
if (isTTOverflowsFrame) {
|
|
9234
|
-
const calcedX = x - ttShiftX - ttWidth / 2 + frameWidth / 2;
|
|
9235
|
-
return {
|
|
9236
|
-
isOverflowX: true,
|
|
9237
|
-
width: ttWidth,
|
|
9238
|
-
x: calcedX < expandValue ? expandValue : calcedX
|
|
9239
|
-
};
|
|
9240
|
-
}
|
|
9241
|
-
return {
|
|
9242
|
-
isOverflowX: isTTOverflowsFrame || isTTOverflowsWindow,
|
|
9243
|
-
width: ttWidth,
|
|
9244
|
-
x: x - ttShiftX
|
|
9245
|
-
};
|
|
9220
|
+
const { x, width, isMobileView } = params;
|
|
9221
|
+
const frameWidth = isMobileView ? width : width + 2 * EXPAND;
|
|
9222
|
+
const ttWidth = isMobileView ? window.innerWidth - 2 * EXPAND : Math.max(frameWidth, TOOLTIP_MIN_WIDTH);
|
|
9223
|
+
const ttCenterPosX = x + width / 2;
|
|
9224
|
+
const ttExpectedStartX = ttCenterPosX - ttWidth / 2;
|
|
9225
|
+
const ttExpectedEndX = ttCenterPosX + ttWidth / 2;
|
|
9226
|
+
let ttTargetStartX = ttExpectedStartX;
|
|
9227
|
+
if (ttExpectedStartX < EXPAND) ttTargetStartX = EXPAND;
|
|
9228
|
+
if (ttExpectedEndX > window.innerWidth - EXPAND) ttTargetStartX = window.innerWidth - EXPAND - ttWidth;
|
|
9229
|
+
return { width: ttWidth, x: ttTargetStartX };
|
|
9246
9230
|
}
|
|
9247
9231
|
function getTooltipYPos(params) {
|
|
9248
|
-
const { y, height, isMobileView
|
|
9249
|
-
|
|
9250
|
-
const
|
|
9232
|
+
const { y, height, isMobileView } = params;
|
|
9233
|
+
const topPosY = y - EXPAND * 2 - TOP_POS_OFFSET;
|
|
9234
|
+
const targetBottomY = y + height + EXPAND * 2;
|
|
9235
|
+
const bottomPosY = Math.min(targetBottomY, window.innerHeight - EXPAND - TOP_POS_OFFSET);
|
|
9251
9236
|
const isTopPos = isMobileView && topPosY >= EXPAND;
|
|
9252
|
-
return {
|
|
9253
|
-
isTopPos,
|
|
9254
|
-
isOverflowY: topPosY < EXPAND,
|
|
9255
|
-
y: isTopPos ? topPosY : bottomPosY
|
|
9256
|
-
// topPosY >= EXPAND - unstick tooltip from window top edge
|
|
9257
|
-
};
|
|
9237
|
+
return { isTopPos, y: isTopPos ? topPosY : bottomPosY };
|
|
9258
9238
|
}
|
|
9259
9239
|
function OnboardingOverlay() {
|
|
9260
9240
|
const { t } = useT();
|
|
9261
9241
|
const page = useLayoutDataStore((st) => st.page);
|
|
9262
|
-
const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
|
|
9263
|
-
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
9264
|
-
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
9265
|
-
const { elRect, mountIntoNode } = useOnboardingStore();
|
|
9266
|
-
const {
|
|
9267
|
-
actions: tourStepActions = [],
|
|
9268
|
-
waitSecs = null,
|
|
9269
|
-
title,
|
|
9270
|
-
description,
|
|
9271
|
-
forced = false
|
|
9272
|
-
} = onboarder.getCurrentStep() || {};
|
|
9273
9242
|
(0, import_react21.useEffect)(() => {
|
|
9274
9243
|
setTimeout(() => {
|
|
9275
9244
|
if (!page) {
|
|
@@ -9284,17 +9253,28 @@ function OnboardingOverlay() {
|
|
|
9284
9253
|
useOnboardingStore.getState().setMountIntoNode(embarkUIContainer);
|
|
9285
9254
|
}, 0);
|
|
9286
9255
|
}, [page]);
|
|
9256
|
+
const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
|
|
9257
|
+
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
9258
|
+
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
9259
|
+
const { elRect, mountIntoNode } = useOnboardingStore();
|
|
9287
9260
|
const [continueCountdown, setContinueCountdown] = (0, import_react21.useState)(null);
|
|
9288
|
-
const
|
|
9289
|
-
|
|
9290
|
-
|
|
9291
|
-
|
|
9292
|
-
|
|
9293
|
-
|
|
9294
|
-
|
|
9295
|
-
|
|
9296
|
-
|
|
9297
|
-
|
|
9261
|
+
const {
|
|
9262
|
+
actions: tourStepActions = [],
|
|
9263
|
+
waitSecs = null,
|
|
9264
|
+
title,
|
|
9265
|
+
description,
|
|
9266
|
+
forced = false
|
|
9267
|
+
} = onboarder.getCurrentStep() || {};
|
|
9268
|
+
const position = (0, import_react21.useMemo)(() => {
|
|
9269
|
+
const posParams = {
|
|
9270
|
+
x: elRect.x,
|
|
9271
|
+
y: elRect.y,
|
|
9272
|
+
width: elRect.width,
|
|
9273
|
+
height: elRect.height,
|
|
9274
|
+
isMobileView
|
|
9275
|
+
};
|
|
9276
|
+
return { ...getTooltipXPos(posParams), ...getTooltipYPos(posParams) };
|
|
9277
|
+
}, [elRect, isMobileView]);
|
|
9298
9278
|
(0, import_react21.useEffect)(() => {
|
|
9299
9279
|
if (!waitSecs) return;
|
|
9300
9280
|
setContinueCountdown(waitSecs);
|
|
@@ -9321,6 +9301,7 @@ function OnboardingOverlay() {
|
|
|
9321
9301
|
style: { zIndex: isOnboarding ? 1e4 : -9999 },
|
|
9322
9302
|
className: cn(
|
|
9323
9303
|
"embarkai-ui-scope",
|
|
9304
|
+
// with data-current-theme-mode will provide full embark cssv set
|
|
9324
9305
|
"overflow-hidden pointer-events-auto",
|
|
9325
9306
|
"fixed left-0 top-0",
|
|
9326
9307
|
isOnboarding ? "w-[100dvw] h-[100dvh]" : "w-0 h-0"
|
|
@@ -9346,10 +9327,10 @@ function OnboardingOverlay() {
|
|
|
9346
9327
|
fill: "black",
|
|
9347
9328
|
style: {
|
|
9348
9329
|
transition: "x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease",
|
|
9349
|
-
x: elRect.x -
|
|
9350
|
-
y: elRect.y -
|
|
9351
|
-
width: elRect.width +
|
|
9352
|
-
height: elRect.height +
|
|
9330
|
+
x: elRect.x - EXPAND,
|
|
9331
|
+
y: elRect.y - EXPAND,
|
|
9332
|
+
width: elRect.width + EXPAND * 2,
|
|
9333
|
+
height: elRect.height + EXPAND * 2
|
|
9353
9334
|
}
|
|
9354
9335
|
}
|
|
9355
9336
|
)
|
|
@@ -9368,14 +9349,14 @@ function OnboardingOverlay() {
|
|
|
9368
9349
|
"overflow-hidden"
|
|
9369
9350
|
),
|
|
9370
9351
|
style: {
|
|
9371
|
-
willChange: "top, left, width, height
|
|
9352
|
+
willChange: "top, left, width, height",
|
|
9372
9353
|
width: isOnboarding ? position.width : 0,
|
|
9373
9354
|
height: isOnboarding ? "auto" : 0,
|
|
9374
9355
|
top: isOnboarding ? position.y : window.innerHeight / 2,
|
|
9375
9356
|
left: isOnboarding ? position.x : window.innerWidth / 2,
|
|
9376
9357
|
transition: "top 0.3s ease, left 0.3s ease, width 0.3s ease",
|
|
9377
9358
|
transform: position.isTopPos ? `translateY(calc(-100% + ${TOP_POS_OFFSET}px))` : "translateY(0)",
|
|
9378
|
-
borderRadius:
|
|
9359
|
+
borderRadius: "var(--ui-kit-bdrs)"
|
|
9379
9360
|
},
|
|
9380
9361
|
children: [
|
|
9381
9362
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "font-bold", children: t(title) }),
|
|
@@ -9385,16 +9366,12 @@ function OnboardingOverlay() {
|
|
|
9385
9366
|
{
|
|
9386
9367
|
size: "small",
|
|
9387
9368
|
variant: "ghost",
|
|
9369
|
+
className: "absolute top-1 right-1 text-[var(--ui-kit-success)]",
|
|
9388
9370
|
onClick: () => {
|
|
9389
9371
|
setContinueCountdown(null);
|
|
9390
9372
|
onboarder.endTour();
|
|
9391
9373
|
},
|
|
9392
|
-
className:
|
|
9393
|
-
"text-[var(--ui-kit-success)]",
|
|
9394
|
-
"absolute top-2 right-2 text-[10px]"
|
|
9395
|
-
// colorMode === 'dark' ? 'text-[var(--ui-kit-fg-inverted)]' : 'text-[var(--ui-kit-fg)]'
|
|
9396
|
-
),
|
|
9397
|
-
children: t("passport:common.hide")
|
|
9374
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react9.XIcon, { className: "h-3 w-3" })
|
|
9398
9375
|
}
|
|
9399
9376
|
),
|
|
9400
9377
|
!!tourStepActions?.length ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex grid grid-cols-2 gap-[var(--ui-kit-gap)]", children: tourStepActions.map(({ caption, onClick }, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
@@ -9454,7 +9431,7 @@ var init_OnboardingOverlay = __esm({
|
|
|
9454
9431
|
init_onboarder();
|
|
9455
9432
|
init_useOnboardingStore();
|
|
9456
9433
|
import_jsx_runtime21 = require("react/jsx-runtime");
|
|
9457
|
-
EXPAND =
|
|
9434
|
+
EXPAND = 8;
|
|
9458
9435
|
TOOLTIP_MIN_WIDTH = 320;
|
|
9459
9436
|
TOP_POS_OFFSET = 112;
|
|
9460
9437
|
}
|
|
@@ -15346,7 +15323,7 @@ var init_MethodSelector = __esm({
|
|
|
15346
15323
|
});
|
|
15347
15324
|
|
|
15348
15325
|
// src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts
|
|
15349
|
-
var KEYSHARE_BACKUP_MENU_TOUR;
|
|
15326
|
+
var KEYSHARE_BACKUP_MENU_TOUR, KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY;
|
|
15350
15327
|
var init_onboarding_setup3 = __esm({
|
|
15351
15328
|
"src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
|
|
15352
15329
|
init_hooks();
|
|
@@ -15406,6 +15383,43 @@ var init_onboarding_setup3 = __esm({
|
|
|
15406
15383
|
description: "passport:backupMenu.onboarding.backupAdvanced.description"
|
|
15407
15384
|
}
|
|
15408
15385
|
];
|
|
15386
|
+
KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY = [
|
|
15387
|
+
{
|
|
15388
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15389
|
+
title: "passport:backupMenu.onboarding.backupMenu.title",
|
|
15390
|
+
description: "passport:backupMenu.onboarding.backupMenu.description",
|
|
15391
|
+
onNext: () => {
|
|
15392
|
+
const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
|
|
15393
|
+
setSuccess(null);
|
|
15394
|
+
setError(null);
|
|
15395
|
+
setRestoreFile(null);
|
|
15396
|
+
setRestorePassword("<your-strong-password>");
|
|
15397
|
+
setShowPassword(true);
|
|
15398
|
+
setUsePasskey(false);
|
|
15399
|
+
setMethod("server");
|
|
15400
|
+
}
|
|
15401
|
+
},
|
|
15402
|
+
{
|
|
15403
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15404
|
+
title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
|
|
15405
|
+
description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
|
|
15406
|
+
onNext: () => {
|
|
15407
|
+
const { setRestorePassword, setShowPassword } = useRestoreStore.getState();
|
|
15408
|
+
setRestorePassword("");
|
|
15409
|
+
setShowPassword(false);
|
|
15410
|
+
}
|
|
15411
|
+
},
|
|
15412
|
+
{
|
|
15413
|
+
elId: "embarkai-keyshare-backup-status-onboarding" /* backupStatus */,
|
|
15414
|
+
title: "passport:backupMenu.onboarding.backupStatus.title",
|
|
15415
|
+
description: "passport:backupMenu.onboarding.backupStatus.description"
|
|
15416
|
+
},
|
|
15417
|
+
{
|
|
15418
|
+
elId: "embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */,
|
|
15419
|
+
title: "passport:backupMenu.onboarding.backupAdvanced.title",
|
|
15420
|
+
description: "passport:backupMenu.onboarding.backupAdvanced.description"
|
|
15421
|
+
}
|
|
15422
|
+
];
|
|
15409
15423
|
}
|
|
15410
15424
|
});
|
|
15411
15425
|
|
|
@@ -18509,14 +18523,22 @@ var init_useNicknameStore = __esm({
|
|
|
18509
18523
|
"src/internal/components/NicknameMenu/useNicknameStore.ts"() {
|
|
18510
18524
|
import_zustand10 = require("zustand");
|
|
18511
18525
|
useNicknameStore = (0, import_zustand10.create)((set) => ({
|
|
18512
|
-
renderKey: "",
|
|
18526
|
+
renderKey: "nickname-menu-render-key",
|
|
18513
18527
|
setRenderKey: (renderKey) => set({ renderKey }),
|
|
18514
18528
|
nicknameValue: "",
|
|
18515
18529
|
setNicknameValue: (nicknameValue) => set({ nicknameValue }),
|
|
18516
18530
|
availability: null,
|
|
18517
18531
|
setAvailability: (availability) => set({ availability }),
|
|
18532
|
+
success: null,
|
|
18533
|
+
setSuccess: (success) => set({ success }),
|
|
18518
18534
|
error: null,
|
|
18519
|
-
setError: (error) => set({ error })
|
|
18535
|
+
setError: (error) => set({ error }),
|
|
18536
|
+
reset: () => set({
|
|
18537
|
+
renderKey: "nickname-menu-render-key",
|
|
18538
|
+
nicknameValue: "",
|
|
18539
|
+
availability: null,
|
|
18540
|
+
error: null
|
|
18541
|
+
})
|
|
18520
18542
|
}));
|
|
18521
18543
|
}
|
|
18522
18544
|
});
|
|
@@ -18589,14 +18611,7 @@ function NicknameEditForm(props) {
|
|
|
18589
18611
|
const nicknameAvailability = useNicknameStore((st) => st.availability);
|
|
18590
18612
|
const { isCheckingAvailability } = useNicknameAvailability(nicknameInfo ? nicknameInfo.handle : "");
|
|
18591
18613
|
const [isNicknameCopied, setIsNicknameCopied] = (0, import_react58.useState)(false);
|
|
18592
|
-
const {
|
|
18593
|
-
mutate: changeNickname2,
|
|
18594
|
-
isError: isNicknameChangeError,
|
|
18595
|
-
isPending: isNicknameChanging,
|
|
18596
|
-
isSuccess: isNicknameChangeSuccess,
|
|
18597
|
-
// error: nicknameChangeError,
|
|
18598
|
-
reset
|
|
18599
|
-
} = (0, import_react_query35.useMutation)({
|
|
18614
|
+
const { mutate: changeNickname2, isPending: isNicknameChanging } = (0, import_react_query35.useMutation)({
|
|
18600
18615
|
mutationFn: (handle) => changeNickname(handle),
|
|
18601
18616
|
onSuccess: () => {
|
|
18602
18617
|
qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
|
|
@@ -18604,7 +18619,15 @@ function NicknameEditForm(props) {
|
|
|
18604
18619
|
callbacksRef.current?.onAccountUpdate?.({
|
|
18605
18620
|
providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address])
|
|
18606
18621
|
});
|
|
18607
|
-
if (!!isInitialUser)
|
|
18622
|
+
if (!!isInitialUser) {
|
|
18623
|
+
setTimeout(() => useLayoutDataStore.getState().setPage(null), 1500);
|
|
18624
|
+
}
|
|
18625
|
+
useNicknameStore.getState().setSuccess(t("passport:nicknameMenu.availability.nicknameChanged"));
|
|
18626
|
+
useNicknameStore.getState().setRenderKey(`nickname-has-been-changed-${Date.now()}`);
|
|
18627
|
+
setTimeout(() => {
|
|
18628
|
+
useNicknameStore.getState().setSuccess(null);
|
|
18629
|
+
useNicknameStore.getState().setRenderKey(`nickname-has-been-changed-${Date.now()}`);
|
|
18630
|
+
}, 1500);
|
|
18608
18631
|
},
|
|
18609
18632
|
onError: (error) => {
|
|
18610
18633
|
const changeNicknameError = error;
|
|
@@ -18620,17 +18643,16 @@ function NicknameEditForm(props) {
|
|
|
18620
18643
|
const handleNicknameInputChange = (0, import_react58.useCallback)(
|
|
18621
18644
|
(e) => {
|
|
18622
18645
|
const { error, setError, setNicknameValue } = useNicknameStore.getState();
|
|
18623
|
-
const
|
|
18624
|
-
setNicknameValue(
|
|
18625
|
-
if (error &&
|
|
18626
|
-
if (
|
|
18627
|
-
|
|
18628
|
-
const validation = validateNickname(value);
|
|
18646
|
+
const nextInputValue = e.target.value;
|
|
18647
|
+
setNicknameValue(nextInputValue);
|
|
18648
|
+
if (error && nextInputValue.length >= 3) setError(null);
|
|
18649
|
+
if (nextInputValue?.length < 1) return;
|
|
18650
|
+
const validation = validateNickname(nextInputValue);
|
|
18629
18651
|
if (!validation.valid && validation.error) {
|
|
18630
18652
|
setError(getNicknameErrorMessage(validation.error, { t }));
|
|
18631
18653
|
}
|
|
18632
18654
|
},
|
|
18633
|
-
[
|
|
18655
|
+
[t]
|
|
18634
18656
|
);
|
|
18635
18657
|
const handleSubmit = (0, import_react58.useCallback)(
|
|
18636
18658
|
(e) => {
|
|
@@ -18657,34 +18679,43 @@ function NicknameEditForm(props) {
|
|
|
18657
18679
|
const normalizedInputValue = normalizeNickname(nicknameValue);
|
|
18658
18680
|
const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
|
|
18659
18681
|
const isSubmitDisabled = !canChange || nicknameValue.length === 0 || isSameAsCurrentNickname || !!nicknameError || isNicknameChanging || isCheckingAvailability || !nicknameAvailability?.available;
|
|
18660
|
-
const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging &&
|
|
18682
|
+
const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging && nicknameAvailability?.available;
|
|
18661
18683
|
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
|
|
18662
|
-
canChange ? /* @__PURE__ */ (0, import_jsx_runtime81.
|
|
18663
|
-
/* @__PURE__ */ (0, import_jsx_runtime81.
|
|
18664
|
-
|
|
18665
|
-
{
|
|
18666
|
-
|
|
18667
|
-
|
|
18668
|
-
|
|
18669
|
-
|
|
18670
|
-
|
|
18671
|
-
|
|
18672
|
-
|
|
18673
|
-
|
|
18674
|
-
|
|
18675
|
-
|
|
18676
|
-
|
|
18677
|
-
|
|
18678
|
-
|
|
18679
|
-
|
|
18680
|
-
|
|
18681
|
-
|
|
18682
|
-
|
|
18683
|
-
|
|
18684
|
-
|
|
18685
|
-
|
|
18686
|
-
|
|
18687
|
-
|
|
18684
|
+
canChange ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
|
|
18685
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "text-[10px] leading-4 text-[var(--ui-kit-fg-muted)]", children: [
|
|
18686
|
+
t("passport:nicknameMenu.yourNickname"),
|
|
18687
|
+
currentNickname !== nicknameValue && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("strong", { className: "text-[var(--ui-kit-fg)]", children: [
|
|
18688
|
+
": ",
|
|
18689
|
+
currentNickname
|
|
18690
|
+
] })
|
|
18691
|
+
] }),
|
|
18692
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("form", { onSubmit: handleSubmit, className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
18693
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
18694
|
+
Input,
|
|
18695
|
+
{
|
|
18696
|
+
Icon: import_lucide_react47.AtSignIcon,
|
|
18697
|
+
value: nicknameValue,
|
|
18698
|
+
onChange: handleNicknameInputChange,
|
|
18699
|
+
placeholder: t("passport:nicknameMenu.placeholder"),
|
|
18700
|
+
disabled: isNicknameChanging,
|
|
18701
|
+
className: "flex-1"
|
|
18702
|
+
}
|
|
18703
|
+
),
|
|
18704
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
18705
|
+
Button,
|
|
18706
|
+
{
|
|
18707
|
+
type: "submit",
|
|
18708
|
+
size: "large",
|
|
18709
|
+
disabled: isSubmitDisabled,
|
|
18710
|
+
title: isNicknameAvailalable ? t("passport:nicknameMenu.availability.nicknameAvailable") : "",
|
|
18711
|
+
className: cn("w-12", {
|
|
18712
|
+
"bg-[var(--ui-kit-bg-success)] text-[var(--ui-kit-success)]": isNicknameAvailalable
|
|
18713
|
+
}),
|
|
18714
|
+
children: isCheckingAvailability || isNicknameChanging ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react47.LoaderIcon, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react47.SaveIcon, { className: "w-4 h-4" })
|
|
18715
|
+
}
|
|
18716
|
+
)
|
|
18717
|
+
] }) })
|
|
18718
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("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: [
|
|
18688
18719
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
18689
18720
|
"span",
|
|
18690
18721
|
{
|
|
@@ -18762,6 +18793,7 @@ function NicknameMenu() {
|
|
|
18762
18793
|
const address = useSession((st) => st.address);
|
|
18763
18794
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
18764
18795
|
const nicknameRenderKey = useNicknameStore((st) => st.renderKey);
|
|
18796
|
+
const nicknameSuccess = useNicknameStore((st) => st.success);
|
|
18765
18797
|
const nicknameError = useNicknameStore((st) => st.error);
|
|
18766
18798
|
const {
|
|
18767
18799
|
data: nicknameInfo,
|
|
@@ -18771,9 +18803,10 @@ function NicknameMenu() {
|
|
|
18771
18803
|
retry: 1,
|
|
18772
18804
|
enabled: !!address,
|
|
18773
18805
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
18774
|
-
queryFn: getNicknameInfo
|
|
18806
|
+
queryFn: async () => await getNicknameInfo()
|
|
18775
18807
|
});
|
|
18776
18808
|
const resolvedError = nicknameError || nicknameInfoError?.message || null;
|
|
18809
|
+
(0, import_react59.useEffect)(() => () => useNicknameStore.getState().reset(), []);
|
|
18777
18810
|
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
18778
18811
|
"div",
|
|
18779
18812
|
{
|
|
@@ -18797,16 +18830,12 @@ function NicknameMenu() {
|
|
|
18797
18830
|
isNicknameInfoLoading && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react48.Loader, { className: "w-4 h-4 animate-spin" })
|
|
18798
18831
|
] })
|
|
18799
18832
|
] }),
|
|
18800
|
-
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.yourNickname") }),
|
|
18801
18833
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NicknameEditForm, { nicknameInfo, isInitialUser }),
|
|
18802
|
-
!nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime82.
|
|
18803
|
-
|
|
18804
|
-
|
|
18805
|
-
|
|
18806
|
-
|
|
18807
|
-
}) })
|
|
18808
|
-
] }),
|
|
18809
|
-
!!nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
|
|
18834
|
+
!nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Highlight, { type: "info", children: t("passport:nicknameMenu.cooldownMessage", {
|
|
18835
|
+
canChangeAt: (0, import_dayjs4.default)(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
|
|
18836
|
+
days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
|
|
18837
|
+
}) }),
|
|
18838
|
+
!nicknameSuccess && !!nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
|
|
18810
18839
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("span", { children: [
|
|
18811
18840
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: nicknameInfo.changedAt ? t("passport:nicknameMenu.lastChanged") : t("passport:common.created") }),
|
|
18812
18841
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { children: ": " }),
|
|
@@ -18818,6 +18847,7 @@ function NicknameMenu() {
|
|
|
18818
18847
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
|
|
18819
18848
|
] })
|
|
18820
18849
|
] }),
|
|
18850
|
+
!!nicknameSuccess && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Highlight, { type: "success", children: nicknameSuccess }),
|
|
18821
18851
|
isInitialUser && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Highlight, { type: "success", children: [
|
|
18822
18852
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", {
|
|
18823
18853
|
//@ts-expect-error i18n typings
|
|
@@ -18849,7 +18879,7 @@ function NicknameMenu() {
|
|
|
18849
18879
|
}
|
|
18850
18880
|
);
|
|
18851
18881
|
}
|
|
18852
|
-
var import_react_query36, import_dayjs4, import_lucide_react48, import_jsx_runtime82;
|
|
18882
|
+
var import_react_query36, import_dayjs4, import_lucide_react48, import_react59, import_jsx_runtime82;
|
|
18853
18883
|
var init_NicknameMenu = __esm({
|
|
18854
18884
|
"src/internal/components/NicknameMenu/NicknameMenu.tsx"() {
|
|
18855
18885
|
init_SessionContext();
|
|
@@ -18858,6 +18888,7 @@ var init_NicknameMenu = __esm({
|
|
|
18858
18888
|
import_react_query36 = require("@tanstack/react-query");
|
|
18859
18889
|
import_dayjs4 = __toESM(require("dayjs"), 1);
|
|
18860
18890
|
import_lucide_react48 = require("lucide-react");
|
|
18891
|
+
import_react59 = require("react");
|
|
18861
18892
|
init_nickname();
|
|
18862
18893
|
init_profile();
|
|
18863
18894
|
init_useLayoutDataStore();
|
|
@@ -18895,11 +18926,11 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
|
|
|
18895
18926
|
const activeChainConfig = useSession((st) => st.chainConfig);
|
|
18896
18927
|
const resolvedChainId = chainId ?? activeChainId;
|
|
18897
18928
|
const shouldUseActiveClient = !chainId || chainId === activeChainId;
|
|
18898
|
-
const chainConfig = (0,
|
|
18929
|
+
const chainConfig = (0, import_react60.useMemo)(() => {
|
|
18899
18930
|
if (shouldUseActiveClient) return activeChainConfig;
|
|
18900
18931
|
return (0, import_read16.getChainConfig)(chainId);
|
|
18901
18932
|
}, [activeChainConfig, chainId, shouldUseActiveClient]);
|
|
18902
|
-
const publicClient = (0,
|
|
18933
|
+
const publicClient = (0, import_react60.useMemo)(() => {
|
|
18903
18934
|
if (shouldUseActiveClient) return activePublicClient;
|
|
18904
18935
|
if (!chainId) return activePublicClient;
|
|
18905
18936
|
try {
|
|
@@ -18916,12 +18947,12 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
|
|
|
18916
18947
|
resolvedChainId
|
|
18917
18948
|
};
|
|
18918
18949
|
}
|
|
18919
|
-
var import_read16,
|
|
18950
|
+
var import_read16, import_react60, publicClientByChainId;
|
|
18920
18951
|
var init_useResolvedPublicClient = __esm({
|
|
18921
18952
|
"src/internal/hooks/useResolvedPublicClient.ts"() {
|
|
18922
18953
|
init_SessionContext();
|
|
18923
18954
|
import_read16 = require("@embarkai/core/read");
|
|
18924
|
-
|
|
18955
|
+
import_react60 = require("react");
|
|
18925
18956
|
publicClientByChainId = /* @__PURE__ */ new Map();
|
|
18926
18957
|
}
|
|
18927
18958
|
});
|
|
@@ -18985,7 +19016,7 @@ var init_useNativeBalance = __esm({
|
|
|
18985
19016
|
function useWatchTokens(options) {
|
|
18986
19017
|
const { address, chainId, enabled, publicClient } = options;
|
|
18987
19018
|
const { config } = useProviderConfig();
|
|
18988
|
-
const watchTokens = (0,
|
|
19019
|
+
const watchTokens = (0, import_react61.useMemo)(() => {
|
|
18989
19020
|
const allWatchTokens = config.current.watchTokens;
|
|
18990
19021
|
const tokensForChain = chainId ? allWatchTokens?.[chainId] || [] : [];
|
|
18991
19022
|
return tokensForChain;
|
|
@@ -19053,12 +19084,12 @@ function useWatchTokens(options) {
|
|
|
19053
19084
|
}
|
|
19054
19085
|
});
|
|
19055
19086
|
}
|
|
19056
|
-
var import_react_query38,
|
|
19087
|
+
var import_react_query38, import_react61, import_viem7;
|
|
19057
19088
|
var init_useWatchTokens = __esm({
|
|
19058
19089
|
"src/internal/hooks/useBlockscoutAssets/useWatchTokens.ts"() {
|
|
19059
19090
|
init_ProviderContext();
|
|
19060
19091
|
import_react_query38 = require("@tanstack/react-query");
|
|
19061
|
-
|
|
19092
|
+
import_react61 = require("react");
|
|
19062
19093
|
import_viem7 = require("viem");
|
|
19063
19094
|
init_constants6();
|
|
19064
19095
|
}
|
|
@@ -19207,11 +19238,11 @@ function useBlockscoutAssets(options) {
|
|
|
19207
19238
|
tokenBalancesQueryKey: customTokenBalancesQueryKey
|
|
19208
19239
|
} = useProviderConfig().config?.current?.portfolio || {};
|
|
19209
19240
|
const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
|
|
19210
|
-
const blockscoutClient = (0,
|
|
19241
|
+
const blockscoutClient = (0, import_react62.useMemo)(
|
|
19211
19242
|
() => blockscoutApiUrl ? (0, import_core4.createBlockscoutClient)({ baseUrl: blockscoutApiUrl }) : null,
|
|
19212
19243
|
[blockscoutApiUrl]
|
|
19213
19244
|
);
|
|
19214
|
-
const lastRefreshRef = (0,
|
|
19245
|
+
const lastRefreshRef = (0, import_react62.useRef)(0);
|
|
19215
19246
|
const {
|
|
19216
19247
|
data: watchTokenAssets = [],
|
|
19217
19248
|
isLoading: watchTokensLoading,
|
|
@@ -19283,7 +19314,7 @@ function useBlockscoutAssets(options) {
|
|
|
19283
19314
|
queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", resolvedChainId, blockscoutApiUrl, address],
|
|
19284
19315
|
queryFn: () => blockscoutClient.getNfts(address)
|
|
19285
19316
|
});
|
|
19286
|
-
const erc20TokenAddresses = (0,
|
|
19317
|
+
const erc20TokenAddresses = (0, import_react62.useMemo)(() => {
|
|
19287
19318
|
if (!blockscoutItems) return [];
|
|
19288
19319
|
return blockscoutItems.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
|
|
19289
19320
|
}, [blockscoutItems]);
|
|
@@ -19328,7 +19359,7 @@ function useBlockscoutAssets(options) {
|
|
|
19328
19359
|
// 1 minute
|
|
19329
19360
|
// gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
19330
19361
|
});
|
|
19331
|
-
const assets = (0,
|
|
19362
|
+
const assets = (0, import_react62.useMemo)(() => {
|
|
19332
19363
|
const result = [];
|
|
19333
19364
|
const addedAddresses = /* @__PURE__ */ new Set();
|
|
19334
19365
|
if (nativeBalanceData) {
|
|
@@ -19422,7 +19453,7 @@ function useBlockscoutAssets(options) {
|
|
|
19422
19453
|
watchTokenAssets,
|
|
19423
19454
|
chainConfig
|
|
19424
19455
|
]);
|
|
19425
|
-
const nativeBalance = (0,
|
|
19456
|
+
const nativeBalance = (0, import_react62.useMemo)(() => {
|
|
19426
19457
|
if (!nativeBalanceData) return null;
|
|
19427
19458
|
return {
|
|
19428
19459
|
value: nativeBalanceData.value,
|
|
@@ -19430,11 +19461,11 @@ function useBlockscoutAssets(options) {
|
|
|
19430
19461
|
symbol: nativeBalanceData.symbol
|
|
19431
19462
|
};
|
|
19432
19463
|
}, [nativeBalanceData]);
|
|
19433
|
-
const error = (0,
|
|
19464
|
+
const error = (0, import_react62.useMemo)(() => {
|
|
19434
19465
|
if (!blockscoutError) return null;
|
|
19435
19466
|
return createError(blockscoutError);
|
|
19436
19467
|
}, [blockscoutError]);
|
|
19437
|
-
const refreshBalances = (0,
|
|
19468
|
+
const refreshBalances = (0, import_react62.useCallback)(async () => {
|
|
19438
19469
|
const now = Date.now();
|
|
19439
19470
|
if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
|
|
19440
19471
|
return;
|
|
@@ -19450,7 +19481,7 @@ function useBlockscoutAssets(options) {
|
|
|
19450
19481
|
qc.invalidateQueries({ queryKey: [WATCH_TOKENS_QUERY_KEY] })
|
|
19451
19482
|
]);
|
|
19452
19483
|
}, [qc, customTokenBalancesQueryKey]);
|
|
19453
|
-
const getTokenBalance = (0,
|
|
19484
|
+
const getTokenBalance = (0, import_react62.useCallback)(
|
|
19454
19485
|
(tokenAddress) => {
|
|
19455
19486
|
return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
|
|
19456
19487
|
},
|
|
@@ -19469,13 +19500,13 @@ function useBlockscoutAssets(options) {
|
|
|
19469
19500
|
lastUpdated: dataUpdatedAt || null
|
|
19470
19501
|
};
|
|
19471
19502
|
}
|
|
19472
|
-
var import_core4, import_react_query39,
|
|
19503
|
+
var import_core4, import_react_query39, import_react62;
|
|
19473
19504
|
var init_useBlockscoutAssets = __esm({
|
|
19474
19505
|
"src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts"() {
|
|
19475
19506
|
init_ProviderContext();
|
|
19476
19507
|
import_core4 = require("@embarkai/core");
|
|
19477
19508
|
import_react_query39 = require("@tanstack/react-query");
|
|
19478
|
-
|
|
19509
|
+
import_react62 = require("react");
|
|
19479
19510
|
init_initial();
|
|
19480
19511
|
init_constants();
|
|
19481
19512
|
init_useResolvedPublicClient();
|
|
@@ -19766,7 +19797,7 @@ function PortfolioMenu() {
|
|
|
19766
19797
|
enabled: !!address
|
|
19767
19798
|
});
|
|
19768
19799
|
const shownProjectAssets = projectAssets.filter((asset) => !asset.hideInPortfolio);
|
|
19769
|
-
const refreshAllAssetsBalances = (0,
|
|
19800
|
+
const refreshAllAssetsBalances = (0, import_react63.useCallback)(() => {
|
|
19770
19801
|
Promise.all(shownProjectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
19771
19802
|
refreshBlockscoutBalances();
|
|
19772
19803
|
}, [qc, shownProjectAssets, refreshBlockscoutBalances]);
|
|
@@ -19822,7 +19853,7 @@ function PortfolioMenu() {
|
|
|
19822
19853
|
}
|
|
19823
19854
|
);
|
|
19824
19855
|
}
|
|
19825
|
-
var import_react_query41, import_lucide_react50,
|
|
19856
|
+
var import_react_query41, import_lucide_react50, import_react63, import_jsx_runtime85;
|
|
19826
19857
|
var init_PortfolioMenu = __esm({
|
|
19827
19858
|
"src/internal/components/PortfolioMenu/PortfolioMenu.tsx"() {
|
|
19828
19859
|
init_ProviderContext();
|
|
@@ -19830,7 +19861,7 @@ var init_PortfolioMenu = __esm({
|
|
|
19830
19861
|
init_i18n();
|
|
19831
19862
|
import_react_query41 = require("@tanstack/react-query");
|
|
19832
19863
|
import_lucide_react50 = require("lucide-react");
|
|
19833
|
-
|
|
19864
|
+
import_react63 = require("react");
|
|
19834
19865
|
init_useBlockscoutAssets2();
|
|
19835
19866
|
init_useLayoutDataStore();
|
|
19836
19867
|
init_useLayoutStore();
|
|
@@ -19954,11 +19985,11 @@ function ReceiveMenu() {
|
|
|
19954
19985
|
const { t } = useT();
|
|
19955
19986
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
19956
19987
|
const open = page === "receive";
|
|
19957
|
-
const [qrCodeUrl, setQrCodeUrl] = (0,
|
|
19958
|
-
const [copied, setCopied] = (0,
|
|
19959
|
-
const [fingerprintCopied, setFingerprintCopied] = (0,
|
|
19988
|
+
const [qrCodeUrl, setQrCodeUrl] = (0, import_react64.useState)("");
|
|
19989
|
+
const [copied, setCopied] = (0, import_react64.useState)(false);
|
|
19990
|
+
const [fingerprintCopied, setFingerprintCopied] = (0, import_react64.useState)(false);
|
|
19960
19991
|
useOnboardingTourAvailable(true);
|
|
19961
|
-
const fingerprint = (0,
|
|
19992
|
+
const fingerprint = (0, import_react64.useMemo)(() => {
|
|
19962
19993
|
if (!session?.ownerAddress) return null;
|
|
19963
19994
|
try {
|
|
19964
19995
|
return generateFingerprint(session.ownerAddress);
|
|
@@ -19966,7 +19997,7 @@ function ReceiveMenu() {
|
|
|
19966
19997
|
return null;
|
|
19967
19998
|
}
|
|
19968
19999
|
}, [session?.ownerAddress]);
|
|
19969
|
-
(0,
|
|
20000
|
+
(0, import_react64.useEffect)(() => {
|
|
19970
20001
|
if (open && address) {
|
|
19971
20002
|
import_qrcode.default.toDataURL(address, {
|
|
19972
20003
|
width: 200,
|
|
@@ -19979,7 +20010,7 @@ function ReceiveMenu() {
|
|
|
19979
20010
|
});
|
|
19980
20011
|
}
|
|
19981
20012
|
}, [open, address]);
|
|
19982
|
-
const handleCopy = (0,
|
|
20013
|
+
const handleCopy = (0, import_react64.useCallback)(async () => {
|
|
19983
20014
|
if (!address) return;
|
|
19984
20015
|
try {
|
|
19985
20016
|
await navigator.clipboard.writeText(address);
|
|
@@ -19989,7 +20020,7 @@ function ReceiveMenu() {
|
|
|
19989
20020
|
console.error("Failed to copy address:", error);
|
|
19990
20021
|
}
|
|
19991
20022
|
}, [address]);
|
|
19992
|
-
const handleCopyFingerprint = (0,
|
|
20023
|
+
const handleCopyFingerprint = (0, import_react64.useCallback)(async () => {
|
|
19993
20024
|
if (!fingerprint) return;
|
|
19994
20025
|
try {
|
|
19995
20026
|
await navigator.clipboard.writeText(fingerprint);
|
|
@@ -20051,14 +20082,14 @@ function ReceiveMenu() {
|
|
|
20051
20082
|
}
|
|
20052
20083
|
);
|
|
20053
20084
|
}
|
|
20054
|
-
var import_lucide_react51, import_qrcode,
|
|
20085
|
+
var import_lucide_react51, import_qrcode, import_react64, import_jsx_runtime86;
|
|
20055
20086
|
var init_ReceiveMenu = __esm({
|
|
20056
20087
|
"src/internal/components/ReceiveMenu/ReceiveMenu.tsx"() {
|
|
20057
20088
|
init_SessionContext();
|
|
20058
20089
|
init_i18n();
|
|
20059
20090
|
import_lucide_react51 = require("lucide-react");
|
|
20060
20091
|
import_qrcode = __toESM(require("qrcode"), 1);
|
|
20061
|
-
|
|
20092
|
+
import_react64 = require("react");
|
|
20062
20093
|
init_useLayoutDataStore();
|
|
20063
20094
|
init_useLayoutStore();
|
|
20064
20095
|
init_nickname_fingerprint();
|
|
@@ -20079,18 +20110,21 @@ var init_ReceiveMenu2 = __esm({
|
|
|
20079
20110
|
});
|
|
20080
20111
|
|
|
20081
20112
|
// src/internal/components/SecurityMenu/onboarding.setup.ts
|
|
20082
|
-
var
|
|
20113
|
+
var SECURITY_MENU_TOUR;
|
|
20083
20114
|
var init_onboarding_setup8 = __esm({
|
|
20084
20115
|
"src/internal/components/SecurityMenu/onboarding.setup.ts"() {
|
|
20085
|
-
|
|
20086
|
-
CONNECTED_APPS_TOUR = [
|
|
20116
|
+
SECURITY_MENU_TOUR = [
|
|
20087
20117
|
{
|
|
20088
|
-
elId: "embarkai-security-menu-
|
|
20089
|
-
title: "passport:securityMenu.onboarding.
|
|
20090
|
-
description: "passport:securityMenu.onboarding.
|
|
20091
|
-
}
|
|
20092
|
-
|
|
20093
|
-
|
|
20118
|
+
elId: "embarkai-security-menu-onboarding" /* securityMenu */,
|
|
20119
|
+
title: "passport:securityMenu.onboarding.securityMenu.title",
|
|
20120
|
+
description: "passport:securityMenu.onboarding.securityMenu.description"
|
|
20121
|
+
},
|
|
20122
|
+
/** KEYSHARE */
|
|
20123
|
+
{
|
|
20124
|
+
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20125
|
+
title: "passport:securityMenu.onboarding.keyshare.title",
|
|
20126
|
+
description: "passport:securityMenu.onboarding.keyshare.description"
|
|
20127
|
+
},
|
|
20094
20128
|
{
|
|
20095
20129
|
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20096
20130
|
title: "passport:securityMenu.onboarding.keyshare.details.concept.title",
|
|
@@ -20116,39 +20150,11 @@ var init_onboarding_setup8 = __esm({
|
|
|
20116
20150
|
title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
|
|
20117
20151
|
description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
|
|
20118
20152
|
},
|
|
20119
|
-
...CONNECTED_APPS_TOUR
|
|
20120
|
-
];
|
|
20121
|
-
SECURITY_MENU_TOUR = [
|
|
20122
20153
|
{
|
|
20123
|
-
elId: "embarkai-security-menu-onboarding" /*
|
|
20124
|
-
title: "passport:securityMenu.onboarding.
|
|
20125
|
-
description: "passport:securityMenu.onboarding.
|
|
20126
|
-
}
|
|
20127
|
-
/** KEYSHARE */
|
|
20128
|
-
{
|
|
20129
|
-
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20130
|
-
title: "passport:securityMenu.onboarding.keyshare.title",
|
|
20131
|
-
description: "passport:securityMenu.onboarding.keyshare.description",
|
|
20132
|
-
actions: [
|
|
20133
|
-
{
|
|
20134
|
-
caption: "passport:securityMenu.onboarding.keyshare.detailsButton",
|
|
20135
|
-
onClick: () => {
|
|
20136
|
-
onboarder.endTour();
|
|
20137
|
-
setTimeout(() => onboarder.startTour(KEYSHARE_TOUR), 220);
|
|
20138
|
-
}
|
|
20139
|
-
},
|
|
20140
|
-
{
|
|
20141
|
-
caption: "passport:common.continue",
|
|
20142
|
-
onClick: () => onboarder.next()
|
|
20143
|
-
}
|
|
20144
|
-
]
|
|
20145
|
-
},
|
|
20146
|
-
{
|
|
20147
|
-
elId: "embarkai-security-menu-keyshare-existing-backup-onboarding" /* keyshareExistingVaultBkp */,
|
|
20148
|
-
title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
|
|
20149
|
-
description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
|
|
20150
|
-
},
|
|
20151
|
-
...CONNECTED_APPS_TOUR
|
|
20154
|
+
elId: "embarkai-security-menu-connected-apps-onboarding" /* connectedApps */,
|
|
20155
|
+
title: "passport:securityMenu.onboarding.connectedApps.title",
|
|
20156
|
+
description: "passport:securityMenu.onboarding.connectedApps.description"
|
|
20157
|
+
}
|
|
20152
20158
|
];
|
|
20153
20159
|
}
|
|
20154
20160
|
});
|
|
@@ -20306,7 +20312,7 @@ function Application(props) {
|
|
|
20306
20312
|
function ConnectedApps() {
|
|
20307
20313
|
const { t } = useT();
|
|
20308
20314
|
const { data: connectedApps = [], isLoading: isConnectedAppsLoading } = useConnectedApps();
|
|
20309
|
-
(0,
|
|
20315
|
+
(0, import_react65.useEffect)(() => {
|
|
20310
20316
|
if (!connectedApps.length || isConnectedAppsLoading) return;
|
|
20311
20317
|
useSecurityStore.getState().setRenderKey(`connected-apps-loaded-${Date.now()}`);
|
|
20312
20318
|
}, [connectedApps, isConnectedAppsLoading]);
|
|
@@ -20338,14 +20344,14 @@ function ConnectedApps() {
|
|
|
20338
20344
|
)
|
|
20339
20345
|
] });
|
|
20340
20346
|
}
|
|
20341
|
-
var import_dayjs5, import_lucide_react52,
|
|
20347
|
+
var import_dayjs5, import_lucide_react52, import_react65, import_jsx_runtime87;
|
|
20342
20348
|
var init_ConnectedApps = __esm({
|
|
20343
20349
|
"src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx"() {
|
|
20344
20350
|
init_utils2();
|
|
20345
20351
|
init_i18n();
|
|
20346
20352
|
import_dayjs5 = __toESM(require("dayjs"), 1);
|
|
20347
20353
|
import_lucide_react52 = require("lucide-react");
|
|
20348
|
-
|
|
20354
|
+
import_react65 = require("react");
|
|
20349
20355
|
init_Onboarding();
|
|
20350
20356
|
init_button();
|
|
20351
20357
|
init_highlight();
|
|
@@ -20463,14 +20469,14 @@ var init_ConnectedApps2 = __esm({
|
|
|
20463
20469
|
});
|
|
20464
20470
|
|
|
20465
20471
|
// src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
|
|
20466
|
-
var import_lucide_react54,
|
|
20472
|
+
var import_lucide_react54, import_react66, import_jsx_runtime89, KeyshareStatus;
|
|
20467
20473
|
var init_KeyshareStatus = __esm({
|
|
20468
20474
|
"src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx"() {
|
|
20469
20475
|
import_lucide_react54 = require("lucide-react");
|
|
20470
|
-
|
|
20476
|
+
import_react66 = require("react");
|
|
20471
20477
|
init_utils2();
|
|
20472
20478
|
import_jsx_runtime89 = require("react/jsx-runtime");
|
|
20473
|
-
KeyshareStatus = (0,
|
|
20479
|
+
KeyshareStatus = (0, import_react66.forwardRef)((props, ref) => {
|
|
20474
20480
|
const { isLoading, content, icon: Icon2, children } = props;
|
|
20475
20481
|
if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react54.Loader, { className: "w-4 h-4 animate-spin" });
|
|
20476
20482
|
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { ref, className: "group relative w-full h-full", children: [
|
|
@@ -20609,7 +20615,7 @@ function Keyshare() {
|
|
|
20609
20615
|
const { t } = useT();
|
|
20610
20616
|
const serverHasKeyshare = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
|
|
20611
20617
|
const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
|
|
20612
|
-
(0,
|
|
20618
|
+
(0, import_react67.useEffect)(() => {
|
|
20613
20619
|
if (!recoveryData?.keyshareInfo || isRecoveryLoading) return;
|
|
20614
20620
|
useSecurityStore.getState().setRenderKey(`keyshare-loaded-${Date.now()}`);
|
|
20615
20621
|
}, [recoveryData, isRecoveryLoading]);
|
|
@@ -20706,13 +20712,13 @@ function Keyshare() {
|
|
|
20706
20712
|
] })
|
|
20707
20713
|
] });
|
|
20708
20714
|
}
|
|
20709
|
-
var import_lucide_react56,
|
|
20715
|
+
var import_lucide_react56, import_react67, import_jsx_runtime91;
|
|
20710
20716
|
var init_Keyshare = __esm({
|
|
20711
20717
|
"src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx"() {
|
|
20712
20718
|
init_SessionContext();
|
|
20713
20719
|
init_useT();
|
|
20714
20720
|
import_lucide_react56 = require("lucide-react");
|
|
20715
|
-
|
|
20721
|
+
import_react67 = require("react");
|
|
20716
20722
|
init_icons();
|
|
20717
20723
|
init_auth();
|
|
20718
20724
|
init_useLayoutDataStore();
|
|
@@ -21056,12 +21062,12 @@ function SenderSelector(props) {
|
|
|
21056
21062
|
const { openConnectModal } = (0, import_rainbowkit.useConnectModal)();
|
|
21057
21063
|
const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
|
|
21058
21064
|
const directWalletIsConnected = useExternalWalletStore((st) => st.isExternalConnected);
|
|
21059
|
-
const pendingWalletRef = (0,
|
|
21065
|
+
const pendingWalletRef = (0, import_react68.useRef)(null);
|
|
21060
21066
|
const originChain = useBridgeStore((st) => st.originChain);
|
|
21061
21067
|
const bridgeSender = useBridgeStore((st) => st.bridgeSender);
|
|
21062
21068
|
const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
|
|
21063
|
-
const [walletMessage, setWalletMessage] = (0,
|
|
21064
|
-
(0,
|
|
21069
|
+
const [walletMessage, setWalletMessage] = (0, import_react68.useState)(null);
|
|
21070
|
+
(0, import_react68.useEffect)(() => {
|
|
21065
21071
|
useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
|
|
21066
21072
|
}, [walletMessage]);
|
|
21067
21073
|
const { mutate: loginDirectWallet, isPending: isDirectWalletLoggingIn } = (0, import_react_query45.useMutation)({
|
|
@@ -21117,7 +21123,7 @@ function SenderSelector(props) {
|
|
|
21117
21123
|
setWalletMessage(error instanceof Error ? error.message : "Wallet login failed. Please try again.");
|
|
21118
21124
|
}
|
|
21119
21125
|
});
|
|
21120
|
-
(0,
|
|
21126
|
+
(0, import_react68.useEffect)(() => {
|
|
21121
21127
|
const pendingProfile = pendingWalletRef.current;
|
|
21122
21128
|
if (!pendingProfile || !directWalletIsConnected || !directWalletAddress) return;
|
|
21123
21129
|
if (directWalletAddress.toLowerCase() !== pendingProfile.externalId?.toLowerCase()) return;
|
|
@@ -21208,14 +21214,14 @@ function SenderSelector(props) {
|
|
|
21208
21214
|
] })
|
|
21209
21215
|
] });
|
|
21210
21216
|
}
|
|
21211
|
-
var import_rainbowkit, import_react_query45,
|
|
21217
|
+
var import_rainbowkit, import_react_query45, import_react68, import_wagmi3, import_jsx_runtime93;
|
|
21212
21218
|
var init_SenderSelector = __esm({
|
|
21213
21219
|
"src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx"() {
|
|
21214
21220
|
init_ProviderContext();
|
|
21215
21221
|
init_i18n();
|
|
21216
21222
|
import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
21217
21223
|
import_react_query45 = require("@tanstack/react-query");
|
|
21218
|
-
|
|
21224
|
+
import_react68 = require("react");
|
|
21219
21225
|
import_wagmi3 = require("wagmi");
|
|
21220
21226
|
init_wallet();
|
|
21221
21227
|
init_useLayoutDataStore();
|
|
@@ -21315,8 +21321,8 @@ var init_wallets = __esm({
|
|
|
21315
21321
|
function useAvailableSenders() {
|
|
21316
21322
|
const address = useSession((st) => st.address);
|
|
21317
21323
|
const { profiles } = useLinkedProfiles();
|
|
21318
|
-
const lastCalcedSenders = (0,
|
|
21319
|
-
(0,
|
|
21324
|
+
const lastCalcedSenders = (0, import_react69.useRef)([]);
|
|
21325
|
+
(0, import_react69.useEffect)(() => {
|
|
21320
21326
|
const sendersAccumulator = [
|
|
21321
21327
|
{
|
|
21322
21328
|
type: "embarkai-wallet",
|
|
@@ -21347,13 +21353,13 @@ function useAvailableSenders() {
|
|
|
21347
21353
|
directWalletProfile: profiles.filter((p) => p.provider === "wallet")[0] || null
|
|
21348
21354
|
};
|
|
21349
21355
|
}
|
|
21350
|
-
var
|
|
21356
|
+
var import_react69;
|
|
21351
21357
|
var init_useAvailableSenders = __esm({
|
|
21352
21358
|
"src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts"() {
|
|
21353
21359
|
init_SessionContext();
|
|
21354
21360
|
init_tokens();
|
|
21355
21361
|
init_linkedProfiles();
|
|
21356
|
-
|
|
21362
|
+
import_react69 = require("react");
|
|
21357
21363
|
init_wallets();
|
|
21358
21364
|
init_useFlowSelector();
|
|
21359
21365
|
init_useBridgeStore();
|
|
@@ -21701,29 +21707,29 @@ function useHyperlaneHistory() {
|
|
|
21701
21707
|
queryFn: async ({ pageParam }) => await getHyperlaneBridgeHistory({ page: pageParam, pageSize: TX_HISTORY_PAGE_SIZE })
|
|
21702
21708
|
});
|
|
21703
21709
|
const { data: txHistoryData, isLoading: isBridgeTxHistoryLoading } = query;
|
|
21704
|
-
const txList = (0,
|
|
21710
|
+
const txList = (0, import_react70.useMemo)(
|
|
21705
21711
|
() => txHistoryData?.pages?.map((p) => p.data).flat(Infinity) || [],
|
|
21706
21712
|
[txHistoryData]
|
|
21707
21713
|
);
|
|
21708
|
-
const updateExpandable = (0,
|
|
21714
|
+
const updateExpandable = (0, import_react70.useCallback)(
|
|
21709
21715
|
(0, import_lodash_es12.debounce)(() => {
|
|
21710
21716
|
useFlowSelectorStore.getState().setRenderKey(`hyperlane-history-loaded-${Date.now()}`);
|
|
21711
21717
|
}, 250),
|
|
21712
21718
|
[]
|
|
21713
21719
|
);
|
|
21714
|
-
(0,
|
|
21720
|
+
(0, import_react70.useEffect)(() => {
|
|
21715
21721
|
if (isBridgeTxHistoryLoading || txList.length === 0) return;
|
|
21716
21722
|
updateExpandable();
|
|
21717
21723
|
}, [isBridgeTxHistoryLoading, txList]);
|
|
21718
21724
|
return { query, txList };
|
|
21719
21725
|
}
|
|
21720
|
-
var import_react_query46, import_lodash_es12,
|
|
21726
|
+
var import_react_query46, import_lodash_es12, import_react70, HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
|
|
21721
21727
|
var init_useHyperlaneHistory = __esm({
|
|
21722
21728
|
"src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts"() {
|
|
21723
21729
|
init_SessionContext();
|
|
21724
21730
|
import_react_query46 = require("@tanstack/react-query");
|
|
21725
21731
|
import_lodash_es12 = require("lodash-es");
|
|
21726
|
-
|
|
21732
|
+
import_react70 = require("react");
|
|
21727
21733
|
init_useLayoutDataStore();
|
|
21728
21734
|
init_useFlowSelector();
|
|
21729
21735
|
init_api3();
|
|
@@ -21755,7 +21761,7 @@ function useBridge() {
|
|
|
21755
21761
|
const address = useSession((st) => st.address);
|
|
21756
21762
|
const { data: walletClient } = (0, import_wagmi4.useWalletClient)();
|
|
21757
21763
|
const { switchChainAsync } = (0, import_wagmi4.useSwitchChain)();
|
|
21758
|
-
const swapDirection = (0,
|
|
21764
|
+
const swapDirection = (0, import_react71.useCallback)(() => {
|
|
21759
21765
|
const {
|
|
21760
21766
|
bridgeStep,
|
|
21761
21767
|
originChain,
|
|
@@ -21807,7 +21813,7 @@ function useBridge() {
|
|
|
21807
21813
|
useFlowSelectorStore.getState().setError(error instanceof Error ? error.message : String(error));
|
|
21808
21814
|
}
|
|
21809
21815
|
});
|
|
21810
|
-
const handleQuoteEstimation = (0,
|
|
21816
|
+
const handleQuoteEstimation = (0, import_react71.useCallback)((amnt) => {
|
|
21811
21817
|
const { originChain, destinationChain, bridgeSender } = useBridgeStore.getState();
|
|
21812
21818
|
if (!amnt || !Number(amnt)) {
|
|
21813
21819
|
useBridgeStore.getState().setQuote(null);
|
|
@@ -21932,14 +21938,14 @@ function useBridge() {
|
|
|
21932
21938
|
isAssetBridging
|
|
21933
21939
|
};
|
|
21934
21940
|
}
|
|
21935
|
-
var import_react_query47,
|
|
21941
|
+
var import_react_query47, import_react71, import_wagmi4;
|
|
21936
21942
|
var init_useBridge = __esm({
|
|
21937
21943
|
"src/internal/components/SendMenu/hyperbridge/hooks/useBridge.ts"() {
|
|
21938
21944
|
init_SessionContext();
|
|
21939
21945
|
init_i18n();
|
|
21940
21946
|
init_useExternalWalletStore();
|
|
21941
21947
|
import_react_query47 = require("@tanstack/react-query");
|
|
21942
|
-
|
|
21948
|
+
import_react71 = require("react");
|
|
21943
21949
|
import_wagmi4 = require("wagmi");
|
|
21944
21950
|
init_useLayoutStore();
|
|
21945
21951
|
init_useFlowSelector();
|
|
@@ -21973,7 +21979,7 @@ function useHyperlaneRoutes() {
|
|
|
21973
21979
|
return warpRoutes;
|
|
21974
21980
|
}
|
|
21975
21981
|
});
|
|
21976
|
-
(0,
|
|
21982
|
+
(0, import_react72.useEffect)(() => {
|
|
21977
21983
|
if (!errorWarpRoutes) return;
|
|
21978
21984
|
useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
|
|
21979
21985
|
const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
|
|
@@ -21982,7 +21988,7 @@ function useHyperlaneRoutes() {
|
|
|
21982
21988
|
setOriginChain(null);
|
|
21983
21989
|
setDestinationChain(null);
|
|
21984
21990
|
}, [errorWarpRoutes]);
|
|
21985
|
-
(0,
|
|
21991
|
+
(0, import_react72.useEffect)(() => {
|
|
21986
21992
|
if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
|
|
21987
21993
|
const warpRouteToAutoSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
|
|
21988
21994
|
if (!warpRouteToAutoSelect) return;
|
|
@@ -22001,12 +22007,12 @@ function useHyperlaneRoutes() {
|
|
|
22001
22007
|
}, [hyperRoute, hyperlaneWarpRoutes]);
|
|
22002
22008
|
return { hyperlaneWarpRoutes, isLoadingWarpRoutes };
|
|
22003
22009
|
}
|
|
22004
|
-
var import_react_query48,
|
|
22010
|
+
var import_react_query48, import_react72, HYPERLANE_WARP_ROUTES_QUERY_KEY;
|
|
22005
22011
|
var init_useHyperlaneRoutes = __esm({
|
|
22006
22012
|
"src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts"() {
|
|
22007
22013
|
init_SessionContext();
|
|
22008
22014
|
import_react_query48 = require("@tanstack/react-query");
|
|
22009
|
-
|
|
22015
|
+
import_react72 = require("react");
|
|
22010
22016
|
init_useLayoutDataStore();
|
|
22011
22017
|
init_useFlowSelector();
|
|
22012
22018
|
init_api3();
|
|
@@ -22022,7 +22028,7 @@ function useMenuTitle(warpRoutes) {
|
|
|
22022
22028
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
22023
22029
|
const hyperRoute = useBridgeStore((st) => st.hyperRoute);
|
|
22024
22030
|
const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
|
|
22025
|
-
(0,
|
|
22031
|
+
(0, import_react73.useEffect)(() => {
|
|
22026
22032
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
22027
22033
|
switch (true) {
|
|
22028
22034
|
case bridgeStep === "sender-selector":
|
|
@@ -22050,11 +22056,11 @@ function useMenuTitle(warpRoutes) {
|
|
|
22050
22056
|
}
|
|
22051
22057
|
}, [bridgeStep, hyperRouteMeta, t]);
|
|
22052
22058
|
}
|
|
22053
|
-
var
|
|
22059
|
+
var import_react73;
|
|
22054
22060
|
var init_useMenuTitle = __esm({
|
|
22055
22061
|
"src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts"() {
|
|
22056
22062
|
init_i18n();
|
|
22057
|
-
|
|
22063
|
+
import_react73 = require("react");
|
|
22058
22064
|
init_useFlowSelector();
|
|
22059
22065
|
init_useBridgeStore();
|
|
22060
22066
|
}
|
|
@@ -22311,7 +22317,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
22311
22317
|
};
|
|
22312
22318
|
}
|
|
22313
22319
|
});
|
|
22314
|
-
const refreshRouteTokenBalance = (0,
|
|
22320
|
+
const refreshRouteTokenBalance = (0, import_react74.useCallback)(
|
|
22315
22321
|
(senderWallet) => {
|
|
22316
22322
|
switch (true) {
|
|
22317
22323
|
case senderWallet === "embarkai-wallet":
|
|
@@ -22327,7 +22333,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
22327
22333
|
},
|
|
22328
22334
|
[refreshBalances, qc]
|
|
22329
22335
|
);
|
|
22330
|
-
(0,
|
|
22336
|
+
(0, import_react74.useEffect)(() => {
|
|
22331
22337
|
if (!bridgeSender || !originChain) return;
|
|
22332
22338
|
switch (bridgeSender) {
|
|
22333
22339
|
case "embarkai-wallet":
|
|
@@ -22358,14 +22364,14 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
22358
22364
|
isRouteTokenBalanceLoading: isAssetsLoading || isExternalBalanceLoading || isExternalNativeBalanceLoading
|
|
22359
22365
|
};
|
|
22360
22366
|
}
|
|
22361
|
-
var import_core8, import_react_query49,
|
|
22367
|
+
var import_core8, import_react_query49, import_react74, import_viem14, import_wagmi5, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY;
|
|
22362
22368
|
var init_useBridgeBalance = __esm({
|
|
22363
22369
|
"src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts"() {
|
|
22364
22370
|
init_SessionContext();
|
|
22365
22371
|
init_i18n();
|
|
22366
22372
|
import_core8 = require("@embarkai/core");
|
|
22367
22373
|
import_react_query49 = require("@tanstack/react-query");
|
|
22368
|
-
|
|
22374
|
+
import_react74 = require("react");
|
|
22369
22375
|
import_viem14 = require("viem");
|
|
22370
22376
|
import_wagmi5 = require("wagmi");
|
|
22371
22377
|
init_useBlockscoutAssets2();
|
|
@@ -22489,7 +22495,7 @@ function SelectStep(props) {
|
|
|
22489
22495
|
variant: "outline",
|
|
22490
22496
|
size: "medium",
|
|
22491
22497
|
className: "bg-[var(--ui-kit-bg)] flex items-center gap-[var(--ui-kit-gap)]",
|
|
22492
|
-
children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
22498
|
+
children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_react75.Fragment, { children: [
|
|
22493
22499
|
chIdx > 0 && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.ArrowLeftRightIcon, { className: "w-4 h-4 " }),
|
|
22494
22500
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
|
|
22495
22501
|
] }, `${selectedWarpRoute.id}-icon-${chain.chainID}-${chIdx}`))
|
|
@@ -22633,13 +22639,13 @@ function SelectStep(props) {
|
|
|
22633
22639
|
)
|
|
22634
22640
|
] });
|
|
22635
22641
|
}
|
|
22636
|
-
var import_lucide_react59,
|
|
22642
|
+
var import_lucide_react59, import_react75, import_jsx_runtime97;
|
|
22637
22643
|
var init_SelectStep = __esm({
|
|
22638
22644
|
"src/internal/components/SendMenu/hyperbridge/steps/SelectStep.tsx"() {
|
|
22639
22645
|
init_tokens();
|
|
22640
22646
|
init_i18n();
|
|
22641
22647
|
import_lucide_react59 = require("lucide-react");
|
|
22642
|
-
|
|
22648
|
+
import_react75 = require("react");
|
|
22643
22649
|
init_priceFormatter();
|
|
22644
22650
|
init_utils2();
|
|
22645
22651
|
init_Onboarding();
|
|
@@ -22689,7 +22695,7 @@ var init_checkbox = __esm({
|
|
|
22689
22695
|
// src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx
|
|
22690
22696
|
function ConfirmStep(props) {
|
|
22691
22697
|
const { isAssetBridging, bridgeAsset, hyperlaneWarpRoutes } = props;
|
|
22692
|
-
const [userConsent, setUserConsent] = (0,
|
|
22698
|
+
const [userConsent, setUserConsent] = (0, import_react76.useState)(false);
|
|
22693
22699
|
const { t } = useT();
|
|
22694
22700
|
const address = useSession((st) => st.address);
|
|
22695
22701
|
const bridgeSender = useBridgeStore((st) => st.bridgeSenders.find((s) => s.type === st.bridgeSender));
|
|
@@ -22805,13 +22811,13 @@ function ConfirmStep(props) {
|
|
|
22805
22811
|
}
|
|
22806
22812
|
);
|
|
22807
22813
|
}
|
|
22808
|
-
var import_lucide_react61,
|
|
22814
|
+
var import_lucide_react61, import_react76, import_jsx_runtime99, P_CN;
|
|
22809
22815
|
var init_ConfirmStep = __esm({
|
|
22810
22816
|
"src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx"() {
|
|
22811
22817
|
init_SessionContext();
|
|
22812
22818
|
init_i18n();
|
|
22813
22819
|
import_lucide_react61 = require("lucide-react");
|
|
22814
|
-
|
|
22820
|
+
import_react76 = require("react");
|
|
22815
22821
|
init_priceFormatter();
|
|
22816
22822
|
init_utils2();
|
|
22817
22823
|
init_Onboarding();
|
|
@@ -23188,7 +23194,7 @@ function SelectAssetRoute(props) {
|
|
|
23188
23194
|
const { hyperlaneWarpRoutes } = props;
|
|
23189
23195
|
const { t } = useT();
|
|
23190
23196
|
const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
|
|
23191
|
-
const tokenList = (0,
|
|
23197
|
+
const tokenList = (0, import_react77.useMemo)(() => {
|
|
23192
23198
|
const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
|
|
23193
23199
|
const uniqueTokens = Array.from(new Set(tokens));
|
|
23194
23200
|
return uniqueTokens.map((symbol) => ({
|
|
@@ -23268,13 +23274,13 @@ function SelectAssetRoute(props) {
|
|
|
23268
23274
|
] })
|
|
23269
23275
|
] });
|
|
23270
23276
|
}
|
|
23271
|
-
var import_lucide_react63,
|
|
23277
|
+
var import_lucide_react63, import_react77, import_jsx_runtime102;
|
|
23272
23278
|
var init_SelectAssetRoute = __esm({
|
|
23273
23279
|
"src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx"() {
|
|
23274
23280
|
init_tokens();
|
|
23275
23281
|
init_i18n();
|
|
23276
23282
|
import_lucide_react63 = require("lucide-react");
|
|
23277
|
-
|
|
23283
|
+
import_react77 = require("react");
|
|
23278
23284
|
init_button();
|
|
23279
23285
|
init_useFlowSelector();
|
|
23280
23286
|
init_ResolveChainIcon();
|
|
@@ -23302,7 +23308,7 @@ function HyperlaneBridge() {
|
|
|
23302
23308
|
const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
|
|
23303
23309
|
const { directWalletProfile } = useAvailableSenders();
|
|
23304
23310
|
useMenuTitle(hyperlaneWarpRoutes);
|
|
23305
|
-
(0,
|
|
23311
|
+
(0, import_react78.useEffect)(() => {
|
|
23306
23312
|
return () => {
|
|
23307
23313
|
useBridgeStore.getState().resetSelections();
|
|
23308
23314
|
};
|
|
@@ -23335,10 +23341,10 @@ function HyperlaneBridge() {
|
|
|
23335
23341
|
bridgeStep === "tx-history-details" && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(HistoryDetailsStep, {})
|
|
23336
23342
|
] });
|
|
23337
23343
|
}
|
|
23338
|
-
var
|
|
23344
|
+
var import_react78, import_jsx_runtime103;
|
|
23339
23345
|
var init_HyperlaneBridge = __esm({
|
|
23340
23346
|
"src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx"() {
|
|
23341
|
-
|
|
23347
|
+
import_react78 = require("react");
|
|
23342
23348
|
init_SenderSelector();
|
|
23343
23349
|
init_useAvailableSenders();
|
|
23344
23350
|
init_useBridge();
|
|
@@ -23356,7 +23362,7 @@ function BridgeHistorySwitch(props) {
|
|
|
23356
23362
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
23357
23363
|
const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
|
|
23358
23364
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
23359
|
-
const lastBridgeStepRef = (0,
|
|
23365
|
+
const lastBridgeStepRef = (0, import_react79.useRef)(null);
|
|
23360
23366
|
if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
|
|
23361
23367
|
return null;
|
|
23362
23368
|
}
|
|
@@ -23375,10 +23381,10 @@ function BridgeHistorySwitch(props) {
|
|
|
23375
23381
|
}
|
|
23376
23382
|
);
|
|
23377
23383
|
}
|
|
23378
|
-
var
|
|
23384
|
+
var import_react79, import_jsx_runtime104;
|
|
23379
23385
|
var init_HistorySwitch = __esm({
|
|
23380
23386
|
"src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx"() {
|
|
23381
|
-
|
|
23387
|
+
import_react79 = require("react");
|
|
23382
23388
|
init_switch();
|
|
23383
23389
|
init_useFlowSelector();
|
|
23384
23390
|
init_useBridgeStore();
|
|
@@ -23469,11 +23475,11 @@ function looksLikeNickname(input) {
|
|
|
23469
23475
|
}
|
|
23470
23476
|
function useNicknameResolve(input, options) {
|
|
23471
23477
|
const { enabled = true, chainId } = options;
|
|
23472
|
-
const [debouncedInput, setDebouncedInput] = (0,
|
|
23473
|
-
const [isDebouncing, setIsDebouncing] = (0,
|
|
23478
|
+
const [debouncedInput, setDebouncedInput] = (0, import_react80.useState)("");
|
|
23479
|
+
const [isDebouncing, setIsDebouncing] = (0, import_react80.useState)(false);
|
|
23474
23480
|
const normalized = normalizeNickname(input);
|
|
23475
23481
|
const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
|
|
23476
|
-
(0,
|
|
23482
|
+
(0, import_react80.useEffect)(() => {
|
|
23477
23483
|
if (!isNicknameInput || !enabled) {
|
|
23478
23484
|
setDebouncedInput("");
|
|
23479
23485
|
setIsDebouncing(false);
|
|
@@ -23499,7 +23505,7 @@ function useNicknameResolve(input, options) {
|
|
|
23499
23505
|
const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
|
|
23500
23506
|
const isWalletNotSetup = !!query.data && query.data.resolvedTarget === null;
|
|
23501
23507
|
const isFrozen = query.data?.isFrozen ?? false;
|
|
23502
|
-
const fingerprintVerification = (0,
|
|
23508
|
+
const fingerprintVerification = (0, import_react80.useMemo)(() => {
|
|
23503
23509
|
if (!query.data?.owner || !query.data?.fingerprint) {
|
|
23504
23510
|
return null;
|
|
23505
23511
|
}
|
|
@@ -23521,11 +23527,11 @@ function useNicknameResolve(input, options) {
|
|
|
23521
23527
|
resolvedAddress
|
|
23522
23528
|
};
|
|
23523
23529
|
}
|
|
23524
|
-
var import_react_query51,
|
|
23530
|
+
var import_react_query51, import_react80, DEBOUNCE_MS2;
|
|
23525
23531
|
var init_useNicknameResolve = __esm({
|
|
23526
23532
|
"src/hooks/useNicknameResolve.ts"() {
|
|
23527
23533
|
import_react_query51 = require("@tanstack/react-query");
|
|
23528
|
-
|
|
23534
|
+
import_react80 = require("react");
|
|
23529
23535
|
init_nickname();
|
|
23530
23536
|
init_profile();
|
|
23531
23537
|
init_nickname_fingerprint();
|
|
@@ -23538,10 +23544,10 @@ var init_useNicknameResolve = __esm({
|
|
|
23538
23544
|
function useSendTransaction() {
|
|
23539
23545
|
const session = useSession((st) => st.session);
|
|
23540
23546
|
const address = useSession((st) => st.address);
|
|
23541
|
-
const [isLoading, setIsLoading] = (0,
|
|
23542
|
-
const [error, setError] = (0,
|
|
23543
|
-
const [userOpHash, setUserOpHash] = (0,
|
|
23544
|
-
const sendTransaction = (0,
|
|
23547
|
+
const [isLoading, setIsLoading] = (0, import_react81.useState)(false);
|
|
23548
|
+
const [error, setError] = (0, import_react81.useState)(null);
|
|
23549
|
+
const [userOpHash, setUserOpHash] = (0, import_react81.useState)(null);
|
|
23550
|
+
const sendTransaction = (0, import_react81.useCallback)(
|
|
23545
23551
|
async (params) => {
|
|
23546
23552
|
if (!session || !address) {
|
|
23547
23553
|
setError("No active session");
|
|
@@ -23638,7 +23644,7 @@ function useSendTransaction() {
|
|
|
23638
23644
|
},
|
|
23639
23645
|
[session, address]
|
|
23640
23646
|
);
|
|
23641
|
-
const reset = (0,
|
|
23647
|
+
const reset = (0, import_react81.useCallback)(() => {
|
|
23642
23648
|
setError(null);
|
|
23643
23649
|
setUserOpHash(null);
|
|
23644
23650
|
setIsLoading(false);
|
|
@@ -23651,10 +23657,10 @@ function useSendTransaction() {
|
|
|
23651
23657
|
reset
|
|
23652
23658
|
};
|
|
23653
23659
|
}
|
|
23654
|
-
var
|
|
23660
|
+
var import_react81, import_viem15, ERC20_TRANSFER_ABI, ERC721_SAFE_TRANSFER_ABI, ERC1155_SAFE_TRANSFER_ABI;
|
|
23655
23661
|
var init_useSendTransaction = __esm({
|
|
23656
23662
|
"src/hooks/useSendTransaction.ts"() {
|
|
23657
|
-
|
|
23663
|
+
import_react81 = require("react");
|
|
23658
23664
|
import_viem15 = require("viem");
|
|
23659
23665
|
init_SessionContext();
|
|
23660
23666
|
init_account2();
|
|
@@ -23797,7 +23803,7 @@ var init_AssetInputIcon = __esm({
|
|
|
23797
23803
|
|
|
23798
23804
|
// src/internal/components/SendMenu/send/components/NftDisplayCard.tsx
|
|
23799
23805
|
function NftDisplayCard({ asset }) {
|
|
23800
|
-
const [imageError, setImageError] = (0,
|
|
23806
|
+
const [imageError, setImageError] = (0, import_react82.useState)(false);
|
|
23801
23807
|
const nftImage = asset.image || asset.nftMetadata?.image;
|
|
23802
23808
|
return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-3 p-3 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-bg-secondary)]", children: [
|
|
23803
23809
|
nftImage && !imageError ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
@@ -23825,11 +23831,11 @@ function NftDisplayCard({ asset }) {
|
|
|
23825
23831
|
] })
|
|
23826
23832
|
] });
|
|
23827
23833
|
}
|
|
23828
|
-
var import_lucide_react65,
|
|
23834
|
+
var import_lucide_react65, import_react82, import_jsx_runtime106;
|
|
23829
23835
|
var init_NftDisplayCard = __esm({
|
|
23830
23836
|
"src/internal/components/SendMenu/send/components/NftDisplayCard.tsx"() {
|
|
23831
23837
|
import_lucide_react65 = require("lucide-react");
|
|
23832
|
-
|
|
23838
|
+
import_react82 = require("react");
|
|
23833
23839
|
import_jsx_runtime106 = require("react/jsx-runtime");
|
|
23834
23840
|
}
|
|
23835
23841
|
});
|
|
@@ -23949,11 +23955,11 @@ function NicknameData(props) {
|
|
|
23949
23955
|
isWalletNotSetup,
|
|
23950
23956
|
isFrozen
|
|
23951
23957
|
} = resolvedNicknameData;
|
|
23952
|
-
(0,
|
|
23958
|
+
(0, import_react83.useEffect)(() => {
|
|
23953
23959
|
if (!resolvedNicknameData?.data?.fingerprint || !isNicknameInput) return;
|
|
23954
23960
|
useFlowSelectorStore.getState().setRenderKey(`nickname-resolved-${Date.now()}`);
|
|
23955
23961
|
}, [resolvedNicknameData, isNicknameInput]);
|
|
23956
|
-
(0,
|
|
23962
|
+
(0, import_react83.useEffect)(() => {
|
|
23957
23963
|
if (isResolving) return;
|
|
23958
23964
|
let errMessage = null;
|
|
23959
23965
|
switch (true) {
|
|
@@ -24008,11 +24014,11 @@ function NicknameData(props) {
|
|
|
24008
24014
|
] })
|
|
24009
24015
|
] });
|
|
24010
24016
|
}
|
|
24011
|
-
var import_lucide_react66,
|
|
24017
|
+
var import_lucide_react66, import_react83, import_jsx_runtime108;
|
|
24012
24018
|
var init_NicknameData = __esm({
|
|
24013
24019
|
"src/internal/components/SendMenu/send/components/NicknameData.tsx"() {
|
|
24014
24020
|
import_lucide_react66 = require("lucide-react");
|
|
24015
|
-
|
|
24021
|
+
import_react83 = require("react");
|
|
24016
24022
|
init_no_image();
|
|
24017
24023
|
init_utils2();
|
|
24018
24024
|
init_useFlowSelector();
|
|
@@ -24541,16 +24547,16 @@ function SendMenu() {
|
|
|
24541
24547
|
userOpHash,
|
|
24542
24548
|
reset
|
|
24543
24549
|
} = useSendTransaction();
|
|
24544
|
-
(0,
|
|
24550
|
+
(0, import_react84.useEffect)(() => {
|
|
24545
24551
|
useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
|
|
24546
24552
|
}, [isAssetsLoading, isTransactionPending]);
|
|
24547
|
-
(0,
|
|
24553
|
+
(0, import_react84.useEffect)(() => {
|
|
24548
24554
|
useFlowSelectorStore.getState().setError(sendTransactionError || null);
|
|
24549
24555
|
}, [sendTransactionError]);
|
|
24550
24556
|
const { txStep, recipient, amount, selectedAsset, setSelectedAsset } = useSendStore();
|
|
24551
24557
|
const isNft = isNftAsset3(selectedAsset);
|
|
24552
24558
|
const isSecurity = isSecurityToken2(selectedAsset);
|
|
24553
|
-
(0,
|
|
24559
|
+
(0, import_react84.useEffect)(() => {
|
|
24554
24560
|
const shouldDefaultAsset = assets.length > 0 && !selectedAsset;
|
|
24555
24561
|
if (!shouldDefaultAsset) return;
|
|
24556
24562
|
const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
|
|
@@ -24560,7 +24566,7 @@ function SendMenu() {
|
|
|
24560
24566
|
if (isBalance(erc20)) return setSelectedAsset(erc20);
|
|
24561
24567
|
setSelectedAsset(assets[0]);
|
|
24562
24568
|
}, [assets, selectedAsset]);
|
|
24563
|
-
(0,
|
|
24569
|
+
(0, import_react84.useEffect)(
|
|
24564
24570
|
() => () => {
|
|
24565
24571
|
useSendStore.getState().reset();
|
|
24566
24572
|
reset();
|
|
@@ -24570,7 +24576,7 @@ function SendMenu() {
|
|
|
24570
24576
|
const isNicknameInput = looksLikeNickname(recipient);
|
|
24571
24577
|
const resolvedNicknameData = useNicknameResolve(recipient, { enabled: isNicknameInput, chainId: activeChainId });
|
|
24572
24578
|
const effectiveAddress = isNicknameInput ? resolvedNicknameData?.resolvedAddress : recipient;
|
|
24573
|
-
const complianceAmount = (0,
|
|
24579
|
+
const complianceAmount = (0, import_react84.useMemo)(() => {
|
|
24574
24580
|
if (!isSecurity || !amount || !selectedAsset) return void 0;
|
|
24575
24581
|
try {
|
|
24576
24582
|
return (0, import_viem20.parseUnits)(amount, selectedAsset.decimals || 18);
|
|
@@ -24585,7 +24591,7 @@ function SendMenu() {
|
|
|
24585
24591
|
enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
|
|
24586
24592
|
chainId: activeChainId
|
|
24587
24593
|
});
|
|
24588
|
-
(0,
|
|
24594
|
+
(0, import_react84.useEffect)(() => {
|
|
24589
24595
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
24590
24596
|
switch (true) {
|
|
24591
24597
|
case txStep === "select-asset":
|
|
@@ -24655,7 +24661,7 @@ function SendMenu() {
|
|
|
24655
24661
|
] })
|
|
24656
24662
|
] });
|
|
24657
24663
|
}
|
|
24658
|
-
var import_lucide_react69,
|
|
24664
|
+
var import_lucide_react69, import_react84, import_viem20, import_jsx_runtime111;
|
|
24659
24665
|
var init_SendMenu = __esm({
|
|
24660
24666
|
"src/internal/components/SendMenu/send/SendMenu.tsx"() {
|
|
24661
24667
|
init_SessionContext();
|
|
@@ -24664,7 +24670,7 @@ var init_SendMenu = __esm({
|
|
|
24664
24670
|
init_useSendTransaction();
|
|
24665
24671
|
init_useT();
|
|
24666
24672
|
import_lucide_react69 = require("lucide-react");
|
|
24667
|
-
|
|
24673
|
+
import_react84 = require("react");
|
|
24668
24674
|
import_viem20 = require("viem");
|
|
24669
24675
|
init_useBlockscoutAssets2();
|
|
24670
24676
|
init_useLayoutDataStore();
|
|
@@ -24689,7 +24695,7 @@ var init_send = __esm({
|
|
|
24689
24695
|
|
|
24690
24696
|
// src/internal/components/SendMenu/useSendMenuParams.ts
|
|
24691
24697
|
function useSendMenuParams() {
|
|
24692
|
-
(0,
|
|
24698
|
+
(0, import_react85.useEffect)(() => {
|
|
24693
24699
|
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
24694
24700
|
if (!pageParams || !(0, import_lodash_es13.keys)(pageParams).length) return;
|
|
24695
24701
|
console.log("[SEND PARAMS]", pageParams);
|
|
@@ -24726,11 +24732,11 @@ function useSendMenuParams() {
|
|
|
24726
24732
|
setPageParams(null);
|
|
24727
24733
|
}, []);
|
|
24728
24734
|
}
|
|
24729
|
-
var import_lodash_es13,
|
|
24735
|
+
var import_lodash_es13, import_react85;
|
|
24730
24736
|
var init_useSendMenuParams = __esm({
|
|
24731
24737
|
"src/internal/components/SendMenu/useSendMenuParams.ts"() {
|
|
24732
24738
|
import_lodash_es13 = require("lodash-es");
|
|
24733
|
-
|
|
24739
|
+
import_react85 = require("react");
|
|
24734
24740
|
init_useLayoutDataStore();
|
|
24735
24741
|
init_useBridgeStore();
|
|
24736
24742
|
init_useSendStore();
|
|
@@ -24800,7 +24806,7 @@ function SendFlowSelector() {
|
|
|
24800
24806
|
const sendStep = useSendStore((st) => st.txStep);
|
|
24801
24807
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
24802
24808
|
useOnboardingTourAvailable(sendStep === "input" && bridgeStep === "select");
|
|
24803
|
-
(0,
|
|
24809
|
+
(0, import_react86.useEffect)(
|
|
24804
24810
|
() => () => {
|
|
24805
24811
|
useFlowSelectorStore.getState().setError(null);
|
|
24806
24812
|
},
|
|
@@ -24879,12 +24885,12 @@ function SendFlowSelector() {
|
|
|
24879
24885
|
}
|
|
24880
24886
|
);
|
|
24881
24887
|
}
|
|
24882
|
-
var import_lucide_react70,
|
|
24888
|
+
var import_lucide_react70, import_react86, import_jsx_runtime112, SELECTOR_FLOW;
|
|
24883
24889
|
var init_SendFlowSelector = __esm({
|
|
24884
24890
|
"src/internal/components/SendMenu/SendFlowSelector.tsx"() {
|
|
24885
24891
|
init_i18n();
|
|
24886
24892
|
import_lucide_react70 = require("lucide-react");
|
|
24887
|
-
|
|
24893
|
+
import_react86 = require("react");
|
|
24888
24894
|
init_useLayoutDataStore();
|
|
24889
24895
|
init_useLayoutStore();
|
|
24890
24896
|
init_utils2();
|
|
@@ -24952,12 +24958,12 @@ function getServerSnapshot() {
|
|
|
24952
24958
|
return false;
|
|
24953
24959
|
}
|
|
24954
24960
|
function useProMode() {
|
|
24955
|
-
return (0,
|
|
24961
|
+
return (0, import_react87.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
|
|
24956
24962
|
}
|
|
24957
|
-
var
|
|
24963
|
+
var import_react87, STORAGE_KEY, EVENT_NAME;
|
|
24958
24964
|
var init_pro_mode = __esm({
|
|
24959
24965
|
"src/internal/lib/pro-mode.ts"() {
|
|
24960
|
-
|
|
24966
|
+
import_react87 = require("react");
|
|
24961
24967
|
STORAGE_KEY = "embarkai_pro_mode";
|
|
24962
24968
|
EVENT_NAME = "embarkai-pro-mode-changed";
|
|
24963
24969
|
}
|
|
@@ -25014,7 +25020,7 @@ function useSettingsButtons() {
|
|
|
25014
25020
|
if (proMode) {
|
|
25015
25021
|
settingsButtons.push({ id: "devices" /* DEVICES */, name: "passport:guardiansMenu.title", Icon: import_lucide_react72.HardDrive });
|
|
25016
25022
|
}
|
|
25017
|
-
(0,
|
|
25023
|
+
(0, import_react88.useEffect)(() => {
|
|
25018
25024
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
25019
25025
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
25020
25026
|
return;
|
|
@@ -25080,7 +25086,7 @@ function SettingsMenu() {
|
|
|
25080
25086
|
}
|
|
25081
25087
|
);
|
|
25082
25088
|
}
|
|
25083
|
-
var import_react_query54, import_lucide_react72,
|
|
25089
|
+
var import_react_query54, import_lucide_react72, import_react88, import_jsx_runtime113;
|
|
25084
25090
|
var init_SettingsMenu = __esm({
|
|
25085
25091
|
"src/internal/components/SettingsMenu/SettingsMenu.tsx"() {
|
|
25086
25092
|
init_ProviderContext();
|
|
@@ -25088,7 +25094,7 @@ var init_SettingsMenu = __esm({
|
|
|
25088
25094
|
init_i18n();
|
|
25089
25095
|
import_react_query54 = require("@tanstack/react-query");
|
|
25090
25096
|
import_lucide_react72 = require("lucide-react");
|
|
25091
|
-
|
|
25097
|
+
import_react88 = require("react");
|
|
25092
25098
|
init_nickname();
|
|
25093
25099
|
init_profile();
|
|
25094
25100
|
init_useLayoutDataStore();
|
|
@@ -25978,7 +25984,7 @@ function TransactionsMenu() {
|
|
|
25978
25984
|
useOnboardingTourAvailable(true);
|
|
25979
25985
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
25980
25986
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
25981
|
-
const [expandedGroups, setExpandedGroups] = (0,
|
|
25987
|
+
const [expandedGroups, setExpandedGroups] = (0, import_react89.useState)({});
|
|
25982
25988
|
const historySupported = isTransactionHistorySupported(chainConfig?.id);
|
|
25983
25989
|
const {
|
|
25984
25990
|
data: txHistoryGroups = [],
|
|
@@ -25991,7 +25997,7 @@ function TransactionsMenu() {
|
|
|
25991
25997
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
|
|
25992
25998
|
queryFn: () => getTransactionsListQuery({ address, chainConfig })
|
|
25993
25999
|
});
|
|
25994
|
-
const refreshTxHistory = (0,
|
|
26000
|
+
const refreshTxHistory = (0, import_react89.useCallback)(
|
|
25995
26001
|
() => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address] }),
|
|
25996
26002
|
[qc, chainConfig.id, address]
|
|
25997
26003
|
);
|
|
@@ -26041,14 +26047,14 @@ function TransactionsMenu() {
|
|
|
26041
26047
|
}
|
|
26042
26048
|
);
|
|
26043
26049
|
}
|
|
26044
|
-
var import_react_query55, import_lucide_react75,
|
|
26050
|
+
var import_react_query55, import_lucide_react75, import_react89, import_jsx_runtime116;
|
|
26045
26051
|
var init_TransactionsMenu = __esm({
|
|
26046
26052
|
"src/internal/components/TransactionsMenu/TransactionsMenu.tsx"() {
|
|
26047
26053
|
init_SessionContext();
|
|
26048
26054
|
init_i18n();
|
|
26049
26055
|
import_react_query55 = require("@tanstack/react-query");
|
|
26050
26056
|
import_lucide_react75 = require("lucide-react");
|
|
26051
|
-
|
|
26057
|
+
import_react89 = require("react");
|
|
26052
26058
|
init_useLayoutDataStore();
|
|
26053
26059
|
init_useLayoutStore();
|
|
26054
26060
|
init_Expandable2();
|
|
@@ -26248,7 +26254,7 @@ function usePageMapper() {
|
|
|
26248
26254
|
setIsDialogOpen,
|
|
26249
26255
|
setIsDialogClosing
|
|
26250
26256
|
} = useLayoutStore();
|
|
26251
|
-
const closeDialog = (0,
|
|
26257
|
+
const closeDialog = (0, import_react90.useCallback)(() => {
|
|
26252
26258
|
setIsDialogClosing(true);
|
|
26253
26259
|
setTimeout(() => {
|
|
26254
26260
|
setDialogContent(null);
|
|
@@ -26259,7 +26265,7 @@ function usePageMapper() {
|
|
|
26259
26265
|
setIsDialogOpen(false);
|
|
26260
26266
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
26261
26267
|
}, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
|
|
26262
|
-
const openDialog = (0,
|
|
26268
|
+
const openDialog = (0, import_react90.useCallback)(
|
|
26263
26269
|
(pageItem) => {
|
|
26264
26270
|
const PageContentComponent = pageItem.component;
|
|
26265
26271
|
setDialogTitle(pageItem.title);
|
|
@@ -26269,7 +26275,7 @@ function usePageMapper() {
|
|
|
26269
26275
|
},
|
|
26270
26276
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
26271
26277
|
);
|
|
26272
|
-
(0,
|
|
26278
|
+
(0, import_react90.useEffect)(() => {
|
|
26273
26279
|
if (page === null) return closeDialog();
|
|
26274
26280
|
const pageItem = PAGE_MAP[page];
|
|
26275
26281
|
if (!pageItem) {
|
|
@@ -26280,10 +26286,10 @@ function usePageMapper() {
|
|
|
26280
26286
|
openDialog(pageItem);
|
|
26281
26287
|
}, [page, closeDialog, openDialog]);
|
|
26282
26288
|
}
|
|
26283
|
-
var
|
|
26289
|
+
var import_react90, import_jsx_runtime117, CLEAR_DIALOG_TIMEOUT;
|
|
26284
26290
|
var init_usePageMapper = __esm({
|
|
26285
26291
|
"src/internal/hooks/usePageMapper.tsx"() {
|
|
26286
|
-
|
|
26292
|
+
import_react90 = require("react");
|
|
26287
26293
|
init_PageMap();
|
|
26288
26294
|
init_constants();
|
|
26289
26295
|
init_useLayoutDataStore();
|
|
@@ -26299,24 +26305,24 @@ function useSettingsNotifications() {
|
|
|
26299
26305
|
const providers = import_auth23.jwtTokenManager.getProviders();
|
|
26300
26306
|
const hasEmail = providers.includes("email");
|
|
26301
26307
|
const { data: userProfile = null } = useUserProfile();
|
|
26302
|
-
(0,
|
|
26308
|
+
(0, import_react91.useEffect)(() => {
|
|
26303
26309
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
26304
26310
|
setSettingsNotifications({
|
|
26305
26311
|
...COMPLETE_KYC_PROGRESS,
|
|
26306
26312
|
status: isKYCVerified ? "resolved" : "active"
|
|
26307
26313
|
});
|
|
26308
26314
|
}, [userProfile, setSettingsNotifications]);
|
|
26309
|
-
(0,
|
|
26315
|
+
(0, import_react91.useEffect)(() => {
|
|
26310
26316
|
setSettingsNotifications({
|
|
26311
26317
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
26312
26318
|
status: hasEmail ? "resolved" : "active"
|
|
26313
26319
|
});
|
|
26314
26320
|
}, [hasEmail, setSettingsNotifications]);
|
|
26315
26321
|
}
|
|
26316
|
-
var
|
|
26322
|
+
var import_react91, EMAIL_NOT_CONNECTED_NOTIFICATION, COMPLETE_KYC_PROGRESS;
|
|
26317
26323
|
var init_useSettingsNotifications = __esm({
|
|
26318
26324
|
"src/internal/hooks/useSettingsNotifications.ts"() {
|
|
26319
|
-
|
|
26325
|
+
import_react91 = require("react");
|
|
26320
26326
|
init_auth();
|
|
26321
26327
|
init_useLayoutDataStore();
|
|
26322
26328
|
init_useUserProfile();
|
|
@@ -26339,7 +26345,7 @@ var init_package = __esm({
|
|
|
26339
26345
|
"package.json"() {
|
|
26340
26346
|
package_default = {
|
|
26341
26347
|
name: "@embarkai/ui-kit",
|
|
26342
|
-
version: "0.4.
|
|
26348
|
+
version: "0.4.77",
|
|
26343
26349
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
26344
26350
|
type: "module",
|
|
26345
26351
|
main: "./dist/index.cjs",
|
|
@@ -26650,7 +26656,7 @@ var init_onborading_setup = __esm({
|
|
|
26650
26656
|
},
|
|
26651
26657
|
["receive" /* RECEIVE */]: () => RECEIVE_MENU_TOUR,
|
|
26652
26658
|
["security" /* SECURITY */]: () => SECURITY_MENU_TOUR,
|
|
26653
|
-
["keysare-backup" /* KEYSARE_BACKUP */]: () => KEYSHARE_BACKUP_MENU_TOUR,
|
|
26659
|
+
["keysare-backup" /* KEYSARE_BACKUP */]: ({ config }) => config?.passkey?.enabled ? KEYSHARE_BACKUP_MENU_TOUR : KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY,
|
|
26654
26660
|
["transactions" /* TRANSACTIONS */]: () => TRANSACTIONS_MENU_TOUR,
|
|
26655
26661
|
["nickname-settings" /* NICKNAME_SETTINGS */]: () => NICKNAME_MENU_TOUR,
|
|
26656
26662
|
["manage-wallet" /* MANAGE_WALLET */]: () => MANAGE_WALLET_MENU_TOUR,
|
|
@@ -26671,11 +26677,11 @@ function Header() {
|
|
|
26671
26677
|
const embarkPage = useLayoutDataStore((st) => st.page);
|
|
26672
26678
|
const isOnboardingTourAvailable = useOnboardingStore((st) => st.isTourAvailable);
|
|
26673
26679
|
const proMode = useProMode();
|
|
26674
|
-
const [proToast, setProToast] = (0,
|
|
26675
|
-
const [copied, setCopied] = (0,
|
|
26676
|
-
const clickCountRef = (0,
|
|
26677
|
-
const clickTimerRef = (0,
|
|
26678
|
-
const handleAvatarClick = (0,
|
|
26680
|
+
const [proToast, setProToast] = (0, import_react92.useState)(false);
|
|
26681
|
+
const [copied, setCopied] = (0, import_react92.useState)(false);
|
|
26682
|
+
const clickCountRef = (0, import_react92.useRef)(0);
|
|
26683
|
+
const clickTimerRef = (0, import_react92.useRef)(null);
|
|
26684
|
+
const handleAvatarClick = (0, import_react92.useCallback)(() => {
|
|
26679
26685
|
clickCountRef.current += 1;
|
|
26680
26686
|
if (clickTimerRef.current) {
|
|
26681
26687
|
clearTimeout(clickTimerRef.current);
|
|
@@ -26770,7 +26776,7 @@ function Header() {
|
|
|
26770
26776
|
size: "small",
|
|
26771
26777
|
variant: "ghost",
|
|
26772
26778
|
className: "text-[10px] px-2",
|
|
26773
|
-
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]()),
|
|
26779
|
+
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]({ config: config.current })),
|
|
26774
26780
|
children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react77.CircleQuestionMarkIcon, { className: "w-4 h-4" })
|
|
26775
26781
|
}
|
|
26776
26782
|
)
|
|
@@ -26781,7 +26787,7 @@ function Header() {
|
|
|
26781
26787
|
}
|
|
26782
26788
|
);
|
|
26783
26789
|
}
|
|
26784
|
-
var import_lucide_react77,
|
|
26790
|
+
var import_lucide_react77, import_react92, import_jsx_runtime119;
|
|
26785
26791
|
var init_Header = __esm({
|
|
26786
26792
|
"src/internal/components/Header/Header.tsx"() {
|
|
26787
26793
|
init_lumia2();
|
|
@@ -26789,7 +26795,7 @@ var init_Header = __esm({
|
|
|
26789
26795
|
init_ProviderContext();
|
|
26790
26796
|
init_SessionContext();
|
|
26791
26797
|
import_lucide_react77 = require("lucide-react");
|
|
26792
|
-
|
|
26798
|
+
import_react92 = require("react");
|
|
26793
26799
|
init_icons();
|
|
26794
26800
|
init_auth();
|
|
26795
26801
|
init_useLayoutDataStore();
|
|
@@ -26824,7 +26830,7 @@ function useDecideContentStyles() {
|
|
|
26824
26830
|
style: (0, import_lodash_es14.merge)({}, mobileStyles)
|
|
26825
26831
|
};
|
|
26826
26832
|
}
|
|
26827
|
-
var DialogPrimitive, import_lodash_es14, import_lucide_react78,
|
|
26833
|
+
var DialogPrimitive, import_lodash_es14, import_lucide_react78, import_react93, import_jsx_runtime120, Dialog, DialogPortal, DialogOverlay, CONTENT_BG_SETUP, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;
|
|
26828
26834
|
var init_dialog = __esm({
|
|
26829
26835
|
"src/internal/components/ui/dialog.tsx"() {
|
|
26830
26836
|
init_utils2();
|
|
@@ -26833,14 +26839,14 @@ var init_dialog = __esm({
|
|
|
26833
26839
|
DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
26834
26840
|
import_lodash_es14 = require("lodash-es");
|
|
26835
26841
|
import_lucide_react78 = require("lucide-react");
|
|
26836
|
-
|
|
26842
|
+
import_react93 = require("react");
|
|
26837
26843
|
init_useLayoutDataStore();
|
|
26838
26844
|
init_useLayoutStore();
|
|
26839
26845
|
init_button();
|
|
26840
26846
|
import_jsx_runtime120 = require("react/jsx-runtime");
|
|
26841
26847
|
Dialog = DialogPrimitive.Root;
|
|
26842
26848
|
DialogPortal = DialogPrimitive.Portal;
|
|
26843
|
-
DialogOverlay = (0,
|
|
26849
|
+
DialogOverlay = (0, import_react93.forwardRef)(
|
|
26844
26850
|
({ className, closing, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
26845
26851
|
DialogPrimitive.Overlay,
|
|
26846
26852
|
{
|
|
@@ -26862,7 +26868,7 @@ var init_dialog = __esm({
|
|
|
26862
26868
|
border: "1px solid var(--ui-kit-bd)",
|
|
26863
26869
|
boxShadow: "var(--ui-kit-shadow, 0px 4px 10px var(--ui-kit-shadow-c, rgba(0, 0, 0, 0.1)))"
|
|
26864
26870
|
};
|
|
26865
|
-
DialogContent = (0,
|
|
26871
|
+
DialogContent = (0, import_react93.forwardRef)(
|
|
26866
26872
|
({ className, children, colorMode, ...props }, ref) => {
|
|
26867
26873
|
const { t, i18n } = useT();
|
|
26868
26874
|
const isSessionLoading = useSession((st) => st.isLoading);
|
|
@@ -26974,7 +26980,7 @@ var init_dialog = __esm({
|
|
|
26974
26980
|
DialogHeader.displayName = "DialogHeader";
|
|
26975
26981
|
DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
26976
26982
|
DialogFooter.displayName = "DialogFooter";
|
|
26977
|
-
DialogTitle = (0,
|
|
26983
|
+
DialogTitle = (0, import_react93.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
26978
26984
|
DialogPrimitive.Title,
|
|
26979
26985
|
{
|
|
26980
26986
|
ref,
|
|
@@ -26983,7 +26989,7 @@ var init_dialog = __esm({
|
|
|
26983
26989
|
}
|
|
26984
26990
|
));
|
|
26985
26991
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
26986
|
-
DialogDescription = (0,
|
|
26992
|
+
DialogDescription = (0, import_react93.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
26987
26993
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
26988
26994
|
}
|
|
26989
26995
|
});
|
|
@@ -27008,7 +27014,7 @@ function Dialog2() {
|
|
|
27008
27014
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
27009
27015
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
27010
27016
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
27011
|
-
(0,
|
|
27017
|
+
(0, import_react94.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
27012
27018
|
usePageMapper();
|
|
27013
27019
|
useAutoConnect();
|
|
27014
27020
|
useBackupStatusChanges();
|
|
@@ -27054,13 +27060,13 @@ function Dialog2() {
|
|
|
27054
27060
|
}
|
|
27055
27061
|
);
|
|
27056
27062
|
}
|
|
27057
|
-
var import_framer_motion,
|
|
27063
|
+
var import_framer_motion, import_react94, import_jsx_runtime122, EMBARKAI_DIALOG_ONBOARDING_ID;
|
|
27058
27064
|
var init_Dialog = __esm({
|
|
27059
27065
|
"src/internal/components/Dialog/Dialog.tsx"() {
|
|
27060
27066
|
init_ProviderContext();
|
|
27061
27067
|
init_SessionContext();
|
|
27062
27068
|
import_framer_motion = require("framer-motion");
|
|
27063
|
-
|
|
27069
|
+
import_react94 = require("react");
|
|
27064
27070
|
init_constants();
|
|
27065
27071
|
init_useAutoConnect();
|
|
27066
27072
|
init_useBackupStatusChanges();
|
|
@@ -27098,13 +27104,13 @@ function DirectWalletHandler() {
|
|
|
27098
27104
|
const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
|
|
27099
27105
|
const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
|
|
27100
27106
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
27101
|
-
(0,
|
|
27107
|
+
(0, import_react95.useEffect)(() => {
|
|
27102
27108
|
setConfigMode(walletMode);
|
|
27103
27109
|
if (walletMode !== "both") {
|
|
27104
27110
|
setActiveMode(walletMode);
|
|
27105
27111
|
}
|
|
27106
27112
|
}, [walletMode, setConfigMode, setActiveMode]);
|
|
27107
|
-
(0,
|
|
27113
|
+
(0, import_react95.useEffect)(() => {
|
|
27108
27114
|
if (isConnected && address && !isExternalConnected && connector && chain?.id) {
|
|
27109
27115
|
setExternalWallet({
|
|
27110
27116
|
address,
|
|
@@ -27113,17 +27119,17 @@ function DirectWalletHandler() {
|
|
|
27113
27119
|
});
|
|
27114
27120
|
}
|
|
27115
27121
|
}, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
|
|
27116
|
-
(0,
|
|
27122
|
+
(0, import_react95.useEffect)(() => {
|
|
27117
27123
|
if (isExternalConnected && !isConnected) {
|
|
27118
27124
|
clearExternalWallet();
|
|
27119
27125
|
}
|
|
27120
27126
|
}, [isConnected, isExternalConnected, clearExternalWallet]);
|
|
27121
|
-
(0,
|
|
27127
|
+
(0, import_react95.useEffect)(() => {
|
|
27122
27128
|
if (isExternalConnected && isConnected && chain?.id) {
|
|
27123
27129
|
setExternalChainId(chain.id);
|
|
27124
27130
|
}
|
|
27125
27131
|
}, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
|
|
27126
|
-
(0,
|
|
27132
|
+
(0, import_react95.useEffect)(() => {
|
|
27127
27133
|
if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
|
|
27128
27134
|
setExternalWallet({
|
|
27129
27135
|
address,
|
|
@@ -27134,10 +27140,10 @@ function DirectWalletHandler() {
|
|
|
27134
27140
|
}, [address, isConnected, isExternalConnected, externalAddress, chain?.id, connector, setExternalWallet]);
|
|
27135
27141
|
return null;
|
|
27136
27142
|
}
|
|
27137
|
-
var
|
|
27143
|
+
var import_react95, import_wagmi8;
|
|
27138
27144
|
var init_DirectWalletHandler = __esm({
|
|
27139
27145
|
"src/internal/components/DirectWalletHandler.tsx"() {
|
|
27140
|
-
|
|
27146
|
+
import_react95 = require("react");
|
|
27141
27147
|
import_wagmi8 = require("wagmi");
|
|
27142
27148
|
init_ProviderContext();
|
|
27143
27149
|
init_useExternalWalletStore();
|
|
@@ -27145,14 +27151,14 @@ var init_DirectWalletHandler = __esm({
|
|
|
27145
27151
|
});
|
|
27146
27152
|
|
|
27147
27153
|
// src/internal/components/TssManager.tsx
|
|
27148
|
-
var
|
|
27154
|
+
var import_react96, TssManagerWithRef;
|
|
27149
27155
|
var init_TssManager = __esm({
|
|
27150
27156
|
"src/internal/components/TssManager.tsx"() {
|
|
27151
27157
|
init_SessionContext();
|
|
27152
|
-
|
|
27158
|
+
import_react96 = __toESM(require("react"), 1);
|
|
27153
27159
|
init_auth();
|
|
27154
27160
|
init_clients();
|
|
27155
|
-
TssManagerWithRef =
|
|
27161
|
+
TssManagerWithRef = import_react96.default.forwardRef((props, ref) => {
|
|
27156
27162
|
const { mpcPin } = props;
|
|
27157
27163
|
const usePaymaster = useSession((st) => st.usePaymaster);
|
|
27158
27164
|
const publicClient = useSession((st) => st.publicClient);
|
|
@@ -27160,14 +27166,14 @@ var init_TssManager = __esm({
|
|
|
27160
27166
|
const setStatus = useSession((st) => st.setStatus);
|
|
27161
27167
|
const setSession = useSession((st) => st.setSession);
|
|
27162
27168
|
const setAddress = useSession((st) => st.setAddress);
|
|
27163
|
-
const onSessionCreated = (0,
|
|
27169
|
+
const onSessionCreated = (0, import_react96.useCallback)(
|
|
27164
27170
|
(session, address) => {
|
|
27165
27171
|
setSession(session);
|
|
27166
27172
|
setAddress(address);
|
|
27167
27173
|
},
|
|
27168
27174
|
[setSession, setAddress]
|
|
27169
27175
|
);
|
|
27170
|
-
const createSessionWithKeyshare =
|
|
27176
|
+
const createSessionWithKeyshare = import_react96.default.useCallback(
|
|
27171
27177
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
27172
27178
|
setStatus("checking key management setup...");
|
|
27173
27179
|
await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
|
|
@@ -27192,7 +27198,7 @@ var init_TssManager = __esm({
|
|
|
27192
27198
|
},
|
|
27193
27199
|
[setStatus, usePaymaster, activeChainId, publicClient, mpcPin]
|
|
27194
27200
|
);
|
|
27195
|
-
|
|
27201
|
+
import_react96.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
|
|
27196
27202
|
return null;
|
|
27197
27203
|
});
|
|
27198
27204
|
}
|
|
@@ -27220,7 +27226,7 @@ function WalletConnectHandler() {
|
|
|
27220
27226
|
const projectId = providerConfig?.projectId;
|
|
27221
27227
|
const setExternalWallet = useExternalWalletStore((st) => st.setExternalWallet);
|
|
27222
27228
|
const setPendingWalletLogin = useLayoutDataStore((st) => st.setPendingWalletLogin);
|
|
27223
|
-
const onLinkingComplete = (0,
|
|
27229
|
+
const onLinkingComplete = (0, import_react97.useCallback)(
|
|
27224
27230
|
async (success) => {
|
|
27225
27231
|
setIsWalletLinking(false);
|
|
27226
27232
|
if (!success && !passportWalletAddress) {
|
|
@@ -27249,10 +27255,10 @@ function WalletConnectHandler() {
|
|
|
27249
27255
|
},
|
|
27250
27256
|
[qc, passportWalletAddress, setProviderType, setPage, setIsWalletLinking]
|
|
27251
27257
|
);
|
|
27252
|
-
const [hasStartedLinking, setHasStartedLinking] =
|
|
27253
|
-
const [modalWasOpened, setModalWasOpened] =
|
|
27254
|
-
const [pendingModalOpen, setPendingModalOpen] =
|
|
27255
|
-
(0,
|
|
27258
|
+
const [hasStartedLinking, setHasStartedLinking] = import_react97.default.useState(false);
|
|
27259
|
+
const [modalWasOpened, setModalWasOpened] = import_react97.default.useState(false);
|
|
27260
|
+
const [pendingModalOpen, setPendingModalOpen] = import_react97.default.useState(false);
|
|
27261
|
+
(0, import_react97.useEffect)(() => {
|
|
27256
27262
|
if (isWalletLinking && !hasStartedLinking) {
|
|
27257
27263
|
console.log("[WalletConnectHandler] Starting wallet link flow:", {
|
|
27258
27264
|
isConnected,
|
|
@@ -27290,18 +27296,18 @@ function WalletConnectHandler() {
|
|
|
27290
27296
|
setProviderType,
|
|
27291
27297
|
walletMode
|
|
27292
27298
|
]);
|
|
27293
|
-
(0,
|
|
27299
|
+
(0, import_react97.useEffect)(() => {
|
|
27294
27300
|
if (pendingModalOpen && !isConnected && openConnectModal) {
|
|
27295
27301
|
setPendingModalOpen(false);
|
|
27296
27302
|
openConnectModal();
|
|
27297
27303
|
}
|
|
27298
27304
|
}, [pendingModalOpen, isConnected, openConnectModal]);
|
|
27299
|
-
(0,
|
|
27305
|
+
(0, import_react97.useEffect)(() => {
|
|
27300
27306
|
if (connectModalOpen && hasStartedLinking) {
|
|
27301
27307
|
setModalWasOpened(true);
|
|
27302
27308
|
}
|
|
27303
27309
|
}, [connectModalOpen, hasStartedLinking]);
|
|
27304
|
-
(0,
|
|
27310
|
+
(0, import_react97.useEffect)(() => {
|
|
27305
27311
|
if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
27306
27312
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
27307
27313
|
onLinkingComplete(false);
|
|
@@ -27309,7 +27315,7 @@ function WalletConnectHandler() {
|
|
|
27309
27315
|
setModalWasOpened(false);
|
|
27310
27316
|
}
|
|
27311
27317
|
}, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
|
|
27312
|
-
(0,
|
|
27318
|
+
(0, import_react97.useEffect)(() => {
|
|
27313
27319
|
if (isWalletLinking) {
|
|
27314
27320
|
const timeout = setTimeout(() => {
|
|
27315
27321
|
console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
|
|
@@ -27429,7 +27435,7 @@ function WalletConnectHandler() {
|
|
|
27429
27435
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
27430
27436
|
}
|
|
27431
27437
|
});
|
|
27432
|
-
(0,
|
|
27438
|
+
(0, import_react97.useEffect)(() => {
|
|
27433
27439
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
|
|
27434
27440
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
27435
27441
|
if (!passportWalletAddress) {
|
|
@@ -27439,7 +27445,7 @@ function WalletConnectHandler() {
|
|
|
27439
27445
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
27440
27446
|
}
|
|
27441
27447
|
}, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
|
|
27442
|
-
(0,
|
|
27448
|
+
(0, import_react97.useEffect)(() => {
|
|
27443
27449
|
if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
|
|
27444
27450
|
const timeout = setTimeout(() => {
|
|
27445
27451
|
console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
|
|
@@ -27461,7 +27467,7 @@ function WalletConnectHandler() {
|
|
|
27461
27467
|
]);
|
|
27462
27468
|
return null;
|
|
27463
27469
|
}
|
|
27464
|
-
var import_rainbowkit2, import_react_query57,
|
|
27470
|
+
var import_rainbowkit2, import_react_query57, import_react97, import_wagmi9;
|
|
27465
27471
|
var init_WalletConnectHandler = __esm({
|
|
27466
27472
|
"src/internal/components/WalletConnectHandler.tsx"() {
|
|
27467
27473
|
init_ProviderContext();
|
|
@@ -27469,7 +27475,7 @@ var init_WalletConnectHandler = __esm({
|
|
|
27469
27475
|
init_linkedProfiles();
|
|
27470
27476
|
import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
27471
27477
|
import_react_query57 = require("@tanstack/react-query");
|
|
27472
|
-
|
|
27478
|
+
import_react97 = __toESM(require("react"), 1);
|
|
27473
27479
|
import_wagmi9 = require("wagmi");
|
|
27474
27480
|
init_wallet();
|
|
27475
27481
|
init_AuthMenu2();
|
|
@@ -27497,7 +27503,7 @@ function waitForStoreHydration() {
|
|
|
27497
27503
|
}
|
|
27498
27504
|
function SessionProvider({ children }) {
|
|
27499
27505
|
const config = useProviderConfig().config;
|
|
27500
|
-
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
27506
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_react98.Fragment, { children: [
|
|
27501
27507
|
children,
|
|
27502
27508
|
config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(WalletConnectHandler, {}),
|
|
27503
27509
|
config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(DirectWalletHandler, {}),
|
|
@@ -27513,11 +27519,11 @@ function SessionProvider({ children }) {
|
|
|
27513
27519
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(OnboardingOverlay, {})
|
|
27514
27520
|
] });
|
|
27515
27521
|
}
|
|
27516
|
-
var import_read22,
|
|
27522
|
+
var import_read22, import_react98, import_zustand16, import_middleware4, import_jsx_runtime123, useSession, requireActiveChainId;
|
|
27517
27523
|
var init_SessionContext = __esm({
|
|
27518
27524
|
"src/context/SessionContext.tsx"() {
|
|
27519
27525
|
import_read22 = require("@embarkai/core/read");
|
|
27520
|
-
|
|
27526
|
+
import_react98 = require("react");
|
|
27521
27527
|
import_zustand16 = require("zustand");
|
|
27522
27528
|
import_middleware4 = require("zustand/middleware");
|
|
27523
27529
|
init_BalanceFeedProvider2();
|
|
@@ -30198,7 +30204,7 @@ var init_rainbowkit = __esm({
|
|
|
30198
30204
|
function RainbowKitProvider({ children }) {
|
|
30199
30205
|
const config = useProviderConfig().config;
|
|
30200
30206
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
30201
|
-
const rainbowConfig = (0,
|
|
30207
|
+
const rainbowConfig = (0, import_react99.useMemo)(
|
|
30202
30208
|
() => createRainbowConfig({
|
|
30203
30209
|
projectId: config.current?.wallet?.walletConnectProjectId,
|
|
30204
30210
|
allowedWallets: config.current?.wallet?.allowedWallets,
|
|
@@ -30212,7 +30218,7 @@ function RainbowKitProvider({ children }) {
|
|
|
30212
30218
|
config.current?.wallet?.walletConnectProjectId
|
|
30213
30219
|
]
|
|
30214
30220
|
);
|
|
30215
|
-
const customTheme = (0,
|
|
30221
|
+
const customTheme = (0, import_react99.useMemo)(() => {
|
|
30216
30222
|
if (!config.current?.wallet?.enabled) return {};
|
|
30217
30223
|
return colorMode === "dark" ? {
|
|
30218
30224
|
...(0, import_rainbowkit4.darkTheme)(),
|
|
@@ -30229,11 +30235,11 @@ function RainbowKitProvider({ children }) {
|
|
|
30229
30235
|
if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_jsx_runtime124.Fragment, { children });
|
|
30230
30236
|
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_wagmi11.WagmiProvider, { config: rainbowConfig, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_rainbowkit4.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
|
|
30231
30237
|
}
|
|
30232
|
-
var import_rainbowkit4,
|
|
30238
|
+
var import_rainbowkit4, import_react99, import_wagmi11, import_styles, import_jsx_runtime124;
|
|
30233
30239
|
var init_RainbowKitContext = __esm({
|
|
30234
30240
|
"src/context/RainbowKitContext.tsx"() {
|
|
30235
30241
|
import_rainbowkit4 = require("@rainbow-me/rainbowkit");
|
|
30236
|
-
|
|
30242
|
+
import_react99 = require("react");
|
|
30237
30243
|
import_wagmi11 = require("wagmi");
|
|
30238
30244
|
init_rainbowkit();
|
|
30239
30245
|
init_useLayoutStore();
|
|
@@ -30289,10 +30295,10 @@ function clearLegacyWagmiStorage() {
|
|
|
30289
30295
|
}
|
|
30290
30296
|
function Provider(props) {
|
|
30291
30297
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
30292
|
-
const callbacksRef = (0,
|
|
30293
|
-
(0,
|
|
30294
|
-
const config = (0,
|
|
30295
|
-
const updateConfig = (0,
|
|
30298
|
+
const callbacksRef = (0, import_react100.useRef)(callbacks);
|
|
30299
|
+
(0, import_react100.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
|
|
30300
|
+
const config = (0, import_react100.useRef)((0, import_lodash_es15.merge)({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
30301
|
+
const updateConfig = (0, import_react100.useCallback)((updates) => {
|
|
30296
30302
|
const prev = config.current;
|
|
30297
30303
|
const next = { ...prev };
|
|
30298
30304
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -30326,12 +30332,12 @@ function Provider(props) {
|
|
|
30326
30332
|
if (updates.translations) next.translations = { ...next.translations, ...updates.translations };
|
|
30327
30333
|
config.current = next;
|
|
30328
30334
|
}, []);
|
|
30329
|
-
const updateCallbacks = (0,
|
|
30335
|
+
const updateCallbacks = (0, import_react100.useCallback)((updates) => {
|
|
30330
30336
|
const prev = callbacksRef.current;
|
|
30331
30337
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
30332
30338
|
callbacksRef.current = next;
|
|
30333
30339
|
}, []);
|
|
30334
|
-
(0,
|
|
30340
|
+
(0, import_react100.useEffect)(() => {
|
|
30335
30341
|
if (typeof window === "undefined" || !projectId) return;
|
|
30336
30342
|
const mergedConfig = (0, import_lodash_es15.merge)(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
30337
30343
|
updateConfig(mergedConfig);
|
|
@@ -30351,7 +30357,7 @@ function Provider(props) {
|
|
|
30351
30357
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
30352
30358
|
}
|
|
30353
30359
|
}, [projectId, initialConfig]);
|
|
30354
|
-
(0,
|
|
30360
|
+
(0, import_react100.useEffect)(() => {
|
|
30355
30361
|
if (typeof window === "undefined" || !projectId) return;
|
|
30356
30362
|
try {
|
|
30357
30363
|
(0, import_error_tracking4.initSdkErrorTracking)();
|
|
@@ -30380,7 +30386,7 @@ function Provider(props) {
|
|
|
30380
30386
|
console.error("[PROVIDER] Error setting up iframe manager:", error);
|
|
30381
30387
|
}
|
|
30382
30388
|
}, [projectId]);
|
|
30383
|
-
const contextValue = (0,
|
|
30389
|
+
const contextValue = (0, import_react100.useMemo)(
|
|
30384
30390
|
() => ({
|
|
30385
30391
|
config,
|
|
30386
30392
|
updateConfig,
|
|
@@ -30401,12 +30407,12 @@ function Provider(props) {
|
|
|
30401
30407
|
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(WagmiProvider2, { children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SessionProvider, { children }) }) })
|
|
30402
30408
|
);
|
|
30403
30409
|
}
|
|
30404
|
-
var import_error_tracking4, import_lodash_es15,
|
|
30410
|
+
var import_error_tracking4, import_lodash_es15, import_react100, import_jsx_runtime126, UIContext, useProviderConfig;
|
|
30405
30411
|
var init_ProviderContext = __esm({
|
|
30406
30412
|
"src/context/ProviderContext.tsx"() {
|
|
30407
30413
|
import_error_tracking4 = require("@embarkai/core/internal/error-tracking");
|
|
30408
30414
|
import_lodash_es15 = require("lodash-es");
|
|
30409
|
-
|
|
30415
|
+
import_react100 = require("react");
|
|
30410
30416
|
init_initial();
|
|
30411
30417
|
init_iframe_manager();
|
|
30412
30418
|
init_RainbowKitContext();
|
|
@@ -30414,9 +30420,9 @@ var init_ProviderContext = __esm({
|
|
|
30414
30420
|
init_utils12();
|
|
30415
30421
|
init_WagmiContext();
|
|
30416
30422
|
import_jsx_runtime126 = require("react/jsx-runtime");
|
|
30417
|
-
UIContext = (0,
|
|
30423
|
+
UIContext = (0, import_react100.createContext)(void 0);
|
|
30418
30424
|
useProviderConfig = () => {
|
|
30419
|
-
const ctx = (0,
|
|
30425
|
+
const ctx = (0, import_react100.useContext)(UIContext);
|
|
30420
30426
|
if (!ctx) throw new Error("useProviderConfig must be used within a Provider");
|
|
30421
30427
|
return ctx;
|
|
30422
30428
|
};
|
|
@@ -30523,7 +30529,7 @@ __export(index_exports, {
|
|
|
30523
30529
|
module.exports = __toCommonJS(index_exports);
|
|
30524
30530
|
|
|
30525
30531
|
// src/styles/built.css
|
|
30526
|
-
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}`;
|
|
30532
|
+
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}`;
|
|
30527
30533
|
|
|
30528
30534
|
// src/index.ts
|
|
30529
30535
|
var import_core10 = require("@embarkai/core");
|
|
@@ -30533,7 +30539,7 @@ init_ProviderContext();
|
|
|
30533
30539
|
init_lumia2();
|
|
30534
30540
|
init_embarkAI2();
|
|
30535
30541
|
var import_lucide_react79 = require("lucide-react");
|
|
30536
|
-
var
|
|
30542
|
+
var import_react101 = require("react");
|
|
30537
30543
|
init_SessionContext();
|
|
30538
30544
|
init_auth();
|
|
30539
30545
|
init_BalanceView2();
|
|
@@ -30566,10 +30572,10 @@ function ConnectWalletButton(props) {
|
|
|
30566
30572
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
30567
30573
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
30568
30574
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
30569
|
-
(0,
|
|
30575
|
+
(0, import_react101.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
30570
30576
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
30571
30577
|
const displayName = profile?.nicknameDisplay || profile?.displayName || import_auth23.jwtTokenManager.getDisplayName();
|
|
30572
|
-
const indicators = (0,
|
|
30578
|
+
const indicators = (0, import_react101.useMemo)(() => {
|
|
30573
30579
|
const userId = session?.mpcUserId;
|
|
30574
30580
|
if (!userId) return { server: false, local: false, backup: false };
|
|
30575
30581
|
const server = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
|
|
@@ -31208,14 +31214,14 @@ var Hash = ({
|
|
|
31208
31214
|
};
|
|
31209
31215
|
|
|
31210
31216
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
31211
|
-
var
|
|
31217
|
+
var import_react102 = require("react");
|
|
31212
31218
|
init_base2();
|
|
31213
31219
|
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
31214
31220
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
31215
|
-
const [transactions, setTransactions] = (0,
|
|
31216
|
-
const [loading, setLoading] = (0,
|
|
31217
|
-
const [error, setError] = (0,
|
|
31218
|
-
(0,
|
|
31221
|
+
const [transactions, setTransactions] = (0, import_react102.useState)([]);
|
|
31222
|
+
const [loading, setLoading] = (0, import_react102.useState)(true);
|
|
31223
|
+
const [error, setError] = (0, import_react102.useState)(null);
|
|
31224
|
+
(0, import_react102.useEffect)(() => {
|
|
31219
31225
|
const fetchTransactions2 = async () => {
|
|
31220
31226
|
try {
|
|
31221
31227
|
setLoading(true);
|
|
@@ -31506,13 +31512,13 @@ function useUserOpStatus(options = {}) {
|
|
|
31506
31512
|
init_useErc3643Compliance();
|
|
31507
31513
|
|
|
31508
31514
|
// src/hooks/useWalletMode.ts
|
|
31509
|
-
var
|
|
31515
|
+
var import_react103 = require("react");
|
|
31510
31516
|
init_useExternalWalletStore();
|
|
31511
31517
|
function useWalletMode() {
|
|
31512
31518
|
const configMode = useExternalWalletStore((st) => st.configMode);
|
|
31513
31519
|
const activeMode = useExternalWalletStore((st) => st.activeMode);
|
|
31514
31520
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
31515
|
-
const switchMode = (0,
|
|
31521
|
+
const switchMode = (0, import_react103.useCallback)(
|
|
31516
31522
|
(mode) => {
|
|
31517
31523
|
if (configMode !== "both") return;
|
|
31518
31524
|
setActiveMode(mode);
|
|
@@ -31528,7 +31534,7 @@ function useWalletMode() {
|
|
|
31528
31534
|
}
|
|
31529
31535
|
|
|
31530
31536
|
// src/hooks/useDirectWallet.ts
|
|
31531
|
-
var
|
|
31537
|
+
var import_react104 = require("react");
|
|
31532
31538
|
var import_rainbowkit6 = require("@rainbow-me/rainbowkit");
|
|
31533
31539
|
var import_wagmi13 = require("wagmi");
|
|
31534
31540
|
init_useExternalWalletStore();
|
|
@@ -31542,13 +31548,13 @@ function useDirectWallet() {
|
|
|
31542
31548
|
const { disconnect: wagmiDisconnect } = (0, import_wagmi13.useDisconnect)();
|
|
31543
31549
|
const { openConnectModal } = (0, import_rainbowkit6.useConnectModal)();
|
|
31544
31550
|
const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
|
|
31545
|
-
const connect = (0,
|
|
31551
|
+
const connect = (0, import_react104.useCallback)(() => {
|
|
31546
31552
|
setIsWalletLinking(true);
|
|
31547
31553
|
}, [setIsWalletLinking]);
|
|
31548
|
-
const reconnect = (0,
|
|
31554
|
+
const reconnect = (0, import_react104.useCallback)(() => {
|
|
31549
31555
|
if (openConnectModal) openConnectModal();
|
|
31550
31556
|
}, [openConnectModal]);
|
|
31551
|
-
const disconnect = (0,
|
|
31557
|
+
const disconnect = (0, import_react104.useCallback)(() => {
|
|
31552
31558
|
wagmiDisconnect();
|
|
31553
31559
|
clearExternalWallet();
|
|
31554
31560
|
}, [wagmiDisconnect, clearExternalWallet]);
|
|
@@ -31564,7 +31570,7 @@ function useDirectWallet() {
|
|
|
31564
31570
|
}
|
|
31565
31571
|
|
|
31566
31572
|
// src/hooks/useSendDirectTransaction.ts
|
|
31567
|
-
var
|
|
31573
|
+
var import_react105 = require("react");
|
|
31568
31574
|
var import_viem22 = require("viem");
|
|
31569
31575
|
var import_wagmi14 = require("wagmi");
|
|
31570
31576
|
init_useExternalWalletStore();
|
|
@@ -31573,10 +31579,10 @@ function useSendDirectTransaction() {
|
|
|
31573
31579
|
const externalChainId = useExternalWalletStore((st) => st.externalChainId);
|
|
31574
31580
|
const { sendTransactionAsync } = (0, import_wagmi14.useSendTransaction)();
|
|
31575
31581
|
const { switchChainAsync } = (0, import_wagmi14.useSwitchChain)();
|
|
31576
|
-
const [isPending, setIsPending] = (0,
|
|
31577
|
-
const [error, setError] = (0,
|
|
31578
|
-
const [txHash, setTxHash] = (0,
|
|
31579
|
-
const sendTransaction = (0,
|
|
31582
|
+
const [isPending, setIsPending] = (0, import_react105.useState)(false);
|
|
31583
|
+
const [error, setError] = (0, import_react105.useState)(null);
|
|
31584
|
+
const [txHash, setTxHash] = (0, import_react105.useState)(null);
|
|
31585
|
+
const sendTransaction = (0, import_react105.useCallback)(
|
|
31580
31586
|
async (params) => {
|
|
31581
31587
|
if (!isConnected) {
|
|
31582
31588
|
setError("No external wallet connected");
|
|
@@ -31610,7 +31616,7 @@ function useSendDirectTransaction() {
|
|
|
31610
31616
|
},
|
|
31611
31617
|
[isConnected, externalChainId, sendTransactionAsync, switchChainAsync]
|
|
31612
31618
|
);
|
|
31613
|
-
const reset = (0,
|
|
31619
|
+
const reset = (0, import_react105.useCallback)(() => {
|
|
31614
31620
|
setError(null);
|
|
31615
31621
|
setTxHash(null);
|
|
31616
31622
|
setIsPending(false);
|
|
@@ -31619,7 +31625,7 @@ function useSendDirectTransaction() {
|
|
|
31619
31625
|
}
|
|
31620
31626
|
|
|
31621
31627
|
// src/hooks/useTransferToLinkedWallet.ts
|
|
31622
|
-
var
|
|
31628
|
+
var import_react106 = require("react");
|
|
31623
31629
|
var import_viem23 = require("viem");
|
|
31624
31630
|
init_SessionContext();
|
|
31625
31631
|
init_account2();
|
|
@@ -31638,14 +31644,14 @@ var ERC20_TRANSFER_ABI2 = [
|
|
|
31638
31644
|
function useTransferToLinkedWallet() {
|
|
31639
31645
|
const session = useSession((st) => st.session);
|
|
31640
31646
|
const { profiles } = useLinkedProfiles();
|
|
31641
|
-
const [isPending, setIsPending] = (0,
|
|
31642
|
-
const [error, setError] = (0,
|
|
31643
|
-
const [userOpHash, setUserOpHash] = (0,
|
|
31644
|
-
const linkedWallets = (0,
|
|
31647
|
+
const [isPending, setIsPending] = (0, import_react106.useState)(false);
|
|
31648
|
+
const [error, setError] = (0, import_react106.useState)(null);
|
|
31649
|
+
const [userOpHash, setUserOpHash] = (0, import_react106.useState)(null);
|
|
31650
|
+
const linkedWallets = (0, import_react106.useMemo)(
|
|
31645
31651
|
() => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
|
|
31646
31652
|
[profiles]
|
|
31647
31653
|
);
|
|
31648
|
-
const transfer = (0,
|
|
31654
|
+
const transfer = (0, import_react106.useCallback)(
|
|
31649
31655
|
async (params) => {
|
|
31650
31656
|
if (!session) {
|
|
31651
31657
|
setError("No active session");
|
|
@@ -31696,7 +31702,7 @@ function useTransferToLinkedWallet() {
|
|
|
31696
31702
|
},
|
|
31697
31703
|
[session, linkedWallets]
|
|
31698
31704
|
);
|
|
31699
|
-
const reset = (0,
|
|
31705
|
+
const reset = (0, import_react106.useCallback)(() => {
|
|
31700
31706
|
setError(null);
|
|
31701
31707
|
setUserOpHash(null);
|
|
31702
31708
|
setIsPending(false);
|
|
@@ -31720,7 +31726,7 @@ function useNativeWalletSignature() {
|
|
|
31720
31726
|
|
|
31721
31727
|
// src/hooks/useLogout.ts
|
|
31722
31728
|
var import_auth25 = require("@embarkai/core/auth");
|
|
31723
|
-
var
|
|
31729
|
+
var import_react107 = require("react");
|
|
31724
31730
|
var import_wagmi16 = require("wagmi");
|
|
31725
31731
|
init_ProviderContext();
|
|
31726
31732
|
init_SessionContext();
|
|
@@ -31740,7 +31746,7 @@ function useLogout() {
|
|
|
31740
31746
|
}
|
|
31741
31747
|
}
|
|
31742
31748
|
});
|
|
31743
|
-
const logout2 = (0,
|
|
31749
|
+
const logout2 = (0, import_react107.useCallback)(async () => {
|
|
31744
31750
|
const { setSession, setIsLoading, setAddress, setStatus, setError } = useSession.getState();
|
|
31745
31751
|
const prevAddress = address;
|
|
31746
31752
|
let userId = null;
|
|
@@ -31859,7 +31865,7 @@ function useTransactions() {
|
|
|
31859
31865
|
|
|
31860
31866
|
// src/modules/assets.ts
|
|
31861
31867
|
init_SessionContext();
|
|
31862
|
-
var
|
|
31868
|
+
var import_react108 = __toESM(require("react"), 1);
|
|
31863
31869
|
var import_viem25 = require("viem");
|
|
31864
31870
|
var import_wagmi18 = require("wagmi");
|
|
31865
31871
|
var COMMON_TOKENS = [
|
|
@@ -32014,7 +32020,7 @@ function useTokenBalance2(tokenAddress, userAddress) {
|
|
|
32014
32020
|
}
|
|
32015
32021
|
});
|
|
32016
32022
|
const { tokenInfo } = useTokenInfo(tokenAddress);
|
|
32017
|
-
const formattedBalance =
|
|
32023
|
+
const formattedBalance = import_react108.default.useMemo(() => {
|
|
32018
32024
|
if (!balance || !tokenInfo) return "0";
|
|
32019
32025
|
return (0, import_viem25.formatUnits)(balance, tokenInfo.decimals);
|
|
32020
32026
|
}, [balance, tokenInfo]);
|