@embarkai/ui-kit 0.4.72 → 0.4.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +1198 -631
- package/dist/index.d.cts +229 -8
- package/dist/index.d.ts +229 -8
- package/dist/index.js +1257 -693
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5544,6 +5544,12 @@ var init_en = __esm({
|
|
|
5544
5544
|
selectNone: "Select None",
|
|
5545
5545
|
errors: {
|
|
5546
5546
|
oops: "Oops, something went wrong. Please try again."
|
|
5547
|
+
},
|
|
5548
|
+
onboarding: {
|
|
5549
|
+
tourButton: {
|
|
5550
|
+
title: "Tour Button",
|
|
5551
|
+
description: 'Tours are available under the "?" buttons of embarkAI menus. Click to have menu tour'
|
|
5552
|
+
}
|
|
5547
5553
|
}
|
|
5548
5554
|
},
|
|
5549
5555
|
auth: {
|
|
@@ -5596,22 +5602,31 @@ var init_en = __esm({
|
|
|
5596
5602
|
actions: {
|
|
5597
5603
|
send: "SEND",
|
|
5598
5604
|
confirm: "CONFIRM SEND"
|
|
5605
|
+
},
|
|
5606
|
+
onboarding: {
|
|
5607
|
+
sendMenu: {
|
|
5608
|
+
title: "Send Menu",
|
|
5609
|
+
description: "Select a crypto asset to send and enter the recipient address and amount."
|
|
5610
|
+
},
|
|
5611
|
+
sendCryptoSummary: {
|
|
5612
|
+
title: "Send Summary",
|
|
5613
|
+
description: "Review the details of your crypto transfer before confirming, then confirm the transaction."
|
|
5614
|
+
}
|
|
5599
5615
|
}
|
|
5600
5616
|
},
|
|
5601
5617
|
bridgeMenu: {
|
|
5602
|
-
title: "Bridge
|
|
5618
|
+
title: "Bridge asset",
|
|
5603
5619
|
labels: {
|
|
5604
|
-
sender: "Sender",
|
|
5605
5620
|
bridgeAsset: "Bridge {{asset}}",
|
|
5606
|
-
|
|
5607
|
-
selectToken: "Select
|
|
5621
|
+
selectSender: "Select sender wallet",
|
|
5622
|
+
selectToken: "Select asset for bridging",
|
|
5608
5623
|
estimations: "Estimations",
|
|
5609
5624
|
estimatedFee: "Estimated Fee",
|
|
5610
|
-
availableChainPairs: "Select
|
|
5611
|
-
toChain: "To
|
|
5612
|
-
fromChain: "From
|
|
5625
|
+
availableChainPairs: "Select chain pair",
|
|
5626
|
+
toChain: "To chain",
|
|
5627
|
+
fromChain: "From chain",
|
|
5613
5628
|
optionalRecipient: "Recipient (optional, if empty - destination chain address = sender address on origin chain)",
|
|
5614
|
-
confirm: "Confirm
|
|
5629
|
+
confirm: "Confirm bridge",
|
|
5615
5630
|
bridgeTransactions: "Bridge TXs"
|
|
5616
5631
|
},
|
|
5617
5632
|
quote: {
|
|
@@ -5628,6 +5643,7 @@ var init_en = __esm({
|
|
|
5628
5643
|
},
|
|
5629
5644
|
actions: {
|
|
5630
5645
|
connectWallet: "CONNECT WALLET",
|
|
5646
|
+
addExternalWalletProfile: "ADD WALLET PROFILE",
|
|
5631
5647
|
bridge: "BRIDGE",
|
|
5632
5648
|
estimateQuote: "ESTIMATE QUOTE",
|
|
5633
5649
|
bridgeAsset: "BRIDGE {{asset}}",
|
|
@@ -5652,7 +5668,37 @@ var init_en = __esm({
|
|
|
5652
5668
|
noConnections: "No connections found between {{originChain}} & {{destinationChain}}",
|
|
5653
5669
|
wrongNetwork: " Please switch embarkAi to origin chain to proceed with bridging",
|
|
5654
5670
|
noHistory: "No bridge history yet. Bridge your assets to see the history here.",
|
|
5655
|
-
unsupportedNetwork:
|
|
5671
|
+
unsupportedNetwork: 'Bridging from {{originChain}} not yet possible by {{sender}}. Try swapping network pair, or select different token route, or change sender wallet, or if sender is embarkAI make sure it is switched to the corresponding "From Chain" network.'
|
|
5672
|
+
},
|
|
5673
|
+
onboarding: {
|
|
5674
|
+
bridgeMenu: {
|
|
5675
|
+
title: "Bridge Menu",
|
|
5676
|
+
description: "Sending via Bridging provides a way to send crypto assets across different blockchain networks."
|
|
5677
|
+
},
|
|
5678
|
+
bridgeSenderWalletSelector: {
|
|
5679
|
+
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"
|
|
5681
|
+
},
|
|
5682
|
+
bridgeCryptoAssetSelector: {
|
|
5683
|
+
title: "Select asset to bridge",
|
|
5684
|
+
description: "Bridging happens from one blockchain network to another.\n With this selector pick the asset you want to bridge, then pick the chain pair from available for the asset."
|
|
5685
|
+
},
|
|
5686
|
+
bridgeChainPairSwapper: {
|
|
5687
|
+
title: "Set origin & destination chains for bridging",
|
|
5688
|
+
description: 'Bridge route (chain pair) is used to be bidirectional, meaning that the origin and destination chains can be swapped.\n Use the "\u21C4" button to set the origin and destination chains for bridging.'
|
|
5689
|
+
},
|
|
5690
|
+
bridgeAmountRecipientInputs: {
|
|
5691
|
+
title: "Set amount & optional recipient for bridging",
|
|
5692
|
+
description: "Enter the amount you want to bridge and optionally specify a recipient address. If recipient is empty: destination chain address = sender address on origin chain"
|
|
5693
|
+
},
|
|
5694
|
+
bridgeEstimateQuoteButton: {
|
|
5695
|
+
title: "Estimate quote for bridging",
|
|
5696
|
+
description: "'Get an estimation of the bridging transaction before actual bridging. This helps you make an informed decision before proceeding with the bridge.'"
|
|
5697
|
+
},
|
|
5698
|
+
bridgeEstimatedQuoteMenu: {
|
|
5699
|
+
title: "Estimated bridging quote",
|
|
5700
|
+
description: "Make sure to check bridge setup & the estimated quote for bridging, then confirm the transaction."
|
|
5701
|
+
}
|
|
5656
5702
|
}
|
|
5657
5703
|
},
|
|
5658
5704
|
receiveMenu: {
|
|
@@ -5701,6 +5747,24 @@ var init_en = __esm({
|
|
|
5701
5747
|
inputPlaceholder: {
|
|
5702
5748
|
selectCurrencies: "Select crypto and fiat",
|
|
5703
5749
|
providerMin: "{{provider}}: Minimum {{minimum}} {{currency}} required"
|
|
5750
|
+
},
|
|
5751
|
+
onboarding: {
|
|
5752
|
+
buyMenu: {
|
|
5753
|
+
title: "Buy Menu",
|
|
5754
|
+
description: "Here you can make crypto purchases."
|
|
5755
|
+
},
|
|
5756
|
+
providerSelector: {
|
|
5757
|
+
title: "Select a Provider",
|
|
5758
|
+
description: "Cick here to choose a provider for your crypto purchase."
|
|
5759
|
+
},
|
|
5760
|
+
binanceMenu: {
|
|
5761
|
+
title: "Set Purchase Details",
|
|
5762
|
+
description: "Click here to set the details of your crypto purchase."
|
|
5763
|
+
},
|
|
5764
|
+
binanceEstimate: {
|
|
5765
|
+
title: "Confirm your purchase",
|
|
5766
|
+
description: "Review the details of your purchase before confirming."
|
|
5767
|
+
}
|
|
5704
5768
|
}
|
|
5705
5769
|
},
|
|
5706
5770
|
portfolioMenu: {
|
|
@@ -5889,6 +5953,12 @@ var init_ru = __esm({
|
|
|
5889
5953
|
selectNone: "\u0421\u043D\u044F\u0442\u044C \u0432\u044B\u0431\u043E\u0440",
|
|
5890
5954
|
errors: {
|
|
5891
5955
|
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
|
+
},
|
|
5957
|
+
onboarding: {
|
|
5958
|
+
tourButton: {
|
|
5959
|
+
title: "\u041A\u043D\u043E\u043F\u043A\u0430 \u0442\u0443\u0440\u0430",
|
|
5960
|
+
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"
|
|
5961
|
+
}
|
|
5892
5962
|
}
|
|
5893
5963
|
},
|
|
5894
5964
|
auth: {
|
|
@@ -5941,14 +6011,23 @@ var init_ru = __esm({
|
|
|
5941
6011
|
actions: {
|
|
5942
6012
|
send: "\u041E\u0422\u041F\u0420\u0410\u0412\u0418\u0422\u042C",
|
|
5943
6013
|
confirm: "\u041F\u041E\u0414\u0422\u0412\u0415\u0420\u0414\u0418\u0422\u042C \u041E\u0422\u041F\u0420\u0410\u0412\u041A\u0423"
|
|
6014
|
+
},
|
|
6015
|
+
onboarding: {
|
|
6016
|
+
sendMenu: {
|
|
6017
|
+
title: "\u041C\u0435\u043D\u044E \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438",
|
|
6018
|
+
description: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0440\u0438\u043F\u0442\u043E\u0430\u043A\u0442\u0438\u0432 \u0434\u043B\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F \u0438 \u0441\u0443\u043C\u043C\u0443."
|
|
6019
|
+
},
|
|
6020
|
+
sendCryptoSummary: {
|
|
6021
|
+
title: "\u0421\u0432\u043E\u0434\u043A\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438",
|
|
6022
|
+
description: "\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0434\u0435\u0442\u0430\u043B\u0438 \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u0430 \u043F\u0435\u0440\u0435\u0434 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435\u043C, \u0437\u0430\u0442\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044E."
|
|
6023
|
+
}
|
|
5944
6024
|
}
|
|
5945
6025
|
},
|
|
5946
6026
|
bridgeMenu: {
|
|
5947
6027
|
title: "\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0410\u043A\u0442\u0438\u0432",
|
|
5948
6028
|
labels: {
|
|
5949
|
-
sender: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C",
|
|
5950
6029
|
bridgeAsset: "\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C {{asset}}",
|
|
5951
|
-
|
|
6030
|
+
selectSender: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u043E\u0448\u0435\u043B\u0451\u043A-\u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C",
|
|
5952
6031
|
selectToken: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0442\u043E\u043A\u0435\u043D\u0430",
|
|
5953
6032
|
estimations: "\u041E\u0446\u0435\u043D\u043A\u0438",
|
|
5954
6033
|
estimatedFee: "\u041E\u0436\u0438\u0434\u0430\u0435\u043C\u0430\u044F \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u044F",
|
|
@@ -5973,11 +6052,12 @@ var init_ru = __esm({
|
|
|
5973
6052
|
},
|
|
5974
6053
|
actions: {
|
|
5975
6054
|
connectWallet: "\u041F\u041E\u0414\u041A\u041B\u042E\u0427\u0418\u0422\u042C \u041A\u041E\u0428\u0415\u041B\u0401\u041A",
|
|
6055
|
+
addExternalWalletProfile: "\u0414\u041E\u0411\u0410\u0412\u0418\u0422\u042C \u041F\u0420\u041E\u0424\u0418\u041B\u042C \u041A\u041E\u0428\u0415\u041B\u042C\u041A\u0410",
|
|
5976
6056
|
bridge: "\u041F\u0415\u0420\u0415\u041C\u0415\u0421\u0422\u0418\u0422\u042C",
|
|
5977
6057
|
estimateQuote: "\u0420\u0410\u0421\u0421\u0427\u0418\u0422\u0410\u0422\u042C \u0421\u0422\u041E\u0418\u041C\u041E\u0421\u0422\u042C",
|
|
5978
6058
|
bridgeAsset: "\u041F\u0415\u0420\u0415\u041C\u0415\u0421\u0422\u0418\u0422\u042C {{asset}}",
|
|
5979
6059
|
selectAsset: "\u0412\u042B\u0411\u0420\u0410\u0422\u042C \u0410\u041A\u0422\u0418\u0412",
|
|
5980
|
-
confirmBridge: "\
|
|
6060
|
+
confirmBridge: "\u042F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 {{amount}} {{asset}} \u0432 {{destinationChain}}"
|
|
5981
6061
|
},
|
|
5982
6062
|
statuses: {
|
|
5983
6063
|
balanceInsufficient: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0442\u043E\u0447\u043D\u043E \u0441\u0440\u0435\u0434\u0441\u0442\u0432",
|
|
@@ -5997,7 +6077,37 @@ var init_ru = __esm({
|
|
|
5997
6077
|
noConnections: "\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0439 \u043C\u0435\u0436\u0434\u0443 {{originChain}} \u0438 {{destinationChain}} \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",
|
|
5998
6078
|
wrongNetwork: " \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u0435 EmbarkAI \u043D\u0430 \u0438\u0441\u0445\u043E\u0434\u043D\u0443\u044E \u0441\u0435\u0442\u044C \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
5999
6079
|
noHistory: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0439 \u043F\u0443\u0441\u0442\u0430. \u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u0432\u0430\u0448\u0438 \u0430\u043A\u0442\u0438\u0432\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u0432\u0438\u0434\u0435\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0437\u0434\u0435\u0441\u044C.",
|
|
6000
|
-
unsupportedNetwork: "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u0437
|
|
6080
|
+
unsupportedNetwork: "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u0437 {{originChain}} \u043D\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0434\u043B\u044F {{sender}}. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u0443 \u0441\u0435\u0442\u0435\u0439, \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u043E\u0439 \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0442\u043E\u043A\u0435\u043D\u0430, \u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043A\u043E\u0448\u0435\u043B\u0451\u043A \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044F \u0438\u043B\u0438, \u0435\u0441\u043B\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C \u2014 EmbarkAI, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u043D \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D \u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0443\u044E \u0441\u0435\u0442\u044C \xAB\u0418\u0437 \u0441\u0435\u0442\u0438\xBB."
|
|
6081
|
+
},
|
|
6082
|
+
onboarding: {
|
|
6083
|
+
bridgeMenu: {
|
|
6084
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
6085
|
+
description: "\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 \u0447\u0435\u0440\u0435\u0437 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u043F\u043E\u0441\u043E\u0431 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0430\u043A\u0442\u0438\u0432\u043E\u0432 \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u043D\u044B\u0435 \u0431\u043B\u043E\u043A\u0447\u0435\u0439\u043D-\u0441\u0435\u0442\u0438."
|
|
6086
|
+
},
|
|
6087
|
+
bridgeSenderWalletSelector: {
|
|
6088
|
+
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."
|
|
6090
|
+
},
|
|
6091
|
+
bridgeCryptoAssetSelector: {
|
|
6092
|
+
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",
|
|
6093
|
+
description: "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0438\u0441\u0445\u043E\u0434\u0438\u0442 \u0438\u0437 \u043E\u0434\u043D\u043E\u0439 \u0431\u043B\u043E\u043A\u0447\u0435\u0439\u043D-\u0441\u0435\u0442\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044E.\n \u0421 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u044D\u0442\u043E\u0433\u043E \u0441\u0435\u043B\u0435\u043A\u0442\u043E\u0440\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u043A\u0442\u0438\u0432, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C, \u0437\u0430\u0442\u0435\u043C \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0434\u043B\u044F \u043D\u0435\u0433\u043E \u043F\u0430\u0440\u0443 \u0441\u0435\u0442\u0435\u0439."
|
|
6094
|
+
},
|
|
6095
|
+
bridgeChainPairSwapper: {
|
|
6096
|
+
title: "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0438 \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u0441\u0435\u0442\u0438",
|
|
6097
|
+
description: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F (\u043F\u0430\u0440\u0430 \u0441\u0435\u0442\u0435\u0439) \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0434\u0432\u0443\u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u043C, \u0442\u043E \u0435\u0441\u0442\u044C \u0438\u0441\u0445\u043E\u0434\u043D\u0443\u044E \u0438 \u0446\u0435\u043B\u0435\u0432\u0443\u044E \u0441\u0435\u0442\u0438 \u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C \u043C\u0435\u0441\u0442\u0430\u043C\u0438.\n \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \xAB\u21C4\xBB \u0434\u043B\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0438 \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u0441\u0435\u0442\u0435\u0439."
|
|
6098
|
+
},
|
|
6099
|
+
bridgeAmountRecipientInputs: {
|
|
6100
|
+
title: "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u0441\u0443\u043C\u043C\u044B \u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F",
|
|
6101
|
+
description: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0443\u043C\u043C\u0443 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0438 \u043F\u0440\u0438 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F. \u0415\u0441\u043B\u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044C \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D: \u0430\u0434\u0440\u0435\u0441 \u0432 \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u0441\u0435\u0442\u0438 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0435\u0442 \u0441 \u0430\u0434\u0440\u0435\u0441\u043E\u043C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044F \u0432 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0441\u0435\u0442\u0438."
|
|
6102
|
+
},
|
|
6103
|
+
bridgeEstimateQuoteButton: {
|
|
6104
|
+
title: "\u041E\u0446\u0435\u043D\u043A\u0430 \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
6105
|
+
description: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u0443\u044E \u043E\u0446\u0435\u043D\u043A\u0443 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0434\u043E \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F. \u042D\u0442\u043E \u043F\u043E\u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0438\u043D\u044F\u0442\u044C \u043E\u0431\u043E\u0441\u043D\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043F\u0435\u0440\u0435\u0434 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u0435\u043C."
|
|
6106
|
+
},
|
|
6107
|
+
bridgeEstimatedQuoteMenu: {
|
|
6108
|
+
title: "\u0420\u0430\u0441\u0447\u0451\u0442\u043D\u0430\u044F \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
6109
|
+
description: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0438 \u0440\u0430\u0441\u0447\u0451\u0442\u043D\u0443\u044E \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C, \u0437\u0430\u0442\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044E."
|
|
6110
|
+
}
|
|
6001
6111
|
}
|
|
6002
6112
|
},
|
|
6003
6113
|
receiveMenu: {
|
|
@@ -6007,7 +6117,7 @@ var init_ru = __esm({
|
|
|
6007
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"
|
|
6008
6118
|
},
|
|
6009
6119
|
buyMenu: {
|
|
6010
|
-
title: "\u041A\u0443\u043F\u0438\u0442\u044C \u043A\u0440\u0438\u043F\u0442\u043E
|
|
6120
|
+
title: "\u041A\u0443\u043F\u0438\u0442\u044C \u043A\u0440\u0438\u043F\u0442\u043E",
|
|
6011
6121
|
provider: "Onramp-\u0441\u0435\u0440\u0432\u0438\u0441",
|
|
6012
6122
|
selectProvider: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 Onramp-\u0441\u0435\u0440\u0432\u0438\u0441",
|
|
6013
6123
|
selectCrypto: "\u041A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0430",
|
|
@@ -6027,7 +6137,12 @@ var init_ru = __esm({
|
|
|
6027
6137
|
exchangeRate: "\u041A\u0443\u0440\u0441 \u043E\u0431\u043C\u0435\u043D\u0430",
|
|
6028
6138
|
networkFee: "\u0421\u0435\u0442\u0435\u0432\u043E\u0439 \u0441\u0431\u043E\u0440",
|
|
6029
6139
|
serviceFee: "\u0421\u0435\u0440\u0432\u0438\u0441\u043D\u044B\u0439 \u0441\u0431\u043E\u0440",
|
|
6030
|
-
paymentMethod: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u043F\u043B\u0430\u0442\u044B"
|
|
6140
|
+
paymentMethod: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u043F\u043B\u0430\u0442\u044B",
|
|
6141
|
+
toAddress: {
|
|
6142
|
+
receiver: "\u0412\u041D\u0418\u041C\u0410\u041D\u0418\u0415! \u0410\u0434\u0440\u0435\u0441 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F",
|
|
6143
|
+
message: "\u0412\u044B \u0441\u043E\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044C \u043A\u0443\u043F\u0438\u0442\u044C \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0443 \u043D\u0430 \u0432\u043D\u0435\u0448\u043D\u0438\u0439 \u0430\u0434\u0440\u0435\u0441, \u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448 \u0430\u0434\u0440\u0435\u0441 embarkAI.",
|
|
6144
|
+
suggestion: "\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u044D\u0442\u043E \u0432\u0430\u0448 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430, \u0438\u043D\u0430\u0447\u0435 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0442\u0435\u0440\u044F\u0442\u044C \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430."
|
|
6145
|
+
}
|
|
6031
6146
|
},
|
|
6032
6147
|
transactionHistory: {
|
|
6033
6148
|
details: "\u0414\u0435\u0442\u0430\u043B\u0438"
|
|
@@ -6041,11 +6156,30 @@ var init_ru = __esm({
|
|
|
6041
6156
|
inputPlaceholder: {
|
|
6042
6157
|
selectCurrencies: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0443 \u0438 \u0444\u0438\u0430\u0442",
|
|
6043
6158
|
providerMin: "{{provider}}: \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043C\u0438\u043D\u0438\u043C\u0443\u043C {{minimum}} {{currency}}"
|
|
6159
|
+
},
|
|
6160
|
+
onboarding: {
|
|
6161
|
+
buyMenu: {
|
|
6162
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u043E\u043A\u0443\u043F\u043A\u0438",
|
|
6163
|
+
description: "\u0417\u0434\u0435\u0441\u044C \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0432\u0435\u0440\u0448\u0430\u0442\u044C \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u044B."
|
|
6164
|
+
},
|
|
6165
|
+
providerSelector: {
|
|
6166
|
+
title: "\u0412\u044B\u0431\u043E\u0440 \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u0430",
|
|
6167
|
+
description: "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0434\u043B\u044F \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u044B."
|
|
6168
|
+
},
|
|
6169
|
+
binanceMenu: {
|
|
6170
|
+
title: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0434\u0435\u0442\u0430\u043B\u0435\u0439 \u043F\u043E\u043A\u0443\u043F\u043A\u0438",
|
|
6171
|
+
description: "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u0434\u0430\u0442\u044C \u0434\u0435\u0442\u0430\u043B\u0438 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u044B."
|
|
6172
|
+
},
|
|
6173
|
+
binanceEstimate: {
|
|
6174
|
+
title: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435 \u043F\u043E\u043A\u0443\u043F\u043A\u0438",
|
|
6175
|
+
description: "\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0434\u0435\u0442\u0430\u043B\u0438 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u043F\u0435\u0440\u0435\u0434 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435\u043C."
|
|
6176
|
+
}
|
|
6044
6177
|
}
|
|
6045
6178
|
},
|
|
6046
6179
|
portfolioMenu: {
|
|
6047
6180
|
title: "\u0412\u0430\u0448\u0438 \u0430\u043A\u0442\u0438\u0432\u044B",
|
|
6048
|
-
noAssets: "\u0410\u043A\u0442\u0438\u0432\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"
|
|
6181
|
+
noAssets: "\u0410\u043A\u0442\u0438\u0432\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",
|
|
6182
|
+
noBlockscout: "Blockscout API \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0434\u043B\u044F \u0441\u0435\u0442\u0438: {{chain}}"
|
|
6049
6183
|
},
|
|
6050
6184
|
transactionsMenu: {
|
|
6051
6185
|
title: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439",
|
|
@@ -6228,6 +6362,12 @@ var init_zh = __esm({
|
|
|
6228
6362
|
selectNone: "\u5168\u4E0D\u9009",
|
|
6229
6363
|
errors: {
|
|
6230
6364
|
oops: "\u54CE\u5440\uFF0C\u51FA\u4E86\u70B9\u95EE\u9898\u3002\u8BF7\u518D\u8BD5\u4E00\u6B21\u3002"
|
|
6365
|
+
},
|
|
6366
|
+
onboarding: {
|
|
6367
|
+
tourButton: {
|
|
6368
|
+
title: "\u5BFC\u89C8\u6309\u9215",
|
|
6369
|
+
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"
|
|
6370
|
+
}
|
|
6231
6371
|
}
|
|
6232
6372
|
},
|
|
6233
6373
|
auth: {
|
|
@@ -6280,14 +6420,23 @@ var init_zh = __esm({
|
|
|
6280
6420
|
actions: {
|
|
6281
6421
|
send: "\u53D1\u9001",
|
|
6282
6422
|
confirm: "\u786E\u8BA4\u53D1\u9001"
|
|
6423
|
+
},
|
|
6424
|
+
onboarding: {
|
|
6425
|
+
sendMenu: {
|
|
6426
|
+
title: "\u53D1\u9001\u83DC\u5355",
|
|
6427
|
+
description: "\u9009\u62E9\u8981\u53D1\u9001\u7684\u52A0\u5BC6\u8D44\u4EA7\uFF0C\u7136\u540E\u8F93\u5165\u6536\u6B3E\u5730\u5740\u548C\u91D1\u989D\u3002"
|
|
6428
|
+
},
|
|
6429
|
+
sendCryptoSummary: {
|
|
6430
|
+
title: "\u53D1\u9001\u6458\u8981",
|
|
6431
|
+
description: "\u5728\u786E\u8BA4\u524D\u67E5\u770B\u52A0\u5BC6\u8F6C\u8D26\u8BE6\u60C5\uFF0C\u7136\u540E\u786E\u8BA4\u4EA4\u6613\u3002"
|
|
6432
|
+
}
|
|
6283
6433
|
}
|
|
6284
6434
|
},
|
|
6285
6435
|
bridgeMenu: {
|
|
6286
6436
|
title: "\u8DE8\u94FE\u8D44\u4EA7",
|
|
6287
6437
|
labels: {
|
|
6288
|
-
sender: "\u53D1\u9001\u65B9",
|
|
6289
6438
|
bridgeAsset: "\u8DE8\u94FE {{asset}}",
|
|
6290
|
-
|
|
6439
|
+
selectSender: "\u9009\u62E9\u53D1\u9001\u65B9\u94B1\u5305",
|
|
6291
6440
|
selectToken: "\u9009\u62E9\u4EE3\u5E01\u8DEF\u7531",
|
|
6292
6441
|
estimations: "\u9884\u4F30",
|
|
6293
6442
|
estimatedFee: "\u9884\u4F30\u624B\u7EED\u8D39",
|
|
@@ -6312,11 +6461,12 @@ var init_zh = __esm({
|
|
|
6312
6461
|
},
|
|
6313
6462
|
actions: {
|
|
6314
6463
|
connectWallet: "\u8FDE\u63A5\u9489\u5305",
|
|
6464
|
+
addExternalWalletProfile: "\u6DFB\u52A0\u5916\u90E8\u94B1\u5305\u914D\u7F6E\u6587\u4EF6",
|
|
6315
6465
|
bridge: "\u8DE8\u94FE",
|
|
6316
6466
|
estimateQuote: "\u4F30\u7B97\u62A5\u4EF7",
|
|
6317
6467
|
bridgeAsset: "\u8DE8\u94FE {{asset}}",
|
|
6318
6468
|
selectAsset: "\u9009\u62E9\u8D44\u4EA7",
|
|
6319
|
-
confirmBridge: "\u786E\u8BA4\u8DE8\u94FE"
|
|
6469
|
+
confirmBridge: "\u6211\u786E\u8BA4\u5C06 {{amount}} {{asset}} \u8DE8\u94FE\u5230 {{destinationChain}}"
|
|
6320
6470
|
},
|
|
6321
6471
|
statuses: {
|
|
6322
6472
|
balanceInsufficient: "\u4F59\u989D\u4E0D\u8DB3",
|
|
@@ -6337,6 +6487,36 @@ var init_zh = __esm({
|
|
|
6337
6487
|
wrongNetwork: " \u8BF7\u5C06 EmbarkAI \u5207\u6362\u81F3\u6E90\u94FE\u4EE5\u7EE7\u7EED\u8DE8\u94FE\u64CD\u4F5C",
|
|
6338
6488
|
noHistory: "\u6682\u65E0\u8DE8\u94FE\u8BB0\u5F55\u3002\u8DE8\u94FE\u60A8\u7684\u8D44\u4EA7\u540E\uFF0C\u5386\u53F2\u8BB0\u5F55\u5C06\u663E\u793A\u5728\u6B64\u5904\u3002",
|
|
6339
6489
|
unsupportedNetwork: "{{sender}} \u5C1A\u4E0D\u652F\u6301\u4ECE {{originChain}} \u8DE8\u94FE\u3002\u8BF7\u5207\u6362\u7F51\u7EDC\u5BF9\u3001\u9009\u62E9\u4E0D\u540C\u7684\u4EE3\u5E01\u8DEF\u7531\u6216\u66F4\u6362\u53D1\u9001\u9489\u5305"
|
|
6490
|
+
},
|
|
6491
|
+
onboarding: {
|
|
6492
|
+
bridgeMenu: {
|
|
6493
|
+
title: "\u8DE8\u94FE\u83DC\u5355",
|
|
6494
|
+
description: "\u901A\u8FC7\u8DE8\u94FE\u53D1\u9001\u53EF\u4EE5\u5728\u4E0D\u540C\u533A\u5757\u94FE\u7F51\u7EDC\u4E4B\u95F4\u8F6C\u79FB\u52A0\u5BC6\u8D44\u4EA7\u3002"
|
|
6495
|
+
},
|
|
6496
|
+
bridgeSenderWalletSelector: {
|
|
6497
|
+
title: "\u9009\u62E9\u53D1\u9001\u65B9\u9489\u5305",
|
|
6498
|
+
description: "EmbarkAI \u53EF\u4EE5\u901A\u8FC7\u5916\u90E8\u9489\u5305\u8FDB\u884C\u8EAB\u4EFD\u9A8C\u8BC1\uFF0C\u4F5C\u4E3A\u8EAB\u4EFD\u9A8C\u8BC1\u914D\u7F6E\u6587\u4EF6\u63D0\u4F9B\u5546\uFF08\u8BBE\u7F6E -> \u914D\u7F6E\u6587\u4EF6\uFF09\u3002\n \u5916\u90E8\u9489\u5305\u914D\u7F6E\u6587\u4EF6\u53EF\u7528\u4F5C\u8DE8\u94FE\u52A0\u5BC6\u8D44\u4EA7\u5230 embarkAI \u7684\u53D1\u9001\u65B9\uFF08\u4EA4\u6613\u7B7E\u540D\u8005\uFF09\u3002\n \u5982\u5C1A\u672A\u6DFB\u52A0\u5916\u90E8\u9489\u5305\u914D\u7F6E\u6587\u4EF6\uFF0C\u8BF7\u524D\u5F80\uFF08\u8BBE\u7F6E -> \u914D\u7F6E\u6587\u4EF6\uFF09\u6DFB\u52A0\u5E76\u6309\u7167\u63D0\u793A\u64CD\u4F5C\u3002"
|
|
6499
|
+
},
|
|
6500
|
+
bridgeCryptoAssetSelector: {
|
|
6501
|
+
title: "\u9009\u62E9\u8DE8\u94FE\u8D44\u4EA7",
|
|
6502
|
+
description: "\u8DE8\u94FE\u64CD\u4F5C\u53D1\u751F\u5728\u4E00\u4E2A\u533A\u5757\u94FE\u7F51\u7EDC\u5230\u53E6\u4E00\u4E2A\u4E4B\u95F4\u3002\n \u4F7F\u7528\u6B64\u9009\u62E9\u5668\u9009\u62E9\u8981\u8DE8\u94FE\u7684\u8D44\u4EA7\uFF0C\u7136\u540E\u4ECE\u8BE5\u8D44\u4EA7\u53EF\u7528\u7684\u94FE\u5BF9\u4E2D\u8FDB\u884C\u9009\u62E9\u3002"
|
|
6503
|
+
},
|
|
6504
|
+
bridgeChainPairSwapper: {
|
|
6505
|
+
title: "\u8BBE\u7F6E\u6E90\u94FE\u548C\u76EE\u6807\u94FE",
|
|
6506
|
+
description: "\u8DE8\u94FE\u8DEF\u7531\uFF08\u94FE\u5BF9\uFF09\u662F\u53CC\u5411\u7684\uFF0C\u5373\u6E90\u94FE\u548C\u76EE\u6807\u94FE\u53EF\u4EE5\u4E92\u6362\u3002\n \u4F7F\u7528\u201C\u21C4\u201D\u6309\u9215\u8BBE\u7F6E\u6E90\u94FE\u548C\u76EE\u6807\u94FE\u3002"
|
|
6507
|
+
},
|
|
6508
|
+
bridgeAmountRecipientInputs: {
|
|
6509
|
+
title: "\u8BBE\u7F6E\u91D1\u989D\u548C\u53EF\u9009\u6536\u6B3E\u4EBA",
|
|
6510
|
+
description: "\u8F93\u5165\u8981\u8DE8\u94FE\u7684\u91D1\u989D\uFF0C\u5E76\u53EF\u9009\u62E9\u6027\u5730\u6307\u5B9A\u6536\u6B3E\u4EBA\u5730\u5740\u3002\u82E5\u6536\u6B3E\u4EBA\u4E3A\u7A7A\uFF1A\u76EE\u6807\u94FE\u5730\u5740\u7B49\u4E8E\u6E90\u94FE\u4E0A\u7684\u53D1\u9001\u65B9\u5730\u5740\u3002"
|
|
6511
|
+
},
|
|
6512
|
+
bridgeEstimateQuoteButton: {
|
|
6513
|
+
title: "\u4F30\u7B97\u8DE8\u94FE\u8D39\u7528",
|
|
6514
|
+
description: "\u5728\u5B9E\u9645\u6267\u884C\u8DE8\u94FE\u524D\u83B7\u53D6\u9884\u4F30\u62A5\u4EF7\uFF0C\u5E2E\u52A9\u60A8\u5728\u7EE7\u7EED\u524D\u505A\u51FA\u660E\u667A\u51B3\u7B56\u3002"
|
|
6515
|
+
},
|
|
6516
|
+
bridgeEstimatedQuoteMenu: {
|
|
6517
|
+
title: "\u4F30\u7B97\u8DE8\u94FE\u62A5\u4EF7",
|
|
6518
|
+
description: "\u8BF7\u52A1\u5FC5\u68C0\u67E5\u8DE8\u94FE\u8BBE\u7F6E\u548C\u9884\u4F30\u62A5\u4EF7\uFF0C\u7136\u540E\u786E\u8BA4\u4EA4\u6613\u3002"
|
|
6519
|
+
}
|
|
6340
6520
|
}
|
|
6341
6521
|
},
|
|
6342
6522
|
receiveMenu: {
|
|
@@ -6366,7 +6546,12 @@ var init_zh = __esm({
|
|
|
6366
6546
|
exchangeRate: "\u6C47\u7387",
|
|
6367
6547
|
networkFee: "\u7F51\u7EDC\u8D39\u7528",
|
|
6368
6548
|
serviceFee: "\u670D\u52A1\u8D39",
|
|
6369
|
-
paymentMethod: "\u4ED8\u6B3E\u65B9\u5F0F"
|
|
6549
|
+
paymentMethod: "\u4ED8\u6B3E\u65B9\u5F0F",
|
|
6550
|
+
toAddress: {
|
|
6551
|
+
receiver: "\u6CE8\u610F\uFF01\u6536\u6B3E\u5730\u5740",
|
|
6552
|
+
message: "\u60A8\u5373\u5C06\u5411\u5916\u90E8\u5730\u5740\u8D2D\u4E70\u52A0\u5BC6\u8D27\u5E01\uFF0C\u800C\u975E\u60A8\u7684 embarkAI \u5730\u5740\u3002",
|
|
6553
|
+
suggestion: "\u8BF7\u786E\u8BA4\u8FD9\u662F\u60A8\u6B63\u786E\u7684\u9489\u5305\u5730\u5740\uFF0C\u5426\u5219\u60A8\u7684\u8D44\u91D1\u53EF\u80FD\u4E22\u5931\u3002"
|
|
6554
|
+
}
|
|
6370
6555
|
},
|
|
6371
6556
|
transactionHistory: {
|
|
6372
6557
|
details: "\u8BE6\u60C5"
|
|
@@ -6380,11 +6565,30 @@ var init_zh = __esm({
|
|
|
6380
6565
|
inputPlaceholder: {
|
|
6381
6566
|
selectCurrencies: "\u9009\u62E9\u52A0\u5BC6\u8D27\u5E01\u548C\u6CD5\u5E01",
|
|
6382
6567
|
providerMin: "{{provider}}\uFF1A\u6700\u4F4E\u9700\u8981 {{minimum}} {{currency}}"
|
|
6568
|
+
},
|
|
6569
|
+
onboarding: {
|
|
6570
|
+
buyMenu: {
|
|
6571
|
+
title: "\u8D2D\u4E70\u83DC\u5355",
|
|
6572
|
+
description: "\u5728\u8FD9\u91CC\u60A8\u53EF\u4EE5\u8D2D\u4E70\u52A0\u5BC6\u8D27\u5E01\u3002"
|
|
6573
|
+
},
|
|
6574
|
+
providerSelector: {
|
|
6575
|
+
title: "\u9009\u62E9\u670D\u52A1\u5546",
|
|
6576
|
+
description: "\u70B9\u51FB\u6B64\u5904\u9009\u62E9\u60A8\u8D2D\u4E70\u52A0\u5BC6\u8D27\u5E01\u7684\u670D\u52A1\u5546\u3002"
|
|
6577
|
+
},
|
|
6578
|
+
binanceMenu: {
|
|
6579
|
+
title: "\u8BBE\u7F6E\u8D2D\u4E70\u8BE6\u60C5",
|
|
6580
|
+
description: "\u70B9\u51FB\u6B64\u5904\u8BBE\u7F6E\u52A0\u5BC6\u8D27\u5E01\u8D2D\u4E70\u7684\u8BE6\u60C5\u3002"
|
|
6581
|
+
},
|
|
6582
|
+
binanceEstimate: {
|
|
6583
|
+
title: "\u786E\u8BA4\u8D2D\u4E70",
|
|
6584
|
+
description: "\u5728\u786E\u8BA4\u524D\u67E5\u770B\u8D2D\u4E70\u8BE6\u60C5\u3002"
|
|
6585
|
+
}
|
|
6383
6586
|
}
|
|
6384
6587
|
},
|
|
6385
6588
|
portfolioMenu: {
|
|
6386
6589
|
title: "\u60A8\u7684\u8D44\u4EA7",
|
|
6387
|
-
noAssets: "\u672A\u627E\u5230\u8D44\u4EA7"
|
|
6590
|
+
noAssets: "\u672A\u627E\u5230\u8D44\u4EA7",
|
|
6591
|
+
noBlockscout: "\u672A\u627E\u5230\u94FE {{chain}} \u7684 Blockscout API"
|
|
6388
6592
|
},
|
|
6389
6593
|
transactionsMenu: {
|
|
6390
6594
|
title: "\u4EA4\u6613\u8BB0\u5F55",
|
|
@@ -8459,24 +8663,49 @@ var init_onboarder = __esm({
|
|
|
8459
8663
|
useOnboardingStore = create4((set) => ({
|
|
8460
8664
|
elRect: { x: window.innerWidth / 2, y: window.innerHeight / 2, width: 0, height: 0 },
|
|
8461
8665
|
tooltip: { title: "", description: "" },
|
|
8462
|
-
|
|
8666
|
+
setFrame: (tooltipStore) => set(tooltipStore),
|
|
8463
8667
|
mountIntoNode: document.body,
|
|
8464
|
-
setMountIntoNode: (mountIntoNode) => set({ mountIntoNode })
|
|
8668
|
+
setMountIntoNode: (mountIntoNode) => set({ mountIntoNode }),
|
|
8669
|
+
waitSecs: null,
|
|
8670
|
+
setWaitSecs: (waitSecs) => set({ waitSecs })
|
|
8465
8671
|
}));
|
|
8466
8672
|
Onboarder = class {
|
|
8467
8673
|
tour = null;
|
|
8468
8674
|
tourPointer = 0;
|
|
8469
8675
|
// index of the current step in the tour
|
|
8470
8676
|
elements = /* @__PURE__ */ new Map();
|
|
8471
|
-
|
|
8472
|
-
|
|
8473
|
-
|
|
8474
|
-
|
|
8475
|
-
|
|
8476
|
-
|
|
8477
|
-
|
|
8478
|
-
|
|
8479
|
-
|
|
8677
|
+
/** deferred DOM observer */
|
|
8678
|
+
domObserverTimer = null;
|
|
8679
|
+
domObserver = new MutationObserver(([domMutation]) => {
|
|
8680
|
+
if (this.domObserverTimer) clearTimeout(this.domObserverTimer);
|
|
8681
|
+
this.domObserverTimer = setTimeout(() => {
|
|
8682
|
+
const { elId, title, description } = this.tour[this.tourPointer];
|
|
8683
|
+
const elementRef = this.elements.get(elId)?.deref();
|
|
8684
|
+
if (!elementRef) return;
|
|
8685
|
+
const { x, y, width, height } = elementRef.getBoundingClientRect();
|
|
8686
|
+
useOnboardingStore.getState().setFrame({ elRect: { x, y, width, height }, tooltip: { title, description } });
|
|
8687
|
+
}, 200);
|
|
8688
|
+
});
|
|
8689
|
+
/** deferred resize observer */
|
|
8690
|
+
resizeObserverTimer = null;
|
|
8691
|
+
resizeObserver = new ResizeObserver((entries) => {
|
|
8692
|
+
if (this.resizeObserverTimer) clearTimeout(this.resizeObserverTimer);
|
|
8693
|
+
this.resizeObserverTimer = setTimeout(() => {
|
|
8694
|
+
for (const entry of entries) {
|
|
8695
|
+
const element = entry.target;
|
|
8696
|
+
let frameData;
|
|
8697
|
+
const { elId, title, description } = this.tour[this.tourPointer];
|
|
8698
|
+
if (!element || element.nodeName === "BODY") {
|
|
8699
|
+
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 } };
|
|
8702
|
+
} else {
|
|
8703
|
+
const { x, y, width, height } = element.getBoundingClientRect();
|
|
8704
|
+
frameData = { elRect: { x, y, width, height }, tooltip: { title, description } };
|
|
8705
|
+
}
|
|
8706
|
+
useOnboardingStore.getState().setFrame(frameData);
|
|
8707
|
+
}
|
|
8708
|
+
}, 200);
|
|
8480
8709
|
});
|
|
8481
8710
|
/** TOUR */
|
|
8482
8711
|
startTour(tour) {
|
|
@@ -8486,18 +8715,26 @@ var init_onboarder = __esm({
|
|
|
8486
8715
|
useLayoutDataStore.getInitialState().setIsOnboarding(true);
|
|
8487
8716
|
useLayoutStore.getInitialState().setIsDialogForced(true);
|
|
8488
8717
|
const startElRef = this.elements.get(tour[0].elId)?.deref();
|
|
8489
|
-
|
|
8718
|
+
if (!!startElRef) {
|
|
8719
|
+
this.domObserver.observe(startElRef, { childList: true, subtree: true });
|
|
8720
|
+
this.resizeObserver.observe(startElRef);
|
|
8721
|
+
this.resizeObserver.observe(document.body);
|
|
8722
|
+
}
|
|
8723
|
+
useOnboardingStore.getState().setWaitSecs(tour[0].waitSecs || null);
|
|
8490
8724
|
}
|
|
8491
8725
|
endTour() {
|
|
8492
8726
|
this.tour = null;
|
|
8493
8727
|
this.tourPointer = 0;
|
|
8728
|
+
this.domObserver.disconnect();
|
|
8494
8729
|
this.resizeObserver.disconnect();
|
|
8495
|
-
useOnboardingStore.getState().
|
|
8730
|
+
useOnboardingStore.getState().setFrame({
|
|
8496
8731
|
elRect: { x: window.innerWidth / 2, y: window.innerHeight / 2, width: 0, height: 0 },
|
|
8497
8732
|
tooltip: { title: "", description: "" }
|
|
8498
8733
|
});
|
|
8499
|
-
|
|
8500
|
-
|
|
8734
|
+
setTimeout(() => {
|
|
8735
|
+
useLayoutDataStore.getInitialState().setIsOnboarding(false);
|
|
8736
|
+
useLayoutStore.getInitialState().setIsDialogForced(false);
|
|
8737
|
+
}, 200);
|
|
8501
8738
|
}
|
|
8502
8739
|
next() {
|
|
8503
8740
|
if (!this.tour) return;
|
|
@@ -8505,12 +8742,18 @@ var init_onboarder = __esm({
|
|
|
8505
8742
|
curStep?.onNext?.();
|
|
8506
8743
|
if (this.tourPointer === this.tour.length - 1) return this.endTour();
|
|
8507
8744
|
this.resizeObserver.disconnect();
|
|
8745
|
+
this.domObserver.disconnect();
|
|
8508
8746
|
setTimeout(() => {
|
|
8509
8747
|
const nextStepPointer = this.tourPointer + 1;
|
|
8510
8748
|
this.tourPointer = nextStepPointer;
|
|
8511
8749
|
const nextStep = this.tour[nextStepPointer];
|
|
8512
8750
|
const nextElRef = this.elements.get(nextStep.elId)?.deref();
|
|
8513
|
-
if (!!nextElRef)
|
|
8751
|
+
if (!!nextElRef) {
|
|
8752
|
+
this.domObserver.observe(nextElRef, { childList: true, subtree: true });
|
|
8753
|
+
this.resizeObserver.observe(nextElRef);
|
|
8754
|
+
this.resizeObserver.observe(document.body);
|
|
8755
|
+
}
|
|
8756
|
+
useOnboardingStore.getState().setWaitSecs(nextStep.waitSecs || null);
|
|
8514
8757
|
}, 200);
|
|
8515
8758
|
}
|
|
8516
8759
|
/**
|
|
@@ -8522,33 +8765,79 @@ var init_onboarder = __esm({
|
|
|
8522
8765
|
if (!onboardingElementId || !elementRef) return;
|
|
8523
8766
|
this.elements.set(onboardingElementId, new WeakRef(elementRef));
|
|
8524
8767
|
}
|
|
8768
|
+
getCurrentStep() {
|
|
8769
|
+
if (!this.tour) return null;
|
|
8770
|
+
return this.tour[this.tourPointer];
|
|
8771
|
+
}
|
|
8525
8772
|
};
|
|
8526
8773
|
onboarder = new Onboarder();
|
|
8527
8774
|
}
|
|
8528
8775
|
});
|
|
8529
8776
|
|
|
8530
8777
|
// src/internal/components/Onboarding/OnboardingOverlay.tsx
|
|
8531
|
-
import { ChevronRightIcon } from "lucide-react";
|
|
8532
|
-
import { useEffect as useEffect12 } from "react";
|
|
8778
|
+
import { ChevronRightIcon, LoaderIcon } from "lucide-react";
|
|
8779
|
+
import { useEffect as useEffect12, useRef as useRef9, useState as useState5 } from "react";
|
|
8533
8780
|
import { createPortal } from "react-dom";
|
|
8534
8781
|
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
8782
|
+
function getTooltipXPos(params) {
|
|
8783
|
+
const { x, width, isMobileView, expandValue } = params;
|
|
8784
|
+
const frameEndX = x + width + expandValue;
|
|
8785
|
+
const frameWidth = isMobileView ? width : width + 2 * expandValue;
|
|
8786
|
+
const ttWidth = Math.max(frameWidth, TOOLTIP_MIN_WIDTH);
|
|
8787
|
+
const ttShiftX = isMobileView ? 0 : expandValue;
|
|
8788
|
+
const ttEndX = x - ttShiftX + ttWidth;
|
|
8789
|
+
const isTTOverflowsFrame = ttEndX > frameEndX;
|
|
8790
|
+
const isTTOverflowsWindow = ttEndX > window.innerWidth;
|
|
8791
|
+
if (isTTOverflowsWindow) {
|
|
8792
|
+
return {
|
|
8793
|
+
isOverflowX: true,
|
|
8794
|
+
width: ttWidth,
|
|
8795
|
+
x: x - (ttEndX - window.innerWidth) - EXPAND
|
|
8796
|
+
// unstick tooltip from window right edge
|
|
8797
|
+
};
|
|
8798
|
+
}
|
|
8799
|
+
if (isTTOverflowsFrame) {
|
|
8800
|
+
return {
|
|
8801
|
+
isOverflowX: true,
|
|
8802
|
+
width: ttWidth,
|
|
8803
|
+
x: x - ttShiftX - ttWidth / 2 + frameWidth / 2
|
|
8804
|
+
// center tooltip over target element
|
|
8805
|
+
};
|
|
8806
|
+
}
|
|
8807
|
+
return {
|
|
8808
|
+
isOverflowX: isTTOverflowsFrame || isTTOverflowsWindow,
|
|
8809
|
+
width: ttWidth,
|
|
8810
|
+
x: x - ttShiftX
|
|
8811
|
+
};
|
|
8812
|
+
}
|
|
8813
|
+
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;
|
|
8817
|
+
return {
|
|
8818
|
+
isOverflowY: topPosY < EXPAND,
|
|
8819
|
+
y: isMobileView && topPosY >= EXPAND ? topPosY : bottomPosY
|
|
8820
|
+
// topPosY >= EXPAND - unstick tooltip from window top edge
|
|
8821
|
+
};
|
|
8822
|
+
}
|
|
8535
8823
|
function OnboardingOverlay() {
|
|
8536
8824
|
const { t } = useT();
|
|
8537
8825
|
const page = useLayoutDataStore((st) => st.page);
|
|
8538
8826
|
const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
|
|
8539
8827
|
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
8540
8828
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
8829
|
+
const toolipElementRef = useRef9(null);
|
|
8541
8830
|
const {
|
|
8831
|
+
waitSecs,
|
|
8542
8832
|
elRect,
|
|
8543
8833
|
tooltip,
|
|
8544
8834
|
/** if embark is opened, onboard overlay has to be portaled into embark's dialog node to keep layers & pointer-events normal structure */
|
|
8545
|
-
mountIntoNode
|
|
8546
|
-
setMountIntoNode
|
|
8835
|
+
mountIntoNode
|
|
8547
8836
|
} = useOnboardingStore();
|
|
8548
8837
|
useEffect12(() => {
|
|
8549
8838
|
setTimeout(() => {
|
|
8550
8839
|
if (!page) {
|
|
8551
|
-
setMountIntoNode(document.body);
|
|
8840
|
+
useOnboardingStore.getState().setMountIntoNode(document.body);
|
|
8552
8841
|
return;
|
|
8553
8842
|
}
|
|
8554
8843
|
const lastMountIntoNode = useOnboardingStore.getState().mountIntoNode;
|
|
@@ -8556,21 +8845,37 @@ function OnboardingOverlay() {
|
|
|
8556
8845
|
return;
|
|
8557
8846
|
}
|
|
8558
8847
|
const embarkUIContainer = document.querySelector('[data-purpose="embarkai-ui-container"]');
|
|
8559
|
-
setMountIntoNode(embarkUIContainer);
|
|
8848
|
+
useOnboardingStore.getState().setMountIntoNode(embarkUIContainer);
|
|
8560
8849
|
}, 0);
|
|
8561
8850
|
}, [page]);
|
|
8562
|
-
|
|
8851
|
+
const [continueCountdown, setContinueCountdown] = useState5(null);
|
|
8852
|
+
const expandValue = EXPAND * (isMobileView ? 0.5 : 1);
|
|
8563
8853
|
const frame = {
|
|
8564
|
-
x: elRect.x -
|
|
8565
|
-
y: elRect.y -
|
|
8566
|
-
width: elRect.width +
|
|
8567
|
-
height: elRect.height +
|
|
8854
|
+
x: elRect.x - expandValue,
|
|
8855
|
+
y: elRect.y - expandValue,
|
|
8856
|
+
width: elRect.width + expandValue * 2,
|
|
8857
|
+
height: elRect.height + expandValue * (isMobileView ? 2 : 3)
|
|
8568
8858
|
};
|
|
8569
8859
|
const tt = {
|
|
8570
|
-
|
|
8571
|
-
|
|
8572
|
-
width: isMobileView ? elRect.width : elRect.width + 2 * EXPAND
|
|
8860
|
+
...getTooltipXPos({ ...elRect, isMobileView, expandValue }),
|
|
8861
|
+
...getTooltipYPos({ ...elRect, isMobileView, expandValue, ttCurrentHeight: toolipElementRef.current?.clientHeight })
|
|
8573
8862
|
};
|
|
8863
|
+
useEffect12(() => {
|
|
8864
|
+
if (!waitSecs) return;
|
|
8865
|
+
setContinueCountdown(waitSecs);
|
|
8866
|
+
const countdownInterval = setInterval(() => {
|
|
8867
|
+
setContinueCountdown((prev) => {
|
|
8868
|
+
if (prev <= 1 || prev === null) {
|
|
8869
|
+
clearInterval(countdownInterval);
|
|
8870
|
+
return null;
|
|
8871
|
+
}
|
|
8872
|
+
return prev - 1;
|
|
8873
|
+
});
|
|
8874
|
+
}, 1e3);
|
|
8875
|
+
return () => clearInterval(countdownInterval);
|
|
8876
|
+
}, [waitSecs]);
|
|
8877
|
+
if (!mountIntoNode) return null;
|
|
8878
|
+
const tourStepActions = onboarder.getCurrentStep()?.actions;
|
|
8574
8879
|
return createPortal(
|
|
8575
8880
|
/* @__PURE__ */ jsxs17(
|
|
8576
8881
|
"div",
|
|
@@ -8622,6 +8927,7 @@ function OnboardingOverlay() {
|
|
|
8622
8927
|
isOnboarding && /* @__PURE__ */ jsxs17(
|
|
8623
8928
|
"div",
|
|
8624
8929
|
{
|
|
8930
|
+
ref: toolipElementRef,
|
|
8625
8931
|
className: cn(
|
|
8626
8932
|
"absolute flex flex-col gap-1 p-[var(--ui-kit-pd)]",
|
|
8627
8933
|
"text-center text-sm",
|
|
@@ -8629,25 +8935,52 @@ function OnboardingOverlay() {
|
|
|
8629
8935
|
""
|
|
8630
8936
|
),
|
|
8631
8937
|
style: {
|
|
8632
|
-
transition: "top 0.3s ease",
|
|
8633
8938
|
width: tt.width,
|
|
8634
|
-
top:
|
|
8635
|
-
left:
|
|
8636
|
-
|
|
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)"
|
|
8637
8944
|
},
|
|
8638
8945
|
children: [
|
|
8639
|
-
/* @__PURE__ */ jsx21("p", {
|
|
8640
|
-
|
|
8641
|
-
|
|
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
|
+
}),
|
|
8956
|
+
!!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
|
+
Button,
|
|
8958
|
+
{
|
|
8959
|
+
variant: "default",
|
|
8960
|
+
size: "medium",
|
|
8961
|
+
className: "w-full",
|
|
8962
|
+
onClick,
|
|
8963
|
+
disabled: continueCountdown !== null,
|
|
8964
|
+
children: [
|
|
8965
|
+
continueCountdown !== null ? /* @__PURE__ */ jsx21(LoaderIcon, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" }),
|
|
8966
|
+
// @ts-expect-error i18n dynamic key typing
|
|
8967
|
+
t(caption)
|
|
8968
|
+
]
|
|
8969
|
+
},
|
|
8970
|
+
index
|
|
8971
|
+
)) }) : /* @__PURE__ */ jsxs17(
|
|
8642
8972
|
Button,
|
|
8643
8973
|
{
|
|
8644
8974
|
variant: "default-glow",
|
|
8645
8975
|
size: "medium",
|
|
8646
8976
|
className: "w-full",
|
|
8647
8977
|
onClick: () => onboarder.next(),
|
|
8978
|
+
disabled: continueCountdown !== null,
|
|
8648
8979
|
children: [
|
|
8649
|
-
/* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" }),
|
|
8650
|
-
String(t("passport:common.continue")).toUpperCase()
|
|
8980
|
+
continueCountdown !== null ? /* @__PURE__ */ jsx21(LoaderIcon, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx21(ChevronRightIcon, { className: "h-4 w-4" }),
|
|
8981
|
+
String(t("passport:common.continue")).toUpperCase(),
|
|
8982
|
+
" ",
|
|
8983
|
+
continueCountdown !== null && continueCountdown
|
|
8651
8984
|
]
|
|
8652
8985
|
}
|
|
8653
8986
|
)
|
|
@@ -8661,7 +8994,7 @@ function OnboardingOverlay() {
|
|
|
8661
8994
|
mountIntoNode
|
|
8662
8995
|
);
|
|
8663
8996
|
}
|
|
8664
|
-
var EXPAND,
|
|
8997
|
+
var EXPAND, TOOLTIP_MIN_WIDTH;
|
|
8665
8998
|
var init_OnboardingOverlay = __esm({
|
|
8666
8999
|
"src/internal/components/Onboarding/OnboardingOverlay.tsx"() {
|
|
8667
9000
|
init_i18n();
|
|
@@ -8670,8 +9003,8 @@ var init_OnboardingOverlay = __esm({
|
|
|
8670
9003
|
init_utils2();
|
|
8671
9004
|
init_button();
|
|
8672
9005
|
init_onboarder();
|
|
8673
|
-
EXPAND =
|
|
8674
|
-
|
|
9006
|
+
EXPAND = 16;
|
|
9007
|
+
TOOLTIP_MIN_WIDTH = 256;
|
|
8675
9008
|
}
|
|
8676
9009
|
});
|
|
8677
9010
|
|
|
@@ -8684,7 +9017,7 @@ var init_Onboarding = __esm({
|
|
|
8684
9017
|
});
|
|
8685
9018
|
|
|
8686
9019
|
// src/internal/components/ui/switch.tsx
|
|
8687
|
-
import { forwardRef as forwardRef3, useState as
|
|
9020
|
+
import { forwardRef as forwardRef3, useState as useState6 } from "react";
|
|
8688
9021
|
import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
8689
9022
|
var Switch;
|
|
8690
9023
|
var init_switch = __esm({
|
|
@@ -8694,7 +9027,7 @@ var init_switch = __esm({
|
|
|
8694
9027
|
Switch = forwardRef3((props, ref) => {
|
|
8695
9028
|
const { className, labels, ...inputProps } = props;
|
|
8696
9029
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
8697
|
-
const [labelW, setLabelW] =
|
|
9030
|
+
const [labelW, setLabelW] = useState6(0);
|
|
8698
9031
|
return /* @__PURE__ */ jsx22(
|
|
8699
9032
|
"div",
|
|
8700
9033
|
{
|
|
@@ -9272,7 +9605,7 @@ var init_useBuyMenuStore = __esm({
|
|
|
9272
9605
|
// src/internal/components/BuyMenu/components/CryptoSelector.tsx
|
|
9273
9606
|
import { debounce as debounce2, toPairs } from "lodash-es";
|
|
9274
9607
|
import { InfoIcon, PointerIcon, SearchIcon } from "lucide-react";
|
|
9275
|
-
import { useCallback as useCallback10, useMemo as useMemo2, useState as
|
|
9608
|
+
import { useCallback as useCallback10, useMemo as useMemo2, useState as useState7 } from "react";
|
|
9276
9609
|
import { jsx as jsx34, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
9277
9610
|
function CryptoItem(props) {
|
|
9278
9611
|
const { symbol, network } = props;
|
|
@@ -9310,8 +9643,8 @@ function CryptoSelector(props) {
|
|
|
9310
9643
|
const { coins } = props;
|
|
9311
9644
|
const { t } = useT();
|
|
9312
9645
|
const chainConfig = useSession((st) => st.chainConfig);
|
|
9313
|
-
const [searchValue, setSearchValue] =
|
|
9314
|
-
const [target, setTarget] =
|
|
9646
|
+
const [searchValue, setSearchValue] = useState7("");
|
|
9647
|
+
const [target, setTarget] = useState7("");
|
|
9315
9648
|
const setSearchDebounced = useCallback10(
|
|
9316
9649
|
debounce2((value) => {
|
|
9317
9650
|
setTarget(value);
|
|
@@ -9497,7 +9830,7 @@ var init_ResolvedFiatIcon = __esm({
|
|
|
9497
9830
|
// src/internal/components/BuyMenu/components/FiatSelector.tsx
|
|
9498
9831
|
import { debounce as debounce3 } from "lodash-es";
|
|
9499
9832
|
import { PointerIcon as PointerIcon2, SearchIcon as SearchIcon2 } from "lucide-react";
|
|
9500
|
-
import { useCallback as useCallback11, useMemo as useMemo3, useState as
|
|
9833
|
+
import { useCallback as useCallback11, useMemo as useMemo3, useState as useState8 } from "react";
|
|
9501
9834
|
import { Fragment as Fragment9, jsx as jsx36, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
9502
9835
|
function getCurrencyName(ticker, locale = "en") {
|
|
9503
9836
|
try {
|
|
@@ -9535,8 +9868,8 @@ function FiatSelector(props) {
|
|
|
9535
9868
|
const { fiats } = props;
|
|
9536
9869
|
const { t, i18n } = useT();
|
|
9537
9870
|
const locale = i18n.resolvedLanguage || "en";
|
|
9538
|
-
const [searchValue, setSearchValue] =
|
|
9539
|
-
const [target, setTarget] =
|
|
9871
|
+
const [searchValue, setSearchValue] = useState8("");
|
|
9872
|
+
const [target, setTarget] = useState8("");
|
|
9540
9873
|
const setSearchDebounced = useCallback11(
|
|
9541
9874
|
debounce3((value) => {
|
|
9542
9875
|
setTarget(value);
|
|
@@ -9725,14 +10058,14 @@ var init_components = __esm({
|
|
|
9725
10058
|
var BUY_MENU_BINANCE_TOUR;
|
|
9726
10059
|
var init_onboarding_setup = __esm({
|
|
9727
10060
|
"src/internal/components/BuyMenu/onboarding.setup.ts"() {
|
|
9728
|
-
init_useLayoutDataStore();
|
|
9729
10061
|
init_useBinanceStore();
|
|
9730
10062
|
init_useBuyMenuStore();
|
|
9731
10063
|
BUY_MENU_BINANCE_TOUR = [
|
|
9732
10064
|
{
|
|
9733
10065
|
elId: "buymenu-page" /* buymenu */,
|
|
9734
|
-
title: "
|
|
9735
|
-
description: "
|
|
10066
|
+
title: "passport:buyMenu.onboarding.buyMenu.title",
|
|
10067
|
+
description: "passport:buyMenu.onboarding.buyMenu.description",
|
|
10068
|
+
waitSecs: 6,
|
|
9736
10069
|
onNext: () => {
|
|
9737
10070
|
const { setRampProvider, rampProvider } = useBuyMenuStore.getState();
|
|
9738
10071
|
if (rampProvider !== "binance") setRampProvider("binance");
|
|
@@ -9740,15 +10073,13 @@ var init_onboarding_setup = __esm({
|
|
|
9740
10073
|
},
|
|
9741
10074
|
{
|
|
9742
10075
|
elId: "buymenu-provider-selector" /* providerSelector */,
|
|
9743
|
-
title: "
|
|
9744
|
-
description: "
|
|
9745
|
-
onNext: () => {
|
|
9746
|
-
}
|
|
10076
|
+
title: "passport:buyMenu.onboarding.providerSelector.title",
|
|
10077
|
+
description: "passport:buyMenu.onboarding.providerSelector.description"
|
|
9747
10078
|
},
|
|
9748
10079
|
{
|
|
9749
10080
|
elId: "buymenu-binance-menu" /* binanceMenu */,
|
|
9750
|
-
title: "
|
|
9751
|
-
description: "
|
|
10081
|
+
title: "passport:buyMenu.onboarding.binanceMenu.title",
|
|
10082
|
+
description: "passport:buyMenu.onboarding.binanceMenu.description",
|
|
9752
10083
|
onNext: () => {
|
|
9753
10084
|
useBinanceStore.getState().setQuoteData({
|
|
9754
10085
|
totalAmount: "0.12345678",
|
|
@@ -9764,13 +10095,17 @@ var init_onboarding_setup = __esm({
|
|
|
9764
10095
|
},
|
|
9765
10096
|
{
|
|
9766
10097
|
elId: "buymenu-binance-estimate" /* binanceEstimate */,
|
|
9767
|
-
title: "
|
|
9768
|
-
description: "
|
|
10098
|
+
title: "passport:buyMenu.onboarding.binanceEstimate.title",
|
|
10099
|
+
description: "passport:buyMenu.onboarding.binanceEstimate.description",
|
|
9769
10100
|
onNext: () => {
|
|
9770
10101
|
useBuyMenuStore.getState().setIsProviderSummary(false);
|
|
9771
|
-
useLayoutDataStore.getState().setPage("buy" /* BUY */);
|
|
9772
10102
|
useBinanceStore.getState().setQuoteData(null);
|
|
9773
10103
|
}
|
|
10104
|
+
},
|
|
10105
|
+
{
|
|
10106
|
+
elId: "buymenu-tour-button" /* tourButton */,
|
|
10107
|
+
title: "passport:common.onboarding.tourButton.title",
|
|
10108
|
+
description: "passport:common.onboarding.tourButton.description"
|
|
9774
10109
|
}
|
|
9775
10110
|
];
|
|
9776
10111
|
}
|
|
@@ -9904,7 +10239,7 @@ var init_config = __esm({
|
|
|
9904
10239
|
|
|
9905
10240
|
// src/internal/components/BuyMenu/binance/BinanceSummary.tsx
|
|
9906
10241
|
import { useMutation as useMutation5, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
|
|
9907
|
-
import { InfoIcon as InfoIcon3, LoaderIcon } from "lucide-react";
|
|
10242
|
+
import { InfoIcon as InfoIcon3, LoaderIcon as LoaderIcon2 } from "lucide-react";
|
|
9908
10243
|
import { jsx as jsx38, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
9909
10244
|
function BinanceSummary(props) {
|
|
9910
10245
|
const { payment } = props;
|
|
@@ -10024,7 +10359,7 @@ function BinanceSummary(props) {
|
|
|
10024
10359
|
variant: "default",
|
|
10025
10360
|
onClick: () => checkoutFundWalletOrder(),
|
|
10026
10361
|
children: [
|
|
10027
|
-
redirecting && /* @__PURE__ */ jsx38(
|
|
10362
|
+
redirecting && /* @__PURE__ */ jsx38(LoaderIcon2, { size: 16, className: "animate-spin" }),
|
|
10028
10363
|
/* @__PURE__ */ jsx38("span", { children: redirecting ? "REDIRECTING..." : String(t("passport:buyMenu.actions.confirmPurchase")).toUpperCase() }),
|
|
10029
10364
|
!!quoteData?.totalAmount && /* @__PURE__ */ jsxs33("strong", { children: [
|
|
10030
10365
|
formatPrice(Number(quoteData.totalAmount)),
|
|
@@ -10230,7 +10565,7 @@ var init_statuses = __esm({
|
|
|
10230
10565
|
import { useInfiniteQuery } from "@tanstack/react-query";
|
|
10231
10566
|
import dayjs from "dayjs";
|
|
10232
10567
|
import { debounce as debounce4 } from "lodash-es";
|
|
10233
|
-
import { DownloadIcon, ExternalLinkIcon, LoaderIcon as
|
|
10568
|
+
import { DownloadIcon, ExternalLinkIcon, LoaderIcon as LoaderIcon3 } from "lucide-react";
|
|
10234
10569
|
import { useCallback as useCallback12, useEffect as useEffect14, useMemo as useMemo4 } from "react";
|
|
10235
10570
|
import { jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
10236
10571
|
function getStatusVariant(status) {
|
|
@@ -10380,7 +10715,7 @@ function BinanceTxHistory() {
|
|
|
10380
10715
|
return /* @__PURE__ */ jsx40(Highlight, { children: t("passport:buyMenu.noItems.noTransactions") });
|
|
10381
10716
|
}
|
|
10382
10717
|
return /* @__PURE__ */ jsxs34("div", { className: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
10383
|
-
isTxDataLoading ? /* @__PURE__ */ jsx40("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx40(
|
|
10718
|
+
isTxDataLoading ? /* @__PURE__ */ jsx40("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx40(LoaderIcon3, { className: "w-4 h-4 animate-spin" }) }) : txList.map((tx) => /* @__PURE__ */ jsx40(BinanceTxHistoryItem, { ...tx }, tx.id)),
|
|
10384
10719
|
hasNextPage && /* @__PURE__ */ jsxs34(
|
|
10385
10720
|
Button,
|
|
10386
10721
|
{
|
|
@@ -10390,7 +10725,7 @@ function BinanceTxHistory() {
|
|
|
10390
10725
|
className: "w-full",
|
|
10391
10726
|
onClick: () => fetchNextPage(),
|
|
10392
10727
|
children: [
|
|
10393
|
-
isTxDataFetching ? /* @__PURE__ */ jsx40(
|
|
10728
|
+
isTxDataFetching ? /* @__PURE__ */ jsx40(LoaderIcon3, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx40(DownloadIcon, { className: "w-4 h-4" }),
|
|
10394
10729
|
t("passport:common.loadMore")
|
|
10395
10730
|
]
|
|
10396
10731
|
}
|
|
@@ -10419,10 +10754,10 @@ var init_BinanceTxHistory = __esm({
|
|
|
10419
10754
|
|
|
10420
10755
|
// src/internal/components/BuyMenu/binance/useBinanceSseTracing.ts
|
|
10421
10756
|
import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
|
|
10422
|
-
import { useEffect as useEffect15, useRef as
|
|
10757
|
+
import { useEffect as useEffect15, useRef as useRef10 } from "react";
|
|
10423
10758
|
function useBinanceSseTxTracing(walletAddress) {
|
|
10424
10759
|
const qc = useQueryClient4();
|
|
10425
|
-
const debounceRef =
|
|
10760
|
+
const debounceRef = useRef10(null);
|
|
10426
10761
|
useEffect15(() => {
|
|
10427
10762
|
if (!walletAddress) return;
|
|
10428
10763
|
const iframeManager = getIframeManager();
|
|
@@ -10464,7 +10799,7 @@ var init_utils6 = __esm({
|
|
|
10464
10799
|
|
|
10465
10800
|
// src/internal/components/BuyMenu/binance/Binance.tsx
|
|
10466
10801
|
import { useMutation as useMutation6, useQuery as useQuery3, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
|
|
10467
|
-
import { LoaderIcon as
|
|
10802
|
+
import { LoaderIcon as LoaderIcon4 } from "lucide-react";
|
|
10468
10803
|
import { useEffect as useEffect16 } from "react";
|
|
10469
10804
|
import { Fragment as Fragment11, jsx as jsx41, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
10470
10805
|
function Binance() {
|
|
@@ -10680,7 +11015,7 @@ function Binance() {
|
|
|
10680
11015
|
variant: "default",
|
|
10681
11016
|
onClick: () => estimateQuote(),
|
|
10682
11017
|
children: [
|
|
10683
|
-
(isDataLoading || srcInputAmount < fiatMinimum) && /* @__PURE__ */ jsx41(
|
|
11018
|
+
(isDataLoading || srcInputAmount < fiatMinimum) && /* @__PURE__ */ jsx41(LoaderIcon4, { className: "w-4 h-4 animate-spin" }),
|
|
10684
11019
|
!isPaymentModesLoading && !isQuoteEstimating && srcInputAmount < fiatMinimum && /* @__PURE__ */ jsx41("span", { children: String(t("passport:buyMenu.actions.limitsCheck")).toUpperCase() }),
|
|
10685
11020
|
!isPaymentModesLoading && !isQuoteEstimating && srcInputAmount >= fiatMinimum && /* @__PURE__ */ jsx41("span", { children: String(
|
|
10686
11021
|
isDataLoading ? t("passport:common.loading") : t("passport:buyMenu.actions.estimateFees")
|
|
@@ -10896,8 +11231,8 @@ var init_FinchPaySummary = __esm({
|
|
|
10896
11231
|
// src/internal/components/BuyMenu/finchpay/FinchPayTxHistory.tsx
|
|
10897
11232
|
import { useInfiniteQuery as useInfiniteQuery2 } from "@tanstack/react-query";
|
|
10898
11233
|
import dayjs2 from "dayjs";
|
|
10899
|
-
import { LoaderIcon as
|
|
10900
|
-
import { useCallback as useCallback13, useState as
|
|
11234
|
+
import { LoaderIcon as LoaderIcon5 } from "lucide-react";
|
|
11235
|
+
import { useCallback as useCallback13, useState as useState9 } from "react";
|
|
10901
11236
|
import { jsx as jsx43, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
10902
11237
|
function getStatusVariant2(status) {
|
|
10903
11238
|
switch (status) {
|
|
@@ -10977,7 +11312,7 @@ function FinchPayTxHistoryItem(props) {
|
|
|
10977
11312
|
function FinchPayTxHistory() {
|
|
10978
11313
|
const { t } = useT();
|
|
10979
11314
|
const walletAddress = useSession((st) => st.address);
|
|
10980
|
-
const [cursor, setCursor] =
|
|
11315
|
+
const [cursor, setCursor] = useState9(1);
|
|
10981
11316
|
const {
|
|
10982
11317
|
data: txData,
|
|
10983
11318
|
isLoading: isTxDataLoading,
|
|
@@ -11014,7 +11349,7 @@ function FinchPayTxHistory() {
|
|
|
11014
11349
|
[fetchNextPage]
|
|
11015
11350
|
);
|
|
11016
11351
|
if (isTxDataLoading) {
|
|
11017
|
-
return /* @__PURE__ */ jsx43("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx43(
|
|
11352
|
+
return /* @__PURE__ */ jsx43("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx43(LoaderIcon5, { className: "w-4 h-4 animate-spin" }) });
|
|
11018
11353
|
}
|
|
11019
11354
|
if (!isTxDataLoading && txList.length === 0) {
|
|
11020
11355
|
return /* @__PURE__ */ jsx43(Highlight, { children: t("passport:buyMenu.noItems.noTransactions") });
|
|
@@ -11046,7 +11381,7 @@ function FinchPayTxHistory() {
|
|
|
11046
11381
|
}
|
|
11047
11382
|
)
|
|
11048
11383
|
] }),
|
|
11049
|
-
isTxDataFetching ? /* @__PURE__ */ jsx43(
|
|
11384
|
+
isTxDataFetching ? /* @__PURE__ */ jsx43(LoaderIcon5, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsxs37("span", { className: "text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: [
|
|
11050
11385
|
cursor,
|
|
11051
11386
|
" / ",
|
|
11052
11387
|
pageCount
|
|
@@ -11084,10 +11419,10 @@ var init_networks = __esm({
|
|
|
11084
11419
|
|
|
11085
11420
|
// src/internal/components/BuyMenu/finchpay/useFinchpaySseTxTracing.ts
|
|
11086
11421
|
import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
|
|
11087
|
-
import { useEffect as useEffect17, useRef as
|
|
11422
|
+
import { useEffect as useEffect17, useRef as useRef11 } from "react";
|
|
11088
11423
|
function useFinchpaySseTxTracing(walletAddress) {
|
|
11089
11424
|
const qc = useQueryClient6();
|
|
11090
|
-
const debounceRef =
|
|
11425
|
+
const debounceRef = useRef11(null);
|
|
11091
11426
|
useEffect17(() => {
|
|
11092
11427
|
if (!walletAddress) return;
|
|
11093
11428
|
const iframeManager = getIframeManager();
|
|
@@ -11136,7 +11471,7 @@ var init_utils7 = __esm({
|
|
|
11136
11471
|
|
|
11137
11472
|
// src/internal/components/BuyMenu/finchpay/FinchPay.tsx
|
|
11138
11473
|
import { useQuery as useQuery4, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
|
|
11139
|
-
import { DollarSign, LoaderIcon as
|
|
11474
|
+
import { DollarSign, LoaderIcon as LoaderIcon6 } from "lucide-react";
|
|
11140
11475
|
import { useEffect as useEffect18 } from "react";
|
|
11141
11476
|
import { Fragment as Fragment12, jsx as jsx44, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
11142
11477
|
function FinchPay() {
|
|
@@ -11371,7 +11706,7 @@ function FinchPay() {
|
|
|
11371
11706
|
variant: "default",
|
|
11372
11707
|
onClick: () => useBuyMenuStore.getState().setIsProviderSummary(true),
|
|
11373
11708
|
children: [
|
|
11374
|
-
isFinchpayDataLoading && /* @__PURE__ */ jsx44(
|
|
11709
|
+
isFinchpayDataLoading && /* @__PURE__ */ jsx44(LoaderIcon6, { className: "w-4 h-4 animate-spin" }),
|
|
11375
11710
|
/* @__PURE__ */ jsx44("span", { children: String(t("passport:common.confirm")).toUpperCase() }),
|
|
11376
11711
|
estimateData?.to_amount && /* @__PURE__ */ jsxs38("span", { children: [
|
|
11377
11712
|
formatPrice(Number(estimateData.to_amount)),
|
|
@@ -11515,7 +11850,7 @@ var init_ProviderSelector = __esm({
|
|
|
11515
11850
|
});
|
|
11516
11851
|
|
|
11517
11852
|
// src/internal/components/BuyMenu/useHandleInputAmount.ts
|
|
11518
|
-
import { useEffect as useEffect19, useRef as
|
|
11853
|
+
import { useEffect as useEffect19, useRef as useRef12 } from "react";
|
|
11519
11854
|
var ON_INPUT_QUERY_DELAY, useHandleInputAmount;
|
|
11520
11855
|
var init_useHandleInputAmount = __esm({
|
|
11521
11856
|
"src/internal/components/BuyMenu/useHandleInputAmount.ts"() {
|
|
@@ -11523,11 +11858,11 @@ var init_useHandleInputAmount = __esm({
|
|
|
11523
11858
|
init_useBuyMenuStore();
|
|
11524
11859
|
ON_INPUT_QUERY_DELAY = 1500;
|
|
11525
11860
|
useHandleInputAmount = () => {
|
|
11526
|
-
const lastRampProviderRef =
|
|
11861
|
+
const lastRampProviderRef = useRef12(DEFAULT_PROVIDER2);
|
|
11527
11862
|
const rampProvider = useBuyMenuStore((st) => st.rampProvider);
|
|
11528
11863
|
const srcInputAmount = useBuyMenuStore((st) => st.srcInputAmount);
|
|
11529
11864
|
const minAmount = useBuyMenuStore((st) => st.minAmount);
|
|
11530
|
-
const queryAmountTimer =
|
|
11865
|
+
const queryAmountTimer = useRef12(null);
|
|
11531
11866
|
useEffect19(() => {
|
|
11532
11867
|
if (queryAmountTimer.current) clearTimeout(queryAmountTimer.current);
|
|
11533
11868
|
queryAmountTimer.current = setTimeout(() => {
|
|
@@ -11559,7 +11894,7 @@ var init_useHandleInputAmount = __esm({
|
|
|
11559
11894
|
});
|
|
11560
11895
|
|
|
11561
11896
|
// src/internal/components/BuyMenu/BuyMenu.tsx
|
|
11562
|
-
import { ArrowLeft as ArrowLeft3,
|
|
11897
|
+
import { ArrowLeft as ArrowLeft3, CircleQuestionMarkIcon } from "lucide-react";
|
|
11563
11898
|
import { Fragment as Fragment14, jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
11564
11899
|
function BuyMenu() {
|
|
11565
11900
|
const { t } = useT();
|
|
@@ -11642,11 +11977,12 @@ function BuyMenu() {
|
|
|
11642
11977
|
showProviderTrigger && /* @__PURE__ */ jsx46(
|
|
11643
11978
|
Button,
|
|
11644
11979
|
{
|
|
11980
|
+
ref: (inst) => onboarder.registerElement("buymenu-tour-button" /* tourButton */, inst),
|
|
11645
11981
|
variant: "ghost",
|
|
11646
11982
|
size: "icon",
|
|
11647
11983
|
className: "flex-none",
|
|
11648
11984
|
onClick: () => onboarder.startTour(BUY_MENU_BINANCE_TOUR),
|
|
11649
|
-
children: /* @__PURE__ */ jsx46(
|
|
11985
|
+
children: /* @__PURE__ */ jsx46(CircleQuestionMarkIcon, { className: "h-4 w-4" })
|
|
11650
11986
|
}
|
|
11651
11987
|
),
|
|
11652
11988
|
/* @__PURE__ */ jsx46(
|
|
@@ -12064,13 +12400,13 @@ import { PAYMASTER_CACHE_TTL_MS } from "@embarkai/core";
|
|
|
12064
12400
|
import { getChainConfig as getChainConfig8, SUPPORTED_MAINNETS as SUPPORTED_MAINNETS2 } from "@embarkai/core/read";
|
|
12065
12401
|
import { useQuery as useQuery5 } from "@tanstack/react-query";
|
|
12066
12402
|
import { ArrowLeft as ArrowLeft4 } from "lucide-react";
|
|
12067
|
-
import { useMemo as useMemo5, useState as
|
|
12403
|
+
import { useMemo as useMemo5, useState as useState10 } from "react";
|
|
12068
12404
|
import { jsx as jsx54, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
12069
12405
|
function ChainsMenu() {
|
|
12070
12406
|
const config = useProviderConfig().config;
|
|
12071
12407
|
const activeChainId = useSession((st) => st.activeChainId);
|
|
12072
|
-
const [isTestnets, setIsTestnets] =
|
|
12073
|
-
const [nextChainId, setNextChainId] =
|
|
12408
|
+
const [isTestnets, setIsTestnets] = useState10(false);
|
|
12409
|
+
const [nextChainId, setNextChainId] = useState10(null);
|
|
12074
12410
|
const { t } = useT();
|
|
12075
12411
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
12076
12412
|
const visibleNetworks = useMemo5(() => {
|
|
@@ -12319,7 +12655,7 @@ var init_devices = __esm({
|
|
|
12319
12655
|
});
|
|
12320
12656
|
|
|
12321
12657
|
// src/internal/components/DevicesMenu/DeviceLinkScreen.tsx
|
|
12322
|
-
import { useState as
|
|
12658
|
+
import { useState as useState11 } from "react";
|
|
12323
12659
|
import { ArrowLeft as ArrowLeft6, Loader2 as Loader22 } from "lucide-react";
|
|
12324
12660
|
import { jsx as jsx56, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
12325
12661
|
function getErrorMessage(err) {
|
|
@@ -12341,8 +12677,8 @@ function DeviceLinkScreen() {
|
|
|
12341
12677
|
const setPage = useLayoutDataStore((s) => s.setPage);
|
|
12342
12678
|
const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
|
|
12343
12679
|
const { mutate: link, isPending } = useLinkDevice();
|
|
12344
|
-
const [code, setCode] =
|
|
12345
|
-
const [error, setError] =
|
|
12680
|
+
const [code, setCode] = useState11("");
|
|
12681
|
+
const [error, setError] = useState11(null);
|
|
12346
12682
|
const isValid = code.length === 6 && VALID_CHARS.test(code);
|
|
12347
12683
|
function handleCodeChange(value) {
|
|
12348
12684
|
const upper = value.toUpperCase().slice(0, 6);
|
|
@@ -12931,7 +13267,7 @@ var init_guardian_backup = __esm({
|
|
|
12931
13267
|
});
|
|
12932
13268
|
|
|
12933
13269
|
// src/internal/components/DevicesMenu/DeviceManageScreen.tsx
|
|
12934
|
-
import { useCallback as useCallback14, useEffect as useEffect20, useRef as
|
|
13270
|
+
import { useCallback as useCallback14, useEffect as useEffect20, useRef as useRef13, useState as useState12 } from "react";
|
|
12935
13271
|
import { ArrowLeft as ArrowLeft7, Cpu, Download, HardDrive, Loader2 as Loader23, Trash2, Upload } from "lucide-react";
|
|
12936
13272
|
import { Fragment as Fragment15, jsx as jsx57, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
12937
13273
|
function formatSize(bytes) {
|
|
@@ -12946,13 +13282,13 @@ function DeviceManageScreen() {
|
|
|
12946
13282
|
const userId = session?.mpcUserId || "";
|
|
12947
13283
|
const deviceId = pageParams?.deviceId;
|
|
12948
13284
|
const deviceName = pageParams?.deviceName;
|
|
12949
|
-
const guardianRef =
|
|
12950
|
-
const [screen, setScreen] =
|
|
12951
|
-
const [actionState, setActionState] =
|
|
12952
|
-
const [password, setPassword] =
|
|
12953
|
-
const [statusMessage, setStatusMessage] =
|
|
12954
|
-
const [errorMessage, setErrorMessage] =
|
|
12955
|
-
const [waitingConfirm, setWaitingConfirm] =
|
|
13285
|
+
const guardianRef = useRef13(null);
|
|
13286
|
+
const [screen, setScreen] = useState12({ step: "connecting" });
|
|
13287
|
+
const [actionState, setActionState] = useState12(null);
|
|
13288
|
+
const [password, setPassword] = useState12("");
|
|
13289
|
+
const [statusMessage, setStatusMessage] = useState12(null);
|
|
13290
|
+
const [errorMessage, setErrorMessage] = useState12(null);
|
|
13291
|
+
const [waitingConfirm, setWaitingConfirm] = useState12(false);
|
|
12956
13292
|
useEffect20(() => {
|
|
12957
13293
|
if (!statusMessage) return;
|
|
12958
13294
|
const t = setTimeout(() => setStatusMessage(null), 3e3);
|
|
@@ -13223,7 +13559,7 @@ var init_DeviceManageScreen = __esm({
|
|
|
13223
13559
|
});
|
|
13224
13560
|
|
|
13225
13561
|
// src/internal/components/DevicesMenu/DeviceRestoreScreen.tsx
|
|
13226
|
-
import { useCallback as useCallback15, useState as
|
|
13562
|
+
import { useCallback as useCallback15, useState as useState13 } from "react";
|
|
13227
13563
|
import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft8, Download as Download2, Loader2 as Loader24 } from "lucide-react";
|
|
13228
13564
|
import { Fragment as Fragment16, jsx as jsx58, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
13229
13565
|
function DeviceRestoreScreen() {
|
|
@@ -13235,10 +13571,10 @@ function DeviceRestoreScreen() {
|
|
|
13235
13571
|
const keyshareId = pageParams?.keyshareId;
|
|
13236
13572
|
const deviceId = pageParams?.deviceId;
|
|
13237
13573
|
const deviceName = pageParams?.deviceName;
|
|
13238
|
-
const [password, setPassword] =
|
|
13239
|
-
const [isWorking, setIsWorking] =
|
|
13240
|
-
const [statusMessage, setStatusMessage] =
|
|
13241
|
-
const [errorMessage, setErrorMessage] =
|
|
13574
|
+
const [password, setPassword] = useState13("");
|
|
13575
|
+
const [isWorking, setIsWorking] = useState13(false);
|
|
13576
|
+
const [statusMessage, setStatusMessage] = useState13(null);
|
|
13577
|
+
const [errorMessage, setErrorMessage] = useState13(null);
|
|
13242
13578
|
const handleRestore = useCallback15(async () => {
|
|
13243
13579
|
if (!password || !keyshareId || !userId) return;
|
|
13244
13580
|
const iframe4 = getIframeManager();
|
|
@@ -13339,7 +13675,7 @@ var init_DeviceRestoreScreen = __esm({
|
|
|
13339
13675
|
});
|
|
13340
13676
|
|
|
13341
13677
|
// src/internal/components/DevicesMenu/DevicesMenu.tsx
|
|
13342
|
-
import { useState as
|
|
13678
|
+
import { useState as useState14 } from "react";
|
|
13343
13679
|
import { ArrowLeft as ArrowLeft9, Cpu as Cpu2, Monitor, CheckCircle, Trash2 as Trash22, Loader2 as Loader25, RefreshCw, HardDrive as HardDrive2 } from "lucide-react";
|
|
13344
13680
|
import { jsx as jsx59, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
13345
13681
|
function DeviceIcon({ deviceType }) {
|
|
@@ -13351,8 +13687,8 @@ function truncateAddress(address) {
|
|
|
13351
13687
|
return `${address.slice(0, 6)}...${address.slice(-4)}`;
|
|
13352
13688
|
}
|
|
13353
13689
|
function DeviceRow({ device }) {
|
|
13354
|
-
const [confirmingUnlink, setConfirmingUnlink] =
|
|
13355
|
-
const [unlinkError, setUnlinkError] =
|
|
13690
|
+
const [confirmingUnlink, setConfirmingUnlink] = useState14(false);
|
|
13691
|
+
const [unlinkError, setUnlinkError] = useState14(null);
|
|
13356
13692
|
const { mutate: unlink, isPending } = useUnlinkDevice();
|
|
13357
13693
|
if (confirmingUnlink) {
|
|
13358
13694
|
return /* @__PURE__ */ jsxs53("div", { className: "flex flex-col gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
|
|
@@ -14526,7 +14862,7 @@ var init_MethodSelector = __esm({
|
|
|
14526
14862
|
|
|
14527
14863
|
// src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
|
|
14528
14864
|
import { ChevronRight as ChevronRight2, Eye, EyeOff, Info as Info3, Key as Key4, Loader as Loader8, Plus } from "lucide-react";
|
|
14529
|
-
import { useEffect as useEffect23, useRef as
|
|
14865
|
+
import { useEffect as useEffect23, useRef as useRef14 } from "react";
|
|
14530
14866
|
import { Fragment as Fragment18, jsx as jsx61, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
14531
14867
|
function PasswordPasskey(props) {
|
|
14532
14868
|
const { t } = useT();
|
|
@@ -14541,7 +14877,7 @@ function PasswordPasskey(props) {
|
|
|
14541
14877
|
onCreatePasskey
|
|
14542
14878
|
} = props;
|
|
14543
14879
|
const hasServerVault = useSession((st) => st.hasServerVault);
|
|
14544
|
-
const actionRef =
|
|
14880
|
+
const actionRef = useRef14(null);
|
|
14545
14881
|
const {
|
|
14546
14882
|
showPassword,
|
|
14547
14883
|
restorePassword,
|
|
@@ -15173,7 +15509,7 @@ var init_Cloud = __esm({
|
|
|
15173
15509
|
});
|
|
15174
15510
|
|
|
15175
15511
|
// src/internal/components/KeyshareRestoreMenu/methods/Guardian.tsx
|
|
15176
|
-
import { useState as
|
|
15512
|
+
import { useState as useState16 } from "react";
|
|
15177
15513
|
import { Cpu as Cpu4, Loader2 as Loader26 } from "lucide-react";
|
|
15178
15514
|
import { Fragment as Fragment23, jsx as jsx67, jsxs as jsxs61 } from "react/jsx-runtime";
|
|
15179
15515
|
function Guardian(props) {
|
|
@@ -15182,8 +15518,8 @@ function Guardian(props) {
|
|
|
15182
15518
|
const session = useSession((st) => st.session);
|
|
15183
15519
|
const recoveryUserId = useSession((st) => st.recoveryUserId);
|
|
15184
15520
|
const { onRestoreSuccess } = useOnRestoreSuccess();
|
|
15185
|
-
const [isWorking, setIsWorking] =
|
|
15186
|
-
const [step, setStep] =
|
|
15521
|
+
const [isWorking, setIsWorking] = useState16(false);
|
|
15522
|
+
const [step, setStep] = useState16("idle");
|
|
15187
15523
|
const handleGuardianBackup = async () => {
|
|
15188
15524
|
if (!restorePassword) {
|
|
15189
15525
|
setError("Please enter a password");
|
|
@@ -15876,15 +16212,15 @@ var init_SumsubIframeManager = __esm({
|
|
|
15876
16212
|
});
|
|
15877
16213
|
|
|
15878
16214
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
15879
|
-
import { useEffect as useEffect29, useRef as
|
|
16215
|
+
import { useEffect as useEffect29, useRef as useRef15, useState as useState17 } from "react";
|
|
15880
16216
|
function useSumsubIframe({ iframeUrl }) {
|
|
15881
16217
|
const config = useProviderConfig().config;
|
|
15882
16218
|
const { colorMode } = useColorMode();
|
|
15883
|
-
const iframeRef =
|
|
15884
|
-
const [isLoading, setIsLoading] =
|
|
15885
|
-
const [error, setError] =
|
|
15886
|
-
const [height, setHeight] =
|
|
15887
|
-
const [status, setStatus] =
|
|
16219
|
+
const iframeRef = useRef15(null);
|
|
16220
|
+
const [isLoading, setIsLoading] = useState17(true);
|
|
16221
|
+
const [error, setError] = useState17(null);
|
|
16222
|
+
const [height, setHeight] = useState17(0);
|
|
16223
|
+
const [status, setStatus] = useState17("");
|
|
15888
16224
|
const levelName = config.current?.kyc?.options?.levelName;
|
|
15889
16225
|
useEffect29(() => {
|
|
15890
16226
|
setError(null);
|
|
@@ -15937,7 +16273,7 @@ var init_useSumsubIframe = __esm({
|
|
|
15937
16273
|
});
|
|
15938
16274
|
|
|
15939
16275
|
// src/internal/components/KYC/SumsubIframe.tsx
|
|
15940
|
-
import { LoaderIcon as
|
|
16276
|
+
import { LoaderIcon as LoaderIcon7 } from "lucide-react";
|
|
15941
16277
|
import { Fragment as Fragment26, jsx as jsx70, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
15942
16278
|
var SumsubIframe;
|
|
15943
16279
|
var init_SumsubIframe = __esm({
|
|
@@ -15950,7 +16286,7 @@ var init_SumsubIframe = __esm({
|
|
|
15950
16286
|
const { iframeRef, isLoading, error, height, status } = useSumsubIframe({ iframeUrl });
|
|
15951
16287
|
return /* @__PURE__ */ jsxs64(Fragment26, { children: [
|
|
15952
16288
|
isLoading && /* @__PURE__ */ jsxs64("div", { className: "rounded-[10px] p-6 text-center", children: [
|
|
15953
|
-
/* @__PURE__ */ jsx70(
|
|
16289
|
+
/* @__PURE__ */ jsx70(LoaderIcon7, { className: "w-4 h-4 animate-spin mx-auto" }),
|
|
15954
16290
|
/* @__PURE__ */ jsx70("p", { className: "text-sm text-[var(--ui-kit-text-secondary)] mt-2", children: status || "Loading KYC verification..." })
|
|
15955
16291
|
] }),
|
|
15956
16292
|
error && /* @__PURE__ */ jsx70("div", { className: "rounded-[10px] p-4 text-center bg-[var(--ui-kit-bg-error)] border border-[var(--ui-kit-error)]", children: /* @__PURE__ */ jsx70("div", { className: "text-sm text-[var(--ui-kit-error)]", children: error }) }),
|
|
@@ -16919,7 +17255,7 @@ var init_telegram2 = __esm({
|
|
|
16919
17255
|
|
|
16920
17256
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
16921
17257
|
import { useQueryClient as useQueryClient16 } from "@tanstack/react-query";
|
|
16922
|
-
import { useCallback as useCallback20, useEffect as useEffect32, useState as
|
|
17258
|
+
import { useCallback as useCallback20, useEffect as useEffect32, useState as useState18 } from "react";
|
|
16923
17259
|
function useLinkTelegram() {
|
|
16924
17260
|
const {
|
|
16925
17261
|
config: { current: config },
|
|
@@ -16977,7 +17313,7 @@ function useLinkTelegram() {
|
|
|
16977
17313
|
setLinkIsLoading(false);
|
|
16978
17314
|
}
|
|
16979
17315
|
}, [config.social?.providers]);
|
|
16980
|
-
const [telegramLinkStarted, setTelegramLinkStarted] =
|
|
17316
|
+
const [telegramLinkStarted, setTelegramLinkStarted] = useState18(false);
|
|
16981
17317
|
useEffect32(() => {
|
|
16982
17318
|
console.log("[useLinkTelegram] Effect triggered:", {
|
|
16983
17319
|
providerType,
|
|
@@ -17298,7 +17634,7 @@ var init_ManageWallet = __esm({
|
|
|
17298
17634
|
// src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
|
|
17299
17635
|
import { useMutation as useMutation15, useQueryClient as useQueryClient17 } from "@tanstack/react-query";
|
|
17300
17636
|
import { Key as Key6, Loader as Loader14 } from "lucide-react";
|
|
17301
|
-
import { useState as
|
|
17637
|
+
import { useState as useState19 } from "react";
|
|
17302
17638
|
import { useDisconnect as useDisconnect2 } from "wagmi";
|
|
17303
17639
|
import { jsx as jsx80, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
17304
17640
|
function UnlinkProviderMenu() {
|
|
@@ -17310,7 +17646,7 @@ function UnlinkProviderMenu() {
|
|
|
17310
17646
|
const { t } = useT();
|
|
17311
17647
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
17312
17648
|
const { confirmUnlink, setConfirmUnlink, setAlert } = useManageWalletStore();
|
|
17313
|
-
const [confirmInput, setConfirmInput] =
|
|
17649
|
+
const [confirmInput, setConfirmInput] = useState19("");
|
|
17314
17650
|
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation15({
|
|
17315
17651
|
mutationFn: async () => {
|
|
17316
17652
|
if (!confirmUnlink) {
|
|
@@ -17570,8 +17906,8 @@ var init_useNicknameAvailability = __esm({
|
|
|
17570
17906
|
|
|
17571
17907
|
// src/internal/components/NicknameMenu/NicknameEditForm.tsx
|
|
17572
17908
|
import { useMutation as useMutation17, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
|
|
17573
|
-
import { AtSignIcon, CheckIcon as CheckIcon2, CopyIcon, LoaderIcon as
|
|
17574
|
-
import { useCallback as useCallback22, useState as
|
|
17909
|
+
import { AtSignIcon, CheckIcon as CheckIcon2, CopyIcon, LoaderIcon as LoaderIcon8, SaveIcon } from "lucide-react";
|
|
17910
|
+
import { useCallback as useCallback22, useState as useState20 } from "react";
|
|
17575
17911
|
import { Fragment as Fragment29, jsx as jsx81, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
17576
17912
|
function NicknameEditForm(props) {
|
|
17577
17913
|
const { isInitialUser, nicknameInfo } = props;
|
|
@@ -17584,7 +17920,7 @@ function NicknameEditForm(props) {
|
|
|
17584
17920
|
const nicknameValue = useNicknameStore((st) => st.nicknameValue);
|
|
17585
17921
|
const nicknameAvailability = useNicknameStore((st) => st.availability);
|
|
17586
17922
|
const { isCheckingAvailability } = useNicknameAvailability(nicknameInfo ? nicknameInfo.handle : "");
|
|
17587
|
-
const [isNicknameCopied, setIsNicknameCopied] =
|
|
17923
|
+
const [isNicknameCopied, setIsNicknameCopied] = useState20(false);
|
|
17588
17924
|
const {
|
|
17589
17925
|
mutate: changeNickname2,
|
|
17590
17926
|
isError: isNicknameChangeError,
|
|
@@ -17677,7 +18013,7 @@ function NicknameEditForm(props) {
|
|
|
17677
18013
|
className: cn("w-12", {
|
|
17678
18014
|
"bg-[var(--ui-kit-bg-success)] text-[var(--ui-kit-success)]": isNicknameAvailalable
|
|
17679
18015
|
}),
|
|
17680
|
-
children: isCheckingAvailability || isNicknameChanging ? /* @__PURE__ */ jsx81(
|
|
18016
|
+
children: isCheckingAvailability || isNicknameChanging ? /* @__PURE__ */ jsx81(LoaderIcon8, { className: "w-4 h-4 animate-spin" }) : isNicknameChangeSuccess ? /* @__PURE__ */ jsx81(CheckIcon2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx81(SaveIcon, { className: "w-4 h-4" })
|
|
17681
18017
|
}
|
|
17682
18018
|
)
|
|
17683
18019
|
] }) }) : /* @__PURE__ */ jsxs75("div", { className: "w-full flex items-center justify-between px-[var(--ui-kit-pd)] h-12 bg-[var(--ui-kit-secondary)] rounded-[var(--ui-kit-el-bdrs)]", children: [
|
|
@@ -18168,7 +18504,7 @@ var init_utils8 = __esm({
|
|
|
18168
18504
|
// src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts
|
|
18169
18505
|
import { createBlockscoutClient as createBlockscoutClient2, nonBlockscoutClient } from "@embarkai/core";
|
|
18170
18506
|
import { useQuery as useQuery16, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
|
|
18171
|
-
import { useCallback as useCallback23, useMemo as useMemo10, useRef as
|
|
18507
|
+
import { useCallback as useCallback23, useMemo as useMemo10, useRef as useRef16 } from "react";
|
|
18172
18508
|
function useBlockscoutAssets(options) {
|
|
18173
18509
|
const { address, chainId, enabled = true, detectSecurityTokens = true } = options;
|
|
18174
18510
|
const qc = useQueryClient19();
|
|
@@ -18183,7 +18519,7 @@ function useBlockscoutAssets(options) {
|
|
|
18183
18519
|
() => blockscoutApiUrl ? createBlockscoutClient2({ baseUrl: blockscoutApiUrl }) : null,
|
|
18184
18520
|
[blockscoutApiUrl]
|
|
18185
18521
|
);
|
|
18186
|
-
const lastRefreshRef =
|
|
18522
|
+
const lastRefreshRef = useRef16(0);
|
|
18187
18523
|
const {
|
|
18188
18524
|
data: watchTokenAssets = [],
|
|
18189
18525
|
isLoading: watchTokensLoading,
|
|
@@ -18535,7 +18871,7 @@ var init_BalanceView2 = __esm({
|
|
|
18535
18871
|
|
|
18536
18872
|
// src/internal/components/PortfolioMenu/PortfolioItem.tsx
|
|
18537
18873
|
import { useQuery as useQuery17 } from "@tanstack/react-query";
|
|
18538
|
-
import { LoaderIcon as
|
|
18874
|
+
import { LoaderIcon as LoaderIcon9, ShieldAlertIcon, SparklesIcon } from "lucide-react";
|
|
18539
18875
|
import { formatUnits as formatUnits6 } from "viem";
|
|
18540
18876
|
import { Fragment as Fragment30, jsx as jsx84, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
18541
18877
|
function openInExplorer(address) {
|
|
@@ -18688,7 +19024,7 @@ function PortfolioItem(props) {
|
|
|
18688
19024
|
asset.symbol
|
|
18689
19025
|
] })
|
|
18690
19026
|
] }),
|
|
18691
|
-
isRateLoading && /* @__PURE__ */ jsx84(
|
|
19027
|
+
isRateLoading && /* @__PURE__ */ jsx84(LoaderIcon9, { className: "h-4 w-4 animate-spin" }),
|
|
18692
19028
|
!isRateLoading && !!usdRenderBalance && /* @__PURE__ */ jsxs78("span", { className: "text-xs", children: [
|
|
18693
19029
|
/* @__PURE__ */ jsx84("span", { children: "$" }),
|
|
18694
19030
|
/* @__PURE__ */ jsx84("span", { children: formatPrice(usdRenderBalance) })
|
|
@@ -18899,7 +19235,7 @@ var init_nickname_fingerprint = __esm({
|
|
|
18899
19235
|
// src/internal/components/ReceiveMenu/ReceiveMenu.tsx
|
|
18900
19236
|
import { ArrowLeft as ArrowLeft17, CheckCircle2 as CheckCircle23, Copy as Copy2, Info as Info5, Loader as Loader17, Shield } from "lucide-react";
|
|
18901
19237
|
import QRCode from "qrcode";
|
|
18902
|
-
import { useCallback as useCallback25, useEffect as useEffect34, useMemo as useMemo11, useState as
|
|
19238
|
+
import { useCallback as useCallback25, useEffect as useEffect34, useMemo as useMemo11, useState as useState21 } from "react";
|
|
18903
19239
|
import { Fragment as Fragment31, jsx as jsx86, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
18904
19240
|
function ReceiveMenu() {
|
|
18905
19241
|
const session = useSession((st) => st.session);
|
|
@@ -18910,9 +19246,9 @@ function ReceiveMenu() {
|
|
|
18910
19246
|
const { t } = useT();
|
|
18911
19247
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
18912
19248
|
const open = page === "receive";
|
|
18913
|
-
const [qrCodeUrl, setQrCodeUrl] =
|
|
18914
|
-
const [copied, setCopied] =
|
|
18915
|
-
const [fingerprintCopied, setFingerprintCopied] =
|
|
19249
|
+
const [qrCodeUrl, setQrCodeUrl] = useState21("");
|
|
19250
|
+
const [copied, setCopied] = useState21(false);
|
|
19251
|
+
const [fingerprintCopied, setFingerprintCopied] = useState21(false);
|
|
18916
19252
|
const fingerprint = useMemo11(() => {
|
|
18917
19253
|
if (!session?.ownerAddress) return null;
|
|
18918
19254
|
try {
|
|
@@ -19079,7 +19415,7 @@ var init_useConnectedApps = __esm({
|
|
|
19079
19415
|
|
|
19080
19416
|
// src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx
|
|
19081
19417
|
import dayjs5 from "dayjs";
|
|
19082
|
-
import { AppWindowMac, ExternalLinkIcon as ExternalLinkIcon2, InfoIcon as
|
|
19418
|
+
import { AppWindowMac, ExternalLinkIcon as ExternalLinkIcon2, InfoIcon as InfoIcon4, LoaderIcon as LoaderIcon10, ShieldBanIcon, ShieldCheckIcon } from "lucide-react";
|
|
19083
19419
|
import { useEffect as useEffect35 } from "react";
|
|
19084
19420
|
import { Fragment as Fragment32, jsx as jsx87, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
19085
19421
|
function Application(props) {
|
|
@@ -19186,13 +19522,13 @@ function ConnectedApps() {
|
|
|
19186
19522
|
}, [connectedApps, isConnectedAppsLoading]);
|
|
19187
19523
|
if (!isConnectedAppsLoading && connectedApps.length === 0)
|
|
19188
19524
|
return /* @__PURE__ */ jsxs81(Highlight, { type: "info", className: "flex gap-[var(--ui-kit-gap)] ", children: [
|
|
19189
|
-
/* @__PURE__ */ jsx87(
|
|
19525
|
+
/* @__PURE__ */ jsx87(InfoIcon4, { className: "w-4 h-4" }),
|
|
19190
19526
|
/* @__PURE__ */ jsx87("span", { children: t("passport:securityMenu.connectedApps.noConnectedApps") })
|
|
19191
19527
|
] });
|
|
19192
19528
|
return /* @__PURE__ */ jsxs81(Fragment32, { children: [
|
|
19193
19529
|
/* @__PURE__ */ jsxs81("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
19194
19530
|
/* @__PURE__ */ jsx87("span", { className: "leading-4 text-xs", children: t("passport:securityMenu.connectedApps.connectedApps") }),
|
|
19195
|
-
isConnectedAppsLoading && /* @__PURE__ */ jsx87(
|
|
19531
|
+
isConnectedAppsLoading && /* @__PURE__ */ jsx87(LoaderIcon10, { className: "h-4 w-4 animate-spin" })
|
|
19196
19532
|
] }),
|
|
19197
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)) })
|
|
19198
19534
|
] });
|
|
@@ -19443,7 +19779,7 @@ var init_useKeyshareRecoveryStats = __esm({
|
|
|
19443
19779
|
});
|
|
19444
19780
|
|
|
19445
19781
|
// src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
|
|
19446
|
-
import { Cloud as Cloud3, Laptop, LoaderIcon as
|
|
19782
|
+
import { Cloud as Cloud3, Laptop, LoaderIcon as LoaderIcon11, Server as Server2 } from "lucide-react";
|
|
19447
19783
|
import { useEffect as useEffect36 } from "react";
|
|
19448
19784
|
import { Fragment as Fragment34, jsx as jsx91, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
19449
19785
|
function Keyshare() {
|
|
@@ -19462,7 +19798,7 @@ function Keyshare() {
|
|
|
19462
19798
|
return /* @__PURE__ */ jsxs85(Fragment34, { children: [
|
|
19463
19799
|
/* @__PURE__ */ jsxs85("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
19464
19800
|
/* @__PURE__ */ jsx91("span", { className: "text-xs leading-4", children: t("passport:securityMenu.keyshareStatus.title") }),
|
|
19465
|
-
isRecoveryLoading && /* @__PURE__ */ jsx91(
|
|
19801
|
+
isRecoveryLoading && /* @__PURE__ */ jsx91(LoaderIcon11, { className: "h-4 w-4 animate-spin" })
|
|
19466
19802
|
] }),
|
|
19467
19803
|
!isRecoveryLoading && /* @__PURE__ */ jsxs85(Fragment34, { children: [
|
|
19468
19804
|
/* @__PURE__ */ jsxs85("div", { className: "grid grid-cols-3 gap-[var(--ui-kit-gap)] px-[var(--ui-kit-gap)]", children: [
|
|
@@ -19857,7 +20193,7 @@ var init_useBridgeStore = __esm({
|
|
|
19857
20193
|
// src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx
|
|
19858
20194
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
19859
20195
|
import { useMutation as useMutation19 } from "@tanstack/react-query";
|
|
19860
|
-
import { useEffect as useEffect37, useRef as
|
|
20196
|
+
import { useEffect as useEffect37, useRef as useRef17, useState as useState22 } from "react";
|
|
19861
20197
|
import { useSignMessage } from "wagmi";
|
|
19862
20198
|
import { jsx as jsx93, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
19863
20199
|
function SenderSelector(props) {
|
|
@@ -19868,11 +20204,11 @@ function SenderSelector(props) {
|
|
|
19868
20204
|
const { openConnectModal } = useConnectModal();
|
|
19869
20205
|
const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
|
|
19870
20206
|
const directWalletIsConnected = useExternalWalletStore((st) => st.isExternalConnected);
|
|
19871
|
-
const pendingWalletRef =
|
|
20207
|
+
const pendingWalletRef = useRef17(null);
|
|
19872
20208
|
const originChain = useBridgeStore((st) => st.originChain);
|
|
19873
20209
|
const bridgeSender = useBridgeStore((st) => st.bridgeSender);
|
|
19874
20210
|
const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
|
|
19875
|
-
const [walletMessage, setWalletMessage] =
|
|
20211
|
+
const [walletMessage, setWalletMessage] = useState22(null);
|
|
19876
20212
|
useEffect37(() => {
|
|
19877
20213
|
useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
|
|
19878
20214
|
}, [walletMessage]);
|
|
@@ -19936,6 +20272,7 @@ function SenderSelector(props) {
|
|
|
19936
20272
|
pendingWalletRef.current = null;
|
|
19937
20273
|
loginDirectWallet(pendingProfile);
|
|
19938
20274
|
}, [directWalletIsConnected, directWalletAddress]);
|
|
20275
|
+
const isWalletProfileAvailable = !!directWalletProfile?.meta?.walletName && !!directWalletProfile?.externalId;
|
|
19939
20276
|
return /* @__PURE__ */ jsxs87("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
19940
20277
|
bridgeSenders.map((sender) => /* @__PURE__ */ jsxs87(
|
|
19941
20278
|
Button,
|
|
@@ -19979,6 +20316,21 @@ function SenderSelector(props) {
|
|
|
19979
20316
|
},
|
|
19980
20317
|
`sender-${sender.address}`
|
|
19981
20318
|
)),
|
|
20319
|
+
!isWalletProfileAvailable && /* @__PURE__ */ jsxs87(Highlight, { type: "info", className: "flex flex-col w-full gap-[var(--ui-kit-gap)]", children: [
|
|
20320
|
+
/* @__PURE__ */ jsx93("span", { className: "whitespace-pre-line", children: t("passport:bridgeMenu.onboarding.bridgeSenderWalletSelector.description") }),
|
|
20321
|
+
/* @__PURE__ */ jsx93(
|
|
20322
|
+
Button,
|
|
20323
|
+
{
|
|
20324
|
+
variant: "default",
|
|
20325
|
+
size: "large",
|
|
20326
|
+
className: "w-full",
|
|
20327
|
+
onClick: () => {
|
|
20328
|
+
useLayoutDataStore.getState().setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
20329
|
+
},
|
|
20330
|
+
children: t("passport:bridgeMenu.actions.addExternalWalletProfile")
|
|
20331
|
+
}
|
|
20332
|
+
)
|
|
20333
|
+
] }),
|
|
19982
20334
|
walletMessage && /* @__PURE__ */ jsxs87(Highlight, { type: "info", className: "flex flex-col w-full gap-[var(--ui-kit-gap)]", children: [
|
|
19983
20335
|
/* @__PURE__ */ jsx93("span", { children: walletMessage }),
|
|
19984
20336
|
/* @__PURE__ */ jsx93(
|
|
@@ -20102,11 +20454,11 @@ var init_wallets = __esm({
|
|
|
20102
20454
|
});
|
|
20103
20455
|
|
|
20104
20456
|
// src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts
|
|
20105
|
-
import { useEffect as useEffect38, useRef as
|
|
20457
|
+
import { useEffect as useEffect38, useRef as useRef18 } from "react";
|
|
20106
20458
|
function useAvailableSenders() {
|
|
20107
20459
|
const address = useSession((st) => st.address);
|
|
20108
20460
|
const { profiles } = useLinkedProfiles();
|
|
20109
|
-
const lastCalcedSenders =
|
|
20461
|
+
const lastCalcedSenders = useRef18([]);
|
|
20110
20462
|
useEffect38(() => {
|
|
20111
20463
|
const sendersAccumulator = [
|
|
20112
20464
|
{
|
|
@@ -20460,11 +20812,13 @@ function getAssetBalance(asset) {
|
|
|
20460
20812
|
return Number(formatUnits7(BigInt(asset.balance || "0"), asset.decimals || 18));
|
|
20461
20813
|
}
|
|
20462
20814
|
function isOririnChainEmbarkSupported(originChain) {
|
|
20815
|
+
const activeChainId = useSession.getState().activeChainId;
|
|
20463
20816
|
const supportedChain = [...SUPPORTED_CHAINS2].map(([chainId]) => chainId);
|
|
20464
|
-
return supportedChain.includes(CHAINS_UI_META[originChain].chainID);
|
|
20817
|
+
return supportedChain.includes(CHAINS_UI_META[originChain].chainID) && activeChainId === CHAINS_UI_META[originChain].chainID;
|
|
20465
20818
|
}
|
|
20466
20819
|
var init_utils9 = __esm({
|
|
20467
20820
|
"src/internal/components/SendMenu/hyperbridge/utils.ts"() {
|
|
20821
|
+
init_SessionContext();
|
|
20468
20822
|
init_chains();
|
|
20469
20823
|
}
|
|
20470
20824
|
});
|
|
@@ -20810,7 +21164,7 @@ function useMenuTitle(warpRoutes) {
|
|
|
20810
21164
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
20811
21165
|
switch (true) {
|
|
20812
21166
|
case bridgeStep === "sender-selector":
|
|
20813
|
-
updateMenuTitle(t("passport:bridgeMenu.labels.
|
|
21167
|
+
updateMenuTitle(t("passport:bridgeMenu.labels.selectSender"));
|
|
20814
21168
|
break;
|
|
20815
21169
|
case bridgeStep === "select-token":
|
|
20816
21170
|
updateMenuTitle(t("passport:bridgeMenu.labels.selectToken"));
|
|
@@ -20842,6 +21196,161 @@ var init_useMenuTitle = __esm({
|
|
|
20842
21196
|
}
|
|
20843
21197
|
});
|
|
20844
21198
|
|
|
21199
|
+
// src/internal/components/SendMenu/send/useSendStore.ts
|
|
21200
|
+
import { create as create15 } from "zustand";
|
|
21201
|
+
var useSendStore;
|
|
21202
|
+
var init_useSendStore = __esm({
|
|
21203
|
+
"src/internal/components/SendMenu/send/useSendStore.ts"() {
|
|
21204
|
+
init_useFlowSelector();
|
|
21205
|
+
useSendStore = create15((set) => ({
|
|
21206
|
+
recipient: "",
|
|
21207
|
+
//
|
|
21208
|
+
amount: "",
|
|
21209
|
+
selectedAsset: null,
|
|
21210
|
+
//
|
|
21211
|
+
txStep: "input",
|
|
21212
|
+
//
|
|
21213
|
+
// sendError: null,
|
|
21214
|
+
//
|
|
21215
|
+
setRecipient: (recipient) => {
|
|
21216
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21217
|
+
set({ recipient });
|
|
21218
|
+
},
|
|
21219
|
+
//
|
|
21220
|
+
setAmount: (amount) => {
|
|
21221
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21222
|
+
set({ amount });
|
|
21223
|
+
},
|
|
21224
|
+
setSelectedAsset: (selectedAsset) => {
|
|
21225
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21226
|
+
set({ selectedAsset });
|
|
21227
|
+
},
|
|
21228
|
+
//
|
|
21229
|
+
setTxStep: (txStep) => {
|
|
21230
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21231
|
+
useFlowSelectorStore.getState().setRenderKey(`send-${txStep}-${Date.now()}`);
|
|
21232
|
+
set({ txStep });
|
|
21233
|
+
}
|
|
21234
|
+
}));
|
|
21235
|
+
}
|
|
21236
|
+
});
|
|
21237
|
+
|
|
21238
|
+
// src/internal/components/SendMenu/onboarding.setup.ts
|
|
21239
|
+
var TOUR_SEND_ASSET, TOUR_BRIDGE_QUOTE, SEND_MENU_TOUR, BRIDGE_MENU_TOUR;
|
|
21240
|
+
var init_onboarding_setup2 = __esm({
|
|
21241
|
+
"src/internal/components/SendMenu/onboarding.setup.ts"() {
|
|
21242
|
+
init_useBridgeStore();
|
|
21243
|
+
init_useSendStore();
|
|
21244
|
+
TOUR_SEND_ASSET = {
|
|
21245
|
+
name: "USDT",
|
|
21246
|
+
symbol: "USDT",
|
|
21247
|
+
address: "0xee7Fc418f5659a366b548b4E205d374C1F0B46e7",
|
|
21248
|
+
balance: "1000",
|
|
21249
|
+
formattedBalance: "1000",
|
|
21250
|
+
type: "erc20"
|
|
21251
|
+
};
|
|
21252
|
+
TOUR_BRIDGE_QUOTE = {
|
|
21253
|
+
amount: "123",
|
|
21254
|
+
igpFee: "0.123",
|
|
21255
|
+
localFee: "0.456",
|
|
21256
|
+
igpSymbol: "USDT",
|
|
21257
|
+
localSymbol: "USDT"
|
|
21258
|
+
};
|
|
21259
|
+
SEND_MENU_TOUR = [
|
|
21260
|
+
{
|
|
21261
|
+
elId: "sendmenu-page" /* sendMenu */,
|
|
21262
|
+
title: "passport:sendMenu.onboarding.sendMenu.title",
|
|
21263
|
+
description: "passport:sendMenu.onboarding.sendMenu.description",
|
|
21264
|
+
waitSecs: 4,
|
|
21265
|
+
onNext: () => {
|
|
21266
|
+
const { setAmount, setRecipient, setSelectedAsset, setTxStep } = useSendStore.getState();
|
|
21267
|
+
setSelectedAsset(TOUR_SEND_ASSET);
|
|
21268
|
+
setAmount("123");
|
|
21269
|
+
setRecipient("0x1234567890123456789012345678901234567890");
|
|
21270
|
+
setTxStep("confirm");
|
|
21271
|
+
}
|
|
21272
|
+
},
|
|
21273
|
+
{
|
|
21274
|
+
elId: "sendmenu-crypto-summary" /* sendCryptoSummary */,
|
|
21275
|
+
title: "passport:sendMenu.onboarding.sendCryptoSummary.title",
|
|
21276
|
+
description: "passport:sendMenu.onboarding.sendCryptoSummary.description",
|
|
21277
|
+
onNext: () => {
|
|
21278
|
+
const { setAmount, setRecipient, setSelectedAsset, setTxStep } = useSendStore.getState();
|
|
21279
|
+
setTxStep("input");
|
|
21280
|
+
setRecipient("");
|
|
21281
|
+
setAmount("");
|
|
21282
|
+
setSelectedAsset(null);
|
|
21283
|
+
}
|
|
21284
|
+
},
|
|
21285
|
+
{
|
|
21286
|
+
elId: "sendmenu-tour-button" /* tourButton */,
|
|
21287
|
+
title: "passport:common.onboarding.tourButton.title",
|
|
21288
|
+
description: "passport:common.onboarding.tourButton.description"
|
|
21289
|
+
}
|
|
21290
|
+
];
|
|
21291
|
+
BRIDGE_MENU_TOUR = [
|
|
21292
|
+
{
|
|
21293
|
+
elId: "sendmenu-page" /* sendMenu */,
|
|
21294
|
+
title: "passport:bridgeMenu.onboarding.bridgeMenu.title",
|
|
21295
|
+
description: "passport:bridgeMenu.onboarding.bridgeMenu.description",
|
|
21296
|
+
waitSecs: 5,
|
|
21297
|
+
onNext: () => {
|
|
21298
|
+
const { setHyperRoute, setBridgeAssetSymbol, setOriginChain, setDestinationChain } = useBridgeStore.getState();
|
|
21299
|
+
setHyperRoute("USDT/ethereum-lumiaprism");
|
|
21300
|
+
setBridgeAssetSymbol("USDT");
|
|
21301
|
+
setOriginChain("lumiaprism");
|
|
21302
|
+
setDestinationChain("ethereum");
|
|
21303
|
+
}
|
|
21304
|
+
},
|
|
21305
|
+
{
|
|
21306
|
+
elId: "bridgemenu-sender-wallet-selector" /* bridgeSenderWalletSelector */,
|
|
21307
|
+
title: "passport:bridgeMenu.onboarding.bridgeSenderWalletSelector.title",
|
|
21308
|
+
description: "passport:bridgeMenu.onboarding.bridgeSenderWalletSelector.description"
|
|
21309
|
+
},
|
|
21310
|
+
{
|
|
21311
|
+
elId: "bridgemenu-crypto-menu-asset-selector" /* bridgeCryptoAssetSelector */,
|
|
21312
|
+
title: "passport:bridgeMenu.onboarding.bridgeCryptoAssetSelector.title",
|
|
21313
|
+
description: "passport:bridgeMenu.onboarding.bridgeCryptoAssetSelector.description"
|
|
21314
|
+
},
|
|
21315
|
+
{
|
|
21316
|
+
elId: "bridgemenu-crypto-menu-chain-pair-swapper" /* bridgeChainPairSwapper */,
|
|
21317
|
+
title: "passport:bridgeMenu.onboarding.bridgeChainPairSwapper.title",
|
|
21318
|
+
description: "passport:bridgeMenu.onboarding.bridgeChainPairSwapper.description"
|
|
21319
|
+
},
|
|
21320
|
+
{
|
|
21321
|
+
elId: "bridgemenu-crypto-menu-amount-recipient-inputs" /* bridgeAmountRecipientInputs */,
|
|
21322
|
+
title: "passport:bridgeMenu.onboarding.bridgeAmountRecipientInputs.title",
|
|
21323
|
+
description: "passport:bridgeMenu.onboarding.bridgeAmountRecipientInputs.description"
|
|
21324
|
+
},
|
|
21325
|
+
{
|
|
21326
|
+
elId: "bridgemenu-crypto-menu-estimate-quote-button" /* bridgeEstimateQuoteButton */,
|
|
21327
|
+
title: "passport:bridgeMenu.onboarding.bridgeEstimateQuoteButton.title",
|
|
21328
|
+
description: "passport:bridgeMenu.onboarding.bridgeEstimateQuoteButton.description",
|
|
21329
|
+
onNext: () => {
|
|
21330
|
+
const { setQuote, setBridgeStep } = useBridgeStore.getState();
|
|
21331
|
+
setQuote(TOUR_BRIDGE_QUOTE);
|
|
21332
|
+
setBridgeStep("confirm");
|
|
21333
|
+
}
|
|
21334
|
+
},
|
|
21335
|
+
{
|
|
21336
|
+
elId: "bridgemenu-crypto-menu-estimate-details-menu" /* bridgeEstimatedQuoteMenu */,
|
|
21337
|
+
title: "passport:bridgeMenu.onboarding.bridgeEstimatedQuoteMenu.title",
|
|
21338
|
+
description: "passport:bridgeMenu.onboarding.bridgeEstimatedQuoteMenu.description",
|
|
21339
|
+
onNext: () => {
|
|
21340
|
+
const { setQuote, setBridgeStep } = useBridgeStore.getState();
|
|
21341
|
+
setQuote(null);
|
|
21342
|
+
setBridgeStep("select");
|
|
21343
|
+
}
|
|
21344
|
+
},
|
|
21345
|
+
{
|
|
21346
|
+
elId: "sendmenu-tour-button" /* tourButton */,
|
|
21347
|
+
title: "passport:common.onboarding.tourButton.title",
|
|
21348
|
+
description: "passport:common.onboarding.tourButton.description"
|
|
21349
|
+
}
|
|
21350
|
+
];
|
|
21351
|
+
}
|
|
21352
|
+
});
|
|
21353
|
+
|
|
20845
21354
|
// src/internal/components/SendMenu/hyperbridge/components/ResolveChainIcon.tsx
|
|
20846
21355
|
import { jsx as jsx96 } from "react/jsx-runtime";
|
|
20847
21356
|
function ResolveChainIcon(props) {
|
|
@@ -20865,6 +21374,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
20865
21374
|
const qc = useQueryClient23();
|
|
20866
21375
|
const { t } = useT();
|
|
20867
21376
|
const address = useSession((st) => st.address);
|
|
21377
|
+
const activeChainId = useSession((st) => st.activeChainId);
|
|
20868
21378
|
const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
|
|
20869
21379
|
const directWalletChainId = useExternalWalletStore((st) => st.externalChainId);
|
|
20870
21380
|
const { switchChainAsync } = useSwitchChain2();
|
|
@@ -20987,7 +21497,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
20987
21497
|
break;
|
|
20988
21498
|
}
|
|
20989
21499
|
}, [bridgeSender, originChain, directWalletChainId, switchChainAsync]);
|
|
20990
|
-
const embarkBalance = embarkTokenBalanace ? getAssetBalance(embarkTokenBalanace) : 0;
|
|
21500
|
+
const embarkBalance = CHAINS_UI_META[originChain].chainID === activeChainId && embarkTokenBalanace ? getAssetBalance(embarkTokenBalanace) : 0;
|
|
20991
21501
|
const externalWalletBalance = isSelectedTokenNative ? formatUnits8(externalNativeBalanceData?.value || BigInt(0), externalNativeBalanceData?.decimals || 18) : formatUnits8(externalBalanceData?.value || BigInt(0), externalBalanceData?.decimals || 18);
|
|
20992
21502
|
return {
|
|
20993
21503
|
routeTokenBalance: isEmbarkSender ? embarkBalance : externalWalletBalance,
|
|
@@ -21012,7 +21522,7 @@ var init_useBridgeBalance = __esm({
|
|
|
21012
21522
|
});
|
|
21013
21523
|
|
|
21014
21524
|
// src/internal/components/SendMenu/hyperbridge/steps/SelectStep.tsx
|
|
21015
|
-
import { ArrowLeftRightIcon, ArrowRightLeftIcon, LoaderIcon as
|
|
21525
|
+
import { ArrowLeftRightIcon, ArrowRightLeftIcon, LoaderIcon as LoaderIcon12, Wallet2Icon as Wallet2Icon2, XIcon } from "lucide-react";
|
|
21016
21526
|
import { Fragment as Fragment36 } from "react";
|
|
21017
21527
|
import { Fragment as Fragment37, jsx as jsx97, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
21018
21528
|
function SelectStep(props) {
|
|
@@ -21038,90 +21548,41 @@ function SelectStep(props) {
|
|
|
21038
21548
|
const SelectedWarpRoteIcon = TOKENS_ICONS[(selectedWarpRoute?.symbol || "null_icon").toUpperCase()] || TOKENS_ICONS.EMBARKAI;
|
|
21039
21549
|
const isError = useFlowSelectorStore((st) => !!st.error);
|
|
21040
21550
|
if (isLoadingWarpRoutes) {
|
|
21041
|
-
return /* @__PURE__ */ jsx97("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx97(
|
|
21551
|
+
return /* @__PURE__ */ jsx97("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx97(LoaderIcon12, { className: "w-4 h-4 animate-spin" }) });
|
|
21042
21552
|
}
|
|
21043
21553
|
const isBalanceInsufficient = !routeTokenBalance || Number(amount || 0) > Number(routeTokenBalance || 0);
|
|
21044
21554
|
const isFalsyAmount = !amount || !Number(amount) || Number(amount) <= 0;
|
|
21045
21555
|
const isQuoteEstimationDisabled = isQuoteEstimating || !hyperlaneWarpRoutes.length || !selectedSender || !originChain || !destinationChain || !hyperRoute || isFalsyAmount || isBalanceInsufficient;
|
|
21046
21556
|
return /* @__PURE__ */ jsxs90("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] items-center", children: [
|
|
21047
21557
|
/* @__PURE__ */ jsxs90("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21048
|
-
/* @__PURE__ */ jsx97(
|
|
21049
|
-
"div",
|
|
21050
|
-
{
|
|
21051
|
-
className: cn(
|
|
21052
|
-
"flex items-center justify-between gap-[var(--ui-kit-gap)]",
|
|
21053
|
-
"text-[10px] text-[var(--ui-kit-fg-muted)] leading-4"
|
|
21054
|
-
),
|
|
21055
|
-
children: /* @__PURE__ */ jsx97("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.sender") })
|
|
21056
|
-
}
|
|
21057
|
-
),
|
|
21058
|
-
/* @__PURE__ */ jsxs90(
|
|
21059
|
-
Button,
|
|
21060
|
-
{
|
|
21061
|
-
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21062
|
-
variant: "secondary",
|
|
21063
|
-
className: "w-full justify-between",
|
|
21064
|
-
onClick: () => {
|
|
21065
|
-
useFlowSelectorStore.getState().setError(null);
|
|
21066
|
-
useBridgeStore.getState().setBridgeStep("sender-selector");
|
|
21067
|
-
},
|
|
21068
|
-
children: [
|
|
21069
|
-
/* @__PURE__ */ jsxs90("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21070
|
-
selectedSender?.Icon && /* @__PURE__ */ jsx97(selectedSender.Icon, { className: "w-6 h-6" }),
|
|
21071
|
-
/* @__PURE__ */ jsx97("span", { children: selectedSender?.name || "N / A" })
|
|
21072
|
-
] }),
|
|
21073
|
-
selectedSender?.address && /* @__PURE__ */ jsxs90("span", { className: "block text-[10px] font-mono!", children: [
|
|
21074
|
-
selectedSender.address.slice(0, 6),
|
|
21075
|
-
"...",
|
|
21076
|
-
selectedSender.address.slice(-4)
|
|
21077
|
-
] })
|
|
21078
|
-
]
|
|
21079
|
-
}
|
|
21080
|
-
),
|
|
21081
|
-
/* @__PURE__ */ jsxs90("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] text-[10px]", children: [
|
|
21082
|
-
/* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.selectToken") }),
|
|
21083
|
-
/* @__PURE__ */ jsx97("span", { className: "w-4 h-4" }),
|
|
21084
|
-
/* @__PURE__ */ jsxs90("span", { className: "flex items-center gap-[var(--ui-kit-gap)] leading-4", children: [
|
|
21085
|
-
/* @__PURE__ */ jsxs90("span", { className: "text-[var(--ui-kit-fg-muted)]", children: [
|
|
21086
|
-
t("passport:common.balance"),
|
|
21087
|
-
": "
|
|
21088
|
-
] }),
|
|
21089
|
-
isRouteTokenBalanceLoading && /* @__PURE__ */ jsx97(LoaderIcon11, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" }),
|
|
21090
|
-
!isRouteTokenBalanceLoading && /* @__PURE__ */ jsxs90("span", { className: cn("font-semibold", { "text-[var(--ui-kit-bg-error)]": isBalanceInsufficient }), children: [
|
|
21091
|
-
formatPrice(Number(routeTokenBalance || 0)),
|
|
21092
|
-
" ",
|
|
21093
|
-
selectedWarpRoute?.symbol
|
|
21094
|
-
] })
|
|
21095
|
-
] })
|
|
21096
|
-
] }),
|
|
21097
21558
|
/* @__PURE__ */ jsxs90(
|
|
21098
|
-
|
|
21559
|
+
"div",
|
|
21099
21560
|
{
|
|
21100
|
-
|
|
21101
|
-
|
|
21102
|
-
className: "w-full justify-between",
|
|
21103
|
-
onClick: () => {
|
|
21104
|
-
useFlowSelectorStore.getState().setError(null);
|
|
21105
|
-
useBridgeStore.getState().setBridgeStep("select-token");
|
|
21106
|
-
},
|
|
21561
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-sender-wallet-selector" /* bridgeSenderWalletSelector */, inst),
|
|
21562
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
21107
21563
|
children: [
|
|
21108
|
-
|
|
21109
|
-
|
|
21110
|
-
|
|
21111
|
-
] }) : /* @__PURE__ */ jsxs90("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21112
|
-
/* @__PURE__ */ jsx97(ArrowLeftRightIcon, { className: "w-6 h-6" }),
|
|
21113
|
-
/* @__PURE__ */ jsx97("span", { children: hyperlaneWarpRoutes.length ? t("passport:bridgeMenu.labels.selectToken") : t("passport:bridgeMenu.errors.noWarpRoutes") })
|
|
21114
|
-
] }),
|
|
21115
|
-
!!selectedWarpRoute?.chainPair && /* @__PURE__ */ jsx97(
|
|
21116
|
-
Badge,
|
|
21564
|
+
/* @__PURE__ */ jsx97("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:bridgeMenu.labels.selectSender") }),
|
|
21565
|
+
/* @__PURE__ */ jsxs90(
|
|
21566
|
+
Button,
|
|
21117
21567
|
{
|
|
21118
|
-
|
|
21119
|
-
|
|
21120
|
-
className: "
|
|
21121
|
-
|
|
21122
|
-
|
|
21123
|
-
|
|
21124
|
-
|
|
21568
|
+
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21569
|
+
variant: "secondary",
|
|
21570
|
+
className: "w-full justify-between",
|
|
21571
|
+
onClick: () => {
|
|
21572
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21573
|
+
useBridgeStore.getState().setBridgeStep("sender-selector");
|
|
21574
|
+
},
|
|
21575
|
+
children: [
|
|
21576
|
+
/* @__PURE__ */ jsxs90("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21577
|
+
selectedSender?.Icon && /* @__PURE__ */ jsx97(selectedSender.Icon, { className: "w-6 h-6" }),
|
|
21578
|
+
/* @__PURE__ */ jsx97("span", { children: selectedSender?.name || "N / A" })
|
|
21579
|
+
] }),
|
|
21580
|
+
selectedSender?.address && /* @__PURE__ */ jsxs90("span", { className: "block text-[10px] font-mono!", children: [
|
|
21581
|
+
selectedSender.address.slice(0, 6),
|
|
21582
|
+
"...",
|
|
21583
|
+
selectedSender.address.slice(-4)
|
|
21584
|
+
] })
|
|
21585
|
+
]
|
|
21125
21586
|
}
|
|
21126
21587
|
)
|
|
21127
21588
|
]
|
|
@@ -21130,82 +21591,144 @@ function SelectStep(props) {
|
|
|
21130
21591
|
/* @__PURE__ */ jsxs90(
|
|
21131
21592
|
"div",
|
|
21132
21593
|
{
|
|
21133
|
-
|
|
21134
|
-
|
|
21135
|
-
"text-[10px] text-[var(--ui-kit-fg-muted)] leading-4"
|
|
21136
|
-
),
|
|
21594
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-asset-selector" /* bridgeCryptoAssetSelector */, inst),
|
|
21595
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
21137
21596
|
children: [
|
|
21138
|
-
/* @__PURE__ */
|
|
21139
|
-
|
|
21140
|
-
|
|
21141
|
-
|
|
21597
|
+
/* @__PURE__ */ jsxs90("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] text-[10px] leading-4", children: [
|
|
21598
|
+
/* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.selectToken") }),
|
|
21599
|
+
/* @__PURE__ */ jsxs90("span", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21600
|
+
/* @__PURE__ */ jsxs90("span", { className: "text-[var(--ui-kit-fg-muted)]", children: [
|
|
21601
|
+
t("passport:common.balance"),
|
|
21602
|
+
": "
|
|
21603
|
+
] }),
|
|
21604
|
+
isRouteTokenBalanceLoading && /* @__PURE__ */ jsx97(LoaderIcon12, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" }),
|
|
21605
|
+
!isRouteTokenBalanceLoading && /* @__PURE__ */ jsxs90("span", { className: cn("font-semibold", { "text-[var(--ui-kit-bg-error)]": isBalanceInsufficient }), children: [
|
|
21606
|
+
formatPrice(Number(routeTokenBalance || 0)),
|
|
21607
|
+
" ",
|
|
21608
|
+
selectedWarpRoute?.symbol
|
|
21609
|
+
] })
|
|
21610
|
+
] })
|
|
21611
|
+
] }),
|
|
21612
|
+
/* @__PURE__ */ jsxs90(
|
|
21613
|
+
Button,
|
|
21614
|
+
{
|
|
21615
|
+
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21616
|
+
variant: "secondary",
|
|
21617
|
+
className: "w-full justify-between",
|
|
21618
|
+
onClick: () => {
|
|
21619
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21620
|
+
useBridgeStore.getState().setBridgeStep("select-token");
|
|
21621
|
+
},
|
|
21622
|
+
children: [
|
|
21623
|
+
selectedWarpRoute ? /* @__PURE__ */ jsxs90("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21624
|
+
/* @__PURE__ */ jsx97(SelectedWarpRoteIcon, { className: "w-6 h-6" }),
|
|
21625
|
+
/* @__PURE__ */ jsx97("span", { children: selectedWarpRoute.symbol })
|
|
21626
|
+
] }) : /* @__PURE__ */ jsxs90("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21627
|
+
/* @__PURE__ */ jsx97(ArrowLeftRightIcon, { className: "w-6 h-6" }),
|
|
21628
|
+
/* @__PURE__ */ jsx97("span", { children: hyperlaneWarpRoutes.length ? t("passport:bridgeMenu.labels.selectToken") : t("passport:bridgeMenu.errors.noWarpRoutes") })
|
|
21629
|
+
] }),
|
|
21630
|
+
!!selectedWarpRoute?.chainPair && /* @__PURE__ */ jsx97(
|
|
21631
|
+
Badge,
|
|
21632
|
+
{
|
|
21633
|
+
variant: "outline",
|
|
21634
|
+
size: "medium",
|
|
21635
|
+
className: "bg-[var(--ui-kit-bg)] flex items-center gap-[var(--ui-kit-gap)]",
|
|
21636
|
+
children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ jsxs90(Fragment36, { children: [
|
|
21637
|
+
chIdx > 0 && /* @__PURE__ */ jsx97(ArrowLeftRightIcon, { className: "w-4 h-4 " }),
|
|
21638
|
+
/* @__PURE__ */ jsx97(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
|
|
21639
|
+
] }, `${selectedWarpRoute.id}-icon-${chain.chainID}-${chIdx}`))
|
|
21640
|
+
}
|
|
21641
|
+
)
|
|
21642
|
+
]
|
|
21643
|
+
}
|
|
21644
|
+
)
|
|
21645
|
+
]
|
|
21646
|
+
}
|
|
21142
21647
|
),
|
|
21143
|
-
/* @__PURE__ */ jsxs90(
|
|
21144
|
-
|
|
21145
|
-
/* @__PURE__ */ jsx97(ResolveChainIcon, { chainName: originChain, className: "w-6 h-6" }),
|
|
21146
|
-
/* @__PURE__ */ jsx97("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[originChain]?.chainLabel })
|
|
21147
|
-
] }) : /* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) }),
|
|
21148
|
-
/* @__PURE__ */ jsx97(
|
|
21149
|
-
Button,
|
|
21150
|
-
{
|
|
21151
|
-
size: "icon",
|
|
21152
|
-
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21153
|
-
variant: "ghost",
|
|
21154
|
-
onClick: swapChains,
|
|
21155
|
-
children: /* @__PURE__ */ jsx97(ArrowRightLeftIcon, { className: "w-4 h-4 " })
|
|
21156
|
-
}
|
|
21157
|
-
),
|
|
21158
|
-
/* @__PURE__ */ jsx97(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: destinationChain ? /* @__PURE__ */ jsxs90(Fragment37, { children: [
|
|
21159
|
-
/* @__PURE__ */ jsx97(ResolveChainIcon, { chainName: destinationChain, className: "w-6 h-6" }),
|
|
21160
|
-
/* @__PURE__ */ jsx97("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[destinationChain]?.chainLabel })
|
|
21161
|
-
] }) : /* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) })
|
|
21162
|
-
] }),
|
|
21163
|
-
/* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:common.amount") }),
|
|
21164
|
-
/* @__PURE__ */ jsx97(
|
|
21165
|
-
Input,
|
|
21648
|
+
/* @__PURE__ */ jsxs90(
|
|
21649
|
+
"div",
|
|
21166
21650
|
{
|
|
21167
|
-
|
|
21168
|
-
|
|
21169
|
-
|
|
21170
|
-
|
|
21171
|
-
|
|
21172
|
-
|
|
21173
|
-
|
|
21174
|
-
|
|
21175
|
-
|
|
21176
|
-
|
|
21177
|
-
|
|
21178
|
-
|
|
21179
|
-
|
|
21180
|
-
|
|
21181
|
-
useBridgeStore.getState().setAmount(value);
|
|
21651
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-chain-pair-swapper" /* bridgeChainPairSwapper */, inst),
|
|
21652
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
21653
|
+
children: [
|
|
21654
|
+
/* @__PURE__ */ jsxs90(
|
|
21655
|
+
"div",
|
|
21656
|
+
{
|
|
21657
|
+
className: cn(
|
|
21658
|
+
"flex items-center justify-between gap-[var(--ui-kit-gap)]",
|
|
21659
|
+
"text-[10px] text-[var(--ui-kit-fg-muted)] leading-4"
|
|
21660
|
+
),
|
|
21661
|
+
children: [
|
|
21662
|
+
/* @__PURE__ */ jsx97("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.fromChain") }),
|
|
21663
|
+
/* @__PURE__ */ jsx97("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.toChain") })
|
|
21664
|
+
]
|
|
21182
21665
|
}
|
|
21183
|
-
|
|
21184
|
-
|
|
21185
|
-
|
|
21186
|
-
|
|
21187
|
-
|
|
21188
|
-
|
|
21189
|
-
|
|
21190
|
-
|
|
21191
|
-
|
|
21192
|
-
|
|
21193
|
-
|
|
21194
|
-
|
|
21195
|
-
|
|
21666
|
+
),
|
|
21667
|
+
/* @__PURE__ */ jsxs90("div", { className: "w-full flex items-center justify-center", children: [
|
|
21668
|
+
/* @__PURE__ */ jsx97(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: originChain ? /* @__PURE__ */ jsxs90(Fragment37, { children: [
|
|
21669
|
+
/* @__PURE__ */ jsx97(ResolveChainIcon, { chainName: originChain, className: "w-6 h-6" }),
|
|
21670
|
+
/* @__PURE__ */ jsx97("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[originChain]?.chainLabel })
|
|
21671
|
+
] }) : /* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) }),
|
|
21672
|
+
/* @__PURE__ */ jsx97(
|
|
21673
|
+
Button,
|
|
21674
|
+
{
|
|
21675
|
+
size: "icon",
|
|
21676
|
+
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21677
|
+
variant: "ghost",
|
|
21678
|
+
onClick: swapChains,
|
|
21679
|
+
children: /* @__PURE__ */ jsx97(ArrowRightLeftIcon, { className: "w-4 h-4 " })
|
|
21680
|
+
}
|
|
21681
|
+
),
|
|
21682
|
+
/* @__PURE__ */ jsx97(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: destinationChain ? /* @__PURE__ */ jsxs90(Fragment37, { children: [
|
|
21683
|
+
/* @__PURE__ */ jsx97(ResolveChainIcon, { chainName: destinationChain, className: "w-6 h-6" }),
|
|
21684
|
+
/* @__PURE__ */ jsx97("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[destinationChain]?.chainLabel })
|
|
21685
|
+
] }) : /* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) })
|
|
21686
|
+
] })
|
|
21687
|
+
]
|
|
21196
21688
|
}
|
|
21197
21689
|
),
|
|
21198
21690
|
/* @__PURE__ */ jsxs90(
|
|
21199
21691
|
"div",
|
|
21200
21692
|
{
|
|
21201
|
-
|
|
21202
|
-
|
|
21203
|
-
"w-full flex flex-col",
|
|
21204
|
-
"text-[10px]",
|
|
21205
|
-
"gap-[var(--ui-kit-gap)] pb-[var(--ui-kit-pd)]"
|
|
21206
|
-
),
|
|
21693
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-amount-recipient-inputs" /* bridgeAmountRecipientInputs */, inst),
|
|
21694
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
21207
21695
|
children: [
|
|
21208
|
-
/* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:
|
|
21696
|
+
/* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)] text-[10px] leading-4", children: t("passport:common.amount") }),
|
|
21697
|
+
/* @__PURE__ */ jsx97(
|
|
21698
|
+
Input,
|
|
21699
|
+
{
|
|
21700
|
+
type: "text",
|
|
21701
|
+
disabled: isQuoteEstimating || !originChain || !destinationChain || !hyperRoute,
|
|
21702
|
+
placeholder: t("passport:common.amount"),
|
|
21703
|
+
onChange: (e) => {
|
|
21704
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21705
|
+
let { value } = e.target;
|
|
21706
|
+
const regex = /^(0|[1-9]\d*)(\.\d{0,5})?$/;
|
|
21707
|
+
if (value.length > 1 && value.startsWith("0") && !value.startsWith("0.")) {
|
|
21708
|
+
value = value.slice(1);
|
|
21709
|
+
}
|
|
21710
|
+
if (regex.test(value) || value === "") {
|
|
21711
|
+
if (value === "") {
|
|
21712
|
+
useBridgeStore.getState().setAmount("0");
|
|
21713
|
+
} else {
|
|
21714
|
+
useBridgeStore.getState().setAmount(value);
|
|
21715
|
+
}
|
|
21716
|
+
}
|
|
21717
|
+
},
|
|
21718
|
+
value: amount,
|
|
21719
|
+
element: /* @__PURE__ */ jsx97(
|
|
21720
|
+
Button,
|
|
21721
|
+
{
|
|
21722
|
+
size: "small",
|
|
21723
|
+
variant: "ghost",
|
|
21724
|
+
disabled: isBalanceInsufficient,
|
|
21725
|
+
onClick: () => useBridgeStore.getState().setAmount(Number(routeTokenBalance || 0).toString()),
|
|
21726
|
+
children: String(t("passport:common.max")).toUpperCase()
|
|
21727
|
+
}
|
|
21728
|
+
)
|
|
21729
|
+
}
|
|
21730
|
+
),
|
|
21731
|
+
/* @__PURE__ */ jsx97("span", { className: "text-[var(--ui-kit-fg-muted)] text-[10px] leading-4", children: t("passport:bridgeMenu.labels.optionalRecipient") }),
|
|
21209
21732
|
/* @__PURE__ */ jsx97(
|
|
21210
21733
|
Input,
|
|
21211
21734
|
{
|
|
@@ -21240,13 +21763,14 @@ function SelectStep(props) {
|
|
|
21240
21763
|
!isError && /* @__PURE__ */ jsxs90(
|
|
21241
21764
|
Button,
|
|
21242
21765
|
{
|
|
21766
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-estimate-quote-button" /* bridgeEstimateQuoteButton */, inst),
|
|
21243
21767
|
size: "large",
|
|
21244
21768
|
variant: "default",
|
|
21245
21769
|
className: "w-full",
|
|
21246
21770
|
onClick: () => handleQuoteEstimation(amount),
|
|
21247
21771
|
disabled: isQuoteEstimationDisabled,
|
|
21248
21772
|
children: [
|
|
21249
|
-
isQuoteEstimating && /* @__PURE__ */ jsx97(
|
|
21773
|
+
isQuoteEstimating && /* @__PURE__ */ jsx97(LoaderIcon12, { className: "h-4 w-4 animate-spin" }),
|
|
21250
21774
|
/* @__PURE__ */ jsx97("span", { children: isBalanceInsufficient ? t("passport:bridgeMenu.statuses.balanceInsufficient").toUpperCase() : t("passport:bridgeMenu.actions.estimateQuote").toUpperCase() })
|
|
21251
21775
|
]
|
|
21252
21776
|
}
|
|
@@ -21259,6 +21783,7 @@ var init_SelectStep = __esm({
|
|
|
21259
21783
|
init_i18n();
|
|
21260
21784
|
init_priceFormatter();
|
|
21261
21785
|
init_utils2();
|
|
21786
|
+
init_Onboarding();
|
|
21262
21787
|
init_badge();
|
|
21263
21788
|
init_button();
|
|
21264
21789
|
init_input();
|
|
@@ -21301,12 +21826,12 @@ var init_checkbox = __esm({
|
|
|
21301
21826
|
});
|
|
21302
21827
|
|
|
21303
21828
|
// src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx
|
|
21304
|
-
import { LoaderIcon as
|
|
21305
|
-
import { useState as
|
|
21829
|
+
import { LoaderIcon as LoaderIcon13 } from "lucide-react";
|
|
21830
|
+
import { useState as useState23 } from "react";
|
|
21306
21831
|
import { jsx as jsx99, jsxs as jsxs91 } from "react/jsx-runtime";
|
|
21307
21832
|
function ConfirmStep(props) {
|
|
21308
21833
|
const { isAssetBridging, bridgeAsset, hyperlaneWarpRoutes } = props;
|
|
21309
|
-
const [userConsent, setUserConsent] =
|
|
21834
|
+
const [userConsent, setUserConsent] = useState23(false);
|
|
21310
21835
|
const { t } = useT();
|
|
21311
21836
|
const address = useSession((st) => st.address);
|
|
21312
21837
|
const bridgeSender = useBridgeStore((st) => st.bridgeSenders.find((s) => s.type === st.bridgeSender));
|
|
@@ -21323,97 +21848,104 @@ function ConfirmStep(props) {
|
|
|
21323
21848
|
return routeId === hyperRoute && chainPairNames.includes(originChain) && chainPairNames.includes(destinationChain);
|
|
21324
21849
|
});
|
|
21325
21850
|
const isConfirmationDisabled = !quote || isAssetBridging || !userConsent;
|
|
21326
|
-
return /* @__PURE__ */ jsxs91(
|
|
21327
|
-
|
|
21328
|
-
|
|
21329
|
-
|
|
21330
|
-
|
|
21331
|
-
|
|
21332
|
-
|
|
21333
|
-
|
|
21334
|
-
|
|
21335
|
-
|
|
21336
|
-
|
|
21337
|
-
|
|
21338
|
-
|
|
21339
|
-
|
|
21340
|
-
|
|
21341
|
-
|
|
21342
|
-
|
|
21343
|
-
|
|
21344
|
-
|
|
21345
|
-
|
|
21346
|
-
|
|
21347
|
-
|
|
21348
|
-
|
|
21349
|
-
|
|
21350
|
-
|
|
21351
|
-
|
|
21352
|
-
|
|
21353
|
-
|
|
21354
|
-
quote.
|
|
21355
|
-
|
|
21356
|
-
|
|
21357
|
-
|
|
21358
|
-
|
|
21359
|
-
|
|
21360
|
-
|
|
21361
|
-
|
|
21362
|
-
|
|
21363
|
-
|
|
21364
|
-
quote.
|
|
21851
|
+
return /* @__PURE__ */ jsxs91(
|
|
21852
|
+
"div",
|
|
21853
|
+
{
|
|
21854
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-estimate-details-menu" /* bridgeEstimatedQuoteMenu */, inst),
|
|
21855
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)] w-full",
|
|
21856
|
+
children: [
|
|
21857
|
+
/* @__PURE__ */ jsxs91(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
|
|
21858
|
+
/* @__PURE__ */ jsxs91("p", { className: P_CN, children: [
|
|
21859
|
+
/* @__PURE__ */ jsx99("span", { children: t("passport:common.asset") }),
|
|
21860
|
+
/* @__PURE__ */ jsx99("strong", { children: selectedWarpRoute.symbol })
|
|
21861
|
+
] }),
|
|
21862
|
+
/* @__PURE__ */ jsxs91("p", { className: P_CN, children: [
|
|
21863
|
+
/* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.sender") }),
|
|
21864
|
+
/* @__PURE__ */ jsx99("strong", { children: bridgeSender.name + " (" + (bridgeSender?.address || "").slice(0, 6) + "..." + (bridgeSender?.address || "").slice(-4) + ")" })
|
|
21865
|
+
] }),
|
|
21866
|
+
/* @__PURE__ */ jsxs91("p", { className: P_CN, children: [
|
|
21867
|
+
/* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.labels.fromChain") }),
|
|
21868
|
+
/* @__PURE__ */ jsx99("strong", { children: CHAINS_UI_META[originChain].chainLabel })
|
|
21869
|
+
] }),
|
|
21870
|
+
/* @__PURE__ */ jsxs91("p", { className: P_CN, children: [
|
|
21871
|
+
/* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.labels.toChain") }),
|
|
21872
|
+
/* @__PURE__ */ jsx99("strong", { children: CHAINS_UI_META[destinationChain].chainLabel })
|
|
21873
|
+
] }),
|
|
21874
|
+
/* @__PURE__ */ jsxs91("p", { className: P_CN, children: [
|
|
21875
|
+
/* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.amount") }),
|
|
21876
|
+
/* @__PURE__ */ jsx99("strong", { children: formatPrice(Number(quote.amount)) })
|
|
21877
|
+
] }),
|
|
21878
|
+
/* @__PURE__ */ jsxs91("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
21879
|
+
/* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.igpFee") }),
|
|
21880
|
+
/* @__PURE__ */ jsxs91("strong", { children: [
|
|
21881
|
+
/* @__PURE__ */ jsx99("span", { children: formatPrice(Number(quote.igpFee)) }),
|
|
21882
|
+
/* @__PURE__ */ jsxs91("span", { children: [
|
|
21883
|
+
" ",
|
|
21884
|
+
quote.igpSymbol
|
|
21885
|
+
] })
|
|
21886
|
+
] })
|
|
21887
|
+
] }),
|
|
21888
|
+
/* @__PURE__ */ jsxs91("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
21889
|
+
/* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.localFee") }),
|
|
21890
|
+
/* @__PURE__ */ jsxs91("strong", { children: [
|
|
21891
|
+
/* @__PURE__ */ jsx99("span", { children: formatPrice(Number(quote.localFee)) }),
|
|
21892
|
+
/* @__PURE__ */ jsxs91("span", { children: [
|
|
21893
|
+
" ",
|
|
21894
|
+
quote.localSymbol
|
|
21895
|
+
] })
|
|
21896
|
+
] })
|
|
21897
|
+
] }),
|
|
21898
|
+
quote.tokenFee && /* @__PURE__ */ jsxs91("p", { className: P_CN, children: [
|
|
21899
|
+
/* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.tokenFee") }),
|
|
21900
|
+
/* @__PURE__ */ jsx99("strong", { children: formatPrice(Number(quote.tokenFee)) })
|
|
21365
21901
|
] })
|
|
21366
|
-
] })
|
|
21367
|
-
|
|
21368
|
-
|
|
21369
|
-
|
|
21370
|
-
|
|
21371
|
-
|
|
21372
|
-
|
|
21373
|
-
|
|
21374
|
-
|
|
21375
|
-
|
|
21376
|
-
|
|
21377
|
-
|
|
21378
|
-
|
|
21379
|
-
|
|
21380
|
-
"px-[var(--ui-kit-pd)]",
|
|
21381
|
-
"bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)]",
|
|
21382
|
-
"rounded-[var(--ui-kit-el-bdrs)]"
|
|
21902
|
+
] }),
|
|
21903
|
+
/* @__PURE__ */ jsxs91(Highlight, { type: "warning", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
|
|
21904
|
+
/* @__PURE__ */ jsx99("strong", { className: "text-xs", children: t("passport:bridgeMenu.quote.recipient") }),
|
|
21905
|
+
/* @__PURE__ */ jsx99(
|
|
21906
|
+
"span",
|
|
21907
|
+
{
|
|
21908
|
+
className: cn(
|
|
21909
|
+
"w-full flex items-center justify-center h-8",
|
|
21910
|
+
"px-[var(--ui-kit-pd)]",
|
|
21911
|
+
"bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)]",
|
|
21912
|
+
"rounded-[var(--ui-kit-el-bdrs)]"
|
|
21913
|
+
),
|
|
21914
|
+
children: (recipient || address).slice(0, 10) + "..." + (recipient || address).slice(-8)
|
|
21915
|
+
}
|
|
21383
21916
|
),
|
|
21384
|
-
|
|
21385
|
-
|
|
21386
|
-
|
|
21387
|
-
|
|
21388
|
-
|
|
21389
|
-
|
|
21390
|
-
|
|
21391
|
-
|
|
21392
|
-
|
|
21393
|
-
|
|
21394
|
-
|
|
21395
|
-
|
|
21396
|
-
|
|
21397
|
-
|
|
21398
|
-
|
|
21399
|
-
|
|
21400
|
-
|
|
21401
|
-
|
|
21402
|
-
|
|
21403
|
-
|
|
21404
|
-
|
|
21405
|
-
|
|
21406
|
-
|
|
21407
|
-
|
|
21408
|
-
|
|
21409
|
-
|
|
21410
|
-
|
|
21411
|
-
|
|
21412
|
-
|
|
21413
|
-
|
|
21414
|
-
|
|
21415
|
-
|
|
21416
|
-
] });
|
|
21917
|
+
/* @__PURE__ */ jsx99("strong", { className: "text-xs", children: t("passport:bridgeMenu.consent.recipient", {
|
|
21918
|
+
address: (recipient || address).slice(0, 6) + "..." + (recipient || address).slice(-4),
|
|
21919
|
+
destinationChain: CHAINS_UI_META[destinationChain].chainLabel,
|
|
21920
|
+
asset: selectedWarpRoute.symbol
|
|
21921
|
+
}) }),
|
|
21922
|
+
/* @__PURE__ */ jsx99("strong", { className: "text-xs text-[var(--ui-kit-bg-error)]", children: t("passport:bridgeMenu.consent.lostFunds") }),
|
|
21923
|
+
/* @__PURE__ */ jsxs91("label", { className: "flex items-center gap-[var(--ui-kit-gap)] text-xs cursor-pointer", children: [
|
|
21924
|
+
/* @__PURE__ */ jsx99(Checkbox, { checked: userConsent, onCheckedChange: () => setUserConsent((prev) => !prev) }),
|
|
21925
|
+
/* @__PURE__ */ jsx99("strong", { children: t("passport:bridgeMenu.actions.confirmBridge", {
|
|
21926
|
+
amount: quote.amount,
|
|
21927
|
+
asset: selectedWarpRoute.symbol,
|
|
21928
|
+
destinationChain: CHAINS_UI_META[destinationChain].chainLabel
|
|
21929
|
+
}) })
|
|
21930
|
+
] })
|
|
21931
|
+
] }),
|
|
21932
|
+
!isError && /* @__PURE__ */ jsxs91(
|
|
21933
|
+
Button,
|
|
21934
|
+
{
|
|
21935
|
+
size: "large",
|
|
21936
|
+
variant: "default",
|
|
21937
|
+
disabled: isConfirmationDisabled,
|
|
21938
|
+
onClick: () => bridgeAsset(),
|
|
21939
|
+
className: "w-full",
|
|
21940
|
+
children: [
|
|
21941
|
+
isAssetBridging && /* @__PURE__ */ jsx99(LoaderIcon13, { className: "h-4 w-4 animate-spin" }),
|
|
21942
|
+
/* @__PURE__ */ jsx99("span", { children: (bridgeTxStatus || t("passport:common.continue")).toUpperCase() })
|
|
21943
|
+
]
|
|
21944
|
+
}
|
|
21945
|
+
)
|
|
21946
|
+
]
|
|
21947
|
+
}
|
|
21948
|
+
);
|
|
21417
21949
|
}
|
|
21418
21950
|
var P_CN;
|
|
21419
21951
|
var init_ConfirmStep = __esm({
|
|
@@ -21422,6 +21954,7 @@ var init_ConfirmStep = __esm({
|
|
|
21422
21954
|
init_i18n();
|
|
21423
21955
|
init_priceFormatter();
|
|
21424
21956
|
init_utils2();
|
|
21957
|
+
init_Onboarding();
|
|
21425
21958
|
init_button();
|
|
21426
21959
|
init_checkbox();
|
|
21427
21960
|
init_highlight();
|
|
@@ -21525,7 +22058,7 @@ var init_SuccessStep = __esm({
|
|
|
21525
22058
|
// src/internal/components/SendMenu/hyperbridge/steps/HistoryStep.tsx
|
|
21526
22059
|
import { useQueryClient as useQueryClient24 } from "@tanstack/react-query";
|
|
21527
22060
|
import dayjs7 from "dayjs";
|
|
21528
|
-
import { ArrowRightIcon, DownloadIcon as DownloadIcon2, ExternalLinkIcon as ExternalLinkIcon3, InfoIcon as
|
|
22061
|
+
import { ArrowRightIcon, DownloadIcon as DownloadIcon2, ExternalLinkIcon as ExternalLinkIcon3, InfoIcon as InfoIcon5, LoaderIcon as LoaderIcon14 } from "lucide-react";
|
|
21529
22062
|
import { jsx as jsx101, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
21530
22063
|
function HistoryDetailsStep() {
|
|
21531
22064
|
const { t } = useT();
|
|
@@ -21732,7 +22265,7 @@ function HistoryItem(props) {
|
|
|
21732
22265
|
setBridgeStep("tx-history-details");
|
|
21733
22266
|
},
|
|
21734
22267
|
children: [
|
|
21735
|
-
/* @__PURE__ */ jsx101(
|
|
22268
|
+
/* @__PURE__ */ jsx101(InfoIcon5, { className: "w-4 h-4" }),
|
|
21736
22269
|
/* @__PURE__ */ jsx101("span", { className: "text-xs leading-5", children: t("passport:common.details") })
|
|
21737
22270
|
]
|
|
21738
22271
|
}
|
|
@@ -21751,7 +22284,7 @@ function HistoryStep() {
|
|
|
21751
22284
|
return /* @__PURE__ */ jsx101(Highlight, { type: "info", className: "w-full text-center text-[10px] text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:bridgeMenu.errors.noHistory") });
|
|
21752
22285
|
}
|
|
21753
22286
|
return /* @__PURE__ */ jsxs93("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21754
|
-
isLoading && /* @__PURE__ */ jsx101("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx101(
|
|
22287
|
+
isLoading && /* @__PURE__ */ jsx101("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx101(LoaderIcon14, { className: "w-4 h-4 animate-spin" }) }),
|
|
21755
22288
|
!isLoading && txList.map((item) => /* @__PURE__ */ jsx101(HistoryItem, { ...item }, item.id)),
|
|
21756
22289
|
hasNextPage && /* @__PURE__ */ jsxs93(
|
|
21757
22290
|
Button,
|
|
@@ -21762,7 +22295,7 @@ function HistoryStep() {
|
|
|
21762
22295
|
className: "w-full",
|
|
21763
22296
|
onClick: () => fetchNextPage(),
|
|
21764
22297
|
children: [
|
|
21765
|
-
isTxDataFetching ? /* @__PURE__ */ jsx101(
|
|
22298
|
+
isTxDataFetching ? /* @__PURE__ */ jsx101(LoaderIcon14, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx101(DownloadIcon2, { className: "w-4 h-4" }),
|
|
21766
22299
|
t("passport:common.loadMore")
|
|
21767
22300
|
]
|
|
21768
22301
|
}
|
|
@@ -21791,12 +22324,11 @@ var init_HistoryStep = __esm({
|
|
|
21791
22324
|
|
|
21792
22325
|
// src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx
|
|
21793
22326
|
import { ArrowLeftRightIcon as ArrowLeftRightIcon2 } from "lucide-react";
|
|
21794
|
-
import { useMemo as useMemo13
|
|
21795
|
-
import {
|
|
22327
|
+
import { useMemo as useMemo13 } from "react";
|
|
22328
|
+
import { jsx as jsx102, jsxs as jsxs94 } from "react/jsx-runtime";
|
|
21796
22329
|
function SelectAssetRoute(props) {
|
|
21797
22330
|
const { hyperlaneWarpRoutes } = props;
|
|
21798
22331
|
const { t } = useT();
|
|
21799
|
-
const [isTokenSymbolSelector, setIsTokenSymbolSelector] = useState23(false);
|
|
21800
22332
|
const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
|
|
21801
22333
|
const tokenList = useMemo13(() => {
|
|
21802
22334
|
const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
|
|
@@ -21806,47 +22338,30 @@ function SelectAssetRoute(props) {
|
|
|
21806
22338
|
Icon: TOKENS_ICONS[symbol.toUpperCase()] || TOKENS_ICONS.EMBARKAI
|
|
21807
22339
|
}));
|
|
21808
22340
|
}, [hyperlaneWarpRoutes]);
|
|
21809
|
-
if (isTokenSymbolSelector) {
|
|
21810
|
-
return /* @__PURE__ */ jsx102("div", { className: "w-full grid grid-cols-1 gap-[var(--ui-kit-gap)]", children: tokenList.map((asset, assetIdx) => /* @__PURE__ */ jsxs94(
|
|
21811
|
-
Button,
|
|
21812
|
-
{
|
|
21813
|
-
variant: selectedAssetSymbol === asset.symbol ? "default" : "outline",
|
|
21814
|
-
className: "w-full justify-start",
|
|
21815
|
-
onClick: () => {
|
|
21816
|
-
useBridgeStore.getState().setBridgeAssetSymbol(asset.symbol);
|
|
21817
|
-
setIsTokenSymbolSelector(false);
|
|
21818
|
-
useFlowSelectorStore.getState().setRenderKey(`hyperlane-route-token-${asset.symbol}-${Date.now()}`);
|
|
21819
|
-
},
|
|
21820
|
-
children: [
|
|
21821
|
-
/* @__PURE__ */ jsx102(asset.Icon, { className: "w-6 h-6" }),
|
|
21822
|
-
asset.symbol
|
|
21823
|
-
]
|
|
21824
|
-
},
|
|
21825
|
-
`hyperlane-route-token-${asset.symbol}-${assetIdx}`
|
|
21826
|
-
)) });
|
|
21827
|
-
}
|
|
21828
|
-
const selectedAsset = tokenList.find((t2) => t2.symbol === selectedAssetSymbol);
|
|
21829
22341
|
const availableChainPairs = hyperlaneWarpRoutes.filter((route) => route.symbol.toUpperCase() === selectedAssetSymbol).map((route) => route.chainPair);
|
|
21830
22342
|
return /* @__PURE__ */ jsxs94("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21831
|
-
/* @__PURE__ */
|
|
21832
|
-
|
|
21833
|
-
|
|
21834
|
-
|
|
21835
|
-
|
|
21836
|
-
|
|
21837
|
-
|
|
21838
|
-
|
|
21839
|
-
|
|
22343
|
+
/* @__PURE__ */ jsxs94("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22344
|
+
/* @__PURE__ */ jsx102("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.selectToken") }),
|
|
22345
|
+
/* @__PURE__ */ jsx102("div", { className: "w-full grid grid-cols-2 gap-[var(--ui-kit-gap)]", children: tokenList.map((asset, assetIdx) => /* @__PURE__ */ jsxs94(
|
|
22346
|
+
Button,
|
|
22347
|
+
{
|
|
22348
|
+
variant: selectedAssetSymbol === asset.symbol ? "default" : "outline",
|
|
22349
|
+
className: "w-full justify-start",
|
|
22350
|
+
onClick: () => {
|
|
22351
|
+
useBridgeStore.getState().setBridgeAssetSymbol(asset.symbol);
|
|
22352
|
+
useFlowSelectorStore.getState().setRenderKey(`hyperlane-route-token-${asset.symbol}-${Date.now()}`);
|
|
22353
|
+
},
|
|
22354
|
+
children: [
|
|
22355
|
+
/* @__PURE__ */ jsx102(asset.Icon, { className: "w-6 h-6" }),
|
|
22356
|
+
asset.symbol
|
|
22357
|
+
]
|
|
21840
22358
|
},
|
|
21841
|
-
|
|
21842
|
-
|
|
21843
|
-
|
|
21844
|
-
|
|
21845
|
-
}
|
|
21846
|
-
),
|
|
21847
|
-
availableChainPairs.length > 0 && /* @__PURE__ */ jsxs94(Fragment38, { children: [
|
|
22359
|
+
`hyperlane-route-token-${asset.symbol}-${assetIdx}`
|
|
22360
|
+
)) })
|
|
22361
|
+
] }),
|
|
22362
|
+
availableChainPairs.length > 0 && /* @__PURE__ */ jsxs94("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21848
22363
|
/* @__PURE__ */ jsx102("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.availableChainPairs") }),
|
|
21849
|
-
|
|
22364
|
+
availableChainPairs.map(([fromChain, toChain]) => /* @__PURE__ */ jsxs94(
|
|
21850
22365
|
Button,
|
|
21851
22366
|
{
|
|
21852
22367
|
variant: "secondary",
|
|
@@ -21891,7 +22406,7 @@ function SelectAssetRoute(props) {
|
|
|
21891
22406
|
]
|
|
21892
22407
|
},
|
|
21893
22408
|
`hyperlane-route-chain-pair-${fromChain.chainName}-${toChain.chainName}`
|
|
21894
|
-
))
|
|
22409
|
+
))
|
|
21895
22410
|
] })
|
|
21896
22411
|
] });
|
|
21897
22412
|
}
|
|
@@ -21920,7 +22435,7 @@ var init_steps = __esm({
|
|
|
21920
22435
|
|
|
21921
22436
|
// src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx
|
|
21922
22437
|
import { useEffect as useEffect43 } from "react";
|
|
21923
|
-
import {
|
|
22438
|
+
import { jsx as jsx103, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
21924
22439
|
function HyperlaneBridge() {
|
|
21925
22440
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
21926
22441
|
const { swapDirection, handleQuoteEstimation, bridgeAsset, isAssetBridging } = useBridge();
|
|
@@ -21932,7 +22447,7 @@ function HyperlaneBridge() {
|
|
|
21932
22447
|
useBridgeStore.getState().resetSelections();
|
|
21933
22448
|
};
|
|
21934
22449
|
}, []);
|
|
21935
|
-
return /* @__PURE__ */ jsxs95(
|
|
22450
|
+
return /* @__PURE__ */ jsxs95("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21936
22451
|
bridgeStep === "sender-selector" && /* @__PURE__ */ jsx103(SenderSelector, { directWalletProfile }),
|
|
21937
22452
|
bridgeStep === "select" && /* @__PURE__ */ jsx103(
|
|
21938
22453
|
SelectStep,
|
|
@@ -21973,14 +22488,14 @@ var init_HyperlaneBridge = __esm({
|
|
|
21973
22488
|
});
|
|
21974
22489
|
|
|
21975
22490
|
// src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx
|
|
21976
|
-
import { useRef as
|
|
22491
|
+
import { useRef as useRef19 } from "react";
|
|
21977
22492
|
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
21978
22493
|
function BridgeHistorySwitch(props) {
|
|
21979
22494
|
const { disabled } = props;
|
|
21980
22495
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
21981
22496
|
const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
|
|
21982
22497
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
21983
|
-
const lastBridgeStepRef =
|
|
22498
|
+
const lastBridgeStepRef = useRef19(null);
|
|
21984
22499
|
if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
|
|
21985
22500
|
return null;
|
|
21986
22501
|
}
|
|
@@ -22452,48 +22967,9 @@ var init_NftDisplayCard = __esm({
|
|
|
22452
22967
|
}
|
|
22453
22968
|
});
|
|
22454
22969
|
|
|
22455
|
-
// src/internal/components/SendMenu/send/useSendStore.ts
|
|
22456
|
-
import { create as create15 } from "zustand";
|
|
22457
|
-
var useSendStore;
|
|
22458
|
-
var init_useSendStore = __esm({
|
|
22459
|
-
"src/internal/components/SendMenu/send/useSendStore.ts"() {
|
|
22460
|
-
init_useFlowSelector();
|
|
22461
|
-
useSendStore = create15((set) => ({
|
|
22462
|
-
recipient: "",
|
|
22463
|
-
//
|
|
22464
|
-
amount: "",
|
|
22465
|
-
selectedAsset: null,
|
|
22466
|
-
//
|
|
22467
|
-
txStep: "input",
|
|
22468
|
-
//
|
|
22469
|
-
// sendError: null,
|
|
22470
|
-
//
|
|
22471
|
-
setRecipient: (recipient) => {
|
|
22472
|
-
useFlowSelectorStore.getState().setError(null);
|
|
22473
|
-
set({ recipient });
|
|
22474
|
-
},
|
|
22475
|
-
//
|
|
22476
|
-
setAmount: (amount) => {
|
|
22477
|
-
useFlowSelectorStore.getState().setError(null);
|
|
22478
|
-
set({ amount });
|
|
22479
|
-
},
|
|
22480
|
-
setSelectedAsset: (selectedAsset) => {
|
|
22481
|
-
useFlowSelectorStore.getState().setError(null);
|
|
22482
|
-
set({ selectedAsset });
|
|
22483
|
-
},
|
|
22484
|
-
//
|
|
22485
|
-
setTxStep: (txStep) => {
|
|
22486
|
-
useFlowSelectorStore.getState().setError(null);
|
|
22487
|
-
useFlowSelectorStore.getState().setRenderKey(`send-${txStep}-${Date.now()}`);
|
|
22488
|
-
set({ txStep });
|
|
22489
|
-
}
|
|
22490
|
-
}));
|
|
22491
|
-
}
|
|
22492
|
-
});
|
|
22493
|
-
|
|
22494
22970
|
// src/internal/components/SendMenu/send/components/AssetList.tsx
|
|
22495
22971
|
import { formatUnits as formatUnits10 } from "viem";
|
|
22496
|
-
import { Fragment as
|
|
22972
|
+
import { Fragment as Fragment38, jsx as jsx107, jsxs as jsxs98 } from "react/jsx-runtime";
|
|
22497
22973
|
function getAssetBalance3(asset) {
|
|
22498
22974
|
if (isNftAsset3(asset)) return "1";
|
|
22499
22975
|
const balance = Number(formatUnits10(BigInt(asset?.balance || "0"), asset?.decimals || 18));
|
|
@@ -22530,13 +23006,13 @@ function AssetListItem(props) {
|
|
|
22530
23006
|
" \xB7 ",
|
|
22531
23007
|
truncateMiddle(asset.address, 6, 4)
|
|
22532
23008
|
] }),
|
|
22533
|
-
/* @__PURE__ */ jsx107("span", { className: "block text-lg font-bold", children: isNft ? /* @__PURE__ */ jsxs98(
|
|
23009
|
+
/* @__PURE__ */ jsx107("span", { className: "block text-lg font-bold", children: isNft ? /* @__PURE__ */ jsxs98(Fragment38, { children: [
|
|
22534
23010
|
asset.symbol,
|
|
22535
23011
|
asset.tokenId && /* @__PURE__ */ jsxs98("span", { className: "ml-1", children: [
|
|
22536
23012
|
"#",
|
|
22537
23013
|
asset.tokenId.length > 6 ? `${asset.tokenId.slice(0, 4)}...` : asset.tokenId
|
|
22538
23014
|
] })
|
|
22539
|
-
] }) : /* @__PURE__ */ jsxs98(
|
|
23015
|
+
] }) : /* @__PURE__ */ jsxs98(Fragment38, { children: [
|
|
22540
23016
|
BALANCE_PREFIXES[asset.symbol] || null,
|
|
22541
23017
|
/* @__PURE__ */ jsx107("span", { children: getAssetBalance3(asset) }),
|
|
22542
23018
|
" ",
|
|
@@ -22561,20 +23037,20 @@ function AssetList(props) {
|
|
|
22561
23037
|
const tokenAssets = transferableAssets.filter((a) => a.type === "erc20");
|
|
22562
23038
|
const securityAssets = transferableAssets.filter((a) => a.type === "erc3643");
|
|
22563
23039
|
const nftAssets = transferableAssets.filter((a) => a.type === "erc721" || a.type === "erc1155");
|
|
22564
|
-
return /* @__PURE__ */ jsxs98(
|
|
22565
|
-
nativeAssets.length > 0 && /* @__PURE__ */ jsxs98(
|
|
23040
|
+
return /* @__PURE__ */ jsxs98(Fragment38, { children: [
|
|
23041
|
+
nativeAssets.length > 0 && /* @__PURE__ */ jsxs98(Fragment38, { children: [
|
|
22566
23042
|
/* @__PURE__ */ jsx107("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Crypto" }),
|
|
22567
23043
|
nativeAssets.map((asset) => /* @__PURE__ */ jsx107(AssetListItem, { asset }, `native-${asset.symbol}`))
|
|
22568
23044
|
] }),
|
|
22569
|
-
tokenAssets.length > 0 && /* @__PURE__ */ jsxs98(
|
|
23045
|
+
tokenAssets.length > 0 && /* @__PURE__ */ jsxs98(Fragment38, { children: [
|
|
22570
23046
|
/* @__PURE__ */ jsx107("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Tokens" }),
|
|
22571
23047
|
tokenAssets.map((asset) => /* @__PURE__ */ jsx107(AssetListItem, { asset }, `token-${asset.address}`))
|
|
22572
23048
|
] }),
|
|
22573
|
-
securityAssets.length > 0 && /* @__PURE__ */ jsxs98(
|
|
23049
|
+
securityAssets.length > 0 && /* @__PURE__ */ jsxs98(Fragment38, { children: [
|
|
22574
23050
|
/* @__PURE__ */ jsx107("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Security Tokens" }),
|
|
22575
23051
|
securityAssets.map((asset) => /* @__PURE__ */ jsx107(AssetListItem, { asset }, `security-${asset.address}`))
|
|
22576
23052
|
] }),
|
|
22577
|
-
nftAssets.length > 0 && /* @__PURE__ */ jsxs98(
|
|
23053
|
+
nftAssets.length > 0 && /* @__PURE__ */ jsxs98(Fragment38, { children: [
|
|
22578
23054
|
/* @__PURE__ */ jsx107("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "NFTs" }),
|
|
22579
23055
|
nftAssets.map((asset) => /* @__PURE__ */ jsx107(AssetListItem, { asset }, `nft-${asset.address}-${asset.tokenId}`))
|
|
22580
23056
|
] }),
|
|
@@ -22775,7 +23251,7 @@ var init_useTokenBalance = __esm({
|
|
|
22775
23251
|
// src/internal/components/SendMenu/send/sendSteps/InputSendStep.tsx
|
|
22776
23252
|
import { AlertCircle as AlertCircle4, AtSign as AtSign2, CheckCircle2 as CheckCircle25, Loader as Loader20, Wallet2 as Wallet24 } from "lucide-react";
|
|
22777
23253
|
import { formatUnits as formatUnits12, isAddress as isAddress2 } from "viem";
|
|
22778
|
-
import { Fragment as
|
|
23254
|
+
import { Fragment as Fragment39, jsx as jsx109, jsxs as jsxs100 } from "react/jsx-runtime";
|
|
22779
23255
|
function InputSendStep(props) {
|
|
22780
23256
|
const { erc3643Compliance, isNicknameInput, resolvedNicknameData, isAssetsLoading } = props;
|
|
22781
23257
|
const address = useSession((st) => st.address);
|
|
@@ -22874,7 +23350,7 @@ function InputSendStep(props) {
|
|
|
22874
23350
|
setError(null);
|
|
22875
23351
|
return true;
|
|
22876
23352
|
};
|
|
22877
|
-
return /* @__PURE__ */ jsxs100(
|
|
23353
|
+
return /* @__PURE__ */ jsxs100("div", { className: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22878
23354
|
/* @__PURE__ */ jsx109("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:sendMenu.selectAsset") }),
|
|
22879
23355
|
/* @__PURE__ */ jsxs100(
|
|
22880
23356
|
Button,
|
|
@@ -22938,13 +23414,13 @@ function InputSendStep(props) {
|
|
|
22938
23414
|
{
|
|
22939
23415
|
type: isComplianceLoading ? "info" : erc3643CanTransfer ? "success" : "error",
|
|
22940
23416
|
className: "flex gap-[var(--ui-kit-gap)]",
|
|
22941
|
-
children: isComplianceLoading ? /* @__PURE__ */ jsxs100(
|
|
23417
|
+
children: isComplianceLoading ? /* @__PURE__ */ jsxs100(Fragment39, { children: [
|
|
22942
23418
|
/* @__PURE__ */ jsx109(Loader20, { className: "h-4 w-4 animate-spin" }),
|
|
22943
23419
|
/* @__PURE__ */ jsx109("span", { children: "Checking compliance..." })
|
|
22944
|
-
] }) : erc3643CanTransfer ? /* @__PURE__ */ jsxs100(
|
|
23420
|
+
] }) : erc3643CanTransfer ? /* @__PURE__ */ jsxs100(Fragment39, { children: [
|
|
22945
23421
|
/* @__PURE__ */ jsx109(CheckCircle25, { className: "h-4 w-4" }),
|
|
22946
23422
|
/* @__PURE__ */ jsx109("span", { children: "Transfer compliant" })
|
|
22947
|
-
] }) : /* @__PURE__ */ jsxs100(
|
|
23423
|
+
] }) : /* @__PURE__ */ jsxs100(Fragment39, { children: [
|
|
22948
23424
|
/* @__PURE__ */ jsx109(AlertCircle4, { className: "h-4 w-4" }),
|
|
22949
23425
|
/* @__PURE__ */ jsx109("span", { children: complianceError || "Transfer not allowed" })
|
|
22950
23426
|
] })
|
|
@@ -22984,7 +23460,7 @@ var init_InputSendStep = __esm({
|
|
|
22984
23460
|
// src/internal/components/SendMenu/send/sendSteps/ConfirmSendStep.tsx
|
|
22985
23461
|
import { useMutation as useMutation21 } from "@tanstack/react-query";
|
|
22986
23462
|
import { AlertTriangle as AlertTriangle5, AtSign as AtSign3, Loader as Loader21, Shield as Shield2, ShieldAlert as ShieldAlert2, ShieldCheck as ShieldCheck3 } from "lucide-react";
|
|
22987
|
-
import { Fragment as
|
|
23463
|
+
import { Fragment as Fragment40, jsx as jsx110, jsxs as jsxs101 } from "react/jsx-runtime";
|
|
22988
23464
|
function ConfirmSendStep(props) {
|
|
22989
23465
|
const { sendTransaction, erc3643Compliance, isNicknameInput, resolvedNicknameData } = props;
|
|
22990
23466
|
const { t } = useT();
|
|
@@ -23021,134 +23497,141 @@ function ConfirmSendStep(props) {
|
|
|
23021
23497
|
useFlowSelectorStore.getState().setError(error?.message || "Transaction failed");
|
|
23022
23498
|
}
|
|
23023
23499
|
});
|
|
23024
|
-
return /* @__PURE__ */ jsxs101(
|
|
23025
|
-
|
|
23026
|
-
|
|
23027
|
-
|
|
23028
|
-
|
|
23029
|
-
|
|
23030
|
-
|
|
23031
|
-
|
|
23032
|
-
|
|
23033
|
-
|
|
23034
|
-
|
|
23035
|
-
|
|
23036
|
-
|
|
23037
|
-
|
|
23038
|
-
|
|
23039
|
-
|
|
23040
|
-
|
|
23041
|
-
|
|
23042
|
-
|
|
23043
|
-
|
|
23044
|
-
|
|
23045
|
-
|
|
23046
|
-
|
|
23047
|
-
|
|
23048
|
-
|
|
23049
|
-
|
|
23050
|
-
|
|
23051
|
-
|
|
23052
|
-
|
|
23053
|
-
|
|
23054
|
-
|
|
23055
|
-
|
|
23056
|
-
|
|
23057
|
-
|
|
23058
|
-
{
|
|
23059
|
-
|
|
23060
|
-
|
|
23061
|
-
|
|
23500
|
+
return /* @__PURE__ */ jsxs101(
|
|
23501
|
+
"div",
|
|
23502
|
+
{
|
|
23503
|
+
ref: (inst) => onboarder.registerElement("sendmenu-crypto-summary" /* sendCryptoSummary */, inst),
|
|
23504
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
23505
|
+
children: [
|
|
23506
|
+
isNicknameInput && isFrozen && /* @__PURE__ */ jsxs101(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
23507
|
+
/* @__PURE__ */ jsx110(AlertTriangle5, { className: "h-4 w-4" }),
|
|
23508
|
+
/* @__PURE__ */ jsx110("span", { children: "This handle is frozen. Proceed with caution." })
|
|
23509
|
+
] }),
|
|
23510
|
+
isSecurity && erc3643CanTransfer && /* @__PURE__ */ jsxs101(Highlight, { type: "success", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
23511
|
+
/* @__PURE__ */ jsx110(Shield2, { className: "h-4 w-4 flex-shrink-0" }),
|
|
23512
|
+
/* @__PURE__ */ jsx110("span", { children: "Security token compliance verified" })
|
|
23513
|
+
] }),
|
|
23514
|
+
!isNft && /* @__PURE__ */ jsxs101("div", { className: "flex justify-between leading-5", children: [
|
|
23515
|
+
/* @__PURE__ */ jsxs101("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
|
|
23516
|
+
selectedAsset.symbol,
|
|
23517
|
+
" Balance"
|
|
23518
|
+
] }),
|
|
23519
|
+
/* @__PURE__ */ jsxs101("span", { className: "text-sm font-bold", children: [
|
|
23520
|
+
formatPrice(balance),
|
|
23521
|
+
" ",
|
|
23522
|
+
selectedAsset.symbol
|
|
23523
|
+
] })
|
|
23524
|
+
] }),
|
|
23525
|
+
/* @__PURE__ */ jsx110(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)]", children: isNicknameInput && nicknameData ? /* @__PURE__ */ jsxs101(Fragment40, { children: [
|
|
23526
|
+
/* @__PURE__ */ jsxs101("div", { className: "flex items-start gap-[var(--ui-kit-gap)]", children: [
|
|
23527
|
+
nicknameData.avatarSvg ? /* @__PURE__ */ jsx110(
|
|
23528
|
+
"img",
|
|
23529
|
+
{
|
|
23530
|
+
src: nicknameData.avatarSvg,
|
|
23531
|
+
alt: nicknameData.handle,
|
|
23532
|
+
className: "w-12 h-12 rounded-full object-cover flex-shrink-0"
|
|
23533
|
+
}
|
|
23534
|
+
) : /* @__PURE__ */ jsx110("div", { className: "w-12 h-12 rounded-full bg-[var(--ui-kit-secondary)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx110(AtSign3, { className: "w-6 h-6" }) }),
|
|
23535
|
+
/* @__PURE__ */ jsxs101("div", { className: "flex flex-1 flex-col gap-1", children: [
|
|
23536
|
+
/* @__PURE__ */ jsx110("span", { className: "font-medium text-[14px] leading-4 truncate", children: nicknameData.handle }),
|
|
23537
|
+
nicknameData.fingerprint && /* @__PURE__ */ jsxs101(
|
|
23538
|
+
"span",
|
|
23539
|
+
{
|
|
23540
|
+
className: cn(
|
|
23541
|
+
"flex items-center gap-[var(--ui-kit-gap)] text-[10px]",
|
|
23542
|
+
isFingerprintVerified ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-error)]"
|
|
23543
|
+
),
|
|
23544
|
+
children: [
|
|
23545
|
+
isFingerprintVerified ? /* @__PURE__ */ jsx110(ShieldCheck3, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx110(ShieldAlert2, { className: "w-4 h-4 flex-shrink-0" }),
|
|
23546
|
+
/* @__PURE__ */ jsxs101("span", { children: [
|
|
23547
|
+
"Fingerprint: ",
|
|
23548
|
+
nicknameData.fingerprint
|
|
23549
|
+
] }),
|
|
23550
|
+
/* @__PURE__ */ jsx110("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
|
|
23551
|
+
]
|
|
23552
|
+
}
|
|
23062
23553
|
),
|
|
23063
|
-
children:
|
|
23064
|
-
isFingerprintVerified ? /* @__PURE__ */ jsx110(ShieldCheck3, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx110(ShieldAlert2, { className: "w-4 h-4 flex-shrink-0" }),
|
|
23065
|
-
/* @__PURE__ */ jsxs101("span", { children: [
|
|
23066
|
-
"Fingerprint: ",
|
|
23067
|
-
nicknameData.fingerprint
|
|
23068
|
-
] }),
|
|
23069
|
-
/* @__PURE__ */ jsx110("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
|
|
23070
|
-
]
|
|
23071
|
-
}
|
|
23072
|
-
),
|
|
23073
|
-
/* @__PURE__ */ jsx110("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)} : ` })
|
|
23074
|
-
] })
|
|
23075
|
-
] }),
|
|
23076
|
-
/* @__PURE__ */ jsxs101("div", { className: "border-t border-[var(--ui-kit-bd)] py-[var(--ui-kit-pd)] text-[10px]", children: [
|
|
23077
|
-
isNft ? /* @__PURE__ */ jsxs101("div", { className: "flex justify-between items-start", children: [
|
|
23078
|
-
/* @__PURE__ */ jsx110("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
|
|
23079
|
-
/* @__PURE__ */ jsxs101("div", { className: "text-right", children: [
|
|
23080
|
-
/* @__PURE__ */ jsx110("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
|
|
23081
|
-
selectedAsset.tokenId && /* @__PURE__ */ jsxs101("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
|
|
23082
|
-
"#",
|
|
23083
|
-
selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
|
|
23554
|
+
/* @__PURE__ */ jsx110("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)} : ` })
|
|
23084
23555
|
] })
|
|
23085
|
-
] })
|
|
23086
|
-
|
|
23087
|
-
|
|
23088
|
-
|
|
23089
|
-
|
|
23090
|
-
|
|
23091
|
-
|
|
23092
|
-
|
|
23093
|
-
|
|
23556
|
+
] }),
|
|
23557
|
+
/* @__PURE__ */ jsxs101("div", { className: "border-t border-[var(--ui-kit-bd)] py-[var(--ui-kit-pd)] text-[10px]", children: [
|
|
23558
|
+
isNft ? /* @__PURE__ */ jsxs101("div", { className: "flex justify-between items-start", children: [
|
|
23559
|
+
/* @__PURE__ */ jsx110("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
|
|
23560
|
+
/* @__PURE__ */ jsxs101("div", { className: "text-right", children: [
|
|
23561
|
+
/* @__PURE__ */ jsx110("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
|
|
23562
|
+
selectedAsset.tokenId && /* @__PURE__ */ jsxs101("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
|
|
23563
|
+
"#",
|
|
23564
|
+
selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
|
|
23565
|
+
] })
|
|
23566
|
+
] })
|
|
23567
|
+
] }) : (
|
|
23568
|
+
// Fungible token details
|
|
23569
|
+
/* @__PURE__ */ jsxs101("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23570
|
+
/* @__PURE__ */ jsx110("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:common.amount") }),
|
|
23571
|
+
/* @__PURE__ */ jsxs101("span", { className: "text-sm font-bold", children: [
|
|
23572
|
+
amount,
|
|
23573
|
+
" ",
|
|
23574
|
+
selectedAsset.symbol
|
|
23575
|
+
] })
|
|
23576
|
+
] })
|
|
23577
|
+
),
|
|
23578
|
+
/* @__PURE__ */ jsxs101("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23579
|
+
/* @__PURE__ */ jsx110("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:common.network") }),
|
|
23580
|
+
/* @__PURE__ */ jsx110("span", { className: "text-sm font-bold", children: chainConfig.name })
|
|
23094
23581
|
] })
|
|
23095
23582
|
] })
|
|
23096
|
-
),
|
|
23097
|
-
|
|
23098
|
-
/* @__PURE__ */
|
|
23099
|
-
|
|
23100
|
-
|
|
23101
|
-
|
|
23102
|
-
|
|
23103
|
-
|
|
23104
|
-
|
|
23105
|
-
|
|
23106
|
-
|
|
23107
|
-
|
|
23108
|
-
|
|
23109
|
-
|
|
23110
|
-
|
|
23111
|
-
|
|
23112
|
-
|
|
23113
|
-
|
|
23114
|
-
|
|
23115
|
-
|
|
23116
|
-
|
|
23117
|
-
|
|
23583
|
+
] }) : /* @__PURE__ */ jsxs101(Fragment40, { children: [
|
|
23584
|
+
/* @__PURE__ */ jsx110("h3", { className: "font-medium mb-3 text-[var(--ui-kit-fg)]", children: "Transaction Details" }),
|
|
23585
|
+
/* @__PURE__ */ jsxs101("div", { className: "space-y-2 text-sm text-[var(--ui-kit-fg)]", children: [
|
|
23586
|
+
/* @__PURE__ */ jsxs101("div", { className: "flex justify-between", children: [
|
|
23587
|
+
/* @__PURE__ */ jsx110("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "To:" }),
|
|
23588
|
+
/* @__PURE__ */ jsx110("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
|
|
23589
|
+
] }),
|
|
23590
|
+
isNft ? (
|
|
23591
|
+
// NFT details
|
|
23592
|
+
/* @__PURE__ */ jsx110(Fragment40, { children: /* @__PURE__ */ jsxs101("div", { className: "flex justify-between items-start", children: [
|
|
23593
|
+
/* @__PURE__ */ jsx110("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
|
|
23594
|
+
/* @__PURE__ */ jsxs101("div", { className: "text-right", children: [
|
|
23595
|
+
/* @__PURE__ */ jsx110("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
|
|
23596
|
+
selectedAsset.tokenId && /* @__PURE__ */ jsxs101("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: [
|
|
23597
|
+
"#",
|
|
23598
|
+
selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
|
|
23599
|
+
] })
|
|
23600
|
+
] })
|
|
23601
|
+
] }) })
|
|
23602
|
+
) : (
|
|
23603
|
+
// Fungible token details
|
|
23604
|
+
/* @__PURE__ */ jsxs101("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23605
|
+
/* @__PURE__ */ jsx110("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:common.amount") }),
|
|
23606
|
+
/* @__PURE__ */ jsxs101("span", { className: "font-semibold", children: [
|
|
23607
|
+
amount,
|
|
23608
|
+
" ",
|
|
23609
|
+
selectedAsset.symbol
|
|
23610
|
+
] })
|
|
23118
23611
|
] })
|
|
23119
|
-
|
|
23120
|
-
|
|
23121
|
-
|
|
23122
|
-
|
|
23123
|
-
/* @__PURE__ */ jsxs101("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23124
|
-
/* @__PURE__ */ jsx110("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:common.amount") }),
|
|
23125
|
-
/* @__PURE__ */ jsxs101("span", { className: "font-semibold", children: [
|
|
23126
|
-
amount,
|
|
23127
|
-
" ",
|
|
23128
|
-
selectedAsset.symbol
|
|
23612
|
+
),
|
|
23613
|
+
/* @__PURE__ */ jsxs101("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23614
|
+
/* @__PURE__ */ jsx110("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:common.network") }),
|
|
23615
|
+
/* @__PURE__ */ jsx110("span", { children: chainConfig.name })
|
|
23129
23616
|
] })
|
|
23130
23617
|
] })
|
|
23131
|
-
),
|
|
23132
|
-
/* @__PURE__ */ jsxs101(
|
|
23133
|
-
|
|
23134
|
-
|
|
23135
|
-
|
|
23136
|
-
|
|
23137
|
-
|
|
23138
|
-
|
|
23139
|
-
|
|
23140
|
-
|
|
23141
|
-
|
|
23142
|
-
|
|
23143
|
-
|
|
23144
|
-
|
|
23145
|
-
|
|
23146
|
-
|
|
23147
|
-
|
|
23148
|
-
]
|
|
23149
|
-
}
|
|
23150
|
-
)
|
|
23151
|
-
] });
|
|
23618
|
+
] }) }),
|
|
23619
|
+
/* @__PURE__ */ jsxs101(
|
|
23620
|
+
Button,
|
|
23621
|
+
{
|
|
23622
|
+
onClick: () => handleConfirm(),
|
|
23623
|
+
disabled: isTransactionPending,
|
|
23624
|
+
className: "w-full",
|
|
23625
|
+
size: "large",
|
|
23626
|
+
children: [
|
|
23627
|
+
isTransactionPending && /* @__PURE__ */ jsx110(Loader21, { className: "h-4 w-4 animate-spin" }),
|
|
23628
|
+
t("passport:common.confirm")
|
|
23629
|
+
]
|
|
23630
|
+
}
|
|
23631
|
+
)
|
|
23632
|
+
]
|
|
23633
|
+
}
|
|
23634
|
+
);
|
|
23152
23635
|
}
|
|
23153
23636
|
var init_ConfirmSendStep = __esm({
|
|
23154
23637
|
"src/internal/components/SendMenu/send/sendSteps/ConfirmSendStep.tsx"() {
|
|
@@ -23156,6 +23639,7 @@ var init_ConfirmSendStep = __esm({
|
|
|
23156
23639
|
init_i18n();
|
|
23157
23640
|
init_priceFormatter();
|
|
23158
23641
|
init_utils2();
|
|
23642
|
+
init_Onboarding();
|
|
23159
23643
|
init_button();
|
|
23160
23644
|
init_highlight();
|
|
23161
23645
|
init_useFlowSelector();
|
|
@@ -23176,7 +23660,7 @@ var init_sendSteps = __esm({
|
|
|
23176
23660
|
import { CheckCircle2 as CheckCircle26, Loader as Loader27 } from "lucide-react";
|
|
23177
23661
|
import { useEffect as useEffect46, useMemo as useMemo15 } from "react";
|
|
23178
23662
|
import { parseUnits as parseUnits2 } from "viem";
|
|
23179
|
-
import { Fragment as
|
|
23663
|
+
import { Fragment as Fragment41, jsx as jsx111, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
23180
23664
|
function SendMenu() {
|
|
23181
23665
|
const address = useSession((st) => st.address);
|
|
23182
23666
|
const activeChainId = useSession((st) => st.activeChainId);
|
|
@@ -23274,7 +23758,7 @@ function SendMenu() {
|
|
|
23274
23758
|
break;
|
|
23275
23759
|
}
|
|
23276
23760
|
}, [txStep, selectedAsset, isNft, t]);
|
|
23277
|
-
return /* @__PURE__ */ jsxs102(
|
|
23761
|
+
return /* @__PURE__ */ jsxs102(Fragment41, { children: [
|
|
23278
23762
|
txStep === "select-asset" && /* @__PURE__ */ jsx111(AssetList, { assets }),
|
|
23279
23763
|
txStep === "input" && /* @__PURE__ */ jsx111(
|
|
23280
23764
|
InputSendStep,
|
|
@@ -23301,7 +23785,7 @@ function SendMenu() {
|
|
|
23301
23785
|
/* @__PURE__ */ jsx111("span", { children: t("passport:sendMenu.pendingStepMsg") })
|
|
23302
23786
|
] })
|
|
23303
23787
|
] }),
|
|
23304
|
-
txStep === "success" && userOpHash && /* @__PURE__ */ jsxs102(
|
|
23788
|
+
txStep === "success" && userOpHash && /* @__PURE__ */ jsxs102(Fragment41, { children: [
|
|
23305
23789
|
/* @__PURE__ */ jsxs102(Highlight, { type: "success", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
23306
23790
|
/* @__PURE__ */ jsx111(CheckCircle26, { className: "h-4 w-4" }),
|
|
23307
23791
|
/* @__PURE__ */ jsxs102("span", { className: "flex-1", children: [
|
|
@@ -23348,17 +23832,63 @@ var init_send = __esm({
|
|
|
23348
23832
|
}
|
|
23349
23833
|
});
|
|
23350
23834
|
|
|
23351
|
-
// src/internal/components/SendMenu/
|
|
23352
|
-
import {
|
|
23835
|
+
// src/internal/components/SendMenu/useSendMenuParams.ts
|
|
23836
|
+
import { keys as keys2 } from "lodash-es";
|
|
23353
23837
|
import { useEffect as useEffect47 } from "react";
|
|
23838
|
+
function useSendMenuParams() {
|
|
23839
|
+
useEffect47(() => {
|
|
23840
|
+
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
23841
|
+
if (!pageParams || !keys2(pageParams).length) return;
|
|
23842
|
+
console.log("[SEND PARAMS]", pageParams);
|
|
23843
|
+
const { sendFlow, asset, to, amount } = pageParams || {};
|
|
23844
|
+
const {
|
|
23845
|
+
setAmount: setSendAmount,
|
|
23846
|
+
setRecipient: setSendRecipient,
|
|
23847
|
+
setSelectedAsset: setSendSelectedAsset
|
|
23848
|
+
} = useSendStore.getState();
|
|
23849
|
+
const { setAmount: setBridgeAmount } = useBridgeStore.getState();
|
|
23850
|
+
useFlowSelectorStore.getState().setFlow(sendFlow);
|
|
23851
|
+
switch (sendFlow) {
|
|
23852
|
+
//
|
|
23853
|
+
case "send":
|
|
23854
|
+
switch (true) {
|
|
23855
|
+
case !!asset:
|
|
23856
|
+
setSendAmount(String(amount));
|
|
23857
|
+
case !!to:
|
|
23858
|
+
setSendRecipient(to);
|
|
23859
|
+
case !!amount:
|
|
23860
|
+
setSendSelectedAsset(asset);
|
|
23861
|
+
}
|
|
23862
|
+
break;
|
|
23863
|
+
//
|
|
23864
|
+
case "bridge":
|
|
23865
|
+
switch (true) {
|
|
23866
|
+
case !!amount:
|
|
23867
|
+
setBridgeAmount(String(amount));
|
|
23868
|
+
}
|
|
23869
|
+
break;
|
|
23870
|
+
default:
|
|
23871
|
+
return setPageParams(null);
|
|
23872
|
+
}
|
|
23873
|
+
setPageParams(null);
|
|
23874
|
+
}, []);
|
|
23875
|
+
}
|
|
23876
|
+
var init_useSendMenuParams = __esm({
|
|
23877
|
+
"src/internal/components/SendMenu/useSendMenuParams.ts"() {
|
|
23878
|
+
init_useLayoutDataStore();
|
|
23879
|
+
init_useBridgeStore();
|
|
23880
|
+
init_useSendStore();
|
|
23881
|
+
init_useFlowSelector();
|
|
23882
|
+
}
|
|
23883
|
+
});
|
|
23884
|
+
|
|
23885
|
+
// 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";
|
|
23354
23888
|
import { jsx as jsx112, jsxs as jsxs103 } from "react/jsx-runtime";
|
|
23355
23889
|
function SelectorFlowButtons() {
|
|
23356
23890
|
const { t } = useT();
|
|
23357
23891
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
23358
|
-
const sendStep = useSendStore((st) => st.txStep);
|
|
23359
|
-
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
23360
|
-
const isButtonsShown = selectorFlow === "send" && sendStep === "input" || selectorFlow === "bridge" && bridgeStep === "select";
|
|
23361
|
-
if (!isButtonsShown) return null;
|
|
23362
23892
|
return /* @__PURE__ */ jsxs103(
|
|
23363
23893
|
"div",
|
|
23364
23894
|
{
|
|
@@ -23406,6 +23936,7 @@ function SelectorFlowButtons() {
|
|
|
23406
23936
|
}
|
|
23407
23937
|
function SendFlowSelector() {
|
|
23408
23938
|
const { t } = useT();
|
|
23939
|
+
useSendMenuParams();
|
|
23409
23940
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
23410
23941
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
23411
23942
|
const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
|
|
@@ -23413,15 +23944,19 @@ function SendFlowSelector() {
|
|
|
23413
23944
|
const error = useFlowSelectorStore((st) => st.error);
|
|
23414
23945
|
const menuTitle = useFlowSelectorStore((st) => st.menuTitle);
|
|
23415
23946
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
23416
|
-
|
|
23947
|
+
const sendStep = useSendStore((st) => st.txStep);
|
|
23948
|
+
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
23949
|
+
useEffect48(
|
|
23417
23950
|
() => () => {
|
|
23418
23951
|
useFlowSelectorStore.getState().setError(null);
|
|
23419
23952
|
},
|
|
23420
23953
|
[]
|
|
23421
23954
|
);
|
|
23955
|
+
const isSendFlowInitialState = selectorFlow === "send" && sendStep === "input" || selectorFlow === "bridge" && bridgeStep === "select";
|
|
23422
23956
|
return /* @__PURE__ */ jsx112(
|
|
23423
23957
|
"div",
|
|
23424
23958
|
{
|
|
23959
|
+
ref: (inst) => onboarder.registerElement("sendmenu-page" /* sendMenu */, inst),
|
|
23425
23960
|
style: {
|
|
23426
23961
|
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
23427
23962
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
@@ -23439,8 +23974,8 @@ function SendFlowSelector() {
|
|
|
23439
23974
|
onClick: () => {
|
|
23440
23975
|
useFlowSelectorStore.getState().setError(null);
|
|
23441
23976
|
if (selectorFlow === "bridge") {
|
|
23442
|
-
const { bridgeStep, setBridgeStep } = useBridgeStore.getState();
|
|
23443
|
-
switch (
|
|
23977
|
+
const { bridgeStep: bridgeStep2, setBridgeStep } = useBridgeStore.getState();
|
|
23978
|
+
switch (bridgeStep2) {
|
|
23444
23979
|
case "select":
|
|
23445
23980
|
return setPage("main-menu" /* MAIN_MENU */);
|
|
23446
23981
|
// case ''
|
|
@@ -23465,13 +24000,35 @@ function SendFlowSelector() {
|
|
|
23465
24000
|
),
|
|
23466
24001
|
/* @__PURE__ */ jsx112("span", { className: "text-xl font-semibold", children: menuTitle })
|
|
23467
24002
|
] }),
|
|
23468
|
-
/* @__PURE__ */
|
|
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
|
+
] })
|
|
23469
24026
|
] }),
|
|
23470
|
-
/* @__PURE__ */ jsx112(SelectorFlowButtons, {}),
|
|
24027
|
+
isSendFlowInitialState && /* @__PURE__ */ jsx112(SelectorFlowButtons, {}),
|
|
23471
24028
|
SELECTOR_FLOW[selectorFlow],
|
|
23472
24029
|
error && /* @__PURE__ */ jsxs103(Highlight, { type: "error", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
23473
24030
|
/* @__PURE__ */ jsxs103("div", { className: "w-full flex gap-[var(--ui-kit-gap)]", children: [
|
|
23474
|
-
/* @__PURE__ */ jsx112(
|
|
24031
|
+
/* @__PURE__ */ jsx112(InfoIcon6, { className: "h-4 w-4 flex-none" }),
|
|
23475
24032
|
/* @__PURE__ */ jsx112("span", { children: error })
|
|
23476
24033
|
] }),
|
|
23477
24034
|
/* @__PURE__ */ jsx112(
|
|
@@ -23498,11 +24055,14 @@ var init_SendFlowSelector = __esm({
|
|
|
23498
24055
|
init_useLayoutStore();
|
|
23499
24056
|
init_utils2();
|
|
23500
24057
|
init_Expandable2();
|
|
24058
|
+
init_Onboarding();
|
|
23501
24059
|
init_button();
|
|
23502
24060
|
init_highlight();
|
|
23503
24061
|
init_hyperbridge();
|
|
24062
|
+
init_onboarding_setup2();
|
|
23504
24063
|
init_send();
|
|
23505
24064
|
init_useFlowSelector();
|
|
24065
|
+
init_useSendMenuParams();
|
|
23506
24066
|
SELECTOR_FLOW = {
|
|
23507
24067
|
send: /* @__PURE__ */ jsx112(SendMenu, {}),
|
|
23508
24068
|
bridge: /* @__PURE__ */ jsx112(HyperlaneBridge, {})
|
|
@@ -23514,6 +24074,7 @@ var init_SendFlowSelector = __esm({
|
|
|
23514
24074
|
var init_SendMenu2 = __esm({
|
|
23515
24075
|
"src/internal/components/SendMenu/index.ts"() {
|
|
23516
24076
|
init_SendFlowSelector();
|
|
24077
|
+
init_onboarding_setup2();
|
|
23517
24078
|
}
|
|
23518
24079
|
});
|
|
23519
24080
|
|
|
@@ -23579,7 +24140,7 @@ var init_constants8 = __esm({
|
|
|
23579
24140
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
23580
24141
|
import { useQuery as useQuery24 } from "@tanstack/react-query";
|
|
23581
24142
|
import { ArrowLeft as ArrowLeft20, HardDrive as HardDrive3 } from "lucide-react";
|
|
23582
|
-
import { useEffect as
|
|
24143
|
+
import { useEffect as useEffect49 } from "react";
|
|
23583
24144
|
import { jsx as jsx113, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
23584
24145
|
function useSettingsButtons() {
|
|
23585
24146
|
const config = useProviderConfig().config;
|
|
@@ -23598,7 +24159,7 @@ function useSettingsButtons() {
|
|
|
23598
24159
|
if (proMode) {
|
|
23599
24160
|
settingsButtons.push({ id: "devices" /* DEVICES */, name: "Guardians", Icon: HardDrive3 });
|
|
23600
24161
|
}
|
|
23601
|
-
|
|
24162
|
+
useEffect49(() => {
|
|
23602
24163
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
23603
24164
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
23604
24165
|
return;
|
|
@@ -24406,7 +24967,7 @@ var init_utils11 = __esm({
|
|
|
24406
24967
|
|
|
24407
24968
|
// src/internal/components/TransactionsMenu/TransactionsGroup.tsx
|
|
24408
24969
|
import { ChevronDown, ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight5, ChevronUp, Copy as Copy3 } from "lucide-react";
|
|
24409
|
-
import { Fragment as
|
|
24970
|
+
import { Fragment as Fragment42, jsx as jsx115, jsxs as jsxs106 } from "react/jsx-runtime";
|
|
24410
24971
|
function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
|
|
24411
24972
|
const internalSymbol = internal.assetSymbol || assetSymbol;
|
|
24412
24973
|
const internalDecimals = internal.decimals ?? assetDecimals;
|
|
@@ -24481,7 +25042,7 @@ function TransactionsGroup(props) {
|
|
|
24481
25042
|
}
|
|
24482
25043
|
) })
|
|
24483
25044
|
] }),
|
|
24484
|
-
internalsToRender.length > 0 && /* @__PURE__ */ jsxs106(
|
|
25045
|
+
internalsToRender.length > 0 && /* @__PURE__ */ jsxs106(Fragment42, { children: [
|
|
24485
25046
|
/* @__PURE__ */ jsx115("div", { className: "w-full flex items-center h-4", children: /* @__PURE__ */ jsx115("div", { style: { borderTop: "1px solid var(--ui-kit-bd)" }, className: "flex-1" }) }),
|
|
24486
25047
|
/* @__PURE__ */ jsxs106(
|
|
24487
25048
|
"div",
|
|
@@ -24798,7 +25359,7 @@ var init_PageMap = __esm({
|
|
|
24798
25359
|
});
|
|
24799
25360
|
|
|
24800
25361
|
// src/internal/hooks/usePageMapper.tsx
|
|
24801
|
-
import { useCallback as useCallback31, useEffect as
|
|
25362
|
+
import { useCallback as useCallback31, useEffect as useEffect50 } from "react";
|
|
24802
25363
|
import { jsx as jsx117 } from "react/jsx-runtime";
|
|
24803
25364
|
function usePageMapper() {
|
|
24804
25365
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -24831,7 +25392,7 @@ function usePageMapper() {
|
|
|
24831
25392
|
},
|
|
24832
25393
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
24833
25394
|
);
|
|
24834
|
-
|
|
25395
|
+
useEffect50(() => {
|
|
24835
25396
|
if (page === null) return closeDialog();
|
|
24836
25397
|
const pageItem = PAGE_MAP[page];
|
|
24837
25398
|
if (!pageItem) {
|
|
@@ -24854,20 +25415,20 @@ var init_usePageMapper = __esm({
|
|
|
24854
25415
|
});
|
|
24855
25416
|
|
|
24856
25417
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
24857
|
-
import { useEffect as
|
|
25418
|
+
import { useEffect as useEffect51 } from "react";
|
|
24858
25419
|
function useSettingsNotifications() {
|
|
24859
25420
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
24860
25421
|
const providers = jwtTokenManager2.getProviders();
|
|
24861
25422
|
const hasEmail = providers.includes("email");
|
|
24862
25423
|
const { data: userProfile = null } = useUserProfile();
|
|
24863
|
-
|
|
25424
|
+
useEffect51(() => {
|
|
24864
25425
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
24865
25426
|
setSettingsNotifications({
|
|
24866
25427
|
...COMPLETE_KYC_PROGRESS,
|
|
24867
25428
|
status: isKYCVerified ? "resolved" : "active"
|
|
24868
25429
|
});
|
|
24869
25430
|
}, [userProfile, setSettingsNotifications]);
|
|
24870
|
-
|
|
25431
|
+
useEffect51(() => {
|
|
24871
25432
|
setSettingsNotifications({
|
|
24872
25433
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
24873
25434
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -24899,7 +25460,7 @@ var init_package = __esm({
|
|
|
24899
25460
|
"package.json"() {
|
|
24900
25461
|
package_default = {
|
|
24901
25462
|
name: "@embarkai/ui-kit",
|
|
24902
|
-
version: "0.4.
|
|
25463
|
+
version: "0.4.74",
|
|
24903
25464
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
24904
25465
|
type: "module",
|
|
24905
25466
|
main: "./dist/index.cjs",
|
|
@@ -25142,8 +25703,8 @@ var init_Footer2 = __esm({
|
|
|
25142
25703
|
|
|
25143
25704
|
// src/internal/components/Header/Header.tsx
|
|
25144
25705
|
import { Copy as Copy4, Loader as Loader30 } from "lucide-react";
|
|
25145
|
-
import { useCallback as useCallback32, useRef as
|
|
25146
|
-
import { Fragment as
|
|
25706
|
+
import { useCallback as useCallback32, useRef as useRef20, useState as useState28 } from "react";
|
|
25707
|
+
import { Fragment as Fragment43, jsx as jsx119, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
25147
25708
|
function formatAddress2(addr) {
|
|
25148
25709
|
if (!addr) return "";
|
|
25149
25710
|
return `${addr.slice(0, 10)}...${addr.slice(-4)}`;
|
|
@@ -25156,8 +25717,8 @@ function Header() {
|
|
|
25156
25717
|
const proMode = useProMode();
|
|
25157
25718
|
const [proToast, setProToast] = useState28(false);
|
|
25158
25719
|
const [copied, setCopied] = useState28(false);
|
|
25159
|
-
const clickCountRef =
|
|
25160
|
-
const clickTimerRef =
|
|
25720
|
+
const clickCountRef = useRef20(0);
|
|
25721
|
+
const clickTimerRef = useRef20(null);
|
|
25161
25722
|
const handleAvatarClick = useCallback32(() => {
|
|
25162
25723
|
clickCountRef.current += 1;
|
|
25163
25724
|
if (clickTimerRef.current) {
|
|
@@ -25205,7 +25766,7 @@ function Header() {
|
|
|
25205
25766
|
className: "flex-1 flex flex-col justify-center gap-1",
|
|
25206
25767
|
children: [
|
|
25207
25768
|
isProfileLoading && /* @__PURE__ */ jsx119(Loader30, { className: "w-4 h-4 animate-spin" }),
|
|
25208
|
-
!!address && !isProfileLoading && !!profile && /* @__PURE__ */ jsxs109(
|
|
25769
|
+
!!address && !isProfileLoading && !!profile && /* @__PURE__ */ jsxs109(Fragment43, { children: [
|
|
25209
25770
|
/* @__PURE__ */ jsxs109("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
25210
25771
|
/* @__PURE__ */ jsx119(
|
|
25211
25772
|
"span",
|
|
@@ -25464,7 +26025,7 @@ var init_visually_hidden = __esm({
|
|
|
25464
26025
|
|
|
25465
26026
|
// src/internal/components/Dialog/Dialog.tsx
|
|
25466
26027
|
import { AnimatePresence, motion } from "framer-motion";
|
|
25467
|
-
import { useEffect as
|
|
26028
|
+
import { useEffect as useEffect52 } from "react";
|
|
25468
26029
|
import { jsx as jsx122, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
25469
26030
|
function Dialog2() {
|
|
25470
26031
|
const config = useProviderConfig().config;
|
|
@@ -25476,7 +26037,7 @@ function Dialog2() {
|
|
|
25476
26037
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
25477
26038
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
25478
26039
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
25479
|
-
|
|
26040
|
+
useEffect52(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
25480
26041
|
usePageMapper();
|
|
25481
26042
|
useAutoConnect();
|
|
25482
26043
|
useBackupStatusChanges();
|
|
@@ -25542,7 +26103,7 @@ var init_Dialog2 = __esm({
|
|
|
25542
26103
|
});
|
|
25543
26104
|
|
|
25544
26105
|
// src/internal/components/DirectWalletHandler.tsx
|
|
25545
|
-
import { useEffect as
|
|
26106
|
+
import { useEffect as useEffect53 } from "react";
|
|
25546
26107
|
import { useAccount } from "wagmi";
|
|
25547
26108
|
function DirectWalletHandler() {
|
|
25548
26109
|
const walletMode = useProviderConfig().config.current?.wallet?.mode || "linked";
|
|
@@ -25554,13 +26115,13 @@ function DirectWalletHandler() {
|
|
|
25554
26115
|
const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
|
|
25555
26116
|
const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
|
|
25556
26117
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
25557
|
-
|
|
26118
|
+
useEffect53(() => {
|
|
25558
26119
|
setConfigMode(walletMode);
|
|
25559
26120
|
if (walletMode !== "both") {
|
|
25560
26121
|
setActiveMode(walletMode);
|
|
25561
26122
|
}
|
|
25562
26123
|
}, [walletMode, setConfigMode, setActiveMode]);
|
|
25563
|
-
|
|
26124
|
+
useEffect53(() => {
|
|
25564
26125
|
if (isConnected && address && !isExternalConnected && connector && chain?.id) {
|
|
25565
26126
|
setExternalWallet({
|
|
25566
26127
|
address,
|
|
@@ -25569,17 +26130,17 @@ function DirectWalletHandler() {
|
|
|
25569
26130
|
});
|
|
25570
26131
|
}
|
|
25571
26132
|
}, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
|
|
25572
|
-
|
|
26133
|
+
useEffect53(() => {
|
|
25573
26134
|
if (isExternalConnected && !isConnected) {
|
|
25574
26135
|
clearExternalWallet();
|
|
25575
26136
|
}
|
|
25576
26137
|
}, [isConnected, isExternalConnected, clearExternalWallet]);
|
|
25577
|
-
|
|
26138
|
+
useEffect53(() => {
|
|
25578
26139
|
if (isExternalConnected && isConnected && chain?.id) {
|
|
25579
26140
|
setExternalChainId(chain.id);
|
|
25580
26141
|
}
|
|
25581
26142
|
}, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
|
|
25582
|
-
|
|
26143
|
+
useEffect53(() => {
|
|
25583
26144
|
if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
|
|
25584
26145
|
setExternalWallet({
|
|
25585
26146
|
address,
|
|
@@ -25654,7 +26215,7 @@ var init_TssManager = __esm({
|
|
|
25654
26215
|
// src/internal/components/WalletConnectHandler.tsx
|
|
25655
26216
|
import { useConnectModal as useConnectModal2 } from "@rainbow-me/rainbowkit";
|
|
25656
26217
|
import { useMutation as useMutation23, useQueryClient as useQueryClient27 } from "@tanstack/react-query";
|
|
25657
|
-
import React28, { useCallback as useCallback34, useEffect as
|
|
26218
|
+
import React28, { useCallback as useCallback34, useEffect as useEffect54 } from "react";
|
|
25658
26219
|
import { useAccount as useAccount2, useDisconnect as useDisconnect4, useSignMessage as useSignMessage2 } from "wagmi";
|
|
25659
26220
|
function WalletConnectHandler() {
|
|
25660
26221
|
const qc = useQueryClient27();
|
|
@@ -25709,7 +26270,7 @@ function WalletConnectHandler() {
|
|
|
25709
26270
|
const [hasStartedLinking, setHasStartedLinking] = React28.useState(false);
|
|
25710
26271
|
const [modalWasOpened, setModalWasOpened] = React28.useState(false);
|
|
25711
26272
|
const [pendingModalOpen, setPendingModalOpen] = React28.useState(false);
|
|
25712
|
-
|
|
26273
|
+
useEffect54(() => {
|
|
25713
26274
|
if (isWalletLinking && !hasStartedLinking) {
|
|
25714
26275
|
console.log("[WalletConnectHandler] Starting wallet link flow:", {
|
|
25715
26276
|
isConnected,
|
|
@@ -25747,18 +26308,18 @@ function WalletConnectHandler() {
|
|
|
25747
26308
|
setProviderType,
|
|
25748
26309
|
walletMode
|
|
25749
26310
|
]);
|
|
25750
|
-
|
|
26311
|
+
useEffect54(() => {
|
|
25751
26312
|
if (pendingModalOpen && !isConnected && openConnectModal) {
|
|
25752
26313
|
setPendingModalOpen(false);
|
|
25753
26314
|
openConnectModal();
|
|
25754
26315
|
}
|
|
25755
26316
|
}, [pendingModalOpen, isConnected, openConnectModal]);
|
|
25756
|
-
|
|
26317
|
+
useEffect54(() => {
|
|
25757
26318
|
if (connectModalOpen && hasStartedLinking) {
|
|
25758
26319
|
setModalWasOpened(true);
|
|
25759
26320
|
}
|
|
25760
26321
|
}, [connectModalOpen, hasStartedLinking]);
|
|
25761
|
-
|
|
26322
|
+
useEffect54(() => {
|
|
25762
26323
|
if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
25763
26324
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
25764
26325
|
onLinkingComplete(false);
|
|
@@ -25766,7 +26327,7 @@ function WalletConnectHandler() {
|
|
|
25766
26327
|
setModalWasOpened(false);
|
|
25767
26328
|
}
|
|
25768
26329
|
}, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
|
|
25769
|
-
|
|
26330
|
+
useEffect54(() => {
|
|
25770
26331
|
if (isWalletLinking) {
|
|
25771
26332
|
const timeout = setTimeout(() => {
|
|
25772
26333
|
console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
|
|
@@ -25886,7 +26447,7 @@ function WalletConnectHandler() {
|
|
|
25886
26447
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
25887
26448
|
}
|
|
25888
26449
|
});
|
|
25889
|
-
|
|
26450
|
+
useEffect54(() => {
|
|
25890
26451
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
|
|
25891
26452
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
25892
26453
|
if (!passportWalletAddress) {
|
|
@@ -25896,7 +26457,7 @@ function WalletConnectHandler() {
|
|
|
25896
26457
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
25897
26458
|
}
|
|
25898
26459
|
}, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
|
|
25899
|
-
|
|
26460
|
+
useEffect54(() => {
|
|
25900
26461
|
if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
|
|
25901
26462
|
const timeout = setTimeout(() => {
|
|
25902
26463
|
console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
|
|
@@ -25939,7 +26500,7 @@ import {
|
|
|
25939
26500
|
getChainConfig as getChainConfig12,
|
|
25940
26501
|
getViemChain as getViemChain2
|
|
25941
26502
|
} from "@embarkai/core/read";
|
|
25942
|
-
import { Fragment as
|
|
26503
|
+
import { Fragment as Fragment44 } from "react";
|
|
25943
26504
|
import { create as create16 } from "zustand";
|
|
25944
26505
|
import { persist as persist4 } from "zustand/middleware";
|
|
25945
26506
|
import { jsx as jsx123, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
@@ -25960,7 +26521,7 @@ function waitForStoreHydration() {
|
|
|
25960
26521
|
}
|
|
25961
26522
|
function SessionProvider({ children }) {
|
|
25962
26523
|
const config = useProviderConfig().config;
|
|
25963
|
-
return /* @__PURE__ */ jsxs112(
|
|
26524
|
+
return /* @__PURE__ */ jsxs112(Fragment44, { children: [
|
|
25964
26525
|
children,
|
|
25965
26526
|
config.current?.wallet?.enabled && /* @__PURE__ */ jsx123(WalletConnectHandler, {}),
|
|
25966
26527
|
config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ jsx123(DirectWalletHandler, {}),
|
|
@@ -26955,13 +27516,13 @@ async function clearLocalKeyshare(userId) {
|
|
|
26955
27516
|
console.log("[clearLocalKeyshare] Keyshares are now managed by secure iframe");
|
|
26956
27517
|
console.log("[clearLocalKeyshare] To clear keyshares, user must revoke authorization in iframe");
|
|
26957
27518
|
if (typeof window !== "undefined" && window.localStorage) {
|
|
26958
|
-
const
|
|
27519
|
+
const keys3 = [
|
|
26959
27520
|
`tss.${userId}.keyshare`,
|
|
26960
27521
|
`tss.${userId}.ownerAddress`,
|
|
26961
27522
|
`tss.${userId}.sessionId`,
|
|
26962
27523
|
...Object.keys(window.localStorage).filter((key) => key.startsWith(`tss.${userId}.dkg.`))
|
|
26963
27524
|
];
|
|
26964
|
-
|
|
27525
|
+
keys3.forEach((key) => window.localStorage.removeItem(key));
|
|
26965
27526
|
console.log("[clearLocalKeyshare] Cleared old localStorage keys for migration");
|
|
26966
27527
|
}
|
|
26967
27528
|
}
|
|
@@ -28678,7 +29239,7 @@ import { darkTheme, lightTheme, RainbowKitProvider as NativeRainbowKitProvider }
|
|
|
28678
29239
|
import { useMemo as useMemo16 } from "react";
|
|
28679
29240
|
import { WagmiProvider } from "wagmi";
|
|
28680
29241
|
import "@rainbow-me/rainbowkit/styles.css";
|
|
28681
|
-
import { Fragment as
|
|
29242
|
+
import { Fragment as Fragment45, jsx as jsx124 } from "react/jsx-runtime";
|
|
28682
29243
|
function RainbowKitProvider({ children }) {
|
|
28683
29244
|
const config = useProviderConfig().config;
|
|
28684
29245
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
@@ -28710,7 +29271,7 @@ function RainbowKitProvider({ children }) {
|
|
|
28710
29271
|
radii: rainbowTheme.lightMode.radii
|
|
28711
29272
|
};
|
|
28712
29273
|
}, [colorMode]);
|
|
28713
|
-
if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx124(
|
|
29274
|
+
if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx124(Fragment45, { children });
|
|
28714
29275
|
return /* @__PURE__ */ jsx124(WagmiProvider, { config: rainbowConfig, children: /* @__PURE__ */ jsx124(NativeRainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
|
|
28715
29276
|
}
|
|
28716
29277
|
var init_RainbowKitContext = __esm({
|
|
@@ -28756,9 +29317,9 @@ import {
|
|
|
28756
29317
|
createContext,
|
|
28757
29318
|
useCallback as useCallback35,
|
|
28758
29319
|
useContext,
|
|
28759
|
-
useEffect as
|
|
29320
|
+
useEffect as useEffect55,
|
|
28760
29321
|
useMemo as useMemo17,
|
|
28761
|
-
useRef as
|
|
29322
|
+
useRef as useRef21
|
|
28762
29323
|
} from "react";
|
|
28763
29324
|
import { jsx as jsx126 } from "react/jsx-runtime";
|
|
28764
29325
|
function clearLegacyWagmiStorage() {
|
|
@@ -28778,9 +29339,9 @@ function clearLegacyWagmiStorage() {
|
|
|
28778
29339
|
}
|
|
28779
29340
|
function Provider(props) {
|
|
28780
29341
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
28781
|
-
const callbacksRef =
|
|
28782
|
-
|
|
28783
|
-
const config =
|
|
29342
|
+
const callbacksRef = useRef21(callbacks);
|
|
29343
|
+
useEffect55(() => notifyNoProjetctId(projectId), [projectId]);
|
|
29344
|
+
const config = useRef21(merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
28784
29345
|
const updateConfig = useCallback35((updates) => {
|
|
28785
29346
|
const prev = config.current;
|
|
28786
29347
|
const next = { ...prev };
|
|
@@ -28820,7 +29381,7 @@ function Provider(props) {
|
|
|
28820
29381
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
28821
29382
|
callbacksRef.current = next;
|
|
28822
29383
|
}, []);
|
|
28823
|
-
|
|
29384
|
+
useEffect55(() => {
|
|
28824
29385
|
if (typeof window === "undefined" || !projectId) return;
|
|
28825
29386
|
const mergedConfig = merge3(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
28826
29387
|
updateConfig(mergedConfig);
|
|
@@ -28840,7 +29401,7 @@ function Provider(props) {
|
|
|
28840
29401
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
28841
29402
|
}
|
|
28842
29403
|
}, [projectId, initialConfig]);
|
|
28843
|
-
|
|
29404
|
+
useEffect55(() => {
|
|
28844
29405
|
if (typeof window === "undefined" || !projectId) return;
|
|
28845
29406
|
try {
|
|
28846
29407
|
initSdkErrorTracking();
|
|
@@ -28909,7 +29470,7 @@ var init_ProviderContext = __esm({
|
|
|
28909
29470
|
});
|
|
28910
29471
|
|
|
28911
29472
|
// src/styles/built.css
|
|
28912
|
-
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 .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}`;
|
|
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}`;
|
|
28913
29474
|
|
|
28914
29475
|
// src/index.ts
|
|
28915
29476
|
init_ProviderContext();
|
|
@@ -28929,8 +29490,8 @@ init_useLayoutStore();
|
|
|
28929
29490
|
init_pro_mode();
|
|
28930
29491
|
init_utils2();
|
|
28931
29492
|
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader31, Shield as Shield3 } from "lucide-react";
|
|
28932
|
-
import { useEffect as
|
|
28933
|
-
import { Fragment as
|
|
29493
|
+
import { useEffect as useEffect56, useMemo as useMemo18 } from "react";
|
|
29494
|
+
import { Fragment as Fragment46, jsx as jsx127, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
28934
29495
|
function getFormattedStatus(label, status, showStatus) {
|
|
28935
29496
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
28936
29497
|
if (!isStatus) return label;
|
|
@@ -28949,7 +29510,7 @@ function ConnectWalletButton(props) {
|
|
|
28949
29510
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
28950
29511
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
28951
29512
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
28952
|
-
|
|
29513
|
+
useEffect56(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
28953
29514
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
28954
29515
|
const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
|
|
28955
29516
|
const indicators = useMemo18(() => {
|
|
@@ -28963,7 +29524,7 @@ function ConnectWalletButton(props) {
|
|
|
28963
29524
|
const isConnecting = connectButtonLabel !== label || isLoading;
|
|
28964
29525
|
return /* @__PURE__ */ jsx127("div", { "data-current-theme-mode": colorMode, className: cn("embarkai-ui-scope w-fit h-fit", className), children: !address ? (
|
|
28965
29526
|
/** external Buttons can be provided */
|
|
28966
|
-
/* @__PURE__ */ jsx127(
|
|
29527
|
+
/* @__PURE__ */ jsx127(Fragment46, { children: ConnectButton ? /* @__PURE__ */ jsxs113(
|
|
28967
29528
|
ConnectButton,
|
|
28968
29529
|
{
|
|
28969
29530
|
type: "button",
|
|
@@ -29595,13 +30156,13 @@ var Hash = ({
|
|
|
29595
30156
|
|
|
29596
30157
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
29597
30158
|
init_base2();
|
|
29598
|
-
import { useEffect as
|
|
30159
|
+
import { useEffect as useEffect58, useState as useState32 } from "react";
|
|
29599
30160
|
import { jsx as jsx133, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
29600
30161
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
29601
30162
|
const [transactions, setTransactions] = useState32([]);
|
|
29602
30163
|
const [loading, setLoading] = useState32(true);
|
|
29603
30164
|
const [error, setError] = useState32(null);
|
|
29604
|
-
|
|
30165
|
+
useEffect58(() => {
|
|
29605
30166
|
const fetchTransactions2 = async () => {
|
|
29606
30167
|
try {
|
|
29607
30168
|
setLoading(true);
|
|
@@ -30465,6 +31026,7 @@ function useSmartAccountTransactions() {
|
|
|
30465
31026
|
init_iframe_manager();
|
|
30466
31027
|
init_Onboarding();
|
|
30467
31028
|
init_BuyMenu2();
|
|
31029
|
+
init_SendMenu2();
|
|
30468
31030
|
|
|
30469
31031
|
// src/internal/assets/index.ts
|
|
30470
31032
|
init_networks2();
|
|
@@ -30496,6 +31058,7 @@ autorun();
|
|
|
30496
31058
|
export {
|
|
30497
31059
|
AccountAbstractionError,
|
|
30498
31060
|
Address,
|
|
31061
|
+
BRIDGE_MENU_TOUR,
|
|
30499
31062
|
BUY_MENU_BINANCE_TOUR,
|
|
30500
31063
|
ConnectWalletButton,
|
|
30501
31064
|
ErrorCodes,
|
|
@@ -30507,6 +31070,7 @@ export {
|
|
|
30507
31070
|
PASSPORT_TRANSLATIONS,
|
|
30508
31071
|
PageKey,
|
|
30509
31072
|
Provider,
|
|
31073
|
+
SEND_MENU_TOUR,
|
|
30510
31074
|
SessionExpiredError,
|
|
30511
31075
|
TOKENS_ICONS,
|
|
30512
31076
|
ThemeToggle,
|