@daimo/pay 1.6.1 → 1.6.3

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 (335) hide show
  1. package/README.md +4 -4
  2. package/build/index.d.ts +251 -249
  3. package/build/index.js +12039 -0
  4. package/build/index.js.map +1 -0
  5. package/package.json +6 -5
  6. package/build/package.json.js +0 -101
  7. package/build/package.json.js.map +0 -1
  8. package/build/src/assets/ScanIconWithLogos.js +0 -34
  9. package/build/src/assets/ScanIconWithLogos.js.map +0 -1
  10. package/build/src/assets/browsers.js +0 -13
  11. package/build/src/assets/browsers.js.map +0 -1
  12. package/build/src/assets/chains.js +0 -70
  13. package/build/src/assets/chains.js.map +0 -1
  14. package/build/src/assets/coins.js +0 -6
  15. package/build/src/assets/coins.js.map +0 -1
  16. package/build/src/assets/crepe.js +0 -8
  17. package/build/src/assets/crepe.js.map +0 -1
  18. package/build/src/assets/icons.js +0 -29
  19. package/build/src/assets/icons.js.map +0 -1
  20. package/build/src/assets/logos.js +0 -153
  21. package/build/src/assets/logos.js.map +0 -1
  22. package/build/src/assets/wallet.js +0 -8
  23. package/build/src/assets/wallet.js.map +0 -1
  24. package/build/src/assets/wave.js +0 -6
  25. package/build/src/assets/wave.js.map +0 -1
  26. package/build/src/components/Common/Alert/index.js +0 -10
  27. package/build/src/components/Common/Alert/index.js.map +0 -1
  28. package/build/src/components/Common/Alert/styles.js +0 -55
  29. package/build/src/components/Common/Alert/styles.js.map +0 -1
  30. package/build/src/components/Common/AmountInput/AmountInputField.js +0 -59
  31. package/build/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
  32. package/build/src/components/Common/AmountInput/index.js +0 -147
  33. package/build/src/components/Common/AmountInput/index.js.map +0 -1
  34. package/build/src/components/Common/Avatar/index.js +0 -66
  35. package/build/src/components/Common/Avatar/index.js.map +0 -1
  36. package/build/src/components/Common/Avatar/styles.js +0 -59
  37. package/build/src/components/Common/Avatar/styles.js.map +0 -1
  38. package/build/src/components/Common/BrowserIcon/index.js +0 -28
  39. package/build/src/components/Common/BrowserIcon/index.js.map +0 -1
  40. package/build/src/components/Common/BrowserIcon/styles.js +0 -20
  41. package/build/src/components/Common/BrowserIcon/styles.js.map +0 -1
  42. package/build/src/components/Common/Button/index.js +0 -38
  43. package/build/src/components/Common/Button/index.js.map +0 -1
  44. package/build/src/components/Common/Button/styles.js +0 -291
  45. package/build/src/components/Common/Button/styles.js.map +0 -1
  46. package/build/src/components/Common/Chain/index.js +0 -25
  47. package/build/src/components/Common/Chain/index.js.map +0 -1
  48. package/build/src/components/Common/Chain/styles.js +0 -94
  49. package/build/src/components/Common/Chain/styles.js.map +0 -1
  50. package/build/src/components/Common/ChainSelectList/index.js +0 -107
  51. package/build/src/components/Common/ChainSelectList/index.js.map +0 -1
  52. package/build/src/components/Common/ChainSelectList/styles.js +0 -228
  53. package/build/src/components/Common/ChainSelectList/styles.js.map +0 -1
  54. package/build/src/components/Common/ConnectorList/index.js +0 -71
  55. package/build/src/components/Common/ConnectorList/index.js.map +0 -1
  56. package/build/src/components/Common/ConnectorList/styles.js +0 -314
  57. package/build/src/components/Common/ConnectorList/styles.js.map +0 -1
  58. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -71
  59. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
  60. package/build/src/components/Common/CopyToClipboard/index.js +0 -51
  61. package/build/src/components/Common/CopyToClipboard/index.js.map +0 -1
  62. package/build/src/components/Common/CustomQRCode/QRCode.js +0 -69
  63. package/build/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
  64. package/build/src/components/Common/CustomQRCode/index.js +0 -22
  65. package/build/src/components/Common/CustomQRCode/index.js.map +0 -1
  66. package/build/src/components/Common/CustomQRCode/styles.js +0 -155
  67. package/build/src/components/Common/CustomQRCode/styles.js.map +0 -1
  68. package/build/src/components/Common/FitText/index.js +0 -27
  69. package/build/src/components/Common/FitText/index.js.map +0 -1
  70. package/build/src/components/Common/Modal/index.js +0 -301
  71. package/build/src/components/Common/Modal/index.js.map +0 -1
  72. package/build/src/components/Common/Modal/styles.js +0 -661
  73. package/build/src/components/Common/Modal/styles.js.map +0 -1
  74. package/build/src/components/Common/OptionsList/index.js +0 -106
  75. package/build/src/components/Common/OptionsList/index.js.map +0 -1
  76. package/build/src/components/Common/OptionsList/styles.js +0 -165
  77. package/build/src/components/Common/OptionsList/styles.js.map +0 -1
  78. package/build/src/components/Common/OrderHeader/index.js +0 -128
  79. package/build/src/components/Common/OrderHeader/index.js.map +0 -1
  80. package/build/src/components/Common/PaymentBreakdown/index.js +0 -48
  81. package/build/src/components/Common/PaymentBreakdown/index.js.map +0 -1
  82. package/build/src/components/Common/Portal/index.js +0 -31
  83. package/build/src/components/Common/Portal/index.js.map +0 -1
  84. package/build/src/components/Common/PoweredByFooter/index.js +0 -79
  85. package/build/src/components/Common/PoweredByFooter/index.js.map +0 -1
  86. package/build/src/components/Common/ScrollArea/index.js +0 -62
  87. package/build/src/components/Common/ScrollArea/index.js.map +0 -1
  88. package/build/src/components/Common/ScrollArea/styles.js +0 -168
  89. package/build/src/components/Common/ScrollArea/styles.js.map +0 -1
  90. package/build/src/components/Common/Spinner/index.js +0 -24
  91. package/build/src/components/Common/Spinner/index.js.map +0 -1
  92. package/build/src/components/Common/Spinner/styles.js +0 -22
  93. package/build/src/components/Common/Spinner/styles.js.map +0 -1
  94. package/build/src/components/Common/SwitchButton/index.js +0 -39
  95. package/build/src/components/Common/SwitchButton/index.js.map +0 -1
  96. package/build/src/components/Common/ThemedButton/index.js +0 -25
  97. package/build/src/components/Common/ThemedButton/index.js.map +0 -1
  98. package/build/src/components/Common/ThemedButton/styles.js +0 -152
  99. package/build/src/components/Common/ThemedButton/styles.js.map +0 -1
  100. package/build/src/components/Common/TokenChainLogo/index.js +0 -24
  101. package/build/src/components/Common/TokenChainLogo/index.js.map +0 -1
  102. package/build/src/components/Common/Tooltip/index.js +0 -97
  103. package/build/src/components/Common/Tooltip/index.js.map +0 -1
  104. package/build/src/components/Common/Tooltip/styles.js +0 -81
  105. package/build/src/components/Common/Tooltip/styles.js.map +0 -1
  106. package/build/src/components/Common/WalletChainLogo/index.js +0 -24
  107. package/build/src/components/Common/WalletChainLogo/index.js.map +0 -1
  108. package/build/src/components/DaimoPay.js +0 -280
  109. package/build/src/components/DaimoPay.js.map +0 -1
  110. package/build/src/components/DaimoPayButton/index.js +0 -158
  111. package/build/src/components/DaimoPayButton/index.js.map +0 -1
  112. package/build/src/components/DaimoPayButton/styles.js +0 -50
  113. package/build/src/components/DaimoPayButton/styles.js.map +0 -1
  114. package/build/src/components/DaimoPayModal/ConnectUsing.js +0 -45
  115. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
  116. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -202
  117. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
  118. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -133
  119. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
  120. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -75
  121. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
  122. package/build/src/components/DaimoPayModal/index.js +0 -206
  123. package/build/src/components/DaimoPayModal/index.js.map +0 -1
  124. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -21
  125. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
  126. package/build/src/components/Pages/About/graphics.js +0 -187
  127. package/build/src/components/Pages/About/graphics.js.map +0 -1
  128. package/build/src/components/Pages/About/index.js +0 -131
  129. package/build/src/components/Pages/About/index.js.map +0 -1
  130. package/build/src/components/Pages/About/styles.js +0 -144
  131. package/build/src/components/Pages/About/styles.js.map +0 -1
  132. package/build/src/components/Pages/Confirmation/index.js +0 -105
  133. package/build/src/components/Pages/Confirmation/index.js.map +0 -1
  134. package/build/src/components/Pages/Connectors/index.js +0 -20
  135. package/build/src/components/Pages/Connectors/index.js.map +0 -1
  136. package/build/src/components/Pages/Connectors/styles.js +0 -267
  137. package/build/src/components/Pages/Connectors/styles.js.map +0 -1
  138. package/build/src/components/Pages/DownloadApp/index.js +0 -30
  139. package/build/src/components/Pages/DownloadApp/index.js.map +0 -1
  140. package/build/src/components/Pages/MobileConnectors/index.js +0 -78
  141. package/build/src/components/Pages/MobileConnectors/index.js.map +0 -1
  142. package/build/src/components/Pages/MobileConnectors/styles.js +0 -65
  143. package/build/src/components/Pages/MobileConnectors/styles.js.map +0 -1
  144. package/build/src/components/Pages/Onboarding/index.js +0 -18
  145. package/build/src/components/Pages/Onboarding/index.js.map +0 -1
  146. package/build/src/components/Pages/Onboarding/styles.js +0 -229
  147. package/build/src/components/Pages/Onboarding/styles.js.map +0 -1
  148. package/build/src/components/Pages/PayWithToken/index.js +0 -111
  149. package/build/src/components/Pages/PayWithToken/index.js.map +0 -1
  150. package/build/src/components/Pages/SelectAmount/index.js +0 -16
  151. package/build/src/components/Pages/SelectAmount/index.js.map +0 -1
  152. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +0 -61
  153. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
  154. package/build/src/components/Pages/SelectDepositAddressChain/index.js +0 -38
  155. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
  156. package/build/src/components/Pages/SelectExternalAmount/index.js +0 -63
  157. package/build/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
  158. package/build/src/components/Pages/SelectMethod/index.js +0 -205
  159. package/build/src/components/Pages/SelectMethod/index.js.map +0 -1
  160. package/build/src/components/Pages/SelectToken/index.js +0 -61
  161. package/build/src/components/Pages/SelectToken/index.js.map +0 -1
  162. package/build/src/components/Pages/Solana/ConnectSolana/index.js +0 -80
  163. package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +0 -1
  164. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +0 -55
  165. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
  166. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -62
  167. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
  168. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -16
  169. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
  170. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js +0 -59
  171. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js.map +0 -1
  172. package/build/src/components/Pages/SwitchNetworks/index.js +0 -26
  173. package/build/src/components/Pages/SwitchNetworks/index.js.map +0 -1
  174. package/build/src/components/Pages/WaitingDepositAddress/index.js +0 -51
  175. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
  176. package/build/src/components/Pages/WaitingExternal/index.js +0 -53
  177. package/build/src/components/Pages/WaitingExternal/index.js.map +0 -1
  178. package/build/src/components/Spinners/CircleSpinner/index.js +0 -15
  179. package/build/src/components/Spinners/CircleSpinner/index.js.map +0 -1
  180. package/build/src/components/Spinners/CircleSpinner/styles.js +0 -118
  181. package/build/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
  182. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -20
  183. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
  184. package/build/src/components/Spinners/SquircleSpinner/index.js +0 -15
  185. package/build/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
  186. package/build/src/components/Spinners/SquircleSpinner/styles.js +0 -66
  187. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
  188. package/build/src/components/Spinners/TokenLogoSpinner/index.js +0 -13
  189. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
  190. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
  191. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
  192. package/build/src/components/Spinners/styles.js +0 -33
  193. package/build/src/components/Spinners/styles.js.map +0 -1
  194. package/build/src/components/contexts/solana/index.js +0 -11
  195. package/build/src/components/contexts/solana/index.js.map +0 -1
  196. package/build/src/components/contexts/web3/index.js +0 -46
  197. package/build/src/components/contexts/web3/index.js.map +0 -1
  198. package/build/src/constants/defaultTheme.js +0 -6
  199. package/build/src/constants/defaultTheme.js.map +0 -1
  200. package/build/src/defaultConfig.js +0 -63
  201. package/build/src/defaultConfig.js.map +0 -1
  202. package/build/src/defaultConnectors.js +0 -43
  203. package/build/src/defaultConnectors.js.map +0 -1
  204. package/build/src/hooks/connectors/useWalletConnectUri.js +0 -93
  205. package/build/src/hooks/connectors/useWalletConnectUri.js.map +0 -1
  206. package/build/src/hooks/useChainIsSupported.js +0 -12
  207. package/build/src/hooks/useChainIsSupported.js.map +0 -1
  208. package/build/src/hooks/useChains.js +0 -11
  209. package/build/src/hooks/useChains.js.map +0 -1
  210. package/build/src/hooks/useConnect.js +0 -45
  211. package/build/src/hooks/useConnect.js.map +0 -1
  212. package/build/src/hooks/useConnectCallback.js +0 -18
  213. package/build/src/hooks/useConnectCallback.js.map +0 -1
  214. package/build/src/hooks/useConnectors.js +0 -29
  215. package/build/src/hooks/useConnectors.js.map +0 -1
  216. package/build/src/hooks/useDaimoPayStatus.js +0 -24
  217. package/build/src/hooks/useDaimoPayStatus.js.map +0 -1
  218. package/build/src/hooks/useDepositAddressOptions.js +0 -31
  219. package/build/src/hooks/useDepositAddressOptions.js.map +0 -1
  220. package/build/src/hooks/useEnsFallbackConfig.js +0 -16
  221. package/build/src/hooks/useEnsFallbackConfig.js.map +0 -1
  222. package/build/src/hooks/useExternalPaymentOptions.js +0 -49
  223. package/build/src/hooks/useExternalPaymentOptions.js.map +0 -1
  224. package/build/src/hooks/useFitText.js +0 -148
  225. package/build/src/hooks/useFitText.js.map +0 -1
  226. package/build/src/hooks/useFocusTrap.js +0 -60
  227. package/build/src/hooks/useFocusTrap.js.map +0 -1
  228. package/build/src/hooks/useGoogleFont.js +0 -45
  229. package/build/src/hooks/useGoogleFont.js.map +0 -1
  230. package/build/src/hooks/useIsMobile.js +0 -17
  231. package/build/src/hooks/useIsMobile.js.map +0 -1
  232. package/build/src/hooks/useIsMounted.js +0 -12
  233. package/build/src/hooks/useIsMounted.js.map +0 -1
  234. package/build/src/hooks/useLastConnector.js +0 -24
  235. package/build/src/hooks/useLastConnector.js.map +0 -1
  236. package/build/src/hooks/useLocales.js +0 -67
  237. package/build/src/hooks/useLocales.js.map +0 -1
  238. package/build/src/hooks/useLockBodyScroll.js +0 -53
  239. package/build/src/hooks/useLockBodyScroll.js.map +0 -1
  240. package/build/src/hooks/useOrderUsdLimits.js +0 -26
  241. package/build/src/hooks/useOrderUsdLimits.js.map +0 -1
  242. package/build/src/hooks/usePayWithSolanaToken.js +0 -50
  243. package/build/src/hooks/usePayWithSolanaToken.js.map +0 -1
  244. package/build/src/hooks/usePayWithToken.js +0 -58
  245. package/build/src/hooks/usePayWithToken.js.map +0 -1
  246. package/build/src/hooks/usePaymentState.js +0 -283
  247. package/build/src/hooks/usePaymentState.js.map +0 -1
  248. package/build/src/hooks/usePrevious.js +0 -14
  249. package/build/src/hooks/usePrevious.js.map +0 -1
  250. package/build/src/hooks/useSolanaPaymentOptions.js +0 -39
  251. package/build/src/hooks/useSolanaPaymentOptions.js.map +0 -1
  252. package/build/src/hooks/useWalletConnectModal.js +0 -52
  253. package/build/src/hooks/useWalletConnectModal.js.map +0 -1
  254. package/build/src/hooks/useWalletPaymentOptions.js +0 -50
  255. package/build/src/hooks/useWalletPaymentOptions.js.map +0 -1
  256. package/build/src/hooks/useWindowSize.js +0 -23
  257. package/build/src/hooks/useWindowSize.js.map +0 -1
  258. package/build/src/index.js +0 -10
  259. package/build/src/index.js.map +0 -1
  260. package/build/src/localizations/index.js +0 -57
  261. package/build/src/localizations/index.js.map +0 -1
  262. package/build/src/localizations/locales/ar-AE.js +0 -97
  263. package/build/src/localizations/locales/ar-AE.js.map +0 -1
  264. package/build/src/localizations/locales/ca-AD.js +0 -95
  265. package/build/src/localizations/locales/ca-AD.js.map +0 -1
  266. package/build/src/localizations/locales/ee-EE.js +0 -95
  267. package/build/src/localizations/locales/ee-EE.js.map +0 -1
  268. package/build/src/localizations/locales/en-US.js +0 -95
  269. package/build/src/localizations/locales/en-US.js.map +0 -1
  270. package/build/src/localizations/locales/es-ES.js +0 -95
  271. package/build/src/localizations/locales/es-ES.js.map +0 -1
  272. package/build/src/localizations/locales/fa-IR.js +0 -95
  273. package/build/src/localizations/locales/fa-IR.js.map +0 -1
  274. package/build/src/localizations/locales/fr-FR.js +0 -95
  275. package/build/src/localizations/locales/fr-FR.js.map +0 -1
  276. package/build/src/localizations/locales/ja-JP.js +0 -95
  277. package/build/src/localizations/locales/ja-JP.js.map +0 -1
  278. package/build/src/localizations/locales/pt-BR.js +0 -95
  279. package/build/src/localizations/locales/pt-BR.js.map +0 -1
  280. package/build/src/localizations/locales/ru-RU.js +0 -95
  281. package/build/src/localizations/locales/ru-RU.js.map +0 -1
  282. package/build/src/localizations/locales/tr-TR.js +0 -95
  283. package/build/src/localizations/locales/tr-TR.js.map +0 -1
  284. package/build/src/localizations/locales/vi-VN.js +0 -95
  285. package/build/src/localizations/locales/vi-VN.js.map +0 -1
  286. package/build/src/localizations/locales/zh-CN.js +0 -95
  287. package/build/src/localizations/locales/zh-CN.js.map +0 -1
  288. package/build/src/styles/defaultTheme.js +0 -89
  289. package/build/src/styles/defaultTheme.js.map +0 -1
  290. package/build/src/styles/index.js +0 -329
  291. package/build/src/styles/index.js.map +0 -1
  292. package/build/src/styles/styled/index.js +0 -16
  293. package/build/src/styles/styled/index.js.map +0 -1
  294. package/build/src/styles/themes/base.js +0 -141
  295. package/build/src/styles/themes/base.js.map +0 -1
  296. package/build/src/styles/themes/index.js +0 -13
  297. package/build/src/styles/themes/index.js.map +0 -1
  298. package/build/src/styles/themes/midnight.js +0 -76
  299. package/build/src/styles/themes/midnight.js.map +0 -1
  300. package/build/src/styles/themes/minimal.js +0 -96
  301. package/build/src/styles/themes/minimal.js.map +0 -1
  302. package/build/src/styles/themes/nouns.js +0 -81
  303. package/build/src/styles/themes/nouns.js.map +0 -1
  304. package/build/src/styles/themes/retro.js +0 -106
  305. package/build/src/styles/themes/retro.js.map +0 -1
  306. package/build/src/styles/themes/rounded.js +0 -106
  307. package/build/src/styles/themes/rounded.js.map +0 -1
  308. package/build/src/styles/themes/soft.js +0 -71
  309. package/build/src/styles/themes/soft.js.map +0 -1
  310. package/build/src/styles/themes/web95.js +0 -132
  311. package/build/src/styles/themes/web95.js.map +0 -1
  312. package/build/src/utils/exports.js +0 -7
  313. package/build/src/utils/exports.js.map +0 -1
  314. package/build/src/utils/format.js +0 -83
  315. package/build/src/utils/format.js.map +0 -1
  316. package/build/src/utils/index.js +0 -39
  317. package/build/src/utils/index.js.map +0 -1
  318. package/build/src/utils/p3.js +0 -16
  319. package/build/src/utils/p3.js.map +0 -1
  320. package/build/src/utils/platform.js +0 -13
  321. package/build/src/utils/platform.js.map +0 -1
  322. package/build/src/utils/supportUrl.js +0 -18
  323. package/build/src/utils/supportUrl.js.map +0 -1
  324. package/build/src/utils/trpc.js +0 -19
  325. package/build/src/utils/trpc.js.map +0 -1
  326. package/build/src/utils/validateInput.js +0 -36
  327. package/build/src/utils/validateInput.js.map +0 -1
  328. package/build/src/utils/wallets.js +0 -14
  329. package/build/src/utils/wallets.js.map +0 -1
  330. package/build/src/wallets/index.js +0 -32
  331. package/build/src/wallets/index.js.map +0 -1
  332. package/build/src/wallets/useWallets.js +0 -90
  333. package/build/src/wallets/useWallets.js.map +0 -1
  334. package/build/src/wallets/walletConfigs.js +0 -337
  335. package/build/src/wallets/walletConfigs.js.map +0 -1
