@dcl/shop 1.11.2-32965246252.commit-13c8ba6 → 1.11.2-33050849044.commit-d710ef0

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 (234) hide show
  1. package/_assets/{Activity-CP1ECejY.js → Activity-Cb8UPooR.js} +9 -9
  2. package/_assets/{AnimatedBackground-DtYPIbcl.js → AnimatedBackground-DTrZDJA8.js} +2 -2
  3. package/_assets/{Assets-By0Rhz7x.js → Assets-BeMy0zBm.js} +3 -3
  4. package/_assets/{Authorizations-CvawcU2A.js → Authorizations-DncizvNg.js} +2 -2
  5. package/_assets/Cart-DT8eTjju.js +748 -0
  6. package/_assets/{Collection-5gUmqbSO.js → Collection-DCZ3YJU4.js} +9 -9
  7. package/_assets/{CollectionCarousel-Cktbe885.js → CollectionCarousel-0tR5Mlt1.js} +3 -3
  8. package/_assets/{Confetti-nYkhLzwN.js → Confetti-ViY_Tl_x.js} +4 -4
  9. package/_assets/{ConstantsUtil-tH8b4Sih.js → ConstantsUtil-CPnBLCKC.js} +2 -2
  10. package/_assets/{ContentClient-Cf58TUeO.js → ContentClient-BkKFRXIG.js} +2 -2
  11. package/_assets/{Creator-CVkv365r.js → Creator-eDokOdG6.js} +24 -24
  12. package/_assets/{DeploymentBuilder-BXoASvDP.js → DeploymentBuilder-sKGEh439.js} +2 -2
  13. package/_assets/{EmotePlaybackBar-DRW6zw8j.js → EmotePlaybackBar-Dhz63yAz.js} +5 -5
  14. package/_assets/{ErrorNotice-t4ECFSsU.js → ErrorNotice-CSHOj_36.js} +2 -2
  15. package/_assets/{ExchangeController-C8Z1Zetf.js → ExchangeController-CsKQzi2K.js} +2 -2
  16. package/_assets/{Faq-DigUPwwN.js → Faq-DDRZibDb.js} +2 -2
  17. package/_assets/{GetCredits-C6UPapuB.js → GetCredits-CpP-OsF7.js} +2 -2
  18. package/_assets/{Grow-l_u1PA_w.js → Grow-DCgFqXHz.js} +2 -2
  19. package/_assets/{HelpersUtil-DY3iMqWy.js → HelpersUtil-iJ1yh8Qr.js} +2 -2
  20. package/_assets/{ItemDetail-M3cpWawc.js → ItemDetail-DwAqmdIu.js} +2 -2
  21. package/_assets/{LoadMore-BBM-SXJP.js → LoadMore-BwZO73du.js} +2 -2
  22. package/_assets/{ManaPricingBanner.styles-DGUEM5J3.js → ManaPricingBanner.styles-DGJbiC1Z.js} +2 -2
  23. package/_assets/{MyAssets-Br90M9s_.js → MyAssets-hcKLnv5g.js} +2 -2
  24. package/_assets/{MyFavorites-CmiaRzuz.js → MyFavorites-Bp6GPtXE.js} +2 -2
  25. package/_assets/{NetworkUtil-BZ47ACp8.js → NetworkUtil-DbL_V1jR.js} +2 -2
  26. package/_assets/{NotFound-CVnfOmWc.js → NotFound-CTb_1gzv.js} +2 -2
  27. package/_assets/{NotificationsBell-DPj_SC9_.js → NotificationsBell--siTbfxL.js} +2 -2
  28. package/_assets/{OutfitDetail-B6eOBBPT.js → OutfitDetail-pb_IcBaj.js} +2 -2
  29. package/_assets/{OutfitPreview-CB93yCZ2.js → OutfitPreview-CSV0Ba-9.js} +2 -2
  30. package/_assets/{OutfitStudio-CLAZVuNz.js → OutfitStudio-CtmMGesj.js} +2 -2
  31. package/_assets/{StoreSettings-B62SbRFA.js → StoreSettings-8ag4TiMf.js} +2 -2
  32. package/_assets/{Success-CcLqbu9A.js → Success-CYW7s5SU.js} +2 -2
  33. package/_assets/{SwapController-Cmzk7aBX.js → SwapController-uLupOCWo.js} +2 -2
  34. package/_assets/TradeService-CRFzT-Hr.js +2 -0
  35. package/_assets/{W3MFrameProviderSingleton-C5R0Hv4f.js → W3MFrameProviderSingleton-Cb17Fn7X.js} +4 -4
  36. package/_assets/{WebCryptoP256-CoWvLLBn.js → WebCryptoP256-CgN7P_px.js} +2 -2
  37. package/_assets/{authorizations-Dfd7AOyN.js → authorizations-ChjDHhq0.js} +2 -2
  38. package/_assets/{basic-8adCBjLn.js → basic-DJQVI2W6.js} +2 -2
  39. package/_assets/{biconomy-0DvyR0vE.js → biconomy-ZY5p1Lnz.js} +2 -2
  40. package/_assets/{browseLayout.styles-CZMO6p62.js → browseLayout.styles-BGMKaxNl.js} +2 -2
  41. package/_assets/{browser-CRTtYpr2.js → browser-DrZivzFf.js} +2 -2
  42. package/_assets/{browser-ponyfill-CUyGMBm7.js → browser-ponyfill-BNOW_pBr.js} +2 -2
  43. package/_assets/{builder-BuVZpOfe.js → builder-BfRqFJQ4.js} +2 -2
  44. package/_assets/buy-Cmc6VGNE.js +2 -0
  45. package/_assets/{buy-gasless-D8T6jLex.js → buy-gasless-SuVAuIoA.js} +2 -2
  46. package/_assets/{categories-DR9seQYU.js → categories-CcQWbCI7.js} +2 -2
  47. package/_assets/{ccip-DRuetWI4.js → ccip-DwRl-KxC.js} +2 -2
  48. package/_assets/{ccip-1pkZuB0E.js → ccip-DwiL0Ome.js} +2 -2
  49. package/_assets/{chains-BcWQaIVL.js → chains-DsUWcPpA.js} +2 -2
  50. package/_assets/collectionPage.styles-DVsIiXb2.js +40 -0
  51. package/_assets/{common-6U-VLCbU.js → common-CraL5c5H.js} +2 -2
  52. package/_assets/{controller-ICVmH4Ig.js → controller-BuSjdOVC.js} +3 -3
  53. package/_assets/{core-s3KP05zr.js → core-C68iFRG-.js} +5 -5
  54. package/_assets/{createSvgIcon-bdMIgLav.js → createSvgIcon-CGmCpEG5.js} +6 -6
  55. package/_assets/{custom-UWzt1HkN.js → custom-4GcYKxl5.js} +2 -2
  56. package/_assets/{data-capture-C3mZGErr.js → data-capture-Cyiav8vl.js} +2 -2
  57. package/_assets/{dcl-schemas-CDqEnGVF.js → dcl-schemas-Z_oWg9h9.js} +2 -2
  58. package/_assets/{decimals-B6ScQYpQ.js → decimals-Bq-S3aqE.js} +2 -2
  59. package/_assets/{decimals-BBaBNZYL.js → decimals-CArBdPn5.js} +2 -2
  60. package/_assets/{detectExtension-XiBshjVV.js → detectExtension-Dt_yYPg7.js} +2 -2
  61. package/_assets/{disposePreview-Cr2UliIP.js → disposePreview-D4xN-rbE.js} +2 -2
  62. package/_assets/{email-CYRldPZy.js → email-CZ4jC6eQ.js} +2 -2
  63. package/_assets/{embedded-wallet-PXQ371Y2.js → embedded-wallet-DZADS08N.js} +2 -2
  64. package/_assets/{emotion-styled.browser.esm-CXiBGfWG.js → emotion-styled.browser.esm-beWfTrJ9.js} +2 -2
  65. package/_assets/{engine-BYj8LRR-.js → engine-BSXxNgo0.js} +2 -2
  66. package/_assets/{errors-DrnWhano.js → errors-BOK5UzVJ.js} +2 -2
  67. package/_assets/{estimate-l1-fee-Br5tf6YJ.js → estimate-l1-fee-GVxA6iNo.js} +2 -2
  68. package/_assets/{eth_estimateGas-KLSbpl5b.js → eth_estimateGas-etehgmZh.js} +2 -2
  69. package/_assets/{eth_getStorageAt-BkrUTKef.js → eth_getStorageAt-CbdzG1l_.js} +2 -2
  70. package/_assets/{eth_getTransactionCount-CCoUDrH9.js → eth_getTransactionCount-B5PZdzoN.js} +2 -2
  71. package/_assets/{ethereum-D0IGfAmi.js → ethereum-CS-n5Xr7.js} +2 -2
  72. package/_assets/{ethers-IshNxzO2.js → ethers-Cpz0Q6xx.js} +2 -2
  73. package/_assets/{events-DmWFPeUq.js → events-DACjjuYo.js} +2 -2
  74. package/_assets/{execute-BITqWoLw.js → execute-D9BdF3-v.js} +3 -3
  75. package/_assets/{extractIPFS-CTDek6fb.js → extractIPFS-nIeATqsF.js} +2 -2
  76. package/_assets/{features-DGwPKoN-.js → features-C_LEXfeO.js} +2 -2
  77. package/_assets/{fetchTokenMetadata--Ly_UgiZ.js → fetchTokenMetadata-0K65OHg2.js} +3 -3
  78. package/_assets/{field.styles-CrPrLgfc.js → field.styles-Cc8geV5i.js} +2 -2
  79. package/_assets/{fortmatic-B4BmxhUY.js → fortmatic-BQvAbAE8.js} +2 -2
  80. package/_assets/{get-bytecode-D_h1A1zC.js → get-bytecode-CUOf1h_g.js} +2 -2
  81. package/_assets/{get-ecosystem-wallet-info-CYmLJgzN.js → get-ecosystem-wallet-info-CRF2DpN6.js} +2 -2
  82. package/_assets/{getBalance-DjGiniPh.js → getBalance-CZZhOPZE.js} +3 -3
  83. package/_assets/{getInstalledModules-DR1KTHzu.js → getInstalledModules-jGEvSZtN.js} +2 -2
  84. package/_assets/{getNFT-x38RyDB2.js → getNFT-CitsyjuX.js} +3 -3
  85. package/_assets/{getNFT-CNg62zD3.js → getNFT-WfSacIBg.js} +2 -2
  86. package/_assets/{grid.styles-LmmrrDys.js → grid.styles-BgULreOR.js} +2 -2
  87. package/_assets/{hashTypedData-MNLweE_a.js → hashTypedData-ByJYgeO9.js} +2 -2
  88. package/_assets/{hashTypedData-sdmtN9Zz.js → hashTypedData-C6vCQMAc.js} +2 -2
  89. package/_assets/{in-app-Bu7Zv9-z.js → in-app-DelW162t.js} +2 -2
  90. package/_assets/{in-app-wallet-calls-Ch0ELDn9.js → in-app-wallet-calls-GZEjZInR.js} +2 -2
  91. package/_assets/{index-DwK_n4fi.js → index-06nAp6_P.js} +2 -2
  92. package/_assets/{index-DHtZOoSj.js → index-0GqxSgjs.js} +2 -2
  93. package/_assets/{index-DHnYqA2D.js → index-0drXYznK.js} +4 -4
  94. package/_assets/{index-CooyqVnL.js → index-1oZGCxrR.js} +2 -2
  95. package/_assets/{index-isUMGRDw.js → index-478kymCd.js} +2 -2
  96. package/_assets/{index-B4S9GeTv.js → index-6H7SIWE4.js} +3 -3
  97. package/_assets/{index-DEVplCn_.js → index-7k0c5Qcy.js} +2 -2
  98. package/_assets/{index-RwWClkgi.js → index-8ROQzz_g.js} +2 -2
  99. package/_assets/{index-BuBssK3j.js → index-B0FVA0eZ.js} +2 -2
  100. package/_assets/{index-BDkxSGPV.js → index-B3Z7srlP.js} +2 -2
  101. package/_assets/{index-DP2zGJus.js → index-B3hIuOjX.js} +2 -2
  102. package/_assets/{index-CyufH55G.js → index-BBxO56gH.js} +2 -2
  103. package/_assets/{index-Bic0I_uZ.js → index-BMxAuVf4.js} +2 -2
  104. package/_assets/{index-DtEasqMO.js → index-BQcRovWk.js} +3 -3
  105. package/_assets/{index-D4CaQiXg.js → index-B_2Mo4bu.js} +2 -2
  106. package/_assets/{index-j_yYEFrz.js → index-BfFqEUOq.js} +2 -2
  107. package/_assets/{index-DcKArVXo.js → index-BhStT_cc.js} +2 -2
  108. package/_assets/{index-BagTuDyL.js → index-BhuPVo5e.js} +2 -2
  109. package/_assets/{index-C-0vDGti.js → index-BiFC9g1V.js} +3 -3
  110. package/_assets/{index-N4rWx0gr.js → index-Bl045Uro.js} +2 -2
  111. package/_assets/{index-DG6QQ_2J.js → index-BqDmiiZ-.js} +6 -6
  112. package/_assets/{index-BdZj5Hzt.js → index-Btp9BlB2.js} +2 -2
  113. package/_assets/{index-_BtwdviV.js → index-Bzl3YxsW.js} +2 -2
  114. package/_assets/{index-B4HX0CZx.js → index-C-bEpZKt.js} +2 -2
  115. package/_assets/{index-CUYsSSRU.js → index-C9Nt4S9K.js} +2 -2
  116. package/_assets/{index-DT5c_fV2.js → index-CFDDMQJK.js} +2 -2
  117. package/_assets/{index-Beo2oUYK.js → index-CHxIVaGD.js} +2 -2
  118. package/_assets/{index-5NSbXKSv.js → index-CIKEzKBH.js} +3 -3
  119. package/_assets/index-COOTjCVL.js +2 -0
  120. package/_assets/{index-D_tuuxnP.js → index-CPtUYput.js} +2 -2
  121. package/_assets/{index-i1eBrvZf.js → index-CUxOFwrr.js} +2 -2
  122. package/_assets/{index-DLNncT_F.js → index-C_qbG0dy.js} +2 -2
  123. package/_assets/{index-B0WLbCww.js → index-Ch-uhgiT.js} +2 -2
  124. package/_assets/{index-YKSu1hwZ.js → index-CnKfDln2.js} +4 -4
  125. package/_assets/{index-hx-Z5LCN.js → index-Cw7Rqo2-.js} +2 -2
  126. package/_assets/index-D3bYCsfh.js +2 -0
  127. package/_assets/{index-Dp0EvwWN.js → index-D4aVxZvs.js} +5 -5
  128. package/_assets/{index-DRrOiyHk.js → index-D6uAgsgt.js} +2 -2
  129. package/_assets/{index-DPaKunKm.js → index-DKaHo61X.js} +2 -2
  130. package/_assets/{index-Co8V1we7.js → index-DLfuFdyq.js} +2 -2
  131. package/_assets/{index-CT6bjqM0.js → index-DNVhmP-g.js} +2 -2
  132. package/_assets/index-DO2w-wQR.js +4117 -0
  133. package/_assets/{index-CZ-GxAba.js → index-DRS8NbOe.js} +2 -2
  134. package/_assets/{index-B-Ajihp7.js → index-DSfy1hBC.js} +2 -2
  135. package/_assets/{index-BYLTT06l.js → index-DZwiznKc.js} +2 -2
  136. package/_assets/{index-B315VRIl.js → index-DeqZWYRQ.js} +2 -2
  137. package/_assets/{index-DYpqdGoC.js → index-DgrGQPbb.js} +2 -2
  138. package/_assets/{index-D5C6Jf2g.js → index-DrtJak5c.js} +2 -2
  139. package/_assets/{index-BmhE3caQ.js → index-DtNLghFi.js} +2 -2
  140. package/_assets/{index-Bqu7D4Cn.js → index-HKZSXNsr.js} +2 -2
  141. package/_assets/{index-C5yBP4Mu.js → index-KxXBUjbr.js} +4 -4
  142. package/_assets/{index-MGgUn-WH.js → index-MVmOAy4C.js} +2 -2
  143. package/_assets/{index-DDiabBbx.js → index-Oc8g3W54.js} +2 -2
  144. package/_assets/{index-CxiNiQql.js → index-Q6NI03qq.js} +2 -2
  145. package/_assets/{index-DwXqRzoH.js → index-RB8sYWdK.js} +2 -2
  146. package/_assets/{index-DMcpJs55.js → index-YBa5NFZw.js} +2 -2
  147. package/_assets/{index-CEk2nZCx.js → index-ZdJgkDfq.js} +2 -2
  148. package/_assets/{index-CLT_fShJ.js → index-Zw_hjMg7.js} +2 -2
  149. package/_assets/{index-B2d6dDnR.js → index-_K5f8PeG.js} +2 -2
  150. package/_assets/{index-CXy1lICw.js → index-_YF7EieY.js} +3 -3
  151. package/_assets/{index-CkeRKp-D.js → index-j6WPFSGW.js} +6 -6
  152. package/_assets/{index-C8ZpYOme.js → index-nAcepwRH.js} +2 -2
  153. package/_assets/{index-ChKbGwyG.js → index-nlnz8IwV.js} +2 -2
  154. package/_assets/{index-T6YURB_R.js → index-oUqiABFT.js} +2 -2
  155. package/_assets/{index-B6nahZ4b.js → index-qNV8isBD.js} +2 -2
  156. package/_assets/{index-Dmkdljm-.js → index-vSQyyLPX.js} +2 -2
  157. package/_assets/{index-BPWcQXMl.js → index-zyHGk9oP.js} +2 -2
  158. package/_assets/{index.es-DLwz4OQB.js → index.es-BOCjx120.js} +2 -2
  159. package/_assets/{index.es-D-OEMBF-.js → index.es-BPsWV599.js} +2 -2
  160. package/_assets/{index.es-C3vaKwOX.js → index.es-DxzKuifY.js} +5 -5
  161. package/_assets/{index.es-5UAQTciE.js → index.es-Tp1KZ2HQ.js} +2 -2
  162. package/_assets/{items-empty-C_gH1DkX.js → items-empty-x6ksK26N.js} +2 -2
  163. package/_assets/{jump-BlLiARV_.js → jump-DErRvLju.js} +2 -2
  164. package/_assets/{linkAccount-CuSrWich.js → linkAccount-YghbSYWp.js} +2 -2
  165. package/_assets/{localBatchGatewayRequest-BNo2EXnI.js → localBatchGatewayRequest-BExIf5_1.js} +2 -2
  166. package/_assets/{native-J_8MJYHP.js → native-c1T6eoXp.js} +2 -2
  167. package/_assets/{networks-CokwnUjP.js → networks-B-wEMoJV.js} +2 -2
  168. package/_assets/{onramp-Aiqx5RHE.js → onramp-CDCcNQHe.js} +2 -2
  169. package/_assets/{openzeppelin-1fOq8ZOm.js → openzeppelin-CpRja1Th.js} +2 -2
  170. package/_assets/{ownerOf-UVqW65lI.js → ownerOf-C70qi64U.js} +2 -2
  171. package/_assets/{parseNft-Bx81AJrG.js → parseNft-CZOYTgLm.js} +3 -3
  172. package/_assets/{parseSignature-DIz3eDbf.js → parseSignature-BEsyV8el.js} +2 -2
  173. package/_assets/{parseSignature-C141PYHz.js → parseSignature-DzR-8mQD.js} +4 -4
  174. package/_assets/{passkeys-DEkgG2JC.js → passkeys-yBovAv90.js} +2 -2
  175. package/_assets/{pay-with-exchange-B0Edm_sO.js → pay-with-exchange-7bhrHbog.js} +2 -2
  176. package/_assets/{prepare-contract-call-BJOeaK83.js → prepare-contract-call-h84PINiM.js} +2 -2
  177. package/_assets/{qr-overlay-56D3Gl0s.js → qr-overlay-WkRjHKs6.js} +4 -4
  178. package/_assets/{react-BwVKUOq3.js → react-C_gdQiCE.js} +2 -2
  179. package/_assets/{receive--VyiBBVi.js → receive-Do89clPB.js} +2 -2
  180. package/_assets/{resolveImplementation-Cv68WsI1.js → resolveImplementation-B9JWy09W.js} +2 -2
  181. package/_assets/{resume-buy-CwzanqHx.js → resume-buy-BC0M_EmE.js} +2 -2
  182. package/_assets/{rpc-X9rHfWkB.js → rpc-BSS6zm8k.js} +2 -2
  183. package/_assets/{sales-empty-CQ3_E6og.js → sales-empty-DYbL-9_y.js} +2 -2
  184. package/_assets/{search-empty-BjFHfdG4.js → search-empty-CZAYhXXz.js} +2 -2
  185. package/_assets/{secp256k1-C5iJ64mZ.js → secp256k1-BBFBLxON.js} +2 -2
  186. package/_assets/{secp256k1-BYfFefy8.js → secp256k1-BYDa0XLp.js} +2 -2
  187. package/_assets/{secp256k1-CiCoU0c1.js → secp256k1-ZJxm9Bys.js} +2 -2
  188. package/_assets/{send-CuWODK7h.js → send-ClRYnajv.js} +2 -2
  189. package/_assets/{send-batch-transaction-BfdIVqZ3.js → send-batch-transaction-DwvLC0W4.js} +2 -2
  190. package/_assets/{send-eip712-transaction-CwaDIVzZ.js → send-eip712-transaction-DvY1NVgK.js} +3 -3
  191. package/_assets/{send-gasless-transaction-CT12Tt7D.js → send-gasless-transaction-o1auSTit.js} +3 -3
  192. package/_assets/{send-transaction-Ddxr3Ocz.js → send-transaction-Br2a0g7W.js} +3 -3
  193. package/_assets/{sendMetaTransaction-C0lud7cG.js → sendMetaTransaction-Bu8b5LeI.js} +2 -2
  194. package/_assets/{sendRawTransaction-DC9Gx2J8.js → sendRawTransaction-BpeJI0sp.js} +4 -4
  195. package/_assets/{sentry-Bsae7YMx.js → sentry-Cxy688Uv.js} +3 -3
  196. package/_assets/{serializeTransaction-BcxNFpPf.js → serializeTransaction-FQ6RV9RE.js} +2 -2
  197. package/_assets/{session-proposal-BRTjUHNO.js → session-proposal-C6u2LdKL.js} +2 -2
  198. package/_assets/{session-request-0A4jzxWn.js → session-request-w0C1Tobh.js} +3 -3
  199. package/_assets/{sha256-DuFZ-xgO.js → sha256-CTCuMrwW.js} +2 -2
  200. package/_assets/{signing-DjkQXx2H.js → signing-D3zt3At6.js} +4 -4
  201. package/_assets/{skeleton.styles-BSFkRsID.js → skeleton.styles-B1HNltmx.js} +2 -2
  202. package/_assets/{socials-Bq8LLJzv.js → socials-DfbgvKTd.js} +2 -2
  203. package/_assets/{styled-CHKWBEcS.js → styled-Cuj3EyKZ.js} +3 -3
  204. package/_assets/{swaps-HsHB8jE0.js → swaps-b1I3uEg7.js} +2 -2
  205. package/_assets/{thirdweb-DXvdAo-M.js → thirdweb-auekSJDk.js} +4 -4
  206. package/_assets/{to-serializable-transaction-DY0E52Cx.js → to-serializable-transaction-CfmjnNDu.js} +3 -3
  207. package/_assets/{totalSupply-tekRrLb9.js → totalSupply-BUwJKf4f.js} +2 -2
  208. package/_assets/{transaction-DmRIdyP5.js → transaction-DnOh3Eg-.js} +2 -2
  209. package/_assets/{transactionReceipt-C8Az-i5d.js → transactionReceipt-CqUJCou2.js} +2 -2
  210. package/_assets/{transactions-XeVMLuJC.js → transactions-C3x5-V61.js} +2 -2
  211. package/_assets/useCreditPacks-DCsNOyZ8.js +2 -0
  212. package/_assets/{useInfiniteGrid-DY7gb2OF.js → useInfiniteGrid-R77Z-ty5.js} +2 -2
  213. package/_assets/{useStore-CRWAT-Hl.js → useStore-D2qLhY6J.js} +3 -3
  214. package/_assets/{useTheme-tBW9Hl3o.js → useTheme-BGjlT7WM.js} +2 -2
  215. package/_assets/{utils-BQ26ZG4D.js → utils-BtZfUVLs.js} +2 -2
  216. package/_assets/{verifyHash-BE902crr.js → verifyHash-DPHC3ZIF.js} +2 -2
  217. package/_assets/{w3m-modal-KveUXZA7.js → w3m-modal-CbZN_Q63.js} +2 -2
  218. package/_assets/{w3m-modal-BOmKfhbd.js → w3m-modal-D0JziRdg.js} +2 -2
  219. package/_assets/{wait-for-tx-receipt-BKB8LRgZ.js → wait-for-tx-receipt-DZiNnQbl.js} +2 -2
  220. package/_assets/{wallets-CrIbjhsV.js → wallets-rH1kVf3P.js} +6 -6
  221. package/_assets/{web-connector-CZ0MpdTl.js → web-connector-COam_ETk.js} +4 -4
  222. package/_assets/{writeContract-DmwWgebd.js → writeContract-14h9tGQE.js} +2 -2
  223. package/_assets/{zora-sepolia-CPHox4vi.js → zora-sepolia-CutqFesD.js} +2 -2
  224. package/_assets/{zoraTestnet-C2wNQadV.js → zoraTestnet-bXAN-i92.js} +2 -2
  225. package/index.html +11 -11
  226. package/package.json +2 -2
  227. package/_assets/Cart-CYlGTo1G.js +0 -748
  228. package/_assets/TradeService-Bbn8PVai.js +0 -2
  229. package/_assets/buy-C0bT8mAS.js +0 -2
  230. package/_assets/collectionPage.styles-BeZ03uBn.js +0 -40
  231. package/_assets/index-BUtPa6GQ.js +0 -4117
  232. package/_assets/index-DbFrOrtt.js +0 -2
  233. package/_assets/index-VVCezAYG.js +0 -2
  234. package/_assets/useCreditPacks-DUiyawdD.js +0 -2
