@embarkai/ui-kit 0.4.74 → 0.4.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +1810 -926
- package/dist/index.d.cts +450 -47
- package/dist/index.d.ts +450 -47
- package/dist/index.js +1515 -627
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5274,24 +5274,9 @@ var init_Expandable2 = __esm({
|
|
|
5274
5274
|
});
|
|
5275
5275
|
|
|
5276
5276
|
// src/internal/components/ui/highlight.tsx
|
|
5277
|
+
import { forwardRef as forwardRef2 } from "react";
|
|
5277
5278
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
5278
|
-
|
|
5279
|
-
const { type = "info", children, className } = props;
|
|
5280
|
-
return /* @__PURE__ */ jsx3(
|
|
5281
|
-
"div",
|
|
5282
|
-
{
|
|
5283
|
-
className: cn(
|
|
5284
|
-
"w-full text-xs rounded-[var(--ui-kit-el-bdrs)] p-[var(--ui-kit-pd)]",
|
|
5285
|
-
"whitespace-pre-line",
|
|
5286
|
-
type === "error" ? "break-all" : "break-normal",
|
|
5287
|
-
CARD_STYLES[type],
|
|
5288
|
-
className
|
|
5289
|
-
),
|
|
5290
|
-
children
|
|
5291
|
-
}
|
|
5292
|
-
);
|
|
5293
|
-
}
|
|
5294
|
-
var CARD_STYLES;
|
|
5279
|
+
var CARD_STYLES, Highlight;
|
|
5295
5280
|
var init_highlight = __esm({
|
|
5296
5281
|
"src/internal/components/ui/highlight.tsx"() {
|
|
5297
5282
|
init_utils2();
|
|
@@ -5301,13 +5286,30 @@ var init_highlight = __esm({
|
|
|
5301
5286
|
warning: "text-[var(--ui-kit-warning)] bg-[var(--ui-kit-bg-warning)]",
|
|
5302
5287
|
error: "text-[var(--ui-kit-error)] bg-[var(--ui-kit-bg-error)]"
|
|
5303
5288
|
};
|
|
5289
|
+
Highlight = forwardRef2((props, ref) => {
|
|
5290
|
+
const { type = "info", children, className } = props;
|
|
5291
|
+
return /* @__PURE__ */ jsx3(
|
|
5292
|
+
"div",
|
|
5293
|
+
{
|
|
5294
|
+
ref,
|
|
5295
|
+
className: cn(
|
|
5296
|
+
"w-full text-xs rounded-[var(--ui-kit-el-bdrs)] p-[var(--ui-kit-pd)]",
|
|
5297
|
+
"whitespace-pre-line",
|
|
5298
|
+
type === "error" ? "break-all" : "break-normal",
|
|
5299
|
+
CARD_STYLES[type],
|
|
5300
|
+
className
|
|
5301
|
+
),
|
|
5302
|
+
children
|
|
5303
|
+
}
|
|
5304
|
+
);
|
|
5305
|
+
});
|
|
5304
5306
|
}
|
|
5305
5307
|
});
|
|
5306
5308
|
|
|
5307
5309
|
// src/internal/components/ui/button.tsx
|
|
5308
5310
|
import { Slot } from "@radix-ui/react-slot";
|
|
5309
5311
|
import { cva } from "class-variance-authority";
|
|
5310
|
-
import { forwardRef as
|
|
5312
|
+
import { forwardRef as forwardRef3 } from "react";
|
|
5311
5313
|
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
5312
5314
|
var buttonVariants, BORDER_RADIUSES, Button;
|
|
5313
5315
|
var init_button = __esm({
|
|
@@ -5381,7 +5383,7 @@ var init_button = __esm({
|
|
|
5381
5383
|
large: "var(--ui-kit-el-bdrs)",
|
|
5382
5384
|
icon: ""
|
|
5383
5385
|
};
|
|
5384
|
-
Button =
|
|
5386
|
+
Button = forwardRef3((props, ref) => {
|
|
5385
5387
|
const { className, variant = "default", size = "large", asChild = false, children, ...buttonProps } = props;
|
|
5386
5388
|
const Comp = asChild ? Slot : "button";
|
|
5387
5389
|
const isBorderGlow = variant === "secondary-glow" || variant === "default-glow";
|
|
@@ -5546,9 +5548,29 @@ var init_en = __esm({
|
|
|
5546
5548
|
oops: "Oops, something went wrong. Please try again."
|
|
5547
5549
|
},
|
|
5548
5550
|
onboarding: {
|
|
5551
|
+
embarkAI: {
|
|
5552
|
+
title: "embarkAI",
|
|
5553
|
+
description: "embarkAI is a crypto wallet and web3 platform that allows you to manage your digital assets, interact with decentralized applications."
|
|
5554
|
+
},
|
|
5555
|
+
userSection: {
|
|
5556
|
+
title: "User Section",
|
|
5557
|
+
description: "Your profile meta, your wallet address, and settings toolbar."
|
|
5558
|
+
},
|
|
5549
5559
|
tourButton: {
|
|
5550
5560
|
title: "Tour Button",
|
|
5551
|
-
description: '
|
|
5561
|
+
description: '"?" button initiates a brief tour that explains the current embarkAI active menu features.'
|
|
5562
|
+
},
|
|
5563
|
+
chainButton: {
|
|
5564
|
+
title: "Chain Button",
|
|
5565
|
+
description: "Change the connected chain in embarkAI (if allowed by application)"
|
|
5566
|
+
},
|
|
5567
|
+
logoutButton: {
|
|
5568
|
+
title: "Logout Button",
|
|
5569
|
+
description: "Logout embarkAI and profile wallet (if connected)"
|
|
5570
|
+
},
|
|
5571
|
+
settingsMenu: {
|
|
5572
|
+
title: "Settings Menu",
|
|
5573
|
+
description: "Manage embarkAI settings and preferences."
|
|
5552
5574
|
}
|
|
5553
5575
|
}
|
|
5554
5576
|
},
|
|
@@ -5589,7 +5611,25 @@ var init_en = __esm({
|
|
|
5589
5611
|
send: "Send",
|
|
5590
5612
|
receive: "Receive",
|
|
5591
5613
|
buy: "Buy",
|
|
5592
|
-
assets: "Portfolio"
|
|
5614
|
+
assets: "Portfolio",
|
|
5615
|
+
onboarding: {
|
|
5616
|
+
sendButton: {
|
|
5617
|
+
title: "Send Menu",
|
|
5618
|
+
description: "Send directly to a wallet address on same chain via Send Menu, or Bridge between chains & wallets via Bridge Menu."
|
|
5619
|
+
},
|
|
5620
|
+
receiveButton: {
|
|
5621
|
+
title: "Receive Menu",
|
|
5622
|
+
description: "Receive directly to embarkAI wallet from another user on same chain via Receive Menu"
|
|
5623
|
+
},
|
|
5624
|
+
buyButton: {
|
|
5625
|
+
title: "Buy Menu",
|
|
5626
|
+
description: "Purchase crypto for fiat into embarkAI wallet via Buy Menu."
|
|
5627
|
+
},
|
|
5628
|
+
portfolioButton: {
|
|
5629
|
+
title: "Portfolio Menu",
|
|
5630
|
+
description: "Explore your crypto assets of embarkAI wallet via Portfolio Menu."
|
|
5631
|
+
}
|
|
5632
|
+
}
|
|
5593
5633
|
},
|
|
5594
5634
|
sendMenu: {
|
|
5595
5635
|
title: "Send",
|
|
@@ -5677,7 +5717,7 @@ var init_en = __esm({
|
|
|
5677
5717
|
},
|
|
5678
5718
|
bridgeSenderWalletSelector: {
|
|
5679
5719
|
title: "Select sender wallet",
|
|
5680
|
-
description: "
|
|
5720
|
+
description: "External wallet profile can be used as sender (tx signer) for bridging crypto into embarkAI.\n Add external wallet profile if not done yet (Settings -> Profiles)"
|
|
5681
5721
|
},
|
|
5682
5722
|
bridgeCryptoAssetSelector: {
|
|
5683
5723
|
title: "Select asset to bridge",
|
|
@@ -5705,7 +5745,13 @@ var init_en = __esm({
|
|
|
5705
5745
|
title: "Receive Asset",
|
|
5706
5746
|
copyAddress: "Copy Address",
|
|
5707
5747
|
warning: "Ensure sender is on the same network",
|
|
5708
|
-
share: "Share this address to receive tokens"
|
|
5748
|
+
share: "Share this address to receive tokens",
|
|
5749
|
+
onboarding: {
|
|
5750
|
+
receiveMenu: {
|
|
5751
|
+
title: "Receive Menu",
|
|
5752
|
+
description: "Share your address on selected chain to receive crypto assets from another user on the same chain."
|
|
5753
|
+
}
|
|
5754
|
+
}
|
|
5709
5755
|
},
|
|
5710
5756
|
buyMenu: {
|
|
5711
5757
|
title: "Buy Crypto",
|
|
@@ -5768,7 +5814,7 @@ var init_en = __esm({
|
|
|
5768
5814
|
}
|
|
5769
5815
|
},
|
|
5770
5816
|
portfolioMenu: {
|
|
5771
|
-
title: "
|
|
5817
|
+
title: "Assets Portfolio",
|
|
5772
5818
|
noAssets: "No assets found",
|
|
5773
5819
|
noBlockscout: "No Blockscout API found for chain: {{chain}}"
|
|
5774
5820
|
},
|
|
@@ -5776,7 +5822,13 @@ var init_en = __esm({
|
|
|
5776
5822
|
title: "Transactions History",
|
|
5777
5823
|
noTransactions: "No transactions found",
|
|
5778
5824
|
internalTransactions: "Internal Transactions",
|
|
5779
|
-
comingSoon: "Transaction history for this network is coming soon"
|
|
5825
|
+
comingSoon: "Transaction history for this network is coming soon",
|
|
5826
|
+
onboarding: {
|
|
5827
|
+
transactionsMenu: {
|
|
5828
|
+
title: "Transactions History",
|
|
5829
|
+
description: "On-chain transaction history for the currently selected chain."
|
|
5830
|
+
}
|
|
5831
|
+
}
|
|
5780
5832
|
},
|
|
5781
5833
|
kycMenu: {
|
|
5782
5834
|
title: "KYC"
|
|
@@ -5810,6 +5862,12 @@ var init_en = __esm({
|
|
|
5810
5862
|
initialUser: {
|
|
5811
5863
|
welcome: "Your nickname is set as {{nickname}}",
|
|
5812
5864
|
message: 'Change & Save on your demand, and "Continue":'
|
|
5865
|
+
},
|
|
5866
|
+
onboarding: {
|
|
5867
|
+
nicknameMenu: {
|
|
5868
|
+
title: "Nickname Menu",
|
|
5869
|
+
description: "Set your nickname for your embarkAI profile. You can change it later, but there is a cooldown period between changes."
|
|
5870
|
+
}
|
|
5813
5871
|
}
|
|
5814
5872
|
},
|
|
5815
5873
|
profilesMenu: {
|
|
@@ -5829,7 +5887,13 @@ var init_en = __esm({
|
|
|
5829
5887
|
},
|
|
5830
5888
|
unlinkTitle: "This action cannot be undone",
|
|
5831
5889
|
unlinkConfirm: "Type the provider ID to confirm removal",
|
|
5832
|
-
unlinkPlaceholder: "Type provider ID"
|
|
5890
|
+
unlinkPlaceholder: "Type provider ID",
|
|
5891
|
+
onboarding: {
|
|
5892
|
+
profilesMenu: {
|
|
5893
|
+
title: "Profiles Menu",
|
|
5894
|
+
description: "Authentication into embarkAI can be handled multiple ways via connected profiles. Manage your connected profiles."
|
|
5895
|
+
}
|
|
5896
|
+
}
|
|
5833
5897
|
},
|
|
5834
5898
|
securityMenu: {
|
|
5835
5899
|
title: "Security",
|
|
@@ -5855,7 +5919,44 @@ var init_en = __esm({
|
|
|
5855
5919
|
valutBackupMissing: "Security Key Share Vault Backup Missing. Create one to ensure your data is safe."
|
|
5856
5920
|
},
|
|
5857
5921
|
lastBackup: "Existing Vault Keyshare backup",
|
|
5858
|
-
lastBackupMeta: "Created via {{browser}} browser under {{os}}. {{deviceName}}"
|
|
5922
|
+
lastBackupMeta: "Created via {{browser}} browser under {{os}}. {{deviceName}}",
|
|
5923
|
+
onboarding: {
|
|
5924
|
+
securityMenu: {
|
|
5925
|
+
title: "Security Menu",
|
|
5926
|
+
description: "Account security, including connected applications and keyshare status."
|
|
5927
|
+
},
|
|
5928
|
+
keyshare: {
|
|
5929
|
+
title: "Keyshare Status",
|
|
5930
|
+
description: "embarkAI protection consists of two keyshare parts: one on safe server & one on your device.",
|
|
5931
|
+
detailsButton: "Watch Details",
|
|
5932
|
+
details: {
|
|
5933
|
+
concept: {
|
|
5934
|
+
title: "Core Concepts",
|
|
5935
|
+
description: "- Keyshares recombination gives the access key to your account.\n\n - Losing your part will result in losing access to your account\n\n - Your keyshare part exists on your device (Local Share), but also should be backed up at Keyshare Vault so you have embarkAI access on any device."
|
|
5936
|
+
},
|
|
5937
|
+
server: {
|
|
5938
|
+
title: "Server Keyshare",
|
|
5939
|
+
description: "An embarkAI safety server keyshare part."
|
|
5940
|
+
},
|
|
5941
|
+
local: {
|
|
5942
|
+
title: "Local Keyshare",
|
|
5943
|
+
description: "Your device keyshare part. If lost, you may lose access to your account."
|
|
5944
|
+
},
|
|
5945
|
+
vault: {
|
|
5946
|
+
title: "Vault Keyshare",
|
|
5947
|
+
description: "Your device keyshare part should be backed up in Vault to ensure your embarkAI wallet is accessible. Backup can be created via Settings Account Backup menu"
|
|
5948
|
+
}
|
|
5949
|
+
}
|
|
5950
|
+
},
|
|
5951
|
+
keyshareExistingVaultBkp: {
|
|
5952
|
+
title: "Existing Keyshare Vault backup",
|
|
5953
|
+
description: "Your Security Key Share Vault Backup should exist and be ready. You may lose access to your account if it is missing. Create one if not done yet to ensure your data is safe."
|
|
5954
|
+
},
|
|
5955
|
+
connectedApps: {
|
|
5956
|
+
title: "Connected Applications",
|
|
5957
|
+
description: "Connected applications are apps that you have accessed by embarkAI.\n - Connected apps can be trusted to skip transactions consent.\n - You can revoke trust approval anytime, then app will require your confirmation for every transaction again."
|
|
5958
|
+
}
|
|
5959
|
+
}
|
|
5859
5960
|
},
|
|
5860
5961
|
backupMenu: {
|
|
5861
5962
|
title: "Account Backup",
|
|
@@ -5873,7 +5974,33 @@ var init_en = __esm({
|
|
|
5873
5974
|
file: "Backup File",
|
|
5874
5975
|
fileCreate: "Download Backup File encoded by",
|
|
5875
5976
|
fileRestore: "Restore with File",
|
|
5876
|
-
cloud: "Cloud"
|
|
5977
|
+
cloud: "Cloud",
|
|
5978
|
+
onboarding: {
|
|
5979
|
+
backupMenu: {
|
|
5980
|
+
title: "Account Backup Menu",
|
|
5981
|
+
description: "Your device local keyshare backup is essential for account recovery."
|
|
5982
|
+
},
|
|
5983
|
+
backupEncryptionMethod: {
|
|
5984
|
+
title: "Encryption Method",
|
|
5985
|
+
description: "Your device local keyshare backup must be encrypted with a password or a passkey, so only you can decrypt it no matter where backup is stored."
|
|
5986
|
+
},
|
|
5987
|
+
backupEncryptionPassword: {
|
|
5988
|
+
title: "Password",
|
|
5989
|
+
description: "Password is a common method to encrypt your keyshare backup. Make sure to use a strong password and remember it, as losing it may result in losing access to your account."
|
|
5990
|
+
},
|
|
5991
|
+
backupEncryptionPasskey: {
|
|
5992
|
+
title: "Passkey",
|
|
5993
|
+
description: "Passkeys are a password-free, device-locked alternative to encrypt your keyshare backup."
|
|
5994
|
+
},
|
|
5995
|
+
backupStatus: {
|
|
5996
|
+
title: "Backup Status",
|
|
5997
|
+
description: "Status indicates whether your keyshare backup is properly encrypted and stored."
|
|
5998
|
+
},
|
|
5999
|
+
backupAdvanced: {
|
|
6000
|
+
title: "Advanced Backup Options",
|
|
6001
|
+
description: "Explore advanced options to backup your device local keyshare."
|
|
6002
|
+
}
|
|
6003
|
+
}
|
|
5877
6004
|
},
|
|
5878
6005
|
restoreMenu: {
|
|
5879
6006
|
title: "Account Recovery",
|
|
@@ -5892,7 +6019,16 @@ var init_en = __esm({
|
|
|
5892
6019
|
description: "Current application is configured to use chain <b>{{preferredChain}}</b> instead of your current chain <b>{{currentChain}}</b>. <br /> Do you want to switch to the preferred chain?",
|
|
5893
6020
|
confirmButton: "Switch to {{chain}}",
|
|
5894
6021
|
cancelButton: "Keep Current Chain"
|
|
6022
|
+
},
|
|
6023
|
+
onboarding: {
|
|
6024
|
+
chainMenu: {
|
|
6025
|
+
title: "Chain Menu",
|
|
6026
|
+
description: "Switch between different blockchain networks supported by the embarkAI."
|
|
6027
|
+
}
|
|
5895
6028
|
}
|
|
6029
|
+
},
|
|
6030
|
+
guardiansMenu: {
|
|
6031
|
+
title: "Guardians"
|
|
5896
6032
|
}
|
|
5897
6033
|
};
|
|
5898
6034
|
}
|
|
@@ -5955,9 +6091,29 @@ var init_ru = __esm({
|
|
|
5955
6091
|
oops: "\u0423\u043F\u0441, \u0447\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."
|
|
5956
6092
|
},
|
|
5957
6093
|
onboarding: {
|
|
6094
|
+
embarkAI: {
|
|
6095
|
+
title: "embarkAI",
|
|
6096
|
+
description: "embarkAI \u2014 \u044D\u0442\u043E \u043A\u0440\u0438\u043F\u0442\u043E\u043A\u043E\u0448\u0435\u043B\u0451\u043A \u0438 web3-\u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0430, \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0449\u0430\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0446\u0438\u0444\u0440\u043E\u0432\u044B\u043C\u0438 \u0430\u043A\u0442\u0438\u0432\u0430\u043C\u0438 \u0438 \u0432\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0441 \u0434\u0435\u0446\u0435\u043D\u0442\u0440\u0430\u043B\u0438\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u043C\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C\u0438."
|
|
6097
|
+
},
|
|
6098
|
+
userSection: {
|
|
6099
|
+
title: "\u0420\u0430\u0437\u0434\u0435\u043B \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F",
|
|
6100
|
+
description: "\u041C\u0435\u0442\u0430\u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u0440\u043E\u0444\u0438\u043B\u044F, \u0430\u0434\u0440\u0435\u0441 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430 \u0438 \u043F\u0430\u043D\u0435\u043B\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A."
|
|
6101
|
+
},
|
|
5958
6102
|
tourButton: {
|
|
5959
6103
|
title: "\u041A\u043D\u043E\u043F\u043A\u0430 \u0442\u0443\u0440\u0430",
|
|
5960
6104
|
description: "\u0422\u0443\u0440\u044B \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u043F\u043E\u0434 \u043A\u043D\u043E\u043F\u043A\u0430\u043C\u0438 \xAB?\xBB \u043C\u0435\u043D\u044E embarkAI. \u041D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0439\u0442\u0438 \u0442\u0443\u0440 \u043F\u043E \u043C\u0435\u043D\u044E"
|
|
6105
|
+
},
|
|
6106
|
+
chainButton: {
|
|
6107
|
+
title: "\u041A\u043D\u043E\u043F\u043A\u0430 \u0441\u0435\u0442\u0438",
|
|
6108
|
+
description: "\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u0443\u044E \u0441\u0435\u0442\u044C \u0432 embarkAI (\u0435\u0441\u043B\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u043C)"
|
|
6109
|
+
},
|
|
6110
|
+
logoutButton: {
|
|
6111
|
+
title: "\u041A\u043D\u043E\u043F\u043A\u0430 \u0432\u044B\u0445\u043E\u0434\u0430",
|
|
6112
|
+
description: "\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 embarkAI \u0438 \u043F\u0440\u043E\u0444\u0438\u043B\u044F \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430 (\u0435\u0441\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D)"
|
|
6113
|
+
},
|
|
6114
|
+
settingsMenu: {
|
|
6115
|
+
title: "\u041C\u0435\u043D\u044E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A",
|
|
6116
|
+
description: "\u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0439\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u043C\u0438 \u0438 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0435\u043D\u0438\u044F\u043C\u0438 embarkAI."
|
|
5961
6117
|
}
|
|
5962
6118
|
}
|
|
5963
6119
|
},
|
|
@@ -5998,7 +6154,25 @@ var init_ru = __esm({
|
|
|
5998
6154
|
send: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
|
|
5999
6155
|
receive: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C",
|
|
6000
6156
|
buy: "\u041A\u0443\u043F\u0438\u0442\u044C",
|
|
6001
|
-
assets: "\u041F\u043E\u0440\u0442\u0444\u043E\u043B\u0438\u043E"
|
|
6157
|
+
assets: "\u041F\u043E\u0440\u0442\u0444\u043E\u043B\u0438\u043E",
|
|
6158
|
+
onboarding: {
|
|
6159
|
+
sendButton: {
|
|
6160
|
+
title: "\u041C\u0435\u043D\u044E \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438",
|
|
6161
|
+
description: "\u041E\u0442\u043F\u0440\u0430\u0432\u044C\u0442\u0435 \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E \u043D\u0430 \u0430\u0434\u0440\u0435\u0441 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430 \u0432 \u0442\u043E\u0439 \u0436\u0435 \u0441\u0435\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043C\u0435\u043D\u044E \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0438\u043B\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u043C\u043E\u0441\u0442 \u043C\u0435\u0436\u0434\u0443 \u0441\u0435\u0442\u044F\u043C\u0438 \u0438 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430\u043C\u0438 \u0447\u0435\u0440\u0435\u0437 \u043C\u0435\u043D\u044E \u043C\u043E\u0441\u0442\u0430."
|
|
6162
|
+
},
|
|
6163
|
+
receiveButton: {
|
|
6164
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F",
|
|
6165
|
+
description: "\u041F\u043E\u043B\u0443\u0447\u0430\u0439\u0442\u0435 \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E \u043D\u0430 \u043A\u043E\u0448\u0435\u043B\u0451\u043A embarkAI \u043E\u0442 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0432 \u0442\u043E\u0439 \u0436\u0435 \u0441\u0435\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043C\u0435\u043D\u044E \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F"
|
|
6166
|
+
},
|
|
6167
|
+
buyButton: {
|
|
6168
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u043E\u043A\u0443\u043F\u043A\u0438",
|
|
6169
|
+
description: "\u041F\u043E\u043A\u0443\u043F\u0430\u0439\u0442\u0435 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0443 \u0437\u0430 \u0444\u0438\u0430\u0442 \u0432 \u043A\u043E\u0448\u0435\u043B\u0451\u043A embarkAI \u0447\u0435\u0440\u0435\u0437 \u043C\u0435\u043D\u044E \u043F\u043E\u043A\u0443\u043F\u043A\u0438."
|
|
6170
|
+
},
|
|
6171
|
+
portfolioButton: {
|
|
6172
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u043E\u0440\u0442\u0444\u043E\u043B\u0438\u043E",
|
|
6173
|
+
description: "\u0418\u0437\u0443\u0447\u0438\u0442\u0435 \u043A\u0440\u0438\u043F\u0442\u043E\u0430\u043A\u0442\u0438\u0432\u044B \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430 embarkAI \u0447\u0435\u0440\u0435\u0437 \u043C\u0435\u043D\u044E \u043F\u043E\u0440\u0442\u0444\u043E\u043B\u0438\u043E."
|
|
6174
|
+
}
|
|
6175
|
+
}
|
|
6002
6176
|
},
|
|
6003
6177
|
sendMenu: {
|
|
6004
6178
|
title: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
|
|
@@ -6086,7 +6260,7 @@ var init_ru = __esm({
|
|
|
6086
6260
|
},
|
|
6087
6261
|
bridgeSenderWalletSelector: {
|
|
6088
6262
|
title: "\u0412\u044B\u0431\u043E\u0440 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430-\u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044F",
|
|
6089
|
-
description: "
|
|
6263
|
+
description: "\u041F\u0440\u043E\u0444\u0438\u043B\u044C \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u043A \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C (\u043F\u043E\u0434\u043F\u0438\u0441\u0430\u043D\u0442 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439) \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u044B \u0432 embarkAI.\n \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043F\u0440\u043E\u0444\u0438\u043B\u044C \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430, \u0435\u0441\u043B\u0438 \u044D\u0442\u043E \u0435\u0449\u0451 \u043D\u0435 \u0441\u0434\u0435\u043B\u0430\u043D\u043E (\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 -> \u041F\u0440\u043E\u0444\u0438\u043B\u0438)."
|
|
6090
6264
|
},
|
|
6091
6265
|
bridgeCryptoAssetSelector: {
|
|
6092
6266
|
title: "\u0412\u044B\u0431\u043E\u0440 \u0430\u043A\u0442\u0438\u0432\u0430 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
@@ -6114,7 +6288,13 @@ var init_ru = __esm({
|
|
|
6114
6288
|
title: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0430\u043A\u0442\u0438\u0432",
|
|
6115
6289
|
copyAddress: "\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0430\u0434\u0440\u0435\u0441",
|
|
6116
6290
|
warning: "\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u0442\u043E\u0439 \u0436\u0435 \u0441\u0435\u0442\u0438",
|
|
6117
|
-
share: "\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u0435\u0441\u044C \u044D\u0442\u0438\u043C \u0430\u0434\u0440\u0435\u0441\u043E\u043C, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0442\u043E\u043A\u0435\u043D\u044B"
|
|
6291
|
+
share: "\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u0435\u0441\u044C \u044D\u0442\u0438\u043C \u0430\u0434\u0440\u0435\u0441\u043E\u043C, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0442\u043E\u043A\u0435\u043D\u044B",
|
|
6292
|
+
onboarding: {
|
|
6293
|
+
receiveMenu: {
|
|
6294
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F",
|
|
6295
|
+
description: "\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u0435\u0441\u044C \u0441\u0432\u043E\u0438\u043C \u0430\u0434\u0440\u0435\u0441\u043E\u043C \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0441\u0435\u0442\u0438, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043A\u0440\u0438\u043F\u0442\u043E\u0430\u043A\u0442\u0438\u0432\u044B \u043E\u0442 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0432 \u0442\u043E\u0439 \u0436\u0435 \u0441\u0435\u0442\u0438."
|
|
6296
|
+
}
|
|
6297
|
+
}
|
|
6118
6298
|
},
|
|
6119
6299
|
buyMenu: {
|
|
6120
6300
|
title: "\u041A\u0443\u043F\u0438\u0442\u044C \u043A\u0440\u0438\u043F\u0442\u043E",
|
|
@@ -6177,7 +6357,7 @@ var init_ru = __esm({
|
|
|
6177
6357
|
}
|
|
6178
6358
|
},
|
|
6179
6359
|
portfolioMenu: {
|
|
6180
|
-
title: "\
|
|
6360
|
+
title: "\u041F\u043E\u0440\u0442\u0444\u043E\u043B\u0438\u043E \u0430\u043A\u0442\u0438\u0432\u043E\u0432",
|
|
6181
6361
|
noAssets: "\u0410\u043A\u0442\u0438\u0432\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",
|
|
6182
6362
|
noBlockscout: "Blockscout API \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0434\u043B\u044F \u0441\u0435\u0442\u0438: {{chain}}"
|
|
6183
6363
|
},
|
|
@@ -6185,7 +6365,13 @@ var init_ru = __esm({
|
|
|
6185
6365
|
title: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439",
|
|
6186
6366
|
noTransactions: "\u0422\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",
|
|
6187
6367
|
internalTransactions: "\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0422\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438",
|
|
6188
|
-
comingSoon: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439 \u0434\u043B\u044F \u044D\u0442\u043E\u0439 \u0441\u0435\u0442\u0438 \u0441\u043A\u043E\u0440\u043E \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430"
|
|
6368
|
+
comingSoon: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439 \u0434\u043B\u044F \u044D\u0442\u043E\u0439 \u0441\u0435\u0442\u0438 \u0441\u043A\u043E\u0440\u043E \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430",
|
|
6369
|
+
onboarding: {
|
|
6370
|
+
transactionsMenu: {
|
|
6371
|
+
title: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439",
|
|
6372
|
+
description: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439 \u0432 \u0431\u043B\u043E\u043A\u0447\u0435\u0439\u043D\u0435 \u0434\u043B\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0441\u0435\u0442\u0438."
|
|
6373
|
+
}
|
|
6374
|
+
}
|
|
6189
6375
|
},
|
|
6190
6376
|
kycMenu: {
|
|
6191
6377
|
title: "KYC"
|
|
@@ -6219,6 +6405,12 @@ var init_ru = __esm({
|
|
|
6219
6405
|
initialUser: {
|
|
6220
6406
|
welcome: "\u0412\u0430\u0448 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D \u043A\u0430\u043A {{nickname}}",
|
|
6221
6407
|
message: '\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u043F\u043E \u0432\u0430\u0448\u0435\u043C\u0443 \u0436\u0435\u043B\u0430\u043D\u0438\u044E, \u0438 \u0437\u0430\u0442\u0435\u043C "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C":'
|
|
6408
|
+
},
|
|
6409
|
+
onboarding: {
|
|
6410
|
+
nicknameMenu: {
|
|
6411
|
+
title: "\u041C\u0435\u043D\u044E \u043D\u0438\u043A\u043D\u0435\u0439\u043C\u0430",
|
|
6412
|
+
description: "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u043F\u0440\u043E\u0444\u0438\u043B\u044F embarkAI. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0435\u0433\u043E \u043F\u043E\u0437\u0436\u0435, \u043D\u043E \u043C\u0435\u0436\u0434\u0443 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\u043C\u0438 \u0435\u0441\u0442\u044C \u043F\u0435\u0440\u0438\u043E\u0434 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F."
|
|
6413
|
+
}
|
|
6222
6414
|
}
|
|
6223
6415
|
},
|
|
6224
6416
|
profilesMenu: {
|
|
@@ -6238,7 +6430,13 @@ var init_ru = __esm({
|
|
|
6238
6430
|
},
|
|
6239
6431
|
unlinkTitle: "\u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C",
|
|
6240
6432
|
unlinkConfirm: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 ID \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F",
|
|
6241
|
-
unlinkPlaceholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 ID \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u0430"
|
|
6433
|
+
unlinkPlaceholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 ID \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u0430",
|
|
6434
|
+
onboarding: {
|
|
6435
|
+
profilesMenu: {
|
|
6436
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u0440\u043E\u0444\u0438\u043B\u0435\u0439",
|
|
6437
|
+
description: "\u0410\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u044F \u0432 embarkAI \u043C\u043E\u0436\u0435\u0442 \u043E\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u0430\u043C\u0438 \u0447\u0435\u0440\u0435\u0437 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0435 \u043F\u0440\u043E\u0444\u0438\u043B\u0438. \u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0439\u0442\u0435 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u043C\u0438 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\u043C\u0438."
|
|
6438
|
+
}
|
|
6439
|
+
}
|
|
6242
6440
|
},
|
|
6243
6441
|
securityMenu: {
|
|
6244
6442
|
title: "\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C",
|
|
@@ -6264,7 +6462,44 @@ var init_ru = __esm({
|
|
|
6264
6462
|
valutBackupMissing: "\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F \u0432\u0430\u0448\u0435\u0439 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u043E\u0439 \u0447\u0430\u0441\u0442\u0438 \u043A\u043B\u044E\u0447\u0430 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u0435\u0451 \u0434\u043B\u044F \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0435\u043D\u0438\u044F \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438 \u0432\u0430\u0448\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445."
|
|
6265
6463
|
},
|
|
6266
6464
|
lastBackup: "\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F Keyshare Vault",
|
|
6267
|
-
lastBackupMeta: "\u0421\u043E\u0437\u0434\u0430\u043D\u043E \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 {{browser}} \u043F\u043E\u0434 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435\u043C {{os}}. {{deviceName}}"
|
|
6465
|
+
lastBackupMeta: "\u0421\u043E\u0437\u0434\u0430\u043D\u043E \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 {{browser}} \u043F\u043E\u0434 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435\u043C {{os}}. {{deviceName}}",
|
|
6466
|
+
onboarding: {
|
|
6467
|
+
securityMenu: {
|
|
6468
|
+
title: "\u041C\u0435\u043D\u044E \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",
|
|
6469
|
+
description: "\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430, \u0432\u043A\u043B\u044E\u0447\u0430\u044F \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u043A\u043B\u044E\u0447\u0435\u0439."
|
|
6470
|
+
},
|
|
6471
|
+
keyshare: {
|
|
6472
|
+
title: "\u0421\u0442\u0430\u0442\u0443\u0441 Keyshare",
|
|
6473
|
+
description: "\u0417\u0430\u0449\u0438\u0442\u0430 embarkAi \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u0430 \u043D\u0430 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u044F\u0445 \u043A\u043B\u044E\u0447\u0430: \u043E\u0434\u043D\u0430 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438 \u043E\u0434\u043D\u0430 \u043D\u0430 \u0432\u0430\u0448\u0435\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435. \u041E\u0431\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B \u0434\u043B\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0443. \n\u0412\u0430\u0448\u0430 \u0447\u0430\u0441\u0442\u044C \u043A\u043B\u044E\u0447\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0432\u0430\u0448\u0435\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E) \u0438 \u0442\u0430\u043A\u0436\u0435 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430 \u0432 Vault \u0434\u043B\u044F \u0431\u043E\u043B\u044C\u0448\u0435\u0439 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",
|
|
6474
|
+
detailsButton: "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435",
|
|
6475
|
+
details: {
|
|
6476
|
+
concept: {
|
|
6477
|
+
title: "\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u043F\u043E\u043D\u044F\u0442\u0438\u044F",
|
|
6478
|
+
description: "- \u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u043A\u043B\u044E\u0447\u0435\u0439 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0432\u0430\u0448\u0435\u043C\u0443 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0443.\n\n - \u041F\u043E\u0442\u0435\u0440\u044F \u0432\u0430\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043F\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043A \u043F\u043E\u0442\u0435\u0440\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0443\n\n - \u0412\u0430\u0448\u0430 \u0447\u0430\u0441\u0442\u044C \u043A\u043B\u044E\u0447\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0432\u0430\u0448\u0435\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 (\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 Share), \u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430 \u0432 Keyshare Vault \u0434\u043B\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A embarkAI \u0441 \u043B\u044E\u0431\u043E\u0433\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430."
|
|
6479
|
+
},
|
|
6480
|
+
server: {
|
|
6481
|
+
title: "\u0421\u0435\u0440\u0432\u0435\u0440\u043D\u044B\u0439 Keyshare",
|
|
6482
|
+
description: "\u0427\u0430\u0441\u0442\u044C \u043A\u043B\u044E\u0447\u0430 \u0445\u0440\u0430\u043D\u0438\u0442\u0441\u044F \u043D\u0430 \u0437\u0430\u0449\u0438\u0449\u0451\u043D\u043D\u043E\u043C \u0441\u0435\u0440\u0432\u0435\u0440\u0435. "
|
|
6483
|
+
},
|
|
6484
|
+
local: {
|
|
6485
|
+
title: "\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 Keyshare",
|
|
6486
|
+
description: "\u0427\u0430\u0441\u0442\u044C \u043A\u043B\u044E\u0447\u0430 \u0445\u0440\u0430\u043D\u0438\u0442\u0441\u044F \u043D\u0430 \u0432\u0430\u0448\u0435\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E) \u0434\u043B\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0443 \u0441\u043E\u0432\u043C\u0435\u0441\u0442\u043D\u043E \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043D\u044B\u043C \u043A\u043B\u044E\u0447\u043E\u043C. \u041F\u0440\u0438 \u0443\u0442\u0435\u0440\u0435 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0442\u0435\u0440\u044F\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0443."
|
|
6487
|
+
},
|
|
6488
|
+
vault: {
|
|
6489
|
+
title: "Vault Keyshare",
|
|
6490
|
+
description: "\u0412\u0430\u0448\u0430 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0430\u044F \u0447\u0430\u0441\u0442\u044C \u043A\u043B\u044E\u0447\u0430 \u0434\u043E\u043B\u0436\u043D\u0430 \u0445\u0440\u0430\u043D\u0438\u0442\u044C\u0441\u044F \u0432 Vault \u0434\u043B\u044F \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0435\u043D\u0438\u044F \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438 \u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0441\u0442\u0438 \u0434\u0430\u043D\u043D\u044B\u0445. \u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0443\u044E \u043A\u043E\u043F\u0438\u044E \u043C\u043E\u0436\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 -> \u0411\u0435\u043A\u0430\u043F \u0410\u043A\u043A\u0430\u0443\u043D\u0442\u0430"
|
|
6491
|
+
}
|
|
6492
|
+
}
|
|
6493
|
+
},
|
|
6494
|
+
keyshareExistingVaultBkp: {
|
|
6495
|
+
title: "\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F Keyshare Vault",
|
|
6496
|
+
description: "\u0412\u0430\u0448\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F \u043A\u043B\u044E\u0447\u0430 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438 \u0432 Vault \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0438 \u0431\u044B\u0442\u044C \u0433\u043E\u0442\u043E\u0432\u0430. \u041F\u0440\u0438 \u0435\u0451 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0442\u0435\u0440\u044F\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0443. \u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u0435\u0451, \u0435\u0441\u043B\u0438 \u044D\u0442\u043E \u0435\u0449\u0451 \u043D\u0435 \u0441\u0434\u0435\u043B\u0430\u043D\u043E, \u0434\u043B\u044F \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0435\u043D\u0438\u044F \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438 \u0432\u0430\u0448\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445."
|
|
6497
|
+
},
|
|
6498
|
+
connectedApps: {
|
|
6499
|
+
title: "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F",
|
|
6500
|
+
description: "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u2014 \u044D\u0442\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F, \u043A \u043A\u043E\u0442\u043E\u0440\u044B\u043C \u0432\u044B \u043F\u043E\u043B\u0443\u0447\u0430\u043B\u0438 \u0434\u043E\u0441\u0442\u0443\u043F \u0447\u0435\u0440\u0435\u0437 embarkAI.\n - \u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u043C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\u043C \u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0432\u0435\u0440\u044F\u0442\u044C, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430\u0442\u044C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439.\n - \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0442\u043E\u0437\u0432\u0430\u0442\u044C \u0434\u043E\u0432\u0435\u0440\u0438\u0435 \u0432 \u043B\u044E\u0431\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u043F\u043E\u0441\u043B\u0435 \u0447\u0435\u0433\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043D\u043E\u0432\u0430 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u0442\u044C \u0432\u0430\u0448\u0435\u0433\u043E \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0439 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438."
|
|
6501
|
+
}
|
|
6502
|
+
}
|
|
6268
6503
|
},
|
|
6269
6504
|
backupMenu: {
|
|
6270
6505
|
title: "\u0411\u0435\u043A\u0430\u043F \u0410\u043A\u043A\u0430\u0443\u043D\u0442\u0430",
|
|
@@ -6282,7 +6517,33 @@ var init_ru = __esm({
|
|
|
6282
6517
|
file: "\u0411\u0435\u043A\u0430\u043F-\u0444\u0430\u0439\u043B",
|
|
6283
6518
|
fileCreate: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0411\u0435\u043A\u0430\u043F-\u0444\u0430\u0439\u043B, \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0447\u0435\u0440\u0435\u0437",
|
|
6284
6519
|
fileRestore: "\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0411\u0435\u043A\u0430\u043F-\u0444\u0430\u0439\u043B\u0430",
|
|
6285
|
-
cloud: "\u041E\u0431\u043B\u0430\u043A\u043E"
|
|
6520
|
+
cloud: "\u041E\u0431\u043B\u0430\u043A\u043E",
|
|
6521
|
+
onboarding: {
|
|
6522
|
+
backupMenu: {
|
|
6523
|
+
title: "\u041C\u0435\u043D\u044E \u0431\u0435\u043A\u0430\u043F\u0430 \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430",
|
|
6524
|
+
description: "\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u043D\u0430 \u0432\u0430\u0448\u0435\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0434\u043B\u044F \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0430."
|
|
6525
|
+
},
|
|
6526
|
+
backupEncryptionMethod: {
|
|
6527
|
+
title: "\u041C\u0435\u0442\u043E\u0434 \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
|
|
6528
|
+
description: "\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u043D\u0430 \u0432\u0430\u0448\u0435\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0430 \u043F\u0430\u0440\u043E\u043B\u0435\u043C \u0438\u043B\u0438 passkey, \u0447\u0442\u043E\u0431\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B \u043C\u043E\u0433\u043B\u0438 \u0435\u0451 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u0442\u044C, \u043D\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E \u043E\u0442 \u043C\u0435\u0441\u0442\u0430 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F."
|
|
6529
|
+
},
|
|
6530
|
+
backupEncryptionPassword: {
|
|
6531
|
+
title: "\u041F\u0430\u0440\u043E\u043B\u044C",
|
|
6532
|
+
description: "\u041F\u0430\u0440\u043E\u043B\u044C \u2014 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0439 \u0441\u043F\u043E\u0441\u043E\u0431 \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u043E\u0439 \u043A\u043E\u043F\u0438\u0438 \u043A\u043B\u044E\u0447\u0430. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043D\u0430\u0434\u0451\u0436\u043D\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C \u0438 \u0437\u0430\u043F\u043E\u043C\u043D\u0438\u0442\u0435 \u0435\u0433\u043E, \u0442\u0430\u043A \u043A\u0430\u043A \u0435\u0433\u043E \u043F\u043E\u0442\u0435\u0440\u044F \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043A \u043F\u043E\u0442\u0435\u0440\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A \u0430\u043A\u043A\u0430\u0443\u043D\u0442\u0443."
|
|
6533
|
+
},
|
|
6534
|
+
backupEncryptionPasskey: {
|
|
6535
|
+
title: "Passkey",
|
|
6536
|
+
description: "Passkey \u2014 \u044D\u0442\u043E \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u0430 \u0431\u0435\u0437 \u043F\u0430\u0440\u043E\u043B\u044F, \u043F\u0440\u0438\u0432\u044F\u0437\u0430\u043D\u043D\u0430\u044F \u043A \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0443, \u0434\u043B\u044F \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u043E\u0439 \u043A\u043E\u043F\u0438\u0438 \u043A\u043B\u044E\u0447\u0430."
|
|
6537
|
+
},
|
|
6538
|
+
backupStatus: {
|
|
6539
|
+
title: "\u0421\u0442\u0430\u0442\u0443\u0441 \u0431\u0435\u043A\u0430\u043F\u0430",
|
|
6540
|
+
description: "\u0421\u0442\u0430\u0442\u0443\u0441 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442, \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u043B\u0438 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0430 \u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430 \u0432\u0430\u0448\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F \u043A\u043B\u044E\u0447\u0430."
|
|
6541
|
+
},
|
|
6542
|
+
backupAdvanced: {
|
|
6543
|
+
title: "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0431\u0435\u043A\u0430\u043F\u0430",
|
|
6544
|
+
description: "\u0418\u0437\u0443\u0447\u0438\u0442\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0434\u043B\u044F \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u043E\u0433\u043E \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430 \u043D\u0430 \u0432\u0430\u0448\u0435\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435."
|
|
6545
|
+
}
|
|
6546
|
+
}
|
|
6286
6547
|
},
|
|
6287
6548
|
restoreMenu: {
|
|
6288
6549
|
title: "\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0410\u043A\u043A\u0430\u0443\u043D\u0442\u0430",
|
|
@@ -6301,7 +6562,16 @@ var init_ru = __esm({
|
|
|
6301
6562
|
description: "\u0422\u0435\u043A\u0443\u0449\u0435\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u043E \u043D\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0435\u0442\u0438 <b>{{preferredChain}}</b> \u0432\u043C\u0435\u0441\u0442\u043E \u0432\u0430\u0448\u0435\u0439 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0441\u0435\u0442\u0438 <b>{{currentChain}}</b>. <br /> \u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043D\u0430 \u043F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u0443\u044E \u0441\u0435\u0442\u044C?",
|
|
6302
6563
|
confirmButton: "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043D\u0430 {{chain}}",
|
|
6303
6564
|
cancelButton: "\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0435\u0442\u044C"
|
|
6565
|
+
},
|
|
6566
|
+
onboarding: {
|
|
6567
|
+
chainMenu: {
|
|
6568
|
+
title: "\u041C\u0435\u043D\u044E \u0441\u0435\u0442\u0438",
|
|
6569
|
+
description: "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0439\u0442\u0435\u0441\u044C \u043C\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u044B\u043C\u0438 \u0431\u043B\u043E\u043A\u0447\u0435\u0439\u043D-\u0441\u0435\u0442\u044F\u043C\u0438, \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u043C\u0438 embarkAI."
|
|
6570
|
+
}
|
|
6304
6571
|
}
|
|
6572
|
+
},
|
|
6573
|
+
guardiansMenu: {
|
|
6574
|
+
title: "\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430-\u0441\u0442\u0440\u0430\u0436\u0438"
|
|
6305
6575
|
}
|
|
6306
6576
|
};
|
|
6307
6577
|
}
|
|
@@ -6364,9 +6634,29 @@ var init_zh = __esm({
|
|
|
6364
6634
|
oops: "\u54CE\u5440\uFF0C\u51FA\u4E86\u70B9\u95EE\u9898\u3002\u8BF7\u518D\u8BD5\u4E00\u6B21\u3002"
|
|
6365
6635
|
},
|
|
6366
6636
|
onboarding: {
|
|
6637
|
+
embarkAI: {
|
|
6638
|
+
title: "embarkAI",
|
|
6639
|
+
description: "embarkAI \u662F\u4E00\u4E2A\u52A0\u5BC6\u94B1\u5305\u548C web3 \u5E73\u53F0\uFF0C\u5141\u8BB8\u60A8\u7BA1\u7406\u6570\u5B57\u8D44\u4EA7\u5E76\u4E0E\u53BB\u4E2D\u5FC3\u5316\u5E94\u7528\u7A0B\u5E8F\u4EA4\u4E92\u3002"
|
|
6640
|
+
},
|
|
6641
|
+
userSection: {
|
|
6642
|
+
title: "\u7528\u6237\u533A\u57DF",
|
|
6643
|
+
description: "\u60A8\u7684\u4E2A\u4EBA\u8D44\u6599\u5143\u6570\u636E\u3001\u94B1\u5305\u5730\u5740\u548C\u8BBE\u7F6E\u5DE5\u5177\u680F\u3002"
|
|
6644
|
+
},
|
|
6367
6645
|
tourButton: {
|
|
6368
6646
|
title: "\u5BFC\u89C8\u6309\u9215",
|
|
6369
6647
|
description: "\u5BFC\u89C8\u529F\u80FD\u53EF\u5728 embarkAI \u83DC\u5355\u7684\u201C\uFF1F\u201D\u6309\u9215\u4E0B\u627E\u5230\u3002\u70B9\u51FB\u5373\u53EF\u5F00\u59CB\u83DC\u5355\u5BFC\u89C8"
|
|
6648
|
+
},
|
|
6649
|
+
chainButton: {
|
|
6650
|
+
title: "\u94FE\u6309\u94AE",
|
|
6651
|
+
description: "\u66F4\u6539 embarkAI \u4E2D\u8FDE\u63A5\u7684\u94FE\uFF08\u5982\u679C\u5E94\u7528\u7A0B\u5E8F\u5141\u8BB8\uFF09"
|
|
6652
|
+
},
|
|
6653
|
+
logoutButton: {
|
|
6654
|
+
title: "\u9000\u51FA\u6309\u94AE",
|
|
6655
|
+
description: "\u9000\u51FA embarkAI \u548C\u4E2A\u4EBA\u8D44\u6599\u94B1\u5305\uFF08\u5982\u679C\u5DF2\u8FDE\u63A5\uFF09"
|
|
6656
|
+
},
|
|
6657
|
+
settingsMenu: {
|
|
6658
|
+
title: "\u8BBE\u7F6E\u83DC\u5355",
|
|
6659
|
+
description: "\u7BA1\u7406 embarkAI \u7684\u8BBE\u7F6E\u548C\u504F\u597D\u3002"
|
|
6370
6660
|
}
|
|
6371
6661
|
}
|
|
6372
6662
|
},
|
|
@@ -6407,7 +6697,25 @@ var init_zh = __esm({
|
|
|
6407
6697
|
send: "\u53D1\u9001",
|
|
6408
6698
|
receive: "\u63A5\u6536",
|
|
6409
6699
|
buy: "\u8D2D\u4E70",
|
|
6410
|
-
assets: "\u6295\u8D44\u7EC4\u5408"
|
|
6700
|
+
assets: "\u6295\u8D44\u7EC4\u5408",
|
|
6701
|
+
onboarding: {
|
|
6702
|
+
sendButton: {
|
|
6703
|
+
title: "\u53D1\u9001\u83DC\u5355",
|
|
6704
|
+
description: "\u901A\u8FC7\u53D1\u9001\u83DC\u5355\u76F4\u63A5\u53D1\u9001\u5230\u540C\u4E00\u94FE\u4E0A\u7684\u94B1\u5305\u5730\u5740\uFF0C\u6216\u901A\u8FC7\u8DE8\u94FE\u83DC\u5355\u5728\u94FE\u548C\u94B1\u5305\u4E4B\u95F4\u8FDB\u884C\u6865\u63A5\u3002"
|
|
6705
|
+
},
|
|
6706
|
+
receiveButton: {
|
|
6707
|
+
title: "\u63A5\u6536\u83DC\u5355",
|
|
6708
|
+
description: "\u901A\u8FC7\u63A5\u6536\u83DC\u5355\u76F4\u63A5\u4ECE\u540C\u4E00\u94FE\u4E0A\u7684\u5176\u4ED6\u7528\u6237\u63A5\u6536\u5230 embarkAI \u94B1\u5305"
|
|
6709
|
+
},
|
|
6710
|
+
buyButton: {
|
|
6711
|
+
title: "\u8D2D\u4E70\u83DC\u5355",
|
|
6712
|
+
description: "\u901A\u8FC7\u8D2D\u4E70\u83DC\u5355\u5C06\u6CD5\u5E01\u8D2D\u4E70\u7684\u52A0\u5BC6\u8D27\u5E01\u5B58\u5165 embarkAI \u94B1\u5305\u3002"
|
|
6713
|
+
},
|
|
6714
|
+
portfolioButton: {
|
|
6715
|
+
title: "\u6295\u8D44\u7EC4\u5408\u83DC\u5355",
|
|
6716
|
+
description: "\u901A\u8FC7\u6295\u8D44\u7EC4\u5408\u83DC\u5355\u63A2\u7D22 embarkAI \u94B1\u5305\u7684\u52A0\u5BC6\u8D44\u4EA7\u3002"
|
|
6717
|
+
}
|
|
6718
|
+
}
|
|
6411
6719
|
},
|
|
6412
6720
|
sendMenu: {
|
|
6413
6721
|
title: "\u53D1\u9001",
|
|
@@ -6523,7 +6831,13 @@ var init_zh = __esm({
|
|
|
6523
6831
|
title: "\u63A5\u6536\u8D44\u4EA7",
|
|
6524
6832
|
copyAddress: "\u590D\u5236\u5730\u5740",
|
|
6525
6833
|
warning: "\u786E\u4FDD\u53D1\u9001\u65B9\u4E0E\u60A8\u5728\u540C\u4E00\u7F51\u7EDC\u4E0A",
|
|
6526
|
-
share: "\u5206\u4EAB\u6B64\u5730\u5740\u4EE5\u63A5\u6536\u4EE3\u5E01"
|
|
6834
|
+
share: "\u5206\u4EAB\u6B64\u5730\u5740\u4EE5\u63A5\u6536\u4EE3\u5E01",
|
|
6835
|
+
onboarding: {
|
|
6836
|
+
receiveMenu: {
|
|
6837
|
+
title: "\u63A5\u6536\u83DC\u5355",
|
|
6838
|
+
description: "\u5728\u6240\u9009\u94FE\u4E0A\u5206\u4EAB\u60A8\u7684\u5730\u5740\uFF0C\u4EE5\u4FBF\u4ECE\u540C\u4E00\u94FE\u4E0A\u7684\u5176\u4ED6\u7528\u6237\u63A5\u6536\u52A0\u5BC6\u8D44\u4EA7\u3002"
|
|
6839
|
+
}
|
|
6840
|
+
}
|
|
6527
6841
|
},
|
|
6528
6842
|
buyMenu: {
|
|
6529
6843
|
title: "\u8D2D\u4E70\u52A0\u5BC6\u8D27\u5E01",
|
|
@@ -6586,7 +6900,7 @@ var init_zh = __esm({
|
|
|
6586
6900
|
}
|
|
6587
6901
|
},
|
|
6588
6902
|
portfolioMenu: {
|
|
6589
|
-
title: "\
|
|
6903
|
+
title: "\u8D44\u4EA7\u7EC4\u5408",
|
|
6590
6904
|
noAssets: "\u672A\u627E\u5230\u8D44\u4EA7",
|
|
6591
6905
|
noBlockscout: "\u672A\u627E\u5230\u94FE {{chain}} \u7684 Blockscout API"
|
|
6592
6906
|
},
|
|
@@ -6594,7 +6908,13 @@ var init_zh = __esm({
|
|
|
6594
6908
|
title: "\u4EA4\u6613\u8BB0\u5F55",
|
|
6595
6909
|
noTransactions: "\u672A\u627E\u5230\u4EA4\u6613",
|
|
6596
6910
|
internalTransactions: "\u5185\u90E8\u4EA4\u6613",
|
|
6597
|
-
comingSoon: "\u8BE5\u7F51\u7EDC\u7684\u4EA4\u6613\u8BB0\u5F55\u5373\u5C06\u4E0A\u7EBF"
|
|
6911
|
+
comingSoon: "\u8BE5\u7F51\u7EDC\u7684\u4EA4\u6613\u8BB0\u5F55\u5373\u5C06\u4E0A\u7EBF",
|
|
6912
|
+
onboarding: {
|
|
6913
|
+
transactionsMenu: {
|
|
6914
|
+
title: "\u4EA4\u6613\u8BB0\u5F55",
|
|
6915
|
+
description: "\u5F53\u524D\u6240\u9009\u94FE\u7684\u94FE\u4E0A\u4EA4\u6613\u5386\u53F2\u8BB0\u5F55\u3002"
|
|
6916
|
+
}
|
|
6917
|
+
}
|
|
6598
6918
|
},
|
|
6599
6919
|
kycMenu: {
|
|
6600
6920
|
title: "KYC"
|
|
@@ -6628,6 +6948,12 @@ var init_zh = __esm({
|
|
|
6628
6948
|
initialUser: {
|
|
6629
6949
|
welcome: "\u60A8\u7684\u6635\u79F0\u5DF2\u8BBE\u7F6E\u4E3A {{nickname}}",
|
|
6630
6950
|
message: "\u6839\u636E\u60A8\u7684\u9700\u6C42\u66F4\u6539\u5E76\u4FDD\u5B58\uFF0C\u7136\u540E\u70B9\u51FB\u201C\u7EE7\u7EED\u201D\uFF1A"
|
|
6951
|
+
},
|
|
6952
|
+
onboarding: {
|
|
6953
|
+
nicknameMenu: {
|
|
6954
|
+
title: "\u6635\u79F0\u83DC\u5355",
|
|
6955
|
+
description: "\u4E3A\u60A8\u7684 embarkAI \u4E2A\u4EBA\u8D44\u6599\u8BBE\u7F6E\u6635\u79F0\u3002\u60A8\u53EF\u4EE5\u7A0D\u540E\u66F4\u6539\uFF0C\u4F46\u4E24\u6B21\u66F4\u6539\u4E4B\u95F4\u6709\u51B7\u5374\u671F\u3002"
|
|
6956
|
+
}
|
|
6631
6957
|
}
|
|
6632
6958
|
},
|
|
6633
6959
|
profilesMenu: {
|
|
@@ -6647,7 +6973,13 @@ var init_zh = __esm({
|
|
|
6647
6973
|
},
|
|
6648
6974
|
unlinkTitle: "\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500",
|
|
6649
6975
|
unlinkConfirm: "\u8F93\u5165\u63D0\u4F9B\u5546 ID \u4EE5\u786E\u8BA4\u79FB\u9664",
|
|
6650
|
-
unlinkPlaceholder: "\u8F93\u5165\u63D0\u4F9B\u5546 ID"
|
|
6976
|
+
unlinkPlaceholder: "\u8F93\u5165\u63D0\u4F9B\u5546 ID",
|
|
6977
|
+
onboarding: {
|
|
6978
|
+
profilesMenu: {
|
|
6979
|
+
title: "\u4E2A\u4EBA\u8D44\u6599\u83DC\u5355",
|
|
6980
|
+
description: "\u901A\u8FC7\u5DF2\u8FDE\u63A5\u7684\u4E2A\u4EBA\u8D44\u6599\uFF0C\u53EF\u4EE5\u4EE5\u591A\u79CD\u65B9\u5F0F\u8FDB\u884C embarkAI \u8EAB\u4EFD\u9A8C\u8BC1\u3002\u7BA1\u7406\u60A8\u7684\u5DF2\u8FDE\u63A5\u4E2A\u4EBA\u8D44\u6599\u3002"
|
|
6981
|
+
}
|
|
6982
|
+
}
|
|
6651
6983
|
},
|
|
6652
6984
|
securityMenu: {
|
|
6653
6985
|
title: "\u5B89\u5168",
|
|
@@ -6673,7 +7005,44 @@ var init_zh = __esm({
|
|
|
6673
7005
|
valutBackupMissing: "\u5B89\u5168\u5BC6\u94A5\u5171\u4EAB\u5E93\u5907\u4EFD\u7F3A\u5931\u3002\u8BF7\u521B\u5EFA\u4E00\u4E2A\u5907\u4EFD\u4EE5\u786E\u4FDD\u60A8\u7684\u6570\u636E\u5B89\u5168\u3002"
|
|
6674
7006
|
},
|
|
6675
7007
|
lastBackup: "\u6700\u540E\u4E00\u6B21\u5BC6\u94A5\u5171\u4EAB\u5E93\u5907\u4EFD",
|
|
6676
|
-
lastBackupMeta: "\u901A\u8FC7 {{browser}} \u6D4F\u89C8\u5668\u5728 {{os}} \u64CD\u4F5C\u7CFB\u7EDF\u4E0A\u521B\u5EFA\u3002\u8BBE\u5907\uFF1A{{deviceName}}"
|
|
7008
|
+
lastBackupMeta: "\u901A\u8FC7 {{browser}} \u6D4F\u89C8\u5668\u5728 {{os}} \u64CD\u4F5C\u7CFB\u7EDF\u4E0A\u521B\u5EFA\u3002\u8BBE\u5907\uFF1A{{deviceName}}",
|
|
7009
|
+
onboarding: {
|
|
7010
|
+
securityMenu: {
|
|
7011
|
+
title: "\u5B89\u5168\u83DC\u5355",
|
|
7012
|
+
description: "\u7BA1\u7406 embarkAI \u7684\u5B89\u5168\u8BBE\u7F6E\uFF0C\u5305\u62EC\u5DF2\u8FDE\u63A5\u7684\u5E94\u7528\u7A0B\u5E8F\u548C\u5BC6\u94A5\u5171\u4EAB\u72B6\u6001\u3002"
|
|
7013
|
+
},
|
|
7014
|
+
keyshare: {
|
|
7015
|
+
title: "\u5BC6\u94A5\u5171\u4EAB\u72B6\u6001",
|
|
7016
|
+
description: "embarkAi \u7684\u4FDD\u62A4\u7531\u4E24\u4E2A\u5BC6\u94A5\u5171\u4EAB\u7EC4\u6210\uFF1A\u4E00\u4E2A\u5728\u670D\u52A1\u5668\u4E0A\uFF0C\u4E00\u4E2A\u5728\u60A8\u7684\u8BBE\u5907\u4E0A\u3002\u4E24\u8005\u90FD\u662F\u8BBF\u95EE\u60A8\u8D26\u6237\u6240\u5FC5\u9700\u7684\u3002 \n\u60A8\u7684\u5BC6\u94A5\u5171\u4EAB\u5B58\u5728\u4E8E\u60A8\u7684\u8BBE\u5907\uFF08\u672C\u5730\uFF09\u4E0A\uFF0C\u540C\u65F6\u4E5F\u5E94\u5907\u4EFD\u5230 Vault \u4EE5\u786E\u4FDD\u66F4\u9AD8\u7684\u5B89\u5168\u6027",
|
|
7017
|
+
detailsButton: "\u67E5\u770B\u8BE6\u60C5",
|
|
7018
|
+
details: {
|
|
7019
|
+
concept: {
|
|
7020
|
+
title: "\u6838\u5FC3\u6982\u5FF5",
|
|
7021
|
+
description: "- \u5BC6\u94A5\u5171\u4EAB\u7684\u91CD\u65B0\u7EC4\u5408\u53EF\u4E3A\u60A8\u7684\u8D26\u6237\u63D0\u4F9B\u8BBF\u95EE\u5BC6\u94A5\u3002\n\n - \u4E22\u5931\u60A8\u7684\u90E8\u5206\u5C06\u5BFC\u81F4\u65E0\u6CD5\u8BBF\u95EE\u60A8\u7684\u8D26\u6237\n\n - \u60A8\u7684\u5BC6\u94A5\u5171\u4EAB\u90E8\u5206\u5B58\u5728\u4E8E\u60A8\u7684\u8BBE\u5907\uFF08\u672C\u5730\u5171\u4EAB\uFF09\u4E0A\uFF0C\u4F46\u4E5F\u5E94\u5728\u5BC6\u94A5\u5171\u4EAB\u5E93\u4E2D\u8FDB\u884C\u5907\u4EFD\uFF0C\u4EE5\u4FBF\u60A8\u53EF\u4EE5\u5728\u4EFB\u4F55\u8BBE\u5907\u4E0A\u8BBF\u95EE embarkAI\u3002"
|
|
7022
|
+
},
|
|
7023
|
+
server: {
|
|
7024
|
+
title: "\u670D\u52A1\u5668\u5BC6\u94A5\u5171\u4EAB",
|
|
7025
|
+
description: "\u5BC6\u94A5\u5171\u4EAB\u7684\u4E00\u90E8\u5206\u5B58\u50A8\u5728\u5B89\u5168\u670D\u52A1\u5668\u4E0A\u3002"
|
|
7026
|
+
},
|
|
7027
|
+
local: {
|
|
7028
|
+
title: "\u672C\u5730\u5BC6\u94A5\u5171\u4EAB",
|
|
7029
|
+
description: "\u5BC6\u94A5\u5171\u4EAB\u7684\u4E00\u90E8\u5206\u5B58\u50A8\u5728\u60A8\u7684\u8BBE\u5907\uFF08\u672C\u5730\uFF09\u4E0A\uFF0C\u4E0E\u670D\u52A1\u5668\u5BC6\u94A5\u5171\u4EAB\u914D\u5408\u4F7F\u7528\u4EE5\u8BBF\u95EE\u8D26\u6237\u3002\u5982\u679C\u4E22\u5931\uFF0C\u60A8\u53EF\u80FD\u4F1A\u5931\u53BB\u5BF9\u8D26\u6237\u7684\u8BBF\u95EE\u6743\u9650\u3002"
|
|
7030
|
+
},
|
|
7031
|
+
vault: {
|
|
7032
|
+
title: "Vault \u5BC6\u94A5\u5171\u4EAB",
|
|
7033
|
+
description: "\u60A8\u7684\u672C\u5730\u5BC6\u94A5\u5171\u4EAB\u90E8\u5206\u5E94\u5B58\u50A8\u5728 Vault \u4E2D\uFF0C\u4EE5\u786E\u4FDD\u6570\u636E\u5B89\u5168\u4E14\u53EF\u8BBF\u95EE\u3002\u53EF\u901A\u8FC7\u8BBE\u7F6E -> \u8D26\u6237\u5907\u4EFD\u521B\u5EFA\u5907\u4EFD"
|
|
7034
|
+
}
|
|
7035
|
+
}
|
|
7036
|
+
},
|
|
7037
|
+
keyshareExistingVaultBkp: {
|
|
7038
|
+
title: "\u73B0\u6709\u5BC6\u94A5\u5171\u4EAB Vault \u5907\u4EFD",
|
|
7039
|
+
description: "\u60A8\u7684\u5B89\u5168\u5BC6\u94A5\u5171\u4EAB Vault \u5907\u4EFD\u5E94\u5B58\u5728\u4E14\u5DF2\u51C6\u5907\u5C31\u7EEA\u3002\u5982\u679C\u7F3A\u5931\uFF0C\u60A8\u53EF\u80FD\u4F1A\u5931\u53BB\u5BF9\u8D26\u6237\u7684\u8BBF\u95EE\u6743\u9650\u3002\u5982\u5C1A\u672A\u521B\u5EFA\uFF0C\u8BF7\u7ACB\u5373\u521B\u5EFA\u4EE5\u786E\u4FDD\u6570\u636E\u5B89\u5168\u3002"
|
|
7040
|
+
},
|
|
7041
|
+
connectedApps: {
|
|
7042
|
+
title: "\u5DF2\u8FDE\u63A5\u7684\u5E94\u7528\u7A0B\u5E8F",
|
|
7043
|
+
description: "\u5DF2\u8FDE\u63A5\u7684\u5E94\u7528\u7A0B\u5E8F\u662F\u60A8\u901A\u8FC7 embarkAI \u8BBF\u95EE\u8FC7\u7684\u5E94\u7528\u3002\n - \u53EF\u4EE5\u4FE1\u4EFB\u5DF2\u8FDE\u63A5\u7684\u5E94\u7528\u7A0B\u5E8F\u4EE5\u8DF3\u8FC7\u4EA4\u6613\u786E\u8BA4\u3002\n - \u60A8\u53EF\u4EE5\u968F\u65F6\u64A4\u9500\u4FE1\u4EFB\uFF0C\u64A4\u9500\u540E\u8BE5\u5E94\u7528\u5C06\u518D\u6B21\u9700\u8981\u60A8\u786E\u8BA4\u6BCF\u7B14\u4EA4\u6613\u3002"
|
|
7044
|
+
}
|
|
7045
|
+
}
|
|
6677
7046
|
},
|
|
6678
7047
|
backupMenu: {
|
|
6679
7048
|
title: "\u8D26\u6237\u5907\u4EFD",
|
|
@@ -6691,7 +7060,33 @@ var init_zh = __esm({
|
|
|
6691
7060
|
file: "\u5907\u4EFD\u6587\u4EF6",
|
|
6692
7061
|
fileCreate: "\u4E0B\u8F7D\u5907\u4EFD\u6587\u4EF6\u5DF2\u7F16\u7801",
|
|
6693
7062
|
fileRestore: "\u4F7F\u7528\u6587\u4EF6\u6062\u590D",
|
|
6694
|
-
cloud: "\u4E91\u7AEF"
|
|
7063
|
+
cloud: "\u4E91\u7AEF",
|
|
7064
|
+
onboarding: {
|
|
7065
|
+
backupMenu: {
|
|
7066
|
+
title: "\u8D26\u6237\u5907\u4EFD\u83DC\u5355",
|
|
7067
|
+
description: "\u60A8\u8BBE\u5907\u4E0A\u7684\u672C\u5730\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u5BF9\u4E8E\u8D26\u6237\u6062\u590D\u81F3\u5173\u91CD\u8981\u3002"
|
|
7068
|
+
},
|
|
7069
|
+
backupEncryptionMethod: {
|
|
7070
|
+
title: "\u52A0\u5BC6\u65B9\u5F0F",
|
|
7071
|
+
description: "\u60A8\u8BBE\u5907\u4E0A\u7684\u672C\u5730\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u5FC5\u987B\u4F7F\u7528\u5BC6\u7801\u6216\u5BC6\u7801\u5BC6\u94A5\u52A0\u5BC6\uFF0C\u8FD9\u6837\u65E0\u8BBA\u5907\u4EFD\u5B58\u50A8\u5728\u4F55\u5904\uFF0C\u53EA\u6709\u60A8\u624D\u80FD\u89E3\u5BC6\u3002"
|
|
7072
|
+
},
|
|
7073
|
+
backupEncryptionPassword: {
|
|
7074
|
+
title: "\u5BC6\u7801",
|
|
7075
|
+
description: "\u5BC6\u7801\u662F\u52A0\u5BC6\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u7684\u5E38\u7528\u65B9\u5F0F\u3002\u8BF7\u786E\u4FDD\u4F7F\u7528\u5F3A\u5BC6\u7801\u5E76\u8BB0\u4F4F\u5B83\uFF0C\u56E0\u4E3A\u4E22\u5931\u5BC6\u7801\u53EF\u80FD\u5BFC\u81F4\u65E0\u6CD5\u8BBF\u95EE\u60A8\u7684\u8D26\u6237\u3002"
|
|
7076
|
+
},
|
|
7077
|
+
backupEncryptionPasskey: {
|
|
7078
|
+
title: "\u5BC6\u7801\u5BC6\u94A5",
|
|
7079
|
+
description: "\u5BC6\u7801\u5BC6\u94A5\u662F\u4E00\u79CD\u65E0\u9700\u5BC6\u7801\u3001\u7ED1\u5B9A\u8BBE\u5907\u7684\u66FF\u4EE3\u65B9\u6848\uFF0C\u7528\u4E8E\u52A0\u5BC6\u60A8\u7684\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u3002"
|
|
7080
|
+
},
|
|
7081
|
+
backupStatus: {
|
|
7082
|
+
title: "\u5907\u4EFD\u72B6\u6001",
|
|
7083
|
+
description: "\u72B6\u6001\u6307\u793A\u60A8\u7684\u5BC6\u94A5\u5171\u4EAB\u5907\u4EFD\u662F\u5426\u5DF2\u6B63\u786E\u52A0\u5BC6\u548C\u5B58\u50A8\u3002"
|
|
7084
|
+
},
|
|
7085
|
+
backupAdvanced: {
|
|
7086
|
+
title: "\u9AD8\u7EA7\u5907\u4EFD\u9009\u9879",
|
|
7087
|
+
description: "\u63A2\u7D22\u5907\u4EFD\u8BBE\u5907\u672C\u5730\u5BC6\u94A5\u5171\u4EAB\u7684\u9AD8\u7EA7\u9009\u9879\u3002"
|
|
7088
|
+
}
|
|
7089
|
+
}
|
|
6695
7090
|
},
|
|
6696
7091
|
restoreMenu: {
|
|
6697
7092
|
title: "\u5E10\u6237\u6062\u590D",
|
|
@@ -6710,7 +7105,16 @@ var init_zh = __esm({
|
|
|
6710
7105
|
description: "\u5F53\u524D\u5E94\u7528\u7A0B\u5E8F\u914D\u7F6E\u4E3A\u4F7F\u7528\u94FE <b>{{preferredChain}}</b>\uFF0C\u800C\u975E\u60A8\u5F53\u524D\u7684\u94FE <b>{{currentChain}}</b>\u3002<br /> \u662F\u5426\u5207\u6362\u5230\u9996\u9009\u94FE\uFF1F",
|
|
6711
7106
|
confirmButton: "\u5207\u6362\u5230 {{chain}}",
|
|
6712
7107
|
cancelButton: "\u4FDD\u6301\u5F53\u524D\u94FE"
|
|
7108
|
+
},
|
|
7109
|
+
onboarding: {
|
|
7110
|
+
chainMenu: {
|
|
7111
|
+
title: "\u94FE\u83DC\u5355",
|
|
7112
|
+
description: "\u5728 embarkAI \u652F\u6301\u7684\u4E0D\u540C\u533A\u5757\u94FE\u7F51\u7EDC\u4E4B\u95F4\u5207\u6362\u3002"
|
|
7113
|
+
}
|
|
6713
7114
|
}
|
|
7115
|
+
},
|
|
7116
|
+
guardiansMenu: {
|
|
7117
|
+
title: "\u5B88\u62A4\u8005"
|
|
6714
7118
|
}
|
|
6715
7119
|
};
|
|
6716
7120
|
}
|
|
@@ -8653,22 +9057,29 @@ var init_AuthMenu2 = __esm({
|
|
|
8653
9057
|
}
|
|
8654
9058
|
});
|
|
8655
9059
|
|
|
8656
|
-
// src/internal/components/Onboarding/
|
|
9060
|
+
// src/internal/components/Onboarding/useOnboardingStore.ts
|
|
8657
9061
|
import { create as create4 } from "zustand";
|
|
8658
|
-
var useOnboardingStore
|
|
8659
|
-
var
|
|
8660
|
-
"src/internal/components/Onboarding/
|
|
8661
|
-
init_useLayoutDataStore();
|
|
8662
|
-
init_useLayoutStore();
|
|
9062
|
+
var useOnboardingStore;
|
|
9063
|
+
var init_useOnboardingStore = __esm({
|
|
9064
|
+
"src/internal/components/Onboarding/useOnboardingStore.ts"() {
|
|
8663
9065
|
useOnboardingStore = create4((set) => ({
|
|
9066
|
+
isTourAvailable: false,
|
|
9067
|
+
setIsTourAvailable: (isTourAvailable) => set({ isTourAvailable }),
|
|
8664
9068
|
elRect: { x: window.innerWidth / 2, y: window.innerHeight / 2, width: 0, height: 0 },
|
|
8665
|
-
|
|
8666
|
-
setFrame: (tooltipStore) => set(tooltipStore),
|
|
9069
|
+
setElRect: (elRect) => set({ elRect }),
|
|
8667
9070
|
mountIntoNode: document.body,
|
|
8668
|
-
setMountIntoNode: (mountIntoNode) => set({ mountIntoNode })
|
|
8669
|
-
waitSecs: null,
|
|
8670
|
-
setWaitSecs: (waitSecs) => set({ waitSecs })
|
|
9071
|
+
setMountIntoNode: (mountIntoNode) => set({ mountIntoNode })
|
|
8671
9072
|
}));
|
|
9073
|
+
}
|
|
9074
|
+
});
|
|
9075
|
+
|
|
9076
|
+
// src/internal/components/Onboarding/onboarder.ts
|
|
9077
|
+
var Onboarder, onboarder;
|
|
9078
|
+
var init_onboarder = __esm({
|
|
9079
|
+
"src/internal/components/Onboarding/onboarder.ts"() {
|
|
9080
|
+
init_useLayoutDataStore();
|
|
9081
|
+
init_useLayoutStore();
|
|
9082
|
+
init_useOnboardingStore();
|
|
8672
9083
|
Onboarder = class {
|
|
8673
9084
|
tour = null;
|
|
8674
9085
|
tourPointer = 0;
|
|
@@ -8679,11 +9090,12 @@ var init_onboarder = __esm({
|
|
|
8679
9090
|
domObserver = new MutationObserver(([domMutation]) => {
|
|
8680
9091
|
if (this.domObserverTimer) clearTimeout(this.domObserverTimer);
|
|
8681
9092
|
this.domObserverTimer = setTimeout(() => {
|
|
8682
|
-
const
|
|
9093
|
+
const elId = this.tour[this.tourPointer]?.elId;
|
|
8683
9094
|
const elementRef = this.elements.get(elId)?.deref();
|
|
8684
9095
|
if (!elementRef) return;
|
|
8685
9096
|
const { x, y, width, height } = elementRef.getBoundingClientRect();
|
|
8686
|
-
|
|
9097
|
+
elementRef.scrollIntoView({ behavior: "smooth", block: "center", inline: "center" });
|
|
9098
|
+
useOnboardingStore.getState().setElRect({ x, y, width, height });
|
|
8687
9099
|
}, 200);
|
|
8688
9100
|
});
|
|
8689
9101
|
/** deferred resize observer */
|
|
@@ -8693,17 +9105,16 @@ var init_onboarder = __esm({
|
|
|
8693
9105
|
this.resizeObserverTimer = setTimeout(() => {
|
|
8694
9106
|
for (const entry of entries) {
|
|
8695
9107
|
const element = entry.target;
|
|
8696
|
-
let
|
|
8697
|
-
const
|
|
9108
|
+
let elRectData;
|
|
9109
|
+
const elId = this.tour[this.tourPointer]?.elId;
|
|
8698
9110
|
if (!element || element.nodeName === "BODY") {
|
|
8699
9111
|
const elementRef = this.elements.get(elId)?.deref();
|
|
8700
|
-
|
|
8701
|
-
frameData = { elRect: { x, y, width, height }, tooltip: { title, description } };
|
|
9112
|
+
elRectData = elementRef.getBoundingClientRect();
|
|
8702
9113
|
} else {
|
|
8703
|
-
|
|
8704
|
-
|
|
9114
|
+
elRectData = element.getBoundingClientRect();
|
|
9115
|
+
element.scrollIntoView({ behavior: "smooth", block: "center", inline: "center" });
|
|
8705
9116
|
}
|
|
8706
|
-
useOnboardingStore.getState().
|
|
9117
|
+
useOnboardingStore.getState().setElRect(elRectData);
|
|
8707
9118
|
}
|
|
8708
9119
|
}, 200);
|
|
8709
9120
|
});
|
|
@@ -8720,17 +9131,13 @@ var init_onboarder = __esm({
|
|
|
8720
9131
|
this.resizeObserver.observe(startElRef);
|
|
8721
9132
|
this.resizeObserver.observe(document.body);
|
|
8722
9133
|
}
|
|
8723
|
-
useOnboardingStore.getState().setWaitSecs(tour[0].waitSecs || null);
|
|
8724
9134
|
}
|
|
8725
9135
|
endTour() {
|
|
8726
9136
|
this.tour = null;
|
|
8727
9137
|
this.tourPointer = 0;
|
|
8728
9138
|
this.domObserver.disconnect();
|
|
8729
9139
|
this.resizeObserver.disconnect();
|
|
8730
|
-
useOnboardingStore.getState().
|
|
8731
|
-
elRect: { x: window.innerWidth / 2, y: window.innerHeight / 2, width: 0, height: 0 },
|
|
8732
|
-
tooltip: { title: "", description: "" }
|
|
8733
|
-
});
|
|
9140
|
+
useOnboardingStore.getState().setElRect({ x: window.innerWidth / 2, y: window.innerHeight / 2, width: 0, height: 0 });
|
|
8734
9141
|
setTimeout(() => {
|
|
8735
9142
|
useLayoutDataStore.getInitialState().setIsOnboarding(false);
|
|
8736
9143
|
useLayoutStore.getInitialState().setIsDialogForced(false);
|
|
@@ -8753,7 +9160,6 @@ var init_onboarder = __esm({
|
|
|
8753
9160
|
this.resizeObserver.observe(nextElRef);
|
|
8754
9161
|
this.resizeObserver.observe(document.body);
|
|
8755
9162
|
}
|
|
8756
|
-
useOnboardingStore.getState().setWaitSecs(nextStep.waitSecs || null);
|
|
8757
9163
|
}, 200);
|
|
8758
9164
|
}
|
|
8759
9165
|
/**
|
|
@@ -8769,6 +9175,9 @@ var init_onboarder = __esm({
|
|
|
8769
9175
|
if (!this.tour) return null;
|
|
8770
9176
|
return this.tour[this.tourPointer];
|
|
8771
9177
|
}
|
|
9178
|
+
getCurrentPointer() {
|
|
9179
|
+
return this.tourPointer;
|
|
9180
|
+
}
|
|
8772
9181
|
};
|
|
8773
9182
|
onboarder = new Onboarder();
|
|
8774
9183
|
}
|
|
@@ -8776,14 +9185,14 @@ var init_onboarder = __esm({
|
|
|
8776
9185
|
|
|
8777
9186
|
// src/internal/components/Onboarding/OnboardingOverlay.tsx
|
|
8778
9187
|
import { ChevronRightIcon, LoaderIcon } from "lucide-react";
|
|
8779
|
-
import { useEffect as useEffect12,
|
|
9188
|
+
import { useEffect as useEffect12, useState as useState5 } from "react";
|
|
8780
9189
|
import { createPortal } from "react-dom";
|
|
8781
9190
|
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
8782
9191
|
function getTooltipXPos(params) {
|
|
8783
9192
|
const { x, width, isMobileView, expandValue } = params;
|
|
8784
9193
|
const frameEndX = x + width + expandValue;
|
|
8785
9194
|
const frameWidth = isMobileView ? width : width + 2 * expandValue;
|
|
8786
|
-
const ttWidth = Math.max(frameWidth, TOOLTIP_MIN_WIDTH);
|
|
9195
|
+
const ttWidth = isMobileView ? Math.max(frameWidth, window.innerWidth - 4 * expandValue) : Math.max(frameWidth, TOOLTIP_MIN_WIDTH);
|
|
8787
9196
|
const ttShiftX = isMobileView ? 0 : expandValue;
|
|
8788
9197
|
const ttEndX = x - ttShiftX + ttWidth;
|
|
8789
9198
|
const isTTOverflowsFrame = ttEndX > frameEndX;
|
|
@@ -8792,16 +9201,16 @@ function getTooltipXPos(params) {
|
|
|
8792
9201
|
return {
|
|
8793
9202
|
isOverflowX: true,
|
|
8794
9203
|
width: ttWidth,
|
|
8795
|
-
x: x - (ttEndX - window.innerWidth) -
|
|
9204
|
+
x: x - (ttEndX - window.innerWidth) - 2 * expandValue
|
|
8796
9205
|
// unstick tooltip from window right edge
|
|
8797
9206
|
};
|
|
8798
9207
|
}
|
|
8799
9208
|
if (isTTOverflowsFrame) {
|
|
9209
|
+
const calcedX = x - ttShiftX - ttWidth / 2 + frameWidth / 2;
|
|
8800
9210
|
return {
|
|
8801
9211
|
isOverflowX: true,
|
|
8802
9212
|
width: ttWidth,
|
|
8803
|
-
x:
|
|
8804
|
-
// center tooltip over target element
|
|
9213
|
+
x: calcedX < expandValue ? expandValue : calcedX
|
|
8805
9214
|
};
|
|
8806
9215
|
}
|
|
8807
9216
|
return {
|
|
@@ -8811,12 +9220,14 @@ function getTooltipXPos(params) {
|
|
|
8811
9220
|
};
|
|
8812
9221
|
}
|
|
8813
9222
|
function getTooltipYPos(params) {
|
|
8814
|
-
const { y, height, isMobileView, expandValue
|
|
8815
|
-
let topPosY = y - expandValue * 2 -
|
|
8816
|
-
const bottomPosY = y + height + expandValue;
|
|
9223
|
+
const { y, height, isMobileView, expandValue } = params;
|
|
9224
|
+
let topPosY = y - expandValue * 2 - TOP_POS_OFFSET;
|
|
9225
|
+
const bottomPosY = y + height + expandValue + (isMobileView ? expandValue : 0);
|
|
9226
|
+
const isTopPos = isMobileView && topPosY >= EXPAND;
|
|
8817
9227
|
return {
|
|
9228
|
+
isTopPos,
|
|
8818
9229
|
isOverflowY: topPosY < EXPAND,
|
|
8819
|
-
y:
|
|
9230
|
+
y: isTopPos ? topPosY : bottomPosY
|
|
8820
9231
|
// topPosY >= EXPAND - unstick tooltip from window top edge
|
|
8821
9232
|
};
|
|
8822
9233
|
}
|
|
@@ -8826,14 +9237,14 @@ function OnboardingOverlay() {
|
|
|
8826
9237
|
const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
|
|
8827
9238
|
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
8828
9239
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
8829
|
-
const
|
|
9240
|
+
const { elRect, mountIntoNode } = useOnboardingStore();
|
|
8830
9241
|
const {
|
|
8831
|
-
|
|
8832
|
-
|
|
8833
|
-
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
} =
|
|
9242
|
+
actions: tourStepActions = [],
|
|
9243
|
+
waitSecs = null,
|
|
9244
|
+
title,
|
|
9245
|
+
description,
|
|
9246
|
+
forced = false
|
|
9247
|
+
} = onboarder.getCurrentStep() || {};
|
|
8837
9248
|
useEffect12(() => {
|
|
8838
9249
|
setTimeout(() => {
|
|
8839
9250
|
if (!page) {
|
|
@@ -8850,16 +9261,15 @@ function OnboardingOverlay() {
|
|
|
8850
9261
|
}, [page]);
|
|
8851
9262
|
const [continueCountdown, setContinueCountdown] = useState5(null);
|
|
8852
9263
|
const expandValue = EXPAND * (isMobileView ? 0.5 : 1);
|
|
8853
|
-
const
|
|
8854
|
-
x: elRect.x
|
|
8855
|
-
y: elRect.y
|
|
8856
|
-
width: elRect.width
|
|
8857
|
-
height: elRect.height
|
|
8858
|
-
|
|
8859
|
-
|
|
8860
|
-
...getTooltipXPos({ ...elRect, isMobileView, expandValue }),
|
|
8861
|
-
...getTooltipYPos({ ...elRect, isMobileView, expandValue, ttCurrentHeight: toolipElementRef.current?.clientHeight })
|
|
9264
|
+
const posParams = {
|
|
9265
|
+
x: elRect.x,
|
|
9266
|
+
y: elRect.y,
|
|
9267
|
+
width: elRect.width,
|
|
9268
|
+
height: elRect.height,
|
|
9269
|
+
isMobileView,
|
|
9270
|
+
expandValue
|
|
8862
9271
|
};
|
|
9272
|
+
const position = { ...getTooltipXPos(posParams), ...getTooltipYPos(posParams) };
|
|
8863
9273
|
useEffect12(() => {
|
|
8864
9274
|
if (!waitSecs) return;
|
|
8865
9275
|
setContinueCountdown(waitSecs);
|
|
@@ -8875,7 +9285,6 @@ function OnboardingOverlay() {
|
|
|
8875
9285
|
return () => clearInterval(countdownInterval);
|
|
8876
9286
|
}, [waitSecs]);
|
|
8877
9287
|
if (!mountIntoNode) return null;
|
|
8878
|
-
const tourStepActions = onboarder.getCurrentStep()?.actions;
|
|
8879
9288
|
return createPortal(
|
|
8880
9289
|
/* @__PURE__ */ jsxs17(
|
|
8881
9290
|
"div",
|
|
@@ -8912,10 +9321,10 @@ function OnboardingOverlay() {
|
|
|
8912
9321
|
fill: "black",
|
|
8913
9322
|
style: {
|
|
8914
9323
|
transition: "x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease",
|
|
8915
|
-
x:
|
|
8916
|
-
y:
|
|
8917
|
-
width:
|
|
8918
|
-
height:
|
|
9324
|
+
x: elRect.x - expandValue,
|
|
9325
|
+
y: elRect.y - expandValue,
|
|
9326
|
+
width: elRect.width + expandValue * 2,
|
|
9327
|
+
height: elRect.height + expandValue * (isMobileView ? 2 : 3)
|
|
8919
9328
|
}
|
|
8920
9329
|
}
|
|
8921
9330
|
)
|
|
@@ -8924,47 +9333,58 @@ function OnboardingOverlay() {
|
|
|
8924
9333
|
]
|
|
8925
9334
|
}
|
|
8926
9335
|
),
|
|
8927
|
-
|
|
9336
|
+
/* @__PURE__ */ jsxs17(
|
|
8928
9337
|
"div",
|
|
8929
9338
|
{
|
|
8930
|
-
ref: toolipElementRef,
|
|
8931
9339
|
className: cn(
|
|
8932
|
-
"absolute flex flex-col gap-1 p-[
|
|
9340
|
+
"absolute flex flex-col gap-1 p-[12px]",
|
|
8933
9341
|
"text-center text-sm",
|
|
8934
9342
|
"text-[var(--ui-kit-success)] bg-[var(--ui-kit-bg-success)]",
|
|
8935
|
-
""
|
|
9343
|
+
"overflow-hidden"
|
|
8936
9344
|
),
|
|
8937
9345
|
style: {
|
|
8938
|
-
|
|
8939
|
-
|
|
8940
|
-
|
|
8941
|
-
|
|
8942
|
-
|
|
8943
|
-
|
|
9346
|
+
willChange: "top, left, width, height, transform",
|
|
9347
|
+
width: isOnboarding ? position.width : 0,
|
|
9348
|
+
height: isOnboarding ? "auto" : 0,
|
|
9349
|
+
top: isOnboarding ? position.y : window.innerHeight / 2,
|
|
9350
|
+
left: isOnboarding ? position.x : window.innerWidth / 2,
|
|
9351
|
+
transition: "top 0.3s ease, left 0.3s ease, width 0.3s ease",
|
|
9352
|
+
transform: position.isTopPos ? `translateY(calc(-100% + ${TOP_POS_OFFSET}px))` : "translateY(0)",
|
|
9353
|
+
borderRadius: isMobileView || position.isOverflowX ? "var(--ui-kit-bdrs)" : "0 0 var(--ui-kit-bdrs) var(--ui-kit-bdrs)"
|
|
8944
9354
|
},
|
|
8945
9355
|
children: [
|
|
8946
|
-
/* @__PURE__ */ jsx21("p", {
|
|
8947
|
-
|
|
8948
|
-
|
|
8949
|
-
|
|
8950
|
-
|
|
8951
|
-
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
|
|
8955
|
-
|
|
9356
|
+
/* @__PURE__ */ jsx21("p", { className: "font-bold", children: t(title) }),
|
|
9357
|
+
/* @__PURE__ */ jsx21("p", { className: "whitespace-pre-line", children: t(description) }),
|
|
9358
|
+
!forced && /* @__PURE__ */ jsx21(
|
|
9359
|
+
Button,
|
|
9360
|
+
{
|
|
9361
|
+
size: "small",
|
|
9362
|
+
variant: "ghost",
|
|
9363
|
+
onClick: () => {
|
|
9364
|
+
setContinueCountdown(null);
|
|
9365
|
+
onboarder.endTour();
|
|
9366
|
+
},
|
|
9367
|
+
className: cn(
|
|
9368
|
+
"text-[var(--ui-kit-success)]",
|
|
9369
|
+
"absolute top-2 right-2 text-[10px]"
|
|
9370
|
+
// colorMode === 'dark' ? 'text-[var(--ui-kit-fg-inverted)]' : 'text-[var(--ui-kit-fg)]'
|
|
9371
|
+
),
|
|
9372
|
+
children: t("passport:common.hide")
|
|
9373
|
+
}
|
|
9374
|
+
),
|
|
8956
9375
|
!!tourStepActions?.length ? /* @__PURE__ */ jsx21("div", { className: "flex grid grid-cols-2 gap-[var(--ui-kit-gap)]", children: tourStepActions.map(({ caption, onClick }, index) => /* @__PURE__ */ jsxs17(
|
|
8957
9376
|
Button,
|
|
8958
9377
|
{
|
|
8959
9378
|
variant: "default",
|
|
8960
9379
|
size: "medium",
|
|
8961
|
-
className: "w-full",
|
|
9380
|
+
className: cn("w-full", isMobileView && "text-[10px]"),
|
|
8962
9381
|
onClick,
|
|
8963
9382
|
disabled: continueCountdown !== null,
|
|
8964
9383
|
children: [
|
|
8965
|
-
continueCountdown !== null
|
|
9384
|
+
continueCountdown !== null && /* @__PURE__ */ jsx21(LoaderIcon, { className: "h-4 w-4 animate-spin" }),
|
|
8966
9385
|
// @ts-expect-error i18n dynamic key typing
|
|
8967
|
-
t(caption)
|
|
9386
|
+
t(caption),
|
|
9387
|
+
continueCountdown === null && /* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" })
|
|
8968
9388
|
]
|
|
8969
9389
|
},
|
|
8970
9390
|
index
|
|
@@ -8973,14 +9393,15 @@ function OnboardingOverlay() {
|
|
|
8973
9393
|
{
|
|
8974
9394
|
variant: "default-glow",
|
|
8975
9395
|
size: "medium",
|
|
8976
|
-
className: "w-full",
|
|
9396
|
+
className: cn("w-full", isMobileView && "text-[10px]"),
|
|
8977
9397
|
onClick: () => onboarder.next(),
|
|
8978
9398
|
disabled: continueCountdown !== null,
|
|
8979
9399
|
children: [
|
|
8980
|
-
continueCountdown !== null
|
|
9400
|
+
continueCountdown !== null && /* @__PURE__ */ jsx21(LoaderIcon, { className: "h-4 w-4 animate-spin" }),
|
|
8981
9401
|
String(t("passport:common.continue")).toUpperCase(),
|
|
8982
9402
|
" ",
|
|
8983
|
-
continueCountdown !== null && continueCountdown
|
|
9403
|
+
continueCountdown !== null && continueCountdown,
|
|
9404
|
+
continueCountdown === null && /* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" })
|
|
8984
9405
|
]
|
|
8985
9406
|
}
|
|
8986
9407
|
)
|
|
@@ -8994,7 +9415,7 @@ function OnboardingOverlay() {
|
|
|
8994
9415
|
mountIntoNode
|
|
8995
9416
|
);
|
|
8996
9417
|
}
|
|
8997
|
-
var EXPAND, TOOLTIP_MIN_WIDTH;
|
|
9418
|
+
var EXPAND, TOOLTIP_MIN_WIDTH, TOP_POS_OFFSET;
|
|
8998
9419
|
var init_OnboardingOverlay = __esm({
|
|
8999
9420
|
"src/internal/components/Onboarding/OnboardingOverlay.tsx"() {
|
|
9000
9421
|
init_i18n();
|
|
@@ -9003,8 +9424,24 @@ var init_OnboardingOverlay = __esm({
|
|
|
9003
9424
|
init_utils2();
|
|
9004
9425
|
init_button();
|
|
9005
9426
|
init_onboarder();
|
|
9427
|
+
init_useOnboardingStore();
|
|
9006
9428
|
EXPAND = 16;
|
|
9007
|
-
TOOLTIP_MIN_WIDTH =
|
|
9429
|
+
TOOLTIP_MIN_WIDTH = 320;
|
|
9430
|
+
TOP_POS_OFFSET = 112;
|
|
9431
|
+
}
|
|
9432
|
+
});
|
|
9433
|
+
|
|
9434
|
+
// src/internal/components/Onboarding/useOnboardingTouirAvailable.ts
|
|
9435
|
+
import { useEffect as useEffect13 } from "react";
|
|
9436
|
+
function useOnboardingTourAvailable(isAvailable) {
|
|
9437
|
+
useEffect13(() => {
|
|
9438
|
+
useOnboardingStore.getState().setIsTourAvailable(isAvailable);
|
|
9439
|
+
return () => useOnboardingStore.getState().setIsTourAvailable(false);
|
|
9440
|
+
}, [isAvailable]);
|
|
9441
|
+
}
|
|
9442
|
+
var init_useOnboardingTouirAvailable = __esm({
|
|
9443
|
+
"src/internal/components/Onboarding/useOnboardingTouirAvailable.ts"() {
|
|
9444
|
+
init_useOnboardingStore();
|
|
9008
9445
|
}
|
|
9009
9446
|
});
|
|
9010
9447
|
|
|
@@ -9013,18 +9450,20 @@ var init_Onboarding = __esm({
|
|
|
9013
9450
|
"src/internal/components/Onboarding/index.ts"() {
|
|
9014
9451
|
init_OnboardingOverlay();
|
|
9015
9452
|
init_onboarder();
|
|
9453
|
+
init_useOnboardingStore();
|
|
9454
|
+
init_useOnboardingTouirAvailable();
|
|
9016
9455
|
}
|
|
9017
9456
|
});
|
|
9018
9457
|
|
|
9019
9458
|
// src/internal/components/ui/switch.tsx
|
|
9020
|
-
import { forwardRef as
|
|
9459
|
+
import { forwardRef as forwardRef4, useState as useState6 } from "react";
|
|
9021
9460
|
import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
9022
9461
|
var Switch;
|
|
9023
9462
|
var init_switch = __esm({
|
|
9024
9463
|
"src/internal/components/ui/switch.tsx"() {
|
|
9025
9464
|
init_useLayoutStore();
|
|
9026
9465
|
init_utils2();
|
|
9027
|
-
Switch =
|
|
9466
|
+
Switch = forwardRef4((props, ref) => {
|
|
9028
9467
|
const { className, labels, ...inputProps } = props;
|
|
9029
9468
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
9030
9469
|
const [labelW, setLabelW] = useState6(0);
|
|
@@ -9496,11 +9935,11 @@ var init_priceFormatter = __esm({
|
|
|
9496
9935
|
|
|
9497
9936
|
// src/internal/components/BuyMenu/useBuyMenuStore.ts
|
|
9498
9937
|
import { keys, noop } from "lodash-es";
|
|
9499
|
-
import { useEffect as
|
|
9938
|
+
import { useEffect as useEffect14 } from "react";
|
|
9500
9939
|
import { create as create5 } from "zustand";
|
|
9501
9940
|
import { persist } from "zustand/middleware";
|
|
9502
9941
|
function useBuyMenuParams() {
|
|
9503
|
-
|
|
9942
|
+
useEffect14(() => {
|
|
9504
9943
|
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
9505
9944
|
if (!pageParams || !keys(pageParams).length) return;
|
|
9506
9945
|
const { amount, crypto: crypto2, onRampWidgetRedirected } = pageParams || {};
|
|
@@ -10097,15 +10536,12 @@ var init_onboarding_setup = __esm({
|
|
|
10097
10536
|
elId: "buymenu-binance-estimate" /* binanceEstimate */,
|
|
10098
10537
|
title: "passport:buyMenu.onboarding.binanceEstimate.title",
|
|
10099
10538
|
description: "passport:buyMenu.onboarding.binanceEstimate.description",
|
|
10539
|
+
forced: true,
|
|
10540
|
+
// no hide button for this step, user must click "Next" to proceed
|
|
10100
10541
|
onNext: () => {
|
|
10101
10542
|
useBuyMenuStore.getState().setIsProviderSummary(false);
|
|
10102
10543
|
useBinanceStore.getState().setQuoteData(null);
|
|
10103
10544
|
}
|
|
10104
|
-
},
|
|
10105
|
-
{
|
|
10106
|
-
elId: "buymenu-tour-button" /* tourButton */,
|
|
10107
|
-
title: "passport:common.onboarding.tourButton.title",
|
|
10108
|
-
description: "passport:common.onboarding.tourButton.description"
|
|
10109
10545
|
}
|
|
10110
10546
|
];
|
|
10111
10547
|
}
|
|
@@ -10317,7 +10753,7 @@ function BinanceSummary(props) {
|
|
|
10317
10753
|
/* @__PURE__ */ jsxs33("span", { className: "font-bold", children: [
|
|
10318
10754
|
formatPrice(srcQueryAmount),
|
|
10319
10755
|
" ",
|
|
10320
|
-
selectedFiat
|
|
10756
|
+
selectedFiat?.toUpperCase()
|
|
10321
10757
|
] })
|
|
10322
10758
|
] }),
|
|
10323
10759
|
/* @__PURE__ */ jsxs33("div", { className: "flex justify-between text-xs leading-5", children: [
|
|
@@ -10325,7 +10761,7 @@ function BinanceSummary(props) {
|
|
|
10325
10761
|
/* @__PURE__ */ jsxs33("span", { className: "font-bold", children: [
|
|
10326
10762
|
formatPrice(cryptoToRecieve),
|
|
10327
10763
|
" ",
|
|
10328
|
-
selectedCrypto
|
|
10764
|
+
selectedCrypto?.toUpperCase()
|
|
10329
10765
|
] })
|
|
10330
10766
|
] }),
|
|
10331
10767
|
/* @__PURE__ */ jsxs33(Highlight, { type: "info", className: "", children: [
|
|
@@ -10364,7 +10800,7 @@ function BinanceSummary(props) {
|
|
|
10364
10800
|
!!quoteData?.totalAmount && /* @__PURE__ */ jsxs33("strong", { children: [
|
|
10365
10801
|
formatPrice(Number(quoteData.totalAmount)),
|
|
10366
10802
|
" ",
|
|
10367
|
-
selectedCrypto
|
|
10803
|
+
selectedCrypto?.toUpperCase()
|
|
10368
10804
|
] })
|
|
10369
10805
|
]
|
|
10370
10806
|
}
|
|
@@ -10566,7 +11002,7 @@ import { useInfiniteQuery } from "@tanstack/react-query";
|
|
|
10566
11002
|
import dayjs from "dayjs";
|
|
10567
11003
|
import { debounce as debounce4 } from "lodash-es";
|
|
10568
11004
|
import { DownloadIcon, ExternalLinkIcon, LoaderIcon as LoaderIcon3 } from "lucide-react";
|
|
10569
|
-
import { useCallback as useCallback12, useEffect as
|
|
11005
|
+
import { useCallback as useCallback12, useEffect as useEffect15, useMemo as useMemo4 } from "react";
|
|
10570
11006
|
import { jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
10571
11007
|
function getStatusVariant(status) {
|
|
10572
11008
|
switch (status) {
|
|
@@ -10608,7 +11044,7 @@ function BinanceTxHistoryItem(props) {
|
|
|
10608
11044
|
} = txPayload || {};
|
|
10609
11045
|
const statusInfo = STATUS_CODE_TO_MESSAGE[txStatus];
|
|
10610
11046
|
const badgeVariant = getStatusVariant(txStatus);
|
|
10611
|
-
const TokenIcon = TOKENS_ICONS[cryptoCurrency
|
|
11047
|
+
const TokenIcon = TOKENS_ICONS[cryptoCurrency?.toUpperCase()] || TOKENS_ICONS["EMBARKAI"];
|
|
10612
11048
|
return /* @__PURE__ */ jsxs34(
|
|
10613
11049
|
"div",
|
|
10614
11050
|
{
|
|
@@ -10707,7 +11143,7 @@ function BinanceTxHistory() {
|
|
|
10707
11143
|
}, 200),
|
|
10708
11144
|
[]
|
|
10709
11145
|
);
|
|
10710
|
-
|
|
11146
|
+
useEffect15(() => {
|
|
10711
11147
|
if (isTxDataLoading || !txList?.length || txList.length > 10) return;
|
|
10712
11148
|
updateExpandable();
|
|
10713
11149
|
}, [isTxDataLoading, txList]);
|
|
@@ -10754,11 +11190,11 @@ var init_BinanceTxHistory = __esm({
|
|
|
10754
11190
|
|
|
10755
11191
|
// src/internal/components/BuyMenu/binance/useBinanceSseTracing.ts
|
|
10756
11192
|
import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
|
|
10757
|
-
import { useEffect as
|
|
11193
|
+
import { useEffect as useEffect16, useRef as useRef9 } from "react";
|
|
10758
11194
|
function useBinanceSseTxTracing(walletAddress) {
|
|
10759
11195
|
const qc = useQueryClient4();
|
|
10760
|
-
const debounceRef =
|
|
10761
|
-
|
|
11196
|
+
const debounceRef = useRef9(null);
|
|
11197
|
+
useEffect16(() => {
|
|
10762
11198
|
if (!walletAddress) return;
|
|
10763
11199
|
const iframeManager = getIframeManager();
|
|
10764
11200
|
if (!iframeManager) return;
|
|
@@ -10800,7 +11236,7 @@ var init_utils6 = __esm({
|
|
|
10800
11236
|
// src/internal/components/BuyMenu/binance/Binance.tsx
|
|
10801
11237
|
import { useMutation as useMutation6, useQuery as useQuery3, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
|
|
10802
11238
|
import { LoaderIcon as LoaderIcon4 } from "lucide-react";
|
|
10803
|
-
import { useEffect as
|
|
11239
|
+
import { useEffect as useEffect17 } from "react";
|
|
10804
11240
|
import { Fragment as Fragment11, jsx as jsx41, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
10805
11241
|
function Binance() {
|
|
10806
11242
|
const qc = useQueryClient5();
|
|
@@ -10822,7 +11258,7 @@ function Binance() {
|
|
|
10822
11258
|
} = useBuyMenuStore();
|
|
10823
11259
|
const paymentMode = useBinanceStore((st) => st.paymentMode);
|
|
10824
11260
|
const isCurrurenciesSelected = !!selectedCrypto && !!selectedFiat;
|
|
10825
|
-
|
|
11261
|
+
useEffect17(() => {
|
|
10826
11262
|
if (!isCurrurenciesSelected) return;
|
|
10827
11263
|
useBuyMenuStore.getState().setRenderKey(`${selectedCrypto}-${selectedFiat}-${Date.now()}`);
|
|
10828
11264
|
}, [isCurrurenciesSelected]);
|
|
@@ -10857,7 +11293,7 @@ function Binance() {
|
|
|
10857
11293
|
});
|
|
10858
11294
|
const paymentModes = paymentModesData?.data?.paymentMethods || [];
|
|
10859
11295
|
const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
|
|
10860
|
-
|
|
11296
|
+
useEffect17(() => {
|
|
10861
11297
|
useBuyMenuStore.getState().setMinAmount(Number(selectedPaymentMode?.fiatMinLimit || "0"));
|
|
10862
11298
|
}, [selectedPaymentMode]);
|
|
10863
11299
|
const { mutate: estimateQuote, isPending: isQuoteEstimating } = useMutation6({
|
|
@@ -10885,22 +11321,22 @@ function Binance() {
|
|
|
10885
11321
|
}
|
|
10886
11322
|
});
|
|
10887
11323
|
const availableFiats = (tradingPairsData?.data?.fiatCurrencies || []).map((ticker) => ({ ticker }));
|
|
10888
|
-
|
|
11324
|
+
useEffect17(() => {
|
|
10889
11325
|
if (!!selectedFiat || !availableFiats?.length) return;
|
|
10890
11326
|
const targetFiat = availableFiats.find((item) => PREFERRED_FIATS.includes(item.ticker)) || availableFiats[0];
|
|
10891
11327
|
useBuyMenuStore.getState().setSelectedFiat(targetFiat.ticker);
|
|
10892
11328
|
}, [availableFiats, selectedFiat]);
|
|
10893
|
-
|
|
11329
|
+
useEffect17(() => {
|
|
10894
11330
|
if (!!selectedCrypto || !networkAvailableCryptoList?.length) return;
|
|
10895
11331
|
const targetCrypto = networkAvailableCryptoList.find((item) => PREFERRED_CRYPTOS.includes(item.cryptoCurrency)) || networkAvailableCryptoList[0];
|
|
10896
11332
|
useBuyMenuStore.getState().setSelectedCrypto(targetCrypto.cryptoCurrency);
|
|
10897
11333
|
}, [networkAvailableCryptoList, selectedCrypto]);
|
|
10898
|
-
|
|
11334
|
+
useEffect17(() => {
|
|
10899
11335
|
if (!!paymentMode || !paymentModes.length) return;
|
|
10900
11336
|
const targetPaymentMode = paymentModes.find((item) => item.payMethodCode === PREFERRED_PAYMENT_METHOD) || paymentModes[0];
|
|
10901
11337
|
useBinanceStore.getState().setPaymentMode(getPayMethodID(targetPaymentMode));
|
|
10902
11338
|
}, [paymentModes]);
|
|
10903
|
-
|
|
11339
|
+
useEffect17(() => {
|
|
10904
11340
|
return () => {
|
|
10905
11341
|
useBinanceStore.getState().setPaymentMode(null);
|
|
10906
11342
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binanceTradingPairs] });
|
|
@@ -10948,8 +11384,8 @@ function Binance() {
|
|
|
10948
11384
|
const minimumAmountWarningMsg = srcInputAmount < fiatMinimum ? (
|
|
10949
11385
|
// @ts-expect-error i18n typings
|
|
10950
11386
|
t("passport:buyMenu.inputPlaceholder.providerMin", {
|
|
10951
|
-
minimum: fiatMinimum
|
|
10952
|
-
currency: selectedFiat
|
|
11387
|
+
minimum: fiatMinimum?.toFixed(2),
|
|
11388
|
+
currency: selectedFiat?.toUpperCase(),
|
|
10953
11389
|
provider: "BINANCE CONNECT"
|
|
10954
11390
|
})
|
|
10955
11391
|
) : void 0;
|
|
@@ -11419,11 +11855,11 @@ var init_networks = __esm({
|
|
|
11419
11855
|
|
|
11420
11856
|
// src/internal/components/BuyMenu/finchpay/useFinchpaySseTxTracing.ts
|
|
11421
11857
|
import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
|
|
11422
|
-
import { useEffect as
|
|
11858
|
+
import { useEffect as useEffect18, useRef as useRef10 } from "react";
|
|
11423
11859
|
function useFinchpaySseTxTracing(walletAddress) {
|
|
11424
11860
|
const qc = useQueryClient6();
|
|
11425
|
-
const debounceRef =
|
|
11426
|
-
|
|
11861
|
+
const debounceRef = useRef10(null);
|
|
11862
|
+
useEffect18(() => {
|
|
11427
11863
|
if (!walletAddress) return;
|
|
11428
11864
|
const iframeManager = getIframeManager();
|
|
11429
11865
|
if (!iframeManager) return;
|
|
@@ -11472,7 +11908,7 @@ var init_utils7 = __esm({
|
|
|
11472
11908
|
// src/internal/components/BuyMenu/finchpay/FinchPay.tsx
|
|
11473
11909
|
import { useQuery as useQuery4, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
|
|
11474
11910
|
import { DollarSign, LoaderIcon as LoaderIcon6 } from "lucide-react";
|
|
11475
|
-
import { useEffect as
|
|
11911
|
+
import { useEffect as useEffect19 } from "react";
|
|
11476
11912
|
import { Fragment as Fragment12, jsx as jsx44, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
11477
11913
|
function FinchPay() {
|
|
11478
11914
|
const qc = useQueryClient7();
|
|
@@ -11548,11 +11984,11 @@ function FinchPay() {
|
|
|
11548
11984
|
})
|
|
11549
11985
|
});
|
|
11550
11986
|
const minimum = Number(limitsData?.min_amount || "0");
|
|
11551
|
-
|
|
11987
|
+
useEffect19(() => {
|
|
11552
11988
|
if (minimum <= 0) return;
|
|
11553
11989
|
useBuyMenuStore.getState().setMinAmount(minimum);
|
|
11554
11990
|
}, [minimum]);
|
|
11555
|
-
|
|
11991
|
+
useEffect19(() => {
|
|
11556
11992
|
if (srcInputAmount >= minimum) return;
|
|
11557
11993
|
useBuyMenuStore.getState().setRenderKey(`finchpay-input-minimum-warning-${Date.now()}`);
|
|
11558
11994
|
}, [minimum, srcInputAmount]);
|
|
@@ -11580,23 +12016,23 @@ function FinchPay() {
|
|
|
11580
12016
|
// defaults to CARD estimation, widgetUrl
|
|
11581
12017
|
})
|
|
11582
12018
|
});
|
|
11583
|
-
|
|
12019
|
+
useEffect19(() => {
|
|
11584
12020
|
const { error: errorTitle, message: errorMessage } = handleErrors([currenciesError, limitsError, estimateError]);
|
|
11585
12021
|
if (!errorTitle && !errorMessage) return;
|
|
11586
12022
|
console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
|
|
11587
12023
|
useBuyMenuStore.getState().setError(errorMessage);
|
|
11588
12024
|
}, [currenciesError, limitsError, estimateError]);
|
|
11589
|
-
|
|
12025
|
+
useEffect19(() => {
|
|
11590
12026
|
if (!!selectedFiat || currenciesData.fiats.length === 0) return;
|
|
11591
12027
|
const fallbackFiat = currenciesData.fiats[0];
|
|
11592
12028
|
const targetFiat = currenciesData.fiats.find((f) => f.ticker.toUpperCase() === "USD") || fallbackFiat;
|
|
11593
12029
|
useBuyMenuStore.getState().setSelectedFiat(targetFiat.ticker);
|
|
11594
12030
|
}, [currenciesData, selectedFiat]);
|
|
11595
|
-
|
|
12031
|
+
useEffect19(() => {
|
|
11596
12032
|
if (!!selectedCrypto || currenciesData.currentNetworkCoins.length === 0) return;
|
|
11597
12033
|
useBuyMenuStore.getState().setSelectedCrypto(currenciesData.currentNetworkCoins[0].ticker);
|
|
11598
12034
|
}, [currenciesData, selectedCrypto]);
|
|
11599
|
-
|
|
12035
|
+
useEffect19(() => {
|
|
11600
12036
|
return () => {
|
|
11601
12037
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.finchPayCurrencies] });
|
|
11602
12038
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.finchPayLimits] });
|
|
@@ -11850,7 +12286,7 @@ var init_ProviderSelector = __esm({
|
|
|
11850
12286
|
});
|
|
11851
12287
|
|
|
11852
12288
|
// src/internal/components/BuyMenu/useHandleInputAmount.ts
|
|
11853
|
-
import { useEffect as
|
|
12289
|
+
import { useEffect as useEffect20, useRef as useRef11 } from "react";
|
|
11854
12290
|
var ON_INPUT_QUERY_DELAY, useHandleInputAmount;
|
|
11855
12291
|
var init_useHandleInputAmount = __esm({
|
|
11856
12292
|
"src/internal/components/BuyMenu/useHandleInputAmount.ts"() {
|
|
@@ -11858,12 +12294,12 @@ var init_useHandleInputAmount = __esm({
|
|
|
11858
12294
|
init_useBuyMenuStore();
|
|
11859
12295
|
ON_INPUT_QUERY_DELAY = 1500;
|
|
11860
12296
|
useHandleInputAmount = () => {
|
|
11861
|
-
const lastRampProviderRef =
|
|
12297
|
+
const lastRampProviderRef = useRef11(DEFAULT_PROVIDER2);
|
|
11862
12298
|
const rampProvider = useBuyMenuStore((st) => st.rampProvider);
|
|
11863
12299
|
const srcInputAmount = useBuyMenuStore((st) => st.srcInputAmount);
|
|
11864
12300
|
const minAmount = useBuyMenuStore((st) => st.minAmount);
|
|
11865
|
-
const queryAmountTimer =
|
|
11866
|
-
|
|
12301
|
+
const queryAmountTimer = useRef11(null);
|
|
12302
|
+
useEffect20(() => {
|
|
11867
12303
|
if (queryAmountTimer.current) clearTimeout(queryAmountTimer.current);
|
|
11868
12304
|
queryAmountTimer.current = setTimeout(() => {
|
|
11869
12305
|
const checkedValue = Math.ceil(Math.max(Number(srcInputAmount), Number(minAmount)));
|
|
@@ -11871,7 +12307,7 @@ var init_useHandleInputAmount = __esm({
|
|
|
11871
12307
|
useBuyMenuStore.getState().setSrcQueryAmount(checkedValue);
|
|
11872
12308
|
}, ON_INPUT_QUERY_DELAY);
|
|
11873
12309
|
}, [minAmount, srcInputAmount]);
|
|
11874
|
-
|
|
12310
|
+
useEffect20(() => {
|
|
11875
12311
|
if (lastRampProviderRef.current === rampProvider) return;
|
|
11876
12312
|
const {
|
|
11877
12313
|
setIsProviderSummary,
|
|
@@ -11894,7 +12330,7 @@ var init_useHandleInputAmount = __esm({
|
|
|
11894
12330
|
});
|
|
11895
12331
|
|
|
11896
12332
|
// src/internal/components/BuyMenu/BuyMenu.tsx
|
|
11897
|
-
import { ArrowLeft as ArrowLeft3
|
|
12333
|
+
import { ArrowLeft as ArrowLeft3 } from "lucide-react";
|
|
11898
12334
|
import { Fragment as Fragment14, jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
11899
12335
|
function BuyMenu() {
|
|
11900
12336
|
const { t } = useT();
|
|
@@ -11915,6 +12351,7 @@ function BuyMenu() {
|
|
|
11915
12351
|
const ProviderComponent = RAMP_PROVIDERS[rampProvider];
|
|
11916
12352
|
const showExtras = !isCryptoSelector && !isFiatSelector && !isProviderSummary && !isProviderSelector && !isPaymentModeSelector;
|
|
11917
12353
|
const showProviderTrigger = showExtras && !isTransactionHistory;
|
|
12354
|
+
useOnboardingTourAvailable(showProviderTrigger);
|
|
11918
12355
|
return /* @__PURE__ */ jsx46(
|
|
11919
12356
|
"div",
|
|
11920
12357
|
{
|
|
@@ -11973,30 +12410,17 @@ function BuyMenu() {
|
|
|
11973
12410
|
}
|
|
11974
12411
|
),
|
|
11975
12412
|
/* @__PURE__ */ jsx46("span", { className: "block flex-none text-xl font-semibold", children: t("passport:buyMenu.title") }),
|
|
11976
|
-
showExtras && /* @__PURE__ */
|
|
11977
|
-
|
|
11978
|
-
|
|
11979
|
-
{
|
|
11980
|
-
|
|
11981
|
-
|
|
11982
|
-
|
|
11983
|
-
|
|
11984
|
-
onClick: () => onboarder.startTour(BUY_MENU_BINANCE_TOUR),
|
|
11985
|
-
children: /* @__PURE__ */ jsx46(CircleQuestionMarkIcon, { className: "h-4 w-4" })
|
|
11986
|
-
}
|
|
11987
|
-
),
|
|
11988
|
-
/* @__PURE__ */ jsx46(
|
|
11989
|
-
Switch,
|
|
11990
|
-
{
|
|
11991
|
-
labels: { checked: "PURCHASE", unchecked: "HISTORY" },
|
|
11992
|
-
checked: isTransactionHistory,
|
|
11993
|
-
onChange: () => {
|
|
11994
|
-
useBuyMenuStore.getState().setError(null);
|
|
11995
|
-
useBuyMenuStore.getState().setIsTransactionHistory();
|
|
11996
|
-
}
|
|
12413
|
+
showExtras && /* @__PURE__ */ jsx46("div", { className: "flex-1 h-8 flex items-center justify-end gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx46(
|
|
12414
|
+
Switch,
|
|
12415
|
+
{
|
|
12416
|
+
labels: { checked: "PURCHASE", unchecked: "HISTORY" },
|
|
12417
|
+
checked: isTransactionHistory,
|
|
12418
|
+
onChange: () => {
|
|
12419
|
+
useBuyMenuStore.getState().setError(null);
|
|
12420
|
+
useBuyMenuStore.getState().setIsTransactionHistory();
|
|
11997
12421
|
}
|
|
11998
|
-
|
|
11999
|
-
|
|
12422
|
+
}
|
|
12423
|
+
) })
|
|
12000
12424
|
] }),
|
|
12001
12425
|
showProviderTrigger && /* @__PURE__ */ jsxs40(Fragment14, { children: [
|
|
12002
12426
|
/* @__PURE__ */ jsx46("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:buyMenu.selectProvider") }),
|
|
@@ -12041,7 +12465,6 @@ var init_BuyMenu = __esm({
|
|
|
12041
12465
|
init_switch();
|
|
12042
12466
|
init_ProviderSelector();
|
|
12043
12467
|
init_contants();
|
|
12044
|
-
init_onboarding_setup();
|
|
12045
12468
|
init_useBuyMenuStore();
|
|
12046
12469
|
init_useHandleInputAmount();
|
|
12047
12470
|
}
|
|
@@ -12395,6 +12818,20 @@ var init_ChainItem = __esm({
|
|
|
12395
12818
|
}
|
|
12396
12819
|
});
|
|
12397
12820
|
|
|
12821
|
+
// src/internal/components/ChainsMenu/onboarding.setup.ts
|
|
12822
|
+
var CHAIN_MENU_TOUR;
|
|
12823
|
+
var init_onboarding_setup2 = __esm({
|
|
12824
|
+
"src/internal/components/ChainsMenu/onboarding.setup.ts"() {
|
|
12825
|
+
CHAIN_MENU_TOUR = [
|
|
12826
|
+
{
|
|
12827
|
+
elId: "embarkai-chain-menu-onboarding" /* chainMenu */,
|
|
12828
|
+
title: "passport:chainMenu.onboarding.chainMenu.title",
|
|
12829
|
+
description: "passport:chainMenu.onboarding.chainMenu.description"
|
|
12830
|
+
}
|
|
12831
|
+
];
|
|
12832
|
+
}
|
|
12833
|
+
});
|
|
12834
|
+
|
|
12398
12835
|
// src/internal/components/ChainsMenu/ChainsMenu.tsx
|
|
12399
12836
|
import { PAYMASTER_CACHE_TTL_MS } from "@embarkai/core";
|
|
12400
12837
|
import { getChainConfig as getChainConfig8, SUPPORTED_MAINNETS as SUPPORTED_MAINNETS2 } from "@embarkai/core/read";
|
|
@@ -12403,12 +12840,13 @@ import { ArrowLeft as ArrowLeft4 } from "lucide-react";
|
|
|
12403
12840
|
import { useMemo as useMemo5, useState as useState10 } from "react";
|
|
12404
12841
|
import { jsx as jsx54, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
12405
12842
|
function ChainsMenu() {
|
|
12843
|
+
const { t } = useT();
|
|
12406
12844
|
const config = useProviderConfig().config;
|
|
12407
12845
|
const activeChainId = useSession((st) => st.activeChainId);
|
|
12846
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
12408
12847
|
const [isTestnets, setIsTestnets] = useState10(false);
|
|
12409
12848
|
const [nextChainId, setNextChainId] = useState10(null);
|
|
12410
|
-
|
|
12411
|
-
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
12849
|
+
useOnboardingTourAvailable(true);
|
|
12412
12850
|
const visibleNetworks = useMemo5(() => {
|
|
12413
12851
|
return NETWORK_OPTIONS.filter(
|
|
12414
12852
|
(option) => option.isActive && (isTestnets ? true : SUPPORTED_MAINNETS2.includes(option.chainId))
|
|
@@ -12439,6 +12877,7 @@ function ChainsMenu() {
|
|
|
12439
12877
|
return /* @__PURE__ */ jsx54(
|
|
12440
12878
|
"div",
|
|
12441
12879
|
{
|
|
12880
|
+
ref: (inst) => onboarder.registerElement("embarkai-chain-menu-onboarding" /* chainMenu */, inst),
|
|
12442
12881
|
style: {
|
|
12443
12882
|
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
12444
12883
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
@@ -12493,6 +12932,7 @@ var init_ChainsMenu = __esm({
|
|
|
12493
12932
|
init_useLayoutDataStore();
|
|
12494
12933
|
init_useLayoutStore();
|
|
12495
12934
|
init_Expandable2();
|
|
12935
|
+
init_Onboarding();
|
|
12496
12936
|
init_button();
|
|
12497
12937
|
init_switch();
|
|
12498
12938
|
init_ChainItem();
|
|
@@ -12593,6 +13033,7 @@ var init_ChainsMenu2 = __esm({
|
|
|
12593
13033
|
"src/internal/components/ChainsMenu/index.ts"() {
|
|
12594
13034
|
init_ChainsMenu();
|
|
12595
13035
|
init_ChainSwitchRequest();
|
|
13036
|
+
init_onboarding_setup2();
|
|
12596
13037
|
}
|
|
12597
13038
|
});
|
|
12598
13039
|
|
|
@@ -13267,7 +13708,7 @@ var init_guardian_backup = __esm({
|
|
|
13267
13708
|
});
|
|
13268
13709
|
|
|
13269
13710
|
// src/internal/components/DevicesMenu/DeviceManageScreen.tsx
|
|
13270
|
-
import { useCallback as useCallback14, useEffect as
|
|
13711
|
+
import { useCallback as useCallback14, useEffect as useEffect21, useRef as useRef12, useState as useState12 } from "react";
|
|
13271
13712
|
import { ArrowLeft as ArrowLeft7, Cpu, Download, HardDrive, Loader2 as Loader23, Trash2, Upload } from "lucide-react";
|
|
13272
13713
|
import { Fragment as Fragment15, jsx as jsx57, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
13273
13714
|
function formatSize(bytes) {
|
|
@@ -13282,19 +13723,19 @@ function DeviceManageScreen() {
|
|
|
13282
13723
|
const userId = session?.mpcUserId || "";
|
|
13283
13724
|
const deviceId = pageParams?.deviceId;
|
|
13284
13725
|
const deviceName = pageParams?.deviceName;
|
|
13285
|
-
const guardianRef =
|
|
13726
|
+
const guardianRef = useRef12(null);
|
|
13286
13727
|
const [screen, setScreen] = useState12({ step: "connecting" });
|
|
13287
13728
|
const [actionState, setActionState] = useState12(null);
|
|
13288
13729
|
const [password, setPassword] = useState12("");
|
|
13289
13730
|
const [statusMessage, setStatusMessage] = useState12(null);
|
|
13290
13731
|
const [errorMessage, setErrorMessage] = useState12(null);
|
|
13291
13732
|
const [waitingConfirm, setWaitingConfirm] = useState12(false);
|
|
13292
|
-
|
|
13733
|
+
useEffect21(() => {
|
|
13293
13734
|
if (!statusMessage) return;
|
|
13294
13735
|
const t = setTimeout(() => setStatusMessage(null), 3e3);
|
|
13295
13736
|
return () => clearTimeout(t);
|
|
13296
13737
|
}, [statusMessage]);
|
|
13297
|
-
|
|
13738
|
+
useEffect21(() => {
|
|
13298
13739
|
if (!deviceId || !isWebSerialAvailable()) {
|
|
13299
13740
|
setScreen({ step: "error", message: "WebSerial not available" });
|
|
13300
13741
|
return;
|
|
@@ -14422,7 +14863,7 @@ var init_cloudStorage = __esm({
|
|
|
14422
14863
|
|
|
14423
14864
|
// src/internal/components/KeyshareRestoreMenu/hooks/useCreateBackup.ts
|
|
14424
14865
|
import { useMutation as useMutation9, useQueryClient as useQueryClient9 } from "@tanstack/react-query";
|
|
14425
|
-
import { useCallback as useCallback17, useEffect as
|
|
14866
|
+
import { useCallback as useCallback17, useEffect as useEffect22 } from "react";
|
|
14426
14867
|
function useCreateBackup() {
|
|
14427
14868
|
const qc = useQueryClient9();
|
|
14428
14869
|
const session = useSession((st) => st.session);
|
|
@@ -14431,7 +14872,7 @@ function useCreateBackup() {
|
|
|
14431
14872
|
const usePasskey = useRestoreStore((st) => st.usePasskey);
|
|
14432
14873
|
const restorePassword = useRestoreStore((st) => st.restorePassword);
|
|
14433
14874
|
const selectedCloudProvider = useRestoreStore((st) => st.selectedCloudProvider);
|
|
14434
|
-
|
|
14875
|
+
useEffect22(() => {
|
|
14435
14876
|
if (!hasServerVault) {
|
|
14436
14877
|
useRestoreStore.getState().setMethod("server");
|
|
14437
14878
|
useLayoutStore.getState().setIsDialogForced(true);
|
|
@@ -14726,7 +15167,7 @@ var init_useRestoreAccount = __esm({
|
|
|
14726
15167
|
});
|
|
14727
15168
|
|
|
14728
15169
|
// src/internal/components/KeyshareRestoreMenu/hooks/useValidateFileBackup.ts
|
|
14729
|
-
import { useEffect as
|
|
15170
|
+
import { useEffect as useEffect23 } from "react";
|
|
14730
15171
|
function validateRestoreFileFormat(parsedData) {
|
|
14731
15172
|
if (typeof parsedData !== "object" || parsedData === null) return false;
|
|
14732
15173
|
const data = parsedData;
|
|
@@ -14736,7 +15177,7 @@ function useValidateFileBackup() {
|
|
|
14736
15177
|
const restoreFile = useRestoreStore((st) => st.restoreFile);
|
|
14737
15178
|
const setError = useRestoreStore((st) => st.setError);
|
|
14738
15179
|
const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
|
|
14739
|
-
|
|
15180
|
+
useEffect23(() => {
|
|
14740
15181
|
if (!restoreFile) {
|
|
14741
15182
|
return;
|
|
14742
15183
|
}
|
|
@@ -14853,16 +15294,80 @@ var init_MethodSelector = __esm({
|
|
|
14853
15294
|
{ method: "cloud", label: "passport:backupMenu.cloud", Icon: Cloud, disabled: true }
|
|
14854
15295
|
];
|
|
14855
15296
|
if (isWebSerialAvailable()) {
|
|
14856
|
-
methods.push({ method: "guardian", label: "
|
|
15297
|
+
methods.push({ method: "guardian", label: "passport:guardiansMenu.title", Icon: Cpu3 });
|
|
14857
15298
|
}
|
|
14858
15299
|
return methods;
|
|
14859
15300
|
};
|
|
14860
15301
|
}
|
|
14861
15302
|
});
|
|
14862
15303
|
|
|
15304
|
+
// src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts
|
|
15305
|
+
var KEYSHARE_BACKUP_MENU_TOUR;
|
|
15306
|
+
var init_onboarding_setup3 = __esm({
|
|
15307
|
+
"src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
|
|
15308
|
+
init_hooks();
|
|
15309
|
+
KEYSHARE_BACKUP_MENU_TOUR = [
|
|
15310
|
+
{
|
|
15311
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15312
|
+
title: "passport:backupMenu.onboarding.backupMenu.title",
|
|
15313
|
+
description: "passport:backupMenu.onboarding.backupMenu.description",
|
|
15314
|
+
onNext: () => {
|
|
15315
|
+
const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
|
|
15316
|
+
setSuccess(null);
|
|
15317
|
+
setError(null);
|
|
15318
|
+
setRestoreFile(null);
|
|
15319
|
+
setRestorePassword("");
|
|
15320
|
+
setShowPassword(false);
|
|
15321
|
+
setUsePasskey(false);
|
|
15322
|
+
setMethod("server");
|
|
15323
|
+
}
|
|
15324
|
+
},
|
|
15325
|
+
{
|
|
15326
|
+
elId: "embarkai-keyshare-backup-method-onboarding" /* backupEncryptionMethodSelector */,
|
|
15327
|
+
title: "passport:backupMenu.onboarding.backupEncryptionMethod.title",
|
|
15328
|
+
description: "passport:backupMenu.onboarding.backupEncryptionMethod.description",
|
|
15329
|
+
onNext: () => {
|
|
15330
|
+
const { setRestorePassword, setShowPassword } = useRestoreStore.getState();
|
|
15331
|
+
setRestorePassword("<your-strong-password>");
|
|
15332
|
+
setShowPassword(true);
|
|
15333
|
+
}
|
|
15334
|
+
},
|
|
15335
|
+
{
|
|
15336
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15337
|
+
title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
|
|
15338
|
+
description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
|
|
15339
|
+
onNext: () => {
|
|
15340
|
+
const { setRestorePassword, setShowPassword } = useRestoreStore.getState();
|
|
15341
|
+
setRestorePassword("");
|
|
15342
|
+
setShowPassword(false);
|
|
15343
|
+
useRestoreStore.getState().setUsePasskey(true);
|
|
15344
|
+
}
|
|
15345
|
+
},
|
|
15346
|
+
{
|
|
15347
|
+
elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
|
|
15348
|
+
title: "passport:backupMenu.onboarding.backupEncryptionPasskey.title",
|
|
15349
|
+
description: "passport:backupMenu.onboarding.backupEncryptionPasskey.description",
|
|
15350
|
+
onNext: () => {
|
|
15351
|
+
useRestoreStore.getState().setUsePasskey(false);
|
|
15352
|
+
}
|
|
15353
|
+
},
|
|
15354
|
+
{
|
|
15355
|
+
elId: "embarkai-keyshare-backup-status-onboarding" /* backupStatus */,
|
|
15356
|
+
title: "passport:backupMenu.onboarding.backupStatus.title",
|
|
15357
|
+
description: "passport:backupMenu.onboarding.backupStatus.description"
|
|
15358
|
+
},
|
|
15359
|
+
{
|
|
15360
|
+
elId: "embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */,
|
|
15361
|
+
title: "passport:backupMenu.onboarding.backupAdvanced.title",
|
|
15362
|
+
description: "passport:backupMenu.onboarding.backupAdvanced.description"
|
|
15363
|
+
}
|
|
15364
|
+
];
|
|
15365
|
+
}
|
|
15366
|
+
});
|
|
15367
|
+
|
|
14863
15368
|
// src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
|
|
14864
15369
|
import { ChevronRight as ChevronRight2, Eye, EyeOff, Info as Info3, Key as Key4, Loader as Loader8, Plus } from "lucide-react";
|
|
14865
|
-
import { useEffect as
|
|
15370
|
+
import { useEffect as useEffect24, useRef as useRef13 } from "react";
|
|
14866
15371
|
import { Fragment as Fragment18, jsx as jsx61, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
14867
15372
|
function PasswordPasskey(props) {
|
|
14868
15373
|
const { t } = useT();
|
|
@@ -14877,7 +15382,7 @@ function PasswordPasskey(props) {
|
|
|
14877
15382
|
onCreatePasskey
|
|
14878
15383
|
} = props;
|
|
14879
15384
|
const hasServerVault = useSession((st) => st.hasServerVault);
|
|
14880
|
-
const actionRef =
|
|
15385
|
+
const actionRef = useRef13(null);
|
|
14881
15386
|
const {
|
|
14882
15387
|
showPassword,
|
|
14883
15388
|
restorePassword,
|
|
@@ -14891,46 +15396,55 @@ function PasswordPasskey(props) {
|
|
|
14891
15396
|
} = useRestoreStore();
|
|
14892
15397
|
const { config } = useProviderConfig();
|
|
14893
15398
|
const isPasskeyEnabled = config.current.passkey.enabled;
|
|
14894
|
-
|
|
15399
|
+
useEffect24(() => {
|
|
14895
15400
|
if (!isPasskeyEnabled && usePasskey) setUsePasskey(false);
|
|
14896
15401
|
}, [isPasskeyEnabled, usePasskey]);
|
|
14897
15402
|
return /* @__PURE__ */ jsxs55(Fragment18, { children: [
|
|
14898
|
-
mode === "backup" && isPasskeyEnabled && /* @__PURE__ */ jsxs55(
|
|
14899
|
-
|
|
14900
|
-
|
|
14901
|
-
|
|
14902
|
-
|
|
14903
|
-
|
|
14904
|
-
|
|
14905
|
-
|
|
14906
|
-
|
|
14907
|
-
|
|
14908
|
-
|
|
14909
|
-
|
|
14910
|
-
|
|
14911
|
-
|
|
14912
|
-
|
|
14913
|
-
|
|
14914
|
-
|
|
14915
|
-
|
|
14916
|
-
|
|
14917
|
-
|
|
14918
|
-
|
|
14919
|
-
|
|
14920
|
-
|
|
14921
|
-
|
|
14922
|
-
|
|
14923
|
-
|
|
14924
|
-
|
|
14925
|
-
|
|
14926
|
-
|
|
14927
|
-
|
|
14928
|
-
|
|
14929
|
-
|
|
14930
|
-
|
|
14931
|
-
|
|
14932
|
-
|
|
14933
|
-
|
|
15403
|
+
mode === "backup" && isPasskeyEnabled && /* @__PURE__ */ jsxs55(
|
|
15404
|
+
"div",
|
|
15405
|
+
{
|
|
15406
|
+
ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-method-onboarding" /* backupEncryptionMethodSelector */, inst),
|
|
15407
|
+
className: "flex items-center justify-center px-[var(--ui-kit-pd)]",
|
|
15408
|
+
children: [
|
|
15409
|
+
/* @__PURE__ */ jsxs55(
|
|
15410
|
+
Button,
|
|
15411
|
+
{
|
|
15412
|
+
ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-method-password-onboarding" /* backupEncryptionMethodPassword */, inst),
|
|
15413
|
+
size: "medium",
|
|
15414
|
+
variant: "ghost",
|
|
15415
|
+
onClick: () => {
|
|
15416
|
+
setUsePasskey(false);
|
|
15417
|
+
setRestoreFile(null);
|
|
15418
|
+
setRestorePassword("");
|
|
15419
|
+
},
|
|
15420
|
+
className: cn(usePasskey ? "opacity-50" : "opacity-100"),
|
|
15421
|
+
children: [
|
|
15422
|
+
/* @__PURE__ */ jsx61(opt_default, { className: "w-4 h-4 inline-block mr-1" }),
|
|
15423
|
+
t("passport:common.password")
|
|
15424
|
+
]
|
|
15425
|
+
}
|
|
15426
|
+
),
|
|
15427
|
+
/* @__PURE__ */ jsxs55(
|
|
15428
|
+
Button,
|
|
15429
|
+
{
|
|
15430
|
+
ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-method-passkey-onboarding" /* backupEncryptionMethodPasskey */, inst),
|
|
15431
|
+
size: "medium",
|
|
15432
|
+
variant: "ghost",
|
|
15433
|
+
onClick: () => {
|
|
15434
|
+
setUsePasskey(true);
|
|
15435
|
+
setRestoreFile(null);
|
|
15436
|
+
setRestorePassword("");
|
|
15437
|
+
},
|
|
15438
|
+
className: cn(usePasskey ? "opacity-100" : "opacity-50"),
|
|
15439
|
+
children: [
|
|
15440
|
+
/* @__PURE__ */ jsx61(Key4, { className: "w-4 h-4 inline-block mr-1" }),
|
|
15441
|
+
t("passport:common.passkey")
|
|
15442
|
+
]
|
|
15443
|
+
}
|
|
15444
|
+
)
|
|
15445
|
+
]
|
|
15446
|
+
}
|
|
15447
|
+
),
|
|
14934
15448
|
!hasServerVault && /* @__PURE__ */ jsx61("span", { className: "block w-full text-[10px] py-1 text-center text-[var(--ui-kit-fg-muted)]", children: usePasskey ? /* @__PURE__ */ jsxs55(Fragment18, { children: [
|
|
14935
15449
|
t("passport:backupMenu.passkeyMsg"),
|
|
14936
15450
|
" ",
|
|
@@ -15053,6 +15567,7 @@ var init_PasswordPasskey = __esm({
|
|
|
15053
15567
|
init_i18n();
|
|
15054
15568
|
init_utils2();
|
|
15055
15569
|
init_icons();
|
|
15570
|
+
init_Onboarding();
|
|
15056
15571
|
init_button();
|
|
15057
15572
|
init_highlight();
|
|
15058
15573
|
init_input();
|
|
@@ -15219,7 +15734,7 @@ var init_File = __esm({
|
|
|
15219
15734
|
import { useQueryClient as useQueryClient10 } from "@tanstack/react-query";
|
|
15220
15735
|
import dayjs3 from "dayjs";
|
|
15221
15736
|
import { Download as Download3, Key as Key5, Upload as Upload3 } from "lucide-react";
|
|
15222
|
-
import { useEffect as
|
|
15737
|
+
import { useEffect as useEffect25 } from "react";
|
|
15223
15738
|
import { Fragment as Fragment21, jsx as jsx64, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
15224
15739
|
function Server(props) {
|
|
15225
15740
|
const { isLoading, mode = "restore", serverHandler, createPasskeyHandler } = props;
|
|
@@ -15229,7 +15744,7 @@ function Server(props) {
|
|
|
15229
15744
|
const usePasskey = useRestoreStore((st) => st.usePasskey);
|
|
15230
15745
|
const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
|
|
15231
15746
|
const serverRecoveryStatus = qc.getQueryData([CHECK_BACKUP_QUERY_KEY, address]);
|
|
15232
|
-
|
|
15747
|
+
useEffect25(() => {
|
|
15233
15748
|
if (mode === "backup" || !serverRecoveryStatus?.created?.encryptionMethod) return;
|
|
15234
15749
|
setUsePasskey(serverRecoveryStatus.created.encryptionMethod === "passkey");
|
|
15235
15750
|
}, [mode, serverRecoveryStatus, setUsePasskey]);
|
|
@@ -15252,16 +15767,24 @@ function Server(props) {
|
|
|
15252
15767
|
) : t("passport:backupMenu.vaultRestore")
|
|
15253
15768
|
}
|
|
15254
15769
|
),
|
|
15255
|
-
!!serverRecoveryStatus?.created?.at && /* @__PURE__ */ jsxs58(
|
|
15256
|
-
|
|
15257
|
-
|
|
15258
|
-
|
|
15259
|
-
|
|
15260
|
-
|
|
15261
|
-
|
|
15262
|
-
|
|
15263
|
-
|
|
15264
|
-
|
|
15770
|
+
!!serverRecoveryStatus?.created?.at && /* @__PURE__ */ jsxs58(
|
|
15771
|
+
Highlight,
|
|
15772
|
+
{
|
|
15773
|
+
ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-status-onboarding" /* backupStatus */, inst),
|
|
15774
|
+
type: "info",
|
|
15775
|
+
className: "flex gap-[var(--ui-kit-gap)]",
|
|
15776
|
+
children: [
|
|
15777
|
+
serverRecoveryStatus.created.encryptionMethod === "password" ? /* @__PURE__ */ jsx64(opt_default, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx64(Key5, { className: "w-4 h-4" }),
|
|
15778
|
+
/* @__PURE__ */ jsxs58("span", { className: "flex-1 block", children: [
|
|
15779
|
+
t("passport:backupMenu.vaultRecoveryStatus"),
|
|
15780
|
+
" ",
|
|
15781
|
+
/* @__PURE__ */ jsx64("strong", { children: serverRecoveryStatus.created.encryptionMethod?.toUpperCase() }),
|
|
15782
|
+
/* @__PURE__ */ jsx64("br", {}),
|
|
15783
|
+
/* @__PURE__ */ jsx64("strong", { children: dayjs3(serverRecoveryStatus.created.at).format("MMMM DD, YYYY HH:mm") })
|
|
15784
|
+
] })
|
|
15785
|
+
]
|
|
15786
|
+
}
|
|
15787
|
+
)
|
|
15265
15788
|
] });
|
|
15266
15789
|
}
|
|
15267
15790
|
var init_Server = __esm({
|
|
@@ -15269,6 +15792,7 @@ var init_Server = __esm({
|
|
|
15269
15792
|
init_SessionContext();
|
|
15270
15793
|
init_useT();
|
|
15271
15794
|
init_icons();
|
|
15795
|
+
init_Onboarding();
|
|
15272
15796
|
init_highlight();
|
|
15273
15797
|
init_PasswordPasskey();
|
|
15274
15798
|
init_constants5();
|
|
@@ -15412,7 +15936,7 @@ var init_select = __esm({
|
|
|
15412
15936
|
// src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
|
|
15413
15937
|
import { useQuery as useQuery7 } from "@tanstack/react-query";
|
|
15414
15938
|
import { ArrowLeft as ArrowLeft10, CloudDownload, CloudUpload, Loader as Loader9 } from "lucide-react";
|
|
15415
|
-
import { useEffect as
|
|
15939
|
+
import { useEffect as useEffect26 } from "react";
|
|
15416
15940
|
import { Fragment as Fragment22, jsx as jsx66, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
15417
15941
|
function Cloud2(props) {
|
|
15418
15942
|
const { isLoading, mode = "restore", cloudHandler } = props;
|
|
@@ -15433,7 +15957,7 @@ function Cloud2(props) {
|
|
|
15433
15957
|
return availableProviders.map((p) => ({ id: p.id, name: p.name, available: p.isAvailable() }));
|
|
15434
15958
|
}
|
|
15435
15959
|
});
|
|
15436
|
-
|
|
15960
|
+
useEffect26(() => {
|
|
15437
15961
|
if (isCloudProvidersLoading) return;
|
|
15438
15962
|
if (!!cloudProvidersError) {
|
|
15439
15963
|
console.error("[KeyshareBackup] Failed to load cloud providers:", cloudProvidersError);
|
|
@@ -15673,7 +16197,7 @@ var init_methods = __esm({
|
|
|
15673
16197
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
15674
16198
|
import { useMutation as useMutation11, useQuery as useQuery8, useQueryClient as useQueryClient11 } from "@tanstack/react-query";
|
|
15675
16199
|
import { AlertCircle as AlertCircle2, CheckCircle2, CloudDownload as CloudDownload2, Loader as Loader10, UserCircle as UserCircle2 } from "lucide-react";
|
|
15676
|
-
import { useEffect as
|
|
16200
|
+
import { useEffect as useEffect27 } from "react";
|
|
15677
16201
|
import { useDisconnect } from "wagmi";
|
|
15678
16202
|
import { Fragment as Fragment24, jsx as jsx68, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
15679
16203
|
var RESTORE_COMPONENTS, KeyshareRestoreMenu;
|
|
@@ -15710,7 +16234,7 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
15710
16234
|
const error = useRestoreStore((st) => st.error);
|
|
15711
16235
|
const success = useRestoreStore((st) => st.success);
|
|
15712
16236
|
const currentRestoreMethod = useRestoreStore((st) => st.method);
|
|
15713
|
-
|
|
16237
|
+
useEffect27(() => {
|
|
15714
16238
|
const { setIsDialogForced } = useLayoutStore.getState();
|
|
15715
16239
|
const { setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
|
|
15716
16240
|
setIsDialogForced(true);
|
|
@@ -15750,7 +16274,7 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
15750
16274
|
queryFn: async () => await getShareRecoveryStats()
|
|
15751
16275
|
});
|
|
15752
16276
|
const hasServerBackup = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
|
|
15753
|
-
|
|
16277
|
+
useEffect27(() => {
|
|
15754
16278
|
if (!!hasServerBackup) useRestoreStore.getState().setMethod("server");
|
|
15755
16279
|
}, [hasServerBackup]);
|
|
15756
16280
|
const { mutate: disconnect, isPending: isDisconnecting } = useMutation11({
|
|
@@ -15897,7 +16421,7 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
15897
16421
|
// src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx
|
|
15898
16422
|
import { useQuery as useQuery9 } from "@tanstack/react-query";
|
|
15899
16423
|
import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft11, CheckCircle2 as CheckCircle22, Loader as Loader11, LockIcon } from "lucide-react";
|
|
15900
|
-
import { useEffect as
|
|
16424
|
+
import { useEffect as useEffect28 } from "react";
|
|
15901
16425
|
import { Fragment as Fragment25, jsx as jsx69, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
15902
16426
|
function KeyshareBackupMenu() {
|
|
15903
16427
|
const address = useSession((st) => st.address);
|
|
@@ -15906,9 +16430,10 @@ function KeyshareBackupMenu() {
|
|
|
15906
16430
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
15907
16431
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
15908
16432
|
const currentBackupMethod = useRestoreStore((st) => st.method);
|
|
16433
|
+
const usePasskey = useRestoreStore((st) => st.usePasskey);
|
|
15909
16434
|
const error = useRestoreStore((st) => st.error);
|
|
15910
16435
|
const success = useRestoreStore((st) => st.success);
|
|
15911
|
-
|
|
16436
|
+
useEffect28(() => {
|
|
15912
16437
|
const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
|
|
15913
16438
|
return () => {
|
|
15914
16439
|
setSuccess(null);
|
|
@@ -15926,8 +16451,9 @@ function KeyshareBackupMenu() {
|
|
|
15926
16451
|
queryKey: [CHECK_BACKUP_QUERY_KEY, address],
|
|
15927
16452
|
queryFn: async () => await getShareRecoveryStats()
|
|
15928
16453
|
});
|
|
16454
|
+
useOnboardingTourAvailable(!isRecoveryLoading && currentBackupMethod === "server" && !usePasskey);
|
|
15929
16455
|
const hasRecoveryData = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
|
|
15930
|
-
|
|
16456
|
+
useEffect28(() => {
|
|
15931
16457
|
if (!!hasRecoveryData) useRestoreStore.getState().setMethod("server");
|
|
15932
16458
|
}, [hasRecoveryData]);
|
|
15933
16459
|
const {
|
|
@@ -15944,6 +16470,7 @@ function KeyshareBackupMenu() {
|
|
|
15944
16470
|
return /* @__PURE__ */ jsx69(
|
|
15945
16471
|
"div",
|
|
15946
16472
|
{
|
|
16473
|
+
ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-menu-onboarding" /* backupMenu */, inst),
|
|
15947
16474
|
style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
|
|
15948
16475
|
className: "list-scrollbar-y w-full",
|
|
15949
16476
|
children: /* @__PURE__ */ jsxs63(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
|
|
@@ -15952,60 +16479,67 @@ function KeyshareBackupMenu() {
|
|
|
15952
16479
|
/* @__PURE__ */ jsx69(LockIcon, { className: "w-6 h-6" }),
|
|
15953
16480
|
/* @__PURE__ */ jsx69("span", { className: "font-bold text-xl leading-6", children: t("passport:backupMenu.title") })
|
|
15954
16481
|
] }),
|
|
15955
|
-
!isRecoveryLoading && !!hasRecoveryData && /* @__PURE__ */ jsxs63(
|
|
15956
|
-
|
|
15957
|
-
|
|
15958
|
-
|
|
15959
|
-
|
|
15960
|
-
|
|
15961
|
-
|
|
15962
|
-
|
|
15963
|
-
|
|
15964
|
-
|
|
15965
|
-
|
|
15966
|
-
|
|
15967
|
-
|
|
15968
|
-
|
|
15969
|
-
|
|
15970
|
-
|
|
15971
|
-
|
|
15972
|
-
|
|
15973
|
-
|
|
15974
|
-
|
|
15975
|
-
|
|
15976
|
-
|
|
15977
|
-
|
|
15978
|
-
|
|
15979
|
-
|
|
15980
|
-
|
|
15981
|
-
|
|
15982
|
-
|
|
15983
|
-
|
|
15984
|
-
|
|
15985
|
-
|
|
15986
|
-
|
|
15987
|
-
|
|
15988
|
-
|
|
15989
|
-
|
|
15990
|
-
|
|
15991
|
-
|
|
15992
|
-
|
|
15993
|
-
|
|
15994
|
-
|
|
15995
|
-
|
|
15996
|
-
|
|
15997
|
-
|
|
15998
|
-
|
|
15999
|
-
|
|
16000
|
-
|
|
16001
|
-
|
|
16002
|
-
|
|
16003
|
-
|
|
16482
|
+
!isRecoveryLoading && !!hasRecoveryData && /* @__PURE__ */ jsxs63(
|
|
16483
|
+
"div",
|
|
16484
|
+
{
|
|
16485
|
+
ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */, inst),
|
|
16486
|
+
className: "flex items-center justify-between gap-[var(--ui-kit-gap)]",
|
|
16487
|
+
children: [
|
|
16488
|
+
/* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
16489
|
+
/* @__PURE__ */ jsx69(
|
|
16490
|
+
Button,
|
|
16491
|
+
{
|
|
16492
|
+
variant: "ghost",
|
|
16493
|
+
size: "icon",
|
|
16494
|
+
title: "Back",
|
|
16495
|
+
onClick: () => {
|
|
16496
|
+
const {
|
|
16497
|
+
setSuccess,
|
|
16498
|
+
setError,
|
|
16499
|
+
setRestorePassword,
|
|
16500
|
+
setRestoreFile,
|
|
16501
|
+
setShowPassword,
|
|
16502
|
+
setUsePasskey,
|
|
16503
|
+
setMethod,
|
|
16504
|
+
setSelectedCloudProvider
|
|
16505
|
+
} = useRestoreStore.getState();
|
|
16506
|
+
setRestorePassword("");
|
|
16507
|
+
setRestoreFile(null);
|
|
16508
|
+
setShowPassword(false);
|
|
16509
|
+
setSelectedCloudProvider(null);
|
|
16510
|
+
setUsePasskey(false);
|
|
16511
|
+
setError(null);
|
|
16512
|
+
setSuccess(null);
|
|
16513
|
+
setMethod(null);
|
|
16514
|
+
setPage("settings" /* SETTINGS */);
|
|
16515
|
+
},
|
|
16516
|
+
children: /* @__PURE__ */ jsx69(ArrowLeft11, { className: "h-4 w-4" })
|
|
16517
|
+
}
|
|
16518
|
+
),
|
|
16519
|
+
/* @__PURE__ */ jsx69("span", { className: "text-xl font-semibold leading-8", children: t("passport:backupMenu.title") })
|
|
16520
|
+
] }),
|
|
16521
|
+
/* @__PURE__ */ jsx69(
|
|
16522
|
+
Switch,
|
|
16523
|
+
{
|
|
16524
|
+
name: "advanced-restore-flow-toggle",
|
|
16525
|
+
labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
|
|
16526
|
+
checked: currentBackupMethod !== "server",
|
|
16527
|
+
onChange: () => {
|
|
16528
|
+
const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
|
|
16529
|
+
if (!!error) setError(null);
|
|
16530
|
+
if (currentBackupMethod === "server") {
|
|
16531
|
+
setRestorePassword("");
|
|
16532
|
+
setMethod(null);
|
|
16533
|
+
} else {
|
|
16534
|
+
setRestoreFile(null);
|
|
16535
|
+
setMethod("server");
|
|
16536
|
+
}
|
|
16537
|
+
}
|
|
16004
16538
|
}
|
|
16005
|
-
|
|
16006
|
-
|
|
16007
|
-
|
|
16008
|
-
|
|
16539
|
+
)
|
|
16540
|
+
]
|
|
16541
|
+
}
|
|
16542
|
+
),
|
|
16009
16543
|
!isRecoveryLoading && !!hasRecoveryData && !currentBackupMethod && /* @__PURE__ */ jsx69(MethodSelector, { mode: "backup", serverRecoveryStatus }),
|
|
16010
16544
|
(!isRecoveryLoading || !hasServerVault) && !!currentBackupMethod && /* @__PURE__ */ jsx69(Fragment25, { children: /* @__PURE__ */ jsx69(
|
|
16011
16545
|
BackupComponent,
|
|
@@ -16055,6 +16589,7 @@ var init_KeyshareBackupMenu = __esm({
|
|
|
16055
16589
|
init_useLayoutStore();
|
|
16056
16590
|
init_vaultClient();
|
|
16057
16591
|
init_Expandable2();
|
|
16592
|
+
init_Onboarding();
|
|
16058
16593
|
init_button();
|
|
16059
16594
|
init_highlight();
|
|
16060
16595
|
init_switch();
|
|
@@ -16076,11 +16611,12 @@ var init_KeyshareRestoreMenu2 = __esm({
|
|
|
16076
16611
|
"src/internal/components/KeyshareRestoreMenu/index.ts"() {
|
|
16077
16612
|
init_KeyshareRestoreMenu();
|
|
16078
16613
|
init_KeyshareBackupMenu();
|
|
16614
|
+
init_onboarding_setup3();
|
|
16079
16615
|
}
|
|
16080
16616
|
});
|
|
16081
16617
|
|
|
16082
16618
|
// src/hooks/useColorMode.ts
|
|
16083
|
-
import { useCallback as useCallback18, useEffect as
|
|
16619
|
+
import { useCallback as useCallback18, useEffect as useEffect29 } from "react";
|
|
16084
16620
|
function useColorMode() {
|
|
16085
16621
|
const {
|
|
16086
16622
|
config: { current: config }
|
|
@@ -16095,7 +16631,7 @@ function useColorMode() {
|
|
|
16095
16631
|
},
|
|
16096
16632
|
[handleStoreColorMode]
|
|
16097
16633
|
);
|
|
16098
|
-
|
|
16634
|
+
useEffect29(() => {
|
|
16099
16635
|
let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
|
|
16100
16636
|
if (!targetColorMode && !preferedColorMode) {
|
|
16101
16637
|
const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -16212,17 +16748,17 @@ var init_SumsubIframeManager = __esm({
|
|
|
16212
16748
|
});
|
|
16213
16749
|
|
|
16214
16750
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
16215
|
-
import { useEffect as
|
|
16751
|
+
import { useEffect as useEffect30, useRef as useRef14, useState as useState17 } from "react";
|
|
16216
16752
|
function useSumsubIframe({ iframeUrl }) {
|
|
16217
16753
|
const config = useProviderConfig().config;
|
|
16218
16754
|
const { colorMode } = useColorMode();
|
|
16219
|
-
const iframeRef =
|
|
16755
|
+
const iframeRef = useRef14(null);
|
|
16220
16756
|
const [isLoading, setIsLoading] = useState17(true);
|
|
16221
16757
|
const [error, setError] = useState17(null);
|
|
16222
16758
|
const [height, setHeight] = useState17(0);
|
|
16223
16759
|
const [status, setStatus] = useState17("");
|
|
16224
16760
|
const levelName = config.current?.kyc?.options?.levelName;
|
|
16225
|
-
|
|
16761
|
+
useEffect30(() => {
|
|
16226
16762
|
setError(null);
|
|
16227
16763
|
setIsLoading(true);
|
|
16228
16764
|
setStatus("Preparing verification...");
|
|
@@ -16540,20 +17076,51 @@ var init_useProvidersList = __esm({
|
|
|
16540
17076
|
}
|
|
16541
17077
|
});
|
|
16542
17078
|
|
|
17079
|
+
// src/internal/components/MainMenu/onboarding.setup.ts
|
|
17080
|
+
var MAIN_MENU_TOUR;
|
|
17081
|
+
var init_onboarding_setup4 = __esm({
|
|
17082
|
+
"src/internal/components/MainMenu/onboarding.setup.ts"() {
|
|
17083
|
+
MAIN_MENU_TOUR = [
|
|
17084
|
+
{
|
|
17085
|
+
elId: "mainmenu-send-button" /* sendButton */,
|
|
17086
|
+
title: "passport:main.onboarding.sendButton.title",
|
|
17087
|
+
description: "passport:main.onboarding.sendButton.description"
|
|
17088
|
+
},
|
|
17089
|
+
{
|
|
17090
|
+
elId: "mainmenu-receive-button" /* receiveButton */,
|
|
17091
|
+
title: "passport:main.onboarding.receiveButton.title",
|
|
17092
|
+
description: "passport:main.onboarding.receiveButton.description"
|
|
17093
|
+
},
|
|
17094
|
+
{
|
|
17095
|
+
elId: "mainmenu-buy-button" /* buyButton */,
|
|
17096
|
+
title: "passport:main.onboarding.buyButton.title",
|
|
17097
|
+
description: "passport:main.onboarding.buyButton.description"
|
|
17098
|
+
},
|
|
17099
|
+
{
|
|
17100
|
+
elId: "mainmenu-portfolio-button" /* portfolioButton */,
|
|
17101
|
+
title: "passport:main.onboarding.portfolioButton.title",
|
|
17102
|
+
description: "passport:main.onboarding.portfolioButton.description"
|
|
17103
|
+
}
|
|
17104
|
+
];
|
|
17105
|
+
}
|
|
17106
|
+
});
|
|
17107
|
+
|
|
16543
17108
|
// src/internal/components/MainMenu/MainMenu.tsx
|
|
16544
17109
|
import { ChevronLeft, ChevronRight as ChevronRight3, DollarSign as DollarSign2, Wallet2 as Wallet23 } from "lucide-react";
|
|
16545
|
-
import { useEffect as
|
|
17110
|
+
import { useEffect as useEffect31 } from "react";
|
|
16546
17111
|
import { jsx as jsx74, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
16547
17112
|
function MainMenu() {
|
|
16548
17113
|
const address = useSession((st) => st.address);
|
|
16549
17114
|
const { t } = useT();
|
|
16550
17115
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
16551
17116
|
const setTransitionPageHeight = useLayoutDataStore((st) => st.setTransitionPageHeight);
|
|
16552
|
-
|
|
17117
|
+
useEffect31(() => setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT), []);
|
|
17118
|
+
useOnboardingTourAvailable(true);
|
|
16553
17119
|
useProvidersList();
|
|
16554
|
-
return /* @__PURE__ */ jsx74("div", { className: "w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx74("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--ui-kit-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon2 }) => /* @__PURE__ */ jsxs68(
|
|
17120
|
+
return /* @__PURE__ */ jsx74("div", { className: "w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx74("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--ui-kit-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, onboardingId, label, icon: Icon2 }) => /* @__PURE__ */ jsxs68(
|
|
16555
17121
|
Button,
|
|
16556
17122
|
{
|
|
17123
|
+
ref: (inst) => onboarder.registerElement(onboardingId, inst),
|
|
16557
17124
|
size: "large",
|
|
16558
17125
|
variant: "ghost",
|
|
16559
17126
|
disabled: !address,
|
|
@@ -16575,12 +17142,33 @@ var init_MainMenu = __esm({
|
|
|
16575
17142
|
init_constants();
|
|
16576
17143
|
init_useLayoutDataStore();
|
|
16577
17144
|
init_useProvidersList();
|
|
17145
|
+
init_Onboarding();
|
|
16578
17146
|
init_button();
|
|
16579
17147
|
MAIN_MENU_BUTTONS = [
|
|
16580
|
-
{
|
|
16581
|
-
|
|
16582
|
-
|
|
16583
|
-
|
|
17148
|
+
{
|
|
17149
|
+
id: "send" /* SEND */,
|
|
17150
|
+
onboardingId: "mainmenu-send-button" /* sendButton */,
|
|
17151
|
+
label: "passport:main.send",
|
|
17152
|
+
icon: ChevronRight3
|
|
17153
|
+
},
|
|
17154
|
+
{
|
|
17155
|
+
id: "receive" /* RECEIVE */,
|
|
17156
|
+
onboardingId: "mainmenu-receive-button" /* receiveButton */,
|
|
17157
|
+
label: "passport:main.receive",
|
|
17158
|
+
icon: ChevronLeft
|
|
17159
|
+
},
|
|
17160
|
+
{
|
|
17161
|
+
id: "buy" /* BUY */,
|
|
17162
|
+
onboardingId: "mainmenu-buy-button" /* buyButton */,
|
|
17163
|
+
label: "passport:main.buy",
|
|
17164
|
+
icon: DollarSign2
|
|
17165
|
+
},
|
|
17166
|
+
{
|
|
17167
|
+
id: "assets" /* ASSETS */,
|
|
17168
|
+
onboardingId: "mainmenu-portfolio-button" /* portfolioButton */,
|
|
17169
|
+
label: "passport:main.assets",
|
|
17170
|
+
icon: Wallet23
|
|
17171
|
+
}
|
|
16584
17172
|
];
|
|
16585
17173
|
}
|
|
16586
17174
|
});
|
|
@@ -16589,6 +17177,7 @@ var init_MainMenu = __esm({
|
|
|
16589
17177
|
var init_MainMenu2 = __esm({
|
|
16590
17178
|
"src/internal/components/MainMenu/index.ts"() {
|
|
16591
17179
|
init_MainMenu();
|
|
17180
|
+
init_onboarding_setup4();
|
|
16592
17181
|
}
|
|
16593
17182
|
});
|
|
16594
17183
|
|
|
@@ -17096,7 +17685,7 @@ var init_EmailNotConnectedWarning = __esm({
|
|
|
17096
17685
|
|
|
17097
17686
|
// src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
|
|
17098
17687
|
import { useQueryClient as useQueryClient15 } from "@tanstack/react-query";
|
|
17099
|
-
import React22, { useEffect as
|
|
17688
|
+
import React22, { useEffect as useEffect32 } from "react";
|
|
17100
17689
|
function normalizeSocialLinkError(message) {
|
|
17101
17690
|
if (message === "X_ALREADY_LINKED") {
|
|
17102
17691
|
return "This X account is already linked to another account";
|
|
@@ -17172,7 +17761,7 @@ function useLinkSocial() {
|
|
|
17172
17761
|
[config.social?.providers]
|
|
17173
17762
|
);
|
|
17174
17763
|
const [socialLinkStarted, setSocialLinkStarted] = React22.useState(false);
|
|
17175
|
-
|
|
17764
|
+
useEffect32(() => {
|
|
17176
17765
|
const key = providerType?.toLowerCase();
|
|
17177
17766
|
console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
|
|
17178
17767
|
if (isWalletLinking) {
|
|
@@ -17255,7 +17844,7 @@ var init_telegram2 = __esm({
|
|
|
17255
17844
|
|
|
17256
17845
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
17257
17846
|
import { useQueryClient as useQueryClient16 } from "@tanstack/react-query";
|
|
17258
|
-
import { useCallback as useCallback20, useEffect as
|
|
17847
|
+
import { useCallback as useCallback20, useEffect as useEffect33, useState as useState18 } from "react";
|
|
17259
17848
|
function useLinkTelegram() {
|
|
17260
17849
|
const {
|
|
17261
17850
|
config: { current: config },
|
|
@@ -17314,7 +17903,7 @@ function useLinkTelegram() {
|
|
|
17314
17903
|
}
|
|
17315
17904
|
}, [config.social?.providers]);
|
|
17316
17905
|
const [telegramLinkStarted, setTelegramLinkStarted] = useState18(false);
|
|
17317
|
-
|
|
17906
|
+
useEffect33(() => {
|
|
17318
17907
|
console.log("[useLinkTelegram] Effect triggered:", {
|
|
17319
17908
|
providerType,
|
|
17320
17909
|
linkIsLoading,
|
|
@@ -17331,7 +17920,7 @@ function useLinkTelegram() {
|
|
|
17331
17920
|
handleLinkTelegram();
|
|
17332
17921
|
}
|
|
17333
17922
|
}, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
|
|
17334
|
-
|
|
17923
|
+
useEffect33(() => {
|
|
17335
17924
|
if (providerType !== "telegram") {
|
|
17336
17925
|
setTelegramLinkStarted(false);
|
|
17337
17926
|
}
|
|
@@ -17350,6 +17939,20 @@ var init_useLinkTelegram = __esm({
|
|
|
17350
17939
|
}
|
|
17351
17940
|
});
|
|
17352
17941
|
|
|
17942
|
+
// src/internal/components/ManageWalletMenu/onboarding.setup.ts
|
|
17943
|
+
var MANAGE_WALLET_MENU_TOUR;
|
|
17944
|
+
var init_onboarding_setup5 = __esm({
|
|
17945
|
+
"src/internal/components/ManageWalletMenu/onboarding.setup.ts"() {
|
|
17946
|
+
MANAGE_WALLET_MENU_TOUR = [
|
|
17947
|
+
{
|
|
17948
|
+
elId: "embarkai-profiles-menu-onboarding" /* profilesMenu */,
|
|
17949
|
+
title: "passport:profilesMenu.onboarding.profilesMenu.title",
|
|
17950
|
+
description: "passport:profilesMenu.onboarding.profilesMenu.description"
|
|
17951
|
+
}
|
|
17952
|
+
];
|
|
17953
|
+
}
|
|
17954
|
+
});
|
|
17955
|
+
|
|
17353
17956
|
// src/internal/components/ManageWalletMenu/ProviderCard.tsx
|
|
17354
17957
|
import { CheckCircle as CheckCircle3, Clock, Trash2 as Trash23 } from "lucide-react";
|
|
17355
17958
|
import { jsx as jsx78, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
@@ -17548,10 +18151,12 @@ function ManageWalletMenu() {
|
|
|
17548
18151
|
useLinkSocial();
|
|
17549
18152
|
const showCurrentProviders = !isProvidersLoading && !providersError && (providerType !== "email" && providerType !== "passkey" || providerType === null);
|
|
17550
18153
|
const showExtraProvidersUi = !isProvidersLoading && !providersError && (providerType === "email" || providerType === "passkey");
|
|
18154
|
+
useOnboardingTourAvailable(!showExtraProvidersUi && providerType === null);
|
|
17551
18155
|
const combinedAlertMessage = alert2?.message || providersError?.message || null;
|
|
17552
18156
|
return /* @__PURE__ */ jsx79(
|
|
17553
18157
|
"div",
|
|
17554
18158
|
{
|
|
18159
|
+
ref: (inst) => onboarder.registerElement("embarkai-profiles-menu-onboarding" /* profilesMenu */, inst),
|
|
17555
18160
|
style: {
|
|
17556
18161
|
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
17557
18162
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
@@ -17609,6 +18214,7 @@ var init_ManageWallet = __esm({
|
|
|
17609
18214
|
init_constants();
|
|
17610
18215
|
init_telegramBrowser();
|
|
17611
18216
|
init_Expandable2();
|
|
18217
|
+
init_Onboarding();
|
|
17612
18218
|
init_button();
|
|
17613
18219
|
init_highlight();
|
|
17614
18220
|
init_AddProvider();
|
|
@@ -17751,6 +18357,7 @@ var init_ManageWalletMenu = __esm({
|
|
|
17751
18357
|
init_UnlinkProviderMenu();
|
|
17752
18358
|
init_useStore();
|
|
17753
18359
|
init_useProvidersList();
|
|
18360
|
+
init_onboarding_setup5();
|
|
17754
18361
|
}
|
|
17755
18362
|
});
|
|
17756
18363
|
|
|
@@ -17852,11 +18459,11 @@ var init_useNicknameStore = __esm({
|
|
|
17852
18459
|
// src/internal/components/NicknameMenu/useNicknameAvailability.ts
|
|
17853
18460
|
import { useMutation as useMutation16 } from "@tanstack/react-query";
|
|
17854
18461
|
import { debounce as debounce5 } from "lodash-es";
|
|
17855
|
-
import { useCallback as useCallback21, useEffect as
|
|
18462
|
+
import { useCallback as useCallback21, useEffect as useEffect34 } from "react";
|
|
17856
18463
|
function useNicknameAvailability(currentNickname) {
|
|
17857
18464
|
const { t } = useT();
|
|
17858
18465
|
const nicknameValue = useNicknameStore((st) => st.nicknameValue);
|
|
17859
|
-
|
|
18466
|
+
useEffect34(() => {
|
|
17860
18467
|
if (!currentNickname) return;
|
|
17861
18468
|
useNicknameStore.getState().setNicknameValue(currentNickname);
|
|
17862
18469
|
}, [currentNickname]);
|
|
@@ -17878,7 +18485,7 @@ function useNicknameAvailability(currentNickname) {
|
|
|
17878
18485
|
}
|
|
17879
18486
|
});
|
|
17880
18487
|
const debouncedCheckAvailability = useCallback21(debounce5(checkAvailability, DEBOUNCE_MS), [checkAvailability]);
|
|
17881
|
-
|
|
18488
|
+
useEffect34(() => {
|
|
17882
18489
|
if (!currentNickname) return;
|
|
17883
18490
|
const normalizedInputValue = normalizeNickname(nicknameValue);
|
|
17884
18491
|
const { valid: isNicknameValid } = validateNickname(nicknameValue);
|
|
@@ -18067,6 +18674,20 @@ var init_NicknameEditForm = __esm({
|
|
|
18067
18674
|
}
|
|
18068
18675
|
});
|
|
18069
18676
|
|
|
18677
|
+
// src/internal/components/NicknameMenu/onboarding.setup.ts
|
|
18678
|
+
var NICKNAME_MENU_TOUR;
|
|
18679
|
+
var init_onboarding_setup6 = __esm({
|
|
18680
|
+
"src/internal/components/NicknameMenu/onboarding.setup.ts"() {
|
|
18681
|
+
NICKNAME_MENU_TOUR = [
|
|
18682
|
+
{
|
|
18683
|
+
elId: "embarkai-nickname-menu-onboarding" /* nicknameMenu */,
|
|
18684
|
+
title: "passport:nicknameMenu.onboarding.nicknameMenu.title",
|
|
18685
|
+
description: "passport:nicknameMenu.onboarding.nicknameMenu.description"
|
|
18686
|
+
}
|
|
18687
|
+
];
|
|
18688
|
+
}
|
|
18689
|
+
});
|
|
18690
|
+
|
|
18070
18691
|
// src/internal/components/NicknameMenu/NicknameMenu.tsx
|
|
18071
18692
|
import { useQuery as useQuery13 } from "@tanstack/react-query";
|
|
18072
18693
|
import dayjs4 from "dayjs";
|
|
@@ -18075,6 +18696,7 @@ import { jsx as jsx82, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
|
18075
18696
|
function NicknameMenu() {
|
|
18076
18697
|
const { isInitialUser } = usePageParams().current;
|
|
18077
18698
|
const { t } = useT();
|
|
18699
|
+
useOnboardingTourAvailable(true);
|
|
18078
18700
|
const address = useSession((st) => st.address);
|
|
18079
18701
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
18080
18702
|
const nicknameRenderKey = useNicknameStore((st) => st.renderKey);
|
|
@@ -18093,6 +18715,7 @@ function NicknameMenu() {
|
|
|
18093
18715
|
return /* @__PURE__ */ jsx82(
|
|
18094
18716
|
"div",
|
|
18095
18717
|
{
|
|
18718
|
+
ref: (inst) => onboarder.registerElement("embarkai-nickname-menu-onboarding" /* nicknameMenu */, inst),
|
|
18096
18719
|
style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
|
|
18097
18720
|
className: "list-scrollbar-y w-full",
|
|
18098
18721
|
children: /* @__PURE__ */ jsxs76(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
|
|
@@ -18175,6 +18798,7 @@ var init_NicknameMenu = __esm({
|
|
|
18175
18798
|
init_useLayoutStore();
|
|
18176
18799
|
init_nickname_cooldown();
|
|
18177
18800
|
init_Expandable2();
|
|
18801
|
+
init_Onboarding();
|
|
18178
18802
|
init_button();
|
|
18179
18803
|
init_highlight();
|
|
18180
18804
|
init_NicknameEditForm();
|
|
@@ -18186,6 +18810,7 @@ var init_NicknameMenu = __esm({
|
|
|
18186
18810
|
var init_NicknameMenu2 = __esm({
|
|
18187
18811
|
"src/internal/components/NicknameMenu/index.ts"() {
|
|
18188
18812
|
init_NicknameMenu();
|
|
18813
|
+
init_onboarding_setup6();
|
|
18189
18814
|
}
|
|
18190
18815
|
});
|
|
18191
18816
|
|
|
@@ -18504,7 +19129,7 @@ var init_utils8 = __esm({
|
|
|
18504
19129
|
// src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts
|
|
18505
19130
|
import { createBlockscoutClient as createBlockscoutClient2, nonBlockscoutClient } from "@embarkai/core";
|
|
18506
19131
|
import { useQuery as useQuery16, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
|
|
18507
|
-
import { useCallback as useCallback23, useMemo as useMemo10, useRef as
|
|
19132
|
+
import { useCallback as useCallback23, useMemo as useMemo10, useRef as useRef15 } from "react";
|
|
18508
19133
|
function useBlockscoutAssets(options) {
|
|
18509
19134
|
const { address, chainId, enabled = true, detectSecurityTokens = true } = options;
|
|
18510
19135
|
const qc = useQueryClient19();
|
|
@@ -18519,7 +19144,7 @@ function useBlockscoutAssets(options) {
|
|
|
18519
19144
|
() => blockscoutApiUrl ? createBlockscoutClient2({ baseUrl: blockscoutApiUrl }) : null,
|
|
18520
19145
|
[blockscoutApiUrl]
|
|
18521
19146
|
);
|
|
18522
|
-
const lastRefreshRef =
|
|
19147
|
+
const lastRefreshRef = useRef15(0);
|
|
18523
19148
|
const {
|
|
18524
19149
|
data: watchTokenAssets = [],
|
|
18525
19150
|
isLoading: watchTokensLoading,
|
|
@@ -19232,10 +19857,25 @@ var init_nickname_fingerprint = __esm({
|
|
|
19232
19857
|
}
|
|
19233
19858
|
});
|
|
19234
19859
|
|
|
19860
|
+
// src/internal/components/ReceiveMenu/onboarding.setup.ts
|
|
19861
|
+
var RECEIVE_MENU_ONBOARDING_ID, RECEIVE_MENU_TOUR;
|
|
19862
|
+
var init_onboarding_setup7 = __esm({
|
|
19863
|
+
"src/internal/components/ReceiveMenu/onboarding.setup.ts"() {
|
|
19864
|
+
RECEIVE_MENU_ONBOARDING_ID = "embarkai-receive-menu-onboarding";
|
|
19865
|
+
RECEIVE_MENU_TOUR = [
|
|
19866
|
+
{
|
|
19867
|
+
elId: RECEIVE_MENU_ONBOARDING_ID,
|
|
19868
|
+
title: "passport:receiveMenu.onboarding.receiveMenu.title",
|
|
19869
|
+
description: "passport:receiveMenu.onboarding.receiveMenu.description"
|
|
19870
|
+
}
|
|
19871
|
+
];
|
|
19872
|
+
}
|
|
19873
|
+
});
|
|
19874
|
+
|
|
19235
19875
|
// src/internal/components/ReceiveMenu/ReceiveMenu.tsx
|
|
19236
19876
|
import { ArrowLeft as ArrowLeft17, CheckCircle2 as CheckCircle23, Copy as Copy2, Info as Info5, Loader as Loader17, Shield } from "lucide-react";
|
|
19237
19877
|
import QRCode from "qrcode";
|
|
19238
|
-
import { useCallback as useCallback25, useEffect as
|
|
19878
|
+
import { useCallback as useCallback25, useEffect as useEffect35, useMemo as useMemo11, useState as useState21 } from "react";
|
|
19239
19879
|
import { Fragment as Fragment31, jsx as jsx86, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
19240
19880
|
function ReceiveMenu() {
|
|
19241
19881
|
const session = useSession((st) => st.session);
|
|
@@ -19249,6 +19889,7 @@ function ReceiveMenu() {
|
|
|
19249
19889
|
const [qrCodeUrl, setQrCodeUrl] = useState21("");
|
|
19250
19890
|
const [copied, setCopied] = useState21(false);
|
|
19251
19891
|
const [fingerprintCopied, setFingerprintCopied] = useState21(false);
|
|
19892
|
+
useOnboardingTourAvailable(true);
|
|
19252
19893
|
const fingerprint = useMemo11(() => {
|
|
19253
19894
|
if (!session?.ownerAddress) return null;
|
|
19254
19895
|
try {
|
|
@@ -19257,7 +19898,7 @@ function ReceiveMenu() {
|
|
|
19257
19898
|
return null;
|
|
19258
19899
|
}
|
|
19259
19900
|
}, [session?.ownerAddress]);
|
|
19260
|
-
|
|
19901
|
+
useEffect35(() => {
|
|
19261
19902
|
if (open && address) {
|
|
19262
19903
|
QRCode.toDataURL(address, {
|
|
19263
19904
|
width: 200,
|
|
@@ -19293,6 +19934,7 @@ function ReceiveMenu() {
|
|
|
19293
19934
|
return /* @__PURE__ */ jsxs80(
|
|
19294
19935
|
"div",
|
|
19295
19936
|
{
|
|
19937
|
+
ref: (inst) => onboarder.registerElement(RECEIVE_MENU_ONBOARDING_ID, inst),
|
|
19296
19938
|
style: {
|
|
19297
19939
|
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
19298
19940
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
@@ -19348,8 +19990,10 @@ var init_ReceiveMenu = __esm({
|
|
|
19348
19990
|
init_useLayoutDataStore();
|
|
19349
19991
|
init_useLayoutStore();
|
|
19350
19992
|
init_nickname_fingerprint();
|
|
19993
|
+
init_Onboarding();
|
|
19351
19994
|
init_button();
|
|
19352
19995
|
init_highlight();
|
|
19996
|
+
init_onboarding_setup7();
|
|
19353
19997
|
}
|
|
19354
19998
|
});
|
|
19355
19999
|
|
|
@@ -19357,6 +20001,82 @@ var init_ReceiveMenu = __esm({
|
|
|
19357
20001
|
var init_ReceiveMenu2 = __esm({
|
|
19358
20002
|
"src/internal/components/ReceiveMenu/index.ts"() {
|
|
19359
20003
|
init_ReceiveMenu();
|
|
20004
|
+
init_onboarding_setup7();
|
|
20005
|
+
}
|
|
20006
|
+
});
|
|
20007
|
+
|
|
20008
|
+
// src/internal/components/SecurityMenu/onboarding.setup.ts
|
|
20009
|
+
var CONNECTED_APPS_TOUR, KEYSHARE_TOUR, SECURITY_MENU_TOUR;
|
|
20010
|
+
var init_onboarding_setup8 = __esm({
|
|
20011
|
+
"src/internal/components/SecurityMenu/onboarding.setup.ts"() {
|
|
20012
|
+
init_Onboarding();
|
|
20013
|
+
CONNECTED_APPS_TOUR = [
|
|
20014
|
+
{
|
|
20015
|
+
elId: "embarkai-security-menu-connected-apps-onboarding" /* connectedApps */,
|
|
20016
|
+
title: "passport:securityMenu.onboarding.connectedApps.title",
|
|
20017
|
+
description: "passport:securityMenu.onboarding.connectedApps.description"
|
|
20018
|
+
}
|
|
20019
|
+
];
|
|
20020
|
+
KEYSHARE_TOUR = [
|
|
20021
|
+
{
|
|
20022
|
+
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20023
|
+
title: "passport:securityMenu.onboarding.keyshare.details.concept.title",
|
|
20024
|
+
description: "passport:securityMenu.onboarding.keyshare.details.concept.description"
|
|
20025
|
+
},
|
|
20026
|
+
{
|
|
20027
|
+
elId: "embarkai-security-menu-keyshare-details-server-onboarding" /* keyshareDetailsServer */,
|
|
20028
|
+
title: "passport:securityMenu.onboarding.keyshare.details.server.title",
|
|
20029
|
+
description: "passport:securityMenu.onboarding.keyshare.details.server.description"
|
|
20030
|
+
},
|
|
20031
|
+
{
|
|
20032
|
+
elId: "embarkai-security-menu-keyshare-details-local-onboarding" /* keyshareDetailsLocal */,
|
|
20033
|
+
title: "passport:securityMenu.onboarding.keyshare.details.local.title",
|
|
20034
|
+
description: "passport:securityMenu.onboarding.keyshare.details.local.description"
|
|
20035
|
+
},
|
|
20036
|
+
{
|
|
20037
|
+
elId: "embarkai-security-menu-keyshare-details-vault-onboarding" /* keyshareDetailsVault */,
|
|
20038
|
+
title: "passport:securityMenu.onboarding.keyshare.details.vault.title",
|
|
20039
|
+
description: "passport:securityMenu.onboarding.keyshare.details.vault.description"
|
|
20040
|
+
},
|
|
20041
|
+
{
|
|
20042
|
+
elId: "embarkai-security-menu-keyshare-existing-backup-onboarding" /* keyshareExistingVaultBkp */,
|
|
20043
|
+
title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
|
|
20044
|
+
description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
|
|
20045
|
+
},
|
|
20046
|
+
...CONNECTED_APPS_TOUR
|
|
20047
|
+
];
|
|
20048
|
+
SECURITY_MENU_TOUR = [
|
|
20049
|
+
{
|
|
20050
|
+
elId: "embarkai-security-menu-onboarding" /* securityMenu */,
|
|
20051
|
+
title: "passport:securityMenu.onboarding.securityMenu.title",
|
|
20052
|
+
description: "passport:securityMenu.onboarding.securityMenu.description"
|
|
20053
|
+
},
|
|
20054
|
+
/** KEYSHARE */
|
|
20055
|
+
{
|
|
20056
|
+
elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
|
|
20057
|
+
title: "passport:securityMenu.onboarding.keyshare.title",
|
|
20058
|
+
description: "passport:securityMenu.onboarding.keyshare.description",
|
|
20059
|
+
actions: [
|
|
20060
|
+
{
|
|
20061
|
+
caption: "passport:securityMenu.onboarding.keyshare.detailsButton",
|
|
20062
|
+
onClick: () => {
|
|
20063
|
+
onboarder.endTour();
|
|
20064
|
+
setTimeout(() => onboarder.startTour(KEYSHARE_TOUR), 220);
|
|
20065
|
+
}
|
|
20066
|
+
},
|
|
20067
|
+
{
|
|
20068
|
+
caption: "passport:common.continue",
|
|
20069
|
+
onClick: () => onboarder.next()
|
|
20070
|
+
}
|
|
20071
|
+
]
|
|
20072
|
+
},
|
|
20073
|
+
{
|
|
20074
|
+
elId: "embarkai-security-menu-keyshare-existing-backup-onboarding" /* keyshareExistingVaultBkp */,
|
|
20075
|
+
title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
|
|
20076
|
+
description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
|
|
20077
|
+
},
|
|
20078
|
+
...CONNECTED_APPS_TOUR
|
|
20079
|
+
];
|
|
19360
20080
|
}
|
|
19361
20081
|
});
|
|
19362
20082
|
|
|
@@ -19416,7 +20136,7 @@ var init_useConnectedApps = __esm({
|
|
|
19416
20136
|
// src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx
|
|
19417
20137
|
import dayjs5 from "dayjs";
|
|
19418
20138
|
import { AppWindowMac, ExternalLinkIcon as ExternalLinkIcon2, InfoIcon as InfoIcon4, LoaderIcon as LoaderIcon10, ShieldBanIcon, ShieldCheckIcon } from "lucide-react";
|
|
19419
|
-
import { useEffect as
|
|
20139
|
+
import { useEffect as useEffect36 } from "react";
|
|
19420
20140
|
import { Fragment as Fragment32, jsx as jsx87, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
19421
20141
|
function Application(props) {
|
|
19422
20142
|
const {
|
|
@@ -19516,27 +20236,43 @@ function Application(props) {
|
|
|
19516
20236
|
function ConnectedApps() {
|
|
19517
20237
|
const { t } = useT();
|
|
19518
20238
|
const { data: connectedApps = [], isLoading: isConnectedAppsLoading } = useConnectedApps();
|
|
19519
|
-
|
|
20239
|
+
useEffect36(() => {
|
|
19520
20240
|
if (!connectedApps.length || isConnectedAppsLoading) return;
|
|
19521
20241
|
useSecurityStore.getState().setRenderKey(`connected-apps-loaded-${Date.now()}`);
|
|
19522
20242
|
}, [connectedApps, isConnectedAppsLoading]);
|
|
19523
20243
|
if (!isConnectedAppsLoading && connectedApps.length === 0)
|
|
19524
|
-
return /* @__PURE__ */ jsxs81(
|
|
19525
|
-
|
|
19526
|
-
|
|
19527
|
-
|
|
20244
|
+
return /* @__PURE__ */ jsxs81(
|
|
20245
|
+
Highlight,
|
|
20246
|
+
{
|
|
20247
|
+
ref: (inst) => onboarder.registerElement("embarkai-security-menu-connected-apps-onboarding" /* connectedApps */, inst),
|
|
20248
|
+
type: "info",
|
|
20249
|
+
className: "flex gap-[var(--ui-kit-gap)] ",
|
|
20250
|
+
children: [
|
|
20251
|
+
/* @__PURE__ */ jsx87(InfoIcon4, { className: "w-4 h-4" }),
|
|
20252
|
+
/* @__PURE__ */ jsx87("span", { children: t("passport:securityMenu.connectedApps.noConnectedApps") })
|
|
20253
|
+
]
|
|
20254
|
+
}
|
|
20255
|
+
);
|
|
19528
20256
|
return /* @__PURE__ */ jsxs81(Fragment32, { children: [
|
|
19529
20257
|
/* @__PURE__ */ jsxs81("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
19530
20258
|
/* @__PURE__ */ jsx87("span", { className: "leading-4 text-xs", children: t("passport:securityMenu.connectedApps.connectedApps") }),
|
|
19531
20259
|
isConnectedAppsLoading && /* @__PURE__ */ jsx87(LoaderIcon10, { className: "h-4 w-4 animate-spin" })
|
|
19532
20260
|
] }),
|
|
19533
|
-
/* @__PURE__ */ jsx87(
|
|
20261
|
+
/* @__PURE__ */ jsx87(
|
|
20262
|
+
"div",
|
|
20263
|
+
{
|
|
20264
|
+
ref: (inst) => onboarder.registerElement("embarkai-security-menu-connected-apps-onboarding" /* connectedApps */, inst),
|
|
20265
|
+
className: "w-full flex flex-col gap-[var(--ui-kit-gap)]",
|
|
20266
|
+
children: connectedApps.map((app, index) => /* @__PURE__ */ jsx87(Application, { ...app }, index))
|
|
20267
|
+
}
|
|
20268
|
+
)
|
|
19534
20269
|
] });
|
|
19535
20270
|
}
|
|
19536
20271
|
var init_ConnectedApps = __esm({
|
|
19537
20272
|
"src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx"() {
|
|
19538
20273
|
init_utils2();
|
|
19539
20274
|
init_i18n();
|
|
20275
|
+
init_Onboarding();
|
|
19540
20276
|
init_button();
|
|
19541
20277
|
init_highlight();
|
|
19542
20278
|
init_useSecurityStore();
|
|
@@ -19652,42 +20388,44 @@ var init_ConnectedApps2 = __esm({
|
|
|
19652
20388
|
|
|
19653
20389
|
// src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
|
|
19654
20390
|
import { Loader as Loader19 } from "lucide-react";
|
|
20391
|
+
import { forwardRef as forwardRef5 } from "react";
|
|
19655
20392
|
import { jsx as jsx89, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
19656
|
-
|
|
19657
|
-
const { isLoading, content, icon: Icon2, children } = props;
|
|
19658
|
-
if (isLoading) return /* @__PURE__ */ jsx89(Loader19, { className: "w-4 h-4 animate-spin" });
|
|
19659
|
-
return /* @__PURE__ */ jsxs83("div", { className: "group relative w-full h-full", children: [
|
|
19660
|
-
children,
|
|
19661
|
-
/* @__PURE__ */ jsx89(
|
|
19662
|
-
"div",
|
|
19663
|
-
{
|
|
19664
|
-
className: cn(
|
|
19665
|
-
"absolute -top-2 -right-2 w-6 h-6 flex items-center justify-center",
|
|
19666
|
-
"rounded-full bg-[var(--ui-kit-bg)]"
|
|
19667
|
-
// 'border border-[var(--ui-kit-bd)]'
|
|
19668
|
-
),
|
|
19669
|
-
children: /* @__PURE__ */ jsx89(Icon2, { className: "w-4 h-4" })
|
|
19670
|
-
}
|
|
19671
|
-
),
|
|
19672
|
-
/* @__PURE__ */ jsx89(
|
|
19673
|
-
"div",
|
|
19674
|
-
{
|
|
19675
|
-
style: { transform: "translateY(calc(var(--ui-kit-gap) * -4))" },
|
|
19676
|
-
className: cn(
|
|
19677
|
-
"transition-opacity pointer-events-none z-50",
|
|
19678
|
-
"absolute top-0 right-0 max-w-full",
|
|
19679
|
-
"px-2 py-1 bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)] text-[10px] rounded-[var(--ui-kit-el-bdrs)]",
|
|
19680
|
-
"border border-[var(--ui-kit-bd)]",
|
|
19681
|
-
"opacity-0 group-hover:opacity-100"
|
|
19682
|
-
),
|
|
19683
|
-
children: content
|
|
19684
|
-
}
|
|
19685
|
-
)
|
|
19686
|
-
] });
|
|
19687
|
-
}
|
|
20393
|
+
var KeyshareStatus;
|
|
19688
20394
|
var init_KeyshareStatus = __esm({
|
|
19689
20395
|
"src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx"() {
|
|
19690
20396
|
init_utils2();
|
|
20397
|
+
KeyshareStatus = forwardRef5((props, ref) => {
|
|
20398
|
+
const { isLoading, content, icon: Icon2, children } = props;
|
|
20399
|
+
if (isLoading) return /* @__PURE__ */ jsx89(Loader19, { className: "w-4 h-4 animate-spin" });
|
|
20400
|
+
return /* @__PURE__ */ jsxs83("div", { ref, className: "group relative w-full h-full", children: [
|
|
20401
|
+
children,
|
|
20402
|
+
/* @__PURE__ */ jsx89(
|
|
20403
|
+
"div",
|
|
20404
|
+
{
|
|
20405
|
+
className: cn(
|
|
20406
|
+
"absolute -top-2 -right-2 w-6 h-6 flex items-center justify-center",
|
|
20407
|
+
"rounded-full bg-[var(--ui-kit-bg)]"
|
|
20408
|
+
// 'border border-[var(--ui-kit-bd)]'
|
|
20409
|
+
),
|
|
20410
|
+
children: /* @__PURE__ */ jsx89(Icon2, { className: "w-4 h-4" })
|
|
20411
|
+
}
|
|
20412
|
+
),
|
|
20413
|
+
/* @__PURE__ */ jsx89(
|
|
20414
|
+
"div",
|
|
20415
|
+
{
|
|
20416
|
+
style: { transform: "translateY(calc(var(--ui-kit-gap) * -4))" },
|
|
20417
|
+
className: cn(
|
|
20418
|
+
"transition-opacity pointer-events-none z-50",
|
|
20419
|
+
"absolute top-0 right-0 max-w-full",
|
|
20420
|
+
"px-2 py-1 bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)] text-[10px] rounded-[var(--ui-kit-el-bdrs)]",
|
|
20421
|
+
"border border-[var(--ui-kit-bd)]",
|
|
20422
|
+
"opacity-0 group-hover:opacity-100"
|
|
20423
|
+
),
|
|
20424
|
+
children: content
|
|
20425
|
+
}
|
|
20426
|
+
)
|
|
20427
|
+
] });
|
|
20428
|
+
});
|
|
19691
20429
|
}
|
|
19692
20430
|
});
|
|
19693
20431
|
|
|
@@ -19720,24 +20458,33 @@ function LastBackup(props) {
|
|
|
19720
20458
|
} = createdRecoveryStats || {};
|
|
19721
20459
|
const hasBackupData = backup?.server?.enabled && backup.server.lastBackup || !backup.server.lastBackup && recoveryCreatedAt || backup.cloud.enabled && backup.cloud?.lastBackup || backup.local.enabled && backup.local.lastBackup;
|
|
19722
20460
|
if (!hasBackupData || !createdRecoveryStats) return null;
|
|
19723
|
-
return /* @__PURE__ */ jsxs84(
|
|
19724
|
-
|
|
19725
|
-
|
|
19726
|
-
|
|
19727
|
-
|
|
19728
|
-
|
|
19729
|
-
|
|
19730
|
-
|
|
19731
|
-
|
|
19732
|
-
|
|
19733
|
-
|
|
19734
|
-
|
|
19735
|
-
|
|
19736
|
-
|
|
20461
|
+
return /* @__PURE__ */ jsxs84(
|
|
20462
|
+
Highlight,
|
|
20463
|
+
{
|
|
20464
|
+
ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-existing-backup-onboarding" /* keyshareExistingVaultBkp */, inst),
|
|
20465
|
+
type: "info",
|
|
20466
|
+
className: "text-[10px] leading-4",
|
|
20467
|
+
children: [
|
|
20468
|
+
/* @__PURE__ */ jsxs84("span", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
20469
|
+
/* @__PURE__ */ jsx90(DatabaseBackup, { className: "w-4 h-4 flex-none" }),
|
|
20470
|
+
/* @__PURE__ */ jsx90("span", { className: "font-medium text-xs", children: t("passport:securityMenu.lastBackup") })
|
|
20471
|
+
] }),
|
|
20472
|
+
recoveryCreatedAt && /* @__PURE__ */ jsxs84(Fragment33, { children: [
|
|
20473
|
+
/* @__PURE__ */ jsx90("span", { className: "block font-mono! ", children: t("passport:securityMenu.lastBackupMeta", {
|
|
20474
|
+
browser: cleanStringArtifacts(recoveryBrowser || "unknown"),
|
|
20475
|
+
os: parseOS(recoveryUa) || "unknown os",
|
|
20476
|
+
deviceName: cleanStringArtifacts(recoveryDeviceName || recoveryDeviceId || "")
|
|
20477
|
+
}) }),
|
|
20478
|
+
/* @__PURE__ */ jsx90("span", { className: "block font-mono! text-[var(--ui-kit-fg-muted)]", children: dayjs6(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") })
|
|
20479
|
+
] })
|
|
20480
|
+
]
|
|
20481
|
+
}
|
|
20482
|
+
);
|
|
19737
20483
|
}
|
|
19738
20484
|
var init_LastBackup = __esm({
|
|
19739
20485
|
"src/internal/components/SecurityMenu/Keyshare/LastBackup.tsx"() {
|
|
19740
20486
|
init_useT();
|
|
20487
|
+
init_Onboarding();
|
|
19741
20488
|
init_highlight();
|
|
19742
20489
|
{
|
|
19743
20490
|
}
|
|
@@ -19779,15 +20526,15 @@ var init_useKeyshareRecoveryStats = __esm({
|
|
|
19779
20526
|
});
|
|
19780
20527
|
|
|
19781
20528
|
// src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
|
|
19782
|
-
import { Cloud as Cloud3, Laptop, LoaderIcon as LoaderIcon11, Server as Server2 } from "lucide-react";
|
|
19783
|
-
import { useEffect as
|
|
20529
|
+
import { Cloud as Cloud3, DatabaseBackupIcon, Laptop, LoaderIcon as LoaderIcon11, Server as Server2 } from "lucide-react";
|
|
20530
|
+
import { useEffect as useEffect37 } from "react";
|
|
19784
20531
|
import { Fragment as Fragment34, jsx as jsx91, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
19785
20532
|
function Keyshare() {
|
|
19786
20533
|
const userId = useSession((st) => st?.session?.mpcUserId);
|
|
19787
20534
|
const { t } = useT();
|
|
19788
20535
|
const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
|
|
19789
20536
|
const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
|
|
19790
|
-
|
|
20537
|
+
useEffect37(() => {
|
|
19791
20538
|
if (!recoveryData?.keyshareInfo || isRecoveryLoading) return;
|
|
19792
20539
|
useSecurityStore.getState().setRenderKey(`keyshare-loaded-${Date.now()}`);
|
|
19793
20540
|
}, [recoveryData, isRecoveryLoading]);
|
|
@@ -19801,63 +20548,86 @@ function Keyshare() {
|
|
|
19801
20548
|
isRecoveryLoading && /* @__PURE__ */ jsx91(LoaderIcon11, { className: "h-4 w-4 animate-spin" })
|
|
19802
20549
|
] }),
|
|
19803
20550
|
!isRecoveryLoading && /* @__PURE__ */ jsxs85(Fragment34, { children: [
|
|
19804
|
-
/* @__PURE__ */ jsxs85(
|
|
19805
|
-
|
|
19806
|
-
|
|
19807
|
-
|
|
19808
|
-
|
|
19809
|
-
|
|
19810
|
-
|
|
19811
|
-
|
|
20551
|
+
/* @__PURE__ */ jsxs85(
|
|
20552
|
+
"div",
|
|
20553
|
+
{
|
|
20554
|
+
ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-onboarding" /* keyshare */, inst),
|
|
20555
|
+
className: "grid grid-cols-3 gap-[var(--ui-kit-gap)] px-[var(--ui-kit-gap)]",
|
|
20556
|
+
children: [
|
|
20557
|
+
/* @__PURE__ */ jsx91(
|
|
20558
|
+
KeyshareStatus,
|
|
19812
20559
|
{
|
|
19813
|
-
|
|
19814
|
-
|
|
19815
|
-
|
|
19816
|
-
|
|
19817
|
-
|
|
19818
|
-
|
|
20560
|
+
ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-details-server-onboarding" /* keyshareDetailsServer */, inst),
|
|
20561
|
+
icon: serverHasKeyshare ? PositiveIcon : NegativeIcon,
|
|
20562
|
+
content: serverHasKeyshare ? t("passport:securityMenu.keyshareStatus.serverReady") : t("passport:securityMenu.keyshareStatus.serverMissing"),
|
|
20563
|
+
children: /* @__PURE__ */ jsxs85(
|
|
20564
|
+
Highlight,
|
|
20565
|
+
{
|
|
20566
|
+
type: serverHasKeyshare ? "success" : "warning",
|
|
20567
|
+
className: "w-full h-full flex flex-col items-center gap-0",
|
|
20568
|
+
children: [
|
|
20569
|
+
/* @__PURE__ */ jsx91(Cloud3, { className: "h-6 w-6" }),
|
|
20570
|
+
/* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Server Share" })
|
|
20571
|
+
]
|
|
20572
|
+
}
|
|
20573
|
+
)
|
|
19819
20574
|
}
|
|
19820
|
-
)
|
|
19821
|
-
|
|
19822
|
-
|
|
19823
|
-
/* @__PURE__ */ jsx91(
|
|
19824
|
-
KeyshareStatus,
|
|
19825
|
-
{
|
|
19826
|
-
content: localInfo?.hasKeyshare ? t("passport:securityMenu.keyshareStatus.localReady") : t("passport:securityMenu.keyshareStatus.localMissing"),
|
|
19827
|
-
icon: localInfo?.hasKeyshare ? PositiveIcon : NegativeIcon,
|
|
19828
|
-
children: /* @__PURE__ */ jsxs85(
|
|
19829
|
-
Highlight,
|
|
20575
|
+
),
|
|
20576
|
+
/* @__PURE__ */ jsx91(
|
|
20577
|
+
KeyshareStatus,
|
|
19830
20578
|
{
|
|
19831
|
-
|
|
19832
|
-
|
|
19833
|
-
|
|
19834
|
-
|
|
19835
|
-
|
|
19836
|
-
|
|
20579
|
+
ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-details-local-onboarding" /* keyshareDetailsLocal */, inst),
|
|
20580
|
+
icon: localInfo?.hasKeyshare ? PositiveIcon : NegativeIcon,
|
|
20581
|
+
content: localInfo?.hasKeyshare ? t("passport:securityMenu.keyshareStatus.localReady") : t("passport:securityMenu.keyshareStatus.localMissing"),
|
|
20582
|
+
children: /* @__PURE__ */ jsxs85(
|
|
20583
|
+
Highlight,
|
|
20584
|
+
{
|
|
20585
|
+
type: localInfo?.hasKeyshare ? "success" : "warning",
|
|
20586
|
+
className: "w-full h-full flex flex-col items-center gap-0",
|
|
20587
|
+
children: [
|
|
20588
|
+
/* @__PURE__ */ jsx91(Laptop, { className: "h-6 w-6" }),
|
|
20589
|
+
/* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Local Share" })
|
|
20590
|
+
]
|
|
20591
|
+
}
|
|
20592
|
+
)
|
|
19837
20593
|
}
|
|
19838
|
-
)
|
|
19839
|
-
|
|
19840
|
-
|
|
19841
|
-
/* @__PURE__ */ jsx91(
|
|
19842
|
-
KeyshareStatus,
|
|
19843
|
-
{
|
|
19844
|
-
content: hasServerBackup ? t("passport:securityMenu.keyshareStatus.valutBackupCreated") : t("passport:securityMenu.keyshareStatus.valutBackupMissing"),
|
|
19845
|
-
icon: hasServerBackup ? PositiveIcon : NegativeIcon,
|
|
19846
|
-
children: /* @__PURE__ */ jsxs85(
|
|
19847
|
-
Highlight,
|
|
20594
|
+
),
|
|
20595
|
+
/* @__PURE__ */ jsx91(
|
|
20596
|
+
KeyshareStatus,
|
|
19848
20597
|
{
|
|
19849
|
-
|
|
19850
|
-
|
|
19851
|
-
|
|
19852
|
-
|
|
19853
|
-
|
|
19854
|
-
|
|
20598
|
+
ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-details-vault-onboarding" /* keyshareDetailsVault */, inst),
|
|
20599
|
+
icon: hasServerBackup ? PositiveIcon : NegativeIcon,
|
|
20600
|
+
content: hasServerBackup ? t("passport:securityMenu.keyshareStatus.valutBackupCreated") : t("passport:securityMenu.keyshareStatus.valutBackupMissing"),
|
|
20601
|
+
children: /* @__PURE__ */ jsxs85(
|
|
20602
|
+
Highlight,
|
|
20603
|
+
{
|
|
20604
|
+
type: hasServerBackup ? "success" : "warning",
|
|
20605
|
+
className: "w-full h-full flex flex-col items-center gap-0",
|
|
20606
|
+
children: [
|
|
20607
|
+
/* @__PURE__ */ jsx91(Server2, { className: "h-6 w-6" }),
|
|
20608
|
+
/* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Vault Backup" })
|
|
20609
|
+
]
|
|
20610
|
+
}
|
|
20611
|
+
)
|
|
19855
20612
|
}
|
|
19856
20613
|
)
|
|
19857
|
-
|
|
19858
|
-
|
|
19859
|
-
|
|
19860
|
-
/* @__PURE__ */ jsx91(LastBackup, { backup, createdRecoveryStats })
|
|
20614
|
+
]
|
|
20615
|
+
}
|
|
20616
|
+
),
|
|
20617
|
+
/* @__PURE__ */ jsx91(LastBackup, { backup, createdRecoveryStats }),
|
|
20618
|
+
/* @__PURE__ */ jsxs85(
|
|
20619
|
+
Button,
|
|
20620
|
+
{
|
|
20621
|
+
variant: "secondary",
|
|
20622
|
+
size: "medium",
|
|
20623
|
+
className: "w-full",
|
|
20624
|
+
onClick: () => useLayoutDataStore.getState().setPage("keysare-backup" /* KEYSARE_BACKUP */),
|
|
20625
|
+
children: [
|
|
20626
|
+
/* @__PURE__ */ jsx91(DatabaseBackupIcon, { className: "h-4 w-4" }),
|
|
20627
|
+
t("passport:backupMenu.title")
|
|
20628
|
+
]
|
|
20629
|
+
}
|
|
20630
|
+
)
|
|
19861
20631
|
] })
|
|
19862
20632
|
] });
|
|
19863
20633
|
}
|
|
@@ -19867,7 +20637,10 @@ var init_Keyshare = __esm({
|
|
|
19867
20637
|
init_useT();
|
|
19868
20638
|
init_icons();
|
|
19869
20639
|
init_auth();
|
|
20640
|
+
init_useLayoutDataStore();
|
|
19870
20641
|
init_vaultClient();
|
|
20642
|
+
init_Onboarding();
|
|
20643
|
+
init_button();
|
|
19871
20644
|
init_highlight();
|
|
19872
20645
|
init_useSecurityStore();
|
|
19873
20646
|
init_KeyshareStatus();
|
|
@@ -19896,9 +20669,11 @@ function SecurityMenu() {
|
|
|
19896
20669
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
19897
20670
|
const appToUntrust = useSecurityStore((st) => st.appToUntrust);
|
|
19898
20671
|
const renderKey = useSecurityStore((st) => st.renderKey);
|
|
20672
|
+
useOnboardingTourAvailable(!appToUntrust);
|
|
19899
20673
|
return /* @__PURE__ */ jsx92(
|
|
19900
20674
|
"div",
|
|
19901
20675
|
{
|
|
20676
|
+
ref: (inst) => onboarder.registerElement("embarkai-security-menu-onboarding" /* securityMenu */, inst),
|
|
19902
20677
|
style: {
|
|
19903
20678
|
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
19904
20679
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
@@ -19941,6 +20716,7 @@ var init_SecurityMenu = __esm({
|
|
|
19941
20716
|
init_useLayoutDataStore();
|
|
19942
20717
|
init_useLayoutStore();
|
|
19943
20718
|
init_Expandable2();
|
|
20719
|
+
init_Onboarding();
|
|
19944
20720
|
init_button();
|
|
19945
20721
|
init_ConnectedApps2();
|
|
19946
20722
|
init_Keyshare2();
|
|
@@ -19954,6 +20730,7 @@ var init_SecurityMenu2 = __esm({
|
|
|
19954
20730
|
init_SecurityMenu();
|
|
19955
20731
|
init_ConnectedApps2();
|
|
19956
20732
|
init_Keyshare2();
|
|
20733
|
+
init_onboarding_setup8();
|
|
19957
20734
|
}
|
|
19958
20735
|
});
|
|
19959
20736
|
|
|
@@ -20193,7 +20970,7 @@ var init_useBridgeStore = __esm({
|
|
|
20193
20970
|
// src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx
|
|
20194
20971
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
20195
20972
|
import { useMutation as useMutation19 } from "@tanstack/react-query";
|
|
20196
|
-
import { useEffect as
|
|
20973
|
+
import { useEffect as useEffect38, useRef as useRef16, useState as useState22 } from "react";
|
|
20197
20974
|
import { useSignMessage } from "wagmi";
|
|
20198
20975
|
import { jsx as jsx93, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
20199
20976
|
function SenderSelector(props) {
|
|
@@ -20204,12 +20981,12 @@ function SenderSelector(props) {
|
|
|
20204
20981
|
const { openConnectModal } = useConnectModal();
|
|
20205
20982
|
const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
|
|
20206
20983
|
const directWalletIsConnected = useExternalWalletStore((st) => st.isExternalConnected);
|
|
20207
|
-
const pendingWalletRef =
|
|
20984
|
+
const pendingWalletRef = useRef16(null);
|
|
20208
20985
|
const originChain = useBridgeStore((st) => st.originChain);
|
|
20209
20986
|
const bridgeSender = useBridgeStore((st) => st.bridgeSender);
|
|
20210
20987
|
const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
|
|
20211
20988
|
const [walletMessage, setWalletMessage] = useState22(null);
|
|
20212
|
-
|
|
20989
|
+
useEffect38(() => {
|
|
20213
20990
|
useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
|
|
20214
20991
|
}, [walletMessage]);
|
|
20215
20992
|
const { mutate: loginDirectWallet, isPending: isDirectWalletLoggingIn } = useMutation19({
|
|
@@ -20265,7 +21042,7 @@ function SenderSelector(props) {
|
|
|
20265
21042
|
setWalletMessage(error instanceof Error ? error.message : "Wallet login failed. Please try again.");
|
|
20266
21043
|
}
|
|
20267
21044
|
});
|
|
20268
|
-
|
|
21045
|
+
useEffect38(() => {
|
|
20269
21046
|
const pendingProfile = pendingWalletRef.current;
|
|
20270
21047
|
if (!pendingProfile || !directWalletIsConnected || !directWalletAddress) return;
|
|
20271
21048
|
if (directWalletAddress.toLowerCase() !== pendingProfile.externalId?.toLowerCase()) return;
|
|
@@ -20454,12 +21231,12 @@ var init_wallets = __esm({
|
|
|
20454
21231
|
});
|
|
20455
21232
|
|
|
20456
21233
|
// src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts
|
|
20457
|
-
import { useEffect as
|
|
21234
|
+
import { useEffect as useEffect39, useRef as useRef17 } from "react";
|
|
20458
21235
|
function useAvailableSenders() {
|
|
20459
21236
|
const address = useSession((st) => st.address);
|
|
20460
21237
|
const { profiles } = useLinkedProfiles();
|
|
20461
|
-
const lastCalcedSenders =
|
|
20462
|
-
|
|
21238
|
+
const lastCalcedSenders = useRef17([]);
|
|
21239
|
+
useEffect39(() => {
|
|
20463
21240
|
const sendersAccumulator = [
|
|
20464
21241
|
{
|
|
20465
21242
|
type: "embarkai-wallet",
|
|
@@ -20826,7 +21603,7 @@ var init_utils9 = __esm({
|
|
|
20826
21603
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts
|
|
20827
21604
|
import { useInfiniteQuery as useInfiniteQuery3 } from "@tanstack/react-query";
|
|
20828
21605
|
import { debounce as debounce7 } from "lodash-es";
|
|
20829
|
-
import { useCallback as useCallback26, useEffect as
|
|
21606
|
+
import { useCallback as useCallback26, useEffect as useEffect40, useMemo as useMemo12 } from "react";
|
|
20830
21607
|
function useHyperlaneHistory() {
|
|
20831
21608
|
const address = useSession((st) => st.address);
|
|
20832
21609
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -20852,7 +21629,7 @@ function useHyperlaneHistory() {
|
|
|
20852
21629
|
}, 250),
|
|
20853
21630
|
[]
|
|
20854
21631
|
);
|
|
20855
|
-
|
|
21632
|
+
useEffect40(() => {
|
|
20856
21633
|
if (isBridgeTxHistoryLoading || txList.length === 0) return;
|
|
20857
21634
|
updateExpandable();
|
|
20858
21635
|
}, [isBridgeTxHistoryLoading, txList]);
|
|
@@ -21092,7 +21869,7 @@ var init_useBridge = __esm({
|
|
|
21092
21869
|
|
|
21093
21870
|
// src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts
|
|
21094
21871
|
import { useQuery as useQuery20 } from "@tanstack/react-query";
|
|
21095
|
-
import { useEffect as
|
|
21872
|
+
import { useEffect as useEffect41 } from "react";
|
|
21096
21873
|
function useHyperlaneRoutes() {
|
|
21097
21874
|
const address = useSession((st) => st.address);
|
|
21098
21875
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -21112,7 +21889,7 @@ function useHyperlaneRoutes() {
|
|
|
21112
21889
|
return warpRoutes;
|
|
21113
21890
|
}
|
|
21114
21891
|
});
|
|
21115
|
-
|
|
21892
|
+
useEffect41(() => {
|
|
21116
21893
|
if (!errorWarpRoutes) return;
|
|
21117
21894
|
useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
|
|
21118
21895
|
const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
|
|
@@ -21121,7 +21898,7 @@ function useHyperlaneRoutes() {
|
|
|
21121
21898
|
setOriginChain(null);
|
|
21122
21899
|
setDestinationChain(null);
|
|
21123
21900
|
}, [errorWarpRoutes]);
|
|
21124
|
-
|
|
21901
|
+
useEffect41(() => {
|
|
21125
21902
|
if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
|
|
21126
21903
|
const warpRouteToAutoSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
|
|
21127
21904
|
if (!warpRouteToAutoSelect) return;
|
|
@@ -21154,13 +21931,13 @@ var init_useHyperlaneRoutes = __esm({
|
|
|
21154
21931
|
});
|
|
21155
21932
|
|
|
21156
21933
|
// src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts
|
|
21157
|
-
import { useEffect as
|
|
21934
|
+
import { useEffect as useEffect42 } from "react";
|
|
21158
21935
|
function useMenuTitle(warpRoutes) {
|
|
21159
21936
|
const { t } = useT();
|
|
21160
21937
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
21161
21938
|
const hyperRoute = useBridgeStore((st) => st.hyperRoute);
|
|
21162
21939
|
const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
|
|
21163
|
-
|
|
21940
|
+
useEffect42(() => {
|
|
21164
21941
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
21165
21942
|
switch (true) {
|
|
21166
21943
|
case bridgeStep === "sender-selector":
|
|
@@ -21210,8 +21987,6 @@ var init_useSendStore = __esm({
|
|
|
21210
21987
|
//
|
|
21211
21988
|
txStep: "input",
|
|
21212
21989
|
//
|
|
21213
|
-
// sendError: null,
|
|
21214
|
-
//
|
|
21215
21990
|
setRecipient: (recipient) => {
|
|
21216
21991
|
useFlowSelectorStore.getState().setError(null);
|
|
21217
21992
|
set({ recipient });
|
|
@@ -21230,14 +22005,16 @@ var init_useSendStore = __esm({
|
|
|
21230
22005
|
useFlowSelectorStore.getState().setError(null);
|
|
21231
22006
|
useFlowSelectorStore.getState().setRenderKey(`send-${txStep}-${Date.now()}`);
|
|
21232
22007
|
set({ txStep });
|
|
21233
|
-
}
|
|
22008
|
+
},
|
|
22009
|
+
/** RESET */
|
|
22010
|
+
reset: () => set({ recipient: "", amount: "", selectedAsset: null, txStep: "input" })
|
|
21234
22011
|
}));
|
|
21235
22012
|
}
|
|
21236
22013
|
});
|
|
21237
22014
|
|
|
21238
22015
|
// src/internal/components/SendMenu/onboarding.setup.ts
|
|
21239
22016
|
var TOUR_SEND_ASSET, TOUR_BRIDGE_QUOTE, SEND_MENU_TOUR, BRIDGE_MENU_TOUR;
|
|
21240
|
-
var
|
|
22017
|
+
var init_onboarding_setup9 = __esm({
|
|
21241
22018
|
"src/internal/components/SendMenu/onboarding.setup.ts"() {
|
|
21242
22019
|
init_useBridgeStore();
|
|
21243
22020
|
init_useSendStore();
|
|
@@ -21274,6 +22051,8 @@ var init_onboarding_setup2 = __esm({
|
|
|
21274
22051
|
elId: "sendmenu-crypto-summary" /* sendCryptoSummary */,
|
|
21275
22052
|
title: "passport:sendMenu.onboarding.sendCryptoSummary.title",
|
|
21276
22053
|
description: "passport:sendMenu.onboarding.sendCryptoSummary.description",
|
|
22054
|
+
forced: true,
|
|
22055
|
+
// no hide button for this step, user must click "Next" to proceed
|
|
21277
22056
|
onNext: () => {
|
|
21278
22057
|
const { setAmount, setRecipient, setSelectedAsset, setTxStep } = useSendStore.getState();
|
|
21279
22058
|
setTxStep("input");
|
|
@@ -21281,11 +22060,6 @@ var init_onboarding_setup2 = __esm({
|
|
|
21281
22060
|
setAmount("");
|
|
21282
22061
|
setSelectedAsset(null);
|
|
21283
22062
|
}
|
|
21284
|
-
},
|
|
21285
|
-
{
|
|
21286
|
-
elId: "sendmenu-tour-button" /* tourButton */,
|
|
21287
|
-
title: "passport:common.onboarding.tourButton.title",
|
|
21288
|
-
description: "passport:common.onboarding.tourButton.description"
|
|
21289
22063
|
}
|
|
21290
22064
|
];
|
|
21291
22065
|
BRIDGE_MENU_TOUR = [
|
|
@@ -21336,16 +22110,13 @@ var init_onboarding_setup2 = __esm({
|
|
|
21336
22110
|
elId: "bridgemenu-crypto-menu-estimate-details-menu" /* bridgeEstimatedQuoteMenu */,
|
|
21337
22111
|
title: "passport:bridgeMenu.onboarding.bridgeEstimatedQuoteMenu.title",
|
|
21338
22112
|
description: "passport:bridgeMenu.onboarding.bridgeEstimatedQuoteMenu.description",
|
|
22113
|
+
forced: true,
|
|
22114
|
+
// no hide button for this step, user must click "Next" to proceed
|
|
21339
22115
|
onNext: () => {
|
|
21340
22116
|
const { setQuote, setBridgeStep } = useBridgeStore.getState();
|
|
21341
22117
|
setQuote(null);
|
|
21342
22118
|
setBridgeStep("select");
|
|
21343
22119
|
}
|
|
21344
|
-
},
|
|
21345
|
-
{
|
|
21346
|
-
elId: "sendmenu-tour-button" /* tourButton */,
|
|
21347
|
-
title: "passport:common.onboarding.tourButton.title",
|
|
21348
|
-
description: "passport:common.onboarding.tourButton.description"
|
|
21349
22120
|
}
|
|
21350
22121
|
];
|
|
21351
22122
|
}
|
|
@@ -21367,7 +22138,7 @@ var init_ResolveChainIcon = __esm({
|
|
|
21367
22138
|
// src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
|
|
21368
22139
|
import { CHAINS_BROWSERS_TRANSPORTS as CHAINS_BROWSERS_TRANSPORTS2 } from "@embarkai/core";
|
|
21369
22140
|
import { useQuery as useQuery21, useQueryClient as useQueryClient23 } from "@tanstack/react-query";
|
|
21370
|
-
import { useCallback as useCallback28, useEffect as
|
|
22141
|
+
import { useCallback as useCallback28, useEffect as useEffect43 } from "react";
|
|
21371
22142
|
import { createPublicClient as createPublicClient2, erc20Abi as erc20Abi3, formatUnits as formatUnits8, http as http3 } from "viem";
|
|
21372
22143
|
import { useSwitchChain as useSwitchChain2 } from "wagmi";
|
|
21373
22144
|
function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
@@ -21473,7 +22244,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
21473
22244
|
},
|
|
21474
22245
|
[refreshBalances, qc]
|
|
21475
22246
|
);
|
|
21476
|
-
|
|
22247
|
+
useEffect43(() => {
|
|
21477
22248
|
if (!bridgeSender || !originChain) return;
|
|
21478
22249
|
switch (bridgeSender) {
|
|
21479
22250
|
case "embarkai-wallet":
|
|
@@ -22434,7 +23205,7 @@ var init_steps = __esm({
|
|
|
22434
23205
|
});
|
|
22435
23206
|
|
|
22436
23207
|
// src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx
|
|
22437
|
-
import { useEffect as
|
|
23208
|
+
import { useEffect as useEffect44 } from "react";
|
|
22438
23209
|
import { jsx as jsx103, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
22439
23210
|
function HyperlaneBridge() {
|
|
22440
23211
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
@@ -22442,7 +23213,7 @@ function HyperlaneBridge() {
|
|
|
22442
23213
|
const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
|
|
22443
23214
|
const { directWalletProfile } = useAvailableSenders();
|
|
22444
23215
|
useMenuTitle(hyperlaneWarpRoutes);
|
|
22445
|
-
|
|
23216
|
+
useEffect44(() => {
|
|
22446
23217
|
return () => {
|
|
22447
23218
|
useBridgeStore.getState().resetSelections();
|
|
22448
23219
|
};
|
|
@@ -22488,14 +23259,14 @@ var init_HyperlaneBridge = __esm({
|
|
|
22488
23259
|
});
|
|
22489
23260
|
|
|
22490
23261
|
// src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx
|
|
22491
|
-
import { useRef as
|
|
23262
|
+
import { useRef as useRef18 } from "react";
|
|
22492
23263
|
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
22493
23264
|
function BridgeHistorySwitch(props) {
|
|
22494
23265
|
const { disabled } = props;
|
|
22495
23266
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
22496
23267
|
const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
|
|
22497
23268
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
22498
|
-
const lastBridgeStepRef =
|
|
23269
|
+
const lastBridgeStepRef = useRef18(null);
|
|
22499
23270
|
if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
|
|
22500
23271
|
return null;
|
|
22501
23272
|
}
|
|
@@ -22597,7 +23368,7 @@ var init_useErc3643Compliance = __esm({
|
|
|
22597
23368
|
|
|
22598
23369
|
// src/hooks/useNicknameResolve.ts
|
|
22599
23370
|
import { useQuery as useQuery22 } from "@tanstack/react-query";
|
|
22600
|
-
import { useEffect as
|
|
23371
|
+
import { useEffect as useEffect45, useMemo as useMemo14, useState as useState24 } from "react";
|
|
22601
23372
|
function looksLikeNickname(input) {
|
|
22602
23373
|
if (!input) return false;
|
|
22603
23374
|
if (input.startsWith("0x")) return false;
|
|
@@ -22611,7 +23382,7 @@ function useNicknameResolve(input, options) {
|
|
|
22611
23382
|
const [isDebouncing, setIsDebouncing] = useState24(false);
|
|
22612
23383
|
const normalized = normalizeNickname(input);
|
|
22613
23384
|
const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
|
|
22614
|
-
|
|
23385
|
+
useEffect45(() => {
|
|
22615
23386
|
if (!isNicknameInput || !enabled) {
|
|
22616
23387
|
setDebouncedInput("");
|
|
22617
23388
|
setIsDebouncing(false);
|
|
@@ -23071,7 +23842,7 @@ var init_AssetList = __esm({
|
|
|
23071
23842
|
|
|
23072
23843
|
// src/internal/components/SendMenu/send/components/NicknameData.tsx
|
|
23073
23844
|
import { AtSign, CheckCircle2 as CheckCircle24, ShieldAlert, ShieldCheck as ShieldCheck2 } from "lucide-react";
|
|
23074
|
-
import { useEffect as
|
|
23845
|
+
import { useEffect as useEffect46 } from "react";
|
|
23075
23846
|
import { jsx as jsx108, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
23076
23847
|
function NicknameData(props) {
|
|
23077
23848
|
const { resolvedNicknameData, isNicknameInput } = props;
|
|
@@ -23084,11 +23855,11 @@ function NicknameData(props) {
|
|
|
23084
23855
|
isWalletNotSetup,
|
|
23085
23856
|
isFrozen
|
|
23086
23857
|
} = resolvedNicknameData;
|
|
23087
|
-
|
|
23858
|
+
useEffect46(() => {
|
|
23088
23859
|
if (!resolvedNicknameData?.data?.fingerprint || !isNicknameInput) return;
|
|
23089
23860
|
useFlowSelectorStore.getState().setRenderKey(`nickname-resolved-${Date.now()}`);
|
|
23090
23861
|
}, [resolvedNicknameData, isNicknameInput]);
|
|
23091
|
-
|
|
23862
|
+
useEffect46(() => {
|
|
23092
23863
|
if (isResolving) return;
|
|
23093
23864
|
let errMessage = null;
|
|
23094
23865
|
switch (true) {
|
|
@@ -23658,7 +24429,7 @@ var init_sendSteps = __esm({
|
|
|
23658
24429
|
|
|
23659
24430
|
// src/internal/components/SendMenu/send/SendMenu.tsx
|
|
23660
24431
|
import { CheckCircle2 as CheckCircle26, Loader as Loader27 } from "lucide-react";
|
|
23661
|
-
import { useEffect as
|
|
24432
|
+
import { useEffect as useEffect47, useMemo as useMemo15 } from "react";
|
|
23662
24433
|
import { parseUnits as parseUnits2 } from "viem";
|
|
23663
24434
|
import { Fragment as Fragment41, jsx as jsx111, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
23664
24435
|
function SendMenu() {
|
|
@@ -23679,25 +24450,16 @@ function SendMenu() {
|
|
|
23679
24450
|
userOpHash,
|
|
23680
24451
|
reset
|
|
23681
24452
|
} = useSendTransaction();
|
|
23682
|
-
|
|
24453
|
+
useEffect47(() => {
|
|
23683
24454
|
useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
|
|
23684
24455
|
}, [isAssetsLoading, isTransactionPending]);
|
|
23685
|
-
|
|
24456
|
+
useEffect47(() => {
|
|
23686
24457
|
useFlowSelectorStore.getState().setError(sendTransactionError || null);
|
|
23687
24458
|
}, [sendTransactionError]);
|
|
23688
|
-
const {
|
|
23689
|
-
recipient,
|
|
23690
|
-
setRecipient,
|
|
23691
|
-
amount,
|
|
23692
|
-
setAmount,
|
|
23693
|
-
selectedAsset,
|
|
23694
|
-
setSelectedAsset,
|
|
23695
|
-
txStep,
|
|
23696
|
-
setTxStep
|
|
23697
|
-
} = useSendStore();
|
|
24459
|
+
const { txStep, recipient, amount, selectedAsset, setSelectedAsset } = useSendStore();
|
|
23698
24460
|
const isNft = isNftAsset3(selectedAsset);
|
|
23699
24461
|
const isSecurity = isSecurityToken2(selectedAsset);
|
|
23700
|
-
|
|
24462
|
+
useEffect47(() => {
|
|
23701
24463
|
const shouldDefaultAsset = assets.length > 0 && !selectedAsset;
|
|
23702
24464
|
if (!shouldDefaultAsset) return;
|
|
23703
24465
|
const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
|
|
@@ -23707,13 +24469,10 @@ function SendMenu() {
|
|
|
23707
24469
|
if (isBalance(erc20)) return setSelectedAsset(erc20);
|
|
23708
24470
|
setSelectedAsset(assets[0]);
|
|
23709
24471
|
}, [assets, selectedAsset]);
|
|
23710
|
-
|
|
24472
|
+
useEffect47(
|
|
23711
24473
|
() => () => {
|
|
23712
|
-
|
|
23713
|
-
setRecipient("");
|
|
23714
|
-
setAmount("");
|
|
24474
|
+
useSendStore.getState().reset();
|
|
23715
24475
|
reset();
|
|
23716
|
-
setTxStep("input");
|
|
23717
24476
|
},
|
|
23718
24477
|
[]
|
|
23719
24478
|
);
|
|
@@ -23735,7 +24494,7 @@ function SendMenu() {
|
|
|
23735
24494
|
enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
|
|
23736
24495
|
chainId: activeChainId
|
|
23737
24496
|
});
|
|
23738
|
-
|
|
24497
|
+
useEffect47(() => {
|
|
23739
24498
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
23740
24499
|
switch (true) {
|
|
23741
24500
|
case txStep === "select-asset":
|
|
@@ -23834,9 +24593,9 @@ var init_send = __esm({
|
|
|
23834
24593
|
|
|
23835
24594
|
// src/internal/components/SendMenu/useSendMenuParams.ts
|
|
23836
24595
|
import { keys as keys2 } from "lodash-es";
|
|
23837
|
-
import { useEffect as
|
|
24596
|
+
import { useEffect as useEffect48 } from "react";
|
|
23838
24597
|
function useSendMenuParams() {
|
|
23839
|
-
|
|
24598
|
+
useEffect48(() => {
|
|
23840
24599
|
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
23841
24600
|
if (!pageParams || !keys2(pageParams).length) return;
|
|
23842
24601
|
console.log("[SEND PARAMS]", pageParams);
|
|
@@ -23883,8 +24642,8 @@ var init_useSendMenuParams = __esm({
|
|
|
23883
24642
|
});
|
|
23884
24643
|
|
|
23885
24644
|
// src/internal/components/SendMenu/SendFlowSelector.tsx
|
|
23886
|
-
import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2,
|
|
23887
|
-
import { useEffect as
|
|
24645
|
+
import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2, InfoIcon as InfoIcon6 } from "lucide-react";
|
|
24646
|
+
import { useEffect as useEffect49 } from "react";
|
|
23888
24647
|
import { jsx as jsx112, jsxs as jsxs103 } from "react/jsx-runtime";
|
|
23889
24648
|
function SelectorFlowButtons() {
|
|
23890
24649
|
const { t } = useT();
|
|
@@ -23946,7 +24705,8 @@ function SendFlowSelector() {
|
|
|
23946
24705
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
23947
24706
|
const sendStep = useSendStore((st) => st.txStep);
|
|
23948
24707
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
23949
|
-
|
|
24708
|
+
useOnboardingTourAvailable(sendStep === "input" && bridgeStep === "select");
|
|
24709
|
+
useEffect49(
|
|
23950
24710
|
() => () => {
|
|
23951
24711
|
useFlowSelectorStore.getState().setError(null);
|
|
23952
24712
|
},
|
|
@@ -24000,29 +24760,7 @@ function SendFlowSelector() {
|
|
|
24000
24760
|
),
|
|
24001
24761
|
/* @__PURE__ */ jsx112("span", { className: "text-xl font-semibold", children: menuTitle })
|
|
24002
24762
|
] }),
|
|
24003
|
-
/* @__PURE__ */
|
|
24004
|
-
isSendFlowInitialState && /* @__PURE__ */ jsx112(
|
|
24005
|
-
Button,
|
|
24006
|
-
{
|
|
24007
|
-
ref: (inst) => onboarder.registerElement("sendmenu-tour-button" /* tourButton */, inst),
|
|
24008
|
-
variant: "ghost",
|
|
24009
|
-
size: "icon",
|
|
24010
|
-
className: "flex-none",
|
|
24011
|
-
onClick: () => {
|
|
24012
|
-
switch (selectorFlow) {
|
|
24013
|
-
case "send":
|
|
24014
|
-
onboarder.startTour(SEND_MENU_TOUR);
|
|
24015
|
-
break;
|
|
24016
|
-
case "bridge":
|
|
24017
|
-
onboarder.startTour(BRIDGE_MENU_TOUR);
|
|
24018
|
-
break;
|
|
24019
|
-
}
|
|
24020
|
-
},
|
|
24021
|
-
children: /* @__PURE__ */ jsx112(CircleQuestionMarkIcon2, { className: "h-4 w-4" })
|
|
24022
|
-
}
|
|
24023
|
-
),
|
|
24024
|
-
/* @__PURE__ */ jsx112(BridgeHistorySwitch, {})
|
|
24025
|
-
] })
|
|
24763
|
+
/* @__PURE__ */ jsx112("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx112(BridgeHistorySwitch, {}) })
|
|
24026
24764
|
] }),
|
|
24027
24765
|
isSendFlowInitialState && /* @__PURE__ */ jsx112(SelectorFlowButtons, {}),
|
|
24028
24766
|
SELECTOR_FLOW[selectorFlow],
|
|
@@ -24059,7 +24797,6 @@ var init_SendFlowSelector = __esm({
|
|
|
24059
24797
|
init_button();
|
|
24060
24798
|
init_highlight();
|
|
24061
24799
|
init_hyperbridge();
|
|
24062
|
-
init_onboarding_setup2();
|
|
24063
24800
|
init_send();
|
|
24064
24801
|
init_useFlowSelector();
|
|
24065
24802
|
init_useSendMenuParams();
|
|
@@ -24071,10 +24808,20 @@ var init_SendFlowSelector = __esm({
|
|
|
24071
24808
|
});
|
|
24072
24809
|
|
|
24073
24810
|
// src/internal/components/SendMenu/index.ts
|
|
24811
|
+
function getSendMenuFlowState() {
|
|
24812
|
+
return useFlowSelectorStore.getState().flow;
|
|
24813
|
+
}
|
|
24814
|
+
function resetSendMenuState() {
|
|
24815
|
+
useSendStore.getState().reset();
|
|
24816
|
+
useBridgeStore.getState().resetSelections();
|
|
24817
|
+
}
|
|
24074
24818
|
var init_SendMenu2 = __esm({
|
|
24075
24819
|
"src/internal/components/SendMenu/index.ts"() {
|
|
24820
|
+
init_hyperbridge();
|
|
24821
|
+
init_send();
|
|
24822
|
+
init_useFlowSelector();
|
|
24076
24823
|
init_SendFlowSelector();
|
|
24077
|
-
|
|
24824
|
+
init_onboarding_setup9();
|
|
24078
24825
|
}
|
|
24079
24826
|
});
|
|
24080
24827
|
|
|
@@ -24137,10 +24884,25 @@ var init_constants8 = __esm({
|
|
|
24137
24884
|
}
|
|
24138
24885
|
});
|
|
24139
24886
|
|
|
24887
|
+
// src/internal/components/SettingsMenu/onboarding.setup.ts
|
|
24888
|
+
var SETTINGS_MENU_ONBOARDING_ID, SETTINGS_MENU_TOUR;
|
|
24889
|
+
var init_onboarding_setup10 = __esm({
|
|
24890
|
+
"src/internal/components/SettingsMenu/onboarding.setup.ts"() {
|
|
24891
|
+
SETTINGS_MENU_ONBOARDING_ID = "embarkai-settings-menu-onboarding";
|
|
24892
|
+
SETTINGS_MENU_TOUR = [
|
|
24893
|
+
{
|
|
24894
|
+
elId: SETTINGS_MENU_ONBOARDING_ID,
|
|
24895
|
+
title: "passport:common.onboarding.settingsMenu.title",
|
|
24896
|
+
description: "passport:common.onboarding.settingsMenu.description"
|
|
24897
|
+
}
|
|
24898
|
+
];
|
|
24899
|
+
}
|
|
24900
|
+
});
|
|
24901
|
+
|
|
24140
24902
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
24141
24903
|
import { useQuery as useQuery24 } from "@tanstack/react-query";
|
|
24142
24904
|
import { ArrowLeft as ArrowLeft20, HardDrive as HardDrive3 } from "lucide-react";
|
|
24143
|
-
import { useEffect as
|
|
24905
|
+
import { useEffect as useEffect50 } from "react";
|
|
24144
24906
|
import { jsx as jsx113, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
24145
24907
|
function useSettingsButtons() {
|
|
24146
24908
|
const config = useProviderConfig().config;
|
|
@@ -24157,9 +24919,9 @@ function useSettingsButtons() {
|
|
|
24157
24919
|
}
|
|
24158
24920
|
});
|
|
24159
24921
|
if (proMode) {
|
|
24160
|
-
settingsButtons.push({ id: "devices" /* DEVICES */, name: "
|
|
24922
|
+
settingsButtons.push({ id: "devices" /* DEVICES */, name: "passport:guardiansMenu.title", Icon: HardDrive3 });
|
|
24161
24923
|
}
|
|
24162
|
-
|
|
24924
|
+
useEffect50(() => {
|
|
24163
24925
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
24164
24926
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
24165
24927
|
return;
|
|
@@ -24176,6 +24938,7 @@ function useSettingsButtons() {
|
|
|
24176
24938
|
function SettingsMenu() {
|
|
24177
24939
|
const address = useSession((st) => st.address);
|
|
24178
24940
|
const { t } = useT();
|
|
24941
|
+
useOnboardingTourAvailable(true);
|
|
24179
24942
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
24180
24943
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
24181
24944
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
@@ -24191,6 +24954,7 @@ function SettingsMenu() {
|
|
|
24191
24954
|
return /* @__PURE__ */ jsxs104(
|
|
24192
24955
|
"div",
|
|
24193
24956
|
{
|
|
24957
|
+
ref: (inst) => onboarder.registerElement(SETTINGS_MENU_ONBOARDING_ID, inst),
|
|
24194
24958
|
style: {
|
|
24195
24959
|
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
24196
24960
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
@@ -24235,8 +24999,10 @@ var init_SettingsMenu = __esm({
|
|
|
24235
24999
|
init_pro_mode();
|
|
24236
25000
|
init_utils2();
|
|
24237
25001
|
init_useProvidersList();
|
|
25002
|
+
init_Onboarding();
|
|
24238
25003
|
init_button();
|
|
24239
25004
|
init_constants8();
|
|
25005
|
+
init_onboarding_setup10();
|
|
24240
25006
|
}
|
|
24241
25007
|
});
|
|
24242
25008
|
|
|
@@ -24244,6 +25010,7 @@ var init_SettingsMenu = __esm({
|
|
|
24244
25010
|
var init_SettingsMenu2 = __esm({
|
|
24245
25011
|
"src/internal/components/SettingsMenu/index.ts"() {
|
|
24246
25012
|
init_SettingsMenu();
|
|
25013
|
+
init_onboarding_setup10();
|
|
24247
25014
|
}
|
|
24248
25015
|
});
|
|
24249
25016
|
|
|
@@ -24906,6 +25673,20 @@ var init_api4 = __esm({
|
|
|
24906
25673
|
}
|
|
24907
25674
|
});
|
|
24908
25675
|
|
|
25676
|
+
// src/internal/components/TransactionsMenu/onboarding.setup.ts
|
|
25677
|
+
var TRANSACTIONS_MENU_TOUR;
|
|
25678
|
+
var init_onboarding_setup11 = __esm({
|
|
25679
|
+
"src/internal/components/TransactionsMenu/onboarding.setup.ts"() {
|
|
25680
|
+
TRANSACTIONS_MENU_TOUR = [
|
|
25681
|
+
{
|
|
25682
|
+
elId: "embarkai-transactions-menu-onboarding" /* transactionsMenu */,
|
|
25683
|
+
title: "passport:transactionsMenu.onboarding.transactionsMenu.title",
|
|
25684
|
+
description: "passport:transactionsMenu.onboarding.transactionsMenu.description"
|
|
25685
|
+
}
|
|
25686
|
+
];
|
|
25687
|
+
}
|
|
25688
|
+
});
|
|
25689
|
+
|
|
24909
25690
|
// src/internal/components/TransactionsMenu/utils.ts
|
|
24910
25691
|
function formatIntl(price, fractionDigits) {
|
|
24911
25692
|
const formatter = Intl.NumberFormat("en-US", {
|
|
@@ -25105,6 +25886,7 @@ function TransactionsMenu() {
|
|
|
25105
25886
|
const address = useSession((st) => st.address);
|
|
25106
25887
|
const chainConfig = useSession((st) => st.chainConfig);
|
|
25107
25888
|
const { t } = useT();
|
|
25889
|
+
useOnboardingTourAvailable(true);
|
|
25108
25890
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
25109
25891
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
25110
25892
|
const [expandedGroups, setExpandedGroups] = useState27({});
|
|
@@ -25128,6 +25910,7 @@ function TransactionsMenu() {
|
|
|
25128
25910
|
return /* @__PURE__ */ jsx116(
|
|
25129
25911
|
"div",
|
|
25130
25912
|
{
|
|
25913
|
+
ref: (inst) => onboarder.registerElement("embarkai-transactions-menu-onboarding" /* transactionsMenu */, inst),
|
|
25131
25914
|
style: {
|
|
25132
25915
|
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
25133
25916
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
@@ -25151,11 +25934,11 @@ function TransactionsMenu() {
|
|
|
25151
25934
|
] }),
|
|
25152
25935
|
!historySupported && /* @__PURE__ */ jsx116(Highlight, { type: "warning", children: /* @__PURE__ */ jsx116("span", { children: t("passport:transactionsMenu.comingSoon") }) }),
|
|
25153
25936
|
historySupported && isTxHistoryLoading && /* @__PURE__ */ jsx116("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx116(Loader28, { className: "w-4 h-4 animate-spin" }) }),
|
|
25937
|
+
historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx116(Highlight, { type: "info", children: /* @__PURE__ */ jsx116("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
|
|
25154
25938
|
historySupported && !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs107(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
25155
25939
|
/* @__PURE__ */ jsx116(XCircle, { className: "w-4 h-4 flex-none" }),
|
|
25156
25940
|
/* @__PURE__ */ jsx116("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
|
|
25157
25941
|
] }),
|
|
25158
|
-
historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx116(Highlight, { type: "warning", children: /* @__PURE__ */ jsx116("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
|
|
25159
25942
|
historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx116("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx116(
|
|
25160
25943
|
TransactionsGroup,
|
|
25161
25944
|
{
|
|
@@ -25176,6 +25959,7 @@ var init_TransactionsMenu = __esm({
|
|
|
25176
25959
|
init_useLayoutDataStore();
|
|
25177
25960
|
init_useLayoutStore();
|
|
25178
25961
|
init_Expandable2();
|
|
25962
|
+
init_Onboarding();
|
|
25179
25963
|
init_button();
|
|
25180
25964
|
init_highlight();
|
|
25181
25965
|
init_api4();
|
|
@@ -25188,6 +25972,7 @@ var init_TransactionsMenu = __esm({
|
|
|
25188
25972
|
var init_TransactionsMenu2 = __esm({
|
|
25189
25973
|
"src/internal/components/TransactionsMenu/index.ts"() {
|
|
25190
25974
|
init_TransactionsMenu();
|
|
25975
|
+
init_onboarding_setup11();
|
|
25191
25976
|
}
|
|
25192
25977
|
});
|
|
25193
25978
|
|
|
@@ -25359,7 +26144,7 @@ var init_PageMap = __esm({
|
|
|
25359
26144
|
});
|
|
25360
26145
|
|
|
25361
26146
|
// src/internal/hooks/usePageMapper.tsx
|
|
25362
|
-
import { useCallback as useCallback31, useEffect as
|
|
26147
|
+
import { useCallback as useCallback31, useEffect as useEffect51 } from "react";
|
|
25363
26148
|
import { jsx as jsx117 } from "react/jsx-runtime";
|
|
25364
26149
|
function usePageMapper() {
|
|
25365
26150
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -25392,7 +26177,7 @@ function usePageMapper() {
|
|
|
25392
26177
|
},
|
|
25393
26178
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
25394
26179
|
);
|
|
25395
|
-
|
|
26180
|
+
useEffect51(() => {
|
|
25396
26181
|
if (page === null) return closeDialog();
|
|
25397
26182
|
const pageItem = PAGE_MAP[page];
|
|
25398
26183
|
if (!pageItem) {
|
|
@@ -25415,20 +26200,20 @@ var init_usePageMapper = __esm({
|
|
|
25415
26200
|
});
|
|
25416
26201
|
|
|
25417
26202
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
25418
|
-
import { useEffect as
|
|
26203
|
+
import { useEffect as useEffect52 } from "react";
|
|
25419
26204
|
function useSettingsNotifications() {
|
|
25420
26205
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
25421
26206
|
const providers = jwtTokenManager2.getProviders();
|
|
25422
26207
|
const hasEmail = providers.includes("email");
|
|
25423
26208
|
const { data: userProfile = null } = useUserProfile();
|
|
25424
|
-
|
|
26209
|
+
useEffect52(() => {
|
|
25425
26210
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
25426
26211
|
setSettingsNotifications({
|
|
25427
26212
|
...COMPLETE_KYC_PROGRESS,
|
|
25428
26213
|
status: isKYCVerified ? "resolved" : "active"
|
|
25429
26214
|
});
|
|
25430
26215
|
}, [userProfile, setSettingsNotifications]);
|
|
25431
|
-
|
|
26216
|
+
useEffect52(() => {
|
|
25432
26217
|
setSettingsNotifications({
|
|
25433
26218
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
25434
26219
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -25460,7 +26245,7 @@ var init_package = __esm({
|
|
|
25460
26245
|
"package.json"() {
|
|
25461
26246
|
package_default = {
|
|
25462
26247
|
name: "@embarkai/ui-kit",
|
|
25463
|
-
version: "0.4.
|
|
26248
|
+
version: "0.4.76",
|
|
25464
26249
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
25465
26250
|
type: "module",
|
|
25466
26251
|
main: "./dist/index.cjs",
|
|
@@ -25630,6 +26415,7 @@ function Footer() {
|
|
|
25630
26415
|
/* @__PURE__ */ jsxs108(
|
|
25631
26416
|
Button,
|
|
25632
26417
|
{
|
|
26418
|
+
ref: (inst) => onboarder.registerElement(FOOTER_ONBOARDING_CHAIN_BUTTON, inst),
|
|
25633
26419
|
size: "small",
|
|
25634
26420
|
variant: "ghost",
|
|
25635
26421
|
disabled: !address || isDisconnecting,
|
|
@@ -25650,6 +26436,7 @@ function Footer() {
|
|
|
25650
26436
|
!!address ? /* @__PURE__ */ jsxs108(
|
|
25651
26437
|
Button,
|
|
25652
26438
|
{
|
|
26439
|
+
ref: (inst) => onboarder.registerElement(FOOTER_ONBOARDING_LOGOUT_BUTTON, inst),
|
|
25653
26440
|
className: "text-xs",
|
|
25654
26441
|
size: "small",
|
|
25655
26442
|
variant: "ghost",
|
|
@@ -25676,6 +26463,7 @@ function Footer() {
|
|
|
25676
26463
|
}
|
|
25677
26464
|
);
|
|
25678
26465
|
}
|
|
26466
|
+
var FOOTER_ONBOARDING_CHAIN_BUTTON, FOOTER_ONBOARDING_LOGOUT_BUTTON, FOOTER_TOUR;
|
|
25679
26467
|
var init_Footer = __esm({
|
|
25680
26468
|
"src/internal/components/Footer/Footer.tsx"() {
|
|
25681
26469
|
init_package();
|
|
@@ -25690,7 +26478,22 @@ var init_Footer = __esm({
|
|
|
25690
26478
|
init_utils2();
|
|
25691
26479
|
init_useExternalWalletStore();
|
|
25692
26480
|
init_constants5();
|
|
26481
|
+
init_Onboarding();
|
|
25693
26482
|
init_button();
|
|
26483
|
+
FOOTER_ONBOARDING_CHAIN_BUTTON = "embark-footer-chain-button";
|
|
26484
|
+
FOOTER_ONBOARDING_LOGOUT_BUTTON = "embark-footer-logout-button";
|
|
26485
|
+
FOOTER_TOUR = [
|
|
26486
|
+
{
|
|
26487
|
+
elId: FOOTER_ONBOARDING_CHAIN_BUTTON,
|
|
26488
|
+
title: "passport:common.onboarding.chainButton.title",
|
|
26489
|
+
description: "passport:common.onboarding.chainButton.description"
|
|
26490
|
+
},
|
|
26491
|
+
{
|
|
26492
|
+
elId: FOOTER_ONBOARDING_LOGOUT_BUTTON,
|
|
26493
|
+
title: "passport:common.onboarding.logoutButton.title",
|
|
26494
|
+
description: "passport:common.onboarding.logoutButton.description"
|
|
26495
|
+
}
|
|
26496
|
+
];
|
|
25694
26497
|
}
|
|
25695
26498
|
});
|
|
25696
26499
|
|
|
@@ -25698,12 +26501,73 @@ var init_Footer = __esm({
|
|
|
25698
26501
|
var init_Footer2 = __esm({
|
|
25699
26502
|
"src/internal/components/Footer/index.ts"() {
|
|
25700
26503
|
init_Footer();
|
|
26504
|
+
init_Footer();
|
|
26505
|
+
}
|
|
26506
|
+
});
|
|
26507
|
+
|
|
26508
|
+
// src/internal/components/Header/onborading.setup.ts
|
|
26509
|
+
var EMBARKAI_HEADER_ONBOARDING_ID, EMBARKAI_HEADER_TOUR_BUTTON_ID, ONBOARDING_TOURS;
|
|
26510
|
+
var init_onborading_setup = __esm({
|
|
26511
|
+
"src/internal/components/Header/onborading.setup.ts"() {
|
|
26512
|
+
init_BuyMenu2();
|
|
26513
|
+
init_ChainsMenu2();
|
|
26514
|
+
init_Dialog2();
|
|
26515
|
+
init_Footer2();
|
|
26516
|
+
init_KeyshareRestoreMenu2();
|
|
26517
|
+
init_MainMenu2();
|
|
26518
|
+
init_ManageWalletMenu();
|
|
26519
|
+
init_NicknameMenu2();
|
|
26520
|
+
init_ReceiveMenu2();
|
|
26521
|
+
init_SecurityMenu2();
|
|
26522
|
+
init_SendMenu2();
|
|
26523
|
+
init_SettingsMenu2();
|
|
26524
|
+
init_TransactionsMenu2();
|
|
26525
|
+
EMBARKAI_HEADER_ONBOARDING_ID = "embark-header-user-section";
|
|
26526
|
+
EMBARKAI_HEADER_TOUR_BUTTON_ID = "embark-header-tour-button-section";
|
|
26527
|
+
ONBOARDING_TOURS = {
|
|
26528
|
+
["main-menu" /* MAIN_MENU */]: () => [
|
|
26529
|
+
{
|
|
26530
|
+
elId: EMBARKAI_DIALOG_ONBOARDING_ID,
|
|
26531
|
+
title: "passport:common.onboarding.embarkAI.title",
|
|
26532
|
+
description: "passport:common.onboarding.embarkAI.description"
|
|
26533
|
+
},
|
|
26534
|
+
{
|
|
26535
|
+
elId: EMBARKAI_HEADER_ONBOARDING_ID,
|
|
26536
|
+
title: "passport:common.onboarding.userSection.title",
|
|
26537
|
+
description: "passport:common.onboarding.userSection.description"
|
|
26538
|
+
},
|
|
26539
|
+
...MAIN_MENU_TOUR,
|
|
26540
|
+
...FOOTER_TOUR
|
|
26541
|
+
],
|
|
26542
|
+
["settings" /* SETTINGS */]: () => SETTINGS_MENU_TOUR,
|
|
26543
|
+
["buy" /* BUY */]: () => BUY_MENU_BINANCE_TOUR,
|
|
26544
|
+
["send" /* SEND */]: () => {
|
|
26545
|
+
resetSendMenuState();
|
|
26546
|
+
const sendTour = [];
|
|
26547
|
+
switch (getSendMenuFlowState()) {
|
|
26548
|
+
case "send":
|
|
26549
|
+
sendTour.push(...SEND_MENU_TOUR);
|
|
26550
|
+
break;
|
|
26551
|
+
case "bridge":
|
|
26552
|
+
sendTour.push(...BRIDGE_MENU_TOUR);
|
|
26553
|
+
break;
|
|
26554
|
+
}
|
|
26555
|
+
return sendTour;
|
|
26556
|
+
},
|
|
26557
|
+
["receive" /* RECEIVE */]: () => RECEIVE_MENU_TOUR,
|
|
26558
|
+
["security" /* SECURITY */]: () => SECURITY_MENU_TOUR,
|
|
26559
|
+
["keysare-backup" /* KEYSARE_BACKUP */]: () => KEYSHARE_BACKUP_MENU_TOUR,
|
|
26560
|
+
["transactions" /* TRANSACTIONS */]: () => TRANSACTIONS_MENU_TOUR,
|
|
26561
|
+
["nickname-settings" /* NICKNAME_SETTINGS */]: () => NICKNAME_MENU_TOUR,
|
|
26562
|
+
["manage-wallet" /* MANAGE_WALLET */]: () => MANAGE_WALLET_MENU_TOUR,
|
|
26563
|
+
["chain" /* CHAIN */]: () => CHAIN_MENU_TOUR
|
|
26564
|
+
};
|
|
25701
26565
|
}
|
|
25702
26566
|
});
|
|
25703
26567
|
|
|
25704
26568
|
// src/internal/components/Header/Header.tsx
|
|
25705
|
-
import { Copy as Copy4, Loader as Loader30 } from "lucide-react";
|
|
25706
|
-
import { useCallback as useCallback32, useRef as
|
|
26569
|
+
import { CircleQuestionMarkIcon as CircleQuestionMarkIcon2, Copy as Copy4, Loader as Loader30 } from "lucide-react";
|
|
26570
|
+
import { useCallback as useCallback32, useRef as useRef19, useState as useState28 } from "react";
|
|
25707
26571
|
import { Fragment as Fragment43, jsx as jsx119, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
25708
26572
|
function formatAddress2(addr) {
|
|
25709
26573
|
if (!addr) return "";
|
|
@@ -25713,12 +26577,13 @@ function Header() {
|
|
|
25713
26577
|
const config = useProviderConfig().config;
|
|
25714
26578
|
const address = useSession((st) => st.address);
|
|
25715
26579
|
const chainConfig = useSession((st) => st.chainConfig);
|
|
25716
|
-
const
|
|
26580
|
+
const embarkPage = useLayoutDataStore((st) => st.page);
|
|
26581
|
+
const isOnboardingTourAvailable = useOnboardingStore((st) => st.isTourAvailable);
|
|
25717
26582
|
const proMode = useProMode();
|
|
25718
26583
|
const [proToast, setProToast] = useState28(false);
|
|
25719
26584
|
const [copied, setCopied] = useState28(false);
|
|
25720
|
-
const clickCountRef =
|
|
25721
|
-
const clickTimerRef =
|
|
26585
|
+
const clickCountRef = useRef19(0);
|
|
26586
|
+
const clickTimerRef = useRef19(null);
|
|
25722
26587
|
const handleAvatarClick = useCallback32(() => {
|
|
25723
26588
|
clickCountRef.current += 1;
|
|
25724
26589
|
if (clickTimerRef.current) {
|
|
@@ -25740,10 +26605,11 @@ function Header() {
|
|
|
25740
26605
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
25741
26606
|
const avatar = profile?.avatar || jwtTokenManager2.getAvatar();
|
|
25742
26607
|
const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
|
|
25743
|
-
const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon ||
|
|
26608
|
+
const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || null;
|
|
25744
26609
|
return /* @__PURE__ */ jsxs109(
|
|
25745
26610
|
"div",
|
|
25746
26611
|
{
|
|
26612
|
+
ref: (inst) => onboarder.registerElement(EMBARKAI_HEADER_ONBOARDING_ID, inst),
|
|
25747
26613
|
style: { borderBottom: "1px solid var(--ui-kit-bd)" },
|
|
25748
26614
|
className: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)] pt-5",
|
|
25749
26615
|
children: [
|
|
@@ -25788,26 +26654,36 @@ function Header() {
|
|
|
25788
26654
|
] }),
|
|
25789
26655
|
!!address && /* @__PURE__ */ jsxs109("div", { className: "w-full flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
25790
26656
|
/* @__PURE__ */ jsxs109("div", { className: "flex items-center w-fit text-[10px] px-2 leading-6 text-[var(--ui-kit-fg)] gap-2", children: [
|
|
25791
|
-
/* @__PURE__ */ jsx119("span", { children:
|
|
25792
|
-
/* @__PURE__ */ jsx119(
|
|
26657
|
+
!!ChainIcon ? /* @__PURE__ */ jsx119(ChainIcon, { className: "flex-none w-6 h-6" }) : /* @__PURE__ */ jsx119("div", { className: "flex-none w-6 h-6 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ jsx119("span", { className: "text-[var(--ui-kit-fg-inverted)] text-sm font-bold", children: chainConfig.name.charAt(0) }) }),
|
|
26658
|
+
/* @__PURE__ */ jsx119("span", { className: cn("transition-colors", copied && "text-[var(--ui-kit-bg-success)]"), children: formatAddress2(address) })
|
|
25793
26659
|
] }),
|
|
25794
|
-
/* @__PURE__ */
|
|
25795
|
-
|
|
25796
|
-
|
|
25797
|
-
|
|
25798
|
-
|
|
25799
|
-
|
|
25800
|
-
|
|
25801
|
-
|
|
25802
|
-
|
|
25803
|
-
|
|
25804
|
-
|
|
25805
|
-
|
|
25806
|
-
copied ? /* @__PURE__ */ jsx119(PositiveIcon, {}) : /* @__PURE__ */ jsx119(Copy4, { className: "w-4 h-4" })
|
|
25807
|
-
|
|
25808
|
-
|
|
25809
|
-
|
|
25810
|
-
|
|
26660
|
+
/* @__PURE__ */ jsxs109("div", { className: "w-fit flex items-center", children: [
|
|
26661
|
+
/* @__PURE__ */ jsx119(
|
|
26662
|
+
Button,
|
|
26663
|
+
{
|
|
26664
|
+
size: "small",
|
|
26665
|
+
variant: "ghost",
|
|
26666
|
+
className: "text-[10px] px-2",
|
|
26667
|
+
onClick: async () => {
|
|
26668
|
+
await navigator.clipboard.writeText(address);
|
|
26669
|
+
setCopied(true);
|
|
26670
|
+
setTimeout(() => setCopied(false), 1500);
|
|
26671
|
+
},
|
|
26672
|
+
children: copied ? /* @__PURE__ */ jsx119(PositiveIcon, {}) : /* @__PURE__ */ jsx119(Copy4, { className: "w-4 h-4" })
|
|
26673
|
+
}
|
|
26674
|
+
),
|
|
26675
|
+
!!isOnboardingTourAvailable && ONBOARDING_TOURS[embarkPage] && /* @__PURE__ */ jsx119(
|
|
26676
|
+
Button,
|
|
26677
|
+
{
|
|
26678
|
+
ref: (inst) => onboarder.registerElement(EMBARKAI_HEADER_TOUR_BUTTON_ID, inst),
|
|
26679
|
+
size: "small",
|
|
26680
|
+
variant: "ghost",
|
|
26681
|
+
className: "text-[10px] px-2",
|
|
26682
|
+
onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]()),
|
|
26683
|
+
children: /* @__PURE__ */ jsx119(CircleQuestionMarkIcon2, { className: "w-4 h-4" })
|
|
26684
|
+
}
|
|
26685
|
+
)
|
|
26686
|
+
] })
|
|
25811
26687
|
] }),
|
|
25812
26688
|
proToast && /* @__PURE__ */ jsx119("div", { className: "text-xs text-center text-[var(--ui-kit-primary)] font-medium animate-pulse", children: "Pro Mode activated" })
|
|
25813
26689
|
]
|
|
@@ -25820,15 +26696,17 @@ var init_Header = __esm({
|
|
|
25820
26696
|
init_networks3();
|
|
25821
26697
|
init_ProviderContext();
|
|
25822
26698
|
init_SessionContext();
|
|
25823
|
-
init_useT();
|
|
25824
26699
|
init_icons();
|
|
25825
26700
|
init_auth();
|
|
26701
|
+
init_useLayoutDataStore();
|
|
25826
26702
|
init_useUserProfile();
|
|
25827
26703
|
init_pro_mode();
|
|
25828
26704
|
init_utils2();
|
|
25829
26705
|
init_BalanceView2();
|
|
25830
26706
|
init_KYC();
|
|
26707
|
+
init_Onboarding();
|
|
25831
26708
|
init_button();
|
|
26709
|
+
init_onborading_setup();
|
|
25832
26710
|
}
|
|
25833
26711
|
});
|
|
25834
26712
|
|
|
@@ -25836,6 +26714,7 @@ var init_Header = __esm({
|
|
|
25836
26714
|
var init_Header2 = __esm({
|
|
25837
26715
|
"src/internal/components/Header/index.ts"() {
|
|
25838
26716
|
init_Header();
|
|
26717
|
+
init_onborading_setup();
|
|
25839
26718
|
}
|
|
25840
26719
|
});
|
|
25841
26720
|
|
|
@@ -25843,7 +26722,7 @@ var init_Header2 = __esm({
|
|
|
25843
26722
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
25844
26723
|
import { merge as merge2 } from "lodash-es";
|
|
25845
26724
|
import { ArrowLeft as ArrowLeft23, SlidersHorizontal, X } from "lucide-react";
|
|
25846
|
-
import { forwardRef as
|
|
26725
|
+
import { forwardRef as forwardRef6 } from "react";
|
|
25847
26726
|
import { jsx as jsx120, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
25848
26727
|
function useDecideContentStyles() {
|
|
25849
26728
|
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
@@ -25866,7 +26745,7 @@ var init_dialog = __esm({
|
|
|
25866
26745
|
init_button();
|
|
25867
26746
|
Dialog = DialogPrimitive.Root;
|
|
25868
26747
|
DialogPortal = DialogPrimitive.Portal;
|
|
25869
|
-
DialogOverlay =
|
|
26748
|
+
DialogOverlay = forwardRef6(
|
|
25870
26749
|
({ className, closing, ...props }, ref) => /* @__PURE__ */ jsx120(
|
|
25871
26750
|
DialogPrimitive.Overlay,
|
|
25872
26751
|
{
|
|
@@ -25888,7 +26767,7 @@ var init_dialog = __esm({
|
|
|
25888
26767
|
border: "1px solid var(--ui-kit-bd)",
|
|
25889
26768
|
boxShadow: "var(--ui-kit-shadow, 0px 4px 10px var(--ui-kit-shadow-c, rgba(0, 0, 0, 0.1)))"
|
|
25890
26769
|
};
|
|
25891
|
-
DialogContent =
|
|
26770
|
+
DialogContent = forwardRef6(
|
|
25892
26771
|
({ className, children, colorMode, ...props }, ref) => {
|
|
25893
26772
|
const { t, i18n } = useT();
|
|
25894
26773
|
const isSessionLoading = useSession((st) => st.isLoading);
|
|
@@ -26000,7 +26879,7 @@ var init_dialog = __esm({
|
|
|
26000
26879
|
DialogHeader.displayName = "DialogHeader";
|
|
26001
26880
|
DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx120("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
26002
26881
|
DialogFooter.displayName = "DialogFooter";
|
|
26003
|
-
DialogTitle =
|
|
26882
|
+
DialogTitle = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */ jsx120(
|
|
26004
26883
|
DialogPrimitive.Title,
|
|
26005
26884
|
{
|
|
26006
26885
|
ref,
|
|
@@ -26009,7 +26888,7 @@ var init_dialog = __esm({
|
|
|
26009
26888
|
}
|
|
26010
26889
|
));
|
|
26011
26890
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
26012
|
-
DialogDescription =
|
|
26891
|
+
DialogDescription = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */ jsx120(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
26013
26892
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
26014
26893
|
}
|
|
26015
26894
|
});
|
|
@@ -26025,7 +26904,7 @@ var init_visually_hidden = __esm({
|
|
|
26025
26904
|
|
|
26026
26905
|
// src/internal/components/Dialog/Dialog.tsx
|
|
26027
26906
|
import { AnimatePresence, motion } from "framer-motion";
|
|
26028
|
-
import { useEffect as
|
|
26907
|
+
import { useEffect as useEffect53 } from "react";
|
|
26029
26908
|
import { jsx as jsx122, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
26030
26909
|
function Dialog2() {
|
|
26031
26910
|
const config = useProviderConfig().config;
|
|
@@ -26037,7 +26916,7 @@ function Dialog2() {
|
|
|
26037
26916
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
26038
26917
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
26039
26918
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
26040
|
-
|
|
26919
|
+
useEffect53(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
26041
26920
|
usePageMapper();
|
|
26042
26921
|
useAutoConnect();
|
|
26043
26922
|
useBackupStatusChanges();
|
|
@@ -26054,27 +26933,36 @@ function Dialog2() {
|
|
|
26054
26933
|
if (isDialogForced) return;
|
|
26055
26934
|
if (!open) setPage(null);
|
|
26056
26935
|
},
|
|
26057
|
-
children: /* @__PURE__ */ jsxs111(
|
|
26058
|
-
|
|
26059
|
-
|
|
26060
|
-
|
|
26061
|
-
|
|
26062
|
-
|
|
26063
|
-
|
|
26064
|
-
|
|
26065
|
-
|
|
26066
|
-
|
|
26067
|
-
|
|
26068
|
-
|
|
26069
|
-
|
|
26070
|
-
|
|
26071
|
-
|
|
26072
|
-
|
|
26073
|
-
|
|
26074
|
-
|
|
26936
|
+
children: /* @__PURE__ */ jsxs111(
|
|
26937
|
+
DialogContent,
|
|
26938
|
+
{
|
|
26939
|
+
ref: (inst) => onboarder.registerElement(EMBARKAI_DIALOG_ONBOARDING_ID, inst),
|
|
26940
|
+
colorMode,
|
|
26941
|
+
className,
|
|
26942
|
+
children: [
|
|
26943
|
+
/* @__PURE__ */ jsx122(VisuallyHidden, { children: /* @__PURE__ */ jsx122(DialogTitle, { children: dialogTitle }) }),
|
|
26944
|
+
/* @__PURE__ */ jsx122(DialogDescription, { className: "sr-only", children: dialogDescription }),
|
|
26945
|
+
!isHeaderHidden && /* @__PURE__ */ jsx122(Header, {}),
|
|
26946
|
+
/* @__PURE__ */ jsx122(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx122(
|
|
26947
|
+
motion.div,
|
|
26948
|
+
{
|
|
26949
|
+
initial: { opacity: 0, height: transitionPageHeight },
|
|
26950
|
+
animate: { opacity: 1, height: "auto" },
|
|
26951
|
+
exit: { opacity: 0, height: transitionPageHeight },
|
|
26952
|
+
style: { overflow: "hidden" },
|
|
26953
|
+
transition: Y_ANIMATION_SETUP,
|
|
26954
|
+
children: dialogContent
|
|
26955
|
+
},
|
|
26956
|
+
page || "empty"
|
|
26957
|
+
) }),
|
|
26958
|
+
/* @__PURE__ */ jsx122(Footer, {})
|
|
26959
|
+
]
|
|
26960
|
+
}
|
|
26961
|
+
)
|
|
26075
26962
|
}
|
|
26076
26963
|
);
|
|
26077
26964
|
}
|
|
26965
|
+
var EMBARKAI_DIALOG_ONBOARDING_ID;
|
|
26078
26966
|
var init_Dialog = __esm({
|
|
26079
26967
|
"src/internal/components/Dialog/Dialog.tsx"() {
|
|
26080
26968
|
init_ProviderContext();
|
|
@@ -26090,8 +26978,10 @@ var init_Dialog = __esm({
|
|
|
26090
26978
|
init_useSettingsNotifications();
|
|
26091
26979
|
init_Footer2();
|
|
26092
26980
|
init_Header2();
|
|
26981
|
+
init_Onboarding();
|
|
26093
26982
|
init_dialog();
|
|
26094
26983
|
init_visually_hidden();
|
|
26984
|
+
EMBARKAI_DIALOG_ONBOARDING_ID = "embark-main-dialog-content";
|
|
26095
26985
|
}
|
|
26096
26986
|
});
|
|
26097
26987
|
|
|
@@ -26103,7 +26993,7 @@ var init_Dialog2 = __esm({
|
|
|
26103
26993
|
});
|
|
26104
26994
|
|
|
26105
26995
|
// src/internal/components/DirectWalletHandler.tsx
|
|
26106
|
-
import { useEffect as
|
|
26996
|
+
import { useEffect as useEffect54 } from "react";
|
|
26107
26997
|
import { useAccount } from "wagmi";
|
|
26108
26998
|
function DirectWalletHandler() {
|
|
26109
26999
|
const walletMode = useProviderConfig().config.current?.wallet?.mode || "linked";
|
|
@@ -26115,13 +27005,13 @@ function DirectWalletHandler() {
|
|
|
26115
27005
|
const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
|
|
26116
27006
|
const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
|
|
26117
27007
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
26118
|
-
|
|
27008
|
+
useEffect54(() => {
|
|
26119
27009
|
setConfigMode(walletMode);
|
|
26120
27010
|
if (walletMode !== "both") {
|
|
26121
27011
|
setActiveMode(walletMode);
|
|
26122
27012
|
}
|
|
26123
27013
|
}, [walletMode, setConfigMode, setActiveMode]);
|
|
26124
|
-
|
|
27014
|
+
useEffect54(() => {
|
|
26125
27015
|
if (isConnected && address && !isExternalConnected && connector && chain?.id) {
|
|
26126
27016
|
setExternalWallet({
|
|
26127
27017
|
address,
|
|
@@ -26130,17 +27020,17 @@ function DirectWalletHandler() {
|
|
|
26130
27020
|
});
|
|
26131
27021
|
}
|
|
26132
27022
|
}, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
|
|
26133
|
-
|
|
27023
|
+
useEffect54(() => {
|
|
26134
27024
|
if (isExternalConnected && !isConnected) {
|
|
26135
27025
|
clearExternalWallet();
|
|
26136
27026
|
}
|
|
26137
27027
|
}, [isConnected, isExternalConnected, clearExternalWallet]);
|
|
26138
|
-
|
|
27028
|
+
useEffect54(() => {
|
|
26139
27029
|
if (isExternalConnected && isConnected && chain?.id) {
|
|
26140
27030
|
setExternalChainId(chain.id);
|
|
26141
27031
|
}
|
|
26142
27032
|
}, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
|
|
26143
|
-
|
|
27033
|
+
useEffect54(() => {
|
|
26144
27034
|
if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
|
|
26145
27035
|
setExternalWallet({
|
|
26146
27036
|
address,
|
|
@@ -26215,7 +27105,7 @@ var init_TssManager = __esm({
|
|
|
26215
27105
|
// src/internal/components/WalletConnectHandler.tsx
|
|
26216
27106
|
import { useConnectModal as useConnectModal2 } from "@rainbow-me/rainbowkit";
|
|
26217
27107
|
import { useMutation as useMutation23, useQueryClient as useQueryClient27 } from "@tanstack/react-query";
|
|
26218
|
-
import React28, { useCallback as useCallback34, useEffect as
|
|
27108
|
+
import React28, { useCallback as useCallback34, useEffect as useEffect55 } from "react";
|
|
26219
27109
|
import { useAccount as useAccount2, useDisconnect as useDisconnect4, useSignMessage as useSignMessage2 } from "wagmi";
|
|
26220
27110
|
function WalletConnectHandler() {
|
|
26221
27111
|
const qc = useQueryClient27();
|
|
@@ -26270,7 +27160,7 @@ function WalletConnectHandler() {
|
|
|
26270
27160
|
const [hasStartedLinking, setHasStartedLinking] = React28.useState(false);
|
|
26271
27161
|
const [modalWasOpened, setModalWasOpened] = React28.useState(false);
|
|
26272
27162
|
const [pendingModalOpen, setPendingModalOpen] = React28.useState(false);
|
|
26273
|
-
|
|
27163
|
+
useEffect55(() => {
|
|
26274
27164
|
if (isWalletLinking && !hasStartedLinking) {
|
|
26275
27165
|
console.log("[WalletConnectHandler] Starting wallet link flow:", {
|
|
26276
27166
|
isConnected,
|
|
@@ -26308,18 +27198,18 @@ function WalletConnectHandler() {
|
|
|
26308
27198
|
setProviderType,
|
|
26309
27199
|
walletMode
|
|
26310
27200
|
]);
|
|
26311
|
-
|
|
27201
|
+
useEffect55(() => {
|
|
26312
27202
|
if (pendingModalOpen && !isConnected && openConnectModal) {
|
|
26313
27203
|
setPendingModalOpen(false);
|
|
26314
27204
|
openConnectModal();
|
|
26315
27205
|
}
|
|
26316
27206
|
}, [pendingModalOpen, isConnected, openConnectModal]);
|
|
26317
|
-
|
|
27207
|
+
useEffect55(() => {
|
|
26318
27208
|
if (connectModalOpen && hasStartedLinking) {
|
|
26319
27209
|
setModalWasOpened(true);
|
|
26320
27210
|
}
|
|
26321
27211
|
}, [connectModalOpen, hasStartedLinking]);
|
|
26322
|
-
|
|
27212
|
+
useEffect55(() => {
|
|
26323
27213
|
if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
26324
27214
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
26325
27215
|
onLinkingComplete(false);
|
|
@@ -26327,7 +27217,7 @@ function WalletConnectHandler() {
|
|
|
26327
27217
|
setModalWasOpened(false);
|
|
26328
27218
|
}
|
|
26329
27219
|
}, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
|
|
26330
|
-
|
|
27220
|
+
useEffect55(() => {
|
|
26331
27221
|
if (isWalletLinking) {
|
|
26332
27222
|
const timeout = setTimeout(() => {
|
|
26333
27223
|
console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
|
|
@@ -26447,7 +27337,7 @@ function WalletConnectHandler() {
|
|
|
26447
27337
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
26448
27338
|
}
|
|
26449
27339
|
});
|
|
26450
|
-
|
|
27340
|
+
useEffect55(() => {
|
|
26451
27341
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
|
|
26452
27342
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
26453
27343
|
if (!passportWalletAddress) {
|
|
@@ -26457,7 +27347,7 @@ function WalletConnectHandler() {
|
|
|
26457
27347
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
26458
27348
|
}
|
|
26459
27349
|
}, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
|
|
26460
|
-
|
|
27350
|
+
useEffect55(() => {
|
|
26461
27351
|
if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
|
|
26462
27352
|
const timeout = setTimeout(() => {
|
|
26463
27353
|
console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
|
|
@@ -29317,9 +30207,9 @@ import {
|
|
|
29317
30207
|
createContext,
|
|
29318
30208
|
useCallback as useCallback35,
|
|
29319
30209
|
useContext,
|
|
29320
|
-
useEffect as
|
|
30210
|
+
useEffect as useEffect56,
|
|
29321
30211
|
useMemo as useMemo17,
|
|
29322
|
-
useRef as
|
|
30212
|
+
useRef as useRef20
|
|
29323
30213
|
} from "react";
|
|
29324
30214
|
import { jsx as jsx126 } from "react/jsx-runtime";
|
|
29325
30215
|
function clearLegacyWagmiStorage() {
|
|
@@ -29339,9 +30229,9 @@ function clearLegacyWagmiStorage() {
|
|
|
29339
30229
|
}
|
|
29340
30230
|
function Provider(props) {
|
|
29341
30231
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
29342
|
-
const callbacksRef =
|
|
29343
|
-
|
|
29344
|
-
const config =
|
|
30232
|
+
const callbacksRef = useRef20(callbacks);
|
|
30233
|
+
useEffect56(() => notifyNoProjetctId(projectId), [projectId]);
|
|
30234
|
+
const config = useRef20(merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
29345
30235
|
const updateConfig = useCallback35((updates) => {
|
|
29346
30236
|
const prev = config.current;
|
|
29347
30237
|
const next = { ...prev };
|
|
@@ -29381,7 +30271,7 @@ function Provider(props) {
|
|
|
29381
30271
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
29382
30272
|
callbacksRef.current = next;
|
|
29383
30273
|
}, []);
|
|
29384
|
-
|
|
30274
|
+
useEffect56(() => {
|
|
29385
30275
|
if (typeof window === "undefined" || !projectId) return;
|
|
29386
30276
|
const mergedConfig = merge3(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
29387
30277
|
updateConfig(mergedConfig);
|
|
@@ -29401,7 +30291,7 @@ function Provider(props) {
|
|
|
29401
30291
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
29402
30292
|
}
|
|
29403
30293
|
}, [projectId, initialConfig]);
|
|
29404
|
-
|
|
30294
|
+
useEffect56(() => {
|
|
29405
30295
|
if (typeof window === "undefined" || !projectId) return;
|
|
29406
30296
|
try {
|
|
29407
30297
|
initSdkErrorTracking();
|
|
@@ -29470,7 +30360,7 @@ var init_ProviderContext = __esm({
|
|
|
29470
30360
|
});
|
|
29471
30361
|
|
|
29472
30362
|
// src/styles/built.css
|
|
29473
|
-
var built_default = `.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-2{right:.5rem}.embarkai-ui-scope .right-3{right:.75rem}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-2{top:.5rem}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .ml-auto{margin-left:auto}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-0\\.5{margin-top:.125rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .table{display:table}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-8{width:2rem;height:2rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-0{height:0}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-0{width:0}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-\\[100px\\]{max-width:100px}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary-h\\)\\]{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-4{padding-top:1rem;padding-bottom:1rem}.embarkai-ui-scope .py-8{padding-top:2rem;padding-bottom:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-top:var(--ui-kit-gap);padding-bottom:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pb-\\[var\\(--ui-kit-pd\\)\\]{padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-3{line-height:.75rem}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-primary-h:var(--embark-ui-primary-h,rgba(0,0,0,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,rgba(0,0,0,.6));--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-secondary-h:var(--embark-ui-secondary-h,hsla(0,0%,89%,.8));--ui-kit-secondary-a:var(--embark-ui-secondary-a,hsla(0,0%,89%,.6));--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-primary-h:var(--embark-ui-primary-h,hsla(0,0%,100%,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,hsla(0,0%,100%,.6));--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-secondary-h:var(--embark-ui-secondary-h,rgba(42,42,42,.6));--ui-kit-secondary-a:var(--embark-ui-secondary-a,rgba(42,42,42,.4));--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}@keyframes rotateShine{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.embarkai-ui-scope .button-shine-outline{position:absolute;top:0;left:0;width:100%;height:100%;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;-webkit-mask-composite:xor;mask-composite:exclude}.embarkai-ui-scope .button-shine-outline-shiner{pointer-events:none;position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .hover\\:bg-\\[\\#002c15\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#081f2c\\]:hover{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:hover{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .hover\\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:active{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover:disabled{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:hover:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:active:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:active:disabled{opacity:.5}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
|
|
30363
|
+
var built_default = `.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-2{right:.5rem}.embarkai-ui-scope .right-3{right:.75rem}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-2{top:.5rem}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .ml-auto{margin-left:auto}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-0\\.5{margin-top:.125rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .table{display:table}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-8{width:2rem;height:2rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-0{height:0}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-0{width:0}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-\\[100px\\]{max-width:100px}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary-h\\)\\]{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-4{padding-top:1rem;padding-bottom:1rem}.embarkai-ui-scope .py-8{padding-top:2rem;padding-bottom:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-top:var(--ui-kit-gap);padding-bottom:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pb-\\[var\\(--ui-kit-pd\\)\\]{padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-3{line-height:.75rem}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-primary-h:var(--embark-ui-primary-h,rgba(0,0,0,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,rgba(0,0,0,.6));--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-secondary-h:var(--embark-ui-secondary-h,hsla(0,0%,89%,.8));--ui-kit-secondary-a:var(--embark-ui-secondary-a,hsla(0,0%,89%,.6));--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-primary-h:var(--embark-ui-primary-h,hsla(0,0%,100%,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,hsla(0,0%,100%,.6));--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-secondary-h:var(--embark-ui-secondary-h,rgba(42,42,42,.6));--ui-kit-secondary-a:var(--embark-ui-secondary-a,rgba(42,42,42,.4));--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}@keyframes rotateShine{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.embarkai-ui-scope .button-shine-outline{position:absolute;top:0;left:0;width:100%;height:100%;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;-webkit-mask-composite:xor;mask-composite:exclude}.embarkai-ui-scope .button-shine-outline-shiner{pointer-events:none;position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .hover\\:bg-\\[\\#002c15\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#081f2c\\]:hover{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:hover{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .hover\\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:active{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover:disabled{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:hover:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:active:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:active:disabled{opacity:.5}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
|
|
29474
30364
|
|
|
29475
30365
|
// src/index.ts
|
|
29476
30366
|
init_ProviderContext();
|
|
@@ -29490,7 +30380,7 @@ init_useLayoutStore();
|
|
|
29490
30380
|
init_pro_mode();
|
|
29491
30381
|
init_utils2();
|
|
29492
30382
|
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader31, Shield as Shield3 } from "lucide-react";
|
|
29493
|
-
import { useEffect as
|
|
30383
|
+
import { useEffect as useEffect57, useMemo as useMemo18 } from "react";
|
|
29494
30384
|
import { Fragment as Fragment46, jsx as jsx127, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
29495
30385
|
function getFormattedStatus(label, status, showStatus) {
|
|
29496
30386
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
@@ -29510,7 +30400,7 @@ function ConnectWalletButton(props) {
|
|
|
29510
30400
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
29511
30401
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
29512
30402
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
29513
|
-
|
|
30403
|
+
useEffect57(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
29514
30404
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
29515
30405
|
const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
|
|
29516
30406
|
const indicators = useMemo18(() => {
|
|
@@ -30156,13 +31046,13 @@ var Hash = ({
|
|
|
30156
31046
|
|
|
30157
31047
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
30158
31048
|
init_base2();
|
|
30159
|
-
import { useEffect as
|
|
31049
|
+
import { useEffect as useEffect59, useState as useState32 } from "react";
|
|
30160
31050
|
import { jsx as jsx133, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
30161
31051
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
30162
31052
|
const [transactions, setTransactions] = useState32([]);
|
|
30163
31053
|
const [loading, setLoading] = useState32(true);
|
|
30164
31054
|
const [error, setError] = useState32(null);
|
|
30165
|
-
|
|
31055
|
+
useEffect59(() => {
|
|
30166
31056
|
const fetchTransactions2 = async () => {
|
|
30167
31057
|
try {
|
|
30168
31058
|
setLoading(true);
|
|
@@ -31025,8 +31915,8 @@ function useSmartAccountTransactions() {
|
|
|
31025
31915
|
// src/index.ts
|
|
31026
31916
|
init_iframe_manager();
|
|
31027
31917
|
init_Onboarding();
|
|
31918
|
+
init_Header2();
|
|
31028
31919
|
init_BuyMenu2();
|
|
31029
|
-
init_SendMenu2();
|
|
31030
31920
|
|
|
31031
31921
|
// src/internal/assets/index.ts
|
|
31032
31922
|
init_networks2();
|
|
@@ -31058,8 +31948,6 @@ autorun();
|
|
|
31058
31948
|
export {
|
|
31059
31949
|
AccountAbstractionError,
|
|
31060
31950
|
Address,
|
|
31061
|
-
BRIDGE_MENU_TOUR,
|
|
31062
|
-
BUY_MENU_BINANCE_TOUR,
|
|
31063
31951
|
ConnectWalletButton,
|
|
31064
31952
|
ErrorCodes,
|
|
31065
31953
|
Hash,
|
|
@@ -31067,10 +31955,10 @@ export {
|
|
|
31067
31955
|
LOCAL_STORAGE_I18N_KEY,
|
|
31068
31956
|
LangToggle,
|
|
31069
31957
|
NETWORKS_ICONS,
|
|
31958
|
+
ONBOARDING_TOURS,
|
|
31070
31959
|
PASSPORT_TRANSLATIONS,
|
|
31071
31960
|
PageKey,
|
|
31072
31961
|
Provider,
|
|
31073
|
-
SEND_MENU_TOUR,
|
|
31074
31962
|
SessionExpiredError,
|
|
31075
31963
|
TOKENS_ICONS,
|
|
31076
31964
|
ThemeToggle,
|