@daimo/pay 1.19.6 → 1.19.8

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 (447) hide show
  1. package/build/index.d.ts +52 -64
  2. package/build/package.json.js +6 -5
  3. package/build/package.json.js.map +1 -1
  4. package/build/src/assets/chains.js +24 -2
  5. package/build/src/assets/chains.js.map +1 -1
  6. package/build/src/defaultConfig.js +2 -1
  7. package/build/src/defaultConfig.js.map +1 -1
  8. package/build/src/hooks/usePaymentOptions.js +183 -0
  9. package/build/src/hooks/usePaymentOptions.js.map +1 -0
  10. package/build/src/hooks/usePaymentState.js +18 -29
  11. package/build/src/hooks/usePaymentState.js.map +1 -1
  12. package/build/src/wallets/useWallets.js +1 -1
  13. package/build/src/wallets/useWallets.js.map +1 -1
  14. package/build/src/wallets/walletConfigs.js +8 -84
  15. package/build/src/wallets/walletConfigs.js.map +1 -1
  16. package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
  17. package/build/{types-1473bcf4.d.ts → types-26343050.d.ts} +2 -2
  18. package/build/world.d.ts +4 -6
  19. package/package.json +6 -5
  20. package/build/_virtual/common.js +0 -4
  21. package/build/_virtual/common.js.map +0 -1
  22. package/build/_virtual/common2.js +0 -4
  23. package/build/_virtual/common2.js.map +0 -1
  24. package/build/_virtual/hash.js +0 -4
  25. package/build/_virtual/hash.js.map +0 -1
  26. package/build/_virtual/hash2.js +0 -4
  27. package/build/_virtual/hash2.js.map +0 -1
  28. package/build/_virtual/index.js +0 -4
  29. package/build/_virtual/index.js.map +0 -1
  30. package/build/_virtual/index2.js +0 -4
  31. package/build/_virtual/index2.js.map +0 -1
  32. package/build/_virtual/inherits_browser.js +0 -4
  33. package/build/_virtual/inherits_browser.js.map +0 -1
  34. package/build/_virtual/ripemd.js +0 -4
  35. package/build/_virtual/ripemd.js.map +0 -1
  36. package/build/_virtual/sha.js +0 -4
  37. package/build/_virtual/sha.js.map +0 -1
  38. package/build/_virtual/utils.js +0 -4
  39. package/build/_virtual/utils.js.map +0 -1
  40. package/build/node_modules/@binance/w3w-utils/dist/index.js +0 -7
  41. package/build/node_modules/@binance/w3w-utils/dist/index.js.map +0 -1
  42. package/build/node_modules/@binance/w3w-utils/node_modules/eventemitter3/index.js +0 -349
  43. package/build/node_modules/@binance/w3w-utils/node_modules/eventemitter3/index.js.map +0 -1
  44. package/build/node_modules/hash.js/lib/hash/common.js +0 -105
  45. package/build/node_modules/hash.js/lib/hash/common.js.map +0 -1
  46. package/build/node_modules/hash.js/lib/hash/hmac.js +0 -60
  47. package/build/node_modules/hash.js/lib/hash/hmac.js.map +0 -1
  48. package/build/node_modules/hash.js/lib/hash/ripemd.js +0 -159
  49. package/build/node_modules/hash.js/lib/hash/ripemd.js.map +0 -1
  50. package/build/node_modules/hash.js/lib/hash/sha/1.js +0 -88
  51. package/build/node_modules/hash.js/lib/hash/sha/1.js.map +0 -1
  52. package/build/node_modules/hash.js/lib/hash/sha/224.js +0 -42
  53. package/build/node_modules/hash.js/lib/hash/sha/224.js.map +0 -1
  54. package/build/node_modules/hash.js/lib/hash/sha/256.js +0 -120
  55. package/build/node_modules/hash.js/lib/hash/sha/256.js.map +0 -1
  56. package/build/node_modules/hash.js/lib/hash/sha/384.js +0 -48
  57. package/build/node_modules/hash.js/lib/hash/sha/384.js.map +0 -1
  58. package/build/node_modules/hash.js/lib/hash/sha/512.js +0 -344
  59. package/build/node_modules/hash.js/lib/hash/sha/512.js.map +0 -1
  60. package/build/node_modules/hash.js/lib/hash/sha/common.js +0 -61
  61. package/build/node_modules/hash.js/lib/hash/sha/common.js.map +0 -1
  62. package/build/node_modules/hash.js/lib/hash/sha.js +0 -23
  63. package/build/node_modules/hash.js/lib/hash/sha.js.map +0 -1
  64. package/build/node_modules/hash.js/lib/hash/utils.js +0 -291
  65. package/build/node_modules/hash.js/lib/hash/utils.js.map +0 -1
  66. package/build/node_modules/hash.js/lib/hash.js +0 -34
  67. package/build/node_modules/hash.js/lib/hash.js.map +0 -1
  68. package/build/node_modules/inherits/inherits_browser.js +0 -39
  69. package/build/node_modules/inherits/inherits_browser.js.map +0 -1
  70. package/build/node_modules/minimalistic-assert/index.js +0 -22
  71. package/build/node_modules/minimalistic-assert/index.js.map +0 -1
  72. package/build/pay/packages/connectkit/package.json.js +0 -123
  73. package/build/pay/packages/connectkit/package.json.js.map +0 -1
  74. package/build/pay/packages/connectkit/src/assets/MobileWithLogos.js +0 -329
  75. package/build/pay/packages/connectkit/src/assets/MobileWithLogos.js.map +0 -1
  76. package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.js +0 -243
  77. package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.js.map +0 -1
  78. package/build/pay/packages/connectkit/src/assets/browsers.js +0 -969
  79. package/build/pay/packages/connectkit/src/assets/browsers.js.map +0 -1
  80. package/build/pay/packages/connectkit/src/assets/chains.js +0 -639
  81. package/build/pay/packages/connectkit/src/assets/chains.js.map +0 -1
  82. package/build/pay/packages/connectkit/src/assets/icons.js +0 -273
  83. package/build/pay/packages/connectkit/src/assets/icons.js.map +0 -1
  84. package/build/pay/packages/connectkit/src/assets/logos.js +0 -1722
  85. package/build/pay/packages/connectkit/src/assets/logos.js.map +0 -1
  86. package/build/pay/packages/connectkit/src/assets/wave.js +0 -46
  87. package/build/pay/packages/connectkit/src/assets/wave.js.map +0 -1
  88. package/build/pay/packages/connectkit/src/components/Common/Alert/index.js +0 -13
  89. package/build/pay/packages/connectkit/src/components/Common/Alert/index.js.map +0 -1
  90. package/build/pay/packages/connectkit/src/components/Common/Alert/styles.js +0 -55
  91. package/build/pay/packages/connectkit/src/components/Common/Alert/styles.js.map +0 -1
  92. package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.js +0 -71
  93. package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
  94. package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.js +0 -159
  95. package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.js.map +0 -1
  96. package/build/pay/packages/connectkit/src/components/Common/Avatar/index.js +0 -78
  97. package/build/pay/packages/connectkit/src/components/Common/Avatar/index.js.map +0 -1
  98. package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.js +0 -54
  99. package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.js.map +0 -1
  100. package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.js +0 -29
  101. package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.js.map +0 -1
  102. package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.js +0 -20
  103. package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.js.map +0 -1
  104. package/build/pay/packages/connectkit/src/components/Common/Button/index.js +0 -144
  105. package/build/pay/packages/connectkit/src/components/Common/Button/index.js.map +0 -1
  106. package/build/pay/packages/connectkit/src/components/Common/Button/styles.js +0 -287
  107. package/build/pay/packages/connectkit/src/components/Common/Button/styles.js.map +0 -1
  108. package/build/pay/packages/connectkit/src/components/Common/Chain/index.js +0 -141
  109. package/build/pay/packages/connectkit/src/components/Common/Chain/index.js.map +0 -1
  110. package/build/pay/packages/connectkit/src/components/Common/Chain/styles.js +0 -90
  111. package/build/pay/packages/connectkit/src/components/Common/Chain/styles.js.map +0 -1
  112. package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.js +0 -250
  113. package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.js.map +0 -1
  114. package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.js +0 -226
  115. package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.js.map +0 -1
  116. package/build/pay/packages/connectkit/src/components/Common/CircleTimer.js +0 -92
  117. package/build/pay/packages/connectkit/src/components/Common/CircleTimer.js.map +0 -1
  118. package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.js +0 -121
  119. package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.js.map +0 -1
  120. package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.js +0 -344
  121. package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.js.map +0 -1
  122. package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -78
  123. package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
  124. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.js +0 -132
  125. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
  126. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.js +0 -89
  127. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.js.map +0 -1
  128. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.js +0 -142
  129. package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.js.map +0 -1
  130. package/build/pay/packages/connectkit/src/components/Common/FitText/index.js +0 -34
  131. package/build/pay/packages/connectkit/src/components/Common/FitText/index.js.map +0 -1
  132. package/build/pay/packages/connectkit/src/components/Common/Modal/index.js +0 -547
  133. package/build/pay/packages/connectkit/src/components/Common/Modal/index.js.map +0 -1
  134. package/build/pay/packages/connectkit/src/components/Common/Modal/styles.js +0 -665
  135. package/build/pay/packages/connectkit/src/components/Common/Modal/styles.js.map +0 -1
  136. package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.js +0 -145
  137. package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.js.map +0 -1
  138. package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.js +0 -138
  139. package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.js.map +0 -1
  140. package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.js +0 -148
  141. package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.js.map +0 -1
  142. package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.js +0 -70
  143. package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.js.map +0 -1
  144. package/build/pay/packages/connectkit/src/components/Common/Portal/index.js +0 -30
  145. package/build/pay/packages/connectkit/src/components/Common/Portal/index.js.map +0 -1
  146. package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.js +0 -39
  147. package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.js.map +0 -1
  148. package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.js +0 -120
  149. package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.js.map +0 -1
  150. package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.js +0 -169
  151. package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.js.map +0 -1
  152. package/build/pay/packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +0 -96
  153. package/build/pay/packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +0 -1
  154. package/build/pay/packages/connectkit/src/components/Common/Spinner/index.js +0 -64
  155. package/build/pay/packages/connectkit/src/components/Common/Spinner/index.js.map +0 -1
  156. package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.js +0 -22
  157. package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.js.map +0 -1
  158. package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.js +0 -43
  159. package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.js.map +0 -1
  160. package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.js +0 -46
  161. package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.js.map +0 -1
  162. package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.js +0 -152
  163. package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.js.map +0 -1
  164. package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.js +0 -62
  165. package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.js.map +0 -1
  166. package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.js +0 -129
  167. package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.js.map +0 -1
  168. package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.js +0 -81
  169. package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.js.map +0 -1
  170. package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.js +0 -31
  171. package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.js.map +0 -1
  172. package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.js +0 -196
  173. package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.js.map +0 -1
  174. package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.js +0 -50
  175. package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.js.map +0 -1
  176. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.js +0 -70
  177. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
  178. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -339
  179. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
  180. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -131
  181. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
  182. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -86
  183. package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
  184. package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.js +0 -605
  185. package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.js.map +0 -1
  186. package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -25
  187. package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
  188. package/build/pay/packages/connectkit/src/components/Pages/About/graphics.js +0 -853
  189. package/build/pay/packages/connectkit/src/components/Pages/About/graphics.js.map +0 -1
  190. package/build/pay/packages/connectkit/src/components/Pages/About/index.js +0 -222
  191. package/build/pay/packages/connectkit/src/components/Pages/About/index.js.map +0 -1
  192. package/build/pay/packages/connectkit/src/components/Pages/About/styles.js +0 -140
  193. package/build/pay/packages/connectkit/src/components/Pages/About/styles.js.map +0 -1
  194. package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.js +0 -126
  195. package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.js.map +0 -1
  196. package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.js +0 -26
  197. package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.js.map +0 -1
  198. package/build/pay/packages/connectkit/src/components/Pages/Error/index.js +0 -57
  199. package/build/pay/packages/connectkit/src/components/Pages/Error/index.js.map +0 -1
  200. package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.js +0 -108
  201. package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.js.map +0 -1
  202. package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.js +0 -64
  203. package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.js.map +0 -1
  204. package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.js +0 -34
  205. package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.js.map +0 -1
  206. package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.js +0 -229
  207. package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.js.map +0 -1
  208. package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.js +0 -157
  209. package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.js.map +0 -1
  210. package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.js +0 -24
  211. package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.js.map +0 -1
  212. package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +0 -79
  213. package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
  214. package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +0 -80
  215. package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
  216. package/build/pay/packages/connectkit/src/components/Pages/SelectExchange/index.js +0 -62
  217. package/build/pay/packages/connectkit/src/components/Pages/SelectExchange/index.js.map +0 -1
  218. package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.js +0 -80
  219. package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
  220. package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.js +0 -315
  221. package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.js.map +0 -1
  222. package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.js +0 -99
  223. package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.js.map +0 -1
  224. package/build/pay/packages/connectkit/src/components/Pages/SelectWalletAmount/index.js +0 -71
  225. package/build/pay/packages/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +0 -1
  226. package/build/pay/packages/connectkit/src/components/Pages/SelectWalletChain/index.js +0 -55
  227. package/build/pay/packages/connectkit/src/components/Pages/SelectWalletChain/index.js.map +0 -1
  228. package/build/pay/packages/connectkit/src/components/Pages/SelectZKP/index.js +0 -41
  229. package/build/pay/packages/connectkit/src/components/Pages/SelectZKP/index.js.map +0 -1
  230. package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +0 -94
  231. package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
  232. package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -92
  233. package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
  234. package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -24
  235. package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
  236. package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.js +0 -45
  237. package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.js.map +0 -1
  238. package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.js +0 -586
  239. package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
  240. package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.js +0 -174
  241. package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.js.map +0 -1
  242. package/build/pay/packages/connectkit/src/components/Pages/WaitingWallet/index.js +0 -49
  243. package/build/pay/packages/connectkit/src/components/Pages/WaitingWallet/index.js.map +0 -1
  244. package/build/pay/packages/connectkit/src/components/Pages/Warning/index.js +0 -56
  245. package/build/pay/packages/connectkit/src/components/Pages/Warning/index.js.map +0 -1
  246. package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.js +0 -104
  247. package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.js.map +0 -1
  248. package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.js +0 -117
  249. package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
  250. package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -29
  251. package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
  252. package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.js +0 -68
  253. package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
  254. package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.js +0 -66
  255. package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
  256. package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +0 -24
  257. package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
  258. package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
  259. package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
  260. package/build/pay/packages/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +0 -37
  261. package/build/pay/packages/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +0 -1
  262. package/build/pay/packages/connectkit/src/components/Spinners/styles.js +0 -32
  263. package/build/pay/packages/connectkit/src/components/Spinners/styles.js.map +0 -1
  264. package/build/pay/packages/connectkit/src/constants/defaultTheme.js +0 -6
  265. package/build/pay/packages/connectkit/src/constants/defaultTheme.js.map +0 -1
  266. package/build/pay/packages/connectkit/src/constants/limits.js +0 -4
  267. package/build/pay/packages/connectkit/src/constants/limits.js.map +0 -1
  268. package/build/pay/packages/connectkit/src/constants/paymentOptions.js +0 -62
  269. package/build/pay/packages/connectkit/src/constants/paymentOptions.js.map +0 -1
  270. package/build/pay/packages/connectkit/src/constants/routes.js +0 -31
  271. package/build/pay/packages/connectkit/src/constants/routes.js.map +0 -1
  272. package/build/pay/packages/connectkit/src/constants/wallets.js +0 -7
  273. package/build/pay/packages/connectkit/src/constants/wallets.js.map +0 -1
  274. package/build/pay/packages/connectkit/src/defaultConfig.js +0 -64
  275. package/build/pay/packages/connectkit/src/defaultConfig.js.map +0 -1
  276. package/build/pay/packages/connectkit/src/defaultConnectors.js +0 -37
  277. package/build/pay/packages/connectkit/src/defaultConnectors.js.map +0 -1
  278. package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.js +0 -10
  279. package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.js.map +0 -1
  280. package/build/pay/packages/connectkit/src/hooks/useChains.js +0 -10
  281. package/build/pay/packages/connectkit/src/hooks/useChains.js.map +0 -1
  282. package/build/pay/packages/connectkit/src/hooks/useConnect.js +0 -61
  283. package/build/pay/packages/connectkit/src/hooks/useConnect.js.map +0 -1
  284. package/build/pay/packages/connectkit/src/hooks/useConnectCallback.js +0 -21
  285. package/build/pay/packages/connectkit/src/hooks/useConnectCallback.js.map +0 -1
  286. package/build/pay/packages/connectkit/src/hooks/useConnectors.js +0 -20
  287. package/build/pay/packages/connectkit/src/hooks/useConnectors.js.map +0 -1
  288. package/build/pay/packages/connectkit/src/hooks/useDaimoPay.js +0 -131
  289. package/build/pay/packages/connectkit/src/hooks/useDaimoPay.js.map +0 -1
  290. package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.js +0 -12
  291. package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.js.map +0 -1
  292. package/build/pay/packages/connectkit/src/hooks/useDaimoPayUI.js +0 -15
  293. package/build/pay/packages/connectkit/src/hooks/useDaimoPayUI.js.map +0 -1
  294. package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.js +0 -35
  295. package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.js.map +0 -1
  296. package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.js +0 -16
  297. package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.js.map +0 -1
  298. package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.js +0 -79
  299. package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.js.map +0 -1
  300. package/build/pay/packages/connectkit/src/hooks/useFitText.js +0 -133
  301. package/build/pay/packages/connectkit/src/hooks/useFitText.js.map +0 -1
  302. package/build/pay/packages/connectkit/src/hooks/useFocusTrap.js +0 -53
  303. package/build/pay/packages/connectkit/src/hooks/useFocusTrap.js.map +0 -1
  304. package/build/pay/packages/connectkit/src/hooks/useIsMobile.js +0 -11
  305. package/build/pay/packages/connectkit/src/hooks/useIsMobile.js.map +0 -1
  306. package/build/pay/packages/connectkit/src/hooks/useIsMounted.js +0 -10
  307. package/build/pay/packages/connectkit/src/hooks/useIsMounted.js.map +0 -1
  308. package/build/pay/packages/connectkit/src/hooks/useLastConnector.js +0 -24
  309. package/build/pay/packages/connectkit/src/hooks/useLastConnector.js.map +0 -1
  310. package/build/pay/packages/connectkit/src/hooks/useLocales.js +0 -60
  311. package/build/pay/packages/connectkit/src/hooks/useLocales.js.map +0 -1
  312. package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.js +0 -47
  313. package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.js.map +0 -1
  314. package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.js +0 -24
  315. package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.js.map +0 -1
  316. package/build/pay/packages/connectkit/src/hooks/usePayContext.js +0 -11
  317. package/build/pay/packages/connectkit/src/hooks/usePayContext.js.map +0 -1
  318. package/build/pay/packages/connectkit/src/hooks/usePaymentState.js +0 -410
  319. package/build/pay/packages/connectkit/src/hooks/usePaymentState.js.map +0 -1
  320. package/build/pay/packages/connectkit/src/hooks/usePrevious.js +0 -13
  321. package/build/pay/packages/connectkit/src/hooks/usePrevious.js.map +0 -1
  322. package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.js +0 -38
  323. package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.js.map +0 -1
  324. package/build/pay/packages/connectkit/src/hooks/useTokenOptions.js +0 -152
  325. package/build/pay/packages/connectkit/src/hooks/useTokenOptions.js.map +0 -1
  326. package/build/pay/packages/connectkit/src/hooks/useUntronAvailability.js +0 -32
  327. package/build/pay/packages/connectkit/src/hooks/useUntronAvailability.js.map +0 -1
  328. package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.js +0 -97
  329. package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.js.map +0 -1
  330. package/build/pay/packages/connectkit/src/hooks/useWindowSize.js +0 -23
  331. package/build/pay/packages/connectkit/src/hooks/useWindowSize.js.map +0 -1
  332. package/build/pay/packages/connectkit/src/index.js +0 -14
  333. package/build/pay/packages/connectkit/src/index.js.map +0 -1
  334. package/build/pay/packages/connectkit/src/localizations/index.js +0 -48
  335. package/build/pay/packages/connectkit/src/localizations/index.js.map +0 -1
  336. package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.js +0 -95
  337. package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.js.map +0 -1
  338. package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.js +0 -93
  339. package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.js.map +0 -1
  340. package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.js +0 -101
  341. package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.js.map +0 -1
  342. package/build/pay/packages/connectkit/src/localizations/locales/en-US.js +0 -145
  343. package/build/pay/packages/connectkit/src/localizations/locales/en-US.js.map +0 -1
  344. package/build/pay/packages/connectkit/src/localizations/locales/es-ES.js +0 -138
  345. package/build/pay/packages/connectkit/src/localizations/locales/es-ES.js.map +0 -1
  346. package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.js +0 -93
  347. package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.js.map +0 -1
  348. package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.js +0 -93
  349. package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.js.map +0 -1
  350. package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.js +0 -93
  351. package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.js.map +0 -1
  352. package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.js +0 -145
  353. package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.js.map +0 -1
  354. package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.js +0 -97
  355. package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.js.map +0 -1
  356. package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.js +0 -101
  357. package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.js.map +0 -1
  358. package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.js +0 -101
  359. package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.js.map +0 -1
  360. package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.js +0 -93
  361. package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.js.map +0 -1
  362. package/build/pay/packages/connectkit/src/payment/paymentEffects.js +0 -268
  363. package/build/pay/packages/connectkit/src/payment/paymentEffects.js.map +0 -1
  364. package/build/pay/packages/connectkit/src/payment/paymentFsm.js +0 -234
  365. package/build/pay/packages/connectkit/src/payment/paymentFsm.js.map +0 -1
  366. package/build/pay/packages/connectkit/src/payment/paymentStore.js +0 -18
  367. package/build/pay/packages/connectkit/src/payment/paymentStore.js.map +0 -1
  368. package/build/pay/packages/connectkit/src/payment/paymentUtils.js +0 -10
  369. package/build/pay/packages/connectkit/src/payment/paymentUtils.js.map +0 -1
  370. package/build/pay/packages/connectkit/src/provider/DaimoPayProvider.js +0 -292
  371. package/build/pay/packages/connectkit/src/provider/DaimoPayProvider.js.map +0 -1
  372. package/build/pay/packages/connectkit/src/provider/PayContext.js +0 -6
  373. package/build/pay/packages/connectkit/src/provider/PayContext.js.map +0 -1
  374. package/build/pay/packages/connectkit/src/provider/PaymentProvider.js +0 -29
  375. package/build/pay/packages/connectkit/src/provider/PaymentProvider.js.map +0 -1
  376. package/build/pay/packages/connectkit/src/provider/SolanaContextProvider.js +0 -14
  377. package/build/pay/packages/connectkit/src/provider/SolanaContextProvider.js.map +0 -1
  378. package/build/pay/packages/connectkit/src/provider/Web3ContextProvider.js +0 -36
  379. package/build/pay/packages/connectkit/src/provider/Web3ContextProvider.js.map +0 -1
  380. package/build/pay/packages/connectkit/src/stateStore.js +0 -36
  381. package/build/pay/packages/connectkit/src/stateStore.js.map +0 -1
  382. package/build/pay/packages/connectkit/src/styles/defaultTheme.js +0 -80
  383. package/build/pay/packages/connectkit/src/styles/defaultTheme.js.map +0 -1
  384. package/build/pay/packages/connectkit/src/styles/index.js +0 -313
  385. package/build/pay/packages/connectkit/src/styles/index.js.map +0 -1
  386. package/build/pay/packages/connectkit/src/styles/styled/index.js +0 -6
  387. package/build/pay/packages/connectkit/src/styles/styled/index.js.map +0 -1
  388. package/build/pay/packages/connectkit/src/styles/themes/base.js +0 -141
  389. package/build/pay/packages/connectkit/src/styles/themes/base.js.map +0 -1
  390. package/build/pay/packages/connectkit/src/styles/themes/index.js +0 -13
  391. package/build/pay/packages/connectkit/src/styles/themes/index.js.map +0 -1
  392. package/build/pay/packages/connectkit/src/styles/themes/midnight.js +0 -76
  393. package/build/pay/packages/connectkit/src/styles/themes/midnight.js.map +0 -1
  394. package/build/pay/packages/connectkit/src/styles/themes/minimal.js +0 -96
  395. package/build/pay/packages/connectkit/src/styles/themes/minimal.js.map +0 -1
  396. package/build/pay/packages/connectkit/src/styles/themes/nouns.js +0 -81
  397. package/build/pay/packages/connectkit/src/styles/themes/nouns.js.map +0 -1
  398. package/build/pay/packages/connectkit/src/styles/themes/retro.js +0 -106
  399. package/build/pay/packages/connectkit/src/styles/themes/retro.js.map +0 -1
  400. package/build/pay/packages/connectkit/src/styles/themes/rounded.js +0 -106
  401. package/build/pay/packages/connectkit/src/styles/themes/rounded.js.map +0 -1
  402. package/build/pay/packages/connectkit/src/styles/themes/soft.js +0 -71
  403. package/build/pay/packages/connectkit/src/styles/themes/soft.js.map +0 -1
  404. package/build/pay/packages/connectkit/src/styles/themes/web95.js +0 -132
  405. package/build/pay/packages/connectkit/src/styles/themes/web95.js.map +0 -1
  406. package/build/pay/packages/connectkit/src/utils/exports.js +0 -6
  407. package/build/pay/packages/connectkit/src/utils/exports.js.map +0 -1
  408. package/build/pay/packages/connectkit/src/utils/format.js +0 -45
  409. package/build/pay/packages/connectkit/src/utils/format.js.map +0 -1
  410. package/build/pay/packages/connectkit/src/utils/index.js +0 -42
  411. package/build/pay/packages/connectkit/src/utils/index.js.map +0 -1
  412. package/build/pay/packages/connectkit/src/utils/p3.js +0 -15
  413. package/build/pay/packages/connectkit/src/utils/p3.js.map +0 -1
  414. package/build/pay/packages/connectkit/src/utils/platform.js +0 -11
  415. package/build/pay/packages/connectkit/src/utils/platform.js.map +0 -1
  416. package/build/pay/packages/connectkit/src/utils/polling.js +0 -35
  417. package/build/pay/packages/connectkit/src/utils/polling.js.map +0 -1
  418. package/build/pay/packages/connectkit/src/utils/supportUrl.js +0 -16
  419. package/build/pay/packages/connectkit/src/utils/supportUrl.js.map +0 -1
  420. package/build/pay/packages/connectkit/src/utils/trpc.js +0 -19
  421. package/build/pay/packages/connectkit/src/utils/trpc.js.map +0 -1
  422. package/build/pay/packages/connectkit/src/utils/validateInput.js +0 -16
  423. package/build/pay/packages/connectkit/src/utils/validateInput.js.map +0 -1
  424. package/build/pay/packages/connectkit/src/wallets/index.js +0 -21
  425. package/build/pay/packages/connectkit/src/wallets/index.js.map +0 -1
  426. package/build/pay/packages/connectkit/src/wallets/useWallets.js +0 -278
  427. package/build/pay/packages/connectkit/src/wallets/useWallets.js.map +0 -1
  428. package/build/pay/packages/connectkit/src/wallets/walletConfigs.js +0 -281
  429. package/build/pay/packages/connectkit/src/wallets/walletConfigs.js.map +0 -1
  430. package/build/pay/packages/connectkit/src/world-mini-app/WorldPayButton.js +0 -165
  431. package/build/pay/packages/connectkit/src/world-mini-app/WorldPayButton.js.map +0 -1
  432. package/build/pay/packages/connectkit/src/world-mini-app/promptWorldPayment.js +0 -59
  433. package/build/pay/packages/connectkit/src/world-mini-app/promptWorldPayment.js.map +0 -1
  434. package/build/pay/packages/connectkit/src/world-mini-app/useWithdrawToWorld.js +0 -76
  435. package/build/pay/packages/connectkit/src/world-mini-app/useWithdrawToWorld.js.map +0 -1
  436. package/build/pay/packages/connectkit/src/world-mini-app/useWorldSignIn.js +0 -74
  437. package/build/pay/packages/connectkit/src/world-mini-app/useWorldSignIn.js.map +0 -1
  438. package/build/pay/packages/connectkit/src/world.js +0 -4
  439. package/build/pay/packages/connectkit/src/world.js.map +0 -1
  440. package/build/src/hooks/useDepositAddressOptions.js +0 -35
  441. package/build/src/hooks/useDepositAddressOptions.js.map +0 -1
  442. package/build/src/hooks/useExternalPaymentOptions.js +0 -79
  443. package/build/src/hooks/useExternalPaymentOptions.js.map +0 -1
  444. package/build/src/hooks/useSolanaPaymentOptions.js +0 -38
  445. package/build/src/hooks/useSolanaPaymentOptions.js.map +0 -1
  446. package/build/src/hooks/useWalletPaymentOptions.js +0 -97
  447. package/build/src/hooks/useWalletPaymentOptions.js.map +0 -1
