@0xsequence/marketplace-sdk 0.9.0 → 0.10.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 (326) hide show
  1. package/.storybook/main.ts +63 -0
  2. package/.storybook/preview.ts +24 -0
  3. package/.storybook/vitest.setup.ts +6 -0
  4. package/CHANGELOG.md +77 -8
  5. package/dist/{CalendarIcon-DbQ7Vxcw.js → CalendarIcon-CqsuAuCm.js} +4 -51
  6. package/dist/CalendarIcon-CqsuAuCm.js.map +1 -0
  7. package/dist/{CollectibleCard-C8Ae64Ab.d.ts → CollectibleCard-Dd-CG6dE.d.ts} +8 -7
  8. package/dist/InfoIcon-v0w_Lu7t.js +53 -0
  9. package/dist/InfoIcon-v0w_Lu7t.js.map +1 -0
  10. package/dist/{_internal-BgWcRIak.js → _internal-C75gOSNo.js} +2 -10
  11. package/dist/_internal-C75gOSNo.js.map +1 -0
  12. package/dist/actionModal-CMUeVsFX.js +116 -0
  13. package/dist/actionModal-CMUeVsFX.js.map +1 -0
  14. package/dist/{alien_swap-B_76IMma.js → alien_swap-CYv6YlOF.js} +1 -1
  15. package/dist/{alien_swap-B_76IMma.js.map → alien_swap-CYv6YlOF.js.map} +1 -1
  16. package/dist/{api-DTIan01C.js → api-BiMGqWdz.js} +17 -34
  17. package/dist/api-BiMGqWdz.js.map +1 -0
  18. package/dist/{aqua-xyz-CMN_TFY5.js → aqua-xyz-Bzn5baeH.js} +1 -1
  19. package/dist/{aqua-xyz-CMN_TFY5.js.map → aqua-xyz-Bzn5baeH.js.map} +1 -1
  20. package/dist/{aura-Cye_TuHj.js → aura-DzIWh8WT.js} +1 -1
  21. package/dist/{aura-Cye_TuHj.js.map → aura-DzIWh8WT.js.map} +1 -1
  22. package/dist/base-DqaJPvfN.js +22 -0
  23. package/dist/base-DqaJPvfN.js.map +1 -0
  24. package/dist/{blur-DWDMyMpK.js → blur-DSH-Cbpj.js} +1 -1
  25. package/dist/{blur-DWDMyMpK.js.map → blur-DSH-Cbpj.js.map} +1 -1
  26. package/dist/{coinbase-ByA_XRB0.js → coinbase-Df8URNxq.js} +1 -1
  27. package/dist/{coinbase-ByA_XRB0.js.map → coinbase-Df8URNxq.js.map} +1 -1
  28. package/dist/{new-marketplace-types-Bfis0U4J.d.ts → create-config-DKJ-F0jc.d.ts} +402 -41
  29. package/dist/{wagmi-CDzEQbfk.js → create-config-fQ-jbJD1.js} +20 -10
  30. package/dist/create-config-fQ-jbJD1.js.map +1 -0
  31. package/dist/{element-b77CyXIZ.js → element-Cx6uJu5N.js} +1 -1
  32. package/dist/{element-b77CyXIZ.js.map → element-Cx6uJu5N.js.map} +1 -1
  33. package/dist/{foundation-DbOrKP9Y.js → foundation-D6U4aRLN.js} +1 -1
  34. package/dist/{foundation-DbOrKP9Y.js.map → foundation-D6U4aRLN.js.map} +1 -1
  35. package/dist/get-provider-CYYHfrlg.js +10 -0
  36. package/dist/get-provider-CYYHfrlg.js.map +1 -0
  37. package/dist/get-query-client-D19vvfJo.js +23 -0
  38. package/dist/get-query-client-D19vvfJo.js.map +1 -0
  39. package/dist/hooks-4pxIbLbM.js +4044 -0
  40. package/dist/hooks-4pxIbLbM.js.map +1 -0
  41. package/dist/{index-BL9RUSEK.d.ts → index-136YrWDH.d.ts} +1 -1
  42. package/dist/{index-D5v5iluA.d.ts → index-BAhaEfqY.d.ts} +1 -1
  43. package/dist/index-BKBin-rq.d.ts +979 -0
  44. package/dist/{index-BQsgAvtX.d.ts → index-BUWB_RXp.d.ts} +776 -570
  45. package/dist/{index-21LE7OhL.d.ts → index-BhVFc2rX.d.ts} +6 -3
  46. package/dist/{index-DXMfTZ1F.d.ts → index-C5aqo8xu.d.ts} +1 -1
  47. package/dist/{index-ByznONYE.d.ts → index-CKrYP7ot.d.ts} +20 -48
  48. package/dist/{index-DaE5ZNHb.d.ts → index-CUwMH7Ht.d.ts} +5 -5
  49. package/dist/{index-CLy8y5hm.d.ts → index-Cu70Lw-w.d.ts} +1 -1
  50. package/dist/index.css +414 -1
  51. package/dist/index.d.ts +8 -10
  52. package/dist/index.js +13 -9
  53. package/dist/{looks-rare-C1VqNcSM.js → looks-rare-ChBRBY-p.js} +1 -1
  54. package/dist/{looks-rare-C1VqNcSM.js.map → looks-rare-ChBRBY-p.js.map} +1 -1
  55. package/dist/{magic-eden-ea_AGCZr.js → magic-eden-D5U7N1xL.js} +1 -1
  56. package/dist/{magic-eden-ea_AGCZr.js.map → magic-eden-D5U7N1xL.js.map} +1 -1
  57. package/dist/{manifold-8y8J2sjT.js → manifold-CtLF52zU.js} +1 -1
  58. package/dist/{manifold-8y8J2sjT.js.map → manifold-CtLF52zU.js.map} +1 -1
  59. package/dist/{marketplace-nwnZv9Cb.js → marketplace-DmFiyBoS.js} +1 -1
  60. package/dist/{marketplace-nwnZv9Cb.js.map → marketplace-DmFiyBoS.js.map} +1 -1
  61. package/dist/{marketplace-logos-CSeGcPW4.js → marketplace-logos-Cd6W-qOq.js} +21 -21
  62. package/dist/{marketplace-logos-CSeGcPW4.js.map → marketplace-logos-Cd6W-qOq.js.map} +1 -1
  63. package/dist/{marketplace.gen-BSDIX7NZ.js → marketplace.gen-HpnpL5xU.js} +3 -3
  64. package/dist/marketplace.gen-HpnpL5xU.js.map +1 -0
  65. package/dist/{marketplaceConfig-C6X1SUik.js → marketplaceConfig-GQTTmihy.js} +3 -3
  66. package/dist/marketplaceConfig-GQTTmihy.js.map +1 -0
  67. package/dist/{mintify-LA68TzWg.js → mintify-Bi3Bce68.js} +1 -1
  68. package/dist/{mintify-LA68TzWg.js.map → mintify-Bi3Bce68.js.map} +1 -1
  69. package/dist/network-CGD0oKtS.js +15 -0
  70. package/dist/network-CGD0oKtS.js.map +1 -0
  71. package/dist/{nftx-D3Tc8nzd.js → nftx-BDQZjtkX.js} +1 -1
  72. package/dist/{nftx-D3Tc8nzd.js.map → nftx-BDQZjtkX.js.map} +1 -1
  73. package/dist/{okx-hbqg6oIJ.js → okx-D4meadLe.js} +1 -1
  74. package/dist/{okx-hbqg6oIJ.js.map → okx-D4meadLe.js.map} +1 -1
  75. package/dist/{open-sea-BccuK8-t.js → open-sea-DN0hgfVw.js} +1 -1
  76. package/dist/{open-sea-BccuK8-t.js.map → open-sea-DN0hgfVw.js.map} +1 -1
  77. package/dist/{primary-sale-C55ALnfQ.js → primary-sale-CmWxSfFQ.js} +1 -1
  78. package/dist/{primary-sale-C55ALnfQ.js.map → primary-sale-CmWxSfFQ.js.map} +1 -1
  79. package/dist/provider-DPGUA10G.js +125 -0
  80. package/dist/provider-DPGUA10G.js.map +1 -0
  81. package/dist/{queries-CUU65uYZ.js → queries-Ce_2othB.js} +165 -7
  82. package/dist/queries-Ce_2othB.js.map +1 -0
  83. package/dist/{rarible-BgTwwj9g.js → rarible-B0xlD88A.js} +1 -1
  84. package/dist/{rarible-BgTwwj9g.js.map → rarible-B0xlD88A.js.map} +1 -1
  85. package/dist/react/_internal/api/index.d.ts +2 -4
  86. package/dist/react/_internal/api/index.js +7 -4
  87. package/dist/react/_internal/databeat/index.d.ts +2 -73
  88. package/dist/react/_internal/databeat/index.js +4 -21
  89. package/dist/react/_internal/index.d.ts +2 -7
  90. package/dist/react/_internal/index.js +11 -6
  91. package/dist/react/_internal/wagmi/index.d.ts +2 -4
  92. package/dist/react/_internal/wagmi/index.js +5 -3
  93. package/dist/react/hooks/index.d.ts +12 -17
  94. package/dist/react/hooks/index.js +23 -19
  95. package/dist/react/hooks/options/index.d.ts +2 -3
  96. package/dist/react/hooks/options/index.js +12 -7
  97. package/dist/react/index.d.ts +12 -17
  98. package/dist/react/index.js +28 -19
  99. package/dist/react/queries/index.d.ts +9 -8
  100. package/dist/react/queries/index.js +20 -15
  101. package/dist/react/ssr/index.d.ts +7 -9
  102. package/dist/react/ssr/index.js +11 -6
  103. package/dist/react/ssr/index.js.map +1 -1
  104. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +3 -8
  105. package/dist/react/ui/components/marketplace-collectible-card/index.js +27 -18
  106. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -7
  107. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +11 -6
  108. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  109. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  110. package/dist/react/ui/icons/index.js +13 -9
  111. package/dist/react/ui/index.d.ts +3 -8
  112. package/dist/react/ui/index.js +27 -18
  113. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  114. package/dist/react/ui/modals/_internal/components/actionModal/index.js +23 -18
  115. package/dist/{react-DAIicQPT.js → react-DP0M2Wfm.js} +799 -4306
  116. package/dist/react-DP0M2Wfm.js.map +1 -0
  117. package/dist/{react-BbHBl6gg.css → react-DeDyTgo7.css} +1 -1
  118. package/dist/{react-BbHBl6gg.css.map → react-DeDyTgo7.css.map} +1 -1
  119. package/dist/{sequence-Do3kzb4J.js → sequence-BIrOVRXO.js} +1 -1
  120. package/dist/{sequence-Do3kzb4J.js.map → sequence-BIrOVRXO.js.map} +1 -1
  121. package/dist/{sudo-swap-B6vPKxBz.js → sudo-swap-BPMon-M5.js} +1 -1
  122. package/dist/{sudo-swap-B6vPKxBz.js.map → sudo-swap-BPMon-M5.js.map} +1 -1
  123. package/dist/{super-rare-eCm1SE6O.js → super-rare-kPN6Ua8i.js} +1 -1
  124. package/dist/{super-rare-eCm1SE6O.js.map → super-rare-kPN6Ua8i.js.map} +1 -1
  125. package/dist/{token-Da4TdyUk.js → token-CHSBPYVG.js} +1 -1
  126. package/dist/{token-Da4TdyUk.js.map → token-CHSBPYVG.js.map} +1 -1
  127. package/dist/{transaction-CcVViHEL.js → transaction-CnctdNzS.js} +3 -21
  128. package/dist/transaction-CnctdNzS.js.map +1 -0
  129. package/dist/types/index.d.ts +2 -3
  130. package/dist/types/index.js +2 -2
  131. package/dist/{types-DwWE6xOF.js → types-Yw2ywj6j.js} +1 -1
  132. package/dist/{types-DwWE6xOF.js.map → types-Yw2ywj6j.js.map} +1 -1
  133. package/dist/utils/abi/index.d.ts +4 -4
  134. package/dist/utils/abi/index.js +4 -4
  135. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  136. package/dist/utils/abi/marketplace/index.js +1 -1
  137. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  138. package/dist/utils/abi/primary-sale/index.js +1 -1
  139. package/dist/utils/abi/token/index.d.ts +1 -1
  140. package/dist/utils/abi/token/index.js +1 -1
  141. package/dist/utils/index.d.ts +7 -8
  142. package/dist/utils/index.js +12 -9
  143. package/dist/{utils-CW2NA5KG.js → utils-9RXDgcBl.js} +4 -11
  144. package/dist/utils-9RXDgcBl.js.map +1 -0
  145. package/dist/{utils-BPYfgDSL.js → utils-DjVJ9tov.js} +5 -6
  146. package/dist/utils-DjVJ9tov.js.map +1 -0
  147. package/dist/wagmi-Do_KW5ke.js +0 -0
  148. package/dist/{x2y2-DD17tT91.js → x2y2-BLz-_Q2O.js} +1 -1
  149. package/dist/{x2y2-DD17tT91.js.map → x2y2-BLz-_Q2O.js.map} +1 -1
  150. package/dist/{zora-BpSG9UzS.js → zora-UGhKs-aL.js} +1 -1
  151. package/dist/{zora-BpSG9UzS.js.map → zora-UGhKs-aL.js.map} +1 -1
  152. package/eslint.config.mjs +4 -0
  153. package/package.json +27 -14
  154. package/postcss.config.mjs +6 -0
  155. package/src/index.css +5 -4
  156. package/src/index.ts +1 -0
  157. package/src/react/__tests__/provider.test.tsx +4 -3
  158. package/src/react/_internal/api/__mocks__/indexer.msw.ts +16 -0
  159. package/src/react/_internal/api/__mocks__/laos.msw.ts +387 -0
  160. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +2 -0
  161. package/src/react/_internal/api/__tests__/laos-api.test.ts +756 -0
  162. package/src/react/_internal/api/laos-api.ts +3 -0
  163. package/src/react/_internal/api/marketplace.gen.ts +5 -3
  164. package/src/react/_internal/api/query-keys.ts +12 -4
  165. package/src/react/_internal/api/services.ts +2 -14
  166. package/src/react/_internal/databeat/index.ts +15 -14
  167. package/src/react/_internal/databeat/types.ts +22 -0
  168. package/src/react/_internal/databeat/utils.ts +26 -0
  169. package/src/react/_internal/utils.ts +4 -4
  170. package/src/react/_internal/wagmi/create-config.ts +28 -13
  171. package/src/react/_internal/wallet/wallet.ts +4 -4
  172. package/src/react/hooks/__tests__/useBalanceOfCollectible.laos.test.tsx +367 -0
  173. package/src/react/hooks/__tests__/useCheckoutOptions.test.tsx +158 -0
  174. package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +42 -65
  175. package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +17 -0
  176. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +11 -3
  177. package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +3 -3
  178. package/src/react/hooks/__tests__/useCurrencyBalance.test.tsx +7 -3
  179. package/src/react/hooks/__tests__/useFilters.test.tsx +2 -2
  180. package/src/react/hooks/__tests__/useGetTokenRanges.test.tsx +111 -0
  181. package/src/react/hooks/__tests__/useListTokenMetadata.test.tsx +83 -57
  182. package/src/react/hooks/__tests__/useTransferTokens.test.tsx +469 -0
  183. package/src/react/hooks/index.ts +3 -1
  184. package/src/react/hooks/useCheckoutOptions.tsx +96 -0
  185. package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +98 -57
  186. package/src/react/hooks/useCollectionBalanceDetails.tsx +95 -68
  187. package/src/react/hooks/useCollectionDetailsPolling.tsx +3 -7
  188. package/src/react/hooks/useComparePrices.tsx +90 -82
  189. package/src/react/hooks/useConvertPriceToUSD.tsx +85 -71
  190. package/src/react/hooks/useCurrencyBalance.tsx +132 -46
  191. package/src/react/hooks/useERC721SaleMintedTokens.tsx +8 -5
  192. package/src/react/hooks/useFilters.tsx +154 -111
  193. package/src/react/hooks/useGetCountOfPrimarySaleItems.tsx +48 -0
  194. package/src/react/hooks/useGetTokenRanges.tsx +83 -22
  195. package/src/react/hooks/useList1155ShopCardData.tsx +2 -0
  196. package/src/react/hooks/useList721ShopCardData.tsx +12 -7
  197. package/src/react/hooks/useListCollections.tsx +25 -25
  198. package/src/react/hooks/useListMarketCardData.tsx +2 -1
  199. package/src/react/hooks/useListPrimarySaleItems.tsx +66 -0
  200. package/src/react/hooks/useListTokenMetadata.ts +71 -0
  201. package/src/react/hooks/useOpenConnectModal.tsx +9 -0
  202. package/src/react/hooks/useTokenSaleDetailsBatch.tsx +3 -7
  203. package/src/react/hooks/useTokenSupplies.ts +81 -0
  204. package/src/react/hooks/useTransferTokens.tsx +2 -2
  205. package/src/react/provider.tsx +73 -9
  206. package/src/react/queries/__tests__/balanceOfCollectible.laos.test.ts +123 -0
  207. package/src/react/queries/__tests__/inventory.laos.test.ts +496 -0
  208. package/src/react/queries/balanceOfCollectible.ts +7 -4
  209. package/src/react/queries/checkoutOptions.ts +85 -0
  210. package/src/react/queries/checkoutOptionsSalesContract.ts +89 -0
  211. package/src/react/queries/collectionBalanceDetails.ts +92 -0
  212. package/src/react/queries/comparePrices.ts +108 -0
  213. package/src/react/queries/convertPriceToUSD.ts +92 -0
  214. package/src/react/queries/filters.ts +138 -0
  215. package/src/react/queries/getTokenRanges.ts +62 -0
  216. package/src/react/queries/index.ts +3 -0
  217. package/src/react/queries/inventory.ts +6 -0
  218. package/src/react/queries/listBalances.ts +4 -3
  219. package/src/react/queries/listCollections.ts +7 -3
  220. package/src/react/queries/listTokenMetadata.ts +2 -2
  221. package/src/react/queries/marketplaceConfig.ts +1 -1
  222. package/src/react/queries/primarySaleItems.ts +85 -0
  223. package/src/react/queries/primarySaleItemsCount.ts +64 -0
  224. package/src/react/queries/tokenSupplies.ts +93 -0
  225. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +66 -66
  226. package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +22 -4
  227. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +5 -4
  228. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +3 -0
  229. package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +4 -4
  230. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +13 -8
  231. package/src/react/ui/components/_internals/action-button/store.ts +44 -34
  232. package/src/react/ui/components/_internals/custom-select/CustomSelect.stories.tsx +582 -0
  233. package/src/react/ui/components/_internals/pill/Pill.stories.tsx +83 -0
  234. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +11 -4
  235. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +7 -4
  236. package/src/react/ui/components/marketplace-collectible-card/types.ts +4 -3
  237. package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +4 -7
  238. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +5 -1
  239. package/src/react/ui/components/marketplace-logos/marketplace-logos.stories.tsx +199 -0
  240. package/src/react/ui/components/media/Media.stories.tsx +642 -0
  241. package/src/react/ui/components/media/Media.tsx +24 -19
  242. package/src/react/ui/components/media/types.ts +6 -0
  243. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +15 -0
  244. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +6 -0
  245. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +7 -1
  246. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +9 -1
  247. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +15 -8
  248. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +3 -0
  249. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +30 -27
  250. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +2 -2
  251. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +11 -2
  252. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +1 -1
  253. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +7 -0
  254. package/src/react/ui/modals/BuyModal/index.tsx +9 -1
  255. package/src/react/ui/modals/BuyModal/store.ts +26 -0
  256. package/src/react/ui/modals/CreateListingModal/Modal.tsx +28 -11
  257. package/src/react/ui/modals/CreateListingModal/store.ts +3 -3
  258. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +30 -13
  259. package/src/react/ui/modals/MakeOfferModal/store.ts +3 -3
  260. package/src/react/ui/modals/SellModal/Modal.tsx +11 -8
  261. package/src/react/ui/modals/SellModal/store.ts +3 -3
  262. package/src/react/ui/modals/TransferModal/__tests__/__snapshots__/store.test.ts.snap +17 -0
  263. package/src/react/ui/modals/TransferModal/__tests__/store.test.ts +366 -0
  264. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/__tests__/useHandleTransfer.test.tsx +402 -0
  265. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +51 -48
  266. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TransferButton.tsx +39 -47
  267. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/WalletAddressInput.tsx +9 -8
  268. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +31 -35
  269. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/useHandleTransfer.tsx +19 -10
  270. package/src/react/ui/modals/TransferModal/index.tsx +28 -31
  271. package/src/react/ui/modals/TransferModal/messages.ts +1 -1
  272. package/src/react/ui/modals/TransferModal/store.ts +122 -0
  273. package/src/react/ui/modals/_internal/components/calendar/index.tsx +0 -1
  274. package/src/react/ui/modals/_internal/components/currencyImage/index.tsx +10 -14
  275. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +5 -2
  276. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +23 -17
  277. package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +10 -10
  278. package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +6 -6
  279. package/src/react/ui/modals/_internal/components/priceInput/__tests__/PriceInput.test.tsx +13 -5
  280. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +41 -26
  281. package/src/react/ui/modals/_internal/components/quantityInput/__tests__/index.test.tsx +68 -59
  282. package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +155 -20
  283. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +339 -40
  284. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/index.tsx +95 -101
  285. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/store.ts +72 -14
  286. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +29 -13
  287. package/src/react/ui/modals/_internal/components/tokenPreview/index.tsx +2 -2
  288. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +2 -2
  289. package/src/react/ui/modals/_internal/components/transactionPreview/index.tsx +88 -89
  290. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +36 -10
  291. package/src/react/ui/modals/_internal/components/transactionStatusModal/index.tsx +32 -20
  292. package/src/react/ui/modals/_internal/components/transactionStatusModal/store.ts +91 -62
  293. package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +43 -44
  294. package/src/react/ui/modals/_internal/types.ts +2 -2
  295. package/src/types/sdk-config.ts +6 -1
  296. package/src/utils/network.ts +15 -0
  297. package/test/test-utils.tsx +2 -0
  298. package/vitest.shims.d.ts +2 -0
  299. package/vitest.storybook.config.js +33 -0
  300. package/dist/CalendarIcon-DbQ7Vxcw.js.map +0 -1
  301. package/dist/_internal-BgWcRIak.js.map +0 -1
  302. package/dist/api-DTIan01C.js.map +0 -1
  303. package/dist/builder-api-C_zj5mr3.d.ts +0 -12
  304. package/dist/index-BUVWziLP.d.ts +0 -60
  305. package/dist/index-COt10OgI.d.ts +0 -24
  306. package/dist/index-DPNWNa7t.d.ts +0 -414
  307. package/dist/index-DsfCs3-x.d.ts +0 -122
  308. package/dist/index-dUb6wb4Y.d.ts +0 -22
  309. package/dist/marketplace.gen-BSDIX7NZ.js.map +0 -1
  310. package/dist/marketplaceConfig-C6X1SUik.js.map +0 -1
  311. package/dist/queries-CUU65uYZ.js.map +0 -1
  312. package/dist/react-DAIicQPT.js.map +0 -1
  313. package/dist/transaction-CcVViHEL.js.map +0 -1
  314. package/dist/utils-BPYfgDSL.js.map +0 -1
  315. package/dist/utils-CW2NA5KG.js.map +0 -1
  316. package/dist/wagmi-CDzEQbfk.js.map +0 -1
  317. package/src/react/hooks/__tests__/useGetTokenSuppliesMap.test.tsx +0 -104
  318. package/src/react/hooks/useGetTokenSuppliesMap.tsx +0 -73
  319. package/src/react/hooks/useListPrimarySaleItems.ts +0 -102
  320. package/src/react/queries/getTokenSuppliesMap.ts +0 -77
  321. package/src/react/ui/modals/TransferModal/_store.ts +0 -66
  322. package/src/react/ui/modals/_internal/components/quantityInput/QuantityInputBase.tsx +0 -166
  323. package/src/react/ui/modals/_internal/stores/accountModal.ts +0 -3
  324. /package/dist/{abi-BKyRjVcZ.js → abi-BMvgNbKQ.js} +0 -0
  325. /package/dist/{index-C39K_8SG.d.ts → index-CD2bj_xW.d.ts} +0 -0
  326. /package/dist/{options-B4QN7Xou.js → options-BBBR8u_4.js} +0 -0
