@mdn/fred 2.2.0 → 2.2.1

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 (222) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/components/content-section/server.css +1 -1
  3. package/components/curriculum/layout.css +2 -77
  4. package/components/curriculum/sidebar.css +0 -4
  5. package/components/curriculum/toc.css +1 -3
  6. package/components/curriculum-about/server.js +15 -6
  7. package/components/curriculum-default/server.js +15 -6
  8. package/components/curriculum-module/server.js +15 -6
  9. package/components/curriculum-overview/server.js +15 -36
  10. package/components/generic-layout/server.css +4 -60
  11. package/components/generic-layout/server.js +9 -4
  12. package/components/generic-sidebar/server.css +1 -3
  13. package/components/generic-toc/server.css +0 -3
  14. package/components/homepage-contributor-spotlight/server.css +5 -1
  15. package/components/html/global.css +2 -1
  16. package/components/layout/2-sidebars.css +141 -0
  17. package/components/layout/README.md +52 -10
  18. package/components/layout/global.css +5 -6
  19. package/components/left-sidebar/server.css +2 -12
  20. package/components/page-layout/server.css +1 -1
  21. package/components/play-console/element.css +15 -0
  22. package/components/print/global.css +2 -2
  23. package/components/reference-layout/server.css +2 -80
  24. package/components/reference-layout/server.js +6 -6
  25. package/out/service-worker.js +1 -1
  26. package/out/service-worker.js.map +1 -1
  27. package/out/static/client/{198.edf1fdf142c21fb8.css → 198.f743d603d3fa74b7.css} +2 -2
  28. package/out/static/client/{198.edf1fdf142c21fb8.css.map → 198.f743d603d3fa74b7.css.map} +1 -1
  29. package/out/static/client/270.66bae6059a1c23f9.css +2 -0
  30. package/out/static/client/270.66bae6059a1c23f9.css.map +1 -0
  31. package/out/static/client/5408.a0622390fa1726dc.css +2 -0
  32. package/out/static/client/5408.a0622390fa1726dc.css.map +1 -0
  33. package/out/static/client/6216.91b6560dce4c40eb.js +2 -0
  34. package/out/static/client/6216.91b6560dce4c40eb.js.map +1 -0
  35. package/out/static/client/6760.d97440f1ca6690c6.js +6 -0
  36. package/out/static/client/6760.d97440f1ca6690c6.js.map +1 -0
  37. package/out/static/client/{749.f46b8d04d93e42db.js → 749.15180d605dd9d7e9.js} +2 -2
  38. package/out/static/client/749.15180d605dd9d7e9.js.map +1 -0
  39. package/out/static/client/{index.a66b5a087a738e61.js → index.a845f20de1913b16.js} +3 -3
  40. package/out/static/client/{index.a66b5a087a738e61.js.map → index.a845f20de1913b16.js.map} +1 -1
  41. package/out/static/client/{runtime.149f3caaca6b394a.js → runtime.b11a359ec0a4abb0.js} +2 -2
  42. package/out/static/client/{runtime.149f3caaca6b394a.js.map → runtime.b11a359ec0a4abb0.js.map} +1 -1
  43. package/out/static/client/stats.json +740 -686
  44. package/out/static/client/styles-a11y-menu.7b49a1a7289a65dd.js +1 -0
  45. package/out/static/client/styles-advertising.ee901de4f53dfcfb.js +1 -0
  46. package/out/static/client/styles-article-footer.e9f7514e3e96e55e.js +1 -0
  47. package/out/static/client/styles-banner.d39b1822c276b7a1.js +1 -0
  48. package/out/static/client/styles-baseline-indicator.b0124633d8959185.js +1 -0
  49. package/out/static/client/styles-blog-index.a6463d0111bfa84b.js +1 -0
  50. package/out/static/client/styles-blog-post.226761d5090b01f6.js +1 -0
  51. package/out/static/client/{styles-blog-post.23b8b3e8e0ec1e69.css → styles-blog-post.c03ec8a22f8d4ff6.css} +2 -2
  52. package/out/static/client/{styles-blog-post.23b8b3e8e0ec1e69.css.map → styles-blog-post.c03ec8a22f8d4ff6.css.map} +1 -1
  53. package/out/static/client/styles-breadcrumbs-bar.9539fa2e37251d88.js +1 -0
  54. package/out/static/client/{styles-breadcrumbs-bar.02910e49bb8b2372.css → styles-breadcrumbs-bar.9a51a3c76a6231d0.css} +2 -2
  55. package/out/static/client/{styles-breadcrumbs-bar.02910e49bb8b2372.css.map → styles-breadcrumbs-bar.9a51a3c76a6231d0.css.map} +1 -1
  56. package/out/static/client/styles-breadcrumbs.73650619944b4ea9.js +1 -0
  57. package/out/static/client/styles-button.63c03050fb25b8ce.js +1 -0
  58. package/out/static/client/{styles-content-section.302cd1e445138b77.css → styles-content-section.01ee04d014688a05.css} +2 -2
  59. package/out/static/client/{styles-content-section.302cd1e445138b77.css.map → styles-content-section.01ee04d014688a05.css.map} +1 -1
  60. package/out/static/client/styles-content-section.4ebcf9edf977159a.js +1 -0
  61. package/out/static/client/styles-contributor-spotlight.f585c3be560baa36.js +1 -0
  62. package/out/static/client/styles-curriculum-about.df2a58fdc99668aa.js +1 -0
  63. package/out/static/client/styles-curriculum-default.87a662ae2e005fdc.js +1 -0
  64. package/out/static/client/styles-curriculum-landing.9af582d4a3e0692e.js +1 -0
  65. package/out/static/client/styles-curriculum-module.f87720da3b256bba.js +1 -0
  66. package/out/static/client/styles-curriculum-overview.16cdc5cb80128597.js +1 -0
  67. package/out/static/client/styles-featured-articles.950585abbd167c3f.js +1 -0
  68. package/out/static/client/styles-footer.f49c80542ef1fffb.js +1 -0
  69. package/out/static/client/styles-generic-about.b208cb4d9b62f6c5.js +1 -0
  70. package/out/static/client/styles-generic-community.264a7b11b708e2ae.js +1 -0
  71. package/out/static/client/styles-generic-content.bd4990121f075489.js +1 -0
  72. package/out/static/client/styles-generic-layout.1bc69c25775219ab.css +2 -0
  73. package/out/static/client/styles-generic-layout.1bc69c25775219ab.css.map +1 -0
  74. package/out/static/client/styles-generic-layout.518d8e7529d6d1e8.js +1 -0
  75. package/out/static/client/styles-generic-sidebar.a304a0ae4ff5d9d0.css +2 -0
  76. package/out/static/client/styles-generic-sidebar.a304a0ae4ff5d9d0.css.map +1 -0
  77. package/out/static/client/styles-generic-sidebar.a6ddb6ad375b6dea.js +1 -0
  78. package/out/static/client/styles-generic-toc.25a47b5903329e13.js +1 -0
  79. package/out/static/client/styles-generic-toc.b6981465a649e2b6.css +2 -0
  80. package/out/static/client/styles-generic-toc.b6981465a649e2b6.css.map +1 -0
  81. package/out/static/client/styles-global.b5c1c00652883917.js +1 -0
  82. package/out/static/client/{styles-global.2db431c11b66274e.css → styles-global.d24cf1d2734970c9.css} +2 -2
  83. package/out/static/client/{styles-global.2db431c11b66274e.css.map → styles-global.d24cf1d2734970c9.css.map} +1 -1
  84. package/out/static/client/styles-heading-anchor.a68e3e0eb0044a98.js +1 -0
  85. package/out/static/client/styles-homepage-body.04efe05e01579005.js +1 -0
  86. package/out/static/client/styles-homepage-contributor-spotlight.2bcbb1476c70410c.css +2 -0
  87. package/out/static/client/styles-homepage-contributor-spotlight.2bcbb1476c70410c.css.map +1 -0
  88. package/out/static/client/styles-homepage-contributor-spotlight.2da6fde81ab2e03a.js +1 -0
  89. package/out/static/client/styles-homepage-footer.d85ee198521b0417.js +1 -0
  90. package/out/static/client/styles-homepage-header.5c911fca0afedc7b.js +1 -0
  91. package/out/static/client/styles-homepage-hero.84542c123063331a.js +1 -0
  92. package/out/static/client/styles-homepage.6e3908e268226cfc.js +1 -0
  93. package/out/static/client/styles-latest-news.44b2cf830a3df3ba.js +1 -0
  94. package/out/static/client/styles-left-sidebar.81864a1b1af13cdc.css +2 -0
  95. package/out/static/client/styles-left-sidebar.81864a1b1af13cdc.css.map +1 -0
  96. package/out/static/client/styles-left-sidebar.c2ccc5982e4f4ec0.js +1 -0
  97. package/out/static/client/styles-logo.0e5223b5ca6c5c86.js +1 -0
  98. package/out/static/client/styles-mandala.5c6c0f84ff4bc09b.js +1 -0
  99. package/out/static/client/styles-menu.649d9e554d19dacb.js +1 -0
  100. package/out/static/client/styles-navigation.1bb818a8993b53bb.js +1 -0
  101. package/out/static/client/styles-not-found.5548da6ee760df5e.js +1 -0
  102. package/out/static/client/{styles-observatory-landing.7b47ee0004877825.css → styles-observatory-landing.55565f28f568d9fe.css} +2 -2
  103. package/out/static/client/{styles-observatory-landing.7b47ee0004877825.css.map → styles-observatory-landing.55565f28f568d9fe.css.map} +1 -1
  104. package/out/static/client/styles-observatory-landing.7b756d84bfd1f4a5.js +1 -0
  105. package/out/static/client/{styles-observatory-results.d8a2bea1fbfd4b2b.css → styles-observatory-results.8a6dcd7f335b94cc.css} +2 -2
  106. package/out/static/client/{styles-observatory-results.d8a2bea1fbfd4b2b.css.map → styles-observatory-results.8a6dcd7f335b94cc.css.map} +1 -1
  107. package/out/static/client/styles-observatory-results.a50f31e31fe5ce13.js +1 -0
  108. package/out/static/client/{styles-page-layout.e9b295138adbd4bc.css → styles-page-layout.5a4354f33e894319.css} +2 -2
  109. package/out/static/client/{styles-page-layout.e9b295138adbd4bc.css.map → styles-page-layout.5a4354f33e894319.css.map} +1 -1
  110. package/out/static/client/styles-page-layout.9a6bdcc133e4e481.js +1 -0
  111. package/out/static/client/styles-pagination.5b25c72cc0556f24.js +1 -0
  112. package/out/static/client/styles-playground.090bda8c12a63ec0.js +1 -0
  113. package/out/static/client/styles-recent-contributions.e713ba28ab0b7bc3.js +1 -0
  114. package/out/static/client/styles-reference-layout.e853d0ede90ff6ff.js +1 -0
  115. package/out/static/client/styles-reference-layout.f17861486ef2423f.css +2 -0
  116. package/out/static/client/styles-reference-layout.f17861486ef2423f.css.map +1 -0
  117. package/out/static/client/styles-reference-toc.dcf148c129d92975.js +1 -0
  118. package/out/static/client/styles-sandbox.dcb6dce1120b594d.js +1 -0
  119. package/out/static/client/{styles-site-search.ec3b6780533a8750.css → styles-site-search.3177bb12b1f83bf7.css} +2 -2
  120. package/out/static/client/{styles-site-search.ec3b6780533a8750.css.map → styles-site-search.3177bb12b1f83bf7.css.map} +1 -1
  121. package/out/static/client/styles-site-search.acc899abcd2a7645.js +1 -0
  122. package/out/static/client/styles-social-image.65fa265c06411ba3.js +1 -0
  123. package/out/static/client/styles-translation-banner.261e19907fee981b.js +1 -0
  124. package/out/static/client/styles-writer-toolbar.16afb45c733053cc.js +1 -0
  125. package/out/static/client/styles.298615289719f0aa.js +2 -0
  126. package/out/static/client/styles.298615289719f0aa.js.map +1 -0
  127. package/out/static/legacy/{2569.9f096bac448374bd.js → 2569.39ecdf7fe2d20c17.js} +2 -2
  128. package/out/static/legacy/{2569.9f096bac448374bd.js.map → 2569.39ecdf7fe2d20c17.js.map} +1 -1
  129. package/out/static/legacy/6753.9fefb8415a5a449e.js +27 -0
  130. package/out/static/legacy/6753.9fefb8415a5a449e.js.map +1 -0
  131. package/out/static/legacy/asset-manifest.json +8 -8
  132. package/out/static/legacy/{index.7ddac90f21db9f4e.html → index.5b77e00ea8d6df0b.html} +1 -1
  133. package/out/static/legacy/{index.6c7371784b8345e6.js → index.def60ac10a95218f.js} +3 -3
  134. package/out/static/legacy/{index.6c7371784b8345e6.js.map → index.def60ac10a95218f.js.map} +1 -1
  135. package/out/static/legacy/stats.json +13 -13
  136. package/out/static/legacy/{yari.74e397a2236facc5.js → yari.c9b6c25e48cbb380.js} +4 -4
  137. package/out/static/legacy/yari.c9b6c25e48cbb380.js.map +1 -0
  138. package/out/static/ssr/index.js +78 -37
  139. package/out/static/ssr/index.js.map +1 -1
  140. package/out/static/ssr/stats.json +4 -4
  141. package/package.json +18 -18
  142. package/out/static/client/5408.4bc756c440135b62.css +0 -2
  143. package/out/static/client/5408.4bc756c440135b62.css.map +0 -1
  144. package/out/static/client/6216.1bfd3cf0b0a6c7df.js +0 -2
  145. package/out/static/client/6216.1bfd3cf0b0a6c7df.js.map +0 -1
  146. package/out/static/client/6760.6ac3b2b3affbbe00.js +0 -6
  147. package/out/static/client/6760.6ac3b2b3affbbe00.js.map +0 -1
  148. package/out/static/client/749.f46b8d04d93e42db.js.map +0 -1
  149. package/out/static/client/styles-a11y-menu.b09c6038ee60691b.js +0 -1
  150. package/out/static/client/styles-advertising.8a72634ac33967b3.js +0 -1
  151. package/out/static/client/styles-article-footer.2008e05e900132bf.js +0 -1
  152. package/out/static/client/styles-banner.1588da63ad451f94.js +0 -1
  153. package/out/static/client/styles-baseline-indicator.045ce266c0388ff2.js +0 -1
  154. package/out/static/client/styles-blog-index.af7e5efac0463be9.js +0 -1
  155. package/out/static/client/styles-blog-post.21543a25c5d0c820.js +0 -1
  156. package/out/static/client/styles-breadcrumbs-bar.4e50455c81d9f236.js +0 -1
  157. package/out/static/client/styles-breadcrumbs.3272f39f147fdb26.js +0 -1
  158. package/out/static/client/styles-button.93e42cbce83fe9f8.js +0 -1
  159. package/out/static/client/styles-content-section.b38423c0dca8e3e4.js +0 -1
  160. package/out/static/client/styles-contributor-spotlight.efe854e18205bd6c.js +0 -1
  161. package/out/static/client/styles-curriculum-about.eb719efa09eab2e3.js +0 -1
  162. package/out/static/client/styles-curriculum-default.648a02845551d4a6.js +0 -1
  163. package/out/static/client/styles-curriculum-landing.f3af2ff9b3815ed8.js +0 -1
  164. package/out/static/client/styles-curriculum-module.284687a631bdb6c0.js +0 -1
  165. package/out/static/client/styles-curriculum-overview.81d25abdbb43b369.js +0 -1
  166. package/out/static/client/styles-featured-articles.1390540e6554e233.js +0 -1
  167. package/out/static/client/styles-footer.15153a4030e38f8f.js +0 -1
  168. package/out/static/client/styles-generic-about.f0afaa2db7066430.js +0 -1
  169. package/out/static/client/styles-generic-community.ff945b87102835f8.js +0 -1
  170. package/out/static/client/styles-generic-content.d0e560a0506475b1.js +0 -1
  171. package/out/static/client/styles-generic-layout.42a5e62407bd0066.css +0 -2
  172. package/out/static/client/styles-generic-layout.42a5e62407bd0066.css.map +0 -1
  173. package/out/static/client/styles-generic-layout.ca2cef837e24e7df.js +0 -1
  174. package/out/static/client/styles-generic-sidebar.b2b48d0d08f8bae7.js +0 -1
  175. package/out/static/client/styles-generic-sidebar.db43d8c5c4748aca.css +0 -2
  176. package/out/static/client/styles-generic-sidebar.db43d8c5c4748aca.css.map +0 -1
  177. package/out/static/client/styles-generic-toc.109e07ffeb20bc67.css +0 -2
  178. package/out/static/client/styles-generic-toc.109e07ffeb20bc67.css.map +0 -1
  179. package/out/static/client/styles-generic-toc.e8887bbe84a31d72.js +0 -1
  180. package/out/static/client/styles-global.efc5040b727dfca4.js +0 -1
  181. package/out/static/client/styles-heading-anchor.d7e14184517a1d3e.js +0 -1
  182. package/out/static/client/styles-homepage-body.1196a061fab22906.js +0 -1
  183. package/out/static/client/styles-homepage-contributor-spotlight.09a6993f73166d63.js +0 -1
  184. package/out/static/client/styles-homepage-contributor-spotlight.edc39a3f01eb964e.css +0 -2
  185. package/out/static/client/styles-homepage-contributor-spotlight.edc39a3f01eb964e.css.map +0 -1
  186. package/out/static/client/styles-homepage-footer.472132358e452a8b.js +0 -1
  187. package/out/static/client/styles-homepage-header.e6423ccb0a814f99.js +0 -1
  188. package/out/static/client/styles-homepage-hero.1c106d7a3adb970a.js +0 -1
  189. package/out/static/client/styles-homepage.843ab43d3f720fb6.js +0 -1
  190. package/out/static/client/styles-latest-news.986caae0711fbfe3.js +0 -1
  191. package/out/static/client/styles-left-sidebar.4d5208e5cb72af05.css +0 -2
  192. package/out/static/client/styles-left-sidebar.4d5208e5cb72af05.css.map +0 -1
  193. package/out/static/client/styles-left-sidebar.5a4d56fc21aab182.js +0 -1
  194. package/out/static/client/styles-logo.9cf3aa133bae8020.js +0 -1
  195. package/out/static/client/styles-mandala.b9822fc945abee39.js +0 -1
  196. package/out/static/client/styles-menu.97e048a6ffc666ce.js +0 -1
  197. package/out/static/client/styles-navigation.58a2a0a1f8d4487b.js +0 -1
  198. package/out/static/client/styles-not-found.a5c00a725a178969.js +0 -1
  199. package/out/static/client/styles-observatory-landing.c729a3523c37df23.js +0 -1
  200. package/out/static/client/styles-observatory-results.d4d142541bf683e1.js +0 -1
  201. package/out/static/client/styles-page-layout.baa1dac2402744c9.js +0 -1
  202. package/out/static/client/styles-pagination.04e3a505f4e789a6.js +0 -1
  203. package/out/static/client/styles-playground.7de5e497e2ebfa83.js +0 -1
  204. package/out/static/client/styles-recent-contributions.f1ab270b54c7e8de.js +0 -1
  205. package/out/static/client/styles-reference-layout.2c2d031dc83d605a.css +0 -2
  206. package/out/static/client/styles-reference-layout.2c2d031dc83d605a.css.map +0 -1
  207. package/out/static/client/styles-reference-layout.5c4b832bc9420f51.js +0 -1
  208. package/out/static/client/styles-reference-toc.afd507fb6d5ef895.js +0 -1
  209. package/out/static/client/styles-sandbox.3de7bd2afac30c66.js +0 -1
  210. package/out/static/client/styles-site-search.05f228cb7ac309b2.js +0 -1
  211. package/out/static/client/styles-social-image.dbdccf6b8d9258f2.js +0 -1
  212. package/out/static/client/styles-translation-banner.7698ddb14a70d0e5.js +0 -1
  213. package/out/static/client/styles-writer-toolbar.f161f8bd86e23a2a.js +0 -1
  214. package/out/static/client/styles.a182af71488aad03.js +0 -2
  215. package/out/static/client/styles.a182af71488aad03.js.map +0 -1
  216. package/out/static/legacy/6753.c44647828e8b4816.js +0 -27
  217. package/out/static/legacy/6753.c44647828e8b4816.js.map +0 -1
  218. package/out/static/legacy/yari.74e397a2236facc5.js.map +0 -1
  219. /package/out/static/client/{index.a66b5a087a738e61.js.LICENSE.txt → index.a845f20de1913b16.js.LICENSE.txt} +0 -0
  220. /package/out/static/legacy/{6753.c44647828e8b4816.js.LICENSE.txt → 6753.9fefb8415a5a449e.js.LICENSE.txt} +0 -0
  221. /package/out/static/legacy/{index.6c7371784b8345e6.js.LICENSE.txt → index.def60ac10a95218f.js.LICENSE.txt} +0 -0
  222. /package/out/static/legacy/{yari.74e397a2236facc5.js.LICENSE.txt → yari.c9b6c25e48cbb380.js.LICENSE.txt} +0 -0
