@daimo/pay 1.19.10 → 1.19.11

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 (366) hide show
  1. package/package.json +2 -2
  2. package/build/index.d.ts +0 -619
  3. package/build/package.json.js +0 -118
  4. package/build/package.json.js.map +0 -1
  5. package/build/src/assets/MobileWithLogos.js +0 -329
  6. package/build/src/assets/MobileWithLogos.js.map +0 -1
  7. package/build/src/assets/ScanIconWithLogos.js +0 -243
  8. package/build/src/assets/ScanIconWithLogos.js.map +0 -1
  9. package/build/src/assets/browsers.js +0 -969
  10. package/build/src/assets/browsers.js.map +0 -1
  11. package/build/src/assets/chains.js +0 -683
  12. package/build/src/assets/chains.js.map +0 -1
  13. package/build/src/assets/icons.js +0 -273
  14. package/build/src/assets/icons.js.map +0 -1
  15. package/build/src/assets/logos.js +0 -1694
  16. package/build/src/assets/logos.js.map +0 -1
  17. package/build/src/assets/wave.js +0 -46
  18. package/build/src/assets/wave.js.map +0 -1
  19. package/build/src/components/Common/Alert/index.js +0 -13
  20. package/build/src/components/Common/Alert/index.js.map +0 -1
  21. package/build/src/components/Common/Alert/styles.js +0 -55
  22. package/build/src/components/Common/Alert/styles.js.map +0 -1
  23. package/build/src/components/Common/AmountInput/AmountInputField.js +0 -62
  24. package/build/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
  25. package/build/src/components/Common/AmountInput/index.js +0 -166
  26. package/build/src/components/Common/AmountInput/index.js.map +0 -1
  27. package/build/src/components/Common/Avatar/index.js +0 -78
  28. package/build/src/components/Common/Avatar/index.js.map +0 -1
  29. package/build/src/components/Common/Avatar/styles.js +0 -54
  30. package/build/src/components/Common/Avatar/styles.js.map +0 -1
  31. package/build/src/components/Common/BrowserIcon/index.js +0 -29
  32. package/build/src/components/Common/BrowserIcon/index.js.map +0 -1
  33. package/build/src/components/Common/BrowserIcon/styles.js +0 -20
  34. package/build/src/components/Common/BrowserIcon/styles.js.map +0 -1
  35. package/build/src/components/Common/Button/index.js +0 -144
  36. package/build/src/components/Common/Button/index.js.map +0 -1
  37. package/build/src/components/Common/Button/styles.js +0 -287
  38. package/build/src/components/Common/Button/styles.js.map +0 -1
  39. package/build/src/components/Common/Chain/index.js +0 -141
  40. package/build/src/components/Common/Chain/index.js.map +0 -1
  41. package/build/src/components/Common/Chain/styles.js +0 -90
  42. package/build/src/components/Common/Chain/styles.js.map +0 -1
  43. package/build/src/components/Common/ChainSelectList/index.js +0 -250
  44. package/build/src/components/Common/ChainSelectList/index.js.map +0 -1
  45. package/build/src/components/Common/ChainSelectList/styles.js +0 -226
  46. package/build/src/components/Common/ChainSelectList/styles.js.map +0 -1
  47. package/build/src/components/Common/CircleTimer.js +0 -92
  48. package/build/src/components/Common/CircleTimer.js.map +0 -1
  49. package/build/src/components/Common/ConnectorList/index.js +0 -121
  50. package/build/src/components/Common/ConnectorList/index.js.map +0 -1
  51. package/build/src/components/Common/ConnectorList/styles.js +0 -344
  52. package/build/src/components/Common/ConnectorList/styles.js.map +0 -1
  53. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -78
  54. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
  55. package/build/src/components/Common/CustomQRCode/QRCode.js +0 -132
  56. package/build/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
  57. package/build/src/components/Common/CustomQRCode/index.js +0 -89
  58. package/build/src/components/Common/CustomQRCode/index.js.map +0 -1
  59. package/build/src/components/Common/CustomQRCode/styles.js +0 -142
  60. package/build/src/components/Common/CustomQRCode/styles.js.map +0 -1
  61. package/build/src/components/Common/FitText/index.js +0 -34
  62. package/build/src/components/Common/FitText/index.js.map +0 -1
  63. package/build/src/components/Common/Modal/index.js +0 -558
  64. package/build/src/components/Common/Modal/index.js.map +0 -1
  65. package/build/src/components/Common/Modal/styles.js +0 -665
  66. package/build/src/components/Common/Modal/styles.js.map +0 -1
  67. package/build/src/components/Common/OptionsList/index.js +0 -145
  68. package/build/src/components/Common/OptionsList/index.js.map +0 -1
  69. package/build/src/components/Common/OptionsList/styles.js +0 -138
  70. package/build/src/components/Common/OptionsList/styles.js.map +0 -1
  71. package/build/src/components/Common/OrderHeader/index.js +0 -148
  72. package/build/src/components/Common/OrderHeader/index.js.map +0 -1
  73. package/build/src/components/Common/PaymentBreakdown/index.js +0 -70
  74. package/build/src/components/Common/PaymentBreakdown/index.js.map +0 -1
  75. package/build/src/components/Common/Portal/index.js +0 -30
  76. package/build/src/components/Common/Portal/index.js.map +0 -1
  77. package/build/src/components/Common/PoweredByFooter/index.js +0 -39
  78. package/build/src/components/Common/PoweredByFooter/index.js.map +0 -1
  79. package/build/src/components/Common/ScrollArea/index.js +0 -120
  80. package/build/src/components/Common/ScrollArea/index.js.map +0 -1
  81. package/build/src/components/Common/ScrollArea/styles.js +0 -169
  82. package/build/src/components/Common/ScrollArea/styles.js.map +0 -1
  83. package/build/src/components/Common/SelectAnotherMethodButton/index.js +0 -96
  84. package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +0 -1
  85. package/build/src/components/Common/Spinner/index.js +0 -64
  86. package/build/src/components/Common/Spinner/index.js.map +0 -1
  87. package/build/src/components/Common/Spinner/styles.js +0 -22
  88. package/build/src/components/Common/Spinner/styles.js.map +0 -1
  89. package/build/src/components/Common/SwitchButton/index.js +0 -43
  90. package/build/src/components/Common/SwitchButton/index.js.map +0 -1
  91. package/build/src/components/Common/ThemedButton/index.js +0 -46
  92. package/build/src/components/Common/ThemedButton/index.js.map +0 -1
  93. package/build/src/components/Common/ThemedButton/styles.js +0 -152
  94. package/build/src/components/Common/ThemedButton/styles.js.map +0 -1
  95. package/build/src/components/Common/TokenChainLogo/index.js +0 -62
  96. package/build/src/components/Common/TokenChainLogo/index.js.map +0 -1
  97. package/build/src/components/Common/Tooltip/index.js +0 -129
  98. package/build/src/components/Common/Tooltip/index.js.map +0 -1
  99. package/build/src/components/Common/Tooltip/styles.js +0 -81
  100. package/build/src/components/Common/Tooltip/styles.js.map +0 -1
  101. package/build/src/components/Common/WalletChainLogo/index.js +0 -31
  102. package/build/src/components/Common/WalletChainLogo/index.js.map +0 -1
  103. package/build/src/components/DaimoPayButton/index.js +0 -196
  104. package/build/src/components/DaimoPayButton/index.js.map +0 -1
  105. package/build/src/components/DaimoPayButton/styles.js +0 -50
  106. package/build/src/components/DaimoPayButton/styles.js.map +0 -1
  107. package/build/src/components/DaimoPayModal/ConnectUsing.js +0 -70
  108. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
  109. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -339
  110. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
  111. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -131
  112. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
  113. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -89
  114. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
  115. package/build/src/components/DaimoPayModal/index.js +0 -605
  116. package/build/src/components/DaimoPayModal/index.js.map +0 -1
  117. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -25
  118. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
  119. package/build/src/components/Pages/About/graphics.js +0 -853
  120. package/build/src/components/Pages/About/graphics.js.map +0 -1
  121. package/build/src/components/Pages/About/index.js +0 -222
  122. package/build/src/components/Pages/About/index.js.map +0 -1
  123. package/build/src/components/Pages/About/styles.js +0 -140
  124. package/build/src/components/Pages/About/styles.js.map +0 -1
  125. package/build/src/components/Pages/Confirmation/index.js +0 -126
  126. package/build/src/components/Pages/Confirmation/index.js.map +0 -1
  127. package/build/src/components/Pages/Connectors/index.js +0 -26
  128. package/build/src/components/Pages/Connectors/index.js.map +0 -1
  129. package/build/src/components/Pages/Error/index.js +0 -57
  130. package/build/src/components/Pages/Error/index.js.map +0 -1
  131. package/build/src/components/Pages/MobileConnectors/index.js +0 -108
  132. package/build/src/components/Pages/MobileConnectors/index.js.map +0 -1
  133. package/build/src/components/Pages/MobileConnectors/styles.js +0 -64
  134. package/build/src/components/Pages/MobileConnectors/styles.js.map +0 -1
  135. package/build/src/components/Pages/Onboarding/index.js +0 -34
  136. package/build/src/components/Pages/Onboarding/index.js.map +0 -1
  137. package/build/src/components/Pages/Onboarding/styles.js +0 -229
  138. package/build/src/components/Pages/Onboarding/styles.js.map +0 -1
  139. package/build/src/components/Pages/PayWithToken/index.js +0 -157
  140. package/build/src/components/Pages/PayWithToken/index.js.map +0 -1
  141. package/build/src/components/Pages/SelectAmount/index.js +0 -24
  142. package/build/src/components/Pages/SelectAmount/index.js.map +0 -1
  143. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +0 -79
  144. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
  145. package/build/src/components/Pages/SelectDepositAddressChain/index.js +0 -80
  146. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
  147. package/build/src/components/Pages/SelectExchange/index.js +0 -62
  148. package/build/src/components/Pages/SelectExchange/index.js.map +0 -1
  149. package/build/src/components/Pages/SelectExternalAmount/index.js +0 -80
  150. package/build/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
  151. package/build/src/components/Pages/SelectMethod/index.js +0 -315
  152. package/build/src/components/Pages/SelectMethod/index.js.map +0 -1
  153. package/build/src/components/Pages/SelectToken/index.js +0 -99
  154. package/build/src/components/Pages/SelectToken/index.js.map +0 -1
  155. package/build/src/components/Pages/SelectWalletAmount/index.js +0 -71
  156. package/build/src/components/Pages/SelectWalletAmount/index.js.map +0 -1
  157. package/build/src/components/Pages/SelectWalletChain/index.js +0 -55
  158. package/build/src/components/Pages/SelectWalletChain/index.js.map +0 -1
  159. package/build/src/components/Pages/SelectZKP/index.js +0 -41
  160. package/build/src/components/Pages/SelectZKP/index.js.map +0 -1
  161. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +0 -94
  162. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
  163. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -92
  164. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
  165. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -24
  166. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
  167. package/build/src/components/Pages/SwitchNetworks/index.js +0 -45
  168. package/build/src/components/Pages/SwitchNetworks/index.js.map +0 -1
  169. package/build/src/components/Pages/WaitingDepositAddress/index.js +0 -586
  170. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
  171. package/build/src/components/Pages/WaitingExternal/index.js +0 -174
  172. package/build/src/components/Pages/WaitingExternal/index.js.map +0 -1
  173. package/build/src/components/Pages/WaitingWallet/index.js +0 -49
  174. package/build/src/components/Pages/WaitingWallet/index.js.map +0 -1
  175. package/build/src/components/Pages/Warning/index.js +0 -56
  176. package/build/src/components/Pages/Warning/index.js.map +0 -1
  177. package/build/src/components/Spinners/CircleSpinner/index.js +0 -104
  178. package/build/src/components/Spinners/CircleSpinner/index.js.map +0 -1
  179. package/build/src/components/Spinners/CircleSpinner/styles.js +0 -117
  180. package/build/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
  181. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -29
  182. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
  183. package/build/src/components/Spinners/SquircleSpinner/index.js +0 -68
  184. package/build/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
  185. package/build/src/components/Spinners/SquircleSpinner/styles.js +0 -66
  186. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
  187. package/build/src/components/Spinners/TokenLogoSpinner/index.js +0 -24
  188. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
  189. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
  190. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
  191. package/build/src/components/Spinners/WalletPaymentSpinner/index.js +0 -37
  192. package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +0 -1
  193. package/build/src/components/Spinners/styles.js +0 -32
  194. package/build/src/components/Spinners/styles.js.map +0 -1
  195. package/build/src/constants/defaultTheme.js +0 -6
  196. package/build/src/constants/defaultTheme.js.map +0 -1
  197. package/build/src/constants/limits.js +0 -4
  198. package/build/src/constants/limits.js.map +0 -1
  199. package/build/src/constants/paymentOptions.js +0 -61
  200. package/build/src/constants/paymentOptions.js.map +0 -1
  201. package/build/src/constants/routes.js +0 -31
  202. package/build/src/constants/routes.js.map +0 -1
  203. package/build/src/constants/wallets.js +0 -7
  204. package/build/src/constants/wallets.js.map +0 -1
  205. package/build/src/defaultConfig.js +0 -66
  206. package/build/src/defaultConfig.js.map +0 -1
  207. package/build/src/defaultConnectors.js +0 -37
  208. package/build/src/defaultConnectors.js.map +0 -1
  209. package/build/src/hooks/useChainIsSupported.js +0 -10
  210. package/build/src/hooks/useChainIsSupported.js.map +0 -1
  211. package/build/src/hooks/useChains.js +0 -10
  212. package/build/src/hooks/useChains.js.map +0 -1
  213. package/build/src/hooks/useConnect.js +0 -61
  214. package/build/src/hooks/useConnect.js.map +0 -1
  215. package/build/src/hooks/useConnectCallback.js +0 -21
  216. package/build/src/hooks/useConnectCallback.js.map +0 -1
  217. package/build/src/hooks/useConnectors.js +0 -20
  218. package/build/src/hooks/useConnectors.js.map +0 -1
  219. package/build/src/hooks/useDaimoPay.js +0 -131
  220. package/build/src/hooks/useDaimoPay.js.map +0 -1
  221. package/build/src/hooks/useDaimoPayStatus.js +0 -12
  222. package/build/src/hooks/useDaimoPayStatus.js.map +0 -1
  223. package/build/src/hooks/useDaimoPayUI.js +0 -15
  224. package/build/src/hooks/useDaimoPayUI.js.map +0 -1
  225. package/build/src/hooks/useEnsFallbackConfig.js +0 -16
  226. package/build/src/hooks/useEnsFallbackConfig.js.map +0 -1
  227. package/build/src/hooks/useFitText.js +0 -133
  228. package/build/src/hooks/useFitText.js.map +0 -1
  229. package/build/src/hooks/useFocusTrap.js +0 -53
  230. package/build/src/hooks/useFocusTrap.js.map +0 -1
  231. package/build/src/hooks/useIsMobile.js +0 -11
  232. package/build/src/hooks/useIsMobile.js.map +0 -1
  233. package/build/src/hooks/useIsMounted.js +0 -10
  234. package/build/src/hooks/useIsMounted.js.map +0 -1
  235. package/build/src/hooks/useLastConnector.js +0 -24
  236. package/build/src/hooks/useLastConnector.js.map +0 -1
  237. package/build/src/hooks/useLocales.js +0 -60
  238. package/build/src/hooks/useLocales.js.map +0 -1
  239. package/build/src/hooks/useLockBodyScroll.js +0 -47
  240. package/build/src/hooks/useLockBodyScroll.js.map +0 -1
  241. package/build/src/hooks/useOrderUsdLimits.js +0 -24
  242. package/build/src/hooks/useOrderUsdLimits.js.map +0 -1
  243. package/build/src/hooks/usePayContext.js +0 -11
  244. package/build/src/hooks/usePayContext.js.map +0 -1
  245. package/build/src/hooks/usePaymentOptions.js +0 -185
  246. package/build/src/hooks/usePaymentOptions.js.map +0 -1
  247. package/build/src/hooks/usePaymentState.js +0 -399
  248. package/build/src/hooks/usePaymentState.js.map +0 -1
  249. package/build/src/hooks/usePrevious.js +0 -13
  250. package/build/src/hooks/usePrevious.js.map +0 -1
  251. package/build/src/hooks/useTokenOptions.js +0 -156
  252. package/build/src/hooks/useTokenOptions.js.map +0 -1
  253. package/build/src/hooks/useUntronAvailability.js +0 -32
  254. package/build/src/hooks/useUntronAvailability.js.map +0 -1
  255. package/build/src/hooks/useWindowSize.js +0 -23
  256. package/build/src/hooks/useWindowSize.js.map +0 -1
  257. package/build/src/index.js +0 -14
  258. package/build/src/index.js.map +0 -1
  259. package/build/src/localizations/index.js +0 -48
  260. package/build/src/localizations/index.js.map +0 -1
  261. package/build/src/localizations/locales/ar-AE.js +0 -95
  262. package/build/src/localizations/locales/ar-AE.js.map +0 -1
  263. package/build/src/localizations/locales/ca-AD.js +0 -93
  264. package/build/src/localizations/locales/ca-AD.js.map +0 -1
  265. package/build/src/localizations/locales/ee-EE.js +0 -101
  266. package/build/src/localizations/locales/ee-EE.js.map +0 -1
  267. package/build/src/localizations/locales/en-US.js +0 -145
  268. package/build/src/localizations/locales/en-US.js.map +0 -1
  269. package/build/src/localizations/locales/es-ES.js +0 -138
  270. package/build/src/localizations/locales/es-ES.js.map +0 -1
  271. package/build/src/localizations/locales/fa-IR.js +0 -93
  272. package/build/src/localizations/locales/fa-IR.js.map +0 -1
  273. package/build/src/localizations/locales/fr-FR.js +0 -93
  274. package/build/src/localizations/locales/fr-FR.js.map +0 -1
  275. package/build/src/localizations/locales/ja-JP.js +0 -93
  276. package/build/src/localizations/locales/ja-JP.js.map +0 -1
  277. package/build/src/localizations/locales/pt-BR.js +0 -145
  278. package/build/src/localizations/locales/pt-BR.js.map +0 -1
  279. package/build/src/localizations/locales/ru-RU.js +0 -97
  280. package/build/src/localizations/locales/ru-RU.js.map +0 -1
  281. package/build/src/localizations/locales/tr-TR.js +0 -101
  282. package/build/src/localizations/locales/tr-TR.js.map +0 -1
  283. package/build/src/localizations/locales/vi-VN.js +0 -101
  284. package/build/src/localizations/locales/vi-VN.js.map +0 -1
  285. package/build/src/localizations/locales/zh-CN.js +0 -93
  286. package/build/src/localizations/locales/zh-CN.js.map +0 -1
  287. package/build/src/payment/paymentEffects.js +0 -270
  288. package/build/src/payment/paymentEffects.js.map +0 -1
  289. package/build/src/payment/paymentFsm.js +0 -234
  290. package/build/src/payment/paymentFsm.js.map +0 -1
  291. package/build/src/payment/paymentStore.js +0 -18
  292. package/build/src/payment/paymentStore.js.map +0 -1
  293. package/build/src/payment/paymentUtils.js +0 -10
  294. package/build/src/payment/paymentUtils.js.map +0 -1
  295. package/build/src/provider/DaimoPayProvider.js +0 -300
  296. package/build/src/provider/DaimoPayProvider.js.map +0 -1
  297. package/build/src/provider/PayContext.js +0 -6
  298. package/build/src/provider/PayContext.js.map +0 -1
  299. package/build/src/provider/PaymentProvider.js +0 -35
  300. package/build/src/provider/PaymentProvider.js.map +0 -1
  301. package/build/src/provider/SolanaContextProvider.js +0 -14
  302. package/build/src/provider/SolanaContextProvider.js.map +0 -1
  303. package/build/src/provider/Web3ContextProvider.js +0 -36
  304. package/build/src/provider/Web3ContextProvider.js.map +0 -1
  305. package/build/src/stateStore.js +0 -36
  306. package/build/src/stateStore.js.map +0 -1
  307. package/build/src/styles/defaultTheme.js +0 -80
  308. package/build/src/styles/defaultTheme.js.map +0 -1
  309. package/build/src/styles/index.js +0 -313
  310. package/build/src/styles/index.js.map +0 -1
  311. package/build/src/styles/styled/index.js +0 -6
  312. package/build/src/styles/styled/index.js.map +0 -1
  313. package/build/src/styles/themes/base.js +0 -141
  314. package/build/src/styles/themes/base.js.map +0 -1
  315. package/build/src/styles/themes/index.js +0 -13
  316. package/build/src/styles/themes/index.js.map +0 -1
  317. package/build/src/styles/themes/midnight.js +0 -76
  318. package/build/src/styles/themes/midnight.js.map +0 -1
  319. package/build/src/styles/themes/minimal.js +0 -96
  320. package/build/src/styles/themes/minimal.js.map +0 -1
  321. package/build/src/styles/themes/nouns.js +0 -81
  322. package/build/src/styles/themes/nouns.js.map +0 -1
  323. package/build/src/styles/themes/retro.js +0 -106
  324. package/build/src/styles/themes/retro.js.map +0 -1
  325. package/build/src/styles/themes/rounded.js +0 -106
  326. package/build/src/styles/themes/rounded.js.map +0 -1
  327. package/build/src/styles/themes/soft.js +0 -71
  328. package/build/src/styles/themes/soft.js.map +0 -1
  329. package/build/src/styles/themes/web95.js +0 -132
  330. package/build/src/styles/themes/web95.js.map +0 -1
  331. package/build/src/utils/exports.js +0 -6
  332. package/build/src/utils/exports.js.map +0 -1
  333. package/build/src/utils/format.js +0 -48
  334. package/build/src/utils/format.js.map +0 -1
  335. package/build/src/utils/index.js +0 -42
  336. package/build/src/utils/index.js.map +0 -1
  337. package/build/src/utils/p3.js +0 -15
  338. package/build/src/utils/p3.js.map +0 -1
  339. package/build/src/utils/platform.js +0 -11
  340. package/build/src/utils/platform.js.map +0 -1
  341. package/build/src/utils/polling.js +0 -44
  342. package/build/src/utils/polling.js.map +0 -1
  343. package/build/src/utils/supportUrl.js +0 -16
  344. package/build/src/utils/supportUrl.js.map +0 -1
  345. package/build/src/utils/trpc.js +0 -19
  346. package/build/src/utils/trpc.js.map +0 -1
  347. package/build/src/utils/validateInput.js +0 -16
  348. package/build/src/utils/validateInput.js.map +0 -1
  349. package/build/src/wallets/index.js +0 -21
  350. package/build/src/wallets/index.js.map +0 -1
  351. package/build/src/wallets/useWallets.js +0 -278
  352. package/build/src/wallets/useWallets.js.map +0 -1
  353. package/build/src/wallets/walletConfigs.js +0 -190
  354. package/build/src/wallets/walletConfigs.js.map +0 -1
  355. package/build/src/world-mini-app/WorldPayButton.js +0 -165
  356. package/build/src/world-mini-app/WorldPayButton.js.map +0 -1
  357. package/build/src/world-mini-app/promptWorldPayment.js +0 -59
  358. package/build/src/world-mini-app/promptWorldPayment.js.map +0 -1
  359. package/build/src/world-mini-app/useWithdrawToWorld.js +0 -76
  360. package/build/src/world-mini-app/useWithdrawToWorld.js.map +0 -1
  361. package/build/src/world-mini-app/useWorldSignIn.js +0 -74
  362. package/build/src/world-mini-app/useWorldSignIn.js.map +0 -1
  363. package/build/src/world.js +0 -4
  364. package/build/src/world.js.map +0 -1
  365. package/build/types-26343050.d.ts +0 -65
  366. package/build/world.d.ts +0 -108