@@ -0,0 +1,63 @@
1
+ import type { StorybookConfig } from '@storybook/react-vite';
2
+ import tailwindcssPostcss from '@tailwindcss/postcss';
3
+
4
+ const config: StorybookConfig = {
5
+ stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
6
+ addons: ['@storybook/addon-docs', '@storybook/addon-vitest'],
7
+ framework: {
8
+ name: '@storybook/react-vite',
9
+ options: {},
10
+ },
11
+ typescript: {
12
+ reactDocgen: 'react-docgen-typescript',
13
+ reactDocgenTypescriptOptions: {
14
+ shouldExtractLiteralValuesFromEnum: true,
15
+ shouldRemoveUndefinedFromOptional: true,
16
+ propFilter: (prop) => {
17
+ // Exclude props from generated files
18
+ if (prop.parent?.fileName.includes('.gen.ts')) {
19
+ return false;
20
+ }
21
+ // Exclude props from node_modules except for specific packages
22
+ if (prop.parent?.fileName.includes('node_modules')) {
23
+ return false;
24
+ }
25
+ return true;
26
+ },
27
+ },
28
+ },
29
+ async viteFinal(config) {
30
+ // Configure PostCSS for Tailwind CSS v4
31
+ config.css = config.css || {};
32
+ config.css.postcss = {
33
+ plugins: [tailwindcssPostcss()],
34
+ };
35
+
36
+ // Exclude generated files from react-docgen processing
37
+ if (config.plugins) {
38
+ for (const plugin of config.plugins) {
39
+ if (
40
+ plugin &&
41
+ typeof plugin === 'object' &&
42
+ 'name' in plugin &&
43
+ plugin.name === 'storybook:react-docgen-plugin'
44
+ ) {
45
+ const originalTransform = plugin.transform;
46
+ if (typeof originalTransform === 'function') {
47
+ plugin.transform = async function (code: string, id: string) {
48
+ // Skip generated files
49
+ if (id.includes('.gen.ts') || id.includes('_internal/api/')) {
50
+ return;
51
+ }
52
+ return originalTransform.call(this, code, id);
53
+ };
54
+ }
55
+ break;
56
+ }
57
+ }
58
+ }
59
+
60
+ return config;
61
+ },
62
+ };
63
+ export default config;
@@ -0,0 +1,24 @@
1
+ import type { Preview } from '@storybook/react-vite';
2
+ import '../src/index.css';
3
+
4
+ const preview: Preview = {
5
+ parameters: {
6
+ backgrounds: {
7
+ options: {
8
+ dark: { name: 'Dark', value: '#333' },
9
+ light: { name: 'Light', value: '#F7F9F2' },
10
+ },
11
+ },
12
+ controls: {
13
+ matchers: {
14
+ color: /(background|color)$/i,
15
+ date: /Date$/i,
16
+ },
17
+ },
18
+ },
19
+ initialGlobals: {
20
+ backgrounds: { value: 'dark' },
21
+ },
22
+ };
23
+
24
+ export default preview;
@@ -0,0 +1,6 @@
1
+ import { setProjectAnnotations } from '@storybook/react-vite';
2
+ import * as projectAnnotations from './preview';
3
+
4
+ // This is an important step to apply the right configuration when testing your stories.
5
+ // More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
6
+ setProjectAnnotations([projectAnnotations]);
package/CHANGELOG.md CHANGED
@@ -1,5 +1,70 @@
1
1
  # @0xsequence/marketplace-sdk
