@daimo/pay 1.18.2 → 1.19.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 (432) 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/index.d.ts +23 -28
  364. package/build/package.json.js +2 -2
  365. package/build/pay-common/src/chain.js +9 -0
  366. package/build/pay-common/src/chain.js.map +1 -0
  367. package/build/src/assets/chains.js +18 -52
  368. package/build/src/assets/chains.js.map +1 -1
  369. package/build/src/assets/coins.js +43 -0
  370. package/build/src/assets/coins.js.map +1 -0
  371. package/build/src/assets/logos.js +76 -2
  372. package/build/src/assets/logos.js.map +1 -1
  373. package/build/src/components/Common/ConnectorList/index.js +21 -20
  374. package/build/src/components/Common/ConnectorList/index.js.map +1 -1
  375. package/build/src/components/Common/CopyToClipboard/index.js +33 -0
  376. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
  377. package/build/src/components/Common/Modal/index.js +31 -8
  378. package/build/src/components/Common/Modal/index.js.map +1 -1
  379. package/build/src/components/Common/SelectAnotherMethodButton/index.js +4 -4
  380. package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
  381. package/build/src/components/DaimoPayButton/index.js +1 -2
  382. package/build/src/components/DaimoPayButton/index.js.map +1 -1
  383. package/build/src/components/DaimoPayModal/ConnectUsing.js +8 -6
  384. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
  385. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +13 -9
  386. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
  387. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +17 -23
  388. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  389. package/build/src/components/DaimoPayModal/index.js +120 -41
  390. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  391. package/build/src/components/Pages/Connectors/index.js +0 -2
  392. package/build/src/components/Pages/Connectors/index.js.map +1 -1
  393. package/build/src/components/Pages/MobileConnectors/index.js +62 -17
  394. package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
  395. package/build/src/components/Pages/SelectDepositAddressChain/index.js +9 -2
  396. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  397. package/build/src/components/Pages/SelectExchange/index.js +3 -2
  398. package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
  399. package/build/src/components/Pages/SelectMethod/index.js +106 -25
  400. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  401. package/build/src/components/Pages/SelectWalletAmount/index.js +11 -6
  402. package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
  403. package/build/src/components/Pages/WaitingExternal/index.js +88 -3
  404. package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
  405. package/build/src/constants/limits.js +4 -0
  406. package/build/src/constants/limits.js.map +1 -0
  407. package/build/src/constants/paymentOptions.js +61 -0
  408. package/build/src/constants/paymentOptions.js.map +1 -0
  409. package/build/src/constants/routes.js +0 -1
  410. package/build/src/constants/routes.js.map +1 -1
  411. package/build/src/constants/wallets.js +7 -0
  412. package/build/src/constants/wallets.js.map +1 -0
  413. package/build/src/hooks/useExternalPaymentOptions.js +19 -4
  414. package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
  415. package/build/src/hooks/usePaymentState.js +41 -6
  416. package/build/src/hooks/usePaymentState.js.map +1 -1
  417. package/build/src/localizations/locales/en-US.js +4 -1
  418. package/build/src/localizations/locales/en-US.js.map +1 -1
  419. package/build/src/localizations/locales/es-ES.js +4 -1
  420. package/build/src/localizations/locales/es-ES.js.map +1 -1
  421. package/build/src/localizations/locales/pt-BR.js +4 -1
  422. package/build/src/localizations/locales/pt-BR.js.map +1 -1
  423. package/build/src/payment/paymentFsm.js.map +1 -1
  424. package/build/src/wallets/useWallets.js +81 -8
  425. package/build/src/wallets/useWallets.js.map +1 -1
  426. package/build/src/wallets/walletConfigs.js +65 -76
  427. package/build/src/wallets/walletConfigs.js.map +1 -1
  428. package/build/src/world.js +1 -0
  429. package/build/src/world.js.map +1 -1
  430. package/build/types-20835014.d.ts +68 -0
  431. package/build/world.d.ts +8 -1
  432. package/package.json +2 -2
