@bosonprotocol/react-kit 0.34.0-alpha.8 → 0.34.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 (352) 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/connection/utils.d.ts.map +1 -1
  13. package/dist/cjs/components/connection/utils.js +0 -1
  14. package/dist/cjs/components/connection/utils.js.map +1 -1
  15. package/dist/cjs/components/cta/common/CtaButton.d.ts.map +1 -1
  16. package/dist/cjs/components/cta/common/CtaButton.js +1 -1
  17. package/dist/cjs/components/cta/common/CtaButton.js.map +1 -1
  18. package/dist/cjs/components/cta/common/styles.d.ts.map +1 -1
  19. package/dist/cjs/components/cta/common/styles.js +10 -8
  20. package/dist/cjs/components/cta/common/styles.js.map +1 -1
  21. package/dist/cjs/components/currencyDisplay/CurrencyDisplay.d.ts +5 -2
  22. package/dist/cjs/components/currencyDisplay/CurrencyDisplay.d.ts.map +1 -1
  23. package/dist/cjs/components/currencyDisplay/CurrencyDisplay.js +6 -7
  24. package/dist/cjs/components/currencyDisplay/CurrencyDisplay.js.map +1 -1
  25. package/dist/cjs/components/exchangeCard/ExchangeCard.d.ts +1 -1
  26. package/dist/cjs/components/form/BaseCheckbox.d.ts +1 -1
  27. package/dist/cjs/components/form/BaseCheckbox.d.ts.map +1 -1
  28. package/dist/cjs/components/form/BaseCheckbox.js +9 -5
  29. package/dist/cjs/components/form/BaseCheckbox.js.map +1 -1
  30. package/dist/cjs/components/form/CountrySelect.d.ts +2 -2
  31. package/dist/cjs/components/form/CountrySelect.d.ts.map +1 -1
  32. package/dist/cjs/components/form/CountrySelect.js.map +1 -1
  33. package/dist/cjs/components/form/Field.styles.d.ts +28 -22
  34. package/dist/cjs/components/form/Field.styles.d.ts.map +1 -1
  35. package/dist/cjs/components/form/Field.styles.js +40 -13
  36. package/dist/cjs/components/form/Field.styles.js.map +1 -1
  37. package/dist/cjs/components/form/Select.d.ts +2 -2
  38. package/dist/cjs/components/form/Select.d.ts.map +1 -1
  39. package/dist/cjs/components/form/Select.js +2 -2
  40. package/dist/cjs/components/form/Select.js.map +1 -1
  41. package/dist/cjs/components/form/Upload/BaseUpload.d.ts +8 -0
  42. package/dist/cjs/components/form/Upload/BaseUpload.d.ts.map +1 -1
  43. package/dist/cjs/components/form/Upload/BaseUpload.js +99 -21
  44. package/dist/cjs/components/form/Upload/BaseUpload.js.map +1 -1
  45. package/dist/cjs/components/form/Upload/UploadedFile.d.ts +2 -1
  46. package/dist/cjs/components/form/Upload/UploadedFile.d.ts.map +1 -1
  47. package/dist/cjs/components/form/Upload/UploadedFile.js +3 -3
  48. package/dist/cjs/components/form/Upload/UploadedFile.js.map +1 -1
  49. package/dist/cjs/components/form/Upload/UploadedFiles.d.ts +2 -1
  50. package/dist/cjs/components/form/Upload/UploadedFiles.d.ts.map +1 -1
  51. package/dist/cjs/components/form/Upload/UploadedFiles.js +2 -2
  52. package/dist/cjs/components/form/Upload/UploadedFiles.js.map +1 -1
  53. package/dist/cjs/components/form/Upload/WithUploadToIpfs.d.ts +3 -1
  54. package/dist/cjs/components/form/Upload/WithUploadToIpfs.d.ts.map +1 -1
  55. package/dist/cjs/components/form/Upload/WithUploadToIpfs.js +5 -1
  56. package/dist/cjs/components/form/Upload/WithUploadToIpfs.js.map +1 -1
  57. package/dist/cjs/components/form/types.d.ts +21 -13
  58. package/dist/cjs/components/form/types.d.ts.map +1 -1
  59. package/dist/cjs/components/image/Image.styles.d.ts.map +1 -1
  60. package/dist/cjs/components/image/Image.styles.js +0 -2
  61. package/dist/cjs/components/image/Image.styles.js.map +1 -1
  62. package/dist/cjs/components/magicLink/MagicProvider.js +1 -1
  63. package/dist/cjs/components/magicLink/MagicProvider.js.map +1 -1
  64. package/dist/cjs/components/magicLink/UserContext.d.ts.map +1 -1
  65. package/dist/cjs/components/magicLink/UserContext.js +10 -2
  66. package/dist/cjs/components/magicLink/UserContext.js.map +1 -1
  67. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.js +1 -1
  68. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.js.map +1 -1
  69. package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.d.ts +22 -22
  70. package/dist/cjs/components/modal/components/common/detail/Detail.style.d.ts +51 -51
  71. package/dist/cjs/components/productCard/ProductCard.d.ts +5 -2
  72. package/dist/cjs/components/productCard/ProductCard.d.ts.map +1 -1
  73. package/dist/cjs/components/productCard/ProductCard.js +42 -34
  74. package/dist/cjs/components/productCard/ProductCard.js.map +1 -1
  75. package/dist/cjs/components/productCard/ProductCard.styles.d.ts +111 -4
  76. package/dist/cjs/components/productCard/ProductCard.styles.d.ts.map +1 -1
  77. package/dist/cjs/components/productCard/ProductCard.styles.js +52 -31
  78. package/dist/cjs/components/productCard/ProductCard.styles.js.map +1 -1
  79. package/dist/cjs/components/productCard/commonStyles.d.ts.map +1 -1
  80. package/dist/cjs/components/productCard/commonStyles.js +0 -1
  81. package/dist/cjs/components/productCard/commonStyles.js.map +1 -1
  82. package/dist/cjs/components/skeleton/CollectionsCardSkeleton.d.ts.map +1 -1
  83. package/dist/cjs/components/skeleton/CollectionsCardSkeleton.js +39 -17
  84. package/dist/cjs/components/skeleton/CollectionsCardSkeleton.js.map +1 -1
  85. package/dist/cjs/components/skeleton/ProductCardSkeleton.d.ts.map +1 -1
  86. package/dist/cjs/components/skeleton/ProductCardSkeleton.js +18 -19
  87. package/dist/cjs/components/skeleton/ProductCardSkeleton.js.map +1 -1
  88. package/dist/cjs/components/ui/ThemedButton.d.ts +1 -1
  89. package/dist/cjs/components/ui/Video.js +1 -1
  90. package/dist/cjs/components/ui/Video.js.map +1 -1
  91. package/dist/cjs/components/ui/column/index.d.ts +1 -1
  92. package/dist/cjs/components/ui/styles.d.ts +1 -1
  93. package/dist/cjs/components/ui/styles.d.ts.map +1 -1
  94. package/dist/cjs/components/ui/styles.js +18 -27
  95. package/dist/cjs/components/ui/styles.js.map +1 -1
  96. package/dist/cjs/components/wallet/ConnectButton.d.ts.map +1 -1
  97. package/dist/cjs/components/wallet/ConnectButton.js +3 -2
  98. package/dist/cjs/components/wallet/ConnectButton.js.map +1 -1
  99. package/dist/cjs/components/wallet/wallet-connection.d.ts +9559 -9559
  100. package/dist/cjs/components/wallet2/accountDrawer/AuthenticatedHeader.d.ts +3 -3
  101. package/dist/cjs/components/wallet2/accountDrawer/AuthenticatedHeader.d.ts.map +1 -1
  102. package/dist/cjs/components/wallet2/accountDrawer/AuthenticatedHeader.js +2 -2
  103. package/dist/cjs/components/wallet2/accountDrawer/AuthenticatedHeader.js.map +1 -1
  104. package/dist/cjs/components/wallet2/accountDrawer/IconButton.js +4 -3
  105. package/dist/cjs/components/wallet2/accountDrawer/IconButton.js.map +1 -1
  106. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/index.d.ts +3 -3
  107. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/index.d.ts.map +1 -1
  108. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/index.js +2 -2
  109. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/index.js.map +1 -1
  110. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/tokens/index.d.ts +5 -2
  111. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/tokens/index.d.ts.map +1 -1
  112. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/tokens/index.js +3 -2
  113. package/dist/cjs/components/wallet2/accountDrawer/miniPortfolio/tokens/index.js.map +1 -1
  114. package/dist/cjs/components/wallet2/walletModal/ConnectionErrorView.d.ts +6 -1
  115. package/dist/cjs/components/wallet2/walletModal/ConnectionErrorView.d.ts.map +1 -1
  116. package/dist/cjs/components/wallet2/walletModal/ConnectionErrorView.js +7 -5
  117. package/dist/cjs/components/wallet2/walletModal/ConnectionErrorView.js.map +1 -1
  118. package/dist/cjs/components/wallet2/walletModal/Option.d.ts +5 -1
  119. package/dist/cjs/components/wallet2/walletModal/Option.d.ts.map +1 -1
  120. package/dist/cjs/components/wallet2/walletModal/Option.js +5 -2
  121. package/dist/cjs/components/wallet2/walletModal/Option.js.map +1 -1
  122. package/dist/cjs/components/wallet2/walletModal/index.d.ts +12 -4
  123. package/dist/cjs/components/wallet2/walletModal/index.d.ts.map +1 -1
  124. package/dist/cjs/components/wallet2/walletModal/index.js +3 -3
  125. package/dist/cjs/components/wallet2/walletModal/index.js.map +1 -1
  126. package/dist/cjs/hooks/connection/connection.d.ts.map +1 -1
  127. package/dist/cjs/hooks/connection/connection.js +41 -12
  128. package/dist/cjs/hooks/connection/connection.js.map +1 -1
  129. package/dist/cjs/hooks/connection/useSyncChainQuery.js.map +1 -1
  130. package/dist/cjs/hooks/index.d.ts +2 -0
  131. package/dist/cjs/hooks/index.d.ts.map +1 -1
  132. package/dist/cjs/hooks/index.js +7 -1
  133. package/dist/cjs/hooks/index.js.map +1 -1
  134. package/dist/cjs/hooks/magic.d.ts +4 -4
  135. package/dist/cjs/hooks/magic.d.ts.map +1 -1
  136. package/dist/cjs/hooks/magic.js +9 -6
  137. package/dist/cjs/hooks/magic.js.map +1 -1
  138. package/dist/cjs/lib/config/config.d.ts.map +1 -1
  139. package/dist/cjs/lib/config/config.js +0 -3
  140. package/dist/cjs/lib/config/config.js.map +1 -1
  141. package/dist/cjs/lib/signer/externalSigner.d.ts.map +1 -1
  142. package/dist/cjs/lib/signer/externalSigner.js +7 -0
  143. package/dist/cjs/lib/signer/externalSigner.js.map +1 -1
  144. package/dist/cjs/theme.d.ts +2 -0
  145. package/dist/cjs/theme.d.ts.map +1 -1
  146. package/dist/cjs/theme.js +3 -1
  147. package/dist/cjs/theme.js.map +1 -1
  148. package/dist/cjs/types/helpers.d.ts +3 -12
  149. package/dist/cjs/types/helpers.d.ts.map +1 -1
  150. package/dist/cjs/types/helpers.js +0 -1
  151. package/dist/cjs/types/helpers.js.map +1 -1
  152. package/dist/esm/components/buttons/BaseButton.d.ts +9 -3
  153. package/dist/esm/components/buttons/BaseButton.d.ts.map +1 -1
  154. package/dist/esm/components/buttons/BaseButton.js +11 -22
  155. package/dist/esm/components/buttons/BaseButton.js.map +1 -1
  156. package/dist/esm/components/buttons/Button.d.ts +1 -1
  157. package/dist/esm/components/config/ConfigContext.d.ts +2 -1
  158. package/dist/esm/components/config/ConfigContext.d.ts.map +1 -1
  159. package/dist/esm/components/config/ConfigContext.js.map +1 -1
  160. package/dist/esm/components/config/ConfigProvider.d.ts.map +1 -1
  161. package/dist/esm/components/config/ConfigProvider.js +4 -1
  162. package/dist/esm/components/config/ConfigProvider.js.map +1 -1
  163. package/dist/esm/components/connection/utils.d.ts.map +1 -1
  164. package/dist/esm/components/connection/utils.js +0 -1
  165. package/dist/esm/components/connection/utils.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/wallet/wallet-connection.d.ts +9559 -9559
  251. package/dist/esm/components/wallet2/accountDrawer/AuthenticatedHeader.d.ts +3 -3
  252. package/dist/esm/components/wallet2/accountDrawer/AuthenticatedHeader.d.ts.map +1 -1
  253. package/dist/esm/components/wallet2/accountDrawer/AuthenticatedHeader.js +2 -2
  254. package/dist/esm/components/wallet2/accountDrawer/AuthenticatedHeader.js.map +1 -1
  255. package/dist/esm/components/wallet2/accountDrawer/IconButton.js +4 -3
  256. package/dist/esm/components/wallet2/accountDrawer/IconButton.js.map +1 -1
  257. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/index.d.ts +3 -3
  258. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/index.d.ts.map +1 -1
  259. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/index.js +2 -2
  260. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/index.js.map +1 -1
  261. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/tokens/index.d.ts +5 -2
  262. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/tokens/index.d.ts.map +1 -1
  263. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/tokens/index.js +3 -2
  264. package/dist/esm/components/wallet2/accountDrawer/miniPortfolio/tokens/index.js.map +1 -1
  265. package/dist/esm/components/wallet2/walletModal/ConnectionErrorView.d.ts +6 -1
  266. package/dist/esm/components/wallet2/walletModal/ConnectionErrorView.d.ts.map +1 -1
  267. package/dist/esm/components/wallet2/walletModal/ConnectionErrorView.js +7 -5
  268. package/dist/esm/components/wallet2/walletModal/ConnectionErrorView.js.map +1 -1
  269. package/dist/esm/components/wallet2/walletModal/Option.d.ts +5 -1
  270. package/dist/esm/components/wallet2/walletModal/Option.d.ts.map +1 -1
  271. package/dist/esm/components/wallet2/walletModal/Option.js +5 -2
  272. package/dist/esm/components/wallet2/walletModal/Option.js.map +1 -1
  273. package/dist/esm/components/wallet2/walletModal/index.d.ts +12 -4
  274. package/dist/esm/components/wallet2/walletModal/index.d.ts.map +1 -1
  275. package/dist/esm/components/wallet2/walletModal/index.js +3 -3
  276. package/dist/esm/components/wallet2/walletModal/index.js.map +1 -1
  277. package/dist/esm/hooks/connection/connection.d.ts.map +1 -1
  278. package/dist/esm/hooks/connection/connection.js +41 -12
  279. package/dist/esm/hooks/connection/connection.js.map +1 -1
  280. package/dist/esm/hooks/connection/useSyncChainQuery.js.map +1 -1
  281. package/dist/esm/hooks/index.d.ts +2 -0
  282. package/dist/esm/hooks/index.d.ts.map +1 -1
  283. package/dist/esm/hooks/index.js +2 -0
  284. package/dist/esm/hooks/index.js.map +1 -1
  285. package/dist/esm/hooks/magic.d.ts +4 -4
  286. package/dist/esm/hooks/magic.d.ts.map +1 -1
  287. package/dist/esm/hooks/magic.js +9 -6
  288. package/dist/esm/hooks/magic.js.map +1 -1
  289. package/dist/esm/lib/config/config.d.ts.map +1 -1
  290. package/dist/esm/lib/config/config.js +0 -3
  291. package/dist/esm/lib/config/config.js.map +1 -1
  292. package/dist/esm/lib/signer/externalSigner.d.ts.map +1 -1
  293. package/dist/esm/lib/signer/externalSigner.js +7 -0
  294. package/dist/esm/lib/signer/externalSigner.js.map +1 -1
  295. package/dist/esm/theme.d.ts +2 -0
  296. package/dist/esm/theme.d.ts.map +1 -1
  297. package/dist/esm/theme.js +3 -1
  298. package/dist/esm/theme.js.map +1 -1
  299. package/dist/esm/types/helpers.d.ts +3 -12
  300. package/dist/esm/types/helpers.d.ts.map +1 -1
  301. package/dist/esm/types/helpers.js +0 -1
  302. package/dist/esm/types/helpers.js.map +1 -1
  303. package/package.json +5 -5
  304. package/src/components/buttons/BaseButton.tsx +20 -38
  305. package/src/components/config/ConfigContext.ts +2 -1
  306. package/src/components/config/ConfigProvider.tsx +5 -2
  307. package/src/components/connection/utils.ts +0 -1
  308. package/src/components/cta/common/CtaButton.tsx +1 -1
  309. package/src/components/cta/common/styles.ts +10 -8
  310. package/src/components/currencyDisplay/CurrencyDisplay.tsx +21 -18
  311. package/src/components/exchangeCard/ExchangeCard.tsx +1 -1
  312. package/src/components/form/BaseCheckbox.tsx +15 -3
  313. package/src/components/form/CountrySelect.tsx +27 -26
  314. package/src/components/form/Field.styles.ts +49 -13
  315. package/src/components/form/Select.tsx +11 -11
  316. package/src/components/form/Upload/BaseUpload.tsx +186 -70
  317. package/src/components/form/Upload/UploadedFile.tsx +5 -3
  318. package/src/components/form/Upload/UploadedFiles.tsx +7 -1
  319. package/src/components/form/Upload/WithUploadToIpfs.tsx +8 -2
  320. package/src/components/form/types.ts +67 -20
  321. package/src/components/image/Image.styles.ts +0 -2
  322. package/src/components/magicLink/MagicProvider.tsx +1 -1
  323. package/src/components/magicLink/UserContext.tsx +10 -3
  324. package/src/components/modal/components/Redeem/MyItems/Exchange.tsx +1 -1
  325. package/src/components/productCard/ProductCard.styles.ts +58 -31
  326. package/src/components/productCard/ProductCard.tsx +54 -56
  327. package/src/components/productCard/commonStyles.ts +0 -1
  328. package/src/components/skeleton/CollectionsCardSkeleton.tsx +63 -39
  329. package/src/components/skeleton/ProductCardSkeleton.tsx +24 -37
  330. package/src/components/ui/Video.tsx +1 -1
  331. package/src/components/ui/styles.ts +18 -27
  332. package/src/components/wallet/ConnectButton.tsx +12 -9
  333. package/src/components/wallet2/accountDrawer/AuthenticatedHeader.tsx +5 -6
  334. package/src/components/wallet2/accountDrawer/IconButton.tsx +4 -4
  335. package/src/components/wallet2/accountDrawer/miniPortfolio/index.tsx +8 -4
  336. package/src/components/wallet2/accountDrawer/miniPortfolio/tokens/index.tsx +8 -2
  337. package/src/components/wallet2/walletModal/ConnectionErrorView.tsx +21 -6
  338. package/src/components/wallet2/walletModal/Option.tsx +9 -2
  339. package/src/components/wallet2/walletModal/index.tsx +17 -6
  340. package/src/hooks/connection/connection.ts +42 -12
  341. package/src/hooks/connection/useSyncChainQuery.ts +1 -1
  342. package/src/hooks/index.ts +7 -0
  343. package/src/hooks/magic.ts +9 -6
  344. package/src/lib/config/config.ts +0 -5
  345. package/src/lib/signer/externalSigner.ts +7 -0
  346. package/src/stories/ConnectWallet.stories.tsx +34 -1
  347. package/src/stories/ProductCard.stories.tsx +1 -7
  348. package/src/stories/buttons/Upload.stories.tsx +17 -7
  349. package/src/stories/form/BaseCheckbox.stories.tsx +8 -0
  350. package/src/stories/widgets/Commit.stories.tsx +2 -1
  351. package/src/theme.ts +3 -1
  352. package/src/types/helpers.ts +3 -27
