@daimo/pay 1.16.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 (368) hide show
  1. package/build/hooks/useConnect.d.ts +8 -8
  2. package/build/index.d.ts +626 -15
  3. package/build/package.json.js +6 -4
  4. package/build/package.json.js.map +1 -1
  5. package/build/src/assets/MobileWithLogos.js +320 -1
  6. package/build/src/assets/MobileWithLogos.js.map +1 -1
  7. package/build/src/assets/ScanIconWithLogos.js +216 -10
  8. package/build/src/assets/ScanIconWithLogos.js.map +1 -1
  9. package/build/src/assets/browsers.js +963 -7
  10. package/build/src/assets/browsers.js.map +1 -1
  11. package/build/src/assets/chains.js +633 -103
  12. package/build/src/assets/chains.js.map +1 -1
  13. package/build/src/assets/coins.js +38 -1
  14. package/build/src/assets/coins.js.map +1 -1
  15. package/build/src/assets/crepe.js +35 -1
  16. package/build/src/assets/crepe.js.map +1 -1
  17. package/build/src/assets/icons.js +258 -15
  18. package/build/src/assets/icons.js.map +1 -1
  19. package/build/src/assets/logos.js +1510 -140
  20. package/build/src/assets/logos.js.map +1 -1
  21. package/build/src/assets/wallet.js +32 -1
  22. package/build/src/assets/wallet.js.map +1 -1
  23. package/build/src/assets/wave.js +41 -1
  24. package/build/src/assets/wave.js.map +1 -1
  25. package/build/src/components/Common/Alert/index.js +4 -1
  26. package/build/src/components/Common/Alert/index.js.map +1 -1
  27. package/build/src/components/Common/Alert/styles.js +4 -4
  28. package/build/src/components/Common/Alert/styles.js.map +1 -1
  29. package/build/src/components/Common/AmountInput/AmountInputField.js +29 -18
  30. package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -1
  31. package/build/src/components/Common/AmountInput/index.js +112 -99
  32. package/build/src/components/Common/AmountInput/index.js.map +1 -1
  33. package/build/src/components/Common/Avatar/index.js +63 -51
  34. package/build/src/components/Common/Avatar/index.js.map +1 -1
  35. package/build/src/components/Common/Avatar/styles.js +9 -14
  36. package/build/src/components/Common/Avatar/styles.js.map +1 -1
  37. package/build/src/components/Common/BrowserIcon/index.js +15 -14
  38. package/build/src/components/Common/BrowserIcon/index.js.map +1 -1
  39. package/build/src/components/Common/BrowserIcon/styles.js +1 -1
  40. package/build/src/components/Common/BrowserIcon/styles.js.map +1 -1
  41. package/build/src/components/Common/Button/index.js +131 -25
  42. package/build/src/components/Common/Button/index.js.map +1 -1
  43. package/build/src/components/Common/Button/styles.js +20 -24
  44. package/build/src/components/Common/Button/styles.js.map +1 -1
  45. package/build/src/components/Common/Chain/index.js +130 -14
  46. package/build/src/components/Common/Chain/index.js.map +1 -1
  47. package/build/src/components/Common/Chain/styles.js +9 -13
  48. package/build/src/components/Common/Chain/styles.js.map +1 -1
  49. package/build/src/components/Common/ChainSelectList/index.js +232 -89
  50. package/build/src/components/Common/ChainSelectList/index.js.map +1 -1
  51. package/build/src/components/Common/ChainSelectList/styles.js +11 -13
  52. package/build/src/components/Common/ChainSelectList/styles.js.map +1 -1
  53. package/build/src/components/Common/CircleTimer.js +85 -41
  54. package/build/src/components/Common/CircleTimer.js.map +1 -1
  55. package/build/src/components/Common/ConnectorList/index.js +106 -80
  56. package/build/src/components/Common/ConnectorList/index.js.map +1 -1
  57. package/build/src/components/Common/ConnectorList/styles.js +28 -36
  58. package/build/src/components/Common/ConnectorList/styles.js.map +1 -1
  59. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +16 -9
  60. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -1
  61. package/build/src/components/Common/CopyToClipboard/index.js +3 -5
  62. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -1
  63. package/build/src/components/Common/CustomQRCode/QRCode.js +120 -57
  64. package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -1
  65. package/build/src/components/Common/CustomQRCode/index.js +60 -10
  66. package/build/src/components/Common/CustomQRCode/index.js.map +1 -1
  67. package/build/src/components/Common/CustomQRCode/styles.js +6 -6
  68. package/build/src/components/Common/CustomQRCode/styles.js.map +1 -1
  69. package/build/src/components/Common/FitText/index.js +24 -17
  70. package/build/src/components/Common/FitText/index.js.map +1 -1
  71. package/build/src/components/Common/Modal/index.js +481 -267
  72. package/build/src/components/Common/Modal/index.js.map +1 -1
  73. package/build/src/components/Common/Modal/styles.js +44 -48
  74. package/build/src/components/Common/Modal/styles.js.map +1 -1
  75. package/build/src/components/Common/OptionsList/index.js +75 -33
  76. package/build/src/components/Common/OptionsList/index.js.map +1 -1
  77. package/build/src/components/Common/OptionsList/styles.js +7 -8
  78. package/build/src/components/Common/OptionsList/styles.js.map +1 -1
  79. package/build/src/components/Common/OrderHeader/index.js +109 -65
  80. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  81. package/build/src/components/Common/PaymentBreakdown/index.js +29 -7
  82. package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -1
  83. package/build/src/components/Common/Portal/index.js +21 -22
  84. package/build/src/components/Common/Portal/index.js.map +1 -1
  85. package/build/src/components/Common/PoweredByFooter/index.js +39 -21
  86. package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
  87. package/build/src/components/Common/ScrollArea/index.js +107 -52
  88. package/build/src/components/Common/ScrollArea/index.js.map +1 -1
  89. package/build/src/components/Common/ScrollArea/styles.js +7 -11
  90. package/build/src/components/Common/ScrollArea/styles.js.map +1 -1
  91. package/build/src/components/Common/SelectAnotherMethodButton/index.js +67 -55
  92. package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
  93. package/build/src/components/Common/Spinner/index.js +56 -16
  94. package/build/src/components/Common/Spinner/index.js.map +1 -1
  95. package/build/src/components/Common/Spinner/styles.js +2 -2
  96. package/build/src/components/Common/Spinner/styles.js.map +1 -1
  97. package/build/src/components/Common/SwitchButton/index.js +18 -15
  98. package/build/src/components/Common/SwitchButton/index.js.map +1 -1
  99. package/build/src/components/Common/ThemedButton/index.js +37 -16
  100. package/build/src/components/Common/ThemedButton/index.js.map +1 -1
  101. package/build/src/components/Common/ThemedButton/styles.js +2 -2
  102. package/build/src/components/Common/ThemedButton/styles.js.map +1 -1
  103. package/build/src/components/Common/TokenChainLogo/index.js +14 -8
  104. package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
  105. package/build/src/components/Common/Tooltip/index.js +115 -83
  106. package/build/src/components/Common/Tooltip/index.js.map +1 -1
  107. package/build/src/components/Common/Tooltip/styles.js +8 -8
  108. package/build/src/components/Common/Tooltip/styles.js.map +1 -1
  109. package/build/src/components/Common/WalletChainLogo/index.js +13 -6
  110. package/build/src/components/Common/WalletChainLogo/index.js.map +1 -1
  111. package/build/src/components/DaimoPayButton/index.js +170 -180
  112. package/build/src/components/DaimoPayButton/index.js.map +1 -1
  113. package/build/src/components/DaimoPayButton/styles.js +4 -4
  114. package/build/src/components/DaimoPayButton/styles.js.map +1 -1
  115. package/build/src/components/DaimoPayModal/ConnectUsing.js +50 -24
  116. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
  117. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +303 -163
  118. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
  119. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +10 -12
  120. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -1
  121. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +69 -39
  122. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  123. package/build/src/components/DaimoPayModal/index.js +409 -416
  124. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  125. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +15 -11
  126. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -1
  127. package/build/src/components/Pages/About/graphics.js +796 -130
  128. package/build/src/components/Pages/About/graphics.js.map +1 -1
  129. package/build/src/components/Pages/About/index.js +203 -110
  130. package/build/src/components/Pages/About/index.js.map +1 -1
  131. package/build/src/components/Pages/About/styles.js +11 -15
  132. package/build/src/components/Pages/About/styles.js.map +1 -1
  133. package/build/src/components/Pages/Confirmation/index.js +71 -48
  134. package/build/src/components/Pages/Confirmation/index.js.map +1 -1
  135. package/build/src/components/Pages/Connectors/index.js +50 -16
  136. package/build/src/components/Pages/Connectors/index.js.map +1 -1
  137. package/build/src/components/Pages/Connectors/styles.js +10 -10
  138. package/build/src/components/Pages/Connectors/styles.js.map +1 -1
  139. package/build/src/components/Pages/DownloadApp/index.js +23 -18
  140. package/build/src/components/Pages/DownloadApp/index.js.map +1 -1
  141. package/build/src/components/Pages/Error/index.js +27 -15
  142. package/build/src/components/Pages/Error/index.js.map +1 -1
  143. package/build/src/components/Pages/MobileConnectors/index.js +50 -44
  144. package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
  145. package/build/src/components/Pages/MobileConnectors/styles.js +9 -11
  146. package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -1
  147. package/build/src/components/Pages/Onboarding/index.js +20 -4
  148. package/build/src/components/Pages/Onboarding/index.js.map +1 -1
  149. package/build/src/components/Pages/Onboarding/styles.js +13 -13
  150. package/build/src/components/Pages/Onboarding/styles.js.map +1 -1
  151. package/build/src/components/Pages/PayWithToken/index.js +133 -122
  152. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  153. package/build/src/components/Pages/SelectAmount/index.js +12 -5
  154. package/build/src/components/Pages/SelectAmount/index.js.map +1 -1
  155. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +56 -38
  156. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -1
  157. package/build/src/components/Pages/SelectDepositAddressChain/index.js +57 -40
  158. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  159. package/build/src/components/Pages/SelectExchange/index.js +29 -24
  160. package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
  161. package/build/src/components/Pages/SelectExternalAmount/index.js +57 -41
  162. package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -1
  163. package/build/src/components/Pages/SelectMethod/index.js +201 -183
  164. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  165. package/build/src/components/Pages/SelectToken/index.js +72 -46
  166. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  167. package/build/src/components/Pages/SelectWalletAmount/index.js +40 -32
  168. package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
  169. package/build/src/components/Pages/SelectWalletChain/index.js +40 -36
  170. package/build/src/components/Pages/SelectWalletChain/index.js.map +1 -1
  171. package/build/src/components/Pages/SelectZKP/index.js +29 -24
  172. package/build/src/components/Pages/SelectZKP/index.js.map +1 -1
  173. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +60 -45
  174. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
  175. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +73 -61
  176. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  177. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +12 -5
  178. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -1
  179. package/build/src/components/Pages/SwitchNetworks/index.js +29 -10
  180. package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -1
  181. package/build/src/components/Pages/WaitingDepositAddress/index.js +332 -184
  182. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  183. package/build/src/components/Pages/WaitingExternal/index.js +69 -46
  184. package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
  185. package/build/src/components/Pages/WaitingWallet/index.js +37 -16
  186. package/build/src/components/Pages/WaitingWallet/index.js.map +1 -1
  187. package/build/src/components/Spinners/CircleSpinner/index.js +96 -7
  188. package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -1
  189. package/build/src/components/Spinners/CircleSpinner/styles.js +6 -7
  190. package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -1
  191. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +18 -9
  192. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -1
  193. package/build/src/components/Spinners/SquircleSpinner/index.js +60 -7
  194. package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -1
  195. package/build/src/components/Spinners/SquircleSpinner/styles.js +4 -4
  196. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -1
  197. package/build/src/components/Spinners/TokenLogoSpinner/index.js +12 -1
  198. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
  199. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +1 -1
  200. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -1
  201. package/build/src/components/Spinners/WalletPaymentSpinner/index.js +27 -20
  202. package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -1
  203. package/build/src/components/Spinners/styles.js +3 -4
  204. package/build/src/components/Spinners/styles.js.map +1 -1
  205. package/build/src/constants/defaultTheme.js +1 -1
  206. package/build/src/constants/defaultTheme.js.map +1 -1
  207. package/build/src/constants/routes.js +29 -30
  208. package/build/src/constants/routes.js.map +1 -1
  209. package/build/src/defaultConfig.js +49 -46
  210. package/build/src/defaultConfig.js.map +1 -1
  211. package/build/src/defaultConnectors.js +32 -19
  212. package/build/src/defaultConnectors.js.map +1 -1
  213. package/build/src/hooks/useChainIsSupported.js +3 -5
  214. package/build/src/hooks/useChainIsSupported.js.map +1 -1
  215. package/build/src/hooks/useChains.js +3 -4
  216. package/build/src/hooks/useChains.js.map +1 -1
  217. package/build/src/hooks/useConnect.js +51 -39
  218. package/build/src/hooks/useConnect.js.map +1 -1
  219. package/build/src/hooks/useConnectCallback.js +15 -12
  220. package/build/src/hooks/useConnectCallback.js.map +1 -1
  221. package/build/src/hooks/useConnectors.js +2 -2
  222. package/build/src/hooks/useConnectors.js.map +1 -1
  223. package/build/src/hooks/useDaimoPay.js +98 -82
  224. package/build/src/hooks/useDaimoPay.js.map +1 -1
  225. package/build/src/hooks/useDaimoPayStatus.js +4 -15
  226. package/build/src/hooks/useDaimoPayStatus.js.map +1 -1
  227. package/build/src/hooks/useDaimoPayUI.js +7 -7
  228. package/build/src/hooks/useDaimoPayUI.js.map +1 -1
  229. package/build/src/hooks/useDepositAddressOptions.js +29 -25
  230. package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
  231. package/build/src/hooks/useEnsFallbackConfig.js +5 -5
  232. package/build/src/hooks/useEnsFallbackConfig.js.map +1 -1
  233. package/build/src/hooks/useExternalPaymentOptions.js +57 -52
  234. package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
  235. package/build/src/hooks/useFitText.js +120 -135
  236. package/build/src/hooks/useFitText.js.map +1 -1
  237. package/build/src/hooks/useFocusTrap.js +33 -37
  238. package/build/src/hooks/useFocusTrap.js.map +1 -1
  239. package/build/src/hooks/useIsMobile.js +3 -3
  240. package/build/src/hooks/useIsMobile.js.map +1 -1
  241. package/build/src/hooks/useIsMounted.js +3 -5
  242. package/build/src/hooks/useIsMounted.js.map +1 -1
  243. package/build/src/hooks/useLastConnector.js +15 -15
  244. package/build/src/hooks/useLastConnector.js.map +1 -1
  245. package/build/src/hooks/useLocales.js +44 -42
  246. package/build/src/hooks/useLocales.js.map +1 -1
  247. package/build/src/hooks/useLockBodyScroll.js +38 -44
  248. package/build/src/hooks/useLockBodyScroll.js.map +1 -1
  249. package/build/src/hooks/useOrderUsdLimits.js +17 -19
  250. package/build/src/hooks/useOrderUsdLimits.js.map +1 -1
  251. package/build/src/hooks/usePayContext.js +3 -5
  252. package/build/src/hooks/usePayContext.js.map +1 -1
  253. package/build/src/hooks/usePaymentState.js +351 -324
  254. package/build/src/hooks/usePaymentState.js.map +1 -1
  255. package/build/src/hooks/usePrevious.js +6 -7
  256. package/build/src/hooks/usePrevious.js.map +1 -1
  257. package/build/src/hooks/useSolanaPaymentOptions.js +33 -33
  258. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
  259. package/build/src/hooks/useTokenOptions.js +129 -112
  260. package/build/src/hooks/useTokenOptions.js.map +1 -1
  261. package/build/src/hooks/useUntronAvailability.js +26 -34
  262. package/build/src/hooks/useUntronAvailability.js.map +1 -1
  263. package/build/src/hooks/useWalletPaymentOptions.js +83 -78
  264. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
  265. package/build/src/hooks/useWindowSize.js +16 -16
  266. package/build/src/hooks/useWindowSize.js.map +1 -1
  267. package/build/src/localizations/index.js +28 -31
  268. package/build/src/localizations/index.js.map +1 -1
  269. package/build/src/localizations/locales/ar-AE.js +88 -88
  270. package/build/src/localizations/locales/ar-AE.js.map +1 -1
  271. package/build/src/localizations/locales/ca-AD.js +88 -88
  272. package/build/src/localizations/locales/ca-AD.js.map +1 -1
  273. package/build/src/localizations/locales/ee-EE.js +96 -88
  274. package/build/src/localizations/locales/ee-EE.js.map +1 -1
  275. package/build/src/localizations/locales/en-US.js +134 -126
  276. package/build/src/localizations/locales/en-US.js.map +1 -1
  277. package/build/src/localizations/locales/es-ES.js +126 -126
  278. package/build/src/localizations/locales/es-ES.js.map +1 -1
  279. package/build/src/localizations/locales/fa-IR.js +88 -88
  280. package/build/src/localizations/locales/fa-IR.js.map +1 -1
  281. package/build/src/localizations/locales/fr-FR.js +88 -88
  282. package/build/src/localizations/locales/fr-FR.js.map +1 -1
  283. package/build/src/localizations/locales/ja-JP.js +88 -88
  284. package/build/src/localizations/locales/ja-JP.js.map +1 -1
  285. package/build/src/localizations/locales/pt-BR.js +96 -88
  286. package/build/src/localizations/locales/pt-BR.js.map +1 -1
  287. package/build/src/localizations/locales/ru-RU.js +92 -88
  288. package/build/src/localizations/locales/ru-RU.js.map +1 -1
  289. package/build/src/localizations/locales/tr-TR.js +96 -88
  290. package/build/src/localizations/locales/tr-TR.js.map +1 -1
  291. package/build/src/localizations/locales/vi-VN.js +96 -88
  292. package/build/src/localizations/locales/vi-VN.js.map +1 -1
  293. package/build/src/localizations/locales/zh-CN.js +88 -88
  294. package/build/src/localizations/locales/zh-CN.js.map +1 -1
  295. package/build/src/payment/paymentEffects.js +237 -265
  296. package/build/src/payment/paymentEffects.js.map +1 -1
  297. package/build/src/payment/paymentFsm.js +165 -186
  298. package/build/src/payment/paymentFsm.js.map +1 -1
  299. package/build/src/payment/paymentStore.js +8 -10
  300. package/build/src/payment/paymentStore.js.map +1 -1
  301. package/build/src/payment/paymentUtils.js +5 -9
  302. package/build/src/payment/paymentUtils.js.map +1 -1
  303. package/build/src/provider/DaimoPayProvider.js +258 -249
  304. package/build/src/provider/DaimoPayProvider.js.map +1 -1
  305. package/build/src/provider/PayContext.js +0 -1
  306. package/build/src/provider/PayContext.js.map +1 -1
  307. package/build/src/provider/PaymentProvider.js +18 -17
  308. package/build/src/provider/PaymentProvider.js.map +1 -1
  309. package/build/src/provider/SolanaContextProvider.js +6 -3
  310. package/build/src/provider/SolanaContextProvider.js.map +1 -1
  311. package/build/src/provider/Web3ContextProvider.js +23 -23
  312. package/build/src/provider/Web3ContextProvider.js.map +1 -1
  313. package/build/src/stateStore.js +28 -74
  314. package/build/src/stateStore.js.map +1 -1
  315. package/build/src/styles/defaultTheme.js +64 -73
  316. package/build/src/styles/defaultTheme.js.map +1 -1
  317. package/build/src/styles/index.js +202 -217
  318. package/build/src/styles/index.js.map +1 -1
  319. package/build/src/styles/styled/index.js +0 -10
  320. package/build/src/styles/styled/index.js.map +1 -1
  321. package/build/src/styles/themes/base.js +136 -136
  322. package/build/src/styles/themes/base.js.map +1 -1
  323. package/build/src/styles/themes/index.js.map +1 -1
  324. package/build/src/styles/themes/midnight.js +71 -71
  325. package/build/src/styles/themes/midnight.js.map +1 -1
  326. package/build/src/styles/themes/minimal.js +75 -75
  327. package/build/src/styles/themes/minimal.js.map +1 -1
  328. package/build/src/styles/themes/nouns.js +76 -76
  329. package/build/src/styles/themes/nouns.js.map +1 -1
  330. package/build/src/styles/themes/retro.js +88 -88
  331. package/build/src/styles/themes/retro.js.map +1 -1
  332. package/build/src/styles/themes/rounded.js +84 -84
  333. package/build/src/styles/themes/rounded.js.map +1 -1
  334. package/build/src/styles/themes/soft.js +66 -66
  335. package/build/src/styles/themes/soft.js.map +1 -1
  336. package/build/src/styles/themes/web95.js +95 -95
  337. package/build/src/styles/themes/web95.js.map +1 -1
  338. package/build/src/utils/exports.js +0 -1
  339. package/build/src/utils/exports.js.map +1 -1
  340. package/build/src/utils/format.js +25 -63
  341. package/build/src/utils/format.js.map +1 -1
  342. package/build/src/utils/index.js +23 -20
  343. package/build/src/utils/index.js.map +1 -1
  344. package/build/src/utils/p3.js +8 -9
  345. package/build/src/utils/p3.js.map +1 -1
  346. package/build/src/utils/platform.js +6 -8
  347. package/build/src/utils/platform.js.map +1 -1
  348. package/build/src/utils/polling.js +31 -31
  349. package/build/src/utils/polling.js.map +1 -1
  350. package/build/src/utils/supportUrl.js +9 -9
  351. package/build/src/utils/supportUrl.js.map +1 -1
  352. package/build/src/utils/trpc.js +11 -11
  353. package/build/src/utils/trpc.js.map +1 -1
  354. package/build/src/utils/validateInput.js +9 -29
  355. package/build/src/utils/validateInput.js.map +1 -1
  356. package/build/src/wallets/index.js +13 -22
  357. package/build/src/wallets/index.js.map +1 -1
  358. package/build/src/wallets/useWallets.js +183 -181
  359. package/build/src/wallets/useWallets.js.map +1 -1
  360. package/build/src/wallets/walletConfigs.js +230 -235
  361. package/build/src/wallets/walletConfigs.js.map +1 -1
  362. package/build/src/world-mini-app/WorldPayButton.js +113 -118
  363. package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
  364. package/build/src/world-mini-app/promptWorldPayment.js +49 -47
  365. package/build/src/world-mini-app/promptWorldPayment.js.map +1 -1
  366. package/build/types-7ed033b6.d.ts +66 -0
  367. package/build/world.d.ts +89 -1
  368. package/package.json +6 -4
