@daimo/pay 1.17.3 → 1.17.5

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 (397) hide show
  1. package/build/connectkit/package.json.js +117 -0
  2. package/build/connectkit/package.json.js.map +1 -0
  3. package/build/connectkit/src/assets/MobileWithLogos.js +329 -0
  4. package/build/connectkit/src/assets/MobileWithLogos.js.map +1 -0
  5. package/build/connectkit/src/assets/ScanIconWithLogos.js +243 -0
  6. package/build/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
  7. package/build/connectkit/src/assets/browsers.js +969 -0
  8. package/build/connectkit/src/assets/browsers.js.map +1 -0
  9. package/build/connectkit/src/assets/chains.js +648 -0
  10. package/build/connectkit/src/assets/chains.js.map +1 -0
  11. package/build/connectkit/src/assets/coins.js +43 -0
  12. package/build/connectkit/src/assets/coins.js.map +1 -0
  13. package/build/connectkit/src/assets/icons.js +273 -0
  14. package/build/connectkit/src/assets/icons.js.map +1 -0
  15. package/build/connectkit/src/assets/logos.js +1620 -0
  16. package/build/connectkit/src/assets/logos.js.map +1 -0
  17. package/build/connectkit/src/assets/wave.js +46 -0
  18. package/build/connectkit/src/assets/wave.js.map +1 -0
  19. package/build/connectkit/src/components/Common/Alert/index.js +13 -0
  20. package/build/connectkit/src/components/Common/Alert/index.js.map +1 -0
  21. package/build/connectkit/src/components/Common/Alert/styles.js +55 -0
  22. package/build/connectkit/src/components/Common/Alert/styles.js.map +1 -0
  23. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
  24. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
  25. package/build/connectkit/src/components/Common/AmountInput/index.js +159 -0
  26. package/build/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
  27. package/build/connectkit/src/components/Common/Avatar/index.js +78 -0
  28. package/build/connectkit/src/components/Common/Avatar/index.js.map +1 -0
  29. package/build/connectkit/src/components/Common/Avatar/styles.js +54 -0
  30. package/build/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
  31. package/build/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
  32. package/build/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
  33. package/build/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
  34. package/build/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
  35. package/build/connectkit/src/components/Common/Button/index.js +144 -0
  36. package/build/connectkit/src/components/Common/Button/index.js.map +1 -0
  37. package/build/connectkit/src/components/Common/Button/styles.js +287 -0
  38. package/build/connectkit/src/components/Common/Button/styles.js.map +1 -0
  39. package/build/connectkit/src/components/Common/Chain/index.js +141 -0
  40. package/build/connectkit/src/components/Common/Chain/index.js.map +1 -0
  41. package/build/connectkit/src/components/Common/Chain/styles.js +90 -0
  42. package/build/connectkit/src/components/Common/Chain/styles.js.map +1 -0
  43. package/build/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
  44. package/build/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
  45. package/build/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
  46. package/build/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
  47. package/build/connectkit/src/components/Common/CircleTimer.js +92 -0
  48. package/build/connectkit/src/components/Common/CircleTimer.js.map +1 -0
  49. package/build/connectkit/src/components/Common/ConnectorList/index.js +120 -0
  50. package/build/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
  51. package/build/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
  52. package/build/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
  53. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
  54. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
  55. package/build/connectkit/src/components/Common/CopyToClipboard/index.js +33 -0
  56. package/build/connectkit/src/components/Common/CopyToClipboard/index.js.map +1 -0
  57. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js +128 -0
  58. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
  59. package/build/connectkit/src/components/Common/CustomQRCode/index.js +71 -0
  60. package/build/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
  61. package/build/connectkit/src/components/Common/CustomQRCode/styles.js +139 -0
  62. package/build/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
  63. package/build/connectkit/src/components/Common/FitText/index.js +34 -0
  64. package/build/connectkit/src/components/Common/FitText/index.js.map +1 -0
  65. package/build/connectkit/src/components/Common/Modal/index.js +523 -0
  66. package/build/connectkit/src/components/Common/Modal/index.js.map +1 -0
  67. package/build/connectkit/src/components/Common/Modal/styles.js +665 -0
  68. package/build/connectkit/src/components/Common/Modal/styles.js.map +1 -0
  69. package/build/connectkit/src/components/Common/OptionsList/index.js +145 -0
  70. package/build/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
  71. package/build/connectkit/src/components/Common/OptionsList/styles.js +138 -0
  72. package/build/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
  73. package/build/connectkit/src/components/Common/OrderHeader/index.js +192 -0
  74. package/build/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
  75. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
  76. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
  77. package/build/connectkit/src/components/Common/Portal/index.js +30 -0
  78. package/build/connectkit/src/components/Common/Portal/index.js.map +1 -0
  79. package/build/connectkit/src/components/Common/PoweredByFooter/index.js +66 -0
  80. package/build/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
  81. package/build/connectkit/src/components/Common/ScrollArea/index.js +120 -0
  82. package/build/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
  83. package/build/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
  84. package/build/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
  85. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
  86. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
  87. package/build/connectkit/src/components/Common/Spinner/index.js +64 -0
  88. package/build/connectkit/src/components/Common/Spinner/index.js.map +1 -0
  89. package/build/connectkit/src/components/Common/Spinner/styles.js +22 -0
  90. package/build/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
  91. package/build/connectkit/src/components/Common/SwitchButton/index.js +43 -0
  92. package/build/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
  93. package/build/connectkit/src/components/Common/ThemedButton/index.js +46 -0
  94. package/build/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
  95. package/build/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
  96. package/build/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
  97. package/build/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
  98. package/build/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
  99. package/build/connectkit/src/components/Common/Tooltip/index.js +129 -0
  100. package/build/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
  101. package/build/connectkit/src/components/Common/Tooltip/styles.js +81 -0
  102. package/build/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
  103. package/build/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
  104. package/build/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
  105. package/build/connectkit/src/components/DaimoPayButton/index.js +197 -0
  106. package/build/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
  107. package/build/connectkit/src/components/DaimoPayButton/styles.js +50 -0
  108. package/build/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
  109. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js +68 -0
  110. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
  111. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +335 -0
  112. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
  113. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
  114. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
  115. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +99 -0
  116. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
  117. package/build/connectkit/src/components/DaimoPayModal/index.js +462 -0
  118. package/build/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
  119. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
  120. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
  121. package/build/connectkit/src/components/Pages/About/graphics.js +853 -0
  122. package/build/connectkit/src/components/Pages/About/graphics.js.map +1 -0
  123. package/build/connectkit/src/components/Pages/About/index.js +222 -0
  124. package/build/connectkit/src/components/Pages/About/index.js.map +1 -0
  125. package/build/connectkit/src/components/Pages/About/styles.js +140 -0
  126. package/build/connectkit/src/components/Pages/About/styles.js.map +1 -0
  127. package/build/connectkit/src/components/Pages/Confirmation/index.js +128 -0
  128. package/build/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
  129. package/build/connectkit/src/components/Pages/Connectors/index.js +28 -0
  130. package/build/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
  131. package/build/connectkit/src/components/Pages/DownloadApp/index.js +35 -0
  132. package/build/connectkit/src/components/Pages/DownloadApp/index.js.map +1 -0
  133. package/build/connectkit/src/components/Pages/Error/index.js +57 -0
  134. package/build/connectkit/src/components/Pages/Error/index.js.map +1 -0
  135. package/build/connectkit/src/components/Pages/MobileConnectors/index.js +65 -0
  136. package/build/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
  137. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
  138. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
  139. package/build/connectkit/src/components/Pages/Onboarding/index.js +34 -0
  140. package/build/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
  141. package/build/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
  142. package/build/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
  143. package/build/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
  144. package/build/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
  145. package/build/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
  146. package/build/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
  147. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
  148. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
  149. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +72 -0
  150. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
  151. package/build/connectkit/src/components/Pages/SelectExchange/index.js +41 -0
  152. package/build/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
  153. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
  154. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
  155. package/build/connectkit/src/components/Pages/SelectMethod/index.js +230 -0
  156. package/build/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
  157. package/build/connectkit/src/components/Pages/SelectToken/index.js +97 -0
  158. package/build/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
  159. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js +66 -0
  160. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
  161. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
  162. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
  163. package/build/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
  164. package/build/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
  165. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
  166. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
  167. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
  168. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
  169. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
  170. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
  171. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
  172. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
  173. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js +503 -0
  174. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
  175. package/build/connectkit/src/components/Pages/WaitingExternal/index.js +89 -0
  176. package/build/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
  177. package/build/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
  178. package/build/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
  179. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
  180. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
  181. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
  182. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
  183. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
  184. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
  185. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
  186. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
  187. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
  188. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
  189. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
  190. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
  191. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
  192. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
  193. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
  194. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
  195. package/build/connectkit/src/components/Spinners/styles.js +32 -0
  196. package/build/connectkit/src/components/Spinners/styles.js.map +1 -0
  197. package/build/connectkit/src/constants/defaultTheme.js +6 -0
  198. package/build/connectkit/src/constants/defaultTheme.js.map +1 -0
  199. package/build/connectkit/src/constants/routes.js +32 -0
  200. package/build/connectkit/src/constants/routes.js.map +1 -0
  201. package/build/connectkit/src/defaultConfig.js +63 -0
  202. package/build/connectkit/src/defaultConfig.js.map +1 -0
  203. package/build/connectkit/src/defaultConnectors.js +37 -0
  204. package/build/connectkit/src/defaultConnectors.js.map +1 -0
  205. package/build/connectkit/src/hooks/useChainIsSupported.js +10 -0
  206. package/build/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
  207. package/build/connectkit/src/hooks/useChains.js +10 -0
  208. package/build/connectkit/src/hooks/useChains.js.map +1 -0
  209. package/build/connectkit/src/hooks/useConnect.js +61 -0
  210. package/build/connectkit/src/hooks/useConnect.js.map +1 -0
  211. package/build/connectkit/src/hooks/useConnectCallback.js +21 -0
  212. package/build/connectkit/src/hooks/useConnectCallback.js.map +1 -0
  213. package/build/connectkit/src/hooks/useConnectors.js +9 -0
  214. package/build/connectkit/src/hooks/useConnectors.js.map +1 -0
  215. package/build/connectkit/src/hooks/useDaimoPay.js +107 -0
  216. package/build/connectkit/src/hooks/useDaimoPay.js.map +1 -0
  217. package/build/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
  218. package/build/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
  219. package/build/connectkit/src/hooks/useDaimoPayUI.js +15 -0
  220. package/build/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
  221. package/build/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
  222. package/build/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
  223. package/build/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
  224. package/build/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
  225. package/build/connectkit/src/hooks/useExternalPaymentOptions.js +64 -0
  226. package/build/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
  227. package/build/connectkit/src/hooks/useFitText.js +133 -0
  228. package/build/connectkit/src/hooks/useFitText.js.map +1 -0
  229. package/build/connectkit/src/hooks/useFocusTrap.js +53 -0
  230. package/build/connectkit/src/hooks/useFocusTrap.js.map +1 -0
  231. package/build/connectkit/src/hooks/useIsMobile.js +11 -0
  232. package/build/connectkit/src/hooks/useIsMobile.js.map +1 -0
  233. package/build/connectkit/src/hooks/useIsMounted.js +10 -0
  234. package/build/connectkit/src/hooks/useIsMounted.js.map +1 -0
  235. package/build/connectkit/src/hooks/useLastConnector.js +24 -0
  236. package/build/connectkit/src/hooks/useLastConnector.js.map +1 -0
  237. package/build/connectkit/src/hooks/useLocales.js +60 -0
  238. package/build/connectkit/src/hooks/useLocales.js.map +1 -0
  239. package/build/connectkit/src/hooks/useLockBodyScroll.js +47 -0
  240. package/build/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
  241. package/build/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
  242. package/build/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
  243. package/build/connectkit/src/hooks/usePayContext.js +11 -0
  244. package/build/connectkit/src/hooks/usePayContext.js.map +1 -0
  245. package/build/connectkit/src/hooks/usePaymentState.js +376 -0
  246. package/build/connectkit/src/hooks/usePaymentState.js.map +1 -0
  247. package/build/connectkit/src/hooks/usePrevious.js +13 -0
  248. package/build/connectkit/src/hooks/usePrevious.js.map +1 -0
  249. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js +40 -0
  250. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
  251. package/build/connectkit/src/hooks/useTokenOptions.js +152 -0
  252. package/build/connectkit/src/hooks/useTokenOptions.js.map +1 -0
  253. package/build/connectkit/src/hooks/useUntronAvailability.js +32 -0
  254. package/build/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
  255. package/build/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
  256. package/build/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
  257. package/build/connectkit/src/hooks/useWindowSize.js +23 -0
  258. package/build/connectkit/src/hooks/useWindowSize.js.map +1 -0
  259. package/build/connectkit/src/index.js +14 -0
  260. package/build/connectkit/src/index.js.map +1 -0
  261. package/build/connectkit/src/localizations/index.js +48 -0
  262. package/build/connectkit/src/localizations/index.js.map +1 -0
  263. package/build/connectkit/src/localizations/locales/ar-AE.js +95 -0
  264. package/build/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
  265. package/build/connectkit/src/localizations/locales/ca-AD.js +93 -0
  266. package/build/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
  267. package/build/connectkit/src/localizations/locales/ee-EE.js +101 -0
  268. package/build/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
  269. package/build/connectkit/src/localizations/locales/en-US.js +139 -0
  270. package/build/connectkit/src/localizations/locales/en-US.js.map +1 -0
  271. package/build/connectkit/src/localizations/locales/es-ES.js +131 -0
  272. package/build/connectkit/src/localizations/locales/es-ES.js.map +1 -0
  273. package/build/connectkit/src/localizations/locales/fa-IR.js +93 -0
  274. package/build/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
  275. package/build/connectkit/src/localizations/locales/fr-FR.js +93 -0
  276. package/build/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
  277. package/build/connectkit/src/localizations/locales/ja-JP.js +93 -0
  278. package/build/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
  279. package/build/connectkit/src/localizations/locales/pt-BR.js +101 -0
  280. package/build/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
  281. package/build/connectkit/src/localizations/locales/ru-RU.js +97 -0
  282. package/build/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
  283. package/build/connectkit/src/localizations/locales/tr-TR.js +101 -0
  284. package/build/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
  285. package/build/connectkit/src/localizations/locales/vi-VN.js +101 -0
  286. package/build/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
  287. package/build/connectkit/src/localizations/locales/zh-CN.js +93 -0
  288. package/build/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
  289. package/build/connectkit/src/payment/paymentEffects.js +269 -0
  290. package/build/connectkit/src/payment/paymentEffects.js.map +1 -0
  291. package/build/connectkit/src/payment/paymentFsm.js +194 -0
  292. package/build/connectkit/src/payment/paymentFsm.js.map +1 -0
  293. package/build/connectkit/src/payment/paymentStore.js +18 -0
  294. package/build/connectkit/src/payment/paymentStore.js.map +1 -0
  295. package/build/connectkit/src/payment/paymentUtils.js +10 -0
  296. package/build/connectkit/src/payment/paymentUtils.js.map +1 -0
  297. package/build/connectkit/src/provider/DaimoPayProvider.js +293 -0
  298. package/build/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
  299. package/build/connectkit/src/provider/PayContext.js +6 -0
  300. package/build/connectkit/src/provider/PayContext.js.map +1 -0
  301. package/build/connectkit/src/provider/PaymentProvider.js +29 -0
  302. package/build/connectkit/src/provider/PaymentProvider.js.map +1 -0
  303. package/build/connectkit/src/provider/SolanaContextProvider.js +14 -0
  304. package/build/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
  305. package/build/connectkit/src/provider/Web3ContextProvider.js +36 -0
  306. package/build/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
  307. package/build/connectkit/src/stateStore.js +36 -0
  308. package/build/connectkit/src/stateStore.js.map +1 -0
  309. package/build/connectkit/src/styles/defaultTheme.js +80 -0
  310. package/build/connectkit/src/styles/defaultTheme.js.map +1 -0
  311. package/build/connectkit/src/styles/index.js +313 -0
  312. package/build/connectkit/src/styles/index.js.map +1 -0
  313. package/build/connectkit/src/styles/styled/index.js +6 -0
  314. package/build/connectkit/src/styles/styled/index.js.map +1 -0
  315. package/build/connectkit/src/styles/themes/base.js +141 -0
  316. package/build/connectkit/src/styles/themes/base.js.map +1 -0
  317. package/build/connectkit/src/styles/themes/index.js +13 -0
  318. package/build/connectkit/src/styles/themes/index.js.map +1 -0
  319. package/build/connectkit/src/styles/themes/midnight.js +76 -0
  320. package/build/connectkit/src/styles/themes/midnight.js.map +1 -0
  321. package/build/connectkit/src/styles/themes/minimal.js +96 -0
  322. package/build/connectkit/src/styles/themes/minimal.js.map +1 -0
  323. package/build/connectkit/src/styles/themes/nouns.js +81 -0
  324. package/build/connectkit/src/styles/themes/nouns.js.map +1 -0
  325. package/build/connectkit/src/styles/themes/retro.js +106 -0
  326. package/build/connectkit/src/styles/themes/retro.js.map +1 -0
  327. package/build/connectkit/src/styles/themes/rounded.js +106 -0
  328. package/build/connectkit/src/styles/themes/rounded.js.map +1 -0
  329. package/build/connectkit/src/styles/themes/soft.js +71 -0
  330. package/build/connectkit/src/styles/themes/soft.js.map +1 -0
  331. package/build/connectkit/src/styles/themes/web95.js +132 -0
  332. package/build/connectkit/src/styles/themes/web95.js.map +1 -0
  333. package/build/connectkit/src/utils/exports.js +6 -0
  334. package/build/connectkit/src/utils/exports.js.map +1 -0
  335. package/build/connectkit/src/utils/format.js +45 -0
  336. package/build/connectkit/src/utils/format.js.map +1 -0
  337. package/build/connectkit/src/utils/index.js +42 -0
  338. package/build/connectkit/src/utils/index.js.map +1 -0
  339. package/build/connectkit/src/utils/p3.js +15 -0
  340. package/build/connectkit/src/utils/p3.js.map +1 -0
  341. package/build/connectkit/src/utils/platform.js +11 -0
  342. package/build/connectkit/src/utils/platform.js.map +1 -0
  343. package/build/connectkit/src/utils/polling.js +35 -0
  344. package/build/connectkit/src/utils/polling.js.map +1 -0
  345. package/build/connectkit/src/utils/supportUrl.js +16 -0
  346. package/build/connectkit/src/utils/supportUrl.js.map +1 -0
  347. package/build/connectkit/src/utils/trpc.js +19 -0
  348. package/build/connectkit/src/utils/trpc.js.map +1 -0
  349. package/build/connectkit/src/utils/validateInput.js +16 -0
  350. package/build/connectkit/src/utils/validateInput.js.map +1 -0
  351. package/build/connectkit/src/wallets/index.js +21 -0
  352. package/build/connectkit/src/wallets/index.js.map +1 -0
  353. package/build/connectkit/src/wallets/useWallets.js +207 -0
  354. package/build/connectkit/src/wallets/useWallets.js.map +1 -0
  355. package/build/connectkit/src/wallets/walletConfigs.js +277 -0
  356. package/build/connectkit/src/wallets/walletConfigs.js.map +1 -0
  357. package/build/connectkit/src/world-mini-app/WorldPayButton.js +148 -0
  358. package/build/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
  359. package/build/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
  360. package/build/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
  361. package/build/connectkit/src/world.js +2 -0
  362. package/build/connectkit/src/world.js.map +1 -0
  363. package/build/index.d.ts +11 -1
  364. package/build/package.json.js +2 -2
  365. package/build/pay-common/src/chain.js +9 -0
  366. package/build/pay-common/src/chain.js.map +1 -0
  367. package/build/src/assets/logos.js +1 -1
  368. package/build/src/assets/logos.js.map +1 -1
  369. package/build/src/components/Common/CustomQRCode/index.js +21 -4
  370. package/build/src/components/Common/CustomQRCode/index.js.map +1 -1
  371. package/build/src/components/Common/CustomQRCode/styles.js +3 -0
  372. package/build/src/components/Common/CustomQRCode/styles.js.map +1 -1
  373. package/build/src/components/Common/Modal/index.js +2 -1
  374. package/build/src/components/Common/Modal/index.js.map +1 -1
  375. package/build/src/components/Common/OrderHeader/index.js +2 -46
  376. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  377. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +37 -44
  378. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  379. package/build/src/components/DaimoPayModal/index.js +37 -5
  380. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  381. package/build/src/components/Pages/SelectExchange/index.js +6 -1
  382. package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
  383. package/build/src/components/Pages/WaitingDepositAddress/index.js +88 -5
  384. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  385. package/build/src/components/Pages/Warning/index.js +56 -0
  386. package/build/src/components/Pages/Warning/index.js.map +1 -0
  387. package/build/src/hooks/useDaimoPay.js +25 -1
  388. package/build/src/hooks/useDaimoPay.js.map +1 -1
  389. package/build/src/localizations/locales/en-US.js +4 -1
  390. package/build/src/localizations/locales/en-US.js.map +1 -1
  391. package/build/src/localizations/locales/es-ES.js +4 -0
  392. package/build/src/localizations/locales/es-ES.js.map +1 -1
  393. package/build/src/payment/paymentFsm.js +40 -0
  394. package/build/src/payment/paymentFsm.js.map +1 -1
  395. package/build/src/world-mini-app/WorldPayButton.js +18 -1
  396. package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
  397. package/package.json +2 -2
