@daimo/pay 1.15.0 → 1.16.1

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 (375) hide show
  1. package/build/components/DaimoPayButton/index.d.ts +13 -0
  2. package/build/hooks/useConnect.d.ts +8 -8
  3. package/build/hooks/useLocales.d.ts +2 -1
  4. package/build/hooks/useWalletPaymentOptions.d.ts +12 -1
  5. package/build/index.d.ts +626 -15
  6. package/build/localizations/locales/en-US.d.ts +2 -0
  7. package/build/localizations/locales/index.d.ts +1 -0
  8. package/build/package.json.js +6 -4
  9. package/build/package.json.js.map +1 -1
  10. package/build/payment/paymentFsm.d.ts +5 -0
  11. package/build/payment/paymentUtils.d.ts +6 -0
  12. package/build/src/assets/MobileWithLogos.js +320 -1
  13. package/build/src/assets/MobileWithLogos.js.map +1 -1
  14. package/build/src/assets/ScanIconWithLogos.js +216 -10
  15. package/build/src/assets/ScanIconWithLogos.js.map +1 -1
  16. package/build/src/assets/browsers.js +963 -7
  17. package/build/src/assets/browsers.js.map +1 -1
  18. package/build/src/assets/chains.js +633 -103
  19. package/build/src/assets/chains.js.map +1 -1
  20. package/build/src/assets/coins.js +38 -1
  21. package/build/src/assets/coins.js.map +1 -1
  22. package/build/src/assets/crepe.js +35 -1
  23. package/build/src/assets/crepe.js.map +1 -1
  24. package/build/src/assets/icons.js +258 -15
  25. package/build/src/assets/icons.js.map +1 -1
  26. package/build/src/assets/logos.js +1510 -140
  27. package/build/src/assets/logos.js.map +1 -1
  28. package/build/src/assets/wallet.js +32 -1
  29. package/build/src/assets/wallet.js.map +1 -1
  30. package/build/src/assets/wave.js +41 -1
  31. package/build/src/assets/wave.js.map +1 -1
  32. package/build/src/components/Common/Alert/index.js +4 -1
  33. package/build/src/components/Common/Alert/index.js.map +1 -1
  34. package/build/src/components/Common/Alert/styles.js +4 -4
  35. package/build/src/components/Common/Alert/styles.js.map +1 -1
  36. package/build/src/components/Common/AmountInput/AmountInputField.js +29 -18
  37. package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -1
  38. package/build/src/components/Common/AmountInput/index.js +112 -99
  39. package/build/src/components/Common/AmountInput/index.js.map +1 -1
  40. package/build/src/components/Common/Avatar/index.js +63 -51
  41. package/build/src/components/Common/Avatar/index.js.map +1 -1
  42. package/build/src/components/Common/Avatar/styles.js +9 -14
  43. package/build/src/components/Common/Avatar/styles.js.map +1 -1
  44. package/build/src/components/Common/BrowserIcon/index.js +15 -14
  45. package/build/src/components/Common/BrowserIcon/index.js.map +1 -1
  46. package/build/src/components/Common/BrowserIcon/styles.js +1 -1
  47. package/build/src/components/Common/BrowserIcon/styles.js.map +1 -1
  48. package/build/src/components/Common/Button/index.js +131 -25
  49. package/build/src/components/Common/Button/index.js.map +1 -1
  50. package/build/src/components/Common/Button/styles.js +20 -24
  51. package/build/src/components/Common/Button/styles.js.map +1 -1
  52. package/build/src/components/Common/Chain/index.js +130 -14
  53. package/build/src/components/Common/Chain/index.js.map +1 -1
  54. package/build/src/components/Common/Chain/styles.js +9 -13
  55. package/build/src/components/Common/Chain/styles.js.map +1 -1
  56. package/build/src/components/Common/ChainSelectList/index.js +232 -89
  57. package/build/src/components/Common/ChainSelectList/index.js.map +1 -1
  58. package/build/src/components/Common/ChainSelectList/styles.js +11 -13
  59. package/build/src/components/Common/ChainSelectList/styles.js.map +1 -1
  60. package/build/src/components/Common/CircleTimer.js +85 -41
  61. package/build/src/components/Common/CircleTimer.js.map +1 -1
  62. package/build/src/components/Common/ConnectorList/index.js +106 -80
  63. package/build/src/components/Common/ConnectorList/index.js.map +1 -1
  64. package/build/src/components/Common/ConnectorList/styles.js +28 -36
  65. package/build/src/components/Common/ConnectorList/styles.js.map +1 -1
  66. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +16 -9
  67. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -1
  68. package/build/src/components/Common/CopyToClipboard/index.js +3 -5
  69. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -1
  70. package/build/src/components/Common/CustomQRCode/QRCode.js +120 -57
  71. package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -1
  72. package/build/src/components/Common/CustomQRCode/index.js +60 -10
  73. package/build/src/components/Common/CustomQRCode/index.js.map +1 -1
  74. package/build/src/components/Common/CustomQRCode/styles.js +6 -6
  75. package/build/src/components/Common/CustomQRCode/styles.js.map +1 -1
  76. package/build/src/components/Common/FitText/index.js +24 -17
  77. package/build/src/components/Common/FitText/index.js.map +1 -1
  78. package/build/src/components/Common/Modal/index.js +481 -267
  79. package/build/src/components/Common/Modal/index.js.map +1 -1
  80. package/build/src/components/Common/Modal/styles.js +44 -48
  81. package/build/src/components/Common/Modal/styles.js.map +1 -1
  82. package/build/src/components/Common/OptionsList/index.js +75 -33
  83. package/build/src/components/Common/OptionsList/index.js.map +1 -1
  84. package/build/src/components/Common/OptionsList/styles.js +7 -8
  85. package/build/src/components/Common/OptionsList/styles.js.map +1 -1
  86. package/build/src/components/Common/OrderHeader/index.js +109 -65
  87. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  88. package/build/src/components/Common/PaymentBreakdown/index.js +29 -7
  89. package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -1
  90. package/build/src/components/Common/Portal/index.js +21 -22
  91. package/build/src/components/Common/Portal/index.js.map +1 -1
  92. package/build/src/components/Common/PoweredByFooter/index.js +39 -21
  93. package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
  94. package/build/src/components/Common/ScrollArea/index.js +107 -52
  95. package/build/src/components/Common/ScrollArea/index.js.map +1 -1
  96. package/build/src/components/Common/ScrollArea/styles.js +7 -11
  97. package/build/src/components/Common/ScrollArea/styles.js.map +1 -1
  98. package/build/src/components/Common/SelectAnotherMethodButton/index.js +67 -55
  99. package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
  100. package/build/src/components/Common/Spinner/index.js +56 -16
  101. package/build/src/components/Common/Spinner/index.js.map +1 -1
  102. package/build/src/components/Common/Spinner/styles.js +2 -2
  103. package/build/src/components/Common/Spinner/styles.js.map +1 -1
  104. package/build/src/components/Common/SwitchButton/index.js +18 -15
  105. package/build/src/components/Common/SwitchButton/index.js.map +1 -1
  106. package/build/src/components/Common/ThemedButton/index.js +37 -16
  107. package/build/src/components/Common/ThemedButton/index.js.map +1 -1
  108. package/build/src/components/Common/ThemedButton/styles.js +2 -2
  109. package/build/src/components/Common/ThemedButton/styles.js.map +1 -1
  110. package/build/src/components/Common/TokenChainLogo/index.js +14 -8
  111. package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
  112. package/build/src/components/Common/Tooltip/index.js +115 -83
  113. package/build/src/components/Common/Tooltip/index.js.map +1 -1
  114. package/build/src/components/Common/Tooltip/styles.js +8 -8
  115. package/build/src/components/Common/Tooltip/styles.js.map +1 -1
  116. package/build/src/components/Common/WalletChainLogo/index.js +13 -6
  117. package/build/src/components/Common/WalletChainLogo/index.js.map +1 -1
  118. package/build/src/components/DaimoPayButton/index.js +170 -176
  119. package/build/src/components/DaimoPayButton/index.js.map +1 -1
  120. package/build/src/components/DaimoPayButton/styles.js +4 -4
  121. package/build/src/components/DaimoPayButton/styles.js.map +1 -1
  122. package/build/src/components/DaimoPayModal/ConnectUsing.js +50 -24
  123. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
  124. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +303 -163
  125. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
  126. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +10 -12
  127. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -1
  128. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +69 -39
  129. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  130. package/build/src/components/DaimoPayModal/index.js +409 -416
  131. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  132. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +15 -11
  133. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -1
  134. package/build/src/components/Pages/About/graphics.js +796 -130
  135. package/build/src/components/Pages/About/graphics.js.map +1 -1
  136. package/build/src/components/Pages/About/index.js +203 -110
  137. package/build/src/components/Pages/About/index.js.map +1 -1
  138. package/build/src/components/Pages/About/styles.js +11 -15
  139. package/build/src/components/Pages/About/styles.js.map +1 -1
  140. package/build/src/components/Pages/Confirmation/index.js +72 -41
  141. package/build/src/components/Pages/Confirmation/index.js.map +1 -1
  142. package/build/src/components/Pages/Connectors/index.js +50 -16
  143. package/build/src/components/Pages/Connectors/index.js.map +1 -1
  144. package/build/src/components/Pages/Connectors/styles.js +10 -10
  145. package/build/src/components/Pages/Connectors/styles.js.map +1 -1
  146. package/build/src/components/Pages/DownloadApp/index.js +23 -18
  147. package/build/src/components/Pages/DownloadApp/index.js.map +1 -1
  148. package/build/src/components/Pages/Error/index.js +27 -15
  149. package/build/src/components/Pages/Error/index.js.map +1 -1
  150. package/build/src/components/Pages/MobileConnectors/index.js +50 -44
  151. package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
  152. package/build/src/components/Pages/MobileConnectors/styles.js +9 -11
  153. package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -1
  154. package/build/src/components/Pages/Onboarding/index.js +20 -4
  155. package/build/src/components/Pages/Onboarding/index.js.map +1 -1
  156. package/build/src/components/Pages/Onboarding/styles.js +13 -13
  157. package/build/src/components/Pages/Onboarding/styles.js.map +1 -1
  158. package/build/src/components/Pages/PayWithToken/index.js +133 -122
  159. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  160. package/build/src/components/Pages/SelectAmount/index.js +12 -5
  161. package/build/src/components/Pages/SelectAmount/index.js.map +1 -1
  162. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +56 -38
  163. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -1
  164. package/build/src/components/Pages/SelectDepositAddressChain/index.js +57 -40
  165. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  166. package/build/src/components/Pages/SelectExchange/index.js +29 -24
  167. package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
  168. package/build/src/components/Pages/SelectExternalAmount/index.js +57 -41
  169. package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -1
  170. package/build/src/components/Pages/SelectMethod/index.js +201 -183
  171. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  172. package/build/src/components/Pages/SelectToken/index.js +72 -46
  173. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  174. package/build/src/components/Pages/SelectWalletAmount/index.js +40 -32
  175. package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
  176. package/build/src/components/Pages/SelectWalletChain/index.js +40 -36
  177. package/build/src/components/Pages/SelectWalletChain/index.js.map +1 -1
  178. package/build/src/components/Pages/SelectZKP/index.js +29 -24
  179. package/build/src/components/Pages/SelectZKP/index.js.map +1 -1
  180. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +60 -45
  181. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
  182. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +73 -61
  183. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  184. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +12 -5
  185. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -1
  186. package/build/src/components/Pages/SwitchNetworks/index.js +29 -10
  187. package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -1
  188. package/build/src/components/Pages/WaitingDepositAddress/index.js +339 -178
  189. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  190. package/build/src/components/Pages/WaitingExternal/index.js +69 -46
  191. package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
  192. package/build/src/components/Pages/WaitingWallet/index.js +37 -16
  193. package/build/src/components/Pages/WaitingWallet/index.js.map +1 -1
  194. package/build/src/components/Spinners/CircleSpinner/index.js +96 -7
  195. package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -1
  196. package/build/src/components/Spinners/CircleSpinner/styles.js +6 -7
  197. package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -1
  198. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +18 -9
  199. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -1
  200. package/build/src/components/Spinners/SquircleSpinner/index.js +60 -7
  201. package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -1
  202. package/build/src/components/Spinners/SquircleSpinner/styles.js +4 -4
  203. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -1
  204. package/build/src/components/Spinners/TokenLogoSpinner/index.js +12 -1
  205. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
  206. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +1 -1
  207. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -1
  208. package/build/src/components/Spinners/WalletPaymentSpinner/index.js +27 -20
  209. package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -1
  210. package/build/src/components/Spinners/styles.js +3 -4
  211. package/build/src/components/Spinners/styles.js.map +1 -1
  212. package/build/src/constants/defaultTheme.js +1 -1
  213. package/build/src/constants/defaultTheme.js.map +1 -1
  214. package/build/src/constants/routes.js +29 -30
  215. package/build/src/constants/routes.js.map +1 -1
  216. package/build/src/defaultConfig.js +49 -46
  217. package/build/src/defaultConfig.js.map +1 -1
  218. package/build/src/defaultConnectors.js +32 -19
  219. package/build/src/defaultConnectors.js.map +1 -1
  220. package/build/src/hooks/useChainIsSupported.js +3 -5
  221. package/build/src/hooks/useChainIsSupported.js.map +1 -1
  222. package/build/src/hooks/useChains.js +3 -4
  223. package/build/src/hooks/useChains.js.map +1 -1
  224. package/build/src/hooks/useConnect.js +51 -39
  225. package/build/src/hooks/useConnect.js.map +1 -1
  226. package/build/src/hooks/useConnectCallback.js +15 -12
  227. package/build/src/hooks/useConnectCallback.js.map +1 -1
  228. package/build/src/hooks/useConnectors.js +2 -2
  229. package/build/src/hooks/useConnectors.js.map +1 -1
  230. package/build/src/hooks/useDaimoPay.js +98 -82
  231. package/build/src/hooks/useDaimoPay.js.map +1 -1
  232. package/build/src/hooks/useDaimoPayStatus.js +4 -15
  233. package/build/src/hooks/useDaimoPayStatus.js.map +1 -1
  234. package/build/src/hooks/useDaimoPayUI.js +7 -7
  235. package/build/src/hooks/useDaimoPayUI.js.map +1 -1
  236. package/build/src/hooks/useDepositAddressOptions.js +29 -25
  237. package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
  238. package/build/src/hooks/useEnsFallbackConfig.js +5 -5
  239. package/build/src/hooks/useEnsFallbackConfig.js.map +1 -1
  240. package/build/src/hooks/useExternalPaymentOptions.js +57 -52
  241. package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
  242. package/build/src/hooks/useFitText.js +120 -135
  243. package/build/src/hooks/useFitText.js.map +1 -1
  244. package/build/src/hooks/useFocusTrap.js +33 -37
  245. package/build/src/hooks/useFocusTrap.js.map +1 -1
  246. package/build/src/hooks/useIsMobile.js +3 -3
  247. package/build/src/hooks/useIsMobile.js.map +1 -1
  248. package/build/src/hooks/useIsMounted.js +3 -5
  249. package/build/src/hooks/useIsMounted.js.map +1 -1
  250. package/build/src/hooks/useLastConnector.js +15 -15
  251. package/build/src/hooks/useLastConnector.js.map +1 -1
  252. package/build/src/hooks/useLocales.js +44 -42
  253. package/build/src/hooks/useLocales.js.map +1 -1
  254. package/build/src/hooks/useLockBodyScroll.js +38 -44
  255. package/build/src/hooks/useLockBodyScroll.js.map +1 -1
  256. package/build/src/hooks/useOrderUsdLimits.js +17 -19
  257. package/build/src/hooks/useOrderUsdLimits.js.map +1 -1
  258. package/build/src/hooks/usePayContext.js +3 -5
  259. package/build/src/hooks/usePayContext.js.map +1 -1
  260. package/build/src/hooks/usePaymentState.js +351 -321
  261. package/build/src/hooks/usePaymentState.js.map +1 -1
  262. package/build/src/hooks/usePrevious.js +6 -7
  263. package/build/src/hooks/usePrevious.js.map +1 -1
  264. package/build/src/hooks/useSolanaPaymentOptions.js +33 -33
  265. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
  266. package/build/src/hooks/useTokenOptions.js +131 -95
  267. package/build/src/hooks/useTokenOptions.js.map +1 -1
  268. package/build/src/hooks/useUntronAvailability.js +26 -34
  269. package/build/src/hooks/useUntronAvailability.js.map +1 -1
  270. package/build/src/hooks/useWalletPaymentOptions.js +86 -61
  271. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
  272. package/build/src/hooks/useWindowSize.js +16 -16
  273. package/build/src/hooks/useWindowSize.js.map +1 -1
  274. package/build/src/localizations/index.js +28 -31
  275. package/build/src/localizations/index.js.map +1 -1
  276. package/build/src/localizations/locales/ar-AE.js +88 -88
  277. package/build/src/localizations/locales/ar-AE.js.map +1 -1
  278. package/build/src/localizations/locales/ca-AD.js +88 -88
  279. package/build/src/localizations/locales/ca-AD.js.map +1 -1
  280. package/build/src/localizations/locales/ee-EE.js +96 -88
  281. package/build/src/localizations/locales/ee-EE.js.map +1 -1
  282. package/build/src/localizations/locales/en-US.js +134 -124
  283. package/build/src/localizations/locales/en-US.js.map +1 -1
  284. package/build/src/localizations/locales/es-ES.js +126 -124
  285. package/build/src/localizations/locales/es-ES.js.map +1 -1
  286. package/build/src/localizations/locales/fa-IR.js +88 -88
  287. package/build/src/localizations/locales/fa-IR.js.map +1 -1
  288. package/build/src/localizations/locales/fr-FR.js +88 -88
  289. package/build/src/localizations/locales/fr-FR.js.map +1 -1
  290. package/build/src/localizations/locales/ja-JP.js +88 -88
  291. package/build/src/localizations/locales/ja-JP.js.map +1 -1
  292. package/build/src/localizations/locales/pt-BR.js +96 -88
  293. package/build/src/localizations/locales/pt-BR.js.map +1 -1
  294. package/build/src/localizations/locales/ru-RU.js +92 -88
  295. package/build/src/localizations/locales/ru-RU.js.map +1 -1
  296. package/build/src/localizations/locales/tr-TR.js +96 -88
  297. package/build/src/localizations/locales/tr-TR.js.map +1 -1
  298. package/build/src/localizations/locales/vi-VN.js +96 -88
  299. package/build/src/localizations/locales/vi-VN.js.map +1 -1
  300. package/build/src/localizations/locales/zh-CN.js +88 -88
  301. package/build/src/localizations/locales/zh-CN.js.map +1 -1
  302. package/build/src/payment/paymentEffects.js +237 -264
  303. package/build/src/payment/paymentEffects.js.map +1 -1
  304. package/build/src/payment/paymentFsm.js +167 -187
  305. package/build/src/payment/paymentFsm.js.map +1 -1
  306. package/build/src/payment/paymentStore.js +8 -10
  307. package/build/src/payment/paymentStore.js.map +1 -1
  308. package/build/src/payment/paymentUtils.js +10 -0
  309. package/build/src/payment/paymentUtils.js.map +1 -0
  310. package/build/src/provider/DaimoPayProvider.js +258 -245
  311. package/build/src/provider/DaimoPayProvider.js.map +1 -1
  312. package/build/src/provider/PayContext.js +0 -1
  313. package/build/src/provider/PayContext.js.map +1 -1
  314. package/build/src/provider/PaymentProvider.js +18 -17
  315. package/build/src/provider/PaymentProvider.js.map +1 -1
  316. package/build/src/provider/SolanaContextProvider.js +6 -3
  317. package/build/src/provider/SolanaContextProvider.js.map +1 -1
  318. package/build/src/provider/Web3ContextProvider.js +23 -23
  319. package/build/src/provider/Web3ContextProvider.js.map +1 -1
  320. package/build/src/stateStore.js +28 -74
  321. package/build/src/stateStore.js.map +1 -1
  322. package/build/src/styles/defaultTheme.js +64 -73
  323. package/build/src/styles/defaultTheme.js.map +1 -1
  324. package/build/src/styles/index.js +202 -217
  325. package/build/src/styles/index.js.map +1 -1
  326. package/build/src/styles/styled/index.js +0 -10
  327. package/build/src/styles/styled/index.js.map +1 -1
  328. package/build/src/styles/themes/base.js +136 -136
  329. package/build/src/styles/themes/base.js.map +1 -1
  330. package/build/src/styles/themes/index.js.map +1 -1
  331. package/build/src/styles/themes/midnight.js +71 -71
  332. package/build/src/styles/themes/midnight.js.map +1 -1
  333. package/build/src/styles/themes/minimal.js +75 -75
  334. package/build/src/styles/themes/minimal.js.map +1 -1
  335. package/build/src/styles/themes/nouns.js +76 -76
  336. package/build/src/styles/themes/nouns.js.map +1 -1
  337. package/build/src/styles/themes/retro.js +88 -88
  338. package/build/src/styles/themes/retro.js.map +1 -1
  339. package/build/src/styles/themes/rounded.js +84 -84
  340. package/build/src/styles/themes/rounded.js.map +1 -1
  341. package/build/src/styles/themes/soft.js +66 -66
  342. package/build/src/styles/themes/soft.js.map +1 -1
  343. package/build/src/styles/themes/web95.js +95 -95
  344. package/build/src/styles/themes/web95.js.map +1 -1
  345. package/build/src/utils/exports.js +0 -1
  346. package/build/src/utils/exports.js.map +1 -1
  347. package/build/src/utils/format.js +25 -63
  348. package/build/src/utils/format.js.map +1 -1
  349. package/build/src/utils/index.js +23 -20
  350. package/build/src/utils/index.js.map +1 -1
  351. package/build/src/utils/p3.js +8 -9
  352. package/build/src/utils/p3.js.map +1 -1
  353. package/build/src/utils/platform.js +6 -8
  354. package/build/src/utils/platform.js.map +1 -1
  355. package/build/src/utils/polling.js +31 -31
  356. package/build/src/utils/polling.js.map +1 -1
  357. package/build/src/utils/supportUrl.js +9 -9
  358. package/build/src/utils/supportUrl.js.map +1 -1
  359. package/build/src/utils/trpc.js +11 -11
  360. package/build/src/utils/trpc.js.map +1 -1
  361. package/build/src/utils/validateInput.js +9 -29
  362. package/build/src/utils/validateInput.js.map +1 -1
  363. package/build/src/wallets/index.js +13 -22
  364. package/build/src/wallets/index.js.map +1 -1
  365. package/build/src/wallets/useWallets.js +183 -181
  366. package/build/src/wallets/useWallets.js.map +1 -1
  367. package/build/src/wallets/walletConfigs.js +230 -235
  368. package/build/src/wallets/walletConfigs.js.map +1 -1
  369. package/build/src/world-mini-app/WorldPayButton.js +113 -118
  370. package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
  371. package/build/src/world-mini-app/promptWorldPayment.js +49 -47
  372. package/build/src/world-mini-app/promptWorldPayment.js.map +1 -1
  373. package/build/types-7ed033b6.d.ts +66 -0
  374. package/build/world.d.ts +89 -1
  375. package/package.json +6 -4