@@ -1,4 +1,4 @@
1
- import { ImageSquare, X } from "phosphor-react";
1
+ import { ImageSquare, X, FilePdf } from "phosphor-react";
2
2
  import React, { useCallback } from "react";
3
3
  import styled from "styled-components";
4
4
  import { bytesToSize } from "../../../lib/bytes/bytesToSize";
@@ -33,6 +33,7 @@ interface Props {
33
33
  base64Content?: string;
34
34
  showSize: boolean;
35
35
  color: "grey" | "white";
36
+ isPdfOnly?: boolean;
36
37
  handleRemoveFile?: () => void;
37
38
  }
38
39
  export default function UploadedFile({
@@ -41,12 +42,13 @@ export default function UploadedFile({
41
42
  color,
42
43
  base64Content,
43
44
  showSize,
45
+ isPdfOnly,
44
46
  handleRemoveFile
45
47
  }: Props) {
46
48
  const FileContent = useCallback(() => {
47
49
  return (
48
50
  <>
49
- <ImageSquare size={23} />
51
+ {isPdfOnly ? <FilePdf size={23} /> : <ImageSquare size={23} />}
50
52
  <Typography fontSize="1rem" fontWeight="400">
51
53
  &nbsp;&nbsp; {fileName}
52
54
  </Typography>
@@ -57,7 +59,7 @@ export default function UploadedFile({
57
59
  )}
58
60
  </>
59
61
  );
60
- }, [fileName, fileSize, showSize]);
62
+ }, [fileName, isPdfOnly, fileSize, showSize]);
61
63
  return (
62
64
  <Grid>
63
65
  <AttachmentContainer $isLeftAligned={color === "white"}>
@@ -5,13 +5,19 @@ import { UploadFileType } from "../types";
5
5
  interface Props {
6
6
  files: UploadFileType[];
7
7
  handleRemoveFile: (index: number) => void;
8
+ isPdfOnly?: boolean;
8
9
  }
9
- export default function UploadedFiles({ files, handleRemoveFile }: Props) {
10
+ export default function UploadedFiles({
11
+ files,
12
+ handleRemoveFile,
13
+ isPdfOnly
14
+ }: Props) {
10
15
  return (
11
16
  <>
12
17
  {files.map((file: UploadFileType, index: number) => {
13
18
  return (
14
19
  <UploadedFile
20
+ isPdfOnly={isPdfOnly}
15
21
  key={`${file?.name || ""}_${index}`}
16
22
  fileName={file?.name || `file_${index}`}
17
23
  fileSize={Number(file?.size || 0)}
@@ -22,7 +22,8 @@ export const SUPPORTED_FORMATS = [
22
22
  ];
23
23
  export interface WithUploadToIpfsProps {
24
24
  saveToIpfs: (
25
- files: File[] | null
25
+ files: File[] | null,
26
+ options?: { throwOnError?: boolean }
26
27
  ) => Promise<false | FileProps[] | undefined>;
27
28
  loadMedia: (src: string) => Promise<string | undefined>;
28
29
  removeFile: (src: string) => Promise<void>;
@@ -39,7 +40,10 @@ export function WithUploadToIpfs<P extends WithUploadToIpfsProps>(
39
40
  const { saveFile, loadMedia, removeFile } = useSaveImageToIpfs();
40
41
 
41
42
  const saveToIpfs: WithUploadToIpfsProps["saveToIpfs"] = useCallback(
42
- async (filesArray: File[] | null) => {
43
+ async (
44
+ filesArray: File[] | null,
45
+ options: { throwOnError?: boolean } = {}
46
+ ) => {
43
47
  if (!filesArray) {
44
48
  return;
45
49
  }
@@ -53,10 +57,12 @@ export function WithUploadToIpfs<P extends WithUploadToIpfsProps>(
53
57
  const err = `File ${
54
58
  file?.name
55
59
  } size cannot exceed more than ${bytesToSize(sizeValidation)}!`;
60
+ if (options?.throwOnError) throw new Error(err);
56
61
  filesErrors.push(err);
57
62
  }
58
63
  if (!formatValidation.includes(file?.type)) {
59
64
  const err = `Uploaded file has unsupported format of ${file?.type}!`;
65
+ if (options?.throwOnError) throw new Error(err);
60
66
  filesErrors.push(err);
61
67
  }
62
68
  }
@@ -1,5 +1,10 @@
1
1
  import { ReactNode } from "react";
2
- import { CSSObjectWithLabel, MultiValue, SingleValue } from "react-select";
2
+ import {
3
+ ActionMeta,
4
+ CSSObjectWithLabel,
5
+ MultiValue,
6
+ SingleValue
7
+ } from "react-select";
3
8
  import { CSSProperties } from "styled-components";
4
9
  import { ImageEditorModalProps } from "./Upload/ImageEditorModal/ImageEditorModal";
5
10
  import type {
@@ -8,6 +13,8 @@ import type {
8
13
  TextAreaTheme
9
14
  } from "./Field.styles";
10
15
  import type { GridProps } from "../ui/Grid";
16
+ import { StateManagerProps } from "react-select/dist/declarations/src/useStateManager";
17
+ import { IconProps } from "phosphor-react";
11
18
 
12
19
  export interface BaseProps {
13
20
  name: string;
@@ -23,10 +30,17 @@ export interface DatepickerProps extends BaseProps {
23
30
  setIsFormValid?: (isValid: boolean) => void;
24
31
  }
25
32
 
26
- export interface CheckboxProps extends BaseProps {
27
- text?: string;
28
- theme?: CheckboxTheme;
29
- }
33
+ export type CheckboxProps = BaseProps &
34
+ Omit<React.InputHTMLAttributes<HTMLInputElement>, "checked"> & {
35
+ text?: string;
36
+ className?: string;
37
+ theme?: CheckboxTheme;
38
+ iconProps?: Parameters<
39
+ React.ForwardRefExoticComponent<
40
+ IconProps & React.RefAttributes<SVGSVGElement>
41
+ >
42
+ >[0];
43
+ };
30
44
 
31
45
  export type TextareaProps = BaseProps &
32
46
  React.TextareaHTMLAttributes<HTMLTextAreaElement> & { theme?: TextAreaTheme };
@@ -66,7 +80,7 @@ export type TagsProps = BaseProps &
66
80
  transform?: (tag: string) => string;
67
81
  };
68
82
 
69
- export interface SelectDataProps<Value extends string = string> {
83
+ export interface SelectDataProps<Value = string> {
70
84
  label: string;
71
85
  value: Value;
72
86
  disabled?: boolean;
@@ -77,27 +91,55 @@ export interface SelectContentProps {
77
91
  children: React.ReactNode | JSX.Element;
78
92
  }
79
93
 
80
- export type OnChange = (value: SingleValue<SelectDataProps>) => void;
94
+ export type OnChange<Value = string> = (
95
+ value: SingleValue<SelectDataProps<Value>>
96
+ ) => void;
81
97
 
82
- export interface BaseSelectProps {
83
- options: Array<SelectDataProps>;
98
+ export interface BaseSelectProps<Value = string> {
99
+ options: Array<SelectDataProps<Value>>;
84
100
  placeholder?: string;
85
- defaultValue?: SelectDataProps | null;
86
- onChange?: OnChange;
101
+ defaultValue?: SelectDataProps<Value> | null;
102
+ onChange?: OnChange<Value>;
87
103
  }
88
-
89
- export interface SelectProps<M extends boolean | undefined = false>
90
- extends BaseProps {
104
+ export type SupportedReactSelectProps<
105
+ M extends boolean | undefined = false,
106
+ Option extends Record<string, unknown> = SelectDataProps
107
+ > = Pick<
108
+ StateManagerProps<Option, M extends undefined ? false : boolean>,
109
+ | "formatGroupLabel"
110
+ | "formatOptionLabel"
111
+ | "menuPlacement"
112
+ | "menuPosition"
113
+ | "menuIsOpen"
114
+ | "menuPortalTarget"
115
+ | "onMenuClose"
116
+ | "onMenuOpen"
117
+ | "onMenuScrollToBottom"
118
+ | "onMenuScrollToTop"
119
+ | "maxMenuHeight"
120
+ | "minMenuHeight"
121
+ | "menuShouldBlockScroll"
122
+ | "menuShouldScrollIntoView"
123
+ | "openMenuOnClick"
124
+ | "openMenuOnFocus"
125
+ | "closeMenuOnScroll"
126
+ | "closeMenuOnSelect"
127
+ | "captureMenuScroll"
128
+ | "defaultMenuIsOpen"
129
+ >;
130
+ export type SelectProps<
131
+ M extends boolean | undefined = false,
132
+ Option extends Record<string, unknown> = SelectDataProps
133
+ > = BaseProps & {
91
134
  isMulti?: M;
92
135
  disabled?: boolean;
93
136
  isClearable?: boolean;
94
137
  isSearchable?: boolean;
95
- options: Array<SelectDataProps> | Readonly<Array<SelectDataProps>>;
138
+ options: Array<Option> | Readonly<Array<Option>>;
96
139
  errorMessage?: string;
97
140
  onChange?: (
98
- option: M extends true
99
- ? MultiValue<SelectDataProps<string>>
100
- : SingleValue<SelectDataProps<string>>
141
+ option: M extends true ? MultiValue<Option> : SingleValue<Option>,
142
+ actionMeta?: ActionMeta<Option>
101
143
  ) => void;
102
144
  label?: string;
103
145
  theme?: Partial<{
@@ -120,7 +162,7 @@ export interface SelectProps<M extends boolean | undefined = false>
120
162
  singleValue: Partial<CSSProperties> &
121
163
  Partial<{ error: CSSObjectWithLabel }>;
122
164
  }>;
123
- }
165
+ } & SupportedReactSelectProps<M, Option>;
124
166
 
125
167
  export type UploadProps = BaseProps & {
126
168
  accept?: string;
@@ -137,8 +179,13 @@ export type UploadProps = BaseProps & {
137
179
  borderRadiusUnit?: "px" | "%";
138
180
  width?: number;
139
181
  height?: number;
182
+ errorComponent?: (errorMessage: string) => React.ReactNode;
140
183
  imgPreviewStyle?: Pick<CSSProperties, "objectFit">;
141
- theme?: Partial<{ triggerTheme: FileUploadWrapperTheme }>;
184
+ theme?: Partial<{
185
+ triggerTheme: FileUploadWrapperTheme;
186
+ overrides: React.CSSProperties;
187
+ uploadButton: React.CSSProperties;
188
+ }>;
142
189
  } & (
143
190
  | {
144
191
  withEditor: true;
@@ -15,8 +15,6 @@ export const ImageContainer = styled.img`
15
15
  width: 100%;
16
16
  height: 100%;
17
17
  object-fit: contain;
18
- object-position: top;
19
- padding: 1rem;
20
18
  `;
21
19
 
22
20
  const buttonText = css`
@@ -13,7 +13,7 @@ export const MagicProvider = ({ children }: { children: ReactNode }) => {
13
13
  return (
14
14
  <InnerMagicProvider
15
15
  chainId={chainId}
16
- magicLinkKey={magicLinkKey}
16
+ magicLinkKey={magicLinkKey ?? ""}
17
17
  rpcUrls={CONFIG.rpcUrls}
18
18
  >
19
19
  {children}
@@ -1,14 +1,21 @@
1
1
  import React, { useContext } from "react";
2
+ import { useConfigContext } from "../config/ConfigContext";
2
3
 
3
4
  export const UserContext = React.createContext<{
4
5
  user: string | undefined;
5
6
  setUser: React.Dispatch<React.SetStateAction<string | undefined>>;
6
7
  } | null>(null);
7
-
8
+ const emptyUserContext = {
9
+ user: "",
10
+ setUser: () => {
11
+ //
12
+ }
13
+ };
8
14
  export const useUser = () => {
15
+ const { withMagicLink } = useConfigContext();
9
16
  const value = useContext(UserContext);
10
- if (!value) {
17
+ if (!value && withMagicLink) {
11
18
  throw new Error(`useUser must be used under a UserProvider`);
12
19
  }
13
- return value;
20
+ return value || emptyUserContext;
14
21
  };
@@ -173,7 +173,7 @@ export default function Exchange({
173
173
  }
174
174
  }}
175
175
  onAvatarNameClick={handleOnAvatarClick}
176
- price={Number(price)}
176
+ price={price}
177
177
  currency={offer.exchangeToken.symbol as Currencies}
178
178
  {...createSpecificCardConfig()}
179
179
  />
@@ -1,13 +1,14 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import { theme } from "../../theme";
3
3
  import { cardWrapperStyles } from "./commonStyles";
4
+ import { Typography } from "../ui/Typography";
5
+ import { zIndex } from "../ui/zIndex";
4
6
 
5
7
  export const ProductCardLabelWrapper = styled.div`
6
8
  position: absolute;
7
9
  top: 0.5rem;
8
10
  left: 0.5rem;
9
11
  background: white;
10
- padding: 0.25rem 0.5rem 0.25rem 0.5rem;
11
12
  font-weight: 600;
12
13
  color: ${({ theme }) => theme?.colors?.light.darkGrey};
13
14
  z-index: 1;
@@ -73,29 +74,34 @@ export const ProductCardCreatorAvatar = styled.div`
73
74
 
74
75
  export const ProductCardCreatorName = styled.div`
75
76
  font-weight: 600;
76
- font-size: 0.75rem;
77
+ font-size: 0.625rem;
77
78
  line-height: 150%;
78
- min-height: 3em;
79
- color: ${({ theme }) => theme?.colors?.light.accent};
79
+ color: ${({ theme }) => theme?.colors?.light.darkGrey};
80
80
  flex: none;
81
81
  order: 1;
82
82
  flex-grow: 0;
83
- justify-self: flex-end;
84
- margin-bottom: 0.25rem;
83
+ justify-self: flex-start;
84
+ margin-right: auto;
85
+ > span {
86
+ font-weight: 600;
87
+ font-size: 0.625rem;
88
+ color: ${({ theme }) => theme?.colors?.light.darkGrey};
89
+ }
85
90
  `;
86
91
 
87
- export const ProductCardTitle = styled.div.attrs({ className: "title" })`
88
- font-weight: 600;
89
- font-size: 1.25rem;
92
+ export const ProductCardTitle = styled(Typography).attrs({
93
+ className: "title"
94
+ })`
90
95
  color: ${({ theme }) => theme?.colors?.light.black};
91
96
  word-break: break-word;
92
97
  overflow: hidden;
93
- text-overflow: ellipsis;
94
98
  display: -webkit-box;
95
99
  -webkit-box-orient: vertical;
96
100
  -webkit-line-clamp: 2;
97
101
  line-height: 1.5em;
98
102
  max-height: calc(1.5em * 2);
103
+ white-space: nowrap;
104
+ text-overflow: ellipsis;
99
105
  `;
100
106
 
101
107
  export const ProductCardPriceWrapper = styled.div`
@@ -117,37 +123,34 @@ export const ProductCardPrice = styled.div`
117
123
  color: ${({ theme }) => theme?.colors?.light.darkGrey};
118
124
  `;
119
125
 
120
- export const ProductCardData = styled.div`
121
- display: flex;
122
- flex-direction: column;
123
- `;
124
-
125
126
  export const ProductCardBottom = styled.div.attrs({ className: "bottom" })`
126
127
  width: 100%;
127
- background: ${theme?.colors?.light.white};
128
128
  height: 12rem;
129
129
  display: flex;
130
130
  flex-direction: column;
131
- justify-content: space-between;
131
+ justify-content: flex-end;
132
+ z-index: ${zIndex.ChatSeparator};
133
+ flex: 0;
132
134
  `;
133
135
  export const ProductCardBottomContent = styled.div`
134
136
  display: flex;
135
137
  justify-content: space-between;
138
+ flex-direction: column;
136
139
  width: 100%;
137
- padding: 1rem 1.5rem 0.5rem 1.5rem;
138
140
  box-sizing: border-box;
139
141
  align-items: flex-start;
140
142
  column-gap: 0.25rem;
141
- border-top: 2px solid ${theme.colors.light.border};
142
143
  `;
143
144
 
144
145
  export const ProductCardTitleWrapper = styled.div`
145
146
  width: 100%;
146
- padding: 0 1.5rem 0.5rem 1.5rem;
147
147
  box-sizing: border-box;
148
148
  `;
149
149
 
150
- export const ProductCardWrapper = styled.div<{ $isHoverDisabled: boolean }>`
150
+ export const ProductCardWrapper = styled.div<{
151
+ $isHoverDisabled: boolean;
152
+ $isImageFitCover?: boolean;
153
+ }>`
151
154
  ${cardWrapperStyles}
152
155
  overflow: hidden;
153
156
  position: relative;
@@ -156,6 +159,9 @@ export const ProductCardWrapper = styled.div<{ $isHoverDisabled: boolean }>`
156
159
  justify-content: space-between;
157
160
  flex-direction: column;
158
161
  cursor: pointer;
162
+ min-height: 286px;
163
+ height: 286px;
164
+ padding: 0 1rem 1rem 1rem;
159
165
  [data-image-wrapper] {
160
166
  position: static;
161
167
  padding-top: 0;
@@ -163,21 +169,28 @@ export const ProductCardWrapper = styled.div<{ $isHoverDisabled: boolean }>`
163
169
  display: flex;
164
170
  justify-content: center;
165
171
  align-items: center;
172
+ ${({ $isImageFitCover }) =>
173
+ $isImageFitCover
174
+ ? css`
175
+ width: 100%;
176
+ img {
177
+ object-fit: cover;
178
+ }
179
+ `
180
+ : ""}
166
181
  }
167
182
  ${({ $isHoverDisabled }) =>
168
183
  !$isHoverDisabled
169
184
  ? css`
170
185
  transition: all 300ms ease-in-out;
171
186
  &:hover {
172
- box-shadow:
173
- 0px 0px 0px rgba(0, 0, 0, 0.05),
174
- 4px 4px 4px rgba(0, 0, 0, 0.05),
175
- 8px 8px 8px rgba(0, 0, 0, 0.05),
176
- 16px 16px 16px rgba(0, 0, 0, 0.05);
187
+ border: 2px solid ${theme.colors.light.border};
177
188
 
178
189
  [data-image-wrapper] {
190
+ width: 110%;
179
191
  img {
180
- transform: scale(1.05);
192
+ transform: scale(1.5);
193
+ object-position: center;
181
194
  transition: all 300ms ease-in-out;
182
195
  }
183
196
  }
@@ -192,7 +205,7 @@ export const ProductCardTop = styled.div<{ $isNotImageLoaded: boolean }>`
192
205
  overflow: hidden;
193
206
  width: 100%;
194
207
  align-self: stretch;
195
- z-index: 0;
208
+ z-index: ${zIndex.Default};
196
209
  `;
197
210
 
198
211
  export const BottomText = styled.p`
@@ -200,14 +213,28 @@ export const BottomText = styled.p`
200
213
  font-weight: 600;
201
214
  line-height: 0.975rem;
202
215
  margin: 0;
203
- padding: 0 1.5rem 1rem 1.5rem;
204
216
  letter-spacing: 0.5px;
205
217
  color: ${theme.colors.light.darkGrey};
206
218
  `;
207
219
 
208
220
  export const ProductCardImageWrapper = styled.div`
209
221
  width: 100%;
210
- min-height: 0;
211
- height: auto;
222
+ height: 13.125rem;
223
+ display: flex;
224
+ justify-content: center;
225
+ align-items: center;
226
+ padding-top: 0.9375rem;
227
+ padding-bottom: 0.9375rem;
212
228
  flex: 1;
213
229
  `;
230
+
231
+ export const ProductCardImageAndCTAContainer = styled.div`
232
+ position: relative;
233
+ `;
234
+
235
+ export const CTAOnHoverContainer = styled.div<{ $isHovered: boolean }>`
236
+ position: absolute;
237
+ z-index: ${zIndex.OfferCard};
238
+ bottom: ${({ $isHovered }) => ($isHovered ? "95px" : "1.875rem")};
239
+ transition: all 300ms ease-in-out;
240
+ `;
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { ReactNode, useState } from "react";
2
2
  import {
3
3
  Currencies,
4
4
  CurrencyDisplay
@@ -6,23 +6,20 @@ import {
6
6
  import { IBaseImage, Image } from "../image/Image";
7
7
  import { Tooltip, TooltipProps } from "../tooltip/Tooltip";
8
8
  import {
9
- BottomText,
10
9
  ProductCardBottom,
11
10
  ProductCardBottomContent,
12
- ProductCardCreator,
13
- ProductCardCreatorAvatar,
14
11
  TopLeftRibbon,
15
12
  ProductCardCreatorName,
16
- ProductCardData,
17
13
  ProductCardImageWrapper,
18
- ProductCardPrice,
19
- ProductCardPriceWrapper,
20
14
  ProductCardTitle,
21
15
  ProductCardTitleWrapper,
22
- ProductCardWrapper
16
+ ProductCardWrapper,
17
+ CTAOnHoverContainer
23
18
  } from "./ProductCard.styles";
24
19
 
25
20
  import { ProductType } from "./const";
21
+ import { Grid } from "../ui/Grid";
22
+
26
23
  interface IProductCard {
27
24
  asterisk?: boolean;
28
25
  avatar: string;
@@ -36,12 +33,15 @@ interface IProductCard {
36
33
  isHoverDisabled?: boolean;
37
34
  onAvatarNameClick?: () => void;
38
35
  onCardClick?: (id: string | number) => void;
39
- price: number;
36
+ price: string;
40
37
  productId: string;
41
38
  productType?: ProductType;
42
39
  title: string;
43
40
  tooltip?: string;
44
41
  tooltipProps?: Omit<TooltipProps, "content">;
42
+ CTAOnHover?: ReactNode;
43
+ hideCreatorName?: boolean;
44
+ isImageFitCover?: boolean;
45
45
  }
46
46
 
47
47
  const Wrapper = ({
@@ -62,85 +62,83 @@ const Wrapper = ({
62
62
  }
63
63
  return <>{children}</>;
64
64
  };
65
+
65
66
  export const PhygitalLabel = ({ ...rest }) => {
66
67
  return <TopLeftRibbon {...rest} data-text="Phygital" />;
67
68
  };
69
+
68
70
  export const ProductCard = (props: IProductCard) => {
69
71
  const {
70
- asterisk = false,
71
- avatar,
72
- onAvatarError,
73
72
  avatarName,
74
- bottomText,
75
73
  currency,
76
74
  dataCard = "product-card",
77
75
  dataTestId = "offer",
78
76
  imageProps,
79
77
  isHoverDisabled = false,
80
- onAvatarNameClick,
81
78
  onCardClick,
82
79
  price,
83
80
  productId,
84
81
  title,
85
82
  tooltip = "",
86
83
  tooltipProps = {},
87
- productType
84
+ CTAOnHover,
85
+ hideCreatorName = false,
86
+ isImageFitCover = false
88
87
  } = props;
89
- const isPhygital = productType === ProductType.phygital;
88
+
89
+ const [isHovered, setIsHovered] = useState(false);
90
+
90
91
  return (
91
92
  <ProductCardWrapper
92
93
  data-card={dataCard}
93
94
  $isHoverDisabled={isHoverDisabled}
94
95
  data-testid={dataTestId}
96
+ $isImageFitCover={isImageFitCover}
95
97
  onClick={(e) => {
96
98
  e.preventDefault();
97
99
  onCardClick?.(productId);
98
100
  }}
101
+ onMouseEnter={() => setIsHovered(true)}
102
+ onMouseLeave={() => setIsHovered(false)}
99
103
  >
100
104
  <ProductCardImageWrapper>
101
- {isPhygital && <PhygitalLabel />}
102
105
  <Image {...imageProps} />
103
106
  </ProductCardImageWrapper>
107
+ {CTAOnHover && (
108
+ <CTAOnHoverContainer $isHovered={isHovered}>
109
+ {CTAOnHover}
110
+ </CTAOnHoverContainer>
111
+ )}
104
112
  <ProductCardBottom>
105
- <div>
106
- <ProductCardBottomContent>
107
- <ProductCardData>
108
- <ProductCardCreator
109
- onClick={(e) => {
110
- e.stopPropagation();
111
- onAvatarNameClick?.();
112
- }}
113
- >
114
- <ProductCardCreatorAvatar>
115
- <img src={avatar} alt="avatar" onError={onAvatarError} />
116
- </ProductCardCreatorAvatar>
117
- <ProductCardCreatorName data-avatarname="product-card">
118
- {avatarName}
119
- </ProductCardCreatorName>
120
- </ProductCardCreator>
121
- </ProductCardData>
122
- <ProductCardPriceWrapper>
123
- <Wrapper tooltip={tooltip} tooltipProps={tooltipProps}>
124
- <>
125
- <ProductCardPrice>Price {asterisk && "*"}</ProductCardPrice>
126
- <CurrencyDisplay
127
- value={price}
128
- currency={currency}
129
- style={{
130
- wordBreak: "break-all",
131
- alignItems: "flex-start",
132
- justifyContent: "flex-end"
133
- }}
134
- />
135
- </>
136
- </Wrapper>
137
- </ProductCardPriceWrapper>
138
- </ProductCardBottomContent>
139
- <ProductCardTitleWrapper>
140
- <ProductCardTitle>{title}</ProductCardTitle>
141
- </ProductCardTitleWrapper>
142
- </div>
143
- {bottomText && <BottomText>{bottomText}</BottomText>}
113
+ <ProductCardBottomContent>
114
+ <Grid flexDirection="column">
115
+ <ProductCardTitleWrapper>
116
+ <ProductCardTitle fontSize={"0.75rem"} fontWeight={"600"}>
117
+ {title}
118
+ </ProductCardTitle>
119
+ </ProductCardTitleWrapper>
120
+ {!hideCreatorName && (
121
+ <ProductCardCreatorName data-avatarname="product-card">
122
+ {avatarName}
123
+ </ProductCardCreatorName>
124
+ )}
125
+ </Grid>
126
+ <Wrapper tooltip={tooltip} tooltipProps={tooltipProps}>
127
+ <CurrencyDisplay
128
+ value={price}
129
+ currency={currency}
130
+ fontSize={"0.875rem"}
131
+ iconSize={16}
132
+ gap={"0.3125rem"}
133
+ style={{
134
+ wordBreak: "break-all",
135
+ alignItems: "center",
136
+ justifyContent: "center",
137
+ paddingTop: "0.25rem"
138
+ }}
139
+ />
140
+ </Wrapper>
141
+ </ProductCardBottomContent>
144
142
  </ProductCardBottom>
145
143
  </ProductCardWrapper>
146
144
  );
@@ -5,7 +5,6 @@ export const cardWrapperStyles = css`
5
5
  padding: 0px;
6
6
  isolation: isolate;
7
7
  width: 100%;
8
- min-height: 31.25rem;
9
8
  box-shadow: 0px 4.31783px 107.946px rgba(21, 30, 52, 0.1);
10
9
  background: ${theme.colors.light.white};
11
10
  `;