@@ -1,47 +1,91 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useState, useEffect } from 'react';
3
3
 
4
- const CircleTimer = ({ total, size = 24, stroke = 3, currentTime, onTimeChange, children, }) => {
5
- // timestamp (ms) when timer ends
6
- const [target, setTarget] = useState(Date.now() + (currentTime ?? total) * 1000);
7
- const [left, setLeft] = useState(currentTime ?? total);
8
- // react to external currentTime updates
9
- useEffect(() => {
10
- if (currentTime !== undefined) {
11
- setTarget(Date.now() + currentTime * 1000);
12
- setLeft(currentTime);
13
- }
14
- }, [currentTime]);
15
- // interval tick
16
- useEffect(() => {
17
- const id = setInterval(() => {
18
- const secs = Math.max(0, Math.ceil((target - Date.now()) / 1000));
19
- setLeft(secs);
20
- onTimeChange?.(secs);
21
- if (secs === 0)
22
- clearInterval(id);
23
- }, 1000);
24
- return () => clearInterval(id);
25
- }, [target, onTimeChange]);
26
- const ratio = Math.round((left * 100) / total); // 0-100
27
- // Ensure stroke stays within viewBox: use floor to be conservative
28
- const radius = Math.floor((size - stroke) / 2);
29
- const circumference = Math.round((2 * 314 * radius) / 100); // 2πr, π≈3.14
30
- const dashoffset = Math.round((circumference * (100 - ratio)) / 100);
31
- // colour transition: green orange red
32
- const color = ratio <= 10
33
- ? "var(--timer-red, #D92D20)"
34
- : ratio <= 40
35
- ? "var(--timer-orange, #F79009)"
36
- : "var(--timer-green, #12D18E)";
37
- const center = Math.round(size / 2);
38
- return (jsxs("svg", { viewBox: `0 0 ${size} ${size}`, width: size, height: size, role: "img", "aria-label": `Timer: ${left}s left of ${total}s`, children: [jsx("circle", { cx: center, cy: center, r: radius, fill: "transparent", stroke: "var(--ck-body-background-secondary, #EEE)", strokeWidth: stroke }), jsx("circle", { cx: center, cy: center, r: radius, fill: "transparent", stroke: color, strokeWidth: stroke, strokeDasharray: circumference, strokeDashoffset: dashoffset, strokeLinecap: "round", style: { transition: "stroke-dashoffset 1s linear" }, transform: `rotate(-90 ${center} ${center})` }), children && (jsx("foreignObject", { x: "0", y: "0", width: size, height: size, children: jsx("div", { style: {
39
- display: "flex",
40
- alignItems: "center",
41
- justifyContent: "center",
42
- width: "100%",
43
- height: "100%",
44
- }, children: children }) }))] }));
4
+ const CircleTimer = ({
5
+ total,
6
+ size = 24,
7
+ stroke = 3,
8
+ currentTime,
9
+ onTimeChange,
10
+ children
11
+ }) => {
12
+ const [target, setTarget] = useState(
13
+ Date.now() + (currentTime ?? total) * 1e3
14
+ );
15
+ const [left, setLeft] = useState(currentTime ?? total);
16
+ useEffect(() => {
17
+ if (currentTime !== void 0) {
18
+ setTarget(Date.now() + currentTime * 1e3);
19
+ setLeft(currentTime);
20
+ }
21
+ }, [currentTime]);
22
+ useEffect(() => {
23
+ const id = setInterval(() => {
24
+ const secs = Math.max(0, Math.ceil((target - Date.now()) / 1e3));
25
+ setLeft(secs);
26
+ onTimeChange?.(secs);
27
+ if (secs === 0) clearInterval(id);
28
+ }, 1e3);
29
+ return () => clearInterval(id);
30
+ }, [target, onTimeChange]);
31
+ const ratio = Math.round(left * 100 / total);
32
+ const radius = Math.floor((size - stroke) / 2);
33
+ const circumference = Math.round(2 * 314 * radius / 100);
34
+ const dashoffset = Math.round(circumference * (100 - ratio) / 100);
35
+ const color = ratio <= 10 ? "var(--timer-red, #D92D20)" : ratio <= 40 ? "var(--timer-orange, #F79009)" : "var(--timer-green, #12D18E)";
36
+ const center = Math.round(size / 2);
37
+ return /* @__PURE__ */ jsxs(
38
+ "svg",
39
+ {
40
+ viewBox: `0 0 ${size} ${size}`,
41
+ width: size,
42
+ height: size,
43
+ role: "img",
44
+ "aria-label": `Timer: ${left}s left of ${total}s`,
45
+ children: [
46
+ /* @__PURE__ */ jsx(
47
+ "circle",
48
+ {
49
+ cx: center,
50
+ cy: center,
51
+ r: radius,
52
+ fill: "transparent",
53
+ stroke: "var(--ck-body-background-secondary, #EEE)",
54
+ strokeWidth: stroke
55
+ }
56
+ ),
57
+ /* @__PURE__ */ jsx(
58
+ "circle",
59
+ {
60
+ cx: center,
61
+ cy: center,
62
+ r: radius,
63
+ fill: "transparent",
64
+ stroke: color,
65
+ strokeWidth: stroke,
66
+ strokeDasharray: circumference,
67
+ strokeDashoffset: dashoffset,
68
+ strokeLinecap: "round",
69
+ style: { transition: "stroke-dashoffset 1s linear" },
70
+ transform: `rotate(-90 ${center} ${center})`
71
+ }
72
+ ),
73
+ children && /* @__PURE__ */ jsx("foreignObject", { x: "0", y: "0", width: size, height: size, children: /* @__PURE__ */ jsx(
74
+ "div",
75
+ {
76
+ style: {
77
+ display: "flex",
78
+ alignItems: "center",
79
+ justifyContent: "center",
80
+ width: "100%",
81
+ height: "100%"
82
+ },
83
+ children
84
+ }
85
+ ) })
86
+ ]
87
+ }
88
+ );
45
89
  };
46
90
 
47
91
  export { CircleTimer as default };
@@ -1 +1 @@
1
- {"version":3,"file":"CircleTimer.js","sources":["../../../../src/components/Common/CircleTimer.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"CircleTimer.js","sources":["../../../../src/components/Common/CircleTimer.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useState } from \"react\";\n\n// CircleTimer – compact circular countdown indicator.\n// Mirrors SquareTimer logic but uses a circle SVG path.\n// All maths intentionally integer-based to avoid float precision loss.\n\nexport type CircleTimerProps = {\n /** Total seconds in the countdown */\n total: number;\n /** Diameter (outer) in px – should be an even integer */\n size?: number;\n /** Stroke width in px – integer */\n stroke?: number;\n /** Externally controlled seconds left */\n currentTime?: number;\n /** Fired each second with updated seconds left */\n onTimeChange?: (seconds: number) => void;\n /** Child can be placed at the centre (e.g. an icon) */\n children?: ReactNode;\n};\n\nconst CircleTimer: React.FC<CircleTimerProps> = ({\n total,\n size = 24,\n stroke = 3,\n currentTime,\n onTimeChange,\n children,\n}) => {\n // timestamp (ms) when timer ends\n const [target, setTarget] = useState<number>(\n Date.now() + (currentTime ?? total) * 1000,\n );\n\n const [left, setLeft] = useState<number>(currentTime ?? total);\n\n // react to external currentTime updates\n useEffect(() => {\n if (currentTime !== undefined) {\n setTarget(Date.now() + currentTime * 1000);\n setLeft(currentTime);\n }\n }, [currentTime]);\n\n // interval tick\n useEffect(() => {\n const id = setInterval(() => {\n const secs = Math.max(0, Math.ceil((target - Date.now()) / 1000));\n setLeft(secs);\n onTimeChange?.(secs);\n if (secs === 0) clearInterval(id);\n }, 1000);\n return () => clearInterval(id);\n }, [target, onTimeChange]);\n\n const ratio = Math.round((left * 100) / total); // 0-100\n\n // Ensure stroke stays within viewBox: use floor to be conservative\n const radius = Math.floor((size - stroke) / 2);\n const circumference = Math.round((2 * 314 * radius) / 100); // 2πr, π≈3.14\n const dashoffset = Math.round((circumference * (100 - ratio)) / 100);\n\n // colour transition: green → orange → red\n const color =\n ratio <= 10\n ? \"var(--timer-red, #D92D20)\"\n : ratio <= 40\n ? \"var(--timer-orange, #F79009)\"\n : \"var(--timer-green, #12D18E)\";\n\n const center = Math.round(size / 2);\n\n return (\n <svg\n viewBox={`0 0 ${size} ${size}`}\n width={size}\n height={size}\n role=\"img\"\n aria-label={`Timer: ${left}s left of ${total}s`}\n >\n {/* background circle */}\n <circle\n cx={center}\n cy={center}\n r={radius}\n fill=\"transparent\"\n stroke=\"var(--ck-body-background-secondary, #EEE)\"\n strokeWidth={stroke}\n />\n {/* progress circle */}\n <circle\n cx={center}\n cy={center}\n r={radius}\n fill=\"transparent\"\n stroke={color}\n strokeWidth={stroke}\n strokeDasharray={circumference}\n strokeDashoffset={dashoffset}\n strokeLinecap=\"round\"\n style={{ transition: \"stroke-dashoffset 1s linear\" }}\n transform={`rotate(-90 ${center} ${center})`}\n />\n {/* optional child */}\n {children && (\n <foreignObject x=\"0\" y=\"0\" width={size} height={size}>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n height: \"100%\",\n }}\n >\n {children}\n </div>\n </foreignObject>\n )}\n </svg>\n );\n};\n\nexport default CircleTimer;\n"],"names":[],"mappings":"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"}
@@ -5,95 +5,121 @@ import { useDaimoPay } from '../../../hooks/useDaimoPay.js';
5
5
  import useIsMobile from '../../../hooks/useIsMobile.js';
