@embarkai/ui-kit 0.6.11 → 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 +1191 -546
- package/dist/index.d.cts +196 -1
- package/dist/index.d.ts +196 -1
- package/dist/index.js +1142 -488
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -333,7 +333,7 @@ var import_auth, UI_KIT_VERSION;
|
|
|
333
333
|
var init_sdk_version = __esm({
|
|
334
334
|
"src/internal/lib/sdk-version.ts"() {
|
|
335
335
|
import_auth = require("@embarkai/core/auth");
|
|
336
|
-
UI_KIT_VERSION = "0.6.
|
|
336
|
+
UI_KIT_VERSION = "0.6.12";
|
|
337
337
|
if (UI_KIT_VERSION) (0, import_auth.setSdkVersion)(UI_KIT_VERSION);
|
|
338
338
|
}
|
|
339
339
|
});
|
|
@@ -5589,7 +5589,7 @@ function Fallback() {
|
|
|
5589
5589
|
className: cn(
|
|
5590
5590
|
"embarkai-ui-scope",
|
|
5591
5591
|
"fixed top-0 left-0",
|
|
5592
|
-
"w-
|
|
5592
|
+
"w-[100dvw] h-[100dvh]",
|
|
5593
5593
|
"flex flex-col items-center justify-center"
|
|
5594
5594
|
),
|
|
5595
5595
|
children: [
|
|
@@ -5731,7 +5731,7 @@ var init_useLayoutDataStore = __esm({
|
|
|
5731
5731
|
init_constants();
|
|
5732
5732
|
PageKey = /* @__PURE__ */ ((PageKey2) => {
|
|
5733
5733
|
PageKey2["AUTH"] = "auth";
|
|
5734
|
-
PageKey2["
|
|
5734
|
+
PageKey2["USER_SECURITY_ACTIVITY"] = "user-security-activity";
|
|
5735
5735
|
PageKey2["LANGUAGES"] = "languages";
|
|
5736
5736
|
PageKey2["MAIN_MENU"] = "main-menu";
|
|
5737
5737
|
PageKey2["ACTIVITY_LOG"] = "activity-log";
|
|
@@ -10420,6 +10420,7 @@ var init_en = __esm({
|
|
|
10420
10420
|
passkey: "Passkey",
|
|
10421
10421
|
standard: "Standard",
|
|
10422
10422
|
advanced: "Advanced",
|
|
10423
|
+
extra: "Extra",
|
|
10423
10424
|
next: "Next",
|
|
10424
10425
|
prev: "Prev",
|
|
10425
10426
|
page: "Page",
|
|
@@ -10541,9 +10542,72 @@ var init_en = __esm({
|
|
|
10541
10542
|
loadFailed: "Could not load your activity. Check your connection and try again."
|
|
10542
10543
|
},
|
|
10543
10544
|
userActivityMenu: {
|
|
10544
|
-
title: "Activity",
|
|
10545
|
-
description: "
|
|
10545
|
+
title: "Security Activity",
|
|
10546
|
+
description: "Recent security activity",
|
|
10546
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
|
+
},
|
|
10547
10611
|
onboarding: {
|
|
10548
10612
|
title: "Your recent activity",
|
|
10549
10613
|
description: "Activity log of your recent actions like login, profile connection/disconnection, backup operations etc."
|
|
@@ -10982,7 +11046,7 @@ var init_en = __esm({
|
|
|
10982
11046
|
},
|
|
10983
11047
|
title: "Account Backup",
|
|
10984
11048
|
backupStatus: "Current keyshare backup level (embarkAI vault)",
|
|
10985
|
-
exploreBackupMethods: "
|
|
11049
|
+
exploreBackupMethods: "Keyshare Backup options",
|
|
10986
11050
|
encryptionMethod: "Encryption Method",
|
|
10987
11051
|
encryptionMethodExplanation: "Select the encryption method for your backup. Use Passkey to have full control over your account security without relying on a password.",
|
|
10988
11052
|
passwordMsg: "Secure your account by strong PASSWORD",
|
|
@@ -11022,8 +11086,9 @@ var init_en = __esm({
|
|
|
11022
11086
|
advanced: "Advanced",
|
|
11023
11087
|
secured: "Secured"
|
|
11024
11088
|
},
|
|
11025
|
-
vault: "
|
|
11026
|
-
|
|
11089
|
+
vault: "Vault",
|
|
11090
|
+
advancedVault: "Advanced",
|
|
11091
|
+
securedVault: "Secured",
|
|
11027
11092
|
vaultExplanation: "Store a backup into embarkAI vault to ensure recoverability of your wallet.",
|
|
11028
11093
|
vaultMaxProtection: "Your embartkAI wallet is secured",
|
|
11029
11094
|
recoveryProviders: {
|
|
@@ -11142,6 +11207,7 @@ var init_ru = __esm({
|
|
|
11142
11207
|
passkey: "Passkey",
|
|
11143
11208
|
standard: "\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439",
|
|
11144
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",
|
|
11145
11211
|
next: "\u0421\u043B\u0435\u0434",
|
|
11146
11212
|
prev: "\u041F\u0440\u0435\u0434",
|
|
11147
11213
|
page: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430",
|
|
@@ -11263,9 +11329,72 @@ var init_ru = __esm({
|
|
|
11263
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."
|
|
11264
11330
|
},
|
|
11265
11331
|
userActivityMenu: {
|
|
11266
|
-
title: "\u0410\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C",
|
|
11267
|
-
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",
|
|
11268
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
|
+
},
|
|
11269
11398
|
onboarding: {
|
|
11270
11399
|
title: "\u041C\u0435\u043D\u044E \u043D\u0435\u0434\u0430\u0432\u043D\u0435\u0439 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438",
|
|
11271
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."
|
|
@@ -11704,7 +11833,7 @@ var init_ru = __esm({
|
|
|
11704
11833
|
},
|
|
11705
11834
|
title: "\u0411\u0435\u043A\u0430\u043F \u0410\u043A\u043A\u0430\u0443\u043D\u0442\u0430",
|
|
11706
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)",
|
|
11707
|
-
exploreBackupMethods: "\
|
|
11836
|
+
exploreBackupMethods: "\u0412\u0430\u0440\u0438\u0430\u043D\u0442\u044B \u0431\u044D\u043A\u0430\u043F\u0430 Keyshare",
|
|
11708
11837
|
encryptionMethod: "\u041C\u0435\u0442\u043E\u0434 \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
|
|
11709
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.",
|
|
11710
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",
|
|
@@ -11744,8 +11873,9 @@ var init_ru = __esm({
|
|
|
11744
11873
|
advanced: "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439",
|
|
11745
11874
|
secured: "\u0417\u0430\u0449\u0438\u0449\u0451\u043D\u043D\u044B\u0439"
|
|
11746
11875
|
},
|
|
11747
|
-
vault: "\
|
|
11748
|
-
|
|
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",
|
|
11749
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.",
|
|
11750
11880
|
vaultMaxProtection: "\u0412\u0430\u0448 \u043A\u043E\u0448\u0435\u043B\u0451\u043A embarkAI \u0437\u0430\u0449\u0438\u0449\u0451\u043D",
|
|
11751
11881
|
recoveryProviders: {
|
|
@@ -11864,6 +11994,7 @@ var init_zh = __esm({
|
|
|
11864
11994
|
passkey: "\u5BC6\u7801\u5BC6\u94A5",
|
|
11865
11995
|
standard: "\u6807\u51C6",
|
|
11866
11996
|
advanced: "\u9AD8\u7EA7",
|
|
11997
|
+
extra: "\u66F4\u591A",
|
|
11867
11998
|
next: "\u4E0B\u4E00\u6B65",
|
|
11868
11999
|
prev: "\u4E0A\u4E00\u6B65",
|
|
11869
12000
|
page: "\u9875\u9762",
|
|
@@ -11985,9 +12116,72 @@ var init_zh = __esm({
|
|
|
11985
12116
|
loadFailed: "\u65E0\u6CD5\u52A0\u8F7D\u6D3B\u52A8\u8BB0\u5F55\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5\u540E\u91CD\u8BD5\u3002"
|
|
11986
12117
|
},
|
|
11987
12118
|
userActivityMenu: {
|
|
11988
|
-
title: "\u6D3B\u52A8",
|
|
11989
|
-
description: "\
|
|
12119
|
+
title: "\u5B89\u5168\u6D3B\u52A8",
|
|
12120
|
+
description: "\u8FD1\u671F\u5B89\u5168\u6D3B\u52A8",
|
|
11990
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
|
+
},
|
|
11991
12185
|
onboarding: {
|
|
11992
12186
|
title: "\u6700\u8FD1\u6D3B\u52A8\u83DC\u5355",
|
|
11993
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"
|
|
@@ -12426,7 +12620,7 @@ var init_zh = __esm({
|
|
|
12426
12620
|
},
|
|
12427
12621
|
title: "\u8D26\u6237\u5907\u4EFD",
|
|
12428
12622
|
backupStatus: "embarkAI Vault \u4E2D\u5F53\u524D\u7684\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u7EA7\u522B",
|
|
12429
|
-
exploreBackupMethods: "\
|
|
12623
|
+
exploreBackupMethods: "\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u9009\u9879",
|
|
12430
12624
|
encryptionMethod: "\u52A0\u5BC6\u65B9\u5F0F",
|
|
12431
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",
|
|
12432
12626
|
passwordMsg: "\u4F7F\u7528\u5F3A\u5BC6\u7801\u4FDD\u62A4\u60A8\u7684\u8D26\u6237\u3002",
|
|
@@ -12466,8 +12660,9 @@ var init_zh = __esm({
|
|
|
12466
12660
|
advanced: "\u9AD8\u7EA7",
|
|
12467
12661
|
secured: "\u5B89\u5168"
|
|
12468
12662
|
},
|
|
12469
|
-
vault: "Vault
|
|
12470
|
-
|
|
12663
|
+
vault: "Vault",
|
|
12664
|
+
advancedVault: "\u9AD8\u7EA7",
|
|
12665
|
+
securedVault: "\u5B89\u5168",
|
|
12471
12666
|
vaultExplanation: "\u5C06\u5907\u4EFD\u5B58\u50A8\u5230 embarkAI Vault\uFF0C\u4EE5\u786E\u4FDD\u60A8\u7684\u94B1\u5305\u53EF\u88AB\u6062\u590D\u3002",
|
|
12472
12667
|
vaultMaxProtection: "\u60A8\u7684 embarkAI \u94B1\u5305\u5DF2\u53D7\u5230\u4FDD\u62A4",
|
|
12473
12668
|
recoveryProviders: {
|
|
@@ -14162,7 +14357,7 @@ function Social(props) {
|
|
|
14162
14357
|
const isPasskey = !!config.current?.passkey?.enabled;
|
|
14163
14358
|
const isWallet = !!config.current?.wallet?.enabled && config.current?.wallet?.as === "social";
|
|
14164
14359
|
const PasskeyIcon = PROVIDERS_META.passkey.icon;
|
|
14165
|
-
const
|
|
14360
|
+
const WalletIcon2 = PROVIDERS_META.wallet.icon;
|
|
14166
14361
|
const walletButton = isWallet ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
14167
14362
|
Button,
|
|
14168
14363
|
{
|
|
@@ -14176,7 +14371,7 @@ function Social(props) {
|
|
|
14176
14371
|
},
|
|
14177
14372
|
disabled: isLoading,
|
|
14178
14373
|
title: t("passport:auth.wallet.label"),
|
|
14179
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
14374
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(WalletIcon2, { className: "w-5 h-5" })
|
|
14180
14375
|
}
|
|
14181
14376
|
) : null;
|
|
14182
14377
|
const passkeyButton = isPasskey ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
@@ -20731,7 +20926,7 @@ function ConnectExternalWalletMenu() {
|
|
|
20731
20926
|
(isLoadingWalletProviders ? [] : visibleConnectors).map((connector) => {
|
|
20732
20927
|
const isConnectingThis = isConnectingExternalWallet && //@ts-expect-error uid exists
|
|
20733
20928
|
pendingConnectVariables?.connector?.uid === connector.uid;
|
|
20734
|
-
const
|
|
20929
|
+
const WalletIcon2 = WALLET_ICONS[connector.id] || import_lucide_react33.Wallet2Icon;
|
|
20735
20930
|
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
20736
20931
|
Button,
|
|
20737
20932
|
{
|
|
@@ -20771,7 +20966,7 @@ function ConnectExternalWalletMenu() {
|
|
|
20771
20966
|
}
|
|
20772
20967
|
},
|
|
20773
20968
|
children: [
|
|
20774
|
-
isConnectingThis ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "w-6 h-6 flex-none flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Loader, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
20969
|
+
isConnectingThis ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "w-6 h-6 flex-none flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react33.Loader, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(WalletIcon2, { className: "w-6 h-6 flex-none" }),
|
|
20775
20970
|
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { children: connector.name })
|
|
20776
20971
|
]
|
|
20777
20972
|
},
|
|
@@ -21652,13 +21847,13 @@ function DeviceManageScreen() {
|
|
|
21652
21847
|
}, [screen]);
|
|
21653
21848
|
const handleBackup = (0, import_react55.useCallback)(async () => {
|
|
21654
21849
|
const guardian = guardianRef.current;
|
|
21655
|
-
const
|
|
21656
|
-
if (!guardian || !
|
|
21850
|
+
const iframe6 = getIframeManager();
|
|
21851
|
+
if (!guardian || !iframe6 || !userId) return;
|
|
21657
21852
|
setActionState({ action: "backup", substep: "working" });
|
|
21658
21853
|
setErrorMessage(null);
|
|
21659
21854
|
setWaitingConfirm(false);
|
|
21660
21855
|
try {
|
|
21661
|
-
await backupToGuardian(guardian, userId,
|
|
21856
|
+
await backupToGuardian(guardian, userId, iframe6, password);
|
|
21662
21857
|
setWaitingConfirm(false);
|
|
21663
21858
|
setStatusMessage("Keyshare backed up successfully!");
|
|
21664
21859
|
setActionState(null);
|
|
@@ -21676,15 +21871,15 @@ function DeviceManageScreen() {
|
|
|
21676
21871
|
}, [password, userId, refreshList]);
|
|
21677
21872
|
const handleOverwrite = (0, import_react55.useCallback)(async () => {
|
|
21678
21873
|
const guardian = guardianRef.current;
|
|
21679
|
-
const
|
|
21680
|
-
if (!guardian || !
|
|
21874
|
+
const iframe6 = getIframeManager();
|
|
21875
|
+
if (!guardian || !iframe6 || !userId) return;
|
|
21681
21876
|
setActionState({ action: "overwrite", substep: "working" });
|
|
21682
21877
|
setErrorMessage(null);
|
|
21683
21878
|
setWaitingConfirm(false);
|
|
21684
21879
|
try {
|
|
21685
21880
|
await deleteFromGuardian(guardian, userId);
|
|
21686
21881
|
setWaitingConfirm(false);
|
|
21687
|
-
await backupToGuardian(guardian, userId,
|
|
21882
|
+
await backupToGuardian(guardian, userId, iframe6, password);
|
|
21688
21883
|
setStatusMessage("Keyshare updated successfully!");
|
|
21689
21884
|
setActionState(null);
|
|
21690
21885
|
setPassword("");
|
|
@@ -21911,8 +22106,8 @@ function DeviceRestoreScreen() {
|
|
|
21911
22106
|
const [errorMessage, setErrorMessage] = (0, import_react56.useState)(null);
|
|
21912
22107
|
const handleRestore = (0, import_react56.useCallback)(async () => {
|
|
21913
22108
|
if (!password || !keyshareId || !userId) return;
|
|
21914
|
-
const
|
|
21915
|
-
if (!
|
|
22109
|
+
const iframe6 = getIframeManager();
|
|
22110
|
+
if (!iframe6) {
|
|
21916
22111
|
setErrorMessage("Iframe manager not initialized");
|
|
21917
22112
|
return;
|
|
21918
22113
|
}
|
|
@@ -21922,7 +22117,7 @@ function DeviceRestoreScreen() {
|
|
|
21922
22117
|
try {
|
|
21923
22118
|
const { guardian } = await connectGuardian(deviceId);
|
|
21924
22119
|
try {
|
|
21925
|
-
await restoreFromGuardian(guardian, keyshareId, userId,
|
|
22120
|
+
await restoreFromGuardian(guardian, keyshareId, userId, iframe6, password);
|
|
21926
22121
|
setStatusMessage("Keyshare restored successfully!");
|
|
21927
22122
|
setPassword("");
|
|
21928
22123
|
window.dispatchEvent(new CustomEvent("lumia-passport-backup-status-changed"));
|
|
@@ -22703,7 +22898,7 @@ var init_hooks = __esm({
|
|
|
22703
22898
|
|
|
22704
22899
|
// src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
|
|
22705
22900
|
function MethodSelector(props) {
|
|
22706
|
-
const { mode = "restore" } = props;
|
|
22901
|
+
const { mode = "restore", securityStatus = null } = props;
|
|
22707
22902
|
const { t } = useT();
|
|
22708
22903
|
const {
|
|
22709
22904
|
method: selectedRecoveryMethod,
|
|
@@ -22714,66 +22909,90 @@ function MethodSelector(props) {
|
|
|
22714
22909
|
setError,
|
|
22715
22910
|
setSuccess
|
|
22716
22911
|
} = useRestoreStore();
|
|
22717
|
-
const availableMethods = getBackupMethods(mode);
|
|
22718
22912
|
if (!!selectedRecoveryMethod) return null;
|
|
22913
|
+
const availableMethods = getBackupMethods(mode);
|
|
22914
|
+
const { activeLevel, isBackupManagedByUser } = getActiveLevel(securityStatus);
|
|
22719
22915
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_react62.Fragment, { children: [
|
|
22720
22916
|
mode === "restore" && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-xs text-(--ui-kit-fg-muted)", children: t("passport:restoreMenu.availableRestoreMethods") }),
|
|
22721
|
-
|
|
22722
|
-
"div",
|
|
22723
|
-
|
|
22724
|
-
"
|
|
22725
|
-
"
|
|
22726
|
-
|
|
22727
|
-
|
|
22728
|
-
|
|
22729
|
-
|
|
22730
|
-
"
|
|
22731
|
-
"w-full flex items-center gap-(--ui-kit-gap)",
|
|
22732
|
-
"p-(--ui-kit-pd) border border-(--ui-kit-bd)",
|
|
22733
|
-
"rounded-(--ui-kit-el-bdrs)",
|
|
22734
|
-
"bg-(--ui-kit-secondary)",
|
|
22917
|
+
availableMethods.map((methodGroup, methodGroupIdx) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_react62.Fragment, { children: [
|
|
22918
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center gap-(--ui-kit-gap)", children: [
|
|
22919
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "flex-1 block h-px bg-(--ui-kit-bd)" }),
|
|
22920
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-[10px] uppercase text-(--ui-kit-fg-muted)", children: t(methodGroupIdx === 0 ? "passport:backupMenu.vault" : "passport:common.extra") }),
|
|
22921
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "flex-1 block h-px bg-(--ui-kit-bd)" })
|
|
22922
|
+
] }),
|
|
22923
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "w-full grid grid-cols-2 gap-(--ui-kit-gap)", children: methodGroup.map(({ method, label, Icon: Icon2, disabled, explanation }) => {
|
|
22924
|
+
const isActiveLevel = method === "server" && activeLevel === "advanced" || method === "securedServer" && activeLevel === "secured";
|
|
22925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
22926
|
+
"div",
|
|
22735
22927
|
{
|
|
22736
|
-
"
|
|
22737
|
-
"
|
|
22738
|
-
|
|
22739
|
-
|
|
22740
|
-
|
|
22741
|
-
|
|
22742
|
-
|
|
22743
|
-
|
|
22744
|
-
|
|
22745
|
-
|
|
22746
|
-
|
|
22747
|
-
|
|
22748
|
-
|
|
22749
|
-
|
|
22750
|
-
|
|
22751
|
-
|
|
22752
|
-
|
|
22753
|
-
|
|
22754
|
-
|
|
22755
|
-
|
|
22756
|
-
|
|
22757
|
-
|
|
22758
|
-
|
|
22759
|
-
|
|
22760
|
-
|
|
22761
|
-
|
|
22762
|
-
|
|
22763
|
-
|
|
22764
|
-
|
|
22765
|
-
|
|
22766
|
-
|
|
22767
|
-
|
|
22768
|
-
|
|
22769
|
-
|
|
22770
|
-
|
|
22928
|
+
"aria-disabled": disabled,
|
|
22929
|
+
"aria-label": t(label),
|
|
22930
|
+
role: "button",
|
|
22931
|
+
tabIndex: 0,
|
|
22932
|
+
className: cn2(
|
|
22933
|
+
"relative",
|
|
22934
|
+
"cursor-pointer",
|
|
22935
|
+
"w-full flex items-center gap-(--ui-kit-gap)",
|
|
22936
|
+
"p-(--ui-kit-pd) border border-(--ui-kit-bd)",
|
|
22937
|
+
"rounded-(--ui-kit-el-bdrs)",
|
|
22938
|
+
"bg-(--ui-kit-secondary)",
|
|
22939
|
+
{
|
|
22940
|
+
"hover:opacity-80 active:opacity-60 transition-opacity": !disabled,
|
|
22941
|
+
"opacity-60": disabled
|
|
22942
|
+
}
|
|
22943
|
+
),
|
|
22944
|
+
onClick: () => {
|
|
22945
|
+
if (disabled) return;
|
|
22946
|
+
setRestorePassword("");
|
|
22947
|
+
setRestoreFile(null);
|
|
22948
|
+
setShowPassword(false);
|
|
22949
|
+
setError(null);
|
|
22950
|
+
setSuccess(null);
|
|
22951
|
+
setMethod(method);
|
|
22952
|
+
},
|
|
22953
|
+
children: [
|
|
22954
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon2, { className: "w-4 h-4" }),
|
|
22955
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-sm font-bold", children: t(label) }),
|
|
22956
|
+
!disabled && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
22957
|
+
"div",
|
|
22958
|
+
{
|
|
22959
|
+
className: cn2(
|
|
22960
|
+
//
|
|
22961
|
+
"absolute top-1 right-1",
|
|
22962
|
+
"rounded-full bg-(--ui-kit-secondary)"
|
|
22963
|
+
),
|
|
22964
|
+
onClick: (e) => e.stopPropagation(),
|
|
22965
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
22966
|
+
Tooltip,
|
|
22967
|
+
{
|
|
22968
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(Highlight, { className: "border border-(--ui-kit-bd) flex flex-1 flex-col gap-(--ui-kit-gap)", children: [
|
|
22969
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-bold", children: t(label) }),
|
|
22970
|
+
!!explanation && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
22971
|
+
import_react_i18next3.Trans,
|
|
22972
|
+
{
|
|
22973
|
+
i18nKey: explanation,
|
|
22974
|
+
components: { br: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("br", {}), b: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("b", { className: "inline" }), u: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("u", {}) }
|
|
22975
|
+
}
|
|
22976
|
+
)
|
|
22977
|
+
] }),
|
|
22978
|
+
children: isActiveLevel && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PositiveIcon, { className: "w-4 h-4" })
|
|
22979
|
+
}
|
|
22980
|
+
)
|
|
22981
|
+
}
|
|
22982
|
+
)
|
|
22983
|
+
]
|
|
22984
|
+
},
|
|
22985
|
+
method + "_" + label
|
|
22986
|
+
);
|
|
22987
|
+
}) })
|
|
22988
|
+
] }, `method-group-${methodGroupIdx}`))
|
|
22771
22989
|
] });
|
|
22772
22990
|
}
|
|
22773
|
-
var import_lucide_react39, import_react62, import_react_i18next3, import_jsx_runtime79, getBackupMethods;
|
|
22991
|
+
var import_lucide_react39, import_react62, import_react_i18next3, import_jsx_runtime79, getBackupMethods, getActiveLevel;
|
|
22774
22992
|
var init_MethodSelector = __esm({
|
|
22775
22993
|
"src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx"() {
|
|
22776
22994
|
init_useT();
|
|
22995
|
+
init_icons();
|
|
22777
22996
|
init_utils();
|
|
22778
22997
|
import_lucide_react39 = require("lucide-react");
|
|
22779
22998
|
import_react62 = require("react");
|
|
@@ -22784,20 +23003,22 @@ var init_MethodSelector = __esm({
|
|
|
22784
23003
|
init_hooks();
|
|
22785
23004
|
import_jsx_runtime79 = require("react/jsx-runtime");
|
|
22786
23005
|
getBackupMethods = (mode) => {
|
|
22787
|
-
const
|
|
23006
|
+
const vaultMethods = [
|
|
22788
23007
|
{
|
|
22789
23008
|
method: "server",
|
|
22790
|
-
label: "passport:backupMenu.
|
|
23009
|
+
label: "passport:backupMenu.advancedVault",
|
|
22791
23010
|
explanation: "passport:backupMenu.vaultExplanation",
|
|
22792
|
-
Icon: import_lucide_react39.
|
|
23011
|
+
Icon: import_lucide_react39.ShieldPlusIcon,
|
|
22793
23012
|
disabled: true
|
|
22794
23013
|
},
|
|
22795
23014
|
{
|
|
22796
23015
|
method: "securedServer",
|
|
22797
23016
|
label: "passport:backupMenu.securedVault",
|
|
22798
23017
|
explanation: "passport:backupMenu.vaultExplanation",
|
|
22799
|
-
Icon: import_lucide_react39.
|
|
22800
|
-
}
|
|
23018
|
+
Icon: import_lucide_react39.ShieldUserIcon
|
|
23019
|
+
}
|
|
23020
|
+
];
|
|
23021
|
+
const extraMethods = [
|
|
22801
23022
|
{
|
|
22802
23023
|
method: "file",
|
|
22803
23024
|
label: "passport:backupMenu.file",
|
|
@@ -22813,14 +23034,19 @@ var init_MethodSelector = __esm({
|
|
|
22813
23034
|
}
|
|
22814
23035
|
];
|
|
22815
23036
|
if (isWebSerialAvailable()) {
|
|
22816
|
-
|
|
23037
|
+
extraMethods.push({
|
|
22817
23038
|
method: "guardian",
|
|
22818
23039
|
label: "passport:guardiansMenu.title",
|
|
22819
23040
|
explanation: "passport:guardiansMenu.guardiansExplanation",
|
|
22820
23041
|
Icon: import_lucide_react39.Cpu
|
|
22821
23042
|
});
|
|
22822
23043
|
}
|
|
22823
|
-
return
|
|
23044
|
+
return [vaultMethods, extraMethods];
|
|
23045
|
+
};
|
|
23046
|
+
getActiveLevel = (securityStatus) => {
|
|
23047
|
+
const isBackupManagedByUser = securityStatus?.encryptionMethod === "passkey" || securityStatus?.encryptionMethod === "password";
|
|
23048
|
+
if (isBackupManagedByUser) return { isBackupManagedByUser: true, activeLevel: "secured" };
|
|
23049
|
+
return { isBackupManagedByUser, activeLevel: securityStatus?.level || null };
|
|
22824
23050
|
};
|
|
22825
23051
|
}
|
|
22826
23052
|
});
|
|
@@ -23461,7 +23687,7 @@ function BackupProgress(props) {
|
|
|
23461
23687
|
const backupMethod = useRestoreStore((st) => st.method);
|
|
23462
23688
|
const [isBackupNoticeVisible, setIsBackupNoticeVisible] = (0, import_react65.useState)(false);
|
|
23463
23689
|
if (!!backupMethod) return null;
|
|
23464
|
-
const { activeLevel, isBackupManagedByUser } =
|
|
23690
|
+
const { activeLevel, isBackupManagedByUser } = getActiveLevel2(securityStatus);
|
|
23465
23691
|
const isMaxBackupSecurity = isBackupManagedByUser;
|
|
23466
23692
|
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex flex-col gap-(--ui-kit-gap)", children: [
|
|
23467
23693
|
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex items-center gap-(--ui-kit-gap) justify-between", children: [
|
|
@@ -23549,7 +23775,7 @@ function BackupProgress(props) {
|
|
|
23549
23775
|
] })
|
|
23550
23776
|
] });
|
|
23551
23777
|
}
|
|
23552
|
-
var import_dayjs4, import_lucide_react43, import_react65, import_react_i18next5, import_jsx_runtime84,
|
|
23778
|
+
var import_dayjs4, import_lucide_react43, import_react65, import_react_i18next5, import_jsx_runtime84, getActiveLevel2;
|
|
23553
23779
|
var init_BackupProgress = __esm({
|
|
23554
23780
|
"src/internal/components/KeyshareRestoreMenu/components/BackupProgress.tsx"() {
|
|
23555
23781
|
init_useT();
|
|
@@ -23565,7 +23791,7 @@ var init_BackupProgress = __esm({
|
|
|
23565
23791
|
init_hooks();
|
|
23566
23792
|
init_NodeGraph();
|
|
23567
23793
|
import_jsx_runtime84 = require("react/jsx-runtime");
|
|
23568
|
-
|
|
23794
|
+
getActiveLevel2 = (securityStatus) => {
|
|
23569
23795
|
const isBackupManagedByUser = securityStatus?.encryptionMethod === "passkey" || securityStatus?.encryptionMethod === "password";
|
|
23570
23796
|
if (isBackupManagedByUser) return { isBackupManagedByUser: true, activeLevel: "secured" };
|
|
23571
23797
|
return { isBackupManagedByUser, activeLevel: securityStatus?.level || null };
|
|
@@ -24521,19 +24747,15 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
24521
24747
|
Button,
|
|
24522
24748
|
{
|
|
24523
24749
|
size: "small",
|
|
24524
|
-
variant: "
|
|
24750
|
+
variant: "secondary",
|
|
24525
24751
|
onClick: () => {
|
|
24526
24752
|
const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
|
|
24527
24753
|
if (!!error) setError(null);
|
|
24528
24754
|
setRestorePassword("");
|
|
24529
24755
|
setRestoreFile(null);
|
|
24530
|
-
|
|
24531
|
-
setMethod(null);
|
|
24532
|
-
} else {
|
|
24533
|
-
setMethod("securedServer");
|
|
24534
|
-
}
|
|
24756
|
+
setMethod(null);
|
|
24535
24757
|
},
|
|
24536
|
-
children: t("passport:common.
|
|
24758
|
+
children: t("passport:common.extra")
|
|
24537
24759
|
}
|
|
24538
24760
|
)
|
|
24539
24761
|
] }),
|
|
@@ -24743,15 +24965,18 @@ function KeyshareBackupMenu() {
|
|
|
24743
24965
|
)
|
|
24744
24966
|
] }),
|
|
24745
24967
|
!isBasicBackup && /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
|
|
24746
|
-
isMethodSelectorVisible && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(MethodSelector, { mode: "backup" }),
|
|
24747
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.
|
|
24968
|
+
isMethodSelectorVisible && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(MethodSelector, { mode: "backup", securityStatus }),
|
|
24969
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
|
|
24748
24970
|
Button,
|
|
24749
24971
|
{
|
|
24750
24972
|
variant: isMethodSelectorVisible ? "ghost" : "secondary",
|
|
24751
24973
|
size: "medium",
|
|
24752
24974
|
className: "w-full",
|
|
24753
24975
|
onClick: () => setIsMethodSelectorVisible((prev) => !prev),
|
|
24754
|
-
children:
|
|
24976
|
+
children: [
|
|
24977
|
+
isMethodSelectorVisible ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react52.ChevronUpIcon, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_lucide_react52.ListIcon, { className: "h-4 w-4" }),
|
|
24978
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { children: isMethodSelectorVisible ? t("passport:common.hide") : t("passport:backupMenu.exploreBackupMethods") })
|
|
24979
|
+
]
|
|
24755
24980
|
}
|
|
24756
24981
|
)
|
|
24757
24982
|
] })
|
|
@@ -27506,8 +27731,8 @@ function parseOS(ua) {
|
|
|
27506
27731
|
if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
|
|
27507
27732
|
return null;
|
|
27508
27733
|
}
|
|
27509
|
-
function cleanStringArtifacts(
|
|
27510
|
-
return
|
|
27734
|
+
function cleanStringArtifacts(str2) {
|
|
27735
|
+
return str2.replace(/"/g, "").replace(/\"/g, "").replace(/unknown/g, "");
|
|
27511
27736
|
}
|
|
27512
27737
|
function LastBackup(props) {
|
|
27513
27738
|
const { backup, createdRecoveryStats, level } = props;
|
|
@@ -28545,8 +28770,7 @@ function SecurityMenuContent() {
|
|
|
28545
28770
|
}),
|
|
28546
28771
|
children: [
|
|
28547
28772
|
/* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_lucide_react72.WaypointsIcon, { className: "h-4 w-4" }),
|
|
28548
|
-
t("passport:securityMenu.keyshareReshare.title")
|
|
28549
|
-
/* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { className: "text-[10px]", children: t("passport:common.comingSoon") })
|
|
28773
|
+
t("passport:securityMenu.keyshareReshare.title")
|
|
28550
28774
|
]
|
|
28551
28775
|
}
|
|
28552
28776
|
),
|
|
@@ -33273,40 +33497,26 @@ function TransactionsGroup(props) {
|
|
|
33273
33497
|
"bg-[var(--ui-kit-secondary)] hover:opacity-80 active:opacity-60"
|
|
33274
33498
|
),
|
|
33275
33499
|
children: [
|
|
33276
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center justify-between gap-
|
|
33500
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center justify-between gap-(--ui-kit-gap)", children: [
|
|
33277
33501
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
|
|
33278
33502
|
parent.direction === "in" ? /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_lucide_react86.ChevronLeft, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_lucide_react86.ChevronRight, { className: "w-4 h-4" }),
|
|
33279
33503
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[10px] uppercase", children: isIncoming ? t("passport:common.received") : t("passport:common.sent") }),
|
|
33280
33504
|
parent.status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(PositiveIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(NegativeIcon, {})
|
|
33281
33505
|
] }),
|
|
33282
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "block flex-
|
|
33506
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "block flex-1 font-mono text-[10px] text-right text-(--ui-kit-fg-muted) whitespace-nowrap", children: formatTimestamp2(group.timestampMs) })
|
|
33283
33507
|
] }),
|
|
33284
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.
|
|
33285
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("
|
|
33286
|
-
|
|
33287
|
-
|
|
33288
|
-
|
|
33289
|
-
assetSymbol
|
|
33290
|
-
] }),
|
|
33291
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("span", { className: "text-[10px] font-mono text-[var(--ui-kit-fg-muted)]", children: [
|
|
33292
|
-
isIncoming ? t("passport:common.from") : t("passport:common.to"),
|
|
33293
|
-
": ",
|
|
33294
|
-
parent.counterpartyName || formatAddress2(parent.counterparty)
|
|
33295
|
-
] })
|
|
33508
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "flex items-end justify-between gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex flex-col gap-0", children: [
|
|
33509
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("span", { className: "font-bold", children: [
|
|
33510
|
+
formatValue2(parent.value, assetDecimals),
|
|
33511
|
+
" ",
|
|
33512
|
+
assetSymbol
|
|
33296
33513
|
] }),
|
|
33297
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.
|
|
33298
|
-
|
|
33299
|
-
|
|
33300
|
-
|
|
33301
|
-
|
|
33302
|
-
|
|
33303
|
-
onClick: (e) => {
|
|
33304
|
-
e.stopPropagation();
|
|
33305
|
-
},
|
|
33306
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_lucide_react86.Copy, { className: "w-4 h-4" })
|
|
33307
|
-
}
|
|
33308
|
-
) })
|
|
33309
|
-
] }),
|
|
33514
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("span", { className: "text-[10px] font-mono text-[var(--ui-kit-fg-muted)]", children: [
|
|
33515
|
+
isIncoming ? t("passport:common.from") : t("passport:common.to"),
|
|
33516
|
+
": ",
|
|
33517
|
+
parent.counterpartyName || formatAddress2(parent.counterparty)
|
|
33518
|
+
] })
|
|
33519
|
+
] }) }),
|
|
33310
33520
|
internalsToRender.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(import_jsx_runtime133.Fragment, { children: [
|
|
33311
33521
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "w-full flex items-center h-4", children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { style: { borderTop: "1px solid var(--ui-kit-bd)" }, className: "flex-1" }) }),
|
|
33312
33522
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
@@ -33551,7 +33761,7 @@ var init_constants10 = __esm({
|
|
|
33551
33761
|
init_icons();
|
|
33552
33762
|
NAV_BUTTONS = [
|
|
33553
33763
|
{ id: "transactions" /* TRANSACTIONS */, name: "passport:transactionsMenu.title", Icon: import_lucide_react88.ArrowLeftRight },
|
|
33554
|
-
{ id: "user-activity" /*
|
|
33764
|
+
{ id: "user-security-activity" /* USER_SECURITY_ACTIVITY */, name: "passport:userActivityMenu.title", Icon: import_lucide_react88.ActivityIcon },
|
|
33555
33765
|
{ id: "kyc" /* KYC */, name: "passport:kycMenu.title", Icon: kyc_default },
|
|
33556
33766
|
{ id: "nickname-settings" /* NICKNAME_SETTINGS */, name: "passport:nicknameMenu.title", Icon: import_lucide_react88.AtSign },
|
|
33557
33767
|
{ id: "manage-wallet" /* MANAGE_WALLET */, name: "passport:profilesMenu.title", Icon: import_lucide_react88.UsersRound },
|
|
@@ -33723,54 +33933,489 @@ var init_SettingsMenu2 = __esm({
|
|
|
33723
33933
|
}
|
|
33724
33934
|
});
|
|
33725
33935
|
|
|
33726
|
-
// src/internal/components/
|
|
33727
|
-
function
|
|
33936
|
+
// src/internal/components/UserSecurityActivityMenu/filters.ts
|
|
33937
|
+
function validateActivityFilters(filters) {
|
|
33938
|
+
const { period, customFrom, customTo } = filters;
|
|
33939
|
+
if (period !== "custom" || !customFrom) return null;
|
|
33940
|
+
const from = (0, import_dayjs10.default)(customFrom).startOf("day");
|
|
33941
|
+
const to = customTo ? (0, import_dayjs10.default)(customTo).endOf("day") : (0, import_dayjs10.default)();
|
|
33942
|
+
if (from.isAfter(to)) return "rangeOrder";
|
|
33943
|
+
if (to.diff(from, "day", true) > MAX_RANGE_DAYS) return "rangeTooLong";
|
|
33944
|
+
return null;
|
|
33945
|
+
}
|
|
33946
|
+
function countActiveActivityFilters(filters) {
|
|
33947
|
+
const { eventTypes, period, customFrom, customTo } = filters;
|
|
33948
|
+
const hasTypes = eventTypes.length > 0 && eventTypes.length < ALL_ACTIVITY_EVENT_TYPES.length;
|
|
33949
|
+
const hasPeriod = period === "custom" ? !!customFrom || !!customTo : period !== "all";
|
|
33950
|
+
return Number(hasTypes) + Number(hasPeriod);
|
|
33951
|
+
}
|
|
33952
|
+
function buildActivityPayload(filters, now = (0, import_dayjs10.default)()) {
|
|
33953
|
+
const { eventTypes, period, customFrom, customTo } = filters;
|
|
33954
|
+
const payload = {};
|
|
33955
|
+
if (eventTypes.length > 0 && eventTypes.length < ALL_ACTIVITY_EVENT_TYPES.length) {
|
|
33956
|
+
payload.event_type = [...eventTypes].sort();
|
|
33957
|
+
}
|
|
33958
|
+
const duration = PERIOD_DURATIONS[period];
|
|
33959
|
+
if (duration) {
|
|
33960
|
+
payload.from = now.subtract(duration[0], duration[1]).toISOString();
|
|
33961
|
+
} else if (period === "custom") {
|
|
33962
|
+
if (customFrom) payload.from = (0, import_dayjs10.default)(customFrom).startOf("day").toISOString();
|
|
33963
|
+
if (customTo) payload.to = (0, import_dayjs10.default)(customTo).endOf("day").toISOString();
|
|
33964
|
+
}
|
|
33965
|
+
return payload;
|
|
33966
|
+
}
|
|
33967
|
+
var import_dayjs10, ACTIVITY_EVENT_GROUPS, ALL_ACTIVITY_EVENT_TYPES, MAX_RANGE_DAYS, ACTIVITY_PERIODS, PERIOD_DURATIONS, DEFAULT_ACTIVITY_FILTERS;
|
|
33968
|
+
var init_filters = __esm({
|
|
33969
|
+
"src/internal/components/UserSecurityActivityMenu/filters.ts"() {
|
|
33970
|
+
import_dayjs10 = __toESM(require("dayjs"), 1);
|
|
33971
|
+
ACTIVITY_EVENT_GROUPS = [
|
|
33972
|
+
{ id: "auth", types: ["auth.login", "auth.login_failed"] },
|
|
33973
|
+
{ id: "backup", types: ["backup.created", "backup.restored", "backup.rewrapped", "backup.deleted"] },
|
|
33974
|
+
{ id: "account", types: ["account.provider_linked", "account.provider_unlinked"] },
|
|
33975
|
+
{ id: "device", types: ["device.paired", "device.unlinked"] },
|
|
33976
|
+
{ id: "wallet", types: ["wallet.created", "wallet.sign_locked"] },
|
|
33977
|
+
{ id: "policy", types: ["policy.changed"] },
|
|
33978
|
+
{ id: "kyc", types: ["kyc.status_changed"] }
|
|
33979
|
+
];
|
|
33980
|
+
ALL_ACTIVITY_EVENT_TYPES = ACTIVITY_EVENT_GROUPS.flatMap((group) => group.types);
|
|
33981
|
+
MAX_RANGE_DAYS = 365;
|
|
33982
|
+
ACTIVITY_PERIODS = [
|
|
33983
|
+
"all",
|
|
33984
|
+
"last24h",
|
|
33985
|
+
"last7d",
|
|
33986
|
+
"last30d",
|
|
33987
|
+
"last90d",
|
|
33988
|
+
"last365d",
|
|
33989
|
+
"custom"
|
|
33990
|
+
];
|
|
33991
|
+
PERIOD_DURATIONS = {
|
|
33992
|
+
last24h: [24, "hour"],
|
|
33993
|
+
last7d: [7, "day"],
|
|
33994
|
+
last30d: [30, "day"],
|
|
33995
|
+
last90d: [90, "day"],
|
|
33996
|
+
last365d: [365, "day"]
|
|
33997
|
+
};
|
|
33998
|
+
DEFAULT_ACTIVITY_FILTERS = {
|
|
33999
|
+
eventTypes: [],
|
|
34000
|
+
period: "all",
|
|
34001
|
+
customFrom: "",
|
|
34002
|
+
customTo: ""
|
|
34003
|
+
};
|
|
34004
|
+
}
|
|
34005
|
+
});
|
|
34006
|
+
|
|
34007
|
+
// src/internal/components/UserSecurityActivityMenu/utils.ts
|
|
34008
|
+
function getActivityTitleKey(eventType) {
|
|
34009
|
+
return `passport:userActivityMenu.events.${EVENT_TITLE_KEYS[eventType] ?? "unknown"}`;
|
|
34010
|
+
}
|
|
34011
|
+
function getActivityCardType(activity) {
|
|
34012
|
+
const { event_type, properties } = activity;
|
|
34013
|
+
if (event_type === "auth.login_failed") return "error";
|
|
34014
|
+
if (event_type === "wallet.sign_locked") return "warning";
|
|
34015
|
+
if (event_type === "kyc.status_changed") {
|
|
34016
|
+
if (properties.status === "verified") return "success";
|
|
34017
|
+
return "warning";
|
|
34018
|
+
}
|
|
34019
|
+
return "info";
|
|
34020
|
+
}
|
|
34021
|
+
function parseActivityTimestamp(timestamp) {
|
|
34022
|
+
return /* @__PURE__ */ new Date(`${timestamp.replace(" ", "T")}Z`);
|
|
34023
|
+
}
|
|
34024
|
+
function parseUserAgent(userAgent) {
|
|
34025
|
+
if (!userAgent) return "";
|
|
34026
|
+
const browser = /Edg\//.test(userAgent) && "Edge" || /OPR\//.test(userAgent) && "Opera" || /Firefox\//.test(userAgent) && "Firefox" || /Chrome\//.test(userAgent) && "Chrome" || /Safari\//.test(userAgent) && "Safari" || "";
|
|
34027
|
+
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" || "";
|
|
34028
|
+
return [browser, os].filter(Boolean).join(" \xB7 ");
|
|
34029
|
+
}
|
|
34030
|
+
function str(value) {
|
|
34031
|
+
return typeof value === "string" ? value : "";
|
|
34032
|
+
}
|
|
34033
|
+
function humanize(value) {
|
|
34034
|
+
return value.replace(/[_-]+/g, " ");
|
|
34035
|
+
}
|
|
34036
|
+
function getActivityDetails(activity) {
|
|
34037
|
+
const { event_type, properties, external_id } = activity;
|
|
34038
|
+
const details = [];
|
|
34039
|
+
const add = (labelKey, value) => {
|
|
34040
|
+
if (value) details.push({ labelKey, value });
|
|
34041
|
+
};
|
|
34042
|
+
switch (event_type) {
|
|
34043
|
+
case "auth.login":
|
|
34044
|
+
case "auth.login_failed":
|
|
34045
|
+
case "account.provider_linked":
|
|
34046
|
+
case "account.provider_unlinked":
|
|
34047
|
+
add("provider", str(properties.provider));
|
|
34048
|
+
add("reason", humanize(str(properties.reason)));
|
|
34049
|
+
add("identity", external_id);
|
|
34050
|
+
break;
|
|
34051
|
+
case "device.paired":
|
|
34052
|
+
case "device.unlinked":
|
|
34053
|
+
add("deviceType", str(properties.device_type));
|
|
34054
|
+
break;
|
|
34055
|
+
case "policy.changed":
|
|
34056
|
+
add("policy", str(properties.name));
|
|
34057
|
+
add("action", humanize(str(properties.action)));
|
|
34058
|
+
break;
|
|
34059
|
+
case "kyc.status_changed":
|
|
34060
|
+
add("status", humanize(str(properties.status)));
|
|
34061
|
+
break;
|
|
34062
|
+
case "backup.created":
|
|
34063
|
+
case "backup.restored":
|
|
34064
|
+
case "backup.rewrapped":
|
|
34065
|
+
case "backup.deleted":
|
|
34066
|
+
add("method", str(properties.method));
|
|
34067
|
+
break;
|
|
34068
|
+
default:
|
|
34069
|
+
add("identity", external_id);
|
|
34070
|
+
}
|
|
34071
|
+
return details;
|
|
34072
|
+
}
|
|
34073
|
+
var EVENT_TITLE_KEYS;
|
|
34074
|
+
var init_utils13 = __esm({
|
|
34075
|
+
"src/internal/components/UserSecurityActivityMenu/utils.ts"() {
|
|
34076
|
+
EVENT_TITLE_KEYS = {
|
|
34077
|
+
"auth.login": "authLogin",
|
|
34078
|
+
"auth.login_failed": "authLoginFailed",
|
|
34079
|
+
"account.provider_linked": "accountProviderLinked",
|
|
34080
|
+
"account.provider_unlinked": "accountProviderUnlinked",
|
|
34081
|
+
"device.paired": "devicePaired",
|
|
34082
|
+
"device.unlinked": "deviceUnlinked",
|
|
34083
|
+
"wallet.created": "walletCreated",
|
|
34084
|
+
"wallet.sign_locked": "walletSignLocked",
|
|
34085
|
+
"policy.changed": "policyChanged",
|
|
34086
|
+
"kyc.status_changed": "kycStatusChanged",
|
|
34087
|
+
"backup.created": "backupCreated",
|
|
34088
|
+
"backup.restored": "backupRestored",
|
|
34089
|
+
"backup.rewrapped": "backupRewrapped",
|
|
34090
|
+
"backup.deleted": "backupDeleted"
|
|
34091
|
+
};
|
|
34092
|
+
}
|
|
34093
|
+
});
|
|
34094
|
+
|
|
34095
|
+
// src/internal/components/UserSecurityActivityMenu/SecurityActivityFilter.tsx
|
|
34096
|
+
function Chip({ selected, onClick, children }) {
|
|
34097
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
34098
|
+
"button",
|
|
34099
|
+
{
|
|
34100
|
+
type: "button",
|
|
34101
|
+
"aria-pressed": selected,
|
|
34102
|
+
onClick,
|
|
34103
|
+
className: cn2(
|
|
34104
|
+
"h-6 px-2 rounded-full border text-[10px] font-semibold cursor-pointer select-none",
|
|
34105
|
+
"transition-opacity hover:opacity-80 active:opacity-60",
|
|
34106
|
+
selected ? "border-transparent bg-(--ui-kit-primary) text-(--ui-kit-fg-inverted)" : "border-(--ui-kit-bd) bg-transparent text-(--ui-kit-fg)"
|
|
34107
|
+
),
|
|
34108
|
+
children
|
|
34109
|
+
}
|
|
34110
|
+
);
|
|
34111
|
+
}
|
|
34112
|
+
function SecurityActivityFilter({ value, onChange }) {
|
|
34113
|
+
const { t } = useT();
|
|
34114
|
+
const [isOpen, setIsOpen] = (0, import_react108.useState)(false);
|
|
34115
|
+
const [draft, setDraft] = (0, import_react108.useState)(value);
|
|
34116
|
+
(0, import_react108.useEffect)(() => setDraft(value), [value]);
|
|
34117
|
+
const activeCount = countActiveActivityFilters(value);
|
|
34118
|
+
const error = validateActivityFilters(draft);
|
|
34119
|
+
const toggleType = (type) => setDraft((prev) => ({
|
|
34120
|
+
...prev,
|
|
34121
|
+
eventTypes: prev.eventTypes.includes(type) ? prev.eventTypes.filter((el) => el !== type) : [...prev.eventTypes, type]
|
|
34122
|
+
}));
|
|
34123
|
+
const toggleGroup = (types) => setDraft((prev) => {
|
|
34124
|
+
const isGroupSelected = types.every((type) => prev.eventTypes.includes(type));
|
|
34125
|
+
return {
|
|
34126
|
+
...prev,
|
|
34127
|
+
eventTypes: isGroupSelected ? prev.eventTypes.filter((type) => !types.includes(type)) : [.../* @__PURE__ */ new Set([...prev.eventTypes, ...types])]
|
|
34128
|
+
};
|
|
34129
|
+
});
|
|
34130
|
+
const setPeriod = (period) => setDraft((prev) => ({ ...prev, period }));
|
|
34131
|
+
const handleApply = () => {
|
|
34132
|
+
onChange(draft);
|
|
34133
|
+
setIsOpen(false);
|
|
34134
|
+
};
|
|
34135
|
+
const handleReset = () => {
|
|
34136
|
+
onChange(DEFAULT_ACTIVITY_FILTERS);
|
|
34137
|
+
setIsOpen(false);
|
|
34138
|
+
};
|
|
34139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "w-full flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34140
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "w-full flex items-center justify-between gap-(--ui-kit-gap)", children: [
|
|
34141
|
+
activeCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Button, { variant: "ghost", size: "medium", className: "text-xs", onClick: handleReset, children: t("passport:userActivityMenu.filters.reset") }) : /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-xs text-(--ui-kit-fg-muted)", children: t("passport:userActivityMenu.filters.title") }),
|
|
34142
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
34143
|
+
Button,
|
|
34144
|
+
{
|
|
34145
|
+
variant: "secondary",
|
|
34146
|
+
size: "medium",
|
|
34147
|
+
"aria-expanded": isOpen,
|
|
34148
|
+
className: "text-xs",
|
|
34149
|
+
onClick: () => setIsOpen((prev) => !prev),
|
|
34150
|
+
children: [
|
|
34151
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(import_lucide_react90.FilterIcon, { className: "h-4 w-4" }),
|
|
34152
|
+
activeCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Badge, { variant: "outline", children: activeCount }),
|
|
34153
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(import_lucide_react90.ChevronDownIcon, { className: cn2("h-4 w-4 transition-transform", isOpen && "rotate-180") })
|
|
34154
|
+
]
|
|
34155
|
+
}
|
|
34156
|
+
)
|
|
34157
|
+
] }),
|
|
34158
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("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: [
|
|
34159
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34160
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-xs font-semibold", children: t("passport:userActivityMenu.filters.eventTypes") }),
|
|
34161
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-[10px] leading-4 text-(--ui-kit-fg-muted)", children: t("passport:userActivityMenu.filters.eventTypesHint") }),
|
|
34162
|
+
ACTIVITY_EVENT_GROUPS.map(({ id, types }) => /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
34163
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
34164
|
+
Chip,
|
|
34165
|
+
{
|
|
34166
|
+
selected: types.every((type) => draft.eventTypes.includes(type)),
|
|
34167
|
+
onClick: () => toggleGroup(types),
|
|
34168
|
+
children: t(`passport:userActivityMenu.filters.groups.${id}`, id)
|
|
34169
|
+
}
|
|
34170
|
+
),
|
|
34171
|
+
types.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "flex flex-wrap gap-1 pl-2", children: types.map((type) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Chip, { selected: draft.eventTypes.includes(type), onClick: () => toggleType(type), children: t(getActivityTitleKey(type), type) }, type)) })
|
|
34172
|
+
] }, id))
|
|
34173
|
+
] }),
|
|
34174
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34175
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-xs font-semibold", children: t("passport:userActivityMenu.filters.period") }),
|
|
34176
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "flex flex-wrap gap-1", children: ACTIVITY_PERIODS.map((period) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Chip, { selected: draft.period === period, onClick: () => setPeriod(period), children: t(`passport:userActivityMenu.filters.periods.${period}`, period) }, period)) }),
|
|
34177
|
+
draft.period === "custom" && /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex items-start gap-(--ui-kit-gap)", children: [
|
|
34178
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
34179
|
+
Input,
|
|
34180
|
+
{
|
|
34181
|
+
type: "date",
|
|
34182
|
+
"aria-label": t("passport:userActivityMenu.filters.from"),
|
|
34183
|
+
value: draft.customFrom,
|
|
34184
|
+
max: draft.customTo || void 0,
|
|
34185
|
+
onChange: (e) => setDraft((prev) => ({ ...prev, customFrom: e.target.value }))
|
|
34186
|
+
}
|
|
34187
|
+
),
|
|
34188
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
34189
|
+
Input,
|
|
34190
|
+
{
|
|
34191
|
+
type: "date",
|
|
34192
|
+
"aria-label": t("passport:userActivityMenu.filters.to"),
|
|
34193
|
+
value: draft.customTo,
|
|
34194
|
+
min: draft.customFrom || void 0,
|
|
34195
|
+
onChange: (e) => setDraft((prev) => ({ ...prev, customTo: e.target.value }))
|
|
34196
|
+
}
|
|
34197
|
+
)
|
|
34198
|
+
] }),
|
|
34199
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Highlight, { type: "error", children: t(`passport:userActivityMenu.filters.errors.${error}`, error) })
|
|
34200
|
+
] }),
|
|
34201
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex items-center justify-end gap-(--ui-kit-gap)", children: [
|
|
34202
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
34203
|
+
Button,
|
|
34204
|
+
{
|
|
34205
|
+
variant: "ghost",
|
|
34206
|
+
size: "medium",
|
|
34207
|
+
className: "text-xs",
|
|
34208
|
+
onClick: () => setDraft(DEFAULT_ACTIVITY_FILTERS),
|
|
34209
|
+
children: t("passport:userActivityMenu.filters.clear")
|
|
34210
|
+
}
|
|
34211
|
+
),
|
|
34212
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Button, { size: "medium", className: "text-xs", disabled: !!error, onClick: handleApply, children: t("passport:userActivityMenu.filters.apply") })
|
|
34213
|
+
] })
|
|
34214
|
+
] })
|
|
34215
|
+
] });
|
|
34216
|
+
}
|
|
34217
|
+
var import_lucide_react90, import_react108, import_jsx_runtime137;
|
|
34218
|
+
var init_SecurityActivityFilter = __esm({
|
|
34219
|
+
"src/internal/components/UserSecurityActivityMenu/SecurityActivityFilter.tsx"() {
|
|
34220
|
+
init_utils();
|
|
34221
|
+
init_i18n();
|
|
34222
|
+
import_lucide_react90 = require("lucide-react");
|
|
34223
|
+
import_react108 = require("react");
|
|
34224
|
+
init_badge();
|
|
34225
|
+
init_button();
|
|
34226
|
+
init_highlight();
|
|
34227
|
+
init_input();
|
|
34228
|
+
init_filters();
|
|
34229
|
+
init_utils13();
|
|
34230
|
+
import_jsx_runtime137 = require("react/jsx-runtime");
|
|
34231
|
+
}
|
|
34232
|
+
});
|
|
34233
|
+
|
|
34234
|
+
// src/internal/components/UserSecurityActivityMenu/UserSecurityActivityCard.tsx
|
|
34235
|
+
function getActivityIcon(eventType) {
|
|
34236
|
+
if (eventType === "wallet.sign_locked") return import_lucide_react91.LockKeyholeIcon;
|
|
34237
|
+
return EVENT_GROUP_ICONS[eventType.split(".")[0]] ?? import_lucide_react91.ActivityIcon;
|
|
34238
|
+
}
|
|
34239
|
+
function truncate(value) {
|
|
34240
|
+
switch (true) {
|
|
34241
|
+
case isEVMAddress(value):
|
|
34242
|
+
return `${value.slice(0, 6)}...${value.slice(-4)}`;
|
|
34243
|
+
default:
|
|
34244
|
+
return value;
|
|
34245
|
+
}
|
|
34246
|
+
}
|
|
34247
|
+
function UserSecurityActivityCard(props) {
|
|
34248
|
+
const { t } = useT();
|
|
34249
|
+
const { event_type, timestamp, country, user_agent, properties } = props;
|
|
34250
|
+
const details = getActivityDetails(props);
|
|
34251
|
+
const meta = [parseUserAgent(user_agent), country].filter(Boolean).join(" \xB7 ");
|
|
34252
|
+
const Icon2 = getActivityIcon(event_type);
|
|
34253
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(Highlight, { type: getActivityCardType(props), className: "", children: [
|
|
34254
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: "flex items-start justify-between gap-(--ui-kit-gap)", children: [
|
|
34255
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: "flex items-center gap-(--ui-kit-gap)", children: [
|
|
34256
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Icon2, { className: "h-4 w-4 shrink-0" }),
|
|
34257
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "text-sm leading-6 font-semibold", children: t(getActivityTitleKey(event_type), event_type) })
|
|
34258
|
+
] }),
|
|
34259
|
+
properties.new_user === true && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Badge, { variant: "success", children: t("passport:userActivityMenu.newAccount") })
|
|
34260
|
+
] }),
|
|
34261
|
+
details.map(({ labelKey, value }) => /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: "flex items-start justify-between gap-(--ui-kit-gap) leading-5", children: [
|
|
34262
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "text-(--ui-kit-fg-muted)", children: t(`passport:userActivityMenu.details.${labelKey}`, labelKey) }),
|
|
34263
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "text-right break-all uppercase", children: truncate(value) })
|
|
34264
|
+
] }, labelKey)),
|
|
34265
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: "flex items-center justify-between gap-(--ui-kit-gap) pt-1", children: [
|
|
34266
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Badge, { size: "default", variant: "outline", className: "text-(--ui-kit-fg-muted)!", children: meta }),
|
|
34267
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Badge, { size: "default", variant: "outline", className: "text-(--ui-kit-fg-muted)!", children: (0, import_dayjs11.default)(parseActivityTimestamp(timestamp)).format("MMM D, YYYY HH:mm") })
|
|
34268
|
+
] })
|
|
34269
|
+
] });
|
|
34270
|
+
}
|
|
34271
|
+
var import_dayjs11, import_lucide_react91, import_jsx_runtime138, EVENT_GROUP_ICONS, isEVMAddress;
|
|
34272
|
+
var init_UserSecurityActivityCard = __esm({
|
|
34273
|
+
"src/internal/components/UserSecurityActivityMenu/UserSecurityActivityCard.tsx"() {
|
|
34274
|
+
init_i18n();
|
|
34275
|
+
import_dayjs11 = __toESM(require("dayjs"), 1);
|
|
34276
|
+
import_lucide_react91 = require("lucide-react");
|
|
34277
|
+
init_badge();
|
|
34278
|
+
init_highlight();
|
|
34279
|
+
init_utils13();
|
|
34280
|
+
import_jsx_runtime138 = require("react/jsx-runtime");
|
|
34281
|
+
EVENT_GROUP_ICONS = {
|
|
34282
|
+
auth: import_lucide_react91.LogInIcon,
|
|
34283
|
+
backup: import_lucide_react91.ShieldUserIcon,
|
|
34284
|
+
account: import_lucide_react91.LinkIcon,
|
|
34285
|
+
device: import_lucide_react91.SmartphoneIcon,
|
|
34286
|
+
wallet: import_lucide_react91.WalletIcon,
|
|
34287
|
+
policy: import_lucide_react91.ScrollTextIcon,
|
|
34288
|
+
kyc: import_lucide_react91.IdCardIcon
|
|
34289
|
+
};
|
|
34290
|
+
isEVMAddress = (address) => /^0x[a-fA-F0-9]{40}$/.test(address);
|
|
34291
|
+
}
|
|
34292
|
+
});
|
|
34293
|
+
|
|
34294
|
+
// src/internal/components/UserSecurityActivityMenu/api.ts
|
|
34295
|
+
function iframe5() {
|
|
34296
|
+
const accessToken = import_auth7.jwtTokenManager.getAccessToken();
|
|
34297
|
+
if (!accessToken) {
|
|
34298
|
+
throw new Error("Access token is not available");
|
|
34299
|
+
}
|
|
34300
|
+
const iframeManager2 = getIframeManager();
|
|
34301
|
+
if (!iframeManager2) {
|
|
34302
|
+
throw new Error("Iframe manager is not initialized");
|
|
34303
|
+
}
|
|
34304
|
+
return { iframeManager: iframeManager2, accessToken };
|
|
34305
|
+
}
|
|
34306
|
+
async function getUserSecurityActivity(payload) {
|
|
34307
|
+
const { iframeManager: iframeManager2, accessToken } = iframe5();
|
|
34308
|
+
return await iframeManager2.sendMessage("USER_ACTIVITY_LOG_SECURITY_GET", { payload, accessToken });
|
|
34309
|
+
}
|
|
34310
|
+
var init_api7 = __esm({
|
|
34311
|
+
"src/internal/components/UserSecurityActivityMenu/api.ts"() {
|
|
34312
|
+
init_auth();
|
|
34313
|
+
init_iframe_manager();
|
|
34314
|
+
}
|
|
34315
|
+
});
|
|
34316
|
+
|
|
34317
|
+
// src/internal/components/UserSecurityActivityMenu/useUserSecurityActivity.ts
|
|
34318
|
+
function useUserSecurityActivity(filters = {}) {
|
|
34319
|
+
const address = useSession((st) => st.address);
|
|
34320
|
+
return (0, import_react_query62.useInfiniteQuery)({
|
|
34321
|
+
enabled: !!address,
|
|
34322
|
+
retry: false,
|
|
34323
|
+
queryKey: [USER_SECURITY_ACTIVITY_QUERY_KEY, address, filters],
|
|
34324
|
+
initialPageParam: void 0,
|
|
34325
|
+
getNextPageParam: (lastPage) => lastPage.nextCursor ?? void 0,
|
|
34326
|
+
queryFn: async ({ pageParam }) => getUserSecurityActivity({
|
|
34327
|
+
...filters,
|
|
34328
|
+
cursor: pageParam,
|
|
34329
|
+
limit: USER_SECURITY_ACTIVITY_PAGE_SIZE
|
|
34330
|
+
})
|
|
34331
|
+
});
|
|
34332
|
+
}
|
|
34333
|
+
var import_react_query62, USER_SECURITY_ACTIVITY_QUERY_KEY, USER_SECURITY_ACTIVITY_PAGE_SIZE;
|
|
34334
|
+
var init_useUserSecurityActivity = __esm({
|
|
34335
|
+
"src/internal/components/UserSecurityActivityMenu/useUserSecurityActivity.ts"() {
|
|
34336
|
+
init_SessionContext();
|
|
34337
|
+
import_react_query62 = require("@tanstack/react-query");
|
|
34338
|
+
init_api7();
|
|
34339
|
+
USER_SECURITY_ACTIVITY_QUERY_KEY = "user-security-activity-query-key";
|
|
34340
|
+
USER_SECURITY_ACTIVITY_PAGE_SIZE = 10;
|
|
34341
|
+
}
|
|
34342
|
+
});
|
|
34343
|
+
|
|
34344
|
+
// src/internal/components/UserSecurityActivityMenu/UserSecurityActivityMenu.tsx
|
|
34345
|
+
function UserSecurityActivityMenu() {
|
|
33728
34346
|
const { t } = useT();
|
|
33729
34347
|
useOnboardingTourAvailable(true);
|
|
33730
|
-
const
|
|
33731
|
-
|
|
33732
|
-
|
|
33733
|
-
|
|
34348
|
+
const [filters, setFilters] = (0, import_react109.useState)(DEFAULT_ACTIVITY_FILTERS);
|
|
34349
|
+
const payload = (0, import_react109.useMemo)(() => buildActivityPayload(filters), [filters]);
|
|
34350
|
+
const hasActiveFilters = countActiveActivityFilters(filters) > 0;
|
|
34351
|
+
const { data, isLoading, isError, error, hasNextPage, isFetchingNextPage, fetchNextPage } = useUserSecurityActivity(payload);
|
|
34352
|
+
const activities = (0, import_react109.useMemo)(() => data?.pages.flatMap((page) => page.events) ?? [], [data]);
|
|
34353
|
+
const sentinelRef = (0, import_react109.useRef)(null);
|
|
34354
|
+
const canLoadMore = !!hasNextPage && !isFetchingNextPage && !isError;
|
|
34355
|
+
(0, import_react109.useEffect)(() => {
|
|
34356
|
+
const sentinel = sentinelRef.current;
|
|
34357
|
+
if (!sentinel || !canLoadMore) return;
|
|
34358
|
+
const observer = new IntersectionObserver(
|
|
34359
|
+
(entries) => {
|
|
34360
|
+
if (entries.some((entry) => entry.isIntersecting)) void fetchNextPage();
|
|
34361
|
+
},
|
|
34362
|
+
{ rootMargin: "100px" }
|
|
34363
|
+
);
|
|
34364
|
+
observer.observe(sentinel);
|
|
34365
|
+
return () => observer.disconnect();
|
|
34366
|
+
}, [canLoadMore, fetchNextPage, activities.length]);
|
|
34367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34368
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsxs)("div", { className: "w-full flex items-center gap-(--ui-kit-gap)", children: [
|
|
34369
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
33734
34370
|
Button,
|
|
33735
34371
|
{
|
|
33736
34372
|
variant: "ghost",
|
|
33737
34373
|
size: "icon",
|
|
33738
34374
|
title: "Back",
|
|
33739
34375
|
onClick: () => useLayoutDataStore.getState().setPage("settings" /* SETTINGS */),
|
|
33740
|
-
children: /* @__PURE__ */ (0,
|
|
34376
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_lucide_react92.ArrowLeft, { className: "h-4 w-4" })
|
|
33741
34377
|
}
|
|
33742
34378
|
),
|
|
33743
|
-
/* @__PURE__ */ (0,
|
|
34379
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)("span", { className: "text-xl font-semibold", children: t("passport:userActivityMenu.title") })
|
|
33744
34380
|
] }),
|
|
33745
|
-
/* @__PURE__ */ (0,
|
|
33746
|
-
activities.length === 0 ? (
|
|
33747
|
-
|
|
33748
|
-
|
|
33749
|
-
|
|
34381
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)(SecurityActivityFilter, { value: filters, onChange: setFilters }),
|
|
34382
|
+
isLoading ? /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: "w-full flex items-center justify-center p-(--ui-kit-pd)", children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_lucide_react92.LoaderIcon, { className: "h-4 w-4 animate-spin" }) }) : activities.length === 0 && isError ? /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Highlight, { type: "error", children: error?.message || t("passport:userActivityMenu.loadError") }) : activities.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Highlight, { className: "text-(--ui-kit-fg-muted)", children: t(
|
|
34383
|
+
hasActiveFilters ? "passport:userActivityMenu.filters.noResults" : "passport:userActivityMenu.noActivities"
|
|
34384
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)("div", { className: "w-full flex flex-col gap-(--ui-kit-gap)", children: [
|
|
34385
|
+
activities.map((activity) => /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(UserSecurityActivityCard, { ...activity }, activity.event_id)),
|
|
34386
|
+
isError && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Highlight, { type: "error", children: error?.message || t("passport:userActivityMenu.loadError") }),
|
|
34387
|
+
isFetchingNextPage && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: "w-full flex items-center justify-center p-(--ui-kit-pd)", children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_lucide_react92.LoaderIcon, { className: "h-4 w-4 animate-spin" }) }),
|
|
34388
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { ref: sentinelRef, "aria-hidden": true, className: "h-px w-full" })
|
|
34389
|
+
] })
|
|
33750
34390
|
] });
|
|
33751
34391
|
}
|
|
33752
|
-
var
|
|
33753
|
-
var
|
|
33754
|
-
"src/internal/components/
|
|
34392
|
+
var import_lucide_react92, import_react109, import_jsx_runtime139;
|
|
34393
|
+
var init_UserSecurityActivityMenu = __esm({
|
|
34394
|
+
"src/internal/components/UserSecurityActivityMenu/UserSecurityActivityMenu.tsx"() {
|
|
33755
34395
|
init_i18n();
|
|
33756
|
-
|
|
34396
|
+
import_lucide_react92 = require("lucide-react");
|
|
34397
|
+
import_react109 = require("react");
|
|
33757
34398
|
init_useLayoutDataStore();
|
|
33758
34399
|
init_Expandable2();
|
|
33759
34400
|
init_Onboarding();
|
|
33760
34401
|
init_button();
|
|
33761
34402
|
init_highlight();
|
|
33762
|
-
|
|
34403
|
+
init_filters();
|
|
34404
|
+
init_SecurityActivityFilter();
|
|
34405
|
+
init_UserSecurityActivityCard();
|
|
34406
|
+
init_useUserSecurityActivity();
|
|
34407
|
+
import_jsx_runtime139 = require("react/jsx-runtime");
|
|
33763
34408
|
}
|
|
33764
34409
|
});
|
|
33765
34410
|
|
|
33766
|
-
// src/internal/components/
|
|
33767
|
-
var
|
|
34411
|
+
// src/internal/components/UserSecurityActivityMenu/onboarding.setup.ts
|
|
34412
|
+
var USER_SECURITY_ACTIVITY_MENU_TOUR;
|
|
33768
34413
|
var init_onboarding_setup12 = __esm({
|
|
33769
|
-
"src/internal/components/
|
|
34414
|
+
"src/internal/components/UserSecurityActivityMenu/onboarding.setup.ts"() {
|
|
33770
34415
|
init_constants();
|
|
33771
|
-
|
|
34416
|
+
USER_SECURITY_ACTIVITY_MENU_TOUR = [
|
|
33772
34417
|
{
|
|
33773
|
-
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"user-activity" /*
|
|
34418
|
+
elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"user-security-activity" /* USER_SECURITY_ACTIVITY */}`,
|
|
33774
34419
|
title: "passport:userActivityMenu.onboarding.title",
|
|
33775
34420
|
description: "passport:userActivityMenu.onboarding.description"
|
|
33776
34421
|
}
|
|
@@ -33778,10 +34423,10 @@ var init_onboarding_setup12 = __esm({
|
|
|
33778
34423
|
}
|
|
33779
34424
|
});
|
|
33780
34425
|
|
|
33781
|
-
// src/internal/components/
|
|
33782
|
-
var
|
|
33783
|
-
"src/internal/components/
|
|
33784
|
-
|
|
34426
|
+
// src/internal/components/UserSecurityActivityMenu/index.ts
|
|
34427
|
+
var init_UserSecurityActivityMenu2 = __esm({
|
|
34428
|
+
"src/internal/components/UserSecurityActivityMenu/index.ts"() {
|
|
34429
|
+
init_UserSecurityActivityMenu();
|
|
33785
34430
|
init_onboarding_setup12();
|
|
33786
34431
|
}
|
|
33787
34432
|
});
|
|
@@ -33811,7 +34456,7 @@ var init_PageMap = __esm({
|
|
|
33811
34456
|
init_SendMenu2();
|
|
33812
34457
|
init_SettingsMenu2();
|
|
33813
34458
|
init_TransactionsMenu2();
|
|
33814
|
-
|
|
34459
|
+
init_UserSecurityActivityMenu2();
|
|
33815
34460
|
PAGE_MAP = {
|
|
33816
34461
|
["auth" /* AUTH */]: {
|
|
33817
34462
|
key: "auth" /* AUTH */,
|
|
@@ -33819,11 +34464,11 @@ var init_PageMap = __esm({
|
|
|
33819
34464
|
description: "Authenticate to access your wallet",
|
|
33820
34465
|
component: AuthMenu
|
|
33821
34466
|
},
|
|
33822
|
-
["user-activity" /*
|
|
33823
|
-
key: "user-activity" /*
|
|
34467
|
+
["user-security-activity" /* USER_SECURITY_ACTIVITY */]: {
|
|
34468
|
+
key: "user-security-activity" /* USER_SECURITY_ACTIVITY */,
|
|
33824
34469
|
title: "User Activity",
|
|
33825
34470
|
description: "View your recent activity",
|
|
33826
|
-
component:
|
|
34471
|
+
component: UserSecurityActivityMenu
|
|
33827
34472
|
},
|
|
33828
34473
|
["languages" /* LANGUAGES */]: {
|
|
33829
34474
|
key: "languages" /* LANGUAGES */,
|
|
@@ -33970,12 +34615,12 @@ var init_PageMap = __esm({
|
|
|
33970
34615
|
// src/internal/hooks/usePageMapper.tsx
|
|
33971
34616
|
function usePageMapper() {
|
|
33972
34617
|
const page = useLayoutDataStore((st) => st.page);
|
|
33973
|
-
const closeTimeoutRef = (0,
|
|
33974
|
-
const cancelPendingClose = (0,
|
|
34618
|
+
const closeTimeoutRef = (0, import_react110.useRef)(null);
|
|
34619
|
+
const cancelPendingClose = (0, import_react110.useCallback)(() => {
|
|
33975
34620
|
if (closeTimeoutRef.current) clearTimeout(closeTimeoutRef.current);
|
|
33976
34621
|
closeTimeoutRef.current = null;
|
|
33977
34622
|
}, []);
|
|
33978
|
-
const closeDialog = (0,
|
|
34623
|
+
const closeDialog = (0, import_react110.useCallback)(() => {
|
|
33979
34624
|
cancelPendingClose();
|
|
33980
34625
|
if (!useLayoutStore.getState().isDialogOpen) {
|
|
33981
34626
|
useLayoutStore.setState({ dialogContent: null, isDialogAnimating: false, isDialogForced: false });
|
|
@@ -33993,16 +34638,16 @@ function usePageMapper() {
|
|
|
33993
34638
|
});
|
|
33994
34639
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
33995
34640
|
}, [cancelPendingClose]);
|
|
33996
|
-
const openDialog = (0,
|
|
34641
|
+
const openDialog = (0, import_react110.useCallback)((pageItem) => {
|
|
33997
34642
|
cancelPendingClose();
|
|
33998
34643
|
useLayoutStore.setState({
|
|
33999
|
-
dialogContent: /* @__PURE__ */ (0,
|
|
34644
|
+
dialogContent: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(pageItem.component, {}),
|
|
34000
34645
|
isDialogOpen: true,
|
|
34001
34646
|
isDialogAnimating: false
|
|
34002
34647
|
});
|
|
34003
34648
|
}, [cancelPendingClose]);
|
|
34004
|
-
(0,
|
|
34005
|
-
(0,
|
|
34649
|
+
(0, import_react110.useEffect)(() => cancelPendingClose, [cancelPendingClose]);
|
|
34650
|
+
(0, import_react110.useEffect)(() => {
|
|
34006
34651
|
if (page === null) return closeDialog();
|
|
34007
34652
|
const pageItem = PAGE_MAP[page];
|
|
34008
34653
|
if (!pageItem) {
|
|
@@ -34013,15 +34658,15 @@ function usePageMapper() {
|
|
|
34013
34658
|
openDialog(pageItem);
|
|
34014
34659
|
}, [page, closeDialog, openDialog]);
|
|
34015
34660
|
}
|
|
34016
|
-
var
|
|
34661
|
+
var import_react110, import_jsx_runtime140, CLEAR_DIALOG_TIMEOUT;
|
|
34017
34662
|
var init_usePageMapper = __esm({
|
|
34018
34663
|
"src/internal/hooks/usePageMapper.tsx"() {
|
|
34019
|
-
|
|
34664
|
+
import_react110 = require("react");
|
|
34020
34665
|
init_PageMap();
|
|
34021
34666
|
init_constants();
|
|
34022
34667
|
init_useLayoutDataStore();
|
|
34023
34668
|
init_useLayoutStore();
|
|
34024
|
-
|
|
34669
|
+
import_jsx_runtime140 = require("react/jsx-runtime");
|
|
34025
34670
|
CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
|
|
34026
34671
|
}
|
|
34027
34672
|
});
|
|
@@ -34037,7 +34682,7 @@ function useSettingsNotifications() {
|
|
|
34037
34682
|
const { data: keyshareReshare, isLoading: isKeyshareReshareLoading } = useKeyshareReshareCheck(address);
|
|
34038
34683
|
const { data: securityStatus, isLoading: isSecurityStatusLoading } = useSecurityStatus();
|
|
34039
34684
|
const { data: userProfile = null, isLoading: isUserProfileLoading } = useUserProfile();
|
|
34040
|
-
const { data: providers = [], isLoading: isProvidersLoading } = (0,
|
|
34685
|
+
const { data: providers = [], isLoading: isProvidersLoading } = (0, import_react_query63.useQuery)({
|
|
34041
34686
|
retry: false,
|
|
34042
34687
|
enabled: !!address,
|
|
34043
34688
|
queryKey: [PROVIDERS_QUERY_KEY, address],
|
|
@@ -34045,8 +34690,8 @@ function useSettingsNotifications() {
|
|
|
34045
34690
|
});
|
|
34046
34691
|
const isNotificationsLoading = isSessionLoading || //
|
|
34047
34692
|
isSecurityStatusLoading || isUserProfileLoading || isProvidersLoading || isKeyshareReshareLoading;
|
|
34048
|
-
(0,
|
|
34049
|
-
(0,
|
|
34693
|
+
(0, import_react111.useEffect)(() => useLayoutDataStore.setState({ isNotificationsLoading }), [isNotificationsLoading]);
|
|
34694
|
+
(0, import_react111.useEffect)(() => {
|
|
34050
34695
|
if (isNotificationsLoading || !keyshareReshare) return;
|
|
34051
34696
|
useLayoutDataStore.getState().setSettingsNotifications({
|
|
34052
34697
|
id: "keyshare-reshare-required",
|
|
@@ -34057,7 +34702,7 @@ function useSettingsNotifications() {
|
|
|
34057
34702
|
message: t("passport:securityMenu.keyshareReshare.notification")
|
|
34058
34703
|
});
|
|
34059
34704
|
}, [t, isNotificationsLoading, keyshareReshare]);
|
|
34060
|
-
(0,
|
|
34705
|
+
(0, import_react111.useEffect)(() => {
|
|
34061
34706
|
if (isNotificationsLoading || !backupWarning?.enabled || !securityStatus) return;
|
|
34062
34707
|
const isProtectedBackupMissing = !securityStatus?.level || securityStatus?.level === "basic";
|
|
34063
34708
|
useLayoutDataStore.getState().setSettingsNotifications({
|
|
@@ -34069,7 +34714,7 @@ function useSettingsNotifications() {
|
|
|
34069
34714
|
message: t("passport:securityMenu.securityLevel.basic.description")
|
|
34070
34715
|
});
|
|
34071
34716
|
}, [t, isNotificationsLoading, backupWarning, securityStatus]);
|
|
34072
|
-
(0,
|
|
34717
|
+
(0, import_react111.useEffect)(() => {
|
|
34073
34718
|
if (isNotificationsLoading || !isKYCconfigured || !kycNotCompletedWarning?.enabled) return;
|
|
34074
34719
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
34075
34720
|
useLayoutDataStore.getState().setSettingsNotifications({
|
|
@@ -34082,7 +34727,7 @@ function useSettingsNotifications() {
|
|
|
34082
34727
|
});
|
|
34083
34728
|
}, [t, isNotificationsLoading, isKYCconfigured, kycNotCompletedWarning, userProfile]);
|
|
34084
34729
|
const hasEmail = providers.map((p) => p.provider).includes("email");
|
|
34085
|
-
(0,
|
|
34730
|
+
(0, import_react111.useEffect)(() => {
|
|
34086
34731
|
if (isNotificationsLoading || !emailNotConnectedWarning?.enabled) return;
|
|
34087
34732
|
useLayoutDataStore.getState().setSettingsNotifications({
|
|
34088
34733
|
id: "email-not-connected",
|
|
@@ -34094,14 +34739,14 @@ function useSettingsNotifications() {
|
|
|
34094
34739
|
});
|
|
34095
34740
|
}, [t, isNotificationsLoading, hasEmail]);
|
|
34096
34741
|
}
|
|
34097
|
-
var
|
|
34742
|
+
var import_react_query63, import_react111;
|
|
34098
34743
|
var init_useSettingsNotifications = __esm({
|
|
34099
34744
|
"src/internal/hooks/useSettingsNotifications.ts"() {
|
|
34100
34745
|
init_ProviderContext();
|
|
34101
34746
|
init_SessionContext();
|
|
34102
34747
|
init_i18n();
|
|
34103
|
-
|
|
34104
|
-
|
|
34748
|
+
import_react_query63 = require("@tanstack/react-query");
|
|
34749
|
+
import_react111 = require("react");
|
|
34105
34750
|
init_common();
|
|
34106
34751
|
init_ManageWalletMenu();
|
|
34107
34752
|
init_useKeyshareReshareCheck();
|
|
@@ -34112,42 +34757,42 @@ var init_useSettingsNotifications = __esm({
|
|
|
34112
34757
|
});
|
|
34113
34758
|
|
|
34114
34759
|
// src/internal/assets/embark-ai-dark.svg
|
|
34115
|
-
var React32,
|
|
34760
|
+
var React32, import_jsx_runtime141, SvgEmbarkAiDark, embark_ai_dark_default;
|
|
34116
34761
|
var init_embark_ai_dark = __esm({
|
|
34117
34762
|
"src/internal/assets/embark-ai-dark.svg"() {
|
|
34118
34763
|
React32 = __toESM(require("react"));
|
|
34119
|
-
|
|
34120
|
-
SvgEmbarkAiDark = (props) => /* @__PURE__ */ (0,
|
|
34121
|
-
/* @__PURE__ */ (0,
|
|
34122
|
-
/* @__PURE__ */ (0,
|
|
34123
|
-
/* @__PURE__ */ (0,
|
|
34124
|
-
/* @__PURE__ */ (0,
|
|
34125
|
-
/* @__PURE__ */ (0,
|
|
34126
|
-
/* @__PURE__ */ (0,
|
|
34127
|
-
/* @__PURE__ */ (0,
|
|
34128
|
-
/* @__PURE__ */ (0,
|
|
34129
|
-
/* @__PURE__ */ (0,
|
|
34130
|
-
/* @__PURE__ */ (0,
|
|
34131
|
-
/* @__PURE__ */ (0,
|
|
34132
|
-
/* @__PURE__ */ (0,
|
|
34764
|
+
import_jsx_runtime141 = require("react/jsx-runtime");
|
|
34765
|
+
SvgEmbarkAiDark = (props) => /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("svg", { width: 873, height: 152, viewBox: "0 0 873 152", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
34766
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("g", { clipPath: "url(#clip0_753_38)", children: [
|
|
34767
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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" }),
|
|
34768
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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" }),
|
|
34769
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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" }),
|
|
34770
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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" }),
|
|
34771
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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" }),
|
|
34772
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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" }),
|
|
34773
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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" }),
|
|
34774
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("path", { d: "M862.114 123.078V27.8086H873.022V123.078H862.114Z", fill: "#ffffff" }),
|
|
34775
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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)" }),
|
|
34776
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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)" }),
|
|
34777
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("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)" })
|
|
34133
34778
|
] }),
|
|
34134
|
-
/* @__PURE__ */ (0,
|
|
34135
|
-
/* @__PURE__ */ (0,
|
|
34136
|
-
/* @__PURE__ */ (0,
|
|
34137
|
-
/* @__PURE__ */ (0,
|
|
34138
|
-
/* @__PURE__ */ (0,
|
|
34779
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("defs", { children: [
|
|
34780
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("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: [
|
|
34781
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
34782
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34783
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34139
34784
|
] }),
|
|
34140
|
-
/* @__PURE__ */ (0,
|
|
34141
|
-
/* @__PURE__ */ (0,
|
|
34142
|
-
/* @__PURE__ */ (0,
|
|
34143
|
-
/* @__PURE__ */ (0,
|
|
34785
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("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: [
|
|
34786
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
34787
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34788
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34144
34789
|
] }),
|
|
34145
|
-
/* @__PURE__ */ (0,
|
|
34146
|
-
/* @__PURE__ */ (0,
|
|
34147
|
-
/* @__PURE__ */ (0,
|
|
34148
|
-
/* @__PURE__ */ (0,
|
|
34790
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("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: [
|
|
34791
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
34792
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34793
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34149
34794
|
] }),
|
|
34150
|
-
/* @__PURE__ */ (0,
|
|
34795
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("clipPath", { id: "clip0_753_38", children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("rect", { width: 873, height: 152, fill: "white" }) })
|
|
34151
34796
|
] })
|
|
34152
34797
|
] });
|
|
34153
34798
|
embark_ai_dark_default = SvgEmbarkAiDark;
|
|
@@ -34155,42 +34800,42 @@ var init_embark_ai_dark = __esm({
|
|
|
34155
34800
|
});
|
|
34156
34801
|
|
|
34157
34802
|
// src/internal/assets/embark-ai-light.svg
|
|
34158
|
-
var React33,
|
|
34803
|
+
var React33, import_jsx_runtime142, SvgEmbarkAiLight, embark_ai_light_default;
|
|
34159
34804
|
var init_embark_ai_light = __esm({
|
|
34160
34805
|
"src/internal/assets/embark-ai-light.svg"() {
|
|
34161
34806
|
React33 = __toESM(require("react"));
|
|
34162
|
-
|
|
34163
|
-
SvgEmbarkAiLight = (props) => /* @__PURE__ */ (0,
|
|
34164
|
-
/* @__PURE__ */ (0,
|
|
34165
|
-
/* @__PURE__ */ (0,
|
|
34166
|
-
/* @__PURE__ */ (0,
|
|
34167
|
-
/* @__PURE__ */ (0,
|
|
34168
|
-
/* @__PURE__ */ (0,
|
|
34169
|
-
/* @__PURE__ */ (0,
|
|
34170
|
-
/* @__PURE__ */ (0,
|
|
34171
|
-
/* @__PURE__ */ (0,
|
|
34172
|
-
/* @__PURE__ */ (0,
|
|
34173
|
-
/* @__PURE__ */ (0,
|
|
34174
|
-
/* @__PURE__ */ (0,
|
|
34175
|
-
/* @__PURE__ */ (0,
|
|
34807
|
+
import_jsx_runtime142 = require("react/jsx-runtime");
|
|
34808
|
+
SvgEmbarkAiLight = (props) => /* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("svg", { width: 873, height: 152, viewBox: "0 0 873 152", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
34809
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("g", { clipPath: "url(#clip0_753_38)", children: [
|
|
34810
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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" }),
|
|
34811
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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" }),
|
|
34812
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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" }),
|
|
34813
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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" }),
|
|
34814
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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" }),
|
|
34815
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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" }),
|
|
34816
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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" }),
|
|
34817
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("path", { d: "M862.114 123.078V27.8086H873.022V123.078H862.114Z", fill: "#2B2959" }),
|
|
34818
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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)" }),
|
|
34819
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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)" }),
|
|
34820
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("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)" })
|
|
34176
34821
|
] }),
|
|
34177
|
-
/* @__PURE__ */ (0,
|
|
34178
|
-
/* @__PURE__ */ (0,
|
|
34179
|
-
/* @__PURE__ */ (0,
|
|
34180
|
-
/* @__PURE__ */ (0,
|
|
34181
|
-
/* @__PURE__ */ (0,
|
|
34822
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("defs", { children: [
|
|
34823
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("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: [
|
|
34824
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
34825
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34826
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34182
34827
|
] }),
|
|
34183
|
-
/* @__PURE__ */ (0,
|
|
34184
|
-
/* @__PURE__ */ (0,
|
|
34185
|
-
/* @__PURE__ */ (0,
|
|
34186
|
-
/* @__PURE__ */ (0,
|
|
34828
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("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: [
|
|
34829
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
34830
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34831
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34187
34832
|
] }),
|
|
34188
|
-
/* @__PURE__ */ (0,
|
|
34189
|
-
/* @__PURE__ */ (0,
|
|
34190
|
-
/* @__PURE__ */ (0,
|
|
34191
|
-
/* @__PURE__ */ (0,
|
|
34833
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("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: [
|
|
34834
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
34835
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { offset: 0.36, stopColor: "#0DE4B3" }),
|
|
34836
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("stop", { offset: 1, stopColor: "#D13AFF" })
|
|
34192
34837
|
] }),
|
|
34193
|
-
/* @__PURE__ */ (0,
|
|
34838
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("clipPath", { id: "clip0_753_38", children: /* @__PURE__ */ (0, import_jsx_runtime142.jsx)("rect", { width: 873, height: 152, fill: "white" }) })
|
|
34194
34839
|
] })
|
|
34195
34840
|
] });
|
|
34196
34841
|
embark_ai_light_default = SvgEmbarkAiLight;
|
|
@@ -34203,7 +34848,7 @@ var init_package = __esm({
|
|
|
34203
34848
|
"package.json"() {
|
|
34204
34849
|
package_default = {
|
|
34205
34850
|
name: "@embarkai/ui-kit",
|
|
34206
|
-
version: "0.6.
|
|
34851
|
+
version: "0.6.12",
|
|
34207
34852
|
description: "React UI components and hooks for embarkAI authentication and Account Abstraction",
|
|
34208
34853
|
type: "module",
|
|
34209
34854
|
main: "./dist/index.cjs",
|
|
@@ -34308,7 +34953,7 @@ var init_package = __esm({
|
|
|
34308
34953
|
|
|
34309
34954
|
// src/internal/components/Footer/Footer.tsx
|
|
34310
34955
|
function Footer() {
|
|
34311
|
-
const qc = (0,
|
|
34956
|
+
const qc = (0, import_react_query64.useQueryClient)();
|
|
34312
34957
|
const { callbacksRef, config } = useProviderConfig();
|
|
34313
34958
|
const { t } = useT();
|
|
34314
34959
|
const address = useSession((st) => st.address);
|
|
@@ -34326,7 +34971,7 @@ function Footer() {
|
|
|
34326
34971
|
}
|
|
34327
34972
|
}
|
|
34328
34973
|
});
|
|
34329
|
-
const { mutate: disconnect, isPending: isDisconnecting } = (0,
|
|
34974
|
+
const { mutate: disconnect, isPending: isDisconnecting } = (0, import_react_query64.useMutation)({
|
|
34330
34975
|
mutationFn: async (disconnectAddress) => {
|
|
34331
34976
|
if (!disconnectAddress) throw new Error("No address to disconnect");
|
|
34332
34977
|
const { setError, setStatus, setIsLoading } = useSession.getState();
|
|
@@ -34362,16 +35007,16 @@ function Footer() {
|
|
|
34362
35007
|
useLayoutStore.getState().setIsDialogForced(false);
|
|
34363
35008
|
}
|
|
34364
35009
|
});
|
|
34365
|
-
const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */ (0,
|
|
35010
|
+
const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "flex-none w-4 h-4 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("span", { className: "text-[var(--ui-kit-fg-inverted)] text-xs font-bold", children: chainConfig.name.charAt(0) }) }));
|
|
34366
35011
|
const EmbarkAiLogo = EMBARKAI_LOGOS[colorMode];
|
|
34367
|
-
return /* @__PURE__ */ (0,
|
|
35012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
34368
35013
|
"div",
|
|
34369
35014
|
{
|
|
34370
35015
|
style: { borderTop: "1px solid var(--ui-kit-bd)" },
|
|
34371
35016
|
className: "relative w-full flex flex-col items-center p-[var(--ui-kit-pd)] pb-5",
|
|
34372
35017
|
children: [
|
|
34373
|
-
/* @__PURE__ */ (0,
|
|
34374
|
-
/* @__PURE__ */ (0,
|
|
35018
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { className: cn2("w-full flex justify-between", !!address ? "justify-between" : "justify-center"), children: [
|
|
35019
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
34375
35020
|
Button,
|
|
34376
35021
|
{
|
|
34377
35022
|
ref: (inst) => onboarder.registerElement(FOOTER_ONBOARDING_CHAIN_BUTTON, inst),
|
|
@@ -34387,12 +35032,12 @@ function Footer() {
|
|
|
34387
35032
|
useLayoutDataStore.getState().setPage("chain" /* CHAIN */);
|
|
34388
35033
|
},
|
|
34389
35034
|
children: [
|
|
34390
|
-
/* @__PURE__ */ (0,
|
|
34391
|
-
/* @__PURE__ */ (0,
|
|
35035
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(ChainIcon, { className: "flex-none w-6 h-6" }),
|
|
35036
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("span", { className: "text-xs font-bold", children: chainConfig.name || "embarkAI Wallet" })
|
|
34392
35037
|
]
|
|
34393
35038
|
}
|
|
34394
35039
|
),
|
|
34395
|
-
!!address ? /* @__PURE__ */ (0,
|
|
35040
|
+
!!address ? /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
34396
35041
|
Button,
|
|
34397
35042
|
{
|
|
34398
35043
|
ref: (inst) => onboarder.registerElement(FOOTER_ONBOARDING_LOGOUT_BUTTON, inst),
|
|
@@ -34402,13 +35047,13 @@ function Footer() {
|
|
|
34402
35047
|
onClick: () => disconnect(address),
|
|
34403
35048
|
disabled: isDisconnecting || isDialogForced,
|
|
34404
35049
|
children: [
|
|
34405
|
-
/* @__PURE__ */ (0,
|
|
34406
|
-
isDisconnecting ? /* @__PURE__ */ (0,
|
|
35050
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("span", { children: t("passport:auth.logout") }),
|
|
35051
|
+
isDisconnecting ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(import_lucide_react93.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(import_lucide_react93.LogOut, { className: "w-4 h-4" })
|
|
34407
35052
|
]
|
|
34408
35053
|
}
|
|
34409
35054
|
) : null
|
|
34410
35055
|
] }),
|
|
34411
|
-
/* @__PURE__ */ (0,
|
|
35056
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
34412
35057
|
"div",
|
|
34413
35058
|
{
|
|
34414
35059
|
className: cn2(
|
|
@@ -34418,8 +35063,8 @@ function Footer() {
|
|
|
34418
35063
|
// 'text-[var(--ui-kit-fg-muted)]'
|
|
34419
35064
|
),
|
|
34420
35065
|
children: [
|
|
34421
|
-
/* @__PURE__ */ (0,
|
|
34422
|
-
/* @__PURE__ */ (0,
|
|
35066
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(EmbarkAiLogo, { className: "h-2.5 w-auto" }),
|
|
35067
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("span", { className: "block font-mono text-[8px] leading-3 ", children: `${package_default.version}` })
|
|
34423
35068
|
]
|
|
34424
35069
|
}
|
|
34425
35070
|
)
|
|
@@ -34427,7 +35072,7 @@ function Footer() {
|
|
|
34427
35072
|
}
|
|
34428
35073
|
);
|
|
34429
35074
|
}
|
|
34430
|
-
var
|
|
35075
|
+
var import_react_query64, import_lucide_react93, import_jsx_runtime143, FOOTER_ONBOARDING_CHAIN_BUTTON, FOOTER_ONBOARDING_LOGOUT_BUTTON, EMBARKAI_LOGOS, FOOTER_TOUR;
|
|
34431
35076
|
var init_Footer = __esm({
|
|
34432
35077
|
"src/internal/components/Footer/Footer.tsx"() {
|
|
34433
35078
|
init_embark_ai_dark();
|
|
@@ -34438,8 +35083,8 @@ var init_Footer = __esm({
|
|
|
34438
35083
|
init_SessionContext();
|
|
34439
35084
|
init_i18n();
|
|
34440
35085
|
init_useSafeDisconnect();
|
|
34441
|
-
|
|
34442
|
-
|
|
35086
|
+
import_react_query64 = require("@tanstack/react-query");
|
|
35087
|
+
import_lucide_react93 = require("lucide-react");
|
|
34443
35088
|
init_auth();
|
|
34444
35089
|
init_base();
|
|
34445
35090
|
init_useLayoutDataStore();
|
|
@@ -34449,7 +35094,7 @@ var init_Footer = __esm({
|
|
|
34449
35094
|
init_constants5();
|
|
34450
35095
|
init_Onboarding();
|
|
34451
35096
|
init_button();
|
|
34452
|
-
|
|
35097
|
+
import_jsx_runtime143 = require("react/jsx-runtime");
|
|
34453
35098
|
FOOTER_ONBOARDING_CHAIN_BUTTON = "embark-footer-chain-button";
|
|
34454
35099
|
FOOTER_ONBOARDING_LOGOUT_BUTTON = "embark-footer-logout-button";
|
|
34455
35100
|
EMBARKAI_LOGOS = {
|
|
@@ -34496,7 +35141,7 @@ var init_onborading_setup = __esm({
|
|
|
34496
35141
|
init_SendMenu2();
|
|
34497
35142
|
init_SettingsMenu2();
|
|
34498
35143
|
init_TransactionsMenu2();
|
|
34499
|
-
|
|
35144
|
+
init_UserSecurityActivityMenu2();
|
|
34500
35145
|
EMBARKAI_HEADER_ONBOARDING_ID = "embark-header-user-section";
|
|
34501
35146
|
EMBARKAI_HEADER_TOUR_BUTTON_ID = "embark-header-tour-button-section";
|
|
34502
35147
|
ONBOARDING_TOURS = {
|
|
@@ -34514,7 +35159,7 @@ var init_onborading_setup = __esm({
|
|
|
34514
35159
|
...MAIN_MENU_TOUR,
|
|
34515
35160
|
...FOOTER_TOUR
|
|
34516
35161
|
],
|
|
34517
|
-
["user-activity" /*
|
|
35162
|
+
["user-security-activity" /* USER_SECURITY_ACTIVITY */]: () => USER_SECURITY_ACTIVITY_MENU_TOUR,
|
|
34518
35163
|
["settings" /* SETTINGS */]: () => SETTINGS_MENU_TOUR,
|
|
34519
35164
|
["buy" /* BUY */]: () => BUY_MENU_BINANCE_TOUR,
|
|
34520
35165
|
["send" /* SEND */]: () => {
|
|
@@ -34553,11 +35198,11 @@ function Header() {
|
|
|
34553
35198
|
const embarkPage = useLayoutDataStore((st) => st.page);
|
|
34554
35199
|
const isOnboardingTourAvailable = useOnboardingStore((st) => st.isTourAvailable);
|
|
34555
35200
|
const proMode = useProMode();
|
|
34556
|
-
const [proToast, setProToast] = (0,
|
|
34557
|
-
const [copied, setCopied] = (0,
|
|
34558
|
-
const clickCountRef = (0,
|
|
34559
|
-
const clickTimerRef = (0,
|
|
34560
|
-
const handleAvatarClick = (0,
|
|
35201
|
+
const [proToast, setProToast] = (0, import_react112.useState)(false);
|
|
35202
|
+
const [copied, setCopied] = (0, import_react112.useState)(false);
|
|
35203
|
+
const clickCountRef = (0, import_react112.useRef)(0);
|
|
35204
|
+
const clickTimerRef = (0, import_react112.useRef)(null);
|
|
35205
|
+
const handleAvatarClick = (0, import_react112.useCallback)(() => {
|
|
34561
35206
|
clickCountRef.current += 1;
|
|
34562
35207
|
if (clickTimerRef.current) {
|
|
34563
35208
|
clearTimeout(clickTimerRef.current);
|
|
@@ -34579,34 +35224,34 @@ function Header() {
|
|
|
34579
35224
|
const avatar = profile?.avatar || null;
|
|
34580
35225
|
const displayName = profile?.nicknameDisplay || profile?.displayName;
|
|
34581
35226
|
const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || null;
|
|
34582
|
-
return /* @__PURE__ */ (0,
|
|
35227
|
+
return /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(
|
|
34583
35228
|
"div",
|
|
34584
35229
|
{
|
|
34585
35230
|
ref: (inst) => onboarder.registerElement(EMBARKAI_HEADER_ONBOARDING_ID, inst),
|
|
34586
35231
|
style: { borderBottom: "1px solid var(--ui-kit-bd)" },
|
|
34587
35232
|
className: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)] pt-5",
|
|
34588
35233
|
children: [
|
|
34589
|
-
/* @__PURE__ */ (0,
|
|
34590
|
-
/* @__PURE__ */ (0,
|
|
35234
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsxs)("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
35235
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(
|
|
34591
35236
|
"div",
|
|
34592
35237
|
{
|
|
34593
35238
|
className: "relative flex-none w-12 h-12 flex items-center justify-center cursor-pointer select-none",
|
|
34594
35239
|
onClick: handleAvatarClick,
|
|
34595
35240
|
children: [
|
|
34596
|
-
proMode && /* @__PURE__ */ (0,
|
|
34597
|
-
avatar ? /* @__PURE__ */ (0,
|
|
35241
|
+
proMode && /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("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" }),
|
|
35242
|
+
avatar ? /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(lumia_default2, { className: "w-12 h-12" })
|
|
34598
35243
|
]
|
|
34599
35244
|
}
|
|
34600
35245
|
),
|
|
34601
|
-
/* @__PURE__ */ (0,
|
|
35246
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(
|
|
34602
35247
|
"div",
|
|
34603
35248
|
{
|
|
34604
35249
|
style: { width: "calc(100% - 48px - var(--ui-kit-gap))" },
|
|
34605
35250
|
className: "flex-1 flex flex-col justify-center gap-1",
|
|
34606
35251
|
children: [
|
|
34607
|
-
isProfileLoading && /* @__PURE__ */ (0,
|
|
34608
|
-
!!address && !isProfileLoading && !!profile && /* @__PURE__ */ (0,
|
|
34609
|
-
/* @__PURE__ */ (0,
|
|
35252
|
+
isProfileLoading && /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(import_lucide_react94.Loader, { className: "w-4 h-4 animate-spin" }),
|
|
35253
|
+
!!address && !isProfileLoading && !!profile && /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(import_jsx_runtime144.Fragment, { children: [
|
|
35254
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
34610
35255
|
"span",
|
|
34611
35256
|
{
|
|
34612
35257
|
className: cn2(
|
|
@@ -34616,19 +35261,19 @@ function Header() {
|
|
|
34616
35261
|
children: displayName || config.current?.ui?.title || "embarkAI"
|
|
34617
35262
|
}
|
|
34618
35263
|
) }),
|
|
34619
|
-
/* @__PURE__ */ (0,
|
|
35264
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)(BalanceView, {})
|
|
34620
35265
|
] })
|
|
34621
35266
|
]
|
|
34622
35267
|
}
|
|
34623
35268
|
)
|
|
34624
35269
|
] }),
|
|
34625
|
-
!!address && /* @__PURE__ */ (0,
|
|
34626
|
-
/* @__PURE__ */ (0,
|
|
34627
|
-
!!ChainIcon ? /* @__PURE__ */ (0,
|
|
34628
|
-
/* @__PURE__ */ (0,
|
|
35270
|
+
!!address && /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)("div", { className: "w-full flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
35271
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsxs)("div", { className: "flex items-center w-fit text-[10px] px-2 leading-6 text-[var(--ui-kit-fg)] gap-2", children: [
|
|
35272
|
+
!!ChainIcon ? /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(ChainIcon, { className: "flex-none w-6 h-6" }) : /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { className: "flex-none w-6 h-6 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("span", { className: "text-[var(--ui-kit-fg-inverted)] text-sm font-bold", children: chainConfig.name.charAt(0) }) }),
|
|
35273
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)("span", { className: cn2("transition-colors", copied && "text-[var(--ui-kit-bg-success)]"), children: formatAddress3(address) })
|
|
34629
35274
|
] }),
|
|
34630
|
-
/* @__PURE__ */ (0,
|
|
34631
|
-
/* @__PURE__ */ (0,
|
|
35275
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsxs)("div", { className: "w-fit flex items-center", children: [
|
|
35276
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
34632
35277
|
Button,
|
|
34633
35278
|
{
|
|
34634
35279
|
size: "small",
|
|
@@ -34639,10 +35284,10 @@ function Header() {
|
|
|
34639
35284
|
setCopied(true);
|
|
34640
35285
|
setTimeout(() => setCopied(false), 1500);
|
|
34641
35286
|
},
|
|
34642
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
35287
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(PositiveIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(import_lucide_react94.Copy, { className: "w-4 h-4" })
|
|
34643
35288
|
}
|
|
34644
35289
|
),
|
|
34645
|
-
!!isOnboardingTourAvailable && ONBOARDING_TOURS[embarkPage] && /* @__PURE__ */ (0,
|
|
35290
|
+
!!isOnboardingTourAvailable && ONBOARDING_TOURS[embarkPage] && /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
34646
35291
|
Button,
|
|
34647
35292
|
{
|
|
34648
35293
|
ref: (inst) => onboarder.registerElement(EMBARKAI_HEADER_TOUR_BUTTON_ID, inst),
|
|
@@ -34650,25 +35295,25 @@ function Header() {
|
|
|
34650
35295
|
variant: "ghost",
|
|
34651
35296
|
className: "text-[10px] px-2",
|
|
34652
35297
|
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]({ config: config.current })),
|
|
34653
|
-
children: /* @__PURE__ */ (0,
|
|
35298
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(import_lucide_react94.CircleQuestionMarkIcon, { className: "w-4 h-4" })
|
|
34654
35299
|
}
|
|
34655
35300
|
)
|
|
34656
35301
|
] })
|
|
34657
35302
|
] }),
|
|
34658
|
-
proToast && /* @__PURE__ */ (0,
|
|
35303
|
+
proToast && /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { className: "text-xs text-center text-[var(--ui-kit-primary)] font-medium animate-pulse", children: "Pro Mode activated" })
|
|
34659
35304
|
]
|
|
34660
35305
|
}
|
|
34661
35306
|
);
|
|
34662
35307
|
}
|
|
34663
|
-
var
|
|
35308
|
+
var import_lucide_react94, import_react112, import_jsx_runtime144;
|
|
34664
35309
|
var init_Header = __esm({
|
|
34665
35310
|
"src/internal/components/Header/Header.tsx"() {
|
|
34666
35311
|
init_lumia2();
|
|
34667
35312
|
init_networks3();
|
|
34668
35313
|
init_ProviderContext();
|
|
34669
35314
|
init_SessionContext();
|
|
34670
|
-
|
|
34671
|
-
|
|
35315
|
+
import_lucide_react94 = require("lucide-react");
|
|
35316
|
+
import_react112 = require("react");
|
|
34672
35317
|
init_icons();
|
|
34673
35318
|
init_useLayoutDataStore();
|
|
34674
35319
|
init_useUserProfile();
|
|
@@ -34678,7 +35323,7 @@ var init_Header = __esm({
|
|
|
34678
35323
|
init_Onboarding();
|
|
34679
35324
|
init_button();
|
|
34680
35325
|
init_onborading_setup();
|
|
34681
|
-
|
|
35326
|
+
import_jsx_runtime144 = require("react/jsx-runtime");
|
|
34682
35327
|
}
|
|
34683
35328
|
});
|
|
34684
35329
|
|
|
@@ -34701,7 +35346,7 @@ function useDecideContentStyles() {
|
|
|
34701
35346
|
style: (0, import_lodash_es16.merge)({}, mobileStyles)
|
|
34702
35347
|
};
|
|
34703
35348
|
}
|
|
34704
|
-
var DialogPrimitive, import_lodash_es16,
|
|
35349
|
+
var DialogPrimitive, import_lodash_es16, import_lucide_react95, import_react113, import_jsx_runtime145, Dialog, DialogPortal, DialogOverlay, CONTENT_BG_SETUP, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;
|
|
34705
35350
|
var init_dialog = __esm({
|
|
34706
35351
|
"src/internal/components/ui/dialog.tsx"() {
|
|
34707
35352
|
init_utils();
|
|
@@ -34709,16 +35354,16 @@ var init_dialog = __esm({
|
|
|
34709
35354
|
init_i18n();
|
|
34710
35355
|
DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
34711
35356
|
import_lodash_es16 = require("lodash-es");
|
|
34712
|
-
|
|
34713
|
-
|
|
35357
|
+
import_lucide_react95 = require("lucide-react");
|
|
35358
|
+
import_react113 = require("react");
|
|
34714
35359
|
init_useLayoutDataStore();
|
|
34715
35360
|
init_useLayoutStore();
|
|
34716
35361
|
init_button();
|
|
34717
|
-
|
|
35362
|
+
import_jsx_runtime145 = require("react/jsx-runtime");
|
|
34718
35363
|
Dialog = DialogPrimitive.Root;
|
|
34719
35364
|
DialogPortal = DialogPrimitive.Portal;
|
|
34720
|
-
DialogOverlay = (0,
|
|
34721
|
-
({ className, closing, ...props }, ref) => /* @__PURE__ */ (0,
|
|
35365
|
+
DialogOverlay = (0, import_react113.forwardRef)(
|
|
35366
|
+
({ className, closing, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
34722
35367
|
DialogPrimitive.Overlay,
|
|
34723
35368
|
{
|
|
34724
35369
|
ref,
|
|
@@ -34739,7 +35384,7 @@ var init_dialog = __esm({
|
|
|
34739
35384
|
border: "1px solid var(--ui-kit-bd)",
|
|
34740
35385
|
boxShadow: "var(--ui-kit-shadow, 0px 4px 10px var(--ui-kit-shadow-c, rgba(0, 0, 0, 0.1)))"
|
|
34741
35386
|
};
|
|
34742
|
-
DialogContent = (0,
|
|
35387
|
+
DialogContent = (0, import_react113.forwardRef)(
|
|
34743
35388
|
({ className, children, colorMode, ...props }, ref) => {
|
|
34744
35389
|
const { t, i18n } = useT();
|
|
34745
35390
|
const isSessionLoading = useSession((st) => st.isLoading);
|
|
@@ -34750,7 +35395,7 @@ var init_dialog = __esm({
|
|
|
34750
35395
|
const { isMobileView, isClosing, style } = useDecideContentStyles();
|
|
34751
35396
|
const animationCnPrefix = isMobileView ? "animate-mobile-dialog" : "animate-dialog";
|
|
34752
35397
|
const dialogAnimationCn = isClosing ? `${animationCnPrefix}-out` : `${animationCnPrefix}-in`;
|
|
34753
|
-
return /* @__PURE__ */ (0,
|
|
35398
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(
|
|
34754
35399
|
"div",
|
|
34755
35400
|
{
|
|
34756
35401
|
"data-purpose": "embarkai-ui-container",
|
|
@@ -34758,8 +35403,8 @@ var init_dialog = __esm({
|
|
|
34758
35403
|
"data-current-theme-mode": colorMode,
|
|
34759
35404
|
style: { ...style, outline: "none" },
|
|
34760
35405
|
children: [
|
|
34761
|
-
/* @__PURE__ */ (0,
|
|
34762
|
-
/* @__PURE__ */ (0,
|
|
35406
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(DialogOverlay, { closing: isClosing }),
|
|
35407
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
34763
35408
|
"div",
|
|
34764
35409
|
{
|
|
34765
35410
|
className: cn2(
|
|
@@ -34771,7 +35416,7 @@ var init_dialog = __esm({
|
|
|
34771
35416
|
// allows to embuff embark content menu via --ui-kit-content-maw
|
|
34772
35417
|
isMobileView ? "items-end w-dvw h-dvh" : "items-center w-[var(--ui-kit-content-maw,var(--ui-kit-maw))] mx-auto"
|
|
34773
35418
|
),
|
|
34774
|
-
children: /* @__PURE__ */ (0,
|
|
35419
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(
|
|
34775
35420
|
DialogPrimitive.Content,
|
|
34776
35421
|
{
|
|
34777
35422
|
ref,
|
|
@@ -34788,7 +35433,7 @@ var init_dialog = __esm({
|
|
|
34788
35433
|
...props,
|
|
34789
35434
|
children: [
|
|
34790
35435
|
children,
|
|
34791
|
-
!isDialogForced && /* @__PURE__ */ (0,
|
|
35436
|
+
!isDialogForced && /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(
|
|
34792
35437
|
"div",
|
|
34793
35438
|
{
|
|
34794
35439
|
className: cn2(
|
|
@@ -34796,7 +35441,7 @@ var init_dialog = __esm({
|
|
|
34796
35441
|
"absolute right-[var(--ui-kit-pd)] top-[var(--ui-kit-pd)]"
|
|
34797
35442
|
),
|
|
34798
35443
|
children: [
|
|
34799
|
-
!isSessionLoading && /* @__PURE__ */ (0,
|
|
35444
|
+
!isSessionLoading && /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(
|
|
34800
35445
|
Button,
|
|
34801
35446
|
{
|
|
34802
35447
|
variant: "ghost",
|
|
@@ -34804,12 +35449,12 @@ var init_dialog = __esm({
|
|
|
34804
35449
|
className: "relative w-4 h-4",
|
|
34805
35450
|
onClick: () => setPage("languages" /* LANGUAGES */),
|
|
34806
35451
|
children: [
|
|
34807
|
-
/* @__PURE__ */ (0,
|
|
34808
|
-
/* @__PURE__ */ (0,
|
|
35452
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)("span", { className: "sr-only", children: t("passport:common.language") }),
|
|
35453
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)("span", { className: "w-4 h-4 leading-4 block text-[10px] font-bold", children: getLanguageIcon(i18n.resolvedLanguage) || i18n.resolvedLanguage?.toUpperCase() })
|
|
34809
35454
|
]
|
|
34810
35455
|
}
|
|
34811
35456
|
),
|
|
34812
|
-
isSettings && /* @__PURE__ */ (0,
|
|
35457
|
+
isSettings && /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(
|
|
34813
35458
|
Button,
|
|
34814
35459
|
{
|
|
34815
35460
|
variant: "ghost",
|
|
@@ -34817,10 +35462,10 @@ var init_dialog = __esm({
|
|
|
34817
35462
|
className: "relative w-4 h-4",
|
|
34818
35463
|
onClick: () => setPage("settings" /* SETTINGS */),
|
|
34819
35464
|
children: [
|
|
34820
|
-
/* @__PURE__ */ (0,
|
|
34821
|
-
/* @__PURE__ */ (0,
|
|
34822
|
-
!!settingsNotifications.length && /* @__PURE__ */ (0,
|
|
34823
|
-
/* @__PURE__ */ (0,
|
|
35465
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)("span", { className: "sr-only", children: t("passport:common.settings") }),
|
|
35466
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(import_lucide_react95.SlidersHorizontal, { className: "w-4 h-4" }),
|
|
35467
|
+
!!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(import_jsx_runtime145.Fragment, { children: [
|
|
35468
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
34824
35469
|
"div",
|
|
34825
35470
|
{
|
|
34826
35471
|
className: cn2(
|
|
@@ -34829,7 +35474,7 @@ var init_dialog = __esm({
|
|
|
34829
35474
|
)
|
|
34830
35475
|
}
|
|
34831
35476
|
),
|
|
34832
|
-
/* @__PURE__ */ (0,
|
|
35477
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
34833
35478
|
"div",
|
|
34834
35479
|
{
|
|
34835
35480
|
className: cn2(
|
|
@@ -34842,9 +35487,9 @@ var init_dialog = __esm({
|
|
|
34842
35487
|
]
|
|
34843
35488
|
}
|
|
34844
35489
|
),
|
|
34845
|
-
/* @__PURE__ */ (0,
|
|
34846
|
-
/* @__PURE__ */ (0,
|
|
34847
|
-
/* @__PURE__ */ (0,
|
|
35490
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
|
|
35491
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(import_lucide_react95.X, { className: "h-4 w-4" }),
|
|
35492
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)("span", { className: "sr-only", children: t("passport:common.close") })
|
|
34848
35493
|
] }) })
|
|
34849
35494
|
]
|
|
34850
35495
|
}
|
|
@@ -34860,11 +35505,11 @@ var init_dialog = __esm({
|
|
|
34860
35505
|
}
|
|
34861
35506
|
);
|
|
34862
35507
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
34863
|
-
DialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0,
|
|
35508
|
+
DialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime145.jsx)("div", { className: cn2("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
|
|
34864
35509
|
DialogHeader.displayName = "DialogHeader";
|
|
34865
|
-
DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0,
|
|
35510
|
+
DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime145.jsx)("div", { className: cn2("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
34866
35511
|
DialogFooter.displayName = "DialogFooter";
|
|
34867
|
-
DialogTitle = (0,
|
|
35512
|
+
DialogTitle = (0, import_react113.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
34868
35513
|
DialogPrimitive.Title,
|
|
34869
35514
|
{
|
|
34870
35515
|
ref,
|
|
@@ -34873,17 +35518,17 @@ var init_dialog = __esm({
|
|
|
34873
35518
|
}
|
|
34874
35519
|
));
|
|
34875
35520
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
34876
|
-
DialogDescription = (0,
|
|
35521
|
+
DialogDescription = (0, import_react113.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(DialogPrimitive.Description, { ref, className: cn2("text-sm text-muted-foreground", className), ...props }));
|
|
34877
35522
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
34878
35523
|
}
|
|
34879
35524
|
});
|
|
34880
35525
|
|
|
34881
35526
|
// src/internal/components/ui/visually-hidden.tsx
|
|
34882
|
-
var
|
|
35527
|
+
var import_jsx_runtime146, VisuallyHidden;
|
|
34883
35528
|
var init_visually_hidden = __esm({
|
|
34884
35529
|
"src/internal/components/ui/visually-hidden.tsx"() {
|
|
34885
|
-
|
|
34886
|
-
VisuallyHidden = ({ children }) => /* @__PURE__ */ (0,
|
|
35530
|
+
import_jsx_runtime146 = require("react/jsx-runtime");
|
|
35531
|
+
VisuallyHidden = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("span", { className: "sr-only absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children });
|
|
34887
35532
|
}
|
|
34888
35533
|
});
|
|
34889
35534
|
|
|
@@ -34895,7 +35540,7 @@ function Dialog2() {
|
|
|
34895
35540
|
const { colorMode, maxScrollHeight, isDialogOpen, dialogContent, isDialogForced, isBackupRequired } = useLayoutStore();
|
|
34896
35541
|
const page = useLayoutDataStore((st) => st.page);
|
|
34897
35542
|
const transitionPageHeight = useLayoutDataStore((st) => st.transitionPageHeight);
|
|
34898
|
-
(0,
|
|
35543
|
+
(0, import_react115.useEffect)(() => useLayoutStore.setState({ isSettings: !!session }), [session]);
|
|
34899
35544
|
usePageMapper();
|
|
34900
35545
|
useAutoConnect();
|
|
34901
35546
|
useBackupStatusChanges();
|
|
@@ -34904,7 +35549,7 @@ function Dialog2() {
|
|
|
34904
35549
|
useListenIframeAuthEvents();
|
|
34905
35550
|
useAllowExternalModalsScroll(isDialogOpen);
|
|
34906
35551
|
const isHeaderHidden = !session || isBackupRequired;
|
|
34907
|
-
return /* @__PURE__ */ (0,
|
|
35552
|
+
return /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
34908
35553
|
Dialog,
|
|
34909
35554
|
{
|
|
34910
35555
|
open: isDialogOpen,
|
|
@@ -34916,25 +35561,25 @@ function Dialog2() {
|
|
|
34916
35561
|
setPage(null);
|
|
34917
35562
|
}
|
|
34918
35563
|
},
|
|
34919
|
-
children: /* @__PURE__ */ (0,
|
|
35564
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
|
|
34920
35565
|
DialogContent,
|
|
34921
35566
|
{
|
|
34922
35567
|
ref: (inst) => onboarder.registerElement(EMBARKAI_DIALOG_ONBOARDING_ID, inst),
|
|
34923
35568
|
colorMode,
|
|
34924
35569
|
className,
|
|
34925
35570
|
children: [
|
|
34926
|
-
/* @__PURE__ */ (0,
|
|
34927
|
-
/* @__PURE__ */ (0,
|
|
34928
|
-
!isHeaderHidden && /* @__PURE__ */ (0,
|
|
34929
|
-
/* @__PURE__ */ (0,
|
|
34930
|
-
|
|
35571
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(DialogTitle, { children: "embarkAI" }) }),
|
|
35572
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(DialogDescription, { className: "sr-only", children: "embarkAI wallet" }),
|
|
35573
|
+
!isHeaderHidden && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(Header, {}),
|
|
35574
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(import_react114.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
35575
|
+
import_react114.motion.div,
|
|
34931
35576
|
{
|
|
34932
35577
|
style: { overflow: "hidden" },
|
|
34933
35578
|
initial: { opacity: 0, height: transitionPageHeight },
|
|
34934
35579
|
animate: { opacity: 1, height: "auto" },
|
|
34935
35580
|
exit: { opacity: 0, height: transitionPageHeight },
|
|
34936
35581
|
transition: Y_ANIMATION_SETUP,
|
|
34937
|
-
children: /* @__PURE__ */ (0,
|
|
35582
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
34938
35583
|
"div",
|
|
34939
35584
|
{
|
|
34940
35585
|
ref: (inst) => onboarder.registerElement(`${EMBARKAI_DIALOG_ONBOARDING_ID}-${page}`, inst),
|
|
@@ -34949,20 +35594,20 @@ function Dialog2() {
|
|
|
34949
35594
|
},
|
|
34950
35595
|
page || "empty"
|
|
34951
35596
|
) }),
|
|
34952
|
-
/* @__PURE__ */ (0,
|
|
35597
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(Footer, {})
|
|
34953
35598
|
]
|
|
34954
35599
|
}
|
|
34955
35600
|
)
|
|
34956
35601
|
}
|
|
34957
35602
|
);
|
|
34958
35603
|
}
|
|
34959
|
-
var
|
|
35604
|
+
var import_react114, import_react115, import_jsx_runtime147;
|
|
34960
35605
|
var init_Dialog = __esm({
|
|
34961
35606
|
"src/internal/components/Dialog/Dialog.tsx"() {
|
|
34962
35607
|
init_ProviderContext();
|
|
34963
35608
|
init_SessionContext();
|
|
34964
|
-
|
|
34965
|
-
|
|
35609
|
+
import_react114 = require("motion/react");
|
|
35610
|
+
import_react115 = require("react");
|
|
34966
35611
|
init_constants();
|
|
34967
35612
|
init_useAllowExternalModalsScroll();
|
|
34968
35613
|
init_useAutoConnect();
|
|
@@ -34978,7 +35623,7 @@ var init_Dialog = __esm({
|
|
|
34978
35623
|
init_Onboarding();
|
|
34979
35624
|
init_dialog();
|
|
34980
35625
|
init_visually_hidden();
|
|
34981
|
-
|
|
35626
|
+
import_jsx_runtime147 = require("react/jsx-runtime");
|
|
34982
35627
|
}
|
|
34983
35628
|
});
|
|
34984
35629
|
|
|
@@ -34997,12 +35642,12 @@ function DirectWalletHandler() {
|
|
|
34997
35642
|
const externalConnectorName = useExternalWalletStore((st) => st.connectorName);
|
|
34998
35643
|
const isExternalConnected = useExternalWalletStore((st) => st.isExternalConnected);
|
|
34999
35644
|
const { address, isConnected, chainId, connector } = (0, import_wagmi8.useConnection)();
|
|
35000
|
-
(0,
|
|
35645
|
+
(0, import_react116.useEffect)(() => {
|
|
35001
35646
|
const { setConfigMode, setActiveMode } = useExternalWalletStore.getState();
|
|
35002
35647
|
setConfigMode(walletMode);
|
|
35003
35648
|
if (walletMode !== "both") setActiveMode(walletMode);
|
|
35004
35649
|
}, [walletMode]);
|
|
35005
|
-
(0,
|
|
35650
|
+
(0, import_react116.useEffect)(() => {
|
|
35006
35651
|
if ((!!externalAddress || isExternalConnected) && !isConnected) {
|
|
35007
35652
|
useExternalWalletStore.getState().clearExternalWallet();
|
|
35008
35653
|
return;
|
|
@@ -35024,10 +35669,10 @@ function DirectWalletHandler() {
|
|
|
35024
35669
|
]);
|
|
35025
35670
|
return null;
|
|
35026
35671
|
}
|
|
35027
|
-
var
|
|
35672
|
+
var import_react116, import_wagmi8;
|
|
35028
35673
|
var init_DirectWalletHandler = __esm({
|
|
35029
35674
|
"src/internal/components/DirectWalletHandler.tsx"() {
|
|
35030
|
-
|
|
35675
|
+
import_react116 = require("react");
|
|
35031
35676
|
import_wagmi8 = require("wagmi");
|
|
35032
35677
|
init_ProviderContext();
|
|
35033
35678
|
init_useExternalWalletStore();
|
|
@@ -35035,14 +35680,14 @@ var init_DirectWalletHandler = __esm({
|
|
|
35035
35680
|
});
|
|
35036
35681
|
|
|
35037
35682
|
// src/internal/components/TssManager.tsx
|
|
35038
|
-
var
|
|
35683
|
+
var import_react117, TssManagerWithRef;
|
|
35039
35684
|
var init_TssManager = __esm({
|
|
35040
35685
|
"src/internal/components/TssManager.tsx"() {
|
|
35041
35686
|
init_SessionContext();
|
|
35042
|
-
|
|
35687
|
+
import_react117 = __toESM(require("react"), 1);
|
|
35043
35688
|
init_auth();
|
|
35044
35689
|
init_clients();
|
|
35045
|
-
TssManagerWithRef =
|
|
35690
|
+
TssManagerWithRef = import_react117.default.forwardRef((props, ref) => {
|
|
35046
35691
|
const { mpcPin } = props;
|
|
35047
35692
|
const usePaymaster = useSession((st) => st.usePaymaster);
|
|
35048
35693
|
const publicClient = useSession((st) => st.publicClient);
|
|
@@ -35050,14 +35695,14 @@ var init_TssManager = __esm({
|
|
|
35050
35695
|
const setStatus = useSession((st) => st.setStatus);
|
|
35051
35696
|
const setSession = useSession((st) => st.setSession);
|
|
35052
35697
|
const setAddress = useSession((st) => st.setAddress);
|
|
35053
|
-
const onSessionCreated = (0,
|
|
35698
|
+
const onSessionCreated = (0, import_react117.useCallback)(
|
|
35054
35699
|
(session, address) => {
|
|
35055
35700
|
setSession(session);
|
|
35056
35701
|
setAddress(address);
|
|
35057
35702
|
},
|
|
35058
35703
|
[setSession, setAddress]
|
|
35059
35704
|
);
|
|
35060
|
-
const createSessionWithKeyshare =
|
|
35705
|
+
const createSessionWithKeyshare = import_react117.default.useCallback(
|
|
35061
35706
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
35062
35707
|
setStatus("checking key management setup...");
|
|
35063
35708
|
await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
|
|
@@ -35082,7 +35727,7 @@ var init_TssManager = __esm({
|
|
|
35082
35727
|
},
|
|
35083
35728
|
[setStatus, usePaymaster, activeChainId, publicClient, mpcPin]
|
|
35084
35729
|
);
|
|
35085
|
-
|
|
35730
|
+
import_react117.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
|
|
35086
35731
|
return null;
|
|
35087
35732
|
});
|
|
35088
35733
|
}
|
|
@@ -35114,32 +35759,32 @@ function waitForStoreHydration() {
|
|
|
35114
35759
|
}
|
|
35115
35760
|
function SessionProvider({ children }) {
|
|
35116
35761
|
const config = useProviderConfig().config;
|
|
35117
|
-
return /* @__PURE__ */ (0,
|
|
35762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(import_react118.Fragment, {
|
|
35118
35763
|
/** dApp's router might have its own error boundaries setup via imported @embarkai/ui-kitErrorBoundary */
|
|
35119
35764
|
children: [
|
|
35120
35765
|
children,
|
|
35121
|
-
/* @__PURE__ */ (0,
|
|
35122
|
-
config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ (0,
|
|
35123
|
-
/* @__PURE__ */ (0,
|
|
35124
|
-
/* @__PURE__ */ (0,
|
|
35125
|
-
/* @__PURE__ */ (0,
|
|
35766
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(ErrorBoundary, { children: [
|
|
35767
|
+
config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DirectWalletHandler, {}),
|
|
35768
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(BalanceFeedProvider, {}),
|
|
35769
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ChainSync, {}),
|
|
35770
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
35126
35771
|
TssManagerWithRef,
|
|
35127
35772
|
{
|
|
35128
35773
|
mpcPin: void 0
|
|
35129
35774
|
}
|
|
35130
35775
|
),
|
|
35131
|
-
/* @__PURE__ */ (0,
|
|
35132
|
-
/* @__PURE__ */ (0,
|
|
35133
|
-
/* @__PURE__ */ (0,
|
|
35776
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(KeyshareReshareCheck, {}),
|
|
35777
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(Dialog2, {}),
|
|
35778
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(OnboardingOverlay, {})
|
|
35134
35779
|
] })
|
|
35135
35780
|
]
|
|
35136
35781
|
});
|
|
35137
35782
|
}
|
|
35138
|
-
var import_read25,
|
|
35783
|
+
var import_read25, import_react118, import_zustand20, import_middleware4, import_jsx_runtime148, useSession, requireActiveChainId;
|
|
35139
35784
|
var init_SessionContext = __esm({
|
|
35140
35785
|
"src/context/SessionContext.tsx"() {
|
|
35141
35786
|
import_read25 = require("@embarkai/core/read");
|
|
35142
|
-
|
|
35787
|
+
import_react118 = require("react");
|
|
35143
35788
|
import_zustand20 = require("zustand");
|
|
35144
35789
|
import_middleware4 = require("zustand/middleware");
|
|
35145
35790
|
init_ErrorBoundary2();
|
|
@@ -35151,7 +35796,7 @@ var init_SessionContext = __esm({
|
|
|
35151
35796
|
init_Onboarding();
|
|
35152
35797
|
init_TssManager();
|
|
35153
35798
|
init_ProviderContext();
|
|
35154
|
-
|
|
35799
|
+
import_jsx_runtime148 = require("react/jsx-runtime");
|
|
35155
35800
|
useSession = (0, import_zustand20.create)()(
|
|
35156
35801
|
(0, import_middleware4.persist)(
|
|
35157
35802
|
(set) => ({
|
|
@@ -35250,9 +35895,9 @@ __export(iframe_manager_exports, {
|
|
|
35250
35895
|
withSessionToken: () => withSessionToken
|
|
35251
35896
|
});
|
|
35252
35897
|
function legacyAccessTokenForIframe() {
|
|
35253
|
-
const kind =
|
|
35898
|
+
const kind = import_auth29.jwtTokenManager.getSessionKind();
|
|
35254
35899
|
if (!kind || kind === "dapp") return void 0;
|
|
35255
|
-
return
|
|
35900
|
+
return import_auth29.jwtTokenManager.getAccessToken() ?? void 0;
|
|
35256
35901
|
}
|
|
35257
35902
|
function withSessionToken(type, data) {
|
|
35258
35903
|
if (SESSION_FREE_MESSAGES.has(type)) return data;
|
|
@@ -35286,10 +35931,10 @@ function destroyIframeManager() {
|
|
|
35286
35931
|
iframeManagerInstance = null;
|
|
35287
35932
|
}
|
|
35288
35933
|
}
|
|
35289
|
-
var
|
|
35934
|
+
var import_auth29, IframeManager, iframeManagerInstance;
|
|
35290
35935
|
var init_iframe_manager = __esm({
|
|
35291
35936
|
"src/internal/lib/iframe-manager.ts"() {
|
|
35292
|
-
|
|
35937
|
+
import_auth29 = require("@embarkai/core/auth");
|
|
35293
35938
|
init_errors();
|
|
35294
35939
|
init_session_messages();
|
|
35295
35940
|
init_sdk_version();
|
|
@@ -35408,7 +36053,7 @@ var init_iframe_manager = __esm({
|
|
|
35408
36053
|
this.destroy();
|
|
35409
36054
|
throw error;
|
|
35410
36055
|
}
|
|
35411
|
-
(0,
|
|
36056
|
+
(0, import_auth29.setDappSessionRecovery)(async (userId) => {
|
|
35412
36057
|
const pair = await this.getDappTokens();
|
|
35413
36058
|
return pair && pair.userId === userId ? pair : null;
|
|
35414
36059
|
});
|
|
@@ -36692,7 +37337,7 @@ var init_iframe_manager = __esm({
|
|
|
36692
37337
|
*/
|
|
36693
37338
|
destroy() {
|
|
36694
37339
|
this.log("[IframeManager] Destroying iframe...");
|
|
36695
|
-
(0,
|
|
37340
|
+
(0, import_auth29.setDappSessionRecovery)(null);
|
|
36696
37341
|
this.stopHeartbeat();
|
|
36697
37342
|
this.pendingRequests.forEach((pending) => {
|
|
36698
37343
|
pending.reject(new Error("Iframe manager destroyed"));
|
|
@@ -36741,7 +37386,7 @@ function notifyNoProjetctId(projectId) {
|
|
|
36741
37386
|
'\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'
|
|
36742
37387
|
);
|
|
36743
37388
|
}
|
|
36744
|
-
var
|
|
37389
|
+
var init_utils14 = __esm({
|
|
36745
37390
|
"src/context/utils.ts"() {
|
|
36746
37391
|
}
|
|
36747
37392
|
});
|
|
@@ -36764,18 +37409,18 @@ function clearLegacyWagmiStorage() {
|
|
|
36764
37409
|
}
|
|
36765
37410
|
function Provider2(props) {
|
|
36766
37411
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
36767
|
-
const queryClient = (0,
|
|
36768
|
-
const callbacksRef = (0,
|
|
36769
|
-
(0,
|
|
36770
|
-
const config = (0,
|
|
37412
|
+
const queryClient = (0, import_react_query65.useQueryClient)();
|
|
37413
|
+
const callbacksRef = (0, import_react119.useRef)(callbacks);
|
|
37414
|
+
(0, import_react119.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
|
|
37415
|
+
const config = (0, import_react119.useRef)(
|
|
36771
37416
|
(() => {
|
|
36772
37417
|
const merged = (0, import_lodash_es17.merge)({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig);
|
|
36773
37418
|
merged.services = resolveServices(merged.services);
|
|
36774
37419
|
return merged;
|
|
36775
37420
|
})()
|
|
36776
37421
|
);
|
|
36777
|
-
const wagmiConfig3 = (0,
|
|
36778
|
-
const updateConfig = (0,
|
|
37422
|
+
const wagmiConfig3 = (0, import_react119.useRef)((0, import_core9.getWagmiConfig)(config.current?.wallet?.walletConnectId || null));
|
|
37423
|
+
const updateConfig = (0, import_react119.useCallback)((updates) => {
|
|
36779
37424
|
const prev = config.current;
|
|
36780
37425
|
const next = { ...prev };
|
|
36781
37426
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -36804,12 +37449,12 @@ function Provider2(props) {
|
|
|
36804
37449
|
if (updates.translations) next.translations = { ...next.translations, ...updates.translations };
|
|
36805
37450
|
config.current = next;
|
|
36806
37451
|
}, []);
|
|
36807
|
-
const updateCallbacks = (0,
|
|
37452
|
+
const updateCallbacks = (0, import_react119.useCallback)((updates) => {
|
|
36808
37453
|
const prev = callbacksRef.current;
|
|
36809
37454
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
36810
37455
|
callbacksRef.current = next;
|
|
36811
37456
|
}, []);
|
|
36812
|
-
(0,
|
|
37457
|
+
(0, import_react119.useEffect)(() => {
|
|
36813
37458
|
if (typeof window === "undefined" || !projectId) return;
|
|
36814
37459
|
const mergedConfig = (0, import_lodash_es17.merge)(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
36815
37460
|
mergedConfig.services = resolveServices(mergedConfig.services);
|
|
@@ -36830,7 +37475,7 @@ function Provider2(props) {
|
|
|
36830
37475
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
36831
37476
|
}
|
|
36832
37477
|
}, [projectId, initialConfig]);
|
|
36833
|
-
(0,
|
|
37478
|
+
(0, import_react119.useEffect)(() => {
|
|
36834
37479
|
if (typeof window === "undefined" || !projectId) return;
|
|
36835
37480
|
try {
|
|
36836
37481
|
(0, import_error_tracking4.initSdkErrorTracking)();
|
|
@@ -36859,7 +37504,7 @@ function Provider2(props) {
|
|
|
36859
37504
|
console.error("[PROVIDER] Error setting up iframe manager:", error);
|
|
36860
37505
|
}
|
|
36861
37506
|
}, [projectId]);
|
|
36862
|
-
(0,
|
|
37507
|
+
(0, import_react119.useEffect)(() => {
|
|
36863
37508
|
if (!projectId) return;
|
|
36864
37509
|
try {
|
|
36865
37510
|
getIframeManager().setQueryClient(queryClient);
|
|
@@ -36868,7 +37513,7 @@ function Provider2(props) {
|
|
|
36868
37513
|
console.warn("[PROVIDER] No iframe manager available yet to set query client");
|
|
36869
37514
|
}
|
|
36870
37515
|
}, [queryClient, projectId]);
|
|
36871
|
-
const contextValue = (0,
|
|
37516
|
+
const contextValue = (0, import_react119.useMemo)(
|
|
36872
37517
|
() => ({
|
|
36873
37518
|
config,
|
|
36874
37519
|
updateConfig,
|
|
@@ -36879,25 +37524,25 @@ function Provider2(props) {
|
|
|
36879
37524
|
}),
|
|
36880
37525
|
[config, updateConfig, callbacks, updateCallbacks]
|
|
36881
37526
|
);
|
|
36882
|
-
return /* @__PURE__ */ (0,
|
|
37527
|
+
return /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_wagmi9.WagmiProvider, { config: wagmiConfig3.current, children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(SessionProvider, { children }) }) });
|
|
36883
37528
|
}
|
|
36884
|
-
var import_core9, import_error_tracking4,
|
|
37529
|
+
var import_core9, import_error_tracking4, import_react_query65, import_lodash_es17, import_react119, import_wagmi9, import_jsx_runtime149, UIContext, useProviderConfig;
|
|
36885
37530
|
var init_ProviderContext = __esm({
|
|
36886
37531
|
"src/context/ProviderContext.tsx"() {
|
|
36887
37532
|
import_core9 = require("@embarkai/core");
|
|
36888
37533
|
import_error_tracking4 = require("@embarkai/core/internal/error-tracking");
|
|
36889
|
-
|
|
37534
|
+
import_react_query65 = require("@tanstack/react-query");
|
|
36890
37535
|
import_lodash_es17 = require("lodash-es");
|
|
36891
|
-
|
|
37536
|
+
import_react119 = require("react");
|
|
36892
37537
|
import_wagmi9 = require("wagmi");
|
|
36893
37538
|
init_initial();
|
|
36894
37539
|
init_iframe_manager();
|
|
36895
37540
|
init_SessionContext();
|
|
36896
|
-
|
|
36897
|
-
|
|
36898
|
-
UIContext = (0,
|
|
37541
|
+
init_utils14();
|
|
37542
|
+
import_jsx_runtime149 = require("react/jsx-runtime");
|
|
37543
|
+
UIContext = (0, import_react119.createContext)(void 0);
|
|
36899
37544
|
useProviderConfig = () => {
|
|
36900
|
-
const ctx = (0,
|
|
37545
|
+
const ctx = (0, import_react119.useContext)(UIContext);
|
|
36901
37546
|
if (!ctx) throw new Error("useProviderConfig must be used within a Provider");
|
|
36902
37547
|
return ctx;
|
|
36903
37548
|
};
|
|
@@ -37011,7 +37656,7 @@ module.exports = __toCommonJS(index_exports);
|
|
|
37011
37656
|
|
|
37012
37657
|
// src/styles/built.css
|
|
37013
37658
|
var built_default = `/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
37014
|
-
@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)}}`;
|
|
37659
|
+
@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)}}`;
|
|
37015
37660
|
|
|
37016
37661
|
// src/index.ts
|
|
37017
37662
|
var import_core10 = require("@embarkai/core");
|
|
@@ -37020,8 +37665,8 @@ init_ErrorBoundary2();
|
|
|
37020
37665
|
|
|
37021
37666
|
// src/components/ConnectWalletButton.tsx
|
|
37022
37667
|
init_embarkAI2();
|
|
37023
|
-
var
|
|
37024
|
-
var
|
|
37668
|
+
var import_lucide_react96 = require("lucide-react");
|
|
37669
|
+
var import_react120 = require("react");
|
|
37025
37670
|
init_SessionContext();
|
|
37026
37671
|
init_BalanceView2();
|
|
37027
37672
|
init_button();
|
|
@@ -37031,7 +37676,7 @@ init_useLayoutStore();
|
|
|
37031
37676
|
init_useUserProfile();
|
|
37032
37677
|
init_pro_mode();
|
|
37033
37678
|
init_utils();
|
|
37034
|
-
var
|
|
37679
|
+
var import_jsx_runtime150 = require("react/jsx-runtime");
|
|
37035
37680
|
function getFormattedStatus(label, status, showStatus) {
|
|
37036
37681
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
37037
37682
|
if (!isStatus) return label;
|
|
@@ -37040,14 +37685,14 @@ function getFormattedStatus(label, status, showStatus) {
|
|
|
37040
37685
|
function NotificationsIndicator() {
|
|
37041
37686
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
37042
37687
|
const isNotificationsLoading = useLayoutDataStore((st) => st.isNotificationsLoading);
|
|
37043
|
-
const pieSlices = (0,
|
|
37688
|
+
const pieSlices = (0, import_react120.useMemo)(() => {
|
|
37044
37689
|
if (settingsNotifications?.length === 0) return [{ value: 1, color: "var(--ui-kit-bg-success)" }];
|
|
37045
37690
|
return settingsNotifications.map((notification, _, nArr) => ({
|
|
37046
37691
|
value: 1 / nArr.length,
|
|
37047
37692
|
color: notification.mandatory ? "var(--ui-kit-bg-error)" : "var(--ui-kit-bg-warning)"
|
|
37048
37693
|
}));
|
|
37049
37694
|
}, [settingsNotifications]);
|
|
37050
|
-
return /* @__PURE__ */ (0,
|
|
37695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
|
|
37051
37696
|
"div",
|
|
37052
37697
|
{
|
|
37053
37698
|
className: "w-8 h-8 relative flex items-center justify-center",
|
|
@@ -37057,8 +37702,8 @@ function NotificationsIndicator() {
|
|
|
37057
37702
|
e.stopPropagation();
|
|
37058
37703
|
useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
|
|
37059
37704
|
},
|
|
37060
|
-
children: isNotificationsLoading ? /* @__PURE__ */ (0,
|
|
37061
|
-
settingsNotifications.length > 0 && /* @__PURE__ */ (0,
|
|
37705
|
+
children: isNotificationsLoading ? /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("span", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_lucide_react96.LoaderIcon, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)(import_jsx_runtime150.Fragment, { children: [
|
|
37706
|
+
settingsNotifications.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
|
|
37062
37707
|
"div",
|
|
37063
37708
|
{
|
|
37064
37709
|
className: cn2(
|
|
@@ -37067,8 +37712,8 @@ function NotificationsIndicator() {
|
|
|
37067
37712
|
)
|
|
37068
37713
|
}
|
|
37069
37714
|
),
|
|
37070
|
-
/* @__PURE__ */ (0,
|
|
37071
|
-
/* @__PURE__ */ (0,
|
|
37715
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsx)(PieChart, { className: "w-8 h-8 cursor-pointer", data: pieSlices }),
|
|
37716
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
|
|
37072
37717
|
"div",
|
|
37073
37718
|
{
|
|
37074
37719
|
className: cn2(
|
|
@@ -37078,7 +37723,7 @@ function NotificationsIndicator() {
|
|
|
37078
37723
|
"flex items-center justify-center",
|
|
37079
37724
|
{ "bg-(--ui-kit-bg)": settingsNotifications.length > 0 }
|
|
37080
37725
|
),
|
|
37081
|
-
children: settingsNotifications.length > 0 ? /* @__PURE__ */ (0,
|
|
37726
|
+
children: settingsNotifications.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_lucide_react96.ShieldAlertIcon, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_lucide_react96.ShieldCheckIcon, { className: "w-4 h-4 text-(--ui-kit-success)" })
|
|
37082
37727
|
}
|
|
37083
37728
|
)
|
|
37084
37729
|
] })
|
|
@@ -37096,25 +37741,25 @@ function ConnectWalletButton(props) {
|
|
|
37096
37741
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
37097
37742
|
const { address, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
37098
37743
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
37099
|
-
(0,
|
|
37744
|
+
(0, import_react120.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
37100
37745
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
37101
37746
|
const proMode = useProMode();
|
|
37102
37747
|
const displayName = profile?.nicknameDisplay || profile?.displayName;
|
|
37103
37748
|
const isConnecting = connectButtonLabel !== label || isLoading;
|
|
37104
|
-
return /* @__PURE__ */ (0,
|
|
37749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("div", { "data-current-theme-mode": colorMode, className: cn2("embarkai-ui-scope w-fit h-fit", className), children: !address ? (
|
|
37105
37750
|
/** external Buttons can be provided */
|
|
37106
|
-
/* @__PURE__ */ (0,
|
|
37751
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_jsx_runtime150.Fragment, { children: ConnectButton ? /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)(
|
|
37107
37752
|
ConnectButton,
|
|
37108
37753
|
{
|
|
37109
37754
|
type: "button",
|
|
37110
37755
|
disabled: isConnecting,
|
|
37111
37756
|
onClick: () => useLayoutDataStore.getState().setPage("auth" /* AUTH */),
|
|
37112
37757
|
children: [
|
|
37113
|
-
isConnecting ? /* @__PURE__ */ (0,
|
|
37758
|
+
isConnecting ? /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("span", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_lucide_react96.LoaderIcon, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(embarkAI_default2, { className: "w-6 h-6" }),
|
|
37114
37759
|
connectButtonLabel.toUpperCase()
|
|
37115
37760
|
]
|
|
37116
37761
|
}
|
|
37117
|
-
) : /* @__PURE__ */ (0,
|
|
37762
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)(
|
|
37118
37763
|
Button,
|
|
37119
37764
|
{
|
|
37120
37765
|
type: "button",
|
|
@@ -37131,12 +37776,12 @@ function ConnectWalletButton(props) {
|
|
|
37131
37776
|
"disabled:hover:bg-[var(--ui-kit-bg)] disabled:active:bg-[var(--ui-kit-bg)]"
|
|
37132
37777
|
),
|
|
37133
37778
|
children: [
|
|
37134
|
-
isConnecting ? /* @__PURE__ */ (0,
|
|
37779
|
+
isConnecting ? /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("span", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_lucide_react96.LoaderIcon, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(embarkAI_default2, { className: "w-6 h-6" }),
|
|
37135
37780
|
connectButtonLabel.toUpperCase()
|
|
37136
37781
|
]
|
|
37137
37782
|
}
|
|
37138
37783
|
) })
|
|
37139
|
-
) : /* @__PURE__ */ (0,
|
|
37784
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)(
|
|
37140
37785
|
"button",
|
|
37141
37786
|
{
|
|
37142
37787
|
type: "button",
|
|
@@ -37149,15 +37794,15 @@ function ConnectWalletButton(props) {
|
|
|
37149
37794
|
"rounded-[var(--ui-kit-bdrs)] p-4 max-w-sm min-w-[256px]"
|
|
37150
37795
|
),
|
|
37151
37796
|
children: [
|
|
37152
|
-
/* @__PURE__ */ (0,
|
|
37153
|
-
proMode && /* @__PURE__ */ (0,
|
|
37154
|
-
isProfileLoading ? /* @__PURE__ */ (0,
|
|
37797
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsxs)("div", { className: "relative w-12 h-12 rounded-full bg-(--ui-kit-secondary) flex items-center justify-center shrink-0", children: [
|
|
37798
|
+
proMode && /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("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" }),
|
|
37799
|
+
isProfileLoading ? /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_lucide_react96.LoaderIcon, { className: "w-4 h-4 animate-spin" }) : !!profile?.avatar ? /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("img", { src: profile.avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(embarkAI_default2, { className: "w-6 h-6" })
|
|
37155
37800
|
] }),
|
|
37156
|
-
/* @__PURE__ */ (0,
|
|
37157
|
-
/* @__PURE__ */ (0,
|
|
37158
|
-
/* @__PURE__ */ (0,
|
|
37801
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsxs)("div", { className: "text-left flex-1 min-w-0 text-[var(--ui-kit-fg)]", children: [
|
|
37802
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsx)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--ui-kit-fg)]", children: displayName || "" }) }),
|
|
37803
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsx)(BalanceView, {})
|
|
37159
37804
|
] }),
|
|
37160
|
-
/* @__PURE__ */ (0,
|
|
37805
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsx)(NotificationsIndicator, {})
|
|
37161
37806
|
]
|
|
37162
37807
|
}
|
|
37163
37808
|
) });
|
|
@@ -37200,28 +37845,28 @@ init_useOpenPage();
|
|
|
37200
37845
|
init_useColorMode();
|
|
37201
37846
|
|
|
37202
37847
|
// src/components/ThemeToggle.tsx
|
|
37203
|
-
var
|
|
37848
|
+
var import_lucide_react97 = require("lucide-react");
|
|
37204
37849
|
init_useColorMode();
|
|
37205
37850
|
init_button();
|
|
37206
37851
|
init_utils();
|
|
37207
|
-
var
|
|
37852
|
+
var import_jsx_runtime151 = require("react/jsx-runtime");
|
|
37208
37853
|
function ThemeToggle(props) {
|
|
37209
37854
|
const { className, ...btnProps } = props;
|
|
37210
37855
|
const { colorMode, setColorMode } = useColorMode();
|
|
37211
|
-
return /* @__PURE__ */ (0,
|
|
37856
|
+
return /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
|
|
37212
37857
|
"div",
|
|
37213
37858
|
{
|
|
37214
37859
|
className: cn2("embarkai-ui-scope", className),
|
|
37215
37860
|
"data-current-theme-mode": colorMode,
|
|
37216
37861
|
style: { width: "fit-content", height: "fit-content" },
|
|
37217
|
-
children: /* @__PURE__ */ (0,
|
|
37862
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
|
|
37218
37863
|
Button,
|
|
37219
37864
|
{
|
|
37220
37865
|
...btnProps,
|
|
37221
37866
|
variant: "ghost",
|
|
37222
37867
|
onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
|
|
37223
37868
|
title: `Current theme: ${colorMode}. Click to switch.`,
|
|
37224
|
-
children: colorMode === "dark" ? /* @__PURE__ */ (0,
|
|
37869
|
+
children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(import_lucide_react97.Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(import_lucide_react97.Moon, { className: "w-4 h-4" })
|
|
37225
37870
|
}
|
|
37226
37871
|
)
|
|
37227
37872
|
}
|
|
@@ -37233,18 +37878,18 @@ init_i18n();
|
|
|
37233
37878
|
init_button();
|
|
37234
37879
|
init_useLayoutDataStore();
|
|
37235
37880
|
init_utils();
|
|
37236
|
-
var
|
|
37881
|
+
var import_jsx_runtime152 = require("react/jsx-runtime");
|
|
37237
37882
|
function LangToggle(props) {
|
|
37238
37883
|
const { className, ...btnProps } = props;
|
|
37239
37884
|
const { i18n } = useT();
|
|
37240
37885
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
37241
|
-
return /* @__PURE__ */ (0,
|
|
37886
|
+
return /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
|
|
37242
37887
|
"div",
|
|
37243
37888
|
{
|
|
37244
37889
|
className: cn2("embarkai-ui-scope", className),
|
|
37245
37890
|
"data-mbark-language": i18n.resolvedLanguage || "en",
|
|
37246
37891
|
style: { width: "fit-content", height: "fit-content" },
|
|
37247
|
-
children: /* @__PURE__ */ (0,
|
|
37892
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
|
|
37248
37893
|
Button,
|
|
37249
37894
|
{
|
|
37250
37895
|
...btnProps,
|
|
@@ -37262,18 +37907,18 @@ function LangToggle(props) {
|
|
|
37262
37907
|
init_useLayoutDataStore();
|
|
37263
37908
|
|
|
37264
37909
|
// src/internal/components/UserOpStatus.tsx
|
|
37265
|
-
var
|
|
37910
|
+
var import_lucide_react99 = require("lucide-react");
|
|
37266
37911
|
var React36 = __toESM(require("react"), 1);
|
|
37267
37912
|
init_getUserOperationByHash();
|
|
37268
37913
|
init_getUserOperationReceipt();
|
|
37269
37914
|
init_cn();
|
|
37270
37915
|
|
|
37271
37916
|
// src/internal/components/Address.tsx
|
|
37272
|
-
var
|
|
37917
|
+
var import_lucide_react98 = require("lucide-react");
|
|
37273
37918
|
var React35 = __toESM(require("react"), 1);
|
|
37274
37919
|
init_cn();
|
|
37275
37920
|
init_button();
|
|
37276
|
-
var
|
|
37921
|
+
var import_jsx_runtime153 = require("react/jsx-runtime");
|
|
37277
37922
|
function toExplorerAddressUrl(address, chain) {
|
|
37278
37923
|
const base = chain?.blockExplorers?.default?.url;
|
|
37279
37924
|
if (!base) return null;
|
|
@@ -37287,7 +37932,7 @@ var Address = ({
|
|
|
37287
37932
|
address,
|
|
37288
37933
|
chain,
|
|
37289
37934
|
className,
|
|
37290
|
-
truncate = true,
|
|
37935
|
+
truncate: truncate2 = true,
|
|
37291
37936
|
showCopy = true,
|
|
37292
37937
|
showExplorer = true,
|
|
37293
37938
|
label
|
|
@@ -37295,11 +37940,11 @@ var Address = ({
|
|
|
37295
37940
|
const addr = address || "";
|
|
37296
37941
|
const explorer = toExplorerAddressUrl(addr, chain || void 0);
|
|
37297
37942
|
const [copied, setCopied] = React35.useState(false);
|
|
37298
|
-
if (!addr) return /* @__PURE__ */ (0,
|
|
37299
|
-
return /* @__PURE__ */ (0,
|
|
37300
|
-
label && /* @__PURE__ */ (0,
|
|
37301
|
-
/* @__PURE__ */ (0,
|
|
37302
|
-
showCopy && /* @__PURE__ */ (0,
|
|
37943
|
+
if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("span", { className: cn("text-muted-foreground", className), children: "\u2014" });
|
|
37944
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("div", { className: cn("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
|
|
37945
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
37946
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate2 ? short(addr) : addr }),
|
|
37947
|
+
showCopy && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
37303
37948
|
Button,
|
|
37304
37949
|
{
|
|
37305
37950
|
variant: "ghost",
|
|
@@ -37313,10 +37958,10 @@ var Address = ({
|
|
|
37313
37958
|
} catch {
|
|
37314
37959
|
}
|
|
37315
37960
|
},
|
|
37316
|
-
children: /* @__PURE__ */ (0,
|
|
37961
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_lucide_react98.Copy, { className: "h-4 w-4" })
|
|
37317
37962
|
}
|
|
37318
37963
|
),
|
|
37319
|
-
showExplorer && explorer && /* @__PURE__ */ (0,
|
|
37964
|
+
showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
37320
37965
|
"a",
|
|
37321
37966
|
{
|
|
37322
37967
|
href: explorer,
|
|
@@ -37324,7 +37969,7 @@ var Address = ({
|
|
|
37324
37969
|
rel: "noreferrer noopener",
|
|
37325
37970
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
37326
37971
|
title: "Open in explorer",
|
|
37327
|
-
children: /* @__PURE__ */ (0,
|
|
37972
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_lucide_react98.ExternalLink, { className: "h-4 w-4" })
|
|
37328
37973
|
}
|
|
37329
37974
|
)
|
|
37330
37975
|
] });
|
|
@@ -37333,7 +37978,7 @@ var Address = ({
|
|
|
37333
37978
|
// src/internal/components/UserOpStatus.tsx
|
|
37334
37979
|
init_badge();
|
|
37335
37980
|
init_button();
|
|
37336
|
-
var
|
|
37981
|
+
var import_jsx_runtime154 = require("react/jsx-runtime");
|
|
37337
37982
|
var UserOpStatus = ({
|
|
37338
37983
|
userOpHash,
|
|
37339
37984
|
chain,
|
|
@@ -37448,35 +38093,35 @@ var UserOpStatus = ({
|
|
|
37448
38093
|
const stateBadge = () => {
|
|
37449
38094
|
if (receipt) {
|
|
37450
38095
|
const ok = !!receipt.success;
|
|
37451
|
-
return /* @__PURE__ */ (0,
|
|
37452
|
-
ok ? /* @__PURE__ */ (0,
|
|
38096
|
+
return /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)(Badge, { variant: ok ? "success" : "destructive", children: [
|
|
38097
|
+
ok ? /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.AlertCircle, { className: "h-3 w-3" }),
|
|
37453
38098
|
ok ? "Included" : "Failed"
|
|
37454
38099
|
] });
|
|
37455
38100
|
}
|
|
37456
38101
|
if (rejected) {
|
|
37457
|
-
return /* @__PURE__ */ (0,
|
|
37458
|
-
/* @__PURE__ */ (0,
|
|
38102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)(Badge, { variant: "destructive", children: [
|
|
38103
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.AlertCircle, { className: "h-3 w-3" }),
|
|
37459
38104
|
" Rejected by bundler"
|
|
37460
38105
|
] });
|
|
37461
38106
|
}
|
|
37462
38107
|
if (timedOut) {
|
|
37463
|
-
return /* @__PURE__ */ (0,
|
|
37464
|
-
/* @__PURE__ */ (0,
|
|
38108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)(Badge, { variant: "warning", children: [
|
|
38109
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.AlertCircle, { className: "h-3 w-3" }),
|
|
37465
38110
|
" Timeout - may be rejected"
|
|
37466
38111
|
] });
|
|
37467
38112
|
}
|
|
37468
38113
|
if (mempool) {
|
|
37469
|
-
return /* @__PURE__ */ (0,
|
|
37470
|
-
/* @__PURE__ */ (0,
|
|
38114
|
+
return /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)(Badge, { variant: "outline", children: [
|
|
38115
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.Clock, { className: "h-3 w-3" }),
|
|
37471
38116
|
" Pending in bundler"
|
|
37472
38117
|
] });
|
|
37473
38118
|
}
|
|
37474
|
-
return /* @__PURE__ */ (0,
|
|
37475
|
-
/* @__PURE__ */ (0,
|
|
38119
|
+
return /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)(Badge, { variant: "secondary", children: [
|
|
38120
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.Clock, { className: "h-3 w-3" }),
|
|
37476
38121
|
" Waiting"
|
|
37477
38122
|
] });
|
|
37478
38123
|
};
|
|
37479
|
-
return /* @__PURE__ */ (0,
|
|
38124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)(
|
|
37480
38125
|
"div",
|
|
37481
38126
|
{
|
|
37482
38127
|
className: cn(
|
|
@@ -37485,20 +38130,20 @@ var UserOpStatus = ({
|
|
|
37485
38130
|
),
|
|
37486
38131
|
style: { textAlign: "left", listStyle: "none" },
|
|
37487
38132
|
children: [
|
|
37488
|
-
/* @__PURE__ */ (0,
|
|
37489
|
-
/* @__PURE__ */ (0,
|
|
38133
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
|
|
38134
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
37490
38135
|
stateBadge(),
|
|
37491
|
-
/* @__PURE__ */ (0,
|
|
38136
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
|
|
37492
38137
|
] }),
|
|
37493
|
-
/* @__PURE__ */ (0,
|
|
37494
|
-
/* @__PURE__ */ (0,
|
|
37495
|
-
/* @__PURE__ */ (0,
|
|
38138
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsxs)(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
|
|
38139
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.RefreshCw, { className: cn("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
|
|
38140
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)("span", { className: "text-xs", children: "Refresh" })
|
|
37496
38141
|
] })
|
|
37497
38142
|
] }),
|
|
37498
|
-
/* @__PURE__ */ (0,
|
|
37499
|
-
/* @__PURE__ */ (0,
|
|
37500
|
-
/* @__PURE__ */ (0,
|
|
37501
|
-
/* @__PURE__ */ (0,
|
|
38143
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
38144
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
|
|
38145
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
|
|
38146
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(
|
|
37502
38147
|
Button,
|
|
37503
38148
|
{
|
|
37504
38149
|
variant: "ghost",
|
|
@@ -37510,14 +38155,14 @@ var UserOpStatus = ({
|
|
|
37510
38155
|
} catch {
|
|
37511
38156
|
}
|
|
37512
38157
|
},
|
|
37513
|
-
children: /* @__PURE__ */ (0,
|
|
38158
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.Copy, { className: "h-3.5 w-3.5" })
|
|
37514
38159
|
}
|
|
37515
38160
|
)
|
|
37516
38161
|
] }),
|
|
37517
|
-
receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0,
|
|
37518
|
-
/* @__PURE__ */ (0,
|
|
37519
|
-
/* @__PURE__ */ (0,
|
|
37520
|
-
/* @__PURE__ */ (0,
|
|
38162
|
+
receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
38163
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
|
|
38164
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
|
|
38165
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(
|
|
37521
38166
|
Button,
|
|
37522
38167
|
{
|
|
37523
38168
|
variant: "ghost",
|
|
@@ -37529,10 +38174,10 @@ var UserOpStatus = ({
|
|
|
37529
38174
|
} catch {
|
|
37530
38175
|
}
|
|
37531
38176
|
},
|
|
37532
|
-
children: /* @__PURE__ */ (0,
|
|
38177
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.Copy, { className: "h-3.5 w-3.5" })
|
|
37533
38178
|
}
|
|
37534
38179
|
),
|
|
37535
|
-
chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0,
|
|
38180
|
+
chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(
|
|
37536
38181
|
"a",
|
|
37537
38182
|
{
|
|
37538
38183
|
href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
|
|
@@ -37540,11 +38185,11 @@ var UserOpStatus = ({
|
|
|
37540
38185
|
rel: "noreferrer noopener",
|
|
37541
38186
|
className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
|
|
37542
38187
|
title: "Open in explorer",
|
|
37543
|
-
children: /* @__PURE__ */ (0,
|
|
38188
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.ExternalLink, { className: "h-3.5 w-3.5" })
|
|
37544
38189
|
}
|
|
37545
38190
|
)
|
|
37546
38191
|
] }),
|
|
37547
|
-
receipt && /* @__PURE__ */ (0,
|
|
38192
|
+
receipt && /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
|
|
37548
38193
|
"Block ",
|
|
37549
38194
|
parseInt(receipt.receipt?.blockNumber || "0x0", 16),
|
|
37550
38195
|
" \u2022 Gas Used",
|
|
@@ -37553,32 +38198,32 @@ var UserOpStatus = ({
|
|
|
37553
38198
|
" \u2022 Success ",
|
|
37554
38199
|
String(!!receipt.success)
|
|
37555
38200
|
] }),
|
|
37556
|
-
/* @__PURE__ */ (0,
|
|
38201
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("span", { className: "ml-2", children: [
|
|
37557
38202
|
"\u2022 Polling for ",
|
|
37558
38203
|
Math.round((Date.now() - startTimeRef.current) / 1e3),
|
|
37559
38204
|
"s"
|
|
37560
38205
|
] }) }),
|
|
37561
|
-
mempool && /* @__PURE__ */ (0,
|
|
37562
|
-
/* @__PURE__ */ (0,
|
|
38206
|
+
mempool && /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
|
|
38207
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { children: [
|
|
37563
38208
|
"Seen by bundler at ",
|
|
37564
|
-
/* @__PURE__ */ (0,
|
|
38209
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
|
|
37565
38210
|
] }),
|
|
37566
|
-
/* @__PURE__ */ (0,
|
|
38211
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { children: [
|
|
37567
38212
|
"sender ",
|
|
37568
|
-
/* @__PURE__ */ (0,
|
|
38213
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(Address, { address: mempool.sender, chain, truncate: false })
|
|
37569
38214
|
] })
|
|
37570
38215
|
] }),
|
|
37571
|
-
error && /* @__PURE__ */ (0,
|
|
37572
|
-
/* @__PURE__ */ (0,
|
|
38216
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
38217
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.AlertCircle, { className: "h-4 w-4" }),
|
|
37573
38218
|
" ",
|
|
37574
38219
|
error
|
|
37575
38220
|
] }),
|
|
37576
|
-
rejected && /* @__PURE__ */ (0,
|
|
37577
|
-
/* @__PURE__ */ (0,
|
|
38221
|
+
rejected && /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
38222
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.AlertCircle, { className: "h-4 w-4" }),
|
|
37578
38223
|
"UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
|
|
37579
38224
|
] }),
|
|
37580
|
-
timedOut && /* @__PURE__ */ (0,
|
|
37581
|
-
/* @__PURE__ */ (0,
|
|
38225
|
+
timedOut && /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
38226
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsx)(import_lucide_react99.AlertCircle, { className: "h-4 w-4" }),
|
|
37582
38227
|
"Stopped polling after ",
|
|
37583
38228
|
Math.round(maxPollTimeMs / 1e3),
|
|
37584
38229
|
"s. UserOperation may have been rejected by the bundler."
|
|
@@ -37589,11 +38234,11 @@ var UserOpStatus = ({
|
|
|
37589
38234
|
};
|
|
37590
38235
|
|
|
37591
38236
|
// src/internal/components/Hash.tsx
|
|
37592
|
-
var
|
|
38237
|
+
var import_lucide_react100 = require("lucide-react");
|
|
37593
38238
|
var React37 = __toESM(require("react"), 1);
|
|
37594
38239
|
init_cn();
|
|
37595
38240
|
init_button();
|
|
37596
|
-
var
|
|
38241
|
+
var import_jsx_runtime155 = require("react/jsx-runtime");
|
|
37597
38242
|
function toExplorerUrl(kind, value, chain) {
|
|
37598
38243
|
const base = chain?.blockExplorers?.default?.url;
|
|
37599
38244
|
if (!base) return null;
|
|
@@ -37608,7 +38253,7 @@ var Hash = ({
|
|
|
37608
38253
|
hash,
|
|
37609
38254
|
chain,
|
|
37610
38255
|
className,
|
|
37611
|
-
truncate = true,
|
|
38256
|
+
truncate: truncate2 = true,
|
|
37612
38257
|
showCopy = true,
|
|
37613
38258
|
showExplorer = true,
|
|
37614
38259
|
kind = "tx",
|
|
@@ -37617,11 +38262,11 @@ var Hash = ({
|
|
|
37617
38262
|
const value = hash || "";
|
|
37618
38263
|
const explorer = toExplorerUrl(kind, value, chain || void 0);
|
|
37619
38264
|
const [copied, setCopied] = React37.useState(false);
|
|
37620
|
-
if (!value) return /* @__PURE__ */ (0,
|
|
37621
|
-
return /* @__PURE__ */ (0,
|
|
37622
|
-
label && /* @__PURE__ */ (0,
|
|
37623
|
-
/* @__PURE__ */ (0,
|
|
37624
|
-
showCopy && /* @__PURE__ */ (0,
|
|
38265
|
+
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime155.jsx)("span", { className: cn("text-muted-foreground", className), children: "\u2014" });
|
|
38266
|
+
return /* @__PURE__ */ (0, import_jsx_runtime155.jsxs)("div", { className: cn("flex items-center gap-2", className), children: [
|
|
38267
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime155.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
38268
|
+
/* @__PURE__ */ (0, import_jsx_runtime155.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate2 ? short2(value) : value }),
|
|
38269
|
+
showCopy && /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(
|
|
37625
38270
|
Button,
|
|
37626
38271
|
{
|
|
37627
38272
|
variant: "ghost",
|
|
@@ -37635,10 +38280,10 @@ var Hash = ({
|
|
|
37635
38280
|
} catch {
|
|
37636
38281
|
}
|
|
37637
38282
|
},
|
|
37638
|
-
children: /* @__PURE__ */ (0,
|
|
38283
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(import_lucide_react100.Copy, { className: "h-4 w-4" })
|
|
37639
38284
|
}
|
|
37640
38285
|
),
|
|
37641
|
-
showExplorer && explorer && /* @__PURE__ */ (0,
|
|
38286
|
+
showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(
|
|
37642
38287
|
"a",
|
|
37643
38288
|
{
|
|
37644
38289
|
href: explorer,
|
|
@@ -37646,21 +38291,21 @@ var Hash = ({
|
|
|
37646
38291
|
rel: "noreferrer noopener",
|
|
37647
38292
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
37648
38293
|
title: "Open in explorer",
|
|
37649
|
-
children: /* @__PURE__ */ (0,
|
|
38294
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(import_lucide_react100.ExternalLink, { className: "h-4 w-4" })
|
|
37650
38295
|
}
|
|
37651
38296
|
)
|
|
37652
38297
|
] });
|
|
37653
38298
|
};
|
|
37654
38299
|
|
|
37655
38300
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
37656
|
-
var
|
|
38301
|
+
var import_react121 = require("react");
|
|
37657
38302
|
init_base();
|
|
37658
|
-
var
|
|
38303
|
+
var import_jsx_runtime156 = require("react/jsx-runtime");
|
|
37659
38304
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
37660
|
-
const [transactions, setTransactions] = (0,
|
|
37661
|
-
const [loading, setLoading] = (0,
|
|
37662
|
-
const [error, setError] = (0,
|
|
37663
|
-
(0,
|
|
38305
|
+
const [transactions, setTransactions] = (0, import_react121.useState)([]);
|
|
38306
|
+
const [loading, setLoading] = (0, import_react121.useState)(true);
|
|
38307
|
+
const [error, setError] = (0, import_react121.useState)(null);
|
|
38308
|
+
(0, import_react121.useEffect)(() => {
|
|
37664
38309
|
const fetchTransactions2 = async () => {
|
|
37665
38310
|
try {
|
|
37666
38311
|
setLoading(true);
|
|
@@ -37706,31 +38351,31 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
37706
38351
|
window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
|
|
37707
38352
|
};
|
|
37708
38353
|
if (loading) {
|
|
37709
|
-
return /* @__PURE__ */ (0,
|
|
37710
|
-
/* @__PURE__ */ (0,
|
|
37711
|
-
/* @__PURE__ */ (0,
|
|
38354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { className: "p-4 text-center", children: [
|
|
38355
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
|
|
38356
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
|
|
37712
38357
|
] });
|
|
37713
38358
|
}
|
|
37714
38359
|
if (error) {
|
|
37715
|
-
return /* @__PURE__ */ (0,
|
|
37716
|
-
/* @__PURE__ */ (0,
|
|
37717
|
-
/* @__PURE__ */ (0,
|
|
38360
|
+
return /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { className: "p-4 text-center", children: [
|
|
38361
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("p", { className: "text-red-600 text-sm", children: error }),
|
|
38362
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
|
|
37718
38363
|
] });
|
|
37719
38364
|
}
|
|
37720
38365
|
if (transactions.length === 0) {
|
|
37721
|
-
return /* @__PURE__ */ (0,
|
|
38366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
|
|
37722
38367
|
}
|
|
37723
|
-
return /* @__PURE__ */ (0,
|
|
38368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)(
|
|
37724
38369
|
"div",
|
|
37725
38370
|
{
|
|
37726
38371
|
className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
|
|
37727
38372
|
onClick: () => openTransaction(tx.hash),
|
|
37728
38373
|
children: [
|
|
37729
|
-
/* @__PURE__ */ (0,
|
|
37730
|
-
/* @__PURE__ */ (0,
|
|
37731
|
-
/* @__PURE__ */ (0,
|
|
37732
|
-
/* @__PURE__ */ (0,
|
|
37733
|
-
/* @__PURE__ */ (0,
|
|
38374
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
|
|
38375
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { className: "flex-1", children: [
|
|
38376
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
|
|
38377
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress4(tx.hash) }),
|
|
38378
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)(
|
|
37734
38379
|
"span",
|
|
37735
38380
|
{
|
|
37736
38381
|
className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
|
|
@@ -37738,40 +38383,40 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
37738
38383
|
}
|
|
37739
38384
|
)
|
|
37740
38385
|
] }),
|
|
37741
|
-
/* @__PURE__ */ (0,
|
|
37742
|
-
/* @__PURE__ */ (0,
|
|
37743
|
-
/* @__PURE__ */ (0,
|
|
37744
|
-
/* @__PURE__ */ (0,
|
|
38386
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { className: "text-sm space-y-1", children: [
|
|
38387
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { children: [
|
|
38388
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { className: "text-gray-600", children: "From:" }),
|
|
38389
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("span", { className: "font-mono ml-1", children: [
|
|
37745
38390
|
formatAddress4(tx.from.hash),
|
|
37746
|
-
tx.from.is_contract && /* @__PURE__ */ (0,
|
|
38391
|
+
tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
|
|
37747
38392
|
] })
|
|
37748
38393
|
] }),
|
|
37749
|
-
/* @__PURE__ */ (0,
|
|
37750
|
-
/* @__PURE__ */ (0,
|
|
37751
|
-
/* @__PURE__ */ (0,
|
|
38394
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { children: [
|
|
38395
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { className: "text-gray-600", children: "To:" }),
|
|
38396
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("span", { className: "font-mono ml-1", children: [
|
|
37752
38397
|
formatAddress4(tx.to.hash),
|
|
37753
|
-
tx.to.is_contract && /* @__PURE__ */ (0,
|
|
38398
|
+
tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
|
|
37754
38399
|
] })
|
|
37755
38400
|
] }),
|
|
37756
|
-
/* @__PURE__ */ (0,
|
|
37757
|
-
/* @__PURE__ */ (0,
|
|
37758
|
-
/* @__PURE__ */ (0,
|
|
38401
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { children: [
|
|
38402
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { className: "text-gray-600", children: "Value:" }),
|
|
38403
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("span", { className: "font-semibold ml-1", children: [
|
|
37759
38404
|
formatValue3(tx.value),
|
|
37760
38405
|
" LUMIA"
|
|
37761
38406
|
] })
|
|
37762
38407
|
] })
|
|
37763
38408
|
] })
|
|
37764
38409
|
] }),
|
|
37765
|
-
/* @__PURE__ */ (0,
|
|
37766
|
-
/* @__PURE__ */ (0,
|
|
37767
|
-
/* @__PURE__ */ (0,
|
|
38410
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
|
|
38411
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { children: formatDate2(tx.timestamp) }),
|
|
38412
|
+
/* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { className: "mt-1", children: [
|
|
37768
38413
|
"Gas: ",
|
|
37769
38414
|
parseInt(tx.gas_used).toLocaleString()
|
|
37770
38415
|
] }),
|
|
37771
|
-
tx.method && /* @__PURE__ */ (0,
|
|
38416
|
+
tx.method && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
|
|
37772
38417
|
] })
|
|
37773
38418
|
] }),
|
|
37774
|
-
tx.transaction_types.length > 0 && /* @__PURE__ */ (0,
|
|
38419
|
+
tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
|
|
37775
38420
|
]
|
|
37776
38421
|
},
|
|
37777
38422
|
tx.hash
|
|
@@ -37951,13 +38596,13 @@ function useUserOpStatus(options = {}) {
|
|
|
37951
38596
|
init_useErc3643Compliance();
|
|
37952
38597
|
|
|
37953
38598
|
// src/hooks/useWalletMode.ts
|
|
37954
|
-
var
|
|
38599
|
+
var import_react122 = require("react");
|
|
37955
38600
|
init_useExternalWalletStore();
|
|
37956
38601
|
function useWalletMode() {
|
|
37957
38602
|
const configMode = useExternalWalletStore((st) => st.configMode);
|
|
37958
38603
|
const activeMode = useExternalWalletStore((st) => st.activeMode);
|
|
37959
38604
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
37960
|
-
const switchMode = (0,
|
|
38605
|
+
const switchMode = (0, import_react122.useCallback)(
|
|
37961
38606
|
(mode) => {
|
|
37962
38607
|
if (configMode !== "both") return;
|
|
37963
38608
|
setActiveMode(mode);
|
|
@@ -37975,7 +38620,7 @@ function useWalletMode() {
|
|
|
37975
38620
|
// src/hooks/useDirectWallet.ts
|
|
37976
38621
|
init_useOpenPage();
|
|
37977
38622
|
init_useSafeDisconnect();
|
|
37978
|
-
var
|
|
38623
|
+
var import_react123 = require("react");
|
|
37979
38624
|
init_useExternalWalletStore();
|
|
37980
38625
|
function useDirectWallet() {
|
|
37981
38626
|
const address = useExternalWalletStore((st) => st.externalAddress);
|
|
@@ -37984,10 +38629,10 @@ function useDirectWallet() {
|
|
|
37984
38629
|
const connectorName = useExternalWalletStore((st) => st.connectorName);
|
|
37985
38630
|
const { open: openEmbarkAI } = useOpenPage();
|
|
37986
38631
|
const { mutate: wagmiDisconnect } = useSafeDisconnect();
|
|
37987
|
-
const connect = (0,
|
|
38632
|
+
const connect = (0, import_react123.useCallback)((connectFlowType = "connect") => {
|
|
37988
38633
|
openEmbarkAI("connect-external-wallet" /* CONNECT_EXTERNAL_WALLET */, { connectFlowType });
|
|
37989
38634
|
}, []);
|
|
37990
|
-
const disconnect = (0,
|
|
38635
|
+
const disconnect = (0, import_react123.useCallback)(() => {
|
|
37991
38636
|
wagmiDisconnect();
|
|
37992
38637
|
useExternalWalletStore.getState().clearExternalWallet();
|
|
37993
38638
|
}, [wagmiDisconnect]);
|
|
@@ -38003,7 +38648,7 @@ function useDirectWallet() {
|
|
|
38003
38648
|
}
|
|
38004
38649
|
|
|
38005
38650
|
// src/hooks/useSendDirectTransaction.ts
|
|
38006
|
-
var
|
|
38651
|
+
var import_react124 = require("react");
|
|
38007
38652
|
var import_viem24 = require("viem");
|
|
38008
38653
|
var import_wagmi10 = require("wagmi");
|
|
38009
38654
|
|
|
@@ -38026,10 +38671,10 @@ function useSendDirectTransaction() {
|
|
|
38026
38671
|
const { connector } = (0, import_wagmi10.useConnection)();
|
|
38027
38672
|
const { sendTransactionAsync: sendWagmiTransactionAsync } = (0, import_wagmi10.useSendTransaction)();
|
|
38028
38673
|
const { switchChainAsync } = (0, import_wagmi10.useSwitchChain)();
|
|
38029
|
-
const [isPending, setIsPending] = (0,
|
|
38030
|
-
const [error, setError] = (0,
|
|
38031
|
-
const [txHash, setTxHash] = (0,
|
|
38032
|
-
const sendTransactionAsync = (0,
|
|
38674
|
+
const [isPending, setIsPending] = (0, import_react124.useState)(false);
|
|
38675
|
+
const [error, setError] = (0, import_react124.useState)(null);
|
|
38676
|
+
const [txHash, setTxHash] = (0, import_react124.useState)(null);
|
|
38677
|
+
const sendTransactionAsync = (0, import_react124.useCallback)(
|
|
38033
38678
|
async (params) => {
|
|
38034
38679
|
if (!isConnected || !connector) {
|
|
38035
38680
|
const message = "No external wallet connected";
|
|
@@ -38066,7 +38711,7 @@ function useSendDirectTransaction() {
|
|
|
38066
38711
|
},
|
|
38067
38712
|
[isConnected, connector, sendWagmiTransactionAsync, switchChainAsync]
|
|
38068
38713
|
);
|
|
38069
|
-
const sendTransaction = (0,
|
|
38714
|
+
const sendTransaction = (0, import_react124.useCallback)(
|
|
38070
38715
|
async (params) => {
|
|
38071
38716
|
try {
|
|
38072
38717
|
return await sendTransactionAsync(params);
|
|
@@ -38076,7 +38721,7 @@ function useSendDirectTransaction() {
|
|
|
38076
38721
|
},
|
|
38077
38722
|
[sendTransactionAsync]
|
|
38078
38723
|
);
|
|
38079
|
-
const reset = (0,
|
|
38724
|
+
const reset = (0, import_react124.useCallback)(() => {
|
|
38080
38725
|
setError(null);
|
|
38081
38726
|
setTxHash(null);
|
|
38082
38727
|
setIsPending(false);
|
|
@@ -38085,7 +38730,7 @@ function useSendDirectTransaction() {
|
|
|
38085
38730
|
}
|
|
38086
38731
|
|
|
38087
38732
|
// src/hooks/useTransferToLinkedWallet.ts
|
|
38088
|
-
var
|
|
38733
|
+
var import_react125 = require("react");
|
|
38089
38734
|
var import_viem25 = require("viem");
|
|
38090
38735
|
init_SessionContext();
|
|
38091
38736
|
init_account2();
|
|
@@ -38104,14 +38749,14 @@ var ERC20_TRANSFER_ABI2 = [
|
|
|
38104
38749
|
function useTransferToLinkedWallet() {
|
|
38105
38750
|
const session = useSession((st) => st.session);
|
|
38106
38751
|
const { profiles } = useLinkedProfiles();
|
|
38107
|
-
const [isPending, setIsPending] = (0,
|
|
38108
|
-
const [error, setError] = (0,
|
|
38109
|
-
const [userOpHash, setUserOpHash] = (0,
|
|
38110
|
-
const linkedWallets = (0,
|
|
38752
|
+
const [isPending, setIsPending] = (0, import_react125.useState)(false);
|
|
38753
|
+
const [error, setError] = (0, import_react125.useState)(null);
|
|
38754
|
+
const [userOpHash, setUserOpHash] = (0, import_react125.useState)(null);
|
|
38755
|
+
const linkedWallets = (0, import_react125.useMemo)(
|
|
38111
38756
|
() => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
|
|
38112
38757
|
[profiles]
|
|
38113
38758
|
);
|
|
38114
|
-
const transfer = (0,
|
|
38759
|
+
const transfer = (0, import_react125.useCallback)(
|
|
38115
38760
|
async (params) => {
|
|
38116
38761
|
if (!session) {
|
|
38117
38762
|
setError("No active session");
|
|
@@ -38162,7 +38807,7 @@ function useTransferToLinkedWallet() {
|
|
|
38162
38807
|
},
|
|
38163
38808
|
[session, linkedWallets]
|
|
38164
38809
|
);
|
|
38165
|
-
const reset = (0,
|
|
38810
|
+
const reset = (0, import_react125.useCallback)(() => {
|
|
38166
38811
|
setError(null);
|
|
38167
38812
|
setUserOpHash(null);
|
|
38168
38813
|
setIsPending(false);
|
|
@@ -38186,8 +38831,8 @@ function useNativeWalletSignature() {
|
|
|
38186
38831
|
|
|
38187
38832
|
// src/hooks/useLogout.ts
|
|
38188
38833
|
init_useSafeDisconnect();
|
|
38189
|
-
var
|
|
38190
|
-
var
|
|
38834
|
+
var import_auth30 = require("@embarkai/core/auth");
|
|
38835
|
+
var import_react126 = require("react");
|
|
38191
38836
|
init_ProviderContext();
|
|
38192
38837
|
init_auth();
|
|
38193
38838
|
init_SessionContext();
|
|
@@ -38206,13 +38851,13 @@ function useLogout() {
|
|
|
38206
38851
|
}
|
|
38207
38852
|
}
|
|
38208
38853
|
});
|
|
38209
|
-
const logout2 = (0,
|
|
38854
|
+
const logout2 = (0, import_react126.useCallback)(async () => {
|
|
38210
38855
|
const { setSession, setIsLoading, setAddress, setStatus, setError } = useSession.getState();
|
|
38211
38856
|
const prevAddress = address;
|
|
38212
38857
|
let userId = null;
|
|
38213
38858
|
setIsLoading(true);
|
|
38214
38859
|
try {
|
|
38215
|
-
userId =
|
|
38860
|
+
userId = import_auth30.jwtTokenManager.getUserId() || null;
|
|
38216
38861
|
} catch (error) {
|
|
38217
38862
|
console.warn("[useLogout] Could not get userId:", error);
|
|
38218
38863
|
}
|
|
@@ -38326,7 +38971,7 @@ function useTransactions() {
|
|
|
38326
38971
|
|
|
38327
38972
|
// src/modules/assets.ts
|
|
38328
38973
|
init_SessionContext();
|
|
38329
|
-
var
|
|
38974
|
+
var import_react127 = __toESM(require("react"), 1);
|
|
38330
38975
|
var import_viem27 = require("viem");
|
|
38331
38976
|
var import_wagmi13 = require("wagmi");
|
|
38332
38977
|
var COMMON_TOKENS = [
|
|
@@ -38481,7 +39126,7 @@ function useTokenBalance2(tokenAddress, userAddress) {
|
|
|
38481
39126
|
}
|
|
38482
39127
|
});
|
|
38483
39128
|
const { tokenInfo } = useTokenInfo(tokenAddress);
|
|
38484
|
-
const formattedBalance =
|
|
39129
|
+
const formattedBalance = import_react127.default.useMemo(() => {
|
|
38485
39130
|
if (!balance || !tokenInfo) return "0";
|
|
38486
39131
|
return (0, import_viem27.formatUnits)(balance, tokenInfo.decimals);
|
|
38487
39132
|
}, [balance, tokenInfo]);
|