@@ -0,0 +1,748 @@
1
+ import{j as e,L as Ut,r as T,b as fa,a as ma}from"./react-C_gdQiCE.js";import{s as i,t as E,b as a,q as Ie,E as ae,bc as Fe,C as Me,bd as ya,D as Le,be as ba,z as va,I as Y,A as Xe,n as wa,ab as O,H as jt,o as Ca,V as ja,l as ka,bf as $a,r as Sa,bg as Ma,J as Ta,bh as Ia,bi as kt,L as Pa,bj as Aa,bk as za,bl as Ea,ao as Ke,p as Ra,bm as $t,ad as V,bn as St,bo as Ba,h as re,R as qa,c as Mt,bp as _a,bq as Wa,br as Ne,W as Fa,bs as we,bt as Ce,bu as Tt,bv as La,g as It,f as Pt,bw as Ka}from"./index-DO2w-wQR.js";import{m as Te,M as Na,S as Qa,C as Ua,H as Ga,a as Ha,T as Oa,X as Da,b as Va,B as Ya,c as Ja,d as At,e as Xa,f as Pe,g as Za,h as es,i as ts,j as as,k as Je,l as pe,L as ss,P as ns,n as zt,o as Et,W as is,p as rs,q as os,r as cs,A as ls,s as ds,t as us,u as hs,v as ps,w as gs,x as xs,y as fs,z as ms,D as ys,E as bs,F as vs,G as ws,I as Cs,J as js,K as ks,N as $s,O as Qe,Q as Ss,R as Ms,U as Ts,V as Rt,Y as Bt,Z as Is,_ as Ps,$ as As,a0 as zs,a1 as qt,a2 as Es}from"./CollectionCarousel-0tR5Mlt1.js";import{k as Rs,l as Bs,e as qs,n as _s,f as Ws,A as Fs}from"./authorizations-ChjDHhq0.js";import{p as _t,g as Ls,h as Ue}from"./buy-Cmc6VGNE.js";import{w as Ks,S as Ge,b as Ns,G as Qs}from"./buy-gasless-SuVAuIoA.js";import{u as Us,M as Gs,R as je,r as Hs,c as Os,g as Ds,a as Vs,p as Wt,b as He}from"./useCreditPacks-DCsNOyZ8.js";import{i as Ys,a as Js}from"./errors-BOK5UzVJ.js";import{E as Xs}from"./ErrorNotice-CSHOj_36.js";import"./dcl-schemas-Z_oWg9h9.js";import"./sentry-Cxy688Uv.js";import"./ethers-Cpz0Q6xx.js";import"./intl-AKLEHPeO.js";import"./sendMetaTransaction-Bu8b5LeI.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},d=new r.Error().stack;d&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[d]="114aeeec-407a-4490-a588-1fdc1dc08445",r._sentryDebugIdIdentifier="sentry-dbid-114aeeec-407a-4490-a588-1fdc1dc08445")}catch{}})();const Zs=i.div`
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 12px;
5
+ align-items: stretch;
6
+ width: 100%;
7
+ `,Gt=`
8
+ width: 100%;
9
+ min-height: 56px;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ gap: 8px;
14
+ flex-wrap: wrap;
15
+ padding: 0 12px;
16
+ border: 0;
17
+ border-radius: 12px;
18
+ cursor: pointer;
19
+ transition:
20
+ background 0.15s ease,
21
+ filter 0.15s ease;
22
+ font-family: ${E.font.sans};
23
+ font-weight: 600;
24
+ font-size: 15px;
25
+ line-height: 24px;
26
+ letter-spacing: 0.46px;
27
+ text-transform: uppercase;
28
+ color: ${E.colors.softWhite};
29
+
30
+ &:focus-visible {
31
+ outline: 2px solid ${E.colors.accent};
32
+ outline-offset: 2px;
33
+ }
34
+ &:disabled {
35
+ opacity: 0.6;
36
+ cursor: default;
37
+ }
38
+ `,Ft=i.button`
39
+ ${Gt}
40
+ background: ${E.gradients.buyBtn};
41
+
42
+ &:hover:not(:disabled) {
43
+ filter: brightness(1.08);
44
+ }
45
+ `,Oe=i.button`
46
+ ${Gt}
47
+ background: ${E.colors.text2};
48
+
49
+ &:hover:not(:disabled) {
50
+ background: ${E.colors.gray0};
51
+ }
52
+ `,ke=i.span`
53
+ display: inline-flex;
54
+ align-items: center;
55
+ gap: 6px;
56
+ text-transform: none;
57
+ letter-spacing: 0;
58
+
59
+ span {
60
+ font-size: 20px;
61
+ font-weight: 600;
62
+ line-height: normal;
63
+ }
64
+ .ico {
65
+ width: 24px;
66
+ height: 24px;
67
+ background: ${E.colors.softWhite};
68
+ }
69
+ `,De=i.span`
70
+ position: relative;
71
+ display: block;
72
+ width: 30px;
73
+ height: 30px;
74
+ flex: none;
75
+
76
+ /* Centred in the slot, not pinned to its top: the slot is taller than the glyph and sits next to a
77
+ vertically centred amount, so a top-pinned mark reads as floating above the number. */
78
+ img {
79
+ position: absolute;
80
+ top: 50%;
81
+ left: 0;
82
+ transform: translateY(-50%);
83
+ width: 24px;
84
+ height: 24px;
85
+ display: block;
86
+ }
87
+ `,en=i.span`
88
+ font-size: 13px;
89
+ font-weight: 600;
90
+ letter-spacing: 0.02em;
91
+ opacity: 0.85;
92
+ `,tn=i.span`
93
+ font-size: 18px;
94
+ font-weight: 600;
95
+ opacity: 0.7;
96
+ `,an=i.p`
97
+ margin: -4px 0 0;
98
+ font-family: ${E.font.sans};
99
+ font-weight: 400;
100
+ font-size: 12px;
101
+ line-height: 1.4;
102
+ color: ${E.colors.muted};
103
+ text-align: center;
104
+ `;function Ht({options:r,totalCents:d,onPay:k,busy:$=!1,creditsLabel:R,shortfall:U,showCreditsAmount:H=!0,creditsFallback:A=null}){const J=r.some(n=>n.method==="credits");return e.jsxs(Zs,{children:[!J&&A?e.jsx(Ft,{type:"button","data-testid":"pay-with-credits-topup",onClick:A.onClick,disabled:$,children:e.jsx("span",{children:A.label})}):null,r.map(n=>n.method==="credits"?e.jsxs(Ft,{type:"button","data-testid":"pay-with-credits",onClick:()=>k("credits"),disabled:$,children:[e.jsx("span",{children:R??a("buyModal.buy")}),H?e.jsxs(ke,{children:[e.jsx(Ie,{}),e.jsx("span",{children:ae(n.credits)})]}):null]},"credits"):n.method==="mana"?e.jsxs(Oe,{type:"button","data-testid":"pay-with-mana",onClick:()=>k("mana"),disabled:$,children:[e.jsx("span",{children:a("buyModal.buyWithMana")}),e.jsxs(ke,{children:[e.jsx(De,{children:e.jsx("img",{src:Te,alt:"","aria-hidden":!0})}),e.jsx("span",{children:Fe(n.manaWei)})]})]},"mana"):e.jsxs(Oe,{type:"button","data-testid":"pay-with-combined",onClick:()=>k("combined"),disabled:$,children:[e.jsx("span",{children:a("buyModal.buyWith")}),e.jsxs(ke,{children:[e.jsx(Ie,{}),e.jsx("span",{children:ae(n.credits)}),e.jsx(tn,{children:"+"}),e.jsx(De,{children:e.jsx("img",{src:Te,alt:"","aria-hidden":!0})}),e.jsx("span",{children:Fe(n.manaWei)}),e.jsx(en,{children:"MANA"})]})]},"combined")),U?e.jsxs(e.Fragment,{children:[e.jsxs(Oe,{type:"button","data-testid":"pay-with-mana-disabled",disabled:!0,children:[e.jsx("span",{children:a("buyModal.buyWithMana")}),e.jsxs(ke,{children:[e.jsx(De,{children:e.jsx("img",{src:Te,alt:"","aria-hidden":!0})}),e.jsx("span",{children:Fe(U.manaWei)})]})]},"mana-short"),e.jsx(an,{"data-testid":"mana-shortfall-note",children:a("buyModal.notEnoughMana")})]}):null,e.jsx("span",{hidden:!0,"data-testid":"pay-total-cents",children:d})]})}const{colors:oe,radius:sn}=E,nn=i.div`
105
+ display: flex;
106
+ align-items: center;
107
+ justify-content: center;
108
+ gap: 8px;
109
+ width: 100%;
110
+ `,rn=i.span`
111
+ font-size: 16px;
112
+ line-height: 22px;
113
+ color: ${oe.text2};
114
+ text-transform: capitalize;
115
+ white-space: nowrap;
116
+ `,on=i.div`
117
+ display: flex;
118
+ flex-direction: column;
119
+ gap: 12px;
120
+ /* The list is the modal's elastic region: inside a viewport-capped card it gives up height first, so
121
+ the pack picker, total and Cancel/Buy below it stay on screen without scrolling. The floor is an
122
+ explicit ~one row because a scroll container's automatic minimum size is zero — it would otherwise
123
+ collapse to nothing on a short screen. */
124
+ min-height: 120px;
125
+ max-height: 360px;
126
+ overflow-y: auto;
127
+ width: 100%;
128
+ scrollbar-width: thin;
129
+ scrollbar-color: #a2a2a2 ${oe.media};
130
+
131
+ &::-webkit-scrollbar {
132
+ width: 8px;
133
+ }
134
+ &::-webkit-scrollbar-track {
135
+ background: ${oe.media};
136
+ border-radius: 10px;
137
+ }
138
+ &::-webkit-scrollbar-thumb {
139
+ background: #a2a2a2;
140
+ border-radius: ${sn.btn};
141
+ }
142
+ `,cn=i.span`
143
+ margin-left: 8px;
144
+ font-size: 13px;
145
+ font-weight: 600;
146
+ color: ${oe.muted};
147
+ `,ln=i.div`
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: space-between;
151
+ gap: 12px;
152
+ padding: 0 0 12px;
153
+ font-size: 14px;
154
+ color: ${oe.muted};
155
+
156
+ & strong {
157
+ display: inline-flex;
158
+ align-items: center;
159
+ gap: 6px;
160
+ font-size: 20px;
161
+ font-weight: 700;
162
+ color: ${oe.text};
163
+ }
164
+ `,dn=i.p`
165
+ margin: 12px 0 0;
166
+ background: rgba(255, 162, 90, 0.3);
167
+ border-radius: ${E.radius.btn};
168
+ padding: 12px 16px;
169
+ font-family: ${E.font.sans};
170
+ font-size: 14px;
171
+ line-height: 1.334;
172
+ color: ${E.colors.text2};
173
+ `;function un(r){const{phase:d,balanceCredits:k,onClose:$}=r,R=d==="processing",U=d==="error"?a("cartCheckout.errorTitle"):d==="nofunds"?a("cartCheckout.titleNoFunds"):d==="choose"?a("buyModal.choosePayment"):a("cartCheckout.titleBuy"),H=d==="processing";return e.jsxs(Na,{role:"dialog","aria-modal":"true","aria-label":a("cartCheckout.dialogAria"),children:[e.jsx(Qa,{onClick:R?void 0:$,"aria-hidden":!0}),e.jsxs(Ua,{"data-tall":H||void 0,children:[e.jsxs(Ga,{children:[e.jsxs(Ha,{children:[e.jsx(Oa,{children:U}),!R&&e.jsx(Da,{onClick:$,"aria-label":a("buyModal.close"),children:e.jsx(Va,{})})]}),e.jsxs(Ya,{children:[e.jsx(Ja,{children:d==="nofunds"?a("buyModal.dclBalance"):a("buyModal.myCreditsBalance")}),e.jsx(At,{}),e.jsx(Xa,{children:ae(k)})]}),r.heldCreditsCount&&(d==="choose"||d==="nofunds")?e.jsx(dn,{"data-testid":"cart-held-notice",children:a("buyModal.heldExplainer",{credits:r.heldCreditsCount,currency:Me.name})}):null]}),d==="choose"&&e.jsxs(Pe,{children:[e.jsxs(ln,{children:[e.jsx("span",{children:a("cart.purchaseSummary")}),e.jsxs("strong",{children:[e.jsx(At,{}),ae(r.totalCredits??0)]})]}),e.jsx(Ht,{options:r.options??[],totalCents:r.totalCents??0,shortfall:r.shortfall,onPay:r.onPay??(()=>{})})]}),d==="processing"&&e.jsx(hn,{stage:r.stage??"reserving",step:r.step??1,total:r.total??1,isSelfCustody:!!r.isSelfCustody,signatures:r.signatures}),d==="nofunds"&&e.jsx(pn,{lines:r.lines??[],shortfallCredits:r.shortfallCredits??0,packs:r.packs??[],selectedPack:r.selectedPack??"",onSelectPack:r.onSelectPack??(()=>{}),onBuyPacks:r.onBuyPacks??(()=>{}),onCancel:$}),d==="error"&&e.jsxs(Pe,{children:[e.jsxs(Za,{"data-testid":"buy-error",children:[e.jsx(es,{src:ts,alt:"",width:64,height:80}),e.jsxs(as,{children:[e.jsx("b",{children:a("cartCheckout.errorHeadline")})," ",r.heldCredits?e.jsxs(e.Fragment,{children:[r.message?e.jsxs(e.Fragment,{children:[r.message," "]}):null,a("cartCheckout.heldLead",{currency:Me.name}),e.jsx("b",{children:a("cartCheckout.heldBold")}),a("cartCheckout.heldTail",{currency:Me.name})]}):r.message??a("cartCheckout.errorBody")]})]}),r.heldCredits?e.jsx(Je,{children:e.jsx(pe,{"data-variant":"purple","data-full":!0,onClick:$,children:a("cartCheckout.gotIt")})}):e.jsxs(Je,{children:[e.jsx(pe,{"data-variant":"outline",onClick:$,children:a("buyModal.cancel")}),e.jsx(pe,{"data-variant":"purple",onClick:r.onRetry??$,children:a("cartCheckout.tryAgain")})]})]})]})]})}function hn({stage:r,step:d,total:k,isSelfCustody:$,signatures:R}){const U=r==="reserving",H=k>0?Math.min(100,Math.round(d/k*100)):0,A=$&&R&&R.total>1,J=r==="awaiting-signature"?$?A?a("cartCheckout.confirmMultiple",{current:R.current,total:R.total}):a("buyModal.confirmToContinue"):a("buyModal.completingTransaction"):r==="settling"?a("buyModal.completingTransaction"):a("cartCheckout.preparing");return e.jsxs(Pe,{"data-processing":!0,children:[e.jsx(ss,{src:ya,alt:"",width:61,height:61}),e.jsx(ns,{children:J}),U?e.jsxs(nn,{children:[e.jsx(zt,{"aria-hidden":!0,children:e.jsx(Et,{"data-step":!0,style:{width:`${H}%`}})}),k>1?e.jsxs(rn,{children:[d,"/",k]}):null]}):e.jsx(zt,{"aria-hidden":!0,children:e.jsx(Et,{})})]})}function pn({lines:r,shortfallCredits:d,packs:k,selectedPack:$,onSelectPack:R,onBuyPacks:U,onCancel:H}){const A=k.find(n=>n.id===$),J=r.reduce((n,G)=>n+(G.quantity??1),0);return e.jsxs(Pe,{children:[e.jsxs(is,{"data-testid":"nofunds-warning",children:[e.jsx(rs,{}),e.jsxs(os,{children:[e.jsx("b",{children:a("buyModal.insufficientFunds")})," ",a("buyModal.warningNeedToBuy")," ",e.jsx("b",{children:a("buyModal.warningCreditsAmount",{count:Math.max(0,d)})})," ",a("buyModal.warningToPurchase",{count:J}),Le()?null:e.jsxs(e.Fragment,{children:[e.jsx("br",{}),e.jsx(cs,{href:ba("/credits"),target:"_blank",rel:"noopener noreferrer",children:a("buyModal.warningLearnMore")})]})]})]}),e.jsx(on,{children:r.map(n=>{const G=n.quantity??1;return e.jsxs(ls,{children:[e.jsx(ds,{children:n.item.thumbnail?e.jsx("img",{src:n.item.thumbnail,alt:""}):null}),e.jsxs(us,{children:[e.jsxs("div",{children:[e.jsxs(hs,{title:n.item.name,children:[n.item.name||a("buyModal.itemFallback"),G>1?e.jsx(cn,{children:a("cartCheckout.qty",{count:G})}):null]}),n.item.creator?e.jsx(ps,{address:n.item.creator}):null]}),e.jsxs(gs,{children:[e.jsx(xs,{}),e.jsx("span",{children:ae(n.priceCredits*G)})]})]})]},n.item.id)})}),Le()?null:e.jsxs(e.Fragment,{children:[e.jsx(fs,{children:k.map(n=>{const G=n.id===$;return e.jsxs(ms,{"data-testid":"credit-pack","data-on":G||void 0,onClick:()=>R(n.id),children:[e.jsx(ys,{src:bs,alt:""}),e.jsx(vs,{children:ae(n.credits)}),e.jsxs(ws,{children:["($",n.usd.toFixed(2),")"]})]},n.id)})}),e.jsxs(Cs,{children:[e.jsxs(js,{children:[e.jsx(ks,{}),e.jsx("span",{children:ae((A==null?void 0:A.credits)??0)})]}),e.jsxs($s,{children:["$",((A==null?void 0:A.usd)??0).toFixed(2)]})]})]}),e.jsxs(Je,{children:[e.jsx(pe,{"data-variant":"outline",onClick:H,children:a("buyModal.cancel")}),Le()?null:e.jsx(pe,{"data-variant":"gradient",onClick:U,children:a("buyModal.buy")})]})]})}const{colors:l,gradients:gn,radius:ce}=E,Ot="@media (max-width: 1080px)",P="@media (max-width: 880px)",Lt=i.div`
174
+ max-width: 1510px;
175
+ margin: 0 auto;
176
+ /* Grows into the page's leftover height and passes it down to Upsell, so the white cross-sell band ends at
177
+ the footer rather than leaving a gray strip. Needs .page[data-route="/cart"] to be a flex column. */
178
+ width: 100%;
179
+ flex: 1 0 auto;
180
+ display: flex;
181
+ flex-direction: column;
182
+
183
+ ${P} {
184
+ padding-bottom: 188px; /* room for the fixed summary bar */
185
+ }
186
+ `,Kt=i.button`
187
+ display: inline-flex;
188
+ align-items: center;
189
+ gap: 6px;
190
+ margin: 0 0 16px;
191
+ padding: 0;
192
+ border: 0;
193
+ background: none;
194
+ color: ${l.text2};
195
+ font-size: 14px;
196
+ font-weight: 600;
197
+ letter-spacing: 0.02em;
198
+ text-transform: uppercase;
199
+ cursor: pointer;
200
+ transition: color 0.15s ease;
201
+
202
+ &:hover {
203
+ color: ${l.accent};
204
+ }
205
+ & .ico {
206
+ width: 18px;
207
+ height: 18px;
208
+ }
209
+
210
+ ${P} {
211
+ display: none;
212
+ }
213
+ `,xn=i.div`
214
+ display: grid;
215
+ grid-template-columns: minmax(0, 1fr) 615px;
216
+ gap: 24px;
217
+ align-items: start;
218
+
219
+ ${Ot} {
220
+ grid-template-columns: 1fr;
221
+ }
222
+ `,Nt=i.div`
223
+ position: relative;
224
+ /* The gray band is 733px in Figma (1553-317103) — taller than the panels inside it, deliberately. Without
225
+ this it collapsed to the panels' height, and the page shell's own viewport-filling min-height then padded
226
+ the page out BELOW the cross-sell, so a strip of gray showed under "You might also like" instead of the
227
+ footer. Giving the band its designed height puts the leftover space where the design wants it. */
228
+ min-height: 733px;
229
+ /* Gray below the panels so the band never hugs the last card: Figma's band runs y152–950 with the
230
+ content ending at 854. The min-height above only covers a SHORT cart — once the list outgrows it
231
+ the band tracks the content, and without this padding it would butt straight into the purple. */
232
+ padding-bottom: 96px;
233
+
234
+ &::before {
235
+ content: '';
236
+ position: absolute;
237
+ top: -28px;
238
+ bottom: 0;
239
+ left: 50%;
240
+ width: 100vw;
241
+ transform: translateX(-50%);
242
+ background: ${l.media};
243
+ z-index: 0;
244
+ }
245
+ & > * {
246
+ position: relative;
247
+ z-index: 1;
248
+ }
249
+
250
+ ${P} {
251
+ /* The single-column layout is already taller than the desktop band, and the fixed summary bar sits over
252
+ the bottom of it — a floor here would only add empty gray. */
253
+ min-height: 0;
254
+
255
+ /* The fixed summary bar already reserves room at the bottom on mobile (see Checkout). */
256
+ padding-bottom: 32px;
257
+
258
+ &::before {
259
+ top: -16px; /* .page's mobile padding */
260
+ }
261
+ }
262
+ `,fn=i.div`
263
+ min-width: 0;
264
+ display: flex;
265
+ flex-direction: column;
266
+ gap: 12px;
267
+ `,mn=i.div`
268
+ display: flex;
269
+ align-items: center;
270
+ justify-content: space-between;
271
+ gap: 12px;
272
+ background: ${l.white};
273
+ border-radius: 16px;
274
+ padding: 12px 12px 12px 24px;
275
+
276
+ ${P} {
277
+ gap: 8px;
278
+ padding: 8px 16px;
279
+ }
280
+ `,yn=i.section`
281
+ min-width: 0;
282
+ background: ${l.white};
283
+ border-radius: 16px;
284
+ padding: 24px;
285
+
286
+ ${P} {
287
+ padding: 16px;
288
+ }
289
+ `,bn=i.div`
290
+ display: flex;
291
+ flex-direction: column;
292
+ align-items: center;
293
+ `,vn=i.button`
294
+ display: none;
295
+
296
+ ${P} {
297
+ display: inline-flex;
298
+ align-items: center;
299
+ flex-shrink: 0;
300
+ border: 0;
301
+ background: none;
302
+ padding: 0;
303
+ color: ${l.text};
304
+ cursor: pointer;
305
+
306
+ & .ico {
307
+ width: 20px;
308
+ height: 20px;
309
+ }
310
+ }
311
+ `,wn=i.h1`
312
+ margin: 0;
313
+ font-size: 14px;
314
+ font-weight: 600;
315
+ line-height: 1.57;
316
+ color: ${l.text};
317
+
318
+ ${P} {
319
+ flex: 1;
320
+ min-width: 0;
321
+ font-size: 16px;
322
+ }
323
+ `,Cn=i.button`
324
+ display: inline-flex;
325
+ align-items: center;
326
+ justify-content: center;
327
+ gap: 8px;
328
+ height: 40px;
329
+ padding: 0 12px;
330
+ border: 2px solid ${l.text2};
331
+ border-radius: ${ce.btn};
332
+ background: none;
333
+ color: ${l.text2};
334
+ font-size: 13px;
335
+ font-weight: 600;
336
+ line-height: 24px;
337
+ letter-spacing: 0.46px;
338
+ text-transform: uppercase;
339
+ white-space: nowrap;
340
+ cursor: pointer;
341
+ transition:
342
+ background 0.15s ease,
343
+ filter 0.15s ease;
344
+
345
+ /* Mixed from currentColor so the wash cannot drift from the border colour. */
346
+ &:hover:not(:disabled) {
347
+ background: color-mix(in srgb, currentColor 6%, transparent);
348
+ }
349
+ &:active:not(:disabled) {
350
+ filter: brightness(0.97);
351
+ }
352
+ &:disabled {
353
+ opacity: 0.55;
354
+ cursor: default;
355
+ }
356
+
357
+ /* Mobile keeps the full 40px button and thins the outline to 1px (1182:236892) rather than shrinking
358
+ the type, which had it reading smaller than the row title beside it. */
359
+ ${P} {
360
+ border-width: 1px;
361
+ border-color: ${l.text};
362
+ color: ${l.text};
363
+ }
364
+ `,jn=i.div`
365
+ display: flex;
366
+ flex-direction: column;
367
+ gap: 24px;
368
+ `,kn=i.div`
369
+ position: relative;
370
+ display: flex;
371
+ align-items: stretch;
372
+ gap: 12px;
373
+ background: ${l.white};
374
+ border: 1px solid ${l.gray4};
375
+ border-radius: ${ce.card};
376
+ overflow: hidden;
377
+
378
+ &[data-unavailable] [data-thumb] {
379
+ opacity: 0.5;
380
+ }
381
+ &[data-unavailable] [data-check] {
382
+ display: none;
383
+ }
384
+ &[data-unavailable] [data-desc] {
385
+ opacity: 0.7;
386
+ }
387
+ `,$n=i.div`
388
+ position: relative;
389
+ flex-shrink: 0;
390
+ width: 137.5px;
391
+ height: 137px;
392
+ background: ${l.media};
393
+ border-radius: ${ce.card};
394
+ display: grid;
395
+ place-items: center;
396
+ overflow: hidden;
397
+
398
+ & img {
399
+ width: 83%;
400
+ height: 83%;
401
+ object-fit: contain;
402
+ filter: drop-shadow(0.56px 2.25px 2.8px rgba(0, 0, 0, 0.1));
403
+ }
404
+
405
+ ${P} {
406
+ width: 120px;
407
+ height: 120px;
408
+ }
409
+ `,Sn=i(Ut)`
410
+ position: absolute;
411
+ inset: 0;
412
+ display: grid;
413
+ place-items: center;
414
+ `,Mn=i.span`
415
+ position: absolute;
416
+ top: 7.5px;
417
+ left: 7.5px;
418
+ width: 20px;
419
+ height: 20px;
420
+ border-radius: 50%;
421
+ background: #34ce77;
422
+ display: grid;
423
+ place-items: center;
424
+ `,Tn=i.div`
425
+ flex: 1;
426
+ min-width: 0;
427
+ display: flex;
428
+ flex-direction: column;
429
+ justify-content: space-between;
430
+ gap: 8px;
431
+ padding: 16px 8px;
432
+
433
+ ${P} {
434
+ padding: 12px 4px 12px 0;
435
+ }
436
+ `,In=i.div`
437
+ display: flex;
438
+ flex-direction: column;
439
+ gap: 4px;
440
+ min-width: 0;
441
+ padding-right: 64px; /* clear the top-right favourite + remove group */
442
+ `,Dt=Xe`
443
+ display: block;
444
+ font-size: 16px;
445
+ font-weight: 600;
446
+ line-height: 1.2;
447
+ color: ${l.text};
448
+ text-decoration: none;
449
+ overflow: hidden;
450
+ text-overflow: ellipsis;
451
+ white-space: nowrap;
452
+
453
+ a&:hover {
454
+ color: ${l.accent};
455
+ }
456
+
457
+ ${P} {
458
+ white-space: normal;
459
+ display: -webkit-box;
460
+ -webkit-line-clamp: 2;
461
+ line-clamp: 2;
462
+ -webkit-box-orient: vertical;
463
+ }
464
+ `,Pn=i.div`
465
+ ${Dt};
466
+ `,An=i(Ut)`
467
+ ${Dt};
468
+ `,zn=i(va)`
469
+ font-size: 10px;
470
+ line-height: 1.43;
471
+ color: ${l.muted};
472
+
473
+ & [data-avatar] {
474
+ display: none;
475
+ }
476
+ & [data-testid='creator-name'] {
477
+ font-size: 10px;
478
+ line-height: 1.43;
479
+ }
480
+ `,En=i.div`
481
+ display: flex;
482
+ align-items: center;
483
+ justify-content: space-between;
484
+ gap: 12px;
485
+ padding-right: 8px;
486
+ `,Rn=i.div`
487
+ display: inline-flex;
488
+ align-items: center;
489
+ gap: 8px;
490
+ padding: 6px;
491
+ border: 0.5px solid ${l.muted2};
492
+ border-radius: ${ce.pill};
493
+ `,Qt=i.button`
494
+ display: grid;
495
+ place-items: center;
496
+ width: 16px;
497
+ height: 16px;
498
+ padding: 0;
499
+ border: 0;
500
+ background: none;
501
+ color: ${l.text};
502
+ cursor: pointer;
503
+
504
+ &:disabled {
505
+ color: ${l.muted2};
506
+ cursor: default;
507
+ }
508
+ `,Bn=i.span`
509
+ min-width: 12px;
510
+ font-size: 14px;
511
+ font-weight: 500;
512
+ line-height: 1.2;
513
+ color: ${l.text};
514
+ text-align: center;
515
+ `,qn=i.div`
516
+ display: inline-flex;
517
+ align-items: center;
518
+ gap: 4px;
519
+ /* Always right-aligned: with a stepper present space-between handles it; for secondary/unique lines
520
+ (no stepper) the auto margin keeps the lone price on the right instead of falling to the left. */
521
+ margin-left: auto;
522
+ font-size: 24px;
523
+ font-weight: 600;
524
+ color: ${l.text2};
525
+
526
+ ${P} {
527
+ font-size: 20px;
528
+ }
529
+ `,_n=i(Ie)`
530
+ width: 24px;
531
+ height: 24px;
532
+ background: ${l.text};
533
+
534
+ ${P} {
535
+ width: 20px;
536
+ height: 20px;
537
+ }
538
+ `,Wn=i.span`
539
+ margin-left: 6px;
540
+ font-size: 14px;
541
+ font-weight: 500;
542
+ color: ${l.muted};
543
+ text-decoration: line-through;
544
+ `,Fn=i.div`
545
+ position: absolute;
546
+ top: 9px;
547
+ right: 7px;
548
+ display: flex;
549
+ align-items: flex-start;
550
+ gap: 12px;
551
+ `,Ln=i.span`
552
+ display: inline-flex;
553
+ align-items: center;
554
+ gap: 4px;
555
+ font-size: 12px;
556
+ font-weight: 600;
557
+ line-height: 1;
558
+ text-transform: uppercase;
559
+ color: ${l.text2};
560
+ `,Kn=i(Y)`
561
+ color: #f48221;
562
+ `,Nn=i.span`
563
+ align-self: flex-start;
564
+ display: inline-flex;
565
+ align-items: center;
566
+ gap: 4px;
567
+ padding: 2px 4px;
568
+ border-radius: ${ce.chip};
569
+ background: #f4e9ff;
570
+ font-size: 10px;
571
+ font-weight: 400;
572
+ line-height: 14px;
573
+ color: ${l.text};
574
+ `,Qn=i(Y)`
575
+ width: 11.31px;
576
+ height: 10.94px;
577
+ background: ${l.text};
578
+ `,Vt=Xe`
579
+ display: grid;
580
+ place-items: center;
581
+ width: 24px;
582
+ height: 24px;
583
+ padding: 0;
584
+ border: 0;
585
+ background: none;
586
+ color: ${l.muted};
587
+ cursor: pointer;
588
+ transition: color 0.12s ease;
589
+
590
+ &:disabled {
591
+ opacity: 0.5;
592
+ cursor: default;
593
+ }
594
+ `,Un=i.button`
595
+ ${Vt};
596
+
597
+ &:hover:not(:disabled) {
598
+ color: ${l.text};
599
+ }
600
+ &[data-on] {
601
+ color: ${l.dclRed};
602
+ }
603
+ `,Gn=i.button`
604
+ ${Vt};
605
+
606
+ &:hover:not(:disabled) {
607
+ color: ${l.dclRed};
608
+ }
609
+ `,Hn=i.div`
610
+ display: flex;
611
+ gap: 20px;
612
+ margin-top: 16px;
613
+
614
+ & .link {
615
+ font-size: 13px;
616
+ color: ${l.muted};
617
+ font-weight: 600;
618
+ }
619
+ & .link:hover:not(:disabled) {
620
+ color: ${l.text};
621
+ }
622
+ `,On=i.aside`
623
+ position: sticky;
624
+ top: 172px;
625
+ display: flex;
626
+ flex-direction: column;
627
+ background: ${l.white};
628
+ box-shadow: 0 1px 3px rgba(22, 21, 24, 0.06);
629
+ border-radius: 16px;
630
+ padding: 16px;
631
+
632
+ ${Ot} {
633
+ position: static;
634
+ }
635
+ ${P} {
636
+ position: fixed;
637
+ left: 0;
638
+ right: 0;
639
+ top: auto;
640
+ bottom: 0;
641
+ z-index: 30;
642
+ border: 0;
643
+ /* Square and hard-edged against the page (1182:236910): it is a bar docked to the bottom, not a sheet
644
+ lifted off it. */
645
+ border-radius: 0;
646
+ box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.25);
647
+ }
648
+ `,Dn=i.h2`
649
+ margin: 0 0 24px;
650
+ padding-bottom: 16px;
651
+ border-bottom: 1px solid ${l.gray4};
652
+ font-size: 24px;
653
+ font-weight: 600;
654
+ color: ${l.text};
655
+
656
+ ${P} {
657
+ margin-bottom: 12px;
658
+ padding-bottom: 8px;
659
+ font-size: 16px;
660
+ line-height: 1.6;
661
+ }
662
+ `,Vn=i.div`
663
+ display: flex;
664
+ flex-direction: column;
665
+ gap: 12px;
666
+ `,Yn=i.div`
667
+ display: flex;
668
+ align-items: flex-start;
669
+ justify-content: space-between;
670
+ gap: 12px;
671
+ `,Jn=i.span`
672
+ font-size: 14px;
673
+ font-weight: 600;
674
+ line-height: 1.57;
675
+ color: ${l.muted1};
676
+ `,Xn=i.span`
677
+ display: inline-flex;
678
+ align-items: center;
679
+ gap: 8px;
680
+ font-size: 24px;
681
+ font-weight: 700;
682
+ color: ${l.text};
683
+ `,Zn=i.span`
684
+ display: flex;
685
+ flex-direction: column;
686
+ align-items: flex-end;
687
+ justify-content: center;
688
+ gap: 4px;
689
+ `;i.span`
690
+ font-size: 12px;
691
+ font-weight: 400;
692
+ line-height: 1;
693
+ color: ${l.muted};
694
+ `;const ei=i(Ie)`
695
+ width: 30px;
696
+ height: 30px;
697
+ background: ${l.text};
698
+ -webkit-mask-size: 24px 24px;
699
+ mask-size: 24px 24px;
700
+ -webkit-mask-position: left center;
701
+ mask-position: left center;
702
+ `;i.button`
703
+ width: 100%;
704
+ height: 56px;
705
+ border: 0;
706
+ border-radius: ${ce.btn};
707
+ background: ${gn.buyBtn};
708
+ color: ${l.softWhite};
709
+ font-size: 15px;
710
+ font-weight: 600;
711
+ letter-spacing: 0.046em;
712
+ text-transform: uppercase;
713
+ cursor: pointer;
714
+ transition: background-image 0.15s ease;
715
+
716
+ /* Primary hover/pressed is the solid Primary red (Figma 738:53252 / 738:53262) — the gradient is
717
+ the RESTING fill only. Painted as a flat GRADIENT, not a background-color: the shorthand can't
718
+ interpolate background-image, so gradient -> colour dropped the image midway while the colour was
719
+ still half transparent and the button visibly blinked. Same property both ends = a clean swap. */
720
+ &:hover:not(:disabled),
721
+ &:active:not(:disabled) {
722
+ background-image: linear-gradient(${l.dclRed}, ${l.dclRed});
723
+ }
724
+ &:disabled {
725
+ opacity: 0.6;
726
+ cursor: default;
727
+ }
728
+ `;const Yt=Xe`
729
+ margin: 0;
730
+ font-size: 13px;
731
+ `,$e=i.p`
732
+ ${Yt};
733
+ `,ti=i(Xs)`
734
+ ${Yt};
735
+ `,ai=i.div`
736
+ position: relative;
737
+ flex: 1 0 auto;
738
+ margin-top: 48px;
739
+ /* Below the gray band the cross-sell sits straight on the purple field (Figma) — hence no band of its
740
+ own. The padding is the whole gap from the top of the section to the heading; the shared carousel's
741
+ own top margin is zeroed below so the two don't stack. */
742
+ padding: 47px 0 24px;
743
+
744
+ & section {
745
+ margin-top: 0;
746
+ }
747
+ `;function Ve(r){if(Ys(r))return a("errors.rejected");const d=(r.message??"").toLowerCase();return d.includes("insufficient")?a("cart.error.insufficient",{currency:Me.name}):d.includes("no active listing")||d.includes("your own listing")?a("cart.error.listingChanged"):a("marketCheckout.error.generic")}const si=12e4;function ni(r){const d=[];return r.unavailable.length&&d.push(a("cart.drop.unavailable",{count:r.unavailable.length})),r.own.length&&d.push(a("cart.drop.own",{count:r.own.length})),a("cart.drop.removed",{items:d.join(` ${a("cart.drop.and")} `)})}const Ye=r=>r.reduce((d,k)=>d+k.priceCredits*k.quantity,0),Se=r=>r.flatMap(d=>Array.from({length:d.quantity},()=>({...d,quantity:1})));function bi(){var Ct;wa({title:a("nav.cart"),noindex:!0});const r=O(t=>t.items),d=O(t=>t.remove),k=O(t=>t.increment),$=O(t=>t.decrement),R=O(t=>t.clear),U=O(t=>t.restore),H=O(t=>t.setFittingOpen),A=jt(t=>t.items),J=jt(t=>t.toggle),{session:n,signIn:G}=Ca(),Jt=ja(),ge=Us().packs.slice(0,Gs);T.useEffect(()=>(document.body.classList.add("shop-cart-bg"),()=>document.body.classList.remove("shop-cart-bg")),[]);const Xt=r.some(t=>t.category!=="emote"),{data:Ae}=ka({queryKey:["upsell-listings"],queryFn:()=>Ka({first:40}),staleTime:6e4}),{data:j}=$a(n),b=Sa(),X=fa(),{state:B}=ma(),[Zt,le]=T.useState(null),[Ze,xe]=T.useState(null),[ea,q]=T.useState(!1),[_,D]=T.useState(null),et=T.useRef(0),[h,S]=T.useState(null),{data:fe}=Ma(n),{data:de}=Ta(!0),[ze,tt]=T.useState(""),ue=T.useRef(null),at=Ia(r),st=t=>$t(at[t.id]),Ee=r.filter(st),nt=r.length>0&&Ee.length===0,ta=Ee.reduce((t,s)=>t+s.priceCredits*s.quantity,0),aa=r.reduce((t,s)=>t+s.quantity,0),sa=Ee.reduce((t,s)=>t+s.quantity,0),it=_?_.liveTotalCredits:ta,na=new Set(r.map(t=>t.id)),rt=((Ae==null?void 0:Ae.items)??[]).filter(t=>!na.has(t.id)).slice(0,12),ia=new Map(_==null?void 0:_.buyable.map(t=>[t.item.id,t])),me=(j==null?void 0:j.credits)??0,Re=it*10,ra=de?kt(Re,de):0n,Be=Qe({priceCents:Re,priceManaWei:ra,balanceCents:(j==null?void 0:j.balanceCents)??0,manaBalanceWei:fe??0n}),oa=t=>t.flatMap(s=>{const c=He(s);return c.kind==="store"?[c.mint]:[]}),ca=t=>t.flatMap(s=>s.acquisition==="trade"?[s.trade]:[]),la=Ba,da=t=>_a(t.contractAddress,String(t.itemId));function ye(t){t(),D(null),xe(null),le(null)}function ua(){S(null),q(!1)}function ot(t){const s=Ye(t),c=Math.max(0,s-me),o=ge.find(u=>u.credits>=c)??ge[ge.length-1];tt(o.id),V("Shop Buy Credits Prompted",{from:"cart_checkout",credits_needed:s,credits_balance:me,shortfall:c}),S({phase:"nofunds",lines:t.map(u=>({item:u.item,priceCredits:u.priceCredits,quantity:u.quantity})),shortfall:c}),q(!1)}async function qe(t){if(!n||t.length===0)return;const s=Se(t),c=s.map(m=>({...m.item,priceCredits:m.priceCredits})),o=t.map(m=>({...m.item,priceCredits:m.priceCredits,quantity:m.quantity})),u=[];let v="authorize";const g=new Set,M=new Set,L=new Set,W=[];let w=!1;S({phase:"processing",stage:"reserving",step:1,total:s.length});try{const m=[],z=Ds(s,_t);let K=0;for(const p of z){S({phase:"processing",stage:"reserving",step:K+1,total:s.length});try{const{credit:f,maxCreditedValue:y}=await Wa(n.identity,p.units.map(Vs));p.units.forEach((Q,ie)=>{u.push({salt:f.id,itemId:Q.item.id}),m.push({...p.drafts[ie],credits:[f],maxCreditedValue:y})}),K+=p.units.length}catch(f){if(Js(f)){if(u.length){try{await Ne(n.identity,[...new Set(u.map(y=>y.salt))])}catch(y){re(y,{flow:"cart_checkout",step:"release"})}b.invalidateQueries({queryKey:["usd-balance"]})}ot(t);return}throw f}}u.length&&b.invalidateQueries({queryKey:["usd-balance"]}),v="submit";const N=Ls(m).length,te=p=>N>1?{current:p,total:N}:void 0,F=(p,f)=>S({phase:"processing",stage:p,step:s.length,total:s.length,signatures:te(f)}),C=p=>p<N?F("awaiting-signature",p+1):F("settling",N);F("awaiting-signature",1);let x=[];const I=new Map,se=async p=>{const f=await Promise.allSettled(p.map(y=>Ks(y)));return f.forEach((y,Q)=>{const ie=I.get(p[Q])??[];y.status==="fulfilled"?(ie.forEach(We=>M.add(We)),W.push(p[Q])):y.reason instanceof Ge||ie.forEach(We=>L.add(We))}),f.flatMap(y=>y.status==="rejected"?[y.reason]:[])};if(Rs())try{let p=0;x=await Ns({purchases:m,buyer:n.address,signer:n.signer,identity:n.identity,onSigned:()=>F("settling",Math.min(p+1,N)),onBroadcast:({txHash:y,salts:Q})=>{p+=1,I.set(y,Q),Q.forEach(ie=>g.add(ie))},onGroupSettling:({settled:y})=>F("settling",y)});const f=await se(x);if(f.length&&!f.some(y=>y instanceof Ge))throw f[0];w=!0}catch(p){if(p instanceof Ge)throw await se([...I.keys()]),p;if(!(p instanceof Qs)||!Fa(n.providerType))throw p;x=await Ue({purchases:m,buyer:n.address,signer:n.signer,onSigned:C,onBroadcast:({salts:f})=>f.forEach(y=>g.add(y)),onSettled:({txHash:f,salts:y})=>{y.forEach(Q=>M.add(Q)),W.push(f)},onReverted:({salts:f})=>f.forEach(y=>L.add(y))})}else x=await Ue({purchases:m,buyer:n.address,signer:n.signer,onSigned:C,onBroadcast:({salts:p})=>p.forEach(f=>g.add(f)),onSettled:({txHash:p,salts:f})=>{f.forEach(y=>M.add(y)),W.push(p)},onReverted:({salts:p})=>p.forEach(f=>L.add(f))});t.forEach(p=>d(p.item.id)),D(null),V("Shop Completed Purchase",{...we(c),payment_type:"credits",no_crypto_step:w,transaction_hash:x[0]??null}),Bt(b);const ve=ue.current;ue.current=null,S(null),q(!1);const ne={items:o,txHash:x[0]??void 0,txHashes:x,settled:!0,...ve?{creditsAdded:ve}:{}};X("/success",{state:ne,replace:!0})}catch(m){Ce(m)||re(m,{flow:"cart_checkout",step:v,cart_size:t.length});const z=new Set([...g].filter(x=>!L.has(x))),{toRelease:K,boughtItemIds:N}=Wt({reservations:u,spent:z,settled:M}),te=[...z].some(x=>!M.has(x)),F=c.filter(x=>N.includes(x.id)),C=c.filter(x=>!N.includes(x.id));if(V(Ce(m)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:v,error_code:Tt(m),value_usd:St(C.reduce((x,I)=>x+I.priceCredits,0)),cart_size:s.length,partial:F.length>0}),K.length)try{await Ne(n.identity,K)}catch(x){re(x,{flow:"cart_checkout",step:"release"})}if(b.invalidateQueries({queryKey:["usd-balance"]}),F.length>0){N.forEach(x=>d(x)),D(null),Bt(b),V("Shop Completed Purchase",{...we(F),payment_type:"credits",no_crypto_step:w,transaction_hash:W[0]??null,partial:!0}),S({phase:"error",message:a("cart.error.partiallyBought"),heldCredits:te}),q(!1);return}S({phase:"error",message:te?void 0:Ve(m),heldCredits:te})}}function ct(t,s){b.invalidateQueries({queryKey:["usd-balance"]}),b.invalidateQueries({queryKey:["detail-trade"]}),b.invalidateQueries({queryKey:["shop-item"]}),b.invalidateQueries({queryKey:["owned-token"]}),b.invalidateQueries({queryKey:["public-token"]}),b.invalidateQueries({queryKey:["item-resales"]}),b.invalidateQueries({queryKey:["shop-items"]}),b.invalidateQueries({queryKey:["catalog-items"]}),b.invalidateQueries({queryKey:["my-assets"]}),b.invalidateQueries({queryKey:["purchases"]}),b.invalidateQueries({queryKey:["owned-item-count"]}),b.invalidateQueries({queryKey:["overview-listings"]}),b.invalidateQueries({queryKey:["upsell-listings"]});const c=ue.current;ue.current=null,S(null),q(!1);const o={items:t,txHash:s[0]??void 0,txHashes:s,settled:!0,...c?{creditsAdded:c}:{}};X("/success",{state:o,replace:!0})}function lt(t,s){Ce(t)||re(t,{flow:s,step:"submit"}),V(Ce(t)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Tt(t)}),S({phase:"error",message:Ve(t)}),q(!1)}async function ha(t,s,c){const o=It(Pt.MANAToken,s),u=It(Pt.CreditsManager,s);await Ws({auth:{kind:Fs.Allowance,contractAddress:o.address,spenderAddress:u.address,chainId:s},signer:t,requiredWei:c})}async function dt(){if(de)return de;try{return await b.fetchQuery({queryKey:["mana-rate",Mt.chainId],queryFn:()=>qa(Mt.chainId),staleTime:6e4})}catch{return}}async function pa(t){const s=Se(t).reduce((v,g)=>v+g.usdCents,0),o=(fe??0n)>0n?await dt():de,u=o?kt(s,o):0n;return{totalCents:s,manaWei:u}}async function ut(t,s){const c=Ye(t),{totalCents:o,manaWei:u}=await pa(t),v=Qe({priceCents:o,priceManaWei:u,balanceCents:(j==null?void 0:j.balanceCents)??0,manaBalanceWei:fe??0n});if(s&&v.options.some(g=>g.method===s)){if(s==="credits"){qe(t);return}const g=xt(v,s);await pt(ht(s,t),g,()=>s==="mana"?void ft(t,g):void mt(t,o,u));return}if(v.options.some(g=>g.method==="mana"||g.method==="combined")){S({phase:"choose",lines:t,totalCents:o,manaWei:u}),q(!1);return}if(j!=null&&j.credits<c){ot(t);return}qe(t)}function _e(t){return Qe({priceCents:t.totalCents,priceManaWei:t.manaWei,balanceCents:(j==null?void 0:j.balanceCents)??0,manaBalanceWei:fe??0n})}const[he,be]=T.useState(null);function ht(t,s){const c=new Map;for(const o of s){const u=Is(t,He(o));c.set(`${u.chainId}:${u.spender.toLowerCase()}`,u)}return[...c.values()]}async function pt(t,s,c){const o=[];for(const{spender:u,chainId:v}of t){const g=Bs(v,u),M=n?await qs(g,n.address,s).catch(()=>!0):!0;_s(n==null?void 0:n.providerType,M)&&o.push(g)}if(o.length===0){c();return}q(!1),gt(o,0,c)}function gt(t,s,c){be({auth:t[s],index:s+1,total:t.length,run:()=>s+1<t.length?gt(t,s+1,c):c()})}function xt(t,s){var c;return((c=t.options.find(o=>o.method===s))==null?void 0:c.manaWei)??0n}function ga(t){if((h==null?void 0:h.phase)!=="choose")return;const{lines:s,totalCents:c,manaWei:o}=h;if(t==="credits"){qe(s);return}const u=xt(_e(h),t);pt(ht(t,s),u,()=>t==="mana"?void ft(s,u):void mt(s,c,o))}async function ft(t,s){if(!n||t.length===0)return;const c=Se(t),o=c.map(g=>({...g.item,priceCredits:g.priceCredits})),u=t.map(g=>({...g.item,priceCredits:g.priceCredits,quantity:g.quantity})),v=()=>S({phase:"processing",stage:"settling",step:c.length,total:c.length});S({phase:"processing",stage:"awaiting-signature",step:c.length,total:c.length});try{const g=await Ps({trades:ca(c),mints:oa(c),buyer:n.address,signer:n.signer,onSigned:v,manaWei:s});t.forEach(M=>d(M.item.id)),D(null),V("Shop Completed Purchase",{...we(o),payment_type:"mana",transaction_hash:g[0]??null}),b.invalidateQueries({queryKey:["mana-balance"]}),ct(u,g)}catch(g){lt(g,"buy_cart_mana")}}async function mt(t,s,c){if(!n||t.length===0)return;const o=Se(t),u=o.map(w=>({...w.item,priceCredits:w.priceCredits})),v=t.map(w=>({...w.item,priceCredits:w.priceCredits,quantity:w.quantity})),g=As(o.map(w=>w.usdCents),(j==null?void 0:j.balanceCents)??0),M=[],L=new Set,W=new Set;S({phase:"processing",stage:"reserving",step:1,total:o.length});try{const w=o.map(He),m=[],z=new Map,K=new Map;for(let C=0;C<o.length;C++){const x=o[C],I=w[C],se=g[C],ve=zs(Math.max(0,x.usdCents-se),s,c);let ne;if(se<=0)ne=qt(I,[],"0");else{S({phase:"processing",stage:"reserving",step:C+1,total:o.length});const f=x.item,{credit:y,maxCreditedValue:Q}=await La(n.identity,se,I.kind==="trade"?I.trade.id:void 0,f.contractAddress&&f.itemId!=null?{contractAddress:f.contractAddress,itemId:String(f.itemId)}:void 0);M.push({salt:y.id,itemId:f.id}),ne=qt(I,[y],Q)}const p=_t(ne);z.set(p,(z.get(p)??0n)+ve),K.has(p)||K.set(p,m.length),m.push(ne)}M.length&&b.invalidateQueries({queryKey:["usd-balance"]});for(const[C,x]of z){const I=K.get(C);I==null||x<=0n||(m[I]={...m[I],maxCreditedValue:(BigInt(m[I].maxCreditedValue)+x).toString()})}const N=[...z.values()].reduce((C,x)=>C+x,0n);await ha(n.signer,Es(w[0]),N);const te=()=>S({phase:"processing",stage:"settling",step:o.length,total:o.length});S({phase:"processing",stage:"awaiting-signature",step:o.length,total:o.length});const F=await Ue({purchases:m,buyer:n.address,signer:n.signer,onSigned:te,onBroadcast:({salts:C})=>C.forEach(x=>L.add(x)),onReverted:({salts:C})=>C.forEach(x=>W.add(x))});t.forEach(C=>d(C.item.id)),D(null),V("Shop Completed Purchase",{...we(u),payment_type:"credits_and_mana",transaction_hash:F[0]??null}),b.invalidateQueries({queryKey:["mana-balance"]}),ct(v,F)}catch(w){const{toRelease:m}=Wt({reservations:M,spent:new Set([...L].filter(z=>!W.has(z))),settled:new Set});m.length&&Ne(n.identity,m).catch(()=>{}),M.length&&b.invalidateQueries({queryKey:["usd-balance"]}),lt(w,"buy_cart_combined")}}async function Z(t){if(!n){Rt({type:"cart-checkout"}),G();return}const s=O.getState().items.filter(st);if(s.length===0)return;le(null),xe(null),q(!0);const c=s.reduce((o,u)=>o+u.priceCredits*u.quantity,0);V("Shop Started Checkout",{checkout_source:"cart",cart_size:s.length,cart_value_credits:c,cart_value_usd:St(c),has_sufficient_credits:me>=c});try{const o=await Hs(s,n.address,la,await dt(),da),u=[...o.unavailable,...o.own];if(u.length&&(u.forEach(v=>d(v.id)),xe(ni(o))),o.buyable.length===0){le(a("cart.error.noneAvailable")),D(null);return}if(o.orderChanged){D(o),et.current=Date.now();return}await ut(o.buyable,t)}catch(o){re(o,{flow:"cart_checkout",step:"review",cart_size:s.length}),le(Ve(o))}finally{q(!1)}}async function yt(){if(_){if(!n){Rt({type:"cart-checkout"}),G();return}if(Date.now()-et.current>si){D(null),xe(null),await Z();return}le(null),ut(_.buyable)}}async function xa(){if(ze){try{sessionStorage.setItem(je,JSON.stringify(O.getState().items))}catch{}q(!0);try{const t=await Os(ze,n?{address:n.address,identity:n.identity}:void 0);if(t.url){window.location.href=t.url;return}X("/credits")}catch(t){try{sessionStorage.removeItem(je)}catch{}re(t,{flow:"cart_buy_credits"}),S({phase:"error",message:a("buyModal.error.creditsCheckout")})}finally{q(!1)}}}const bt=T.useRef(!1);T.useEffect(()=>{if(!n||bt.current||!Ss("cart-checkout"))return;bt.current=!0;const t=setTimeout(()=>void Z(),0);return()=>clearTimeout(t)},[n]);const vt=T.useRef(!1);T.useEffect(()=>{if(!(B!=null&&B.resumeCheckout)||vt.current)return;vt.current=!0,ue.current=B.creditsAdded??null;try{const s=sessionStorage.getItem(je);if(s){sessionStorage.removeItem(je);const c=JSON.parse(s);Array.isArray(c)&&c.length&&U(c)}}catch{}b.invalidateQueries({queryKey:["usd-balance"]});const t=setTimeout(()=>void Z(),0);return()=>clearTimeout(t)},[B==null?void 0:B.resumeCheckout]);const wt=T.useRef(!1);T.useEffect(()=>{if(!(B!=null&&B.startCheckout)||wt.current)return;wt.current=!0,X(".",{replace:!0,state:null});const t=setTimeout(()=>void Z(),0);return()=>clearTimeout(t)},[B==null?void 0:B.startCheckout]);const ee=ea||(h==null?void 0:h.phase)==="processing";return r.length===0&&!h?e.jsx(Lt,{children:e.jsxs(Nt,{children:[e.jsxs(Kt,{onClick:()=>X(-1),type:"button",children:[e.jsx(Y,{name:"arrow-left"}),a("nav.cart")]}),e.jsx(bn,{children:e.jsx(Pa,{variant:"light",testId:"cart-empty",icon:Aa,title:a("cart.empty.title"),body:a("cart.empty.body"),cta:{label:a("cart.empty.cta"),to:"/items"}})})]})}):e.jsxs(Lt,{children:[e.jsxs(Nt,{children:[e.jsxs(Kt,{onClick:()=>X(-1),type:"button",children:[e.jsx(Y,{name:"arrow-left"}),a("nav.cart")]}),e.jsxs(xn,{children:[e.jsxs(fn,{children:[e.jsxs(mn,{children:[e.jsx(vn,{onClick:()=>X(-1),type:"button","aria-label":a("cart.goBack"),children:e.jsx(Y,{name:"arrow-left"})}),e.jsx(wn,{children:a("cart.panelTitle",{count:aa})}),Xt?e.jsxs(Cn,{onClick:()=>H(!0),disabled:ee,children:[e.jsx(Y,{name:"fitting-room"}),a("cart.fittingRoom")]}):null]}),e.jsxs(yn,{children:[e.jsx(jn,{children:r.map(t=>{const s=ia.get(t.id),c=s?s.priceCredits:t.priceCredits,o=!!s&&s.priceCredits!==t.priceCredits,u=!t.tokenId,v=t.quantity,g=typeof t.available=="number"&&v>=t.available,M=c*v,L=za(t),W=!!L&&!!A[L],w=Ea(t),m=at[t.id],z=!$t(m),K=m==="sold-out"?a("cart.availability.soldOut"):a("cart.availability.unavailable");return e.jsxs(kn,{"data-unavailable":z||void 0,children:[e.jsxs($n,{"data-thumb":!0,children:[w?e.jsx(Sn,{to:w,state:{item:t,tradeId:t.tradeId},"aria-label":t.name,children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:t.name}):null}):t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:t.name}):null,e.jsx(Mn,{"data-check":!0,"aria-hidden":!0,children:e.jsx("svg",{viewBox:"0 0 20 20",width:"12",height:"12",children:e.jsx("path",{d:"M5 10.5l3 3 7-7.5",fill:"none",stroke:"#fff",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),e.jsxs(Tn,{children:[e.jsxs(In,{"data-desc":!0,children:[w?e.jsx(An,{to:w,state:{item:t,tradeId:t.tradeId},title:t.name,children:t.name}):e.jsx(Pn,{title:t.name,children:t.name}),t.creator?e.jsx(zn,{address:t.creator,linkToProfile:!0}):null,Jt&&u?e.jsxs(Nn,{"data-testid":"cart-creator-tag",children:[e.jsx(Qn,{name:"buy-from-creator"}),a("cart.creatorTag")]}):null]}),e.jsx(En,{children:z?e.jsxs(Ln,{children:[e.jsx(Kn,{name:"warning-fill",size:24}),K]}):e.jsxs(e.Fragment,{children:[u?e.jsxs(Rn,{children:[e.jsx(Qt,{onClick:()=>ye(()=>$(t.id)),disabled:ee||v<=1,"aria-label":a("cart.decreaseQuantity",{name:t.name}),children:e.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,focusable:"false",children:e.jsx("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}),e.jsx(Bn,{children:v}),e.jsx(Qt,{onClick:()=>ye(()=>k(t.id)),disabled:ee||g,"aria-label":a("cart.increaseQuantity"),children:e.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,focusable:"false",children:e.jsx("path",{d:"M8 3.5v9M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}):null,e.jsxs(qn,{children:[e.jsx(_n,{})," ",e.jsx(Ke,{credits:M}),o?e.jsx(Wn,{children:e.jsx(Ke,{credits:t.priceCredits*v})}):null]})]})})]}),e.jsxs(Fn,{children:[L?e.jsx(Un,{"data-on":W||void 0,onClick:()=>J(t),"aria-label":W?a("cart.removeFromFavorites",{name:t.name}):a("cart.addToFavorites",{name:t.name}),title:W?a("assetCard.removeFromFavorites"):a("assetCard.addToFavorites"),children:e.jsx(Y,{name:W?"heart-solid":"heart"})}):null,e.jsx(Gn,{onClick:()=>ye(()=>d(t.id)),disabled:ee,"aria-label":a("cart.remove",{name:t.name}),title:a("cart.removeTitle"),children:e.jsx(Y,{name:"trash",size:24})})]})]},t.id)})}),e.jsx(Hn,{children:e.jsx("button",{className:"link",onClick:()=>ye(R),disabled:ee,children:a("cart.clearCart")})})]})]}),e.jsxs(On,{children:[e.jsx(Dn,{children:a("cart.purchaseSummary")}),e.jsxs(Vn,{children:[e.jsxs(Yn,{children:[e.jsx(Jn,{children:a("cart.totalItems",{count:sa})}),e.jsx(Zn,{children:e.jsxs(Xn,{children:[e.jsx(ei,{})," ",e.jsx(Ke,{credits:it})]})})]}),e.jsx(Ht,{options:Be.options,totalCents:Re,shortfall:Be.manaShortfall,showCreditsAmount:!1,creditsLabel:_?a("marketCheckout.confirmPurchase"):Be.options.length>1?a("cart.buyWithCredits"):a("cart.checkout"),busy:ee||nt,onPay:t=>void(_?yt():Z(t)),creditsFallback:{label:ee?a("cart.working"):_?a("marketCheckout.confirmPurchase"):a("cart.checkout"),onClick:()=>void(_?yt():Z())}}),nt?e.jsx($e,{className:"muted",children:a("cart.allUnavailable")}):null,n?null:e.jsx($e,{className:"muted",children:a("cart.signInHint")}),_?e.jsx($e,{className:"muted",children:a("cart.priceChanged")}):null,Ze?e.jsx($e,{className:"muted",children:Ze}):null,e.jsx(ti,{message:Zt})]})]})]})]}),rt.length>0?e.jsx(ai,{children:e.jsx(Ms,{title:a("cart.youMightAlsoLike"),items:rt})}):null,he&&n?e.jsx(Ts,{auth:he.auth,signer:n.signer,step:{index:he.index,total:he.total},title:a("authorizeStep.manaTitle"),name:a("authorizeStep.manaName"),reason:a("authorizeStep.manaReason"),icon:e.jsx("img",{src:Te,width:24,height:24,alt:"","aria-hidden":!0}),onAuthorized:()=>{const{run:t}=he;be(null),t()},onCancel:()=>be(null),onClose:()=>be(null)}):null,h?e.jsx(un,{phase:h.phase,balanceCredits:me,heldCreditsCount:((Ct=j==null?void 0:j.held)==null?void 0:Ct.credits)??null,onClose:ua,stage:h.phase==="processing"?h.stage:void 0,step:h.phase==="processing"?h.step:void 0,total:h.phase==="processing"?h.total:void 0,isSelfCustody:Ra(n==null?void 0:n.providerType),signatures:h.phase==="processing"?h.signatures:void 0,options:h.phase==="choose"?_e(h).options:void 0,shortfall:h.phase==="choose"?_e(h).manaShortfall:void 0,onPay:ga,totalCents:h.phase==="choose"?h.totalCents:void 0,totalManaWei:h.phase==="choose"?h.manaWei:void 0,totalCredits:h.phase==="choose"?Ye(h.lines):void 0,lines:h.phase==="nofunds"?h.lines:void 0,shortfallCredits:h.phase==="nofunds"?h.shortfall:void 0,packs:ge,selectedPack:ze,onSelectPack:tt,onBuyPacks:()=>void xa(),message:h.phase==="error"?h.message:void 0,heldCredits:h.phase==="error"&&!!h.heldCredits,onRetry:()=>void Z()}):null]})}export{bi as Cart};
748
+ //# sourceMappingURL=Cart-DT8eTjju.js.map