@daimo/pay 0.3.21 → 1.0.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 (302) hide show
  1. package/build/index.d.ts +132 -301
  2. package/build/package.json.js +103 -0
  3. package/build/package.json.js.map +1 -0
  4. package/build/src/assets/ScanIconWithLogos.js +34 -0
  5. package/build/src/assets/ScanIconWithLogos.js.map +1 -0
  6. package/build/src/assets/browsers.js +13 -0
  7. package/build/src/assets/browsers.js.map +1 -0
  8. package/build/src/assets/chains.js +152 -0
  9. package/build/src/assets/chains.js.map +1 -0
  10. package/build/src/assets/coins.js +6 -0
  11. package/build/src/assets/coins.js.map +1 -0
  12. package/build/src/assets/crepe.js +8 -0
  13. package/build/src/assets/crepe.js.map +1 -0
  14. package/build/src/assets/icons.js +28 -0
  15. package/build/src/assets/icons.js.map +1 -0
  16. package/build/src/assets/logos.js +131 -0
  17. package/build/src/assets/logos.js.map +1 -0
  18. package/build/src/assets/wallet.js +8 -0
  19. package/build/src/assets/wallet.js.map +1 -0
  20. package/build/src/assets/wave.js +6 -0
  21. package/build/src/assets/wave.js.map +1 -0
  22. package/build/src/components/Common/Alert/index.js +10 -0
  23. package/build/src/components/Common/Alert/index.js.map +1 -0
  24. package/build/src/components/Common/Alert/styles.js +55 -0
  25. package/build/src/components/Common/Alert/styles.js.map +1 -0
  26. package/build/src/components/Common/Avatar/index.js +66 -0
  27. package/build/src/components/Common/Avatar/index.js.map +1 -0
  28. package/build/src/components/Common/Avatar/styles.js +59 -0
  29. package/build/src/components/Common/Avatar/styles.js.map +1 -0
  30. package/build/src/components/Common/BrowserIcon/index.js +28 -0
  31. package/build/src/components/Common/BrowserIcon/index.js.map +1 -0
  32. package/build/src/components/Common/BrowserIcon/styles.js +20 -0
  33. package/build/src/components/Common/BrowserIcon/styles.js.map +1 -0
  34. package/build/src/components/Common/Button/index.js +38 -0
  35. package/build/src/components/Common/Button/index.js.map +1 -0
  36. package/build/src/components/Common/Button/styles.js +291 -0
  37. package/build/src/components/Common/Button/styles.js.map +1 -0
  38. package/build/src/components/Common/Chain/index.js +25 -0
  39. package/build/src/components/Common/Chain/index.js.map +1 -0
  40. package/build/src/components/Common/Chain/styles.js +94 -0
  41. package/build/src/components/Common/Chain/styles.js.map +1 -0
  42. package/build/src/components/Common/ChainSelectList/index.js +107 -0
  43. package/build/src/components/Common/ChainSelectList/index.js.map +1 -0
  44. package/build/src/components/Common/ChainSelectList/styles.js +228 -0
  45. package/build/src/components/Common/ChainSelectList/styles.js.map +1 -0
  46. package/build/src/components/Common/ConnectorList/index.js +70 -0
  47. package/build/src/components/Common/ConnectorList/index.js.map +1 -0
  48. package/build/src/components/Common/ConnectorList/styles.js +314 -0
  49. package/build/src/components/Common/ConnectorList/styles.js.map +1 -0
  50. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +71 -0
  51. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
  52. package/build/src/components/Common/CopyToClipboard/index.js +51 -0
  53. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
  54. package/build/src/components/Common/CustomQRCode/QRCode.js +69 -0
  55. package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
  56. package/build/src/components/Common/CustomQRCode/index.js +22 -0
  57. package/build/src/components/Common/CustomQRCode/index.js.map +1 -0
  58. package/build/src/components/Common/CustomQRCode/styles.js +155 -0
  59. package/build/src/components/Common/CustomQRCode/styles.js.map +1 -0
  60. package/build/src/components/Common/FitText/index.js +27 -0
  61. package/build/src/components/Common/FitText/index.js.map +1 -0
  62. package/build/src/components/Common/Modal/index.js +297 -0
  63. package/build/src/components/Common/Modal/index.js.map +1 -0
  64. package/build/src/components/Common/Modal/styles.js +660 -0
  65. package/build/src/components/Common/Modal/styles.js.map +1 -0
  66. package/build/src/components/Common/OptionsList/index.js +106 -0
  67. package/build/src/components/Common/OptionsList/index.js.map +1 -0
  68. package/build/src/components/Common/OptionsList/styles.js +165 -0
  69. package/build/src/components/Common/OptionsList/styles.js.map +1 -0
  70. package/build/src/components/Common/OrderHeader/index.js +215 -0
  71. package/build/src/components/Common/OrderHeader/index.js.map +1 -0
  72. package/build/src/components/Common/Portal/index.js +31 -0
  73. package/build/src/components/Common/Portal/index.js.map +1 -0
  74. package/build/src/components/Common/PoweredByFooter/index.js +44 -0
  75. package/build/src/components/Common/PoweredByFooter/index.js.map +1 -0
  76. package/build/src/components/Common/ScrollArea/index.js +62 -0
  77. package/build/src/components/Common/ScrollArea/index.js.map +1 -0
  78. package/build/src/components/Common/ScrollArea/styles.js +168 -0
  79. package/build/src/components/Common/ScrollArea/styles.js.map +1 -0
  80. package/build/src/components/Common/Spinner/index.js +24 -0
  81. package/build/src/components/Common/Spinner/index.js.map +1 -0
  82. package/build/src/components/Common/Spinner/styles.js +22 -0
  83. package/build/src/components/Common/Spinner/styles.js.map +1 -0
  84. package/build/src/components/Common/ThemedButton/index.js +25 -0
  85. package/build/src/components/Common/ThemedButton/index.js.map +1 -0
  86. package/build/src/components/Common/ThemedButton/styles.js +152 -0
  87. package/build/src/components/Common/ThemedButton/styles.js.map +1 -0
  88. package/build/src/components/Common/Tooltip/index.js +97 -0
  89. package/build/src/components/Common/Tooltip/index.js.map +1 -0
  90. package/build/src/components/Common/Tooltip/styles.js +81 -0
  91. package/build/src/components/Common/Tooltip/styles.js.map +1 -0
  92. package/build/src/components/DaimoPay.js +232 -0
  93. package/build/src/components/DaimoPay.js.map +1 -0
  94. package/build/src/components/DaimoPayButton/index.js +129 -0
  95. package/build/src/components/DaimoPayButton/index.js.map +1 -0
  96. package/build/src/components/DaimoPayButton/styles.js +50 -0
  97. package/build/src/components/DaimoPayButton/styles.js.map +1 -0
  98. package/build/src/components/DaimoPayModal/ConnectUsing.js +45 -0
  99. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
  100. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +202 -0
  101. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
  102. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +133 -0
  103. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
  104. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +75 -0
  105. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
  106. package/build/src/components/DaimoPayModal/index.js +140 -0
  107. package/build/src/components/DaimoPayModal/index.js.map +1 -0
  108. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +21 -0
  109. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
  110. package/build/src/components/Pages/About/graphics.js +187 -0
  111. package/build/src/components/Pages/About/graphics.js.map +1 -0
  112. package/build/src/components/Pages/About/index.js +131 -0
  113. package/build/src/components/Pages/About/index.js.map +1 -0
  114. package/build/src/components/Pages/About/styles.js +144 -0
  115. package/build/src/components/Pages/About/styles.js.map +1 -0
  116. package/build/src/components/Pages/Confirmation/index.js +105 -0
  117. package/build/src/components/Pages/Confirmation/index.js.map +1 -0
  118. package/build/src/components/Pages/Connectors/index.js +20 -0
  119. package/build/src/components/Pages/Connectors/index.js.map +1 -0
  120. package/build/src/components/Pages/Connectors/styles.js +267 -0
  121. package/build/src/components/Pages/Connectors/styles.js.map +1 -0
  122. package/build/src/components/Pages/DownloadApp/index.js +30 -0
  123. package/build/src/components/Pages/DownloadApp/index.js.map +1 -0
  124. package/build/src/components/Pages/MobileConnectors/index.js +73 -0
  125. package/build/src/components/Pages/MobileConnectors/index.js.map +1 -0
  126. package/build/src/components/Pages/MobileConnectors/styles.js +65 -0
  127. package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -0
  128. package/build/src/components/Pages/Onboarding/index.js +18 -0
  129. package/build/src/components/Pages/Onboarding/index.js.map +1 -0
  130. package/build/src/components/Pages/Onboarding/styles.js +229 -0
  131. package/build/src/components/Pages/Onboarding/styles.js.map +1 -0
  132. package/build/src/components/Pages/PayWithToken/index.js +204 -0
  133. package/build/src/components/Pages/PayWithToken/index.js.map +1 -0
  134. package/build/src/components/Pages/SelectDepositAddressChain/index.js +32 -0
  135. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
  136. package/build/src/components/Pages/SelectMethod/index.js +113 -0
  137. package/build/src/components/Pages/SelectMethod/index.js.map +1 -0
  138. package/build/src/components/Pages/SelectToken/index.js +62 -0
  139. package/build/src/components/Pages/SelectToken/index.js.map +1 -0
  140. package/build/src/components/Pages/Solana/ConnectSolana/index.js +37 -0
  141. package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +1 -0
  142. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +45 -0
  143. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
  144. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +85 -0
  145. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
  146. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js +38 -0
  147. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js.map +1 -0
  148. package/build/src/components/Pages/SwitchNetworks/index.js +26 -0
  149. package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -0
  150. package/build/src/components/Pages/WaitingDepositAddress/index.js +51 -0
  151. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
  152. package/build/src/components/Pages/WaitingOther/index.js +91 -0
  153. package/build/src/components/Pages/WaitingOther/index.js.map +1 -0
  154. package/build/src/components/Spinners/CircleSpinner/index.js +15 -0
  155. package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -0
  156. package/build/src/components/Spinners/CircleSpinner/styles.js +118 -0
  157. package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
  158. package/build/src/components/Spinners/SquircleSpinner/index.js +15 -0
  159. package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
  160. package/build/src/components/Spinners/SquircleSpinner/styles.js +66 -0
  161. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
  162. package/build/src/components/contexts/solana/index.js +11 -0
  163. package/build/src/components/contexts/solana/index.js.map +1 -0
  164. package/build/src/components/contexts/web3/index.js +46 -0
  165. package/build/src/components/contexts/web3/index.js.map +1 -0
  166. package/build/src/constants/chainConfigs.js +306 -0
  167. package/build/src/constants/chainConfigs.js.map +1 -0
  168. package/build/src/constants/defaultTheme.js +6 -0
  169. package/build/src/constants/defaultTheme.js.map +1 -0
  170. package/build/src/defaultConfig.js +59 -0
  171. package/build/src/defaultConfig.js.map +1 -0
  172. package/build/src/defaultConnectors.js +43 -0
  173. package/build/src/defaultConnectors.js.map +1 -0
  174. package/build/src/hooks/connectors/useWalletConnectUri.js +93 -0
  175. package/build/src/hooks/connectors/useWalletConnectUri.js.map +1 -0
  176. package/build/src/hooks/useChainIsSupported.js +12 -0
  177. package/build/src/hooks/useChainIsSupported.js.map +1 -0
  178. package/build/src/hooks/useChains.js +11 -0
  179. package/build/src/hooks/useChains.js.map +1 -0
  180. package/build/src/hooks/useConnect.js +45 -0
  181. package/build/src/hooks/useConnect.js.map +1 -0
  182. package/build/src/hooks/useConnectCallback.js +18 -0
  183. package/build/src/hooks/useConnectCallback.js.map +1 -0
  184. package/build/src/hooks/useConnectors.js +29 -0
  185. package/build/src/hooks/useConnectors.js.map +1 -0
  186. package/build/src/hooks/useDaimoPayStatus.js +37 -0
  187. package/build/src/hooks/useDaimoPayStatus.js.map +1 -0
  188. package/build/src/hooks/useDepositAddressOptions.js +28 -0
  189. package/build/src/hooks/useDepositAddressOptions.js.map +1 -0
  190. package/build/src/hooks/useEnsFallbackConfig.js +16 -0
  191. package/build/src/hooks/useEnsFallbackConfig.js.map +1 -0
  192. package/build/src/hooks/useExternalPaymentOptions.js +46 -0
  193. package/build/src/hooks/useExternalPaymentOptions.js.map +1 -0
  194. package/build/src/hooks/useFitText.js +148 -0
  195. package/build/src/hooks/useFitText.js.map +1 -0
  196. package/build/src/hooks/useFocusTrap.js +60 -0
  197. package/build/src/hooks/useFocusTrap.js.map +1 -0
  198. package/build/src/hooks/useGoogleFont.js +45 -0
  199. package/build/src/hooks/useGoogleFont.js.map +1 -0
  200. package/build/src/hooks/useIsMobile.js +17 -0
  201. package/build/src/hooks/useIsMobile.js.map +1 -0
  202. package/build/src/hooks/useIsMounted.js +12 -0
  203. package/build/src/hooks/useIsMounted.js.map +1 -0
  204. package/build/src/hooks/useLastConnector.js +24 -0
  205. package/build/src/hooks/useLastConnector.js.map +1 -0
  206. package/build/src/hooks/useLocales.js +67 -0
  207. package/build/src/hooks/useLocales.js.map +1 -0
  208. package/build/src/hooks/useLockBodyScroll.js +53 -0
  209. package/build/src/hooks/useLockBodyScroll.js.map +1 -0
  210. package/build/src/hooks/useModal.js +35 -0
  211. package/build/src/hooks/useModal.js.map +1 -0
  212. package/build/src/hooks/usePayWithSolanaToken.js +50 -0
  213. package/build/src/hooks/usePayWithSolanaToken.js.map +1 -0
  214. package/build/src/hooks/usePayWithToken.js +57 -0
  215. package/build/src/hooks/usePayWithToken.js.map +1 -0
  216. package/build/src/hooks/usePaymentState.js +243 -0
  217. package/build/src/hooks/usePaymentState.js.map +1 -0
  218. package/build/src/hooks/usePrevious.js +14 -0
  219. package/build/src/hooks/usePrevious.js.map +1 -0
  220. package/build/src/hooks/useSolanaPaymentOptions.js +37 -0
  221. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -0
  222. package/build/src/hooks/useWalletConnectModal.js +52 -0
  223. package/build/src/hooks/useWalletConnectModal.js.map +1 -0
  224. package/build/src/hooks/useWalletPaymentOptions.js +40 -0
  225. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -0
  226. package/build/src/hooks/useWindowSize.js +23 -0
  227. package/build/src/hooks/useWindowSize.js.map +1 -0
  228. package/build/src/index.js +10 -0
  229. package/build/src/index.js.map +1 -0
  230. package/build/src/localizations/index.js +57 -0
  231. package/build/src/localizations/index.js.map +1 -0
  232. package/build/src/localizations/locales/ar-AE.js +97 -0
  233. package/build/src/localizations/locales/ar-AE.js.map +1 -0
  234. package/build/src/localizations/locales/ca-AD.js +95 -0
  235. package/build/src/localizations/locales/ca-AD.js.map +1 -0
  236. package/build/src/localizations/locales/ee-EE.js +95 -0
  237. package/build/src/localizations/locales/ee-EE.js.map +1 -0
  238. package/build/src/localizations/locales/en-US.js +95 -0
  239. package/build/src/localizations/locales/en-US.js.map +1 -0
  240. package/build/src/localizations/locales/es-ES.js +95 -0
  241. package/build/src/localizations/locales/es-ES.js.map +1 -0
  242. package/build/src/localizations/locales/fa-IR.js +95 -0
  243. package/build/src/localizations/locales/fa-IR.js.map +1 -0
  244. package/build/src/localizations/locales/fr-FR.js +95 -0
  245. package/build/src/localizations/locales/fr-FR.js.map +1 -0
  246. package/build/src/localizations/locales/ja-JP.js +95 -0
  247. package/build/src/localizations/locales/ja-JP.js.map +1 -0
  248. package/build/src/localizations/locales/pt-BR.js +95 -0
  249. package/build/src/localizations/locales/pt-BR.js.map +1 -0
  250. package/build/src/localizations/locales/ru-RU.js +95 -0
  251. package/build/src/localizations/locales/ru-RU.js.map +1 -0
  252. package/build/src/localizations/locales/tr-TR.js +95 -0
  253. package/build/src/localizations/locales/tr-TR.js.map +1 -0
  254. package/build/src/localizations/locales/vi-VN.js +95 -0
  255. package/build/src/localizations/locales/vi-VN.js.map +1 -0
  256. package/build/src/localizations/locales/zh-CN.js +95 -0
  257. package/build/src/localizations/locales/zh-CN.js.map +1 -0
  258. package/build/src/styles/defaultTheme.js +89 -0
  259. package/build/src/styles/defaultTheme.js.map +1 -0
  260. package/build/src/styles/index.js +329 -0
  261. package/build/src/styles/index.js.map +1 -0
  262. package/build/src/styles/styled/index.js +16 -0
  263. package/build/src/styles/styled/index.js.map +1 -0
  264. package/build/src/styles/themes/base.js +141 -0
  265. package/build/src/styles/themes/base.js.map +1 -0
  266. package/build/src/styles/themes/index.js +13 -0
  267. package/build/src/styles/themes/index.js.map +1 -0
  268. package/build/src/styles/themes/midnight.js +76 -0
  269. package/build/src/styles/themes/midnight.js.map +1 -0
  270. package/build/src/styles/themes/minimal.js +96 -0
  271. package/build/src/styles/themes/minimal.js.map +1 -0
  272. package/build/src/styles/themes/nouns.js +81 -0
  273. package/build/src/styles/themes/nouns.js.map +1 -0
  274. package/build/src/styles/themes/retro.js +106 -0
  275. package/build/src/styles/themes/retro.js.map +1 -0
  276. package/build/src/styles/themes/rounded.js +106 -0
  277. package/build/src/styles/themes/rounded.js.map +1 -0
  278. package/build/src/styles/themes/soft.js +71 -0
  279. package/build/src/styles/themes/soft.js.map +1 -0
  280. package/build/src/styles/themes/web95.js +132 -0
  281. package/build/src/styles/themes/web95.js.map +1 -0
  282. package/build/src/utils/exports.js +12 -0
  283. package/build/src/utils/exports.js.map +1 -0
  284. package/build/src/utils/index.js +39 -0
  285. package/build/src/utils/index.js.map +1 -0
  286. package/build/src/utils/p3.js +16 -0
  287. package/build/src/utils/p3.js.map +1 -0
  288. package/build/src/utils/platform.js +13 -0
  289. package/build/src/utils/platform.js.map +1 -0
  290. package/build/src/utils/trpc.js +14 -0
  291. package/build/src/utils/trpc.js.map +1 -0
  292. package/build/src/utils/wallets.js +14 -0
  293. package/build/src/utils/wallets.js.map +1 -0
  294. package/build/src/wallets/index.js +32 -0
  295. package/build/src/wallets/index.js.map +1 -0
  296. package/build/src/wallets/useWallets.js +86 -0
  297. package/build/src/wallets/useWallets.js.map +1 -0
  298. package/build/src/wallets/walletConfigs.js +362 -0
  299. package/build/src/wallets/walletConfigs.js.map +1 -0
  300. package/package.json +5 -5
  301. package/build/index.es.js +0 -11565
  302. package/build/index.es.js.map +0 -1
