0xtrails 0.13.2 → 0.14.0
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/abis/trailsHydrate.d.ts +5 -42
- package/dist/abis/trailsHydrate.d.ts.map +1 -1
- package/dist/abis/trailsRouter.d.ts +1 -1
- package/dist/abis/trailsRouter.d.ts.map +1 -1
- package/dist/{widget/analytics → analytics/hooks}/useWidgetAnalytics.d.ts +2 -4
- package/dist/analytics/hooks/useWidgetAnalytics.d.ts.map +1 -0
- package/dist/analytics.d.ts.map +1 -1
- package/dist/chainSwitch.d.ts.map +1 -1
- package/dist/chains-C1NhDLF_.js +4 -0
- package/dist/chains-CcoarGia.js +658 -0
- package/dist/chains.d.ts +0 -1
- package/dist/chains.d.ts.map +1 -1
- package/dist/committedIntentStore.d.ts +5 -0
- package/dist/committedIntentStore.d.ts.map +1 -0
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/error.d.ts +73 -4
- package/dist/error.d.ts.map +1 -1
- package/dist/hooks/useAddressWalletIcon.d.ts.map +1 -0
- package/dist/hooks/useAmountUsd.d.ts.map +1 -0
- package/dist/hooks/useBalanceVisible.d.ts.map +1 -0
- package/dist/hooks/useChainFilter.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useCheckout.d.ts +15 -15
- package/dist/hooks/useCheckout.d.ts.map +1 -0
- package/dist/hooks/useClickTracking.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useCombinedHistory.d.ts +3 -2
- package/dist/hooks/useCombinedHistory.d.ts.map +1 -0
- package/dist/hooks/useConnector.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useCustomTokenSearch.d.ts +1 -1
- package/dist/hooks/useCustomTokenSearch.d.ts.map +1 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useDebugScreens.d.ts +2 -2
- package/dist/hooks/useDebugScreens.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useDefaultDestinationToken.d.ts +1 -1
- package/dist/hooks/useDefaultDestinationToken.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useDefaultOriginToken.d.ts +1 -1
- package/dist/hooks/useDefaultOriginToken.d.ts.map +1 -0
- package/dist/hooks/useDepositMonitor.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useDestinationSelectedToken.d.ts +2 -2
- package/dist/hooks/useDestinationSelectedToken.d.ts.map +1 -0
- package/dist/hooks/useDisplayCurrencyPreference.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useEarnPool.d.ts +1 -1
- package/dist/hooks/useEarnPool.d.ts.map +1 -0
- package/dist/hooks/useEffectiveFundBalance.d.ts +28 -0
- package/dist/hooks/useEffectiveFundBalance.d.ts.map +1 -0
- package/dist/hooks/useExecutingIntentsCount.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useExternalFundingReceiptSync.d.ts +1 -1
- package/dist/hooks/useExternalFundingReceiptSync.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useFiatOnRampCurrencies.d.ts +1 -1
- package/dist/hooks/useFiatOnRampCurrencies.d.ts.map +1 -0
- package/dist/hooks/useFiatSelectedCurrency.d.ts.map +1 -0
- package/dist/hooks/useGetIntent.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useIntentReceiptBalances.d.ts +1 -1
- package/dist/hooks/useIntentReceiptBalances.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useIntentTransactionHistory.d.ts +2 -1
- package/dist/hooks/useIntentTransactionHistory.d.ts.map +1 -0
- package/dist/hooks/useIsMobile.d.ts.map +1 -0
- package/dist/hooks/useIsSequenceWallet.d.ts.map +1 -0
- package/dist/hooks/useLocalePreference.d.ts.map +1 -0
- package/dist/hooks/useMeldTransactionHistory.d.ts.map +1 -0
- package/dist/hooks/useMeldTransactionStatus.d.ts.map +1 -0
- package/dist/hooks/useOnRampCountryDefaults.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useOnRampPaymentMethods.d.ts +2 -2
- package/dist/hooks/useOnRampPaymentMethods.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useOnRampProviderWidget.d.ts +1 -1
- package/dist/hooks/useOnRampProviderWidget.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useOnRampQuote.d.ts +3 -3
- package/dist/hooks/useOnRampQuote.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useOnRampTransactionStatus.d.ts +1 -1
- package/dist/hooks/useOnRampTransactionStatus.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useOriginSelectedToken.d.ts +1 -1
- package/dist/hooks/useOriginSelectedToken.d.ts.map +1 -0
- package/dist/hooks/usePayMessage.d.ts.map +1 -0
- package/dist/hooks/usePriceImpactWarning.d.ts.map +1 -0
- package/dist/hooks/useQuote.d.ts +439 -0
- package/dist/hooks/useQuote.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useRecentTokens.d.ts +1 -1
- package/dist/hooks/useRecentTokens.d.ts.map +1 -0
- package/dist/hooks/useRecipients.d.ts.map +1 -0
- package/dist/hooks/useSelectedFeeOption.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useSelectedFundMethod.d.ts +11 -1
- package/dist/hooks/useSelectedFundMethod.d.ts.map +1 -0
- package/dist/hooks/useSelectedRecipient.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useSendForm.d.ts +6 -11
- package/dist/hooks/useSendForm.d.ts.map +1 -0
- package/dist/hooks/useSwapAmount.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useSwapState.d.ts +1 -1
- package/dist/hooks/useSwapState.d.ts.map +1 -0
- package/dist/hooks/useTargetAmount.d.ts.map +1 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useTokenList.d.ts +2 -2
- package/dist/hooks/useTokenList.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useTrailsSendTransaction.d.ts +1 -1
- package/dist/hooks/useTrailsSendTransaction.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useViewManager.d.ts +1 -1
- package/dist/hooks/useViewManager.d.ts.map +1 -0
- package/dist/hooks/useWalletConnectUri.d.ts +19 -0
- package/dist/hooks/useWalletConnectUri.d.ts.map +1 -0
- package/dist/hooks/useWalletConnectionContext.d.ts.map +1 -0
- package/dist/{widget/hooks → hooks}/useWidgetProps.d.ts +1 -1
- package/dist/hooks/useWidgetProps.d.ts.map +1 -0
- package/dist/hydrate/builder.d.ts +131 -0
- package/dist/hydrate/builder.d.ts.map +1 -0
- package/dist/hydrate/constants.d.ts +13 -0
- package/dist/hydrate/constants.d.ts.map +1 -0
- package/dist/hydrate/encodeExecute.d.ts +73 -0
- package/dist/hydrate/encodeExecute.d.ts.map +1 -0
- package/dist/hydrate/index.d.ts +6 -0
- package/dist/hydrate/index.d.ts.map +1 -0
- package/dist/hydrate/index.js +11 -0
- package/dist/hydrate/payload.d.ts +38 -0
- package/dist/hydrate/payload.d.ts.map +1 -0
- package/dist/hydrate/selectors.d.ts +28 -0
- package/dist/hydrate/selectors.d.ts.map +1 -0
- package/dist/hydrate/types.d.ts +19 -0
- package/dist/hydrate/types.d.ts.map +1 -0
- package/dist/hydrate/utils.d.ts +8 -0
- package/dist/hydrate/utils.d.ts.map +1 -0
- package/dist/hydrate-Cr9eaeDK.js +654 -0
- package/dist/index.d.ts +19 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +157 -662
- package/dist/intentConfigStore.d.ts +8 -0
- package/dist/intentConfigStore.d.ts.map +1 -0
- package/dist/intentProtocolApi.d.ts +11 -0
- package/dist/intentProtocolApi.d.ts.map +1 -0
- package/dist/intentProtocolEncoding.d.ts +25 -0
- package/dist/intentProtocolEncoding.d.ts.map +1 -0
- package/dist/intentProtocolResolver.d.ts +28 -0
- package/dist/intentProtocolResolver.d.ts.map +1 -0
- package/dist/intentReceiptPoller.d.ts.map +1 -1
- package/dist/intentValidation.d.ts +5 -0
- package/dist/intentValidation.d.ts.map +1 -0
- package/dist/intents.d.ts.map +1 -1
- package/dist/keymachine/index.d.ts +20 -0
- package/dist/keymachine/index.d.ts.map +1 -1
- package/dist/mutations.d.ts.map +1 -1
- package/dist/offlineRecovery.d.ts +24 -0
- package/dist/offlineRecovery.d.ts.map +1 -0
- package/dist/onramp/MeshConnectFlow.d.ts +9 -0
- package/dist/onramp/MeshConnectFlow.d.ts.map +1 -1
- package/dist/onramp/MeshConnectIframe.d.ts +9 -0
- package/dist/onramp/MeshConnectIframe.d.ts.map +1 -1
- package/dist/onramp/TrailsOnRampProvider.d.ts.map +1 -1
- package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts +10 -0
- package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts.map +1 -0
- package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts +13 -0
- package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts.map +1 -0
- package/dist/{widget → onramp/mesh}/components/MeshExchangeSelection.d.ts +1 -0
- package/dist/onramp/mesh/components/MeshExchangeSelection.d.ts.map +1 -0
- package/dist/onramp/mesh/components/MeshSessionOptions.d.ts +15 -0
- package/dist/onramp/mesh/components/MeshSessionOptions.d.ts.map +1 -0
- package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts +9 -0
- package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts.map +1 -0
- package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts +11 -0
- package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts.map +1 -0
- package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts +71 -0
- package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts.map +1 -0
- package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts +32 -0
- package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts.map +1 -0
- package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts +19 -0
- package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts.map +1 -0
- package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts +15 -0
- package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts.map +1 -0
- package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts +7 -0
- package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts.map +1 -0
- package/dist/onramp/meshSessionStorage.d.ts +13 -0
- package/dist/onramp/meshSessionStorage.d.ts.map +1 -0
- package/dist/onramp/meshconnect.d.ts +6 -4
- package/dist/onramp/meshconnect.d.ts.map +1 -1
- package/dist/onramp/trailsOnramp.d.ts +8 -0
- package/dist/onramp/trailsOnramp.d.ts.map +1 -1
- package/dist/onrampClient.d.ts.map +1 -1
- package/dist/prepareSend.d.ts +3 -2
- package/dist/prepareSend.d.ts.map +1 -1
- package/dist/query/intentProtocol.queries.d.ts +32 -0
- package/dist/query/intentProtocol.queries.d.ts.map +1 -0
- package/dist/recover.d.ts +70 -24
- package/dist/recover.d.ts.map +1 -1
- package/dist/src-4HYDQv2T.js +48798 -0
- package/dist/transactionIntent/deposits/depositOrchestrator.d.ts +2 -3
- package/dist/transactionIntent/deposits/depositOrchestrator.d.ts.map +1 -1
- package/dist/transactionIntent/deposits/gaslessDeposit.d.ts +2 -3
- package/dist/transactionIntent/deposits/gaslessDeposit.d.ts.map +1 -1
- package/dist/transactionIntent/deposits/standardDeposit.d.ts +2 -5
- package/dist/transactionIntent/deposits/standardDeposit.d.ts.map +1 -1
- package/dist/transactionIntent/handlers/intentHandler.d.ts +4 -4
- package/dist/transactionIntent/handlers/intentHandler.d.ts.map +1 -1
- package/dist/transactionIntent/quote/quoteHelpers.d.ts +2 -2
- package/dist/transactionIntent/quote/quoteHelpers.d.ts.map +1 -1
- package/dist/transactionIntent/types.d.ts +3 -3
- package/dist/transactionIntent/types.d.ts.map +1 -1
- package/dist/transactions.d.ts +1 -0
- package/dist/transactions.d.ts.map +1 -1
- package/dist/umd/trails.min.js +1370 -410
- package/dist/utils/localStorageGc.d.ts +22 -0
- package/dist/utils/localStorageGc.d.ts.map +1 -0
- package/dist/walletUtils.d.ts.map +1 -1
- package/dist/widget/components/AccountIntentTransactionHistory.d.ts.map +1 -1
- package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
- package/dist/widget/components/ConnectedWallets.d.ts +1 -1
- package/dist/widget/components/ConnectedWallets.d.ts.map +1 -1
- package/dist/widget/components/Earn.d.ts +2 -6
- package/dist/widget/components/Earn.d.ts.map +1 -1
- package/dist/widget/components/FeeOption.d.ts +1 -1
- package/dist/widget/components/FeeOption.d.ts.map +1 -1
- package/dist/widget/components/FeeOptions.d.ts +1 -1
- package/dist/widget/components/FeeOptions.d.ts.map +1 -1
- package/dist/widget/components/FiatSelector.d.ts +1 -1
- package/dist/widget/components/FiatSelector.d.ts.map +1 -1
- package/dist/widget/components/FiatSelectorButton.d.ts +1 -1
- package/dist/widget/components/FiatSelectorButton.d.ts.map +1 -1
- package/dist/widget/components/Fund.d.ts +1 -1
- package/dist/widget/components/Fund.d.ts.map +1 -1
- package/dist/widget/components/FundMethods.d.ts.map +1 -1
- package/dist/widget/components/FundingMethodSelectorButton.d.ts +1 -1
- package/dist/widget/components/FundingMethodSelectorButton.d.ts.map +1 -1
- package/dist/widget/components/MeldHistory.d.ts +1 -1
- package/dist/widget/components/MeldHistory.d.ts.map +1 -1
- package/dist/widget/components/MeldTransactionStatus.d.ts +1 -1
- package/dist/widget/components/MeldTransactionStatus.d.ts.map +1 -1
- package/dist/widget/components/MeshExchangeAccountHeader.d.ts +9 -0
- package/dist/widget/components/MeshExchangeAccountHeader.d.ts.map +1 -0
- package/dist/widget/components/OnrampHistoryRow.d.ts +1 -1
- package/dist/widget/components/OnrampHistoryRow.d.ts.map +1 -1
- package/dist/widget/components/OnrampProviderConfirmation.d.ts +1 -1
- package/dist/widget/components/OnrampProviderConfirmation.d.ts.map +1 -1
- package/dist/widget/components/Pay.d.ts.map +1 -1
- package/dist/widget/components/PoolDeposit.d.ts +2 -6
- package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
- package/dist/widget/components/PoolWithdraw.d.ts +2 -2
- package/dist/widget/components/PoolWithdraw.d.ts.map +1 -1
- package/dist/widget/components/PulsatingButton.d.ts +9 -0
- package/dist/widget/components/PulsatingButton.d.ts.map +1 -0
- package/dist/widget/components/Receipt.d.ts +1 -1
- package/dist/widget/components/Receipt.d.ts.map +1 -1
- package/dist/widget/components/RecipientSelectorButton.d.ts.map +1 -1
- package/dist/widget/components/Recipients.d.ts.map +1 -1
- package/dist/widget/components/Swap.d.ts +2 -6
- package/dist/widget/components/Swap.d.ts.map +1 -1
- package/dist/widget/components/TokenList.d.ts +1 -0
- package/dist/widget/components/TokenList.d.ts.map +1 -1
- package/dist/widget/components/TokenSelector.d.ts +1 -2
- package/dist/widget/components/TokenSelector.d.ts.map +1 -1
- package/dist/widget/components/TransactionDetails.d.ts +1 -0
- package/dist/widget/components/TransactionDetails.d.ts.map +1 -1
- package/dist/widget/components/TransactionHistoryItem.d.ts +1 -0
- package/dist/widget/components/TransactionHistoryItem.d.ts.map +1 -1
- package/dist/widget/components/TransferPendingVertical.d.ts +1 -1
- package/dist/widget/components/TransferPendingVertical.d.ts.map +1 -1
- package/dist/widget/components/WalletAccountHeader.d.ts +7 -0
- package/dist/widget/components/WalletAccountHeader.d.ts.map +1 -0
- package/dist/widget/components/WalletConfirmation.d.ts +2 -1
- package/dist/widget/components/WalletConfirmation.d.ts.map +1 -1
- package/dist/widget/components/WalletConnect.d.ts.map +1 -1
- package/dist/widget/components/WidgetProviders.d.ts.map +1 -1
- package/dist/widget/components/Withdraw.d.ts.map +1 -1
- package/dist/widget/index.d.ts +13 -0
- package/dist/widget/index.d.ts.map +1 -1
- package/dist/widget/index.js +16 -8
- package/dist/widget/modes/EarnWidget.d.ts +83 -0
- package/dist/widget/modes/EarnWidget.d.ts.map +1 -0
- package/dist/widget/modes/FundWidget.d.ts +103 -0
- package/dist/widget/modes/FundWidget.d.ts.map +1 -0
- package/dist/widget/modes/PayWidget.d.ts +86 -0
- package/dist/widget/modes/PayWidget.d.ts.map +1 -0
- package/dist/widget/modes/SwapWidget.d.ts +82 -0
- package/dist/widget/modes/SwapWidget.d.ts.map +1 -0
- package/dist/widget/modes/WithdrawWidget.d.ts +71 -0
- package/dist/widget/modes/WithdrawWidget.d.ts.map +1 -0
- package/dist/widget/providers/TrailsProvider.d.ts +3 -0
- package/dist/widget/providers/TrailsProvider.d.ts.map +1 -1
- package/dist/widget/shared/mapSharedProps.d.ts +9 -0
- package/dist/widget/shared/mapSharedProps.d.ts.map +1 -0
- package/dist/widget/shared/methodMap.d.ts +18 -0
- package/dist/widget/shared/methodMap.d.ts.map +1 -0
- package/dist/widget/shared/resolution.d.ts +22 -0
- package/dist/widget/shared/resolution.d.ts.map +1 -0
- package/dist/widget/shared/resolvePaymentSource.d.ts +34 -0
- package/dist/widget/shared/resolvePaymentSource.d.ts.map +1 -0
- package/dist/widget/shared/types.d.ts +94 -0
- package/dist/widget/shared/types.d.ts.map +1 -0
- package/dist/widget/types/commonProps.d.ts +3 -7
- package/dist/widget/types/commonProps.d.ts.map +1 -1
- package/dist/widget/utils/fundMethodSwitchState.d.ts +1 -0
- package/dist/widget/utils/fundMethodSwitchState.d.ts.map +1 -1
- package/dist/widget/utils/viewManagerGuards.d.ts +1 -1
- package/dist/widget/utils/viewManagerGuards.d.ts.map +1 -1
- package/dist/widget/widget.d.ts +21 -16
- package/dist/widget/widget.d.ts.map +1 -1
- package/package.json +17 -23
- package/dist/buffer.d.ts +0 -3
- package/dist/buffer.d.ts.map +0 -1
- package/dist/ccip-CT_An6eM.js +0 -230
- package/dist/index-RfqL5Foz.js +0 -114567
- package/dist/paymasterSend.d.ts +0 -90
- package/dist/paymasterSend.d.ts.map +0 -1
- package/dist/sendUserOp.d.ts +0 -122
- package/dist/sendUserOp.d.ts.map +0 -1
- package/dist/toSimpleSmartAccount.d.ts +0 -95
- package/dist/toSimpleSmartAccount.d.ts.map +0 -1
- package/dist/transactionIntent/utils/erc20Approval.d.ts +0 -34
- package/dist/transactionIntent/utils/erc20Approval.d.ts.map +0 -1
- package/dist/utils/allowance.d.ts +0 -19
- package/dist/utils/allowance.d.ts.map +0 -1
- package/dist/widget/analytics/useWidgetAnalytics.d.ts.map +0 -1
- package/dist/widget/components/FeeBreakdown.d.ts +0 -9
- package/dist/widget/components/FeeBreakdown.d.ts.map +0 -1
- package/dist/widget/components/HideBalances.d.ts +0 -4
- package/dist/widget/components/HideBalances.d.ts.map +0 -1
- package/dist/widget/components/MeshExchangeSelection.d.ts.map +0 -1
- package/dist/widget/components/OnrampDeposit.d.ts +0 -10
- package/dist/widget/components/OnrampDeposit.d.ts.map +0 -1
- package/dist/widget/components/SwapSettings.d.ts +0 -4
- package/dist/widget/components/SwapSettings.d.ts.map +0 -1
- package/dist/widget/components/TruncatedAddress.d.ts +0 -12
- package/dist/widget/components/TruncatedAddress.d.ts.map +0 -1
- package/dist/widget/components/WalletImage.d.ts +0 -8
- package/dist/widget/components/WalletImage.d.ts.map +0 -1
- package/dist/widget/css/compiled.css +0 -26
- package/dist/widget/css/index.css +0 -686
- package/dist/widget/hooks/useAddressWalletIcon.d.ts.map +0 -1
- package/dist/widget/hooks/useAmountUsd.d.ts.map +0 -1
- package/dist/widget/hooks/useBalanceVisible.d.ts.map +0 -1
- package/dist/widget/hooks/useChainFilter.d.ts.map +0 -1
- package/dist/widget/hooks/useCheckout.d.ts.map +0 -1
- package/dist/widget/hooks/useClickTracking.d.ts.map +0 -1
- package/dist/widget/hooks/useCombinedHistory.d.ts.map +0 -1
- package/dist/widget/hooks/useConnector.d.ts.map +0 -1
- package/dist/widget/hooks/useCustomTokenSearch.d.ts.map +0 -1
- package/dist/widget/hooks/useDebounce.d.ts.map +0 -1
- package/dist/widget/hooks/useDebugScreens.d.ts.map +0 -1
- package/dist/widget/hooks/useDefaultDestinationToken.d.ts.map +0 -1
- package/dist/widget/hooks/useDefaultOriginToken.d.ts.map +0 -1
- package/dist/widget/hooks/useDepositMonitor.d.ts.map +0 -1
- package/dist/widget/hooks/useDestinationSelectedToken.d.ts.map +0 -1
- package/dist/widget/hooks/useDisplayCurrencyPreference.d.ts.map +0 -1
- package/dist/widget/hooks/useEarnPool.d.ts.map +0 -1
- package/dist/widget/hooks/useExecutingIntentsCount.d.ts.map +0 -1
- package/dist/widget/hooks/useExternalFundingReceiptSync.d.ts.map +0 -1
- package/dist/widget/hooks/useFiatOnRampCurrencies.d.ts.map +0 -1
- package/dist/widget/hooks/useFiatSelectedCurrency.d.ts.map +0 -1
- package/dist/widget/hooks/useGetIntent.d.ts.map +0 -1
- package/dist/widget/hooks/useIntentReceiptBalances.d.ts.map +0 -1
- package/dist/widget/hooks/useIntentTransactionHistory.d.ts.map +0 -1
- package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts +0 -7
- package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts.map +0 -1
- package/dist/widget/hooks/useIsMobile.d.ts.map +0 -1
- package/dist/widget/hooks/useIsSequenceWallet.d.ts.map +0 -1
- package/dist/widget/hooks/useLocalePreference.d.ts.map +0 -1
- package/dist/widget/hooks/useMeldTransactionHistory.d.ts.map +0 -1
- package/dist/widget/hooks/useMeldTransactionStatus.d.ts.map +0 -1
- package/dist/widget/hooks/useOnRampCountryDefaults.d.ts.map +0 -1
- package/dist/widget/hooks/useOnRampPaymentMethods.d.ts.map +0 -1
- package/dist/widget/hooks/useOnRampProviderWidget.d.ts.map +0 -1
- package/dist/widget/hooks/useOnRampQuote.d.ts.map +0 -1
- package/dist/widget/hooks/useOnRampTransactionStatus.d.ts.map +0 -1
- package/dist/widget/hooks/useOriginSelectedToken.d.ts.map +0 -1
- package/dist/widget/hooks/usePayMessage.d.ts.map +0 -1
- package/dist/widget/hooks/usePriceImpactWarning.d.ts.map +0 -1
- package/dist/widget/hooks/useQuote.d.ts +0 -378
- package/dist/widget/hooks/useQuote.d.ts.map +0 -1
- package/dist/widget/hooks/useRecentTokens.d.ts.map +0 -1
- package/dist/widget/hooks/useRecipients.d.ts.map +0 -1
- package/dist/widget/hooks/useScreenTracking.d.ts +0 -2
- package/dist/widget/hooks/useScreenTracking.d.ts.map +0 -1
- package/dist/widget/hooks/useSelectedFeeOption.d.ts.map +0 -1
- package/dist/widget/hooks/useSelectedFundMethod.d.ts.map +0 -1
- package/dist/widget/hooks/useSelectedRecipient.d.ts.map +0 -1
- package/dist/widget/hooks/useSendForm.d.ts.map +0 -1
- package/dist/widget/hooks/useSwapAmount.d.ts.map +0 -1
- package/dist/widget/hooks/useSwapState.d.ts.map +0 -1
- package/dist/widget/hooks/useTargetAmount.d.ts.map +0 -1
- package/dist/widget/hooks/useTheme.d.ts.map +0 -1
- package/dist/widget/hooks/useTokenList.d.ts.map +0 -1
- package/dist/widget/hooks/useTrailsSendTransaction.d.ts.map +0 -1
- package/dist/widget/hooks/useViewManager.d.ts.map +0 -1
- package/dist/widget/hooks/useWalletConnectUri.d.ts +0 -11
- package/dist/widget/hooks/useWalletConnectUri.d.ts.map +0 -1
- package/dist/widget/hooks/useWalletConnectionContext.d.ts.map +0 -1
- package/dist/widget/hooks/useWidgetProps.d.ts.map +0 -1
- package/dist/widget/types.d.ts +0 -44
- package/dist/widget/types.d.ts.map +0 -1
- package/dist/widget/utils/historyUtils.d.ts +0 -18
- package/dist/widget/utils/historyUtils.d.ts.map +0 -1
- package/src/abi.ts +0 -38
- package/src/abis/erc20.ts +0 -60
- package/src/abis/trailsHydrate.ts +0 -185
- package/src/abis/trailsRouter.ts +0 -121
- package/src/abis/trailsSweep.ts +0 -32
- package/src/abortController.ts +0 -35
- package/src/analytics.ts +0 -2029
- package/src/buffer.ts +0 -10
- package/src/chainSwitch.ts +0 -95
- package/src/chains.ts +0 -570
- package/src/config.ts +0 -118
- package/src/constants.ts +0 -239
- package/src/contractUtils.ts +0 -46
- package/src/cssUtils.ts +0 -5
- package/src/customChains.ts +0 -24
- package/src/customTokens.ts +0 -168
- package/src/decoders.ts +0 -365
- package/src/ens.ts +0 -74
- package/src/error.ts +0 -268
- package/src/estimate.ts +0 -480
- package/src/explorer.ts +0 -38
- package/src/fees.ts +0 -362
- package/src/gasless.ts +0 -638
- package/src/index.ts +0 -205
- package/src/indexerClient.ts +0 -118
- package/src/intentReceiptMonitor.ts +0 -99
- package/src/intentReceiptPoller.ts +0 -327
- package/src/intents.ts +0 -1133
- package/src/keyMachineClient.ts +0 -29
- package/src/keymachine/index.ts +0 -175
- package/src/keymachine/key-machine.gen.ts +0 -993
- package/src/localeUtils.ts +0 -244
- package/src/logger/index.ts +0 -95
- package/src/logger/useSyncLoggerDebug.ts +0 -11
- package/src/logger.ts +0 -1
- package/src/meld/components/MeldCountriesList.tsx +0 -237
- package/src/meld/components/MeldFundMethods.tsx +0 -265
- package/src/meld/components/MeldProvidersList.tsx +0 -187
- package/src/meld/components/MeldTokensList.tsx +0 -321
- package/src/meld/components/SimpleHeader.tsx +0 -35
- package/src/meld/utils/meld.ts +0 -77
- package/src/mutations.ts +0 -166
- package/src/onramp/MeshConnectFlow.tsx +0 -86
- package/src/onramp/MeshConnectIframe.tsx +0 -661
- package/src/onramp/SendFromExchangeButton.tsx +0 -81
- package/src/onramp/TrailsOnRampProvider.tsx +0 -59
- package/src/onramp/index.ts +0 -31
- package/src/onramp/meshconnect.ts +0 -277
- package/src/onramp/trailsOnramp.tsx +0 -130
- package/src/onramp-client/index.ts +0 -52
- package/src/onrampClient.ts +0 -46
- package/src/paymasterSend.ts +0 -521
- package/src/placeholder.ts +0 -92
- package/src/poolUtils.ts +0 -222
- package/src/pools.ts +0 -120
- package/src/prepareSend.ts +0 -553
- package/src/query/balance.fetchers.ts +0 -753
- package/src/query/balance.hooks.ts +0 -357
- package/src/query/balance.queries.ts +0 -307
- package/src/query/chains.hooks.ts +0 -45
- package/src/query/chains.queries.ts +0 -17
- package/src/query/client.ts +0 -20
- package/src/query/fiat.fetchers.ts +0 -33
- package/src/query/fiat.hooks.ts +0 -71
- package/src/query/fiat.queries.ts +0 -67
- package/src/query/geo.fetchers.ts +0 -100
- package/src/query/geo.hooks.ts +0 -16
- package/src/query/geo.queries.ts +0 -36
- package/src/query/helpers.ts +0 -81
- package/src/query/meld.fetchers.ts +0 -97
- package/src/query/meld.hooks.ts +0 -18
- package/src/query/meld.queries.ts +0 -184
- package/src/query/persister.ts +0 -11
- package/src/query/price.fetchers.ts +0 -53
- package/src/query/price.hooks.ts +0 -46
- package/src/query/price.queries.ts +0 -364
- package/src/query/tokenList.queries.ts +0 -118
- package/src/queryParams.ts +0 -100
- package/src/recover.ts +0 -1728
- package/src/sendUserOp.ts +0 -512
- package/src/theme.ts +0 -2
- package/src/toSimpleSmartAccount.ts +0 -567
- package/src/toast.ts +0 -110
- package/src/tokens.ts +0 -1862
- package/src/trailsClient.ts +0 -40
- package/src/transactionIntent/constants.ts +0 -15
- package/src/transactionIntent/deposits/depositOrchestrator.ts +0 -243
- package/src/transactionIntent/deposits/gaslessDeposit.ts +0 -705
- package/src/transactionIntent/deposits/index.ts +0 -3
- package/src/transactionIntent/deposits/standardDeposit.ts +0 -590
- package/src/transactionIntent/execution/index.ts +0 -1
- package/src/transactionIntent/execution/transactionState.ts +0 -38
- package/src/transactionIntent/handlers/index.ts +0 -1
- package/src/transactionIntent/handlers/intentHandler.ts +0 -1613
- package/src/transactionIntent/helpers/index.ts +0 -1
- package/src/transactionIntent/helpers/transactionStateHelpers.ts +0 -440
- package/src/transactionIntent/index.ts +0 -10
- package/src/transactionIntent/quote/feeExtractors.ts +0 -61
- package/src/transactionIntent/quote/index.ts +0 -3
- package/src/transactionIntent/quote/normalizeQuote.ts +0 -559
- package/src/transactionIntent/quote/quoteHelpers.ts +0 -117
- package/src/transactionIntent/types.ts +0 -241
- package/src/transactionIntent/utils/balanceChecker.ts +0 -103
- package/src/transactionIntent/utils/erc20Approval.ts +0 -171
- package/src/transactionIntent/utils/index.ts +0 -2
- package/src/transactionIntent/utils/resilientDepositTracker.ts +0 -171
- package/src/transactionIntent/utils/testnetHelpers.ts +0 -5
- package/src/transactionIntent/validators.ts +0 -27
- package/src/transactions.ts +0 -429
- package/src/types.d.ts +0 -16
- package/src/umd.tsx +0 -33
- package/src/utils/address.ts +0 -78
- package/src/utils/allowance.ts +0 -47
- package/src/utils/fiat.ts +0 -32
- package/src/utils/format.ts +0 -625
- package/src/utils/passthrough.ts +0 -93
- package/src/utils/time.ts +0 -118
- package/src/utils/validation.ts +0 -104
- package/src/utils.ts +0 -112
- package/src/version.ts +0 -8
- package/src/vite-env.d.ts +0 -4
- package/src/walletUtils.ts +0 -293
- package/src/wallets.ts +0 -544
- package/src/widget/analytics/useWidgetAnalytics.ts +0 -56
- package/src/widget/assets/Exchange-icon-black.svg +0 -5
- package/src/widget/assets/MetaMask-icon-fox-with-margins.svg +0 -31
- package/src/widget/assets/MetaMask-icon-fox.svg +0 -26
- package/src/widget/assets/MetaMask-logo-black.svg +0 -3
- package/src/widget/assets/MetaMask-logo-white.svg +0 -16
- package/src/widget/assets/Trails-logo-black.svg +0 -13
- package/src/widget/assets/Trails-logo-white.svg +0 -13
- package/src/widget/assets/WalletChange-black.svg +0 -5
- package/src/widget/assets/WalletConnect-logo-black.svg +0 -14
- package/src/widget/assets/WalletConnect-logo-blue.svg +0 -14
- package/src/widget/assets/WalletConnect-logo-white.svg +0 -14
- package/src/widget/assets/WalletConnect-logo.svg +0 -40
- package/src/widget/assets/aave.svg +0 -14
- package/src/widget/assets/morpho.svg +0 -14
- package/src/widget/compiled.css +0 -26
- package/src/widget/components/AccountActionsDropdown.tsx +0 -31
- package/src/widget/components/AccountIntentTransactionHistory.tsx +0 -756
- package/src/widget/components/AccountIntentTransactionHistoryButton.tsx +0 -34
- package/src/widget/components/AccountSettings.tsx +0 -168
- package/src/widget/components/AddressOrEnsName.tsx +0 -24
- package/src/widget/components/AddressWalletIcon.tsx +0 -49
- package/src/widget/components/AllChainsIcon.tsx +0 -54
- package/src/widget/components/ChainFilterDropdown.tsx +0 -220
- package/src/widget/components/ChainImage.tsx +0 -40
- package/src/widget/components/ChainList.tsx +0 -158
- package/src/widget/components/ClassicSwap.tsx +0 -1761
- package/src/widget/components/ConfigDisplay.tsx +0 -158
- package/src/widget/components/ConnectWallet.tsx +0 -566
- package/src/widget/components/ConnectedWallets.tsx +0 -414
- package/src/widget/components/CopyButton.tsx +0 -108
- package/src/widget/components/CountryFilterDropdown.tsx +0 -179
- package/src/widget/components/DebugMenu.tsx +0 -50
- package/src/widget/components/DebugScreensList.tsx +0 -70
- package/src/widget/components/DebugToast.tsx +0 -63
- package/src/widget/components/DepositTracker.tsx +0 -326
- package/src/widget/components/DirectTransfer.tsx +0 -305
- package/src/widget/components/Disconnect.tsx +0 -68
- package/src/widget/components/DynamicInputStyles.tsx +0 -121
- package/src/widget/components/DynamicSizeInputField.tsx +0 -245
- package/src/widget/components/ENSAvatar.tsx +0 -33
- package/src/widget/components/Earn.tsx +0 -160
- package/src/widget/components/EarnPools.tsx +0 -417
- package/src/widget/components/EarnPoolsFilters.tsx +0 -165
- package/src/widget/components/ErrorAnimationIcon.tsx +0 -130
- package/src/widget/components/ErrorDisplay.tsx +0 -152
- package/src/widget/components/ExecutingIntentsBadge.tsx +0 -24
- package/src/widget/components/ExecutionStatusBadge.tsx +0 -53
- package/src/widget/components/FeeBreakdown.tsx +0 -155
- package/src/widget/components/FeeOption.tsx +0 -170
- package/src/widget/components/FeeOptions.tsx +0 -247
- package/src/widget/components/FiatSelector.tsx +0 -308
- package/src/widget/components/FiatSelectorButton.tsx +0 -68
- package/src/widget/components/Footer.tsx +0 -67
- package/src/widget/components/Fund.tsx +0 -2463
- package/src/widget/components/FundMethods.tsx +0 -423
- package/src/widget/components/FundWalletSelection.tsx +0 -60
- package/src/widget/components/FundingMethodSelectorButton.tsx +0 -106
- package/src/widget/components/GreenCheckAnimation.tsx +0 -119
- package/src/widget/components/HideBalances.tsx +0 -24
- package/src/widget/components/HighPriceImpactBlock.tsx +0 -44
- package/src/widget/components/HookModalContent.tsx +0 -377
- package/src/widget/components/Identicon.tsx +0 -228
- package/src/widget/components/LoadingSpinner.tsx +0 -9
- package/src/widget/components/MeldForm.tsx +0 -780
- package/src/widget/components/MeldHistory.tsx +0 -433
- package/src/widget/components/MeldStepsFlow.tsx +0 -1651
- package/src/widget/components/MeldTransactionStatus.tsx +0 -255
- package/src/widget/components/MeshExchangeSelection.tsx +0 -218
- package/src/widget/components/Modal.tsx +0 -86
- package/src/widget/components/OFTProgressBar.tsx +0 -89
- package/src/widget/components/OnRampProviderSelector.tsx +0 -263
- package/src/widget/components/OnrampDeposit.tsx +0 -122
- package/src/widget/components/OnrampErrorScreen.tsx +0 -163
- package/src/widget/components/OnrampHistoryRow.tsx +0 -321
- package/src/widget/components/OnrampPaymentMethods.tsx +0 -81
- package/src/widget/components/OnrampProviderConfirmation.tsx +0 -1060
- package/src/widget/components/OriginSelectionAmount.tsx +0 -144
- package/src/widget/components/OriginTransferInformation.tsx +0 -59
- package/src/widget/components/Pay.tsx +0 -1165
- package/src/widget/components/PaymentMethods.tsx +0 -198
- package/src/widget/components/PercentageMaxButtons.tsx +0 -112
- package/src/widget/components/PoolDeposit.tsx +0 -642
- package/src/widget/components/PoolWithdraw.tsx +0 -761
- package/src/widget/components/PriceImpactWarning.tsx +0 -87
- package/src/widget/components/QRCodeOptions.tsx +0 -65
- package/src/widget/components/QRCodeWalletSelect.tsx +0 -80
- package/src/widget/components/QrCode.tsx +0 -216
- package/src/widget/components/QuoteDetails.tsx +0 -1275
- package/src/widget/components/Receipt.tsx +0 -673
- package/src/widget/components/ReceiptRecoverableFunds.tsx +0 -135
- package/src/widget/components/RecentTokens.tsx +0 -66
- package/src/widget/components/RecipientSelectorButton.tsx +0 -50
- package/src/widget/components/Recipients.tsx +0 -413
- package/src/widget/components/RefundWarning.tsx +0 -61
- package/src/widget/components/RequiredPropsError.tsx +0 -33
- package/src/widget/components/ScreenHeader.tsx +0 -123
- package/src/widget/components/SearchInputField.tsx +0 -99
- package/src/widget/components/SessionTimeoutScreen.tsx +0 -103
- package/src/widget/components/ShadowPortal.tsx +0 -99
- package/src/widget/components/ShadowRootContext.tsx +0 -17
- package/src/widget/components/SimpleRecipientInputScreen.tsx +0 -91
- package/src/widget/components/SlippageToleranceSettings.tsx +0 -279
- package/src/widget/components/Swap.tsx +0 -50
- package/src/widget/components/SwapDisplay.tsx +0 -68
- package/src/widget/components/SwapSettings.tsx +0 -52
- package/src/widget/components/ThemeProvider.tsx +0 -115
- package/src/widget/components/ThemeSyncer.tsx +0 -47
- package/src/widget/components/Toast.tsx +0 -336
- package/src/widget/components/TokenDisplayNonSelectable.tsx +0 -40
- package/src/widget/components/TokenImage.tsx +0 -156
- package/src/widget/components/TokenList.tsx +0 -107
- package/src/widget/components/TokenSelector.tsx +0 -807
- package/src/widget/components/TokenSelectorButton.tsx +0 -123
- package/src/widget/components/TokenSkeleton.tsx +0 -53
- package/src/widget/components/Tooltip.tsx +0 -64
- package/src/widget/components/TrailsHookModal.tsx +0 -107
- package/src/widget/components/TransactionDetails.tsx +0 -534
- package/src/widget/components/TransactionHistoryItem.tsx +0 -767
- package/src/widget/components/TransferPendingVertical.tsx +0 -591
- package/src/widget/components/TruncatedAddress.tsx +0 -68
- package/src/widget/components/TruncatedTransactionHash.tsx +0 -74
- package/src/widget/components/UserPreferences.tsx +0 -570
- package/src/widget/components/WaasFeeOptions.tsx +0 -588
- package/src/widget/components/WalletConfirmation.tsx +0 -220
- package/src/widget/components/WalletConnect.tsx +0 -348
- package/src/widget/components/WalletConnectionPending.tsx +0 -178
- package/src/widget/components/WalletImage.tsx +0 -52
- package/src/widget/components/WalletList.tsx +0 -125
- package/src/widget/components/WidgetProviders.tsx +0 -82
- package/src/widget/components/Withdraw.tsx +0 -1106
- package/src/widget/components/YellowWarningAnimation.tsx +0 -146
- package/src/widget/hooks/useAddressWalletIcon.ts +0 -55
- package/src/widget/hooks/useAmountUsd.ts +0 -44
- package/src/widget/hooks/useBalanceVisible.tsx +0 -95
- package/src/widget/hooks/useChainFilter.tsx +0 -56
- package/src/widget/hooks/useCheckout.ts +0 -361
- package/src/widget/hooks/useClickTracking.ts +0 -74
- package/src/widget/hooks/useCombinedHistory.ts +0 -420
- package/src/widget/hooks/useConnector.tsx +0 -24
- package/src/widget/hooks/useCustomTokenSearch.tsx +0 -369
- package/src/widget/hooks/useDebounce.ts +0 -25
- package/src/widget/hooks/useDebugScreens.ts +0 -600
- package/src/widget/hooks/useDefaultDestinationToken.tsx +0 -179
- package/src/widget/hooks/useDefaultOriginToken.tsx +0 -407
- package/src/widget/hooks/useDepositMonitor.ts +0 -118
- package/src/widget/hooks/useDestinationSelectedToken.tsx +0 -310
- package/src/widget/hooks/useDisplayCurrencyPreference.tsx +0 -145
- package/src/widget/hooks/useEarnPool.tsx +0 -36
- package/src/widget/hooks/useExecutingIntentsCount.ts +0 -78
- package/src/widget/hooks/useExternalFundingReceiptSync.ts +0 -79
- package/src/widget/hooks/useFiatOnRampCurrencies.ts +0 -46
- package/src/widget/hooks/useFiatSelectedCurrency.tsx +0 -123
- package/src/widget/hooks/useGetIntent.ts +0 -54
- package/src/widget/hooks/useIntentReceiptBalances.ts +0 -141
- package/src/widget/hooks/useIntentTransactionHistory.ts +0 -790
- package/src/widget/hooks/useIsConnectedWalletSmartContract.ts +0 -43
- package/src/widget/hooks/useIsMobile.tsx +0 -50
- package/src/widget/hooks/useIsSequenceWallet.ts +0 -17
- package/src/widget/hooks/useLocalePreference.tsx +0 -187
- package/src/widget/hooks/useMeldTransactionHistory.ts +0 -184
- package/src/widget/hooks/useMeldTransactionStatus.ts +0 -707
- package/src/widget/hooks/useOnRampCountryDefaults.ts +0 -57
- package/src/widget/hooks/useOnRampPaymentMethods.ts +0 -72
- package/src/widget/hooks/useOnRampProviderWidget.ts +0 -184
- package/src/widget/hooks/useOnRampQuote.ts +0 -340
- package/src/widget/hooks/useOnRampTransactionStatus.ts +0 -196
- package/src/widget/hooks/useOriginSelectedToken.tsx +0 -253
- package/src/widget/hooks/usePayMessage.tsx +0 -496
- package/src/widget/hooks/usePriceImpactWarning.ts +0 -17
- package/src/widget/hooks/useQuote.ts +0 -1239
- package/src/widget/hooks/useRecentTokens.ts +0 -159
- package/src/widget/hooks/useRecipients.ts +0 -167
- package/src/widget/hooks/useScreenTracking.ts +0 -14
- package/src/widget/hooks/useSelectedFeeOption.tsx +0 -323
- package/src/widget/hooks/useSelectedFundMethod.tsx +0 -93
- package/src/widget/hooks/useSelectedRecipient.tsx +0 -75
- package/src/widget/hooks/useSendForm.ts +0 -1389
- package/src/widget/hooks/useSwapAmount.tsx +0 -50
- package/src/widget/hooks/useSwapState.tsx +0 -121
- package/src/widget/hooks/useTargetAmount.ts +0 -26
- package/src/widget/hooks/useTheme.tsx +0 -80
- package/src/widget/hooks/useTokenList.ts +0 -1168
- package/src/widget/hooks/useTrailsSendTransaction.ts +0 -987
- package/src/widget/hooks/useViewManager.tsx +0 -506
- package/src/widget/hooks/useWalletConnectUri.tsx +0 -307
- package/src/widget/hooks/useWalletConnectionContext.tsx +0 -128
- package/src/widget/hooks/useWidgetProps.tsx +0 -33
- package/src/widget/index.css +0 -686
- package/src/widget/index.tsx +0 -28
- package/src/widget/providers/TrailsModalProvider.tsx +0 -238
- package/src/widget/providers/TrailsProvider.tsx +0 -155
- package/src/widget/providers/UserActivityProvider.tsx +0 -78
- package/src/widget/providers/WidgetProviderTree.tsx +0 -90
- package/src/widget/styles.ts +0 -26
- package/src/widget/types/analytics.ts +0 -22
- package/src/widget/types/commonProps.ts +0 -56
- package/src/widget/types/svg.d.ts +0 -8
- package/src/widget/types.ts +0 -51
- package/src/widget/utils/countryUtils.ts +0 -89
- package/src/widget/utils/createWagmiConfig.ts +0 -43
- package/src/widget/utils/forexRateStore.ts +0 -120
- package/src/widget/utils/fundMethodSwitchState.ts +0 -27
- package/src/widget/utils/historyFilters.ts +0 -157
- package/src/widget/utils/historyUtils.ts +0 -101
- package/src/widget/utils/localeStore.ts +0 -68
- package/src/widget/utils/meldProviderUtils.ts +0 -26
- package/src/widget/utils/meshSupportedTokens.ts +0 -28
- package/src/widget/utils/onrampConfig.ts +0 -15
- package/src/widget/utils/statusLabel.ts +0 -3
- package/src/widget/utils/tokens.ts +0 -138
- package/src/widget/utils/trailsOnrampConfig.ts +0 -39
- package/src/widget/utils/transactionFailure.ts +0 -52
- package/src/widget/utils/viewManagerGuards.ts +0 -49
- package/src/widget/utils/windowUtils.ts +0 -138
- package/src/widget/widget.tsx +0 -3400
- /package/dist/{widget/hooks → hooks}/useAddressWalletIcon.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useAmountUsd.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useBalanceVisible.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useChainFilter.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useClickTracking.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useConnector.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useDebounce.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useDepositMonitor.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useDisplayCurrencyPreference.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useExecutingIntentsCount.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useFiatSelectedCurrency.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useGetIntent.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useIsMobile.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useIsSequenceWallet.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useLocalePreference.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useMeldTransactionHistory.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useMeldTransactionStatus.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useOnRampCountryDefaults.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/usePayMessage.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/usePriceImpactWarning.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useRecipients.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useSelectedFeeOption.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useSelectedRecipient.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useSwapAmount.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useTargetAmount.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useTheme.d.ts +0 -0
- /package/dist/{widget/hooks → hooks}/useWalletConnectionContext.d.ts +0 -0
package/src/localeUtils.ts
DELETED
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Locale-aware number parsing utilities to handle different regional formats
|
|
3
|
-
* Handles European format (1.234,56) vs US format (1,234.56)
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { isValidNumber } from "./utils/validation.js"
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Detects if a string uses European number format
|
|
10
|
-
* European: uses comma as decimal separator and period/space for thousands
|
|
11
|
-
* Examples: "1.234,56" or "1 234,56"
|
|
12
|
-
*/
|
|
13
|
-
function isEuropeanFormat(value: string): boolean {
|
|
14
|
-
// Remove all spaces first
|
|
15
|
-
const cleanValue = value.replace(/\s/g, "")
|
|
16
|
-
|
|
17
|
-
// Check if there's a comma that appears after any periods
|
|
18
|
-
const lastComma = cleanValue.lastIndexOf(",")
|
|
19
|
-
const lastPeriod = cleanValue.lastIndexOf(".")
|
|
20
|
-
|
|
21
|
-
// If there's a comma after the last period, it's likely European format
|
|
22
|
-
if (lastComma > lastPeriod && lastComma !== -1) {
|
|
23
|
-
const afterComma = cleanValue.slice(lastComma + 1)
|
|
24
|
-
|
|
25
|
-
// If comma has exactly 3 digits after it, it could be either:
|
|
26
|
-
// - US thousands separator (e.g., "1,234")
|
|
27
|
-
// - European decimal with 3 decimal places (e.g., "1,234" meaning 1.234)
|
|
28
|
-
// We need more context to decide
|
|
29
|
-
if (afterComma.length === 3 && /^\d+$/.test(afterComma)) {
|
|
30
|
-
// Check if there are periods before the comma (European thousands)
|
|
31
|
-
if (lastPeriod !== -1 && lastPeriod < lastComma) {
|
|
32
|
-
return true // European format like "1.234,567"
|
|
33
|
-
}
|
|
34
|
-
return false // US format like "1,234"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// If comma has any number of digits after it (not exactly 3),
|
|
38
|
-
// it's likely European decimal separator
|
|
39
|
-
if (afterComma.length > 0 && /^\d+$/.test(afterComma)) {
|
|
40
|
-
return true
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// Special case: "1.234" could be either 1.234 (US decimal) or 1234 (European thousands)
|
|
45
|
-
// Only treat it as European thousands if:
|
|
46
|
-
// 1. There's exactly 3 digits after the period
|
|
47
|
-
// 2. There are at least 4 digits before the period (indicating a large number needing thousands separator)
|
|
48
|
-
if (lastPeriod !== -1 && lastComma === -1) {
|
|
49
|
-
const afterPeriod = cleanValue.slice(lastPeriod + 1)
|
|
50
|
-
const beforePeriod = cleanValue.slice(0, lastPeriod)
|
|
51
|
-
|
|
52
|
-
// Only consider it European thousands if it looks like a thousands-separated number
|
|
53
|
-
// e.g., "1234.567" (4+ digits before) vs "998.389" (3 digits before - likely a decimal)
|
|
54
|
-
if (afterPeriod.length === 3 && /^\d+$/.test(afterPeriod)) {
|
|
55
|
-
// If less than 4 digits before the period, it's more likely a decimal value
|
|
56
|
-
// like 998.389 (US decimal) rather than thousands separator
|
|
57
|
-
if (beforePeriod.length >= 4 && /^\d+$/.test(beforePeriod)) {
|
|
58
|
-
return true // It's likely European thousands separator
|
|
59
|
-
}
|
|
60
|
-
// With 3 or fewer digits before period, assume US decimal format
|
|
61
|
-
return false
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return false
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Gets the user's locale from the browser
|
|
70
|
-
* Falls back to 'en-US' if not available
|
|
71
|
-
*/
|
|
72
|
-
export function getUserLocale(): string {
|
|
73
|
-
if (typeof navigator !== "undefined" && navigator.language) {
|
|
74
|
-
return navigator.language
|
|
75
|
-
}
|
|
76
|
-
return "en-US"
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Checks if the user's locale uses comma as decimal separator
|
|
81
|
-
*/
|
|
82
|
-
export function isCommaDecimalLocale(): boolean {
|
|
83
|
-
const locale = getUserLocale()
|
|
84
|
-
// Common European locales that use comma as decimal separator
|
|
85
|
-
const commaLocales = [
|
|
86
|
-
"de",
|
|
87
|
-
"fr",
|
|
88
|
-
"es",
|
|
89
|
-
"it",
|
|
90
|
-
"pt",
|
|
91
|
-
"nl",
|
|
92
|
-
"pl",
|
|
93
|
-
"ru",
|
|
94
|
-
"tr",
|
|
95
|
-
"sv",
|
|
96
|
-
"da",
|
|
97
|
-
"no",
|
|
98
|
-
"fi",
|
|
99
|
-
"cs",
|
|
100
|
-
"hu",
|
|
101
|
-
"ro",
|
|
102
|
-
"bg",
|
|
103
|
-
"hr",
|
|
104
|
-
"sk",
|
|
105
|
-
"sl",
|
|
106
|
-
]
|
|
107
|
-
|
|
108
|
-
// Check if locale starts with any of these language codes
|
|
109
|
-
return commaLocales.some((lang) => locale.toLowerCase().startsWith(lang))
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Parses a formatted number string to a standard US format number
|
|
114
|
-
* Handles both European (1.234,56) and US (1,234.56) formats
|
|
115
|
-
*
|
|
116
|
-
* @param value - The formatted number string
|
|
117
|
-
* @param forceLocale - Optional locale to force parsing (e.g., 'de-DE', 'en-US')
|
|
118
|
-
* @returns The parsed number or NaN if parsing fails
|
|
119
|
-
*/
|
|
120
|
-
export function parseLocaleNumber(
|
|
121
|
-
value: string | number | null | undefined,
|
|
122
|
-
forceLocale?: string,
|
|
123
|
-
): number {
|
|
124
|
-
if (value === null || value === undefined || value === "") {
|
|
125
|
-
return 0
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// If already a number, return it
|
|
129
|
-
if (typeof value === "number") {
|
|
130
|
-
return value
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
// Clean the string - remove currency symbols, spaces at start/end
|
|
134
|
-
let cleanValue = value.toString().trim()
|
|
135
|
-
|
|
136
|
-
// Remove common currency symbols
|
|
137
|
-
cleanValue = cleanValue.replace(/[$€£¥₹¢]/g, "")
|
|
138
|
-
|
|
139
|
-
// Remove any leading/trailing spaces again
|
|
140
|
-
cleanValue = cleanValue.trim()
|
|
141
|
-
|
|
142
|
-
// Handle negative numbers
|
|
143
|
-
const isNegative = cleanValue.startsWith("-") || cleanValue.startsWith("(")
|
|
144
|
-
cleanValue = cleanValue.replace(/[()-]/g, "")
|
|
145
|
-
|
|
146
|
-
// Determine format based on forceLocale or auto-detection
|
|
147
|
-
const useEuropeanFormat = forceLocale
|
|
148
|
-
? isCommaDecimalLocale()
|
|
149
|
-
: isEuropeanFormat(cleanValue)
|
|
150
|
-
|
|
151
|
-
let normalizedValue: string
|
|
152
|
-
|
|
153
|
-
if (useEuropeanFormat) {
|
|
154
|
-
// European format: 1.234,56 or 1 234,56
|
|
155
|
-
// Remove thousand separators (periods and spaces)
|
|
156
|
-
normalizedValue = cleanValue.replace(/[\s.]/g, "")
|
|
157
|
-
// Replace comma with period for decimal
|
|
158
|
-
normalizedValue = normalizedValue.replace(",", ".")
|
|
159
|
-
} else {
|
|
160
|
-
// US format: 1,234.56
|
|
161
|
-
// Remove thousand separators (commas)
|
|
162
|
-
normalizedValue = cleanValue.replace(/,/g, "")
|
|
163
|
-
// Period is already decimal separator
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// Parse the normalized value
|
|
167
|
-
const result = parseFloat(normalizedValue)
|
|
168
|
-
|
|
169
|
-
// Apply negative if needed
|
|
170
|
-
return isNegative ? -result : result
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Formats a number for display using the user's locale
|
|
175
|
-
*
|
|
176
|
-
* @param value - The number to format
|
|
177
|
-
* @param options - Intl.NumberFormatOptions for formatting
|
|
178
|
-
* @param locale - Optional locale to use (defaults to user's locale)
|
|
179
|
-
*/
|
|
180
|
-
export function formatLocaleNumber(
|
|
181
|
-
value: number,
|
|
182
|
-
options?: Intl.NumberFormatOptions,
|
|
183
|
-
locale?: string,
|
|
184
|
-
): string {
|
|
185
|
-
const userLocale = locale || getUserLocale()
|
|
186
|
-
return new Intl.NumberFormat(userLocale, options).format(value)
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Normalizes a number from any locale format to a standard number
|
|
191
|
-
* This is a wrapper around parseLocaleNumber for backwards compatibility
|
|
192
|
-
*
|
|
193
|
-
* @param value - The value to normalize
|
|
194
|
-
* @returns The normalized number
|
|
195
|
-
*/
|
|
196
|
-
export function normalizeLocaleNumber(
|
|
197
|
-
value: string | number | null | undefined,
|
|
198
|
-
): number {
|
|
199
|
-
return parseLocaleNumber(value)
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Checks if a value is a valid number in the user's locale
|
|
204
|
-
*
|
|
205
|
-
* @param value - The value to check
|
|
206
|
-
* @returns true if the value can be parsed as a number
|
|
207
|
-
*/
|
|
208
|
-
export function isValidLocaleNumber(value: string): boolean {
|
|
209
|
-
// Check for multiple decimal separators which would be invalid
|
|
210
|
-
const periods = (value.match(/\./g) || []).length
|
|
211
|
-
const commas = (value.match(/,/g) || []).length
|
|
212
|
-
|
|
213
|
-
// Multiple periods with multiple commas is definitely invalid
|
|
214
|
-
if (periods > 1 && commas > 1) {
|
|
215
|
-
return false
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
// If there are multiple periods not in thousands position, it's invalid
|
|
219
|
-
if (periods > 1) {
|
|
220
|
-
// Check if periods are used as thousands separators (should have 3 digits between them)
|
|
221
|
-
const parts = value.split(".")
|
|
222
|
-
for (let i = 1; i < parts.length - 1; i++) {
|
|
223
|
-
const part = parts[i]
|
|
224
|
-
if (part && part.replace(/[^0-9]/g, "").length !== 3) {
|
|
225
|
-
return false
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
// If there are multiple commas not in thousands position, it's invalid
|
|
231
|
-
if (commas > 1) {
|
|
232
|
-
// Check if commas are used as thousands separators
|
|
233
|
-
const parts = value.split(",")
|
|
234
|
-
for (let i = 1; i < parts.length - 1; i++) {
|
|
235
|
-
const part = parts[i]
|
|
236
|
-
if (part && part.replace(/[^0-9]/g, "").length !== 3) {
|
|
237
|
-
return false
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
const parsed = parseLocaleNumber(value)
|
|
243
|
-
return isValidNumber(parsed)
|
|
244
|
-
}
|
package/src/logger/index.ts
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { getQueryParam } from "../queryParams.js"
|
|
2
|
-
import { getEnvVar } from "../config.js"
|
|
3
|
-
|
|
4
|
-
// Logger is consumed by non-React modules, so debug state stays process-global.
|
|
5
|
-
// TrailsProvider synchronizes this value at runtime.
|
|
6
|
-
let _debugEnabled = false
|
|
7
|
-
|
|
8
|
-
export function setDebugEnabled(enabled: boolean) {
|
|
9
|
-
if (_debugEnabled === enabled) {
|
|
10
|
-
return
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
_debugEnabled = enabled
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function isDebugActive(): boolean {
|
|
17
|
-
return _debugEnabled || getQueryParam("debug") === "true"
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const LOG_LEVELS = {
|
|
21
|
-
error: 0,
|
|
22
|
-
warn: 1,
|
|
23
|
-
info: 2,
|
|
24
|
-
log: 3,
|
|
25
|
-
debug: 4,
|
|
26
|
-
trace: 5,
|
|
27
|
-
} as const
|
|
28
|
-
|
|
29
|
-
type LogLevel = keyof typeof LOG_LEVELS
|
|
30
|
-
|
|
31
|
-
export function getMinLogLevel(): number {
|
|
32
|
-
const testLogConsole = getEnvVar("TEST_LOG_CONSOLE")
|
|
33
|
-
if (testLogConsole && testLogConsole in LOG_LEVELS) {
|
|
34
|
-
return LOG_LEVELS[testLogConsole as LogLevel]
|
|
35
|
-
}
|
|
36
|
-
return getQueryParam("log") === "true" || isDebugActive()
|
|
37
|
-
? LOG_LEVELS.trace
|
|
38
|
-
: -1
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export const logger = {
|
|
42
|
-
get _enabled() {
|
|
43
|
-
return getQueryParam("log") === "true" || isDebugActive()
|
|
44
|
-
},
|
|
45
|
-
console: {
|
|
46
|
-
log: (...args: any[]) => {
|
|
47
|
-
if (getMinLogLevel() < LOG_LEVELS.log) {
|
|
48
|
-
return
|
|
49
|
-
}
|
|
50
|
-
console.log(...args)
|
|
51
|
-
},
|
|
52
|
-
error: (...args: any[]) => {
|
|
53
|
-
if (getMinLogLevel() < LOG_LEVELS.error) {
|
|
54
|
-
return
|
|
55
|
-
}
|
|
56
|
-
console.error(...args)
|
|
57
|
-
},
|
|
58
|
-
warn: (...args: any[]) => {
|
|
59
|
-
if (getMinLogLevel() < LOG_LEVELS.warn) {
|
|
60
|
-
return
|
|
61
|
-
}
|
|
62
|
-
console.warn(...args)
|
|
63
|
-
},
|
|
64
|
-
info: (...args: any[]) => {
|
|
65
|
-
if (getMinLogLevel() < LOG_LEVELS.info) {
|
|
66
|
-
return
|
|
67
|
-
}
|
|
68
|
-
console.info(...args)
|
|
69
|
-
},
|
|
70
|
-
debug: (...args: any[]) => {
|
|
71
|
-
if (getMinLogLevel() < LOG_LEVELS.debug) {
|
|
72
|
-
return
|
|
73
|
-
}
|
|
74
|
-
console.debug(...args)
|
|
75
|
-
},
|
|
76
|
-
trace: (...args: any[]) => {
|
|
77
|
-
if (getMinLogLevel() < LOG_LEVELS.trace) {
|
|
78
|
-
return
|
|
79
|
-
}
|
|
80
|
-
console.trace(...args)
|
|
81
|
-
},
|
|
82
|
-
time: (...args: any[]) => {
|
|
83
|
-
if (getMinLogLevel() < LOG_LEVELS.log) {
|
|
84
|
-
return
|
|
85
|
-
}
|
|
86
|
-
console.time(...args)
|
|
87
|
-
},
|
|
88
|
-
timeEnd: (...args: any[]) => {
|
|
89
|
-
if (getMinLogLevel() < LOG_LEVELS.log) {
|
|
90
|
-
return
|
|
91
|
-
}
|
|
92
|
-
console.timeEnd(...args)
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { useRef } from "react"
|
|
2
|
-
import { setDebugEnabled } from "./index.js"
|
|
3
|
-
|
|
4
|
-
export function useSyncLoggerDebug(enabled: boolean) {
|
|
5
|
-
const previousEnabledRef = useRef<boolean | undefined>(undefined)
|
|
6
|
-
|
|
7
|
-
if (previousEnabledRef.current !== enabled) {
|
|
8
|
-
setDebugEnabled(enabled)
|
|
9
|
-
previousEnabledRef.current = enabled
|
|
10
|
-
}
|
|
11
|
-
}
|
package/src/logger.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./logger/index.js"
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { Search } from "lucide-react"
|
|
2
|
-
import type React from "react"
|
|
3
|
-
import { useMemo, useState } from "react"
|
|
4
|
-
import { useCountryCode, useCountryList } from "../../query/geo.hooks.js"
|
|
5
|
-
import { getMeldSupportedCountries } from "../../widget/utils/countryUtils.js"
|
|
6
|
-
import type { Country } from "../utils/meld.js"
|
|
7
|
-
import { SimpleHeader } from "./SimpleHeader.js"
|
|
8
|
-
|
|
9
|
-
// Convert country code (e.g., "US") to flag emoji
|
|
10
|
-
const getCountryFlag = (countryCode: string): string => {
|
|
11
|
-
if (!countryCode || countryCode.length !== 2) {
|
|
12
|
-
return "🌍"
|
|
13
|
-
}
|
|
14
|
-
const codePoints = countryCode
|
|
15
|
-
.toUpperCase()
|
|
16
|
-
.split("")
|
|
17
|
-
.map((char) => 127397 + char.charCodeAt(0))
|
|
18
|
-
return String.fromCodePoint(...codePoints)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface MeldCountriesListProps {
|
|
22
|
-
onBack?: () => void
|
|
23
|
-
onSelectCountry?: (country: Country) => void
|
|
24
|
-
selectedCountry?: Country | null
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export const MeldCountriesList: React.FC<MeldCountriesListProps> = ({
|
|
28
|
-
onBack,
|
|
29
|
-
onSelectCountry,
|
|
30
|
-
selectedCountry,
|
|
31
|
-
}) => {
|
|
32
|
-
const {
|
|
33
|
-
data: apiCountries = [],
|
|
34
|
-
isLoading,
|
|
35
|
-
error,
|
|
36
|
-
refetch,
|
|
37
|
-
} = useCountryList()
|
|
38
|
-
|
|
39
|
-
const countries = useMemo(
|
|
40
|
-
() => getMeldSupportedCountries(apiCountries),
|
|
41
|
-
[apiCountries],
|
|
42
|
-
)
|
|
43
|
-
|
|
44
|
-
const [searchTerm, setSearchTerm] = useState("")
|
|
45
|
-
|
|
46
|
-
// Use proper geolocation hook
|
|
47
|
-
const { data: userCountryCode } = useCountryCode({ enabled: true })
|
|
48
|
-
|
|
49
|
-
// Filter and sort countries: user's country first, then alphabetically
|
|
50
|
-
const filteredCountries = useMemo(() => {
|
|
51
|
-
let filtered = countries
|
|
52
|
-
|
|
53
|
-
// Apply search filter
|
|
54
|
-
if (searchTerm.trim()) {
|
|
55
|
-
const lowerSearchTerm = searchTerm.toLowerCase().trim()
|
|
56
|
-
filtered = countries.filter(
|
|
57
|
-
(country) =>
|
|
58
|
-
country.name.toLowerCase().includes(lowerSearchTerm) ||
|
|
59
|
-
country.countryCode.toLowerCase().includes(lowerSearchTerm),
|
|
60
|
-
)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Sort: user's country first, then alphabetically
|
|
64
|
-
return filtered.sort((a, b) => {
|
|
65
|
-
// If we have a detected user country, prioritize it
|
|
66
|
-
if (userCountryCode) {
|
|
67
|
-
if (
|
|
68
|
-
a.countryCode === userCountryCode &&
|
|
69
|
-
b.countryCode !== userCountryCode
|
|
70
|
-
) {
|
|
71
|
-
return -1 // a (user's country) comes first
|
|
72
|
-
}
|
|
73
|
-
if (
|
|
74
|
-
b.countryCode === userCountryCode &&
|
|
75
|
-
a.countryCode !== userCountryCode
|
|
76
|
-
) {
|
|
77
|
-
return 1 // b (user's country) comes first
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
// Otherwise, sort alphabetically by name
|
|
81
|
-
return a.name.localeCompare(b.name)
|
|
82
|
-
})
|
|
83
|
-
}, [countries, searchTerm, userCountryCode])
|
|
84
|
-
|
|
85
|
-
const handleCountrySelect = (country: Country) => {
|
|
86
|
-
if (onSelectCountry) {
|
|
87
|
-
onSelectCountry(country)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return (
|
|
92
|
-
<div className="flex flex-col h-full">
|
|
93
|
-
<SimpleHeader onBack={onBack} title="Select Country" />
|
|
94
|
-
|
|
95
|
-
<div className="flex-1 overflow-y-auto">
|
|
96
|
-
{/* Search Input Field - Always visible */}
|
|
97
|
-
<div className="p-4 border-b border-gray-200 dark:border-gray-700">
|
|
98
|
-
<div className="relative">
|
|
99
|
-
<div className="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
|
|
100
|
-
<Search className="h-5 w-5 text-gray-500 dark:text-gray-500" />
|
|
101
|
-
</div>
|
|
102
|
-
<input
|
|
103
|
-
type="text"
|
|
104
|
-
value={searchTerm}
|
|
105
|
-
onChange={(e) => setSearchTerm(e.target.value)}
|
|
106
|
-
placeholder="Search countries..."
|
|
107
|
-
className="block w-full pl-10 pr-4 py-2 border border-solid border-gray-200 dark:border-gray-700 rounded-lg focus:ring-2 focus:ring-polygon-500 focus:border-polygon-500 bg-white dark:bg-gray-800 text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400"
|
|
108
|
-
/>
|
|
109
|
-
</div>
|
|
110
|
-
</div>
|
|
111
|
-
|
|
112
|
-
{/* Loading indicator */}
|
|
113
|
-
{isLoading && (
|
|
114
|
-
<div className="flex items-center justify-center py-8 space-x-3">
|
|
115
|
-
<div className="animate-spin rounded-full h-6 w-6 border-b-2 border-polygon-500"></div>
|
|
116
|
-
<div className="text-gray-600 dark:text-gray-400">
|
|
117
|
-
Loading countries...
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
)}
|
|
121
|
-
|
|
122
|
-
{/* Error message */}
|
|
123
|
-
{error && (
|
|
124
|
-
<div className="flex items-center justify-center py-8 px-4">
|
|
125
|
-
<div className="text-center p-4 border border-solid border-red-200 dark:border-red-700 rounded-lg bg-red-50 dark:bg-red-900/20 max-w-md">
|
|
126
|
-
<div className="text-red-600 dark:text-red-400 font-medium mb-2">
|
|
127
|
-
Error loading countries
|
|
128
|
-
</div>
|
|
129
|
-
<div className="text-sm text-red-500 dark:text-red-300">
|
|
130
|
-
{error.message ||
|
|
131
|
-
"Failed to load country list. Please check your internet connection and try again."}
|
|
132
|
-
</div>
|
|
133
|
-
{error.message?.includes("Network") && (
|
|
134
|
-
<div className="text-xs text-red-400 dark:text-red-400 mt-1">
|
|
135
|
-
Check that the trails-api server is running and accessible.
|
|
136
|
-
</div>
|
|
137
|
-
)}
|
|
138
|
-
<button
|
|
139
|
-
type="button"
|
|
140
|
-
onClick={() => refetch()}
|
|
141
|
-
className="mt-3 px-4 py-2 text-sm bg-red-100 hover:bg-red-200 dark:bg-red-800 dark:hover:bg-red-700 text-red-700 dark:text-red-200 rounded-md transition-colors"
|
|
142
|
-
>
|
|
143
|
-
Retry
|
|
144
|
-
</button>
|
|
145
|
-
</div>
|
|
146
|
-
</div>
|
|
147
|
-
)}
|
|
148
|
-
|
|
149
|
-
{/* Country List */}
|
|
150
|
-
{!isLoading && !error && (
|
|
151
|
-
<div className="space-y-2 p-4 max-h-[400px] overflow-y-auto">
|
|
152
|
-
{filteredCountries.length === 0 && searchTerm.trim() ? (
|
|
153
|
-
<div className="flex items-center justify-center py-8">
|
|
154
|
-
<div className="text-gray-600 dark:text-gray-400">
|
|
155
|
-
No countries found matching "{searchTerm}"
|
|
156
|
-
</div>
|
|
157
|
-
</div>
|
|
158
|
-
) : (
|
|
159
|
-
filteredCountries.map((country) => {
|
|
160
|
-
const isSelected =
|
|
161
|
-
selectedCountry?.countryCode === country.countryCode
|
|
162
|
-
const isUserCountry = userCountryCode === country.countryCode
|
|
163
|
-
|
|
164
|
-
return (
|
|
165
|
-
<button
|
|
166
|
-
key={country.countryCode}
|
|
167
|
-
type="button"
|
|
168
|
-
onClick={() => handleCountrySelect(country)}
|
|
169
|
-
className={`w-full flex items-center justify-between cursor-pointer font-semibold py-4 px-6 rounded-lg transition-all duration-200 ${
|
|
170
|
-
isSelected
|
|
171
|
-
? "bg-polygon-50 dark:bg-polygon-900/20 border-2 border-polygon-500 dark:border-polygon-400"
|
|
172
|
-
: "bg-gray-50 dark:bg-gray-800 hover:bg-gray-100 dark:hover:bg-gray-700 border-2 border-transparent"
|
|
173
|
-
} text-gray-900 dark:text-white`}
|
|
174
|
-
>
|
|
175
|
-
<div className="flex items-center space-x-3 flex-1">
|
|
176
|
-
<div className="w-10 h-10 rounded-lg flex items-center justify-center text-2xl">
|
|
177
|
-
{getCountryFlag(country.countryCode)}
|
|
178
|
-
</div>
|
|
179
|
-
<div className="flex-1 text-left">
|
|
180
|
-
<div className="flex items-center gap-2">
|
|
181
|
-
<h4 className="font-semibold text-gray-900 dark:text-gray-100">
|
|
182
|
-
{country.name}
|
|
183
|
-
</h4>
|
|
184
|
-
{isUserCountry && (
|
|
185
|
-
<span className="text-xs px-2 py-0.5 bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400 rounded-full">
|
|
186
|
-
Your Location
|
|
187
|
-
</span>
|
|
188
|
-
)}
|
|
189
|
-
</div>
|
|
190
|
-
</div>
|
|
191
|
-
</div>
|
|
192
|
-
{isSelected && (
|
|
193
|
-
<div className="text-polygon-500 dark:text-polygon-400">
|
|
194
|
-
<svg
|
|
195
|
-
className="w-5 h-5"
|
|
196
|
-
fill="currentColor"
|
|
197
|
-
viewBox="0 0 20 20"
|
|
198
|
-
aria-label="Selected"
|
|
199
|
-
>
|
|
200
|
-
<title>Selected</title>
|
|
201
|
-
<path
|
|
202
|
-
fillRule="evenodd"
|
|
203
|
-
d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
|
|
204
|
-
clipRule="evenodd"
|
|
205
|
-
/>
|
|
206
|
-
</svg>
|
|
207
|
-
</div>
|
|
208
|
-
)}
|
|
209
|
-
{!isSelected && (
|
|
210
|
-
<div className="text-gray-400">
|
|
211
|
-
<svg
|
|
212
|
-
className="w-5 h-5"
|
|
213
|
-
fill="none"
|
|
214
|
-
stroke="currentColor"
|
|
215
|
-
viewBox="0 0 24 24"
|
|
216
|
-
aria-label="Chevron right"
|
|
217
|
-
>
|
|
218
|
-
<title>Chevron right</title>
|
|
219
|
-
<path
|
|
220
|
-
strokeLinecap="round"
|
|
221
|
-
strokeLinejoin="round"
|
|
222
|
-
strokeWidth={2}
|
|
223
|
-
d="M9 5l7 7-7 7"
|
|
224
|
-
/>
|
|
225
|
-
</svg>
|
|
226
|
-
</div>
|
|
227
|
-
)}
|
|
228
|
-
</button>
|
|
229
|
-
)
|
|
230
|
-
})
|
|
231
|
-
)}
|
|
232
|
-
</div>
|
|
233
|
-
)}
|
|
234
|
-
</div>
|
|
235
|
-
</div>
|
|
236
|
-
)
|
|
237
|
-
}
|