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.
Files changed (522) hide show
  1. package/dist/cjs/exports/react.js +3 -1
  2. package/dist/cjs/exports/react.js.map +1 -1
  3. package/dist/cjs/pay/convert/type.js +26 -43
  4. package/dist/cjs/pay/convert/type.js.map +1 -1
  5. package/dist/cjs/react/core/design-system/index.js +3 -1
  6. package/dist/cjs/react/core/design-system/index.js.map +1 -1
  7. package/dist/cjs/react/core/hooks/usePaymentMethods.js +4 -1
  8. package/dist/cjs/react/core/hooks/usePaymentMethods.js.map +1 -1
  9. package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +1 -2
  10. package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
  11. package/dist/cjs/react/core/machines/paymentMachine.js.map +1 -1
  12. package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js +1 -9
  13. package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
  14. package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js +7 -5
  15. package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
  16. package/dist/cjs/react/web/ui/Bridge/DirectPayment.js +2 -2
  17. package/dist/cjs/react/web/ui/Bridge/ErrorBanner.js +1 -1
  18. package/dist/cjs/react/web/ui/Bridge/FundWallet.js +7 -6
  19. package/dist/cjs/react/web/ui/Bridge/FundWallet.js.map +1 -1
  20. package/dist/cjs/react/web/ui/Bridge/QuoteLoader.js +5 -3
  21. package/dist/cjs/react/web/ui/Bridge/QuoteLoader.js.map +1 -1
  22. package/dist/cjs/react/web/ui/Bridge/StepRunner.js +3 -3
  23. package/dist/cjs/react/web/ui/Bridge/StepRunner.js.map +1 -1
  24. package/dist/cjs/react/web/ui/Bridge/TransactionPayment.js +2 -2
  25. package/dist/cjs/react/web/ui/Bridge/UnsupportedTokenScreen.js +2 -2
  26. package/dist/cjs/react/web/ui/Bridge/UnsupportedTokenScreen.js.map +1 -1
  27. package/dist/cjs/react/web/ui/Bridge/common/TokenAndChain.js +3 -3
  28. package/dist/cjs/react/web/ui/Bridge/common/TokenAndChain.js.map +1 -1
  29. package/dist/cjs/react/web/ui/Bridge/common/WithHeader.js +2 -1
  30. package/dist/cjs/react/web/ui/Bridge/common/WithHeader.js.map +1 -1
  31. package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentDetails.js +28 -3
  32. package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentDetails.js.map +1 -1
  33. package/dist/cjs/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js +16 -22
  34. package/dist/cjs/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js.map +1 -1
  35. package/dist/cjs/react/web/ui/Bridge/payment-selection/PaymentSelection.js +12 -4
  36. package/dist/cjs/react/web/ui/Bridge/payment-selection/PaymentSelection.js.map +1 -1
  37. package/dist/cjs/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js +2 -2
  38. package/dist/cjs/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js.map +1 -1
  39. package/dist/cjs/react/web/ui/Bridge/payment-success/PaymentReceipt.js +1 -1
  40. package/dist/cjs/react/web/ui/Bridge/payment-success/PaymentReceipt.js.map +1 -1
  41. package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js +8 -7
  42. package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -1
  43. package/dist/cjs/react/web/ui/Bridge/swap-widget/SearchInput.js +22 -0
  44. package/dist/cjs/react/web/ui/Bridge/swap-widget/SearchInput.js.map +1 -0
  45. package/dist/cjs/react/web/ui/Bridge/swap-widget/SelectChainButton.js +20 -0
  46. package/dist/cjs/react/web/ui/Bridge/swap-widget/SelectChainButton.js.map +1 -0
  47. package/dist/cjs/react/web/ui/Bridge/swap-widget/SwapWidget.js +251 -0
  48. package/dist/cjs/react/web/ui/Bridge/swap-widget/SwapWidget.js.map +1 -0
  49. package/dist/cjs/react/web/ui/Bridge/swap-widget/common.js +17 -0
  50. package/dist/cjs/react/web/ui/Bridge/swap-widget/common.js.map +1 -0
  51. package/dist/cjs/react/web/ui/Bridge/swap-widget/hooks.js +22 -0
  52. package/dist/cjs/react/web/ui/Bridge/swap-widget/hooks.js.map +1 -0
  53. package/dist/cjs/react/web/ui/Bridge/swap-widget/select-chain.js +66 -0
  54. package/dist/cjs/react/web/ui/Bridge/swap-widget/select-chain.js.map +1 -0
  55. package/dist/cjs/react/web/ui/Bridge/swap-widget/select-token-ui.js +208 -0
  56. package/dist/cjs/react/web/ui/Bridge/swap-widget/select-token-ui.js.map +1 -0
  57. package/dist/cjs/react/web/ui/Bridge/swap-widget/storage.js +53 -0
  58. package/dist/cjs/react/web/ui/Bridge/swap-widget/storage.js.map +1 -0
  59. package/dist/cjs/react/web/ui/Bridge/swap-widget/swap-ui.js +450 -0
  60. package/dist/cjs/react/web/ui/Bridge/swap-widget/swap-ui.js.map +1 -0
  61. package/dist/cjs/react/web/ui/Bridge/swap-widget/types.js +3 -0
  62. package/dist/cjs/react/web/ui/Bridge/swap-widget/types.js.map +1 -0
  63. package/dist/cjs/react/web/ui/Bridge/swap-widget/use-bridge-chains.js +16 -0
  64. package/dist/cjs/react/web/ui/Bridge/swap-widget/use-bridge-chains.js.map +1 -0
  65. package/dist/cjs/react/web/ui/Bridge/swap-widget/use-tokens.js +68 -0
  66. package/dist/cjs/react/web/ui/Bridge/swap-widget/use-tokens.js.map +1 -0
  67. package/dist/cjs/react/web/ui/Bridge/swap-widget/utils.js +7 -0
  68. package/dist/cjs/react/web/ui/Bridge/swap-widget/utils.js.map +1 -0
  69. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +14 -1
  70. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  71. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +11 -11
  72. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  73. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js +2 -2
  74. package/dist/cjs/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js.map +1 -1
  75. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +15 -1
  76. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  77. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModal.js +1 -1
  78. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModal.js.map +1 -1
  79. package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js +2 -2
  80. package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
  81. package/dist/cjs/react/web/ui/ConnectWallet/WalletEntryButton.js +1 -1
  82. package/dist/cjs/react/web/ui/ConnectWallet/WalletEntryButton.js.map +1 -1
  83. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +7 -8
  84. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  85. package/dist/cjs/react/web/ui/ConnectWallet/WalletTypeRowButton.js +1 -1
  86. package/dist/cjs/react/web/ui/ConnectWallet/WalletTypeRowButton.js.map +1 -1
  87. package/dist/cjs/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.js +9 -0
  88. package/dist/cjs/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.js.map +1 -0
  89. package/dist/cjs/react/web/ui/ConnectWallet/icons/WalletDotIcon.js +12 -0
  90. package/dist/cjs/react/web/ui/ConnectWallet/icons/WalletDotIcon.js.map +1 -0
  91. package/dist/cjs/react/web/ui/ConnectWallet/screens/ReceiveFunds.js +1 -1
  92. package/dist/cjs/react/web/ui/ConnectWallet/screens/ReceiveFunds.js.map +1 -1
  93. package/dist/cjs/react/web/ui/ConnectWallet/screens/SendFunds.js +7 -7
  94. package/dist/cjs/react/web/ui/ConnectWallet/screens/SendFunds.js.map +1 -1
  95. package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.js +3 -3
  96. package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
  97. package/dist/cjs/react/web/ui/ConnectWallet/screens/TokenSelector.js +2 -2
  98. package/dist/cjs/react/web/ui/ConnectWallet/screens/TokenSelector.js.map +1 -1
  99. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +1 -1
  100. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  101. package/dist/cjs/react/web/ui/components/DynamicHeight.js +1 -1
  102. package/dist/cjs/react/web/ui/components/DynamicHeight.js.map +1 -1
  103. package/dist/cjs/react/web/ui/components/Img.js +42 -7
  104. package/dist/cjs/react/web/ui/components/Img.js.map +1 -1
  105. package/dist/cjs/react/web/ui/components/Modal.js +10 -10
  106. package/dist/cjs/react/web/ui/components/Modal.js.map +1 -1
  107. package/dist/cjs/react/web/ui/components/OTPInput.js +1 -1
  108. package/dist/cjs/react/web/ui/components/OTPInput.js.map +1 -1
  109. package/dist/cjs/react/web/ui/components/Skeleton.js +1 -0
  110. package/dist/cjs/react/web/ui/components/Skeleton.js.map +1 -1
  111. package/dist/cjs/react/web/ui/components/Spinner.js +2 -1
  112. package/dist/cjs/react/web/ui/components/Spinner.js.map +1 -1
  113. package/dist/cjs/react/web/ui/components/basic.js +11 -5
  114. package/dist/cjs/react/web/ui/components/basic.js.map +1 -1
  115. package/dist/cjs/react/web/ui/components/buttons.js +9 -0
  116. package/dist/cjs/react/web/ui/components/buttons.js.map +1 -1
  117. package/dist/cjs/react/web/ui/components/formElements.js +1 -1
  118. package/dist/cjs/react/web/ui/components/formElements.js.map +1 -1
  119. package/dist/cjs/react/web/ui/components/modalElements.js +1 -1
  120. package/dist/cjs/react/web/ui/components/modalElements.js.map +1 -1
  121. package/dist/cjs/react/web/ui/components/text.js +2 -1
  122. package/dist/cjs/react/web/ui/components/text.js.map +1 -1
  123. package/dist/cjs/react/web/utils/cls.js +17 -0
  124. package/dist/cjs/react/web/utils/cls.js.map +1 -0
  125. package/dist/cjs/react/web/wallets/in-app/InputSelectionUI.js +1 -1
  126. package/dist/cjs/react/web/wallets/in-app/InputSelectionUI.js.map +1 -1
  127. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +9 -9
  128. package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  129. package/dist/cjs/react/web/wallets/shared/ConnectingScreen.js +3 -3
  130. package/dist/cjs/react/web/wallets/shared/ConnectingScreen.js.map +1 -1
  131. package/dist/cjs/react/web/wallets/shared/GuestLogin.js +1 -1
  132. package/dist/cjs/react/web/wallets/shared/GuestLogin.js.map +1 -1
  133. package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js +5 -5
  134. package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
  135. package/dist/cjs/react/web/wallets/shared/ScanScreen.js +5 -5
  136. package/dist/cjs/react/web/wallets/shared/ScanScreen.js.map +1 -1
  137. package/dist/cjs/react/web/wallets/shared/SocialLogin.js +1 -1
  138. package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
  139. package/dist/cjs/stories/Bridge/Swap/SelectChain.stories.js +25 -0
  140. package/dist/cjs/stories/Bridge/Swap/SelectChain.stories.js.map +1 -0
  141. package/dist/cjs/stories/Bridge/Swap/SwapWidget.Prefill.stories.js +83 -0
  142. package/dist/cjs/stories/Bridge/Swap/SwapWidget.Prefill.stories.js.map +1 -0
  143. package/dist/cjs/stories/Bridge/Swap/SwapWidget.stories.js +52 -0
  144. package/dist/cjs/stories/Bridge/Swap/SwapWidget.stories.js.map +1 -0
  145. package/dist/cjs/stories/BuyWidget.stories.js +36 -0
  146. package/dist/cjs/stories/BuyWidget.stories.js.map +1 -0
  147. package/dist/cjs/stories/ConnectEmbed.stories.js +90 -0
  148. package/dist/cjs/stories/ConnectEmbed.stories.js.map +1 -0
  149. package/dist/cjs/stories/ConnectWallet/useWalletDetailsModal.stories.js +1 -1
  150. package/dist/cjs/version.js +1 -1
  151. package/dist/cjs/version.js.map +1 -1
  152. package/dist/cjs/wallets/connection/autoConnect.js +0 -9
  153. package/dist/cjs/wallets/connection/autoConnect.js.map +1 -1
  154. package/dist/cjs/wallets/connection/autoConnectCore.js +8 -2
  155. package/dist/cjs/wallets/connection/autoConnectCore.js.map +1 -1
  156. package/dist/cjs/wallets/manager/index.js +1 -2
  157. package/dist/cjs/wallets/manager/index.js.map +1 -1
  158. package/dist/esm/exports/react.js +1 -0
  159. package/dist/esm/exports/react.js.map +1 -1
  160. package/dist/esm/pay/convert/type.js +26 -43
  161. package/dist/esm/pay/convert/type.js.map +1 -1
  162. package/dist/esm/react/core/design-system/index.js +3 -1
  163. package/dist/esm/react/core/design-system/index.js.map +1 -1
  164. package/dist/esm/react/core/hooks/usePaymentMethods.js +4 -1
  165. package/dist/esm/react/core/hooks/usePaymentMethods.js.map +1 -1
  166. package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +1 -2
  167. package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
  168. package/dist/esm/react/core/machines/paymentMachine.js.map +1 -1
  169. package/dist/esm/react/web/hooks/wallets/useAutoConnect.js +1 -9
  170. package/dist/esm/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
  171. package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js +7 -5
  172. package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
  173. package/dist/esm/react/web/ui/Bridge/DirectPayment.js +2 -2
  174. package/dist/esm/react/web/ui/Bridge/ErrorBanner.js +1 -1
  175. package/dist/esm/react/web/ui/Bridge/FundWallet.js +7 -6
  176. package/dist/esm/react/web/ui/Bridge/FundWallet.js.map +1 -1
  177. package/dist/esm/react/web/ui/Bridge/QuoteLoader.js +5 -3
  178. package/dist/esm/react/web/ui/Bridge/QuoteLoader.js.map +1 -1
  179. package/dist/esm/react/web/ui/Bridge/StepRunner.js +3 -3
  180. package/dist/esm/react/web/ui/Bridge/StepRunner.js.map +1 -1
  181. package/dist/esm/react/web/ui/Bridge/TransactionPayment.js +2 -2
  182. package/dist/esm/react/web/ui/Bridge/UnsupportedTokenScreen.js +2 -2
  183. package/dist/esm/react/web/ui/Bridge/UnsupportedTokenScreen.js.map +1 -1
  184. package/dist/esm/react/web/ui/Bridge/common/TokenAndChain.js +3 -3
  185. package/dist/esm/react/web/ui/Bridge/common/TokenAndChain.js.map +1 -1
  186. package/dist/esm/react/web/ui/Bridge/common/WithHeader.js +2 -1
  187. package/dist/esm/react/web/ui/Bridge/common/WithHeader.js.map +1 -1
  188. package/dist/esm/react/web/ui/Bridge/payment-details/PaymentDetails.js +28 -3
  189. package/dist/esm/react/web/ui/Bridge/payment-details/PaymentDetails.js.map +1 -1
  190. package/dist/esm/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js +16 -22
  191. package/dist/esm/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js.map +1 -1
  192. package/dist/esm/react/web/ui/Bridge/payment-selection/PaymentSelection.js +12 -4
  193. package/dist/esm/react/web/ui/Bridge/payment-selection/PaymentSelection.js.map +1 -1
  194. package/dist/esm/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js +3 -3
  195. package/dist/esm/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js.map +1 -1
  196. package/dist/esm/react/web/ui/Bridge/payment-success/PaymentReceipt.js +1 -1
  197. package/dist/esm/react/web/ui/Bridge/payment-success/PaymentReceipt.js.map +1 -1
  198. package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js +9 -8
  199. package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -1
  200. package/dist/esm/react/web/ui/Bridge/swap-widget/SearchInput.js +19 -0
  201. package/dist/esm/react/web/ui/Bridge/swap-widget/SearchInput.js.map +1 -0
  202. package/dist/esm/react/web/ui/Bridge/swap-widget/SelectChainButton.js +17 -0
  203. package/dist/esm/react/web/ui/Bridge/swap-widget/SelectChainButton.js.map +1 -0
  204. package/dist/esm/react/web/ui/Bridge/swap-widget/SwapWidget.js +247 -0
  205. package/dist/esm/react/web/ui/Bridge/swap-widget/SwapWidget.js.map +1 -0
  206. package/dist/esm/react/web/ui/Bridge/swap-widget/common.js +14 -0
  207. package/dist/esm/react/web/ui/Bridge/swap-widget/common.js.map +1 -0
  208. package/dist/esm/react/web/ui/Bridge/swap-widget/hooks.js +19 -0
  209. package/dist/esm/react/web/ui/Bridge/swap-widget/hooks.js.map +1 -0
  210. package/dist/esm/react/web/ui/Bridge/swap-widget/select-chain.js +62 -0
  211. package/dist/esm/react/web/ui/Bridge/swap-widget/select-chain.js.map +1 -0
  212. package/dist/esm/react/web/ui/Bridge/swap-widget/select-token-ui.js +205 -0
  213. package/dist/esm/react/web/ui/Bridge/swap-widget/select-token-ui.js.map +1 -0
  214. package/dist/esm/react/web/ui/Bridge/swap-widget/storage.js +49 -0
  215. package/dist/esm/react/web/ui/Bridge/swap-widget/storage.js.map +1 -0
  216. package/dist/esm/react/web/ui/Bridge/swap-widget/swap-ui.js +447 -0
  217. package/dist/esm/react/web/ui/Bridge/swap-widget/swap-ui.js.map +1 -0
  218. package/dist/esm/react/web/ui/Bridge/swap-widget/types.js +2 -0
  219. package/dist/esm/react/web/ui/Bridge/swap-widget/types.js.map +1 -0
  220. package/dist/esm/react/web/ui/Bridge/swap-widget/use-bridge-chains.js +13 -0
  221. package/dist/esm/react/web/ui/Bridge/swap-widget/use-bridge-chains.js.map +1 -0
  222. package/dist/esm/react/web/ui/Bridge/swap-widget/use-tokens.js +64 -0
  223. package/dist/esm/react/web/ui/Bridge/swap-widget/use-tokens.js.map +1 -0
  224. package/dist/esm/react/web/ui/Bridge/swap-widget/utils.js +4 -0
  225. package/dist/esm/react/web/ui/Bridge/swap-widget/utils.js.map +1 -0
  226. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +14 -1
  227. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  228. package/dist/esm/react/web/ui/ConnectWallet/Details.js +11 -11
  229. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  230. package/dist/esm/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js +2 -2
  231. package/dist/esm/react/web/ui/ConnectWallet/Modal/AllWalletsUI.js.map +1 -1
  232. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +15 -1
  233. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  234. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModal.js +1 -1
  235. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModal.js.map +1 -1
  236. package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js +2 -2
  237. package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
  238. package/dist/esm/react/web/ui/ConnectWallet/WalletEntryButton.js +1 -1
  239. package/dist/esm/react/web/ui/ConnectWallet/WalletEntryButton.js.map +1 -1
  240. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +8 -9
  241. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js.map +1 -1
  242. package/dist/esm/react/web/ui/ConnectWallet/WalletTypeRowButton.js +1 -1
  243. package/dist/esm/react/web/ui/ConnectWallet/WalletTypeRowButton.js.map +1 -1
  244. package/dist/esm/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.js +5 -0
  245. package/dist/esm/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.js.map +1 -0
  246. package/dist/esm/react/web/ui/ConnectWallet/icons/WalletDotIcon.js +8 -0
  247. package/dist/esm/react/web/ui/ConnectWallet/icons/WalletDotIcon.js.map +1 -0
  248. package/dist/esm/react/web/ui/ConnectWallet/screens/ReceiveFunds.js +1 -1
  249. package/dist/esm/react/web/ui/ConnectWallet/screens/ReceiveFunds.js.map +1 -1
  250. package/dist/esm/react/web/ui/ConnectWallet/screens/SendFunds.js +7 -7
  251. package/dist/esm/react/web/ui/ConnectWallet/screens/SendFunds.js.map +1 -1
  252. package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js +3 -3
  253. package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
  254. package/dist/esm/react/web/ui/ConnectWallet/screens/TokenSelector.js +2 -2
  255. package/dist/esm/react/web/ui/ConnectWallet/screens/TokenSelector.js.map +1 -1
  256. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +1 -1
  257. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  258. package/dist/esm/react/web/ui/components/DynamicHeight.js +1 -1
  259. package/dist/esm/react/web/ui/components/DynamicHeight.js.map +1 -1
  260. package/dist/esm/react/web/ui/components/Img.js +43 -8
  261. package/dist/esm/react/web/ui/components/Img.js.map +1 -1
  262. package/dist/esm/react/web/ui/components/Modal.js +10 -10
  263. package/dist/esm/react/web/ui/components/Modal.js.map +1 -1
  264. package/dist/esm/react/web/ui/components/OTPInput.js +1 -1
  265. package/dist/esm/react/web/ui/components/OTPInput.js.map +1 -1
  266. package/dist/esm/react/web/ui/components/Skeleton.js +1 -0
  267. package/dist/esm/react/web/ui/components/Skeleton.js.map +1 -1
  268. package/dist/esm/react/web/ui/components/Spinner.js +2 -1
  269. package/dist/esm/react/web/ui/components/Spinner.js.map +1 -1
  270. package/dist/esm/react/web/ui/components/basic.js +11 -5
  271. package/dist/esm/react/web/ui/components/basic.js.map +1 -1
  272. package/dist/esm/react/web/ui/components/buttons.js +9 -0
  273. package/dist/esm/react/web/ui/components/buttons.js.map +1 -1
  274. package/dist/esm/react/web/ui/components/formElements.js +1 -1
  275. package/dist/esm/react/web/ui/components/formElements.js.map +1 -1
  276. package/dist/esm/react/web/ui/components/modalElements.js +1 -1
  277. package/dist/esm/react/web/ui/components/modalElements.js.map +1 -1
  278. package/dist/esm/react/web/ui/components/text.js +2 -1
  279. package/dist/esm/react/web/ui/components/text.js.map +1 -1
  280. package/dist/esm/react/web/utils/cls.js +14 -0
  281. package/dist/esm/react/web/utils/cls.js.map +1 -0
  282. package/dist/esm/react/web/wallets/in-app/InputSelectionUI.js +1 -1
  283. package/dist/esm/react/web/wallets/in-app/InputSelectionUI.js.map +1 -1
  284. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +9 -9
  285. package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
  286. package/dist/esm/react/web/wallets/shared/ConnectingScreen.js +3 -3
  287. package/dist/esm/react/web/wallets/shared/ConnectingScreen.js.map +1 -1
  288. package/dist/esm/react/web/wallets/shared/GuestLogin.js +1 -1
  289. package/dist/esm/react/web/wallets/shared/GuestLogin.js.map +1 -1
  290. package/dist/esm/react/web/wallets/shared/OTPLoginUI.js +5 -5
  291. package/dist/esm/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
  292. package/dist/esm/react/web/wallets/shared/ScanScreen.js +5 -5
  293. package/dist/esm/react/web/wallets/shared/ScanScreen.js.map +1 -1
  294. package/dist/esm/react/web/wallets/shared/SocialLogin.js +1 -1
  295. package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
  296. package/dist/esm/stories/Bridge/Swap/SelectChain.stories.js +21 -0
  297. package/dist/esm/stories/Bridge/Swap/SelectChain.stories.js.map +1 -0
  298. package/dist/esm/stories/Bridge/Swap/SwapWidget.Prefill.stories.js +74 -0
  299. package/dist/esm/stories/Bridge/Swap/SwapWidget.Prefill.stories.js.map +1 -0
  300. package/dist/esm/stories/Bridge/Swap/SwapWidget.stories.js +45 -0
  301. package/dist/esm/stories/Bridge/Swap/SwapWidget.stories.js.map +1 -0
  302. package/dist/esm/stories/BuyWidget.stories.js +29 -0
  303. package/dist/esm/stories/BuyWidget.stories.js.map +1 -0
  304. package/dist/esm/stories/ConnectEmbed.stories.js +81 -0
  305. package/dist/esm/stories/ConnectEmbed.stories.js.map +1 -0
  306. package/dist/esm/stories/ConnectWallet/useWalletDetailsModal.stories.js +1 -1
  307. package/dist/esm/version.js +1 -1
  308. package/dist/esm/version.js.map +1 -1
  309. package/dist/esm/wallets/connection/autoConnect.js +0 -9
  310. package/dist/esm/wallets/connection/autoConnect.js.map +1 -1
  311. package/dist/esm/wallets/connection/autoConnectCore.js +8 -2
  312. package/dist/esm/wallets/connection/autoConnectCore.js.map +1 -1
  313. package/dist/esm/wallets/manager/index.js +1 -2
  314. package/dist/esm/wallets/manager/index.js.map +1 -1
  315. package/dist/types/bridge/types/Chain.d.ts +1 -0
  316. package/dist/types/bridge/types/Chain.d.ts.map +1 -1
  317. package/dist/types/exports/react.d.ts +1 -0
  318. package/dist/types/exports/react.d.ts.map +1 -1
  319. package/dist/types/pay/convert/type.d.ts +27 -3
  320. package/dist/types/pay/convert/type.d.ts.map +1 -1
  321. package/dist/types/react/core/design-system/index.d.ts +2 -0
  322. package/dist/types/react/core/design-system/index.d.ts.map +1 -1
  323. package/dist/types/react/core/hooks/usePaymentMethods.d.ts.map +1 -1
  324. package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts +1 -1
  325. package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts.map +1 -1
  326. package/dist/types/react/core/machines/paymentMachine.d.ts +1 -0
  327. package/dist/types/react/core/machines/paymentMachine.d.ts.map +1 -1
  328. package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts.map +1 -1
  329. package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.d.ts.map +1 -1
  330. package/dist/types/react/web/ui/Bridge/BuyWidget.d.ts +1 -1
  331. package/dist/types/react/web/ui/Bridge/FundWallet.d.ts.map +1 -1
  332. package/dist/types/react/web/ui/Bridge/StepRunner.d.ts +2 -1
  333. package/dist/types/react/web/ui/Bridge/StepRunner.d.ts.map +1 -1
  334. package/dist/types/react/web/ui/Bridge/common/TokenAndChain.d.ts.map +1 -1
  335. package/dist/types/react/web/ui/Bridge/common/WithHeader.d.ts.map +1 -1
  336. package/dist/types/react/web/ui/Bridge/payment-details/PaymentDetails.d.ts +3 -1
  337. package/dist/types/react/web/ui/Bridge/payment-details/PaymentDetails.d.ts.map +1 -1
  338. package/dist/types/react/web/ui/Bridge/payment-selection/FiatProviderSelection.d.ts.map +1 -1
  339. package/dist/types/react/web/ui/Bridge/payment-selection/PaymentSelection.d.ts.map +1 -1
  340. package/dist/types/react/web/ui/Bridge/payment-selection/WalletFiatSelection.d.ts.map +1 -1
  341. package/dist/types/react/web/ui/Bridge/payment-success/PaymentReceipt.d.ts.map +1 -1
  342. package/dist/types/react/web/ui/Bridge/payment-success/SuccessScreen.d.ts.map +1 -1
  343. package/dist/types/react/web/ui/Bridge/swap-widget/SearchInput.d.ts +6 -0
  344. package/dist/types/react/web/ui/Bridge/swap-widget/SearchInput.d.ts.map +1 -0
  345. package/dist/types/react/web/ui/Bridge/swap-widget/SelectChainButton.d.ts +8 -0
  346. package/dist/types/react/web/ui/Bridge/swap-widget/SelectChainButton.d.ts.map +1 -0
  347. package/dist/types/react/web/ui/Bridge/swap-widget/SwapWidget.d.ts +213 -0
  348. package/dist/types/react/web/ui/Bridge/swap-widget/SwapWidget.d.ts.map +1 -0
  349. package/dist/types/react/web/ui/Bridge/swap-widget/common.d.ts +9 -0
  350. package/dist/types/react/web/ui/Bridge/swap-widget/common.d.ts.map +1 -0
  351. package/dist/types/react/web/ui/Bridge/swap-widget/hooks.d.ts +3 -0
  352. package/dist/types/react/web/ui/Bridge/swap-widget/hooks.d.ts.map +1 -0
  353. package/dist/types/react/web/ui/Bridge/swap-widget/select-chain.d.ts +23 -0
  354. package/dist/types/react/web/ui/Bridge/swap-widget/select-chain.d.ts.map +1 -0
  355. package/dist/types/react/web/ui/Bridge/swap-widget/select-token-ui.d.ts +18 -0
  356. package/dist/types/react/web/ui/Bridge/swap-widget/select-token-ui.d.ts.map +1 -0
  357. package/dist/types/react/web/ui/Bridge/swap-widget/storage.d.ts +46 -0
  358. package/dist/types/react/web/ui/Bridge/swap-widget/storage.d.ts.map +1 -0
  359. package/dist/types/react/web/ui/Bridge/swap-widget/swap-ui.d.ts +40 -0
  360. package/dist/types/react/web/ui/Bridge/swap-widget/swap-ui.d.ts.map +1 -0
  361. package/dist/types/react/web/ui/Bridge/swap-widget/types.d.ts +139 -0
  362. package/dist/types/react/web/ui/Bridge/swap-widget/types.d.ts.map +1 -0
  363. package/dist/types/react/web/ui/Bridge/swap-widget/use-bridge-chains.d.ts +4 -0
  364. package/dist/types/react/web/ui/Bridge/swap-widget/use-bridge-chains.d.ts.map +1 -0
  365. package/dist/types/react/web/ui/Bridge/swap-widget/use-tokens.d.ts +44 -0
  366. package/dist/types/react/web/ui/Bridge/swap-widget/use-tokens.d.ts.map +1 -0
  367. package/dist/types/react/web/ui/Bridge/swap-widget/utils.d.ts +2 -0
  368. package/dist/types/react/web/ui/Bridge/swap-widget/utils.d.ts.map +1 -0
  369. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +13 -0
  370. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  371. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  372. package/dist/types/react/web/ui/ConnectWallet/Modal/AllWalletsUI.d.ts.map +1 -1
  373. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +13 -0
  374. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  375. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectModal.d.ts.map +1 -1
  376. package/dist/types/react/web/ui/ConnectWallet/NetworkSelector.d.ts +1 -0
  377. package/dist/types/react/web/ui/ConnectWallet/NetworkSelector.d.ts.map +1 -1
  378. package/dist/types/react/web/ui/ConnectWallet/WalletEntryButton.d.ts +1 -0
  379. package/dist/types/react/web/ui/ConnectWallet/WalletEntryButton.d.ts.map +1 -1
  380. package/dist/types/react/web/ui/ConnectWallet/WalletSelector.d.ts.map +1 -1
  381. package/dist/types/react/web/ui/ConnectWallet/WalletTypeRowButton.d.ts +1 -0
  382. package/dist/types/react/web/ui/ConnectWallet/WalletTypeRowButton.d.ts.map +1 -1
  383. package/dist/types/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.d.ts +3 -0
  384. package/dist/types/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.d.ts.map +1 -0
  385. package/dist/types/react/web/ui/ConnectWallet/icons/WalletDotIcon.d.ts +6 -0
  386. package/dist/types/react/web/ui/ConnectWallet/icons/WalletDotIcon.d.ts.map +1 -0
  387. package/dist/types/react/web/ui/ConnectWallet/screens/ReceiveFunds.d.ts.map +1 -1
  388. package/dist/types/react/web/ui/ConnectWallet/screens/SendFunds.d.ts.map +1 -1
  389. package/dist/types/react/web/ui/ConnectWallet/screens/SignatureScreen.d.ts.map +1 -1
  390. package/dist/types/react/web/ui/ConnectWallet/screens/TokenSelector.d.ts.map +1 -1
  391. package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -1
  392. package/dist/types/react/web/ui/components/Img.d.ts +3 -0
  393. package/dist/types/react/web/ui/components/Img.d.ts.map +1 -1
  394. package/dist/types/react/web/ui/components/Modal.d.ts +3 -0
  395. package/dist/types/react/web/ui/components/Modal.d.ts.map +1 -1
  396. package/dist/types/react/web/ui/components/Skeleton.d.ts +1 -0
  397. package/dist/types/react/web/ui/components/Skeleton.d.ts.map +1 -1
  398. package/dist/types/react/web/ui/components/Spinner.d.ts +1 -0
  399. package/dist/types/react/web/ui/components/Spinner.d.ts.map +1 -1
  400. package/dist/types/react/web/ui/components/basic.d.ts +6 -0
  401. package/dist/types/react/web/ui/components/basic.d.ts.map +1 -1
  402. package/dist/types/react/web/ui/components/buttons.d.ts +1 -1
  403. package/dist/types/react/web/ui/components/buttons.d.ts.map +1 -1
  404. package/dist/types/react/web/ui/components/formElements.d.ts +1 -0
  405. package/dist/types/react/web/ui/components/formElements.d.ts.map +1 -1
  406. package/dist/types/react/web/ui/components/modalElements.d.ts.map +1 -1
  407. package/dist/types/react/web/ui/components/text.d.ts +1 -0
  408. package/dist/types/react/web/ui/components/text.d.ts.map +1 -1
  409. package/dist/types/react/web/utils/cls.d.ts +12 -0
  410. package/dist/types/react/web/utils/cls.d.ts.map +1 -0
  411. package/dist/types/react/web/wallets/in-app/InputSelectionUI.d.ts +1 -0
  412. package/dist/types/react/web/wallets/in-app/InputSelectionUI.d.ts.map +1 -1
  413. package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
  414. package/dist/types/react/web/wallets/shared/ConnectingScreen.d.ts.map +1 -1
  415. package/dist/types/react/web/wallets/shared/GuestLogin.d.ts.map +1 -1
  416. package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts.map +1 -1
  417. package/dist/types/react/web/wallets/shared/ScanScreen.d.ts.map +1 -1
  418. package/dist/types/react/web/wallets/shared/SocialLogin.d.ts.map +1 -1
  419. package/dist/types/stories/Bridge/Swap/SelectChain.stories.d.ts +10 -0
  420. package/dist/types/stories/Bridge/Swap/SelectChain.stories.d.ts.map +1 -0
  421. package/dist/types/stories/Bridge/Swap/SwapWidget.Prefill.stories.d.ts +15 -0
  422. package/dist/types/stories/Bridge/Swap/SwapWidget.Prefill.stories.d.ts.map +1 -0
  423. package/dist/types/stories/Bridge/Swap/SwapWidget.stories.d.ts +10 -0
  424. package/dist/types/stories/Bridge/Swap/SwapWidget.stories.d.ts.map +1 -0
  425. package/dist/types/stories/BuyWidget.stories.d.ts +13 -0
  426. package/dist/types/stories/BuyWidget.stories.d.ts.map +1 -0
  427. package/dist/types/stories/ConnectEmbed.stories.d.ts +12 -0
  428. package/dist/types/stories/ConnectEmbed.stories.d.ts.map +1 -0
  429. package/dist/types/version.d.ts +1 -1
  430. package/dist/types/version.d.ts.map +1 -1
  431. package/dist/types/wallets/connection/autoConnect.d.ts.map +1 -1
  432. package/dist/types/wallets/connection/autoConnectCore.d.ts +0 -1
  433. package/dist/types/wallets/connection/autoConnectCore.d.ts.map +1 -1
  434. package/dist/types/wallets/manager/index.d.ts.map +1 -1
  435. package/package.json +2 -1
  436. package/src/bridge/types/Chain.ts +2 -0
  437. package/src/exports/react.ts +4 -0
  438. package/src/pay/convert/type.ts +27 -44
  439. package/src/react/core/design-system/index.ts +3 -1
  440. package/src/react/core/hooks/usePaymentMethods.ts +4 -1
  441. package/src/react/core/hooks/wallets/useAutoConnect.ts +0 -2
  442. package/src/react/core/machines/paymentMachine.ts +1 -0
  443. package/src/react/web/hooks/wallets/useAutoConnect.ts +0 -11
  444. package/src/react/web/ui/Bridge/BridgeOrchestrator.tsx +7 -5
  445. package/src/react/web/ui/Bridge/BuyWidget.tsx +1 -1
  446. package/src/react/web/ui/Bridge/DirectPayment.tsx +2 -2
  447. package/src/react/web/ui/Bridge/ErrorBanner.tsx +1 -1
  448. package/src/react/web/ui/Bridge/FundWallet.tsx +9 -8
  449. package/src/react/web/ui/Bridge/QuoteLoader.tsx +6 -3
  450. package/src/react/web/ui/Bridge/StepRunner.tsx +5 -3
  451. package/src/react/web/ui/Bridge/TransactionPayment.tsx +2 -2
  452. package/src/react/web/ui/Bridge/UnsupportedTokenScreen.tsx +2 -2
  453. package/src/react/web/ui/Bridge/common/TokenAndChain.tsx +3 -2
  454. package/src/react/web/ui/Bridge/common/WithHeader.tsx +23 -13
  455. package/src/react/web/ui/Bridge/payment-details/PaymentDetails.tsx +47 -5
  456. package/src/react/web/ui/Bridge/payment-selection/FiatProviderSelection.tsx +89 -83
  457. package/src/react/web/ui/Bridge/payment-selection/PaymentSelection.tsx +16 -7
  458. package/src/react/web/ui/Bridge/payment-selection/WalletFiatSelection.tsx +12 -7
  459. package/src/react/web/ui/Bridge/payment-success/PaymentReceipt.tsx +1 -5
  460. package/src/react/web/ui/Bridge/payment-success/SuccessScreen.tsx +27 -16
  461. package/src/react/web/ui/Bridge/swap-widget/SearchInput.tsx +46 -0
  462. package/src/react/web/ui/Bridge/swap-widget/SelectChainButton.tsx +50 -0
  463. package/src/react/web/ui/Bridge/swap-widget/SwapWidget.tsx +528 -0
  464. package/src/react/web/ui/Bridge/swap-widget/common.tsx +35 -0
  465. package/src/react/web/ui/Bridge/swap-widget/hooks.ts +21 -0
  466. package/src/react/web/ui/Bridge/swap-widget/select-chain.tsx +171 -0
  467. package/src/react/web/ui/Bridge/swap-widget/select-token-ui.tsx +528 -0
  468. package/src/react/web/ui/Bridge/swap-widget/storage.ts +56 -0
  469. package/src/react/web/ui/Bridge/swap-widget/swap-ui.tsx +950 -0
  470. package/src/react/web/ui/Bridge/swap-widget/types.ts +157 -0
  471. package/src/react/web/ui/Bridge/swap-widget/use-bridge-chains.ts +14 -0
  472. package/src/react/web/ui/Bridge/swap-widget/use-tokens.ts +120 -0
  473. package/src/react/web/ui/Bridge/swap-widget/utils.ts +3 -0
  474. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +15 -0
  475. package/src/react/web/ui/ConnectWallet/Details.test.tsx +1 -1
  476. package/src/react/web/ui/ConnectWallet/Details.tsx +12 -1
  477. package/src/react/web/ui/ConnectWallet/Modal/AllWalletsUI.tsx +7 -1
  478. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +19 -1
  479. package/src/react/web/ui/ConnectWallet/Modal/ConnectModal.tsx +2 -0
  480. package/src/react/web/ui/ConnectWallet/NetworkSelector.tsx +4 -1
  481. package/src/react/web/ui/ConnectWallet/WalletEntryButton.tsx +2 -0
  482. package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +20 -22
  483. package/src/react/web/ui/ConnectWallet/WalletTypeRowButton.tsx +2 -0
  484. package/src/react/web/ui/ConnectWallet/icons/ArrowUpDownIcon.tsx +23 -0
  485. package/src/react/web/ui/ConnectWallet/icons/WalletDotIcon.tsx +22 -0
  486. package/src/react/web/ui/ConnectWallet/screens/ReceiveFunds.tsx +5 -2
  487. package/src/react/web/ui/ConnectWallet/screens/SendFunds.test.tsx +1 -3
  488. package/src/react/web/ui/ConnectWallet/screens/SendFunds.tsx +19 -4
  489. package/src/react/web/ui/ConnectWallet/screens/SignatureScreen.tsx +13 -3
  490. package/src/react/web/ui/ConnectWallet/screens/TokenSelector.tsx +2 -0
  491. package/src/react/web/ui/TransactionButton/TransactionModal.tsx +2 -0
  492. package/src/react/web/ui/components/DynamicHeight.tsx +1 -1
  493. package/src/react/web/ui/components/Img.tsx +67 -9
  494. package/src/react/web/ui/components/Modal.tsx +17 -12
  495. package/src/react/web/ui/components/OTPInput.tsx +1 -1
  496. package/src/react/web/ui/components/Skeleton.tsx +2 -0
  497. package/src/react/web/ui/components/Spinner.tsx +3 -0
  498. package/src/react/web/ui/components/basic.tsx +17 -3
  499. package/src/react/web/ui/components/buttons.tsx +18 -1
  500. package/src/react/web/ui/components/formElements.tsx +2 -1
  501. package/src/react/web/ui/components/modalElements.tsx +1 -0
  502. package/src/react/web/ui/components/text.tsx +3 -1
  503. package/src/react/web/utils/cls.ts +13 -0
  504. package/src/react/web/wallets/in-app/InputSelectionUI.tsx +2 -0
  505. package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +9 -0
  506. package/src/react/web/wallets/shared/ConnectingScreen.tsx +21 -4
  507. package/src/react/web/wallets/shared/GuestLogin.tsx +6 -1
  508. package/src/react/web/wallets/shared/OTPLoginUI.tsx +35 -6
  509. package/src/react/web/wallets/shared/ScanScreen.tsx +22 -3
  510. package/src/react/web/wallets/shared/SocialLogin.tsx +6 -1
  511. package/src/stories/Bridge/Swap/SelectChain.stories.tsx +51 -0
  512. package/src/stories/Bridge/Swap/SwapWidget.Prefill.stories.tsx +116 -0
  513. package/src/stories/Bridge/Swap/SwapWidget.stories.tsx +71 -0
  514. package/src/stories/BuyWidget.stories.tsx +56 -0
  515. package/src/stories/ConnectEmbed.stories.tsx +128 -0
  516. package/src/stories/ConnectWallet/useWalletDetailsModal.stories.tsx +1 -1
  517. package/src/transaction/prepare-transaction.test.ts +2 -2
  518. package/src/version.ts +1 -1
  519. package/src/wallets/connection/autoConnect.test.ts +0 -3
  520. package/src/wallets/connection/autoConnect.ts +0 -11
  521. package/src/wallets/connection/autoConnectCore.ts +7 -3
  522. package/src/wallets/manager/index.ts +1 -2