6
6
  import { useLastConnector } from '../../../hooks/useLastConnector.js';
7
7
  import { usePayContext } from '../../../hooks/usePayContext.js';
8
- import { detectBrowser, isCoinbaseWalletConnector } from '../../../utils/index.js';
8
+ import { detectBrowser, isBaseAccountConnector, isGeminiConnector } from '../../../utils/index.js';
9
9
  import { useWallets, WALLET_ID_OTHER_WALLET, WALLET_ID_MOBILE_WALLETS } from '../../../wallets/useWallets.js';
10
10
  import { ScrollArea } from '../ScrollArea/index.js';
11
11
  import Alert from '../Alert/index.js';
12
12
  import { ConnectorsContainer, ConnectorButton, ConnectorIcon, ConnectorLabel, RecentlyUsedTag, SkeletonIcon, SkeletonLabel } from './styles.js';
13
13
 
14
14
  const ConnectorList = () => {
15
- const context = usePayContext();
16
- const { isMobile } = useIsMobile();
17
- const wallets = useWallets(isMobile);
18
- const { lastConnectorId } = useLastConnector();
19
- const { paymentState } = useDaimoPay();
20
- const walletsToDisplay = context.options?.hideRecentBadge
21
- ? wallets
22
- : [
23
- // move last used wallet to top of list
24
- // using .filter and spread to avoid mutating original array order with .sort
25
- ...wallets.filter((wallet) => lastConnectorId === wallet.connector?.id),
26
- ...wallets.filter((wallet) => lastConnectorId !== wallet.connector?.id),
27
- ];
28
- // For mobile flow, we need to wait for the order to be hydrated before
29
- // we can deeplink to the in-wallet browser.
30
- const shouldWaitForHydration = isMobile && !context.paymentState.isDepositFlow;
31
- const ready = !shouldWaitForHydration || paymentState === "payment_unpaid";
32
- return (jsxs(ScrollArea, { mobileDirection: "horizontal", children: [walletsToDisplay.length === 0 && (jsx(Alert, { error: true, children: "No connectors found in ConnectKit config." })), !ready && walletsToDisplay.length > 0 && (jsx(ConnectorsContainer, { "$mobile": isMobile, "$totalResults": walletsToDisplay.length, children: walletsToDisplay.map((_, idx) => (jsx(SkeletonConnectorItem, {}, idx))) })), ready && walletsToDisplay.length > 0 && (jsx(ConnectorsContainer, { "$mobile": isMobile, "$totalResults": walletsToDisplay.length, children: walletsToDisplay.map((wallet) => (jsx(ConnectorItem, { wallet: wallet, isRecent: wallet.id === lastConnectorId }, wallet.id))) }))] }));
15
+ const context = usePayContext();
16
+ const { isMobile } = useIsMobile();
17
+ const wallets = useWallets(isMobile);
18
+ const { lastConnectorId } = useLastConnector();
19
+ const { paymentState } = useDaimoPay();
20
+ const walletsToDisplay = context.options?.hideRecentBadge ? wallets : [
21
+ // move last used wallet to top of list
22
+ // using .filter and spread to avoid mutating original array order with .sort
23
+ ...wallets.filter((wallet) => lastConnectorId === wallet.connector?.id),
24
+ ...wallets.filter((wallet) => lastConnectorId !== wallet.connector?.id)
25
+ ];
26
+ const shouldWaitForHydration = isMobile && !context.paymentState.isDepositFlow;
27
+ const ready = !shouldWaitForHydration || paymentState === "payment_unpaid";
28
+ return /* @__PURE__ */ jsxs(ScrollArea, { mobileDirection: "horizontal", children: [
29
+ walletsToDisplay.length === 0 && /* @__PURE__ */ jsx(Alert, { error: true, children: "No connectors found in ConnectKit config." }),
30
+ !ready && walletsToDisplay.length > 0 && /* @__PURE__ */ jsx(
31
+ ConnectorsContainer,
32
+ {
33
+ $mobile: isMobile,
34
+ $totalResults: walletsToDisplay.length,
35
+ children: walletsToDisplay.map((_, idx) => /* @__PURE__ */ jsx(SkeletonConnectorItem, {}, idx))
36
+ }
37
+ ),
38
+ ready && walletsToDisplay.length > 0 && /* @__PURE__ */ jsx(
39
+ ConnectorsContainer,
40
+ {
41
+ $mobile: isMobile,
42
+ $totalResults: walletsToDisplay.length,
43
+ children: walletsToDisplay.map((wallet) => /* @__PURE__ */ jsx(
44
+ ConnectorItem,
45
+ {
46
+ wallet,
47
+ isRecent: wallet.id === lastConnectorId
48
+ },
49
+ wallet.id
50
+ ))
51
+ }
52
+ )
53
+ ] });
33
54
  };