2
2
 
3
+ ## 0.10.0
4
+
5
+ ### New Features
6
+
7
+ **Alternative Wallet integration Support**
8
+ - Added support for using any wallet connection library (e.g., Privy, Rainbowkit, Dynamic Labs etc.) instead of Sequence Connect
9
+ - You can now provide a custom `openConnectModal` function to the `MarketplaceProvider` to integrate with your preferred wallet connection flow.
10
+
11
+
12
+ Example with any wallet provider:
13
+ ```tsx
14
+ import { MarketplaceProvider } from '@0xsequence/marketplace-sdk/react';
15
+ import { useConnectModal } from '@my-wallet-provider/connect-modal';
16
+
17
+ function App() {
18
+ const { openConnectModal } = useConnectModal();
19
+
20
+ return (
21
+ <MarketplaceProvider
22
+ config={sdkConfig}
23
+ openConnectModal={openConnectModal}
24
+ >
25
+ {/* Your marketplace app */}
26
+ </MarketplaceProvider>
27
+ );
28
+ }
29
+ ```
30
+
31
+ See the [Alternative Wallet Integration Playground](https://github.com/0xsequence/marketplace-sdk/tree/master/playgrounds/alternative-wallets) for a complete example with Dynamic Labs
32
+
33
+ **Enhanced Media Component**
34
+ - Added `shouldListenForLoad` prop for controlling asset load event handling
35
+ - Introduced `mediaClassName` prop for controlling the inner media element
36
+ - Improved asset loading behavior with conditional handling
37
+
38
+ **Shop & Market Improvements**
39
+ - Added `ShopActions` component for handling collectible purchase interactions
40
+ - Enhanced `CollectibleDetails` to conditionally display information based on marketplace type
41
+ - Improved ERC1155 sale item handling - buy button now hidden when out of stock
42
+ - Added support for unlimited supply display in shop components
43
+
44
+ ### API Updates
45
+
46
+ **New Hooks & Queries**
47
+ - `useGetCountOfPrimarySaleItems` - Now uses `useQuery` instead of `useInfiniteQuery`
48
+ - Added `contractAddress` parameter to `TokenBalancesParams` for more precise balance queries
49
+
50
+ **Analytics & Tracking**
51
+ - Enhanced buy modal tracking to track cart abandonment
52
+
53
+ ### Developer Experience
54
+
55
+ **Testing & Documentation**
56
+ - Expanded test coverage for critical components
57
+ - Added JSDoc documentation improvements
58
+
59
+ **Build & Configuration**
60
+ - Fixed SSR issues with React Day Picker in React-Router V7
61
+
62
+ ### Bug Fixes
63
+
64
+ - Fixed ERC1155 quantity modal to use `maxUint256` for infinity value
65
+ - Resolved React state update issues in various components
66
+ - Fixed missing contract type errors
67
+
3
68
  ## 0.9.0
4
69
 
5
70
  ### Patch Changes
@@ -7,47 +72,51 @@
7
72
  **⚠️ Breaking Changes **
8
73
 
9
74
  **Hook Parameter Type Updates**
75
+
10
76
  - Updated hook parameter types for consistency:
11
- - `useCollection`: `UseCollectionArgs` → `UseCollectionParams`
77
+ - `useCollection`: `UseCollectionArgs` → `UseCollectionParams`
12
78
  - `useHighestOffer`: `UseHighestOfferArgs` → `UseHighestOfferParams`
13
79
  - `useLowestListing`: `UseLowestListingArgs` → `UseLowestListingParams`
14
80
  - `useFloorOrder`: `UseFloorOrderArgs` → `UseFloorOrderParams`
15
81
 
16
82
  **Count Hook Return Types**
83
+
17
84
  - All count hooks now consistently return `number` instead of `{ count: number }`
18
85
  - Affected hooks: `useCountListingsForCollectible`, `useCountOffersForCollectible`, `useCountOfCollectables`
19
86
  - Migration: Replace `data?.count` with `data` directly
20
87
 
21
-
22
88
  **Shop Integration & Primary Sales Enhancements**
89
+
23
90
  - Enhanced shop integration with improved primary sales support
24
91
  - Added `useCountOfPrimarySaleItems` hook for returning the total number of primary sale items
25
92
  - Added `useGetTokenRanges` hook for fetching token ID ranges from indexer
26
93
  - Improved 721 and 1155 sale controls with better quantity tracking
27
94
 
28
95
  **Hook System Overhaul**
96
+
29
97
  - Migrated 20+ hooks to new consistent fetching pattern
30
- - Exported all fetching function in a separate file, allowing them to be used with other loaders and during prerendering (SSR)
98
+ - Exported all fetching function in a separate file, allowing them to be used with other loaders and during prerendering (SSR)
31
99
  - Added comprehensive JSDoc documentation with usage examples
32
100
  - Enhanced TypeScript types and parameter validation across all hooks
33
101
  - Improved error handling and query optimization
34
102
  - Added support for most react query options https://tanstack.com/query/latest/docs/framework/react/reference/useQuery
35
103
 
36
- **API & Configuration Updates**
104
+ **API & Configuration Updates**
105
+
37
106
  - Support for granular service environment configurations with manual URL overrides
38
107
 
39
108
  **UI/UX Enhancements**
109
+
40
110
  - Fixed Safari detection in Media component for better SSR compatibility
41
- - Improved loading states across all components
111
+ - Improved loading states across all components
42
112
  - Enhanced collectible card rendering for both minted and unminted items
43
113
 
44
-
45
114
  **Misc**
115
+
46
116
  - Fixed grayed-out media display in collectible cards
47
117
  - Upgraded all dependencies to latest versions
48
118
  - Extensive code cleanup: removed unused exports, comments, and TODOs
49
119
 
50
-
51
120
  ### Patch Changes
52
121
 
53
122
  ## 0.8.12
@@ -365,4 +434,4 @@ SSR config do not require passing query client anymore, and leverages an interna
365
434
 
366
435
  ### Minor Changes
367
436
 
368
- - Buy flow cleanup, various fixes
437
+ - Buy flow cleanup, various fixes
@@ -1,54 +1,7 @@
1
- import { cn } from "./utils-CW2NA5KG.js";
1
+ import { cn } from "./utils-9RXDgcBl.js";
2
+ import { iconVariants } from "./InfoIcon-v0w_Lu7t.js";
2
3
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { cva } from "class-variance-authority";
4
4
 
5
- //#region src/react/ui/icons/iconVariants.ts
6
- const iconVariants = cva("block shrink-0", {
7
- variants: { size: {
8
- xs: "w-4 h-4",
9
- sm: "w-5 h-5",
10
- md: "w-6 h-6",
11
- lg: "w-7 h-7",
12
- xl: "w-9 h-9"
13
- } },
14
- defaultVariants: { size: "md" }
15
- });
16
-
17
- //#endregion
18
- //#region src/react/ui/icons/InfoIcon.tsx
19
- const Svg$3 = (props) => /* @__PURE__ */ jsxs("svg", {
20
- className: "h-20 w-20",
21
- viewBox: "0 0 20 20",
22
- fill: "none",
23
- xmlns: "http://www.w3.org/2000/svg",
24
- role: "img",
25
- "aria-label": "Information",
26
- ...props,
27
- children: [
28
- /* @__PURE__ */ jsx("title", { children: "Information icon" }),
29
- /* @__PURE__ */ jsx("path", {
30
- d: "M10.75 8.75V13.75H9.25V8.75H10.75Z",
31
- fill: "white"
32
- }),
33
- /* @__PURE__ */ jsx("path", {
34
- d: "M9.37508 7.47656C9.55997 7.65885 9.78263 7.75 10.043 7.75C10.2097 7.75 10.3634 7.70833 10.504 7.625C10.6446 7.53906 10.7579 7.42578 10.8438 7.28516C10.9324 7.14193 10.9779 6.98438 10.9805 6.8125C10.9779 6.55729 10.8829 6.33854 10.6954 6.15625C10.5079 5.97396 10.2904 5.88281 10.043 5.88281C9.78263 5.88281 9.55997 5.97396 9.37508 6.15625C9.19279 6.33854 9.10294 6.55729 9.10555 6.8125C9.10294 7.07031 9.19279 7.29167 9.37508 7.47656Z",
35
- fill: "white"
36
- }),
37
- /* @__PURE__ */ jsx("path", {
38
- fillRule: "evenodd",
39
- clipRule: "evenodd",
40
- d: "M10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18ZM10 16.5C13.5899 16.5 16.5 13.5899 16.5 10C16.5 6.41015 13.5899 3.5 10 3.5C6.41015 3.5 3.5 6.41015 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5Z",
41
- fill: "white"
42
- })
43
- ]
44
- });
45
- const SvgInfoIcon = ({ className, size = "sm",...props }) => /* @__PURE__ */ jsx(Svg$3, {
46
- className: cn(iconVariants({ size }), className),
47
- ...props
48
- });
49
- var InfoIcon_default = SvgInfoIcon;
50
-
51
- //#endregion
52
5
  //#region src/react/ui/icons/CartIcon.tsx
53
6
  const Svg$2 = (props) => /* @__PURE__ */ jsxs("svg", {
54
7
  className: "h-20 w-20",
@@ -137,5 +90,5 @@ const SvgCalendarIcon = ({ className, size = "sm",...props }) => /* @__PURE__ */
137
90
  var CalendarIcon_default = SvgCalendarIcon;
138
91
 
139
92
  //#endregion
140
- export { BellIcon_default, CalendarIcon_default, CartIcon_default, InfoIcon_default };
141
- //# sourceMappingURL=CalendarIcon-DbQ7Vxcw.js.map
93
+ export { BellIcon_default, CalendarIcon_default, CartIcon_default };
94
+ //# sourceMappingURL=CalendarIcon-CqsuAuCm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarIcon-CqsuAuCm.js","names":["Svg","props: SVGProps<SVGSVGElement>","Svg","props: SVGProps<SVGSVGElement>","props: SVGProps<SVGSVGElement>"],"sources":["../src/react/ui/icons/CartIcon.tsx","../src/react/ui/icons/BellIcon.tsx","../src/react/ui/icons/CalendarIcon.tsx"],"sourcesContent":["'use client';\n\nimport type { IconProps } from '@0xsequence/design-system';\nimport type { SVGProps } from 'react';\nimport { cn } from '../../../utils';\nimport { iconVariants } from './iconVariants';\n\nconst Svg = (props: SVGProps<SVGSVGElement>) => (\n\t<svg\n\t\tclassName=\"h-20 w-20\"\n\t\tviewBox=\"0 0 20 20\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\trole=\"img\"\n\t\taria-labelledby=\"cart-title\"\n\t\t{...props}\n\t>\n\t\t<title id=\"cart-title\">Cart Icon</title>\n\t\t<path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M2.5 3.46836C2.5 3.20969 2.72366 3 2.99955 3H5.16925C5.88938 3 6.5077 3.48022 6.64172 4.14359L8.33188 12.5093C8.37655 12.7304 8.58266 12.8905 8.8227 12.8905H16.987C17.2629 12.8905 17.4866 13.1002 17.4866 13.3589C17.4866 13.6175 17.2629 13.8272 16.987 13.8272H8.8227C8.10257 13.8272 7.48425 13.347 7.35023 12.6836L5.66007 4.31793C5.6154 4.0968 5.40929 3.93673 5.16925 3.93673H2.99955C2.72366 3.93673 2.5 3.72704 2.5 3.46836Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M18.0003 5.34182H6.40946L7.49564 10.8234H17.0736C17.3133 10.8234 17.5193 10.6637 17.5643 10.443L18.491 5.89813C18.5498 5.60942 18.3138 5.34182 18.0003 5.34182Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M10.0889 15.8559C10.0889 16.4878 9.54259 17 8.86866 17C8.19473 17 7.64841 16.4878 7.64841 15.8559C7.64841 15.2241 8.19473 14.7119 8.86866 14.7119C9.54259 14.7119 10.0889 15.2241 10.0889 15.8559Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M16.6268 15.8559C16.6268 16.4878 16.0804 17 15.4065 17C14.7326 17 14.1863 16.4878 14.1863 15.8559C14.1863 15.2241 14.7326 14.7119 15.4065 14.7119C16.0804 14.7119 16.6268 15.2241 16.6268 15.8559Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst SvgCartIcon = ({ className, size = 'sm', ...props }: IconProps) => (\n\t<Svg\n\t\tclassName={cn(\n\t\t\ticonVariants({\n\t\t\t\tsize,\n\t\t\t}),\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n);\n\nexport default SvgCartIcon;\n","'use client';\n\nimport type { IconProps } from '@0xsequence/design-system';\nimport type { SVGProps } from 'react';\nimport { cn } from '../../../utils';\nimport { iconVariants } from './iconVariants';\n\nconst Svg = (props: SVGProps<SVGSVGElement>) => (\n\t<svg\n\t\tclassName=\"h-17 w-17\"\n\t\tviewBox=\"0 0 17 17\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\trole=\"img\"\n\t\taria-labelledby=\"bell-title\"\n\t\t{...props}\n\t>\n\t\t<title id=\"bell-title\">Notification Bell</title>\n\t\t<path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M12.3127 7.45705V9.74274C12.3127 10.3805 12.6293 10.6971 12.9647 11.0326L12.9652 11.033L12.9679 11.0358C13.3205 11.3893 13.6843 11.754 13.6843 12.4854C13.6843 12.5491 13.6335 12.5998 13.57 12.5998H3.51277C3.44959 12.5998 3.39844 12.5489 3.39844 12.4854C3.39844 11.7539 3.76242 11.389 4.11507 11.0354L4.11754 11.033C4.45305 10.6975 4.76984 10.3807 4.76984 9.74245V7.45676C4.76984 5.6932 5.98854 4.21248 7.62704 3.802V3.11399C7.62704 2.60926 8.03659 2.19971 8.54132 2.19971C9.04606 2.19971 9.45561 2.60926 9.45561 3.11399V3.802C11.094 4.21286 12.3127 5.69335 12.3127 7.45705ZM10.3698 13.1711C10.3698 14.1809 9.55099 14.9997 8.54121 14.9997C7.53128 14.9997 6.71272 14.181 6.71272 13.1711H10.3698ZM8.758 7.70501C9.30005 7.85574 9.6696 7.99832 9.86302 8.13224C10.1776 8.35015 10.3374 8.67657 10.338 9.106C10.338 9.7284 10.1359 10.1706 9.72956 10.4326C9.50571 10.5778 9.18295 10.6723 8.75846 10.7195V11.4005H8.42657V10.7195C7.74604 10.6746 7.28244 10.4349 7.04094 9.99812C6.90703 9.76157 6.83984 9.44246 6.83984 9.04019H7.46277C7.48004 9.35983 7.53041 9.59501 7.6135 9.74163C7.75837 10.0063 8.0303 10.1548 8.42664 10.1861V8.27703C7.9177 8.18078 7.54357 8.01963 7.30116 7.79532C7.0605 7.57102 6.93929 7.25914 6.93929 6.86234C6.93929 6.50686 7.06917 6.18768 7.32977 5.90212C7.58991 5.61657 7.95581 5.47132 8.42619 5.46675V5.00049H8.75808V5.45861C9.22343 5.4927 9.58119 5.62981 9.82863 5.87039C10.0787 6.11144 10.2086 6.43062 10.2204 6.82651H9.60569C9.5907 6.64899 9.54299 6.49507 9.4631 6.36884C9.31595 6.13183 9.08076 6.00697 8.758 5.99518V7.70501ZM7.80143 7.36315C7.95574 7.49478 8.16369 7.58608 8.42611 7.63691L8.42619 5.98886C8.11651 5.99936 7.89723 6.09424 7.76651 6.2681C7.63572 6.4447 7.57036 6.62815 7.57036 6.82019C7.57036 7.05081 7.64705 7.23289 7.80143 7.36315ZM8.75747 10.2033C9.15883 10.1847 9.43305 10.0394 9.58606 9.76522C9.66504 9.62408 9.70415 9.46285 9.70399 9.27948C9.70399 8.98624 9.59686 8.76376 9.38123 8.61121C9.2582 8.52219 9.05079 8.4391 8.75747 8.35921V10.2033Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst SvgBellIcon = ({ className, size = 'sm', ...props }: IconProps) => (\n\t<Svg\n\t\tclassName={cn(\n\t\t\ticonVariants({\n\t\t\t\tsize,\n\t\t\t}),\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n);\n\nexport default SvgBellIcon;\n","'use client';\nimport type { IconProps } from '@0xsequence/design-system';\nimport type { SVGProps } from 'react';\nimport { cn } from '../../../utils';\nimport { iconVariants } from './iconVariants';\n\nconst Svg = (props: SVGProps<SVGSVGElement>) => (\n\t<svg\n\t\tclassName=\"h-20 w-20\"\n\t\tviewBox=\"0 0 20 20\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\trole=\"img\"\n\t\taria-label=\"Calendar icon\"\n\t\t{...props}\n\t>\n\t\t<title>Calendar icon</title>\n\t\t<path\n\t\t\td=\"M4.57634 17.5C3.73146 17.5 3.08946 17.2816 2.65034 16.8449C2.21678 16.4081 2 15.7586 2 14.8965V5.10352C2 4.24135 2.21678 3.59189 2.65034 3.15513C3.08946 2.71838 3.73146 2.5 4.57634 2.5H15.4237C16.2741 2.5 16.9161 2.72121 17.3497 3.16364C17.7832 3.6004 18 4.24702 18 5.10352V14.8965C18 15.753 17.7832 16.3996 17.3497 16.8364C16.9161 17.2788 16.2741 17.5 15.4237 17.5H4.57634ZM4.55133 15.9515H15.4403C15.7738 15.9515 16.0295 15.8636 16.2074 15.6877C16.3908 15.5062 16.4825 15.2396 16.4825 14.888V7.44328C16.4825 7.08593 16.3908 6.81934 16.2074 6.64351C16.0295 6.46767 15.7738 6.37975 15.4403 6.37975H4.55133C4.21782 6.37975 3.96213 6.46767 3.78426 6.64351C3.61195 6.81934 3.52579 7.08593 3.52579 7.44328V14.888C3.52579 15.2396 3.61195 15.5062 3.78426 15.6877C3.96213 15.8636 4.21782 15.9515 4.55133 15.9515ZM8.48671 9.17896C8.34775 9.17896 8.25048 9.15343 8.19489 9.10238C8.13931 9.05133 8.11152 8.95207 8.11152 8.80459V8.33664C8.11152 8.19484 8.13931 8.09841 8.19489 8.04736C8.25048 7.99064 8.34775 7.96228 8.48671 7.96228H8.94528C9.0898 7.96228 9.18708 7.99064 9.2371 8.04736C9.29269 8.09841 9.32048 8.19484 9.32048 8.33664V8.80459C9.32048 8.95207 9.29269 9.05133 9.2371 9.10238C9.18708 9.15343 9.0898 9.17896 8.94528 9.17896H8.48671ZM11.0714 9.17896C10.9269 9.17896 10.8268 9.15343 10.7712 9.10238C10.7212 9.05133 10.6962 8.95207 10.6962 8.80459V8.33664C10.6962 8.19484 10.7212 8.09841 10.7712 8.04736C10.8268 7.99064 10.9269 7.96228 11.0714 7.96228H11.5383C11.6773 7.96228 11.7745 7.99064 11.8301 8.04736C11.8857 8.09841 11.9135 8.19484 11.9135 8.33664V8.80459C11.9135 8.95207 11.8857 9.05133 11.8301 9.10238C11.7745 9.15343 11.6773 9.17896 11.5383 9.17896H11.0714ZM13.6477 9.17896C13.5088 9.17896 13.4115 9.15343 13.3559 9.10238C13.3003 9.05133 13.2725 8.95207 13.2725 8.80459V8.33664C13.2725 8.19484 13.3003 8.09841 13.3559 8.04736C13.4115 7.99064 13.5088 7.96228 13.6477 7.96228H14.1146C14.2592 7.96228 14.3564 7.99064 14.4065 8.04736C14.462 8.09841 14.4898 8.19484 14.4898 8.33664V8.80459C14.4898 8.95207 14.462 9.05133 14.4065 9.10238C14.3564 9.15343 14.2592 9.17896 14.1146 9.17896H13.6477ZM5.90203 11.7825C5.75751 11.7825 5.65746 11.7541 5.60188 11.6974C5.55185 11.6407 5.52684 11.5442 5.52684 11.4081V10.9317C5.52684 10.7842 5.55185 10.6849 5.60188 10.6339C5.65746 10.5828 5.75751 10.5573 5.90203 10.5573H6.36894C6.5079 10.5573 6.60518 10.5828 6.66076 10.6339C6.71635 10.6849 6.74414 10.7842 6.74414 10.9317V11.4081C6.74414 11.5442 6.71635 11.6407 6.66076 11.6974C6.60518 11.7541 6.5079 11.7825 6.36894 11.7825H5.90203ZM8.48671 11.7825C8.34775 11.7825 8.25048 11.7541 8.19489 11.6974C8.13931 11.6407 8.11152 11.5442 8.11152 11.4081V10.9317C8.11152 10.7842 8.13931 10.6849 8.19489 10.6339C8.25048 10.5828 8.34775 10.5573 8.48671 10.5573H8.94528C9.0898 10.5573 9.18708 10.5828 9.2371 10.6339C9.29269 10.6849 9.32048 10.7842 9.32048 10.9317V11.4081C9.32048 11.5442 9.29269 11.6407 9.2371 11.6974C9.18708 11.7541 9.0898 11.7825 8.94528 11.7825H8.48671ZM11.0714 11.7825C10.9269 11.7825 10.8268 11.7541 10.7712 11.6974C10.7212 11.6407 10.6962 11.5442 10.6962 11.4081V10.9317C10.6962 10.7842 10.7212 10.6849 10.7712 10.6339C10.8268 10.5828 10.9269 10.5573 11.0714 10.5573H11.5383C11.6773 10.5573 11.7745 10.5828 11.8301 10.6339C11.8857 10.6849 11.9135 10.7842 11.9135 10.9317V11.4081C11.9135 11.5442 11.8857 11.6407 11.8301 11.6974C11.7745 11.7541 11.6773 11.7825 11.5383 11.7825H11.0714ZM13.6477 11.7825C13.5088 11.7825 13.4115 11.7541 13.3559 11.6974C13.3003 11.6407 13.2725 11.5442 13.2725 11.4081V10.9317C13.2725 10.7842 13.3003 10.6849 13.3559 10.6339C13.4115 10.5828 13.5088 10.5573 13.6477 10.5573H14.1146C14.2592 10.5573 14.3564 10.5828 14.4065 10.6339C14.462 10.6849 14.4898 10.7842 14.4898 10.9317V11.4081C14.4898 11.5442 14.462 11.6407 14.4065 11.6974C14.3564 11.7541 14.2592 11.7825 14.1146 11.7825H13.6477ZM5.90203 14.369C5.75751 14.369 5.65746 14.3434 5.60188 14.2924C5.55185 14.2414 5.52684 14.1421 5.52684 13.9946V13.5267C5.52684 13.3849 5.55185 13.2884 5.60188 13.2374C5.65746 13.1807 5.75751 13.1523 5.90203 13.1523H6.36894C6.5079 13.1523 6.60518 13.1807 6.66076 13.2374C6.71635 13.2884 6.74414 13.3849 6.74414 13.5267V13.9946C6.74414 14.1421 6.71635 14.2414 6.66076 14.2924C6.60518 14.3434 6.5079 14.369 6.36894 14.369H5.90203ZM8.48671 14.369C8.34775 14.369 8.25048 14.3434 8.19489 14.2924C8.13931 14.2414 8.11152 14.1421 8.11152 13.9946V13.5267C8.11152 13.3849 8.13931 13.2884 8.19489 13.2374C8.25048 13.1807 8.34775 13.1523 8.48671 13.1523H8.94528C9.0898 13.1523 9.18708 13.1807 9.2371 13.2374C9.29269 13.2884 9.32048 13.3849 9.32048 13.5267V13.9946C9.32048 14.1421 9.29269 14.2414 9.2371 14.2924C9.18708 14.3434 9.0898 14.369 8.94528 14.369H8.48671ZM11.0714 14.369C10.9269 14.369 10.8268 14.3434 10.7712 14.2924C10.7212 14.2414 10.6962 14.1421 10.6962 13.9946V13.5267C10.6962 13.3849 10.7212 13.2884 10.7712 13.2374C10.8268 13.1807 10.9269 13.1523 11.0714 13.1523H11.5383C11.6773 13.1523 11.7745 13.1807 11.8301 13.2374C11.8857 13.2884 11.9135 13.3849 11.9135 13.5267V13.9946C11.9135 14.1421 11.8857 14.2414 11.8301 14.2924C11.7745 14.3434 11.6773 14.369 11.5383 14.369H11.0714Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst SvgCalendarIcon = ({ className, size = 'sm', ...props }: IconProps) => (\n\t<Svg\n\t\tclassName={cn(\n\t\t\ticonVariants({\n\t\t\t\tsize,\n\t\t\t}),\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n);\n\nexport default SvgCalendarIcon;\n"],"mappings":";;;;;AAOA,MAAMA,QAAM,CAACC,0BACZ,KAAC;CACA,WAAU;CACV,SAAQ;CACR,MAAK;CACL,OAAM;CACN,MAAK;CACL,mBAAgB;CAChB,GAAI;;kBAEJ,IAAC;GAAM,IAAG;aAAa;IAAiB;kBACxC,IAAC;GACA,UAAS;GACT,UAAS;GACT,GAAE;GACF,MAAK;IACJ;kBACF,IAAC;GACA,GAAE;GACF,MAAK;IACJ;kBACF,IAAC;GACA,GAAE;GACF,MAAK;IACJ;kBACF,IAAC;GACA,GAAE;GACF,MAAK;IACJ;;EACG;AAGP,MAAM,cAAc,CAAC,EAAE,WAAW,OAAO,KAAM,GAAG,OAAkB,qBACnE,IAACD;CACA,WAAW,GACV,aAAa,EACZ,KACA,EAAC,EACF,UACA;CACD,GAAI;EACH;AAGH,uBAAe;;;;AC5Cf,MAAME,QAAM,CAACC,0BACZ,KAAC;CACA,WAAU;CACV,SAAQ;CACR,MAAK;CACL,OAAM;CACN,MAAK;CACL,mBAAgB;CAChB,GAAI;4BAEJ,IAAC;EAAM,IAAG;YAAa;GAAyB,kBAChD,IAAC;EACA,UAAS;EACT,UAAS;EACT,GAAE;EACF,MAAK;GACJ;EACG;AAGP,MAAM,cAAc,CAAC,EAAE,WAAW,OAAO,KAAM,GAAG,OAAkB,qBACnE,IAACD;CACA,WAAW,GACV,aAAa,EACZ,KACA,EAAC,EACF,UACA;CACD,GAAI;EACH;AAGH,uBAAe;;;;ACjCf,MAAM,MAAM,CAACE,0BACZ,KAAC;CACA,WAAU;CACV,SAAQ;CACR,MAAK;CACL,OAAM;CACN,MAAK;CACL,cAAW;CACX,GAAI;4BAEJ,IAAC,qBAAM,kBAAqB,kBAC5B,IAAC;EACA,GAAE;EACF,MAAK;GACJ;EACG;AAGP,MAAM,kBAAkB,CAAC,EAAE,WAAW,OAAO,KAAM,GAAG,OAAkB,qBACvE,IAAC;CACA,WAAW,GACV,aAAa,EACZ,KACA,EAAC,EACF,UACA;CACD,GAAI;EACH;AAGH,2BAAe"}
@@ -1,19 +1,19 @@
1
- import { CollectibleCardAction, CollectibleOrder, ContractType, MarketplaceType, Order, OrderbookKind, TokenMetadata } from "./new-marketplace-types-Bfis0U4J.js";
2
- import * as react_jsx_runtime109 from "react/jsx-runtime";
3
- import { Address, Hex } from "viem";
1
+ import { CollectibleCardAction, CollectibleOrder, ContractType, MarketplaceType, Order, OrderbookKind, TokenMetadata } from "./create-config-DKJ-F0jc.js";
2
+ import * as react_jsx_runtime45 from "react/jsx-runtime";
3
+ import { Address } from "viem";
4
4
 
5
5
  //#region src/react/ui/components/marketplace-collectible-card/types.d.ts
6
6
  type MarketplaceCardBaseProps = {
7
7
  collectibleId: string;
8
8
  chainId: number;
9
- collectionAddress: Hex;
9
+ collectionAddress: Address;
10
10
  collectionType?: ContractType;
11
11
  assetSrcPrefixUrl?: string;
12
12
  cardLoading?: boolean;
13
13
  marketplaceType?: MarketplaceType;
14
14
  };
15
15
  type ShopCardSpecificProps = {
16
- salesContractAddress: Hex;
16
+ salesContractAddress: Address;
17
17
  tokenMetadata: TokenMetadata;
18
18
  salePrice: {
19
19
  amount: string;
@@ -24,6 +24,7 @@ type ShopCardSpecificProps = {
24
24
  quantityDecimals: number | undefined;
25
25
  quantityInitial: string | undefined;
26
26
  quantityRemaining: string | undefined;
27
+ unlimitedSupply?: boolean;
27
28
  };
28
29
  type MarketCardSpecificProps = {
29
30
  orderbookKind?: OrderbookKind;
@@ -65,7 +66,7 @@ type MarketCollectibleCardProps = MarketplaceCardBaseProps & MarketCardSpecificP
65
66
  type CollectibleCardProps = ShopCollectibleCardProps | MarketCollectibleCardProps;
66
67
  //#endregion
67
68
  //#region src/react/ui/components/marketplace-collectible-card/CollectibleCard.d.ts
68
- declare function CollectibleCard(props: CollectibleCardProps): react_jsx_runtime109.JSX.Element;
69
+ declare function CollectibleCard(props: CollectibleCardProps): react_jsx_runtime45.JSX.Element;
69
70
  //#endregion
70
71
  export { CollectibleCard, CollectibleCardProps, MarketCardSpecificProps, MarketCollectibleCardProps, MarketplaceCardBaseProps, MarketplaceCollectibleCardProps, ShopCardSpecificProps, ShopCollectibleCardProps };
71
- //# sourceMappingURL=CollectibleCard-C8Ae64Ab.d.ts.map
72
+ //# sourceMappingURL=CollectibleCard-Dd-CG6dE.d.ts.map
@@ -0,0 +1,53 @@
1
+ import { cn } from "./utils-9RXDgcBl.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+
5
+ //#region src/react/ui/icons/iconVariants.ts
6
+ const iconVariants = cva("block shrink-0", {
7
+ variants: { size: {
8
+ xs: "w-4 h-4",
9
+ sm: "w-5 h-5",
10
+ md: "w-6 h-6",
11
+ lg: "w-7 h-7",
12
+ xl: "w-9 h-9"
13
+ } },
14
+ defaultVariants: { size: "md" }
15
+ });
16
+
17
+ //#endregion
18
+ //#region src/react/ui/icons/InfoIcon.tsx
19
+ const Svg = (props) => /* @__PURE__ */ jsxs("svg", {
20
+ className: "h-20 w-20",
21
+ viewBox: "0 0 20 20",
22
+ fill: "none",
23
+ xmlns: "http://www.w3.org/2000/svg",
24
+ role: "img",
25
+ "aria-label": "Information",
26
+ ...props,
27
+ children: [
28
+ /* @__PURE__ */ jsx("title", { children: "Information icon" }),
29
+ /* @__PURE__ */ jsx("path", {
30
+ d: "M10.75 8.75V13.75H9.25V8.75H10.75Z",
31
+ fill: "white"
32
+ }),
33
+ /* @__PURE__ */ jsx("path", {
34
+ d: "M9.37508 7.47656C9.55997 7.65885 9.78263 7.75 10.043 7.75C10.2097 7.75 10.3634 7.70833 10.504 7.625C10.6446 7.53906 10.7579 7.42578 10.8438 7.28516C10.9324 7.14193 10.9779 6.98438 10.9805 6.8125C10.9779 6.55729 10.8829 6.33854 10.6954 6.15625C10.5079 5.97396 10.2904 5.88281 10.043 5.88281C9.78263 5.88281 9.55997 5.97396 9.37508 6.15625C9.19279 6.33854 9.10294 6.55729 9.10555 6.8125C9.10294 7.07031 9.19279 7.29167 9.37508 7.47656Z",
35
+ fill: "white"
36
+ }),
37
+ /* @__PURE__ */ jsx("path", {
38
+ fillRule: "evenodd",
39
+ clipRule: "evenodd",
40
+ d: "M10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18ZM10 16.5C13.5899 16.5 16.5 13.5899 16.5 10C16.5 6.41015 13.5899 3.5 10 3.5C6.41015 3.5 3.5 6.41015 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5Z",
41
+ fill: "white"
42
+ })
43
+ ]
44
+ });
45
+ const SvgInfoIcon = ({ className, size = "sm",...props }) => /* @__PURE__ */ jsx(Svg, {
46
+ className: cn(iconVariants({ size }), className),
47
+ ...props
48
+ });
49
+ var InfoIcon_default = SvgInfoIcon;
50
+
51
+ //#endregion
52
+ export { InfoIcon_default, iconVariants };
53
+ //# sourceMappingURL=InfoIcon-v0w_Lu7t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoIcon-v0w_Lu7t.js","names":["props: SVGProps<SVGSVGElement>"],"sources":["../src/react/ui/icons/iconVariants.ts","../src/react/ui/icons/InfoIcon.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const iconVariants = cva('block shrink-0', {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: 'w-4 h-4',\n\t\t\tsm: 'w-5 h-5',\n\t\t\tmd: 'w-6 h-6',\n\t\t\tlg: 'w-7 h-7',\n\t\t\txl: 'w-9 h-9',\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: 'md',\n\t},\n});\n","'use client';\nimport type { IconProps } from '@0xsequence/design-system';\nimport type { SVGProps } from 'react';\nimport { cn } from '../../../utils';\nimport { iconVariants } from './iconVariants';\n\nconst Svg = (props: SVGProps<SVGSVGElement>) => (\n\t<svg\n\t\tclassName=\"h-20 w-20\"\n\t\tviewBox=\"0 0 20 20\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\trole=\"img\"\n\t\taria-label=\"Information\"\n\t\t{...props}\n\t>\n\t\t<title>Information icon</title>\n\t\t<path d=\"M10.75 8.75V13.75H9.25V8.75H10.75Z\" fill=\"white\" />\n\t\t<path\n\t\t\td=\"M9.37508 7.47656C9.55997 7.65885 9.78263 7.75 10.043 7.75C10.2097 7.75 10.3634 7.70833 10.504 7.625C10.6446 7.53906 10.7579 7.42578 10.8438 7.28516C10.9324 7.14193 10.9779 6.98438 10.9805 6.8125C10.9779 6.55729 10.8829 6.33854 10.6954 6.15625C10.5079 5.97396 10.2904 5.88281 10.043 5.88281C9.78263 5.88281 9.55997 5.97396 9.37508 6.15625C9.19279 6.33854 9.10294 6.55729 9.10555 6.8125C9.10294 7.07031 9.19279 7.29167 9.37508 7.47656Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18ZM10 16.5C13.5899 16.5 16.5 13.5899 16.5 10C16.5 6.41015 13.5899 3.5 10 3.5C6.41015 3.5 3.5 6.41015 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst SvgInfoIcon = ({ className, size = 'sm', ...props }: IconProps) => (\n\t<Svg\n\t\tclassName={cn(\n\t\t\ticonVariants({\n\t\t\t\tsize,\n\t\t\t}),\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n);\n\nexport default SvgInfoIcon;\n"],"mappings":";;;;;AAEA,MAAa,eAAe,IAAI,kBAAkB;CACjD,UAAU,EACT,MAAM;EACL,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;CACJ,EACD;CACD,iBAAiB,EAChB,MAAM,KACN;AACD,EAAC;;;;ACTF,MAAM,MAAM,CAACA,0BACZ,KAAC;CACA,WAAU;CACV,SAAQ;CACR,MAAK;CACL,OAAM;CACN,MAAK;CACL,cAAW;CACX,GAAI;;kBAEJ,IAAC,qBAAM,qBAAwB;kBAC/B,IAAC;GAAK,GAAE;GAAqC,MAAK;IAAU;kBAC5D,IAAC;GACA,GAAE;GACF,MAAK;IACJ;kBACF,IAAC;GACA,UAAS;GACT,UAAS;GACT,GAAE;GACF,MAAK;IACJ;;EACG;AAGP,MAAM,cAAc,CAAC,EAAE,WAAW,OAAO,KAAM,GAAG,OAAkB,qBACnE,IAAC;CACA,WAAW,GACV,aAAa,EACZ,KACA,EAAC,EACF,UACA;CACD,GAAI;EACH;AAGH,uBAAe"}
@@ -1,11 +1,3 @@
1
- //#region src/react/_internal/get-provider.ts
2
- const PROVIDER_ID = "sdk-provider";
3
- function getProviderEl() {
4
- if (!globalThis.document) return null;
5
- return document.getElementById(PROVIDER_ID);
6
- }
7
-
8
- //#endregion
9
1
  //#region src/react/_internal/types.ts
10
2
  let TransactionType = /* @__PURE__ */ function(TransactionType$1) {
11
3
  TransactionType$1["BUY"] = "BUY";
@@ -18,5 +10,5 @@ let TransactionType = /* @__PURE__ */ function(TransactionType$1) {
18
10
  }({});
19
11
 
20
12
  //#endregion
21
- export { PROVIDER_ID, TransactionType, getProviderEl };
22
- //# sourceMappingURL=_internal-BgWcRIak.js.map
13
+ export { TransactionType };
14
+ //# sourceMappingURL=_internal-C75gOSNo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_internal-C75gOSNo.js","names":[],"sources":["../src/react/_internal/types.ts"],"sourcesContent":["import type { ContractType, CreateReq } from '../../types';\nimport type { MarketplaceKind } from './api';\n\nexport interface QueryArg {\n\tenabled?: boolean;\n}\n\nexport type CollectableId = string | number;\n\nexport type CollectionType = ContractType.ERC1155 | ContractType.ERC721;\n\ntype TransactionStep = {\n\texist: boolean;\n\tisExecuting: boolean;\n\texecute: () => Promise<void>;\n};\n\nexport type TransactionSteps = {\n\tapproval: TransactionStep;\n\ttransaction: TransactionStep;\n};\n\nexport enum TransactionType {\n\tBUY = 'BUY',\n\tSELL = 'SELL',\n\tLISTING = 'LISTING',\n\tOFFER = 'OFFER',\n\tTRANSFER = 'TRANSFER',\n\tCANCEL = 'CANCEL',\n}\n\nexport interface BuyInput {\n\torderId: string;\n\tcollectableDecimals: number;\n\tmarketplace: MarketplaceKind;\n\tquantity: string;\n}\n\nexport interface SellInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n\tquantity?: string;\n}\n\nexport interface ListingInput {\n\tcontractType: ContractType;\n\tlisting: CreateReq;\n}\n\nexport interface OfferInput {\n\tcontractType: ContractType;\n\toffer: CreateReq;\n}\n\nexport interface CancelInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n}\n\nexport type ValuesOptional<T> = {\n\t[K in keyof T]: T[K] | undefined;\n};\n\nexport type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\n"],"mappings":";AAsBA,IAAY,8DAAL;AACN;AACA;AACA;AACA;AACA;AACA;;AACA"}
@@ -0,0 +1,116 @@
1
+ import { MODAL_CONTENT_PROPS, MODAL_OVERLAY_PROPS, useSwitchChainModal, useWallet } from "./hooks-4pxIbLbM.js";
2
+ import { Button, Modal, Spinner, Text } from "@0xsequence/design-system";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { createStore } from "@xstate/store";
5
+ import { useSelector } from "@xstate/store/react";
6
+
7
+ //#region src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx
8
+ const ActionModal = ({ isOpen, onClose, title, children, ctas, chainId, disableAnimation, modalLoading, spinnerContainerClassname, hideCtas }) => {
9
+ const { show: showSwitchChainModal } = useSwitchChainModal();
10
+ const { wallet, isLoading, isError } = useWallet();
11
+ const checkChain = async ({ onSuccess }) => {
12
+ const walletChainId = await wallet?.getChainId();
13
+ const chainMismatch = walletChainId !== Number(chainId);
14
+ if (chainMismatch) showSwitchChainModal({
15
+ chainIdToSwitchTo: chainId,
16
+ onSuccess
17
+ });
18
+ else onSuccess();
19
+ };
20
+ if (wallet?.isWaaS) wallet.switchChain(Number(chainId));
21
+ if (!isOpen || !chainId) return null;
22
+ return /* @__PURE__ */ jsx(Modal, {
23
+ isDismissible: true,
24
+ onClose,
25
+ overlayProps: MODAL_OVERLAY_PROPS,
26
+ contentProps: MODAL_CONTENT_PROPS,
27
+ disableAnimation,
28
+ children: /* @__PURE__ */ jsxs("div", {
29
+ className: "relative flex grow flex-col items-center gap-4 p-6",
30
+ children: [
31
+ /* @__PURE__ */ jsx(Text, {
32
+ className: "w-full text-center font-body font-bold text-large text-text-100",
33
+ children: title
34
+ }),
35
+ modalLoading || isLoading || isError ? /* @__PURE__ */ jsxs("div", {
36
+ className: `flex ${spinnerContainerClassname} w-full items-center justify-center`,
37
+ "data-testid": "error-loading-wrapper",
38
+ children: [isError && /* @__PURE__ */ jsx(Text, {
39
+ "data-testid": "error-loading-text",
40
+ className: "text-center font-body text-error100 text-small",
41
+ children: "Error loading modal"
42
+ }), (isLoading || modalLoading) && /* @__PURE__ */ jsx("div", {
43
+ "data-testid": "spinner",
44
+ children: /* @__PURE__ */ jsx(Spinner, { size: "lg" })
45
+ })]
46
+ }) : children,
47
+ !hideCtas && !isLoading && !isError && /* @__PURE__ */ jsx("div", {
48
+ className: "flex w-full flex-col gap-2",
49
+ children: ctas.map((cta) => !cta.hidden && /* @__PURE__ */ jsx(Button, {
50
+ className: "w-full rounded-[12px] [&>div]:justify-center",
51
+ onClick: async () => {
52
+ await checkChain({ onSuccess: () => {
53
+ cta.onClick();
54
+ } });
55
+ },
56
+ variant: cta.variant || "primary",
57
+ pending: cta.pending,
58
+ disabled: cta.disabled,
59
+ size: "lg",
60
+ "data-testid": cta.testid,
61
+ label: /* @__PURE__ */ jsxs("div", {
62
+ className: "flex items-center justify-center gap-2",
63
+ children: [cta.pending && /* @__PURE__ */ jsx("div", {
64
+ "data-testid": `${cta.testid}-spinner`,
65
+ children: /* @__PURE__ */ jsx(Spinner, { size: "sm" })
66
+ }), cta.label]
67
+ })
68
+ }, cta.onClick.toString()))
69
+ })
70
+ ]
71
+ })
72
+ });
73
+ };
74
+
75
+ //#endregion
76
+ //#region src/react/ui/modals/_internal/components/actionModal/store.ts
77
+ const initialContext = {
78
+ isOpen: false,
79
+ chainId: null,
80
+ collectionAddress: null
81
+ };
82
+ const actionModalStore = createStore({
83
+ context: initialContext,
84
+ on: {
85
+ open: (context, event) => ({
86
+ ...context,
87
+ isOpen: true,
88
+ chainId: event.chainId,
89
+ collectionAddress: event.collectionAddress
90
+ }),
91
+ close: (context) => ({
92
+ ...context,
93
+ isOpen: false,
94
+ chainId: null,
95
+ collectionAddress: null
96
+ })
97
+ }
98
+ });
99
+ const useActionModalState = () => useSelector(actionModalStore, (state) => state.context);
100
+ const useIsActionModalOpen = () => useSelector(actionModalStore, (state) => state.context.isOpen);
101
+ const useActionModalChainId = () => useSelector(actionModalStore, (state) => state.context.chainId);
102
+ const useActionModalCollectionAddress = () => useSelector(actionModalStore, (state) => state.context.collectionAddress);
103
+ function openModal(chainId, collectionAddress) {
104
+ actionModalStore.send({
105
+ type: "open",
106
+ chainId,
107
+ collectionAddress
108
+ });
109
+ }
110
+ function closeModal() {
111
+ actionModalStore.send({ type: "close" });
112
+ }
113
+
114
+ //#endregion
115
+ export { ActionModal, actionModalStore, closeModal, openModal, useActionModalChainId, useActionModalCollectionAddress, useActionModalState, useIsActionModalOpen };
116
+ //# sourceMappingURL=actionModal-CMUeVsFX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionModal-CMUeVsFX.js","names":["initialContext: ActionModalState","event: { chainId: number; collectionAddress: Address }","chainId: number","collectionAddress: Address"],"sources":["../src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx","../src/react/ui/modals/_internal/components/actionModal/store.ts"],"sourcesContent":["'use client';\n\nimport { Button, Modal, Spinner, Text } from '@0xsequence/design-system';\nimport type React from 'react';\nimport type { ComponentProps } from 'react';\nimport { useWallet } from '../../../../../_internal/wallet/useWallet';\nimport { MODAL_CONTENT_PROPS, MODAL_OVERLAY_PROPS } from '../consts';\nimport { useSwitchChainModal } from '../switchChainModal';\n\nexport interface ActionModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\ttitle: string;\n\tchildren: React.ReactNode;\n\tctas: {\n\t\tlabel: React.ReactNode;\n\t\tonClick: (() => Promise<void>) | (() => void);\n\t\tpending?: boolean;\n\t\tdisabled?: boolean;\n\t\thidden?: boolean;\n\t\tvariant?: ComponentProps<typeof Button>['variant'];\n\t\ttestid?: string;\n\t}[];\n\tchainId: number;\n\tmodalLoading?: boolean;\n\tspinnerContainerClassname?: string;\n\tdisableAnimation?: boolean;\n\thideCtas?: boolean;\n}\n\nexport const ActionModal = ({\n\tisOpen,\n\tonClose,\n\ttitle,\n\tchildren,\n\tctas,\n\tchainId,\n\tdisableAnimation,\n\tmodalLoading,\n\tspinnerContainerClassname,\n\thideCtas,\n}: ActionModalProps) => {\n\tconst { show: showSwitchChainModal } = useSwitchChainModal();\n\tconst { wallet, isLoading, isError } = useWallet();\n\n\tconst checkChain = async ({ onSuccess }: { onSuccess: () => void }) => {\n\t\tconst walletChainId = await wallet?.getChainId();\n\t\tconst chainMismatch = walletChainId !== Number(chainId);\n\t\tif (chainMismatch) {\n\t\t\tshowSwitchChainModal({\n\t\t\t\tchainIdToSwitchTo: chainId,\n\t\t\t\tonSuccess,\n\t\t\t});\n\t\t} else {\n\t\t\tonSuccess();\n\t\t}\n\t};\n\n\tif (wallet?.isWaaS) {\n\t\twallet.switchChain(Number(chainId));\n\t}\n\n\tif (!isOpen || !chainId) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tisDismissible={true}\n\t\t\tonClose={onClose}\n\t\t\toverlayProps={MODAL_OVERLAY_PROPS}\n\t\t\tcontentProps={MODAL_CONTENT_PROPS}\n\t\t\tdisableAnimation={disableAnimation}\n\t\t>\n\t\t\t<div className=\"relative flex grow flex-col items-center gap-4 p-6\">\n\t\t\t\t<Text className=\"w-full text-center font-body font-bold text-large text-text-100\">\n\t\t\t\t\t{title}\n\t\t\t\t</Text>\n\n\t\t\t\t{modalLoading || isLoading || isError ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`flex ${spinnerContainerClassname} w-full items-center justify-center`}\n\t\t\t\t\t\tdata-testid=\"error-loading-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{isError && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tdata-testid=\"error-loading-text\"\n\t\t\t\t\t\t\t\tclassName=\"text-center font-body text-error100 text-small\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tError loading modal\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{(isLoading || modalLoading) && (\n\t\t\t\t\t\t\t<div data-testid=\"spinner\">\n\t\t\t\t\t\t\t\t<Spinner size=\"lg\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\n\t\t\t\t{!hideCtas && !isLoading && !isError && (\n\t\t\t\t\t<div className=\"flex w-full flex-col gap-2\">\n\t\t\t\t\t\t{ctas.map(\n\t\t\t\t\t\t\t(cta) =>\n\t\t\t\t\t\t\t\t!cta.hidden && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full rounded-[12px] [&>div]:justify-center\"\n\t\t\t\t\t\t\t\t\t\tkey={cta.onClick.toString()}\n\t\t\t\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\t\t\t\tawait checkChain({\n\t\t\t\t\t\t\t\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcta.onClick();\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tvariant={cta.variant || 'primary'}\n\t\t\t\t\t\t\t\t\t\tpending={cta.pending}\n\t\t\t\t\t\t\t\t\t\tdisabled={cta.disabled}\n\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\tdata-testid={cta.testid}\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t{cta.pending && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div data-testid={`${cta.testid}-spinner`}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Spinner size=\"sm\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t\t{cta.label}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</Modal>\n\t);\n};\n","import { createStore } from '@xstate/store';\nimport { useSelector } from '@xstate/store/react';\nimport type { Address } from 'viem';\n\nexport interface ActionModalState {\n\tisOpen: boolean;\n\tchainId: number | null;\n\tcollectionAddress: Address | null;\n}\n\nconst initialContext: ActionModalState = {\n\tisOpen: false,\n\tchainId: null,\n\tcollectionAddress: null,\n};\n\nexport const actionModalStore = createStore({\n\tcontext: initialContext,\n\ton: {\n\t\topen: (\n\t\t\tcontext,\n\t\t\tevent: { chainId: number; collectionAddress: Address },\n\t\t) => ({\n\t\t\t...context,\n\t\t\tisOpen: true,\n\t\t\tchainId: event.chainId,\n\t\t\tcollectionAddress: event.collectionAddress,\n\t\t}),\n\t\tclose: (context) => ({\n\t\t\t...context,\n\t\t\tisOpen: false,\n\t\t\tchainId: null,\n\t\t\tcollectionAddress: null,\n\t\t}),\n\t},\n});\n\n// Selector hooks\nexport const useActionModalState = () =>\n\tuseSelector(actionModalStore, (state) => state.context);\n\nexport const useIsActionModalOpen = () =>\n\tuseSelector(actionModalStore, (state) => state.context.isOpen);\n\nexport const useActionModalChainId = () =>\n\tuseSelector(actionModalStore, (state) => state.context.chainId);\n\nexport const useActionModalCollectionAddress = () =>\n\tuseSelector(actionModalStore, (state) => state.context.collectionAddress);\n\nexport function openModal(chainId: number, collectionAddress: Address) {\n\tactionModalStore.send({ type: 'open', chainId, collectionAddress });\n}\n\nexport function closeModal() {\n\tactionModalStore.send({ type: 'close' });\n}\n"],"mappings":";;;;;;;AA8BA,MAAa,cAAc,CAAC,EAC3B,QACA,SACA,OACA,UACA,MACA,SACA,kBACA,cACA,2BACA,UACkB,KAAK;CACvB,MAAM,EAAE,MAAM,sBAAsB,GAAG,qBAAqB;CAC5D,MAAM,EAAE,QAAQ,WAAW,SAAS,GAAG,WAAW;CAElD,MAAM,aAAa,OAAO,EAAE,WAAsC,KAAK;EACtE,MAAM,gBAAgB,MAAM,QAAQ,YAAY;EAChD,MAAM,gBAAgB,kBAAkB,OAAO,QAAQ;AACvD,MAAI,cACH,sBAAqB;GACpB,mBAAmB;GACnB;EACA,EAAC;MAEF,YAAW;CAEZ;AAED,KAAI,QAAQ,OACX,QAAO,YAAY,OAAO,QAAQ,CAAC;AAGpC,MAAK,WAAW,QACf,QAAO;AAGR,wBACC,IAAC;EACA,eAAe;EACN;EACT,cAAc;EACd,cAAc;EACI;4BAElB,KAAC;GAAI,WAAU;;oBACd,IAAC;KAAK,WAAU;eACd;MACK;IAEN,gBAAgB,aAAa,0BAC7B,KAAC;KACA,YAAY,OAAO,0BAA0B;KAC7C,eAAY;gBAEX,2BACA,IAAC;MACA,eAAY;MACZ,WAAU;gBACV;OAEM,GAEN,aAAa,iCACd,IAAC;MAAI,eAAY;gCAChB,IAAC,WAAQ,MAAK,OAAO;OAChB;MAEF,GAEN;KAGC,aAAa,cAAc,2BAC5B,IAAC;KAAI,WAAU;eACb,KAAK,IACL,CAAC,SACC,IAAI,0BACJ,IAAC;MACA,WAAU;MAEV,SAAS,YAAY;AACpB,aAAM,WAAW,EAChB,WAAW,MAAM;AAChB,YAAI,SAAS;OACb,EACD,EAAC;MACF;MACD,SAAS,IAAI,WAAW;MACxB,SAAS,IAAI;MACb,UAAU,IAAI;MACd,MAAK;MACL,eAAa,IAAI;MACjB,uBACC,KAAC;OAAI,WAAU;kBACb,IAAI,2BACJ,IAAC;QAAI,gBAAc,EAAE,IAAI,OAAO;kCAC/B,IAAC,WAAQ,MAAK,OAAO;SAChB,EAGN,IAAI;QACA;QAtBF,IAAI,QAAQ,UAAU,CAwB1B,CAEJ;MACI;;IAEF;GACC;AAET;;;;ACnID,MAAMA,iBAAmC;CACxC,QAAQ;CACR,SAAS;CACT,mBAAmB;AACnB;AAED,MAAa,mBAAmB,YAAY;CAC3C,SAAS;CACT,IAAI;EACH,MAAM,CACL,SACAC,WACK;GACL,GAAG;GACH,QAAQ;GACR,SAAS,MAAM;GACf,mBAAmB,MAAM;EACzB;EACD,OAAO,CAAC,aAAa;GACpB,GAAG;GACH,QAAQ;GACR,SAAS;GACT,mBAAmB;EACnB;CACD;AACD,EAAC;AAGF,MAAa,sBAAsB,MAClC,YAAY,kBAAkB,CAAC,UAAU,MAAM,QAAQ;AAExD,MAAa,uBAAuB,MACnC,YAAY,kBAAkB,CAAC,UAAU,MAAM,QAAQ,OAAO;AAE/D,MAAa,wBAAwB,MACpC,YAAY,kBAAkB,CAAC,UAAU,MAAM,QAAQ,QAAQ;AAEhE,MAAa,kCAAkC,MAC9C,YAAY,kBAAkB,CAAC,UAAU,MAAM,QAAQ,kBAAkB;AAE1E,SAAgB,UAAUC,SAAiBC,mBAA4B;AACtE,kBAAiB,KAAK;EAAE,MAAM;EAAQ;EAAS;CAAmB,EAAC;AACnE;AAED,SAAgB,aAAa;AAC5B,kBAAiB,KAAK,EAAE,MAAM,QAAS,EAAC;AACxC"}
@@ -3,4 +3,4 @@ var alien_swap_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACA
3
3
 
4
4
  //#endregion
5
5
  export { alien_swap_default as default };
6
- //# sourceMappingURL=alien_swap-B_76IMma.js.map
6
+ //# sourceMappingURL=alien_swap-CYv6YlOF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alien_swap-B_76IMma.js","names":[],"sources":["../src/react/ui/images/marketplaces/alien_swap.png"],"sourcesContent":["\"data:image/png;base64,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\""],"mappings":";yBAAA"}
1
+ {"version":3,"file":"alien_swap-CYv6YlOF.js","names":[],"sources":["../src/react/ui/images/marketplaces/alien_swap.png"],"sourcesContent":["\"data:image/png;base64,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\""],"mappings":";yBAAA"}