@@ -2,23 +2,63 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { SpinnerContainer } from './styles.js';
3
3
 
4
4
  const transition = {
5
- duration: 0.4,
6
- ease: [0.175, 0.885, 0.32, 0.98],
5
+ duration: 0.4,
6
+ ease: [0.175, 0.885, 0.32, 0.98]
7
7
  };
8
- const Spinner = () => (jsx(SpinnerContainer, { initial: { opacity: 0, rotate: 180 }, animate: {
9
- opacity: 1,
10
- rotate: 0,
11
- }, exit: {
12
- position: "absolute",
13
- opacity: 0,
14
- rotate: -180,
15
- transition: {
16
- ...transition,
17
- },
18
- }, transition: {
19
- ...transition,
20
- delay: 0.2,
21
- }, children: jsxs("svg", { width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("circle", { cx: "9", cy: "9", r: "7", stroke: "currentColor", strokeOpacity: "0.1", strokeWidth: "2.5" }), jsx("path", { d: "M16 9C16 5.13401 12.866 2 9 2", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round" })] }) }));
8
+ const Spinner = () => /* @__PURE__ */ jsx(
9
+ SpinnerContainer,
10
+ {
11
+ initial: { opacity: 0, rotate: 180 },
12
+ animate: {
13
+ opacity: 1,
14
+ rotate: 0
15
+ },
16
+ exit: {
17
+ position: "absolute",
18
+ opacity: 0,
19
+ rotate: -180,
20
+ transition: {
21
+ ...transition
22
+ }
23
+ },
24
+ transition: {
25
+ ...transition,
26
+ delay: 0.2
27
+ },
28
+ children: /* @__PURE__ */ jsxs(
29
+ "svg",
30
+ {
31
+ width: "18",
32
+ height: "18",
33
+ viewBox: "0 0 18 18",
34
+ fill: "none",
35
+ xmlns: "http://www.w3.org/2000/svg",
36
+ children: [
37
+ /* @__PURE__ */ jsx(
38
+ "circle",
39
+ {
40
+ cx: "9",
41
+ cy: "9",
42
+ r: "7",
43
+ stroke: "currentColor",
44
+ strokeOpacity: "0.1",
45
+ strokeWidth: "2.5"
46
+ }
47
+ ),
48
+ /* @__PURE__ */ jsx(
49
+ "path",
50
+ {
51
+ d: "M16 9C16 5.13401 12.866 2 9 2",
52
+ stroke: "currentColor",
53
+ strokeWidth: "2.5",
54
+ strokeLinecap: "round"
55
+ }
56
+ )
57
+ ]
58
+ }
59
+ )
60
+ }
61
+ );
22
62
 
23
63
  export { Spinner };
24
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Spinner/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;AAEA,MAAM,UAAU,GAAG;AACjB,IAAA,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;CACjC,CAAC;AAEW,MAAA,OAAO,GAAG,OACrBA,GAAC,CAAA,gBAAgB,EACf,EAAA,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EACpC,OAAO,EAAE;AACP,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE,CAAC;AACV,KAAA,EACD,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC,GAAG;AACZ,QAAA,UAAU,EAAE;AACV,YAAA,GAAG,UAAU;AACd,SAAA;AACF,KAAA,EACD,UAAU,EAAE;AACV,QAAA,GAAG,UAAU;AACb,QAAA,KAAK,EAAE,GAAG;AACX,KAAA,EAAA,QAAA,EAEDC,IACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAAA,QAAA,EAAA,CAElCD,gBACE,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,CAAC,EAAC,GAAG,EACL,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,KAAK,EACnB,WAAW,EAAC,KAAK,EAAA,CACjB,EACFA,GAAA,CAAA,MAAA,EAAA,EACE,CAAC,EAAC,+BAA+B,EACjC,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EAAA,CACrB,CACE,EAAA,CAAA,EAAA,CACW;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/Spinner/index.tsx"],"sourcesContent":["import { SpinnerContainer } from \"./styles\";\n\nconst transition = {\n duration: 0.4,\n ease: [0.175, 0.885, 0.32, 0.98],\n};\n\nexport const Spinner = () => (\n <SpinnerContainer\n initial={{ opacity: 0, rotate: 180 }}\n animate={{\n opacity: 1,\n rotate: 0,\n }}\n exit={{\n position: \"absolute\",\n opacity: 0,\n rotate: -180,\n transition: {\n ...transition,\n },\n }}\n transition={{\n ...transition,\n delay: 0.2,\n }}\n >\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"9\"\n cy=\"9\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeOpacity=\"0.1\"\n strokeWidth=\"2.5\"\n />\n <path\n d=\"M16 9C16 5.13401 12.866 2 9 2\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </SpinnerContainer>\n);\n"],"names":[],"mappings":";;;AAEA,MAAM,UAAa,GAAA;AAAA,EACjB,QAAU,EAAA,GAAA;AAAA,EACV,IAAM,EAAA,CAAC,KAAO,EAAA,KAAA,EAAO,MAAM,IAAI,CAAA;AACjC,CAAA,CAAA;AAEO,MAAM,UAAU,sBACrB,GAAA;AAAA,EAAC,gBAAA;AAAA,EAAA;AAAA,IACC,OAAS,EAAA,EAAE,OAAS,EAAA,CAAA,EAAG,QAAQ,GAAI,EAAA;AAAA,IACnC,OAAS,EAAA;AAAA,MACP,OAAS,EAAA,CAAA;AAAA,MACT,MAAQ,EAAA,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,QAAU,EAAA,UAAA;AAAA,MACV,OAAS,EAAA,CAAA;AAAA,MACT,MAAQ,EAAA,CAAA,GAAA;AAAA,MACR,UAAY,EAAA;AAAA,QACV,GAAG,UAAA;AAAA,OACL;AAAA,KACF;AAAA,IACA,UAAY,EAAA;AAAA,MACV,GAAG,UAAA;AAAA,MACH,KAAO,EAAA,GAAA;AAAA,KACT;AAAA,IAEA,QAAA,kBAAA,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAM,EAAA,IAAA;AAAA,QACN,MAAO,EAAA,IAAA;AAAA,QACP,OAAQ,EAAA,WAAA;AAAA,QACR,IAAK,EAAA,MAAA;AAAA,QACL,KAAM,EAAA,4BAAA;AAAA,QAEN,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,EAAG,EAAA,GAAA;AAAA,cACH,EAAG,EAAA,GAAA;AAAA,cACH,CAAE,EAAA,GAAA;AAAA,cACF,MAAO,EAAA,cAAA;AAAA,cACP,aAAc,EAAA,KAAA;AAAA,cACd,WAAY,EAAA,KAAA;AAAA,aAAA;AAAA,WACd;AAAA,0BACA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAE,EAAA,+BAAA;AAAA,cACF,MAAO,EAAA,cAAA;AAAA,cACP,WAAY,EAAA,KAAA;AAAA,cACZ,aAAc,EAAA,OAAA;AAAA,aAAA;AAAA,WAChB;AAAA,SAAA;AAAA,OAAA;AAAA,KACF;AAAA,GAAA;AACF;;;;"}
@@ -2,11 +2,11 @@ import { motion } from 'framer-motion';
2
2
  import { keyframes } from 'styled-components';
3
3
  import styled from '../../../styles/styled/index.js';
4
4
 
5
- const Spin = keyframes `
5
+ const Spin = keyframes`
6
6
  0%{ transform: rotate(0deg); }
7
7
  100%{ transform: rotate(360deg); }
8
8
  `;
9
- const SpinnerContainer = styled(motion.div) `
9
+ const SpinnerContainer = styled(motion.div)`
10
10
  display: flex;
11
11
  align-items: center;
12
12
  justify-content: center;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/Spinner/styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA,MAAM,IAAI,GAAG,SAAS,CAAA,CAAA;;;CAGrB,CAAC;AACW,MAAA,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAA;;;;eAInC,IAAI,CAAA;;;;iBAIF,IAAI,CAAA;;;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/Spinner/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { keyframes } from \"styled-components\";\nimport styled from \"./../../../styles/styled\";\n\nconst Spin = keyframes`\n 0%{ transform: rotate(0deg); }\n 100%{ transform: rotate(360deg); }\n`;\nexport const SpinnerContainer = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: center;\n animation: ${Spin} 1s linear infinite;\n svg {\n display: block;\n position: relative;\n animation: ${Spin} 1s ease-in-out infinite;\n }\n`;\n"],"names":[],"mappings":";;;;AAIA,MAAM,IAAO,GAAA,SAAA,CAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAIA,MAAA,gBAAA,GAAmB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA,aAAA,EAIlC,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA,eAAA,EAIF,IAAI,CAAA;AAAA;AAAA;;;;"}
@@ -3,7 +3,7 @@ import { useState } from 'react';
3
3
  import { SwitchIcon } from '../../../assets/icons.js';
4
4
  import styled from '../../../styles/styled/index.js';
5
5
 
6
- const Container = styled.button `
6
+ const Container = styled.button`
7
7
  display: flex;
8
8
  align-items: center;
9
9
  justify-content: center;
@@ -12,9 +12,9 @@ const Container = styled.button `
12
12
  width: fit-content;
13
13
  background: transparent;
14
14
  `;
15
- const IconWrapper = styled.div `
16
- opacity: ${({ $isFlipped }) => ($isFlipped ? 1 : 1)};
17
- transform: scaleY(${({ $isFlipped }) => ($isFlipped ? -1 : 1)});
15
+ const IconWrapper = styled.div`
16
+ opacity: ${({ $isFlipped }) => $isFlipped ? 1 : 1};
17
+ transform: scaleY(${({ $isFlipped }) => $isFlipped ? -1 : 1});
18
18
  transition: all 0.2s ease-in-out;
19
19
 
20
20
  &.fade {
@@ -23,17 +23,20 @@ const IconWrapper = styled.div `
23
23
  }
24
24
  `;
25
25
  const SwitchButton = ({ onClick, children }) => {
26
- const [isFlipped, setIsFlipped] = useState(false);
27
- const [isFading, setIsFading] = useState(false);
28
- const handleClick = () => {
29
- setIsFading(true);
30
- setTimeout(() => {
31
- setIsFlipped(!isFlipped);
32
- setIsFading(false);
33
- }, 150); // Match the transition duration
34
- onClick();
35
- };
36
- return (jsxs(Container, { onClick: handleClick, children: [jsx(IconWrapper, { "$isFlipped": isFlipped, className: isFading ? "fade" : "", children: jsx(SwitchIcon, {}) }), children] }));
26
+ const [isFlipped, setIsFlipped] = useState(false);
27
+ const [isFading, setIsFading] = useState(false);
28
+ const handleClick = () => {
29
+ setIsFading(true);
30
+ setTimeout(() => {
31
+ setIsFlipped(!isFlipped);
32
+ setIsFading(false);
33
+ }, 150);
34
+ onClick();
35
+ };
36
+ return /* @__PURE__ */ jsxs(Container, { onClick: handleClick, children: [
37
+ /* @__PURE__ */ jsx(IconWrapper, { $isFlipped: isFlipped, className: isFading ? "fade" : "", children: /* @__PURE__ */ jsx(SwitchIcon, {}) }),
38
+ children
39
+ ] });
37
40
  };
38
41
 
39
42
  export { SwitchButton as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/SwitchButton/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","Icon"],"mappings":";;;;;AAIA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAA,CAAA;;;;;;;;CAQ9B,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAyB,CAAA;AAC1C,WAAA,EAAA,CAAC,EAAE,UAAU,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAC/B,oBAAA,EAAA,CAAC,EAAE,UAAU,EAAE,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;;;;;;;CAO9D,CAAC;AAEI,MAAA,YAAY,GAGb,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAI;IAC7B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,MAAK;QACvB,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,UAAU,CAAC,MAAK;AACd,YAAA,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;YACzB,WAAW,CAAC,KAAK,CAAC,CAAC;AACrB,SAAC,EAAE,GAAG,CAAC,CAAC;AACR,QAAA,OAAO,EAAE,CAAC;AACZ,KAAC,CAAC;AAEF,IAAA,QACEA,IAAA,CAAC,SAAS,EAAA,EAAC,OAAO,EAAE,WAAW,EAC7B,QAAA,EAAA,CAAAC,GAAA,CAAC,WAAW,EAAA,EAAA,YAAA,EAAa,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,EAAE,EAAA,QAAA,EACnEA,GAAC,CAAAC,UAAI,KAAG,EACI,CAAA,EACb,QAAQ,CAAA,EAAA,CACC,EACZ;AACJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/SwitchButton/index.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { SwitchIcon as Icon } from \"../../../assets/icons\";\nimport styled from \"../../../styles/styled\";\n\nconst Container = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n cursor: pointer;\n width: fit-content;\n background: transparent;\n`;\n\nconst IconWrapper = styled.div<{ $isFlipped: boolean }>`\n opacity: ${({ $isFlipped }) => ($isFlipped ? 1 : 1)};\n transform: scaleY(${({ $isFlipped }) => ($isFlipped ? -1 : 1)});\n transition: all 0.2s ease-in-out;\n\n &.fade {\n opacity: 0;\n transform: scaleY(0);\n }\n`;\n\nconst SwitchButton: React.FC<{\n onClick: () => void;\n children?: React.ReactNode;\n}> = ({ onClick, children }) => {\n const [isFlipped, setIsFlipped] = useState(false);\n const [isFading, setIsFading] = useState(false);\n\n const handleClick = () => {\n setIsFading(true);\n setTimeout(() => {\n setIsFlipped(!isFlipped);\n setIsFading(false);\n }, 150); // Match the transition duration\n onClick();\n };\n\n return (\n <Container onClick={handleClick}>\n <IconWrapper $isFlipped={isFlipped} className={isFading ? \"fade\" : \"\"}>\n <Icon />\n </IconWrapper>\n {children}\n </Container>\n );\n};\n\nexport default SwitchButton;\n"],"names":["Icon"],"mappings":";;;;;AAIA,MAAM,YAAY,MAAO,CAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAUzB,MAAM,cAAc,MAAO,CAAA,GAAA,CAAA;AAAA,WAAA,EACd,CAAC,EAAE,UAAA,EAAkB,KAAA,UAAA,GAAa,IAAI,CAAE,CAAA;AAAA,oBAAA,EAC/B,CAAC,EAAE,UAAA,EAAkB,KAAA,UAAA,GAAa,KAAK,CAAE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAS/D,MAAM,YAGD,GAAA,CAAC,EAAE,OAAA,EAAS,UAAe,KAAA;AAC9B,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAChD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAE9C,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,WAAA,CAAY,IAAI,CAAA,CAAA;AAChB,IAAA,UAAA,CAAW,MAAM;AACf,MAAA,YAAA,CAAa,CAAC,SAAS,CAAA,CAAA;AACvB,MAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAAA,OAChB,GAAG,CAAA,CAAA;AACN,IAAQ,OAAA,EAAA,CAAA;AAAA,GACV,CAAA;AAEA,EACE,uBAAA,IAAA,CAAC,SAAU,EAAA,EAAA,OAAA,EAAS,WAClB,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,YAAY,SAAW,EAAA,SAAA,EAAW,WAAW,MAAS,GAAA,EAAA,EACjE,QAAC,kBAAA,GAAA,CAAAA,UAAA,EAAA,EAAK,CACR,EAAA,CAAA;AAAA,IACC,QAAA;AAAA,GACH,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -3,22 +3,43 @@ import { Container } from './styles.js';
3
3
  export { ThemeContainer } from './styles.js';
4
4
  import useMeasure from 'react-use-measure';
5
5
 
6
- const ThemedButton = ({ children, variant = "primary", autoSize = true, duration = 0.3, style, }) => {
7
- const [contentRef, bounds] = useMeasure();
8
- return (jsx(Container, { className: variant, initial: false, animate: autoSize
9
- ? {
10
- width: bounds.width > 10 ? bounds.width : "auto",
11
- }
12
- : undefined, transition: {
13
- duration: duration,
14
- ease: [0.25, 1, 0.5, 1],
15
- delay: 0.01,
16
- }, style: style, children: jsx("div", { ref: contentRef, style: {
17
- whiteSpace: "nowrap",
18
- width: "fit-content",
19
- position: "relative",
20
- padding: "0 12px",
21
- }, children: children }) }));
6
+ const ThemedButton = ({
7
+ children,
8
+ variant = "primary",
9
+ autoSize = true,
10
+ duration = 0.3,
11
+ style
12
+ }) => {
13
+ const [contentRef, bounds] = useMeasure();
14
+ return /* @__PURE__ */ jsx(
15
+ Container,
16
+ {
17
+ className: variant,
18
+ initial: false,
19
+ animate: autoSize ? {
20
+ width: bounds.width > 10 ? bounds.width : "auto"
21
+ } : void 0,
22
+ transition: {
23
+ duration,
24
+ ease: [0.25, 1, 0.5, 1],
25
+ delay: 0.01
26
+ },
27
+ style,
28
+ children: /* @__PURE__ */ jsx(
29
+ "div",
30
+ {
31
+ ref: contentRef,
32
+ style: {
33
+ whiteSpace: "nowrap",
34
+ width: "fit-content",
35
+ position: "relative",
36
+ padding: "0 12px"
37
+ },
38
+ children
39
+ }
40
+ )
41
+ }
42
+ );
22
43
  };
23
44
 
24
45
  export { ThemedButton as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/ThemedButton/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;AAoBM,MAAA,YAAY,GAAsC,CAAC,EACvD,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,GAAG,EACd,KAAK,GACN,KAAI;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;AAC1C,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EACR,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,KAAK,EACd,OAAO,EACL,QAAQ;AACN,cAAE;AACE,gBAAA,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM;AACjD,aAAA;AACH,cAAE,SAAS,EAEf,UAAU,EAAE;AACV,YAAA,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,YAAA,KAAK,EAAE,IAAI;SACZ,EACD,KAAK,EAAE,KAAK,EAEZ,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,UAAU,EACf,KAAK,EAAE;AACL,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,QAAQ;AAClB,aAAA,EAAA,QAAA,EAEA,QAAQ,EAAA,CACL,EACI,CAAA,EACZ;AACJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/ThemedButton/index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Container, ThemeContainer } from \"./styles\";\n\nimport useMeasure from \"react-use-measure\";\nimport { All } from \"./../../../types\";\n\ntype ThemedButtonProps = {\n children?: React.ReactNode;\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n autoSize?: boolean;\n duration?: number;\n style?: React.CSSProperties;\n onClick?: () => void;\n};\n\nexport const PlaceholderButton = () => {\n return <div style={{ height: 40 }} />;\n};\n\nconst ThemedButton: React.FC<ThemedButtonProps & All> = ({\n children,\n variant = \"primary\",\n autoSize = true,\n duration = 0.3,\n style,\n}) => {\n const [contentRef, bounds] = useMeasure();\n return (\n <Container\n className={variant}\n initial={false}\n animate={\n autoSize\n ? {\n width: bounds.width > 10 ? bounds.width : \"auto\",\n }\n : undefined\n }\n transition={{\n duration: duration,\n ease: [0.25, 1, 0.5, 1],\n delay: 0.01,\n }}\n style={style}\n >\n <div\n ref={contentRef}\n style={{\n whiteSpace: \"nowrap\",\n width: \"fit-content\",\n position: \"relative\",\n padding: \"0 12px\",\n }}\n >\n {children}\n </div>\n </Container>\n );\n};\nexport default ThemedButton;\nexport { ThemeContainer };\n"],"names":[],"mappings":";;;;;AAoBA,MAAM,eAAkD,CAAC;AAAA,EACvD,QAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,QAAW,GAAA,IAAA;AAAA,EACX,QAAW,GAAA,GAAA;AAAA,EACX,KAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,UAAA,EAAY,MAAM,CAAA,GAAI,UAAW,EAAA,CAAA;AACxC,EACE,uBAAA,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,OAAA;AAAA,MACX,OAAS,EAAA,KAAA;AAAA,MACT,SACE,QACI,GAAA;AAAA,QACE,KAAO,EAAA,MAAA,CAAO,KAAQ,GAAA,EAAA,GAAK,OAAO,KAAQ,GAAA,MAAA;AAAA,OAE5C,GAAA,KAAA,CAAA;AAAA,MAEN,UAAY,EAAA;AAAA,QACV,QAAA;AAAA,QACA,IAAM,EAAA,CAAC,IAAM,EAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,QACtB,KAAO,EAAA,IAAA;AAAA,OACT;AAAA,MACA,KAAA;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,UAAA;AAAA,UACL,KAAO,EAAA;AAAA,YACL,UAAY,EAAA,QAAA;AAAA,YACZ,KAAO,EAAA,aAAA;AAAA,YACP,QAAU,EAAA,UAAA;AAAA,YACV,OAAS,EAAA,QAAA;AAAA,WACX;AAAA,UAEC,QAAA;AAAA,SAAA;AAAA,OACH;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { motion } from 'framer-motion';
2
2
  import styled from '../../../styles/styled/index.js';
3
3
 
4
- const Container = styled(motion.div) `
4
+ const Container = styled(motion.div)`
5
5
  display: flex;
6
6
  align-items: center;
7
7
  justify-content: flex-start;
@@ -96,7 +96,7 @@ const Container = styled(motion.div) `
96
96
  );
97
97
  }
98
98
  `;
99
- const ThemeContainer = styled.button `
99
+ const ThemeContainer = styled.button`
100
100
  all: initial;
101
101
  appearance: none;
102
102
  user-select: none;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/ThemedButton/styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGa,MAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAEzC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8FA;AAEW,MAAA,cAAc,GAAG,MAAM,CAAC,MAAM,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;MAuBrC,SAAS,CAAA;;;;;;;;MAQT,SAAS,CAAA;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/ThemedButton/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport styled from \"./../../../styles/styled\";\n\nexport const Container = styled(motion.div)<{\n $variant?: string;\n}>`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n height: 40px;\n padding: 0;\n line-height: 0;\n letter-spacing: -0.2px;\n font-size: var(--ck-connectbutton-font-size, 16px);\n font-weight: var(--ck-connectbutton-font-weight, 500);\n text-align: center;\n transition: 100ms ease;\n transition-property: color, background, box-shadow, border-radius;\n\n color: var(--color);\n background: var(--background);\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n\n &.primary {\n --color: var(--ck-connectbutton-color);\n --background: var(--ck-connectbutton-background);\n --box-shadow: var(--ck-connectbutton-box-shadow);\n --border-radius: var(--ck-connectbutton-border-radius, 12px);\n\n --hover-color: var(--ck-connectbutton-hover-color, var(--color));\n --hover-background: var(\n --ck-connectbutton-hover-background,\n var(--background)\n );\n --hover-box-shadow: var(\n --ck-connectbutton-hover-box-shadow,\n var(--box-shadow)\n );\n --hover-border-radius: var(\n --ck-connectbutton-hover-border-radius,\n var(--border-radius)\n );\n\n --active-color: var(--ck-connectbutton-active-color, var(--hover-color));\n --active-background: var(\n --ck-connectbutton-active-background,\n var(--hover-background)\n );\n --active-box-shadow: var(\n --ck-connectbutton-active-box-shadow,\n var(--hover-box-shadow)\n );\n --active-border-radius: var(\n --ck-connectbutton-active-border-radius,\n var(--hover-border-radius)\n );\n }\n &.secondary {\n --color: var(--ck-connectbutton-balance-color);\n --background: var(--ck-connectbutton-balance-background);\n --box-shadow: var(--ck-connectbutton-balance-box-shadow);\n --border-radius: var(\n --ck-connectbutton-balance-border-radius,\n var(--ck-connectbutton-border-radius, 12px)\n );\n\n --hover-color: var(--ck-connectbutton-balance-hover-color, var(--color));\n --hover-background: var(\n --ck-connectbutton-balance-hover-background,\n var(--background)\n );\n --hover-box-shadow: var(\n --ck-connectbutton-balance-hover-box-shadow,\n var(--box-shadow)\n );\n --hover-border-radius: var(\n --ck-connectbutton-balance-hover-border-radius,\n var(--border-radius)\n );\n\n --active-color: var(\n --ck-connectbutton-balance-active-color,\n var(--hover-color)\n );\n --active-background: var(\n --ck-connectbutton-balance-active-background,\n var(--hover-background)\n );\n --active-box-shadow: var(\n --ck-connectbutton-balance-active-box-shadow,\n var(--hover-box-shadow)\n );\n --active-border-radius: var(\n --ck-connectbutton-balance-active-border-radius,\n var(--hover-border-radius)\n );\n }\n`;\n\nexport const ThemeContainer = styled.button`\n all: initial;\n appearance: none;\n user-select: none;\n position: relative;\n padding: 0;\n margin: 0;\n background: none;\n border-radius: var(--ck-border-radius);\n\n &:disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n display: flex;\n flex-wrap: nowrap;\n background: none;\n cursor: pointer;\n * {\n cursor: pointer;\n }\n &:hover {\n ${Container} {\n color: var(--hover-color, var(--color));\n background: var(--hover-background, var(--background));\n box-shadow: var(--hover-box-shadow, var(--box-shadow));\n border-radius: var(--hover-border-radius, var(--border-radius));\n }\n }\n &:active {\n ${Container} {\n color: var(--active-color, var(--hover-color, var(--color)));\n background: var(\n --active-background,\n var(--hover-background, var(--background))\n );\n box-shadow: var(\n --active-box-shadow,\n var(--hover-box-shadow, var(--box-shadow))\n );\n border-radius: var(\n --active-border-radius,\n var(--hover-border-radius, var(--border-radius))\n );\n }\n }\n &:focus-visible {\n outline: 2px solid var(--ck-family-brand);\n }\n`;\n"],"names":[],"mappings":";;;AAGa,MAAA,SAAA,GAAY,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAkGnC,MAAM,iBAAiB,MAAO,CAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,EAuB/B,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA,EAQT,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -3,11 +3,18 @@ import { motion } from 'framer-motion';
3
3
  import { chainToLogo } from '../../../assets/chains.js';
4
4
  import styled from '../../../styles/styled/index.js';
5
5
 
6
- const TokenChainLogo = ({ token, size = 32, offset = 0, }) => {
7
- const chainLogoSize = Math.round((size * 30) / 64);
8
- return (jsxs(TokenChainContainer, { "$size": size, children: [jsx(TokenImage, { src: token.logoURI, alt: token.symbol, "$size": size }), jsx(ChainContainer, { "$size": chainLogoSize, "$offset": offset, children: chainToLogo[token.chainId] })] }));
6
+ const TokenChainLogo = ({
7
+ token,
8
+ size = 32,
9
+ offset = 0
10
+ }) => {
11
+ const chainLogoSize = Math.round(size * 30 / 64);
12
+ return /* @__PURE__ */ jsxs(TokenChainContainer, { $size: size, children: [
13
+ /* @__PURE__ */ jsx(TokenImage, { src: token.logoURI, alt: token.symbol, $size: size }),
14
+ /* @__PURE__ */ jsx(ChainContainer, { $size: chainLogoSize, $offset: offset, children: chainToLogo[token.chainId] })
15
+ ] });
9
16
  };
10
- const TokenChainContainer = styled(motion.div) `
17
+ const TokenChainContainer = styled(motion.div)`
11
18
  position: relative;
12
19
  width: ${(props) => props.$size}px;
13
20
  height: ${(props) => props.$size}px;
@@ -15,19 +22,18 @@ const TokenChainContainer = styled(motion.div) `
15
22
  align-items: center;
16
23
  justify-content: center;
17
24
  `;
18
- const TokenImage = styled.img `
25
+ const TokenImage = styled.img`
19
26
  width: ${(props) => props.$size}px;
20
27
  height: ${(props) => props.$size}px;
21
28
  border-radius: 50%;
22
29
  object-fit: cover;
23
30
  transition: transform 0.2s ease;
24
31
 
25
- ${(props) => props.$showBorder &&
26
- `
32
+ ${(props) => props.$showBorder && `
27
33
  border: 2px solid var(--ck-body-background, #fff);
28
34
  `}
29
35
  `;
30
- const ChainContainer = styled(motion.div) `
36
+ const ChainContainer = styled(motion.div)`
31
37
  position: absolute;
32
38
  width: ${(props) => props.$size}px;
33
39
  height: ${(props) => props.$size}px;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/TokenChainLogo/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;AAKA,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,CAAC,GAKX,KAAI;AACH,IAAA,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnD,IAAA,QACEA,IAAC,CAAA,mBAAmB,aAAQ,IAAI,EAAA,QAAA,EAAA,CAC9BC,IAAC,UAAU,EAAA,EAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAS,OAAA,EAAA,IAAI,GAAI,EAClEA,GAAA,CAAC,cAAc,EAAQ,EAAA,OAAA,EAAA,aAAa,aAAW,MAAM,EAAA,QAAA,EAClD,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EACZ,CAAA,CAAA,EAAA,CACG,EACtB;AACJ,EAAE;AAEF,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAmB,CAAA;;AAEtD,SAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;AACrB,UAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;;;;CAIjC,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAyC,CAAA;AAC3D,SAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;AACrB,UAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;;;;;AAK9B,EAAA,EAAA,CAAC,KAAK,KACN,KAAK,CAAC,WAAW;AACjB,IAAA,CAAA;;AAED,EAAA,CAAA,CAAA;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAIvC,CAAA;;AAES,SAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;AACrB,UAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;AACnB,aAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;AACrB,cAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAA;;AAE3B,SAAA,EAAA,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAA;;;;AAInB,cAAA,EAAA,CAAC,KAAK,KAClB,KAAK,CAAC,WAAW,GAAG,iCAAiC,GAAG,aAAa,CAAA;;;;;;;;;;;;CAYxE;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/TokenChainLogo/index.tsx"],"sourcesContent":["import { Token } from \"@daimo/pay-common\";\nimport { motion } from \"framer-motion\";\nimport { chainToLogo } from \"../../../assets/chains\";\nimport styled from \"../../../styles/styled\";\n\nconst TokenChainLogo = ({\n token,\n size = 32,\n offset = 0,\n}: {\n token: Token;\n size?: number;\n offset?: number;\n}) => {\n const chainLogoSize = Math.round((size * 30) / 64);\n\n return (\n <TokenChainContainer $size={size}>\n <TokenImage src={token.logoURI} alt={token.symbol} $size={size} />\n <ChainContainer $size={chainLogoSize} $offset={offset}>\n {chainToLogo[token.chainId]}\n </ChainContainer>\n </TokenChainContainer>\n );\n};\n\nconst TokenChainContainer = styled(motion.div)<{ $size: number }>`\n position: relative;\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst TokenImage = styled.img<{ $size: number; $showBorder: boolean }>`\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n border-radius: 50%;\n object-fit: cover;\n transition: transform 0.2s ease;\n\n ${(props) =>\n props.$showBorder &&\n `\n border: 2px solid var(--ck-body-background, #fff);\n `}\n`;\n\nconst ChainContainer = styled(motion.div)<{\n $size: number;\n $offset: number;\n $showBorder: boolean;\n}>`\n position: absolute;\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n min-width: ${(props) => props.$size}px;\n min-height: ${(props) => props.$size}px;\n bottom: 0px;\n right: ${(props) => props.$offset}px;\n border-radius: 50%;\n aspect-ratio: 1 / 1;\n overflow: hidden;\n background: ${(props) =>\n props.$showBorder ? \"var(--ck-body-background, #fff)\" : \"transparent\"};\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n\n svg {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n flex-shrink: 0;\n }\n`;\n\nexport default TokenChainLogo;\n"],"names":[],"mappings":";;;;;AAKA,MAAM,iBAAiB,CAAC;AAAA,EACtB,KAAA;AAAA,EACA,IAAO,GAAA,EAAA;AAAA,EACP,MAAS,GAAA,CAAA;AACX,CAIM,KAAA;AACJ,EAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,KAAO,CAAA,IAAA,GAAO,KAAM,EAAE,CAAA,CAAA;AAEjD,EACE,uBAAA,IAAA,CAAC,mBAAoB,EAAA,EAAA,KAAA,EAAO,IAC1B,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,UAAA,EAAA,EAAW,KAAK,KAAM,CAAA,OAAA,EAAS,KAAK,KAAM,CAAA,MAAA,EAAQ,OAAO,IAAM,EAAA,CAAA;AAAA,oBAChE,GAAA,CAAC,kBAAe,KAAO,EAAA,aAAA,EAAe,SAAS,MAC5C,EAAA,QAAA,EAAA,WAAA,CAAY,KAAM,CAAA,OAAO,CAC5B,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,mBAAA,GAAsB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA,SAElC,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,UACrB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAMlC,MAAM,aAAa,MAAO,CAAA,GAAA,CAAA;AAAA,SACf,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,UACrB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9B,EAAA,CAAC,KACD,KAAA,KAAA,CAAM,WACN,IAAA,CAAA;AAAA;AAAA,EAED,CAAA,CAAA;AAAA,CAAA,CAAA;AAGH,MAAM,cAAA,GAAiB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA,SAM7B,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,UACrB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,aACnB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA,cACrB,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,KAAK,CAAA;AAAA;AAAA,SAE3B,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,OAAO,CAAA;AAAA;AAAA;AAAA;AAAA,cAAA,EAInB,CAAC,KAAA,KACb,KAAM,CAAA,WAAA,GAAc,oCAAoC,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
@@ -8,89 +8,121 @@ import { ResetContainer } from '../../../styles/index.js';
8
8
  import { useThemeContext } from '../../DaimoPayThemeProvider/DaimoPayThemeProvider.js';
9
9
  import Portal from '../Portal/index.js';
10
10
 
11
- const Tooltip = ({ children, message, open, xOffset = 0, yOffset = 0, delay, }) => {
12
- const context = usePayContext();
13
- const themeContext = useThemeContext();
14
- const [isOpen, setIsOpen] = useState(false);
15
- const [outOfBounds, setOutOfBounds] = useState(false);
16
- const [size, setSize] = useState("small");
17
- const [ready, setReady] = useState(false);
18
- const [currentRoute] = useState(context.route);
19
- const targetRef = useRef(null);
20
- const [ref, bounds] = useMeasure({
21
- debounce: !ready ? 220 : 0, // fix alignment initial state
22
- offsetSize: true,
23
- scroll: true,
24
- });
25
- const checkBounds = () => {
26
- let flag = false;
27
- const x = xOffset + bounds.left + bounds.width;
28
- const y = yOffset + bounds.top + bounds.height * 0.5;
29
- if (x > window.innerWidth || x < 0 || y > window.innerHeight || y < 0) {
30
- flag = true;
31
- }
32
- return flag;
33
- };
34
- const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
35
- const refreshLayout = () => {
36
- if (!targetRef.current ||
37
- bounds.top +
38
- bounds.bottom +
39
- bounds.left +
40
- bounds.right +
41
- bounds.height +
42
- bounds.width ===
43
- 0)
44
- return;
45
- const x = xOffset + bounds.left + bounds.width;
46
- const y = yOffset + bounds.top + bounds.height * 0.5;
47
- if (!ready && x !== 0 && y !== 0)
48
- setReady(true);
49
- targetRef.current.style.left = `${x}px`;
50
- targetRef.current.style.top = `${y}px`;
51
- setSize(targetRef.current.offsetHeight <= 40 ? "small" : "large");
52
- setOutOfBounds(checkBounds());
53
- };
54
- useIsomorphicLayoutEffect(refreshLayout, [bounds, open, isOpen]);
55
- useEffect(() => {
56
- if (!context.open)
57
- setIsOpen(false);
58
- }, [context.open]);
59
- useEffect(() => {
60
- setIsOpen(!!open);
61
- }, [open]);
62
- if (context.options?.hideTooltips)
63
- return jsx(Fragment, { children: children });
64
- return (jsxs(Fragment, { children: [jsx(motion.div, { ref: ref, style: open === undefined
65
- ? {
66
- cursor: "help",
67
- }
68
- : {}, onHoverStart: () => setIsOpen(true), onHoverEnd: () => setIsOpen(false), onClick: () => setIsOpen(false), children: children }), jsx(Portal, { children: jsx(AnimatePresence, { children: currentRoute === context.route && !outOfBounds && isOpen && (jsx(ResetContainer, { "$useTheme": themeContext.theme, "$useMode": themeContext.mode, "$customTheme": themeContext.customTheme, children: jsx(TooltipWindow, { children: jsxs(TooltipContainer, { role: "tooltip", "$size": size, ref: targetRef, initial: "collapsed", animate: ready ? "open" : {}, exit: "collapsed", variants: {
69
- collapsed: {
70
- transformOrigin: "20px 50%",
71
- opacity: 0,
72
- scale: 0.9,
73
- z: 0.01,
74
- y: "-50%",
75
- x: 20,
76
- transition: {
77
- duration: 0.1,
78
- },
79
- },
80
- open: {
81
- willChange: "opacity,transform",
82
- opacity: 1,
83
- scale: 1,
84
- z: 0.01,
85
- y: "-50%",
86
- x: 20,
87
- transition: {
88
- ease: [0.76, 0, 0.24, 1],
89
- duration: 0.15,
90
- delay: delay ? delay : 0.5,
91
- },
92
- },
93
- }, children: [message, jsx(TooltipTail, { "$size": size })] }) }) })) }) })] }));
11
+ const Tooltip = ({
12
+ children,
13
+ message,
14
+ open,
15
+ xOffset = 0,
16
+ yOffset = 0,
17
+ delay
18
+ }) => {
19
+ const context = usePayContext();
20
+ const themeContext = useThemeContext();
21
+ const [isOpen, setIsOpen] = useState(false);
22
+ const [outOfBounds, setOutOfBounds] = useState(false);
23
+ const [size, setSize] = useState("small");
24
+ const [ready, setReady] = useState(false);
25
+ const [currentRoute] = useState(context.route);
26
+ const targetRef = useRef(null);
27
+ const [ref, bounds] = useMeasure({
28
+ debounce: !ready ? 220 : 0,
29
+ // fix alignment initial state
30
+ offsetSize: true,
31
+ scroll: true
32
+ });
33
+ const checkBounds = () => {
34
+ let flag = false;
35
+ const x = xOffset + bounds.left + bounds.width;
36
+ const y = yOffset + bounds.top + bounds.height * 0.5;
37
+ if (x > window.innerWidth || x < 0 || y > window.innerHeight || y < 0) {
38
+ flag = true;
39
+ }
40
+ return flag;
41
+ };
42
+ const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
43
+ const refreshLayout = () => {
44
+ if (!targetRef.current || bounds.top + bounds.bottom + bounds.left + bounds.right + bounds.height + bounds.width === 0)
45
+ return;
46
+ const x = xOffset + bounds.left + bounds.width;
47
+ const y = yOffset + bounds.top + bounds.height * 0.5;
48
+ if (!ready && x !== 0 && y !== 0) setReady(true);
49
+ targetRef.current.style.left = `${x}px`;
50
+ targetRef.current.style.top = `${y}px`;
51
+ setSize(targetRef.current.offsetHeight <= 40 ? "small" : "large");
52
+ setOutOfBounds(checkBounds());
53
+ };
54
+ useIsomorphicLayoutEffect(refreshLayout, [bounds, open, isOpen]);
55
+ useEffect(() => {
56
+ if (!context.open) setIsOpen(false);
57
+ }, [context.open]);
58
+ useEffect(() => {
59
+ setIsOpen(!!open);
60
+ }, [open]);
61
+ if (context.options?.hideTooltips) return /* @__PURE__ */ jsx(Fragment, { children });
62
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
63
+ /* @__PURE__ */ jsx(
64
+ motion.div,
65
+ {
66
+ ref,
67
+ style: open === void 0 ? {
68
+ cursor: "help"
69
+ } : {},
70
+ onHoverStart: () => setIsOpen(true),
71
+ onHoverEnd: () => setIsOpen(false),
72
+ onClick: () => setIsOpen(false),
73
+ children
74
+ }
75
+ ),
76
+ /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(AnimatePresence, { children: currentRoute === context.route && !outOfBounds && isOpen && /* @__PURE__ */ jsx(
77
+ ResetContainer,
78
+ {
79
+ $useTheme: themeContext.theme,
80
+ $useMode: themeContext.mode,
81
+ $customTheme: themeContext.customTheme,
82
+ children: /* @__PURE__ */ jsx(TooltipWindow, { children: /* @__PURE__ */ jsxs(
83
+ TooltipContainer,
84
+ {
85
+ role: "tooltip",
86
+ $size: size,
87
+ ref: targetRef,
88
+ initial: "collapsed",
89
+ animate: ready ? "open" : {},
90
+ exit: "collapsed",
91
+ variants: {
92
+ collapsed: {
93
+ transformOrigin: "20px 50%",
94
+ opacity: 0,
95
+ scale: 0.9,
96
+ z: 0.01,
97
+ y: "-50%",
98
+ x: 20,
99
+ transition: {
100
+ duration: 0.1
101
+ }
102
+ },
103
+ open: {
104
+ willChange: "opacity,transform",
105
+ opacity: 1,
106
+ scale: 1,
107
+ z: 0.01,
108
+ y: "-50%",
109
+ x: 20,
110
+ transition: {
111
+ ease: [0.76, 0, 0.24, 1],
112
+ duration: 0.15,
113
+ delay: delay ? delay : 0.5
114
+ }
115
+ }
116
+ },
117
+ children: [
118
+ message,
119
+ /* @__PURE__ */ jsx(TooltipTail, { $size: size })
120
+ ]
121
+ }
122
+ ) })
123
+ }
124
+ ) }) })
125
+ ] });
94
126
  };
95
127
 
96
128
  export { Tooltip as default };