@@ -1,6 +0,0 @@
1
- export const __rspack_esm_id="6760";export const __rspack_esm_ids=["6760"];export const __webpack_modules__={47105(e,r,t){t.d(r,{A:()=>a});var o=t(97825),s=t(31601),n=t.n(s),i=t(76314),l=t.n(i)()(n());l.push([e.id,':host{background-color:var(--color-background-secondary);box-sizing:border-box;display:flex;flex-direction:column;font-size:var(--font-size-small);margin:0;overflow:auto;width:100%}ul{list-style:none;margin:0;padding:0}li{padding:0 .5em}li:before{content:"> "}code{font-family:var(--font-family-code);tab-size:4}',""]);let a=(0,o.AH)([l.toString()])},71787(e,r,t){t.r(r),t.d(r,{MDNPlayConsole:()=>MDNPlayConsole});var o=t(97825),s=t(47105);function n(e){let r="";for(let t=0,o=e.length;t<o;t++){if("string"==typeof e[t])r+='"'+e[t]+'"';else if(Array.isArray(e[t]))r+="Array [",r+=n(e[t]),r+="]";else if(Object.prototype.hasOwnProperty.call(e,t))r+=i(e[t]);else{let s=1;for(;t+1<o&&!Object.prototype.hasOwnProperty.call(e,t+1);)s++,t++;r+=1===s?"<1 empty slot>":`<${s} empty slots>`}t<e.length-1&&(r+=", ")}return r}function i(e){if(null==e||"boolean"==typeof e)return String(e);if("number"==typeof e)return Object.is(e,-0)?"-0":String(e);if("bigint"==typeof e)return String(e)+"n";if("string"==typeof e)return e.includes('"')?"'"+e+"'":'"'+e+'"';if(Array.isArray(e))return"Array ["+n(e)+"]";else return function(e){let r=e.constructor?e.constructor.name:e;if("String"===r)return`String { "${e.valueOf()}" }`;if(e===JSON)return"JSON {}";if(r.match&&/^(ArrayBuffer|SharedArrayBuffer|DataView)$/.test(r))return r+" {}";if(r.match&&/^(Int8Array|Int16Array|Int32Array|Uint8Array|Uint16Array|Uint32Array|Uint8ClampedArray|Float32Array|Float64Array|BigInt64Array|BigUint64Array)$/.test(r))return e.length>0?r+" ["+n(e)+"]":r+" []";if("Symbol"===r&&void 0!==e)return e.toString();if("Object"===r){if(e?._MDNPlaySerializedObject)return e._MDNPlaySerializedObject;let t="",o=!0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(o?o=!1:t+=", ",t=t+r+": "+i(e[r]));return r+" { "+t+" }"}if(!e.constructor&&!e.prototype){let r="",t=!0;for(let o in e)t?t=!1:r+=", ",r=r+o+": "+i(e[o]);return"Object { "+r+" }"}return e}(e)}let VirtualConsole=class VirtualConsole{#e;constructor(e){this.#e=e}clear(){this.#e._messages=[]}debug(...e){return this.log(...e)}error(...e){return this.log(...e)}info(...e){return this.log(...e)}log(...e){e.length>1&&"string"==typeof e[0]&&(e[0]=e[0].replaceAll(/%(?:\.([0-9]+))?(.)/g,(r,t,o)=>{switch(o){case"o":case"O":return i(e.splice(1,1)[0]);case"d":case"i":return Math.trunc(e.splice(1,1)[0]).toFixed(0).padStart(t,"0");case"s":return e.splice(1,1)[0].toString();case"f":{let r=e.splice(1,1)[0];return("number"==typeof r?r:Number.parseFloat(r)).toFixed(t??6)}case"c":return e.splice(1,1),"";case"%":return"%";default:return r}})),this.#e._messages=[...this.#e._messages,e.map(e=>i(e)).join(" ")]}warn(...e){return this.log(...e)}};let MDNPlayConsole=class MDNPlayConsole extends o.WF{static properties={_messages:{state:!0}};static styles=s.A;constructor(){super(),this.vconsole=new VirtualConsole(this),this._messages=[]}onConsole({detail:e}){if(e.prop in this.vconsole){let r=e.prop;e.args?this.vconsole[r](...e.args):this.vconsole[r]()}else this.vconsole.warn("[Playground] Unsupported console message (see browser console)")}render(){return(0,o.qy)`
2
- <ul aria-live="polite">
3
- ${this._messages.map(e=>(0,o.qy)`<li><code>${e}</code></li>`)}
4
- </ul>
5
- `}updated(){this.scrollTo({top:this.scrollHeight})}};customElements.define("mdn-play-console",MDNPlayConsole)}};
6
- //# sourceMappingURL=6760.6ac3b2b3affbbe00.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"6760.6ac3b2b3affbbe00.js","sources":["webpack://@mdn/fred/./components/play-console/element.css","webpack://@mdn/fred/./components/play-console/utils.js","webpack://@mdn/fred/./components/play-console/element.js"],"sourcesContent":["import { css } from \"lit\";\n// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{background-color:var(--color-background-secondary);box-sizing:border-box;display:flex;flex-direction:column;font-size:var(--font-size-small);margin:0;overflow:auto;width:100%}ul{list-style:none;margin:0;padding:0}li{padding:0 .5em}li:before{content:\"> \"}code{font-family:var(--font-family-code);tab-size:4}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","// Copied from https://github.com/mdn/bob/blob/9da42cd641d7f2a9796bf3406e74cad411ce9438/editor/js/editor-libs/console-utils.ts\n/**\n * Formats arrays:\n * - quotes around strings in arrays\n * - square brackets around arrays\n * - adds commas appropriately (with spacing)\n * - identifies empty slots\n * designed to be used recursively\n * @param {any} input - The output to log.\n * @returns Formatted output as a string.\n */\nexport function formatArray(input) {\n let output = \"\";\n for (let i = 0, l = input.length; i < l; i++) {\n if (typeof input[i] === \"string\") {\n output += '\"' + input[i] + '\"';\n } else if (Array.isArray(input[i])) {\n output += \"Array [\";\n output += formatArray(input[i]);\n output += \"]\";\n } else if (Object.prototype.hasOwnProperty.call(input, i)) {\n output += formatOutput(input[i]);\n } else {\n let emptyCount = 1;\n while (i + 1 < l && !Object.prototype.hasOwnProperty.call(input, i + 1)) {\n emptyCount++;\n i++;\n }\n output +=\n emptyCount === 1 ? \"<1 empty slot>\" : `<${emptyCount} empty slots>`;\n }\n\n if (i < input.length - 1) {\n output += \", \";\n }\n }\n return output;\n}\n\n/**\n * Formats objects:\n * ArrayBuffer, DataView, SharedArrayBuffer,\n * Int8Array, Int16Array, Int32Array,\n * Uint8Array, Uint16Array, Uint32Array,\n * Uint8ClampedArray, Float32Array, Float64Array\n * Symbol\n * @param {any} input - The output to log.\n * @returns Formatted output as a string.\n */\nexport function formatObject(input) {\n const bufferDataViewRegExp = /^(ArrayBuffer|SharedArrayBuffer|DataView)$/;\n const complexArrayRegExp =\n /^(Int8Array|Int16Array|Int32Array|Uint8Array|Uint16Array|Uint32Array|Uint8ClampedArray|Float32Array|Float64Array|BigInt64Array|BigUint64Array)$/;\n\n const objectName = input.constructor ? input.constructor.name : input;\n\n if (objectName === \"String\") {\n // String object\n return `String { \"${input.valueOf()}\" }`;\n }\n\n if (input === JSON) {\n // console.log(JSON) is output as \"JSON {}\" in browser console\n return `JSON {}`;\n }\n\n if (objectName.match && bufferDataViewRegExp.test(objectName)) {\n return objectName + \" {}\";\n }\n\n if (objectName.match && complexArrayRegExp.test(objectName)) {\n const arrayLength = input.length;\n\n return arrayLength > 0\n ? objectName + \" [\" + formatArray(input) + \"]\"\n : objectName + \" []\";\n }\n\n if (objectName === \"Symbol\" && input !== undefined) {\n return input.toString();\n }\n\n if (objectName === \"Object\") {\n if (input?._MDNPlaySerializedObject) {\n return input._MDNPlaySerializedObject;\n }\n let formattedChild = \"\";\n let start = true;\n for (const key in input) {\n if (Object.prototype.hasOwnProperty.call(input, key)) {\n if (start) {\n start = false;\n } else {\n formattedChild = formattedChild + \", \";\n }\n formattedChild = formattedChild + key + \": \" + formatOutput(input[key]);\n }\n }\n return objectName + \" { \" + formattedChild + \" }\";\n }\n\n // Special object created with `OrdinaryObjectCreate(null)` returned by, for\n // example, named capture groups in https://mzl.la/2RERfQL\n // @see https://github.com/mdn/bob/issues/574#issuecomment-858213621\n if (!input.constructor && !input.prototype) {\n let formattedChild = \"\";\n let start = true;\n for (const key in input) {\n if (start) {\n start = false;\n } else {\n formattedChild = formattedChild + \", \";\n }\n formattedChild = formattedChild + key + \": \" + formatOutput(input[key]);\n }\n return \"Object { \" + formattedChild + \" }\";\n }\n\n return input;\n}\n\n/**\n * Formats output to indicate its type:\n * - quotes around strings\n * - single quotes around strings containing double quotes\n * - square brackets around arrays\n * (also copes with arrays of arrays)\n * does NOT detect Int32Array etc\n * @param {any} input - The output to log.\n * @returns Formatted output as a string.\n */\nexport function formatOutput(input) {\n if (input === undefined || input === null || typeof input === \"boolean\") {\n return String(input);\n } else if (typeof input === \"number\") {\n // Negative zero\n if (Object.is(input, -0)) {\n return \"-0\";\n }\n return String(input);\n } else if (typeof input === \"bigint\") {\n return String(input) + \"n\";\n } else if (typeof input === \"string\") {\n // string literal\n return input.includes('\"') ? \"'\" + input + \"'\" : '\"' + input + '\"';\n } else if (Array.isArray(input)) {\n // check the contents of the array\n return \"Array [\" + formatArray(input) + \"]\";\n } else {\n return formatObject(input);\n }\n}\n","import { LitElement, html } from \"lit\";\n\nimport styles from \"./element.css?lit\";\nimport { formatOutput } from \"./utils.js\";\n\n/** @import { VConsole } from \"./types.js\" */\n\n/** @implements {Partial<Console>} */\nclass VirtualConsole {\n #host;\n\n /** @param {MDNPlayConsole} host */\n constructor(host) {\n this.#host = host;\n }\n\n clear() {\n this.#host._messages = [];\n }\n\n /** @param {...any} args */\n debug(...args) {\n return this.log(...args);\n }\n\n /** @param {...any} args */\n error(...args) {\n return this.log(...args);\n }\n\n /** @param {...any} args */\n info(...args) {\n return this.log(...args);\n }\n\n /** @param {...any} args */\n log(...args) {\n if (args.length > 1 && typeof args[0] === \"string\") {\n // https://developer.mozilla.org/en-US/docs/Web/API/console#using_string_substitutions\n // TODO: add unit testing of this\n args[0] = args[0].replaceAll(\n /%(?:\\.([0-9]+))?(.)/g,\n (match, formatArg, format) => {\n switch (format) {\n case \"o\":\n case \"O\": {\n const O = args.splice(1, 1)[0];\n return formatOutput(O);\n }\n case \"d\":\n case \"i\": {\n const i = args.splice(1, 1)[0];\n return Math.trunc(i).toFixed(0).padStart(formatArg, \"0\");\n }\n case \"s\": {\n const s = args.splice(1, 1)[0];\n return s.toString();\n }\n case \"f\": {\n const f = args.splice(1, 1)[0];\n return (typeof f === \"number\" ? f : Number.parseFloat(f)).toFixed(\n formatArg ?? 6,\n );\n }\n case \"c\":\n // TODO: Not implemented yet, so just remove the argument\n args.splice(1, 1);\n return \"\";\n case \"%\":\n return \"%\";\n default:\n return match;\n }\n },\n );\n }\n this.#host._messages = [\n ...this.#host._messages,\n args.map((x) => formatOutput(x)).join(\" \"),\n ];\n }\n\n /** @param {...any} args */\n warn(...args) {\n return this.log(...args);\n }\n}\n\nexport class MDNPlayConsole extends LitElement {\n static properties = {\n _messages: { state: true },\n };\n\n static styles = styles;\n\n constructor() {\n super();\n this.vconsole = new VirtualConsole(this);\n /** @type {string[]} */\n this._messages = [];\n }\n\n /** @param {CustomEvent<VConsole>} e */\n onConsole({ detail }) {\n if (detail.prop in this.vconsole) {\n const prop = /** @type {keyof typeof this.vconsole} */ (detail.prop);\n detail.args ? this.vconsole[prop](...detail.args) : this.vconsole[prop]();\n } else {\n this.vconsole.warn(\n \"[Playground] Unsupported console message (see browser console)\",\n );\n }\n }\n\n render() {\n return html`\n <ul aria-live=\"polite\">\n ${this._messages.map(\n (message) => html`<li><code>${message}</code></li>`,\n )}\n </ul>\n `;\n }\n\n updated() {\n this.scrollTo({ top: this.scrollHeight });\n }\n}\n\ncustomElements.define(\"mdn-play-console\", MDNPlayConsole);\n"],"names":["Array","Object","String","JSON","VirtualConsole","Math","Number","MDNPlayConsole","s","customElements"],"mappings":"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"}