@@ -128,7 +128,7 @@ export type BuyWidgetProps = {
128
128
  amount: string;
129
129
 
130
130
  /**
131
- * The title to display in the widget.
131
+ * The title to display in the widget. If `title` is explicity set to an empty string, the title will not be displayed.
132
132
  */
133
133
  title?: string;
134
134
 
@@ -100,7 +100,7 @@ export function DirectPayment({
100
100
  size="xl"
101
101
  token={uiOptions.paymentInfo.token}
102
102
  tokenAmount={uiOptions.paymentInfo.amount}
103
- weight={700}
103
+ weight={600}
104
104
  />
105
105
  <Container flex="row" gap="3xs">
106
106
  <Text
@@ -190,7 +190,7 @@ export function DirectPayment({
190
190
  <PoweredByThirdweb />
191
191
  </div>
192
192
  ) : null}
193
- <Spacer y="lg" />
193
+ <Spacer y="md" />
194
194
  </Container>
195
195
  </WithHeader>
196
196
  );
@@ -51,7 +51,7 @@ export function ErrorBanner({
51
51
  });
52
52
 
53
53
  return (
54
- <Container flex="column" fullHeight gap="md" p="lg">
54
+ <Container flex="column" fullHeight gap="md" p="md">
55
55
  {/* Error Icon and Message */}
56
56
  <Container flex="row" gap="md" style={{ alignItems: "flex-start" }}>
57
57
  <Container
@@ -150,7 +150,7 @@ export function FundWallet({
150
150
  style={{
151
151
  backgroundColor: theme.colors.tertiaryBg,
152
152
  border: `1px solid ${theme.colors.borderColor}`,
153
- borderRadius: radius.md,
153
+ borderRadius: radius.lg,
154
154
  flexWrap: "nowrap",
155
155
  }}
156
156
  >
@@ -251,11 +251,11 @@ export function FundWallet({
251
251
  {/* Quick Amount Buttons */}
252
252
  {presetOptions && (
253
253
  <>
254
- <Spacer y="md" />
254
+ <Spacer y="sm" />
255
255
  <Container
256
256
  center="x"
257
257
  flex="row"
258
- gap="xs"
258
+ gap="sm"
259
259
  style={{
260
260
  justifyContent: "space-evenly",
261
261
  }}
@@ -268,6 +268,7 @@ export function FundWallet({
268
268
  backgroundColor: theme.colors.tertiaryBg,
269
269
  flex: 1,
270
270
  fontSize: fontSize.sm,
271
+ borderRadius: radius.lg,
271
272
  padding: `${spacing.sm} ${spacing.md}`,
272
273
  }}
273
274
  variant="outline"
@@ -279,7 +280,7 @@ export function FundWallet({
279
280
  </>
280
281
  )}
281
282
 
282
- <Spacer y="md" />
283
+ <Spacer y="sm" />
283
284
 
284
285
  <Container
285
286
  center="y"
@@ -291,7 +292,7 @@ export function FundWallet({
291
292
  style={{
292
293
  backgroundColor: theme.colors.tertiaryBg,
293
294
  border: `1px solid ${theme.colors.borderColor}`,
294
- borderRadius: radius.md,
295
+ borderRadius: radius.lg,
295
296
  }}
296
297
  >
297
298
  {receiver ? (
@@ -336,7 +337,7 @@ export function FundWallet({
336
337
  }}
337
338
  style={{
338
339
  fontSize: fontSize.md,
339
- padding: `${spacing.sm} ${spacing.md}`,
340
+ borderRadius: radius.lg,
340
341
  }}
341
342
  variant="primary"
342
343
  >
@@ -359,10 +360,10 @@ export function FundWallet({
359
360
  {showThirdwebBranding ? (
360
361
  <div>
361
362
  <Spacer y="md" />
362
- <PoweredByThirdweb />
363
+ <PoweredByThirdweb link="https://playground.thirdweb.com/payments/fund-wallet" />
363
364
  </div>
364
365
  ) : null}
365
- <Spacer y="lg" />
366
+ <Spacer y="md" />
366
367
  </WithHeader>
367
368
  );
368
369
  }
@@ -163,7 +163,7 @@ export function QuoteLoader({
163
163
  <Spinner color="secondaryText" size="xl" />
164
164
  <Spacer y="md" />
165
165
  <Text center color="primaryText" size="lg" style={{ fontWeight: 600 }}>
166
- Finding the best route...
166
+ Finding the best route
167
167
  </Text>
168
168
  <Spacer y="sm" />
169
169
  <Text center color="secondaryText" size="sm">
@@ -229,7 +229,10 @@ function getBridgeParams(args: {
229
229
  }
230
230
 
231
231
  return {
232
- amount: toUnits(amount, destinationToken.decimals),
232
+ amount:
233
+ paymentMethod.action === "buy"
234
+ ? toUnits(amount, destinationToken.decimals)
235
+ : toUnits(amount, paymentMethod.originToken.decimals),
233
236
  client,
234
237
  destinationChainId: destinationToken.chainId,
235
238
  destinationTokenAddress: destinationToken.address,
@@ -241,7 +244,7 @@ function getBridgeParams(args: {
241
244
  receiver,
242
245
  sender:
243
246
  sender || paymentMethod.payerWallet.getAccount()?.address || receiver,
244
- type: "buy",
247
+ type: paymentMethod.action,
245
248
  };
246
249
  }
247
250
  }
@@ -25,6 +25,7 @@ import { Spinner } from "../components/Spinner.js";
25
25
  import { Text } from "../components/text.js";
26
26
 
27
27
  interface StepRunnerProps {
28
+ title?: string;
28
29
  request: BridgePrepareRequest;
29
30
 
30
31
  /**
@@ -64,6 +65,7 @@ interface StepRunnerProps {
64
65
  }
65
66
 
66
67
  export function StepRunner({
68
+ title,
67
69
  request,
68
70
  wallet,
69
71
  client,
@@ -247,8 +249,8 @@ export function StepRunner({
247
249
  };
248
250
 
249
251
  return (
250
- <Container flex="column" fullHeight p="lg">
251
- <ModalHeader onBack={onBack} title="Processing Payment" />
252
+ <Container flex="column" fullHeight px="md" pb="md" pt="md+">
253
+ <ModalHeader onBack={onBack} title={title || "Processing Payment"} />
252
254
 
253
255
  <Spacer y="xl" />
254
256
 
@@ -374,7 +376,7 @@ export function StepRunner({
374
376
  </Container>
375
377
 
376
378
  <Spacer y="md" />
377
- <Text center color="secondaryText" size="xs">
379
+ <Text center color="secondaryText" size="xs" multiline>
378
380
  Keep this window open until all
379
381
  <br /> transactions are complete.
380
382
  </Text>
@@ -194,7 +194,7 @@ export function TransactionPayment({
194
194
  }}
195
195
  >
196
196
  {/* USD Value */}
197
- <Text color="primaryText" size="xl" weight={700}>
197
+ <Text color="primaryText" size="xl" weight={600}>
198
198
  {transactionDataQuery.data?.usdValueDisplay ||
199
199
  transactionDataQuery.data?.txCostDisplay}
200
200
  </Text>
@@ -431,7 +431,7 @@ export function TransactionPayment({
431
431
  <PoweredByThirdweb />
432
432
  </div>
433
433
  ) : null}
434
- <Spacer y="lg" />
434
+ <Spacer y="md" />
435
435
  </WithHeader>
436
436
  );
437
437
  }
@@ -64,7 +64,7 @@ export function UnsupportedTokenScreen(props: UnsupportedTokenScreenProps) {
64
64
  size="sm"
65
65
  style={{ lineHeight: 1.5, maxWidth: "280px" }}
66
66
  >
67
- The Universal Bridge does not support testnets at this time.
67
+ Bridge does not support testnets at this time.
68
68
  </Text>
69
69
  </Container>
70
70
  );
@@ -94,7 +94,7 @@ export function UnsupportedTokenScreen(props: UnsupportedTokenScreenProps) {
94
94
  size="sm"
95
95
  style={{ lineHeight: 1.5, maxWidth: "280px" }}
96
96
  >
97
- This token or chain is not supported by the Universal Bridge.
97
+ This token or chain is not supported by the Bridge
98
98
  </Text>
99
99
  </Container>
100
100
  );
@@ -60,7 +60,7 @@ export function TokenAndChain({
60
60
  height:
61
61
  size === "lg" || size === "xl" ? iconSize.sm : iconSize.xs,
62
62
  position: "absolute",
63
- right: "-6px",
63
+ right: "-2px",
64
64
  width: size === "lg" || size === "xl" ? iconSize.sm : iconSize.xs,
65
65
  }}
66
66
  >
@@ -73,7 +73,7 @@ export function TokenAndChain({
73
73
  )}
74
74
  </Container>
75
75
 
76
- <Container flex="column" gap="3xs" style={{ minWidth: 0 }}>
76
+ <Container flex="column" gap="4xs" style={{ minWidth: 0 }}>
77
77
  <Text
78
78
  color="primaryText"
79
79
  size={size === "xl" ? "lg" : "sm"}
@@ -83,6 +83,7 @@ export function TokenAndChain({
83
83
  whiteSpace: "nowrap",
84
84
  }}
85
85
  weight={600}
86
+ trackingTight
86
87
  >
87
88
  {token.name}
88
89
  </Text>
@@ -19,6 +19,8 @@ export function WithHeader({
19
19
  client: ThirdwebClient;
20
20
  }) {
21
21
  const theme = useCustomTheme();
22
+ const showTitle = uiOptions.metadata?.title !== "";
23
+
22
24
  return (
23
25
  <Container flex="column">
24
26
  {/* image */}
@@ -36,25 +38,33 @@ export function WithHeader({
36
38
  }}
37
39
  />
38
40
  )}
39
- <Container flex="column" px="lg">
40
- <Spacer y="lg" />
41
41
 
42
- {/* title */}
43
- <Text color="primaryText" size="lg" weight={700}>
44
- {uiOptions.metadata?.title || defaultTitle}
45
- </Text>
42
+ <Container flex="column" px="md">
43
+ <Spacer y="md+" />
46
44
 
47
- {/* Description */}
48
- {uiOptions.metadata?.description && (
45
+ {(showTitle || uiOptions.metadata?.description) && (
49
46
  <>
50
- <Spacer y="xs" />
51
- <Text color="secondaryText" size="sm">
52
- {uiOptions.metadata?.description}
53
- </Text>
47
+ {/* title */}
48
+ {showTitle && (
49
+ <Text color="primaryText" size="lg" weight={600}>
50
+ {uiOptions.metadata?.title || defaultTitle}
51
+ </Text>
52
+ )}
53
+
54
+ {/* Description */}
55
+ {uiOptions.metadata?.description && (
56
+ <>
57
+ <Spacer y="xxs" />
58
+ <Text color="secondaryText" size="sm" multiline>
59
+ {uiOptions.metadata?.description}
60
+ </Text>
61
+ </>
62
+ )}
63
+
64
+ <Spacer y="md" />
54
65
  </>
55
66
  )}
56
67
 
57
- <Spacer y="lg" />
58
68
  {children}
59
69
  </Container>
60
70
  </Container>
@@ -21,6 +21,9 @@ import type { UIOptions } from "../BridgeOrchestrator.js";
21
21
  import { PaymentOverview } from "./PaymentOverview.js";
22
22
 
23
23
  export interface PaymentDetailsProps {
24
+ title?: string;
25
+ confirmButtonLabel?: string;
26
+
24
27
  /**
25
28
  * The UI mode to use
26
29
  */
@@ -55,6 +58,8 @@ export interface PaymentDetailsProps {
55
58
  }
56
59
 
57
60
  export function PaymentDetails({
61
+ title,
62
+ confirmButtonLabel,
58
63
  uiOptions,
59
64
  client,
60
65
  paymentMethod,
@@ -185,6 +190,43 @@ export function PaymentDetails({
185
190
  : undefined,
186
191
  };
187
192
  }
193
+
194
+ case "sell": {
195
+ const method =
196
+ paymentMethod.type === "wallet" ? paymentMethod : undefined;
197
+ if (!method) {
198
+ // can never happen
199
+ onError(new Error("Invalid payment method"));
200
+ return {
201
+ destinationAmount: "0",
202
+ destinationToken: undefined,
203
+ estimatedTime: 0,
204
+ originAmount: "0",
205
+ originToken: undefined,
206
+ };
207
+ }
208
+
209
+ return {
210
+ destinationAmount: formatTokenAmount(
211
+ preparedQuote.destinationAmount,
212
+ preparedQuote.steps[preparedQuote.steps.length - 1]
213
+ ?.destinationToken?.decimals ?? 18,
214
+ ),
215
+ destinationToken:
216
+ preparedQuote.steps[preparedQuote.steps.length - 1]
217
+ ?.destinationToken,
218
+ estimatedTime: preparedQuote.estimatedExecutionTimeMs,
219
+ originAmount: formatTokenAmount(
220
+ preparedQuote.originAmount,
221
+ method.originToken.decimals,
222
+ ),
223
+ originToken:
224
+ paymentMethod.type === "wallet"
225
+ ? paymentMethod.originToken
226
+ : undefined,
227
+ };
228
+ }
229
+
188
230
  case "onramp": {
189
231
  const method =
190
232
  paymentMethod.type === "fiat" ? paymentMethod : undefined;
@@ -215,7 +257,7 @@ export function PaymentDetails({
215
257
  }
216
258
  default: {
217
259
  throw new Error(
218
- `Unsupported bridge prepare type: ${preparedQuote.type}`,
260
+ `Unsupported bridge prepare type: ${(preparedQuote as unknown as { type: string }).type}`,
219
261
  );
220
262
  }
221
263
  }
@@ -224,10 +266,10 @@ export function PaymentDetails({
224
266
  const displayData = getDisplayData();
225
267
 
226
268
  return (
227
- <Container flex="column" fullHeight p="lg">
228
- <ModalHeader onBack={onBack} title="Payment Details" />
269
+ <Container flex="column" fullHeight px="md" pb="md" pt="md+">
270
+ <ModalHeader onBack={onBack} title={title || "Payment Details"} />
229
271
 
230
- <Spacer y="xl" />
272
+ <Spacer y="lg" />
231
273
 
232
274
  <Container flex="column">
233
275
  {/* Quote Summary */}
@@ -390,7 +432,7 @@ export function PaymentDetails({
390
432
  {/* Action Buttons */}
391
433
  <Container flex="column" gap="sm">
392
434
  <Button fullWidth onClick={handleConfirm} variant="accent">
393
- Confirm Payment
435
+ {confirmButtonLabel || "Confirm Payment"}
394
436
  </Button>
395
437
  </Container>
396
438
  </Container>
@@ -79,9 +79,15 @@ export function FiatProviderSelection({
79
79
  return quoteQueries.map((q) => q.data).filter((q) => !!q);
80
80
  }, [quoteQueries]);
81
81
 
82
+ const isPending = quoteQueries.some((q) => q.isLoading);
83
+
82
84
  if (quoteQueries.every((q) => q.isError)) {
83
85
  return (
84
- <Container center="both" flex="column" style={{ minHeight: "120px" }}>
86
+ <Container
87
+ center="both"
88
+ flex="column"
89
+ style={{ minHeight: "200px", flexGrow: 1 }}
90
+ >
85
91
  <Text color="secondaryText" size="sm">
86
92
  No quotes available
87
93
  </Text>
@@ -92,11 +98,17 @@ export function FiatProviderSelection({
92
98
  // TODO: add a "remember my choice" checkbox
93
99
 
94
100
  return (
95
- <Container flex="column" gap="sm">
96
- {quotes.length > 0 ? (
101
+ <Container
102
+ flex="column"
103
+ gap="xs"
104
+ style={{
105
+ flexGrow: 1,
106
+ }}
107
+ >
108
+ {!isPending ? (
97
109
  quotes
98
110
  .sort((a, b) => a.currencyAmount - b.currencyAmount)
99
- .map((quote, index) => {
111
+ .map((quote) => {
100
112
  const provider = PROVIDERS.find(
101
113
  (p) => p.id === quote.intent.onramp,
102
114
  );
@@ -105,98 +117,92 @@ export function FiatProviderSelection({
105
117
  }
106
118
 
107
119
  return (
108
- <Container
109
- animate="fadein"
120
+ <Button
110
121
  key={provider.id}
122
+ fullWidth
123
+ onClick={() => onProviderSelected(provider.id)}
111
124
  style={{
112
- animationDelay: `${index * 100}ms`,
125
+ border: `1px solid ${theme.colors.borderColor}`,
126
+ borderRadius: radius.md,
127
+ textAlign: "left",
113
128
  }}
129
+ variant="secondary"
114
130
  >
115
- <Button
116
- fullWidth
117
- onClick={() => onProviderSelected(provider.id)}
118
- style={{
119
- backgroundColor: theme.colors.tertiaryBg,
120
- border: `1px solid ${theme.colors.borderColor}`,
121
- borderRadius: radius.md,
122
- padding: `${spacing.sm} ${spacing.md}`,
123
- textAlign: "left",
124
- }}
125
- variant="secondary"
131
+ <Container
132
+ flex="row"
133
+ gap="sm"
134
+ style={{ alignItems: "center", width: "100%" }}
126
135
  >
136
+ <Img
137
+ alt={provider.name}
138
+ client={client}
139
+ height={iconSize.lg}
140
+ src={provider.iconUri}
141
+ width={iconSize.lg}
142
+ style={{
143
+ borderRadius: radius.full,
144
+ }}
145
+ />
146
+ <Container flex="column" gap="3xs" style={{ flex: 1 }}>
147
+ <Text color="primaryText" size="md" weight={500}>
148
+ {provider.name}
149
+ </Text>
150
+ </Container>
127
151
  <Container
128
- flex="row"
129
- gap="sm"
130
- style={{ alignItems: "center", width: "100%" }}
152
+ flex="column"
153
+ gap="3xs"
154
+ style={{ alignItems: "flex-end" }}
131
155
  >
132
- <Container
133
- style={{
134
- alignItems: "center",
135
- borderRadius: "50%",
136
- display: "flex",
137
- height: `${iconSize.md}px`,
138
- justifyContent: "center",
139
- overflow: "hidden",
140
- padding: spacing.xs,
141
- width: `${iconSize.md}px`,
142
- }}
156
+ <Text
157
+ color="primaryText"
158
+ size="sm"
159
+ style={{ fontWeight: 500 }}
143
160
  >
144
- <Img
145
- alt={provider.name}
146
- client={client}
147
- height={iconSize.md}
148
- src={provider.iconUri}
149
- width={iconSize.md}
150
- />
151
- </Container>
152
- <Container flex="column" gap="3xs" style={{ flex: 1 }}>
153
- <Text
154
- color="primaryText"
155
- size="md"
156
- style={{ fontWeight: 600 }}
157
- >
158
- {provider.name}
159
- </Text>
160
- </Container>
161
- <Container
162
- flex="column"
163
- gap="3xs"
164
- style={{ alignItems: "flex-end" }}
165
- >
166
- <Text
167
- color="primaryText"
168
- size="sm"
169
- style={{ fontWeight: 500 }}
170
- >
171
- {formatCurrencyAmount(
172
- currency || "US",
173
- quote.currencyAmount,
174
- )}
175
- </Text>
176
- <Text color="secondaryText" size="xs">
177
- {formatNumber(
178
- Number(
179
- toTokens(
180
- quote.destinationAmount,
181
- quote.destinationToken.decimals,
182
- ),
161
+ {formatCurrencyAmount(
162
+ currency || "USD",
163
+ quote.currencyAmount,
164
+ )}
165
+ </Text>
166
+ <Text color="secondaryText" size="xs">
167
+ {formatNumber(
168
+ Number(
169
+ toTokens(
170
+ quote.destinationAmount,
171
+ quote.destinationToken.decimals,
183
172
  ),
184
- 4,
185
- )}{" "}
186
- {quote.destinationToken.symbol}
187
- </Text>
188
- </Container>
173
+ ),
174
+ 4,
175
+ )}{" "}
176
+ {quote.destinationToken.symbol}
177
+ </Text>
189
178
  </Container>
190
- </Button>
191
- </Container>
179
+ </Container>
180
+ </Button>
192
181
  );
193
182
  })
194
183
  ) : (
195
- <Container center="both" flex="column" style={{ minHeight: "120px" }}>
196
- <Spinner color="secondaryText" size="lg" />
197
- <Spacer y="sm" />
198
- <Text center color="secondaryText" size="sm">
199
- Generating quotes...
184
+ <Container
185
+ center="both"
186
+ flex="column"
187
+ style={{ flexGrow: 1, paddingBottom: spacing.lg }}
188
+ px="md"
189
+ >
190
+ <Spinner color="secondaryText" size="xl" />
191
+ <Spacer y="lg" />
192
+ <Text center color="primaryText" size="lg" weight={600} trackingTight>
193
+ Searching Providers
194
+ </Text>
195
+ <Spacer y="xs" />
196
+ <Text
197
+ center
198
+ color="secondaryText"
199
+ size="sm"
200
+ multiline
201
+ style={{
202
+ textWrap: "pretty",
203
+ }}
204
+ >
205
+ Searching for the best providers for this payment
200
206
  </Text>
201
207
  </Container>
202
208
  )}
@@ -125,9 +125,16 @@ export function PaymentSelection({
125
125
  const connectedWallets = useConnectedWallets();
126
126
  const activeWallet = useActiveWallet();
127
127
 
128
- const [currentStep, setCurrentStep] = useState<Step>({
129
- type: "walletSelection",
130
- });
128
+ const initialStep =
129
+ paymentMethods.length === 1 && paymentMethods[0] === "card"
130
+ ? {
131
+ type: "fiatProviderSelection" as const,
132
+ }
133
+ : {
134
+ type: "walletSelection" as const,
135
+ };
136
+
137
+ const [currentStep, setCurrentStep] = useState<Step>(initialStep);
131
138
 
132
139
  useQuery({
133
140
  queryFn: () => {
@@ -226,6 +233,9 @@ export function PaymentSelection({
226
233
  };
227
234
 
228
235
  const getBackHandler = () => {
236
+ if (paymentMethods.length === 1 && paymentMethods[0] === "card") {
237
+ return onBack;
238
+ }
229
239
  switch (currentStep.type) {
230
240
  case "walletSelection":
231
241
  return onBack;
@@ -270,12 +280,11 @@ export function PaymentSelection({
270
280
  }
271
281
 
272
282
  return (
273
- <Container flex="column" p="lg">
283
+ <Container flex="column" px="md" pb="md" pt="md+">
274
284
  <ModalHeader onBack={getBackHandler()} title={getStepTitle()} />
285
+ <Spacer y="lg" />
275
286
 
276
- <Spacer y="xl" />
277
-
278
- <Container flex="column">
287
+ <Container flex="column" style={{ minHeight: "300px" }}>
279
288
  {currentStep.type === "walletSelection" && (
280
289
  <WalletFiatSelection
281
290
  client={client}