@@ -14,13 +14,30 @@ function CustomQRCode({
14
14
  contentPadding = 13
15
15
  }) {
16
16
  const windowSize = useWindowSize();
17
+ const isLong = (value?.length ?? 0) > 200;
17
18
  const Logo = windowSize.width > 920 && tooltipMessage ? /* @__PURE__ */ jsx(Tooltip, { xOffset: 139, yOffset: 5, delay: 0.1, message: tooltipMessage, children: image }) : image;
19
+ const qrEmbeddedImage = isLong ? /* @__PURE__ */ jsx(
20
+ "div",
21
+ {
22
+ style: {
23
+ width: "75%",
24
+ height: "75%",
25
+ margin: "12.5%",
26
+ display: "flex",
27
+ alignItems: "center",
28
+ justifyContent: "center"
29
+ },
30
+ children: image
31
+ }
32
+ ) : image;
18
33
  return /* @__PURE__ */ jsx(QRCodeContainer, { children: /* @__PURE__ */ jsxs(QRCodeContent, { style: { inset: contentPadding }, children: [
19
34
  image && /* @__PURE__ */ jsx(LogoContainer, { children: /* @__PURE__ */ jsx(
20
35
  LogoIcon,
21
36
  {
22
37
  style: {
23
- background: imagePosition === "center" ? imageBackground : void 0
38
+ background: imagePosition === "center" ? imageBackground : void 0,
39
+ width: imagePosition === "center" && isLong ? "21%" : void 0,
40
+ height: imagePosition === "center" && isLong ? "21%" : void 0
24
41
  },
25
42
  children: Logo
26
43
  }
@@ -38,10 +55,10 @@ function CustomQRCode({
38
55
  QRCode,
39
56
  {
40
57
  uri: value,
41
- size: 576,
42
- ecl: value?.length > 200 ? "L" : "H",
58
+ size: isLong ? 860 : 576,
59
+ ecl: isLong ? "L" : "H",
43
60
  clearArea: !!(imagePosition === "center" && image),
44
- image: imagePosition === "bottom right" ? image : void 0,
61
+ image: imagePosition === "bottom right" ? qrEmbeddedImage : void 0,
45
62
  imageBackground
46
63
  }
47
64
  )
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/CustomQRCode/index.tsx"],"sourcesContent":["import {\n LogoContainer,\n LogoIcon,\n QRCodeContainer,\n QRCodeContent,\n QRPlaceholder,\n} from \"./styles\";\nimport { CustomQRCodeProps } from \"./types\";\n\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport Tooltip from \"../Tooltip\";\n\nimport useWindowSize from \"../../../hooks/useWindowSize\";\nimport { QRCode } from \"./QRCode\";\n\nfunction CustomQRCode({\n value,\n image,\n imageBackground,\n imagePosition = \"center\",\n tooltipMessage,\n contentPadding = 13,\n}: CustomQRCodeProps) {\n const windowSize = useWindowSize();\n\n const Logo =\n windowSize.width > 920 && tooltipMessage ? (\n <Tooltip xOffset={139} yOffset={5} delay={0.1} message={tooltipMessage}>\n {image}\n </Tooltip>\n ) : (\n image\n );\n\n return (\n <QRCodeContainer>\n <QRCodeContent style={{ inset: contentPadding }}>\n {image && (\n <LogoContainer>\n <LogoIcon\n style={{\n background:\n imagePosition === \"center\" ? imageBackground : undefined,\n }}\n >\n {Logo}\n </LogoIcon>\n </LogoContainer>\n )}\n\n <AnimatePresence initial={false}>\n {value ? (\n <motion.div\n key={value}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0, position: \"absolute\", inset: [0, 0] }}\n transition={{\n duration: 0.2,\n }}\n >\n <QRCode\n uri={value}\n size={576}\n ecl={value?.length > 200 ? \"L\" : \"H\"}\n clearArea={!!(imagePosition === \"center\" && image)}\n image={imagePosition === \"bottom right\" ? image : undefined}\n imageBackground={imageBackground}\n />\n </motion.div>\n ) : (\n <QRPlaceholder\n initial={{ opacity: 0.1 }}\n animate={{ opacity: 0.1 }}\n exit={{ opacity: 0, position: \"absolute\", inset: [0, 0] }}\n transition={{\n duration: 0.2,\n }}\n >\n <span />\n <span />\n <span />\n <div />\n </QRPlaceholder>\n )}\n </AnimatePresence>\n </QRCodeContent>\n </QRCodeContainer>\n );\n}\nCustomQRCode.displayName = \"CustomQRCode\";\n\nexport default CustomQRCode;\n"],"names":[],"mappings":";;;;;;;AAeA,SAAS,YAAa,CAAA;AAAA,EACpB,KAAA;AAAA,EACA,KAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAgB,GAAA,QAAA;AAAA,EAChB,cAAA;AAAA,EACA,cAAiB,GAAA,EAAA;AACnB,CAAsB,EAAA;AACpB,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AAEjC,EAAA,MAAM,OACJ,UAAW,CAAA,KAAA,GAAQ,GAAO,IAAA,cAAA,uBACvB,OAAQ,EAAA,EAAA,OAAA,EAAS,GAAK,EAAA,OAAA,EAAS,GAAG,KAAO,EAAA,GAAA,EAAK,OAAS,EAAA,cAAA,EACrD,iBACH,CAEA,GAAA,KAAA,CAAA;AAGJ,EACE,uBAAA,GAAA,CAAC,mBACC,QAAC,kBAAA,IAAA,CAAA,aAAA,EAAA,EAAc,OAAO,EAAE,KAAA,EAAO,gBAC5B,EAAA,QAAA,EAAA;AAAA,IAAA,KAAA,wBACE,aACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA;AAAA,UACL,UAAA,EACE,aAAkB,KAAA,QAAA,GAAW,eAAkB,GAAA,KAAA,CAAA;AAAA,SACnD;AAAA,QAEC,QAAA,EAAA,IAAA;AAAA,OAAA;AAAA,KAEL,EAAA,CAAA;AAAA,oBAGD,GAAA,CAAA,eAAA,EAAA,EAAgB,OAAS,EAAA,KAAA,EACvB,QACC,EAAA,KAAA,mBAAA,GAAA;AAAA,MAAC,MAAO,CAAA,GAAA;AAAA,MAAP;AAAA,QAEC,OAAA,EAAS,EAAE,OAAA,EAAS,CAAE,EAAA;AAAA,QACtB,OAAA,EAAS,EAAE,OAAA,EAAS,CAAE,EAAA;AAAA,QACtB,IAAA,EAAM,EAAE,OAAA,EAAS,CAAG,EAAA,QAAA,EAAU,YAAY,KAAO,EAAA,CAAC,CAAG,EAAA,CAAC,CAAE,EAAA;AAAA,QACxD,UAAY,EAAA;AAAA,UACV,QAAU,EAAA,GAAA;AAAA,SACZ;AAAA,QAEA,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,GAAK,EAAA,KAAA;AAAA,YACL,IAAM,EAAA,GAAA;AAAA,YACN,GAAK,EAAA,KAAA,EAAO,MAAS,GAAA,GAAA,GAAM,GAAM,GAAA,GAAA;AAAA,YACjC,SAAW,EAAA,CAAC,EAAE,aAAA,KAAkB,QAAY,IAAA,KAAA,CAAA;AAAA,YAC5C,KAAA,EAAO,aAAkB,KAAA,cAAA,GAAiB,KAAQ,GAAA,KAAA,CAAA;AAAA,YAClD,eAAA;AAAA,WAAA;AAAA,SACF;AAAA,OAAA;AAAA,MAfK,KAAA;AAAA,KAkBP,mBAAA,IAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAS,EAAE,OAAA,EAAS,GAAI,EAAA;AAAA,QACxB,OAAA,EAAS,EAAE,OAAA,EAAS,GAAI,EAAA;AAAA,QACxB,IAAA,EAAM,EAAE,OAAA,EAAS,CAAG,EAAA,QAAA,EAAU,YAAY,KAAO,EAAA,CAAC,CAAG,EAAA,CAAC,CAAE,EAAA;AAAA,QACxD,UAAY,EAAA;AAAA,UACV,QAAU,EAAA,GAAA;AAAA,SACZ;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,MAAK,EAAA,EAAA,CAAA;AAAA,8BACL,MAAK,EAAA,EAAA,CAAA;AAAA,8BACL,MAAK,EAAA,EAAA,CAAA;AAAA,8BACL,KAAI,EAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAGX,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ,CAAA;AACA,YAAA,CAAa,WAAc,GAAA,cAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/CustomQRCode/index.tsx"],"sourcesContent":["import {\n LogoContainer,\n LogoIcon,\n QRCodeContainer,\n QRCodeContent,\n QRPlaceholder,\n} from \"./styles\";\nimport { CustomQRCodeProps } from \"./types\";\n\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport Tooltip from \"../Tooltip\";\n\nimport useWindowSize from \"../../../hooks/useWindowSize\";\nimport { QRCode } from \"./QRCode\";\n\nfunction CustomQRCode({\n value,\n image,\n imageBackground,\n imagePosition = \"center\",\n tooltipMessage,\n contentPadding = 13,\n}: CustomQRCodeProps) {\n const windowSize = useWindowSize();\n const isLong = (value?.length ?? 0) > 200;\n\n const Logo =\n windowSize.width > 920 && tooltipMessage ? (\n <Tooltip xOffset={139} yOffset={5} delay={0.1} message={tooltipMessage}>\n {image}\n </Tooltip>\n ) : (\n image\n );\n\n // For bottom-right embedded image inside the QR SVG, shrink when content is long\n const qrEmbeddedImage = isLong ? (\n <div\n style={{\n width: \"75%\",\n height: \"75%\",\n margin: \"12.5%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n {image}\n </div>\n ) : (\n image\n );\n\n return (\n <QRCodeContainer>\n <QRCodeContent style={{ inset: contentPadding }}>\n {image && (\n <LogoContainer>\n <LogoIcon\n style={{\n background:\n imagePosition === \"center\" ? imageBackground : undefined,\n width: imagePosition === \"center\" && isLong ? \"21%\" : undefined,\n height:\n imagePosition === \"center\" && isLong ? \"21%\" : undefined,\n }}\n >\n {Logo}\n </LogoIcon>\n </LogoContainer>\n )}\n\n <AnimatePresence initial={false}>\n {value ? (\n <motion.div\n key={value}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0, position: \"absolute\", inset: [0, 0] }}\n transition={{\n duration: 0.2,\n }}\n >\n <QRCode\n uri={value}\n size={isLong ? 860 : 576}\n ecl={isLong ? \"L\" : \"H\"}\n clearArea={!!(imagePosition === \"center\" && image)}\n image={\n imagePosition === \"bottom right\" ? qrEmbeddedImage : undefined\n }\n imageBackground={imageBackground}\n />\n </motion.div>\n ) : (\n <QRPlaceholder\n initial={{ opacity: 0.1 }}\n animate={{ opacity: 0.1 }}\n exit={{ opacity: 0, position: \"absolute\", inset: [0, 0] }}\n transition={{\n duration: 0.2,\n }}\n >\n <span />\n <span />\n <span />\n <div />\n </QRPlaceholder>\n )}\n </AnimatePresence>\n </QRCodeContent>\n </QRCodeContainer>\n );\n}\nCustomQRCode.displayName = \"CustomQRCode\";\n\nexport default CustomQRCode;\n"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ const QRPlaceholder = styled(motion.div)`
41
41
 
42
42
  position: absolute;
43
43
  inset: 0;
44
+ border-radius: var(--ck-qr-border-radius, 10px);
44
45
  display: flex;
45
46
  align-items: center;
46
47
  justify-content: center;
@@ -87,6 +88,7 @@ const QRPlaceholder = styled(motion.div)`
87
88
  content: "";
88
89
  position: absolute;
89
90
  inset: 0;
91
+ border-radius: inherit;
90
92
  background: repeat;
91
93
  background-size: 1.888% 1.888%;
92
94
  background-image: radial-gradient(var(--color) 41%, transparent 41%);
@@ -96,6 +98,7 @@ const QRPlaceholder = styled(motion.div)`
96
98
  content: "";
97
99
  position: absolute;
98
100
  inset: 0;
101
+ border-radius: inherit;
99
102
  transform: scale(1.7) rotate(45deg);
100
103
  background-image: linear-gradient(
101
104
  90deg,
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/CustomQRCode/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { keyframes } from \"styled-components\";\nimport styled from \"./../../../styles/styled\";\n\nexport const QRCodeContainer = styled(motion.div)`\n z-index: 3;\n position: relative;\n overflow: hidden;\n height: 0;\n padding-bottom: 100% !important;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 1px 0 2px;\n border-radius: var(--ck-qr-border-radius, 24px);\n background: var(--ck-qr-background, transparent);\n box-shadow: 0 0 0 1px var(--ck-qr-border-color);\n backface-visibility: hidden;\n svg {\n display: block;\n max-width: 100%;\n width: 100%;\n height: auto;\n }\n`;\nexport const QRCodeContent = styled(motion.div)`\n position: absolute;\n inset: 13px;\n svg {\n width: 100% !important;\n height: auto !important;\n }\n`;\nexport const PlaceholderKeyframes = keyframes`\n 0%{ background-position: 100% 0; }\n 100%{ background-position: -100% 0; }\n`;\nexport const QRPlaceholder = styled(motion.div)`\n --color: var(--ck-qr-dot-color);\n --bg: var(--ck-qr-background, var(--ck-body-background));\n\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n > div {\n z-index: 4;\n position: relative;\n width: 28%;\n height: 28%;\n border-radius: 20px;\n background: var(--bg);\n box-shadow: 0 0 0 7px var(--bg);\n }\n > span {\n z-index: 4;\n position: absolute;\n background: var(--color);\n border-radius: 12px;\n width: 13.25%;\n height: 13.25%;\n box-shadow: 0 0 0 4px var(--bg);\n &:before {\n content: \"\";\n position: absolute;\n inset: 9px;\n border-radius: 3px;\n box-shadow: 0 0 0 4px var(--bg);\n }\n &:nth-child(1) {\n top: 0;\n left: 0;\n }\n &:nth-child(2) {\n top: 0;\n right: 0;\n }\n &:nth-child(3) {\n bottom: 0;\n left: 0;\n }\n }\n &:before {\n z-index: 3;\n content: \"\";\n position: absolute;\n inset: 0;\n background: repeat;\n background-size: 1.888% 1.888%;\n background-image: radial-gradient(var(--color) 41%, transparent 41%);\n }\n &:after {\n z-index: 5;\n content: \"\";\n position: absolute;\n inset: 0;\n transform: scale(1.7) rotate(45deg);\n background-image: linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0) 50%,\n rgba(255, 255, 255, 1),\n rgba(255, 255, 255, 0)\n );\n background-size: 200% 100%;\n animation: ${PlaceholderKeyframes} 1000ms linear infinite both;\n }\n`;\n\nexport const LogoContainer = styled(motion.div)`\n z-index: 6;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transform: translateY(50%) scale(0.9999); // Shifting fix\n`;\nexport const LogoIcon = styled(motion.div)`\n z-index: 6;\n position: absolute;\n left: 50%;\n overflow: hidden;\n\n transform: translate(-50%, -50%) scale(0.9999); // Shifting fix\n\n svg {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n width: 28%;\n height: 28%;\n`;\n"],"names":[],"mappings":";;;;AAIa,MAAA,eAAA,GAAkB,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,EAAA;AAqBnC,MAAA,aAAA,GAAgB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAQvC,MAAM,oBAAuB,GAAA,SAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAIvB,MAAA,aAAA,GAAgB,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;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAA,EAqE7B,oBAAoB,CAAA;AAAA;AAAA,EAAA;AAIxB,MAAA,aAAA,GAAgB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AASjC,MAAA,QAAA,GAAW,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/CustomQRCode/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { keyframes } from \"styled-components\";\nimport styled from \"./../../../styles/styled\";\n\nexport const QRCodeContainer = styled(motion.div)`\n z-index: 3;\n position: relative;\n overflow: hidden;\n height: 0;\n padding-bottom: 100% !important;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 1px 0 2px;\n border-radius: var(--ck-qr-border-radius, 24px);\n background: var(--ck-qr-background, transparent);\n box-shadow: 0 0 0 1px var(--ck-qr-border-color);\n backface-visibility: hidden;\n svg {\n display: block;\n max-width: 100%;\n width: 100%;\n height: auto;\n }\n`;\nexport const QRCodeContent = styled(motion.div)`\n position: absolute;\n inset: 13px;\n svg {\n width: 100% !important;\n height: auto !important;\n }\n`;\nexport const PlaceholderKeyframes = keyframes`\n 0%{ background-position: 100% 0; }\n 100%{ background-position: -100% 0; }\n`;\nexport const QRPlaceholder = styled(motion.div)`\n --color: var(--ck-qr-dot-color);\n --bg: var(--ck-qr-background, var(--ck-body-background));\n\n position: absolute;\n inset: 0;\n border-radius: var(--ck-qr-border-radius, 10px);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n > div {\n z-index: 4;\n position: relative;\n width: 28%;\n height: 28%;\n border-radius: 20px;\n background: var(--bg);\n box-shadow: 0 0 0 7px var(--bg);\n }\n > span {\n z-index: 4;\n position: absolute;\n background: var(--color);\n border-radius: 12px;\n width: 13.25%;\n height: 13.25%;\n box-shadow: 0 0 0 4px var(--bg);\n &:before {\n content: \"\";\n position: absolute;\n inset: 9px;\n border-radius: 3px;\n box-shadow: 0 0 0 4px var(--bg);\n }\n &:nth-child(1) {\n top: 0;\n left: 0;\n }\n &:nth-child(2) {\n top: 0;\n right: 0;\n }\n &:nth-child(3) {\n bottom: 0;\n left: 0;\n }\n }\n &:before {\n z-index: 3;\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: repeat;\n background-size: 1.888% 1.888%;\n background-image: radial-gradient(var(--color) 41%, transparent 41%);\n }\n &:after {\n z-index: 5;\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n transform: scale(1.7) rotate(45deg);\n background-image: linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0) 50%,\n rgba(255, 255, 255, 1),\n rgba(255, 255, 255, 0)\n );\n background-size: 200% 100%;\n animation: ${PlaceholderKeyframes} 1000ms linear infinite both;\n }\n`;\n\nexport const LogoContainer = styled(motion.div)`\n z-index: 6;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transform: translateY(50%) scale(0.9999); // Shifting fix\n`;\nexport const LogoIcon = styled(motion.div)`\n z-index: 6;\n position: absolute;\n left: 50%;\n overflow: hidden;\n\n transform: translate(-50%, -50%) scale(0.9999); // Shifting fix\n\n svg {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n width: 28%;\n height: 28%;\n`;\n"],"names":[],"mappings":";;;;AAIa,MAAA,eAAA,GAAkB,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,EAAA;AAqBnC,MAAA,aAAA,GAAgB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAQvC,MAAM,oBAAuB,GAAA,SAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAIvB,MAAA,aAAA,GAAgB,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;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAA,EAwE7B,oBAAoB,CAAA;AAAA;AAAA,EAAA;AAIxB,MAAA,aAAA,GAAgB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AASjC,MAAA,QAAA,GAAW,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -130,7 +130,7 @@ const Modal = ({
130
130
  selectedSolanaTokenOption,
131
131
  selectedDepositAddressOption
132
132
  } = context.paymentState;
133
- const { order } = useDaimoPay();
133
+ const { order, paymentState } = useDaimoPay();
134
134
  const { connector } = useAccount();
135
135
  const wallet = useWallet(connector?.id ?? "");
136
136
  const walletInfo = {
@@ -253,6 +253,7 @@ const Modal = ({
253
253
  case ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN:
254
254
  return locales.selectChain;
255
255
  case ROUTES.WAITING_DEPOSIT_ADDRESS:
256
+ if (paymentState === "warning") return locales.leaveSession;
256
257
  if (!selectedDepositAddressOption) return void 0;
257
258
  return `${payWithString} ${selectedDepositAddressOption.id}`;
258
259
  case ROUTES.SELECT_ZKP2P:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Modal/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { AnimatePresence, motion, Variants } from \"framer-motion\";\n\nimport { ResetContainer } from \"../../../styles\";\nimport Portal from \"../Portal\";\n\nimport { flattenChildren, isMobile } from \"../../../utils\";\n\nimport {\n BackButton,\n BackgroundOverlay,\n BoxContainer,\n CloseButton,\n Container,\n ControllerContainer,\n Disclaimer,\n DisclaimerBackground,\n ErrorMessage,\n InfoButton,\n InnerContainer,\n ModalContainer,\n ModalHeading,\n PageContainer,\n PageContents,\n TextWithHr,\n} from \"./styles\";\n\nimport useLockBodyScroll from \"../../../hooks/useLockBodyScroll\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport {\n getChainName,\n shouldShowExternalQRCodeOnDesktop,\n} from \"@daimo/pay-common\";\nimport { useTransition } from \"react-transition-state\";\nimport { useAccount, useSwitchChain } from \"wagmi\";\nimport { AuthIcon } from \"../../../assets/icons\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport FocusTrap from \"../../../hooks/useFocusTrap\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport usePrevious from \"../../../hooks/usePrevious\";\nimport { CustomTheme } from \"../../../types\";\nimport {\n useWallet,\n WALLET_ID_MOBILE_WALLETS,\n} from \"../../../wallets/useWallets\";\nimport { useThemeContext } from \"../../DaimoPayThemeProvider/DaimoPayThemeProvider\";\nimport FitText from \"../FitText\";\n\nconst ProfileIcon = ({ isSignedIn }: { isSignedIn?: boolean }) => (\n <div style={{ position: \"relative\" }}>\n {isSignedIn ? (\n <AuthIcon\n style={{\n bottom: -1,\n right: -1,\n }}\n />\n ) : (\n <div\n style={{\n zIndex: 2,\n position: \"absolute\",\n top: -2,\n right: -2,\n background: \"#1A88F8\",\n borderRadius: 8,\n boxShadow: \"0 0 0 2px var(--ck-body-background)\",\n width: 8,\n height: 8,\n }}\n />\n )}\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ overflow: \"visible\" }}\n >\n <circle cx=\"10\" cy=\"10\" r=\"9\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <path\n d=\"M16.5 16.775C14.8618 15.0649 12.5552 14 10 14C7.44477 14 5.13825 15.0649 3.5 16.775\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <circle cx=\"10\" cy=\"8\" r=\"3\" stroke=\"currentColor\" strokeWidth=\"2\" />\n </svg>\n </div>\n);\nconst InfoIcon = ({ ...props }) => (\n <svg\n aria-hidden=\"true\"\n width=\"22\"\n height=\"22\"\n viewBox=\"0 0 22 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 11C20 15.9706 15.9706 20 11 20C6.02944 20 2 15.9706 2 11C2 6.02944 6.02944 2 11 2C15.9706 2 20 6.02944 20 11ZM22 11C22 17.0751 17.0751 22 11 22C4.92487 22 0 17.0751 0 11C0 4.92487 4.92487 0 11 0C17.0751 0 22 4.92487 22 11ZM11.6445 12.7051C11.6445 13.1348 11.3223 13.4678 10.7744 13.4678C10.2266 13.4678 9.92578 13.1885 9.92578 12.6191V12.4795C9.92578 11.4268 10.4951 10.8574 11.2686 10.3203C12.2031 9.67578 12.665 9.32129 12.665 8.59082C12.665 7.76367 12.0205 7.21582 11.043 7.21582C10.3232 7.21582 9.80762 7.57031 9.45312 8.16113C9.38282 8.24242 9.32286 8.32101 9.2667 8.39461C9.04826 8.68087 8.88747 8.8916 8.40039 8.8916C8.0459 8.8916 7.66992 8.62305 7.66992 8.15039C7.66992 7.96777 7.70215 7.7959 7.75586 7.61328C8.05664 6.625 9.27051 5.75488 11.1182 5.75488C12.9336 5.75488 14.5234 6.71094 14.5234 8.50488C14.5234 9.7832 13.7822 10.417 12.7402 11.1045C11.999 11.5986 11.6445 11.9746 11.6445 12.5762V12.7051ZM11.9131 15.5625C11.9131 16.1855 11.376 16.6797 10.7529 16.6797C10.1299 16.6797 9.59277 16.1748 9.59277 15.5625C9.59277 14.9395 10.1191 14.4453 10.7529 14.4453C11.3867 14.4453 11.9131 14.9287 11.9131 15.5625Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\nconst CloseIcon = ({ ...props }) => (\n <motion.svg\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M1 13L13 1M1 1L13 13\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </motion.svg>\n);\nconst BackIcon = ({ ...props }) => (\n <motion.svg\n width={9}\n height={16}\n viewBox=\"0 0 9 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M8 1L1 8L8 15\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </motion.svg>\n);\n\nconst contentTransitionDuration = 0.22;\n\nexport const contentVariants: Variants = {\n initial: {\n //willChange: 'transform,opacity',\n zIndex: 2,\n opacity: 0,\n },\n animate: {\n opacity: 1,\n scale: 1,\n transition: {\n duration: contentTransitionDuration * 0.75,\n delay: contentTransitionDuration * 0.25,\n ease: [0.26, 0.08, 0.25, 1],\n },\n },\n exit: {\n zIndex: 1,\n opacity: 0,\n pointerEvents: \"none\",\n position: \"absolute\",\n left: [\"50%\", \"50%\"],\n x: [\"-50%\", \"-50%\"],\n transition: {\n duration: contentTransitionDuration,\n ease: [0.26, 0.08, 0.25, 1],\n },\n },\n};\n\ntype ModalProps = {\n open?: boolean;\n pages: Record<ROUTES, React.ReactNode>;\n pageId: string;\n positionInside?: boolean;\n inline?: boolean;\n onClose?: () => void;\n onBack?: () => void;\n onInfo?: () => void;\n\n demo?: {\n theme: string;\n mode?: string;\n customTheme: CustomTheme;\n };\n};\nconst Modal: React.FC<ModalProps> = ({\n open,\n pages,\n pageId,\n positionInside,\n inline,\n demo,\n onClose,\n onBack,\n onInfo,\n}) => {\n const context = usePayContext();\n const themeContext = useThemeContext();\n const mobile = isMobile();\n const {\n selectedExternalOption,\n selectedTokenOption,\n selectedSolanaTokenOption,\n selectedDepositAddressOption,\n } = context.paymentState;\n const { order } = useDaimoPay();\n\n const { connector } = useAccount();\n const wallet = useWallet(connector?.id ?? \"\");\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 locales = useLocales({\n CONNECTORNAME: walletInfo?.name,\n });\n\n const [state, setOpen] = useTransition({\n timeout: 160,\n preEnter: true,\n mountOnEnter: true,\n unmountOnExit: true,\n });\n const mounted = !(state === \"exited\" || state === \"unmounted\");\n const rendered = state === \"preEnter\" || state !== \"exiting\";\n const currentDepth =\n context.route === ROUTES.CONNECTORS\n ? 0\n : context.route === ROUTES.DOWNLOAD\n ? 2\n : 1;\n const prevDepth = usePrevious(currentDepth, currentDepth);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (!positionInside) useLockBodyScroll(mounted);\n\n useEffect(() => {\n setOpen(open);\n if (open) setInTransition(undefined);\n }, [open]);\n\n const [dimensions, setDimensions] = useState<{\n width: string | undefined;\n height: string | undefined;\n }>({\n width: undefined,\n height: undefined,\n });\n const [inTransition, setInTransition] = useState<boolean | undefined>(\n undefined,\n );\n\n // Calculate new content bounds\n const updateBounds = (node: any) => {\n const bounds = {\n width: node?.offsetWidth,\n height: node?.offsetHeight,\n };\n setDimensions({\n width: `${bounds?.width}px`,\n height: `${bounds?.height}px`,\n });\n };\n\n let blockTimeout: ReturnType<typeof setTimeout>;\n const contentRef = useCallback(\n (node: any) => {\n if (!node) return;\n ref.current = node;\n\n // Avoid transition mixups\n setInTransition(inTransition === undefined ? false : true);\n clearTimeout(blockTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n blockTimeout = setTimeout(() => setInTransition(false), 360);\n\n // Calculate new content bounds\n updateBounds(node);\n },\n [open, inTransition],\n );\n\n // Update layout on chain/network switch to avoid clipping\n const { chain } = useAccount();\n const { switchChain } = useSwitchChain();\n\n const ref = useRef<any>(null);\n useEffect(() => {\n if (ref.current) updateBounds(ref.current);\n }, [chain, switchChain, mobile, context.options, context.resize]);\n\n useEffect(() => {\n if (!mounted) {\n setDimensions({\n width: undefined,\n height: undefined,\n });\n return;\n }\n\n const listener = (e: KeyboardEvent) => {\n if (e.key === \"Escape\" && onClose) onClose();\n };\n document.addEventListener(\"keydown\", listener);\n return () => {\n document.removeEventListener(\"keydown\", listener);\n };\n }, [mounted, onClose]);\n\n const dimensionsCSS = {\n \"--height\": dimensions.height,\n \"--width\": dimensions.width,\n } as React.CSSProperties;\n\n function shouldUseQrcode() {\n if (!wallet) return false; // Fail states are shown in the injector flow\n\n const useInjector = wallet.isInstalled;\n return !useInjector;\n }\n\n const shouldShowWalletQRCodeOnDesktop =\n context.pendingConnectorId === WALLET_ID_MOBILE_WALLETS ||\n context.pendingConnectorId === \"world\";\n\n function getHeading() {\n const payWithString = flattenChildren(locales.payWith).join(\"\");\n switch (context.route) {\n case ROUTES.ABOUT:\n return locales.aboutScreen_heading;\n case ROUTES.CONNECT:\n if (shouldShowWalletQRCodeOnDesktop) {\n return locales.scanWithPhone;\n } else {\n return walletInfo?.name;\n }\n case ROUTES.SELECT_EXCHANGE:\n return locales.selectExchange;\n case ROUTES.SOLANA_CONNECTOR:\n return context.solanaConnector ?? locales.solanaWallet;\n case ROUTES.CONNECTORS:\n return locales.connectorsScreen_heading;\n case ROUTES.MOBILECONNECTORS:\n return locales.mobileConnectorsScreen_heading;\n case ROUTES.DOWNLOAD:\n return locales.downloadAppScreen_heading;\n case ROUTES.ONBOARDING:\n return locales.onboardingScreen_heading;\n case ROUTES.SWITCHNETWORKS:\n return locales.switchNetworkScreen_heading;\n case ROUTES.SELECT_METHOD:\n case ROUTES.SELECT_TOKEN:\n return order?.metadata.intent;\n case ROUTES.SOLANA_PAY_WITH_TOKEN:\n if (!selectedSolanaTokenOption) return undefined;\n return `${payWithString} ${selectedSolanaTokenOption.required.token.symbol}`;\n case ROUTES.WAITING_EXTERNAL:\n if (\n selectedExternalOption &&\n shouldShowExternalQRCodeOnDesktop(selectedExternalOption.id) &&\n !mobile\n ) {\n return locales.scanWithPhone;\n }\n return selectedExternalOption?.cta;\n case ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN:\n return locales.selectChain;\n case ROUTES.WAITING_DEPOSIT_ADDRESS:\n if (!selectedDepositAddressOption) return undefined;\n return `${payWithString} ${selectedDepositAddressOption.id}`;\n case ROUTES.SELECT_ZKP2P:\n return locales.selectApp;\n case ROUTES.SELECT_AMOUNT:\n case ROUTES.SELECT_EXTERNAL_AMOUNT:\n case ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT:\n case ROUTES.SOLANA_SELECT_AMOUNT:\n case ROUTES.SELECT_WALLET_AMOUNT:\n return locales.selectAmount;\n case ROUTES.PAY_WITH_TOKEN:\n if (selectedTokenOption == null) return undefined;\n\n const chainName = getChainName(\n selectedTokenOption.balance.token.chainId,\n );\n return `${payWithString} ${chainName} ${selectedTokenOption.balance.token.symbol}`;\n case ROUTES.CONFIRMATION:\n return locales.paymentSuccessful;\n case ROUTES.ERROR:\n return locales.error;\n case ROUTES.SELECT_WALLET_CHAIN:\n return locales.selectChain;\n }\n }\n\n const Content = (\n <ResetContainer\n $useTheme={demo?.theme ?? themeContext.theme}\n $useMode={demo?.mode ?? themeContext.mode}\n $customTheme={demo?.customTheme ?? themeContext.customTheme}\n >\n <ModalContainer\n role=\"dialog\"\n style={{\n pointerEvents: rendered ? \"auto\" : \"none\",\n position: positionInside ? \"absolute\" : undefined,\n }}\n >\n {!inline && (\n <BackgroundOverlay\n $active={rendered}\n onClick={onClose}\n $blur={context.options?.overlayBlur}\n />\n )}\n <Container\n style={dimensionsCSS}\n initial={false}\n // transition={{\n // ease: [0.2555, 0.1111, 0.2555, 1.0001],\n // duration: !positionInside && state !== 'entered' ? 0 : 0.24,\n // }}\n >\n <div\n style={{\n pointerEvents: inTransition ? \"all\" : \"none\", // Block interaction while transitioning\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"var(--width)\",\n zIndex: 9,\n transition: \"width 200ms ease\",\n }}\n />\n <BoxContainer className={`${rendered && \"active\"}`}>\n <AnimatePresence initial={false}>\n {context.options?.disclaimer &&\n context.route === ROUTES.CONNECTORS && (\n <DisclaimerBackground\n initial={{\n opacity: 0,\n }}\n animate={{\n opacity: 1,\n }}\n exit={{ opacity: 0 }}\n transition={{\n delay: 0,\n duration: 0.2,\n ease: [0.25, 0.1, 0.25, 1.0],\n }}\n >\n <Disclaimer>\n <div>{context.options?.disclaimer}</div>\n </Disclaimer>\n </DisclaimerBackground>\n )}\n </AnimatePresence>\n <AnimatePresence initial={false}>\n {context.errorMessage && (\n <ErrorMessage\n initial={{ y: \"10%\", x: \"-50%\" }}\n animate={{ y: \"-100%\" }}\n exit={{ y: \"100%\" }}\n transition={{ duration: 0.2, ease: \"easeInOut\" }}\n >\n <span>{context.errorMessage}</span>\n <div\n onClick={() => context.displayError(null)}\n style={{\n position: \"absolute\",\n right: 24,\n top: 24,\n cursor: \"pointer\",\n }}\n >\n <CloseIcon />\n </div>\n </ErrorMessage>\n )}\n </AnimatePresence>\n <ControllerContainer>\n {onClose && (\n <CloseButton\n aria-label={flattenChildren(locales.close).toString()}\n onClick={onClose}\n >\n <CloseIcon />\n </CloseButton>\n )}\n <div\n style={{\n position: \"absolute\",\n top: 23,\n left: 20,\n width: 32,\n height: 32,\n }}\n >\n <AnimatePresence>\n {onBack ? (\n <BackButton\n disabled={inTransition}\n aria-label={flattenChildren(locales.back).toString()}\n key=\"backButton\"\n onClick={onBack}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{\n duration: mobile ? 0 : 0.1,\n delay: mobile ? 0.01 : 0,\n }}\n >\n <BackIcon />\n </BackButton>\n ) : (\n onInfo &&\n !context.options?.hideQuestionMarkCTA && (\n <InfoButton\n disabled={inTransition}\n aria-label={flattenChildren(\n locales.moreInformation,\n ).toString()}\n key=\"infoButton\"\n onClick={onInfo}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{\n duration: mobile ? 0 : 0.1,\n delay: mobile ? 0.01 : 0,\n }}\n >\n <InfoIcon />\n </InfoButton>\n )\n )}\n </AnimatePresence>\n </div>\n </ControllerContainer>\n\n <ModalHeading>\n <AnimatePresence>\n <motion.div\n style={{\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 52,\n right: 52,\n display: \"flex\",\n //alignItems: 'center',\n justifyContent: \"center\",\n }}\n key={`${context.route}`}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{\n duration: mobile ? 0 : 0.17,\n delay: mobile ? 0.01 : 0,\n }}\n >\n <FitText>{getHeading()}</FitText>\n </motion.div>\n </AnimatePresence>\n </ModalHeading>\n\n <InnerContainer>\n {Object.keys(pages).map((key) => (\n <Page\n key={key}\n open={key === pageId}\n initial={!positionInside && state !== \"entered\"}\n enterAnim={\n key === pageId\n ? currentDepth > prevDepth\n ? \"active-scale-up\"\n : \"active\"\n : \"\"\n }\n exitAnim={\n key !== pageId\n ? currentDepth < prevDepth\n ? \"exit-scale-down\"\n : \"exit\"\n : \"\"\n }\n >\n <PageContents\n key={`inner-${key}`}\n ref={contentRef}\n style={{\n pointerEvents:\n key === pageId && rendered ? \"auto\" : \"none\",\n }}\n >\n {pages[key]}\n </PageContents>\n </Page>\n ))}\n </InnerContainer>\n </BoxContainer>\n </Container>\n </ModalContainer>\n </ResetContainer>\n );\n return (\n <>\n {mounted && (\n <>\n {positionInside ? (\n Content\n ) : (\n <>\n {\n <Portal>\n <FocusTrap>{Content}</FocusTrap>\n </Portal>\n }\n </>\n )}\n </>\n )}\n </>\n );\n};\n\ntype PageProps = {\n children?: React.ReactNode;\n open?: boolean;\n initial: boolean;\n prevDepth?: number;\n currentDepth?: number;\n enterAnim?: string;\n exitAnim?: string;\n};\n\nconst Page: React.FC<PageProps> = ({\n children,\n open,\n initial,\n prevDepth,\n currentDepth,\n enterAnim,\n exitAnim,\n}) => {\n const [state, setOpen] = useTransition({\n timeout: 400,\n preEnter: true,\n initialEntered: open,\n mountOnEnter: true,\n unmountOnExit: true,\n });\n const mounted = !(state === \"exited\" || state === \"unmounted\");\n const rendered = state === \"preEnter\" || state !== \"exiting\";\n\n useEffect(() => {\n setOpen(open);\n }, [open]);\n\n if (!mounted) return null;\n\n return (\n <PageContainer\n className={`${rendered ? enterAnim : exitAnim}`}\n style={{\n animationDuration: initial ? \"0ms\" : undefined,\n animationDelay: initial ? \"0ms\" : undefined,\n }}\n >\n {children}\n </PageContainer>\n );\n};\n\nexport const OrDivider = ({ children }: { children?: React.ReactNode }) => {\n const locales = useLocales();\n return (\n <TextWithHr>\n <span>{children ?? locales.or}</span>\n </TextWithHr>\n );\n};\n\nexport default Modal;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Modal/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { AnimatePresence, motion, Variants } from \"framer-motion\";\n\nimport { ResetContainer } from \"../../../styles\";\nimport Portal from \"../Portal\";\n\nimport { flattenChildren, isMobile } from \"../../../utils\";\n\nimport {\n BackButton,\n BackgroundOverlay,\n BoxContainer,\n CloseButton,\n Container,\n ControllerContainer,\n Disclaimer,\n DisclaimerBackground,\n ErrorMessage,\n InfoButton,\n InnerContainer,\n ModalContainer,\n ModalHeading,\n PageContainer,\n PageContents,\n TextWithHr,\n} from \"./styles\";\n\nimport useLockBodyScroll from \"../../../hooks/useLockBodyScroll\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport {\n getChainName,\n shouldShowExternalQRCodeOnDesktop,\n} from \"@daimo/pay-common\";\nimport { useTransition } from \"react-transition-state\";\nimport { useAccount, useSwitchChain } from \"wagmi\";\nimport { AuthIcon } from \"../../../assets/icons\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport FocusTrap from \"../../../hooks/useFocusTrap\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport usePrevious from \"../../../hooks/usePrevious\";\nimport { CustomTheme } from \"../../../types\";\nimport {\n useWallet,\n WALLET_ID_MOBILE_WALLETS,\n} from \"../../../wallets/useWallets\";\nimport { useThemeContext } from \"../../DaimoPayThemeProvider/DaimoPayThemeProvider\";\nimport FitText from \"../FitText\";\n\nconst ProfileIcon = ({ isSignedIn }: { isSignedIn?: boolean }) => (\n <div style={{ position: \"relative\" }}>\n {isSignedIn ? (\n <AuthIcon\n style={{\n bottom: -1,\n right: -1,\n }}\n />\n ) : (\n <div\n style={{\n zIndex: 2,\n position: \"absolute\",\n top: -2,\n right: -2,\n background: \"#1A88F8\",\n borderRadius: 8,\n boxShadow: \"0 0 0 2px var(--ck-body-background)\",\n width: 8,\n height: 8,\n }}\n />\n )}\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ overflow: \"visible\" }}\n >\n <circle cx=\"10\" cy=\"10\" r=\"9\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <path\n d=\"M16.5 16.775C14.8618 15.0649 12.5552 14 10 14C7.44477 14 5.13825 15.0649 3.5 16.775\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <circle cx=\"10\" cy=\"8\" r=\"3\" stroke=\"currentColor\" strokeWidth=\"2\" />\n </svg>\n </div>\n);\nconst InfoIcon = ({ ...props }) => (\n <svg\n aria-hidden=\"true\"\n width=\"22\"\n height=\"22\"\n viewBox=\"0 0 22 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 11C20 15.9706 15.9706 20 11 20C6.02944 20 2 15.9706 2 11C2 6.02944 6.02944 2 11 2C15.9706 2 20 6.02944 20 11ZM22 11C22 17.0751 17.0751 22 11 22C4.92487 22 0 17.0751 0 11C0 4.92487 4.92487 0 11 0C17.0751 0 22 4.92487 22 11ZM11.6445 12.7051C11.6445 13.1348 11.3223 13.4678 10.7744 13.4678C10.2266 13.4678 9.92578 13.1885 9.92578 12.6191V12.4795C9.92578 11.4268 10.4951 10.8574 11.2686 10.3203C12.2031 9.67578 12.665 9.32129 12.665 8.59082C12.665 7.76367 12.0205 7.21582 11.043 7.21582C10.3232 7.21582 9.80762 7.57031 9.45312 8.16113C9.38282 8.24242 9.32286 8.32101 9.2667 8.39461C9.04826 8.68087 8.88747 8.8916 8.40039 8.8916C8.0459 8.8916 7.66992 8.62305 7.66992 8.15039C7.66992 7.96777 7.70215 7.7959 7.75586 7.61328C8.05664 6.625 9.27051 5.75488 11.1182 5.75488C12.9336 5.75488 14.5234 6.71094 14.5234 8.50488C14.5234 9.7832 13.7822 10.417 12.7402 11.1045C11.999 11.5986 11.6445 11.9746 11.6445 12.5762V12.7051ZM11.9131 15.5625C11.9131 16.1855 11.376 16.6797 10.7529 16.6797C10.1299 16.6797 9.59277 16.1748 9.59277 15.5625C9.59277 14.9395 10.1191 14.4453 10.7529 14.4453C11.3867 14.4453 11.9131 14.9287 11.9131 15.5625Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\nconst CloseIcon = ({ ...props }) => (\n <motion.svg\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M1 13L13 1M1 1L13 13\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </motion.svg>\n);\nconst BackIcon = ({ ...props }) => (\n <motion.svg\n width={9}\n height={16}\n viewBox=\"0 0 9 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M8 1L1 8L8 15\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </motion.svg>\n);\n\nconst contentTransitionDuration = 0.22;\n\nexport const contentVariants: Variants = {\n initial: {\n //willChange: 'transform,opacity',\n zIndex: 2,\n opacity: 0,\n },\n animate: {\n opacity: 1,\n scale: 1,\n transition: {\n duration: contentTransitionDuration * 0.75,\n delay: contentTransitionDuration * 0.25,\n ease: [0.26, 0.08, 0.25, 1],\n },\n },\n exit: {\n zIndex: 1,\n opacity: 0,\n pointerEvents: \"none\",\n position: \"absolute\",\n left: [\"50%\", \"50%\"],\n x: [\"-50%\", \"-50%\"],\n transition: {\n duration: contentTransitionDuration,\n ease: [0.26, 0.08, 0.25, 1],\n },\n },\n};\n\ntype ModalProps = {\n open?: boolean;\n pages: Record<ROUTES, React.ReactNode>;\n pageId: string;\n positionInside?: boolean;\n inline?: boolean;\n onClose?: () => void;\n onBack?: () => void;\n onInfo?: () => void;\n demo?: {\n theme: string;\n mode?: string;\n customTheme: CustomTheme;\n };\n};\nconst Modal: React.FC<ModalProps> = ({\n open,\n pages,\n pageId,\n positionInside,\n inline,\n demo,\n onClose,\n onBack,\n onInfo,\n}) => {\n const context = usePayContext();\n const themeContext = useThemeContext();\n const mobile = isMobile();\n const {\n selectedExternalOption,\n selectedTokenOption,\n selectedSolanaTokenOption,\n selectedDepositAddressOption,\n } = context.paymentState;\n const { order, paymentState } = useDaimoPay();\n\n const { connector } = useAccount();\n const wallet = useWallet(connector?.id ?? \"\");\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 locales = useLocales({\n CONNECTORNAME: walletInfo?.name,\n });\n\n const [state, setOpen] = useTransition({\n timeout: 160,\n preEnter: true,\n mountOnEnter: true,\n unmountOnExit: true,\n });\n const mounted = !(state === \"exited\" || state === \"unmounted\");\n const rendered = state === \"preEnter\" || state !== \"exiting\";\n const currentDepth =\n context.route === ROUTES.CONNECTORS\n ? 0\n : context.route === ROUTES.DOWNLOAD\n ? 2\n : 1;\n const prevDepth = usePrevious(currentDepth, currentDepth);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (!positionInside) useLockBodyScroll(mounted);\n\n useEffect(() => {\n setOpen(open);\n if (open) setInTransition(undefined);\n }, [open]);\n\n const [dimensions, setDimensions] = useState<{\n width: string | undefined;\n height: string | undefined;\n }>({\n width: undefined,\n height: undefined,\n });\n const [inTransition, setInTransition] = useState<boolean | undefined>(\n undefined,\n );\n\n // Calculate new content bounds\n const updateBounds = (node: any) => {\n const bounds = {\n width: node?.offsetWidth,\n height: node?.offsetHeight,\n };\n setDimensions({\n width: `${bounds?.width}px`,\n height: `${bounds?.height}px`,\n });\n };\n\n let blockTimeout: ReturnType<typeof setTimeout>;\n const contentRef = useCallback(\n (node: any) => {\n if (!node) return;\n ref.current = node;\n\n // Avoid transition mixups\n setInTransition(inTransition === undefined ? false : true);\n clearTimeout(blockTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n blockTimeout = setTimeout(() => setInTransition(false), 360);\n\n // Calculate new content bounds\n updateBounds(node);\n },\n [open, inTransition],\n );\n\n // Update layout on chain/network switch to avoid clipping\n const { chain } = useAccount();\n const { switchChain } = useSwitchChain();\n\n const ref = useRef<any>(null);\n useEffect(() => {\n if (ref.current) updateBounds(ref.current);\n }, [chain, switchChain, mobile, context.options, context.resize]);\n\n useEffect(() => {\n if (!mounted) {\n setDimensions({\n width: undefined,\n height: undefined,\n });\n return;\n }\n\n const listener = (e: KeyboardEvent) => {\n if (e.key === \"Escape\" && onClose) onClose();\n };\n document.addEventListener(\"keydown\", listener);\n return () => {\n document.removeEventListener(\"keydown\", listener);\n };\n }, [mounted, onClose]);\n\n const dimensionsCSS = {\n \"--height\": dimensions.height,\n \"--width\": dimensions.width,\n } as React.CSSProperties;\n\n function shouldUseQrcode() {\n if (!wallet) return false; // Fail states are shown in the injector flow\n\n const useInjector = wallet.isInstalled;\n return !useInjector;\n }\n\n const shouldShowWalletQRCodeOnDesktop =\n context.pendingConnectorId === WALLET_ID_MOBILE_WALLETS ||\n context.pendingConnectorId === \"world\";\n\n function getHeading() {\n const payWithString = flattenChildren(locales.payWith).join(\"\");\n switch (context.route) {\n case ROUTES.ABOUT:\n return locales.aboutScreen_heading;\n case ROUTES.CONNECT:\n if (shouldShowWalletQRCodeOnDesktop) {\n return locales.scanWithPhone;\n } else {\n return walletInfo?.name;\n }\n case ROUTES.SELECT_EXCHANGE:\n return locales.selectExchange;\n case ROUTES.SOLANA_CONNECTOR:\n return context.solanaConnector ?? locales.solanaWallet;\n case ROUTES.CONNECTORS:\n return locales.connectorsScreen_heading;\n case ROUTES.MOBILECONNECTORS:\n return locales.mobileConnectorsScreen_heading;\n case ROUTES.DOWNLOAD:\n return locales.downloadAppScreen_heading;\n case ROUTES.ONBOARDING:\n return locales.onboardingScreen_heading;\n case ROUTES.SWITCHNETWORKS:\n return locales.switchNetworkScreen_heading;\n case ROUTES.SELECT_METHOD:\n case ROUTES.SELECT_TOKEN:\n return order?.metadata.intent;\n case ROUTES.SOLANA_PAY_WITH_TOKEN:\n if (!selectedSolanaTokenOption) return undefined;\n return `${payWithString} ${selectedSolanaTokenOption.required.token.symbol}`;\n case ROUTES.WAITING_EXTERNAL:\n if (\n selectedExternalOption &&\n shouldShowExternalQRCodeOnDesktop(selectedExternalOption.id) &&\n !mobile\n ) {\n return locales.scanWithPhone;\n }\n return selectedExternalOption?.cta;\n case ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN:\n return locales.selectChain;\n case ROUTES.WAITING_DEPOSIT_ADDRESS:\n if (paymentState === \"warning\") return locales.leaveSession;\n if (!selectedDepositAddressOption) return undefined;\n return `${payWithString} ${selectedDepositAddressOption.id}`;\n case ROUTES.SELECT_ZKP2P:\n return locales.selectApp;\n case ROUTES.SELECT_AMOUNT:\n case ROUTES.SELECT_EXTERNAL_AMOUNT:\n case ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT:\n case ROUTES.SOLANA_SELECT_AMOUNT:\n case ROUTES.SELECT_WALLET_AMOUNT:\n return locales.selectAmount;\n case ROUTES.PAY_WITH_TOKEN:\n if (selectedTokenOption == null) return undefined;\n\n const chainName = getChainName(\n selectedTokenOption.balance.token.chainId,\n );\n return `${payWithString} ${chainName} ${selectedTokenOption.balance.token.symbol}`;\n case ROUTES.CONFIRMATION:\n return locales.paymentSuccessful;\n case ROUTES.ERROR:\n return locales.error;\n case ROUTES.SELECT_WALLET_CHAIN:\n return locales.selectChain;\n }\n }\n\n const Content = (\n <ResetContainer\n $useTheme={demo?.theme ?? themeContext.theme}\n $useMode={demo?.mode ?? themeContext.mode}\n $customTheme={demo?.customTheme ?? themeContext.customTheme}\n >\n <ModalContainer\n role=\"dialog\"\n style={{\n pointerEvents: rendered ? \"auto\" : \"none\",\n position: positionInside ? \"absolute\" : undefined,\n }}\n >\n {!inline && (\n <BackgroundOverlay\n $active={rendered}\n onClick={onClose}\n $blur={context.options?.overlayBlur}\n />\n )}\n <Container\n style={dimensionsCSS}\n initial={false}\n // transition={{\n // ease: [0.2555, 0.1111, 0.2555, 1.0001],\n // duration: !positionInside && state !== 'entered' ? 0 : 0.24,\n // }}\n >\n <div\n style={{\n pointerEvents: inTransition ? \"all\" : \"none\", // Block interaction while transitioning\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"var(--width)\",\n zIndex: 9,\n transition: \"width 200ms ease\",\n }}\n />\n <BoxContainer className={`${rendered && \"active\"}`}>\n <AnimatePresence initial={false}>\n {context.options?.disclaimer &&\n context.route === ROUTES.CONNECTORS && (\n <DisclaimerBackground\n initial={{\n opacity: 0,\n }}\n animate={{\n opacity: 1,\n }}\n exit={{ opacity: 0 }}\n transition={{\n delay: 0,\n duration: 0.2,\n ease: [0.25, 0.1, 0.25, 1.0],\n }}\n >\n <Disclaimer>\n <div>{context.options?.disclaimer}</div>\n </Disclaimer>\n </DisclaimerBackground>\n )}\n </AnimatePresence>\n <AnimatePresence initial={false}>\n {context.errorMessage && (\n <ErrorMessage\n initial={{ y: \"10%\", x: \"-50%\" }}\n animate={{ y: \"-100%\" }}\n exit={{ y: \"100%\" }}\n transition={{ duration: 0.2, ease: \"easeInOut\" }}\n >\n <span>{context.errorMessage}</span>\n <div\n onClick={() => context.displayError(null)}\n style={{\n position: \"absolute\",\n right: 24,\n top: 24,\n cursor: \"pointer\",\n }}\n >\n <CloseIcon />\n </div>\n </ErrorMessage>\n )}\n </AnimatePresence>\n <ControllerContainer>\n {onClose && (\n <CloseButton\n aria-label={flattenChildren(locales.close).toString()}\n onClick={onClose}\n >\n <CloseIcon />\n </CloseButton>\n )}\n <div\n style={{\n position: \"absolute\",\n top: 23,\n left: 20,\n width: 32,\n height: 32,\n }}\n >\n <AnimatePresence>\n {onBack ? (\n <BackButton\n disabled={inTransition}\n aria-label={flattenChildren(locales.back).toString()}\n key=\"backButton\"\n onClick={onBack}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{\n duration: mobile ? 0 : 0.1,\n delay: mobile ? 0.01 : 0,\n }}\n >\n <BackIcon />\n </BackButton>\n ) : (\n onInfo &&\n !context.options?.hideQuestionMarkCTA && (\n <InfoButton\n disabled={inTransition}\n aria-label={flattenChildren(\n locales.moreInformation,\n ).toString()}\n key=\"infoButton\"\n onClick={onInfo}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{\n duration: mobile ? 0 : 0.1,\n delay: mobile ? 0.01 : 0,\n }}\n >\n <InfoIcon />\n </InfoButton>\n )\n )}\n </AnimatePresence>\n </div>\n </ControllerContainer>\n\n <ModalHeading>\n <AnimatePresence>\n <motion.div\n style={{\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 52,\n right: 52,\n display: \"flex\",\n //alignItems: 'center',\n justifyContent: \"center\",\n }}\n key={`${context.route}`}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{\n duration: mobile ? 0 : 0.17,\n delay: mobile ? 0.01 : 0,\n }}\n >\n <FitText>{getHeading()}</FitText>\n </motion.div>\n </AnimatePresence>\n </ModalHeading>\n\n <InnerContainer>\n {Object.keys(pages).map((key) => (\n <Page\n key={key}\n open={key === pageId}\n initial={!positionInside && state !== \"entered\"}\n enterAnim={\n key === pageId\n ? currentDepth > prevDepth\n ? \"active-scale-up\"\n : \"active\"\n : \"\"\n }\n exitAnim={\n key !== pageId\n ? currentDepth < prevDepth\n ? \"exit-scale-down\"\n : \"exit\"\n : \"\"\n }\n >\n <PageContents\n key={`inner-${key}`}\n ref={contentRef}\n style={{\n pointerEvents:\n key === pageId && rendered ? \"auto\" : \"none\",\n }}\n >\n {pages[key]}\n </PageContents>\n </Page>\n ))}\n </InnerContainer>\n </BoxContainer>\n </Container>\n </ModalContainer>\n </ResetContainer>\n );\n return (\n <>\n {mounted && (\n <>\n {positionInside ? (\n Content\n ) : (\n <>\n {\n <Portal>\n <FocusTrap>{Content}</FocusTrap>\n </Portal>\n }\n </>\n )}\n </>\n )}\n </>\n );\n};\n\ntype PageProps = {\n children?: React.ReactNode;\n open?: boolean;\n initial: boolean;\n prevDepth?: number;\n currentDepth?: number;\n enterAnim?: string;\n exitAnim?: string;\n};\n\nconst Page: React.FC<PageProps> = ({\n children,\n open,\n initial,\n prevDepth,\n currentDepth,\n enterAnim,\n exitAnim,\n}) => {\n const [state, setOpen] = useTransition({\n timeout: 400,\n preEnter: true,\n initialEntered: open,\n mountOnEnter: true,\n unmountOnExit: true,\n });\n const mounted = !(state === \"exited\" || state === \"unmounted\");\n const rendered = state === \"preEnter\" || state !== \"exiting\";\n\n useEffect(() => {\n setOpen(open);\n }, [open]);\n\n if (!mounted) return null;\n\n return (\n <PageContainer\n className={`${rendered ? enterAnim : exitAnim}`}\n style={{\n animationDuration: initial ? \"0ms\" : undefined,\n animationDelay: initial ? \"0ms\" : undefined,\n }}\n >\n {children}\n </PageContainer>\n );\n};\n\nexport const OrDivider = ({ children }: { children?: React.ReactNode }) => {\n const locales = useLocales();\n return (\n <TextWithHr>\n <span>{children ?? locales.or}</span>\n </TextWithHr>\n );\n};\n\nexport default Modal;\n"],"names":[],"mappings":"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"}
@@ -3,8 +3,7 @@ import { getAddressContraction } from '@daimo/pay-common';
3
3
  import { useWallet } from '@solana/wallet-adapter-react';
4
4
  import { motion } from 'framer-motion';
5
5
  import { useAccount } from 'wagmi';
6
- import { Solana, Ethereum, Optimism, Arbitrum, Base, Polygon } from '../../../assets/chains.js';
7
- import { USDC } from '../../../assets/coins.js';
6
+ import { Solana } from '../../../assets/chains.js';
8
7
  import defaultTheme from '../../../constants/defaultTheme.js';
9
8
  import { ROUTES } from '../../../constants/routes.js';
10
9
  import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
@@ -75,38 +74,9 @@ const OrderHeader = ({
75
74
  ] });
76
75
  }
77
76
  } else {
78
- return /* @__PURE__ */ jsxs(Fragment, { children: [
79
- titleAmountContent && /* @__PURE__ */ jsx(TitleAmount, { children: titleAmountContent }),
80
- /* @__PURE__ */ jsxs(AnyChainAnyCoinContainer, { children: [
81
- /* @__PURE__ */ jsx(CoinLogos, {}),
82
- /* @__PURE__ */ jsx(Subtitle, { children: locales.tokensAccepted })
83
- ] })
84
- ] });
77
+ return /* @__PURE__ */ jsx(Fragment, { children: titleAmountContent && /* @__PURE__ */ jsx(TitleAmount, { children: titleAmountContent }) });
85
78
  }
86
79
  };
87
- function CoinLogos({ $size = 24 }) {
88
- const logos = [
89
- /* @__PURE__ */ jsx(Ethereum, {}, "eth"),
90
- /* @__PURE__ */ jsx(USDC, {}, "usdc"),
91
- /* @__PURE__ */ jsx(Optimism, {}, "optimism"),
92
- /* @__PURE__ */ jsx(Arbitrum, {}, "arbitrum"),
93
- /* @__PURE__ */ jsx(Base, {}, "base"),
94
- /* @__PURE__ */ jsx(Polygon, {}, "polygon"),
95
- /* @__PURE__ */ jsx(Solana, {}, "solana")
96
- ];
97
- const logoBlock = (element, index) => /* @__PURE__ */ jsx(
98
- LogoContainer,
99
- {
100
- $marginLeft: index !== 0 ? -($size / 3) : 0,
101
- $zIndex: logos.length - index,
102
- $size,
103
- transition: { duration: 0.5, ease: [0.175, 0.885, 0.32, 0.98] },
104
- children: element
105
- },
106
- index
107
- );
108
- return /* @__PURE__ */ jsx(Logos, { children: logos.map((element, index) => logoBlock(element, index)) });
109
- }
110
80
  const TitleAmount = styled(motion.h1)`
111
81
  margin-bottom: 24px;
112
82
  padding: 0;
@@ -149,15 +119,6 @@ const MinifiedContainer = styled(motion.div)`
149
119
  width: 100%;
150
120
  margin-bottom: 24px;
151
121
  `;
152
- const AnyChainAnyCoinContainer = styled(motion.div)`
153
- display: flex;
154
- vertical-align: middle;
155
- align-items: center;
156
- justify-content: center;
157
- text-align: center;
158
- gap: 8px;
159
- margin-bottom: 24px;
160
- `;
161
122
  const LogoContainer = styled(motion.div)`
162
123
  display: block;
163
124
  overflow: hidden;
@@ -176,11 +137,6 @@ const LogoContainer = styled(motion.div)`
176
137
  height: auto;
177
138
  }
178
139
  `;
179
- const Logos = styled(motion.div)`
180
- display: flex;
181
- align-items: center;
182
- justify-content: center;
183
- `;
184
140
  const SubtitleContainer = styled.div`
185
141
  display: flex;
186
142
  align-items: center;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/OrderHeader/index.tsx"],"sourcesContent":["import { getAddressContraction } from \"@daimo/pay-common\";\nimport { useWallet } from \"@solana/wallet-adapter-react\";\nimport { motion } from \"framer-motion\";\nimport React from \"react\";\nimport { useAccount } from \"wagmi\";\nimport {\n Arbitrum,\n Base,\n Ethereum,\n Optimism,\n Polygon,\n Solana,\n} from \"../../../assets/chains\";\nimport { USDC } from \"../../../assets/coins\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport styled from \"../../../styles/styled\";\nimport { formatUsd } from \"../../../utils/format\";\n\n/** Shows payment amount. */\nexport const OrderHeader = ({\n minified = false,\n show = \"all\",\n}: {\n minified?: boolean;\n show?: \"evm\" | \"solana\" | \"zkp2p\" | \"all\";\n}) => {\n const { paymentState, route } = usePayContext();\n const { isConnected: isEthConnected, address, connector } = useAccount();\n const {\n connected: isSolanaConnected,\n publicKey,\n wallet: solanaWallet,\n } = useWallet();\n const { senderEnsName } = paymentState;\n const { order } = useDaimoPay();\n\n const ethWalletDisplayName =\n senderEnsName ?? (address ? getAddressContraction(address) : \"wallet\");\n const solWalletDisplayName = getAddressContraction(\n publicKey?.toBase58() ?? \"\",\n );\n const orderUsd = order?.destFinalCallTokenAmount.usd;\n\n const locales = useLocales();\n\n const titleAmountContent = (() => {\n if (paymentState.isDepositFlow) {\n return route === ROUTES.SELECT_TOKEN ? (\n // TODO: make this match `ModalH1` font size for mobile\n <span style={{ fontSize: \"19px\", lineHeight: \"22px\" }}>\n {locales.yourBalances}\n </span>\n ) : null;\n } else {\n return orderUsd != null ? (\n <span>{formatUsd(orderUsd, \"nearest\")}</span>\n ) : null;\n }\n })();\n\n const renderIcon = (\n icon: React.ReactNode | string | undefined,\n name?: string,\n size = 32,\n ): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n return (\n <LogoContainer $size={size} $zIndex={1} style={{ borderRadius: \"22.5%\" }}>\n {typeof icon === \"string\" ? (\n <img\n src={icon}\n alt={name || \"wallet\"}\n style={{ maxWidth: \"100%\", maxHeight: \"100%\" }}\n />\n ) : (\n icon\n )}\n </LogoContainer>\n );\n };\n let walletIcon = renderIcon(connector?.icon);\n let solanaIcon = renderIcon(\n solanaWallet?.adapter.icon || <Solana />,\n solanaWallet?.adapter.name,\n );\n\n if (minified) {\n if (titleAmountContent != null) {\n return (\n <MinifiedContainer>\n <MinifiedTitleAmount>{titleAmountContent}</MinifiedTitleAmount>\n {show === \"evm\" && isEthConnected && (\n <>\n <SubtitleContainer>\n <Subtitle>{ethWalletDisplayName}</Subtitle>\n {walletIcon}\n </SubtitleContainer>\n </>\n )}\n {show === \"solana\" && isSolanaConnected && (\n <>\n <SubtitleContainer>\n <Subtitle>{solWalletDisplayName}</Subtitle>\n {solanaIcon}\n </SubtitleContainer>\n </>\n )}\n </MinifiedContainer>\n );\n }\n } else {\n return (\n <>\n {titleAmountContent && <TitleAmount>{titleAmountContent}</TitleAmount>}\n <AnyChainAnyCoinContainer>\n <CoinLogos />\n <Subtitle>{locales.tokensAccepted}</Subtitle>\n </AnyChainAnyCoinContainer>\n </>\n );\n }\n};\n\nfunction CoinLogos({ $size = 24 }: { $size?: number }) {\n const logos = [\n <Ethereum key=\"eth\" />,\n <USDC key=\"usdc\" />,\n <Optimism key=\"optimism\" />,\n <Arbitrum key=\"arbitrum\" />,\n <Base key=\"base\" />,\n <Polygon key=\"polygon\" />,\n <Solana key=\"solana\" />,\n ];\n\n const logoBlock = (element: React.ReactElement, index: number) => (\n <LogoContainer\n key={index}\n $marginLeft={index !== 0 ? -($size / 3) : 0}\n $zIndex={logos.length - index}\n $size={$size}\n transition={{ duration: 0.5, ease: [0.175, 0.885, 0.32, 0.98] }}\n >\n {element}\n </LogoContainer>\n );\n\n return (\n <Logos>{logos.map((element, index) => logoBlock(element, index))}</Logos>\n );\n}\n\nconst TitleAmount = styled(motion.h1)<{\n $error?: boolean;\n $valid?: boolean;\n}>`\n margin-bottom: 24px;\n padding: 0;\n line-height: 66px;\n font-size: 64px;\n font-weight: var(--ck-modal-h1-font-weight, 600);\n color: ${(props) => {\n if (props.$error) return \"var(--ck-body-color-danger)\";\n if (props.$valid) return \"var(--ck-body-color-valid)\";\n return \"var(--ck-body-color)\";\n }};\n @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n font-size: 64px;\n }\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n`;\n\nconst Subtitle = styled(motion.div)`\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n color: var(--ck-body-color-muted);\n`;\n\nconst MinifiedTitleAmount = styled(motion.div)`\n font-size: 32px;\n font-weight: var(--ck-modal-h1-font-weight, 600);\n line-height: 36px;\n color: var(--ck-body-color);\n display: flex;\n align-items: center;\n justify-content: start;\n gap: 8px;\n`;\n\nconst MinifiedContainer = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n margin-bottom: 24px;\n`;\n\nconst AnyChainAnyCoinContainer = styled(motion.div)`\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n text-align: center;\n gap: 8px;\n margin-bottom: 24px;\n`;\n\nconst LogoContainer = styled(motion.div)<{\n $marginLeft?: number;\n $zIndex?: number;\n $size: number;\n}>`\n display: block;\n overflow: hidden;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: ${(props) => props.$marginLeft || 0}px;\n z-index: ${(props) => props.$zIndex || 2};\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n border-radius: 9999px;\n svg {\n display: block;\n width: 100%;\n height: auto;\n }\n`;\n\nconst Logos = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst SubtitleContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n`;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/OrderHeader/index.tsx"],"sourcesContent":["import { getAddressContraction } from \"@daimo/pay-common\";\nimport { useWallet } from \"@solana/wallet-adapter-react\";\nimport { motion } from \"framer-motion\";\nimport React from \"react\";\nimport { useAccount } from \"wagmi\";\nimport { Solana } from \"../../../assets/chains\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport styled from \"../../../styles/styled\";\nimport { formatUsd } from \"../../../utils/format\";\n\n/** Shows payment amount. */\nexport const OrderHeader = ({\n minified = false,\n show = \"all\",\n}: {\n minified?: boolean;\n show?: \"evm\" | \"solana\" | \"zkp2p\" | \"all\";\n}) => {\n const { paymentState, route } = usePayContext();\n const { isConnected: isEthConnected, address, connector } = useAccount();\n const {\n connected: isSolanaConnected,\n publicKey,\n wallet: solanaWallet,\n } = useWallet();\n const { senderEnsName } = paymentState;\n const { order } = useDaimoPay();\n\n const ethWalletDisplayName =\n senderEnsName ?? (address ? getAddressContraction(address) : \"wallet\");\n const solWalletDisplayName = getAddressContraction(\n publicKey?.toBase58() ?? \"\",\n );\n const orderUsd = order?.destFinalCallTokenAmount.usd;\n\n const locales = useLocales();\n\n const titleAmountContent = (() => {\n if (paymentState.isDepositFlow) {\n return route === ROUTES.SELECT_TOKEN ? (\n // TODO: make this match `ModalH1` font size for mobile\n <span style={{ fontSize: \"19px\", lineHeight: \"22px\" }}>\n {locales.yourBalances}\n </span>\n ) : null;\n } else {\n return orderUsd != null ? (\n <span>{formatUsd(orderUsd, \"nearest\")}</span>\n ) : null;\n }\n })();\n\n const renderIcon = (\n icon: React.ReactNode | string | undefined,\n name?: string,\n size = 32,\n ): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n return (\n <LogoContainer $size={size} $zIndex={1} style={{ borderRadius: \"22.5%\" }}>\n {typeof icon === \"string\" ? (\n <img\n src={icon}\n alt={name || \"wallet\"}\n style={{ maxWidth: \"100%\", maxHeight: \"100%\" }}\n />\n ) : (\n icon\n )}\n </LogoContainer>\n );\n };\n let walletIcon = renderIcon(connector?.icon);\n let solanaIcon = renderIcon(\n solanaWallet?.adapter.icon || <Solana />,\n solanaWallet?.adapter.name,\n );\n\n if (minified) {\n if (titleAmountContent != null) {\n return (\n <MinifiedContainer>\n <MinifiedTitleAmount>{titleAmountContent}</MinifiedTitleAmount>\n {show === \"evm\" && isEthConnected && (\n <>\n <SubtitleContainer>\n <Subtitle>{ethWalletDisplayName}</Subtitle>\n {walletIcon}\n </SubtitleContainer>\n </>\n )}\n {show === \"solana\" && isSolanaConnected && (\n <>\n <SubtitleContainer>\n <Subtitle>{solWalletDisplayName}</Subtitle>\n {solanaIcon}\n </SubtitleContainer>\n </>\n )}\n </MinifiedContainer>\n );\n }\n } else {\n return (\n <>\n {titleAmountContent && <TitleAmount>{titleAmountContent}</TitleAmount>}\n </>\n );\n }\n};\n\nconst TitleAmount = styled(motion.h1)<{\n $error?: boolean;\n $valid?: boolean;\n}>`\n margin-bottom: 24px;\n padding: 0;\n line-height: 66px;\n font-size: 64px;\n font-weight: var(--ck-modal-h1-font-weight, 600);\n color: ${(props) => {\n if (props.$error) return \"var(--ck-body-color-danger)\";\n if (props.$valid) return \"var(--ck-body-color-valid)\";\n return \"var(--ck-body-color)\";\n }};\n @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n font-size: 64px;\n }\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n`;\n\nconst Subtitle = styled(motion.div)`\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n color: var(--ck-body-color-muted);\n`;\n\nconst MinifiedTitleAmount = styled(motion.div)`\n font-size: 32px;\n font-weight: var(--ck-modal-h1-font-weight, 600);\n line-height: 36px;\n color: var(--ck-body-color);\n display: flex;\n align-items: center;\n justify-content: start;\n gap: 8px;\n`;\n\nconst MinifiedContainer = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n margin-bottom: 24px;\n`;\n\nconst LogoContainer = styled(motion.div)<{\n $marginLeft?: number;\n $zIndex?: number;\n $size: number;\n}>`\n display: block;\n overflow: hidden;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: ${(props) => props.$marginLeft || 0}px;\n z-index: ${(props) => props.$zIndex || 2};\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n border-radius: 9999px;\n svg {\n display: block;\n width: 100%;\n height: auto;\n }\n`;\n\nconst SubtitleContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n`;\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,11 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { ROUTES } from '../../constants/routes.js';
3
3
  import { usePayContext } from '../../hooks/usePayContext.js';
4
- import { OrDivider } from '../Common/Modal/index.js';
5
4
  import { PageContent, ModalContent } from '../Common/Modal/styles.js';
6
5
  import ScanIconWithLogos from '../../assets/ScanIconWithLogos.js';
7
6
  import { useDaimoPay } from '../../hooks/useDaimoPay.js';
8
7
  import useLocales from '../../hooks/useLocales.js';
9
8
  import Button from '../Common/Button/index.js';
10
- import '../Common/CopyToClipboard/index.js';
11
9
  import CustomQRCode from '../Common/CustomQRCode/index.js';
12
10
  import { writeDaimoPayOrderID } from '@daimo/pay-common';
13
11
  import Logos, { SquircleIcon } from '../../assets/logos.js';
@@ -29,7 +27,6 @@ const ConnectWithQRCode = ({
29
27
  return /* @__PURE__ */ jsx(Fragment, { children: " No wallet or external option found " });
30
28
  const downloads = wallet?.downloadUrls;
31
29
  const hasApps = downloads && Object.keys(downloads).length !== 0;
32
- const showAdditionalOptions = false;
33
30
  const payId = pay.order ? writeDaimoPayOrderID(pay.order.id) : "";
34
31
  const isDesktopLinkToMobileWallets = wallet?.id === WALLET_ID_MOBILE_WALLETS;
35
32
  const mode = isDesktopLinkToMobileWallets ? "browser" : "wallet";
@@ -38,50 +35,46 @@ const ConnectWithQRCode = ({
38
35
  worldDeeplink ?? // open in World App
39
36
  `https://pay.daimo.com/pay?id=${payId}&mode=${mode}`;
40
37
  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",
38
+ /* @__PURE__ */ jsx(ModalContent, { style: { paddingBottom: 8, gap: 14 }, children: /* @__PURE__ */ jsx(
39
+ CustomQRCode,
40
+ {
41
+ value: url,
42
+ image: wallet?.id === "world" ? /* @__PURE__ */ jsx(SquircleIcon, { icon: Logos.World, alt: "World" }) : externalOption?.logoURI ? /* @__PURE__ */ jsx(SquircleIcon, { icon: externalOption.logoURI, alt: "Logo" }) : /* @__PURE__ */ jsx(
43
+ "div",
44
+ {
45
+ style: {
46
+ width: "100%",
47
+ height: "100%",
48
+ borderRadius: "22.5%",
49
+ overflow: "hidden",
50
+ display: "flex",
51
+ alignItems: "center",
52
+ justifyContent: "center",
53
+ backgroundColor: "var(--ck-body-background)",
54
+ transform: "scale(1.3) translateY(5%)",
55
+ transformOrigin: "center center"
56
+ },
57
+ children: /* @__PURE__ */ jsx(MobileWithLogos, {})
58
+ }
59
+ ),
60
+ tooltipMessage: isDesktopLinkToMobileWallets ? /* @__PURE__ */ jsxs(Fragment, { children: [
61
+ /* @__PURE__ */ jsx(ScanIconWithLogos, {}),
62
+ /* @__PURE__ */ jsxs("span", { children: [
63
+ "Finish the payment ",
64
+ /* @__PURE__ */ jsx("br", {}),
65
+ "on your mobile phone"
66
+ ] })
67
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
68
+ /* @__PURE__ */ jsx(
69
+ ScanIconWithLogos,
48
70
  {
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, {})
71
+ logo: externalOption?.logoURI ? /* @__PURE__ */ jsx(SquircleIcon, { icon: externalOption.logoURI, alt: "Logo" }) : wallet?.icon
62
72
  }
63
73
  ),
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 ,
74
+ /* @__PURE__ */ jsx("span", { children: locales.scanScreen_tooltip_default })
75
+ ] })
76
+ }
77
+ ) }),
85
78
  hasApps && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
86
79
  Button,
87
80
  {
@@ -1 +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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"}
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 { 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 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 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 </ModalContent>\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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"}