@dcl/landing-site 0.5.1-24667963662.commit-e7db321 → 0.5.1-24671743849.commit-e464803
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.
- package/assets/{AnimatedBackground-DBObVbM7.js → AnimatedBackground-B-L76Zza.js} +2 -2
- package/assets/{AnimatedBackground-DBObVbM7.js.map → AnimatedBackground-B-L76Zza.js.map} +1 -1
- package/assets/{AnimatedSection-Dy2CqHWv.js → AnimatedSection-C7y4e9MO.js} +1 -1
- package/assets/{AnimatedSection-Dy2CqHWv.js.map → AnimatedSection-C7y4e9MO.js.map} +1 -1
- package/assets/{ArrowBackIosNew-ClpqCBiA.js → ArrowBackIosNew-m07XLZJ3.js} +1 -1
- package/assets/{ArrowBackIosNew-ClpqCBiA.js.map → ArrowBackIosNew-m07XLZJ3.js.map} +1 -1
- package/assets/{AuthorPage-pJ7qR6DU.js → AuthorPage-HEjEdZnQ.js} +1 -1
- package/assets/{AuthorPage-pJ7qR6DU.js.map → AuthorPage-HEjEdZnQ.js.map} +1 -1
- package/assets/{Badges-DLM7WLac.js → Badges-C3LP2L14.js} +1 -1
- package/assets/{Badges-DLM7WLac.js.map → Badges-C3LP2L14.js.map} +1 -1
- package/assets/{BlogLayout-DdVPRVwT.js → BlogLayout-DOXQWe4b.js} +1 -1
- package/assets/{BlogLayout-DdVPRVwT.js.map → BlogLayout-DOXQWe4b.js.map} +1 -1
- package/assets/{BlogPage-DJ5seXTi.js → BlogPage-BYou2PX1.js} +1 -1
- package/assets/{BlogPage-DJ5seXTi.js.map → BlogPage-BYou2PX1.js.map} +1 -1
- package/assets/{CTAButton-G_F6A2kc.js → CTAButton-DIvER7jP.js} +1 -1
- package/assets/{CTAButton-G_F6A2kc.js.map → CTAButton-DIvER7jP.js.map} +1 -1
- package/assets/{CardContent--XD8e3JI.js → CardContent-CTD4H4a5.js} +1 -1
- package/assets/{CardContent--XD8e3JI.js.map → CardContent-CTD4H4a5.js.map} +1 -1
- package/assets/{CardMedia-DlGw2npC.js → CardMedia-DkSJQ0Yc.js} +1 -1
- package/assets/{CardMedia-DlGw2npC.js.map → CardMedia-DkSJQ0Yc.js.map} +1 -1
- package/assets/{Carousel-GdhNbXzm.js → Carousel-Bz36sWAV.js} +1 -1
- package/assets/{Carousel-GdhNbXzm.js.map → Carousel-Bz36sWAV.js.map} +1 -1
- package/assets/{CategoryPage-DahoLfHy.js → CategoryPage-5N-S_EtG.js} +1 -1
- package/assets/{CategoryPage-DahoLfHy.js.map → CategoryPage-5N-S_EtG.js.map} +1 -1
- package/assets/{CircleAndArrow-C6RrImNk.js → CircleAndArrow-DDOq4aRv.js} +1 -1
- package/assets/{CircleAndArrow-C6RrImNk.js.map → CircleAndArrow-DDOq4aRv.js.map} +1 -1
- package/assets/{CircularProgress-DcmGIHDk.js → CircularProgress-DMJbftwB.js} +1 -1
- package/assets/{CircularProgress-DcmGIHDk.js.map → CircularProgress-DMJbftwB.js.map} +1 -1
- package/assets/{ContentCopy-DZXGXqqg.js → ContentCopy-Die7TKLF.js} +1 -1
- package/assets/{ContentCopy-DZXGXqqg.js.map → ContentCopy-Die7TKLF.js.map} +1 -1
- package/assets/{CreateEventPage-CLt56AWQ.js → CreateEventPage-DB5tddNm.js} +1 -1
- package/assets/{CreateEventPage-CLt56AWQ.js.map → CreateEventPage-DB5tddNm.js.map} +1 -1
- package/assets/{CreatorHubDownload-C7cTzZ_n.js → CreatorHubDownload-DVIZjVQI.js} +1 -1
- package/assets/{CreatorHubDownload-C7cTzZ_n.js.map → CreatorHubDownload-DVIZjVQI.js.map} +1 -1
- package/assets/{CreatorHubDownloadSuccess-DipAyW_h.js → CreatorHubDownloadSuccess-D0krvgHC.js} +1 -1
- package/assets/{CreatorHubDownloadSuccess-DipAyW_h.js.map → CreatorHubDownloadSuccess-D0krvgHC.js.map} +1 -1
- package/assets/DappsShell-DXZfdOqe.js +1 -0
- package/assets/DappsShell-DXZfdOqe.js.map +1 -0
- package/assets/{DownloadSuccessLayout-Di5Qa-ZM.js → DownloadSuccessLayout-B5KxILAh.js} +1 -1
- package/assets/{DownloadSuccessLayout-Di5Qa-ZM.js.map → DownloadSuccessLayout-B5KxILAh.js.map} +1 -1
- package/assets/{Grow-BmtKtm1i.js → Grow-BbhVo4-Q.js} +1 -1
- package/assets/{Grow-BmtKtm1i.js.map → Grow-BbhVo4-Q.js.map} +1 -1
- package/assets/HomePage-CSW35au2.js +3 -0
- package/assets/HomePage-CSW35au2.js.map +1 -0
- package/assets/{InviteFaqs-4RRixgP-.js → InviteFaqs-BZEDqRWz.js} +1 -1
- package/assets/{InviteFaqs-4RRixgP-.js.map → InviteFaqs-BZEDqRWz.js.map} +1 -1
- package/assets/{InvitePage-CtNmz2y6.js → InvitePage-CNSVnM5F.js} +2 -2
- package/assets/{InvitePage-CtNmz2y6.js.map → InvitePage-CNSVnM5F.js.map} +1 -1
- package/assets/{JumpInIcon-DGqWIU4o.js → JumpInIcon-DsVzhXWI.js} +1 -1
- package/assets/{JumpInIcon-DGqWIU4o.js.map → JumpInIcon-DsVzhXWI.js.map} +1 -1
- package/assets/{LegalPageLayout-l-OS4ZYa.js → LegalPageLayout-BGd6IPpz.js} +1 -1
- package/assets/{LegalPageLayout-l-OS4ZYa.js.map → LegalPageLayout-BGd6IPpz.js.map} +1 -1
- package/assets/{Link-B-065zLP.js → Link-C-K90yR0.js} +1 -1
- package/assets/{Link-B-065zLP.js.map → Link-C-K90yR0.js.map} +1 -1
- package/assets/{MenuItem-ChXNXZTb.js → MenuItem-DJBLDqfL.js} +1 -1
- package/assets/{MenuItem-ChXNXZTb.js.map → MenuItem-DJBLDqfL.js.map} +1 -1
- package/assets/{Paper-BJ-Nl60w.js → Paper-BcsxEQWA.js} +1 -1
- package/assets/{Paper-BJ-Nl60w.js.map → Paper-BcsxEQWA.js.map} +1 -1
- package/assets/{PostCard-DajPpr0c.js → PostCard-CalYnkvr.js} +1 -1
- package/assets/{PostCard-DajPpr0c.js.map → PostCard-CalYnkvr.js.map} +1 -1
- package/assets/{PostPage-DIcWHUae.js → PostPage-DYDVBmyR.js} +1 -1
- package/assets/{PostPage-DIcWHUae.js.map → PostPage-DYDVBmyR.js.map} +1 -1
- package/assets/{PostPage.styled-COnewpe7.js → PostPage.styled-B-fdiFDU.js} +3 -3
- package/assets/{PostPage.styled-COnewpe7.js.map → PostPage.styled-B-fdiFDU.js.map} +1 -1
- package/assets/{PreviewPage-Cn2WEC12.js → PreviewPage-BE7HyZTt.js} +1 -1
- package/assets/{PreviewPage-Cn2WEC12.js.map → PreviewPage-BE7HyZTt.js.map} +1 -1
- package/assets/{SEO-DlSMNiIG.js → SEO-P8y8JbS9.js} +1 -1
- package/assets/{SEO-DlSMNiIG.js.map → SEO-P8y8JbS9.js.map} +1 -1
- package/assets/{SearchPage-BsXG81Nf.js → SearchPage-BraoruXd.js} +1 -1
- package/assets/{SearchPage-BsXG81Nf.js.map → SearchPage-BraoruXd.js.map} +1 -1
- package/assets/{SignInRedirect-D3cos3JN.js → SignInRedirect-COcA7WhX.js} +1 -1
- package/assets/{SignInRedirect-D3cos3JN.js.map → SignInRedirect-COcA7WhX.js.map} +1 -1
- package/assets/{SignInRedirect-Q4rx62U6.js → SignInRedirect-CS5Xkoa_.js} +1 -1
- package/assets/{SignInRedirect-Q4rx62U6.js.map → SignInRedirect-CS5Xkoa_.js.map} +1 -1
- package/assets/{Skeleton-D8JfGaaX.js → Skeleton-o93N4ZZz.js} +1 -1
- package/assets/{Skeleton-D8JfGaaX.js.map → Skeleton-o93N4ZZz.js.map} +1 -1
- package/assets/{TwitterEmbed-DeMZkX3S.js → TwitterEmbed-C3w4WnFA.js} +1 -1
- package/assets/{TwitterEmbed-DeMZkX3S.js.map → TwitterEmbed-C3w4WnFA.js.map} +1 -1
- package/assets/{Video-CiAQnrOo.js → Video-DF4ljNzn.js} +1 -1
- package/assets/{Video-CiAQnrOo.js.map → Video-DF4ljNzn.js.map} +1 -1
- package/assets/WearablePreview-5JNPj6PX.js +4 -0
- package/assets/{WearablePreview-CFkTJn9i.js.map → WearablePreview-5JNPj6PX.js.map} +1 -1
- package/assets/{auto-track-_HUtnguT.js → auto-track-UkqTRxye.js} +1 -1
- package/assets/{auto-track-_HUtnguT.js.map → auto-track-UkqTRxye.js.map} +1 -1
- package/assets/{ccip-DNbAsZz-.js → ccip-cqtPy8Xz.js} +1 -1
- package/assets/{ccip-DNbAsZz-.js.map → ccip-cqtPy8Xz.js.map} +1 -1
- package/assets/{createSvgIcon-BLdKozgH.js → createSvgIcon-DH_tCoWL.js} +1 -1
- package/assets/{createSvgIcon-BLdKozgH.js.map → createSvgIcon-DH_tCoWL.js.map} +1 -1
- package/assets/{download-oFyIG5OP.js → download-DQLaB97z.js} +2 -2
- package/assets/{download-oFyIG5OP.js.map → download-DQLaB97z.js.map} +1 -1
- package/assets/{downloadWithIdentity-BYnQvFTU.js → downloadWithIdentity-dAd_6Xjv.js} +1 -1
- package/assets/{downloadWithIdentity-BYnQvFTU.js.map → downloadWithIdentity-dAd_6Xjv.js.map} +1 -1
- package/assets/{events.client-LWw5jd-t.js → events.client-DDwZtrCh.js} +1 -1
- package/assets/{events.client-LWw5jd-t.js.map → events.client-DDwZtrCh.js.map} +1 -1
- package/assets/{index-BCgaMgYt.js → index-71royYUE.js} +1 -1
- package/assets/{index-BCgaMgYt.js.map → index-71royYUE.js.map} +1 -1
- package/assets/{index-CM5Uohwh.js → index-B4ReIH01.js} +1 -1
- package/assets/{index-CM5Uohwh.js.map → index-B4ReIH01.js.map} +1 -1
- package/assets/{index-BLczpcuT.js → index-BQaEVpup.js} +1 -1
- package/assets/{index-BLczpcuT.js.map → index-BQaEVpup.js.map} +1 -1
- package/assets/{index-8P9wWk_Z.js → index-Bi1_667A.js} +1 -1
- package/assets/{index-8P9wWk_Z.js.map → index-Bi1_667A.js.map} +1 -1
- package/assets/{index-DVTinPKV.js → index-Bo0hqmw3.js} +1 -1
- package/assets/{index-DVTinPKV.js.map → index-Bo0hqmw3.js.map} +1 -1
- package/assets/{index-Czi9R2pR.js → index-BpUUMJJL.js} +2 -2
- package/assets/{index-Czi9R2pR.js.map → index-BpUUMJJL.js.map} +1 -1
- package/assets/{index-HZ_h_54S.js → index-BqghIvCc.js} +3 -3
- package/assets/{index-HZ_h_54S.js.map → index-BqghIvCc.js.map} +1 -1
- package/assets/{index-58xN71Vu.js → index-BsykSOSe.js} +1 -1
- package/assets/{index-58xN71Vu.js.map → index-BsykSOSe.js.map} +1 -1
- package/assets/{index-TaLrFo1W.js → index-BxxIREHz.js} +4 -4
- package/assets/{index-TaLrFo1W.js.map → index-BxxIREHz.js.map} +1 -1
- package/assets/{index-u4hJejM4.js → index-C2gGmY4r.js} +1 -1
- package/assets/{index-u4hJejM4.js.map → index-C2gGmY4r.js.map} +1 -1
- package/assets/{index-C1oFIVjZ.js → index-CM-Dg90Z.js} +1 -1
- package/assets/{index-C1oFIVjZ.js.map → index-CM-Dg90Z.js.map} +1 -1
- package/assets/{index-B5OoPTnM.js → index-CYTF85t8.js} +1 -1
- package/assets/{index-B5OoPTnM.js.map → index-CYTF85t8.js.map} +1 -1
- package/assets/{index-DbaTk9pY.js → index-CZS6DsWa.js} +1 -1
- package/assets/{index-DbaTk9pY.js.map → index-CZS6DsWa.js.map} +1 -1
- package/assets/{index-BrJrrR0-.js → index-C_C2-CZT.js} +1 -1
- package/assets/{index-BrJrrR0-.js.map → index-C_C2-CZT.js.map} +1 -1
- package/assets/{index-BqLCay_i.js → index-D1lz72ps.js} +1 -1
- package/assets/{index-BqLCay_i.js.map → index-D1lz72ps.js.map} +1 -1
- package/assets/{index-Bs8_TMuc.js → index-D7GZzk0M.js} +1 -1
- package/assets/{index-Bs8_TMuc.js.map → index-D7GZzk0M.js.map} +1 -1
- package/assets/{index-B9J5C5eN.js → index-DNCSZ9Ly.js} +1 -1
- package/assets/{index-B9J5C5eN.js.map → index-DNCSZ9Ly.js.map} +1 -1
- package/assets/{index-CREsCA81.js → index-DRcrw7Py.js} +1 -1
- package/assets/{index-CREsCA81.js.map → index-DRcrw7Py.js.map} +1 -1
- package/assets/{index-BQ4lI5xX.js → index-DaRevScO.js} +3 -3
- package/assets/{index-BQ4lI5xX.js.map → index-DaRevScO.js.map} +1 -1
- package/assets/{index-DfT-Sjnk.js → index-Dfjt7DKD.js} +1 -1
- package/assets/{index-DfT-Sjnk.js.map → index-Dfjt7DKD.js.map} +1 -1
- package/assets/{index-BqTu8LQP.js → index-DqPgEQko.js} +1 -1
- package/assets/{index-BqTu8LQP.js.map → index-DqPgEQko.js.map} +1 -1
- package/assets/{index-B7Bs_7eg.js → index-DsiqoitH.js} +1 -1
- package/assets/{index-B7Bs_7eg.js.map → index-DsiqoitH.js.map} +1 -1
- package/assets/{index-C5I7_h2M.js → index-LYkhcWuH.js} +1 -1
- package/assets/{index-C5I7_h2M.js.map → index-LYkhcWuH.js.map} +1 -1
- package/assets/{index-C8kkckun.js → index-Oqf5zL8M.js} +1 -1
- package/assets/{index-C8kkckun.js.map → index-Oqf5zL8M.js.map} +1 -1
- package/assets/{index-BeEdEvw9.js → index-bKbknVRg.js} +1 -1
- package/assets/{index-BeEdEvw9.js.map → index-bKbknVRg.js.map} +1 -1
- package/assets/{index-CXRPJhvA.js → index-ezM_J58e.js} +1 -1
- package/assets/{index-CXRPJhvA.js.map → index-ezM_J58e.js.map} +1 -1
- package/assets/{index-g0lykA2w.js → index-mXhpN3cS.js} +1 -1
- package/assets/{index-g0lykA2w.js.map → index-mXhpN3cS.js.map} +1 -1
- package/assets/{index-lCIXH0YF.js → index-n-p43kD4.js} +1 -1
- package/assets/{index-lCIXH0YF.js.map → index-n-p43kD4.js.map} +1 -1
- package/assets/{index-C6h0Y6Bf.js → index-ppzLK-bi.js} +1 -1
- package/assets/{index-C6h0Y6Bf.js.map → index-ppzLK-bi.js.map} +1 -1
- package/assets/{index-Ct6j5i60.js → index-pvI36Hvg.js} +1 -1
- package/assets/{index-Ct6j5i60.js.map → index-pvI36Hvg.js.map} +1 -1
- package/assets/{index-Dpp1tkiC.js → index-qFakdhOO.js} +1 -1
- package/assets/{index-Dpp1tkiC.js.map → index-qFakdhOO.js.map} +1 -1
- package/assets/{index-ZDIYW364.js → index-wq0aztJv.js} +1 -1
- package/assets/{index-ZDIYW364.js.map → index-wq0aztJv.js.map} +1 -1
- package/assets/{profile.client-Dv7yHizc.js → profile.client-CCf--pbP.js} +1 -1
- package/assets/{profile.client-Dv7yHizc.js.map → profile.client-CCf--pbP.js.map} +1 -1
- package/assets/{shared.styled-DZDSiscg.js → shared.styled-Csb0ydX4.js} +1 -1
- package/assets/{shared.styled-DZDSiscg.js.map → shared.styled-Csb0ydX4.js.map} +1 -1
- package/assets/{store-DytzPwIW.js → store-CbX2mp3S.js} +1 -1
- package/assets/{store-DytzPwIW.js.map → store-CbX2mp3S.js.map} +1 -1
- package/assets/{url-CwO7t7Da.js → url-DMbF6Zco.js} +1 -1
- package/assets/{url-CwO7t7Da.js.map → url-DMbF6Zco.js.map} +1 -1
- package/assets/{useAuthIdentity-BJka2D_h.js → useAuthIdentity-CIDWXFI8.js} +1 -1
- package/assets/{useAuthIdentity-BJka2D_h.js.map → useAuthIdentity-CIDWXFI8.js.map} +1 -1
- package/assets/{useCreatorHubDownload-htSWq2gm.js → useCreatorHubDownload-CQ5sircD.js} +1 -1
- package/assets/{useCreatorHubDownload-htSWq2gm.js.map → useCreatorHubDownload-CQ5sircD.js.map} +1 -1
- package/assets/{useInfiniteBlogPosts-b1i6T88U.js → useInfiniteBlogPosts-DspRbflz.js} +1 -1
- package/assets/{useInfiniteBlogPosts-b1i6T88U.js.map → useInfiniteBlogPosts-DspRbflz.js.map} +1 -1
- package/assets/{useSlot-DcCKMoK9.js → useSlot-BerGUD87.js} +1 -1
- package/assets/{useSlot-DcCKMoK9.js.map → useSlot-BerGUD87.js.map} +1 -1
- package/assets/{utils-DyplVMyL.js → utils-CYqFUJMv.js} +1 -1
- package/assets/{utils-DyplVMyL.js.map → utils-CYqFUJMv.js.map} +1 -1
- package/index.html +17 -17
- package/package.json +3 -3
- package/assets/DappsShell-Bq4UFy3b.js +0 -1
- package/assets/DappsShell-Bq4UFy3b.js.map +0 -1
- package/assets/HomePage-BWbNRRBq.js +0 -3
- package/assets/HomePage-BWbNRRBq.js.map +0 -1
- package/assets/WearablePreview-CFkTJn9i.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as p,a as l,x as m,y as g,j as i,v as c}from"./index-
|
|
1
|
+
import{s as p,a as l,x as m,y as g,j as i,v as c}from"./index-DaRevScO.js";import{r as d}from"./vendor-router-D_36sTKu.js";import"./vendor-ua-D7qqAxdq.js";import{B as u}from"./BlogLayout-DOXQWe4b.js";import{u as h,P as x}from"./useInfiniteBlogPosts-DspRbflz.js";import{S as f}from"./SEO-P8y8JbS9.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-intl-D2lXWsDp.js";import"./store-CbX2mp3S.js";import"./events.client-DDwZtrCh.js";import"./PostCard-CalYnkvr.js";import"./CardContent-CTD4H4a5.js";import"./Paper-BcsxEQWA.js";import"./Skeleton-o93N4ZZz.js";const j=p(l)(({theme:o})=>({textAlign:"center",paddingTop:o.spacing(4),paddingBottom:o.spacing(4)})),Q=()=>{const{t:o}=m(),s=g(),{posts:r,isLoadingInitial:e,error:a}=h(),t=d.useMemo(()=>r.find(n=>!("isPlaceholder"in n)),[r]);return i.jsxs(u,{showBlogNavigation:!0,activeCategory:"all_articles",children:[i.jsx(f,{title:o("blog.title"),description:t?.description||o("blog.default_description"),image:t?.image?{url:t.image.url,width:t.image.width,height:t.image.height,alt:t.title}:void 0}),a?i.jsx(j,{children:i.jsx(c,{color:"error",children:o("error.load_posts")})}):i.jsx(x,{posts:r,loading:e,hasMainPost:!s})]})};export{Q as BlogPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlogPage-
|
|
1
|
+
{"version":3,"file":"BlogPage-BYou2PX1.js","sources":["../../src/pages/blog/BlogPage.styled.ts","../../src/pages/blog/BlogPage.tsx"],"sourcesContent":["import { Box, styled } from 'decentraland-ui2'\n\nconst ErrorContainer = styled(Box)(({ theme }) => ({\n textAlign: 'center',\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(4)\n}))\n\nexport { ErrorContainer }\n","import { useMemo } from 'react'\nimport { useTranslation } from '@dcl/hooks'\nimport { useMobileMediaQuery } from 'decentraland-ui2/dist/components/Media'\nimport { Typography } from 'decentraland-ui2'\nimport { BlogLayout } from '../../components/blog/BlogLayout'\nimport { PostList } from '../../components/blog/PostList'\nimport { SEO } from '../../components/blog/SEO/SEO'\nimport { useInfiniteBlogPosts } from '../../features/blog/useInfiniteBlogPosts'\nimport type { BlogPost } from '../../shared/blog/types/blog.domain'\nimport { ErrorContainer } from './BlogPage.styled'\n\nexport const BlogPage = () => {\n const { t } = useTranslation()\n const isMobile = useMobileMediaQuery()\n const { posts, isLoadingInitial, error } = useInfiniteBlogPosts()\n\n const firstPost = useMemo(() => {\n const post = posts.find((p): p is BlogPost => !('isPlaceholder' in p))\n return post\n }, [posts])\n\n return (\n <BlogLayout showBlogNavigation activeCategory=\"all_articles\">\n <SEO\n title={t('blog.title')}\n description={firstPost?.description || t('blog.default_description')}\n image={\n firstPost?.image\n ? {\n url: firstPost.image.url,\n width: firstPost.image.width,\n height: firstPost.image.height,\n alt: firstPost.title\n }\n : undefined\n }\n />\n {error ? (\n <ErrorContainer>\n <Typography color=\"error\">{t('error.load_posts')}</Typography>\n </ErrorContainer>\n ) : (\n <PostList posts={posts} loading={isLoadingInitial} hasMainPost={!isMobile} />\n )}\n </BlogLayout>\n )\n}\n"],"names":["ErrorContainer","styled","Box","theme","BlogPage","t","useTranslation","isMobile","useMobileMediaQuery","posts","isLoadingInitial","error","useInfiniteBlogPosts","firstPost","useMemo","p","jsxs","BlogLayout","jsx","SEO","Typography","PostList"],"mappings":"unBAEA,MAAMA,EAAiBC,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CACjD,UAAW,SACX,WAAYA,EAAM,QAAQ,CAAC,EAC3B,cAAeA,EAAM,QAAQ,CAAC,CAChC,EAAE,ECKWC,EAAW,IAAM,CAC5B,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAA,EACRC,EAAWC,EAAA,EACX,CAAE,MAAAC,EAAO,iBAAAC,EAAkB,MAAAC,CAAA,EAAUC,EAAA,EAErCC,EAAYC,EAAAA,QAAQ,IACXL,EAAM,KAAMM,GAAqB,EAAE,kBAAmBA,EAAE,EAEpE,CAACN,CAAK,CAAC,EAEV,OACEO,EAAAA,KAACC,EAAA,CAAW,mBAAkB,GAAC,eAAe,eAC5C,SAAA,CAAAC,EAAAA,IAACC,EAAA,CACC,MAAOd,EAAE,YAAY,EACrB,YAAaQ,GAAW,aAAeR,EAAE,0BAA0B,EACnE,MACEQ,GAAW,MACP,CACE,IAAKA,EAAU,MAAM,IACrB,MAAOA,EAAU,MAAM,MACvB,OAAQA,EAAU,MAAM,OACxB,IAAKA,EAAU,KAAA,EAEjB,MAAA,CAAA,EAGPF,EACCO,EAAAA,IAAClB,EAAA,CACC,eAACoB,EAAA,CAAW,MAAM,QAAS,SAAAf,EAAE,kBAAkB,EAAE,CAAA,CACnD,QAECgB,EAAA,CAAS,MAAAZ,EAAc,QAASC,EAAkB,YAAa,CAACH,CAAA,CAAU,CAAA,EAE/E,CAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as a,B as x,a as b,j as o}from"./index-
|
|
1
|
+
import{s as a,B as x,a as b,j as o}from"./index-DaRevScO.js";import{r as f}from"./vendor-router-D_36sTKu.js";import{C as g}from"./CircularProgress-DMJbftwB.js";const m=a(x)(({theme:t})=>({"&.MuiButton-sizeMedium.MuiButton-containedPrimary":{padding:t.spacing(3,6),fontSize:"19.89px",fontWeight:600,lineHeight:"31.82px",letterSpacing:"0.61px",textTransform:"uppercase",borderRadius:t.shape.borderRadius,boxShadow:"rgba(0, 0, 0, 0.4) 0px 2px 8px","& .MuiButton-icon.MuiButton-endIcon":{marginLeft:t.spacing(5.25)}},"&.MuiButton-sizeMedium.MuiButton-containedPrimary:not(.Mui-disabled):not(.Mui-focusVisible):hover":{backgroundColor:`${t.palette.primary.main} !important`,boxShadow:"rgba(0, 0, 0, 0.4) 0px 2px 8px"},"&::before":{content:"''",position:"absolute",top:0,right:0,bottom:0,left:0,border:`4px solid ${t.palette.common.white}`,borderRadius:"14px",opacity:0,transition:t.transitions.create(["top","right","bottom","left","opacity"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeInOut})},"&:hover":{"&::before":{opacity:1,top:"-7.5px",right:"-7.5px",bottom:"-7.5px",left:"-7.5px"}}})),h=a(b)({display:"flex",flexDirection:"column","& span":{display:"block",fontSize:"14px",fontWeight:400,lineHeight:"20.02px"}}),B=f.memo(t=>{const{href:e,onClick:r,label:s,subLabel:n,place:p,event:l,isFullWidth:d,startIcon:u,endIcon:c,isLoading:i}=t;return o.jsxs(m,{variant:"contained","data-place":p,"data-event":l||"click",href:e,onClick:r,fullWidth:d,startIcon:u,endIcon:c,disabled:i,children:[i&&o.jsx(g,{size:24,color:"inherit"}),!i&&o.jsxs(h,{children:[s,n&&o.jsx("span",{children:n})]})]})});B.displayName="CTAButton";export{B as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CTAButton-
|
|
1
|
+
{"version":3,"file":"CTAButton-DIvER7jP.js","sources":["../../src/components/Buttons/CTAButton.styled.ts","../../src/components/Buttons/CTAButton.tsx"],"sourcesContent":["import { Box, Button, styled } from 'decentraland-ui2'\n\nconst CTAButtonStyled = styled(Button)(({ theme }) => ({\n ['&.MuiButton-sizeMedium.MuiButton-containedPrimary']: {\n padding: theme.spacing(3, 6),\n fontSize: '19.89px',\n fontWeight: 600,\n lineHeight: '31.82px',\n letterSpacing: '0.61px',\n textTransform: 'uppercase',\n borderRadius: theme.shape.borderRadius,\n boxShadow: 'rgba(0, 0, 0, 0.4) 0px 2px 8px',\n ['& .MuiButton-icon.MuiButton-endIcon']: {\n marginLeft: theme.spacing(5.25)\n }\n },\n ['&.MuiButton-sizeMedium.MuiButton-containedPrimary:not(.Mui-disabled):not(.Mui-focusVisible):hover']: {\n backgroundColor: `${theme.palette.primary.main} !important`,\n boxShadow: 'rgba(0, 0, 0, 0.4) 0px 2px 8px'\n },\n ['&::before']: {\n content: \"''\",\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n border: `4px solid ${theme.palette.common.white}`,\n borderRadius: '14px',\n opacity: 0,\n transition: theme.transitions.create(['top', 'right', 'bottom', 'left', 'opacity'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeInOut\n })\n },\n ['&:hover']: {\n ['&::before']: {\n opacity: 1,\n top: '-7.5px',\n right: '-7.5px',\n bottom: '-7.5px',\n left: '-7.5px'\n }\n }\n}))\n\nconst CTAButtonLabelContainer = styled(Box)({\n display: 'flex',\n flexDirection: 'column',\n ['& span']: {\n display: 'block',\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '20.02px'\n }\n})\n\nexport { CTAButtonLabelContainer, CTAButtonStyled }\n","import { memo } from 'react'\nimport { CircularProgress } from 'decentraland-ui2'\nimport { CTAButtonProps } from './CTAButton.types'\nimport { CTAButtonLabelContainer, CTAButtonStyled } from './CTAButton.styled'\n\nconst CTAButton = memo((props: CTAButtonProps) => {\n const { href, onClick, label, subLabel, place, event, isFullWidth, startIcon, endIcon, isLoading } = props\n return (\n <CTAButtonStyled\n variant=\"contained\"\n data-place={place}\n data-event={event || 'click'}\n href={href}\n onClick={onClick}\n fullWidth={isFullWidth}\n startIcon={startIcon}\n endIcon={endIcon}\n disabled={isLoading}\n >\n {isLoading && <CircularProgress size={24} color=\"inherit\" />}\n {!isLoading && (\n <CTAButtonLabelContainer>\n {label}\n {subLabel && <span>{subLabel}</span>}\n </CTAButtonLabelContainer>\n )}\n </CTAButtonStyled>\n )\n})\n\nCTAButton.displayName = 'CTAButton'\n\nexport { CTAButton }\n"],"names":["CTAButtonStyled","styled","Button","theme","CTAButtonLabelContainer","Box","CTAButton","memo","props","href","onClick","label","subLabel","place","event","isFullWidth","startIcon","endIcon","isLoading","jsxs","jsx","CircularProgress"],"mappings":"gKAEA,MAAMA,EAAkBC,EAAOC,CAAM,EAAE,CAAC,CAAE,MAAAC,MAAa,CACpD,oDAAsD,CACrD,QAASA,EAAM,QAAQ,EAAG,CAAC,EAC3B,SAAU,UACV,WAAY,IACZ,WAAY,UACZ,cAAe,SACf,cAAe,YACf,aAAcA,EAAM,MAAM,aAC1B,UAAW,iCACV,sCAAwC,CACvC,WAAYA,EAAM,QAAQ,IAAI,CAAA,CAChC,EAED,oGAAsG,CACrG,gBAAiB,GAAGA,EAAM,QAAQ,QAAQ,IAAI,cAC9C,UAAW,gCAAA,EAEZ,YAAc,CACb,QAAS,KACT,SAAU,WACV,IAAK,EACL,MAAO,EACP,OAAQ,EACR,KAAM,EACN,OAAQ,aAAaA,EAAM,QAAQ,OAAO,KAAK,GAC/C,aAAc,OACd,QAAS,EACT,WAAYA,EAAM,YAAY,OAAO,CAAC,MAAO,QAAS,SAAU,OAAQ,SAAS,EAAG,CAClF,SAAUA,EAAM,YAAY,SAAS,QACrC,OAAQA,EAAM,YAAY,OAAO,SAAA,CAClC,CAAA,EAEF,UAAY,CACV,YAAc,CACb,QAAS,EACT,IAAK,SACL,MAAO,SACP,OAAQ,SACR,KAAM,QAAA,CACR,CAEJ,EAAE,EAEIC,EAA0BH,EAAOI,CAAG,EAAE,CAC1C,QAAS,OACT,cAAe,SACd,SAAW,CACV,QAAS,QACT,SAAU,OACV,WAAY,IACZ,WAAY,SAAA,CAEhB,CAAC,EClDKC,EAAYC,EAAAA,KAAMC,GAA0B,CAChD,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAAC,EAAO,SAAAC,EAAU,MAAAC,EAAO,MAAAC,EAAO,YAAAC,EAAa,UAAAC,EAAW,QAAAC,EAAS,UAAAC,CAAA,EAAcV,EACrG,OACEW,EAAAA,KAACnB,EAAA,CACC,QAAQ,YACR,aAAYa,EACZ,aAAYC,GAAS,QACrB,KAAAL,EACA,QAAAC,EACA,UAAWK,EACX,UAAAC,EACA,QAAAC,EACA,SAAUC,EAET,SAAA,CAAAA,GAAaE,EAAAA,IAACC,EAAA,CAAiB,KAAM,GAAI,MAAM,UAAU,EACzD,CAACH,GACAC,EAAAA,KAACf,EAAA,CACE,SAAA,CAAAO,EACAC,GAAYQ,EAAAA,IAAC,OAAA,CAAM,SAAAR,CAAA,CAAS,CAAA,CAAA,CAC/B,CAAA,CAAA,CAAA,CAIR,CAAC,EAEDN,EAAU,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as d,C,D as u,_ as p,c as n,j as m,E as f,G as x,s as v}from"./index-
|
|
1
|
+
import{A as d,C,D as u,_ as p,c as n,j as m,E as f,G as x,s as v}from"./index-DaRevScO.js";import{r as R}from"./vendor-router-D_36sTKu.js";import{P as M}from"./Paper-BcsxEQWA.js";function y(s){return d("MuiCard",s)}C("MuiCard",["root"]);const g=["className","raised"],N=s=>{const{classes:t}=s;return x({root:["root"]},y,t)},U=v(M,{name:"MuiCard",slot:"Root",overridesResolver:(s,t)=>t.root})(()=>({overflow:"hidden"})),S=R.forwardRef(function(t,e){const o=u({props:t,name:"MuiCard"}),{className:c,raised:r=!1}=o,i=p(o,g),a=n({},o,{raised:r}),l=N(a);return m.jsx(U,n({className:f(l.root,c),elevation:r?8:void 0,ref:e,ownerState:a},i))});function h(s){return d("MuiCardContent",s)}C("MuiCardContent",["root"]);const j=["className","component"],w=s=>{const{classes:t}=s;return x({root:["root"]},h,t)},_=v("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(s,t)=>t.root})(()=>({padding:16,"&:last-child":{paddingBottom:24}})),$=R.forwardRef(function(t,e){const o=u({props:t,name:"MuiCardContent"}),{className:c,component:r="div"}=o,i=p(o,j),a=n({},o,{component:r}),l=w(a);return m.jsx(_,n({as:r,className:f(l.root,c),ownerState:a,ref:e},i))});export{S as C,$ as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContent
|
|
1
|
+
{"version":3,"file":"CardContent-CTD4H4a5.js","sources":["../../node_modules/decentraland-ui2/node_modules/@mui/material/Card/cardClasses.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/Card/Card.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/CardContent/cardContentClasses.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/CardContent/CardContent.js"],"sourcesContent":["import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardUtilityClass(slot) {\n return generateUtilityClass('MuiCard', slot);\n}\nconst cardClasses = generateUtilityClasses('MuiCard', ['root']);\nexport default cardClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"raised\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Paper from '../Paper';\nimport { getCardUtilityClass } from './cardClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardUtilityClass, classes);\n};\nconst CardRoot = styled(Paper, {\n name: 'MuiCard',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n overflow: 'hidden'\n };\n});\nconst Card = /*#__PURE__*/React.forwardRef(function Card(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCard'\n });\n const {\n className,\n raised = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n raised\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardRoot, _extends({\n className: clsx(classes.root, className),\n elevation: raised ? 8 : undefined,\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the card will use raised styling.\n * @default false\n */\n raised: chainPropTypes(PropTypes.bool, props => {\n if (props.raised && props.variant === 'outlined') {\n return new Error('MUI: Combining `raised={true}` with `variant=\"outlined\"` has no effect.');\n }\n return null;\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Card;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardContentUtilityClass(slot) {\n return generateUtilityClass('MuiCardContent', slot);\n}\nconst cardContentClasses = generateUtilityClasses('MuiCardContent', ['root']);\nexport default cardContentClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getCardContentUtilityClass } from './cardContentClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardContentUtilityClass, classes);\n};\nconst CardContentRoot = styled('div', {\n name: 'MuiCardContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n };\n});\nconst CardContent = /*#__PURE__*/React.forwardRef(function CardContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardContent'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardContentRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardContent;"],"names":["getCardUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","useUtilityClasses","ownerState","classes","composeClasses","CardRoot","styled","Paper","props","styles","Card","React.forwardRef","inProps","ref","useDefaultProps","className","raised","other","_objectWithoutPropertiesLoose","_extends","_jsx","clsx","getCardContentUtilityClass","CardContentRoot","CardContent","component"],"mappings":"mLAEO,SAASA,EAAoBC,EAAM,CACxC,OAAOC,EAAqB,UAAWD,CAAI,CAC7C,CACoBE,EAAuB,UAAW,CAAC,MAAM,CAAC,ECD9D,MAAMC,EAAY,CAAC,YAAa,QAAQ,EAWlCC,EAAoBC,GAAc,CACtC,KAAM,CACJ,QAAAC,CAAA,EACED,EAIJ,OAAOE,EAHO,CACZ,KAAM,CAAC,MAAM,CAAA,EAEcR,EAAqBO,CAAO,CAC3D,EACME,EAAWC,EAAOC,EAAO,CAC7B,KAAM,UACN,KAAM,OACN,kBAAmB,CAACC,EAAOC,IAAWA,EAAO,IAC/C,CAAC,EAAE,KACM,CACL,SAAU,QAAA,EAEb,EACKC,EAAoBC,EAAAA,WAAiB,SAAcC,EAASC,EAAK,CACrE,MAAML,EAAQM,EAAgB,CAC5B,MAAOF,EACP,KAAM,SAAA,CACP,EACK,CACF,UAAAG,EACA,OAAAC,EAAS,EAAA,EACPR,EACJS,EAAQC,EAA8BV,EAAOR,CAAS,EAClDE,EAAaiB,EAAS,CAAA,EAAIX,EAAO,CACrC,OAAAQ,CAAA,CACD,EACKb,EAAUF,EAAkBC,CAAU,EAC5C,OAAoBkB,EAAAA,IAAKf,EAAUc,EAAS,CAC1C,UAAWE,EAAKlB,EAAQ,KAAMY,CAAS,EACvC,UAAWC,EAAS,EAAI,OACxB,IAAAH,EACA,WAAAX,CAAA,EACCe,CAAK,CAAC,CACX,CAAC,ECnDM,SAASK,EAA2BzB,EAAM,CAC/C,OAAOC,EAAqB,iBAAkBD,CAAI,CACpD,CAC2BE,EAAuB,iBAAkB,CAAC,MAAM,CAAC,ECD5E,MAAMC,EAAY,CAAC,YAAa,WAAW,EASrCC,EAAoBC,GAAc,CACtC,KAAM,CACJ,QAAAC,CAAA,EACED,EAIJ,OAAOE,EAHO,CACZ,KAAM,CAAC,MAAM,CAAA,EAEckB,EAA4BnB,CAAO,CAClE,EACMoB,EAAkBjB,EAAO,MAAO,CACpC,KAAM,iBACN,KAAM,OACN,kBAAmB,CAACE,EAAOC,IAAWA,EAAO,IAC/C,CAAC,EAAE,KACM,CACL,QAAS,GACT,eAAgB,CACd,cAAe,EAAA,CACjB,EAEH,EACKe,EAA2Bb,EAAAA,WAAiB,SAAqBC,EAASC,EAAK,CACnF,MAAML,EAAQM,EAAgB,CAC5B,MAAOF,EACP,KAAM,gBAAA,CACP,EACK,CACF,UAAAG,EACA,UAAAU,EAAY,KAAA,EACVjB,EACJS,EAAQC,EAA8BV,EAAOR,CAAS,EAClDE,EAAaiB,EAAS,CAAA,EAAIX,EAAO,CACrC,UAAAiB,CAAA,CACD,EACKtB,EAAUF,EAAkBC,CAAU,EAC5C,OAAoBkB,EAAAA,IAAKG,EAAiBJ,EAAS,CACjD,GAAIM,EACJ,UAAWJ,EAAKlB,EAAQ,KAAMY,CAAS,EACvC,WAAAb,EACA,IAAAW,CAAA,EACCI,CAAK,CAAC,CACX,CAAC","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as M,C as f,D as x,_ as v,c,j as y,E as b,G as E,s as I}from"./index-
|
|
1
|
+
import{A as M,C as f,D as x,_ as v,c,j as y,E as b,G as E,s as I}from"./index-DaRevScO.js";import{r as N}from"./vendor-router-D_36sTKu.js";function O(e){return M("MuiCardMedia",e)}f("MuiCardMedia",["root","media","img"]);const R=["children","className","component","image","src","style"],_=e=>{const{classes:o,isMediaComponent:t,isImageComponent:s}=e;return E({root:["root",t&&"media",s&&"img"]},O,o)},h=I("div",{name:"MuiCardMedia",slot:"Root",overridesResolver:(e,o)=>{const{ownerState:t}=e,{isMediaComponent:s,isImageComponent:a}=t;return[o.root,s&&o.media,a&&o.img]}})(({ownerState:e})=>c({display:"block",backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center"},e.isMediaComponent&&{width:"100%"},e.isImageComponent&&{objectFit:"cover"})),j=["video","audio","picture","iframe","img"],k=["picture","img"],U=N.forwardRef(function(o,t){const s=x({props:o,name:"MuiCardMedia"}),{children:a,className:l,component:i="div",image:n,src:p,style:d}=s,C=v(s,R),r=j.indexOf(i)!==-1,u=!r&&n?c({backgroundImage:`url("${n}")`},d):d,m=c({},s,{component:i,isMediaComponent:r,isImageComponent:k.indexOf(i)!==-1}),g=_(m);return y.jsx(h,c({className:b(g.root,l),as:i,role:!r&&n?"img":void 0,ref:t,style:u,ownerState:m,src:r?n||p:void 0},C,{children:a}))});export{U as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardMedia-
|
|
1
|
+
{"version":3,"file":"CardMedia-DkSJQ0Yc.js","sources":["../../node_modules/decentraland-ui2/node_modules/@mui/material/CardMedia/cardMediaClasses.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/CardMedia/CardMedia.js"],"sourcesContent":["import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardMediaUtilityClass(slot) {\n return generateUtilityClass('MuiCardMedia', slot);\n}\nconst cardMediaClasses = generateUtilityClasses('MuiCardMedia', ['root', 'media', 'img']);\nexport default cardMediaClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"image\", \"src\", \"style\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getCardMediaUtilityClass } from './cardMediaClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n isMediaComponent,\n isImageComponent\n } = ownerState;\n const slots = {\n root: ['root', isMediaComponent && 'media', isImageComponent && 'img']\n };\n return composeClasses(slots, getCardMediaUtilityClass, classes);\n};\nconst CardMediaRoot = styled('div', {\n name: 'MuiCardMedia',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n isMediaComponent,\n isImageComponent\n } = ownerState;\n return [styles.root, isMediaComponent && styles.media, isImageComponent && styles.img];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'block',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center'\n}, ownerState.isMediaComponent && {\n width: '100%'\n}, ownerState.isImageComponent && {\n // ⚠️ object-fit is not supported by IE11.\n objectFit: 'cover'\n}));\nconst MEDIA_COMPONENTS = ['video', 'audio', 'picture', 'iframe', 'img'];\nconst IMAGE_COMPONENTS = ['picture', 'img'];\nconst CardMedia = /*#__PURE__*/React.forwardRef(function CardMedia(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardMedia'\n });\n const {\n children,\n className,\n component = 'div',\n image,\n src,\n style\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const isMediaComponent = MEDIA_COMPONENTS.indexOf(component) !== -1;\n const composedStyle = !isMediaComponent && image ? _extends({\n backgroundImage: `url(\"${image}\")`\n }, style) : style;\n const ownerState = _extends({}, props, {\n component,\n isMediaComponent,\n isImageComponent: IMAGE_COMPONENTS.indexOf(component) !== -1\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardMediaRoot, _extends({\n className: clsx(classes.root, className),\n as: component,\n role: !isMediaComponent && image ? 'img' : undefined,\n ref: ref,\n style: composedStyle,\n ownerState: ownerState,\n src: isMediaComponent ? image || src : undefined\n }, other, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardMedia.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: chainPropTypes(PropTypes.node, props => {\n if (!props.children && !props.image && !props.src && !props.component) {\n return new Error('MUI: Either `children`, `image`, `src` or `component` prop must be specified.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Image to be displayed as a background image.\n * Either `image` or `src` prop must be specified.\n * Note that caller must specify height otherwise the image will not be visible.\n */\n image: PropTypes.string,\n /**\n * An alias for `image` property.\n * Available only with media components.\n * Media components: `video`, `audio`, `picture`, `iframe`, `img`.\n */\n src: PropTypes.string,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardMedia;"],"names":["getCardMediaUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","useUtilityClasses","ownerState","classes","isMediaComponent","isImageComponent","composeClasses","CardMediaRoot","styled","props","styles","_extends","MEDIA_COMPONENTS","IMAGE_COMPONENTS","CardMedia","React.forwardRef","inProps","ref","useDefaultProps","children","className","component","image","src","style","other","_objectWithoutPropertiesLoose","composedStyle","_jsx","clsx"],"mappings":"2IAEO,SAASA,EAAyBC,EAAM,CAC7C,OAAOC,EAAqB,eAAgBD,CAAI,CAClD,CACyBE,EAAuB,eAAgB,CAAC,OAAQ,QAAS,KAAK,CAAC,ECDxF,MAAMC,EAAY,CAAC,WAAY,YAAa,YAAa,QAAS,MAAO,OAAO,EAU1EC,EAAoBC,GAAc,CACtC,KAAM,CACJ,QAAAC,EACA,iBAAAC,EACA,iBAAAC,CAAA,EACEH,EAIJ,OAAOI,EAHO,CACZ,KAAM,CAAC,OAAQF,GAAoB,QAASC,GAAoB,KAAK,CAAA,EAE1CT,EAA0BO,CAAO,CAChE,EACMI,EAAgBC,EAAO,MAAO,CAClC,KAAM,eACN,KAAM,OACN,kBAAmB,CAACC,EAAOC,IAAW,CACpC,KAAM,CACJ,WAAAR,CAAA,EACEO,EACE,CACJ,iBAAAL,EACA,iBAAAC,CAAA,EACEH,EACJ,MAAO,CAACQ,EAAO,KAAMN,GAAoBM,EAAO,MAAOL,GAAoBK,EAAO,GAAG,CACvF,CACF,CAAC,EAAE,CAAC,CACF,WAAAR,CACF,IAAMS,EAAS,CACb,QAAS,QACT,eAAgB,QAChB,iBAAkB,YAClB,mBAAoB,QACtB,EAAGT,EAAW,kBAAoB,CAChC,MAAO,MACT,EAAGA,EAAW,kBAAoB,CAEhC,UAAW,OACb,CAAC,CAAC,EACIU,EAAmB,CAAC,QAAS,QAAS,UAAW,SAAU,KAAK,EAChEC,EAAmB,CAAC,UAAW,KAAK,EACpCC,EAAyBC,EAAAA,WAAiB,SAAmBC,EAASC,EAAK,CAC/E,MAAMR,EAAQS,EAAgB,CAC5B,MAAOF,EACP,KAAM,cAAA,CACP,EACK,CACF,SAAAG,EACA,UAAAC,EACA,UAAAC,EAAY,MACZ,MAAAC,EACA,IAAAC,EACA,MAAAC,CAAA,EACEf,EACJgB,EAAQC,EAA8BjB,EAAOT,CAAS,EAClDI,EAAmBQ,EAAiB,QAAQS,CAAS,IAAM,GAC3DM,EAAgB,CAACvB,GAAoBkB,EAAQX,EAAS,CAC1D,gBAAiB,QAAQW,CAAK,IAAA,EAC7BE,CAAK,EAAIA,EACNtB,EAAaS,EAAS,CAAA,EAAIF,EAAO,CACrC,UAAAY,EACA,iBAAAjB,EACA,iBAAkBS,EAAiB,QAAQQ,CAAS,IAAM,EAAA,CAC3D,EACKlB,EAAUF,EAAkBC,CAAU,EAC5C,OAAoB0B,EAAAA,IAAKrB,EAAeI,EAAS,CAC/C,UAAWkB,EAAK1B,EAAQ,KAAMiB,CAAS,EACvC,GAAIC,EACJ,KAAM,CAACjB,GAAoBkB,EAAQ,MAAQ,OAC3C,IAAAL,EACA,MAAOU,EACP,WAAAzB,EACA,IAAKE,EAAmBkB,GAASC,EAAM,MAAA,EACtCE,EAAO,CACR,SAAAN,CAAA,CACD,CAAC,CACJ,CAAC","x_google_ignoreList":[0,1]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as c,a as Z,z as ee,W as te,X as re,j as p}from"./index-
|
|
1
|
+
import{s as c,a as Z,z as ee,W as te,X as re,j as p}from"./index-DaRevScO.js";import{r as t}from"./vendor-router-D_36sTKu.js";const ne=c(Z)(({theme:n})=>({position:"relative",width:"100%",overflow:"hidden",paddingTop:n.spacing(3),"&:hover .carousel-nav":{opacity:1}})),ae=c("div")({display:"flex",alignItems:"stretch",willChange:"transform",cursor:"grab",userSelect:"none","&:active":{cursor:"grabbing"}}),se=c("div")(({theme:n})=>({flexShrink:0,borderRadius:16,overflow:"hidden",opacity:0,transform:"scale(0.8)",transition:"opacity 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease","&.active":{opacity:1,transform:"scale(1)",boxShadow:"0px 2px 8px 8px rgba(255, 255, 255, 0.15)"},"&.prev":{opacity:.7,maskImage:"linear-gradient(to right, transparent 0%, black 50%)",WebkitMaskImage:"linear-gradient(to right, transparent 0%, black 50%)",[n.breakpoints.down("sm")]:{maskImage:"none",WebkitMaskImage:"none"}},"&.next":{opacity:.7,maskImage:"linear-gradient(to right, black 50%, transparent 100%)",WebkitMaskImage:"linear-gradient(to right, black 50%, transparent 100%)",[n.breakpoints.down("sm")]:{maskImage:"none",WebkitMaskImage:"none"}},[n.breakpoints.down("sm")]:{opacity:1,transform:"scale(1)","& > *":{width:"100%",minWidth:0},"&.active":{boxShadow:"none"}}})),oe=c("div")({display:"flex",justifyContent:"center",gap:8,paddingTop:24,position:"relative",zIndex:3}),ie=c("button")({width:8,height:8,borderRadius:"50%",border:"none",padding:0,cursor:"pointer",backgroundColor:"rgba(255, 255, 255, 0.4)",transition:"background-color 0.3s ease","&.active":{backgroundColor:"#fff"}}),N=c("button")(({theme:n})=>({position:"absolute",top:"45%",transform:"translateY(-50%)",zIndex:10,width:48,height:48,borderRadius:"50%",border:"2px solid rgba(255, 255, 255, 0.5)",backgroundColor:"rgba(0, 0, 0, 0.4)",color:ee.white,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",opacity:0,transition:n.transitions.create("opacity",{duration:n.transitions.duration.short}),"&:hover":{backgroundColor:"rgba(0, 0, 0, 0.6)"},fontSize:24,"@media (max-width: 991px)":{display:"none"}})),ce=c(N)(({theme:n})=>({left:n.spacing(3)})),ue=c(N)(({theme:n})=>({right:n.spacing(3)})),D=50;function fe({items:n,renderItem:X,keyExtractor:E,autoplayDelay:x=4e3,slideWidth:L=750,slideAspectRatio:P,alignItems:z="stretch",className:A}){const M=te(),w=re("(max-width: 599px)"),a=n.length,O=[...n,...n,...n],[g,u]=t.useState(a),[b,o]=t.useState(!0),[B,C]=t.useState(0),[v,$]=t.useState(0),S=t.useRef(null),l=t.useRef(),s=t.useRef(!1),h=t.useRef(0),d=t.useRef(0),f=t.useRef(!1),m=t.useRef(!1);t.useEffect(()=>{const e=S.current;if(!e)return;const r=new ResizeObserver(([R])=>$(R.contentRect.width));return r.observe(e),()=>r.disconnect()},[]);const T=32,I=M?L:w?v-T:v*.7,W=M?24:w?T:16,F=I+W,q=v/2-I/2-g*F+B,j=(g%a+a)%a,H=t.useCallback(()=>{s.current||(s.current=!0,o(!0),u(e=>e+1))},[]),Q=t.useCallback(()=>{s.current||(s.current=!0,o(!0),u(e=>e-1))},[]),V=t.useCallback(e=>{s.current||(s.current=!0,o(!0),u(a+e),clearInterval(l.current))},[a]),G=t.useCallback(e=>{e.target===e.currentTarget&&(s.current=!1,u(r=>r>=2*a?(o(!1),r-a):r<a?(o(!1),r+a):r))},[a]);t.useEffect(()=>{if(!b){const e=requestAnimationFrame(()=>{requestAnimationFrame(()=>o(!0))});return()=>cancelAnimationFrame(e)}},[b]);const i=t.useCallback(()=>{x&&(clearInterval(l.current),l.current=setInterval(()=>{s.current||(s.current=!0,o(!0),u(e=>e+1))},x))},[x]);t.useEffect(()=>(i(),()=>clearInterval(l.current)),[i]),t.useEffect(()=>{const e=()=>{document.hidden?clearInterval(l.current):i()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[i]);const k=t.useCallback(()=>{f.current=!1;const e=d.current;d.current=0,C(0),o(!0),e<-D?(s.current=!0,u(r=>r+1)):e>D&&(s.current=!0,u(r=>r-1)),i()},[i]),U=t.useCallback(e=>{h.current=e.touches[0].clientX,d.current=0,f.current=!0,o(!1),clearInterval(l.current)},[]),Y=t.useCallback(e=>{f.current&&(d.current=e.touches[0].clientX-h.current,C(d.current))},[]),_=t.useCallback(()=>{f.current&&k()},[k]),J=t.useCallback(e=>{e.button===0&&(e.preventDefault(),h.current=e.clientX,d.current=0,f.current=!0,m.current=!1,o(!1),clearInterval(l.current))},[]);t.useEffect(()=>{const e=R=>{if(!f.current)return;const y=R.clientX-h.current;d.current=y,C(y),Math.abs(y)>5&&(m.current=!0)},r=()=>{f.current&&k()};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",r),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",r)}},[k]);const K=t.useCallback(e=>{m.current&&(e.preventDefault(),e.stopPropagation(),m.current=!1)},[]);return p.jsxs(ne,{ref:S,role:"region","aria-roledescription":"carousel",className:A,children:[p.jsx(ae,{style:{transform:`translateX(${q}px)`,transition:b?"transform 0.4s ease":"none",gap:W,alignItems:z,visibility:v>0?"visible":"hidden"},onMouseDown:J,onClickCapture:K,onTouchStart:U,onTouchMove:Y,onTouchEnd:_,onTransitionEnd:G,children:O.map((e,r)=>p.jsx(se,{className:r===g?"active":r===g-1?"prev":r===g+1?"next":"",style:{width:I||void 0,aspectRatio:w?void 0:P,transition:b?void 0:"none"},children:X(e)},`${E(e)}-${r}`))}),p.jsx(oe,{children:n.map((e,r)=>p.jsx(ie,{className:r===j?"active":"","aria-label":`Go to slide ${r+1}`,onClick:()=>{r!==j&&(V(r),i())}},E(e)))}),p.jsx(ce,{className:"carousel-nav","aria-label":"Previous slide",onClick:()=>{Q(),i()},children:"‹"}),p.jsx(ue,{className:"carousel-nav","aria-label":"Next slide",onClick:()=>{H(),i()},children:"›"})]})}export{fe as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel-GdhNbXzm.js","sources":["../../src/components/Carousel/Carousel.styled.ts","../../src/components/Carousel/Carousel.tsx"],"sourcesContent":["import { Box, dclColors, styled } from 'decentraland-ui2'\n\nconst CarouselWrapper = styled(Box)(({ theme }) => ({\n position: 'relative',\n width: '100%',\n overflow: 'hidden',\n paddingTop: theme.spacing(3),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover .carousel-nav': {\n opacity: 1\n }\n}))\n\nconst CarouselTrack = styled('div')({\n display: 'flex',\n alignItems: 'stretch',\n willChange: 'transform',\n cursor: 'grab',\n userSelect: 'none',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:active': {\n cursor: 'grabbing'\n }\n})\n\nconst CarouselSlide = styled('div')(({ theme }) => ({\n flexShrink: 0,\n borderRadius: 16,\n overflow: 'hidden',\n opacity: 0,\n transform: 'scale(0.8)',\n transition: 'opacity 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.active': {\n opacity: 1,\n transform: 'scale(1)',\n boxShadow: '0px 2px 8px 8px rgba(255, 255, 255, 0.15)'\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.prev': {\n opacity: 0.7,\n maskImage: 'linear-gradient(to right, transparent 0%, black 50%)',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitMaskImage: 'linear-gradient(to right, transparent 0%, black 50%)',\n [theme.breakpoints.down('sm')]: {\n maskImage: 'none',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitMaskImage: 'none'\n }\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.next': {\n opacity: 0.7,\n maskImage: 'linear-gradient(to right, black 50%, transparent 100%)',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitMaskImage: 'linear-gradient(to right, black 50%, transparent 100%)',\n [theme.breakpoints.down('sm')]: {\n maskImage: 'none',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitMaskImage: 'none'\n }\n },\n [theme.breakpoints.down('sm')]: {\n opacity: 1,\n transform: 'scale(1)',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& > *': {\n width: '100%',\n minWidth: 0\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.active': {\n boxShadow: 'none'\n }\n }\n}))\n\nconst CarouselDots = styled('div')({\n display: 'flex',\n justifyContent: 'center',\n gap: 8,\n paddingTop: 24,\n position: 'relative',\n zIndex: 3\n})\n\nconst CarouselDot = styled('button')({\n width: 8,\n height: 8,\n borderRadius: '50%',\n border: 'none',\n padding: 0,\n cursor: 'pointer',\n backgroundColor: 'rgba(255, 255, 255, 0.4)',\n transition: 'background-color 0.3s ease',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.active': {\n backgroundColor: '#fff'\n }\n})\n\nconst NavButton = styled('button')(({ theme }) => ({\n position: 'absolute',\n top: '45%',\n transform: 'translateY(-50%)',\n zIndex: 10,\n width: 48,\n height: 48,\n borderRadius: '50%',\n border: '2px solid rgba(255, 255, 255, 0.5)',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n color: dclColors.neutral.white,\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n opacity: 0,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.short\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.6)'\n },\n fontSize: 24,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@media (max-width: 991px)': {\n display: 'none'\n }\n}))\n\nconst NavButtonPrev = styled(NavButton)(({ theme }) => ({\n left: theme.spacing(3)\n}))\n\nconst NavButtonNext = styled(NavButton)(({ theme }) => ({\n right: theme.spacing(3)\n}))\n\nexport { CarouselDot, CarouselDots, CarouselSlide, CarouselTrack, CarouselWrapper, NavButtonNext, NavButtonPrev }\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useDesktopMediaQuery, useMediaQuery } from 'decentraland-ui2'\nimport { CarouselDot, CarouselDots, CarouselSlide, CarouselTrack, CarouselWrapper, NavButtonNext, NavButtonPrev } from './Carousel.styled'\n\nconst SWIPE_THRESHOLD = 50\n\ninterface CarouselProps<T> {\n items: T[]\n renderItem: (item: T) => React.ReactNode\n keyExtractor: (item: T) => string\n /** Autoplay interval in ms. Pass 0 to disable. Default: 4000 */\n autoplayDelay?: number\n /** Desktop slide width in px. Default: 750 */\n slideWidth?: number\n /** CSS aspect-ratio applied on desktop/tablet slides. E.g. \"750 / 370\" */\n slideAspectRatio?: string\n /** Align items on the track. Default: 'stretch' */\n alignItems?: 'stretch' | 'center' | 'flex-start' | 'flex-end'\n className?: string\n}\n\nfunction Carousel<T>({\n items,\n renderItem,\n keyExtractor,\n autoplayDelay = 4000,\n slideWidth: desktopSlideWidth = 750,\n slideAspectRatio,\n alignItems: trackAlignItems = 'stretch',\n className\n}: CarouselProps<T>) {\n const isDesktop = useDesktopMediaQuery()\n const isMobile = useMediaQuery('(max-width: 599px)')\n const total = items.length\n\n // Triple the items for seamless infinite loop: [clone, real, clone].\n // Neighboring slides around any position match their real counterparts,\n // so the instant snap after a clone is visually imperceptible.\n //\n // NOTE: A modulo-based approach (rendering only one copy and wrapping indices)\n // was considered but is impractical here. The carousel relies on CSS\n // `transform: translateX()` with a `transition` to animate between slides.\n // The browser needs real DOM elements at adjacent positions so that the\n // transition can smoothly slide between them. After reaching a clone zone,\n // `handleTransitionEnd` instantly snaps `pos` back into the real range\n // (with transitions disabled), making the reset invisible. Without the\n // extra DOM elements the transition would have no target to animate toward.\n const slides = [...items, ...items, ...items]\n\n // pos indexes into `slides`. Real items sit at total..2*total-1.\n const [pos, setPos] = useState(total)\n const [animated, setAnimated] = useState(true)\n const [dragOffset, setDragOffset] = useState(0)\n const [viewportWidth, setViewportWidth] = useState(0)\n\n const wrapperRef = useRef<HTMLDivElement>(null)\n const autoRef = useRef<ReturnType<typeof setInterval>>()\n const isMovingRef = useRef(false)\n const touchStartXRef = useRef(0)\n const dragOffsetRef = useRef(0)\n const isDraggingRef = useRef(false)\n const wasDragRef = useRef(false)\n\n // ── Measure wrapper ─────────────────────────────────────────────────\n useEffect(() => {\n const el = wrapperRef.current\n if (!el) return\n const ro = new ResizeObserver(([entry]) => setViewportWidth(entry.contentRect.width))\n ro.observe(el)\n return () => ro.disconnect()\n }, [])\n\n // ── Slide geometry ──────────────────────────────────────────────────\n const mobilePadding = 32 // 16px each side\n const slideWidth = isDesktop ? desktopSlideWidth : isMobile ? viewportWidth - mobilePadding : viewportWidth * 0.7\n const gap = isDesktop ? 24 : isMobile ? mobilePadding : 16\n const step = slideWidth + gap\n const translateX = viewportWidth / 2 - slideWidth / 2 - pos * step + dragOffset\n const realIndex = ((pos % total) + total) % total\n\n // ── Navigation ──────────────────────────────────────────────────────\n const goNext = useCallback(() => {\n if (isMovingRef.current) return\n isMovingRef.current = true\n setAnimated(true)\n setPos(p => p + 1)\n }, [])\n\n const goPrev = useCallback(() => {\n if (isMovingRef.current) return\n isMovingRef.current = true\n setAnimated(true)\n setPos(p => p - 1)\n }, [])\n\n const goToSlide = useCallback(\n (index: number) => {\n if (isMovingRef.current) return\n isMovingRef.current = true\n setAnimated(true)\n setPos(total + index)\n clearInterval(autoRef.current)\n },\n [total]\n )\n\n // Snap back into the real range after reaching a clone zone.\n const handleTransitionEnd = useCallback(\n (e: React.TransitionEvent) => {\n if (e.target !== e.currentTarget) return\n isMovingRef.current = false\n setPos(p => {\n if (p >= 2 * total) {\n setAnimated(false)\n return p - total\n }\n if (p < total) {\n setAnimated(false)\n return p + total\n }\n return p\n })\n },\n [total]\n )\n\n // Re-enable transitions after an instant snap\n useEffect(() => {\n if (!animated) {\n const id = requestAnimationFrame(() => {\n requestAnimationFrame(() => setAnimated(true))\n })\n return () => cancelAnimationFrame(id)\n }\n }, [animated])\n\n // ── Autoplay ────────────────────────────────────────────────────────\n const startAutoplay = useCallback(() => {\n if (!autoplayDelay) return\n clearInterval(autoRef.current)\n autoRef.current = setInterval(() => {\n if (!isMovingRef.current) {\n isMovingRef.current = true\n setAnimated(true)\n setPos(p => p + 1)\n }\n }, autoplayDelay)\n }, [autoplayDelay])\n\n useEffect(() => {\n startAutoplay()\n return () => clearInterval(autoRef.current)\n }, [startAutoplay])\n\n useEffect(() => {\n const onVisibility = () => {\n if (document.hidden) {\n clearInterval(autoRef.current)\n } else {\n startAutoplay()\n }\n }\n document.addEventListener('visibilitychange', onVisibility)\n return () => document.removeEventListener('visibilitychange', onVisibility)\n }, [startAutoplay])\n\n // ── Shared drag end ─────────────────────────────────────────────────\n const endDrag = useCallback(() => {\n isDraggingRef.current = false\n const dx = dragOffsetRef.current\n dragOffsetRef.current = 0\n setDragOffset(0)\n setAnimated(true)\n\n if (dx < -SWIPE_THRESHOLD) {\n isMovingRef.current = true\n setPos(p => p + 1)\n } else if (dx > SWIPE_THRESHOLD) {\n isMovingRef.current = true\n setPos(p => p - 1)\n }\n\n startAutoplay()\n }, [startAutoplay])\n\n // ── Touch ───────────────────────────────────────────────────────────\n const handleTouchStart = useCallback((e: React.TouchEvent) => {\n touchStartXRef.current = e.touches[0].clientX\n dragOffsetRef.current = 0\n isDraggingRef.current = true\n setAnimated(false)\n clearInterval(autoRef.current)\n }, [])\n\n const handleTouchMove = useCallback((e: React.TouchEvent) => {\n if (!isDraggingRef.current) return\n dragOffsetRef.current = e.touches[0].clientX - touchStartXRef.current\n setDragOffset(dragOffsetRef.current)\n }, [])\n\n const handleTouchEnd = useCallback(() => {\n if (!isDraggingRef.current) return\n endDrag()\n }, [endDrag])\n\n // ── Mouse drag ──────────────────────────────────────────────────────\n const handleMouseDown = useCallback((e: React.MouseEvent) => {\n if (e.button !== 0) return\n e.preventDefault()\n touchStartXRef.current = e.clientX\n dragOffsetRef.current = 0\n isDraggingRef.current = true\n wasDragRef.current = false\n setAnimated(false)\n clearInterval(autoRef.current)\n }, [])\n\n useEffect(() => {\n const onMouseMove = (e: MouseEvent) => {\n if (!isDraggingRef.current) return\n const dx = e.clientX - touchStartXRef.current\n dragOffsetRef.current = dx\n setDragOffset(dx)\n if (Math.abs(dx) > 5) wasDragRef.current = true\n }\n const onMouseUp = () => {\n if (!isDraggingRef.current) return\n endDrag()\n }\n window.addEventListener('mousemove', onMouseMove)\n window.addEventListener('mouseup', onMouseUp)\n return () => {\n window.removeEventListener('mousemove', onMouseMove)\n window.removeEventListener('mouseup', onMouseUp)\n }\n }, [endDrag])\n\n const handleClickCapture = useCallback((e: React.MouseEvent) => {\n if (wasDragRef.current) {\n e.preventDefault()\n e.stopPropagation()\n wasDragRef.current = false\n }\n }, [])\n\n // ── Render ──────────────────────────────────────────────────────────\n return (\n <CarouselWrapper ref={wrapperRef} role=\"region\" aria-roledescription=\"carousel\" className={className}>\n <CarouselTrack\n style={{\n transform: `translateX(${translateX}px)`,\n transition: animated ? 'transform 0.4s ease' : 'none',\n gap,\n alignItems: trackAlignItems,\n visibility: viewportWidth > 0 ? 'visible' : 'hidden'\n }}\n onMouseDown={handleMouseDown}\n onClickCapture={handleClickCapture}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n onTransitionEnd={handleTransitionEnd}\n >\n {slides.map((item, i) => (\n <CarouselSlide\n key={`${keyExtractor(item)}-${i}`}\n className={i === pos ? 'active' : i === pos - 1 ? 'prev' : i === pos + 1 ? 'next' : ''}\n style={{\n width: slideWidth || undefined,\n aspectRatio: isMobile ? undefined : slideAspectRatio,\n transition: animated ? undefined : 'none'\n }}\n >\n {renderItem(item)}\n </CarouselSlide>\n ))}\n </CarouselTrack>\n\n <CarouselDots>\n {items.map((item, i) => (\n <CarouselDot\n key={keyExtractor(item)}\n className={i === realIndex ? 'active' : ''}\n aria-label={`Go to slide ${i + 1}`}\n onClick={() => {\n if (i === realIndex) return\n goToSlide(i)\n startAutoplay()\n }}\n />\n ))}\n </CarouselDots>\n\n <NavButtonPrev\n className=\"carousel-nav\"\n aria-label=\"Previous slide\"\n onClick={() => {\n goPrev()\n startAutoplay()\n }}\n >\n ‹\n </NavButtonPrev>\n <NavButtonNext\n className=\"carousel-nav\"\n aria-label=\"Next slide\"\n onClick={() => {\n goNext()\n startAutoplay()\n }}\n >\n ›\n </NavButtonNext>\n </CarouselWrapper>\n )\n}\n\nexport { Carousel }\nexport type { CarouselProps }\n"],"names":["CarouselWrapper","styled","Box","theme","CarouselTrack","CarouselSlide","CarouselDots","CarouselDot","NavButton","dclColors.neutral","NavButtonPrev","NavButtonNext","SWIPE_THRESHOLD","Carousel","items","renderItem","keyExtractor","autoplayDelay","desktopSlideWidth","slideAspectRatio","trackAlignItems","className","isDesktop","useDesktopMediaQuery","isMobile","useMediaQuery","total","slides","pos","setPos","useState","animated","setAnimated","dragOffset","setDragOffset","viewportWidth","setViewportWidth","wrapperRef","useRef","autoRef","isMovingRef","touchStartXRef","dragOffsetRef","isDraggingRef","wasDragRef","useEffect","el","ro","entry","mobilePadding","slideWidth","gap","step","translateX","realIndex","goNext","useCallback","p","goPrev","goToSlide","index","handleTransitionEnd","id","startAutoplay","onVisibility","endDrag","dx","handleTouchStart","handleTouchMove","handleTouchEnd","handleMouseDown","onMouseMove","e","onMouseUp","handleClickCapture","jsxs","jsx","item","i"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Carousel-Bz36sWAV.js","sources":["../../src/components/Carousel/Carousel.styled.ts","../../src/components/Carousel/Carousel.tsx"],"sourcesContent":["import { Box, dclColors, styled } from 'decentraland-ui2'\n\nconst CarouselWrapper = styled(Box)(({ theme }) => ({\n position: 'relative',\n width: '100%',\n overflow: 'hidden',\n paddingTop: theme.spacing(3),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover .carousel-nav': {\n opacity: 1\n }\n}))\n\nconst CarouselTrack = styled('div')({\n display: 'flex',\n alignItems: 'stretch',\n willChange: 'transform',\n cursor: 'grab',\n userSelect: 'none',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:active': {\n cursor: 'grabbing'\n }\n})\n\nconst CarouselSlide = styled('div')(({ theme }) => ({\n flexShrink: 0,\n borderRadius: 16,\n overflow: 'hidden',\n opacity: 0,\n transform: 'scale(0.8)',\n transition: 'opacity 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.active': {\n opacity: 1,\n transform: 'scale(1)',\n boxShadow: '0px 2px 8px 8px rgba(255, 255, 255, 0.15)'\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.prev': {\n opacity: 0.7,\n maskImage: 'linear-gradient(to right, transparent 0%, black 50%)',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitMaskImage: 'linear-gradient(to right, transparent 0%, black 50%)',\n [theme.breakpoints.down('sm')]: {\n maskImage: 'none',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitMaskImage: 'none'\n }\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.next': {\n opacity: 0.7,\n maskImage: 'linear-gradient(to right, black 50%, transparent 100%)',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitMaskImage: 'linear-gradient(to right, black 50%, transparent 100%)',\n [theme.breakpoints.down('sm')]: {\n maskImage: 'none',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitMaskImage: 'none'\n }\n },\n [theme.breakpoints.down('sm')]: {\n opacity: 1,\n transform: 'scale(1)',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '& > *': {\n width: '100%',\n minWidth: 0\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.active': {\n boxShadow: 'none'\n }\n }\n}))\n\nconst CarouselDots = styled('div')({\n display: 'flex',\n justifyContent: 'center',\n gap: 8,\n paddingTop: 24,\n position: 'relative',\n zIndex: 3\n})\n\nconst CarouselDot = styled('button')({\n width: 8,\n height: 8,\n borderRadius: '50%',\n border: 'none',\n padding: 0,\n cursor: 'pointer',\n backgroundColor: 'rgba(255, 255, 255, 0.4)',\n transition: 'background-color 0.3s ease',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&.active': {\n backgroundColor: '#fff'\n }\n})\n\nconst NavButton = styled('button')(({ theme }) => ({\n position: 'absolute',\n top: '45%',\n transform: 'translateY(-50%)',\n zIndex: 10,\n width: 48,\n height: 48,\n borderRadius: '50%',\n border: '2px solid rgba(255, 255, 255, 0.5)',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n color: dclColors.neutral.white,\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n opacity: 0,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.short\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.6)'\n },\n fontSize: 24,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@media (max-width: 991px)': {\n display: 'none'\n }\n}))\n\nconst NavButtonPrev = styled(NavButton)(({ theme }) => ({\n left: theme.spacing(3)\n}))\n\nconst NavButtonNext = styled(NavButton)(({ theme }) => ({\n right: theme.spacing(3)\n}))\n\nexport { CarouselDot, CarouselDots, CarouselSlide, CarouselTrack, CarouselWrapper, NavButtonNext, NavButtonPrev }\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useDesktopMediaQuery, useMediaQuery } from 'decentraland-ui2'\nimport { CarouselDot, CarouselDots, CarouselSlide, CarouselTrack, CarouselWrapper, NavButtonNext, NavButtonPrev } from './Carousel.styled'\n\nconst SWIPE_THRESHOLD = 50\n\ninterface CarouselProps<T> {\n items: T[]\n renderItem: (item: T) => React.ReactNode\n keyExtractor: (item: T) => string\n /** Autoplay interval in ms. Pass 0 to disable. Default: 4000 */\n autoplayDelay?: number\n /** Desktop slide width in px. Default: 750 */\n slideWidth?: number\n /** CSS aspect-ratio applied on desktop/tablet slides. E.g. \"750 / 370\" */\n slideAspectRatio?: string\n /** Align items on the track. Default: 'stretch' */\n alignItems?: 'stretch' | 'center' | 'flex-start' | 'flex-end'\n className?: string\n}\n\nfunction Carousel<T>({\n items,\n renderItem,\n keyExtractor,\n autoplayDelay = 4000,\n slideWidth: desktopSlideWidth = 750,\n slideAspectRatio,\n alignItems: trackAlignItems = 'stretch',\n className\n}: CarouselProps<T>) {\n const isDesktop = useDesktopMediaQuery()\n const isMobile = useMediaQuery('(max-width: 599px)')\n const total = items.length\n\n // Triple the items for seamless infinite loop: [clone, real, clone].\n // Neighboring slides around any position match their real counterparts,\n // so the instant snap after a clone is visually imperceptible.\n //\n // NOTE: A modulo-based approach (rendering only one copy and wrapping indices)\n // was considered but is impractical here. The carousel relies on CSS\n // `transform: translateX()` with a `transition` to animate between slides.\n // The browser needs real DOM elements at adjacent positions so that the\n // transition can smoothly slide between them. After reaching a clone zone,\n // `handleTransitionEnd` instantly snaps `pos` back into the real range\n // (with transitions disabled), making the reset invisible. Without the\n // extra DOM elements the transition would have no target to animate toward.\n const slides = [...items, ...items, ...items]\n\n // pos indexes into `slides`. Real items sit at total..2*total-1.\n const [pos, setPos] = useState(total)\n const [animated, setAnimated] = useState(true)\n const [dragOffset, setDragOffset] = useState(0)\n const [viewportWidth, setViewportWidth] = useState(0)\n\n const wrapperRef = useRef<HTMLDivElement>(null)\n const autoRef = useRef<ReturnType<typeof setInterval>>()\n const isMovingRef = useRef(false)\n const touchStartXRef = useRef(0)\n const dragOffsetRef = useRef(0)\n const isDraggingRef = useRef(false)\n const wasDragRef = useRef(false)\n\n // ── Measure wrapper ─────────────────────────────────────────────────\n useEffect(() => {\n const el = wrapperRef.current\n if (!el) return\n const ro = new ResizeObserver(([entry]) => setViewportWidth(entry.contentRect.width))\n ro.observe(el)\n return () => ro.disconnect()\n }, [])\n\n // ── Slide geometry ──────────────────────────────────────────────────\n const mobilePadding = 32 // 16px each side\n const slideWidth = isDesktop ? desktopSlideWidth : isMobile ? viewportWidth - mobilePadding : viewportWidth * 0.7\n const gap = isDesktop ? 24 : isMobile ? mobilePadding : 16\n const step = slideWidth + gap\n const translateX = viewportWidth / 2 - slideWidth / 2 - pos * step + dragOffset\n const realIndex = ((pos % total) + total) % total\n\n // ── Navigation ──────────────────────────────────────────────────────\n const goNext = useCallback(() => {\n if (isMovingRef.current) return\n isMovingRef.current = true\n setAnimated(true)\n setPos(p => p + 1)\n }, [])\n\n const goPrev = useCallback(() => {\n if (isMovingRef.current) return\n isMovingRef.current = true\n setAnimated(true)\n setPos(p => p - 1)\n }, [])\n\n const goToSlide = useCallback(\n (index: number) => {\n if (isMovingRef.current) return\n isMovingRef.current = true\n setAnimated(true)\n setPos(total + index)\n clearInterval(autoRef.current)\n },\n [total]\n )\n\n // Snap back into the real range after reaching a clone zone.\n const handleTransitionEnd = useCallback(\n (e: React.TransitionEvent) => {\n if (e.target !== e.currentTarget) return\n isMovingRef.current = false\n setPos(p => {\n if (p >= 2 * total) {\n setAnimated(false)\n return p - total\n }\n if (p < total) {\n setAnimated(false)\n return p + total\n }\n return p\n })\n },\n [total]\n )\n\n // Re-enable transitions after an instant snap\n useEffect(() => {\n if (!animated) {\n const id = requestAnimationFrame(() => {\n requestAnimationFrame(() => setAnimated(true))\n })\n return () => cancelAnimationFrame(id)\n }\n }, [animated])\n\n // ── Autoplay ────────────────────────────────────────────────────────\n const startAutoplay = useCallback(() => {\n if (!autoplayDelay) return\n clearInterval(autoRef.current)\n autoRef.current = setInterval(() => {\n if (!isMovingRef.current) {\n isMovingRef.current = true\n setAnimated(true)\n setPos(p => p + 1)\n }\n }, autoplayDelay)\n }, [autoplayDelay])\n\n useEffect(() => {\n startAutoplay()\n return () => clearInterval(autoRef.current)\n }, [startAutoplay])\n\n useEffect(() => {\n const onVisibility = () => {\n if (document.hidden) {\n clearInterval(autoRef.current)\n } else {\n startAutoplay()\n }\n }\n document.addEventListener('visibilitychange', onVisibility)\n return () => document.removeEventListener('visibilitychange', onVisibility)\n }, [startAutoplay])\n\n // ── Shared drag end ─────────────────────────────────────────────────\n const endDrag = useCallback(() => {\n isDraggingRef.current = false\n const dx = dragOffsetRef.current\n dragOffsetRef.current = 0\n setDragOffset(0)\n setAnimated(true)\n\n if (dx < -SWIPE_THRESHOLD) {\n isMovingRef.current = true\n setPos(p => p + 1)\n } else if (dx > SWIPE_THRESHOLD) {\n isMovingRef.current = true\n setPos(p => p - 1)\n }\n\n startAutoplay()\n }, [startAutoplay])\n\n // ── Touch ───────────────────────────────────────────────────────────\n const handleTouchStart = useCallback((e: React.TouchEvent) => {\n touchStartXRef.current = e.touches[0].clientX\n dragOffsetRef.current = 0\n isDraggingRef.current = true\n setAnimated(false)\n clearInterval(autoRef.current)\n }, [])\n\n const handleTouchMove = useCallback((e: React.TouchEvent) => {\n if (!isDraggingRef.current) return\n dragOffsetRef.current = e.touches[0].clientX - touchStartXRef.current\n setDragOffset(dragOffsetRef.current)\n }, [])\n\n const handleTouchEnd = useCallback(() => {\n if (!isDraggingRef.current) return\n endDrag()\n }, [endDrag])\n\n // ── Mouse drag ──────────────────────────────────────────────────────\n const handleMouseDown = useCallback((e: React.MouseEvent) => {\n if (e.button !== 0) return\n e.preventDefault()\n touchStartXRef.current = e.clientX\n dragOffsetRef.current = 0\n isDraggingRef.current = true\n wasDragRef.current = false\n setAnimated(false)\n clearInterval(autoRef.current)\n }, [])\n\n useEffect(() => {\n const onMouseMove = (e: MouseEvent) => {\n if (!isDraggingRef.current) return\n const dx = e.clientX - touchStartXRef.current\n dragOffsetRef.current = dx\n setDragOffset(dx)\n if (Math.abs(dx) > 5) wasDragRef.current = true\n }\n const onMouseUp = () => {\n if (!isDraggingRef.current) return\n endDrag()\n }\n window.addEventListener('mousemove', onMouseMove)\n window.addEventListener('mouseup', onMouseUp)\n return () => {\n window.removeEventListener('mousemove', onMouseMove)\n window.removeEventListener('mouseup', onMouseUp)\n }\n }, [endDrag])\n\n const handleClickCapture = useCallback((e: React.MouseEvent) => {\n if (wasDragRef.current) {\n e.preventDefault()\n e.stopPropagation()\n wasDragRef.current = false\n }\n }, [])\n\n // ── Render ──────────────────────────────────────────────────────────\n return (\n <CarouselWrapper ref={wrapperRef} role=\"region\" aria-roledescription=\"carousel\" className={className}>\n <CarouselTrack\n style={{\n transform: `translateX(${translateX}px)`,\n transition: animated ? 'transform 0.4s ease' : 'none',\n gap,\n alignItems: trackAlignItems,\n visibility: viewportWidth > 0 ? 'visible' : 'hidden'\n }}\n onMouseDown={handleMouseDown}\n onClickCapture={handleClickCapture}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n onTransitionEnd={handleTransitionEnd}\n >\n {slides.map((item, i) => (\n <CarouselSlide\n key={`${keyExtractor(item)}-${i}`}\n className={i === pos ? 'active' : i === pos - 1 ? 'prev' : i === pos + 1 ? 'next' : ''}\n style={{\n width: slideWidth || undefined,\n aspectRatio: isMobile ? undefined : slideAspectRatio,\n transition: animated ? undefined : 'none'\n }}\n >\n {renderItem(item)}\n </CarouselSlide>\n ))}\n </CarouselTrack>\n\n <CarouselDots>\n {items.map((item, i) => (\n <CarouselDot\n key={keyExtractor(item)}\n className={i === realIndex ? 'active' : ''}\n aria-label={`Go to slide ${i + 1}`}\n onClick={() => {\n if (i === realIndex) return\n goToSlide(i)\n startAutoplay()\n }}\n />\n ))}\n </CarouselDots>\n\n <NavButtonPrev\n className=\"carousel-nav\"\n aria-label=\"Previous slide\"\n onClick={() => {\n goPrev()\n startAutoplay()\n }}\n >\n ‹\n </NavButtonPrev>\n <NavButtonNext\n className=\"carousel-nav\"\n aria-label=\"Next slide\"\n onClick={() => {\n goNext()\n startAutoplay()\n }}\n >\n ›\n </NavButtonNext>\n </CarouselWrapper>\n )\n}\n\nexport { Carousel }\nexport type { CarouselProps }\n"],"names":["CarouselWrapper","styled","Box","theme","CarouselTrack","CarouselSlide","CarouselDots","CarouselDot","NavButton","dclColors.neutral","NavButtonPrev","NavButtonNext","SWIPE_THRESHOLD","Carousel","items","renderItem","keyExtractor","autoplayDelay","desktopSlideWidth","slideAspectRatio","trackAlignItems","className","isDesktop","useDesktopMediaQuery","isMobile","useMediaQuery","total","slides","pos","setPos","useState","animated","setAnimated","dragOffset","setDragOffset","viewportWidth","setViewportWidth","wrapperRef","useRef","autoRef","isMovingRef","touchStartXRef","dragOffsetRef","isDraggingRef","wasDragRef","useEffect","el","ro","entry","mobilePadding","slideWidth","gap","step","translateX","realIndex","goNext","useCallback","p","goPrev","goToSlide","index","handleTransitionEnd","id","startAutoplay","onVisibility","endDrag","dx","handleTouchStart","handleTouchMove","handleTouchEnd","handleMouseDown","onMouseMove","e","onMouseUp","handleClickCapture","jsxs","jsx","item","i"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as l,a as p,v as a,j as o,x as d,g as m,y as x}from"./index-
|
|
1
|
+
import{s as l,a as p,v as a,j as o,x as d,g as m,y as x}from"./index-DaRevScO.js";import{r as h,a as u}from"./vendor-router-D_36sTKu.js";import"./vendor-ua-D7qqAxdq.js";import{s as y,b as f,B as c}from"./BlogLayout-DOXQWe4b.js";import{u as j,P as b}from"./useInfiniteBlogPosts-DspRbflz.js";import{S as C}from"./SEO-P8y8JbS9.js";import{C as g}from"./shared.styled-Csb0ydX4.js";import{C as B}from"./CircularProgress-DMJbftwB.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-intl-D2lXWsDp.js";import"./store-CbX2mp3S.js";import"./events.client-DDwZtrCh.js";import"./PostCard-CalYnkvr.js";import"./CardContent-CTD4H4a5.js";import"./Paper-BcsxEQWA.js";import"./Skeleton-o93N4ZZz.js";const w=l(p)(({theme:t,imageUrl:i})=>({backgroundImage:`linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("${y(i)}")`,backgroundSize:"cover",backgroundPosition:"center",width:"100%",height:"248px",display:"flex",alignItems:"center",justifyContent:"flex-start",marginBottom:t.spacing(6),[t.breakpoints.down("sm")]:{height:"180px",justifyContent:"center"}})),v=l(p)(({theme:t})=>({textAlign:"left",color:t.palette.common.white,maxWidth:t.spacing(133),width:"100%",margin:"0 auto",padding:t.spacing(3),"& p":{fontSize:"18px",lineHeight:"28px",textShadow:"0 1px 2px rgba(0, 0, 0, 0.5)"},[t.breakpoints.down("sm")]:{textAlign:"center"}})),S=l(a)(({theme:t})=>({marginBottom:t.spacing(2),textShadow:"0 2px 4px rgba(0, 0, 0, 0.5)",[t.breakpoints.down("sm")]:{fontSize:t.typography.h4.fontSize,fontWeight:t.typography.h4.fontWeight,lineHeight:t.typography.h4.lineHeight}})),P=h.memo(t=>{const{category:i,description:r,image:e}=t;return o.jsx(w,{imageUrl:e,children:o.jsxs(v,{children:[o.jsx(S,{variant:"h3",children:i}),o.jsx(a,{variant:"body1",children:r})]})})}),L=({category:t})=>{const{t:i}=d(),r=x(),{posts:e,isLoadingInitial:s,error:n}=j({category:t.slug});return n?o.jsx(g,{children:o.jsx(a,{color:"error",children:i("error.load_posts")})}):o.jsx(b,{posts:e,loading:s,hasMainPost:!r})},D=()=>{const{t}=d(),{categorySlug:i}=u(),{data:r,isLoading:e,error:s}=f({slug:i||""}),n=m("BLOG_BASE_URL")||"";return s?o.jsx(c,{showBlogNavigation:!0,activeCategory:i,children:o.jsx(g,{children:o.jsx(a,{color:"error",children:t("error.load_category")})})}):o.jsxs(c,{showBlogNavigation:!0,activeCategory:i,banner:r?o.jsx(P,{category:r.title,description:r.description,image:r.image.url}):void 0,children:[o.jsx(C,{title:r?.title,description:r?.description||t("blog.default_description"),url:`${n}/${i}`,image:r?.image?{url:r.image.url,width:r.image.width,height:r.image.height,alt:r.title}:void 0}),e?o.jsx(g,{children:o.jsx(B,{})}):r?o.jsx(L,{category:r},r.id):null]})};export{D as CategoryPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryPage-
|
|
1
|
+
{"version":3,"file":"CategoryPage-5N-S_EtG.js","sources":["../../src/components/blog/CategoryHero/CategoryHero.styled.ts","../../src/components/blog/CategoryHero/CategoryHero.tsx","../../src/pages/blog/CategoryPage.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { Box, Typography, styled } from 'decentraland-ui2'\nimport { safeCssUrl } from '../utils/safeCssUrl'\n\nconst HeroContainer = styled(Box)<{ imageUrl: string }>(({ theme, imageUrl }) => ({\n backgroundImage: `linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(\"${safeCssUrl(imageUrl)}\")`,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n width: '100%',\n height: '248px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n marginBottom: theme.spacing(6),\n [theme.breakpoints.down('sm')]: {\n height: '180px',\n justifyContent: 'center'\n }\n}))\n\nconst HeroContent = styled(Box)(({ theme }) => ({\n textAlign: 'left',\n color: theme.palette.common.white,\n maxWidth: theme.spacing(133),\n width: '100%',\n margin: '0 auto',\n padding: theme.spacing(3),\n '& p': {\n fontSize: '18px',\n lineHeight: '28px',\n textShadow: '0 1px 2px rgba(0, 0, 0, 0.5)'\n },\n [theme.breakpoints.down('sm')]: {\n textAlign: 'center'\n }\n}))\n\nconst HeroTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n textShadow: '0 2px 4px rgba(0, 0, 0, 0.5)',\n [theme.breakpoints.down('sm')]: {\n fontSize: theme.typography.h4.fontSize,\n fontWeight: theme.typography.h4.fontWeight,\n lineHeight: theme.typography.h4.lineHeight\n }\n}))\n\nexport { HeroContainer, HeroContent, HeroTitle }\n","import { memo } from 'react'\nimport { Typography } from 'decentraland-ui2'\nimport type { CategoryHeroProps } from './CategoryHero.types'\nimport { HeroContainer, HeroContent, HeroTitle } from './CategoryHero.styled'\n\nconst CategoryHero = memo((props: CategoryHeroProps) => {\n const { category, description, image } = props\n return (\n <HeroContainer imageUrl={image}>\n <HeroContent>\n <HeroTitle variant=\"h3\">{category}</HeroTitle>\n <Typography variant=\"body1\">{description}</Typography>\n </HeroContent>\n </HeroContainer>\n )\n})\n\nexport { CategoryHero }\n","import { useParams } from 'react-router-dom'\nimport { useTranslation } from '@dcl/hooks'\nimport { useMobileMediaQuery } from 'decentraland-ui2/dist/components/Media'\nimport { CircularProgress, Typography } from 'decentraland-ui2'\nimport { BlogLayout } from '../../components/blog/BlogLayout'\nimport { CategoryHero } from '../../components/blog/CategoryHero'\nimport { PostList } from '../../components/blog/PostList'\nimport { SEO } from '../../components/blog/SEO/SEO'\nimport { getEnv } from '../../config/env'\nimport { useGetBlogCategoryBySlugQuery } from '../../features/blog/blog.client'\nimport { useInfiniteBlogPosts } from '../../features/blog/useInfiniteBlogPosts'\nimport type { BlogCategory } from '../../shared/blog/types/blog.domain'\nimport { CenteredBox } from './shared.styled'\n\nconst CategoryPostList = ({ category }: { category: BlogCategory }) => {\n const { t } = useTranslation()\n const isMobile = useMobileMediaQuery()\n const { posts, isLoadingInitial, error } = useInfiniteBlogPosts({\n category: category.slug\n })\n\n if (error) {\n return (\n <CenteredBox>\n <Typography color=\"error\">{t('error.load_posts')}</Typography>\n </CenteredBox>\n )\n }\n\n return <PostList posts={posts} loading={isLoadingInitial} hasMainPost={!isMobile} />\n}\n\nexport const CategoryPage = () => {\n const { t } = useTranslation()\n const { categorySlug } = useParams<{ categorySlug: string }>()\n\n const {\n data: category,\n isLoading: isCategoryLoading,\n error: categoryError\n } = useGetBlogCategoryBySlugQuery({\n slug: categorySlug || ''\n })\n\n const baseUrl = getEnv('BLOG_BASE_URL') || ''\n\n if (categoryError) {\n return (\n <BlogLayout showBlogNavigation={true} activeCategory={categorySlug}>\n <CenteredBox>\n <Typography color=\"error\">{t('error.load_category')}</Typography>\n </CenteredBox>\n </BlogLayout>\n )\n }\n\n return (\n <BlogLayout\n showBlogNavigation={true}\n activeCategory={categorySlug}\n banner={\n category ? <CategoryHero category={category.title} description={category.description} image={category.image.url} /> : undefined\n }\n >\n <SEO\n title={category?.title}\n description={category?.description || t('blog.default_description')}\n url={`${baseUrl}/${categorySlug}`}\n image={\n category?.image\n ? {\n url: category.image.url,\n width: category.image.width,\n height: category.image.height,\n alt: category.title\n }\n : undefined\n }\n />\n {isCategoryLoading ? (\n <CenteredBox>\n <CircularProgress />\n </CenteredBox>\n ) : category ? (\n // key forces remount when category changes, resetting the infinite scroll hook\n <CategoryPostList key={category.id} category={category} />\n ) : null}\n </BlogLayout>\n )\n}\n"],"names":["HeroContainer","styled","Box","theme","imageUrl","safeCssUrl","HeroContent","HeroTitle","Typography","CategoryHero","memo","props","category","description","image","jsx","CategoryPostList","t","useTranslation","isMobile","useMobileMediaQuery","posts","isLoadingInitial","error","useInfiniteBlogPosts","CenteredBox","PostList","CategoryPage","categorySlug","useParams","isCategoryLoading","categoryError","useGetBlogCategoryBySlugQuery","baseUrl","getEnv","BlogLayout","jsxs","SEO","CircularProgress"],"mappings":"svBAIA,MAAMA,EAAgBC,EAAOC,CAAG,EAAwB,CAAC,CAAE,MAAAC,EAAO,SAAAC,MAAgB,CAChF,gBAAiB,iEAAiEC,EAAWD,CAAQ,CAAC,KACtG,eAAgB,QAChB,mBAAoB,SACpB,MAAO,OACP,OAAQ,QACR,QAAS,OACT,WAAY,SACZ,eAAgB,aAChB,aAAcD,EAAM,QAAQ,CAAC,EAC7B,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,OAAQ,QACR,eAAgB,QAAA,CAEpB,EAAE,EAEIG,EAAcL,EAAOC,CAAG,EAAE,CAAC,CAAE,MAAAC,MAAa,CAC9C,UAAW,OACX,MAAOA,EAAM,QAAQ,OAAO,MAC5B,SAAUA,EAAM,QAAQ,GAAG,EAC3B,MAAO,OACP,OAAQ,SACR,QAASA,EAAM,QAAQ,CAAC,EACxB,MAAO,CACL,SAAU,OACV,WAAY,OACZ,WAAY,8BAAA,EAEd,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,UAAW,QAAA,CAEf,EAAE,EAEII,EAAYN,EAAOO,CAAU,EAAE,CAAC,CAAE,MAAAL,MAAa,CACnD,aAAcA,EAAM,QAAQ,CAAC,EAC7B,WAAY,+BACZ,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,EAAG,CAC9B,SAAUA,EAAM,WAAW,GAAG,SAC9B,WAAYA,EAAM,WAAW,GAAG,WAChC,WAAYA,EAAM,WAAW,GAAG,UAAA,CAEpC,EAAE,ECxCIM,EAAeC,EAAAA,KAAMC,GAA6B,CACtD,KAAM,CAAE,SAAAC,EAAU,YAAAC,EAAa,MAAAC,CAAA,EAAUH,EACzC,OACEI,EAAAA,IAACf,EAAA,CAAc,SAAUc,EACvB,gBAACR,EAAA,CACC,SAAA,CAAAS,EAAAA,IAACR,EAAA,CAAU,QAAQ,KAAM,SAAAK,EAAS,EAClCG,EAAAA,IAACP,EAAA,CAAW,QAAQ,QAAS,SAAAK,CAAA,CAAY,CAAA,CAAA,CAC3C,CAAA,CACF,CAEJ,CAAC,ECDKG,EAAmB,CAAC,CAAE,SAAAJ,KAA2C,CACrE,KAAM,CAAE,EAAAK,CAAA,EAAMC,EAAA,EACRC,EAAWC,EAAA,EACX,CAAE,MAAAC,EAAO,iBAAAC,EAAkB,MAAAC,CAAA,EAAUC,EAAqB,CAC9D,SAAUZ,EAAS,IAAA,CACpB,EAED,OAAIW,EAEAR,EAAAA,IAACU,GACC,SAAAV,EAAAA,IAACP,EAAA,CAAW,MAAM,QAAS,SAAAS,EAAE,kBAAkB,CAAA,CAAE,CAAA,CACnD,QAIIS,EAAA,CAAS,MAAAL,EAAc,QAASC,EAAkB,YAAa,CAACH,EAAU,CACpF,EAEaQ,EAAe,IAAM,CAChC,KAAM,CAAE,CAAA,EAAMT,EAAA,EACR,CAAE,aAAAU,CAAA,EAAiBC,EAAA,EAEnB,CACJ,KAAMjB,EACN,UAAWkB,EACX,MAAOC,CAAA,EACLC,EAA8B,CAChC,KAAMJ,GAAgB,EAAA,CACvB,EAEKK,EAAUC,EAAO,eAAe,GAAK,GAE3C,OAAIH,QAECI,EAAA,CAAW,mBAAoB,GAAM,eAAgBP,EACpD,SAAAb,EAAAA,IAACU,EAAA,CACC,SAAAV,EAAAA,IAACP,EAAA,CAAW,MAAM,QAAS,SAAA,EAAE,qBAAqB,CAAA,CAAE,EACtD,EACF,EAKF4B,EAAAA,KAACD,EAAA,CACC,mBAAoB,GACpB,eAAgBP,EAChB,OACEhB,EAAWG,EAAAA,IAACN,EAAA,CAAa,SAAUG,EAAS,MAAO,YAAaA,EAAS,YAAa,MAAOA,EAAS,MAAM,IAAK,EAAK,OAGxH,SAAA,CAAAG,EAAAA,IAACsB,EAAA,CACC,MAAOzB,GAAU,MACjB,YAAaA,GAAU,aAAe,EAAE,0BAA0B,EAClE,IAAK,GAAGqB,CAAO,IAAIL,CAAY,GAC/B,MACEhB,GAAU,MACN,CACE,IAAKA,EAAS,MAAM,IACpB,MAAOA,EAAS,MAAM,MACtB,OAAQA,EAAS,MAAM,OACvB,IAAKA,EAAS,KAAA,EAEhB,MAAA,CAAA,EAGPkB,EACCf,EAAAA,IAACU,EAAA,CACC,SAAAV,EAAAA,IAACuB,EAAA,CAAA,CAAiB,EACpB,EACE1B,EAEFG,EAAAA,IAACC,EAAA,CAAmC,SAAAJ,CAAA,EAAbA,EAAS,EAAwB,EACtD,IAAA,CAAA,CAAA,CAGV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t}from"./index-
|
|
1
|
+
import{j as t}from"./index-DaRevScO.js";import{r as i}from"./vendor-router-D_36sTKu.js";const h=i.memo(function(s){const{isOpen:e,...o}=s,r=i.useId();return t.jsxs("svg",{...o,className:e?"open":"close",width:"72",height:"72",viewBox:"0 0 72 72",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("circle",{opacity:e?"1":"0.2",cx:"36",cy:"36",r:"35",stroke:"white",fill:e?"white":"none",strokeWidth:"2"}),t.jsx("g",{clipPath:`url(#${r})`,children:t.jsx("path",{d:"M45 33.0022L42.885 30.8872L36 37.7572L29.115 30.8872L27 33.0022L36 42.0022L45 33.0022Z",fill:e?"#242129":"white"})}),t.jsx("defs",{children:t.jsx("clipPath",{id:r,children:t.jsx("rect",{width:"36",height:"36",fill:"white",transform:"translate(54 18) rotate(90)"})})})]})});export{h as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircleAndArrow-
|
|
1
|
+
{"version":3,"file":"CircleAndArrow-DDOq4aRv.js","sources":["../../src/components/Icon/CircleAndArrow.tsx"],"sourcesContent":["import { type SVGAttributes, memo, useId } from 'react'\n\ntype CircleAndArrowProps = SVGAttributes<SVGElement> & {\n isOpen: boolean\n}\n\nconst CircleAndArrow = memo(function CircleAndArrow(props: CircleAndArrowProps) {\n const { isOpen, ...rest } = props\n const clipId = useId()\n return (\n <svg\n {...rest}\n className={isOpen ? 'open' : 'close'}\n width=\"72\"\n height=\"72\"\n viewBox=\"0 0 72 72\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle opacity={isOpen ? '1' : '0.2'} cx=\"36\" cy=\"36\" r=\"35\" stroke=\"white\" fill={isOpen ? 'white' : 'none'} strokeWidth=\"2\" />\n <g clipPath={`url(#${clipId})`}>\n <path\n d=\"M45 33.0022L42.885 30.8872L36 37.7572L29.115 30.8872L27 33.0022L36 42.0022L45 33.0022Z\"\n fill={isOpen ? '#242129' : 'white'}\n />\n </g>\n <defs>\n <clipPath id={clipId}>\n <rect width=\"36\" height=\"36\" fill=\"white\" transform=\"translate(54 18) rotate(90)\" />\n </clipPath>\n </defs>\n </svg>\n )\n})\n\nexport { CircleAndArrow }\n"],"names":["CircleAndArrow","memo","props","isOpen","rest","clipId","useId","jsxs","jsx"],"mappings":"wFAMA,MAAMA,EAAiBC,EAAAA,KAAK,SAAwBC,EAA4B,CAC9E,KAAM,CAAE,OAAAC,EAAQ,GAAGC,CAAA,EAASF,EACtBG,EAASC,EAAAA,MAAA,EACf,OACEC,EAAAA,KAAC,MAAA,CACE,GAAGH,EACJ,UAAWD,EAAS,OAAS,QAC7B,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BAEN,SAAA,CAAAK,MAAC,UAAO,QAASL,EAAS,IAAM,MAAO,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,OAAO,QAAQ,KAAMA,EAAS,QAAU,OAAQ,YAAY,IAAI,EAC9HK,MAAC,IAAA,CAAE,SAAU,QAAQH,CAAM,IACzB,SAAAG,EAAAA,IAAC,OAAA,CACC,EAAE,yFACF,KAAML,EAAS,UAAY,OAAA,CAAA,EAE/B,QACC,OAAA,CACC,SAAAK,EAAAA,IAAC,WAAA,CAAS,GAAIH,EACZ,SAAAG,MAAC,OAAA,CAAK,MAAM,KAAK,OAAO,KAAK,KAAK,QAAQ,UAAU,8BAA8B,EACpF,CAAA,CACF,CAAA,CAAA,CAAA,CAGN,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as N,C as E,D as I,_ as U,c as o,j as v,E as w,F as n,G as z,s as g,H as $,I as _}from"./index-
|
|
1
|
+
import{A as N,C as E,D as I,_ as U,c as o,j as v,E as w,F as n,G as z,s as g,H as $,I as _}from"./index-DaRevScO.js";import{r as F}from"./vendor-router-D_36sTKu.js";function G(r){return N("MuiCircularProgress",r)}E("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);const K=["className","color","disableShrink","size","style","thickness","value","variant"];let l=r=>r,P,S,b,D;const t=44,W=_(P||(P=l`
|
|
2
2
|
0% {
|
|
3
3
|
transform: rotate(0deg);
|
|
4
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircularProgress-DcmGIHDk.js","sources":["../../node_modules/decentraland-ui2/node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/CircularProgress/CircularProgress.js"],"sourcesContent":["import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCircularProgressUtilityClass(slot) {\n return generateUtilityClass('MuiCircularProgress', slot);\n}\nconst circularProgressClasses = generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);\nexport default circularProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"disableShrink\", \"size\", \"style\", \"thickness\", \"value\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getCircularProgressUtilityClass } from './circularProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst SIZE = 44;\nconst circularRotateKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n`));\nconst circularDashKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color,\n disableShrink\n } = ownerState;\n const slots = {\n root: ['root', variant, `color${capitalize(color)}`],\n svg: ['svg'],\n circle: ['circle', `circle${capitalize(variant)}`, disableShrink && 'circleDisableShrink']\n };\n return composeClasses(slots, getCircularProgressUtilityClass, classes);\n};\nconst CircularProgressRoot = styled('span', {\n name: 'MuiCircularProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n display: 'inline-block'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('transform')\n}, ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && css(_t3 || (_t3 = _`\n animation: ${0} 1.4s linear infinite;\n `), circularRotateKeyframe));\nconst CircularProgressSVG = styled('svg', {\n name: 'MuiCircularProgress',\n slot: 'Svg',\n overridesResolver: (props, styles) => styles.svg\n})({\n display: 'block' // Keeps the progress centered\n});\nconst CircularProgressCircle = styled('circle', {\n name: 'MuiCircularProgress',\n slot: 'Circle',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.circle, styles[`circle${capitalize(ownerState.variant)}`], ownerState.disableShrink && styles.circleDisableShrink];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n stroke: 'currentColor'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('stroke-dashoffset')\n}, ownerState.variant === 'indeterminate' && {\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug.\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && !ownerState.disableShrink && css(_t4 || (_t4 = _`\n animation: ${0} 1.4s ease-in-out infinite;\n `), circularDashKeyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst CircularProgress = /*#__PURE__*/React.forwardRef(function CircularProgress(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCircularProgress'\n });\n const {\n className,\n color = 'primary',\n disableShrink = false,\n size = 40,\n style,\n thickness = 3.6,\n value = 0,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n disableShrink,\n size,\n thickness,\n value,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const circleStyle = {};\n const rootStyle = {};\n const rootProps = {};\n if (variant === 'determinate') {\n const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`;\n rootStyle.transform = 'rotate(-90deg)';\n }\n return /*#__PURE__*/_jsx(CircularProgressRoot, _extends({\n className: clsx(classes.root, className),\n style: _extends({\n width: size,\n height: size\n }, rootStyle, style),\n ownerState: ownerState,\n ref: ref,\n role: \"progressbar\"\n }, rootProps, other, {\n children: /*#__PURE__*/_jsx(CircularProgressSVG, {\n className: classes.svg,\n ownerState: ownerState,\n viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,\n children: /*#__PURE__*/_jsx(CircularProgressCircle, {\n className: classes.circle,\n style: circleStyle,\n ownerState: ownerState,\n cx: SIZE,\n cy: SIZE,\n r: (SIZE - thickness) / 2,\n fill: \"none\",\n strokeWidth: thickness\n })\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? CircularProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the shrink animation is disabled.\n * This only works if variant is `indeterminate`.\n * @default false\n */\n disableShrink: chainPropTypes(PropTypes.bool, props => {\n if (props.disableShrink && props.variant && props.variant !== 'indeterminate') {\n return new Error('MUI: You have provided the `disableShrink` prop ' + 'with a variant other than `indeterminate`. This will have no effect.');\n }\n return null;\n }),\n /**\n * The size of the component.\n * If using a number, the pixel unit is assumed.\n * If using a string, you need to provide the CSS unit, for example '3rem'.\n * @default 40\n */\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The thickness of the circle.\n * @default 3.6\n */\n thickness: PropTypes.number,\n /**\n * The value of the progress indicator for the determinate variant.\n * Value between 0 and 100.\n * @default 0\n */\n value: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['determinate', 'indeterminate'])\n} : void 0;\nexport default CircularProgress;"],"names":["getCircularProgressUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","_","t","_t","_t2","_t3","_t4","SIZE","circularRotateKeyframe","keyframes","circularDashKeyframe","useUtilityClasses","ownerState","classes","variant","color","disableShrink","slots","capitalize","composeClasses","CircularProgressRoot","styled","props","styles","theme","_extends","css","CircularProgressSVG","CircularProgressCircle","CircularProgress","React.forwardRef","inProps","ref","useDefaultProps","className","size","style","thickness","value","other","_objectWithoutPropertiesLoose","circleStyle","rootStyle","rootProps","circumference","_jsx","clsx"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"CircularProgress-DMJbftwB.js","sources":["../../node_modules/decentraland-ui2/node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/CircularProgress/CircularProgress.js"],"sourcesContent":["import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCircularProgressUtilityClass(slot) {\n return generateUtilityClass('MuiCircularProgress', slot);\n}\nconst circularProgressClasses = generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);\nexport default circularProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"disableShrink\", \"size\", \"style\", \"thickness\", \"value\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getCircularProgressUtilityClass } from './circularProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst SIZE = 44;\nconst circularRotateKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n`));\nconst circularDashKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color,\n disableShrink\n } = ownerState;\n const slots = {\n root: ['root', variant, `color${capitalize(color)}`],\n svg: ['svg'],\n circle: ['circle', `circle${capitalize(variant)}`, disableShrink && 'circleDisableShrink']\n };\n return composeClasses(slots, getCircularProgressUtilityClass, classes);\n};\nconst CircularProgressRoot = styled('span', {\n name: 'MuiCircularProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n display: 'inline-block'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('transform')\n}, ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && css(_t3 || (_t3 = _`\n animation: ${0} 1.4s linear infinite;\n `), circularRotateKeyframe));\nconst CircularProgressSVG = styled('svg', {\n name: 'MuiCircularProgress',\n slot: 'Svg',\n overridesResolver: (props, styles) => styles.svg\n})({\n display: 'block' // Keeps the progress centered\n});\nconst CircularProgressCircle = styled('circle', {\n name: 'MuiCircularProgress',\n slot: 'Circle',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.circle, styles[`circle${capitalize(ownerState.variant)}`], ownerState.disableShrink && styles.circleDisableShrink];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n stroke: 'currentColor'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('stroke-dashoffset')\n}, ownerState.variant === 'indeterminate' && {\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug.\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && !ownerState.disableShrink && css(_t4 || (_t4 = _`\n animation: ${0} 1.4s ease-in-out infinite;\n `), circularDashKeyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst CircularProgress = /*#__PURE__*/React.forwardRef(function CircularProgress(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCircularProgress'\n });\n const {\n className,\n color = 'primary',\n disableShrink = false,\n size = 40,\n style,\n thickness = 3.6,\n value = 0,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n disableShrink,\n size,\n thickness,\n value,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const circleStyle = {};\n const rootStyle = {};\n const rootProps = {};\n if (variant === 'determinate') {\n const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`;\n rootStyle.transform = 'rotate(-90deg)';\n }\n return /*#__PURE__*/_jsx(CircularProgressRoot, _extends({\n className: clsx(classes.root, className),\n style: _extends({\n width: size,\n height: size\n }, rootStyle, style),\n ownerState: ownerState,\n ref: ref,\n role: \"progressbar\"\n }, rootProps, other, {\n children: /*#__PURE__*/_jsx(CircularProgressSVG, {\n className: classes.svg,\n ownerState: ownerState,\n viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,\n children: /*#__PURE__*/_jsx(CircularProgressCircle, {\n className: classes.circle,\n style: circleStyle,\n ownerState: ownerState,\n cx: SIZE,\n cy: SIZE,\n r: (SIZE - thickness) / 2,\n fill: \"none\",\n strokeWidth: thickness\n })\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? CircularProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the shrink animation is disabled.\n * This only works if variant is `indeterminate`.\n * @default false\n */\n disableShrink: chainPropTypes(PropTypes.bool, props => {\n if (props.disableShrink && props.variant && props.variant !== 'indeterminate') {\n return new Error('MUI: You have provided the `disableShrink` prop ' + 'with a variant other than `indeterminate`. This will have no effect.');\n }\n return null;\n }),\n /**\n * The size of the component.\n * If using a number, the pixel unit is assumed.\n * If using a string, you need to provide the CSS unit, for example '3rem'.\n * @default 40\n */\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The thickness of the circle.\n * @default 3.6\n */\n thickness: PropTypes.number,\n /**\n * The value of the progress indicator for the determinate variant.\n * Value between 0 and 100.\n * @default 0\n */\n value: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['determinate', 'indeterminate'])\n} : void 0;\nexport default CircularProgress;"],"names":["getCircularProgressUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","_","t","_t","_t2","_t3","_t4","SIZE","circularRotateKeyframe","keyframes","circularDashKeyframe","useUtilityClasses","ownerState","classes","variant","color","disableShrink","slots","capitalize","composeClasses","CircularProgressRoot","styled","props","styles","theme","_extends","css","CircularProgressSVG","CircularProgressCircle","CircularProgress","React.forwardRef","inProps","ref","useDefaultProps","className","size","style","thickness","value","other","_objectWithoutPropertiesLoose","circleStyle","rootStyle","rootProps","circumference","_jsx","clsx"],"mappings":"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","x_google_ignoreList":[0,1]}
|