@dcl/shop 0.10.1-31040959942.commit-e9e6433 → 0.10.1-31047879016.commit-2c3846e

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 (191) hide show
  1. package/_assets/Activity-5KZahW4a.js +371 -0
  2. package/_assets/AnimatedBackground-CtA-lb0z.js +97 -0
  3. package/_assets/{Assets-UkGI952T.js → Assets-B-cgdG2V.js} +8 -8
  4. package/_assets/{Assets.styles-D1Vg-U1C.js → Assets.styles-CI8Un36f.js} +140 -132
  5. package/_assets/{Authorizations-B3yDMR41.js → Authorizations-94ctJx1t.js} +28 -26
  6. package/_assets/Cart-BNVSJOrw.js +707 -0
  7. package/_assets/{CircularProgress-CB62Wg9m.js → CircularProgress-CpjqStGb.js} +1 -1
  8. package/_assets/{Collection-CSv9R6xZ.js → Collection-CZJ9SSN3.js} +19 -19
  9. package/_assets/CollectionCarousel-DHOvuq0a.js +816 -0
  10. package/_assets/{Confetti-Blr9NSjA.js → Confetti-BTHehxYh.js} +1 -1
  11. package/_assets/{Creator-sh_sYH1o.js → Creator-vMhSn3Jg.js} +7 -7
  12. package/_assets/{ErrorNotice-CXsnDhEh.js → ErrorNotice-CpmhZUmE.js} +1 -1
  13. package/_assets/{ExchangeController-GIzn0xGk.js → ExchangeController-Bk_zMHVC.js} +1 -1
  14. package/_assets/{Faq-C0nCohQD.js → Faq-Bbk8h1Qk.js} +20 -14
  15. package/_assets/{GetCredits-CBLkNO-w.js → GetCredits-Dvf_riJZ.js} +114 -80
  16. package/_assets/{Grow-Nzyme9Oa.js → Grow-B3DyBqW4.js} +1 -1
  17. package/_assets/{HelpersUtil-D0wBF1PA.js → HelpersUtil-h6aaGDt3.js} +1 -1
  18. package/_assets/{ItemDetail-DZ3mEshJ.js → ItemDetail-oFomOkbt.js} +510 -480
  19. package/_assets/LazyEmoteControls-BdlpjPkr.js +2 -0
  20. package/_assets/{LoadMore-CKNE48ED.js → LoadMore-C9QaMyBo.js} +1 -1
  21. package/_assets/ManaPricingBanner.styles-MtBPxNv2.js +93 -0
  22. package/_assets/{MyAssets-Ble658vU.js → MyAssets-Bx9bW84W.js} +33 -33
  23. package/_assets/{MyFavorites-Qri7XFuW.js → MyFavorites-jhTRLOWx.js} +12 -11
  24. package/_assets/{NotFound-BnEiiuoJ.js → NotFound-y9wUvJSt.js} +1 -1
  25. package/_assets/{NotificationsBell-CXzlEnr9.js → NotificationsBell-BFMX1y3H.js} +1 -1
  26. package/_assets/{OutfitDetail-CL1Y8ii5.js → OutfitDetail-BfEl8ni7.js} +4 -4
  27. package/_assets/{OutfitPreview-DRqW1c5F.js → OutfitPreview-foX1l3Ho.js} +2 -2
  28. package/_assets/{OutfitStudio-DgL1kI47.js → OutfitStudio-CPQbAOhy.js} +1 -1
  29. package/_assets/{StoreSettings--R4i191j.js → StoreSettings-DxqpR3qG.js} +1 -1
  30. package/_assets/{Success-DApKfyee.js → Success-DiIlHKjo.js} +1 -1
  31. package/_assets/{SwapController-0aVdHfMW.js → SwapController-DzdjZRBH.js} +1 -1
  32. package/_assets/{Tooltip-B2qDq-8v.js → Tooltip-CXWXl43D.js} +1 -1
  33. package/_assets/{TradeService-COZXjCcV.js → TradeService-CGuEeH2R.js} +1 -1
  34. package/_assets/{W3MFrameProviderSingleton-BYmipTKt.js → W3MFrameProviderSingleton-DAG-EWFv.js} +3 -3
  35. package/_assets/{WebCryptoP256-Cid44am7.js → WebCryptoP256-BQdHu6KD.js} +1 -1
  36. package/_assets/{authorizations-dpp0OnHI.js → authorizations-Bbp82_V2.js} +1 -1
  37. package/_assets/{basic-An6X8Awg.js → basic-Cf3DJuRG.js} +1 -1
  38. package/_assets/{biconomy-CeZnHUNK.js → biconomy-D5_2I_rj.js} +1 -1
  39. package/_assets/{builder-Ce37-lC-.js → builder-CK5n6bEq.js} +1 -1
  40. package/_assets/{buy-Dgj0sRqb.js → buy-BjEPh7nk.js} +1 -1
  41. package/_assets/{buy-gasless-CYY_v3bj.js → buy-gasless-Bjj3XUsm.js} +1 -1
  42. package/_assets/{categories-KFHNUm7E.js → categories-BQHpVYif.js} +54 -54
  43. package/_assets/{ccip-8Mu0bgFv.js → ccip-B7LQbKA2.js} +1 -1
  44. package/_assets/{ccip-BsYdmRqX.js → ccip-C_76Sm3L.js} +1 -1
  45. package/_assets/collectionPage.styles-k2LmVKux.js +49 -0
  46. package/_assets/{controller-Cam05qfJ.js → controller-CjH--4wE.js} +2 -2
  47. package/_assets/{core-BdiPiyom.js → core-1ZzLkX5X.js} +4 -4
  48. package/_assets/{createSvgIcon-cAMuQ1mD.js → createSvgIcon-DcR4892_.js} +4 -4
  49. package/_assets/{custom-C7A-Vb1Q.js → custom-CW7Ai6OA.js} +1 -1
  50. package/_assets/{data-capture-COGpG9-r.js → data-capture-DGJOI5ie.js} +1 -1
  51. package/_assets/disposePreview-5vjiqVZ0.js +1 -0
  52. package/_assets/{email-WblN0-6I.js → email-BYO9_PSn.js} +1 -1
  53. package/_assets/{embedded-wallet-BDGaY-OT.js → embedded-wallet-Dc3ay_ju.js} +1 -1
  54. package/_assets/{emotion-styled.browser.esm-D7YX5KN0.js → emotion-styled.browser.esm-IjZkrRjv.js} +1 -1
  55. package/_assets/{engine-DjipK7B5.js → engine-eMP7KFCK.js} +1 -1
  56. package/_assets/{errors-CzBZCztT.js → errors-65NA3HkA.js} +1 -1
  57. package/_assets/{estimate-l1-fee-Bk8rxjZm.js → estimate-l1-fee-z4Cv9am6.js} +1 -1
  58. package/_assets/{execute-C4AIZjft.js → execute-Be5majZ7.js} +2 -2
  59. package/_assets/{features-Dz4wLY98.js → features-DDe58ejV.js} +1 -1
  60. package/_assets/{fetchTokenMetadata-DjPW-ayp.js → fetchTokenMetadata-BfT_0X0P.js} +2 -2
  61. package/_assets/{field.styles-BThVZLzX.js → field.styles-5b7RHcOk.js} +1 -1
  62. package/_assets/{get-ecosystem-wallet-info-DMVrxBpI.js → get-ecosystem-wallet-info-BgyWgmsX.js} +1 -1
  63. package/_assets/{getBalance-DeFn5Yjk.js → getBalance-EUbWLqWa.js} +1 -1
  64. package/_assets/{getNFT-iw9a-h4A.js → getNFT-CZQJk04I.js} +1 -1
  65. package/_assets/{getNFT-CRgzh5wf.js → getNFT-DqZaIP8J.js} +1 -1
  66. package/_assets/{grid.styles-U_Gpy1wT.js → grid.styles-r1HwM-dl.js} +1 -1
  67. package/_assets/{hashTypedData-9Zh9SRr-.js → hashTypedData-CdCzwjEg.js} +1 -1
  68. package/_assets/{hashTypedData-CqewBwVq.js → hashTypedData-DpsVzpmw.js} +1 -1
  69. package/_assets/hero-credits-mobile-C9Muog4T.webp +0 -0
  70. package/_assets/{in-app-DNl1emxp.js → in-app-OWTERGos.js} +1 -1
  71. package/_assets/{in-app-wallet-calls-CBy5UcNA.js → in-app-wallet-calls-x6rZUVft.js} +1 -1
  72. package/_assets/{index-CcihKRSf.js → index-5qpydkyU.js} +1 -1
  73. package/_assets/{index-BVDj7GJL.js → index-B-c3ctWE.js} +1 -1
  74. package/_assets/{index-BdQAMxgJ.js → index-B2Y5KUFQ.js} +2 -2
  75. package/_assets/{index-Bc0mTSPi.js → index-B4hWF9JI.js} +1 -1
  76. package/_assets/{index-Dd8eTuKB.js → index-BRs5WQ4y.js} +1 -1
  77. package/_assets/{index-Cmc0GHkA.js → index-BXmbcLjL.js} +1 -1
  78. package/_assets/index-BYP7oMPZ.css +1 -0
  79. package/_assets/{index-CjvMMH2k.js → index-BZbZm3_Z.js} +1 -1
  80. package/_assets/{index-C6rF-YrH.js → index-Bk5pG7hH.js} +1 -1
  81. package/_assets/{index-Dax05iV5.js → index-BoMcphCu.js} +1 -1
  82. package/_assets/{index-BIJiNaiS.js → index-By7bM2FO.js} +1 -1
  83. package/_assets/{index-xMSSxrHn.js → index-C3ZkN3yx.js} +1 -1
  84. package/_assets/{index-CHCVsh7P.js → index-C5Zmr-fp.js} +1 -1
  85. package/_assets/{index-5SMH4VL2.js → index-C5gU7v63.js} +1 -1
  86. package/_assets/{index-Kq5fobWt.js → index-C6dKNgrS.js} +1 -1
  87. package/_assets/{index-B7Rm4vXt.js → index-CAdngWZA.js} +1 -1
  88. package/_assets/{index-h--qqRrb.js → index-CDn28wqX.js} +1 -1
  89. package/_assets/{index-CJCxe5kr.js → index-CF1R6Wyc.js} +1 -1
  90. package/_assets/index-CGHLVlhr.js +622 -0
  91. package/_assets/{index-DT4Zi23l.js → index-CGXSS33-.js} +3 -3
  92. package/_assets/{index-CqJzKRxe.js → index-CIDeydPG.js} +2 -2
  93. package/_assets/{index-CU5QiUkb.js → index-CKAGCwTj.js} +1 -1
  94. package/_assets/{index-y3U1nB0H.js → index-CUHTRIp3.js} +3 -3
  95. package/_assets/{index-DgPfV4X0.js → index-Cabu_wkc.js} +1 -1
  96. package/_assets/{index-DM2dLJ-M.js → index-CdE95fkC.js} +1 -1
  97. package/_assets/{index-xLgJxfJy.js → index-CgbD_7CJ.js} +1 -1
  98. package/_assets/{index-DwrPmkl2.js → index-CzYkiikw.js} +1 -1
  99. package/_assets/{index-CpQbv3Zu.js → index-CzjezMlh.js} +1 -1
  100. package/_assets/{index-DtAsm8Nr.js → index-DB8U79VL.js} +1 -1
  101. package/_assets/{index-D3iRZfgO.js → index-DFIOoHDj.js} +1 -1
  102. package/_assets/{index-BwGtaRec.js → index-DIk7fUKo.js} +1 -1
  103. package/_assets/{index-C_r09vuw.js → index-DJn0-6QO.js} +1 -1
  104. package/_assets/{index-RHSCZ-t0.js → index-DMQGc1DU.js} +1 -1
  105. package/_assets/{index-DfIQCR2U.js → index-DN-GBsyH.js} +1 -1
  106. package/_assets/{index-DXURSM0-.js → index-DVr9P_sW.js} +1 -1
  107. package/_assets/index-DWnXUohj.js +1 -0
  108. package/_assets/{index-HQUcvKn4.js → index-Db-p3Vgn.js} +3 -3
  109. package/_assets/{index-m-SAK4uo.js → index-DcP4Kxjm.js} +1 -1
  110. package/_assets/{index-B0wdLudq.js → index-DhKtXpNk.js} +1 -1
  111. package/_assets/{index-ByPjVaiq.js → index-DrNZnytJ.js} +1 -1
  112. package/_assets/{index-DQ7Kosvv.js → index-DtNI9AcR.js} +3 -3
  113. package/_assets/{index-DhRx4LkD.js → index-Dvpm24my.js} +1 -1
  114. package/_assets/{index-Dqdf5xVB.js → index-DzKQAwwD.js} +1 -1
  115. package/_assets/{index-BC_qLj4b.js → index-DzWVwnl8.js} +1 -1
  116. package/_assets/{index-DO0NylVf.js → index-Gjpu_VUp.js} +1 -1
  117. package/_assets/index-HxLvOExR.js +3699 -0
  118. package/_assets/{index-BsZ1af_A.js → index-JQcdGKbC.js} +1 -1
  119. package/_assets/{index-D3qXchU2.js → index-OpuK1fx_.js} +1 -1
  120. package/_assets/{index-1tktbprD.js → index-U_j9NAbS.js} +1 -1
  121. package/_assets/{index-MPYM0LiN.js → index-WMiYz6IH.js} +1 -1
  122. package/_assets/{index-D6LfEXYp.js → index-bMtXusxB.js} +1 -1
  123. package/_assets/{index-BdkbjSWP.js → index-f--Xju7p.js} +1 -1
  124. package/_assets/{index-B3jctKqs.js → index-tXA64dlA.js} +2 -2
  125. package/_assets/{index.es-CLldxJUJ.js → index.es-B7e293JB.js} +1 -1
  126. package/_assets/{index.es-DGQjR0dR.js → index.es-DLwvz1xx.js} +4 -4
  127. package/_assets/{index.es-DqD9HkXC.js → index.es-DlR-IQtM.js} +1 -1
  128. package/_assets/{localBatchGatewayRequest-COpd6g60.js → localBatchGatewayRequest-cLQ4UydX.js} +1 -1
  129. package/_assets/{networks-ChmokwGp.js → networks-C5yX7tyx.js} +1 -1
  130. package/_assets/{onramp-BmIZ6r8P.js → onramp-CEYvaS9l.js} +1 -1
  131. package/_assets/{openzeppelin-CzypsJB4.js → openzeppelin-Cc2KhXuv.js} +1 -1
  132. package/_assets/{parseNft-CydF3Edv.js → parseNft-YbkZLHPa.js} +2 -2
  133. package/_assets/{parseSignature-BeoYj8uB.js → parseSignature-BHOWaqkR.js} +1 -1
  134. package/_assets/{parseSignature-u2B-ofRt.js → parseSignature-Dgv2pIVc.js} +3 -3
  135. package/_assets/{passkeys-CVYlDRWu.js → passkeys-Dg5ldVwX.js} +1 -1
  136. package/_assets/{pay-with-exchange-DqJU65WS.js → pay-with-exchange-Dx2N2FiO.js} +1 -1
  137. package/_assets/promo-best-rated-emotes-C6kNvB-a.png +0 -0
  138. package/_assets/promo-week-selected-outfits-BBmkZYZx.png +0 -0
  139. package/_assets/{qr-overlay-DNwX_TPq.js → qr-overlay-CJis_Dku.js} +1 -1
  140. package/_assets/{receive-uVtJpZxa.js → receive-DyR3EUgS.js} +1 -1
  141. package/_assets/{resolveImplementation-CRaloAyf.js → resolveImplementation-D-Os7pbq.js} +1 -1
  142. package/_assets/{rpc-CqfSA8g9.js → rpc-gzHaMGM_.js} +1 -1
  143. package/_assets/{secp256k1-2YskFph9.js → secp256k1-A8695JK3.js} +1 -1
  144. package/_assets/{secp256k1-Do9ofviG.js → secp256k1-GWIDn9S3.js} +1 -1
  145. package/_assets/{secp256k1-DvDQYEQd.js → secp256k1-NjVLumzu.js} +1 -1
  146. package/_assets/{send-IbCZj2la.js → send-CKyxXi5G.js} +1 -1
  147. package/_assets/{send-batch-transaction-DFD_LTct.js → send-batch-transaction-BD0nxza5.js} +1 -1
  148. package/_assets/{send-eip712-transaction-DBf5Z4g_.js → send-eip712-transaction-C8HaD4Bl.js} +2 -2
  149. package/_assets/{send-gasless-transaction-TFSfXMLh.js → send-gasless-transaction-C3LFi8_y.js} +2 -2
  150. package/_assets/{send-transaction-DGhInFte.js → send-transaction-Cr1KGOfz.js} +2 -2
  151. package/_assets/{sendMetaTransaction-CzqCMKMd.js → sendMetaTransaction-BuD46hIl.js} +1 -1
  152. package/_assets/{sendRawTransaction-qf9SJfpX.js → sendRawTransaction-CHV_i5MH.js} +3 -3
  153. package/_assets/{serializeTransaction-D4cHSu0O.js → serializeTransaction-C6QCh8ng.js} +1 -1
  154. package/_assets/{session-proposal-5AODiiln.js → session-proposal-AzV-Di6A.js} +1 -1
  155. package/_assets/{session-request-hpYNptgl.js → session-request-BVptHKRT.js} +2 -2
  156. package/_assets/{signing-BQUpSEqZ.js → signing-BCnHiNxp.js} +3 -3
  157. package/_assets/{skeleton.styles-BfEPveSL.js → skeleton.styles-NdJWWZoO.js} +1 -1
  158. package/_assets/{socials-D6EP9g5a.js → socials-SFpy8Nfx.js} +1 -1
  159. package/_assets/{styled-FDInU8Rs.js → styled-YNWg-9qZ.js} +1 -1
  160. package/_assets/{swaps-CqwmfiPX.js → swaps-Bs58cXr0.js} +1 -1
  161. package/_assets/{thirdweb-Cecbmps_.js → thirdweb-Da9bKgaM.js} +3 -3
  162. package/_assets/{to-serializable-transaction-u0MhoPX5.js → to-serializable-transaction-BKFRuKok.js} +2 -2
  163. package/_assets/{transactionReceipt-l4NJYcz9.js → transactionReceipt-BB_HE5DZ.js} +1 -1
  164. package/_assets/{transactions-CeFT9Jfi.js → transactions-BiiNpaI6.js} +1 -1
  165. package/_assets/{useCreditPacks-DQE6Gg5O.js → useCreditPacks-kYM5sqXW.js} +1 -1
  166. package/_assets/{useImportable-Dh1ZOsU2.js → useImportable-CacakRaR.js} +1 -1
  167. package/_assets/{useInfiniteGrid--LOCzyU9.js → useInfiniteGrid-DmCoyc-5.js} +1 -1
  168. package/_assets/{useTheme-CpSHkSMG.js → useTheme-CDzzSrjV.js} +1 -1
  169. package/_assets/{verifyHash-BSS9_MWX.js → verifyHash-Bi8A6_OC.js} +1 -1
  170. package/_assets/{w3m-modal-BCjN4Uqc.js → w3m-modal-DXZzlpAy.js} +1 -1
  171. package/_assets/{w3m-modal-ByuBko0g.js → w3m-modal-hvo-cMQo.js} +1 -1
  172. package/_assets/{wait-for-tx-receipt-CfVB-CU0.js → wait-for-tx-receipt-DtoUQega.js} +1 -1
  173. package/_assets/{wallets-tUzLLBvA.js → wallets-DOYhTD-q.js} +5 -5
  174. package/_assets/{web-connector-BfVr5QpB.js → web-connector-L9IYDmGf.js} +3 -3
  175. package/_assets/{writeContract-B4n8yTsB.js → writeContract-C9Fd0Dqo.js} +1 -1
  176. package/_assets/{zoraTestnet-CNY7oWT9.js → zoraTestnet-CJh-5IFd.js} +1 -1
  177. package/index.html +11 -11
  178. package/package.json +2 -2
  179. package/_assets/Activity-CUf8ogRR.js +0 -381
  180. package/_assets/AnimatedBackground-_78VlBdV.js +0 -97
  181. package/_assets/Cart-CbY3Hhq6.js +0 -695
  182. package/_assets/CollectionCarousel-Cg2MTF9W.js +0 -804
  183. package/_assets/LazyEmoteControls-BEt_49wK.js +0 -2
  184. package/_assets/ManaPricingBanner.styles-CJS5V2Di.js +0 -74
  185. package/_assets/collectionPage.styles-jwKyDncq.js +0 -48
  186. package/_assets/disposePreview-C6zVmkpS.js +0 -1
  187. package/_assets/index-Ba-yhU-2.js +0 -1
  188. package/_assets/index-D-NhBWWr.css +0 -1
  189. package/_assets/index-D8LZCVOB.js +0 -519
  190. package/_assets/index-buu21jrH.js +0 -3390
  191. package/_assets/packs-backdrop-BcXiUPeP.webp +0 -0