34
- const ConnectorItem = ({ wallet, isRecent, }) => {
35
- const { isMobile } = useIsMobile();
36
- const context = usePayContext();
37
- const { connect } = useConnect();
38
- // The "Other" 2x2 connector, goes to the MobileConnectors page.
39
- const redirectToMoreWallets = isMobile && wallet.id === WALLET_ID_OTHER_WALLET;
40
- const redirectToMobileWallets = wallet.id === WALLET_ID_MOBILE_WALLETS;
41
- // Safari requires opening popup on user gesture, so we connect immediately here
42
- const shouldConnectImmediately = (detectBrowser() === "safari" || detectBrowser() === "ios") &&
43
- isCoinbaseWalletConnector(wallet.connector?.id);
44
- const onClick = () => {
45
- const meta = { event: "connector-list-click", walletId: wallet.id };
46
- // Desktop multi-chain wallet flow: prompt for chain selection.
47
- if (wallet.solanaConnectorName && !isMobile) {
48
- const supportsEvm = wallet.connector?.name != null;
49
- if (supportsEvm) {
50
- context.paymentState.setSelectedWallet(wallet);
51
- context.setRoute(ROUTES.SELECT_WALLET_CHAIN, meta);
52
- return;
53
- }
54
- else {
55
- context.setSolanaConnector(wallet.solanaConnectorName);
56
- context.setRoute(ROUTES.SOLANA_CONNECTOR, meta);
57
- return;
58
- }
59
- }
60
- if (redirectToMoreWallets) {
61
- context.setRoute(ROUTES.MOBILECONNECTORS, meta);
62
- }
63
- else if (redirectToMobileWallets) {
64
- if (context.paymentState.isDepositFlow) {
65
- context.paymentState.setSelectedWallet(wallet);
66
- context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);
67
- }
68
- else {
69
- context.setPendingConnectorId(WALLET_ID_MOBILE_WALLETS);
70
- context.setRoute(ROUTES.CONNECT, meta);
71
- }
72
- }
73
- else if (context.paymentState.isDepositFlow &&
74
- isMobile &&
75
- !wallet.connector) {
76
- context.paymentState.setSelectedWallet(wallet);
77
- context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);
78
- }
79
- else if (isMobile &&
80
- wallet.getDaimoPayDeeplink != null &&
81
- !wallet.connector) {
82
- context.paymentState.openInWalletBrowser(wallet);
83
- }
84
- else {
85
- if (shouldConnectImmediately) {
86
- connect({ connector: wallet.connector });
87
- }
88
- context.setPendingConnectorId(wallet.id);
89
- context.setRoute(ROUTES.CONNECT, meta);
90
- }
91
- };
92
- return (jsxs(ConnectorButton, { type: "button", onClick: onClick, children: [jsx(ConnectorIcon, { "data-small": wallet.iconShouldShrink, "data-shape": wallet.iconShape, children: wallet.iconConnector ?? wallet.icon }), jsxs(ConnectorLabel, { children: [isMobile ? (wallet.shortName ?? wallet.name) : wallet.name, !context.options?.hideRecentBadge && isRecent && (jsx(RecentlyUsedTag, { children: jsx("span", { children: "Recent" }) }))] })] }));
55
+ const ConnectorItem = ({
56
+ wallet,
57
+ isRecent
58
+ }) => {
59
+ const { isMobile } = useIsMobile();
60
+ const context = usePayContext();
61
+ const { connect } = useConnect();
62
+ const redirectToMoreWallets = isMobile && wallet.id === WALLET_ID_OTHER_WALLET;
63
+ const redirectToMobileWallets = wallet.id === WALLET_ID_MOBILE_WALLETS;
64
+ const shouldConnectImmediately = (detectBrowser() === "safari" || detectBrowser() === "ios") && (isBaseAccountConnector(wallet.connector?.id) || isGeminiConnector(wallet.connector?.id));
65
+ const onClick = () => {
66
+ const meta = { event: "connector-list-click", walletId: wallet.id };
67
+ if (wallet.solanaConnectorName && !isMobile) {
68
+ const supportsEvm = wallet.connector?.name != null;
69
+ if (supportsEvm) {
70
+ context.paymentState.setSelectedWallet(wallet);
71
+ context.setRoute(ROUTES.SELECT_WALLET_CHAIN, meta);
72
+ return;
73
+ } else {
74
+ context.setSolanaConnector(wallet.solanaConnectorName);
75
+ context.setRoute(ROUTES.SOLANA_CONNECTOR, meta);
76
+ return;
77
+ }
78
+ }
79
+ if (redirectToMoreWallets) {
80
+ context.setRoute(ROUTES.MOBILECONNECTORS, meta);
81
+ } else if (redirectToMobileWallets) {
82
+ if (context.paymentState.isDepositFlow) {
83
+ context.paymentState.setSelectedWallet(wallet);
84
+ context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);
85
+ } else {
86
+ context.setPendingConnectorId(WALLET_ID_MOBILE_WALLETS);
87
+ context.setRoute(ROUTES.CONNECT, meta);
88
+ }
89
+ } else if (context.paymentState.isDepositFlow && isMobile && !wallet.connector) {
90
+ context.paymentState.setSelectedWallet(wallet);
91
+ context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);
92
+ } else if (isMobile && wallet.getDaimoPayDeeplink != null && !wallet.connector) {
93
+ context.paymentState.openInWalletBrowser(wallet);
94
+ } else {
95
+ if (shouldConnectImmediately) {
96
+ connect({ connector: wallet.connector });
97
+ }
98
+ context.setPendingConnectorId(wallet.id);
99
+ context.setRoute(ROUTES.CONNECT, meta);
100
+ }
101
+ };
102
+ return /* @__PURE__ */ jsxs(ConnectorButton, { type: "button", onClick, children: [
103
+ /* @__PURE__ */ jsx(
104
+ ConnectorIcon,
105
+ {
106
+ "data-small": wallet.iconShouldShrink,
107
+ "data-shape": wallet.iconShape,
108
+ children: wallet.iconConnector ?? wallet.icon
109
+ }
110
+ ),
111
+ /* @__PURE__ */ jsxs(ConnectorLabel, { children: [
112
+ isMobile ? wallet.shortName ?? wallet.name : wallet.name,
113
+ !context.options?.hideRecentBadge && isRecent && /* @__PURE__ */ jsx(RecentlyUsedTag, { children: /* @__PURE__ */ jsx("span", { children: "Recent" }) })
114
+ ] })
115
+ ] });
93
116
  };
