@dcl/shop 1.17.2-36543879460.commit-7274e5f → 1.17.2-36549246772.commit-a0ab986

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 (246) hide show
  1. package/_assets/{Activity-CmjRvt72.js → Activity-CjEK61TA.js} +4 -4
  2. package/_assets/{AnimatedBackground-CR0iNxdm.js → AnimatedBackground-hJLPzt7T.js} +2 -2
  3. package/_assets/{Assets-CvsgAM3Y.js → Assets-wtTzSg4X.js} +3 -3
  4. package/_assets/{Cart-CBoiNVDV.js → Cart-BYdl4HqS.js} +2 -2
  5. package/_assets/{Collection-CdlOPQWI.js → Collection-BTNBRPjD.js} +2 -2
  6. package/_assets/{CollectionCarousel-DFsFQS9I.js → CollectionCarousel-CCG0ES4r.js} +5 -5
  7. package/_assets/{Confetti-Lg8VNdtW.js → Confetti-DM4YiNme.js} +4 -4
  8. package/_assets/{ConstantsUtil-B4_VYxQV.js → ConstantsUtil-DeECcx1C.js} +2 -2
  9. package/_assets/{ContentClient-59NEqXOY.js → ContentClient-BEWMqkWx.js} +2 -2
  10. package/_assets/{Creator-CHXM6HYQ.js → Creator-CzVQ2FkK.js} +2 -2
  11. package/_assets/{CreditPackPicker-qyJshVYl.js → CreditPackPicker-CyeEFkBf.js} +2 -2
  12. package/_assets/{CreditRate-Cg-O8jv-.js → CreditRate-B4egIJe2.js} +2 -2
  13. package/_assets/{DeploymentBuilder-BMDaSJuK.js → DeploymentBuilder-B9B8Mrm4.js} +2 -2
  14. package/_assets/{EmotePlaybackBar-gxnuFy7n.js → EmotePlaybackBar-C0V8dTyR.js} +3 -3
  15. package/_assets/{ErrorNotice-DVRBkjsp.js → ErrorNotice-DRNDA4ab.js} +2 -2
  16. package/_assets/{Event-DJBV4ESF.js → Event-CCT42Q7f.js} +2 -2
  17. package/_assets/{ExchangeController-CJ4V4Oon.js → ExchangeController-DadhhPAb.js} +2 -2
  18. package/_assets/{Faq-CLoV07bq.js → Faq-DdmyplkV.js} +2 -2
  19. package/_assets/{Filters-BeEzMffI.js → Filters-BUcaObq2.js} +2 -2
  20. package/_assets/{GetCredits-D2lFJbQ3.js → GetCredits-DPJChlrx.js} +2 -2
  21. package/_assets/{Grow-i-9u3HfO.js → Grow-WBBjF0qI.js} +2 -2
  22. package/_assets/{HelpersUtil-DUj3mZuS.js → HelpersUtil-B8Moy1XW.js} +2 -2
  23. package/_assets/{IssueModal-dwZQAHzn.js → IssueModal-BAujGRJp.js} +2 -2
  24. package/_assets/ItemDetail-ChBtCy2t.js +3530 -0
  25. package/_assets/{LoadMore-CYLYvbGP.js → LoadMore-B43opiD2.js} +2 -2
  26. package/_assets/{ManaPricingBanner-Bt_WU6KS.js → ManaPricingBanner-BHLrmm-8.js} +5 -5
  27. package/_assets/{ManaPricingBanner.styles-D2msoQz_.js → ManaPricingBanner.styles-DInNgFwu.js} +2 -2
  28. package/_assets/{MyAssets-W7un4SC3.js → MyAssets-Bd6EF6v3.js} +4 -4
  29. package/_assets/{MyFavorites-B4LTmnU6.js → MyFavorites-BCGc6ELO.js} +2 -2
  30. package/_assets/{MyStore-DxWmC72a.js → MyStore-Dxjog0Sw.js} +2 -2
  31. package/_assets/{NetworkUtil-CWc7MMYZ.js → NetworkUtil-Bm6tGvAB.js} +2 -2
  32. package/_assets/{NotFound-DmWo5yLU.js → NotFound-B_dJ1CEy.js} +2 -2
  33. package/_assets/{NotificationsBell-dLnIgLqP.js → NotificationsBell-C2dt75wu.js} +2 -2
  34. package/_assets/{OutfitDetail-NKWxQqOt.js → OutfitDetail-BN2H3-8E.js} +2 -2
  35. package/_assets/{OutfitPreview-B3p4O6Wa.js → OutfitPreview-CaZ7kRVX.js} +2 -2
  36. package/_assets/{OutfitStudio-Be3N4_Mt.js → OutfitStudio-Jv245tVe.js} +2 -2
  37. package/_assets/{PaymentMethodStep-C3EnP-eM.js → PaymentMethodStep-NtswXRGE.js} +3 -3
  38. package/_assets/{SaleCountdown-Bq7MOyi2.js → SaleCountdown-B_1dnjfz.js} +5 -5
  39. package/_assets/{Spinner-Bl4IrHRQ.js → Spinner-DDg2cZp3.js} +2 -2
  40. package/_assets/{StoreSettings-D8Jg0_-_.js → StoreSettings-CwDrhnai.js} +2 -2
  41. package/_assets/{Success-BSYhAXOx.js → Success-DeK2ypzp.js} +2 -2
  42. package/_assets/{SwapController-DuxH_9c5.js → SwapController-B49Av1_u.js} +2 -2
  43. package/_assets/{Tooltip-BmJUJCYJ.js → Tooltip-DjG6zbCX.js} +2 -2
  44. package/_assets/{TradeService-DEb7yVBZ.js → TradeService-D6qXlh1Z.js} +2 -2
  45. package/_assets/{W3MFrameProviderSingleton-uf3z-_HS.js → W3MFrameProviderSingleton-BphwTeho.js} +4 -4
  46. package/_assets/{WebCryptoP256-D3OdVQ9d.js → WebCryptoP256-SMne_S_n.js} +2 -2
  47. package/_assets/{basic-QaTLX1vT.js → basic-D_8txLq7.js} +2 -2
  48. package/_assets/{biconomy-CyaDteqF.js → biconomy-YZlmchlv.js} +2 -2
  49. package/_assets/{browseLayout.styles-DNXtsrMA.js → browseLayout.styles-Brc2uxe6.js} +2 -2
  50. package/_assets/{browser-Cpjyf5yQ.js → browser-BL288LiQ.js} +2 -2
  51. package/_assets/{browser-rGhFbCyI.js → browser-Dnxu0avw.js} +2 -2
  52. package/_assets/{browser-ponyfill-D8Vu22Uk.js → browser-ponyfill-DnknyR7N.js} +2 -2
  53. package/_assets/{buy-DkF7GLNy.js → buy-CfE_PD5z.js} +2 -2
  54. package/_assets/{buy-gasless-Chbo9aJs.js → buy-gasless-R4n1XJSv.js} +2 -2
  55. package/_assets/{ccip-DtshU0dV.js → ccip-BlgS0auV.js} +2 -2
  56. package/_assets/{ccip-DGcxxIz8.js → ccip-C6UT6KQh.js} +2 -2
  57. package/_assets/{chains-BkRvbXyy.js → chains-tYOV74ij.js} +2 -2
  58. package/_assets/collectionPage.styles-CMbahOgT.js +41 -0
  59. package/_assets/{common-D332rySl.js → common-DLUTBVOI.js} +2 -2
  60. package/_assets/{controller-B7WIUu-b.js → controller-4EyPqibQ.js} +3 -3
  61. package/_assets/{core-DbwVHXzY.js → core-BQREhuMq.js} +5 -5
  62. package/_assets/{createSvgIcon-BNrfwGEU.js → createSvgIcon-BKfNrT59.js} +2 -2
  63. package/_assets/{crumbs.styles-BELLHHmP.js → crumbs.styles-BWaoKyPd.js} +2 -2
  64. package/_assets/{custom-LSzWESj7.js → custom-C9jMAm3T.js} +2 -2
  65. package/_assets/{data-capture-CtpQR5Or.js → data-capture-B9MdwIoc.js} +2 -2
  66. package/_assets/{dcl-schemas-DLwtrFng.js → dcl-schemas-C4fyXlSh.js} +2 -2
  67. package/_assets/{decimals-ttIHisxi.js → decimals-CHXNfoXT.js} +2 -2
  68. package/_assets/{decimals-9qAAgs1z.js → decimals-CLlY4hbe.js} +2 -2
  69. package/_assets/{detectExtension-QqAQRLny.js → detectExtension-BkzSezJq.js} +2 -2
  70. package/_assets/{disposePreview-CDy1nnEl.js → disposePreview-BdKYKQrH.js} +2 -2
  71. package/_assets/{email-CRIw6Jbz.js → email-C58riNwc.js} +2 -2
  72. package/_assets/{embedded-wallet-FpSh7on2.js → embedded-wallet-CwXPqiUJ.js} +2 -2
  73. package/_assets/{emotion-styled.browser.esm-D70mdwc6.js → emotion-styled.browser.esm-BW3kkhus.js} +2 -2
  74. package/_assets/{engine-oQbwQwzg.js → engine-BcBqatJs.js} +2 -2
  75. package/_assets/{errors-Cbpj3VLS.js → errors-D8TPzu4G.js} +2 -2
  76. package/_assets/{estimate-l1-fee-CxEvRUVu.js → estimate-l1-fee-BuYwUowR.js} +2 -2
  77. package/_assets/{eth_estimateGas-D1_V9LCS.js → eth_estimateGas-D9eBLR0c.js} +2 -2
  78. package/_assets/{eth_getStorageAt-B318zlqh.js → eth_getStorageAt-BTI_-XLj.js} +2 -2
  79. package/_assets/{eth_getTransactionCount-oiUsPxtT.js → eth_getTransactionCount-4ybREHU9.js} +2 -2
  80. package/_assets/{ethereum-vmiTxAXh.js → ethereum-CbiAXxqA.js} +2 -2
  81. package/_assets/{ethers-CF8fkxgi.js → ethers-B5rK96tr.js} +2 -2
  82. package/_assets/{events-DV4JS0It.js → events-Bpyu43Bg.js} +2 -2
  83. package/_assets/{execute-Bktrxhn0.js → execute-Ccffv2og.js} +3 -3
  84. package/_assets/{extractIPFS-Ch1ehxrn.js → extractIPFS-3WlcwhU4.js} +2 -2
  85. package/_assets/{features-D7wiiv0R.js → features-CgIhprDd.js} +2 -2
  86. package/_assets/{fetchTokenMetadata-BvOHV4gG.js → fetchTokenMetadata-BnWDdpY0.js} +3 -3
  87. package/_assets/{field.styles-Dhn72RAs.js → field.styles-Bc-0DX0s.js} +2 -2
  88. package/_assets/{fortmatic-CvbZZSGh.js → fortmatic-MrWbQYW_.js} +2 -2
  89. package/_assets/{get-bytecode-D-4So9iL.js → get-bytecode-CRVt2uO9.js} +2 -2
  90. package/_assets/{get-ecosystem-wallet-info-DZeXnkG-.js → get-ecosystem-wallet-info-DtQOolGc.js} +2 -2
  91. package/_assets/{getBalance-S2Symdej.js → getBalance-DO3N3k0P.js} +3 -3
  92. package/_assets/{getInstalledModules-6BoQAfhs.js → getInstalledModules-C_OImnek.js} +2 -2
  93. package/_assets/{getNFT-D97qf03K.js → getNFT-BGiMgi76.js} +2 -2
  94. package/_assets/{getNFT-hoZcpwkZ.js → getNFT-CIWeHs-K.js} +3 -3
  95. package/_assets/{grid.styles-CCNR8HJI.js → grid.styles-_ID6vrzI.js} +2 -2
  96. package/_assets/{hashTypedData-D4grvM4W.js → hashTypedData-C665UmRR.js} +2 -2
  97. package/_assets/{hashTypedData-CPrA8OD2.js → hashTypedData-ey-EuOtF.js} +2 -2
  98. package/_assets/{import-CSRyL2ws.js → import-CMPD8P4K.js} +2 -2
  99. package/_assets/{in-app-wallet-calls-DlJy3Gpu.js → in-app-wallet-calls-CPtTLqu-.js} +2 -2
  100. package/_assets/{in-app-D9ghiqgG.js → in-app-zOP3CpxE.js} +2 -2
  101. package/_assets/{index-DW-CLfxQ.js → index-1-D6BU9x.js} +4 -4
  102. package/_assets/{index-DHppqXzv.js → index-1m8I0nYf.js} +4 -4
  103. package/_assets/{index-huzzEG0L.js → index-4-bJUtYW.js} +2 -2
  104. package/_assets/{index-D1payCsV.js → index-86IlBHGS.js} +2 -2
  105. package/_assets/{index-PBtGUpoZ.js → index-AK90f_Z8.js} +2 -2
  106. package/_assets/{index-BCdB9ShB.js → index-B-6ihjt-.js} +2 -2
  107. package/_assets/{index-AKpcLSif.js → index-B1yWsG-z.js} +2 -2
  108. package/_assets/{index-DuOEHhlK.js → index-B5NPpBJq.js} +2 -2
  109. package/_assets/{index-rfSc62kZ.js → index-B5ul-OWi.js} +2 -2
  110. package/_assets/{index-DtvQO_7U.js → index-B8EwPucZ.js} +2 -2
  111. package/_assets/{index-C3o_lQSk.js → index-B8xZt7VU.js} +4 -4
  112. package/_assets/{index-BFvKF606.js → index-B8yEZM_9.js} +2 -2
  113. package/_assets/{index-E88hV6Al.js → index-BCDgjSsp.js} +2 -2
  114. package/_assets/{index-Cn5SmOxW.js → index-BFt3kPNj.js} +2 -2
  115. package/_assets/{index-F3k-qHY7.js → index-BKcGGxbI.js} +2 -2
  116. package/_assets/{index-ZO4pH3xU.js → index-BS-24GzM.js} +2 -2
  117. package/_assets/{index-BCod0uqH.js → index-BT4l5EWy.js} +2 -2
  118. package/_assets/{index-C9QCWiG1.js → index-BXUsm9an.js} +2 -2
  119. package/_assets/{index-CbtZbggr.js → index-BZCkq_UI.js} +3 -3
  120. package/_assets/{index-Bx821W-I.js → index-Bi9ki695.js} +2 -2
  121. package/_assets/{index-DDCMggn8.js → index-BiaIJl1N.js} +2 -2
  122. package/_assets/{index-DZMDr6k9.js → index-Blb7F0FK.js} +2 -2
  123. package/_assets/{index-Bw0JD_nV.js → index-Bpp62-y4.js} +2 -2
  124. package/_assets/{index-Ctd946H1.js → index-Bpz4psUB.js} +2 -2
  125. package/_assets/{index-6m17fNUN.js → index-Br04KEGP.js} +2 -2
  126. package/_assets/{index-Dvcz3lbc.js → index-Br6nAZB-.js} +3 -3
  127. package/_assets/{index-CThCH1Vu.js → index-BrZhMvgt.js} +2 -2
  128. package/_assets/{index-D3KCFjKZ.js → index-Bv7QxArc.js} +2 -2
  129. package/_assets/{index-C2lS-O47.js → index-C7b4sS7Z.js} +2 -2
  130. package/_assets/{index-OQUbkX6t.js → index-CBV2AqQH.js} +2 -2
  131. package/_assets/{index-jRpupaJf.js → index-CBVn85RJ.js} +2 -2
  132. package/_assets/{index-BHCW4fZz.js → index-CCSoyBCA.js} +2 -2
  133. package/_assets/{index-DFq0LjMb.js → index-CJn1cpgY.js} +2 -2
  134. package/_assets/{index-CVAGxFe4.js → index-CK88-s-i.js} +2 -2
  135. package/_assets/{index-BPrE1Wyl.js → index-CRBQyQ9q.js} +2 -2
  136. package/_assets/{index-tS0QVzyt.js → index-CSCQ2kwP.js} +2 -2
  137. package/_assets/{index-PFBV00R7.js → index-CX8YKHuf.js} +2 -2
  138. package/_assets/{index-CY18MmeV.js → index-C_HB4ahr.js} +2 -2
  139. package/_assets/{index-DnkyA8CT.js → index-C_VJslp5.js} +2 -2
  140. package/_assets/{index-CUava4Xz.js → index-C_sL8pFk.js} +3 -3
  141. package/_assets/{index-964fbZgz.js → index-CbdI6CX1.js} +2 -2
  142. package/_assets/{index-ry2Z-ef2.js → index-Ct03ng6H.js} +2 -2
  143. package/_assets/{index-CMSsSzuf.js → index-D1I_z6gN.js} +2 -2
  144. package/_assets/{index-COuOPU6r.js → index-D32ueqj8.js} +2 -2
  145. package/_assets/{index-YVPSt5zF.js → index-D4JG8CAh.js} +2 -2
  146. package/_assets/{index-BOI2DlPx.js → index-DAYU9y0r.js} +3 -3
  147. package/_assets/{index-BRO4BD9g.js → index-DCmWo03J.js} +2 -2
  148. package/_assets/{index-CGtS6aQg.js → index-DJ3LyfbX.js} +2 -2
  149. package/_assets/{index-DBS9viZh.js → index-DJrkc2dS.js} +2 -2
  150. package/_assets/{index-DBJPXhFC.js → index-DNVsnZ-O.js} +2 -2
  151. package/_assets/{index-qZW6qzKg.js → index-DOLeL_cr.js} +2 -2
  152. package/_assets/{index-1EgOmJHe.js → index-DUjtSwL_.js} +298 -298
  153. package/_assets/{index-DyteijQE.js → index-DZfuHw2n.js} +2 -2
  154. package/_assets/{index-sXGT0fEx.js → index-Dez4Y2KF.js} +2 -2
  155. package/_assets/{index-B31Q6LLU.js → index-DfO8xDEO.js} +2 -2
  156. package/_assets/{index-CCobXx9C.js → index-DpPVzKxv.js} +2 -2
  157. package/_assets/{index-B7PZ9818.js → index-DxpZUBWq.js} +2 -2
  158. package/_assets/{index-CLVca_cx.js → index-DyLBjpv0.js} +2 -2
  159. package/_assets/{index-C7mNaWT4.js → index-Dz22jxWJ.js} +2 -2
  160. package/_assets/{index-l0f6WtL-.css → index-IUGQhZ87.css} +1 -1
  161. package/_assets/{index-CM_8Imw-.js → index-OIOSLE1Z.js} +2 -2
  162. package/_assets/{index-BEzDdfsT.js → index-RIfBYN9H.js} +2 -2
  163. package/_assets/{index-DNT5Pdsz.js → index-iL1HUt_D.js} +2 -2
  164. package/_assets/{index-DJEHXDcz.js → index-iQHdD0uz.js} +2 -2
  165. package/_assets/{index-C15cl8rG.js → index-jDlHkNRP.js} +2 -2
  166. package/_assets/{index-B2Y4IZZM.js → index-mCvNzJBP.js} +2 -2
  167. package/_assets/{index-C8scG18s.js → index-n_6F7CQW.js} +2 -2
  168. package/_assets/{index-Me5Ss7cs.js → index-xuYw5645.js} +2 -2
  169. package/_assets/{index.es-CzLbuG_R.js → index.es-Bi3x6cHT.js} +2 -2
  170. package/_assets/{index.es-BtaRLNRq.js → index.es-D2Kb2P1G.js} +2 -2
  171. package/_assets/{index.es-D7yJUM8U.js → index.es-DLZBmqpO.js} +5 -5
  172. package/_assets/{index.es-CIP1KZhQ.js → index.es-Dc7sZlng.js} +2 -2
  173. package/_assets/{items-empty-D504E9pZ.js → items-empty-V-xt5G7d.js} +2 -2
  174. package/_assets/jump-CKpYFm1n.js +2 -0
  175. package/_assets/{linkAccount-Bq4BdO_g.js → linkAccount-BK7tMnbx.js} +2 -2
  176. package/_assets/{loader-logo-DHm9Fz1x.js → loader-logo-5OMluQ0u.js} +2 -2
  177. package/_assets/{localBatchGatewayRequest-DO0H9jg2.js → localBatchGatewayRequest-BncFJnmm.js} +2 -2
  178. package/_assets/{modal.styles-phCAh-RK.js → modal.styles-CEn4OgcW.js} +2 -2
  179. package/_assets/{native-DpdCIdZ9.js → native-LKuenQKU.js} +2 -2
  180. package/_assets/{networks-DiV-t6sy.js → networks-UuxxB3Lh.js} +2 -2
  181. package/_assets/{onramp-BzBoOcwf.js → onramp-DYhoiE8h.js} +2 -2
  182. package/_assets/{openzeppelin-CdVyHDTC.js → openzeppelin-CeQYqbvR.js} +2 -2
  183. package/_assets/{ownerOf-rBWO4KbA.js → ownerOf-g8HKzf25.js} +2 -2
  184. package/_assets/{parseNft-e9k4rvgX.js → parseNft-DR55tEaS.js} +3 -3
  185. package/_assets/{parseSignature-BYg8zuZS.js → parseSignature-BG_9mU7V.js} +2 -2
  186. package/_assets/{parseSignature-Bqa7GS0q.js → parseSignature-BcvAJM5n.js} +4 -4
  187. package/_assets/{passkeys-Bg7T_pWl.js → passkeys-BvUdPSto.js} +2 -2
  188. package/_assets/{pay-with-exchange-CcGi8qoF.js → pay-with-exchange-Dq_8qMmz.js} +2 -2
  189. package/_assets/{prepare-contract-call-Bd5IaqJv.js → prepare-contract-call-DLUGZzzc.js} +2 -2
  190. package/_assets/{qr-overlay-CnrTjg-W.js → qr-overlay-B5hijRec.js} +4 -4
  191. package/_assets/{react-GAYayRQl.js → react-C3j5P_ts.js} +2 -2
  192. package/_assets/{receive-CaZeymeR.js → receive-CGipYHNz.js} +2 -2
  193. package/_assets/{resolveImplementation-CPjTUWbf.js → resolveImplementation-Bq0E-Y1O.js} +2 -2
  194. package/_assets/{resume-buy-BCWkfD26.js → resume-buy-BB4z7ZD8.js} +2 -2
  195. package/_assets/{resume-name-D2iyURDh.js → resume-name-B5QsVrB6.js} +2 -2
  196. package/_assets/{rpc-CtXDbwNC.js → rpc-c6CbJ6xJ.js} +2 -2
  197. package/_assets/{sales-empty-B0bB6ZrZ.js → sales-empty-BRPCFt1L.js} +2 -2
  198. package/_assets/{search-empty-B4D-PyPf.js → search-empty-BT8bS_Xc.js} +2 -2
  199. package/_assets/{secp256k1-BXrCGrsa.js → secp256k1-DH3QxFJN.js} +2 -2
  200. package/_assets/{secp256k1-DxH615NV.js → secp256k1-DsK7HgGU.js} +2 -2
  201. package/_assets/{secp256k1-DXy3meif.js → secp256k1-DvkFg-ca.js} +2 -2
  202. package/_assets/{send-Bvz_tZDz.js → send-BtI3Y9mI.js} +2 -2
  203. package/_assets/{send-batch-transaction-DcePwf1v.js → send-batch-transaction-BP3GYANb.js} +2 -2
  204. package/_assets/{send-eip712-transaction-3_u1Rqn3.js → send-eip712-transaction-Dn1EEr_x.js} +3 -3
  205. package/_assets/{send-gasless-transaction-BFHYVjOu.js → send-gasless-transaction-DNsfvw-s.js} +3 -3
  206. package/_assets/{send-transaction-b-xetpVf.js → send-transaction-Dl6LPOzS.js} +3 -3
  207. package/_assets/{sendMetaTransaction-DbLGyE_1.js → sendMetaTransaction-xLF3k6Ym.js} +2 -2
  208. package/_assets/{sendRawTransaction-B4m-fS_W.js → sendRawTransaction-D6SclfHh.js} +4 -4
  209. package/_assets/{sentry-4deLrvth.js → sentry-CZnVtepx.js} +3 -3
  210. package/_assets/{serializeTransaction-07MzRFyy.js → serializeTransaction-CNVqHaCa.js} +2 -2
  211. package/_assets/{session-proposal-BsnbGrPN.js → session-proposal-B5GapO9B.js} +2 -2
  212. package/_assets/{session-request-cpaGraRl.js → session-request-0j2rueRa.js} +3 -3
  213. package/_assets/{sha256-BnYpgrlp.js → sha256-T5FTx4Qa.js} +2 -2
  214. package/_assets/{sha3-CCnQhllF.js → sha3-B5s3u740.js} +2 -2
  215. package/_assets/signin-empty-BDVNgXu7.js +2 -0
  216. package/_assets/{signing-CmyvPUld.js → signing-FmdtOciI.js} +4 -4
  217. package/_assets/{skeleton.styles-yzSbN-Gk.js → skeleton.styles-BIpsIEEn.js} +2 -2
  218. package/_assets/{socials-BQLjDbLx.js → socials-Cusr0-5c.js} +2 -2
  219. package/_assets/{styled-Q069ZeU8.js → styled-B-eID8zT.js} +2 -2
  220. package/_assets/{swaps-BlddI6k2.js → swaps-DAxdEN4n.js} +2 -2
  221. package/_assets/{thirdweb-CKDPEiTM.js → thirdweb-CRM0hhha.js} +4 -4
  222. package/_assets/{to-serializable-transaction-Nalzw-bR.js → to-serializable-transaction-DsLwju2q.js} +3 -3
  223. package/_assets/{totalSupply-wVng3s2B.js → totalSupply-D8KyUNjm.js} +2 -2
  224. package/_assets/{trade-encoding-BDGeQ9-e.js → trade-encoding-CaF5QHJ0.js} +2 -2
  225. package/_assets/{transaction-C80bod8k.js → transaction-BH1-GFGU.js} +2 -2
  226. package/_assets/{transactionReceipt-C-5N5-fG.js → transactionReceipt-B7q55ElN.js} +2 -2
  227. package/_assets/{transactions-cV79gKhp.js → transactions-COPajhle.js} +2 -2
  228. package/_assets/{useInfiniteGrid-g8vNfSL8.js → useInfiniteGrid-CYty5_Jt.js} +2 -2
  229. package/_assets/{useStore-CO_CTl_9.js → useStore-CA4bg9Qg.js} +3 -3
  230. package/_assets/{useTheme-9JrrPVul.js → useTheme-DkPMOr_t.js} +2 -2
  231. package/_assets/{utils-Du6u2Vpn.js → utils-B5A45KJU.js} +2 -2
  232. package/_assets/{verifyHash-DIbONWn9.js → verifyHash-hTG-EOge.js} +2 -2
  233. package/_assets/{w3m-modal-DcepuPKF.js → w3m-modal-LGDYWahK.js} +2 -2
  234. package/_assets/{w3m-modal-4XQZoFWP.js → w3m-modal-VpKiUlgO.js} +2 -2
  235. package/_assets/{wait-for-tx-receipt-DLRdbhOQ.js → wait-for-tx-receipt-B6L5AEsq.js} +2 -2
  236. package/_assets/{wallets-Bd3VJtIk.js → wallets-BmqLO_Z9.js} +6 -6
  237. package/_assets/{web-connector-Cl1UBm_o.js → web-connector-CteOtIx5.js} +4 -4
  238. package/_assets/{writeContract-BcbVJhyd.js → writeContract-BGY6GBpe.js} +2 -2
  239. package/_assets/{zora-sepolia-DAYSPKyC.js → zora-sepolia-C0dXhBjY.js} +2 -2
  240. package/_assets/{zoraTestnet-DLEgtf0y.js → zoraTestnet-BEtUvw81.js} +2 -2
  241. package/index.html +12 -12
  242. package/package.json +2 -2
  243. package/_assets/ItemDetail-Bvjk0t3i.js +0 -3090
  244. package/_assets/collectionPage.styles-DkhpLEcJ.js +0 -41
  245. package/_assets/jump-37CZlC6A.js +0 -2
  246. package/_assets/signin-empty-oqoRoyDC.js +0 -2
