@daimo/pay 1.19.2 → 1.19.4

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 (386) hide show
  1. package/build/connectkit/package.json.js +117 -0
  2. package/build/connectkit/package.json.js.map +1 -0
  3. package/build/connectkit/src/assets/MobileWithLogos.js +329 -0
  4. package/build/connectkit/src/assets/MobileWithLogos.js.map +1 -0
  5. package/build/connectkit/src/assets/ScanIconWithLogos.js +243 -0
  6. package/build/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
  7. package/build/connectkit/src/assets/browsers.js +969 -0
  8. package/build/connectkit/src/assets/browsers.js.map +1 -0
  9. package/build/connectkit/src/assets/chains.js +648 -0
  10. package/build/connectkit/src/assets/chains.js.map +1 -0
  11. package/build/connectkit/src/assets/coins.js +43 -0
  12. package/build/connectkit/src/assets/coins.js.map +1 -0
  13. package/build/connectkit/src/assets/icons.js +273 -0
  14. package/build/connectkit/src/assets/icons.js.map +1 -0
  15. package/build/connectkit/src/assets/logos.js +1620 -0
  16. package/build/connectkit/src/assets/logos.js.map +1 -0
  17. package/build/connectkit/src/assets/wave.js +46 -0
  18. package/build/connectkit/src/assets/wave.js.map +1 -0
  19. package/build/connectkit/src/components/Common/Alert/index.js +13 -0
  20. package/build/connectkit/src/components/Common/Alert/index.js.map +1 -0
  21. package/build/connectkit/src/components/Common/Alert/styles.js +55 -0
  22. package/build/connectkit/src/components/Common/Alert/styles.js.map +1 -0
  23. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
  24. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
  25. package/build/connectkit/src/components/Common/AmountInput/index.js +159 -0
  26. package/build/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
  27. package/build/connectkit/src/components/Common/Avatar/index.js +78 -0
  28. package/build/connectkit/src/components/Common/Avatar/index.js.map +1 -0
  29. package/build/connectkit/src/components/Common/Avatar/styles.js +54 -0
  30. package/build/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
  31. package/build/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
  32. package/build/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
  33. package/build/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
  34. package/build/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
  35. package/build/connectkit/src/components/Common/Button/index.js +144 -0
  36. package/build/connectkit/src/components/Common/Button/index.js.map +1 -0
  37. package/build/connectkit/src/components/Common/Button/styles.js +287 -0
  38. package/build/connectkit/src/components/Common/Button/styles.js.map +1 -0
  39. package/build/connectkit/src/components/Common/Chain/index.js +141 -0
  40. package/build/connectkit/src/components/Common/Chain/index.js.map +1 -0
  41. package/build/connectkit/src/components/Common/Chain/styles.js +90 -0
  42. package/build/connectkit/src/components/Common/Chain/styles.js.map +1 -0
  43. package/build/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
  44. package/build/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
  45. package/build/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
  46. package/build/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
  47. package/build/connectkit/src/components/Common/CircleTimer.js +92 -0
  48. package/build/connectkit/src/components/Common/CircleTimer.js.map +1 -0
  49. package/build/connectkit/src/components/Common/ConnectorList/index.js +120 -0
  50. package/build/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
  51. package/build/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
  52. package/build/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
  53. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
  54. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
  55. package/build/connectkit/src/components/Common/CopyToClipboard/index.js +33 -0
  56. package/build/connectkit/src/components/Common/CopyToClipboard/index.js.map +1 -0
  57. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js +128 -0
  58. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
  59. package/build/connectkit/src/components/Common/CustomQRCode/index.js +71 -0
  60. package/build/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
  61. package/build/connectkit/src/components/Common/CustomQRCode/styles.js +139 -0
  62. package/build/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
  63. package/build/connectkit/src/components/Common/FitText/index.js +34 -0
  64. package/build/connectkit/src/components/Common/FitText/index.js.map +1 -0
  65. package/build/connectkit/src/components/Common/Modal/index.js +523 -0
  66. package/build/connectkit/src/components/Common/Modal/index.js.map +1 -0
  67. package/build/connectkit/src/components/Common/Modal/styles.js +665 -0
  68. package/build/connectkit/src/components/Common/Modal/styles.js.map +1 -0
  69. package/build/connectkit/src/components/Common/OptionsList/index.js +145 -0
  70. package/build/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
  71. package/build/connectkit/src/components/Common/OptionsList/styles.js +138 -0
  72. package/build/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
  73. package/build/connectkit/src/components/Common/OrderHeader/index.js +192 -0
  74. package/build/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
  75. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
  76. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
  77. package/build/connectkit/src/components/Common/Portal/index.js +30 -0
  78. package/build/connectkit/src/components/Common/Portal/index.js.map +1 -0
  79. package/build/connectkit/src/components/Common/PoweredByFooter/index.js +66 -0
  80. package/build/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
  81. package/build/connectkit/src/components/Common/ScrollArea/index.js +120 -0
  82. package/build/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
  83. package/build/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
  84. package/build/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
  85. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
  86. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
  87. package/build/connectkit/src/components/Common/Spinner/index.js +64 -0
  88. package/build/connectkit/src/components/Common/Spinner/index.js.map +1 -0
  89. package/build/connectkit/src/components/Common/Spinner/styles.js +22 -0
  90. package/build/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
  91. package/build/connectkit/src/components/Common/SwitchButton/index.js +43 -0
  92. package/build/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
  93. package/build/connectkit/src/components/Common/ThemedButton/index.js +46 -0
  94. package/build/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
  95. package/build/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
  96. package/build/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
  97. package/build/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
  98. package/build/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
  99. package/build/connectkit/src/components/Common/Tooltip/index.js +129 -0
  100. package/build/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
  101. package/build/connectkit/src/components/Common/Tooltip/styles.js +81 -0
  102. package/build/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
  103. package/build/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
  104. package/build/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
  105. package/build/connectkit/src/components/DaimoPayButton/index.js +197 -0
  106. package/build/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
  107. package/build/connectkit/src/components/DaimoPayButton/styles.js +50 -0
  108. package/build/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
  109. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js +68 -0
  110. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
  111. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +335 -0
  112. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
  113. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
  114. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
  115. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +99 -0
  116. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
  117. package/build/connectkit/src/components/DaimoPayModal/index.js +462 -0
  118. package/build/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
  119. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
  120. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
  121. package/build/connectkit/src/components/Pages/About/graphics.js +853 -0
  122. package/build/connectkit/src/components/Pages/About/graphics.js.map +1 -0
  123. package/build/connectkit/src/components/Pages/About/index.js +222 -0
  124. package/build/connectkit/src/components/Pages/About/index.js.map +1 -0
  125. package/build/connectkit/src/components/Pages/About/styles.js +140 -0
  126. package/build/connectkit/src/components/Pages/About/styles.js.map +1 -0
  127. package/build/connectkit/src/components/Pages/Confirmation/index.js +128 -0
  128. package/build/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
  129. package/build/connectkit/src/components/Pages/Connectors/index.js +28 -0
  130. package/build/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
  131. package/build/connectkit/src/components/Pages/DownloadApp/index.js +35 -0
  132. package/build/connectkit/src/components/Pages/DownloadApp/index.js.map +1 -0
  133. package/build/connectkit/src/components/Pages/Error/index.js +57 -0
  134. package/build/connectkit/src/components/Pages/Error/index.js.map +1 -0
  135. package/build/connectkit/src/components/Pages/MobileConnectors/index.js +65 -0
  136. package/build/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
  137. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
  138. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
  139. package/build/connectkit/src/components/Pages/Onboarding/index.js +34 -0
  140. package/build/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
  141. package/build/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
  142. package/build/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
  143. package/build/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
  144. package/build/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
  145. package/build/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
  146. package/build/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
  147. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
  148. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
  149. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +72 -0
  150. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
  151. package/build/connectkit/src/components/Pages/SelectExchange/index.js +41 -0
  152. package/build/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
  153. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
  154. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
  155. package/build/connectkit/src/components/Pages/SelectMethod/index.js +230 -0
  156. package/build/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
  157. package/build/connectkit/src/components/Pages/SelectToken/index.js +97 -0
  158. package/build/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
  159. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js +66 -0
  160. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
  161. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
  162. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
  163. package/build/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
  164. package/build/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
  165. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
  166. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
  167. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
  168. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
  169. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
  170. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
  171. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
  172. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
  173. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js +503 -0
  174. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
  175. package/build/connectkit/src/components/Pages/WaitingExternal/index.js +89 -0
  176. package/build/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
  177. package/build/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
  178. package/build/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
  179. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
  180. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
  181. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
  182. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
  183. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
  184. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
  185. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
  186. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
  187. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
  188. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
  189. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
  190. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
  191. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
  192. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
  193. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
  194. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
  195. package/build/connectkit/src/components/Spinners/styles.js +32 -0
  196. package/build/connectkit/src/components/Spinners/styles.js.map +1 -0
  197. package/build/connectkit/src/constants/defaultTheme.js +6 -0
  198. package/build/connectkit/src/constants/defaultTheme.js.map +1 -0
  199. package/build/connectkit/src/constants/routes.js +32 -0
  200. package/build/connectkit/src/constants/routes.js.map +1 -0
  201. package/build/connectkit/src/defaultConfig.js +63 -0
  202. package/build/connectkit/src/defaultConfig.js.map +1 -0
  203. package/build/connectkit/src/defaultConnectors.js +37 -0
  204. package/build/connectkit/src/defaultConnectors.js.map +1 -0
  205. package/build/connectkit/src/hooks/useChainIsSupported.js +10 -0
  206. package/build/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
  207. package/build/connectkit/src/hooks/useChains.js +10 -0
  208. package/build/connectkit/src/hooks/useChains.js.map +1 -0
  209. package/build/connectkit/src/hooks/useConnect.js +61 -0
  210. package/build/connectkit/src/hooks/useConnect.js.map +1 -0
  211. package/build/connectkit/src/hooks/useConnectCallback.js +21 -0
  212. package/build/connectkit/src/hooks/useConnectCallback.js.map +1 -0
  213. package/build/connectkit/src/hooks/useConnectors.js +9 -0
  214. package/build/connectkit/src/hooks/useConnectors.js.map +1 -0
  215. package/build/connectkit/src/hooks/useDaimoPay.js +107 -0
  216. package/build/connectkit/src/hooks/useDaimoPay.js.map +1 -0
  217. package/build/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
  218. package/build/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
  219. package/build/connectkit/src/hooks/useDaimoPayUI.js +15 -0
  220. package/build/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
  221. package/build/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
  222. package/build/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
  223. package/build/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
  224. package/build/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
  225. package/build/connectkit/src/hooks/useExternalPaymentOptions.js +64 -0
  226. package/build/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
  227. package/build/connectkit/src/hooks/useFitText.js +133 -0
  228. package/build/connectkit/src/hooks/useFitText.js.map +1 -0
  229. package/build/connectkit/src/hooks/useFocusTrap.js +53 -0
  230. package/build/connectkit/src/hooks/useFocusTrap.js.map +1 -0
  231. package/build/connectkit/src/hooks/useIsMobile.js +11 -0
  232. package/build/connectkit/src/hooks/useIsMobile.js.map +1 -0
  233. package/build/connectkit/src/hooks/useIsMounted.js +10 -0
  234. package/build/connectkit/src/hooks/useIsMounted.js.map +1 -0
  235. package/build/connectkit/src/hooks/useLastConnector.js +24 -0
  236. package/build/connectkit/src/hooks/useLastConnector.js.map +1 -0
  237. package/build/connectkit/src/hooks/useLocales.js +60 -0
  238. package/build/connectkit/src/hooks/useLocales.js.map +1 -0
  239. package/build/connectkit/src/hooks/useLockBodyScroll.js +47 -0
  240. package/build/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
  241. package/build/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
  242. package/build/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
  243. package/build/connectkit/src/hooks/usePayContext.js +11 -0
  244. package/build/connectkit/src/hooks/usePayContext.js.map +1 -0
  245. package/build/connectkit/src/hooks/usePaymentState.js +376 -0
  246. package/build/connectkit/src/hooks/usePaymentState.js.map +1 -0
  247. package/build/connectkit/src/hooks/usePrevious.js +13 -0
  248. package/build/connectkit/src/hooks/usePrevious.js.map +1 -0
  249. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js +40 -0
  250. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
  251. package/build/connectkit/src/hooks/useTokenOptions.js +152 -0
  252. package/build/connectkit/src/hooks/useTokenOptions.js.map +1 -0
  253. package/build/connectkit/src/hooks/useUntronAvailability.js +32 -0
  254. package/build/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
  255. package/build/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
  256. package/build/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
  257. package/build/connectkit/src/hooks/useWindowSize.js +23 -0
  258. package/build/connectkit/src/hooks/useWindowSize.js.map +1 -0
  259. package/build/connectkit/src/index.js +14 -0
  260. package/build/connectkit/src/index.js.map +1 -0
  261. package/build/connectkit/src/localizations/index.js +48 -0
  262. package/build/connectkit/src/localizations/index.js.map +1 -0
  263. package/build/connectkit/src/localizations/locales/ar-AE.js +95 -0
  264. package/build/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
  265. package/build/connectkit/src/localizations/locales/ca-AD.js +93 -0
  266. package/build/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
  267. package/build/connectkit/src/localizations/locales/ee-EE.js +101 -0
  268. package/build/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
  269. package/build/connectkit/src/localizations/locales/en-US.js +139 -0
  270. package/build/connectkit/src/localizations/locales/en-US.js.map +1 -0
  271. package/build/connectkit/src/localizations/locales/es-ES.js +131 -0
  272. package/build/connectkit/src/localizations/locales/es-ES.js.map +1 -0
  273. package/build/connectkit/src/localizations/locales/fa-IR.js +93 -0
  274. package/build/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
  275. package/build/connectkit/src/localizations/locales/fr-FR.js +93 -0
  276. package/build/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
  277. package/build/connectkit/src/localizations/locales/ja-JP.js +93 -0
  278. package/build/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
  279. package/build/connectkit/src/localizations/locales/pt-BR.js +101 -0
  280. package/build/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
  281. package/build/connectkit/src/localizations/locales/ru-RU.js +97 -0
  282. package/build/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
  283. package/build/connectkit/src/localizations/locales/tr-TR.js +101 -0
  284. package/build/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
  285. package/build/connectkit/src/localizations/locales/vi-VN.js +101 -0
  286. package/build/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
  287. package/build/connectkit/src/localizations/locales/zh-CN.js +93 -0
  288. package/build/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
  289. package/build/connectkit/src/payment/paymentEffects.js +269 -0
  290. package/build/connectkit/src/payment/paymentEffects.js.map +1 -0
  291. package/build/connectkit/src/payment/paymentFsm.js +194 -0
  292. package/build/connectkit/src/payment/paymentFsm.js.map +1 -0
  293. package/build/connectkit/src/payment/paymentStore.js +18 -0
  294. package/build/connectkit/src/payment/paymentStore.js.map +1 -0
  295. package/build/connectkit/src/payment/paymentUtils.js +10 -0
  296. package/build/connectkit/src/payment/paymentUtils.js.map +1 -0
  297. package/build/connectkit/src/provider/DaimoPayProvider.js +293 -0
  298. package/build/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
  299. package/build/connectkit/src/provider/PayContext.js +6 -0
  300. package/build/connectkit/src/provider/PayContext.js.map +1 -0
  301. package/build/connectkit/src/provider/PaymentProvider.js +29 -0
  302. package/build/connectkit/src/provider/PaymentProvider.js.map +1 -0
  303. package/build/connectkit/src/provider/SolanaContextProvider.js +14 -0
  304. package/build/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
  305. package/build/connectkit/src/provider/Web3ContextProvider.js +36 -0
  306. package/build/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
  307. package/build/connectkit/src/stateStore.js +36 -0
  308. package/build/connectkit/src/stateStore.js.map +1 -0
  309. package/build/connectkit/src/styles/defaultTheme.js +80 -0
  310. package/build/connectkit/src/styles/defaultTheme.js.map +1 -0
  311. package/build/connectkit/src/styles/index.js +313 -0
  312. package/build/connectkit/src/styles/index.js.map +1 -0
  313. package/build/connectkit/src/styles/styled/index.js +6 -0
  314. package/build/connectkit/src/styles/styled/index.js.map +1 -0
  315. package/build/connectkit/src/styles/themes/base.js +141 -0
  316. package/build/connectkit/src/styles/themes/base.js.map +1 -0
  317. package/build/connectkit/src/styles/themes/index.js +13 -0
  318. package/build/connectkit/src/styles/themes/index.js.map +1 -0
  319. package/build/connectkit/src/styles/themes/midnight.js +76 -0
  320. package/build/connectkit/src/styles/themes/midnight.js.map +1 -0
  321. package/build/connectkit/src/styles/themes/minimal.js +96 -0
  322. package/build/connectkit/src/styles/themes/minimal.js.map +1 -0
  323. package/build/connectkit/src/styles/themes/nouns.js +81 -0
  324. package/build/connectkit/src/styles/themes/nouns.js.map +1 -0
  325. package/build/connectkit/src/styles/themes/retro.js +106 -0
  326. package/build/connectkit/src/styles/themes/retro.js.map +1 -0
  327. package/build/connectkit/src/styles/themes/rounded.js +106 -0
  328. package/build/connectkit/src/styles/themes/rounded.js.map +1 -0
  329. package/build/connectkit/src/styles/themes/soft.js +71 -0
  330. package/build/connectkit/src/styles/themes/soft.js.map +1 -0
  331. package/build/connectkit/src/styles/themes/web95.js +132 -0
  332. package/build/connectkit/src/styles/themes/web95.js.map +1 -0
  333. package/build/connectkit/src/utils/exports.js +6 -0
  334. package/build/connectkit/src/utils/exports.js.map +1 -0
  335. package/build/connectkit/src/utils/format.js +45 -0
  336. package/build/connectkit/src/utils/format.js.map +1 -0
  337. package/build/connectkit/src/utils/index.js +42 -0
  338. package/build/connectkit/src/utils/index.js.map +1 -0
  339. package/build/connectkit/src/utils/p3.js +15 -0
  340. package/build/connectkit/src/utils/p3.js.map +1 -0
  341. package/build/connectkit/src/utils/platform.js +11 -0
  342. package/build/connectkit/src/utils/platform.js.map +1 -0
  343. package/build/connectkit/src/utils/polling.js +35 -0
  344. package/build/connectkit/src/utils/polling.js.map +1 -0
  345. package/build/connectkit/src/utils/supportUrl.js +16 -0
  346. package/build/connectkit/src/utils/supportUrl.js.map +1 -0
  347. package/build/connectkit/src/utils/trpc.js +19 -0
  348. package/build/connectkit/src/utils/trpc.js.map +1 -0
  349. package/build/connectkit/src/utils/validateInput.js +16 -0
  350. package/build/connectkit/src/utils/validateInput.js.map +1 -0
  351. package/build/connectkit/src/wallets/index.js +21 -0
  352. package/build/connectkit/src/wallets/index.js.map +1 -0
  353. package/build/connectkit/src/wallets/useWallets.js +207 -0
  354. package/build/connectkit/src/wallets/useWallets.js.map +1 -0
  355. package/build/connectkit/src/wallets/walletConfigs.js +277 -0
  356. package/build/connectkit/src/wallets/walletConfigs.js.map +1 -0
  357. package/build/connectkit/src/world-mini-app/WorldPayButton.js +148 -0
  358. package/build/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
  359. package/build/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
  360. package/build/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
  361. package/build/connectkit/src/world.js +2 -0
  362. package/build/connectkit/src/world.js.map +1 -0
  363. package/build/package.json.js +2 -2
  364. package/build/pay-common/src/chain.js +9 -0
  365. package/build/pay-common/src/chain.js.map +1 -0
  366. package/build/src/assets/coins.js +43 -0
  367. package/build/src/assets/coins.js.map +1 -0
  368. package/build/src/components/Common/CopyToClipboard/index.js +33 -0
  369. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
  370. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +1 -1
  371. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  372. package/build/src/components/DaimoPayModal/index.js +23 -3
  373. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  374. package/build/src/components/Pages/DownloadApp/index.js +35 -0
  375. package/build/src/components/Pages/DownloadApp/index.js.map +1 -0
  376. package/build/src/components/Pages/SelectMethod/index.js +5 -3
  377. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  378. package/build/src/components/Pages/SelectToken/index.js +3 -1
  379. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  380. package/build/src/localizations/locales/en-US.js +1 -1
  381. package/build/src/localizations/locales/en-US.js.map +1 -1
  382. package/build/src/localizations/locales/es-ES.js +1 -1
  383. package/build/src/localizations/locales/es-ES.js.map +1 -1
  384. package/build/src/wallets/useWallets.js.map +1 -1
  385. package/build/types-20835014.d.ts +68 -0
  386. package/package.json +2 -2
