@daimo/pay 1.19.3 → 1.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/build/connectkit/package.json.js +117 -0
  2. package/build/connectkit/package.json.js.map +1 -0
  3. package/build/connectkit/src/assets/MobileWithLogos.js +329 -0
  4. package/build/connectkit/src/assets/MobileWithLogos.js.map +1 -0
  5. package/build/connectkit/src/assets/ScanIconWithLogos.js +243 -0
  6. package/build/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
  7. package/build/connectkit/src/assets/browsers.js +969 -0
  8. package/build/connectkit/src/assets/browsers.js.map +1 -0
  9. package/build/connectkit/src/assets/chains.js +648 -0
  10. package/build/connectkit/src/assets/chains.js.map +1 -0
  11. package/build/connectkit/src/assets/coins.js +43 -0
  12. package/build/connectkit/src/assets/coins.js.map +1 -0
  13. package/build/connectkit/src/assets/icons.js +273 -0
  14. package/build/connectkit/src/assets/icons.js.map +1 -0
  15. package/build/connectkit/src/assets/logos.js +1620 -0
  16. package/build/connectkit/src/assets/logos.js.map +1 -0
  17. package/build/connectkit/src/assets/wave.js +46 -0
  18. package/build/connectkit/src/assets/wave.js.map +1 -0
  19. package/build/connectkit/src/components/Common/Alert/index.js +13 -0
  20. package/build/connectkit/src/components/Common/Alert/index.js.map +1 -0
  21. package/build/connectkit/src/components/Common/Alert/styles.js +55 -0
  22. package/build/connectkit/src/components/Common/Alert/styles.js.map +1 -0
  23. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
  24. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
  25. package/build/connectkit/src/components/Common/AmountInput/index.js +159 -0
  26. package/build/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
  27. package/build/connectkit/src/components/Common/Avatar/index.js +78 -0
  28. package/build/connectkit/src/components/Common/Avatar/index.js.map +1 -0
  29. package/build/connectkit/src/components/Common/Avatar/styles.js +54 -0
  30. package/build/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
  31. package/build/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
  32. package/build/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
  33. package/build/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
  34. package/build/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
  35. package/build/connectkit/src/components/Common/Button/index.js +144 -0
  36. package/build/connectkit/src/components/Common/Button/index.js.map +1 -0
  37. package/build/connectkit/src/components/Common/Button/styles.js +287 -0
  38. package/build/connectkit/src/components/Common/Button/styles.js.map +1 -0
  39. package/build/connectkit/src/components/Common/Chain/index.js +141 -0
  40. package/build/connectkit/src/components/Common/Chain/index.js.map +1 -0
  41. package/build/connectkit/src/components/Common/Chain/styles.js +90 -0
  42. package/build/connectkit/src/components/Common/Chain/styles.js.map +1 -0
  43. package/build/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
  44. package/build/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
  45. package/build/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
  46. package/build/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
  47. package/build/connectkit/src/components/Common/CircleTimer.js +92 -0
  48. package/build/connectkit/src/components/Common/CircleTimer.js.map +1 -0
  49. package/build/connectkit/src/components/Common/ConnectorList/index.js +120 -0
  50. package/build/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
  51. package/build/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
  52. package/build/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
  53. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
  54. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
  55. package/build/connectkit/src/components/Common/CopyToClipboard/index.js +33 -0
  56. package/build/connectkit/src/components/Common/CopyToClipboard/index.js.map +1 -0
  57. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js +128 -0
  58. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
  59. package/build/connectkit/src/components/Common/CustomQRCode/index.js +71 -0
  60. package/build/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
  61. package/build/connectkit/src/components/Common/CustomQRCode/styles.js +139 -0
  62. package/build/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
  63. package/build/connectkit/src/components/Common/FitText/index.js +34 -0
  64. package/build/connectkit/src/components/Common/FitText/index.js.map +1 -0
  65. package/build/connectkit/src/components/Common/Modal/index.js +523 -0
  66. package/build/connectkit/src/components/Common/Modal/index.js.map +1 -0
  67. package/build/connectkit/src/components/Common/Modal/styles.js +665 -0
  68. package/build/connectkit/src/components/Common/Modal/styles.js.map +1 -0
  69. package/build/connectkit/src/components/Common/OptionsList/index.js +145 -0
  70. package/build/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
  71. package/build/connectkit/src/components/Common/OptionsList/styles.js +138 -0
  72. package/build/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
  73. package/build/connectkit/src/components/Common/OrderHeader/index.js +192 -0
  74. package/build/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
  75. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
  76. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
  77. package/build/connectkit/src/components/Common/Portal/index.js +30 -0
  78. package/build/connectkit/src/components/Common/Portal/index.js.map +1 -0
  79. package/build/connectkit/src/components/Common/PoweredByFooter/index.js +66 -0
  80. package/build/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
  81. package/build/connectkit/src/components/Common/ScrollArea/index.js +120 -0
  82. package/build/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
  83. package/build/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
  84. package/build/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
  85. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
  86. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
  87. package/build/connectkit/src/components/Common/Spinner/index.js +64 -0
  88. package/build/connectkit/src/components/Common/Spinner/index.js.map +1 -0
  89. package/build/connectkit/src/components/Common/Spinner/styles.js +22 -0
  90. package/build/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
  91. package/build/connectkit/src/components/Common/SwitchButton/index.js +43 -0
  92. package/build/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
  93. package/build/connectkit/src/components/Common/ThemedButton/index.js +46 -0
  94. package/build/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
  95. package/build/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
  96. package/build/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
  97. package/build/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
  98. package/build/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
  99. package/build/connectkit/src/components/Common/Tooltip/index.js +129 -0
  100. package/build/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
  101. package/build/connectkit/src/components/Common/Tooltip/styles.js +81 -0
  102. package/build/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
  103. package/build/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
  104. package/build/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
  105. package/build/connectkit/src/components/DaimoPayButton/index.js +197 -0
  106. package/build/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
  107. package/build/connectkit/src/components/DaimoPayButton/styles.js +50 -0
  108. package/build/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
  109. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js +68 -0
  110. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
  111. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +335 -0
  112. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
  113. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
  114. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
  115. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +99 -0
  116. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
  117. package/build/connectkit/src/components/DaimoPayModal/index.js +462 -0
  118. package/build/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
  119. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
  120. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
  121. package/build/connectkit/src/components/Pages/About/graphics.js +853 -0
  122. package/build/connectkit/src/components/Pages/About/graphics.js.map +1 -0
  123. package/build/connectkit/src/components/Pages/About/index.js +222 -0
  124. package/build/connectkit/src/components/Pages/About/index.js.map +1 -0
  125. package/build/connectkit/src/components/Pages/About/styles.js +140 -0
  126. package/build/connectkit/src/components/Pages/About/styles.js.map +1 -0
  127. package/build/connectkit/src/components/Pages/Confirmation/index.js +128 -0
  128. package/build/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
  129. package/build/connectkit/src/components/Pages/Connectors/index.js +28 -0
  130. package/build/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
  131. package/build/connectkit/src/components/Pages/DownloadApp/index.js +35 -0
  132. package/build/connectkit/src/components/Pages/DownloadApp/index.js.map +1 -0
  133. package/build/connectkit/src/components/Pages/Error/index.js +57 -0
  134. package/build/connectkit/src/components/Pages/Error/index.js.map +1 -0
  135. package/build/connectkit/src/components/Pages/MobileConnectors/index.js +65 -0
  136. package/build/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
  137. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
  138. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
  139. package/build/connectkit/src/components/Pages/Onboarding/index.js +34 -0
  140. package/build/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
  141. package/build/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
  142. package/build/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
  143. package/build/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
  144. package/build/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
  145. package/build/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
  146. package/build/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
  147. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
  148. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
  149. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +72 -0
  150. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
  151. package/build/connectkit/src/components/Pages/SelectExchange/index.js +41 -0
  152. package/build/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
  153. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
  154. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
  155. package/build/connectkit/src/components/Pages/SelectMethod/index.js +230 -0
  156. package/build/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
  157. package/build/connectkit/src/components/Pages/SelectToken/index.js +97 -0
  158. package/build/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
  159. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js +66 -0
  160. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
  161. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
  162. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
  163. package/build/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
  164. package/build/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
  165. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
  166. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
  167. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
  168. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
  169. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
  170. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
  171. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
  172. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
  173. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js +503 -0
  174. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
  175. package/build/connectkit/src/components/Pages/WaitingExternal/index.js +89 -0
  176. package/build/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
  177. package/build/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
  178. package/build/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
  179. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
  180. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
  181. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
  182. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
  183. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
  184. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
  185. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
  186. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
  187. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
  188. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
  189. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
  190. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
  191. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
  192. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
  193. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
  194. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
  195. package/build/connectkit/src/components/Spinners/styles.js +32 -0
  196. package/build/connectkit/src/components/Spinners/styles.js.map +1 -0
  197. package/build/connectkit/src/constants/defaultTheme.js +6 -0
  198. package/build/connectkit/src/constants/defaultTheme.js.map +1 -0
  199. package/build/connectkit/src/constants/routes.js +32 -0
  200. package/build/connectkit/src/constants/routes.js.map +1 -0
  201. package/build/connectkit/src/defaultConfig.js +63 -0
  202. package/build/connectkit/src/defaultConfig.js.map +1 -0
  203. package/build/connectkit/src/defaultConnectors.js +37 -0
  204. package/build/connectkit/src/defaultConnectors.js.map +1 -0
  205. package/build/connectkit/src/hooks/useChainIsSupported.js +10 -0
  206. package/build/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
  207. package/build/connectkit/src/hooks/useChains.js +10 -0
  208. package/build/connectkit/src/hooks/useChains.js.map +1 -0
  209. package/build/connectkit/src/hooks/useConnect.js +61 -0
  210. package/build/connectkit/src/hooks/useConnect.js.map +1 -0
  211. package/build/connectkit/src/hooks/useConnectCallback.js +21 -0
  212. package/build/connectkit/src/hooks/useConnectCallback.js.map +1 -0
  213. package/build/connectkit/src/hooks/useConnectors.js +9 -0
  214. package/build/connectkit/src/hooks/useConnectors.js.map +1 -0
  215. package/build/connectkit/src/hooks/useDaimoPay.js +107 -0
  216. package/build/connectkit/src/hooks/useDaimoPay.js.map +1 -0
  217. package/build/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
  218. package/build/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
  219. package/build/connectkit/src/hooks/useDaimoPayUI.js +15 -0
  220. package/build/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
  221. package/build/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
  222. package/build/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
  223. package/build/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
  224. package/build/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
  225. package/build/connectkit/src/hooks/useExternalPaymentOptions.js +64 -0
  226. package/build/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
  227. package/build/connectkit/src/hooks/useFitText.js +133 -0
  228. package/build/connectkit/src/hooks/useFitText.js.map +1 -0
  229. package/build/connectkit/src/hooks/useFocusTrap.js +53 -0
  230. package/build/connectkit/src/hooks/useFocusTrap.js.map +1 -0
  231. package/build/connectkit/src/hooks/useIsMobile.js +11 -0
  232. package/build/connectkit/src/hooks/useIsMobile.js.map +1 -0
  233. package/build/connectkit/src/hooks/useIsMounted.js +10 -0
  234. package/build/connectkit/src/hooks/useIsMounted.js.map +1 -0
  235. package/build/connectkit/src/hooks/useLastConnector.js +24 -0
  236. package/build/connectkit/src/hooks/useLastConnector.js.map +1 -0
  237. package/build/connectkit/src/hooks/useLocales.js +60 -0
  238. package/build/connectkit/src/hooks/useLocales.js.map +1 -0
  239. package/build/connectkit/src/hooks/useLockBodyScroll.js +47 -0
  240. package/build/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
  241. package/build/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
  242. package/build/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
  243. package/build/connectkit/src/hooks/usePayContext.js +11 -0
  244. package/build/connectkit/src/hooks/usePayContext.js.map +1 -0
  245. package/build/connectkit/src/hooks/usePaymentState.js +376 -0
  246. package/build/connectkit/src/hooks/usePaymentState.js.map +1 -0
  247. package/build/connectkit/src/hooks/usePrevious.js +13 -0
  248. package/build/connectkit/src/hooks/usePrevious.js.map +1 -0
  249. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js +40 -0
  250. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
  251. package/build/connectkit/src/hooks/useTokenOptions.js +152 -0
  252. package/build/connectkit/src/hooks/useTokenOptions.js.map +1 -0
  253. package/build/connectkit/src/hooks/useUntronAvailability.js +32 -0
  254. package/build/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
  255. package/build/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
  256. package/build/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
  257. package/build/connectkit/src/hooks/useWindowSize.js +23 -0
  258. package/build/connectkit/src/hooks/useWindowSize.js.map +1 -0
  259. package/build/connectkit/src/index.js +14 -0
  260. package/build/connectkit/src/index.js.map +1 -0
  261. package/build/connectkit/src/localizations/index.js +48 -0
  262. package/build/connectkit/src/localizations/index.js.map +1 -0
  263. package/build/connectkit/src/localizations/locales/ar-AE.js +95 -0
  264. package/build/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
  265. package/build/connectkit/src/localizations/locales/ca-AD.js +93 -0
  266. package/build/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
  267. package/build/connectkit/src/localizations/locales/ee-EE.js +101 -0
  268. package/build/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
  269. package/build/connectkit/src/localizations/locales/en-US.js +139 -0
  270. package/build/connectkit/src/localizations/locales/en-US.js.map +1 -0
  271. package/build/connectkit/src/localizations/locales/es-ES.js +131 -0
  272. package/build/connectkit/src/localizations/locales/es-ES.js.map +1 -0
  273. package/build/connectkit/src/localizations/locales/fa-IR.js +93 -0
  274. package/build/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
  275. package/build/connectkit/src/localizations/locales/fr-FR.js +93 -0
  276. package/build/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
  277. package/build/connectkit/src/localizations/locales/ja-JP.js +93 -0
  278. package/build/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
  279. package/build/connectkit/src/localizations/locales/pt-BR.js +101 -0
  280. package/build/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
  281. package/build/connectkit/src/localizations/locales/ru-RU.js +97 -0
  282. package/build/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
  283. package/build/connectkit/src/localizations/locales/tr-TR.js +101 -0
  284. package/build/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
  285. package/build/connectkit/src/localizations/locales/vi-VN.js +101 -0
  286. package/build/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
  287. package/build/connectkit/src/localizations/locales/zh-CN.js +93 -0
  288. package/build/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
  289. package/build/connectkit/src/payment/paymentEffects.js +269 -0
  290. package/build/connectkit/src/payment/paymentEffects.js.map +1 -0
  291. package/build/connectkit/src/payment/paymentFsm.js +194 -0
  292. package/build/connectkit/src/payment/paymentFsm.js.map +1 -0
  293. package/build/connectkit/src/payment/paymentStore.js +18 -0
  294. package/build/connectkit/src/payment/paymentStore.js.map +1 -0
  295. package/build/connectkit/src/payment/paymentUtils.js +10 -0
  296. package/build/connectkit/src/payment/paymentUtils.js.map +1 -0
  297. package/build/connectkit/src/provider/DaimoPayProvider.js +293 -0
  298. package/build/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
  299. package/build/connectkit/src/provider/PayContext.js +6 -0
  300. package/build/connectkit/src/provider/PayContext.js.map +1 -0
  301. package/build/connectkit/src/provider/PaymentProvider.js +29 -0
  302. package/build/connectkit/src/provider/PaymentProvider.js.map +1 -0
  303. package/build/connectkit/src/provider/SolanaContextProvider.js +14 -0
  304. package/build/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
  305. package/build/connectkit/src/provider/Web3ContextProvider.js +36 -0
  306. package/build/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
  307. package/build/connectkit/src/stateStore.js +36 -0
  308. package/build/connectkit/src/stateStore.js.map +1 -0
  309. package/build/connectkit/src/styles/defaultTheme.js +80 -0
  310. package/build/connectkit/src/styles/defaultTheme.js.map +1 -0
  311. package/build/connectkit/src/styles/index.js +313 -0
  312. package/build/connectkit/src/styles/index.js.map +1 -0
  313. package/build/connectkit/src/styles/styled/index.js +6 -0
  314. package/build/connectkit/src/styles/styled/index.js.map +1 -0
  315. package/build/connectkit/src/styles/themes/base.js +141 -0
  316. package/build/connectkit/src/styles/themes/base.js.map +1 -0
  317. package/build/connectkit/src/styles/themes/index.js +13 -0
  318. package/build/connectkit/src/styles/themes/index.js.map +1 -0
  319. package/build/connectkit/src/styles/themes/midnight.js +76 -0
  320. package/build/connectkit/src/styles/themes/midnight.js.map +1 -0
  321. package/build/connectkit/src/styles/themes/minimal.js +96 -0
  322. package/build/connectkit/src/styles/themes/minimal.js.map +1 -0
  323. package/build/connectkit/src/styles/themes/nouns.js +81 -0
  324. package/build/connectkit/src/styles/themes/nouns.js.map +1 -0
  325. package/build/connectkit/src/styles/themes/retro.js +106 -0
  326. package/build/connectkit/src/styles/themes/retro.js.map +1 -0
  327. package/build/connectkit/src/styles/themes/rounded.js +106 -0
  328. package/build/connectkit/src/styles/themes/rounded.js.map +1 -0
  329. package/build/connectkit/src/styles/themes/soft.js +71 -0
  330. package/build/connectkit/src/styles/themes/soft.js.map +1 -0
  331. package/build/connectkit/src/styles/themes/web95.js +132 -0
  332. package/build/connectkit/src/styles/themes/web95.js.map +1 -0
  333. package/build/connectkit/src/utils/exports.js +6 -0
  334. package/build/connectkit/src/utils/exports.js.map +1 -0
  335. package/build/connectkit/src/utils/format.js +45 -0
  336. package/build/connectkit/src/utils/format.js.map +1 -0
  337. package/build/connectkit/src/utils/index.js +42 -0
  338. package/build/connectkit/src/utils/index.js.map +1 -0
  339. package/build/connectkit/src/utils/p3.js +15 -0
  340. package/build/connectkit/src/utils/p3.js.map +1 -0
  341. package/build/connectkit/src/utils/platform.js +11 -0
  342. package/build/connectkit/src/utils/platform.js.map +1 -0
  343. package/build/connectkit/src/utils/polling.js +35 -0
  344. package/build/connectkit/src/utils/polling.js.map +1 -0
  345. package/build/connectkit/src/utils/supportUrl.js +16 -0
  346. package/build/connectkit/src/utils/supportUrl.js.map +1 -0
  347. package/build/connectkit/src/utils/trpc.js +19 -0
  348. package/build/connectkit/src/utils/trpc.js.map +1 -0
  349. package/build/connectkit/src/utils/validateInput.js +16 -0
  350. package/build/connectkit/src/utils/validateInput.js.map +1 -0
  351. package/build/connectkit/src/wallets/index.js +21 -0
  352. package/build/connectkit/src/wallets/index.js.map +1 -0
  353. package/build/connectkit/src/wallets/useWallets.js +207 -0
  354. package/build/connectkit/src/wallets/useWallets.js.map +1 -0
  355. package/build/connectkit/src/wallets/walletConfigs.js +277 -0
  356. package/build/connectkit/src/wallets/walletConfigs.js.map +1 -0
  357. package/build/connectkit/src/world-mini-app/WorldPayButton.js +148 -0
  358. package/build/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
  359. package/build/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
  360. package/build/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
  361. package/build/connectkit/src/world.js +2 -0
  362. package/build/connectkit/src/world.js.map +1 -0
  363. package/build/package.json.js +2 -2
  364. package/build/pay-common/src/chain.js +9 -0
  365. package/build/pay-common/src/chain.js.map +1 -0
  366. package/build/src/assets/coins.js +43 -0
  367. package/build/src/assets/coins.js.map +1 -0
  368. package/build/src/components/Common/CopyToClipboard/index.js +33 -0
  369. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
  370. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +1 -1
  371. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  372. package/build/src/components/DaimoPayModal/index.js +36 -3
  373. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  374. package/build/src/components/Pages/DownloadApp/index.js +35 -0
  375. package/build/src/components/Pages/DownloadApp/index.js.map +1 -0
  376. package/build/src/components/Pages/SelectMethod/index.js +7 -2
  377. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  378. package/build/src/components/Pages/SelectToken/index.js +3 -1
  379. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  380. package/build/src/hooks/useConnectors.js +12 -1
  381. package/build/src/hooks/useConnectors.js.map +1 -1
  382. package/build/src/localizations/locales/en-US.js +1 -1
  383. package/build/src/localizations/locales/en-US.js.map +1 -1
  384. package/build/src/localizations/locales/es-ES.js +1 -1
  385. package/build/src/localizations/locales/es-ES.js.map +1 -1
  386. package/build/src/wallets/useWallets.js +1 -0
  387. package/build/src/wallets/useWallets.js.map +1 -1
  388. package/build/types-20835014.d.ts +68 -0
  389. package/package.json +2 -2
