@embarkai/ui-kit 0.4.74 → 0.4.75

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/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
- function Highlight(props) {
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 forwardRef2 } from "react";
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 = forwardRef2((props, ref) => {
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: 'Tours are available under the "?" buttons of embarkAI menus. Click to have menu tour'
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: "EmbarkAI can be authenticated by external wallet as auth-profile provider (Settings -> Profiles).\n 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) and proceed with provided instructions"
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: "Your Assets",
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: "EmbarkAI \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u043D \u0432\u043D\u0435\u0448\u043D\u0438\u043C \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u043E\u043C \u043A\u0430\u043A \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u043F\u0440\u043E\u0444\u0438\u043B\u044F \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 (\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 -> \u041F\u0440\u043E\u0444\u0438\u043B\u0438).\n \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), \u0438 \u0441\u043B\u0435\u0434\u0443\u0439\u0442\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u044F\u043C."
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: "\u0412\u0430\u0448\u0438 \u0430\u043A\u0442\u0438\u0432\u044B",
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: "\u60A8\u7684\u8D44\u4EA7",
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/onboarder.ts
9060
+ // src/internal/components/Onboarding/useOnboardingStore.ts
8657
9061
  import { create as create4 } from "zustand";
8658
- var useOnboardingStore, Onboarder, onboarder;
8659
- var init_onboarder = __esm({
8660
- "src/internal/components/Onboarding/onboarder.ts"() {
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
- tooltip: { title: "", description: "" },
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 { elId, title, description } = this.tour[this.tourPointer];
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
- useOnboardingStore.getState().setFrame({ elRect: { x, y, width, height }, tooltip: { title, description } });
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 frameData;
8697
- const { elId, title, description } = this.tour[this.tourPointer];
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
- const { x, y, width, height } = elementRef.getBoundingClientRect();
8701
- frameData = { elRect: { x, y, width, height }, tooltip: { title, description } };
9112
+ elRectData = elementRef.getBoundingClientRect();
8702
9113
  } else {
8703
- const { x, y, width, height } = element.getBoundingClientRect();
8704
- frameData = { elRect: { x, y, width, height }, tooltip: { title, description } };
9114
+ elRectData = element.getBoundingClientRect();
9115
+ element.scrollIntoView({ behavior: "smooth", block: "center", inline: "center" });
8705
9116
  }
8706
- useOnboardingStore.getState().setFrame(frameData);
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().setFrame({
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, useRef as useRef9, useState as useState5 } from "react";
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) - EXPAND
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: x - ttShiftX - ttWidth / 2 + frameWidth / 2
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, ttCurrentHeight = 0 } = params;
8815
- let topPosY = y - expandValue * 2 - ttCurrentHeight;
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: isMobileView && topPosY >= EXPAND ? topPosY : bottomPosY
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 toolipElementRef = useRef9(null);
9240
+ const { elRect, mountIntoNode } = useOnboardingStore();
8830
9241
  const {
8831
- waitSecs,
8832
- elRect,
8833
- tooltip,
8834
- /** if embark is opened, onboard overlay has to be portaled into embark's dialog node to keep layers & pointer-events normal structure */
8835
- mountIntoNode
8836
- } = useOnboardingStore();
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 frame = {
8854
- x: elRect.x - expandValue,
8855
- y: elRect.y - expandValue,
8856
- width: elRect.width + expandValue * 2,
8857
- height: elRect.height + expandValue * (isMobileView ? 2 : 3)
8858
- };
8859
- const tt = {
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: frame.x,
8916
- y: frame.y,
8917
- width: frame.width,
8918
- height: frame.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,57 @@ function OnboardingOverlay() {
8924
9333
  ]
8925
9334
  }
8926
9335
  ),
8927
- isOnboarding && /* @__PURE__ */ jsxs17(
9336
+ /* @__PURE__ */ jsxs17(
8928
9337
  "div",
8929
9338
  {
8930
- ref: toolipElementRef,
8931
9339
  className: cn(
8932
- "absolute flex flex-col gap-1 p-[var(--ui-kit-pd)]",
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
- width: tt.width,
8939
- top: 0,
8940
- left: 0,
8941
- transition: "transform 0.3s ease, width 0.3s ease",
8942
- transform: `translate(${tt.x}px, ${tt.y}px)`,
8943
- borderRadius: isMobileView || tt.isOverflowX ? "var(--ui-kit-bdrs)" : "0 0 var(--ui-kit-bdrs) var(--ui-kit-bdrs)"
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
- className: "font-bold",
8948
- //@ts-expect-error i18n dynamic key typing
8949
- children: t(tooltip.title)
8950
- }),
8951
- /* @__PURE__ */ jsx21("p", {
8952
- className: "whitespace-pre-line",
8953
- //@ts-expect-error i18n dynamic key typing
8954
- children: t(tooltip.description)
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
+ "absolute top-2 right-2 text-[10px]",
9369
+ colorMode === "dark" ? "text-[var(--ui-kit-fg-inverted)]" : "text-[var(--ui-kit-fg)]"
9370
+ ),
9371
+ children: t("passport:common.hide")
9372
+ }
9373
+ ),
8956
9374
  !!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
9375
  Button,
8958
9376
  {
8959
9377
  variant: "default",
8960
9378
  size: "medium",
8961
- className: "w-full",
9379
+ className: cn("w-full", isMobileView && "text-[10px]"),
8962
9380
  onClick,
8963
9381
  disabled: continueCountdown !== null,
8964
9382
  children: [
8965
- continueCountdown !== null ? /* @__PURE__ */ jsx21(LoaderIcon, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" }),
9383
+ continueCountdown !== null && /* @__PURE__ */ jsx21(LoaderIcon, { className: "h-4 w-4 animate-spin" }),
8966
9384
  // @ts-expect-error i18n dynamic key typing
8967
- t(caption)
9385
+ t(caption),
9386
+ continueCountdown === null && /* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" })
8968
9387
  ]
8969
9388
  },
8970
9389
  index
@@ -8973,14 +9392,15 @@ function OnboardingOverlay() {
8973
9392
  {
8974
9393
  variant: "default-glow",
8975
9394
  size: "medium",
8976
- className: "w-full",
9395
+ className: cn("w-full", isMobileView && "text-[10px]"),
8977
9396
  onClick: () => onboarder.next(),
8978
9397
  disabled: continueCountdown !== null,
8979
9398
  children: [
8980
- continueCountdown !== null ? /* @__PURE__ */ jsx21(LoaderIcon, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" }),
9399
+ continueCountdown !== null && /* @__PURE__ */ jsx21(LoaderIcon, { className: "h-4 w-4 animate-spin" }),
8981
9400
  String(t("passport:common.continue")).toUpperCase(),
8982
9401
  " ",
8983
- continueCountdown !== null && continueCountdown
9402
+ continueCountdown !== null && continueCountdown,
9403
+ continueCountdown === null && /* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" })
8984
9404
  ]
8985
9405
  }
8986
9406
  )
@@ -8994,7 +9414,7 @@ function OnboardingOverlay() {
8994
9414
  mountIntoNode
8995
9415
  );
8996
9416
  }
8997
- var EXPAND, TOOLTIP_MIN_WIDTH;
9417
+ var EXPAND, TOOLTIP_MIN_WIDTH, TOP_POS_OFFSET;
8998
9418
  var init_OnboardingOverlay = __esm({
8999
9419
  "src/internal/components/Onboarding/OnboardingOverlay.tsx"() {
9000
9420
  init_i18n();
@@ -9003,8 +9423,24 @@ var init_OnboardingOverlay = __esm({
9003
9423
  init_utils2();
9004
9424
  init_button();
9005
9425
  init_onboarder();
9426
+ init_useOnboardingStore();
9006
9427
  EXPAND = 16;
9007
- TOOLTIP_MIN_WIDTH = 256;
9428
+ TOOLTIP_MIN_WIDTH = 320;
9429
+ TOP_POS_OFFSET = 112;
9430
+ }
9431
+ });
9432
+
9433
+ // src/internal/components/Onboarding/useOnboardingTouirAvailable.ts
9434
+ import { useEffect as useEffect13 } from "react";
9435
+ function useOnboardingTourAvailable(isAvailable) {
9436
+ useEffect13(() => {
9437
+ useOnboardingStore.getState().setIsTourAvailable(isAvailable);
9438
+ return () => useOnboardingStore.getState().setIsTourAvailable(false);
9439
+ }, [isAvailable]);
9440
+ }
9441
+ var init_useOnboardingTouirAvailable = __esm({
9442
+ "src/internal/components/Onboarding/useOnboardingTouirAvailable.ts"() {
9443
+ init_useOnboardingStore();
9008
9444
  }
9009
9445
  });
9010
9446
 
@@ -9013,18 +9449,20 @@ var init_Onboarding = __esm({
9013
9449
  "src/internal/components/Onboarding/index.ts"() {
9014
9450
  init_OnboardingOverlay();
9015
9451
  init_onboarder();
9452
+ init_useOnboardingStore();
9453
+ init_useOnboardingTouirAvailable();
9016
9454
  }
9017
9455
  });
9018
9456
 
9019
9457
  // src/internal/components/ui/switch.tsx
9020
- import { forwardRef as forwardRef3, useState as useState6 } from "react";
9458
+ import { forwardRef as forwardRef4, useState as useState6 } from "react";
9021
9459
  import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
9022
9460
  var Switch;
9023
9461
  var init_switch = __esm({
9024
9462
  "src/internal/components/ui/switch.tsx"() {
9025
9463
  init_useLayoutStore();
9026
9464
  init_utils2();
9027
- Switch = forwardRef3((props, ref) => {
9465
+ Switch = forwardRef4((props, ref) => {
9028
9466
  const { className, labels, ...inputProps } = props;
9029
9467
  const colorMode = useLayoutStore((st) => st.colorMode);
9030
9468
  const [labelW, setLabelW] = useState6(0);
@@ -9496,11 +9934,11 @@ var init_priceFormatter = __esm({
9496
9934
 
9497
9935
  // src/internal/components/BuyMenu/useBuyMenuStore.ts
9498
9936
  import { keys, noop } from "lodash-es";
9499
- import { useEffect as useEffect13 } from "react";
9937
+ import { useEffect as useEffect14 } from "react";
9500
9938
  import { create as create5 } from "zustand";
9501
9939
  import { persist } from "zustand/middleware";
9502
9940
  function useBuyMenuParams() {
9503
- useEffect13(() => {
9941
+ useEffect14(() => {
9504
9942
  const { pageParams, setPageParams } = useLayoutDataStore.getState();
9505
9943
  if (!pageParams || !keys(pageParams).length) return;
9506
9944
  const { amount, crypto: crypto2, onRampWidgetRedirected } = pageParams || {};
@@ -10097,15 +10535,12 @@ var init_onboarding_setup = __esm({
10097
10535
  elId: "buymenu-binance-estimate" /* binanceEstimate */,
10098
10536
  title: "passport:buyMenu.onboarding.binanceEstimate.title",
10099
10537
  description: "passport:buyMenu.onboarding.binanceEstimate.description",
10538
+ forced: true,
10539
+ // no hide button for this step, user must click "Next" to proceed
10100
10540
  onNext: () => {
10101
10541
  useBuyMenuStore.getState().setIsProviderSummary(false);
10102
10542
  useBinanceStore.getState().setQuoteData(null);
10103
10543
  }
10104
- },
10105
- {
10106
- elId: "buymenu-tour-button" /* tourButton */,
10107
- title: "passport:common.onboarding.tourButton.title",
10108
- description: "passport:common.onboarding.tourButton.description"
10109
10544
  }
10110
10545
  ];
10111
10546
  }
@@ -10566,7 +11001,7 @@ import { useInfiniteQuery } from "@tanstack/react-query";
10566
11001
  import dayjs from "dayjs";
10567
11002
  import { debounce as debounce4 } from "lodash-es";
10568
11003
  import { DownloadIcon, ExternalLinkIcon, LoaderIcon as LoaderIcon3 } from "lucide-react";
10569
- import { useCallback as useCallback12, useEffect as useEffect14, useMemo as useMemo4 } from "react";
11004
+ import { useCallback as useCallback12, useEffect as useEffect15, useMemo as useMemo4 } from "react";
10570
11005
  import { jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
10571
11006
  function getStatusVariant(status) {
10572
11007
  switch (status) {
@@ -10707,7 +11142,7 @@ function BinanceTxHistory() {
10707
11142
  }, 200),
10708
11143
  []
10709
11144
  );
10710
- useEffect14(() => {
11145
+ useEffect15(() => {
10711
11146
  if (isTxDataLoading || !txList?.length || txList.length > 10) return;
10712
11147
  updateExpandable();
10713
11148
  }, [isTxDataLoading, txList]);
@@ -10754,11 +11189,11 @@ var init_BinanceTxHistory = __esm({
10754
11189
 
10755
11190
  // src/internal/components/BuyMenu/binance/useBinanceSseTracing.ts
10756
11191
  import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
10757
- import { useEffect as useEffect15, useRef as useRef10 } from "react";
11192
+ import { useEffect as useEffect16, useRef as useRef9 } from "react";
10758
11193
  function useBinanceSseTxTracing(walletAddress) {
10759
11194
  const qc = useQueryClient4();
10760
- const debounceRef = useRef10(null);
10761
- useEffect15(() => {
11195
+ const debounceRef = useRef9(null);
11196
+ useEffect16(() => {
10762
11197
  if (!walletAddress) return;
10763
11198
  const iframeManager = getIframeManager();
10764
11199
  if (!iframeManager) return;
@@ -10800,7 +11235,7 @@ var init_utils6 = __esm({
10800
11235
  // src/internal/components/BuyMenu/binance/Binance.tsx
10801
11236
  import { useMutation as useMutation6, useQuery as useQuery3, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
10802
11237
  import { LoaderIcon as LoaderIcon4 } from "lucide-react";
10803
- import { useEffect as useEffect16 } from "react";
11238
+ import { useEffect as useEffect17 } from "react";
10804
11239
  import { Fragment as Fragment11, jsx as jsx41, jsxs as jsxs35 } from "react/jsx-runtime";
10805
11240
  function Binance() {
10806
11241
  const qc = useQueryClient5();
@@ -10822,7 +11257,7 @@ function Binance() {
10822
11257
  } = useBuyMenuStore();
10823
11258
  const paymentMode = useBinanceStore((st) => st.paymentMode);
10824
11259
  const isCurrurenciesSelected = !!selectedCrypto && !!selectedFiat;
10825
- useEffect16(() => {
11260
+ useEffect17(() => {
10826
11261
  if (!isCurrurenciesSelected) return;
10827
11262
  useBuyMenuStore.getState().setRenderKey(`${selectedCrypto}-${selectedFiat}-${Date.now()}`);
10828
11263
  }, [isCurrurenciesSelected]);
@@ -10857,7 +11292,7 @@ function Binance() {
10857
11292
  });
10858
11293
  const paymentModes = paymentModesData?.data?.paymentMethods || [];
10859
11294
  const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
10860
- useEffect16(() => {
11295
+ useEffect17(() => {
10861
11296
  useBuyMenuStore.getState().setMinAmount(Number(selectedPaymentMode?.fiatMinLimit || "0"));
10862
11297
  }, [selectedPaymentMode]);
10863
11298
  const { mutate: estimateQuote, isPending: isQuoteEstimating } = useMutation6({
@@ -10885,22 +11320,22 @@ function Binance() {
10885
11320
  }
10886
11321
  });
10887
11322
  const availableFiats = (tradingPairsData?.data?.fiatCurrencies || []).map((ticker) => ({ ticker }));
10888
- useEffect16(() => {
11323
+ useEffect17(() => {
10889
11324
  if (!!selectedFiat || !availableFiats?.length) return;
10890
11325
  const targetFiat = availableFiats.find((item) => PREFERRED_FIATS.includes(item.ticker)) || availableFiats[0];
10891
11326
  useBuyMenuStore.getState().setSelectedFiat(targetFiat.ticker);
10892
11327
  }, [availableFiats, selectedFiat]);
10893
- useEffect16(() => {
11328
+ useEffect17(() => {
10894
11329
  if (!!selectedCrypto || !networkAvailableCryptoList?.length) return;
10895
11330
  const targetCrypto = networkAvailableCryptoList.find((item) => PREFERRED_CRYPTOS.includes(item.cryptoCurrency)) || networkAvailableCryptoList[0];
10896
11331
  useBuyMenuStore.getState().setSelectedCrypto(targetCrypto.cryptoCurrency);
10897
11332
  }, [networkAvailableCryptoList, selectedCrypto]);
10898
- useEffect16(() => {
11333
+ useEffect17(() => {
10899
11334
  if (!!paymentMode || !paymentModes.length) return;
10900
11335
  const targetPaymentMode = paymentModes.find((item) => item.payMethodCode === PREFERRED_PAYMENT_METHOD) || paymentModes[0];
10901
11336
  useBinanceStore.getState().setPaymentMode(getPayMethodID(targetPaymentMode));
10902
11337
  }, [paymentModes]);
10903
- useEffect16(() => {
11338
+ useEffect17(() => {
10904
11339
  return () => {
10905
11340
  useBinanceStore.getState().setPaymentMode(null);
10906
11341
  qc.resetQueries({ queryKey: [QUERY_KEYS2.binanceTradingPairs] });
@@ -11419,11 +11854,11 @@ var init_networks = __esm({
11419
11854
 
11420
11855
  // src/internal/components/BuyMenu/finchpay/useFinchpaySseTxTracing.ts
11421
11856
  import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
11422
- import { useEffect as useEffect17, useRef as useRef11 } from "react";
11857
+ import { useEffect as useEffect18, useRef as useRef10 } from "react";
11423
11858
  function useFinchpaySseTxTracing(walletAddress) {
11424
11859
  const qc = useQueryClient6();
11425
- const debounceRef = useRef11(null);
11426
- useEffect17(() => {
11860
+ const debounceRef = useRef10(null);
11861
+ useEffect18(() => {
11427
11862
  if (!walletAddress) return;
11428
11863
  const iframeManager = getIframeManager();
11429
11864
  if (!iframeManager) return;
@@ -11472,7 +11907,7 @@ var init_utils7 = __esm({
11472
11907
  // src/internal/components/BuyMenu/finchpay/FinchPay.tsx
11473
11908
  import { useQuery as useQuery4, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
11474
11909
  import { DollarSign, LoaderIcon as LoaderIcon6 } from "lucide-react";
11475
- import { useEffect as useEffect18 } from "react";
11910
+ import { useEffect as useEffect19 } from "react";
11476
11911
  import { Fragment as Fragment12, jsx as jsx44, jsxs as jsxs38 } from "react/jsx-runtime";
11477
11912
  function FinchPay() {
11478
11913
  const qc = useQueryClient7();
@@ -11548,11 +11983,11 @@ function FinchPay() {
11548
11983
  })
11549
11984
  });
11550
11985
  const minimum = Number(limitsData?.min_amount || "0");
11551
- useEffect18(() => {
11986
+ useEffect19(() => {
11552
11987
  if (minimum <= 0) return;
11553
11988
  useBuyMenuStore.getState().setMinAmount(minimum);
11554
11989
  }, [minimum]);
11555
- useEffect18(() => {
11990
+ useEffect19(() => {
11556
11991
  if (srcInputAmount >= minimum) return;
11557
11992
  useBuyMenuStore.getState().setRenderKey(`finchpay-input-minimum-warning-${Date.now()}`);
11558
11993
  }, [minimum, srcInputAmount]);
@@ -11580,23 +12015,23 @@ function FinchPay() {
11580
12015
  // defaults to CARD estimation, widgetUrl
11581
12016
  })
11582
12017
  });
11583
- useEffect18(() => {
12018
+ useEffect19(() => {
11584
12019
  const { error: errorTitle, message: errorMessage } = handleErrors([currenciesError, limitsError, estimateError]);
11585
12020
  if (!errorTitle && !errorMessage) return;
11586
12021
  console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
11587
12022
  useBuyMenuStore.getState().setError(errorMessage);
11588
12023
  }, [currenciesError, limitsError, estimateError]);
11589
- useEffect18(() => {
12024
+ useEffect19(() => {
11590
12025
  if (!!selectedFiat || currenciesData.fiats.length === 0) return;
11591
12026
  const fallbackFiat = currenciesData.fiats[0];
11592
12027
  const targetFiat = currenciesData.fiats.find((f) => f.ticker.toUpperCase() === "USD") || fallbackFiat;
11593
12028
  useBuyMenuStore.getState().setSelectedFiat(targetFiat.ticker);
11594
12029
  }, [currenciesData, selectedFiat]);
11595
- useEffect18(() => {
12030
+ useEffect19(() => {
11596
12031
  if (!!selectedCrypto || currenciesData.currentNetworkCoins.length === 0) return;
11597
12032
  useBuyMenuStore.getState().setSelectedCrypto(currenciesData.currentNetworkCoins[0].ticker);
11598
12033
  }, [currenciesData, selectedCrypto]);
11599
- useEffect18(() => {
12034
+ useEffect19(() => {
11600
12035
  return () => {
11601
12036
  qc.resetQueries({ queryKey: [QUERY_KEYS2.finchPayCurrencies] });
11602
12037
  qc.resetQueries({ queryKey: [QUERY_KEYS2.finchPayLimits] });
@@ -11850,7 +12285,7 @@ var init_ProviderSelector = __esm({
11850
12285
  });
11851
12286
 
11852
12287
  // src/internal/components/BuyMenu/useHandleInputAmount.ts
11853
- import { useEffect as useEffect19, useRef as useRef12 } from "react";
12288
+ import { useEffect as useEffect20, useRef as useRef11 } from "react";
11854
12289
  var ON_INPUT_QUERY_DELAY, useHandleInputAmount;
11855
12290
  var init_useHandleInputAmount = __esm({
11856
12291
  "src/internal/components/BuyMenu/useHandleInputAmount.ts"() {
@@ -11858,12 +12293,12 @@ var init_useHandleInputAmount = __esm({
11858
12293
  init_useBuyMenuStore();
11859
12294
  ON_INPUT_QUERY_DELAY = 1500;
11860
12295
  useHandleInputAmount = () => {
11861
- const lastRampProviderRef = useRef12(DEFAULT_PROVIDER2);
12296
+ const lastRampProviderRef = useRef11(DEFAULT_PROVIDER2);
11862
12297
  const rampProvider = useBuyMenuStore((st) => st.rampProvider);
11863
12298
  const srcInputAmount = useBuyMenuStore((st) => st.srcInputAmount);
11864
12299
  const minAmount = useBuyMenuStore((st) => st.minAmount);
11865
- const queryAmountTimer = useRef12(null);
11866
- useEffect19(() => {
12300
+ const queryAmountTimer = useRef11(null);
12301
+ useEffect20(() => {
11867
12302
  if (queryAmountTimer.current) clearTimeout(queryAmountTimer.current);
11868
12303
  queryAmountTimer.current = setTimeout(() => {
11869
12304
  const checkedValue = Math.ceil(Math.max(Number(srcInputAmount), Number(minAmount)));
@@ -11871,7 +12306,7 @@ var init_useHandleInputAmount = __esm({
11871
12306
  useBuyMenuStore.getState().setSrcQueryAmount(checkedValue);
11872
12307
  }, ON_INPUT_QUERY_DELAY);
11873
12308
  }, [minAmount, srcInputAmount]);
11874
- useEffect19(() => {
12309
+ useEffect20(() => {
11875
12310
  if (lastRampProviderRef.current === rampProvider) return;
11876
12311
  const {
11877
12312
  setIsProviderSummary,
@@ -11894,7 +12329,7 @@ var init_useHandleInputAmount = __esm({
11894
12329
  });
11895
12330
 
11896
12331
  // src/internal/components/BuyMenu/BuyMenu.tsx
11897
- import { ArrowLeft as ArrowLeft3, CircleQuestionMarkIcon } from "lucide-react";
12332
+ import { ArrowLeft as ArrowLeft3 } from "lucide-react";
11898
12333
  import { Fragment as Fragment14, jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
11899
12334
  function BuyMenu() {
11900
12335
  const { t } = useT();
@@ -11915,6 +12350,7 @@ function BuyMenu() {
11915
12350
  const ProviderComponent = RAMP_PROVIDERS[rampProvider];
11916
12351
  const showExtras = !isCryptoSelector && !isFiatSelector && !isProviderSummary && !isProviderSelector && !isPaymentModeSelector;
11917
12352
  const showProviderTrigger = showExtras && !isTransactionHistory;
12353
+ useOnboardingTourAvailable(showProviderTrigger);
11918
12354
  return /* @__PURE__ */ jsx46(
11919
12355
  "div",
11920
12356
  {
@@ -11973,30 +12409,17 @@ function BuyMenu() {
11973
12409
  }
11974
12410
  ),
11975
12411
  /* @__PURE__ */ jsx46("span", { className: "block flex-none text-xl font-semibold", children: t("passport:buyMenu.title") }),
11976
- showExtras && /* @__PURE__ */ jsxs40("div", { className: "flex-1 h-8 flex items-center justify-end gap-[var(--ui-kit-gap)]", children: [
11977
- showProviderTrigger && /* @__PURE__ */ jsx46(
11978
- Button,
11979
- {
11980
- ref: (inst) => onboarder.registerElement("buymenu-tour-button" /* tourButton */, inst),
11981
- variant: "ghost",
11982
- size: "icon",
11983
- className: "flex-none",
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
- }
12412
+ showExtras && /* @__PURE__ */ jsx46("div", { className: "flex-1 h-8 flex items-center justify-end gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx46(
12413
+ Switch,
12414
+ {
12415
+ labels: { checked: "PURCHASE", unchecked: "HISTORY" },
12416
+ checked: isTransactionHistory,
12417
+ onChange: () => {
12418
+ useBuyMenuStore.getState().setError(null);
12419
+ useBuyMenuStore.getState().setIsTransactionHistory();
11997
12420
  }
11998
- )
11999
- ] })
12421
+ }
12422
+ ) })
12000
12423
  ] }),
12001
12424
  showProviderTrigger && /* @__PURE__ */ jsxs40(Fragment14, { children: [
12002
12425
  /* @__PURE__ */ jsx46("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:buyMenu.selectProvider") }),
@@ -12041,7 +12464,6 @@ var init_BuyMenu = __esm({
12041
12464
  init_switch();
12042
12465
  init_ProviderSelector();
12043
12466
  init_contants();
12044
- init_onboarding_setup();
12045
12467
  init_useBuyMenuStore();
12046
12468
  init_useHandleInputAmount();
12047
12469
  }
@@ -12395,6 +12817,20 @@ var init_ChainItem = __esm({
12395
12817
  }
12396
12818
  });
12397
12819
 
12820
+ // src/internal/components/ChainsMenu/onboarding.setup.ts
12821
+ var CHAIN_MENU_TOUR;
12822
+ var init_onboarding_setup2 = __esm({
12823
+ "src/internal/components/ChainsMenu/onboarding.setup.ts"() {
12824
+ CHAIN_MENU_TOUR = [
12825
+ {
12826
+ elId: "embarkai-chain-menu-onboarding" /* chainMenu */,
12827
+ title: "passport:chainMenu.onboarding.chainMenu.title",
12828
+ description: "passport:chainMenu.onboarding.chainMenu.description"
12829
+ }
12830
+ ];
12831
+ }
12832
+ });
12833
+
12398
12834
  // src/internal/components/ChainsMenu/ChainsMenu.tsx
12399
12835
  import { PAYMASTER_CACHE_TTL_MS } from "@embarkai/core";
12400
12836
  import { getChainConfig as getChainConfig8, SUPPORTED_MAINNETS as SUPPORTED_MAINNETS2 } from "@embarkai/core/read";
@@ -12403,12 +12839,13 @@ import { ArrowLeft as ArrowLeft4 } from "lucide-react";
12403
12839
  import { useMemo as useMemo5, useState as useState10 } from "react";
12404
12840
  import { jsx as jsx54, jsxs as jsxs48 } from "react/jsx-runtime";
12405
12841
  function ChainsMenu() {
12842
+ const { t } = useT();
12406
12843
  const config = useProviderConfig().config;
12407
12844
  const activeChainId = useSession((st) => st.activeChainId);
12845
+ const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
12408
12846
  const [isTestnets, setIsTestnets] = useState10(false);
12409
12847
  const [nextChainId, setNextChainId] = useState10(null);
12410
- const { t } = useT();
12411
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
12848
+ useOnboardingTourAvailable(true);
12412
12849
  const visibleNetworks = useMemo5(() => {
12413
12850
  return NETWORK_OPTIONS.filter(
12414
12851
  (option) => option.isActive && (isTestnets ? true : SUPPORTED_MAINNETS2.includes(option.chainId))
@@ -12439,6 +12876,7 @@ function ChainsMenu() {
12439
12876
  return /* @__PURE__ */ jsx54(
12440
12877
  "div",
12441
12878
  {
12879
+ ref: (inst) => onboarder.registerElement("embarkai-chain-menu-onboarding" /* chainMenu */, inst),
12442
12880
  style: {
12443
12881
  "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
12444
12882
  "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
@@ -12493,6 +12931,7 @@ var init_ChainsMenu = __esm({
12493
12931
  init_useLayoutDataStore();
12494
12932
  init_useLayoutStore();
12495
12933
  init_Expandable2();
12934
+ init_Onboarding();
12496
12935
  init_button();
12497
12936
  init_switch();
12498
12937
  init_ChainItem();
@@ -12593,6 +13032,7 @@ var init_ChainsMenu2 = __esm({
12593
13032
  "src/internal/components/ChainsMenu/index.ts"() {
12594
13033
  init_ChainsMenu();
12595
13034
  init_ChainSwitchRequest();
13035
+ init_onboarding_setup2();
12596
13036
  }
12597
13037
  });
12598
13038
 
@@ -13267,7 +13707,7 @@ var init_guardian_backup = __esm({
13267
13707
  });
13268
13708
 
13269
13709
  // src/internal/components/DevicesMenu/DeviceManageScreen.tsx
13270
- import { useCallback as useCallback14, useEffect as useEffect20, useRef as useRef13, useState as useState12 } from "react";
13710
+ import { useCallback as useCallback14, useEffect as useEffect21, useRef as useRef12, useState as useState12 } from "react";
13271
13711
  import { ArrowLeft as ArrowLeft7, Cpu, Download, HardDrive, Loader2 as Loader23, Trash2, Upload } from "lucide-react";
13272
13712
  import { Fragment as Fragment15, jsx as jsx57, jsxs as jsxs51 } from "react/jsx-runtime";
13273
13713
  function formatSize(bytes) {
@@ -13282,19 +13722,19 @@ function DeviceManageScreen() {
13282
13722
  const userId = session?.mpcUserId || "";
13283
13723
  const deviceId = pageParams?.deviceId;
13284
13724
  const deviceName = pageParams?.deviceName;
13285
- const guardianRef = useRef13(null);
13725
+ const guardianRef = useRef12(null);
13286
13726
  const [screen, setScreen] = useState12({ step: "connecting" });
13287
13727
  const [actionState, setActionState] = useState12(null);
13288
13728
  const [password, setPassword] = useState12("");
13289
13729
  const [statusMessage, setStatusMessage] = useState12(null);
13290
13730
  const [errorMessage, setErrorMessage] = useState12(null);
13291
13731
  const [waitingConfirm, setWaitingConfirm] = useState12(false);
13292
- useEffect20(() => {
13732
+ useEffect21(() => {
13293
13733
  if (!statusMessage) return;
13294
13734
  const t = setTimeout(() => setStatusMessage(null), 3e3);
13295
13735
  return () => clearTimeout(t);
13296
13736
  }, [statusMessage]);
13297
- useEffect20(() => {
13737
+ useEffect21(() => {
13298
13738
  if (!deviceId || !isWebSerialAvailable()) {
13299
13739
  setScreen({ step: "error", message: "WebSerial not available" });
13300
13740
  return;
@@ -14422,7 +14862,7 @@ var init_cloudStorage = __esm({
14422
14862
 
14423
14863
  // src/internal/components/KeyshareRestoreMenu/hooks/useCreateBackup.ts
14424
14864
  import { useMutation as useMutation9, useQueryClient as useQueryClient9 } from "@tanstack/react-query";
14425
- import { useCallback as useCallback17, useEffect as useEffect21 } from "react";
14865
+ import { useCallback as useCallback17, useEffect as useEffect22 } from "react";
14426
14866
  function useCreateBackup() {
14427
14867
  const qc = useQueryClient9();
14428
14868
  const session = useSession((st) => st.session);
@@ -14431,7 +14871,7 @@ function useCreateBackup() {
14431
14871
  const usePasskey = useRestoreStore((st) => st.usePasskey);
14432
14872
  const restorePassword = useRestoreStore((st) => st.restorePassword);
14433
14873
  const selectedCloudProvider = useRestoreStore((st) => st.selectedCloudProvider);
14434
- useEffect21(() => {
14874
+ useEffect22(() => {
14435
14875
  if (!hasServerVault) {
14436
14876
  useRestoreStore.getState().setMethod("server");
14437
14877
  useLayoutStore.getState().setIsDialogForced(true);
@@ -14726,7 +15166,7 @@ var init_useRestoreAccount = __esm({
14726
15166
  });
14727
15167
 
14728
15168
  // src/internal/components/KeyshareRestoreMenu/hooks/useValidateFileBackup.ts
14729
- import { useEffect as useEffect22 } from "react";
15169
+ import { useEffect as useEffect23 } from "react";
14730
15170
  function validateRestoreFileFormat(parsedData) {
14731
15171
  if (typeof parsedData !== "object" || parsedData === null) return false;
14732
15172
  const data = parsedData;
@@ -14736,7 +15176,7 @@ function useValidateFileBackup() {
14736
15176
  const restoreFile = useRestoreStore((st) => st.restoreFile);
14737
15177
  const setError = useRestoreStore((st) => st.setError);
14738
15178
  const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
14739
- useEffect22(() => {
15179
+ useEffect23(() => {
14740
15180
  if (!restoreFile) {
14741
15181
  return;
14742
15182
  }
@@ -14853,16 +15293,80 @@ var init_MethodSelector = __esm({
14853
15293
  { method: "cloud", label: "passport:backupMenu.cloud", Icon: Cloud, disabled: true }
14854
15294
  ];
14855
15295
  if (isWebSerialAvailable()) {
14856
- methods.push({ method: "guardian", label: "Guardian", Icon: Cpu3 });
15296
+ methods.push({ method: "guardian", label: "passport:guardiansMenu.title", Icon: Cpu3 });
14857
15297
  }
14858
15298
  return methods;
14859
15299
  };
14860
15300
  }
14861
15301
  });
14862
15302
 
15303
+ // src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts
15304
+ var KEYSHARE_BACKUP_MENU_TOUR;
15305
+ var init_onboarding_setup3 = __esm({
15306
+ "src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
15307
+ init_hooks();
15308
+ KEYSHARE_BACKUP_MENU_TOUR = [
15309
+ {
15310
+ elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
15311
+ title: "passport:backupMenu.onboarding.backupMenu.title",
15312
+ description: "passport:backupMenu.onboarding.backupMenu.description",
15313
+ onNext: () => {
15314
+ const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
15315
+ setSuccess(null);
15316
+ setError(null);
15317
+ setRestoreFile(null);
15318
+ setRestorePassword("");
15319
+ setShowPassword(false);
15320
+ setUsePasskey(false);
15321
+ setMethod("server");
15322
+ }
15323
+ },
15324
+ {
15325
+ elId: "embarkai-keyshare-backup-method-onboarding" /* backupEncryptionMethodSelector */,
15326
+ title: "passport:backupMenu.onboarding.backupEncryptionMethod.title",
15327
+ description: "passport:backupMenu.onboarding.backupEncryptionMethod.description",
15328
+ onNext: () => {
15329
+ const { setRestorePassword, setShowPassword } = useRestoreStore.getState();
15330
+ setRestorePassword("<your-strong-password>");
15331
+ setShowPassword(true);
15332
+ }
15333
+ },
15334
+ {
15335
+ elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
15336
+ title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
15337
+ description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
15338
+ onNext: () => {
15339
+ const { setRestorePassword, setShowPassword } = useRestoreStore.getState();
15340
+ setRestorePassword("");
15341
+ setShowPassword(false);
15342
+ useRestoreStore.getState().setUsePasskey(true);
15343
+ }
15344
+ },
15345
+ {
15346
+ elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
15347
+ title: "passport:backupMenu.onboarding.backupEncryptionPasskey.title",
15348
+ description: "passport:backupMenu.onboarding.backupEncryptionPasskey.description",
15349
+ onNext: () => {
15350
+ useRestoreStore.getState().setUsePasskey(false);
15351
+ }
15352
+ },
15353
+ {
15354
+ elId: "embarkai-keyshare-backup-status-onboarding" /* backupStatus */,
15355
+ title: "passport:backupMenu.onboarding.backupStatus.title",
15356
+ description: "passport:backupMenu.onboarding.backupStatus.description"
15357
+ },
15358
+ {
15359
+ elId: "embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */,
15360
+ title: "passport:backupMenu.onboarding.backupAdvanced.title",
15361
+ description: "passport:backupMenu.onboarding.backupAdvanced.description"
15362
+ }
15363
+ ];
15364
+ }
15365
+ });
15366
+
14863
15367
  // src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
14864
15368
  import { ChevronRight as ChevronRight2, Eye, EyeOff, Info as Info3, Key as Key4, Loader as Loader8, Plus } from "lucide-react";
14865
- import { useEffect as useEffect23, useRef as useRef14 } from "react";
15369
+ import { useEffect as useEffect24, useRef as useRef13 } from "react";
14866
15370
  import { Fragment as Fragment18, jsx as jsx61, jsxs as jsxs55 } from "react/jsx-runtime";
14867
15371
  function PasswordPasskey(props) {
14868
15372
  const { t } = useT();
@@ -14877,7 +15381,7 @@ function PasswordPasskey(props) {
14877
15381
  onCreatePasskey
14878
15382
  } = props;
14879
15383
  const hasServerVault = useSession((st) => st.hasServerVault);
14880
- const actionRef = useRef14(null);
15384
+ const actionRef = useRef13(null);
14881
15385
  const {
14882
15386
  showPassword,
14883
15387
  restorePassword,
@@ -14891,46 +15395,55 @@ function PasswordPasskey(props) {
14891
15395
  } = useRestoreStore();
14892
15396
  const { config } = useProviderConfig();
14893
15397
  const isPasskeyEnabled = config.current.passkey.enabled;
14894
- useEffect23(() => {
15398
+ useEffect24(() => {
14895
15399
  if (!isPasskeyEnabled && usePasskey) setUsePasskey(false);
14896
15400
  }, [isPasskeyEnabled, usePasskey]);
14897
15401
  return /* @__PURE__ */ jsxs55(Fragment18, { children: [
14898
- mode === "backup" && isPasskeyEnabled && /* @__PURE__ */ jsxs55("div", { className: "flex items-center justify-center px-[var(--ui-kit-pd)]", children: [
14899
- /* @__PURE__ */ jsxs55(
14900
- Button,
14901
- {
14902
- size: "medium",
14903
- variant: "ghost",
14904
- onClick: () => {
14905
- setUsePasskey(false);
14906
- setRestoreFile(null);
14907
- setRestorePassword("");
14908
- },
14909
- className: cn(usePasskey ? "opacity-50" : "opacity-100"),
14910
- children: [
14911
- /* @__PURE__ */ jsx61(opt_default, { className: "w-4 h-4 inline-block mr-1" }),
14912
- t("passport:common.password")
14913
- ]
14914
- }
14915
- ),
14916
- /* @__PURE__ */ jsxs55(
14917
- Button,
14918
- {
14919
- size: "medium",
14920
- variant: "ghost",
14921
- onClick: () => {
14922
- setUsePasskey(true);
14923
- setRestoreFile(null);
14924
- setRestorePassword("");
14925
- },
14926
- className: cn(usePasskey ? "opacity-100" : "opacity-50"),
14927
- children: [
14928
- /* @__PURE__ */ jsx61(Key4, { className: "w-4 h-4 inline-block mr-1" }),
14929
- t("passport:common.passkey")
14930
- ]
14931
- }
14932
- )
14933
- ] }),
15402
+ mode === "backup" && isPasskeyEnabled && /* @__PURE__ */ jsxs55(
15403
+ "div",
15404
+ {
15405
+ ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-method-onboarding" /* backupEncryptionMethodSelector */, inst),
15406
+ className: "flex items-center justify-center px-[var(--ui-kit-pd)]",
15407
+ children: [
15408
+ /* @__PURE__ */ jsxs55(
15409
+ Button,
15410
+ {
15411
+ ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-method-password-onboarding" /* backupEncryptionMethodPassword */, inst),
15412
+ size: "medium",
15413
+ variant: "ghost",
15414
+ onClick: () => {
15415
+ setUsePasskey(false);
15416
+ setRestoreFile(null);
15417
+ setRestorePassword("");
15418
+ },
15419
+ className: cn(usePasskey ? "opacity-50" : "opacity-100"),
15420
+ children: [
15421
+ /* @__PURE__ */ jsx61(opt_default, { className: "w-4 h-4 inline-block mr-1" }),
15422
+ t("passport:common.password")
15423
+ ]
15424
+ }
15425
+ ),
15426
+ /* @__PURE__ */ jsxs55(
15427
+ Button,
15428
+ {
15429
+ ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-method-passkey-onboarding" /* backupEncryptionMethodPasskey */, inst),
15430
+ size: "medium",
15431
+ variant: "ghost",
15432
+ onClick: () => {
15433
+ setUsePasskey(true);
15434
+ setRestoreFile(null);
15435
+ setRestorePassword("");
15436
+ },
15437
+ className: cn(usePasskey ? "opacity-100" : "opacity-50"),
15438
+ children: [
15439
+ /* @__PURE__ */ jsx61(Key4, { className: "w-4 h-4 inline-block mr-1" }),
15440
+ t("passport:common.passkey")
15441
+ ]
15442
+ }
15443
+ )
15444
+ ]
15445
+ }
15446
+ ),
14934
15447
  !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
15448
  t("passport:backupMenu.passkeyMsg"),
14936
15449
  " ",
@@ -15053,6 +15566,7 @@ var init_PasswordPasskey = __esm({
15053
15566
  init_i18n();
15054
15567
  init_utils2();
15055
15568
  init_icons();
15569
+ init_Onboarding();
15056
15570
  init_button();
15057
15571
  init_highlight();
15058
15572
  init_input();
@@ -15219,7 +15733,7 @@ var init_File = __esm({
15219
15733
  import { useQueryClient as useQueryClient10 } from "@tanstack/react-query";
15220
15734
  import dayjs3 from "dayjs";
15221
15735
  import { Download as Download3, Key as Key5, Upload as Upload3 } from "lucide-react";
15222
- import { useEffect as useEffect24 } from "react";
15736
+ import { useEffect as useEffect25 } from "react";
15223
15737
  import { Fragment as Fragment21, jsx as jsx64, jsxs as jsxs58 } from "react/jsx-runtime";
15224
15738
  function Server(props) {
15225
15739
  const { isLoading, mode = "restore", serverHandler, createPasskeyHandler } = props;
@@ -15229,7 +15743,7 @@ function Server(props) {
15229
15743
  const usePasskey = useRestoreStore((st) => st.usePasskey);
15230
15744
  const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
15231
15745
  const serverRecoveryStatus = qc.getQueryData([CHECK_BACKUP_QUERY_KEY, address]);
15232
- useEffect24(() => {
15746
+ useEffect25(() => {
15233
15747
  if (mode === "backup" || !serverRecoveryStatus?.created?.encryptionMethod) return;
15234
15748
  setUsePasskey(serverRecoveryStatus.created.encryptionMethod === "passkey");
15235
15749
  }, [mode, serverRecoveryStatus, setUsePasskey]);
@@ -15252,16 +15766,24 @@ function Server(props) {
15252
15766
  ) : t("passport:backupMenu.vaultRestore")
15253
15767
  }
15254
15768
  ),
15255
- !!serverRecoveryStatus?.created?.at && /* @__PURE__ */ jsxs58(Highlight, { type: "info", className: "flex gap-[var(--ui-kit-gap)]", children: [
15256
- serverRecoveryStatus.created.encryptionMethod === "password" ? /* @__PURE__ */ jsx64(opt_default, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx64(Key5, { className: "w-4 h-4" }),
15257
- /* @__PURE__ */ jsxs58("span", { className: "flex-1 block", children: [
15258
- t("passport:backupMenu.vaultRecoveryStatus"),
15259
- " ",
15260
- /* @__PURE__ */ jsx64("strong", { children: serverRecoveryStatus.created.encryptionMethod?.toUpperCase() }),
15261
- /* @__PURE__ */ jsx64("br", {}),
15262
- /* @__PURE__ */ jsx64("strong", { children: dayjs3(serverRecoveryStatus.created.at).format("MMMM DD, YYYY HH:mm") })
15263
- ] })
15264
- ] })
15769
+ !!serverRecoveryStatus?.created?.at && /* @__PURE__ */ jsxs58(
15770
+ Highlight,
15771
+ {
15772
+ ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-status-onboarding" /* backupStatus */, inst),
15773
+ type: "info",
15774
+ className: "flex gap-[var(--ui-kit-gap)]",
15775
+ children: [
15776
+ serverRecoveryStatus.created.encryptionMethod === "password" ? /* @__PURE__ */ jsx64(opt_default, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx64(Key5, { className: "w-4 h-4" }),
15777
+ /* @__PURE__ */ jsxs58("span", { className: "flex-1 block", children: [
15778
+ t("passport:backupMenu.vaultRecoveryStatus"),
15779
+ " ",
15780
+ /* @__PURE__ */ jsx64("strong", { children: serverRecoveryStatus.created.encryptionMethod?.toUpperCase() }),
15781
+ /* @__PURE__ */ jsx64("br", {}),
15782
+ /* @__PURE__ */ jsx64("strong", { children: dayjs3(serverRecoveryStatus.created.at).format("MMMM DD, YYYY HH:mm") })
15783
+ ] })
15784
+ ]
15785
+ }
15786
+ )
15265
15787
  ] });
15266
15788
  }
15267
15789
  var init_Server = __esm({
@@ -15269,6 +15791,7 @@ var init_Server = __esm({
15269
15791
  init_SessionContext();
15270
15792
  init_useT();
15271
15793
  init_icons();
15794
+ init_Onboarding();
15272
15795
  init_highlight();
15273
15796
  init_PasswordPasskey();
15274
15797
  init_constants5();
@@ -15412,7 +15935,7 @@ var init_select = __esm({
15412
15935
  // src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
15413
15936
  import { useQuery as useQuery7 } from "@tanstack/react-query";
15414
15937
  import { ArrowLeft as ArrowLeft10, CloudDownload, CloudUpload, Loader as Loader9 } from "lucide-react";
15415
- import { useEffect as useEffect25 } from "react";
15938
+ import { useEffect as useEffect26 } from "react";
15416
15939
  import { Fragment as Fragment22, jsx as jsx66, jsxs as jsxs60 } from "react/jsx-runtime";
15417
15940
  function Cloud2(props) {
15418
15941
  const { isLoading, mode = "restore", cloudHandler } = props;
@@ -15433,7 +15956,7 @@ function Cloud2(props) {
15433
15956
  return availableProviders.map((p) => ({ id: p.id, name: p.name, available: p.isAvailable() }));
15434
15957
  }
15435
15958
  });
15436
- useEffect25(() => {
15959
+ useEffect26(() => {
15437
15960
  if (isCloudProvidersLoading) return;
15438
15961
  if (!!cloudProvidersError) {
15439
15962
  console.error("[KeyshareBackup] Failed to load cloud providers:", cloudProvidersError);
@@ -15673,7 +16196,7 @@ var init_methods = __esm({
15673
16196
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
15674
16197
  import { useMutation as useMutation11, useQuery as useQuery8, useQueryClient as useQueryClient11 } from "@tanstack/react-query";
15675
16198
  import { AlertCircle as AlertCircle2, CheckCircle2, CloudDownload as CloudDownload2, Loader as Loader10, UserCircle as UserCircle2 } from "lucide-react";
15676
- import { useEffect as useEffect26 } from "react";
16199
+ import { useEffect as useEffect27 } from "react";
15677
16200
  import { useDisconnect } from "wagmi";
15678
16201
  import { Fragment as Fragment24, jsx as jsx68, jsxs as jsxs62 } from "react/jsx-runtime";
15679
16202
  var RESTORE_COMPONENTS, KeyshareRestoreMenu;
@@ -15710,7 +16233,7 @@ var init_KeyshareRestoreMenu = __esm({
15710
16233
  const error = useRestoreStore((st) => st.error);
15711
16234
  const success = useRestoreStore((st) => st.success);
15712
16235
  const currentRestoreMethod = useRestoreStore((st) => st.method);
15713
- useEffect26(() => {
16236
+ useEffect27(() => {
15714
16237
  const { setIsDialogForced } = useLayoutStore.getState();
15715
16238
  const { setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
15716
16239
  setIsDialogForced(true);
@@ -15750,7 +16273,7 @@ var init_KeyshareRestoreMenu = __esm({
15750
16273
  queryFn: async () => await getShareRecoveryStats()
15751
16274
  });
15752
16275
  const hasServerBackup = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
15753
- useEffect26(() => {
16276
+ useEffect27(() => {
15754
16277
  if (!!hasServerBackup) useRestoreStore.getState().setMethod("server");
15755
16278
  }, [hasServerBackup]);
15756
16279
  const { mutate: disconnect, isPending: isDisconnecting } = useMutation11({
@@ -15897,7 +16420,7 @@ var init_KeyshareRestoreMenu = __esm({
15897
16420
  // src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx
15898
16421
  import { useQuery as useQuery9 } from "@tanstack/react-query";
15899
16422
  import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft11, CheckCircle2 as CheckCircle22, Loader as Loader11, LockIcon } from "lucide-react";
15900
- import { useEffect as useEffect27 } from "react";
16423
+ import { useEffect as useEffect28 } from "react";
15901
16424
  import { Fragment as Fragment25, jsx as jsx69, jsxs as jsxs63 } from "react/jsx-runtime";
15902
16425
  function KeyshareBackupMenu() {
15903
16426
  const address = useSession((st) => st.address);
@@ -15906,9 +16429,10 @@ function KeyshareBackupMenu() {
15906
16429
  const setPage = useLayoutDataStore((st) => st.setPage);
15907
16430
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
15908
16431
  const currentBackupMethod = useRestoreStore((st) => st.method);
16432
+ const usePasskey = useRestoreStore((st) => st.usePasskey);
15909
16433
  const error = useRestoreStore((st) => st.error);
15910
16434
  const success = useRestoreStore((st) => st.success);
15911
- useEffect27(() => {
16435
+ useEffect28(() => {
15912
16436
  const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
15913
16437
  return () => {
15914
16438
  setSuccess(null);
@@ -15926,8 +16450,9 @@ function KeyshareBackupMenu() {
15926
16450
  queryKey: [CHECK_BACKUP_QUERY_KEY, address],
15927
16451
  queryFn: async () => await getShareRecoveryStats()
15928
16452
  });
16453
+ useOnboardingTourAvailable(!isRecoveryLoading && currentBackupMethod === "server" && !usePasskey);
15929
16454
  const hasRecoveryData = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
15930
- useEffect27(() => {
16455
+ useEffect28(() => {
15931
16456
  if (!!hasRecoveryData) useRestoreStore.getState().setMethod("server");
15932
16457
  }, [hasRecoveryData]);
15933
16458
  const {
@@ -15944,6 +16469,7 @@ function KeyshareBackupMenu() {
15944
16469
  return /* @__PURE__ */ jsx69(
15945
16470
  "div",
15946
16471
  {
16472
+ ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-menu-onboarding" /* backupMenu */, inst),
15947
16473
  style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
15948
16474
  className: "list-scrollbar-y w-full",
15949
16475
  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 +16478,67 @@ function KeyshareBackupMenu() {
15952
16478
  /* @__PURE__ */ jsx69(LockIcon, { className: "w-6 h-6" }),
15953
16479
  /* @__PURE__ */ jsx69("span", { className: "font-bold text-xl leading-6", children: t("passport:backupMenu.title") })
15954
16480
  ] }),
15955
- !isRecoveryLoading && !!hasRecoveryData && /* @__PURE__ */ jsxs63("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
15956
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
15957
- /* @__PURE__ */ jsx69(
15958
- Button,
15959
- {
15960
- variant: "ghost",
15961
- size: "icon",
15962
- title: "Back",
15963
- onClick: () => {
15964
- const {
15965
- setSuccess,
15966
- setError,
15967
- setRestorePassword,
15968
- setRestoreFile,
15969
- setShowPassword,
15970
- setUsePasskey,
15971
- setMethod,
15972
- setSelectedCloudProvider
15973
- } = useRestoreStore.getState();
15974
- setRestorePassword("");
15975
- setRestoreFile(null);
15976
- setShowPassword(false);
15977
- setSelectedCloudProvider(null);
15978
- setUsePasskey(false);
15979
- setError(null);
15980
- setSuccess(null);
15981
- setMethod(null);
15982
- setPage("settings" /* SETTINGS */);
15983
- },
15984
- children: /* @__PURE__ */ jsx69(ArrowLeft11, { className: "h-4 w-4" })
15985
- }
15986
- ),
15987
- /* @__PURE__ */ jsx69("span", { className: "text-xl font-semibold leading-8", children: t("passport:backupMenu.title") })
15988
- ] }),
15989
- /* @__PURE__ */ jsx69(
15990
- Switch,
15991
- {
15992
- name: "advanced-restore-flow-toggle",
15993
- labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
15994
- checked: currentBackupMethod !== "server",
15995
- onChange: () => {
15996
- const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
15997
- if (!!error) setError(null);
15998
- if (currentBackupMethod === "server") {
15999
- setRestorePassword("");
16000
- setMethod(null);
16001
- } else {
16002
- setRestoreFile(null);
16003
- setMethod("server");
16481
+ !isRecoveryLoading && !!hasRecoveryData && /* @__PURE__ */ jsxs63(
16482
+ "div",
16483
+ {
16484
+ ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */, inst),
16485
+ className: "flex items-center justify-between gap-[var(--ui-kit-gap)]",
16486
+ children: [
16487
+ /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
16488
+ /* @__PURE__ */ jsx69(
16489
+ Button,
16490
+ {
16491
+ variant: "ghost",
16492
+ size: "icon",
16493
+ title: "Back",
16494
+ onClick: () => {
16495
+ const {
16496
+ setSuccess,
16497
+ setError,
16498
+ setRestorePassword,
16499
+ setRestoreFile,
16500
+ setShowPassword,
16501
+ setUsePasskey,
16502
+ setMethod,
16503
+ setSelectedCloudProvider
16504
+ } = useRestoreStore.getState();
16505
+ setRestorePassword("");
16506
+ setRestoreFile(null);
16507
+ setShowPassword(false);
16508
+ setSelectedCloudProvider(null);
16509
+ setUsePasskey(false);
16510
+ setError(null);
16511
+ setSuccess(null);
16512
+ setMethod(null);
16513
+ setPage("settings" /* SETTINGS */);
16514
+ },
16515
+ children: /* @__PURE__ */ jsx69(ArrowLeft11, { className: "h-4 w-4" })
16516
+ }
16517
+ ),
16518
+ /* @__PURE__ */ jsx69("span", { className: "text-xl font-semibold leading-8", children: t("passport:backupMenu.title") })
16519
+ ] }),
16520
+ /* @__PURE__ */ jsx69(
16521
+ Switch,
16522
+ {
16523
+ name: "advanced-restore-flow-toggle",
16524
+ labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
16525
+ checked: currentBackupMethod !== "server",
16526
+ onChange: () => {
16527
+ const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
16528
+ if (!!error) setError(null);
16529
+ if (currentBackupMethod === "server") {
16530
+ setRestorePassword("");
16531
+ setMethod(null);
16532
+ } else {
16533
+ setRestoreFile(null);
16534
+ setMethod("server");
16535
+ }
16536
+ }
16004
16537
  }
16005
- }
16006
- }
16007
- )
16008
- ] }),
16538
+ )
16539
+ ]
16540
+ }
16541
+ ),
16009
16542
  !isRecoveryLoading && !!hasRecoveryData && !currentBackupMethod && /* @__PURE__ */ jsx69(MethodSelector, { mode: "backup", serverRecoveryStatus }),
16010
16543
  (!isRecoveryLoading || !hasServerVault) && !!currentBackupMethod && /* @__PURE__ */ jsx69(Fragment25, { children: /* @__PURE__ */ jsx69(
16011
16544
  BackupComponent,
@@ -16055,6 +16588,7 @@ var init_KeyshareBackupMenu = __esm({
16055
16588
  init_useLayoutStore();
16056
16589
  init_vaultClient();
16057
16590
  init_Expandable2();
16591
+ init_Onboarding();
16058
16592
  init_button();
16059
16593
  init_highlight();
16060
16594
  init_switch();
@@ -16076,11 +16610,12 @@ var init_KeyshareRestoreMenu2 = __esm({
16076
16610
  "src/internal/components/KeyshareRestoreMenu/index.ts"() {
16077
16611
  init_KeyshareRestoreMenu();
16078
16612
  init_KeyshareBackupMenu();
16613
+ init_onboarding_setup3();
16079
16614
  }
16080
16615
  });
16081
16616
 
16082
16617
  // src/hooks/useColorMode.ts
16083
- import { useCallback as useCallback18, useEffect as useEffect28 } from "react";
16618
+ import { useCallback as useCallback18, useEffect as useEffect29 } from "react";
16084
16619
  function useColorMode() {
16085
16620
  const {
16086
16621
  config: { current: config }
@@ -16095,7 +16630,7 @@ function useColorMode() {
16095
16630
  },
16096
16631
  [handleStoreColorMode]
16097
16632
  );
16098
- useEffect28(() => {
16633
+ useEffect29(() => {
16099
16634
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
16100
16635
  if (!targetColorMode && !preferedColorMode) {
16101
16636
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -16212,17 +16747,17 @@ var init_SumsubIframeManager = __esm({
16212
16747
  });
16213
16748
 
16214
16749
  // src/internal/components/KYC/useSumsubIframe.ts
16215
- import { useEffect as useEffect29, useRef as useRef15, useState as useState17 } from "react";
16750
+ import { useEffect as useEffect30, useRef as useRef14, useState as useState17 } from "react";
16216
16751
  function useSumsubIframe({ iframeUrl }) {
16217
16752
  const config = useProviderConfig().config;
16218
16753
  const { colorMode } = useColorMode();
16219
- const iframeRef = useRef15(null);
16754
+ const iframeRef = useRef14(null);
16220
16755
  const [isLoading, setIsLoading] = useState17(true);
16221
16756
  const [error, setError] = useState17(null);
16222
16757
  const [height, setHeight] = useState17(0);
16223
16758
  const [status, setStatus] = useState17("");
16224
16759
  const levelName = config.current?.kyc?.options?.levelName;
16225
- useEffect29(() => {
16760
+ useEffect30(() => {
16226
16761
  setError(null);
16227
16762
  setIsLoading(true);
16228
16763
  setStatus("Preparing verification...");
@@ -16540,20 +17075,51 @@ var init_useProvidersList = __esm({
16540
17075
  }
16541
17076
  });
16542
17077
 
17078
+ // src/internal/components/MainMenu/onboarding.setup.ts
17079
+ var MAIN_MENU_TOUR;
17080
+ var init_onboarding_setup4 = __esm({
17081
+ "src/internal/components/MainMenu/onboarding.setup.ts"() {
17082
+ MAIN_MENU_TOUR = [
17083
+ {
17084
+ elId: "mainmenu-send-button" /* sendButton */,
17085
+ title: "passport:main.onboarding.sendButton.title",
17086
+ description: "passport:main.onboarding.sendButton.description"
17087
+ },
17088
+ {
17089
+ elId: "mainmenu-receive-button" /* receiveButton */,
17090
+ title: "passport:main.onboarding.receiveButton.title",
17091
+ description: "passport:main.onboarding.receiveButton.description"
17092
+ },
17093
+ {
17094
+ elId: "mainmenu-buy-button" /* buyButton */,
17095
+ title: "passport:main.onboarding.buyButton.title",
17096
+ description: "passport:main.onboarding.buyButton.description"
17097
+ },
17098
+ {
17099
+ elId: "mainmenu-portfolio-button" /* portfolioButton */,
17100
+ title: "passport:main.onboarding.portfolioButton.title",
17101
+ description: "passport:main.onboarding.portfolioButton.description"
17102
+ }
17103
+ ];
17104
+ }
17105
+ });
17106
+
16543
17107
  // src/internal/components/MainMenu/MainMenu.tsx
16544
17108
  import { ChevronLeft, ChevronRight as ChevronRight3, DollarSign as DollarSign2, Wallet2 as Wallet23 } from "lucide-react";
16545
- import { useEffect as useEffect30 } from "react";
17109
+ import { useEffect as useEffect31 } from "react";
16546
17110
  import { jsx as jsx74, jsxs as jsxs68 } from "react/jsx-runtime";
16547
17111
  function MainMenu() {
16548
17112
  const address = useSession((st) => st.address);
16549
17113
  const { t } = useT();
16550
17114
  const setPage = useLayoutDataStore((st) => st.setPage);
16551
17115
  const setTransitionPageHeight = useLayoutDataStore((st) => st.setTransitionPageHeight);
16552
- useEffect30(() => setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT), []);
17116
+ useEffect31(() => setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT), []);
17117
+ useOnboardingTourAvailable(true);
16553
17118
  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(
17119
+ 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
17120
  Button,
16556
17121
  {
17122
+ ref: (inst) => onboarder.registerElement(onboardingId, inst),
16557
17123
  size: "large",
16558
17124
  variant: "ghost",
16559
17125
  disabled: !address,
@@ -16575,12 +17141,33 @@ var init_MainMenu = __esm({
16575
17141
  init_constants();
16576
17142
  init_useLayoutDataStore();
16577
17143
  init_useProvidersList();
17144
+ init_Onboarding();
16578
17145
  init_button();
16579
17146
  MAIN_MENU_BUTTONS = [
16580
- { id: "send" /* SEND */, label: "passport:main.send", icon: ChevronRight3 },
16581
- { id: "receive" /* RECEIVE */, label: "passport:main.receive", icon: ChevronLeft },
16582
- { id: "buy" /* BUY */, label: "passport:main.buy", icon: DollarSign2 },
16583
- { id: "assets" /* ASSETS */, label: "passport:main.assets", icon: Wallet23 }
17147
+ {
17148
+ id: "send" /* SEND */,
17149
+ onboardingId: "mainmenu-send-button" /* sendButton */,
17150
+ label: "passport:main.send",
17151
+ icon: ChevronRight3
17152
+ },
17153
+ {
17154
+ id: "receive" /* RECEIVE */,
17155
+ onboardingId: "mainmenu-receive-button" /* receiveButton */,
17156
+ label: "passport:main.receive",
17157
+ icon: ChevronLeft
17158
+ },
17159
+ {
17160
+ id: "buy" /* BUY */,
17161
+ onboardingId: "mainmenu-buy-button" /* buyButton */,
17162
+ label: "passport:main.buy",
17163
+ icon: DollarSign2
17164
+ },
17165
+ {
17166
+ id: "assets" /* ASSETS */,
17167
+ onboardingId: "mainmenu-portfolio-button" /* portfolioButton */,
17168
+ label: "passport:main.assets",
17169
+ icon: Wallet23
17170
+ }
16584
17171
  ];
16585
17172
  }
16586
17173
  });
@@ -16589,6 +17176,7 @@ var init_MainMenu = __esm({
16589
17176
  var init_MainMenu2 = __esm({
16590
17177
  "src/internal/components/MainMenu/index.ts"() {
16591
17178
  init_MainMenu();
17179
+ init_onboarding_setup4();
16592
17180
  }
16593
17181
  });
16594
17182
 
@@ -17096,7 +17684,7 @@ var init_EmailNotConnectedWarning = __esm({
17096
17684
 
17097
17685
  // src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
17098
17686
  import { useQueryClient as useQueryClient15 } from "@tanstack/react-query";
17099
- import React22, { useEffect as useEffect31 } from "react";
17687
+ import React22, { useEffect as useEffect32 } from "react";
17100
17688
  function normalizeSocialLinkError(message) {
17101
17689
  if (message === "X_ALREADY_LINKED") {
17102
17690
  return "This X account is already linked to another account";
@@ -17172,7 +17760,7 @@ function useLinkSocial() {
17172
17760
  [config.social?.providers]
17173
17761
  );
17174
17762
  const [socialLinkStarted, setSocialLinkStarted] = React22.useState(false);
17175
- useEffect31(() => {
17763
+ useEffect32(() => {
17176
17764
  const key = providerType?.toLowerCase();
17177
17765
  console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
17178
17766
  if (isWalletLinking) {
@@ -17255,7 +17843,7 @@ var init_telegram2 = __esm({
17255
17843
 
17256
17844
  // src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
17257
17845
  import { useQueryClient as useQueryClient16 } from "@tanstack/react-query";
17258
- import { useCallback as useCallback20, useEffect as useEffect32, useState as useState18 } from "react";
17846
+ import { useCallback as useCallback20, useEffect as useEffect33, useState as useState18 } from "react";
17259
17847
  function useLinkTelegram() {
17260
17848
  const {
17261
17849
  config: { current: config },
@@ -17314,7 +17902,7 @@ function useLinkTelegram() {
17314
17902
  }
17315
17903
  }, [config.social?.providers]);
17316
17904
  const [telegramLinkStarted, setTelegramLinkStarted] = useState18(false);
17317
- useEffect32(() => {
17905
+ useEffect33(() => {
17318
17906
  console.log("[useLinkTelegram] Effect triggered:", {
17319
17907
  providerType,
17320
17908
  linkIsLoading,
@@ -17331,7 +17919,7 @@ function useLinkTelegram() {
17331
17919
  handleLinkTelegram();
17332
17920
  }
17333
17921
  }, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
17334
- useEffect32(() => {
17922
+ useEffect33(() => {
17335
17923
  if (providerType !== "telegram") {
17336
17924
  setTelegramLinkStarted(false);
17337
17925
  }
@@ -17350,6 +17938,20 @@ var init_useLinkTelegram = __esm({
17350
17938
  }
17351
17939
  });
17352
17940
 
17941
+ // src/internal/components/ManageWalletMenu/onboarding.setup.ts
17942
+ var MANAGE_WALLET_MENU_TOUR;
17943
+ var init_onboarding_setup5 = __esm({
17944
+ "src/internal/components/ManageWalletMenu/onboarding.setup.ts"() {
17945
+ MANAGE_WALLET_MENU_TOUR = [
17946
+ {
17947
+ elId: "embarkai-profiles-menu-onboarding" /* profilesMenu */,
17948
+ title: "passport:profilesMenu.onboarding.profilesMenu.title",
17949
+ description: "passport:profilesMenu.onboarding.profilesMenu.description"
17950
+ }
17951
+ ];
17952
+ }
17953
+ });
17954
+
17353
17955
  // src/internal/components/ManageWalletMenu/ProviderCard.tsx
17354
17956
  import { CheckCircle as CheckCircle3, Clock, Trash2 as Trash23 } from "lucide-react";
17355
17957
  import { jsx as jsx78, jsxs as jsxs72 } from "react/jsx-runtime";
@@ -17548,10 +18150,12 @@ function ManageWalletMenu() {
17548
18150
  useLinkSocial();
17549
18151
  const showCurrentProviders = !isProvidersLoading && !providersError && (providerType !== "email" && providerType !== "passkey" || providerType === null);
17550
18152
  const showExtraProvidersUi = !isProvidersLoading && !providersError && (providerType === "email" || providerType === "passkey");
18153
+ useOnboardingTourAvailable(!showExtraProvidersUi && providerType === null);
17551
18154
  const combinedAlertMessage = alert2?.message || providersError?.message || null;
17552
18155
  return /* @__PURE__ */ jsx79(
17553
18156
  "div",
17554
18157
  {
18158
+ ref: (inst) => onboarder.registerElement("embarkai-profiles-menu-onboarding" /* profilesMenu */, inst),
17555
18159
  style: {
17556
18160
  "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
17557
18161
  "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
@@ -17609,6 +18213,7 @@ var init_ManageWallet = __esm({
17609
18213
  init_constants();
17610
18214
  init_telegramBrowser();
17611
18215
  init_Expandable2();
18216
+ init_Onboarding();
17612
18217
  init_button();
17613
18218
  init_highlight();
17614
18219
  init_AddProvider();
@@ -17751,6 +18356,7 @@ var init_ManageWalletMenu = __esm({
17751
18356
  init_UnlinkProviderMenu();
17752
18357
  init_useStore();
17753
18358
  init_useProvidersList();
18359
+ init_onboarding_setup5();
17754
18360
  }
17755
18361
  });
17756
18362
 
@@ -17852,11 +18458,11 @@ var init_useNicknameStore = __esm({
17852
18458
  // src/internal/components/NicknameMenu/useNicknameAvailability.ts
17853
18459
  import { useMutation as useMutation16 } from "@tanstack/react-query";
17854
18460
  import { debounce as debounce5 } from "lodash-es";
17855
- import { useCallback as useCallback21, useEffect as useEffect33 } from "react";
18461
+ import { useCallback as useCallback21, useEffect as useEffect34 } from "react";
17856
18462
  function useNicknameAvailability(currentNickname) {
17857
18463
  const { t } = useT();
17858
18464
  const nicknameValue = useNicknameStore((st) => st.nicknameValue);
17859
- useEffect33(() => {
18465
+ useEffect34(() => {
17860
18466
  if (!currentNickname) return;
17861
18467
  useNicknameStore.getState().setNicknameValue(currentNickname);
17862
18468
  }, [currentNickname]);
@@ -17878,7 +18484,7 @@ function useNicknameAvailability(currentNickname) {
17878
18484
  }
17879
18485
  });
17880
18486
  const debouncedCheckAvailability = useCallback21(debounce5(checkAvailability, DEBOUNCE_MS), [checkAvailability]);
17881
- useEffect33(() => {
18487
+ useEffect34(() => {
17882
18488
  if (!currentNickname) return;
17883
18489
  const normalizedInputValue = normalizeNickname(nicknameValue);
17884
18490
  const { valid: isNicknameValid } = validateNickname(nicknameValue);
@@ -18067,6 +18673,20 @@ var init_NicknameEditForm = __esm({
18067
18673
  }
18068
18674
  });
18069
18675
 
18676
+ // src/internal/components/NicknameMenu/onboarding.setup.ts
18677
+ var NICKNAME_MENU_TOUR;
18678
+ var init_onboarding_setup6 = __esm({
18679
+ "src/internal/components/NicknameMenu/onboarding.setup.ts"() {
18680
+ NICKNAME_MENU_TOUR = [
18681
+ {
18682
+ elId: "embarkai-nickname-menu-onboarding" /* nicknameMenu */,
18683
+ title: "passport:nicknameMenu.onboarding.nicknameMenu.title",
18684
+ description: "passport:nicknameMenu.onboarding.nicknameMenu.description"
18685
+ }
18686
+ ];
18687
+ }
18688
+ });
18689
+
18070
18690
  // src/internal/components/NicknameMenu/NicknameMenu.tsx
18071
18691
  import { useQuery as useQuery13 } from "@tanstack/react-query";
18072
18692
  import dayjs4 from "dayjs";
@@ -18075,6 +18695,7 @@ import { jsx as jsx82, jsxs as jsxs76 } from "react/jsx-runtime";
18075
18695
  function NicknameMenu() {
18076
18696
  const { isInitialUser } = usePageParams().current;
18077
18697
  const { t } = useT();
18698
+ useOnboardingTourAvailable(true);
18078
18699
  const address = useSession((st) => st.address);
18079
18700
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
18080
18701
  const nicknameRenderKey = useNicknameStore((st) => st.renderKey);
@@ -18093,6 +18714,7 @@ function NicknameMenu() {
18093
18714
  return /* @__PURE__ */ jsx82(
18094
18715
  "div",
18095
18716
  {
18717
+ ref: (inst) => onboarder.registerElement("embarkai-nickname-menu-onboarding" /* nicknameMenu */, inst),
18096
18718
  style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
18097
18719
  className: "list-scrollbar-y w-full",
18098
18720
  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 +18797,7 @@ var init_NicknameMenu = __esm({
18175
18797
  init_useLayoutStore();
18176
18798
  init_nickname_cooldown();
18177
18799
  init_Expandable2();
18800
+ init_Onboarding();
18178
18801
  init_button();
18179
18802
  init_highlight();
18180
18803
  init_NicknameEditForm();
@@ -18186,6 +18809,7 @@ var init_NicknameMenu = __esm({
18186
18809
  var init_NicknameMenu2 = __esm({
18187
18810
  "src/internal/components/NicknameMenu/index.ts"() {
18188
18811
  init_NicknameMenu();
18812
+ init_onboarding_setup6();
18189
18813
  }
18190
18814
  });
18191
18815
 
@@ -18504,7 +19128,7 @@ var init_utils8 = __esm({
18504
19128
  // src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts
18505
19129
  import { createBlockscoutClient as createBlockscoutClient2, nonBlockscoutClient } from "@embarkai/core";
18506
19130
  import { useQuery as useQuery16, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
18507
- import { useCallback as useCallback23, useMemo as useMemo10, useRef as useRef16 } from "react";
19131
+ import { useCallback as useCallback23, useMemo as useMemo10, useRef as useRef15 } from "react";
18508
19132
  function useBlockscoutAssets(options) {
18509
19133
  const { address, chainId, enabled = true, detectSecurityTokens = true } = options;
18510
19134
  const qc = useQueryClient19();
@@ -18519,7 +19143,7 @@ function useBlockscoutAssets(options) {
18519
19143
  () => blockscoutApiUrl ? createBlockscoutClient2({ baseUrl: blockscoutApiUrl }) : null,
18520
19144
  [blockscoutApiUrl]
18521
19145
  );
18522
- const lastRefreshRef = useRef16(0);
19146
+ const lastRefreshRef = useRef15(0);
18523
19147
  const {
18524
19148
  data: watchTokenAssets = [],
18525
19149
  isLoading: watchTokensLoading,
@@ -19232,10 +19856,25 @@ var init_nickname_fingerprint = __esm({
19232
19856
  }
19233
19857
  });
19234
19858
 
19859
+ // src/internal/components/ReceiveMenu/onboarding.setup.ts
19860
+ var RECEIVE_MENU_ONBOARDING_ID, RECEIVE_MENU_TOUR;
19861
+ var init_onboarding_setup7 = __esm({
19862
+ "src/internal/components/ReceiveMenu/onboarding.setup.ts"() {
19863
+ RECEIVE_MENU_ONBOARDING_ID = "embarkai-receive-menu-onboarding";
19864
+ RECEIVE_MENU_TOUR = [
19865
+ {
19866
+ elId: RECEIVE_MENU_ONBOARDING_ID,
19867
+ title: "passport:receiveMenu.onboarding.receiveMenu.title",
19868
+ description: "passport:receiveMenu.onboarding.receiveMenu.description"
19869
+ }
19870
+ ];
19871
+ }
19872
+ });
19873
+
19235
19874
  // src/internal/components/ReceiveMenu/ReceiveMenu.tsx
19236
19875
  import { ArrowLeft as ArrowLeft17, CheckCircle2 as CheckCircle23, Copy as Copy2, Info as Info5, Loader as Loader17, Shield } from "lucide-react";
19237
19876
  import QRCode from "qrcode";
19238
- import { useCallback as useCallback25, useEffect as useEffect34, useMemo as useMemo11, useState as useState21 } from "react";
19877
+ import { useCallback as useCallback25, useEffect as useEffect35, useMemo as useMemo11, useState as useState21 } from "react";
19239
19878
  import { Fragment as Fragment31, jsx as jsx86, jsxs as jsxs80 } from "react/jsx-runtime";
19240
19879
  function ReceiveMenu() {
19241
19880
  const session = useSession((st) => st.session);
@@ -19249,6 +19888,7 @@ function ReceiveMenu() {
19249
19888
  const [qrCodeUrl, setQrCodeUrl] = useState21("");
19250
19889
  const [copied, setCopied] = useState21(false);
19251
19890
  const [fingerprintCopied, setFingerprintCopied] = useState21(false);
19891
+ useOnboardingTourAvailable(true);
19252
19892
  const fingerprint = useMemo11(() => {
19253
19893
  if (!session?.ownerAddress) return null;
19254
19894
  try {
@@ -19257,7 +19897,7 @@ function ReceiveMenu() {
19257
19897
  return null;
19258
19898
  }
19259
19899
  }, [session?.ownerAddress]);
19260
- useEffect34(() => {
19900
+ useEffect35(() => {
19261
19901
  if (open && address) {
19262
19902
  QRCode.toDataURL(address, {
19263
19903
  width: 200,
@@ -19293,6 +19933,7 @@ function ReceiveMenu() {
19293
19933
  return /* @__PURE__ */ jsxs80(
19294
19934
  "div",
19295
19935
  {
19936
+ ref: (inst) => onboarder.registerElement(RECEIVE_MENU_ONBOARDING_ID, inst),
19296
19937
  style: {
19297
19938
  "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
19298
19939
  "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
@@ -19348,8 +19989,10 @@ var init_ReceiveMenu = __esm({
19348
19989
  init_useLayoutDataStore();
19349
19990
  init_useLayoutStore();
19350
19991
  init_nickname_fingerprint();
19992
+ init_Onboarding();
19351
19993
  init_button();
19352
19994
  init_highlight();
19995
+ init_onboarding_setup7();
19353
19996
  }
19354
19997
  });
19355
19998
 
@@ -19357,6 +20000,82 @@ var init_ReceiveMenu = __esm({
19357
20000
  var init_ReceiveMenu2 = __esm({
19358
20001
  "src/internal/components/ReceiveMenu/index.ts"() {
19359
20002
  init_ReceiveMenu();
20003
+ init_onboarding_setup7();
20004
+ }
20005
+ });
20006
+
20007
+ // src/internal/components/SecurityMenu/onboarding.setup.ts
20008
+ var CONNECTED_APPS_TOUR, KEYSHARE_TOUR, SECURITY_MENU_TOUR;
20009
+ var init_onboarding_setup8 = __esm({
20010
+ "src/internal/components/SecurityMenu/onboarding.setup.ts"() {
20011
+ init_Onboarding();
20012
+ CONNECTED_APPS_TOUR = [
20013
+ {
20014
+ elId: "embarkai-security-menu-connected-apps-onboarding" /* connectedApps */,
20015
+ title: "passport:securityMenu.onboarding.connectedApps.title",
20016
+ description: "passport:securityMenu.onboarding.connectedApps.description"
20017
+ }
20018
+ ];
20019
+ KEYSHARE_TOUR = [
20020
+ {
20021
+ elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
20022
+ title: "passport:securityMenu.onboarding.keyshare.details.concept.title",
20023
+ description: "passport:securityMenu.onboarding.keyshare.details.concept.description"
20024
+ },
20025
+ {
20026
+ elId: "embarkai-security-menu-keyshare-details-server-onboarding" /* keyshareDetailsServer */,
20027
+ title: "passport:securityMenu.onboarding.keyshare.details.server.title",
20028
+ description: "passport:securityMenu.onboarding.keyshare.details.server.description"
20029
+ },
20030
+ {
20031
+ elId: "embarkai-security-menu-keyshare-details-local-onboarding" /* keyshareDetailsLocal */,
20032
+ title: "passport:securityMenu.onboarding.keyshare.details.local.title",
20033
+ description: "passport:securityMenu.onboarding.keyshare.details.local.description"
20034
+ },
20035
+ {
20036
+ elId: "embarkai-security-menu-keyshare-details-vault-onboarding" /* keyshareDetailsVault */,
20037
+ title: "passport:securityMenu.onboarding.keyshare.details.vault.title",
20038
+ description: "passport:securityMenu.onboarding.keyshare.details.vault.description"
20039
+ },
20040
+ {
20041
+ elId: "embarkai-security-menu-keyshare-existing-backup-onboarding" /* keyshareExistingVaultBkp */,
20042
+ title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
20043
+ description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
20044
+ },
20045
+ ...CONNECTED_APPS_TOUR
20046
+ ];
20047
+ SECURITY_MENU_TOUR = [
20048
+ {
20049
+ elId: "embarkai-security-menu-onboarding" /* securityMenu */,
20050
+ title: "passport:securityMenu.onboarding.securityMenu.title",
20051
+ description: "passport:securityMenu.onboarding.securityMenu.description"
20052
+ },
20053
+ /** KEYSHARE */
20054
+ {
20055
+ elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
20056
+ title: "passport:securityMenu.onboarding.keyshare.title",
20057
+ description: "passport:securityMenu.onboarding.keyshare.description",
20058
+ actions: [
20059
+ {
20060
+ caption: "passport:securityMenu.onboarding.keyshare.detailsButton",
20061
+ onClick: () => {
20062
+ onboarder.endTour();
20063
+ setTimeout(() => onboarder.startTour(KEYSHARE_TOUR), 220);
20064
+ }
20065
+ },
20066
+ {
20067
+ caption: "passport:common.continue",
20068
+ onClick: () => onboarder.next()
20069
+ }
20070
+ ]
20071
+ },
20072
+ {
20073
+ elId: "embarkai-security-menu-keyshare-existing-backup-onboarding" /* keyshareExistingVaultBkp */,
20074
+ title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
20075
+ description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
20076
+ },
20077
+ ...CONNECTED_APPS_TOUR
20078
+ ];
19360
20079
  }
19361
20080
  });
19362
20081
 
@@ -19416,7 +20135,7 @@ var init_useConnectedApps = __esm({
19416
20135
  // src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx
19417
20136
  import dayjs5 from "dayjs";
19418
20137
  import { AppWindowMac, ExternalLinkIcon as ExternalLinkIcon2, InfoIcon as InfoIcon4, LoaderIcon as LoaderIcon10, ShieldBanIcon, ShieldCheckIcon } from "lucide-react";
19419
- import { useEffect as useEffect35 } from "react";
20138
+ import { useEffect as useEffect36 } from "react";
19420
20139
  import { Fragment as Fragment32, jsx as jsx87, jsxs as jsxs81 } from "react/jsx-runtime";
19421
20140
  function Application(props) {
19422
20141
  const {
@@ -19516,27 +20235,43 @@ function Application(props) {
19516
20235
  function ConnectedApps() {
19517
20236
  const { t } = useT();
19518
20237
  const { data: connectedApps = [], isLoading: isConnectedAppsLoading } = useConnectedApps();
19519
- useEffect35(() => {
20238
+ useEffect36(() => {
19520
20239
  if (!connectedApps.length || isConnectedAppsLoading) return;
19521
20240
  useSecurityStore.getState().setRenderKey(`connected-apps-loaded-${Date.now()}`);
19522
20241
  }, [connectedApps, isConnectedAppsLoading]);
19523
20242
  if (!isConnectedAppsLoading && connectedApps.length === 0)
19524
- return /* @__PURE__ */ jsxs81(Highlight, { type: "info", className: "flex gap-[var(--ui-kit-gap)] ", children: [
19525
- /* @__PURE__ */ jsx87(InfoIcon4, { className: "w-4 h-4" }),
19526
- /* @__PURE__ */ jsx87("span", { children: t("passport:securityMenu.connectedApps.noConnectedApps") })
19527
- ] });
20243
+ return /* @__PURE__ */ jsxs81(
20244
+ Highlight,
20245
+ {
20246
+ ref: (inst) => onboarder.registerElement("embarkai-security-menu-connected-apps-onboarding" /* connectedApps */, inst),
20247
+ type: "info",
20248
+ className: "flex gap-[var(--ui-kit-gap)] ",
20249
+ children: [
20250
+ /* @__PURE__ */ jsx87(InfoIcon4, { className: "w-4 h-4" }),
20251
+ /* @__PURE__ */ jsx87("span", { children: t("passport:securityMenu.connectedApps.noConnectedApps") })
20252
+ ]
20253
+ }
20254
+ );
19528
20255
  return /* @__PURE__ */ jsxs81(Fragment32, { children: [
19529
20256
  /* @__PURE__ */ jsxs81("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
19530
20257
  /* @__PURE__ */ jsx87("span", { className: "leading-4 text-xs", children: t("passport:securityMenu.connectedApps.connectedApps") }),
19531
20258
  isConnectedAppsLoading && /* @__PURE__ */ jsx87(LoaderIcon10, { className: "h-4 w-4 animate-spin" })
19532
20259
  ] }),
19533
- /* @__PURE__ */ jsx87("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: connectedApps.map((app, index) => /* @__PURE__ */ jsx87(Application, { ...app }, index)) })
20260
+ /* @__PURE__ */ jsx87(
20261
+ "div",
20262
+ {
20263
+ ref: (inst) => onboarder.registerElement("embarkai-security-menu-connected-apps-onboarding" /* connectedApps */, inst),
20264
+ className: "w-full flex flex-col gap-[var(--ui-kit-gap)]",
20265
+ children: connectedApps.map((app, index) => /* @__PURE__ */ jsx87(Application, { ...app }, index))
20266
+ }
20267
+ )
19534
20268
  ] });
19535
20269
  }
19536
20270
  var init_ConnectedApps = __esm({
19537
20271
  "src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx"() {
19538
20272
  init_utils2();
19539
20273
  init_i18n();
20274
+ init_Onboarding();
19540
20275
  init_button();
19541
20276
  init_highlight();
19542
20277
  init_useSecurityStore();
@@ -19652,42 +20387,44 @@ var init_ConnectedApps2 = __esm({
19652
20387
 
19653
20388
  // src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
19654
20389
  import { Loader as Loader19 } from "lucide-react";
20390
+ import { forwardRef as forwardRef5 } from "react";
19655
20391
  import { jsx as jsx89, jsxs as jsxs83 } from "react/jsx-runtime";
19656
- function KeyshareStatus(props) {
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
- }
20392
+ var KeyshareStatus;
19688
20393
  var init_KeyshareStatus = __esm({
19689
20394
  "src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx"() {
19690
20395
  init_utils2();
20396
+ KeyshareStatus = forwardRef5((props, ref) => {
20397
+ const { isLoading, content, icon: Icon2, children } = props;
20398
+ if (isLoading) return /* @__PURE__ */ jsx89(Loader19, { className: "w-4 h-4 animate-spin" });
20399
+ return /* @__PURE__ */ jsxs83("div", { ref, className: "group relative w-full h-full", children: [
20400
+ children,
20401
+ /* @__PURE__ */ jsx89(
20402
+ "div",
20403
+ {
20404
+ className: cn(
20405
+ "absolute -top-2 -right-2 w-6 h-6 flex items-center justify-center",
20406
+ "rounded-full bg-[var(--ui-kit-bg)]"
20407
+ // 'border border-[var(--ui-kit-bd)]'
20408
+ ),
20409
+ children: /* @__PURE__ */ jsx89(Icon2, { className: "w-4 h-4" })
20410
+ }
20411
+ ),
20412
+ /* @__PURE__ */ jsx89(
20413
+ "div",
20414
+ {
20415
+ style: { transform: "translateY(calc(var(--ui-kit-gap) * -4))" },
20416
+ className: cn(
20417
+ "transition-opacity pointer-events-none z-50",
20418
+ "absolute top-0 right-0 max-w-full",
20419
+ "px-2 py-1 bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)] text-[10px] rounded-[var(--ui-kit-el-bdrs)]",
20420
+ "border border-[var(--ui-kit-bd)]",
20421
+ "opacity-0 group-hover:opacity-100"
20422
+ ),
20423
+ children: content
20424
+ }
20425
+ )
20426
+ ] });
20427
+ });
19691
20428
  }
19692
20429
  });
19693
20430
 
@@ -19720,24 +20457,33 @@ function LastBackup(props) {
19720
20457
  } = createdRecoveryStats || {};
19721
20458
  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
20459
  if (!hasBackupData || !createdRecoveryStats) return null;
19723
- return /* @__PURE__ */ jsxs84(Highlight, { type: "info", className: "text-[10px] leading-4", children: [
19724
- /* @__PURE__ */ jsxs84("span", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
19725
- /* @__PURE__ */ jsx90(DatabaseBackup, { className: "w-4 h-4 flex-none" }),
19726
- /* @__PURE__ */ jsx90("span", { className: "font-medium text-xs", children: t("passport:securityMenu.lastBackup") })
19727
- ] }),
19728
- recoveryCreatedAt && /* @__PURE__ */ jsxs84(Fragment33, { children: [
19729
- /* @__PURE__ */ jsx90("span", { className: "block font-mono! ", children: t("passport:securityMenu.lastBackupMeta", {
19730
- browser: cleanStringArtifacts(recoveryBrowser || "unknown"),
19731
- os: parseOS(recoveryUa) || "unknown os",
19732
- deviceName: cleanStringArtifacts(recoveryDeviceName || recoveryDeviceId || "")
19733
- }) }),
19734
- /* @__PURE__ */ jsx90("span", { className: "block font-mono! text-[var(--ui-kit-fg-muted)]", children: dayjs6(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") })
19735
- ] })
19736
- ] });
20460
+ return /* @__PURE__ */ jsxs84(
20461
+ Highlight,
20462
+ {
20463
+ ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-existing-backup-onboarding" /* keyshareExistingVaultBkp */, inst),
20464
+ type: "info",
20465
+ className: "text-[10px] leading-4",
20466
+ children: [
20467
+ /* @__PURE__ */ jsxs84("span", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20468
+ /* @__PURE__ */ jsx90(DatabaseBackup, { className: "w-4 h-4 flex-none" }),
20469
+ /* @__PURE__ */ jsx90("span", { className: "font-medium text-xs", children: t("passport:securityMenu.lastBackup") })
20470
+ ] }),
20471
+ recoveryCreatedAt && /* @__PURE__ */ jsxs84(Fragment33, { children: [
20472
+ /* @__PURE__ */ jsx90("span", { className: "block font-mono! ", children: t("passport:securityMenu.lastBackupMeta", {
20473
+ browser: cleanStringArtifacts(recoveryBrowser || "unknown"),
20474
+ os: parseOS(recoveryUa) || "unknown os",
20475
+ deviceName: cleanStringArtifacts(recoveryDeviceName || recoveryDeviceId || "")
20476
+ }) }),
20477
+ /* @__PURE__ */ jsx90("span", { className: "block font-mono! text-[var(--ui-kit-fg-muted)]", children: dayjs6(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") })
20478
+ ] })
20479
+ ]
20480
+ }
20481
+ );
19737
20482
  }
19738
20483
  var init_LastBackup = __esm({
19739
20484
  "src/internal/components/SecurityMenu/Keyshare/LastBackup.tsx"() {
19740
20485
  init_useT();
20486
+ init_Onboarding();
19741
20487
  init_highlight();
19742
20488
  {
19743
20489
  }
@@ -19779,15 +20525,15 @@ var init_useKeyshareRecoveryStats = __esm({
19779
20525
  });
19780
20526
 
19781
20527
  // 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 useEffect36 } from "react";
20528
+ import { Cloud as Cloud3, DatabaseBackupIcon, Laptop, LoaderIcon as LoaderIcon11, Server as Server2 } from "lucide-react";
20529
+ import { useEffect as useEffect37 } from "react";
19784
20530
  import { Fragment as Fragment34, jsx as jsx91, jsxs as jsxs85 } from "react/jsx-runtime";
19785
20531
  function Keyshare() {
19786
20532
  const userId = useSession((st) => st?.session?.mpcUserId);
19787
20533
  const { t } = useT();
19788
20534
  const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
19789
20535
  const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
19790
- useEffect36(() => {
20536
+ useEffect37(() => {
19791
20537
  if (!recoveryData?.keyshareInfo || isRecoveryLoading) return;
19792
20538
  useSecurityStore.getState().setRenderKey(`keyshare-loaded-${Date.now()}`);
19793
20539
  }, [recoveryData, isRecoveryLoading]);
@@ -19801,63 +20547,86 @@ function Keyshare() {
19801
20547
  isRecoveryLoading && /* @__PURE__ */ jsx91(LoaderIcon11, { className: "h-4 w-4 animate-spin" })
19802
20548
  ] }),
19803
20549
  !isRecoveryLoading && /* @__PURE__ */ jsxs85(Fragment34, { children: [
19804
- /* @__PURE__ */ jsxs85("div", { className: "grid grid-cols-3 gap-[var(--ui-kit-gap)] px-[var(--ui-kit-gap)]", children: [
19805
- /* @__PURE__ */ jsx91(
19806
- KeyshareStatus,
19807
- {
19808
- content: serverHasKeyshare ? t("passport:securityMenu.keyshareStatus.serverReady") : t("passport:securityMenu.keyshareStatus.serverMissing"),
19809
- icon: serverHasKeyshare ? PositiveIcon : NegativeIcon,
19810
- children: /* @__PURE__ */ jsxs85(
19811
- Highlight,
20550
+ /* @__PURE__ */ jsxs85(
20551
+ "div",
20552
+ {
20553
+ ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-onboarding" /* keyshare */, inst),
20554
+ className: "grid grid-cols-3 gap-[var(--ui-kit-gap)] px-[var(--ui-kit-gap)]",
20555
+ children: [
20556
+ /* @__PURE__ */ jsx91(
20557
+ KeyshareStatus,
19812
20558
  {
19813
- type: serverHasKeyshare ? "success" : "warning",
19814
- className: "w-full h-full flex flex-col items-center gap-0",
19815
- children: [
19816
- /* @__PURE__ */ jsx91(Cloud3, { className: "h-6 w-6" }),
19817
- /* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Server Share" })
19818
- ]
20559
+ ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-details-server-onboarding" /* keyshareDetailsServer */, inst),
20560
+ icon: serverHasKeyshare ? PositiveIcon : NegativeIcon,
20561
+ content: serverHasKeyshare ? t("passport:securityMenu.keyshareStatus.serverReady") : t("passport:securityMenu.keyshareStatus.serverMissing"),
20562
+ children: /* @__PURE__ */ jsxs85(
20563
+ Highlight,
20564
+ {
20565
+ type: serverHasKeyshare ? "success" : "warning",
20566
+ className: "w-full h-full flex flex-col items-center gap-0",
20567
+ children: [
20568
+ /* @__PURE__ */ jsx91(Cloud3, { className: "h-6 w-6" }),
20569
+ /* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Server Share" })
20570
+ ]
20571
+ }
20572
+ )
19819
20573
  }
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,
20574
+ ),
20575
+ /* @__PURE__ */ jsx91(
20576
+ KeyshareStatus,
19830
20577
  {
19831
- type: localInfo?.hasKeyshare ? "success" : "warning",
19832
- className: "w-full h-full flex flex-col items-center gap-0",
19833
- children: [
19834
- /* @__PURE__ */ jsx91(Laptop, { className: "h-6 w-6" }),
19835
- /* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Local Share" })
19836
- ]
20578
+ ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-details-local-onboarding" /* keyshareDetailsLocal */, inst),
20579
+ icon: localInfo?.hasKeyshare ? PositiveIcon : NegativeIcon,
20580
+ content: localInfo?.hasKeyshare ? t("passport:securityMenu.keyshareStatus.localReady") : t("passport:securityMenu.keyshareStatus.localMissing"),
20581
+ children: /* @__PURE__ */ jsxs85(
20582
+ Highlight,
20583
+ {
20584
+ type: localInfo?.hasKeyshare ? "success" : "warning",
20585
+ className: "w-full h-full flex flex-col items-center gap-0",
20586
+ children: [
20587
+ /* @__PURE__ */ jsx91(Laptop, { className: "h-6 w-6" }),
20588
+ /* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Local Share" })
20589
+ ]
20590
+ }
20591
+ )
19837
20592
  }
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,
20593
+ ),
20594
+ /* @__PURE__ */ jsx91(
20595
+ KeyshareStatus,
19848
20596
  {
19849
- type: hasServerBackup ? "success" : "warning",
19850
- className: "w-full h-full flex flex-col items-center gap-0",
19851
- children: [
19852
- /* @__PURE__ */ jsx91(Server2, { className: "h-6 w-6" }),
19853
- /* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Vault Backup" })
19854
- ]
20597
+ ref: (inst) => onboarder.registerElement("embarkai-security-menu-keyshare-details-vault-onboarding" /* keyshareDetailsVault */, inst),
20598
+ icon: hasServerBackup ? PositiveIcon : NegativeIcon,
20599
+ content: hasServerBackup ? t("passport:securityMenu.keyshareStatus.valutBackupCreated") : t("passport:securityMenu.keyshareStatus.valutBackupMissing"),
20600
+ children: /* @__PURE__ */ jsxs85(
20601
+ Highlight,
20602
+ {
20603
+ type: hasServerBackup ? "success" : "warning",
20604
+ className: "w-full h-full flex flex-col items-center gap-0",
20605
+ children: [
20606
+ /* @__PURE__ */ jsx91(Server2, { className: "h-6 w-6" }),
20607
+ /* @__PURE__ */ jsx91("span", { className: "text-[10px] font-medium leading-4", children: "Vault Backup" })
20608
+ ]
20609
+ }
20610
+ )
19855
20611
  }
19856
20612
  )
19857
- }
19858
- )
19859
- ] }),
19860
- /* @__PURE__ */ jsx91(LastBackup, { backup, createdRecoveryStats })
20613
+ ]
20614
+ }
20615
+ ),
20616
+ /* @__PURE__ */ jsx91(LastBackup, { backup, createdRecoveryStats }),
20617
+ /* @__PURE__ */ jsxs85(
20618
+ Button,
20619
+ {
20620
+ variant: "secondary",
20621
+ size: "medium",
20622
+ className: "w-full",
20623
+ onClick: () => useLayoutDataStore.getState().setPage("keysare-backup" /* KEYSARE_BACKUP */),
20624
+ children: [
20625
+ /* @__PURE__ */ jsx91(DatabaseBackupIcon, { className: "h-4 w-4" }),
20626
+ t("passport:backupMenu.title")
20627
+ ]
20628
+ }
20629
+ )
19861
20630
  ] })
19862
20631
  ] });
19863
20632
  }
@@ -19867,7 +20636,10 @@ var init_Keyshare = __esm({
19867
20636
  init_useT();
19868
20637
  init_icons();
19869
20638
  init_auth();
20639
+ init_useLayoutDataStore();
19870
20640
  init_vaultClient();
20641
+ init_Onboarding();
20642
+ init_button();
19871
20643
  init_highlight();
19872
20644
  init_useSecurityStore();
19873
20645
  init_KeyshareStatus();
@@ -19896,9 +20668,11 @@ function SecurityMenu() {
19896
20668
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
19897
20669
  const appToUntrust = useSecurityStore((st) => st.appToUntrust);
19898
20670
  const renderKey = useSecurityStore((st) => st.renderKey);
20671
+ useOnboardingTourAvailable(!appToUntrust);
19899
20672
  return /* @__PURE__ */ jsx92(
19900
20673
  "div",
19901
20674
  {
20675
+ ref: (inst) => onboarder.registerElement("embarkai-security-menu-onboarding" /* securityMenu */, inst),
19902
20676
  style: {
19903
20677
  "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
19904
20678
  "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
@@ -19941,6 +20715,7 @@ var init_SecurityMenu = __esm({
19941
20715
  init_useLayoutDataStore();
19942
20716
  init_useLayoutStore();
19943
20717
  init_Expandable2();
20718
+ init_Onboarding();
19944
20719
  init_button();
19945
20720
  init_ConnectedApps2();
19946
20721
  init_Keyshare2();
@@ -19954,6 +20729,7 @@ var init_SecurityMenu2 = __esm({
19954
20729
  init_SecurityMenu();
19955
20730
  init_ConnectedApps2();
19956
20731
  init_Keyshare2();
20732
+ init_onboarding_setup8();
19957
20733
  }
19958
20734
  });
19959
20735
 
@@ -20193,7 +20969,7 @@ var init_useBridgeStore = __esm({
20193
20969
  // src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx
20194
20970
  import { useConnectModal } from "@rainbow-me/rainbowkit";
20195
20971
  import { useMutation as useMutation19 } from "@tanstack/react-query";
20196
- import { useEffect as useEffect37, useRef as useRef17, useState as useState22 } from "react";
20972
+ import { useEffect as useEffect38, useRef as useRef16, useState as useState22 } from "react";
20197
20973
  import { useSignMessage } from "wagmi";
20198
20974
  import { jsx as jsx93, jsxs as jsxs87 } from "react/jsx-runtime";
20199
20975
  function SenderSelector(props) {
@@ -20204,12 +20980,12 @@ function SenderSelector(props) {
20204
20980
  const { openConnectModal } = useConnectModal();
20205
20981
  const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
20206
20982
  const directWalletIsConnected = useExternalWalletStore((st) => st.isExternalConnected);
20207
- const pendingWalletRef = useRef17(null);
20983
+ const pendingWalletRef = useRef16(null);
20208
20984
  const originChain = useBridgeStore((st) => st.originChain);
20209
20985
  const bridgeSender = useBridgeStore((st) => st.bridgeSender);
20210
20986
  const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
20211
20987
  const [walletMessage, setWalletMessage] = useState22(null);
20212
- useEffect37(() => {
20988
+ useEffect38(() => {
20213
20989
  useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
20214
20990
  }, [walletMessage]);
20215
20991
  const { mutate: loginDirectWallet, isPending: isDirectWalletLoggingIn } = useMutation19({
@@ -20265,7 +21041,7 @@ function SenderSelector(props) {
20265
21041
  setWalletMessage(error instanceof Error ? error.message : "Wallet login failed. Please try again.");
20266
21042
  }
20267
21043
  });
20268
- useEffect37(() => {
21044
+ useEffect38(() => {
20269
21045
  const pendingProfile = pendingWalletRef.current;
20270
21046
  if (!pendingProfile || !directWalletIsConnected || !directWalletAddress) return;
20271
21047
  if (directWalletAddress.toLowerCase() !== pendingProfile.externalId?.toLowerCase()) return;
@@ -20454,12 +21230,12 @@ var init_wallets = __esm({
20454
21230
  });
20455
21231
 
20456
21232
  // src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts
20457
- import { useEffect as useEffect38, useRef as useRef18 } from "react";
21233
+ import { useEffect as useEffect39, useRef as useRef17 } from "react";
20458
21234
  function useAvailableSenders() {
20459
21235
  const address = useSession((st) => st.address);
20460
21236
  const { profiles } = useLinkedProfiles();
20461
- const lastCalcedSenders = useRef18([]);
20462
- useEffect38(() => {
21237
+ const lastCalcedSenders = useRef17([]);
21238
+ useEffect39(() => {
20463
21239
  const sendersAccumulator = [
20464
21240
  {
20465
21241
  type: "embarkai-wallet",
@@ -20826,7 +21602,7 @@ var init_utils9 = __esm({
20826
21602
  // src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts
20827
21603
  import { useInfiniteQuery as useInfiniteQuery3 } from "@tanstack/react-query";
20828
21604
  import { debounce as debounce7 } from "lodash-es";
20829
- import { useCallback as useCallback26, useEffect as useEffect39, useMemo as useMemo12 } from "react";
21605
+ import { useCallback as useCallback26, useEffect as useEffect40, useMemo as useMemo12 } from "react";
20830
21606
  function useHyperlaneHistory() {
20831
21607
  const address = useSession((st) => st.address);
20832
21608
  const page = useLayoutDataStore((st) => st.page);
@@ -20852,7 +21628,7 @@ function useHyperlaneHistory() {
20852
21628
  }, 250),
20853
21629
  []
20854
21630
  );
20855
- useEffect39(() => {
21631
+ useEffect40(() => {
20856
21632
  if (isBridgeTxHistoryLoading || txList.length === 0) return;
20857
21633
  updateExpandable();
20858
21634
  }, [isBridgeTxHistoryLoading, txList]);
@@ -21092,7 +21868,7 @@ var init_useBridge = __esm({
21092
21868
 
21093
21869
  // src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts
21094
21870
  import { useQuery as useQuery20 } from "@tanstack/react-query";
21095
- import { useEffect as useEffect40 } from "react";
21871
+ import { useEffect as useEffect41 } from "react";
21096
21872
  function useHyperlaneRoutes() {
21097
21873
  const address = useSession((st) => st.address);
21098
21874
  const page = useLayoutDataStore((st) => st.page);
@@ -21112,7 +21888,7 @@ function useHyperlaneRoutes() {
21112
21888
  return warpRoutes;
21113
21889
  }
21114
21890
  });
21115
- useEffect40(() => {
21891
+ useEffect41(() => {
21116
21892
  if (!errorWarpRoutes) return;
21117
21893
  useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
21118
21894
  const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
@@ -21121,7 +21897,7 @@ function useHyperlaneRoutes() {
21121
21897
  setOriginChain(null);
21122
21898
  setDestinationChain(null);
21123
21899
  }, [errorWarpRoutes]);
21124
- useEffect40(() => {
21900
+ useEffect41(() => {
21125
21901
  if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
21126
21902
  const warpRouteToAutoSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
21127
21903
  if (!warpRouteToAutoSelect) return;
@@ -21154,13 +21930,13 @@ var init_useHyperlaneRoutes = __esm({
21154
21930
  });
21155
21931
 
21156
21932
  // src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts
21157
- import { useEffect as useEffect41 } from "react";
21933
+ import { useEffect as useEffect42 } from "react";
21158
21934
  function useMenuTitle(warpRoutes) {
21159
21935
  const { t } = useT();
21160
21936
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
21161
21937
  const hyperRoute = useBridgeStore((st) => st.hyperRoute);
21162
21938
  const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
21163
- useEffect41(() => {
21939
+ useEffect42(() => {
21164
21940
  const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
21165
21941
  switch (true) {
21166
21942
  case bridgeStep === "sender-selector":
@@ -21210,8 +21986,6 @@ var init_useSendStore = __esm({
21210
21986
  //
21211
21987
  txStep: "input",
21212
21988
  //
21213
- // sendError: null,
21214
- //
21215
21989
  setRecipient: (recipient) => {
21216
21990
  useFlowSelectorStore.getState().setError(null);
21217
21991
  set({ recipient });
@@ -21230,14 +22004,16 @@ var init_useSendStore = __esm({
21230
22004
  useFlowSelectorStore.getState().setError(null);
21231
22005
  useFlowSelectorStore.getState().setRenderKey(`send-${txStep}-${Date.now()}`);
21232
22006
  set({ txStep });
21233
- }
22007
+ },
22008
+ /** RESET */
22009
+ reset: () => set({ recipient: "", amount: "", selectedAsset: null, txStep: "input" })
21234
22010
  }));
21235
22011
  }
21236
22012
  });
21237
22013
 
21238
22014
  // src/internal/components/SendMenu/onboarding.setup.ts
21239
22015
  var TOUR_SEND_ASSET, TOUR_BRIDGE_QUOTE, SEND_MENU_TOUR, BRIDGE_MENU_TOUR;
21240
- var init_onboarding_setup2 = __esm({
22016
+ var init_onboarding_setup9 = __esm({
21241
22017
  "src/internal/components/SendMenu/onboarding.setup.ts"() {
21242
22018
  init_useBridgeStore();
21243
22019
  init_useSendStore();
@@ -21274,6 +22050,8 @@ var init_onboarding_setup2 = __esm({
21274
22050
  elId: "sendmenu-crypto-summary" /* sendCryptoSummary */,
21275
22051
  title: "passport:sendMenu.onboarding.sendCryptoSummary.title",
21276
22052
  description: "passport:sendMenu.onboarding.sendCryptoSummary.description",
22053
+ forced: true,
22054
+ // no hide button for this step, user must click "Next" to proceed
21277
22055
  onNext: () => {
21278
22056
  const { setAmount, setRecipient, setSelectedAsset, setTxStep } = useSendStore.getState();
21279
22057
  setTxStep("input");
@@ -21281,11 +22059,6 @@ var init_onboarding_setup2 = __esm({
21281
22059
  setAmount("");
21282
22060
  setSelectedAsset(null);
21283
22061
  }
21284
- },
21285
- {
21286
- elId: "sendmenu-tour-button" /* tourButton */,
21287
- title: "passport:common.onboarding.tourButton.title",
21288
- description: "passport:common.onboarding.tourButton.description"
21289
22062
  }
21290
22063
  ];
21291
22064
  BRIDGE_MENU_TOUR = [
@@ -21336,16 +22109,13 @@ var init_onboarding_setup2 = __esm({
21336
22109
  elId: "bridgemenu-crypto-menu-estimate-details-menu" /* bridgeEstimatedQuoteMenu */,
21337
22110
  title: "passport:bridgeMenu.onboarding.bridgeEstimatedQuoteMenu.title",
21338
22111
  description: "passport:bridgeMenu.onboarding.bridgeEstimatedQuoteMenu.description",
22112
+ forced: true,
22113
+ // no hide button for this step, user must click "Next" to proceed
21339
22114
  onNext: () => {
21340
22115
  const { setQuote, setBridgeStep } = useBridgeStore.getState();
21341
22116
  setQuote(null);
21342
22117
  setBridgeStep("select");
21343
22118
  }
21344
- },
21345
- {
21346
- elId: "sendmenu-tour-button" /* tourButton */,
21347
- title: "passport:common.onboarding.tourButton.title",
21348
- description: "passport:common.onboarding.tourButton.description"
21349
22119
  }
21350
22120
  ];
21351
22121
  }
@@ -21367,7 +22137,7 @@ var init_ResolveChainIcon = __esm({
21367
22137
  // src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
21368
22138
  import { CHAINS_BROWSERS_TRANSPORTS as CHAINS_BROWSERS_TRANSPORTS2 } from "@embarkai/core";
21369
22139
  import { useQuery as useQuery21, useQueryClient as useQueryClient23 } from "@tanstack/react-query";
21370
- import { useCallback as useCallback28, useEffect as useEffect42 } from "react";
22140
+ import { useCallback as useCallback28, useEffect as useEffect43 } from "react";
21371
22141
  import { createPublicClient as createPublicClient2, erc20Abi as erc20Abi3, formatUnits as formatUnits8, http as http3 } from "viem";
21372
22142
  import { useSwitchChain as useSwitchChain2 } from "wagmi";
21373
22143
  function useBridgeBalance(hyperlaneWarpRoutes) {
@@ -21473,7 +22243,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
21473
22243
  },
21474
22244
  [refreshBalances, qc]
21475
22245
  );
21476
- useEffect42(() => {
22246
+ useEffect43(() => {
21477
22247
  if (!bridgeSender || !originChain) return;
21478
22248
  switch (bridgeSender) {
21479
22249
  case "embarkai-wallet":
@@ -22434,7 +23204,7 @@ var init_steps = __esm({
22434
23204
  });
22435
23205
 
22436
23206
  // src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx
22437
- import { useEffect as useEffect43 } from "react";
23207
+ import { useEffect as useEffect44 } from "react";
22438
23208
  import { jsx as jsx103, jsxs as jsxs95 } from "react/jsx-runtime";
22439
23209
  function HyperlaneBridge() {
22440
23210
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
@@ -22442,7 +23212,7 @@ function HyperlaneBridge() {
22442
23212
  const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
22443
23213
  const { directWalletProfile } = useAvailableSenders();
22444
23214
  useMenuTitle(hyperlaneWarpRoutes);
22445
- useEffect43(() => {
23215
+ useEffect44(() => {
22446
23216
  return () => {
22447
23217
  useBridgeStore.getState().resetSelections();
22448
23218
  };
@@ -22488,14 +23258,14 @@ var init_HyperlaneBridge = __esm({
22488
23258
  });
22489
23259
 
22490
23260
  // src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx
22491
- import { useRef as useRef19 } from "react";
23261
+ import { useRef as useRef18 } from "react";
22492
23262
  import { jsx as jsx104 } from "react/jsx-runtime";
22493
23263
  function BridgeHistorySwitch(props) {
22494
23264
  const { disabled } = props;
22495
23265
  const selectorFlow = useFlowSelectorStore((st) => st.flow);
22496
23266
  const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
22497
23267
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
22498
- const lastBridgeStepRef = useRef19(null);
23268
+ const lastBridgeStepRef = useRef18(null);
22499
23269
  if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
22500
23270
  return null;
22501
23271
  }
@@ -22597,7 +23367,7 @@ var init_useErc3643Compliance = __esm({
22597
23367
 
22598
23368
  // src/hooks/useNicknameResolve.ts
22599
23369
  import { useQuery as useQuery22 } from "@tanstack/react-query";
22600
- import { useEffect as useEffect44, useMemo as useMemo14, useState as useState24 } from "react";
23370
+ import { useEffect as useEffect45, useMemo as useMemo14, useState as useState24 } from "react";
22601
23371
  function looksLikeNickname(input) {
22602
23372
  if (!input) return false;
22603
23373
  if (input.startsWith("0x")) return false;
@@ -22611,7 +23381,7 @@ function useNicknameResolve(input, options) {
22611
23381
  const [isDebouncing, setIsDebouncing] = useState24(false);
22612
23382
  const normalized = normalizeNickname(input);
22613
23383
  const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
22614
- useEffect44(() => {
23384
+ useEffect45(() => {
22615
23385
  if (!isNicknameInput || !enabled) {
22616
23386
  setDebouncedInput("");
22617
23387
  setIsDebouncing(false);
@@ -23071,7 +23841,7 @@ var init_AssetList = __esm({
23071
23841
 
23072
23842
  // src/internal/components/SendMenu/send/components/NicknameData.tsx
23073
23843
  import { AtSign, CheckCircle2 as CheckCircle24, ShieldAlert, ShieldCheck as ShieldCheck2 } from "lucide-react";
23074
- import { useEffect as useEffect45 } from "react";
23844
+ import { useEffect as useEffect46 } from "react";
23075
23845
  import { jsx as jsx108, jsxs as jsxs99 } from "react/jsx-runtime";
23076
23846
  function NicknameData(props) {
23077
23847
  const { resolvedNicknameData, isNicknameInput } = props;
@@ -23084,11 +23854,11 @@ function NicknameData(props) {
23084
23854
  isWalletNotSetup,
23085
23855
  isFrozen
23086
23856
  } = resolvedNicknameData;
23087
- useEffect45(() => {
23857
+ useEffect46(() => {
23088
23858
  if (!resolvedNicknameData?.data?.fingerprint || !isNicknameInput) return;
23089
23859
  useFlowSelectorStore.getState().setRenderKey(`nickname-resolved-${Date.now()}`);
23090
23860
  }, [resolvedNicknameData, isNicknameInput]);
23091
- useEffect45(() => {
23861
+ useEffect46(() => {
23092
23862
  if (isResolving) return;
23093
23863
  let errMessage = null;
23094
23864
  switch (true) {
@@ -23658,7 +24428,7 @@ var init_sendSteps = __esm({
23658
24428
 
23659
24429
  // src/internal/components/SendMenu/send/SendMenu.tsx
23660
24430
  import { CheckCircle2 as CheckCircle26, Loader as Loader27 } from "lucide-react";
23661
- import { useEffect as useEffect46, useMemo as useMemo15 } from "react";
24431
+ import { useEffect as useEffect47, useMemo as useMemo15 } from "react";
23662
24432
  import { parseUnits as parseUnits2 } from "viem";
23663
24433
  import { Fragment as Fragment41, jsx as jsx111, jsxs as jsxs102 } from "react/jsx-runtime";
23664
24434
  function SendMenu() {
@@ -23679,25 +24449,16 @@ function SendMenu() {
23679
24449
  userOpHash,
23680
24450
  reset
23681
24451
  } = useSendTransaction();
23682
- useEffect46(() => {
24452
+ useEffect47(() => {
23683
24453
  useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
23684
24454
  }, [isAssetsLoading, isTransactionPending]);
23685
- useEffect46(() => {
24455
+ useEffect47(() => {
23686
24456
  useFlowSelectorStore.getState().setError(sendTransactionError || null);
23687
24457
  }, [sendTransactionError]);
23688
- const {
23689
- recipient,
23690
- setRecipient,
23691
- amount,
23692
- setAmount,
23693
- selectedAsset,
23694
- setSelectedAsset,
23695
- txStep,
23696
- setTxStep
23697
- } = useSendStore();
24458
+ const { txStep, recipient, amount, selectedAsset, setSelectedAsset } = useSendStore();
23698
24459
  const isNft = isNftAsset3(selectedAsset);
23699
24460
  const isSecurity = isSecurityToken2(selectedAsset);
23700
- useEffect46(() => {
24461
+ useEffect47(() => {
23701
24462
  const shouldDefaultAsset = assets.length > 0 && !selectedAsset;
23702
24463
  if (!shouldDefaultAsset) return;
23703
24464
  const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
@@ -23707,13 +24468,10 @@ function SendMenu() {
23707
24468
  if (isBalance(erc20)) return setSelectedAsset(erc20);
23708
24469
  setSelectedAsset(assets[0]);
23709
24470
  }, [assets, selectedAsset]);
23710
- useEffect46(
24471
+ useEffect47(
23711
24472
  () => () => {
23712
- setSelectedAsset(null);
23713
- setRecipient("");
23714
- setAmount("");
24473
+ useSendStore.getState().reset();
23715
24474
  reset();
23716
- setTxStep("input");
23717
24475
  },
23718
24476
  []
23719
24477
  );
@@ -23735,7 +24493,7 @@ function SendMenu() {
23735
24493
  enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
23736
24494
  chainId: activeChainId
23737
24495
  });
23738
- useEffect46(() => {
24496
+ useEffect47(() => {
23739
24497
  const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
23740
24498
  switch (true) {
23741
24499
  case txStep === "select-asset":
@@ -23834,9 +24592,9 @@ var init_send = __esm({
23834
24592
 
23835
24593
  // src/internal/components/SendMenu/useSendMenuParams.ts
23836
24594
  import { keys as keys2 } from "lodash-es";
23837
- import { useEffect as useEffect47 } from "react";
24595
+ import { useEffect as useEffect48 } from "react";
23838
24596
  function useSendMenuParams() {
23839
- useEffect47(() => {
24597
+ useEffect48(() => {
23840
24598
  const { pageParams, setPageParams } = useLayoutDataStore.getState();
23841
24599
  if (!pageParams || !keys2(pageParams).length) return;
23842
24600
  console.log("[SEND PARAMS]", pageParams);
@@ -23883,8 +24641,8 @@ var init_useSendMenuParams = __esm({
23883
24641
  });
23884
24642
 
23885
24643
  // src/internal/components/SendMenu/SendFlowSelector.tsx
23886
- import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2, CircleQuestionMarkIcon as CircleQuestionMarkIcon2, InfoIcon as InfoIcon6 } from "lucide-react";
23887
- import { useEffect as useEffect48 } from "react";
24644
+ import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2, InfoIcon as InfoIcon6 } from "lucide-react";
24645
+ import { useEffect as useEffect49 } from "react";
23888
24646
  import { jsx as jsx112, jsxs as jsxs103 } from "react/jsx-runtime";
23889
24647
  function SelectorFlowButtons() {
23890
24648
  const { t } = useT();
@@ -23946,7 +24704,8 @@ function SendFlowSelector() {
23946
24704
  const selectorFlow = useFlowSelectorStore((st) => st.flow);
23947
24705
  const sendStep = useSendStore((st) => st.txStep);
23948
24706
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
23949
- useEffect48(
24707
+ useOnboardingTourAvailable(sendStep === "input" && bridgeStep === "select");
24708
+ useEffect49(
23950
24709
  () => () => {
23951
24710
  useFlowSelectorStore.getState().setError(null);
23952
24711
  },
@@ -24000,29 +24759,7 @@ function SendFlowSelector() {
24000
24759
  ),
24001
24760
  /* @__PURE__ */ jsx112("span", { className: "text-xl font-semibold", children: menuTitle })
24002
24761
  ] }),
24003
- /* @__PURE__ */ jsxs103("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
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
- ] })
24762
+ /* @__PURE__ */ jsx112("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx112(BridgeHistorySwitch, {}) })
24026
24763
  ] }),
24027
24764
  isSendFlowInitialState && /* @__PURE__ */ jsx112(SelectorFlowButtons, {}),
24028
24765
  SELECTOR_FLOW[selectorFlow],
@@ -24059,7 +24796,6 @@ var init_SendFlowSelector = __esm({
24059
24796
  init_button();
24060
24797
  init_highlight();
24061
24798
  init_hyperbridge();
24062
- init_onboarding_setup2();
24063
24799
  init_send();
24064
24800
  init_useFlowSelector();
24065
24801
  init_useSendMenuParams();
@@ -24071,10 +24807,20 @@ var init_SendFlowSelector = __esm({
24071
24807
  });
24072
24808
 
24073
24809
  // src/internal/components/SendMenu/index.ts
24810
+ function getSendMenuFlowState() {
24811
+ return useFlowSelectorStore.getState().flow;
24812
+ }
24813
+ function resetSendMenuState() {
24814
+ useSendStore.getState().reset();
24815
+ useBridgeStore.getState().resetSelections();
24816
+ }
24074
24817
  var init_SendMenu2 = __esm({
24075
24818
  "src/internal/components/SendMenu/index.ts"() {
24819
+ init_hyperbridge();
24820
+ init_send();
24821
+ init_useFlowSelector();
24076
24822
  init_SendFlowSelector();
24077
- init_onboarding_setup2();
24823
+ init_onboarding_setup9();
24078
24824
  }
24079
24825
  });
24080
24826
 
@@ -24137,10 +24883,25 @@ var init_constants8 = __esm({
24137
24883
  }
24138
24884
  });
24139
24885
 
24886
+ // src/internal/components/SettingsMenu/onboarding.setup.ts
24887
+ var SETTINGS_MENU_ONBOARDING_ID, SETTINGS_MENU_TOUR;
24888
+ var init_onboarding_setup10 = __esm({
24889
+ "src/internal/components/SettingsMenu/onboarding.setup.ts"() {
24890
+ SETTINGS_MENU_ONBOARDING_ID = "embarkai-settings-menu-onboarding";
24891
+ SETTINGS_MENU_TOUR = [
24892
+ {
24893
+ elId: SETTINGS_MENU_ONBOARDING_ID,
24894
+ title: "passport:common.onboarding.settingsMenu.title",
24895
+ description: "passport:common.onboarding.settingsMenu.description"
24896
+ }
24897
+ ];
24898
+ }
24899
+ });
24900
+
24140
24901
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
24141
24902
  import { useQuery as useQuery24 } from "@tanstack/react-query";
24142
24903
  import { ArrowLeft as ArrowLeft20, HardDrive as HardDrive3 } from "lucide-react";
24143
- import { useEffect as useEffect49 } from "react";
24904
+ import { useEffect as useEffect50 } from "react";
24144
24905
  import { jsx as jsx113, jsxs as jsxs104 } from "react/jsx-runtime";
24145
24906
  function useSettingsButtons() {
24146
24907
  const config = useProviderConfig().config;
@@ -24157,9 +24918,9 @@ function useSettingsButtons() {
24157
24918
  }
24158
24919
  });
24159
24920
  if (proMode) {
24160
- settingsButtons.push({ id: "devices" /* DEVICES */, name: "Guardians", Icon: HardDrive3 });
24921
+ settingsButtons.push({ id: "devices" /* DEVICES */, name: "passport:guardiansMenu.title", Icon: HardDrive3 });
24161
24922
  }
24162
- useEffect49(() => {
24923
+ useEffect50(() => {
24163
24924
  const cssvEl = document.querySelector(".embarkai-ui-scope");
24164
24925
  if (!cssvEl || !window?.getComputedStyle) {
24165
24926
  return;
@@ -24176,6 +24937,7 @@ function useSettingsButtons() {
24176
24937
  function SettingsMenu() {
24177
24938
  const address = useSession((st) => st.address);
24178
24939
  const { t } = useT();
24940
+ useOnboardingTourAvailable(true);
24179
24941
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
24180
24942
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
24181
24943
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -24191,6 +24953,7 @@ function SettingsMenu() {
24191
24953
  return /* @__PURE__ */ jsxs104(
24192
24954
  "div",
24193
24955
  {
24956
+ ref: (inst) => onboarder.registerElement(SETTINGS_MENU_ONBOARDING_ID, inst),
24194
24957
  style: {
24195
24958
  "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
24196
24959
  "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
@@ -24235,8 +24998,10 @@ var init_SettingsMenu = __esm({
24235
24998
  init_pro_mode();
24236
24999
  init_utils2();
24237
25000
  init_useProvidersList();
25001
+ init_Onboarding();
24238
25002
  init_button();
24239
25003
  init_constants8();
25004
+ init_onboarding_setup10();
24240
25005
  }
24241
25006
  });
24242
25007
 
@@ -24244,6 +25009,7 @@ var init_SettingsMenu = __esm({
24244
25009
  var init_SettingsMenu2 = __esm({
24245
25010
  "src/internal/components/SettingsMenu/index.ts"() {
24246
25011
  init_SettingsMenu();
25012
+ init_onboarding_setup10();
24247
25013
  }
24248
25014
  });
24249
25015
 
@@ -24906,6 +25672,20 @@ var init_api4 = __esm({
24906
25672
  }
24907
25673
  });
24908
25674
 
25675
+ // src/internal/components/TransactionsMenu/onboarding.setup.ts
25676
+ var TRANSACTIONS_MENU_TOUR;
25677
+ var init_onboarding_setup11 = __esm({
25678
+ "src/internal/components/TransactionsMenu/onboarding.setup.ts"() {
25679
+ TRANSACTIONS_MENU_TOUR = [
25680
+ {
25681
+ elId: "embarkai-transactions-menu-onboarding" /* transactionsMenu */,
25682
+ title: "passport:transactionsMenu.onboarding.transactionsMenu.title",
25683
+ description: "passport:transactionsMenu.onboarding.transactionsMenu.description"
25684
+ }
25685
+ ];
25686
+ }
25687
+ });
25688
+
24909
25689
  // src/internal/components/TransactionsMenu/utils.ts
24910
25690
  function formatIntl(price, fractionDigits) {
24911
25691
  const formatter = Intl.NumberFormat("en-US", {
@@ -25105,6 +25885,7 @@ function TransactionsMenu() {
25105
25885
  const address = useSession((st) => st.address);
25106
25886
  const chainConfig = useSession((st) => st.chainConfig);
25107
25887
  const { t } = useT();
25888
+ useOnboardingTourAvailable(true);
25108
25889
  const setPage = useLayoutDataStore((st) => st.setPage);
25109
25890
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
25110
25891
  const [expandedGroups, setExpandedGroups] = useState27({});
@@ -25128,6 +25909,7 @@ function TransactionsMenu() {
25128
25909
  return /* @__PURE__ */ jsx116(
25129
25910
  "div",
25130
25911
  {
25912
+ ref: (inst) => onboarder.registerElement("embarkai-transactions-menu-onboarding" /* transactionsMenu */, inst),
25131
25913
  style: {
25132
25914
  "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
25133
25915
  "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
@@ -25151,11 +25933,11 @@ function TransactionsMenu() {
25151
25933
  ] }),
25152
25934
  !historySupported && /* @__PURE__ */ jsx116(Highlight, { type: "warning", children: /* @__PURE__ */ jsx116("span", { children: t("passport:transactionsMenu.comingSoon") }) }),
25153
25935
  historySupported && isTxHistoryLoading && /* @__PURE__ */ jsx116("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx116(Loader28, { className: "w-4 h-4 animate-spin" }) }),
25936
+ historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx116(Highlight, { type: "info", children: /* @__PURE__ */ jsx116("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
25154
25937
  historySupported && !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs107(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
25155
25938
  /* @__PURE__ */ jsx116(XCircle, { className: "w-4 h-4 flex-none" }),
25156
25939
  /* @__PURE__ */ jsx116("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
25157
25940
  ] }),
25158
- historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx116(Highlight, { type: "warning", children: /* @__PURE__ */ jsx116("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
25159
25941
  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
25942
  TransactionsGroup,
25161
25943
  {
@@ -25176,6 +25958,7 @@ var init_TransactionsMenu = __esm({
25176
25958
  init_useLayoutDataStore();
25177
25959
  init_useLayoutStore();
25178
25960
  init_Expandable2();
25961
+ init_Onboarding();
25179
25962
  init_button();
25180
25963
  init_highlight();
25181
25964
  init_api4();
@@ -25188,6 +25971,7 @@ var init_TransactionsMenu = __esm({
25188
25971
  var init_TransactionsMenu2 = __esm({
25189
25972
  "src/internal/components/TransactionsMenu/index.ts"() {
25190
25973
  init_TransactionsMenu();
25974
+ init_onboarding_setup11();
25191
25975
  }
25192
25976
  });
25193
25977
 
@@ -25359,7 +26143,7 @@ var init_PageMap = __esm({
25359
26143
  });
25360
26144
 
25361
26145
  // src/internal/hooks/usePageMapper.tsx
25362
- import { useCallback as useCallback31, useEffect as useEffect50 } from "react";
26146
+ import { useCallback as useCallback31, useEffect as useEffect51 } from "react";
25363
26147
  import { jsx as jsx117 } from "react/jsx-runtime";
25364
26148
  function usePageMapper() {
25365
26149
  const page = useLayoutDataStore((st) => st.page);
@@ -25392,7 +26176,7 @@ function usePageMapper() {
25392
26176
  },
25393
26177
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
25394
26178
  );
25395
- useEffect50(() => {
26179
+ useEffect51(() => {
25396
26180
  if (page === null) return closeDialog();
25397
26181
  const pageItem = PAGE_MAP[page];
25398
26182
  if (!pageItem) {
@@ -25415,20 +26199,20 @@ var init_usePageMapper = __esm({
25415
26199
  });
25416
26200
 
25417
26201
  // src/internal/hooks/useSettingsNotifications.ts
25418
- import { useEffect as useEffect51 } from "react";
26202
+ import { useEffect as useEffect52 } from "react";
25419
26203
  function useSettingsNotifications() {
25420
26204
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
25421
26205
  const providers = jwtTokenManager2.getProviders();
25422
26206
  const hasEmail = providers.includes("email");
25423
26207
  const { data: userProfile = null } = useUserProfile();
25424
- useEffect51(() => {
26208
+ useEffect52(() => {
25425
26209
  const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
25426
26210
  setSettingsNotifications({
25427
26211
  ...COMPLETE_KYC_PROGRESS,
25428
26212
  status: isKYCVerified ? "resolved" : "active"
25429
26213
  });
25430
26214
  }, [userProfile, setSettingsNotifications]);
25431
- useEffect51(() => {
26215
+ useEffect52(() => {
25432
26216
  setSettingsNotifications({
25433
26217
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
25434
26218
  status: hasEmail ? "resolved" : "active"
@@ -25460,7 +26244,7 @@ var init_package = __esm({
25460
26244
  "package.json"() {
25461
26245
  package_default = {
25462
26246
  name: "@embarkai/ui-kit",
25463
- version: "0.4.74",
26247
+ version: "0.4.75",
25464
26248
  description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
25465
26249
  type: "module",
25466
26250
  main: "./dist/index.cjs",
@@ -25630,6 +26414,7 @@ function Footer() {
25630
26414
  /* @__PURE__ */ jsxs108(
25631
26415
  Button,
25632
26416
  {
26417
+ ref: (inst) => onboarder.registerElement(FOOTER_ONBOARDING_CHAIN_BUTTON, inst),
25633
26418
  size: "small",
25634
26419
  variant: "ghost",
25635
26420
  disabled: !address || isDisconnecting,
@@ -25650,6 +26435,7 @@ function Footer() {
25650
26435
  !!address ? /* @__PURE__ */ jsxs108(
25651
26436
  Button,
25652
26437
  {
26438
+ ref: (inst) => onboarder.registerElement(FOOTER_ONBOARDING_LOGOUT_BUTTON, inst),
25653
26439
  className: "text-xs",
25654
26440
  size: "small",
25655
26441
  variant: "ghost",
@@ -25676,6 +26462,7 @@ function Footer() {
25676
26462
  }
25677
26463
  );
25678
26464
  }
26465
+ var FOOTER_ONBOARDING_CHAIN_BUTTON, FOOTER_ONBOARDING_LOGOUT_BUTTON, FOOTER_TOUR;
25679
26466
  var init_Footer = __esm({
25680
26467
  "src/internal/components/Footer/Footer.tsx"() {
25681
26468
  init_package();
@@ -25690,7 +26477,22 @@ var init_Footer = __esm({
25690
26477
  init_utils2();
25691
26478
  init_useExternalWalletStore();
25692
26479
  init_constants5();
26480
+ init_Onboarding();
25693
26481
  init_button();
26482
+ FOOTER_ONBOARDING_CHAIN_BUTTON = "embark-footer-chain-button";
26483
+ FOOTER_ONBOARDING_LOGOUT_BUTTON = "embark-footer-logout-button";
26484
+ FOOTER_TOUR = [
26485
+ {
26486
+ elId: FOOTER_ONBOARDING_CHAIN_BUTTON,
26487
+ title: "passport:common.onboarding.chainButton.title",
26488
+ description: "passport:common.onboarding.chainButton.description"
26489
+ },
26490
+ {
26491
+ elId: FOOTER_ONBOARDING_LOGOUT_BUTTON,
26492
+ title: "passport:common.onboarding.logoutButton.title",
26493
+ description: "passport:common.onboarding.logoutButton.description"
26494
+ }
26495
+ ];
25694
26496
  }
25695
26497
  });
25696
26498
 
@@ -25698,12 +26500,73 @@ var init_Footer = __esm({
25698
26500
  var init_Footer2 = __esm({
25699
26501
  "src/internal/components/Footer/index.ts"() {
25700
26502
  init_Footer();
26503
+ init_Footer();
26504
+ }
26505
+ });
26506
+
26507
+ // src/internal/components/Header/onborading.setup.ts
26508
+ var EMBARKAI_HEADER_ONBOARDING_ID, EMBARKAI_HEADER_TOUR_BUTTON_ID, ONBOARDING_TOURS;
26509
+ var init_onborading_setup = __esm({
26510
+ "src/internal/components/Header/onborading.setup.ts"() {
26511
+ init_BuyMenu2();
26512
+ init_ChainsMenu2();
26513
+ init_Dialog2();
26514
+ init_Footer2();
26515
+ init_KeyshareRestoreMenu2();
26516
+ init_MainMenu2();
26517
+ init_ManageWalletMenu();
26518
+ init_NicknameMenu2();
26519
+ init_ReceiveMenu2();
26520
+ init_SecurityMenu2();
26521
+ init_SendMenu2();
26522
+ init_SettingsMenu2();
26523
+ init_TransactionsMenu2();
26524
+ EMBARKAI_HEADER_ONBOARDING_ID = "embark-header-user-section";
26525
+ EMBARKAI_HEADER_TOUR_BUTTON_ID = "embark-header-tour-button-section";
26526
+ ONBOARDING_TOURS = {
26527
+ ["main-menu" /* MAIN_MENU */]: () => [
26528
+ {
26529
+ elId: EMBARKAI_DIALOG_ONBOARDING_ID,
26530
+ title: "passport:common.onboarding.embarkAI.title",
26531
+ description: "passport:common.onboarding.embarkAI.description"
26532
+ },
26533
+ {
26534
+ elId: EMBARKAI_HEADER_ONBOARDING_ID,
26535
+ title: "passport:common.onboarding.userSection.title",
26536
+ description: "passport:common.onboarding.userSection.description"
26537
+ },
26538
+ ...MAIN_MENU_TOUR,
26539
+ ...FOOTER_TOUR
26540
+ ],
26541
+ ["settings" /* SETTINGS */]: () => SETTINGS_MENU_TOUR,
26542
+ ["buy" /* BUY */]: () => BUY_MENU_BINANCE_TOUR,
26543
+ ["send" /* SEND */]: () => {
26544
+ resetSendMenuState();
26545
+ const sendTour = [];
26546
+ switch (getSendMenuFlowState()) {
26547
+ case "send":
26548
+ sendTour.push(...SEND_MENU_TOUR);
26549
+ break;
26550
+ case "bridge":
26551
+ sendTour.push(...BRIDGE_MENU_TOUR);
26552
+ break;
26553
+ }
26554
+ return sendTour;
26555
+ },
26556
+ ["receive" /* RECEIVE */]: () => RECEIVE_MENU_TOUR,
26557
+ ["security" /* SECURITY */]: () => SECURITY_MENU_TOUR,
26558
+ ["keysare-backup" /* KEYSARE_BACKUP */]: () => KEYSHARE_BACKUP_MENU_TOUR,
26559
+ ["transactions" /* TRANSACTIONS */]: () => TRANSACTIONS_MENU_TOUR,
26560
+ ["nickname-settings" /* NICKNAME_SETTINGS */]: () => NICKNAME_MENU_TOUR,
26561
+ ["manage-wallet" /* MANAGE_WALLET */]: () => MANAGE_WALLET_MENU_TOUR,
26562
+ ["chain" /* CHAIN */]: () => CHAIN_MENU_TOUR
26563
+ };
25701
26564
  }
25702
26565
  });
25703
26566
 
25704
26567
  // src/internal/components/Header/Header.tsx
25705
- import { Copy as Copy4, Loader as Loader30 } from "lucide-react";
25706
- import { useCallback as useCallback32, useRef as useRef20, useState as useState28 } from "react";
26568
+ import { CircleQuestionMarkIcon as CircleQuestionMarkIcon2, Copy as Copy4, Loader as Loader30 } from "lucide-react";
26569
+ import { useCallback as useCallback32, useRef as useRef19, useState as useState28 } from "react";
25707
26570
  import { Fragment as Fragment43, jsx as jsx119, jsxs as jsxs109 } from "react/jsx-runtime";
25708
26571
  function formatAddress2(addr) {
25709
26572
  if (!addr) return "";
@@ -25713,12 +26576,13 @@ function Header() {
25713
26576
  const config = useProviderConfig().config;
25714
26577
  const address = useSession((st) => st.address);
25715
26578
  const chainConfig = useSession((st) => st.chainConfig);
25716
- const { t } = useT();
26579
+ const embarkPage = useLayoutDataStore((st) => st.page);
26580
+ const isOnboardingTourAvailable = useOnboardingStore((st) => st.isTourAvailable);
25717
26581
  const proMode = useProMode();
25718
26582
  const [proToast, setProToast] = useState28(false);
25719
26583
  const [copied, setCopied] = useState28(false);
25720
- const clickCountRef = useRef20(0);
25721
- const clickTimerRef = useRef20(null);
26584
+ const clickCountRef = useRef19(0);
26585
+ const clickTimerRef = useRef19(null);
25722
26586
  const handleAvatarClick = useCallback32(() => {
25723
26587
  clickCountRef.current += 1;
25724
26588
  if (clickTimerRef.current) {
@@ -25740,10 +26604,11 @@ function Header() {
25740
26604
  const { data: profile, isLoading: isProfileLoading } = useUserProfile();
25741
26605
  const avatar = profile?.avatar || jwtTokenManager2.getAvatar();
25742
26606
  const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
25743
- const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */ jsx119("div", { className: "flex-none w-4 h-4 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ jsx119("span", { className: "text-[var(--ui-kit-fg-inverted)] text-xs font-bold", children: chainConfig.name.charAt(0) }) }));
26607
+ const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || null;
25744
26608
  return /* @__PURE__ */ jsxs109(
25745
26609
  "div",
25746
26610
  {
26611
+ ref: (inst) => onboarder.registerElement(EMBARKAI_HEADER_ONBOARDING_ID, inst),
25747
26612
  style: { borderBottom: "1px solid var(--ui-kit-bd)" },
25748
26613
  className: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)] pt-5",
25749
26614
  children: [
@@ -25788,26 +26653,36 @@ function Header() {
25788
26653
  ] }),
25789
26654
  !!address && /* @__PURE__ */ jsxs109("div", { className: "w-full flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
25790
26655
  /* @__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: formatAddress2(address) }),
25792
- /* @__PURE__ */ jsx119(ChainIcon, { className: "flex-none w-4 h-4" })
26656
+ !!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) }) }),
26657
+ /* @__PURE__ */ jsx119("span", { className: cn("transition-colors", copied && "text-[var(--ui-kit-bg-success)]"), children: formatAddress2(address) })
25793
26658
  ] }),
25794
- /* @__PURE__ */ jsx119("div", { className: "w-fit flex items-center gap-[var(--ui-kit-gap)] justify-between", children: /* @__PURE__ */ jsxs109(
25795
- Button,
25796
- {
25797
- size: "small",
25798
- variant: "ghost",
25799
- className: "text-[10px] px-2 text-[var(--ui-kit-fg)]",
25800
- onClick: async () => {
25801
- await navigator.clipboard.writeText(address);
25802
- setCopied(true);
25803
- setTimeout(() => setCopied(false), 1500);
25804
- },
25805
- children: [
25806
- copied ? /* @__PURE__ */ jsx119(PositiveIcon, {}) : /* @__PURE__ */ jsx119(Copy4, { className: "w-4 h-4" }),
25807
- /* @__PURE__ */ jsx119("span", { className: "uppercase", children: t("passport:common.copy") })
25808
- ]
25809
- }
25810
- ) })
26659
+ /* @__PURE__ */ jsxs109("div", { className: "w-fit flex items-center", children: [
26660
+ /* @__PURE__ */ jsx119(
26661
+ Button,
26662
+ {
26663
+ size: "small",
26664
+ variant: "ghost",
26665
+ className: "text-[10px] px-2",
26666
+ onClick: async () => {
26667
+ await navigator.clipboard.writeText(address);
26668
+ setCopied(true);
26669
+ setTimeout(() => setCopied(false), 1500);
26670
+ },
26671
+ children: copied ? /* @__PURE__ */ jsx119(PositiveIcon, {}) : /* @__PURE__ */ jsx119(Copy4, { className: "w-4 h-4" })
26672
+ }
26673
+ ),
26674
+ !!isOnboardingTourAvailable && ONBOARDING_TOURS[embarkPage] && /* @__PURE__ */ jsx119(
26675
+ Button,
26676
+ {
26677
+ ref: (inst) => onboarder.registerElement(EMBARKAI_HEADER_TOUR_BUTTON_ID, inst),
26678
+ size: "small",
26679
+ variant: "ghost",
26680
+ className: "text-[10px] px-2",
26681
+ onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]()),
26682
+ children: /* @__PURE__ */ jsx119(CircleQuestionMarkIcon2, { className: "w-4 h-4" })
26683
+ }
26684
+ )
26685
+ ] })
25811
26686
  ] }),
25812
26687
  proToast && /* @__PURE__ */ jsx119("div", { className: "text-xs text-center text-[var(--ui-kit-primary)] font-medium animate-pulse", children: "Pro Mode activated" })
25813
26688
  ]
@@ -25820,15 +26695,17 @@ var init_Header = __esm({
25820
26695
  init_networks3();
25821
26696
  init_ProviderContext();
25822
26697
  init_SessionContext();
25823
- init_useT();
25824
26698
  init_icons();
25825
26699
  init_auth();
26700
+ init_useLayoutDataStore();
25826
26701
  init_useUserProfile();
25827
26702
  init_pro_mode();
25828
26703
  init_utils2();
25829
26704
  init_BalanceView2();
25830
26705
  init_KYC();
26706
+ init_Onboarding();
25831
26707
  init_button();
26708
+ init_onborading_setup();
25832
26709
  }
25833
26710
  });
25834
26711
 
@@ -25836,6 +26713,7 @@ var init_Header = __esm({
25836
26713
  var init_Header2 = __esm({
25837
26714
  "src/internal/components/Header/index.ts"() {
25838
26715
  init_Header();
26716
+ init_onborading_setup();
25839
26717
  }
25840
26718
  });
25841
26719
 
@@ -25843,7 +26721,7 @@ var init_Header2 = __esm({
25843
26721
  import * as DialogPrimitive from "@radix-ui/react-dialog";
25844
26722
  import { merge as merge2 } from "lodash-es";
25845
26723
  import { ArrowLeft as ArrowLeft23, SlidersHorizontal, X } from "lucide-react";
25846
- import { forwardRef as forwardRef4 } from "react";
26724
+ import { forwardRef as forwardRef6 } from "react";
25847
26725
  import { jsx as jsx120, jsxs as jsxs110 } from "react/jsx-runtime";
25848
26726
  function useDecideContentStyles() {
25849
26727
  const isMobileView = useLayoutStore((st) => st.isMobileView);
@@ -25866,7 +26744,7 @@ var init_dialog = __esm({
25866
26744
  init_button();
25867
26745
  Dialog = DialogPrimitive.Root;
25868
26746
  DialogPortal = DialogPrimitive.Portal;
25869
- DialogOverlay = forwardRef4(
26747
+ DialogOverlay = forwardRef6(
25870
26748
  ({ className, closing, ...props }, ref) => /* @__PURE__ */ jsx120(
25871
26749
  DialogPrimitive.Overlay,
25872
26750
  {
@@ -25888,7 +26766,7 @@ var init_dialog = __esm({
25888
26766
  border: "1px solid var(--ui-kit-bd)",
25889
26767
  boxShadow: "var(--ui-kit-shadow, 0px 4px 10px var(--ui-kit-shadow-c, rgba(0, 0, 0, 0.1)))"
25890
26768
  };
25891
- DialogContent = forwardRef4(
26769
+ DialogContent = forwardRef6(
25892
26770
  ({ className, children, colorMode, ...props }, ref) => {
25893
26771
  const { t, i18n } = useT();
25894
26772
  const isSessionLoading = useSession((st) => st.isLoading);
@@ -26000,7 +26878,7 @@ var init_dialog = __esm({
26000
26878
  DialogHeader.displayName = "DialogHeader";
26001
26879
  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
26880
  DialogFooter.displayName = "DialogFooter";
26003
- DialogTitle = forwardRef4(({ className, ...props }, ref) => /* @__PURE__ */ jsx120(
26881
+ DialogTitle = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */ jsx120(
26004
26882
  DialogPrimitive.Title,
26005
26883
  {
26006
26884
  ref,
@@ -26009,7 +26887,7 @@ var init_dialog = __esm({
26009
26887
  }
26010
26888
  ));
26011
26889
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
26012
- DialogDescription = forwardRef4(({ className, ...props }, ref) => /* @__PURE__ */ jsx120(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
26890
+ DialogDescription = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */ jsx120(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
26013
26891
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
26014
26892
  }
26015
26893
  });
@@ -26025,7 +26903,7 @@ var init_visually_hidden = __esm({
26025
26903
 
26026
26904
  // src/internal/components/Dialog/Dialog.tsx
26027
26905
  import { AnimatePresence, motion } from "framer-motion";
26028
- import { useEffect as useEffect52 } from "react";
26906
+ import { useEffect as useEffect53 } from "react";
26029
26907
  import { jsx as jsx122, jsxs as jsxs111 } from "react/jsx-runtime";
26030
26908
  function Dialog2() {
26031
26909
  const config = useProviderConfig().config;
@@ -26037,7 +26915,7 @@ function Dialog2() {
26037
26915
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
26038
26916
  const setPage = useLayoutDataStore((st) => st.setPage);
26039
26917
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
26040
- useEffect52(() => setIsSettings(!!session), [session, setIsSettings]);
26918
+ useEffect53(() => setIsSettings(!!session), [session, setIsSettings]);
26041
26919
  usePageMapper();
26042
26920
  useAutoConnect();
26043
26921
  useBackupStatusChanges();
@@ -26054,27 +26932,36 @@ function Dialog2() {
26054
26932
  if (isDialogForced) return;
26055
26933
  if (!open) setPage(null);
26056
26934
  },
26057
- children: /* @__PURE__ */ jsxs111(DialogContent, { colorMode, className, children: [
26058
- /* @__PURE__ */ jsx122(VisuallyHidden, { children: /* @__PURE__ */ jsx122(DialogTitle, { children: dialogTitle }) }),
26059
- /* @__PURE__ */ jsx122(DialogDescription, { className: "sr-only", children: dialogDescription }),
26060
- !isHeaderHidden && /* @__PURE__ */ jsx122(Header, {}),
26061
- /* @__PURE__ */ jsx122(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx122(
26062
- motion.div,
26063
- {
26064
- initial: { opacity: 0, height: transitionPageHeight },
26065
- animate: { opacity: 1, height: "auto" },
26066
- exit: { opacity: 0, height: transitionPageHeight },
26067
- style: { overflow: "hidden" },
26068
- transition: Y_ANIMATION_SETUP,
26069
- children: dialogContent
26070
- },
26071
- page || "empty"
26072
- ) }),
26073
- /* @__PURE__ */ jsx122(Footer, {})
26074
- ] })
26935
+ children: /* @__PURE__ */ jsxs111(
26936
+ DialogContent,
26937
+ {
26938
+ ref: (inst) => onboarder.registerElement(EMBARKAI_DIALOG_ONBOARDING_ID, inst),
26939
+ colorMode,
26940
+ className,
26941
+ children: [
26942
+ /* @__PURE__ */ jsx122(VisuallyHidden, { children: /* @__PURE__ */ jsx122(DialogTitle, { children: dialogTitle }) }),
26943
+ /* @__PURE__ */ jsx122(DialogDescription, { className: "sr-only", children: dialogDescription }),
26944
+ !isHeaderHidden && /* @__PURE__ */ jsx122(Header, {}),
26945
+ /* @__PURE__ */ jsx122(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx122(
26946
+ motion.div,
26947
+ {
26948
+ initial: { opacity: 0, height: transitionPageHeight },
26949
+ animate: { opacity: 1, height: "auto" },
26950
+ exit: { opacity: 0, height: transitionPageHeight },
26951
+ style: { overflow: "hidden" },
26952
+ transition: Y_ANIMATION_SETUP,
26953
+ children: dialogContent
26954
+ },
26955
+ page || "empty"
26956
+ ) }),
26957
+ /* @__PURE__ */ jsx122(Footer, {})
26958
+ ]
26959
+ }
26960
+ )
26075
26961
  }
26076
26962
  );
26077
26963
  }
26964
+ var EMBARKAI_DIALOG_ONBOARDING_ID;
26078
26965
  var init_Dialog = __esm({
26079
26966
  "src/internal/components/Dialog/Dialog.tsx"() {
26080
26967
  init_ProviderContext();
@@ -26090,8 +26977,10 @@ var init_Dialog = __esm({
26090
26977
  init_useSettingsNotifications();
26091
26978
  init_Footer2();
26092
26979
  init_Header2();
26980
+ init_Onboarding();
26093
26981
  init_dialog();
26094
26982
  init_visually_hidden();
26983
+ EMBARKAI_DIALOG_ONBOARDING_ID = "embark-main-dialog-content";
26095
26984
  }
26096
26985
  });
26097
26986
 
@@ -26103,7 +26992,7 @@ var init_Dialog2 = __esm({
26103
26992
  });
26104
26993
 
26105
26994
  // src/internal/components/DirectWalletHandler.tsx
26106
- import { useEffect as useEffect53 } from "react";
26995
+ import { useEffect as useEffect54 } from "react";
26107
26996
  import { useAccount } from "wagmi";
26108
26997
  function DirectWalletHandler() {
26109
26998
  const walletMode = useProviderConfig().config.current?.wallet?.mode || "linked";
@@ -26115,13 +27004,13 @@ function DirectWalletHandler() {
26115
27004
  const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
26116
27005
  const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
26117
27006
  const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
26118
- useEffect53(() => {
27007
+ useEffect54(() => {
26119
27008
  setConfigMode(walletMode);
26120
27009
  if (walletMode !== "both") {
26121
27010
  setActiveMode(walletMode);
26122
27011
  }
26123
27012
  }, [walletMode, setConfigMode, setActiveMode]);
26124
- useEffect53(() => {
27013
+ useEffect54(() => {
26125
27014
  if (isConnected && address && !isExternalConnected && connector && chain?.id) {
26126
27015
  setExternalWallet({
26127
27016
  address,
@@ -26130,17 +27019,17 @@ function DirectWalletHandler() {
26130
27019
  });
26131
27020
  }
26132
27021
  }, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
26133
- useEffect53(() => {
27022
+ useEffect54(() => {
26134
27023
  if (isExternalConnected && !isConnected) {
26135
27024
  clearExternalWallet();
26136
27025
  }
26137
27026
  }, [isConnected, isExternalConnected, clearExternalWallet]);
26138
- useEffect53(() => {
27027
+ useEffect54(() => {
26139
27028
  if (isExternalConnected && isConnected && chain?.id) {
26140
27029
  setExternalChainId(chain.id);
26141
27030
  }
26142
27031
  }, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
26143
- useEffect53(() => {
27032
+ useEffect54(() => {
26144
27033
  if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
26145
27034
  setExternalWallet({
26146
27035
  address,
@@ -26215,7 +27104,7 @@ var init_TssManager = __esm({
26215
27104
  // src/internal/components/WalletConnectHandler.tsx
26216
27105
  import { useConnectModal as useConnectModal2 } from "@rainbow-me/rainbowkit";
26217
27106
  import { useMutation as useMutation23, useQueryClient as useQueryClient27 } from "@tanstack/react-query";
26218
- import React28, { useCallback as useCallback34, useEffect as useEffect54 } from "react";
27107
+ import React28, { useCallback as useCallback34, useEffect as useEffect55 } from "react";
26219
27108
  import { useAccount as useAccount2, useDisconnect as useDisconnect4, useSignMessage as useSignMessage2 } from "wagmi";
26220
27109
  function WalletConnectHandler() {
26221
27110
  const qc = useQueryClient27();
@@ -26270,7 +27159,7 @@ function WalletConnectHandler() {
26270
27159
  const [hasStartedLinking, setHasStartedLinking] = React28.useState(false);
26271
27160
  const [modalWasOpened, setModalWasOpened] = React28.useState(false);
26272
27161
  const [pendingModalOpen, setPendingModalOpen] = React28.useState(false);
26273
- useEffect54(() => {
27162
+ useEffect55(() => {
26274
27163
  if (isWalletLinking && !hasStartedLinking) {
26275
27164
  console.log("[WalletConnectHandler] Starting wallet link flow:", {
26276
27165
  isConnected,
@@ -26308,18 +27197,18 @@ function WalletConnectHandler() {
26308
27197
  setProviderType,
26309
27198
  walletMode
26310
27199
  ]);
26311
- useEffect54(() => {
27200
+ useEffect55(() => {
26312
27201
  if (pendingModalOpen && !isConnected && openConnectModal) {
26313
27202
  setPendingModalOpen(false);
26314
27203
  openConnectModal();
26315
27204
  }
26316
27205
  }, [pendingModalOpen, isConnected, openConnectModal]);
26317
- useEffect54(() => {
27206
+ useEffect55(() => {
26318
27207
  if (connectModalOpen && hasStartedLinking) {
26319
27208
  setModalWasOpened(true);
26320
27209
  }
26321
27210
  }, [connectModalOpen, hasStartedLinking]);
26322
- useEffect54(() => {
27211
+ useEffect55(() => {
26323
27212
  if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
26324
27213
  console.log("[WalletConnectHandler] Modal closed without connecting");
26325
27214
  onLinkingComplete(false);
@@ -26327,7 +27216,7 @@ function WalletConnectHandler() {
26327
27216
  setModalWasOpened(false);
26328
27217
  }
26329
27218
  }, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
26330
- useEffect54(() => {
27219
+ useEffect55(() => {
26331
27220
  if (isWalletLinking) {
26332
27221
  const timeout = setTimeout(() => {
26333
27222
  console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
@@ -26447,7 +27336,7 @@ function WalletConnectHandler() {
26447
27336
  setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
26448
27337
  }
26449
27338
  });
26450
- useEffect54(() => {
27339
+ useEffect55(() => {
26451
27340
  if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
26452
27341
  console.log("[WalletConnectHandler] handleWalletSign triggered");
26453
27342
  if (!passportWalletAddress) {
@@ -26457,7 +27346,7 @@ function WalletConnectHandler() {
26457
27346
  handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
26458
27347
  }
26459
27348
  }, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
26460
- useEffect54(() => {
27349
+ useEffect55(() => {
26461
27350
  if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
26462
27351
  const timeout = setTimeout(() => {
26463
27352
  console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
@@ -29317,9 +30206,9 @@ import {
29317
30206
  createContext,
29318
30207
  useCallback as useCallback35,
29319
30208
  useContext,
29320
- useEffect as useEffect55,
30209
+ useEffect as useEffect56,
29321
30210
  useMemo as useMemo17,
29322
- useRef as useRef21
30211
+ useRef as useRef20
29323
30212
  } from "react";
29324
30213
  import { jsx as jsx126 } from "react/jsx-runtime";
29325
30214
  function clearLegacyWagmiStorage() {
@@ -29339,9 +30228,9 @@ function clearLegacyWagmiStorage() {
29339
30228
  }
29340
30229
  function Provider(props) {
29341
30230
  const { children, projectId, initialConfig = {}, callbacks } = props;
29342
- const callbacksRef = useRef21(callbacks);
29343
- useEffect55(() => notifyNoProjetctId(projectId), [projectId]);
29344
- const config = useRef21(merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
30231
+ const callbacksRef = useRef20(callbacks);
30232
+ useEffect56(() => notifyNoProjetctId(projectId), [projectId]);
30233
+ const config = useRef20(merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
29345
30234
  const updateConfig = useCallback35((updates) => {
29346
30235
  const prev = config.current;
29347
30236
  const next = { ...prev };
@@ -29381,7 +30270,7 @@ function Provider(props) {
29381
30270
  const next = updates ? { ...prev, ...updates } : void 0;
29382
30271
  callbacksRef.current = next;
29383
30272
  }, []);
29384
- useEffect55(() => {
30273
+ useEffect56(() => {
29385
30274
  if (typeof window === "undefined" || !projectId) return;
29386
30275
  const mergedConfig = merge3(DEFAULT_PROVIDER_CONFIG, initialConfig);
29387
30276
  updateConfig(mergedConfig);
@@ -29401,7 +30290,7 @@ function Provider(props) {
29401
30290
  useSession.getState().setActiveChainId(mergedConfig.network.chainId);
29402
30291
  }
29403
30292
  }, [projectId, initialConfig]);
29404
- useEffect55(() => {
30293
+ useEffect56(() => {
29405
30294
  if (typeof window === "undefined" || !projectId) return;
29406
30295
  try {
29407
30296
  initSdkErrorTracking();
@@ -29470,7 +30359,7 @@ var init_ProviderContext = __esm({
29470
30359
  });
29471
30360
 
29472
30361
  // 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}`;
30362
+ 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
30363
 
29475
30364
  // src/index.ts
29476
30365
  init_ProviderContext();
@@ -29490,7 +30379,7 @@ init_useLayoutStore();
29490
30379
  init_pro_mode();
29491
30380
  init_utils2();
29492
30381
  import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader31, Shield as Shield3 } from "lucide-react";
29493
- import { useEffect as useEffect56, useMemo as useMemo18 } from "react";
30382
+ import { useEffect as useEffect57, useMemo as useMemo18 } from "react";
29494
30383
  import { Fragment as Fragment46, jsx as jsx127, jsxs as jsxs113 } from "react/jsx-runtime";
29495
30384
  function getFormattedStatus(label, status, showStatus) {
29496
30385
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
@@ -29510,7 +30399,7 @@ function ConnectWalletButton(props) {
29510
30399
  const colorMode = useLayoutStore((st) => st.colorMode);
29511
30400
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
29512
30401
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
29513
- useEffect56(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
30402
+ useEffect57(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
29514
30403
  const { data: profile, isLoading: isProfileLoading } = useUserProfile();
29515
30404
  const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
29516
30405
  const indicators = useMemo18(() => {
@@ -30156,13 +31045,13 @@ var Hash = ({
30156
31045
 
30157
31046
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
30158
31047
  init_base2();
30159
- import { useEffect as useEffect58, useState as useState32 } from "react";
31048
+ import { useEffect as useEffect59, useState as useState32 } from "react";
30160
31049
  import { jsx as jsx133, jsxs as jsxs117 } from "react/jsx-runtime";
30161
31050
  var TransactionsList = ({ address, itemsCount = 10 }) => {
30162
31051
  const [transactions, setTransactions] = useState32([]);
30163
31052
  const [loading, setLoading] = useState32(true);
30164
31053
  const [error, setError] = useState32(null);
30165
- useEffect58(() => {
31054
+ useEffect59(() => {
30166
31055
  const fetchTransactions2 = async () => {
30167
31056
  try {
30168
31057
  setLoading(true);
@@ -31025,8 +31914,8 @@ function useSmartAccountTransactions() {
31025
31914
  // src/index.ts
31026
31915
  init_iframe_manager();
31027
31916
  init_Onboarding();
31917
+ init_Header2();
31028
31918
  init_BuyMenu2();
31029
- init_SendMenu2();
31030
31919
 
31031
31920
  // src/internal/assets/index.ts
31032
31921
  init_networks2();
@@ -31058,8 +31947,6 @@ autorun();
31058
31947
  export {
31059
31948
  AccountAbstractionError,
31060
31949
  Address,
31061
- BRIDGE_MENU_TOUR,
31062
- BUY_MENU_BINANCE_TOUR,
31063
31950
  ConnectWalletButton,
31064
31951
  ErrorCodes,
31065
31952
  Hash,
@@ -31067,10 +31954,10 @@ export {
31067
31954
  LOCAL_STORAGE_I18N_KEY,
31068
31955
  LangToggle,
31069
31956
  NETWORKS_ICONS,
31957
+ ONBOARDING_TOURS,
31070
31958
  PASSPORT_TRANSLATIONS,
31071
31959
  PageKey,
31072
31960
  Provider,
31073
- SEND_MENU_TOUR,
31074
31961
  SessionExpiredError,
31075
31962
  TOKENS_ICONS,
31076
31963
  ThemeToggle,