@@ -0,0 +1,41 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { PageContent, ModalH1 } from '../../Common/Modal/styles.js';
3
+ import { ROUTES } from '../../../constants/routes.js';
4
+ import { usePayContext } from '../../../hooks/usePayContext.js';
5
+ import { OptionsList } from '../../Common/OptionsList/index.js';
6
+ import { OrderHeader } from '../../Common/OrderHeader/index.js';
7
+
8
+ const SelectExchange = () => {
9
+ const { paymentState, setRoute } = usePayContext();
10
+ const { externalPaymentOptions, setSelectedExternalOption } = paymentState;
11
+ const exchangeOptions = externalPaymentOptions.options.get("exchange");
12
+ if (!exchangeOptions) {
13
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
14
+ /* @__PURE__ */ jsx(OrderHeader, { minified: true }),
15
+ /* @__PURE__ */ jsx(ModalH1, { children: "No Exchange options available" })
16
+ ] });
17
+ }
18
+ const options = exchangeOptions.map((option) => ({
19
+ id: option.id,
20
+ title: option.cta,
21
+ icons: [option.logoURI],
22
+ onClick: () => {
23
+ setSelectedExternalOption(option);
24
+ const meta = { event: "click-option", option: option.id };
25
+ if (paymentState.isDepositFlow) {
26
+ setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);
27
+ } else {
28
+ setRoute(ROUTES.WAITING_EXTERNAL, meta);
29
+ }
30
+ },
31
+ disabled: option.disabled,
32
+ subtitle: option.message
33
+ }));
34
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
35
+ /* @__PURE__ */ jsx(OrderHeader, { minified: true, show: "zkp2p" }),
36
+ /* @__PURE__ */ jsx(OptionsList, { options })
37
+ ] });
38
+ };
39
+
40
+ export { SelectExchange as default };
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectExchange/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { ModalH1, PageContent } from \"../../Common/Modal/styles\";\n\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport { OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\n\nconst SelectExchange: React.FC = () => {\n const { paymentState, setRoute } = usePayContext();\n const { externalPaymentOptions, setSelectedExternalOption } = paymentState;\n const exchangeOptions = externalPaymentOptions.options.get(\"exchange\");\n\n if (!exchangeOptions) {\n return (\n <PageContent>\n <OrderHeader minified />\n <ModalH1>No Exchange options available</ModalH1>\n </PageContent>\n );\n }\n\n const options = exchangeOptions.map((option) => ({\n id: option.id,\n title: option.cta,\n icons: [option.logoURI],\n onClick: () => {\n setSelectedExternalOption(option);\n const meta = { event: \"click-option\", option: option.id };\n if (paymentState.isDepositFlow) {\n setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);\n } else {\n setRoute(ROUTES.WAITING_EXTERNAL, meta);\n }\n },\n disabled: option.disabled,\n subtitle: option.message,\n }));\n\n return (\n <PageContent>\n <OrderHeader minified show=\"zkp2p\" />\n <OptionsList options={options} />\n </PageContent>\n );\n};\n\nexport default SelectExchange;\n"],"names":[],"mappings":";;;;;;;AASA,MAAM,iBAA2B,MAAM;AACrC,EAAA,MAAM,EAAE,YAAA,EAAc,QAAS,EAAA,GAAI,aAAc,EAAA,CAAA;AACjD,EAAM,MAAA,EAAE,sBAAwB,EAAA,yBAAA,EAA8B,GAAA,YAAA,CAAA;AAC9D,EAAA,MAAM,eAAkB,GAAA,sBAAA,CAAuB,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAErE,EAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,IAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,UAAQ,IAAC,EAAA,CAAA;AAAA,sBACtB,GAAA,CAAC,WAAQ,QAA6B,EAAA,+BAAA,EAAA,CAAA;AAAA,KACxC,EAAA,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAA,MAAM,OAAU,GAAA,eAAA,CAAgB,GAAI,CAAA,CAAC,MAAY,MAAA;AAAA,IAC/C,IAAI,MAAO,CAAA,EAAA;AAAA,IACX,OAAO,MAAO,CAAA,GAAA;AAAA,IACd,KAAA,EAAO,CAAC,MAAA,CAAO,OAAO,CAAA;AAAA,IACtB,SAAS,MAAM;AACb,MAAA,yBAAA,CAA0B,MAAM,CAAA,CAAA;AAChC,MAAA,MAAM,OAAO,EAAE,KAAA,EAAO,cAAgB,EAAA,MAAA,EAAQ,OAAO,EAAG,EAAA,CAAA;AACxD,MAAA,IAAI,aAAa,aAAe,EAAA;AAC9B,QAAS,QAAA,CAAA,MAAA,CAAO,wBAAwB,IAAI,CAAA,CAAA;AAAA,OACvC,MAAA;AACL,QAAS,QAAA,CAAA,MAAA,CAAO,kBAAkB,IAAI,CAAA,CAAA;AAAA,OACxC;AAAA,KACF;AAAA,IACA,UAAU,MAAO,CAAA,QAAA;AAAA,IACjB,UAAU,MAAO,CAAA,OAAA;AAAA,GACjB,CAAA,CAAA,CAAA;AAEF,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,IAAA,EAAK,OAAQ,EAAA,CAAA;AAAA,oBACnC,GAAA,CAAC,eAAY,OAAkB,EAAA,CAAA;AAAA,GACjC,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,80 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useState, useEffect } from 'react';
3
+ import { ROUTES } from '../../../constants/routes.js';
4
+ import { usePayContext } from '../../../hooks/usePayContext.js';
5
+ import { PageContent, ModalContent, ModalBody } from '../../Common/Modal/styles.js';
6
+ import styled from '../../../styles/styled/index.js';
7
+ import { formatUsd, USD_DECIMALS } from '../../../utils/format.js';
8
+ import { isValidNumber, sanitizeNumber } from '../../../utils/validateInput.js';
9
+ import AmountInputField from '../../Common/AmountInput/AmountInputField.js';
10
+ import Button from '../../Common/Button/index.js';
11
+ import ExternalPaymentSpinner from '../../Spinners/ExternalPaymentSpinner/index.js';
12
+
13
+ const SelectExternalAmount = () => {
14
+ const { paymentState, setRoute, triggerResize } = usePayContext();
15
+ const { selectedExternalOption } = paymentState;
16
+ const maxUsdLimit = paymentState.getOrderUsdLimit();
17
+ const minimumMessage = (selectedExternalOption?.minimumUsd ?? 0) > 0 ? `Minimum ${formatUsd(selectedExternalOption?.minimumUsd ?? 0, "up")}` : null;
18
+ const [usdInput, setUsdInput] = useState("");
19
+ const [message, setMessage] = useState(minimumMessage);
20
+ const [continueDisabled, setContinueDisabled] = useState(true);
21
+ useEffect(() => {
22
+ triggerResize();
23
+ }, [message]);
24
+ if (selectedExternalOption == null) {
25
+ return /* @__PURE__ */ jsx(PageContent, {});
26
+ }
27
+ const handleAmountChange = (e) => {
28
+ const value = e.target.value;
29
+ if (value !== "" && !isValidNumber(value, USD_DECIMALS)) return;
30
+ setUsdInput(value);
31
+ if (Number(value) > maxUsdLimit) {
32
+ setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);
33
+ } else {
34
+ setMessage(minimumMessage);
35
+ }
36
+ const usd = Number(sanitizeNumber(value));
37
+ setContinueDisabled(
38
+ usd <= 0 || usd < (selectedExternalOption.minimumUsd ?? 0) || usd > maxUsdLimit
39
+ );
40
+ };
41
+ const handleKeyDown = (e) => {
42
+ if (e.key === "Enter" && !continueDisabled) {
43
+ handleContinue();
44
+ }
45
+ };
46
+ const handleContinue = () => {
47
+ const amountUsd = Number(sanitizeNumber(usdInput));
48
+ paymentState.setChosenUsd(amountUsd);
49
+ setRoute(ROUTES.WAITING_EXTERNAL, { amountUsd });
50
+ };
51
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
52
+ /* @__PURE__ */ jsx(
53
+ ExternalPaymentSpinner,
54
+ {
55
+ logoURI: selectedExternalOption.logoURI,
56
+ logoShape: selectedExternalOption.logoShape
57
+ }
58
+ ),
59
+ /* @__PURE__ */ jsxs(ModalContent, { $preserveDisplay: true, children: [
60
+ /* @__PURE__ */ jsx(AmountInputContainer, { children: /* @__PURE__ */ jsx(
61
+ AmountInputField,
62
+ {
63
+ value: usdInput,
64
+ onChange: handleAmountChange,
65
+ onKeyDown: handleKeyDown
66
+ }
67
+ ) }),
68
+ message && /* @__PURE__ */ jsx(ModalBody, { children: message }),
69
+ /* @__PURE__ */ jsx(Button, { onClick: handleContinue, disabled: continueDisabled, children: "Continue" })
70
+ ] })
71
+ ] });
72
+ };
73
+ const AmountInputContainer = styled.div`
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: center;
77
+ `;
78
+
79
+ export { SelectExternalAmount as default };
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectExternalAmount/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport {\n ModalBody,\n ModalContent,\n PageContent,\n} from \"../../Common/Modal/styles\";\n\nimport styled from \"../../../styles/styled\";\nimport { formatUsd, USD_DECIMALS } from \"../../../utils/format\";\nimport { isValidNumber, sanitizeNumber } from \"../../../utils/validateInput\";\nimport AmountInputField from \"../../Common/AmountInput/AmountInputField\";\nimport Button from \"../../Common/Button\";\nimport ExternalPaymentSpinner from \"../../Spinners/ExternalPaymentSpinner\";\n\nconst SelectExternalAmount: React.FC = () => {\n const { paymentState, setRoute, triggerResize } = usePayContext();\n const { selectedExternalOption } = paymentState;\n\n const maxUsdLimit = paymentState.getOrderUsdLimit();\n const minimumMessage =\n (selectedExternalOption?.minimumUsd ?? 0) > 0\n ? `Minimum ${formatUsd(selectedExternalOption?.minimumUsd ?? 0, \"up\")}`\n : null;\n\n const [usdInput, setUsdInput] = useState<string>(\"\");\n const [message, setMessage] = useState<string | null>(minimumMessage);\n const [continueDisabled, setContinueDisabled] = useState(true);\n\n useEffect(() => {\n triggerResize();\n }, [message]); // eslint-disable-line react-hooks/exhaustive-deps\n\n if (selectedExternalOption == null) {\n return <PageContent></PageContent>;\n }\n\n const handleAmountChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n if (value !== \"\" && !isValidNumber(value, USD_DECIMALS)) return;\n\n setUsdInput(value);\n\n if (Number(value) > maxUsdLimit) {\n setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);\n } else {\n setMessage(minimumMessage);\n }\n\n const usd = Number(sanitizeNumber(value));\n setContinueDisabled(\n usd <= 0 ||\n usd < (selectedExternalOption.minimumUsd ?? 0) ||\n usd > maxUsdLimit,\n );\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\" && !continueDisabled) {\n handleContinue();\n }\n };\n\n const handleContinue = () => {\n const amountUsd = Number(sanitizeNumber(usdInput));\n paymentState.setChosenUsd(amountUsd);\n setRoute(ROUTES.WAITING_EXTERNAL, { amountUsd });\n };\n\n return (\n <PageContent>\n <ExternalPaymentSpinner\n logoURI={selectedExternalOption.logoURI}\n logoShape={selectedExternalOption.logoShape}\n />\n <ModalContent $preserveDisplay={true}>\n <AmountInputContainer>\n <AmountInputField\n value={usdInput}\n onChange={handleAmountChange}\n onKeyDown={handleKeyDown}\n />\n </AmountInputContainer>\n {message && <ModalBody>{message}</ModalBody>}\n <Button onClick={handleContinue} disabled={continueDisabled}>\n Continue\n </Button>\n </ModalContent>\n </PageContent>\n );\n};\n\nconst AmountInputContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport default SelectExternalAmount;\n"],"names":[],"mappings":";;;;;;;;;;;;AAiBA,MAAM,uBAAiC,MAAM;AAC3C,EAAA,MAAM,EAAE,YAAA,EAAc,QAAU,EAAA,aAAA,KAAkB,aAAc,EAAA,CAAA;AAChE,EAAM,MAAA,EAAE,wBAA2B,GAAA,YAAA,CAAA;AAEnC,EAAM,MAAA,WAAA,GAAc,aAAa,gBAAiB,EAAA,CAAA;AAClD,EAAA,MAAM,cACH,GAAA,CAAA,sBAAA,EAAwB,UAAc,IAAA,CAAA,IAAK,CACxC,GAAA,CAAA,QAAA,EAAW,SAAU,CAAA,sBAAA,EAAwB,UAAc,IAAA,CAAA,EAAG,IAAI,CAAC,CACnE,CAAA,GAAA,IAAA,CAAA;AAEN,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAiB,EAAE,CAAA,CAAA;AACnD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAwB,cAAc,CAAA,CAAA;AACpE,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAE7D,EAAA,SAAA,CAAU,MAAM;AACd,IAAc,aAAA,EAAA,CAAA;AAAA,GAChB,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,EAAA,IAAI,0BAA0B,IAAM,EAAA;AAClC,IAAA,2BAAQ,WAAY,EAAA,EAAA,CAAA,CAAA;AAAA,GACtB;AAEA,EAAM,MAAA,kBAAA,GAAqB,CAAC,CAA2C,KAAA;AACrE,IAAM,MAAA,KAAA,GAAQ,EAAE,MAAO,CAAA,KAAA,CAAA;AACvB,IAAA,IAAI,UAAU,EAAM,IAAA,CAAC,aAAc,CAAA,KAAA,EAAO,YAAY,CAAG,EAAA,OAAA;AAEzD,IAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAEjB,IAAI,IAAA,MAAA,CAAO,KAAK,CAAA,GAAI,WAAa,EAAA;AAC/B,MAAA,UAAA,CAAW,CAAW,QAAA,EAAA,SAAA,CAAU,WAAW,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,KACzC,MAAA;AACL,MAAA,UAAA,CAAW,cAAc,CAAA,CAAA;AAAA,KAC3B;AAEA,IAAA,MAAM,GAAM,GAAA,MAAA,CAAO,cAAe,CAAA,KAAK,CAAC,CAAA,CAAA;AACxC,IAAA,mBAAA;AAAA,MACE,OAAO,CACL,IAAA,GAAA,IAAO,sBAAuB,CAAA,UAAA,IAAc,MAC5C,GAAM,GAAA,WAAA;AAAA,KACV,CAAA;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,CAAC,CAA6C,KAAA;AAClE,IAAA,IAAI,CAAE,CAAA,GAAA,KAAQ,OAAW,IAAA,CAAC,gBAAkB,EAAA;AAC1C,MAAe,cAAA,EAAA,CAAA;AAAA,KACjB;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAM,SAAY,GAAA,MAAA,CAAO,cAAe,CAAA,QAAQ,CAAC,CAAA,CAAA;AACjD,IAAA,YAAA,CAAa,aAAa,SAAS,CAAA,CAAA;AACnC,IAAA,QAAA,CAAS,MAAO,CAAA,gBAAA,EAAkB,EAAE,SAAA,EAAW,CAAA,CAAA;AAAA,GACjD,CAAA;AAEA,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,SAAS,sBAAuB,CAAA,OAAA;AAAA,QAChC,WAAW,sBAAuB,CAAA,SAAA;AAAA,OAAA;AAAA,KACpC;AAAA,oBACA,IAAA,CAAC,YAAa,EAAA,EAAA,gBAAA,EAAkB,IAC9B,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,oBACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,KAAO,EAAA,QAAA;AAAA,UACP,QAAU,EAAA,kBAAA;AAAA,UACV,SAAW,EAAA,aAAA;AAAA,SAAA;AAAA,OAEf,EAAA,CAAA;AAAA,MACC,OAAA,oBAAY,GAAA,CAAA,SAAA,EAAA,EAAW,QAAQ,EAAA,OAAA,EAAA,CAAA;AAAA,0BAC/B,MAAO,EAAA,EAAA,OAAA,EAAS,cAAgB,EAAA,QAAA,EAAU,kBAAkB,QAE7D,EAAA,UAAA,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,uBAAuB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
@@ -0,0 +1,230 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { ROUTES } from '../../../constants/routes.js';
3
+ import { usePayContext } from '../../../hooks/usePayContext.js';
4
+ import { PageContent } from '../../Common/Modal/styles.js';
5
+ import { getAddressContraction } from '@daimo/pay-common';
6
+ import { useWallet } from '@solana/wallet-adapter-react';
7
+ import { useAccount, useDisconnect } from 'wagmi';
8
+ import { Ethereum, Solana, Tron, Base } from '../../../assets/chains.js';
9
+ import { MetaMask, Trust, Rainbow, Phantom, Rabby, WalletIcon } from '../../../assets/logos.js';
10
+ import useIsMobile from '../../../hooks/useIsMobile.js';
11
+ import useLocales from '../../../hooks/useLocales.js';
12
+ import { flattenChildren } from '../../../utils/index.js';
13
+ import { walletConfigs } from '../../../wallets/walletConfigs.js';
14
+ import { OptionsList } from '../../Common/OptionsList/index.js';
15
+ import { OrderHeader } from '../../Common/OrderHeader/index.js';
16
+ import PoweredByFooter from '../../Common/PoweredByFooter/index.js';
17
+ import WalletChainLogo from '../../Common/WalletChainLogo/index.js';
18
+
19
+ function SelectMethod() {
20
+ const locales = useLocales();
21
+ const payWithString = flattenChildren(locales.payWith).join("");
22
+ const { isMobile, isIOS, isAndroid } = useIsMobile();
23
+ const {
24
+ address,
25
+ chain,
26
+ isConnected: isEthConnected,
27
+ connector
28
+ } = useAccount();
29
+ const {
30
+ connected: isSolanaConnected,
31
+ wallet: solanaWallet,
32
+ disconnect: disconnectSolana,
33
+ publicKey
34
+ } = useWallet();
35
+ const { setRoute, paymentState, log, disableMobileInjector } = usePayContext();
36
+ const { showSolanaPaymentMethod } = paymentState;
37
+ const { disconnectAsync } = useDisconnect();
38
+ const { externalPaymentOptions, senderEnsName } = paymentState;
39
+ const showConnectedEth = isEthConnected && (!isMobile || !disableMobileInjector);
40
+ const showConnectedSolana = isSolanaConnected && (!isMobile || !disableMobileInjector);
41
+ const getConnectedWalletOptions = () => {
42
+ const showChainLogo = isEthConnected && isSolanaConnected && showSolanaPaymentMethod;
43
+ const connectedOptions = [];
44
+ if (showConnectedEth) {
45
+ const ethWalletDisplayName = senderEnsName ?? (address ? getAddressContraction(address) : "wallet");
46
+ let walletIcon;
47
+ const matchedConfig = Object.values(walletConfigs).find((cfg) => {
48
+ if (!cfg.name || !connector?.name) return false;
49
+ const cfgName = cfg.name.toLowerCase();
50
+ const connName = connector.name.toLowerCase();
51
+ return cfgName.includes(connName) || connName.includes(cfgName);
52
+ });
53
+ if (matchedConfig?.icon) {
54
+ walletIcon = typeof matchedConfig.icon === "string" ? /* @__PURE__ */ jsx("img", { src: matchedConfig.icon, alt: matchedConfig.name }) : matchedConfig.icon;
55
+ } else if (connector?.icon) {
56
+ walletIcon = /* @__PURE__ */ jsx("div", { style: { borderRadius: "22.5%", overflow: "hidden" }, children: /* @__PURE__ */ jsx("img", { src: connector.icon, alt: connector.name }) });
57
+ } else {
58
+ walletIcon = /* @__PURE__ */ jsx(WalletIcon, {});
59
+ }
60
+ const connectedEthWalletOption = {
61
+ id: "connectedWallet",
62
+ title: `${payWithString} ${ethWalletDisplayName}`,
63
+ icons: [
64
+ /* @__PURE__ */ jsx(
65
+ WalletChainLogo,
66
+ {
67
+ walletIcon,
68
+ walletName: connector?.name || "Wallet",
69
+ chainLogo: showChainLogo ? /* @__PURE__ */ jsx(Ethereum, {}) : null
70
+ },
71
+ "eth"
72
+ )
73
+ ],
74
+ onClick: () => {
75
+ paymentState.setTokenMode("evm");
76
+ setRoute(ROUTES.SELECT_TOKEN, {
77
+ event: "click-wallet",
78
+ walletId: connector?.id,
79
+ chainId: chain?.id,
80
+ address
81
+ });
82
+ }
83
+ };
84
+ connectedOptions.push(connectedEthWalletOption);
85
+ }
86
+ if (showConnectedSolana && showSolanaPaymentMethod) {
87
+ const solWalletDisplayName = getAddressContraction(
88
+ publicKey?.toBase58() ?? ""
89
+ );
90
+ let solWalletIcon;
91
+ const solMatchedConfig = Object.values(walletConfigs).find((cfg) => {
92
+ if (!cfg.name) return false;
93
+ const cfgName = cfg.name.toLowerCase();
94
+ const solName = solanaWallet?.adapter.name.toLowerCase() || "";
95
+ return cfgName.includes(solName) || solName.includes(cfgName);
96
+ });
97
+ if (solMatchedConfig?.icon) {
98
+ solWalletIcon = typeof solMatchedConfig.icon === "string" ? /* @__PURE__ */ jsx("img", { src: solMatchedConfig.icon, alt: solMatchedConfig.name }) : solMatchedConfig.icon;
99
+ } else if (solanaWallet?.adapter.icon) {
100
+ solWalletIcon = solanaWallet.adapter.icon;
101
+ } else {
102
+ solWalletIcon = /* @__PURE__ */ jsx(Solana, {});
103
+ }
104
+ const connectedSolWalletOption = {
105
+ id: "connectedSolanaWallet",
106
+ title: `${payWithString} ${solWalletDisplayName}`,
107
+ icons: [
108
+ /* @__PURE__ */ jsx(
109
+ WalletChainLogo,
110
+ {
111
+ walletIcon: solWalletIcon,
112
+ walletName: solanaWallet?.adapter.name || "Wallet",
113
+ chainLogo: showChainLogo && /* @__PURE__ */ jsx(Solana, {})
114
+ },
115
+ "sol-wallet"
116
+ )
117
+ ],
118
+ onClick: () => {
119
+ paymentState.setTokenMode("solana");
120
+ setRoute(ROUTES.SELECT_TOKEN, {
121
+ event: "click-wallet",
122
+ walletId: solanaWallet?.adapter.name,
123
+ chainId: "solana",
124
+ address: publicKey?.toBase58()
125
+ });
126
+ }
127
+ };
128
+ connectedOptions.push(connectedSolWalletOption);
129
+ }
130
+ return connectedOptions;
131
+ };
132
+ const connectedWalletOptions = getConnectedWalletOptions();
133
+ const unconnectedWalletOption = {
134
+ id: "unconnectedWallet",
135
+ title: isEthConnected || isSolanaConnected ? locales.payWithAnotherWallet : locales.payWithWallet,
136
+ icons: getBestUnconnectedWalletIcons(connector, isMobile),
137
+ onClick: async () => {
138
+ await disconnectAsync();
139
+ await disconnectSolana();
140
+ setRoute(ROUTES.CONNECTORS);
141
+ }
142
+ };
143
+ const options = [];
144
+ options.push(...connectedWalletOptions);
145
+ options.push(unconnectedWalletOption);
146
+ log(
147
+ `[SELECT_METHOD] loading: ${externalPaymentOptions.loading}, options: ${JSON.stringify(
148
+ externalPaymentOptions.options
149
+ )}`
150
+ );
151
+ const exchangeOptions = externalPaymentOptions.options.get("exchange") ?? [];
152
+ const showExchangePaymentMethod = exchangeOptions.length > 0;
153
+ if (showExchangePaymentMethod) {
154
+ options.push({
155
+ id: "exchange",
156
+ title: locales.payWithExchange,
157
+ icons: exchangeOptions.slice(0, 3).map((option) => option.logoURI),
158
+ onClick: () => {
159
+ setRoute(ROUTES.SELECT_EXCHANGE, {
160
+ event: "click-option",
161
+ option: "exchange"
162
+ });
163
+ }
164
+ });
165
+ }
166
+ const depositAddressOption = getDepositAddressOption(setRoute, locales);
167
+ options.push(depositAddressOption);
168
+ const zkp2pOptions = externalPaymentOptions.options.get("zkp2p") ?? [];
169
+ const showZkp2pPaymentMethod = !isMobile && zkp2pOptions.length > 0;
170
+ if (showZkp2pPaymentMethod) {
171
+ options.push({
172
+ id: "ZKP2P",
173
+ title: locales.payViaPaymentApp,
174
+ icons: zkp2pOptions.slice(0, 2).map((option) => option.logoURI),
175
+ onClick: () => {
176
+ setRoute(ROUTES.SELECT_ZKP2P);
177
+ }
178
+ });
179
+ }
180
+ options.sort((a, b) => (a.disabled ? 1 : 0) - (b.disabled ? 1 : 0));
181
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
182
+ /* @__PURE__ */ jsx(OrderHeader, {}),
183
+ /* @__PURE__ */ jsx(
184
+ OptionsList,
185
+ {
186
+ requiredSkeletons: isMobile ? 3 : 4,
187
+ isLoading: externalPaymentOptions.loading,
188
+ options: externalPaymentOptions.loading ? [] : options
189
+ }
190
+ ),
191
+ /* @__PURE__ */ jsx(PoweredByFooter, {})
192
+ ] });
193
+ }
194
+ function getBestUnconnectedWalletIcons(connector, isMobile) {
195
+ const icons = [];
196
+ const strippedId = connector?.id.toLowerCase();
197
+ const [isRainbow, isPhantom, isRabby, isMetaMask] = [
198
+ strippedId?.includes("rainbow"),
199
+ strippedId?.includes("trust"),
200
+ strippedId?.includes("phantom"),
201
+ strippedId?.includes("coinbase"),
202
+ strippedId?.includes("metamask"),
203
+ strippedId?.includes("rabby"),
204
+ strippedId?.includes("metamask")
205
+ ];
206
+ if (isMobile) {
207
+ icons.push(/* @__PURE__ */ jsx(MetaMask, {}));
208
+ icons.push(/* @__PURE__ */ jsx(Trust, { background: true }));
209
+ icons.push(/* @__PURE__ */ jsx(Rainbow, {}));
210
+ } else {
211
+ if (!isMetaMask) icons.push(/* @__PURE__ */ jsx(MetaMask, {}));
212
+ if (!isRainbow) icons.push(/* @__PURE__ */ jsx(Rainbow, {}));
213
+ if (!isPhantom) icons.push(/* @__PURE__ */ jsx(Phantom, {}));
214
+ if (!isRabby && icons.length < 3) icons.push(/* @__PURE__ */ jsx(Rabby, {}));
215
+ }
216
+ return icons;
217
+ }
218
+ function getDepositAddressOption(setRoute, locales) {
219
+ return {
220
+ id: "depositAddress",
221
+ title: locales.payToAddress,
222
+ icons: [/* @__PURE__ */ jsx(Ethereum, {}, "eth"), /* @__PURE__ */ jsx(Tron, {}, "tron"), /* @__PURE__ */ jsx(Base, {}, "base")],
223
+ onClick: () => {
224
+ setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN);
225
+ }
226
+ };
227
+ }
228
+
229
+ export { SelectMethod as default };
230
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectMethod/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport { PageContent } from \"../../Common/Modal/styles\";\n\nimport { getAddressContraction } from \"@daimo/pay-common\";\nimport { useWallet } from \"@solana/wallet-adapter-react\";\nimport { Connector, useAccount, useDisconnect } from \"wagmi\";\nimport { Base, Ethereum, Solana, Tron } from \"../../../assets/chains\";\nimport {\n MetaMask,\n Phantom,\n Rabby,\n Rainbow,\n Trust,\n WalletIcon,\n} from \"../../../assets/logos\";\nimport useIsMobile from \"../../../hooks/useIsMobile\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { flattenChildren } from \"../../../utils\";\nimport { walletConfigs } from \"../../../wallets/walletConfigs\";\nimport { Option, OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\nimport PoweredByFooter from \"../../Common/PoweredByFooter\";\nimport WalletChainLogo from \"../../Common/WalletChainLogo\";\n\nexport default function SelectMethod() {\n const locales = useLocales();\n const payWithString = flattenChildren(locales.payWith).join(\"\");\n const { isMobile, isIOS, isAndroid } = useIsMobile();\n\n const {\n address,\n chain,\n isConnected: isEthConnected,\n connector,\n } = useAccount();\n const {\n connected: isSolanaConnected,\n wallet: solanaWallet,\n disconnect: disconnectSolana,\n publicKey,\n } = useWallet();\n const { setRoute, paymentState, log, disableMobileInjector } =\n usePayContext();\n const { showSolanaPaymentMethod } = paymentState;\n const { disconnectAsync } = useDisconnect();\n\n const { externalPaymentOptions, senderEnsName } = paymentState;\n\n // Decide whether to show the connected eth account, solana account, or both.\n // Desktop: Always show connected wallets when available\n // Mobile: Only show connected wallets when mobile injector is enabled (!disableMobileInjector)\n const showConnectedEth =\n isEthConnected && (!isMobile || !disableMobileInjector);\n const showConnectedSolana =\n isSolanaConnected && (!isMobile || !disableMobileInjector);\n\n const getConnectedWalletOptions = () => {\n const showChainLogo =\n isEthConnected && isSolanaConnected && showSolanaPaymentMethod;\n\n const connectedOptions: Option[] = [];\n\n if (showConnectedEth) {\n const ethWalletDisplayName =\n senderEnsName ?? (address ? getAddressContraction(address) : \"wallet\");\n\n // Prefer icon from walletConfigs if there's a name match, otherwise fall back\n // to the connector-provided icon, and finally to the generic WalletIcon.\n let walletIcon: JSX.Element;\n\n const matchedConfig = Object.values(walletConfigs).find((cfg) => {\n if (!cfg.name || !connector?.name) return false;\n const cfgName = cfg.name.toLowerCase();\n const connName = connector.name.toLowerCase();\n return cfgName.includes(connName) || connName.includes(cfgName);\n });\n\n if (matchedConfig?.icon) {\n walletIcon =\n typeof matchedConfig.icon === \"string\" ? (\n <img src={matchedConfig.icon} alt={matchedConfig.name} />\n ) : (\n (matchedConfig.icon as JSX.Element)\n );\n } else if (connector?.icon) {\n walletIcon = (\n <div style={{ borderRadius: \"22.5%\", overflow: \"hidden\" }}>\n <img src={connector.icon} alt={connector.name} />\n </div>\n );\n } else {\n walletIcon = <WalletIcon />;\n }\n\n const connectedEthWalletOption = {\n id: \"connectedWallet\",\n title: `${payWithString} ${ethWalletDisplayName}`,\n icons: [\n <WalletChainLogo\n key=\"eth\"\n walletIcon={walletIcon}\n walletName={connector?.name || \"Wallet\"}\n chainLogo={showChainLogo ? <Ethereum /> : null}\n />,\n ],\n onClick: () => {\n paymentState.setTokenMode(\"evm\");\n setRoute(ROUTES.SELECT_TOKEN, {\n event: \"click-wallet\",\n walletId: connector?.id,\n chainId: chain?.id,\n address: address,\n });\n },\n };\n connectedOptions.push(connectedEthWalletOption);\n }\n\n if (showConnectedSolana && showSolanaPaymentMethod) {\n const solWalletDisplayName = getAddressContraction(\n publicKey?.toBase58() ?? \"\",\n );\n\n // Prefer icon from walletConfigs if available\n let solWalletIcon: React.ReactNode;\n const solMatchedConfig = Object.values(walletConfigs).find((cfg) => {\n if (!cfg.name) return false;\n const cfgName = cfg.name.toLowerCase();\n const solName = solanaWallet?.adapter.name.toLowerCase() || \"\";\n return cfgName.includes(solName) || solName.includes(cfgName);\n });\n\n if (solMatchedConfig?.icon) {\n solWalletIcon =\n typeof solMatchedConfig.icon === \"string\" ? (\n <img src={solMatchedConfig.icon} alt={solMatchedConfig.name} />\n ) : (\n (solMatchedConfig.icon as JSX.Element)\n );\n } else if (solanaWallet?.adapter.icon) {\n solWalletIcon = solanaWallet.adapter.icon;\n } else {\n solWalletIcon = <Solana />;\n }\n\n const connectedSolWalletOption = {\n id: \"connectedSolanaWallet\",\n title: `${payWithString} ${solWalletDisplayName}`,\n icons: [\n <WalletChainLogo\n key=\"sol-wallet\"\n walletIcon={solWalletIcon}\n walletName={solanaWallet?.adapter.name || \"Wallet\"}\n chainLogo={showChainLogo && <Solana />}\n />,\n ],\n onClick: () => {\n paymentState.setTokenMode(\"solana\");\n setRoute(ROUTES.SELECT_TOKEN, {\n event: \"click-wallet\",\n walletId: solanaWallet?.adapter.name,\n chainId: \"solana\",\n address: publicKey?.toBase58(),\n });\n },\n };\n\n connectedOptions.push(connectedSolWalletOption);\n }\n\n return connectedOptions;\n };\n\n const connectedWalletOptions = getConnectedWalletOptions();\n const unconnectedWalletOption = {\n id: \"unconnectedWallet\",\n title:\n isEthConnected || isSolanaConnected\n ? locales.payWithAnotherWallet\n : locales.payWithWallet,\n icons: getBestUnconnectedWalletIcons(connector, isMobile),\n onClick: async () => {\n await disconnectAsync();\n await disconnectSolana();\n setRoute(ROUTES.CONNECTORS);\n },\n };\n\n const options: {\n id: string;\n title: string;\n subtitle?: string;\n icons: (React.ReactNode | string)[];\n onClick: () => void;\n disabled?: boolean;\n }[] = [];\n options.push(...connectedWalletOptions);\n options.push(unconnectedWalletOption);\n\n log(\n `[SELECT_METHOD] loading: ${externalPaymentOptions.loading}, options: ${JSON.stringify(\n externalPaymentOptions.options,\n )}`,\n );\n\n // Pay with Exchange\n const exchangeOptions = externalPaymentOptions.options.get(\"exchange\") ?? [];\n\n const showExchangePaymentMethod = exchangeOptions.length > 0;\n if (showExchangePaymentMethod) {\n options.push({\n id: \"exchange\",\n title: locales.payWithExchange,\n icons: exchangeOptions.slice(0, 3).map((option) => option.logoURI),\n onClick: () => {\n setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"click-option\",\n option: \"exchange\",\n });\n },\n });\n }\n\n const depositAddressOption = getDepositAddressOption(setRoute, locales);\n options.push(depositAddressOption);\n\n // ZKP2P is currently only available on desktop. Check if the user is on\n // desktop and if any ZKP2P options are available.\n const zkp2pOptions = externalPaymentOptions.options.get(\"zkp2p\") ?? [];\n const showZkp2pPaymentMethod = !isMobile && zkp2pOptions.length > 0;\n if (showZkp2pPaymentMethod) {\n options.push({\n id: \"ZKP2P\",\n title: locales.payViaPaymentApp,\n icons: zkp2pOptions.slice(0, 2).map((option) => option.logoURI),\n onClick: () => {\n setRoute(ROUTES.SELECT_ZKP2P);\n },\n });\n }\n\n // Order disabled to bottom\n options.sort((a, b) => (a.disabled ? 1 : 0) - (b.disabled ? 1 : 0));\n\n return (\n <PageContent>\n <OrderHeader />\n\n <OptionsList\n requiredSkeletons={isMobile ? 3 : 4}\n isLoading={externalPaymentOptions.loading}\n options={externalPaymentOptions.loading ? [] : options}\n />\n <PoweredByFooter />\n </PageContent>\n );\n}\n\n// Get 3 icons, skipping the one that is already connected\nfunction getBestUnconnectedWalletIcons(\n connector: Connector | undefined,\n isMobile: boolean,\n) {\n const icons: JSX.Element[] = [];\n const strippedId = connector?.id.toLowerCase(); // some connector ids can have weird casing and or suffixes and prefixes\n const [isRainbow, isPhantom, isRabby, isMetaMask] = [\n strippedId?.includes(\"rainbow\"),\n strippedId?.includes(\"trust\"),\n strippedId?.includes(\"phantom\"),\n strippedId?.includes(\"coinbase\"),\n strippedId?.includes(\"metamask\"),\n strippedId?.includes(\"rabby\"),\n strippedId?.includes(\"metamask\"),\n ];\n\n if (isMobile) {\n icons.push(<MetaMask />);\n icons.push(<Trust background />);\n icons.push(<Rainbow />);\n } else {\n if (!isMetaMask) icons.push(<MetaMask />);\n if (!isRainbow) icons.push(<Rainbow />);\n if (!isPhantom) icons.push(<Phantom />);\n if (!isRabby && icons.length < 3) icons.push(<Rabby />);\n }\n\n return icons;\n}\n\nfunction getDepositAddressOption(\n setRoute: (route: ROUTES, data?: Record<string, any>) => void,\n locales: ReturnType<typeof useLocales>,\n) {\n return {\n id: \"depositAddress\",\n title: locales.payToAddress,\n icons: [<Ethereum key=\"eth\" />, <Tron key=\"tron\" />, <Base key=\"base\" />],\n onClick: () => {\n setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN);\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useWallet } from '@solana/wallet-adapter-react';
3
+ import { useAccount, injected } from 'wagmi';
4
+ import { Solana, Ethereum } from '../../../assets/chains.js';
5
+ import defaultTheme from '../../../constants/defaultTheme.js';
6
+ import { useConnect } from '../../../hooks/useConnect.js';
7
+ import useIsMobile from '../../../hooks/useIsMobile.js';
8
+ import useLocales from '../../../hooks/useLocales.js';
9
+ import { usePayContext } from '../../../hooks/usePayContext.js';
10
+ import { useTokenOptions } from '../../../hooks/useTokenOptions.js';
11
+ import { PageContent, ModalContent, ModalH1 } from '../../Common/Modal/styles.js';
12
+ import { OptionsList } from '../../Common/OptionsList/index.js';
13
+ import { OrderHeader } from '../../Common/OrderHeader/index.js';
14
+ import SelectAnotherMethodButton from '../../Common/SelectAnotherMethodButton/index.js';
15
+
16
+ function SelectToken() {
17
+ const { isMobile } = useIsMobile();
18
+ const isMobileFormat = isMobile || window?.innerWidth < defaultTheme.mobileWidth;
19
+ const { paymentState } = usePayContext();
20
+ const { tokenMode } = paymentState;
21
+ const { optionsList, isLoading } = useTokenOptions(tokenMode);
22
+ const { isConnected: isEvmConnected } = useAccount();
23
+ const solanaWallets = useWallet();
24
+ const isSolConnected = solanaWallets.connected;
25
+ const isConnected = isEvmConnected || isSolConnected;
26
+ const isAnotherMethodButtonVisible = optionsList.length > 0 && tokenMode !== "all";
27
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
28
+ /* @__PURE__ */ jsx(OrderHeader, { minified: true, show: tokenMode }),
29
+ /* @__PURE__ */ jsx(
30
+ OptionsList,
31
+ {
32
+ requiredSkeletons: 4,
33
+ isLoading,
34
+ options: optionsList,
35
+ scrollHeight: isAnotherMethodButtonVisible && isMobileFormat ? 225 : 300,
36
+ orDivider: isAnotherMethodButtonVisible,
37
+ hideBottomLine: !isAnotherMethodButtonVisible
38
+ }
39
+ ),
40
+ !isLoading && isConnected && optionsList.length === 0 && /* @__PURE__ */ jsx(InsufficientBalance, {}),
41
+ !isLoading && !isConnected && tokenMode === "all" && /* @__PURE__ */ jsx(ConnectButton, {}),
42
+ isAnotherMethodButtonVisible && /* @__PURE__ */ jsx(SelectAnotherMethodButton, {})
43
+ ] });
44
+ }
45
+ function InsufficientBalance() {
46
+ const locales = useLocales();
47
+ return /* @__PURE__ */ jsxs(
48
+ ModalContent,
49
+ {
50
+ style: {
51
+ display: "flex",
52
+ alignItems: "center",
53
+ justifyContent: "center",
54
+ paddingTop: 16,
55
+ paddingBottom: 16
56
+ },
57
+ children: [
58
+ /* @__PURE__ */ jsx(ModalH1, { children: locales.insufficientBalance }),
59
+ /* @__PURE__ */ jsx(SelectAnotherMethodButton, {})
60
+ ]
61
+ }
62
+ );
63
+ }
64
+ function ConnectButton() {
65
+ const locales = useLocales();
66
+ const { connect } = useConnect();
67
+ const solanaWallets = useWallet();
68
+ const filteredWallets = solanaWallets.wallets.filter(
69
+ (w) => w.adapter.name !== "Mobile Wallet Adapter"
70
+ );
71
+ const hasSolanaWallet = filteredWallets.length > 0;
72
+ const icons = [/* @__PURE__ */ jsx(Ethereum, {}, "ethereum")];
73
+ if (hasSolanaWallet) {
74
+ icons.push(/* @__PURE__ */ jsx(Solana, {}, "solana"));
75
+ }
76
+ const onClick = () => {
77
+ connect({
78
+ connector: injected()
79
+ });
80
+ if (hasSolanaWallet) {
81
+ if (solanaWallets.wallet == null) {
82
+ solanaWallets.select(solanaWallets.wallets[0].adapter.name);
83
+ }
84
+ solanaWallets.connect();
85
+ }
86
+ };
87
+ const connectOption = {
88
+ id: "connect-wallet",
89
+ title: locales.connectWallet,
90
+ icons,
91
+ onClick
92
+ };
93
+ return /* @__PURE__ */ jsx(OptionsList, { options: [connectOption] });
94
+ }
95
+
96
+ export { SelectToken as default };
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectToken/index.tsx"],"sourcesContent":["import { useWallet } from \"@solana/wallet-adapter-react\";\nimport { injected, useAccount } from \"wagmi\";\nimport { Ethereum, Solana } from \"../../../assets/chains\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport { useConnect } from \"../../../hooks/useConnect\";\nimport useIsMobile from \"../../../hooks/useIsMobile\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport { useTokenOptions } from \"../../../hooks/useTokenOptions\";\nimport { ModalContent, ModalH1, PageContent } from \"../../Common/Modal/styles\";\nimport { OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\nimport SelectAnotherMethodButton from \"../../Common/SelectAnotherMethodButton\";\n\nexport default function SelectToken() {\n const { isMobile } = useIsMobile();\n const isMobileFormat =\n isMobile || window?.innerWidth < defaultTheme.mobileWidth;\n\n const { paymentState } = usePayContext();\n const { tokenMode } = paymentState;\n const { optionsList, isLoading } = useTokenOptions(tokenMode);\n const { isConnected: isEvmConnected } = useAccount();\n\n const solanaWallets = useWallet();\n const isSolConnected = solanaWallets.connected;\n const isConnected = isEvmConnected || isSolConnected;\n\n const isAnotherMethodButtonVisible =\n optionsList.length > 0 && tokenMode !== \"all\";\n return (\n <PageContent>\n <OrderHeader minified show={tokenMode} />\n <OptionsList\n requiredSkeletons={4}\n isLoading={isLoading}\n options={optionsList}\n scrollHeight={\n isAnotherMethodButtonVisible && isMobileFormat ? 225 : 300\n }\n orDivider={isAnotherMethodButtonVisible}\n hideBottomLine={!isAnotherMethodButtonVisible}\n />\n {!isLoading && isConnected && optionsList.length === 0 && (\n <InsufficientBalance />\n )}\n {!isLoading && !isConnected && tokenMode === \"all\" && <ConnectButton />}\n {isAnotherMethodButtonVisible && <SelectAnotherMethodButton />}\n </PageContent>\n );\n}\n\nfunction InsufficientBalance() {\n const locales = useLocales();\n return (\n <ModalContent\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n paddingTop: 16,\n paddingBottom: 16,\n }}\n >\n <ModalH1>{locales.insufficientBalance}</ModalH1>\n <SelectAnotherMethodButton />\n </ModalContent>\n );\n}\n\nfunction ConnectButton() {\n const locales = useLocales();\n const { connect } = useConnect();\n const solanaWallets = useWallet();\n // On Android, filter out the Android Intent deeplink fake wallet.\n const filteredWallets = solanaWallets.wallets.filter(\n (w) => w.adapter.name !== \"Mobile Wallet Adapter\",\n );\n const hasSolanaWallet = filteredWallets.length > 0;\n\n const icons = [<Ethereum key=\"ethereum\" />];\n if (hasSolanaWallet) {\n icons.push(<Solana key=\"solana\" />);\n }\n\n const onClick = () => {\n connect({\n connector: injected(),\n });\n if (hasSolanaWallet) {\n if (solanaWallets.wallet == null) {\n solanaWallets.select(solanaWallets.wallets[0].adapter.name);\n }\n solanaWallets.connect();\n }\n };\n\n const connectOption = {\n id: \"connect-wallet\",\n title: locales.connectWallet,\n icons,\n onClick,\n };\n\n return <OptionsList options={[connectOption]} />;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useState } from 'react';
3
+ import { ROUTES } from '../../../constants/routes.js';
4
+ import { usePayContext } from '../../../hooks/usePayContext.js';
5
+ import { PageContent, ModalContent } from '../../Common/Modal/styles.js';
6
+ import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
7
+ import useIsMobile from '../../../hooks/useIsMobile.js';
8
+ import styled from '../../../styles/styled/index.js';
9
+ import { USD_DECIMALS } from '../../../utils/format.js';
10
+ import { isValidNumber, sanitizeNumber } from '../../../utils/validateInput.js';
11
+ import { WALLET_ID_MOBILE_WALLETS } from '../../../wallets/useWallets.js';
12
+ import AmountInputField from '../../Common/AmountInput/AmountInputField.js';
13
+ import Button from '../../Common/Button/index.js';
14
+ import WalletPaymentSpinner from '../../Spinners/WalletPaymentSpinner/index.js';
15
+
16
+ const SelectWalletAmount = () => {
17
+ const { paymentState, setPendingConnectorId, setRoute } = usePayContext();
18
+ const { selectedWallet, openInWalletBrowser } = paymentState;
19
+ const { setChosenUsd, hydrateOrder } = useDaimoPay();
20
+ const { isMobile } = useIsMobile();
21
+ const maxUsdLimit = paymentState.getOrderUsdLimit();
22
+ const [usdInput, setUsdInput] = useState("");
23
+ const [continueDisabled, setContinueDisabled] = useState(true);
24
+ if (selectedWallet == null) {
25
+ return /* @__PURE__ */ jsx(PageContent, {});
26
+ }
27
+ const handleAmountChange = (e) => {
28
+ const value = e.target.value;
29
+ if (value !== "" && !isValidNumber(value, USD_DECIMALS)) return;
30
+ setUsdInput(value);
31
+ const usd = Number(sanitizeNumber(value));
32
+ setContinueDisabled(usd <= 0 || usd > maxUsdLimit);
33
+ };
34
+ const handleContinue = async () => {
35
+ const amountUsd = Number(sanitizeNumber(usdInput));
36
+ setChosenUsd(amountUsd);
37
+ await hydrateOrder();
38
+ if (selectedWallet.id === WALLET_ID_MOBILE_WALLETS || selectedWallet.id === "world" && !isMobile) {
39
+ setPendingConnectorId(selectedWallet.id);
40
+ setRoute(ROUTES.CONNECT);
41
+ } else {
42
+ openInWalletBrowser(selectedWallet, amountUsd);
43
+ }
44
+ };
45
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
46
+ /* @__PURE__ */ jsx(
47
+ WalletPaymentSpinner,
48
+ {
49
+ logo: selectedWallet.icon,
50
+ logoShape: selectedWallet.iconShape === "square" ? "squircle" : selectedWallet.iconShape || "squircle"
51
+ }
52
+ ),
53
+ /* @__PURE__ */ jsxs(ModalContent, { $preserveDisplay: true, children: [
54
+ /* @__PURE__ */ jsx(AmountInputContainer, { children: /* @__PURE__ */ jsx(AmountInputField, { value: usdInput, onChange: handleAmountChange }) }),
55
+ /* @__PURE__ */ jsx(Button, { onClick: handleContinue, disabled: continueDisabled, children: "Continue" })
56
+ ] })
57
+ ] });
58
+ };
59
+ const AmountInputContainer = styled.div`
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: center;
63
+ `;
64
+
65
+ export { SelectWalletAmount as default };
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectWalletAmount/index.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport { ModalContent, PageContent } from \"../../Common/Modal/styles\";\n\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport useIsMobile from \"../../../hooks/useIsMobile\";\nimport styled from \"../../../styles/styled\";\nimport { USD_DECIMALS } from \"../../../utils/format\";\nimport { isValidNumber, sanitizeNumber } from \"../../../utils/validateInput\";\nimport { WALLET_ID_MOBILE_WALLETS } from \"../../../wallets/useWallets\";\nimport AmountInputField from \"../../Common/AmountInput/AmountInputField\";\nimport Button from \"../../Common/Button\";\nimport WalletPaymentSpinner from \"../../Spinners/WalletPaymentSpinner\";\n\nconst SelectWalletAmount: React.FC = () => {\n const { paymentState, setPendingConnectorId, setRoute } = usePayContext();\n const { selectedWallet, openInWalletBrowser } = paymentState;\n const { setChosenUsd, hydrateOrder } = useDaimoPay();\n const { isMobile } = useIsMobile();\n const maxUsdLimit = paymentState.getOrderUsdLimit();\n\n const [usdInput, setUsdInput] = useState<string>(\"\");\n const [continueDisabled, setContinueDisabled] = useState(true);\n\n if (selectedWallet == null) {\n return <PageContent></PageContent>;\n }\n\n const handleAmountChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n if (value !== \"\" && !isValidNumber(value, USD_DECIMALS)) return;\n setUsdInput(value);\n\n const usd = Number(sanitizeNumber(value));\n setContinueDisabled(usd <= 0 || usd > maxUsdLimit);\n };\n\n const handleContinue = async () => {\n const amountUsd = Number(sanitizeNumber(usdInput));\n setChosenUsd(amountUsd);\n await hydrateOrder();\n if (\n selectedWallet.id === WALLET_ID_MOBILE_WALLETS ||\n (selectedWallet.id === \"world\" && !isMobile)\n ) {\n setPendingConnectorId(selectedWallet.id);\n setRoute(ROUTES.CONNECT);\n } else {\n openInWalletBrowser(selectedWallet, amountUsd);\n }\n };\n\n return (\n <PageContent>\n <WalletPaymentSpinner\n logo={selectedWallet.icon}\n logoShape={\n selectedWallet.iconShape === \"square\"\n ? \"squircle\"\n : selectedWallet.iconShape || \"squircle\"\n }\n />\n <ModalContent $preserveDisplay={true}>\n <AmountInputContainer>\n <AmountInputField value={usdInput} onChange={handleAmountChange} />\n </AmountInputContainer>\n <Button onClick={handleContinue} disabled={continueDisabled}>\n Continue\n </Button>\n </ModalContent>\n </PageContent>\n );\n};\n\nconst AmountInputContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport default SelectWalletAmount;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAM,qBAA+B,MAAM;AACzC,EAAA,MAAM,EAAE,YAAA,EAAc,qBAAuB,EAAA,QAAA,KAAa,aAAc,EAAA,CAAA;AACxE,EAAM,MAAA,EAAE,cAAgB,EAAA,mBAAA,EAAwB,GAAA,YAAA,CAAA;AAChD,EAAA,MAAM,EAAE,YAAA,EAAc,YAAa,EAAA,GAAI,WAAY,EAAA,CAAA;AACnD,EAAM,MAAA,EAAE,QAAS,EAAA,GAAI,WAAY,EAAA,CAAA;AACjC,EAAM,MAAA,WAAA,GAAc,aAAa,gBAAiB,EAAA,CAAA;AAElD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAiB,EAAE,CAAA,CAAA;AACnD,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAE7D,EAAA,IAAI,kBAAkB,IAAM,EAAA;AAC1B,IAAA,2BAAQ,WAAY,EAAA,EAAA,CAAA,CAAA;AAAA,GACtB;AAEA,EAAM,MAAA,kBAAA,GAAqB,CAAC,CAA2C,KAAA;AACrE,IAAM,MAAA,KAAA,GAAQ,EAAE,MAAO,CAAA,KAAA,CAAA;AACvB,IAAA,IAAI,UAAU,EAAM,IAAA,CAAC,aAAc,CAAA,KAAA,EAAO,YAAY,CAAG,EAAA,OAAA;AACzD,IAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAEjB,IAAA,MAAM,GAAM,GAAA,MAAA,CAAO,cAAe,CAAA,KAAK,CAAC,CAAA,CAAA;AACxC,IAAoB,mBAAA,CAAA,GAAA,IAAO,CAAK,IAAA,GAAA,GAAM,WAAW,CAAA,CAAA;AAAA,GACnD,CAAA;AAEA,EAAA,MAAM,iBAAiB,YAAY;AACjC,IAAA,MAAM,SAAY,GAAA,MAAA,CAAO,cAAe,CAAA,QAAQ,CAAC,CAAA,CAAA;AACjD,IAAA,YAAA,CAAa,SAAS,CAAA,CAAA;AACtB,IAAA,MAAM,YAAa,EAAA,CAAA;AACnB,IAAA,IACE,eAAe,EAAO,KAAA,wBAAA,IACrB,eAAe,EAAO,KAAA,OAAA,IAAW,CAAC,QACnC,EAAA;AACA,MAAA,qBAAA,CAAsB,eAAe,EAAE,CAAA,CAAA;AACvC,MAAA,QAAA,CAAS,OAAO,OAAO,CAAA,CAAA;AAAA,KAClB,MAAA;AACL,MAAA,mBAAA,CAAoB,gBAAgB,SAAS,CAAA,CAAA;AAAA,KAC/C;AAAA,GACF,CAAA;AAEA,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,MAAM,cAAe,CAAA,IAAA;AAAA,QACrB,WACE,cAAe,CAAA,SAAA,KAAc,QACzB,GAAA,UAAA,GACA,eAAe,SAAa,IAAA,UAAA;AAAA,OAAA;AAAA,KAEpC;AAAA,oBACA,IAAA,CAAC,YAAa,EAAA,EAAA,gBAAA,EAAkB,IAC9B,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,wBACC,QAAC,kBAAA,GAAA,CAAA,gBAAA,EAAA,EAAiB,OAAO,QAAU,EAAA,QAAA,EAAU,oBAAoB,CACnE,EAAA,CAAA;AAAA,0BACC,MAAO,EAAA,EAAA,OAAA,EAAS,cAAgB,EAAA,QAAA,EAAU,kBAAkB,QAE7D,EAAA,UAAA,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,uBAAuB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}