@@ -1,202 +0,0 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { AnimatePresence } from 'framer-motion';
3
- import { useState, useEffect } from 'react';
4
- import { Container, ConnectingContainer, ConnectingAnimation, RetryButton, RetryIconContainer, Content } from './styles.js';
5
- import Alert from '../../Common/Alert/index.js';
6
- import Button from '../../Common/Button/index.js';
7
- import { PageContent, ModalHeading, ModalContent, ModalContentContainer, ModalH1, ModalBody } from '../../Common/Modal/styles.js';
8
- import Tooltip from '../../Common/Tooltip/index.js';
9
- import SquircleSpinner from '../../Spinners/SquircleSpinner/index.js';
10
- import { RetryIconCircle, AlertIcon, ExternalLinkIcon, TickIcon } from '../../../assets/icons.js';
11
- import { useConnect } from '../../../hooks/useConnect.js';
12
- import useLocales from '../../../hooks/useLocales.js';
13
- import { detectBrowser, isWalletConnectConnector } from '../../../utils/index.js';
14
- import { useWallet } from '../../../wallets/useWallets.js';
15
- import BrowserIcon from '../../Common/BrowserIcon/index.js';
16
- import { usePayContext } from '../../DaimoPay.js';
17
- import CircleSpinner from '../../Spinners/CircleSpinner/index.js';
18
-
19
- const states = {
20
- CONNECTED: "connected",
21
- CONNECTING: "connecting",
22
- EXPIRING: "expiring",
23
- FAILED: "failed",
24
- REJECTED: "rejected",
25
- NOTCONNECTED: "notconnected",
26
- UNAVAILABLE: "unavailable",
27
- };
28
- const contentVariants = {
29
- initial: {
30
- willChange: "transform,opacity",
31
- position: "relative",
32
- opacity: 0,
33
- scale: 0.95,
34
- },
35
- animate: {
36
- position: "relative",
37
- opacity: 1,
38
- scale: 1,
39
- transition: {
40
- ease: [0.16, 1, 0.3, 1],
41
- duration: 0.4,
42
- delay: 0.05,
43
- position: { delay: 0 },
44
- },
45
- },
46
- exit: {
47
- position: "absolute",
48
- opacity: 0,
49
- scale: 0.95,
50
- transition: {
51
- ease: [0.16, 1, 0.3, 1],
52
- duration: 0.3,
53
- },
54
- },
55
- };
56
- const ConnectWithInjector = ({ switchConnectMethod, forceState }) => {
57
- const { connect } = useConnect({
58
- mutation: {
59
- onMutate: (connector) => {
60
- if (connector.connector) {
61
- setStatus(states.CONNECTING);
62
- }
63
- else {
64
- setStatus(states.UNAVAILABLE);
65
- }
66
- },
67
- onError(err) {
68
- console.error(err);
69
- },
70
- onSettled(data, error) {
71
- if (error) {
72
- setShowTryAgainTooltip(true);
73
- setTimeout(() => setShowTryAgainTooltip(false), 3500);
74
- if (error.code) {
75
- // https://github.com/MetaMask/eth-rpc-errors/blob/main/src/error-constants.ts
76
- switch (error.code) {
77
- case -32002:
78
- setStatus(states.NOTCONNECTED);
79
- break;
80
- case 4001:
81
- setStatus(states.REJECTED);
82
- break;
83
- default:
84
- setStatus(states.FAILED);
85
- break;
86
- }
87
- }
88
- else {
89
- // Sometimes the error doesn't respond with a code
90
- if (error.message) {
91
- switch (error.message) {
92
- case "User rejected request":
93
- setStatus(states.REJECTED);
94
- break;
95
- default:
96
- setStatus(states.FAILED);
97
- break;
98
- }
99
- }
100
- }
101
- }
102
- setTimeout(triggerResize, 100);
103
- },
104
- },
105
- });
106
- const { triggerResize, connector: c } = usePayContext();
107
- const id = c.id;
108
- const wallet = useWallet(id);
109
- const walletInfo = {
110
- name: wallet?.name,
111
- shortName: wallet?.shortName ?? wallet?.name,
112
- icon: wallet?.iconConnector ?? wallet?.icon,
113
- iconShape: wallet?.iconShape ?? "circle",
114
- iconShouldShrink: wallet?.iconShouldShrink,
115
- };
116
- const [showTryAgainTooltip, setShowTryAgainTooltip] = useState(false);
117
- const expiryDefault = 9; // Starting at 10 causes layout shifting, better to start at 9
118
- useState(expiryDefault);
119
- const browser = detectBrowser();
120
- const extensionUrl = wallet?.downloadUrls?.[browser];
121
- const suggestedExtension = wallet?.downloadUrls
122
- ? {
123
- name: Object.keys(wallet?.downloadUrls)[0],
124
- label: Object.keys(wallet?.downloadUrls)[0]?.charAt(0).toUpperCase() +
125
- Object.keys(wallet?.downloadUrls)[0]?.slice(1), // Capitalise first letter, but this might be better suited as a lookup table
126
- url: wallet?.downloadUrls[Object.keys(wallet?.downloadUrls)[0]],
127
- }
128
- : undefined;
129
- const [status, setStatus] = useState(forceState
130
- ? forceState
131
- : !wallet?.isInstalled
132
- ? states.UNAVAILABLE
133
- : states.CONNECTING);
134
- const locales = useLocales({
135
- CONNECTORNAME: walletInfo.name,
136
- CONNECTORSHORTNAME: walletInfo.shortName ?? walletInfo.name,
137
- SUGGESTEDEXTENSIONBROWSER: suggestedExtension?.label ?? "your browser",
138
- });
139
- const runConnect = async () => {
140
- if (wallet?.isInstalled && wallet?.connector) {
141
- connect({ connector: wallet?.connector });
142
- }
143
- else {
144
- setStatus(states.UNAVAILABLE);
145
- }
146
- };
147
- let connectTimeout;
148
- useEffect(() => {
149
- if (status === states.UNAVAILABLE)
150
- return;
151
- // UX: Give user time to see the UI before opening the extension
152
- connectTimeout = setTimeout(runConnect, 600);
153
- return () => {
154
- clearTimeout(connectTimeout);
155
- };
156
- }, []);
157
- /** Timeout functionality if necessary
158
- let expiryTimeout: any;
159
- useEffect(() => {
160
- if (status === states.EXPIRING) {
161
- expiryTimeout = setTimeout(
162
- () => {
163
- if (expiryTimer <= 0) {
164
- setStatus(states.FAILED);
165
- setExpiryTimer(expiryDefault);
166
- } else {
167
- setExpiryTimer(expiryTimer - 1);
168
- }
169
- },
170
- expiryTimer === 9 ? 1500 : 1000 // Google: Chronostasis
171
- );
172
- }
173
- return () => {
174
- clearTimeout(expiryTimeout);
175
- };
176
- }, [status, expiryTimer]);
177
- */
178
- if (!wallet) {
179
- return (jsx(PageContent, { children: jsxs(Container, { children: [jsx(ModalHeading, { children: "Invalid State" }), jsx(ModalContent, { children: jsx(Alert, { children: "No connectors match the id given. This state should never happen." }) })] }) }));
180
- }
181
- // TODO: Make this more generic
182
- if (isWalletConnectConnector(wallet?.connector.id)) {
183
- return (jsx(PageContent, { children: jsxs(Container, { children: [jsx(ModalHeading, { children: "Invalid State" }), jsx(ModalContent, { children: jsx(Alert, { children: "WalletConnect does not have an injection flow. This state should never happen." }) })] }) }));
184
- }
185
- return (jsx(PageContent, { children: jsxs(Container, { children: [jsx(ConnectingContainer, { children: jsxs(ConnectingAnimation, { "$shake": status === states.FAILED || status === states.REJECTED, "$circle": walletInfo.iconShape === "circle", children: [jsx(AnimatePresence, { children: (status === states.FAILED || status === states.REJECTED) && (jsx(RetryButton, { "aria-label": "Retry", initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.8 }, whileTap: { scale: 0.9 }, transition: { duration: 0.1 }, onClick: runConnect, children: jsx(RetryIconContainer, { children: jsx(Tooltip, { open: showTryAgainTooltip &&
186
- (status === states.FAILED || status === states.REJECTED), message: locales.tryAgainQuestion, xOffset: -6, children: jsx(RetryIconCircle, {}) }) }) })) }), walletInfo.iconShape === "circle" ? (jsx(CircleSpinner, { logo: status === states.UNAVAILABLE ? (jsx("div", { style: {
187
- transform: "scale(1.14)",
188
- position: "relative",
189
- width: "100%",
190
- }, children: walletInfo.icon })) : (jsx(Fragment, { children: walletInfo.icon })), smallLogo: walletInfo.iconShouldShrink, loading: status === states.CONNECTING, unavailable: status === states.UNAVAILABLE })) : (jsx(SquircleSpinner, { logo: status === states.UNAVAILABLE ? (jsx("div", { style: {
191
- transform: "scale(1.14)",
192
- position: "relative",
193
- width: "100%",
194
- }, children: walletInfo.icon })) : (jsx(Fragment, { children: walletInfo.icon })), loading: status === states.CONNECTING }))] }) }), jsx(ModalContentContainer, { children: jsxs(AnimatePresence, { initial: false, children: [status === states.FAILED && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { children: [jsxs(ModalH1, { "$error": true, children: [jsx(AlertIcon, {}), locales.injectionScreen_failed_h1] }), jsx(ModalBody, { children: locales.injectionScreen_failed_p })] }) }, states.FAILED)), status === states.REJECTED && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [jsx(ModalH1, { children: locales.injectionScreen_rejected_h1 }), jsx(ModalBody, { children: locales.injectionScreen_rejected_p })] }) }, states.REJECTED)), (status === states.CONNECTING || status === states.EXPIRING) && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [jsx(ModalH1, { children: wallet.connector.id === "injected"
195
- ? locales.injectionScreen_connecting_injected_h1
196
- : locales.injectionScreen_connecting_h1 }), jsx(ModalBody, { children: wallet.connector.id === "injected"
197
- ? locales.injectionScreen_connecting_injected_p
198
- : locales.injectionScreen_connecting_p }), jsxs(Button, { icon: jsx(ExternalLinkIcon, {}), onClick: runConnect, children: ["Connect ", walletInfo.name] })] }) }, states.CONNECTING)), status === states.CONNECTED && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { children: [jsxs(ModalH1, { "$valid": true, children: [jsx(TickIcon, {}), " ", locales.injectionScreen_connected_h1] }), jsx(ModalBody, { children: locales.injectionScreen_connected_p })] }) }, states.CONNECTED)), status === states.NOTCONNECTED && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: jsxs(ModalContent, { children: [jsx(ModalH1, { children: locales.injectionScreen_notconnected_h1 }), jsx(ModalBody, { children: locales.injectionScreen_notconnected_p })] }) }, states.NOTCONNECTED)), status === states.UNAVAILABLE && (jsx(Content, { initial: "initial", animate: "animate", exit: "exit", variants: contentVariants, children: !extensionUrl ? (jsxs(Fragment, { children: [jsxs(ModalContent, { style: { paddingBottom: 12 }, children: [jsx(ModalH1, { children: locales.injectionScreen_unavailable_h1 }), jsx(ModalBody, { children: locales.injectionScreen_unavailable_p })] }), !wallet.isInstalled && suggestedExtension && (jsxs(Button, { href: suggestedExtension?.url, icon: jsx(BrowserIcon, { browser: suggestedExtension?.name }), children: ["Install on ", suggestedExtension?.label] }))] })) : (jsxs(Fragment, { children: [jsxs(ModalContent, { style: { paddingBottom: 18 }, children: [jsx(ModalH1, { children: locales.injectionScreen_install_h1 }), jsx(ModalBody, { children: locales.injectionScreen_install_p })] }), !wallet.isInstalled && extensionUrl && (jsx(Button, { href: extensionUrl, icon: jsx(BrowserIcon, {}), children: locales.installTheExtension }))] })) }, states.UNAVAILABLE))] }) })] }) }));
199
- };
200
-
201
- export { ConnectWithInjector as default, states };
202
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,133 +0,0 @@
1
- import { motion } from 'framer-motion';
2
- import { keyframes, css } from 'styled-components';
3
- import styled from '../../../styles/styled/index.js';
4
- import { ModalContent } from '../../Common/Modal/styles.js';
5
-
6
- const Content = styled(motion.div) `
7
- display: flex;
8
- flex-direction: column;
9
- gap: 6px;
10
- position: relative;
11
- left: 0;
12
- right: 0;
13
- ${ModalContent} {
14
- padding: 0 8px 32px;
15
- gap: 12px;
16
- }
17
- `;
18
- const dist = 2;
19
- const shakeKeyframes = keyframes `
20
- 0%{ transform:none; }
21
- 25%{ transform:translateX(${dist}px); }
22
- 50%{ transform:translateX(-${dist}px); }
23
- 75%{ transform:translateX(${dist}px); }
24
- 100%{ transform:none; }
25
- `;
26
- const outlineKeyframes = keyframes `
27
- 0%{ opacity:1; }
28
- 100%{ opacity:0; }
29
- `;
30
- const Container = styled(motion.div) `
31
- /*
32
- background: var(
33
- --ck-body-background
34
- ); // To stop the overlay issue during transition for the squircle spinner
35
- */
36
- `;
37
- const ConnectingContainer = styled(motion.div) `
38
- display: flex;
39
- align-items: center;
40
- justify-content: center;
41
- margin: 10px auto 16px;
42
- height: 120px;
43
- //transform: scale(1.001); // fixes shifting issue between states
44
- `;
45
- const ConnectingAnimation = styled(motion.div) `
46
- user-select: none;
47
- position: relative;
48
- --spinner-error-opacity: 0;
49
- &:before {
50
- content: "";
51
- position: absolute;
52
- inset: 1px;
53
- opacity: 0;
54
- background: var(--ck-body-color-danger);
55
- ${(props) => props.$circle &&
56
- css `
57
- inset: -5px;
58
- border-radius: 50%;
59
- background: none;
60
- box-shadow: inset 0 0 0 3.5px var(--ck-body-color-danger);
61
- `}
62
- }
63
- ${(props) => props.$shake &&
64
- css `
65
- animation: ${shakeKeyframes} 220ms ease-out both;
66
- &:before {
67
- animation: ${outlineKeyframes} 220ms ease-out 750ms both;
68
- }
69
- `}
70
- `;
71
- const RetryButton = styled(motion.button) `
72
- z-index: 5;
73
- appearance: none;
74
- position: absolute;
75
- right: 2px;
76
- bottom: 2px;
77
- padding: 0;
78
- display: flex;
79
- align-items: center;
80
- justify-content: center;
81
- width: 32px;
82
- height: 32px;
83
- border-radius: 16px;
84
- cursor: pointer;
85
- overflow: hidden;
86
- background: none;
87
-
88
- color: var(--ck-body-background);
89
- transition: color 200ms ease;
90
- box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.15);
91
-
92
- &:before {
93
- z-index: 3;
94
- content: "";
95
- position: absolute;
96
- inset: 0;
97
- opacity: 0;
98
- transition: opacity 200ms ease;
99
- background: var(--ck-body-color);
100
- }
101
-
102
- &:hover:before {
103
- opacity: 0.1;
104
- }
105
- `;
106
- const RetryIconContainer = styled(motion.div) `
107
- position: absolute;
108
- inset: 0;
109
-
110
- &:before {
111
- z-index: 1;
112
- content: "";
113
- position: absolute;
114
- inset: 3px;
115
- border-radius: 16px;
116
- background: conic-gradient(
117
- from 90deg,
118
- currentColor 10%,
119
- var(--ck-body-color) 80%
120
- );
121
- }
122
-
123
- svg {
124
- z-index: 2;
125
- display: block;
126
- position: relative;
127
- width: 100%;
128
- height: 100%;
129
- }
130
- `;
131
-
132
- export { ConnectingAnimation, ConnectingContainer, Container, Content, RetryButton, RetryIconContainer };
133
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,75 +0,0 @@
1
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
- import { usePayContext, ROUTES } from '../DaimoPay.js';
3
- import { useWalletConnectModal } from '../../hooks/useWalletConnectModal.js';
4
- import { detectBrowser, isWalletConnectConnector } from '../../utils/index.js';
5
- import { OrDivider } from '../Common/Modal/index.js';
6
- import { PageContent, ModalContent } from '../Common/Modal/styles.js';
7
- import ScanIconWithLogos from '../../assets/ScanIconWithLogos.js';
8
- import { ExternalLinkIcon } from '../../assets/icons.js';
9
- import useLocales from '../../hooks/useLocales.js';
10
- import Button from '../Common/Button/index.js';
11
- import CopyToClipboard from '../Common/CopyToClipboard/index.js';
12
- import CustomQRCode from '../Common/CustomQRCode/index.js';
13
- import { useWallet } from '../../wallets/useWallets.js';
14
- import { useWeb3 } from '../contexts/web3/index.js';
15
-
16
- const ConnectWithQRCode = ({ switchConnectMethod }) => {
17
- const context = usePayContext();
18
- const id = context.connector.id;
19
- const wallet = useWallet(context.connector.id);
20
- const { open: openW3M, isOpen: isOpenW3M } = useWalletConnectModal();
21
- const { connect: { getUri }, } = useWeb3();
22
- const wcUri = getUri(id);
23
- const uri = wcUri
24
- ? (wallet?.getWalletConnectDeeplink?.(wcUri) ?? wcUri)
25
- : undefined;
26
- const locales = useLocales({
27
- CONNECTORNAME: wallet?.name,
28
- });
29
- if (!wallet)
30
- return jsxs(Fragment, { children: ["Wallet not found ", context.connector.id] });
31
- const downloads = wallet?.downloadUrls;
32
- const extensions = {
33
- chrome: downloads?.chrome,
34
- firefox: downloads?.firefox,
35
- brave: downloads?.brave,
36
- edge: downloads?.edge,
37
- safari: downloads?.safari,
38
- };
39
- detectBrowser();
40
- const hasApps = downloads && Object.keys(downloads).length !== 0;
41
- extensions
42
- ? {
43
- name: Object.keys(extensions)[0],
44
- label: Object.keys(extensions)[0]?.charAt(0).toUpperCase() +
45
- Object.keys(extensions)[0]?.slice(1), // Capitalise first letter, but this might be better suited as a lookup table
46
- url: extensions[Object.keys(extensions)[0]],
47
- }
48
- : undefined;
49
- const showAdditionalOptions = isWalletConnectConnector(id);
50
- return (jsxs(PageContent, { children: [jsxs(ModalContent, { style: { paddingBottom: 8, gap: 14 }, children: [jsx(CustomQRCode, { value: uri, image: wallet?.icon, tooltipMessage: isWalletConnectConnector(id) ? (jsxs(Fragment, { children: [jsx(ScanIconWithLogos, {}), jsx("span", { children: locales.scanScreen_tooltip_walletConnect })] })) : (jsxs(Fragment, { children: [jsx(ScanIconWithLogos, { logo: wallet?.icon }), jsx("span", { children: locales.scanScreen_tooltip_default })] })) }), showAdditionalOptions ? (jsx(OrDivider, {})) : (hasApps && jsx(OrDivider, { children: locales.dontHaveTheApp }))] }), showAdditionalOptions && ( // for walletConnect
51
- jsxs("div", { style: {
52
- display: "flex",
53
- alignItems: "center",
54
- justifyContent: "center",
55
- gap: 14,
56
- }, children: [context.options?.walletConnectCTA !== "modal" && (jsx(CopyToClipboard, { variant: "button", string: uri, children: context.options?.walletConnectCTA === "link"
57
- ? locales.copyToClipboard
58
- : locales.copyCode })), context.options?.walletConnectCTA !== "link" && (jsx(Button, { icon: jsx(ExternalLinkIcon, {}), onClick: openW3M, disabled: isOpenW3M, waiting: isOpenW3M, children: context.options?.walletConnectCTA === "modal"
59
- ? locales.useWalletConnectModal
60
- : locales.useModal }))] })), hasApps && (jsx(Fragment, { children: jsx(Button, { onClick: () => {
61
- context.setRoute(ROUTES.DOWNLOAD);
62
- },
63
- /*
64
- icon={
65
- <div style={{ background: connectorInfo?.icon }}>
66
- {connectorInfo?.logos.default}
67
- </div>
68
- }
69
- roundedIcon
70
- */
71
- download: true, children: locales.getWalletName }) }))] }));
72
- };
73
-
74
- export { ConnectWithQRCode as default };
75
- //# sourceMappingURL=ConnectWithQRCode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConnectWithQRCode.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,206 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useEffect } from 'react';
3
- import { useAccount } from 'wagmi';
4
- import Modal from '../Common/Modal/index.js';
5
- import { usePayContext, ROUTES } from '../DaimoPay.js';
6
- import About from '../Pages/About/index.js';
7
- import Wallets from '../Pages/Connectors/index.js';
8
- import DownloadApp from '../Pages/DownloadApp/index.js';
9
- import MobileConnectors from '../Pages/MobileConnectors/index.js';
10
- import Introduction from '../Pages/Onboarding/index.js';
11
- import SwitchNetworks from '../Pages/SwitchNetworks/index.js';
12
- import ConnectUsing from './ConnectUsing.js';
13
- import { assert } from '@daimo/pay-common';
14
- import { getAppName } from '../../defaultConfig.js';
15
- import { useChainIsSupported } from '../../hooks/useChainIsSupported.js';
16
- import { DaimoPayThemeProvider } from '../DaimoPayThemeProvider/DaimoPayThemeProvider.js';
17
- import Confirmation from '../Pages/Confirmation/index.js';
18
- import PayWithToken from '../Pages/PayWithToken/index.js';
19
- import SelectAmount from '../Pages/SelectAmount/index.js';
20
- import SelectDepositAddressAmount from '../Pages/SelectDepositAddressAmount/index.js';
21
- import SelectDepositAddressChain from '../Pages/SelectDepositAddressChain/index.js';
22
- import SelectExternalAmount from '../Pages/SelectExternalAmount/index.js';
23
- import SelectMethod from '../Pages/SelectMethod/index.js';
24
- import SelectToken from '../Pages/SelectToken/index.js';
25
- import ConnectSolana$1 from '../Pages/Solana/ConnectorSolana/index.js';
26
- import ConnectSolana from '../Pages/Solana/ConnectSolana/index.js';
27
- import PayWithSolanaToken from '../Pages/Solana/PayWithSolanaToken/index.js';
28
- import SelectSolanaAmount from '../Pages/Solana/SelectSolanaAmount/index.js';
29
- import SelectSolanaToken from '../Pages/Solana/SelectSolanaToken/index.js';
30
- import WaitingDepositAddress from '../Pages/WaitingDepositAddress/index.js';
31
- import WaitingExternal from '../Pages/WaitingExternal/index.js';
32
-
33
- const customThemeDefault = {};
34
- const DaimoPayModal = ({ mode = "auto", theme = "auto", customTheme = customThemeDefault, lang = "en-US", }) => {
35
- const context = usePayContext();
36
- const paymentState = context.paymentState;
37
- const { payParams, generatePreviewOrder, isDepositFlow, setPaymentWaitingMessage, setSelectedExternalOption, setSelectedTokenOption, setSelectedSolanaTokenOption, setSelectedDepositAddressOption, } = paymentState;
38
- const { isConnected, connector, chain, address } = useAccount();
39
- const chainIsSupported = useChainIsSupported(chain?.id);
40
- //if chain is unsupported we enforce a "switch chain" prompt
41
- const closeable = !(context.options?.enforceSupportedChains &&
42
- isConnected &&
43
- !chainIsSupported);
44
- const showBackButton = closeable &&
45
- context.route !== ROUTES.SELECT_METHOD &&
46
- context.route !== ROUTES.CONFIRMATION;
47
- const onBack = () => {
48
- const meta = { event: "click-back" };
49
- if (context.route === ROUTES.DOWNLOAD) {
50
- context.setRoute(ROUTES.CONNECT, meta);
51
- }
52
- else if (context.route === ROUTES.CONNECTORS) {
53
- context.setRoute(ROUTES.SELECT_METHOD, meta);
54
- }
55
- else if (context.route === ROUTES.SELECT_TOKEN) {
56
- context.setRoute(ROUTES.SELECT_METHOD, meta);
57
- }
58
- else if (context.route === ROUTES.SELECT_AMOUNT) {
59
- setSelectedTokenOption(undefined);
60
- context.setRoute(ROUTES.SELECT_TOKEN, meta);
61
- }
62
- else if (context.route === ROUTES.SELECT_EXTERNAL_AMOUNT) {
63
- setSelectedExternalOption(undefined);
64
- context.setRoute(ROUTES.SELECT_METHOD, meta);
65
- }
66
- else if (context.route === ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT) {
67
- setSelectedDepositAddressOption(undefined);
68
- context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, meta);
69
- }
70
- else if (context.route === ROUTES.WAITING_EXTERNAL) {
71
- setPaymentWaitingMessage(undefined);
72
- if (isDepositFlow) {
73
- assert(payParams != null, "[PAY MODAL] payParams cannot be null in deposit flow");
74
- generatePreviewOrder(payParams);
75
- context.setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);
76
- }
77
- else {
78
- setSelectedExternalOption(undefined);
79
- context.setRoute(ROUTES.SELECT_METHOD, meta);
80
- }
81
- }
82
- else if (context.route === ROUTES.PAY_WITH_TOKEN) {
83
- if (isDepositFlow) {
84
- assert(payParams != null, "[PAY MODAL] payParams cannot be null in deposit flow");
85
- generatePreviewOrder(payParams);
86
- context.setRoute(ROUTES.SELECT_AMOUNT, meta);
87
- }
88
- else {
89
- setSelectedTokenOption(undefined);
90
- context.setRoute(ROUTES.SELECT_TOKEN, meta);
91
- }
92
- }
93
- else if (context.route === ROUTES.ONBOARDING) {
94
- context.setRoute(ROUTES.CONNECTORS, meta);
95
- }
96
- else if (context.route === ROUTES.WAITING_DEPOSIT_ADDRESS) {
97
- if (isDepositFlow) {
98
- assert(payParams != null, "[PAY MODAL] payParams cannot be null in deposit flow");
99
- generatePreviewOrder(payParams);
100
- context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, meta);
101
- }
102
- else {
103
- setSelectedDepositAddressOption(undefined);
104
- context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, meta);
105
- }
106
- }
107
- else if (context.route === ROUTES.SOLANA_SELECT_AMOUNT) {
108
- setSelectedSolanaTokenOption(undefined);
109
- context.setRoute(ROUTES.SOLANA_SELECT_TOKEN, meta);
110
- }
111
- else if (context.route === ROUTES.SOLANA_PAY_WITH_TOKEN) {
112
- if (isDepositFlow) {
113
- assert(payParams != null, "[PAY MODAL] payParams cannot be null in deposit flow");
114
- generatePreviewOrder(payParams);
115
- context.setRoute(ROUTES.SOLANA_SELECT_AMOUNT, meta);
116
- }
117
- else {
118
- setSelectedSolanaTokenOption(undefined);
119
- context.setRoute(ROUTES.SOLANA_SELECT_TOKEN, meta);
120
- }
121
- }
122
- else {
123
- context.setRoute(ROUTES.SELECT_METHOD, meta);
124
- }
125
- };
126
- const pages = {
127
- [ROUTES.SELECT_METHOD]: jsx(SelectMethod, {}),
128
- [ROUTES.SELECT_TOKEN]: jsx(SelectToken, {}),
129
- [ROUTES.SELECT_AMOUNT]: jsx(SelectAmount, {}),
130
- [ROUTES.SELECT_EXTERNAL_AMOUNT]: jsx(SelectExternalAmount, {}),
131
- [ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT]: jsx(SelectDepositAddressAmount, {}),
132
- [ROUTES.WAITING_EXTERNAL]: jsx(WaitingExternal, {}),
133
- [ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN]: jsx(SelectDepositAddressChain, {}),
134
- [ROUTES.WAITING_DEPOSIT_ADDRESS]: jsx(WaitingDepositAddress, {}),
135
- [ROUTES.CONFIRMATION]: jsx(Confirmation, {}),
136
- [ROUTES.PAY_WITH_TOKEN]: jsx(PayWithToken, {}),
137
- [ROUTES.SOLANA_CONNECT]: jsx(ConnectSolana, {}),
138
- [ROUTES.SOLANA_CONNECTOR]: jsx(ConnectSolana$1, {}),
139
- [ROUTES.SOLANA_SELECT_TOKEN]: jsx(SelectSolanaToken, {}),
140
- [ROUTES.SOLANA_SELECT_AMOUNT]: jsx(SelectSolanaAmount, {}),
141
- [ROUTES.SOLANA_PAY_WITH_TOKEN]: jsx(PayWithSolanaToken, {}),
142
- // Unused routes. Kept to minimize connectkit merge conflicts.
143
- [ROUTES.ONBOARDING]: jsx(Introduction, {}),
144
- [ROUTES.ABOUT]: jsx(About, {}),
145
- [ROUTES.DOWNLOAD]: jsx(DownloadApp, {}),
146
- [ROUTES.CONNECTORS]: jsx(Wallets, {}),
147
- [ROUTES.MOBILECONNECTORS]: jsx(MobileConnectors, {}),
148
- [ROUTES.CONNECT]: jsx(ConnectUsing, {}),
149
- [ROUTES.SWITCHNETWORKS]: jsx(SwitchNetworks, {}),
150
- };
151
- function hide() {
152
- if (isDepositFlow) {
153
- assert(payParams != null, "[PAY MODAL] payParams cannot be null in deposit flow");
154
- generatePreviewOrder(payParams);
155
- }
156
- context.setOpen(false, { event: "click-close" });
157
- }
158
- useEffect(() => {
159
- if (context.route === ROUTES.CONNECT ||
160
- context.route === ROUTES.CONNECTORS ||
161
- context.route === ROUTES.MOBILECONNECTORS) {
162
- if (isConnected) {
163
- context.setRoute(ROUTES.SELECT_TOKEN, {
164
- event: "connected",
165
- walletId: connector?.id,
166
- chainId: chain?.id,
167
- address,
168
- });
169
- }
170
- }
171
- }, [isConnected, context.route]);
172
- useEffect(() => context.setMode(mode), [mode]);
173
- useEffect(() => context.setTheme(theme), [theme]);
174
- useEffect(() => context.setCustomTheme(customTheme), [customTheme]);
175
- useEffect(() => context.setLang(lang), [lang]);
176
- /* When pulling data into WalletConnect, it prioritises the og:title tag over the title tag */
177
- useEffect(() => {
178
- const appName = getAppName();
179
- if (!appName || !context.open)
180
- return;
181
- const title = document.createElement("meta");
182
- title.setAttribute("property", "og:title");
183
- title.setAttribute("content", appName);
184
- document.head.prepend(title);
185
- /*
186
- // TODO: When pulling data into WalletConnect, figure out which icon gets used and replace with appIcon if available
187
- const appIcon = getAppIcon();
188
- const icon = document.createElement('link');
189
- if (appIcon) {
190
- icon.setAttribute('rel', 'icon');
191
- icon.setAttribute('href', appIcon);
192
- document.head.prepend(icon);
193
- }*/
194
- return () => {
195
- try {
196
- document.head.removeChild(title);
197
- }
198
- catch { }
199
- //if (appIcon) document.head.removeChild(icon);
200
- };
201
- }, [context.open]);
202
- return (jsx(DaimoPayThemeProvider, { theme: theme, customTheme: customTheme, mode: mode, children: jsx(Modal, { open: context.open, pages: pages, pageId: context.route, onClose: closeable ? hide : undefined, onInfo: undefined, onBack: showBackButton ? onBack : undefined }) }));
203
- };
204
-
205
- export { DaimoPayModal };
206
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,21 +0,0 @@
1
- import { jsx, Fragment } from 'react/jsx-runtime';
2
- import React, { createContext, createElement } from 'react';
3
-
4
- const Context = createContext(null);
5
- const DaimoPayThemeProvider = ({ children, theme = "auto", mode = "auto", customTheme, }) => {
6
- const value = {
7
- theme,
8
- mode,
9
- customTheme,
10
- };
11
- return createElement(Context.Provider, { value }, jsx(Fragment, { children: children }));
12
- };
13
- const useThemeContext = () => {
14
- const context = React.useContext(Context);
15
- if (!context)
16
- throw Error("DaimoPayThemeProvider must be inside a Provider.");
17
- return context;
18
- };
19
-
20
- export { DaimoPayThemeProvider, useThemeContext };
21
- //# sourceMappingURL=DaimoPayThemeProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DaimoPayThemeProvider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}