@dcl/landing-site 0.5.1-24686484792.commit-e56f2bf → 0.5.1-24692282370.commit-1a6e5c1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/assets/{AnimatedBackground-BbbuCmrW.js → AnimatedBackground-DVpktqVp.js} +2 -2
  2. package/assets/{AnimatedBackground-BbbuCmrW.js.map → AnimatedBackground-DVpktqVp.js.map} +1 -1
  3. package/assets/{AnimatedSection-CcAt5h6R.js → AnimatedSection-BLhE6NJp.js} +1 -1
  4. package/assets/{AnimatedSection-CcAt5h6R.js.map → AnimatedSection-BLhE6NJp.js.map} +1 -1
  5. package/assets/{ArrowBackIosNew-lqzUFZQL.js → ArrowBackIosNew-CCkNG9yi.js} +1 -1
  6. package/assets/{ArrowBackIosNew-lqzUFZQL.js.map → ArrowBackIosNew-CCkNG9yi.js.map} +1 -1
  7. package/assets/{AuthorPage-4inFQH2X.js → AuthorPage-D8_PRDI7.js} +1 -1
  8. package/assets/{AuthorPage-4inFQH2X.js.map → AuthorPage-D8_PRDI7.js.map} +1 -1
  9. package/assets/{Badges-DPcq_7dC.js → Badges-CoaVGqwO.js} +1 -1
  10. package/assets/{Badges-DPcq_7dC.js.map → Badges-CoaVGqwO.js.map} +1 -1
  11. package/assets/{BlogLayout-Bl9FID_L.js → BlogLayout-D9XGGawk.js} +1 -1
  12. package/assets/{BlogLayout-Bl9FID_L.js.map → BlogLayout-D9XGGawk.js.map} +1 -1
  13. package/assets/{BlogPage-4c8ZFzdw.js → BlogPage-CXKxWbag.js} +1 -1
  14. package/assets/{BlogPage-4c8ZFzdw.js.map → BlogPage-CXKxWbag.js.map} +1 -1
  15. package/assets/{CTAButton-D8_9d6Wu.js → CTAButton-BurlKFHL.js} +1 -1
  16. package/assets/{CTAButton-D8_9d6Wu.js.map → CTAButton-BurlKFHL.js.map} +1 -1
  17. package/assets/{CardContent-BQ0iSa2p.js → CardContent-BiDO6--E.js} +1 -1
  18. package/assets/{CardContent-BQ0iSa2p.js.map → CardContent-BiDO6--E.js.map} +1 -1
  19. package/assets/{CardMedia-B6PneSTk.js → CardMedia-P7V4G8Ao.js} +1 -1
  20. package/assets/{CardMedia-B6PneSTk.js.map → CardMedia-P7V4G8Ao.js.map} +1 -1
  21. package/assets/{Carousel-DJd7E-wq.js → Carousel-BR4vMJGd.js} +1 -1
  22. package/assets/{Carousel-DJd7E-wq.js.map → Carousel-BR4vMJGd.js.map} +1 -1
  23. package/assets/{CategoryPage-DNQI3nXz.js → CategoryPage-BPCoXot3.js} +1 -1
  24. package/assets/{CategoryPage-DNQI3nXz.js.map → CategoryPage-BPCoXot3.js.map} +1 -1
  25. package/assets/{CircleAndArrow-DIeWRbH9.js → CircleAndArrow-BuEJmlbN.js} +1 -1
  26. package/assets/{CircleAndArrow-DIeWRbH9.js.map → CircleAndArrow-BuEJmlbN.js.map} +1 -1
  27. package/assets/{CircularProgress-AsNM1BvH.js → CircularProgress-pomnkuJx.js} +1 -1
  28. package/assets/{CircularProgress-AsNM1BvH.js.map → CircularProgress-pomnkuJx.js.map} +1 -1
  29. package/assets/{ContentCopy-CDhBZqHF.js → ContentCopy-Dmqt7VDt.js} +1 -1
  30. package/assets/{ContentCopy-CDhBZqHF.js.map → ContentCopy-Dmqt7VDt.js.map} +1 -1
  31. package/assets/{CreateEventPage-NcQUT47j.js → CreateEventPage-Yf9dwFyI.js} +1 -1
  32. package/assets/CreateEventPage-Yf9dwFyI.js.map +1 -0
  33. package/assets/{CreatorHubDownload-y9x_B8ll.js → CreatorHubDownload-BmRXscv9.js} +1 -1
  34. package/assets/{CreatorHubDownload-y9x_B8ll.js.map → CreatorHubDownload-BmRXscv9.js.map} +1 -1
  35. package/assets/{CreatorHubDownloadSuccess-BP7MSbSp.js → CreatorHubDownloadSuccess-DUNF3ob1.js} +1 -1
  36. package/assets/{CreatorHubDownloadSuccess-BP7MSbSp.js.map → CreatorHubDownloadSuccess-DUNF3ob1.js.map} +1 -1
  37. package/assets/{DappsShell-HNAsXcn5.js → DappsShell-C8t4K0gM.js} +1 -1
  38. package/assets/{DappsShell-HNAsXcn5.js.map → DappsShell-C8t4K0gM.js.map} +1 -1
  39. package/assets/{DownloadSuccessLayout-COBp7A1N.js → DownloadSuccessLayout-BtszP84v.js} +1 -1
  40. package/assets/{DownloadSuccessLayout-COBp7A1N.js.map → DownloadSuccessLayout-BtszP84v.js.map} +1 -1
  41. package/assets/{Grow-eKASrvPe.js → Grow-BOVsEgO5.js} +1 -1
  42. package/assets/{Grow-eKASrvPe.js.map → Grow-BOVsEgO5.js.map} +1 -1
  43. package/assets/HomePage-Cuim8IQO.js +3 -0
  44. package/assets/HomePage-Cuim8IQO.js.map +1 -0
  45. package/assets/{InviteFaqs-BkOvxqyN.js → InviteFaqs-Dednx3YH.js} +1 -1
  46. package/assets/{InviteFaqs-BkOvxqyN.js.map → InviteFaqs-Dednx3YH.js.map} +1 -1
  47. package/assets/{InvitePage-D5lELZNP.js → InvitePage-Dh4saTGB.js} +2 -2
  48. package/assets/{InvitePage-D5lELZNP.js.map → InvitePage-Dh4saTGB.js.map} +1 -1
  49. package/assets/{JumpInIcon-bPOWl5ae.js → JumpInIcon-DubYMzvy.js} +1 -1
  50. package/assets/{JumpInIcon-bPOWl5ae.js.map → JumpInIcon-DubYMzvy.js.map} +1 -1
  51. package/assets/{LegalPageLayout-DeH35WpT.js → LegalPageLayout-hVF919wE.js} +1 -1
  52. package/assets/{LegalPageLayout-DeH35WpT.js.map → LegalPageLayout-hVF919wE.js.map} +1 -1
  53. package/assets/{Link-C3GGl2C6.js → Link-CUGXIwgr.js} +1 -1
  54. package/assets/{Link-C3GGl2C6.js.map → Link-CUGXIwgr.js.map} +1 -1
  55. package/assets/{MenuItem-B0piwgTa.js → MenuItem-DuGK0OxB.js} +1 -1
  56. package/assets/{MenuItem-B0piwgTa.js.map → MenuItem-DuGK0OxB.js.map} +1 -1
  57. package/assets/{Paper-BfSYUoim.js → Paper-eMTGRWtM.js} +1 -1
  58. package/assets/{Paper-BfSYUoim.js.map → Paper-eMTGRWtM.js.map} +1 -1
  59. package/assets/{PostCard-Zsk0_WYz.js → PostCard-kjSmPWWO.js} +1 -1
  60. package/assets/{PostCard-Zsk0_WYz.js.map → PostCard-kjSmPWWO.js.map} +1 -1
  61. package/assets/{PostPage-FBb63V37.js → PostPage-BlhpX6oD.js} +1 -1
  62. package/assets/{PostPage-FBb63V37.js.map → PostPage-BlhpX6oD.js.map} +1 -1
  63. package/assets/{PostPage.styled-B7Xofl3c.js → PostPage.styled-Po3WWoh-.js} +3 -3
  64. package/assets/{PostPage.styled-B7Xofl3c.js.map → PostPage.styled-Po3WWoh-.js.map} +1 -1
  65. package/assets/{PreviewPage-Dla6vQZW.js → PreviewPage-n3uTSCXI.js} +1 -1
  66. package/assets/{PreviewPage-Dla6vQZW.js.map → PreviewPage-n3uTSCXI.js.map} +1 -1
  67. package/assets/{SEO-CGGKu_zm.js → SEO-DwbA3w8I.js} +1 -1
  68. package/assets/{SEO-CGGKu_zm.js.map → SEO-DwbA3w8I.js.map} +1 -1
  69. package/assets/{SearchPage-ByMcz1c8.js → SearchPage-DI4jZ-5r.js} +1 -1
  70. package/assets/{SearchPage-ByMcz1c8.js.map → SearchPage-DI4jZ-5r.js.map} +1 -1
  71. package/assets/{SignInRedirect-Bxl1dwag.js → SignInRedirect-B5d-ThV0.js} +1 -1
  72. package/assets/{SignInRedirect-Bxl1dwag.js.map → SignInRedirect-B5d-ThV0.js.map} +1 -1
  73. package/assets/{SignInRedirect-BNwfxyGB.js → SignInRedirect-BG6hu62E.js} +1 -1
  74. package/assets/{SignInRedirect-BNwfxyGB.js.map → SignInRedirect-BG6hu62E.js.map} +1 -1
  75. package/assets/{Skeleton-BP1Os8gY.js → Skeleton-L6NTNEwq.js} +1 -1
  76. package/assets/{Skeleton-BP1Os8gY.js.map → Skeleton-L6NTNEwq.js.map} +1 -1
  77. package/assets/{TwitterEmbed-BbSYYog-.js → TwitterEmbed-NxuXdAtw.js} +1 -1
  78. package/assets/{TwitterEmbed-BbSYYog-.js.map → TwitterEmbed-NxuXdAtw.js.map} +1 -1
  79. package/assets/{Video--A0fBGqz.js → Video-DfjlIy5m.js} +1 -1
  80. package/assets/{Video--A0fBGqz.js.map → Video-DfjlIy5m.js.map} +1 -1
  81. package/assets/WearablePreview-DMBKL_Ll.js +4 -0
  82. package/assets/{WearablePreview-KunRQByO.js.map → WearablePreview-DMBKL_Ll.js.map} +1 -1
  83. package/assets/{auto-track-DJw7KsLA.js → auto-track-CGclljni.js} +1 -1
  84. package/assets/{auto-track-DJw7KsLA.js.map → auto-track-CGclljni.js.map} +1 -1
  85. package/assets/{ccip-EHA4QwVS.js → ccip-DAt5iVuT.js} +1 -1
  86. package/assets/{ccip-EHA4QwVS.js.map → ccip-DAt5iVuT.js.map} +1 -1
  87. package/assets/{createSvgIcon-CnAtXIjx.js → createSvgIcon-BhhLusxy.js} +1 -1
  88. package/assets/{createSvgIcon-CnAtXIjx.js.map → createSvgIcon-BhhLusxy.js.map} +1 -1
  89. package/assets/{download-Csh0UAX4.js → download-CvDMtlSB.js} +2 -2
  90. package/assets/{download-Csh0UAX4.js.map → download-CvDMtlSB.js.map} +1 -1
  91. package/assets/{downloadWithIdentity-imzC-1Iy.js → downloadWithIdentity-DCM4BBHV.js} +1 -1
  92. package/assets/{downloadWithIdentity-imzC-1Iy.js.map → downloadWithIdentity-DCM4BBHV.js.map} +1 -1
  93. package/assets/{events.client-BypQp_hx.js → events.client-PE8SGazl.js} +1 -1
  94. package/assets/events.client-PE8SGazl.js.map +1 -0
  95. package/assets/host_avatar-Gho9W3pF.webp +0 -0
  96. package/assets/host_scene-BStngEfA.webp +0 -0
  97. package/assets/{index-CqU_IKja.js → index-4jeILFtC.js} +1 -1
  98. package/assets/{index-CqU_IKja.js.map → index-4jeILFtC.js.map} +1 -1
  99. package/assets/{index-BzmWmDt2.js → index-B3vFLEhz.js} +1 -1
  100. package/assets/{index-BzmWmDt2.js.map → index-B3vFLEhz.js.map} +1 -1
  101. package/assets/{index-FcfsIuei.js → index-B4891LJN.js} +1 -1
  102. package/assets/{index-FcfsIuei.js.map → index-B4891LJN.js.map} +1 -1
  103. package/assets/{index-Hs2OtJ7_.js → index-B9yrTavV.js} +1 -1
  104. package/assets/{index-Hs2OtJ7_.js.map → index-B9yrTavV.js.map} +1 -1
  105. package/assets/{index-CJ9b6HdV.js → index-BLHhkq_E.js} +1 -1
  106. package/assets/{index-CJ9b6HdV.js.map → index-BLHhkq_E.js.map} +1 -1
  107. package/assets/{index-DV8UooZK.js → index-BMXADetK.js} +1 -1
  108. package/assets/{index-DV8UooZK.js.map → index-BMXADetK.js.map} +1 -1
  109. package/assets/{index-iTL2dY0l.js → index-BkJ8YBkm.js} +1 -1
  110. package/assets/{index-iTL2dY0l.js.map → index-BkJ8YBkm.js.map} +1 -1
  111. package/assets/{index-DwKCx_Fj.js → index-BlsbAsbV.js} +17 -17
  112. package/assets/{index-DwKCx_Fj.js.map → index-BlsbAsbV.js.map} +1 -1
  113. package/assets/{index-DUmIu2EK.js → index-BoINd_2w.js} +29 -29
  114. package/assets/{index-DUmIu2EK.js.map → index-BoINd_2w.js.map} +1 -1
  115. package/assets/{index-BtL1Whr6.js → index-C6X9yhDI.js} +1 -1
  116. package/assets/{index-BtL1Whr6.js.map → index-C6X9yhDI.js.map} +1 -1
  117. package/assets/{index-KkMZZ6nz.js → index-C6gBuUpB.js} +1 -1
  118. package/assets/{index-KkMZZ6nz.js.map → index-C6gBuUpB.js.map} +1 -1
  119. package/assets/{index-CfKiEnnb.js → index-CFdZJosQ.js} +1 -1
  120. package/assets/{index-CfKiEnnb.js.map → index-CFdZJosQ.js.map} +1 -1
  121. package/assets/{index-BKY10VNY.js → index-COhuG0UZ.js} +1 -1
  122. package/assets/{index-BKY10VNY.js.map → index-COhuG0UZ.js.map} +1 -1
  123. package/assets/{index-BVu5N7d0.js → index-CXg_mAxU.js} +1 -1
  124. package/assets/{index-BVu5N7d0.js.map → index-CXg_mAxU.js.map} +1 -1
  125. package/assets/{index-DW87VeBc.js → index-C_GsQ0sm.js} +1 -1
  126. package/assets/{index-DW87VeBc.js.map → index-C_GsQ0sm.js.map} +1 -1
  127. package/assets/{index-pguZ7Pr7.js → index-CaK85mwB.js} +2 -2
  128. package/assets/{index-pguZ7Pr7.js.map → index-CaK85mwB.js.map} +1 -1
  129. package/assets/{index-B-PLjKpI.js → index-CwtsGcw-.js} +1 -1
  130. package/assets/{index-B-PLjKpI.js.map → index-CwtsGcw-.js.map} +1 -1
  131. package/assets/index-D1E7QSbi.js +1 -0
  132. package/assets/index-D1E7QSbi.js.map +1 -0
  133. package/assets/{index-CC8b5SLA.js → index-DCRycbXf.js} +1 -1
  134. package/assets/{index-CC8b5SLA.js.map → index-DCRycbXf.js.map} +1 -1
  135. package/assets/{index-XwRFjo-F.js → index-DCk4IgWe.js} +3 -3
  136. package/assets/{index-XwRFjo-F.js.map → index-DCk4IgWe.js.map} +1 -1
  137. package/assets/{index-CsY_wahP.js → index-DNB0OcQp.js} +1 -1
  138. package/assets/{index-CsY_wahP.js.map → index-DNB0OcQp.js.map} +1 -1
  139. package/assets/{index-DJdpP3iF.js → index-DYASHZBv.js} +1 -1
  140. package/assets/{index-DJdpP3iF.js.map → index-DYASHZBv.js.map} +1 -1
  141. package/assets/{index-CXMTgMUj.js → index-DgH2pgVp.js} +1 -1
  142. package/assets/{index-CXMTgMUj.js.map → index-DgH2pgVp.js.map} +1 -1
  143. package/assets/{index-DIU7xr_7.js → index-DjSZxWiq.js} +1 -1
  144. package/assets/{index-DIU7xr_7.js.map → index-DjSZxWiq.js.map} +1 -1
  145. package/assets/{index-fmnLygLZ.js → index-DuA-Kgw5.js} +1 -1
  146. package/assets/{index-fmnLygLZ.js.map → index-DuA-Kgw5.js.map} +1 -1
  147. package/assets/{index-Bd63106P.js → index-DvGiXclv.js} +1 -1
  148. package/assets/{index-Bd63106P.js.map → index-DvGiXclv.js.map} +1 -1
  149. package/assets/{index-Bfn0rTR9.js → index-IqQ1Xbmj.js} +1 -1
  150. package/assets/{index-Bfn0rTR9.js.map → index-IqQ1Xbmj.js.map} +1 -1
  151. package/assets/{index-BO6ciUn8.js → index-Oddt0EKb.js} +1 -1
  152. package/assets/{index-BO6ciUn8.js.map → index-Oddt0EKb.js.map} +1 -1
  153. package/assets/{index-Bq7PojkE.js → index-_IheZrQS.js} +1 -1
  154. package/assets/{index-Bq7PojkE.js.map → index-_IheZrQS.js.map} +1 -1
  155. package/assets/{index-Dx9lzInm.js → index-behXzsxg.js} +1 -1
  156. package/assets/{index-Dx9lzInm.js.map → index-behXzsxg.js.map} +1 -1
  157. package/assets/{index-0VgKmd34.js → index-xHmg3xmQ.js} +1 -1
  158. package/assets/{index-0VgKmd34.js.map → index-xHmg3xmQ.js.map} +1 -1
  159. package/assets/{index-BaEE4ZXP.js → index-z5rocGN5.js} +1 -1
  160. package/assets/{index-BaEE4ZXP.js.map → index-z5rocGN5.js.map} +1 -1
  161. package/assets/{profile.client-BtZZbgxj.js → profile.client-S1Y6pP0E.js} +1 -1
  162. package/assets/{profile.client-BtZZbgxj.js.map → profile.client-S1Y6pP0E.js.map} +1 -1
  163. package/assets/{shared.styled-D8qloAmp.js → shared.styled-BEvUV04u.js} +1 -1
  164. package/assets/{shared.styled-D8qloAmp.js.map → shared.styled-BEvUV04u.js.map} +1 -1
  165. package/assets/{store-OyTPwmKI.js → store-BtCGqC_U.js} +1 -1
  166. package/assets/{store-OyTPwmKI.js.map → store-BtCGqC_U.js.map} +1 -1
  167. package/assets/{url-BHzlJYXC.js → url-DZWf7pg7.js} +1 -1
  168. package/assets/{url-BHzlJYXC.js.map → url-DZWf7pg7.js.map} +1 -1
  169. package/assets/{useAuthIdentity-D2zQ3q5X.js → useAuthIdentity-C7IfvUJD.js} +1 -1
  170. package/assets/{useAuthIdentity-D2zQ3q5X.js.map → useAuthIdentity-C7IfvUJD.js.map} +1 -1
  171. package/assets/{useCreatorHubDownload-Dp_zMaiv.js → useCreatorHubDownload-Ci_tHGLN.js} +1 -1
  172. package/assets/{useCreatorHubDownload-Dp_zMaiv.js.map → useCreatorHubDownload-Ci_tHGLN.js.map} +1 -1
  173. package/assets/{useInfiniteBlogPosts-B9Mv_Fup.js → useInfiniteBlogPosts-q1OZMXQO.js} +1 -1
  174. package/assets/{useInfiniteBlogPosts-B9Mv_Fup.js.map → useInfiniteBlogPosts-q1OZMXQO.js.map} +1 -1
  175. package/assets/{useSlot-DM_UQPu8.js → useSlot-BXUbg59Y.js} +1 -1
  176. package/assets/{useSlot-DM_UQPu8.js.map → useSlot-BXUbg59Y.js.map} +1 -1
  177. package/assets/{utils-CJGePSnj.js → utils-BmJLp6Wz.js} +1 -1
  178. package/assets/{utils-CJGePSnj.js.map → utils-BmJLp6Wz.js.map} +1 -1
  179. package/index.html +15 -15
  180. package/package.json +3 -3
  181. package/assets/CreateEventPage-NcQUT47j.js.map +0 -1
  182. package/assets/HomePage-CZwkfB5G.js +0 -3
  183. package/assets/HomePage-CZwkfB5G.js.map +0 -1
  184. package/assets/WearablePreview-KunRQByO.js +0 -4
  185. package/assets/events.client-BypQp_hx.js.map +0 -1
  186. package/assets/index-C1apFG92.js +0 -1
  187. package/assets/index-C1apFG92.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SearchPage-ByMcz1c8.js","sources":["../../src/components/blog/SearchResultCard/SearchResultCard.styled.ts","../../src/components/blog/SearchResultCard/SearchResultCard.tsx","../../src/pages/blog/SearchPage.styled.ts","../../src/pages/blog/SearchPage.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { Box, Skeleton, Typography, styled } from 'decentraland-ui2'\n\nconst CardContainer = styled(Box)(({ theme }) => ({\n margin: theme.spacing(0, 0, 2),\n listStyleType: 'none',\n flexGrow: 1,\n borderRadius: theme.spacing(1),\n backgroundColor: theme.palette.background.paper,\n border: 'transparent',\n position: 'relative',\n display: 'flex',\n alignItems: 'flex-start',\n transition: 'transform 250ms ease, box-shadow 250ms ease',\n boxShadow: theme.shadows[1],\n height: '150px',\n '& > a': {\n display: 'flex',\n width: '100%',\n height: '100%',\n textDecoration: 'none'\n },\n '&:hover': {\n transform: 'translate(0, -4px)',\n boxShadow: theme.shadows[2]\n },\n [theme.breakpoints.down('sm')]: {\n height: '100px'\n }\n}))\n\nconst CardContentBox = styled(Box)(() => ({\n display: 'flex',\n width: '100%',\n height: '100%'\n}))\n\nconst CardImage = styled('img')(({ theme }) => ({\n flexShrink: 0,\n width: '232px',\n height: '100%',\n objectFit: 'cover',\n borderRadius: `${theme.shape.borderRadius}px 0 0 ${theme.shape.borderRadius}px`,\n [theme.breakpoints.down('sm')]: {\n width: '33%'\n }\n}))\n\nconst CardTextBox = styled(Box)(({ theme }) => ({\n padding: theme.spacing(2.75, 2.5, 3, 2.5),\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n overflow: 'hidden',\n '& em': {\n fontStyle: 'normal',\n fontWeight: 700,\n color: theme.palette.primary.main\n },\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(1.75)\n }\n}))\n\nconst CardTitle = styled(Typography)(({ theme }) => ({\n margin: `0 0 ${theme.spacing(0.5)}`,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: '28px',\n fontWeight: 500,\n color: theme.palette.text.primary,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n [theme.breakpoints.down('sm')]: {\n fontSize: theme.typography.pxToRem(15),\n lineHeight: '18px'\n }\n}))\n\nconst CardDescription = styled(Typography)(({ theme }) => ({\n lineHeight: '24px',\n padding: 0,\n margin: 0,\n fontSize: theme.typography.pxToRem(15),\n color: theme.palette.text.secondary,\n textAlign: 'left',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical',\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\nconst LoadingImage = styled(Skeleton)(({ theme }) => ({\n width: '232px',\n height: '100%',\n borderRadius: `${theme.shape.borderRadius}px 0 0 ${theme.shape.borderRadius}px`,\n flexShrink: 0,\n [theme.breakpoints.down('sm')]: {\n width: '33%'\n }\n}))\n\nconst LoadingTitle = styled(Skeleton)(({ theme }) => ({\n width: '80%',\n height: theme.spacing(3.5),\n marginBottom: theme.spacing(1)\n}))\n\nconst LoadingDescription = styled(Skeleton)(({ theme }) => ({\n width: '100%',\n height: theme.spacing(3),\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\nconst LoadingDescriptionShort = styled(Skeleton)(({ theme }) => ({\n width: '60%',\n height: theme.spacing(3),\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\nexport {\n CardContainer,\n CardContentBox,\n CardDescription,\n CardImage,\n CardTextBox,\n CardTitle,\n LoadingDescription,\n LoadingDescriptionShort,\n LoadingImage,\n LoadingTitle\n}\n","import { Link } from 'react-router-dom'\nimport { sanitizeHighlight } from '../Search/sanitizeHighlight'\nimport type { SearchResultCardProps } from './SearchResultCard.types'\nimport {\n CardContainer,\n CardContentBox,\n CardDescription,\n CardImage,\n CardTextBox,\n CardTitle,\n LoadingDescription,\n LoadingDescriptionShort,\n LoadingImage,\n LoadingTitle\n} from './SearchResultCard.styled'\n\nconst SearchResultCard = (props: SearchResultCardProps) => {\n const { result, loading } = props\n\n if (loading) {\n return (\n <CardContainer>\n <CardContentBox>\n <LoadingImage variant=\"rectangular\" />\n <CardTextBox>\n <LoadingTitle variant=\"text\" />\n <LoadingDescription variant=\"text\" />\n <LoadingDescriptionShort variant=\"text\" />\n </CardTextBox>\n </CardContentBox>\n </CardContainer>\n )\n }\n\n if (!result) {\n return null\n }\n\n return (\n <CardContainer>\n <Link to={result.url}>\n <CardContentBox>\n {result.image && <CardImage src={result.image} alt=\"\" loading=\"lazy\" decoding=\"async\" />}\n <CardTextBox>\n {typeof result.title === 'string' ? (\n // eslint-disable-next-line @typescript-eslint/naming-convention\n <CardTitle dangerouslySetInnerHTML={{ __html: sanitizeHighlight(result.title) }} />\n ) : (\n <CardTitle>{result.title}</CardTitle>\n )}\n {typeof result.description === 'string' ? (\n // eslint-disable-next-line @typescript-eslint/naming-convention\n <CardDescription dangerouslySetInnerHTML={{ __html: sanitizeHighlight(result.description) }} />\n ) : (\n <CardDescription>{result.description}</CardDescription>\n )}\n </CardTextBox>\n </CardContentBox>\n </Link>\n </CardContainer>\n )\n}\n\nexport { SearchResultCard }\n","/* eslint-disable @typescript-eslint/naming-convention */\nimport { Box, Typography, styled } from 'decentraland-ui2'\n\nconst SearchSubtitle = styled(Typography)(({ theme }) => ({\n margin: theme.spacing(4.5, 0, 3),\n ...theme.typography.h4,\n fontWeight: 400,\n padding: theme.spacing(0, 2),\n '& span': {\n fontWeight: 700\n }\n}))\n\nconst HeaderBox = styled(Box)(({ theme }) => ({\n marginBottom: theme.spacing(3)\n}))\n\nconst CenteredBox = styled(Box)(({ theme }) => ({\n textAlign: 'center',\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(4)\n}))\n\nconst ResultsWrapper = styled(Box)(() => ({\n display: 'flex',\n flexDirection: 'column'\n}))\n\nconst LoadMoreContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n marginTop: theme.spacing(4)\n}))\n\nexport { CenteredBox, HeaderBox, LoadMoreContainer, ResultsWrapper, SearchSubtitle }\n","import { useEffect, useMemo, useState } from 'react'\nimport { useSearchParams } from 'react-router-dom'\nimport { useTranslation } from '@dcl/hooks'\nimport { Button, Typography } from 'decentraland-ui2'\nimport { BlogLayout } from '../../components/blog/BlogLayout'\nimport { SearchResultCard } from '../../components/blog/SearchResultCard'\nimport { SEO } from '../../components/blog/SEO/SEO'\nimport { getEnv } from '../../config/env'\nimport { useSearchBlogPostsQuery } from '../../features/search/search.client'\nimport type { SearchResult } from '../../shared/blog/types/blog.domain'\nimport { CenteredBox, HeaderBox, LoadMoreContainer, ResultsWrapper, SearchSubtitle } from './SearchPage.styled'\n\nconst HITS_PER_PAGE = 10\n\nexport const SearchPage = () => {\n const { t } = useTranslation()\n const [searchParams] = useSearchParams()\n const [page, setPage] = useState(0)\n const [accumulatedResults, setAccumulatedResults] = useState<SearchResult[]>([])\n\n const query = useMemo(() => searchParams.get('q') || '', [searchParams])\n\n const { data, isLoading, isFetching } = useSearchBlogPostsQuery(\n {\n query,\n hitsPerPage: HITS_PER_PAGE,\n page\n },\n { skip: query.length < 3 }\n )\n\n // Reset accumulated results when query changes\n useEffect(() => {\n setPage(0)\n setAccumulatedResults([])\n }, [query])\n\n // Accumulate results when data changes\n useEffect(() => {\n if (data?.results) {\n if (page === 0) {\n setAccumulatedResults(data.results)\n } else {\n setAccumulatedResults(prev => [...prev, ...data.results])\n }\n }\n }, [data, page])\n\n const handleLoadMore = () => {\n setPage(prev => prev + 1)\n setTimeout(() => window.scrollBy({ top: 500, left: 0, behavior: 'smooth' }), 0)\n }\n\n const showResults = accumulatedResults.length > 0\n const showEmpty = !isLoading && query.length >= 3 && accumulatedResults.length === 0 && data?.results.length === 0\n const showLoading = isLoading && accumulatedResults.length === 0\n const hasMore = data?.hasMore ?? false\n\n const searchDescription = query ? t('search.description_with_query', { query }) : t('search.description')\n const baseUrl = getEnv('BLOG_BASE_URL') || ''\n\n return (\n <BlogLayout showBlogNavigation={true}>\n <SEO\n title={query ? t('search.title_with_query', { query }) : t('search.title')}\n description={searchDescription}\n url={query ? `${baseUrl}/search?q=${encodeURIComponent(query)}` : `${baseUrl}/search`}\n />\n {query.length >= 3 && (\n <HeaderBox>\n <SearchSubtitle>\n {t('search.results_for')} <span>&ldquo;{query}&rdquo;</span>\n </SearchSubtitle>\n </HeaderBox>\n )}\n\n {showLoading && (\n <ResultsWrapper>\n {Array.from({ length: 5 }, (_, index) => (\n <SearchResultCard key={index} loading />\n ))}\n </ResultsWrapper>\n )}\n\n {showResults && (\n <ResultsWrapper>\n {accumulatedResults.map((result, index) => (\n <SearchResultCard key={`${result.url}-${index}`} result={result} />\n ))}\n </ResultsWrapper>\n )}\n\n {isFetching && !isLoading && (\n <ResultsWrapper>\n {Array.from({ length: 3 }, (_, index) => (\n <SearchResultCard key={`loading-more-${index}`} loading />\n ))}\n </ResultsWrapper>\n )}\n\n {hasMore && showResults && !isFetching && (\n <LoadMoreContainer>\n <Button variant=\"contained\" onClick={handleLoadMore}>\n {t('blog.load_more')}\n </Button>\n </LoadMoreContainer>\n )}\n\n {showEmpty && (\n <CenteredBox>\n <Typography variant=\"h5\" gutterBottom>\n {t('blog.nothing_to_show')}\n </Typography>\n <Typography color=\"textSecondary\">\n {t('search.no_results_for')} &ldquo;{query}&rdquo;\n </Typography>\n </CenteredBox>\n )}\n </BlogLayout>\n )\n}\n"],"names":["CardContainer","styled","Box","theme","CardContentBox","CardImage","CardTextBox","CardTitle","Typography","CardDescription","LoadingImage","Skeleton","LoadingTitle","LoadingDescription","LoadingDescriptionShort","SearchResultCard","props","result","loading","jsx","jsxs","Link","sanitizeHighlight","SearchSubtitle","HeaderBox","CenteredBox","ResultsWrapper","LoadMoreContainer","HITS_PER_PAGE","SearchPage","useTranslation","searchParams","useSearchParams","page","setPage","useState","accumulatedResults","setAccumulatedResults","query","useMemo","data","isLoading","isFetching","useSearchBlogPostsQuery","useEffect","prev","handleLoadMore","showResults","showEmpty","showLoading","hasMore","searchDescription","baseUrl","getEnv","BlogLayout","SEO","_","index","Button"],"mappings":"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"}
1
+ {"version":3,"file":"SearchPage-DI4jZ-5r.js","sources":["../../src/components/blog/SearchResultCard/SearchResultCard.styled.ts","../../src/components/blog/SearchResultCard/SearchResultCard.tsx","../../src/pages/blog/SearchPage.styled.ts","../../src/pages/blog/SearchPage.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { Box, Skeleton, Typography, styled } from 'decentraland-ui2'\n\nconst CardContainer = styled(Box)(({ theme }) => ({\n margin: theme.spacing(0, 0, 2),\n listStyleType: 'none',\n flexGrow: 1,\n borderRadius: theme.spacing(1),\n backgroundColor: theme.palette.background.paper,\n border: 'transparent',\n position: 'relative',\n display: 'flex',\n alignItems: 'flex-start',\n transition: 'transform 250ms ease, box-shadow 250ms ease',\n boxShadow: theme.shadows[1],\n height: '150px',\n '& > a': {\n display: 'flex',\n width: '100%',\n height: '100%',\n textDecoration: 'none'\n },\n '&:hover': {\n transform: 'translate(0, -4px)',\n boxShadow: theme.shadows[2]\n },\n [theme.breakpoints.down('sm')]: {\n height: '100px'\n }\n}))\n\nconst CardContentBox = styled(Box)(() => ({\n display: 'flex',\n width: '100%',\n height: '100%'\n}))\n\nconst CardImage = styled('img')(({ theme }) => ({\n flexShrink: 0,\n width: '232px',\n height: '100%',\n objectFit: 'cover',\n borderRadius: `${theme.shape.borderRadius}px 0 0 ${theme.shape.borderRadius}px`,\n [theme.breakpoints.down('sm')]: {\n width: '33%'\n }\n}))\n\nconst CardTextBox = styled(Box)(({ theme }) => ({\n padding: theme.spacing(2.75, 2.5, 3, 2.5),\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n overflow: 'hidden',\n '& em': {\n fontStyle: 'normal',\n fontWeight: 700,\n color: theme.palette.primary.main\n },\n [theme.breakpoints.down('sm')]: {\n padding: theme.spacing(1.75)\n }\n}))\n\nconst CardTitle = styled(Typography)(({ theme }) => ({\n margin: `0 0 ${theme.spacing(0.5)}`,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: '28px',\n fontWeight: 500,\n color: theme.palette.text.primary,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n [theme.breakpoints.down('sm')]: {\n fontSize: theme.typography.pxToRem(15),\n lineHeight: '18px'\n }\n}))\n\nconst CardDescription = styled(Typography)(({ theme }) => ({\n lineHeight: '24px',\n padding: 0,\n margin: 0,\n fontSize: theme.typography.pxToRem(15),\n color: theme.palette.text.secondary,\n textAlign: 'left',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical',\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\nconst LoadingImage = styled(Skeleton)(({ theme }) => ({\n width: '232px',\n height: '100%',\n borderRadius: `${theme.shape.borderRadius}px 0 0 ${theme.shape.borderRadius}px`,\n flexShrink: 0,\n [theme.breakpoints.down('sm')]: {\n width: '33%'\n }\n}))\n\nconst LoadingTitle = styled(Skeleton)(({ theme }) => ({\n width: '80%',\n height: theme.spacing(3.5),\n marginBottom: theme.spacing(1)\n}))\n\nconst LoadingDescription = styled(Skeleton)(({ theme }) => ({\n width: '100%',\n height: theme.spacing(3),\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\nconst LoadingDescriptionShort = styled(Skeleton)(({ theme }) => ({\n width: '60%',\n height: theme.spacing(3),\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n}))\n\nexport {\n CardContainer,\n CardContentBox,\n CardDescription,\n CardImage,\n CardTextBox,\n CardTitle,\n LoadingDescription,\n LoadingDescriptionShort,\n LoadingImage,\n LoadingTitle\n}\n","import { Link } from 'react-router-dom'\nimport { sanitizeHighlight } from '../Search/sanitizeHighlight'\nimport type { SearchResultCardProps } from './SearchResultCard.types'\nimport {\n CardContainer,\n CardContentBox,\n CardDescription,\n CardImage,\n CardTextBox,\n CardTitle,\n LoadingDescription,\n LoadingDescriptionShort,\n LoadingImage,\n LoadingTitle\n} from './SearchResultCard.styled'\n\nconst SearchResultCard = (props: SearchResultCardProps) => {\n const { result, loading } = props\n\n if (loading) {\n return (\n <CardContainer>\n <CardContentBox>\n <LoadingImage variant=\"rectangular\" />\n <CardTextBox>\n <LoadingTitle variant=\"text\" />\n <LoadingDescription variant=\"text\" />\n <LoadingDescriptionShort variant=\"text\" />\n </CardTextBox>\n </CardContentBox>\n </CardContainer>\n )\n }\n\n if (!result) {\n return null\n }\n\n return (\n <CardContainer>\n <Link to={result.url}>\n <CardContentBox>\n {result.image && <CardImage src={result.image} alt=\"\" loading=\"lazy\" decoding=\"async\" />}\n <CardTextBox>\n {typeof result.title === 'string' ? (\n // eslint-disable-next-line @typescript-eslint/naming-convention\n <CardTitle dangerouslySetInnerHTML={{ __html: sanitizeHighlight(result.title) }} />\n ) : (\n <CardTitle>{result.title}</CardTitle>\n )}\n {typeof result.description === 'string' ? (\n // eslint-disable-next-line @typescript-eslint/naming-convention\n <CardDescription dangerouslySetInnerHTML={{ __html: sanitizeHighlight(result.description) }} />\n ) : (\n <CardDescription>{result.description}</CardDescription>\n )}\n </CardTextBox>\n </CardContentBox>\n </Link>\n </CardContainer>\n )\n}\n\nexport { SearchResultCard }\n","/* eslint-disable @typescript-eslint/naming-convention */\nimport { Box, Typography, styled } from 'decentraland-ui2'\n\nconst SearchSubtitle = styled(Typography)(({ theme }) => ({\n margin: theme.spacing(4.5, 0, 3),\n ...theme.typography.h4,\n fontWeight: 400,\n padding: theme.spacing(0, 2),\n '& span': {\n fontWeight: 700\n }\n}))\n\nconst HeaderBox = styled(Box)(({ theme }) => ({\n marginBottom: theme.spacing(3)\n}))\n\nconst CenteredBox = styled(Box)(({ theme }) => ({\n textAlign: 'center',\n paddingTop: theme.spacing(4),\n paddingBottom: theme.spacing(4)\n}))\n\nconst ResultsWrapper = styled(Box)(() => ({\n display: 'flex',\n flexDirection: 'column'\n}))\n\nconst LoadMoreContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n marginTop: theme.spacing(4)\n}))\n\nexport { CenteredBox, HeaderBox, LoadMoreContainer, ResultsWrapper, SearchSubtitle }\n","import { useEffect, useMemo, useState } from 'react'\nimport { useSearchParams } from 'react-router-dom'\nimport { useTranslation } from '@dcl/hooks'\nimport { Button, Typography } from 'decentraland-ui2'\nimport { BlogLayout } from '../../components/blog/BlogLayout'\nimport { SearchResultCard } from '../../components/blog/SearchResultCard'\nimport { SEO } from '../../components/blog/SEO/SEO'\nimport { getEnv } from '../../config/env'\nimport { useSearchBlogPostsQuery } from '../../features/search/search.client'\nimport type { SearchResult } from '../../shared/blog/types/blog.domain'\nimport { CenteredBox, HeaderBox, LoadMoreContainer, ResultsWrapper, SearchSubtitle } from './SearchPage.styled'\n\nconst HITS_PER_PAGE = 10\n\nexport const SearchPage = () => {\n const { t } = useTranslation()\n const [searchParams] = useSearchParams()\n const [page, setPage] = useState(0)\n const [accumulatedResults, setAccumulatedResults] = useState<SearchResult[]>([])\n\n const query = useMemo(() => searchParams.get('q') || '', [searchParams])\n\n const { data, isLoading, isFetching } = useSearchBlogPostsQuery(\n {\n query,\n hitsPerPage: HITS_PER_PAGE,\n page\n },\n { skip: query.length < 3 }\n )\n\n // Reset accumulated results when query changes\n useEffect(() => {\n setPage(0)\n setAccumulatedResults([])\n }, [query])\n\n // Accumulate results when data changes\n useEffect(() => {\n if (data?.results) {\n if (page === 0) {\n setAccumulatedResults(data.results)\n } else {\n setAccumulatedResults(prev => [...prev, ...data.results])\n }\n }\n }, [data, page])\n\n const handleLoadMore = () => {\n setPage(prev => prev + 1)\n setTimeout(() => window.scrollBy({ top: 500, left: 0, behavior: 'smooth' }), 0)\n }\n\n const showResults = accumulatedResults.length > 0\n const showEmpty = !isLoading && query.length >= 3 && accumulatedResults.length === 0 && data?.results.length === 0\n const showLoading = isLoading && accumulatedResults.length === 0\n const hasMore = data?.hasMore ?? false\n\n const searchDescription = query ? t('search.description_with_query', { query }) : t('search.description')\n const baseUrl = getEnv('BLOG_BASE_URL') || ''\n\n return (\n <BlogLayout showBlogNavigation={true}>\n <SEO\n title={query ? t('search.title_with_query', { query }) : t('search.title')}\n description={searchDescription}\n url={query ? `${baseUrl}/search?q=${encodeURIComponent(query)}` : `${baseUrl}/search`}\n />\n {query.length >= 3 && (\n <HeaderBox>\n <SearchSubtitle>\n {t('search.results_for')} <span>&ldquo;{query}&rdquo;</span>\n </SearchSubtitle>\n </HeaderBox>\n )}\n\n {showLoading && (\n <ResultsWrapper>\n {Array.from({ length: 5 }, (_, index) => (\n <SearchResultCard key={index} loading />\n ))}\n </ResultsWrapper>\n )}\n\n {showResults && (\n <ResultsWrapper>\n {accumulatedResults.map((result, index) => (\n <SearchResultCard key={`${result.url}-${index}`} result={result} />\n ))}\n </ResultsWrapper>\n )}\n\n {isFetching && !isLoading && (\n <ResultsWrapper>\n {Array.from({ length: 3 }, (_, index) => (\n <SearchResultCard key={`loading-more-${index}`} loading />\n ))}\n </ResultsWrapper>\n )}\n\n {hasMore && showResults && !isFetching && (\n <LoadMoreContainer>\n <Button variant=\"contained\" onClick={handleLoadMore}>\n {t('blog.load_more')}\n </Button>\n </LoadMoreContainer>\n )}\n\n {showEmpty && (\n <CenteredBox>\n <Typography variant=\"h5\" gutterBottom>\n {t('blog.nothing_to_show')}\n </Typography>\n <Typography color=\"textSecondary\">\n {t('search.no_results_for')} &ldquo;{query}&rdquo;\n </Typography>\n </CenteredBox>\n )}\n </BlogLayout>\n )\n}\n"],"names":["CardContainer","styled","Box","theme","CardContentBox","CardImage","CardTextBox","CardTitle","Typography","CardDescription","LoadingImage","Skeleton","LoadingTitle","LoadingDescription","LoadingDescriptionShort","SearchResultCard","props","result","loading","jsx","jsxs","Link","sanitizeHighlight","SearchSubtitle","HeaderBox","CenteredBox","ResultsWrapper","LoadMoreContainer","HITS_PER_PAGE","SearchPage","useTranslation","searchParams","useSearchParams","page","setPage","useState","accumulatedResults","setAccumulatedResults","query","useMemo","data","isLoading","isFetching","useSearchBlogPostsQuery","useEffect","prev","handleLoadMore","showResults","showEmpty","showLoading","hasMore","searchDescription","baseUrl","getEnv","BlogLayout","SEO","_","index","Button"],"mappings":"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"}
@@ -1 +1 @@
1
- import{u as o,r as c}from"./vendor-router-D_36sTKu.js";import{r as a}from"./index-DUmIu2EK.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";function P(){const{pathname:t,search:r}=o();return c.useEffect(()=>{const e=new URLSearchParams(r).get("redirectTo")||`${t}${r}`;a(e)},[t,r]),null}export{P as SignInRedirect};
1
+ import{u as o,r as c}from"./vendor-router-D_36sTKu.js";import{r as a}from"./index-BoINd_2w.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";function P(){const{pathname:t,search:r}=o();return c.useEffect(()=>{const e=new URLSearchParams(r).get("redirectTo")||`${t}${r}`;a(e)},[t,r]),null}export{P as SignInRedirect};
@@ -1 +1 @@
1
- {"version":3,"file":"SignInRedirect-Bxl1dwag.js","sources":["../../src/pages/SignInRedirect.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport { redirectToAuth } from '../utils/authRedirect'\n\nfunction SignInRedirect() {\n const { pathname, search } = useLocation()\n\n useEffect(() => {\n const searchParams = new URLSearchParams(search)\n const currentRedirectTo = searchParams.get('redirectTo')\n const redirectPath = currentRedirectTo || `${pathname}${search}`\n redirectToAuth(redirectPath)\n }, [pathname, search])\n\n return null\n}\n\nexport { SignInRedirect }\n"],"names":["SignInRedirect","pathname","search","useLocation","useEffect","redirectPath","redirectToAuth"],"mappings":"8QAIA,SAASA,GAAiB,CACxB,KAAM,CAAE,SAAAC,EAAU,OAAAC,CAAA,EAAWC,EAAA,EAE7BC,OAAAA,EAAAA,UAAU,IAAM,CAGd,MAAMC,EAFe,IAAI,gBAAgBH,CAAM,EACR,IAAI,YAAY,GACb,GAAGD,CAAQ,GAAGC,CAAM,GAC9DI,EAAeD,CAAY,CAC7B,EAAG,CAACJ,EAAUC,CAAM,CAAC,EAEd,IACT"}
1
+ {"version":3,"file":"SignInRedirect-B5d-ThV0.js","sources":["../../src/pages/SignInRedirect.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport { redirectToAuth } from '../utils/authRedirect'\n\nfunction SignInRedirect() {\n const { pathname, search } = useLocation()\n\n useEffect(() => {\n const searchParams = new URLSearchParams(search)\n const currentRedirectTo = searchParams.get('redirectTo')\n const redirectPath = currentRedirectTo || `${pathname}${search}`\n redirectToAuth(redirectPath)\n }, [pathname, search])\n\n return null\n}\n\nexport { SignInRedirect }\n"],"names":["SignInRedirect","pathname","search","useLocation","useEffect","redirectPath","redirectToAuth"],"mappings":"8QAIA,SAASA,GAAiB,CACxB,KAAM,CAAE,SAAAC,EAAU,OAAAC,CAAA,EAAWC,EAAA,EAE7BC,OAAAA,EAAAA,UAAU,IAAM,CAGd,MAAMC,EAFe,IAAI,gBAAgBH,CAAM,EACR,IAAI,YAAY,GACb,GAAGD,CAAQ,GAAGC,CAAM,GAC9DI,EAAeD,CAAY,CAC7B,EAAG,CAACJ,EAAUC,CAAM,CAAC,EAEd,IACT"}
@@ -1 +1 @@
1
- import{r as a}from"./vendor-router-D_36sTKu.js";import{g as i}from"./index-DUmIu2EK.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";function c(){return/^decentraland.(zone|org|today)$/.test(window.location.host)?"/blog":""}function s(t,e){const o=c(),n=new URL(t,window.location.origin);let r=n.pathname+n.search;return o&&r.startsWith(o)&&(r=r.slice(o.length)||"/"),`${o}${r}`}function h(){const t=i("AUTH_URL")??"/auth";return t.startsWith("http")||window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"?t:`${window.location.origin}${t.startsWith("/")?"":"/"}${t}`}function l(){const t=window.location.pathname,e=window.location.search;return new URLSearchParams(e).get("redirectTo")??`${t}${e}`}function u(t,e){const o=l(),n=s(o),r=h();window.location.replace(`${r}/login?redirectTo=${encodeURIComponent(n)}`)}function $(){return a.useEffect(()=>{u()},[]),null}export{$ as SignInRedirect};
1
+ import{r as a}from"./vendor-router-D_36sTKu.js";import{g as i}from"./index-BoINd_2w.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";function c(){return/^decentraland.(zone|org|today)$/.test(window.location.host)?"/blog":""}function s(t,e){const o=c(),n=new URL(t,window.location.origin);let r=n.pathname+n.search;return o&&r.startsWith(o)&&(r=r.slice(o.length)||"/"),`${o}${r}`}function h(){const t=i("AUTH_URL")??"/auth";return t.startsWith("http")||window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"?t:`${window.location.origin}${t.startsWith("/")?"":"/"}${t}`}function l(){const t=window.location.pathname,e=window.location.search;return new URLSearchParams(e).get("redirectTo")??`${t}${e}`}function u(t,e){const o=l(),n=s(o),r=h();window.location.replace(`${r}/login?redirectTo=${encodeURIComponent(n)}`)}function $(){return a.useEffect(()=>{u()},[]),null}export{$ as SignInRedirect};
@@ -1 +1 @@
1
- {"version":3,"file":"SignInRedirect-BNwfxyGB.js","sources":["../../src/utils/blogAuthRedirect.ts","../../src/pages/blog/SignInRedirect.tsx"],"sourcesContent":["import { getEnv } from '../config/env'\n\n/**\n * Gets the basename based on the current host.\n * Returns \"/blog\" for decentraland domains, empty string otherwise.\n */\nfunction getBasename(): string {\n return /^decentraland.(zone|org|today)$/.test(window.location.host) ? '/blog' : ''\n}\n\n/**\n * Builds a redirect URL for authentication.\n * @param path - The path to redirect to after authentication (may include query params)\n * @param queryParams - Optional query parameters to append to the path\n * @returns The full redirect URL with basename\n */\nfunction buildAuthRedirectUrl(path: string, queryParams?: Record<string, string>): string {\n const basename = getBasename()\n\n // Parse the path, handling cases where it already includes query params\n const url = new URL(path, window.location.origin)\n if (queryParams) {\n Object.entries(queryParams).forEach(([key, value]) => {\n url.searchParams.set(key, value)\n })\n }\n\n // Remove the origin, keep only pathname + search\n let pathWithQuery = url.pathname + url.search\n\n // Strip the basename prefix if already present to avoid duplication (e.g. /blog/blog)\n if (basename && pathWithQuery.startsWith(basename)) {\n pathWithQuery = pathWithQuery.slice(basename.length) || '/'\n }\n\n return `${basename}${pathWithQuery}`\n}\n\n/**\n * Resolves the auth URL based on environment and host.\n * - If AUTH_URL is absolute (http/https), use it directly\n * - If AUTH_URL is relative: use same origin + path so Vercel rewrite /auth -> decentraland.zone/auth applies\n */\nfunction resolveAuthUrl(): string {\n const authUrl = getEnv('AUTH_URL') ?? '/auth'\n\n if (authUrl.startsWith('http')) {\n return authUrl\n }\n\n const isLocalhost = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'\n\n if (isLocalhost) {\n return authUrl\n }\n\n return `${window.location.origin}${authUrl.startsWith('/') ? '' : '/'}${authUrl}`\n}\n\n/**\n * Resolves the path to redirect to after login from the current URL.\n * If the URL has a redirectTo query param, uses it; otherwise uses pathname + search.\n */\nfunction getRedirectPathFromCurrentUrl(): string {\n const pathname = window.location.pathname\n const search = window.location.search\n const searchParams = new URLSearchParams(search)\n const currentRedirectTo = searchParams.get('redirectTo')\n return currentRedirectTo ?? `${pathname}${search}`\n}\n\n/**\n * Redirects to the authentication URL with the specified redirect path.\n * When path is omitted, resolves it from the current URL (respecting redirectTo query param).\n * @param path - Optional path to redirect to after authentication (defaults to current URL)\n * @param queryParams - Optional query parameters to append to the path\n */\nfunction redirectToAuth(path?: string, queryParams?: Record<string, string>): void {\n const redirectPath = path ?? getRedirectPathFromCurrentUrl()\n const redirectTo = buildAuthRedirectUrl(redirectPath, queryParams)\n const authUrl = resolveAuthUrl()\n\n window.location.replace(`${authUrl}/login?redirectTo=${encodeURIComponent(redirectTo)}`)\n}\n\nexport { buildAuthRedirectUrl, redirectToAuth }\n","import { useEffect } from 'react'\nimport { redirectToAuth } from '../../utils/blogAuthRedirect'\n\nfunction SignInRedirect() {\n useEffect(() => {\n redirectToAuth()\n }, [])\n\n return null\n}\n\nexport { SignInRedirect }\n"],"names":["getBasename","buildAuthRedirectUrl","path","queryParams","basename","url","pathWithQuery","resolveAuthUrl","authUrl","getEnv","getRedirectPathFromCurrentUrl","pathname","search","redirectToAuth","redirectPath","redirectTo","SignInRedirect","useEffect"],"mappings":"uQAMA,SAASA,GAAsB,CAC7B,MAAO,kCAAkC,KAAK,OAAO,SAAS,IAAI,EAAI,QAAU,EAClF,CAQA,SAASC,EAAqBC,EAAcC,EAA8C,CACxF,MAAMC,EAAWJ,EAAA,EAGXK,EAAM,IAAI,IAAIH,EAAM,OAAO,SAAS,MAAM,EAQhD,IAAII,EAAgBD,EAAI,SAAWA,EAAI,OAGvC,OAAID,GAAYE,EAAc,WAAWF,CAAQ,IAC/CE,EAAgBA,EAAc,MAAMF,EAAS,MAAM,GAAK,KAGnD,GAAGA,CAAQ,GAAGE,CAAa,EACpC,CAOA,SAASC,GAAyB,CAChC,MAAMC,EAAUC,EAAO,UAAU,GAAK,QAQtC,OANID,EAAQ,WAAW,MAAM,GAIT,OAAO,SAAS,WAAa,aAAe,OAAO,SAAS,WAAa,YAGpFA,EAGF,GAAG,OAAO,SAAS,MAAM,GAAGA,EAAQ,WAAW,GAAG,EAAI,GAAK,GAAG,GAAGA,CAAO,EACjF,CAMA,SAASE,GAAwC,CAC/C,MAAMC,EAAW,OAAO,SAAS,SAC3BC,EAAS,OAAO,SAAS,OAG/B,OAFqB,IAAI,gBAAgBA,CAAM,EACR,IAAI,YAAY,GAC3B,GAAGD,CAAQ,GAAGC,CAAM,EAClD,CAQA,SAASC,EAAeX,EAAeC,EAA4C,CACjF,MAAMW,EAAuBJ,EAAA,EACvBK,EAAad,EAAqBa,CAAyB,EAC3DN,EAAUD,EAAA,EAEhB,OAAO,SAAS,QAAQ,GAAGC,CAAO,qBAAqB,mBAAmBO,CAAU,CAAC,EAAE,CACzF,CChFA,SAASC,GAAiB,CACxBC,OAAAA,EAAAA,UAAU,IAAM,CACdJ,EAAA,CACF,EAAG,CAAA,CAAE,EAEE,IACT"}
1
+ {"version":3,"file":"SignInRedirect-BG6hu62E.js","sources":["../../src/utils/blogAuthRedirect.ts","../../src/pages/blog/SignInRedirect.tsx"],"sourcesContent":["import { getEnv } from '../config/env'\n\n/**\n * Gets the basename based on the current host.\n * Returns \"/blog\" for decentraland domains, empty string otherwise.\n */\nfunction getBasename(): string {\n return /^decentraland.(zone|org|today)$/.test(window.location.host) ? '/blog' : ''\n}\n\n/**\n * Builds a redirect URL for authentication.\n * @param path - The path to redirect to after authentication (may include query params)\n * @param queryParams - Optional query parameters to append to the path\n * @returns The full redirect URL with basename\n */\nfunction buildAuthRedirectUrl(path: string, queryParams?: Record<string, string>): string {\n const basename = getBasename()\n\n // Parse the path, handling cases where it already includes query params\n const url = new URL(path, window.location.origin)\n if (queryParams) {\n Object.entries(queryParams).forEach(([key, value]) => {\n url.searchParams.set(key, value)\n })\n }\n\n // Remove the origin, keep only pathname + search\n let pathWithQuery = url.pathname + url.search\n\n // Strip the basename prefix if already present to avoid duplication (e.g. /blog/blog)\n if (basename && pathWithQuery.startsWith(basename)) {\n pathWithQuery = pathWithQuery.slice(basename.length) || '/'\n }\n\n return `${basename}${pathWithQuery}`\n}\n\n/**\n * Resolves the auth URL based on environment and host.\n * - If AUTH_URL is absolute (http/https), use it directly\n * - If AUTH_URL is relative: use same origin + path so Vercel rewrite /auth -> decentraland.zone/auth applies\n */\nfunction resolveAuthUrl(): string {\n const authUrl = getEnv('AUTH_URL') ?? '/auth'\n\n if (authUrl.startsWith('http')) {\n return authUrl\n }\n\n const isLocalhost = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'\n\n if (isLocalhost) {\n return authUrl\n }\n\n return `${window.location.origin}${authUrl.startsWith('/') ? '' : '/'}${authUrl}`\n}\n\n/**\n * Resolves the path to redirect to after login from the current URL.\n * If the URL has a redirectTo query param, uses it; otherwise uses pathname + search.\n */\nfunction getRedirectPathFromCurrentUrl(): string {\n const pathname = window.location.pathname\n const search = window.location.search\n const searchParams = new URLSearchParams(search)\n const currentRedirectTo = searchParams.get('redirectTo')\n return currentRedirectTo ?? `${pathname}${search}`\n}\n\n/**\n * Redirects to the authentication URL with the specified redirect path.\n * When path is omitted, resolves it from the current URL (respecting redirectTo query param).\n * @param path - Optional path to redirect to after authentication (defaults to current URL)\n * @param queryParams - Optional query parameters to append to the path\n */\nfunction redirectToAuth(path?: string, queryParams?: Record<string, string>): void {\n const redirectPath = path ?? getRedirectPathFromCurrentUrl()\n const redirectTo = buildAuthRedirectUrl(redirectPath, queryParams)\n const authUrl = resolveAuthUrl()\n\n window.location.replace(`${authUrl}/login?redirectTo=${encodeURIComponent(redirectTo)}`)\n}\n\nexport { buildAuthRedirectUrl, redirectToAuth }\n","import { useEffect } from 'react'\nimport { redirectToAuth } from '../../utils/blogAuthRedirect'\n\nfunction SignInRedirect() {\n useEffect(() => {\n redirectToAuth()\n }, [])\n\n return null\n}\n\nexport { SignInRedirect }\n"],"names":["getBasename","buildAuthRedirectUrl","path","queryParams","basename","url","pathWithQuery","resolveAuthUrl","authUrl","getEnv","getRedirectPathFromCurrentUrl","pathname","search","redirectToAuth","redirectPath","redirectTo","SignInRedirect","useEffect"],"mappings":"uQAMA,SAASA,GAAsB,CAC7B,MAAO,kCAAkC,KAAK,OAAO,SAAS,IAAI,EAAI,QAAU,EAClF,CAQA,SAASC,EAAqBC,EAAcC,EAA8C,CACxF,MAAMC,EAAWJ,EAAA,EAGXK,EAAM,IAAI,IAAIH,EAAM,OAAO,SAAS,MAAM,EAQhD,IAAII,EAAgBD,EAAI,SAAWA,EAAI,OAGvC,OAAID,GAAYE,EAAc,WAAWF,CAAQ,IAC/CE,EAAgBA,EAAc,MAAMF,EAAS,MAAM,GAAK,KAGnD,GAAGA,CAAQ,GAAGE,CAAa,EACpC,CAOA,SAASC,GAAyB,CAChC,MAAMC,EAAUC,EAAO,UAAU,GAAK,QAQtC,OANID,EAAQ,WAAW,MAAM,GAIT,OAAO,SAAS,WAAa,aAAe,OAAO,SAAS,WAAa,YAGpFA,EAGF,GAAG,OAAO,SAAS,MAAM,GAAGA,EAAQ,WAAW,GAAG,EAAI,GAAK,GAAG,GAAGA,CAAO,EACjF,CAMA,SAASE,GAAwC,CAC/C,MAAMC,EAAW,OAAO,SAAS,SAC3BC,EAAS,OAAO,SAAS,OAG/B,OAFqB,IAAI,gBAAgBA,CAAM,EACR,IAAI,YAAY,GAC3B,GAAGD,CAAQ,GAAGC,CAAM,EAClD,CAQA,SAASC,EAAeX,EAAeC,EAA4C,CACjF,MAAMW,EAAuBJ,EAAA,EACvBK,EAAad,EAAqBa,CAAyB,EAC3DN,EAAUD,EAAA,EAEhB,OAAO,SAAS,QAAQ,GAAGC,CAAO,qBAAqB,mBAAmBO,CAAU,CAAC,EAAE,CACzF,CChFA,SAASC,GAAiB,CACxBC,OAAAA,EAAAA,UAAU,IAAM,CACdJ,EAAA,CACF,EAAG,CAAA,CAAE,EAEE,IACT"}
@@ -1,4 +1,4 @@
1
- import{an as u,ao as $,A as R,C as _,D as S,_ as M,c as o,j,E as A,G as E,s as O,H as c,I as v}from"./index-DUmIu2EK.js";import{r as U}from"./vendor-router-D_36sTKu.js";function I(t,e=0,n=1){return $(t,e,n)}function X(t){t=t.slice(1);const e=new RegExp(`.{1,${t.length>=6?2:1}}`,"g");let n=t.match(e);return n&&n[0].length===1&&(n=n.map(a=>a+a)),n?`rgb${n.length===4?"a":""}(${n.map((a,i)=>i<3?parseInt(a,16):Math.round(parseInt(a,16)/255*1e3)/1e3).join(", ")})`:""}function x(t){if(t.type)return t;if(t.charAt(0)==="#")return x(X(t));const e=t.indexOf("("),n=t.substring(0,e);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(u(9,t));let a=t.substring(e+1,t.length-1),i;if(n==="color"){if(a=a.split(" "),i=a.shift(),a.length===4&&a[3].charAt(0)==="/"&&(a[3]=a[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(i)===-1)throw new Error(u(10,i))}else a=a.split(",");return a=a.map(s=>parseFloat(s)),{type:n,values:a,colorSpace:i}}function F(t){const{type:e,colorSpace:n}=t;let{values:a}=t;return e.indexOf("rgb")!==-1?a=a.map((i,s)=>s<3?parseInt(i,10):i):e.indexOf("hsl")!==-1&&(a[1]=`${a[1]}%`,a[2]=`${a[2]}%`),e.indexOf("color")!==-1?a=`${n} ${a.join(" ")}`:a=`${a.join(", ")}`,`${e}(${a})`}function N(t,e){return t=x(t),e=I(e),(t.type==="rgb"||t.type==="hsl")&&(t.type+="a"),t.type==="color"?t.values[3]=`/${e}`:t.values[3]=e,F(t)}function W(t){return String(t).match(/[\d.\-+]*\s*(.*)/)[1]||""}function B(t){return parseFloat(t)}function D(t){return R("MuiSkeleton",t)}_("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);const K=["animation","className","component","height","style","variant","width"];let l=t=>t,f,g,m,b;const P=t=>{const{classes:e,variant:n,animation:a,hasChildren:i,width:s,height:r}=t;return E({root:["root",n,a,i&&"withChildren",i&&!s&&"fitContent",i&&!r&&"heightAuto"]},D,e)},T=v(f||(f=l`
1
+ import{an as u,ao as $,A as R,C as _,D as S,_ as M,c as o,j,E as A,G as E,s as O,H as c,I as v}from"./index-BoINd_2w.js";import{r as U}from"./vendor-router-D_36sTKu.js";function I(t,e=0,n=1){return $(t,e,n)}function X(t){t=t.slice(1);const e=new RegExp(`.{1,${t.length>=6?2:1}}`,"g");let n=t.match(e);return n&&n[0].length===1&&(n=n.map(a=>a+a)),n?`rgb${n.length===4?"a":""}(${n.map((a,i)=>i<3?parseInt(a,16):Math.round(parseInt(a,16)/255*1e3)/1e3).join(", ")})`:""}function x(t){if(t.type)return t;if(t.charAt(0)==="#")return x(X(t));const e=t.indexOf("("),n=t.substring(0,e);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(u(9,t));let a=t.substring(e+1,t.length-1),i;if(n==="color"){if(a=a.split(" "),i=a.shift(),a.length===4&&a[3].charAt(0)==="/"&&(a[3]=a[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(i)===-1)throw new Error(u(10,i))}else a=a.split(",");return a=a.map(s=>parseFloat(s)),{type:n,values:a,colorSpace:i}}function F(t){const{type:e,colorSpace:n}=t;let{values:a}=t;return e.indexOf("rgb")!==-1?a=a.map((i,s)=>s<3?parseInt(i,10):i):e.indexOf("hsl")!==-1&&(a[1]=`${a[1]}%`,a[2]=`${a[2]}%`),e.indexOf("color")!==-1?a=`${n} ${a.join(" ")}`:a=`${a.join(", ")}`,`${e}(${a})`}function N(t,e){return t=x(t),e=I(e),(t.type==="rgb"||t.type==="hsl")&&(t.type+="a"),t.type==="color"?t.values[3]=`/${e}`:t.values[3]=e,F(t)}function W(t){return String(t).match(/[\d.\-+]*\s*(.*)/)[1]||""}function B(t){return parseFloat(t)}function D(t){return R("MuiSkeleton",t)}_("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);const K=["animation","className","component","height","style","variant","width"];let l=t=>t,f,g,m,b;const P=t=>{const{classes:e,variant:n,animation:a,hasChildren:i,width:s,height:r}=t;return E({root:["root",n,a,i&&"withChildren",i&&!s&&"fitContent",i&&!r&&"heightAuto"]},D,e)},T=v(f||(f=l`
2
2
  0% {
3
3
  opacity: 1;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton-BP1Os8gY.js","sources":["../../node_modules/@mui/system/esm/colorManipulator.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/styles/cssUtils.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/Skeleton/skeletonClasses.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/Skeleton/Skeleton.js"],"sourcesContent":["import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","export function isUnitless(value) {\n return String(parseFloat(value)).length === String(value).length;\n}\n\n// Ported from Compass\n// https://github.com/Compass/compass/blob/master/core/stylesheets/compass/typography/_units.scss\n// Emulate the sass function \"unit\"\nexport function getUnit(input) {\n return String(input).match(/[\\d.\\-+]*\\s*(.*)/)[1] || '';\n}\n\n// Emulate the sass function \"unitless\"\nexport function toUnitless(length) {\n return parseFloat(length);\n}\n\n// Convert any CSS <length> or <percentage> value to any another.\n// From https://github.com/KyleAMathews/convert-css-length\nexport function convertLength(baseFontSize) {\n return (length, toUnit) => {\n const fromUnit = getUnit(length);\n\n // Optimize for cases where `from` and `to` units are accidentally the same.\n if (fromUnit === toUnit) {\n return length;\n }\n\n // Convert input length to pixels.\n let pxLength = toUnitless(length);\n if (fromUnit !== 'px') {\n if (fromUnit === 'em') {\n pxLength = toUnitless(length) * toUnitless(baseFontSize);\n } else if (fromUnit === 'rem') {\n pxLength = toUnitless(length) * toUnitless(baseFontSize);\n }\n }\n\n // Convert length in pixels to the output unit\n let outputLength = pxLength;\n if (toUnit !== 'px') {\n if (toUnit === 'em') {\n outputLength = pxLength / toUnitless(baseFontSize);\n } else if (toUnit === 'rem') {\n outputLength = pxLength / toUnitless(baseFontSize);\n } else {\n return length;\n }\n }\n return parseFloat(outputLength.toFixed(5)) + toUnit;\n };\n}\nexport function alignProperty({\n size,\n grid\n}) {\n const sizeBelow = size - size % grid;\n const sizeAbove = sizeBelow + grid;\n return size - sizeBelow < sizeAbove - size ? sizeBelow : sizeAbove;\n}\n\n// fontGrid finds a minimal grid (in rem) for the fontSize values so that the\n// lineHeight falls under a x pixels grid, 4px in the case of Material Design,\n// without changing the relative line height\nexport function fontGrid({\n lineHeight,\n pixels,\n htmlFontSize\n}) {\n return pixels / (lineHeight * htmlFontSize);\n}\n\n/**\n * generate a responsive version of a given CSS property\n * @example\n * responsiveProperty({\n * cssProperty: 'fontSize',\n * min: 15,\n * max: 20,\n * unit: 'px',\n * breakpoints: [300, 600],\n * })\n *\n * // this returns\n *\n * {\n * fontSize: '15px',\n * '@media (min-width:300px)': {\n * fontSize: '17.5px',\n * },\n * '@media (min-width:600px)': {\n * fontSize: '20px',\n * },\n * }\n * @param {Object} params\n * @param {string} params.cssProperty - The CSS property to be made responsive\n * @param {number} params.min - The smallest value of the CSS property\n * @param {number} params.max - The largest value of the CSS property\n * @param {string} [params.unit] - The unit to be used for the CSS property\n * @param {Array.number} [params.breakpoints] - An array of breakpoints\n * @param {number} [params.alignStep] - Round scaled value to fall under this grid\n * @returns {Object} responsive styles for {params.cssProperty}\n */\nexport function responsiveProperty({\n cssProperty,\n min,\n max,\n unit = 'rem',\n breakpoints = [600, 900, 1200],\n transform = null\n}) {\n const output = {\n [cssProperty]: `${min}${unit}`\n };\n const factor = (max - min) / breakpoints[breakpoints.length - 1];\n breakpoints.forEach(breakpoint => {\n let value = min + factor * breakpoint;\n if (transform !== null) {\n value = transform(value);\n }\n output[`@media (min-width:${breakpoint}px)`] = {\n [cssProperty]: `${Math.round(value * 10000) / 10000}${unit}`\n };\n });\n return output;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSkeletonUtilityClass(slot) {\n return generateUtilityClass('MuiSkeleton', slot);\n}\nconst skeletonClasses = generateUtilityClasses('MuiSkeleton', ['root', 'text', 'rectangular', 'rounded', 'circular', 'pulse', 'wave', 'withChildren', 'fitContent', 'heightAuto']);\nexport default skeletonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"animation\", \"className\", \"component\", \"height\", \"style\", \"variant\", \"width\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { keyframes, css } from '@mui/system';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, unstable_getUnit as getUnit, unstable_toUnitless as toUnitless } from '../styles';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getSkeletonUtilityClass } from './skeletonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n animation,\n hasChildren,\n width,\n height\n } = ownerState;\n const slots = {\n root: ['root', variant, animation, hasChildren && 'withChildren', hasChildren && !width && 'fitContent', hasChildren && !height && 'heightAuto']\n };\n return composeClasses(slots, getSkeletonUtilityClass, classes);\n};\nconst pulseKeyframe = keyframes(_t || (_t = _`\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1;\n }\n`));\nconst waveKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n transform: translateX(-100%);\n }\n\n 50% {\n /* +0.5s of delay between each loop */\n transform: translateX(100%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n`));\nconst SkeletonRoot = styled('span', {\n name: 'MuiSkeleton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.animation !== false && styles[ownerState.animation], ownerState.hasChildren && styles.withChildren, ownerState.hasChildren && !ownerState.width && styles.fitContent, ownerState.hasChildren && !ownerState.height && styles.heightAuto];\n }\n})(({\n theme,\n ownerState\n}) => {\n const radiusUnit = getUnit(theme.shape.borderRadius) || 'px';\n const radiusValue = toUnitless(theme.shape.borderRadius);\n return _extends({\n display: 'block',\n // Create a \"on paper\" color with sufficient contrast retaining the color\n backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : alpha(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),\n height: '1.2em'\n }, ownerState.variant === 'text' && {\n marginTop: 0,\n marginBottom: 0,\n height: 'auto',\n transformOrigin: '0 55%',\n transform: 'scale(1, 0.60)',\n borderRadius: `${radiusValue}${radiusUnit}/${Math.round(radiusValue / 0.6 * 10) / 10}${radiusUnit}`,\n '&:empty:before': {\n content: '\"\\\\00a0\"'\n }\n }, ownerState.variant === 'circular' && {\n borderRadius: '50%'\n }, ownerState.variant === 'rounded' && {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }, ownerState.hasChildren && {\n '& > *': {\n visibility: 'hidden'\n }\n }, ownerState.hasChildren && !ownerState.width && {\n maxWidth: 'fit-content'\n }, ownerState.hasChildren && !ownerState.height && {\n height: 'auto'\n });\n}, ({\n ownerState\n}) => ownerState.animation === 'pulse' && css(_t3 || (_t3 = _`\n animation: ${0} 2s ease-in-out 0.5s infinite;\n `), pulseKeyframe), ({\n ownerState,\n theme\n}) => ownerState.animation === 'wave' && css(_t4 || (_t4 = _`\n position: relative;\n overflow: hidden;\n\n /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n &::after {\n animation: ${0} 2s linear 0.5s infinite;\n background: linear-gradient(\n 90deg,\n transparent,\n ${0},\n transparent\n );\n content: '';\n position: absolute;\n transform: translateX(-100%); /* Avoid flash during server-side hydration */\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n }\n `), waveKeyframe, (theme.vars || theme).palette.action.hover));\nconst Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSkeleton'\n });\n const {\n animation = 'pulse',\n className,\n component = 'span',\n height,\n style,\n variant = 'text',\n width\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n animation,\n component,\n variant,\n hasChildren: Boolean(other.children)\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(SkeletonRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n style: _extends({\n width,\n height\n }, style)\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Skeleton.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 animation.\n * If `false` the animation effect is disabled.\n * @default 'pulse'\n */\n animation: PropTypes.oneOf(['pulse', 'wave', false]),\n /**\n * Optional children to infer width and height from.\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 * Height of the skeleton.\n * Useful when you don't want to adapt the skeleton to a text element but for instance a card.\n */\n height: 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 type of content that will be rendered.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rectangular', 'rounded', 'text']), PropTypes.string]),\n /**\n * Width of the skeleton.\n * Useful when the skeleton is inside an inline element with no width of its own.\n */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport default Skeleton;"],"names":["clampWrapper","value","min","max","clamp","hexToRgb","color","re","colors","n","index","decomposeColor","marker","type","_formatMuiErrorMessage","values","colorSpace","recomposeColor","i","alpha","getUnit","input","toUnitless","length","getSkeletonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","_","_t","_t2","_t3","_t4","useUtilityClasses","ownerState","classes","variant","animation","hasChildren","width","height","composeClasses","pulseKeyframe","keyframes","waveKeyframe","SkeletonRoot","styled","props","styles","theme","radiusUnit","radiusValue","_extends","css","Skeleton","React.forwardRef","inProps","ref","useDefaultProps","className","component","style","other","_objectWithoutPropertiesLoose","_jsx","clsx"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"Skeleton-L6NTNEwq.js","sources":["../../node_modules/@mui/system/esm/colorManipulator.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/styles/cssUtils.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/Skeleton/skeletonClasses.js","../../node_modules/decentraland-ui2/node_modules/@mui/material/Skeleton/Skeleton.js"],"sourcesContent":["import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","export function isUnitless(value) {\n return String(parseFloat(value)).length === String(value).length;\n}\n\n// Ported from Compass\n// https://github.com/Compass/compass/blob/master/core/stylesheets/compass/typography/_units.scss\n// Emulate the sass function \"unit\"\nexport function getUnit(input) {\n return String(input).match(/[\\d.\\-+]*\\s*(.*)/)[1] || '';\n}\n\n// Emulate the sass function \"unitless\"\nexport function toUnitless(length) {\n return parseFloat(length);\n}\n\n// Convert any CSS <length> or <percentage> value to any another.\n// From https://github.com/KyleAMathews/convert-css-length\nexport function convertLength(baseFontSize) {\n return (length, toUnit) => {\n const fromUnit = getUnit(length);\n\n // Optimize for cases where `from` and `to` units are accidentally the same.\n if (fromUnit === toUnit) {\n return length;\n }\n\n // Convert input length to pixels.\n let pxLength = toUnitless(length);\n if (fromUnit !== 'px') {\n if (fromUnit === 'em') {\n pxLength = toUnitless(length) * toUnitless(baseFontSize);\n } else if (fromUnit === 'rem') {\n pxLength = toUnitless(length) * toUnitless(baseFontSize);\n }\n }\n\n // Convert length in pixels to the output unit\n let outputLength = pxLength;\n if (toUnit !== 'px') {\n if (toUnit === 'em') {\n outputLength = pxLength / toUnitless(baseFontSize);\n } else if (toUnit === 'rem') {\n outputLength = pxLength / toUnitless(baseFontSize);\n } else {\n return length;\n }\n }\n return parseFloat(outputLength.toFixed(5)) + toUnit;\n };\n}\nexport function alignProperty({\n size,\n grid\n}) {\n const sizeBelow = size - size % grid;\n const sizeAbove = sizeBelow + grid;\n return size - sizeBelow < sizeAbove - size ? sizeBelow : sizeAbove;\n}\n\n// fontGrid finds a minimal grid (in rem) for the fontSize values so that the\n// lineHeight falls under a x pixels grid, 4px in the case of Material Design,\n// without changing the relative line height\nexport function fontGrid({\n lineHeight,\n pixels,\n htmlFontSize\n}) {\n return pixels / (lineHeight * htmlFontSize);\n}\n\n/**\n * generate a responsive version of a given CSS property\n * @example\n * responsiveProperty({\n * cssProperty: 'fontSize',\n * min: 15,\n * max: 20,\n * unit: 'px',\n * breakpoints: [300, 600],\n * })\n *\n * // this returns\n *\n * {\n * fontSize: '15px',\n * '@media (min-width:300px)': {\n * fontSize: '17.5px',\n * },\n * '@media (min-width:600px)': {\n * fontSize: '20px',\n * },\n * }\n * @param {Object} params\n * @param {string} params.cssProperty - The CSS property to be made responsive\n * @param {number} params.min - The smallest value of the CSS property\n * @param {number} params.max - The largest value of the CSS property\n * @param {string} [params.unit] - The unit to be used for the CSS property\n * @param {Array.number} [params.breakpoints] - An array of breakpoints\n * @param {number} [params.alignStep] - Round scaled value to fall under this grid\n * @returns {Object} responsive styles for {params.cssProperty}\n */\nexport function responsiveProperty({\n cssProperty,\n min,\n max,\n unit = 'rem',\n breakpoints = [600, 900, 1200],\n transform = null\n}) {\n const output = {\n [cssProperty]: `${min}${unit}`\n };\n const factor = (max - min) / breakpoints[breakpoints.length - 1];\n breakpoints.forEach(breakpoint => {\n let value = min + factor * breakpoint;\n if (transform !== null) {\n value = transform(value);\n }\n output[`@media (min-width:${breakpoint}px)`] = {\n [cssProperty]: `${Math.round(value * 10000) / 10000}${unit}`\n };\n });\n return output;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSkeletonUtilityClass(slot) {\n return generateUtilityClass('MuiSkeleton', slot);\n}\nconst skeletonClasses = generateUtilityClasses('MuiSkeleton', ['root', 'text', 'rectangular', 'rounded', 'circular', 'pulse', 'wave', 'withChildren', 'fitContent', 'heightAuto']);\nexport default skeletonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"animation\", \"className\", \"component\", \"height\", \"style\", \"variant\", \"width\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { keyframes, css } from '@mui/system';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, unstable_getUnit as getUnit, unstable_toUnitless as toUnitless } from '../styles';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport { getSkeletonUtilityClass } from './skeletonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n animation,\n hasChildren,\n width,\n height\n } = ownerState;\n const slots = {\n root: ['root', variant, animation, hasChildren && 'withChildren', hasChildren && !width && 'fitContent', hasChildren && !height && 'heightAuto']\n };\n return composeClasses(slots, getSkeletonUtilityClass, classes);\n};\nconst pulseKeyframe = keyframes(_t || (_t = _`\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1;\n }\n`));\nconst waveKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n transform: translateX(-100%);\n }\n\n 50% {\n /* +0.5s of delay between each loop */\n transform: translateX(100%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n`));\nconst SkeletonRoot = styled('span', {\n name: 'MuiSkeleton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.animation !== false && styles[ownerState.animation], ownerState.hasChildren && styles.withChildren, ownerState.hasChildren && !ownerState.width && styles.fitContent, ownerState.hasChildren && !ownerState.height && styles.heightAuto];\n }\n})(({\n theme,\n ownerState\n}) => {\n const radiusUnit = getUnit(theme.shape.borderRadius) || 'px';\n const radiusValue = toUnitless(theme.shape.borderRadius);\n return _extends({\n display: 'block',\n // Create a \"on paper\" color with sufficient contrast retaining the color\n backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : alpha(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),\n height: '1.2em'\n }, ownerState.variant === 'text' && {\n marginTop: 0,\n marginBottom: 0,\n height: 'auto',\n transformOrigin: '0 55%',\n transform: 'scale(1, 0.60)',\n borderRadius: `${radiusValue}${radiusUnit}/${Math.round(radiusValue / 0.6 * 10) / 10}${radiusUnit}`,\n '&:empty:before': {\n content: '\"\\\\00a0\"'\n }\n }, ownerState.variant === 'circular' && {\n borderRadius: '50%'\n }, ownerState.variant === 'rounded' && {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }, ownerState.hasChildren && {\n '& > *': {\n visibility: 'hidden'\n }\n }, ownerState.hasChildren && !ownerState.width && {\n maxWidth: 'fit-content'\n }, ownerState.hasChildren && !ownerState.height && {\n height: 'auto'\n });\n}, ({\n ownerState\n}) => ownerState.animation === 'pulse' && css(_t3 || (_t3 = _`\n animation: ${0} 2s ease-in-out 0.5s infinite;\n `), pulseKeyframe), ({\n ownerState,\n theme\n}) => ownerState.animation === 'wave' && css(_t4 || (_t4 = _`\n position: relative;\n overflow: hidden;\n\n /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n &::after {\n animation: ${0} 2s linear 0.5s infinite;\n background: linear-gradient(\n 90deg,\n transparent,\n ${0},\n transparent\n );\n content: '';\n position: absolute;\n transform: translateX(-100%); /* Avoid flash during server-side hydration */\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n }\n `), waveKeyframe, (theme.vars || theme).palette.action.hover));\nconst Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSkeleton'\n });\n const {\n animation = 'pulse',\n className,\n component = 'span',\n height,\n style,\n variant = 'text',\n width\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n animation,\n component,\n variant,\n hasChildren: Boolean(other.children)\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(SkeletonRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n style: _extends({\n width,\n height\n }, style)\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Skeleton.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 animation.\n * If `false` the animation effect is disabled.\n * @default 'pulse'\n */\n animation: PropTypes.oneOf(['pulse', 'wave', false]),\n /**\n * Optional children to infer width and height from.\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 * Height of the skeleton.\n * Useful when you don't want to adapt the skeleton to a text element but for instance a card.\n */\n height: 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 type of content that will be rendered.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rectangular', 'rounded', 'text']), PropTypes.string]),\n /**\n * Width of the skeleton.\n * Useful when the skeleton is inside an inline element with no width of its own.\n */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport default Skeleton;"],"names":["clampWrapper","value","min","max","clamp","hexToRgb","color","re","colors","n","index","decomposeColor","marker","type","_formatMuiErrorMessage","values","colorSpace","recomposeColor","i","alpha","getUnit","input","toUnitless","length","getSkeletonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","_","_t","_t2","_t3","_t4","useUtilityClasses","ownerState","classes","variant","animation","hasChildren","width","height","composeClasses","pulseKeyframe","keyframes","waveKeyframe","SkeletonRoot","styled","props","styles","theme","radiusUnit","radiusValue","_extends","css","Skeleton","React.forwardRef","inProps","ref","useDefaultProps","className","component","style","other","_objectWithoutPropertiesLoose","_jsx","clsx"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1 +1 @@
1
- import{j as c}from"./index-DUmIu2EK.js";import{r as s}from"./vendor-router-D_36sTKu.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";const u="https://platform.twitter.com/widgets.js";let i=null;const a=()=>i||(typeof window>"u"||window.twttr?.widgets?Promise.resolve():(i=new Promise((n,r)=>{const t=document.createElement("script");t.src=u,t.async=!0,t.onload=()=>n(),t.onerror=()=>{i=null,r(new Error("Failed to load Twitter widgets"))},document.head.appendChild(t)}),i)),w=e=>{for(;e.firstChild;)e.removeChild(e.firstChild)},C=({tweetId:e,theme:n="dark"})=>{const r=s.useRef(null),[t,l]=s.useState(!0);return s.useEffect(()=>{let o=!1;return a().then(()=>{if(o||!r.current)return;w(r.current);const d=window.twttr?.widgets;if(d)return d.createTweet(e,r.current,{theme:n})}).finally(()=>{o||l(!1)}),()=>{o=!0}},[e,n]),c.jsx("div",{ref:r,"aria-busy":t?!0:void 0,children:t?"Loading tweet…":null})};export{C as TwitterEmbed};
1
+ import{j as c}from"./index-BoINd_2w.js";import{r as s}from"./vendor-router-D_36sTKu.js";import"./vendor-crypto-uuuQA3i5.js";import"./vendor-schemas-DJzTSxpO.js";import"./vendor-sentry-BSvWNK4f.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";const u="https://platform.twitter.com/widgets.js";let i=null;const a=()=>i||(typeof window>"u"||window.twttr?.widgets?Promise.resolve():(i=new Promise((n,r)=>{const t=document.createElement("script");t.src=u,t.async=!0,t.onload=()=>n(),t.onerror=()=>{i=null,r(new Error("Failed to load Twitter widgets"))},document.head.appendChild(t)}),i)),w=e=>{for(;e.firstChild;)e.removeChild(e.firstChild)},C=({tweetId:e,theme:n="dark"})=>{const r=s.useRef(null),[t,l]=s.useState(!0);return s.useEffect(()=>{let o=!1;return a().then(()=>{if(o||!r.current)return;w(r.current);const d=window.twttr?.widgets;if(d)return d.createTweet(e,r.current,{theme:n})}).finally(()=>{o||l(!1)}),()=>{o=!0}},[e,n]),c.jsx("div",{ref:r,"aria-busy":t?!0:void 0,children:t?"Loading tweet…":null})};export{C as TwitterEmbed};
@@ -1 +1 @@
1
- {"version":3,"file":"TwitterEmbed-BbSYYog-.js","sources":["../../src/components/blog/RichText/TwitterEmbed.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\n\nconst WIDGETS_SRC = 'https://platform.twitter.com/widgets.js'\n\ntype TwitterWidgets = {\n createTweet: (tweetId: string, element: HTMLElement, options?: { theme?: 'light' | 'dark' }) => Promise<HTMLElement | undefined>\n}\n\ntype TwitterGlobal = { widgets?: TwitterWidgets }\n\n// Hoisted so concurrent callers share a single script load.\nlet scriptPromise: Promise<void> | null = null\n\nconst loadTwitterWidgets = (): Promise<void> => {\n if (scriptPromise) return scriptPromise\n if (typeof window === 'undefined') return Promise.resolve()\n\n const existing = (window as unknown as { twttr?: TwitterGlobal }).twttr\n if (existing?.widgets) return Promise.resolve()\n\n scriptPromise = new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = WIDGETS_SRC\n script.async = true\n script.onload = () => resolve()\n script.onerror = () => {\n scriptPromise = null\n reject(new Error('Failed to load Twitter widgets'))\n }\n document.head.appendChild(script)\n })\n return scriptPromise\n}\n\nconst clearContainer = (el: HTMLElement) => {\n while (el.firstChild) el.removeChild(el.firstChild)\n}\n\ninterface TwitterEmbedProps {\n tweetId: string\n theme?: 'light' | 'dark'\n}\n\nconst TwitterEmbed = ({ tweetId, theme = 'dark' }: TwitterEmbedProps) => {\n const ref = useRef<HTMLDivElement>(null)\n const [loading, setLoading] = useState(true)\n\n useEffect(() => {\n let cancelled = false\n\n loadTwitterWidgets()\n .then(() => {\n if (cancelled || !ref.current) return\n clearContainer(ref.current)\n const widgets = (window as unknown as { twttr?: TwitterGlobal }).twttr?.widgets\n if (!widgets) return\n return widgets.createTweet(tweetId, ref.current, { theme })\n })\n .finally(() => {\n if (!cancelled) setLoading(false)\n })\n\n return () => {\n cancelled = true\n }\n }, [tweetId, theme])\n\n return (\n <div ref={ref} aria-busy={loading ? true : undefined}>\n {loading ? 'Loading tweet…' : null}\n </div>\n )\n}\n\nexport { TwitterEmbed }\n"],"names":["WIDGETS_SRC","scriptPromise","loadTwitterWidgets","resolve","reject","script","clearContainer","el","TwitterEmbed","tweetId","theme","ref","useRef","loading","setLoading","useState","useEffect","cancelled","widgets","jsx"],"mappings":"uQAEA,MAAMA,EAAc,0CASpB,IAAIC,EAAsC,KAE1C,MAAMC,EAAqB,IACrBD,IACA,OAAO,OAAW,KAEJ,OAAgD,OACpD,QAAgB,QAAQ,QAAA,GAEtCA,EAAgB,IAAI,QAAQ,CAACE,EAASC,IAAW,CAC/C,MAAMC,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,IAAML,EACbK,EAAO,MAAQ,GACfA,EAAO,OAAS,IAAMF,EAAA,EACtBE,EAAO,QAAU,IAAM,CACrBJ,EAAgB,KAChBG,EAAO,IAAI,MAAM,gCAAgC,CAAC,CACpD,EACA,SAAS,KAAK,YAAYC,CAAM,CAClC,CAAC,EACMJ,IAGHK,EAAkBC,GAAoB,CAC1C,KAAOA,EAAG,YAAYA,EAAG,YAAYA,EAAG,UAAU,CACpD,EAOMC,EAAe,CAAC,CAAE,QAAAC,EAAS,MAAAC,EAAQ,UAAgC,CACvE,MAAMC,EAAMC,EAAAA,OAAuB,IAAI,EACjC,CAACC,EAASC,CAAU,EAAIC,EAAAA,SAAS,EAAI,EAE3CC,OAAAA,EAAAA,UAAU,IAAM,CACd,IAAIC,EAAY,GAEhB,OAAAf,EAAA,EACG,KAAK,IAAM,CACV,GAAIe,GAAa,CAACN,EAAI,QAAS,OAC/BL,EAAeK,EAAI,OAAO,EAC1B,MAAMO,EAAW,OAAgD,OAAO,QACxE,GAAKA,EACL,OAAOA,EAAQ,YAAYT,EAASE,EAAI,QAAS,CAAE,MAAAD,EAAO,CAC5D,CAAC,EACA,QAAQ,IAAM,CACRO,GAAWH,EAAW,EAAK,CAClC,CAAC,EAEI,IAAM,CACXG,EAAY,EACd,CACF,EAAG,CAACR,EAASC,CAAK,CAAC,EAGjBS,EAAAA,IAAC,OAAI,IAAAR,EAAU,YAAWE,EAAU,GAAO,OACxC,SAAAA,EAAU,iBAAmB,IAAA,CAChC,CAEJ"}
1
+ {"version":3,"file":"TwitterEmbed-NxuXdAtw.js","sources":["../../src/components/blog/RichText/TwitterEmbed.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\n\nconst WIDGETS_SRC = 'https://platform.twitter.com/widgets.js'\n\ntype TwitterWidgets = {\n createTweet: (tweetId: string, element: HTMLElement, options?: { theme?: 'light' | 'dark' }) => Promise<HTMLElement | undefined>\n}\n\ntype TwitterGlobal = { widgets?: TwitterWidgets }\n\n// Hoisted so concurrent callers share a single script load.\nlet scriptPromise: Promise<void> | null = null\n\nconst loadTwitterWidgets = (): Promise<void> => {\n if (scriptPromise) return scriptPromise\n if (typeof window === 'undefined') return Promise.resolve()\n\n const existing = (window as unknown as { twttr?: TwitterGlobal }).twttr\n if (existing?.widgets) return Promise.resolve()\n\n scriptPromise = new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = WIDGETS_SRC\n script.async = true\n script.onload = () => resolve()\n script.onerror = () => {\n scriptPromise = null\n reject(new Error('Failed to load Twitter widgets'))\n }\n document.head.appendChild(script)\n })\n return scriptPromise\n}\n\nconst clearContainer = (el: HTMLElement) => {\n while (el.firstChild) el.removeChild(el.firstChild)\n}\n\ninterface TwitterEmbedProps {\n tweetId: string\n theme?: 'light' | 'dark'\n}\n\nconst TwitterEmbed = ({ tweetId, theme = 'dark' }: TwitterEmbedProps) => {\n const ref = useRef<HTMLDivElement>(null)\n const [loading, setLoading] = useState(true)\n\n useEffect(() => {\n let cancelled = false\n\n loadTwitterWidgets()\n .then(() => {\n if (cancelled || !ref.current) return\n clearContainer(ref.current)\n const widgets = (window as unknown as { twttr?: TwitterGlobal }).twttr?.widgets\n if (!widgets) return\n return widgets.createTweet(tweetId, ref.current, { theme })\n })\n .finally(() => {\n if (!cancelled) setLoading(false)\n })\n\n return () => {\n cancelled = true\n }\n }, [tweetId, theme])\n\n return (\n <div ref={ref} aria-busy={loading ? true : undefined}>\n {loading ? 'Loading tweet…' : null}\n </div>\n )\n}\n\nexport { TwitterEmbed }\n"],"names":["WIDGETS_SRC","scriptPromise","loadTwitterWidgets","resolve","reject","script","clearContainer","el","TwitterEmbed","tweetId","theme","ref","useRef","loading","setLoading","useState","useEffect","cancelled","widgets","jsx"],"mappings":"uQAEA,MAAMA,EAAc,0CASpB,IAAIC,EAAsC,KAE1C,MAAMC,EAAqB,IACrBD,IACA,OAAO,OAAW,KAEJ,OAAgD,OACpD,QAAgB,QAAQ,QAAA,GAEtCA,EAAgB,IAAI,QAAQ,CAACE,EAASC,IAAW,CAC/C,MAAMC,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,IAAML,EACbK,EAAO,MAAQ,GACfA,EAAO,OAAS,IAAMF,EAAA,EACtBE,EAAO,QAAU,IAAM,CACrBJ,EAAgB,KAChBG,EAAO,IAAI,MAAM,gCAAgC,CAAC,CACpD,EACA,SAAS,KAAK,YAAYC,CAAM,CAClC,CAAC,EACMJ,IAGHK,EAAkBC,GAAoB,CAC1C,KAAOA,EAAG,YAAYA,EAAG,YAAYA,EAAG,UAAU,CACpD,EAOMC,EAAe,CAAC,CAAE,QAAAC,EAAS,MAAAC,EAAQ,UAAgC,CACvE,MAAMC,EAAMC,EAAAA,OAAuB,IAAI,EACjC,CAACC,EAASC,CAAU,EAAIC,EAAAA,SAAS,EAAI,EAE3CC,OAAAA,EAAAA,UAAU,IAAM,CACd,IAAIC,EAAY,GAEhB,OAAAf,EAAA,EACG,KAAK,IAAM,CACV,GAAIe,GAAa,CAACN,EAAI,QAAS,OAC/BL,EAAeK,EAAI,OAAO,EAC1B,MAAMO,EAAW,OAAgD,OAAO,QACxE,GAAKA,EACL,OAAOA,EAAQ,YAAYT,EAASE,EAAI,QAAS,CAAE,MAAAD,EAAO,CAC5D,CAAC,EACA,QAAQ,IAAM,CACRO,GAAWH,EAAW,EAAK,CAClC,CAAC,EAEI,IAAM,CACXG,EAAY,EACd,CACF,EAAG,CAACR,EAASC,CAAK,CAAC,EAGjBS,EAAAA,IAAC,OAAI,IAAAR,EAAU,YAAWE,EAAU,GAAO,OACxC,SAAAA,EAAU,iBAAmB,IAAA,CAChC,CAEJ"}
@@ -1 +1 @@
1
- import{j as p}from"./index-DUmIu2EK.js";import{r as s}from"./vendor-router-D_36sTKu.js";const m=s.memo(c=>{const{play:e,source:a,className:i,...l}=c,o=s.useRef(null);return s.useEffect(()=>{if(!o.current||typeof e!="boolean")return;const r=o.current,n=r.currentTime>0&&!r.paused&&!r.ended&&r.readyState>r.HAVE_CURRENT_DATA;if(e){if(n)return;(async()=>{try{await r.play()}catch(t){if(t instanceof Error&&t.name==="AbortError"){r.muted=!0;try{await r.play()}catch(u){console.error("Could not play video:",u)}}else console.error("Could not play video:",t)}})()}else{if(!n)return;r.pause()}},[e,a]),p.jsx("video",{...l,ref:o,src:a,className:i})});export{m as V};
1
+ import{j as p}from"./index-BoINd_2w.js";import{r as s}from"./vendor-router-D_36sTKu.js";const m=s.memo(c=>{const{play:e,source:a,className:i,...l}=c,o=s.useRef(null);return s.useEffect(()=>{if(!o.current||typeof e!="boolean")return;const r=o.current,n=r.currentTime>0&&!r.paused&&!r.ended&&r.readyState>r.HAVE_CURRENT_DATA;if(e){if(n)return;(async()=>{try{await r.play()}catch(t){if(t instanceof Error&&t.name==="AbortError"){r.muted=!0;try{await r.play()}catch(u){console.error("Could not play video:",u)}}else console.error("Could not play video:",t)}})()}else{if(!n)return;r.pause()}},[e,a]),p.jsx("video",{...l,ref:o,src:a,className:i})});export{m as V};
@@ -1 +1 @@
1
- {"version":3,"file":"Video--A0fBGqz.js","sources":["../../src/components/Video/Video.tsx"],"sourcesContent":["import { memo, useEffect, useRef } from 'react'\nimport type { VideoProps } from './Video.types'\n\nconst Video = memo((props: VideoProps) => {\n const { play, source, className, ...videoProps } = props\n const ref = useRef<HTMLVideoElement>(null)\n\n useEffect(() => {\n if (!ref.current || typeof play !== 'boolean') {\n return\n }\n\n const video = ref.current\n const isPlaying = video.currentTime > 0 && !video.paused && !video.ended && video.readyState > video.HAVE_CURRENT_DATA\n\n if (play) {\n if (isPlaying) return\n const playVideo = async () => {\n try {\n await video.play()\n } catch (err) {\n if (err instanceof Error && err.name === 'AbortError') {\n video.muted = true\n try {\n await video.play()\n } catch (retryErr) {\n console.error('Could not play video:', retryErr)\n }\n } else {\n console.error('Could not play video:', err)\n }\n }\n }\n playVideo()\n } else {\n if (!isPlaying) return\n video.pause()\n }\n }, [play, source])\n\n return <video {...videoProps} ref={ref} src={source} className={className} />\n})\n\nexport { Video }\n"],"names":["Video","memo","props","play","source","className","videoProps","ref","useRef","useEffect","video","isPlaying","err","retryErr"],"mappings":"wFAGA,MAAMA,EAAQC,EAAAA,KAAMC,GAAsB,CACxC,KAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,UAAAC,EAAW,GAAGC,GAAeJ,EAC7CK,EAAMC,EAAAA,OAAyB,IAAI,EAEzCC,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACF,EAAI,SAAW,OAAOJ,GAAS,UAClC,OAGF,MAAMO,EAAQH,EAAI,QACZI,EAAYD,EAAM,YAAc,GAAK,CAACA,EAAM,QAAU,CAACA,EAAM,OAASA,EAAM,WAAaA,EAAM,kBAErG,GAAIP,EAAM,CACR,GAAIQ,EAAW,QACG,SAAY,CAC5B,GAAI,CACF,MAAMD,EAAM,KAAA,CACd,OAASE,EAAK,CACZ,GAAIA,aAAe,OAASA,EAAI,OAAS,aAAc,CACrDF,EAAM,MAAQ,GACd,GAAI,CACF,MAAMA,EAAM,KAAA,CACd,OAASG,EAAU,CACjB,QAAQ,MAAM,wBAAyBA,CAAQ,CACjD,CACF,MACE,QAAQ,MAAM,wBAAyBD,CAAG,CAE9C,CACF,GACA,CACF,KAAO,CACL,GAAI,CAACD,EAAW,OAChBD,EAAM,MAAA,CACR,CACF,EAAG,CAACP,EAAMC,CAAM,CAAC,QAET,QAAA,CAAO,GAAGE,EAAY,IAAAC,EAAU,IAAKH,EAAQ,UAAAC,EAAsB,CAC7E,CAAC"}
1
+ {"version":3,"file":"Video-DfjlIy5m.js","sources":["../../src/components/Video/Video.tsx"],"sourcesContent":["import { memo, useEffect, useRef } from 'react'\nimport type { VideoProps } from './Video.types'\n\nconst Video = memo((props: VideoProps) => {\n const { play, source, className, ...videoProps } = props\n const ref = useRef<HTMLVideoElement>(null)\n\n useEffect(() => {\n if (!ref.current || typeof play !== 'boolean') {\n return\n }\n\n const video = ref.current\n const isPlaying = video.currentTime > 0 && !video.paused && !video.ended && video.readyState > video.HAVE_CURRENT_DATA\n\n if (play) {\n if (isPlaying) return\n const playVideo = async () => {\n try {\n await video.play()\n } catch (err) {\n if (err instanceof Error && err.name === 'AbortError') {\n video.muted = true\n try {\n await video.play()\n } catch (retryErr) {\n console.error('Could not play video:', retryErr)\n }\n } else {\n console.error('Could not play video:', err)\n }\n }\n }\n playVideo()\n } else {\n if (!isPlaying) return\n video.pause()\n }\n }, [play, source])\n\n return <video {...videoProps} ref={ref} src={source} className={className} />\n})\n\nexport { Video }\n"],"names":["Video","memo","props","play","source","className","videoProps","ref","useRef","useEffect","video","isPlaying","err","retryErr"],"mappings":"wFAGA,MAAMA,EAAQC,EAAAA,KAAMC,GAAsB,CACxC,KAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,UAAAC,EAAW,GAAGC,GAAeJ,EAC7CK,EAAMC,EAAAA,OAAyB,IAAI,EAEzCC,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACF,EAAI,SAAW,OAAOJ,GAAS,UAClC,OAGF,MAAMO,EAAQH,EAAI,QACZI,EAAYD,EAAM,YAAc,GAAK,CAACA,EAAM,QAAU,CAACA,EAAM,OAASA,EAAM,WAAaA,EAAM,kBAErG,GAAIP,EAAM,CACR,GAAIQ,EAAW,QACG,SAAY,CAC5B,GAAI,CACF,MAAMD,EAAM,KAAA,CACd,OAASE,EAAK,CACZ,GAAIA,aAAe,OAASA,EAAI,OAAS,aAAc,CACrDF,EAAM,MAAQ,GACd,GAAI,CACF,MAAMA,EAAM,KAAA,CACd,OAASG,EAAU,CACjB,QAAQ,MAAM,wBAAyBA,CAAQ,CACjD,CACF,MACE,QAAQ,MAAM,wBAAyBD,CAAG,CAE9C,CACF,GACA,CACF,KAAO,CACL,GAAI,CAACD,EAAW,OAChBD,EAAM,MAAA,CACR,CACF,EAAG,CAACP,EAAMC,CAAM,CAAC,QAET,QAAA,CAAO,GAAGE,EAAY,IAAAC,EAAU,IAAKH,EAAQ,UAAAC,EAAsB,CAC7E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import{aq as xi,j as Di}from"./index-BoINd_2w.js";import{c as Fe,d as Fi,r as R}from"./vendor-router-D_36sTKu.js";import{p as E}from"./index-C3SWQl_p.js";import{p as ar}from"./vendor-sentry-BSvWNK4f.js";import{r as Ci}from"./vendor-crypto-uuuQA3i5.js";import{c as ki}from"./index-z5rocGN5.js";import"./vendor-ua-D7qqAxdq.js";import"./vendor-intl-D2lXWsDp.js";import"./validation-CGrp9n3C.js";import"./vendor-schemas-DJzTSxpO.js";var gt=Object.prototype.toString,Kn=function(e){var t=gt.call(e),n=t==="[object Arguments]";return n||(n=t!=="[object Array]"&&e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&gt.call(e.callee)==="[object Function]"),n},ir,dt;function Wi(){if(dt)return ir;dt=1;var r;if(!Object.keys){var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Kn,o=Object.prototype.propertyIsEnumerable,a=!o.call({toString:null},"toString"),s=o.call(function(){},"prototype"),i=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],f=function(c){var l=c.constructor;return l&&l.prototype===c},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},v=function(){if(typeof window>"u")return!1;for(var c in window)try{if(!u["$"+c]&&e.call(window,c)&&window[c]!==null&&typeof window[c]=="object")try{f(window[c])}catch{return!0}}catch{return!0}return!1}(),g=function(c){if(typeof window>"u"||!v)return f(c);try{return f(c)}catch{return!1}};r=function(l){var S=l!==null&&typeof l=="object",b=t.call(l)==="[object Function]",P=n(l),d=S&&t.call(l)==="[object String]",m=[];if(!S&&!b&&!P)throw new TypeError("Object.keys called on a non-object");var B=s&&b;if(d&&l.length>0&&!e.call(l,0))for(var h=0;h<l.length;++h)m.push(String(h));if(P&&l.length>0)for(var M=0;M<l.length;++M)m.push(String(M));else for(var A in l)!(B&&A==="prototype")&&e.call(l,A)&&m.push(String(A));if(a)for(var T=g(l),O=0;O<i.length;++O)!(T&&i[O]==="constructor")&&e.call(l,i[O])&&m.push(i[O]);return m}}return ir=r,ir}var _i=Array.prototype.slice,Ni=Kn,mt=Object.keys,Oe=mt?function(e){return mt(e)}:Wi(),ht=Object.keys;Oe.shim=function(){if(Object.keys){var e=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);e||(Object.keys=function(n){return Ni(n)?ht(_i.call(n)):ht(n)})}else Object.keys=Oe;return Object.keys||Oe};var Zr=Oe,Ee=Object.defineProperty||!1;if(Ee)try{Ee({},"a",{value:1})}catch{Ee=!1}var Xe=Ee,Jr=SyntaxError,I=TypeError,Li=Object.getOwnPropertyDescriptor,Ie=Li;if(Ie)try{Ie([],"length")}catch{Ie=null}var G=Ie,St=Xe,Ui=Jr,Z=I,bt=G,Xr=function(e,t,n){if(!e||typeof e!="object"&&typeof e!="function")throw new Z("`obj` must be an object or a function`");if(typeof t!="string"&&typeof t!="symbol")throw new Z("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new Z("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new Z("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new Z("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new Z("`loose`, if provided, must be a boolean");var o=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,s=arguments.length>5?arguments[5]:null,i=arguments.length>6?arguments[6]:!1,f=!!bt&&bt(e,t);if(St)St(e,t,{configurable:s===null&&f?f.configurable:!s,enumerable:o===null&&f?f.enumerable:!o,value:n,writable:a===null&&f?f.writable:!a});else if(i||!o&&!a&&!s)e[t]=n;else throw new Ui("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Mr=Xe,Qn=function(){return!!Mr};Qn.hasArrayLengthDefineBug=function(){if(!Mr)return null;try{return Mr([],"length",{value:1}).length!==1}catch{return!0}};var Kr=Qn,qi=Zr,Gi=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",Hi=Object.prototype.toString,zi=Array.prototype.concat,$t=Xr,Vi=function(r){return typeof r=="function"&&Hi.call(r)==="[object Function]"},eo=Kr(),Yi=function(r,e,t,n){if(e in r){if(n===!0){if(r[e]===t)return}else if(!Vi(n)||!n())return}eo?$t(r,e,t,!0):$t(r,e,t)},ro=function(r,e){var t=arguments.length>2?arguments[2]:{},n=qi(e);Gi&&(n=zi.call(n,Object.getOwnPropertySymbols(e)));for(var o=0;o<n.length;o+=1)Yi(r,n[o],e[n[o]],t[n[o]])};ro.supportsDescriptors=!!eo;var H=ro,to={exports:{}},Qr=Object,no=Error,Zi=EvalError,Ji=RangeError,Xi=ReferenceError,Ki=URIError,Qi=Math.abs,ef=Math.floor,rf=Math.max,tf=Math.min,nf=Math.pow,of=Math.round,af=Number.isNaN||function(e){return e!==e},ff=af,sf=function(e){return ff(e)||e===0?e:e<0?-1:1},Ke=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},t=Symbol("test"),n=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;e[t]=o;for(var a in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var s=Object.getOwnPropertySymbols(e);if(s.length!==1||s[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var i=Object.getOwnPropertyDescriptor(e,t);if(i.value!==o||i.enumerable!==!0)return!1}return!0},wt=typeof Symbol<"u"&&Symbol,uf=Ke,et=function(){return typeof wt!="function"||typeof Symbol!="function"||typeof wt("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:uf()},fr,Pt;function oo(){return Pt||(Pt=1,fr=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),fr}var sr,At;function ao(){if(At)return sr;At=1;var r=Qr;return sr=r.getPrototypeOf||null,sr}var lf="Function.prototype.bind called on incompatible ",cf=Object.prototype.toString,pf=Math.max,yf="[object Function]",Ot=function(e,t){for(var n=[],o=0;o<e.length;o+=1)n[o]=e[o];for(var a=0;a<t.length;a+=1)n[a+e.length]=t[a];return n},vf=function(e,t){for(var n=[],o=t,a=0;o<e.length;o+=1,a+=1)n[a]=e[o];return n},gf=function(r,e){for(var t="",n=0;n<r.length;n+=1)t+=r[n],n+1<r.length&&(t+=e);return t},df=function(e){var t=this;if(typeof t!="function"||cf.apply(t)!==yf)throw new TypeError(lf+t);for(var n=vf(arguments,1),o,a=function(){if(this instanceof o){var v=t.apply(this,Ot(n,arguments));return Object(v)===v?v:this}return t.apply(e,Ot(n,arguments))},s=pf(0,t.length-n.length),i=[],f=0;f<s;f++)i[f]="$"+f;if(o=Function("binder","return function ("+gf(i,",")+"){ return binder.apply(this,arguments); }")(a),t.prototype){var u=function(){};u.prototype=t.prototype,o.prototype=new u,u.prototype=null}return o},mf=df,de=Function.prototype.bind||mf,ur,Et;function rt(){return Et||(Et=1,ur=Function.prototype.call),ur}var lr,It;function tt(){return It||(It=1,lr=Function.prototype.apply),lr}var hf=typeof Reflect<"u"&&Reflect&&Reflect.apply,Sf=de,bf=tt(),$f=rt(),wf=hf,io=wf||Sf.call($f,bf),Pf=de,Af=I,Of=rt(),Ef=io,nt=function(e){if(e.length<1||typeof e[0]!="function")throw new Af("a function is required");return Ef(Pf,Of,e)},If=nt,Bt=G,fo;try{fo=[].__proto__===Array.prototype}catch(r){if(!r||typeof r!="object"||!("code"in r)||r.code!=="ERR_PROTO_ACCESS")throw r}var cr=!!fo&&Bt&&Bt(Object.prototype,"__proto__"),so=Object,Mt=so.getPrototypeOf,Bf=cr&&typeof cr.get=="function"?If([cr.get]):typeof Mt=="function"?function(e){return Mt(e==null?e:so(e))}:!1,Tt=oo(),Rt=ao(),jt=Bf,ot=Tt?function(e){return Tt(e)}:Rt?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return Rt(e)}:jt?function(e){return jt(e)}:null,Mf=Function.prototype.call,Tf=Object.prototype.hasOwnProperty,Rf=de,at=Rf.call(Mf,Tf),y,jf=Qr,xf=no,Df=Zi,Ff=Ji,Cf=Xi,te=Jr,ee=I,kf=Ki,Wf=Qi,_f=ef,Nf=rf,Lf=tf,Uf=nf,qf=of,Gf=sf,uo=Function,pr=function(r){try{return uo('"use strict"; return ('+r+").constructor;")()}catch{}},ve=G,Hf=Xe,yr=function(){throw new ee},zf=ve?function(){try{return arguments.callee,yr}catch{try{return ve(arguments,"callee").get}catch{return yr}}}():yr,J=et(),$=ot,Vf=ao(),Yf=oo(),lo=tt(),me=rt(),K={},Zf=typeof Uint8Array>"u"||!$?y:$(Uint8Array),q={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?y:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?y:ArrayBuffer,"%ArrayIteratorPrototype%":J&&$?$([][Symbol.iterator]()):y,"%AsyncFromSyncIteratorPrototype%":y,"%AsyncFunction%":K,"%AsyncGenerator%":K,"%AsyncGeneratorFunction%":K,"%AsyncIteratorPrototype%":K,"%Atomics%":typeof Atomics>"u"?y:Atomics,"%BigInt%":typeof BigInt>"u"?y:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?y:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?y:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?y:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":xf,"%eval%":eval,"%EvalError%":Df,"%Float16Array%":typeof Float16Array>"u"?y:Float16Array,"%Float32Array%":typeof Float32Array>"u"?y:Float32Array,"%Float64Array%":typeof Float64Array>"u"?y:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?y:FinalizationRegistry,"%Function%":uo,"%GeneratorFunction%":K,"%Int8Array%":typeof Int8Array>"u"?y:Int8Array,"%Int16Array%":typeof Int16Array>"u"?y:Int16Array,"%Int32Array%":typeof Int32Array>"u"?y:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":J&&$?$($([][Symbol.iterator]())):y,"%JSON%":typeof JSON=="object"?JSON:y,"%Map%":typeof Map>"u"?y:Map,"%MapIteratorPrototype%":typeof Map>"u"||!J||!$?y:$(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":jf,"%Object.getOwnPropertyDescriptor%":ve,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?y:Promise,"%Proxy%":typeof Proxy>"u"?y:Proxy,"%RangeError%":Ff,"%ReferenceError%":Cf,"%Reflect%":typeof Reflect>"u"?y:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?y:Set,"%SetIteratorPrototype%":typeof Set>"u"||!J||!$?y:$(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?y:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":J&&$?$(""[Symbol.iterator]()):y,"%Symbol%":J?Symbol:y,"%SyntaxError%":te,"%ThrowTypeError%":zf,"%TypedArray%":Zf,"%TypeError%":ee,"%Uint8Array%":typeof Uint8Array>"u"?y:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?y:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?y:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?y:Uint32Array,"%URIError%":kf,"%WeakMap%":typeof WeakMap>"u"?y:WeakMap,"%WeakRef%":typeof WeakRef>"u"?y:WeakRef,"%WeakSet%":typeof WeakSet>"u"?y:WeakSet,"%Function.prototype.call%":me,"%Function.prototype.apply%":lo,"%Object.defineProperty%":Hf,"%Object.getPrototypeOf%":Vf,"%Math.abs%":Wf,"%Math.floor%":_f,"%Math.max%":Nf,"%Math.min%":Lf,"%Math.pow%":Uf,"%Math.round%":qf,"%Math.sign%":Gf,"%Reflect.getPrototypeOf%":Yf};if($)try{null.error}catch(r){var Jf=$($(r));q["%Error.prototype%"]=Jf}var Xf=function r(e){var t;if(e==="%AsyncFunction%")t=pr("async function () {}");else if(e==="%GeneratorFunction%")t=pr("function* () {}");else if(e==="%AsyncGeneratorFunction%")t=pr("async function* () {}");else if(e==="%AsyncGenerator%"){var n=r("%AsyncGeneratorFunction%");n&&(t=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var o=r("%AsyncGenerator%");o&&$&&(t=$(o.prototype))}return q[e]=t,t},xt={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},he=de,Ce=at,Kf=he.call(me,Array.prototype.concat),Qf=he.call(lo,Array.prototype.splice),Dt=he.call(me,String.prototype.replace),ke=he.call(me,String.prototype.slice),es=he.call(me,RegExp.prototype.exec),rs=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,ts=/\\(\\)?/g,ns=function(e){var t=ke(e,0,1),n=ke(e,-1);if(t==="%"&&n!=="%")throw new te("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&t!=="%")throw new te("invalid intrinsic syntax, expected opening `%`");var o=[];return Dt(e,rs,function(a,s,i,f){o[o.length]=i?Dt(f,ts,"$1"):s||a}),o},os=function(e,t){var n=e,o;if(Ce(xt,n)&&(o=xt[n],n="%"+o[0]+"%"),Ce(q,n)){var a=q[n];if(a===K&&(a=Xf(n)),typeof a>"u"&&!t)throw new ee("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:o,name:n,value:a}}throw new te("intrinsic "+e+" does not exist!")},W=function(e,t){if(typeof e!="string"||e.length===0)throw new ee("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof t!="boolean")throw new ee('"allowMissing" argument must be a boolean');if(es(/^%?[^%]*%?$/,e)===null)throw new te("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=ns(e),o=n.length>0?n[0]:"",a=os("%"+o+"%",t),s=a.name,i=a.value,f=!1,u=a.alias;u&&(o=u[0],Qf(n,Kf([0,1],u)));for(var v=1,g=!0;v<n.length;v+=1){var c=n[v],l=ke(c,0,1),S=ke(c,-1);if((l==='"'||l==="'"||l==="`"||S==='"'||S==="'"||S==="`")&&l!==S)throw new te("property names with quotes must have matching quotes");if((c==="constructor"||!g)&&(f=!0),o+="."+c,s="%"+o+"%",Ce(q,s))i=q[s];else if(i!=null){if(!(c in i)){if(!t)throw new ee("base intrinsic for "+e+" exists, but the property is not available.");return}if(ve&&v+1>=n.length){var b=ve(i,c);g=!!b,g&&"get"in b&&!("originalValue"in b.get)?i=b.get:i=i[c]}else g=Ce(i,c),i=i[c];g&&!f&&(q[s]=i)}}return i},as=W,Ft=Xr,is=Kr(),Ct=G,kt=I,fs=as("%Math.floor%"),ss=function(e,t){if(typeof e!="function")throw new kt("`fn` is not a function");if(typeof t!="number"||t<0||t>4294967295||fs(t)!==t)throw new kt("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],o=!0,a=!0;if("length"in e&&Ct){var s=Ct(e,"length");s&&!s.configurable&&(o=!1),s&&!s.writable&&(a=!1)}return(o||a||!n)&&(is?Ft(e,"length",t,!0,!0):Ft(e,"length",t)),e},us=de,ls=tt(),cs=io,ps=function(){return cs(us,ls,arguments)};(function(r){var e=ss,t=Xe,n=nt,o=ps;r.exports=function(s){var i=n(arguments),f=1+s.length-(arguments.length-1);return e(i,f>0?f:0,!0)},t?t(r.exports,"apply",{value:o}):r.exports.apply=o})(to);var ae=to.exports,co=W,po=nt,ys=po([co("%String.prototype.indexOf%")]),w=function(e,t){var n=co(e,!!t);return typeof n=="function"&&ys(e,".prototype.")>-1?po([n]):n},vs=Zr,yo=Ke(),vo=w,Be=Qr,gs=vo("Array.prototype.push"),Wt=vo("Object.prototype.propertyIsEnumerable"),ds=yo?Be.getOwnPropertySymbols:null,go=function(e,t){if(e==null)throw new TypeError("target must be an object");var n=Be(e);if(arguments.length===1)return n;for(var o=1;o<arguments.length;++o){var a=Be(arguments[o]),s=vs(a),i=yo&&(Be.getOwnPropertySymbols||ds);if(i)for(var f=i(a),u=0;u<f.length;++u){var v=f[u];Wt(a,v)&&gs(s,v)}for(var g=0;g<s.length;++g){var c=s[g];if(Wt(a,c)){var l=a[c];n[c]=l}}}return n},vr=go,ms=function(){if(!Object.assign)return!1;for(var r="abcdefghijklmnopqrst",e=r.split(""),t={},n=0;n<e.length;++n)t[e[n]]=e[n];var o=Object.assign({},t),a="";for(var s in o)a+=s;return r!==a},hs=function(){if(!Object.assign||!Object.preventExtensions)return!1;var r=Object.preventExtensions({1:2});try{Object.assign(r,"xy")}catch{return r[1]==="y"}return!1},mo=function(){return!Object.assign||ms()||hs()?vr:Object.assign},Ss=H,bs=mo,$s=function(){var e=bs();return Ss(Object,{assign:e},{assign:function(){return Object.assign!==e}}),e},ws=H,Ps=ae,As=go,ho=mo,Os=$s,Es=Ps.apply(ho()),So=function(e,t){return Es(Object,arguments)};ws(So,{getPolyfill:ho,implementation:As,shim:Os});var Is=So,bo=W,$o=ae,Bs=$o(bo("String.prototype.indexOf")),wo=function(e,t){var n=bo(e,!!t);return typeof n=="function"&&Bs(e,".prototype.")>-1?$o(n):n},ge=function(){return typeof function(){}.name=="string"},le=Object.getOwnPropertyDescriptor;if(le)try{le([],"length")}catch{le=null}ge.functionsHaveConfigurableNames=function(){if(!ge()||!le)return!1;var e=le(function(){},"name");return!!e&&!!e.configurable};var Ms=Function.prototype.bind;ge.boundFunctionsHaveNames=function(){return ge()&&typeof Ms=="function"&&function(){}.bind().name!==""};var Ts=ge,_t=Xr,Rs=Kr(),js=Ts.functionsHaveConfigurableNames(),xs=I,Ds=function(e,t){if(typeof e!="function")throw new xs("`fn` is not a function");var n=arguments.length>2&&!!arguments[2];return(!n||js)&&(Rs?_t(e,"name",t,!0,!0):_t(e,"name",t)),e},Fs=Ds,Cs=I,ks=Object,Po=Fs(function(){if(this==null||this!==ks(this))throw new Cs("RegExp.prototype.flags getter called on non-object");var e="";return this.hasIndices&&(e+="d"),this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.dotAll&&(e+="s"),this.unicode&&(e+="u"),this.unicodeSets&&(e+="v"),this.sticky&&(e+="y"),e},"get flags",!0),Ws=Po,_s=H.supportsDescriptors,Ns=Object.getOwnPropertyDescriptor,Ao=function(){if(_s&&/a/mig.flags==="gim"){var e=Ns(RegExp.prototype,"flags");if(e&&typeof e.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var t="",n={};if(Object.defineProperty(n,"hasIndices",{get:function(){t+="d"}}),Object.defineProperty(n,"sticky",{get:function(){t+="y"}}),e.get.call(n),t==="dy")return e.get}}return Ws},Ls=H.supportsDescriptors,Us=Ao,qs=G,Gs=Object.defineProperty,Hs=no,Nt=ot,zs=/a/,Vs=function(){if(!Ls||!Nt)throw new Hs("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var e=Us(),t=Nt(zs),n=qs(t,"flags");return(!n||n.get!==e)&&Gs(t,"flags",{configurable:!0,enumerable:!1,get:e}),e},Ys=H,Zs=ae,Js=Po,Oo=Ao,Xs=Vs,Eo=Zs(Oo());Ys(Eo,{getPolyfill:Oo,implementation:Js,shim:Xs});var Ks=Eo,Me={exports:{}},Qs=Ke,z=function(){return Qs()&&!!Symbol.toStringTag},eu=z(),ru=w,Tr=ru("Object.prototype.toString"),Qe=function(e){return eu&&e&&typeof e=="object"&&Symbol.toStringTag in e?!1:Tr(e)==="[object Arguments]"},Io=function(e){return Qe(e)?!0:e!==null&&typeof e=="object"&&"length"in e&&typeof e.length=="number"&&e.length>=0&&Tr(e)!=="[object Array]"&&"callee"in e&&Tr(e.callee)==="[object Function]"},tu=function(){return Qe(arguments)}();Qe.isLegacyArguments=Io;var Bo=tu?Qe:Io,it=typeof Map=="function"&&Map.prototype,gr=Object.getOwnPropertyDescriptor&&it?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,We=it&&gr&&typeof gr.get=="function"?gr.get:null,Lt=it&&Map.prototype.forEach,ft=typeof Set=="function"&&Set.prototype,dr=Object.getOwnPropertyDescriptor&&ft?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,_e=ft&&dr&&typeof dr.get=="function"?dr.get:null,Ut=ft&&Set.prototype.forEach,nu=typeof WeakMap=="function"&&WeakMap.prototype,ce=nu?WeakMap.prototype.has:null,ou=typeof WeakSet=="function"&&WeakSet.prototype,pe=ou?WeakSet.prototype.has:null,au=typeof WeakRef=="function"&&WeakRef.prototype,qt=au?WeakRef.prototype.deref:null,iu=Boolean.prototype.valueOf,fu=Object.prototype.toString,su=Function.prototype.toString,uu=String.prototype.match,st=String.prototype.slice,L=String.prototype.replace,lu=String.prototype.toUpperCase,Gt=String.prototype.toLowerCase,Mo=RegExp.prototype.test,Ht=Array.prototype.concat,D=Array.prototype.join,cu=Array.prototype.slice,zt=Math.floor,Rr=typeof BigInt=="function"?BigInt.prototype.valueOf:null,mr=Object.getOwnPropertySymbols,jr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,ne=typeof Symbol=="function"&&typeof Symbol.iterator=="object",ye=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===ne||!0)?Symbol.toStringTag:null,To=Object.prototype.propertyIsEnumerable,Vt=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(r){return r.__proto__}:null);function Yt(r,e){if(r===1/0||r===-1/0||r!==r||r&&r>-1e3&&r<1e3||Mo.call(/e/,e))return e;var t=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof r=="number"){var n=r<0?-zt(-r):zt(r);if(n!==r){var o=String(n),a=st.call(e,o.length+1);return L.call(o,t,"$&_")+"."+L.call(L.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return L.call(e,t,"$&_")}var xr=Ci,Zt=xr.custom,Jt=xo(Zt)?Zt:null,Ro={__proto__:null,double:'"',single:"'"},pu={__proto__:null,double:/(["\\])/g,single:/(['\\])/g},er=function r(e,t,n,o){var a=t||{};if(k(a,"quoteStyle")&&!k(Ro,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(k(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var s=k(a,"customInspect")?a.customInspect:!0;if(typeof s!="boolean"&&s!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(k(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(k(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var i=a.numericSeparator;if(typeof e>"u")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return Fo(e,a);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var f=String(e);return i?Yt(e,f):f}if(typeof e=="bigint"){var u=String(e)+"n";return i?Yt(e,u):u}var v=typeof a.depth>"u"?5:a.depth;if(typeof n>"u"&&(n=0),n>=v&&v>0&&typeof e=="object")return Dr(e)?"[Array]":"[Object]";var g=Tu(a,n);if(typeof o>"u")o=[];else if(Do(o,e)>=0)return"[Circular]";function c(N,Y,or){if(Y&&(o=cu.call(o),o.push(Y)),or){var $e={depth:a.depth};return k(a,"quoteStyle")&&($e.quoteStyle=a.quoteStyle),r(N,$e,n+1,o)}return r(N,a,n+1,o)}if(typeof e=="function"&&!Xt(e)){var l=$u(e),S=we(e,c);return"[Function"+(l?": "+l:" (anonymous)")+"]"+(S.length>0?" { "+D.call(S,", ")+" }":"")}if(xo(e)){var b=ne?L.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):jr.call(e);return typeof e=="object"&&!ne?fe(b):b}if(Iu(e)){for(var P="<"+Gt.call(String(e.nodeName)),d=e.attributes||[],m=0;m<d.length;m++)P+=" "+d[m].name+"="+jo(yu(d[m].value),"double",a);return P+=">",e.childNodes&&e.childNodes.length&&(P+="..."),P+="</"+Gt.call(String(e.nodeName))+">",P}if(Dr(e)){if(e.length===0)return"[]";var B=we(e,c);return g&&!Mu(B)?"["+Fr(B,g)+"]":"[ "+D.call(B,", ")+" ]"}if(gu(e)){var h=we(e,c);return!("cause"in Error.prototype)&&"cause"in e&&!To.call(e,"cause")?"{ ["+String(e)+"] "+D.call(Ht.call("[cause]: "+c(e.cause),h),", ")+" }":h.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+D.call(h,", ")+" }"}if(typeof e=="object"&&s){if(Jt&&typeof e[Jt]=="function"&&xr)return xr(e,{depth:v-n});if(s!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(wu(e)){var M=[];return Lt&&Lt.call(e,function(N,Y){M.push(c(Y,e,!0)+" => "+c(N,e))}),Kt("Map",We.call(e),M,g)}if(Ou(e)){var A=[];return Ut&&Ut.call(e,function(N){A.push(c(N,e))}),Kt("Set",_e.call(e),A,g)}if(Pu(e))return hr("WeakMap");if(Eu(e))return hr("WeakSet");if(Au(e))return hr("WeakRef");if(mu(e))return fe(c(Number(e)));if(Su(e))return fe(c(Rr.call(e)));if(hu(e))return fe(iu.call(e));if(du(e))return fe(c(String(e)));if(typeof window<"u"&&e===window)return"{ [object Window] }";if(typeof globalThis<"u"&&e===globalThis||typeof Fe<"u"&&e===Fe)return"{ [object globalThis] }";if(!vu(e)&&!Xt(e)){var T=we(e,c),O=Vt?Vt(e)===Object.prototype:e instanceof Object||e.constructor===Object,_=e instanceof Object?"":"null prototype",be=!O&&ye&&Object(e)===e&&ye in e?st.call(U(e),8,-1):_?"Object":"",nr=O||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",ie=nr+(be||_?"["+D.call(Ht.call([],be||[],_||[]),": ")+"] ":"");return T.length===0?ie+"{}":g?ie+"{"+Fr(T,g)+"}":ie+"{ "+D.call(T,", ")+" }"}return String(e)};function jo(r,e,t){var n=t.quoteStyle||e,o=Ro[n];return o+r+o}function yu(r){return L.call(String(r),/"/g,"&quot;")}function V(r){return!ye||!(typeof r=="object"&&(ye in r||typeof r[ye]<"u"))}function Dr(r){return U(r)==="[object Array]"&&V(r)}function vu(r){return U(r)==="[object Date]"&&V(r)}function Xt(r){return U(r)==="[object RegExp]"&&V(r)}function gu(r){return U(r)==="[object Error]"&&V(r)}function du(r){return U(r)==="[object String]"&&V(r)}function mu(r){return U(r)==="[object Number]"&&V(r)}function hu(r){return U(r)==="[object Boolean]"&&V(r)}function xo(r){if(ne)return r&&typeof r=="object"&&r instanceof Symbol;if(typeof r=="symbol")return!0;if(!r||typeof r!="object"||!jr)return!1;try{return jr.call(r),!0}catch{}return!1}function Su(r){if(!r||typeof r!="object"||!Rr)return!1;try{return Rr.call(r),!0}catch{}return!1}var bu=Object.prototype.hasOwnProperty||function(r){return r in this};function k(r,e){return bu.call(r,e)}function U(r){return fu.call(r)}function $u(r){if(r.name)return r.name;var e=uu.call(su.call(r),/^function\s*([\w$]+)/);return e?e[1]:null}function Do(r,e){if(r.indexOf)return r.indexOf(e);for(var t=0,n=r.length;t<n;t++)if(r[t]===e)return t;return-1}function wu(r){if(!We||!r||typeof r!="object")return!1;try{We.call(r);try{_e.call(r)}catch{return!0}return r instanceof Map}catch{}return!1}function Pu(r){if(!ce||!r||typeof r!="object")return!1;try{ce.call(r,ce);try{pe.call(r,pe)}catch{return!0}return r instanceof WeakMap}catch{}return!1}function Au(r){if(!qt||!r||typeof r!="object")return!1;try{return qt.call(r),!0}catch{}return!1}function Ou(r){if(!_e||!r||typeof r!="object")return!1;try{_e.call(r);try{We.call(r)}catch{return!0}return r instanceof Set}catch{}return!1}function Eu(r){if(!pe||!r||typeof r!="object")return!1;try{pe.call(r,pe);try{ce.call(r,ce)}catch{return!0}return r instanceof WeakSet}catch{}return!1}function Iu(r){return!r||typeof r!="object"?!1:typeof HTMLElement<"u"&&r instanceof HTMLElement?!0:typeof r.nodeName=="string"&&typeof r.getAttribute=="function"}function Fo(r,e){if(r.length>e.maxStringLength){var t=r.length-e.maxStringLength,n="... "+t+" more character"+(t>1?"s":"");return Fo(st.call(r,0,e.maxStringLength),e)+n}var o=pu[e.quoteStyle||"single"];o.lastIndex=0;var a=L.call(L.call(r,o,"\\$1"),/[\x00-\x1f]/g,Bu);return jo(a,"single",e)}function Bu(r){var e=r.charCodeAt(0),t={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return t?"\\"+t:"\\x"+(e<16?"0":"")+lu.call(e.toString(16))}function fe(r){return"Object("+r+")"}function hr(r){return r+" { ? }"}function Kt(r,e,t,n){var o=n?Fr(t,n):D.call(t,", ");return r+" ("+e+") {"+o+"}"}function Mu(r){for(var e=0;e<r.length;e++)if(Do(r[e],`
2
+ `)>=0)return!1;return!0}function Tu(r,e){var t;if(r.indent===" ")t=" ";else if(typeof r.indent=="number"&&r.indent>0)t=D.call(Array(r.indent+1)," ");else return null;return{base:t,prev:D.call(Array(e+1),t)}}function Fr(r,e){if(r.length===0)return"";var t=`
3
+ `+e.prev+e.base;return t+D.call(r,","+t)+`
4
+ `+e.prev}function we(r,e){var t=Dr(r),n=[];if(t){n.length=r.length;for(var o=0;o<r.length;o++)n[o]=k(r,o)?e(r[o],r):""}var a=typeof mr=="function"?mr(r):[],s;if(ne){s={};for(var i=0;i<a.length;i++)s["$"+a[i]]=a[i]}for(var f in r)k(r,f)&&(t&&String(Number(f))===f&&f<r.length||ne&&s["$"+f]instanceof Symbol||(Mo.call(/[^\w$]/,f)?n.push(e(f,r)+": "+e(r[f],r)):n.push(f+": "+e(r[f],r))));if(typeof mr=="function")for(var u=0;u<a.length;u++)To.call(r,a[u])&&n.push("["+e(a[u])+"]: "+e(r[a[u]],r));return n}var Ru=er,ju=I,rr=function(r,e,t){for(var n=r,o;(o=n.next)!=null;n=o)if(o.key===e)return n.next=o.next,t||(o.next=r.next,r.next=o),o},xu=function(r,e){if(r){var t=rr(r,e);return t&&t.value}},Du=function(r,e,t){var n=rr(r,e);n?n.value=t:r.next={key:e,next:r.next,value:t}},Fu=function(r,e){return r?!!rr(r,e):!1},Cu=function(r,e){if(r)return rr(r,e,!0)},ku=function(){var e,t={assert:function(n){if(!t.has(n))throw new ju("Side channel does not contain "+Ru(n))},delete:function(n){var o=Cu(e,n);return o&&e&&!e.next&&(e=void 0),!!o},get:function(n){return xu(e,n)},has:function(n){return Fu(e,n)},set:function(n,o){e||(e={next:void 0}),Du(e,n,o)}};return t},Wu=W,Se=w,_u=er,Nu=I,Qt=Wu("%Map%",!0),Lu=Se("Map.prototype.get",!0),Uu=Se("Map.prototype.set",!0),qu=Se("Map.prototype.has",!0),Gu=Se("Map.prototype.delete",!0),Hu=Se("Map.prototype.size",!0),Co=!!Qt&&function(){var e,t={assert:function(n){if(!t.has(n))throw new Nu("Side channel does not contain "+_u(n))},delete:function(n){if(e){var o=Gu(e,n);return Hu(e)===0&&(e=void 0),o}return!1},get:function(n){if(e)return Lu(e,n)},has:function(n){return e?qu(e,n):!1},set:function(n,o){e||(e=new Qt),Uu(e,n,o)}};return t},zu=W,tr=w,Vu=er,Pe=Co,Yu=I,X=zu("%WeakMap%",!0),Zu=tr("WeakMap.prototype.get",!0),Ju=tr("WeakMap.prototype.set",!0),Xu=tr("WeakMap.prototype.has",!0),Ku=tr("WeakMap.prototype.delete",!0),Qu=X?function(){var e,t,n={assert:function(o){if(!n.has(o))throw new Yu("Side channel does not contain "+Vu(o))},delete:function(o){if(X&&o&&(typeof o=="object"||typeof o=="function")){if(e)return Ku(e,o)}else if(Pe&&t)return t.delete(o);return!1},get:function(o){return X&&o&&(typeof o=="object"||typeof o=="function")&&e?Zu(e,o):t&&t.get(o)},has:function(o){return X&&o&&(typeof o=="object"||typeof o=="function")&&e?Xu(e,o):!!t&&t.has(o)},set:function(o,a){X&&o&&(typeof o=="object"||typeof o=="function")?(e||(e=new X),Ju(e,o,a)):Pe&&(t||(t=Pe()),t.set(o,a))}};return n}:Pe,el=I,rl=er,tl=ku,nl=Co,ol=Qu,al=ol||nl||tl,ko=function(){var e,t={assert:function(n){if(!t.has(n))throw new el("Side channel does not contain "+rl(n))},delete:function(n){return!!e&&e.delete(n)},get:function(n){return e&&e.get(n)},has:function(n){return!!e&&e.has(n)},set:function(n,o){e||(e=al()),e.set(n,o)}};return t},il=at,se=ko(),C=I,ut={assert:function(r,e){if(!r||typeof r!="object"&&typeof r!="function")throw new C("`O` is not an object");if(typeof e!="string")throw new C("`slot` must be a string");if(se.assert(r),!ut.has(r,e))throw new C("`"+e+"` is not present on `O`")},get:function(r,e){if(!r||typeof r!="object"&&typeof r!="function")throw new C("`O` is not an object");if(typeof e!="string")throw new C("`slot` must be a string");var t=se.get(r);return t&&t["$"+e]},has:function(r,e){if(!r||typeof r!="object"&&typeof r!="function")throw new C("`O` is not an object");if(typeof e!="string")throw new C("`slot` must be a string");var t=se.get(r);return!!t&&il(t,"$"+e)},set:function(r,e,t){if(!r||typeof r!="object"&&typeof r!="function")throw new C("`O` is not an object");if(typeof e!="string")throw new C("`slot` must be a string");var n=se.get(r);n||(n={},se.set(r,n)),n["$"+e]=t}};Object.freeze&&Object.freeze(ut);var fl=ut,ue=fl,sl=Jr,en=typeof StopIteration=="object"?StopIteration:null,ul=function(e){if(!en)throw new sl("this environment lacks StopIteration");ue.set(e,"[[Done]]",!1);var t={next:function(){var o=ue.get(this,"[[Iterator]]"),a=!!ue.get(o,"[[Done]]");try{return{done:a,value:a?void 0:o.next()}}catch(s){if(ue.set(o,"[[Done]]",!0),s!==en)throw s;return{done:!0,value:void 0}}}};return ue.set(t,"[[Iterator]]",e),t},ll={}.toString,Wo=Array.isArray||function(r){return ll.call(r)=="[object Array]"},_o=w,cl=_o("String.prototype.valueOf"),pl=function(e){try{return cl(e),!0}catch{return!1}},yl=_o("Object.prototype.toString"),vl="[object String]",gl=z(),No=function(e){return typeof e=="string"?!0:!e||typeof e!="object"?!1:gl?pl(e):yl(e)===vl},lt=typeof Map=="function"&&Map.prototype?Map:null,dl=typeof Set=="function"&&Set.prototype?Set:null,Ne;lt||(Ne=function(e){return!1});var Lo=lt?Map.prototype.has:null,rn=dl?Set.prototype.has:null;!Ne&&!Lo&&(Ne=function(e){return!1});var Uo=Ne||function(e){if(!e||typeof e!="object")return!1;try{if(Lo.call(e),rn)try{rn.call(e)}catch{return!0}return e instanceof lt}catch{}return!1},ml=typeof Map=="function"&&Map.prototype?Map:null,ct=typeof Set=="function"&&Set.prototype?Set:null,Le;ct||(Le=function(e){return!1});var tn=ml?Map.prototype.has:null,qo=ct?Set.prototype.has:null;!Le&&!qo&&(Le=function(e){return!1});var Go=Le||function(e){if(!e||typeof e!="object")return!1;try{if(qo.call(e),tn)try{tn.call(e)}catch{return!0}return e instanceof ct}catch{}return!1},nn=Bo,on=ul;if(et()||Ke()){var Sr=Symbol.iterator;Me.exports=function(e){if(e!=null&&typeof e[Sr]<"u")return e[Sr]();if(nn(e))return Array.prototype[Sr].call(e)}}else{var hl=Wo,Sl=No,an=W,bl=an("%Map%",!0),$l=an("%Set%",!0),j=wo,fn=j("Array.prototype.push"),sn=j("String.prototype.charCodeAt"),wl=j("String.prototype.slice"),Pl=function(e,t){var n=e.length;if(t+1>=n)return t+1;var o=sn(e,t);if(o<55296||o>56319)return t+1;var a=sn(e,t+1);return a<56320||a>57343?t+1:t+2},br=function(e){var t=0;return{next:function(){var o=t>=e.length,a;return o||(a=e[t],t+=1),{done:o,value:a}}}},un=function(e,t){if(hl(e)||nn(e))return br(e);if(Sl(e)){var n=0;return{next:function(){var a=Pl(e,n),s=wl(e,n,a);return n=a,{done:a>e.length,value:s}}}}if(t&&typeof e["_es6-shim iterator_"]<"u")return e["_es6-shim iterator_"]()};if(!bl&&!$l)Me.exports=function(e){if(e!=null)return un(e,!0)};else{var Al=Uo,Ol=Go,ln=j("Map.prototype.forEach",!0),cn=j("Set.prototype.forEach",!0);if(typeof ar>"u"||!ar.versions||!ar.versions.node)var pn=j("Map.prototype.iterator",!0),yn=j("Set.prototype.iterator",!0);var vn=j("Map.prototype.@@iterator",!0)||j("Map.prototype._es6-shim iterator_",!0),gn=j("Set.prototype.@@iterator",!0)||j("Set.prototype._es6-shim iterator_",!0),El=function(e){if(Al(e)){if(pn)return on(pn(e));if(vn)return vn(e);if(ln){var t=[];return ln(e,function(o,a){fn(t,[a,o])}),br(t)}}if(Ol(e)){if(yn)return on(yn(e));if(gn)return gn(e);if(cn){var n=[];return cn(e,function(o){fn(n,o)}),br(n)}}};Me.exports=function(e){return El(e)||un(e)}}}var Il=Me.exports,dn=function(r){return r!==r},Ho=function(e,t){return e===0&&t===0?1/e===1/t:!!(e===t||dn(e)&&dn(t))},Bl=Ho,zo=function(){return typeof Object.is=="function"?Object.is:Bl},Ml=zo,Tl=H,Rl=function(){var e=Ml();return Tl(Object,{is:e},{is:function(){return Object.is!==e}}),e},jl=H,xl=ae,Dl=Ho,Vo=zo,Fl=Rl,Yo=xl(Vo(),Object);jl(Yo,{getPolyfill:Vo,implementation:Dl,shim:Fl});var Cl=Yo,kl=ae,Zo=w,Wl=W,Cr=Wl("%ArrayBuffer%",!0),Te=Zo("ArrayBuffer.prototype.byteLength",!0),_l=Zo("Object.prototype.toString"),mn=!!Cr&&!Te&&new Cr(0).slice,hn=!!mn&&kl(mn),Jo=Te||hn?function(e){if(!e||typeof e!="object")return!1;try{return Te?Te(e):hn(e,0),!0}catch{return!1}}:Cr?function(e){return _l(e)==="[object ArrayBuffer]"}:function(e){return!1},Xo=w,Nl=Xo("Date.prototype.getDay"),Ll=function(e){try{return Nl(e),!0}catch{return!1}},Ul=Xo("Object.prototype.toString"),ql="[object Date]",Gl=z(),Hl=function(e){return typeof e!="object"||e===null?!1:Gl?Ll(e):Ul(e)===ql},Sn=w,zl=z(),Vl=at,Yl=G,kr;if(zl){var Zl=Sn("RegExp.prototype.exec"),bn={},$r=function(){throw bn},$n={toString:$r,valueOf:$r};typeof Symbol.toPrimitive=="symbol"&&($n[Symbol.toPrimitive]=$r),kr=function(e){if(!e||typeof e!="object")return!1;var t=Yl(e,"lastIndex"),n=t&&Vl(t,"value");if(!n)return!1;try{Zl(e,$n)}catch(o){return o===bn}}}else{var Jl=Sn("Object.prototype.toString"),Xl="[object RegExp]";kr=function(e){return!e||typeof e!="object"&&typeof e!="function"?!1:Jl(e)===Xl}}var Ko=kr,Kl=w,wn=Kl("SharedArrayBuffer.prototype.byteLength",!0),Ql=wn?function(e){if(!e||typeof e!="object")return!1;try{return wn(e),!0}catch{return!1}}:function(e){return!1},Qo=w,ec=Qo("Number.prototype.toString"),rc=function(e){try{return ec(e),!0}catch{return!1}},tc=Qo("Object.prototype.toString"),nc="[object Number]",oc=z(),ac=function(e){return typeof e=="number"?!0:!e||typeof e!="object"?!1:oc?rc(e):tc(e)===nc},ea=w,ic=ea("Boolean.prototype.toString"),fc=ea("Object.prototype.toString"),sc=function(e){try{return ic(e),!0}catch{return!1}},uc="[object Boolean]",lc=z(),cc=function(e){return typeof e=="boolean"?!0:e===null||typeof e!="object"?!1:lc?sc(e):fc(e)===uc},Wr={exports:{}},wr,Pn;function pc(){if(Pn)return wr;Pn=1;var r=w,e=Ko,t=r("RegExp.prototype.exec"),n=I;return wr=function(a){if(!e(a))throw new n("`regex` must be a RegExp");return function(i){return t(a,i)!==null}},wr}var ra=w,yc=ra("Object.prototype.toString"),vc=et(),gc=pc();if(vc){var dc=ra("Symbol.prototype.toString"),mc=gc(/^Symbol\(.*\)$/),hc=function(e){return typeof e.valueOf()!="symbol"?!1:mc(dc(e))};Wr.exports=function(e){if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||yc(e)!=="[object Symbol]")return!1;try{return hc(e)}catch{return!1}}}else Wr.exports=function(e){return!1};var Sc=Wr.exports,_r={exports:{}},An=typeof BigInt<"u"&&BigInt,bc=function(){return typeof An=="function"&&typeof BigInt=="function"&&typeof An(42)=="bigint"&&typeof BigInt(42)=="bigint"},$c=bc();if($c){var wc=BigInt.prototype.valueOf,Pc=function(e){try{return wc.call(e),!0}catch{}return!1};_r.exports=function(e){return e===null||typeof e>"u"||typeof e=="boolean"||typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="function"?!1:typeof e=="bigint"?!0:Pc(e)}}else _r.exports=function(e){return!1};var Ac=_r.exports,Oc=No,Ec=ac,Ic=cc,Bc=Sc,Mc=Ac,Tc=function(e){if(e==null||typeof e!="object"&&typeof e!="function")return null;if(Oc(e))return"String";if(Ec(e))return"Number";if(Ic(e))return"Boolean";if(Bc(e))return"Symbol";if(Mc(e))return"BigInt"},Ue=typeof WeakMap=="function"&&WeakMap.prototype?WeakMap:null,On=typeof WeakSet=="function"&&WeakSet.prototype?WeakSet:null,qe;Ue||(qe=function(e){return!1});var Nr=Ue?Ue.prototype.has:null,Pr=On?On.prototype.has:null;!qe&&!Nr&&(qe=function(e){return!1});var Rc=qe||function(e){if(!e||typeof e!="object")return!1;try{if(Nr.call(e,Nr),Pr)try{Pr.call(e,Pr)}catch{return!0}return e instanceof Ue}catch{}return!1},Lr={exports:{}},jc=W,ta=w,xc=jc("%WeakSet%",!0),Ar=ta("WeakSet.prototype.has",!0);if(Ar){var Or=ta("WeakMap.prototype.has",!0);Lr.exports=function(e){if(!e||typeof e!="object")return!1;try{if(Ar(e,Ar),Or)try{Or(e,Or)}catch{return!0}return e instanceof xc}catch{}return!1}}else Lr.exports=function(e){return!1};var Dc=Lr.exports,Fc=Uo,Cc=Go,kc=Rc,Wc=Dc,_c=function(e){if(e&&typeof e=="object"){if(Fc(e))return"Map";if(Cc(e))return"Set";if(kc(e))return"WeakMap";if(Wc(e))return"WeakSet"}return!1},na=Function.prototype.toString,Q=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Ur,Re;if(typeof Q=="function"&&typeof Object.defineProperty=="function")try{Ur=Object.defineProperty({},"length",{get:function(){throw Re}}),Re={},Q(function(){throw 42},null,Ur)}catch(r){r!==Re&&(Q=null)}else Q=null;var Nc=/^\s*class\b/,qr=function(e){try{var t=na.call(e);return Nc.test(t)}catch{return!1}},Er=function(e){try{return qr(e)?!1:(na.call(e),!0)}catch{return!1}},je=Object.prototype.toString,Lc="[object Object]",Uc="[object Function]",qc="[object GeneratorFunction]",Gc="[object HTMLAllCollection]",Hc="[object HTML document.all class]",zc="[object HTMLCollection]",Vc=typeof Symbol=="function"&&!!Symbol.toStringTag,Yc=!(0 in[,]),Gr=function(){return!1};if(typeof document=="object"){var Zc=document.all;je.call(Zc)===je.call(document.all)&&(Gr=function(e){if((Yc||!e)&&(typeof e>"u"||typeof e=="object"))try{var t=je.call(e);return(t===Gc||t===Hc||t===zc||t===Lc)&&e("")==null}catch{}return!1})}var Jc=Q?function(e){if(Gr(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{Q(e,null,Ur)}catch(t){if(t!==Re)return!1}return!qr(e)&&Er(e)}:function(e){if(Gr(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(Vc)return Er(e);if(qr(e))return!1;var t=je.call(e);return t!==Uc&&t!==qc&&!/^\[object HTML/.test(t)?!1:Er(e)},Xc=Jc,Kc=Object.prototype.toString,oa=Object.prototype.hasOwnProperty,Qc=function(e,t,n){for(var o=0,a=e.length;o<a;o++)oa.call(e,o)&&(n==null?t(e[o],o,e):t.call(n,e[o],o,e))},ep=function(e,t,n){for(var o=0,a=e.length;o<a;o++)n==null?t(e.charAt(o),o,e):t.call(n,e.charAt(o),o,e)},rp=function(e,t,n){for(var o in e)oa.call(e,o)&&(n==null?t(e[o],o,e):t.call(n,e[o],o,e))};function tp(r){return Kc.call(r)==="[object Array]"}var np=function(e,t,n){if(!Xc(t))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=n),tp(e)?Qc(e,t,o):typeof e=="string"?ep(e,t,o):rp(e,t,o)},op=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"],Ir=op,ap=typeof globalThis>"u"?Fe:globalThis,ip=function(){for(var e=[],t=0;t<Ir.length;t++)typeof ap[Ir[t]]=="function"&&(e[e.length]=Ir[t]);return e},Ge=np,fp=ip,En=ae,pt=w,xe=G,Ae=ot,sp=pt("Object.prototype.toString"),aa=z(),In=typeof globalThis>"u"?Fe:globalThis,Hr=fp(),yt=pt("String.prototype.slice"),up=pt("Array.prototype.indexOf",!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},He={__proto__:null};aa&&xe&&Ae?Ge(Hr,function(r){var e=new In[r];if(Symbol.toStringTag in e&&Ae){var t=Ae(e),n=xe(t,Symbol.toStringTag);if(!n&&t){var o=Ae(t);n=xe(o,Symbol.toStringTag)}if(n&&n.get){var a=En(n.get);He["$"+r]=a}}}):Ge(Hr,function(r){var e=new In[r],t=e.slice||e.set;if(t){var n=En(t);He["$"+r]=n}});var lp=function(e){var t=!1;return Ge(He,function(n,o){if(!t)try{"$"+n(e)===o&&(t=yt(o,1))}catch{}}),t},cp=function(e){var t=!1;return Ge(He,function(n,o){if(!t)try{n(e),t=yt(o,1)}catch{}}),t},pp=function(e){if(!e||typeof e!="object")return!1;if(!aa){var t=yt(sp(e),8,-1);return up(Hr,t)>-1?t:t!=="Object"?!1:cp(e)}return xe?lp(e):null},yp=w,Bn=yp("ArrayBuffer.prototype.byteLength",!0),vp=Jo,gp=function(e){return vp(e)?Bn?Bn(e):e.byteLength:NaN},ia=Is,F=wo,Mn=Ks,dp=W,oe=Il,mp=ko,Tn=Cl,Rn=Bo,jn=Wo,xn=Jo,Dn=Hl,Fn=Ko,Cn=Ql,kn=Zr,Wn=Tc,_n=_c,Nn=pp,Ln=gp,Un=F("SharedArrayBuffer.prototype.byteLength",!0),qn=F("Date.prototype.getTime"),Br=Object.getPrototypeOf,Gn=F("Object.prototype.toString"),ze=dp("%Set%",!0),zr=F("Map.prototype.has",!0),Ve=F("Map.prototype.get",!0),Hn=F("Map.prototype.size",!0),Ye=F("Set.prototype.add",!0),fa=F("Set.prototype.delete",!0),Ze=F("Set.prototype.has",!0),De=F("Set.prototype.size",!0);function zn(r,e,t,n){for(var o=oe(r),a;(a=o.next())&&!a.done;)if(x(e,a.value,t,n))return fa(r,a.value),!0;return!1}function sa(r){if(typeof r>"u")return null;if(typeof r!="object")return typeof r=="symbol"?!1:typeof r=="string"||typeof r=="number"?+r==+r:!0}function hp(r,e,t,n,o,a){var s=sa(t);if(s!=null)return s;var i=Ve(e,s),f=ia({},o,{strict:!1});return typeof i>"u"&&!zr(e,s)||!x(n,i,f,a)?!1:!zr(r,s)&&x(n,i,f,a)}function Sp(r,e,t){var n=sa(t);return n??(Ze(e,n)&&!Ze(r,n))}function Vn(r,e,t,n,o,a){for(var s=oe(r),i,f;(i=s.next())&&!i.done;)if(f=i.value,x(t,f,o,a)&&x(n,Ve(e,f),o,a))return fa(r,f),!0;return!1}function x(r,e,t,n){var o=t||{};if(o.strict?Tn(r,e):r===e)return!0;var a=Wn(r),s=Wn(e);if(a!==s)return!1;if(!r||!e||typeof r!="object"&&typeof e!="object")return o.strict?Tn(r,e):r==e;var i=n.has(r),f=n.has(e),u;if(i&&f){if(n.get(r)===n.get(e))return!0}else u={};return i||n.set(r,u),f||n.set(e,u),wp(r,e,o,n)}function Yn(r){return!r||typeof r!="object"||typeof r.length!="number"||typeof r.copy!="function"||typeof r.slice!="function"||r.length>0&&typeof r[0]!="number"?!1:!!(r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer(r))}function bp(r,e,t,n){if(De(r)!==De(e))return!1;for(var o=oe(r),a=oe(e),s,i,f;(s=o.next())&&!s.done;)if(s.value&&typeof s.value=="object")f||(f=new ze),Ye(f,s.value);else if(!Ze(e,s.value)){if(t.strict||!Sp(r,e,s.value))return!1;f||(f=new ze),Ye(f,s.value)}if(f){for(;(i=a.next())&&!i.done;)if(i.value&&typeof i.value=="object"){if(!zn(f,i.value,t.strict,n))return!1}else if(!t.strict&&!Ze(r,i.value)&&!zn(f,i.value,t.strict,n))return!1;return De(f)===0}return!0}function $p(r,e,t,n){if(Hn(r)!==Hn(e))return!1;for(var o=oe(r),a=oe(e),s,i,f,u,v,g;(s=o.next())&&!s.done;)if(u=s.value[0],v=s.value[1],u&&typeof u=="object")f||(f=new ze),Ye(f,u);else if(g=Ve(e,u),typeof g>"u"&&!zr(e,u)||!x(v,g,t,n)){if(t.strict||!hp(r,e,u,v,t,n))return!1;f||(f=new ze),Ye(f,u)}if(f){for(;(i=a.next())&&!i.done;)if(u=i.value[0],g=i.value[1],u&&typeof u=="object"){if(!Vn(f,r,u,g,t,n))return!1}else if(!t.strict&&(!r.has(u)||!x(Ve(r,u),g,t,n))&&!Vn(f,r,u,g,ia({},t,{strict:!1}),n))return!1;return De(f)===0}return!0}function wp(r,e,t,n){var o,a;if(typeof r!=typeof e||r==null||e==null||Gn(r)!==Gn(e)||Rn(r)!==Rn(e))return!1;var s=jn(r),i=jn(e);if(s!==i)return!1;var f=r instanceof Error,u=e instanceof Error;if(f!==u||(f||u)&&(r.name!==e.name||r.message!==e.message))return!1;var v=Fn(r),g=Fn(e);if(v!==g||(v||g)&&(r.source!==e.source||Mn(r)!==Mn(e)))return!1;var c=Dn(r),l=Dn(e);if(c!==l||(c||l)&&qn(r)!==qn(e)||t.strict&&Br&&Br(r)!==Br(e))return!1;var S=Nn(r),b=Nn(e);if(S!==b)return!1;if(S||b){if(r.length!==e.length)return!1;for(o=0;o<r.length;o++)if(r[o]!==e[o])return!1;return!0}var P=Yn(r),d=Yn(e);if(P!==d)return!1;if(P||d){if(r.length!==e.length)return!1;for(o=0;o<r.length;o++)if(r[o]!==e[o])return!1;return!0}var m=xn(r),B=xn(e);if(m!==B)return!1;if(m||B)return Ln(r)!==Ln(e)?!1:typeof Uint8Array=="function"&&x(new Uint8Array(r),new Uint8Array(e),t,n);var h=Cn(r),M=Cn(e);if(h!==M)return!1;if(h||M)return Un(r)!==Un(e)?!1:typeof Uint8Array=="function"&&x(new Uint8Array(r),new Uint8Array(e),t,n);if(typeof r!=typeof e)return!1;var A=kn(r),T=kn(e);if(A.length!==T.length)return!1;for(A.sort(),T.sort(),o=A.length-1;o>=0;o--)if(A[o]!=T[o])return!1;for(o=A.length-1;o>=0;o--)if(a=A[o],!x(r[a],e[a],t,n))return!1;var O=_n(r),_=_n(e);return O!==_?!1:O==="Set"||_==="Set"?bp(r,e,t,n):O==="Map"?$p(r,e,t,n):!0}var Pp=function(e,t,n){return x(e,t,n,mp())};const Zn=Fi(Pp);var vt={};Object.defineProperty(vt,"__esModule",{value:!0});function ua(){let r,e;const t=new Promise((n,o)=>{r=a=>{n(a),t.isPending=!1},e=a=>{o(a),t.isPending=!1}}).catch(n=>Promise.reject(n));return t.resolve=r,t.reject=e,"finally"in t||(t.finally=n=>{t.then(n),t.catch(n)}),t.isPending=!0,t}vt.future=ua;var Ap=vt.default=ua;function Jn(r){return{all:r=r||new Map,on:function(e,t){var n=r.get(e);n?n.push(t):r.set(e,[t])},off:function(e,t){var n=r.get(e);n&&(t?n.splice(n.indexOf(t)>>>0,1):r.set(e,[]))},emit:function(e,t){var n=r.get(e);n&&n.slice().map(function(o){o(t)}),(n=r.get("*"))&&n.slice().map(function(o){o(e,t)})}}}const re=new Map,Vr=new Map,la=new Map,Je=new Map;function Yr(r){if(r.data&&r.data.type)try{switch(r.data.type){case E.PreviewMessageType.CONTROLLER_RESPONSE:{const e=r.data.payload,{id:t}=e,n=re.get(t);n&&(re.delete(t),e.ok?n.resolve(e.result):e.ok===!1&&n.reject(new Error(e.error)));break}case E.PreviewMessageType.EMOTE_EVENT:{const e=r.data.payload,{type:t,payload:n}=e,o=r.source?Vr.get(r.source):null;o&&t&&o.emit(t,n);break}case E.PreviewMessageType.LOAD:{r.source&&(la.set(r.source,!0),(Je.get(r.source)||[]).filter(n=>n.data?.type!==E.PreviewMessageType.LOAD).forEach(Yr),Je.delete(r.source));break}default:}}catch(e){console.error("Error processing WearablePreview message:",e)}}const Op=r=>{if(r.data?.type===E.PreviewMessageType.LOAD){Yr(r);return}if(!(r.source?la.get(r.source):!1)&&r.source){const t=Je.get(r.source)||[];t.push(r),Je.set(r.source,t);return}Yr(r)};typeof window<"u"&&window.addEventListener("message",Op,!1);let Xn=0;function Ep(r){return function(t,n,o){const a=document.getElementById(r);if(!a||!a.contentWindow){const l=new Error("iframe not found or not accessible");return Promise.reject(l)}const s=r+"-"+Xn,i=Ap();re.set(s,i);const f=E.PreviewMessageType.CONTROLLER_REQUEST,u={id:s,namespace:t,method:n,params:o},v=setTimeout(()=>{re.delete(s),i.reject(new Error(`Request timeout for ${n}`))},1e4),g=i.resolve,c=i.reject;i.resolve=l=>{clearTimeout(v),g(l)},i.reject=l=>{clearTimeout(v),c(l)};try{E.sendMessage(a.contentWindow,f,u)}catch(l){const S=l instanceof Error?l.message:String(l);i.reject(new Error(`Failed to send message: ${S}`)),re.delete(s),clearTimeout(v)}return Xn++,i}}function Ip(r){const e=document.getElementById(r);if(!e)throw new Error(`Could not find an iframe with id="${r}"`);re.clear();const t=e.contentWindow?Vr.get(e.contentWindow)??Jn():Jn();e.contentWindow&&Vr.set(e.contentWindow,t);const n=Ep(r);return{scene:{getScreenshot(o,a){return n("scene","getScreenshot",[o,a])},getMetrics(){return n("scene","getMetrics",[])},changeZoom:function(o){return n("scene","changeZoom",[o])},panCamera:function(o){return n("scene","panCamera",[o])},changeCameraPosition:function(o){return n("scene","changeCameraPosition",[o])},cleanup(){return n("scene","cleanup",[])},setUsername:function(o){return n("scene","setUsername",[o])}},emote:{getLength(){return n("emote","getLength",[])},isPlaying(){return n("emote","isPlaying",[])},goTo(o){return n("emote","goTo",[o])},play(){return n("emote","play",[])},pause(){return n("emote","pause",[])},stop(){return n("emote","stop",[])},enableSound(){return n("emote","enableSound",[])},disableSound(){return n("emote","disableSound",[])},hasSound(){return n("emote","hasSound",[])},isSocialEmote(){return n("emote","isSocialEmote",[])},getSocialEmoteAnimations(){return n("emote","getSocialEmoteAnimations",[])},getPlayingSocialEmoteAnimation(){return n("emote","getPlayingSocialEmoteAnimation",[])},emote:null,events:t},physics:{setSpringBonesParams(o,a){return n("physics","setSpringBonesParams",[o,a])}}}}function Bp(){let r=null;return(e,t,...n)=>{r&&clearTimeout(r),r=setTimeout(e,t,...n)}}const Mp=xi("iframe")({background:"transparent",border:0,width:"100%",height:"100%"}),Tp=Bp(),p=(r,e)=>e==null||e===""?"":Array.isArray(e)?e.length>0?e.map(t=>`${r}=${encodeURIComponent(String(t))}`).join("&"):"":`${r}=${encodeURIComponent(String(e))}`,Rp=r=>{const{dev:e=!1,baseUrl:t=ki.get("WEARABLE_PREVIEW_URL"),unity:n=!1,onLoad:o=()=>{},onError:a=()=>{},onUpdate:s=()=>{},...i}=r,[f,u]=R.useState({isReady:!1,pendingOptions:null}),v=R.useRef(null),g=R.useRef(null),c=R.useMemo(()=>{const{contractAddress:d,tokenId:m,itemId:B,profile:h,urns:M,urls:A,base64s:T,skin:O,hair:_,eyes:be,bodyShape:nr,emote:ie,camera:N,projection:Y,zoom:or,background:$e,offsetX:ca,offsetY:pa,offsetZ:ya,cameraX:va,cameraY:ga,cameraZ:da,wheelZoom:ma,wheelPrecision:ha,wheelStart:Sa,disableBackground:ba,disableAutoRotate:$a,disableAutoCenter:wa,disableFace:Pa,disableDefaultWearables:Aa,disableDefaultEmotes:Oa,disableFadeEffect:Ea,showSceneBoundaries:Ia,showThumbnailBoundaries:Ba,panning:Ma,lockAlpha:Ta,lockBeta:Ra,lockRadius:ja,peerUrl:xa,nftServerUrl:Da,marketplaceServerUrl:Fa,type:Ca,unityMode:ka,username:Wa,socialEmote:_a}=i,Na=p("contract",d),La=p("token",m),Ua=p("item",B),qa=p("profile",h),Ga=p("urn",M),Ha=p("url",A),za=p("base64",T),Va=p("skin",O),Ya=p("hair",_),Za=p("eyes",be),Ja=p("bodyShape",nr),Xa=p("emote",ie),Ka=p("camera",N),Qa=p("projection",Y),ei=p("zoom",or),ri=p("background",$e),ti=p("offsetX",ca),ni=p("offsetY",pa),oi=p("offsetZ",ya),ai=p("cameraX",va),ii=p("cameraY",ga),fi=p("cameraZ",da),si=p("wheelZoom",ma),ui=p("wheelPrecision",ha),li=p("wheelStart",Sa),ci=p("disableBackground",ba),pi=p("disableAutoRotate",$a),yi=p("disableAutoCenter",wa),vi=p("disableFace",Pa),gi=p("disableDefaultWearables",Aa),di=p("disableDefaultEmotes",Oa),mi=p("disableFadeEffect",Ea),hi=p("showSceneBoundaries",Ia),Si=p("showThumbnailBoundaries",Ba),bi=p("peerUrl",xa),$i=p("marketplaceServerUrl",Fa??Da),wi=p("type",Ca),Pi=p("panning",Ma),Ai=p("lockAlpha",Ta),Oi=p("lockBeta",Ra),Ei=p("lockRadius",ja),Ii=p("env",e?"dev":void 0),Bi=p("unity",n),Mi=p("mode",ka),Ti=p("username",Wa),Ri=p("socialEmote",_a);return t+"?"+[Na,La,Ua,qa,Ga,Ha,za,Va,Ya,Za,Ja,Xa,Ka,Qa,ei,ri,ti,ni,oi,ai,ii,fi,si,ui,li,ci,pi,yi,vi,gi,di,mi,hi,Si,bi,$i,wi,Pi,Ai,Oi,Ei,Ii,Bi,Mi,Ti,Ri].filter(ji=>!!ji).join("&")},[i,t,e,n]),l=R.useMemo(()=>{const d={};for(const m in i)typeof i[m]!="function"&&(d[m]=i[m]);return d},[i]),S=R.useCallback(d=>{const m=g.current;(!m||!Zn(d,m))&&(v.current?.contentWindow&&E.sendMessage(v.current.contentWindow,E.PreviewMessageType.UPDATE,{options:d}),s(d),g.current=d)},[s]),b=R.useCallback(()=>{v.current?typeof window<"u"&&(f.isReady?S(l):Zn(f.pendingOptions,l)||u(d=>({...d,pendingOptions:l,url:c}))):console.warn("Could not send update, iframe is not referenced")},[l,f.pendingOptions,f.isReady,S]),P=R.useCallback(d=>{const{origin:m}=d;if(m!==t||!d.data?.type)return;switch(d.data.type){case E.PreviewMessageType.LOAD:{const h=d.data.payload;o(h?.renderer);break}case E.PreviewMessageType.ERROR:{const h=d.data.payload;a(new Error(h.message));break}case E.PreviewMessageType.READY:{u(h=>h.isReady?h:h.pendingOptions!==null?(S(h.pendingOptions),{...h,isReady:!0,pendingOptions:null}):{...h,isReady:!0});break}}},[t,o,a,S]);return R.useEffect(()=>(window.addEventListener("message",P,!1),()=>{window.removeEventListener("message",P,!1)}),[P]),R.useEffect(()=>{r.blob&&b()},[r.blob,b]),R.useEffect(()=>{Tp(b,500)},[b]),r.tokenId&&r.itemId&&console.warn("You should NOT use `tokenId` and `itemId` props simultaneously"),Di.jsx(Mp,{id:r.id,src:c,ref:v,allow:"autoplay"})};Rp.createController=Ip;export{Rp as WearablePreview};