@@ -0,0 +1,335 @@
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 { usePayContext } from '../../../hooks/usePayContext.js';
14
+ import { detectBrowser } from '../../../utils/index.js';
15
+ import { useWallet } from '../../../wallets/useWallets.js';
16
+ import BrowserIcon from '../../Common/BrowserIcon/index.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
+ } else {
63
+ setStatus(states.UNAVAILABLE);
64
+ }
65
+ },
66
+ onError(err) {
67
+ console.error(err);
68
+ },
69
+ onSettled(data, error) {
70
+ if (error) {
71
+ setShowTryAgainTooltip(true);
72
+ setTimeout(() => setShowTryAgainTooltip(false), 3500);
73
+ if (error.code) {
74
+ switch (error.code) {
75
+ case -32002:
76
+ setStatus(states.NOTCONNECTED);
77
+ break;
78
+ case 4001:
79
+ setStatus(states.REJECTED);
80
+ break;
81
+ default:
82
+ setStatus(states.FAILED);
83
+ break;
84
+ }
85
+ } else {
86
+ if (error.message) {
87
+ switch (error.message) {
88
+ case "User rejected request":
89
+ setStatus(states.REJECTED);
90
+ break;
91
+ default:
92
+ setStatus(states.FAILED);
93
+ break;
94
+ }
95
+ }
96
+ }
97
+ }
98
+ setTimeout(triggerResize, 100);
99
+ }
100
+ }
101
+ });
102
+ const { triggerResize } = usePayContext();
103
+ const { pendingConnectorId } = usePayContext();
104
+ const wallet = useWallet(pendingConnectorId ?? "");
105
+ const walletInfo = {
106
+ name: wallet?.name,
107
+ shortName: wallet?.shortName ?? wallet?.name,
108
+ icon: wallet?.iconConnector ?? wallet?.icon,
109
+ iconShape: wallet?.iconShape ?? "circle",
110
+ iconShouldShrink: wallet?.iconShouldShrink
111
+ };
112
+ const [showTryAgainTooltip, setShowTryAgainTooltip] = useState(false);
113
+ const browser = detectBrowser();
114
+ const extensionUrl = wallet?.downloadUrls?.[browser];
115
+ const suggestedExtension = wallet?.downloadUrls ? {
116
+ name: Object.keys(wallet?.downloadUrls)[0],
117
+ label: Object.keys(wallet?.downloadUrls)[0]?.charAt(0).toUpperCase() + Object.keys(wallet?.downloadUrls)[0]?.slice(1),
118
+ // Capitalise first letter, but this might be better suited as a lookup table
119
+ url: wallet?.downloadUrls[Object.keys(wallet?.downloadUrls)[0]]
120
+ } : void 0;
121
+ const [status, setStatus] = useState(
122
+ forceState ? forceState : !wallet?.isInstalled ? states.UNAVAILABLE : states.CONNECTING
123
+ );
124
+ const locales = useLocales({
125
+ CONNECTORNAME: walletInfo.name,
126
+ CONNECTORSHORTNAME: walletInfo.shortName ?? walletInfo.name,
127
+ SUGGESTEDEXTENSIONBROWSER: suggestedExtension?.label ?? "your browser"
128
+ });
129
+ const runConnect = async () => {
130
+ if (wallet?.isInstalled && wallet?.connector) {
131
+ connect({ connector: wallet?.connector });
132
+ } else {
133
+ setStatus(states.UNAVAILABLE);
134
+ }
135
+ };
136
+ useEffect(() => {
137
+ if (status === states.UNAVAILABLE) return;
138
+ const connectTimeout = setTimeout(runConnect, 600);
139
+ return () => {
140
+ clearTimeout(connectTimeout);
141
+ };
142
+ }, []);
143
+ if (!wallet) {
144
+ return /* @__PURE__ */ jsx(PageContent, { children: /* @__PURE__ */ jsxs(Container, { children: [
145
+ /* @__PURE__ */ jsx(ModalHeading, { children: locales.invalidState_heading }),
146
+ /* @__PURE__ */ jsx(ModalContent, { children: /* @__PURE__ */ jsx(Alert, { children: locales.invalidState_description }) })
147
+ ] }) });
148
+ }
149
+ return /* @__PURE__ */ jsx(PageContent, { children: /* @__PURE__ */ jsxs(Container, { children: [
150
+ /* @__PURE__ */ jsx(ConnectingContainer, { children: /* @__PURE__ */ jsxs(
151
+ ConnectingAnimation,
152
+ {
153
+ $shake: status === states.FAILED || status === states.REJECTED,
154
+ $circle: walletInfo.iconShape === "circle",
155
+ children: [
156
+ /* @__PURE__ */ jsx(AnimatePresence, { children: (status === states.FAILED || status === states.REJECTED) && /* @__PURE__ */ jsx(
157
+ RetryButton,
158
+ {
159
+ "aria-label": locales.retry,
160
+ initial: { opacity: 0, scale: 0.8 },
161
+ animate: { opacity: 1, scale: 1 },
162
+ exit: { opacity: 0, scale: 0.8 },
163
+ whileTap: { scale: 0.9 },
164
+ transition: { duration: 0.1 },
165
+ onClick: runConnect,
166
+ children: /* @__PURE__ */ jsx(RetryIconContainer, { children: /* @__PURE__ */ jsx(
167
+ Tooltip,
168
+ {
169
+ open: showTryAgainTooltip && (status === states.FAILED || status === states.REJECTED),
170
+ message: locales.tryAgainQuestion,
171
+ xOffset: -6,
172
+ children: /* @__PURE__ */ jsx(RetryIconCircle, {})
173
+ }
174
+ ) })
175
+ }
176
+ ) }),
177
+ walletInfo.iconShape === "circle" ? /* @__PURE__ */ jsx(
178
+ CircleSpinner,
179
+ {
180
+ logo: status === states.UNAVAILABLE ? /* @__PURE__ */ jsx(
181
+ "div",
182
+ {
183
+ style: {
184
+ transform: "scale(1.14)",
185
+ position: "relative",
186
+ width: "100%"
187
+ },
188
+ children: walletInfo.icon
189
+ }
190
+ ) : /* @__PURE__ */ jsx(Fragment, { children: walletInfo.icon }),
191
+ smallLogo: walletInfo.iconShouldShrink,
192
+ loading: status === states.CONNECTING,
193
+ unavailable: status === states.UNAVAILABLE
194
+ }
195
+ ) : /* @__PURE__ */ jsx(
196
+ SquircleSpinner,
197
+ {
198
+ logo: status === states.UNAVAILABLE ? /* @__PURE__ */ jsx(
199
+ "div",
200
+ {
201
+ style: {
202
+ transform: "scale(1.14)",
203
+ position: "relative",
204
+ width: "100%"
205
+ },
206
+ children: walletInfo.icon
207
+ }
208
+ ) : /* @__PURE__ */ jsx(Fragment, { children: walletInfo.icon }),
209
+ loading: status === states.CONNECTING
210
+ }
211
+ )
212
+ ]
213
+ }
214
+ ) }),
215
+ /* @__PURE__ */ jsx(ModalContentContainer, { children: /* @__PURE__ */ jsxs(AnimatePresence, { initial: false, children: [
216
+ status === states.FAILED && /* @__PURE__ */ jsx(
217
+ Content,
218
+ {
219
+ initial: "initial",
220
+ animate: "animate",
221
+ exit: "exit",
222
+ variants: contentVariants,
223
+ children: /* @__PURE__ */ jsxs(ModalContent, { children: [
224
+ /* @__PURE__ */ jsxs(ModalH1, { $error: true, children: [
225
+ /* @__PURE__ */ jsx(AlertIcon, {}),
226
+ locales.injectionScreen_failed_h1
227
+ ] }),
228
+ /* @__PURE__ */ jsx(ModalBody, { children: locales.injectionScreen_failed_p })
229
+ ] })
230
+ },
231
+ states.FAILED
232
+ ),
233
+ status === states.REJECTED && /* @__PURE__ */ jsx(
234
+ Content,
235
+ {
236
+ initial: "initial",
237
+ animate: "animate",
238
+ exit: "exit",
239
+ variants: contentVariants,
240
+ children: /* @__PURE__ */ jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [
241
+ /* @__PURE__ */ jsx(ModalH1, { children: locales.injectionScreen_rejected_h1 }),
242
+ /* @__PURE__ */ jsx(ModalBody, { children: locales.injectionScreen_rejected_p })
243
+ ] })
244
+ },
245
+ states.REJECTED
246
+ ),
247
+ (status === states.CONNECTING || status === states.EXPIRING) && /* @__PURE__ */ jsx(
248
+ Content,
249
+ {
250
+ initial: "initial",
251
+ animate: "animate",
252
+ exit: "exit",
253
+ variants: contentVariants,
254
+ children: /* @__PURE__ */ jsxs(ModalContent, { style: { paddingBottom: 28 }, children: [
255
+ /* @__PURE__ */ jsx(ModalH1, { children: wallet.connector?.id === "injected" ? locales.injectionScreen_connecting_injected_h1 : locales.injectionScreen_connecting_h1 }),
256
+ /* @__PURE__ */ jsx(ModalBody, { children: wallet.connector?.id === "injected" ? locales.injectionScreen_connecting_injected_p : locales.injectionScreen_connecting_p }),
257
+ /* @__PURE__ */ jsxs(Button, { icon: /* @__PURE__ */ jsx(ExternalLinkIcon, {}), onClick: runConnect, children: [
258
+ "Connect ",
259
+ walletInfo.name
260
+ ] })
261
+ ] })
262
+ },
263
+ states.CONNECTING
264
+ ),
265
+ status === states.CONNECTED && /* @__PURE__ */ jsx(
266
+ Content,
267
+ {
268
+ initial: "initial",
269
+ animate: "animate",
270
+ exit: "exit",
271
+ variants: contentVariants,
272
+ children: /* @__PURE__ */ jsxs(ModalContent, { children: [
273
+ /* @__PURE__ */ jsxs(ModalH1, { $valid: true, children: [
274
+ /* @__PURE__ */ jsx(TickIcon, {}),
275
+ " ",
276
+ locales.injectionScreen_connected_h1
277
+ ] }),
278
+ /* @__PURE__ */ jsx(ModalBody, { children: locales.injectionScreen_connected_p })
279
+ ] })
280
+ },
281
+ states.CONNECTED
282
+ ),
283
+ status === states.NOTCONNECTED && /* @__PURE__ */ jsx(
284
+ Content,
285
+ {
286
+ initial: "initial",
287
+ animate: "animate",
288
+ exit: "exit",
289
+ variants: contentVariants,
290
+ children: /* @__PURE__ */ jsxs(ModalContent, { children: [
291
+ /* @__PURE__ */ jsx(ModalH1, { children: locales.injectionScreen_notconnected_h1 }),
292
+ /* @__PURE__ */ jsx(ModalBody, { children: locales.injectionScreen_notconnected_p })
293
+ ] })
294
+ },
295
+ states.NOTCONNECTED
296
+ ),
297
+ status === states.UNAVAILABLE && /* @__PURE__ */ jsx(
298
+ Content,
299
+ {
300
+ initial: "initial",
301
+ animate: "animate",
302
+ exit: "exit",
303
+ variants: contentVariants,
304
+ children: !extensionUrl ? /* @__PURE__ */ jsxs(Fragment, { children: [
305
+ /* @__PURE__ */ jsxs(ModalContent, { style: { paddingBottom: 12 }, children: [
306
+ /* @__PURE__ */ jsx(ModalH1, { children: locales.injectionScreen_unavailable_h1 }),
307
+ /* @__PURE__ */ jsx(ModalBody, { children: locales.injectionScreen_unavailable_p })
308
+ ] }),
309
+ !wallet.isInstalled && suggestedExtension && /* @__PURE__ */ jsxs(
310
+ Button,
311
+ {
312
+ href: suggestedExtension?.url,
313
+ icon: /* @__PURE__ */ jsx(BrowserIcon, { browser: suggestedExtension?.name }),
314
+ children: [
315
+ "Install on ",
316
+ suggestedExtension?.label
317
+ ]
318
+ }
319
+ )
320
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
321
+ /* @__PURE__ */ jsxs(ModalContent, { style: { paddingBottom: 18 }, children: [
322
+ /* @__PURE__ */ jsx(ModalH1, { children: locales.injectionScreen_install_h1 }),
323
+ /* @__PURE__ */ jsx(ModalBody, { children: locales.injectionScreen_install_p })
324
+ ] }),
325
+ !wallet.isInstalled && extensionUrl && /* @__PURE__ */ jsx(Button, { href: extensionUrl, icon: /* @__PURE__ */ jsx(BrowserIcon, {}), children: locales.installTheExtension })
326
+ ] })
327
+ },
328
+ states.UNAVAILABLE
329
+ )
330
+ ] }) })
331
+ ] }) });
332
+ };
333
+
334
+ export { ConnectWithInjector as default, states };
335
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DaimoPayModal/ConnectWithInjector/index.tsx"],"sourcesContent":["import { AnimatePresence, Variants } from \"framer-motion\";\nimport React, { useEffect, useState } from \"react\";\nimport {\n ConnectingAnimation,\n ConnectingContainer,\n Container,\n Content,\n RetryButton,\n RetryIconContainer,\n} from \"./styles\";\n\nimport Alert from \"../../Common/Alert\";\nimport Button from \"../../Common/Button\";\nimport {\n ModalBody,\n ModalContent,\n ModalContentContainer,\n ModalH1,\n ModalHeading,\n PageContent,\n} from \"../../Common/Modal/styles\";\nimport Tooltip from \"../../Common/Tooltip\";\n\nimport SquircleSpinner from \"../../Spinners/SquircleSpinner\";\n\nimport {\n AlertIcon,\n ExternalLinkIcon,\n RetryIconCircle,\n TickIcon,\n} from \"../../../assets/icons\";\nimport { useConnect } from \"../../../hooks/useConnect\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport { detectBrowser } from \"../../../utils\";\nimport { useWallet } from \"../../../wallets/useWallets\";\nimport BrowserIcon from \"../../Common/BrowserIcon\";\nimport CircleSpinner from \"../../Spinners/CircleSpinner\";\n\nexport const states = {\n CONNECTED: \"connected\",\n CONNECTING: \"connecting\",\n EXPIRING: \"expiring\",\n FAILED: \"failed\",\n REJECTED: \"rejected\",\n NOTCONNECTED: \"notconnected\",\n UNAVAILABLE: \"unavailable\",\n};\n\nconst contentVariants: Variants = {\n initial: {\n willChange: \"transform,opacity\",\n position: \"relative\",\n opacity: 0,\n scale: 0.95,\n },\n animate: {\n position: \"relative\",\n opacity: 1,\n scale: 1,\n transition: {\n ease: [0.16, 1, 0.3, 1],\n duration: 0.4,\n delay: 0.05,\n position: { delay: 0 },\n },\n },\n exit: {\n position: \"absolute\",\n opacity: 0,\n scale: 0.95,\n transition: {\n ease: [0.16, 1, 0.3, 1],\n duration: 0.3,\n },\n },\n};\n\nconst ConnectWithInjector: React.FC<{\n switchConnectMethod: (id?: string) => void;\n forceState?: typeof states;\n}> = ({ switchConnectMethod, forceState }) => {\n const { connect } = useConnect({\n mutation: {\n onMutate: (connector?: any) => {\n if (connector.connector) {\n setStatus(states.CONNECTING);\n } else {\n setStatus(states.UNAVAILABLE);\n }\n },\n onError(err?: any) {\n console.error(err);\n },\n onSettled(data?: any, error?: any) {\n if (error) {\n setShowTryAgainTooltip(true);\n setTimeout(() => setShowTryAgainTooltip(false), 3500);\n if (error.code) {\n // https://github.com/MetaMask/eth-rpc-errors/blob/main/src/error-constants.ts\n switch (error.code) {\n case -32002:\n setStatus(states.NOTCONNECTED);\n break;\n case 4001:\n setStatus(states.REJECTED);\n break;\n default:\n setStatus(states.FAILED);\n break;\n }\n } else {\n // Sometimes the error doesn't respond with a code\n if (error.message) {\n switch (error.message) {\n case \"User rejected request\":\n setStatus(states.REJECTED);\n break;\n default:\n setStatus(states.FAILED);\n break;\n }\n }\n }\n } else if (data) {\n }\n setTimeout(triggerResize, 100);\n },\n },\n });\n\n const { triggerResize } = usePayContext();\n const { pendingConnectorId } = usePayContext();\n const wallet = useWallet(pendingConnectorId ?? \"\");\n\n const walletInfo = {\n name: wallet?.name,\n shortName: wallet?.shortName ?? wallet?.name,\n icon: wallet?.iconConnector ?? wallet?.icon,\n iconShape: wallet?.iconShape ?? \"circle\",\n iconShouldShrink: wallet?.iconShouldShrink,\n };\n\n const [showTryAgainTooltip, setShowTryAgainTooltip] = useState(false);\n\n const browser = detectBrowser();\n\n const extensionUrl = wallet?.downloadUrls?.[browser];\n\n const suggestedExtension = wallet?.downloadUrls\n ? {\n name: Object.keys(wallet?.downloadUrls)[0],\n label:\n Object.keys(wallet?.downloadUrls)[0]?.charAt(0).toUpperCase() +\n Object.keys(wallet?.downloadUrls)[0]?.slice(1), // Capitalise first letter, but this might be better suited as a lookup table\n url: wallet?.downloadUrls[Object.keys(wallet?.downloadUrls)[0]],\n }\n : undefined;\n\n const [status, setStatus] = useState(\n forceState\n ? forceState\n : !wallet?.isInstalled\n ? states.UNAVAILABLE\n : states.CONNECTING,\n );\n\n const locales = useLocales({\n CONNECTORNAME: walletInfo.name,\n CONNECTORSHORTNAME: walletInfo.shortName ?? walletInfo.name,\n SUGGESTEDEXTENSIONBROWSER: suggestedExtension?.label ?? \"your browser\",\n });\n\n const runConnect = async () => {\n if (wallet?.isInstalled && wallet?.connector) {\n connect({ connector: wallet?.connector });\n } else {\n setStatus(states.UNAVAILABLE);\n }\n };\n\n useEffect(() => {\n if (status === states.UNAVAILABLE) return;\n\n // UX: Give user time to see the UI before opening the extension\n const connectTimeout = setTimeout(runConnect, 600);\n return () => {\n clearTimeout(connectTimeout);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n /** Timeout functionality if necessary\n let expiryTimeout: any;\n useEffect(() => {\n if (status === states.EXPIRING) {\n expiryTimeout = setTimeout(\n () => {\n if (expiryTimer <= 0) {\n setStatus(states.FAILED);\n setExpiryTimer(expiryDefault);\n } else {\n setExpiryTimer(expiryTimer - 1);\n }\n },\n expiryTimer === 9 ? 1500 : 1000 // Google: Chronostasis\n );\n }\n return () => {\n clearTimeout(expiryTimeout);\n };\n }, [status, expiryTimer]);\n */\n\n if (!wallet) {\n return (\n <PageContent>\n <Container>\n <ModalHeading>{locales.invalidState_heading}</ModalHeading>\n <ModalContent>\n <Alert>{locales.invalidState_description}</Alert>\n </ModalContent>\n </Container>\n </PageContent>\n );\n }\n\n return (\n <PageContent>\n <Container>\n <ConnectingContainer>\n <ConnectingAnimation\n $shake={status === states.FAILED || status === states.REJECTED}\n $circle={walletInfo.iconShape === \"circle\"}\n >\n <AnimatePresence>\n {(status === states.FAILED || status === states.REJECTED) && (\n <RetryButton\n aria-label={locales.retry}\n initial={{ opacity: 0, scale: 0.8 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.8 }}\n whileTap={{ scale: 0.9 }}\n transition={{ duration: 0.1 }}\n onClick={runConnect}\n >\n <RetryIconContainer>\n <Tooltip\n open={\n showTryAgainTooltip &&\n (status === states.FAILED || status === states.REJECTED)\n }\n message={locales.tryAgainQuestion}\n xOffset={-6}\n >\n <RetryIconCircle />\n </Tooltip>\n </RetryIconContainer>\n </RetryButton>\n )}\n </AnimatePresence>\n {walletInfo.iconShape === \"circle\" ? (\n <CircleSpinner\n logo={\n status === states.UNAVAILABLE ? (\n <div\n style={{\n transform: \"scale(1.14)\",\n position: \"relative\",\n width: \"100%\",\n }}\n >\n {walletInfo.icon}\n </div>\n ) : (\n <>{walletInfo.icon}</>\n )\n }\n smallLogo={walletInfo.iconShouldShrink}\n loading={status === states.CONNECTING}\n unavailable={status === states.UNAVAILABLE}\n />\n ) : (\n <SquircleSpinner\n logo={\n status === states.UNAVAILABLE ? (\n <div\n style={{\n transform: \"scale(1.14)\",\n position: \"relative\",\n width: \"100%\",\n }}\n >\n {walletInfo.icon}\n </div>\n ) : (\n <>{walletInfo.icon}</>\n )\n }\n loading={status === states.CONNECTING}\n //unavailable={status === states.UNAVAILABLE}\n />\n )}\n {/* </Tooltip> */}\n </ConnectingAnimation>\n </ConnectingContainer>\n <ModalContentContainer>\n <AnimatePresence initial={false}>\n {status === states.FAILED && (\n <Content\n key={states.FAILED}\n initial={\"initial\"}\n animate={\"animate\"}\n exit={\"exit\"}\n variants={contentVariants}\n >\n <ModalContent>\n <ModalH1 $error>\n <AlertIcon />\n {locales.injectionScreen_failed_h1}\n </ModalH1>\n <ModalBody>{locales.injectionScreen_failed_p}</ModalBody>\n </ModalContent>\n </Content>\n )}\n {status === states.REJECTED && (\n <Content\n key={states.REJECTED}\n initial={\"initial\"}\n animate={\"animate\"}\n exit={\"exit\"}\n variants={contentVariants}\n >\n <ModalContent style={{ paddingBottom: 28 }}>\n <ModalH1>{locales.injectionScreen_rejected_h1}</ModalH1>\n <ModalBody>{locales.injectionScreen_rejected_p}</ModalBody>\n </ModalContent>\n </Content>\n )}\n {(status === states.CONNECTING || status === states.EXPIRING) && (\n <Content\n key={states.CONNECTING}\n initial={\"initial\"}\n animate={\"animate\"}\n exit={\"exit\"}\n variants={contentVariants}\n >\n <ModalContent style={{ paddingBottom: 28 }}>\n <ModalH1>\n {wallet.connector?.id === \"injected\"\n ? locales.injectionScreen_connecting_injected_h1\n : locales.injectionScreen_connecting_h1}\n </ModalH1>\n <ModalBody>\n {wallet.connector?.id === \"injected\"\n ? locales.injectionScreen_connecting_injected_p\n : locales.injectionScreen_connecting_p}\n </ModalBody>\n <Button icon={<ExternalLinkIcon />} onClick={runConnect}>\n Connect {walletInfo.name}\n </Button>\n </ModalContent>\n </Content>\n )}\n {status === states.CONNECTED && (\n <Content\n key={states.CONNECTED}\n initial={\"initial\"}\n animate={\"animate\"}\n exit={\"exit\"}\n variants={contentVariants}\n >\n <ModalContent>\n <ModalH1 $valid>\n <TickIcon /> {locales.injectionScreen_connected_h1}\n </ModalH1>\n <ModalBody>{locales.injectionScreen_connected_p}</ModalBody>\n </ModalContent>\n </Content>\n )}\n {status === states.NOTCONNECTED && (\n <Content\n key={states.NOTCONNECTED}\n initial={\"initial\"}\n animate={\"animate\"}\n exit={\"exit\"}\n variants={contentVariants}\n >\n <ModalContent>\n <ModalH1>{locales.injectionScreen_notconnected_h1}</ModalH1>\n <ModalBody>\n {locales.injectionScreen_notconnected_p}\n </ModalBody>\n </ModalContent>\n </Content>\n )}\n {status === states.UNAVAILABLE && (\n <Content\n key={states.UNAVAILABLE}\n initial={\"initial\"}\n animate={\"animate\"}\n exit={\"exit\"}\n variants={contentVariants}\n >\n {!extensionUrl ? (\n <>\n <ModalContent style={{ paddingBottom: 12 }}>\n <ModalH1>\n {locales.injectionScreen_unavailable_h1}\n </ModalH1>\n <ModalBody>\n {locales.injectionScreen_unavailable_p}\n </ModalBody>\n </ModalContent>\n\n {!wallet.isInstalled && suggestedExtension && (\n <Button\n href={suggestedExtension?.url}\n icon={\n <BrowserIcon browser={suggestedExtension?.name} />\n }\n >\n Install on {suggestedExtension?.label}\n </Button>\n )}\n </>\n ) : (\n <>\n <ModalContent style={{ paddingBottom: 18 }}>\n <ModalH1>{locales.injectionScreen_install_h1}</ModalH1>\n <ModalBody>{locales.injectionScreen_install_p}</ModalBody>\n </ModalContent>\n {!wallet.isInstalled && extensionUrl && (\n <Button href={extensionUrl} icon={<BrowserIcon />}>\n {locales.installTheExtension}\n </Button>\n )}\n </>\n )}\n </Content>\n )}\n </AnimatePresence>\n </ModalContentContainer>\n </Container>\n </PageContent>\n );\n};\n\nexport default ConnectWithInjector;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
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 && css`
56
+ inset: -5px;
57
+ border-radius: 50%;
58
+ background: none;
59
+ box-shadow: inset 0 0 0 3.5px var(--ck-body-color-danger);
60
+ `}
61
+ }
62
+ ${(props) => props.$shake && css`
63
+ animation: ${shakeKeyframes} 220ms ease-out both;
64
+ &:before {
65
+ animation: ${outlineKeyframes} 220ms ease-out 750ms both;
66
+ }
67
+ `}
68
+ `;
69
+ const RetryButton = styled(motion.button)`
70
+ z-index: 5;
71
+ appearance: none;
72
+ position: absolute;
73
+ right: 2px;
74
+ bottom: 2px;
75
+ padding: 0;
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ width: 32px;
80
+ height: 32px;
81
+ border-radius: 16px;
82
+ cursor: pointer;
83
+ overflow: hidden;
84
+ background: none;
85
+
86
+ color: var(--ck-body-background);
87
+ transition: color 200ms ease;
88
+ box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.15);
89
+
90
+ &:before {
91
+ z-index: 3;
92
+ content: "";
93
+ position: absolute;
94
+ inset: 0;
95
+ opacity: 0;
96
+ transition: opacity 200ms ease;
97
+ background: var(--ck-body-color);
98
+ }
99
+
100
+ &:hover:before {
101
+ opacity: 0.1;
102
+ }
103
+ `;
104
+ const RetryIconContainer = styled(motion.div)`
105
+ position: absolute;
106
+ inset: 0;
107
+
108
+ &:before {
109
+ z-index: 1;
110
+ content: "";
111
+ position: absolute;
112
+ inset: 3px;
113
+ border-radius: 16px;
114
+ background: conic-gradient(
115
+ from 90deg,
116
+ currentColor 10%,
117
+ var(--ck-body-color) 80%
118
+ );
119
+ }
120
+
121
+ svg {
122
+ z-index: 2;
123
+ display: block;
124
+ position: relative;
125
+ width: 100%;
126
+ height: 100%;
127
+ }
128
+ `;
129
+
130
+ export { ConnectingAnimation, ConnectingContainer, Container, Content, RetryButton, RetryIconContainer };
131
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../src/components/DaimoPayModal/ConnectWithInjector/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { css, keyframes } from \"styled-components\";\nimport styled from \"./../../../styles/styled\";\n\nimport { ModalContent } from \"../../Common/Modal/styles\";\n\nexport const Content = styled(motion.div)`\n display: flex;\n flex-direction: column;\n gap: 6px;\n position: relative;\n left: 0;\n right: 0;\n ${ModalContent} {\n padding: 0 8px 32px;\n gap: 12px;\n }\n`;\n\nconst dist = 2;\nconst shakeKeyframes = keyframes`\n 0%{ transform:none; }\n 25%{ transform:translateX(${dist}px); }\n 50%{ transform:translateX(-${dist}px); }\n 75%{ transform:translateX(${dist}px); }\n 100%{ transform:none; }\n`;\nconst outlineKeyframes = keyframes`\n 0%{ opacity:1; }\n 100%{ opacity:0; }\n`;\nexport const Container = styled(motion.div)`\n /*\n background: var(\n --ck-body-background\n ); // To stop the overlay issue during transition for the squircle spinner\n */\n`;\nexport const ConnectingContainer = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 10px auto 16px;\n height: 120px;\n //transform: scale(1.001); // fixes shifting issue between states\n`;\nexport const ConnectingAnimation = styled(motion.div)<{\n $shake: boolean;\n $circle: boolean;\n}>`\n user-select: none;\n position: relative;\n --spinner-error-opacity: 0;\n &:before {\n content: \"\";\n position: absolute;\n inset: 1px;\n opacity: 0;\n background: var(--ck-body-color-danger);\n ${(props) =>\n props.$circle &&\n css`\n inset: -5px;\n border-radius: 50%;\n background: none;\n box-shadow: inset 0 0 0 3.5px var(--ck-body-color-danger);\n `}\n }\n ${(props) =>\n props.$shake &&\n css`\n animation: ${shakeKeyframes} 220ms ease-out both;\n &:before {\n animation: ${outlineKeyframes} 220ms ease-out 750ms both;\n }\n `}\n`;\n\nexport const RetryButton = styled(motion.button)`\n z-index: 5;\n appearance: none;\n position: absolute;\n right: 2px;\n bottom: 2px;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 16px;\n cursor: pointer;\n overflow: hidden;\n background: none;\n\n color: var(--ck-body-background);\n transition: color 200ms ease;\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.15);\n\n &:before {\n z-index: 3;\n content: \"\";\n position: absolute;\n inset: 0;\n opacity: 0;\n transition: opacity 200ms ease;\n background: var(--ck-body-color);\n }\n\n &:hover:before {\n opacity: 0.1;\n }\n`;\nexport const RetryIconContainer = styled(motion.div)`\n position: absolute;\n inset: 0;\n\n &:before {\n z-index: 1;\n content: \"\";\n position: absolute;\n inset: 3px;\n border-radius: 16px;\n background: conic-gradient(\n from 90deg,\n currentColor 10%,\n var(--ck-body-color) 80%\n );\n }\n\n svg {\n z-index: 2;\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n }\n`;\n"],"names":[],"mappings":";;;;;AAMa,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,EAOpC,YAAY,CAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAMhB,MAAM,IAAO,GAAA,CAAA,CAAA;AACb,MAAM,cAAiB,GAAA,SAAA,CAAA;AAAA;AAAA,4BAAA,EAEO,IAAI,CAAA;AAAA,6BAAA,EACH,IAAI,CAAA;AAAA,4BAAA,EACL,IAAI,CAAA;AAAA;AAAA,CAAA,CAAA;AAGlC,MAAM,gBAAmB,GAAA,SAAA,CAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAIZ,MAAA,SAAA,GAAY,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAO7B,MAAA,mBAAA,GAAsB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAQvC,MAAA,mBAAA,GAAsB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAa9C,EAAA,CAAC,KACD,KAAA,KAAA,CAAM,OACN,IAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAKC,CAAA,CAAA;AAAA;AAAA,EAEH,EAAA,CAAC,KACD,KAAA,KAAA,CAAM,MACN,IAAA,GAAA,CAAA;AAAA,iBAAA,EACe,cAAc,CAAA;AAAA;AAAA,mBAAA,EAEZ,gBAAgB,CAAA;AAAA;AAAA,IAEhC,CAAA,CAAA;AAAA,EAAA;AAGQ,MAAA,WAAA,GAAc,MAAO,CAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAmClC,MAAA,kBAAA,GAAqB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -0,0 +1,99 @@
1
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
+ import { ROUTES } from '../../constants/routes.js';
3
+ import { usePayContext } from '../../hooks/usePayContext.js';
4
+ import { OrDivider } from '../Common/Modal/index.js';
5
+ import { PageContent, ModalContent } from '../Common/Modal/styles.js';
6
+ import ScanIconWithLogos from '../../assets/ScanIconWithLogos.js';
7
+ import { useDaimoPay } from '../../hooks/useDaimoPay.js';
8
+ import useLocales from '../../hooks/useLocales.js';
9
+ import Button from '../Common/Button/index.js';
10
+ import '../Common/CopyToClipboard/index.js';
11
+ import CustomQRCode from '../Common/CustomQRCode/index.js';
12
+ import { writeDaimoPayOrderID } from '@daimo/pay-common';
13
+ import Logos, { SquircleIcon } from '../../assets/logos.js';
14
+ import { MobileWithLogos } from '../../assets/MobileWithLogos.js';
15
+ import { useWallet, WALLET_ID_MOBILE_WALLETS } from '../../wallets/useWallets.js';
16
+
17
+ const ConnectWithQRCode = ({
18
+ externalUrl
19
+ }) => {
20
+ const context = usePayContext();
21
+ const { pendingConnectorId, paymentState } = context;
22
+ const wallet = useWallet(pendingConnectorId ?? "");
23
+ const externalOption = paymentState.selectedExternalOption;
24
+ const pay = useDaimoPay();
25
+ const locales = useLocales({
26
+ CONNECTORNAME: wallet?.name ?? externalOption?.id
27
+ });
28
+ if (!wallet && !externalOption)
29
+ return /* @__PURE__ */ jsx(Fragment, { children: " No wallet or external option found " });
30
+ const downloads = wallet?.downloadUrls;
31
+ const hasApps = downloads && Object.keys(downloads).length !== 0;
32
+ const showAdditionalOptions = false;
33
+ const payId = pay.order ? writeDaimoPayOrderID(pay.order.id) : "";
34
+ const isDesktopLinkToMobileWallets = wallet?.id === WALLET_ID_MOBILE_WALLETS;
35
+ const mode = isDesktopLinkToMobileWallets ? "browser" : "wallet";
36
+ const worldDeeplink = wallet?.id === "world" && wallet?.getDaimoPayDeeplink ? wallet.getDaimoPayDeeplink(payId) : null;
37
+ const url = externalUrl ?? // QR code opens eg. Binance
38
+ worldDeeplink ?? // open in World App
39
+ `https://pay.daimo.com/pay?id=${payId}&mode=${mode}`;
40
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
41
+ /* @__PURE__ */ jsxs(ModalContent, { style: { paddingBottom: 8, gap: 14 }, children: [
42
+ /* @__PURE__ */ jsx(
43
+ CustomQRCode,
44
+ {
45
+ value: url,
46
+ image: wallet?.id === "world" ? /* @__PURE__ */ jsx(SquircleIcon, { icon: Logos.World, alt: "World" }) : externalOption?.logoURI ? /* @__PURE__ */ jsx(SquircleIcon, { icon: externalOption.logoURI, alt: "Logo" }) : /* @__PURE__ */ jsx(
47
+ "div",
48
+ {
49
+ style: {
50
+ width: "100%",
51
+ height: "100%",
52
+ borderRadius: "22.5%",
53
+ overflow: "hidden",
54
+ display: "flex",
55
+ alignItems: "center",
56
+ justifyContent: "center",
57
+ backgroundColor: "var(--ck-body-background)",
58
+ transform: "scale(1.3) translateY(5%)",
59
+ transformOrigin: "center center"
60
+ },
61
+ children: /* @__PURE__ */ jsx(MobileWithLogos, {})
62
+ }
63
+ ),
64
+ tooltipMessage: isDesktopLinkToMobileWallets ? /* @__PURE__ */ jsxs(Fragment, { children: [
65
+ /* @__PURE__ */ jsx(ScanIconWithLogos, {}),
66
+ /* @__PURE__ */ jsxs("span", { children: [
67
+ "Finish the payment ",
68
+ /* @__PURE__ */ jsx("br", {}),
69
+ "on your mobile phone"
70
+ ] })
71
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
72
+ /* @__PURE__ */ jsx(
73
+ ScanIconWithLogos,
74
+ {
75
+ logo: externalOption?.logoURI ? /* @__PURE__ */ jsx(SquircleIcon, { icon: externalOption.logoURI, alt: "Logo" }) : wallet?.icon
76
+ }
77
+ ),
78
+ /* @__PURE__ */ jsx("span", { children: locales.scanScreen_tooltip_default })
79
+ ] })
80
+ }
81
+ ),
82
+ hasApps && /* @__PURE__ */ jsx(OrDivider, { children: locales.dontHaveTheApp })
83
+ ] }),
84
+ showAdditionalOptions ,
85
+ hasApps && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
86
+ Button,
87
+ {
88
+ onClick: () => {
89
+ context.setRoute(ROUTES.DOWNLOAD);
90
+ },
91
+ download: true,
92
+ children: locales.getWalletName
93
+ }
94
+ ) })
95
+ ] });
96
+ };
97
+
98
+ export { ConnectWithQRCode as default };
99
+ //# sourceMappingURL=ConnectWithQRCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectWithQRCode.js","sources":["../../../../../src/components/DaimoPayModal/ConnectWithQRCode.tsx"],"sourcesContent":["import React from \"react\";\nimport { ROUTES } from \"../../constants/routes\";\nimport { usePayContext } from \"../../hooks/usePayContext\";\n\nimport { OrDivider } from \"../Common/Modal\";\nimport { ModalContent, PageContent } from \"../Common/Modal/styles\";\n\nimport ScanIconWithLogos from \"../../assets/ScanIconWithLogos\";\nimport { useDaimoPay } from \"../../hooks/useDaimoPay\";\nimport useLocales from \"../../hooks/useLocales\";\nimport Button from \"../Common/Button\";\nimport CopyToClipboard from \"../Common/CopyToClipboard\";\nimport CustomQRCode from \"../Common/CustomQRCode\";\n\nimport { writeDaimoPayOrderID } from \"@daimo/pay-common\";\nimport Logos, { SquircleIcon } from \"../../assets/logos\";\nimport MobileWithLogos from \"../../assets/MobileWithLogos\";\nimport { useWallet, WALLET_ID_MOBILE_WALLETS } from \"../../wallets/useWallets\";\n\n/**\n * Continues a Daimo Pay flow in another app.\n * - If the pendingConnectorId is a mobile wallet, deeplink directly into that\n * wallet. This opens the flow in eg. the Rainbow in-app browser, letting the\n * user finish the flow in a single app switch instead of multiple.\n * - If the pendingConnectorId is MOBILE_WALLETS_CONNECTOR_ID, then show a QR\n * that the user can scan from their phone. This opens the flow in eg. mobile\n * Safari, letting them pick which app they want to use & finish there.\n * - If the pendingConnectorId is world, then show a QR that the user can scan\n * from their phone. This deeplinks into the World Mini App\n */\nconst ConnectWithQRCode: React.FC<{ externalUrl: string }> = ({\n externalUrl,\n}) => {\n const context = usePayContext();\n const { pendingConnectorId, paymentState } = context;\n const wallet = useWallet(pendingConnectorId ?? \"\");\n const externalOption = paymentState.selectedExternalOption;\n const pay = useDaimoPay();\n\n const locales = useLocales({\n CONNECTORNAME: wallet?.name ?? externalOption?.id,\n });\n\n if (!wallet && !externalOption)\n return <> No wallet or external option found </>;\n\n const downloads = wallet?.downloadUrls;\n const hasApps = downloads && Object.keys(downloads).length !== 0;\n const showAdditionalOptions = false;\n const payId = pay.order ? writeDaimoPayOrderID(pay.order.id) : \"\";\n\n const isDesktopLinkToMobileWallets = wallet?.id === WALLET_ID_MOBILE_WALLETS;\n const mode = isDesktopLinkToMobileWallets ? \"browser\" : \"wallet\";\n const worldDeeplink =\n wallet?.id === \"world\" && wallet?.getDaimoPayDeeplink\n ? wallet.getDaimoPayDeeplink(payId)\n : null;\n const url =\n externalUrl ?? // QR code opens eg. Binance\n worldDeeplink ?? // open in World App\n `https://pay.daimo.com/pay?id=${payId}&mode=${mode}`; // browser\n\n return (\n <PageContent>\n <ModalContent style={{ paddingBottom: 8, gap: 14 }}>\n <CustomQRCode\n value={url}\n image={\n wallet?.id === \"world\" ? (\n <SquircleIcon icon={Logos.World} alt=\"World\" />\n ) : externalOption?.logoURI ? (\n <SquircleIcon icon={externalOption.logoURI} alt=\"Logo\" />\n ) : (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"22.5%\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"var(--ck-body-background)\",\n transform: \"scale(1.3) translateY(5%)\",\n transformOrigin: \"center center\",\n }}\n >\n <MobileWithLogos />\n </div>\n )\n }\n tooltipMessage={\n isDesktopLinkToMobileWallets ? (\n <>\n <ScanIconWithLogos />\n <span>\n Finish the payment <br />\n on your mobile phone\n </span>\n </>\n ) : (\n <>\n <ScanIconWithLogos\n logo={\n externalOption?.logoURI ? (\n <SquircleIcon icon={externalOption.logoURI} alt=\"Logo\" />\n ) : (\n wallet?.icon\n )\n }\n />\n <span>{locales.scanScreen_tooltip_default}</span>\n </>\n )\n }\n />\n {showAdditionalOptions ? (\n <OrDivider />\n ) : (\n hasApps && <OrDivider>{locales.dontHaveTheApp}</OrDivider>\n )}\n </ModalContent>\n\n {showAdditionalOptions && (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: 14,\n }}\n >\n <CopyToClipboard variant=\"button\" string={\"\"}>\n {locales.copyToClipboard}\n </CopyToClipboard>\n </div>\n )}\n\n {hasApps && (\n <>\n <Button\n onClick={() => {\n context.setRoute(ROUTES.DOWNLOAD);\n }}\n download\n >\n {locales.getWalletName}\n </Button>\n </>\n )}\n </PageContent>\n );\n};\n\nexport default ConnectWithQRCode;\n"],"names":[],"mappings":"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"}