@@ -1,547 +0,0 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { useEffect, useState, useCallback, useRef } from 'react';
3
- import { AnimatePresence, motion } from 'framer-motion';
4
- import { ResetContainer } from '../../../styles/index.js';
5
- import Portal from '../Portal/index.js';
6
- import { isMobile, flattenChildren } from '../../../utils/index.js';
7
- import { ModalContainer, BackgroundOverlay, Container, BoxContainer, DisclaimerBackground, Disclaimer, ErrorMessage, ControllerContainer, CloseButton, BackButton, InfoButton, ModalHeading, InnerContainer, PageContents, PageContainer, TextWithHr } from './styles.js';
8
- import useLockBodyScroll from '../../../hooks/useLockBodyScroll.js';
9
- import { usePayContext } from '../../../hooks/usePayContext.js';
10
- import { getChainName, shouldShowExternalQRCodeOnDesktop } from '@daimo/pay-common';
11
- import { useTransition } from 'react-transition-state';
12
- import { useAccount, useSwitchChain } from 'wagmi';
13
- import { ROUTES } from '../../../constants/routes.js';
14
- import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
15
- import FocusTrap from '../../../hooks/useFocusTrap.js';
16
- import useLocales from '../../../hooks/useLocales.js';
17
- import usePrevious from '../../../hooks/usePrevious.js';
18
- import { useWallet, isExternalWallet } from '../../../wallets/useWallets.js';
19
- import { useThemeContext } from '../../DaimoPayThemeProvider/DaimoPayThemeProvider.js';
20
- import FitText from '../FitText/index.js';
21
-
22
- const routeDepthMap = {
23
- [ROUTES.SELECT_METHOD]: 0,
24
- [ROUTES.CONNECTORS]: 1,
25
- [ROUTES.SELECT_EXCHANGE]: 1,
26
- [ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN]: 1,
27
- [ROUTES.SELECT_ZKP2P]: 1,
28
- [ROUTES.CONNECT]: 2,
29
- [ROUTES.SOLANA_CONNECTOR]: 2,
30
- [ROUTES.MOBILECONNECTORS]: 2,
31
- [ROUTES.SELECT_WALLET_CHAIN]: 2,
32
- [ROUTES.SELECT_TOKEN]: 2,
33
- [ROUTES.SELECT_AMOUNT]: 2,
34
- [ROUTES.SELECT_EXTERNAL_AMOUNT]: 2,
35
- [ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT]: 2,
36
- [ROUTES.SELECT_WALLET_AMOUNT]: 2,
37
- [ROUTES.PAY_WITH_TOKEN]: 2,
38
- [ROUTES.SOLANA_SELECT_AMOUNT]: 2,
39
- [ROUTES.SOLANA_PAY_WITH_TOKEN]: 2,
40
- [ROUTES.WAITING_WALLET]: 3,
41
- [ROUTES.WAITING_EXTERNAL]: 3,
42
- [ROUTES.WAITING_DEPOSIT_ADDRESS]: 3,
43
- [ROUTES.CONFIRMATION]: 4,
44
- [ROUTES.ERROR]: 4
45
- };
46
- const InfoIcon = ({ ...props }) => /* @__PURE__ */ jsx(
47
- "svg",
48
- {
49
- "aria-hidden": "true",
50
- width: "22",
51
- height: "22",
52
- viewBox: "0 0 22 22",
53
- fill: "none",
54
- xmlns: "http://www.w3.org/2000/svg",
55
- ...props,
56
- children: /* @__PURE__ */ jsx(
57
- "path",
58
- {
59
- fillRule: "evenodd",
60
- clipRule: "evenodd",
61
- 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",
62
- fill: "currentColor"
63
- }
64
- )
65
- }
66
- );
67
- const CloseIcon = ({ ...props }) => /* @__PURE__ */ jsx(
68
- motion.svg,
69
- {
70
- width: 14,
71
- height: 14,
72
- viewBox: "0 0 14 14",
73
- fill: "none",
74
- xmlns: "http://www.w3.org/2000/svg",
75
- ...props,
76
- children: /* @__PURE__ */ jsx(
77
- "path",
78
- {
79
- d: "M1 13L13 1M1 1L13 13",
80
- stroke: "currentColor",
81
- strokeWidth: "2",
82
- strokeLinecap: "round"
83
- }
84
- )
85
- }
86
- );
87
- const BackIcon = ({ ...props }) => /* @__PURE__ */ jsx(
88
- motion.svg,
89
- {
90
- width: 9,
91
- height: 16,
92
- viewBox: "0 0 9 16",
93
- fill: "none",
94
- xmlns: "http://www.w3.org/2000/svg",
95
- ...props,
96
- children: /* @__PURE__ */ jsx(
97
- "path",
98
- {
99
- d: "M8 1L1 8L8 15",
100
- stroke: "currentColor",
101
- strokeWidth: "2",
102
- strokeLinecap: "round",
103
- strokeLinejoin: "round"
104
- }
105
- )
106
- }
107
- );
108
- const contentTransitionDuration = 0.22;
109
- const contentVariants = {
110
- initial: {
111
- //willChange: 'transform,opacity',
112
- zIndex: 2,
113
- opacity: 0
114
- },
115
- animate: {
116
- opacity: 1,
117
- scale: 1,
118
- transition: {
119
- duration: contentTransitionDuration * 0.75,
120
- delay: contentTransitionDuration * 0.25,
121
- ease: [0.26, 0.08, 0.25, 1]
122
- }
123
- },
124
- exit: {
125
- zIndex: 1,
126
- opacity: 0,
127
- pointerEvents: "none",
128
- position: "absolute",
129
- left: ["50%", "50%"],
130
- x: ["-50%", "-50%"],
131
- transition: {
132
- duration: contentTransitionDuration,
133
- ease: [0.26, 0.08, 0.25, 1]
134
- }
135
- }
136
- };
137
- const Modal = ({
138
- open,
139
- pages,
140
- pageId,
141
- positionInside,
142
- inline,
143
- demo,
144
- onClose,
145
- onBack,
146
- onInfo
147
- }) => {
148
- const context = usePayContext();
149
- const themeContext = useThemeContext();
150
- const mobile = isMobile();
151
- const {
152
- selectedExternalOption,
153
- selectedTokenOption,
154
- selectedSolanaTokenOption,
155
- selectedDepositAddressOption
156
- } = context.paymentState;
157
- const { order, paymentState } = useDaimoPay();
158
- const { connector } = useAccount();
159
- const walletId = context.pendingConnectorId || connector?.id || "";
160
- const walletFromConnectors = useWallet(walletId);
161
- const wallet = walletFromConnectors || context.paymentState.selectedWallet;
162
- const walletInfo = {
163
- name: wallet?.name,
164
- shortName: wallet?.shortName ?? wallet?.name,
165
- icon: wallet?.iconConnector ?? wallet?.icon,
166
- iconShape: wallet?.iconShape ?? "circle",
167
- iconShouldShrink: wallet?.iconShouldShrink
168
- };
169
- const locales = useLocales({
170
- CONNECTORNAME: walletInfo?.name
171
- });
172
- const [state, setOpen] = useTransition({
173
- timeout: 160,
174
- preEnter: true,
175
- mountOnEnter: true,
176
- unmountOnExit: true
177
- });
178
- const mounted = !(state === "exited" || state === "unmounted");
179
- const rendered = state === "preEnter" || state !== "exiting";
180
- const currentDepth = routeDepthMap[context.route] ?? 1;
181
- const prevDepth = usePrevious(currentDepth, currentDepth);
182
- if (!positionInside) useLockBodyScroll(mounted);
183
- useEffect(() => {
184
- setOpen(open);
185
- if (open) setInTransition(void 0);
186
- }, [open]);
187
- const [dimensions, setDimensions] = useState({
188
- width: void 0,
189
- height: void 0
190
- });
191
- const [inTransition, setInTransition] = useState(
192
- void 0
193
- );
194
- const updateBounds = (node) => {
195
- const bounds = {
196
- width: node?.offsetWidth,
197
- height: node?.offsetHeight
198
- };
199
- setDimensions({
200
- width: `${bounds?.width}px`,
201
- height: `${bounds?.height}px`
202
- });
203
- };
204
- let blockTimeout;
205
- const contentRef = useCallback(
206
- (node) => {
207
- if (!node) return;
208
- ref.current = node;
209
- setInTransition(inTransition === void 0 ? false : true);
210
- clearTimeout(blockTimeout);
211
- blockTimeout = setTimeout(() => setInTransition(false), 360);
212
- updateBounds(node);
213
- },
214
- [open, inTransition]
215
- );
216
- const { chain } = useAccount();
217
- const { switchChain } = useSwitchChain();
218
- const ref = useRef(null);
219
- useEffect(() => {
220
- if (ref.current) updateBounds(ref.current);
221
- }, [chain, switchChain, mobile, context.options, context.resize]);
222
- useEffect(() => {
223
- if (!mounted) {
224
- setDimensions({
225
- width: void 0,
226
- height: void 0
227
- });
228
- return;
229
- }
230
- const listener = (e) => {
231
- if (e.key === "Escape" && onClose) onClose();
232
- };
233
- document.addEventListener("keydown", listener);
234
- return () => {
235
- document.removeEventListener("keydown", listener);
236
- };
237
- }, [mounted, onClose]);
238
- const dimensionsCSS = {
239
- "--height": dimensions.height,
240
- "--width": dimensions.width
241
- };
242
- const hasDeeplink = wallet && wallet.getDaimoPayDeeplink;
243
- const shouldShowWalletQRCodeOnDesktop = isExternalWallet(wallet) || hasDeeplink;
244
- function getHeading() {
245
- const payWithString = flattenChildren(locales.payWith).join("");
246
- switch (context.route) {
247
- case ROUTES.ABOUT:
248
- return locales.aboutScreen_heading;
249
- case ROUTES.CONNECT:
250
- if (shouldShowWalletQRCodeOnDesktop) {
251
- return locales.scanWithPhone;
252
- } else {
253
- return walletInfo?.name;
254
- }
255
- case ROUTES.SELECT_EXCHANGE:
256
- return locales.selectExchange;
257
- case ROUTES.SOLANA_CONNECTOR:
258
- return context.solanaConnector ?? locales.solanaWallet;
259
- case ROUTES.CONNECTORS:
260
- return locales.connectorsScreen_heading;
261
- case ROUTES.MOBILECONNECTORS:
262
- return locales.mobileConnectorsScreen_heading;
263
- case ROUTES.ONBOARDING:
264
- return locales.onboardingScreen_heading;
265
- case ROUTES.SWITCHNETWORKS:
266
- return locales.switchNetworkScreen_heading;
267
- case ROUTES.SELECT_METHOD:
268
- case ROUTES.SELECT_TOKEN:
269
- return order?.metadata.intent;
270
- case ROUTES.SOLANA_PAY_WITH_TOKEN:
271
- if (!selectedSolanaTokenOption) return void 0;
272
- return `${payWithString} ${selectedSolanaTokenOption.required.token.symbol}`;
273
- case ROUTES.WAITING_EXTERNAL:
274
- if (selectedExternalOption && shouldShowExternalQRCodeOnDesktop(selectedExternalOption.id) && !mobile) {
275
- return locales.scanWithPhone;
276
- }
277
- return selectedExternalOption?.cta;
278
- case ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN:
279
- return locales.selectChain;
280
- case ROUTES.WAITING_DEPOSIT_ADDRESS:
281
- if (paymentState === "warning") return locales.leaveSession;
282
- if (!selectedDepositAddressOption) return void 0;
283
- return `${payWithString} ${selectedDepositAddressOption.id}`;
284
- case ROUTES.SELECT_ZKP2P:
285
- return locales.selectApp;
286
- case ROUTES.SELECT_AMOUNT:
287
- case ROUTES.SELECT_EXTERNAL_AMOUNT:
288
- case ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT:
289
- case ROUTES.SOLANA_SELECT_AMOUNT:
290
- case ROUTES.SELECT_WALLET_AMOUNT:
291
- return locales.selectAmount;
292
- case ROUTES.PAY_WITH_TOKEN:
293
- if (selectedTokenOption == null) return void 0;
294
- const chainName = getChainName(
295
- selectedTokenOption.balance.token.chainId
296
- );
297
- return `${payWithString} ${chainName} ${selectedTokenOption.balance.token.symbol}`;
298
- case ROUTES.CONFIRMATION:
299
- return locales.paymentSuccessful;
300
- case ROUTES.ERROR:
301
- return locales.error;
302
- case ROUTES.SELECT_WALLET_CHAIN:
303
- return locales.selectChain;
304
- }
305
- }
306
- const Content = /* @__PURE__ */ jsx(
307
- ResetContainer,
308
- {
309
- $useTheme: demo?.theme ?? themeContext.theme,
310
- $useMode: demo?.mode ?? themeContext.mode,
311
- $customTheme: demo?.customTheme ?? themeContext.customTheme,
312
- children: /* @__PURE__ */ jsxs(
313
- ModalContainer,
314
- {
315
- role: "dialog",
316
- style: {
317
- pointerEvents: rendered ? "auto" : "none",
318
- position: positionInside ? "absolute" : void 0
319
- },
320
- children: [
321
- !inline && /* @__PURE__ */ jsx(
322
- BackgroundOverlay,
323
- {
324
- $active: rendered,
325
- onClick: onClose,
326
- $blur: context.options?.overlayBlur
327
- }
328
- ),
329
- /* @__PURE__ */ jsxs(
330
- Container,
331
- {
332
- style: dimensionsCSS,
333
- initial: false,
334
- children: [
335
- /* @__PURE__ */ jsx(
336
- "div",
337
- {
338
- style: {
339
- pointerEvents: inTransition ? "all" : "none",
340
- // Block interaction while transitioning
341
- position: "absolute",
342
- top: 0,
343
- bottom: 0,
344
- left: "50%",
345
- transform: "translateX(-50%)",
346
- width: "var(--width)",
347
- zIndex: 9,
348
- transition: "width 200ms ease"
349
- }
350
- }
351
- ),
352
- /* @__PURE__ */ jsxs(BoxContainer, { className: `${rendered && "active"}`, children: [
353
- /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: context.options?.disclaimer && context.route === ROUTES.CONNECTORS && /* @__PURE__ */ jsx(
354
- DisclaimerBackground,
355
- {
356
- initial: {
357
- opacity: 0
358
- },
359
- animate: {
360
- opacity: 1
361
- },
362
- exit: { opacity: 0 },
363
- transition: {
364
- delay: 0,
365
- duration: 0.2,
366
- ease: [0.25, 0.1, 0.25, 1]
367
- },
368
- children: /* @__PURE__ */ jsx(Disclaimer, { children: /* @__PURE__ */ jsx("div", { children: context.options?.disclaimer }) })
369
- }
370
- ) }),
371
- /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: context.errorMessage && /* @__PURE__ */ jsxs(
372
- ErrorMessage,
373
- {
374
- initial: { y: "10%", x: "-50%" },
375
- animate: { y: "-100%" },
376
- exit: { y: "100%" },
377
- transition: { duration: 0.2, ease: "easeInOut" },
378
- children: [
379
- /* @__PURE__ */ jsx("span", { children: context.errorMessage }),
380
- /* @__PURE__ */ jsx(
381
- "div",
382
- {
383
- onClick: () => context.displayError(null),
384
- style: {
385
- position: "absolute",
386
- right: 24,
387
- top: 24,
388
- cursor: "pointer"
389
- },
390
- children: /* @__PURE__ */ jsx(CloseIcon, {})
391
- }
392
- )
393
- ]
394
- }
395
- ) }),
396
- /* @__PURE__ */ jsxs(ControllerContainer, { children: [
397
- onClose && /* @__PURE__ */ jsx(
398
- CloseButton,
399
- {
400
- "aria-label": flattenChildren(locales.close).toString(),
401
- onClick: onClose,
402
- children: /* @__PURE__ */ jsx(CloseIcon, {})
403
- }
404
- ),
405
- /* @__PURE__ */ jsx(
406
- "div",
407
- {
408
- style: {
409
- position: "absolute",
410
- top: 23,
411
- left: 20,
412
- width: 32,
413
- height: 32
414
- },
415
- children: /* @__PURE__ */ jsx(AnimatePresence, { children: onBack ? /* @__PURE__ */ jsx(
416
- BackButton,
417
- {
418
- disabled: inTransition,
419
- "aria-label": flattenChildren(locales.back).toString(),
420
- onClick: onBack,
421
- initial: { opacity: 0 },
422
- animate: { opacity: 1 },
423
- exit: { opacity: 0 },
424
- transition: {
425
- duration: mobile ? 0 : 0.1,
426
- delay: mobile ? 0.01 : 0
427
- },
428
- children: /* @__PURE__ */ jsx(BackIcon, {})
429
- },
430
- "backButton"
431
- ) : onInfo && !context.options?.hideQuestionMarkCTA && /* @__PURE__ */ jsx(
432
- InfoButton,
433
- {
434
- disabled: inTransition,
435
- "aria-label": flattenChildren(
436
- locales.moreInformation
437
- ).toString(),
438
- onClick: onInfo,
439
- initial: { opacity: 0 },
440
- animate: { opacity: 1 },
441
- exit: { opacity: 0 },
442
- transition: {
443
- duration: mobile ? 0 : 0.1,
444
- delay: mobile ? 0.01 : 0
445
- },
446
- children: /* @__PURE__ */ jsx(InfoIcon, {})
447
- },
448
- "infoButton"
449
- ) })
450
- }
451
- )
452
- ] }),
453
- /* @__PURE__ */ jsx(ModalHeading, { children: /* @__PURE__ */ jsx(AnimatePresence, { children: /* @__PURE__ */ jsx(
454
- motion.div,
455
- {
456
- style: {
457
- position: "absolute",
458
- top: 0,
459
- bottom: 0,
460
- left: 52,
461
- right: 52,
462
- display: "flex",
463
- //alignItems: 'center',
464
- justifyContent: "center"
465
- },
466
- initial: { opacity: 0 },
467
- animate: { opacity: 1 },
468
- exit: { opacity: 0 },
469
- transition: {
470
- duration: mobile ? 0 : 0.17,
471
- delay: mobile ? 0.01 : 0
472
- },
473
- children: /* @__PURE__ */ jsx(FitText, { children: getHeading() })
474
- },
475
- `${context.route}`
476
- ) }) }),
477
- /* @__PURE__ */ jsx(InnerContainer, { children: Object.keys(pages).map((key) => /* @__PURE__ */ jsx(
478
- Page,
479
- {
480
- open: key === pageId,
481
- initial: !positionInside && state !== "entered",
482
- enterAnim: key === pageId ? currentDepth > prevDepth ? "active-scale-up" : "active" : "",
483
- exitAnim: key !== pageId ? currentDepth < prevDepth ? "exit-scale-down" : "exit" : "",
484
- children: /* @__PURE__ */ jsx(
485
- PageContents,
486
- {
487
- ref: contentRef,
488
- style: {
489
- pointerEvents: key === pageId && rendered ? "auto" : "none"
490
- },
491
- children: pages[key]
492
- },
493
- `inner-${key}`
494
- )
495
- },
496
- key
497
- )) })
498
- ] })
499
- ]
500
- }
501
- )
502
- ]
503
- }
504
- )
505
- }
506
- );
507
- return /* @__PURE__ */ jsx(Fragment, { children: mounted && /* @__PURE__ */ jsx(Fragment, { children: positionInside ? Content : /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(FocusTrap, { children: Content }) }) }) }) });
508
- };
509
- const Page = ({
510
- children,
511
- open,
512
- initial,
513
- enterAnim,
514
- exitAnim
515
- }) => {
516
- const [state, setOpen] = useTransition({
517
- timeout: 400,
518
- preEnter: true,
519
- initialEntered: open,
520
- mountOnEnter: true,
521
- unmountOnExit: true
522
- });
523
- const mounted = !(state === "exited" || state === "unmounted");
524
- const rendered = state === "preEnter" || state !== "exiting";
525
- useEffect(() => {
526
- setOpen(open);
527
- }, [open]);
528
- if (!mounted) return null;
529
- return /* @__PURE__ */ jsx(
530
- PageContainer,
531
- {
532
- className: `${rendered ? enterAnim : exitAnim}`,
533
- style: {
534
- animationDuration: initial ? "0ms" : void 0,
535
- animationDelay: initial ? "0ms" : void 0
536
- },
537
- children
538
- }
539
- );
540
- };
541
- const OrDivider = ({ children }) => {
542
- const locales = useLocales();
543
- return /* @__PURE__ */ jsx(TextWithHr, { children: /* @__PURE__ */ jsx("span", { children: children ?? locales.or }) });
544
- };
545
-
546
- export { OrDivider, contentVariants, Modal as default };
547
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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 { isExternalWallet, useWallet } from \"../../../wallets/useWallets\";\nimport { useThemeContext } from \"../../DaimoPayThemeProvider/DaimoPayThemeProvider\";\nimport FitText from \"../FitText\";\n\n// Map routes to a depth value to drive enter/exit animations.\n// Higher numbers feel \"deeper\" in the flow.\nconst routeDepthMap: Partial<Record<ROUTES, number>> = {\n [ROUTES.SELECT_METHOD]: 0,\n\n [ROUTES.CONNECTORS]: 1,\n [ROUTES.SELECT_EXCHANGE]: 1,\n [ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN]: 1,\n\n [ROUTES.SELECT_ZKP2P]: 1,\n\n [ROUTES.CONNECT]: 2,\n [ROUTES.SOLANA_CONNECTOR]: 2,\n [ROUTES.MOBILECONNECTORS]: 2,\n [ROUTES.SELECT_WALLET_CHAIN]: 2,\n [ROUTES.SELECT_TOKEN]: 2,\n [ROUTES.SELECT_AMOUNT]: 2,\n [ROUTES.SELECT_EXTERNAL_AMOUNT]: 2,\n [ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT]: 2,\n [ROUTES.SELECT_WALLET_AMOUNT]: 2,\n [ROUTES.PAY_WITH_TOKEN]: 2,\n [ROUTES.SOLANA_SELECT_AMOUNT]: 2,\n [ROUTES.SOLANA_PAY_WITH_TOKEN]: 2,\n\n [ROUTES.WAITING_WALLET]: 3,\n [ROUTES.WAITING_EXTERNAL]: 3,\n [ROUTES.WAITING_DEPOSIT_ADDRESS]: 3,\n\n [ROUTES.CONFIRMATION]: 4,\n [ROUTES.ERROR]: 4,\n};\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 // For external wallets (World, MiniPay), use pendingConnectorId\n // For injected wallets, use connector?.id\n const walletId = context.pendingConnectorId || connector?.id || \"\";\n const walletFromConnectors = useWallet(walletId);\n // Fall back to selectedWallet for wallets from walletConfigs (e.g. unique payment options)\n const wallet = walletFromConnectors || context.paymentState.selectedWallet;\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 = routeDepthMap[context.route as ROUTES] ?? 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 // Show \"Scan with phone\" title for wallets with deeplinks (unique payment options)\n const hasDeeplink = wallet && wallet.getDaimoPayDeeplink;\n const shouldShowWalletQRCodeOnDesktop =\n isExternalWallet(wallet) || hasDeeplink;\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.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 enterAnim?: string;\n exitAnim?: string;\n};\n\nconst Page: React.FC<PageProps> = ({\n children,\n open,\n initial,\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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"}