@@ -0,0 +1,229 @@
1
+ import { motion } from 'framer-motion';
2
+ import { keyframes } from 'styled-components';
3
+ import defaultTheme from '../../../constants/defaultTheme.js';
4
+ import styled from '../../../styles/styled/index.js';
5
+
6
+ const Graphic = styled(motion.div)`
7
+ position: relative;
8
+ margin: 16px auto 20px;
9
+ height: 190px;
10
+ max-width: 295px;
11
+ pointer-events: none;
12
+ user-select: none;
13
+ @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
14
+ height: 200px;
15
+ max-width: 100%;
16
+ margin-bottom: 32px;
17
+ }
18
+ `;
19
+ const LogoGroup = styled(motion.div)`
20
+ position: absolute;
21
+ inset: 0;
22
+ z-index: 2;
23
+ `;
24
+ const graphicIn = keyframes`
25
+ 0%{
26
+ opacity:0;
27
+ transform:scale(0.9);
28
+ }
29
+ 100%{
30
+ opacity:1;
31
+ transform:none;
32
+ }
33
+ `;
34
+ const GraphicBackground = styled(motion.div)`
35
+ z-index: 1;
36
+ position: absolute;
37
+ inset: 0;
38
+ top: -2px;
39
+ overflow: hidden;
40
+ &:before {
41
+ content: "";
42
+ position: absolute;
43
+ inset: 0;
44
+ background: var(--ck-body-background);
45
+ background: radial-gradient(
46
+ closest-side,
47
+ var(--ck-body-background-transparent, transparent) 18.75%,
48
+ var(--ck-body-background) 100%
49
+ );
50
+ background-size: 100%;
51
+ }
52
+ svg {
53
+ display: block;
54
+ width: 100%;
55
+ height: auto;
56
+ }
57
+ animation: ${graphicIn} 1000ms 100ms ease both;
58
+ // @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
59
+ // animation: none;
60
+ // }
61
+ `;
62
+ const logoIn = keyframes`
63
+ 0%{
64
+ opacity:0;
65
+ transform:scale(0) translateY(40%);
66
+ }
67
+ 100%{
68
+ opacity:1;
69
+ transform:none;
70
+ }
71
+ `;
72
+ const LogoPosition = styled(motion.div)`
73
+ position: absolute;
74
+ inset: 0;
75
+ animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;
76
+ animation-delay: inherit;
77
+ `;
78
+ const LogoInner = styled(motion.div)`
79
+ position: absolute;
80
+ `;
81
+ const LogoGraphic = styled(motion.div)`
82
+ position: relative;
83
+ overflow: hidden;
84
+ height: 58px;
85
+ width: 58px;
86
+ border-radius: 13.84px;
87
+ box-shadow:
88
+ 0 0 0 1px rgba(0, 0, 0, 0.05),
89
+ 0 2px 20px 0 rgba(0, 0, 0, 0.03);
90
+
91
+ svg {
92
+ display: block;
93
+ width: 100%;
94
+ height: 100%;
95
+ }
96
+ `;
97
+ const float = keyframes`
98
+ 0%,100%{ transform:none; }
99
+ 50%{ transform: translateY(-10%) }
100
+ `;
101
+ const FloatWrapper = styled(motion.div)`
102
+ position: relative;
103
+ animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;
104
+ animation-name: ${float};
105
+ animation-duration: 3600ms;
106
+ `;
107
+ const rotate = keyframes`
108
+ 0%,100%{ transform:rotate(-3deg); }
109
+ 50%{ transform:rotate(3deg); }
110
+ `;
111
+ const RotateWrapper = styled(motion.div)`
112
+ position: relative;
113
+ animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;
114
+ animation-name: ${rotate};
115
+ animation-duration: 3200ms;
116
+ `;
117
+ const Logo = styled(motion.div)`
118
+ position: absolute;
119
+ inset: 0;
120
+
121
+ animation: ${logoIn} 750ms cubic-bezier(0.19, 1, 0.22, 1) both;
122
+ &:nth-child(1) {
123
+ z-index: 2;
124
+ animation-delay: 0ms;
125
+ }
126
+ &:nth-child(2) {
127
+ z-index: 1;
128
+ animation-delay: 60ms;
129
+ }
130
+ &:nth-child(3) {
131
+ z-index: 1;
132
+ animation-delay: 30ms;
133
+ }
134
+ &:nth-child(4) {
135
+ z-index: 1;
136
+ animation-delay: 90ms;
137
+ }
138
+ &:nth-child(5) {
139
+ z-index: 1;
140
+ animation-delay: 120ms;
141
+ }
142
+
143
+ &:nth-child(1) {
144
+ ${RotateWrapper} {
145
+ animation-delay: 0ms;
146
+ }
147
+ }
148
+ &:nth-child(2) {
149
+ ${RotateWrapper} {
150
+ animation-delay: -600ms;
151
+ }
152
+ }
153
+ &:nth-child(3) {
154
+ ${RotateWrapper} {
155
+ animation-delay: -1200ms;
156
+ }
157
+ }
158
+ &:nth-child(4) {
159
+ ${RotateWrapper} {
160
+ animation-delay: -1800ms;
161
+ }
162
+ }
163
+ &:nth-child(5) {
164
+ ${RotateWrapper} {
165
+ animation-delay: -2400ms;
166
+ }
167
+ }
168
+
169
+ &:nth-child(1) {
170
+ ${FloatWrapper} {
171
+ animation-delay: -200ms;
172
+ }
173
+ }
174
+ &:nth-child(2) {
175
+ ${FloatWrapper} {
176
+ animation-delay: -600ms;
177
+ }
178
+ }
179
+ &:nth-child(3) {
180
+ ${FloatWrapper} {
181
+ animation-delay: -800ms;
182
+ }
183
+ }
184
+ &:nth-child(4) {
185
+ ${FloatWrapper} {
186
+ animation-delay: -300ms;
187
+ }
188
+ }
189
+ &:nth-child(5) {
190
+ ${FloatWrapper} {
191
+ animation-delay: -3200ms;
192
+ }
193
+ }
194
+
195
+ // @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
196
+ // animation: none !important;
197
+ // ${RotateWrapper},${FloatWrapper} {
198
+ // animation: none !important;
199
+ // }
200
+ }
201
+
202
+ ${LogoInner} {
203
+ transform: translate(-50%, -50%);
204
+ }
205
+
206
+ &:nth-child(1) ${LogoPosition} {
207
+ transform: translate(50%, 50%);
208
+ ${LogoGraphic} {
209
+ border-radius: 17.2px;
210
+ width: 72px;
211
+ height: 72px;
212
+ }
213
+ }
214
+ &:nth-child(2) ${LogoPosition} {
215
+ transform: translate(21%, 21.5%);
216
+ }
217
+ &:nth-child(3) ${LogoPosition} {
218
+ transform: translate(78%, 14%);
219
+ }
220
+ &:nth-child(4) ${LogoPosition} {
221
+ transform: translate(22.5%, 76%);
222
+ }
223
+ &:nth-child(5) ${LogoPosition} {
224
+ transform: translate(76%, 80%);
225
+ }
226
+ `;
227
+
228
+ export { FloatWrapper, Graphic, GraphicBackground, Logo, LogoGraphic, LogoGroup, LogoInner, LogoPosition, RotateWrapper };
229
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../src/components/Pages/Onboarding/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { keyframes } from \"styled-components\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport styled from \"./../../../styles/styled\";\n\nexport const Graphic = styled(motion.div)`\n position: relative;\n margin: 16px auto 20px;\n height: 190px;\n max-width: 295px;\n pointer-events: none;\n user-select: none;\n @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n height: 200px;\n max-width: 100%;\n margin-bottom: 32px;\n }\n`;\nexport const LogoGroup = styled(motion.div)`\n position: absolute;\n inset: 0;\n z-index: 2;\n`;\nconst graphicIn = keyframes`\n 0%{\n opacity:0;\n transform:scale(0.9);\n }\n 100%{\n opacity:1;\n transform:none;\n }\n`;\nexport const GraphicBackground = styled(motion.div)`\n z-index: 1;\n position: absolute;\n inset: 0;\n top: -2px;\n overflow: hidden;\n &:before {\n content: \"\";\n position: absolute;\n inset: 0;\n background: var(--ck-body-background);\n background: radial-gradient(\n closest-side,\n var(--ck-body-background-transparent, transparent) 18.75%,\n var(--ck-body-background) 100%\n );\n background-size: 100%;\n }\n svg {\n display: block;\n width: 100%;\n height: auto;\n }\n animation: ${graphicIn} 1000ms 100ms ease both;\n // @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n // animation: none;\n // }\n`;\n\nconst logoIn = keyframes`\n 0%{\n opacity:0;\n transform:scale(0) translateY(40%);\n }\n 100%{\n opacity:1;\n transform:none;\n }\n`;\nexport const LogoPosition = styled(motion.div)`\n position: absolute;\n inset: 0;\n animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;\n animation-delay: inherit;\n`;\nexport const LogoInner = styled(motion.div)`\n position: absolute;\n`;\nexport const LogoGraphic = styled(motion.div)`\n position: relative;\n overflow: hidden;\n height: 58px;\n width: 58px;\n border-radius: 13.84px;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.05),\n 0 2px 20px 0 rgba(0, 0, 0, 0.03);\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\nconst float = keyframes`\n 0%,100%{ transform:none; }\n 50%{ transform: translateY(-10%) }\n`;\nexport const FloatWrapper = styled(motion.div)`\n position: relative;\n animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;\n animation-name: ${float};\n animation-duration: 3600ms;\n`;\nconst rotate = keyframes`\n 0%,100%{ transform:rotate(-3deg); }\n 50%{ transform:rotate(3deg); }\n`;\nexport const RotateWrapper = styled(motion.div)`\n position: relative;\n animation: cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both;\n animation-name: ${rotate};\n animation-duration: 3200ms;\n`;\nexport const Logo = styled(motion.div)`\n position: absolute;\n inset: 0;\n\n animation: ${logoIn} 750ms cubic-bezier(0.19, 1, 0.22, 1) both;\n &:nth-child(1) {\n z-index: 2;\n animation-delay: 0ms;\n }\n &:nth-child(2) {\n z-index: 1;\n animation-delay: 60ms;\n }\n &:nth-child(3) {\n z-index: 1;\n animation-delay: 30ms;\n }\n &:nth-child(4) {\n z-index: 1;\n animation-delay: 90ms;\n }\n &:nth-child(5) {\n z-index: 1;\n animation-delay: 120ms;\n }\n\n &:nth-child(1) {\n ${RotateWrapper} {\n animation-delay: 0ms;\n }\n }\n &:nth-child(2) {\n ${RotateWrapper} {\n animation-delay: -600ms;\n }\n }\n &:nth-child(3) {\n ${RotateWrapper} {\n animation-delay: -1200ms;\n }\n }\n &:nth-child(4) {\n ${RotateWrapper} {\n animation-delay: -1800ms;\n }\n }\n &:nth-child(5) {\n ${RotateWrapper} {\n animation-delay: -2400ms;\n }\n }\n\n &:nth-child(1) {\n ${FloatWrapper} {\n animation-delay: -200ms;\n }\n }\n &:nth-child(2) {\n ${FloatWrapper} {\n animation-delay: -600ms;\n }\n }\n &:nth-child(3) {\n ${FloatWrapper} {\n animation-delay: -800ms;\n }\n }\n &:nth-child(4) {\n ${FloatWrapper} {\n animation-delay: -300ms;\n }\n }\n &:nth-child(5) {\n ${FloatWrapper} {\n animation-delay: -3200ms;\n }\n }\n\n // @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n // animation: none !important;\n // ${RotateWrapper},${FloatWrapper} {\n // animation: none !important;\n // }\n }\n\n ${LogoInner} {\n transform: translate(-50%, -50%);\n }\n\n &:nth-child(1) ${LogoPosition} {\n transform: translate(50%, 50%);\n ${LogoGraphic} {\n border-radius: 17.2px;\n width: 72px;\n height: 72px;\n }\n }\n &:nth-child(2) ${LogoPosition} {\n transform: translate(21%, 21.5%);\n }\n &:nth-child(3) ${LogoPosition} {\n transform: translate(78%, 14%);\n }\n &:nth-child(4) ${LogoPosition} {\n transform: translate(22.5%, 76%);\n }\n &:nth-child(5) ${LogoPosition} {\n transform: translate(76%, 80%);\n }\n`;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { getChainExplorerTxUrl } from '@daimo/pay-common';
3
+ import { useState, useEffect } from 'react';
4
+ import { useChainId, useSwitchChain } from 'wagmi';
5
+ import { ROUTES } from '../../../constants/routes.js';
6
+ import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
7
+ import useLocales from '../../../hooks/useLocales.js';
8
+ import { usePayContext } from '../../../hooks/usePayContext.js';
9
+ import { getSupportUrl } from '../../../utils/supportUrl.js';
10
+ import Button from '../../Common/Button/index.js';
11
+ import { PageContent, ModalContent, ModalH1, Link } from '../../Common/Modal/styles.js';
12
+ import PaymentBreakdown from '../../Common/PaymentBreakdown/index.js';
13
+ import TokenLogoSpinner from '../../Spinners/TokenLogoSpinner/index.js';
14
+
15
+ const PayWithToken = () => {
16
+ const { triggerResize, paymentState, setRoute, log, trpc } = usePayContext();
17
+ const { payWithToken, selectedTokenOption } = paymentState;
18
+ const { order } = useDaimoPay();
19
+ const [payState, setPayStateInner] = useState(
20
+ "Waiting For Payment" /* RequestingPayment */
21
+ );
22
+ const setPayState = (state) => {
23
+ setPayStateInner(state);
24
+ log(`[PAY TOKEN] payState: ${state}`);
25
+ trpc.nav.mutate({
26
+ action: "pay-with-token-state",
27
+ data: { state }
28
+ });
29
+ };
30
+ const [txURL, setTxURL] = useState();
31
+ const locales = useLocales();
32
+ const walletChainId = useChainId();
33
+ const { switchChainAsync } = useSwitchChain();
34
+ const trySwitchingChain = async (option, forceSwitch = false) => {
35
+ if (walletChainId !== option.required.token.chainId || forceSwitch) {
36
+ const resultChain = await (async () => {
37
+ try {
38
+ return await switchChainAsync({
39
+ chainId: option.required.token.chainId
40
+ });
41
+ } catch (e) {
42
+ console.error("Failed to switch chain", e);
43
+ return null;
44
+ }
45
+ })();
46
+ if (resultChain?.id !== option.required.token.chainId) {
47
+ return false;
48
+ }
49
+ }
50
+ return true;
51
+ };
52
+ const handleTransfer = async (option) => {
53
+ setPayState("Switching Chain" /* SwitchingChain */);
54
+ const switchChain = await trySwitchingChain(option);
55
+ if (!switchChain) {
56
+ console.error("Switching chain failed");
57
+ setPayState("Payment Cancelled" /* RequestCancelled */);
58
+ return;
59
+ }
60
+ setPayState("Waiting For Payment" /* RequestingPayment */);
61
+ try {
62
+ const result = await payWithToken(option);
63
+ if (!result.txHash) {
64
+ return;
65
+ }
66
+ setTxURL(
67
+ getChainExplorerTxUrl(option.required.token.chainId, result.txHash)
68
+ );
69
+ if (result.success) {
70
+ setPayState("Payment Successful" /* RequestSuccessful */);
71
+ setTimeout(() => {
72
+ setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-token" });
73
+ }, 200);
74
+ } else {
75
+ setPayState("Payment Failed" /* RequestFailed */);
76
+ }
77
+ } catch (e) {
78
+ if (e?.name === "ConnectorChainMismatchError") {
79
+ log("Chain mismatch detected, attempting to switch and retry");
80
+ const switchSuccessful = await trySwitchingChain(option, true);
81
+ if (switchSuccessful) {
82
+ setPayState("Waiting For Payment" /* RequestingPayment */);
83
+ try {
84
+ const retryResult = await payWithToken(option);
85
+ if (!retryResult.txHash) {
86
+ return;
87
+ }
88
+ setTxURL(
89
+ getChainExplorerTxUrl(
90
+ option.required.token.chainId,
91
+ retryResult.txHash
92
+ )
93
+ );
94
+ if (retryResult.success) {
95
+ setPayState("Payment Successful" /* RequestSuccessful */);
96
+ setTimeout(() => {
97
+ setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-token" });
98
+ }, 200);
99
+ } else {
100
+ setPayState("Payment Failed" /* RequestFailed */);
101
+ }
102
+ return;
103
+ } catch (retryError) {
104
+ console.error(
105
+ "Failed to pay with token after switching chain",
106
+ retryError
107
+ );
108
+ throw retryError;
109
+ }
110
+ }
111
+ }
112
+ setPayState("Payment Cancelled" /* RequestCancelled */);
113
+ console.error("Failed to pay with token", e);
114
+ }
115
+ };
116
+ useEffect(() => {
117
+ if (!selectedTokenOption) return;
118
+ const transferTimeout = setTimeout(() => {
119
+ handleTransfer(selectedTokenOption);
120
+ }, 100);
121
+ return () => {
122
+ clearTimeout(transferTimeout);
123
+ };
124
+ }, [selectedTokenOption]);
125
+ useEffect(() => {
126
+ triggerResize();
127
+ }, [payState]);
128
+ if (selectedTokenOption == null) {
129
+ return /* @__PURE__ */ jsx(PageContent, {});
130
+ }
131
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
132
+ /* @__PURE__ */ jsx(TokenLogoSpinner, { token: selectedTokenOption.required.token }),
133
+ /* @__PURE__ */ jsxs(ModalContent, { style: { paddingBottom: 0 }, $preserveDisplay: true, children: [
134
+ txURL ? /* @__PURE__ */ jsx(ModalH1, { children: /* @__PURE__ */ jsx(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", children: payState }) }) : /* @__PURE__ */ jsx(ModalH1, { children: payState }),
135
+ /* @__PURE__ */ jsx(PaymentBreakdown, { paymentOption: selectedTokenOption }),
136
+ payState === "Payment Cancelled" /* RequestCancelled */ && /* @__PURE__ */ jsx(Button, { onClick: () => handleTransfer(selectedTokenOption), children: locales.retryPayment }),
137
+ payState === "Payment Failed" /* RequestFailed */ && /* @__PURE__ */ jsx(
138
+ Button,
139
+ {
140
+ onClick: () => {
141
+ window.open(
142
+ getSupportUrl(
143
+ order?.id?.toString() ?? "",
144
+ `Pay with token${txURL ? ` ${txURL}` : ""}`
145
+ ),
146
+ "_blank"
147
+ );
148
+ },
149
+ children: locales.contactSupport
150
+ }
151
+ )
152
+ ] })
153
+ ] });
154
+ };
155
+
156
+ export { PayWithToken as default };
157
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/PayWithToken/index.tsx"],"sourcesContent":["import { getChainExplorerTxUrl, WalletPaymentOption } from \"@daimo/pay-common\";\nimport React, { useEffect, useState } from \"react\";\nimport { useChainId, useSwitchChain } from \"wagmi\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport { getSupportUrl } from \"../../../utils/supportUrl\";\nimport { TrpcClient } from \"../../../utils/trpc\";\nimport Button from \"../../Common/Button\";\nimport {\n Link,\n ModalContent,\n ModalH1,\n PageContent,\n} from \"../../Common/Modal/styles\";\nimport PaymentBreakdown from \"../../Common/PaymentBreakdown\";\nimport TokenLogoSpinner from \"../../Spinners/TokenLogoSpinner\";\n\nenum PayState {\n RequestingPayment = \"Waiting For Payment\",\n SwitchingChain = \"Switching Chain\",\n RequestCancelled = \"Payment Cancelled\",\n RequestSuccessful = \"Payment Successful\",\n RequestFailed = \"Payment Failed\",\n}\n\nconst PayWithToken: React.FC = () => {\n const { triggerResize, paymentState, setRoute, log, trpc } = usePayContext();\n const { payWithToken, selectedTokenOption } = paymentState;\n const { order } = useDaimoPay();\n const [payState, setPayStateInner] = useState<PayState>(\n PayState.RequestingPayment,\n );\n const setPayState = (state: PayState) => {\n setPayStateInner(state);\n log(`[PAY TOKEN] payState: ${state}`);\n (trpc as TrpcClient).nav.mutate({\n action: \"pay-with-token-state\",\n data: { state },\n });\n };\n const [txURL, setTxURL] = useState<string | undefined>();\n const locales = useLocales();\n const walletChainId = useChainId();\n const { switchChainAsync } = useSwitchChain();\n\n const trySwitchingChain = async (\n option: WalletPaymentOption,\n forceSwitch: boolean = false,\n ): Promise<boolean> => {\n if (walletChainId !== option.required.token.chainId || forceSwitch) {\n const resultChain = await (async () => {\n try {\n return await switchChainAsync({\n chainId: option.required.token.chainId,\n });\n } catch (e) {\n console.error(\"Failed to switch chain\", e);\n return null;\n }\n })();\n\n if (resultChain?.id !== option.required.token.chainId) {\n return false;\n }\n }\n\n return true;\n };\n\n const handleTransfer = async (option: WalletPaymentOption) => {\n // Switch chain if necessary\n setPayState(PayState.SwitchingChain);\n const switchChain = await trySwitchingChain(option);\n\n if (!switchChain) {\n console.error(\"Switching chain failed\");\n setPayState(PayState.RequestCancelled);\n return;\n }\n\n setPayState(PayState.RequestingPayment);\n try {\n const result = await payWithToken(option);\n if (!result.txHash) {\n // Transaction not submitted yet. Do nothing, just keep polling.\n return;\n }\n setTxURL(\n getChainExplorerTxUrl(option.required.token.chainId, result.txHash),\n );\n if (result.success) {\n setPayState(PayState.RequestSuccessful);\n setTimeout(() => {\n setRoute(ROUTES.CONFIRMATION, { event: \"wait-pay-with-token\" });\n }, 200);\n } else {\n setPayState(PayState.RequestFailed);\n }\n } catch (e: any) {\n if (e?.name === \"ConnectorChainMismatchError\") {\n // Workaround for Rainbow wallet bug -- user is able to switch chain\n // without the wallet updating the chain ID for wagmi.\n log(\"Chain mismatch detected, attempting to switch and retry\");\n const switchSuccessful = await trySwitchingChain(option, true);\n if (switchSuccessful) {\n setPayState(PayState.RequestingPayment);\n try {\n const retryResult = await payWithToken(option);\n if (!retryResult.txHash) {\n // Transaction not submitted yet. Do nothing, just keep polling.\n return;\n }\n setTxURL(\n getChainExplorerTxUrl(\n option.required.token.chainId,\n retryResult.txHash,\n ),\n );\n if (retryResult.success) {\n setPayState(PayState.RequestSuccessful);\n setTimeout(() => {\n setRoute(ROUTES.CONFIRMATION, { event: \"wait-pay-with-token\" });\n }, 200);\n } else {\n setPayState(PayState.RequestFailed);\n }\n return; // Payment handled after switching chain\n } catch (retryError) {\n console.error(\n \"Failed to pay with token after switching chain\",\n retryError,\n );\n throw retryError;\n }\n }\n }\n setPayState(PayState.RequestCancelled);\n console.error(\"Failed to pay with token\", e);\n }\n };\n\n useEffect(() => {\n if (!selectedTokenOption) return;\n\n const transferTimeout = setTimeout(() => {\n handleTransfer(selectedTokenOption);\n }, 100);\n return () => {\n clearTimeout(transferTimeout);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedTokenOption]);\n\n useEffect(() => {\n triggerResize();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [payState]);\n\n if (selectedTokenOption == null) {\n return <PageContent></PageContent>;\n }\n\n return (\n <PageContent>\n <TokenLogoSpinner token={selectedTokenOption.required.token} />\n <ModalContent style={{ paddingBottom: 0 }} $preserveDisplay={true}>\n {txURL ? (\n <ModalH1>\n <Link href={txURL} target=\"_blank\" rel=\"noopener noreferrer\">\n {payState}\n </Link>\n </ModalH1>\n ) : (\n <ModalH1>{payState}</ModalH1>\n )}\n <PaymentBreakdown paymentOption={selectedTokenOption} />\n {payState === PayState.RequestCancelled && (\n <Button onClick={() => handleTransfer(selectedTokenOption)}>\n {locales.retryPayment}\n </Button>\n )}\n {payState === PayState.RequestFailed && (\n <Button\n onClick={() => {\n window.open(\n getSupportUrl(\n order?.id?.toString() ?? \"\",\n `Pay with token${txURL ? ` ${txURL}` : \"\"}`,\n ),\n \"_blank\",\n );\n }}\n >\n {locales.contactSupport}\n </Button>\n )}\n </ModalContent>\n </PageContent>\n );\n};\n\nexport default PayWithToken;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import MultiCurrencySelectAmount from '../../Common/AmountInput/index.js';
3
+ import { PageContent } from '../../Common/Modal/styles.js';
4
+ import { ROUTES } from '../../../constants/routes.js';
5
+ import { usePayContext } from '../../../hooks/usePayContext.js';
6
+
7
+ const SelectAmount = () => {
8
+ const { paymentState } = usePayContext();
9
+ const { selectedTokenOption, setSelectedTokenOption } = paymentState;
10
+ if (selectedTokenOption == null) {
11
+ return /* @__PURE__ */ jsx(PageContent, {});
12
+ }
13
+ return /* @__PURE__ */ jsx(
14
+ MultiCurrencySelectAmount,
15
+ {
16
+ selectedTokenOption,
17
+ setSelectedTokenOption,
18
+ nextPage: ROUTES.PAY_WITH_TOKEN
19
+ }
20
+ );
21
+ };
22
+
23
+ export { SelectAmount as default };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectAmount/index.tsx"],"sourcesContent":["import React from \"react\";\nimport MultiCurrencySelectAmount from \"../../Common/AmountInput\";\nimport { PageContent } from \"../../Common/Modal/styles\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nconst SelectAmount: React.FC = () => {\n const { paymentState } = usePayContext();\n const { selectedTokenOption, setSelectedTokenOption } = paymentState;\n\n if (selectedTokenOption == null) {\n return <PageContent></PageContent>;\n }\n\n return (\n <MultiCurrencySelectAmount\n selectedTokenOption={selectedTokenOption}\n setSelectedTokenOption={setSelectedTokenOption}\n nextPage={ROUTES.PAY_WITH_TOKEN}\n />\n );\n};\n\nexport default SelectAmount;\n"],"names":[],"mappings":";;;;;;AAMA,MAAM,eAAyB,MAAM;AACnC,EAAM,MAAA,EAAE,YAAa,EAAA,GAAI,aAAc,EAAA,CAAA;AACvC,EAAM,MAAA,EAAE,mBAAqB,EAAA,sBAAA,EAA2B,GAAA,YAAA,CAAA;AAExD,EAAA,IAAI,uBAAuB,IAAM,EAAA;AAC/B,IAAA,2BAAQ,WAAY,EAAA,EAAA,CAAA,CAAA;AAAA,GACtB;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,mBAAA;AAAA,MACA,sBAAA;AAAA,MACA,UAAU,MAAO,CAAA,cAAA;AAAA,KAAA;AAAA,GACnB,CAAA;AAEJ;;;;"}
@@ -0,0 +1,79 @@
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 SelectDepositAddressAmount = () => {
14
+ const { paymentState, setRoute, triggerResize } = usePayContext();
15
+ const { selectedDepositAddressOption } = paymentState;
16
+ const maxUsdLimit = paymentState.getOrderUsdLimit();
17
+ const minUsd = selectedDepositAddressOption?.minimumUsd ?? 0;
18
+ const minimumMessage = minUsd > 0 ? `Minimum ${formatUsd(minUsd, "up")}` : null;
19
+ const [usdInput, setUsdInput] = useState("");
20
+ const [message, setMessage] = useState(minimumMessage);
21
+ const [continueDisabled, setContinueDisabled] = useState(true);
22
+ useEffect(() => {
23
+ triggerResize();
24
+ }, [message]);
25
+ if (selectedDepositAddressOption == null) {
26
+ return /* @__PURE__ */ jsx(PageContent, {});
27
+ }
28
+ const handleAmountChange = (e) => {
29
+ const value = e.target.value;
30
+ if (value !== "" && !isValidNumber(value, USD_DECIMALS)) return;
31
+ setUsdInput(value);
32
+ const usd = Number(sanitizeNumber(value));
33
+ if (usd > maxUsdLimit) {
34
+ setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);
35
+ } else {
36
+ setMessage(minimumMessage);
37
+ }
38
+ setContinueDisabled(usd <= 0 || usd > maxUsdLimit || usd < minUsd);
39
+ };
40
+ const handleKeyDown = (e) => {
41
+ if (e.key === "Enter" && !continueDisabled) {
42
+ handleContinue();
43
+ }
44
+ };
45
+ const handleContinue = () => {
46
+ const amountUsd = Number(sanitizeNumber(usdInput));
47
+ paymentState.setChosenUsd(amountUsd);
48
+ setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, { amountUsd });
49
+ };
50
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
51
+ /* @__PURE__ */ jsx(
52
+ ExternalPaymentSpinner,
53
+ {
54
+ logoURI: selectedDepositAddressOption.logoURI,
55
+ logoShape: "circle"
56
+ }
57
+ ),
58
+ /* @__PURE__ */ jsxs(ModalContent, { $preserveDisplay: true, children: [
59
+ /* @__PURE__ */ jsx(AmountInputContainer, { children: /* @__PURE__ */ jsx(
60
+ AmountInputField,
61
+ {
62
+ value: usdInput,
63
+ onChange: handleAmountChange,
64
+ onKeyDown: handleKeyDown
65
+ }
66
+ ) }),
67
+ message && /* @__PURE__ */ jsx(ModalBody, { children: message }),
68
+ /* @__PURE__ */ jsx(Button, { onClick: handleContinue, disabled: continueDisabled, children: "Continue" })
69
+ ] })
70
+ ] });
71
+ };
72
+ const AmountInputContainer = styled.div`
73
+ display: flex;
74
+ align-items: center;
75
+ justify-content: center;
76
+ `;
77
+
78
+ export { SelectDepositAddressAmount as default };
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectDepositAddressAmount/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 SelectDepositAddressAmount: React.FC = () => {\n const { paymentState, setRoute, triggerResize } = usePayContext();\n const { selectedDepositAddressOption } = paymentState;\n\n const maxUsdLimit = paymentState.getOrderUsdLimit();\n const minUsd = selectedDepositAddressOption?.minimumUsd ?? 0;\n const minimumMessage =\n minUsd > 0 ? `Minimum ${formatUsd(minUsd, \"up\")}` : 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 (selectedDepositAddressOption == 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 const usd = Number(sanitizeNumber(value));\n\n if (usd > maxUsdLimit) {\n setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);\n } else {\n setMessage(minimumMessage);\n }\n\n setContinueDisabled(usd <= 0 || usd > maxUsdLimit || usd < minUsd);\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_DEPOSIT_ADDRESS, { amountUsd });\n };\n\n return (\n <PageContent>\n <ExternalPaymentSpinner\n logoURI={selectedDepositAddressOption.logoURI}\n logoShape=\"circle\"\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 SelectDepositAddressAmount;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
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, ModalContent, ModalH1 } from '../../Common/Modal/styles.js';
5
+ import { DaimoPayOrderMode, DepositAddressPaymentOptions } from '@daimo/pay-common';
6
+ import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
7
+ import { OptionsList } from '../../Common/OptionsList/index.js';
8
+ import { OrderHeader } from '../../Common/OrderHeader/index.js';
9
+ import SelectAnotherMethodButton from '../../Common/SelectAnotherMethodButton/index.js';
10
+
11
+ const SelectDepositAddressChain = () => {
12
+ const { setRoute, paymentState } = usePayContext();
13
+ const pay = useDaimoPay();
14
+ const { order } = pay;
15
+ const {
16
+ isDepositFlow,
17
+ setSelectedDepositAddressOption,
18
+ depositAddressOptions,
19
+ untronAvailable
20
+ } = paymentState;
21
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
22
+ /* @__PURE__ */ jsx(OrderHeader, { minified: true }),
23
+ !depositAddressOptions.loading && depositAddressOptions.options?.length === 0 && /* @__PURE__ */ jsxs(
24
+ ModalContent,
25
+ {
26
+ style: {
27
+ display: "flex",
28
+ alignItems: "center",
29
+ justifyContent: "center",
30
+ paddingTop: 16,
31
+ paddingBottom: 16
32
+ },
33
+ children: [
34
+ /* @__PURE__ */ jsx(ModalH1, { children: "Chains unavailable." }),
35
+ /* @__PURE__ */ jsx(SelectAnotherMethodButton, {})
36
+ ]
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsx(
40
+ OptionsList,
41
+ {
42
+ requiredSkeletons: 4,
43
+ isLoading: depositAddressOptions.loading,
44
+ options: (depositAddressOptions.options ?? []).map((option) => {
45
+ const disabled = (
46
+ // Disable if usd below min
47
+ option.minimumUsd > 0 && order?.mode === DaimoPayOrderMode.HYDRATED && order.usdValue < option.minimumUsd || // Disable if TRON_USDT unavailable
48
+ option.id === DepositAddressPaymentOptions.TRON_USDT && untronAvailable === false
49
+ );
50
+ return {
51
+ id: option.id,
52
+ title: option.id,
53
+ icons: [option.logoURI],
54
+ disabled,
55
+ onClick: () => {
56
+ setSelectedDepositAddressOption(option);
57
+ const meta = { event: "click-option", option: option.id };
58
+ if (isDepositFlow) {
59
+ setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, meta);
60
+ } else {
61
+ setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, meta);
62
+ }
63
+ }
64
+ };
65
+ }).sort((a, b) => Number(a.disabled) - Number(b.disabled))
66
+ }
67
+ )
68
+ ] });
69
+ };
70
+
71
+ export { SelectDepositAddressChain as default };
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/SelectDepositAddressChain/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport { ModalContent, ModalH1, PageContent } from \"../../Common/Modal/styles\";\n\nimport {\n DaimoPayOrderMode,\n DepositAddressPaymentOptions,\n} from \"@daimo/pay-common\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport { OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\nimport SelectAnotherMethodButton from \"../../Common/SelectAnotherMethodButton\";\n\nconst SelectDepositAddressChain: React.FC = () => {\n const { setRoute, paymentState } = usePayContext();\n const pay = useDaimoPay();\n const { order } = pay;\n const {\n isDepositFlow,\n setSelectedDepositAddressOption,\n depositAddressOptions,\n untronAvailable,\n } = paymentState;\n\n return (\n <PageContent>\n <OrderHeader minified />\n\n {!depositAddressOptions.loading &&\n depositAddressOptions.options?.length === 0 && (\n <ModalContent\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n paddingTop: 16,\n paddingBottom: 16,\n }}\n >\n <ModalH1>Chains unavailable.</ModalH1>\n <SelectAnotherMethodButton />\n </ModalContent>\n )}\n\n <OptionsList\n requiredSkeletons={4}\n isLoading={depositAddressOptions.loading}\n options={(depositAddressOptions.options ?? [])\n .map((option) => {\n const disabled =\n // Disable if usd below min\n (option.minimumUsd > 0 &&\n order?.mode === DaimoPayOrderMode.HYDRATED &&\n order.usdValue < option.minimumUsd) ||\n // Disable if TRON_USDT unavailable\n (option.id === DepositAddressPaymentOptions.TRON_USDT &&\n untronAvailable === false);\n\n return {\n id: option.id,\n title: option.id,\n icons: [option.logoURI],\n disabled,\n onClick: () => {\n setSelectedDepositAddressOption(option);\n const meta = { event: \"click-option\", option: option.id };\n if (isDepositFlow) {\n setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, meta);\n } else {\n setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, meta);\n }\n },\n };\n })\n // Push disabled options to the bottom of the list\n .sort((a, b) => Number(a.disabled) - Number(b.disabled))}\n />\n </PageContent>\n );\n};\n\nexport default SelectDepositAddressChain;\n"],"names":[],"mappings":";;;;;;;;;;AAeA,MAAM,4BAAsC,MAAM;AAChD,EAAA,MAAM,EAAE,QAAA,EAAU,YAAa,EAAA,GAAI,aAAc,EAAA,CAAA;AACjD,EAAA,MAAM,MAAM,WAAY,EAAA,CAAA;AACxB,EAAM,MAAA,EAAE,OAAU,GAAA,GAAA,CAAA;AAClB,EAAM,MAAA;AAAA,IACJ,aAAA;AAAA,IACA,+BAAA;AAAA,IACA,qBAAA;AAAA,IACA,eAAA;AAAA,GACE,GAAA,YAAA,CAAA;AAEJ,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,UAAQ,IAAC,EAAA,CAAA;AAAA,IAErB,CAAC,qBAAsB,CAAA,OAAA,IACtB,qBAAsB,CAAA,OAAA,EAAS,WAAW,CACxC,oBAAA,IAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA;AAAA,UACL,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,UAAY,EAAA,EAAA;AAAA,UACZ,aAAe,EAAA,EAAA;AAAA,SACjB;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,WAAQ,QAAmB,EAAA,qBAAA,EAAA,CAAA;AAAA,8BAC3B,yBAA0B,EAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAC7B;AAAA,oBAGJ,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,iBAAmB,EAAA,CAAA;AAAA,QACnB,WAAW,qBAAsB,CAAA,OAAA;AAAA,QACjC,UAAU,qBAAsB,CAAA,OAAA,IAAW,EACxC,EAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AACf,UAAM,MAAA,QAAA;AAAA;AAAA,YAEH,MAAA,CAAO,aAAa,CACnB,IAAA,KAAA,EAAO,SAAS,iBAAkB,CAAA,QAAA,IAClC,KAAM,CAAA,QAAA,GAAW,MAAO,CAAA,UAAA;AAAA,YAEzB,MAAO,CAAA,EAAA,KAAO,4BAA6B,CAAA,SAAA,IAC1C,eAAoB,KAAA,KAAA;AAAA,WAAA,CAAA;AAExB,UAAO,OAAA;AAAA,YACL,IAAI,MAAO,CAAA,EAAA;AAAA,YACX,OAAO,MAAO,CAAA,EAAA;AAAA,YACd,KAAA,EAAO,CAAC,MAAA,CAAO,OAAO,CAAA;AAAA,YACtB,QAAA;AAAA,YACA,SAAS,MAAM;AACb,cAAA,+BAAA,CAAgC,MAAM,CAAA,CAAA;AACtC,cAAA,MAAM,OAAO,EAAE,KAAA,EAAO,cAAgB,EAAA,MAAA,EAAQ,OAAO,EAAG,EAAA,CAAA;AACxD,cAAA,IAAI,aAAe,EAAA;AACjB,gBAAS,QAAA,CAAA,MAAA,CAAO,+BAA+B,IAAI,CAAA,CAAA;AAAA,eAC9C,MAAA;AACL,gBAAS,QAAA,CAAA,MAAA,CAAO,yBAAyB,IAAI,CAAA,CAAA;AAAA,eAC/C;AAAA,aACF;AAAA,WACF,CAAA;AAAA,SACD,CAAA,CAEA,IAAK,CAAA,CAAC,CAAG,EAAA,CAAA,KAAM,MAAO,CAAA,CAAA,CAAE,QAAQ,CAAA,GAAI,MAAO,CAAA,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,OAAA;AAAA,KAC3D;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}