@@ -0,0 +1,3530 @@
1
+ import{j as e,b as ot,r as c,L as Xa,e as ls,a as Za}from"./react-C3j5P_ts.js";import{bi as en,c as Le,x as at,bm as ei,bn as ds,X as mt,t as n,by as cs,bz as us,V as nt,O as Z,Z as Ae,bF as ye,bG as Dn,l as he,bE as fn,bD as ti,i as ps,C as qe,au as hs,F as Un,d as fs,E as ft,bl as xs,G as ms,bA as gs,bB as bs,di as ys,dj as ws,dk as vs,dl as js,w as ie,bk as ks,s as r,a,a6 as gt,aH as bt,bP as Qn,aI as rt,I as E,z as Pe,p as ni,Y as tn,c9 as ri,H as Ve,av as be,dm as $s,n as yt,bd as xn,ad as ai,dn as Tr,cZ as Cs,f as ii,be as Is,bf as Ss,dp as As,c8 as Rs,dq as Ms,bT as Ps,dr as Ls,ds as zs,k as Es,aj as Mt,b1 as Fs,dt as Ts,a9 as Ns,du as _s,b3 as Bs,dv as Ws,cx as Ot,bQ as Ds,bR as qs,P as si,a0 as oi,dw as li,dx as Os,dy as Ks,bb as di,dz as Hs,bU as Us,dA as Qs,dB as Vs,dC as Gs,cb as Ys,A as Js,dD as mn,$ as Xs,bp as Zs,bq as eo,br as to,y as no,m as ro,dE as ao,dF as io,dG as so,dH as oo,dI as lo,aw as co,ax as uo,dJ as po,B as ho,dK as fo,aA as Nr,az as _r,dL as xo,dM as mo,a3 as go,bx as bo,dN as Br,dO as yo,dP as wo,dQ as vo,dR as jo,dS as ko,dT as $o,dU as Co,dV as Io}from"./index-DUjtSwL_.js";import{d as Re}from"./dcl-schemas-C4fyXlSh.js";import{p as So,e as Wr,i as Ao,A as ci,C as Ro,b as Mo,f as Po,g as Lo,h as zo,j as Eo,m as Fo,u as To,t as No,k as _o,a as Bo,s as Wo}from"./CollectionCarousel-CCG0ES4r.js";import{d as Dr,t as Do,e as qr,G as qo,c as Oo}from"./buy-CfE_PD5z.js";import{c as Ko,i as Vn,D as Ho,b as Or,d as Uo,S as Qo,e as Vo,a as Go}from"./SaleCountdown-B_1dnjfz.js";import{u as Yo,M as Jo,o as Xo,f as Zo,b as el,l as ui,c as tl}from"./loader-logo-5OMluQ0u.js";import{w as Kr,M as nl,S as rl,C as al,H as il,a as sl,T as ol,X as ll,B as dl,b as cl,c as ul,d as pl,e as tt,f as hl,g as fl,h as xl,i as pt,j as Ke,W as Kt,m as Ht,n as Ut,o as ml,v as gl,L as pi,P as hi,k as fi,l as xi,E as bl,F as yl,G as Hr,A as wl,p as vl,q as jl,r as kl,s as $l,t as Cl,u as Il,I as Ur}from"./CreditPackPicker-CyeEFkBf.js";import{P as Sl}from"./PaymentMethodStep-NtswXRGE.js";import{m as Al}from"./mana-matic-light-Bl5duieC.js";import{q as mi,g as gi,t as Rl,s as Ml,a as Qr,b as Pl,d as Ll,i as zl,e as El,c as Fl}from"./trade-encoding-CaF5QHJ0.js";import{J as Tl,p as Nl}from"./ethers-B5rK96tr.js";import{a as _l,w as bi,S as yi,G as wi,c as Bl}from"./buy-gasless-R4n1XJSv.js";import{R as Vr}from"./resume-buy-BB4z7ZD8.js";import{a as Wl,f as it,i as Zt}from"./errors-D8TPzu4G.js";import{C as Dl}from"./Confetti-DM4YiNme.js";import{b as ql,J as Ol,a as vi,j as Kl}from"./jump-CKpYFm1n.js";import{p as ji}from"./import-CMPD8P4K.js";import{E as st}from"./ErrorNotice-DRNDA4ab.js";import{L as Gr,M as Hl,B as Ul,H as Ql,T as Vl,A as Gl}from"./modal.styles-CEn4OgcW.js";import{S as Yl}from"./Spinner-DDg2cZp3.js";import{I as Jl}from"./IssueModal-BAujGRJp.js";import{E as Xl}from"./EmotePlaybackBar-C0V8dTyR.js";import{d as Zl}from"./disposePreview-BdKYKQrH.js";import{T as Qt}from"./Tooltip-DjG6zbCX.js";import{c as ed}from"./crumbs.styles-BWaoKyPd.js";import"./sentry-CZnVtepx.js";import"./intl-AKLEHPeO.js";import"./sendMetaTransaction-xLF3k6Ym.js";import"./mana-matic-CEqvSwrJ.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},s=new t.Error().stack;s&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[s]="ce9b5c1d-ab15-4635-b261-953ef9050600",t._sentryDebugIdIdentifier="sentry-dbid-ce9b5c1d-ab15-4635-b261-953ef9050600")}catch{}})();const ki=216n,td=(1n<<ki)-1n;function nd(t){const s=typeof t=="bigint"?t:BigInt(t.trim());if(s<0n)throw new Error(`Invalid tokenId: ${String(t)}`);return{itemId:(s>>ki).toString(),issuedId:(s&td).toString()}}function rd(t){if(!t)return null;try{return nd(t).itemId}catch{return null}}const $i=["cancelled-listings"];function ad(t,s){s&&t.setQueryData($i,o=>o!=null&&o.includes(s)?o:[...o??[],s])}function Yr(t,s){var o;if(s)return(o=t.getQueryData($i))!=null&&o.includes(s)?void 0:s}function Jr(t,s){return s.kind==="listed"?{...t,isOnSale:!0,listingPrice:s.priceCredits,tradeId:s.tradeId??t.tradeId}:{...t,isOnSale:!1,listingPrice:void 0,tradeId:void 0}}function gn(t,s,o){const{address:l,contractAddress:d,tokenId:u}=s;if(!d||!u)return;const h=`${d}-${u}`;t.cancelQueries({queryKey:["owned-token",d,u]}),t.cancelQueries({queryKey:["secondary-sale-state"]}),l&&t.cancelQueries({queryKey:["my-assets",l]});const m=o.kind==="gone";t.setQueriesData({queryKey:["owned-token",d,u]},k=>k&&(m?null:Jr(k,o)));const g=l?["my-assets",l]:["my-assets"];t.setQueriesData({queryKey:g},k=>k!=null&&k.pages?{...k,pages:k.pages.map(x=>{if(m){const j=x.items.filter(w=>!(w.contractAddress===d&&w.tokenId===u));return{...x,items:j,total:Math.max(0,x.total-(x.items.length-j.length))}}return{...x,items:x.items.map(j=>j.contractAddress===d&&j.tokenId===u?Jr(j,o):j)}})}:k),t.setQueriesData({queryKey:["secondary-sale-state"]},k=>{var j;if(!k)return k;const x={...k};return o.kind==="removed"||o.kind==="gone"?delete x[h]:x[h]={priceCredits:o.priceCredits,tradeId:o.tradeId??((j=x[h])==null?void 0:j.tradeId)??""},x})}function id(t){return!(t.isMarket||t.forSale&&t.priceKnown||t.manage||t.soldOutWithResale||!t.stillResolving&&!t.resolvingTrade&&(t.isTokenRoute?!t.ownedAssetLoading:!t.deepLinkLoading))}function Ci(){const t=new Map,s=new Set,o=new Set,l=new Set;return{submitStarted:d=>{l.add(d)},submitFinished:d=>{l.delete(d)},broadcast:(d,u)=>{const h=t.get(d);h?h.add(u):t.set(d,new Set([u]))},reverted:d=>{s.add(d)},unobservable:d=>{o.add(d)},isInFlight:d=>l.has(d),mayBeConsumed:d=>{if(o.has(d))return!0;const u=t.get(d);if(!u)return!1;for(const h of u)if(!s.has(h))return!0;return!1}}}const sd=Nl("0.05");async function od(t){try{return(await new Tl(Le.rpcUrl).getBalance(t)).gte(sd)}catch{return!1}}async function ld(t,s){return en(t)?od(s):!1}function dd({size:t=64,...s}){return e.jsxs("svg",{viewBox:"0 0 64 64",width:t,height:t,"aria-hidden":!0,...s,children:[e.jsx("circle",{cx:"32",cy:"32",r:"32",fill:"#34ce74"}),e.jsx("path",{d:"M20 33l8 8 16-18",fill:"none",stroke:"#fff",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"})]})}const cd=t=>bs(t.contractAddress,String(t.itemId));async function Xr(t,s={}){if(t.kind==="store")return BigInt(t.mint.item.priceWei);try{return ys(await ws(t.trade),t.coupon)}catch(o){return s.reportFailure!==!1&&he(o,{flow:"buy",step:"mana_price"}),null}}function Zr(t){return t.kind==="trade"?t.trade.id:void 0}function ea(t){return t.contractAddress&&t.itemId!=null?{contractAddress:t.contractAddress,itemId:String(t.itemId)}:void 0}function qn({item:t,onClose:s,resume:o=!1}){const{session:l}=at(),{data:d}=ei(l),{data:u}=ds(l),h=mt(),m=ot();async function g(){try{return await h.fetchQuery(gs())}catch{return}}async function k(){if(u!=null)return u;if(!l)return 0n;try{const v=await h.fetchQuery({queryKey:["mana-balance",l.address],queryFn:()=>js(l.address),staleTime:3e4});return J(v),v}catch{return 0n}}const x=Yo().packs.slice(0,Jo),[j,w]=c.useState("loading"),[$,I]=c.useState(null),[S,R]=c.useState(null),[O,M]=c.useState(!1),[b,B]=c.useState(0),[i,K]=c.useState(""),[Q,V]=c.useState(t.priceCredits),X=Math.max(0,Q-((d==null?void 0:d.credits)??0)),{packs:ne}=Xo(x,X),[te,ce]=c.useState(null),[le,J]=c.useState(null),z=u??le??0n,[T,_]=c.useState(!1),[p,A]=c.useState(null),[C,P]=c.useState(0),[W,H]=c.useState(null),[se,je]=c.useState(!1),ee=c.useRef(null),G=c.useRef(!1),re=c.useRef(Ci()),xe=(W==null?void 0:W.credits)??Q,ke=(d==null?void 0:d.credits)??0;c.useEffect(()=>(G.current=!1,()=>{G.current=!0}),[]);async function $e(v,L,N,F){const U=await k();if(F!=null&&F())return;const ae=U>0n,q=ae?await Xr(L):null;if(F!=null&&F())return;q!=null?ce(q):ae&&_(!0);const Oe=Kr({priceCents:N,priceManaWei:q??0n,balanceCents:(d==null?void 0:d.balanceCents)??0,manaBalanceWei:U}).options.some(Te=>Te.method==="mana"||Te.method==="combined"),we=v-((d==null?void 0:d.credits)??0),Ft=x.find(Te=>Te.credits>=we)??x[x.length-1];K(Ft.id),Oe||Z("Shop Buy Credits Prompted",{from:"item_checkout",credits_needed:v,credits_balance:(d==null?void 0:d.credits)??0,shortfall:Math.max(0,we)}),w("nofunds")}c.useEffect(()=>{let v=!1;if(!l){w("error"),I(n("buyModal.signInToCheckout"));return}return(async()=>{try{const L=await Zo(t,l.address,cs,await g(),cd,us);if(L.status==="own")throw new Error("You can't buy your own listing.");if(L.status==="no-price")throw new Error("price unavailable");if(L.status!=="buyable")throw new Error("not for sale");const N=el(L.line),F=L.line.usdCents,U=nt(F);if(v)return;if(V(U),A(N),P(F),d!=null&&d.credits<U){await $e(U,N,F,()=>v);return}o?lt({sale:N,usdCents:F}):w("ready")}catch(L){if(v)return;Z(ye(L)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"resolve",error_code:Ae(L)}),ue(L)}})(),()=>{v=!0,ee.current&&l&&(wt([ee.current]),ee.current=null)}},[b]),c.useEffect(()=>{const v=(W==null?void 0:W.sale)??p;if(!v||j!=="ready"&&j!=="nofunds"||z<=0n||te!==null)return;let L=!1;return Xr(v,{reportFailure:!T}).then(N=>{L||(N!=null?ce(N):_(!0))}),()=>{L=!0}},[j,W,p,z,te,T]);const Y=Kr({priceCents:C,priceManaWei:te??0n,balanceCents:(d==null?void 0:d.balanceCents)??0,manaBalanceWei:z});async function lt(v){const L=(W==null?void 0:W.sale)??(v==null?void 0:v.sale)??p,N=(W==null?void 0:W.usdCents)??(v==null?void 0:v.usdCents)??C;if(!l||!L||N<=0)return;w("processing"),I(null),je(!1);let F=W;if(!F)try{const{credit:q,maxCreditedValue:fe,usdCents:Oe}=await Dn(l.identity,N,Zr(L),ea(t));if(G.current){ze([q.id]);return}ee.current=q.id,h.invalidateQueries({queryKey:["usd-balance"]});const we=nt(Oe);if(F={sale:L,credit:q,maxCreditedValue:fe,usdCents:Oe,credits:we},H(F),we!==nt(N)){V(we),P(Oe),je(!0),w("ready");return}}catch(q){if(Wl(q)){h.invalidateQueries({queryKey:["usd-balance"]}),await $e(nt(N),L,N);return}ye(q)||he(q,{flow:"buy",step:"authorize"}),Z(ye(q)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"authorize",error_code:Ae(q)}),I(it(q,n("buyModal.error.generic"),{sale:!0})),w("error");return}if(!F)return;let U=!1,ae;try{const q={purchase:So(F.sale,[F.credit],F.maxCreditedValue),buyer:l.address,signer:l.signer,onBroadcast:({txHash:fe})=>re.current.broadcast(F.credit.id,fe),onReverted:({txHash:fe})=>{fe&&re.current.reverted(fe)}};if(re.current.submitStarted(F.credit.id),mi())try{ae=await _l(q),re.current.broadcast(F.credit.id,ae),await bi(ae),U=!0}catch(fe){if(fe instanceof yi)U=!0;else if(fe instanceof wi){if(fe.reason==="relayer-unreachable")throw re.current.unobservable(F.credit.id),fe;if(!en(l.providerType))throw fe;ae=await Dr(q)}else throw ae&&re.current.reverted(ae),fe}else ae=await Dr(q)}catch(q){re.current.submitFinished(F.credit.id),ye(q)||he(q,{flow:"buy",step:"submit",gasless:U}),Ce([F.credit.id]),ee.current=null,Z(ye(q)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Ae(q)}),h.invalidateQueries({queryKey:["usd-balance"]}),ue(q);return}re.current.submitFinished(F.credit.id),ee.current=null;try{Wr(t.coupon),Ao(h,t),Z("Shop Completed Purchase",{...fn([t]),payment_type:"credits",no_crypto_step:U,transaction_hash:ae??null})}catch(q){he(q,{flow:"buy",step:"post_purchase"})}w("complete")}function ze(v){if(!l||v.length===0)return Promise.resolve(!1);const L=v.filter(N=>!re.current.mayBeConsumed(N));return L.length===0?Promise.resolve(!1):ti(l.identity,L).then(()=>!0,()=>!0)}function Ce(v){M(!0),ze(v).then(L=>{L||M(!1)})}function wt(v){return ze(v.filter(L=>!re.current.isInFlight(L)))}function Lt(){Wr(t.coupon),h.invalidateQueries({queryKey:["mana-balance"]}),h.invalidateQueries({queryKey:["usd-balance"]}),h.invalidateQueries({queryKey:["detail-trade"]}),h.invalidateQueries({queryKey:["shop-item"]}),h.invalidateQueries({queryKey:["owned-token",t.contractAddress,t.tokenId]}),h.invalidateQueries({queryKey:["public-token",t.contractAddress,t.tokenId]}),h.invalidateQueries({queryKey:["item-resales",t.contractAddress,t.itemId]}),h.invalidateQueries({queryKey:["shop-items"]}),h.invalidateQueries({queryKey:["catalog-items"]}),h.invalidateQueries({queryKey:["my-assets"]}),h.invalidateQueries({queryKey:["purchases"]}),h.invalidateQueries({queryKey:["owned-item-count"]}),h.invalidateQueries({queryKey:["overview-listings"]}),h.invalidateQueries({queryKey:["upsell-listings"]})}async function sn(){var L;const v=(W==null?void 0:W.sale)??p;if(!(!l||!v)){ee.current&&(Ce([ee.current]),ee.current=null),w("processing"),I(null);try{const N=(L=Ur(Y,"mana"))==null?void 0:L.manaWei,F=v.kind==="trade"?await Po({trade:v.trade,coupon:v.coupon,buyer:l.address,signer:l.signer,manaWei:N}):await Lo({mint:v.mint,buyer:l.address,signer:l.signer,manaWei:N});Z("Shop Completed Purchase",{...fn([t]),payment_type:"mana",transaction_hash:F??null}),Lt(),w("complete")}catch(N){ye(N)||he(N,{flow:"buy_mana",step:"submit"}),Z(ye(N)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Ae(N)}),ue(N)}}}async function zt(){const v=(W==null?void 0:W.sale)??p,L=Ur(Y,"combined");if(!l||!v||!L)return;w("processing"),I(null),ee.current&&(await ze([ee.current])&&M(!0),ee.current=null);let N=null,F;try{const{credit:U}=await Dn(l.identity,L.creditsCents,Zr(v),ea(t));N=U.id,re.current.submitStarted(U.id);const ae={buyer:l.address,signer:l.signer,credits:[U],manaGapWei:L.manaWei,providerType:l.providerType,onBroadcast:({txHash:q})=>re.current.broadcast(U.id,q),onReverted:({txHash:q})=>{q&&re.current.reverted(q)},onUnobservable:()=>re.current.unobservable(U.id)};F=v.kind==="trade"?await zo({trade:v.trade,coupon:v.coupon,...ae}):await Eo({mint:v.mint,...ae})}catch(U){N&&re.current.submitFinished(N),N&&Ce([N]),ye(U)||he(U,{flow:"buy_credits_and_mana",step:"submit"}),Z(ye(U)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Ae(U)}),h.invalidateQueries({queryKey:["usd-balance"]}),ue(U);return}N&&re.current.submitFinished(N);try{Lt(),Z("Shop Completed Purchase",{...fn([t]),payment_type:"credits_and_mana",transaction_hash:F??null})}catch(U){he(U,{flow:"buy_credits_and_mana",step:"post_purchase"})}w("complete")}async function vt(){if(!(!i||!l)){try{sessionStorage.setItem(Vr,JSON.stringify(t))}catch{}ee.current&&(ze([ee.current]),ee.current=null),H(null),w("loading");try{const v=await tl(i,{address:l.address,identity:l.identity});if(v.url){window.location.href=v.url;return}if(!v.orderId)throw new Error("Checkout returned neither a redirect url nor an order id");m(`/credits?order=${encodeURIComponent(v.orderId)}`)}catch(v){he(v,{flow:"buy_credits_and_item"});try{sessionStorage.removeItem(Vr)}catch{}I(n("buyModal.error.creditsCheckout")),w("error")}}}const[Ie,Ee]=c.useState(null);function on(v,L){const{spender:N,chainId:F}=Fo(v,L);return Ml(F,N)}function ue(v){if(I(it(v,n("buyModal.error.generic"),{sale:!0})),w("error"),!ps(v)||!l)return;const L=v.required;(async()=>{if(await ld(l.providerType,l.address)){R(L);return}I(n("buyModal.error.relayDownNoRail"))})()}async function dt(v){if(l){R(null);try{await vs(l.web3Provider,v)}catch(L){ye(L)||he(L,{flow:"buy",step:"switch_chain"}),R(v);return}jt()}}function Fe(v){v==="mana"?sn():v==="combined"?zt():lt()}const Ue=c.useRef(!1);async function Ye(v){var L;if(!Ue.current){Ue.current=!0;try{const N=(W==null?void 0:W.sale)??p;if(v==="credits"||!N||!l){Fe(v);return}const F=on(v,N),U=((L=Y.options.find(q=>q.method===v))==null?void 0:L.manaWei)??0n,ae=await gi(F,l.address,U).catch(()=>!0);if(Rl(l.providerType,ae)){Ee({auth:F,rail:v});return}Fe(v)}finally{Ue.current=!1}}}const Se=Y.options.some(v=>v.method==="mana"||v.method==="combined"),Et=j==="ready"&&(Se||Y.manaShortfall!=null)||j==="nofunds"&&Se;function jt(){I(null),H(null),je(!1),M(!1),w("loading"),B(v=>v+1)}const kt=j==="error"&&S===null&&(!!ee.current||O),Je=j==="processing",ln=j==="complete"?n("buyModal.titleComplete"):j==="error"?n("cartCheckout.errorTitle"):j==="nofunds"?n("buyModal.titleNoFunds"):n("buyModal.titleBuy");return Ie&&l?e.jsx(ci,{auth:Ie.auth,signer:l.signer,title:n(Ie.rail==="mana"?"authorizeStep.manaTitle":"authorizeStep.buyTitle"),name:n(Ie.rail==="mana"?"authorizeStep.manaName":"authorizeStep.buyName"),reason:n(Ie.rail==="mana"?"authorizeStep.manaReason":"authorizeStep.buyReason"),icon:e.jsx("img",{src:Al,width:24,height:24,alt:"","aria-hidden":!0}),onAuthorized:()=>{const{rail:v}=Ie;Ee(null),Fe(v)},onCancel:()=>Ee(null),onClose:()=>{Ee(null),s()}}):e.jsxs(nl,{role:"dialog","aria-modal":"true","aria-label":n("buyModal.dialogAria",{name:t.name}),"data-testid":"buy-modal",children:[e.jsx(rl,{onClick:Je?void 0:s,"aria-hidden":!0}),e.jsx(al,{"data-tall":j==="processing"||j==="loading"||void 0,children:Et?e.jsx(Sl,{asset:{name:t.name,thumb:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null,caption:t.creator?e.jsx(hs,{address:t.creator}):null},priceCredits:xe,priceCents:C,options:Y.options,priceManaWei:te??0n,balanceCredits:ke,manaBalanceWei:z,onBuy:v=>void Ye(v),onClose:s,busy:Je,notice:se?n("buyModal.priceChanged"):d!=null&&d.held?n("buyModal.heldExplainer",{credits:d.held.credits,currency:qe.name}):null}):e.jsxs(e.Fragment,{children:[e.jsxs(il,{children:[e.jsxs(sl,{children:[e.jsx(ol,{children:ln}),!Je&&e.jsx(ll,{onClick:s,"aria-label":n("buyModal.close"),children:e.jsx(Ro,{})})]}),e.jsxs(dl,{children:[e.jsx(cl,{children:j==="nofunds"?n("buyModal.dclBalance"):n("buyModal.myCreditsBalance")}),e.jsx(ul,{}),e.jsx(pl,{children:Un(ke)})]})]}),j==="loading"&&e.jsx(tt,{"data-processing":!0,children:e.jsx("span",{className:"spinner","aria-hidden":!0})}),j==="error"&&e.jsxs(tt,{children:[e.jsxs(hl,{"data-testid":"buy-error",children:[e.jsx(fl,{src:Mo,alt:"",width:64,height:80}),e.jsxs(xl,{children:[e.jsx("b",{children:n("cartCheckout.errorHeadline")})," ",$??(kt?null:n("cartCheckout.errorBody")),kt?e.jsxs(e.Fragment,{children:[$?" ":"",n("cartCheckout.heldLead",{currency:qe.name}),e.jsx("b",{children:n("cartCheckout.heldBold")}),n("cartCheckout.heldTail",{currency:qe.name})]}):null]})]}),S!==null?e.jsxs(pt,{children:[e.jsx(Ke,{"data-variant":"outline",onClick:s,children:n("buyModal.cancel")}),e.jsx(Ke,{"data-variant":"purple","data-testid":"switch-and-retry",onClick:()=>void dt(S),children:n("buyModal.error.switchAndRetry",{network:fs(S)})})]}):kt?e.jsx(pt,{children:e.jsx(Ke,{"data-variant":"purple","data-full":!0,onClick:s,children:n("cartCheckout.gotIt")})}):e.jsxs(pt,{children:[e.jsx(Ke,{"data-variant":"outline",onClick:s,children:n("buyModal.cancel")}),e.jsx(Ke,{"data-variant":"purple",onClick:jt,children:n("cartCheckout.tryAgain")})]})]}),j==="nofunds"&&e.jsxs(tt,{children:[T&&te===null&&z>0n?e.jsxs(Kt,{"data-testid":"mana-price-unavailable",children:[e.jsx(Ht,{}),e.jsx(Ut,{children:n("buyModal.manaPriceUnavailable")})]}):null,d!=null&&d.held?e.jsxs(Kt,{"data-testid":"nofunds-held",children:[e.jsx(Ht,{}),e.jsx(Ut,{children:n("buyModal.heldExplainer",{credits:d.held.credits,currency:qe.name})})]}):null,e.jsxs(Kt,{children:[e.jsx(Ht,{}),e.jsxs(Ut,{children:[e.jsx("b",{children:n("buyModal.insufficientFunds")})," ",n("buyModal.warningNeedToBuy")," ",e.jsx("b",{children:n("buyModal.warningCreditsAmount",{count:Math.max(1,xe-ke)})})," ",n("buyModal.warningToPurchase",{count:1}),ft()?null:e.jsxs(e.Fragment,{children:[" ",e.jsx(ml,{href:xs("/credits"),target:"_blank",rel:"noopener noreferrer",children:n("buyModal.warningLearnMore")})]})]})]}),e.jsx(ta,{item:t,priceCredits:xe}),ft()?null:e.jsx(e.Fragment,{children:e.jsx(gl,{packs:ne,selectedId:i||void 0,onSelect:K})}),e.jsxs(pt,{children:[e.jsx(Ke,{"data-variant":"outline",onClick:s,children:n("buyModal.cancel")}),ft()?null:e.jsx(Ke,{"data-variant":"gradient",onClick:()=>void vt(),children:n("buyModal.buy")})]})]}),j==="ready"&&e.jsxs(tt,{children:[se&&e.jsxs(Kt,{"data-testid":"price-changed",role:"status",children:[e.jsx(Ht,{}),e.jsx(Ut,{children:n("buyModal.priceChanged")})]}),e.jsx(ta,{item:t,priceCredits:xe}),e.jsx(pt,{children:e.jsx(Ke,{"data-variant":"gradient","data-full":!0,onClick:()=>void lt(),children:n("buyModal.buy")})})]}),j==="processing"&&e.jsxs(tt,{"data-processing":!0,children:[e.jsx(pi,{src:ui,alt:"",width:61,height:61}),e.jsx(hi,{children:o?n("buyModal.completingPurchase"):n("buyModal.completingTransaction")}),e.jsx(fi,{"aria-hidden":!0,children:e.jsx(xi,{})})]}),j==="complete"&&e.jsxs(tt,{children:[e.jsx(Dl,{}),e.jsxs(bl,{children:[e.jsx(dd,{}),e.jsxs(yl,{children:[e.jsx("b",{children:n("getCredits.successTitle")})," ",n("buyModal.successBody")]})]}),e.jsxs(pt,{"data-stack":!0,children:[e.jsx(Ke,{"data-variant":"outline",onClick:()=>m(ms([t.category])),children:n("buyModal.myAssets")}),ft()?e.jsx(Hr,{"data-variant":"ruby",href:ql([t]),onClick:s,children:n("success.goToBackpack")}):e.jsxs(Hr,{"data-variant":"ruby",href:Ol,target:"_blank",rel:"noreferrer",onClick:s,children:[n("buyModal.tryInWorld"),e.jsx(vi,{})]})]})]})]})})]})}function ta({item:t,priceCredits:s}){return e.jsxs(wl,{children:[e.jsx(vl,{children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null}),e.jsxs(jl,{children:[e.jsxs("div",{children:[e.jsx(kl,{title:t.name,children:t.name||n("buyModal.itemFallback")}),t.creator?e.jsx($l,{address:t.creator}):null]}),e.jsxs(Cl,{children:[e.jsx(Il,{}),e.jsx("span",{children:Un(s)})]})]})]})}function ud(){const{data:t}=ie({queryKey:["feature-flag","proceeds-to-treasury"],queryFn:ks,staleTime:6e4,refetchOnWindowFocus:!0,retry:1});return t===!0}const pd=r.div`
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 16px;
5
+ width: 100%;
6
+ max-width: 456px;
7
+ `,hd=r.span`
8
+ flex: none;
9
+ font-family: ${a.font.sans};
10
+ font-size: 18px;
11
+ color: ${a.colors.muted};
12
+ `,fd=r.p`
13
+ margin: 0;
14
+ font-family: ${a.font.sans};
15
+ font-size: 13px;
16
+ line-height: 1.5;
17
+ color: ${a.colors.muted};
18
+ text-align: center;
19
+ `,xd=r.p`
20
+ margin: 0;
21
+ font-family: ${a.font.sans};
22
+ font-size: 13px;
23
+ line-height: 1.5;
24
+ color: ${a.colors.text};
25
+ `;function Ii(t,s){const[o,l]=c.useState(!1),[d,u]=c.useState(!1),[h,m]=c.useState(null),g=c.useRef(null);c.useEffect(()=>{const x=new AbortController;return g.current=x,()=>x.abort(new DOMException("Modal closed","AbortError"))},[]);async function k(x){if(!t||o)return!0;m(null);try{const j=await t.cancelCurrent({payGas:x,onWaiting:w=>u(w>2e4)});return j!=="ok"?(m(j==="relay-reverted"?"reverted":"pending"),!1):(l(!0),!0)}catch(j){return he(j,{flow:"edit_price_cancel"}),s(it(j,n("listingEdit.cancelFailed"))),!1}finally{u(!1)}}return{cancelDone:o,slow:d,cancelFailed:h,setCancelFailed:m,cancelCurrent:k,signal:()=>{var x;return(x=g.current)==null?void 0:x.signal}}}function Gn({state:t,canPayGas:s,busy:o,onPayGas:l,onLater:d,testId:u="edit-cancel-relay-failed"}){return e.jsxs(xd,{"data-testid":u,children:[s?t==="reverted"?n("itemDetail.cancelRelayReverted"):n("itemDetail.cancelRelayFailed"):n("itemDetail.cancelRelayRetry"),s?e.jsxs(e.Fragment,{children:[" ",e.jsx(Gr,{type:"button","data-testid":"cancel-pay-gas",onClick:l,disabled:o,children:n("itemDetail.cancelPayGas")}),d?e.jsxs(e.Fragment,{children:[" ",e.jsx(Gr,{type:"button","data-testid":"cancel-later",onClick:d,disabled:o,children:n("itemDetail.cancelLater")})]}):null]}):null]})}function Si({phase:t,managed:s,slow:o}){const d=t==="list"?2:1,u=`listingEdit.${s?"step":"confirm"}${t==="list"?"New":"Removal"}`;return e.jsxs(tt,{"data-processing":!0,"data-testid":"listing-steps",role:"status","aria-live":"polite",children:[e.jsx(pi,{src:ui,alt:"",width:61,height:61}),e.jsx(hi,{children:n(u)}),e.jsxs(pd,{children:[e.jsx(fi,{"aria-hidden":!0,children:e.jsx(xi,{})}),e.jsxs(hd,{"data-testid":"listing-steps-count",children:[d,"/",2]})]}),o?e.jsx(fd,{"data-testid":"listing-steps-slow",children:n("listingEdit.slow")}):null]})}const bn=r.div`
26
+ position: fixed;
27
+ inset: 0;
28
+ z-index: 10000;
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ padding: 16px;
33
+ background: rgba(22, 21, 24, 0.55);
34
+ `,yn=r.div`
35
+ width: 560px;
36
+ max-width: 100%;
37
+ max-height: 92vh;
38
+ overflow-y: auto;
39
+ background: ${a.colors.white};
40
+ border-radius: 16px;
41
+ padding: 12px 16px 16px;
42
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
43
+ display: flex;
44
+ flex-direction: column;
45
+ gap: 24px;
46
+ `,wn=r.div`
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: space-between;
50
+ gap: 8px;
51
+ padding-bottom: 16px;
52
+ border-bottom: 1px solid ${a.colors.gray4};
53
+ `,vn=r.h2`
54
+ margin: 0;
55
+ font-family: ${a.font.sans};
56
+ font-weight: 600;
57
+ font-size: 20px;
58
+ line-height: 1.6;
59
+ color: ${a.colors.text};
60
+ `,jn=r.button`
61
+ flex: none;
62
+ display: grid;
63
+ place-items: center;
64
+ width: 24px;
65
+ height: 24px;
66
+ border: 0;
67
+ background: none;
68
+ cursor: pointer;
69
+ color: ${a.colors.text};
70
+
71
+ .ico {
72
+ width: 18px;
73
+ height: 18px;
74
+ }
75
+ &:disabled {
76
+ opacity: 0.4;
77
+ cursor: default;
78
+ }
79
+ &:focus-visible {
80
+ outline: 2px solid ${a.colors.accent};
81
+ outline-offset: 2px;
82
+ }
83
+ `,md=r.p`
84
+ margin: 0;
85
+ font-family: ${a.font.sans};
86
+ font-size: 14px;
87
+ line-height: 1.57;
88
+ color: ${a.colors.text};
89
+ text-align: left;
90
+ `,gd=r.div`
91
+ display: flex;
92
+ align-items: center;
93
+ gap: 12px;
94
+ `,bd=r.div`
95
+ flex: none;
96
+ display: grid;
97
+ place-items: center;
98
+ width: 180px;
99
+ height: 180px;
100
+ border-radius: 16px;
101
+ background: ${a.colors.media};
102
+ border: 1px solid ${a.colors.gray4};
103
+ overflow: hidden;
104
+
105
+ img {
106
+ width: 150px;
107
+ height: 150px;
108
+ object-fit: contain;
109
+ filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.1));
110
+ }
111
+
112
+ ${a.media.maxWidth("mobile")} {
113
+ width: 120px;
114
+ height: 120px;
115
+
116
+ img {
117
+ width: 100px;
118
+ height: 100px;
119
+ }
120
+ }
121
+ `,yd=r.div`
122
+ flex: 1 1 0;
123
+ min-width: 0;
124
+ display: flex;
125
+ flex-direction: column;
126
+ gap: 4px;
127
+ padding: 8px;
128
+ `,wd=r.p`
129
+ margin: 0;
130
+ font-family: ${a.font.sans};
131
+ font-weight: 600;
132
+ font-size: 20px;
133
+ line-height: 1.57;
134
+ color: ${a.colors.text};
135
+ `,vd=r.p`
136
+ margin: 0;
137
+ font-family: ${a.font.sans};
138
+ font-size: 10px;
139
+ line-height: 1.43;
140
+ color: ${a.colors.muted};
141
+ `,jd=r.div`
142
+ display: flex;
143
+ gap: 12px;
144
+
145
+ ${a.media.maxWidth("mobile")} {
146
+ flex-direction: column;
147
+ }
148
+ `,na=r.label`
149
+ flex: 1 1 0;
150
+ min-width: 0;
151
+ display: flex;
152
+ flex-direction: column;
153
+ gap: 4px;
154
+ `,ra=r.span`
155
+ font-family: ${a.font.sans};
156
+ font-size: 12px;
157
+ color: ${a.colors.muted};
158
+ `,kd=r.div`
159
+ display: flex;
160
+ align-items: center;
161
+ justify-content: space-between;
162
+ gap: 4px;
163
+ height: 42px;
164
+ padding: 0 8px;
165
+ border: 0.5px solid ${a.colors.text};
166
+ border-radius: 8px;
167
+ background: ${a.colors.white};
168
+
169
+ &:focus-within {
170
+ border-color: ${a.colors.magenta};
171
+ }
172
+ &[aria-invalid='true'] {
173
+ border-color: ${a.colors.err};
174
+ }
175
+
176
+ .ccy {
177
+ flex: none;
178
+ width: 22px;
179
+ height: 22px;
180
+ color: ${a.colors.rarity};
181
+ }
182
+ .cal {
183
+ flex: none;
184
+ width: 18px;
185
+ height: 18px;
186
+ color: ${a.colors.text};
187
+ }
188
+ `,$d=r.input`
189
+ flex: 1 1 auto;
190
+ min-width: 0;
191
+ border: 0;
192
+ outline: none;
193
+ background: transparent;
194
+ font-family: ${a.font.sans};
195
+ font-size: 13px;
196
+ color: ${a.colors.text};
197
+
198
+ &::placeholder {
199
+ color: ${a.colors.muted2};
200
+ }
201
+ /* Strip the number spinners — the glyph + USD hint carry the affordance. */
202
+ &::-webkit-outer-spin-button,
203
+ &::-webkit-inner-spin-button {
204
+ -webkit-appearance: none;
205
+ margin: 0;
206
+ }
207
+ &[type='number'] {
208
+ -moz-appearance: textfield;
209
+ appearance: textfield;
210
+ }
211
+ `,Cd=r.span`
212
+ flex: none;
213
+ font-family: ${a.font.sans};
214
+ font-size: 10px;
215
+ color: ${a.colors.muted2};
216
+ `,Id=r.div`
217
+ .react-datepicker-wrapper {
218
+ display: block;
219
+ width: 100%;
220
+ }
221
+ .react-datepicker__input-container {
222
+ display: flex;
223
+ align-items: center;
224
+ }
225
+ .react-datepicker__input-container input {
226
+ width: 100%;
227
+ height: 42px;
228
+ padding: 0 8px;
229
+ border: 0.5px solid ${a.colors.text};
230
+ border-radius: 8px;
231
+ background: ${a.colors.white};
232
+ font-family: ${a.font.sans};
233
+ font-size: 13px;
234
+ color: ${a.colors.text};
235
+ outline: none;
236
+ }
237
+ .react-datepicker__input-container input:focus {
238
+ border-color: ${a.colors.magenta};
239
+ }
240
+ &[data-invalid='true'] .react-datepicker__input-container input {
241
+ border-color: ${a.colors.err};
242
+ }
243
+ /* The showIcon calendar glyph inside the field. */
244
+ .react-datepicker__calendar-icon {
245
+ fill: ${a.colors.text};
246
+ opacity: 0.85;
247
+ }
248
+
249
+ ${Ko}
250
+ `,Sd=r.button`
251
+ width: 100%;
252
+ height: 48px;
253
+ border: 0;
254
+ border-radius: 16px;
255
+ cursor: pointer;
256
+ background: ${a.colors.accent};
257
+ color: ${a.colors.white};
258
+ font-family: ${a.font.sans};
259
+ font-weight: 600;
260
+ font-size: 15px;
261
+ line-height: 24px;
262
+ letter-spacing: 0.46px;
263
+ text-transform: uppercase;
264
+
265
+ &:hover:not(:disabled) {
266
+ background: ${a.colors.accentHover};
267
+ }
268
+ &:focus-visible {
269
+ outline: 2px solid ${a.colors.accent};
270
+ outline-offset: 2px;
271
+ }
272
+ &:disabled {
273
+ cursor: not-allowed;
274
+ background: rgba(105, 31, 169, 0.2);
275
+ color: ${a.colors.white};
276
+ }
277
+ `;r.p`
278
+ margin: 0;
279
+ font-family: ${a.font.sans};
280
+ font-size: 13px;
281
+ color: ${a.colors.muted};
282
+ text-align: center;
283
+ `;const Ad=r.p`
284
+ margin: 0;
285
+ font-family: ${a.font.sans};
286
+ font-size: 12px;
287
+ line-height: 1.5;
288
+ color: ${a.colors.muted};
289
+ `,Rd=r.div`
290
+ display: flex;
291
+ flex-direction: column;
292
+ align-items: center;
293
+ gap: 16px;
294
+ padding: 24px 16px;
295
+ border-radius: 16px;
296
+ background: rgba(193, 238, 207, 0.5);
297
+ text-align: center;
298
+ `,Md=r.div`
299
+ display: grid;
300
+ place-items: center;
301
+ width: 64px;
302
+ height: 64px;
303
+ border-radius: 50%;
304
+ background: ${a.colors.ok};
305
+ color: ${a.colors.white};
306
+
307
+ .ico {
308
+ width: 34px;
309
+ height: 34px;
310
+ }
311
+ `,Pd=r.p`
312
+ margin: 0;
313
+ font-family: ${a.font.sans};
314
+ font-size: 20px;
315
+ line-height: 1.334;
316
+ color: ${a.colors.text2};
317
+
318
+ b {
319
+ font-weight: 700;
320
+ }
321
+ `,Ld=r.div`
322
+ display: flex;
323
+ gap: 12px;
324
+
325
+ ${a.media.maxWidth("mobile")} {
326
+ flex-direction: column-reverse;
327
+ }
328
+ `,zd=r.button`
329
+ flex: 1 1 0;
330
+ height: 48px;
331
+ border: 2px solid ${a.colors.accent};
332
+ border-radius: 12px;
333
+ background: transparent;
334
+ color: ${a.colors.accent};
335
+ cursor: pointer;
336
+ font-family: ${a.font.sans};
337
+ font-weight: 600;
338
+ font-size: 13px;
339
+ line-height: 24px;
340
+ letter-spacing: 0.46px;
341
+ text-transform: uppercase;
342
+
343
+ &:hover {
344
+ background: rgba(105, 31, 169, 0.06);
345
+ }
346
+ &:focus-visible {
347
+ outline: 2px solid ${a.colors.accent};
348
+ outline-offset: 2px;
349
+ }
350
+ `,Ed=r.button`
351
+ flex: 1 1 0;
352
+ height: 48px;
353
+ border: 0;
354
+ border-radius: 12px;
355
+ background: ${a.colors.accent};
356
+ color: ${a.colors.softWhite};
357
+ cursor: pointer;
358
+ font-family: ${a.font.sans};
359
+ font-weight: 600;
360
+ font-size: 13px;
361
+ line-height: 24px;
362
+ letter-spacing: 0.46px;
363
+ text-transform: uppercase;
364
+
365
+ &:hover {
366
+ background: ${a.colors.accentHover};
367
+ }
368
+ &:focus-visible {
369
+ outline: 2px solid ${a.colors.accent};
370
+ outline-offset: 2px;
371
+ }
372
+ `,Fd=30;function aa(t){const s=new Date;return s.setHours(0,0,0,0),s.setDate(s.getDate()+t),s}function Td({asset:t,session:s,creator:o,edit:l,onListed:d,onClose:u}){const h=mt(),m=ot(),g=ud(),{data:k}=ie({queryKey:["collection-meta",t.contractAddress],enabled:!o&&!!t.contractAddress,staleTime:5*6e4,queryFn:()=>ri(t.contractAddress)}),x=o||(k==null?void 0:k.creator),{data:j}=gt(x),w=x?j!=null&&j.name?bt(j.name):Qn(x):null,[$,I]=c.useState(l!=null&&l.currentCredits?String(l.currentCredits):"10"),[S,R]=c.useState(()=>aa(Fd)),[O,M]=c.useState(null),[b,B]=c.useState(!1),[i,K]=c.useState(null),[Q,V]=c.useState("form"),X=c.useRef({}),{cancelDone:ne,slow:te,cancelFailed:ce,setCancelFailed:le,cancelCurrent:J,signal:z}=Ii(l,M),T=Vn(s),_=Number($),p=Number.isInteger(_)&&_>0,A=!!l&&!ne&&_===l.currentCredits,C=S?S.getTime():NaN,P=!!S&&C>Date.now(),W=aa(1),H=p?`$${rt(_).toFixed(2)}`:"$0";async function se(G={}){if(M(null),!p){M(n("sellModal.errorWholeNumber"));return}if(!P){M(n("sellModal.invalidDate"));return}if(!T){B(!0);try{const re=Qr(t.contractAddress,t.chainId),xe=await gi(re,s.address);if(B(!1),!xe){X.current=G,V("authorize");return}}catch{B(!1)}}await je(G)}async function je(G={}){var re,xe;if(M(null),!p){M(n("sellModal.errorWholeNumber"));return}if(!P){M(n("sellModal.invalidDate"));return}B(!0);try{if(!await J(G.payGas))return;await Pl({signer:s.signer,contractAddress:t.contractAddress,chainId:t.chainId});const ke=await Ll({signer:s.signer,nft:{contractAddress:t.contractAddress,tokenId:t.tokenId,network:t.network,chainId:t.chainId},usdPrice:rt(_),expiresAtMs:C}),$e=await(l?ji(ke,s.identity,{signal:z()}):ni(ke,s.identity));(re=z())==null||re.throwIfAborted(),K(_),Z("Shop Listed Item",{item_id:t.itemId??t.tokenId??null,contract_address:t.contractAddress,price_credits:_,price_usd:rt(_),listing_type:"secondary",is_primary:!1}),tn.success(n(l?"listingEdit.toastUpdated":"sellModal.toastOnSale",{name:t.name})),h.invalidateQueries({queryKey:["my-assets",s.address]}),d==null||d(_,$e.id)}catch(ke){if((xe=z())!=null&&xe.aborted)return;he(ke,{flow:"list_secondary"}),Z("Shop Listing Failed",{listing_type:"secondary",error_code:Ae(ke)}),M(it(ke,n(l?"listingEdit.listFailedAfterCancel":"sellModal.errorGeneric")))}finally{B(!1)}}function ee(){u(),m("/my-items")}return i!==null?e.jsx(bn,{onClick:u,role:"presentation",children:e.jsxs(yn,{onClick:G=>G.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n(l?"listingEdit.successHeader":"sellModal.successHeader"),children:[e.jsxs(wn,{children:[e.jsx(vn,{children:n(l?"listingEdit.successHeader":"sellModal.successHeader")}),e.jsx(jn,{onClick:u,"aria-label":n("getCredits.done"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsxs(Rd,{children:[e.jsx(Md,{"aria-hidden":!0,children:e.jsx(E,{name:"check",className:"ico"})}),e.jsxs(Pd,{children:[e.jsx("b",{children:n(l?"listingEdit.successBody":"sellModal.successOnSale")})," ",n("sellModal.successManage")]})]}),e.jsxs(Ld,{children:[e.jsx(zd,{onClick:ee,children:n("sellModal.myItems")}),e.jsx(Ed,{onClick:u,children:n("getCredits.done")})]})]})}):Q==="authorize"?e.jsx(ci,{auth:Qr(t.contractAddress,t.chainId),signer:s.signer,title:n("authorizeStep.sellTitle"),name:t.name,image:t.image,icon:e.jsx(E,{name:"pen",className:"ico"}),reason:n("authorizeStep.sellReason",{name:t.name}),onAuthorized:()=>{V("form"),je(X.current)},onCancel:()=>V("form"),onClose:u}):l&&b?e.jsx(bn,{role:"presentation",children:e.jsxs(yn,{onClick:G=>G.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("listingEdit.title"),"data-testid":"modal",children:[e.jsxs(wn,{children:[e.jsx(vn,{children:n("listingEdit.title")}),e.jsx(jn,{disabled:!0,"aria-label":n("sellModal.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsx(Si,{phase:ne?"list":"cancel",managed:T,slow:te})]})}):e.jsx(bn,{onClick:b?void 0:u,role:"presentation",children:e.jsxs(yn,{"data-testid":"modal",onClick:G=>G.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n(l?"listingEdit.title":"sellModal.sellProduct"),children:[e.jsxs(wn,{children:[e.jsx(vn,{children:n(l?"listingEdit.title":"sellModal.sellProduct")}),e.jsx(jn,{onClick:u,disabled:b,"aria-label":n("sellModal.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsx(md,{children:n(l?"listingEdit.subtitle":"sellModal.subtitle")}),e.jsxs(gd,{children:[e.jsx(bd,{children:t.image?e.jsx("img",{src:t.image,alt:""}):null}),e.jsxs(yd,{children:[e.jsx(wd,{children:t.name}),w?e.jsx(vd,{children:n("sellModal.byCreator",{name:w})}):null]})]}),e.jsxs(jd,{children:[e.jsxs(na,{children:[e.jsx(ra,{children:n("sellModal.priceShort")}),e.jsxs(kd,{"aria-invalid":$.length>0&&!p,children:[e.jsx(Pe,{className:"ccy"}),e.jsx($d,{"data-testid":"price-input",type:"number",min:"1",step:"1",inputMode:"numeric",value:$,onChange:G=>I(G.target.value),disabled:b,"aria-label":n("sellModal.priceLabel",{currency:"credits"})}),e.jsx(Cd,{"aria-hidden":!0,children:H})]})]}),e.jsxs(na,{children:[e.jsx(ra,{children:n("sellModal.expirationLabel")}),e.jsx(Id,{"data-invalid":!!S&&!P,children:e.jsx(Ho,{selected:S,onChange:R,minDate:W,dateFormat:"MM/dd/yyyy",placeholderText:"MM/DD/YYYY",disabled:b,showIcon:!0,showPopperArrow:!1,todayButton:n("sellModal.today"),ariaLabelledBy:void 0,"aria-label":n("sellModal.expirationLabel")})})]})]}),g&&p?e.jsx(Ad,{children:n("sellModal.proceedsCredits",{count:_})}):null,ce?e.jsx(Gn,{state:ce,canPayGas:!!(l!=null&&l.canPayGas),busy:b,onPayGas:()=>void se({payGas:!0}),onLater:()=>le(null)}):null,e.jsx(st,{message:O}),e.jsx(Sd,{onClick:()=>void se(),disabled:b||A||ce==="pending"||!p||!P,"data-testid":"list-submit",children:l?n(ne?"sellModal.putUpForSale":"listingEdit.submit"):b?T?n("sellModal.puttingOnSale"):n("sellModal.confirmListing"):n("sellModal.putUpForSale")})]})})}const Nd=r.div`
373
+ position: fixed;
374
+ inset: 0;
375
+ z-index: 10000;
376
+ display: flex;
377
+ align-items: center;
378
+ justify-content: center;
379
+ padding: 16px;
380
+ background: rgba(22, 21, 24, 0.55);
381
+ `,_d=r.div`
382
+ width: 560px;
383
+ max-width: 100%;
384
+ max-height: 92vh;
385
+ overflow-y: auto;
386
+ background: ${a.colors.white};
387
+ border-radius: 16px;
388
+ padding: 12px 16px 16px;
389
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
390
+ display: flex;
391
+ flex-direction: column;
392
+ gap: 24px;
393
+
394
+ ${a.media.maxWidth("mobile")} {
395
+ padding: 12px 16px 16px;
396
+ }
397
+ `,Bd=r.div`
398
+ display: flex;
399
+ flex-direction: column;
400
+ gap: 4px;
401
+ padding-bottom: 16px;
402
+ border-bottom: 1px solid ${a.colors.gray4};
403
+ `,Wd=r.div`
404
+ display: flex;
405
+ align-items: center;
406
+ justify-content: space-between;
407
+ gap: 8px;
408
+ `,Dd=r.h2`
409
+ margin: 0;
410
+ font-family: ${a.font.sans};
411
+ font-weight: 600;
412
+ font-size: 20px;
413
+ line-height: 1.6;
414
+ color: ${a.colors.text};
415
+ `,qd=r.button`
416
+ flex: none;
417
+ display: grid;
418
+ place-items: center;
419
+ width: 24px;
420
+ height: 24px;
421
+ border: 0;
422
+ background: none;
423
+ cursor: pointer;
424
+ color: ${a.colors.text};
425
+
426
+ .ico {
427
+ width: 18px;
428
+ height: 18px;
429
+ }
430
+ &:disabled {
431
+ opacity: 0.4;
432
+ cursor: default;
433
+ }
434
+ &:focus-visible {
435
+ outline: 2px solid ${a.colors.accent};
436
+ outline-offset: 2px;
437
+ }
438
+ `,Od=r.div`
439
+ display: flex;
440
+ align-items: center;
441
+ gap: 12px;
442
+ `,Kd=r.img`
443
+ flex: none;
444
+ width: 72px;
445
+ height: 72px;
446
+ border-radius: 12px;
447
+ object-fit: cover;
448
+ background: ${a.colors.media};
449
+ `,Hd=r.p`
450
+ margin: 0;
451
+ font-family: ${a.font.sans};
452
+ font-weight: 600;
453
+ font-size: 18px;
454
+ line-height: 1.4;
455
+ color: ${a.colors.text};
456
+ `,Ud=r.label`
457
+ display: flex;
458
+ flex-direction: column;
459
+ gap: 6px;
460
+ `,Qd=r.span`
461
+ font-family: ${a.font.sans};
462
+ font-size: 12px;
463
+ color: ${a.colors.muted};
464
+ `,Vd=r.input`
465
+ width: 100%;
466
+ height: 44px;
467
+ padding: 0 12px;
468
+ border: 1px solid ${a.colors.text};
469
+ border-radius: 8px;
470
+ background: ${a.colors.white};
471
+ font-family: ${a.font.sans};
472
+ font-size: 14px;
473
+ color: ${a.colors.text};
474
+
475
+ &::placeholder {
476
+ color: ${a.colors.muted2};
477
+ }
478
+ &:focus-visible {
479
+ outline: none;
480
+ border-color: ${a.colors.magenta};
481
+ }
482
+ &[aria-invalid='true'] {
483
+ border-color: ${a.colors.err};
484
+ }
485
+ &:disabled {
486
+ opacity: 0.6;
487
+ }
488
+ `,Gd=r.p`
489
+ margin: 0;
490
+ padding: 12px 14px;
491
+ border-radius: 10px;
492
+ background: rgba(255, 45, 85, 0.1);
493
+ font-family: ${a.font.sans};
494
+ font-size: 13px;
495
+ line-height: 1.5;
496
+ color: ${a.colors.text2};
497
+ `,ia=r.div`
498
+ display: flex;
499
+ gap: 12px;
500
+
501
+ ${a.media.maxWidth("mobile")} {
502
+ flex-direction: column-reverse;
503
+ }
504
+ `,Yd=r.button`
505
+ flex: 1;
506
+ height: 48px;
507
+ border: 2px solid ${a.colors.blackBtn};
508
+ border-radius: 16px;
509
+ background: transparent;
510
+ color: ${a.colors.text};
511
+ cursor: pointer;
512
+ font-family: ${a.font.sans};
513
+ font-weight: 600;
514
+ font-size: 15px;
515
+ line-height: 24px;
516
+ letter-spacing: 0.46px;
517
+ text-transform: uppercase;
518
+
519
+ &:hover:not(:disabled) {
520
+ background: rgba(36, 33, 41, 0.06);
521
+ }
522
+ &:focus-visible {
523
+ outline: 2px solid ${a.colors.accent};
524
+ outline-offset: 2px;
525
+ }
526
+ &:disabled {
527
+ opacity: 0.5;
528
+ cursor: default;
529
+ }
530
+ `,sa=r.button`
531
+ flex: 1;
532
+ display: inline-flex;
533
+ align-items: center;
534
+ justify-content: center;
535
+ gap: 8px;
536
+ height: 48px;
537
+ border: 0;
538
+ border-radius: 16px;
539
+ background: ${a.colors.blackBtn};
540
+ color: ${a.colors.softWhite};
541
+ cursor: pointer;
542
+ font-family: ${a.font.sans};
543
+ font-weight: 600;
544
+ font-size: 15px;
545
+ line-height: 24px;
546
+ letter-spacing: 0.46px;
547
+ text-transform: uppercase;
548
+
549
+ &:hover:not(:disabled) {
550
+ filter: brightness(1.35);
551
+ }
552
+ &:focus-visible {
553
+ outline: 2px solid ${a.colors.accent};
554
+ outline-offset: 2px;
555
+ }
556
+ &:disabled {
557
+ opacity: 0.55;
558
+ cursor: default;
559
+ }
560
+ `,Jd=r.div`
561
+ display: flex;
562
+ flex-direction: column;
563
+ align-items: center;
564
+ gap: 16px;
565
+ padding: 24px 16px;
566
+ border-radius: 16px;
567
+ background: rgba(193, 238, 207, 0.5);
568
+ text-align: center;
569
+ `,Xd=r.div`
570
+ display: grid;
571
+ place-items: center;
572
+ width: 64px;
573
+ height: 64px;
574
+ border-radius: 50%;
575
+ background: ${a.colors.ok};
576
+ color: ${a.colors.white};
577
+
578
+ .ico {
579
+ width: 34px;
580
+ height: 34px;
581
+ }
582
+ `,Zd=r.p`
583
+ margin: 0;
584
+ font-family: ${a.font.sans};
585
+ font-size: 16px;
586
+ line-height: 1.34;
587
+ color: ${a.colors.text2};
588
+
589
+ b {
590
+ font-weight: 700;
591
+ }
592
+ `;function ec(t){return/^0x[a-fA-F0-9]{40}$/.test(t.trim())}function tc({item:t,session:s,onClose:o,onTransferred:l}){const[d,u]=c.useState(""),[h,m]=c.useState(!1),[g,k]=c.useState(null),[x,j]=c.useState(!1),w=d.trim(),$=ec(w),I=$&&w.toLowerCase()===s.address.toLowerCase(),S=w.length===0?null:$?I?n("transfer.selfAddress"):null:n("transfer.invalidAddress"),R=$&&!I&&!h;async function O(){if(R){k(null),m(!0);try{await Do({contractAddress:t.contractAddress,chainId:t.chainId,tokenId:t.tokenId,to:w,signer:s.signer}),Z("Shop Transferred Item",{contract_address:t.contractAddress,token_id:t.tokenId}),j(!0),tn.success(n("transfer.toastSuccess",{name:t.name})),l==null||l()}catch(M){Zt(M)||he(M,{flow:"transfer-item",tokenId:t.tokenId}),Z("Shop Transfer Failed",{error_code:Ae(M)}),k(Zt(M)?n("getCredits.errorCanceled"):it(M,n("transfer.errorGeneric")))}finally{m(!1)}}}return e.jsx(Nd,{onClick:h?void 0:o,role:"presentation",children:e.jsxs(_d,{onClick:M=>M.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("transfer.title"),children:[e.jsx(Bd,{children:e.jsxs(Wd,{children:[e.jsx(Dd,{children:n("transfer.title")}),e.jsx(qd,{onClick:o,disabled:h,"aria-label":n("sellModal.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]})}),x?e.jsxs(e.Fragment,{children:[e.jsxs(Jd,{children:[e.jsx(Xd,{"aria-hidden":!0,children:e.jsx(E,{name:"check",className:"ico"})}),e.jsx(Zd,{children:n("transfer.successBody",{name:t.name})})]}),e.jsx(ia,{children:e.jsx(sa,{onClick:o,children:n("getCredits.done")})})]}):e.jsxs(e.Fragment,{children:[e.jsxs(Od,{children:[t.thumbnail?e.jsx(Kd,{src:t.thumbnail,alt:""}):null,e.jsx(Hd,{children:t.name})]}),e.jsxs(Ud,{children:[e.jsx(Qd,{children:n("transfer.addressLabel")}),e.jsx(Vd,{type:"text",spellCheck:!1,autoComplete:"off",placeholder:"0x…",value:d,onChange:M=>u(M.target.value),disabled:h,"aria-invalid":!!S,"aria-label":n("transfer.addressLabel")}),S?e.jsx(st,{message:S}):null]}),e.jsx(Gd,{children:n("transfer.warning")}),e.jsx(st,{message:g}),e.jsxs(ia,{children:[e.jsx(Yd,{onClick:o,disabled:h,children:n("sellModal.cancel")}),e.jsx(sa,{onClick:()=>void O(),disabled:!R,children:h?n("transfer.transferring"):n("transfer.transfer")})]})]})]})})}const nc=r(Hl)`
593
+ width: min(500px, 92vw);
594
+ gap: 20px;
595
+
596
+ ${a.media.maxWidth("mobile")} {
597
+ [data-actions] {
598
+ flex-direction: column-reverse;
599
+ }
600
+ [data-actions] > * {
601
+ width: 100%;
602
+ }
603
+ }
604
+ `,rc=r(Ve)`
605
+ background: ${a.colors.accent};
606
+ color: ${a.colors.white};
607
+ text-transform: uppercase;
608
+ letter-spacing: 0.046em;
609
+ font-size: 13px;
610
+
611
+ &:hover:not(:disabled) {
612
+ background: ${a.colors.accentHover};
613
+ }
614
+ `;function ac({name:t,managed:s,canPayGas:o,cancel:l,onClose:d}){const[u,h]=c.useState(!1),[m,g]=c.useState(!1),[k,x]=c.useState(null),[j,w]=c.useState(null);async function $(I){x(null),w(null),h(!0);try{const S=await l({payGas:I,onWaiting:R=>g(R>2e4)});S==="ok"?d():w(S==="relay-reverted"?"reverted":"pending")}catch(S){const R=Zt(S);R||he(S,{flow:"remove-listing"});const O=n("myAssets.removeListingError");x(s?O:R?n("getCredits.errorCanceled"):it(S,O))}finally{h(!1),g(!1)}}return e.jsx(Ul,{onClick:u?void 0:d,role:"presentation",children:e.jsxs(nc,{onClick:I=>I.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("removeListing.title"),"data-testid":"remove-listing-modal",children:[e.jsx(Ql,{children:e.jsx(Vl,{children:n("removeListing.title")})}),e.jsx("p",{className:"muted",style:{margin:0},children:n("removeListing.body",{name:t})}),u&&m?e.jsx("p",{className:"muted small",style:{margin:0},"data-testid":"cancel-slow",children:n(o?"itemDetail.cancelSlow":"itemDetail.cancelSlowManaged")}):null,j?e.jsx(Gn,{state:j,canPayGas:o,busy:u,onPayGas:()=>void $(!0),testId:"cancel-gasless-failed"}):null,e.jsx(st,{message:k}),e.jsxs(Gl,{"data-actions":!0,children:[e.jsx(Ve,{variant:"outline",onClick:d,disabled:u,children:n("sellModal.cancel")}),e.jsx(rc,{onClick:()=>void $(),disabled:u||j==="pending","data-testid":"remove-confirm",children:u?e.jsx(Yl,{size:"small"}):n("itemDetail.manageRemove")})]})]})})}const kn=r.div`
615
+ position: fixed;
616
+ inset: 0;
617
+ z-index: 10000;
618
+ display: flex;
619
+ align-items: center;
620
+ justify-content: center;
621
+ padding: 16px;
622
+ background: rgba(22, 21, 24, 0.55);
623
+ `,$n=r.div`
624
+ width: 560px;
625
+ max-width: 100%;
626
+ max-height: 92vh;
627
+ overflow-y: auto;
628
+ background: ${a.colors.white};
629
+ border-radius: 16px;
630
+ padding: 12px 16px 16px;
631
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
632
+ display: flex;
633
+ flex-direction: column;
634
+ gap: 24px;
635
+ `,Cn=r.div`
636
+ display: flex;
637
+ align-items: center;
638
+ justify-content: space-between;
639
+ gap: 8px;
640
+ padding-bottom: 16px;
641
+ border-bottom: 1px solid ${a.colors.gray4};
642
+ `,In=r.h2`
643
+ margin: 0;
644
+ font-family: ${a.font.sans};
645
+ font-weight: 600;
646
+ font-size: 20px;
647
+ line-height: 1.6;
648
+ color: ${a.colors.text};
649
+ `,Sn=r.button`
650
+ flex: none;
651
+ display: grid;
652
+ place-items: center;
653
+ width: 24px;
654
+ height: 24px;
655
+ border: 0;
656
+ background: none;
657
+ cursor: pointer;
658
+ color: ${a.colors.text};
659
+
660
+ .ico {
661
+ width: 18px;
662
+ height: 18px;
663
+ }
664
+ &:disabled {
665
+ opacity: 0.4;
666
+ cursor: default;
667
+ }
668
+ &:focus-visible {
669
+ outline: 2px solid ${a.colors.accent};
670
+ outline-offset: 2px;
671
+ }
672
+ `,ic=r.p`
673
+ margin: 0;
674
+ font-family: ${a.font.sans};
675
+ font-size: 14px;
676
+ line-height: 1.57;
677
+ color: ${a.colors.text};
678
+ text-align: left;
679
+ `,sc=r.div`
680
+ display: flex;
681
+ align-items: center;
682
+ gap: 12px;
683
+ `,oc=r.div`
684
+ flex: none;
685
+ display: grid;
686
+ place-items: center;
687
+ width: 180px;
688
+ height: 180px;
689
+ border-radius: 16px;
690
+ background: ${a.colors.media};
691
+ border: 1px solid ${a.colors.gray4};
692
+ overflow: hidden;
693
+
694
+ img {
695
+ width: 150px;
696
+ height: 150px;
697
+ object-fit: contain;
698
+ filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.1));
699
+ }
700
+
701
+ ${a.media.maxWidth("mobile")} {
702
+ width: 120px;
703
+ height: 120px;
704
+
705
+ img {
706
+ width: 100px;
707
+ height: 100px;
708
+ }
709
+ }
710
+ `,lc=r.div`
711
+ flex: 1 1 0;
712
+ min-width: 0;
713
+ display: flex;
714
+ flex-direction: column;
715
+ gap: 4px;
716
+ padding: 8px;
717
+ `,dc=r.p`
718
+ margin: 0;
719
+ font-family: ${a.font.sans};
720
+ font-weight: 600;
721
+ font-size: 20px;
722
+ line-height: 1.57;
723
+ color: ${a.colors.text};
724
+ `,cc=r.p`
725
+ margin: 0;
726
+ font-family: ${a.font.sans};
727
+ font-size: 10px;
728
+ line-height: 1.43;
729
+ color: ${a.colors.muted};
730
+ `,uc=r.label`
731
+ display: flex;
732
+ flex-direction: column;
733
+ gap: 4px;
734
+ `,pc=r.span`
735
+ font-family: ${a.font.sans};
736
+ font-size: 12px;
737
+ color: ${a.colors.muted};
738
+ `,hc=r.div`
739
+ display: flex;
740
+ align-items: center;
741
+ justify-content: space-between;
742
+ gap: 4px;
743
+ height: 42px;
744
+ padding: 0 8px;
745
+ border: 0.5px solid ${a.colors.text};
746
+ border-radius: 8px;
747
+ background: ${a.colors.white};
748
+
749
+ &:focus-within {
750
+ border-color: ${a.colors.magenta};
751
+ }
752
+ &[aria-invalid='true'] {
753
+ border-color: ${a.colors.err};
754
+ }
755
+
756
+ .ccy {
757
+ flex: none;
758
+ width: 22px;
759
+ height: 22px;
760
+ color: ${a.colors.rarity};
761
+ }
762
+ `,fc=r.input`
763
+ flex: 1 1 auto;
764
+ min-width: 0;
765
+ border: 0;
766
+ outline: none;
767
+ background: transparent;
768
+ font-family: ${a.font.sans};
769
+ font-size: 13px;
770
+ color: ${a.colors.text};
771
+
772
+ &::placeholder {
773
+ color: ${a.colors.muted2};
774
+ }
775
+ /* Strip the number spinners — the glyph + USD hint carry the affordance. */
776
+ &::-webkit-outer-spin-button,
777
+ &::-webkit-inner-spin-button {
778
+ -webkit-appearance: none;
779
+ margin: 0;
780
+ }
781
+ &[type='number'] {
782
+ -moz-appearance: textfield;
783
+ appearance: textfield;
784
+ }
785
+ `,xc=r.span`
786
+ flex: none;
787
+ font-family: ${a.font.sans};
788
+ font-size: 10px;
789
+ color: ${a.colors.muted2};
790
+ `,Vt=r.p`
791
+ margin: 0;
792
+ font-family: ${a.font.sans};
793
+ font-size: 12px;
794
+ line-height: 1.5;
795
+ color: ${a.colors.muted};
796
+ `,mc=r.button`
797
+ width: 100%;
798
+ height: 48px;
799
+ border: 0;
800
+ border-radius: 16px;
801
+ cursor: pointer;
802
+ background: ${a.colors.accent};
803
+ color: ${a.colors.white};
804
+ font-family: ${a.font.sans};
805
+ font-weight: 600;
806
+ font-size: 15px;
807
+ line-height: 24px;
808
+ letter-spacing: 0.46px;
809
+ text-transform: uppercase;
810
+
811
+ &:hover:not(:disabled) {
812
+ background: ${a.colors.accentHover};
813
+ }
814
+ &:focus-visible {
815
+ outline: 2px solid ${a.colors.accent};
816
+ outline-offset: 2px;
817
+ }
818
+ &:disabled {
819
+ cursor: not-allowed;
820
+ background: rgba(105, 31, 169, 0.2);
821
+ color: ${a.colors.white};
822
+ }
823
+ `,gc=r.p`
824
+ margin: 0;
825
+ font-family: ${a.font.sans};
826
+ font-size: 13px;
827
+ color: ${a.colors.muted};
828
+ text-align: center;
829
+ `,bc=r.div`
830
+ display: flex;
831
+ flex-direction: column;
832
+ align-items: center;
833
+ gap: 16px;
834
+ padding: 24px 16px;
835
+ border-radius: 16px;
836
+ background: rgba(193, 238, 207, 0.5);
837
+ text-align: center;
838
+ `,yc=r.div`
839
+ display: grid;
840
+ place-items: center;
841
+ width: 64px;
842
+ height: 64px;
843
+ border-radius: 50%;
844
+ background: ${a.colors.ok};
845
+ color: ${a.colors.white};
846
+
847
+ .ico {
848
+ width: 34px;
849
+ height: 34px;
850
+ }
851
+ `,wc=r.p`
852
+ margin: 0;
853
+ font-family: ${a.font.sans};
854
+ font-size: 20px;
855
+ line-height: 1.334;
856
+ color: ${a.colors.text2};
857
+
858
+ b {
859
+ font-weight: 700;
860
+ }
861
+ `,vc=r.p`
862
+ margin: 0;
863
+ display: inline-flex;
864
+ align-items: center;
865
+ gap: 4px;
866
+ font-family: ${a.font.sans};
867
+ font-size: 14px;
868
+ line-height: 1.43;
869
+ color: ${a.colors.text2};
870
+
871
+ strong {
872
+ display: inline-flex;
873
+ align-items: center;
874
+ gap: 4px;
875
+ font-weight: 700;
876
+ }
877
+ .ccy-mark {
878
+ width: 18px;
879
+ height: 18px;
880
+ color: ${a.colors.rarity};
881
+ }
882
+ `,jc=r.div`
883
+ display: flex;
884
+ gap: 12px;
885
+
886
+ ${a.media.maxWidth("mobile")} {
887
+ flex-direction: column-reverse;
888
+ }
889
+ `,kc=r.button`
890
+ flex: 1 1 0;
891
+ height: 48px;
892
+ border: 2px solid ${a.colors.accent};
893
+ border-radius: 12px;
894
+ background: transparent;
895
+ color: ${a.colors.accent};
896
+ cursor: pointer;
897
+ font-family: ${a.font.sans};
898
+ font-weight: 600;
899
+ font-size: 13px;
900
+ line-height: 24px;
901
+ letter-spacing: 0.46px;
902
+ text-transform: uppercase;
903
+
904
+ &:hover {
905
+ background: rgba(105, 31, 169, 0.06);
906
+ }
907
+ &:focus-visible {
908
+ outline: 2px solid ${a.colors.accent};
909
+ outline-offset: 2px;
910
+ }
911
+ `,$c=r.button`
912
+ flex: 1 1 0;
913
+ height: 48px;
914
+ border: 0;
915
+ border-radius: 12px;
916
+ background: ${a.colors.accent};
917
+ color: ${a.colors.softWhite};
918
+ cursor: pointer;
919
+ font-family: ${a.font.sans};
920
+ font-weight: 600;
921
+ font-size: 13px;
922
+ line-height: 24px;
923
+ letter-spacing: 0.46px;
924
+ text-transform: uppercase;
925
+
926
+ &:hover {
927
+ background: ${a.colors.accentHover};
928
+ }
929
+ &:focus-visible {
930
+ outline: 2px solid ${a.colors.accent};
931
+ outline-offset: 2px;
932
+ }
933
+ `,Cc=1e3*60*60*24*182;function Ic({item:t,session:s,edit:o,onListed:l,onClose:d}){const u=mt(),h=ot(),[m,g]=c.useState(o!=null&&o.currentCredits?String(o.currentCredits):"10"),[k,x]=c.useState(null),[j,w]=c.useState(null),[$,I]=c.useState(!1),[S,R]=c.useState(null),[O,M]=c.useState(null),{cancelDone:b,slow:B,cancelFailed:i,setCancelFailed:K,cancelCurrent:Q,signal:V}=Ii(o,w),X=Le.chainId,ne=Vn(s),{data:te}=gt(s.address),ce=te!=null&&te.name?bt(te.name):Qn(s.address),le=Number(m),J=Number.isInteger(le)&&le>0,z=!!o&&!b&&le===o.currentCredits,T=J?`$${rt(le).toFixed(2)}`:"$0";c.useEffect(()=>{let C=!1;return(async()=>{try{const P=await zl({contractAddress:t.contractAddress,chainId:X});C||R(P)}catch{C||R(!1)}})(),()=>{C=!0}},[t.contractAddress,X]);async function _(C={}){var W,H;w(null);const P=Number(m);if(!Number.isInteger(P)||P<=0){w(n("primaryList.errorWholeNumber"));return}I(!0);try{if(!await Q(C.payGas))return;S||(x(n("primaryList.statusEnabling")),await El({signer:s.signer,contractAddress:t.contractAddress,chainId:X}),R(!0)),x(n("primaryList.statusPublishing"));const se=await Fl({signer:s.signer,item:{contractAddress:t.contractAddress,itemId:t.blockchainItemId,network:Re.Network.MATIC,chainId:X},usdPrice:rt(P),uses:t.remainingSupply,expiresAtMs:Date.now()+Cc});x(n("primaryList.statusFinishing"));const je=await(o?ji(se,s.identity,{signal:V()}):ni(se,s.identity));(W=V())==null||W.throwIfAborted(),x(null),M(P),Z("Shop Listed Item",{item_id:t.blockchainItemId,contract_address:t.contractAddress,price_credits:P,price_usd:rt(P),listing_type:"primary",is_primary:!0}),tn.success(n(o?"listingEdit.toastUpdated":"primaryList.toastOnSale",{name:t.name})),l==null||l(P,je.id),u.invalidateQueries({queryKey:["publishable-items"]}),u.invalidateQueries({queryKey:["collection-sale-state"]}),u.invalidateQueries({queryKey:["shop-items"]}),u.invalidateQueries({queryKey:["catalog-items"]}),u.invalidateQueries({queryKey:["overview-listings"]}),u.invalidateQueries({queryKey:["upsell-listings"]})}catch(se){if((H=V())!=null&&H.aborted)return;he(se,{flow:"list_primary"}),Z("Shop Listing Failed",{listing_type:"primary",error_code:Ae(se)}),w(it(se,n(o?"listingEdit.listFailedAfterCancel":"primaryList.errorGeneric"))),x(null)}finally{I(!1)}}function p(){d(),h($s(t.contractAddress,t.blockchainItemId))}const A=S===null?n("primaryList.checking"):o?n(b?"primaryList.putOnSale":"listingEdit.submit"):$?ne?n("primaryList.publishing"):n("primaryList.confirmListing"):S===!1?n("primaryList.enableAndPutOnSale"):n("primaryList.putOnSale");return O!==null?e.jsx(kn,{onClick:d,role:"presentation",children:e.jsxs($n,{onClick:C=>C.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n(o?"listingEdit.successHeader":"primaryList.successTitle"),children:[e.jsxs(Cn,{children:[e.jsx(In,{children:n(o?"listingEdit.successHeader":"primaryList.successTitle")}),e.jsx(Sn,{onClick:d,"aria-label":n("getCredits.done"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsxs(bc,{children:[e.jsx(yc,{"aria-hidden":!0,children:e.jsx(E,{name:"check",className:"ico"})}),e.jsx(wc,{children:e.jsx("b",{children:t.name})}),e.jsxs(vc,{children:[n("primaryList.listedFor")," ",e.jsxs("strong",{children:[e.jsx(Pe,{className:"ccy-mark"})," ",e.jsx(be,{credits:O})]})," ",n("primaryList.dotAvailable",{count:t.remainingSupply})]})]}),e.jsxs(jc,{children:[e.jsx(kc,{onClick:d,children:n("getCredits.done")}),e.jsx($c,{onClick:p,children:n("primaryList.viewInShop")})]})]})}):o&&$?e.jsx(kn,{role:"presentation",children:e.jsxs($n,{onClick:C=>C.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("listingEdit.title"),"data-testid":"modal",children:[e.jsxs(Cn,{children:[e.jsx(In,{children:n("listingEdit.title")}),e.jsx(Sn,{disabled:!0,"aria-label":n("primaryList.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsx(Si,{phase:b?"list":"cancel",managed:ne,slow:B})]})}):e.jsx(kn,{onClick:$?void 0:d,role:"presentation",children:e.jsxs($n,{"data-testid":"modal",onClick:C=>C.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":o?n("listingEdit.title"):n("primaryList.publishTitle",{name:t.name}),children:[e.jsxs(Cn,{children:[e.jsx(In,{children:o?n("listingEdit.title"):n("primaryList.publishTitle",{name:t.name})}),e.jsx(Sn,{onClick:d,disabled:$,"aria-label":n("primaryList.cancel"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsx(ic,{children:n("primaryList.fromCollection",{collectionName:t.collectionName,count:t.remainingSupply})}),e.jsxs(sc,{children:[e.jsx(oc,{children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null}),e.jsxs(lc,{children:[e.jsx(dc,{children:t.name}),ce?e.jsx(cc,{children:n("primaryList.byCreator",{name:ce})}):null]})]}),e.jsxs(uc,{children:[e.jsx(pc,{children:n("primaryList.priceShort")}),e.jsxs(hc,{"aria-invalid":m.length>0&&!J,children:[e.jsx(Pe,{className:"ccy"}),e.jsx(fc,{"data-testid":"price-input",type:"number",min:"1",step:"1",inputMode:"numeric",value:m,onChange:C=>g(C.target.value),disabled:$,"aria-label":n("primaryList.priceLabel",{currency:qe.name})}),e.jsx(xc,{"aria-hidden":!0,children:T})]})]}),e.jsx(Vt,{children:n("primaryList.pricedInWhole",{currency:qe.name,currencySingular:qe.nameSingular})}),o?!$&&!b?e.jsx(Vt,{children:n("listingEdit.subtitle")}):null:S===!1&&!$?e.jsx(Vt,{children:ne?n("primaryList.firstTimeManaged",{collectionName:t.collectionName}):n("primaryList.firstTimeConfirm",{collectionName:t.collectionName})}):S===!0&&!$?e.jsx(Vt,{children:ne?n("primaryList.readyManaged"):n("primaryList.readyConfirm")}):null,i?e.jsx(Gn,{state:i,canPayGas:!!(o!=null&&o.canPayGas),busy:$,onPayGas:()=>void _({payGas:!0}),onLater:()=>K(null)}):null,k&&!o?e.jsx(gc,{children:k}):null,e.jsx(st,{message:j}),e.jsx(mc,{onClick:()=>void _(),disabled:$||z||i==="pending"||S===null||!J,"data-testid":"list-submit",children:A})]})})}const Sc=r.div`
934
+ position: fixed;
935
+ inset: 0;
936
+ z-index: 10000;
937
+ display: flex;
938
+ align-items: center;
939
+ justify-content: center;
940
+ padding: 16px;
941
+ background: rgba(22, 21, 24, 0.55);
942
+ `,Ac=r.div`
943
+ width: 760px;
944
+ max-width: 100%;
945
+ background: ${a.colors.white};
946
+ border-radius: 16px;
947
+ padding: 12px 16px 16px;
948
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
949
+ display: flex;
950
+ flex-direction: column;
951
+ gap: 16px;
952
+ `,Rc=r.div`
953
+ display: flex;
954
+ align-items: center;
955
+ justify-content: space-between;
956
+ gap: 8px;
957
+ padding-bottom: 16px;
958
+ border-bottom: 1px solid ${a.colors.gray4};
959
+ `,Mc=r.h2`
960
+ margin: 0;
961
+ font-family: ${a.font.sans};
962
+ font-weight: 600;
963
+ font-size: 20px;
964
+ line-height: 1.6;
965
+ color: ${a.colors.text};
966
+ `,Pc=r.button`
967
+ flex: none;
968
+ display: grid;
969
+ place-items: center;
970
+ width: 24px;
971
+ height: 24px;
972
+ border: 0;
973
+ background: none;
974
+ cursor: pointer;
975
+ color: ${a.colors.text};
976
+
977
+ .ico {
978
+ width: 18px;
979
+ height: 18px;
980
+ }
981
+ &:focus-visible {
982
+ outline: 2px solid ${a.colors.accent};
983
+ outline-offset: 2px;
984
+ }
985
+ `,Lc=r.video`
986
+ display: block;
987
+ width: 100%;
988
+ max-height: 70vh;
989
+ border-radius: 12px;
990
+ background: ${a.colors.blackBtn};
991
+ `;function zc({src:t,itemName:s,onClose:o}){const l=c.useRef(null);return c.useEffect(()=>{var u;(u=l.current)==null||u.focus();function d(h){h.key==="Escape"&&o()}return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[o]),e.jsx(Sc,{onClick:o,role:"presentation",children:e.jsxs(Ac,{ref:l,tabIndex:-1,onClick:d=>d.stopPropagation(),"data-testid":"modal",role:"dialog","aria-modal":"true","aria-label":n("itemDetail.showcaseTitle"),children:[e.jsxs(Rc,{children:[e.jsx(Mc,{children:s||n("itemDetail.showcaseTitle")}),e.jsx(Pc,{onClick:o,"aria-label":n("itemDetail.showcaseClose"),children:e.jsx(E,{name:"close",size:18})})]}),e.jsx(Lc,{src:t,"data-testid":"showcase-video",controls:!0,autoPlay:!0,muted:!0,playsInline:!0,preload:"auto"})]})})}const{colors:He,radius:Ec}=a,Fc=r.div`
992
+ position: fixed;
993
+ inset: 0;
994
+ z-index: 60;
995
+ display: grid;
996
+ place-items: center;
997
+ padding: 20px;
998
+ `,Tc=r.div`
999
+ position: absolute;
1000
+ inset: 0;
1001
+ background: rgba(22, 21, 24, 0.45);
1002
+ `,Nc=r.div`
1003
+ position: relative;
1004
+ z-index: 1;
1005
+ width: 100%;
1006
+ max-width: 420px;
1007
+ background: ${He.white};
1008
+ border-radius: ${Ec.banner};
1009
+ padding: 24px;
1010
+ box-shadow: 0 24px 60px rgba(22, 21, 24, 0.28);
1011
+ animation: cart-pop-in 0.16s ease;
1012
+ `,_c=r.div`
1013
+ display: flex;
1014
+ align-items: center;
1015
+ gap: 14px;
1016
+ margin-bottom: 18px;
1017
+ `,Bc=r.div`
1018
+ width: 64px;
1019
+ height: 64px;
1020
+ flex: none;
1021
+ border-radius: 12px;
1022
+ overflow: hidden;
1023
+ background: ${He.media};
1024
+
1025
+ & img {
1026
+ width: 100%;
1027
+ height: 100%;
1028
+ object-fit: contain;
1029
+ }
1030
+ `,Wc=r.div`
1031
+ font-weight: 700;
1032
+ font-size: 16px;
1033
+ color: ${He.text};
1034
+ margin-bottom: 6px;
1035
+ `,Dc=r.div`
1036
+ background: ${He.panel};
1037
+ border-radius: 14px;
1038
+ padding: 16px;
1039
+ margin-bottom: 14px;
1040
+ `,oa=r.div`
1041
+ color: ${He.muted};
1042
+ font-size: 13px;
1043
+ font-weight: 600;
1044
+ margin-bottom: 6px;
1045
+ `,la=r.div`
1046
+ display: flex;
1047
+ align-items: center;
1048
+ gap: 8px;
1049
+ font-weight: 700;
1050
+ font-size: 24px;
1051
+ color: ${He.text};
1052
+
1053
+ &[data-approx] {
1054
+ color: ${He.text2};
1055
+ }
1056
+ `,qc=r.span`
1057
+ color: ${He.muted};
1058
+ `,da=r(Pe)`
1059
+ width: 20px;
1060
+ height: 20px;
1061
+ color: ${He.text};
1062
+ `,ca=r.div`
1063
+ margin-top: 6px;
1064
+ font-size: 13px;
1065
+ `,Oc=r.div`
1066
+ font-size: 13px;
1067
+ margin-bottom: 6px;
1068
+ `,Ai=yt`
1069
+ margin: 6px 0 0;
1070
+ font-size: 13px;
1071
+ `,An=r.p`
1072
+ ${Ai};
1073
+ `,Kc=r(st)`
1074
+ ${Ai};
1075
+ `,Hc=r.div`
1076
+ display: flex;
1077
+ gap: 10px;
1078
+ margin-top: 18px;
1079
+ `,ua=r(Ve)`
1080
+ flex: 1;
1081
+ `;function Rn(t){if(Zt(t))return n("errors.rejected");const s=(t.message??"").toLowerCase();return s.includes("insufficient")?n("marketCheckout.error.insufficient",{currency:qe.name}):s.includes("not found")||s.includes("no active listing")||s.includes("404")?n("marketCheckout.error.soldOrRemoved"):s.includes("your own listing")?n("errors.cantBuyOwn"):n("marketCheckout.error.generic")}function Uc(t){return{id:t.tradeId,tradeId:t.tradeId,name:t.name,creator:t.creator,contractAddress:t.contractAddress,itemId:t.itemId,category:t.category,wearableCategory:t.wearableCategory??void 0,rarity:t.rarity,network:t.network,chainId:t.chainId,thumbnail:t.thumbnail,priceCredits:0,gender:null,isSmart:!1}}function Ri({listing:t,rate:s,onClose:o,onSold:l}){const{session:d}=at(),{data:u,isError:h}=ei(d),m=mt(),g=ot(),[k,x]=c.useState("confirm"),[j,w]=c.useState(n("marketCheckout.checkingListing")),[$,I]=c.useState(null),[S,R]=c.useState(null),[O,M]=c.useState(null),[b,B]=c.useState(!1),i=c.useRef(null),K=c.useRef(!1),Q=c.useRef(Ci());c.useEffect(()=>(K.current=!1,()=>{K.current=!0}),[]);const V=nt(xn(t.manaWei,s));c.useEffect(()=>{let z=!1;if(!d){x("error"),I(n("buyModal.signInToCheckout"));return}return(async()=>{try{const _=await ii(t.tradeId);if(!_)throw new Error("not found");if(!Is(_))throw new Error("not found");if(Ss(_,d.address))throw new Error("You can't buy your own listing.");const p=xn(t.manaWei,s);if(!Number.isFinite(p)||p<=0)throw new Error("price unavailable");if(z)return;R({trade:_,usdCents:p,credits:nt(p)}),w("")}catch(_){if(z)return;console.error("[market] listing check failed",_),Z(ye(_)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"resolve",error_code:Ae(_),value_usd:Math.round(xn(t.manaWei,s))/100}),x("error"),I(Rn(_))}})(),()=>{z=!0,i.current&&d&&(ce([i.current]),i.current=null)}},[]);const X=!!S&&u!=null&&u.credits<S.credits;async function ne(){if(!d||!S)return;if(X){Z("Shop Buy Credits Prompted",{from:"item_checkout",credits_needed:S.credits,credits_balance:(u==null?void 0:u.credits)??0,shortfall:Math.max(0,S.credits-((u==null?void 0:u.credits)??0))}),i.current&&(await te([i.current])&&M(null),i.current=null),g("/credits");return}x("working"),I(null),B(!1);let z=O;if(!z){w(n("marketCheckout.lockingPrice"));try{const{credit:C,maxCreditedValue:P,usdCents:W}=await Dn(d.identity,S.usdCents,t.tradeId);if(K.current){te([C.id]);return}i.current=C.id,m.invalidateQueries({queryKey:["usd-balance"]});const H=nt(W);if(z={trade:S.trade,credit:C,maxCreditedValue:P,usdCents:W,credits:H},M(z),H!==S.credits){R({trade:S.trade,usdCents:W,credits:H}),B(!0),w(""),x("confirm");return}}catch(C){console.error("[market] authorize failed",C),ye(C)||he(C,{flow:"market_buy_now",step:"authorize"}),Z(ye(C)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"authorize",error_code:Ae(C),value_usd:S.usdCents/100}),w(""),I(Rn(C)),x("error");return}}if(!z)return;const T=z;let _=!1,p;try{w(n("marketCheckout.confirming"));const C={trade:T.trade,buyer:d.address,signer:d.signer,credits:[T.credit],maxCreditedValue:T.maxCreditedValue,onBroadcast:({txHash:P})=>Q.current.broadcast(T.credit.id,P),onReverted:({txHash:P})=>{P&&Q.current.reverted(P)}};if(Q.current.submitStarted(T.credit.id),mi())try{p=await Bl(C),Q.current.broadcast(T.credit.id,p),await bi(p),_=!0}catch(P){if(P instanceof yi)_=!0;else if(P instanceof wi){if(P.reason==="relayer-unreachable")throw Q.current.unobservable(T.credit.id),P;if(!en(d.providerType))throw P;p=await qr(C)}else throw p&&Q.current.reverted(p),P}else p=await qr(C)}catch(C){Q.current.submitFinished(T.credit.id),console.error("[market] buy now failed",C),await te([T.credit.id])&&M(null),i.current=null,Z(ye(C)?"Shop Purchase Cancelled":"Shop Purchase Failed",{step:"submit",error_code:Ae(C),value_usd:T.usdCents/100}),m.invalidateQueries({queryKey:["usd-balance"]}),I(Rn(C)),x("error");const P=(C.message??"").toLowerCase();(P.includes("not found")||P.includes("no active listing")||P.includes("404"))&&l();return}Q.current.submitFinished(T.credit.id),i.current=null;try{m.invalidateQueries({queryKey:["usd-balance"]}),Z("Shop Completed Purchase",{items:[{item_id:t.itemId??null,contract_address:t.contractAddress,token_id:null,price_usd:T.usdCents/100,category:t.category,is_smart:!1}],value_credits:T.credits,value_usd:T.usdCents/100,purchase_type:"item",is_primary:!0,payment_type:"credits",no_crypto_step:_,transaction_hash:p??null}),m.invalidateQueries({queryKey:["detail-trade"]}),m.invalidateQueries({queryKey:["shop-item"]}),m.invalidateQueries({queryKey:["item-resales",t.contractAddress,t.itemId]}),m.invalidateQueries({queryKey:["shop-items"]}),m.invalidateQueries({queryKey:["catalog-items"]}),m.invalidateQueries({queryKey:["my-assets"]}),m.invalidateQueries({queryKey:["purchases"]})}catch(C){he(C,{flow:"market_buy_now",step:"post_purchase"})}const A={items:[Uc(t)],txHash:p};g("/success",{state:A})}async function te(z){if(!d||z.length===0)return!1;const T=z.filter(_=>!Q.current.mayBeConsumed(_));if(T.length===0)return!1;try{return await ti(d.identity,T),!0}catch{return!1}}function ce(z){te(z.filter(T=>!Q.current.isInFlight(T)))}function le(){d&&O&&te([O.credit.id]),i.current=null,o()}const J=k==="working";return e.jsxs(Fc,{role:"dialog","aria-modal":"true","aria-label":n("buyModal.dialogAria",{name:t.name}),children:[e.jsx(Tc,{onClick:J?void 0:le,"aria-hidden":!0}),e.jsxs(Nc,{children:[e.jsxs(_c,{children:[e.jsx(Bc,{children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:""}):null}),e.jsxs("div",{children:[e.jsx(Wc,{title:t.name,children:t.name||n("buyModal.itemFallback")}),e.jsx(ai,{"data-variant":"rarity",children:t.rarity})]})]}),e.jsx(Dc,{children:S?e.jsxs(e.Fragment,{children:[e.jsx(oa,{children:n("marketCheckout.finalPrice")}),e.jsxs(la,{children:[e.jsx(da,{}),e.jsx(be,{credits:S.credits})," ",Tr(S.credits)]}),e.jsxs(ca,{className:"muted",children:["$",rt(S.credits).toFixed(2)]})]}):e.jsxs(e.Fragment,{children:[e.jsx(oa,{children:n("marketCheckout.todaysPrice")}),e.jsxs(la,{"data-approx":!0,children:[e.jsx(qc,{"aria-hidden":!0,children:"≈"}),e.jsx(da,{}),e.jsx(be,{credits:V})," ",Tr(V)]}),e.jsx(ca,{className:"muted",children:j||n("marketCheckout.checkingListing")})]})}),d?e.jsxs(Oc,{className:"muted",children:[n("marketCheckout.yourBalance")," ",e.jsx(Pe,{className:"ccy-mark"})," ",Cs(u,h)]}):null,X?e.jsx(An,{className:"muted",children:n("marketCheckout.needMore",{currency:qe.name})}):null,b?e.jsx(An,{"data-testid":"price-changed",role:"status",children:n("buyModal.priceChanged")}):null,j&&k==="working"?e.jsx(An,{className:"muted",children:j}):null,e.jsx(Kc,{message:$}),e.jsxs(Hc,{children:[e.jsx(ua,{variant:"ghost",onClick:le,disabled:J,children:n("buyModal.cancel")}),e.jsx(ua,{variant:"purple",onClick:()=>void ne(),disabled:J||!S||X&&ft(),children:J?n("marketCheckout.buying"):X&&!ft()?n("nav.getCredits",{currency:qe.name}):n("marketCheckout.confirmPurchase")})]})]})]})}function Qc(t,s,{enabled:o=!0,first:l}={}){const{data:d,isFetched:u}=ie({queryKey:["related-items",t,s,l],enabled:o&&!!t&&!!s,staleTime:3e5,queryFn:()=>As(t,s,{first:l})});return{items:d??[],isFetched:u}}const Mi=15;function Vc(t){return`${t.contractAddress}-${t.itemId??t.tokenId??t.id}`.toLowerCase()}function Gc(t,s){return!!(s.id&&t.id===s.id||s.itemId&&t.itemId===s.itemId&&pa(t,s)||s.tokenId&&t.tokenId===s.tokenId&&pa(t,s))}function pa(t,s){var o;return s.contractAddress?((o=t.contractAddress)==null?void 0:o.toLowerCase())===s.contractAddress.toLowerCase():!1}function Mn(t,s,o=Mi){const l=new Set,d=[];function u(m,g){for(const k of m){if(d.length>=g)return;if(Gc(k,s))continue;const x=Vc(k);l.has(x)||(l.add(x),d.push(k))}}u(t.collection,1/0);const h=d.length;return u(t.creator??[],o),u(t.related??[],o),{items:d,isCollectionOnly:d.length>0&&d.length===h}}const Yc=20,Jc=30,ha=[];function Xc(t,s=Mi){const{id:o,contractAddress:l,itemId:d,tokenId:u,creator:h}=t,m=c.useMemo(()=>({id:o,contractAddress:l,itemId:d,tokenId:u}),[o,l,d,u]),{data:g=ha,isFetched:k}=ie({queryKey:["collection-items",l],enabled:!!l,queryFn:()=>Ms(l,{first:Yc}).then(B=>B.items)}),x=c.useMemo(()=>Mn({collection:g},m,s).items.length,[g,m,s]),j=k&&x<s,w=j&&!!h,$=ie({queryKey:["suggestions-creator",h],enabled:w,staleTime:5*6e4,queryFn:()=>Ps({creator:h,isOnSale:!0,first:Jc}).then(B=>B.items)}),I=$.data??ha,S=!w||$.isSuccess||$.isError,R=c.useMemo(()=>Mn({collection:g,creator:I},m,s).items.length,[g,I,m,s]),{items:O}=Qc(l,d??null,{enabled:j&&S&&R<s,first:s}),M=c.useMemo(()=>Mn({collection:g,creator:I,related:O},m,s),[g,I,O,m,s]),b=Rs(M.items);return{...M,items:b,siblings:g,siblingsFetched:k}}function Zc(t){const s=Ls();return!s||!zs(s.contracts,t)?null:s.label}const{colors:De,media:Yn}=a,eu=Es`
1082
+ to {
1083
+ transform: rotate(360deg);
1084
+ }
1085
+ `,tu=r.div``,nu=r.span`
1086
+ width: 34px;
1087
+ height: 34px;
1088
+ border-radius: 50%;
1089
+ border: 3px solid ${De.line};
1090
+ border-top-color: ${De.accent};
1091
+ animation: ${eu} 0.8s linear infinite;
1092
+
1093
+ @media (prefers-reduced-motion: reduce) {
1094
+ animation-duration: 2.4s;
1095
+ }
1096
+ `,ru=r.p``,au=r.div``,fa=r.button`
1097
+ border: 0;
1098
+ background: none;
1099
+ cursor: pointer;
1100
+ padding: 6px 16px;
1101
+ border-radius: 999px;
1102
+ font-weight: 600;
1103
+ font-size: 12px;
1104
+ text-transform: uppercase;
1105
+ letter-spacing: 0.04em;
1106
+ color: ${De.muted};
1107
+ transition:
1108
+ background 0.12s ease,
1109
+ color 0.12s ease;
1110
+
1111
+ &[data-active] {
1112
+ background: ${De.text};
1113
+ color: ${De.white};
1114
+ }
1115
+ &:not([data-active]):hover {
1116
+ color: ${De.text};
1117
+ }
1118
+
1119
+ ${Yn.maxWidth("lg")} {
1120
+ padding: 6px 12px;
1121
+ border-radius: 0;
1122
+ background: ${De.white};
1123
+ color: ${De.text2};
1124
+
1125
+ &[data-active] {
1126
+ background: ${De.text};
1127
+ color: ${De.white};
1128
+ }
1129
+ &:first-of-type {
1130
+ border-top-left-radius: 999px;
1131
+ border-bottom-left-radius: 999px;
1132
+ }
1133
+ &:last-of-type {
1134
+ border-top-right-radius: 999px;
1135
+ border-bottom-right-radius: 999px;
1136
+ }
1137
+ }
1138
+ `,xa=r.span`
1139
+ ${Yn.maxWidth("lg")} {
1140
+ display: none;
1141
+ }
1142
+ `,ma=r(E)`
1143
+ display: none;
1144
+
1145
+ ${Yn.maxWidth("lg")} {
1146
+ display: block;
1147
+ }
1148
+ `,ga="shop-item-preview";function iu({item:t}){const s=at(X=>{var ne;return(ne=X.session)==null?void 0:ne.address}),{data:o,isLoading:l}=gt(s),d=s&&o?s:"default",u=t.category==="emote",[h,m]=c.useState("avatar"),g=!u&&h==="item",k=g||!l,x=Mt(X=>X.fittingOpen),{ref:j,active:w}=Fs(),$=k&&w&&!x,[I,S]=c.useState(!0);c.useEffect(()=>{S(!0)},[t.id,g]),c.useEffect(()=>{$&&S(!0)},[$]);const R=c.useRef(null);c.useEffect(()=>{if($)return()=>{Zl(R.current),R.current=null}},[$]);const[O,M]=c.useState(Re.PreviewRenderer.UNITY),b=O===Re.PreviewRenderer.BABYLON,B=!!s&&!!o,i=B&&Ts(t,Ns(o)),K=_s(t)[0],Q=B&&!i&&!u,V=t.urn?{urns:[t.urn]}:{contractAddress:t.contractAddress,tokenId:t.tokenId??void 0,itemId:t.tokenId?void 0:t.itemId??void 0};return e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:j,"data-preview-viewport":!0,"aria-hidden":!0}),$?e.jsx(Bs,{id:ga,...V,profile:g?void 0:i?d:"default",bodyShape:g||i?void 0:K,type:u?void 0:g?Re.PreviewType.WEARABLE:Re.PreviewType.AVATAR,emote:u||g?void 0:Re.PreviewEmote.FASHION,disableBackground:!0,wheelZoom:u?1.5:void 0,wheelStart:u?100:void 0,onRenderer:M,onLoad:()=>{var X;S(!1),R.current=((X=document.getElementById(ga))==null?void 0:X.contentWindow)??null}}):null,!$||I?e.jsx(tu,{"data-preview-loading":!0,"aria-busy":"true","aria-label":n("itemPreview.loading"),children:e.jsx(nu,{"aria-hidden":!0})}):null,Q&&!g?e.jsx(ru,{"data-preview-note":!0,children:n("itemPreview.shownOnBody",{shape:Ws(K)})}):null,!b||!u?null:e.jsx(Xl,{previewId:"shop-item-preview"}),!b||u?null:e.jsxs(au,{"data-preview-toggle":!0,role:"group","aria-label":n("itemPreview.previewMode"),children:[e.jsxs(fa,{type:"button","data-active":h==="avatar"||void 0,"aria-pressed":h==="avatar","aria-label":n("itemPreview.onAvatar"),onClick:()=>m("avatar"),children:[e.jsx(ma,{name:"view-avatar",size:18}),e.jsx(xa,{children:n("itemPreview.onAvatar")})]}),e.jsxs(fa,{type:"button","data-active":h==="item"||void 0,"aria-pressed":h==="item","aria-label":n("itemPreview.item"),onClick:()=>m("item"),children:[e.jsx(ma,{name:"view-item",size:18}),e.jsx(xa,{children:n("itemPreview.item")})]})]})]})}function su(t){return t.endsWith(".eth")}function Pn(t){return su(t.realm)?t.realm:/^-?\d+,-?\d+$/.test(t.position)?t.position:null}async function ba(t,s,o){if(o.length===0)return[];const l=new URLSearchParams;for(const h of o)l.append(s,h);const d=await fetch(`${Le.placesApiUrl}/${t}?${l.toString()}`);if(!d.ok)throw new Error(`places ${t} ${d.status}`);return(await d.json()).data??[]}async function ou(t){const s=t.filter(h=>h.endsWith(".eth")),o=t.filter(h=>!h.endsWith(".eth")),[l,d]=await Promise.all([ba("places","positions",o),ba("worlds","names",s)]),u=new Set;for(const h of l)if(!h.disabled){for(const m of h.positions??[])o.includes(m)&&u.add(m);h.base_position&&o.includes(h.base_position)&&u.add(h.base_position)}for(const h of d)!h.disabled&&h.world_name&&u.add(h.world_name);return u}function Pi(t){return!t.contractAddress||!t.itemId?null:`${t.contractAddress.toLowerCase()}-${t.itemId}`}const lu=50,du=10,cu=2,uu=2;function pu(t,s){const[o,l]=s.split("-");return(t.wearables??[]).some(d=>{const u=d.split(":");return u.length>=7&&u[4].toLowerCase()===o&&u[5]===l})}function hu(t,s){var g,k;const o=t.metadata;if(!o)return null;const l=o.visiblePeople??[],d=(o.userAddress??"").toLowerCase(),u=l.find(x=>pu(x,s)),h=((u==null?void 0:u.userAddress)??"").toLowerCase(),m=(g=o.scene)==null?void 0:g.location;return{id:t.id,url:t.url,thumbnailUrl:t.thumbnailUrl,userName:o.userName??"",userAddress:o.userAddress??"",wearerName:!u||h===d?"":u.userName??"",wearerAddress:!u||h===d?"":u.userAddress??"",place:((k=o.scene)==null?void 0:k.name)??"",placeId:o.placeId??"",position:(m==null?void 0:m.x)!=null&&(m==null?void 0:m.y)!=null?`${m.x},${m.y}`:"",realm:o.realm??"",dateTime:o.dateTime??"",people:l.length}}function fu(t,s=du){const o=new Map,l=new Map,d=new Set,u=[],h=[...t].sort((m,g)=>m.people-g.people||Number(g.dateTime)-Number(m.dateTime));for(const m of h){const g=m.userAddress.toLowerCase(),k=m.placeId||m.place;if(!d.has(`${g}@${k}`)&&!((o.get(g)??0)>=cu||(l.get(k)??0)>=uu)&&(d.add(`${g}@${k}`),o.set(g,(o.get(g)??0)+1),l.set(k,(l.get(k)??0)+1),u.push(m),u.length===s))break}return u}async function xu(t){const s=Pi(t);if(!s)return[];const o=await fetch(`${Le.cameraReelUrl}/api/wearables/${s}/images?limit=${lu}`);if(!o.ok)throw new Error(`fetchItemReel ${o.status}`);const d=((await o.json()).images??[]).map(u=>hu(u,s)).filter(u=>!!u);return fu(d)}const{colors:ge,radius:nn,media:Pt}=a,mu=r.section`
1149
+ margin-top: 56px;
1150
+ `,gu=r.div`
1151
+ margin-bottom: 18px;
1152
+ `,bu=r.h2`
1153
+ font-size: 22px;
1154
+ font-weight: 700;
1155
+ color: ${ge.softWhite};
1156
+ `,yu=r.p`
1157
+ margin-top: 4px;
1158
+ font-size: 13px;
1159
+ color: rgba(252, 252, 252, 0.62);
1160
+ `,wu=r.div`
1161
+ position: relative;
1162
+ border-radius: ${nn.card};
1163
+ overflow: hidden;
1164
+ `,vu=r.div`
1165
+ display: flex;
1166
+ gap: 0;
1167
+ overflow-x: auto;
1168
+ scroll-snap-type: x proximity;
1169
+ scrollbar-width: none;
1170
+ /* An end that has more band behind it dissolves instead of being cut, and an end that does not stays
1171
+ sharp — otherwise the first photo's own caption sits under a fade that means nothing. A mask rather
1172
+ than a gradient overlay, because the page behind is a gradient of its own and a solid fade would
1173
+ band against it. */
1174
+ mask-image: linear-gradient(
1175
+ 90deg,
1176
+ transparent 0,
1177
+ #000 var(--fade-start, 5%),
1178
+ #000 var(--fade-end, 95%),
1179
+ transparent 100%
1180
+ );
1181
+
1182
+ &[data-at-start] {
1183
+ --fade-start: 0%;
1184
+ }
1185
+ &[data-at-end] {
1186
+ --fade-end: 100%;
1187
+ }
1188
+
1189
+ &::-webkit-scrollbar {
1190
+ display: none;
1191
+ }
1192
+ `,ju=r.button`
1193
+ position: relative;
1194
+ flex: 0 0 auto;
1195
+ height: 380px;
1196
+ aspect-ratio: 4 / 5;
1197
+ padding: 0;
1198
+ border: 0;
1199
+ border-radius: 0;
1200
+ overflow: hidden;
1201
+ scroll-snap-align: center;
1202
+ cursor: pointer;
1203
+ background: ${ge.media};
1204
+
1205
+ ${Pt.maxWidth("lg")} {
1206
+ height: 300px;
1207
+ }
1208
+ ${Pt.maxWidth("mobile")} {
1209
+ height: 240px;
1210
+ }
1211
+
1212
+ /* At rest the band reads as one continuous image; the hovered frame lifts out of it. */
1213
+ & img {
1214
+ transition:
1215
+ transform 0.5s ease,
1216
+ filter 0.3s ease;
1217
+ filter: saturate(0.92) brightness(0.88);
1218
+ }
1219
+ &:hover img,
1220
+ &:focus-visible img {
1221
+ transform: scale(1.06);
1222
+ filter: none;
1223
+ }
1224
+
1225
+ @media (prefers-reduced-motion: reduce) {
1226
+ & img {
1227
+ transition: none;
1228
+ }
1229
+ &:hover img {
1230
+ transform: none;
1231
+ }
1232
+ }
1233
+ `,ku=r.img`
1234
+ width: 100%;
1235
+ height: 100%;
1236
+ object-fit: cover;
1237
+ display: block;
1238
+ `,$u=r.span`
1239
+ position: absolute;
1240
+ inset: auto 0 0 0;
1241
+ display: flex;
1242
+ align-items: center;
1243
+ gap: 8px;
1244
+ padding: 28px 12px 12px;
1245
+ text-align: left;
1246
+ background: linear-gradient(to top, rgba(12, 10, 16, 0.9), rgba(12, 10, 16, 0));
1247
+ opacity: 1;
1248
+ transition: opacity 0.25s ease;
1249
+
1250
+ @media (hover: hover) {
1251
+ opacity: 0;
1252
+
1253
+ button:hover &,
1254
+ button:focus-visible & {
1255
+ opacity: 1;
1256
+ }
1257
+ }
1258
+ `,Li=`
1259
+ width: 26px;
1260
+ height: 26px;
1261
+ border-radius: 50%;
1262
+ flex: none;
1263
+ border: 1.5px solid rgba(255, 255, 255, 0.85);
1264
+
1265
+ &[data-size='lg'] {
1266
+ width: 34px;
1267
+ height: 34px;
1268
+ }
1269
+ `,Cu=r.img`
1270
+ ${Li};
1271
+ object-fit: cover;
1272
+ background: ${ge.media};
1273
+ `,Iu=r.span`
1274
+ ${Li};
1275
+ display: inline-flex;
1276
+ align-items: center;
1277
+ justify-content: center;
1278
+ color: ${ge.white};
1279
+ font-size: 12px;
1280
+ font-weight: 700;
1281
+ line-height: 1;
1282
+
1283
+ &[data-size='lg'] {
1284
+ font-size: 15px;
1285
+ }
1286
+ `,Su=r.span`
1287
+ display: block;
1288
+ min-width: 0;
1289
+ `,Au=r.span`
1290
+ display: block;
1291
+ font-size: 13px;
1292
+ font-weight: 700;
1293
+ color: ${ge.white};
1294
+ overflow: hidden;
1295
+ text-overflow: ellipsis;
1296
+ white-space: nowrap;
1297
+
1298
+ &[data-size='lg'] {
1299
+ font-size: 15px;
1300
+ }
1301
+ `,Ru=r.span`
1302
+ display: block;
1303
+ font-size: 11px;
1304
+ color: rgba(255, 255, 255, 0.72);
1305
+ overflow: hidden;
1306
+ text-overflow: ellipsis;
1307
+ white-space: nowrap;
1308
+ `,ya=r.button`
1309
+ position: absolute;
1310
+ top: 50%;
1311
+ transform: translateY(-50%);
1312
+ z-index: 2;
1313
+ width: 48px;
1314
+ height: 48px;
1315
+ padding: 0;
1316
+ border: 0;
1317
+ background: transparent;
1318
+ cursor: pointer;
1319
+ opacity: 0;
1320
+ filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.45));
1321
+ transition:
1322
+ opacity 0.2s ease,
1323
+ transform 0.15s ease;
1324
+
1325
+ & img {
1326
+ display: block;
1327
+ width: 100%;
1328
+ height: 100%;
1329
+ }
1330
+ &[data-side='left'] {
1331
+ left: 16px;
1332
+ }
1333
+ &[data-side='right'] {
1334
+ right: 16px;
1335
+ }
1336
+ &[data-side='left'] img {
1337
+ transform: scaleX(-1);
1338
+ }
1339
+ &:hover {
1340
+ transform: translateY(-50%) scale(1.07);
1341
+ }
1342
+ &:disabled {
1343
+ pointer-events: none;
1344
+ }
1345
+
1346
+ /* Only on a pointer device, and only while the band is under it. A disabled arrow (the strip is
1347
+ already at that end) is excluded here rather than hidden afterwards, which would need to outrank
1348
+ this selector. */
1349
+ @media (hover: hover) {
1350
+ [data-photo-strip]:hover > &:not(:disabled),
1351
+ &:focus-visible:not(:disabled) {
1352
+ opacity: 1;
1353
+ }
1354
+ }
1355
+ ${Pt.maxWidth("mobile")} {
1356
+ display: none;
1357
+ }
1358
+
1359
+ @media (prefers-reduced-motion: reduce) {
1360
+ transition: none;
1361
+ }
1362
+ `,Mu=r.div`
1363
+ position: fixed;
1364
+ inset: 0;
1365
+ z-index: 40;
1366
+ background: rgba(10, 8, 14, 0.88);
1367
+ display: grid;
1368
+ place-items: center;
1369
+ padding: 24px;
1370
+
1371
+ ${Pt.maxWidth("mobile")} {
1372
+ padding: 12px;
1373
+ }
1374
+ `,Pu=r.div`
1375
+ width: min(1040px, 100%);
1376
+ border-radius: ${nn.card};
1377
+ overflow: hidden;
1378
+ background: ${ge.text2};
1379
+
1380
+ /* Focused on open so the keyboard starts inside the dialog; the panel itself is not a control, so no ring. */
1381
+ &:focus {
1382
+ outline: none;
1383
+ }
1384
+ `,Lu=r.div`
1385
+ position: relative;
1386
+ overflow: hidden;
1387
+ `,zu=r.img`
1388
+ position: relative;
1389
+ width: 100%;
1390
+ display: block;
1391
+ aspect-ratio: 16 / 9;
1392
+ object-fit: contain;
1393
+ cursor: zoom-in;
1394
+ opacity: 0;
1395
+ transition:
1396
+ transform 0.28s ease,
1397
+ opacity 0.18s ease;
1398
+
1399
+ &[data-ready] {
1400
+ opacity: 1;
1401
+ }
1402
+
1403
+ &[data-zoom] {
1404
+ transform: scale(2.6);
1405
+ cursor: zoom-out;
1406
+ }
1407
+
1408
+ @media (prefers-reduced-motion: reduce) {
1409
+ transition: none;
1410
+ }
1411
+ `,Eu=r.img`
1412
+ position: absolute;
1413
+ inset: 0;
1414
+ width: 100%;
1415
+ height: 100%;
1416
+ object-fit: contain;
1417
+ background: #0b0910;
1418
+ filter: blur(6px);
1419
+ transform: scale(1.02);
1420
+ transition: opacity 0.18s ease;
1421
+
1422
+ &[data-hidden] {
1423
+ opacity: 0;
1424
+ }
1425
+ `,wa=r.button`
1426
+ position: absolute;
1427
+ top: 50%;
1428
+ transform: translateY(-50%);
1429
+ width: 53px;
1430
+ height: 53px;
1431
+ padding: 0;
1432
+ border: 0;
1433
+ background: transparent;
1434
+ cursor: pointer;
1435
+ filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
1436
+ transition: transform 0.15s ease;
1437
+
1438
+ & img {
1439
+ display: block;
1440
+ width: 100%;
1441
+ height: 100%;
1442
+ }
1443
+ &[data-side='left'] {
1444
+ left: 8px;
1445
+ }
1446
+ &[data-side='right'] {
1447
+ right: 8px;
1448
+ }
1449
+ &[data-side='left'] img {
1450
+ transform: scaleX(-1);
1451
+ }
1452
+ &:hover {
1453
+ transform: translateY(-50%) scale(1.07);
1454
+ }
1455
+
1456
+ @media (prefers-reduced-motion: reduce) {
1457
+ transition: none;
1458
+ }
1459
+ ${Pt.maxWidth("mobile")} {
1460
+ width: 40px;
1461
+ height: 40px;
1462
+ }
1463
+ `,Fu=r.div`
1464
+ display: flex;
1465
+ align-items: center;
1466
+ gap: 12px;
1467
+ padding: 12px 16px;
1468
+ `,Tu=r.div`
1469
+ display: flex;
1470
+ align-items: center;
1471
+ gap: 10px;
1472
+ margin-left: auto;
1473
+ min-width: 0;
1474
+ font-size: 12px;
1475
+ color: ${ge.muted2};
1476
+ `,Nu=r.span`
1477
+ min-width: 0;
1478
+ color: ${ge.softWhite};
1479
+ overflow: hidden;
1480
+ text-overflow: ellipsis;
1481
+ white-space: nowrap;
1482
+ `,_u=r.button`
1483
+ flex-shrink: 0;
1484
+ display: inline-flex;
1485
+ align-items: center;
1486
+ gap: 10px;
1487
+ height: 36px;
1488
+ margin-left: 6px;
1489
+ padding: 0 6px 0 14px;
1490
+ border: 0;
1491
+ border-radius: ${nn.btn};
1492
+ background: ${ge.dclRed};
1493
+ color: ${ge.softWhite};
1494
+ font-size: 13px;
1495
+ font-weight: 600;
1496
+ letter-spacing: 0.04em;
1497
+ text-transform: uppercase;
1498
+ cursor: pointer;
1499
+ transition: filter 0.15s ease;
1500
+
1501
+ & svg {
1502
+ width: 24px;
1503
+ height: 24px;
1504
+ }
1505
+ &:hover {
1506
+ filter: brightness(0.92);
1507
+ }
1508
+ `,Bu=r.span`
1509
+ white-space: nowrap;
1510
+ `,Wu=r.span`
1511
+ font-variant-numeric: tabular-nums;
1512
+ white-space: nowrap;
1513
+ opacity: 0.7;
1514
+ `,Du=r.div`
1515
+ display: flex;
1516
+ align-items: center;
1517
+ gap: 14px;
1518
+ min-width: 0;
1519
+ `,qu=r.a`
1520
+ display: flex;
1521
+ align-items: center;
1522
+ gap: 10px;
1523
+ min-width: 0;
1524
+ text-decoration: none;
1525
+ border-radius: ${nn.pill};
1526
+ padding: 4px 12px 4px 4px;
1527
+ margin-left: -4px;
1528
+ transition: background 0.15s ease;
1529
+
1530
+ &:hover {
1531
+ background: rgba(255, 255, 255, 0.1);
1532
+ }
1533
+ `,Ou=r.span`
1534
+ display: block;
1535
+ min-width: 0;
1536
+ `,va=r.span`
1537
+ display: block;
1538
+ font-size: 10px;
1539
+ font-weight: 600;
1540
+ letter-spacing: 0.06em;
1541
+ text-transform: uppercase;
1542
+ color: ${ge.muted2};
1543
+ `,Ku=r.span`
1544
+ display: block;
1545
+ font-size: 15px;
1546
+ font-weight: 700;
1547
+ color: ${ge.white};
1548
+ overflow: hidden;
1549
+ text-overflow: ellipsis;
1550
+ white-space: nowrap;
1551
+ `,Hu=r.a`
1552
+ display: inline-flex;
1553
+ align-items: baseline;
1554
+ gap: 6px;
1555
+ min-width: 0;
1556
+ font-size: 12px;
1557
+ color: ${ge.muted2};
1558
+ text-decoration: none;
1559
+ white-space: nowrap;
1560
+
1561
+ & > span {
1562
+ display: inline;
1563
+ }
1564
+ &:hover {
1565
+ color: ${ge.softWhite};
1566
+ text-decoration: underline;
1567
+ }
1568
+ `,Uu=r.button`
1569
+ position: absolute;
1570
+ top: 12px;
1571
+ right: 12px;
1572
+ z-index: 3;
1573
+ width: 34px;
1574
+ height: 34px;
1575
+ border-radius: 50%;
1576
+ border: 0;
1577
+ display: grid;
1578
+ place-items: center;
1579
+ background: rgba(12, 10, 16, 0.55);
1580
+ backdrop-filter: blur(4px);
1581
+ color: ${ge.white};
1582
+ cursor: pointer;
1583
+ transition: background 0.15s ease;
1584
+
1585
+ &:hover {
1586
+ background: rgba(12, 10, 16, 0.8);
1587
+ }
1588
+ `,Qu=[];function ja({person:t,size:s}){var m,g;const{data:o}=gt(t.address),l=(g=(m=o==null?void 0:o.avatar)==null?void 0:m.snapshots)==null?void 0:g.face256,[d,u]=c.useState(!1);c.useEffect(()=>u(!1),[l]);const h=o!=null&&o.name?bt(o.name):t.name;return l&&!d?e.jsx(Cu,{"data-size":s,src:l,alt:"",loading:"lazy",onError:()=>u(!0)}):e.jsx(Iu,{"data-size":s,style:{backgroundColor:Ds(qs({name:(o==null?void 0:o.name)??t.name,hasClaimedName:o==null?void 0:o.hasClaimedName,ethAddress:t.address}))},"aria-hidden":!0,children:(h.trim()[0]||"?").toUpperCase()})}function Ln({person:t}){const{data:s}=gt(t.address);return e.jsx(e.Fragment,{children:s!=null&&s.name?bt(s.name):t.name})}const Vu=2;function zn(t){return{contract_address:t.contractAddress,item_id:t.itemId??null}}function ka(t){const s={address:t.userAddress,name:t.userName};return t.wearerName?{wearer:{address:t.wearerAddress,name:t.wearerName},photographer:s}:{wearer:s,photographer:null}}function Gu({item:t}){const s=Pi(t),{data:o=Qu}=ie({queryKey:["item-reel",s],queryFn:()=>xu(t),enabled:!!s,staleTime:10*6e4,refetchOnWindowFocus:!1}),l=c.useRef(null),d=c.useRef(null),u=c.useRef(null),[h,m]=c.useState(null),[g,k]=c.useState(!1),[x,j]=c.useState("50% 50%"),[w,$]=c.useState(!1),[I,S]=c.useState(!0),[R,O]=c.useState(!1),M=c.useMemo(()=>[...new Set(o.map(p=>Pn(p)).filter(p=>!!p))],[o]),{data:b}=ie({queryKey:["live-scenes",M],queryFn:()=>ou(M),enabled:M.length>0,staleTime:10*6e4}),B=c.useCallback(()=>{const p=d.current;if(!p)return;const{scrollLeft:A,scrollWidth:C,clientWidth:P}=p;S(A<=1),O(A+P>=C-1)},[]);c.useEffect(()=>{B();const p=d.current;if(p)return p.addEventListener("scroll",B,{passive:!0}),window.addEventListener("resize",B),()=>{p.removeEventListener("scroll",B),window.removeEventListener("resize",B)}},[B,o.length]);const i=c.useCallback(p=>{k(!1),$(!1),m(A=>A===null?A:(A+p+o.length)%o.length)},[o.length]);function K(p){const A=p.currentTarget.getBoundingClientRect();j(`${(p.clientX-A.left)/A.width*100}% ${(p.clientY-A.top)/A.height*100}%`)}c.useEffect(()=>{h!==null&&h>=o.length&&m(null)},[h,o.length]);const Q=h!==null;c.useEffect(()=>{var p;Q&&((p=u.current)==null||p.focus())},[Q]),c.useEffect(()=>{if(h!==null)for(const p of[1,-1]){const A=o[(h+p+o.length)%o.length],C=new Image;C.src=A.url}},[h,o]),c.useEffect(()=>{if(h===null)return;function p(A){A.key==="Escape"&&(k(!1),m(null)),A.key==="ArrowRight"&&i(1),A.key==="ArrowLeft"&&i(-1)}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[h,i]);const V=o.length>=Vu,X=c.useRef(null);if(c.useEffect(()=>{const p=l.current;if(!V||!p||!s||X.current===s||typeof IntersectionObserver>"u")return;const A=new IntersectionObserver(C=>{C.some(P=>P.isIntersecting)&&(A.disconnect(),X.current=s,Z("Shop Viewed Photo Reel",{...zn(t),photo_count:o.length}))},{threshold:.5});return A.observe(p),()=>A.disconnect()},[V,s,t,o.length]),!V)return null;function ne(p){const A=o[p],C=Pn(A);m(p),Z("Shop Opened Reel Photo",{...zn(t),photo_id:A.id,photo_index:p,people:A.people,can_jump_in:!!C&&!!(b!=null&&b.has(C))})}async function te(p,A){const C=await Kl({position:p.position,realm:p.realm});Z("Shop Jumped In From Reel",{...zn(t),photo_id:p.id,photo_index:A,position:p.position||null,realm:p.realm||null,outcome:C})}function ce(){k(!1),$(!1),m(null)}function le(p){const A=d.current;A&&A.scrollBy({left:p*A.clientWidth*.7,behavior:"smooth"})}const J=h===null?null:o[h],z=J?ka(J):null,T=J?Pn(J):null,_=!!T&&!!(b!=null&&b.has(T));return e.jsxs(mu,{ref:l,"data-testid":"photo-reel",children:[e.jsxs(gu,{children:[e.jsx(bu,{children:n("photoReel.title")}),e.jsx(yu,{children:n("photoReel.subtitle")})]}),e.jsxs(wu,{"data-photo-strip":!0,children:[e.jsx(vu,{ref:d,"data-testid":"photo-reel-track","data-at-start":I||void 0,"data-at-end":R||void 0,children:o.map((p,A)=>{const{wearer:C}=ka(p),P=Or(p.dateTime);return e.jsxs(ju,{"data-testid":"photo-reel-shot",onClick:()=>ne(A),"aria-label":n("photoReel.openAria",{name:C.name,place:p.place}),children:[e.jsx(ku,{src:p.thumbnailUrl,alt:"",loading:"lazy"}),e.jsxs($u,{children:[e.jsx(ja,{person:C,size:"sm"}),e.jsxs(Su,{children:[e.jsx(Au,{"data-size":"sm",children:e.jsx(Ln,{person:C})}),e.jsxs(Ru,{children:[p.place,P?` · ${P}`:""]})]})]})]},p.id)})}),e.jsx(ya,{"data-side":"left",onClick:()=>le(-1),"aria-label":n("photoReel.prev"),disabled:I,children:e.jsx("img",{src:Ot,alt:"","aria-hidden":!0})}),e.jsx(ya,{"data-side":"right",onClick:()=>le(1),"aria-label":n("photoReel.next"),disabled:R,children:e.jsx("img",{src:Ot,alt:"","aria-hidden":!0})})]}),J&&z?e.jsx(Mu,{onClick:ce,role:"presentation","data-testid":"photo-reel-lightbox",children:e.jsxs(Pu,{ref:u,tabIndex:-1,role:"dialog","aria-modal":"true","aria-label":n("photoReel.title"),onClick:p=>p.stopPropagation(),children:[e.jsxs(Lu,{children:[e.jsx(Eu,{src:J.thumbnailUrl,alt:"","aria-hidden":!0,"data-hidden":w||void 0}),e.jsx(zu,{src:J.url,alt:"","data-zoom":g||void 0,"data-ready":w||void 0,"data-testid":"photo-reel-image",style:{transformOrigin:x},title:n(g?"photoReel.zoomOut":"photoReel.zoomIn"),onLoad:()=>$(!0),onMouseMove:p=>g&&K(p),onClick:p=>{K(p),k(A=>!A)}},J.id),o.length>1?e.jsxs(e.Fragment,{children:[e.jsx(wa,{"data-side":"left",onClick:()=>i(-1),"aria-label":n("photoReel.prev"),children:e.jsx("img",{src:Ot,alt:"","aria-hidden":!0})}),e.jsx(wa,{"data-side":"right",onClick:()=>i(1),"aria-label":n("photoReel.next"),children:e.jsx("img",{src:Ot,alt:"","aria-hidden":!0})})]}):null,e.jsx(Uu,{onClick:ce,"aria-label":n("photoReel.close"),"data-testid":"photo-reel-close",children:e.jsx(E,{name:"close",size:16})})]}),e.jsxs(Fu,{children:[e.jsxs(Du,{children:[e.jsxs(qu,{href:`${Le.profileUrl}/${z.wearer.address}`,target:"_blank",rel:"noopener noreferrer","data-testid":"photo-reel-profile",children:[e.jsx(ja,{person:z.wearer,size:"lg"}),e.jsxs(Ou,{children:[e.jsx(va,{children:n("photoReel.wornBy")}),e.jsx(Ku,{children:e.jsx(Ln,{person:z.wearer})})]})]}),z.photographer?e.jsxs(Hu,{href:`${Le.profileUrl}/${z.photographer.address}`,target:"_blank",rel:"noopener noreferrer","data-testid":"photo-reel-photographer",children:[e.jsx(va,{children:n("photoReel.photoBy")}),e.jsx(Ln,{person:z.photographer})]}):null]}),e.jsxs(Tu,{children:[e.jsx(Nu,{children:J.place}),e.jsx(Bu,{children:Or(J.dateTime)}),e.jsxs(Wu,{children:[(h??0)+1,"/",o.length]}),_?e.jsxs(_u,{type:"button",onClick:()=>void te(J,h??0),"aria-label":n("photoReel.jumpIn"),"data-testid":"photo-reel-jump",children:[n("photoReel.jumpInCta"),e.jsx(vi,{"aria-hidden":!0})]}):null]})]})]})}):null]})}const Yu=r.div`
1589
+ position: fixed;
1590
+ inset: 0;
1591
+ z-index: 10000;
1592
+ display: flex;
1593
+ align-items: center;
1594
+ justify-content: center;
1595
+ padding: 16px;
1596
+ background: rgba(22, 21, 24, 0.55);
1597
+ `,Ju=r.div`
1598
+ display: flex;
1599
+ flex-direction: column;
1600
+ gap: 12px;
1601
+ width: 1128px;
1602
+ max-width: 100%;
1603
+ max-height: 92vh;
1604
+ background: ${a.colors.white};
1605
+ border-radius: 16px;
1606
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
1607
+
1608
+ &:focus {
1609
+ outline: none;
1610
+ }
1611
+ `,Xu=r.div`
1612
+ flex: none;
1613
+ display: flex;
1614
+ align-items: center;
1615
+ gap: 8px;
1616
+ padding: 16px;
1617
+ border-bottom: 1px solid ${a.colors.gray4};
1618
+ `,Zu=r.h2`
1619
+ flex: 1 1 auto;
1620
+ min-width: 0;
1621
+ margin: 0;
1622
+ font-family: ${a.font.sans};
1623
+ font-weight: 600;
1624
+ font-size: 20px;
1625
+ line-height: 1.6;
1626
+ color: ${a.colors.text};
1627
+ `,ep=r.button`
1628
+ flex: none;
1629
+ display: grid;
1630
+ place-items: center;
1631
+ width: 18.5px;
1632
+ height: 18.5px;
1633
+ padding: 0;
1634
+ border: 0;
1635
+ background: none;
1636
+ cursor: pointer;
1637
+ color: ${a.colors.text};
1638
+
1639
+ .ico {
1640
+ width: 18.5px;
1641
+ height: 18.5px;
1642
+ }
1643
+ &:focus-visible {
1644
+ outline: 2px solid ${a.colors.accent};
1645
+ outline-offset: 4px;
1646
+ }
1647
+ `,tp=r.div`
1648
+ flex: 1 1 auto;
1649
+ min-height: 0;
1650
+ overflow-y: auto;
1651
+ display: flex;
1652
+ flex-direction: column;
1653
+ gap: 8px;
1654
+ padding: 0 16px 24px;
1655
+ `,np=r.div`
1656
+ position: sticky;
1657
+ top: 0;
1658
+ z-index: 1;
1659
+ display: flex;
1660
+ align-items: center;
1661
+ justify-content: space-between;
1662
+ gap: 8px;
1663
+ padding-bottom: 8px;
1664
+ background: ${a.colors.white};
1665
+ `,rp=r.p`
1666
+ margin: 0;
1667
+ font-family: ${a.font.sans};
1668
+ font-size: 14px;
1669
+ line-height: 1.43;
1670
+ color: ${a.colors.muted};
1671
+ `,ap=r.div`
1672
+ position: relative;
1673
+ flex: none;
1674
+ display: inline-flex;
1675
+ align-items: center;
1676
+ padding: 4px 4px 4px 12px;
1677
+ border: 0.5px solid ${a.colors.lineStrong};
1678
+ border-radius: 8px;
1679
+ background: ${a.colors.white};
1680
+
1681
+ select {
1682
+ appearance: none;
1683
+ /* 24px design gap + the 24px chevron that sits on top of it. */
1684
+ padding: 0 48px 0 0;
1685
+ border: 0;
1686
+ background: none;
1687
+ font-family: ${a.font.sans};
1688
+ font-weight: 500;
1689
+ font-size: 12px;
1690
+ line-height: 1.43;
1691
+ color: ${a.colors.text2};
1692
+ cursor: pointer;
1693
+ outline: none;
1694
+ }
1695
+ select:focus-visible {
1696
+ outline: 2px solid ${a.colors.accent};
1697
+ outline-offset: 2px;
1698
+ border-radius: 4px;
1699
+ }
1700
+ .chev {
1701
+ position: absolute;
1702
+ right: 4px;
1703
+ width: 24px;
1704
+ height: 24px;
1705
+ color: ${a.colors.text2};
1706
+ pointer-events: none;
1707
+ }
1708
+ `,ip=r.div`
1709
+ flex: none;
1710
+ border: 1px solid ${a.colors.lineStrong};
1711
+ border-radius: 16px;
1712
+ /* The four equal columns need the design width to hold their content, so a narrower modal scrolls
1713
+ the table here rather than letting the page scroll sideways. */
1714
+ overflow-x: auto;
1715
+ overflow-y: hidden;
1716
+ background: ${a.colors.white};
1717
+ `,sp=r.table`
1718
+ width: 100%;
1719
+ min-width: 1096px;
1720
+ table-layout: fixed;
1721
+ border-collapse: collapse;
1722
+
1723
+ th {
1724
+ height: 48px;
1725
+ padding: 8px 8px 8px 16px;
1726
+ text-align: left;
1727
+ vertical-align: middle;
1728
+ background: ${a.colors.media};
1729
+ border-right: 0.5px solid ${a.colors.lineStrong};
1730
+ font-family: ${a.font.sans};
1731
+ font-weight: 600;
1732
+ font-size: 16px;
1733
+ line-height: 1.5;
1734
+ color: ${a.colors.text};
1735
+ text-transform: capitalize;
1736
+ }
1737
+ th:last-of-type {
1738
+ border-right: 0;
1739
+ }
1740
+
1741
+ td {
1742
+ height: 56px;
1743
+ padding: 8px 8px 8px 16px;
1744
+ vertical-align: middle;
1745
+ border-right: 0.5px solid ${a.colors.lineStrong};
1746
+ border-bottom: 0.5px solid ${a.colors.lineStrong};
1747
+ font-family: ${a.font.sans};
1748
+ font-size: 14px;
1749
+ line-height: 1.43;
1750
+ color: ${a.colors.text2};
1751
+ }
1752
+ td:last-of-type {
1753
+ border-right: 0;
1754
+ }
1755
+
1756
+ tbody tr:hover,
1757
+ tbody tr:focus-within {
1758
+ background: ${a.colors.media};
1759
+ }
1760
+ tbody tr:hover td,
1761
+ tbody tr:focus-within td {
1762
+ border-bottom-color: ${a.colors.media};
1763
+ }
1764
+
1765
+ /* Stack every cell into a card — a 4-column grid is unusable at phone widths. The column name is
1766
+ carried on each cell's data-label so it survives translation. */
1767
+ ${a.media.maxWidth("mobile")} {
1768
+ min-width: 0;
1769
+
1770
+ thead {
1771
+ display: none;
1772
+ }
1773
+ tr {
1774
+ display: block;
1775
+ border-bottom: 0.5px solid ${a.colors.lineStrong};
1776
+ }
1777
+ tr:last-of-type {
1778
+ border-bottom: 0;
1779
+ }
1780
+ td {
1781
+ display: block;
1782
+ height: auto;
1783
+ padding: 8px 16px;
1784
+ border-right: 0;
1785
+ border-bottom: 0;
1786
+ }
1787
+ td:first-of-type {
1788
+ padding-top: 12px;
1789
+ }
1790
+ td:last-of-type {
1791
+ padding-bottom: 12px;
1792
+ }
1793
+ td[data-label]::before {
1794
+ content: attr(data-label);
1795
+ display: block;
1796
+ margin-bottom: 2px;
1797
+ font-size: 12px;
1798
+ line-height: 1.43;
1799
+ color: ${a.colors.muted};
1800
+ text-transform: capitalize;
1801
+ }
1802
+ tbody tr:hover td,
1803
+ tbody tr:focus-within td {
1804
+ border-bottom-color: transparent;
1805
+ }
1806
+ }
1807
+ `,zi=`
1808
+ display: flex;
1809
+ align-items: center;
1810
+ gap: 10px;
1811
+ min-width: 0;
1812
+
1813
+ .owner-ava {
1814
+ flex: none;
1815
+ display: inline-grid;
1816
+ place-items: center;
1817
+ width: 32px;
1818
+ height: 32px;
1819
+ border: 2.286px solid rgba(255, 255, 255, 0.5);
1820
+ border-radius: 50%;
1821
+ background: ${a.colors.media};
1822
+ object-fit: cover;
1823
+ overflow: hidden;
1824
+ color: ${a.colors.white};
1825
+ font-weight: 700;
1826
+ font-size: 13px;
1827
+ }
1828
+ .owner-name {
1829
+ min-width: 0;
1830
+ overflow: hidden;
1831
+ text-overflow: ellipsis;
1832
+ white-space: nowrap;
1833
+ font-family: ${a.font.sans};
1834
+ font-size: 14px;
1835
+ line-height: 1.43;
1836
+ color: ${a.colors.text2};
1837
+ }
1838
+ `,op=r.div`
1839
+ ${zi}
1840
+ `,lp=r.button`
1841
+ ${zi}
1842
+ padding: 0;
1843
+ border: 0;
1844
+ background: none;
1845
+ font: inherit;
1846
+ text-align: left;
1847
+ cursor: pointer;
1848
+
1849
+ &:hover .owner-name {
1850
+ text-decoration: underline;
1851
+ }
1852
+ &:focus-visible {
1853
+ outline: 2px solid ${a.colors.accent};
1854
+ outline-offset: 2px;
1855
+ border-radius: 4px;
1856
+ }
1857
+ `,$a=r.span`
1858
+ color: ${a.colors.muted};
1859
+ `,dp=r.div`
1860
+ display: flex;
1861
+ align-items: center;
1862
+ justify-content: space-between;
1863
+ gap: 4px;
1864
+
1865
+ .amount {
1866
+ display: inline-flex;
1867
+ align-items: center;
1868
+ gap: 4px;
1869
+ font-family: ${a.font.sans};
1870
+ font-weight: 600;
1871
+ font-size: 16px;
1872
+ line-height: 1.5;
1873
+ color: ${a.colors.text2};
1874
+ }
1875
+ /* The credits mark is always near-black here — never the violet accent. */
1876
+ .amount .ccy {
1877
+ flex: none;
1878
+ width: 22px;
1879
+ height: 22px;
1880
+ color: ${a.colors.text2};
1881
+ }
1882
+ .approx {
1883
+ color: ${a.colors.muted};
1884
+ font-weight: 600;
1885
+ }
1886
+ `,cp=r.div`
1887
+ flex: none;
1888
+ display: flex;
1889
+ align-items: center;
1890
+ gap: 8px;
1891
+ opacity: 0;
1892
+ transition: opacity 0.12s ease;
1893
+
1894
+ tr:hover &,
1895
+ tr:focus-within &,
1896
+ &[data-persistent='true'] {
1897
+ opacity: 1;
1898
+ }
1899
+
1900
+ @media (hover: none) {
1901
+ opacity: 1;
1902
+ }
1903
+ ${a.media.maxWidth("mobile")} {
1904
+ opacity: 1;
1905
+ }
1906
+ `,Ei=`
1907
+ display: inline-flex;
1908
+ align-items: center;
1909
+ justify-content: center;
1910
+ gap: 8px;
1911
+ height: 40px;
1912
+ padding: 0 12px;
1913
+ border: 0;
1914
+ border-radius: 12px;
1915
+ cursor: pointer;
1916
+ font-family: ${a.font.sans};
1917
+ font-weight: 600;
1918
+ font-size: 13px;
1919
+ line-height: 24px;
1920
+ letter-spacing: 0.46px;
1921
+ text-transform: uppercase;
1922
+ text-align: center;
1923
+ white-space: nowrap;
1924
+
1925
+ .ico {
1926
+ width: 20px;
1927
+ height: 20px;
1928
+ }
1929
+ &:focus-visible {
1930
+ outline: 2px solid ${a.colors.accent};
1931
+ outline-offset: 2px;
1932
+ }
1933
+ `,up=r.button`
1934
+ ${Ei}
1935
+ min-width: 106px;
1936
+ background: ${a.colors.text2};
1937
+ color: ${a.colors.softWhite};
1938
+
1939
+ &:hover:not(:disabled) {
1940
+ filter: brightness(1.35);
1941
+ }
1942
+ &:disabled {
1943
+ opacity: 0.55;
1944
+ cursor: default;
1945
+ }
1946
+ `,Ca=r.button`
1947
+ ${Ei}
1948
+ background: ${a.colors.accent};
1949
+ color: ${a.colors.softWhite};
1950
+
1951
+ &:hover:not(:disabled) {
1952
+ background: ${a.colors.accentHover};
1953
+ }
1954
+ `,pp=r.span`
1955
+ display: inline-flex;
1956
+ align-items: center;
1957
+ height: 40px;
1958
+ padding: 0 12px;
1959
+ border-radius: 12px;
1960
+ background: ${a.colors.chip};
1961
+ font-family: ${a.font.sans};
1962
+ font-weight: 600;
1963
+ font-size: 13px;
1964
+ line-height: 24px;
1965
+ color: ${a.colors.muted};
1966
+ white-space: nowrap;
1967
+ `,hp=r.div`
1968
+ flex: none;
1969
+ display: flex;
1970
+ align-items: center;
1971
+ justify-content: flex-end;
1972
+ gap: 8px;
1973
+ `,fp=r.p`
1974
+ margin: 0;
1975
+ font-family: ${a.font.sans};
1976
+ font-size: 12px;
1977
+ line-height: 1;
1978
+ color: ${a.colors.gray0};
1979
+ `,Ia=r.button`
1980
+ display: grid;
1981
+ place-items: center;
1982
+ padding: 10px;
1983
+ border: 1px solid ${a.colors.text2};
1984
+ border-radius: 4px;
1985
+ background: ${a.colors.white};
1986
+ color: ${a.colors.text2};
1987
+ cursor: pointer;
1988
+
1989
+ /* One chevron glyph turned into ‹ / › so no extra asset is needed. */
1990
+ .ico {
1991
+ width: 11px;
1992
+ height: 11px;
1993
+ transform: rotate(-90deg);
1994
+ }
1995
+ &[data-dir='prev'] .ico {
1996
+ transform: rotate(90deg);
1997
+ }
1998
+ &:disabled {
1999
+ border-color: ${a.colors.lineStrong};
2000
+ color: ${a.colors.lineStrong};
2001
+ cursor: default;
2002
+ }
2003
+ &:focus-visible {
2004
+ outline: 2px solid ${a.colors.accent};
2005
+ outline-offset: 2px;
2006
+ }
2007
+ `,xp=r.p`
2008
+ margin: 0;
2009
+ padding: 32px 0;
2010
+ font-family: ${a.font.sans};
2011
+ font-size: 14px;
2012
+ line-height: 1.43;
2013
+ color: ${a.colors.muted};
2014
+ text-align: center;
2015
+ `;r.div`
2016
+ display: flex;
2017
+ flex-direction: column;
2018
+ gap: 8px;
2019
+ margin-top: 16px;
2020
+
2021
+ .classic-title {
2022
+ font-family: ${a.font.sans};
2023
+ font-weight: 600;
2024
+ font-size: 15px;
2025
+ color: ${a.colors.text2};
2026
+ }
2027
+ .classic-note {
2028
+ font-family: ${a.font.sans};
2029
+ font-size: 13px;
2030
+ color: ${a.colors.muted};
2031
+ }
2032
+ `;r.span`
2033
+ display: inline-flex;
2034
+ align-items: center;
2035
+ padding: 2px 8px;
2036
+ border-radius: ${a.radius.chip};
2037
+ background: ${a.colors.chip};
2038
+ font-family: ${a.font.sans};
2039
+ font-size: 11px;
2040
+ letter-spacing: 0.4px;
2041
+ text-transform: uppercase;
2042
+ color: ${a.colors.muted};
2043
+ `;r.a`
2044
+ display: inline-flex;
2045
+ align-items: center;
2046
+ gap: 6px;
2047
+ height: 40px;
2048
+ padding: 0 14px;
2049
+ border: 1px solid ${a.colors.lineStrong};
2050
+ border-radius: 12px;
2051
+ color: ${a.colors.accent};
2052
+ font-family: ${a.font.sans};
2053
+ font-weight: 600;
2054
+ font-size: 13px;
2055
+ text-decoration: none;
2056
+
2057
+ &:hover {
2058
+ background: ${a.colors.chip};
2059
+ }
2060
+ .ico {
2061
+ width: 14px;
2062
+ height: 14px;
2063
+ }
2064
+ `;const Gt=10,mp=!1;function gp(t){return/^0x[a-fA-F0-9]{40}$/.test(t)?`${t.slice(0,6)}…${t.slice(-4)}`:t}function bp(t){let s=0;for(let o=0;o<t.length;o++)s=s*31+t.charCodeAt(o)>>>0;return`hsl(${s%360}, 52%, 45%)`}function yp(t,s){var o;return(((o=t==null?void 0:t.trim())==null?void 0:o[0])||s.replace(/^0x/i,"")[0]||"?").toUpperCase()}function wp(t){return t%100>=11&&t%100<=13?"th":["th","st","nd","rd"][t%10]??"th"}function vp(t,s){const o=new Date(t);return Number.isNaN(o.getTime())?"—":s==="en"?`${new Intl.DateTimeFormat("en",{month:"long"}).format(o)} ${o.getDate()}${wp(o.getDate())}, ${o.getFullYear()}`:new Intl.DateTimeFormat(s,{day:"numeric",month:"long",year:"numeric"}).format(o)}function jp(t){return{tradeId:t.tradeId??t.id,listingType:"primary",contractAddress:t.contractAddress,itemId:t.itemId??"",name:t.name,thumbnail:t.thumbnail,rarity:t.rarity,category:t.category,wearableCategory:t.wearableCategory??null,creator:t.creator,manaWei:t.manaWei??"0",available:1,network:t.network,chainId:t.chainId,createdAt:0}}function kp({r:t,seller:s,issuedId:o,labels:l,locale:d,isOwn:u,isLegacy:h,inCart:m,fallbackImage:g,onAdd:k,onBuyNative:x,onBuyLegacy:j}){var i,K;const w=ot(),{data:$}=gt(s),I=(K=(i=$==null?void 0:$.avatar)==null?void 0:i.snapshots)==null?void 0:K.face256,[S,R]=c.useState(!1);c.useEffect(()=>R(!1),[I]);const O=!!I&&!S,M=s?$!=null&&$.name?bt($.name):gp(s):void 0,b=O?e.jsx("img",{className:"owner-ava",src:I,alt:"",loading:"lazy",onError:()=>R(!0)}):s?e.jsx("span",{className:"owner-ava",style:{backgroundColor:bp(s)},"aria-hidden":!0,children:yp($==null?void 0:$.name,s)}):g?e.jsx("img",{className:"owner-ava",src:g,alt:"","aria-hidden":!0}):e.jsx("span",{className:"owner-ava","aria-hidden":!0}),B=e.jsxs(e.Fragment,{children:[b,M?e.jsx("span",{className:"owner-name","data-testid":"resale-seller",children:M}):null]});return e.jsxs("tr",{"data-testid":"resale-row","data-source":t.source,"data-own":u?"true":void 0,children:[e.jsx("td",{"data-label":l.owner,children:s?e.jsx(lp,{type:"button",onClick:()=>w(`/items/creator/${s}`),children:B}):e.jsx(op,{children:B})}),e.jsx("td",{"data-label":l.itemNumber,children:o?e.jsxs("span",{"data-testid":"resale-issued",children:["#",o]}):e.jsx($a,{children:"—"})}),e.jsx("td",{"data-label":l.expiration,children:t.saleEndsAt?vp(t.saleEndsAt,d):e.jsx($a,{children:"—"})}),e.jsx("td",{"data-label":l.price,children:e.jsxs(dp,{children:[e.jsxs("span",{className:"amount",children:[h?e.jsx("span",{className:"approx","aria-hidden":!0,children:"≈"}):null,e.jsx(Pe,{className:"ccy"}),e.jsx("span",{children:Un(t.priceCredits)})]}),e.jsx(cp,{"data-persistent":u?"true":void 0,children:u?e.jsx(pp,{"data-testid":"resale-own",children:n("resales.yourListing")}):h?e.jsx(Ca,{onClick:j,"aria-label":n("assetCard.buyNow"),"data-testid":"resale-buy",children:n("resales.buy")}):e.jsxs(e.Fragment,{children:[e.jsxs(up,{onClick:k,disabled:m,"aria-label":m?n("assetCard.inCart"):n("assetCard.addToCart"),"data-testid":"resale-add",children:[e.jsx(E,{name:"cart",className:"ico"}),e.jsx("span",{children:m?n("assetCard.inCart"):n("resales.add")})]}),e.jsx(Ca,{onClick:x,"aria-label":n("assetCard.buyNow"),"data-testid":"resale-buy",children:n("resales.buy")})]})})]})})]})}function $p({item:t,onClose:s}){var _;const o=t.contractAddress,l=t.itemId,d=mt(),u=Mt(p=>p.add),h=Mt(p=>p.items),{session:m}=at(),g=si(p=>p.locale),k=(_=m==null?void 0:m.address)==null?void 0:_.toLowerCase(),x=c.useRef(null),[j,w]=c.useState(null),[$,I]=c.useState(null),[S,R]=c.useState("cheapest"),[O,M]=c.useState(0),b=!!j||!!$;c.useEffect(()=>{var p;(p=x.current)==null||p.focus()},[]),c.useEffect(()=>{function p(C){C.key==="Escape"&&!b&&s()}window.addEventListener("keydown",p);const A=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",p),document.body.style.overflow=A}},[b,s]);const{data:B=[],isLoading:i}=ie({queryKey:["item-resales",o,l],enabled:!!o&&!!l,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>li(o,l)}),K=c.useMemo(()=>S==="cheapest"?B:[...B].sort((p,A)=>A.priceCredits-p.priceCredits),[B,S]),Q=Math.max(1,Math.ceil(K.length/Gt)),V=Math.min(O,Q-1),X=K.slice(V*Gt,V*Gt+Gt),ne=X.filter(p=>!p.seller||!p.issuedId).map(p=>p.tokenId).filter(p=>!!p),{data:te={}}=ie({queryKey:["resale-token-info",o,ne.join(",")],enabled:!!o&&ne.length>0,staleTime:6e4,queryFn:()=>Os(o,ne)}),{data:ce=[]}=ie({queryKey:["item-classic-orders",o,l],enabled:mp,queryFn:()=>Ks(o,l)}),le=B.some(p=>p.source==="legacy"),{data:J}=oi(le);function z(){d.invalidateQueries({queryKey:["item-resales",o,l]})}const T={owner:n("resales.colOwner"),itemNumber:n("resales.colItemNumber"),expiration:n("resales.colExpiration"),price:n("resales.colPrice")};return e.jsxs(e.Fragment,{children:[e.jsx(Yu,{onClick:b?void 0:s,role:"presentation",children:e.jsxs(Ju,{ref:x,tabIndex:-1,onClick:p=>p.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":n("resales.modalTitle"),"data-testid":"resellers-modal",children:[e.jsxs(Xu,{children:[e.jsx(Zu,{children:n("resales.modalTitle")}),e.jsx(ep,{onClick:s,"aria-label":n("resales.close"),"data-testid":"resellers-close",children:e.jsx(E,{name:"close"})})]}),e.jsxs(tp,{children:[e.jsxs(np,{children:[e.jsx(rp,{"data-testid":"resales-count",children:n("resales.count",{count:B.length})}),e.jsxs(ap,{children:[e.jsxs("select",{value:S,onChange:p=>{R(p.target.value),M(0)},"aria-label":n("resales.sortLabel"),"data-testid":"resales-sort",children:[e.jsx("option",{value:"cheapest",children:n("resales.sortCheapest")}),e.jsx("option",{value:"most_expensive",children:n("resales.sortExpensive")})]}),e.jsx(E,{name:"chevron-down",className:"chev"})]})]}),i?null:K.length===0?e.jsx(xp,{"data-testid":"resales-empty",children:n("resales.empty")}):null,K.length>0?e.jsxs(e.Fragment,{children:[e.jsx(ip,{children:e.jsxs(sp,{children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",children:T.owner}),e.jsx("th",{scope:"col",children:T.itemNumber}),e.jsx("th",{scope:"col",children:T.expiration}),e.jsx("th",{scope:"col",children:T.price})]})}),e.jsx("tbody",{children:X.map(p=>{const A=p.source==="legacy",C=h.some(ee=>ee.id===p.id),P=p.tokenId&&te[p.tokenId]||{},W=p.issuedId??P.issuedId,H=p.seller??P.seller,se={...p,name:p.name||t.name,thumbnail:p.thumbnail||t.thumbnail,rarity:p.rarity||t.rarity,category:p.category||t.category,wearableCategory:p.wearableCategory??t.wearableCategory,gender:p.gender??t.gender},je=!!H&&!!k&&H.toLowerCase()===k;return e.jsx(kp,{r:se,seller:H,issuedId:W,labels:T,locale:g,isOwn:je,isLegacy:A,inCart:C,fallbackImage:se.thumbnail,onAdd:()=>u(se,"item_detail"),onBuyNative:()=>w(se),onBuyLegacy:()=>I(jp(se))},p.tradeId??p.id)})})]})}),Q>1?e.jsxs(hp,{children:[e.jsx(Ia,{"data-dir":"prev",onClick:()=>M(p=>Math.max(0,p-1)),disabled:V===0,"aria-label":n("resales.prevPage"),"data-testid":"resale-prev-page",children:e.jsx(E,{name:"chevron-down"})}),e.jsx(fp,{"data-testid":"resale-page-label",children:n("resales.page",{page:V+1,total:Q})}),e.jsx(Ia,{onClick:()=>M(p=>Math.min(Q-1,p+1)),disabled:V>=Q-1,"aria-label":n("resales.nextPage"),"data-testid":"resale-next-page",children:e.jsx(E,{name:"chevron-down"})})]}):null]}):null,null]})]})}),j?e.jsx(qn,{item:j,onClose:()=>{w(null),z()}}):null,$&&J?e.jsx(Ri,{listing:$,rate:J,onClose:()=>I(null),onSold:()=>{I(null),z()}}):null]})}const Cp="data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='76'%20height='76'%20viewBox='0%200%2076%2076'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='weui:shop-outlined'%3e%3cpath%20id='Vector'%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M25.3333%2022.1667V19C25.3333%2015.6406%2026.6679%2012.4188%2029.0433%2010.0433C31.4188%207.66785%2034.6406%206.33333%2038%206.33333C41.3594%206.33333%2044.5812%207.66785%2046.9567%2010.0433C49.3321%2012.4188%2050.6667%2015.6406%2050.6667%2019V22.1667H60.1667C61.9147%2022.1667%2063.3333%2023.5885%2063.3333%2025.3555V63.3587C63.3333%2066.842%2060.4992%2069.6667%2057.019%2069.6667H18.981C17.3074%2069.6667%2015.7023%2069.0023%2014.5183%2067.8195C13.3343%2066.6367%2012.6683%2065.0322%2012.6667%2063.3587V25.3587C12.6667%2023.5917%2014.0758%2022.1667%2015.8333%2022.1667H25.3333ZM29.1333%2022.1667H46.8667V19C46.8667%2016.6484%2045.9325%2014.3931%2044.2697%2012.7303C42.6069%2011.0675%2040.3516%2010.1333%2038%2010.1333C35.6484%2010.1333%2033.3931%2011.0675%2031.7303%2012.7303C30.0675%2014.3931%2029.1333%2016.6484%2029.1333%2019V22.1667ZM25.3333%2025.9667H16.4667V63.3587C16.4667%2064.7393%2017.594%2065.8667%2018.981%2065.8667H57.019C57.6847%2065.8667%2058.3233%2065.6026%2058.7947%2065.1325C59.266%2064.6623%2059.5317%2064.0244%2059.5333%2063.3587V25.9667H50.6667V34.8333H46.8667V25.9667H29.1333V34.8333H25.3333V25.9667Z'%20fill='url(%23paint0_linear_0_226)'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_0_226'%20x1='36.6705'%20y1='6.33333'%20x2='32.2014'%20y2='69.3597'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FF7439'/%3e%3cstop%20offset='1'%20stop-color='%23FF2D55'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",{colors:me,font:Fi,radius:Jn,z:Ip}=a,Sp=r.div`
2065
+ position: fixed;
2066
+ inset: 0;
2067
+ z-index: ${Ip.overlay};
2068
+ display: flex;
2069
+ align-items: center;
2070
+ justify-content: center;
2071
+ overflow-y: auto;
2072
+ padding: 16px;
2073
+ background: rgba(22, 21, 24, 0.55);
2074
+ `,Ap=r.div`
2075
+ width: 560px;
2076
+ max-width: 100%;
2077
+ max-height: 100%;
2078
+ overflow-y: auto;
2079
+ padding: 12px 16px 16px;
2080
+ border-radius: ${Jn.modal};
2081
+ background: ${me.white};
2082
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
2083
+ display: flex;
2084
+ flex-direction: column;
2085
+ gap: 24px;
2086
+ font-family: ${Fi.sans};
2087
+
2088
+ /* Focused on mount for screen readers; it is not tab-reachable, so it never needs a visible ring. */
2089
+ &:focus {
2090
+ outline: none;
2091
+ }
2092
+ `,Rp=r.div`
2093
+ display: flex;
2094
+ align-items: center;
2095
+ justify-content: space-between;
2096
+ gap: 8px;
2097
+ padding-bottom: 16px;
2098
+ border-bottom: 1px solid ${me.gray4};
2099
+ `,Mp=r.h2`
2100
+ margin: 0;
2101
+ font-weight: 600;
2102
+ font-size: 20px;
2103
+ line-height: 1.6;
2104
+ color: ${me.text};
2105
+ `,Pp=r.button`
2106
+ position: relative;
2107
+ flex: none;
2108
+ display: grid;
2109
+ place-items: center;
2110
+ width: 18.535px;
2111
+ height: 18.535px;
2112
+ padding: 0;
2113
+ border: 0;
2114
+ background: none;
2115
+ cursor: pointer;
2116
+ color: ${me.text};
2117
+
2118
+ .ico {
2119
+ width: 100%;
2120
+ height: 100%;
2121
+ }
2122
+ /* Keeps the glyph exactly where the design puts it while giving it a tappable hit area. */
2123
+ &::after {
2124
+ content: '';
2125
+ position: absolute;
2126
+ inset: -11px;
2127
+ }
2128
+ &:focus-visible {
2129
+ outline: 2px solid ${me.accent};
2130
+ outline-offset: 2px;
2131
+ }
2132
+ `,Lp=r.div`
2133
+ padding: 24px 16px;
2134
+ border-radius: ${Jn.modal};
2135
+ background: ${me.promptLilac};
2136
+ display: flex;
2137
+ flex-direction: column;
2138
+ align-items: center;
2139
+ gap: 16px;
2140
+ text-align: center;
2141
+ `,zp=r.img`
2142
+ flex: none;
2143
+ width: 76px;
2144
+ height: 76px;
2145
+ `,Ep=r.h3`
2146
+ margin: 0;
2147
+ font-weight: 700;
2148
+ font-size: 20px;
2149
+ line-height: 1.334;
2150
+ color: ${me.text2};
2151
+ `,Sa=r.p`
2152
+ margin: 0;
2153
+ font-weight: 400;
2154
+ font-size: 16px;
2155
+ line-height: 1.334;
2156
+ color: ${me.text2};
2157
+ `,Fp=r.div`
2158
+ display: flex;
2159
+ align-items: center;
2160
+ gap: 12px;
2161
+ `,Ti=`
2162
+ flex: 1 1 0;
2163
+ min-width: 0;
2164
+ display: inline-flex;
2165
+ align-items: center;
2166
+ justify-content: center;
2167
+ gap: 12px;
2168
+ height: 46px;
2169
+ padding: 0 12px;
2170
+ border-radius: ${Jn.card};
2171
+ font-family: ${Fi.sans};
2172
+ font-weight: 600;
2173
+ font-size: 13px;
2174
+ line-height: 24px;
2175
+ letter-spacing: 0.46px;
2176
+ text-transform: uppercase;
2177
+ cursor: pointer;
2178
+ transition:
2179
+ background 0.15s ease,
2180
+ color 0.15s ease;
2181
+
2182
+ &:focus-visible {
2183
+ outline: 2px solid ${me.accent};
2184
+ outline-offset: 2px;
2185
+ }
2186
+ `,Tp=r.button`
2187
+ ${Ti};
2188
+ border: 0.5px solid ${me.text};
2189
+ background: ${me.white};
2190
+ color: ${me.text2};
2191
+
2192
+ &:hover {
2193
+ background: ${me.panel};
2194
+ }
2195
+ `,Np=r.a`
2196
+ ${Ti};
2197
+ border: 0;
2198
+ background: ${me.dclRed};
2199
+ color: ${me.softWhite};
2200
+ text-decoration: none;
2201
+
2202
+ &:hover {
2203
+ filter: brightness(1.08);
2204
+ }
2205
+ `,_p=r.span`
2206
+ flex: none;
2207
+ display: grid;
2208
+ place-items: center;
2209
+ width: 24px;
2210
+ height: 24px;
2211
+
2212
+ .ico {
2213
+ width: 100%;
2214
+ height: 100%;
2215
+ }
2216
+ `;function Bp(t,s){return`${Le.marketplaceUrl}/contracts/${t}/tokens/${s}`}function Wp(t,s){return`${Le.marketplaceUrl}/contracts/${t}/items/${s}`}function Aa(t){const{contractAddress:s,onClose:o}=t,l=t.variant==="buy",d=t.variant==="buy"?t.itemId:null,u=t.variant==="buy"?null:t.tokenId,h=t.variant==="buy"?Wp(s,t.itemId):Bp(s,t.tokenId),m=c.useRef(null),g=c.useRef(o);return g.current=o,c.useEffect(()=>{var x;(x=m.current)==null||x.focus();function k(j){j.key==="Escape"&&g.current()}return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[]),e.jsx(Sp,{role:"presentation",onClick:o,children:e.jsxs(Ap,{ref:m,tabIndex:-1,role:"dialog","aria-modal":"true","aria-label":n("marketplaceRedirect.title"),"data-testid":"marketplace-redirect-modal",onClick:k=>k.stopPropagation(),children:[e.jsxs(Rp,{children:[e.jsx(Mp,{children:n("marketplaceRedirect.title")}),e.jsx(Pp,{onClick:o,"aria-label":n("marketplaceRedirect.close"),children:e.jsx(E,{name:"close",className:"ico"})})]}),e.jsxs(Lp,{children:[e.jsx(zp,{src:Cp,alt:"","aria-hidden":!0}),e.jsx(Ep,{children:n("marketplaceRedirect.heading")}),e.jsx(Sa,{children:l?n("marketplaceRedirect.buyBody"):n("marketplaceRedirect.body")}),l?e.jsx(Sa,{children:n("marketplaceRedirect.buyCurrencyNote")}):null]}),e.jsxs(Fp,{children:[e.jsx(Tp,{onClick:o,"data-testid":"marketplace-redirect-cancel",children:n("marketplaceRedirect.cancel")}),e.jsxs(Np,{href:h,target:"_blank",rel:"noreferrer","data-testid":"marketplace-redirect-continue",onClick:()=>Z("Shop Redirected To Marketplace",{direction:l?"buy":"resell",contract_address:s,item_id:d,token_id:u}),children:[n("marketplaceRedirect.continue"),e.jsx(_p,{"aria-hidden":!0,children:e.jsx(E,{name:"view-all-arrow",className:"ico"})})]})]})]})})}function Xn(){return Le.shopServerUrl||null}function Ni(){return!!Xn()}async function Dp(t,s,o){const l=Xn();if(!l)return{subscribed:!1};const d=new URLSearchParams({contractAddress:t,itemId:s}),u=`${l}/notify-requests?${d.toString()}`,h=await di(u,{method:"GET",identity:o,metadata:{}});if(!h.ok)throw new Error(`getNotifyRequest ${h.status}`);return Op(h,"getNotifyRequest")}async function qp(t,s){const o=Xn();if(!o)throw new Error("createNotifyRequest: no shop-server host configured");const l=`${o}/notify-requests`,d=await di(l,{method:"POST",identity:s,metadata:{},headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!d.ok)throw new Error(`createNotifyRequest ${d.status}: ${await d.text()}`);const u=await d.text();if(u.trim()&&!Kp(u))throw new Error("createNotifyRequest: response was not JSON")}async function Op(t,s){try{return await t.json()}catch{throw new Error(`${s}: response was not JSON`)}}function Kp(t){try{return JSON.parse(t),!0}catch{return!1}}const{colors:Me,radius:_i}=a,Bi=yt`
2217
+ display: flex;
2218
+ flex-direction: column;
2219
+ gap: 8px;
2220
+ width: 100%;
2221
+ `,Hp=r.form`
2222
+ ${Bi};
2223
+ `,Ra=r.div`
2224
+ ${Bi};
2225
+
2226
+ &[data-done] {
2227
+ flex-direction: row;
2228
+ align-items: center;
2229
+ gap: 16px;
2230
+ padding: 12px;
2231
+ border-radius: 16px;
2232
+ background: #c1d8c9;
2233
+ }
2234
+ `,Up=r.label`
2235
+ font-size: 14px;
2236
+ color: ${Me.softWhite};
2237
+ `,Qp=r.div`
2238
+ display: flex;
2239
+ align-items: stretch;
2240
+ gap: 8px;
2241
+ `,Vp=r.input`
2242
+ flex: 1;
2243
+ min-width: 0;
2244
+ height: 42px;
2245
+ padding: 0 16px;
2246
+ border: 1px solid ${Me.fieldBorder};
2247
+ border-radius: ${_i.btn};
2248
+ background: rgba(255, 255, 255, 0.1);
2249
+ font-size: 16px;
2250
+ color: ${Me.softWhite};
2251
+
2252
+ &::placeholder {
2253
+ color: ${Me.gray4};
2254
+ }
2255
+ &:focus-visible {
2256
+ outline: none;
2257
+ border-color: ${Me.white};
2258
+ box-shadow: 0 0 0 1px ${Me.white};
2259
+ }
2260
+ `,Ma=r.button`
2261
+ flex-shrink: 0;
2262
+ height: 40px;
2263
+ padding: 0 12px;
2264
+ border: 0;
2265
+ border-radius: ${_i.card};
2266
+ background: ${Me.softWhite};
2267
+ color: ${Me.text};
2268
+ font-weight: 600;
2269
+ font-size: 15px;
2270
+ line-height: 24px;
2271
+ text-transform: uppercase;
2272
+ letter-spacing: 0.46px;
2273
+ cursor: pointer;
2274
+ transition: background 0.15s ease;
2275
+
2276
+ &[data-full] {
2277
+ width: 100%;
2278
+ flex-shrink: 1;
2279
+ }
2280
+ &:hover:not(:disabled) {
2281
+ background: ${Me.white};
2282
+ }
2283
+ &:disabled {
2284
+ opacity: 0.5;
2285
+ cursor: default;
2286
+ }
2287
+ `,Gp=r.span`
2288
+ display: inline-flex;
2289
+ align-items: center;
2290
+ justify-content: center;
2291
+ flex-shrink: 0;
2292
+ width: 20px;
2293
+ height: 20px;
2294
+ border-radius: 50%;
2295
+ background: #34ce76;
2296
+ color: ${Me.white};
2297
+ `,Yp=r.span`
2298
+ font-size: 16px;
2299
+ line-height: 1.5;
2300
+ color: ${Me.text2};
2301
+ `;function Pa(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t.trim())}function Jp({item:t}){const s=at(R=>R.session),o=at(R=>R.signIn),[l,d]=c.useState(""),[u,h]=c.useState(!1),[m,g]=c.useState(!1),[k,x]=c.useState(null),j=Ni(),w=j&&!!s&&!!t.contractAddress&&!!t.itemId,{data:$}=ie({queryKey:["notify-request",t.contractAddress,t.itemId,s==null?void 0:s.address],enabled:w,queryFn:()=>Dp(t.contractAddress,t.itemId,s.identity)});c.useEffect(()=>{$!=null&&$.email&&d(R=>R||$.email)},[$==null?void 0:$.email]),c.useEffect(()=>{if(!s||!j)return;let R=!1;return Hs().then(O=>{!R&&O&&d(M=>M||O)}),()=>{R=!0}},[j,s]);const I=m||!!($!=null&&$.subscribed);async function S(R){if(R.preventDefault(),!(!s||!t.itemId||!Pa(l)||u)){h(!0),x(null);try{await qp({contractAddress:t.contractAddress,itemId:t.itemId,chainId:t.chainId,email:l.trim()},s.identity),g(!0),Z("Shop Requested Notify",{item_id:t.itemId,contract_address:t.contractAddress})}catch(O){he(O,{flow:"notify-me",contractAddress:t.contractAddress,itemId:t.itemId}),x(n("notifyMe.error"))}finally{h(!1)}}}return j?s?I?e.jsxs(Ra,{"data-done":!0,"data-testid":"notify-subscribed",children:[e.jsx(Gp,{"aria-hidden":!0,children:e.jsx(E,{name:"check",size:12})}),e.jsx(Yp,{children:n("notifyMe.subscribedBody")})]}):e.jsxs(Hp,{onSubmit:R=>void S(R),"data-testid":"notify",children:[e.jsx(Up,{htmlFor:"notify-email",children:n("notifyMe.label")}),e.jsxs(Qp,{children:[e.jsx(Vp,{id:"notify-email",type:"email",inputMode:"email",autoComplete:"email",placeholder:n("notifyMe.placeholder"),value:l,onChange:R=>d(R.target.value),"data-testid":"notify-email"}),e.jsx(Ma,{type:"submit",disabled:!Pa(l)||u,"data-testid":"notify-submit",children:u?n("notifyMe.working"):n("notifyMe.cta")})]}),e.jsx(st,{message:k})]}):e.jsx(Ra,{"data-testid":"notify",children:e.jsx(Ma,{type:"button","data-full":!0,onClick:o,"data-testid":"notify-signin",children:n("notifyMe.signInCta")})}):null}const Xp=r.div`
2302
+ display: flex;
2303
+ flex-direction: column;
2304
+ gap: 4px;
2305
+ width: 100%;
2306
+ font-family: ${a.font.sans};
2307
+ `,Zp=r.div`
2308
+ display: flex;
2309
+ align-items: flex-start;
2310
+ justify-content: space-between;
2311
+ gap: 12px;
2312
+ font-size: 12px;
2313
+ `,eh=r.span`
2314
+ font-weight: 600;
2315
+ line-height: 1.57;
2316
+ color: ${a.colors.muted2};
2317
+ /* Drawn in caps, like the PRICE and STOCK labels beside it. Cased here rather than in the string so a
2318
+ translation is not forced to shout in a language where that reads badly. */
2319
+ text-transform: uppercase;
2320
+ white-space: nowrap;
2321
+ `,La=r.span`
2322
+ /* Sized here, not inherited from the head row: the same element also sits UNDER the bar, outside it. */
2323
+ font-size: 12px;
2324
+ font-weight: 400;
2325
+ line-height: 22px;
2326
+ color: ${a.colors.softWhite};
2327
+ text-transform: lowercase;
2328
+ white-space: nowrap;
2329
+ `,th=r.div`
2330
+ position: relative;
2331
+ width: 100%;
2332
+ height: 10px;
2333
+ border-radius: 100px;
2334
+ background: rgba(255, 255, 255, 0.2);
2335
+ /* The fill is a child with its own radius; clipping here keeps a full bar's ends round. */
2336
+ overflow: hidden;
2337
+ `,nh=r.div`
2338
+ position: absolute;
2339
+ left: 0;
2340
+ top: 0;
2341
+ height: 10px;
2342
+ border-radius: 100px;
2343
+ background: ${a.colors.dclRed};
2344
+ transition: width 0.3s ease;
2345
+
2346
+ @media (prefers-reduced-motion: reduce) {
2347
+ transition: none;
2348
+ }
2349
+ `;function rh({claimed:t,total:s,className:o,testId:l}){if(!Number.isFinite(t)||!Number.isFinite(s)||s<=0)return null;const d=Math.min(s,Math.max(0,t)),u=Math.round(d/s*100);return e.jsxs(Xp,{className:o,"data-testid":l,children:[e.jsxs(Zp,{children:[e.jsx(eh,{children:n("offerStock.label")}),e.jsx(La,{children:n("offerStock.claimed",{claimed:d,total:s})})]}),e.jsx(th,{role:"progressbar","aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":d,"aria-label":n("offerStock.claimed",{claimed:d,total:s}),children:e.jsx(nh,{style:{width:`${u}%`}})}),e.jsx(La,{children:n("offerStock.percent",{pct:u})})]})}const ah=new Map(Object.entries(Us).flatMap(([t,s])=>s.length===1?[[s[0],t]]:[])),xt="/items";function ih(t){return t?`${xt}?rarities=${encodeURIComponent(t.toLowerCase())}`:null}function sh(t){const s=t.wearableCategory;if(s){const o=ah.get(s);return o?`${xt}?category=wearable&subCategory=${encodeURIComponent(o)}`:`${xt}?category=wearable`}return t.category==="emote"?`${xt}?category=emote`:t.category==="wearable"?`${xt}?category=wearable`:null}function oh(){return`${xt}?smart=true`}const lh=r(Qs)`
2350
+ display: flex;
2351
+ flex-direction: column;
2352
+ overflow: hidden;
2353
+ gap: 1px;
2354
+ background: ${a.colors.lineStrong};
2355
+
2356
+ /* Rows stack; each cell (<img>) covers its share. A single row (≤2 thumbnails, data-full) spans the
2357
+ full height. */
2358
+ & [data-collage-row] {
2359
+ display: flex;
2360
+ flex: 1 1 50%;
2361
+ min-height: 0;
2362
+ gap: 1px;
2363
+ }
2364
+ & [data-collage-row][data-full] {
2365
+ flex-basis: 100%;
2366
+ }
2367
+ & [data-collage-row] img {
2368
+ flex: 1 1 0;
2369
+ min-width: 0;
2370
+ width: 100%;
2371
+ height: 100%;
2372
+ object-fit: cover;
2373
+ display: block;
2374
+ }
2375
+ `;function dh({contractAddress:t,name:s,items:o,className:l}){const d=ot();if(!t||!s)return null;const u=(o??[]).map(g=>g.thumbnail).filter(g=>!!g).slice(0,4),h=u.slice(0,2),m=u.slice(2,4);return e.jsxs(Vs,{as:"button","data-link":!0,className:l,"data-testid":"creator",onClick:g=>{g.stopPropagation(),d(`/collection/${t}`)},children:[u.length>0?e.jsxs(lh,{as:"span","data-avatar":!0,"data-testid":"creator-ava","aria-hidden":!0,children:[e.jsx("span",{"data-collage-row":!0,"data-full":m.length===0||void 0,children:h.map((g,k)=>e.jsx("img",{src:g,alt:""},k))}),m.length>0?e.jsx("span",{"data-collage-row":!0,children:m.map((g,k)=>e.jsx("img",{src:g,alt:""},k))}):null]}):null,e.jsx(Gs,{"data-testid":"creator-name",children:bt(s)})]})}const{colors:y,radius:Ge,media:de,font:ch,gradients:uh}=a,ph=r.div`
2376
+ max-width: 1721px;
2377
+ margin: 0 auto;
2378
+
2379
+ ${de.maxWidth("lg")} {
2380
+ padding-bottom: 88px;
2381
+ }
2382
+ `,hh=r.nav`
2383
+ display: flex;
2384
+ align-items: center;
2385
+ gap: 8px;
2386
+ font-size: 13px;
2387
+ color: ${y.gray4};
2388
+ margin-bottom: 24px;
2389
+ ${ed};
2390
+ `,fh=r.button`
2391
+ background: none;
2392
+ border: 0;
2393
+ padding: 0;
2394
+ font: inherit;
2395
+ color: ${y.gray4};
2396
+
2397
+ &:hover {
2398
+ color: ${y.white};
2399
+ }
2400
+ `,xh=r.span`
2401
+ color: ${y.muted2};
2402
+ `,mh=r.span`
2403
+ color: ${y.softWhite};
2404
+ font-weight: 600;
2405
+ `,gh=r.div`
2406
+ position: relative;
2407
+ /* Confines the glow's negative z-index, which would otherwise escape to the root stacking context. */
2408
+ isolation: isolate;
2409
+ display: grid;
2410
+ grid-template-columns: minmax(0, 1045fr) minmax(0, 514fr);
2411
+ gap: 48px;
2412
+ align-items: start;
2413
+
2414
+ /* Preview column width, re-derived from the tracks above so the glow's pivot cannot drift. */
2415
+ --preview-col-w: calc((100% - 48px) * 1045 / 1559);
2416
+ /* Oversized so the glow reaches past the frame while the gradient still finishes fading inside its
2417
+ own box: the radii cannot exceed 50% without ending outside the box and painting a hard rectangle. */
2418
+ --glow-box: 1.76;
2419
+
2420
+ /* Avatar glow, hung off the grid container because the preview frame clips its own overflow. Sits
2421
+ under the frame and, by document order, above the body symbols on the same z-index. */
2422
+ &::before {
2423
+ content: '';
2424
+ position: absolute;
2425
+ z-index: -1;
2426
+ pointer-events: none;
2427
+ top: 0;
2428
+ left: calc(var(--preview-col-w) / 2);
2429
+ width: calc(var(--preview-col-w) * var(--glow-box));
2430
+ aspect-ratio: 1045 / 752;
2431
+ transform: translate(-50%, calc(50% / var(--glow-box) - 50%));
2432
+ background: radial-gradient(
2433
+ 50% 50% at 50% 52%,
2434
+ rgb(var(--glow-core, ${y.glowCyanRgb})) 0%,
2435
+ rgb(var(--glow-rgb, ${y.glowCyanRgb}) / 0.9) 20%,
2436
+ 45%,
2437
+ rgb(var(--glow-rgb, ${y.glowCyanRgb}) / 0) 100%
2438
+ );
2439
+ }
2440
+
2441
+ ${de.maxWidth("lg")} {
2442
+ grid-template-columns: 1fr;
2443
+ gap: 24px;
2444
+
2445
+ /* The track maths is desktop-only; one column puts the pivot nowhere meaningful. */
2446
+ &::before {
2447
+ display: none;
2448
+ }
2449
+ }
2450
+ `,bh=r.div`
2451
+ position: relative;
2452
+ aspect-ratio: 1045 / 752;
2453
+ border-radius: ${Ge.banner};
2454
+ overflow: hidden;
2455
+
2456
+ /* Edge to edge once the page is a single column: the stage is the whole width there, so it cancels the
2457
+ shell's gutter instead of sitting inside it. No transform, which would make this the containing block
2458
+ for the absolutely-positioned controls below. */
2459
+ ${de.maxWidth("lg")} {
2460
+ aspect-ratio: 1 / 1;
2461
+ width: 100vw;
2462
+ margin-left: calc(-50vw + 50%);
2463
+ border-radius: 0;
2464
+ }
2465
+
2466
+ & iframe,
2467
+ & > * {
2468
+ width: 100%;
2469
+ height: 100%;
2470
+ border: 0;
2471
+ display: block;
2472
+ }
2473
+
2474
+ /* Soft edges so legs and the cast shadow dissolve instead of being sliced by the overflow clip — on the
2475
+ iframe alone, so the pills and note stay crisp, and intersected linears rather than one radial, which
2476
+ would round the corners. The bands stay clear of the controls aang draws ~40px inside its canvas. */
2477
+ & iframe {
2478
+ -webkit-mask-image:
2479
+ linear-gradient(to bottom, transparent 0%, #000 3%, #000 92%, transparent 100%),
2480
+ linear-gradient(to right, transparent 0%, #000 3%, #000 97%, transparent 100%);
2481
+ -webkit-mask-composite: source-in;
2482
+ mask-image:
2483
+ linear-gradient(to bottom, transparent 0%, #000 3%, #000 92%, transparent 100%),
2484
+ linear-gradient(to right, transparent 0%, #000 3%, #000 97%, transparent 100%);
2485
+ mask-composite: intersect;
2486
+ }
2487
+
2488
+ /* Invisible viewport sentinel for the IntersectionObserver that pauses the preview off-screen.
2489
+ Absolute + pointer-events:none so it neither takes layout space (undoing the greedy child sizing
2490
+ above) nor blocks the preview controls. */
2491
+ & > [data-preview-viewport] {
2492
+ position: absolute;
2493
+ inset: 0;
2494
+ pointer-events: none;
2495
+ z-index: 0;
2496
+ }
2497
+
2498
+ & > [data-preview-toggle] {
2499
+ position: absolute;
2500
+ top: 16px;
2501
+ left: 16px;
2502
+ z-index: 2;
2503
+ width: auto;
2504
+ height: auto;
2505
+ display: inline-flex;
2506
+ gap: 2px;
2507
+ padding: 3px;
2508
+ background: rgba(255, 255, 255, 0.92);
2509
+ border: 1px solid ${y.line};
2510
+ border-radius: 999px;
2511
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
2512
+
2513
+ /* Bottom-right on mobile, and the two buttons meet directly: the design draws one clipped group, so the
2514
+ container carries no fill, gap or padding of its own there. */
2515
+ ${de.maxWidth("lg")} {
2516
+ top: auto;
2517
+ left: auto;
2518
+ right: 16px;
2519
+ bottom: 16px;
2520
+ gap: 0;
2521
+ padding: 0;
2522
+ background: none;
2523
+ border: 0;
2524
+ box-shadow: none;
2525
+ overflow: hidden;
2526
+ }
2527
+ }
2528
+
2529
+ & > [data-preview-note] {
2530
+ position: absolute;
2531
+ bottom: 14px;
2532
+ left: 50%;
2533
+ transform: translateX(-50%);
2534
+ z-index: 2;
2535
+ width: auto;
2536
+ height: auto;
2537
+ max-width: 88%;
2538
+ margin: 0;
2539
+ text-align: center;
2540
+ background: rgba(22, 21, 24, 0.78);
2541
+ color: ${y.white};
2542
+ font-size: 12px;
2543
+ font-weight: 500;
2544
+ padding: 6px 12px;
2545
+ border-radius: 999px;
2546
+ }
2547
+
2548
+ & > [data-preview-loading] {
2549
+ position: absolute;
2550
+ inset: 0;
2551
+ z-index: 1;
2552
+ display: flex;
2553
+ align-items: center;
2554
+ justify-content: center;
2555
+ width: 100%;
2556
+ height: 100%;
2557
+ background: transparent;
2558
+ }
2559
+
2560
+ & > [data-fav-preview] {
2561
+ display: none;
2562
+ }
2563
+
2564
+ /* Bottom-LEFT: the emote controls and the preview note both own the bottom centre, and the mobile
2565
+ wearable/avatar toggle owns the bottom right, so this is the one free corner on every route. */
2566
+ & > [data-play-showcase] {
2567
+ position: absolute;
2568
+ bottom: 16px;
2569
+ left: 16px;
2570
+ z-index: 2;
2571
+ width: auto;
2572
+ height: auto;
2573
+ }
2574
+
2575
+ ${de.maxWidth("lg")} {
2576
+ & > [data-preview-toggle] {
2577
+ top: auto;
2578
+ left: auto;
2579
+ bottom: 12px;
2580
+ right: 12px;
2581
+ gap: 0;
2582
+ padding: 0;
2583
+ background: transparent;
2584
+ border: 0;
2585
+ box-shadow: 0 1px 4px rgba(22, 21, 24, 0.18);
2586
+ overflow: hidden;
2587
+ }
2588
+ & > [data-fav-preview] {
2589
+ display: inline-flex;
2590
+ position: absolute;
2591
+ top: 12px;
2592
+ right: 12px;
2593
+ z-index: 3;
2594
+ width: auto;
2595
+ min-width: 40px;
2596
+ height: 40px;
2597
+ background: rgba(255, 255, 255, 0.92);
2598
+ box-shadow: 0 1px 4px rgba(22, 21, 24, 0.18);
2599
+ }
2600
+ & > [data-fav-preview]:hover {
2601
+ background: ${y.white};
2602
+ }
2603
+ }
2604
+ `,yh=r.div``,wh=r.span`
2605
+ position: absolute;
2606
+ inset: 0;
2607
+ width: 100%;
2608
+ height: 100%;
2609
+ border-radius: inherit;
2610
+ `,vh=r.div`
2611
+ display: flex;
2612
+ flex-direction: column;
2613
+ gap: 0;
2614
+ `,jh=r.div`
2615
+ display: flex;
2616
+ align-items: flex-start;
2617
+ justify-content: space-between;
2618
+ gap: 12px;
2619
+
2620
+ ${de.maxWidth("lg")} {
2621
+ order: 0;
2622
+ }
2623
+ `,kh=r.h1`
2624
+ font-size: 28px;
2625
+ font-weight: 600;
2626
+ line-height: 34px;
2627
+ color: ${y.softWhite};
2628
+
2629
+ ${de.maxWidth("lg")} {
2630
+ font-size: 20px;
2631
+ line-height: 24px;
2632
+ }
2633
+ `,za=r.button`
2634
+ flex: none;
2635
+ min-width: 40px;
2636
+ height: 40px;
2637
+ padding: 0;
2638
+ border-radius: ${Ge.pill};
2639
+ border: 0;
2640
+ background: rgba(255, 255, 255, 0.16);
2641
+ display: inline-flex;
2642
+ align-items: center;
2643
+ justify-content: center;
2644
+ gap: 6px;
2645
+ color: ${y.softWhite};
2646
+ cursor: pointer;
2647
+ transition:
2648
+ color 0.12s ease,
2649
+ background 0.12s ease;
2650
+
2651
+ &[data-count] {
2652
+ padding: 0 14px 0 12px;
2653
+ }
2654
+ &:hover {
2655
+ background: rgba(255, 255, 255, 0.28);
2656
+ }
2657
+ &[data-on] {
2658
+ color: ${y.dclRed};
2659
+ }
2660
+
2661
+ ${de.maxWidth("lg")} {
2662
+ color: ${y.text};
2663
+ &[data-fav-title] {
2664
+ display: none;
2665
+ }
2666
+ }
2667
+ `,Ea=r.span`
2668
+ font-size: 13px;
2669
+ font-weight: 600;
2670
+ line-height: 1;
2671
+ color: ${y.softWhite};
2672
+
2673
+ ${de.maxWidth("lg")} {
2674
+ color: ${y.text};
2675
+ }
2676
+ `,$h=r.button`
2677
+ display: inline-flex;
2678
+ align-items: center;
2679
+ gap: 8px;
2680
+ padding: 8px 14px;
2681
+ border: 1px solid ${y.line};
2682
+ border-radius: ${Ge.pill};
2683
+ background: rgba(255, 255, 255, 0.94);
2684
+ backdrop-filter: blur(6px);
2685
+ box-shadow: 0 2px 10px rgba(22, 21, 24, 0.12);
2686
+ color: ${y.text};
2687
+ font-size: 13px;
2688
+ font-weight: 600;
2689
+ cursor: pointer;
2690
+ transition: background 0.12s ease;
2691
+
2692
+ &:hover {
2693
+ background: ${y.white};
2694
+ }
2695
+ &:focus-visible {
2696
+ outline: 2px solid ${y.accent};
2697
+ outline-offset: 2px;
2698
+ }
2699
+ `,ht=r.div`
2700
+ display: inline-flex;
2701
+ align-items: center;
2702
+ gap: 5px;
2703
+ font-size: 12px;
2704
+ font-weight: 500;
2705
+ text-transform: uppercase;
2706
+ letter-spacing: 0;
2707
+ color: ${y.gray4};
2708
+ `,Ch=r.div`
2709
+ display: flex;
2710
+ align-items: center;
2711
+ gap: 8px;
2712
+ flex-wrap: wrap;
2713
+ margin-top: 12px;
2714
+
2715
+ ${de.maxWidth("lg")} {
2716
+ order: 1;
2717
+ margin-top: 10px;
2718
+ }
2719
+ `,We=r(ai)`
2720
+ height: 24px;
2721
+ padding: 0 8px;
2722
+ gap: 3px;
2723
+ font-size: 13px;
2724
+ font-weight: 500;
2725
+ border-radius: 4px;
2726
+ letter-spacing: 0.02em;
2727
+ text-transform: uppercase;
2728
+ background: rgba(255, 255, 255, 0.14);
2729
+ color: ${y.softWhite};
2730
+
2731
+ & .ico {
2732
+ color: ${y.softWhite};
2733
+ }
2734
+ &[data-variant='cat'] {
2735
+ background: rgba(255, 255, 255, 0.14);
2736
+ color: ${y.softWhite};
2737
+ }
2738
+
2739
+ /* The blocked-VRM-export badge. Warning orange, tinted at 20% for the fill — the marketplace's own
2740
+ #ff7439 on #ff743933, kept identical so the same restriction reads the same in both places. It is the
2741
+ one chip in this row that reports a limitation rather than a feature, and it should not blend in. */
2742
+ &[data-variant='blocked'] {
2743
+ background: rgba(255, 116, 57, 0.2);
2744
+ color: #ff7439;
2745
+ cursor: help;
2746
+ }
2747
+ &[data-variant='blocked']:focus-visible {
2748
+ outline: 2px solid #ff7439;
2749
+ outline-offset: 2px;
2750
+ }
2751
+ `,Yt=r(We.withComponent(Xa))`
2752
+ text-decoration: none;
2753
+ cursor: pointer;
2754
+ transition: background 0.15s ease;
2755
+
2756
+ &:hover,
2757
+ &:focus-visible {
2758
+ background: rgba(255, 255, 255, 0.26);
2759
+ }
2760
+
2761
+ /* The rarity chip carries its own colour inline, so a background hover would be overridden and the
2762
+ chip would look inert. It gets a ring instead, which reads on any fill. */
2763
+ &[data-variant='rarity']:hover,
2764
+ &[data-variant='rarity']:focus-visible {
2765
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45);
2766
+ }
2767
+ `,Ih=r.div`
2768
+ display: flex;
2769
+ flex-direction: column;
2770
+ align-items: flex-start;
2771
+ gap: 8px;
2772
+ `,On=r(Ih)`
2773
+ gap: 11px;
2774
+ `,Fa=r.p`
2775
+ margin: 0;
2776
+ color: ${y.softWhite};
2777
+ font-size: 14px;
2778
+ line-height: 30px;
2779
+ display: -webkit-box;
2780
+ -webkit-box-orient: vertical;
2781
+ -webkit-line-clamp: 4;
2782
+ overflow: hidden;
2783
+
2784
+ &[data-expanded] {
2785
+ -webkit-line-clamp: unset;
2786
+ overflow: visible;
2787
+ }
2788
+ `,Sh=r.button`
2789
+ font-size: 13px;
2790
+ align-self: flex-start;
2791
+ `,Wi=yt`
2792
+ display: grid;
2793
+ grid-template-columns: 1fr 1fr;
2794
+ gap: 16px;
2795
+ `,Di=r.div`
2796
+ ${Wi};
2797
+ /* Clears the chips above. The pair below sits at 32px, so this is the tighter of the two steps: the
2798
+ description belongs to the heading block it follows, the creator/collection pair is a new subject. */
2799
+ margin-top: 24px;
2800
+
2801
+ ${de.maxWidth("lg")} {
2802
+ order: 3;
2803
+ grid-template-columns: 1fr;
2804
+ /* Stacked, the two blocks need real separation — as one column they would read as one paragraph. */
2805
+ gap: 20px;
2806
+ margin-top: 20px;
2807
+ }
2808
+ `,Kn=r.div`
2809
+ min-width: 0;
2810
+ `,qi=r.div`
2811
+ ${Wi};
2812
+ margin-top: 32px;
2813
+
2814
+ ${de.maxWidth("lg")} {
2815
+ order: 2;
2816
+ margin-top: 20px;
2817
+ }
2818
+ `,Rt=r.div`
2819
+ display: flex;
2820
+ flex-direction: column;
2821
+ gap: 15px;
2822
+ min-width: 0;
2823
+
2824
+ &[data-collection] {
2825
+ align-items: flex-start;
2826
+ }
2827
+ `,Oi=yt`
2828
+ &[data-testid='creator'] {
2829
+ color: ${y.softWhite};
2830
+ font-size: 14px;
2831
+ gap: 12px;
2832
+ }
2833
+ [data-avatar] {
2834
+ width: 48px;
2835
+ height: 48px;
2836
+ }
2837
+ [data-letter] {
2838
+ font-size: 18px;
2839
+ }
2840
+ [data-testid='creator-name'] {
2841
+ color: ${y.softWhite};
2842
+ font-weight: 500;
2843
+ text-decoration: underline;
2844
+ }
2845
+ &[data-link]:hover [data-testid='creator-name'] {
2846
+ color: ${y.gray4};
2847
+ }
2848
+ `,Ah=r(Js)`
2849
+ ${Oi}
2850
+ `,Rh=r(dh)`
2851
+ ${Oi}
2852
+ `,Ki=r.hr`
2853
+ border: 0;
2854
+ border-top: 1px solid rgba(255, 255, 255, 0.3);
2855
+ margin: 24px 0 0;
2856
+ width: 100%;
2857
+
2858
+ /* Below the price, not above it: the design hangs this off the bottom of the buy section (2090:399782),
2859
+ so it closes the price rather than separating it from the description. */
2860
+ ${de.maxWidth("lg")} {
2861
+ order: 5;
2862
+ margin-top: 16px;
2863
+ }
2864
+ `,Mh=r(Ys)`
2865
+ margin-bottom: 12px;
2866
+ `,Ph=r.div`
2867
+ margin-top: 16px;
2868
+ /* The design's Pricing frame stacks its rows 16px apart; without it the stock scale sat against the
2869
+ underside of the price and read as part of it. */
2870
+ display: flex;
2871
+ flex-direction: column;
2872
+ gap: 16px;
2873
+
2874
+ ${de.maxWidth("lg")} {
2875
+ order: 4;
2876
+ margin-top: 16px;
2877
+ }
2878
+ `,Lh=r.div`
2879
+ display: flex;
2880
+ align-items: flex-start;
2881
+ gap: 16px;
2882
+ width: 100%;
2883
+ `,zh=r.div`
2884
+ flex: 1 1 auto;
2885
+ min-width: 0;
2886
+ display: flex;
2887
+ flex-direction: column;
2888
+ gap: 8px;
2889
+ `,Ta=r.div`
2890
+ flex: 0 0 auto;
2891
+ display: flex;
2892
+ flex-direction: column;
2893
+ align-items: flex-end;
2894
+ gap: 8px;
2895
+ text-align: right;
2896
+ `,En=r.div`
2897
+ font-size: 18px;
2898
+ font-weight: 500;
2899
+ line-height: 1;
2900
+ color: ${y.softWhite};
2901
+
2902
+ &[data-out] {
2903
+ font-size: 14px;
2904
+ font-weight: 600;
2905
+ text-transform: uppercase;
2906
+ letter-spacing: 0.02em;
2907
+ color: ${y.gray4};
2908
+ }
2909
+ `,Fn=r.div`
2910
+ font-size: 14px;
2911
+ font-weight: 600;
2912
+ text-transform: uppercase;
2913
+ letter-spacing: 0;
2914
+ color: ${y.muted2};
2915
+ `,St=r.div`
2916
+ display: flex;
2917
+ align-items: center;
2918
+ gap: 8px;
2919
+ font-weight: 700;
2920
+ color: ${y.softWhite};
2921
+
2922
+ /* Not for sale: "Not for Sale" + an info tooltip, 14px semibold, no PRICE label. */
2923
+ &[data-variant='none'] {
2924
+ display: inline-flex;
2925
+ align-items: center;
2926
+ gap: 6px;
2927
+ font-size: 14px;
2928
+ font-weight: 600;
2929
+ color: ${y.softWhite};
2930
+ }
2931
+ /*
2932
+ * White, not red. The tag above the title is what announces the discount; painting the number red too
2933
+ * said it a second time and left the price itself the least legible thing in its own row.
2934
+ */
2935
+ &[data-variant='sale'] {
2936
+ flex-wrap: wrap;
2937
+ gap: 4px 8px;
2938
+ color: ${y.white};
2939
+ }
2940
+ `;r.span`
2941
+ display: flex;
2942
+ align-items: center;
2943
+ gap: 10px;
2944
+ font-weight: 700;
2945
+ color: ${y.dclRed};
2946
+ `;const At=r.span`
2947
+ font-size: 30px;
2948
+ line-height: 1;
2949
+ `,Eh=r.span`
2950
+ display: inline-flex;
2951
+ color: ${y.muted2};
2952
+ cursor: help;
2953
+
2954
+ &:focus-visible {
2955
+ outline: 2px solid ${y.accent};
2956
+ outline-offset: 2px;
2957
+ border-radius: ${Ge.chip};
2958
+ }
2959
+ `,Fh=r.span`
2960
+ font-size: 24px;
2961
+ font-weight: 700;
2962
+ color: ${y.softWhite};
2963
+ margin-right: -2px;
2964
+ `,Th=r.div`
2965
+ font-size: 13px;
2966
+ margin-top: 6px;
2967
+ color: ${y.gray4};
2968
+ `;r.div`
2969
+ flex-basis: 100%;
2970
+ display: flex;
2971
+ align-items: center;
2972
+ flex-wrap: wrap;
2973
+ gap: 8px 12px;
2974
+ `;const Nh=r.div`
2975
+ font-size: 13px;
2976
+ font-weight: 600;
2977
+ color: ${y.dclRed};
2978
+ `,_h=r.span`
2979
+ display: inline-flex;
2980
+ align-items: center;
2981
+ color: ${y.muted2};
2982
+ text-decoration: line-through;
2983
+ font-weight: 400;
2984
+ font-size: 20px;
2985
+ `;r.span`
2986
+ display: inline-flex;
2987
+ align-items: center;
2988
+ background: ${y.dclRed};
2989
+ color: ${y.white};
2990
+ font-weight: 800;
2991
+ font-size: 13px;
2992
+ letter-spacing: 0.03em;
2993
+ text-transform: uppercase;
2994
+ border-radius: 6px;
2995
+ padding: 4px 10px;
2996
+ `;r(Uo)`
2997
+ display: inline-flex;
2998
+ align-items: center;
2999
+ gap: 5px;
3000
+ background: ${y.rarityBg};
3001
+ color: ${y.accent};
3002
+ font-size: 13px;
3003
+ font-weight: 700;
3004
+ border-radius: 6px;
3005
+ padding: 4px 10px;
3006
+ white-space: nowrap;
3007
+ `;const Bh=r.div`
3008
+ display: flex;
3009
+ flex-direction: column;
3010
+ gap: 12px;
3011
+ margin-top: 20px;
3012
+
3013
+ ${de.maxWidth("lg")} {
3014
+ order: 6;
3015
+
3016
+ &[data-buttons] {
3017
+ position: fixed;
3018
+ left: 0;
3019
+ right: 0;
3020
+ bottom: 0;
3021
+ z-index: 40;
3022
+ margin-top: 0;
3023
+ padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
3024
+ background: #2b0e44;
3025
+ box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.35);
3026
+ }
3027
+ &[data-dual] {
3028
+ flex-direction: row;
3029
+ align-items: stretch;
3030
+ gap: 12px;
3031
+ }
3032
+ }
3033
+ `,rn=yt`
3034
+ && {
3035
+ width: 100%;
3036
+ height: 48px;
3037
+ border-radius: 16px;
3038
+ padding: 0 12px;
3039
+ display: flex;
3040
+ align-items: center;
3041
+ justify-content: center;
3042
+ gap: 8px;
3043
+ font-size: 15px;
3044
+ font-weight: 600;
3045
+ line-height: 24px;
3046
+ letter-spacing: 0.46px;
3047
+ text-transform: uppercase;
3048
+ }
3049
+ `,Tn=r(Ve)`
3050
+ ${rn};
3051
+ /* The design system's primary fill (Figma 867:61063 carries the "BUY Button" gradient), same as the
3052
+ cart's CHECKOUT and the credits CTA. This read as a flat #fb5c19 for a while — that colour was
3053
+ sampled off the flattened render rather than the node's fill. */
3054
+ && {
3055
+ background: ${uh.buyBtn};
3056
+ }
3057
+ &&::before {
3058
+ content: none;
3059
+ }
3060
+ &&:hover:not(:disabled) {
3061
+ background-image: linear-gradient(${y.dclRed}, ${y.dclRed});
3062
+ }
3063
+
3064
+ ${de.maxWidth("lg")} {
3065
+ [data-dual] && {
3066
+ flex: 1 1 auto;
3067
+ width: auto;
3068
+ }
3069
+ }
3070
+ `,Wh=r(Ve)`
3071
+ ${rn};
3072
+ && {
3073
+ background: ${y.blackBtn};
3074
+ color: ${y.softWhite};
3075
+ border: 0;
3076
+
3077
+ .ico {
3078
+ width: 20px;
3079
+ height: 20px;
3080
+ }
3081
+ }
3082
+ &&:hover:not(:disabled) {
3083
+ background: ${y.blackBtn};
3084
+ filter: brightness(1.35);
3085
+ }
3086
+ `,Na=r.button`
3087
+ align-self: center;
3088
+ border: 0;
3089
+ background: none;
3090
+ padding: 8px 0;
3091
+ color: ${a.colors.accent};
3092
+ font-weight: 600;
3093
+ font-size: 13px;
3094
+ line-height: 24px;
3095
+ letter-spacing: 0.46px;
3096
+ text-transform: uppercase;
3097
+ text-decoration: underline;
3098
+ cursor: pointer;
3099
+
3100
+ /* Opt-in for the uses that sit directly on the purple field, where the accent purple above is all
3101
+ but invisible against it. Not a change to the shared colour: the other uses live inside
3102
+ GaslessNotice, whose light fill is what that accent was picked for. */
3103
+ &[data-on-purple] {
3104
+ color: ${a.colors.white};
3105
+ }
3106
+
3107
+ &:disabled {
3108
+ opacity: 0.5;
3109
+ cursor: default;
3110
+ }
3111
+ `,Dh=r(Ve)`
3112
+ ${rn};
3113
+ && {
3114
+ background: rgba(255, 255, 255, 0.2);
3115
+ color: ${y.softWhite};
3116
+ border: 0;
3117
+
3118
+ .ico {
3119
+ width: 20px;
3120
+ height: 20px;
3121
+ }
3122
+ }
3123
+ &&:hover:not(:disabled) {
3124
+ background: rgba(255, 255, 255, 0.3);
3125
+ }
3126
+ &&:disabled {
3127
+ opacity: 0.5;
3128
+ }
3129
+ `,_a=r(Ve)`
3130
+ ${rn};
3131
+ && {
3132
+ background: rgba(0, 0, 0, 0.4);
3133
+ color: ${y.white};
3134
+ border: 0;
3135
+ }
3136
+ &&:hover:not(:disabled) {
3137
+ background: rgba(0, 0, 0, 0.55);
3138
+ }
3139
+ &&:disabled {
3140
+ opacity: 0.5;
3141
+ }
3142
+ `,Nn=r.span`
3143
+ display: none;
3144
+ align-items: center;
3145
+ gap: 6px;
3146
+
3147
+ ${de.maxWidth("lg")} {
3148
+ [data-dual] & {
3149
+ display: inline-flex;
3150
+ }
3151
+ }
3152
+ `,Ba=r.button`
3153
+ width: 100%;
3154
+ height: 48px;
3155
+ display: flex;
3156
+ align-items: center;
3157
+ justify-content: center;
3158
+ gap: 8px;
3159
+ /* Dark-theme test: translucent white pill, white label (Figma 867:61064) — same secondary
3160
+ treatment as the card's ADD TO CART. */
3161
+ background: rgba(255, 255, 255, 0.2);
3162
+ color: ${y.softWhite};
3163
+ border: 0;
3164
+ border-radius: 16px;
3165
+ font-weight: 600;
3166
+ font-size: 15px;
3167
+ text-transform: uppercase;
3168
+ letter-spacing: 0.46px;
3169
+ cursor: pointer;
3170
+ transition: background 0.15s ease;
3171
+
3172
+ &:hover:not(:disabled) {
3173
+ background: ${y.softWhite};
3174
+ color: ${y.text2};
3175
+ }
3176
+ &:disabled {
3177
+ background: rgba(255, 255, 255, 0.12);
3178
+ color: rgba(252, 252, 252, 0.7);
3179
+ cursor: default;
3180
+ }
3181
+
3182
+ ${de.maxWidth("lg")} {
3183
+ [data-dual] & {
3184
+ flex: 0 0 auto;
3185
+ width: 56px;
3186
+ padding: 0;
3187
+ }
3188
+ [data-dual] & .ico {
3189
+ margin: 0;
3190
+ }
3191
+ }
3192
+ `,Wa=r.span`
3193
+ ${de.maxWidth("lg")} {
3194
+ [data-dual] & {
3195
+ display: none;
3196
+ }
3197
+ }
3198
+ `,qh=r.p`
3199
+ margin: 12px 0 0;
3200
+ font-size: 13px;
3201
+ color: ${y.gray4};
3202
+
3203
+ & a {
3204
+ color: ${y.softWhite};
3205
+ font-weight: 600;
3206
+ }
3207
+ `;r.p`
3208
+ margin: 4px 0 0;
3209
+ font-size: 13px;
3210
+ color: ${y.gray4};
3211
+
3212
+ & a {
3213
+ color: ${y.accent};
3214
+ font-weight: 600;
3215
+ }
3216
+ `;const Oh=r.div`
3217
+ max-width: 1721px;
3218
+ margin: 0 auto;
3219
+ min-height: 46vh;
3220
+ display: flex;
3221
+ flex-direction: column;
3222
+ align-items: center;
3223
+ justify-content: center;
3224
+ text-align: center;
3225
+ gap: 14px;
3226
+ color: ${y.softWhite};
3227
+ `,Kh=r.p`
3228
+ margin: 0;
3229
+ color: ${y.gray4};
3230
+ `,Hh=r(Ve)`
3231
+ margin-top: 6px;
3232
+ `,Uh=r(E)`
3233
+ opacity: 0.4;
3234
+ `,Qh=r.h1`
3235
+ font-size: 22px;
3236
+ `,Vh=r.div`
3237
+ display: flex;
3238
+ flex-direction: column;
3239
+ `,Da=r.span`
3240
+ display: block;
3241
+ height: 15px;
3242
+ width: 84px;
3243
+ border-radius: 4px;
3244
+ `,Gh=r.div`
3245
+ display: flex;
3246
+ flex-direction: column;
3247
+ align-self: stretch;
3248
+ gap: 16px;
3249
+ padding: 8px 0;
3250
+ `,Yh=r.span`
3251
+ display: inline-flex;
3252
+ align-items: center;
3253
+ height: 48px;
3254
+ gap: 10px;
3255
+ background: none !important;
3256
+
3257
+ &::before,
3258
+ &::after {
3259
+ content: '';
3260
+ display: block;
3261
+ }
3262
+ &::before {
3263
+ width: 40px;
3264
+ height: 40px;
3265
+ border-radius: 50%;
3266
+ background: ${y.media};
3267
+ }
3268
+ &::after {
3269
+ width: 96px;
3270
+ height: 14px;
3271
+ border-radius: 6px;
3272
+ background: ${y.media};
3273
+ }
3274
+ `,Jh=r.span`
3275
+ height: 34px;
3276
+ width: 70%;
3277
+ margin: 3px 0;
3278
+ border-radius: 8px;
3279
+ `,Xh=r.div`
3280
+ display: flex;
3281
+ gap: 8px;
3282
+ /* Same as Chips above, so the row does not move when the real chips arrive. */
3283
+ margin-top: 12px;
3284
+ `,_n=r.span`
3285
+ height: 24px;
3286
+ width: 88px;
3287
+ border-radius: 6px;
3288
+ `,Bn=r.span`
3289
+ height: 14px;
3290
+ width: 100%;
3291
+ border-radius: 6px;
3292
+
3293
+ &[data-short] {
3294
+ width: 55%;
3295
+ }
3296
+ `,Zh=r.span`
3297
+ display: block;
3298
+ height: 30px;
3299
+ width: 40%;
3300
+ margin: 16px 0 13px;
3301
+ border-radius: 8px;
3302
+ `,ef=r.span`
3303
+ display: block;
3304
+ height: 42px;
3305
+ width: 100%;
3306
+ border-radius: 8px;
3307
+ margin-top: 20px;
3308
+ `,Jt=r(Pe)`
3309
+ width: 30px;
3310
+ height: 30px;
3311
+ color: ${y.softWhite};
3312
+
3313
+ &[data-was] {
3314
+ width: 20px;
3315
+ height: 20px;
3316
+ color: ${y.gray4};
3317
+ }
3318
+ `,Wn=r(Pe)`
3319
+ width: 20px;
3320
+ height: 20px;
3321
+ `,tf=r.div`
3322
+ display: flex;
3323
+ align-items: center;
3324
+ justify-content: space-between;
3325
+ gap: 8px;
3326
+ padding: 8px;
3327
+ margin: 16px 0;
3328
+ border-radius: ${Ge.btn};
3329
+ background: rgba(22, 21, 24, 0.55);
3330
+ `,nf=r.span`
3331
+ display: flex;
3332
+ align-items: center;
3333
+ gap: 8px;
3334
+ font-size: 14px;
3335
+ line-height: 14px;
3336
+ color: ${y.softWhite};
3337
+ `,rf=r(E)`
3338
+ width: 20px;
3339
+ height: 20px;
3340
+ color: ${y.softWhite};
3341
+ `,af=r(E)`
3342
+ width: 24px;
3343
+ height: 24px;
3344
+ color: ${y.white};
3345
+ `,sf=r.div`
3346
+ display: flex;
3347
+ align-items: center;
3348
+ justify-content: space-between;
3349
+ gap: 8px;
3350
+ width: 100%;
3351
+ margin-top: 16px;
3352
+
3353
+ &[data-centered] {
3354
+ justify-content: center;
3355
+ }
3356
+ `,of=r.span`
3357
+ display: flex;
3358
+ align-items: center;
3359
+ gap: 2px;
3360
+ font-size: 14px;
3361
+ font-weight: 600;
3362
+ color: ${y.gray4};
3363
+
3364
+ & .ico {
3365
+ width: 20px;
3366
+ height: 20px;
3367
+ color: ${y.gray4};
3368
+ }
3369
+ `,lf=r.span`
3370
+ font-size: 16px;
3371
+ font-weight: 700;
3372
+ padding-left: 2px;
3373
+ `,Hn=r.button`
3374
+ border: 0;
3375
+ background: none;
3376
+ padding: 0;
3377
+ cursor: pointer;
3378
+ font-family: ${ch.sans};
3379
+ font-size: 13px;
3380
+ font-weight: 600;
3381
+ letter-spacing: 0.46px;
3382
+ text-transform: uppercase;
3383
+ text-decoration: underline;
3384
+ color: ${y.softWhite};
3385
+
3386
+ &:hover {
3387
+ color: ${y.gray4};
3388
+ }
3389
+ &:focus-visible {
3390
+ outline: 2px solid ${y.white};
3391
+ outline-offset: 2px;
3392
+ border-radius: ${Ge.chip};
3393
+ }
3394
+ `,df=r(Hn)`
3395
+ width: 100%;
3396
+ height: 40px;
3397
+ text-align: center;
3398
+ border-radius: ${Ge.card};
3399
+
3400
+ /* Hover is a translucent fill with the label left alone (Figma 868:67246), not the colour shift
3401
+ ResellersLink uses. That one is an inline link sitting beside a price, where dimming the text is the
3402
+ only surface there is; this is a full-width button, so the button itself is what should react. */
3403
+ &:hover {
3404
+ color: ${y.softWhite};
3405
+ background: ${y.glass};
3406
+ }
3407
+ `,cf=r.div`
3408
+ display: flex;
3409
+ flex-direction: column;
3410
+ gap: 16px;
3411
+ width: 100%;
3412
+ padding: 16px 0;
3413
+ `,qa=r.div`
3414
+ display: flex;
3415
+ align-items: center;
3416
+ justify-content: space-between;
3417
+ gap: 8px;
3418
+ width: 100%;
3419
+
3420
+ &[data-variant='original'] {
3421
+ color: ${y.muted2};
3422
+ }
3423
+ `,Oa=r.span`
3424
+ display: flex;
3425
+ align-items: center;
3426
+ gap: 4px;
3427
+ font-size: 14px;
3428
+ font-weight: 600;
3429
+
3430
+ [data-variant='original'] & {
3431
+ color: ${y.muted2};
3432
+ }
3433
+ [data-variant='resale'] & {
3434
+ color: ${y.text};
3435
+ }
3436
+ `,Ka=r.span`
3437
+ display: flex;
3438
+ align-items: center;
3439
+ gap: 2px;
3440
+ padding: 0 2px;
3441
+
3442
+ [data-variant='original'] & .ico {
3443
+ width: 20px;
3444
+ height: 20px;
3445
+ color: ${y.muted2};
3446
+ }
3447
+ [data-variant='resale'] & .ico {
3448
+ width: 24px;
3449
+ height: 24px;
3450
+ color: ${y.rarity};
3451
+ }
3452
+ `,Ha=r.span`
3453
+ [data-variant='original'] & {
3454
+ font-size: 16px;
3455
+ font-weight: 700;
3456
+ text-decoration: line-through;
3457
+ }
3458
+ [data-variant='resale'] & {
3459
+ font-size: 25px;
3460
+ font-weight: 700;
3461
+ color: ${y.text};
3462
+ }
3463
+ `,uf=r.span`
3464
+ font-size: 14px;
3465
+ font-weight: 600;
3466
+
3467
+ [data-variant='original'] & {
3468
+ color: ${y.muted2};
3469
+ }
3470
+ `,pf=r.span`
3471
+ font-size: 14px;
3472
+ font-weight: 600;
3473
+ color: ${y.text2};
3474
+ `,Ua=r.span`
3475
+ display: inline-flex;
3476
+ width: 12px;
3477
+ height: 12px;
3478
+ color: ${y.muted2};
3479
+ `,hf=r.div`
3480
+ display: flex;
3481
+ flex-direction: column;
3482
+ gap: 12px;
3483
+ width: 100%;
3484
+ `,ff=r.div`
3485
+ display: flex;
3486
+ justify-content: center;
3487
+ `,an=yt`
3488
+ display: block;
3489
+ background: linear-gradient(100deg, var(--skeleton-lo) 30%, var(--skeleton-hi) 50%, var(--skeleton-lo) 70%);
3490
+ background-size: 200% 100%;
3491
+ animation: shimmer 1.4s infinite linear;
3492
+
3493
+ @media (prefers-reduced-motion: reduce) {
3494
+ animation: none;
3495
+ }
3496
+ `,xf=r.div`
3497
+ display: flex;
3498
+ flex-direction: column;
3499
+ gap: 12px;
3500
+ width: 100%;
3501
+ /* Reserve the divider→CTA rhythm so the block is the same height loading vs loaded. */
3502
+ padding-top: 4px;
3503
+ `,mf=r.span`
3504
+ ${an};
3505
+ width: 120px;
3506
+ height: 30px;
3507
+ border-radius: ${Ge.btn};
3508
+ margin-bottom: 4px;
3509
+ `,Qa=r.span`
3510
+ ${an};
3511
+ width: 100%;
3512
+ height: 48px;
3513
+ border-radius: 16px;
3514
+ `,Va=r.div`
3515
+ display: flex;
3516
+ align-items: center;
3517
+ gap: 12px;
3518
+ `,Ga=r.span`
3519
+ ${an};
3520
+ flex: none;
3521
+ width: 48px;
3522
+ height: 48px;
3523
+ border-radius: 50%;
3524
+ `,Ya=r.span`
3525
+ ${an};
3526
+ width: 96px;
3527
+ height: 16px;
3528
+ border-radius: 6px;
3529
+ `;function gf(t){return Object.values(Re.Rarity).includes(t)}function bf(t){return t==="male"?n("itemDetail.genderMale"):t==="female"?n("itemDetail.genderFemale"):t==="unisex"?n("itemDetail.genderUnisex"):null}function Xt(t){return t.wearableCategory?t.wearableCategory.replace(/_/g," "):t.category==="emote"?n("itemDetail.categoryEmote"):n("itemDetail.categoryWearable")}const Ja=8;function Jf(){const{pathname:t}=Za();return e.jsx(yf,{},t)}function yf(){var zr,Er,Fr;const{contractAddress:t,itemId:s,tokenId:o}=ls(),l=mn(t),d=Zc(l),u=mn(s),h=mn(o),m=!!h,g=u??rd(h)??null,k=Za(),x=k.state,j=ot(),w=!!(x!=null&&x.market),$=(x==null?void 0:x.marketPriceCredits)??null,I=mt(),S=Mt(f=>f.add),R=To(f=>f.spent),O=Mt(f=>f.items),M=Xs(f=>f.toggle),{session:b,signIn:B}=at(),[i,K]=c.useState(()=>{if(x!=null&&x.item){const f={...x.item,tradeId:x.tradeId??x.item.tradeId};return m?{...f,tokenId:h,itemId:f.itemId??g}:{...f,tokenId:void 0,itemId:u??f.itemId}}return{id:`${l}-${h??u}`,name:"",creator:"",contractAddress:l??"",itemId:g,category:"wearable",rarity:"common",network:"MATIC",chainId:Le.chainId,thumbnail:"",priceCredits:0,gender:null,isSmart:!1,tokenId:h??void 0,tradeId:x==null?void 0:x.tradeId}}),[Q,V]=c.useState(!1),[X,ne]=c.useState(!!(x!=null&&x.resumeBuy));c.useEffect(()=>{x!=null&&x.resumeBuy&&V(!0)},[x==null?void 0:x.resumeBuy]);function te(){const f=i.priceCredits>0?i.priceCredits:null;Z("Shop Started Checkout",{checkout_source:"item_page",cart_size:1,cart_value_credits:f,cart_value_usd:f===null?null:bo(f)}),V(!0)}function ce(){if(b){te();return}w||Wo({type:"item-buy",path:k.pathname}),B()}const le=c.useRef(!1);c.useEffect(()=>{if(!b||le.current)return;const f=No("item-buy");!f||f.path!==k.pathname||(le.current=!0,ne(!0),te())},[b]);const J=c.useMemo(()=>i.contractAddress&&(i.itemId??g)?[`${i.contractAddress.toLowerCase()}-${i.itemId??g}`]:void 0,[i.contractAddress,i.itemId,g]),z=Zs(Ja,{exclude:J}),T=eo({enabled:z.enabled,hasSignal:z.hasSignal,isLoading:z.isLoading,isError:z.isError,personalized:(zr=z.result)==null?void 0:zr.personalized,rowCount:to(((Er=z.result)==null?void 0:Er.data)??[]).length}),{items:_,isCollectionOnly:p,siblings:A,siblingsFetched:C}=Xc({id:i.id,contractAddress:i.contractAddress,itemId:i.itemId??g,tokenId:i.tokenId,creator:i.creator}),{data:P,isLoading:W}=ie({queryKey:["shop-item",i.contractAddress,g],enabled:!w&&!m&&!!i.contractAddress&&!!g,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>wo(i.contractAddress,g)}),H=m?void 0:P;c.useEffect(()=>{H&&K(f=>f.tradeId?{...f,tradeId:H.tradeId,priceCredits:H.priceCredits,manaWei:H.manaWei,available:H.available??f.available,acquisition:H.acquisition,wearableCategory:f.wearableCategory??H.wearableCategory}:{...f,...H})},[H]);const[se,je]=c.useState(!1),{data:ee=""}=ie({queryKey:["item-desc",i.contractAddress,i.itemId],enabled:!!i.contractAddress&&!!i.itemId,staleTime:5*6e4,queryFn:()=>vo(i.contractAddress,i.itemId)}),{data:G,isLoading:re}=ie({queryKey:["collection-meta",i.contractAddress],enabled:!!i.contractAddress,staleTime:5*6e4,queryFn:()=>ri(i.contractAddress)});c.useEffect(()=>{const f=(H==null?void 0:H.creator)||(G==null?void 0:G.creator);f&&K(oe=>oe.creator?oe:{...oe,creator:f})},[H,G]);const xe=c.useMemo(()=>{if(!(m||i.name||H||A.length===0))return(g?A.find(f=>f.itemId===g):void 0)??A.find(f=>f.contractAddress===i.contractAddress)},[m,i.name,i.contractAddress,H,A,g]);c.useEffect(()=>{xe&&K(f=>({...xe,tradeId:f.tradeId??xe.tradeId}))},[xe]);const{data:ke,isLoading:$e}=ie({queryKey:["detail-trade",i.id,i.tradeId,i.contractAddress,i.itemId],enabled:!!i.contractAddress,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:async()=>{if(i.tradeId)return i.tradeId;if(!m&&i.itemId){const f=await jo(i.contractAddress,i.itemId);return(f==null?void 0:f.id)??null}return null}}),{data:Y}=ie({queryKey:["item-traits",i.contractAddress,g],enabled:!!i.contractAddress&&!!g,staleTime:5*6e4,retry:1,queryFn:()=>ko(i.contractAddress,g)}),lt=(Y==null?void 0:Y.isSmart)??i.isSmart,ze=(Y==null?void 0:Y.utility)??null,Ce=c.useMemo(()=>({...i,wearableCategory:i.wearableCategory??(Y==null?void 0:Y.wearableCategory)??void 0,gender:i.gender??(Y==null?void 0:Y.gender)??null}),[i,Y==null?void 0:Y.wearableCategory,Y==null?void 0:Y.gender]),wt=(Y==null?void 0:Y.urn)??null,{data:Lt}=ie({queryKey:["item-vrm",wt],enabled:!!wt&&i.category==="wearable",staleTime:30*6e4,retry:!1,queryFn:()=>$o(wt)}),[sn,zt]=c.useState(!1),{data:vt}=ie({queryKey:["item-video",i.contractAddress,g],enabled:lt&&!!i.contractAddress&&!!g,staleTime:30*6e4,retry:!1,queryFn:()=>Vo(i.contractAddress,g)}),Ie=c.useMemo(()=>i.emoteLoop!==void 0?i:(g?A.find(oe=>oe.itemId===g):void 0)??i,[i,A,g]),Ee=Yr(I,i.tradeId)??Yr(I,ke),on=i.acquisition==="store"&&(i.available??0)>0,ue=!!Ee||on,dt=no(),{data:Fe=[]}=ie({queryKey:["item-resales",i.contractAddress,i.itemId],enabled:dt&&!w&&!!i.contractAddress&&!!i.itemId,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>li(i.contractAddress,i.itemId)}),Ue=Fe.length>0?Fe[0].priceCredits:null,Ye=m&&i.tokenId?Fe.find(f=>f.tokenId===i.tokenId)??null:null,Se=c.useMemo(()=>{const f=Fe[0];return f?{...f,name:f.name||i.name,thumbnail:f.thumbnail||i.thumbnail,rarity:f.rarity||i.rarity,category:f.category||i.category,wearableCategory:f.wearableCategory??i.wearableCategory,gender:f.gender??i.gender}:null},[Fe,i]),[Et,jt]=c.useState(null),[kt,Je]=c.useState(!1),[ln,v]=c.useState(!1),[L,N]=c.useState(!1),F=i.manaWei??null,{data:U}=oi(w||!!F),ae=F&&U?ro(F,U):null;c.useEffect(()=>{ae!=null&&K(f=>f.priceCredits===ae?f:{...f,priceCredits:ae})},[ae,i.priceCredits]);const q=c.useMemo(()=>{if(!w||!(x!=null&&x.item))return null;const f=x.item;return f.manaWei?{tradeId:f.tradeId??f.id,listingType:"primary",contractAddress:f.contractAddress,itemId:f.itemId??"",name:f.name,thumbnail:f.thumbnail,rarity:f.rarity,category:f.category,wearableCategory:f.wearableCategory??null,creator:f.creator,manaWei:f.manaWei,available:1,network:f.network,chainId:f.chainId,createdAt:0}:null},[w,x==null?void 0:x.item]),fe=w&&$!=null&&!!U&&!!q,Oe=ao({priceCredits:i.priceCredits,compareAtCredits:i.compareAtCredits,saleEndsAt:i.saleEndsAt}),we=(()=>{var ve,ut;if(!Oe)return null;const f=_o(R,i.coupon),oe=Number(((ut=(ve=i.coupon)==null?void 0:ve.checks)==null?void 0:ut.uses)??0);return oe>0&&f<=oe?{claimed:f,total:oe}:null})(),Ft=(()=>{if(!Oe||i.saleUnitsLeft==null)return null;const f=we?we.total-we.claimed:1/0;return i.saleUnitsLeft<f?i.saleUnitsLeft:null})(),Te=c.useMemo(()=>({...i,tradeId:Ee,id:Ee??i.id}),[i,Ee]),dn=O.some(f=>f.id===Te.id),Tt=!Te.tokenId,Hi=((Fr=O.find(f=>f.id===Te.id))==null?void 0:Fr.quantity)??0,cn=Tt&&typeof i.available=="number"&&Hi>=i.available,{key:Zn,faved:Xe}=io(i),Qe=so(i),Ui=si(f=>f.locale),Nt=Qe===void 0?null:Qe.toLocaleString(Ui),er=Xe?n("assetCard.removeFromFavorites"):n("assetCard.addToFavorites"),tr=Qe===void 0?er:n("itemDetail.favoriteAria",{action:er,count:Qe}),nr=c.useRef(null);c.useEffect(()=>{!i.name||$e||nr.current===i.id||(nr.current=i.id,Z("Shop Viewed Item",{...oo(i),for_sale:ue}),lo(i))},[i.id,i.name,$e,ue]);const _t=`${l}/${h??u}`,rr=c.useRef(_t);c.useEffect(()=>{if(rr.current!==_t){if(rr.current=_t,x!=null&&x.item){const f={...x.item,tradeId:x.tradeId??x.item.tradeId};K(m?{...f,tokenId:h,itemId:f.itemId??g}:{...f,tokenId:void 0,itemId:u??f.itemId})}typeof window<"u"&&window.scrollTo({top:0,behavior:"smooth"})}},[_t]);function Qi(){!ue||un||$e||!Tt&&dn||cn||S(Te,"item_detail")}const Ze=gf(i.rarity)?i.rarity:Re.Rarity.COMMON,ar=bf(Ce.gender),Bt=co(Ce),ir=uo(Ce.gender),sr=ih(i.rarity),or=sh(Ce),lr=ue&&Oe,Vi=p?n("itemDetail.moreFromCollection"):n("itemDetail.youMightAlsoLike"),un=po(i,b==null?void 0:b.address),[Gi,dr]=c.useState(!1),[Yi,cr]=c.useState(!1),[Ji,ur]=c.useState(!1),[Xi,pr]=c.useState(!1),[$t,Ct]=c.useState(null),[Zi,hr]=c.useState(!1),[fr,xr]=c.useState(!1),mr=en(b==null?void 0:b.providerType),{data:D,isLoading:Wt}=ie({queryKey:["owned-token",i.contractAddress,i.tokenId,b==null?void 0:b.address],enabled:!w&&!!(b!=null&&b.address)&&!!i.contractAddress&&!!i.tokenId,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>b?Br(b.address,i.contractAddress,i.tokenId):null});c.useEffect(()=>{D&&K(f=>f.name?{...f,issuedId:f.issuedId??D.issuedId,priceCredits:D.listingPrice??0,tradeId:D.tradeId}:{id:D.id,name:D.name,creator:"",contractAddress:D.contractAddress,itemId:D.itemId,category:D.category,rarity:D.rarity??"common",network:D.network,chainId:D.chainId,thumbnail:D.image,priceCredits:D.listingPrice??0,gender:null,isSmart:!1,tokenId:D.tokenId,issuedId:D.issuedId,tradeId:D.tradeId})},[D]),c.useEffect(()=>{Ye&&K(f=>f.priceCredits===Ye.priceCredits&&f.tradeId?f:{...f,priceCredits:Ye.priceCredits,tradeId:f.tradeId??Ye.tradeId})},[Ye]),c.useEffect(()=>{$t!=null&&D!=null&&D.isOnSale&&D.listingPrice===$t&&Ct(null)},[D,$t]);const gr=!w&&!!i.contractAddress&&!!i.tokenId&&!i.name&&!H&&!Wt&&!D,{data:pe,isFetched:es}=ie({queryKey:["public-token",i.contractAddress,i.tokenId],enabled:gr,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,queryFn:()=>Co(i.contractAddress,i.tokenId)});c.useEffect(()=>{pe&&K(f=>f.name?f.issuedId?f:{...f,issuedId:pe.issuedId}:{id:pe.id,name:pe.name,creator:"",contractAddress:pe.contractAddress,itemId:pe.itemId,category:pe.category,rarity:pe.rarity??"common",network:pe.network,chainId:pe.chainId,thumbnail:pe.image,priceCredits:pe.listingPrice??0,gender:null,isSmart:!1,tokenId:pe.tokenId,issuedId:pe.issuedId,tradeId:pe.tradeId})},[pe]);const{data:Ne}=ie({queryKey:["publishable-item",i.contractAddress,i.itemId,b==null?void 0:b.address],enabled:un&&!!b&&!!i.itemId,queryFn:async()=>b?(await Go(b.address,b.identity)).find(oe=>oe.contractAddress.toLowerCase()===i.contractAddress.toLowerCase()&&oe.blockchainItemId===i.itemId)??null:null}),_e=m&&!!D,pn=!m&&un,Be=!w&&(pn||_e),br=$t!=null?!0:_e?!!(D!=null&&D.isOnSale):ue,Dt=_e?D==null?void 0:D.tradeId:Ee,yr=_e?!!D:!!Ne,wr=pn||_e&&dt,hn=$t??(_e?(D==null?void 0:D.listingPrice)??0:0),{data:vr=0}=ie({queryKey:["owned-item-count",i.contractAddress,u,b==null?void 0:b.address],enabled:!m&&!w&&!!(b!=null&&b.address)&&!!i.contractAddress&&!!u,staleTime:3e4,queryFn:()=>b?Io(b.address,i.contractAddress,u):0});async function et(){await Promise.all([I.invalidateQueries({queryKey:["owned-token",i.contractAddress,i.tokenId]}),I.invalidateQueries({queryKey:["detail-trade"]}),I.invalidateQueries({queryKey:["shop-item"]}),I.invalidateQueries({queryKey:["collection-sale-state"]}),I.invalidateQueries({queryKey:["shop-items"]}),I.invalidateQueries({queryKey:["catalog-items"]}),I.invalidateQueries({queryKey:["publishable-items"]}),I.invalidateQueries({queryKey:["publishable-item",i.contractAddress,i.itemId]}),I.invalidateQueries({queryKey:["item-resales",i.contractAddress,i.itemId]})])}async function ts(f){if(!b||!Dt)throw new Error("No listing to take down");const oe=await ii(Dt);await Oo({trade:oe,signer:b.signer,mode:f.payGas?"direct":"gasless-only",watch:{isCancelled:async()=>{try{if(_e){if(!i.tokenId)return!1;const ve=await Br(b.address,i.contractAddress,i.tokenId);return ve!==null&&!ve.isOnSale}return i.itemId?await yo(i.contractAddress,i.itemId)===null:!1}catch{return!1}},onWaiting:f.onWaiting}}),f.silent||tn.success(n("myAssets.removedFromSale",{name:i.name})),Ct(null),ad(I,Dt),K(ve=>ve.tradeId===Dt?{...ve,tradeId:void 0}:ve),et(),gn(I,{address:b.address,contractAddress:i.contractAddress,tokenId:i.tokenId},{kind:"removed"})}const jr=f=>async({payGas:oe,onWaiting:ve})=>{try{return await ts({silent:f,payGas:oe,onWaiting:ve}),"ok"}catch(ut){if(ut instanceof qo)return ut.definitive?"relay-reverted":"relay-pending";throw ut}},kr={currentCredits:hn||i.priceCredits||void 0,canPayGas:mr,cancelCurrent:jr(!0)};function $r({edit:f=!1}={}){f||Z("Shop Started Listing",{listing_type:_e?"secondary":"primary",item_id:i.itemId??i.tokenId??null}),xr(f),_e?dr(!0):cr(!0)}function Cr(){dr(!1),cr(!1),xr(!1),et()}const Ir=ue?$e?n("itemDetail.checking"):cn?n("itemDetail.maxInCart"):!Tt&&dn?n("assetCard.inCart"):n("assetCard.addToCart"):n("itemDetail.notForSale"),It=i.available??(Y==null?void 0:Y.available)??null,ns=typeof It=="number"&&It>0&&!i.tokenId&&!w,Sr=!w&&!i.tokenId&&It===0,Ar=i.network==="ETHEREUM",ct=Sr&&!Be&&!!Se,qt=!!Se&&O.some(f=>f.id===Se.id),rs=!Be&&ue&&!w,as=w||!Be&&(ue||ct&&!!Se||Ni()),is=!i.name&&(!!H||!!D||!!pe||!!xe),Rr=W||!!i.contractAddress&&!C||!i.name&&Wt||is||gr&&!es,Mr=!i.name&&!Rr,ss=!!i.name&&id({isMarket:w,forSale:ue,priceKnown:i.priceCredits>0&&(!F||ae!=null)||Be,stillResolving:Rr||!!F&&ae==null,manage:Be,soldOutWithResale:ct,resolvingTrade:$e,isTokenRoute:m,ownedAssetLoading:Wt,deepLinkLoading:W}),Pr=!i.creator&&(W||re||Wt),Lr=!(G!=null&&G.name)&&re,os=/^https?:\/\//i.test(i.thumbnail);return ho(Mr?{title:n("seo.item.notFoundTitle"),noindex:!0}:i.name?{title:i.name,description:ee||n("seo.item.fallbackDescription",{name:i.name,rarity:i.rarity,category:Xt(Ce),creator:Qn(i.creator)}),image:os?i.thumbnail:void 0,type:"product"}:{}),Mr?e.jsxs(Oh,{"data-notfound":!0,children:[e.jsx(Uh,{name:"cart"}),e.jsx(Qh,{children:n("itemDetail.notAvailableTitle")}),e.jsx(Kh,{children:n("itemDetail.notAvailableBody")}),e.jsx(Hh,{variant:"white",onClick:()=>j("/items"),children:n("notFound.cta")})]}):e.jsxs(ph,{children:[e.jsxs(hh,{"aria-label":n("itemDetail.breadcrumbAria"),children:[e.jsx(fh,{onClick:()=>j("/items"),children:n("nav.collectibles")}),e.jsx(xh,{children:"/"}),e.jsx(mh,{children:i.name||n("itemDetail.itemFallback")})]}),e.jsxs(gh,{style:{"--glow-rgb":mo(Ze),"--glow-core":xo(Ze)},children:[e.jsxs(bh,{"data-testid":"item-preview",children:[i.name?e.jsx(iu,{item:i}):e.jsx(yh,{"aria-busy":"true","aria-label":n("itemPreview.loading"),children:e.jsx(wh,{className:"skeleton","aria-hidden":!0})}),Zn?e.jsxs(za,{"data-fav-preview":!0,"data-on":Xe||void 0,"data-count":Nt??void 0,onClick:()=>M(i,"item_detail"),"aria-pressed":Xe,"aria-label":tr,children:[e.jsx(E,{name:Xe?"heart-solid":"heart",size:18}),Qe!==void 0?e.jsx(Ea,{title:n("itemDetail.savedCount",{count:Qe}),"data-testid":"fav-count-preview",children:Nt}):null]}):null,vt?e.jsxs($h,{"data-play-showcase":!0,onClick:()=>zt(!0),"data-testid":"play-showcase",children:[e.jsx(E,{name:"play",size:18}),n("itemDetail.playShowcase")]}):null]}),e.jsx(vh,{"data-testid":"item-info",children:i.name?e.jsxs(e.Fragment,{children:[lr&&i.compareAtCredits!=null?e.jsx(Mh,{pct:fo(i.compareAtCredits,i.priceCredits),size:"lg",testId:"detail-sale-badge"}):null,e.jsxs(jh,{children:[e.jsxs(kh,{children:[i.name,m&&i.issuedId?` #${i.issuedId}`:""]}),Zn?e.jsxs(za,{"data-fav-title":!0,"data-on":Xe||void 0,"data-count":Nt??void 0,onClick:()=>M(i,"item_detail"),"aria-pressed":Xe,"aria-label":tr,children:[e.jsx(E,{name:Xe?"heart-solid":"heart",size:18}),Qe!==void 0?e.jsx(Ea,{title:n("itemDetail.savedCount",{count:Qe}),"data-testid":"fav-count",children:Nt}):null]}):null]}),e.jsxs(Ch,{children:[sr?e.jsx(Qt,{content:_r(i.rarity),children:e.jsx(Yt,{to:sr,"data-variant":"rarity","data-testid":"detail-rarity-link",style:{background:Nr(Ze)},children:i.rarity})}):e.jsx(Qt,{content:_r(i.rarity),children:e.jsx(We,{"data-variant":"rarity",style:{background:Nr(Ze)},children:i.rarity})}),or?e.jsxs(Yt,{to:or,"data-testid":"detail-category-link",title:n("filter.browseByCategory",{category:Xt(Ce)}),children:[Bt?e.jsx(E,{name:Bt,size:18}):null,Xt(Ce)]}):e.jsxs(We,{children:[Bt?e.jsx(E,{name:Bt,size:18}):null,Xt(Ce)]}),ar?e.jsxs(We,{children:[ir?e.jsx(E,{name:ir,size:18}):null,ar]}):null,!m&&i.issuedId?e.jsxs(We,{"data-testid":"detail-issued",children:["#",i.issuedId]}):null,d?e.jsxs(Yt,{to:"/event","data-testid":"detail-event",title:d,children:[e.jsx(E,{name:"star-rounded",size:18}),d]}):null,lt?e.jsxs(Yt,{to:oh(),"data-testid":"detail-smart",title:n("filter.browseBySmart"),children:[e.jsx(E,{name:"smart",size:18}),n("itemDetail.smart")]}):null,Ie.emoteLoop!==void 0?e.jsxs(We,{"data-testid":"detail-play-mode",children:[e.jsx(E,{name:Ie.emoteLoop?"play-loop":"play-once",size:18}),Ie.emoteLoop?n("itemDetail.playLoop"):n("itemDetail.playOnce")]}):null,Ie.emoteHasSound?e.jsxs(We,{"data-testid":"detail-sound",children:[e.jsx(E,{name:"sound",size:18}),n("itemDetail.emoteSound")]}):null,Ie.emoteHasProps?e.jsxs(We,{"data-testid":"detail-props",children:[e.jsx(E,{name:"props",size:18}),n("itemDetail.emoteProps")]}):null,Lt?e.jsx(Qt,{content:n("itemDetail.exportBlockedTooltip"),children:e.jsxs(We,{"data-variant":"blocked","data-testid":"detail-export-blocked",tabIndex:0,"aria-label":n("itemDetail.exportBlockedTooltip"),children:[e.jsx(E,{name:"ban",size:16}),n("itemDetail.exportBlocked")]})}):null,ze?e.jsxs(We,{"data-testid":"detail-utility-chip",children:[e.jsx(E,{name:"utility",size:18}),n("itemDetail.utility")]}):null]}),ee||ze?e.jsxs(Di,{children:[ee?e.jsx(Kn,{children:e.jsxs(On,{children:[e.jsx(ht,{children:n("itemDetail.description")}),e.jsx(Fa,{"data-expanded":se||void 0,children:ee}),ee.length>140?e.jsx(Sh,{className:"link",onClick:()=>je(f=>!f),children:se?n("itemDetail.showLess"):n("itemDetail.readMore")}):null]})}):null,ze?e.jsx(Kn,{children:e.jsxs(On,{"data-testid":"detail-utility",children:[e.jsx(ht,{children:n("itemDetail.utility")}),e.jsx(Fa,{"data-expanded":!0,children:ze})]})}):null]}):null,!Ar&&(i.creator||Pr)||G!=null&&G.name||Lr?e.jsxs(qi,{children:[Ar?null:i.creator?e.jsxs(Rt,{children:[e.jsx(ht,{children:n("itemDetail.creator")}),e.jsx(Ah,{address:i.creator,linkToProfile:!0,hidePrefix:!0})]}):Pr?e.jsxs(Rt,{children:[e.jsx(ht,{children:n("itemDetail.creator")}),e.jsxs(Va,{"aria-hidden":!0,"data-testid":"creator-loading",children:[e.jsx(Ga,{}),e.jsx(Ya,{})]})]}):null,G!=null&&G.name?e.jsxs(Rt,{"data-collection":!0,children:[e.jsx(ht,{children:n("itemDetail.collection")}),e.jsx(Rh,{contractAddress:i.contractAddress,name:G.name,items:A})]}):Lr?e.jsxs(Rt,{"data-collection":!0,children:[e.jsx(ht,{children:n("itemDetail.collection")}),e.jsxs(Va,{"aria-hidden":!0,"data-testid":"collection-loading",children:[e.jsx(Ga,{}),e.jsx(Ya,{})]})]}):null]}):null,e.jsx(Ki,{}),ss?e.jsxs(xf,{"aria-hidden":!0,"data-testid":"sale-loading",children:[e.jsx(mf,{}),e.jsx(Qa,{}),e.jsx(Qa,{})]}):e.jsxs(e.Fragment,{children:[dt&&!Be&&!w&&ue&&!i.tokenId?e.jsxs(tf,{"data-testid":"buy-from-creator",children:[e.jsxs(nf,{children:[e.jsx(rf,{name:"buy-from-creator"}),n("itemDetail.buyFromCreator")]}),e.jsx(af,{name:"check-rounded"})]}):null,ct?e.jsxs(cf,{"data-testid":"sold-out",children:[e.jsxs(qa,{"data-variant":"original",children:[e.jsxs(Oa,{children:[n("itemDetail.originalPrice"),e.jsxs(Ka,{children:[e.jsx(Pe,{className:"ico"}),e.jsx(Ha,{children:e.jsx(be,{credits:i.priceCredits})})]}),e.jsx(Ua,{"aria-hidden":!0,children:e.jsx(E,{name:"info",size:12})})]}),e.jsx(uf,{"data-testid":"out-of-stock",children:n("itemDetail.soldOut")})]}),e.jsxs(qa,{"data-variant":"resale",children:[e.jsxs(Oa,{children:[n("itemDetail.resalePrice"),e.jsxs(Ka,{children:[e.jsx(Pe,{className:"ico"}),e.jsx(Ha,{children:e.jsx(be,{credits:Ue})})]}),e.jsx(Ua,{"aria-hidden":!0,children:e.jsx(E,{name:"info",size:12})})]}),e.jsxs(pf,{children:[n("itemDetail.stock")," ",Fe.length,"/",Re.Rarity.getMaxSupply(Ze).toLocaleString()]})]})]}):e.jsxs(Ph,{children:[e.jsxs(Lh,{children:[e.jsxs(zh,{children:[w||ue?e.jsx(Fn,{children:n("itemDetail.price")}):null,w?e.jsxs(e.Fragment,{children:[e.jsx(St,{"data-variant":"market","data-testid":"item-price",children:$==null?e.jsx(At,{children:"—"}):e.jsxs(e.Fragment,{children:[e.jsx(Fh,{"aria-hidden":!0,children:"≈"}),e.jsx(Jt,{}),e.jsx(At,{children:e.jsx(be,{credits:$})})]})}),e.jsx(Th,{children:n("assetCard.marketPrice")})]}):ue?lr?e.jsxs(St,{"data-variant":"sale","data-testid":"item-price",children:[e.jsx(Jt,{}),e.jsx(At,{children:e.jsx(be,{credits:i.priceCredits})}),e.jsx(_h,{"data-testid":"detail-price-was",children:e.jsx(be,{credits:i.compareAtCredits})}),e.jsx(Qo,{until:i.saleEndsAt,testId:"detail-countdown"})]}):e.jsxs(St,{"data-testid":"item-price",children:[e.jsx(Jt,{}),e.jsx(At,{children:e.jsx(be,{credits:i.priceCredits})})]}):br&&hn?e.jsxs(St,{"data-testid":"item-price",children:[e.jsx(Jt,{}),e.jsx(At,{children:e.jsx(be,{credits:hn})})]}):Be?null:e.jsxs(St,{"data-variant":"none","data-testid":"item-price",children:[e.jsx("span",{children:n("itemDetail.notForSale")}),e.jsx(Qt,{content:n("itemDetail.notForSaleHint"),children:e.jsx(Eh,{tabIndex:0,role:"img","aria-label":n("itemDetail.notForSaleHint"),children:e.jsx(E,{name:"info",size:14})})})]})]}),ns?e.jsxs(Ta,{children:[e.jsx(Fn,{children:n("itemDetail.stock")}),e.jsxs(En,{children:[(It??0).toLocaleString(),"/",Re.Rarity.getMaxSupply(Ze).toLocaleString()]})]}):Sr?e.jsxs(Ta,{children:[e.jsx(Fn,{children:n("itemDetail.stock")}),e.jsxs(En,{children:[(It??0).toLocaleString(),"/",Re.Rarity.getMaxSupply(Ze).toLocaleString()]}),e.jsx(En,{"data-out":!0,"data-testid":"out-of-stock",children:n("itemDetail.outOfStock")})]}):null]}),we?e.jsx(rh,{claimed:we.claimed,total:we.total,testId:"detail-offer-stock"}):null,Ft!=null?e.jsx(Nh,{"data-testid":"detail-units-left",children:n("assetCard.unitsLeftAtThisPrice",{count:Ft})}):null]}),e.jsx(Bh,{"data-buttons":as||void 0,"data-dual":rs||void 0,children:w?e.jsxs(Tn,{variant:"purple",onClick:ce,disabled:!fe,children:[e.jsx("span",{children:n("assetCard.buyNow")}),$!=null?e.jsxs(Nn,{"aria-hidden":!0,children:[e.jsx(Wn,{}),e.jsx(be,{credits:$})]}):null]}):Be?e.jsxs(hf,{"data-testid":"manage-actions",children:[br?e.jsxs(e.Fragment,{children:[wr?e.jsxs(Dh,{onClick:()=>$r({edit:!0}),disabled:!yr,"data-testid":"edit-price",children:[e.jsx(E,{name:"pen",className:"ico"}),e.jsx("span",{children:n("itemDetail.manageUpdatePrice")})]}):null,e.jsx(_a,{onClick:()=>hr(!0),"data-testid":"remove-listing",children:e.jsx("span",{children:n("itemDetail.manageRemove")})})]}):e.jsxs(e.Fragment,{children:[wr?e.jsx(Wh,{onClick:()=>$r(),disabled:!yr,children:e.jsx("span",{children:n("itemDetail.manageList")})}):null,_e?e.jsxs(e.Fragment,{children:[e.jsx(_a,{onClick:()=>ur(!0),children:e.jsx("span",{children:n("itemDetail.manageTransfer")})}),e.jsx(Na,{type:"button","data-on-purple":!0,"data-testid":"resell-item",onClick:()=>v(!0),children:n("itemDetail.manageResell")})]}):null]}),pn&&Ne?e.jsx(Na,{type:"button","data-on-purple":!0,onClick:()=>pr(!0),children:n("itemDetail.manageIssue")}):null,Ue!=null?e.jsx(ff,{children:e.jsx(Hn,{onClick:()=>Je(!0),"data-testid":"view-resellers",children:n("itemDetail.viewAllResellers")})}):null]}):ue?e.jsxs(e.Fragment,{children:[e.jsxs(Tn,{variant:"purple",onClick:ce,disabled:$e,children:[e.jsx("span",{children:n("assetCard.buyNow")}),e.jsxs(Nn,{"aria-hidden":!0,children:[e.jsx(Wn,{}),e.jsx(be,{credits:i.priceCredits})]})]}),e.jsxs(Ba,{onClick:Qi,disabled:$e||(Tt?cn:dn),"aria-label":Ir,children:[e.jsx(E,{name:"cart"}),e.jsx(Wa,{children:Ir})]})]}):ct&&Se?e.jsxs(e.Fragment,{children:[e.jsxs(Tn,{variant:"purple",onClick:()=>b?jt(Se):B(),children:[e.jsx("span",{children:n("assetCard.buyNow")}),e.jsxs(Nn,{"aria-hidden":!0,children:[e.jsx(Wn,{}),e.jsx(be,{credits:Se.priceCredits})]})]}),e.jsxs(Ba,{onClick:()=>{qt||S(Se,"item_detail")},disabled:qt,"aria-label":qt?n("assetCard.inCart"):n("assetCard.addToCart"),children:[e.jsx(E,{name:"cart"}),e.jsx(Wa,{children:qt?n("assetCard.inCart"):n("assetCard.addToCart")})]})]}):e.jsxs(e.Fragment,{children:[e.jsx(Jp,{item:i}),i.itemId?e.jsx(df,{onClick:()=>{Z("Shop Clicked Buy Resale",{item_id:i.itemId,contract_address:i.contractAddress,has_shop_resale:!!Se}),N(!0)},"data-testid":"buy-resale","aria-haspopup":"dialog",children:n("itemDetail.buyResale")}):null]})}),!Be&&!w&&Ue!=null?e.jsxs(sf,{"data-testid":"lowest-price","data-centered":ct||void 0,children:[ct?null:e.jsxs(of,{children:[n("itemDetail.lowestPrice"),e.jsx(Pe,{className:"ico"}),e.jsx(lf,{children:e.jsx(be,{credits:Ue})})]}),e.jsx(Hn,{onClick:()=>Je(!0),"data-testid":"view-resellers",children:n("itemDetail.viewAllResellers")})]}):null,!Be&&!w&&vr>0?e.jsxs(qh,{"data-testid":"you-own-note",children:[n("itemDetail.youOwnN",{count:vr})," ",e.jsx(Xa,{to:"/my-items",children:n("nav.myAssets")})]}):null]})]}):e.jsx(wf,{})})]}),e.jsx(go,{exclude:J,title:n("itemDetail.becauseYouOwn"),surface:"pdp",first:Ja}),T!==null&&e.jsx(Bo,{title:Vi,items:_,onViewAll:p&&i.contractAddress?()=>j(`/collection/${i.contractAddress}`):void 0}),e.jsx(Gu,{item:i}),Q&&w&&q&&U?e.jsx(Ri,{listing:q,rate:U,onClose:()=>V(!1),onSold:()=>V(!1)}):Q&&!w?e.jsx(qn,{item:Te,resume:X,onClose:()=>{V(!1),ne(!1)}}):null,Et?e.jsx(qn,{item:Et,onClose:()=>{jt(null),et()}}):null,dt&&kt&&i.itemId?e.jsx($p,{item:i,onClose:()=>Je(!1)}):null,ln&&h?e.jsx(Aa,{contractAddress:l??"",tokenId:h,onClose:()=>v(!1)}):null,L&&i.itemId&&l?e.jsx(Aa,{variant:"buy",contractAddress:l,itemId:i.itemId,onClose:()=>N(!1)}):null,Gi&&D&&b?e.jsx(Td,{asset:D,session:b,creator:i.creator,edit:fr?kr:void 0,onListed:(f,oe)=>{Ct(f),et(),gn(I,{address:b.address,contractAddress:i.contractAddress,tokenId:i.tokenId},{kind:"listed",priceCredits:f,tradeId:oe})},onClose:Cr}):null,Zi&&b?e.jsx(ac,{name:i.name,managed:Vn(b),canPayGas:mr,cancel:jr(!1),onClose:()=>hr(!1)}):null,Ji&&b&&i.tokenId?e.jsx(tc,{item:{contractAddress:i.contractAddress,chainId:i.chainId,tokenId:i.tokenId,name:i.name,thumbnail:i.thumbnail},session:b,onClose:()=>{ur(!1),et()},onTransferred:()=>{Ct(null),et(),gn(I,{address:b.address,contractAddress:i.contractAddress,tokenId:i.tokenId},{kind:"gone"})}}):null,Yi&&Ne&&b?e.jsx(Ic,{item:Ne,session:b,edit:fr?kr:void 0,onListed:(f,oe)=>{Ct(f),K(ve=>({...ve,tradeId:oe}))},onClose:Cr}):null,Xi&&Ne&&b?e.jsx(Jl,{item:{contractAddress:Ne.contractAddress,chainId:Le.chainId,itemId:Ne.blockchainItemId,name:Ne.name,thumbnail:Ne.thumbnail,available:Ne.remainingSupply},session:b,onClose:()=>{pr(!1),et()}}):null,sn&&vt?e.jsx(zc,{src:vt,itemName:i.name,onClose:()=>zt(!1)}):null]})}function wf(){return e.jsxs(Vh,{"aria-hidden":!0,children:[e.jsx(Jh,{className:"skeleton"}),e.jsxs(Xh,{children:[e.jsx(_n,{className:"skeleton"}),e.jsx(_n,{className:"skeleton"}),e.jsx(_n,{className:"skeleton"})]}),e.jsx(Di,{children:[0,1].map(t=>e.jsx(Kn,{children:e.jsxs(On,{children:[e.jsx(Da,{className:"skeleton"}),e.jsxs(Gh,{children:[e.jsx(Bn,{className:"skeleton"}),e.jsx(Bn,{className:"skeleton"}),e.jsx(Bn,{className:"skeleton","data-short":!0})]})]})},t))}),e.jsx(qi,{children:[0,1].map(t=>e.jsxs(Rt,{...t===1?{"data-collection":!0}:{},children:[e.jsx(Da,{className:"skeleton"}),e.jsx(Yh,{})]},t))}),e.jsx(Ki,{}),e.jsx(Zh,{className:"skeleton"}),e.jsx(ef,{className:"skeleton"})]})}export{yf as ItemDetail,Jf as ItemDetailRoute,yf as default};
3530
+ //# sourceMappingURL=ItemDetail-ChBtCy2t.js.map