@bosonprotocol/react-kit 0.34.0-alpha.9 → 0.35.0-alpha.0

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 (359) hide show
  1. package/dist/cjs/components/buttons/BaseButton.d.ts +9 -3
  2. package/dist/cjs/components/buttons/BaseButton.d.ts.map +1 -1
  3. package/dist/cjs/components/buttons/BaseButton.js +11 -22
  4. package/dist/cjs/components/buttons/BaseButton.js.map +1 -1
  5. package/dist/cjs/components/buttons/Button.d.ts +1 -1
  6. package/dist/cjs/components/config/ConfigContext.d.ts +2 -1
  7. package/dist/cjs/components/config/ConfigContext.d.ts.map +1 -1
  8. package/dist/cjs/components/config/ConfigContext.js.map +1 -1
  9. package/dist/cjs/components/config/ConfigProvider.d.ts.map +1 -1
  10. package/dist/cjs/components/config/ConfigProvider.js +4 -1
  11. package/dist/cjs/components/config/ConfigProvider.js.map +1 -1
  12. package/dist/cjs/components/cta/common/CtaButton.d.ts.map +1 -1
  13. package/dist/cjs/components/cta/common/CtaButton.js +1 -1
  14. package/dist/cjs/components/cta/common/CtaButton.js.map +1 -1
  15. package/dist/cjs/components/cta/common/styles.d.ts.map +1 -1
  16. package/dist/cjs/components/cta/common/styles.js +10 -8
  17. package/dist/cjs/components/cta/common/styles.js.map +1 -1
  18. package/dist/cjs/components/currencyDisplay/CurrencyDisplay.d.ts +5 -2
  19. package/dist/cjs/components/currencyDisplay/CurrencyDisplay.d.ts.map +1 -1
  20. package/dist/cjs/components/currencyDisplay/CurrencyDisplay.js +6 -7
  21. package/dist/cjs/components/currencyDisplay/CurrencyDisplay.js.map +1 -1
  22. package/dist/cjs/components/exchangeCard/ExchangeCard.d.ts +1 -1
  23. package/dist/cjs/components/form/BaseCheckbox.d.ts +1 -1
  24. package/dist/cjs/components/form/BaseCheckbox.d.ts.map +1 -1
  25. package/dist/cjs/components/form/BaseCheckbox.js +9 -5
  26. package/dist/cjs/components/form/BaseCheckbox.js.map +1 -1
  27. package/dist/cjs/components/form/CountrySelect.d.ts +2 -2
  28. package/dist/cjs/components/form/CountrySelect.d.ts.map +1 -1
  29. package/dist/cjs/components/form/CountrySelect.js.map +1 -1
  30. package/dist/cjs/components/form/Field.styles.d.ts +28 -22
  31. package/dist/cjs/components/form/Field.styles.d.ts.map +1 -1
  32. package/dist/cjs/components/form/Field.styles.js +40 -13
  33. package/dist/cjs/components/form/Field.styles.js.map +1 -1
  34. package/dist/cjs/components/form/Select.d.ts +2 -2
  35. package/dist/cjs/components/form/Select.d.ts.map +1 -1
  36. package/dist/cjs/components/form/Select.js +2 -2
  37. package/dist/cjs/components/form/Select.js.map +1 -1
  38. package/dist/cjs/components/form/Upload/BaseUpload.d.ts +8 -0
  39. package/dist/cjs/components/form/Upload/BaseUpload.d.ts.map +1 -1
  40. package/dist/cjs/components/form/Upload/BaseUpload.js +99 -21
  41. package/dist/cjs/components/form/Upload/BaseUpload.js.map +1 -1
  42. package/dist/cjs/components/form/Upload/UploadedFile.d.ts +2 -1
  43. package/dist/cjs/components/form/Upload/UploadedFile.d.ts.map +1 -1
  44. package/dist/cjs/components/form/Upload/UploadedFile.js +3 -3
  45. package/dist/cjs/components/form/Upload/UploadedFile.js.map +1 -1
  46. package/dist/cjs/components/form/Upload/UploadedFiles.d.ts +2 -1
  47. package/dist/cjs/components/form/Upload/UploadedFiles.d.ts.map +1 -1
  48. package/dist/cjs/components/form/Upload/UploadedFiles.js +2 -2
  49. package/dist/cjs/components/form/Upload/UploadedFiles.js.map +1 -1
  50. package/dist/cjs/components/form/Upload/WithUploadToIpfs.d.ts +3 -1
  51. package/dist/cjs/components/form/Upload/WithUploadToIpfs.d.ts.map +1 -1
  52. package/dist/cjs/components/form/Upload/WithUploadToIpfs.js +5 -1
  53. package/dist/cjs/components/form/Upload/WithUploadToIpfs.js.map +1 -1
  54. package/dist/cjs/components/form/types.d.ts +21 -13
  55. package/dist/cjs/components/form/types.d.ts.map +1 -1
  56. package/dist/cjs/components/image/Image.styles.d.ts.map +1 -1
  57. package/dist/cjs/components/image/Image.styles.js +0 -2
  58. package/dist/cjs/components/image/Image.styles.js.map +1 -1
  59. package/dist/cjs/components/magicLink/MagicProvider.js +1 -1
  60. package/dist/cjs/components/magicLink/MagicProvider.js.map +1 -1
  61. package/dist/cjs/components/magicLink/UserContext.d.ts.map +1 -1
  62. package/dist/cjs/components/magicLink/UserContext.js +10 -2
  63. package/dist/cjs/components/magicLink/UserContext.js.map +1 -1
  64. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.js +1 -1
  65. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.js.map +1 -1
  66. package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.d.ts +22 -22
  67. package/dist/cjs/components/modal/components/common/detail/Detail.style.d.ts +51 -51
  68. package/dist/cjs/components/productCard/ProductCard.d.ts +5 -2
  69. package/dist/cjs/components/productCard/ProductCard.d.ts.map +1 -1
  70. package/dist/cjs/components/productCard/ProductCard.js +42 -34
  71. package/dist/cjs/components/productCard/ProductCard.js.map +1 -1
  72. package/dist/cjs/components/productCard/ProductCard.styles.d.ts +111 -4
  73. package/dist/cjs/components/productCard/ProductCard.styles.d.ts.map +1 -1
  74. package/dist/cjs/components/productCard/ProductCard.styles.js +52 -31
  75. package/dist/cjs/components/productCard/ProductCard.styles.js.map +1 -1
  76. package/dist/cjs/components/productCard/commonStyles.d.ts.map +1 -1
  77. package/dist/cjs/components/productCard/commonStyles.js +0 -1
  78. package/dist/cjs/components/productCard/commonStyles.js.map +1 -1
  79. package/dist/cjs/components/skeleton/CollectionsCardSkeleton.d.ts.map +1 -1
  80. package/dist/cjs/components/skeleton/CollectionsCardSkeleton.js +39 -17
  81. package/dist/cjs/components/skeleton/CollectionsCardSkeleton.js.map +1 -1
  82. package/dist/cjs/components/skeleton/ProductCardSkeleton.d.ts.map +1 -1
  83. package/dist/cjs/components/skeleton/ProductCardSkeleton.js +18 -19
  84. package/dist/cjs/components/skeleton/ProductCardSkeleton.js.map +1 -1
  85. package/dist/cjs/components/ui/ThemedButton.d.ts +1 -1
  86. package/dist/cjs/components/ui/Video.js +1 -1
  87. package/dist/cjs/components/ui/Video.js.map +1 -1
  88. package/dist/cjs/components/ui/column/index.d.ts +1 -1
  89. package/dist/cjs/components/ui/styles.d.ts +1 -1
  90. package/dist/cjs/components/ui/styles.d.ts.map +1 -1
  91. package/dist/cjs/components/ui/styles.js +18 -27
  92. package/dist/cjs/components/ui/styles.js.map +1 -1
  93. package/dist/cjs/components/wallet/ConnectButton.d.ts.map +1 -1
  94. package/dist/cjs/components/wallet/ConnectButton.js +3 -2
  95. package/dist/cjs/components/wallet/ConnectButton.js.map +1 -1
  96. package/dist/cjs/components/wallet2/accountDrawer/AuthenticatedHeader.d.ts +3 -3
  97. package/dist/cjs/components/wallet2/accountDrawer/AuthenticatedHeader.d.ts.map +1 -1
  98. package/dist/cjs/components/wallet2/accountDrawer/AuthenticatedHeader.js +2 -2
  99. package/dist/cjs/components/wallet2/accountDrawer/AuthenticatedHeader.js.map +1 -1
  100. package/dist/cjs/components/wallet2/accountDrawer/IconButton.js +4 -3
  101. package/dist/cjs/components/wallet2/accountDrawer/IconButton.js.map +1 -1
  102. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/index.d.ts +3 -3
  103. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/index.d.ts.map +1 -1
  104. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/index.js +2 -2
  105. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/index.js.map +1 -1
  106. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/tokens/index.d.ts +5 -2
  107. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/tokens/index.d.ts.map +1 -1
  108. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/tokens/index.js +3 -2
  109. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/tokens/index.js.map +1 -1
  110. package/dist/cjs/components/wallet2/selector/ChainSelector.d.ts.map +1 -1
  111. package/dist/cjs/components/wallet2/selector/ChainSelector.js +2 -3
  112. package/dist/cjs/components/wallet2/selector/ChainSelector.js.map +1 -1
  113. package/dist/cjs/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.d.ts +4 -0
  114. package/dist/cjs/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.d.ts.map +1 -0
  115. package/dist/cjs/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.js +35 -0
  116. package/dist/cjs/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.js.map +1 -0
  117. package/dist/cjs/components/wallet2/walletModal/ConnectionErrorView.d.ts +6 -1
  118. package/dist/cjs/components/wallet2/walletModal/ConnectionErrorView.d.ts.map +1 -1
  119. package/dist/cjs/components/wallet2/walletModal/ConnectionErrorView.js +7 -5
  120. package/dist/cjs/components/wallet2/walletModal/ConnectionErrorView.js.map +1 -1
  121. package/dist/cjs/components/wallet2/walletModal/Option.d.ts +5 -1
  122. package/dist/cjs/components/wallet2/walletModal/Option.d.ts.map +1 -1
  123. package/dist/cjs/components/wallet2/walletModal/Option.js +5 -2
  124. package/dist/cjs/components/wallet2/walletModal/Option.js.map +1 -1
  125. package/dist/cjs/components/wallet2/walletModal/index.d.ts +12 -4
  126. package/dist/cjs/components/wallet2/walletModal/index.d.ts.map +1 -1
  127. package/dist/cjs/components/wallet2/walletModal/index.js +3 -3
  128. package/dist/cjs/components/wallet2/walletModal/index.js.map +1 -1
  129. package/dist/cjs/hooks/connection/connection.d.ts.map +1 -1
  130. package/dist/cjs/hooks/connection/connection.js +41 -12
  131. package/dist/cjs/hooks/connection/connection.js.map +1 -1
  132. package/dist/cjs/hooks/connection/useSyncChainQuery.js.map +1 -1
  133. package/dist/cjs/hooks/index.d.ts +1 -0
  134. package/dist/cjs/hooks/index.d.ts.map +1 -1
  135. package/dist/cjs/hooks/index.js +1 -0
  136. package/dist/cjs/hooks/index.js.map +1 -1
  137. package/dist/cjs/hooks/magic.d.ts +4 -4
  138. package/dist/cjs/hooks/magic.d.ts.map +1 -1
  139. package/dist/cjs/hooks/magic.js +9 -6
  140. package/dist/cjs/hooks/magic.js.map +1 -1
  141. package/dist/cjs/lib/config/config.d.ts.map +1 -1
  142. package/dist/cjs/lib/config/config.js +0 -3
  143. package/dist/cjs/lib/config/config.js.map +1 -1
  144. package/dist/cjs/lib/signer/externalSigner.d.ts.map +1 -1
  145. package/dist/cjs/lib/signer/externalSigner.js +7 -0
  146. package/dist/cjs/lib/signer/externalSigner.js.map +1 -1
  147. package/dist/cjs/theme.d.ts +2 -0
  148. package/dist/cjs/theme.d.ts.map +1 -1
  149. package/dist/cjs/theme.js +3 -1
  150. package/dist/cjs/theme.js.map +1 -1
  151. package/dist/cjs/types/helpers.d.ts +3 -12
  152. package/dist/cjs/types/helpers.d.ts.map +1 -1
  153. package/dist/cjs/types/helpers.js +0 -1
  154. package/dist/cjs/types/helpers.js.map +1 -1
  155. package/dist/esm/components/buttons/BaseButton.d.ts +9 -3
  156. package/dist/esm/components/buttons/BaseButton.d.ts.map +1 -1
  157. package/dist/esm/components/buttons/BaseButton.js +11 -22
  158. package/dist/esm/components/buttons/BaseButton.js.map +1 -1
  159. package/dist/esm/components/buttons/Button.d.ts +1 -1
  160. package/dist/esm/components/config/ConfigContext.d.ts +2 -1
  161. package/dist/esm/components/config/ConfigContext.d.ts.map +1 -1
  162. package/dist/esm/components/config/ConfigContext.js.map +1 -1
  163. package/dist/esm/components/config/ConfigProvider.d.ts.map +1 -1
  164. package/dist/esm/components/config/ConfigProvider.js +4 -1
  165. package/dist/esm/components/config/ConfigProvider.js.map +1 -1
  166. package/dist/esm/components/cta/common/CtaButton.d.ts.map +1 -1
  167. package/dist/esm/components/cta/common/CtaButton.js +1 -1
  168. package/dist/esm/components/cta/common/CtaButton.js.map +1 -1
  169. package/dist/esm/components/cta/common/styles.d.ts.map +1 -1
  170. package/dist/esm/components/cta/common/styles.js +10 -8
  171. package/dist/esm/components/cta/common/styles.js.map +1 -1
  172. package/dist/esm/components/currencyDisplay/CurrencyDisplay.d.ts +5 -2
  173. package/dist/esm/components/currencyDisplay/CurrencyDisplay.d.ts.map +1 -1
  174. package/dist/esm/components/currencyDisplay/CurrencyDisplay.js +6 -7
  175. package/dist/esm/components/currencyDisplay/CurrencyDisplay.js.map +1 -1
  176. package/dist/esm/components/exchangeCard/ExchangeCard.d.ts +1 -1
  177. package/dist/esm/components/form/BaseCheckbox.d.ts +1 -1
  178. package/dist/esm/components/form/BaseCheckbox.d.ts.map +1 -1
  179. package/dist/esm/components/form/BaseCheckbox.js +8 -5
  180. package/dist/esm/components/form/BaseCheckbox.js.map +1 -1
  181. package/dist/esm/components/form/CountrySelect.d.ts +2 -2
  182. package/dist/esm/components/form/CountrySelect.d.ts.map +1 -1
  183. package/dist/esm/components/form/CountrySelect.js.map +1 -1
  184. package/dist/esm/components/form/Field.styles.d.ts +28 -22
  185. package/dist/esm/components/form/Field.styles.d.ts.map +1 -1
  186. package/dist/esm/components/form/Field.styles.js +39 -12
  187. package/dist/esm/components/form/Field.styles.js.map +1 -1
  188. package/dist/esm/components/form/Select.d.ts +2 -2
  189. package/dist/esm/components/form/Select.d.ts.map +1 -1
  190. package/dist/esm/components/form/Select.js +2 -2
  191. package/dist/esm/components/form/Select.js.map +1 -1
  192. package/dist/esm/components/form/Upload/BaseUpload.d.ts +8 -0
  193. package/dist/esm/components/form/Upload/BaseUpload.d.ts.map +1 -1
  194. package/dist/esm/components/form/Upload/BaseUpload.js +101 -25
  195. package/dist/esm/components/form/Upload/BaseUpload.js.map +1 -1
  196. package/dist/esm/components/form/Upload/UploadedFile.d.ts +2 -1
  197. package/dist/esm/components/form/Upload/UploadedFile.d.ts.map +1 -1
  198. package/dist/esm/components/form/Upload/UploadedFile.js +4 -4
  199. package/dist/esm/components/form/Upload/UploadedFile.js.map +1 -1
  200. package/dist/esm/components/form/Upload/UploadedFiles.d.ts +2 -1
  201. package/dist/esm/components/form/Upload/UploadedFiles.d.ts.map +1 -1
  202. package/dist/esm/components/form/Upload/UploadedFiles.js +2 -2
  203. package/dist/esm/components/form/Upload/UploadedFiles.js.map +1 -1
  204. package/dist/esm/components/form/Upload/WithUploadToIpfs.d.ts +3 -1
  205. package/dist/esm/components/form/Upload/WithUploadToIpfs.d.ts.map +1 -1
  206. package/dist/esm/components/form/Upload/WithUploadToIpfs.js +5 -1
  207. package/dist/esm/components/form/Upload/WithUploadToIpfs.js.map +1 -1
  208. package/dist/esm/components/form/types.d.ts +21 -13
  209. package/dist/esm/components/form/types.d.ts.map +1 -1
  210. package/dist/esm/components/image/Image.styles.d.ts.map +1 -1
  211. package/dist/esm/components/image/Image.styles.js +0 -2
  212. package/dist/esm/components/image/Image.styles.js.map +1 -1
  213. package/dist/esm/components/magicLink/MagicProvider.js +1 -1
  214. package/dist/esm/components/magicLink/MagicProvider.js.map +1 -1
  215. package/dist/esm/components/magicLink/UserContext.d.ts.map +1 -1
  216. package/dist/esm/components/magicLink/UserContext.js +10 -2
  217. package/dist/esm/components/magicLink/UserContext.js.map +1 -1
  218. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.js +1 -1
  219. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.js.map +1 -1
  220. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.d.ts +22 -22
  221. package/dist/esm/components/modal/components/common/detail/Detail.style.d.ts +51 -51
  222. package/dist/esm/components/productCard/ProductCard.d.ts +5 -2
  223. package/dist/esm/components/productCard/ProductCard.d.ts.map +1 -1
  224. package/dist/esm/components/productCard/ProductCard.js +20 -32
  225. package/dist/esm/components/productCard/ProductCard.js.map +1 -1
  226. package/dist/esm/components/productCard/ProductCard.styles.d.ts +111 -4
  227. package/dist/esm/components/productCard/ProductCard.styles.d.ts.map +1 -1
  228. package/dist/esm/components/productCard/ProductCard.styles.js +51 -29
  229. package/dist/esm/components/productCard/ProductCard.styles.js.map +1 -1
  230. package/dist/esm/components/productCard/commonStyles.d.ts.map +1 -1
  231. package/dist/esm/components/productCard/commonStyles.js +0 -1
  232. package/dist/esm/components/productCard/commonStyles.js.map +1 -1
  233. package/dist/esm/components/skeleton/CollectionsCardSkeleton.d.ts.map +1 -1
  234. package/dist/esm/components/skeleton/CollectionsCardSkeleton.js +39 -17
  235. package/dist/esm/components/skeleton/CollectionsCardSkeleton.js.map +1 -1
  236. package/dist/esm/components/skeleton/ProductCardSkeleton.d.ts.map +1 -1
  237. package/dist/esm/components/skeleton/ProductCardSkeleton.js +19 -20
  238. package/dist/esm/components/skeleton/ProductCardSkeleton.js.map +1 -1
  239. package/dist/esm/components/ui/ThemedButton.d.ts +1 -1
  240. package/dist/esm/components/ui/Video.js +1 -1
  241. package/dist/esm/components/ui/Video.js.map +1 -1
  242. package/dist/esm/components/ui/column/index.d.ts +1 -1
  243. package/dist/esm/components/ui/styles.d.ts +1 -1
  244. package/dist/esm/components/ui/styles.d.ts.map +1 -1
  245. package/dist/esm/components/ui/styles.js +17 -26
  246. package/dist/esm/components/ui/styles.js.map +1 -1
  247. package/dist/esm/components/wallet/ConnectButton.d.ts.map +1 -1
  248. package/dist/esm/components/wallet/ConnectButton.js +4 -3
  249. package/dist/esm/components/wallet/ConnectButton.js.map +1 -1
  250. package/dist/esm/components/wallet2/accountDrawer/AuthenticatedHeader.d.ts +3 -3
  251. package/dist/esm/components/wallet2/accountDrawer/AuthenticatedHeader.d.ts.map +1 -1
  252. package/dist/esm/components/wallet2/accountDrawer/AuthenticatedHeader.js +2 -2
  253. package/dist/esm/components/wallet2/accountDrawer/AuthenticatedHeader.js.map +1 -1
  254. package/dist/esm/components/wallet2/accountDrawer/IconButton.js +4 -3
  255. package/dist/esm/components/wallet2/accountDrawer/IconButton.js.map +1 -1
  256. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/index.d.ts +3 -3
  257. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/index.d.ts.map +1 -1
  258. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/index.js +2 -2
  259. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/index.js.map +1 -1
  260. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/tokens/index.d.ts +5 -2
  261. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/tokens/index.d.ts.map +1 -1
  262. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/tokens/index.js +3 -2
  263. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/tokens/index.js.map +1 -1
  264. package/dist/esm/components/wallet2/selector/ChainSelector.d.ts.map +1 -1
  265. package/dist/esm/components/wallet2/selector/ChainSelector.js +1 -2
  266. package/dist/esm/components/wallet2/selector/ChainSelector.js.map +1 -1
  267. package/dist/esm/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.d.ts +4 -0
  268. package/dist/esm/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.d.ts.map +1 -0
  269. package/dist/esm/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.js +31 -0
  270. package/dist/esm/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.js.map +1 -0
  271. package/dist/esm/components/wallet2/walletModal/ConnectionErrorView.d.ts +6 -1
  272. package/dist/esm/components/wallet2/walletModal/ConnectionErrorView.d.ts.map +1 -1
  273. package/dist/esm/components/wallet2/walletModal/ConnectionErrorView.js +7 -5
  274. package/dist/esm/components/wallet2/walletModal/ConnectionErrorView.js.map +1 -1
  275. package/dist/esm/components/wallet2/walletModal/Option.d.ts +5 -1
  276. package/dist/esm/components/wallet2/walletModal/Option.d.ts.map +1 -1
  277. package/dist/esm/components/wallet2/walletModal/Option.js +5 -2
  278. package/dist/esm/components/wallet2/walletModal/Option.js.map +1 -1
  279. package/dist/esm/components/wallet2/walletModal/index.d.ts +12 -4
  280. package/dist/esm/components/wallet2/walletModal/index.d.ts.map +1 -1
  281. package/dist/esm/components/wallet2/walletModal/index.js +3 -3
  282. package/dist/esm/components/wallet2/walletModal/index.js.map +1 -1
  283. package/dist/esm/hooks/connection/connection.d.ts.map +1 -1
  284. package/dist/esm/hooks/connection/connection.js +41 -12
  285. package/dist/esm/hooks/connection/connection.js.map +1 -1
  286. package/dist/esm/hooks/connection/useSyncChainQuery.js.map +1 -1
  287. package/dist/esm/hooks/index.d.ts +1 -0
  288. package/dist/esm/hooks/index.d.ts.map +1 -1
  289. package/dist/esm/hooks/index.js +1 -0
  290. package/dist/esm/hooks/index.js.map +1 -1
  291. package/dist/esm/hooks/magic.d.ts +4 -4
  292. package/dist/esm/hooks/magic.d.ts.map +1 -1
  293. package/dist/esm/hooks/magic.js +9 -6
  294. package/dist/esm/hooks/magic.js.map +1 -1
  295. package/dist/esm/lib/config/config.d.ts.map +1 -1
  296. package/dist/esm/lib/config/config.js +0 -3
  297. package/dist/esm/lib/config/config.js.map +1 -1
  298. package/dist/esm/lib/signer/externalSigner.d.ts.map +1 -1
  299. package/dist/esm/lib/signer/externalSigner.js +7 -0
  300. package/dist/esm/lib/signer/externalSigner.js.map +1 -1
  301. package/dist/esm/theme.d.ts +2 -0
  302. package/dist/esm/theme.d.ts.map +1 -1
  303. package/dist/esm/theme.js +3 -1
  304. package/dist/esm/theme.js.map +1 -1
  305. package/dist/esm/types/helpers.d.ts +3 -12
  306. package/dist/esm/types/helpers.d.ts.map +1 -1
  307. package/dist/esm/types/helpers.js +0 -1
  308. package/dist/esm/types/helpers.js.map +1 -1
  309. package/package.json +5 -5
  310. package/src/components/buttons/BaseButton.tsx +20 -38
  311. package/src/components/config/ConfigContext.ts +2 -1
  312. package/src/components/config/ConfigProvider.tsx +5 -2
  313. package/src/components/cta/common/CtaButton.tsx +1 -1
  314. package/src/components/cta/common/styles.ts +10 -8
  315. package/src/components/currencyDisplay/CurrencyDisplay.tsx +21 -18
  316. package/src/components/exchangeCard/ExchangeCard.tsx +1 -1
  317. package/src/components/form/BaseCheckbox.tsx +15 -3
  318. package/src/components/form/CountrySelect.tsx +27 -26
  319. package/src/components/form/Field.styles.ts +49 -13
  320. package/src/components/form/Select.tsx +11 -11
  321. package/src/components/form/Upload/BaseUpload.tsx +186 -70
  322. package/src/components/form/Upload/UploadedFile.tsx +5 -3
  323. package/src/components/form/Upload/UploadedFiles.tsx +7 -1
  324. package/src/components/form/Upload/WithUploadToIpfs.tsx +8 -2
  325. package/src/components/form/types.ts +67 -20
  326. package/src/components/image/Image.styles.ts +0 -2
  327. package/src/components/magicLink/MagicProvider.tsx +1 -1
  328. package/src/components/magicLink/UserContext.tsx +10 -3
  329. package/src/components/modal/components/Redeem/MyItems/Exchange.tsx +1 -1
  330. package/src/components/productCard/ProductCard.styles.ts +58 -31
  331. package/src/components/productCard/ProductCard.tsx +54 -56
  332. package/src/components/productCard/commonStyles.ts +0 -1
  333. package/src/components/skeleton/CollectionsCardSkeleton.tsx +63 -39
  334. package/src/components/skeleton/ProductCardSkeleton.tsx +24 -37
  335. package/src/components/ui/Video.tsx +1 -1
  336. package/src/components/ui/styles.ts +18 -27
  337. package/src/components/wallet/ConnectButton.tsx +12 -9
  338. package/src/components/wallet2/accountDrawer/AuthenticatedHeader.tsx +5 -6
  339. package/src/components/wallet2/accountDrawer/IconButton.tsx +4 -4
  340. package/src/components/wallet2/accountDrawer/miniPortfolio/index.tsx +8 -4
  341. package/src/components/wallet2/accountDrawer/miniPortfolio/tokens/index.tsx +8 -2
  342. package/src/components/wallet2/selector/ChainSelector.tsx +1 -2
  343. package/src/components/wallet2/selector/getSupportedChainIdsFromWalletConnectSession.ts +39 -0
  344. package/src/components/wallet2/walletModal/ConnectionErrorView.tsx +21 -6
  345. package/src/components/wallet2/walletModal/Option.tsx +9 -2
  346. package/src/components/wallet2/walletModal/index.tsx +17 -6
  347. package/src/hooks/connection/connection.ts +42 -12
  348. package/src/hooks/connection/useSyncChainQuery.ts +1 -1
  349. package/src/hooks/index.ts +1 -0
  350. package/src/hooks/magic.ts +9 -6
  351. package/src/lib/config/config.ts +0 -5
  352. package/src/lib/signer/externalSigner.ts +7 -0
  353. package/src/stories/ConnectWallet.stories.tsx +34 -1
  354. package/src/stories/ProductCard.stories.tsx +1 -7
  355. package/src/stories/buttons/Upload.stories.tsx +17 -7
  356. package/src/stories/form/BaseCheckbox.stories.tsx +8 -0
  357. package/src/stories/widgets/Commit.stories.tsx +2 -1
  358. package/src/theme.ts +3 -1
  359. package/src/types/helpers.ts +3 -27
