@embarkai/ui-kit 0.4.76 → 0.4.78
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 +451 -437
- package/dist/index.d.cts +16 -3
- package/dist/index.d.ts +16 -3
- package/dist/index.js +340 -326
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -168,13 +168,14 @@ var init_initial = __esm({
|
|
|
168
168
|
authOrder: ["email", "social", "wallet"]
|
|
169
169
|
},
|
|
170
170
|
network: {
|
|
171
|
-
name: import_read.
|
|
172
|
-
symbol: import_read.
|
|
173
|
-
chainId: import_read.
|
|
174
|
-
rpcUrl: import_read.
|
|
175
|
-
explorerUrl: import_read.
|
|
176
|
-
testnet:
|
|
177
|
-
forceChain: false
|
|
171
|
+
name: import_read.LUMIA_MAINNET.name,
|
|
172
|
+
symbol: import_read.LUMIA_MAINNET.nativeCurrency.symbol,
|
|
173
|
+
chainId: import_read.LUMIA_MAINNET.id,
|
|
174
|
+
rpcUrl: import_read.LUMIA_MAINNET.rpcUrls[0],
|
|
175
|
+
explorerUrl: import_read.LUMIA_MAINNET.blockExplorerUrl,
|
|
176
|
+
testnet: false,
|
|
177
|
+
forceChain: false,
|
|
178
|
+
autoswitch: false
|
|
178
179
|
},
|
|
179
180
|
services: {
|
|
180
181
|
tssUrl: "",
|
|
@@ -1378,7 +1379,7 @@ function ChainSync() {
|
|
|
1378
1379
|
}, [address, activeChainId]);
|
|
1379
1380
|
(0, import_react2.useEffect)(() => {
|
|
1380
1381
|
if (!address || !activeChainId) return;
|
|
1381
|
-
const shouldSwitchRequest = !config.current?.network?.forceChain && activeChainId !== config.current?.network?.chainId;
|
|
1382
|
+
const shouldSwitchRequest = !config.current?.network?.forceChain && !!config.current?.network?.autoswitch && activeChainId !== config.current?.network?.chainId;
|
|
1382
1383
|
async function showSwitchChainRequest() {
|
|
1383
1384
|
const stats = await getShareRecoveryStats();
|
|
1384
1385
|
const hasRecoveryData = !!stats && (!!stats.created || stats.devices && stats.devices.length > 0);
|
|
@@ -5853,7 +5854,7 @@ var init_en = __esm({
|
|
|
5853
5854
|
},
|
|
5854
5855
|
nicknameMenu: {
|
|
5855
5856
|
title: "Nickname",
|
|
5856
|
-
yourNickname: "Your
|
|
5857
|
+
yourNickname: "Your nickname",
|
|
5857
5858
|
cooldownMessage: "You can change your nickname again on {{canChangeAt}} ({{days}} days remained)",
|
|
5858
5859
|
lastChanged: "Last changed",
|
|
5859
5860
|
timesChanged: "Times changed",
|
|
@@ -5875,7 +5876,8 @@ var init_en = __esm({
|
|
|
5875
5876
|
alreadyYourNickname: "This is already your nickname",
|
|
5876
5877
|
checkingAvailability: "Checking availability...",
|
|
5877
5878
|
nicknameAvailable: "Nickname is available",
|
|
5878
|
-
nicknameNotAvailable: "This nickname is not available"
|
|
5879
|
+
nicknameNotAvailable: "This nickname is not available",
|
|
5880
|
+
nicknameChanged: "Nickname has been changed"
|
|
5879
5881
|
},
|
|
5880
5882
|
initialUser: {
|
|
5881
5883
|
welcome: "Your nickname is set as {{nickname}}",
|
|
@@ -6418,7 +6420,8 @@ var init_ru = __esm({
|
|
|
6418
6420
|
alreadyYourNickname: "\u042D\u0442\u043E \u0443\u0436\u0435 \u0432\u0430\u0448 \u043D\u0438\u043A\u043D\u0435\u0439\u043C",
|
|
6419
6421
|
checkingAvailability: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0441\u0442\u0438...",
|
|
6420
6422
|
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"
|
|
6423
|
+
nicknameNotAvailable: "\u042D\u0442\u043E\u0442 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",
|
|
6424
|
+
nicknameChanged: "\u041D\u0438\u043A\u043D\u0435\u0439\u043C \u0431\u044B\u043B \u0438\u0437\u043C\u0435\u043D\u0435\u043D"
|
|
6422
6425
|
},
|
|
6423
6426
|
initialUser: {
|
|
6424
6427
|
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 +6964,8 @@ var init_zh = __esm({
|
|
|
6961
6964
|
alreadyYourNickname: "\u6B64\u6635\u79F0\u5DF2\u662F\u60A8\u7684\u6635\u79F0",
|
|
6962
6965
|
checkingAvailability: "\u6B63\u5728\u68C0\u67E5\u53EF\u7528\u6027...",
|
|
6963
6966
|
nicknameAvailable: "\u6635\u79F0\u53EF\u7528",
|
|
6964
|
-
nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528"
|
|
6967
|
+
nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528",
|
|
6968
|
+
nicknameChanged: "\u6635\u79F0\u5DF2\u66F4\u6539"
|
|
6965
6969
|
},
|
|
6966
6970
|
initialUser: {
|
|
6967
6971
|
welcome: "\u60A8\u7684\u6635\u79F0\u5DF2\u8BBE\u7F6E\u4E3A {{nickname}}",
|
|
@@ -9123,7 +9127,7 @@ var init_onboarder = __esm({
|
|
|
9123
9127
|
const elementRef = this.elements.get(elId)?.deref();
|
|
9124
9128
|
if (!elementRef) return;
|
|
9125
9129
|
const { x, y, width, height } = elementRef.getBoundingClientRect();
|
|
9126
|
-
elementRef.scrollIntoView({ behavior: "smooth", block: "
|
|
9130
|
+
elementRef.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
9127
9131
|
useOnboardingStore.getState().setElRect({ x, y, width, height });
|
|
9128
9132
|
}, 200);
|
|
9129
9133
|
});
|
|
@@ -9141,7 +9145,7 @@ var init_onboarder = __esm({
|
|
|
9141
9145
|
elRectData = elementRef.getBoundingClientRect();
|
|
9142
9146
|
} else {
|
|
9143
9147
|
elRectData = element.getBoundingClientRect();
|
|
9144
|
-
element.scrollIntoView({ behavior: "smooth", block: "
|
|
9148
|
+
element.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
9145
9149
|
}
|
|
9146
9150
|
useOnboardingStore.getState().setElRect(elRectData);
|
|
9147
9151
|
}
|
|
@@ -9204,9 +9208,9 @@ var init_onboarder = __esm({
|
|
|
9204
9208
|
if (!this.tour) return null;
|
|
9205
9209
|
return this.tour[this.tourPointer];
|
|
9206
9210
|
}
|
|
9207
|
-
|
|
9208
|
-
|
|
9209
|
-
}
|
|
9211
|
+
// getCurrentTargetElement(): HTMLElement | null {
|
|
9212
|
+
// return this.elements.get(this.tour[this.tourPointer]?.elId)?.deref() || null
|
|
9213
|
+
// }
|
|
9210
9214
|
};
|
|
9211
9215
|
onboarder = new Onboarder();
|
|
9212
9216
|
}
|
|
@@ -9214,62 +9218,28 @@ var init_onboarder = __esm({
|
|
|
9214
9218
|
|
|
9215
9219
|
// src/internal/components/Onboarding/OnboardingOverlay.tsx
|
|
9216
9220
|
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
|
-
};
|
|
9221
|
+
const { x, width, isMobileView } = params;
|
|
9222
|
+
const frameWidth = isMobileView ? width : width + 2 * EXPAND;
|
|
9223
|
+
const ttWidth = isMobileView ? window.innerWidth - 2 * EXPAND : Math.max(frameWidth, TOOLTIP_MIN_WIDTH);
|
|
9224
|
+
const ttCenterPosX = x + width / 2;
|
|
9225
|
+
const ttExpectedStartX = ttCenterPosX - ttWidth / 2;
|
|
9226
|
+
const ttExpectedEndX = ttCenterPosX + ttWidth / 2;
|
|
9227
|
+
let ttTargetStartX = ttExpectedStartX;
|
|
9228
|
+
if (ttExpectedStartX < EXPAND) ttTargetStartX = EXPAND;
|
|
9229
|
+
if (ttExpectedEndX > window.innerWidth - EXPAND) ttTargetStartX = window.innerWidth - EXPAND - ttWidth;
|
|
9230
|
+
return { width: ttWidth, x: ttTargetStartX };
|
|
9246
9231
|
}
|
|
9247
9232
|
function getTooltipYPos(params) {
|
|
9248
|
-
const { y, height, isMobileView
|
|
9249
|
-
|
|
9250
|
-
const
|
|
9233
|
+
const { y, height, isMobileView } = params;
|
|
9234
|
+
const topPosY = y - EXPAND * 2 - TOP_POS_OFFSET;
|
|
9235
|
+
const targetBottomY = y + height + EXPAND * 2;
|
|
9236
|
+
const bottomPosY = Math.min(targetBottomY, window.innerHeight - EXPAND - TOP_POS_OFFSET);
|
|
9251
9237
|
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
|
-
};
|
|
9238
|
+
return { isTopPos, y: isTopPos ? topPosY : bottomPosY };
|
|
9258
9239
|
}
|
|
9259
9240
|
function OnboardingOverlay() {
|
|
9260
9241
|
const { t } = useT();
|
|
9261
9242
|
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
9243
|
(0, import_react21.useEffect)(() => {
|
|
9274
9244
|
setTimeout(() => {
|
|
9275
9245
|
if (!page) {
|
|
@@ -9284,17 +9254,28 @@ function OnboardingOverlay() {
|
|
|
9284
9254
|
useOnboardingStore.getState().setMountIntoNode(embarkUIContainer);
|
|
9285
9255
|
}, 0);
|
|
9286
9256
|
}, [page]);
|
|
9257
|
+
const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
|
|
9258
|
+
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
9259
|
+
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
9260
|
+
const { elRect, mountIntoNode } = useOnboardingStore();
|
|
9287
9261
|
const [continueCountdown, setContinueCountdown] = (0, import_react21.useState)(null);
|
|
9288
|
-
const
|
|
9289
|
-
|
|
9290
|
-
|
|
9291
|
-
|
|
9292
|
-
|
|
9293
|
-
|
|
9294
|
-
|
|
9295
|
-
|
|
9296
|
-
|
|
9297
|
-
|
|
9262
|
+
const {
|
|
9263
|
+
actions: tourStepActions = [],
|
|
9264
|
+
waitSecs = null,
|
|
9265
|
+
title,
|
|
9266
|
+
description,
|
|
9267
|
+
forced = false
|
|
9268
|
+
} = onboarder.getCurrentStep() || {};
|
|
9269
|
+
const position = (0, import_react21.useMemo)(() => {
|
|
9270
|
+
const posParams = {
|
|
9271
|
+
x: elRect.x,
|
|
9272
|
+
y: elRect.y,
|
|
9273
|
+
width: elRect.width,
|
|
9274
|
+
height: elRect.height,
|
|
9275
|
+
isMobileView
|
|
9276
|
+
};
|
|
9277
|
+
return { ...getTooltipXPos(posParams), ...getTooltipYPos(posParams) };
|
|
9278
|
+
}, [elRect, isMobileView]);
|
|
9298
9279
|
(0, import_react21.useEffect)(() => {
|
|
9299
9280
|
if (!waitSecs) return;
|
|
9300
9281
|
setContinueCountdown(waitSecs);
|
|
@@ -9321,6 +9302,7 @@ function OnboardingOverlay() {
|
|
|
9321
9302
|
style: { zIndex: isOnboarding ? 1e4 : -9999 },
|
|
9322
9303
|
className: cn(
|
|
9323
9304
|
"embarkai-ui-scope",
|
|
9305
|
+
// with data-current-theme-mode will provide full embark cssv set
|
|
9324
9306
|
"overflow-hidden pointer-events-auto",
|
|
9325
9307
|
"fixed left-0 top-0",
|
|
9326
9308
|
isOnboarding ? "w-[100dvw] h-[100dvh]" : "w-0 h-0"
|
|
@@ -9346,10 +9328,10 @@ function OnboardingOverlay() {
|
|
|
9346
9328
|
fill: "black",
|
|
9347
9329
|
style: {
|
|
9348
9330
|
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 +
|
|
9331
|
+
x: elRect.x - EXPAND,
|
|
9332
|
+
y: elRect.y - EXPAND,
|
|
9333
|
+
width: elRect.width + EXPAND * 2,
|
|
9334
|
+
height: elRect.height + EXPAND * 2
|
|
9353
9335
|
}
|
|
9354
9336
|
}
|
|
9355
9337
|
)
|
|
@@ -9368,14 +9350,14 @@ function OnboardingOverlay() {
|
|
|
9368
9350
|
"overflow-hidden"
|
|
9369
9351
|
),
|
|
9370
9352
|
style: {
|
|
9371
|
-
willChange: "top, left, width, height
|
|
9353
|
+
willChange: "top, left, width, height",
|
|
9372
9354
|
width: isOnboarding ? position.width : 0,
|
|
9373
9355
|
height: isOnboarding ? "auto" : 0,
|
|
9374
9356
|
top: isOnboarding ? position.y : window.innerHeight / 2,
|
|
9375
9357
|
left: isOnboarding ? position.x : window.innerWidth / 2,
|
|
9376
9358
|
transition: "top 0.3s ease, left 0.3s ease, width 0.3s ease",
|
|
9377
9359
|
transform: position.isTopPos ? `translateY(calc(-100% + ${TOP_POS_OFFSET}px))` : "translateY(0)",
|
|
9378
|
-
borderRadius:
|
|
9360
|
+
borderRadius: "var(--ui-kit-bdrs)"
|
|
9379
9361
|
},
|
|
9380
9362
|
children: [
|
|
9381
9363
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "font-bold", children: t(title) }),
|
|
@@ -9385,16 +9367,12 @@ function OnboardingOverlay() {
|
|
|
9385
9367
|
{
|
|
9386
9368
|
size: "small",
|
|
9387
9369
|
variant: "ghost",
|
|
9370
|
+
className: "absolute top-1 right-1 text-[var(--ui-kit-success)]",
|
|
9388
9371
|
onClick: () => {
|
|
9389
9372
|
setContinueCountdown(null);
|
|
9390
9373
|
onboarder.endTour();
|
|
9391
9374
|
},
|
|
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")
|
|
9375
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react9.XIcon, { className: "h-3 w-3" })
|
|
9398
9376
|
}
|
|
9399
9377
|
),
|
|
9400
9378
|
!!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 +9432,7 @@ var init_OnboardingOverlay = __esm({
|
|
|
9454
9432
|
init_onboarder();
|
|
9455
9433
|
init_useOnboardingStore();
|
|
9456
9434
|
import_jsx_runtime21 = require("react/jsx-runtime");
|
|
9457
|
-
EXPAND =
|
|
9435
|
+
EXPAND = 8;
|
|
9458
9436
|
TOOLTIP_MIN_WIDTH = 320;
|
|
9459
9437
|
TOP_POS_OFFSET = 112;
|
|
9460
9438
|
}
|
|
@@ -15346,7 +15324,7 @@ var init_MethodSelector = __esm({
|
|
|
15346
15324
|
});
|
|
15347
15325
|
|
|
15348
15326
|
// src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts
|
|
15349
|
-
var KEYSHARE_BACKUP_MENU_TOUR;
|
|
15327
|
+
var KEYSHARE_BACKUP_MENU_TOUR, KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY;
|
|
15350
15328
|
var init_onboarding_setup3 = __esm({
|
|
15351
15329
|
"src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
|
|
15352
15330
|
init_hooks();
|
|
@@ -15406,6 +15384,43 @@ var init_onboarding_setup3 = __esm({
|
|
|
15406
15384
|
description: "passport:backupMenu.onboarding.backupAdvanced.description"
|
|
15407
15385
|
}
|
|
15408
15386
|
];
|
|
15387
|
+
KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY = [
|
|
15388
|
+
{
|
|
15389
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15390
|
+
title: "passport:backupMenu.onboarding.backupMenu.title",
|
|
15391
|
+
description: "passport:backupMenu.onboarding.backupMenu.description",
|
|
15392
|
+
onNext: () => {
|
|
15393
|
+
const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
|
|
15394
|
+
setSuccess(null);
|
|
15395
|
+
setError(null);
|
|
15396
|
+
setRestoreFile(null);
|
|
15397
|
+
setRestorePassword("<your-strong-password>");
|
|
15398
|
+
setShowPassword(true);
|
|
15399
|
+
setUsePasskey(false);
|
|
15400
|
+
setMethod("server");
|
|
15401
|
+
}
|
|
15402
|
+
},
|
|
15403
|
+
{
|
|
15404
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15405
|
+
title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
|
|
15406
|
+
description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
|
|
15407
|
+
onNext: () => {
|
|
15408
|
+
const { setRestorePassword, setShowPassword } = useRestoreStore.getState();
|
|
15409
|
+
setRestorePassword("");
|
|
15410
|
+
setShowPassword(false);
|
|
15411
|
+
}
|
|
15412
|
+
},
|
|
15413
|
+
{
|
|
15414
|
+
elId: "embarkai-keyshare-backup-status-onboarding" /* backupStatus */,
|
|
15415
|
+
title: "passport:backupMenu.onboarding.backupStatus.title",
|
|
15416
|
+
description: "passport:backupMenu.onboarding.backupStatus.description"
|
|
15417
|
+
},
|
|
15418
|
+
{
|
|
15419
|
+
elId: "embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */,
|
|
15420
|
+
title: "passport:backupMenu.onboarding.backupAdvanced.title",
|
|
15421
|
+
description: "passport:backupMenu.onboarding.backupAdvanced.description"
|
|
15422
|
+
}
|
|
15423
|
+
];
|
|
15409
15424
|
}
|
|
15410
15425
|
});
|
|
15411
15426
|
|
|
@@ -18509,14 +18524,22 @@ var init_useNicknameStore = __esm({
|
|
|
18509
18524
|
"src/internal/components/NicknameMenu/useNicknameStore.ts"() {
|
|
18510
18525
|
import_zustand10 = require("zustand");
|
|
18511
18526
|
useNicknameStore = (0, import_zustand10.create)((set) => ({
|
|
18512
|
-
renderKey: "",
|
|
18527
|
+
renderKey: "nickname-menu-render-key",
|
|
18513
18528
|
setRenderKey: (renderKey) => set({ renderKey }),
|
|
18514
18529
|
nicknameValue: "",
|
|
18515
18530
|
setNicknameValue: (nicknameValue) => set({ nicknameValue }),
|
|
18516
18531
|
availability: null,
|
|
18517
18532
|
setAvailability: (availability) => set({ availability }),
|
|
18533
|
+
success: null,
|
|
18534
|
+
setSuccess: (success) => set({ success }),
|
|
18518
18535
|
error: null,
|
|
18519
|
-
setError: (error) => set({ error })
|
|
18536
|
+
setError: (error) => set({ error }),
|
|
18537
|
+
reset: () => set({
|
|
18538
|
+
renderKey: "nickname-menu-render-key",
|
|
18539
|
+
nicknameValue: "",
|
|
18540
|
+
availability: null,
|
|
18541
|
+
error: null
|
|
18542
|
+
})
|
|
18520
18543
|
}));
|
|
18521
18544
|
}
|
|
18522
18545
|
});
|
|
@@ -18589,14 +18612,7 @@ function NicknameEditForm(props) {
|
|
|
18589
18612
|
const nicknameAvailability = useNicknameStore((st) => st.availability);
|
|
18590
18613
|
const { isCheckingAvailability } = useNicknameAvailability(nicknameInfo ? nicknameInfo.handle : "");
|
|
18591
18614
|
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)({
|
|
18615
|
+
const { mutate: changeNickname2, isPending: isNicknameChanging } = (0, import_react_query35.useMutation)({
|
|
18600
18616
|
mutationFn: (handle) => changeNickname(handle),
|
|
18601
18617
|
onSuccess: () => {
|
|
18602
18618
|
qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
|
|
@@ -18604,7 +18620,15 @@ function NicknameEditForm(props) {
|
|
|
18604
18620
|
callbacksRef.current?.onAccountUpdate?.({
|
|
18605
18621
|
providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address])
|
|
18606
18622
|
});
|
|
18607
|
-
if (!!isInitialUser)
|
|
18623
|
+
if (!!isInitialUser) {
|
|
18624
|
+
setTimeout(() => useLayoutDataStore.getState().setPage(null), 1500);
|
|
18625
|
+
}
|
|
18626
|
+
useNicknameStore.getState().setSuccess(t("passport:nicknameMenu.availability.nicknameChanged"));
|
|
18627
|
+
useNicknameStore.getState().setRenderKey(`nickname-has-been-changed-${Date.now()}`);
|
|
18628
|
+
setTimeout(() => {
|
|
18629
|
+
useNicknameStore.getState().setSuccess(null);
|
|
18630
|
+
useNicknameStore.getState().setRenderKey(`nickname-has-been-changed-${Date.now()}`);
|
|
18631
|
+
}, 1500);
|
|
18608
18632
|
},
|
|
18609
18633
|
onError: (error) => {
|
|
18610
18634
|
const changeNicknameError = error;
|
|
@@ -18620,17 +18644,16 @@ function NicknameEditForm(props) {
|
|
|
18620
18644
|
const handleNicknameInputChange = (0, import_react58.useCallback)(
|
|
18621
18645
|
(e) => {
|
|
18622
18646
|
const { error, setError, setNicknameValue } = useNicknameStore.getState();
|
|
18623
|
-
const
|
|
18624
|
-
setNicknameValue(
|
|
18625
|
-
if (error &&
|
|
18626
|
-
if (
|
|
18627
|
-
|
|
18628
|
-
const validation = validateNickname(value);
|
|
18647
|
+
const nextInputValue = e.target.value;
|
|
18648
|
+
setNicknameValue(nextInputValue);
|
|
18649
|
+
if (error && nextInputValue.length >= 3) setError(null);
|
|
18650
|
+
if (nextInputValue?.length < 1) return;
|
|
18651
|
+
const validation = validateNickname(nextInputValue);
|
|
18629
18652
|
if (!validation.valid && validation.error) {
|
|
18630
18653
|
setError(getNicknameErrorMessage(validation.error, { t }));
|
|
18631
18654
|
}
|
|
18632
18655
|
},
|
|
18633
|
-
[
|
|
18656
|
+
[t]
|
|
18634
18657
|
);
|
|
18635
18658
|
const handleSubmit = (0, import_react58.useCallback)(
|
|
18636
18659
|
(e) => {
|
|
@@ -18657,34 +18680,43 @@ function NicknameEditForm(props) {
|
|
|
18657
18680
|
const normalizedInputValue = normalizeNickname(nicknameValue);
|
|
18658
18681
|
const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
|
|
18659
18682
|
const isSubmitDisabled = !canChange || nicknameValue.length === 0 || isSameAsCurrentNickname || !!nicknameError || isNicknameChanging || isCheckingAvailability || !nicknameAvailability?.available;
|
|
18660
|
-
const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging &&
|
|
18683
|
+
const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging && nicknameAvailability?.available;
|
|
18661
18684
|
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
|
-
|
|
18685
|
+
canChange ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
|
|
18686
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "text-[10px] leading-4 text-[var(--ui-kit-fg-muted)]", children: [
|
|
18687
|
+
t("passport:nicknameMenu.yourNickname"),
|
|
18688
|
+
currentNickname !== nicknameValue && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("strong", { className: "text-[var(--ui-kit-fg)]", children: [
|
|
18689
|
+
": ",
|
|
18690
|
+
currentNickname
|
|
18691
|
+
] })
|
|
18692
|
+
] }),
|
|
18693
|
+
/* @__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: [
|
|
18694
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
18695
|
+
Input,
|
|
18696
|
+
{
|
|
18697
|
+
Icon: import_lucide_react47.AtSignIcon,
|
|
18698
|
+
value: nicknameValue,
|
|
18699
|
+
onChange: handleNicknameInputChange,
|
|
18700
|
+
placeholder: t("passport:nicknameMenu.placeholder"),
|
|
18701
|
+
disabled: isNicknameChanging,
|
|
18702
|
+
className: "flex-1"
|
|
18703
|
+
}
|
|
18704
|
+
),
|
|
18705
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
18706
|
+
Button,
|
|
18707
|
+
{
|
|
18708
|
+
type: "submit",
|
|
18709
|
+
size: "large",
|
|
18710
|
+
disabled: isSubmitDisabled,
|
|
18711
|
+
title: isNicknameAvailalable ? t("passport:nicknameMenu.availability.nicknameAvailable") : "",
|
|
18712
|
+
className: cn("w-12", {
|
|
18713
|
+
"bg-[var(--ui-kit-bg-success)] text-[var(--ui-kit-success)]": isNicknameAvailalable
|
|
18714
|
+
}),
|
|
18715
|
+
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" })
|
|
18716
|
+
}
|
|
18717
|
+
)
|
|
18718
|
+
] }) })
|
|
18719
|
+
] }) : /* @__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
18720
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
18689
18721
|
"span",
|
|
18690
18722
|
{
|
|
@@ -18762,6 +18794,7 @@ function NicknameMenu() {
|
|
|
18762
18794
|
const address = useSession((st) => st.address);
|
|
18763
18795
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
18764
18796
|
const nicknameRenderKey = useNicknameStore((st) => st.renderKey);
|
|
18797
|
+
const nicknameSuccess = useNicknameStore((st) => st.success);
|
|
18765
18798
|
const nicknameError = useNicknameStore((st) => st.error);
|
|
18766
18799
|
const {
|
|
18767
18800
|
data: nicknameInfo,
|
|
@@ -18771,9 +18804,10 @@ function NicknameMenu() {
|
|
|
18771
18804
|
retry: 1,
|
|
18772
18805
|
enabled: !!address,
|
|
18773
18806
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
18774
|
-
queryFn: getNicknameInfo
|
|
18807
|
+
queryFn: async () => await getNicknameInfo()
|
|
18775
18808
|
});
|
|
18776
18809
|
const resolvedError = nicknameError || nicknameInfoError?.message || null;
|
|
18810
|
+
(0, import_react59.useEffect)(() => () => useNicknameStore.getState().reset(), []);
|
|
18777
18811
|
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
18778
18812
|
"div",
|
|
18779
18813
|
{
|
|
@@ -18797,16 +18831,12 @@ function NicknameMenu() {
|
|
|
18797
18831
|
isNicknameInfoLoading && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react48.Loader, { className: "w-4 h-4 animate-spin" })
|
|
18798
18832
|
] })
|
|
18799
18833
|
] }),
|
|
18800
|
-
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.yourNickname") }),
|
|
18801
18834
|
/* @__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: [
|
|
18835
|
+
!nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Highlight, { type: "info", children: t("passport:nicknameMenu.cooldownMessage", {
|
|
18836
|
+
canChangeAt: (0, import_dayjs4.default)(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
|
|
18837
|
+
days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
|
|
18838
|
+
}) }),
|
|
18839
|
+
!nicknameSuccess && !!nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
|
|
18810
18840
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("span", { children: [
|
|
18811
18841
|
/* @__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
18842
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { children: ": " }),
|
|
@@ -18818,6 +18848,7 @@ function NicknameMenu() {
|
|
|
18818
18848
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
|
|
18819
18849
|
] })
|
|
18820
18850
|
] }),
|
|
18851
|
+
!!nicknameSuccess && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Highlight, { type: "success", children: nicknameSuccess }),
|
|
18821
18852
|
isInitialUser && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Highlight, { type: "success", children: [
|
|
18822
18853
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", {
|
|
18823
18854
|
//@ts-expect-error i18n typings
|
|
@@ -18849,7 +18880,7 @@ function NicknameMenu() {
|
|
|
18849
18880
|
}
|
|
18850
18881
|
);
|
|
18851
18882
|
}
|
|
18852
|
-
var import_react_query36, import_dayjs4, import_lucide_react48, import_jsx_runtime82;
|
|
18883
|
+
var import_react_query36, import_dayjs4, import_lucide_react48, import_react59, import_jsx_runtime82;
|
|
18853
18884
|
var init_NicknameMenu = __esm({
|
|
18854
18885
|
"src/internal/components/NicknameMenu/NicknameMenu.tsx"() {
|
|
18855
18886
|
init_SessionContext();
|
|
@@ -18858,6 +18889,7 @@ var init_NicknameMenu = __esm({
|
|
|
18858
18889
|
import_react_query36 = require("@tanstack/react-query");
|
|
18859
18890
|
import_dayjs4 = __toESM(require("dayjs"), 1);
|
|
18860
18891
|
import_lucide_react48 = require("lucide-react");
|
|
18892
|
+
import_react59 = require("react");
|
|
18861
18893
|
init_nickname();
|
|
18862
18894
|
init_profile();
|
|
18863
18895
|
init_useLayoutDataStore();
|
|
@@ -18895,11 +18927,11 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
|
|
|
18895
18927
|
const activeChainConfig = useSession((st) => st.chainConfig);
|
|
18896
18928
|
const resolvedChainId = chainId ?? activeChainId;
|
|
18897
18929
|
const shouldUseActiveClient = !chainId || chainId === activeChainId;
|
|
18898
|
-
const chainConfig = (0,
|
|
18930
|
+
const chainConfig = (0, import_react60.useMemo)(() => {
|
|
18899
18931
|
if (shouldUseActiveClient) return activeChainConfig;
|
|
18900
18932
|
return (0, import_read16.getChainConfig)(chainId);
|
|
18901
18933
|
}, [activeChainConfig, chainId, shouldUseActiveClient]);
|
|
18902
|
-
const publicClient = (0,
|
|
18934
|
+
const publicClient = (0, import_react60.useMemo)(() => {
|
|
18903
18935
|
if (shouldUseActiveClient) return activePublicClient;
|
|
18904
18936
|
if (!chainId) return activePublicClient;
|
|
18905
18937
|
try {
|
|
@@ -18916,12 +18948,12 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
|
|
|
18916
18948
|
resolvedChainId
|
|
18917
18949
|
};
|
|
18918
18950
|
}
|
|
18919
|
-
var import_read16,
|
|
18951
|
+
var import_read16, import_react60, publicClientByChainId;
|
|
18920
18952
|
var init_useResolvedPublicClient = __esm({
|
|
18921
18953
|
"src/internal/hooks/useResolvedPublicClient.ts"() {
|
|
18922
18954
|
init_SessionContext();
|
|
18923
18955
|
import_read16 = require("@embarkai/core/read");
|
|
18924
|
-
|
|
18956
|
+
import_react60 = require("react");
|
|
18925
18957
|
publicClientByChainId = /* @__PURE__ */ new Map();
|
|
18926
18958
|
}
|
|
18927
18959
|
});
|
|
@@ -18985,7 +19017,7 @@ var init_useNativeBalance = __esm({
|
|
|
18985
19017
|
function useWatchTokens(options) {
|
|
18986
19018
|
const { address, chainId, enabled, publicClient } = options;
|
|
18987
19019
|
const { config } = useProviderConfig();
|
|
18988
|
-
const watchTokens = (0,
|
|
19020
|
+
const watchTokens = (0, import_react61.useMemo)(() => {
|
|
18989
19021
|
const allWatchTokens = config.current.watchTokens;
|
|
18990
19022
|
const tokensForChain = chainId ? allWatchTokens?.[chainId] || [] : [];
|
|
18991
19023
|
return tokensForChain;
|
|
@@ -19053,12 +19085,12 @@ function useWatchTokens(options) {
|
|
|
19053
19085
|
}
|
|
19054
19086
|
});
|
|
19055
19087
|
}
|
|
19056
|
-
var import_react_query38,
|
|
19088
|
+
var import_react_query38, import_react61, import_viem7;
|
|
19057
19089
|
var init_useWatchTokens = __esm({
|
|
19058
19090
|
"src/internal/hooks/useBlockscoutAssets/useWatchTokens.ts"() {
|
|
19059
19091
|
init_ProviderContext();
|
|
19060
19092
|
import_react_query38 = require("@tanstack/react-query");
|
|
19061
|
-
|
|
19093
|
+
import_react61 = require("react");
|
|
19062
19094
|
import_viem7 = require("viem");
|
|
19063
19095
|
init_constants6();
|
|
19064
19096
|
}
|
|
@@ -19207,11 +19239,11 @@ function useBlockscoutAssets(options) {
|
|
|
19207
19239
|
tokenBalancesQueryKey: customTokenBalancesQueryKey
|
|
19208
19240
|
} = useProviderConfig().config?.current?.portfolio || {};
|
|
19209
19241
|
const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
|
|
19210
|
-
const blockscoutClient = (0,
|
|
19242
|
+
const blockscoutClient = (0, import_react62.useMemo)(
|
|
19211
19243
|
() => blockscoutApiUrl ? (0, import_core4.createBlockscoutClient)({ baseUrl: blockscoutApiUrl }) : null,
|
|
19212
19244
|
[blockscoutApiUrl]
|
|
19213
19245
|
);
|
|
19214
|
-
const lastRefreshRef = (0,
|
|
19246
|
+
const lastRefreshRef = (0, import_react62.useRef)(0);
|
|
19215
19247
|
const {
|
|
19216
19248
|
data: watchTokenAssets = [],
|
|
19217
19249
|
isLoading: watchTokensLoading,
|
|
@@ -19283,7 +19315,7 @@ function useBlockscoutAssets(options) {
|
|
|
19283
19315
|
queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", resolvedChainId, blockscoutApiUrl, address],
|
|
19284
19316
|
queryFn: () => blockscoutClient.getNfts(address)
|
|
19285
19317
|
});
|
|
19286
|
-
const erc20TokenAddresses = (0,
|
|
19318
|
+
const erc20TokenAddresses = (0, import_react62.useMemo)(() => {
|
|
19287
19319
|
if (!blockscoutItems) return [];
|
|
19288
19320
|
return blockscoutItems.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
|
|
19289
19321
|
}, [blockscoutItems]);
|
|
@@ -19328,7 +19360,7 @@ function useBlockscoutAssets(options) {
|
|
|
19328
19360
|
// 1 minute
|
|
19329
19361
|
// gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
19330
19362
|
});
|
|
19331
|
-
const assets = (0,
|
|
19363
|
+
const assets = (0, import_react62.useMemo)(() => {
|
|
19332
19364
|
const result = [];
|
|
19333
19365
|
const addedAddresses = /* @__PURE__ */ new Set();
|
|
19334
19366
|
if (nativeBalanceData) {
|
|
@@ -19422,7 +19454,7 @@ function useBlockscoutAssets(options) {
|
|
|
19422
19454
|
watchTokenAssets,
|
|
19423
19455
|
chainConfig
|
|
19424
19456
|
]);
|
|
19425
|
-
const nativeBalance = (0,
|
|
19457
|
+
const nativeBalance = (0, import_react62.useMemo)(() => {
|
|
19426
19458
|
if (!nativeBalanceData) return null;
|
|
19427
19459
|
return {
|
|
19428
19460
|
value: nativeBalanceData.value,
|
|
@@ -19430,11 +19462,11 @@ function useBlockscoutAssets(options) {
|
|
|
19430
19462
|
symbol: nativeBalanceData.symbol
|
|
19431
19463
|
};
|
|
19432
19464
|
}, [nativeBalanceData]);
|
|
19433
|
-
const error = (0,
|
|
19465
|
+
const error = (0, import_react62.useMemo)(() => {
|
|
19434
19466
|
if (!blockscoutError) return null;
|
|
19435
19467
|
return createError(blockscoutError);
|
|
19436
19468
|
}, [blockscoutError]);
|
|
19437
|
-
const refreshBalances = (0,
|
|
19469
|
+
const refreshBalances = (0, import_react62.useCallback)(async () => {
|
|
19438
19470
|
const now = Date.now();
|
|
19439
19471
|
if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
|
|
19440
19472
|
return;
|
|
@@ -19450,7 +19482,7 @@ function useBlockscoutAssets(options) {
|
|
|
19450
19482
|
qc.invalidateQueries({ queryKey: [WATCH_TOKENS_QUERY_KEY] })
|
|
19451
19483
|
]);
|
|
19452
19484
|
}, [qc, customTokenBalancesQueryKey]);
|
|
19453
|
-
const getTokenBalance = (0,
|
|
19485
|
+
const getTokenBalance = (0, import_react62.useCallback)(
|
|
19454
19486
|
(tokenAddress) => {
|
|
19455
19487
|
return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
|
|
19456
19488
|
},
|
|
@@ -19469,13 +19501,13 @@ function useBlockscoutAssets(options) {
|
|
|
19469
19501
|
lastUpdated: dataUpdatedAt || null
|
|
19470
19502
|
};
|
|
19471
19503
|
}
|
|
19472
|
-
var import_core4, import_react_query39,
|
|
19504
|
+
var import_core4, import_react_query39, import_react62;
|
|
19473
19505
|
var init_useBlockscoutAssets = __esm({
|
|
19474
19506
|
"src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts"() {
|
|
19475
19507
|
init_ProviderContext();
|
|
19476
19508
|
import_core4 = require("@embarkai/core");
|
|
19477
19509
|
import_react_query39 = require("@tanstack/react-query");
|
|
19478
|
-
|
|
19510
|
+
import_react62 = require("react");
|
|
19479
19511
|
init_initial();
|
|
19480
19512
|
init_constants();
|
|
19481
19513
|
init_useResolvedPublicClient();
|
|
@@ -19766,7 +19798,7 @@ function PortfolioMenu() {
|
|
|
19766
19798
|
enabled: !!address
|
|
19767
19799
|
});
|
|
19768
19800
|
const shownProjectAssets = projectAssets.filter((asset) => !asset.hideInPortfolio);
|
|
19769
|
-
const refreshAllAssetsBalances = (0,
|
|
19801
|
+
const refreshAllAssetsBalances = (0, import_react63.useCallback)(() => {
|
|
19770
19802
|
Promise.all(shownProjectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
19771
19803
|
refreshBlockscoutBalances();
|
|
19772
19804
|
}, [qc, shownProjectAssets, refreshBlockscoutBalances]);
|
|
@@ -19822,7 +19854,7 @@ function PortfolioMenu() {
|
|
|
19822
19854
|
}
|
|
19823
19855
|
);
|
|
19824
19856
|
}
|
|
19825
|
-
var import_react_query41, import_lucide_react50,
|
|
19857
|
+
var import_react_query41, import_lucide_react50, import_react63, import_jsx_runtime85;
|
|
19826
19858
|
var init_PortfolioMenu = __esm({
|
|
19827
19859
|
"src/internal/components/PortfolioMenu/PortfolioMenu.tsx"() {
|
|
19828
19860
|
init_ProviderContext();
|
|
@@ -19830,7 +19862,7 @@ var init_PortfolioMenu = __esm({
|
|
|
19830
19862
|
init_i18n();
|
|
19831
19863
|
import_react_query41 = require("@tanstack/react-query");
|
|
19832
19864
|
import_lucide_react50 = require("lucide-react");
|
|
19833
|
-
|
|
19865
|
+
import_react63 = require("react");
|
|
19834
19866
|
init_useBlockscoutAssets2();
|
|
19835
19867
|
init_useLayoutDataStore();
|
|
19836
19868
|
init_useLayoutStore();
|
|
@@ -19954,11 +19986,11 @@ function ReceiveMenu() {
|
|
|
19954
19986
|
const { t } = useT();
|
|
19955
19987
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
19956
19988
|
const open = page === "receive";
|
|
19957
|
-
const [qrCodeUrl, setQrCodeUrl] = (0,
|
|
19958
|
-
const [copied, setCopied] = (0,
|
|
19959
|
-
const [fingerprintCopied, setFingerprintCopied] = (0,
|
|
19989
|
+
const [qrCodeUrl, setQrCodeUrl] = (0, import_react64.useState)("");
|
|
19990
|
+
const [copied, setCopied] = (0, import_react64.useState)(false);
|
|
19991
|
+
const [fingerprintCopied, setFingerprintCopied] = (0, import_react64.useState)(false);
|
|
19960
19992
|
useOnboardingTourAvailable(true);
|
|
19961
|
-
const fingerprint = (0,
|
|
19993
|
+
const fingerprint = (0, import_react64.useMemo)(() => {
|
|
19962
19994
|
if (!session?.ownerAddress) return null;
|
|
19963
19995
|
try {
|
|
19964
19996
|
return generateFingerprint(session.ownerAddress);
|
|
@@ -19966,7 +19998,7 @@ function ReceiveMenu() {
|
|
|
19966
19998
|
return null;
|
|
19967
19999
|
}
|
|
19968
20000
|
}, [session?.ownerAddress]);
|
|
19969
|
-
(0,
|
|
20001
|
+
(0, import_react64.useEffect)(() => {
|
|
19970
20002
|
if (open && address) {
|
|
19971
20003
|
import_qrcode.default.toDataURL(address, {
|
|
19972
20004
|
width: 200,
|
|
@@ -19979,7 +20011,7 @@ function ReceiveMenu() {
|
|
|
19979
20011
|
});
|
|
19980
20012
|
}
|
|
19981
20013
|
}, [open, address]);
|
|
19982
|
-
const handleCopy = (0,
|
|
20014
|
+
const handleCopy = (0, import_react64.useCallback)(async () => {
|
|
19983
20015
|
if (!address) return;
|
|
19984
20016
|
try {
|
|
19985
20017
|
await navigator.clipboard.writeText(address);
|
|
@@ -19989,7 +20021,7 @@ function ReceiveMenu() {
|
|
|
19989
20021
|
console.error("Failed to copy address:", error);
|
|
19990
20022
|
}
|
|
19991
20023
|
}, [address]);
|
|
19992
|
-
const handleCopyFingerprint = (0,
|
|
20024
|
+
const handleCopyFingerprint = (0, import_react64.useCallback)(async () => {
|
|
19993
20025
|
if (!fingerprint) return;
|
|
19994
20026
|
try {
|
|
19995
20027
|
await navigator.clipboard.writeText(fingerprint);
|
|
@@ -20051,14 +20083,14 @@ function ReceiveMenu() {
|
|
|
20051
20083
|
}
|
|
20052
20084
|
);
|
|
20053
20085
|
}
|
|
20054
|
-
var import_lucide_react51, import_qrcode,
|
|
20086
|
+
var import_lucide_react51, import_qrcode, import_react64, import_jsx_runtime86;
|
|
20055
20087
|
var init_ReceiveMenu = __esm({
|
|
20056
20088
|
"src/internal/components/ReceiveMenu/ReceiveMenu.tsx"() {
|
|
20057
20089
|
init_SessionContext();
|
|
20058
20090
|
init_i18n();
|
|
20059
20091
|
import_lucide_react51 = require("lucide-react");
|
|
20060
20092
|
import_qrcode = __toESM(require("qrcode"), 1);
|
|
20061
|
-
|
|
20093
|
+
import_react64 = require("react");
|
|
20062
20094
|
init_useLayoutDataStore();
|
|
20063
20095
|
init_useLayoutStore();
|
|
20064
20096
|
init_nickname_fingerprint();
|
|
@@ -20079,18 +20111,21 @@ var init_ReceiveMenu2 = __esm({
|
|
|
20079
20111
|
});
|
|
20080
20112
|
|
|
20081
20113
|
// src/internal/components/SecurityMenu/onboarding.setup.ts
|
|
20082
|
-
var
|
|
20114
|
+
var SECURITY_MENU_TOUR;
|
|
20083
20115
|
var init_onboarding_setup8 = __esm({
|
|
20084
20116
|
"src/internal/components/SecurityMenu/onboarding.setup.ts"() {
|
|
20085
|
-
|
|
20086
|
-
CONNECTED_APPS_TOUR = [
|
|
20117
|
+
SECURITY_MENU_TOUR = [
|
|
20087
20118
|
{
|
|
20088
|
-
elId: "embarkai-security-menu-
|
|
20089
|
-
title: "passport:securityMenu.onboarding.
|
|
20090
|
-
description: "passport:securityMenu.onboarding.
|
|
20091
|
-
}
|
|
20092
|
-
|
|
20093
|
-
|
|
20119
|
+
elId: "embarkai-security-menu-onboarding" /* securityMenu */,
|
|
20120
|
+
title: "passport:securityMenu.onboarding.securityMenu.title",
|
|
20121
|
+
description: "passport:securityMenu.onboarding.securityMenu.description"
|
|
20122
|
+
},
|
|
20123
|
+
/** KEYSHARE */
|
|
20124
|
+
{
|
|
20125
|
+
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20126
|
+
title: "passport:securityMenu.onboarding.keyshare.title",
|
|
20127
|
+
description: "passport:securityMenu.onboarding.keyshare.description"
|
|
20128
|
+
},
|
|
20094
20129
|
{
|
|
20095
20130
|
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20096
20131
|
title: "passport:securityMenu.onboarding.keyshare.details.concept.title",
|
|
@@ -20116,39 +20151,11 @@ var init_onboarding_setup8 = __esm({
|
|
|
20116
20151
|
title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
|
|
20117
20152
|
description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
|
|
20118
20153
|
},
|
|
20119
|
-
...CONNECTED_APPS_TOUR
|
|
20120
|
-
];
|
|
20121
|
-
SECURITY_MENU_TOUR = [
|
|
20122
20154
|
{
|
|
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
|
|
20155
|
+
elId: "embarkai-security-menu-connected-apps-onboarding" /* connectedApps */,
|
|
20156
|
+
title: "passport:securityMenu.onboarding.connectedApps.title",
|
|
20157
|
+
description: "passport:securityMenu.onboarding.connectedApps.description"
|
|
20158
|
+
}
|
|
20152
20159
|
];
|
|
20153
20160
|
}
|
|
20154
20161
|
});
|
|
@@ -20306,7 +20313,7 @@ function Application(props) {
|
|
|
20306
20313
|
function ConnectedApps() {
|
|
20307
20314
|
const { t } = useT();
|
|
20308
20315
|
const { data: connectedApps = [], isLoading: isConnectedAppsLoading } = useConnectedApps();
|
|
20309
|
-
(0,
|
|
20316
|
+
(0, import_react65.useEffect)(() => {
|
|
20310
20317
|
if (!connectedApps.length || isConnectedAppsLoading) return;
|
|
20311
20318
|
useSecurityStore.getState().setRenderKey(`connected-apps-loaded-${Date.now()}`);
|
|
20312
20319
|
}, [connectedApps, isConnectedAppsLoading]);
|
|
@@ -20338,14 +20345,14 @@ function ConnectedApps() {
|
|
|
20338
20345
|
)
|
|
20339
20346
|
] });
|
|
20340
20347
|
}
|
|
20341
|
-
var import_dayjs5, import_lucide_react52,
|
|
20348
|
+
var import_dayjs5, import_lucide_react52, import_react65, import_jsx_runtime87;
|
|
20342
20349
|
var init_ConnectedApps = __esm({
|
|
20343
20350
|
"src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx"() {
|
|
20344
20351
|
init_utils2();
|
|
20345
20352
|
init_i18n();
|
|
20346
20353
|
import_dayjs5 = __toESM(require("dayjs"), 1);
|
|
20347
20354
|
import_lucide_react52 = require("lucide-react");
|
|
20348
|
-
|
|
20355
|
+
import_react65 = require("react");
|
|
20349
20356
|
init_Onboarding();
|
|
20350
20357
|
init_button();
|
|
20351
20358
|
init_highlight();
|
|
@@ -20463,14 +20470,14 @@ var init_ConnectedApps2 = __esm({
|
|
|
20463
20470
|
});
|
|
20464
20471
|
|
|
20465
20472
|
// src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
|
|
20466
|
-
var import_lucide_react54,
|
|
20473
|
+
var import_lucide_react54, import_react66, import_jsx_runtime89, KeyshareStatus;
|
|
20467
20474
|
var init_KeyshareStatus = __esm({
|
|
20468
20475
|
"src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx"() {
|
|
20469
20476
|
import_lucide_react54 = require("lucide-react");
|
|
20470
|
-
|
|
20477
|
+
import_react66 = require("react");
|
|
20471
20478
|
init_utils2();
|
|
20472
20479
|
import_jsx_runtime89 = require("react/jsx-runtime");
|
|
20473
|
-
KeyshareStatus = (0,
|
|
20480
|
+
KeyshareStatus = (0, import_react66.forwardRef)((props, ref) => {
|
|
20474
20481
|
const { isLoading, content, icon: Icon2, children } = props;
|
|
20475
20482
|
if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react54.Loader, { className: "w-4 h-4 animate-spin" });
|
|
20476
20483
|
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { ref, className: "group relative w-full h-full", children: [
|
|
@@ -20609,7 +20616,7 @@ function Keyshare() {
|
|
|
20609
20616
|
const { t } = useT();
|
|
20610
20617
|
const serverHasKeyshare = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
|
|
20611
20618
|
const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
|
|
20612
|
-
(0,
|
|
20619
|
+
(0, import_react67.useEffect)(() => {
|
|
20613
20620
|
if (!recoveryData?.keyshareInfo || isRecoveryLoading) return;
|
|
20614
20621
|
useSecurityStore.getState().setRenderKey(`keyshare-loaded-${Date.now()}`);
|
|
20615
20622
|
}, [recoveryData, isRecoveryLoading]);
|
|
@@ -20706,13 +20713,13 @@ function Keyshare() {
|
|
|
20706
20713
|
] })
|
|
20707
20714
|
] });
|
|
20708
20715
|
}
|
|
20709
|
-
var import_lucide_react56,
|
|
20716
|
+
var import_lucide_react56, import_react67, import_jsx_runtime91;
|
|
20710
20717
|
var init_Keyshare = __esm({
|
|
20711
20718
|
"src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx"() {
|
|
20712
20719
|
init_SessionContext();
|
|
20713
20720
|
init_useT();
|
|
20714
20721
|
import_lucide_react56 = require("lucide-react");
|
|
20715
|
-
|
|
20722
|
+
import_react67 = require("react");
|
|
20716
20723
|
init_icons();
|
|
20717
20724
|
init_auth();
|
|
20718
20725
|
init_useLayoutDataStore();
|
|
@@ -21056,12 +21063,12 @@ function SenderSelector(props) {
|
|
|
21056
21063
|
const { openConnectModal } = (0, import_rainbowkit.useConnectModal)();
|
|
21057
21064
|
const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
|
|
21058
21065
|
const directWalletIsConnected = useExternalWalletStore((st) => st.isExternalConnected);
|
|
21059
|
-
const pendingWalletRef = (0,
|
|
21066
|
+
const pendingWalletRef = (0, import_react68.useRef)(null);
|
|
21060
21067
|
const originChain = useBridgeStore((st) => st.originChain);
|
|
21061
21068
|
const bridgeSender = useBridgeStore((st) => st.bridgeSender);
|
|
21062
21069
|
const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
|
|
21063
|
-
const [walletMessage, setWalletMessage] = (0,
|
|
21064
|
-
(0,
|
|
21070
|
+
const [walletMessage, setWalletMessage] = (0, import_react68.useState)(null);
|
|
21071
|
+
(0, import_react68.useEffect)(() => {
|
|
21065
21072
|
useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
|
|
21066
21073
|
}, [walletMessage]);
|
|
21067
21074
|
const { mutate: loginDirectWallet, isPending: isDirectWalletLoggingIn } = (0, import_react_query45.useMutation)({
|
|
@@ -21117,7 +21124,7 @@ function SenderSelector(props) {
|
|
|
21117
21124
|
setWalletMessage(error instanceof Error ? error.message : "Wallet login failed. Please try again.");
|
|
21118
21125
|
}
|
|
21119
21126
|
});
|
|
21120
|
-
(0,
|
|
21127
|
+
(0, import_react68.useEffect)(() => {
|
|
21121
21128
|
const pendingProfile = pendingWalletRef.current;
|
|
21122
21129
|
if (!pendingProfile || !directWalletIsConnected || !directWalletAddress) return;
|
|
21123
21130
|
if (directWalletAddress.toLowerCase() !== pendingProfile.externalId?.toLowerCase()) return;
|
|
@@ -21208,14 +21215,14 @@ function SenderSelector(props) {
|
|
|
21208
21215
|
] })
|
|
21209
21216
|
] });
|
|
21210
21217
|
}
|
|
21211
|
-
var import_rainbowkit, import_react_query45,
|
|
21218
|
+
var import_rainbowkit, import_react_query45, import_react68, import_wagmi3, import_jsx_runtime93;
|
|
21212
21219
|
var init_SenderSelector = __esm({
|
|
21213
21220
|
"src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx"() {
|
|
21214
21221
|
init_ProviderContext();
|
|
21215
21222
|
init_i18n();
|
|
21216
21223
|
import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
21217
21224
|
import_react_query45 = require("@tanstack/react-query");
|
|
21218
|
-
|
|
21225
|
+
import_react68 = require("react");
|
|
21219
21226
|
import_wagmi3 = require("wagmi");
|
|
21220
21227
|
init_wallet();
|
|
21221
21228
|
init_useLayoutDataStore();
|
|
@@ -21315,8 +21322,8 @@ var init_wallets = __esm({
|
|
|
21315
21322
|
function useAvailableSenders() {
|
|
21316
21323
|
const address = useSession((st) => st.address);
|
|
21317
21324
|
const { profiles } = useLinkedProfiles();
|
|
21318
|
-
const lastCalcedSenders = (0,
|
|
21319
|
-
(0,
|
|
21325
|
+
const lastCalcedSenders = (0, import_react69.useRef)([]);
|
|
21326
|
+
(0, import_react69.useEffect)(() => {
|
|
21320
21327
|
const sendersAccumulator = [
|
|
21321
21328
|
{
|
|
21322
21329
|
type: "embarkai-wallet",
|
|
@@ -21347,13 +21354,13 @@ function useAvailableSenders() {
|
|
|
21347
21354
|
directWalletProfile: profiles.filter((p) => p.provider === "wallet")[0] || null
|
|
21348
21355
|
};
|
|
21349
21356
|
}
|
|
21350
|
-
var
|
|
21357
|
+
var import_react69;
|
|
21351
21358
|
var init_useAvailableSenders = __esm({
|
|
21352
21359
|
"src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts"() {
|
|
21353
21360
|
init_SessionContext();
|
|
21354
21361
|
init_tokens();
|
|
21355
21362
|
init_linkedProfiles();
|
|
21356
|
-
|
|
21363
|
+
import_react69 = require("react");
|
|
21357
21364
|
init_wallets();
|
|
21358
21365
|
init_useFlowSelector();
|
|
21359
21366
|
init_useBridgeStore();
|
|
@@ -21671,9 +21678,10 @@ function getAssetBalance(asset) {
|
|
|
21671
21678
|
return Number((0, import_viem13.formatUnits)(BigInt(asset.balance || "0"), asset.decimals || 18));
|
|
21672
21679
|
}
|
|
21673
21680
|
function isOririnChainEmbarkSupported(originChain) {
|
|
21674
|
-
const
|
|
21675
|
-
|
|
21676
|
-
|
|
21681
|
+
const originChainID = CHAINS_UI_META[originChain]?.chainID;
|
|
21682
|
+
if (!originChainID) return false;
|
|
21683
|
+
const supportedChainIDS = [...import_read20.SUPPORTED_CHAINS].map(([chainId]) => chainId);
|
|
21684
|
+
return supportedChainIDS.includes(originChainID) && useSession.getState().activeChainId === originChainID;
|
|
21677
21685
|
}
|
|
21678
21686
|
var import_read20, import_viem13;
|
|
21679
21687
|
var init_utils9 = __esm({
|
|
@@ -21701,29 +21709,29 @@ function useHyperlaneHistory() {
|
|
|
21701
21709
|
queryFn: async ({ pageParam }) => await getHyperlaneBridgeHistory({ page: pageParam, pageSize: TX_HISTORY_PAGE_SIZE })
|
|
21702
21710
|
});
|
|
21703
21711
|
const { data: txHistoryData, isLoading: isBridgeTxHistoryLoading } = query;
|
|
21704
|
-
const txList = (0,
|
|
21712
|
+
const txList = (0, import_react70.useMemo)(
|
|
21705
21713
|
() => txHistoryData?.pages?.map((p) => p.data).flat(Infinity) || [],
|
|
21706
21714
|
[txHistoryData]
|
|
21707
21715
|
);
|
|
21708
|
-
const updateExpandable = (0,
|
|
21716
|
+
const updateExpandable = (0, import_react70.useCallback)(
|
|
21709
21717
|
(0, import_lodash_es12.debounce)(() => {
|
|
21710
21718
|
useFlowSelectorStore.getState().setRenderKey(`hyperlane-history-loaded-${Date.now()}`);
|
|
21711
21719
|
}, 250),
|
|
21712
21720
|
[]
|
|
21713
21721
|
);
|
|
21714
|
-
(0,
|
|
21722
|
+
(0, import_react70.useEffect)(() => {
|
|
21715
21723
|
if (isBridgeTxHistoryLoading || txList.length === 0) return;
|
|
21716
21724
|
updateExpandable();
|
|
21717
21725
|
}, [isBridgeTxHistoryLoading, txList]);
|
|
21718
21726
|
return { query, txList };
|
|
21719
21727
|
}
|
|
21720
|
-
var import_react_query46, import_lodash_es12,
|
|
21728
|
+
var import_react_query46, import_lodash_es12, import_react70, HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
|
|
21721
21729
|
var init_useHyperlaneHistory = __esm({
|
|
21722
21730
|
"src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts"() {
|
|
21723
21731
|
init_SessionContext();
|
|
21724
21732
|
import_react_query46 = require("@tanstack/react-query");
|
|
21725
21733
|
import_lodash_es12 = require("lodash-es");
|
|
21726
|
-
|
|
21734
|
+
import_react70 = require("react");
|
|
21727
21735
|
init_useLayoutDataStore();
|
|
21728
21736
|
init_useFlowSelector();
|
|
21729
21737
|
init_api3();
|
|
@@ -21755,7 +21763,7 @@ function useBridge() {
|
|
|
21755
21763
|
const address = useSession((st) => st.address);
|
|
21756
21764
|
const { data: walletClient } = (0, import_wagmi4.useWalletClient)();
|
|
21757
21765
|
const { switchChainAsync } = (0, import_wagmi4.useSwitchChain)();
|
|
21758
|
-
const swapDirection = (0,
|
|
21766
|
+
const swapDirection = (0, import_react71.useCallback)(() => {
|
|
21759
21767
|
const {
|
|
21760
21768
|
bridgeStep,
|
|
21761
21769
|
originChain,
|
|
@@ -21807,7 +21815,7 @@ function useBridge() {
|
|
|
21807
21815
|
useFlowSelectorStore.getState().setError(error instanceof Error ? error.message : String(error));
|
|
21808
21816
|
}
|
|
21809
21817
|
});
|
|
21810
|
-
const handleQuoteEstimation = (0,
|
|
21818
|
+
const handleQuoteEstimation = (0, import_react71.useCallback)((amnt) => {
|
|
21811
21819
|
const { originChain, destinationChain, bridgeSender } = useBridgeStore.getState();
|
|
21812
21820
|
if (!amnt || !Number(amnt)) {
|
|
21813
21821
|
useBridgeStore.getState().setQuote(null);
|
|
@@ -21932,14 +21940,14 @@ function useBridge() {
|
|
|
21932
21940
|
isAssetBridging
|
|
21933
21941
|
};
|
|
21934
21942
|
}
|
|
21935
|
-
var import_react_query47,
|
|
21943
|
+
var import_react_query47, import_react71, import_wagmi4;
|
|
21936
21944
|
var init_useBridge = __esm({
|
|
21937
21945
|
"src/internal/components/SendMenu/hyperbridge/hooks/useBridge.ts"() {
|
|
21938
21946
|
init_SessionContext();
|
|
21939
21947
|
init_i18n();
|
|
21940
21948
|
init_useExternalWalletStore();
|
|
21941
21949
|
import_react_query47 = require("@tanstack/react-query");
|
|
21942
|
-
|
|
21950
|
+
import_react71 = require("react");
|
|
21943
21951
|
import_wagmi4 = require("wagmi");
|
|
21944
21952
|
init_useLayoutStore();
|
|
21945
21953
|
init_useFlowSelector();
|
|
@@ -21967,13 +21975,9 @@ function useHyperlaneRoutes() {
|
|
|
21967
21975
|
retry: false,
|
|
21968
21976
|
enabled: !!address && page === "send" /* SEND */ && flow === "bridge",
|
|
21969
21977
|
queryKey: [HYPERLANE_WARP_ROUTES_QUERY_KEY, address],
|
|
21970
|
-
queryFn: async () =>
|
|
21971
|
-
const warpRoutes = await getHyperlaneWarpRoutes();
|
|
21972
|
-
useFlowSelectorStore.getState().setRenderKey(`hyperlane-bridge-warp-routes-loaded-${Date.now()}`);
|
|
21973
|
-
return warpRoutes;
|
|
21974
|
-
}
|
|
21978
|
+
queryFn: async () => await getHyperlaneWarpRoutes()
|
|
21975
21979
|
});
|
|
21976
|
-
(0,
|
|
21980
|
+
(0, import_react72.useEffect)(() => {
|
|
21977
21981
|
if (!errorWarpRoutes) return;
|
|
21978
21982
|
useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
|
|
21979
21983
|
const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
|
|
@@ -21982,31 +21986,41 @@ function useHyperlaneRoutes() {
|
|
|
21982
21986
|
setOriginChain(null);
|
|
21983
21987
|
setDestinationChain(null);
|
|
21984
21988
|
}, [errorWarpRoutes]);
|
|
21985
|
-
(0,
|
|
21989
|
+
(0, import_react72.useEffect)(() => {
|
|
21986
21990
|
if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
|
|
21987
|
-
|
|
21988
|
-
if (!
|
|
21991
|
+
let targetHyperRouteToSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
|
|
21992
|
+
if (!targetHyperRouteToSelect) {
|
|
21993
|
+
targetHyperRouteToSelect = hyperlaneWarpRoutes.find(
|
|
21994
|
+
(el) => el.symbol === (useSession.getState().chainConfig?.nativeCurrency?.symbol || "USDT")
|
|
21995
|
+
);
|
|
21996
|
+
}
|
|
21997
|
+
if (!targetHyperRouteToSelect) {
|
|
21998
|
+
useFlowSelectorStore.getState().setRenderKey(`no-hyperlane-bridge-warp-routes-loaded-${Date.now()}`);
|
|
21999
|
+
return;
|
|
22000
|
+
}
|
|
21989
22001
|
let originChainIndex = 0;
|
|
21990
22002
|
let destinationChainIndex = 1;
|
|
21991
|
-
|
|
21992
|
-
|
|
22003
|
+
const { bridgeSender, setOriginChain, setDestinationChain, setHyperRoute } = useBridgeStore.getState();
|
|
22004
|
+
if (bridgeSender === "embarkai-wallet") {
|
|
22005
|
+
const foundIdx = targetHyperRouteToSelect.chainPair?.findIndex((chain) => isOririnChainEmbarkSupported(chain.chainName)) || -1;
|
|
21993
22006
|
if (foundIdx !== -1) {
|
|
21994
22007
|
originChainIndex = foundIdx;
|
|
21995
22008
|
destinationChainIndex = foundIdx === 0 ? 1 : 0;
|
|
21996
22009
|
}
|
|
21997
22010
|
}
|
|
21998
|
-
|
|
21999
|
-
|
|
22000
|
-
|
|
22011
|
+
setOriginChain(targetHyperRouteToSelect.chainPair[originChainIndex].chainName);
|
|
22012
|
+
setDestinationChain(targetHyperRouteToSelect.chainPair[destinationChainIndex].chainName);
|
|
22013
|
+
setHyperRoute(targetHyperRouteToSelect.routeId);
|
|
22014
|
+
useFlowSelectorStore.getState().setRenderKey(`hyperlane-bridge-warp-routes-loaded-${Date.now()}`);
|
|
22001
22015
|
}, [hyperRoute, hyperlaneWarpRoutes]);
|
|
22002
22016
|
return { hyperlaneWarpRoutes, isLoadingWarpRoutes };
|
|
22003
22017
|
}
|
|
22004
|
-
var import_react_query48,
|
|
22018
|
+
var import_react_query48, import_react72, HYPERLANE_WARP_ROUTES_QUERY_KEY;
|
|
22005
22019
|
var init_useHyperlaneRoutes = __esm({
|
|
22006
22020
|
"src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts"() {
|
|
22007
22021
|
init_SessionContext();
|
|
22008
22022
|
import_react_query48 = require("@tanstack/react-query");
|
|
22009
|
-
|
|
22023
|
+
import_react72 = require("react");
|
|
22010
22024
|
init_useLayoutDataStore();
|
|
22011
22025
|
init_useFlowSelector();
|
|
22012
22026
|
init_api3();
|
|
@@ -22022,7 +22036,7 @@ function useMenuTitle(warpRoutes) {
|
|
|
22022
22036
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
22023
22037
|
const hyperRoute = useBridgeStore((st) => st.hyperRoute);
|
|
22024
22038
|
const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
|
|
22025
|
-
(0,
|
|
22039
|
+
(0, import_react73.useEffect)(() => {
|
|
22026
22040
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
22027
22041
|
switch (true) {
|
|
22028
22042
|
case bridgeStep === "sender-selector":
|
|
@@ -22050,11 +22064,11 @@ function useMenuTitle(warpRoutes) {
|
|
|
22050
22064
|
}
|
|
22051
22065
|
}, [bridgeStep, hyperRouteMeta, t]);
|
|
22052
22066
|
}
|
|
22053
|
-
var
|
|
22067
|
+
var import_react73;
|
|
22054
22068
|
var init_useMenuTitle = __esm({
|
|
22055
22069
|
"src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts"() {
|
|
22056
22070
|
init_i18n();
|
|
22057
|
-
|
|
22071
|
+
import_react73 = require("react");
|
|
22058
22072
|
init_useFlowSelector();
|
|
22059
22073
|
init_useBridgeStore();
|
|
22060
22074
|
}
|
|
@@ -22311,7 +22325,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
22311
22325
|
};
|
|
22312
22326
|
}
|
|
22313
22327
|
});
|
|
22314
|
-
const refreshRouteTokenBalance = (0,
|
|
22328
|
+
const refreshRouteTokenBalance = (0, import_react74.useCallback)(
|
|
22315
22329
|
(senderWallet) => {
|
|
22316
22330
|
switch (true) {
|
|
22317
22331
|
case senderWallet === "embarkai-wallet":
|
|
@@ -22327,7 +22341,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
22327
22341
|
},
|
|
22328
22342
|
[refreshBalances, qc]
|
|
22329
22343
|
);
|
|
22330
|
-
(0,
|
|
22344
|
+
(0, import_react74.useEffect)(() => {
|
|
22331
22345
|
if (!bridgeSender || !originChain) return;
|
|
22332
22346
|
switch (bridgeSender) {
|
|
22333
22347
|
case "embarkai-wallet":
|
|
@@ -22351,21 +22365,21 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
22351
22365
|
break;
|
|
22352
22366
|
}
|
|
22353
22367
|
}, [bridgeSender, originChain, directWalletChainId, switchChainAsync]);
|
|
22354
|
-
const embarkBalance = CHAINS_UI_META[originChain]
|
|
22368
|
+
const embarkBalance = !!embarkTokenBalanace && CHAINS_UI_META[originChain]?.chainID === activeChainId ? getAssetBalance(embarkTokenBalanace) : 0;
|
|
22355
22369
|
const externalWalletBalance = isSelectedTokenNative ? (0, import_viem14.formatUnits)(externalNativeBalanceData?.value || BigInt(0), externalNativeBalanceData?.decimals || 18) : (0, import_viem14.formatUnits)(externalBalanceData?.value || BigInt(0), externalBalanceData?.decimals || 18);
|
|
22356
22370
|
return {
|
|
22357
22371
|
routeTokenBalance: isEmbarkSender ? embarkBalance : externalWalletBalance,
|
|
22358
22372
|
isRouteTokenBalanceLoading: isAssetsLoading || isExternalBalanceLoading || isExternalNativeBalanceLoading
|
|
22359
22373
|
};
|
|
22360
22374
|
}
|
|
22361
|
-
var import_core8, import_react_query49,
|
|
22375
|
+
var import_core8, import_react_query49, import_react74, import_viem14, import_wagmi5, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY;
|
|
22362
22376
|
var init_useBridgeBalance = __esm({
|
|
22363
22377
|
"src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts"() {
|
|
22364
22378
|
init_SessionContext();
|
|
22365
22379
|
init_i18n();
|
|
22366
22380
|
import_core8 = require("@embarkai/core");
|
|
22367
22381
|
import_react_query49 = require("@tanstack/react-query");
|
|
22368
|
-
|
|
22382
|
+
import_react74 = require("react");
|
|
22369
22383
|
import_viem14 = require("viem");
|
|
22370
22384
|
import_wagmi5 = require("wagmi");
|
|
22371
22385
|
init_useBlockscoutAssets2();
|
|
@@ -22489,7 +22503,7 @@ function SelectStep(props) {
|
|
|
22489
22503
|
variant: "outline",
|
|
22490
22504
|
size: "medium",
|
|
22491
22505
|
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)(
|
|
22506
|
+
children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_react75.Fragment, { children: [
|
|
22493
22507
|
chIdx > 0 && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.ArrowLeftRightIcon, { className: "w-4 h-4 " }),
|
|
22494
22508
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
|
|
22495
22509
|
] }, `${selectedWarpRoute.id}-icon-${chain.chainID}-${chIdx}`))
|
|
@@ -22633,13 +22647,13 @@ function SelectStep(props) {
|
|
|
22633
22647
|
)
|
|
22634
22648
|
] });
|
|
22635
22649
|
}
|
|
22636
|
-
var import_lucide_react59,
|
|
22650
|
+
var import_lucide_react59, import_react75, import_jsx_runtime97;
|
|
22637
22651
|
var init_SelectStep = __esm({
|
|
22638
22652
|
"src/internal/components/SendMenu/hyperbridge/steps/SelectStep.tsx"() {
|
|
22639
22653
|
init_tokens();
|
|
22640
22654
|
init_i18n();
|
|
22641
22655
|
import_lucide_react59 = require("lucide-react");
|
|
22642
|
-
|
|
22656
|
+
import_react75 = require("react");
|
|
22643
22657
|
init_priceFormatter();
|
|
22644
22658
|
init_utils2();
|
|
22645
22659
|
init_Onboarding();
|
|
@@ -22689,7 +22703,7 @@ var init_checkbox = __esm({
|
|
|
22689
22703
|
// src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx
|
|
22690
22704
|
function ConfirmStep(props) {
|
|
22691
22705
|
const { isAssetBridging, bridgeAsset, hyperlaneWarpRoutes } = props;
|
|
22692
|
-
const [userConsent, setUserConsent] = (0,
|
|
22706
|
+
const [userConsent, setUserConsent] = (0, import_react76.useState)(false);
|
|
22693
22707
|
const { t } = useT();
|
|
22694
22708
|
const address = useSession((st) => st.address);
|
|
22695
22709
|
const bridgeSender = useBridgeStore((st) => st.bridgeSenders.find((s) => s.type === st.bridgeSender));
|
|
@@ -22805,13 +22819,13 @@ function ConfirmStep(props) {
|
|
|
22805
22819
|
}
|
|
22806
22820
|
);
|
|
22807
22821
|
}
|
|
22808
|
-
var import_lucide_react61,
|
|
22822
|
+
var import_lucide_react61, import_react76, import_jsx_runtime99, P_CN;
|
|
22809
22823
|
var init_ConfirmStep = __esm({
|
|
22810
22824
|
"src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx"() {
|
|
22811
22825
|
init_SessionContext();
|
|
22812
22826
|
init_i18n();
|
|
22813
22827
|
import_lucide_react61 = require("lucide-react");
|
|
22814
|
-
|
|
22828
|
+
import_react76 = require("react");
|
|
22815
22829
|
init_priceFormatter();
|
|
22816
22830
|
init_utils2();
|
|
22817
22831
|
init_Onboarding();
|
|
@@ -23188,7 +23202,7 @@ function SelectAssetRoute(props) {
|
|
|
23188
23202
|
const { hyperlaneWarpRoutes } = props;
|
|
23189
23203
|
const { t } = useT();
|
|
23190
23204
|
const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
|
|
23191
|
-
const tokenList = (0,
|
|
23205
|
+
const tokenList = (0, import_react77.useMemo)(() => {
|
|
23192
23206
|
const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
|
|
23193
23207
|
const uniqueTokens = Array.from(new Set(tokens));
|
|
23194
23208
|
return uniqueTokens.map((symbol) => ({
|
|
@@ -23268,13 +23282,13 @@ function SelectAssetRoute(props) {
|
|
|
23268
23282
|
] })
|
|
23269
23283
|
] });
|
|
23270
23284
|
}
|
|
23271
|
-
var import_lucide_react63,
|
|
23285
|
+
var import_lucide_react63, import_react77, import_jsx_runtime102;
|
|
23272
23286
|
var init_SelectAssetRoute = __esm({
|
|
23273
23287
|
"src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx"() {
|
|
23274
23288
|
init_tokens();
|
|
23275
23289
|
init_i18n();
|
|
23276
23290
|
import_lucide_react63 = require("lucide-react");
|
|
23277
|
-
|
|
23291
|
+
import_react77 = require("react");
|
|
23278
23292
|
init_button();
|
|
23279
23293
|
init_useFlowSelector();
|
|
23280
23294
|
init_ResolveChainIcon();
|
|
@@ -23302,7 +23316,7 @@ function HyperlaneBridge() {
|
|
|
23302
23316
|
const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
|
|
23303
23317
|
const { directWalletProfile } = useAvailableSenders();
|
|
23304
23318
|
useMenuTitle(hyperlaneWarpRoutes);
|
|
23305
|
-
(0,
|
|
23319
|
+
(0, import_react78.useEffect)(() => {
|
|
23306
23320
|
return () => {
|
|
23307
23321
|
useBridgeStore.getState().resetSelections();
|
|
23308
23322
|
};
|
|
@@ -23335,10 +23349,10 @@ function HyperlaneBridge() {
|
|
|
23335
23349
|
bridgeStep === "tx-history-details" && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(HistoryDetailsStep, {})
|
|
23336
23350
|
] });
|
|
23337
23351
|
}
|
|
23338
|
-
var
|
|
23352
|
+
var import_react78, import_jsx_runtime103;
|
|
23339
23353
|
var init_HyperlaneBridge = __esm({
|
|
23340
23354
|
"src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx"() {
|
|
23341
|
-
|
|
23355
|
+
import_react78 = require("react");
|
|
23342
23356
|
init_SenderSelector();
|
|
23343
23357
|
init_useAvailableSenders();
|
|
23344
23358
|
init_useBridge();
|
|
@@ -23356,7 +23370,7 @@ function BridgeHistorySwitch(props) {
|
|
|
23356
23370
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
23357
23371
|
const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
|
|
23358
23372
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
23359
|
-
const lastBridgeStepRef = (0,
|
|
23373
|
+
const lastBridgeStepRef = (0, import_react79.useRef)(null);
|
|
23360
23374
|
if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
|
|
23361
23375
|
return null;
|
|
23362
23376
|
}
|
|
@@ -23375,10 +23389,10 @@ function BridgeHistorySwitch(props) {
|
|
|
23375
23389
|
}
|
|
23376
23390
|
);
|
|
23377
23391
|
}
|
|
23378
|
-
var
|
|
23392
|
+
var import_react79, import_jsx_runtime104;
|
|
23379
23393
|
var init_HistorySwitch = __esm({
|
|
23380
23394
|
"src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx"() {
|
|
23381
|
-
|
|
23395
|
+
import_react79 = require("react");
|
|
23382
23396
|
init_switch();
|
|
23383
23397
|
init_useFlowSelector();
|
|
23384
23398
|
init_useBridgeStore();
|
|
@@ -23469,11 +23483,11 @@ function looksLikeNickname(input) {
|
|
|
23469
23483
|
}
|
|
23470
23484
|
function useNicknameResolve(input, options) {
|
|
23471
23485
|
const { enabled = true, chainId } = options;
|
|
23472
|
-
const [debouncedInput, setDebouncedInput] = (0,
|
|
23473
|
-
const [isDebouncing, setIsDebouncing] = (0,
|
|
23486
|
+
const [debouncedInput, setDebouncedInput] = (0, import_react80.useState)("");
|
|
23487
|
+
const [isDebouncing, setIsDebouncing] = (0, import_react80.useState)(false);
|
|
23474
23488
|
const normalized = normalizeNickname(input);
|
|
23475
23489
|
const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
|
|
23476
|
-
(0,
|
|
23490
|
+
(0, import_react80.useEffect)(() => {
|
|
23477
23491
|
if (!isNicknameInput || !enabled) {
|
|
23478
23492
|
setDebouncedInput("");
|
|
23479
23493
|
setIsDebouncing(false);
|
|
@@ -23499,7 +23513,7 @@ function useNicknameResolve(input, options) {
|
|
|
23499
23513
|
const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
|
|
23500
23514
|
const isWalletNotSetup = !!query.data && query.data.resolvedTarget === null;
|
|
23501
23515
|
const isFrozen = query.data?.isFrozen ?? false;
|
|
23502
|
-
const fingerprintVerification = (0,
|
|
23516
|
+
const fingerprintVerification = (0, import_react80.useMemo)(() => {
|
|
23503
23517
|
if (!query.data?.owner || !query.data?.fingerprint) {
|
|
23504
23518
|
return null;
|
|
23505
23519
|
}
|
|
@@ -23521,11 +23535,11 @@ function useNicknameResolve(input, options) {
|
|
|
23521
23535
|
resolvedAddress
|
|
23522
23536
|
};
|
|
23523
23537
|
}
|
|
23524
|
-
var import_react_query51,
|
|
23538
|
+
var import_react_query51, import_react80, DEBOUNCE_MS2;
|
|
23525
23539
|
var init_useNicknameResolve = __esm({
|
|
23526
23540
|
"src/hooks/useNicknameResolve.ts"() {
|
|
23527
23541
|
import_react_query51 = require("@tanstack/react-query");
|
|
23528
|
-
|
|
23542
|
+
import_react80 = require("react");
|
|
23529
23543
|
init_nickname();
|
|
23530
23544
|
init_profile();
|
|
23531
23545
|
init_nickname_fingerprint();
|
|
@@ -23538,10 +23552,10 @@ var init_useNicknameResolve = __esm({
|
|
|
23538
23552
|
function useSendTransaction() {
|
|
23539
23553
|
const session = useSession((st) => st.session);
|
|
23540
23554
|
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,
|
|
23555
|
+
const [isLoading, setIsLoading] = (0, import_react81.useState)(false);
|
|
23556
|
+
const [error, setError] = (0, import_react81.useState)(null);
|
|
23557
|
+
const [userOpHash, setUserOpHash] = (0, import_react81.useState)(null);
|
|
23558
|
+
const sendTransaction = (0, import_react81.useCallback)(
|
|
23545
23559
|
async (params) => {
|
|
23546
23560
|
if (!session || !address) {
|
|
23547
23561
|
setError("No active session");
|
|
@@ -23638,7 +23652,7 @@ function useSendTransaction() {
|
|
|
23638
23652
|
},
|
|
23639
23653
|
[session, address]
|
|
23640
23654
|
);
|
|
23641
|
-
const reset = (0,
|
|
23655
|
+
const reset = (0, import_react81.useCallback)(() => {
|
|
23642
23656
|
setError(null);
|
|
23643
23657
|
setUserOpHash(null);
|
|
23644
23658
|
setIsLoading(false);
|
|
@@ -23651,10 +23665,10 @@ function useSendTransaction() {
|
|
|
23651
23665
|
reset
|
|
23652
23666
|
};
|
|
23653
23667
|
}
|
|
23654
|
-
var
|
|
23668
|
+
var import_react81, import_viem15, ERC20_TRANSFER_ABI, ERC721_SAFE_TRANSFER_ABI, ERC1155_SAFE_TRANSFER_ABI;
|
|
23655
23669
|
var init_useSendTransaction = __esm({
|
|
23656
23670
|
"src/hooks/useSendTransaction.ts"() {
|
|
23657
|
-
|
|
23671
|
+
import_react81 = require("react");
|
|
23658
23672
|
import_viem15 = require("viem");
|
|
23659
23673
|
init_SessionContext();
|
|
23660
23674
|
init_account2();
|
|
@@ -23797,7 +23811,7 @@ var init_AssetInputIcon = __esm({
|
|
|
23797
23811
|
|
|
23798
23812
|
// src/internal/components/SendMenu/send/components/NftDisplayCard.tsx
|
|
23799
23813
|
function NftDisplayCard({ asset }) {
|
|
23800
|
-
const [imageError, setImageError] = (0,
|
|
23814
|
+
const [imageError, setImageError] = (0, import_react82.useState)(false);
|
|
23801
23815
|
const nftImage = asset.image || asset.nftMetadata?.image;
|
|
23802
23816
|
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
23817
|
nftImage && !imageError ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
@@ -23825,11 +23839,11 @@ function NftDisplayCard({ asset }) {
|
|
|
23825
23839
|
] })
|
|
23826
23840
|
] });
|
|
23827
23841
|
}
|
|
23828
|
-
var import_lucide_react65,
|
|
23842
|
+
var import_lucide_react65, import_react82, import_jsx_runtime106;
|
|
23829
23843
|
var init_NftDisplayCard = __esm({
|
|
23830
23844
|
"src/internal/components/SendMenu/send/components/NftDisplayCard.tsx"() {
|
|
23831
23845
|
import_lucide_react65 = require("lucide-react");
|
|
23832
|
-
|
|
23846
|
+
import_react82 = require("react");
|
|
23833
23847
|
import_jsx_runtime106 = require("react/jsx-runtime");
|
|
23834
23848
|
}
|
|
23835
23849
|
});
|
|
@@ -23949,11 +23963,11 @@ function NicknameData(props) {
|
|
|
23949
23963
|
isWalletNotSetup,
|
|
23950
23964
|
isFrozen
|
|
23951
23965
|
} = resolvedNicknameData;
|
|
23952
|
-
(0,
|
|
23966
|
+
(0, import_react83.useEffect)(() => {
|
|
23953
23967
|
if (!resolvedNicknameData?.data?.fingerprint || !isNicknameInput) return;
|
|
23954
23968
|
useFlowSelectorStore.getState().setRenderKey(`nickname-resolved-${Date.now()}`);
|
|
23955
23969
|
}, [resolvedNicknameData, isNicknameInput]);
|
|
23956
|
-
(0,
|
|
23970
|
+
(0, import_react83.useEffect)(() => {
|
|
23957
23971
|
if (isResolving) return;
|
|
23958
23972
|
let errMessage = null;
|
|
23959
23973
|
switch (true) {
|
|
@@ -24008,11 +24022,11 @@ function NicknameData(props) {
|
|
|
24008
24022
|
] })
|
|
24009
24023
|
] });
|
|
24010
24024
|
}
|
|
24011
|
-
var import_lucide_react66,
|
|
24025
|
+
var import_lucide_react66, import_react83, import_jsx_runtime108;
|
|
24012
24026
|
var init_NicknameData = __esm({
|
|
24013
24027
|
"src/internal/components/SendMenu/send/components/NicknameData.tsx"() {
|
|
24014
24028
|
import_lucide_react66 = require("lucide-react");
|
|
24015
|
-
|
|
24029
|
+
import_react83 = require("react");
|
|
24016
24030
|
init_no_image();
|
|
24017
24031
|
init_utils2();
|
|
24018
24032
|
init_useFlowSelector();
|
|
@@ -24541,16 +24555,16 @@ function SendMenu() {
|
|
|
24541
24555
|
userOpHash,
|
|
24542
24556
|
reset
|
|
24543
24557
|
} = useSendTransaction();
|
|
24544
|
-
(0,
|
|
24558
|
+
(0, import_react84.useEffect)(() => {
|
|
24545
24559
|
useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
|
|
24546
24560
|
}, [isAssetsLoading, isTransactionPending]);
|
|
24547
|
-
(0,
|
|
24561
|
+
(0, import_react84.useEffect)(() => {
|
|
24548
24562
|
useFlowSelectorStore.getState().setError(sendTransactionError || null);
|
|
24549
24563
|
}, [sendTransactionError]);
|
|
24550
24564
|
const { txStep, recipient, amount, selectedAsset, setSelectedAsset } = useSendStore();
|
|
24551
24565
|
const isNft = isNftAsset3(selectedAsset);
|
|
24552
24566
|
const isSecurity = isSecurityToken2(selectedAsset);
|
|
24553
|
-
(0,
|
|
24567
|
+
(0, import_react84.useEffect)(() => {
|
|
24554
24568
|
const shouldDefaultAsset = assets.length > 0 && !selectedAsset;
|
|
24555
24569
|
if (!shouldDefaultAsset) return;
|
|
24556
24570
|
const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
|
|
@@ -24560,7 +24574,7 @@ function SendMenu() {
|
|
|
24560
24574
|
if (isBalance(erc20)) return setSelectedAsset(erc20);
|
|
24561
24575
|
setSelectedAsset(assets[0]);
|
|
24562
24576
|
}, [assets, selectedAsset]);
|
|
24563
|
-
(0,
|
|
24577
|
+
(0, import_react84.useEffect)(
|
|
24564
24578
|
() => () => {
|
|
24565
24579
|
useSendStore.getState().reset();
|
|
24566
24580
|
reset();
|
|
@@ -24570,7 +24584,7 @@ function SendMenu() {
|
|
|
24570
24584
|
const isNicknameInput = looksLikeNickname(recipient);
|
|
24571
24585
|
const resolvedNicknameData = useNicknameResolve(recipient, { enabled: isNicknameInput, chainId: activeChainId });
|
|
24572
24586
|
const effectiveAddress = isNicknameInput ? resolvedNicknameData?.resolvedAddress : recipient;
|
|
24573
|
-
const complianceAmount = (0,
|
|
24587
|
+
const complianceAmount = (0, import_react84.useMemo)(() => {
|
|
24574
24588
|
if (!isSecurity || !amount || !selectedAsset) return void 0;
|
|
24575
24589
|
try {
|
|
24576
24590
|
return (0, import_viem20.parseUnits)(amount, selectedAsset.decimals || 18);
|
|
@@ -24585,7 +24599,7 @@ function SendMenu() {
|
|
|
24585
24599
|
enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
|
|
24586
24600
|
chainId: activeChainId
|
|
24587
24601
|
});
|
|
24588
|
-
(0,
|
|
24602
|
+
(0, import_react84.useEffect)(() => {
|
|
24589
24603
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
24590
24604
|
switch (true) {
|
|
24591
24605
|
case txStep === "select-asset":
|
|
@@ -24655,7 +24669,7 @@ function SendMenu() {
|
|
|
24655
24669
|
] })
|
|
24656
24670
|
] });
|
|
24657
24671
|
}
|
|
24658
|
-
var import_lucide_react69,
|
|
24672
|
+
var import_lucide_react69, import_react84, import_viem20, import_jsx_runtime111;
|
|
24659
24673
|
var init_SendMenu = __esm({
|
|
24660
24674
|
"src/internal/components/SendMenu/send/SendMenu.tsx"() {
|
|
24661
24675
|
init_SessionContext();
|
|
@@ -24664,7 +24678,7 @@ var init_SendMenu = __esm({
|
|
|
24664
24678
|
init_useSendTransaction();
|
|
24665
24679
|
init_useT();
|
|
24666
24680
|
import_lucide_react69 = require("lucide-react");
|
|
24667
|
-
|
|
24681
|
+
import_react84 = require("react");
|
|
24668
24682
|
import_viem20 = require("viem");
|
|
24669
24683
|
init_useBlockscoutAssets2();
|
|
24670
24684
|
init_useLayoutDataStore();
|
|
@@ -24689,7 +24703,7 @@ var init_send = __esm({
|
|
|
24689
24703
|
|
|
24690
24704
|
// src/internal/components/SendMenu/useSendMenuParams.ts
|
|
24691
24705
|
function useSendMenuParams() {
|
|
24692
|
-
(0,
|
|
24706
|
+
(0, import_react85.useEffect)(() => {
|
|
24693
24707
|
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
24694
24708
|
if (!pageParams || !(0, import_lodash_es13.keys)(pageParams).length) return;
|
|
24695
24709
|
console.log("[SEND PARAMS]", pageParams);
|
|
@@ -24726,11 +24740,11 @@ function useSendMenuParams() {
|
|
|
24726
24740
|
setPageParams(null);
|
|
24727
24741
|
}, []);
|
|
24728
24742
|
}
|
|
24729
|
-
var import_lodash_es13,
|
|
24743
|
+
var import_lodash_es13, import_react85;
|
|
24730
24744
|
var init_useSendMenuParams = __esm({
|
|
24731
24745
|
"src/internal/components/SendMenu/useSendMenuParams.ts"() {
|
|
24732
24746
|
import_lodash_es13 = require("lodash-es");
|
|
24733
|
-
|
|
24747
|
+
import_react85 = require("react");
|
|
24734
24748
|
init_useLayoutDataStore();
|
|
24735
24749
|
init_useBridgeStore();
|
|
24736
24750
|
init_useSendStore();
|
|
@@ -24800,7 +24814,7 @@ function SendFlowSelector() {
|
|
|
24800
24814
|
const sendStep = useSendStore((st) => st.txStep);
|
|
24801
24815
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
24802
24816
|
useOnboardingTourAvailable(sendStep === "input" && bridgeStep === "select");
|
|
24803
|
-
(0,
|
|
24817
|
+
(0, import_react86.useEffect)(
|
|
24804
24818
|
() => () => {
|
|
24805
24819
|
useFlowSelectorStore.getState().setError(null);
|
|
24806
24820
|
},
|
|
@@ -24879,12 +24893,12 @@ function SendFlowSelector() {
|
|
|
24879
24893
|
}
|
|
24880
24894
|
);
|
|
24881
24895
|
}
|
|
24882
|
-
var import_lucide_react70,
|
|
24896
|
+
var import_lucide_react70, import_react86, import_jsx_runtime112, SELECTOR_FLOW;
|
|
24883
24897
|
var init_SendFlowSelector = __esm({
|
|
24884
24898
|
"src/internal/components/SendMenu/SendFlowSelector.tsx"() {
|
|
24885
24899
|
init_i18n();
|
|
24886
24900
|
import_lucide_react70 = require("lucide-react");
|
|
24887
|
-
|
|
24901
|
+
import_react86 = require("react");
|
|
24888
24902
|
init_useLayoutDataStore();
|
|
24889
24903
|
init_useLayoutStore();
|
|
24890
24904
|
init_utils2();
|
|
@@ -24952,12 +24966,12 @@ function getServerSnapshot() {
|
|
|
24952
24966
|
return false;
|
|
24953
24967
|
}
|
|
24954
24968
|
function useProMode() {
|
|
24955
|
-
return (0,
|
|
24969
|
+
return (0, import_react87.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
|
|
24956
24970
|
}
|
|
24957
|
-
var
|
|
24971
|
+
var import_react87, STORAGE_KEY, EVENT_NAME;
|
|
24958
24972
|
var init_pro_mode = __esm({
|
|
24959
24973
|
"src/internal/lib/pro-mode.ts"() {
|
|
24960
|
-
|
|
24974
|
+
import_react87 = require("react");
|
|
24961
24975
|
STORAGE_KEY = "embarkai_pro_mode";
|
|
24962
24976
|
EVENT_NAME = "embarkai-pro-mode-changed";
|
|
24963
24977
|
}
|
|
@@ -25014,7 +25028,7 @@ function useSettingsButtons() {
|
|
|
25014
25028
|
if (proMode) {
|
|
25015
25029
|
settingsButtons.push({ id: "devices" /* DEVICES */, name: "passport:guardiansMenu.title", Icon: import_lucide_react72.HardDrive });
|
|
25016
25030
|
}
|
|
25017
|
-
(0,
|
|
25031
|
+
(0, import_react88.useEffect)(() => {
|
|
25018
25032
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
25019
25033
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
25020
25034
|
return;
|
|
@@ -25080,7 +25094,7 @@ function SettingsMenu() {
|
|
|
25080
25094
|
}
|
|
25081
25095
|
);
|
|
25082
25096
|
}
|
|
25083
|
-
var import_react_query54, import_lucide_react72,
|
|
25097
|
+
var import_react_query54, import_lucide_react72, import_react88, import_jsx_runtime113;
|
|
25084
25098
|
var init_SettingsMenu = __esm({
|
|
25085
25099
|
"src/internal/components/SettingsMenu/SettingsMenu.tsx"() {
|
|
25086
25100
|
init_ProviderContext();
|
|
@@ -25088,7 +25102,7 @@ var init_SettingsMenu = __esm({
|
|
|
25088
25102
|
init_i18n();
|
|
25089
25103
|
import_react_query54 = require("@tanstack/react-query");
|
|
25090
25104
|
import_lucide_react72 = require("lucide-react");
|
|
25091
|
-
|
|
25105
|
+
import_react88 = require("react");
|
|
25092
25106
|
init_nickname();
|
|
25093
25107
|
init_profile();
|
|
25094
25108
|
init_useLayoutDataStore();
|
|
@@ -25978,7 +25992,7 @@ function TransactionsMenu() {
|
|
|
25978
25992
|
useOnboardingTourAvailable(true);
|
|
25979
25993
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
25980
25994
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
25981
|
-
const [expandedGroups, setExpandedGroups] = (0,
|
|
25995
|
+
const [expandedGroups, setExpandedGroups] = (0, import_react89.useState)({});
|
|
25982
25996
|
const historySupported = isTransactionHistorySupported(chainConfig?.id);
|
|
25983
25997
|
const {
|
|
25984
25998
|
data: txHistoryGroups = [],
|
|
@@ -25991,7 +26005,7 @@ function TransactionsMenu() {
|
|
|
25991
26005
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
|
|
25992
26006
|
queryFn: () => getTransactionsListQuery({ address, chainConfig })
|
|
25993
26007
|
});
|
|
25994
|
-
const refreshTxHistory = (0,
|
|
26008
|
+
const refreshTxHistory = (0, import_react89.useCallback)(
|
|
25995
26009
|
() => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address] }),
|
|
25996
26010
|
[qc, chainConfig.id, address]
|
|
25997
26011
|
);
|
|
@@ -26041,14 +26055,14 @@ function TransactionsMenu() {
|
|
|
26041
26055
|
}
|
|
26042
26056
|
);
|
|
26043
26057
|
}
|
|
26044
|
-
var import_react_query55, import_lucide_react75,
|
|
26058
|
+
var import_react_query55, import_lucide_react75, import_react89, import_jsx_runtime116;
|
|
26045
26059
|
var init_TransactionsMenu = __esm({
|
|
26046
26060
|
"src/internal/components/TransactionsMenu/TransactionsMenu.tsx"() {
|
|
26047
26061
|
init_SessionContext();
|
|
26048
26062
|
init_i18n();
|
|
26049
26063
|
import_react_query55 = require("@tanstack/react-query");
|
|
26050
26064
|
import_lucide_react75 = require("lucide-react");
|
|
26051
|
-
|
|
26065
|
+
import_react89 = require("react");
|
|
26052
26066
|
init_useLayoutDataStore();
|
|
26053
26067
|
init_useLayoutStore();
|
|
26054
26068
|
init_Expandable2();
|
|
@@ -26248,7 +26262,7 @@ function usePageMapper() {
|
|
|
26248
26262
|
setIsDialogOpen,
|
|
26249
26263
|
setIsDialogClosing
|
|
26250
26264
|
} = useLayoutStore();
|
|
26251
|
-
const closeDialog = (0,
|
|
26265
|
+
const closeDialog = (0, import_react90.useCallback)(() => {
|
|
26252
26266
|
setIsDialogClosing(true);
|
|
26253
26267
|
setTimeout(() => {
|
|
26254
26268
|
setDialogContent(null);
|
|
@@ -26259,7 +26273,7 @@ function usePageMapper() {
|
|
|
26259
26273
|
setIsDialogOpen(false);
|
|
26260
26274
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
26261
26275
|
}, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
|
|
26262
|
-
const openDialog = (0,
|
|
26276
|
+
const openDialog = (0, import_react90.useCallback)(
|
|
26263
26277
|
(pageItem) => {
|
|
26264
26278
|
const PageContentComponent = pageItem.component;
|
|
26265
26279
|
setDialogTitle(pageItem.title);
|
|
@@ -26269,7 +26283,7 @@ function usePageMapper() {
|
|
|
26269
26283
|
},
|
|
26270
26284
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
26271
26285
|
);
|
|
26272
|
-
(0,
|
|
26286
|
+
(0, import_react90.useEffect)(() => {
|
|
26273
26287
|
if (page === null) return closeDialog();
|
|
26274
26288
|
const pageItem = PAGE_MAP[page];
|
|
26275
26289
|
if (!pageItem) {
|
|
@@ -26280,10 +26294,10 @@ function usePageMapper() {
|
|
|
26280
26294
|
openDialog(pageItem);
|
|
26281
26295
|
}, [page, closeDialog, openDialog]);
|
|
26282
26296
|
}
|
|
26283
|
-
var
|
|
26297
|
+
var import_react90, import_jsx_runtime117, CLEAR_DIALOG_TIMEOUT;
|
|
26284
26298
|
var init_usePageMapper = __esm({
|
|
26285
26299
|
"src/internal/hooks/usePageMapper.tsx"() {
|
|
26286
|
-
|
|
26300
|
+
import_react90 = require("react");
|
|
26287
26301
|
init_PageMap();
|
|
26288
26302
|
init_constants();
|
|
26289
26303
|
init_useLayoutDataStore();
|
|
@@ -26299,24 +26313,24 @@ function useSettingsNotifications() {
|
|
|
26299
26313
|
const providers = import_auth23.jwtTokenManager.getProviders();
|
|
26300
26314
|
const hasEmail = providers.includes("email");
|
|
26301
26315
|
const { data: userProfile = null } = useUserProfile();
|
|
26302
|
-
(0,
|
|
26316
|
+
(0, import_react91.useEffect)(() => {
|
|
26303
26317
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
26304
26318
|
setSettingsNotifications({
|
|
26305
26319
|
...COMPLETE_KYC_PROGRESS,
|
|
26306
26320
|
status: isKYCVerified ? "resolved" : "active"
|
|
26307
26321
|
});
|
|
26308
26322
|
}, [userProfile, setSettingsNotifications]);
|
|
26309
|
-
(0,
|
|
26323
|
+
(0, import_react91.useEffect)(() => {
|
|
26310
26324
|
setSettingsNotifications({
|
|
26311
26325
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
26312
26326
|
status: hasEmail ? "resolved" : "active"
|
|
26313
26327
|
});
|
|
26314
26328
|
}, [hasEmail, setSettingsNotifications]);
|
|
26315
26329
|
}
|
|
26316
|
-
var
|
|
26330
|
+
var import_react91, EMAIL_NOT_CONNECTED_NOTIFICATION, COMPLETE_KYC_PROGRESS;
|
|
26317
26331
|
var init_useSettingsNotifications = __esm({
|
|
26318
26332
|
"src/internal/hooks/useSettingsNotifications.ts"() {
|
|
26319
|
-
|
|
26333
|
+
import_react91 = require("react");
|
|
26320
26334
|
init_auth();
|
|
26321
26335
|
init_useLayoutDataStore();
|
|
26322
26336
|
init_useUserProfile();
|
|
@@ -26339,7 +26353,7 @@ var init_package = __esm({
|
|
|
26339
26353
|
"package.json"() {
|
|
26340
26354
|
package_default = {
|
|
26341
26355
|
name: "@embarkai/ui-kit",
|
|
26342
|
-
version: "0.4.
|
|
26356
|
+
version: "0.4.78",
|
|
26343
26357
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
26344
26358
|
type: "module",
|
|
26345
26359
|
main: "./dist/index.cjs",
|
|
@@ -26650,7 +26664,7 @@ var init_onborading_setup = __esm({
|
|
|
26650
26664
|
},
|
|
26651
26665
|
["receive" /* RECEIVE */]: () => RECEIVE_MENU_TOUR,
|
|
26652
26666
|
["security" /* SECURITY */]: () => SECURITY_MENU_TOUR,
|
|
26653
|
-
["keysare-backup" /* KEYSARE_BACKUP */]: () => KEYSHARE_BACKUP_MENU_TOUR,
|
|
26667
|
+
["keysare-backup" /* KEYSARE_BACKUP */]: ({ config }) => config?.passkey?.enabled ? KEYSHARE_BACKUP_MENU_TOUR : KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY,
|
|
26654
26668
|
["transactions" /* TRANSACTIONS */]: () => TRANSACTIONS_MENU_TOUR,
|
|
26655
26669
|
["nickname-settings" /* NICKNAME_SETTINGS */]: () => NICKNAME_MENU_TOUR,
|
|
26656
26670
|
["manage-wallet" /* MANAGE_WALLET */]: () => MANAGE_WALLET_MENU_TOUR,
|
|
@@ -26671,11 +26685,11 @@ function Header() {
|
|
|
26671
26685
|
const embarkPage = useLayoutDataStore((st) => st.page);
|
|
26672
26686
|
const isOnboardingTourAvailable = useOnboardingStore((st) => st.isTourAvailable);
|
|
26673
26687
|
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,
|
|
26688
|
+
const [proToast, setProToast] = (0, import_react92.useState)(false);
|
|
26689
|
+
const [copied, setCopied] = (0, import_react92.useState)(false);
|
|
26690
|
+
const clickCountRef = (0, import_react92.useRef)(0);
|
|
26691
|
+
const clickTimerRef = (0, import_react92.useRef)(null);
|
|
26692
|
+
const handleAvatarClick = (0, import_react92.useCallback)(() => {
|
|
26679
26693
|
clickCountRef.current += 1;
|
|
26680
26694
|
if (clickTimerRef.current) {
|
|
26681
26695
|
clearTimeout(clickTimerRef.current);
|
|
@@ -26770,7 +26784,7 @@ function Header() {
|
|
|
26770
26784
|
size: "small",
|
|
26771
26785
|
variant: "ghost",
|
|
26772
26786
|
className: "text-[10px] px-2",
|
|
26773
|
-
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]()),
|
|
26787
|
+
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]({ config: config.current })),
|
|
26774
26788
|
children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react77.CircleQuestionMarkIcon, { className: "w-4 h-4" })
|
|
26775
26789
|
}
|
|
26776
26790
|
)
|
|
@@ -26781,7 +26795,7 @@ function Header() {
|
|
|
26781
26795
|
}
|
|
26782
26796
|
);
|
|
26783
26797
|
}
|
|
26784
|
-
var import_lucide_react77,
|
|
26798
|
+
var import_lucide_react77, import_react92, import_jsx_runtime119;
|
|
26785
26799
|
var init_Header = __esm({
|
|
26786
26800
|
"src/internal/components/Header/Header.tsx"() {
|
|
26787
26801
|
init_lumia2();
|
|
@@ -26789,7 +26803,7 @@ var init_Header = __esm({
|
|
|
26789
26803
|
init_ProviderContext();
|
|
26790
26804
|
init_SessionContext();
|
|
26791
26805
|
import_lucide_react77 = require("lucide-react");
|
|
26792
|
-
|
|
26806
|
+
import_react92 = require("react");
|
|
26793
26807
|
init_icons();
|
|
26794
26808
|
init_auth();
|
|
26795
26809
|
init_useLayoutDataStore();
|
|
@@ -26824,7 +26838,7 @@ function useDecideContentStyles() {
|
|
|
26824
26838
|
style: (0, import_lodash_es14.merge)({}, mobileStyles)
|
|
26825
26839
|
};
|
|
26826
26840
|
}
|
|
26827
|
-
var DialogPrimitive, import_lodash_es14, import_lucide_react78,
|
|
26841
|
+
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
26842
|
var init_dialog = __esm({
|
|
26829
26843
|
"src/internal/components/ui/dialog.tsx"() {
|
|
26830
26844
|
init_utils2();
|
|
@@ -26833,14 +26847,14 @@ var init_dialog = __esm({
|
|
|
26833
26847
|
DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
26834
26848
|
import_lodash_es14 = require("lodash-es");
|
|
26835
26849
|
import_lucide_react78 = require("lucide-react");
|
|
26836
|
-
|
|
26850
|
+
import_react93 = require("react");
|
|
26837
26851
|
init_useLayoutDataStore();
|
|
26838
26852
|
init_useLayoutStore();
|
|
26839
26853
|
init_button();
|
|
26840
26854
|
import_jsx_runtime120 = require("react/jsx-runtime");
|
|
26841
26855
|
Dialog = DialogPrimitive.Root;
|
|
26842
26856
|
DialogPortal = DialogPrimitive.Portal;
|
|
26843
|
-
DialogOverlay = (0,
|
|
26857
|
+
DialogOverlay = (0, import_react93.forwardRef)(
|
|
26844
26858
|
({ className, closing, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
26845
26859
|
DialogPrimitive.Overlay,
|
|
26846
26860
|
{
|
|
@@ -26862,7 +26876,7 @@ var init_dialog = __esm({
|
|
|
26862
26876
|
border: "1px solid var(--ui-kit-bd)",
|
|
26863
26877
|
boxShadow: "var(--ui-kit-shadow, 0px 4px 10px var(--ui-kit-shadow-c, rgba(0, 0, 0, 0.1)))"
|
|
26864
26878
|
};
|
|
26865
|
-
DialogContent = (0,
|
|
26879
|
+
DialogContent = (0, import_react93.forwardRef)(
|
|
26866
26880
|
({ className, children, colorMode, ...props }, ref) => {
|
|
26867
26881
|
const { t, i18n } = useT();
|
|
26868
26882
|
const isSessionLoading = useSession((st) => st.isLoading);
|
|
@@ -26974,7 +26988,7 @@ var init_dialog = __esm({
|
|
|
26974
26988
|
DialogHeader.displayName = "DialogHeader";
|
|
26975
26989
|
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
26990
|
DialogFooter.displayName = "DialogFooter";
|
|
26977
|
-
DialogTitle = (0,
|
|
26991
|
+
DialogTitle = (0, import_react93.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
26978
26992
|
DialogPrimitive.Title,
|
|
26979
26993
|
{
|
|
26980
26994
|
ref,
|
|
@@ -26983,7 +26997,7 @@ var init_dialog = __esm({
|
|
|
26983
26997
|
}
|
|
26984
26998
|
));
|
|
26985
26999
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
26986
|
-
DialogDescription = (0,
|
|
27000
|
+
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
27001
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
26988
27002
|
}
|
|
26989
27003
|
});
|
|
@@ -27008,7 +27022,7 @@ function Dialog2() {
|
|
|
27008
27022
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
27009
27023
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
27010
27024
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
27011
|
-
(0,
|
|
27025
|
+
(0, import_react94.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
27012
27026
|
usePageMapper();
|
|
27013
27027
|
useAutoConnect();
|
|
27014
27028
|
useBackupStatusChanges();
|
|
@@ -27054,13 +27068,13 @@ function Dialog2() {
|
|
|
27054
27068
|
}
|
|
27055
27069
|
);
|
|
27056
27070
|
}
|
|
27057
|
-
var import_framer_motion,
|
|
27071
|
+
var import_framer_motion, import_react94, import_jsx_runtime122, EMBARKAI_DIALOG_ONBOARDING_ID;
|
|
27058
27072
|
var init_Dialog = __esm({
|
|
27059
27073
|
"src/internal/components/Dialog/Dialog.tsx"() {
|
|
27060
27074
|
init_ProviderContext();
|
|
27061
27075
|
init_SessionContext();
|
|
27062
27076
|
import_framer_motion = require("framer-motion");
|
|
27063
|
-
|
|
27077
|
+
import_react94 = require("react");
|
|
27064
27078
|
init_constants();
|
|
27065
27079
|
init_useAutoConnect();
|
|
27066
27080
|
init_useBackupStatusChanges();
|
|
@@ -27098,13 +27112,13 @@ function DirectWalletHandler() {
|
|
|
27098
27112
|
const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
|
|
27099
27113
|
const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
|
|
27100
27114
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
27101
|
-
(0,
|
|
27115
|
+
(0, import_react95.useEffect)(() => {
|
|
27102
27116
|
setConfigMode(walletMode);
|
|
27103
27117
|
if (walletMode !== "both") {
|
|
27104
27118
|
setActiveMode(walletMode);
|
|
27105
27119
|
}
|
|
27106
27120
|
}, [walletMode, setConfigMode, setActiveMode]);
|
|
27107
|
-
(0,
|
|
27121
|
+
(0, import_react95.useEffect)(() => {
|
|
27108
27122
|
if (isConnected && address && !isExternalConnected && connector && chain?.id) {
|
|
27109
27123
|
setExternalWallet({
|
|
27110
27124
|
address,
|
|
@@ -27113,17 +27127,17 @@ function DirectWalletHandler() {
|
|
|
27113
27127
|
});
|
|
27114
27128
|
}
|
|
27115
27129
|
}, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
|
|
27116
|
-
(0,
|
|
27130
|
+
(0, import_react95.useEffect)(() => {
|
|
27117
27131
|
if (isExternalConnected && !isConnected) {
|
|
27118
27132
|
clearExternalWallet();
|
|
27119
27133
|
}
|
|
27120
27134
|
}, [isConnected, isExternalConnected, clearExternalWallet]);
|
|
27121
|
-
(0,
|
|
27135
|
+
(0, import_react95.useEffect)(() => {
|
|
27122
27136
|
if (isExternalConnected && isConnected && chain?.id) {
|
|
27123
27137
|
setExternalChainId(chain.id);
|
|
27124
27138
|
}
|
|
27125
27139
|
}, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
|
|
27126
|
-
(0,
|
|
27140
|
+
(0, import_react95.useEffect)(() => {
|
|
27127
27141
|
if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
|
|
27128
27142
|
setExternalWallet({
|
|
27129
27143
|
address,
|
|
@@ -27134,10 +27148,10 @@ function DirectWalletHandler() {
|
|
|
27134
27148
|
}, [address, isConnected, isExternalConnected, externalAddress, chain?.id, connector, setExternalWallet]);
|
|
27135
27149
|
return null;
|
|
27136
27150
|
}
|
|
27137
|
-
var
|
|
27151
|
+
var import_react95, import_wagmi8;
|
|
27138
27152
|
var init_DirectWalletHandler = __esm({
|
|
27139
27153
|
"src/internal/components/DirectWalletHandler.tsx"() {
|
|
27140
|
-
|
|
27154
|
+
import_react95 = require("react");
|
|
27141
27155
|
import_wagmi8 = require("wagmi");
|
|
27142
27156
|
init_ProviderContext();
|
|
27143
27157
|
init_useExternalWalletStore();
|
|
@@ -27145,14 +27159,14 @@ var init_DirectWalletHandler = __esm({
|
|
|
27145
27159
|
});
|
|
27146
27160
|
|
|
27147
27161
|
// src/internal/components/TssManager.tsx
|
|
27148
|
-
var
|
|
27162
|
+
var import_react96, TssManagerWithRef;
|
|
27149
27163
|
var init_TssManager = __esm({
|
|
27150
27164
|
"src/internal/components/TssManager.tsx"() {
|
|
27151
27165
|
init_SessionContext();
|
|
27152
|
-
|
|
27166
|
+
import_react96 = __toESM(require("react"), 1);
|
|
27153
27167
|
init_auth();
|
|
27154
27168
|
init_clients();
|
|
27155
|
-
TssManagerWithRef =
|
|
27169
|
+
TssManagerWithRef = import_react96.default.forwardRef((props, ref) => {
|
|
27156
27170
|
const { mpcPin } = props;
|
|
27157
27171
|
const usePaymaster = useSession((st) => st.usePaymaster);
|
|
27158
27172
|
const publicClient = useSession((st) => st.publicClient);
|
|
@@ -27160,14 +27174,14 @@ var init_TssManager = __esm({
|
|
|
27160
27174
|
const setStatus = useSession((st) => st.setStatus);
|
|
27161
27175
|
const setSession = useSession((st) => st.setSession);
|
|
27162
27176
|
const setAddress = useSession((st) => st.setAddress);
|
|
27163
|
-
const onSessionCreated = (0,
|
|
27177
|
+
const onSessionCreated = (0, import_react96.useCallback)(
|
|
27164
27178
|
(session, address) => {
|
|
27165
27179
|
setSession(session);
|
|
27166
27180
|
setAddress(address);
|
|
27167
27181
|
},
|
|
27168
27182
|
[setSession, setAddress]
|
|
27169
27183
|
);
|
|
27170
|
-
const createSessionWithKeyshare =
|
|
27184
|
+
const createSessionWithKeyshare = import_react96.default.useCallback(
|
|
27171
27185
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
27172
27186
|
setStatus("checking key management setup...");
|
|
27173
27187
|
await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
|
|
@@ -27192,7 +27206,7 @@ var init_TssManager = __esm({
|
|
|
27192
27206
|
},
|
|
27193
27207
|
[setStatus, usePaymaster, activeChainId, publicClient, mpcPin]
|
|
27194
27208
|
);
|
|
27195
|
-
|
|
27209
|
+
import_react96.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
|
|
27196
27210
|
return null;
|
|
27197
27211
|
});
|
|
27198
27212
|
}
|
|
@@ -27220,7 +27234,7 @@ function WalletConnectHandler() {
|
|
|
27220
27234
|
const projectId = providerConfig?.projectId;
|
|
27221
27235
|
const setExternalWallet = useExternalWalletStore((st) => st.setExternalWallet);
|
|
27222
27236
|
const setPendingWalletLogin = useLayoutDataStore((st) => st.setPendingWalletLogin);
|
|
27223
|
-
const onLinkingComplete = (0,
|
|
27237
|
+
const onLinkingComplete = (0, import_react97.useCallback)(
|
|
27224
27238
|
async (success) => {
|
|
27225
27239
|
setIsWalletLinking(false);
|
|
27226
27240
|
if (!success && !passportWalletAddress) {
|
|
@@ -27249,10 +27263,10 @@ function WalletConnectHandler() {
|
|
|
27249
27263
|
},
|
|
27250
27264
|
[qc, passportWalletAddress, setProviderType, setPage, setIsWalletLinking]
|
|
27251
27265
|
);
|
|
27252
|
-
const [hasStartedLinking, setHasStartedLinking] =
|
|
27253
|
-
const [modalWasOpened, setModalWasOpened] =
|
|
27254
|
-
const [pendingModalOpen, setPendingModalOpen] =
|
|
27255
|
-
(0,
|
|
27266
|
+
const [hasStartedLinking, setHasStartedLinking] = import_react97.default.useState(false);
|
|
27267
|
+
const [modalWasOpened, setModalWasOpened] = import_react97.default.useState(false);
|
|
27268
|
+
const [pendingModalOpen, setPendingModalOpen] = import_react97.default.useState(false);
|
|
27269
|
+
(0, import_react97.useEffect)(() => {
|
|
27256
27270
|
if (isWalletLinking && !hasStartedLinking) {
|
|
27257
27271
|
console.log("[WalletConnectHandler] Starting wallet link flow:", {
|
|
27258
27272
|
isConnected,
|
|
@@ -27290,18 +27304,18 @@ function WalletConnectHandler() {
|
|
|
27290
27304
|
setProviderType,
|
|
27291
27305
|
walletMode
|
|
27292
27306
|
]);
|
|
27293
|
-
(0,
|
|
27307
|
+
(0, import_react97.useEffect)(() => {
|
|
27294
27308
|
if (pendingModalOpen && !isConnected && openConnectModal) {
|
|
27295
27309
|
setPendingModalOpen(false);
|
|
27296
27310
|
openConnectModal();
|
|
27297
27311
|
}
|
|
27298
27312
|
}, [pendingModalOpen, isConnected, openConnectModal]);
|
|
27299
|
-
(0,
|
|
27313
|
+
(0, import_react97.useEffect)(() => {
|
|
27300
27314
|
if (connectModalOpen && hasStartedLinking) {
|
|
27301
27315
|
setModalWasOpened(true);
|
|
27302
27316
|
}
|
|
27303
27317
|
}, [connectModalOpen, hasStartedLinking]);
|
|
27304
|
-
(0,
|
|
27318
|
+
(0, import_react97.useEffect)(() => {
|
|
27305
27319
|
if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
27306
27320
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
27307
27321
|
onLinkingComplete(false);
|
|
@@ -27309,7 +27323,7 @@ function WalletConnectHandler() {
|
|
|
27309
27323
|
setModalWasOpened(false);
|
|
27310
27324
|
}
|
|
27311
27325
|
}, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
|
|
27312
|
-
(0,
|
|
27326
|
+
(0, import_react97.useEffect)(() => {
|
|
27313
27327
|
if (isWalletLinking) {
|
|
27314
27328
|
const timeout = setTimeout(() => {
|
|
27315
27329
|
console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
|
|
@@ -27429,7 +27443,7 @@ function WalletConnectHandler() {
|
|
|
27429
27443
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
27430
27444
|
}
|
|
27431
27445
|
});
|
|
27432
|
-
(0,
|
|
27446
|
+
(0, import_react97.useEffect)(() => {
|
|
27433
27447
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
|
|
27434
27448
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
27435
27449
|
if (!passportWalletAddress) {
|
|
@@ -27439,7 +27453,7 @@ function WalletConnectHandler() {
|
|
|
27439
27453
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
27440
27454
|
}
|
|
27441
27455
|
}, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
|
|
27442
|
-
(0,
|
|
27456
|
+
(0, import_react97.useEffect)(() => {
|
|
27443
27457
|
if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
|
|
27444
27458
|
const timeout = setTimeout(() => {
|
|
27445
27459
|
console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
|
|
@@ -27461,7 +27475,7 @@ function WalletConnectHandler() {
|
|
|
27461
27475
|
]);
|
|
27462
27476
|
return null;
|
|
27463
27477
|
}
|
|
27464
|
-
var import_rainbowkit2, import_react_query57,
|
|
27478
|
+
var import_rainbowkit2, import_react_query57, import_react97, import_wagmi9;
|
|
27465
27479
|
var init_WalletConnectHandler = __esm({
|
|
27466
27480
|
"src/internal/components/WalletConnectHandler.tsx"() {
|
|
27467
27481
|
init_ProviderContext();
|
|
@@ -27469,7 +27483,7 @@ var init_WalletConnectHandler = __esm({
|
|
|
27469
27483
|
init_linkedProfiles();
|
|
27470
27484
|
import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
27471
27485
|
import_react_query57 = require("@tanstack/react-query");
|
|
27472
|
-
|
|
27486
|
+
import_react97 = __toESM(require("react"), 1);
|
|
27473
27487
|
import_wagmi9 = require("wagmi");
|
|
27474
27488
|
init_wallet();
|
|
27475
27489
|
init_AuthMenu2();
|
|
@@ -27497,7 +27511,7 @@ function waitForStoreHydration() {
|
|
|
27497
27511
|
}
|
|
27498
27512
|
function SessionProvider({ children }) {
|
|
27499
27513
|
const config = useProviderConfig().config;
|
|
27500
|
-
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
27514
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_react98.Fragment, { children: [
|
|
27501
27515
|
children,
|
|
27502
27516
|
config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(WalletConnectHandler, {}),
|
|
27503
27517
|
config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(DirectWalletHandler, {}),
|
|
@@ -27513,11 +27527,11 @@ function SessionProvider({ children }) {
|
|
|
27513
27527
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(OnboardingOverlay, {})
|
|
27514
27528
|
] });
|
|
27515
27529
|
}
|
|
27516
|
-
var import_read22,
|
|
27530
|
+
var import_read22, import_react98, import_zustand16, import_middleware4, import_jsx_runtime123, useSession, requireActiveChainId;
|
|
27517
27531
|
var init_SessionContext = __esm({
|
|
27518
27532
|
"src/context/SessionContext.tsx"() {
|
|
27519
27533
|
import_read22 = require("@embarkai/core/read");
|
|
27520
|
-
|
|
27534
|
+
import_react98 = require("react");
|
|
27521
27535
|
import_zustand16 = require("zustand");
|
|
27522
27536
|
import_middleware4 = require("zustand/middleware");
|
|
27523
27537
|
init_BalanceFeedProvider2();
|
|
@@ -27589,7 +27603,7 @@ var init_SessionContext = __esm({
|
|
|
27589
27603
|
// Set default chainId after hydration if not persisted
|
|
27590
27604
|
onRehydrateStorage: () => (state) => {
|
|
27591
27605
|
if (!state) return;
|
|
27592
|
-
const hydartedChain = getChainParams((0, import_read22.getChainConfig)(state.activeChainId || import_read22.
|
|
27606
|
+
const hydartedChain = getChainParams((0, import_read22.getChainConfig)(state.activeChainId || import_read22.LUMIA_MAINNET_CHAIN_ID));
|
|
27593
27607
|
state.activeChainId = hydartedChain.activeChainId;
|
|
27594
27608
|
state.publicClient = hydartedChain.publicClient;
|
|
27595
27609
|
state.bundlerClient = hydartedChain.bundlerClient;
|
|
@@ -30198,7 +30212,7 @@ var init_rainbowkit = __esm({
|
|
|
30198
30212
|
function RainbowKitProvider({ children }) {
|
|
30199
30213
|
const config = useProviderConfig().config;
|
|
30200
30214
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
30201
|
-
const rainbowConfig = (0,
|
|
30215
|
+
const rainbowConfig = (0, import_react99.useMemo)(
|
|
30202
30216
|
() => createRainbowConfig({
|
|
30203
30217
|
projectId: config.current?.wallet?.walletConnectProjectId,
|
|
30204
30218
|
allowedWallets: config.current?.wallet?.allowedWallets,
|
|
@@ -30212,7 +30226,7 @@ function RainbowKitProvider({ children }) {
|
|
|
30212
30226
|
config.current?.wallet?.walletConnectProjectId
|
|
30213
30227
|
]
|
|
30214
30228
|
);
|
|
30215
|
-
const customTheme = (0,
|
|
30229
|
+
const customTheme = (0, import_react99.useMemo)(() => {
|
|
30216
30230
|
if (!config.current?.wallet?.enabled) return {};
|
|
30217
30231
|
return colorMode === "dark" ? {
|
|
30218
30232
|
...(0, import_rainbowkit4.darkTheme)(),
|
|
@@ -30229,11 +30243,11 @@ function RainbowKitProvider({ children }) {
|
|
|
30229
30243
|
if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_jsx_runtime124.Fragment, { children });
|
|
30230
30244
|
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
30245
|
}
|
|
30232
|
-
var import_rainbowkit4,
|
|
30246
|
+
var import_rainbowkit4, import_react99, import_wagmi11, import_styles, import_jsx_runtime124;
|
|
30233
30247
|
var init_RainbowKitContext = __esm({
|
|
30234
30248
|
"src/context/RainbowKitContext.tsx"() {
|
|
30235
30249
|
import_rainbowkit4 = require("@rainbow-me/rainbowkit");
|
|
30236
|
-
|
|
30250
|
+
import_react99 = require("react");
|
|
30237
30251
|
import_wagmi11 = require("wagmi");
|
|
30238
30252
|
init_rainbowkit();
|
|
30239
30253
|
init_useLayoutStore();
|
|
@@ -30289,10 +30303,10 @@ function clearLegacyWagmiStorage() {
|
|
|
30289
30303
|
}
|
|
30290
30304
|
function Provider(props) {
|
|
30291
30305
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
30292
|
-
const callbacksRef = (0,
|
|
30293
|
-
(0,
|
|
30294
|
-
const config = (0,
|
|
30295
|
-
const updateConfig = (0,
|
|
30306
|
+
const callbacksRef = (0, import_react100.useRef)(callbacks);
|
|
30307
|
+
(0, import_react100.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
|
|
30308
|
+
const config = (0, import_react100.useRef)((0, import_lodash_es15.merge)({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
30309
|
+
const updateConfig = (0, import_react100.useCallback)((updates) => {
|
|
30296
30310
|
const prev = config.current;
|
|
30297
30311
|
const next = { ...prev };
|
|
30298
30312
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -30326,12 +30340,12 @@ function Provider(props) {
|
|
|
30326
30340
|
if (updates.translations) next.translations = { ...next.translations, ...updates.translations };
|
|
30327
30341
|
config.current = next;
|
|
30328
30342
|
}, []);
|
|
30329
|
-
const updateCallbacks = (0,
|
|
30343
|
+
const updateCallbacks = (0, import_react100.useCallback)((updates) => {
|
|
30330
30344
|
const prev = callbacksRef.current;
|
|
30331
30345
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
30332
30346
|
callbacksRef.current = next;
|
|
30333
30347
|
}, []);
|
|
30334
|
-
(0,
|
|
30348
|
+
(0, import_react100.useEffect)(() => {
|
|
30335
30349
|
if (typeof window === "undefined" || !projectId) return;
|
|
30336
30350
|
const mergedConfig = (0, import_lodash_es15.merge)(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
30337
30351
|
updateConfig(mergedConfig);
|
|
@@ -30347,11 +30361,11 @@ function Provider(props) {
|
|
|
30347
30361
|
} catch {
|
|
30348
30362
|
}
|
|
30349
30363
|
const activeChainId = useSession.getState().activeChainId;
|
|
30350
|
-
if (!!mergedConfig.network.forceChain && mergedConfig.network.chainId !== activeChainId) {
|
|
30364
|
+
if ((!!mergedConfig.network.autoswitch || !!mergedConfig.network.forceChain) && mergedConfig.network.chainId !== activeChainId) {
|
|
30351
30365
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
30352
30366
|
}
|
|
30353
30367
|
}, [projectId, initialConfig]);
|
|
30354
|
-
(0,
|
|
30368
|
+
(0, import_react100.useEffect)(() => {
|
|
30355
30369
|
if (typeof window === "undefined" || !projectId) return;
|
|
30356
30370
|
try {
|
|
30357
30371
|
(0, import_error_tracking4.initSdkErrorTracking)();
|
|
@@ -30380,7 +30394,7 @@ function Provider(props) {
|
|
|
30380
30394
|
console.error("[PROVIDER] Error setting up iframe manager:", error);
|
|
30381
30395
|
}
|
|
30382
30396
|
}, [projectId]);
|
|
30383
|
-
const contextValue = (0,
|
|
30397
|
+
const contextValue = (0, import_react100.useMemo)(
|
|
30384
30398
|
() => ({
|
|
30385
30399
|
config,
|
|
30386
30400
|
updateConfig,
|
|
@@ -30401,12 +30415,12 @@ function Provider(props) {
|
|
|
30401
30415
|
/* @__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
30416
|
);
|
|
30403
30417
|
}
|
|
30404
|
-
var import_error_tracking4, import_lodash_es15,
|
|
30418
|
+
var import_error_tracking4, import_lodash_es15, import_react100, import_jsx_runtime126, UIContext, useProviderConfig;
|
|
30405
30419
|
var init_ProviderContext = __esm({
|
|
30406
30420
|
"src/context/ProviderContext.tsx"() {
|
|
30407
30421
|
import_error_tracking4 = require("@embarkai/core/internal/error-tracking");
|
|
30408
30422
|
import_lodash_es15 = require("lodash-es");
|
|
30409
|
-
|
|
30423
|
+
import_react100 = require("react");
|
|
30410
30424
|
init_initial();
|
|
30411
30425
|
init_iframe_manager();
|
|
30412
30426
|
init_RainbowKitContext();
|
|
@@ -30414,9 +30428,9 @@ var init_ProviderContext = __esm({
|
|
|
30414
30428
|
init_utils12();
|
|
30415
30429
|
init_WagmiContext();
|
|
30416
30430
|
import_jsx_runtime126 = require("react/jsx-runtime");
|
|
30417
|
-
UIContext = (0,
|
|
30431
|
+
UIContext = (0, import_react100.createContext)(void 0);
|
|
30418
30432
|
useProviderConfig = () => {
|
|
30419
|
-
const ctx = (0,
|
|
30433
|
+
const ctx = (0, import_react100.useContext)(UIContext);
|
|
30420
30434
|
if (!ctx) throw new Error("useProviderConfig must be used within a Provider");
|
|
30421
30435
|
return ctx;
|
|
30422
30436
|
};
|
|
@@ -30523,7 +30537,7 @@ __export(index_exports, {
|
|
|
30523
30537
|
module.exports = __toCommonJS(index_exports);
|
|
30524
30538
|
|
|
30525
30539
|
// 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}`;
|
|
30540
|
+
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
30541
|
|
|
30528
30542
|
// src/index.ts
|
|
30529
30543
|
var import_core10 = require("@embarkai/core");
|
|
@@ -30533,7 +30547,7 @@ init_ProviderContext();
|
|
|
30533
30547
|
init_lumia2();
|
|
30534
30548
|
init_embarkAI2();
|
|
30535
30549
|
var import_lucide_react79 = require("lucide-react");
|
|
30536
|
-
var
|
|
30550
|
+
var import_react101 = require("react");
|
|
30537
30551
|
init_SessionContext();
|
|
30538
30552
|
init_auth();
|
|
30539
30553
|
init_BalanceView2();
|
|
@@ -30566,10 +30580,10 @@ function ConnectWalletButton(props) {
|
|
|
30566
30580
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
30567
30581
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
30568
30582
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
30569
|
-
(0,
|
|
30583
|
+
(0, import_react101.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
30570
30584
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
30571
30585
|
const displayName = profile?.nicknameDisplay || profile?.displayName || import_auth23.jwtTokenManager.getDisplayName();
|
|
30572
|
-
const indicators = (0,
|
|
30586
|
+
const indicators = (0, import_react101.useMemo)(() => {
|
|
30573
30587
|
const userId = session?.mpcUserId;
|
|
30574
30588
|
if (!userId) return { server: false, local: false, backup: false };
|
|
30575
30589
|
const server = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
|
|
@@ -31208,14 +31222,14 @@ var Hash = ({
|
|
|
31208
31222
|
};
|
|
31209
31223
|
|
|
31210
31224
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
31211
|
-
var
|
|
31225
|
+
var import_react102 = require("react");
|
|
31212
31226
|
init_base2();
|
|
31213
31227
|
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
31214
31228
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
31215
|
-
const [transactions, setTransactions] = (0,
|
|
31216
|
-
const [loading, setLoading] = (0,
|
|
31217
|
-
const [error, setError] = (0,
|
|
31218
|
-
(0,
|
|
31229
|
+
const [transactions, setTransactions] = (0, import_react102.useState)([]);
|
|
31230
|
+
const [loading, setLoading] = (0, import_react102.useState)(true);
|
|
31231
|
+
const [error, setError] = (0, import_react102.useState)(null);
|
|
31232
|
+
(0, import_react102.useEffect)(() => {
|
|
31219
31233
|
const fetchTransactions2 = async () => {
|
|
31220
31234
|
try {
|
|
31221
31235
|
setLoading(true);
|
|
@@ -31506,13 +31520,13 @@ function useUserOpStatus(options = {}) {
|
|
|
31506
31520
|
init_useErc3643Compliance();
|
|
31507
31521
|
|
|
31508
31522
|
// src/hooks/useWalletMode.ts
|
|
31509
|
-
var
|
|
31523
|
+
var import_react103 = require("react");
|
|
31510
31524
|
init_useExternalWalletStore();
|
|
31511
31525
|
function useWalletMode() {
|
|
31512
31526
|
const configMode = useExternalWalletStore((st) => st.configMode);
|
|
31513
31527
|
const activeMode = useExternalWalletStore((st) => st.activeMode);
|
|
31514
31528
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
31515
|
-
const switchMode = (0,
|
|
31529
|
+
const switchMode = (0, import_react103.useCallback)(
|
|
31516
31530
|
(mode) => {
|
|
31517
31531
|
if (configMode !== "both") return;
|
|
31518
31532
|
setActiveMode(mode);
|
|
@@ -31528,7 +31542,7 @@ function useWalletMode() {
|
|
|
31528
31542
|
}
|
|
31529
31543
|
|
|
31530
31544
|
// src/hooks/useDirectWallet.ts
|
|
31531
|
-
var
|
|
31545
|
+
var import_react104 = require("react");
|
|
31532
31546
|
var import_rainbowkit6 = require("@rainbow-me/rainbowkit");
|
|
31533
31547
|
var import_wagmi13 = require("wagmi");
|
|
31534
31548
|
init_useExternalWalletStore();
|
|
@@ -31542,13 +31556,13 @@ function useDirectWallet() {
|
|
|
31542
31556
|
const { disconnect: wagmiDisconnect } = (0, import_wagmi13.useDisconnect)();
|
|
31543
31557
|
const { openConnectModal } = (0, import_rainbowkit6.useConnectModal)();
|
|
31544
31558
|
const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
|
|
31545
|
-
const connect = (0,
|
|
31559
|
+
const connect = (0, import_react104.useCallback)(() => {
|
|
31546
31560
|
setIsWalletLinking(true);
|
|
31547
31561
|
}, [setIsWalletLinking]);
|
|
31548
|
-
const reconnect = (0,
|
|
31562
|
+
const reconnect = (0, import_react104.useCallback)(() => {
|
|
31549
31563
|
if (openConnectModal) openConnectModal();
|
|
31550
31564
|
}, [openConnectModal]);
|
|
31551
|
-
const disconnect = (0,
|
|
31565
|
+
const disconnect = (0, import_react104.useCallback)(() => {
|
|
31552
31566
|
wagmiDisconnect();
|
|
31553
31567
|
clearExternalWallet();
|
|
31554
31568
|
}, [wagmiDisconnect, clearExternalWallet]);
|
|
@@ -31564,7 +31578,7 @@ function useDirectWallet() {
|
|
|
31564
31578
|
}
|
|
31565
31579
|
|
|
31566
31580
|
// src/hooks/useSendDirectTransaction.ts
|
|
31567
|
-
var
|
|
31581
|
+
var import_react105 = require("react");
|
|
31568
31582
|
var import_viem22 = require("viem");
|
|
31569
31583
|
var import_wagmi14 = require("wagmi");
|
|
31570
31584
|
init_useExternalWalletStore();
|
|
@@ -31573,10 +31587,10 @@ function useSendDirectTransaction() {
|
|
|
31573
31587
|
const externalChainId = useExternalWalletStore((st) => st.externalChainId);
|
|
31574
31588
|
const { sendTransactionAsync } = (0, import_wagmi14.useSendTransaction)();
|
|
31575
31589
|
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,
|
|
31590
|
+
const [isPending, setIsPending] = (0, import_react105.useState)(false);
|
|
31591
|
+
const [error, setError] = (0, import_react105.useState)(null);
|
|
31592
|
+
const [txHash, setTxHash] = (0, import_react105.useState)(null);
|
|
31593
|
+
const sendTransaction = (0, import_react105.useCallback)(
|
|
31580
31594
|
async (params) => {
|
|
31581
31595
|
if (!isConnected) {
|
|
31582
31596
|
setError("No external wallet connected");
|
|
@@ -31610,7 +31624,7 @@ function useSendDirectTransaction() {
|
|
|
31610
31624
|
},
|
|
31611
31625
|
[isConnected, externalChainId, sendTransactionAsync, switchChainAsync]
|
|
31612
31626
|
);
|
|
31613
|
-
const reset = (0,
|
|
31627
|
+
const reset = (0, import_react105.useCallback)(() => {
|
|
31614
31628
|
setError(null);
|
|
31615
31629
|
setTxHash(null);
|
|
31616
31630
|
setIsPending(false);
|
|
@@ -31619,7 +31633,7 @@ function useSendDirectTransaction() {
|
|
|
31619
31633
|
}
|
|
31620
31634
|
|
|
31621
31635
|
// src/hooks/useTransferToLinkedWallet.ts
|
|
31622
|
-
var
|
|
31636
|
+
var import_react106 = require("react");
|
|
31623
31637
|
var import_viem23 = require("viem");
|
|
31624
31638
|
init_SessionContext();
|
|
31625
31639
|
init_account2();
|
|
@@ -31638,14 +31652,14 @@ var ERC20_TRANSFER_ABI2 = [
|
|
|
31638
31652
|
function useTransferToLinkedWallet() {
|
|
31639
31653
|
const session = useSession((st) => st.session);
|
|
31640
31654
|
const { profiles } = useLinkedProfiles();
|
|
31641
|
-
const [isPending, setIsPending] = (0,
|
|
31642
|
-
const [error, setError] = (0,
|
|
31643
|
-
const [userOpHash, setUserOpHash] = (0,
|
|
31644
|
-
const linkedWallets = (0,
|
|
31655
|
+
const [isPending, setIsPending] = (0, import_react106.useState)(false);
|
|
31656
|
+
const [error, setError] = (0, import_react106.useState)(null);
|
|
31657
|
+
const [userOpHash, setUserOpHash] = (0, import_react106.useState)(null);
|
|
31658
|
+
const linkedWallets = (0, import_react106.useMemo)(
|
|
31645
31659
|
() => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
|
|
31646
31660
|
[profiles]
|
|
31647
31661
|
);
|
|
31648
|
-
const transfer = (0,
|
|
31662
|
+
const transfer = (0, import_react106.useCallback)(
|
|
31649
31663
|
async (params) => {
|
|
31650
31664
|
if (!session) {
|
|
31651
31665
|
setError("No active session");
|
|
@@ -31696,7 +31710,7 @@ function useTransferToLinkedWallet() {
|
|
|
31696
31710
|
},
|
|
31697
31711
|
[session, linkedWallets]
|
|
31698
31712
|
);
|
|
31699
|
-
const reset = (0,
|
|
31713
|
+
const reset = (0, import_react106.useCallback)(() => {
|
|
31700
31714
|
setError(null);
|
|
31701
31715
|
setUserOpHash(null);
|
|
31702
31716
|
setIsPending(false);
|
|
@@ -31720,7 +31734,7 @@ function useNativeWalletSignature() {
|
|
|
31720
31734
|
|
|
31721
31735
|
// src/hooks/useLogout.ts
|
|
31722
31736
|
var import_auth25 = require("@embarkai/core/auth");
|
|
31723
|
-
var
|
|
31737
|
+
var import_react107 = require("react");
|
|
31724
31738
|
var import_wagmi16 = require("wagmi");
|
|
31725
31739
|
init_ProviderContext();
|
|
31726
31740
|
init_SessionContext();
|
|
@@ -31740,7 +31754,7 @@ function useLogout() {
|
|
|
31740
31754
|
}
|
|
31741
31755
|
}
|
|
31742
31756
|
});
|
|
31743
|
-
const logout2 = (0,
|
|
31757
|
+
const logout2 = (0, import_react107.useCallback)(async () => {
|
|
31744
31758
|
const { setSession, setIsLoading, setAddress, setStatus, setError } = useSession.getState();
|
|
31745
31759
|
const prevAddress = address;
|
|
31746
31760
|
let userId = null;
|
|
@@ -31859,7 +31873,7 @@ function useTransactions() {
|
|
|
31859
31873
|
|
|
31860
31874
|
// src/modules/assets.ts
|
|
31861
31875
|
init_SessionContext();
|
|
31862
|
-
var
|
|
31876
|
+
var import_react108 = __toESM(require("react"), 1);
|
|
31863
31877
|
var import_viem25 = require("viem");
|
|
31864
31878
|
var import_wagmi18 = require("wagmi");
|
|
31865
31879
|
var COMMON_TOKENS = [
|
|
@@ -32014,7 +32028,7 @@ function useTokenBalance2(tokenAddress, userAddress) {
|
|
|
32014
32028
|
}
|
|
32015
32029
|
});
|
|
32016
32030
|
const { tokenInfo } = useTokenInfo(tokenAddress);
|
|
32017
|
-
const formattedBalance =
|
|
32031
|
+
const formattedBalance = import_react108.default.useMemo(() => {
|
|
32018
32032
|
if (!balance || !tokenInfo) return "0";
|
|
32019
32033
|
return (0, import_viem25.formatUnits)(balance, tokenInfo.decimals);
|
|
32020
32034
|
}, [balance, tokenInfo]);
|