@daimo/pay 1.19.2 → 1.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/build/connectkit/package.json.js +117 -0
  2. package/build/connectkit/package.json.js.map +1 -0
  3. package/build/connectkit/src/assets/MobileWithLogos.js +329 -0
  4. package/build/connectkit/src/assets/MobileWithLogos.js.map +1 -0
  5. package/build/connectkit/src/assets/ScanIconWithLogos.js +243 -0
  6. package/build/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
  7. package/build/connectkit/src/assets/browsers.js +969 -0
  8. package/build/connectkit/src/assets/browsers.js.map +1 -0
  9. package/build/connectkit/src/assets/chains.js +648 -0
  10. package/build/connectkit/src/assets/chains.js.map +1 -0
  11. package/build/connectkit/src/assets/coins.js +43 -0
  12. package/build/connectkit/src/assets/coins.js.map +1 -0
  13. package/build/connectkit/src/assets/icons.js +273 -0
  14. package/build/connectkit/src/assets/icons.js.map +1 -0
  15. package/build/connectkit/src/assets/logos.js +1620 -0
  16. package/build/connectkit/src/assets/logos.js.map +1 -0
  17. package/build/connectkit/src/assets/wave.js +46 -0
  18. package/build/connectkit/src/assets/wave.js.map +1 -0
  19. package/build/connectkit/src/components/Common/Alert/index.js +13 -0
  20. package/build/connectkit/src/components/Common/Alert/index.js.map +1 -0
  21. package/build/connectkit/src/components/Common/Alert/styles.js +55 -0
  22. package/build/connectkit/src/components/Common/Alert/styles.js.map +1 -0
  23. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
  24. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
  25. package/build/connectkit/src/components/Common/AmountInput/index.js +159 -0
  26. package/build/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
  27. package/build/connectkit/src/components/Common/Avatar/index.js +78 -0
  28. package/build/connectkit/src/components/Common/Avatar/index.js.map +1 -0
  29. package/build/connectkit/src/components/Common/Avatar/styles.js +54 -0
  30. package/build/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
  31. package/build/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
  32. package/build/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
  33. package/build/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
  34. package/build/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
  35. package/build/connectkit/src/components/Common/Button/index.js +144 -0
  36. package/build/connectkit/src/components/Common/Button/index.js.map +1 -0
  37. package/build/connectkit/src/components/Common/Button/styles.js +287 -0
  38. package/build/connectkit/src/components/Common/Button/styles.js.map +1 -0
  39. package/build/connectkit/src/components/Common/Chain/index.js +141 -0
  40. package/build/connectkit/src/components/Common/Chain/index.js.map +1 -0
  41. package/build/connectkit/src/components/Common/Chain/styles.js +90 -0
  42. package/build/connectkit/src/components/Common/Chain/styles.js.map +1 -0
  43. package/build/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
  44. package/build/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
  45. package/build/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
  46. package/build/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
  47. package/build/connectkit/src/components/Common/CircleTimer.js +92 -0
  48. package/build/connectkit/src/components/Common/CircleTimer.js.map +1 -0
  49. package/build/connectkit/src/components/Common/ConnectorList/index.js +120 -0
  50. package/build/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
  51. package/build/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
  52. package/build/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
  53. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
  54. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
  55. package/build/connectkit/src/components/Common/CopyToClipboard/index.js +33 -0
  56. package/build/connectkit/src/components/Common/CopyToClipboard/index.js.map +1 -0
  57. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js +128 -0
  58. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
  59. package/build/connectkit/src/components/Common/CustomQRCode/index.js +71 -0
  60. package/build/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
  61. package/build/connectkit/src/components/Common/CustomQRCode/styles.js +139 -0
  62. package/build/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
  63. package/build/connectkit/src/components/Common/FitText/index.js +34 -0
  64. package/build/connectkit/src/components/Common/FitText/index.js.map +1 -0
  65. package/build/connectkit/src/components/Common/Modal/index.js +523 -0
  66. package/build/connectkit/src/components/Common/Modal/index.js.map +1 -0
  67. package/build/connectkit/src/components/Common/Modal/styles.js +665 -0
  68. package/build/connectkit/src/components/Common/Modal/styles.js.map +1 -0
  69. package/build/connectkit/src/components/Common/OptionsList/index.js +145 -0
  70. package/build/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
  71. package/build/connectkit/src/components/Common/OptionsList/styles.js +138 -0
  72. package/build/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
  73. package/build/connectkit/src/components/Common/OrderHeader/index.js +192 -0
  74. package/build/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
  75. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
  76. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
  77. package/build/connectkit/src/components/Common/Portal/index.js +30 -0
  78. package/build/connectkit/src/components/Common/Portal/index.js.map +1 -0
  79. package/build/connectkit/src/components/Common/PoweredByFooter/index.js +66 -0
  80. package/build/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
  81. package/build/connectkit/src/components/Common/ScrollArea/index.js +120 -0
  82. package/build/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
  83. package/build/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
  84. package/build/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
  85. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
  86. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
  87. package/build/connectkit/src/components/Common/Spinner/index.js +64 -0
  88. package/build/connectkit/src/components/Common/Spinner/index.js.map +1 -0
  89. package/build/connectkit/src/components/Common/Spinner/styles.js +22 -0
  90. package/build/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
  91. package/build/connectkit/src/components/Common/SwitchButton/index.js +43 -0
  92. package/build/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
  93. package/build/connectkit/src/components/Common/ThemedButton/index.js +46 -0
  94. package/build/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
  95. package/build/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
  96. package/build/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
  97. package/build/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
  98. package/build/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
  99. package/build/connectkit/src/components/Common/Tooltip/index.js +129 -0
  100. package/build/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
  101. package/build/connectkit/src/components/Common/Tooltip/styles.js +81 -0
  102. package/build/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
  103. package/build/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
  104. package/build/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
  105. package/build/connectkit/src/components/DaimoPayButton/index.js +197 -0
  106. package/build/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
  107. package/build/connectkit/src/components/DaimoPayButton/styles.js +50 -0
  108. package/build/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
  109. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js +68 -0
  110. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
  111. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +335 -0
  112. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
  113. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
  114. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
  115. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +99 -0
  116. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
  117. package/build/connectkit/src/components/DaimoPayModal/index.js +462 -0
  118. package/build/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
  119. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
  120. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
  121. package/build/connectkit/src/components/Pages/About/graphics.js +853 -0
  122. package/build/connectkit/src/components/Pages/About/graphics.js.map +1 -0
  123. package/build/connectkit/src/components/Pages/About/index.js +222 -0
  124. package/build/connectkit/src/components/Pages/About/index.js.map +1 -0
  125. package/build/connectkit/src/components/Pages/About/styles.js +140 -0
  126. package/build/connectkit/src/components/Pages/About/styles.js.map +1 -0
  127. package/build/connectkit/src/components/Pages/Confirmation/index.js +128 -0
  128. package/build/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
  129. package/build/connectkit/src/components/Pages/Connectors/index.js +28 -0
  130. package/build/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
  131. package/build/connectkit/src/components/Pages/DownloadApp/index.js +35 -0
  132. package/build/connectkit/src/components/Pages/DownloadApp/index.js.map +1 -0
  133. package/build/connectkit/src/components/Pages/Error/index.js +57 -0
  134. package/build/connectkit/src/components/Pages/Error/index.js.map +1 -0
  135. package/build/connectkit/src/components/Pages/MobileConnectors/index.js +65 -0
  136. package/build/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
  137. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
  138. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
  139. package/build/connectkit/src/components/Pages/Onboarding/index.js +34 -0
  140. package/build/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
  141. package/build/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
  142. package/build/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
  143. package/build/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
  144. package/build/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
  145. package/build/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
  146. package/build/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
  147. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
  148. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
  149. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +72 -0
  150. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
  151. package/build/connectkit/src/components/Pages/SelectExchange/index.js +41 -0
  152. package/build/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
  153. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
  154. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
  155. package/build/connectkit/src/components/Pages/SelectMethod/index.js +230 -0
  156. package/build/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
  157. package/build/connectkit/src/components/Pages/SelectToken/index.js +97 -0
  158. package/build/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
  159. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js +66 -0
  160. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
  161. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
  162. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
  163. package/build/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
  164. package/build/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
  165. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
  166. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
  167. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
  168. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
  169. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
  170. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
  171. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
  172. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
  173. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js +503 -0
  174. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
  175. package/build/connectkit/src/components/Pages/WaitingExternal/index.js +89 -0
  176. package/build/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
  177. package/build/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
  178. package/build/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
  179. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
  180. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
  181. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
  182. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
  183. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
  184. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
  185. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
  186. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
  187. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
  188. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
  189. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
  190. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
  191. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
  192. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
  193. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
  194. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
  195. package/build/connectkit/src/components/Spinners/styles.js +32 -0
  196. package/build/connectkit/src/components/Spinners/styles.js.map +1 -0
  197. package/build/connectkit/src/constants/defaultTheme.js +6 -0
  198. package/build/connectkit/src/constants/defaultTheme.js.map +1 -0
  199. package/build/connectkit/src/constants/routes.js +32 -0
  200. package/build/connectkit/src/constants/routes.js.map +1 -0
  201. package/build/connectkit/src/defaultConfig.js +63 -0
  202. package/build/connectkit/src/defaultConfig.js.map +1 -0
  203. package/build/connectkit/src/defaultConnectors.js +37 -0
  204. package/build/connectkit/src/defaultConnectors.js.map +1 -0
  205. package/build/connectkit/src/hooks/useChainIsSupported.js +10 -0
  206. package/build/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
  207. package/build/connectkit/src/hooks/useChains.js +10 -0
  208. package/build/connectkit/src/hooks/useChains.js.map +1 -0
  209. package/build/connectkit/src/hooks/useConnect.js +61 -0
  210. package/build/connectkit/src/hooks/useConnect.js.map +1 -0
  211. package/build/connectkit/src/hooks/useConnectCallback.js +21 -0
  212. package/build/connectkit/src/hooks/useConnectCallback.js.map +1 -0
  213. package/build/connectkit/src/hooks/useConnectors.js +9 -0
  214. package/build/connectkit/src/hooks/useConnectors.js.map +1 -0
  215. package/build/connectkit/src/hooks/useDaimoPay.js +107 -0
  216. package/build/connectkit/src/hooks/useDaimoPay.js.map +1 -0
  217. package/build/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
  218. package/build/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
  219. package/build/connectkit/src/hooks/useDaimoPayUI.js +15 -0
  220. package/build/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
  221. package/build/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
  222. package/build/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
  223. package/build/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
  224. package/build/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
  225. package/build/connectkit/src/hooks/useExternalPaymentOptions.js +64 -0
  226. package/build/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
  227. package/build/connectkit/src/hooks/useFitText.js +133 -0
  228. package/build/connectkit/src/hooks/useFitText.js.map +1 -0
  229. package/build/connectkit/src/hooks/useFocusTrap.js +53 -0
  230. package/build/connectkit/src/hooks/useFocusTrap.js.map +1 -0
  231. package/build/connectkit/src/hooks/useIsMobile.js +11 -0
  232. package/build/connectkit/src/hooks/useIsMobile.js.map +1 -0
  233. package/build/connectkit/src/hooks/useIsMounted.js +10 -0
  234. package/build/connectkit/src/hooks/useIsMounted.js.map +1 -0
  235. package/build/connectkit/src/hooks/useLastConnector.js +24 -0
  236. package/build/connectkit/src/hooks/useLastConnector.js.map +1 -0
  237. package/build/connectkit/src/hooks/useLocales.js +60 -0
  238. package/build/connectkit/src/hooks/useLocales.js.map +1 -0
  239. package/build/connectkit/src/hooks/useLockBodyScroll.js +47 -0
  240. package/build/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
  241. package/build/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
  242. package/build/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
  243. package/build/connectkit/src/hooks/usePayContext.js +11 -0
  244. package/build/connectkit/src/hooks/usePayContext.js.map +1 -0
  245. package/build/connectkit/src/hooks/usePaymentState.js +376 -0
  246. package/build/connectkit/src/hooks/usePaymentState.js.map +1 -0
  247. package/build/connectkit/src/hooks/usePrevious.js +13 -0
  248. package/build/connectkit/src/hooks/usePrevious.js.map +1 -0
  249. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js +40 -0
  250. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
  251. package/build/connectkit/src/hooks/useTokenOptions.js +152 -0
  252. package/build/connectkit/src/hooks/useTokenOptions.js.map +1 -0
  253. package/build/connectkit/src/hooks/useUntronAvailability.js +32 -0
  254. package/build/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
  255. package/build/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
  256. package/build/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
  257. package/build/connectkit/src/hooks/useWindowSize.js +23 -0
  258. package/build/connectkit/src/hooks/useWindowSize.js.map +1 -0
  259. package/build/connectkit/src/index.js +14 -0
  260. package/build/connectkit/src/index.js.map +1 -0
  261. package/build/connectkit/src/localizations/index.js +48 -0
  262. package/build/connectkit/src/localizations/index.js.map +1 -0
  263. package/build/connectkit/src/localizations/locales/ar-AE.js +95 -0
  264. package/build/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
  265. package/build/connectkit/src/localizations/locales/ca-AD.js +93 -0
  266. package/build/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
  267. package/build/connectkit/src/localizations/locales/ee-EE.js +101 -0
  268. package/build/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
  269. package/build/connectkit/src/localizations/locales/en-US.js +139 -0
  270. package/build/connectkit/src/localizations/locales/en-US.js.map +1 -0
  271. package/build/connectkit/src/localizations/locales/es-ES.js +131 -0
  272. package/build/connectkit/src/localizations/locales/es-ES.js.map +1 -0
  273. package/build/connectkit/src/localizations/locales/fa-IR.js +93 -0
  274. package/build/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
  275. package/build/connectkit/src/localizations/locales/fr-FR.js +93 -0
  276. package/build/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
  277. package/build/connectkit/src/localizations/locales/ja-JP.js +93 -0
  278. package/build/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
  279. package/build/connectkit/src/localizations/locales/pt-BR.js +101 -0
  280. package/build/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
  281. package/build/connectkit/src/localizations/locales/ru-RU.js +97 -0
  282. package/build/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
  283. package/build/connectkit/src/localizations/locales/tr-TR.js +101 -0
  284. package/build/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
  285. package/build/connectkit/src/localizations/locales/vi-VN.js +101 -0
  286. package/build/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
  287. package/build/connectkit/src/localizations/locales/zh-CN.js +93 -0
  288. package/build/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
  289. package/build/connectkit/src/payment/paymentEffects.js +269 -0
  290. package/build/connectkit/src/payment/paymentEffects.js.map +1 -0
  291. package/build/connectkit/src/payment/paymentFsm.js +194 -0
  292. package/build/connectkit/src/payment/paymentFsm.js.map +1 -0
  293. package/build/connectkit/src/payment/paymentStore.js +18 -0
  294. package/build/connectkit/src/payment/paymentStore.js.map +1 -0
  295. package/build/connectkit/src/payment/paymentUtils.js +10 -0
  296. package/build/connectkit/src/payment/paymentUtils.js.map +1 -0
  297. package/build/connectkit/src/provider/DaimoPayProvider.js +293 -0
  298. package/build/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
  299. package/build/connectkit/src/provider/PayContext.js +6 -0
  300. package/build/connectkit/src/provider/PayContext.js.map +1 -0
  301. package/build/connectkit/src/provider/PaymentProvider.js +29 -0
  302. package/build/connectkit/src/provider/PaymentProvider.js.map +1 -0
  303. package/build/connectkit/src/provider/SolanaContextProvider.js +14 -0
  304. package/build/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
  305. package/build/connectkit/src/provider/Web3ContextProvider.js +36 -0
  306. package/build/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
  307. package/build/connectkit/src/stateStore.js +36 -0
  308. package/build/connectkit/src/stateStore.js.map +1 -0
  309. package/build/connectkit/src/styles/defaultTheme.js +80 -0
  310. package/build/connectkit/src/styles/defaultTheme.js.map +1 -0
  311. package/build/connectkit/src/styles/index.js +313 -0
  312. package/build/connectkit/src/styles/index.js.map +1 -0
  313. package/build/connectkit/src/styles/styled/index.js +6 -0
  314. package/build/connectkit/src/styles/styled/index.js.map +1 -0
  315. package/build/connectkit/src/styles/themes/base.js +141 -0
  316. package/build/connectkit/src/styles/themes/base.js.map +1 -0
  317. package/build/connectkit/src/styles/themes/index.js +13 -0
  318. package/build/connectkit/src/styles/themes/index.js.map +1 -0
  319. package/build/connectkit/src/styles/themes/midnight.js +76 -0
  320. package/build/connectkit/src/styles/themes/midnight.js.map +1 -0
  321. package/build/connectkit/src/styles/themes/minimal.js +96 -0
  322. package/build/connectkit/src/styles/themes/minimal.js.map +1 -0
  323. package/build/connectkit/src/styles/themes/nouns.js +81 -0
  324. package/build/connectkit/src/styles/themes/nouns.js.map +1 -0
  325. package/build/connectkit/src/styles/themes/retro.js +106 -0
  326. package/build/connectkit/src/styles/themes/retro.js.map +1 -0
  327. package/build/connectkit/src/styles/themes/rounded.js +106 -0
  328. package/build/connectkit/src/styles/themes/rounded.js.map +1 -0
  329. package/build/connectkit/src/styles/themes/soft.js +71 -0
  330. package/build/connectkit/src/styles/themes/soft.js.map +1 -0
  331. package/build/connectkit/src/styles/themes/web95.js +132 -0
  332. package/build/connectkit/src/styles/themes/web95.js.map +1 -0
  333. package/build/connectkit/src/utils/exports.js +6 -0
  334. package/build/connectkit/src/utils/exports.js.map +1 -0
  335. package/build/connectkit/src/utils/format.js +45 -0
  336. package/build/connectkit/src/utils/format.js.map +1 -0
  337. package/build/connectkit/src/utils/index.js +42 -0
  338. package/build/connectkit/src/utils/index.js.map +1 -0
  339. package/build/connectkit/src/utils/p3.js +15 -0
  340. package/build/connectkit/src/utils/p3.js.map +1 -0
  341. package/build/connectkit/src/utils/platform.js +11 -0
  342. package/build/connectkit/src/utils/platform.js.map +1 -0
  343. package/build/connectkit/src/utils/polling.js +35 -0
  344. package/build/connectkit/src/utils/polling.js.map +1 -0
  345. package/build/connectkit/src/utils/supportUrl.js +16 -0
  346. package/build/connectkit/src/utils/supportUrl.js.map +1 -0
  347. package/build/connectkit/src/utils/trpc.js +19 -0
  348. package/build/connectkit/src/utils/trpc.js.map +1 -0
  349. package/build/connectkit/src/utils/validateInput.js +16 -0
  350. package/build/connectkit/src/utils/validateInput.js.map +1 -0
  351. package/build/connectkit/src/wallets/index.js +21 -0
  352. package/build/connectkit/src/wallets/index.js.map +1 -0
  353. package/build/connectkit/src/wallets/useWallets.js +207 -0
  354. package/build/connectkit/src/wallets/useWallets.js.map +1 -0
  355. package/build/connectkit/src/wallets/walletConfigs.js +277 -0
  356. package/build/connectkit/src/wallets/walletConfigs.js.map +1 -0
  357. package/build/connectkit/src/world-mini-app/WorldPayButton.js +148 -0
  358. package/build/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
  359. package/build/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
  360. package/build/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
  361. package/build/connectkit/src/world.js +2 -0
  362. package/build/connectkit/src/world.js.map +1 -0
  363. package/build/package.json.js +2 -2
  364. package/build/pay-common/src/chain.js +9 -0
  365. package/build/pay-common/src/chain.js.map +1 -0
  366. package/build/src/assets/coins.js +43 -0
  367. package/build/src/assets/coins.js.map +1 -0
  368. package/build/src/components/Common/CopyToClipboard/index.js +33 -0
  369. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
  370. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +1 -1
  371. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  372. package/build/src/components/DaimoPayModal/index.js +23 -3
  373. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  374. package/build/src/components/Pages/DownloadApp/index.js +35 -0
  375. package/build/src/components/Pages/DownloadApp/index.js.map +1 -0
  376. package/build/src/components/Pages/SelectMethod/index.js +5 -3
  377. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  378. package/build/src/components/Pages/SelectToken/index.js +3 -1
  379. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  380. package/build/src/localizations/locales/en-US.js +1 -1
  381. package/build/src/localizations/locales/en-US.js.map +1 -1
  382. package/build/src/localizations/locales/es-ES.js +1 -1
  383. package/build/src/localizations/locales/es-ES.js.map +1 -1
  384. package/build/src/wallets/useWallets.js.map +1 -1
  385. package/build/types-20835014.d.ts +68 -0
  386. package/package.json +2 -2