94
117
  const SkeletonConnectorItem = () => {
95
- const { isMobile } = useIsMobile();
96
- return (jsxs(ConnectorButton, { type: "button", disabled: true, children: [jsx(SkeletonIcon, { "$mobile": isMobile }), jsx(SkeletonLabel, { "$mobile": isMobile })] }));
118
+ const { isMobile } = useIsMobile();
119
+ return /* @__PURE__ */ jsxs(ConnectorButton, { type: "button", disabled: true, children: [
120
+ /* @__PURE__ */ jsx(SkeletonIcon, { $mobile: isMobile }),
121
+ /* @__PURE__ */ jsx(SkeletonLabel, { $mobile: isMobile })
122
+ ] });
97
123
  };
98
124
 
99
125
  export { ConnectorList as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/ConnectorList/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Common/ConnectorList/index.tsx"],"sourcesContent":["import { ROUTES } from \"../../../constants/routes\";\nimport { useConnect } from \"../../../hooks/useConnect\";\nimport { useDaimoPay } from \"../../../hooks/useDaimoPay\";\nimport useIsMobile from \"../../../hooks/useIsMobile\";\nimport { useLastConnector } from \"../../../hooks/useLastConnector\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport {\n detectBrowser,\n isBaseAccountConnector,\n isGeminiConnector,\n} from \"../../../utils\";\nimport {\n WALLET_ID_MOBILE_WALLETS,\n WALLET_ID_OTHER_WALLET,\n WalletProps,\n useWallets,\n} from \"../../../wallets/useWallets\";\nimport { ScrollArea } from \"../../Common/ScrollArea\";\nimport Alert from \"../Alert\";\nimport {\n ConnectorButton,\n ConnectorIcon,\n ConnectorLabel,\n ConnectorsContainer,\n RecentlyUsedTag,\n SkeletonIcon,\n SkeletonLabel,\n} from \"./styles\";\n\nconst ConnectorList = () => {\n const context = usePayContext();\n const { isMobile } = useIsMobile();\n\n const wallets = useWallets(isMobile);\n const { lastConnectorId } = useLastConnector();\n const { paymentState } = useDaimoPay();\n\n const walletsToDisplay = context.options?.hideRecentBadge\n ? wallets\n : [\n // move last used wallet to top of list\n // using .filter and spread to avoid mutating original array order with .sort\n ...wallets.filter((wallet) => lastConnectorId === wallet.connector?.id),\n ...wallets.filter((wallet) => lastConnectorId !== wallet.connector?.id),\n ];\n\n // For mobile flow, we need to wait for the order to be hydrated before\n // we can deeplink to the in-wallet browser.\n const shouldWaitForHydration =\n isMobile && !context.paymentState.isDepositFlow;\n const ready = !shouldWaitForHydration || paymentState === \"payment_unpaid\";\n\n return (\n <ScrollArea mobileDirection={\"horizontal\"}>\n {walletsToDisplay.length === 0 && (\n <Alert error>No connectors found in ConnectKit config.</Alert>\n )}\n {!ready && walletsToDisplay.length > 0 && (\n <ConnectorsContainer\n $mobile={isMobile}\n $totalResults={walletsToDisplay.length}\n >\n {walletsToDisplay.map((_, idx) => (\n <SkeletonConnectorItem key={idx} />\n ))}\n </ConnectorsContainer>\n )}\n {ready && walletsToDisplay.length > 0 && (\n <ConnectorsContainer\n $mobile={isMobile}\n $totalResults={walletsToDisplay.length}\n >\n {walletsToDisplay.map((wallet) => (\n <ConnectorItem\n key={wallet.id}\n wallet={wallet}\n isRecent={wallet.id === lastConnectorId}\n />\n ))}\n </ConnectorsContainer>\n )}\n </ScrollArea>\n );\n};\n\nexport default ConnectorList;\n\nconst ConnectorItem = ({\n wallet,\n isRecent,\n}: {\n wallet: WalletProps;\n isRecent?: boolean;\n}) => {\n const { isMobile } = useIsMobile();\n const context = usePayContext();\n const { connect } = useConnect();\n\n // The \"Other\" 2x2 connector, goes to the MobileConnectors page.\n const redirectToMoreWallets =\n isMobile && wallet.id === WALLET_ID_OTHER_WALLET;\n const redirectToMobileWallets = wallet.id === WALLET_ID_MOBILE_WALLETS;\n\n // Safari requires opening popup on user gesture, so we connect immediately here\n const shouldConnectImmediately =\n (detectBrowser() === \"safari\" || detectBrowser() === \"ios\") &&\n (isBaseAccountConnector(wallet.connector?.id) ||\n isGeminiConnector(wallet.connector?.id));\n\n const onClick = () => {\n const meta = { event: \"connector-list-click\", walletId: wallet.id };\n\n // Desktop multi-chain wallet flow: prompt for chain selection.\n if (wallet.solanaConnectorName && !isMobile) {\n const supportsEvm = wallet.connector?.name != null;\n if (supportsEvm) {\n context.paymentState.setSelectedWallet(wallet);\n context.setRoute(ROUTES.SELECT_WALLET_CHAIN, meta);\n return;\n } else {\n context.setSolanaConnector(wallet.solanaConnectorName);\n context.setRoute(ROUTES.SOLANA_CONNECTOR, meta);\n return;\n }\n }\n if (redirectToMoreWallets) {\n context.setRoute(ROUTES.MOBILECONNECTORS, meta);\n } else if (redirectToMobileWallets) {\n if (context.paymentState.isDepositFlow) {\n context.paymentState.setSelectedWallet(wallet);\n context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);\n } else {\n context.setPendingConnectorId(WALLET_ID_MOBILE_WALLETS);\n context.setRoute(ROUTES.CONNECT, meta);\n }\n } else if (\n context.paymentState.isDepositFlow &&\n isMobile &&\n !wallet.connector\n ) {\n context.paymentState.setSelectedWallet(wallet);\n context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);\n } else if (\n isMobile &&\n wallet.getDaimoPayDeeplink != null &&\n !wallet.connector\n ) {\n context.paymentState.openInWalletBrowser(wallet);\n } else {\n if (shouldConnectImmediately) {\n connect({ connector: wallet.connector! });\n }\n context.setPendingConnectorId(wallet.id);\n context.setRoute(ROUTES.CONNECT, meta);\n }\n };\n\n return (\n <ConnectorButton type=\"button\" onClick={onClick}>\n <ConnectorIcon\n data-small={wallet.iconShouldShrink}\n data-shape={wallet.iconShape}\n >\n {wallet.iconConnector ?? wallet.icon}\n </ConnectorIcon>\n <ConnectorLabel>\n {isMobile ? (wallet.shortName ?? wallet.name) : wallet.name}\n {!context.options?.hideRecentBadge && isRecent && (\n <RecentlyUsedTag>\n <span>Recent</span>\n </RecentlyUsedTag>\n )}\n </ConnectorLabel>\n </ConnectorButton>\n );\n};\n\nconst SkeletonConnectorItem = () => {\n const { isMobile } = useIsMobile();\n\n return (\n <ConnectorButton type=\"button\" disabled>\n <SkeletonIcon $mobile={isMobile} />\n <SkeletonLabel $mobile={isMobile} />\n </ConnectorButton>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -2,30 +2,28 @@ import { keyframes, css } from 'styled-components';
2
2
  import styled from '../../../styles/styled/index.js';
3
3
  import { motion } from 'framer-motion';
4
4
 
5
- const Shimmer = keyframes `
5
+ const Shimmer = keyframes`
6
6
  0%{ transform: translate(-100%) rotate(-45deg); }
7
7
  100%{ transform: translate(100%) rotate(-80deg); }
8
8
  `;
9
- const Pulse = keyframes `
9
+ const Pulse = keyframes`
10
10
  0% { opacity: 0.6; }
11
11
  50% { opacity: 1; }
12
12
  100% { opacity: 0.6; }
13
13
  `;
14
- const ConnectorButton = styled(motion.button) `
14
+ const ConnectorButton = styled(motion.button)`
15
15
  display: block;
16
16
  text-decoration: none;
17
17
  `;
18
- const ConnectorLabel = styled(motion.span) ``;
19
- const ConnectorIcon = styled(motion.div) ``;
20
- const SkeletonIcon = styled.div `
21
- ${(p) => p.$mobile
22
- ? css `
18
+ const ConnectorLabel = styled(motion.span)``;
19
+ const ConnectorIcon = styled(motion.div)``;
20
+ const SkeletonIcon = styled.div`
21
+ ${(p) => p.$mobile ? css`
23
22
  position: relative;
24
23
  margin: 0 auto;
25
24
  width: 60px;
26
25
  height: 60px;
27
- `
28
- : css `
26
+ ` : css`
29
27
  position: absolute;
30
28
  right: 20px;
31
29
  width: 32px;
@@ -35,14 +33,12 @@ const SkeletonIcon = styled.div `
35
33
  background-color: rgba(0, 0, 0, 0.1);
36
34
  animation: ${Pulse} 1.5s ease-in-out infinite;
37
35
  `;
38
- const SkeletonLabel = styled.div `
39
- ${(p) => p.$mobile
40
- ? css `
36
+ const SkeletonLabel = styled.div`
37
+ ${(p) => p.$mobile ? css`
41
38
  width: 60px;
42
39
  height: 12px;
43
40
  margin: 10px auto 0;
44
- `
45
- : css `
41
+ ` : css`
46
42
  width: 100px;
47
43
  height: 16px;
48
44
  `}
@@ -50,10 +46,9 @@ const SkeletonLabel = styled.div `
50
46
  background-color: rgba(0, 0, 0, 0.1);
51
47
  animation: ${Pulse} 1.5s ease-in-out infinite;
52
48
  `;
53
- // This is a bit of a hack to not share styles between mobile and desktop
54
49
  const styles = {
55
- desktop: {
56
- ConnectorButton: css `
50
+ desktop: {
51
+ ConnectorButton: css`
57
52
  cursor: pointer;
58
53
  user-select: none;
59
54
  position: relative;
@@ -153,7 +148,7 @@ const styles = {
153
148
  }
154
149
  }
155
150
  `,
156
- ConnectorLabel: css `
151
+ ConnectorLabel: css`
157
152
  display: flex;
158
153
  align-items: center;
159
154
  gap: 9px;
@@ -164,7 +159,7 @@ const styles = {
164
159
  padding: 2px 0;
165
160
  padding-right: 38px;
166
161
  `,
167
- ConnectorIcon: css `
162
+ ConnectorIcon: css`
168
163
  position: absolute;
169
164
  right: 20px;
170
165
  width: 32px;
@@ -189,16 +184,16 @@ const styles = {
189
184
  &[data-shape="square"] {
190
185
  border-radius: 0;
191
186
  }
192
- `,
193
- },
194
- mobile: {
195
- ConnectorButton: css `
187
+ `
188
+ },
189
+ mobile: {
190
+ ConnectorButton: css`
196
191
  text-align: center;
197
192
  background: none;
198
193
  max-width: 100%;
199
194
  overflow: hidden;
200
195
  `,
201
- ConnectorLabel: css `
196
+ ConnectorLabel: css`
202
197
  display: block;
203
198
  text-overflow: ellipsis;
204
199
  max-width: 100%;
@@ -210,7 +205,7 @@ const styles = {
210
205
  font-weight: 500;
211
206
  opacity: 0.75;
212
207
  `,
213
- ConnectorIcon: css `
208
+ ConnectorIcon: css`
214
209
  position: relative;
215
210
  margin: 0 auto;
216
211
  width: 60px;
@@ -247,10 +242,10 @@ const styles = {
247
242
  &[data-shape="square"] {
248
243
  border-radius: 0;
249
244
  }
250
- `,
251
- },
245
+ `
246
+ }
252
247
  };
253
- const RecentlyUsedTag = styled(motion.span) `
248
+ const RecentlyUsedTag = styled(motion.span)`
254
249
  position: relative;
255
250
  top: var(--ck-recent-badge-top-offset, 0.5px);
256
251
  display: inline-block;
@@ -295,18 +290,16 @@ const RecentlyUsedTag = styled(motion.span) `
295
290
  animation: ${Shimmer} 2s linear infinite;
296
291
  }
297
292
  `;
298
- const ConnectorsContainer = styled.div `
293
+ const ConnectorsContainer = styled.div`
299
294
  transition: opacity 300ms ease;
300
295
  min-width: fit-content;
301
296
 
302
- ${(props) => props.$disabled &&
303
- css `
297
+ ${(props) => props.$disabled && css`
304
298
  pointer-events: none;
305
299
  opacity: 0.4;
306
300
  `}
307
301
 
308
- ${(props) => !props.$mobile
309
- ? css `
302
+ ${(props) => !props.$mobile ? css`
310
303
  display: flex;
311
304
  flex-direction: column;
312
305
  gap: 12px;
@@ -320,8 +313,7 @@ const ConnectorsContainer = styled.div `
320
313
  ${styles.desktop.ConnectorIcon}
321
314
  }
322
315
  }
323
- `
324
- : css `
316
+ ` : css`
325
317
  display: flex;
326
318
  align-items: flex-start;
327
319
  justify-content: space-around;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/ConnectorList/styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA,MAAM,OAAO,GAAG,SAAS,CAAA,CAAA;;;CAGxB,CAAC;AAEK,MAAM,KAAK,GAAG,SAAS,CAAA,CAAA;;;;EAI5B;AAEW,MAAA,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,CAAA;;;EAGlD;AACK,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA,EAAG;AAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAA,EAAG;AAErC,MAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAuB,CAAA;AACzD,EAAA,EAAA,CAAC,CAAwB,KACzB,CAAC,CAAC,OAAO;MACL,GAAG,CAAA,CAAA;;;;;AAKF,QAAA,CAAA;MACD,GAAG,CAAA,CAAA;;;;;AAKF,QAAA,CAAA,CAAA;;;eAGM,KAAK,CAAA;EAClB;AAEW,MAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAuB,CAAA;AAC1D,EAAA,EAAA,CAAC,CAAwB,KACzB,CAAC,CAAC,OAAO;MACL,GAAG,CAAA,CAAA;;;;AAIF,QAAA,CAAA;MACD,GAAG,CAAA,CAAA;;;AAGF,QAAA,CAAA,CAAA;;;eAGM,KAAK,CAAA;EAClB;AAEF;AACA,MAAM,MAAM,GAAG;AACb,IAAA,OAAO,EAAE;QACP,eAAe,EAAE,GAAG,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGnB,IAAA,CAAA;QACD,cAAc,EAAE,GAAG,CAAA,CAAA;;;;;;;;;;AAUlB,IAAA,CAAA;QACD,aAAa,EAAE,GAAG,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBjB,IAAA,CAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;QACN,eAAe,EAAE,GAAG,CAAA,CAAA;;;;;AAKnB,IAAA,CAAA;QACD,cAAc,EAAE,GAAG,CAAA,CAAA;;;;;;;;;;;AAWlB,IAAA,CAAA;QACD,aAAa,EAAE,GAAG,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCjB,IAAA,CAAA;AACF,KAAA;CACF,CAAC;AAEW,MAAA,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0CjC,OAAO,CAAA;;EAEtB;AAEW,MAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAI3C,CAAA;;;;AAIE,EAAA,EAAA,CAAC,KAAK,KACN,KAAK,CAAC,SAAS;AACf,IAAA,GAAG,CAAA,CAAA;;;AAGF,IAAA,CAAA,CAAA;;AAED,EAAA,EAAA,CAAC,KAAK,KACN,CAAC,KAAK,CAAC,OAAO;MACV,GAAG,CAAA,CAAA;;;;;YAKC,eAAe,CAAA;cACb,MAAM,CAAC,OAAO,CAAC,eAAe,CAAA;cAC9B,cAAc,CAAA;gBACZ,MAAM,CAAC,OAAO,CAAC,cAAc,CAAA;;cAE/B,aAAa,CAAA;gBACX,MAAM,CAAC,OAAO,CAAC,aAAa,CAAA;;;AAGnC,QAAA,CAAA;MACD,GAAG,CAAA,CAAA;;;;;;;;YAQC,eAAe,CAAA;;;cAGb,MAAM,CAAC,MAAM,CAAC,eAAe,CAAA;cAC7B,cAAc,CAAA;gBACZ,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;gBAC5B,eAAe,CAAA;;;;;;cAMjB,aAAa,CAAA;gBACX,MAAM,CAAC,MAAM,CAAC,aAAa,CAAA;;;AAGlC,QAAA,CAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../../src/components/Common/ConnectorList/styles.ts"],"sourcesContent":["import { css, keyframes } from \"styled-components\";\nimport styled from \"../../../styles/styled\";\n\nimport { motion } from \"framer-motion\";\n\nconst Shimmer = keyframes`\n 0%{ transform: translate(-100%) rotate(-45deg); }\n 100%{ transform: translate(100%) rotate(-80deg); }\n`;\n\nexport const Pulse = keyframes`\n 0% { opacity: 0.6; }\n 50% { opacity: 1; }\n 100% { opacity: 0.6; }\n`;\n\nexport const ConnectorButton = styled(motion.button)`\n display: block;\n text-decoration: none;\n`;\nexport const ConnectorLabel = styled(motion.span)``;\nexport const ConnectorIcon = styled(motion.div)``;\n\nexport const SkeletonIcon = styled.div<{ $mobile?: boolean }>`\n ${(p: { $mobile?: boolean }) =>\n p.$mobile\n ? css`\n position: relative;\n margin: 0 auto;\n width: 60px;\n height: 60px;\n `\n : css`\n position: absolute;\n right: 20px;\n width: 32px;\n height: 32px;\n `}\n border-radius: 22.5%;\n background-color: rgba(0, 0, 0, 0.1);\n animation: ${Pulse} 1.5s ease-in-out infinite;\n`;\n\nexport const SkeletonLabel = styled.div<{ $mobile?: boolean }>`\n ${(p: { $mobile?: boolean }) =>\n p.$mobile\n ? css`\n width: 60px;\n height: 12px;\n margin: 10px auto 0;\n `\n : css`\n width: 100px;\n height: 16px;\n `}\n border-radius: 8px;\n background-color: rgba(0, 0, 0, 0.1);\n animation: ${Pulse} 1.5s ease-in-out infinite;\n`;\n\n// This is a bit of a hack to not share styles between mobile and desktop\nconst styles = {\n desktop: {\n ConnectorButton: css`\n cursor: pointer;\n user-select: none;\n position: relative;\n display: flex;\n align-items: center;\n padding: 0 20px;\n width: 100%;\n height: 64px;\n font-size: 17px;\n font-weight: var(--ck-primary-button-font-weight, 500);\n line-height: 20px;\n text-align: var(--ck-body-button-text-align, left);\n transition: 180ms ease;\n transition-property: background, color, box-shadow, transform, opacity;\n will-change: transform, box-shadow, background-color, color, opacity;\n\n --fallback-color: var(--ck-primary-button-color);\n --fallback-background: var(--ck-primary-button-background);\n --fallback-box-shadow: var(--ck-primary-button-box-shadow);\n --fallback-border-radius: var(--ck-primary-button-border-radius);\n\n --color: var(--ck-primary-button-color, var(--fallback-color));\n --background: var(\n --ck-primary-button-background,\n var(--fallback-background)\n );\n --box-shadow: var(\n --ck-primary-button-box-shadow,\n var(--fallback-box-shadow)\n );\n --border-radius: var(\n --ck-primary-button-border-radius,\n var(--fallback-border-radius)\n );\n\n --hover-color: var(--ck-primary-button-hover-color, var(--color));\n --hover-background: var(\n --ck-primary-button-hover-background,\n var(--background)\n );\n --hover-box-shadow: var(\n --ck-primary-button-hover-box-shadow,\n var(--box-shadow)\n );\n --hover-border-radius: var(\n --ck-primary-button-hover-border-radius,\n var(--border-radius)\n );\n\n --active-color: var(--ck-primary-button-active-color, var(--hover-color));\n --active-background: var(\n --ck-primary-button-active-background,\n var(--hover-background)\n );\n --active-box-shadow: var(\n --ck-primary-button-active-box-shadow,\n var(--hover-box-shadow)\n );\n --active-border-radius: var(\n --ck-primary-button-active-border-radius,\n var(--hover-border-radius)\n );\n\n color: var(--color);\n background: var(--background);\n box-shadow: var(--box-shadow);\n border-radius: var(--border-radius);\n\n &:disabled {\n transition: 180ms ease;\n opacity: 0.4;\n }\n\n --bg: var(--background);\n &:not(:disabled) {\n &:hover {\n color: var(--hover-color);\n background: var(--hover-background);\n box-shadow: var(--hover-box-shadow);\n border-radius: var(--hover-border-radius);\n --bg: var(--hover-background, var(--background));\n }\n &:focus-visible {\n transition-duration: 100ms;\n color: var(--hover-color);\n background: var(--hover-background);\n box-shadow: var(--hover-box-shadow);\n border-radius: var(--hover-border-radius);\n --bg: var(--hover-background, var(--background));\n }\n &:active {\n color: var(--active-color);\n background: var(--active-background);\n box-shadow: var(--active-box-shadow);\n border-radius: var(--active-border-radius);\n --bg: var(--active-background, var(--background));\n }\n }\n `,\n ConnectorLabel: css`\n display: flex;\n align-items: center;\n gap: 9px;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding: 2px 0;\n padding-right: 38px;\n `,\n ConnectorIcon: css`\n position: absolute;\n right: 20px;\n width: 32px;\n height: 32px;\n overflow: hidden;\n svg,\n img {\n display: block;\n position: relative;\n pointer-events: none;\n overflow: hidden;\n width: 100%;\n height: 100%;\n }\n\n &[data-shape=\"squircle\"] {\n border-radius: 22.5%;\n }\n &[data-shape=\"circle\"] {\n border-radius: 100%;\n }\n &[data-shape=\"square\"] {\n border-radius: 0;\n }\n `,\n },\n mobile: {\n ConnectorButton: css`\n text-align: center;\n background: none;\n max-width: 100%;\n overflow: hidden;\n `,\n ConnectorLabel: css`\n display: block;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n padding: 10px 0 0;\n color: var(--ck-body-color);\n font-size: 13px;\n line-height: 15px;\n font-weight: 500;\n opacity: 0.75;\n `,\n ConnectorIcon: css`\n position: relative;\n margin: 0 auto;\n width: 60px;\n height: 60px;\n overflow: hidden;\n svg,\n img {\n display: block;\n position: relative;\n width: 100%;\n height: auto;\n }\n &[data-small=\"true\"] {\n svg,\n img {\n transform: scale(0.8);\n }\n }\n\n &[data-shape=\"squircle\"] {\n border-radius: 22.5%;\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 var(--ck-body-background-tertiary);\n }\n }\n &[data-shape=\"circle\"] {\n border-radius: 100%;\n }\n &[data-shape=\"square\"] {\n border-radius: 0;\n }\n `,\n },\n};\n\nexport const RecentlyUsedTag = styled(motion.span)`\n position: relative;\n top: var(--ck-recent-badge-top-offset, 0.5px);\n display: inline-block;\n padding: 10px 7px;\n line-height: 0;\n font-size: 13px;\n font-weight: 400;\n border-radius: var(--ck-recent-badge-border-radius, var(--border-radius));\n color: var(\n --ck-recent-badge-color,\n var(--ck-accent-color, var(--ck-body-color-muted, currentColor))\n );\n background: var(--ck-recent-badge-background, transparent);\n overflow: hidden;\n span {\n display: inline-block;\n position: relative;\n }\n &:before {\n z-index: 1;\n content: \"\";\n position: absolute;\n inset: 0;\n opacity: 0.4;\n box-shadow: var(--ck-recent-badge-box-shadow, inset 0 0 0 1px currentColor);\n border-radius: inherit;\n }\n &:after {\n z-index: 2;\n content: \"\";\n position: absolute;\n inset: -10%;\n top: -110%;\n aspect-ratio: 1/1;\n opacity: 0.7;\n background: linear-gradient(\n 170deg,\n transparent 10%,\n var(--ck-recent-badge-background, var(--bg)) 50%,\n transparent 90%\n );\n animation: ${Shimmer} 2s linear infinite;\n }\n`;\n\nexport const ConnectorsContainer = styled.div<{\n $mobile?: boolean;\n $disabled?: boolean;\n $totalResults?: number;\n}>`\n transition: opacity 300ms ease;\n min-width: fit-content;\n\n ${(props) =>\n props.$disabled &&\n css`\n pointer-events: none;\n opacity: 0.4;\n `}\n\n ${(props) =>\n !props.$mobile\n ? css`\n display: flex;\n flex-direction: column;\n gap: 12px;\n\n ${ConnectorButton} {\n ${styles.desktop.ConnectorButton}\n ${ConnectorLabel} {\n ${styles.desktop.ConnectorLabel}\n }\n ${ConnectorIcon} {\n ${styles.desktop.ConnectorIcon}\n }\n }\n `\n : css`\n display: flex;\n align-items: flex-start;\n justify-content: space-around;\n gap: 22px 6px;\n //margin: 0px -10px -20px;\n padding: 14px 0px 28px;\n\n ${ConnectorButton} {\n flex-shrink: 0;\n width: 80px;\n ${styles.mobile.ConnectorButton}\n ${ConnectorLabel} {\n ${styles.mobile.ConnectorLabel}\n ${RecentlyUsedTag} {\n display: none;\n width: fit-content;\n margin: 0 auto;\n }\n }\n ${ConnectorIcon} {\n ${styles.mobile.ConnectorIcon}\n }\n }\n `}\n`;\n"],"names":[],"mappings":"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"}