@embarkai/ui-kit 0.6.10 → 0.6.12
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 +2 -2
- package/dist/index.cjs +1222 -552
- package/dist/index.d.cts +198 -1
- package/dist/index.d.ts +198 -1
- package/dist/index.js +1173 -493
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -323,7 +323,7 @@ import { getSdkVersion, sdkVersionHeaders, setSdkVersion } from "@embarkai/core/
|
|
|
323
323
|
var UI_KIT_VERSION;
|
|
324
324
|
var init_sdk_version = __esm({
|
|
325
325
|
"src/internal/lib/sdk-version.ts"() {
|
|
326
|
-
UI_KIT_VERSION = "0.6.
|
|
326
|
+
UI_KIT_VERSION = "0.6.12";
|
|
327
327
|
if (UI_KIT_VERSION) setSdkVersion(UI_KIT_VERSION);
|
|
328
328
|
}
|
|
329
329
|
});
|
|
@@ -5580,7 +5580,7 @@ function Fallback() {
|
|
|
5580
5580
|
className: cn(
|
|
5581
5581
|
"embarkai-ui-scope",
|
|
5582
5582
|
"fixed top-0 left-0",
|
|
5583
|
-
"w-
|
|
5583
|
+
"w-[100dvw] h-[100dvh]",
|
|
5584
5584
|
"flex flex-col items-center justify-center"
|
|
5585
5585
|
),
|
|
5586
5586
|
children: [
|
|
@@ -5717,7 +5717,7 @@ var init_useLayoutDataStore = __esm({
|
|
|
5717
5717
|
init_constants();
|
|
5718
5718
|
PageKey = /* @__PURE__ */ ((PageKey2) => {
|
|
5719
5719
|
PageKey2["AUTH"] = "auth";
|
|
5720
|
-
PageKey2["
|
|
5720
|
+
PageKey2["USER_SECURITY_ACTIVITY"] = "user-security-activity";
|
|
5721
5721
|
PageKey2["LANGUAGES"] = "languages";
|
|
5722
5722
|
PageKey2["MAIN_MENU"] = "main-menu";
|
|
5723
5723
|
PageKey2["ACTIVITY_LOG"] = "activity-log";
|
|
@@ -10140,6 +10140,11 @@ function useAutoConnect() {
|
|
|
10140
10140
|
if (!hasHydrated) return;
|
|
10141
10141
|
if (autoConnectAttemptedRef.current) return;
|
|
10142
10142
|
setIsLoading(true);
|
|
10143
|
+
const startedAt = Date.now();
|
|
10144
|
+
const run = (attempt) => tryAutoConnect(attempt).catch((error) => {
|
|
10145
|
+
console.warn("[UI-KIT][AutoConnect] Auto-connect failed:", error);
|
|
10146
|
+
setIsLoading(false);
|
|
10147
|
+
});
|
|
10143
10148
|
const tryAutoConnect = async (attempt) => {
|
|
10144
10149
|
console.log("[AUTOCONNECT] attempt", attempt);
|
|
10145
10150
|
if (address || session) {
|
|
@@ -10157,9 +10162,11 @@ function useAutoConnect() {
|
|
|
10157
10162
|
} catch (iframeError) {
|
|
10158
10163
|
console.error("[UI-KIT][AutoConnect] Failed to initialize iframe:", iframeError);
|
|
10159
10164
|
setIsIframeReady(false);
|
|
10160
|
-
if (
|
|
10161
|
-
setTimeout(() =>
|
|
10165
|
+
if (Date.now() - startedAt < IFRAME_RETRY_DEADLINE_MS) {
|
|
10166
|
+
setTimeout(() => run(attempt + 1), 500);
|
|
10167
|
+
return;
|
|
10162
10168
|
}
|
|
10169
|
+
setIsLoading(false);
|
|
10163
10170
|
return;
|
|
10164
10171
|
}
|
|
10165
10172
|
const { ensureValidToken: ensureValidToken2, restoreDappSessionFromIframe: restoreDappSessionFromIframe2 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
|
|
@@ -10251,16 +10258,18 @@ function useAutoConnect() {
|
|
|
10251
10258
|
}
|
|
10252
10259
|
};
|
|
10253
10260
|
autoConnectAttemptedRef.current = true;
|
|
10254
|
-
|
|
10261
|
+
run(0);
|
|
10255
10262
|
}, [hasHydrated]);
|
|
10256
10263
|
return null;
|
|
10257
10264
|
}
|
|
10265
|
+
var IFRAME_RETRY_DEADLINE_MS;
|
|
10258
10266
|
var init_useAutoConnect = __esm({
|
|
10259
10267
|
"src/internal/hooks/useAutoConnect.ts"() {
|
|
10260
10268
|
init_ProviderContext();
|
|
10261
10269
|
init_SessionContext();
|
|
10262
10270
|
init_post_login_backup();
|
|
10263
10271
|
init_useLayoutDataStore();
|
|
10272
|
+
IFRAME_RETRY_DEADLINE_MS = 1e4;
|
|
10264
10273
|
}
|
|
10265
10274
|
});
|
|
10266
10275
|
|
|
@@ -10411,6 +10420,7 @@ var init_en = __esm({
|
|
|
10411
10420
|
passkey: "Passkey",
|
|
10412
10421
|
standard: "Standard",
|
|
10413
10422
|
advanced: "Advanced",
|
|
10423
|
+
extra: "Extra",
|
|
10414
10424
|
next: "Next",
|
|
10415
10425
|
prev: "Prev",
|
|
10416
10426
|
page: "Page",
|
|
@@ -10532,9 +10542,72 @@ var init_en = __esm({
|
|
|
10532
10542
|
loadFailed: "Could not load your activity. Check your connection and try again."
|
|
10533
10543
|
},
|
|
10534
10544
|
userActivityMenu: {
|
|
10535
|
-
title: "Activity",
|
|
10536
|
-
description: "
|
|
10545
|
+
title: "Security Activity",
|
|
10546
|
+
description: "Recent security activity",
|
|
10537
10547
|
noActivities: "No recent activity",
|
|
10548
|
+
loadError: "Could not load activity",
|
|
10549
|
+
filters: {
|
|
10550
|
+
title: "Trace your security activity",
|
|
10551
|
+
reset: "Reset",
|
|
10552
|
+
clear: "Clear",
|
|
10553
|
+
apply: "Apply",
|
|
10554
|
+
eventTypes: "Event types",
|
|
10555
|
+
eventTypesHint: "Nothing selected shows all events",
|
|
10556
|
+
period: "Period",
|
|
10557
|
+
from: "From",
|
|
10558
|
+
to: "To",
|
|
10559
|
+
noResults: "No activity matches the selected filters",
|
|
10560
|
+
groups: {
|
|
10561
|
+
auth: "Login",
|
|
10562
|
+
backup: "Backup",
|
|
10563
|
+
account: "Login methods",
|
|
10564
|
+
device: "Devices",
|
|
10565
|
+
wallet: "Wallet",
|
|
10566
|
+
policy: "Policy",
|
|
10567
|
+
kyc: "KYC"
|
|
10568
|
+
},
|
|
10569
|
+
periods: {
|
|
10570
|
+
all: "All time",
|
|
10571
|
+
last24h: "Last 24 hours",
|
|
10572
|
+
last7d: "Last 7 days",
|
|
10573
|
+
last30d: "Last 30 days",
|
|
10574
|
+
last90d: "Last 90 days",
|
|
10575
|
+
last365d: "Last year",
|
|
10576
|
+
custom: "Custom"
|
|
10577
|
+
},
|
|
10578
|
+
errors: {
|
|
10579
|
+
rangeOrder: "The start date must not be after the end date",
|
|
10580
|
+
rangeTooLong: "The period must not exceed 365 days"
|
|
10581
|
+
}
|
|
10582
|
+
},
|
|
10583
|
+
newAccount: "New account",
|
|
10584
|
+
events: {
|
|
10585
|
+
authLogin: "Signed in",
|
|
10586
|
+
authLoginFailed: "Failed sign-in attempt",
|
|
10587
|
+
accountProviderLinked: "Login method connected",
|
|
10588
|
+
accountProviderUnlinked: "Login method disconnected",
|
|
10589
|
+
devicePaired: "Device paired",
|
|
10590
|
+
deviceUnlinked: "Device removed",
|
|
10591
|
+
walletCreated: "Wallet created",
|
|
10592
|
+
walletSignLocked: "Wallet signing locked",
|
|
10593
|
+
policyChanged: "Policy changed",
|
|
10594
|
+
kycStatusChanged: "KYC status changed",
|
|
10595
|
+
backupCreated: "Backup created",
|
|
10596
|
+
backupRestored: "Backup restored",
|
|
10597
|
+
backupRewrapped: "Backup protection updated",
|
|
10598
|
+
backupDeleted: "Backup deleted",
|
|
10599
|
+
unknown: "Account activity"
|
|
10600
|
+
},
|
|
10601
|
+
details: {
|
|
10602
|
+
provider: "Provider",
|
|
10603
|
+
reason: "Reason",
|
|
10604
|
+
identity: "Account",
|
|
10605
|
+
deviceType: "Device type",
|
|
10606
|
+
policy: "Policy",
|
|
10607
|
+
action: "Action",
|
|
10608
|
+
status: "Status",
|
|
10609
|
+
method: "Method"
|
|
10610
|
+
},
|
|
10538
10611
|
onboarding: {
|
|
10539
10612
|
title: "Your recent activity",
|
|
10540
10613
|
description: "Activity log of your recent actions like login, profile connection/disconnection, backup operations etc."
|
|
@@ -10973,7 +11046,7 @@ var init_en = __esm({
|
|
|
10973
11046
|
},
|
|
10974
11047
|
title: "Account Backup",
|
|
10975
11048
|
backupStatus: "Current keyshare backup level (embarkAI vault)",
|
|
10976
|
-
exploreBackupMethods: "
|
|
11049
|
+
exploreBackupMethods: "Keyshare Backup options",
|
|
10977
11050
|
encryptionMethod: "Encryption Method",
|
|
10978
11051
|
encryptionMethodExplanation: "Select the encryption method for your backup. Use Passkey to have full control over your account security without relying on a password.",
|
|
10979
11052
|
passwordMsg: "Secure your account by strong PASSWORD",
|
|
@@ -11013,8 +11086,9 @@ var init_en = __esm({
|
|
|
11013
11086
|
advanced: "Advanced",
|
|
11014
11087
|
secured: "Secured"
|
|
11015
11088
|
},
|
|
11016
|
-
vault: "
|
|
11017
|
-
|
|
11089
|
+
vault: "Vault",
|
|
11090
|
+
advancedVault: "Advanced",
|
|
11091
|
+
securedVault: "Secured",
|
|
11018
11092
|
vaultExplanation: "Store a backup into embarkAI vault to ensure recoverability of your wallet.",
|
|
11019
11093
|
vaultMaxProtection: "Your embartkAI wallet is secured",
|
|
11020
11094
|
recoveryProviders: {
|
|
@@ -11133,6 +11207,7 @@ var init_ru = __esm({
|
|
|
11133
11207
|
passkey: "Passkey",
|
|
11134
11208
|
standard: "\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439",
|
|
11135
11209
|
advanced: "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439",
|
|
11210
|
+
extra: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E",
|
|
11136
11211
|
next: "\u0421\u043B\u0435\u0434",
|
|
11137
11212
|
prev: "\u041F\u0440\u0435\u0434",
|
|
11138
11213
|
page: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430",
|
|
@@ -11254,9 +11329,72 @@ var init_ru = __esm({
|
|
|
11254
11329
|
loadFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0438 \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."
|
|
11255
11330
|
},
|
|
11256
11331
|
userActivityMenu: {
|
|
11257
|
-
title: "\u0410\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C",
|
|
11258
|
-
description: "\
|
|
11332
|
+
title: "\u0410\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",
|
|
11333
|
+
description: "\u041D\u0435\u0434\u0430\u0432\u043D\u044F\u044F \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",
|
|
11259
11334
|
noActivities: "\u041D\u0435\u0442 \u043D\u0435\u0434\u0430\u0432\u043D\u0435\u0439 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438",
|
|
11335
|
+
loadError: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C",
|
|
11336
|
+
filters: {
|
|
11337
|
+
title: "\u041E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",
|
|
11338
|
+
reset: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C",
|
|
11339
|
+
clear: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
|
|
11340
|
+
apply: "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C",
|
|
11341
|
+
eventTypes: "\u0422\u0438\u043F\u044B \u0441\u043E\u0431\u044B\u0442\u0438\u0439",
|
|
11342
|
+
eventTypesHint: "\u0415\u0441\u043B\u0438 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E, \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u0432\u0441\u0435 \u0441\u043E\u0431\u044B\u0442\u0438\u044F",
|
|
11343
|
+
period: "\u041F\u0435\u0440\u0438\u043E\u0434",
|
|
11344
|
+
from: "\u0421",
|
|
11345
|
+
to: "\u041F\u043E",
|
|
11346
|
+
noResults: "\u041D\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0435\u0439 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u043C \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u043C",
|
|
11347
|
+
groups: {
|
|
11348
|
+
auth: "\u0412\u0445\u043E\u0434",
|
|
11349
|
+
backup: "\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F",
|
|
11350
|
+
account: "\u0421\u043F\u043E\u0441\u043E\u0431\u044B \u0432\u0445\u043E\u0434\u0430",
|
|
11351
|
+
device: "\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430",
|
|
11352
|
+
wallet: "\u041A\u043E\u0448\u0435\u043B\u0451\u043A",
|
|
11353
|
+
policy: "\u041F\u043E\u043B\u0438\u0442\u0438\u043A\u0430",
|
|
11354
|
+
kyc: "KYC"
|
|
11355
|
+
},
|
|
11356
|
+
periods: {
|
|
11357
|
+
all: "\u0417\u0430 \u0432\u0441\u0451 \u0432\u0440\u0435\u043C\u044F",
|
|
11358
|
+
last24h: "\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 24 \u0447\u0430\u0441\u0430",
|
|
11359
|
+
last7d: "\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 7 \u0434\u043D\u0435\u0439",
|
|
11360
|
+
last30d: "\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 30 \u0434\u043D\u0435\u0439",
|
|
11361
|
+
last90d: "\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 90 \u0434\u043D\u0435\u0439",
|
|
11362
|
+
last365d: "\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0433\u043E\u0434",
|
|
11363
|
+
custom: "\u0421\u0432\u043E\u0439 \u043F\u0435\u0440\u0438\u043E\u0434"
|
|
11364
|
+
},
|
|
11365
|
+
errors: {
|
|
11366
|
+
rangeOrder: "\u0414\u0430\u0442\u0430 \u043D\u0430\u0447\u0430\u043B\u0430 \u043D\u0435 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u043E\u0437\u0436\u0435 \u0434\u0430\u0442\u044B \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F",
|
|
11367
|
+
rangeTooLong: "\u041F\u0435\u0440\u0438\u043E\u0434 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0442\u044C 365 \u0434\u043D\u0435\u0439"
|
|
11368
|
+
}
|
|
11369
|
+
},
|
|
11370
|
+
newAccount: "\u041D\u043E\u0432\u044B\u0439 \u0430\u043A\u043A\u0430\u0443\u043D\u0442",
|
|
11371
|
+
events: {
|
|
11372
|
+
authLogin: "\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",
|
|
11373
|
+
authLoginFailed: "\u041D\u0435\u0443\u0434\u0430\u0447\u043D\u0430\u044F \u043F\u043E\u043F\u044B\u0442\u043A\u0430 \u0432\u0445\u043E\u0434\u0430",
|
|
11374
|
+
accountProviderLinked: "\u0421\u043F\u043E\u0441\u043E\u0431 \u0432\u0445\u043E\u0434\u0430 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D",
|
|
11375
|
+
accountProviderUnlinked: "\u0421\u043F\u043E\u0441\u043E\u0431 \u0432\u0445\u043E\u0434\u0430 \u043E\u0442\u043A\u043B\u044E\u0447\u0451\u043D",
|
|
11376
|
+
devicePaired: "\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u043F\u0440\u0438\u0432\u044F\u0437\u0430\u043D\u043E",
|
|
11377
|
+
deviceUnlinked: "\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0443\u0434\u0430\u043B\u0435\u043D\u043E",
|
|
11378
|
+
walletCreated: "\u041A\u043E\u0448\u0435\u043B\u0451\u043A \u0441\u043E\u0437\u0434\u0430\u043D",
|
|
11379
|
+
walletSignLocked: "\u041F\u043E\u0434\u043F\u0438\u0441\u044C \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430 \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430",
|
|
11380
|
+
policyChanged: "\u041F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0430",
|
|
11381
|
+
kycStatusChanged: "\u0421\u0442\u0430\u0442\u0443\u0441 KYC \u0438\u0437\u043C\u0435\u043D\u0451\u043D",
|
|
11382
|
+
backupCreated: "\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0430",
|
|
11383
|
+
backupRestored: "\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430",
|
|
11384
|
+
backupRewrapped: "\u0417\u0430\u0449\u0438\u0442\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u043E\u0439 \u043A\u043E\u043F\u0438\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430",
|
|
11385
|
+
backupDeleted: "\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0430",
|
|
11386
|
+
unknown: "\u0410\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430"
|
|
11387
|
+
},
|
|
11388
|
+
details: {
|
|
11389
|
+
provider: "\u041F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440",
|
|
11390
|
+
reason: "\u041F\u0440\u0438\u0447\u0438\u043D\u0430",
|
|
11391
|
+
identity: "\u0410\u043A\u043A\u0430\u0443\u043D\u0442",
|
|
11392
|
+
deviceType: "\u0422\u0438\u043F \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430",
|
|
11393
|
+
policy: "\u041F\u043E\u043B\u0438\u0442\u0438\u043A\u0430",
|
|
11394
|
+
action: "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435",
|
|
11395
|
+
status: "\u0421\u0442\u0430\u0442\u0443\u0441",
|
|
11396
|
+
method: "\u041C\u0435\u0442\u043E\u0434"
|
|
11397
|
+
},
|
|
11260
11398
|
onboarding: {
|
|
11261
11399
|
title: "\u041C\u0435\u043D\u044E \u043D\u0435\u0434\u0430\u0432\u043D\u0435\u0439 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438",
|
|
11262
11400
|
description: "\u0416\u0443\u0440\u043D\u0430\u043B \u0432\u0430\u0448\u0438\u0445 \u043D\u0435\u0434\u0430\u0432\u043D\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: \u0432\u0445\u043E\u0434, \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435/\u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0444\u0438\u043B\u044F, \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u043E\u0433\u043E \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0438 \u0442. \u0434."
|
|
@@ -11695,7 +11833,7 @@ var init_ru = __esm({
|
|
|
11695
11833
|
},
|
|
11696
11834
|
title: "\u0411\u0435\u043A\u0430\u043F \u0410\u043A\u043A\u0430\u0443\u043D\u0442\u0430",
|
|
11697
11835
|
backupStatus: "\u0422\u0435\u043A\u0443\u0449\u0438\u0439 \u0443\u0440\u043E\u0432\u0435\u043D\u044C \u0431\u044D\u043A\u0430\u043F\u0430 Keyshare (\u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 embarkAI)",
|
|
11698
|
-
exploreBackupMethods: "\
|
|
11836
|
+
exploreBackupMethods: "\u0412\u0430\u0440\u0438\u0430\u043D\u0442\u044B \u0431\u044D\u043A\u0430\u043F\u0430 Keyshare",
|
|
11699
11837
|
encryptionMethod: "\u041C\u0435\u0442\u043E\u0434 \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
|
|
11700
11838
|
encryptionMethodExplanation: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u0442\u043E\u0434 \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0431\u044D\u043A\u0430\u043F\u0430. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 Passkey, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430 \u0431\u0435\u0437 \u043F\u0430\u0440\u043E\u043B\u044F.",
|
|
11701
11839
|
passwordMsg: "\u0417\u0430\u0449\u0438\u0442\u0438\u0442\u0435 \u0432\u0430\u0448 \u0430\u043A\u043A\u0430\u0443\u043D\u0442 \u043D\u0430\u0434\u0435\u0436\u043D\u044B\u043C \u041F\u0410\u0420\u041E\u041B\u0415\u041C",
|
|
@@ -11735,8 +11873,9 @@ var init_ru = __esm({
|
|
|
11735
11873
|
advanced: "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439",
|
|
11736
11874
|
secured: "\u0417\u0430\u0449\u0438\u0449\u0451\u043D\u043D\u044B\u0439"
|
|
11737
11875
|
},
|
|
11738
|
-
vault: "\
|
|
11739
|
-
|
|
11876
|
+
vault: "\u0425\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435",
|
|
11877
|
+
advancedVault: "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439",
|
|
11878
|
+
securedVault: "\u0417\u0430\u0449\u0438\u0449\u0451\u043D\u043D\u044B\u0439",
|
|
11740
11879
|
vaultExplanation: "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u0431\u044D\u043A\u0430\u043F \u0432 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 embarkAI, \u0447\u0442\u043E\u0431\u044B \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0442\u044C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430.",
|
|
11741
11880
|
vaultMaxProtection: "\u0412\u0430\u0448 \u043A\u043E\u0448\u0435\u043B\u0451\u043A embarkAI \u0437\u0430\u0449\u0438\u0449\u0451\u043D",
|
|
11742
11881
|
recoveryProviders: {
|
|
@@ -11855,6 +11994,7 @@ var init_zh = __esm({
|
|
|
11855
11994
|
passkey: "\u5BC6\u7801\u5BC6\u94A5",
|
|
11856
11995
|
standard: "\u6807\u51C6",
|
|
11857
11996
|
advanced: "\u9AD8\u7EA7",
|
|
11997
|
+
extra: "\u66F4\u591A",
|
|
11858
11998
|
next: "\u4E0B\u4E00\u6B65",
|
|
11859
11999
|
prev: "\u4E0A\u4E00\u6B65",
|
|
11860
12000
|
page: "\u9875\u9762",
|
|
@@ -11976,9 +12116,72 @@ var init_zh = __esm({
|
|
|
11976
12116
|
loadFailed: "\u65E0\u6CD5\u52A0\u8F7D\u6D3B\u52A8\u8BB0\u5F55\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\u540E\u91CD\u8BD5\u3002"
|
|
11977
12117
|
},
|
|
11978
12118
|
userActivityMenu: {
|
|
11979
|
-
title: "\u6D3B\u52A8",
|
|
11980
|
-
description: "\
|
|
12119
|
+
title: "\u5B89\u5168\u6D3B\u52A8",
|
|
12120
|
+
description: "\u8FD1\u671F\u5B89\u5168\u6D3B\u52A8",
|
|
11981
12121
|
noActivities: "\u6682\u65E0\u6700\u8FD1\u6D3B\u52A8",
|
|
12122
|
+
loadError: "\u65E0\u6CD5\u52A0\u8F7D\u6D3B\u52A8",
|
|
12123
|
+
filters: {
|
|
12124
|
+
title: "\u8FFD\u8E2A\u60A8\u7684\u5B89\u5168\u6D3B\u52A8",
|
|
12125
|
+
reset: "\u91CD\u7F6E",
|
|
12126
|
+
clear: "\u6E05\u9664",
|
|
12127
|
+
apply: "\u5E94\u7528",
|
|
12128
|
+
eventTypes: "\u4E8B\u4EF6\u7C7B\u578B",
|
|
12129
|
+
eventTypesHint: "\u672A\u9009\u62E9\u4EFB\u4F55\u9879\u65F6\u663E\u793A\u6240\u6709\u4E8B\u4EF6",
|
|
12130
|
+
period: "\u65F6\u95F4\u8303\u56F4",
|
|
12131
|
+
from: "\u8D77\u59CB",
|
|
12132
|
+
to: "\u7ED3\u675F",
|
|
12133
|
+
noResults: "\u6CA1\u6709\u7B26\u5408\u6240\u9009\u7B5B\u9009\u6761\u4EF6\u7684\u6D3B\u52A8",
|
|
12134
|
+
groups: {
|
|
12135
|
+
auth: "\u767B\u5F55",
|
|
12136
|
+
backup: "\u5907\u4EFD",
|
|
12137
|
+
account: "\u767B\u5F55\u65B9\u5F0F",
|
|
12138
|
+
device: "\u8BBE\u5907",
|
|
12139
|
+
wallet: "\u94B1\u5305",
|
|
12140
|
+
policy: "\u7B56\u7565",
|
|
12141
|
+
kyc: "KYC"
|
|
12142
|
+
},
|
|
12143
|
+
periods: {
|
|
12144
|
+
all: "\u5168\u90E8\u65F6\u95F4",
|
|
12145
|
+
last24h: "\u8FC7\u53BB 24 \u5C0F\u65F6",
|
|
12146
|
+
last7d: "\u8FC7\u53BB 7 \u5929",
|
|
12147
|
+
last30d: "\u8FC7\u53BB 30 \u5929",
|
|
12148
|
+
last90d: "\u8FC7\u53BB 90 \u5929",
|
|
12149
|
+
last365d: "\u8FC7\u53BB\u4E00\u5E74",
|
|
12150
|
+
custom: "\u81EA\u5B9A\u4E49"
|
|
12151
|
+
},
|
|
12152
|
+
errors: {
|
|
12153
|
+
rangeOrder: "\u5F00\u59CB\u65E5\u671F\u4E0D\u80FD\u665A\u4E8E\u7ED3\u675F\u65E5\u671F",
|
|
12154
|
+
rangeTooLong: "\u65F6\u95F4\u8303\u56F4\u4E0D\u80FD\u8D85\u8FC7 365 \u5929"
|
|
12155
|
+
}
|
|
12156
|
+
},
|
|
12157
|
+
newAccount: "\u65B0\u8D26\u6237",
|
|
12158
|
+
events: {
|
|
12159
|
+
authLogin: "\u5DF2\u767B\u5F55",
|
|
12160
|
+
authLoginFailed: "\u767B\u5F55\u5C1D\u8BD5\u5931\u8D25",
|
|
12161
|
+
accountProviderLinked: "\u5DF2\u8FDE\u63A5\u767B\u5F55\u65B9\u5F0F",
|
|
12162
|
+
accountProviderUnlinked: "\u5DF2\u65AD\u5F00\u767B\u5F55\u65B9\u5F0F",
|
|
12163
|
+
devicePaired: "\u8BBE\u5907\u5DF2\u914D\u5BF9",
|
|
12164
|
+
deviceUnlinked: "\u8BBE\u5907\u5DF2\u79FB\u9664",
|
|
12165
|
+
walletCreated: "\u94B1\u5305\u5DF2\u521B\u5EFA",
|
|
12166
|
+
walletSignLocked: "\u94B1\u5305\u7B7E\u540D\u5DF2\u9501\u5B9A",
|
|
12167
|
+
policyChanged: "\u7B56\u7565\u5DF2\u66F4\u6539",
|
|
12168
|
+
kycStatusChanged: "KYC \u72B6\u6001\u5DF2\u66F4\u6539",
|
|
12169
|
+
backupCreated: "\u5907\u4EFD\u5DF2\u521B\u5EFA",
|
|
12170
|
+
backupRestored: "\u5907\u4EFD\u5DF2\u6062\u590D",
|
|
12171
|
+
backupRewrapped: "\u5907\u4EFD\u4FDD\u62A4\u5DF2\u66F4\u65B0",
|
|
12172
|
+
backupDeleted: "\u5907\u4EFD\u5DF2\u5220\u9664",
|
|
12173
|
+
unknown: "\u8D26\u6237\u6D3B\u52A8"
|
|
12174
|
+
},
|
|
12175
|
+
details: {
|
|
12176
|
+
provider: "\u63D0\u4F9B\u65B9",
|
|
12177
|
+
reason: "\u539F\u56E0",
|
|
12178
|
+
identity: "\u8D26\u6237",
|
|
12179
|
+
deviceType: "\u8BBE\u5907\u7C7B\u578B",
|
|
12180
|
+
policy: "\u7B56\u7565",
|
|
12181
|
+
action: "\u64CD\u4F5C",
|
|
12182
|
+
status: "\u72B6\u6001",
|
|
12183
|
+
method: "\u65B9\u5F0F"
|
|
12184
|
+
},
|
|
11982
12185
|
onboarding: {
|
|
11983
12186
|
title: "\u6700\u8FD1\u6D3B\u52A8\u83DC\u5355",
|
|
11984
12187
|
description: "\u60A8\u6700\u8FD1\u64CD\u4F5C\u7684\u6D3B\u52A8\u65E5\u5FD7\uFF0C\u5982\u767B\u5F55\u3001\u4E2A\u4EBA\u8D44\u6599\u8FDE\u63A5/\u65AD\u5F00\u3001\u5907\u4EFD\u64CD\u4F5C\u7B49\u3002"
|
|
@@ -12417,7 +12620,7 @@ var init_zh = __esm({
|
|
|
12417
12620
|
},
|
|
12418
12621
|
title: "\u8D26\u6237\u5907\u4EFD",
|
|
12419
12622
|
backupStatus: "embarkAI Vault \u4E2D\u5F53\u524D\u7684\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u7EA7\u522B",
|
|
12420
|
-
exploreBackupMethods: "\
|
|
12623
|
+
exploreBackupMethods: "\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u9009\u9879",
|
|
12421
12624
|
encryptionMethod: "\u52A0\u5BC6\u65B9\u5F0F",
|
|
12422
12625
|
encryptionMethodExplanation: "\u8BF7\u9009\u62E9\u5907\u4EFD\u7684\u52A0\u5BC6\u65B9\u5F0F\u3002\u4F7F\u7528 Passkey \u53EF\u5B8C\u5168\u638C\u63A7\u8D26\u6237\u5B89\u5168\uFF0C\u65E0\u9700\u4F9D\u8D56\u5BC6\u7801\u3002",
|
|
12423
12626
|
passwordMsg: "\u4F7F\u7528\u5F3A\u5BC6\u7801\u4FDD\u62A4\u60A8\u7684\u8D26\u6237\u3002",
|
|
@@ -12457,8 +12660,9 @@ var init_zh = __esm({
|
|
|
12457
12660
|
advanced: "\u9AD8\u7EA7",
|
|
12458
12661
|
secured: "\u5B89\u5168"
|
|
12459
12662
|
},
|
|
12460
|
-
vault: "Vault
|
|
12461
|
-
|
|
12663
|
+
vault: "Vault",
|
|
12664
|
+
advancedVault: "\u9AD8\u7EA7",
|
|
12665
|
+
securedVault: "\u5B89\u5168",
|
|
12462
12666
|
vaultExplanation: "\u5C06\u5907\u4EFD\u5B58\u50A8\u5230 embarkAI Vault\uFF0C\u4EE5\u786E\u4FDD\u60A8\u7684\u94B1\u5305\u53EF\u88AB\u6062\u590D\u3002",
|
|
12463
12667
|
vaultMaxProtection: "\u60A8\u7684 embarkAI \u94B1\u5305\u5DF2\u53D7\u5230\u4FDD\u62A4",
|
|
12464
12668
|
recoveryProviders: {
|
|
@@ -14144,7 +14348,7 @@ function Social(props) {
|
|
|
14144
14348
|
const isPasskey = !!config.current?.passkey?.enabled;
|
|
14145
14349
|
const isWallet = !!config.current?.wallet?.enabled && config.current?.wallet?.as === "social";
|
|
14146
14350
|
const PasskeyIcon = PROVIDERS_META.passkey.icon;
|
|
14147
|
-
const
|
|
14351
|
+
const WalletIcon2 = PROVIDERS_META.wallet.icon;
|
|
14148
14352
|
const walletButton = isWallet ? /* @__PURE__ */ jsx21(
|
|
14149
14353
|
Button,
|
|
14150
14354
|
{
|
|
@@ -14158,7 +14362,7 @@ function Social(props) {
|
|
|
14158
14362
|
},
|
|
14159
14363
|
disabled: isLoading,
|
|
14160
14364
|
title: t("passport:auth.wallet.label"),
|
|
14161
|
-
children: /* @__PURE__ */ jsx21(
|
|
14365
|
+
children: /* @__PURE__ */ jsx21(WalletIcon2, { className: "w-5 h-5" })
|
|
14162
14366
|
}
|
|
14163
14367
|
) : null;
|
|
14164
14368
|
const passkeyButton = isPasskey ? /* @__PURE__ */ jsx21(
|
|
@@ -20704,7 +20908,7 @@ function ConnectExternalWalletMenu() {
|
|
|
20704
20908
|
(isLoadingWalletProviders ? [] : visibleConnectors).map((connector) => {
|
|
20705
20909
|
const isConnectingThis = isConnectingExternalWallet && //@ts-expect-error uid exists
|
|
20706
20910
|
pendingConnectVariables?.connector?.uid === connector.uid;
|
|
20707
|
-
const
|
|
20911
|
+
const WalletIcon2 = WALLET_ICONS[connector.id] || Wallet2Icon2;
|
|
20708
20912
|
return /* @__PURE__ */ jsxs64(
|
|
20709
20913
|
Button,
|
|
20710
20914
|
{
|
|
@@ -20744,7 +20948,7 @@ function ConnectExternalWalletMenu() {
|
|
|
20744
20948
|
}
|
|
20745
20949
|
},
|
|
20746
20950
|
children: [
|
|
20747
|
-
isConnectingThis ? /* @__PURE__ */ jsx73("div", { className: "w-6 h-6 flex-none flex items-center justify-center", children: /* @__PURE__ */ jsx73(Loader11, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsx73(
|
|
20951
|
+
isConnectingThis ? /* @__PURE__ */ jsx73("div", { className: "w-6 h-6 flex-none flex items-center justify-center", children: /* @__PURE__ */ jsx73(Loader11, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsx73(WalletIcon2, { className: "w-6 h-6 flex-none" }),
|
|
20748
20952
|
/* @__PURE__ */ jsx73("span", { children: connector.name })
|
|
20749
20953
|
]
|
|
20750
20954
|
},
|
|
@@ -21626,13 +21830,13 @@ function DeviceManageScreen() {
|
|
|
21626
21830
|
}, [screen]);
|
|
21627
21831
|
const handleBackup = useCallback21(async () => {
|
|
21628
21832
|
const guardian = guardianRef.current;
|
|
21629
|
-
const
|
|
21630
|
-
if (!guardian || !
|
|
21833
|
+
const iframe6 = getIframeManager();
|
|
21834
|
+
if (!guardian || !iframe6 || !userId) return;
|
|
21631
21835
|
setActionState({ action: "backup", substep: "working" });
|
|
21632
21836
|
setErrorMessage(null);
|
|
21633
21837
|
setWaitingConfirm(false);
|
|
21634
21838
|
try {
|
|
21635
|
-
await backupToGuardian(guardian, userId,
|
|
21839
|
+
await backupToGuardian(guardian, userId, iframe6, password);
|
|
21636
21840
|
setWaitingConfirm(false);
|
|
21637
21841
|
setStatusMessage("Keyshare backed up successfully!");
|
|
21638
21842
|
setActionState(null);
|
|
@@ -21650,15 +21854,15 @@ function DeviceManageScreen() {
|
|
|
21650
21854
|
}, [password, userId, refreshList]);
|
|
21651
21855
|
const handleOverwrite = useCallback21(async () => {
|
|
21652
21856
|
const guardian = guardianRef.current;
|
|
21653
|
-
const
|
|
21654
|
-
if (!guardian || !
|
|
21857
|
+
const iframe6 = getIframeManager();
|
|
21858
|
+
if (!guardian || !iframe6 || !userId) return;
|
|
21655
21859
|
setActionState({ action: "overwrite", substep: "working" });
|
|
21656
21860
|
setErrorMessage(null);
|
|
21657
21861
|
setWaitingConfirm(false);
|
|
21658
21862
|
try {
|
|
21659
21863
|
await deleteFromGuardian(guardian, userId);
|
|
21660
21864
|
setWaitingConfirm(false);
|
|
21661
|
-
await backupToGuardian(guardian, userId,
|
|
21865
|
+
await backupToGuardian(guardian, userId, iframe6, password);
|
|
21662
21866
|
setStatusMessage("Keyshare updated successfully!");
|
|
21663
21867
|
setActionState(null);
|
|
21664
21868
|
setPassword("");
|
|
@@ -21884,8 +22088,8 @@ function DeviceRestoreScreen() {
|
|
|
21884
22088
|
const [errorMessage, setErrorMessage] = useState18(null);
|
|
21885
22089
|
const handleRestore = useCallback22(async () => {
|
|
21886
22090
|
if (!password || !keyshareId || !userId) return;
|
|
21887
|
-
const
|
|
21888
|
-
if (!
|
|
22091
|
+
const iframe6 = getIframeManager();
|
|
22092
|
+
if (!iframe6) {
|
|
21889
22093
|
setErrorMessage("Iframe manager not initialized");
|
|
21890
22094
|
return;
|
|
21891
22095
|
}
|
|
@@ -21895,7 +22099,7 @@ function DeviceRestoreScreen() {
|
|
|
21895
22099
|
try {
|
|
21896
22100
|
const { guardian } = await connectGuardian(deviceId);
|
|
21897
22101
|
try {
|
|
21898
|
-
await restoreFromGuardian(guardian, keyshareId, userId,
|
|
22102
|
+
await restoreFromGuardian(guardian, keyshareId, userId, iframe6, password);
|
|
21899
22103
|
setStatusMessage("Keyshare restored successfully!");
|
|
21900
22104
|
setPassword("");
|
|
21901
22105
|
window.dispatchEvent(new CustomEvent("lumia-passport-backup-status-changed"));
|
|
@@ -22665,12 +22869,12 @@ var init_hooks = __esm({
|
|
|
22665
22869
|
});
|
|
22666
22870
|
|
|
22667
22871
|
// src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
|
|
22668
|
-
import { Cloud, Cpu as Cpu3, FileDown, FileUp,
|
|
22872
|
+
import { Cloud, Cpu as Cpu3, FileDown, FileUp, ShieldPlusIcon, ShieldUserIcon } from "lucide-react";
|
|
22669
22873
|
import { Fragment as Fragment22 } from "react";
|
|
22670
22874
|
import { Trans as Trans2 } from "react-i18next";
|
|
22671
22875
|
import { jsx as jsx79, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
22672
22876
|
function MethodSelector(props) {
|
|
22673
|
-
const { mode = "restore" } = props;
|
|
22877
|
+
const { mode = "restore", securityStatus = null } = props;
|
|
22674
22878
|
const { t } = useT();
|
|
22675
22879
|
const {
|
|
22676
22880
|
method: selectedRecoveryMethod,
|
|
@@ -22681,86 +22885,112 @@ function MethodSelector(props) {
|
|
|
22681
22885
|
setError,
|
|
22682
22886
|
setSuccess
|
|
22683
22887
|
} = useRestoreStore();
|
|
22684
|
-
const availableMethods = getBackupMethods(mode);
|
|
22685
22888
|
if (!!selectedRecoveryMethod) return null;
|
|
22889
|
+
const availableMethods = getBackupMethods(mode);
|
|
22890
|
+
const { activeLevel, isBackupManagedByUser } = getActiveLevel(securityStatus);
|
|
22686
22891
|
return /* @__PURE__ */ jsxs70(Fragment22, { children: [
|
|
22687
22892
|
mode === "restore" && /* @__PURE__ */ jsx79("span", { className: "text-xs text-(--ui-kit-fg-muted)", children: t("passport:restoreMenu.availableRestoreMethods") }),
|
|
22688
|
-
|
|
22689
|
-
"div",
|
|
22690
|
-
|
|
22691
|
-
"
|
|
22692
|
-
"
|
|
22693
|
-
|
|
22694
|
-
|
|
22695
|
-
|
|
22696
|
-
|
|
22697
|
-
"
|
|
22698
|
-
"w-full flex items-center gap-(--ui-kit-gap)",
|
|
22699
|
-
"p-(--ui-kit-pd) border border-(--ui-kit-bd)",
|
|
22700
|
-
"rounded-(--ui-kit-el-bdrs)",
|
|
22701
|
-
"bg-(--ui-kit-secondary)",
|
|
22893
|
+
availableMethods.map((methodGroup, methodGroupIdx) => /* @__PURE__ */ jsxs70(Fragment22, { children: [
|
|
22894
|
+
/* @__PURE__ */ jsxs70("div", { className: "flex items-center gap-(--ui-kit-gap)", children: [
|
|
22895
|
+
/* @__PURE__ */ jsx79("span", { className: "flex-1 block h-px bg-(--ui-kit-bd)" }),
|
|
22896
|
+
/* @__PURE__ */ jsx79("span", { className: "text-[10px] uppercase text-(--ui-kit-fg-muted)", children: t(methodGroupIdx === 0 ? "passport:backupMenu.vault" : "passport:common.extra") }),
|
|
22897
|
+
/* @__PURE__ */ jsx79("span", { className: "flex-1 block h-px bg-(--ui-kit-bd)" })
|
|
22898
|
+
] }),
|
|
22899
|
+
/* @__PURE__ */ jsx79("div", { className: "w-full grid grid-cols-2 gap-(--ui-kit-gap)", children: methodGroup.map(({ method, label, Icon: Icon2, disabled, explanation }) => {
|
|
22900
|
+
const isActiveLevel = method === "server" && activeLevel === "advanced" || method === "securedServer" && activeLevel === "secured";
|
|
22901
|
+
return /* @__PURE__ */ jsxs70(
|
|
22902
|
+
"div",
|
|
22702
22903
|
{
|
|
22703
|
-
"
|
|
22704
|
-
"
|
|
22705
|
-
|
|
22706
|
-
|
|
22707
|
-
|
|
22708
|
-
|
|
22709
|
-
|
|
22710
|
-
|
|
22711
|
-
|
|
22712
|
-
|
|
22713
|
-
|
|
22714
|
-
|
|
22715
|
-
|
|
22716
|
-
|
|
22717
|
-
|
|
22718
|
-
|
|
22719
|
-
|
|
22720
|
-
|
|
22721
|
-
|
|
22722
|
-
|
|
22723
|
-
|
|
22724
|
-
|
|
22725
|
-
|
|
22726
|
-
|
|
22727
|
-
|
|
22728
|
-
|
|
22729
|
-
|
|
22730
|
-
|
|
22731
|
-
|
|
22732
|
-
|
|
22733
|
-
|
|
22734
|
-
|
|
22735
|
-
|
|
22736
|
-
|
|
22737
|
-
|
|
22904
|
+
"aria-disabled": disabled,
|
|
22905
|
+
"aria-label": t(label),
|
|
22906
|
+
role: "button",
|
|
22907
|
+
tabIndex: 0,
|
|
22908
|
+
className: cn2(
|
|
22909
|
+
"relative",
|
|
22910
|
+
"cursor-pointer",
|
|
22911
|
+
"w-full flex items-center gap-(--ui-kit-gap)",
|
|
22912
|
+
"p-(--ui-kit-pd) border border-(--ui-kit-bd)",
|
|
22913
|
+
"rounded-(--ui-kit-el-bdrs)",
|
|
22914
|
+
"bg-(--ui-kit-secondary)",
|
|
22915
|
+
{
|
|
22916
|
+
"hover:opacity-80 active:opacity-60 transition-opacity": !disabled,
|
|
22917
|
+
"opacity-60": disabled
|
|
22918
|
+
}
|
|
22919
|
+
),
|
|
22920
|
+
onClick: () => {
|
|
22921
|
+
if (disabled) return;
|
|
22922
|
+
setRestorePassword("");
|
|
22923
|
+
setRestoreFile(null);
|
|
22924
|
+
setShowPassword(false);
|
|
22925
|
+
setError(null);
|
|
22926
|
+
setSuccess(null);
|
|
22927
|
+
setMethod(method);
|
|
22928
|
+
},
|
|
22929
|
+
children: [
|
|
22930
|
+
/* @__PURE__ */ jsx79(Icon2, { className: "w-4 h-4" }),
|
|
22931
|
+
/* @__PURE__ */ jsx79("span", { className: "text-sm font-bold", children: t(label) }),
|
|
22932
|
+
!disabled && /* @__PURE__ */ jsx79(
|
|
22933
|
+
"div",
|
|
22934
|
+
{
|
|
22935
|
+
className: cn2(
|
|
22936
|
+
//
|
|
22937
|
+
"absolute top-1 right-1",
|
|
22938
|
+
"rounded-full bg-(--ui-kit-secondary)"
|
|
22939
|
+
),
|
|
22940
|
+
onClick: (e) => e.stopPropagation(),
|
|
22941
|
+
children: /* @__PURE__ */ jsx79(
|
|
22942
|
+
Tooltip,
|
|
22943
|
+
{
|
|
22944
|
+
content: /* @__PURE__ */ jsxs70(Highlight, { className: "border border-(--ui-kit-bd) flex flex-1 flex-col gap-(--ui-kit-gap)", children: [
|
|
22945
|
+
/* @__PURE__ */ jsx79("span", { className: "font-bold", children: t(label) }),
|
|
22946
|
+
!!explanation && /* @__PURE__ */ jsx79(
|
|
22947
|
+
Trans2,
|
|
22948
|
+
{
|
|
22949
|
+
i18nKey: explanation,
|
|
22950
|
+
components: { br: /* @__PURE__ */ jsx79("br", {}), b: /* @__PURE__ */ jsx79("b", { className: "inline" }), u: /* @__PURE__ */ jsx79("u", {}) }
|
|
22951
|
+
}
|
|
22952
|
+
)
|
|
22953
|
+
] }),
|
|
22954
|
+
children: isActiveLevel && /* @__PURE__ */ jsx79(PositiveIcon, { className: "w-4 h-4" })
|
|
22955
|
+
}
|
|
22956
|
+
)
|
|
22957
|
+
}
|
|
22958
|
+
)
|
|
22959
|
+
]
|
|
22960
|
+
},
|
|
22961
|
+
method + "_" + label
|
|
22962
|
+
);
|
|
22963
|
+
}) })
|
|
22964
|
+
] }, `method-group-${methodGroupIdx}`))
|
|
22738
22965
|
] });
|
|
22739
22966
|
}
|
|
22740
|
-
var getBackupMethods;
|
|
22967
|
+
var getBackupMethods, getActiveLevel;
|
|
22741
22968
|
var init_MethodSelector = __esm({
|
|
22742
22969
|
"src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx"() {
|
|
22743
22970
|
init_useT();
|
|
22971
|
+
init_icons();
|
|
22744
22972
|
init_utils();
|
|
22745
22973
|
init_guardian_backup();
|
|
22746
22974
|
init_highlight();
|
|
22747
22975
|
init_tooltip();
|
|
22748
22976
|
init_hooks();
|
|
22749
22977
|
getBackupMethods = (mode) => {
|
|
22750
|
-
const
|
|
22978
|
+
const vaultMethods = [
|
|
22751
22979
|
{
|
|
22752
22980
|
method: "server",
|
|
22753
|
-
label: "passport:backupMenu.
|
|
22981
|
+
label: "passport:backupMenu.advancedVault",
|
|
22754
22982
|
explanation: "passport:backupMenu.vaultExplanation",
|
|
22755
|
-
Icon:
|
|
22983
|
+
Icon: ShieldPlusIcon,
|
|
22756
22984
|
disabled: true
|
|
22757
22985
|
},
|
|
22758
22986
|
{
|
|
22759
22987
|
method: "securedServer",
|
|
22760
22988
|
label: "passport:backupMenu.securedVault",
|
|
22761
22989
|
explanation: "passport:backupMenu.vaultExplanation",
|
|
22762
|
-
Icon:
|
|
22763
|
-
}
|
|
22990
|
+
Icon: ShieldUserIcon
|
|
22991
|
+
}
|
|
22992
|
+
];
|
|
22993
|
+
const extraMethods = [
|
|
22764
22994
|
{
|
|
22765
22995
|
method: "file",
|
|
22766
22996
|
label: "passport:backupMenu.file",
|
|
@@ -22776,14 +23006,19 @@ var init_MethodSelector = __esm({
|
|
|
22776
23006
|
}
|
|
22777
23007
|
];
|
|
22778
23008
|
if (isWebSerialAvailable()) {
|
|
22779
|
-
|
|
23009
|
+
extraMethods.push({
|
|
22780
23010
|
method: "guardian",
|
|
22781
23011
|
label: "passport:guardiansMenu.title",
|
|
22782
23012
|
explanation: "passport:guardiansMenu.guardiansExplanation",
|
|
22783
23013
|
Icon: Cpu3
|
|
22784
23014
|
});
|
|
22785
23015
|
}
|
|
22786
|
-
return
|
|
23016
|
+
return [vaultMethods, extraMethods];
|
|
23017
|
+
};
|
|
23018
|
+
getActiveLevel = (securityStatus) => {
|
|
23019
|
+
const isBackupManagedByUser = securityStatus?.encryptionMethod === "passkey" || securityStatus?.encryptionMethod === "password";
|
|
23020
|
+
if (isBackupManagedByUser) return { isBackupManagedByUser: true, activeLevel: "secured" };
|
|
23021
|
+
return { isBackupManagedByUser, activeLevel: securityStatus?.level || null };
|
|
22787
23022
|
};
|
|
22788
23023
|
}
|
|
22789
23024
|
});
|
|
@@ -23206,7 +23441,7 @@ var init_NoBackupFound = __esm({
|
|
|
23206
23441
|
});
|
|
23207
23442
|
|
|
23208
23443
|
// src/internal/components/KeyshareRestoreMenu/components/NodeGraph.tsx
|
|
23209
|
-
import { AstroidIcon, ShieldIcon, ShieldPlusIcon, ShieldUserIcon, UserIcon } from "lucide-react";
|
|
23444
|
+
import { AstroidIcon, ShieldIcon, ShieldPlusIcon as ShieldPlusIcon2, ShieldUserIcon as ShieldUserIcon2, UserIcon } from "lucide-react";
|
|
23210
23445
|
import {
|
|
23211
23446
|
forwardRef as forwardRef5,
|
|
23212
23447
|
useId as useId2,
|
|
@@ -23360,7 +23595,7 @@ var init_NodeGraph = __esm({
|
|
|
23360
23595
|
// password with restoration
|
|
23361
23596
|
title: "passport:backupMenu.levelProgressTitles.advanced",
|
|
23362
23597
|
caption: "passport:backupMenu.levelProgress.advanced",
|
|
23363
|
-
Icon:
|
|
23598
|
+
Icon: ShieldPlusIcon2,
|
|
23364
23599
|
backupValidator: "embarkAI"
|
|
23365
23600
|
},
|
|
23366
23601
|
{
|
|
@@ -23368,7 +23603,7 @@ var init_NodeGraph = __esm({
|
|
|
23368
23603
|
// passkey or pass-phrase with no restoration
|
|
23369
23604
|
title: "passport:backupMenu.levelProgressTitles.secured",
|
|
23370
23605
|
caption: "passport:backupMenu.levelProgress.secured",
|
|
23371
|
-
Icon:
|
|
23606
|
+
Icon: ShieldUserIcon2,
|
|
23372
23607
|
backupValidator: "user"
|
|
23373
23608
|
}
|
|
23374
23609
|
];
|
|
@@ -23432,7 +23667,7 @@ function BackupProgress(props) {
|
|
|
23432
23667
|
const backupMethod = useRestoreStore((st) => st.method);
|
|
23433
23668
|
const [isBackupNoticeVisible, setIsBackupNoticeVisible] = useState23(false);
|
|
23434
23669
|
if (!!backupMethod) return null;
|
|
23435
|
-
const { activeLevel, isBackupManagedByUser } =
|
|
23670
|
+
const { activeLevel, isBackupManagedByUser } = getActiveLevel2(securityStatus);
|
|
23436
23671
|
const isMaxBackupSecurity = isBackupManagedByUser;
|
|
23437
23672
|
return /* @__PURE__ */ jsxs75("div", { className: "flex flex-col gap-(--ui-kit-gap)", children: [
|
|
23438
23673
|
/* @__PURE__ */ jsxs75("div", { className: "flex items-center gap-(--ui-kit-gap) justify-between", children: [
|
|
@@ -23520,7 +23755,7 @@ function BackupProgress(props) {
|
|
|
23520
23755
|
] })
|
|
23521
23756
|
] });
|
|
23522
23757
|
}
|
|
23523
|
-
var
|
|
23758
|
+
var getActiveLevel2;
|
|
23524
23759
|
var init_BackupProgress = __esm({
|
|
23525
23760
|
"src/internal/components/KeyshareRestoreMenu/components/BackupProgress.tsx"() {
|
|
23526
23761
|
init_useT();
|
|
@@ -23531,7 +23766,7 @@ var init_BackupProgress = __esm({
|
|
|
23531
23766
|
init_tooltip();
|
|
23532
23767
|
init_hooks();
|
|
23533
23768
|
init_NodeGraph();
|
|
23534
|
-
|
|
23769
|
+
getActiveLevel2 = (securityStatus) => {
|
|
23535
23770
|
const isBackupManagedByUser = securityStatus?.encryptionMethod === "passkey" || securityStatus?.encryptionMethod === "password";
|
|
23536
23771
|
if (isBackupManagedByUser) return { isBackupManagedByUser: true, activeLevel: "secured" };
|
|
23537
23772
|
return { isBackupManagedByUser, activeLevel: securityStatus?.level || null };
|
|
@@ -24487,19 +24722,15 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
24487
24722
|
Button,
|
|
24488
24723
|
{
|
|
24489
24724
|
size: "small",
|
|
24490
|
-
variant: "
|
|
24725
|
+
variant: "secondary",
|
|
24491
24726
|
onClick: () => {
|
|
24492
24727
|
const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
|
|
24493
24728
|
if (!!error) setError(null);
|
|
24494
24729
|
setRestorePassword("");
|
|
24495
24730
|
setRestoreFile(null);
|
|
24496
|
-
|
|
24497
|
-
setMethod(null);
|
|
24498
|
-
} else {
|
|
24499
|
-
setMethod("securedServer");
|
|
24500
|
-
}
|
|
24731
|
+
setMethod(null);
|
|
24501
24732
|
},
|
|
24502
|
-
children: t("passport:common.
|
|
24733
|
+
children: t("passport:common.extra")
|
|
24503
24734
|
}
|
|
24504
24735
|
)
|
|
24505
24736
|
] }),
|
|
@@ -24572,7 +24803,7 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
24572
24803
|
|
|
24573
24804
|
// src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx
|
|
24574
24805
|
import { useQuery as useQuery16, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
|
|
24575
|
-
import { ArrowLeft as ArrowLeft14, CheckCircle2 as CheckCircle23, Loader as Loader18, UserIcon as UserIcon2 } from "lucide-react";
|
|
24806
|
+
import { ArrowLeft as ArrowLeft14, CheckCircle2 as CheckCircle23, ChevronUpIcon as ChevronUpIcon2, ListIcon, Loader as Loader18, UserIcon as UserIcon2 } from "lucide-react";
|
|
24576
24807
|
import { useEffect as useEffect36, useState as useState25 } from "react";
|
|
24577
24808
|
import { Fragment as Fragment32, jsx as jsx94, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
24578
24809
|
function KeyshareBackupMenu() {
|
|
@@ -24713,15 +24944,18 @@ function KeyshareBackupMenu() {
|
|
|
24713
24944
|
)
|
|
24714
24945
|
] }),
|
|
24715
24946
|
!isBasicBackup && /* @__PURE__ */ jsxs85(Fragment32, { children: [
|
|
24716
|
-
isMethodSelectorVisible && /* @__PURE__ */ jsx94(MethodSelector, { mode: "backup" }),
|
|
24717
|
-
/* @__PURE__ */
|
|
24947
|
+
isMethodSelectorVisible && /* @__PURE__ */ jsx94(MethodSelector, { mode: "backup", securityStatus }),
|
|
24948
|
+
/* @__PURE__ */ jsxs85(
|
|
24718
24949
|
Button,
|
|
24719
24950
|
{
|
|
24720
24951
|
variant: isMethodSelectorVisible ? "ghost" : "secondary",
|
|
24721
24952
|
size: "medium",
|
|
24722
24953
|
className: "w-full",
|
|
24723
24954
|
onClick: () => setIsMethodSelectorVisible((prev) => !prev),
|
|
24724
|
-
children:
|
|
24955
|
+
children: [
|
|
24956
|
+
isMethodSelectorVisible ? /* @__PURE__ */ jsx94(ChevronUpIcon2, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx94(ListIcon, { className: "h-4 w-4" }),
|
|
24957
|
+
/* @__PURE__ */ jsx94("span", { children: isMethodSelectorVisible ? t("passport:common.hide") : t("passport:backupMenu.exploreBackupMethods") })
|
|
24958
|
+
]
|
|
24725
24959
|
}
|
|
24726
24960
|
)
|
|
24727
24961
|
] })
|
|
@@ -26282,7 +26516,7 @@ var init_constants7 = __esm({
|
|
|
26282
26516
|
});
|
|
26283
26517
|
|
|
26284
26518
|
// src/internal/components/MainMenu/MainMenu.tsx
|
|
26285
|
-
import { ListIcon } from "lucide-react";
|
|
26519
|
+
import { ListIcon as ListIcon2 } from "lucide-react";
|
|
26286
26520
|
import { jsx as jsx102, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
26287
26521
|
function MainMenu() {
|
|
26288
26522
|
const { config } = useProviderConfig();
|
|
@@ -26343,7 +26577,7 @@ function MainMenu() {
|
|
|
26343
26577
|
onClick: () => useLayoutDataStore.getState().setPage("activity-log" /* ACTIVITY_LOG */),
|
|
26344
26578
|
children: [
|
|
26345
26579
|
/* @__PURE__ */ jsx102("span", { className: "text-xs", children: t("passport:main.activity") }),
|
|
26346
|
-
/* @__PURE__ */ jsx102(
|
|
26580
|
+
/* @__PURE__ */ jsx102(ListIcon2, { className: "w-4 h-4" })
|
|
26347
26581
|
]
|
|
26348
26582
|
}
|
|
26349
26583
|
)
|
|
@@ -27460,8 +27694,8 @@ function parseOS(ua) {
|
|
|
27460
27694
|
if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
|
|
27461
27695
|
return null;
|
|
27462
27696
|
}
|
|
27463
|
-
function cleanStringArtifacts(
|
|
27464
|
-
return
|
|
27697
|
+
function cleanStringArtifacts(str2) {
|
|
27698
|
+
return str2.replace(/"/g, "").replace(/\"/g, "").replace(/unknown/g, "");
|
|
27465
27699
|
}
|
|
27466
27700
|
function LastBackup(props) {
|
|
27467
27701
|
const { backup, createdRecoveryStats, level } = props;
|
|
@@ -27646,7 +27880,7 @@ var init_Keyshare2 = __esm({
|
|
|
27646
27880
|
// src/internal/components/SecurityMenu/KeyshareReshare/KeyshareReshare.tsx
|
|
27647
27881
|
import { useMutation as useMutation19, useQueryClient as useQueryClient25 } from "@tanstack/react-query";
|
|
27648
27882
|
import dayjs8 from "dayjs";
|
|
27649
|
-
import { LoaderIcon as LoaderIcon18, ShieldUserIcon as
|
|
27883
|
+
import { LoaderIcon as LoaderIcon18, ShieldUserIcon as ShieldUserIcon3, ShieldXIcon } from "lucide-react";
|
|
27650
27884
|
import { jsx as jsx111, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
27651
27885
|
function KeyshareReshare() {
|
|
27652
27886
|
const qc = useQueryClient25();
|
|
@@ -27716,7 +27950,7 @@ function KeyshareReshare() {
|
|
|
27716
27950
|
reshareKeyshare();
|
|
27717
27951
|
},
|
|
27718
27952
|
children: [
|
|
27719
|
-
isKeyshareResharePending ? /* @__PURE__ */ jsx111(LoaderIcon18, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx111(
|
|
27953
|
+
isKeyshareResharePending ? /* @__PURE__ */ jsx111(LoaderIcon18, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx111(ShieldUserIcon3, { className: "w-4 h-4" }),
|
|
27720
27954
|
/* @__PURE__ */ jsx111("span", { className: "uppercase", children: t("passport:securityMenu.keyshareReshare.runKeyshareReshare") })
|
|
27721
27955
|
]
|
|
27722
27956
|
}
|
|
@@ -28492,8 +28726,7 @@ function SecurityMenuContent() {
|
|
|
28492
28726
|
}),
|
|
28493
28727
|
children: [
|
|
28494
28728
|
/* @__PURE__ */ jsx114(WaypointsIcon, { className: "h-4 w-4" }),
|
|
28495
|
-
t("passport:securityMenu.keyshareReshare.title")
|
|
28496
|
-
/* @__PURE__ */ jsx114("span", { className: "text-[10px]", children: t("passport:common.comingSoon") })
|
|
28729
|
+
t("passport:securityMenu.keyshareReshare.title")
|
|
28497
28730
|
]
|
|
28498
28731
|
}
|
|
28499
28732
|
),
|
|
@@ -33161,7 +33394,7 @@ var init_utils12 = __esm({
|
|
|
33161
33394
|
});
|
|
33162
33395
|
|
|
33163
33396
|
// src/internal/components/TransactionsMenu/TransactionsGroup.tsx
|
|
33164
|
-
import { ChevronDown, ChevronLeft as ChevronLeft3, ChevronRight as ChevronRight6, ChevronUp
|
|
33397
|
+
import { ChevronDown, ChevronLeft as ChevronLeft3, ChevronRight as ChevronRight6, ChevronUp } from "lucide-react";
|
|
33165
33398
|
import { Fragment as Fragment46, jsx as jsx133, jsxs as jsxs121 } from "react/jsx-runtime";
|
|
33166
33399
|
function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
|
|
33167
33400
|
const internalSymbol = internal.assetSymbol || assetSymbol;
|
|
@@ -33203,40 +33436,26 @@ function TransactionsGroup(props) {
|
|
|
33203
33436
|
"bg-[var(--ui-kit-secondary)] hover:opacity-80 active:opacity-60"
|
|
33204
33437
|
),
|
|
33205
33438
|
children: [
|
|
33206
|
-
/* @__PURE__ */ jsxs121("div", { className: "flex items-center justify-between gap-
|
|
33439
|
+
/* @__PURE__ */ jsxs121("div", { className: "flex items-center justify-between gap-(--ui-kit-gap)", children: [
|
|
33207
33440
|
/* @__PURE__ */ jsxs121("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
|
|
33208
33441
|
parent.direction === "in" ? /* @__PURE__ */ jsx133(ChevronLeft3, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx133(ChevronRight6, { className: "w-4 h-4" }),
|
|
33209
33442
|
/* @__PURE__ */ jsx133("span", { className: "text-[10px] uppercase", children: isIncoming ? t("passport:common.received") : t("passport:common.sent") }),
|
|
33210
33443
|
parent.status === "ok" ? /* @__PURE__ */ jsx133(PositiveIcon, {}) : /* @__PURE__ */ jsx133(NegativeIcon, {})
|
|
33211
33444
|
] }),
|
|
33212
|
-
/* @__PURE__ */ jsx133("span", { className: "block flex-
|
|
33445
|
+
/* @__PURE__ */ jsx133("span", { className: "block flex-1 font-mono text-[10px] text-right text-(--ui-kit-fg-muted) whitespace-nowrap", children: formatTimestamp2(group.timestampMs) })
|
|
33213
33446
|
] }),
|
|
33214
|
-
/* @__PURE__ */
|
|
33215
|
-
/* @__PURE__ */ jsxs121("
|
|
33216
|
-
|
|
33217
|
-
|
|
33218
|
-
|
|
33219
|
-
assetSymbol
|
|
33220
|
-
] }),
|
|
33221
|
-
/* @__PURE__ */ jsxs121("span", { className: "text-[10px] font-mono text-[var(--ui-kit-fg-muted)]", children: [
|
|
33222
|
-
isIncoming ? t("passport:common.from") : t("passport:common.to"),
|
|
33223
|
-
": ",
|
|
33224
|
-
parent.counterpartyName || formatAddress2(parent.counterparty)
|
|
33225
|
-
] })
|
|
33447
|
+
/* @__PURE__ */ jsx133("div", { className: "flex items-end justify-between gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsxs121("div", { className: "flex flex-col gap-0", children: [
|
|
33448
|
+
/* @__PURE__ */ jsxs121("span", { className: "font-bold", children: [
|
|
33449
|
+
formatValue2(parent.value, assetDecimals),
|
|
33450
|
+
" ",
|
|
33451
|
+
assetSymbol
|
|
33226
33452
|
] }),
|
|
33227
|
-
/* @__PURE__ */
|
|
33228
|
-
|
|
33229
|
-
|
|
33230
|
-
|
|
33231
|
-
|
|
33232
|
-
|
|
33233
|
-
onClick: (e) => {
|
|
33234
|
-
e.stopPropagation();
|
|
33235
|
-
},
|
|
33236
|
-
children: /* @__PURE__ */ jsx133(Copy3, { className: "w-4 h-4" })
|
|
33237
|
-
}
|
|
33238
|
-
) })
|
|
33239
|
-
] }),
|
|
33453
|
+
/* @__PURE__ */ jsxs121("span", { className: "text-[10px] font-mono text-[var(--ui-kit-fg-muted)]", children: [
|
|
33454
|
+
isIncoming ? t("passport:common.from") : t("passport:common.to"),
|
|
33455
|
+
": ",
|
|
33456
|
+
parent.counterpartyName || formatAddress2(parent.counterparty)
|
|
33457
|
+
] })
|
|
33458
|
+
] }) }),
|
|
33240
33459
|
internalsToRender.length > 0 && /* @__PURE__ */ jsxs121(Fragment46, { children: [
|
|
33241
33460
|
/* @__PURE__ */ jsx133("div", { className: "w-full flex items-center h-4", children: /* @__PURE__ */ jsx133("div", { style: { borderTop: "1px solid var(--ui-kit-bd)" }, className: "flex-1" }) }),
|
|
33242
33461
|
/* @__PURE__ */ jsxs121(
|
|
@@ -33477,7 +33696,7 @@ var init_constants10 = __esm({
|
|
|
33477
33696
|
init_icons();
|
|
33478
33697
|
NAV_BUTTONS = [
|
|
33479
33698
|
{ id: "transactions" /* TRANSACTIONS */, name: "passport:transactionsMenu.title", Icon: ArrowLeftRight },
|
|
33480
|
-
{ id: "user-activity" /*
|
|
33699
|
+
{ id: "user-security-activity" /* USER_SECURITY_ACTIVITY */, name: "passport:userActivityMenu.title", Icon: ActivityIcon },
|
|
33481
33700
|
{ id: "kyc" /* KYC */, name: "passport:kycMenu.title", Icon: kyc_default },
|
|
33482
33701
|
{ id: "nickname-settings" /* NICKNAME_SETTINGS */, name: "passport:nicknameMenu.title", Icon: AtSign4 },
|
|
33483
33702
|
{ id: "manage-wallet" /* MANAGE_WALLET */, name: "passport:profilesMenu.title", Icon: UsersRound },
|
|
@@ -33648,53 +33867,497 @@ var init_SettingsMenu2 = __esm({
|
|
|
33648
33867
|
}
|
|
33649
33868
|
});
|
|
33650
33869
|
|
|
33651
|
-
// src/internal/components/
|
|
33652
|
-
import
|
|
33870
|
+
// src/internal/components/UserSecurityActivityMenu/filters.ts
|
|
33871
|
+
import dayjs10 from "dayjs";
|
|
33872
|
+
function validateActivityFilters(filters) {
|
|
33873
|
+
const { period, customFrom, customTo } = filters;
|
|
33874
|
+
if (period !== "custom" || !customFrom) return null;
|
|
33875
|
+
const from = dayjs10(customFrom).startOf("day");
|
|
33876
|
+
const to = customTo ? dayjs10(customTo).endOf("day") : dayjs10();
|
|
33877
|
+
if (from.isAfter(to)) return "rangeOrder";
|
|
33878
|
+
if (to.diff(from, "day", true) > MAX_RANGE_DAYS) return "rangeTooLong";
|
|
33879
|
+
return null;
|
|
33880
|
+
}
|
|
33881
|
+
function countActiveActivityFilters(filters) {
|
|
33882
|
+
const { eventTypes, period, customFrom, customTo } = filters;
|
|
33883
|
+
const hasTypes = eventTypes.length > 0 && eventTypes.length < ALL_ACTIVITY_EVENT_TYPES.length;
|
|
33884
|
+
const hasPeriod = period === "custom" ? !!customFrom || !!customTo : period !== "all";
|
|
33885
|
+
return Number(hasTypes) + Number(hasPeriod);
|
|
33886
|
+
}
|
|
33887
|
+
function buildActivityPayload(filters, now = dayjs10()) {
|
|
33888
|
+
const { eventTypes, period, customFrom, customTo } = filters;
|
|
33889
|
+
const payload = {};
|
|
33890
|
+
if (eventTypes.length > 0 && eventTypes.length < ALL_ACTIVITY_EVENT_TYPES.length) {
|
|
33891
|
+
payload.event_type = [...eventTypes].sort();
|
|
33892
|
+
}
|
|
33893
|
+
const duration = PERIOD_DURATIONS[period];
|
|
33894
|
+
if (duration) {
|
|
33895
|
+
payload.from = now.subtract(duration[0], duration[1]).toISOString();
|
|
33896
|
+
} else if (period === "custom") {
|
|
33897
|
+
if (customFrom) payload.from = dayjs10(customFrom).startOf("day").toISOString();
|
|
33898
|
+
if (customTo) payload.to = dayjs10(customTo).endOf("day").toISOString();
|
|
33899
|
+
}
|
|
33900
|
+
return payload;
|
|
33901
|
+
}
|
|
33902
|
+
var ACTIVITY_EVENT_GROUPS, ALL_ACTIVITY_EVENT_TYPES, MAX_RANGE_DAYS, ACTIVITY_PERIODS, PERIOD_DURATIONS, DEFAULT_ACTIVITY_FILTERS;
|
|
33903
|
+
var init_filters = __esm({
|
|
33904
|
+
"src/internal/components/UserSecurityActivityMenu/filters.ts"() {
|
|
33905
|
+
ACTIVITY_EVENT_GROUPS = [
|
|
33906
|
+
{ id: "auth", types: ["auth.login", "auth.login_failed"] },
|
|
33907
|
+
{ id: "backup", types: ["backup.created", "backup.restored", "backup.rewrapped", "backup.deleted"] },
|
|
33908
|
+
{ id: "account", types: ["account.provider_linked", "account.provider_unlinked"] },
|
|
33909
|
+
{ id: "device", types: ["device.paired", "device.unlinked"] },
|
|
33910
|
+
{ id: "wallet", types: ["wallet.created", "wallet.sign_locked"] },
|
|
33911
|
+
{ id: "policy", types: ["policy.changed"] },
|
|
33912
|
+
{ id: "kyc", types: ["kyc.status_changed"] }
|
|
33913
|
+
];
|
|
33914
|
+
ALL_ACTIVITY_EVENT_TYPES = ACTIVITY_EVENT_GROUPS.flatMap((group) => group.types);
|
|
33915
|
+
MAX_RANGE_DAYS = 365;
|
|
33916
|
+
ACTIVITY_PERIODS = [
|
|
33917
|
+
"all",
|
|
33918
|
+
"last24h",
|
|
33919
|
+
"last7d",
|
|
33920
|
+
"last30d",
|
|
33921
|
+
"last90d",
|
|
33922
|
+
"last365d",
|
|
33923
|
+
"custom"
|
|
33924
|
+
];
|
|
33925
|
+
PERIOD_DURATIONS = {
|
|
33926
|
+
last24h: [24, "hour"],
|
|
33927
|
+
last7d: [7, "day"],
|
|
33928
|
+
last30d: [30, "day"],
|
|
33929
|
+
last90d: [90, "day"],
|
|
33930
|
+
last365d: [365, "day"]
|
|
33931
|
+
};
|
|
33932
|
+
DEFAULT_ACTIVITY_FILTERS = {
|
|
33933
|
+
eventTypes: [],
|
|
33934
|
+
period: "all",
|
|
33935
|
+
customFrom: "",
|
|
33936
|
+
customTo: ""
|
|
33937
|
+
};
|
|
33938
|
+
}
|
|
33939
|
+
});
|
|
33940
|
+
|
|
33941
|
+
// src/internal/components/UserSecurityActivityMenu/utils.ts
|
|
33942
|
+
function getActivityTitleKey(eventType) {
|
|
33943
|
+
return `passport:userActivityMenu.events.${EVENT_TITLE_KEYS[eventType] ?? "unknown"}`;
|
|
33944
|
+
}
|
|
33945
|
+
function getActivityCardType(activity) {
|
|
33946
|
+
const { event_type, properties } = activity;
|
|
33947
|
+
if (event_type === "auth.login_failed") return "error";
|
|
33948
|
+
if (event_type === "wallet.sign_locked") return "warning";
|
|
33949
|
+
if (event_type === "kyc.status_changed") {
|
|
33950
|
+
if (properties.status === "verified") return "success";
|
|
33951
|
+
return "warning";
|
|
33952
|
+
}
|
|
33953
|
+
return "info";
|
|
33954
|
+
}
|
|
33955
|
+
function parseActivityTimestamp(timestamp) {
|
|
33956
|
+
return /* @__PURE__ */ new Date(`${timestamp.replace(" ", "T")}Z`);
|
|
33957
|
+
}
|
|
33958
|
+
function parseUserAgent(userAgent) {
|
|
33959
|
+
if (!userAgent) return "";
|
|
33960
|
+
const browser = /Edg\//.test(userAgent) && "Edge" || /OPR\//.test(userAgent) && "Opera" || /Firefox\//.test(userAgent) && "Firefox" || /Chrome\//.test(userAgent) && "Chrome" || /Safari\//.test(userAgent) && "Safari" || "";
|
|
33961
|
+
const os = /Windows/.test(userAgent) && "Windows" || /Android/.test(userAgent) && "Android" || /iPhone|iPad|iPod/.test(userAgent) && "iOS" || /Mac OS X/.test(userAgent) && "macOS" || /Linux/.test(userAgent) && "Linux" || "";
|
|
33962
|
+
return [browser, os].filter(Boolean).join(" \xB7 ");
|
|
33963
|
+
}
|
|
33964
|
+
function str(value) {
|
|
33965
|
+
return typeof value === "string" ? value : "";
|
|
33966
|
+
}
|
|
33967
|
+
function humanize(value) {
|
|
33968
|
+
return value.replace(/[_-]+/g, " ");
|
|
33969
|
+
}
|
|
33970
|
+
function getActivityDetails(activity) {
|
|
33971
|
+
const { event_type, properties, external_id } = activity;
|
|
33972
|
+
const details = [];
|
|
33973
|
+
const add = (labelKey, value) => {
|
|
33974
|
+
if (value) details.push({ labelKey, value });
|
|
33975
|
+
};
|
|
33976
|
+
switch (event_type) {
|
|
33977
|
+
case "auth.login":
|
|
33978
|
+
case "auth.login_failed":
|
|
33979
|
+
case "account.provider_linked":
|
|
33980
|
+
case "account.provider_unlinked":
|
|
33981
|
+
add("provider", str(properties.provider));
|
|
33982
|
+
add("reason", humanize(str(properties.reason)));
|
|
33983
|
+
add("identity", external_id);
|
|
33984
|
+
break;
|
|
33985
|
+
case "device.paired":
|
|
33986
|
+
case "device.unlinked":
|
|
33987
|
+
add("deviceType", str(properties.device_type));
|
|
33988
|
+
break;
|
|
33989
|
+
case "policy.changed":
|
|
33990
|
+
add("policy", str(properties.name));
|
|
33991
|
+
add("action", humanize(str(properties.action)));
|
|
33992
|
+
break;
|
|
33993
|
+
case "kyc.status_changed":
|
|
33994
|
+
add("status", humanize(str(properties.status)));
|
|
33995
|
+
break;
|
|
33996
|
+
case "backup.created":
|
|
33997
|
+
case "backup.restored":
|
|
33998
|
+
case "backup.rewrapped":
|
|
33999
|
+
case "backup.deleted":
|
|
34000
|
+
add("method", str(properties.method));
|
|
34001
|
+
break;
|
|
34002
|
+
default:
|
|
34003
|
+
add("identity", external_id);
|
|
34004
|
+
}
|
|
34005
|
+
return details;
|
|
34006
|
+
}
|
|
34007
|
+
var EVENT_TITLE_KEYS;
|
|
34008
|
+
var init_utils13 = __esm({
|
|
34009
|
+
"src/internal/components/UserSecurityActivityMenu/utils.ts"() {
|
|
34010
|
+
EVENT_TITLE_KEYS = {
|
|
34011
|
+
"auth.login": "authLogin",
|
|
34012
|
+
"auth.login_failed": "authLoginFailed",
|
|
34013
|
+
"account.provider_linked": "accountProviderLinked",
|
|
34014
|
+
"account.provider_unlinked": "accountProviderUnlinked",
|
|
34015
|
+
"device.paired": "devicePaired",
|
|
34016
|
+
"device.unlinked": "deviceUnlinked",
|
|
34017
|
+
"wallet.created": "walletCreated",
|
|
34018
|
+
"wallet.sign_locked": "walletSignLocked",
|
|
34019
|
+
"policy.changed": "policyChanged",
|
|
34020
|
+
"kyc.status_changed": "kycStatusChanged",
|
|
34021
|
+
"backup.created": "backupCreated",
|
|
34022
|
+
"backup.restored": "backupRestored",
|
|
34023
|
+
"backup.rewrapped": "backupRewrapped",
|
|
34024
|
+
"backup.deleted": "backupDeleted"
|
|
34025
|
+
};
|
|
34026
|
+
}
|
|
34027
|
+
});
|
|
34028
|
+
|
|
34029
|
+
// src/internal/components/UserSecurityActivityMenu/SecurityActivityFilter.tsx
|
|
34030
|
+
import { ChevronDownIcon as ChevronDownIcon2, FilterIcon } from "lucide-react";
|
|
34031
|
+
import { useEffect as useEffect56, useState as useState37 } from "react";
|
|
33653
34032
|
import { jsx as jsx137, jsxs as jsxs125 } from "react/jsx-runtime";
|
|
33654
|
-
function
|
|
34033
|
+
function Chip({ selected, onClick, children }) {
|
|
34034
|
+
return /* @__PURE__ */ jsx137(
|
|
34035
|
+
"button",
|
|
34036
|
+
{
|
|
34037
|
+
type: "button",
|
|
34038
|
+
"aria-pressed": selected,
|
|
34039
|
+
onClick,
|
|
34040
|
+
className: cn2(
|
|
34041
|
+
"h-6 px-2 rounded-full border text-[10px] font-semibold cursor-pointer select-none",
|
|
34042
|
+
"transition-opacity hover:opacity-80 active:opacity-60",
|
|
34043
|
+
selected ? "border-transparent bg-(--ui-kit-primary) text-(--ui-kit-fg-inverted)" : "border-(--ui-kit-bd) bg-transparent text-(--ui-kit-fg)"
|
|
34044
|
+
),
|
|
34045
|
+
children
|
|
34046
|
+
}
|
|
34047
|
+
);
|
|
34048
|
+
}
|
|
34049
|
+
function SecurityActivityFilter({ value, onChange }) {
|
|
34050
|
+
const { t } = useT();
|
|
34051
|
+
const [isOpen, setIsOpen] = useState37(false);
|
|
34052
|
+
const [draft, setDraft] = useState37(value);
|
|
34053
|
+
useEffect56(() => setDraft(value), [value]);
|
|
34054
|
+
const activeCount = countActiveActivityFilters(value);
|
|
34055
|
+
const error = validateActivityFilters(draft);
|
|
34056
|
+
const toggleType = (type) => setDraft((prev) => ({
|
|
34057
|
+
...prev,
|
|
34058
|
+
eventTypes: prev.eventTypes.includes(type) ? prev.eventTypes.filter((el) => el !== type) : [...prev.eventTypes, type]
|
|
34059
|
+
}));
|
|
34060
|
+
const toggleGroup = (types) => setDraft((prev) => {
|
|
34061
|
+
const isGroupSelected = types.every((type) => prev.eventTypes.includes(type));
|
|
34062
|
+
return {
|
|
34063
|
+
...prev,
|
|
34064
|
+
eventTypes: isGroupSelected ? prev.eventTypes.filter((type) => !types.includes(type)) : [.../* @__PURE__ */ new Set([...prev.eventTypes, ...types])]
|
|
34065
|
+
};
|
|
34066
|
+
});
|
|
34067
|
+
const setPeriod = (period) => setDraft((prev) => ({ ...prev, period }));
|
|
34068
|
+
const handleApply = () => {
|
|
34069
|
+
onChange(draft);
|
|
34070
|
+
setIsOpen(false);
|
|
34071
|
+
};
|
|
34072
|
+
const handleReset = () => {
|
|
34073
|
+
onChange(DEFAULT_ACTIVITY_FILTERS);
|
|
34074
|
+
setIsOpen(false);
|
|
34075
|
+
};
|
|
34076
|
+
return /* @__PURE__ */ jsxs125("div", { className: "w-full flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34077
|
+
/* @__PURE__ */ jsxs125("div", { className: "w-full flex items-center justify-between gap-(--ui-kit-gap)", children: [
|
|
34078
|
+
activeCount > 0 ? /* @__PURE__ */ jsx137(Button, { variant: "ghost", size: "medium", className: "text-xs", onClick: handleReset, children: t("passport:userActivityMenu.filters.reset") }) : /* @__PURE__ */ jsx137("span", { className: "text-xs text-(--ui-kit-fg-muted)", children: t("passport:userActivityMenu.filters.title") }),
|
|
34079
|
+
/* @__PURE__ */ jsxs125(
|
|
34080
|
+
Button,
|
|
34081
|
+
{
|
|
34082
|
+
variant: "secondary",
|
|
34083
|
+
size: "medium",
|
|
34084
|
+
"aria-expanded": isOpen,
|
|
34085
|
+
className: "text-xs",
|
|
34086
|
+
onClick: () => setIsOpen((prev) => !prev),
|
|
34087
|
+
children: [
|
|
34088
|
+
/* @__PURE__ */ jsx137(FilterIcon, { className: "h-4 w-4" }),
|
|
34089
|
+
activeCount > 0 && /* @__PURE__ */ jsx137(Badge, { variant: "outline", children: activeCount }),
|
|
34090
|
+
/* @__PURE__ */ jsx137(ChevronDownIcon2, { className: cn2("h-4 w-4 transition-transform", isOpen && "rotate-180") })
|
|
34091
|
+
]
|
|
34092
|
+
}
|
|
34093
|
+
)
|
|
34094
|
+
] }),
|
|
34095
|
+
isOpen && /* @__PURE__ */ jsxs125("div", { className: "w-full flex flex-col gap-(--ui-kit-gap) rounded-(--ui-kit-el-bdrs) bg-(--ui-kit-secondary) p-(--ui-kit-pd)", children: [
|
|
34096
|
+
/* @__PURE__ */ jsxs125("div", { className: "flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34097
|
+
/* @__PURE__ */ jsx137("span", { className: "text-xs font-semibold", children: t("passport:userActivityMenu.filters.eventTypes") }),
|
|
34098
|
+
/* @__PURE__ */ jsx137("span", { className: "text-[10px] leading-4 text-(--ui-kit-fg-muted)", children: t("passport:userActivityMenu.filters.eventTypesHint") }),
|
|
34099
|
+
ACTIVITY_EVENT_GROUPS.map(({ id, types }) => /* @__PURE__ */ jsxs125("div", { className: "flex flex-col gap-1", children: [
|
|
34100
|
+
/* @__PURE__ */ jsx137(
|
|
34101
|
+
Chip,
|
|
34102
|
+
{
|
|
34103
|
+
selected: types.every((type) => draft.eventTypes.includes(type)),
|
|
34104
|
+
onClick: () => toggleGroup(types),
|
|
34105
|
+
children: t(`passport:userActivityMenu.filters.groups.${id}`, id)
|
|
34106
|
+
}
|
|
34107
|
+
),
|
|
34108
|
+
types.length > 1 && /* @__PURE__ */ jsx137("div", { className: "flex flex-wrap gap-1 pl-2", children: types.map((type) => /* @__PURE__ */ jsx137(Chip, { selected: draft.eventTypes.includes(type), onClick: () => toggleType(type), children: t(getActivityTitleKey(type), type) }, type)) })
|
|
34109
|
+
] }, id))
|
|
34110
|
+
] }),
|
|
34111
|
+
/* @__PURE__ */ jsxs125("div", { className: "flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34112
|
+
/* @__PURE__ */ jsx137("span", { className: "text-xs font-semibold", children: t("passport:userActivityMenu.filters.period") }),
|
|
34113
|
+
/* @__PURE__ */ jsx137("div", { className: "flex flex-wrap gap-1", children: ACTIVITY_PERIODS.map((period) => /* @__PURE__ */ jsx137(Chip, { selected: draft.period === period, onClick: () => setPeriod(period), children: t(`passport:userActivityMenu.filters.periods.${period}`, period) }, period)) }),
|
|
34114
|
+
draft.period === "custom" && /* @__PURE__ */ jsxs125("div", { className: "flex items-start gap-(--ui-kit-gap)", children: [
|
|
34115
|
+
/* @__PURE__ */ jsx137(
|
|
34116
|
+
Input,
|
|
34117
|
+
{
|
|
34118
|
+
type: "date",
|
|
34119
|
+
"aria-label": t("passport:userActivityMenu.filters.from"),
|
|
34120
|
+
value: draft.customFrom,
|
|
34121
|
+
max: draft.customTo || void 0,
|
|
34122
|
+
onChange: (e) => setDraft((prev) => ({ ...prev, customFrom: e.target.value }))
|
|
34123
|
+
}
|
|
34124
|
+
),
|
|
34125
|
+
/* @__PURE__ */ jsx137(
|
|
34126
|
+
Input,
|
|
34127
|
+
{
|
|
34128
|
+
type: "date",
|
|
34129
|
+
"aria-label": t("passport:userActivityMenu.filters.to"),
|
|
34130
|
+
value: draft.customTo,
|
|
34131
|
+
min: draft.customFrom || void 0,
|
|
34132
|
+
onChange: (e) => setDraft((prev) => ({ ...prev, customTo: e.target.value }))
|
|
34133
|
+
}
|
|
34134
|
+
)
|
|
34135
|
+
] }),
|
|
34136
|
+
error && /* @__PURE__ */ jsx137(Highlight, { type: "error", children: t(`passport:userActivityMenu.filters.errors.${error}`, error) })
|
|
34137
|
+
] }),
|
|
34138
|
+
/* @__PURE__ */ jsxs125("div", { className: "flex items-center justify-end gap-(--ui-kit-gap)", children: [
|
|
34139
|
+
/* @__PURE__ */ jsx137(
|
|
34140
|
+
Button,
|
|
34141
|
+
{
|
|
34142
|
+
variant: "ghost",
|
|
34143
|
+
size: "medium",
|
|
34144
|
+
className: "text-xs",
|
|
34145
|
+
onClick: () => setDraft(DEFAULT_ACTIVITY_FILTERS),
|
|
34146
|
+
children: t("passport:userActivityMenu.filters.clear")
|
|
34147
|
+
}
|
|
34148
|
+
),
|
|
34149
|
+
/* @__PURE__ */ jsx137(Button, { size: "medium", className: "text-xs", disabled: !!error, onClick: handleApply, children: t("passport:userActivityMenu.filters.apply") })
|
|
34150
|
+
] })
|
|
34151
|
+
] })
|
|
34152
|
+
] });
|
|
34153
|
+
}
|
|
34154
|
+
var init_SecurityActivityFilter = __esm({
|
|
34155
|
+
"src/internal/components/UserSecurityActivityMenu/SecurityActivityFilter.tsx"() {
|
|
34156
|
+
init_utils();
|
|
34157
|
+
init_i18n();
|
|
34158
|
+
init_badge();
|
|
34159
|
+
init_button();
|
|
34160
|
+
init_highlight();
|
|
34161
|
+
init_input();
|
|
34162
|
+
init_filters();
|
|
34163
|
+
init_utils13();
|
|
34164
|
+
}
|
|
34165
|
+
});
|
|
34166
|
+
|
|
34167
|
+
// src/internal/components/UserSecurityActivityMenu/UserSecurityActivityCard.tsx
|
|
34168
|
+
import dayjs11 from "dayjs";
|
|
34169
|
+
import {
|
|
34170
|
+
ActivityIcon as ActivityIcon2,
|
|
34171
|
+
IdCardIcon,
|
|
34172
|
+
LinkIcon,
|
|
34173
|
+
LockKeyholeIcon,
|
|
34174
|
+
LogInIcon,
|
|
34175
|
+
ScrollTextIcon,
|
|
34176
|
+
ShieldUserIcon as ShieldUserIcon4,
|
|
34177
|
+
SmartphoneIcon,
|
|
34178
|
+
WalletIcon
|
|
34179
|
+
} from "lucide-react";
|
|
34180
|
+
import { jsx as jsx138, jsxs as jsxs126 } from "react/jsx-runtime";
|
|
34181
|
+
function getActivityIcon(eventType) {
|
|
34182
|
+
if (eventType === "wallet.sign_locked") return LockKeyholeIcon;
|
|
34183
|
+
return EVENT_GROUP_ICONS[eventType.split(".")[0]] ?? ActivityIcon2;
|
|
34184
|
+
}
|
|
34185
|
+
function truncate(value) {
|
|
34186
|
+
switch (true) {
|
|
34187
|
+
case isEVMAddress(value):
|
|
34188
|
+
return `${value.slice(0, 6)}...${value.slice(-4)}`;
|
|
34189
|
+
default:
|
|
34190
|
+
return value;
|
|
34191
|
+
}
|
|
34192
|
+
}
|
|
34193
|
+
function UserSecurityActivityCard(props) {
|
|
34194
|
+
const { t } = useT();
|
|
34195
|
+
const { event_type, timestamp, country, user_agent, properties } = props;
|
|
34196
|
+
const details = getActivityDetails(props);
|
|
34197
|
+
const meta = [parseUserAgent(user_agent), country].filter(Boolean).join(" \xB7 ");
|
|
34198
|
+
const Icon2 = getActivityIcon(event_type);
|
|
34199
|
+
return /* @__PURE__ */ jsxs126(Highlight, { type: getActivityCardType(props), className: "", children: [
|
|
34200
|
+
/* @__PURE__ */ jsxs126("div", { className: "flex items-start justify-between gap-(--ui-kit-gap)", children: [
|
|
34201
|
+
/* @__PURE__ */ jsxs126("div", { className: "flex items-center gap-(--ui-kit-gap)", children: [
|
|
34202
|
+
/* @__PURE__ */ jsx138(Icon2, { className: "h-4 w-4 shrink-0" }),
|
|
34203
|
+
/* @__PURE__ */ jsx138("span", { className: "text-sm leading-6 font-semibold", children: t(getActivityTitleKey(event_type), event_type) })
|
|
34204
|
+
] }),
|
|
34205
|
+
properties.new_user === true && /* @__PURE__ */ jsx138(Badge, { variant: "success", children: t("passport:userActivityMenu.newAccount") })
|
|
34206
|
+
] }),
|
|
34207
|
+
details.map(({ labelKey, value }) => /* @__PURE__ */ jsxs126("div", { className: "flex items-start justify-between gap-(--ui-kit-gap) leading-5", children: [
|
|
34208
|
+
/* @__PURE__ */ jsx138("span", { className: "text-(--ui-kit-fg-muted)", children: t(`passport:userActivityMenu.details.${labelKey}`, labelKey) }),
|
|
34209
|
+
/* @__PURE__ */ jsx138("span", { className: "text-right break-all uppercase", children: truncate(value) })
|
|
34210
|
+
] }, labelKey)),
|
|
34211
|
+
/* @__PURE__ */ jsxs126("div", { className: "flex items-center justify-between gap-(--ui-kit-gap) pt-1", children: [
|
|
34212
|
+
/* @__PURE__ */ jsx138(Badge, { size: "default", variant: "outline", className: "text-(--ui-kit-fg-muted)!", children: meta }),
|
|
34213
|
+
/* @__PURE__ */ jsx138(Badge, { size: "default", variant: "outline", className: "text-(--ui-kit-fg-muted)!", children: dayjs11(parseActivityTimestamp(timestamp)).format("MMM D, YYYY HH:mm") })
|
|
34214
|
+
] })
|
|
34215
|
+
] });
|
|
34216
|
+
}
|
|
34217
|
+
var EVENT_GROUP_ICONS, isEVMAddress;
|
|
34218
|
+
var init_UserSecurityActivityCard = __esm({
|
|
34219
|
+
"src/internal/components/UserSecurityActivityMenu/UserSecurityActivityCard.tsx"() {
|
|
34220
|
+
init_i18n();
|
|
34221
|
+
init_badge();
|
|
34222
|
+
init_highlight();
|
|
34223
|
+
init_utils13();
|
|
34224
|
+
EVENT_GROUP_ICONS = {
|
|
34225
|
+
auth: LogInIcon,
|
|
34226
|
+
backup: ShieldUserIcon4,
|
|
34227
|
+
account: LinkIcon,
|
|
34228
|
+
device: SmartphoneIcon,
|
|
34229
|
+
wallet: WalletIcon,
|
|
34230
|
+
policy: ScrollTextIcon,
|
|
34231
|
+
kyc: IdCardIcon
|
|
34232
|
+
};
|
|
34233
|
+
isEVMAddress = (address) => /^0x[a-fA-F0-9]{40}$/.test(address);
|
|
34234
|
+
}
|
|
34235
|
+
});
|
|
34236
|
+
|
|
34237
|
+
// src/internal/components/UserSecurityActivityMenu/api.ts
|
|
34238
|
+
function iframe5() {
|
|
34239
|
+
const accessToken = jwtTokenManager3.getAccessToken();
|
|
34240
|
+
if (!accessToken) {
|
|
34241
|
+
throw new Error("Access token is not available");
|
|
34242
|
+
}
|
|
34243
|
+
const iframeManager2 = getIframeManager();
|
|
34244
|
+
if (!iframeManager2) {
|
|
34245
|
+
throw new Error("Iframe manager is not initialized");
|
|
34246
|
+
}
|
|
34247
|
+
return { iframeManager: iframeManager2, accessToken };
|
|
34248
|
+
}
|
|
34249
|
+
async function getUserSecurityActivity(payload) {
|
|
34250
|
+
const { iframeManager: iframeManager2, accessToken } = iframe5();
|
|
34251
|
+
return await iframeManager2.sendMessage("USER_ACTIVITY_LOG_SECURITY_GET", { payload, accessToken });
|
|
34252
|
+
}
|
|
34253
|
+
var init_api7 = __esm({
|
|
34254
|
+
"src/internal/components/UserSecurityActivityMenu/api.ts"() {
|
|
34255
|
+
init_auth();
|
|
34256
|
+
init_iframe_manager();
|
|
34257
|
+
}
|
|
34258
|
+
});
|
|
34259
|
+
|
|
34260
|
+
// src/internal/components/UserSecurityActivityMenu/useUserSecurityActivity.ts
|
|
34261
|
+
import { useInfiniteQuery as useInfiniteQuery4 } from "@tanstack/react-query";
|
|
34262
|
+
function useUserSecurityActivity(filters = {}) {
|
|
34263
|
+
const address = useSession((st) => st.address);
|
|
34264
|
+
return useInfiniteQuery4({
|
|
34265
|
+
enabled: !!address,
|
|
34266
|
+
retry: false,
|
|
34267
|
+
queryKey: [USER_SECURITY_ACTIVITY_QUERY_KEY, address, filters],
|
|
34268
|
+
initialPageParam: void 0,
|
|
34269
|
+
getNextPageParam: (lastPage) => lastPage.nextCursor ?? void 0,
|
|
34270
|
+
queryFn: async ({ pageParam }) => getUserSecurityActivity({
|
|
34271
|
+
...filters,
|
|
34272
|
+
cursor: pageParam,
|
|
34273
|
+
limit: USER_SECURITY_ACTIVITY_PAGE_SIZE
|
|
34274
|
+
})
|
|
34275
|
+
});
|
|
34276
|
+
}
|
|
34277
|
+
var USER_SECURITY_ACTIVITY_QUERY_KEY, USER_SECURITY_ACTIVITY_PAGE_SIZE;
|
|
34278
|
+
var init_useUserSecurityActivity = __esm({
|
|
34279
|
+
"src/internal/components/UserSecurityActivityMenu/useUserSecurityActivity.ts"() {
|
|
34280
|
+
init_SessionContext();
|
|
34281
|
+
init_api7();
|
|
34282
|
+
USER_SECURITY_ACTIVITY_QUERY_KEY = "user-security-activity-query-key";
|
|
34283
|
+
USER_SECURITY_ACTIVITY_PAGE_SIZE = 10;
|
|
34284
|
+
}
|
|
34285
|
+
});
|
|
34286
|
+
|
|
34287
|
+
// src/internal/components/UserSecurityActivityMenu/UserSecurityActivityMenu.tsx
|
|
34288
|
+
import { ArrowLeft as ArrowLeft24, LoaderIcon as LoaderIcon23 } from "lucide-react";
|
|
34289
|
+
import { useEffect as useEffect57, useMemo as useMemo21, useRef as useRef26, useState as useState38 } from "react";
|
|
34290
|
+
import { jsx as jsx139, jsxs as jsxs127 } from "react/jsx-runtime";
|
|
34291
|
+
function UserSecurityActivityMenu() {
|
|
33655
34292
|
const { t } = useT();
|
|
33656
34293
|
useOnboardingTourAvailable(true);
|
|
33657
|
-
const
|
|
33658
|
-
|
|
33659
|
-
|
|
33660
|
-
|
|
34294
|
+
const [filters, setFilters] = useState38(DEFAULT_ACTIVITY_FILTERS);
|
|
34295
|
+
const payload = useMemo21(() => buildActivityPayload(filters), [filters]);
|
|
34296
|
+
const hasActiveFilters = countActiveActivityFilters(filters) > 0;
|
|
34297
|
+
const { data, isLoading, isError, error, hasNextPage, isFetchingNextPage, fetchNextPage } = useUserSecurityActivity(payload);
|
|
34298
|
+
const activities = useMemo21(() => data?.pages.flatMap((page) => page.events) ?? [], [data]);
|
|
34299
|
+
const sentinelRef = useRef26(null);
|
|
34300
|
+
const canLoadMore = !!hasNextPage && !isFetchingNextPage && !isError;
|
|
34301
|
+
useEffect57(() => {
|
|
34302
|
+
const sentinel = sentinelRef.current;
|
|
34303
|
+
if (!sentinel || !canLoadMore) return;
|
|
34304
|
+
const observer = new IntersectionObserver(
|
|
34305
|
+
(entries) => {
|
|
34306
|
+
if (entries.some((entry) => entry.isIntersecting)) void fetchNextPage();
|
|
34307
|
+
},
|
|
34308
|
+
{ rootMargin: "100px" }
|
|
34309
|
+
);
|
|
34310
|
+
observer.observe(sentinel);
|
|
34311
|
+
return () => observer.disconnect();
|
|
34312
|
+
}, [canLoadMore, fetchNextPage, activities.length]);
|
|
34313
|
+
return /* @__PURE__ */ jsxs127(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34314
|
+
/* @__PURE__ */ jsxs127("div", { className: "w-full flex items-center gap-(--ui-kit-gap)", children: [
|
|
34315
|
+
/* @__PURE__ */ jsx139(
|
|
33661
34316
|
Button,
|
|
33662
34317
|
{
|
|
33663
34318
|
variant: "ghost",
|
|
33664
34319
|
size: "icon",
|
|
33665
34320
|
title: "Back",
|
|
33666
34321
|
onClick: () => useLayoutDataStore.getState().setPage("settings" /* SETTINGS */),
|
|
33667
|
-
children: /* @__PURE__ */
|
|
34322
|
+
children: /* @__PURE__ */ jsx139(ArrowLeft24, { className: "h-4 w-4" })
|
|
33668
34323
|
}
|
|
33669
34324
|
),
|
|
33670
|
-
/* @__PURE__ */
|
|
34325
|
+
/* @__PURE__ */ jsx139("span", { className: "text-xl font-semibold", children: t("passport:userActivityMenu.title") })
|
|
33671
34326
|
] }),
|
|
33672
|
-
/* @__PURE__ */
|
|
33673
|
-
activities.length === 0 ? (
|
|
33674
|
-
|
|
33675
|
-
|
|
33676
|
-
|
|
34327
|
+
/* @__PURE__ */ jsx139(SecurityActivityFilter, { value: filters, onChange: setFilters }),
|
|
34328
|
+
isLoading ? /* @__PURE__ */ jsx139("div", { className: "w-full flex items-center justify-center p-(--ui-kit-pd)", children: /* @__PURE__ */ jsx139(LoaderIcon23, { className: "h-4 w-4 animate-spin" }) }) : activities.length === 0 && isError ? /* @__PURE__ */ jsx139(Highlight, { type: "error", children: error?.message || t("passport:userActivityMenu.loadError") }) : activities.length === 0 ? /* @__PURE__ */ jsx139(Highlight, { className: "text-(--ui-kit-fg-muted)", children: t(
|
|
34329
|
+
hasActiveFilters ? "passport:userActivityMenu.filters.noResults" : "passport:userActivityMenu.noActivities"
|
|
34330
|
+
) }) : /* @__PURE__ */ jsxs127("div", { className: "w-full flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34331
|
+
activities.map((activity) => /* @__PURE__ */ jsx139(UserSecurityActivityCard, { ...activity }, activity.event_id)),
|
|
34332
|
+
isError && /* @__PURE__ */ jsx139(Highlight, { type: "error", children: error?.message || t("passport:userActivityMenu.loadError") }),
|
|
34333
|
+
isFetchingNextPage && /* @__PURE__ */ jsx139("div", { className: "w-full flex items-center justify-center p-(--ui-kit-pd)", children: /* @__PURE__ */ jsx139(LoaderIcon23, { className: "h-4 w-4 animate-spin" }) }),
|
|
34334
|
+
/* @__PURE__ */ jsx139("div", { ref: sentinelRef, "aria-hidden": true, className: "h-px w-full" })
|
|
34335
|
+
] })
|
|
33677
34336
|
] });
|
|
33678
34337
|
}
|
|
33679
|
-
var
|
|
33680
|
-
"src/internal/components/
|
|
34338
|
+
var init_UserSecurityActivityMenu = __esm({
|
|
34339
|
+
"src/internal/components/UserSecurityActivityMenu/UserSecurityActivityMenu.tsx"() {
|
|
33681
34340
|
init_i18n();
|
|
33682
34341
|
init_useLayoutDataStore();
|
|
33683
34342
|
init_Expandable2();
|
|
33684
34343
|
init_Onboarding();
|
|
33685
34344
|
init_button();
|
|
33686
34345
|
init_highlight();
|
|
34346
|
+
init_filters();
|
|
34347
|
+
init_SecurityActivityFilter();
|
|
34348
|
+
init_UserSecurityActivityCard();
|
|
34349
|
+
init_useUserSecurityActivity();
|
|
33687
34350
|
}
|
|
33688
34351
|
});
|
|
33689
34352
|
|
|
33690
|
-
// src/internal/components/
|
|
33691
|
-
var
|
|
34353
|
+
// src/internal/components/UserSecurityActivityMenu/onboarding.setup.ts
|
|
34354
|
+
var USER_SECURITY_ACTIVITY_MENU_TOUR;
|
|
33692
34355
|
var init_onboarding_setup12 = __esm({
|
|
33693
|
-
"src/internal/components/
|
|
34356
|
+
"src/internal/components/UserSecurityActivityMenu/onboarding.setup.ts"() {
|
|
33694
34357
|
init_constants();
|
|
33695
|
-
|
|
34358
|
+
USER_SECURITY_ACTIVITY_MENU_TOUR = [
|
|
33696
34359
|
{
|
|
33697
|
-
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"user-activity" /*
|
|
34360
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"user-security-activity" /* USER_SECURITY_ACTIVITY */}`,
|
|
33698
34361
|
title: "passport:userActivityMenu.onboarding.title",
|
|
33699
34362
|
description: "passport:userActivityMenu.onboarding.description"
|
|
33700
34363
|
}
|
|
@@ -33702,10 +34365,10 @@ var init_onboarding_setup12 = __esm({
|
|
|
33702
34365
|
}
|
|
33703
34366
|
});
|
|
33704
34367
|
|
|
33705
|
-
// src/internal/components/
|
|
33706
|
-
var
|
|
33707
|
-
"src/internal/components/
|
|
33708
|
-
|
|
34368
|
+
// src/internal/components/UserSecurityActivityMenu/index.ts
|
|
34369
|
+
var init_UserSecurityActivityMenu2 = __esm({
|
|
34370
|
+
"src/internal/components/UserSecurityActivityMenu/index.ts"() {
|
|
34371
|
+
init_UserSecurityActivityMenu();
|
|
33709
34372
|
init_onboarding_setup12();
|
|
33710
34373
|
}
|
|
33711
34374
|
});
|
|
@@ -33735,7 +34398,7 @@ var init_PageMap = __esm({
|
|
|
33735
34398
|
init_SendMenu2();
|
|
33736
34399
|
init_SettingsMenu2();
|
|
33737
34400
|
init_TransactionsMenu2();
|
|
33738
|
-
|
|
34401
|
+
init_UserSecurityActivityMenu2();
|
|
33739
34402
|
PAGE_MAP = {
|
|
33740
34403
|
["auth" /* AUTH */]: {
|
|
33741
34404
|
key: "auth" /* AUTH */,
|
|
@@ -33743,11 +34406,11 @@ var init_PageMap = __esm({
|
|
|
33743
34406
|
description: "Authenticate to access your wallet",
|
|
33744
34407
|
component: AuthMenu
|
|
33745
34408
|
},
|
|
33746
|
-
["user-activity" /*
|
|
33747
|
-
key: "user-activity" /*
|
|
34409
|
+
["user-security-activity" /* USER_SECURITY_ACTIVITY */]: {
|
|
34410
|
+
key: "user-security-activity" /* USER_SECURITY_ACTIVITY */,
|
|
33748
34411
|
title: "User Activity",
|
|
33749
34412
|
description: "View your recent activity",
|
|
33750
|
-
component:
|
|
34413
|
+
component: UserSecurityActivityMenu
|
|
33751
34414
|
},
|
|
33752
34415
|
["languages" /* LANGUAGES */]: {
|
|
33753
34416
|
key: "languages" /* LANGUAGES */,
|
|
@@ -33892,11 +34555,11 @@ var init_PageMap = __esm({
|
|
|
33892
34555
|
});
|
|
33893
34556
|
|
|
33894
34557
|
// src/internal/hooks/usePageMapper.tsx
|
|
33895
|
-
import { useCallback as useCallback33, useEffect as
|
|
33896
|
-
import { jsx as
|
|
34558
|
+
import { useCallback as useCallback33, useEffect as useEffect58, useRef as useRef27 } from "react";
|
|
34559
|
+
import { jsx as jsx140 } from "react/jsx-runtime";
|
|
33897
34560
|
function usePageMapper() {
|
|
33898
34561
|
const page = useLayoutDataStore((st) => st.page);
|
|
33899
|
-
const closeTimeoutRef =
|
|
34562
|
+
const closeTimeoutRef = useRef27(null);
|
|
33900
34563
|
const cancelPendingClose = useCallback33(() => {
|
|
33901
34564
|
if (closeTimeoutRef.current) clearTimeout(closeTimeoutRef.current);
|
|
33902
34565
|
closeTimeoutRef.current = null;
|
|
@@ -33922,13 +34585,13 @@ function usePageMapper() {
|
|
|
33922
34585
|
const openDialog = useCallback33((pageItem) => {
|
|
33923
34586
|
cancelPendingClose();
|
|
33924
34587
|
useLayoutStore.setState({
|
|
33925
|
-
dialogContent: /* @__PURE__ */
|
|
34588
|
+
dialogContent: /* @__PURE__ */ jsx140(pageItem.component, {}),
|
|
33926
34589
|
isDialogOpen: true,
|
|
33927
34590
|
isDialogAnimating: false
|
|
33928
34591
|
});
|
|
33929
34592
|
}, [cancelPendingClose]);
|
|
33930
|
-
|
|
33931
|
-
|
|
34593
|
+
useEffect58(() => cancelPendingClose, [cancelPendingClose]);
|
|
34594
|
+
useEffect58(() => {
|
|
33932
34595
|
if (page === null) return closeDialog();
|
|
33933
34596
|
const pageItem = PAGE_MAP[page];
|
|
33934
34597
|
if (!pageItem) {
|
|
@@ -33952,7 +34615,7 @@ var init_usePageMapper = __esm({
|
|
|
33952
34615
|
|
|
33953
34616
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
33954
34617
|
import { useQuery as useQuery33 } from "@tanstack/react-query";
|
|
33955
|
-
import { useEffect as
|
|
34618
|
+
import { useEffect as useEffect59 } from "react";
|
|
33956
34619
|
function useSettingsNotifications() {
|
|
33957
34620
|
const { t } = useT();
|
|
33958
34621
|
const { config } = useProviderConfig();
|
|
@@ -33971,8 +34634,8 @@ function useSettingsNotifications() {
|
|
|
33971
34634
|
});
|
|
33972
34635
|
const isNotificationsLoading = isSessionLoading || //
|
|
33973
34636
|
isSecurityStatusLoading || isUserProfileLoading || isProvidersLoading || isKeyshareReshareLoading;
|
|
33974
|
-
|
|
33975
|
-
|
|
34637
|
+
useEffect59(() => useLayoutDataStore.setState({ isNotificationsLoading }), [isNotificationsLoading]);
|
|
34638
|
+
useEffect59(() => {
|
|
33976
34639
|
if (isNotificationsLoading || !keyshareReshare) return;
|
|
33977
34640
|
useLayoutDataStore.getState().setSettingsNotifications({
|
|
33978
34641
|
id: "keyshare-reshare-required",
|
|
@@ -33983,7 +34646,7 @@ function useSettingsNotifications() {
|
|
|
33983
34646
|
message: t("passport:securityMenu.keyshareReshare.notification")
|
|
33984
34647
|
});
|
|
33985
34648
|
}, [t, isNotificationsLoading, keyshareReshare]);
|
|
33986
|
-
|
|
34649
|
+
useEffect59(() => {
|
|
33987
34650
|
if (isNotificationsLoading || !backupWarning?.enabled || !securityStatus) return;
|
|
33988
34651
|
const isProtectedBackupMissing = !securityStatus?.level || securityStatus?.level === "basic";
|
|
33989
34652
|
useLayoutDataStore.getState().setSettingsNotifications({
|
|
@@ -33995,7 +34658,7 @@ function useSettingsNotifications() {
|
|
|
33995
34658
|
message: t("passport:securityMenu.securityLevel.basic.description")
|
|
33996
34659
|
});
|
|
33997
34660
|
}, [t, isNotificationsLoading, backupWarning, securityStatus]);
|
|
33998
|
-
|
|
34661
|
+
useEffect59(() => {
|
|
33999
34662
|
if (isNotificationsLoading || !isKYCconfigured || !kycNotCompletedWarning?.enabled) return;
|
|
34000
34663
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
34001
34664
|
useLayoutDataStore.getState().setSettingsNotifications({
|
|
@@ -34008,7 +34671,7 @@ function useSettingsNotifications() {
|
|
|
34008
34671
|
});
|
|
34009
34672
|
}, [t, isNotificationsLoading, isKYCconfigured, kycNotCompletedWarning, userProfile]);
|
|
34010
34673
|
const hasEmail = providers.map((p) => p.provider).includes("email");
|
|
34011
|
-
|
|
34674
|
+
useEffect59(() => {
|
|
34012
34675
|
if (isNotificationsLoading || !emailNotConnectedWarning?.enabled) return;
|
|
34013
34676
|
useLayoutDataStore.getState().setSettingsNotifications({
|
|
34014
34677
|
id: "email-not-connected",
|
|
@@ -34036,41 +34699,41 @@ var init_useSettingsNotifications = __esm({
|
|
|
34036
34699
|
|
|
34037
34700
|
// src/internal/assets/embark-ai-dark.svg
|
|
34038
34701
|
import * as React32 from "react";
|
|
34039
|
-
import { jsx as
|
|
34702
|
+
import { jsx as jsx141, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
34040
34703
|
var SvgEmbarkAiDark, embark_ai_dark_default;
|
|
34041
34704
|
var init_embark_ai_dark = __esm({
|
|
34042
34705
|
"src/internal/assets/embark-ai-dark.svg"() {
|
|
34043
|
-
SvgEmbarkAiDark = (props) => /* @__PURE__ */
|
|
34044
|
-
/* @__PURE__ */
|
|
34045
|
-
/* @__PURE__ */
|
|
34046
|
-
/* @__PURE__ */
|
|
34047
|
-
/* @__PURE__ */
|
|
34048
|
-
/* @__PURE__ */
|
|
34049
|
-
/* @__PURE__ */
|
|
34050
|
-
/* @__PURE__ */
|
|
34051
|
-
/* @__PURE__ */
|
|
34052
|
-
/* @__PURE__ */
|
|
34053
|
-
/* @__PURE__ */
|
|
34054
|
-
/* @__PURE__ */
|
|
34055
|
-
/* @__PURE__ */
|
|
34706
|
+
SvgEmbarkAiDark = (props) => /* @__PURE__ */ jsxs128("svg", { width: 873, height: 152, viewBox: "0 0 873 152", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
34707
|
+
/* @__PURE__ */ jsxs128("g", { clipPath: "url(#clip0_753_38)", children: [
|
|
34708
|
+
/* @__PURE__ */ jsx141("path", { d: "M245.901 51.1463C256.917 51.1463 265.796 54.985 272.537 62.6407C279.278 70.2963 282.288 80.0021 281.59 91.7582H220.901C221.359 98.2796 223.976 103.732 228.71 108.116C233.466 112.5 239.4 114.681 246.533 114.681C251.769 114.681 256.416 113.482 260.451 111.061C264.509 108.662 267.432 105.412 269.243 101.333H280.347C277.991 108.553 273.715 114.289 267.563 118.542C261.411 122.795 254.234 124.933 246.032 124.933C235.233 124.933 226.485 121.377 219.744 114.245C213.003 107.113 209.644 98.3887 209.644 88.0721C209.644 77.7556 213.069 69.0094 219.897 61.8555C226.725 54.7015 235.386 51.1245 245.901 51.1245V51.1463ZM262.197 67.1773C257.725 63.295 252.227 61.3538 245.661 61.3538C239.094 61.3538 233.575 63.3168 229.059 67.2646C224.544 71.1905 221.926 76.207 221.184 82.2704H270.29C269.374 76.1198 266.669 71.1033 262.197 67.1991V67.1773Z", fill: "#ffffff" }),
|
|
34709
|
+
/* @__PURE__ */ jsx141("path", { d: "M379.584 51.2773C387.743 51.2773 394.157 53.9383 398.847 59.2383C403.537 64.5384 405.893 71.5178 405.893 80.1767V123.079H395.204V81.1364C395.204 75.1603 393.611 70.4055 390.448 66.8285C387.285 63.2733 382.944 61.4848 377.425 61.4848C371.905 61.4848 367.019 63.6659 363.288 68.0499C359.558 72.4121 357.704 77.9739 357.704 84.6698V123.057H347.014V81.1146C347.014 75.0512 345.422 70.231 342.258 66.6758C339.095 63.1206 334.798 61.3758 329.366 61.463C323.214 61.5503 318.349 64.1458 314.771 69.2059C311.215 74.266 309.427 80.0895 309.427 86.6764V123.057H298.803V52.9568H309.143V64.9091H309.427C311.695 60.8305 314.728 57.5371 318.524 55.0506C322.319 52.5424 326.704 51.2992 331.656 51.2992C337.066 51.2992 341.8 52.6514 345.814 55.3342C349.85 58.0169 352.861 61.7029 354.846 66.3705H355.129C357.398 61.8338 360.605 58.1914 364.772 55.4432C368.938 52.6951 373.869 51.321 379.562 51.321L379.584 51.2773Z", fill: "#ffffff" }),
|
|
34710
|
+
/* @__PURE__ */ jsx141("path", { d: "M465.362 51.1464C475.68 51.0591 484.232 54.5053 491.016 61.5284C497.801 68.5297 501.182 77.3849 501.182 88.094C501.182 98.8031 497.823 107.506 491.082 114.551C484.341 121.596 475.767 125.063 465.362 124.976C459.384 124.889 454.039 123.558 449.284 120.985C444.528 118.411 440.732 114.965 437.853 110.603H437.569V123.1H426.945V20.6548H437.569V66.065H437.853C440.667 61.5284 444.463 57.9078 449.24 55.2032C454.018 52.4987 459.384 51.1464 465.362 51.1464ZM463.9 114.681C471.775 114.681 478.167 112.13 483.097 107.004C488.028 101.878 490.493 95.5751 490.493 88.094C490.493 80.6129 488.028 74.2659 483.097 69.0967C478.167 63.9276 471.775 61.3539 463.9 61.3539C456.025 61.3539 449.785 63.9276 444.899 69.0967C440.012 74.2659 437.569 80.5911 437.569 88.094C437.569 95.5969 440.012 101.9 444.899 107.004C449.785 112.108 456.112 114.681 463.9 114.681Z", fill: "#ffffff" }),
|
|
34711
|
+
/* @__PURE__ */ jsx141("path", { d: "M577.993 65.52V52.9569H588.486V123.079H577.993V110.036H577.579C571.427 119.895 562.243 124.867 550.07 124.955C539.751 125.042 531.2 121.596 524.415 114.573C517.631 107.55 514.249 98.6943 514.249 87.9852C514.249 77.2761 517.609 68.4208 524.35 61.4632C531.091 54.5055 539.708 51.0594 550.223 51.1466C556.2 51.2339 561.545 52.5643 566.3 55.0944C571.056 57.6463 574.808 61.1142 577.579 65.52H577.993ZM551.684 114.682C559.363 114.682 565.668 112.086 570.598 106.873C575.528 101.661 577.993 95.3573 577.993 87.9634C577.993 80.5695 575.55 74.1571 570.663 69.0534C565.777 63.9496 559.45 61.3759 551.662 61.3759C543.874 61.3759 537.243 63.9278 532.312 69.0534C527.382 74.1789 524.917 80.4823 524.917 87.9634C524.917 95.4445 527.382 101.791 532.312 106.961C537.243 112.13 543.7 114.704 551.662 114.704L551.684 114.682Z", fill: "#ffffff" }),
|
|
34712
|
+
/* @__PURE__ */ jsx141("path", { d: "M646.275 52.9565H658.644V63.6439H645.86C638.443 63.6439 632.575 65.9122 628.255 70.4925C623.936 75.051 621.755 81.4415 621.755 89.6861V123.079H611.131V52.9565H621.471V66.9155H621.885C625.921 57.6023 634.037 52.9565 646.253 52.9565H646.275Z", fill: "#ffffff" }),
|
|
34713
|
+
/* @__PURE__ */ jsx141("path", { d: "M718.069 80.3075H718.898C724.221 80.3075 728.322 81.7034 731.223 84.4734C734.125 87.2434 735.564 91.3002 735.564 96.6221V123.079H724.875V98.0834C724.875 92.936 722.279 90.3842 717.087 90.3842H683.339V123.079H672.715V20.6548H683.339V80.3075H705.983L724.308 52.9567H736.11L718.047 80.3075H718.069Z", fill: "#ffffff" }),
|
|
34714
|
+
/* @__PURE__ */ jsx141("path", { d: "M845.644 123.078H833.427L821.473 95.3787H774.526L762.724 123.078H750.508L792.175 27.8086H803.846L845.644 123.078ZM797.869 40.7206L779.108 84.8004H816.891L797.869 40.7206Z", fill: "#ffffff" }),
|
|
34715
|
+
/* @__PURE__ */ jsx141("path", { d: "M862.114 123.078V27.8086H873.022V123.078H862.114Z", fill: "#ffffff" }),
|
|
34716
|
+
/* @__PURE__ */ jsx141("path", { d: "M78.0984 35.29H157.811C157.811 15.8129 142.017 0 122.514 0H42.8014C42.8014 19.4771 58.5956 35.29 78.0984 35.29Z", fill: "url(#paint0_radial_753_38)" }),
|
|
34717
|
+
/* @__PURE__ */ jsx141("path", { d: "M122.536 58.3442H43.434C43.434 38.8671 27.6398 23.0542 8.13706 23.0542H0V58.3442H42.8014C42.8014 77.8213 58.5956 93.6342 78.0984 93.6342H157.811C157.811 74.1571 142.017 58.3442 122.514 58.3442H122.536Z", fill: "url(#paint1_radial_753_38)" }),
|
|
34718
|
+
/* @__PURE__ */ jsx141("path", { d: "M122.536 116.71H43.4122C43.2159 97.4073 27.5089 81.8125 8.13706 81.8125H0V117.103H42.8232C43.0195 136.405 58.7265 152 78.0984 152H157.811C157.811 132.523 142.017 116.71 122.514 116.71H122.536Z", fill: "url(#paint2_radial_753_38)" })
|
|
34056
34719
|
] }),
|
|
34057
|
-
/* @__PURE__ */
|
|
34058
|
-
/* @__PURE__ */
|
|
34059
|
-
/* @__PURE__ */
|
|
34060
|
-
/* @__PURE__ */
|
|
34061
|
-
/* @__PURE__ */
|
|
34720
|
+
/* @__PURE__ */ jsxs128("defs", { children: [
|
|
34721
|
+
/* @__PURE__ */ jsxs128("radialGradient", { id: "paint0_radial_753_38", cx: 0, cy: 0, r: 1, gradientUnits: "userSpaceOnUse", gradientTransform: "translate(155.237 -5.71446) scale(164.617 164.585)", children: [
|
|
34722
|
+
/* @__PURE__ */ jsx141("stop", { stopColor: "#CCFFF8" }),
|
|
34723
|
+
/* @__PURE__ */ jsx141("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34724
|
+
/* @__PURE__ */ jsx141("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34062
34725
|
] }),
|
|
34063
|
-
/* @__PURE__ */
|
|
34064
|
-
/* @__PURE__ */
|
|
34065
|
-
/* @__PURE__ */
|
|
34066
|
-
/* @__PURE__ */
|
|
34726
|
+
/* @__PURE__ */ jsxs128("radialGradient", { id: "paint1_radial_753_38", cx: 0, cy: 0, r: 1, gradientUnits: "userSpaceOnUse", gradientTransform: "translate(145.158 -12.672) scale(185.429 185.392)", children: [
|
|
34727
|
+
/* @__PURE__ */ jsx141("stop", { stopColor: "#CCFFF8" }),
|
|
34728
|
+
/* @__PURE__ */ jsx141("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34729
|
+
/* @__PURE__ */ jsx141("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34067
34730
|
] }),
|
|
34068
|
-
/* @__PURE__ */
|
|
34069
|
-
/* @__PURE__ */
|
|
34070
|
-
/* @__PURE__ */
|
|
34071
|
-
/* @__PURE__ */
|
|
34731
|
+
/* @__PURE__ */ jsxs128("radialGradient", { id: "paint2_radial_753_38", cx: 0, cy: 0, r: 1, gradientUnits: "userSpaceOnUse", gradientTransform: "translate(98.8446 35.3335) scale(138.221 138.194)", children: [
|
|
34732
|
+
/* @__PURE__ */ jsx141("stop", { stopColor: "#CCFFF8" }),
|
|
34733
|
+
/* @__PURE__ */ jsx141("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34734
|
+
/* @__PURE__ */ jsx141("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34072
34735
|
] }),
|
|
34073
|
-
/* @__PURE__ */
|
|
34736
|
+
/* @__PURE__ */ jsx141("clipPath", { id: "clip0_753_38", children: /* @__PURE__ */ jsx141("rect", { width: 873, height: 152, fill: "white" }) })
|
|
34074
34737
|
] })
|
|
34075
34738
|
] });
|
|
34076
34739
|
embark_ai_dark_default = SvgEmbarkAiDark;
|
|
@@ -34079,41 +34742,41 @@ var init_embark_ai_dark = __esm({
|
|
|
34079
34742
|
|
|
34080
34743
|
// src/internal/assets/embark-ai-light.svg
|
|
34081
34744
|
import * as React33 from "react";
|
|
34082
|
-
import { jsx as
|
|
34745
|
+
import { jsx as jsx142, jsxs as jsxs129 } from "react/jsx-runtime";
|
|
34083
34746
|
var SvgEmbarkAiLight, embark_ai_light_default;
|
|
34084
34747
|
var init_embark_ai_light = __esm({
|
|
34085
34748
|
"src/internal/assets/embark-ai-light.svg"() {
|
|
34086
|
-
SvgEmbarkAiLight = (props) => /* @__PURE__ */
|
|
34087
|
-
/* @__PURE__ */
|
|
34088
|
-
/* @__PURE__ */
|
|
34089
|
-
/* @__PURE__ */
|
|
34090
|
-
/* @__PURE__ */
|
|
34091
|
-
/* @__PURE__ */
|
|
34092
|
-
/* @__PURE__ */
|
|
34093
|
-
/* @__PURE__ */
|
|
34094
|
-
/* @__PURE__ */
|
|
34095
|
-
/* @__PURE__ */
|
|
34096
|
-
/* @__PURE__ */
|
|
34097
|
-
/* @__PURE__ */
|
|
34098
|
-
/* @__PURE__ */
|
|
34749
|
+
SvgEmbarkAiLight = (props) => /* @__PURE__ */ jsxs129("svg", { width: 873, height: 152, viewBox: "0 0 873 152", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
34750
|
+
/* @__PURE__ */ jsxs129("g", { clipPath: "url(#clip0_753_38)", children: [
|
|
34751
|
+
/* @__PURE__ */ jsx142("path", { d: "M245.901 51.1463C256.917 51.1463 265.796 54.985 272.537 62.6407C279.278 70.2963 282.288 80.0021 281.59 91.7582H220.901C221.359 98.2796 223.976 103.732 228.71 108.116C233.466 112.5 239.4 114.681 246.533 114.681C251.769 114.681 256.416 113.482 260.451 111.061C264.509 108.662 267.432 105.412 269.243 101.333H280.347C277.991 108.553 273.715 114.289 267.563 118.542C261.411 122.795 254.234 124.933 246.032 124.933C235.233 124.933 226.485 121.377 219.744 114.245C213.003 107.113 209.644 98.3887 209.644 88.0721C209.644 77.7556 213.069 69.0094 219.897 61.8555C226.725 54.7015 235.386 51.1245 245.901 51.1245V51.1463ZM262.197 67.1773C257.725 63.295 252.227 61.3538 245.661 61.3538C239.094 61.3538 233.575 63.3168 229.059 67.2646C224.544 71.1905 221.926 76.207 221.184 82.2704H270.29C269.374 76.1198 266.669 71.1033 262.197 67.1991V67.1773Z", fill: "#2B2959" }),
|
|
34752
|
+
/* @__PURE__ */ jsx142("path", { d: "M379.584 51.2773C387.743 51.2773 394.157 53.9383 398.847 59.2383C403.537 64.5384 405.893 71.5178 405.893 80.1767V123.079H395.204V81.1364C395.204 75.1603 393.611 70.4055 390.448 66.8285C387.285 63.2733 382.944 61.4848 377.425 61.4848C371.905 61.4848 367.019 63.6659 363.288 68.0499C359.558 72.4121 357.704 77.9739 357.704 84.6698V123.057H347.014V81.1146C347.014 75.0512 345.422 70.231 342.258 66.6758C339.095 63.1206 334.798 61.3758 329.366 61.463C323.214 61.5503 318.349 64.1458 314.771 69.2059C311.215 74.266 309.427 80.0895 309.427 86.6764V123.057H298.803V52.9568H309.143V64.9091H309.427C311.695 60.8305 314.728 57.5371 318.524 55.0506C322.319 52.5424 326.704 51.2992 331.656 51.2992C337.066 51.2992 341.8 52.6514 345.814 55.3342C349.85 58.0169 352.861 61.7029 354.846 66.3705H355.129C357.398 61.8338 360.605 58.1914 364.772 55.4432C368.938 52.6951 373.869 51.321 379.562 51.321L379.584 51.2773Z", fill: "#2B2959" }),
|
|
34753
|
+
/* @__PURE__ */ jsx142("path", { d: "M465.362 51.1464C475.68 51.0591 484.232 54.5053 491.016 61.5284C497.801 68.5297 501.182 77.3849 501.182 88.094C501.182 98.8031 497.823 107.506 491.082 114.551C484.341 121.596 475.767 125.063 465.362 124.976C459.384 124.889 454.039 123.558 449.284 120.985C444.528 118.411 440.732 114.965 437.853 110.603H437.569V123.1H426.945V20.6548H437.569V66.065H437.853C440.667 61.5284 444.463 57.9078 449.24 55.2032C454.018 52.4987 459.384 51.1464 465.362 51.1464ZM463.9 114.681C471.775 114.681 478.167 112.13 483.097 107.004C488.028 101.878 490.493 95.5751 490.493 88.094C490.493 80.6129 488.028 74.2659 483.097 69.0967C478.167 63.9276 471.775 61.3539 463.9 61.3539C456.025 61.3539 449.785 63.9276 444.899 69.0967C440.012 74.2659 437.569 80.5911 437.569 88.094C437.569 95.5969 440.012 101.9 444.899 107.004C449.785 112.108 456.112 114.681 463.9 114.681Z", fill: "#2B2959" }),
|
|
34754
|
+
/* @__PURE__ */ jsx142("path", { d: "M577.993 65.52V52.9569H588.486V123.079H577.993V110.036H577.579C571.427 119.895 562.243 124.867 550.07 124.955C539.751 125.042 531.2 121.596 524.415 114.573C517.631 107.55 514.249 98.6943 514.249 87.9852C514.249 77.2761 517.609 68.4208 524.35 61.4632C531.091 54.5055 539.708 51.0594 550.223 51.1466C556.2 51.2339 561.545 52.5643 566.3 55.0944C571.056 57.6463 574.808 61.1142 577.579 65.52H577.993ZM551.684 114.682C559.363 114.682 565.668 112.086 570.598 106.873C575.528 101.661 577.993 95.3573 577.993 87.9634C577.993 80.5695 575.55 74.1571 570.663 69.0534C565.777 63.9496 559.45 61.3759 551.662 61.3759C543.874 61.3759 537.243 63.9278 532.312 69.0534C527.382 74.1789 524.917 80.4823 524.917 87.9634C524.917 95.4445 527.382 101.791 532.312 106.961C537.243 112.13 543.7 114.704 551.662 114.704L551.684 114.682Z", fill: "#2B2959" }),
|
|
34755
|
+
/* @__PURE__ */ jsx142("path", { d: "M646.275 52.9565H658.644V63.6439H645.86C638.443 63.6439 632.575 65.9122 628.255 70.4925C623.936 75.051 621.755 81.4415 621.755 89.6861V123.079H611.131V52.9565H621.471V66.9155H621.885C625.921 57.6023 634.037 52.9565 646.253 52.9565H646.275Z", fill: "#2B2959" }),
|
|
34756
|
+
/* @__PURE__ */ jsx142("path", { d: "M718.069 80.3075H718.898C724.221 80.3075 728.322 81.7034 731.223 84.4734C734.125 87.2434 735.564 91.3002 735.564 96.6221V123.079H724.875V98.0834C724.875 92.936 722.279 90.3842 717.087 90.3842H683.339V123.079H672.715V20.6548H683.339V80.3075H705.983L724.308 52.9567H736.11L718.047 80.3075H718.069Z", fill: "#2B2959" }),
|
|
34757
|
+
/* @__PURE__ */ jsx142("path", { d: "M845.644 123.078H833.427L821.473 95.3787H774.526L762.724 123.078H750.508L792.175 27.8086H803.846L845.644 123.078ZM797.869 40.7206L779.108 84.8004H816.891L797.869 40.7206Z", fill: "#2B2959" }),
|
|
34758
|
+
/* @__PURE__ */ jsx142("path", { d: "M862.114 123.078V27.8086H873.022V123.078H862.114Z", fill: "#2B2959" }),
|
|
34759
|
+
/* @__PURE__ */ jsx142("path", { d: "M78.0984 35.29H157.811C157.811 15.8129 142.017 0 122.514 0H42.8014C42.8014 19.4771 58.5956 35.29 78.0984 35.29Z", fill: "url(#paint0_radial_753_38)" }),
|
|
34760
|
+
/* @__PURE__ */ jsx142("path", { d: "M122.536 58.3442H43.434C43.434 38.8671 27.6398 23.0542 8.13706 23.0542H0V58.3442H42.8014C42.8014 77.8213 58.5956 93.6342 78.0984 93.6342H157.811C157.811 74.1571 142.017 58.3442 122.514 58.3442H122.536Z", fill: "url(#paint1_radial_753_38)" }),
|
|
34761
|
+
/* @__PURE__ */ jsx142("path", { d: "M122.536 116.71H43.4122C43.2159 97.4073 27.5089 81.8125 8.13706 81.8125H0V117.103H42.8232C43.0195 136.405 58.7265 152 78.0984 152H157.811C157.811 132.523 142.017 116.71 122.514 116.71H122.536Z", fill: "url(#paint2_radial_753_38)" })
|
|
34099
34762
|
] }),
|
|
34100
|
-
/* @__PURE__ */
|
|
34101
|
-
/* @__PURE__ */
|
|
34102
|
-
/* @__PURE__ */
|
|
34103
|
-
/* @__PURE__ */
|
|
34104
|
-
/* @__PURE__ */
|
|
34763
|
+
/* @__PURE__ */ jsxs129("defs", { children: [
|
|
34764
|
+
/* @__PURE__ */ jsxs129("radialGradient", { id: "paint0_radial_753_38", cx: 0, cy: 0, r: 1, gradientUnits: "userSpaceOnUse", gradientTransform: "translate(155.237 -5.71446) scale(164.617 164.585)", children: [
|
|
34765
|
+
/* @__PURE__ */ jsx142("stop", { stopColor: "#CCFFF8" }),
|
|
34766
|
+
/* @__PURE__ */ jsx142("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34767
|
+
/* @__PURE__ */ jsx142("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34105
34768
|
] }),
|
|
34106
|
-
/* @__PURE__ */
|
|
34107
|
-
/* @__PURE__ */
|
|
34108
|
-
/* @__PURE__ */
|
|
34109
|
-
/* @__PURE__ */
|
|
34769
|
+
/* @__PURE__ */ jsxs129("radialGradient", { id: "paint1_radial_753_38", cx: 0, cy: 0, r: 1, gradientUnits: "userSpaceOnUse", gradientTransform: "translate(145.158 -12.672) scale(185.429 185.392)", children: [
|
|
34770
|
+
/* @__PURE__ */ jsx142("stop", { stopColor: "#CCFFF8" }),
|
|
34771
|
+
/* @__PURE__ */ jsx142("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34772
|
+
/* @__PURE__ */ jsx142("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34110
34773
|
] }),
|
|
34111
|
-
/* @__PURE__ */
|
|
34112
|
-
/* @__PURE__ */
|
|
34113
|
-
/* @__PURE__ */
|
|
34114
|
-
/* @__PURE__ */
|
|
34774
|
+
/* @__PURE__ */ jsxs129("radialGradient", { id: "paint2_radial_753_38", cx: 0, cy: 0, r: 1, gradientUnits: "userSpaceOnUse", gradientTransform: "translate(98.8446 35.3335) scale(138.221 138.194)", children: [
|
|
34775
|
+
/* @__PURE__ */ jsx142("stop", { stopColor: "#CCFFF8" }),
|
|
34776
|
+
/* @__PURE__ */ jsx142("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34777
|
+
/* @__PURE__ */ jsx142("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34115
34778
|
] }),
|
|
34116
|
-
/* @__PURE__ */
|
|
34779
|
+
/* @__PURE__ */ jsx142("clipPath", { id: "clip0_753_38", children: /* @__PURE__ */ jsx142("rect", { width: 873, height: 152, fill: "white" }) })
|
|
34117
34780
|
] })
|
|
34118
34781
|
] });
|
|
34119
34782
|
embark_ai_light_default = SvgEmbarkAiLight;
|
|
@@ -34126,7 +34789,7 @@ var init_package = __esm({
|
|
|
34126
34789
|
"package.json"() {
|
|
34127
34790
|
package_default = {
|
|
34128
34791
|
name: "@embarkai/ui-kit",
|
|
34129
|
-
version: "0.6.
|
|
34792
|
+
version: "0.6.12",
|
|
34130
34793
|
description: "React UI components and hooks for embarkAI authentication and Account Abstraction",
|
|
34131
34794
|
type: "module",
|
|
34132
34795
|
main: "./dist/index.cjs",
|
|
@@ -34232,7 +34895,7 @@ var init_package = __esm({
|
|
|
34232
34895
|
// src/internal/components/Footer/Footer.tsx
|
|
34233
34896
|
import { useMutation as useMutation23, useQueryClient as useQueryClient31 } from "@tanstack/react-query";
|
|
34234
34897
|
import { Loader as Loader32, LogOut } from "lucide-react";
|
|
34235
|
-
import { jsx as
|
|
34898
|
+
import { jsx as jsx143, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
34236
34899
|
function Footer() {
|
|
34237
34900
|
const qc = useQueryClient31();
|
|
34238
34901
|
const { callbacksRef, config } = useProviderConfig();
|
|
@@ -34288,16 +34951,16 @@ function Footer() {
|
|
|
34288
34951
|
useLayoutStore.getState().setIsDialogForced(false);
|
|
34289
34952
|
}
|
|
34290
34953
|
});
|
|
34291
|
-
const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */
|
|
34954
|
+
const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */ jsx143("div", { className: "flex-none w-4 h-4 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ jsx143("span", { className: "text-[var(--ui-kit-fg-inverted)] text-xs font-bold", children: chainConfig.name.charAt(0) }) }));
|
|
34292
34955
|
const EmbarkAiLogo = EMBARKAI_LOGOS[colorMode];
|
|
34293
|
-
return /* @__PURE__ */
|
|
34956
|
+
return /* @__PURE__ */ jsxs130(
|
|
34294
34957
|
"div",
|
|
34295
34958
|
{
|
|
34296
34959
|
style: { borderTop: "1px solid var(--ui-kit-bd)" },
|
|
34297
34960
|
className: "relative w-full flex flex-col items-center p-[var(--ui-kit-pd)] pb-5",
|
|
34298
34961
|
children: [
|
|
34299
|
-
/* @__PURE__ */
|
|
34300
|
-
/* @__PURE__ */
|
|
34962
|
+
/* @__PURE__ */ jsxs130("div", { className: cn2("w-full flex justify-between", !!address ? "justify-between" : "justify-center"), children: [
|
|
34963
|
+
/* @__PURE__ */ jsxs130(
|
|
34301
34964
|
Button,
|
|
34302
34965
|
{
|
|
34303
34966
|
ref: (inst) => onboarder.registerElement(FOOTER_ONBOARDING_CHAIN_BUTTON, inst),
|
|
@@ -34313,12 +34976,12 @@ function Footer() {
|
|
|
34313
34976
|
useLayoutDataStore.getState().setPage("chain" /* CHAIN */);
|
|
34314
34977
|
},
|
|
34315
34978
|
children: [
|
|
34316
|
-
/* @__PURE__ */
|
|
34317
|
-
/* @__PURE__ */
|
|
34979
|
+
/* @__PURE__ */ jsx143(ChainIcon, { className: "flex-none w-6 h-6" }),
|
|
34980
|
+
/* @__PURE__ */ jsx143("span", { className: "text-xs font-bold", children: chainConfig.name || "embarkAI Wallet" })
|
|
34318
34981
|
]
|
|
34319
34982
|
}
|
|
34320
34983
|
),
|
|
34321
|
-
!!address ? /* @__PURE__ */
|
|
34984
|
+
!!address ? /* @__PURE__ */ jsxs130(
|
|
34322
34985
|
Button,
|
|
34323
34986
|
{
|
|
34324
34987
|
ref: (inst) => onboarder.registerElement(FOOTER_ONBOARDING_LOGOUT_BUTTON, inst),
|
|
@@ -34328,13 +34991,13 @@ function Footer() {
|
|
|
34328
34991
|
onClick: () => disconnect(address),
|
|
34329
34992
|
disabled: isDisconnecting || isDialogForced,
|
|
34330
34993
|
children: [
|
|
34331
|
-
/* @__PURE__ */
|
|
34332
|
-
isDisconnecting ? /* @__PURE__ */
|
|
34994
|
+
/* @__PURE__ */ jsx143("span", { children: t("passport:auth.logout") }),
|
|
34995
|
+
isDisconnecting ? /* @__PURE__ */ jsx143(Loader32, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx143(LogOut, { className: "w-4 h-4" })
|
|
34333
34996
|
]
|
|
34334
34997
|
}
|
|
34335
34998
|
) : null
|
|
34336
34999
|
] }),
|
|
34337
|
-
/* @__PURE__ */
|
|
35000
|
+
/* @__PURE__ */ jsxs130(
|
|
34338
35001
|
"div",
|
|
34339
35002
|
{
|
|
34340
35003
|
className: cn2(
|
|
@@ -34344,8 +35007,8 @@ function Footer() {
|
|
|
34344
35007
|
// 'text-[var(--ui-kit-fg-muted)]'
|
|
34345
35008
|
),
|
|
34346
35009
|
children: [
|
|
34347
|
-
/* @__PURE__ */
|
|
34348
|
-
/* @__PURE__ */
|
|
35010
|
+
/* @__PURE__ */ jsx143(EmbarkAiLogo, { className: "h-2.5 w-auto" }),
|
|
35011
|
+
/* @__PURE__ */ jsx143("span", { className: "block font-mono text-[8px] leading-3 ", children: `${package_default.version}` })
|
|
34349
35012
|
]
|
|
34350
35013
|
}
|
|
34351
35014
|
)
|
|
@@ -34419,7 +35082,7 @@ var init_onborading_setup = __esm({
|
|
|
34419
35082
|
init_SendMenu2();
|
|
34420
35083
|
init_SettingsMenu2();
|
|
34421
35084
|
init_TransactionsMenu2();
|
|
34422
|
-
|
|
35085
|
+
init_UserSecurityActivityMenu2();
|
|
34423
35086
|
EMBARKAI_HEADER_ONBOARDING_ID = "embark-header-user-section";
|
|
34424
35087
|
EMBARKAI_HEADER_TOUR_BUTTON_ID = "embark-header-tour-button-section";
|
|
34425
35088
|
ONBOARDING_TOURS = {
|
|
@@ -34437,7 +35100,7 @@ var init_onborading_setup = __esm({
|
|
|
34437
35100
|
...MAIN_MENU_TOUR,
|
|
34438
35101
|
...FOOTER_TOUR
|
|
34439
35102
|
],
|
|
34440
|
-
["user-activity" /*
|
|
35103
|
+
["user-security-activity" /* USER_SECURITY_ACTIVITY */]: () => USER_SECURITY_ACTIVITY_MENU_TOUR,
|
|
34441
35104
|
["settings" /* SETTINGS */]: () => SETTINGS_MENU_TOUR,
|
|
34442
35105
|
["buy" /* BUY */]: () => BUY_MENU_BINANCE_TOUR,
|
|
34443
35106
|
["send" /* SEND */]: () => {
|
|
@@ -34466,8 +35129,8 @@ var init_onborading_setup = __esm({
|
|
|
34466
35129
|
|
|
34467
35130
|
// src/internal/components/Header/Header.tsx
|
|
34468
35131
|
import { CircleQuestionMarkIcon, Copy as Copy4, Loader as Loader33 } from "lucide-react";
|
|
34469
|
-
import { useCallback as useCallback34, useRef as
|
|
34470
|
-
import { Fragment as Fragment47, jsx as
|
|
35132
|
+
import { useCallback as useCallback34, useRef as useRef28, useState as useState39 } from "react";
|
|
35133
|
+
import { Fragment as Fragment47, jsx as jsx144, jsxs as jsxs131 } from "react/jsx-runtime";
|
|
34471
35134
|
function formatAddress3(addr) {
|
|
34472
35135
|
if (!addr) return "";
|
|
34473
35136
|
return `${addr.slice(0, 10)}...${addr.slice(-4)}`;
|
|
@@ -34479,10 +35142,10 @@ function Header() {
|
|
|
34479
35142
|
const embarkPage = useLayoutDataStore((st) => st.page);
|
|
34480
35143
|
const isOnboardingTourAvailable = useOnboardingStore((st) => st.isTourAvailable);
|
|
34481
35144
|
const proMode = useProMode();
|
|
34482
|
-
const [proToast, setProToast] =
|
|
34483
|
-
const [copied, setCopied] =
|
|
34484
|
-
const clickCountRef =
|
|
34485
|
-
const clickTimerRef =
|
|
35145
|
+
const [proToast, setProToast] = useState39(false);
|
|
35146
|
+
const [copied, setCopied] = useState39(false);
|
|
35147
|
+
const clickCountRef = useRef28(0);
|
|
35148
|
+
const clickTimerRef = useRef28(null);
|
|
34486
35149
|
const handleAvatarClick = useCallback34(() => {
|
|
34487
35150
|
clickCountRef.current += 1;
|
|
34488
35151
|
if (clickTimerRef.current) {
|
|
@@ -34505,34 +35168,34 @@ function Header() {
|
|
|
34505
35168
|
const avatar = profile?.avatar || null;
|
|
34506
35169
|
const displayName = profile?.nicknameDisplay || profile?.displayName;
|
|
34507
35170
|
const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || null;
|
|
34508
|
-
return /* @__PURE__ */
|
|
35171
|
+
return /* @__PURE__ */ jsxs131(
|
|
34509
35172
|
"div",
|
|
34510
35173
|
{
|
|
34511
35174
|
ref: (inst) => onboarder.registerElement(EMBARKAI_HEADER_ONBOARDING_ID, inst),
|
|
34512
35175
|
style: { borderBottom: "1px solid var(--ui-kit-bd)" },
|
|
34513
35176
|
className: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)] pt-5",
|
|
34514
35177
|
children: [
|
|
34515
|
-
/* @__PURE__ */
|
|
34516
|
-
/* @__PURE__ */
|
|
35178
|
+
/* @__PURE__ */ jsxs131("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
35179
|
+
/* @__PURE__ */ jsxs131(
|
|
34517
35180
|
"div",
|
|
34518
35181
|
{
|
|
34519
35182
|
className: "relative flex-none w-12 h-12 flex items-center justify-center cursor-pointer select-none",
|
|
34520
35183
|
onClick: handleAvatarClick,
|
|
34521
35184
|
children: [
|
|
34522
|
-
proMode && /* @__PURE__ */
|
|
34523
|
-
avatar ? /* @__PURE__ */
|
|
35185
|
+
proMode && /* @__PURE__ */ jsx144("span", { className: "absolute -top-1 -right-1 text-[8px] font-bold px-1 rounded bg-[var(--ui-kit-primary)] text-[var(--ui-kit-fg-inverted)] leading-3", children: "PRO" }),
|
|
35186
|
+
avatar ? /* @__PURE__ */ jsx144("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ jsx144(lumia_default2, { className: "w-12 h-12" })
|
|
34524
35187
|
]
|
|
34525
35188
|
}
|
|
34526
35189
|
),
|
|
34527
|
-
/* @__PURE__ */
|
|
35190
|
+
/* @__PURE__ */ jsxs131(
|
|
34528
35191
|
"div",
|
|
34529
35192
|
{
|
|
34530
35193
|
style: { width: "calc(100% - 48px - var(--ui-kit-gap))" },
|
|
34531
35194
|
className: "flex-1 flex flex-col justify-center gap-1",
|
|
34532
35195
|
children: [
|
|
34533
|
-
isProfileLoading && /* @__PURE__ */
|
|
34534
|
-
!!address && !isProfileLoading && !!profile && /* @__PURE__ */
|
|
34535
|
-
/* @__PURE__ */
|
|
35196
|
+
isProfileLoading && /* @__PURE__ */ jsx144(Loader33, { className: "w-4 h-4 animate-spin" }),
|
|
35197
|
+
!!address && !isProfileLoading && !!profile && /* @__PURE__ */ jsxs131(Fragment47, { children: [
|
|
35198
|
+
/* @__PURE__ */ jsx144("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx144(
|
|
34536
35199
|
"span",
|
|
34537
35200
|
{
|
|
34538
35201
|
className: cn2(
|
|
@@ -34542,19 +35205,19 @@ function Header() {
|
|
|
34542
35205
|
children: displayName || config.current?.ui?.title || "embarkAI"
|
|
34543
35206
|
}
|
|
34544
35207
|
) }),
|
|
34545
|
-
/* @__PURE__ */
|
|
35208
|
+
/* @__PURE__ */ jsx144(BalanceView, {})
|
|
34546
35209
|
] })
|
|
34547
35210
|
]
|
|
34548
35211
|
}
|
|
34549
35212
|
)
|
|
34550
35213
|
] }),
|
|
34551
|
-
!!address && /* @__PURE__ */
|
|
34552
|
-
/* @__PURE__ */
|
|
34553
|
-
!!ChainIcon ? /* @__PURE__ */
|
|
34554
|
-
/* @__PURE__ */
|
|
35214
|
+
!!address && /* @__PURE__ */ jsxs131("div", { className: "w-full flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
35215
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex items-center w-fit text-[10px] px-2 leading-6 text-[var(--ui-kit-fg)] gap-2", children: [
|
|
35216
|
+
!!ChainIcon ? /* @__PURE__ */ jsx144(ChainIcon, { className: "flex-none w-6 h-6" }) : /* @__PURE__ */ jsx144("div", { className: "flex-none w-6 h-6 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ jsx144("span", { className: "text-[var(--ui-kit-fg-inverted)] text-sm font-bold", children: chainConfig.name.charAt(0) }) }),
|
|
35217
|
+
/* @__PURE__ */ jsx144("span", { className: cn2("transition-colors", copied && "text-[var(--ui-kit-bg-success)]"), children: formatAddress3(address) })
|
|
34555
35218
|
] }),
|
|
34556
|
-
/* @__PURE__ */
|
|
34557
|
-
/* @__PURE__ */
|
|
35219
|
+
/* @__PURE__ */ jsxs131("div", { className: "w-fit flex items-center", children: [
|
|
35220
|
+
/* @__PURE__ */ jsx144(
|
|
34558
35221
|
Button,
|
|
34559
35222
|
{
|
|
34560
35223
|
size: "small",
|
|
@@ -34565,10 +35228,10 @@ function Header() {
|
|
|
34565
35228
|
setCopied(true);
|
|
34566
35229
|
setTimeout(() => setCopied(false), 1500);
|
|
34567
35230
|
},
|
|
34568
|
-
children: copied ? /* @__PURE__ */
|
|
35231
|
+
children: copied ? /* @__PURE__ */ jsx144(PositiveIcon, {}) : /* @__PURE__ */ jsx144(Copy4, { className: "w-4 h-4" })
|
|
34569
35232
|
}
|
|
34570
35233
|
),
|
|
34571
|
-
!!isOnboardingTourAvailable && ONBOARDING_TOURS[embarkPage] && /* @__PURE__ */
|
|
35234
|
+
!!isOnboardingTourAvailable && ONBOARDING_TOURS[embarkPage] && /* @__PURE__ */ jsx144(
|
|
34572
35235
|
Button,
|
|
34573
35236
|
{
|
|
34574
35237
|
ref: (inst) => onboarder.registerElement(EMBARKAI_HEADER_TOUR_BUTTON_ID, inst),
|
|
@@ -34576,12 +35239,12 @@ function Header() {
|
|
|
34576
35239
|
variant: "ghost",
|
|
34577
35240
|
className: "text-[10px] px-2",
|
|
34578
35241
|
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]({ config: config.current })),
|
|
34579
|
-
children: /* @__PURE__ */
|
|
35242
|
+
children: /* @__PURE__ */ jsx144(CircleQuestionMarkIcon, { className: "w-4 h-4" })
|
|
34580
35243
|
}
|
|
34581
35244
|
)
|
|
34582
35245
|
] })
|
|
34583
35246
|
] }),
|
|
34584
|
-
proToast && /* @__PURE__ */
|
|
35247
|
+
proToast && /* @__PURE__ */ jsx144("div", { className: "text-xs text-center text-[var(--ui-kit-primary)] font-medium animate-pulse", children: "Pro Mode activated" })
|
|
34585
35248
|
]
|
|
34586
35249
|
}
|
|
34587
35250
|
);
|
|
@@ -34617,7 +35280,7 @@ import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
|
34617
35280
|
import { merge as merge2 } from "lodash-es";
|
|
34618
35281
|
import { ArrowLeft as ArrowLeft25, SlidersHorizontal, X } from "lucide-react";
|
|
34619
35282
|
import { forwardRef as forwardRef7 } from "react";
|
|
34620
|
-
import { Fragment as Fragment48, jsx as
|
|
35283
|
+
import { Fragment as Fragment48, jsx as jsx145, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
34621
35284
|
function useDecideContentStyles() {
|
|
34622
35285
|
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
34623
35286
|
const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogAnimating);
|
|
@@ -34640,7 +35303,7 @@ var init_dialog = __esm({
|
|
|
34640
35303
|
Dialog = DialogPrimitive.Root;
|
|
34641
35304
|
DialogPortal = DialogPrimitive.Portal;
|
|
34642
35305
|
DialogOverlay = forwardRef7(
|
|
34643
|
-
({ className, closing, ...props }, ref) => /* @__PURE__ */
|
|
35306
|
+
({ className, closing, ...props }, ref) => /* @__PURE__ */ jsx145(
|
|
34644
35307
|
DialogPrimitive.Overlay,
|
|
34645
35308
|
{
|
|
34646
35309
|
ref,
|
|
@@ -34672,7 +35335,7 @@ var init_dialog = __esm({
|
|
|
34672
35335
|
const { isMobileView, isClosing, style } = useDecideContentStyles();
|
|
34673
35336
|
const animationCnPrefix = isMobileView ? "animate-mobile-dialog" : "animate-dialog";
|
|
34674
35337
|
const dialogAnimationCn = isClosing ? `${animationCnPrefix}-out` : `${animationCnPrefix}-in`;
|
|
34675
|
-
return /* @__PURE__ */
|
|
35338
|
+
return /* @__PURE__ */ jsx145(DialogPortal, { children: /* @__PURE__ */ jsxs132(
|
|
34676
35339
|
"div",
|
|
34677
35340
|
{
|
|
34678
35341
|
"data-purpose": "embarkai-ui-container",
|
|
@@ -34680,8 +35343,8 @@ var init_dialog = __esm({
|
|
|
34680
35343
|
"data-current-theme-mode": colorMode,
|
|
34681
35344
|
style: { ...style, outline: "none" },
|
|
34682
35345
|
children: [
|
|
34683
|
-
/* @__PURE__ */
|
|
34684
|
-
/* @__PURE__ */
|
|
35346
|
+
/* @__PURE__ */ jsx145(DialogOverlay, { closing: isClosing }),
|
|
35347
|
+
/* @__PURE__ */ jsx145(
|
|
34685
35348
|
"div",
|
|
34686
35349
|
{
|
|
34687
35350
|
className: cn2(
|
|
@@ -34693,7 +35356,7 @@ var init_dialog = __esm({
|
|
|
34693
35356
|
// allows to embuff embark content menu via --ui-kit-content-maw
|
|
34694
35357
|
isMobileView ? "items-end w-dvw h-dvh" : "items-center w-[var(--ui-kit-content-maw,var(--ui-kit-maw))] mx-auto"
|
|
34695
35358
|
),
|
|
34696
|
-
children: /* @__PURE__ */
|
|
35359
|
+
children: /* @__PURE__ */ jsxs132(
|
|
34697
35360
|
DialogPrimitive.Content,
|
|
34698
35361
|
{
|
|
34699
35362
|
ref,
|
|
@@ -34710,7 +35373,7 @@ var init_dialog = __esm({
|
|
|
34710
35373
|
...props,
|
|
34711
35374
|
children: [
|
|
34712
35375
|
children,
|
|
34713
|
-
!isDialogForced && /* @__PURE__ */
|
|
35376
|
+
!isDialogForced && /* @__PURE__ */ jsxs132(
|
|
34714
35377
|
"div",
|
|
34715
35378
|
{
|
|
34716
35379
|
className: cn2(
|
|
@@ -34718,7 +35381,7 @@ var init_dialog = __esm({
|
|
|
34718
35381
|
"absolute right-[var(--ui-kit-pd)] top-[var(--ui-kit-pd)]"
|
|
34719
35382
|
),
|
|
34720
35383
|
children: [
|
|
34721
|
-
!isSessionLoading && /* @__PURE__ */
|
|
35384
|
+
!isSessionLoading && /* @__PURE__ */ jsxs132(
|
|
34722
35385
|
Button,
|
|
34723
35386
|
{
|
|
34724
35387
|
variant: "ghost",
|
|
@@ -34726,12 +35389,12 @@ var init_dialog = __esm({
|
|
|
34726
35389
|
className: "relative w-4 h-4",
|
|
34727
35390
|
onClick: () => setPage("languages" /* LANGUAGES */),
|
|
34728
35391
|
children: [
|
|
34729
|
-
/* @__PURE__ */
|
|
34730
|
-
/* @__PURE__ */
|
|
35392
|
+
/* @__PURE__ */ jsx145("span", { className: "sr-only", children: t("passport:common.language") }),
|
|
35393
|
+
/* @__PURE__ */ jsx145("span", { className: "w-4 h-4 leading-4 block text-[10px] font-bold", children: getLanguageIcon(i18n.resolvedLanguage) || i18n.resolvedLanguage?.toUpperCase() })
|
|
34731
35394
|
]
|
|
34732
35395
|
}
|
|
34733
35396
|
),
|
|
34734
|
-
isSettings && /* @__PURE__ */
|
|
35397
|
+
isSettings && /* @__PURE__ */ jsxs132(
|
|
34735
35398
|
Button,
|
|
34736
35399
|
{
|
|
34737
35400
|
variant: "ghost",
|
|
@@ -34739,10 +35402,10 @@ var init_dialog = __esm({
|
|
|
34739
35402
|
className: "relative w-4 h-4",
|
|
34740
35403
|
onClick: () => setPage("settings" /* SETTINGS */),
|
|
34741
35404
|
children: [
|
|
34742
|
-
/* @__PURE__ */
|
|
34743
|
-
/* @__PURE__ */
|
|
34744
|
-
!!settingsNotifications.length && /* @__PURE__ */
|
|
34745
|
-
/* @__PURE__ */
|
|
35405
|
+
/* @__PURE__ */ jsx145("span", { className: "sr-only", children: t("passport:common.settings") }),
|
|
35406
|
+
/* @__PURE__ */ jsx145(SlidersHorizontal, { className: "w-4 h-4" }),
|
|
35407
|
+
!!settingsNotifications.length && /* @__PURE__ */ jsxs132(Fragment48, { children: [
|
|
35408
|
+
/* @__PURE__ */ jsx145(
|
|
34746
35409
|
"div",
|
|
34747
35410
|
{
|
|
34748
35411
|
className: cn2(
|
|
@@ -34751,7 +35414,7 @@ var init_dialog = __esm({
|
|
|
34751
35414
|
)
|
|
34752
35415
|
}
|
|
34753
35416
|
),
|
|
34754
|
-
/* @__PURE__ */
|
|
35417
|
+
/* @__PURE__ */ jsx145(
|
|
34755
35418
|
"div",
|
|
34756
35419
|
{
|
|
34757
35420
|
className: cn2(
|
|
@@ -34764,9 +35427,9 @@ var init_dialog = __esm({
|
|
|
34764
35427
|
]
|
|
34765
35428
|
}
|
|
34766
35429
|
),
|
|
34767
|
-
/* @__PURE__ */
|
|
34768
|
-
/* @__PURE__ */
|
|
34769
|
-
/* @__PURE__ */
|
|
35430
|
+
/* @__PURE__ */ jsx145(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsxs132(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
|
|
35431
|
+
/* @__PURE__ */ jsx145(X, { className: "h-4 w-4" }),
|
|
35432
|
+
/* @__PURE__ */ jsx145("span", { className: "sr-only", children: t("passport:common.close") })
|
|
34770
35433
|
] }) })
|
|
34771
35434
|
]
|
|
34772
35435
|
}
|
|
@@ -34782,11 +35445,11 @@ var init_dialog = __esm({
|
|
|
34782
35445
|
}
|
|
34783
35446
|
);
|
|
34784
35447
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
34785
|
-
DialogHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
35448
|
+
DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx145("div", { className: cn2("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
|
|
34786
35449
|
DialogHeader.displayName = "DialogHeader";
|
|
34787
|
-
DialogFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
35450
|
+
DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx145("div", { className: cn2("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
34788
35451
|
DialogFooter.displayName = "DialogFooter";
|
|
34789
|
-
DialogTitle = forwardRef7(({ className, ...props }, ref) => /* @__PURE__ */
|
|
35452
|
+
DialogTitle = forwardRef7(({ className, ...props }, ref) => /* @__PURE__ */ jsx145(
|
|
34790
35453
|
DialogPrimitive.Title,
|
|
34791
35454
|
{
|
|
34792
35455
|
ref,
|
|
@@ -34795,24 +35458,24 @@ var init_dialog = __esm({
|
|
|
34795
35458
|
}
|
|
34796
35459
|
));
|
|
34797
35460
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
34798
|
-
DialogDescription = forwardRef7(({ className, ...props }, ref) => /* @__PURE__ */
|
|
35461
|
+
DialogDescription = forwardRef7(({ className, ...props }, ref) => /* @__PURE__ */ jsx145(DialogPrimitive.Description, { ref, className: cn2("text-sm text-muted-foreground", className), ...props }));
|
|
34799
35462
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
34800
35463
|
}
|
|
34801
35464
|
});
|
|
34802
35465
|
|
|
34803
35466
|
// src/internal/components/ui/visually-hidden.tsx
|
|
34804
|
-
import { jsx as
|
|
35467
|
+
import { jsx as jsx146 } from "react/jsx-runtime";
|
|
34805
35468
|
var VisuallyHidden;
|
|
34806
35469
|
var init_visually_hidden = __esm({
|
|
34807
35470
|
"src/internal/components/ui/visually-hidden.tsx"() {
|
|
34808
|
-
VisuallyHidden = ({ children }) => /* @__PURE__ */
|
|
35471
|
+
VisuallyHidden = ({ children }) => /* @__PURE__ */ jsx146("span", { className: "sr-only absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children });
|
|
34809
35472
|
}
|
|
34810
35473
|
});
|
|
34811
35474
|
|
|
34812
35475
|
// src/internal/components/Dialog/Dialog.tsx
|
|
34813
35476
|
import { AnimatePresence, motion } from "motion/react";
|
|
34814
|
-
import { useEffect as
|
|
34815
|
-
import { jsx as
|
|
35477
|
+
import { useEffect as useEffect60 } from "react";
|
|
35478
|
+
import { jsx as jsx147, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
34816
35479
|
function Dialog2() {
|
|
34817
35480
|
const config = useProviderConfig().config;
|
|
34818
35481
|
const className = config.current?.ui?.dialogClassName;
|
|
@@ -34820,7 +35483,7 @@ function Dialog2() {
|
|
|
34820
35483
|
const { colorMode, maxScrollHeight, isDialogOpen, dialogContent, isDialogForced, isBackupRequired } = useLayoutStore();
|
|
34821
35484
|
const page = useLayoutDataStore((st) => st.page);
|
|
34822
35485
|
const transitionPageHeight = useLayoutDataStore((st) => st.transitionPageHeight);
|
|
34823
|
-
|
|
35486
|
+
useEffect60(() => useLayoutStore.setState({ isSettings: !!session }), [session]);
|
|
34824
35487
|
usePageMapper();
|
|
34825
35488
|
useAutoConnect();
|
|
34826
35489
|
useBackupStatusChanges();
|
|
@@ -34829,7 +35492,7 @@ function Dialog2() {
|
|
|
34829
35492
|
useListenIframeAuthEvents();
|
|
34830
35493
|
useAllowExternalModalsScroll(isDialogOpen);
|
|
34831
35494
|
const isHeaderHidden = !session || isBackupRequired;
|
|
34832
|
-
return /* @__PURE__ */
|
|
35495
|
+
return /* @__PURE__ */ jsx147(
|
|
34833
35496
|
Dialog,
|
|
34834
35497
|
{
|
|
34835
35498
|
open: isDialogOpen,
|
|
@@ -34841,17 +35504,17 @@ function Dialog2() {
|
|
|
34841
35504
|
setPage(null);
|
|
34842
35505
|
}
|
|
34843
35506
|
},
|
|
34844
|
-
children: /* @__PURE__ */
|
|
35507
|
+
children: /* @__PURE__ */ jsxs133(
|
|
34845
35508
|
DialogContent,
|
|
34846
35509
|
{
|
|
34847
35510
|
ref: (inst) => onboarder.registerElement(EMBARKAI_DIALOG_ONBOARDING_ID, inst),
|
|
34848
35511
|
colorMode,
|
|
34849
35512
|
className,
|
|
34850
35513
|
children: [
|
|
34851
|
-
/* @__PURE__ */
|
|
34852
|
-
/* @__PURE__ */
|
|
34853
|
-
!isHeaderHidden && /* @__PURE__ */
|
|
34854
|
-
/* @__PURE__ */
|
|
35514
|
+
/* @__PURE__ */ jsx147(VisuallyHidden, { children: /* @__PURE__ */ jsx147(DialogTitle, { children: "embarkAI" }) }),
|
|
35515
|
+
/* @__PURE__ */ jsx147(DialogDescription, { className: "sr-only", children: "embarkAI wallet" }),
|
|
35516
|
+
!isHeaderHidden && /* @__PURE__ */ jsx147(Header, {}),
|
|
35517
|
+
/* @__PURE__ */ jsx147(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx147(
|
|
34855
35518
|
motion.div,
|
|
34856
35519
|
{
|
|
34857
35520
|
style: { overflow: "hidden" },
|
|
@@ -34859,7 +35522,7 @@ function Dialog2() {
|
|
|
34859
35522
|
animate: { opacity: 1, height: "auto" },
|
|
34860
35523
|
exit: { opacity: 0, height: transitionPageHeight },
|
|
34861
35524
|
transition: Y_ANIMATION_SETUP,
|
|
34862
|
-
children: /* @__PURE__ */
|
|
35525
|
+
children: /* @__PURE__ */ jsx147(
|
|
34863
35526
|
"div",
|
|
34864
35527
|
{
|
|
34865
35528
|
ref: (inst) => onboarder.registerElement(`${EMBARKAI_DIALOG_ONBOARDING_ID}-${page}`, inst),
|
|
@@ -34874,7 +35537,7 @@ function Dialog2() {
|
|
|
34874
35537
|
},
|
|
34875
35538
|
page || "empty"
|
|
34876
35539
|
) }),
|
|
34877
|
-
/* @__PURE__ */
|
|
35540
|
+
/* @__PURE__ */ jsx147(Footer, {})
|
|
34878
35541
|
]
|
|
34879
35542
|
}
|
|
34880
35543
|
)
|
|
@@ -34911,7 +35574,7 @@ var init_Dialog2 = __esm({
|
|
|
34911
35574
|
});
|
|
34912
35575
|
|
|
34913
35576
|
// src/internal/components/DirectWalletHandler.tsx
|
|
34914
|
-
import { useEffect as
|
|
35577
|
+
import { useEffect as useEffect61 } from "react";
|
|
34915
35578
|
import { useConnection } from "wagmi";
|
|
34916
35579
|
function DirectWalletHandler() {
|
|
34917
35580
|
const walletMode = useProviderConfig().config.current?.wallet?.mode || "both";
|
|
@@ -34920,12 +35583,12 @@ function DirectWalletHandler() {
|
|
|
34920
35583
|
const externalConnectorName = useExternalWalletStore((st) => st.connectorName);
|
|
34921
35584
|
const isExternalConnected = useExternalWalletStore((st) => st.isExternalConnected);
|
|
34922
35585
|
const { address, isConnected, chainId, connector } = useConnection();
|
|
34923
|
-
|
|
35586
|
+
useEffect61(() => {
|
|
34924
35587
|
const { setConfigMode, setActiveMode } = useExternalWalletStore.getState();
|
|
34925
35588
|
setConfigMode(walletMode);
|
|
34926
35589
|
if (walletMode !== "both") setActiveMode(walletMode);
|
|
34927
35590
|
}, [walletMode]);
|
|
34928
|
-
|
|
35591
|
+
useEffect61(() => {
|
|
34929
35592
|
if ((!!externalAddress || isExternalConnected) && !isConnected) {
|
|
34930
35593
|
useExternalWalletStore.getState().clearExternalWallet();
|
|
34931
35594
|
return;
|
|
@@ -35027,7 +35690,7 @@ import {
|
|
|
35027
35690
|
import { Fragment as Fragment49 } from "react";
|
|
35028
35691
|
import { create as create20 } from "zustand";
|
|
35029
35692
|
import { persist as persist4 } from "zustand/middleware";
|
|
35030
|
-
import { jsx as
|
|
35693
|
+
import { jsx as jsx148, jsxs as jsxs134 } from "react/jsx-runtime";
|
|
35031
35694
|
function getChainParams(chainCfg) {
|
|
35032
35695
|
return {
|
|
35033
35696
|
activeChainId: chainCfg.id,
|
|
@@ -35045,23 +35708,23 @@ function waitForStoreHydration() {
|
|
|
35045
35708
|
}
|
|
35046
35709
|
function SessionProvider({ children }) {
|
|
35047
35710
|
const config = useProviderConfig().config;
|
|
35048
|
-
return /* @__PURE__ */
|
|
35711
|
+
return /* @__PURE__ */ jsxs134(Fragment49, {
|
|
35049
35712
|
/** dApp's router might have its own error boundaries setup via imported @embarkai/ui-kitErrorBoundary */
|
|
35050
35713
|
children: [
|
|
35051
35714
|
children,
|
|
35052
|
-
/* @__PURE__ */
|
|
35053
|
-
config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */
|
|
35054
|
-
/* @__PURE__ */
|
|
35055
|
-
/* @__PURE__ */
|
|
35056
|
-
/* @__PURE__ */
|
|
35715
|
+
/* @__PURE__ */ jsxs134(ErrorBoundary, { children: [
|
|
35716
|
+
config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ jsx148(DirectWalletHandler, {}),
|
|
35717
|
+
/* @__PURE__ */ jsx148(BalanceFeedProvider, {}),
|
|
35718
|
+
/* @__PURE__ */ jsx148(ChainSync, {}),
|
|
35719
|
+
/* @__PURE__ */ jsx148(
|
|
35057
35720
|
TssManagerWithRef,
|
|
35058
35721
|
{
|
|
35059
35722
|
mpcPin: void 0
|
|
35060
35723
|
}
|
|
35061
35724
|
),
|
|
35062
|
-
/* @__PURE__ */
|
|
35063
|
-
/* @__PURE__ */
|
|
35064
|
-
/* @__PURE__ */
|
|
35725
|
+
/* @__PURE__ */ jsx148(KeyshareReshareCheck, {}),
|
|
35726
|
+
/* @__PURE__ */ jsx148(Dialog2, {}),
|
|
35727
|
+
/* @__PURE__ */ jsx148(OnboardingOverlay, {})
|
|
35065
35728
|
] })
|
|
35066
35729
|
]
|
|
35067
35730
|
});
|
|
@@ -35248,6 +35911,7 @@ var init_iframe_manager = __esm({
|
|
|
35248
35911
|
// 5 minutes (for user interactions like consent)
|
|
35249
35912
|
ENSURE_BACKUP_TIMEOUT = 15e3;
|
|
35250
35913
|
// silent backup, no user interaction
|
|
35914
|
+
READY_TIMEOUT = 15e3;
|
|
35251
35915
|
NONCE_EXPIRY = 3e5;
|
|
35252
35916
|
// 5 minutes
|
|
35253
35917
|
HEARTBEAT_INTERVAL = 5 * 60 * 1e3;
|
|
@@ -35327,8 +35991,12 @@ var init_iframe_manager = __esm({
|
|
|
35327
35991
|
this.messageListener = this.handleMessage.bind(this);
|
|
35328
35992
|
window.addEventListener("message", this.messageListener);
|
|
35329
35993
|
document.body.appendChild(this.iframe);
|
|
35330
|
-
|
|
35331
|
-
|
|
35994
|
+
try {
|
|
35995
|
+
await this.withinReadyTimeout(this.readyPromise.then(() => this.authenticateSDK()));
|
|
35996
|
+
} catch (error) {
|
|
35997
|
+
this.destroy();
|
|
35998
|
+
throw error;
|
|
35999
|
+
}
|
|
35332
36000
|
setDappSessionRecovery(async (userId) => {
|
|
35333
36001
|
const pair = await this.getDappTokens();
|
|
35334
36002
|
return pair && pair.userId === userId ? pair : null;
|
|
@@ -35344,6 +36012,18 @@ var init_iframe_manager = __esm({
|
|
|
35344
36012
|
setOnWalletReady(callback) {
|
|
35345
36013
|
this.onWalletReadyCallback = callback;
|
|
35346
36014
|
}
|
|
36015
|
+
withinReadyTimeout(handshake) {
|
|
36016
|
+
handshake.catch(() => {
|
|
36017
|
+
});
|
|
36018
|
+
let timer;
|
|
36019
|
+
const timeout = new Promise((_, reject) => {
|
|
36020
|
+
timer = setTimeout(
|
|
36021
|
+
() => reject(new Error(`Iframe did not become ready in ${this.READY_TIMEOUT} ms: ${this.iframeUrl}`)),
|
|
36022
|
+
this.READY_TIMEOUT
|
|
36023
|
+
);
|
|
36024
|
+
});
|
|
36025
|
+
return Promise.race([handshake, timeout]).finally(() => clearTimeout(timer));
|
|
36026
|
+
}
|
|
35347
36027
|
/**
|
|
35348
36028
|
* Authenticate SDK with iframe to establish secure channel
|
|
35349
36029
|
*/
|
|
@@ -36650,7 +37330,7 @@ function notifyNoProjetctId(projectId) {
|
|
|
36650
37330
|
'\n\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n\u2551 \u26A0\uFE0F embarkAI WARNING \u26A0\uFE0F \u2551\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563\n\u2551 \u2551\n\u2551 projectId is NOT configured! \u2551\n\u2551 \u2551\n\u2551 Your integration will NOT work without a valid projectId. \u2551\n\u2551 Most features will be disabled and errors will occur. \u2551\n\u2551 \u2551\n\u2551 To fix this: \u2551\n\u2551 1. Get your projectId from: https://dashboard.embarkai.io/ \u2551\n\u2551 2. Add it to your Provider: \u2551\n\u2551 \u2551\n\u2551 <Provider projectId="your-project-id"> \u2551\n\u2551 {children} \u2551\n\u2551 </Provider> \u2551\n\u2551 \u2551\n\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D\n'
|
|
36651
37331
|
);
|
|
36652
37332
|
}
|
|
36653
|
-
var
|
|
37333
|
+
var init_utils14 = __esm({
|
|
36654
37334
|
"src/context/utils.ts"() {
|
|
36655
37335
|
}
|
|
36656
37336
|
});
|
|
@@ -36664,12 +37344,12 @@ import {
|
|
|
36664
37344
|
createContext,
|
|
36665
37345
|
useCallback as useCallback36,
|
|
36666
37346
|
useContext,
|
|
36667
|
-
useEffect as
|
|
36668
|
-
useMemo as
|
|
36669
|
-
useRef as
|
|
37347
|
+
useEffect as useEffect62,
|
|
37348
|
+
useMemo as useMemo22,
|
|
37349
|
+
useRef as useRef29
|
|
36670
37350
|
} from "react";
|
|
36671
37351
|
import { WagmiProvider } from "wagmi";
|
|
36672
|
-
import { jsx as
|
|
37352
|
+
import { jsx as jsx149 } from "react/jsx-runtime";
|
|
36673
37353
|
function clearLegacyWagmiStorage() {
|
|
36674
37354
|
if (typeof window === "undefined" || !window.localStorage) return;
|
|
36675
37355
|
const legacyKeys = [
|
|
@@ -36688,16 +37368,16 @@ function clearLegacyWagmiStorage() {
|
|
|
36688
37368
|
function Provider2(props) {
|
|
36689
37369
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
36690
37370
|
const queryClient = useQueryClient32();
|
|
36691
|
-
const callbacksRef =
|
|
36692
|
-
|
|
36693
|
-
const config =
|
|
37371
|
+
const callbacksRef = useRef29(callbacks);
|
|
37372
|
+
useEffect62(() => notifyNoProjetctId(projectId), [projectId]);
|
|
37373
|
+
const config = useRef29(
|
|
36694
37374
|
(() => {
|
|
36695
37375
|
const merged = merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig);
|
|
36696
37376
|
merged.services = resolveServices(merged.services);
|
|
36697
37377
|
return merged;
|
|
36698
37378
|
})()
|
|
36699
37379
|
);
|
|
36700
|
-
const wagmiConfig3 =
|
|
37380
|
+
const wagmiConfig3 = useRef29(getWagmiConfig(config.current?.wallet?.walletConnectId || null));
|
|
36701
37381
|
const updateConfig = useCallback36((updates) => {
|
|
36702
37382
|
const prev = config.current;
|
|
36703
37383
|
const next = { ...prev };
|
|
@@ -36732,7 +37412,7 @@ function Provider2(props) {
|
|
|
36732
37412
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
36733
37413
|
callbacksRef.current = next;
|
|
36734
37414
|
}, []);
|
|
36735
|
-
|
|
37415
|
+
useEffect62(() => {
|
|
36736
37416
|
if (typeof window === "undefined" || !projectId) return;
|
|
36737
37417
|
const mergedConfig = merge3(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
36738
37418
|
mergedConfig.services = resolveServices(mergedConfig.services);
|
|
@@ -36753,7 +37433,7 @@ function Provider2(props) {
|
|
|
36753
37433
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
36754
37434
|
}
|
|
36755
37435
|
}, [projectId, initialConfig]);
|
|
36756
|
-
|
|
37436
|
+
useEffect62(() => {
|
|
36757
37437
|
if (typeof window === "undefined" || !projectId) return;
|
|
36758
37438
|
try {
|
|
36759
37439
|
initSdkErrorTracking();
|
|
@@ -36782,7 +37462,7 @@ function Provider2(props) {
|
|
|
36782
37462
|
console.error("[PROVIDER] Error setting up iframe manager:", error);
|
|
36783
37463
|
}
|
|
36784
37464
|
}, [projectId]);
|
|
36785
|
-
|
|
37465
|
+
useEffect62(() => {
|
|
36786
37466
|
if (!projectId) return;
|
|
36787
37467
|
try {
|
|
36788
37468
|
getIframeManager().setQueryClient(queryClient);
|
|
@@ -36791,7 +37471,7 @@ function Provider2(props) {
|
|
|
36791
37471
|
console.warn("[PROVIDER] No iframe manager available yet to set query client");
|
|
36792
37472
|
}
|
|
36793
37473
|
}, [queryClient, projectId]);
|
|
36794
|
-
const contextValue =
|
|
37474
|
+
const contextValue = useMemo22(
|
|
36795
37475
|
() => ({
|
|
36796
37476
|
config,
|
|
36797
37477
|
updateConfig,
|
|
@@ -36802,7 +37482,7 @@ function Provider2(props) {
|
|
|
36802
37482
|
}),
|
|
36803
37483
|
[config, updateConfig, callbacks, updateCallbacks]
|
|
36804
37484
|
);
|
|
36805
|
-
return /* @__PURE__ */
|
|
37485
|
+
return /* @__PURE__ */ jsx149(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx149(WagmiProvider, { config: wagmiConfig3.current, children: /* @__PURE__ */ jsx149(SessionProvider, { children }) }) });
|
|
36806
37486
|
}
|
|
36807
37487
|
var UIContext, useProviderConfig;
|
|
36808
37488
|
var init_ProviderContext = __esm({
|
|
@@ -36810,7 +37490,7 @@ var init_ProviderContext = __esm({
|
|
|
36810
37490
|
init_initial();
|
|
36811
37491
|
init_iframe_manager();
|
|
36812
37492
|
init_SessionContext();
|
|
36813
|
-
|
|
37493
|
+
init_utils14();
|
|
36814
37494
|
UIContext = createContext(void 0);
|
|
36815
37495
|
useProviderConfig = () => {
|
|
36816
37496
|
const ctx = useContext(UIContext);
|
|
@@ -36822,7 +37502,7 @@ var init_ProviderContext = __esm({
|
|
|
36822
37502
|
|
|
36823
37503
|
// src/styles/built.css
|
|
36824
37504
|
var built_default = `/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
36825
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .collapse{visibility:collapse}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .sticky{position:sticky}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .top-\\(--ui-kit-pd\\){top:var(--ui-kit-pd)}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1{top:.25rem}.embarkai-ui-scope .top-1\\.5{top:.375rem}.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 .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .right-\\(--ui-kit-pd\\){right:var(--ui-kit-pd)}.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 .bottom-0{bottom:0}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\.5{left:.375rem}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .z-1{z-index:1}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-12{z-index:12}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-100{z-index:100}.embarkai-ui-scope .z-9998{z-index:9998}.embarkai-ui-scope .z-9999{z-index:9999}.embarkai-ui-scope .float-right{float:right}.embarkai-ui-scope .container{width:100%}@media (min-width:40rem){.embarkai-ui-scope .container{max-width:40rem}}@media (min-width:48rem){.embarkai-ui-scope .container{max-width:48rem}}@media (min-width:64rem){.embarkai-ui-scope .container{max-width:64rem}}@media (min-width:80rem){.embarkai-ui-scope .container{max-width:80rem}}@media (min-width:96rem){.embarkai-ui-scope .container{max-width:96rem}}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-inline:-.25rem}.embarkai-ui-scope .mx-auto{margin-inline:auto}.embarkai-ui-scope .my-1{margin-block:.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 .mr-1{margin-right:.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 .block{display:block}.embarkai-ui-scope .contents{display:contents}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline-flex{display:inline-flex}.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-2{height:.5rem}.embarkai-ui-scope .h-2\\.5{height:.625rem}.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-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-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-48{height:12rem}.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-dvh{height:100dvh}.embarkai-ui-scope .h-fit{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 .max-h-\\[var\\(--radix-select-content-available-height\\)\\]{max-height:var(--radix-select-content-available-height)}.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-2{width:.5rem}.embarkai-ui-scope .w-2\\.5{width:.625rem}.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-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-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-28{width:7rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-55{width:13.75rem}.embarkai-ui-scope .w-\\[30dvw\\]{width:30dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[60dvw\\]{width:60dvw}.embarkai-ui-scope .w-\\[var\\(--ui-kit-content-maw\\,var\\(--ui-kit-maw\\)\\)\\]{width:var(--ui-kit-content-maw,var(--ui-kit-maw))}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-auto{width:auto}.embarkai-ui-scope .w-dvw{width:100dvw}.embarkai-ui-scope .w-fit{width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-max{width:max-content}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .max-w-7xl{max-width:80rem}.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-\\[420px\\]{max-width:420px}.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 .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-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .flex-0{flex:0}.embarkai-ui-scope .flex-1{flex:1}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink{flex-shrink:1}.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .origin-\\[var\\(--radix-select-content-transform-origin\\)\\]{transform-origin:var(--radix-select-content-transform-origin)}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:calc(calc(1 / 3 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .rotate-180{rotate:180deg}.embarkai-ui-scope .rotate-360{rotate:360deg}.embarkai-ui-scope .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.embarkai-ui-scope .animate-glow-error{animation:2s infinite glow-error}.embarkai-ui-scope .animate-glow-warning{animation:2s infinite glow-warning}.embarkai-ui-scope .animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}.embarkai-ui-scope .animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.embarkai-ui-scope .animate-spin{animation:1s linear infinite spin}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-not-allowed{cursor:not-allowed}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-block:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.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 .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-center{align-items:center}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .gap-\\(--ui-kit-gap\\){gap:var(--ui-kit-gap)}.embarkai-ui-scope .gap-\\(--ui-kt-gap\\){gap:var(--ui-kt-gap)}.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)}:where(.embarkai-ui-scope .space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.embarkai-ui-scope .space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem * var(--tw-space-y-reverse));margin-block-end:calc(.25rem * calc(1 - var(--tw-space-y-reverse)))}:where(.embarkai-ui-scope .space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.embarkai-ui-scope .space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.embarkai-ui-scope .space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(.25rem * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\(--ui-kit-el-bdrs\\){border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.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:3.40282e38px}.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-style:var(--tw-border-style);border-width:1px}.embarkai-ui-scope .border-0{border-style:var(--tw-border-style);border-width:0}.embarkai-ui-scope .border-2{border-style:var(--tw-border-style);border-width:2px}.embarkai-ui-scope .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.embarkai-ui-scope .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.embarkai-ui-scope .border-dashed{--tw-border-style:dashed;border-style:dashed}.embarkai-ui-scope .border-\\(--ui-kit-bd\\){border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\(--ui-kit-fg-muted\\){border-color:var(--ui-kit-fg-muted)}.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:#0000}.embarkai-ui-scope .border-t-transparent{border-top-color:#0000}.embarkai-ui-scope .bg-\\(--ui-kit-bg\\){background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\(--ui-kit-bg-success\\){background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\(--ui-kit-bg-warning\\){background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\(--ui-kit-secondary\\){background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{background-color:#f3ba2f}.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-blue-100{background-color:oklch(93.2% .032 255.585)}.embarkai-ui-scope .bg-gray-100{background-color:oklch(96.7% .003 264.542)}.embarkai-ui-scope .bg-green-100{background-color:oklch(96.2% .044 156.743)}.embarkai-ui-scope .bg-red-100{background-color:oklch(93.6% .032 17.717)}.embarkai-ui-scope .bg-transparent{background-color:#0000}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{object-fit:contain}.embarkai-ui-scope .object-cover{object-fit:cover}.embarkai-ui-scope .p-\\(--ui-kit-pd\\){padding:var(--ui-kit-pd)}.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-2\\!{padding:.5rem!important}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.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-\\(--ui-kit-gap\\){padding-inline:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\(--ui-kit-pd\\){padding-inline:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-inline:0}.embarkai-ui-scope .px-1{padding-inline:.25rem}.embarkai-ui-scope .px-2{padding-inline:.5rem}.embarkai-ui-scope .px-3{padding-inline:.75rem}.embarkai-ui-scope .px-4{padding-inline:1rem}.embarkai-ui-scope .px-5{padding-inline:1.25rem}.embarkai-ui-scope .px-8{padding-inline:2rem}.embarkai-ui-scope .px-10{padding-inline:2.5rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-inline:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-inline:var(--ui-kit-pd)}.embarkai-ui-scope .py-\\(--ui-kit-pd\\){padding-block:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-block:0}.embarkai-ui-scope .py-1{padding-block:.25rem}.embarkai-ui-scope .py-1\\.5{padding-block:.375rem}.embarkai-ui-scope .py-2{padding-block:.5rem}.embarkai-ui-scope .py-3{padding-block:.75rem}.embarkai-ui-scope .py-4{padding-block:1rem}.embarkai-ui-scope .py-8{padding-block:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-block:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-block:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-block:var(--ui-kit-pd)}.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 .pr-8{padding-right:2rem}.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 .text-center{text-align:center}.embarkai-ui-scope .text-left{text-align:left}.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-mono\\!{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.embarkai-ui-scope .font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Arial,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:var(--tw-leading,calc(2 / 1.5))}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75 / 1.125))}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25 / .875))}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:var(--tw-leading,calc(1.75 / 1.25))}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1 / .75))}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.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 .leading-3{--tw-leading:calc(.25rem * 3);line-height:.75rem}.embarkai-ui-scope .leading-4{--tw-leading:calc(.25rem * 4);line-height:1rem}.embarkai-ui-scope .leading-5{--tw-leading:calc(.25rem * 5);line-height:1.25rem}.embarkai-ui-scope .leading-6{--tw-leading:calc(.25rem * 6);line-height:1.5rem}.embarkai-ui-scope .leading-7{--tw-leading:calc(.25rem * 7);line-height:1.75rem}.embarkai-ui-scope .leading-8{--tw-leading:calc(.25rem * 8);line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{--tw-leading:8px;line-height:8px}.embarkai-ui-scope .leading-none{--tw-leading:1;line-height:1}.embarkai-ui-scope .leading-tight{--tw-leading:1.25;line-height:1.25}.embarkai-ui-scope .font-bold{--tw-font-weight:700;font-weight:700}.embarkai-ui-scope .font-light{--tw-font-weight:300;font-weight:300}.embarkai-ui-scope .font-medium{--tw-font-weight:500;font-weight:500}.embarkai-ui-scope .font-normal{--tw-font-weight:400;font-weight:400}.embarkai-ui-scope .font-semibold{--tw-font-weight:600;font-weight:600}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{--tw-tracking:.3em;letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{--tw-tracking:-.025em;letter-spacing:-.025em}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .wrap-break-word{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.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 .text-\\(--ui-kit-bg-success\\){color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\(--ui-kit-bg-warning\\){color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\(--ui-kit-fg\\){color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\(--ui-kit-fg-muted\\){color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\(--ui-kit-success\\){color:var(--ui-kit-success)}.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{color:#000}.embarkai-ui-scope .text-blue-600{color:oklch(54.6% .245 262.881)}.embarkai-ui-scope .text-blue-800{color:oklch(42.4% .199 265.638)}.embarkai-ui-scope .text-gray-400{color:oklch(70.7% .022 261.325)}.embarkai-ui-scope .text-gray-500{color:oklch(55.1% .027 264.364)}.embarkai-ui-scope .text-gray-600{color:oklch(44.6% .03 256.802)}.embarkai-ui-scope .text-green-500{color:oklch(72.3% .219 149.579)}.embarkai-ui-scope .text-green-600{color:oklch(62.7% .194 149.214)}.embarkai-ui-scope .text-green-800{color:oklch(44.8% .119 151.328)}.embarkai-ui-scope .text-red-600{color:oklch(57.7% .245 27.325)}.embarkai-ui-scope .text-red-800{color:oklch(44.4% .177 26.899)}.embarkai-ui-scope .text-sky-500{color:oklch(68.5% .169 237.323)}.embarkai-ui-scope .text-white{color:#fff}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .line-through{text-decoration-line:line-through}.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 .opacity-0{opacity:0}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--ui-kit-bd));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-fg\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--ui-kit-fg));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .ring-\\(--ui-kit-bg-success\\)\\/50{--tw-ring-color:var(--ui-kit-bg-success)}@supports (color:color-mix(in lab, red, red)){.embarkai-ui-scope .ring-\\(--ui-kit-bg-success\\)\\/50{--tw-ring-color:color-mix(in oklab, var(--ui-kit-bg-success) 50%, transparent)}}.embarkai-ui-scope .ring-offset-0{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.embarkai-ui-scope .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.embarkai-ui-scope .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.embarkai-ui-scope .outline{outline-style:var(--tw-outline-style);outline-width:1px}.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 .backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .duration-125{--tw-duration:.125s;transition-duration:.125s}.embarkai-ui-scope .duration-200{--tw-duration:.2s;transition-duration:.2s}.embarkai-ui-scope .duration-375{--tw-duration:.375s;transition-duration:.375s}.embarkai-ui-scope .duration-500{--tw-duration:.5s;transition-duration:.5s}.embarkai-ui-scope .ease-in-out{--tw-ease:cubic-bezier(.4, 0, .2, 1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope .select-all{-webkit-user-select:all;user-select:all}.embarkai-ui-scope .select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.embarkai-ui-scope .group-hover\\:opacity-80:is(:where(.group):hover *){opacity:.8}.embarkai-ui-scope .group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.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-style:var(--tw-border-style);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\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-inline:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.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\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:border-\\[var\\(--ui-kit-bd\\)\\]:focus-within{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .focus-within\\:opacity-100:focus-within{opacity:1}@media (hover:hover){.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{background-color:#f0f6f8}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{background-color:#f3ba2f}.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-gray-50:hover{background-color:oklch(98.5% .002 247.839)}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{color:oklch(44.6% .03 256.802)}.embarkai-ui-scope .hover\\:text-gray-700:hover{color:oklch(37.3% .034 259.733)}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .file\\:hover\\:opacity-90::file-selector-button:hover{opacity:.9}.embarkai-ui-scope .focus-within\\:hover\\:opacity-100:focus-within:hover{opacity:1}}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:#0000}.embarkai-ui-scope .focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.embarkai-ui-scope .focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.embarkai-ui-scope .focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.embarkai-ui-scope .focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{background-color:#f3ba2f}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80::file-selector-button:active{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}@media (hover:hover){.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:disabled:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:disabled:hover{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:disabled:hover{opacity:.5}}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:disabled:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:disabled:active{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:disabled:active{opacity:.5}.embarkai-ui-scope .aria-invalid\\:border-\\[var\\(--ui-kit-error\\)\\][aria-invalid=true]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .aria-invalid\\:ring-\\[var\\(--ui-kit-error\\)\\][aria-invalid=true]{--tw-ring-color:var(--ui-kit-error)}.embarkai-ui-scope .data-disabled\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-disabled\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(.25rem * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(.25rem * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.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}:is(.embarkai-ui-scope .data-\\[slot\\=select-value\\]\\:\\*\\:line-clamp-1[data-slot=select-value]>*){-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.embarkai-ui-scope .data-\\[slot\\=select-value\\]\\:\\*\\:flex[data-slot=select-value]>*){display:flex}:is(.embarkai-ui-scope .data-\\[slot\\=select-value\\]\\:\\*\\:items-center[data-slot=select-value]>*){align-items:center}:is(.embarkai-ui-scope .data-\\[slot\\=select-value\\]\\:\\*\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}.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)}@media (min-width:40rem){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}:where(.embarkai-ui-scope .sm\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(.25rem * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:48rem){.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-block:.25rem}.embarkai-ui-scope .md\\:text-3xl{font-size:1.875rem;line-height:var(--tw-leading,calc(2.25 / 1.875))}}.embarkai-ui-scope .\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.embarkai-ui-scope .\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.embarkai-ui-scope .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}:is(.embarkai-ui-scope .last\\:\\[span\\]\\:\\*\\:flex:last-child:is(span)>*){display:flex}:is(.embarkai-ui-scope .last\\:\\[span\\]\\:\\*\\:items-center:last-child:is(span)>*){align-items:center}:is(.embarkai-ui-scope .\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:.5rem}:root{--w3m-z-index:10001!important}.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,#fffc);--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,#0009);--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--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,transparent);--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,#f4f4f4);--ui-kit-success:var(--embark-ui-success,var(--ui-kit-fg));--ui-kit-bg-success:var(--embark-ui-bg-success,#0de4b3);--ui-kit-warning:var(--embark-ui-warning,var(--ui-kit-fg));--ui-kit-bg-warning:var(--embark-ui-bg-warning,#f0b100);--ui-kit-error:var(--embark-ui-error,var(--ui-kit-fg-inverted));--ui-kit-bg-error:var(--embark-ui-bg-error,#fb2c36)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,#000c);--ui-kit-bg:var(--embark-ui-bg,#040404);--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,#fff9);--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-secondary:var(--embark-ui-secondary,#111);--ui-kit-bd:var(--embark-ui-bd,#343434);--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,transparent);--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,#111);--ui-kit-success:var(--embark-ui-success,var(--ui-kit-fg-inverted));--ui-kit-bg-success:var(--embark-ui-bg-success,#0de4b3);--ui-kit-warning:var(--embark-ui-warning,var(--ui-kit-fg-inverted));--ui-kit-bg-warning:var(--embark-ui-bg-warning,#f0b100);--ui-kit-error:var(--embark-ui-error,var(--ui-kit-fg));--ui-kit-bg-error:var(--embark-ui-bg-error,#fb2c36)}.embarkai-ui-scope,.embarkai-ui-scope *{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;margin:0}.embarkai-ui-scope p,.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 button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{margin:0;font-family:var(--ui-kit-ff)!important}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{-webkit-appearance:none;-moz-appearance:none;border-style:solid;appearance:none!important;outline:none!important}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0px 4px 20px var(--ui-kit-shadow-c), inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s}.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:.375s lumia-mobile-dialog-fade-in}.embarkai-ui-scope .animate-mobile-dialog-out{animation:.375s forwards lumia-mobile-dialog-fade-out}@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:.375s lumia-dialog-fade-in}.embarkai-ui-scope .animate-dialog-out{animation:.375s forwards lumia-dialog-fade-out}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0px);max-height:var(--ui-kit-scrollbar-mah,300px);overflow:hidden auto}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;background-color:var(--ui-kit-bd);border-radius:2px;width:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{background-color:#0000;margin-top:10px;margin-bottom:10px}.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(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.embarkai-ui-scope .button-shine-outline{-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;width:100%;height:100%;padding:1px;position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.embarkai-ui-scope .button-shine-outline-shiner{pointer-events:none;background:conic-gradient(from 0deg, transparent 0%, var(--ui-kit-fg) 8%, transparent 24%);width:500px;height:500px;animation:3s linear infinite rotateShine;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes glow-warning{0%,to{box-shadow:inset 0 0 16px var(--ui-kit-bg-warning)}50%{box-shadow:inset 0 0 4px var(--ui-kit-bg-warning)}}@keyframes glow-error{0%,to{box-shadow:inset 0 0 16px var(--ui-kit-bg-error)}50%{box-shadow:inset 0 0 4px var(--ui-kit-bg-error)}}`;
|
|
37505
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .collapse{visibility:collapse}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .sticky{position:sticky}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .top-\\(--ui-kit-pd\\){top:var(--ui-kit-pd)}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1{top:.25rem}.embarkai-ui-scope .top-1\\.5{top:.375rem}.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 .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .right-\\(--ui-kit-pd\\){right:var(--ui-kit-pd)}.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 .bottom-0{bottom:0}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\.5{left:.375rem}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .z-1{z-index:1}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-12{z-index:12}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-100{z-index:100}.embarkai-ui-scope .z-9998{z-index:9998}.embarkai-ui-scope .z-9999{z-index:9999}.embarkai-ui-scope .float-right{float:right}.embarkai-ui-scope .container{width:100%}@media (min-width:40rem){.embarkai-ui-scope .container{max-width:40rem}}@media (min-width:48rem){.embarkai-ui-scope .container{max-width:48rem}}@media (min-width:64rem){.embarkai-ui-scope .container{max-width:64rem}}@media (min-width:80rem){.embarkai-ui-scope .container{max-width:80rem}}@media (min-width:96rem){.embarkai-ui-scope .container{max-width:96rem}}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-inline:-.25rem}.embarkai-ui-scope .mx-auto{margin-inline:auto}.embarkai-ui-scope .my-1{margin-block:.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 .mr-1{margin-right:.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 .block{display:block}.embarkai-ui-scope .contents{display:contents}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline-flex{display:inline-flex}.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-2{height:.5rem}.embarkai-ui-scope .h-2\\.5{height:.625rem}.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-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-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.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-dvh{height:100dvh}.embarkai-ui-scope .h-fit{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 .max-h-\\[var\\(--radix-select-content-available-height\\)\\]{max-height:var(--radix-select-content-available-height)}.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-2{width:.5rem}.embarkai-ui-scope .w-2\\.5{width:.625rem}.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-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-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-28{width:7rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-55{width:13.75rem}.embarkai-ui-scope .w-\\[30dvw\\]{width:30dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[60dvw\\]{width:60dvw}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[var\\(--ui-kit-content-maw\\,var\\(--ui-kit-maw\\)\\)\\]{width:var(--ui-kit-content-maw,var(--ui-kit-maw))}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-auto{width:auto}.embarkai-ui-scope .w-dvw{width:100dvw}.embarkai-ui-scope .w-fit{width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-max{width:max-content}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .max-w-7xl{max-width:80rem}.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-\\[420px\\]{max-width:420px}.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 .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-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .flex-0{flex:0}.embarkai-ui-scope .flex-1{flex:1}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink{flex-shrink:1}.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .origin-\\[var\\(--radix-select-content-transform-origin\\)\\]{transform-origin:var(--radix-select-content-transform-origin)}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:calc(calc(1 / 3 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .rotate-180{rotate:180deg}.embarkai-ui-scope .rotate-360{rotate:360deg}.embarkai-ui-scope .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.embarkai-ui-scope .animate-glow-error{animation:2s infinite glow-error}.embarkai-ui-scope .animate-glow-warning{animation:2s infinite glow-warning}.embarkai-ui-scope .animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}.embarkai-ui-scope .animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.embarkai-ui-scope .animate-spin{animation:1s linear infinite spin}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-not-allowed{cursor:not-allowed}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-block:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.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 .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-center{align-items:center}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .gap-\\(--ui-kit-gap\\){gap:var(--ui-kit-gap)}.embarkai-ui-scope .gap-\\(--ui-kt-gap\\){gap:var(--ui-kt-gap)}.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)}:where(.embarkai-ui-scope .space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.embarkai-ui-scope .space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem * var(--tw-space-y-reverse));margin-block-end:calc(.25rem * calc(1 - var(--tw-space-y-reverse)))}:where(.embarkai-ui-scope .space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.embarkai-ui-scope .space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.embarkai-ui-scope .space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(.25rem * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\(--ui-kit-el-bdrs\\){border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.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:3.40282e38px}.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-style:var(--tw-border-style);border-width:1px}.embarkai-ui-scope .border-0{border-style:var(--tw-border-style);border-width:0}.embarkai-ui-scope .border-2{border-style:var(--tw-border-style);border-width:2px}.embarkai-ui-scope .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.embarkai-ui-scope .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.embarkai-ui-scope .border-dashed{--tw-border-style:dashed;border-style:dashed}.embarkai-ui-scope .border-\\(--ui-kit-bd\\){border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\(--ui-kit-fg-muted\\){border-color:var(--ui-kit-fg-muted)}.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:#0000}.embarkai-ui-scope .border-t-transparent{border-top-color:#0000}.embarkai-ui-scope .bg-\\(--ui-kit-bd\\){background-color:var(--ui-kit-bd)}.embarkai-ui-scope .bg-\\(--ui-kit-bg\\){background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\(--ui-kit-bg-success\\){background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\(--ui-kit-bg-warning\\){background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\(--ui-kit-primary\\){background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\(--ui-kit-secondary\\){background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{background-color:#f3ba2f}.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-blue-100{background-color:oklch(93.2% .032 255.585)}.embarkai-ui-scope .bg-gray-100{background-color:oklch(96.7% .003 264.542)}.embarkai-ui-scope .bg-green-100{background-color:oklch(96.2% .044 156.743)}.embarkai-ui-scope .bg-red-100{background-color:oklch(93.6% .032 17.717)}.embarkai-ui-scope .bg-transparent{background-color:#0000}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{object-fit:contain}.embarkai-ui-scope .object-cover{object-fit:cover}.embarkai-ui-scope .p-\\(--ui-kit-pd\\){padding:var(--ui-kit-pd)}.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-2\\!{padding:.5rem!important}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.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-\\(--ui-kit-gap\\){padding-inline:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\(--ui-kit-pd\\){padding-inline:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-inline:0}.embarkai-ui-scope .px-1{padding-inline:.25rem}.embarkai-ui-scope .px-2{padding-inline:.5rem}.embarkai-ui-scope .px-3{padding-inline:.75rem}.embarkai-ui-scope .px-4{padding-inline:1rem}.embarkai-ui-scope .px-5{padding-inline:1.25rem}.embarkai-ui-scope .px-8{padding-inline:2rem}.embarkai-ui-scope .px-10{padding-inline:2.5rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-inline:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-inline:var(--ui-kit-pd)}.embarkai-ui-scope .py-\\(--ui-kit-pd\\){padding-block:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-block:0}.embarkai-ui-scope .py-1{padding-block:.25rem}.embarkai-ui-scope .py-1\\.5{padding-block:.375rem}.embarkai-ui-scope .py-2{padding-block:.5rem}.embarkai-ui-scope .py-3{padding-block:.75rem}.embarkai-ui-scope .py-4{padding-block:1rem}.embarkai-ui-scope .py-8{padding-block:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-block:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-block:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-block:var(--ui-kit-pd)}.embarkai-ui-scope .pt-1{padding-top:.25rem}.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 .pr-8{padding-right:2rem}.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-2{padding-left:.5rem}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-left{text-align:left}.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-mono\\!{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.embarkai-ui-scope .font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Arial,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:var(--tw-leading,calc(2 / 1.5))}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75 / 1.125))}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25 / .875))}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:var(--tw-leading,calc(1.75 / 1.25))}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1 / .75))}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.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 .leading-3{--tw-leading:calc(.25rem * 3);line-height:.75rem}.embarkai-ui-scope .leading-4{--tw-leading:calc(.25rem * 4);line-height:1rem}.embarkai-ui-scope .leading-5{--tw-leading:calc(.25rem * 5);line-height:1.25rem}.embarkai-ui-scope .leading-6{--tw-leading:calc(.25rem * 6);line-height:1.5rem}.embarkai-ui-scope .leading-7{--tw-leading:calc(.25rem * 7);line-height:1.75rem}.embarkai-ui-scope .leading-8{--tw-leading:calc(.25rem * 8);line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{--tw-leading:8px;line-height:8px}.embarkai-ui-scope .leading-none{--tw-leading:1;line-height:1}.embarkai-ui-scope .leading-tight{--tw-leading:1.25;line-height:1.25}.embarkai-ui-scope .font-bold{--tw-font-weight:700;font-weight:700}.embarkai-ui-scope .font-light{--tw-font-weight:300;font-weight:300}.embarkai-ui-scope .font-medium{--tw-font-weight:500;font-weight:500}.embarkai-ui-scope .font-normal{--tw-font-weight:400;font-weight:400}.embarkai-ui-scope .font-semibold{--tw-font-weight:600;font-weight:600}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{--tw-tracking:.3em;letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{--tw-tracking:-.025em;letter-spacing:-.025em}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .wrap-break-word{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.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 .text-\\(--ui-kit-bg-success\\){color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\(--ui-kit-bg-warning\\){color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\(--ui-kit-fg\\){color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\(--ui-kit-fg-inverted\\){color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\(--ui-kit-fg-muted\\){color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\(--ui-kit-fg-muted\\)\\!{color:var(--ui-kit-fg-muted)!important}.embarkai-ui-scope .text-\\(--ui-kit-success\\){color:var(--ui-kit-success)}.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{color:#000}.embarkai-ui-scope .text-blue-600{color:oklch(54.6% .245 262.881)}.embarkai-ui-scope .text-blue-800{color:oklch(42.4% .199 265.638)}.embarkai-ui-scope .text-gray-400{color:oklch(70.7% .022 261.325)}.embarkai-ui-scope .text-gray-500{color:oklch(55.1% .027 264.364)}.embarkai-ui-scope .text-gray-600{color:oklch(44.6% .03 256.802)}.embarkai-ui-scope .text-green-500{color:oklch(72.3% .219 149.579)}.embarkai-ui-scope .text-green-600{color:oklch(62.7% .194 149.214)}.embarkai-ui-scope .text-green-800{color:oklch(44.8% .119 151.328)}.embarkai-ui-scope .text-red-600{color:oklch(57.7% .245 27.325)}.embarkai-ui-scope .text-red-800{color:oklch(44.4% .177 26.899)}.embarkai-ui-scope .text-sky-500{color:oklch(68.5% .169 237.323)}.embarkai-ui-scope .text-white{color:#fff}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .line-through{text-decoration-line:line-through}.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 .opacity-0{opacity:0}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--ui-kit-bd));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-fg\\)\\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--ui-kit-fg));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .ring-\\(--ui-kit-bg-success\\)\\/50{--tw-ring-color:var(--ui-kit-bg-success)}@supports (color:color-mix(in lab, red, red)){.embarkai-ui-scope .ring-\\(--ui-kit-bg-success\\)\\/50{--tw-ring-color:color-mix(in oklab, var(--ui-kit-bg-success) 50%, transparent)}}.embarkai-ui-scope .ring-offset-0{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.embarkai-ui-scope .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.embarkai-ui-scope .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.embarkai-ui-scope .outline{outline-style:var(--tw-outline-style);outline-width:1px}.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 .backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .duration-125{--tw-duration:.125s;transition-duration:.125s}.embarkai-ui-scope .duration-200{--tw-duration:.2s;transition-duration:.2s}.embarkai-ui-scope .duration-375{--tw-duration:.375s;transition-duration:.375s}.embarkai-ui-scope .duration-500{--tw-duration:.5s;transition-duration:.5s}.embarkai-ui-scope .ease-in-out{--tw-ease:cubic-bezier(.4, 0, .2, 1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope .select-all{-webkit-user-select:all;user-select:all}.embarkai-ui-scope .select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.embarkai-ui-scope .group-hover\\:opacity-80:is(:where(.group):hover *){opacity:.8}.embarkai-ui-scope .group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.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-style:var(--tw-border-style);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\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-inline:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.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\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:border-\\[var\\(--ui-kit-bd\\)\\]:focus-within{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .focus-within\\:opacity-100:focus-within{opacity:1}@media (hover:hover){.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{background-color:#f0f6f8}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{background-color:#f3ba2f}.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-gray-50:hover{background-color:oklch(98.5% .002 247.839)}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{color:oklch(44.6% .03 256.802)}.embarkai-ui-scope .hover\\:text-gray-700:hover{color:oklch(37.3% .034 259.733)}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .file\\:hover\\:opacity-90::file-selector-button:hover{opacity:.9}.embarkai-ui-scope .focus-within\\:hover\\:opacity-100:focus-within:hover{opacity:1}}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:#0000}.embarkai-ui-scope .focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.embarkai-ui-scope .focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.embarkai-ui-scope .focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.embarkai-ui-scope .focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.embarkai-ui-scope .focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{background-color:#f3ba2f}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80::file-selector-button:active{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}@media (hover:hover){.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:disabled:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:disabled:hover{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:disabled:hover{opacity:.5}}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:disabled:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:disabled:active{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:disabled:active{opacity:.5}.embarkai-ui-scope .aria-invalid\\:border-\\[var\\(--ui-kit-error\\)\\][aria-invalid=true]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .aria-invalid\\:ring-\\[var\\(--ui-kit-error\\)\\][aria-invalid=true]{--tw-ring-color:var(--ui-kit-error)}.embarkai-ui-scope .data-disabled\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-disabled\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(.25rem * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(.25rem * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.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}:is(.embarkai-ui-scope .data-\\[slot\\=select-value\\]\\:\\*\\:line-clamp-1[data-slot=select-value]>*){-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.embarkai-ui-scope .data-\\[slot\\=select-value\\]\\:\\*\\:flex[data-slot=select-value]>*){display:flex}:is(.embarkai-ui-scope .data-\\[slot\\=select-value\\]\\:\\*\\:items-center[data-slot=select-value]>*){align-items:center}:is(.embarkai-ui-scope .data-\\[slot\\=select-value\\]\\:\\*\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}.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)}@media (min-width:40rem){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}:where(.embarkai-ui-scope .sm\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(.25rem * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:48rem){.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-block:.25rem}.embarkai-ui-scope .md\\:text-3xl{font-size:1.875rem;line-height:var(--tw-leading,calc(2.25 / 1.875))}}.embarkai-ui-scope .\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.embarkai-ui-scope .\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.embarkai-ui-scope .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}:is(.embarkai-ui-scope .last\\:\\[span\\]\\:\\*\\:flex:last-child:is(span)>*){display:flex}:is(.embarkai-ui-scope .last\\:\\[span\\]\\:\\*\\:items-center:last-child:is(span)>*){align-items:center}:is(.embarkai-ui-scope .\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:.5rem}:root{--w3m-z-index:10001!important}.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,#fffc);--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,#0009);--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--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,transparent);--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,#f4f4f4);--ui-kit-success:var(--embark-ui-success,var(--ui-kit-fg));--ui-kit-bg-success:var(--embark-ui-bg-success,#0de4b3);--ui-kit-warning:var(--embark-ui-warning,var(--ui-kit-fg));--ui-kit-bg-warning:var(--embark-ui-bg-warning,#f0b100);--ui-kit-error:var(--embark-ui-error,var(--ui-kit-fg-inverted));--ui-kit-bg-error:var(--embark-ui-bg-error,#fb2c36)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,#000c);--ui-kit-bg:var(--embark-ui-bg,#040404);--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,#fff9);--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-secondary:var(--embark-ui-secondary,#111);--ui-kit-bd:var(--embark-ui-bd,#343434);--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,transparent);--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,#111);--ui-kit-success:var(--embark-ui-success,var(--ui-kit-fg-inverted));--ui-kit-bg-success:var(--embark-ui-bg-success,#0de4b3);--ui-kit-warning:var(--embark-ui-warning,var(--ui-kit-fg-inverted));--ui-kit-bg-warning:var(--embark-ui-bg-warning,#f0b100);--ui-kit-error:var(--embark-ui-error,var(--ui-kit-fg));--ui-kit-bg-error:var(--embark-ui-bg-error,#fb2c36)}.embarkai-ui-scope,.embarkai-ui-scope *{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;margin:0}.embarkai-ui-scope p,.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 button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{margin:0;font-family:var(--ui-kit-ff)!important}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{-webkit-appearance:none;-moz-appearance:none;border-style:solid;appearance:none!important;outline:none!important}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0px 4px 20px var(--ui-kit-shadow-c), inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s}.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:.375s lumia-mobile-dialog-fade-in}.embarkai-ui-scope .animate-mobile-dialog-out{animation:.375s forwards lumia-mobile-dialog-fade-out}@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:.375s lumia-dialog-fade-in}.embarkai-ui-scope .animate-dialog-out{animation:.375s forwards lumia-dialog-fade-out}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0px);max-height:var(--ui-kit-scrollbar-mah,300px);overflow:hidden auto}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;background-color:var(--ui-kit-bd);border-radius:2px;width:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{background-color:#0000;margin-top:10px;margin-bottom:10px}.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(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.embarkai-ui-scope .button-shine-outline{-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;width:100%;height:100%;padding:1px;position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.embarkai-ui-scope .button-shine-outline-shiner{pointer-events:none;background:conic-gradient(from 0deg, transparent 0%, var(--ui-kit-fg) 8%, transparent 24%);width:500px;height:500px;animation:3s linear infinite rotateShine;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes glow-warning{0%,to{box-shadow:inset 0 0 16px var(--ui-kit-bg-warning)}50%{box-shadow:inset 0 0 4px var(--ui-kit-bg-warning)}}@keyframes glow-error{0%,to{box-shadow:inset 0 0 16px var(--ui-kit-bg-error)}50%{box-shadow:inset 0 0 4px var(--ui-kit-bg-error)}}`;
|
|
36826
37506
|
|
|
36827
37507
|
// src/index.ts
|
|
36828
37508
|
init_ProviderContext();
|
|
@@ -36840,9 +37520,9 @@ init_useLayoutStore();
|
|
|
36840
37520
|
init_useUserProfile();
|
|
36841
37521
|
init_pro_mode();
|
|
36842
37522
|
init_utils();
|
|
36843
|
-
import { LoaderIcon as
|
|
36844
|
-
import { useEffect as
|
|
36845
|
-
import { Fragment as Fragment50, jsx as
|
|
37523
|
+
import { LoaderIcon as LoaderIcon24, ShieldAlertIcon as ShieldAlertIcon2, ShieldCheckIcon as ShieldCheckIcon3 } from "lucide-react";
|
|
37524
|
+
import { useEffect as useEffect63, useMemo as useMemo23 } from "react";
|
|
37525
|
+
import { Fragment as Fragment50, jsx as jsx150, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
36846
37526
|
function getFormattedStatus(label, status, showStatus) {
|
|
36847
37527
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
36848
37528
|
if (!isStatus) return label;
|
|
@@ -36851,14 +37531,14 @@ function getFormattedStatus(label, status, showStatus) {
|
|
|
36851
37531
|
function NotificationsIndicator() {
|
|
36852
37532
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
36853
37533
|
const isNotificationsLoading = useLayoutDataStore((st) => st.isNotificationsLoading);
|
|
36854
|
-
const pieSlices =
|
|
37534
|
+
const pieSlices = useMemo23(() => {
|
|
36855
37535
|
if (settingsNotifications?.length === 0) return [{ value: 1, color: "var(--ui-kit-bg-success)" }];
|
|
36856
37536
|
return settingsNotifications.map((notification, _, nArr) => ({
|
|
36857
37537
|
value: 1 / nArr.length,
|
|
36858
37538
|
color: notification.mandatory ? "var(--ui-kit-bg-error)" : "var(--ui-kit-bg-warning)"
|
|
36859
37539
|
}));
|
|
36860
37540
|
}, [settingsNotifications]);
|
|
36861
|
-
return /* @__PURE__ */
|
|
37541
|
+
return /* @__PURE__ */ jsx150(
|
|
36862
37542
|
"div",
|
|
36863
37543
|
{
|
|
36864
37544
|
className: "w-8 h-8 relative flex items-center justify-center",
|
|
@@ -36868,8 +37548,8 @@ function NotificationsIndicator() {
|
|
|
36868
37548
|
e.stopPropagation();
|
|
36869
37549
|
useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
|
|
36870
37550
|
},
|
|
36871
|
-
children: isNotificationsLoading ? /* @__PURE__ */
|
|
36872
|
-
settingsNotifications.length > 0 && /* @__PURE__ */
|
|
37551
|
+
children: isNotificationsLoading ? /* @__PURE__ */ jsx150("span", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ jsx150(LoaderIcon24, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsxs135(Fragment50, { children: [
|
|
37552
|
+
settingsNotifications.length > 0 && /* @__PURE__ */ jsx150(
|
|
36873
37553
|
"div",
|
|
36874
37554
|
{
|
|
36875
37555
|
className: cn2(
|
|
@@ -36878,8 +37558,8 @@ function NotificationsIndicator() {
|
|
|
36878
37558
|
)
|
|
36879
37559
|
}
|
|
36880
37560
|
),
|
|
36881
|
-
/* @__PURE__ */
|
|
36882
|
-
/* @__PURE__ */
|
|
37561
|
+
/* @__PURE__ */ jsx150(PieChart, { className: "w-8 h-8 cursor-pointer", data: pieSlices }),
|
|
37562
|
+
/* @__PURE__ */ jsx150(
|
|
36883
37563
|
"div",
|
|
36884
37564
|
{
|
|
36885
37565
|
className: cn2(
|
|
@@ -36889,7 +37569,7 @@ function NotificationsIndicator() {
|
|
|
36889
37569
|
"flex items-center justify-center",
|
|
36890
37570
|
{ "bg-(--ui-kit-bg)": settingsNotifications.length > 0 }
|
|
36891
37571
|
),
|
|
36892
|
-
children: settingsNotifications.length > 0 ? /* @__PURE__ */
|
|
37572
|
+
children: settingsNotifications.length > 0 ? /* @__PURE__ */ jsx150(ShieldAlertIcon2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx150(ShieldCheckIcon3, { className: "w-4 h-4 text-(--ui-kit-success)" })
|
|
36893
37573
|
}
|
|
36894
37574
|
)
|
|
36895
37575
|
] })
|
|
@@ -36907,25 +37587,25 @@ function ConnectWalletButton(props) {
|
|
|
36907
37587
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
36908
37588
|
const { address, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
36909
37589
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
36910
|
-
|
|
37590
|
+
useEffect63(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
36911
37591
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
36912
37592
|
const proMode = useProMode();
|
|
36913
37593
|
const displayName = profile?.nicknameDisplay || profile?.displayName;
|
|
36914
37594
|
const isConnecting = connectButtonLabel !== label || isLoading;
|
|
36915
|
-
return /* @__PURE__ */
|
|
37595
|
+
return /* @__PURE__ */ jsx150("div", { "data-current-theme-mode": colorMode, className: cn2("embarkai-ui-scope w-fit h-fit", className), children: !address ? (
|
|
36916
37596
|
/** external Buttons can be provided */
|
|
36917
|
-
/* @__PURE__ */
|
|
37597
|
+
/* @__PURE__ */ jsx150(Fragment50, { children: ConnectButton ? /* @__PURE__ */ jsxs135(
|
|
36918
37598
|
ConnectButton,
|
|
36919
37599
|
{
|
|
36920
37600
|
type: "button",
|
|
36921
37601
|
disabled: isConnecting,
|
|
36922
37602
|
onClick: () => useLayoutDataStore.getState().setPage("auth" /* AUTH */),
|
|
36923
37603
|
children: [
|
|
36924
|
-
isConnecting ? /* @__PURE__ */
|
|
37604
|
+
isConnecting ? /* @__PURE__ */ jsx150("span", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ jsx150(LoaderIcon24, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsx150(embarkAI_default2, { className: "w-6 h-6" }),
|
|
36925
37605
|
connectButtonLabel.toUpperCase()
|
|
36926
37606
|
]
|
|
36927
37607
|
}
|
|
36928
|
-
) : /* @__PURE__ */
|
|
37608
|
+
) : /* @__PURE__ */ jsxs135(
|
|
36929
37609
|
Button,
|
|
36930
37610
|
{
|
|
36931
37611
|
type: "button",
|
|
@@ -36942,12 +37622,12 @@ function ConnectWalletButton(props) {
|
|
|
36942
37622
|
"disabled:hover:bg-[var(--ui-kit-bg)] disabled:active:bg-[var(--ui-kit-bg)]"
|
|
36943
37623
|
),
|
|
36944
37624
|
children: [
|
|
36945
|
-
isConnecting ? /* @__PURE__ */
|
|
37625
|
+
isConnecting ? /* @__PURE__ */ jsx150("span", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ jsx150(LoaderIcon24, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsx150(embarkAI_default2, { className: "w-6 h-6" }),
|
|
36946
37626
|
connectButtonLabel.toUpperCase()
|
|
36947
37627
|
]
|
|
36948
37628
|
}
|
|
36949
37629
|
) })
|
|
36950
|
-
) : /* @__PURE__ */
|
|
37630
|
+
) : /* @__PURE__ */ jsxs135(
|
|
36951
37631
|
"button",
|
|
36952
37632
|
{
|
|
36953
37633
|
type: "button",
|
|
@@ -36960,15 +37640,15 @@ function ConnectWalletButton(props) {
|
|
|
36960
37640
|
"rounded-[var(--ui-kit-bdrs)] p-4 max-w-sm min-w-[256px]"
|
|
36961
37641
|
),
|
|
36962
37642
|
children: [
|
|
36963
|
-
/* @__PURE__ */
|
|
36964
|
-
proMode && /* @__PURE__ */
|
|
36965
|
-
isProfileLoading ? /* @__PURE__ */
|
|
37643
|
+
/* @__PURE__ */ jsxs135("div", { className: "relative w-12 h-12 rounded-full bg-(--ui-kit-secondary) flex items-center justify-center shrink-0", children: [
|
|
37644
|
+
proMode && /* @__PURE__ */ jsx150("span", { className: "absolute -top-1 -right-1 text-[8px] font-bold px-1 rounded bg-[var(--ui-kit-primary)] text-[var(--ui-kit-fg-inverted)] leading-3 z-10", children: "PRO" }),
|
|
37645
|
+
isProfileLoading ? /* @__PURE__ */ jsx150(LoaderIcon24, { className: "w-4 h-4 animate-spin" }) : !!profile?.avatar ? /* @__PURE__ */ jsx150("img", { src: profile.avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx150(embarkAI_default2, { className: "w-6 h-6" })
|
|
36966
37646
|
] }),
|
|
36967
|
-
/* @__PURE__ */
|
|
36968
|
-
/* @__PURE__ */
|
|
36969
|
-
/* @__PURE__ */
|
|
37647
|
+
/* @__PURE__ */ jsxs135("div", { className: "text-left flex-1 min-w-0 text-[var(--ui-kit-fg)]", children: [
|
|
37648
|
+
/* @__PURE__ */ jsx150("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx150("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--ui-kit-fg)]", children: displayName || "" }) }),
|
|
37649
|
+
/* @__PURE__ */ jsx150(BalanceView, {})
|
|
36970
37650
|
] }),
|
|
36971
|
-
/* @__PURE__ */
|
|
37651
|
+
/* @__PURE__ */ jsx150(NotificationsIndicator, {})
|
|
36972
37652
|
]
|
|
36973
37653
|
}
|
|
36974
37654
|
) });
|
|
@@ -37015,24 +37695,24 @@ init_useColorMode();
|
|
|
37015
37695
|
init_button();
|
|
37016
37696
|
init_utils();
|
|
37017
37697
|
import { Moon, Sun } from "lucide-react";
|
|
37018
|
-
import { jsx as
|
|
37698
|
+
import { jsx as jsx151 } from "react/jsx-runtime";
|
|
37019
37699
|
function ThemeToggle(props) {
|
|
37020
37700
|
const { className, ...btnProps } = props;
|
|
37021
37701
|
const { colorMode, setColorMode } = useColorMode();
|
|
37022
|
-
return /* @__PURE__ */
|
|
37702
|
+
return /* @__PURE__ */ jsx151(
|
|
37023
37703
|
"div",
|
|
37024
37704
|
{
|
|
37025
37705
|
className: cn2("embarkai-ui-scope", className),
|
|
37026
37706
|
"data-current-theme-mode": colorMode,
|
|
37027
37707
|
style: { width: "fit-content", height: "fit-content" },
|
|
37028
|
-
children: /* @__PURE__ */
|
|
37708
|
+
children: /* @__PURE__ */ jsx151(
|
|
37029
37709
|
Button,
|
|
37030
37710
|
{
|
|
37031
37711
|
...btnProps,
|
|
37032
37712
|
variant: "ghost",
|
|
37033
37713
|
onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
|
|
37034
37714
|
title: `Current theme: ${colorMode}. Click to switch.`,
|
|
37035
|
-
children: colorMode === "dark" ? /* @__PURE__ */
|
|
37715
|
+
children: colorMode === "dark" ? /* @__PURE__ */ jsx151(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx151(Moon, { className: "w-4 h-4" })
|
|
37036
37716
|
}
|
|
37037
37717
|
)
|
|
37038
37718
|
}
|
|
@@ -37044,18 +37724,18 @@ init_i18n();
|
|
|
37044
37724
|
init_button();
|
|
37045
37725
|
init_useLayoutDataStore();
|
|
37046
37726
|
init_utils();
|
|
37047
|
-
import { jsx as
|
|
37727
|
+
import { jsx as jsx152 } from "react/jsx-runtime";
|
|
37048
37728
|
function LangToggle(props) {
|
|
37049
37729
|
const { className, ...btnProps } = props;
|
|
37050
37730
|
const { i18n } = useT();
|
|
37051
37731
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
37052
|
-
return /* @__PURE__ */
|
|
37732
|
+
return /* @__PURE__ */ jsx152(
|
|
37053
37733
|
"div",
|
|
37054
37734
|
{
|
|
37055
37735
|
className: cn2("embarkai-ui-scope", className),
|
|
37056
37736
|
"data-mbark-language": i18n.resolvedLanguage || "en",
|
|
37057
37737
|
style: { width: "fit-content", height: "fit-content" },
|
|
37058
|
-
children: /* @__PURE__ */
|
|
37738
|
+
children: /* @__PURE__ */ jsx152(
|
|
37059
37739
|
Button,
|
|
37060
37740
|
{
|
|
37061
37741
|
...btnProps,
|
|
@@ -37084,7 +37764,7 @@ init_cn();
|
|
|
37084
37764
|
init_button();
|
|
37085
37765
|
import { Copy as Copy5, ExternalLink as ExternalLink2 } from "lucide-react";
|
|
37086
37766
|
import * as React35 from "react";
|
|
37087
|
-
import { jsx as
|
|
37767
|
+
import { jsx as jsx153, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
37088
37768
|
function toExplorerAddressUrl(address, chain) {
|
|
37089
37769
|
const base = chain?.blockExplorers?.default?.url;
|
|
37090
37770
|
if (!base) return null;
|
|
@@ -37098,7 +37778,7 @@ var Address = ({
|
|
|
37098
37778
|
address,
|
|
37099
37779
|
chain,
|
|
37100
37780
|
className,
|
|
37101
|
-
truncate = true,
|
|
37781
|
+
truncate: truncate2 = true,
|
|
37102
37782
|
showCopy = true,
|
|
37103
37783
|
showExplorer = true,
|
|
37104
37784
|
label
|
|
@@ -37106,11 +37786,11 @@ var Address = ({
|
|
|
37106
37786
|
const addr = address || "";
|
|
37107
37787
|
const explorer = toExplorerAddressUrl(addr, chain || void 0);
|
|
37108
37788
|
const [copied, setCopied] = React35.useState(false);
|
|
37109
|
-
if (!addr) return /* @__PURE__ */
|
|
37110
|
-
return /* @__PURE__ */
|
|
37111
|
-
label && /* @__PURE__ */
|
|
37112
|
-
/* @__PURE__ */
|
|
37113
|
-
showCopy && /* @__PURE__ */
|
|
37789
|
+
if (!addr) return /* @__PURE__ */ jsx153("span", { className: cn("text-muted-foreground", className), children: "\u2014" });
|
|
37790
|
+
return /* @__PURE__ */ jsxs136("div", { className: cn("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
|
|
37791
|
+
label && /* @__PURE__ */ jsx153("span", { className: "text-sm font-medium", children: label }),
|
|
37792
|
+
/* @__PURE__ */ jsx153("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate2 ? short(addr) : addr }),
|
|
37793
|
+
showCopy && /* @__PURE__ */ jsx153(
|
|
37114
37794
|
Button,
|
|
37115
37795
|
{
|
|
37116
37796
|
variant: "ghost",
|
|
@@ -37124,10 +37804,10 @@ var Address = ({
|
|
|
37124
37804
|
} catch {
|
|
37125
37805
|
}
|
|
37126
37806
|
},
|
|
37127
|
-
children: /* @__PURE__ */
|
|
37807
|
+
children: /* @__PURE__ */ jsx153(Copy5, { className: "h-4 w-4" })
|
|
37128
37808
|
}
|
|
37129
37809
|
),
|
|
37130
|
-
showExplorer && explorer && /* @__PURE__ */
|
|
37810
|
+
showExplorer && explorer && /* @__PURE__ */ jsx153(
|
|
37131
37811
|
"a",
|
|
37132
37812
|
{
|
|
37133
37813
|
href: explorer,
|
|
@@ -37135,7 +37815,7 @@ var Address = ({
|
|
|
37135
37815
|
rel: "noreferrer noopener",
|
|
37136
37816
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
37137
37817
|
title: "Open in explorer",
|
|
37138
|
-
children: /* @__PURE__ */
|
|
37818
|
+
children: /* @__PURE__ */ jsx153(ExternalLink2, { className: "h-4 w-4" })
|
|
37139
37819
|
}
|
|
37140
37820
|
)
|
|
37141
37821
|
] });
|
|
@@ -37144,7 +37824,7 @@ var Address = ({
|
|
|
37144
37824
|
// src/internal/components/UserOpStatus.tsx
|
|
37145
37825
|
init_badge();
|
|
37146
37826
|
init_button();
|
|
37147
|
-
import { jsx as
|
|
37827
|
+
import { jsx as jsx154, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
37148
37828
|
var UserOpStatus = ({
|
|
37149
37829
|
userOpHash,
|
|
37150
37830
|
chain,
|
|
@@ -37259,35 +37939,35 @@ var UserOpStatus = ({
|
|
|
37259
37939
|
const stateBadge = () => {
|
|
37260
37940
|
if (receipt) {
|
|
37261
37941
|
const ok = !!receipt.success;
|
|
37262
|
-
return /* @__PURE__ */
|
|
37263
|
-
ok ? /* @__PURE__ */
|
|
37942
|
+
return /* @__PURE__ */ jsxs137(Badge, { variant: ok ? "success" : "destructive", children: [
|
|
37943
|
+
ok ? /* @__PURE__ */ jsx154(CheckCircle28, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx154(AlertCircle4, { className: "h-3 w-3" }),
|
|
37264
37944
|
ok ? "Included" : "Failed"
|
|
37265
37945
|
] });
|
|
37266
37946
|
}
|
|
37267
37947
|
if (rejected) {
|
|
37268
|
-
return /* @__PURE__ */
|
|
37269
|
-
/* @__PURE__ */
|
|
37948
|
+
return /* @__PURE__ */ jsxs137(Badge, { variant: "destructive", children: [
|
|
37949
|
+
/* @__PURE__ */ jsx154(AlertCircle4, { className: "h-3 w-3" }),
|
|
37270
37950
|
" Rejected by bundler"
|
|
37271
37951
|
] });
|
|
37272
37952
|
}
|
|
37273
37953
|
if (timedOut) {
|
|
37274
|
-
return /* @__PURE__ */
|
|
37275
|
-
/* @__PURE__ */
|
|
37954
|
+
return /* @__PURE__ */ jsxs137(Badge, { variant: "warning", children: [
|
|
37955
|
+
/* @__PURE__ */ jsx154(AlertCircle4, { className: "h-3 w-3" }),
|
|
37276
37956
|
" Timeout - may be rejected"
|
|
37277
37957
|
] });
|
|
37278
37958
|
}
|
|
37279
37959
|
if (mempool) {
|
|
37280
|
-
return /* @__PURE__ */
|
|
37281
|
-
/* @__PURE__ */
|
|
37960
|
+
return /* @__PURE__ */ jsxs137(Badge, { variant: "outline", children: [
|
|
37961
|
+
/* @__PURE__ */ jsx154(Clock2, { className: "h-3 w-3" }),
|
|
37282
37962
|
" Pending in bundler"
|
|
37283
37963
|
] });
|
|
37284
37964
|
}
|
|
37285
|
-
return /* @__PURE__ */
|
|
37286
|
-
/* @__PURE__ */
|
|
37965
|
+
return /* @__PURE__ */ jsxs137(Badge, { variant: "secondary", children: [
|
|
37966
|
+
/* @__PURE__ */ jsx154(Clock2, { className: "h-3 w-3" }),
|
|
37287
37967
|
" Waiting"
|
|
37288
37968
|
] });
|
|
37289
37969
|
};
|
|
37290
|
-
return /* @__PURE__ */
|
|
37970
|
+
return /* @__PURE__ */ jsxs137(
|
|
37291
37971
|
"div",
|
|
37292
37972
|
{
|
|
37293
37973
|
className: cn(
|
|
@@ -37296,20 +37976,20 @@ var UserOpStatus = ({
|
|
|
37296
37976
|
),
|
|
37297
37977
|
style: { textAlign: "left", listStyle: "none" },
|
|
37298
37978
|
children: [
|
|
37299
|
-
/* @__PURE__ */
|
|
37300
|
-
/* @__PURE__ */
|
|
37979
|
+
/* @__PURE__ */ jsxs137("div", { className: "flex items-center justify-between mb-3", children: [
|
|
37980
|
+
/* @__PURE__ */ jsxs137("div", { className: "flex items-center gap-2", children: [
|
|
37301
37981
|
stateBadge(),
|
|
37302
|
-
/* @__PURE__ */
|
|
37982
|
+
/* @__PURE__ */ jsx154("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
|
|
37303
37983
|
] }),
|
|
37304
|
-
/* @__PURE__ */
|
|
37305
|
-
/* @__PURE__ */
|
|
37306
|
-
/* @__PURE__ */
|
|
37984
|
+
/* @__PURE__ */ jsxs137(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
|
|
37985
|
+
/* @__PURE__ */ jsx154(RefreshCw4, { className: cn("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
|
|
37986
|
+
/* @__PURE__ */ jsx154("span", { className: "text-xs", children: "Refresh" })
|
|
37307
37987
|
] })
|
|
37308
37988
|
] }),
|
|
37309
|
-
/* @__PURE__ */
|
|
37310
|
-
/* @__PURE__ */
|
|
37311
|
-
/* @__PURE__ */
|
|
37312
|
-
/* @__PURE__ */
|
|
37989
|
+
/* @__PURE__ */ jsxs137("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
37990
|
+
/* @__PURE__ */ jsx154("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
|
|
37991
|
+
/* @__PURE__ */ jsx154("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
|
|
37992
|
+
/* @__PURE__ */ jsx154(
|
|
37313
37993
|
Button,
|
|
37314
37994
|
{
|
|
37315
37995
|
variant: "ghost",
|
|
@@ -37321,14 +38001,14 @@ var UserOpStatus = ({
|
|
|
37321
38001
|
} catch {
|
|
37322
38002
|
}
|
|
37323
38003
|
},
|
|
37324
|
-
children: /* @__PURE__ */
|
|
38004
|
+
children: /* @__PURE__ */ jsx154(Copy6, { className: "h-3.5 w-3.5" })
|
|
37325
38005
|
}
|
|
37326
38006
|
)
|
|
37327
38007
|
] }),
|
|
37328
|
-
receipt && receipt.receipt?.transactionHash && /* @__PURE__ */
|
|
37329
|
-
/* @__PURE__ */
|
|
37330
|
-
/* @__PURE__ */
|
|
37331
|
-
/* @__PURE__ */
|
|
38008
|
+
receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs137("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
38009
|
+
/* @__PURE__ */ jsx154("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
|
|
38010
|
+
/* @__PURE__ */ jsx154("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
|
|
38011
|
+
/* @__PURE__ */ jsx154(
|
|
37332
38012
|
Button,
|
|
37333
38013
|
{
|
|
37334
38014
|
variant: "ghost",
|
|
@@ -37340,10 +38020,10 @@ var UserOpStatus = ({
|
|
|
37340
38020
|
} catch {
|
|
37341
38021
|
}
|
|
37342
38022
|
},
|
|
37343
|
-
children: /* @__PURE__ */
|
|
38023
|
+
children: /* @__PURE__ */ jsx154(Copy6, { className: "h-3.5 w-3.5" })
|
|
37344
38024
|
}
|
|
37345
38025
|
),
|
|
37346
|
-
chain?.blockExplorers?.default?.url && /* @__PURE__ */
|
|
38026
|
+
chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx154(
|
|
37347
38027
|
"a",
|
|
37348
38028
|
{
|
|
37349
38029
|
href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
|
|
@@ -37351,11 +38031,11 @@ var UserOpStatus = ({
|
|
|
37351
38031
|
rel: "noreferrer noopener",
|
|
37352
38032
|
className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
|
|
37353
38033
|
title: "Open in explorer",
|
|
37354
|
-
children: /* @__PURE__ */
|
|
38034
|
+
children: /* @__PURE__ */ jsx154(ExternalLink3, { className: "h-3.5 w-3.5" })
|
|
37355
38035
|
}
|
|
37356
38036
|
)
|
|
37357
38037
|
] }),
|
|
37358
|
-
receipt && /* @__PURE__ */
|
|
38038
|
+
receipt && /* @__PURE__ */ jsxs137("div", { className: "text-xs text-muted-foreground mb-3", children: [
|
|
37359
38039
|
"Block ",
|
|
37360
38040
|
parseInt(receipt.receipt?.blockNumber || "0x0", 16),
|
|
37361
38041
|
" \u2022 Gas Used",
|
|
@@ -37364,32 +38044,32 @@ var UserOpStatus = ({
|
|
|
37364
38044
|
" \u2022 Success ",
|
|
37365
38045
|
String(!!receipt.success)
|
|
37366
38046
|
] }),
|
|
37367
|
-
/* @__PURE__ */
|
|
38047
|
+
/* @__PURE__ */ jsx154("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs137("span", { className: "ml-2", children: [
|
|
37368
38048
|
"\u2022 Polling for ",
|
|
37369
38049
|
Math.round((Date.now() - startTimeRef.current) / 1e3),
|
|
37370
38050
|
"s"
|
|
37371
38051
|
] }) }),
|
|
37372
|
-
mempool && /* @__PURE__ */
|
|
37373
|
-
/* @__PURE__ */
|
|
38052
|
+
mempool && /* @__PURE__ */ jsxs137("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
|
|
38053
|
+
/* @__PURE__ */ jsxs137("div", { children: [
|
|
37374
38054
|
"Seen by bundler at ",
|
|
37375
|
-
/* @__PURE__ */
|
|
38055
|
+
/* @__PURE__ */ jsx154(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
|
|
37376
38056
|
] }),
|
|
37377
|
-
/* @__PURE__ */
|
|
38057
|
+
/* @__PURE__ */ jsxs137("div", { children: [
|
|
37378
38058
|
"sender ",
|
|
37379
|
-
/* @__PURE__ */
|
|
38059
|
+
/* @__PURE__ */ jsx154(Address, { address: mempool.sender, chain, truncate: false })
|
|
37380
38060
|
] })
|
|
37381
38061
|
] }),
|
|
37382
|
-
error && /* @__PURE__ */
|
|
37383
|
-
/* @__PURE__ */
|
|
38062
|
+
error && /* @__PURE__ */ jsxs137("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
38063
|
+
/* @__PURE__ */ jsx154(AlertCircle4, { className: "h-4 w-4" }),
|
|
37384
38064
|
" ",
|
|
37385
38065
|
error
|
|
37386
38066
|
] }),
|
|
37387
|
-
rejected && /* @__PURE__ */
|
|
37388
|
-
/* @__PURE__ */
|
|
38067
|
+
rejected && /* @__PURE__ */ jsxs137("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
38068
|
+
/* @__PURE__ */ jsx154(AlertCircle4, { className: "h-4 w-4" }),
|
|
37389
38069
|
"UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
|
|
37390
38070
|
] }),
|
|
37391
|
-
timedOut && /* @__PURE__ */
|
|
37392
|
-
/* @__PURE__ */
|
|
38071
|
+
timedOut && /* @__PURE__ */ jsxs137("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
38072
|
+
/* @__PURE__ */ jsx154(AlertCircle4, { className: "h-4 w-4" }),
|
|
37393
38073
|
"Stopped polling after ",
|
|
37394
38074
|
Math.round(maxPollTimeMs / 1e3),
|
|
37395
38075
|
"s. UserOperation may have been rejected by the bundler."
|
|
@@ -37404,7 +38084,7 @@ init_cn();
|
|
|
37404
38084
|
init_button();
|
|
37405
38085
|
import { Copy as Copy7, ExternalLink as ExternalLink4 } from "lucide-react";
|
|
37406
38086
|
import * as React37 from "react";
|
|
37407
|
-
import { jsx as
|
|
38087
|
+
import { jsx as jsx155, jsxs as jsxs138 } from "react/jsx-runtime";
|
|
37408
38088
|
function toExplorerUrl(kind, value, chain) {
|
|
37409
38089
|
const base = chain?.blockExplorers?.default?.url;
|
|
37410
38090
|
if (!base) return null;
|
|
@@ -37419,7 +38099,7 @@ var Hash = ({
|
|
|
37419
38099
|
hash,
|
|
37420
38100
|
chain,
|
|
37421
38101
|
className,
|
|
37422
|
-
truncate = true,
|
|
38102
|
+
truncate: truncate2 = true,
|
|
37423
38103
|
showCopy = true,
|
|
37424
38104
|
showExplorer = true,
|
|
37425
38105
|
kind = "tx",
|
|
@@ -37428,11 +38108,11 @@ var Hash = ({
|
|
|
37428
38108
|
const value = hash || "";
|
|
37429
38109
|
const explorer = toExplorerUrl(kind, value, chain || void 0);
|
|
37430
38110
|
const [copied, setCopied] = React37.useState(false);
|
|
37431
|
-
if (!value) return /* @__PURE__ */
|
|
37432
|
-
return /* @__PURE__ */
|
|
37433
|
-
label && /* @__PURE__ */
|
|
37434
|
-
/* @__PURE__ */
|
|
37435
|
-
showCopy && /* @__PURE__ */
|
|
38111
|
+
if (!value) return /* @__PURE__ */ jsx155("span", { className: cn("text-muted-foreground", className), children: "\u2014" });
|
|
38112
|
+
return /* @__PURE__ */ jsxs138("div", { className: cn("flex items-center gap-2", className), children: [
|
|
38113
|
+
label && /* @__PURE__ */ jsx155("span", { className: "text-sm font-medium", children: label }),
|
|
38114
|
+
/* @__PURE__ */ jsx155("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate2 ? short2(value) : value }),
|
|
38115
|
+
showCopy && /* @__PURE__ */ jsx155(
|
|
37436
38116
|
Button,
|
|
37437
38117
|
{
|
|
37438
38118
|
variant: "ghost",
|
|
@@ -37446,10 +38126,10 @@ var Hash = ({
|
|
|
37446
38126
|
} catch {
|
|
37447
38127
|
}
|
|
37448
38128
|
},
|
|
37449
|
-
children: /* @__PURE__ */
|
|
38129
|
+
children: /* @__PURE__ */ jsx155(Copy7, { className: "h-4 w-4" })
|
|
37450
38130
|
}
|
|
37451
38131
|
),
|
|
37452
|
-
showExplorer && explorer && /* @__PURE__ */
|
|
38132
|
+
showExplorer && explorer && /* @__PURE__ */ jsx155(
|
|
37453
38133
|
"a",
|
|
37454
38134
|
{
|
|
37455
38135
|
href: explorer,
|
|
@@ -37457,7 +38137,7 @@ var Hash = ({
|
|
|
37457
38137
|
rel: "noreferrer noopener",
|
|
37458
38138
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
37459
38139
|
title: "Open in explorer",
|
|
37460
|
-
children: /* @__PURE__ */
|
|
38140
|
+
children: /* @__PURE__ */ jsx155(ExternalLink4, { className: "h-4 w-4" })
|
|
37461
38141
|
}
|
|
37462
38142
|
)
|
|
37463
38143
|
] });
|
|
@@ -37465,13 +38145,13 @@ var Hash = ({
|
|
|
37465
38145
|
|
|
37466
38146
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
37467
38147
|
init_base();
|
|
37468
|
-
import { useEffect as
|
|
37469
|
-
import { jsx as
|
|
38148
|
+
import { useEffect as useEffect65, useState as useState43 } from "react";
|
|
38149
|
+
import { jsx as jsx156, jsxs as jsxs139 } from "react/jsx-runtime";
|
|
37470
38150
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
37471
|
-
const [transactions, setTransactions] =
|
|
37472
|
-
const [loading, setLoading] =
|
|
37473
|
-
const [error, setError] =
|
|
37474
|
-
|
|
38151
|
+
const [transactions, setTransactions] = useState43([]);
|
|
38152
|
+
const [loading, setLoading] = useState43(true);
|
|
38153
|
+
const [error, setError] = useState43(null);
|
|
38154
|
+
useEffect65(() => {
|
|
37475
38155
|
const fetchTransactions2 = async () => {
|
|
37476
38156
|
try {
|
|
37477
38157
|
setLoading(true);
|
|
@@ -37517,31 +38197,31 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
37517
38197
|
window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
|
|
37518
38198
|
};
|
|
37519
38199
|
if (loading) {
|
|
37520
|
-
return /* @__PURE__ */
|
|
37521
|
-
/* @__PURE__ */
|
|
37522
|
-
/* @__PURE__ */
|
|
38200
|
+
return /* @__PURE__ */ jsxs139("div", { className: "p-4 text-center", children: [
|
|
38201
|
+
/* @__PURE__ */ jsx156("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
|
|
38202
|
+
/* @__PURE__ */ jsx156("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
|
|
37523
38203
|
] });
|
|
37524
38204
|
}
|
|
37525
38205
|
if (error) {
|
|
37526
|
-
return /* @__PURE__ */
|
|
37527
|
-
/* @__PURE__ */
|
|
37528
|
-
/* @__PURE__ */
|
|
38206
|
+
return /* @__PURE__ */ jsxs139("div", { className: "p-4 text-center", children: [
|
|
38207
|
+
/* @__PURE__ */ jsx156("p", { className: "text-red-600 text-sm", children: error }),
|
|
38208
|
+
/* @__PURE__ */ jsx156("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
|
|
37529
38209
|
] });
|
|
37530
38210
|
}
|
|
37531
38211
|
if (transactions.length === 0) {
|
|
37532
|
-
return /* @__PURE__ */
|
|
38212
|
+
return /* @__PURE__ */ jsx156("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx156("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
|
|
37533
38213
|
}
|
|
37534
|
-
return /* @__PURE__ */
|
|
38214
|
+
return /* @__PURE__ */ jsx156("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx156("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs139(
|
|
37535
38215
|
"div",
|
|
37536
38216
|
{
|
|
37537
38217
|
className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
|
|
37538
38218
|
onClick: () => openTransaction(tx.hash),
|
|
37539
38219
|
children: [
|
|
37540
|
-
/* @__PURE__ */
|
|
37541
|
-
/* @__PURE__ */
|
|
37542
|
-
/* @__PURE__ */
|
|
37543
|
-
/* @__PURE__ */
|
|
37544
|
-
/* @__PURE__ */
|
|
38220
|
+
/* @__PURE__ */ jsxs139("div", { className: "flex justify-between items-start mb-2", children: [
|
|
38221
|
+
/* @__PURE__ */ jsxs139("div", { className: "flex-1", children: [
|
|
38222
|
+
/* @__PURE__ */ jsxs139("div", { className: "flex items-center space-x-2 mb-1", children: [
|
|
38223
|
+
/* @__PURE__ */ jsx156("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress4(tx.hash) }),
|
|
38224
|
+
/* @__PURE__ */ jsx156(
|
|
37545
38225
|
"span",
|
|
37546
38226
|
{
|
|
37547
38227
|
className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
|
|
@@ -37549,40 +38229,40 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
37549
38229
|
}
|
|
37550
38230
|
)
|
|
37551
38231
|
] }),
|
|
37552
|
-
/* @__PURE__ */
|
|
37553
|
-
/* @__PURE__ */
|
|
37554
|
-
/* @__PURE__ */
|
|
37555
|
-
/* @__PURE__ */
|
|
38232
|
+
/* @__PURE__ */ jsxs139("div", { className: "text-sm space-y-1", children: [
|
|
38233
|
+
/* @__PURE__ */ jsxs139("div", { children: [
|
|
38234
|
+
/* @__PURE__ */ jsx156("span", { className: "text-gray-600", children: "From:" }),
|
|
38235
|
+
/* @__PURE__ */ jsxs139("span", { className: "font-mono ml-1", children: [
|
|
37556
38236
|
formatAddress4(tx.from.hash),
|
|
37557
|
-
tx.from.is_contract && /* @__PURE__ */
|
|
38237
|
+
tx.from.is_contract && /* @__PURE__ */ jsx156("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
|
|
37558
38238
|
] })
|
|
37559
38239
|
] }),
|
|
37560
|
-
/* @__PURE__ */
|
|
37561
|
-
/* @__PURE__ */
|
|
37562
|
-
/* @__PURE__ */
|
|
38240
|
+
/* @__PURE__ */ jsxs139("div", { children: [
|
|
38241
|
+
/* @__PURE__ */ jsx156("span", { className: "text-gray-600", children: "To:" }),
|
|
38242
|
+
/* @__PURE__ */ jsxs139("span", { className: "font-mono ml-1", children: [
|
|
37563
38243
|
formatAddress4(tx.to.hash),
|
|
37564
|
-
tx.to.is_contract && /* @__PURE__ */
|
|
38244
|
+
tx.to.is_contract && /* @__PURE__ */ jsx156("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
|
|
37565
38245
|
] })
|
|
37566
38246
|
] }),
|
|
37567
|
-
/* @__PURE__ */
|
|
37568
|
-
/* @__PURE__ */
|
|
37569
|
-
/* @__PURE__ */
|
|
38247
|
+
/* @__PURE__ */ jsxs139("div", { children: [
|
|
38248
|
+
/* @__PURE__ */ jsx156("span", { className: "text-gray-600", children: "Value:" }),
|
|
38249
|
+
/* @__PURE__ */ jsxs139("span", { className: "font-semibold ml-1", children: [
|
|
37570
38250
|
formatValue3(tx.value),
|
|
37571
38251
|
" LUMIA"
|
|
37572
38252
|
] })
|
|
37573
38253
|
] })
|
|
37574
38254
|
] })
|
|
37575
38255
|
] }),
|
|
37576
|
-
/* @__PURE__ */
|
|
37577
|
-
/* @__PURE__ */
|
|
37578
|
-
/* @__PURE__ */
|
|
38256
|
+
/* @__PURE__ */ jsxs139("div", { className: "text-right text-xs text-gray-500", children: [
|
|
38257
|
+
/* @__PURE__ */ jsx156("div", { children: formatDate2(tx.timestamp) }),
|
|
38258
|
+
/* @__PURE__ */ jsxs139("div", { className: "mt-1", children: [
|
|
37579
38259
|
"Gas: ",
|
|
37580
38260
|
parseInt(tx.gas_used).toLocaleString()
|
|
37581
38261
|
] }),
|
|
37582
|
-
tx.method && /* @__PURE__ */
|
|
38262
|
+
tx.method && /* @__PURE__ */ jsx156("div", { className: "mt-1 text-blue-600", children: tx.method })
|
|
37583
38263
|
] })
|
|
37584
38264
|
] }),
|
|
37585
|
-
tx.transaction_types.length > 0 && /* @__PURE__ */
|
|
38265
|
+
tx.transaction_types.length > 0 && /* @__PURE__ */ jsx156("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx156("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
|
|
37586
38266
|
]
|
|
37587
38267
|
},
|
|
37588
38268
|
tx.hash
|
|
@@ -37814,7 +38494,7 @@ function useDirectWallet() {
|
|
|
37814
38494
|
}
|
|
37815
38495
|
|
|
37816
38496
|
// src/hooks/useSendDirectTransaction.ts
|
|
37817
|
-
import { useCallback as useCallback41, useState as
|
|
38497
|
+
import { useCallback as useCallback41, useState as useState45 } from "react";
|
|
37818
38498
|
import { isAddress as isAddress4, parseEther as parseEther3 } from "viem";
|
|
37819
38499
|
import { useConnection as useConnection2, useSwitchChain as useSwitchChain4, useSendTransaction as useWagmiSendTransaction } from "wagmi";
|
|
37820
38500
|
|
|
@@ -37837,9 +38517,9 @@ function useSendDirectTransaction() {
|
|
|
37837
38517
|
const { connector } = useConnection2();
|
|
37838
38518
|
const { sendTransactionAsync: sendWagmiTransactionAsync } = useWagmiSendTransaction();
|
|
37839
38519
|
const { switchChainAsync } = useSwitchChain4();
|
|
37840
|
-
const [isPending, setIsPending] =
|
|
37841
|
-
const [error, setError] =
|
|
37842
|
-
const [txHash, setTxHash] =
|
|
38520
|
+
const [isPending, setIsPending] = useState45(false);
|
|
38521
|
+
const [error, setError] = useState45(null);
|
|
38522
|
+
const [txHash, setTxHash] = useState45(null);
|
|
37843
38523
|
const sendTransactionAsync = useCallback41(
|
|
37844
38524
|
async (params) => {
|
|
37845
38525
|
if (!isConnected || !connector) {
|
|
@@ -37899,7 +38579,7 @@ function useSendDirectTransaction() {
|
|
|
37899
38579
|
init_SessionContext();
|
|
37900
38580
|
init_account2();
|
|
37901
38581
|
init_linkedProfiles();
|
|
37902
|
-
import { useCallback as useCallback42, useMemo as
|
|
38582
|
+
import { useCallback as useCallback42, useMemo as useMemo24, useState as useState46 } from "react";
|
|
37903
38583
|
import { encodeFunctionData as encodeFunctionData3, isAddress as isAddress5, parseEther as parseEther4, parseUnits as parseUnits4 } from "viem";
|
|
37904
38584
|
var ERC20_TRANSFER_ABI2 = [
|
|
37905
38585
|
{
|
|
@@ -37915,10 +38595,10 @@ var ERC20_TRANSFER_ABI2 = [
|
|
|
37915
38595
|
function useTransferToLinkedWallet() {
|
|
37916
38596
|
const session = useSession((st) => st.session);
|
|
37917
38597
|
const { profiles } = useLinkedProfiles();
|
|
37918
|
-
const [isPending, setIsPending] =
|
|
37919
|
-
const [error, setError] =
|
|
37920
|
-
const [userOpHash, setUserOpHash] =
|
|
37921
|
-
const linkedWallets =
|
|
38598
|
+
const [isPending, setIsPending] = useState46(false);
|
|
38599
|
+
const [error, setError] = useState46(null);
|
|
38600
|
+
const [userOpHash, setUserOpHash] = useState46(null);
|
|
38601
|
+
const linkedWallets = useMemo24(
|
|
37922
38602
|
() => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
|
|
37923
38603
|
[profiles]
|
|
37924
38604
|
);
|