@@ -1 +0,0 @@
1
- {"version":3,"file":"wave.js","sources":["../../../src/assets/wave.tsx"],"sourcesContent":["export default (\n <svg\n aria-hidden=\"true\"\n width=\"298\"\n height=\"188\"\n viewBox=\"0 0 298 188\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1 55.2757L21.6438 46.0285C55.5896 30.8228 94.4104 30.8228 128.356 46.0286L169.644 64.5229C203.59 79.7287 242.41 79.7286 276.356 64.5229L297 55.2757M1 44.2118L21.6438 34.9646C55.5896 19.7589 94.4104 19.7589 128.356 34.9646L169.644 53.459C203.59 68.6647 242.41 68.6647 276.356 53.459L297 44.2118M1 33.1477L21.6438 23.9005C55.5896 8.69479 94.4104 8.69479 128.356 23.9005L169.644 42.3949C203.59 57.6006 242.41 57.6006 276.356 42.3949L297 33.1477M1 22.1477L21.6438 12.9005C55.5896 -2.30521 94.4104 -2.30521 128.356 12.9005L169.644 31.3949C203.59 46.6006 242.41 46.6006 276.356 31.3949L297 22.1477M1 66.3398L21.6438 57.0926C55.5896 41.8869 94.4104 41.8869 128.356 57.0926L169.644 75.587C203.59 90.7927 242.41 90.7927 276.356 75.587L297 66.3398M1 77.404L21.6438 68.1568C55.5896 52.9511 94.4104 52.9511 128.356 68.1569L169.644 86.6512C203.59 101.857 242.41 101.857 276.356 86.6512L297 77.404M1 88.4681L21.6438 79.2209C55.5896 64.0152 94.4104 64.0152 128.356 79.2209L169.644 97.7153C203.59 112.921 242.41 112.921 276.356 97.7153L297 88.4681M1 121.66L21.6438 112.413C55.5896 97.2075 94.4104 97.2075 128.356 112.413L169.644 130.908C203.59 146.113 242.41 146.113 276.356 130.908L297 121.66M1 110.596L21.6438 101.349C55.5896 86.1433 94.4104 86.1433 128.356 101.349L169.644 119.843C203.59 135.049 242.41 135.049 276.356 119.843L297 110.596M1 99.5321L21.6438 90.2849C55.5896 75.0792 94.4104 75.0792 128.356 90.2849L169.644 108.779C203.59 123.985 242.41 123.985 276.356 108.779L297 99.5321M1 132.724L21.6438 123.477C55.5896 108.271 94.4104 108.271 128.356 123.477L169.644 141.971C203.59 157.177 242.41 157.177 276.356 141.971L297 132.724M1 143.788L21.6438 134.541C55.5896 119.336 94.4104 119.336 128.356 134.541L169.644 153.036C203.59 168.241 242.41 168.241 276.356 153.036L297 143.788M1 154.853L21.6438 145.605C55.5896 130.4 94.4104 130.4 128.356 145.605L169.644 164.1C203.59 179.305 242.41 179.305 276.356 164.1L297 154.853M1 165.853L21.6438 156.605C55.5896 141.4 94.4104 141.4 128.356 156.605L169.644 175.1C203.59 190.305 242.41 190.305 276.356 175.1L297 165.853\"\n stroke=\"url(#paint0_linear_1094_2077)\"\n strokeOpacity=\"0.9\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1094_2077\"\n x1=\"1\"\n y1=\"112.587\"\n x2=\"297.034\"\n y2=\"79.6111\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"var(--ck-graphic-wave-stop-01)\" />\n <stop stopColor=\"var(--ck-graphic-wave-stop-02)\" offset=\"0.239583\" />\n <stop stopColor=\"var(--ck-graphic-wave-stop-03)\" offset=\"0.515625\" />\n <stop stopColor=\"var(--ck-graphic-wave-stop-04)\" offset=\"0.739583\" />\n <stop stopColor=\"var(--ck-graphic-wave-stop-05)\" offset=\"1\" />\n </linearGradient>\n </defs>\n </svg>\n);\n"],"names":[],"mappings":";;AAAA,WACE,gBAAA,IAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,KAAM,EAAA,KAAA;AAAA,IACN,MAAO,EAAA,KAAA;AAAA,IACP,OAAQ,EAAA,aAAA;AAAA,IACR,IAAK,EAAA,MAAA;AAAA,IACL,KAAM,EAAA,4BAAA;AAAA,IAEN,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,CAAE,EAAA,ogEAAA;AAAA,UACF,MAAO,EAAA,+BAAA;AAAA,UACP,aAAc,EAAA,KAAA;AAAA,UACd,aAAc,EAAA,OAAA;AAAA,UACd,cAAe,EAAA,OAAA;AAAA,SAAA;AAAA,OACjB;AAAA,0BACC,MACC,EAAA,EAAA,QAAA,kBAAA,IAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,EAAG,EAAA,yBAAA;AAAA,UACH,EAAG,EAAA,GAAA;AAAA,UACH,EAAG,EAAA,SAAA;AAAA,UACH,EAAG,EAAA,SAAA;AAAA,UACH,EAAG,EAAA,SAAA;AAAA,UACH,aAAc,EAAA,gBAAA;AAAA,UAEd,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,MAAA,EAAA,EAAK,WAAU,gCAAiC,EAAA,CAAA;AAAA,4BAChD,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAiC,QAAO,UAAW,EAAA,CAAA;AAAA,4BAClE,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAiC,QAAO,UAAW,EAAA,CAAA;AAAA,4BAClE,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAiC,QAAO,UAAW,EAAA,CAAA;AAAA,4BAClE,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAiC,QAAO,GAAI,EAAA,CAAA;AAAA,WAAA;AAAA,SAAA;AAAA,OAEhE,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AACF,CAAA;;;;"}
@@ -1,13 +0,0 @@
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
@@ -1 +0,0 @@
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;;;;"}
@@ -1,55 +0,0 @@
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
@@ -1 +0,0 @@
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;;;;"}
@@ -1,62 +0,0 @@
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 Currency = styled(ModalBody)`
33
- font-size: ${(props) => props.$small ? "16px" : "24px"};
34
- `;
35
- const AmountInputField = ({ value, onChange, currency = "$", onKeyDown }) => {
36
- const inputRef = useRef(null);
37
- useEffect(() => {
38
- inputRef.current?.focus();
39
- }, [value]);
40
- useEffect(() => {
41
- inputRef.current?.select();
42
- }, [currency]);
43
- return /* @__PURE__ */ jsxs(Container, { children: [
44
- currency === "$" && /* @__PURE__ */ jsx(Currency, { children: currency }),
45
- /* @__PURE__ */ jsx(
46
- InputField,
47
- {
48
- ref: inputRef,
49
- type: "text",
50
- inputMode: "decimal",
51
- value,
52
- onChange,
53
- placeholder: "0.00",
54
- onKeyDown
55
- }
56
- ),
57
- currency !== "$" && /* @__PURE__ */ jsx(Currency, { $small: true, children: currency })
58
- ] });
59
- };
60
-
61
- export { AmountInputField as default };
62
- //# sourceMappingURL=AmountInputField.js.map
@@ -1 +0,0 @@
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 Currency = styled(ModalBody)<{ $small?: boolean }>`\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 // Select all text when switching between USD and token mode\n useEffect(() => {\n inputRef.current?.select();\n }, [currency]);\n\n return (\n <Container>\n {currency === \"$\" && <Currency>{currency}</Currency>}\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 !== \"$\" && <Currency $small>{currency}</Currency>}\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,QAAA,GAAW,OAAO,SAAS,CAAA,CAAA;AAAA,aAAA,EAClB,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;AAGV,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,SAAS,MAAO,EAAA,CAAA;AAAA,GAC3B,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EAAA,4BACG,SACE,EAAA,EAAA,QAAA,EAAA;AAAA,IAAa,QAAA,KAAA,GAAA,oBAAQ,GAAA,CAAA,QAAA,EAAA,EAAU,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,oBACzC,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,GAAO,oBAAA,GAAA,CAAC,QAAS,EAAA,EAAA,MAAA,EAAM,MAAE,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,GAClD,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -1,166 +0,0 @@
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, roundTokenAmount, roundUsd, USD_DECIMALS, tokenAmountToRoundedUsd, usdToRoundedTokenAmount, 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 isUsdStablecoin = balanceToken.fiatISO === "USD";
19
- const usdBalanceMessage = isUsdStablecoin ? `Balance: ${formatUsd(selectedTokenOption.balance.usd)}` : `Balance: ${formatUsd(selectedTokenOption.balance.usd)} ${balanceToken.symbol}`;
20
- const tokenBalanceMessage = `Balance: ${roundTokenAmount(selectedTokenOption.balance.amount, balanceToken)} ${balanceToken.symbol}`;
21
- const getBalanceMessage = (editingUsd) => editingUsd ? usdBalanceMessage : tokenBalanceMessage;
22
- const [usdStr, setUsdValue] = useState("");
23
- const [tokenStr, setTokenValue] = useState("");
24
- const [isEditingUsd, setIsEditingUsd] = useState(true);
25
- const [message, setMessage] = useState(usdBalanceMessage);
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
- const usdNum = Number(sanitizedUsdValue);
34
- const tokenNum = Number(sanitizedTokenValue);
35
- const stripTrailingZeros = (val) => val.includes(".") ? val.replace(/\.?0+$/, "") : val;
36
- setUsdValue(
37
- newIsEditingUsd ? newUsdValue : usdNum > 0 ? roundUsd(usdNum) : ""
38
- );
39
- setTokenValue(
40
- newIsEditingUsd ? tokenNum > 0 ? stripTrailingZeros(roundTokenAmountUnits(tokenNum, balanceToken)) : "" : newTokenValue
41
- );
42
- setIsEditingUsd(newIsEditingUsd);
43
- setContinueDisabled(
44
- usdNum <= 0 || usdNum < selectedTokenOption.minimumRequired.usd || usdNum > selectedTokenOption.balance.usd || usdNum > maxUsdLimit
45
- );
46
- const formatAmount = (usd) => newIsEditingUsd ? formatUsd(usd) : `${usdToRoundedTokenAmount(usd, balanceToken)} ${balanceToken.symbol}`;
47
- if (usdNum > selectedTokenOption.balance.usd) {
48
- setMessage(
49
- `Amount exceeds your balance: ${formatAmount(selectedTokenOption.balance.usd)}`
50
- );
51
- } else if (usdNum > maxUsdLimit) {
52
- setMessage(`Maximum ${formatAmount(maxUsdLimit)}`);
53
- } else if (usdNum > 0 && usdNum < selectedTokenOption.minimumRequired.usd) {
54
- setMessage(
55
- `Minimum ${formatAmount(selectedTokenOption.minimumRequired.usd)}`
56
- );
57
- } else {
58
- setMessage(getBalanceMessage(newIsEditingUsd));
59
- }
60
- };
61
- const handleAmountChange = (e) => {
62
- const value = e.target.value;
63
- const maxDecimals = isEditingUsd ? USD_DECIMALS : balanceToken.displayDecimals;
64
- if (value !== "" && !isValidNumber(value, maxDecimals)) return;
65
- const sanitizedValue = sanitizeNumber(value);
66
- const newUsdValue = isEditingUsd ? value : tokenAmountToRoundedUsd(
67
- parseUnits(sanitizedValue, balanceToken.decimals),
68
- balanceToken
69
- );
70
- const newTokenValue = isEditingUsd ? usdToRoundedTokenAmount(Number(sanitizedValue), balanceToken) : value;
71
- updateValues(newUsdValue, newTokenValue, isEditingUsd);
72
- };
73
- const handleMax = () => {
74
- const usdStr2 = roundUsd(Number(selectedTokenOption.balance.usd));
75
- const tokenStr2 = roundTokenAmount(
76
- selectedTokenOption.balance.amount,
77
- balanceToken
78
- );
79
- updateValues(usdStr2, tokenStr2, isEditingUsd);
80
- };
81
- const handleKeyDown = (e) => {
82
- if (e.key === "Enter" && !continueDisabled) {
83
- handleContinue();
84
- }
85
- };
86
- const handleSwitchCurrency = () => {
87
- updateValues(usdStr, tokenStr, !isEditingUsd);
88
- };
89
- const handleContinue = () => {
90
- const usd = Number(sanitizeNumber(usdStr));
91
- const amountUnits = usd / balanceToken.usd;
92
- const amount = parseUnits(amountUnits.toString(), balanceToken.decimals);
93
- setSelectedTokenOption({
94
- ...selectedTokenOption,
95
- required: {
96
- token: balanceToken,
97
- amount: amount.toString(),
98
- usd
99
- }
100
- });
101
- paymentState.setChosenUsd(usd);
102
- setRoute(nextPage, {
103
- amountUsd: usd,
104
- amountUnits,
105
- tokenSymbol: balanceToken.symbol
106
- });
107
- };
108
- return /* @__PURE__ */ jsxs(PageContent, { children: [
109
- /* @__PURE__ */ jsx(TokenLogoSpinner, { token: balanceToken }),
110
- /* @__PURE__ */ jsxs(ModalContent, { $preserveDisplay: true, children: [
111
- /* @__PURE__ */ jsxs(AmountInputContainer, { children: [
112
- /* @__PURE__ */ jsx(MaxButton, { style: { visibility: "hidden" }, children: "Max" }),
113
- /* @__PURE__ */ jsx(
114
- AmountInputField,
115
- {
116
- value: isEditingUsd ? usdStr : tokenStr,
117
- onChange: handleAmountChange,
118
- currency: isEditingUsd ? "$" : balanceToken.symbol,
119
- onKeyDown: handleKeyDown
120
- }
121
- ),
122
- /* @__PURE__ */ jsx(MaxButton, { onClick: handleMax, children: "Max" })
123
- ] }),
124
- balanceToken.fiatISO !== "USD" && /* @__PURE__ */ jsx(SwitchContainer, { children: /* @__PURE__ */ jsx(SwitchButton, { onClick: handleSwitchCurrency, children: /* @__PURE__ */ jsx(SecondaryAmount, { children: isEditingUsd ? `${tokenStr || "0"} ${balanceToken.symbol}` : `$${usdStr || roundUsd(0)}` }) }) }),
125
- message && /* @__PURE__ */ jsx(ModalBody, { children: message }),
126
- /* @__PURE__ */ jsx(Button, { onClick: handleContinue, disabled: continueDisabled, children: "Continue" })
127
- ] })
128
- ] });
129
- };
130
- const AmountInputContainer = styled.div`
131
- display: flex;
132
- align-items: center;
133
- justify-content: center;
134
- gap: 6px;
135
- `;
136
- const SecondaryAmount = styled.div`
137
- font-size: 16px;
138
- font-weight: 400;
139
- line-height: 21px;
140
- color: var(--ck-body-color-muted);
141
- strong {
142
- font-weight: 500;
143
- color: var(--ck-body-color);
144
- }
145
- `;
146
- const MaxButton = styled.button`
147
- display: inline-block;
148
- padding: 3px 8px;
149
- border-radius: var(--ck-primary-button-border-radius);
150
- font-size: 14px;
151
- font-weight: 400;
152
- background: var(
153
- --ck-secondary-button-background,
154
- var(--ck-body-background-secondary)
155
- );
156
- color: var(--ck-body-color-secondary);
157
- cursor: pointer;
158
- `;
159
- const SwitchContainer = styled.div`
160
- display: flex;
161
- align-items: center;
162
- justify-content: center;
163
- `;
164
-
165
- export { MultiCurrencySelectAmount as default };
166
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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 // Balance messages for USD and token modes\n const isUsdStablecoin = balanceToken.fiatISO === \"USD\";\n const usdBalanceMessage = isUsdStablecoin\n ? `Balance: ${formatUsd(selectedTokenOption.balance.usd)}`\n : `Balance: ${formatUsd(selectedTokenOption.balance.usd)} ${balanceToken.symbol}`;\n const tokenBalanceMessage = `Balance: ${roundTokenAmount(selectedTokenOption.balance.amount, balanceToken)} ${balanceToken.symbol}`;\n\n const getBalanceMessage = (editingUsd: boolean) =>\n editingUsd ? usdBalanceMessage : tokenBalanceMessage;\n\n const [usdStr, setUsdValue] = useState(\"\");\n const [tokenStr, setTokenValue] = useState(\"\");\n const [isEditingUsd, setIsEditingUsd] = useState(true);\n const [message, setMessage] = useState<string | null>(usdBalanceMessage);\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 const usdNum = Number(sanitizedUsdValue);\n const tokenNum = Number(sanitizedTokenValue);\n\n // Update the state. Don't sanitize the value if the user is editing it.\n // Show empty for zero values so user can start typing immediately.\n // Strip trailing zeros from token values for cleaner display.\n const stripTrailingZeros = (val: string) =>\n val.includes(\".\") ? val.replace(/\\.?0+$/, \"\") : val;\n\n setUsdValue(\n newIsEditingUsd ? newUsdValue : usdNum > 0 ? roundUsd(usdNum) : \"\",\n );\n setTokenValue(\n newIsEditingUsd\n ? tokenNum > 0\n ? stripTrailingZeros(roundTokenAmountUnits(tokenNum, balanceToken))\n : \"\"\n : newTokenValue,\n );\n setIsEditingUsd(newIsEditingUsd);\n\n setContinueDisabled(\n usdNum <= 0 ||\n usdNum < selectedTokenOption.minimumRequired.usd ||\n usdNum > selectedTokenOption.balance.usd ||\n usdNum > maxUsdLimit,\n );\n\n // Format amounts based on current mode (USD or token)\n const formatAmount = (usd: number) =>\n newIsEditingUsd\n ? formatUsd(usd)\n : `${usdToRoundedTokenAmount(usd, balanceToken)} ${balanceToken.symbol}`;\n\n if (usdNum > selectedTokenOption.balance.usd) {\n setMessage(\n `Amount exceeds your balance: ${formatAmount(selectedTokenOption.balance.usd)}`,\n );\n } else if (usdNum > maxUsdLimit) {\n setMessage(`Maximum ${formatAmount(maxUsdLimit)}`);\n } else if (usdNum > 0 && usdNum < selectedTokenOption.minimumRequired.usd) {\n setMessage(\n `Minimum ${formatAmount(selectedTokenOption.minimumRequired.usd)}`,\n );\n } else {\n setMessage(getBalanceMessage(newIsEditingUsd));\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 usdStr = roundUsd(Number(selectedTokenOption.balance.usd));\n const tokenStr = roundTokenAmount(\n selectedTokenOption.balance.amount,\n balanceToken,\n );\n updateValues(usdStr, tokenStr, 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(usdStr, tokenStr, !isEditingUsd);\n };\n\n const handleContinue = () => {\n const usd = Number(sanitizeNumber(usdStr));\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 ? usdStr : tokenStr}\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 ? `${tokenStr || \"0\"} ${balanceToken.symbol}`\n : `$${usdStr || roundUsd(0)}`}\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`;\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":["usdStr","tokenStr"],"mappings":"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"}
@@ -1,78 +0,0 @@
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
@@ -1 +0,0 @@
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":";;;;;;;;;;AAsBM,MAAA,MAAA,GAKD,CAAC,EAAE,OAAA,EAAS,MAAM,IAAO,GAAA,EAAA,EAAI,MAAS,GAAA,EAAA,EAAS,KAAA;AAClD,EAAA,MAAM,YAAY,YAAa,EAAA,CAAA;AAC/B,EAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAE9B,EAAM,MAAA,QAAA,GAAW,OAAY,IAAI,CAAA,CAAA;AACjC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAEzC,EAAA,MAAM,oBAAoB,oBAAqB,EAAA,CAAA;AAC/C,EAAA,MAAM,EAAE,IAAA,EAAM,UAAW,EAAA,GAAI,aAAc,CAAA;AAAA,IACzC,OAAS,EAAA,CAAA;AAAA,IACT,IAAA;AAAA,IACA,MAAQ,EAAA,iBAAA;AAAA,GACT,CAAA,CAAA;AACD,EAAA,MAAM,EAAE,IAAA,EAAM,OAAQ,EAAA,GAAI,UAAW,CAAA;AAAA,IACnC,OAAS,EAAA,CAAA;AAAA,IACT,OAAA,EAAS,WAAW,UAAc,IAAA,KAAA,CAAA;AAAA,IAClC,MAAQ,EAAA,iBAAA;AAAA,GACT,CAAA,CAAA;AACD,EAAA,MAAM,EAAE,IAAA,EAAM,SAAU,EAAA,GAAI,YAAa,CAAA;AAAA,IACvC,OAAS,EAAA,CAAA;AAAA,IACT,IAAA,EAAM,SAAU,CAAA,OAAA,IAAW,EAAE,CAAA;AAAA,IAC7B,MAAQ,EAAA,iBAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,GAAM,GAAA;AAAA,IACV,SAAS,UAAc,IAAA,OAAA;AAAA,IACvB,MAAM,OAAW,IAAA,IAAA;AAAA,IACjB,QAAQ,SAAa,IAAA,KAAA,CAAA;AAAA,GACvB,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IACE,IAAA,EACE,SAAS,OACT,IAAA,QAAA,CAAS,QAAQ,QACjB,IAAA,QAAA,CAAS,OAAQ,CAAA,aAAA,KAAkB,CAErC,CAAA,EAAA;AACA,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KACjB;AAAA,GACF,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,MAAM,MAAQ,EAAA,IAAA,EAAM,YAAc,EAAA,MAAA,EAAU,EAAA,CAAA,CAAA;AAE1E,EAAA,IAAI,QAAQ,OAAS,EAAA,YAAA;AACnB,IACE,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA;AAAA,UACL,KAAO,EAAA,IAAA;AAAA,UACP,MAAQ,EAAA,IAAA;AAAA,UACR,YAAc,EAAA,MAAA;AAAA,UACd,QAAU,EAAA,QAAA;AAAA,SACZ;AAAA,QAEC,QAAA,EAAA,OAAA,CAAQ,SAAS,YAAa,CAAA;AAAA,UAC7B,OAAA,EAAS,WAAW,GAAK,EAAA,OAAA;AAAA,UACzB,OAAA,EAAS,QAAQ,GAAK,EAAA,IAAA;AAAA,UACtB,UAAU,GAAK,EAAA,MAAA;AAAA,UACf,IAAA;AAAA,UACA,MAAA;AAAA,SACD,CAAA;AAAA,OAAA;AAAA,KACH,CAAA;AAGJ,EAAA,IAAI,CAAC,GAAA,CAAI,IAAQ,IAAA,CAAC,GAAI,CAAA,MAAA;AACpB,IAAA,2BACG,cAAe,EAAA,EAAA,KAAA,EAAO,EAAE,aAAA,EAAe,QACtC,EAAA,QAAA,kBAAA,GAAA,CAAC,SAAU,EAAA,EAAA,KAAA,EAAO,MAAM,KAAO,EAAA,GAAA,CAAI,OAAS,EAAA,OAAA,EAAS,QAAQ,CAC/D,EAAA,CAAA,CAAA;AAEJ,EAAA,uBACG,GAAA,CAAA,cAAA,EAAA,EAAe,KAAO,EAAA,EAAE,eAAe,MAAO,EAAA,EAC7C,QAAC,kBAAA,GAAA,CAAA,SAAA,EAAA,EAAU,OAAO,IAAM,EAAA,KAAA,EAAO,GAAI,CAAA,OAAA,EAAS,SAAS,MACnD,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA,QAAA;AAAA,MACL,KAAK,GAAI,CAAA,MAAA;AAAA,MACT,KAAK,GAAI,CAAA,IAAA;AAAA,MACT,MAAA,EAAQ,MAAM,SAAA,CAAU,IAAI,CAAA;AAAA,MAC5B,OAAS,EAAA,MAAA;AAAA,KAAA;AAAA,KAEb,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -1,54 +0,0 @@
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
@@ -1 +0,0 @@
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;;;;"}
@@ -1,29 +0,0 @@
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
@@ -1 +0,0 @@
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;;;;"}
@@ -1,20 +0,0 @@
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
@@ -1 +0,0 @@
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;;;;"}