@mdn/fred 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +100 -0
- package/build/render.js +3 -3
- package/build/server-worker.js +2 -2
- package/build/types.d.ts +2 -2
- package/components/a11y-menu/server.css +1 -1
- package/components/about-tabs/element.css +3 -1
- package/components/about-tabs/element.js +8 -0
- package/components/advertising/server.css +1 -1
- package/components/article-footer/server.css +0 -4
- package/components/article-footer/server.js +13 -16
- package/components/baseline-indicator/server.css +5 -6
- package/components/baseline-indicator/server.js +1 -6
- package/components/blog-index/server.css +2 -2
- package/components/blog-post/server.css +3 -3
- package/components/breadcrumbs-bar/server.js +26 -7
- package/components/button/pure.js +6 -3
- package/components/code-example/common.css +47 -3
- package/components/code-example/element.js +4 -5
- package/components/code-example/prism.css +62 -59
- package/components/color/area.css +11 -0
- package/components/color/border.css +1 -1
- package/components/color/global.css +5 -4
- package/components/color-theme/element.css +4 -0
- package/components/color-theme/element.js +19 -30
- package/components/compat-table/index-common.css +4 -2
- package/components/content-section/server.css +137 -23
- package/components/contributor-spotlight/server.css +4 -4
- package/components/curriculum/assets/curriculum-landing-top.svg +1 -1
- package/components/curriculum/layout.css +81 -13
- package/components/curriculum/module-list.css +5 -5
- package/components/curriculum/module.css +3 -3
- package/components/curriculum/shared.css +14 -47
- package/components/curriculum/sidebar.css +66 -294
- package/components/curriculum/toc.css +9 -23
- package/components/curriculum/utils.js +47 -58
- package/components/curriculum/vars.css +68 -39
- package/components/curriculum-about/server.css +17 -3
- package/components/curriculum-about/server.js +18 -15
- package/components/curriculum-default/server.css +11 -0
- package/components/curriculum-default/server.js +17 -14
- package/components/curriculum-landing/server.css +7 -7
- package/components/curriculum-module/server.css +75 -73
- package/components/curriculum-module/server.js +19 -17
- package/components/curriculum-overview/server.css +11 -0
- package/components/curriculum-overview/server.js +60 -24
- package/components/dropdown/element.js +3 -1
- package/components/featured-articles/server.css +1 -1
- package/components/font/README.md +11 -0
- package/components/font/fonts/jetbrains-mono-cyrillic.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-italic-cyrillic.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-italic-latin-extended.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-italic-latin.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-latin-extended.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-latin.woff2 +0 -0
- package/components/font/fonts/jetbrains-mono-nl.patch +4758 -0
- package/components/font/fonts/source/jetbrains-mono-italic.ttf +0 -0
- package/components/font/fonts/source/jetbrains-mono.ttf +0 -0
- package/components/font/global.css +3 -0
- package/components/font/inter.css +6 -0
- package/components/footer/server.css +20 -3
- package/components/footer/server.js +3 -0
- package/components/generic-about/server.css +16 -14
- package/components/generic-community/server.css +16 -16
- package/components/generic-community/server.js +11 -4
- package/components/generic-content/server.css +1 -1
- package/components/generic-sidebar/server.css +2 -2
- package/components/generic-sidebar/server.js +14 -5
- package/components/generic-toc/server.css +2 -2
- package/components/homepage-search/element.css +14 -17
- package/components/html/global.css +3 -0
- package/components/icon/chart-no-axes-combined.svg +1 -0
- package/components/icon/circle-play.svg +1 -0
- package/components/icon/log-in.svg +1 -0
- package/components/icon/mdn-m.svg +1 -0
- package/components/icon/shield-check.svg +1 -0
- package/components/icon/users.svg +1 -0
- package/components/interactive-example/element.css +3 -1
- package/components/issues-table/element.css +2 -2
- package/components/ix-tab/element.css +1 -1
- package/components/language-switcher/element.css +2 -1
- package/components/language-switcher/element.js +1 -0
- package/components/latest-news/server.css +1 -1
- package/components/left-sidebar/server.css +12 -15
- package/components/live-sample-result/element.css +1 -0
- package/components/live-sample-result/element.js +10 -2
- package/components/logo/server.css +5 -0
- package/components/mandala/server.css +2 -2
- package/components/media/index.css +3 -0
- package/components/menu/base.css +40 -11
- package/components/menu/desktop.css +1 -1
- package/components/menu/mobile.css +1 -1
- package/components/menu/server.js +34 -45
- package/components/modal/element.js +1 -1
- package/components/navigation/base.css +0 -8
- package/components/navigation/desktop.css +22 -5
- package/components/navigation/mobile.css +25 -6
- package/components/navigation/server.js +5 -2
- package/components/not-found/element.css +1 -0
- package/components/not-found/element.js +1 -1
- package/components/observatory/colors.css +64 -0
- package/components/observatory/common.css +5 -0
- package/components/observatory-comparison-table/element.css +6 -6
- package/components/observatory-form/element.css +6 -11
- package/components/observatory-header-link/element.css +1 -9
- package/components/observatory-human-duration/element.css +1 -0
- package/components/observatory-human-duration/element.js +4 -3
- package/components/observatory-landing/server.css +208 -1
- package/components/observatory-landing/server.js +76 -66
- package/components/observatory-rescan-button/element.css +1 -0
- package/components/observatory-rescan-button/element.js +11 -3
- package/components/observatory-results/element.css +38 -42
- package/components/observatory-results/server.css +119 -1
- package/components/observatory-results/server.js +47 -43
- package/components/observatory-tests-and-scores/element.css +3 -1
- package/components/outer-layout/server.js +8 -2
- package/components/placement-sidebar/element.css +1 -1
- package/components/play-console/element.css +1 -1
- package/components/play-runner/element.css +3 -0
- package/components/playground/element.css +35 -9
- package/components/playground/element.js +63 -3
- package/components/prev-next/index.css +32 -3
- package/components/radius/global.css +6 -0
- package/components/reference-layout/server.css +4 -4
- package/components/reference-layout/server.js +6 -3
- package/components/reference-toc/server.css +2 -2
- package/components/scrim-inline/element.css +2 -2
- package/components/scrim-inline/global.css +1 -1
- package/components/search-button/element.css +7 -1
- package/components/search-modal/element.css +61 -27
- package/components/search-modal/element.js +14 -0
- package/components/sidebar-filter/element.css +1 -1
- package/components/site-search/element.css +6 -7
- package/components/specifications-list/index.js +18 -26
- package/components/switch/element.css +1 -1
- package/components/user-menu/base.css +0 -7
- package/components/user-menu/desktop.css +15 -3
- package/components/user-menu/element.js +10 -2
- package/components/user-menu/mobile.css +2 -14
- package/components/utils/index.js +9 -0
- package/components/vars/global.css +1 -1
- package/components/writer-open-editor/element.js +31 -0
- package/components/writer-toolbar/server.css +11 -0
- package/components/writer-toolbar/server.js +27 -0
- package/dist/client/{1048.7f6f1de50a1fda0d.js → 1048.9db1491a9a9f26c3.js} +2 -2
- package/dist/client/{1048.7f6f1de50a1fda0d.js.map → 1048.9db1491a9a9f26c3.js.map} +1 -1
- package/dist/client/1197.65020044d7ef7add.css +32 -0
- package/dist/client/1197.65020044d7ef7add.css.map +1 -0
- package/dist/client/1241.691b26f66d52ce68.css +2 -0
- package/dist/client/1241.691b26f66d52ce68.css.map +1 -0
- package/dist/client/{1342.b05de4cd80d4c221.js → 1342.a66390274e8adda1.js} +8 -8
- package/dist/client/{1342.b05de4cd80d4c221.js.map → 1342.a66390274e8adda1.js.map} +1 -1
- package/dist/client/1624.98ead28526f7a6a1.js +69 -0
- package/dist/client/{1624.5694c64f5e45232c.js.map → 1624.98ead28526f7a6a1.js.map} +1 -1
- package/dist/client/1739.8793c189d4f57b38.js +8 -0
- package/dist/client/{1739.505aa54ed62222c8.js.map → 1739.8793c189d4f57b38.js.map} +1 -1
- package/dist/client/{1916.bc7551ab839d52f8.js → 1916.53595bf8d5201723.js} +3 -3
- package/dist/client/{1916.bc7551ab839d52f8.js.map → 1916.53595bf8d5201723.js.map} +1 -1
- package/dist/client/2254.85c84b41fe477e9f.css +2 -0
- package/dist/client/2254.85c84b41fe477e9f.css.map +1 -0
- package/dist/client/2299.15bde599f83bc9f8.js +2 -0
- package/dist/client/2299.15bde599f83bc9f8.js.map +1 -0
- package/dist/client/{2448.92286b4e96ad1c02.js → 2448.34e8a46d8ac913b9.js} +7 -7
- package/dist/client/2448.34e8a46d8ac913b9.js.map +1 -0
- package/dist/client/{2656.0009ef5e53d43860.js → 2656.9ffeb69f976e1ada.js} +3 -3
- package/dist/client/{2656.0009ef5e53d43860.js.map → 2656.9ffeb69f976e1ada.js.map} +1 -1
- package/dist/client/268.5b8cf50cd9481947.js +50 -0
- package/dist/client/268.5b8cf50cd9481947.js.map +1 -0
- package/dist/client/2826.d61ca617ff379ad4.js +29 -0
- package/dist/client/2826.d61ca617ff379ad4.js.map +1 -0
- package/dist/client/{9632.b317ca4ae5930b4a.js → 3536.38f4b1a8002b53e2.js} +30 -2
- package/dist/client/3536.38f4b1a8002b53e2.js.map +1 -0
- package/dist/client/{3580.bf3f2a7896833bd8.js → 3580.92db5b07a85b0961.js} +2 -2
- package/dist/client/{3580.bf3f2a7896833bd8.js.map → 3580.92db5b07a85b0961.js.map} +1 -1
- package/dist/client/37.d890a50de1313ae7.js +120 -0
- package/dist/client/37.d890a50de1313ae7.js.map +1 -0
- package/dist/client/{3769.d1f1fcf335099c33.js → 3769.f46716bd58921c06.js} +6 -5
- package/dist/client/3769.f46716bd58921c06.js.map +1 -0
- package/dist/client/3892.db79ccfcc2e8b5a2.js +5 -0
- package/dist/client/3892.db79ccfcc2e8b5a2.js.map +1 -0
- package/dist/client/391.947b429ccac6ca45.js +8 -0
- package/dist/client/391.947b429ccac6ca45.js.map +1 -0
- package/dist/client/{4036.5ca9997e4c034473.js → 4036.4aa9a690073ccbac.js} +11 -7
- package/dist/client/4036.4aa9a690073ccbac.js.map +1 -0
- package/dist/client/4045.ec4c143648ab2280.js +8 -0
- package/dist/client/4045.ec4c143648ab2280.js.map +1 -0
- package/dist/client/4531.5f4701b319065b2b.js +34 -0
- package/dist/client/4531.5f4701b319065b2b.js.map +1 -0
- package/dist/client/{476.0de6391161b814ad.js → 476.67faa1bd02f2479c.js} +3 -3
- package/dist/client/{476.0de6391161b814ad.js.map → 476.67faa1bd02f2479c.js.map} +1 -1
- package/dist/client/{4849.4da5f274175b7cc7.js → 4849.2d0d91db57dc6419.js} +2 -2
- package/dist/client/{4849.4da5f274175b7cc7.js.map → 4849.2d0d91db57dc6419.js.map} +1 -1
- package/dist/client/{5066.31235bae47282d5a.js → 5066.c3b69e4601465269.js} +9 -9
- package/dist/client/{5066.31235bae47282d5a.js.map → 5066.c3b69e4601465269.js.map} +1 -1
- package/dist/client/{533.518751bfb02cbcee.js → 533.43be64a8c12d5411.js} +2 -2
- package/dist/client/{533.518751bfb02cbcee.js.map → 533.43be64a8c12d5411.js.map} +1 -1
- package/dist/client/5531.ff59053d35a9ebc5.js +387 -0
- package/dist/client/{5531.3f07c9b4290520c7.js.map → 5531.ff59053d35a9ebc5.js.map} +1 -1
- package/dist/client/{5557.247c4c4c61d91b4d.js → 5557.3923ba7ade67d4c8.js} +4 -4
- package/dist/client/{5557.247c4c4c61d91b4d.js.map → 5557.3923ba7ade67d4c8.js.map} +1 -1
- package/dist/client/{5837.52bd8ccde0085adc.js → 5837.2173cfac5b28fb95.js} +2 -2
- package/dist/client/5837.2173cfac5b28fb95.js.map +1 -0
- package/dist/client/5911.7dd68675e0a4ff43.js +2 -0
- package/dist/client/5911.7dd68675e0a4ff43.js.map +1 -0
- package/dist/client/614.b7c7bcd4ee6e4f7d.css +2 -0
- package/dist/client/614.b7c7bcd4ee6e4f7d.css.map +1 -0
- package/dist/client/6213.ba167b80474036f0.js +20 -0
- package/dist/client/6213.ba167b80474036f0.js.map +1 -0
- package/dist/client/665.7d96ffb19066da27.js +34 -0
- package/dist/client/665.7d96ffb19066da27.js.map +1 -0
- package/dist/client/6681.51b917ef9762ead2.js +6 -0
- package/dist/client/{6681.4bc549fb34f3fd5c.js.map → 6681.51b917ef9762ead2.js.map} +1 -1
- package/dist/client/6955.3de7286d9ee3c36f.js +33 -0
- package/dist/client/6955.3de7286d9ee3c36f.js.map +1 -0
- package/dist/client/{7326.b1ad5a6bece08bb2.js → 7326.9d0d137e939223ba.js} +2 -2
- package/dist/client/7326.9d0d137e939223ba.js.map +1 -0
- package/dist/client/{736.c130ba990b1ed252.js → 736.0fa146c2a494e88c.js} +5 -5
- package/dist/client/{736.c130ba990b1ed252.js.map → 736.0fa146c2a494e88c.js.map} +1 -1
- package/dist/client/7461.7d6383069ad3bded.js +35 -0
- package/dist/client/7461.7d6383069ad3bded.js.map +1 -0
- package/dist/client/7509.c7697df525e5b425.js +9 -0
- package/dist/client/7509.c7697df525e5b425.js.map +1 -0
- package/dist/client/{7731.401da89d94c0e064.js → 7731.dab635045f8c8801.js} +2 -2
- package/dist/client/{7731.401da89d94c0e064.js.map → 7731.dab635045f8c8801.js.map} +1 -1
- package/dist/client/{7816.086a6f46f1339f10.js → 7816.fcae90f472f6a101.js} +2 -2
- package/dist/client/{7816.086a6f46f1339f10.js.map → 7816.fcae90f472f6a101.js.map} +1 -1
- package/dist/client/833.a99cc1ff95a9361c.js +5 -0
- package/dist/client/833.a99cc1ff95a9361c.js.map +1 -0
- package/dist/client/{8468.add3c4feb6c9e926.js → 8468.f45cbbf88e617172.js} +3 -3
- package/dist/client/{8468.add3c4feb6c9e926.js.map → 8468.f45cbbf88e617172.js.map} +1 -1
- package/dist/client/{8483.e69da156837fde23.js → 8483.42cb8809ffb7c809.js} +3 -3
- package/dist/client/{8483.e69da156837fde23.js.map → 8483.42cb8809ffb7c809.js.map} +1 -1
- package/dist/client/{8551.4cf05a456e8b9b36.js → 8551.88765e00cf64cda8.js} +2 -2
- package/dist/client/{8551.4cf05a456e8b9b36.js.map → 8551.88765e00cf64cda8.js.map} +1 -1
- package/dist/client/{8684.538d49e436a77c37.js → 8684.9d7a1ac15f75f143.js} +5 -5
- package/dist/client/{8684.538d49e436a77c37.js.map → 8684.9d7a1ac15f75f143.js.map} +1 -1
- package/dist/client/8896.c876205851967073.js +9 -0
- package/dist/client/8896.c876205851967073.js.map +1 -0
- package/dist/client/{8911.e1fd0ac2f979c2ea.js → 8911.74685697a6189123.js} +7 -7
- package/dist/client/8911.74685697a6189123.js.map +1 -0
- package/dist/client/9021.3d43ecdc365948b8.js +16 -0
- package/dist/client/9021.3d43ecdc365948b8.js.map +1 -0
- package/dist/client/917.f2551a4b63ec4d86.js +17 -0
- package/dist/client/917.f2551a4b63ec4d86.js.map +1 -0
- package/dist/client/9222.a2d629b05b5c3c7e.js +104 -0
- package/dist/client/9222.a2d629b05b5c3c7e.js.LICENSE.txt +5 -0
- package/dist/client/9222.a2d629b05b5c3c7e.js.map +1 -0
- package/dist/client/chart-no-axes-combined.aee09a7064cb8b35.svg +1 -0
- package/dist/client/{circle-alert.4199b283585ef0bb.svg → circle-play.6ed4ac1fb3c93a04.svg} +1 -1
- package/dist/client/{curriculum-about-covered.74e453cf7e1a86c2.svg → curriculum-about-covered.a0e620d9fa0a96bb.svg} +1 -1
- package/dist/client/{curriculum-about-detail.515f645950e2300b.svg → curriculum-about-detail.73feb705e269ebbe.svg} +1 -1
- package/dist/client/{curriculum-about-educators.91685cbbd58c65fb.svg → curriculum-about-educators.03744c34dabd5fe7.svg} +1 -1
- package/dist/client/{curriculum-about-not.42caac16e07477b5.svg → curriculum-about-not.aa3c2baa11be115d.svg} +1 -1
- package/dist/client/{curriculum-about-students.36ca88cba5f00272.svg → curriculum-about-students.842af9608002c05a.svg} +1 -1
- package/dist/client/{curriculum-bullet.934e76f0055c7737.svg → curriculum-bullet.ae8de1d4f7e37953.svg} +1 -1
- package/dist/client/{curriculum-landing-about-beginner.c283306531a0a760.svg → curriculum-landing-about-beginner.9603b098f49dfb52.svg} +1 -1
- package/dist/client/{curriculum-landing-about-bullet.329a46667f2b7b1c.svg → curriculum-landing-about-bullet.1a31ffce2d5917cb.svg} +1 -1
- package/dist/client/{curriculum-landing-about-free.860c02f993720011.svg → curriculum-landing-about-free.1ff3ec55692670ba.svg} +1 -1
- package/dist/client/{curriculum-landing-about-pace.caf53bc7642d2d9e.svg → curriculum-landing-about-pace.04fd0a480b4ef342.svg} +1 -1
- package/dist/client/{curriculum-landing-arrow.37d9469e2da628fb.svg → curriculum-landing-arrow.b4d5ba21e3dc087e.svg} +1 -1
- package/dist/client/{curriculum-landing-started-advanced.6aa084114d4a009d.svg → curriculum-landing-started-advanced.bd07b9246e350d6f.svg} +1 -1
- package/dist/client/{curriculum-landing-started-beginner.684ee16fbad28594.svg → curriculum-landing-started-beginner.62cf58049310b5c1.svg} +1 -1
- package/dist/client/{curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg → curriculum-landing-started-educator.779ce85811a81d19.svg} +1 -1
- package/dist/client/{curriculum-landing-started-employment.ad9634ce6c19f3ba.svg → curriculum-landing-started-employment.4e7b977d45493058.svg} +1 -1
- package/dist/client/{curriculum-mdn-resource.f452724542f874b8.svg → curriculum-mdn-resource.335ee2e480d302fb.svg} +1 -1
- package/dist/client/{curriculum-partner-bg.247900de90ec7d1e.svg → curriculum-partner-bg.70de155df588311a.svg} +1 -1
- package/dist/client/{curriculum-scrim-bg.66afaab49246fbd9.svg → curriculum-scrim-bg.29a27117721ff3e9.svg} +1 -1
- package/dist/client/index.31463704d14e154c.js +260 -0
- package/dist/client/index.31463704d14e154c.js.LICENSE.txt +25 -0
- package/dist/client/index.31463704d14e154c.js.map +1 -0
- package/dist/client/jetbrains-mono-cyrillic.577e793cdf179ae1.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-cyrillic.8d00711fdb1702e0.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-latin-extended.c25d5e1f309ed948.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-latin.55b330522e5e3ed9.woff2 +0 -0
- package/dist/client/jetbrains-mono-latin-extended.01c891f9c832ce28.woff2 +0 -0
- package/dist/client/jetbrains-mono-latin.119994ed445212c7.woff2 +0 -0
- package/dist/client/mdn-m.70aac857e4a908d0.svg +1 -0
- package/dist/client/{runtime.51020603a07b972d.js → runtime.ee03d594ff24ae70.js} +2 -2
- package/dist/client/runtime.ee03d594ff24ae70.js.map +1 -0
- package/dist/client/shield-check.07bdc37f20ac5cc6.svg +1 -0
- package/dist/client/stats.json +1096 -1024
- package/dist/client/styles-a11y-menu.5796ee87cb69f93f.css +2 -0
- package/dist/client/styles-a11y-menu.5796ee87cb69f93f.css.map +1 -0
- package/dist/client/styles-a11y-menu.c408da1c50de7848.js +1 -0
- package/dist/client/styles-advertising.4c00484729f959ad.js +1 -0
- package/dist/client/{styles-advertising.c54670419b34708a.css → styles-advertising.c4692f68b3c61df1.css} +2 -2
- package/dist/client/{styles-advertising.c54670419b34708a.css.map → styles-advertising.c4692f68b3c61df1.css.map} +1 -1
- package/dist/client/styles-article-footer.81ae18c89fc527dc.css +2 -0
- package/dist/client/styles-article-footer.81ae18c89fc527dc.css.map +1 -0
- package/dist/client/styles-article-footer.f591a23b879db7bc.js +1 -0
- package/dist/client/styles-banner.cce5a46592f9ae9c.js +1 -0
- package/dist/client/{styles-baseline-indicator.32a52f7b51085fbb.css → styles-baseline-indicator.083aba7301c6f745.css} +2 -2
- package/dist/client/styles-baseline-indicator.083aba7301c6f745.css.map +1 -0
- package/dist/client/styles-baseline-indicator.35315666a6ff6562.js +1 -0
- package/dist/client/styles-blog-index.65525134178d64fd.js +1 -0
- package/dist/client/styles-blog-index.acbe792e1ec96930.css +2 -0
- package/dist/client/styles-blog-index.acbe792e1ec96930.css.map +1 -0
- package/dist/client/styles-blog-post.0cc5813f0a44aff0.js +1 -0
- package/dist/client/styles-blog-post.5085aa38dc1ab3a3.css +2 -0
- package/dist/client/styles-blog-post.5085aa38dc1ab3a3.css.map +1 -0
- package/dist/client/styles-breadcrumbs-bar.740212452ad4a93e.js +1 -0
- package/dist/client/{styles-breadcrumbs-bar.b7a94abe36578bab.css → styles-breadcrumbs-bar.e2fa6dfb04a38166.css} +2 -2
- package/dist/client/{styles-breadcrumbs-bar.b7a94abe36578bab.css.map → styles-breadcrumbs-bar.e2fa6dfb04a38166.css.map} +1 -1
- package/dist/client/{styles-breadcrumbs.d07ccd5520eeea01.css → styles-breadcrumbs.0afde562052673c5.css} +2 -2
- package/dist/client/{styles-breadcrumbs.d07ccd5520eeea01.css.map → styles-breadcrumbs.0afde562052673c5.css.map} +1 -1
- package/dist/client/styles-breadcrumbs.3b39fd6a3c2edb2e.js +1 -0
- package/dist/client/styles-button.a58118f8ded7e527.js +1 -0
- package/dist/client/styles-content-section.06ab08df9b9e047e.js +1 -0
- package/dist/client/styles-content-section.ffa19ece6d4fa70f.css +2 -0
- package/dist/client/styles-content-section.ffa19ece6d4fa70f.css.map +1 -0
- package/dist/client/styles-contributor-spotlight.38657357f29e301d.css +2 -0
- package/dist/client/styles-contributor-spotlight.38657357f29e301d.css.map +1 -0
- package/dist/client/styles-contributor-spotlight.5303aa09b91c2b0f.js +1 -0
- package/dist/client/styles-curriculum-about.75e3406bfe012d87.css +2 -0
- package/dist/client/styles-curriculum-about.75e3406bfe012d87.css.map +1 -0
- package/dist/client/styles-curriculum-about.c7d034c5eb1cedfc.js +1 -0
- package/dist/client/styles-curriculum-default.425c715d690a611c.js +1 -0
- package/dist/client/styles-curriculum-default.ceb6f07d1ba3a1fe.css +2 -0
- package/dist/client/styles-curriculum-default.ceb6f07d1ba3a1fe.css.map +1 -0
- package/dist/client/styles-curriculum-landing.1558840404f90c97.js +1 -0
- package/dist/client/styles-curriculum-landing.4c266be210279754.css +2 -0
- package/dist/client/styles-curriculum-landing.4c266be210279754.css.map +1 -0
- package/dist/client/styles-curriculum-module.7e5cd517e846d594.js +1 -0
- package/dist/client/styles-curriculum-module.986c101af5734725.css +2 -0
- package/dist/client/styles-curriculum-module.986c101af5734725.css.map +1 -0
- package/dist/client/styles-curriculum-overview.4c7cb02c1ddc853e.js +1 -0
- package/dist/client/styles-curriculum-overview.5e1cf930403c07b3.css +2 -0
- package/dist/client/styles-curriculum-overview.5e1cf930403c07b3.css.map +1 -0
- package/dist/client/styles-featured-articles.b4ecc71ab736bd5b.css +2 -0
- package/dist/client/styles-featured-articles.b4ecc71ab736bd5b.css.map +1 -0
- package/dist/client/styles-featured-articles.e307bb8142f33739.js +1 -0
- package/dist/client/styles-footer.a2850e459e2d290b.css +2 -0
- package/dist/client/{styles-footer.c1a53f0a58f04928.css.map → styles-footer.a2850e459e2d290b.css.map} +1 -1
- package/dist/client/styles-footer.c29033543af832fb.js +1 -0
- package/dist/client/styles-generic-about.2d4dc610496035b0.js +1 -0
- package/dist/client/styles-generic-about.766241910cf1bfdf.css +2 -0
- package/dist/client/styles-generic-about.766241910cf1bfdf.css.map +1 -0
- package/dist/client/styles-generic-community.76b2cea1e9b36907.js +1 -0
- package/dist/client/styles-generic-community.aa93fe32626f89a4.css +2 -0
- package/dist/client/styles-generic-community.aa93fe32626f89a4.css.map +1 -0
- package/dist/client/{styles-generic-content.7960b980b98f1d3d.css → styles-generic-content.3c8089706edb022d.css} +2 -2
- package/dist/client/{styles-generic-content.7960b980b98f1d3d.css.map → styles-generic-content.3c8089706edb022d.css.map} +1 -1
- package/dist/client/styles-generic-content.95822f3a7d72b2af.js +1 -0
- package/dist/client/styles-generic-layout.42a5e62407bd0066.css +2 -0
- package/dist/client/{styles-generic-layout.55441b1a560f5c9f.css.map → styles-generic-layout.42a5e62407bd0066.css.map} +1 -1
- package/dist/client/styles-generic-layout.e3b1cbc7db109acc.js +1 -0
- package/dist/client/styles-generic-sidebar.2e998de436f774c4.css +2 -0
- package/dist/client/styles-generic-sidebar.2e998de436f774c4.css.map +1 -0
- package/dist/client/styles-generic-sidebar.9767d319bbbde061.js +1 -0
- package/dist/client/styles-generic-toc.109e07ffeb20bc67.css +2 -0
- package/dist/client/styles-generic-toc.109e07ffeb20bc67.css.map +1 -0
- package/dist/client/styles-generic-toc.56e46052fca1042a.js +1 -0
- package/dist/client/styles-global.50c705928b5966d2.css +2 -0
- package/dist/client/styles-global.50c705928b5966d2.css.map +1 -0
- package/dist/client/styles-global.5928df920ab8d790.js +1 -0
- package/dist/client/styles-heading-anchor.0eec5185ab9425b7.css +2 -0
- package/dist/client/{styles-heading-anchor.f2760897211efe98.css.map → styles-heading-anchor.0eec5185ab9425b7.css.map} +1 -1
- package/dist/client/styles-heading-anchor.69440b0832b0c7b6.js +1 -0
- package/dist/client/styles-homepage-body.a1dd591dfd38a0e2.js +1 -0
- package/dist/client/{styles-homepage-contributor-spotlight.f02bdd82c7536b72.css → styles-homepage-contributor-spotlight.38935642cba8718d.css} +2 -2
- package/dist/client/{styles-homepage-contributor-spotlight.f02bdd82c7536b72.css.map → styles-homepage-contributor-spotlight.38935642cba8718d.css.map} +1 -1
- package/dist/client/styles-homepage-contributor-spotlight.a872f7a5144621ce.js +1 -0
- package/dist/client/styles-homepage-footer.56ccee76430fb4b6.js +1 -0
- package/dist/client/styles-homepage-header.ef7007190d01e72b.js +1 -0
- package/dist/client/styles-homepage-hero.db4057884586bcc0.js +1 -0
- package/dist/client/styles-homepage.643e215e9b541f48.js +1 -0
- package/dist/client/styles-latest-news.b28826e707e5a793.js +1 -0
- package/dist/client/styles-latest-news.ef3b9e57333a87bc.css +2 -0
- package/dist/client/styles-latest-news.ef3b9e57333a87bc.css.map +1 -0
- package/dist/client/styles-left-sidebar.07f68fb381233e5e.css +2 -0
- package/dist/client/styles-left-sidebar.07f68fb381233e5e.css.map +1 -0
- package/dist/client/styles-left-sidebar.689072b681b6085c.js +1 -0
- package/dist/client/styles-logo.5fe2004c01665043.js +1 -0
- package/dist/client/styles-logo.f9c13d56f40d50b6.css +2 -0
- package/dist/client/styles-logo.f9c13d56f40d50b6.css.map +1 -0
- package/dist/client/styles-mandala.39843b917e3341c1.js +1 -0
- package/dist/client/styles-mandala.8fbfeb0567dbde40.css +2 -0
- package/dist/client/styles-mandala.8fbfeb0567dbde40.css.map +1 -0
- package/dist/client/styles-menu.0df94f3d4546f4e2.js +1 -0
- package/dist/client/styles-menu.5193bf2642ae7d64.css +2 -0
- package/dist/client/styles-menu.5193bf2642ae7d64.css.map +1 -0
- package/dist/client/styles-navigation.013b4a4ed330892a.css +2 -0
- package/dist/client/styles-navigation.013b4a4ed330892a.css.map +1 -0
- package/dist/client/styles-navigation.f10f27bc66c78348.js +1 -0
- package/dist/client/styles-not-found.db6d6367152f676d.js +1 -0
- package/dist/client/styles-observatory-landing.28dd60cf0de05bec.js +1 -0
- package/dist/client/styles-observatory-landing.7b47ee0004877825.css +2 -0
- package/dist/client/styles-observatory-landing.7b47ee0004877825.css.map +1 -0
- package/dist/client/styles-observatory-results.36b6175e7444ec4e.css +2 -0
- package/dist/client/styles-observatory-results.36b6175e7444ec4e.css.map +1 -0
- package/dist/client/styles-observatory-results.7ce6d37475f9cf58.js +1 -0
- package/dist/client/styles-page-layout.0d53ebc97d7b7bf1.js +1 -0
- package/dist/client/styles-page-layout.e52a43c97f04cf90.css +2 -0
- package/dist/client/{styles-page-layout.5db9be57df19de0c.css.map → styles-page-layout.e52a43c97f04cf90.css.map} +1 -1
- package/dist/client/styles-pagination.19bf90db76d7d8d3.css +2 -0
- package/dist/client/{styles-pagination.0b3aa3fd6f6d3808.css.map → styles-pagination.19bf90db76d7d8d3.css.map} +1 -1
- package/dist/client/styles-pagination.e6fa33b9eadd8ab2.js +1 -0
- package/dist/client/styles-playground.59775225856ba2c6.js +1 -0
- package/dist/client/styles-recent-contributions.c51e066b59d22fca.js +1 -0
- package/dist/client/styles-reference-layout.0ab1a4d92d4a0966.css +2 -0
- package/dist/client/styles-reference-layout.0ab1a4d92d4a0966.css.map +1 -0
- package/dist/client/styles-reference-layout.218edbd3288fad71.js +1 -0
- package/dist/client/styles-reference-toc.67439c41e5f07bef.js +1 -0
- package/dist/client/{styles-reference-toc.5ce4f97dbe6e3ed0.css → styles-reference-toc.9b9bd019efd16b86.css} +2 -2
- package/dist/client/{styles-reference-toc.5ce4f97dbe6e3ed0.css.map → styles-reference-toc.9b9bd019efd16b86.css.map} +1 -1
- package/dist/client/styles-sandbox.22c29067838f22d9.js +1 -0
- package/dist/client/styles-site-search.5d4b622a11b82915.js +1 -0
- package/dist/client/styles-site-search.ec3b6780533a8750.css +2 -0
- package/dist/client/{styles-site-search.cf345ef99e0d06b5.css.map → styles-site-search.ec3b6780533a8750.css.map} +1 -1
- package/dist/client/styles-translation-banner.b923aed537f60120.js +1 -0
- package/dist/client/styles-writer-toolbar.00468688f6144393.js +1 -0
- package/dist/client/styles-writer-toolbar.70bdeddd3734ab11.css +2 -0
- package/dist/client/styles-writer-toolbar.70bdeddd3734ab11.css.map +1 -0
- package/dist/client/styles.7fb7069c86aa338c.js +2 -0
- package/dist/client/styles.7fb7069c86aa338c.js.map +1 -0
- package/dist/client/users.f7e6f1f213744762.svg +1 -0
- package/dist/legacy/{1284.0939e1a7de12c23c.js → 1284.9609d9ed70761e2f.js} +3 -3
- package/dist/legacy/{1284.0939e1a7de12c23c.js.map → 1284.9609d9ed70761e2f.js.map} +1 -1
- package/dist/legacy/3957.798f0651121f0fa7.js.map +1 -1
- package/dist/legacy/{7664.eee0fe67e04785f4.js → 7664.7bf14ff753e36b72.js} +3 -3
- package/dist/legacy/7664.7bf14ff753e36b72.js.map +1 -0
- package/dist/legacy/{8716.9fde41ad50c3078d.js → 8716.0a9d049bf166f65a.js} +7 -7
- package/dist/legacy/{8716.9fde41ad50c3078d.js.map → 8716.0a9d049bf166f65a.js.map} +1 -1
- package/dist/legacy/afree.da56b83d257902e0.png +0 -0
- package/dist/legacy/{index.9db2264bb6151226.css → index.92ea4d5b7af91171.css} +2 -2
- package/dist/legacy/index.92ea4d5b7af91171.css.map +1 -0
- package/dist/legacy/{index.b760891bfcc63977.js → index.dd25b33b92ab6c72.js} +5 -5
- package/dist/legacy/index.dd25b33b92ab6c72.js.map +1 -0
- package/dist/legacy/stats.json +12 -12
- package/dist/ssr/index.js +483 -485
- package/dist/ssr/index.js.map +1 -1
- package/dist/ssr/results-icon.b469eb939df034e7.svg +1 -0
- package/dist/ssr/stats.json +54 -46
- package/dist/ssr/summary-icon.eff7a61e59b7e02f.svg +1 -0
- package/entry.client.js +1 -1
- package/entry.ssr.js +3 -4
- package/hooks/dialog-closedby.js +42 -0
- package/l10n/de.ftl +2 -2
- package/l10n/en-US.ftl +10 -10
- package/legacy/index.tsx +1 -0
- package/legacy/legacy.css +5 -0
- package/package.json +22 -21
- package/rspack.config.js +27 -11
- package/server.js +37 -3
- package/svgo.config.js +22 -11
- package/types/element-map.d.ts +1 -0
- package/types/fred.ts +5 -1
- package/components/css-formal-syntax/index.css +0 -10
- package/components/observatory/index.css +0 -406
- package/components/observatory-landing/faq.js +0 -16
- package/components/observatory-landing/feedback.js +0 -16
- package/dist/client/1197.25090f81ab4208bc.css +0 -32
- package/dist/client/1197.25090f81ab4208bc.css.map +0 -1
- package/dist/client/1624.5694c64f5e45232c.js +0 -69
- package/dist/client/1739.505aa54ed62222c8.js +0 -8
- package/dist/client/2254.5fbfe2d0124ff3ba.css +0 -2
- package/dist/client/2254.5fbfe2d0124ff3ba.css.map +0 -1
- package/dist/client/2448.92286b4e96ad1c02.js.map +0 -1
- package/dist/client/2826.2162e19b0f72cf75.js +0 -29
- package/dist/client/2826.2162e19b0f72cf75.js.map +0 -1
- package/dist/client/3536.d17eba9caa4089c1.js +0 -30
- package/dist/client/3536.d17eba9caa4089c1.js.map +0 -1
- package/dist/client/37.feff9590370f461a.js +0 -102
- package/dist/client/37.feff9590370f461a.js.map +0 -1
- package/dist/client/3769.d1f1fcf335099c33.js.map +0 -1
- package/dist/client/3892.62b28110dbb3645e.js +0 -5
- package/dist/client/3892.62b28110dbb3645e.js.map +0 -1
- package/dist/client/391.ead0b358d96c9c13.js +0 -8
- package/dist/client/391.ead0b358d96c9c13.js.map +0 -1
- package/dist/client/4036.5ca9997e4c034473.js.map +0 -1
- package/dist/client/4045.c0fd898eab0b2a5c.js +0 -8
- package/dist/client/4045.c0fd898eab0b2a5c.js.map +0 -1
- package/dist/client/4531.4ae011f8a64a2b27.js +0 -34
- package/dist/client/4531.4ae011f8a64a2b27.js.map +0 -1
- package/dist/client/5531.3f07c9b4290520c7.js +0 -387
- package/dist/client/5837.52bd8ccde0085adc.js.map +0 -1
- package/dist/client/614.01075c8e848f77c4.css +0 -2
- package/dist/client/614.01075c8e848f77c4.css.map +0 -1
- package/dist/client/6213.32f53c1c3ef65496.js +0 -20
- package/dist/client/6213.32f53c1c3ef65496.js.map +0 -1
- package/dist/client/665.bfa5abb72f818c34.js +0 -34
- package/dist/client/665.bfa5abb72f818c34.js.map +0 -1
- package/dist/client/6681.4bc549fb34f3fd5c.js +0 -6
- package/dist/client/6955.90a316f179d37d80.js +0 -52
- package/dist/client/6955.90a316f179d37d80.js.map +0 -1
- package/dist/client/7326.b1ad5a6bece08bb2.js.map +0 -1
- package/dist/client/7345.6d89013575f169db.js +0 -16
- package/dist/client/7345.6d89013575f169db.js.map +0 -1
- package/dist/client/7461.c7551ade83fa6056.js +0 -35
- package/dist/client/7461.c7551ade83fa6056.js.map +0 -1
- package/dist/client/7509.780e429ccb3e9290.js +0 -9
- package/dist/client/7509.780e429ccb3e9290.js.map +0 -1
- package/dist/client/781.389e02e257b52721.css +0 -2
- package/dist/client/781.389e02e257b52721.css.map +0 -1
- package/dist/client/7898.7fd3ac2396a8dd7b.js +0 -45
- package/dist/client/7898.7fd3ac2396a8dd7b.js.map +0 -1
- package/dist/client/8877.6b7cc9370ff77f02.js +0 -2
- package/dist/client/8877.6b7cc9370ff77f02.js.map +0 -1
- package/dist/client/8896.85df788778cc02ca.js +0 -9
- package/dist/client/8896.85df788778cc02ca.js.map +0 -1
- package/dist/client/8911.e1fd0ac2f979c2ea.js.map +0 -1
- package/dist/client/917.f2371f7a8ef08c84.js +0 -17
- package/dist/client/917.f2371f7a8ef08c84.js.map +0 -1
- package/dist/client/9222.f3820fec7e0a91be.js +0 -104
- package/dist/client/9222.f3820fec7e0a91be.js.map +0 -1
- package/dist/client/9632.b317ca4ae5930b4a.js.map +0 -1
- package/dist/client/index.e36c34deca671725.js +0 -251
- package/dist/client/index.e36c34deca671725.js.map +0 -1
- package/dist/client/jetbrains-mono-cyrillic.4be0050294dbaee4.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-cyrillic.789710e9fe5a2b03.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-latin-extended.58430489c22fda09.woff2 +0 -0
- package/dist/client/jetbrains-mono-italic-latin.80ad93ea1dcec528.woff2 +0 -0
- package/dist/client/jetbrains-mono-latin-extended.2b8ab8f35e622fdb.woff2 +0 -0
- package/dist/client/jetbrains-mono-latin.eaa3472268346b6c.woff2 +0 -0
- package/dist/client/runtime.51020603a07b972d.js.map +0 -1
- package/dist/client/styles-a11y-menu.53797029a4c05806.css +0 -2
- package/dist/client/styles-a11y-menu.53797029a4c05806.css.map +0 -1
- package/dist/client/styles-a11y-menu.8c2ae6bc250fdde3.js +0 -1
- package/dist/client/styles-advertising.f01a816ffb81826d.js +0 -1
- package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css +0 -2
- package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css.map +0 -1
- package/dist/client/styles-article-footer.abc86d1bc28dbbea.js +0 -1
- package/dist/client/styles-banner.dd24262bb896879a.js +0 -1
- package/dist/client/styles-baseline-indicator.26595fbb926e3339.js +0 -1
- package/dist/client/styles-baseline-indicator.32a52f7b51085fbb.css.map +0 -1
- package/dist/client/styles-blog-index.7af1563c6077a7be.css +0 -2
- package/dist/client/styles-blog-index.7af1563c6077a7be.css.map +0 -1
- package/dist/client/styles-blog-index.805cf1995d84466a.js +0 -1
- package/dist/client/styles-blog-post.5824db4f15723a68.css +0 -2
- package/dist/client/styles-blog-post.5824db4f15723a68.css.map +0 -1
- package/dist/client/styles-blog-post.87f4fe5450147ce8.js +0 -1
- package/dist/client/styles-breadcrumbs-bar.474628c11d128ace.js +0 -1
- package/dist/client/styles-breadcrumbs.b0241eed8398fe84.js +0 -1
- package/dist/client/styles-button.bd90715982da863b.js +0 -1
- package/dist/client/styles-content-section.a1f8a5f77270d1dc.js +0 -1
- package/dist/client/styles-content-section.f47b61c45a723af0.css +0 -2
- package/dist/client/styles-content-section.f47b61c45a723af0.css.map +0 -1
- package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css +0 -2
- package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css.map +0 -1
- package/dist/client/styles-contributor-spotlight.a992b1d366637c5d.js +0 -1
- package/dist/client/styles-curriculum-about.4b80aa2f2b88e8e4.js +0 -1
- package/dist/client/styles-curriculum-about.b8d113b14323c909.css +0 -2
- package/dist/client/styles-curriculum-about.b8d113b14323c909.css.map +0 -1
- package/dist/client/styles-curriculum-default.190eba828fd99e0a.js +0 -1
- package/dist/client/styles-curriculum-default.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-curriculum-landing.56209b30561d82e0.css +0 -2
- package/dist/client/styles-curriculum-landing.56209b30561d82e0.css.map +0 -1
- package/dist/client/styles-curriculum-landing.e73c9557dd2057aa.js +0 -1
- package/dist/client/styles-curriculum-module.7fc982bc6793fa48.js +0 -1
- package/dist/client/styles-curriculum-module.c7271eb90af85eba.css +0 -2
- package/dist/client/styles-curriculum-module.c7271eb90af85eba.css.map +0 -1
- package/dist/client/styles-curriculum-overview.d00ecdc305f40125.js +0 -1
- package/dist/client/styles-curriculum-overview.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-featured-articles.27e767c8b538f066.js +0 -1
- package/dist/client/styles-featured-articles.c518f93ad0470cdf.css +0 -2
- package/dist/client/styles-featured-articles.c518f93ad0470cdf.css.map +0 -1
- package/dist/client/styles-footer.c1a53f0a58f04928.css +0 -2
- package/dist/client/styles-footer.e86ec0a935d5937f.js +0 -1
- package/dist/client/styles-generic-about.27a13c39db15963c.js +0 -1
- package/dist/client/styles-generic-about.481f176f22ba0def.css +0 -2
- package/dist/client/styles-generic-about.481f176f22ba0def.css.map +0 -1
- package/dist/client/styles-generic-community.44405e7e3938a4b6.js +0 -1
- package/dist/client/styles-generic-community.ddbcb9e0488bf017.css +0 -2
- package/dist/client/styles-generic-community.ddbcb9e0488bf017.css.map +0 -1
- package/dist/client/styles-generic-content.a2ddd6aac780a65f.js +0 -1
- package/dist/client/styles-generic-layout.55441b1a560f5c9f.css +0 -2
- package/dist/client/styles-generic-layout.670f75c4f806be84.js +0 -1
- package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css +0 -2
- package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css.map +0 -1
- package/dist/client/styles-generic-sidebar.d1528b01acb49222.js +0 -1
- package/dist/client/styles-generic-toc.88e45e1e72c77b73.css +0 -2
- package/dist/client/styles-generic-toc.88e45e1e72c77b73.css.map +0 -1
- package/dist/client/styles-generic-toc.db854e6e0376fb6b.js +0 -1
- package/dist/client/styles-global.698ebe57a5418ca2.css +0 -2
- package/dist/client/styles-global.698ebe57a5418ca2.css.map +0 -1
- package/dist/client/styles-global.cb63a51fc1146957.js +0 -1
- package/dist/client/styles-heading-anchor.6ffff34f5421dc9f.js +0 -1
- package/dist/client/styles-heading-anchor.f2760897211efe98.css +0 -2
- package/dist/client/styles-homepage-body.4a9eaf99a6d5a434.js +0 -1
- package/dist/client/styles-homepage-contributor-spotlight.a91a262ee949a587.js +0 -1
- package/dist/client/styles-homepage-footer.cddd4004e597dbdf.js +0 -1
- package/dist/client/styles-homepage-header.6fc6295b2124ce59.js +0 -1
- package/dist/client/styles-homepage-hero.d56f468fb0364b60.js +0 -1
- package/dist/client/styles-homepage.be456abdb86e4bd2.js +0 -1
- package/dist/client/styles-latest-news.1b5fd7a95688fea4.css +0 -2
- package/dist/client/styles-latest-news.1b5fd7a95688fea4.css.map +0 -1
- package/dist/client/styles-latest-news.f725dd4127faabc2.js +0 -1
- package/dist/client/styles-left-sidebar.135a5bc6ad04c4f0.css +0 -2
- package/dist/client/styles-left-sidebar.135a5bc6ad04c4f0.css.map +0 -1
- package/dist/client/styles-left-sidebar.6cdadac4a1db951d.js +0 -1
- package/dist/client/styles-logo.8e7830628a9d7ef5.js +0 -1
- package/dist/client/styles-logo.a89a79f82f933ef6.css +0 -2
- package/dist/client/styles-logo.a89a79f82f933ef6.css.map +0 -1
- package/dist/client/styles-mandala.41af6b0b37aa7987.js +0 -1
- package/dist/client/styles-mandala.96281d90e09ea84c.css +0 -2
- package/dist/client/styles-mandala.96281d90e09ea84c.css.map +0 -1
- package/dist/client/styles-menu.786218f8a3e51b45.js +0 -1
- package/dist/client/styles-menu.d6b6e63ef2bff0d6.css +0 -2
- package/dist/client/styles-menu.d6b6e63ef2bff0d6.css.map +0 -1
- package/dist/client/styles-navigation.94adc2be697cca49.css +0 -2
- package/dist/client/styles-navigation.94adc2be697cca49.css.map +0 -1
- package/dist/client/styles-navigation.fac8722caf14abc8.js +0 -1
- package/dist/client/styles-not-found.f42949546ffd210c.js +0 -1
- package/dist/client/styles-observatory-landing.994044845e174ebc.js +0 -1
- package/dist/client/styles-observatory-landing.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-observatory-results.2ebe1e1263bf9901.js +0 -1
- package/dist/client/styles-observatory-results.ef46db3751d8e999.css +0 -0
- package/dist/client/styles-page-layout.17e57aa7087c3c14.js +0 -1
- package/dist/client/styles-page-layout.5db9be57df19de0c.css +0 -2
- package/dist/client/styles-pagination.0b3aa3fd6f6d3808.css +0 -2
- package/dist/client/styles-pagination.8e0e077c056abb08.js +0 -1
- package/dist/client/styles-playground.6ba82a762ed428cd.js +0 -1
- package/dist/client/styles-recent-contributions.049ea82f38aea973.js +0 -1
- package/dist/client/styles-reference-layout.3fdc304c65153216.css +0 -2
- package/dist/client/styles-reference-layout.3fdc304c65153216.css.map +0 -1
- package/dist/client/styles-reference-layout.dffb8a58fa542929.js +0 -1
- package/dist/client/styles-reference-toc.885940cc1b62f05f.js +0 -1
- package/dist/client/styles-sandbox.28b391e75fd280b4.js +0 -1
- package/dist/client/styles-site-search.442cfc8fc77298a8.js +0 -1
- package/dist/client/styles-site-search.cf345ef99e0d06b5.css +0 -2
- package/dist/client/styles-translation-banner.ddf203bc7bb2e1bc.js +0 -1
- package/dist/client/styles.23fb47137258e781.js +0 -2
- package/dist/client/styles.23fb47137258e781.js.map +0 -1
- package/dist/legacy/7664.eee0fe67e04785f4.js.map +0 -1
- package/dist/legacy/afree.23e42bd4c44a110f.png +0 -0
- package/dist/legacy/index.9db2264bb6151226.css.map +0 -1
- package/dist/legacy/index.b760891bfcc63977.js.map +0 -1
- package/hooks/css-formal-syntax.js +0 -21
- /package/dist/client/{1342.b05de4cd80d4c221.js.LICENSE.txt → 1342.a66390274e8adda1.js.LICENSE.txt} +0 -0
- /package/dist/client/{2448.92286b4e96ad1c02.js.LICENSE.txt → 2448.34e8a46d8ac913b9.js.LICENSE.txt} +0 -0
- /package/dist/client/{4036.5ca9997e4c034473.js.LICENSE.txt → 4036.4aa9a690073ccbac.js.LICENSE.txt} +0 -0
- /package/dist/client/{4045.c0fd898eab0b2a5c.js.LICENSE.txt → 4045.ec4c143648ab2280.js.LICENSE.txt} +0 -0
- /package/dist/client/{4531.4ae011f8a64a2b27.js.LICENSE.txt → 4531.5f4701b319065b2b.js.LICENSE.txt} +0 -0
- /package/dist/client/{5557.247c4c4c61d91b4d.js.LICENSE.txt → 5557.3923ba7ade67d4c8.js.LICENSE.txt} +0 -0
- /package/dist/client/{8468.add3c4feb6c9e926.js.LICENSE.txt → 833.a99cc1ff95a9361c.js.LICENSE.txt} +0 -0
- /package/dist/client/{917.f2371f7a8ef08c84.js.LICENSE.txt → 8468.f45cbbf88e617172.js.LICENSE.txt} +0 -0
- /package/dist/client/{9222.f3820fec7e0a91be.js.LICENSE.txt → 917.f2551a4b63ec4d86.js.LICENSE.txt} +0 -0
- /package/dist/legacy/{1284.0939e1a7de12c23c.js.LICENSE.txt → 1284.9609d9ed70761e2f.js.LICENSE.txt} +0 -0
- /package/dist/legacy/{7664.eee0fe67e04785f4.js.LICENSE.txt → 7664.7bf14ff753e36b72.js.LICENSE.txt} +0 -0
- /package/dist/legacy/{8716.9fde41ad50c3078d.js.LICENSE.txt → 8716.0a9d049bf166f65a.js.LICENSE.txt} +0 -0
- /package/dist/legacy/{index.b760891bfcc63977.js.LICENSE.txt → index.dd25b33b92ab6c72.js.LICENSE.txt} +0 -0
|
@@ -10,11 +10,17 @@
|
|
|
10
10
|
padding-left: 0.75rem;
|
|
11
11
|
margin: 0;
|
|
12
12
|
|
|
13
|
+
color: var(--color-text-primary);
|
|
14
|
+
|
|
13
15
|
cursor: pointer;
|
|
14
16
|
|
|
15
17
|
background-color: var(--color-background-page);
|
|
16
18
|
border: 1px solid var(--color-border-primary);
|
|
17
|
-
border-radius:
|
|
19
|
+
border-radius: var(--radius-full);
|
|
20
|
+
|
|
21
|
+
&:hover {
|
|
22
|
+
background-color: var(--color-background-secondary);
|
|
23
|
+
}
|
|
18
24
|
|
|
19
25
|
&::before {
|
|
20
26
|
width: 15px;
|
|
@@ -6,47 +6,74 @@
|
|
|
6
6
|
|
|
7
7
|
dialog {
|
|
8
8
|
padding: 0;
|
|
9
|
+
border: 0;
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
border: 1px solid var(--color-border-primary);
|
|
12
|
-
border-radius: 0.5rem;
|
|
13
|
-
|
|
14
|
-
/* Desktop menu */
|
|
15
|
-
@media (width > 1006px) {
|
|
11
|
+
@media (--screen-menu-full) {
|
|
16
12
|
width: calc(var(--layout-content-max) + 1rem);
|
|
17
13
|
max-height: calc(100% - var(--sticky-header-height) - 2rem);
|
|
14
|
+
|
|
18
15
|
margin: calc(var(--sticky-header-height) + 1rem) auto 1rem;
|
|
16
|
+
|
|
17
|
+
font-size: var(--font-size-large);
|
|
18
|
+
|
|
19
|
+
background-color: var(--color-background-primary);
|
|
20
|
+
border: 1px solid var(--color-border-primary);
|
|
21
|
+
border-radius: 0.5rem;
|
|
22
|
+
|
|
23
|
+
&::backdrop {
|
|
24
|
+
background-color: light-dark(
|
|
25
|
+
var(--color-white-alpha-75),
|
|
26
|
+
var(--color-black-alpha-75)
|
|
27
|
+
);
|
|
28
|
+
backdrop-filter: blur(3px);
|
|
29
|
+
}
|
|
19
30
|
}
|
|
20
31
|
|
|
21
|
-
|
|
22
|
-
@media (width <= 1006px) {
|
|
32
|
+
@media (--screen-menu-hamburger) {
|
|
23
33
|
width: 100%;
|
|
24
|
-
max-
|
|
25
|
-
|
|
34
|
+
max-width: 100%;
|
|
35
|
+
height: 100%;
|
|
36
|
+
max-height: 100%;
|
|
37
|
+
|
|
38
|
+
margin: 0;
|
|
39
|
+
|
|
40
|
+
font-size: var(--font-size-normal);
|
|
26
41
|
}
|
|
27
42
|
|
|
28
43
|
&[open] {
|
|
29
|
-
display:
|
|
30
|
-
|
|
44
|
+
display: grid;
|
|
45
|
+
|
|
46
|
+
grid-template-areas:
|
|
47
|
+
"search close"
|
|
48
|
+
"progress progress"
|
|
49
|
+
"results results";
|
|
50
|
+
grid-template-rows: var(--navigation-height) min-content min-content;
|
|
51
|
+
grid-template-columns: 1fr min-content;
|
|
31
52
|
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
progress {
|
|
56
|
+
grid-area: progress;
|
|
57
|
+
margin: 0 1rem 0.5rem;
|
|
32
58
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var(--color-white-alpha-75),
|
|
36
|
-
var(--color-black-alpha-75)
|
|
37
|
-
);
|
|
38
|
-
backdrop-filter: blur(3px);
|
|
59
|
+
@media (--screen-menu-hamburger) {
|
|
60
|
+
margin-inline: 0.3rem;
|
|
39
61
|
}
|
|
40
62
|
}
|
|
41
63
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
64
|
+
.close {
|
|
65
|
+
grid-area: close;
|
|
66
|
+
font-size: 1.37rem;
|
|
67
|
+
|
|
68
|
+
@media (--screen-menu-full) {
|
|
69
|
+
display: none;
|
|
70
|
+
}
|
|
45
71
|
}
|
|
46
72
|
|
|
47
73
|
form {
|
|
48
74
|
display: grid;
|
|
49
75
|
|
|
76
|
+
grid-area: search;
|
|
50
77
|
grid-template-columns: min-content 1fr;
|
|
51
78
|
|
|
52
79
|
gap: 0.5rem;
|
|
@@ -54,7 +81,16 @@ form {
|
|
|
54
81
|
|
|
55
82
|
padding: 1rem;
|
|
56
83
|
|
|
57
|
-
|
|
84
|
+
@media (--screen-menu-hamburger) {
|
|
85
|
+
align-self: center;
|
|
86
|
+
|
|
87
|
+
padding: 0.5rem;
|
|
88
|
+
margin-left: 0.3rem;
|
|
89
|
+
|
|
90
|
+
background-color: var(--color-background-primary);
|
|
91
|
+
border: 1px solid var(--color-border-primary);
|
|
92
|
+
border-radius: 0.5rem;
|
|
93
|
+
}
|
|
58
94
|
|
|
59
95
|
&::before {
|
|
60
96
|
width: 1em;
|
|
@@ -88,6 +124,8 @@ input {
|
|
|
88
124
|
}
|
|
89
125
|
|
|
90
126
|
ul {
|
|
127
|
+
grid-area: results;
|
|
128
|
+
|
|
91
129
|
padding: 0;
|
|
92
130
|
margin: 0;
|
|
93
131
|
|
|
@@ -129,10 +167,6 @@ a {
|
|
|
129
167
|
}
|
|
130
168
|
}
|
|
131
169
|
|
|
132
|
-
.title {
|
|
133
|
-
font-size: var(--font-size-large);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
170
|
.slug {
|
|
137
171
|
font-size: var(--font-size-small);
|
|
138
172
|
color: var(--color-text-secondary);
|
|
@@ -140,5 +174,5 @@ a {
|
|
|
140
174
|
|
|
141
175
|
mark {
|
|
142
176
|
color: var(--color-text-primary);
|
|
143
|
-
background-color:
|
|
177
|
+
background-color: var(--color-background-yellow);
|
|
144
178
|
}
|
|
@@ -5,6 +5,8 @@ import { L10nMixin } from "../../l10n/mixin.js";
|
|
|
5
5
|
|
|
6
6
|
import { mdnUrl2Breadcrumb } from "../../utils/mdn-url2breadcrumb.js";
|
|
7
7
|
|
|
8
|
+
import exitIcon from "../icon/cancel.svg?lit";
|
|
9
|
+
|
|
8
10
|
import styles from "./element.css?lit";
|
|
9
11
|
|
|
10
12
|
export class MDNSearchModal extends L10nMixin(LitElement) {
|
|
@@ -164,6 +166,10 @@ export class MDNSearchModal extends L10nMixin(LitElement) {
|
|
|
164
166
|
},
|
|
165
167
|
});
|
|
166
168
|
|
|
169
|
+
_close() {
|
|
170
|
+
this.shadowRoot?.querySelector("dialog")?.close();
|
|
171
|
+
}
|
|
172
|
+
|
|
167
173
|
connectedCallback() {
|
|
168
174
|
super.connectedCallback();
|
|
169
175
|
this._globalKeydown = this._globalKeydown.bind(this);
|
|
@@ -198,6 +204,14 @@ export class MDNSearchModal extends L10nMixin(LitElement) {
|
|
|
198
204
|
aria-label=${this.l10n`Search`}
|
|
199
205
|
/>
|
|
200
206
|
</form>
|
|
207
|
+
<mdn-button
|
|
208
|
+
class="close"
|
|
209
|
+
variant="plain"
|
|
210
|
+
icon-only
|
|
211
|
+
.icon=${exitIcon}
|
|
212
|
+
@click=${this._close}
|
|
213
|
+
>${this.l10n`Exit search`}</mdn-button
|
|
214
|
+
>
|
|
201
215
|
${this._queryIndex.render({
|
|
202
216
|
initial: this._renderLoadingSearchIndex.bind(this),
|
|
203
217
|
pending: this._renderLoadingSearchIndex.bind(this),
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import url("../global/global.css");
|
|
2
|
+
|
|
1
3
|
:host {
|
|
2
4
|
line-height: var(--font-line-content);
|
|
3
5
|
|
|
@@ -13,10 +15,7 @@
|
|
|
13
15
|
a:active {
|
|
14
16
|
text-decoration: none;
|
|
15
17
|
}
|
|
16
|
-
--color-highlight-background:
|
|
17
|
-
var(--color-yellow-80),
|
|
18
|
-
var(--color-yellow-20)
|
|
19
|
-
);
|
|
18
|
+
--color-highlight-background: var(--color-background-yellow);
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
.site-search__options {
|
|
@@ -56,7 +55,7 @@
|
|
|
56
55
|
h2 {
|
|
57
56
|
display: inline;
|
|
58
57
|
font-size: var(--font-size-small);
|
|
59
|
-
font-weight:
|
|
58
|
+
font-weight: var(--font-weight-bold);
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
ul {
|
|
@@ -95,7 +94,7 @@
|
|
|
95
94
|
|
|
96
95
|
.site-search-results__title {
|
|
97
96
|
font-size: var(--font-size-large);
|
|
98
|
-
font-weight:
|
|
97
|
+
font-weight: var(--font-weight-normal);
|
|
99
98
|
}
|
|
100
99
|
|
|
101
100
|
.site-search-suggestions__list {
|
|
@@ -163,7 +162,7 @@
|
|
|
163
162
|
|
|
164
163
|
.site-search-form__input {
|
|
165
164
|
font-size: var(--font-size-large);
|
|
166
|
-
font-weight:
|
|
165
|
+
font-weight: var(--font-weight-normal);
|
|
167
166
|
|
|
168
167
|
outline: none;
|
|
169
168
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { html
|
|
1
|
+
import { html } from "lit";
|
|
2
2
|
import { join } from "lit/directives/join.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -18,31 +18,23 @@ export function SpecificationsList(context, specifications) {
|
|
|
18
18
|
urlsByTitle.set(title, urls);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
return html`<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
</
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
<li>
|
|
39
|
-
${SpecificationLink(
|
|
40
|
-
specifications[0].bcdSpecificationURL,
|
|
41
|
-
specifications[0].title,
|
|
42
|
-
)}
|
|
43
|
-
</li>
|
|
44
|
-
</ul>`
|
|
45
|
-
: nothing}`;
|
|
21
|
+
return html`<table>
|
|
22
|
+
<thead>
|
|
23
|
+
<tr>
|
|
24
|
+
<th scope="col">${context.l10n`Specification`}</th>
|
|
25
|
+
</tr>
|
|
26
|
+
</thead>
|
|
27
|
+
<tbody>
|
|
28
|
+
${urlsByTitle.entries().map(([title, urls]) =>
|
|
29
|
+
urls.map(
|
|
30
|
+
(url) =>
|
|
31
|
+
html`<tr>
|
|
32
|
+
<td>${SpecificationLink(url, title)}</td>
|
|
33
|
+
</tr>`,
|
|
34
|
+
),
|
|
35
|
+
)}
|
|
36
|
+
</tbody>
|
|
37
|
+
</table>`;
|
|
46
38
|
}
|
|
47
39
|
|
|
48
40
|
/**
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
/* Desktop */
|
|
2
2
|
|
|
3
|
-
@media (
|
|
3
|
+
@media (--screen-menu-full) {
|
|
4
4
|
.user-menu {
|
|
5
5
|
position: relative;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.user-menu__login {
|
|
9
|
+
width: 100%;
|
|
10
|
+
height: 100%;
|
|
11
|
+
|
|
12
|
+
&::part(label) {
|
|
13
|
+
position: absolute;
|
|
14
|
+
|
|
15
|
+
width: 0;
|
|
16
|
+
height: 0;
|
|
17
|
+
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
}
|
|
8
20
|
}
|
|
9
21
|
|
|
10
22
|
/* User menu dropdown */
|
|
@@ -6,11 +6,14 @@ import { ifDefined } from "lit/directives/if-defined.js";
|
|
|
6
6
|
import { L10nMixin } from "../../l10n/mixin.js";
|
|
7
7
|
|
|
8
8
|
import { FXA_SIGNIN_URL, FXA_SIGNOUT_URL } from "../env/index.js";
|
|
9
|
+
import logInIcon from "../icon/log-in.svg?lit";
|
|
9
10
|
import { globalUser } from "../user/context.js";
|
|
10
11
|
|
|
11
12
|
import styles from "./element.css?lit";
|
|
12
13
|
import { getLinks } from "./links.js";
|
|
13
14
|
|
|
15
|
+
import "../button/element.js";
|
|
16
|
+
|
|
14
17
|
export class MDNUserMenu extends L10nMixin(LitElement) {
|
|
15
18
|
static styles = styles;
|
|
16
19
|
|
|
@@ -116,9 +119,14 @@ export class MDNUserMenu extends L10nMixin(LitElement) {
|
|
|
116
119
|
</div>
|
|
117
120
|
`
|
|
118
121
|
: html`
|
|
119
|
-
<
|
|
122
|
+
<mdn-button
|
|
123
|
+
class="user-menu__login"
|
|
124
|
+
href=${this.#loginUrl()}
|
|
125
|
+
.icon=${logInIcon}
|
|
126
|
+
variant="plain"
|
|
127
|
+
>
|
|
120
128
|
${this.l10n("login")}
|
|
121
|
-
</
|
|
129
|
+
</mdn-button>
|
|
122
130
|
`;
|
|
123
131
|
},
|
|
124
132
|
});
|
|
@@ -1,21 +1,10 @@
|
|
|
1
1
|
/* Mobile */
|
|
2
2
|
|
|
3
|
-
@media (
|
|
3
|
+
@media (--screen-menu-hamburger) {
|
|
4
4
|
/* Login link */
|
|
5
5
|
|
|
6
6
|
.user-menu__login {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
padding: 0.9rem 0.7rem;
|
|
10
|
-
|
|
11
|
-
line-height: 1.25rem;
|
|
12
|
-
|
|
13
|
-
border-top: 1px solid var(--color-border-primary);
|
|
14
|
-
|
|
15
|
-
&:hover {
|
|
16
|
-
color: var(--color-text-blue);
|
|
17
|
-
background-color: var(--color-background-blue);
|
|
18
|
-
}
|
|
7
|
+
padding: 0.45rem 0;
|
|
19
8
|
}
|
|
20
9
|
|
|
21
10
|
/* User menu dropdown */
|
|
@@ -31,7 +20,6 @@
|
|
|
31
20
|
|
|
32
21
|
background-color: transparent;
|
|
33
22
|
border: none;
|
|
34
|
-
border-top: 1px solid var(--color-border-primary);
|
|
35
23
|
|
|
36
24
|
&::before,
|
|
37
25
|
&::after {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LitElement, html } from "lit";
|
|
2
|
+
|
|
3
|
+
import { L10nMixin } from "../../l10n/mixin.js";
|
|
4
|
+
|
|
5
|
+
import "../button/element.js";
|
|
6
|
+
|
|
7
|
+
export class MDNWriterOpenEditor extends L10nMixin(LitElement) {
|
|
8
|
+
static properties = {
|
|
9
|
+
filepath: { type: String },
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.filepath = "";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async _open() {
|
|
18
|
+
const params = new URLSearchParams({
|
|
19
|
+
filepath: this.filepath,
|
|
20
|
+
});
|
|
21
|
+
await fetch(`/_open?${params}`);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
render() {
|
|
25
|
+
return html`<mdn-button @click=${this._open} variant="plain">
|
|
26
|
+
${this.l10n`Open in editor`}
|
|
27
|
+
</mdn-button>`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define("mdn-writer-open-editor", MDNWriterOpenEditor);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { html, nothing } from "lit";
|
|
2
|
+
|
|
3
|
+
import { Button } from "../button/server.js";
|
|
4
|
+
import { ServerComponent } from "../server/index.js";
|
|
5
|
+
|
|
6
|
+
export class WriterToolbar extends ServerComponent {
|
|
7
|
+
/**
|
|
8
|
+
* @param {import("@fred").Context<import("@rari").DocPage>} context
|
|
9
|
+
*/
|
|
10
|
+
render(context) {
|
|
11
|
+
const prodUrl = new URL(context.url, "https://developer.mozilla.org");
|
|
12
|
+
const { folder, filename } = context.doc.source;
|
|
13
|
+
|
|
14
|
+
return html`<div class="writer-toolbar">
|
|
15
|
+
${Button.render(context, {
|
|
16
|
+
label: context.l10n`View on MDN`,
|
|
17
|
+
href: prodUrl.toString(),
|
|
18
|
+
variant: "plain",
|
|
19
|
+
})}
|
|
20
|
+
${context.localServer
|
|
21
|
+
? html`<mdn-writer-open-editor
|
|
22
|
+
filepath=${`${folder}/${filename}`}
|
|
23
|
+
></mdn-writer-open-editor>`
|
|
24
|
+
: nothing}
|
|
25
|
+
</div>`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -6,5 +6,5 @@ export const __webpack_ids__=["1048"];export const __webpack_modules__={4976:fun
|
|
|
6
6
|
</li>
|
|
7
7
|
`)}
|
|
8
8
|
</ul>
|
|
9
|
-
`}updated(){this.scrollTo({top:this.scrollHeight})}};customElements.define("mdn-play-console",MDNPlayConsole)},14164:function(e,t,r){r.d(t,{Z:()=>a});var o=r(14703),s=r(8081),n=r.n(s),i=r(23645),l=r.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
|
|
10
|
-
//# sourceMappingURL=1048.
|
|
9
|
+
`}updated(){this.scrollTo({top:this.scrollHeight})}};customElements.define("mdn-play-console",MDNPlayConsole)},14164:function(e,t,r){r.d(t,{Z:()=>a});var o=r(14703),s=r(8081),n=r.n(s),i=r(23645),l=r.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.iv)([l.toString()])}};
|
|
10
|
+
//# sourceMappingURL=1048.9db1491a9a9f26c3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1048.7f6f1de50a1fda0d.js","sources":["webpack://@mdn/fred/./components/play-console/utils.js","webpack://@mdn/fred/./components/play-console/element.js","webpack://@mdn/fred/./components/play-console/element.css"],"sourcesContent":["// 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>\n ${this._messages.map((message) => {\n return html`\n <li>\n <code>${message}</code>\n </li>\n `;\n })}\n </ul>\n `;\n }\n\n updated() {\n this.scrollTo({ top: this.scrollHeight });\n }\n}\n\ncustomElements.define(\"mdn-play-console\", MDNPlayConsole);\n","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:.875rem;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"],"names":["Array","Object","String","JSON","VirtualConsole","Math","Number","MDNPlayConsole","s","customElements"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"1048.9db1491a9a9f26c3.js","sources":["webpack://@mdn/fred/./components/play-console/utils.js","webpack://@mdn/fred/./components/play-console/element.js","webpack://@mdn/fred/./components/play-console/element.css"],"sourcesContent":["// 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>\n ${this._messages.map((message) => {\n return html`\n <li>\n <code>${message}</code>\n </li>\n `;\n })}\n </ul>\n `;\n }\n\n updated() {\n this.scrollTo({ top: this.scrollHeight });\n }\n}\n\ncustomElements.define(\"mdn-play-console\", MDNPlayConsole);\n","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"],"names":["Array","Object","String","JSON","VirtualConsole","Math","Number","MDNPlayConsole","s","customElements"],"mappings":"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"}
|