@@ -5,6 +5,14 @@ export const transition = css`
5
5
  transition: all 150ms ease-in-out;
6
6
  `;
7
7
 
8
+ export const buttonText = css`
9
+ letter-spacing: 0.5px;
10
+ font-style: normal;
11
+ font-size: 1rem;
12
+ font-weight: 500;
13
+ line-height: 24px;
14
+ `;
15
+
8
16
  export const button = css`
9
17
  box-sizing: border-box;
10
18
  cursor: pointer;
@@ -18,7 +26,7 @@ export const button = css`
18
26
  position: relative;
19
27
  overflow: hidden;
20
28
  box-shadow: 0px 0px 0px #000000;
21
-
29
+ ${buttonText}
22
30
  ${transition}
23
31
  svg {
24
32
  ${transition}
@@ -47,51 +55,34 @@ export const text = css`
47
55
  line-height: 24px;
48
56
  `;
49
57
 
50
- export const buttonText = css`
51
- letter-spacing: 0.5px;
52
- font-style: normal;
53
- font-size: 1rem;
54
- font-weight: 500;
55
- line-height: 24px;
56
- `;
57
-
58
58
  export const small = css`
59
59
  min-height: 2.125rem;
60
60
  padding: 0.5rem 1rem;
61
- > * {
62
- font-size: 0.75rem !important;
63
- }
64
- #buttonText {
61
+ * {
65
62
  font-size: 0.75rem;
66
63
  }
67
64
  `;
68
65
  export const regular = css`
69
66
  min-height: 2.813rem;
70
67
  padding: 0.75rem 1.5rem;
71
- > * {
72
- font-size: 1rem !important;
68
+ * {
69
+ font-size: 1rem;
73
70
  }
74
71
  ${breakpoint.xxs} {
75
- > * {
76
- font-size: 0.875rem !important;
72
+ * {
73
+ font-size: 0.875rem;
77
74
  }
78
75
  }
79
- #buttonText {
80
- font-size: 0.875rem;
81
- }
82
76
  `;
83
77
  export const large = css`
84
78
  min-height: 3.5rem;
85
79
  padding: 1rem 2rem;
86
- > * {
87
- font-size: 1.125rem !important;
80
+ * {
81
+ font-size: 1.125rem;
88
82
  }
89
83
  ${breakpoint.xxs} {
90
- > * {
91
- font-size: 1rem !important;
84
+ * {
85
+ font-size: 1rem;
92
86
  }
93
87
  }
94
- #buttonText {
95
- font-size: 1rem;
96
- }
97
88
  `;
@@ -10,7 +10,7 @@ import ThemedButton, { bosonButtonThemes } from "../ui/ThemedButton";
10
10
  import { useBreakpoints } from "../../hooks/useBreakpoints";
11
11
  import { saveItemInStorage } from "../../hooks/storage/useBosonLocalStorage";
12
12
  import { SignOut, Wallet } from "phosphor-react";
13
- import { useIsMagicLoggedIn } from "../../hooks";
13
+ import { useConfigContext, useIsMagicLoggedIn } from "../../hooks";
14
14
  import { useAccount, useChainId } from "../../hooks/connection/connection";
15
15
  import { useDisconnect } from "../../hooks/connection/useDisconnect";
16
16
  import { MagicLoginButton } from "../magicLink/Login";
@@ -79,6 +79,7 @@ export default function ConnectButton({
79
79
  showChangeWallet,
80
80
  ...rest
81
81
  }: Props) {
82
+ const { withMagicLink } = useConfigContext();
82
83
  const { isLteXS, isLteS } = useBreakpoints();
83
84
  const isSideBar = ["left", "right"].includes(navigationBarPosition);
84
85
  const buttonPadding = isSideBar ? "0.75rem 1rem" : "";
@@ -120,14 +121,16 @@ export default function ConnectButton({
120
121
 
121
122
  return (
122
123
  <>
123
- <MagicLoginButton
124
- buttonProps={{
125
- size: isLteXS ? "small" : "regular",
126
- theme: bosonButtonThemes({
127
- withBosonStyle: false
128
- })["primary"]
129
- }}
130
- />
124
+ {withMagicLink && (
125
+ <MagicLoginButton
126
+ buttonProps={{
127
+ size: isLteXS ? "small" : "regular",
128
+ theme: bosonButtonThemes({
129
+ withBosonStyle: false
130
+ })["primary"]
131
+ }}
132
+ />
133
+ )}
131
134
  <Button
132
135
  onClick={() => {
133
136
  saveItemInStorage(
@@ -9,13 +9,12 @@ import {
9
9
  } from "phosphor-react";
10
10
  import React, { useCallback, useState } from "react";
11
11
  import styled, { CSSProperties } from "styled-components";
12
-
13
12
  import { Typography } from "../../ui/Typography";
14
13
  import StatusIcon from "../identicon/StatusIcon";
15
14
  import { FiatLink, useFiatLinkContext } from "./fiatOnrampModal/FiatLink";
16
15
  // import FiatOnrampModal from "./fiatOnrampModal";
17
16
  import { IconWithConfirmTextButton } from "./IconButton";
18
- import MiniPortfolio from "./miniPortfolio";
17
+ import MiniPortfolio, { MiniPortfolioProps } from "./miniPortfolio";
19
18
  import { Column } from "../../ui/column";
20
19
  import { theme } from "../../../theme";
21
20
  import { useENSName } from "../../../hooks/ens/useENSName";
@@ -131,8 +130,7 @@ export function PortfolioArrow({
131
130
  <ArrowUpRight size={20} {...rest} />
132
131
  );
133
132
  }
134
- export type AuthenticatedHeaderProps = {
135
- account: string;
133
+ export type AuthenticatedHeaderProps = MiniPortfolioProps & {
136
134
  onUserDisconnect?: () => unknown;
137
135
  disconnectColor: CSSProperties["color"];
138
136
  disconnectBackgroundColor: CSSProperties["backgroundColor"];
@@ -145,7 +143,8 @@ export function AuthenticatedHeader({
145
143
  disconnectColor,
146
144
  disconnectBackgroundColor,
147
145
  disconnectBorderRadius,
148
- buyCryptoTheme
146
+ buyCryptoTheme,
147
+ defaultTokens
149
148
  }: AuthenticatedHeaderProps) {
150
149
  const { connector } = useWeb3React();
151
150
  const { ENSName } = useENSName(account);
@@ -292,7 +291,7 @@ export function AuthenticatedHeader({
292
291
  </Tooltip>
293
292
  </FiatOnrampNotAvailableText>
294
293
  )}
295
- <MiniPortfolio account={account} />
294
+ <MiniPortfolio account={account} defaultTokens={defaultTokens} />
296
295
  </PortfolioDrawerContainer>
297
296
  </AuthenticatedHeaderWrapper>
298
297
  );
@@ -112,19 +112,19 @@ const IconBlock = forwardRef<
112
112
  borderRadius: CSSProperties["borderRadius"];
113
113
  }
114
114
  >(function IconBlock(props, ref) {
115
- const { color, backgroundColor, borderRadius } = props;
116
115
  if ("href" in props) {
116
+ const { color, backgroundColor, borderRadius, ...restProps } = props;
117
117
  return (
118
118
  <IconBlockLink
119
119
  ref={ref as React.ForwardedRef<HTMLAnchorElement>}
120
120
  $color={color}
121
121
  $backgroundColor={backgroundColor}
122
122
  $borderRadius={borderRadius}
123
- {...props}
123
+ {...restProps}
124
124
  />
125
125
  );
126
126
  }
127
-
127
+ const { color, backgroundColor, borderRadius, ...restProps } = props;
128
128
  return (
129
129
  <IconBlockButton
130
130
  // ignoring 'button' 'type' conflict between React and styled-components
@@ -134,7 +134,7 @@ const IconBlock = forwardRef<
134
134
  $color={color}
135
135
  $backgroundColor={backgroundColor}
136
136
  $borderRadius={borderRadius}
137
- {...props}
137
+ {...restProps}
138
138
  />
139
139
  );
140
140
  });
@@ -3,7 +3,7 @@ import styled from "styled-components";
3
3
 
4
4
  import { Grid } from "../../../ui/Grid";
5
5
  import { Typography } from "../../../ui/Typography";
6
- import Tokens from "./tokens";
6
+ import Tokens, { TokensProps } from "./tokens";
7
7
  import { breakpointNumbers } from "../../../../lib/ui/breakpoint";
8
8
  import { Column } from "../../../ui/column";
9
9
 
@@ -41,7 +41,7 @@ const PageWrapper = styled.div`
41
41
  interface Page {
42
42
  title: React.ReactNode;
43
43
  key: string;
44
- component: ({ account }: { account: string }) => JSX.Element;
44
+ component: ({ account }: MiniPortfolioProps) => JSX.Element;
45
45
  }
46
46
 
47
47
  const Pages: Array<Page> = [
@@ -52,7 +52,11 @@ const Pages: Array<Page> = [
52
52
  }
53
53
  ];
54
54
 
55
- export default function MiniPortfolio({ account }: { account: string }) {
55
+ export type MiniPortfolioProps = TokensProps;
56
+ export default function MiniPortfolio({
57
+ account,
58
+ defaultTokens
59
+ }: MiniPortfolioProps) {
56
60
  const [currentPage, setCurrentPage] = useState(0);
57
61
 
58
62
  const { component: Page } = Pages[currentPage];
@@ -72,7 +76,7 @@ export default function MiniPortfolio({ account }: { account: string }) {
72
76
  })}
73
77
  </Nav>
74
78
  <PageWrapper data-testid="mini-portfolio-page">
75
- <Page account={account} />
79
+ <Page account={account} defaultTokens={defaultTokens} />
76
80
  </PageWrapper>
77
81
  </Wrapper>
78
82
  );
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { Token as TokenType } from "@bosonprotocol/common";
2
3
  import { Token } from "@uniswap/sdk-core";
3
4
  import { ethers } from "ethers";
4
5
  import styled from "styled-components";
@@ -20,11 +21,16 @@ import {
20
21
  import { nativeOnChain } from "../../../../../lib/const/tokens";
21
22
  import { PortfolioLogo } from "../../../../logo/PortfolioLogo";
22
23
 
23
- export default function Tokens({ account }: { account: string }) {
24
+ export type TokensProps = {
25
+ account: string;
26
+ defaultTokens?: TokenType[];
27
+ };
28
+ export default function Tokens({ account, defaultTokens }: TokensProps) {
24
29
  const chainId = useChainId();
25
30
  const { data: tokenBalances, isLoading } = useTokenBalances({
26
31
  address: account,
27
- chainId
32
+ chainId,
33
+ tokens: defaultTokens
28
34
  });
29
35
 
30
36
  if (!chainId || isLoading) {
@@ -36,6 +36,7 @@ import {
36
36
  CoreProtocolConfig
37
37
  } from "@bosonprotocol/core-sdk";
38
38
  import { SvgImage } from "../../ui/SvgImage";
39
+ import { getSupportedChainIdsFromWalletConnectSession } from "./getSupportedChainIdsFromWalletConnectSession";
39
40
 
40
41
  const IconAndChevron = styled.div<{
41
42
  $isOpen: boolean;
@@ -71,8 +72,6 @@ function useWalletSupportedChains({
71
72
 
72
73
  switch (connectionType) {
73
74
  case ConnectionType.WALLET_CONNECT_V2:
74
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
75
- // @ts-ignore
76
75
  return getSupportedChainIdsFromWalletConnectSession(
77
76
  (connector as WalletConnectV2).provider?.session
78
77
  );
@@ -0,0 +1,39 @@
1
+ import type { SessionTypes } from "@walletconnect/types";
2
+ import { ChainId } from "@uniswap/sdk-core";
3
+
4
+ // Helper function to extract chainId from string in format 'eip155:{chainId}'
5
+ function getChainIdFromFormattedString(item: string): number | null {
6
+ const splitItem = item.startsWith("eip155:") ? item.split(":") : [];
7
+ return splitItem.length > 1 && !isNaN(Number(splitItem[1]))
8
+ ? Number(splitItem[1])
9
+ : null;
10
+ }
11
+
12
+ export function getSupportedChainIdsFromWalletConnectSession(
13
+ session?: SessionTypes.Struct
14
+ ): ChainId[] {
15
+ if (!session?.namespaces) return [];
16
+
17
+ const eip155Keys = Object.keys(session.namespaces);
18
+ const namespaces = Object.values(session.namespaces);
19
+
20
+ // Collect all arrays into one for unified processing
21
+ const allItems = [
22
+ ...eip155Keys,
23
+ ...namespaces.flatMap((namespace) => namespace.chains),
24
+ ...namespaces.flatMap((namespace) => namespace.accounts)
25
+ ];
26
+
27
+ // Process all items to extract chainIds
28
+ const allChainIds = allItems
29
+ .map((item) => {
30
+ if (typeof item === "string") {
31
+ return getChainIdFromFormattedString(item);
32
+ }
33
+ // Check if the item is a number
34
+ return isNaN(Number(item)) ? null : Number(item);
35
+ })
36
+ .filter((item) => item !== null); // Filter out any null values
37
+
38
+ return Array.from(new Set(allChainIds)) as ChainId[];
39
+ }
@@ -5,12 +5,13 @@ import styled from "styled-components";
5
5
  import { Typography } from "../../ui/Typography";
6
6
  import { useCloseAccountDrawer } from "../accountDrawer";
7
7
  import { flexColumnNoWrap } from "../styles";
8
- import { Button } from "../../buttons/Button";
9
8
  import {
10
9
  ActivationStatus,
11
10
  useActivationState
12
11
  } from "../../connection/activate";
13
12
  import { theme } from "../../../theme";
13
+ import { Grid } from "../../ui/Grid";
14
+ import { BaseButton, BaseButtonProps } from "../../buttons/BaseButton";
14
15
  const colors = theme.colors.light;
15
16
  const Wrapper = styled.div`
16
17
  ${flexColumnNoWrap};
@@ -27,8 +28,15 @@ const AlertTriangleIcon = styled(Warning)`
27
28
  color: ${colors.red};
28
29
  `;
29
30
 
31
+ export type ConnectionErrorViewProps = {
32
+ tryAgainTheme: BaseButtonProps["theme"];
33
+ backToWalletSelectionTheme: BaseButtonProps["theme"];
34
+ };
30
35
  // TODO(cartcrom): move this to a top level modal, rather than inline in the drawer
31
- export default function ConnectionErrorView() {
36
+ export default function ConnectionErrorView({
37
+ tryAgainTheme,
38
+ backToWalletSelectionTheme
39
+ }: ConnectionErrorViewProps) {
32
40
  const { activationState, tryActivation, cancelActivation } =
33
41
  useActivationState();
34
42
  const closeDrawer = useCloseAccountDrawer();
@@ -50,10 +58,17 @@ export default function ConnectionErrorView() {
50
58
  The connection attempt failed. Please click try again and follow the
51
59
  steps to connect in your wallet.
52
60
  </Typography>
53
- <Button onClick={retry}>Try Again</Button>
54
- <Button onClick={cancelActivation}>
55
- <Typography marginBottom={12}>Back to wallet selection</Typography>
56
- </Button>
61
+ <Grid gap="1rem">
62
+ <BaseButton onClick={retry} theme={tryAgainTheme}>
63
+ Try Again
64
+ </BaseButton>
65
+ <BaseButton
66
+ onClick={cancelActivation}
67
+ theme={backToWalletSelectionTheme}
68
+ >
69
+ <Typography marginBottom={12}>Back to wallet selection</Typography>
70
+ </BaseButton>
71
+ </Grid>
57
72
  </Wrapper>
58
73
  );
59
74
  }
@@ -110,6 +110,9 @@ export interface OptionProps {
110
110
  hoverColor: CSSProperties["color"];
111
111
  backgroundColor: CSSProperties["backgroundColor"];
112
112
  borderRadius: CSSProperties["borderRadius"];
113
+ onOptionClick?: (arg0: {
114
+ activationState: ReturnType<typeof useActivationState>["activationState"];
115
+ }) => void;
113
116
  }
114
117
  export function Option({
115
118
  connection,
@@ -117,7 +120,8 @@ export function Option({
117
120
  hoverFocusBackgroundColor,
118
121
  hoverColor,
119
122
  backgroundColor,
120
- borderRadius
123
+ borderRadius,
124
+ onOptionClick
121
125
  }: OptionProps) {
122
126
  const { activationState, tryActivation } = useActivationState();
123
127
  const toggleAccountDrawer = useToggleAccountDrawer();
@@ -139,7 +143,10 @@ export function Option({
139
143
  >
140
144
  <OptionCardClickable
141
145
  disabled={isSomeOptionPending}
142
- onClick={activate}
146
+ onClick={() => {
147
+ activate();
148
+ onOptionClick?.({ activationState });
149
+ }}
143
150
  selected={isCurrentOptionPending}
144
151
  data-testid={`wallet-option-${connection.type}`}
145
152
  >
@@ -5,7 +5,9 @@ import styled, { CSSProperties } from "styled-components";
5
5
 
6
6
  import { Grid } from "../../ui/Grid";
7
7
  import { flexColumnNoWrap } from "../styles";
8
- import ConnectionErrorView from "./ConnectionErrorView";
8
+ import ConnectionErrorView, {
9
+ ConnectionErrorViewProps
10
+ } from "./ConnectionErrorView";
9
11
  import { Option, OptionProps } from "./Option";
10
12
  import {
11
13
  ActivationStatus,
@@ -39,7 +41,6 @@ const OptionGrid = styled.div<{ $borderRadius: CSSProperties["borderRadius"] }>`
39
41
 
40
42
  export type WalletModalProps = {
41
43
  PrivacyPolicy: React.FC;
42
- magicLoginButtonProps: MagicLoginButtonProps;
43
44
  optionProps: Pick<
44
45
  OptionProps,
45
46
  | "color"
@@ -47,12 +48,20 @@ export type WalletModalProps = {
47
48
  | "hoverColor"
48
49
  | "backgroundColor"
49
50
  | "borderRadius"
51
+ | "onOptionClick"
50
52
  > & { iconBorderRadius: CSSProperties["borderRadius"] };
51
- };
53
+ withMagicLogin?: boolean;
54
+ connectionErrorProps: ConnectionErrorViewProps;
55
+ } & (
56
+ | { withMagicLogin: true; magicLoginButtonProps: MagicLoginButtonProps }
57
+ | { withMagicLogin?: false; magicLoginButtonProps?: undefined }
58
+ );
52
59
  export function WalletModal({
53
60
  PrivacyPolicy,
54
61
  magicLoginButtonProps,
55
- optionProps
62
+ optionProps,
63
+ withMagicLogin = true,
64
+ connectionErrorProps
56
65
  }: WalletModalProps) {
57
66
  const chainId = useChainId();
58
67
  const { config } = useConfigContext();
@@ -82,7 +91,7 @@ export function WalletModal({
82
91
  Connect a wallet
83
92
  </Grid>
84
93
  {activationState.status === ActivationStatus.ERROR ? (
85
- <ConnectionErrorView />
94
+ <ConnectionErrorView {...connectionErrorProps} />
86
95
  ) : (
87
96
  <AutoColumn $gap="16px">
88
97
  <OptionGrid
@@ -100,7 +109,9 @@ export function WalletModal({
100
109
  />
101
110
  ))}
102
111
  </OptionGrid>
103
- <MagicLoginButton {...magicLoginButtonProps} />
112
+ {withMagicLogin && magicLoginButtonProps && (
113
+ <MagicLoginButton {...magicLoginButtonProps} />
114
+ )}
104
115
  <PrivacyPolicy />
105
116
  </AutoColumn>
106
117
  )}
@@ -67,26 +67,36 @@ export function useChainId(): number | undefined {
67
67
  const {
68
68
  withExternalConnectionProps,
69
69
  externalConnectedChainId,
70
- withWeb3React
70
+ withWeb3React,
71
+ withMagicLink
71
72
  } = useConfigContext();
72
73
  const externalSigner = useExternalSigner();
73
74
  const { data: externalSignerChainId } = useExternalSignerChainId();
74
- const magicChainId = useMagicChainId();
75
75
  const isMagicLoggedIn = useIsMagicLoggedIn();
76
76
  let networkChainId: number | undefined;
77
+ let magicChainId: number | undefined;
77
78
  let error: unknown;
79
+ let magicError: unknown;
78
80
  try {
79
81
  networkChainId = useNetwork().chain?.id;
80
82
  } catch (wagmiError) {
81
83
  error = wagmiError; // error if the provider is not there
82
84
  }
85
+ try {
86
+ magicChainId = useMagicChainId();
87
+ } catch (error) {
88
+ magicError = error; // error if the provider is not there
89
+ }
90
+ if (!withExternalConnectionProps && magicError && withMagicLink) {
91
+ throw magicError;
92
+ }
83
93
  if (externalConnectedChainId) {
84
94
  return externalConnectedChainId;
85
95
  }
86
96
  if (externalSigner) {
87
97
  return externalSignerChainId;
88
98
  }
89
- if (isMagicLoggedIn) {
99
+ if (isMagicLoggedIn && withMagicLink) {
90
100
  return magicChainId;
91
101
  }
92
102
  if (web3ReactChainId) {
@@ -108,32 +118,43 @@ export function useIsConnectedToWrongChain(): boolean {
108
118
  export function useProvider():
109
119
  | providers.JsonRpcProvider
110
120
  | providers.FallbackProvider {
111
- const { withExternalConnectionProps, withWeb3React } = useConfigContext();
121
+ const { withExternalConnectionProps, withWeb3React, withMagicLink } =
122
+ useConfigContext();
112
123
  const { provider: web3Provider } = useWeb3ReactWrapper() || {};
113
- let provider;
124
+ let provider, magicProvider;
114
125
  let error: unknown;
115
126
  try {
116
127
  provider = useEthersProvider();
117
128
  } catch (wagmiError) {
118
129
  error = wagmiError; // error if the provider is not there
119
130
  }
120
- const magicProvider = useMagicProvider();
121
- const isMagicLoggedIn = useIsMagicLoggedIn();
122
131
  if (!withExternalConnectionProps && error && !withWeb3React) {
123
132
  throw error;
124
133
  }
134
+ try {
135
+ magicProvider = useMagicProvider();
136
+ } catch (magicError) {
137
+ error = magicError; // error if the provider is not there
138
+ }
139
+ if (!withExternalConnectionProps && error && withMagicLink) {
140
+ throw error;
141
+ }
142
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
143
+ const magicLinkProvider = magicProvider!; // it should always be not null at this point
144
+ const isMagicLoggedIn = useIsMagicLoggedIn();
125
145
  return isMagicLoggedIn
126
- ? magicProvider ?? web3Provider ?? provider
146
+ ? magicLinkProvider ?? web3Provider ?? provider
127
147
  : withWeb3React
128
- ? web3Provider ?? magicProvider ?? provider
129
- : provider ?? magicProvider ?? web3Provider;
148
+ ? web3Provider ?? magicLinkProvider ?? provider
149
+ : provider ?? magicLinkProvider ?? web3Provider;
130
150
  }
131
151
 
132
152
  export function useSigner(): Signer | undefined {
133
153
  const {
134
154
  withExternalConnectionProps,
135
155
  externalConnectedSigner,
136
- withWeb3React
156
+ withWeb3React,
157
+ withMagicLink
137
158
  } = useConfigContext();
138
159
  let wagmiSigner: ReturnType<typeof useEthersSigner>, error: unknown;
139
160
  try {
@@ -142,8 +163,14 @@ export function useSigner(): Signer | undefined {
142
163
  } catch (wagmiError) {
143
164
  error = wagmiError; // error if the provider is not there
144
165
  }
166
+ let magicProvider: providers.Web3Provider | undefined, magicError: unknown;
167
+
168
+ try {
169
+ magicProvider = useMagicProvider();
170
+ } catch (err) {
171
+ magicError = err; // error if the provider is not there
172
+ }
145
173
  const { externalSigner } = useExternalSigner() ?? {};
146
- const magicProvider = useMagicProvider();
147
174
  const isMagicLoggedIn = useIsMagicLoggedIn();
148
175
  const { provider: web3Provider } = useWeb3ReactWrapper() || {};
149
176
 
@@ -169,6 +196,9 @@ export function useSigner(): Signer | undefined {
169
196
  if (!withExternalConnectionProps && error && !withWeb3React) {
170
197
  throw error;
171
198
  }
199
+ if (!withExternalConnectionProps && magicError && withMagicLink) {
200
+ throw magicError;
201
+ }
172
202
  return signer;
173
203
  }
174
204
 
@@ -35,7 +35,7 @@ export default function useSyncChainQuery() {
35
35
  const parsedQs = useParsedQueryString();
36
36
  const configIdRef = useRef(currentConfigId);
37
37
  const accountRef = useRef(account);
38
- const accountAlreadyConnected = useRef(account);
38
+ const accountAlreadyConnected = useRef<string | undefined>(account);
39
39
  const disconnect = useCallback(() => {
40
40
  accountAlreadyConnected.current = undefined;
41
41
  _disconnect({ isUserDisconnecting: false });
@@ -34,3 +34,4 @@ export {
34
34
  useCloseAccountDrawer,
35
35
  useOpenAccountDrawer
36
36
  } from "../components/wallet2/accountDrawer/index";
37
+ export * from "./usePrevious";
@@ -2,13 +2,15 @@ import { useContext } from "react";
2
2
  import { useQuery } from "react-query";
3
3
  import { MagicContext } from "../components/magicLink/MagicContext";
4
4
  import { useUser } from "../components/magicLink/UserContext";
5
+ import { useConfigContext } from "../components/config/ConfigContext";
5
6
 
6
7
  export const useMagic = () => {
8
+ const { withMagicLink } = useConfigContext();
7
9
  const context = useContext(MagicContext);
8
- if (!context) {
10
+ if (!context && withMagicLink) {
9
11
  throw new Error("useMagic must be used within MagicContext");
10
12
  }
11
- return context.magic;
13
+ return context?.magic;
12
14
  };
13
15
 
14
16
  export const useWalletInfo = () => {
@@ -23,11 +25,12 @@ export const useWalletInfo = () => {
23
25
  };
24
26
 
25
27
  export function useMagicProvider() {
28
+ const { withMagicLink } = useConfigContext();
26
29
  const context = useContext(MagicContext);
27
- if (!context) {
30
+ if (!context && withMagicLink) {
28
31
  throw new Error("useMagic must be used within MagicContext");
29
32
  }
30
- return context.magicProvider;
33
+ return context?.magicProvider;
31
34
  }
32
35
 
33
36
  export function useMagicChainId() {
@@ -36,7 +39,7 @@ export function useMagicChainId() {
36
39
  }
37
40
 
38
41
  export function useIsMagicLoggedIn() {
39
- const { user } = useUser();
40
- const isMagicLoggedIn = !!user;
42
+ const userContext = useUser();
43
+ const isMagicLoggedIn = !!userContext?.user;
41
44
  return isMagicLoggedIn;
42
45
  }
@@ -7,11 +7,6 @@ const magicLinkKey =
7
7
  import.meta?.env.STORYBOOK_REACT_APP_MAGIC_API_KEY ||
8
8
  // @ts-expect-error import.meta.env only exists in vite environments
9
9
  import.meta?.env.REACT_APP_MAGIC_API_KEY;
10
- if (!magicLinkKey) {
11
- throw new Error(
12
- "STORYBOOK_REACT_APP_MAGIC_API_KEY/REACT_APP_MAGIC_API_KEY is not defined"
13
- );
14
- }
15
10
  const infuraKey =
16
11
  process.env.STORYBOOK_REACT_APP_INFURA_KEY ||
17
12
  process.env.REACT_APP_INFURA_KEY ||
@@ -152,6 +152,13 @@ const getExternalWeb3LibAdapterListener = ({
152
152
  );
153
153
  });
154
154
  },
155
+ estimateGas: async (...args: any[]): Promise<BigNumberish> => {
156
+ return getDefaultHandleSignerFunction<BigNumberish>({
157
+ parentOrigin,
158
+ functionName: "estimateGas",
159
+ args
160
+ });
161
+ },
155
162
  call: async (...args: any[]): Promise<string> => {
156
163
  return getDefaultHandleSignerFunction<string>({
157
164
  parentOrigin,