@@ -0,0 +1,228 @@
1
+ import { motion } from 'framer-motion';
2
+ import { css } from 'styled-components';
3
+ import styled from '../../../styles/styled/index.js';
4
+ import defaultTheme from '../../../constants/defaultTheme.js';
5
+
6
+ const SwitchNetworksContainer = styled.div `
7
+ display: flex;
8
+ flex-direction: column;
9
+
10
+ @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
11
+ flex-direction: column-reverse;
12
+ }
13
+ `;
14
+ const ChainIcon = styled(motion.div) `
15
+ display: block;
16
+ position: relative;
17
+ border-radius: 12px;
18
+ overflow: hidden;
19
+ width: 24px;
20
+ height: 24px;
21
+ min-width: 24px;
22
+ min-height: 24px;
23
+ background: var(--ck-body-background);
24
+ svg {
25
+ border-radius: inherit;
26
+ display: block;
27
+ position: relative;
28
+ transform: translate3d(0, 0, 0);
29
+ width: 100%;
30
+ height: auto;
31
+ }
32
+ ${(props) => props.$empty &&
33
+ css `
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ &:before {
38
+ content: "?";
39
+ color: var(--ck-body-color-muted);
40
+ font-weight: bold;
41
+ font-family: var(--ck-font-family);
42
+ }
43
+ `}
44
+ @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
45
+ border-radius: 16px;
46
+ width: 32px;
47
+ height: 32px;
48
+ }
49
+ `;
50
+ const ChainLogoContainer = styled(motion.div) `
51
+ position: relative;
52
+ `;
53
+ const ChainLogoSpinner = styled(motion.div) `
54
+ position: absolute;
55
+ inset: -6px;
56
+ animation: rotateSpinner 1200ms linear infinite;
57
+ pointer-events: none;
58
+ svg {
59
+ display: block;
60
+ position: relative;
61
+ transform: translate3d(0, 0, 0);
62
+ width: 100%;
63
+ height: auto;
64
+ }
65
+ @keyframes rotateSpinner {
66
+ 0% {
67
+ transform: rotate(0deg);
68
+ }
69
+ 100% {
70
+ transform: rotate(360deg);
71
+ }
72
+ }
73
+ `;
74
+ const ChainButtonContainer = styled.div `
75
+ position: relative;
76
+ margin: -8px -8px;
77
+ &:after {
78
+ border-radius: var(--border-radius, 0);
79
+ z-index: 2;
80
+ content: "";
81
+ pointer-events: none;
82
+ position: absolute;
83
+ inset: 0 2px;
84
+ box-shadow:
85
+ inset 0 16px 8px -12px var(--background, var(--ck-body-background)),
86
+ inset 0 -16px 8px -12px var(--background, var(--ck-body-background));
87
+ }
88
+ `;
89
+ const ChainButtons = styled(motion.div) `
90
+ padding: 8px;
91
+ overflow-x: hidden;
92
+ overflow-y: auto;
93
+ max-height: 242px;
94
+
95
+ -ms-overflow-style: none; /* Internet Explorer 10+ */
96
+ scrollbar-width: none; /* Firefox */
97
+ &::-webkit-scrollbar {
98
+ display: none; /* Safari and Chrome */
99
+ }
100
+
101
+ @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
102
+ padding: 8px 14px;
103
+ margin: 2px -2px 0;
104
+ max-height: 60vh;
105
+ }
106
+ `;
107
+ const ChainButton = styled(motion.button) `
108
+ appearance: none;
109
+ cursor: pointer;
110
+ user-select: none;
111
+ position: relative;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: space-between;
115
+ width: 100%;
116
+ border-radius: 11px;
117
+ margin: 0 0 1px;
118
+ padding: 8px 0;
119
+ padding-right: 154px;
120
+ font-size: 15px;
121
+ line-height: 18px;
122
+ font-weight: 500;
123
+ text-decoration: none;
124
+ color: var(--ck-body-color);
125
+ background: none;
126
+ white-space: nowrap;
127
+ transition:
128
+ transform 100ms ease,
129
+ background-color 100ms ease;
130
+ transform: translateZ(0px);
131
+ &:before {
132
+ content: "";
133
+ background: currentColor;
134
+ position: absolute;
135
+ z-index: -1;
136
+ inset: 0 var(--ck-dropdown-active-inset, -8px);
137
+ border-radius: var(--ck-dropdown-active-border-radius, 12px);
138
+ opacity: 0;
139
+ transition: opacity 180ms ease;
140
+ }
141
+ &:after {
142
+ content: "";
143
+ position: absolute;
144
+ z-index: -1;
145
+ inset: 0 var(--ck-dropdown-active-inset, -8px);
146
+ border-radius: 12px;
147
+ opacity: 0;
148
+ transition: opacity 180ms ease;
149
+ outline: 2px solid var(--ck-focus-color);
150
+ }
151
+ @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
152
+ font-size: 17px;
153
+ padding: 8px 0;
154
+ }
155
+ @media only screen and (min-width: ${defaultTheme.mobileWidth}px) {
156
+ &:hover {
157
+ &:before {
158
+ transition-duration: 80ms;
159
+ opacity: 0.05;
160
+ }
161
+ }
162
+ }
163
+ &:active {
164
+ transform: scale(0.99) translateZ(0px);
165
+ }
166
+ &:disabled {
167
+ //opacity: 0.4;
168
+ pointer-events: none;
169
+ }
170
+ &:focus-visible {
171
+ outline: none !important;
172
+ &:after {
173
+ opacity: 1;
174
+ }
175
+ }
176
+ ${(props) => props.$variant === "secondary" &&
177
+ css `
178
+ padding: 12px 4px;
179
+ margin: 0 0 8px;
180
+ &:last-child {
181
+ margin-bottom: 0;
182
+ }
183
+ &:before {
184
+ opacity: 0.05;
185
+ }
186
+ &:hover:before {
187
+ opacity: 0.1;
188
+ }
189
+ `}
190
+ `;
191
+ const ChainButtonStatus = styled(motion.div) `
192
+ position: absolute;
193
+ top: 0;
194
+ bottom: 0;
195
+ right: 0;
196
+ display: flex;
197
+ align-items: center;
198
+ justify-content: center;
199
+
200
+ color: var(--ck-body-color-muted);
201
+ font-size: 15px;
202
+ line-height: 18px;
203
+ font-weight: 500;
204
+ padding-right: 4px;
205
+ span {
206
+ display: block;
207
+ position: relative;
208
+ }
209
+ @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
210
+ font-size: 17px;
211
+ padding: 0;
212
+ }
213
+ `;
214
+ const ChainButtonBg = styled(motion.div) `
215
+ position: absolute;
216
+ z-index: -1;
217
+ inset: 0 var(--ck-dropdown-active-inset, -8px);
218
+ background: var(--ck-dropdown-active-background, rgba(26, 136, 248, 0.1));
219
+ box-shadow var(--ck-dropdown-active-box-shadow);
220
+ border-radius: var(--ck-dropdown-active-border-radius, 12px);
221
+
222
+ @media only screen and (max-width: ${defaultTheme.mobileWidth}px) {
223
+ inset: 0 var(--ck-dropdown-active-inset, -8px);
224
+ }
225
+ `;
226
+
227
+ export { ChainButton, ChainButtonBg, ChainButtonContainer, ChainButtonStatus, ChainButtons, ChainIcon, ChainLogoContainer, ChainLogoSpinner, SwitchNetworksContainer };
228
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,70 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { usePayContext, ROUTES } from '../../DaimoPay.js';
3
+ import { ConnectorsContainer, ConnectorButton, ConnectorIcon, ConnectorLabel, RecentlyUsedTag } from './styles.js';
4
+ import { useWeb3 } from '../../contexts/web3/index.js';
5
+ import useIsMobile from '../../../hooks/useIsMobile.js';
6
+ import { ScrollArea } from '../ScrollArea/index.js';
7
+ import Alert from '../Alert/index.js';
8
+ import { useConnect } from '../../../hooks/useConnect.js';
9
+ import { useLastConnector } from '../../../hooks/useLastConnector.js';
10
+ import { isWalletConnectConnector, detectBrowser, isCoinbaseWalletConnector } from '../../../utils/index.js';
11
+ import { useWallets } from '../../../wallets/useWallets.js';
12
+
13
+ const ConnectorList = () => {
14
+ const context = usePayContext();
15
+ const isMobile = useIsMobile();
16
+ const wallets = useWallets();
17
+ const { lastConnectorId } = useLastConnector();
18
+ const walletsToDisplay = context.options?.hideRecentBadge || lastConnectorId === "walletConnect" // do not hoist walletconnect to top of list
19
+ ? wallets
20
+ : [
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
+ return (jsxs(ScrollArea, { mobileDirection: "horizontal", children: [walletsToDisplay.length === 0 && (jsx(Alert, { error: true, children: "No connectors found in ConnectKit config." })), walletsToDisplay.length > 0 && (jsx(ConnectorsContainer, { "$mobile": isMobile, "$totalResults": walletsToDisplay.length, children: walletsToDisplay.map((wallet) => (jsx(ConnectorItem, { wallet: wallet, isRecent: wallet.id === lastConnectorId }, wallet.id))) }))] }));
27
+ };
28
+ const ConnectorItem = ({ wallet, isRecent, }) => {
29
+ const { connect: { getUri }, } = useWeb3();
30
+ const uri = getUri();
31
+ const isMobile = useIsMobile();
32
+ const context = usePayContext();
33
+ const { connect } = useConnect();
34
+ /*
35
+ const [ready, setReady] = useState(false);
36
+ useEffect(() => {
37
+ (async () => {
38
+ const provider = await wallet.connector.getProvider();
39
+ setReady(!!provider);
40
+ })();
41
+ }, [wallet, setReady]);
42
+ */
43
+ let deeplink = (!wallet.isInstalled && isMobile) ||
44
+ (wallet.shouldDeeplinkDesktop && !isMobile)
45
+ ? wallet.getWalletConnectDeeplink?.(uri ?? "")
46
+ : undefined;
47
+ const redirectToMoreWallets = isMobile && isWalletConnectConnector(wallet.id);
48
+ // Safari requires opening popup on user gesture, so we connect immediately here
49
+ const shouldConnectImmediately = (detectBrowser() === "safari" || detectBrowser() === "ios") &&
50
+ isCoinbaseWalletConnector(wallet.connector.id);
51
+ if (redirectToMoreWallets || shouldConnectImmediately)
52
+ deeplink = undefined; // mobile redirects to more wallets page
53
+ return (jsxs(ConnectorButton, { type: "button", as: deeplink ? "a" : undefined, href: deeplink ? deeplink : undefined, disabled: context.route !== ROUTES.CONNECTORS, onClick: deeplink
54
+ ? undefined
55
+ : () => {
56
+ if (redirectToMoreWallets) {
57
+ context.setRoute(ROUTES.MOBILECONNECTORS);
58
+ }
59
+ else {
60
+ if (shouldConnectImmediately) {
61
+ connect({ connector: wallet?.connector });
62
+ }
63
+ context.setRoute(ROUTES.CONNECT);
64
+ context.setConnector({ id: wallet.id });
65
+ }
66
+ }, 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" }) }))] })] }));
67
+ };
68
+
69
+ export { ConnectorList as default };
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,314 @@
1
+ import { keyframes, css } from 'styled-components';
2
+ import styled from '../../../styles/styled/index.js';
3
+ import { motion } from 'framer-motion';
4
+
5
+ const Shimmer = keyframes `
6
+ 0%{ transform: translate(-100%) rotate(-45deg); }
7
+ 100%{ transform: translate(100%) rotate(-80deg); }
8
+ `;
9
+ const ConnectorButton = styled(motion.button) `
10
+ display: block;
11
+ text-decoration: none;
12
+ `;
13
+ const ConnectorLabel = styled(motion.span) ``;
14
+ const ConnectorIcon = styled(motion.div) ``;
15
+ // This is a bit of a hack to not share styles between mobile and desktop
16
+ const styles = {
17
+ desktop: {
18
+ ConnectorButton: css `
19
+ cursor: pointer;
20
+ user-select: none;
21
+ position: relative;
22
+ display: flex;
23
+ align-items: center;
24
+ padding: 0 20px;
25
+ width: 100%;
26
+ height: 64px;
27
+ font-size: 17px;
28
+ font-weight: var(--ck-primary-button-font-weight, 500);
29
+ line-height: 20px;
30
+ text-align: var(--ck-body-button-text-align, left);
31
+ transition: 180ms ease;
32
+ transition-property: background, color, box-shadow, transform, opacity;
33
+ will-change: transform, box-shadow, background-color, color, opacity;
34
+
35
+ --fallback-color: var(--ck-primary-button-color);
36
+ --fallback-background: var(--ck-primary-button-background);
37
+ --fallback-box-shadow: var(--ck-primary-button-box-shadow);
38
+ --fallback-border-radius: var(--ck-primary-button-border-radius);
39
+
40
+ --color: var(--ck-primary-button-color, var(--fallback-color));
41
+ --background: var(
42
+ --ck-primary-button-background,
43
+ var(--fallback-background)
44
+ );
45
+ --box-shadow: var(
46
+ --ck-primary-button-box-shadow,
47
+ var(--fallback-box-shadow)
48
+ );
49
+ --border-radius: var(
50
+ --ck-primary-button-border-radius,
51
+ var(--fallback-border-radius)
52
+ );
53
+
54
+ --hover-color: var(--ck-primary-button-hover-color, var(--color));
55
+ --hover-background: var(
56
+ --ck-primary-button-hover-background,
57
+ var(--background)
58
+ );
59
+ --hover-box-shadow: var(
60
+ --ck-primary-button-hover-box-shadow,
61
+ var(--box-shadow)
62
+ );
63
+ --hover-border-radius: var(
64
+ --ck-primary-button-hover-border-radius,
65
+ var(--border-radius)
66
+ );
67
+
68
+ --active-color: var(--ck-primary-button-active-color, var(--hover-color));
69
+ --active-background: var(
70
+ --ck-primary-button-active-background,
71
+ var(--hover-background)
72
+ );
73
+ --active-box-shadow: var(
74
+ --ck-primary-button-active-box-shadow,
75
+ var(--hover-box-shadow)
76
+ );
77
+ --active-border-radius: var(
78
+ --ck-primary-button-active-border-radius,
79
+ var(--hover-border-radius)
80
+ );
81
+
82
+ color: var(--color);
83
+ background: var(--background);
84
+ box-shadow: var(--box-shadow);
85
+ border-radius: var(--border-radius);
86
+
87
+ &:disabled {
88
+ transition: 180ms ease;
89
+ opacity: 0.4;
90
+ }
91
+
92
+ --bg: var(--background);
93
+ &:not(:disabled) {
94
+ &:hover {
95
+ color: var(--hover-color);
96
+ background: var(--hover-background);
97
+ box-shadow: var(--hover-box-shadow);
98
+ border-radius: var(--hover-border-radius);
99
+ --bg: var(--hover-background, var(--background));
100
+ }
101
+ &:focus-visible {
102
+ transition-duration: 100ms;
103
+ color: var(--hover-color);
104
+ background: var(--hover-background);
105
+ box-shadow: var(--hover-box-shadow);
106
+ border-radius: var(--hover-border-radius);
107
+ --bg: var(--hover-background, var(--background));
108
+ }
109
+ &:active {
110
+ color: var(--active-color);
111
+ background: var(--active-background);
112
+ box-shadow: var(--active-box-shadow);
113
+ border-radius: var(--active-border-radius);
114
+ --bg: var(--active-background, var(--background));
115
+ }
116
+ }
117
+ `,
118
+ ConnectorLabel: css `
119
+ display: flex;
120
+ align-items: center;
121
+ gap: 9px;
122
+ width: 100%;
123
+ overflow: hidden;
124
+ white-space: nowrap;
125
+ text-overflow: ellipsis;
126
+ padding: 2px 0;
127
+ padding-right: 38px;
128
+ `,
129
+ ConnectorIcon: css `
130
+ position: absolute;
131
+ right: 20px;
132
+ width: 32px;
133
+ height: 32px;
134
+ overflow: hidden;
135
+ svg,
136
+ img {
137
+ display: block;
138
+ position: relative;
139
+ pointer-events: none;
140
+ overflow: hidden;
141
+ width: 100%;
142
+ height: 100%;
143
+ }
144
+
145
+ &[data-shape="squircle"] {
146
+ border-radius: 22.5%;
147
+ }
148
+ &[data-shape="circle"] {
149
+ border-radius: 100%;
150
+ }
151
+ &[data-shape="square"] {
152
+ border-radius: 0;
153
+ }
154
+ `,
155
+ },
156
+ mobile: {
157
+ ConnectorButton: css `
158
+ text-align: center;
159
+ background: none;
160
+ max-width: 100%;
161
+ overflow: hidden;
162
+ `,
163
+ ConnectorLabel: css `
164
+ display: block;
165
+ text-overflow: ellipsis;
166
+ max-width: 100%;
167
+ overflow: hidden;
168
+ padding: 10px 0 0;
169
+ color: var(--ck-body-color);
170
+ font-size: 13px;
171
+ line-height: 15px;
172
+ font-weight: 500;
173
+ opacity: 0.75;
174
+ `,
175
+ ConnectorIcon: css `
176
+ position: relative;
177
+ margin: 0 auto;
178
+ width: 60px;
179
+ height: 60px;
180
+ overflow: hidden;
181
+ svg,
182
+ img {
183
+ display: block;
184
+ position: relative;
185
+ width: 100%;
186
+ height: auto;
187
+ }
188
+ &[data-small="true"] {
189
+ svg,
190
+ img {
191
+ transform: scale(0.8);
192
+ }
193
+ }
194
+
195
+ &[data-shape="squircle"] {
196
+ border-radius: 22.5%;
197
+ &:before {
198
+ content: "";
199
+ z-index: -1;
200
+ position: absolute;
201
+ inset: 0;
202
+ border-radius: inherit;
203
+ box-shadow: inset 0 0 0 1px var(--ck-body-background-tertiary);
204
+ }
205
+ }
206
+ &[data-shape="circle"] {
207
+ border-radius: 100%;
208
+ }
209
+ &[data-shape="square"] {
210
+ border-radius: 0;
211
+ }
212
+ `,
213
+ },
214
+ };
215
+ const RecentlyUsedTag = styled(motion.span) `
216
+ position: relative;
217
+ top: var(--ck-recent-badge-top-offset, 0.5px);
218
+ display: inline-block;
219
+ padding: 10px 7px;
220
+ line-height: 0;
221
+ font-size: 13px;
222
+ font-weight: 400;
223
+ border-radius: var(--ck-recent-badge-border-radius, var(--border-radius));
224
+ color: var(
225
+ --ck-recent-badge-color,
226
+ var(--ck-accent-color, var(--ck-body-color-muted, currentColor))
227
+ );
228
+ background: var(--ck-recent-badge-background, transparent);
229
+ overflow: hidden;
230
+ span {
231
+ display: inline-block;
232
+ position: relative;
233
+ }
234
+ &:before {
235
+ z-index: 1;
236
+ content: "";
237
+ position: absolute;
238
+ inset: 0;
239
+ opacity: 0.4;
240
+ box-shadow: var(--ck-recent-badge-box-shadow, inset 0 0 0 1px currentColor);
241
+ border-radius: inherit;
242
+ }
243
+ &:after {
244
+ z-index: 2;
245
+ content: "";
246
+ position: absolute;
247
+ inset: -10%;
248
+ top: -110%;
249
+ aspect-ratio: 1/1;
250
+ opacity: 0.7;
251
+ background: linear-gradient(
252
+ 170deg,
253
+ transparent 10%,
254
+ var(--ck-recent-badge-background, var(--bg)) 50%,
255
+ transparent 90%
256
+ );
257
+ animation: ${Shimmer} 2s linear infinite;
258
+ }
259
+ `;
260
+ const ConnectorsContainer = styled.div `
261
+ transition: opacity 300ms ease;
262
+ min-width: fit-content;
263
+
264
+ ${(props) => props.$disabled &&
265
+ css `
266
+ pointer-events: none;
267
+ opacity: 0.4;
268
+ `}
269
+
270
+ ${(props) => !props.$mobile
271
+ ? css `
272
+ display: flex;
273
+ flex-direction: column;
274
+ gap: 12px;
275
+
276
+ ${ConnectorButton} {
277
+ ${styles.desktop.ConnectorButton}
278
+ ${ConnectorLabel} {
279
+ ${styles.desktop.ConnectorLabel}
280
+ }
281
+ ${ConnectorIcon} {
282
+ ${styles.desktop.ConnectorIcon}
283
+ }
284
+ }
285
+ `
286
+ : css `
287
+ display: flex;
288
+ align-items: flex-start;
289
+ justify-content: space-around;
290
+ gap: 22px 6px;
291
+ //margin: 0px -10px -20px;
292
+ padding: 14px 0px 28px;
293
+
294
+ ${ConnectorButton} {
295
+ flex-shrink: 0;
296
+ width: 80px;
297
+ ${styles.mobile.ConnectorButton}
298
+ ${ConnectorLabel} {
299
+ ${styles.mobile.ConnectorLabel}
300
+ ${RecentlyUsedTag} {
301
+ display: none;
302
+ width: fit-content;
303
+ margin: 0 auto;
304
+ }
305
+ }
306
+ ${ConnectorIcon} {
307
+ ${styles.mobile.ConnectorIcon}
308
+ }
309
+ }
310
+ `}
311
+ `;
312
+
313
+ export { ConnectorButton, ConnectorIcon, ConnectorLabel, ConnectorsContainer, RecentlyUsedTag };
314
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,71 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { motion } from 'framer-motion';
3
+ import { css } from 'styled-components';
4
+ import styled from '../../../styles/styled/index.js';
5
+ import { CopyToClipboardIcon as CopyToClipboardIcon$1 } from '../../../assets/icons.js';
6
+
7
+ const IconContainer = styled(motion.div) `
8
+ transition: all 220ms cubic-bezier(0.175, 0.885, 0.32, 1.1);
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ width: 16px;
13
+ svg {
14
+ display: block;
15
+ }
16
+ svg,
17
+ svg path,
18
+ svg rect {
19
+ transition: inherit;
20
+ }
21
+ svg path:first-child {
22
+ transform-origin: 50% 50%;
23
+ fill: var(--bg);
24
+ stroke: var(--color);
25
+ }
26
+ svg rect {
27
+ transform-origin: 53% 63%;
28
+ fill: var(--bg);
29
+ stroke: var(--color);
30
+ }
31
+ svg path:last-child {
32
+ opacity: 0;
33
+ stroke: var(--bg);
34
+ transform: translate(11.75px, 10px) rotate(90deg) scale(0.6);
35
+ }
36
+ ${(props) => props.$clipboard
37
+ ? css `
38
+ --color: var(--ck-focus-color) !important;
39
+ --bg: var(--ck-body-background);
40
+ svg {
41
+ transition-delay: 0ms;
42
+ path:first-child {
43
+ opacity: 0;
44
+ transform: rotate(-90deg) scale(0.2);
45
+ }
46
+ rect {
47
+ rx: 10px;
48
+ fill: var(--color);
49
+ transform: rotate(-90deg) scale(1.45);
50
+ }
51
+ path:last-child {
52
+ transition-delay: 100ms;
53
+ opacity: 1;
54
+ transform: translate(7.75px, 9.5px);
55
+ }
56
+ }
57
+ `
58
+ : css `
59
+ &:hover {
60
+ }
61
+ &:hover:active {
62
+ }
63
+ `}
64
+ `;
65
+ const CopyToClipboardIcon = ({ copied, small, dark, }) => (jsx(IconContainer, { "$clipboard": copied, children: jsx(CopyToClipboardIcon$1, { style: {
66
+ transform: small ? "scale(1)" : "translateX(3px) scale(1.5)",
67
+ opacity: small || copied || dark ? 1 : 0.3,
68
+ } }) }));
69
+
70
+ export { CopyToClipboardIcon as default };
71
+ //# sourceMappingURL=CopyToClipboardIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyToClipboardIcon.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}