thirdweb 5.105.49-nightly-04862de9e4e11724720fa40a0ed4713ff2bfdad5-20250917000323 → 5.106.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/cjs/exports/react.js +3 -1
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/pay/convert/type.js +26 -43
- package/dist/cjs/pay/convert/type.js.map +1 -1
- package/dist/cjs/react/core/design-system/index.js +3 -1
- package/dist/cjs/react/core/design-system/index.js.map +1 -1
- package/dist/cjs/react/core/hooks/usePaymentMethods.js +4 -1
- package/dist/cjs/react/core/hooks/usePaymentMethods.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +1 -2
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/core/machines/paymentMachine.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js +1 -9
- package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js +7 -5
- package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/DirectPayment.js +2 -2
- package/dist/cjs/react/web/ui/Bridge/ErrorBanner.js +1 -1
- package/dist/cjs/react/web/ui/Bridge/FundWallet.js +7 -6
- package/dist/cjs/react/web/ui/Bridge/FundWallet.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/QuoteLoader.js +5 -3
- package/dist/cjs/react/web/ui/Bridge/QuoteLoader.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/StepRunner.js +3 -3
- package/dist/cjs/react/web/ui/Bridge/StepRunner.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/TransactionPayment.js +2 -2
- package/dist/cjs/react/web/ui/Bridge/UnsupportedTokenScreen.js +2 -2
- package/dist/cjs/react/web/ui/Bridge/UnsupportedTokenScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/common/TokenAndChain.js +3 -3
- package/dist/cjs/react/web/ui/Bridge/common/TokenAndChain.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/common/WithHeader.js +2 -1
- package/dist/cjs/react/web/ui/Bridge/common/WithHeader.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentDetails.js +28 -3
- package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentDetails.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js +16 -22
- package/dist/cjs/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-selection/PaymentSelection.js +12 -4
- package/dist/cjs/react/web/ui/Bridge/payment-selection/PaymentSelection.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js +2 -2
- package/dist/cjs/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-success/PaymentReceipt.js +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-success/PaymentReceipt.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js +8 -7
- package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/swap-widget/SearchInput.js +22 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/SearchInput.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/SelectChainButton.js +20 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/SelectChainButton.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/SwapWidget.js +251 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/SwapWidget.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/common.js +17 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/common.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/hooks.js +22 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/hooks.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/select-chain.js +66 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/select-chain.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/select-token-ui.js +208 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/select-token-ui.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/storage.js +53 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/storage.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/swap-ui.js +450 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/swap-ui.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/types.js +3 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/types.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/use-bridge-chains.js +16 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/use-bridge-chains.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/use-tokens.js +68 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/use-tokens.js.map +1 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/utils.js +7 -0
- package/dist/cjs/react/web/ui/Bridge/swap-widget/utils.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +14 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +11 -11
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +15 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModal.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModal.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/WalletEntryButton.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/WalletEntryButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +7 -8
- package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/WalletTypeRowButton.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/WalletTypeRowButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.js +9 -0
- package/dist/cjs/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/icons/WalletDotIcon.js +12 -0
- package/dist/cjs/react/web/ui/ConnectWallet/icons/WalletDotIcon.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/ReceiveFunds.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/ReceiveFunds.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/SendFunds.js +7 -7
- package/dist/cjs/react/web/ui/ConnectWallet/screens/SendFunds.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.js +3 -3
- package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/TokenSelector.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/TokenSelector.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
- package/dist/cjs/react/web/ui/components/DynamicHeight.js +1 -1
- package/dist/cjs/react/web/ui/components/DynamicHeight.js.map +1 -1
- package/dist/cjs/react/web/ui/components/Img.js +42 -7
- package/dist/cjs/react/web/ui/components/Img.js.map +1 -1
- package/dist/cjs/react/web/ui/components/Modal.js +10 -10
- package/dist/cjs/react/web/ui/components/Modal.js.map +1 -1
- package/dist/cjs/react/web/ui/components/OTPInput.js +1 -1
- package/dist/cjs/react/web/ui/components/OTPInput.js.map +1 -1
- package/dist/cjs/react/web/ui/components/Skeleton.js +1 -0
- package/dist/cjs/react/web/ui/components/Skeleton.js.map +1 -1
- package/dist/cjs/react/web/ui/components/Spinner.js +2 -1
- package/dist/cjs/react/web/ui/components/Spinner.js.map +1 -1
- package/dist/cjs/react/web/ui/components/basic.js +11 -5
- package/dist/cjs/react/web/ui/components/basic.js.map +1 -1
- package/dist/cjs/react/web/ui/components/buttons.js +9 -0
- package/dist/cjs/react/web/ui/components/buttons.js.map +1 -1
- package/dist/cjs/react/web/ui/components/formElements.js +1 -1
- package/dist/cjs/react/web/ui/components/formElements.js.map +1 -1
- package/dist/cjs/react/web/ui/components/modalElements.js +1 -1
- package/dist/cjs/react/web/ui/components/modalElements.js.map +1 -1
- package/dist/cjs/react/web/ui/components/text.js +2 -1
- package/dist/cjs/react/web/ui/components/text.js.map +1 -1
- package/dist/cjs/react/web/utils/cls.js +17 -0
- package/dist/cjs/react/web/utils/cls.js.map +1 -0
- package/dist/cjs/react/web/wallets/in-app/InputSelectionUI.js +1 -1
- package/dist/cjs/react/web/wallets/in-app/InputSelectionUI.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +9 -9
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/ConnectingScreen.js +3 -3
- package/dist/cjs/react/web/wallets/shared/ConnectingScreen.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/GuestLogin.js +1 -1
- package/dist/cjs/react/web/wallets/shared/GuestLogin.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js +5 -5
- package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/ScanScreen.js +5 -5
- package/dist/cjs/react/web/wallets/shared/ScanScreen.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js +1 -1
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/cjs/stories/Bridge/Swap/SelectChain.stories.js +25 -0
- package/dist/cjs/stories/Bridge/Swap/SelectChain.stories.js.map +1 -0
- package/dist/cjs/stories/Bridge/Swap/SwapWidget.Prefill.stories.js +83 -0
- package/dist/cjs/stories/Bridge/Swap/SwapWidget.Prefill.stories.js.map +1 -0
- package/dist/cjs/stories/Bridge/Swap/SwapWidget.stories.js +52 -0
- package/dist/cjs/stories/Bridge/Swap/SwapWidget.stories.js.map +1 -0
- package/dist/cjs/stories/BuyWidget.stories.js +36 -0
- package/dist/cjs/stories/BuyWidget.stories.js.map +1 -0
- package/dist/cjs/stories/ConnectEmbed.stories.js +90 -0
- package/dist/cjs/stories/ConnectEmbed.stories.js.map +1 -0
- package/dist/cjs/stories/ConnectWallet/useWalletDetailsModal.stories.js +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/connection/autoConnect.js +0 -9
- package/dist/cjs/wallets/connection/autoConnect.js.map +1 -1
- package/dist/cjs/wallets/connection/autoConnectCore.js +8 -2
- package/dist/cjs/wallets/connection/autoConnectCore.js.map +1 -1
- package/dist/cjs/wallets/manager/index.js +1 -2
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/esm/exports/react.js +1 -0
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/pay/convert/type.js +26 -43
- package/dist/esm/pay/convert/type.js.map +1 -1
- package/dist/esm/react/core/design-system/index.js +3 -1
- package/dist/esm/react/core/design-system/index.js.map +1 -1
- package/dist/esm/react/core/hooks/usePaymentMethods.js +4 -1
- package/dist/esm/react/core/hooks/usePaymentMethods.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +1 -2
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/core/machines/paymentMachine.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useAutoConnect.js +1 -9
- package/dist/esm/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js +7 -5
- package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/DirectPayment.js +2 -2
- package/dist/esm/react/web/ui/Bridge/ErrorBanner.js +1 -1
- package/dist/esm/react/web/ui/Bridge/FundWallet.js +7 -6
- package/dist/esm/react/web/ui/Bridge/FundWallet.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/QuoteLoader.js +5 -3
- package/dist/esm/react/web/ui/Bridge/QuoteLoader.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/StepRunner.js +3 -3
- package/dist/esm/react/web/ui/Bridge/StepRunner.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/TransactionPayment.js +2 -2
- package/dist/esm/react/web/ui/Bridge/UnsupportedTokenScreen.js +2 -2
- package/dist/esm/react/web/ui/Bridge/UnsupportedTokenScreen.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/common/TokenAndChain.js +3 -3
- package/dist/esm/react/web/ui/Bridge/common/TokenAndChain.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/common/WithHeader.js +2 -1
- package/dist/esm/react/web/ui/Bridge/common/WithHeader.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-details/PaymentDetails.js +28 -3
- package/dist/esm/react/web/ui/Bridge/payment-details/PaymentDetails.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js +16 -22
- package/dist/esm/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-selection/PaymentSelection.js +12 -4
- package/dist/esm/react/web/ui/Bridge/payment-selection/PaymentSelection.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js +3 -3
- package/dist/esm/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-success/PaymentReceipt.js +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-success/PaymentReceipt.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js +9 -8
- package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/swap-widget/SearchInput.js +19 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/SearchInput.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/SelectChainButton.js +17 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/SelectChainButton.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/SwapWidget.js +247 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/SwapWidget.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/common.js +14 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/common.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/hooks.js +19 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/hooks.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/select-chain.js +62 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/select-chain.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/select-token-ui.js +205 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/select-token-ui.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/storage.js +49 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/storage.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/swap-ui.js +447 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/swap-ui.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/types.js +2 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/types.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/use-bridge-chains.js +13 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/use-bridge-chains.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/use-tokens.js +64 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/use-tokens.js.map +1 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/utils.js +4 -0
- package/dist/esm/react/web/ui/Bridge/swap-widget/utils.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +14 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +11 -11
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +15 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModal.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModal.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletEntryButton.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletEntryButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +8 -9
- package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletTypeRowButton.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletTypeRowButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.js +5 -0
- package/dist/esm/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/icons/WalletDotIcon.js +8 -0
- package/dist/esm/react/web/ui/ConnectWallet/icons/WalletDotIcon.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/ReceiveFunds.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/ReceiveFunds.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/SendFunds.js +7 -7
- package/dist/esm/react/web/ui/ConnectWallet/screens/SendFunds.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js +3 -3
- package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/TokenSelector.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/TokenSelector.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +1 -1
- package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
- package/dist/esm/react/web/ui/components/DynamicHeight.js +1 -1
- package/dist/esm/react/web/ui/components/DynamicHeight.js.map +1 -1
- package/dist/esm/react/web/ui/components/Img.js +43 -8
- package/dist/esm/react/web/ui/components/Img.js.map +1 -1
- package/dist/esm/react/web/ui/components/Modal.js +10 -10
- package/dist/esm/react/web/ui/components/Modal.js.map +1 -1
- package/dist/esm/react/web/ui/components/OTPInput.js +1 -1
- package/dist/esm/react/web/ui/components/OTPInput.js.map +1 -1
- package/dist/esm/react/web/ui/components/Skeleton.js +1 -0
- package/dist/esm/react/web/ui/components/Skeleton.js.map +1 -1
- package/dist/esm/react/web/ui/components/Spinner.js +2 -1
- package/dist/esm/react/web/ui/components/Spinner.js.map +1 -1
- package/dist/esm/react/web/ui/components/basic.js +11 -5
- package/dist/esm/react/web/ui/components/basic.js.map +1 -1
- package/dist/esm/react/web/ui/components/buttons.js +9 -0
- package/dist/esm/react/web/ui/components/buttons.js.map +1 -1
- package/dist/esm/react/web/ui/components/formElements.js +1 -1
- package/dist/esm/react/web/ui/components/formElements.js.map +1 -1
- package/dist/esm/react/web/ui/components/modalElements.js +1 -1
- package/dist/esm/react/web/ui/components/modalElements.js.map +1 -1
- package/dist/esm/react/web/ui/components/text.js +2 -1
- package/dist/esm/react/web/ui/components/text.js.map +1 -1
- package/dist/esm/react/web/utils/cls.js +14 -0
- package/dist/esm/react/web/utils/cls.js.map +1 -0
- package/dist/esm/react/web/wallets/in-app/InputSelectionUI.js +1 -1
- package/dist/esm/react/web/wallets/in-app/InputSelectionUI.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +9 -9
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/ConnectingScreen.js +3 -3
- package/dist/esm/react/web/wallets/shared/ConnectingScreen.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/GuestLogin.js +1 -1
- package/dist/esm/react/web/wallets/shared/GuestLogin.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/OTPLoginUI.js +5 -5
- package/dist/esm/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/ScanScreen.js +5 -5
- package/dist/esm/react/web/wallets/shared/ScanScreen.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/SocialLogin.js +1 -1
- package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/esm/stories/Bridge/Swap/SelectChain.stories.js +21 -0
- package/dist/esm/stories/Bridge/Swap/SelectChain.stories.js.map +1 -0
- package/dist/esm/stories/Bridge/Swap/SwapWidget.Prefill.stories.js +74 -0
- package/dist/esm/stories/Bridge/Swap/SwapWidget.Prefill.stories.js.map +1 -0
- package/dist/esm/stories/Bridge/Swap/SwapWidget.stories.js +45 -0
- package/dist/esm/stories/Bridge/Swap/SwapWidget.stories.js.map +1 -0
- package/dist/esm/stories/BuyWidget.stories.js +29 -0
- package/dist/esm/stories/BuyWidget.stories.js.map +1 -0
- package/dist/esm/stories/ConnectEmbed.stories.js +81 -0
- package/dist/esm/stories/ConnectEmbed.stories.js.map +1 -0
- package/dist/esm/stories/ConnectWallet/useWalletDetailsModal.stories.js +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/connection/autoConnect.js +0 -9
- package/dist/esm/wallets/connection/autoConnect.js.map +1 -1
- package/dist/esm/wallets/connection/autoConnectCore.js +8 -2
- package/dist/esm/wallets/connection/autoConnectCore.js.map +1 -1
- package/dist/esm/wallets/manager/index.js +1 -2
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/types/bridge/types/Chain.d.ts +1 -0
- package/dist/types/bridge/types/Chain.d.ts.map +1 -1
- package/dist/types/exports/react.d.ts +1 -0
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/pay/convert/type.d.ts +27 -3
- package/dist/types/pay/convert/type.d.ts.map +1 -1
- package/dist/types/react/core/design-system/index.d.ts +2 -0
- package/dist/types/react/core/design-system/index.d.ts.map +1 -1
- package/dist/types/react/core/hooks/usePaymentMethods.d.ts.map +1 -1
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts +1 -1
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/core/machines/paymentMachine.d.ts +1 -0
- package/dist/types/react/core/machines/paymentMachine.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/BuyWidget.d.ts +1 -1
- package/dist/types/react/web/ui/Bridge/FundWallet.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/StepRunner.d.ts +2 -1
- package/dist/types/react/web/ui/Bridge/StepRunner.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/common/TokenAndChain.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/common/WithHeader.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/payment-details/PaymentDetails.d.ts +3 -1
- package/dist/types/react/web/ui/Bridge/payment-details/PaymentDetails.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/payment-selection/FiatProviderSelection.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/payment-selection/PaymentSelection.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/payment-selection/WalletFiatSelection.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/payment-success/PaymentReceipt.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/payment-success/SuccessScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/swap-widget/SearchInput.d.ts +6 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/SearchInput.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/SelectChainButton.d.ts +8 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/SelectChainButton.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/SwapWidget.d.ts +213 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/SwapWidget.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/common.d.ts +9 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/common.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/hooks.d.ts +3 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/hooks.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/select-chain.d.ts +23 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/select-chain.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/select-token-ui.d.ts +18 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/select-token-ui.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/storage.d.ts +46 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/storage.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/swap-ui.d.ts +40 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/swap-ui.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/types.d.ts +139 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/types.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/use-bridge-chains.d.ts +4 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/use-bridge-chains.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/use-tokens.d.ts +44 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/use-tokens.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/utils.d.ts +2 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/utils.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +13 -0
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/AllWalletsUI.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +13 -0
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectModal.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/NetworkSelector.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/NetworkSelector.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/WalletEntryButton.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/WalletEntryButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/WalletSelector.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/WalletTypeRowButton.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/WalletTypeRowButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.d.ts +3 -0
- package/dist/types/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/icons/WalletDotIcon.d.ts +6 -0
- package/dist/types/react/web/ui/ConnectWallet/icons/WalletDotIcon.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/ReceiveFunds.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/SendFunds.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/SignatureScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/TokenSelector.d.ts.map +1 -1
- package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/Img.d.ts +3 -0
- package/dist/types/react/web/ui/components/Img.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/Modal.d.ts +3 -0
- package/dist/types/react/web/ui/components/Modal.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/Skeleton.d.ts +1 -0
- package/dist/types/react/web/ui/components/Skeleton.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/Spinner.d.ts +1 -0
- package/dist/types/react/web/ui/components/Spinner.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/basic.d.ts +6 -0
- package/dist/types/react/web/ui/components/basic.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/buttons.d.ts +1 -1
- package/dist/types/react/web/ui/components/buttons.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/formElements.d.ts +1 -0
- package/dist/types/react/web/ui/components/formElements.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/modalElements.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/text.d.ts +1 -0
- package/dist/types/react/web/ui/components/text.d.ts.map +1 -1
- package/dist/types/react/web/utils/cls.d.ts +12 -0
- package/dist/types/react/web/utils/cls.d.ts.map +1 -0
- package/dist/types/react/web/wallets/in-app/InputSelectionUI.d.ts +1 -0
- package/dist/types/react/web/wallets/in-app/InputSelectionUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/ConnectingScreen.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/GuestLogin.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/ScanScreen.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/SocialLogin.d.ts.map +1 -1
- package/dist/types/stories/Bridge/Swap/SelectChain.stories.d.ts +10 -0
- package/dist/types/stories/Bridge/Swap/SelectChain.stories.d.ts.map +1 -0
- package/dist/types/stories/Bridge/Swap/SwapWidget.Prefill.stories.d.ts +15 -0
- package/dist/types/stories/Bridge/Swap/SwapWidget.Prefill.stories.d.ts.map +1 -0
- package/dist/types/stories/Bridge/Swap/SwapWidget.stories.d.ts +10 -0
- package/dist/types/stories/Bridge/Swap/SwapWidget.stories.d.ts.map +1 -0
- package/dist/types/stories/BuyWidget.stories.d.ts +13 -0
- package/dist/types/stories/BuyWidget.stories.d.ts.map +1 -0
- package/dist/types/stories/ConnectEmbed.stories.d.ts +12 -0
- package/dist/types/stories/ConnectEmbed.stories.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/connection/autoConnect.d.ts.map +1 -1
- package/dist/types/wallets/connection/autoConnectCore.d.ts +0 -1
- package/dist/types/wallets/connection/autoConnectCore.d.ts.map +1 -1
- package/dist/types/wallets/manager/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/bridge/types/Chain.ts +2 -0
- package/src/exports/react.ts +4 -0
- package/src/pay/convert/type.ts +27 -44
- package/src/react/core/design-system/index.ts +3 -1
- package/src/react/core/hooks/usePaymentMethods.ts +4 -1
- package/src/react/core/hooks/wallets/useAutoConnect.ts +0 -2
- package/src/react/core/machines/paymentMachine.ts +1 -0
- package/src/react/web/hooks/wallets/useAutoConnect.ts +0 -11
- package/src/react/web/ui/Bridge/BridgeOrchestrator.tsx +7 -5
- package/src/react/web/ui/Bridge/BuyWidget.tsx +1 -1
- package/src/react/web/ui/Bridge/DirectPayment.tsx +2 -2
- package/src/react/web/ui/Bridge/ErrorBanner.tsx +1 -1
- package/src/react/web/ui/Bridge/FundWallet.tsx +9 -8
- package/src/react/web/ui/Bridge/QuoteLoader.tsx +6 -3
- package/src/react/web/ui/Bridge/StepRunner.tsx +5 -3
- package/src/react/web/ui/Bridge/TransactionPayment.tsx +2 -2
- package/src/react/web/ui/Bridge/UnsupportedTokenScreen.tsx +2 -2
- package/src/react/web/ui/Bridge/common/TokenAndChain.tsx +3 -2
- package/src/react/web/ui/Bridge/common/WithHeader.tsx +23 -13
- package/src/react/web/ui/Bridge/payment-details/PaymentDetails.tsx +47 -5
- package/src/react/web/ui/Bridge/payment-selection/FiatProviderSelection.tsx +89 -83
- package/src/react/web/ui/Bridge/payment-selection/PaymentSelection.tsx +16 -7
- package/src/react/web/ui/Bridge/payment-selection/WalletFiatSelection.tsx +12 -7
- package/src/react/web/ui/Bridge/payment-success/PaymentReceipt.tsx +1 -5
- package/src/react/web/ui/Bridge/payment-success/SuccessScreen.tsx +27 -16
- package/src/react/web/ui/Bridge/swap-widget/SearchInput.tsx +46 -0
- package/src/react/web/ui/Bridge/swap-widget/SelectChainButton.tsx +50 -0
- package/src/react/web/ui/Bridge/swap-widget/SwapWidget.tsx +528 -0
- package/src/react/web/ui/Bridge/swap-widget/common.tsx +35 -0
- package/src/react/web/ui/Bridge/swap-widget/hooks.ts +21 -0
- package/src/react/web/ui/Bridge/swap-widget/select-chain.tsx +171 -0
- package/src/react/web/ui/Bridge/swap-widget/select-token-ui.tsx +528 -0
- package/src/react/web/ui/Bridge/swap-widget/storage.ts +56 -0
- package/src/react/web/ui/Bridge/swap-widget/swap-ui.tsx +950 -0
- package/src/react/web/ui/Bridge/swap-widget/types.ts +157 -0
- package/src/react/web/ui/Bridge/swap-widget/use-bridge-chains.ts +14 -0
- package/src/react/web/ui/Bridge/swap-widget/use-tokens.ts +120 -0
- package/src/react/web/ui/Bridge/swap-widget/utils.ts +3 -0
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +15 -0
- package/src/react/web/ui/ConnectWallet/Details.test.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/Details.tsx +12 -1
- package/src/react/web/ui/ConnectWallet/Modal/AllWalletsUI.tsx +7 -1
- package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +19 -1
- package/src/react/web/ui/ConnectWallet/Modal/ConnectModal.tsx +2 -0
- package/src/react/web/ui/ConnectWallet/NetworkSelector.tsx +4 -1
- package/src/react/web/ui/ConnectWallet/WalletEntryButton.tsx +2 -0
- package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +20 -22
- package/src/react/web/ui/ConnectWallet/WalletTypeRowButton.tsx +2 -0
- package/src/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.tsx +23 -0
- package/src/react/web/ui/ConnectWallet/icons/WalletDotIcon.tsx +22 -0
- package/src/react/web/ui/ConnectWallet/screens/ReceiveFunds.tsx +5 -2
- package/src/react/web/ui/ConnectWallet/screens/SendFunds.test.tsx +1 -3
- package/src/react/web/ui/ConnectWallet/screens/SendFunds.tsx +19 -4
- package/src/react/web/ui/ConnectWallet/screens/SignatureScreen.tsx +13 -3
- package/src/react/web/ui/ConnectWallet/screens/TokenSelector.tsx +2 -0
- package/src/react/web/ui/TransactionButton/TransactionModal.tsx +2 -0
- package/src/react/web/ui/components/DynamicHeight.tsx +1 -1
- package/src/react/web/ui/components/Img.tsx +67 -9
- package/src/react/web/ui/components/Modal.tsx +17 -12
- package/src/react/web/ui/components/OTPInput.tsx +1 -1
- package/src/react/web/ui/components/Skeleton.tsx +2 -0
- package/src/react/web/ui/components/Spinner.tsx +3 -0
- package/src/react/web/ui/components/basic.tsx +17 -3
- package/src/react/web/ui/components/buttons.tsx +18 -1
- package/src/react/web/ui/components/formElements.tsx +2 -1
- package/src/react/web/ui/components/modalElements.tsx +1 -0
- package/src/react/web/ui/components/text.tsx +3 -1
- package/src/react/web/utils/cls.ts +13 -0
- package/src/react/web/wallets/in-app/InputSelectionUI.tsx +2 -0
- package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +9 -0
- package/src/react/web/wallets/shared/ConnectingScreen.tsx +21 -4
- package/src/react/web/wallets/shared/GuestLogin.tsx +6 -1
- package/src/react/web/wallets/shared/OTPLoginUI.tsx +35 -6
- package/src/react/web/wallets/shared/ScanScreen.tsx +22 -3
- package/src/react/web/wallets/shared/SocialLogin.tsx +6 -1
- package/src/stories/Bridge/Swap/SelectChain.stories.tsx +51 -0
- package/src/stories/Bridge/Swap/SwapWidget.Prefill.stories.tsx +116 -0
- package/src/stories/Bridge/Swap/SwapWidget.stories.tsx +71 -0
- package/src/stories/BuyWidget.stories.tsx +56 -0
- package/src/stories/ConnectEmbed.stories.tsx +128 -0
- package/src/stories/ConnectWallet/useWalletDetailsModal.stories.tsx +1 -1
- package/src/transaction/prepare-transaction.test.ts +2 -2
- package/src/version.ts +1 -1
- package/src/wallets/connection/autoConnect.test.ts +0 -3
- package/src/wallets/connection/autoConnect.ts +0 -11
- package/src/wallets/connection/autoConnectCore.ts +7 -3
- package/src/wallets/manager/index.ts +1 -2
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import type { Chain } from "../../../../../chains/types.js";
|
|
2
|
+
import type {
|
|
3
|
+
Account,
|
|
4
|
+
Wallet,
|
|
5
|
+
} from "../../../../../wallets/interfaces/wallet.js";
|
|
6
|
+
import type { SmartWalletOptions } from "../../../../../wallets/smart/types.js";
|
|
7
|
+
import type { AppMetadata } from "../../../../../wallets/types.js";
|
|
8
|
+
import type { SiweAuthOptions } from "../../../../core/hooks/auth/useSiweAuth.js";
|
|
9
|
+
import type { ConnectButton_connectModalOptions } from "../../../../core/hooks/connection/ConnectButtonProps.js";
|
|
10
|
+
import type { BridgePrepareResult } from "../../../../core/hooks/useBridgePrepare.js";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Connection options for the `SwapWidget` component
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <SwapWidget client={client} connectOptions={{
|
|
18
|
+
* connectModal: {
|
|
19
|
+
* size: 'compact',
|
|
20
|
+
* title: "Sign in",
|
|
21
|
+
* }
|
|
22
|
+
* }}
|
|
23
|
+
* />
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export type SwapWidgetConnectOptions = {
|
|
27
|
+
/**
|
|
28
|
+
* Configurations for the `ConnectButton`'s Modal that is shown for connecting a wallet
|
|
29
|
+
* Refer to the [`ConnectButton_connectModalOptions`](https://portal.thirdweb.com/references/typescript/v5/ConnectButton_connectModalOptions) type for more details
|
|
30
|
+
*/
|
|
31
|
+
connectModal?: ConnectButton_connectModalOptions;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Configure options for WalletConnect
|
|
35
|
+
*
|
|
36
|
+
* By default WalletConnect uses the thirdweb's default project id.
|
|
37
|
+
* Setting your own project id is recommended.
|
|
38
|
+
*
|
|
39
|
+
* You can create a project id by signing up on [walletconnect.com](https://walletconnect.com/)
|
|
40
|
+
*/
|
|
41
|
+
walletConnect?: {
|
|
42
|
+
projectId?: string;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Enable Account abstraction for all wallets. This will connect to the users's smart account based on the connected personal wallet and the given options.
|
|
47
|
+
*
|
|
48
|
+
* This allows to sponsor gas fees for your user's transaction using the thirdweb account abstraction infrastructure.
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
51
|
+
accountAbstraction?: SmartWalletOptions;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Array of wallets to show in Connect Modal. If not provided, default wallets will be used.
|
|
55
|
+
*/
|
|
56
|
+
wallets?: Wallet[];
|
|
57
|
+
/**
|
|
58
|
+
* When the user has connected their wallet to your site, this configuration determines whether or not you want to automatically connect to the last connected wallet when user visits your site again in the future.
|
|
59
|
+
*
|
|
60
|
+
* By default it is set to `{ timeout: 15000 }` meaning that autoConnect is enabled and if the autoConnection does not succeed within 15 seconds, it will be cancelled.
|
|
61
|
+
*
|
|
62
|
+
* If you want to disable autoConnect, set this prop to `false`.
|
|
63
|
+
*
|
|
64
|
+
* If you want to customize the timeout, you can assign an object with a `timeout` key to this prop.
|
|
65
|
+
*/
|
|
66
|
+
autoConnect?:
|
|
67
|
+
| {
|
|
68
|
+
timeout: number;
|
|
69
|
+
}
|
|
70
|
+
| boolean;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Metadata of the app that will be passed to connected wallet. Setting this is highly recommended.
|
|
74
|
+
*/
|
|
75
|
+
appMetadata?: AppMetadata;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The [`Chain`](https://portal.thirdweb.com/references/typescript/v5/Chain) object of the blockchain you want the wallet to connect to
|
|
79
|
+
*
|
|
80
|
+
* If a `chain` is not specified, Wallet will be connected to whatever is the default set in the wallet.
|
|
81
|
+
*
|
|
82
|
+
* If a `chain` is specified, Wallet will be prompted to switch to given chain after connection if it is not already connected to it.
|
|
83
|
+
* This ensures that the wallet is connected to the correct blockchain before interacting with your app.
|
|
84
|
+
*
|
|
85
|
+
* The `ConnectButton` also shows a "Switch Network" button until the wallet is connected to the specified chain. Clicking on the "Switch Network" button triggers the wallet to switch to the specified chain.
|
|
86
|
+
*
|
|
87
|
+
* You can create a `Chain` object using the [`defineChain`](https://portal.thirdweb.com/references/typescript/v5/defineChain) function.
|
|
88
|
+
* At minimum, you need to pass the `id` of the blockchain to `defineChain` function to create a `Chain` object.
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
chain?: Chain;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Array of chains that your app supports.
|
|
95
|
+
*
|
|
96
|
+
* This is only relevant if your app is a multi-chain app and works across multiple blockchains.
|
|
97
|
+
* If your app only works on a single blockchain, you should only specify the `chain` prop.
|
|
98
|
+
*
|
|
99
|
+
* Given list of chains will used in various ways:
|
|
100
|
+
* - They will be displayed in the network selector in the `ConnectButton`'s details modal post connection
|
|
101
|
+
* - They will be sent to wallet at the time of connection if the wallet supports requesting multiple chains ( example: WalletConnect ) so that users can switch between the chains post connection easily
|
|
102
|
+
*
|
|
103
|
+
* You can create a `Chain` object using the [`defineChain`](https://portal.thirdweb.com/references/typescript/v5/defineChain) function.
|
|
104
|
+
* At minimum, you need to pass the `id` of the blockchain to `defineChain` function to create a `Chain` object.
|
|
105
|
+
*
|
|
106
|
+
* ```tsx
|
|
107
|
+
* import { defineChain } from "thirdweb/react";
|
|
108
|
+
*
|
|
109
|
+
* const polygon = defineChain({
|
|
110
|
+
* id: 137,
|
|
111
|
+
* });
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
chains?: Chain[];
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Wallets to show as recommended in the `ConnectButton`'s Modal
|
|
118
|
+
*/
|
|
119
|
+
recommendedWallets?: Wallet[];
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* By default, ConnectButton modal shows a "All Wallets" button that shows a list of 500+ wallets.
|
|
123
|
+
*
|
|
124
|
+
* You can disable this button by setting `showAllWallets` prop to `false`
|
|
125
|
+
*/
|
|
126
|
+
showAllWallets?: boolean;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Enable SIWE (Sign in with Ethererum) by passing an object of type `SiweAuthOptions` to
|
|
130
|
+
* enforce the users to sign a message after connecting their wallet to authenticate themselves.
|
|
131
|
+
*
|
|
132
|
+
* Refer to the [`SiweAuthOptions`](https://portal.thirdweb.com/references/typescript/v5/SiweAuthOptions) for more details
|
|
133
|
+
*/
|
|
134
|
+
auth?: SiweAuthOptions;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
export type ActiveWalletInfo = {
|
|
141
|
+
activeChain: Chain;
|
|
142
|
+
activeWallet: Wallet;
|
|
143
|
+
activeAccount: Account;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* @internal
|
|
148
|
+
*/
|
|
149
|
+
export type TokenSelection = {
|
|
150
|
+
tokenAddress: string;
|
|
151
|
+
chainId: number;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export type SwapPreparedQuote = Extract<
|
|
155
|
+
BridgePrepareResult,
|
|
156
|
+
{ type: "buy" | "sell" }
|
|
157
|
+
>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useQuery } from "@tanstack/react-query";
|
|
2
|
+
import { chains } from "../../../../../bridge/index.js";
|
|
3
|
+
import type { ThirdwebClient } from "../../../../../client/client.js";
|
|
4
|
+
|
|
5
|
+
export function useBridgeChains(client: ThirdwebClient) {
|
|
6
|
+
return useQuery({
|
|
7
|
+
queryKey: ["bridge-chains"],
|
|
8
|
+
queryFn: () => {
|
|
9
|
+
return chains({ client });
|
|
10
|
+
},
|
|
11
|
+
refetchOnMount: false,
|
|
12
|
+
refetchOnWindowFocus: false,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { useQuery } from "@tanstack/react-query";
|
|
2
|
+
import type { Token } from "../../../../../bridge/index.js";
|
|
3
|
+
import { tokens } from "../../../../../bridge/Token.js";
|
|
4
|
+
import type { ThirdwebClient } from "../../../../../client/client.js";
|
|
5
|
+
import { isAddress } from "../../../../../utils/address.js";
|
|
6
|
+
import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
|
|
7
|
+
|
|
8
|
+
export function useTokens(options: {
|
|
9
|
+
client: ThirdwebClient;
|
|
10
|
+
chainId?: number;
|
|
11
|
+
search?: string;
|
|
12
|
+
offset: number;
|
|
13
|
+
limit: number;
|
|
14
|
+
}) {
|
|
15
|
+
return useQuery<Token[]>({
|
|
16
|
+
queryKey: ["tokens", options],
|
|
17
|
+
enabled: !!options.chainId,
|
|
18
|
+
queryFn: () => {
|
|
19
|
+
if (!options.chainId) {
|
|
20
|
+
throw new Error("Chain ID is required");
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const isSearchAddress = options.search
|
|
24
|
+
? isAddress(options.search)
|
|
25
|
+
: false;
|
|
26
|
+
|
|
27
|
+
return tokens({
|
|
28
|
+
chainId: options.chainId,
|
|
29
|
+
client: options.client,
|
|
30
|
+
offset: options.offset,
|
|
31
|
+
limit: options.limit,
|
|
32
|
+
includePrices: false,
|
|
33
|
+
name: !options.search || isSearchAddress ? undefined : options.search,
|
|
34
|
+
tokenAddress: isSearchAddress ? options.search : undefined,
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type TokenBalance = {
|
|
41
|
+
balance: string;
|
|
42
|
+
chain_id: number;
|
|
43
|
+
decimals: number;
|
|
44
|
+
name: string;
|
|
45
|
+
icon_uri: string;
|
|
46
|
+
price_data: {
|
|
47
|
+
circulating_supply: number;
|
|
48
|
+
market_cap_usd: number;
|
|
49
|
+
percent_change_24h: number;
|
|
50
|
+
price_timestamp: string;
|
|
51
|
+
price_usd: number;
|
|
52
|
+
total_supply: number;
|
|
53
|
+
usd_value: number;
|
|
54
|
+
volume_24h_usd: number;
|
|
55
|
+
};
|
|
56
|
+
symbol: string;
|
|
57
|
+
token_address: string;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
type TokenBalancesResponse = {
|
|
61
|
+
result: {
|
|
62
|
+
pagination: {
|
|
63
|
+
hasMore: boolean;
|
|
64
|
+
limit: number;
|
|
65
|
+
page: number;
|
|
66
|
+
totalCount: number;
|
|
67
|
+
};
|
|
68
|
+
tokens: TokenBalance[];
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export function useTokenBalances(options: {
|
|
73
|
+
clientId: string;
|
|
74
|
+
page: number;
|
|
75
|
+
limit: number;
|
|
76
|
+
walletAddress: string | undefined;
|
|
77
|
+
chainId: number | undefined;
|
|
78
|
+
}) {
|
|
79
|
+
return useQuery({
|
|
80
|
+
queryKey: ["bridge/v1/wallets", options],
|
|
81
|
+
enabled: !!options.chainId && !!options.walletAddress,
|
|
82
|
+
queryFn: async () => {
|
|
83
|
+
if (!options.chainId || !options.walletAddress) {
|
|
84
|
+
throw new Error("invalid options");
|
|
85
|
+
}
|
|
86
|
+
const baseUrl = getThirdwebBaseUrl("bridge");
|
|
87
|
+
const isDev = baseUrl.includes("thirdweb-dev");
|
|
88
|
+
const url = new URL(
|
|
89
|
+
`https://api.${isDev ? "thirdweb-dev" : "thirdweb"}.com/v1/wallets/${options.walletAddress}/tokens`,
|
|
90
|
+
);
|
|
91
|
+
url.searchParams.set("chainId", options.chainId.toString());
|
|
92
|
+
url.searchParams.set("limit", options.limit.toString());
|
|
93
|
+
url.searchParams.set("page", options.page.toString());
|
|
94
|
+
url.searchParams.set("metadata", "true");
|
|
95
|
+
url.searchParams.set("resolveMetadataLinks", "true");
|
|
96
|
+
url.searchParams.set("includeSpam", "false");
|
|
97
|
+
url.searchParams.set("includeNative", "true");
|
|
98
|
+
url.searchParams.set("sortBy", "usd_value");
|
|
99
|
+
url.searchParams.set("sortOrder", "desc");
|
|
100
|
+
url.searchParams.set("includeWithoutPrice", "false"); // filter out tokens with no price
|
|
101
|
+
|
|
102
|
+
const response = await fetch(url.toString(), {
|
|
103
|
+
headers: {
|
|
104
|
+
"x-client-id": options.clientId,
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
if (!response.ok) {
|
|
109
|
+
throw new Error(
|
|
110
|
+
`Failed to fetch token balances: ${response.statusText}`,
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const json = (await response.json()) as TokenBalancesResponse;
|
|
115
|
+
return json.result;
|
|
116
|
+
},
|
|
117
|
+
refetchOnMount: false,
|
|
118
|
+
refetchOnWindowFocus: false,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
@@ -161,6 +161,19 @@ const TW_CONNECT_WALLET = "tw-connect-wallet";
|
|
|
161
161
|
*
|
|
162
162
|
* [View all available themes properties](https://portal.thirdweb.com/references/typescript/v5/Theme)
|
|
163
163
|
*
|
|
164
|
+
* ### Overriding styles using class names
|
|
165
|
+
*
|
|
166
|
+
* Some elements in this component have classes with a `tw-` prefix.
|
|
167
|
+
* You can target these classes in your own CSS stylesheet to override their styles.
|
|
168
|
+
*
|
|
169
|
+
* In some cases, you may need to use the `!important` flag for the override to take effect. Do not use on auto-generated class names, as they may change between builds.
|
|
170
|
+
*
|
|
171
|
+
* ```css
|
|
172
|
+
* .tw-back-button {
|
|
173
|
+
* background-color: red !important;
|
|
174
|
+
* }
|
|
175
|
+
* ```
|
|
176
|
+
*
|
|
164
177
|
* ### Changing the display language
|
|
165
178
|
*
|
|
166
179
|
* ```tsx
|
|
@@ -543,6 +556,8 @@ function ConnectButtonInner(
|
|
|
543
556
|
)}
|
|
544
557
|
</Button>
|
|
545
558
|
<Modal
|
|
559
|
+
className="tw-modal__sign-in"
|
|
560
|
+
title="Sign in"
|
|
546
561
|
open={showSignatureModal}
|
|
547
562
|
setOpen={setShowSignatureModal}
|
|
548
563
|
size="compact"
|
|
@@ -560,7 +560,7 @@ describe("Details Modal", () => {
|
|
|
560
560
|
);
|
|
561
561
|
|
|
562
562
|
// Add assertions to check if the modal is rendered correctly
|
|
563
|
-
expect(screen.getByText("
|
|
563
|
+
expect(screen.getByText("Manage Wallet")).toBeInTheDocument();
|
|
564
564
|
});
|
|
565
565
|
|
|
566
566
|
it("should call closeModal when the close button is clicked", async () => {
|
|
@@ -572,6 +572,7 @@ export function DetailsModal(props: {
|
|
|
572
572
|
<Container px="lg">
|
|
573
573
|
{/* Send, Receive, Swap */}
|
|
574
574
|
<Container
|
|
575
|
+
className="tw-highlight-buttons"
|
|
575
576
|
style={{
|
|
576
577
|
display: "flex",
|
|
577
578
|
gap: spacing.xs,
|
|
@@ -579,6 +580,7 @@ export function DetailsModal(props: {
|
|
|
579
580
|
>
|
|
580
581
|
{!hideSendFunds && (
|
|
581
582
|
<Button
|
|
583
|
+
className="tw-highlight-button__send"
|
|
582
584
|
onClick={() => {
|
|
583
585
|
setScreen("send");
|
|
584
586
|
}}
|
|
@@ -608,6 +610,7 @@ export function DetailsModal(props: {
|
|
|
608
610
|
|
|
609
611
|
{!hideReceiveFunds && (
|
|
610
612
|
<Button
|
|
613
|
+
className="tw-highlight-button__receive"
|
|
611
614
|
onClick={() => {
|
|
612
615
|
setScreen("receive");
|
|
613
616
|
}}
|
|
@@ -632,6 +635,7 @@ export function DetailsModal(props: {
|
|
|
632
635
|
chainMetadataQuery.data &&
|
|
633
636
|
!chainMetadataQuery.data.testnet && (
|
|
634
637
|
<Button
|
|
638
|
+
className="tw-highlight-button__buy"
|
|
635
639
|
onClick={() => {
|
|
636
640
|
trackPayEvent({
|
|
637
641
|
client: client,
|
|
@@ -682,6 +686,7 @@ export function DetailsModal(props: {
|
|
|
682
686
|
|
|
683
687
|
{/* Transactions */}
|
|
684
688
|
<MenuButton
|
|
689
|
+
className="tw-view-transactions-button"
|
|
685
690
|
onClick={() => {
|
|
686
691
|
setScreen("transactions");
|
|
687
692
|
}}
|
|
@@ -699,6 +704,7 @@ export function DetailsModal(props: {
|
|
|
699
704
|
{/* Hide the View Funds button if the assetTabs props is set to an empty array */}
|
|
700
705
|
{(props.assetTabs === undefined || props.assetTabs.length > 0) && (
|
|
701
706
|
<MenuButton
|
|
707
|
+
className="tw-view-assets-button"
|
|
702
708
|
onClick={() => {
|
|
703
709
|
setScreen("view-assets");
|
|
704
710
|
}}
|
|
@@ -713,6 +719,7 @@ export function DetailsModal(props: {
|
|
|
713
719
|
|
|
714
720
|
{/* Manage Wallet */}
|
|
715
721
|
<MenuButton
|
|
722
|
+
className="tw-manage-wallet-button"
|
|
716
723
|
onClick={() => {
|
|
717
724
|
setScreen("manage-wallet");
|
|
718
725
|
}}
|
|
@@ -729,6 +736,7 @@ export function DetailsModal(props: {
|
|
|
729
736
|
(chainFaucetsQuery.faucets.length > 0 ||
|
|
730
737
|
walletChain?.id === LocalhostChainId) && (
|
|
731
738
|
<MenuLink
|
|
739
|
+
className="tw-request-testnet-funds-button"
|
|
732
740
|
as="a"
|
|
733
741
|
href={
|
|
734
742
|
chainFaucetsQuery.faucets ? chainFaucetsQuery.faucets[0] : "#"
|
|
@@ -759,6 +767,7 @@ export function DetailsModal(props: {
|
|
|
759
767
|
<Spacer y="sm" />
|
|
760
768
|
<Container px="md">
|
|
761
769
|
<MenuButton
|
|
770
|
+
className="tw-disconnect-wallet-button"
|
|
762
771
|
data-variant="danger"
|
|
763
772
|
onClick={() => {
|
|
764
773
|
if (activeWallet && activeAccount) {
|
|
@@ -1000,6 +1009,8 @@ export function DetailsModal(props: {
|
|
|
1000
1009
|
<WalletUIStatesProvider isOpen={false} theme={props.theme}>
|
|
1001
1010
|
<ScreenSetupContext.Provider value={screenSetup}>
|
|
1002
1011
|
<Modal
|
|
1012
|
+
className="tw-modal__wallet-details"
|
|
1013
|
+
title="Manage Wallet"
|
|
1003
1014
|
open={isOpen}
|
|
1004
1015
|
setOpen={(_open) => {
|
|
1005
1016
|
if (!_open) {
|
|
@@ -1042,7 +1053,7 @@ export function NetworkSwitcherButton(props: {
|
|
|
1042
1053
|
}
|
|
1043
1054
|
return (
|
|
1044
1055
|
<MenuButton
|
|
1045
|
-
className="tw-internal-network-switcher-button"
|
|
1056
|
+
className="tw-internal-network-switcher-button tw-switch-network-button"
|
|
1046
1057
|
data-variant="primary"
|
|
1047
1058
|
disabled={disableSwitchChain}
|
|
1048
1059
|
onClick={() => {
|
|
@@ -69,7 +69,12 @@ function AllWalletsUI(props: {
|
|
|
69
69
|
}, [searchResults, itemsToShow]);
|
|
70
70
|
|
|
71
71
|
return (
|
|
72
|
-
<Container
|
|
72
|
+
<Container
|
|
73
|
+
animate="fadein"
|
|
74
|
+
flex="column"
|
|
75
|
+
fullHeight
|
|
76
|
+
className="tw-all-wallets-screen"
|
|
77
|
+
>
|
|
73
78
|
<Container p="lg">
|
|
74
79
|
<ModalHeader onBack={props.onBack} title="Select Wallet" />
|
|
75
80
|
</Container>
|
|
@@ -140,6 +145,7 @@ function AllWalletsUI(props: {
|
|
|
140
145
|
}}
|
|
141
146
|
>
|
|
142
147
|
<WalletEntryButton
|
|
148
|
+
className="tw-select-wallet-button"
|
|
143
149
|
badge={undefined}
|
|
144
150
|
client={props.client}
|
|
145
151
|
connectLocale={props.connectLocale}
|
|
@@ -22,6 +22,7 @@ import { useIsAutoConnecting } from "../../../../core/hooks/wallets/useIsAutoCon
|
|
|
22
22
|
import { useConnectionManager } from "../../../../core/providers/connection-manager.js";
|
|
23
23
|
import { WalletUIStatesProvider } from "../../../providers/wallet-ui-states-provider.js";
|
|
24
24
|
import { canFitWideModal } from "../../../utils/canFitWideModal.js";
|
|
25
|
+
import { cls } from "../../../utils/cls.js";
|
|
25
26
|
import { usePreloadWalletProviders } from "../../../utils/usePreloadWalletProviders.js";
|
|
26
27
|
import { LoadingScreen } from "../../../wallets/shared/LoadingScreen.js";
|
|
27
28
|
import { AutoConnect } from "../../AutoConnect/AutoConnect.js";
|
|
@@ -161,6 +162,19 @@ import { useSetupScreen } from "./screen.js";
|
|
|
161
162
|
*
|
|
162
163
|
* [View all available themes properties](https://portal.thirdweb.com/references/typescript/v5/Theme)
|
|
163
164
|
*
|
|
165
|
+
* ### Overriding styles using class names
|
|
166
|
+
*
|
|
167
|
+
* Some elements in this component have classes with a `tw-` prefix.
|
|
168
|
+
* You can target these classes in your own CSS stylesheet to override their styles.
|
|
169
|
+
*
|
|
170
|
+
* In some cases, you may need to use the `!important` flag for the override to take effect. Do not use on auto-generated class names, as they may change between builds.
|
|
171
|
+
*
|
|
172
|
+
* ```css
|
|
173
|
+
* .tw-back-button {
|
|
174
|
+
* background-color: red !important;
|
|
175
|
+
* }
|
|
176
|
+
* ```
|
|
177
|
+
*
|
|
164
178
|
* ### Changing the display language
|
|
165
179
|
*
|
|
166
180
|
* ```tsx
|
|
@@ -266,7 +280,11 @@ export function ConnectEmbed(props: ConnectEmbedProps) {
|
|
|
266
280
|
<>
|
|
267
281
|
{autoConnectComp}
|
|
268
282
|
<CustomThemeProvider theme={props.theme}>
|
|
269
|
-
<EmbedContainer
|
|
283
|
+
<EmbedContainer
|
|
284
|
+
modalSize={modalSize}
|
|
285
|
+
className={cls("tw-widget-loading", props.className)}
|
|
286
|
+
style={props.style}
|
|
287
|
+
>
|
|
270
288
|
<LoadingScreen />
|
|
271
289
|
</EmbedContainer>
|
|
272
290
|
</CustomThemeProvider>
|
|
@@ -146,6 +146,7 @@ type NetworkSelectorContentProps = {
|
|
|
146
146
|
showTabs?: boolean;
|
|
147
147
|
connectLocale: ConnectLocale;
|
|
148
148
|
client: ThirdwebClient;
|
|
149
|
+
className?: string;
|
|
149
150
|
};
|
|
150
151
|
|
|
151
152
|
/**
|
|
@@ -364,7 +365,7 @@ export function NetworkSelectorContent(props: NetworkSelectorContentProps) {
|
|
|
364
365
|
);
|
|
365
366
|
|
|
366
367
|
return (
|
|
367
|
-
<Container>
|
|
368
|
+
<Container className={props.className}>
|
|
368
369
|
<Container p="lg">
|
|
369
370
|
{props.onBack ? (
|
|
370
371
|
<ModalHeader onBack={props.onBack} title={locale.title} />
|
|
@@ -954,6 +955,8 @@ export function useNetworkSwitcherModal() {
|
|
|
954
955
|
setRootEl(
|
|
955
956
|
<CustomThemeProvider theme={props.theme}>
|
|
956
957
|
<Modal
|
|
958
|
+
className="tw-modal__switch-network"
|
|
959
|
+
title="Switch Network"
|
|
957
960
|
open={true}
|
|
958
961
|
setOpen={(value) => {
|
|
959
962
|
if (!value) {
|
|
@@ -23,6 +23,7 @@ import type { ConnectLocale } from "./locale/types.js";
|
|
|
23
23
|
* @internal
|
|
24
24
|
*/
|
|
25
25
|
export function WalletEntryButton(props: {
|
|
26
|
+
className?: string;
|
|
26
27
|
wallet: Wallet;
|
|
27
28
|
selectWallet: () => void;
|
|
28
29
|
connectLocale: ConnectLocale;
|
|
@@ -56,6 +57,7 @@ export function WalletEntryButton(props: {
|
|
|
56
57
|
|
|
57
58
|
return (
|
|
58
59
|
<WalletButtonEl
|
|
60
|
+
className={props.className}
|
|
59
61
|
data-active={props.isActive}
|
|
60
62
|
onClick={selectWallet}
|
|
61
63
|
type="button"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { ChevronLeftIcon } from "@radix-ui/react-icons";
|
|
3
|
-
import {
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import type { Chain } from "../../../../chains/types.js";
|
|
5
5
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
|
6
6
|
import type { InjectedSupportedWalletIds } from "../../../../wallets/__generated__/wallet-ids.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "../../../core/design-system/index.js";
|
|
19
19
|
import { useSetSelectionData } from "../../providers/wallet-ui-states-provider.js";
|
|
20
20
|
import { sortWallets } from "../../utils/sortWallets.js";
|
|
21
|
-
import
|
|
21
|
+
import InAppWalletSelectionUI from "../../wallets/in-app/InAppWalletSelectionUI.js";
|
|
22
22
|
import {
|
|
23
23
|
Container,
|
|
24
24
|
Line,
|
|
@@ -43,10 +43,6 @@ import { PoweredByThirdweb } from "./PoweredByTW.js";
|
|
|
43
43
|
import { WalletButtonEl, WalletEntryButton } from "./WalletEntryButton.js";
|
|
44
44
|
import { WalletTypeRowButton } from "./WalletTypeRowButton.js";
|
|
45
45
|
|
|
46
|
-
const InAppWalletSelectionUI = /* @__PURE__ */ lazy(
|
|
47
|
-
() => import("../../wallets/in-app/InAppWalletSelectionUI.js"),
|
|
48
|
-
);
|
|
49
|
-
|
|
50
46
|
// const localWalletId = "local";
|
|
51
47
|
const inAppWalletId: WalletId = "inApp";
|
|
52
48
|
|
|
@@ -202,7 +198,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
|
|
|
202
198
|
title={props.modalHeader.title}
|
|
203
199
|
/>
|
|
204
200
|
) : (
|
|
205
|
-
<Container center="y" flex="row" gap="
|
|
201
|
+
<Container center="y" flex="row" gap="xs" className="tw-header">
|
|
206
202
|
{!props.meta.titleIconUrl ? null : (
|
|
207
203
|
<Img
|
|
208
204
|
client={props.client}
|
|
@@ -222,6 +218,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
|
|
|
222
218
|
|
|
223
219
|
const connectAWallet = (
|
|
224
220
|
<WalletTypeRowButton
|
|
221
|
+
className="tw-select-connect-a-wallet-button"
|
|
225
222
|
client={props.client}
|
|
226
223
|
disabled={props.meta.requireApproval && !approvedTOS}
|
|
227
224
|
icon={OutlineWalletIcon}
|
|
@@ -234,6 +231,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
|
|
|
234
231
|
|
|
235
232
|
const newToWallets = (
|
|
236
233
|
<Container
|
|
234
|
+
className="tw-get-started-container"
|
|
237
235
|
flex="row"
|
|
238
236
|
style={{
|
|
239
237
|
justifyContent: "space-between",
|
|
@@ -489,6 +487,7 @@ const WalletSelectorInner: React.FC<WalletSelectorProps> = (props) => {
|
|
|
489
487
|
return (
|
|
490
488
|
<Container
|
|
491
489
|
animate="fadein"
|
|
490
|
+
className="tw-wallet-selection"
|
|
492
491
|
flex="column"
|
|
493
492
|
fullHeight
|
|
494
493
|
scrollY
|
|
@@ -620,22 +619,21 @@ const WalletSelection: React.FC<{
|
|
|
620
619
|
// data-full-width={!!walletConfig.selectUI}
|
|
621
620
|
>
|
|
622
621
|
{wallet.id === "inApp" && props.size === "compact" ? (
|
|
623
|
-
<
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
/>
|
|
636
|
-
</Suspense>
|
|
622
|
+
<InAppWalletSelectionUI
|
|
623
|
+
chain={props.chain}
|
|
624
|
+
client={props.client}
|
|
625
|
+
connectLocale={props.connectLocale}
|
|
626
|
+
disabled={props.disabled}
|
|
627
|
+
done={() => props.done(wallet)}
|
|
628
|
+
goBack={props.goBack}
|
|
629
|
+
recommendedWallets={props.recommendedWallets}
|
|
630
|
+
select={() => props.selectWallet(wallet)}
|
|
631
|
+
size={props.size}
|
|
632
|
+
wallet={wallet as Wallet<"inApp">}
|
|
633
|
+
/>
|
|
637
634
|
) : (
|
|
638
635
|
<WalletEntryButton
|
|
636
|
+
className="tw-wallet-select-wallet-button"
|
|
639
637
|
badge={undefined}
|
|
640
638
|
client={props.client}
|
|
641
639
|
connectLocale={props.connectLocale}
|
|
@@ -655,7 +653,7 @@ const WalletSelection: React.FC<{
|
|
|
655
653
|
})}
|
|
656
654
|
|
|
657
655
|
{props.onShowAll && props.showAllWallets !== false && (
|
|
658
|
-
<ButtonContainer>
|
|
656
|
+
<ButtonContainer className="tw-show-all-wallets-button">
|
|
659
657
|
<WalletButtonEl onClick={props.onShowAll}>
|
|
660
658
|
<ShowAllWalletsIcon>
|
|
661
659
|
<div data-dot />
|
|
@@ -11,12 +11,14 @@ type WalletTypeRowProps = {
|
|
|
11
11
|
title: string;
|
|
12
12
|
icon: IconFC;
|
|
13
13
|
disabled?: boolean;
|
|
14
|
+
className?: string;
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
export function WalletTypeRowButton(props: WalletTypeRowProps) {
|
|
17
18
|
return (
|
|
18
19
|
<Button
|
|
19
20
|
disabled={props.disabled}
|
|
21
|
+
className={props.className}
|
|
20
22
|
fullWidth
|
|
21
23
|
onClick={() => {
|
|
22
24
|
props.onClick();
|