@@ -0,0 +1,13 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { AlertContainer, IconContainer } from './styles.js';
3
+
4
+ const Alert = ({ children, error, icon }) => {
5
+ return /* @__PURE__ */ jsxs(AlertContainer, { $error: error, children: [
6
+ icon && /* @__PURE__ */ jsx(IconContainer, { children: icon }),
7
+ /* @__PURE__ */ jsx("div", { children })
8
+ ] });
9
+ };
10
+ Alert.displayName = "Alert";
11
+
12
+ export { Alert as default };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Common/Alert/index.tsx"],"sourcesContent":["import { AlertContainer, IconContainer } from \"./styles\";\nimport { AlertProps } from \"./types\";\n\nconst Alert = ({ children, error, icon }: AlertProps) => {\n return (\n <AlertContainer $error={error}>\n {icon && <IconContainer>{icon}</IconContainer>}\n <div>{children}</div>\n </AlertContainer>\n );\n};\nAlert.displayName = \"Alert\";\n\nexport default Alert;\n"],"names":[],"mappings":";;;AAGA,MAAM,QAAQ,CAAC,EAAE,QAAU,EAAA,KAAA,EAAO,MAAuB,KAAA;AACvD,EACE,uBAAA,IAAA,CAAC,cAAe,EAAA,EAAA,MAAA,EAAQ,KACrB,EAAA,QAAA,EAAA;AAAA,IAAQ,IAAA,oBAAA,GAAA,CAAC,iBAAe,QAAK,EAAA,IAAA,EAAA,CAAA;AAAA,oBAC9B,GAAA,CAAC,SAAK,QAAS,EAAA,CAAA;AAAA,GACjB,EAAA,CAAA,CAAA;AAEJ,EAAA;AACA,KAAA,CAAM,WAAc,GAAA,OAAA;;;;"}
@@ -0,0 +1,55 @@
1
+ import { motion } from 'framer-motion';
2
+ import { css } from 'styled-components';
3
+ import defaultTheme from '../../../constants/defaultTheme.js';
4
+ import styled from '../../../styles/styled/index.js';
5
+
6
+ const AlertContainer = styled(motion.div)`
7
+ display: flex;
8
+ gap: 8px;
9
+ position: relative;
10
+ border-radius: 9px;
11
+ margin: 0 auto;
12
+ padding: 10px;
13
+ text-align: left;
14
+ font-size: 14px;
15
+ line-height: 17px;
16
+ font-weight: 400;
17
+ max-width: 260px;
18
+ min-width: 100%;
19
+
20
+ border-radius: var(--ck-alert-border-radius, 12px);
21
+ color: var(--ck-alert-color, var(--ck-body-color-muted));
22
+ background: var(--ck-alert-background, var(--ck-body-background-secondary));
23
+ box-shadow: var(--ck-alert-box-shadow, var(--ck-body-box-shadow));
24
+
25
+ @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
26
+ padding: 16px;
27
+ font-size: 16px;
28
+ line-height: 21px;
29
+ border-radius: 24px;
30
+ text-align: center;
31
+ }
32
+
33
+ ${($error) => {
34
+ if ($error)
35
+ return css`
36
+ color: #fff;
37
+ background: var(--ck-body-color-danger, red);
38
+ `;
39
+ }}
40
+ `;
41
+ const IconContainer = styled(motion.div)`
42
+ width: 24px;
43
+ height: 24px;
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ svg {
48
+ display: block;
49
+ width: 100%;
50
+ height: auto;
51
+ }
52
+ `;
53
+
54
+ export { AlertContainer, IconContainer };
55
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../src/components/Common/Alert/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { css } from \"styled-components\";\nimport defaultTheme from \"../../../constants/defaultTheme\";\nimport styled from \"./../../../styles/styled\";\n\nexport const AlertContainer = styled(motion.div)<{ $error?: boolean }>`\n display: flex;\n gap: 8px;\n position: relative;\n border-radius: 9px;\n margin: 0 auto;\n padding: 10px;\n text-align: left;\n font-size: 14px;\n line-height: 17px;\n font-weight: 400;\n max-width: 260px;\n min-width: 100%;\n\n border-radius: var(--ck-alert-border-radius, 12px);\n color: var(--ck-alert-color, var(--ck-body-color-muted));\n background: var(--ck-alert-background, var(--ck-body-background-secondary));\n box-shadow: var(--ck-alert-box-shadow, var(--ck-body-box-shadow));\n\n @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {\n padding: 16px;\n font-size: 16px;\n line-height: 21px;\n border-radius: 24px;\n text-align: center;\n }\n\n ${($error) => {\n if ($error)\n return css`\n color: #fff;\n background: var(--ck-body-color-danger, red);\n `;\n }}\n`;\n\nexport const IconContainer = styled(motion.div)`\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n display: block;\n width: 100%;\n height: auto;\n }\n`;\n"],"names":[],"mappings":";;;;;AAKa,MAAA,cAAA,GAAiB,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,qCAAA,EAmBR,aAAa,WAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,EAQ3D,CAAC,MAAW,KAAA;AACZ,EAAI,IAAA,MAAA;AACF,IAAO,OAAA,GAAA,CAAA;AAAA;AAAA;AAAA,MAAA,CAAA,CAAA;AAIX,CAAC,CAAA;AAAA,EAAA;AAGU,MAAA,aAAA,GAAgB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -0,0 +1,71 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useRef, useEffect } from 'react';
3
+ import styled from '../../../styles/styled/index.js';
4
+ import { ModalBody } from '../Modal/styles.js';
5
+
6
+ const Container = styled.button`
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ gap: 4px;
11
+ background: transparent;
12
+ `;
13
+ const InputField = styled.input`
14
+ margin: 0;
15
+ padding: 0;
16
+ background: none;
17
+ border: none;
18
+ outline: none;
19
+ font-size: 30px;
20
+ font-weight: var(--ck-modal-h1-font-weight, 600);
21
+ color: var(--ck-body-color);
22
+ width: ${(props) => {
23
+ const length = props.value?.length ?? 0;
24
+ if (length === 0) return "3.55ch";
25
+ const numPunctuations = (props.value?.match(/[.,]/g) || []).length;
26
+ const adjustedLength = length - numPunctuations * 0.55;
27
+ return `${Math.min(adjustedLength, 10)}ch`;
28
+ }};
29
+ min-width: 1ch;
30
+ max-width: 10ch;
31
+ `;
32
+ const AnimatedCurrency = styled(ModalBody)`
33
+ @keyframes fadeInDown {
34
+ from {
35
+ opacity: 0;
36
+ transform: translateY(-8px);
37
+ }
38
+ to {
39
+ opacity: 1;
40
+ transform: translateY(0);
41
+ }
42
+ }
43
+
44
+ animation: fadeInDown 0.3s ease-out forwards;
45
+ font-size: ${(props) => props.$small ? "16px" : "24px"};
46
+ `;
47
+ const AmountInputField = ({ value, onChange, currency = "$", onKeyDown }) => {
48
+ const inputRef = useRef(null);
49
+ useEffect(() => {
50
+ inputRef.current?.focus();
51
+ }, [value]);
52
+ return /* @__PURE__ */ jsxs(Container, { children: [
53
+ currency === "$" && /* @__PURE__ */ jsx(AnimatedCurrency, { children: currency }),
54
+ /* @__PURE__ */ jsx(
55
+ InputField,
56
+ {
57
+ ref: inputRef,
58
+ type: "text",
59
+ inputMode: "decimal",
60
+ value,
61
+ onChange,
62
+ placeholder: "0.00",
63
+ onKeyDown
64
+ }
65
+ ),
66
+ currency !== "$" && /* @__PURE__ */ jsx(AnimatedCurrency, { $small: true, children: currency })
67
+ ] });
68
+ };
69
+
70
+ export { AmountInputField as default };
71
+ //# sourceMappingURL=AmountInputField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmountInputField.js","sources":["../../../../../../src/components/Common/AmountInput/AmountInputField.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport styled from \"../../../styles/styled\";\nimport { ModalBody } from \"../Modal/styles\";\n\nconst Container = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: transparent;\n`;\n\nconst InputField = styled.input`\n margin: 0;\n padding: 0;\n background: none;\n border: none;\n outline: none;\n font-size: 30px;\n font-weight: var(--ck-modal-h1-font-weight, 600);\n color: var(--ck-body-color);\n width: ${(props) => {\n const length = props.value?.length ?? 0;\n // Placeholder is \"0.00\", 3ch for digits + 0.55ch for decimal point\n if (length === 0) return \"3.55ch\";\n // Reduce width when decimal or commas are present since they're smaller than normal chars\n const numPunctuations = (props.value?.match(/[.,]/g) || []).length;\n const adjustedLength = length - numPunctuations * 0.55;\n return `${Math.min(adjustedLength, 10)}ch`;\n }};\n min-width: 1ch;\n max-width: 10ch;\n`;\n\nconst AnimatedCurrency = styled(ModalBody)<{ $small?: boolean }>`\n @keyframes fadeInDown {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n animation: fadeInDown 0.3s ease-out forwards;\n font-size: ${(props) => (props.$small ? \"16px\" : \"24px\")};\n`;\n\nconst AmountInputField: React.FC<{\n value: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n currency?: string;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n}> = ({ value, onChange, currency = \"$\", onKeyDown }) => {\n // Focus the input when the component mounts so the user can start typing immediately\n const inputRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n inputRef.current?.focus();\n }, [value]);\n\n return (\n <Container>\n {currency === \"$\" && <AnimatedCurrency>{currency}</AnimatedCurrency>}\n <InputField\n ref={inputRef}\n type=\"text\"\n inputMode=\"decimal\"\n value={value}\n onChange={onChange}\n placeholder=\"0.00\"\n onKeyDown={onKeyDown}\n />\n {currency !== \"$\" && (\n <AnimatedCurrency $small>{currency}</AnimatedCurrency>\n )}\n </Container>\n );\n};\n\nexport default AmountInputField;\n"],"names":[],"mappings":";;;;;AAIA,MAAM,YAAY,MAAO,CAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQzB,MAAM,aAAa,MAAO,CAAA,KAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAA,EASf,CAAC,KAAU,KAAA;AAClB,EAAM,MAAA,MAAA,GAAS,KAAM,CAAA,KAAA,EAAO,MAAU,IAAA,CAAA,CAAA;AAEtC,EAAI,IAAA,MAAA,KAAW,GAAU,OAAA,QAAA,CAAA;AAEzB,EAAA,MAAM,mBAAmB,KAAM,CAAA,KAAA,EAAO,MAAM,OAAO,CAAA,IAAK,EAAI,EAAA,MAAA,CAAA;AAC5D,EAAM,MAAA,cAAA,GAAiB,SAAS,eAAkB,GAAA,IAAA,CAAA;AAClD,EAAA,OAAO,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,cAAA,EAAgB,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;AACxC,CAAC,CAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAKH,MAAM,gBAAA,GAAmB,OAAO,SAAS,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAA,EAa1B,CAAC,KAAA,KAAW,KAAM,CAAA,MAAA,GAAS,SAAS,MAAO,CAAA;AAAA,CAAA,CAAA;AAGpD,MAAA,gBAAA,GAKD,CAAC,EAAE,KAAA,EAAO,UAAU,QAAW,GAAA,GAAA,EAAK,WAAgB,KAAA;AAEvD,EAAM,MAAA,QAAA,GAAW,OAAyB,IAAI,CAAA,CAAA;AAC9C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,SAAS,KAAM,EAAA,CAAA;AAAA,GAC1B,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AAEV,EAAA,4BACG,SACE,EAAA,EAAA,QAAA,EAAA;AAAA,IAAa,QAAA,KAAA,GAAA,oBAAQ,GAAA,CAAA,gBAAA,EAAA,EAAkB,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,oBACjD,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA,QAAA;AAAA,QACL,IAAK,EAAA,MAAA;AAAA,QACL,SAAU,EAAA,SAAA;AAAA,QACV,KAAA;AAAA,QACA,QAAA;AAAA,QACA,WAAY,EAAA,MAAA;AAAA,QACZ,SAAA;AAAA,OAAA;AAAA,KACF;AAAA,IACC,aAAa,GACZ,oBAAA,GAAA,CAAC,gBAAiB,EAAA,EAAA,MAAA,EAAM,MAAE,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,GAEvC,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,159 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useState, useEffect } from 'react';
3
+ import { usePayContext } from '../../../hooks/usePayContext.js';
4
+ import { PageContent, ModalContent, ModalBody } from '../Modal/styles.js';
5
+ import { parseUnits } from 'viem';
6
+ import styled from '../../../styles/styled/index.js';
7
+ import { formatUsd, usdToRoundedTokenAmount, USD_DECIMALS, tokenAmountToRoundedUsd, roundUsd, roundTokenAmount, roundTokenAmountUnits } from '../../../utils/format.js';
8
+ import { isValidNumber, sanitizeNumber } from '../../../utils/validateInput.js';
9
+ import Button from '../Button/index.js';
10
+ import SwitchButton from '../SwitchButton/index.js';
11
+ import TokenLogoSpinner from '../../Spinners/TokenLogoSpinner/index.js';
12
+ import AmountInputField from './AmountInputField.js';
13
+
14
+ const MultiCurrencySelectAmount = ({ selectedTokenOption, setSelectedTokenOption, nextPage }) => {
15
+ const { paymentState, setRoute, triggerResize } = usePayContext();
16
+ const maxUsdLimit = paymentState.getOrderUsdLimit();
17
+ const balanceToken = selectedTokenOption.balance.token;
18
+ const minimumMessage = selectedTokenOption.minimumRequired.usd > 0 ? `Minimum
19
+ ${formatUsd(selectedTokenOption.minimumRequired.usd, "up")}` : null;
20
+ const [usdValue, setUsdValue] = useState("");
21
+ const [tokenValue, setTokenValue] = useState(
22
+ usdToRoundedTokenAmount(0, balanceToken)
23
+ );
24
+ const [isEditingUsd, setIsEditingUsd] = useState(true);
25
+ const [message, setMessage] = useState(minimumMessage);
26
+ const [continueDisabled, setContinueDisabled] = useState(true);
27
+ useEffect(() => {
28
+ triggerResize();
29
+ }, [message]);
30
+ const updateValues = (newUsdValue, newTokenValue, newIsEditingUsd) => {
31
+ const sanitizedUsdValue = sanitizeNumber(newUsdValue);
32
+ const sanitizedTokenValue = sanitizeNumber(newTokenValue);
33
+ setUsdValue(
34
+ newIsEditingUsd ? newUsdValue : roundUsd(Number(sanitizedUsdValue))
35
+ );
36
+ setTokenValue(
37
+ newIsEditingUsd ? roundTokenAmountUnits(Number(sanitizedTokenValue), balanceToken) : newTokenValue
38
+ );
39
+ setIsEditingUsd(newIsEditingUsd);
40
+ setContinueDisabled(
41
+ Number(sanitizedUsdValue) <= 0 || Number(sanitizedUsdValue) < selectedTokenOption.minimumRequired.usd || Number(sanitizedUsdValue) > selectedTokenOption.balance.usd || Number(sanitizedUsdValue) > maxUsdLimit
42
+ );
43
+ if (Number(sanitizedUsdValue) > selectedTokenOption.balance.usd) {
44
+ setMessage(
45
+ `Amount exceeds your balance:
46
+ ${formatUsd(selectedTokenOption.balance.usd)}`
47
+ );
48
+ } else if (Number(usdValue) > maxUsdLimit) {
49
+ setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);
50
+ } else {
51
+ setMessage(minimumMessage);
52
+ }
53
+ };
54
+ const handleAmountChange = (e) => {
55
+ const value = e.target.value;
56
+ const maxDecimals = isEditingUsd ? USD_DECIMALS : balanceToken.displayDecimals;
57
+ if (value !== "" && !isValidNumber(value, maxDecimals)) return;
58
+ const sanitizedValue = sanitizeNumber(value);
59
+ const newUsdValue = isEditingUsd ? value : tokenAmountToRoundedUsd(
60
+ parseUnits(sanitizedValue, balanceToken.decimals),
61
+ balanceToken
62
+ );
63
+ const newTokenValue = isEditingUsd ? usdToRoundedTokenAmount(Number(sanitizedValue), balanceToken) : value;
64
+ updateValues(newUsdValue, newTokenValue, isEditingUsd);
65
+ };
66
+ const handleMax = () => {
67
+ const usdValue2 = roundUsd(Number(selectedTokenOption.balance.usd));
68
+ const tokenValue2 = roundTokenAmount(
69
+ selectedTokenOption.balance.amount,
70
+ balanceToken
71
+ );
72
+ updateValues(usdValue2, tokenValue2, isEditingUsd);
73
+ };
74
+ const handleKeyDown = (e) => {
75
+ if (e.key === "Enter" && !continueDisabled) {
76
+ handleContinue();
77
+ }
78
+ };
79
+ const handleSwitchCurrency = () => {
80
+ updateValues(usdValue, tokenValue, !isEditingUsd);
81
+ };
82
+ const handleContinue = () => {
83
+ const usd = Number(sanitizeNumber(usdValue));
84
+ const amountUnits = usd / balanceToken.usd;
85
+ const amount = parseUnits(amountUnits.toString(), balanceToken.decimals);
86
+ setSelectedTokenOption({
87
+ ...selectedTokenOption,
88
+ required: {
89
+ token: balanceToken,
90
+ amount: amount.toString(),
91
+ usd
92
+ }
93
+ });
94
+ paymentState.setChosenUsd(usd);
95
+ setRoute(nextPage, {
96
+ amountUsd: usd,
97
+ amountUnits,
98
+ tokenSymbol: balanceToken.symbol
99
+ });
100
+ };
101
+ return /* @__PURE__ */ jsxs(PageContent, { children: [
102
+ /* @__PURE__ */ jsx(TokenLogoSpinner, { token: balanceToken }),
103
+ /* @__PURE__ */ jsxs(ModalContent, { $preserveDisplay: true, children: [
104
+ /* @__PURE__ */ jsxs(AmountInputContainer, { children: [
105
+ /* @__PURE__ */ jsx(MaxButton, { style: { visibility: "hidden" }, children: "Max" }),
106
+ /* @__PURE__ */ jsx(
107
+ AmountInputField,
108
+ {
109
+ value: isEditingUsd ? usdValue : tokenValue,
110
+ onChange: handleAmountChange,
111
+ currency: isEditingUsd ? "$" : balanceToken.symbol,
112
+ onKeyDown: handleKeyDown
113
+ }
114
+ ),
115
+ /* @__PURE__ */ jsx(MaxButton, { onClick: handleMax, children: "Max" })
116
+ ] }),
117
+ balanceToken.fiatISO !== "USD" && /* @__PURE__ */ jsx(SwitchContainer, { children: /* @__PURE__ */ jsx(SwitchButton, { onClick: handleSwitchCurrency, children: /* @__PURE__ */ jsx(SecondaryAmount, { children: isEditingUsd ? `${tokenValue} ${balanceToken.symbol}` : `$${usdValue}` }) }) }),
118
+ message && /* @__PURE__ */ jsx(ModalBody, { children: message }),
119
+ /* @__PURE__ */ jsx(Button, { onClick: handleContinue, disabled: continueDisabled, children: "Continue" })
120
+ ] })
121
+ ] });
122
+ };
123
+ const AmountInputContainer = styled.div`
124
+ display: flex;
125
+ align-items: center;
126
+ justify-content: center;
127
+ gap: 6px;
128
+ `;
129
+ const SecondaryAmount = styled.div`
130
+ font-size: 16px;
131
+ font-weight: 400;
132
+ line-height: 21px;
133
+ color: var(--ck-body-color-muted);
134
+ strong {
135
+ font-weight: 500;
136
+ color: var(--ck-body-color);
137
+ }
138
+ `;
139
+ const MaxButton = styled.button`
140
+ display: inline-block;
141
+ padding: 3px 8px;
142
+ border-radius: var(--ck-primary-button-border-radius);
143
+ font-size: 14px;
144
+ font-weight: 400;
145
+ background: var(
146
+ --ck-secondary-button-background,
147
+ var(--ck-body-background-secondary)
148
+ );
149
+ color: var(--ck-body-color-secondary);
150
+ cursor: pointer;
151
+ `;
152
+ const SwitchContainer = styled.div`
153
+ display: flex;
154
+ align-items: center;
155
+ justify-content: center;
156
+ `;
157
+
158
+ export { MultiCurrencySelectAmount as default };
159
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Common/AmountInput/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport {\n ModalBody,\n ModalContent,\n PageContent,\n} from \"../../Common/Modal/styles\";\n\nimport { WalletPaymentOption } from \"@daimo/pay-common\";\nimport { parseUnits } from \"viem\";\nimport styled from \"../../../styles/styled\";\nimport {\n formatUsd,\n roundTokenAmount,\n roundTokenAmountUnits,\n roundUsd,\n tokenAmountToRoundedUsd,\n USD_DECIMALS,\n usdToRoundedTokenAmount,\n} from \"../../../utils/format\";\nimport { isValidNumber, sanitizeNumber } from \"../../../utils/validateInput\";\nimport Button from \"../../Common/Button\";\nimport SwitchButton from \"../../Common/SwitchButton\";\nimport TokenLogoSpinner from \"../../Spinners/TokenLogoSpinner\";\nimport AmountInputField from \"./AmountInputField\";\n\nconst MultiCurrencySelectAmount: React.FC<{\n selectedTokenOption: WalletPaymentOption;\n setSelectedTokenOption: (option: WalletPaymentOption) => void;\n nextPage: ROUTES;\n}> = ({ selectedTokenOption, setSelectedTokenOption, nextPage }) => {\n const { paymentState, setRoute, triggerResize } = usePayContext();\n const maxUsdLimit = paymentState.getOrderUsdLimit();\n\n const balanceToken = selectedTokenOption.balance.token;\n\n const minimumMessage =\n selectedTokenOption.minimumRequired.usd > 0\n ? `Minimum \n ${formatUsd(selectedTokenOption.minimumRequired.usd, \"up\")}`\n : null;\n\n const [usdValue, setUsdValue] = useState(\"\");\n const [tokenValue, setTokenValue] = useState(\n usdToRoundedTokenAmount(0, balanceToken),\n );\n const [isEditingUsd, setIsEditingUsd] = useState(true);\n const [message, setMessage] = useState<string | null>(minimumMessage);\n const [continueDisabled, setContinueDisabled] = useState(true);\n\n useEffect(() => {\n triggerResize();\n }, [message]); // eslint-disable-line react-hooks/exhaustive-deps\n\n /**\n * Update the editable value and secondary value, taking into account whether\n * the user is currently editing the USD value or the token value.\n */\n const updateValues = (\n newUsdValue: string,\n newTokenValue: string,\n newIsEditingUsd: boolean,\n ) => {\n const sanitizedUsdValue = sanitizeNumber(newUsdValue);\n const sanitizedTokenValue = sanitizeNumber(newTokenValue);\n\n // Update the state. Don't sanitize the value if the user is editing it.\n setUsdValue(\n newIsEditingUsd ? newUsdValue : roundUsd(Number(sanitizedUsdValue)),\n );\n setTokenValue(\n newIsEditingUsd\n ? roundTokenAmountUnits(Number(sanitizedTokenValue), balanceToken)\n : newTokenValue,\n );\n setIsEditingUsd(newIsEditingUsd);\n\n setContinueDisabled(\n Number(sanitizedUsdValue) <= 0 ||\n Number(sanitizedUsdValue) < selectedTokenOption.minimumRequired.usd ||\n Number(sanitizedUsdValue) > selectedTokenOption.balance.usd ||\n Number(sanitizedUsdValue) > maxUsdLimit,\n );\n\n if (Number(sanitizedUsdValue) > selectedTokenOption.balance.usd) {\n setMessage(\n `Amount exceeds your balance: \n ${formatUsd(selectedTokenOption.balance.usd)}`,\n );\n } else if (Number(usdValue) > maxUsdLimit) {\n setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);\n } else {\n setMessage(minimumMessage);\n }\n };\n\n const handleAmountChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n const maxDecimals = isEditingUsd\n ? USD_DECIMALS\n : balanceToken.displayDecimals;\n if (value !== \"\" && !isValidNumber(value, maxDecimals)) return;\n\n const sanitizedValue = sanitizeNumber(value);\n\n const newUsdValue = isEditingUsd\n ? value\n : tokenAmountToRoundedUsd(\n parseUnits(sanitizedValue, balanceToken.decimals),\n balanceToken,\n );\n const newTokenValue = isEditingUsd\n ? usdToRoundedTokenAmount(Number(sanitizedValue), balanceToken)\n : value;\n updateValues(newUsdValue, newTokenValue, isEditingUsd);\n };\n\n const handleMax = () => {\n const usdValue = roundUsd(Number(selectedTokenOption.balance.usd));\n const tokenValue = roundTokenAmount(\n selectedTokenOption.balance.amount,\n balanceToken,\n );\n updateValues(usdValue, tokenValue, isEditingUsd);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\" && !continueDisabled) {\n handleContinue();\n }\n };\n\n const handleSwitchCurrency = () => {\n updateValues(usdValue, tokenValue, !isEditingUsd);\n };\n\n const handleContinue = () => {\n const usd = Number(sanitizeNumber(usdValue));\n const amountUnits = usd / balanceToken.usd;\n const amount = parseUnits(amountUnits.toString(), balanceToken.decimals);\n setSelectedTokenOption({\n ...selectedTokenOption,\n required: {\n token: balanceToken,\n amount: amount.toString() as `${bigint}`,\n usd,\n },\n });\n paymentState.setChosenUsd(usd);\n setRoute(nextPage, {\n amountUsd: usd,\n amountUnits,\n tokenSymbol: balanceToken.symbol,\n });\n };\n\n return (\n <PageContent>\n <TokenLogoSpinner token={balanceToken} />\n <ModalContent $preserveDisplay={true}>\n <AmountInputContainer>\n {/* Invisible div to balance spacing */}\n <MaxButton style={{ visibility: \"hidden\" }}>Max</MaxButton>\n <AmountInputField\n value={isEditingUsd ? usdValue : tokenValue}\n onChange={handleAmountChange}\n currency={isEditingUsd ? \"$\" : balanceToken.symbol}\n onKeyDown={handleKeyDown}\n />\n <MaxButton onClick={handleMax}>Max</MaxButton>\n </AmountInputContainer>\n\n {balanceToken.fiatISO !== \"USD\" && (\n <SwitchContainer>\n <SwitchButton onClick={handleSwitchCurrency}>\n <SecondaryAmount>\n {isEditingUsd\n ? `${tokenValue} ${balanceToken.symbol}`\n : `$${usdValue}`}\n </SecondaryAmount>\n </SwitchButton>\n </SwitchContainer>\n )}\n\n {message && <ModalBody>{message}</ModalBody>}\n\n <Button onClick={handleContinue} disabled={continueDisabled}>\n Continue\n </Button>\n </ModalContent>\n </PageContent>\n );\n};\n\nconst AmountInputContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n`;\nconst SecondaryAmount = styled.div`\n font-size: 16px;\n font-weight: 400;\n line-height: 21px;\n color: var(--ck-body-color-muted);\n strong {\n font-weight: 500;\n color: var(--ck-body-color);\n }\n`;\nconst MaxButton = styled.button`\n display: inline-block;\n padding: 3px 8px;\n border-radius: var(--ck-primary-button-border-radius);\n font-size: 14px;\n font-weight: 400;\n background: var(\n --ck-secondary-button-background,\n var(--ck-body-background-secondary)\n );\n color: var(--ck-body-color-secondary);\n cursor: pointer;\n`;\nconst SwitchContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport default MultiCurrencySelectAmount;\n"],"names":["usdValue","tokenValue"],"mappings":";;;;;;;;;;;;;AA4BA,MAAM,4BAID,CAAC,EAAE,mBAAqB,EAAA,sBAAA,EAAwB,UAAe,KAAA;AAClE,EAAA,MAAM,EAAE,YAAA,EAAc,QAAU,EAAA,aAAA,KAAkB,aAAc,EAAA,CAAA;AAChE,EAAM,MAAA,WAAA,GAAc,aAAa,gBAAiB,EAAA,CAAA;AAElD,EAAM,MAAA,YAAA,GAAe,oBAAoB,OAAQ,CAAA,KAAA,CAAA;AAEjD,EAAA,MAAM,cACJ,GAAA,mBAAA,CAAoB,eAAgB,CAAA,GAAA,GAAM,CACtC,GAAA,CAAA;AAAA,EAAA,EACJ,UAAU,mBAAoB,CAAA,eAAA,CAAgB,GAAK,EAAA,IAAI,CAAC,CACpD,CAAA,GAAA,IAAA,CAAA;AAEN,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,EAAE,CAAA,CAAA;AAC3C,EAAM,MAAA,CAAC,UAAY,EAAA,aAAa,CAAI,GAAA,QAAA;AAAA,IAClC,uBAAA,CAAwB,GAAG,YAAY,CAAA;AAAA,GACzC,CAAA;AACA,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AACrD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAwB,cAAc,CAAA,CAAA;AACpE,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAE7D,EAAA,SAAA,CAAU,MAAM;AACd,IAAc,aAAA,EAAA,CAAA;AAAA,GAChB,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAMZ,EAAA,MAAM,YAAe,GAAA,CACnB,WACA,EAAA,aAAA,EACA,eACG,KAAA;AACH,IAAM,MAAA,iBAAA,GAAoB,eAAe,WAAW,CAAA,CAAA;AACpD,IAAM,MAAA,mBAAA,GAAsB,eAAe,aAAa,CAAA,CAAA;AAGxD,IAAA,WAAA;AAAA,MACE,eAAkB,GAAA,WAAA,GAAc,QAAS,CAAA,MAAA,CAAO,iBAAiB,CAAC,CAAA;AAAA,KACpE,CAAA;AACA,IAAA,aAAA;AAAA,MACE,kBACI,qBAAsB,CAAA,MAAA,CAAO,mBAAmB,CAAA,EAAG,YAAY,CAC/D,GAAA,aAAA;AAAA,KACN,CAAA;AACA,IAAA,eAAA,CAAgB,eAAe,CAAA,CAAA;AAE/B,IAAA,mBAAA;AAAA,MACE,OAAO,iBAAiB,CAAA,IAAK,KAC3B,MAAO,CAAA,iBAAiB,IAAI,mBAAoB,CAAA,eAAA,CAAgB,GAChE,IAAA,MAAA,CAAO,iBAAiB,CAAI,GAAA,mBAAA,CAAoB,QAAQ,GACxD,IAAA,MAAA,CAAO,iBAAiB,CAAI,GAAA,WAAA;AAAA,KAChC,CAAA;AAEA,IAAA,IAAI,MAAO,CAAA,iBAAiB,CAAI,GAAA,mBAAA,CAAoB,QAAQ,GAAK,EAAA;AAC/D,MAAA,UAAA;AAAA,QACE,CAAA;AAAA,EAAA,EACJ,SAAU,CAAA,mBAAA,CAAoB,OAAQ,CAAA,GAAG,CAAC,CAAA,CAAA;AAAA,OACxC,CAAA;AAAA,KACS,MAAA,IAAA,MAAA,CAAO,QAAQ,CAAA,GAAI,WAAa,EAAA;AACzC,MAAA,UAAA,CAAW,CAAW,QAAA,EAAA,SAAA,CAAU,WAAW,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,KACzC,MAAA;AACL,MAAA,UAAA,CAAW,cAAc,CAAA,CAAA;AAAA,KAC3B;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,kBAAA,GAAqB,CAAC,CAA2C,KAAA;AACrE,IAAM,MAAA,KAAA,GAAQ,EAAE,MAAO,CAAA,KAAA,CAAA;AACvB,IAAM,MAAA,WAAA,GAAc,YAChB,GAAA,YAAA,GACA,YAAa,CAAA,eAAA,CAAA;AACjB,IAAA,IAAI,UAAU,EAAM,IAAA,CAAC,aAAc,CAAA,KAAA,EAAO,WAAW,CAAG,EAAA,OAAA;AAExD,IAAM,MAAA,cAAA,GAAiB,eAAe,KAAK,CAAA,CAAA;AAE3C,IAAM,MAAA,WAAA,GAAc,eAChB,KACA,GAAA,uBAAA;AAAA,MACE,UAAA,CAAW,cAAgB,EAAA,YAAA,CAAa,QAAQ,CAAA;AAAA,MAChD,YAAA;AAAA,KACF,CAAA;AACJ,IAAA,MAAM,gBAAgB,YAClB,GAAA,uBAAA,CAAwB,OAAO,cAAc,CAAA,EAAG,YAAY,CAC5D,GAAA,KAAA,CAAA;AACJ,IAAa,YAAA,CAAA,WAAA,EAAa,eAAe,YAAY,CAAA,CAAA;AAAA,GACvD,CAAA;AAEA,EAAA,MAAM,YAAY,MAAM;AACtB,IAAA,MAAMA,YAAW,QAAS,CAAA,MAAA,CAAO,mBAAoB,CAAA,OAAA,CAAQ,GAAG,CAAC,CAAA,CAAA;AACjE,IAAA,MAAMC,WAAa,GAAA,gBAAA;AAAA,MACjB,oBAAoB,OAAQ,CAAA,MAAA;AAAA,MAC5B,YAAA;AAAA,KACF,CAAA;AACA,IAAaD,YAAAA,CAAAA,SAAAA,EAAUC,aAAY,YAAY,CAAA,CAAA;AAAA,GACjD,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,CAAC,CAA6C,KAAA;AAClE,IAAA,IAAI,CAAE,CAAA,GAAA,KAAQ,OAAW,IAAA,CAAC,gBAAkB,EAAA;AAC1C,MAAe,cAAA,EAAA,CAAA;AAAA,KACjB;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,uBAAuB,MAAM;AACjC,IAAa,YAAA,CAAA,QAAA,EAAU,UAAY,EAAA,CAAC,YAAY,CAAA,CAAA;AAAA,GAClD,CAAA;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAM,GAAM,GAAA,MAAA,CAAO,cAAe,CAAA,QAAQ,CAAC,CAAA,CAAA;AAC3C,IAAM,MAAA,WAAA,GAAc,MAAM,YAAa,CAAA,GAAA,CAAA;AACvC,IAAA,MAAM,SAAS,UAAW,CAAA,WAAA,CAAY,QAAS,EAAA,EAAG,aAAa,QAAQ,CAAA,CAAA;AACvE,IAAuB,sBAAA,CAAA;AAAA,MACrB,GAAG,mBAAA;AAAA,MACH,QAAU,EAAA;AAAA,QACR,KAAO,EAAA,YAAA;AAAA,QACP,MAAA,EAAQ,OAAO,QAAS,EAAA;AAAA,QACxB,GAAA;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAA,YAAA,CAAa,aAAa,GAAG,CAAA,CAAA;AAC7B,IAAA,QAAA,CAAS,QAAU,EAAA;AAAA,MACjB,SAAW,EAAA,GAAA;AAAA,MACX,WAAA;AAAA,MACA,aAAa,YAAa,CAAA,MAAA;AAAA,KAC3B,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,gBAAA,EAAA,EAAiB,OAAO,YAAc,EAAA,CAAA;AAAA,oBACvC,IAAA,CAAC,YAAa,EAAA,EAAA,gBAAA,EAAkB,IAC9B,EAAA,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,oBAEC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,aAAU,KAAO,EAAA,EAAE,UAAY,EAAA,QAAA,IAAY,QAAG,EAAA,KAAA,EAAA,CAAA;AAAA,wBAC/C,GAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO,eAAe,QAAW,GAAA,UAAA;AAAA,YACjC,QAAU,EAAA,kBAAA;AAAA,YACV,QAAA,EAAU,YAAe,GAAA,GAAA,GAAM,YAAa,CAAA,MAAA;AAAA,YAC5C,SAAW,EAAA,aAAA;AAAA,WAAA;AAAA,SACb;AAAA,wBACC,GAAA,CAAA,SAAA,EAAA,EAAU,OAAS,EAAA,SAAA,EAAW,QAAG,EAAA,KAAA,EAAA,CAAA;AAAA,OACpC,EAAA,CAAA;AAAA,MAEC,YAAA,CAAa,YAAY,KACxB,oBAAA,GAAA,CAAC,mBACC,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA,EAAa,OAAS,EAAA,oBAAA,EACrB,QAAC,kBAAA,GAAA,CAAA,eAAA,EAAA,EACE,yBACG,CAAG,EAAA,UAAU,IAAI,YAAa,CAAA,MAAM,KACpC,CAAI,CAAA,EAAA,QAAQ,CAClB,CAAA,EAAA,CAAA,EACF,CACF,EAAA,CAAA;AAAA,MAGD,OAAA,oBAAY,GAAA,CAAA,SAAA,EAAA,EAAW,QAAQ,EAAA,OAAA,EAAA,CAAA;AAAA,0BAE/B,MAAO,EAAA,EAAA,OAAA,EAAS,cAAgB,EAAA,QAAA,EAAU,kBAAkB,QAE7D,EAAA,UAAA,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,uBAAuB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAMpC,MAAM,kBAAkB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAU/B,MAAM,YAAY,MAAO,CAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAazB,MAAM,kBAAkB,MAAO,CAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
@@ -0,0 +1,78 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useRef, useState, useEffect } from 'react';
3
+ import { EnsAvatar, ImageContainer } from './styles.js';
4
+ import { normalize } from 'viem/ens';
5
+ import { useEnsAddress, useEnsName, useEnsAvatar } from 'wagmi';
6
+ import { useEnsFallbackConfig } from '../../../hooks/useEnsFallbackConfig.js';
7
+ import useIsMounted from '../../../hooks/useIsMounted.js';
8
+ import { ResetContainer } from '../../../styles/index.js';
9
+ import { usePayContext } from '../../../hooks/usePayContext.js';
10
+
11
+ const Avatar = ({ address, name, size = 96, radius = 96 }) => {
12
+ const isMounted = useIsMounted();
13
+ const context = usePayContext();
14
+ const imageRef = useRef(null);
15
+ const [loaded, setLoaded] = useState(true);
16
+ const ensFallbackConfig = useEnsFallbackConfig();
17
+ const { data: ensAddress } = useEnsAddress({
18
+ chainId: 1,
19
+ name,
20
+ config: ensFallbackConfig
21
+ });
22
+ const { data: ensName } = useEnsName({
23
+ chainId: 1,
24
+ address: address ?? ensAddress ?? void 0,
25
+ config: ensFallbackConfig
26
+ });
27
+ const { data: ensAvatar } = useEnsAvatar({
28
+ chainId: 1,
29
+ name: normalize(ensName ?? ""),
30
+ config: ensFallbackConfig
31
+ });
32
+ const ens = {
33
+ address: ensAddress ?? address,
34
+ name: ensName ?? name,
35
+ avatar: ensAvatar ?? void 0
36
+ };
37
+ useEffect(() => {
38
+ if (!(imageRef.current && imageRef.current.complete && imageRef.current.naturalHeight !== 0)) {
39
+ setLoaded(false);
40
+ }
41
+ }, [ensAvatar]);
42
+ if (!isMounted)
43
+ return /* @__PURE__ */ jsx("div", { style: { width: size, height: size, borderRadius: radius } });
44
+ if (context.options?.customAvatar)
45
+ return /* @__PURE__ */ jsx(
46
+ "div",
47
+ {
48
+ style: {
49
+ width: size,
50
+ height: size,
51
+ borderRadius: radius,
52
+ overflow: "hidden"
53
+ },
54
+ children: context.options?.customAvatar({
55
+ address: address ?? ens?.address,
56
+ ensName: name ?? ens?.name,
57
+ ensImage: ens?.avatar,
58
+ size,
59
+ radius
60
+ })
61
+ }
62
+ );
63
+ if (!ens.name || !ens.avatar)
64
+ return /* @__PURE__ */ jsx(ResetContainer, { style: { pointerEvents: "none" }, children: /* @__PURE__ */ jsx(EnsAvatar, { $size: size, $seed: ens.address, $radius: radius }) });
65
+ return /* @__PURE__ */ jsx(ResetContainer, { style: { pointerEvents: "none" }, children: /* @__PURE__ */ jsx(EnsAvatar, { $size: size, $seed: ens.address, $radius: radius, children: /* @__PURE__ */ jsx(
66
+ ImageContainer,
67
+ {
68
+ ref: imageRef,
69
+ src: ens.avatar,
70
+ alt: ens.name,
71
+ onLoad: () => setLoaded(true),
72
+ $loaded: loaded
73
+ }
74
+ ) }) });
75
+ };
76
+
77
+ export { Avatar as default };
78
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Common/Avatar/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nimport { EnsAvatar, ImageContainer } from \"./styles\";\n\nimport { normalize } from \"viem/ens\";\nimport { useEnsAddress, useEnsAvatar, useEnsName } from \"wagmi\";\nimport { useEnsFallbackConfig } from \"../../../hooks/useEnsFallbackConfig\";\nimport useIsMounted from \"../../../hooks/useIsMounted\";\nimport { ResetContainer } from \"../../../styles\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\ntype Hash = `0x${string}`;\n\nexport type CustomAvatarProps = {\n address?: Hash | undefined;\n ensName?: string | undefined;\n ensImage?: string;\n size: number;\n radius: number;\n};\n\n/** Icon for an Ethereum address. Supports ENS names and avatars. */\nconst Avatar: React.FC<{\n address?: Hash | undefined;\n name?: string | undefined;\n size?: number;\n radius?: number;\n}> = ({ address, name, size = 96, radius = 96 }) => {\n const isMounted = useIsMounted();\n const context = usePayContext();\n\n const imageRef = useRef<any>(null);\n const [loaded, setLoaded] = useState(true);\n\n const ensFallbackConfig = useEnsFallbackConfig();\n const { data: ensAddress } = useEnsAddress({\n chainId: 1,\n name: name,\n config: ensFallbackConfig,\n });\n const { data: ensName } = useEnsName({\n chainId: 1,\n address: address ?? ensAddress ?? undefined,\n config: ensFallbackConfig,\n });\n const { data: ensAvatar } = useEnsAvatar({\n chainId: 1,\n name: normalize(ensName ?? \"\"),\n config: ensFallbackConfig,\n });\n\n const ens = {\n address: ensAddress ?? address,\n name: ensName ?? name,\n avatar: ensAvatar ?? undefined,\n };\n\n useEffect(() => {\n if (\n !(\n imageRef.current &&\n imageRef.current.complete &&\n imageRef.current.naturalHeight !== 0\n )\n ) {\n setLoaded(false);\n }\n }, [ensAvatar]);\n\n if (!isMounted)\n return <div style={{ width: size, height: size, borderRadius: radius }} />;\n\n if (context.options?.customAvatar)\n return (\n <div\n style={{\n width: size,\n height: size,\n borderRadius: radius,\n overflow: \"hidden\",\n }}\n >\n {context.options?.customAvatar({\n address: address ?? ens?.address,\n ensName: name ?? ens?.name,\n ensImage: ens?.avatar,\n size,\n radius,\n })}\n </div>\n );\n\n if (!ens.name || !ens.avatar)\n return (\n <ResetContainer style={{ pointerEvents: \"none\" }}>\n <EnsAvatar $size={size} $seed={ens.address} $radius={radius} />\n </ResetContainer>\n );\n return (\n <ResetContainer style={{ pointerEvents: \"none\" }}>\n <EnsAvatar $size={size} $seed={ens.address} $radius={radius}>\n <ImageContainer\n ref={imageRef}\n src={ens.avatar}\n alt={ens.name}\n onLoad={() => setLoaded(true)}\n $loaded={loaded}\n />\n </EnsAvatar>\n </ResetContainer>\n );\n};\n\nexport default Avatar;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { motion } from 'framer-motion';
2
+ import { css } from 'styled-components';
3
+ import styled from '../../../styles/styled/index.js';
4
+
5
+ function addressToNumber(address) {
6
+ return address.split("").map((l) => l.charCodeAt(0)).reduce((a, b) => a + b) % 100 / 100;
7
+ }
8
+ const EnsAvatar = styled(motion.div)`
9
+ will-change: transform; // Needed for Safari
10
+ pointer-events: none;
11
+ user-select: none;
12
+ position: relative;
13
+ overflow: hidden;
14
+ margin: 0;
15
+ border-radius: ${(props) => `${props.$radius}px`};
16
+ width: ${(props) => `${props.$size}px`};
17
+ height: ${(props) => `${props.$size}px`};
18
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
19
+ &:before {
20
+ content: "";
21
+ z-index: 1;
22
+ position: absolute;
23
+ inset: 0;
24
+ border-radius: inherit;
25
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.02);
26
+ }
27
+ ${(props) => {
28
+ if (props.$seed) {
29
+ const id = Math.ceil(addressToNumber(props.$seed) * 8);
30
+ const ensColor = `0${id === 0 ? 1 : id}`;
31
+ return css`
32
+ background: var(--ck-ens-${ensColor}-start);
33
+ background: linear-gradient(
34
+ 180deg,
35
+ var(--ck-ens-${ensColor}-start) 0%,
36
+ var(--ck-ens-${ensColor}-stop) 100%
37
+ );
38
+ `;
39
+ }
40
+ }}
41
+ `;
42
+ const ImageContainer = styled(motion.img)`
43
+ display: block;
44
+ position: relative;
45
+ width: 100%;
46
+ height: 100%;
47
+ opacity: ${(props) => props.$loaded ? 1 : 0};
48
+ will-change: opacity; // Needed for Safari
49
+ transition: opacity 500ms ease;
50
+ transform: scale(1.01); // fixes background color bleeding
51
+ `;
52
+
53
+ export { EnsAvatar, ImageContainer };
54
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../src/components/Common/Avatar/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { css } from \"styled-components\";\nimport styled from \"./../../../styles/styled\";\n\nfunction addressToNumber(address: string) {\n return (\n (address\n .split(\"\")\n .map((l) => l.charCodeAt(0))\n .reduce((a, b) => a + b) %\n 100) /\n 100\n );\n}\n\nexport const EnsAvatar = styled(motion.div)<{\n $seed?: string;\n $size?: number;\n $radius?: number;\n}>`\n will-change: transform; // Needed for Safari\n pointer-events: none;\n user-select: none;\n position: relative;\n overflow: hidden;\n margin: 0;\n border-radius: ${(props) => `${props.$radius}px`};\n width: ${(props) => `${props.$size}px`};\n height: ${(props) => `${props.$size}px`};\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);\n &:before {\n content: \"\";\n z-index: 1;\n position: absolute;\n inset: 0;\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.02);\n }\n ${(props) => {\n if (props.$seed) {\n const id = Math.ceil(addressToNumber(props.$seed) * 8);\n const ensColor = `0${id === 0 ? 1 : id}`; // No zero ID in ENS color list.. 🤷‍♀️\n return css`\n background: var(--ck-ens-${ensColor}-start);\n background: linear-gradient(\n 180deg,\n var(--ck-ens-${ensColor}-start) 0%,\n var(--ck-ens-${ensColor}-stop) 100%\n );\n `;\n }\n }}\n`;\n\nexport const ImageContainer = styled(motion.img)<{ $loaded: boolean }>`\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n opacity: ${(props) => (props.$loaded ? 1 : 0)};\n will-change: opacity; // Needed for Safari\n transition: opacity 500ms ease;\n transform: scale(1.01); // fixes background color bleeding\n`;\n"],"names":[],"mappings":";;;;AAIA,SAAS,gBAAgB,OAAiB,EAAA;AACxC,EAAA,OACG,QACE,KAAM,CAAA,EAAE,EACR,GAAI,CAAA,CAAC,MAAM,CAAE,CAAA,UAAA,CAAW,CAAC,CAAC,CAAA,CAC1B,OAAO,CAAC,CAAA,EAAG,MAAM,CAAI,GAAA,CAAC,IACvB,GACF,GAAA,GAAA,CAAA;AAEJ,CAAA;AAEa,MAAA,SAAA,GAAY,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAA,EAWvB,CAAC,KAAA,KAAU,CAAG,EAAA,KAAA,CAAM,OAAO,CAAI,EAAA,CAAA,CAAA;AAAA,SAAA,EACvC,CAAC,KAAA,KAAU,CAAG,EAAA,KAAA,CAAM,KAAK,CAAI,EAAA,CAAA,CAAA;AAAA,UAAA,EAC5B,CAAC,KAAA,KAAU,CAAG,EAAA,KAAA,CAAM,KAAK,CAAI,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,EAUrC,CAAC,KAAU,KAAA;AACX,EAAA,IAAI,MAAM,KAAO,EAAA;AACf,IAAA,MAAM,KAAK,IAAK,CAAA,IAAA,CAAK,gBAAgB,KAAM,CAAA,KAAK,IAAI,CAAC,CAAA,CAAA;AACrD,IAAA,MAAM,QAAW,GAAA,CAAA,CAAA,EAAI,EAAO,KAAA,CAAA,GAAI,IAAI,EAAE,CAAA,CAAA,CAAA;AACtC,IAAO,OAAA,GAAA,CAAA;AAAA,iCAAA,EACsB,QAAQ,CAAA;AAAA;AAAA;AAAA,uBAAA,EAGlB,QAAQ,CAAA;AAAA,uBAAA,EACR,QAAQ,CAAA;AAAA;AAAA,MAAA,CAAA,CAAA;AAAA,GAG7B;AACF,CAAC,CAAA;AAAA,EAAA;AAGU,MAAA,cAAA,GAAiB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAAA,EAKlC,CAAC,KAAA,KAAW,KAAM,CAAA,OAAA,GAAU,IAAI,CAAE,CAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -0,0 +1,29 @@
1
+ import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import React from 'react';
3
+ import { BrowserIconContainer } from './styles.js';
4
+ import browsers from '../../../assets/browsers.js';
5
+ import { detectBrowser } from '../../../utils/index.js';
6
+
7
+ const BrowserIcon = React.forwardRef(
8
+ ({ browser }, ref) => {
9
+ const currentBrowser = browser ?? detectBrowser();
10
+ let icon;
11
+ switch (currentBrowser) {
12
+ case "chrome":
13
+ icon = browsers.Chrome;
14
+ break;
15
+ case "firefox":
16
+ icon = browsers.FireFox;
17
+ break;
18
+ case "edge":
19
+ icon = browsers.Edge;
20
+ break;
21
+ }
22
+ if (!icon) return /* @__PURE__ */ jsx(Fragment, {});
23
+ return /* @__PURE__ */ jsx(BrowserIconContainer, { children: icon });
24
+ }
25
+ );
26
+ BrowserIcon.displayName = "BrowserIcon";
27
+
28
+ export { BrowserIcon as default };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Common/BrowserIcon/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { BrowserIconContainer } from \"./styles\";\nimport { BrowserIconProps } from \"./types\";\n\nimport browsers from \"../../../assets/browsers\";\nimport { detectBrowser } from \"../../../utils\";\n\nconst BrowserIcon = React.forwardRef(\n ({ browser }: BrowserIconProps, ref: React.Ref<HTMLElement>) => {\n const currentBrowser = browser ?? detectBrowser();\n\n let icon;\n switch (currentBrowser) {\n case \"chrome\":\n icon = browsers.Chrome;\n break;\n case \"firefox\":\n icon = browsers.FireFox;\n break;\n case \"edge\":\n icon = browsers.Edge;\n break;\n case \"brave\":\n // icon = browsers.Brave;\n break;\n }\n if (!icon) return <></>;\n return <BrowserIconContainer>{icon}</BrowserIconContainer>;\n },\n);\nBrowserIcon.displayName = \"BrowserIcon\";\n\nexport default BrowserIcon;\n"],"names":[],"mappings":";;;;;;AAQA,MAAM,cAAc,KAAM,CAAA,UAAA;AAAA,EACxB,CAAC,EAAE,OAAQ,EAAA,EAAqB,GAAgC,KAAA;AAC9D,IAAM,MAAA,cAAA,GAAiB,WAAW,aAAc,EAAA,CAAA;AAEhD,IAAI,IAAA,IAAA,CAAA;AACJ,IAAA,QAAQ,cAAgB;AAAA,MACtB,KAAK,QAAA;AACH,QAAA,IAAA,GAAO,QAAS,CAAA,MAAA,CAAA;AAChB,QAAA,MAAA;AAAA,MACF,KAAK,SAAA;AACH,QAAA,IAAA,GAAO,QAAS,CAAA,OAAA,CAAA;AAChB,QAAA,MAAA;AAAA,MACF,KAAK,MAAA;AACH,QAAA,IAAA,GAAO,QAAS,CAAA,IAAA,CAAA;AAChB,QAAA,MAAA;AAGA,KACJ;AACA,IAAI,IAAA,CAAC,IAAM,EAAA,uBAAS,GAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACpB,IAAO,uBAAA,GAAA,CAAC,wBAAsB,QAAK,EAAA,IAAA,EAAA,CAAA,CAAA;AAAA,GACrC;AACF,EAAA;AACA,WAAA,CAAY,WAAc,GAAA,aAAA;;;;"}
@@ -0,0 +1,20 @@
1
+ import { motion } from 'framer-motion';
2
+ import styled from '../../../styles/styled/index.js';
3
+
4
+ const BrowserIconContainer = styled(motion.div)`
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ max-width: 32px;
9
+ max-height: 32px;
10
+ width: 100%;
11
+ height: 100%;
12
+ svg {
13
+ display: block;
14
+ width: 100%;
15
+ height: 100%;
16
+ }
17
+ `;
18
+
19
+ export { BrowserIconContainer };
20
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../../../src/components/Common/BrowserIcon/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport styled from \"./../../../styles/styled\";\n\nexport const BrowserIconContainer = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: 32px;\n max-height: 32px;\n width: 100%;\n height: 100%;\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\n"],"names":[],"mappings":";;;AAGa,MAAA,oBAAA,GAAuB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}