@@ -1,804 +0,0 @@
1
- import{j as t,r as v}from"./react-BYHuwl8r.js";import{s as e,t as o,b as f,z as k,L as j,bW as C,C as G,w as Y,I as Q,F as X,g as W,h as B,f as Z,at as q,aa as J,b_ as F,ar as ee}from"./index-buu21jrH.js";import{s as te,f as U,A as _,g as K,r as ne,m as ae,i as ie,j as oe}from"./authorizations-dpp0OnHI.js";import{i as se}from"./errors-CzBZCztT.js";import{E as re}from"./ErrorNotice-CXsnDhEh.js";import{l as ce,m as de,n as le}from"./buy-Dgj0sRqb.js";import{s as pe,M as he,E as ue}from"./sendMetaTransaction-CzqCMKMd.js";import{I as xe,C as ge}from"./ethers-BDpbhgX6.js";const L="shop:resume_after_signin",fe=900*1e3;function ct(a){try{sessionStorage.setItem(L,JSON.stringify({...a,at:Date.now()}))}catch{}}function dt(a){let n;try{n=sessionStorage.getItem(L)}catch{return null}if(!n)return null;try{sessionStorage.removeItem(L)}catch{}let i;try{i=JSON.parse(n)}catch{return null}return!i||i.type!==a||typeof i.at!="number"||Date.now()-i.at>fe?null:i.type==="cart-checkout"?{type:"cart-checkout"}:{type:"item-buy",path:i.path}}function me(a,n){return(a+n-1n)/n}function be(a,n,i){return a<=0||n<=0?0n:a>=n?i:me(i*BigInt(a),BigInt(n))}function lt(a){var b,y,w;const n=Number.isFinite(a.priceCents)?Math.max(0,Math.trunc(a.priceCents)):0,i=Number.isFinite(a.balanceCents)?Math.max(0,Math.trunc(a.balanceCents)):0,s=a.priceManaWei>0n?a.priceManaWei:0n,l=a.manaBalanceWei>0n?a.manaBalanceWei:0n;if(n<=0)return{options:[],preferred:null,manaShortfall:null};const c=[];if(i>=n&&c.push({method:"credits",creditsCents:n,manaWei:0n}),s>0n&&i>0&&i<n){const d=n-i,m=be(d,n,s);l>=m&&c.push({method:"combined",creditsCents:i,manaWei:m})}s>0n&&l>=s&&c.push({method:"mana",creditsCents:0,manaWei:s});const p=((b=c.find(d=>d.method==="credits"))==null?void 0:b.method)??((y=c.find(d=>d.method==="combined"))==null?void 0:y.method)??((w=c.find(d=>d.method==="mana"))==null?void 0:w.method)??null,u=!c.some(d=>d.method==="mana"||d.method==="combined")&&s>0n&&l>0n?{manaWei:l,manaCents:ye(l,n,s),priceCents:n}:null;return{options:c,preferred:p,manaShortfall:u}}function ye(a,n,i){return Number(a*BigInt(n)/i)}function pt(a,n){let i=Number.isFinite(n)?Math.max(0,Math.trunc(n)):0;return a.map(s=>{const l=Number.isFinite(s)?Math.max(0,Math.trunc(s)):0,c=Math.min(l,i);return i-=c,c})}function z(a){return Number.isFinite(a)?Math.max(0,a)/10:0}function ht(a,n){return a.options.find(i=>i.method===n)??null}function ut(a,n){if(!Number.isFinite(a)||a<=0||n<=0n)return null;const i=a/10;return Number(n)/1e18/i}const T="data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group%201'%3e%3cpath%20id='Vector'%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12%202L22%2012L12%2022L2%2012L12%202ZM12%204.8L19.2%2012L12%2019.2L4.8%2012L12%204.8ZM12%2015.6C12.9548%2015.6001%2013.8705%2015.2209%2014.5457%2014.5459C15.2209%2013.8708%2015.6003%2012.9552%2015.6004%2012.0004C15.6005%2011.0456%2015.2213%2010.1299%2014.5463%209.45471C13.8712%208.7795%2012.9556%208.40011%2012.0008%208.4C11.0461%208.4%2010.1304%208.77928%209.45525%209.45442C8.78012%2010.1295%208.40083%2011.0452%208.40083%2012C8.40083%2012.9548%208.78012%2013.8705%209.45525%2014.5456C10.1304%2015.2207%2011.0461%2015.6%2012.0008%2015.6H12Z'%20fill='white'/%3e%3cg%20id='Rectangle%201'%3e%3c/g%3e%3c/g%3e%3c/svg%3e",we=e.div`
2
- display: flex;
3
- flex-direction: column;
4
- gap: 12px;
5
- align-items: stretch;
6
- width: 100%;
7
- `,H=`
8
- width: 100%;
9
- min-height: 56px;
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
- gap: 8px;
14
- flex-wrap: wrap;
15
- padding: 0 12px;
16
- border: 0;
17
- border-radius: 12px;
18
- cursor: pointer;
19
- transition:
20
- background 0.15s ease,
21
- filter 0.15s ease;
22
- font-family: ${o.font.sans};
23
- font-weight: 600;
24
- font-size: 15px;
25
- line-height: 24px;
26
- letter-spacing: 0.46px;
27
- text-transform: uppercase;
28
- color: ${o.colors.softWhite};
29
-
30
- &:focus-visible {
31
- outline: 2px solid ${o.colors.accent};
32
- outline-offset: 2px;
33
- }
34
- &:disabled {
35
- opacity: 0.6;
36
- cursor: default;
37
- }
38
- `,ve=e.button`
39
- ${H}
40
- background: ${o.gradients.amethyst};
41
-
42
- &:hover:not(:disabled) {
43
- filter: brightness(1.08);
44
- }
45
- `,N=e.button`
46
- ${H}
47
- background: ${o.colors.text2};
48
-
49
- &:hover:not(:disabled) {
50
- background: ${o.colors.gray0};
51
- }
52
- `,M=e.span`
53
- display: inline-flex;
54
- align-items: center;
55
- gap: 6px;
56
- text-transform: none;
57
- letter-spacing: 0;
58
-
59
- span {
60
- font-size: 20px;
61
- font-weight: 600;
62
- line-height: normal;
63
- }
64
- .ico {
65
- width: 24px;
66
- height: 24px;
67
- background: ${o.colors.softWhite};
68
- }
69
- `,E=e.span`
70
- position: relative;
71
- display: block;
72
- width: 30px;
73
- height: 30px;
74
- flex: none;
75
-
76
- /* Centred in the slot, not pinned to its top: the slot is taller than the glyph and sits next to a
77
- vertically centred amount, so a top-pinned mark reads as floating above the number. */
78
- img {
79
- position: absolute;
80
- top: 50%;
81
- left: 0;
82
- transform: translateY(-50%);
83
- width: 24px;
84
- height: 24px;
85
- display: block;
86
- }
87
- `,ke=e.span`
88
- font-size: 13px;
89
- font-weight: 600;
90
- letter-spacing: 0.02em;
91
- opacity: 0.85;
92
- `,$e=e.span`
93
- font-size: 18px;
94
- font-weight: 600;
95
- opacity: 0.7;
96
- `,je=e.p`
97
- margin: 0;
98
- font-family: ${o.font.sans};
99
- font-weight: 400;
100
- font-size: 12px;
101
- line-height: 1;
102
- color: ${o.colors.muted};
103
- text-align: center;
104
- `,Ce=e.p`
105
- margin: -4px 0 0;
106
- font-family: ${o.font.sans};
107
- font-weight: 400;
108
- font-size: 12px;
109
- line-height: 1.4;
110
- color: ${o.colors.muted};
111
- text-align: center;
112
- `;function xt({options:a,totalCents:n,onPay:i,busy:s=!1,rateNote:l,creditsLabel:c,shortfall:p,showCreditsAmount:x=!0}){return t.jsxs(we,{children:[a.map(u=>u.method==="credits"?t.jsxs(ve,{type:"button","data-testid":"pay-with-credits",onClick:()=>i("credits"),disabled:s,children:[t.jsx("span",{children:c??f("buyModal.buy")}),x?t.jsxs(M,{children:[t.jsx(k,{}),t.jsx("span",{children:j(z(u.creditsCents))})]}):null]},"credits"):u.method==="mana"?t.jsxs(N,{type:"button","data-testid":"pay-with-mana",onClick:()=>i("mana"),disabled:s,children:[t.jsx("span",{children:f("buyModal.buyWithMana")}),t.jsxs(M,{children:[t.jsx(E,{children:t.jsx("img",{src:T,alt:"","aria-hidden":!0})}),t.jsx("span",{children:C(u.manaWei)})]})]},"mana"):t.jsxs(N,{type:"button","data-testid":"pay-with-combined",onClick:()=>i("combined"),disabled:s,children:[t.jsx("span",{children:f("buyModal.buyWith")}),t.jsxs(M,{children:[t.jsx(k,{}),t.jsx("span",{children:j(z(u.creditsCents))}),t.jsx($e,{children:"+"}),t.jsx(E,{children:t.jsx("img",{src:T,alt:"","aria-hidden":!0})}),t.jsx("span",{children:C(u.manaWei)}),t.jsx(ke,{children:"MANA"})]})]},"combined")),p?t.jsxs(t.Fragment,{children:[t.jsxs(N,{type:"button","data-testid":"pay-with-mana-disabled",disabled:!0,children:[t.jsx("span",{children:f("buyModal.buyWithMana")}),t.jsxs(M,{children:[t.jsx(E,{children:t.jsx("img",{src:T,alt:"","aria-hidden":!0})}),t.jsx("span",{children:C(p.manaWei)})]})]},"mana-short"),t.jsx(Ce,{"data-testid":"mana-shortfall-note",children:f("buyModal.manaWorth",{mana:C(p.manaWei),credits:j(z(p.manaCents)),price:j(z(p.priceCents)),currency:G.name})})]}):null,l?t.jsx(je,{"data-testid":"mana-rate-note",children:l}):null,t.jsx("span",{hidden:!0,"data-testid":"pay-total-cents",children:n})]})}function gt(a,n){const i=(s,...l)=>void a.invalidateQueries({queryKey:n?[s,...l]:[s]});a.invalidateQueries({queryKey:["usd-balance"]}),a.invalidateQueries({queryKey:["detail-trade"]}),a.invalidateQueries({queryKey:["shop-item"]}),i("owned-token",n==null?void 0:n.contractAddress,n==null?void 0:n.tokenId),i("public-token",n==null?void 0:n.contractAddress,n==null?void 0:n.tokenId),i("item-resales",n==null?void 0:n.contractAddress,n==null?void 0:n.itemId),a.invalidateQueries({queryKey:["shop-items"]}),a.invalidateQueries({queryKey:["catalog-items"]}),a.invalidateQueries({queryKey:["overview-listings"]}),a.invalidateQueries({queryKey:["upsell-listings"]}),a.invalidateQueries({queryKey:["my-assets"]}),a.invalidateQueries({queryKey:["purchases"]}),a.invalidateQueries({queryKey:["owned-item-count"]})}const ze=Y`
113
- to { transform: rotate(360deg); }
114
- `,Me=e.div`
115
- position: fixed;
116
- inset: 0;
117
- z-index: 10000;
118
- display: flex;
119
- align-items: center;
120
- justify-content: center;
121
- padding: 16px;
122
- background: rgba(22, 21, 24, 0.55);
123
- `,Ae=e.div`
124
- width: 480px;
125
- max-width: 100%;
126
- max-height: 92vh;
127
- overflow-y: auto;
128
- background: ${o.colors.white};
129
- border-radius: 16px;
130
- padding: 12px 16px 16px;
131
- box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
132
- display: flex;
133
- flex-direction: column;
134
- gap: 20px;
135
- `,We=e.div`
136
- display: flex;
137
- align-items: center;
138
- justify-content: space-between;
139
- gap: 8px;
140
- padding-bottom: 16px;
141
- border-bottom: 1px solid ${o.colors.gray4};
142
- `,Ie=e.h2`
143
- margin: 0;
144
- font-family: ${o.font.sans};
145
- font-weight: 600;
146
- font-size: 20px;
147
- line-height: 1.6;
148
- color: ${o.colors.text};
149
- `,Se=e.button`
150
- flex: none;
151
- display: grid;
152
- place-items: center;
153
- width: 24px;
154
- height: 24px;
155
- border: 0;
156
- background: none;
157
- cursor: pointer;
158
- color: ${o.colors.text};
159
-
160
- .ico {
161
- width: 18px;
162
- height: 18px;
163
- }
164
- &:disabled {
165
- opacity: 0.4;
166
- cursor: default;
167
- }
168
- &:focus-visible {
169
- outline: 2px solid ${o.colors.accent};
170
- outline-offset: 2px;
171
- }
172
- `,Te=e.div`
173
- display: grid;
174
- grid-template-columns: 44px 1fr;
175
- align-items: center;
176
- gap: 14px;
177
- padding: 14px 18px;
178
- background: ${o.colors.white};
179
- border: 1px solid ${o.colors.line};
180
- border-radius: 16px;
181
- `,Ne=e.div`
182
- width: 44px;
183
- height: 44px;
184
- border-radius: 10px;
185
- background: ${o.colors.media};
186
- overflow: hidden;
187
- display: flex;
188
- align-items: center;
189
- justify-content: center;
190
- color: ${o.colors.muted2};
191
-
192
- img {
193
- width: 100%;
194
- height: 100%;
195
- object-fit: contain;
196
- }
197
- .ccy-mark {
198
- width: 26px;
199
- height: 26px;
200
- }
201
- `,Ee=e.div`
202
- min-width: 0;
203
- display: flex;
204
- flex-direction: column;
205
- gap: 4px;
206
- `,Be=e.span`
207
- font-weight: 700;
208
- color: ${o.colors.text};
209
- `,Le=e.span`
210
- font-size: 13px;
211
- line-height: 1.45;
212
- color: ${o.colors.muted};
213
- `,Re=e.p`
214
- margin: 0;
215
- font-size: 12px;
216
- line-height: 1.5;
217
- color: ${o.colors.muted2};
218
- `,Pe=e.div`
219
- display: flex;
220
- gap: 12px;
221
-
222
- ${o.media.maxWidth("mobile")} {
223
- flex-direction: column-reverse;
224
- }
225
- `,Fe=e.button`
226
- flex: 1 1 0;
227
- height: 48px;
228
- border: 2px solid ${o.colors.accent};
229
- border-radius: 12px;
230
- background: transparent;
231
- color: ${o.colors.accent};
232
- cursor: pointer;
233
- font-family: ${o.font.sans};
234
- font-weight: 600;
235
- font-size: 13px;
236
- line-height: 24px;
237
- letter-spacing: 0.46px;
238
- text-transform: uppercase;
239
-
240
- &:hover:not(:disabled) {
241
- background: rgba(105, 31, 169, 0.06);
242
- }
243
- &:disabled {
244
- cursor: default;
245
- opacity: 0.5;
246
- }
247
- &:focus-visible {
248
- outline: 2px solid ${o.colors.accent};
249
- outline-offset: 2px;
250
- }
251
- `,Ke=e.button`
252
- flex: 1 1 0;
253
- display: inline-flex;
254
- align-items: center;
255
- justify-content: center;
256
- gap: 8px;
257
- height: 48px;
258
- border: 0;
259
- border-radius: 12px;
260
- background: ${o.colors.accent};
261
- color: ${o.colors.softWhite};
262
- cursor: pointer;
263
- font-family: ${o.font.sans};
264
- font-weight: 600;
265
- font-size: 13px;
266
- line-height: 24px;
267
- letter-spacing: 0.46px;
268
- text-transform: uppercase;
269
-
270
- &:hover:not(:disabled) {
271
- background: ${o.colors.accentHover};
272
- }
273
- &:disabled {
274
- cursor: default;
275
- background: rgba(105, 31, 169, 0.4);
276
- }
277
- &:focus-visible {
278
- outline: 2px solid ${o.colors.accent};
279
- outline-offset: 2px;
280
- }
281
- `,De=e.span`
282
- width: 16px;
283
- height: 16px;
284
- border-radius: 50%;
285
- border: 2px solid rgba(255, 255, 255, 0.5);
286
- border-top-color: ${o.colors.white};
287
- animation: ${ze} 0.7s linear infinite;
288
-
289
- @media (prefers-reduced-motion: reduce) {
290
- animation: none;
291
- }
292
- `;function ft({auth:a,signer:n,title:i,reason:s,name:l,image:c,icon:p,onAuthorized:x,onCancel:u,onClose:b}){const[y,w]=v.useState(!1),[d,m]=v.useState(null);async function $(){w(!0),m(null);try{await te({auth:a,signer:n,active:!0}),x()}catch(h){se(h)?m(f("authorizeStep.errorRejected")):(X(h,{flow:"authorize_step",kind:a.kind}),m(f("authorizeStep.errorGeneric"))),w(!1)}}return t.jsx(Me,{onClick:y?void 0:b,role:"presentation",children:t.jsxs(Ae,{onClick:h=>h.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":i,children:[t.jsxs(We,{children:[t.jsx(Ie,{children:i}),t.jsx(Se,{onClick:b,disabled:y,"aria-label":f("authorizeStep.close"),children:t.jsx(Q,{name:"close",className:"ico"})})]}),t.jsxs(Te,{"data-testid":"authorize-step-row",children:[t.jsx(Ne,{children:c?t.jsx("img",{src:c,alt:""}):p}),t.jsxs(Ee,{children:[t.jsx(Be,{title:l,children:l}),t.jsx(Le,{children:s})]})]}),t.jsx(Re,{children:f("authorizeStep.note")}),t.jsx(re,{message:d}),t.jsxs(Pe,{children:[t.jsx(Fe,{type:"button",onClick:u,disabled:y,children:f("authorizeStep.cancel")}),t.jsx(Ke,{type:"button","data-testid":"authorize-step-action",onClick:()=>void $(),disabled:y,children:y?t.jsxs(t.Fragment,{children:[t.jsx(De,{"aria-hidden":!0}),f("authorizeStep.authorizing")]}):f("authorizeStep.authorize")})]})]})})}async function mt(a){const[n]=await Qe({...a,trades:[a.trade]});return n}async function Qe(a){const{trades:n,buyer:i,signer:s,onSigned:l}=a;if(n.length===0)throw new Error("No items to buy");const c=new Map;for(const x of n){const u=`${x.chainId}:${x.contract.toLowerCase()}`,b=c.get(u);b?b.push(x):c.set(u,[x])}const p=[];for(const x of c.values())p.push(await Ue({trades:x,buyer:i,signer:s,onSigned:l}));return p}async function Ue(a){const{trades:n,buyer:i,signer:s,onSigned:l}=a,c=n[0],p=W(Z(c.contract),c.chainId),x=W(B.MANAToken,c.chainId);await U({auth:{kind:_.Allowance,contractAddress:x.address,spenderAddress:p.address,chainId:c.chainId},signer:s});const u=n.map(d=>de(d,i));if(K.enabled)try{const d=new xe(p.abi).encodeFunctionData("accept",[u]),m=ne(),$=ae(s.provider,m),h=await pe($,m,d,p,{serverURL:K.relayerUrl});return l==null||l(),await ie(h,"the MANA purchase"),h}catch(d){if(d instanceof he&&d.code===ue.USER_DENIED||d instanceof oe)throw d;console.warn("[buyWithMana] gasless meta-tx failed, falling back to a direct tx:",d)}await q(s.provider,c.chainId);const y=await new ge(p.address,p.abi,s).accept(u,le(c.chainId));return l==null||l(),(await y.wait()).transactionHash}async function bt(a){const{trade:n,buyer:i,signer:s,credits:l,manaGapWei:c,onBroadcast:p,onReverted:x}=a;if(l.length===0)throw new Error("No credits to spend — use buyWithMana for a MANA-only purchase");if(c<=0n)throw new Error("No MANA gap to cover — use buyWithCredits for a credits-only purchase");const u=W(B.MANAToken,n.chainId),b=W(B.CreditsManager,n.chainId);await U({auth:{kind:_.Allowance,contractAddress:u.address,spenderAddress:b.address,chainId:n.chainId},signer:s});const w=(l.reduce((d,m)=>d+BigInt(m.availableAmount),0n)+c).toString();return ce({trade:n,buyer:i,signer:s,credits:l,maxCreditedValue:w,onBroadcast:p,onReverted:x})}function yt(a){return t.jsx("svg",{viewBox:"0 0 18 18",width:"18",height:"18","aria-hidden":!0,...a,children:t.jsx("path",{d:"M4 4l10 10M14 4L4 14",stroke:"#161518",strokeWidth:"1.8",strokeLinecap:"round"})})}function wt(a){return t.jsxs("svg",{viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":!0,...a,children:[t.jsx("path",{d:"M12 3L2 20h20L12 3z",fill:"none",stroke:"#691fa9",strokeWidth:"1.8",strokeLinejoin:"round"}),t.jsx("path",{d:"M12 9v5",stroke:"#691fa9",strokeWidth:"1.8",strokeLinecap:"round"}),t.jsx("circle",{cx:"12",cy:"17",r:"1.1",fill:"#691fa9"})]})}const{colors:r,gradients:O,radius:V,z:_e}=o,vt=e.div`
293
- position: fixed;
294
- inset: 0;
295
- z-index: ${_e.overlay};
296
- display: flex;
297
- overflow-y: auto;
298
- padding: 20px;
299
- `,kt=e.div`
300
- position: fixed;
301
- inset: 0;
302
- background: rgba(22, 21, 24, 0.45);
303
- `,$t=e.div`
304
- position: relative;
305
- z-index: 1;
306
- margin: auto;
307
- width: 100%;
308
- /* Wide enough to fit all 4 credit bundles comfortably in a single row (the credits-server returns 4;
309
- the Figma mock showed 3 at ~180px). The pack tiles flex to share this width. */
310
- max-width: 700px;
311
- /* Flex-item auto-minimum can otherwise push the card past the viewport on a narrow screen. */
312
- min-width: 0;
313
- /* Never taller than the viewport (100% of the padded overlay): the no-funds state stacks a warning, a
314
- line list, 4 pack tiles, the total AND the Cancel/Buy pair, which overflows a laptop screen at 100%
315
- zoom and used to take the CTAs off-screen with it. The body absorbs the difference, and the clip is
316
- the backstop — a phase that forgets to make itself shrinkable is then visibly cut off at the card's
317
- edge instead of painting its buttons out on the scrim. */
318
- max-height: 100%;
319
- overflow: hidden;
320
- background: ${r.white};
321
- border-radius: 16px;
322
- padding: 12px 16px 16px;
323
- box-shadow: 0 24px 60px rgba(22, 21, 24, 0.28);
324
- animation: cart-pop-in 0.16s ease;
325
- display: flex;
326
- flex-direction: column;
327
- gap: 24px;
328
-
329
- &[data-tall] {
330
- min-height: 379px;
331
- justify-content: space-between;
332
- }
333
- `,jt=e.div`
334
- display: flex;
335
- flex-direction: column;
336
- gap: 4px;
337
- padding-bottom: 16px;
338
- border-bottom: 1px solid ${r.gray4};
339
- `,Ct=e.div`
340
- display: flex;
341
- align-items: flex-start;
342
- justify-content: space-between;
343
- gap: 8px;
344
- `,zt=e.h2`
345
- margin: 0;
346
- font-size: 20px;
347
- font-weight: 600;
348
- line-height: 1.6;
349
- color: ${r.text};
350
- `,Mt=e.button`
351
- flex-shrink: 0;
352
- border: 0;
353
- background: transparent;
354
- cursor: pointer;
355
- padding: 2px;
356
- line-height: 0;
357
- `,At=e.div`
358
- display: flex;
359
- align-items: center;
360
- gap: 4px;
361
- `,Wt=e.span`
362
- font-size: 14px;
363
- font-weight: 600;
364
- color: ${r.muted1};
365
- `,It=e(k)`
366
- width: 14px;
367
- height: 14px;
368
- background: ${r.text};
369
- `,St=e.span`
370
- font-size: 14px;
371
- color: ${r.text};
372
- `,Tt=e.div`
373
- display: flex;
374
- flex-direction: column;
375
- gap: 24px;
376
- /* Shrink inside a viewport-capped card instead of overflowing it. Anything with its own flexible
377
- region (e.g. the cart's line list) gives up height first; this scroll is the last resort so the
378
- CTAs are always reachable on a short screen. */
379
- min-height: 0;
380
- overflow-y: auto;
381
-
382
- /* Processing / loading states centre a single element in a taller body. */
383
- &[data-processing] {
384
- flex: 1;
385
- align-items: center;
386
- justify-content: center;
387
- gap: 32px;
388
- padding: 24px 0;
389
- }
390
- `,Nt=e.div`
391
- display: flex;
392
- gap: 12px;
393
- align-items: center;
394
- `,Et=e.div`
395
- flex-shrink: 0;
396
- width: 180px;
397
- height: 180px;
398
- background: ${r.media};
399
- border: 1px solid ${r.muted2};
400
- border-radius: 16px;
401
- display: grid;
402
- place-items: center;
403
- overflow: hidden;
404
-
405
- & img {
406
- width: 83%;
407
- height: 83%;
408
- object-fit: contain;
409
- filter: drop-shadow(0.7px 2.9px 3.7px rgba(0, 0, 0, 0.1));
410
- }
411
- `,Bt=e.div`
412
- flex: 1;
413
- min-width: 0;
414
- display: flex;
415
- flex-direction: column;
416
- gap: 32px;
417
- padding: 8px;
418
- `,Lt=e.div`
419
- font-size: 20px;
420
- font-weight: 600;
421
- line-height: 1.57;
422
- color: ${r.text};
423
- overflow: hidden;
424
- text-overflow: ellipsis;
425
- `,Rt=e(J)`
426
- font-size: 10px;
427
- line-height: 1.43;
428
- color: ${r.muted};
429
- `,Pt=e.div`
430
- display: flex;
431
- align-items: center;
432
- gap: 4px;
433
-
434
- & span {
435
- font-size: 24px;
436
- font-weight: 600;
437
- color: ${r.text2};
438
- }
439
- `,Ft=e(k)`
440
- width: 24px;
441
- height: 24px;
442
- background: ${r.text2};
443
- `,Kt=e.div`
444
- display: flex;
445
- align-items: center;
446
- gap: 8px;
447
- justify-content: center;
448
- background: rgba(255, 162, 90, 0.3);
449
- border-radius: ${V.btn};
450
- padding: 12px 8px;
451
- `,Dt=e.p`
452
- margin: 0;
453
- font-size: 14px;
454
- line-height: 1.334;
455
- color: ${r.text2};
456
- text-align: center;
457
-
458
- & b {
459
- font-weight: 700;
460
- }
461
- `,Qt=e.div`
462
- display: flex;
463
- gap: 12px;
464
- `,Ut=e.button`
465
- flex: 1;
466
- height: 109px;
467
- border: 1px solid ${r.muted2};
468
- background: ${r.media};
469
- border-radius: 16px;
470
- display: flex;
471
- align-items: center;
472
- justify-content: center;
473
- gap: 8px;
474
- cursor: pointer;
475
- transition: border-color 0.12s ease;
476
-
477
- &[data-on] {
478
- border: 4px solid ${r.magenta};
479
- }
480
- `,_t=e(k)`
481
- width: 24px;
482
- height: 24px;
483
- background: ${r.text};
484
- `,Ht=e.span`
485
- font-size: 24px;
486
- font-weight: 500;
487
- color: ${r.text};
488
- `,Ot=e.span`
489
- font-size: 14px;
490
- color: ${r.text};
491
- `,Vt=e.div`
492
- display: flex;
493
- align-items: center;
494
- justify-content: space-between;
495
- border-top: 1px solid ${r.gray4};
496
- padding-top: 12px;
497
- `,Gt=e.div`
498
- display: flex;
499
- align-items: center;
500
- gap: 8px;
501
- font-size: 24px;
502
- font-weight: 700;
503
- color: ${r.text};
504
- `,Yt=e(k)`
505
- width: 30px;
506
- height: 30px;
507
- background: ${r.text};
508
- `,Xt=e.span`
509
- font-size: 14px;
510
- font-weight: 600;
511
- color: ${r.muted1};
512
- `,Zt=e.div`
513
- position: sticky;
514
- bottom: 0;
515
- display: flex;
516
- gap: 12px;
517
- margin-top: -8px;
518
- padding-top: 8px;
519
- background: ${r.white};
520
- `,qt=e.button`
521
- flex: 1;
522
- /* Let the CTAs shrink so their min-content can't widen the modal past the viewport on mobile. */
523
- min-width: 0;
524
- height: 46px;
525
- border-radius: ${V.btn};
526
- border: 0;
527
- cursor: pointer;
528
- font-size: 15px;
529
- font-weight: 600;
530
- letter-spacing: 0.46px;
531
- text-transform: uppercase;
532
- display: inline-flex;
533
- align-items: center;
534
- justify-content: center;
535
- gap: 8px;
536
-
537
- &[data-full] {
538
- width: 100%;
539
- }
540
- &[data-variant='gradient'] {
541
- background: ${O.amethyst};
542
- color: ${r.softWhite};
543
- }
544
- &[data-variant='outline'] {
545
- background: transparent;
546
- border: 2px solid ${r.accent};
547
- color: ${r.accent};
548
- font-size: 13px;
549
- }
550
- &[data-variant='ruby'] {
551
- background: ${r.dclRed};
552
- color: ${r.softWhite};
553
- font-size: 13px;
554
- letter-spacing: 0.61px;
555
- }
556
- // Solid accent fill (the error state's "Try again").
557
- &[data-variant='purple'] {
558
- background: ${r.accent};
559
- color: ${r.softWhite};
560
- font-size: 13px;
561
- }
562
- &:disabled {
563
- opacity: 0.6;
564
- cursor: default;
565
- }
566
- `,Jt=e.img`
567
- width: 61px;
568
- height: 61px;
569
- `,en=e.div`
570
- display: flex;
571
- flex-direction: column;
572
- align-items: center;
573
- gap: 16px;
574
- background: rgba(255, 201, 213, 0.5);
575
- border-radius: 16px;
576
- padding: 24px 16px;
577
- `,tn=e.img`
578
- width: 64px;
579
- height: 80px;
580
- object-fit: contain;
581
- `,nn=e.p`
582
- margin: 0;
583
- text-align: center;
584
- font-size: 20px;
585
- line-height: 1.334;
586
- font-weight: 400;
587
- color: ${r.text2};
588
-
589
- & b {
590
- font-weight: 700;
591
- }
592
- `,an=e.div`
593
- font-size: 20px;
594
- font-weight: 700;
595
- color: ${r.text2};
596
- text-align: center;
597
- `,on=e.div`
598
- width: 100%;
599
- max-width: 456px;
600
- height: 12px;
601
- background: ${r.media};
602
- border-radius: 100px;
603
- overflow: hidden;
604
- `,sn=e.span`
605
- display: block;
606
- height: 100%;
607
- width: 40%;
608
- border-radius: 100px;
609
- background: ${O.amethyst};
610
- animation: buy-modal-progress 1.1s ease-in-out infinite;
611
-
612
- @keyframes buy-modal-progress {
613
- 0% {
614
- transform: translateX(-120%);
615
- }
616
- 100% {
617
- transform: translateX(320%);
618
- }
619
- }
620
-
621
- &[data-step] {
622
- animation: none;
623
- min-width: 12px;
624
- transition: width 0.35s ease;
625
- }
626
- `,rn=e.div`
627
- display: flex;
628
- flex-direction: column;
629
- align-items: center;
630
- gap: 16px;
631
- background: rgba(193, 238, 207, 0.5);
632
- border-radius: 16px;
633
- padding: 24px 16px;
634
-
635
- &[data-wide] {
636
- flex-direction: row;
637
- align-items: center;
638
- gap: 24px;
639
- padding: 16px 24px;
640
- }
641
- @media (max-width: 600px) {
642
- &[data-wide] {
643
- flex-direction: column;
644
- gap: 12px;
645
- padding: 16px;
646
- }
647
- }
648
- `,cn=e.p`
649
- margin: 0;
650
- font-size: 20px;
651
- line-height: 1.334;
652
- color: ${r.text2};
653
- text-align: center;
654
-
655
- & b {
656
- font-weight: 700;
657
- }
658
-
659
- &[data-wide] {
660
- text-align: left;
661
- font-size: 18px;
662
- }
663
- @media (max-width: 600px) {
664
- &[data-wide] {
665
- text-align: center;
666
- }
667
- }
668
- `,{colors:I,media:A}=o,He=e.section`
669
- margin-top: 40px;
670
- `,Oe=e.div`
671
- display: flex;
672
- align-items: center;
673
- justify-content: space-between;
674
- margin-bottom: 20px;
675
- `,Ve=e.h2`
676
- font-size: 22px;
677
- font-weight: 700;
678
- color: ${I.text};
679
- `,Ge=e.button`
680
- display: inline-flex;
681
- align-items: center;
682
- gap: 4px;
683
- background: none;
684
- border: 0;
685
- padding: 0;
686
- color: ${I.accent};
687
- font-weight: 700;
688
- font-size: 13px;
689
- letter-spacing: 0.046em;
690
- text-transform: uppercase;
691
- cursor: pointer;
692
- white-space: nowrap;
693
-
694
- &:hover {
695
- text-decoration: underline;
696
- }
697
- `,Ye=e(Q)`
698
- transform: rotate(-90deg);
699
- `,Xe=e.div`
700
- position: relative;
701
- `,D=e.button`
702
- position: absolute;
703
- top: 112px;
704
- transform: translateY(-50%);
705
- z-index: 5;
706
- width: 53px;
707
- height: 53px;
708
- padding: 0;
709
- border: 0;
710
- background: transparent;
711
- cursor: pointer;
712
- filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.18));
713
- transition:
714
- transform 0.15s ease,
715
- filter 0.15s ease,
716
- opacity 0.15s ease;
717
-
718
- & img {
719
- display: block;
720
- width: 100%;
721
- height: 100%;
722
- }
723
- // Sit the arrows in the page gutter (aligned to the nav's 54px), not over the cards — at -40px their
724
- // inner edge landed ~13px onto the first/last card.
725
- &[data-side='left'] {
726
- left: -53px;
727
- }
728
- &[data-side='right'] {
729
- right: -53px;
730
- }
731
- &[data-side='left'] img {
732
- transform: scaleX(-1);
733
- }
734
- &:hover:not(:disabled) {
735
- transform: translateY(-50%) scale(1.07);
736
- }
737
- &:disabled {
738
- opacity: 0;
739
- pointer-events: none;
740
- }
741
-
742
- @media (prefers-reduced-motion: reduce) {
743
- transition: none;
744
- }
745
- ${A.maxWidth("lg")} {
746
- display: none;
747
- }
748
- `,Ze=e.div`
749
- display: grid;
750
- grid-auto-flow: column;
751
- grid-auto-columns: calc((100% - 64px) / 5);
752
- gap: 16px;
753
- overflow-x: auto;
754
- overflow-y: hidden;
755
- padding: 12px 14px;
756
- margin-left: -14px;
757
- scroll-padding-inline: 14px;
758
- scroll-snap-type: x mandatory;
759
- scrollbar-width: none;
760
-
761
- &::-webkit-scrollbar {
762
- display: none;
763
- }
764
- & > * {
765
- scroll-snap-align: start;
766
- }
767
- ${A.maxWidth("xl")} {
768
- grid-auto-columns: calc((100% - 48px) / 4);
769
- }
770
- ${A.maxWidth("lg")} {
771
- grid-auto-columns: calc((100% - 32px) / 3);
772
- }
773
- ${A.maxWidth("sm")} {
774
- grid-auto-columns: calc((100% - 16px) / 2);
775
- }
776
- `,qe=e.div`
777
- display: flex;
778
- align-items: center;
779
- justify-content: center;
780
- gap: 8px;
781
- margin-top: 18px;
782
- `,Je=e.button`
783
- width: 10px;
784
- height: 10px;
785
- border-radius: 50%;
786
- border: 0;
787
- padding: 0;
788
- background: ${I.lineStrong};
789
- opacity: 0.5;
790
- cursor: pointer;
791
- transition:
792
- opacity 0.12s ease,
793
- background 0.12s ease,
794
- transform 0.12s ease;
795
-
796
- &:hover {
797
- opacity: 0.8;
798
- }
799
- &[data-active] {
800
- background: ${I.accent};
801
- opacity: 1;
802
- transform: scale(1.1);
803
- }
804
- `;function dn({title:a,items:n,onViewAll:i}){const s=v.useRef(null),[l,c]=v.useState(1),[p,x]=v.useState(0),[u,b]=v.useState(!0),[y,w]=v.useState(!1),d=v.useCallback(()=>{const h=s.current;if(!h)return;const{scrollLeft:g,scrollWidth:R,clientWidth:S}=h,P=Math.max(1,Math.ceil(R/S));c(P),x(Math.min(P-1,Math.round(g/S))),b(g<=1),w(g+S>=R-1)},[]);if(v.useEffect(()=>{d();const h=s.current;if(h)return h.addEventListener("scroll",d,{passive:!0}),window.addEventListener("resize",d),()=>{h.removeEventListener("scroll",d),window.removeEventListener("resize",d)}},[d,n.length]),n.length===0)return null;function m(h){const g=s.current;g&&g.scrollBy({left:h*g.clientWidth,behavior:"smooth"})}function $(h){const g=s.current;g&&g.scrollTo({left:h*g.clientWidth,behavior:"smooth"})}return t.jsxs(He,{"data-testid":"carousel",children:[t.jsxs(Oe,{children:[t.jsx(Ve,{children:a}),i?t.jsxs(Ge,{onClick:i,children:[f("collectionCarousel.viewAll"),t.jsx(Ye,{name:"chevron-down",size:16})]}):null]}),t.jsxs(Xe,{children:[t.jsx(D,{"data-side":"left",onClick:()=>m(-1),"aria-label":f("collectionCarousel.scrollLeft"),disabled:u,children:t.jsx("img",{src:F,alt:"","aria-hidden":!0})}),t.jsx(Ze,{ref:s,children:n.map(h=>t.jsx(ee,{item:h},h.id))}),t.jsx(D,{"data-side":"right",onClick:()=>m(1),"aria-label":f("collectionCarousel.scrollRight"),disabled:y,children:t.jsx("img",{src:F,alt:"","aria-hidden":!0})})]}),l>1?t.jsx(qe,{"aria-label":f("collectionCarousel.pages"),children:Array.from({length:l}).map((h,g)=>t.jsx(Je,{"data-active":g===p||void 0,"aria-label":f("collectionCarousel.goToPage",{page:g+1}),"aria-current":g===p?"true":void 0,onClick:()=>$(g)},g))}):null]})}export{z as $,Nt as A,At as B,$t as C,Ht as D,Ot as E,Vt as F,Gt as G,jt as H,Yt as I,Xt as J,lt as K,Jt as L,vt as M,dt as N,dn as O,xt as P,ft as Q,T as R,kt as S,zt as T,ct as U,gt as V,Kt as W,Mt as X,Qe as Y,pt as Z,be as _,Ct as a,rn as a0,cn as a1,mt as a2,ht as a3,bt as a4,yt as b,Wt as c,It as d,St as e,Tt as f,en as g,tn as h,nn as i,Zt as j,qt as k,an as l,ut as m,on as n,sn as o,wt as p,Dt as q,Et as r,Bt as s,Lt as t,Rt as u,Pt as v,Ft as w,Qt as x,Ut as y,_t as z};