@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"7461.c7551ade83fa6056.js","sources":["webpack://@mdn/fred/./components/visually-hidden/global.css?9b14","webpack://@mdn/fred/./components/sidebar-filter/sidebar-filterer.js","webpack://@mdn/fred/./components/sidebar-filter/element.js","webpack://@mdn/fred/./components/sidebar-filter/element.css","webpack://@mdn/fred/./components/icon/cancel.svg"],"sourcesContent":["// 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, `.visually-hidden{border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","/**\n * Splits a search query into an array of lowercase terms.\n * @param {string} query The input search query.\n * @returns {string[]} The resulting array of query terms.\n */\nfunction splitQuery(query) {\n return query.toLowerCase().split(/\\s+/).filter(Boolean);\n}\n\n/**\n * @typedef {object} Item\n * @property {string} haystack - The lowercased text for matching.\n * @property {HTMLAnchorElement} link - The anchor element.\n * @property {HTMLElement} container - The container (closest 'li' element).\n * @property {HTMLElement|undefined} heading - The heading element (if any).\n * @property {HTMLDetailsElement[]} parents - The parent details elements.\n */\n\n/**\n * A class to filter sidebar items based on search queries.\n */\nexport class SidebarFilterer {\n /**\n * @param {HTMLElement} root The root element to search within.\n */\n constructor(root) {\n /**\n * @type {HTMLElement[]}\n */\n this.allHeadings = [...root.querySelectorAll(\"li strong\")].filter(\n (el) => el instanceof HTMLElement,\n );\n\n /**\n * @type {HTMLDetailsElement[]}\n */\n this.allParents = [...root.querySelectorAll(\"details\")];\n\n const links = [...root.querySelectorAll(\"a[href]\")].filter(\n (a) => a instanceof HTMLAnchorElement,\n );\n\n /**\n * @type {Item[]}\n */\n this.items = links.map((link) => ({\n haystack: (link.textContent || \"\").toLowerCase(),\n link,\n container: this.getContainerOf(link),\n heading: this.getHeadingOf(link),\n parents: this.getParentsOf(link),\n }));\n\n /**\n * @type {HTMLElement|null}\n */\n this.toc = root.querySelector(\".reference-toc\") || null;\n }\n\n /**\n * Applies a filter to the sidebar items.\n * @param {string} query The filter query.\n * @returns {number|undefined} The number of matching items if a query is provided; otherwise undefined.\n */\n applyFilter(query) {\n if (query) {\n this.toggleTOC(false);\n return this.showOnlyMatchingItems(query);\n } else {\n this.toggleTOC(true);\n this.showAllItems();\n return;\n }\n }\n\n /**\n * Toggles the TOC (table of contents) element's visibility.\n * @private\n * @param {boolean} show Whether to show the TOC.\n */\n toggleTOC(show) {\n if (this.toc) {\n this.toggleElement(this.toc, show);\n }\n }\n\n /**\n * Toggles the display style of an element.\n * @private\n * @param {HTMLElement} el The element to toggle.\n * @param {boolean} show Whether to show (true) or hide (false) the element.\n */\n toggleElement(el, show) {\n el.style.display = show ? \"\" : \"none\";\n }\n\n /**\n * Resets and shows all sidebar items.\n */\n showAllItems() {\n for (const { link } of this.items) this.resetLink(link);\n for (const heading of this.allHeadings) this.resetHeading(heading);\n for (const parent of this.allParents) this.resetParent(parent);\n }\n\n /**\n * Resets a link by removing any highlighting and ensuring its container is visible.\n * @private\n * @param {HTMLAnchorElement} link The link to reset.\n */\n resetLink(link) {\n this.resetHighlighting(link);\n const container = this.getContainerOf(link);\n this.toggleElement(container, true);\n }\n\n /**\n * Returns the container element (the closest \"li\") for the provided element.\n * @private\n * @param {HTMLElement} el The element to find the container for.\n * @returns {HTMLElement} The container element.\n */\n getContainerOf(el) {\n return el.closest(\"li\") || el;\n }\n\n /**\n * Resets a heading by ensuring its container is visible.\n * @private\n * @param {HTMLElement} heading The heading element to reset.\n */\n resetHeading(heading) {\n const container = this.getContainerOf(heading);\n this.toggleElement(container, true);\n }\n\n /**\n * Resets a parent details element by showing its container and restoring its open state.\n * @private\n * @param {HTMLDetailsElement} parent The details element to reset.\n */\n resetParent(parent) {\n const container = this.getContainerOf(parent);\n this.toggleElement(container, true);\n if (parent.dataset.wasOpen) {\n parent.open = JSON.parse(parent.dataset.wasOpen);\n delete parent.dataset.wasOpen;\n }\n }\n\n /**\n * Removes highlighting from the given link element.\n * @private\n * @param {HTMLAnchorElement} link The link element to reset.\n */\n resetHighlighting(link) {\n const nodes = [...link.querySelectorAll(\"span, mark\")];\n const parents = new Set();\n for (const node of nodes) {\n const parent = node.parentElement;\n node.replaceWith(document.createTextNode(node.textContent || \"\"));\n if (parent) {\n parents.add(parent);\n }\n }\n for (const parent of parents) parent.normalize();\n }\n\n /**\n * Shows only the items that match the provided query.\n * @param {string} query The search query.\n * @returns {number} The count of matching items.\n */\n showOnlyMatchingItems(query) {\n for (const heading of this.allHeadings) this.hideHeading(heading);\n for (const parent of this.allParents) this.collapseParent(parent);\n\n // Split the query into search terms.\n const terms = splitQuery(query);\n let matchCount = 0;\n\n // Evaluate each item.\n for (const { haystack, link, container, heading, parents } of this.items) {\n this.resetHighlighting(link);\n const isMatch = terms.every((needle) => haystack.includes(needle));\n\n this.toggleElement(container, isMatch);\n\n if (isMatch) {\n matchCount++;\n this.highlightMatches(link, terms);\n if (heading) {\n this.showHeading(heading);\n }\n for (const parent of parents) {\n this.expandParent(parent);\n }\n }\n }\n\n return matchCount;\n }\n\n /**\n * Hides a heading element by toggling its container.\n * @private\n * @param {HTMLElement} heading The heading element to hide.\n */\n hideHeading(heading) {\n const container = this.getContainerOf(heading);\n this.toggleElement(container, false);\n }\n\n /**\n * Collapses a parent details element and hides its container.\n * @private\n * @param {HTMLDetailsElement} parent The details element to collapse.\n */\n collapseParent(parent) {\n const container = this.getContainerOf(parent);\n this.toggleElement(container, false);\n parent.dataset.wasOpen = parent.dataset.wasOpen || String(parent.open);\n parent.open = false;\n }\n\n /**\n * Highlights matching terms within an element by wrapping them with a <mark> element.\n * @private\n * @param {HTMLElement} el The element to highlight.\n * @param {string[]} terms The search terms.\n */\n highlightMatches(el, terms) {\n const nodes = this.getTextNodesOf(el);\n\n for (const node of nodes) {\n const haystack = node.textContent?.toLowerCase();\n if (!haystack) {\n continue;\n }\n\n const ranges = new Map();\n for (const needle of terms) {\n const index = haystack.indexOf(needle);\n if (index !== -1) {\n ranges.set(index, index + needle.length);\n }\n }\n const sortedRanges = [...ranges.entries()].sort(\n ([x1, y1], [x2, y2]) => x1 - x2 || y1 - y2,\n );\n\n const span = this.replaceChildNode(node, \"span\");\n span.className = \"highlight-container\";\n\n /** @type {Text|undefined} */\n const initialRest = [...span.childNodes].find(\n (node) => node instanceof Text,\n );\n\n if (!initialRest) {\n continue;\n }\n\n /** @type {Text} */\n let rest = initialRest;\n let cursor = 0;\n\n for (const [rangeBegin, rangeEnd] of sortedRanges) {\n if (rangeBegin < cursor) {\n // Ignore overlapping or conflicting ranges.\n continue;\n }\n\n // Split the text node to isolate the matching segment.\n const match = rest.splitText(rangeBegin - cursor);\n const newRest = match.splitText(rangeEnd - rangeBegin);\n\n // Replace the matching text node with a <mark> element.\n this.replaceChildNode(match, \"mark\");\n\n rest = newRest;\n cursor = rangeEnd;\n }\n }\n }\n\n /**\n * Recursively collects all text nodes under a given node.\n * @private\n * @param {Node} node The node to search within.\n * @returns {Array<Node & Text>} An array of text nodes.\n */\n getTextNodesOf(node) {\n const parents = [node];\n /** @type {Array<Node & Text>} */\n const nodes = [];\n\n for (const parent of parents) {\n for (const childNode of parent.childNodes) {\n if (childNode.nodeType === Node.TEXT_NODE) {\n // @ts-expect-error TypeScript doesn't understand that Node.TEXT_NODE implies Node & Text.\n nodes.push(childNode);\n } else if (childNode.hasChildNodes && childNode.hasChildNodes()) {\n parents.push(childNode);\n }\n }\n }\n return nodes;\n }\n\n /**\n * Replaces a child node with a new element of the specified tag.\n * @private\n * @param {ChildNode} node The node to be replaced.\n * @param {string} tagName The tag name for the new element.\n * @returns {HTMLElement} The newly created element.\n */\n replaceChildNode(node, tagName) {\n const text = node.textContent;\n const newNode = document.createElement(tagName);\n newNode.textContent = text || \"\";\n node.replaceWith(newNode);\n return newNode;\n }\n\n /**\n * Ensures that the container for the given heading is visible.\n * @private\n * @param {HTMLElement} heading The heading element to show.\n */\n showHeading(heading) {\n const container = heading && this.getContainerOf(heading);\n if (container) {\n this.toggleElement(container, true);\n }\n }\n\n /**\n * Retrieves the first heading element (from allHeadings) that appears before the specified element.\n * @private\n * @param {HTMLElement} el The reference element.\n * @returns {HTMLElement|undefined} The matching heading or undefined.\n */\n getHeadingOf(el) {\n return this.findFirstElementBefore(el, this.allHeadings);\n }\n\n /**\n * Finds the first element among candidates that occurs before the specified element in the document.\n * @private\n * @param {HTMLElement} el The reference element.\n * @param {HTMLElement[]} candidates An array of candidate elements.\n * @returns {HTMLElement|undefined} The found element or undefined if none found.\n */\n findFirstElementBefore(el, candidates) {\n return [...candidates]\n .reverse()\n .find(\n (candidate) =>\n candidate.compareDocumentPosition(el) &\n Node.DOCUMENT_POSITION_FOLLOWING,\n );\n }\n\n /**\n * Expands a parent details element and ensures its container is visible.\n * @private\n * @param {HTMLDetailsElement} parent The details element to expand.\n */\n expandParent(parent) {\n const container = this.getContainerOf(parent);\n this.toggleElement(container, true);\n parent.open = true;\n }\n\n /**\n * Retrieves all parent <details> elements for the given element.\n * @private\n * @param {HTMLElement} el The element for which to find parent details.\n * @returns {HTMLDetailsElement[]} An array of parent <details> elements.\n */\n getParentsOf(el) {\n const parents = [];\n let parent = el.parentElement ? el.parentElement.closest(\"details\") : null;\n\n while (parent) {\n parents.push(parent);\n parent = parent.parentElement\n ? parent.parentElement.closest(\"details\")\n : null;\n }\n\n return parents;\n }\n}\n","/**\n * @file Sidebar filter Lit element.\n */\n\nimport { LitElement, html } from \"lit\";\n\nimport { L10nMixin } from \"../../l10n/mixin.js\";\nimport cancelIcon from \"../icon/cancel.svg?lit\";\n\nimport styles from \"./element.css?lit\";\nimport { SidebarFilterer } from \"./sidebar-filterer.js\";\n\nclass MDNSidebarFilter extends L10nMixin(LitElement) {\n static styles = styles;\n\n static properties = {\n query: { type: String },\n matchCount: { state: true, type: Number },\n _active: { state: true, type: Boolean },\n };\n\n /**\n * Creates an instance of SidebarFilterElement.\n */\n constructor() {\n super();\n /** @type {string} */\n this.query = \"\";\n /** @type {number|undefined} */\n this.matchCount = undefined;\n /** @type {boolean} */\n this._active = false;\n /** @type {boolean} */\n this.hasTyped = false;\n /**\n * @type {SidebarFilterer|null}\n */\n this._filterer = null;\n /**\n * @type {HTMLElement|null}\n */\n this._quicklinks = null;\n /**\n * @type {HTMLElement|null}\n */\n this._sidebarInnerNav = null;\n }\n\n firstUpdated() {\n this._quicklinks = document.querySelector(\".left-sidebar\");\n if (this._quicklinks) {\n this._sidebarInnerNav =\n /** @type {HTMLElement|null} */ (\n this._quicklinks.querySelector(\".left-sidebar__content\")\n ) || null;\n }\n }\n\n /**\n * Saves the current scroll position from the specified elements and resets them.\n * @private\n */\n _saveScrollPosition() {\n const refs = [this._quicklinks, this._sidebarInnerNav];\n for (const el of refs) {\n if (el && el.dataset.lastScrollTop === undefined && el.scrollTop > 0) {\n el.dataset.lastScrollTop = String(el.scrollTop);\n el.scrollTop = 0;\n }\n }\n }\n\n /**\n * Restores the scroll position of the previously saved elements.\n * @private\n */\n _restoreScrollPosition() {\n const refs = [this._quicklinks, this._sidebarInnerNav];\n for (const el of refs) {\n if (el && typeof el.dataset.lastScrollTop === \"string\") {\n el.scrollTop = Number(el.dataset.lastScrollTop);\n delete el.dataset.lastScrollTop;\n }\n }\n }\n\n /**\n * Lit lifecycle method called after properties are updated.\n * Triggers telemetry events and applies filtering logic when properties change.\n * @param {Map<string, any>} changedProperties\n */\n updated(changedProperties) {\n if (changedProperties.has(\"query\")) {\n // Mark that the user has typed if the query is non-empty.\n if (this.query && this.query.trim().length > 0 && !this.hasTyped) {\n this.hasTyped = true;\n }\n\n if (this._quicklinks) {\n // Initialize the filterer if it has not yet been created.\n if (!this._filterer) {\n const root = this._quicklinks.querySelector(\".left-sidebar__content\");\n if (root instanceof HTMLElement) {\n this._filterer = new SidebarFilterer(root);\n }\n }\n const trimmedQuery = this.query.trim();\n if (trimmedQuery) {\n this._saveScrollPosition();\n }\n if (this._filterer) {\n const count = this._filterer.applyFilter(trimmedQuery);\n this.matchCount = count;\n }\n if (!trimmedQuery) {\n this._restoreScrollPosition();\n }\n }\n }\n }\n\n /**\n * Event handler for when the input field receives focus.\n * @private\n */\n _onFocus() {\n this._active = true;\n }\n\n /**\n * Event handler for input events on the text field.\n * @param {Event} event The input event.\n * @private\n */\n _onInput(event) {\n const target = /** @type {HTMLInputElement} */ (event.target);\n this.query = target.value;\n }\n\n /**\n * Clears the filter input and resets the active state.\n * @private\n */\n _clearFilter() {\n this.query = \"\";\n this._active = false;\n }\n\n /**\n * Renders the component template.\n * @returns {import(\"@lit\").TemplateResult}\n */\n render() {\n return html`\n <div class=\"sidebar-filter ${this.query ? \"has-input\" : \"\"}\">\n <label\n id=\"sidebar-filter-label\"\n class=\"sidebar-filter-label\"\n for=\"sidebar-filter-input\"\n >\n <span class=\"visually-hidden\">${this.l10n`Filter sidebar`}</span>\n </label>\n <input\n id=\"sidebar-filter-input\"\n autocomplete=\"off\"\n class=\"sidebar-filter-input-field ${this._active ? \"is-active\" : \"\"}\"\n type=\"text\"\n placeholder=${this.l10n`Filter`}\n .value=${this.query}\n @focus=${this._onFocus}\n @input=${this._onInput}\n />\n ${this.matchCount === undefined\n ? \"\"\n : html`\n <span class=\"sidebar-filter-count\">\n ${this.l10n.raw({\n id: \"sidebar-filter-matches\",\n args: {\n matches: this.matchCount,\n },\n })}\n </span>\n `}\n <mdn-button\n class=\"clear-sidebar-filter-button\"\n variant=\"plain\"\n label=${this.l10n`Clear filter input`}\n .icon=${cancelIcon}\n icon-only\n @click=${this._clearFilter}\n ></mdn-button>\n </div>\n `;\n }\n}\n\ncustomElements.define(\"mdn-sidebar-filter\", MDNSidebarFilter);\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../visually-hidden/global.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../icon/filter.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:flex;flex-direction:column;position:relative}.sidebar-filter{display:flex;place-items:center}.sidebar-filter-label{left:.6em;position:absolute;top:.4em}.sidebar-filter-label:before{background-color:var(--color-text-secondary);content:\"\";display:inline-block;height:1.25em;-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});-webkit-mask-size:cover;mask-size:cover;width:1.25em}.clear-sidebar-filter-button{--button-bg:none;--button-color:var(--color-text-primary);--button-border-color:none;position:absolute;right:0}.clear-sidebar-filter-button::part(button){border-radius:50%}.clear-sidebar-filter-button::part(button):hover{background-color:initial}.sidebar-filter-input-field{border:1px solid var(--color-border-primary);border-radius:calc(infinity*1px);color:var(--color-text-primary);padding-bottom:.6em;padding-left:2.5em;padding-top:.6em;width:100%}.sidebar-filter-input-field::placeholder{color:var(--color-text-secondary)}.sidebar-filter-input-field:focus{border-color:#0000}.sidebar-filter-input-field:focus .icon{color:var(--color-border-primary)}.sidebar-filter-input-field[value=\"\"]:not(:focus,.is-active){width:5em}.sidebar-filter-input-field[value=\"\"]:not(:focus,.is-active)~.clear-sidebar-filter-button,.sidebar-filter-input-field[value=\"\"]:not(:focus,.is-active)~.sidebar-filter-count{display:none}.sidebar-filter-input-field.is-active,.sidebar-filter-input-field:focus{padding-right:7.5em}.sidebar-filter-input-field~.sidebar-filter-count{background:var(--color-background-blue);border-radius:1em;color:var(--color-text-secondary);font-size:.7rem;padding:0 .5em;position:absolute;right:2.5em;white-space:nowrap}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","import { svg } from \"lit\"; export default svg`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M18 6 6 18M6 6l12 12\"/></svg>`;"],"names":["SidebarFilterer","e","HTMLElement","HTMLAnchorElement","JSON","Set","document","t","Boolean","String","r","Map","s","Text","Node","MDNSidebarFilter","Number","customElements"],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export const __webpack_ids__=["7509"];export const __webpack_modules__={94856:function(t,e,a){a.r(e),a.d(e,{MDNAboutTabs:()=>MDNAboutTabs});var i=a(14703),s=a(33446);let MDNAboutTabs=class MDNAboutTabs extends i.oi{static styles=s.Z;static properties={active_index:{type:Number}};constructor(){super(),this.active_index=0}firstUpdated(){if(null===this.shadowRoot)return;let t=this.shadowRoot.querySelector("slot[name='tab']");if(null===t)return;let e=globalThis.location.hash.slice(1);if(e){let a=e.startsWith("our_team")?"our_team":e.startsWith("our_partners")||"product_advisory_board"===e||"open_web_docs"===e?"our_partners":e,i=t.assignedElements({flatten:!0});if(i&&i.length>0){for(let[t,e]of i.entries())if(e instanceof HTMLElement&&e.dataset.panelId===a){this.active_index=t;break}}}t.addEventListener("slotchange",()=>this._wireSlots()),this._wireSlots()}_wireSlots(){if(null===this.shadowRoot)return;let t=this.shadowRoot.querySelector('slot[name="tab"]');if(null===t)return;let e=t.assignedElements({flatten:!0}),a=this.shadowRoot.querySelector('slot[name="panel"]');if(null===a)return;let i=a.assignedElements({flatten:!0});for(let[t,a]of e.entries()){a.setAttribute("role","tab"),a.setAttribute("aria-selected",(t===this.active_index).toString()),a.setAttribute("tabindex",t===this.active_index?"0":"-1"),a.classList.toggle("active",t===this.active_index);let e=e=>{e.preventDefault(),a.dataset.panelId&&(globalThis.location.hash=a.dataset.panelId),this.active_index=t};a.removeEventListener("click",a.__handleClick),a.addEventListener("click",e),a.__handleClick=e}for(let[t,e]of i.entries())e.setAttribute("role","tabpanel"),e.setAttribute("aria-hidden",(t!==this.active_index).toString()),e.classList.toggle("active",t===this.active_index),e.classList.add("tabpanel")}updated(t){t.has("active_index")&&this._wireSlots()}render(){return(0,i.dy)`
|
|
2
|
-
<div class="tablist-wrapper">
|
|
3
|
-
<div class="tablist">
|
|
4
|
-
<slot name="tab"></slot>
|
|
5
|
-
</div>
|
|
6
|
-
</div>
|
|
7
|
-
<slot name="panel"></slot>
|
|
8
|
-
`}};customElements.define("mdn-about-tabs",MDNAboutTabs)},33446:function(t,e,a){a.d(e,{Z:()=>n});var i=a(14703),s=a(8081),o=a.n(s),l=a(23645),r=a.n(l)()(o());r.push([t.id,":host{display:block}.tablist-wrapper{background:var(--about-bg-secondary);margin:0 calc(var(--center-padding)*-1);margin-bottom:2rem;padding:0 var(--center-padding);position:sticky;top:var(--top-nav-height);z-index:2}.tablist{border-bottom:1px solid var(--about-tablist-border);display:flex;gap:3rem;overflow-x:auto}::slotted([slot=tab]){color:var(--about-tablist-color);flex-shrink:0;font-weight:400;-webkit-text-decoration:none;text-decoration:none}::slotted([slot=tab].active){border-bottom:2px solid var(--about-tablist-active-border);color:var(--about-tablist-active-color)}::slotted([slot=panel]:not(.active)){display:none!important}::slotted([slot=panel].active){display:block}",""]);let n=(0,i.iv)([r.toString()])}};
|
|
9
|
-
//# sourceMappingURL=7509.780e429ccb3e9290.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"7509.780e429ccb3e9290.js","sources":["webpack://@mdn/fred/./components/about-tabs/element.js","webpack://@mdn/fred/./components/about-tabs/element.css"],"sourcesContent":["import { LitElement, html } from \"lit\";\n\nimport styles from \"./element.css?lit\";\n\nexport class MDNAboutTabs extends LitElement {\n static styles = styles;\n\n static properties = {\n active_index: { type: Number },\n };\n\n constructor() {\n super();\n /** @type {number} */\n this.active_index = 0;\n }\n\n firstUpdated() {\n if (this.shadowRoot === null) {\n return;\n }\n const tabSlot = this.shadowRoot.querySelector(\"slot[name='tab']\");\n if (tabSlot === null) {\n return;\n }\n\n // Check for URL hash and set active_index accordingly\n const hash = globalThis.location.hash.slice(1);\n if (hash) {\n const tabHash = hash.startsWith(\"our_team\")\n ? \"our_team\"\n : hash.startsWith(\"our_partners\") ||\n hash === \"product_advisory_board\" ||\n hash === \"open_web_docs\"\n ? \"our_partners\"\n : hash;\n\n // @ts-expect-error\n const tabs = tabSlot.assignedElements({ flatten: true });\n if (tabs && tabs.length > 0) {\n for (const [i, tabEl] of tabs.entries()) {\n if (\n tabEl instanceof HTMLElement &&\n tabEl.dataset.panelId === tabHash\n ) {\n this.active_index = i;\n break;\n }\n }\n }\n }\n\n tabSlot.addEventListener(\"slotchange\", () => this._wireSlots());\n this._wireSlots();\n }\n\n _wireSlots() {\n if (this.shadowRoot === null) {\n return;\n }\n const tabSlot = this.shadowRoot.querySelector('slot[name=\"tab\"]');\n if (tabSlot === null) {\n return;\n }\n\n /** @type {HTMLSlotElement[]} */\n // @ts-expect-error\n const tabs = tabSlot.assignedElements({ flatten: true });\n const panelSlot = this.shadowRoot.querySelector('slot[name=\"panel\"]');\n if (panelSlot === null) {\n return;\n }\n\n /** @type {HTMLSlotElement[]} */\n // @ts-expect-error\n const panels = panelSlot.assignedElements({ flatten: true });\n\n for (const [i, tabEl] of tabs.entries()) {\n // ensure ARIA roles & attributes\n tabEl.setAttribute(\"role\", \"tab\");\n tabEl.setAttribute(\"aria-selected\", (i === this.active_index).toString());\n tabEl.setAttribute(\"tabindex\", i === this.active_index ? \"0\" : \"-1\");\n tabEl.classList.toggle(\"active\", i === this.active_index);\n\n const handleClick = (/** @type {Event} */ e) => {\n e.preventDefault();\n if (tabEl.dataset.panelId) {\n globalThis.location.hash = tabEl.dataset.panelId;\n }\n this.active_index = i;\n };\n // @ts-expect-error\n tabEl.removeEventListener(\"click\", tabEl.__handleClick);\n tabEl.addEventListener(\"click\", handleClick);\n // @ts-expect-error\n tabEl.__handleClick = handleClick;\n }\n\n for (const [i, panelEl] of panels.entries()) {\n panelEl.setAttribute(\"role\", \"tabpanel\");\n panelEl.setAttribute(\"aria-hidden\", (i !== this.active_index).toString());\n panelEl.classList.toggle(\"active\", i === this.active_index);\n panelEl.classList.add(\"tabpanel\");\n }\n }\n\n /** @param {Map<string | number | symbol, unknown>} changed */\n updated(changed) {\n if (changed.has(\"active_index\")) {\n this._wireSlots();\n }\n }\n\n render() {\n return html`\n <div class=\"tablist-wrapper\">\n <div class=\"tablist\">\n <slot name=\"tab\"></slot>\n </div>\n </div>\n <slot name=\"panel\"></slot>\n `;\n }\n}\n\ncustomElements.define(\"mdn-about-tabs\", MDNAboutTabs);\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{display:block}.tablist-wrapper{background:var(--about-bg-secondary);margin:0 calc(var(--center-padding)*-1);margin-bottom:2rem;padding:0 var(--center-padding);position:sticky;top:var(--top-nav-height);z-index:2}.tablist{border-bottom:1px solid var(--about-tablist-border);display:flex;gap:3rem;overflow-x:auto}::slotted([slot=tab]){color:var(--about-tablist-color);flex-shrink:0;font-weight:400;-webkit-text-decoration:none;text-decoration:none}::slotted([slot=tab].active){border-bottom:2px solid var(--about-tablist-active-border);color:var(--about-tablist-active-color)}::slotted([slot=panel]:not(.active)){display:none!important}::slotted([slot=panel].active){display:block}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n"],"names":["MDNAboutTabs","s","Number","t","globalThis","HTMLElement","e","customElements"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
.obs-layout{--spacing:2rem;--progress-color:var(--observatory-accent);--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) var(--color-purple-80);--observatory-accent:var(--csstools-light-dark-toggle--0,var(--color-purple-20));--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) var(--color-purple-80);--observatory-accent-light:var(--csstools-light-dark-toggle--1,var(--color-purple-20));--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) var(--color-green-20);--observatory-pass-icon-bg:var(--csstools-light-dark-toggle--2,var(--color-green-90));--csstools-light-dark-toggle--3:var(--csstools-color-scheme--light) var(--color-green-80);--observatory-pass-icon-color:var(--csstools-light-dark-toggle--3,var(--color-green-50));--csstools-light-dark-toggle--4:var(--csstools-color-scheme--light) var(--color-red-10);--observatory-fail-icon-bg:var(--csstools-light-dark-toggle--4,var(--color-red-90));--csstools-light-dark-toggle--5:var(--csstools-color-scheme--light) var(--color-red-80);--observatory-fail-icon-color:var(--csstools-light-dark-toggle--5,var(--color-red-50));--csstools-light-dark-toggle--6:var(--csstools-color-scheme--light) var(--color-gray-10);--observatory-table-bg:var(--csstools-light-dark-toggle--6,var(--color-white));--csstools-light-dark-toggle--7:var(--csstools-color-scheme--light) var(--color-gray-10);--observatory-table-bg-alternate:var(--csstools-light-dark-toggle--7,var(--color-gray-90));--csstools-light-dark-toggle--8:var(--csstools-color-scheme--light) var(--color-gray-10);--observatory-table-header-bg:var(--csstools-light-dark-toggle--8,var(--color-gray-90));--csstools-light-dark-toggle--9:var(--csstools-color-scheme--light) #265c3d;--observatory-grade-a-bg:var(--csstools-light-dark-toggle--9,#d2fadd);--csstools-light-dark-toggle--10:var(--csstools-color-scheme--light) #89fca1;--observatory-grade-a-border:var(--csstools-light-dark-toggle--10,#017a37);--csstools-light-dark-toggle--11:var(--csstools-color-scheme--light) #52662a;--observatory-grade-b-bg:var(--csstools-light-dark-toggle--11,#e8fad2);--csstools-light-dark-toggle--12:var(--csstools-color-scheme--light) #d5fc88;--observatory-grade-b-border:var(--csstools-light-dark-toggle--12,#547a01);--csstools-light-dark-toggle--13:var(--csstools-color-scheme--light) #66602a;--observatory-grade-c-bg:var(--csstools-light-dark-toggle--13,#faf8d2);--csstools-light-dark-toggle--14:var(--csstools-color-scheme--light) #fcf988;--observatory-grade-c-border:var(--csstools-light-dark-toggle--14,#7a7001);--csstools-light-dark-toggle--15:var(--csstools-color-scheme--light) #5c3d26;--observatory-grade-d-bg:var(--csstools-light-dark-toggle--15,#fae8d2);--csstools-light-dark-toggle--16:var(--csstools-color-scheme--light) #ff6a00;--observatory-grade-d-border:var(--csstools-light-dark-toggle--16,#a65001);--csstools-light-dark-toggle--17:var(--csstools-color-scheme--light) #5c2626;--observatory-grade-f-bg:var(--csstools-light-dark-toggle--17,#fad2d2);--csstools-light-dark-toggle--18:var(--csstools-color-scheme--light) #fc8888;--observatory-grade-f-border:var(--csstools-light-dark-toggle--18,#a00);--csstools-light-dark-toggle--19:var(--csstools-color-scheme--light) var(--color-red-80);--observatory-arrow-down-color:var(--csstools-light-dark-toggle--19,var(--color-red-20));--csstools-light-dark-toggle--20:var(--csstools-color-scheme--light) var(--color-green-80);--observatory-arrow-up-color:var(--csstools-light-dark-toggle--20,var(--color-green-50));--csstools-light-dark-toggle--21:var(--csstools-color-scheme--light) var(--color-red-80);--form-invalid-color:var(--csstools-light-dark-toggle--21,var(--color-red-50));--font-body:inter,var(--font-fallback);--alert-circle-img:url(/static/client/alert-circle.558fb4ebf9c68c79.svg)}@supports (color:light-dark(red,red)){.obs-layout{--observatory-accent:light-dark(var(--color-purple-20),var(--color-purple-80));--observatory-accent-light:light-dark(var(--color-purple-20),var(--color-purple-80));--observatory-pass-icon-bg:light-dark(var(--color-green-90),var(--color-green-20));--observatory-pass-icon-color:light-dark(var(--color-green-50),var(--color-green-80));--observatory-fail-icon-bg:light-dark(var(--color-red-90),var(--color-red-10));--observatory-fail-icon-color:light-dark(var(--color-red-50),var(--color-red-80));--observatory-table-bg:light-dark(var(--color-white),var(--color-gray-10));--observatory-table-bg-alternate:light-dark(var(--color-gray-90),var(--color-gray-10));--observatory-table-header-bg:light-dark(var(--color-gray-90),var(--color-gray-10));--observatory-grade-a-bg:light-dark(#d2fadd,#265c3d);--observatory-grade-a-border:light-dark(#017a37,#89fca1);--observatory-grade-b-bg:light-dark(#e8fad2,#52662a);--observatory-grade-b-border:light-dark(#547a01,#d5fc88);--observatory-grade-c-bg:light-dark(#faf8d2,#66602a);--observatory-grade-c-border:light-dark(#7a7001,#fcf988);--observatory-grade-d-bg:light-dark(#fae8d2,#5c3d26);--observatory-grade-d-border:light-dark(#a65001,#ff6a00);--observatory-grade-f-bg:light-dark(#fad2d2,#5c2626);--observatory-grade-f-border:light-dark(#a00,#fc8888);--observatory-arrow-down-color:light-dark(var(--color-red-20),var(--color-red-80));--observatory-arrow-up-color:light-dark(var(--color-green-50),var(--color-green-80));--form-invalid-color:light-dark(var(--color-red-50),var(--color-red-80))}}@supports not (color:light-dark(tan,tan)){.obs-layout *{--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) var(--color-purple-80);--observatory-accent:var(--csstools-light-dark-toggle--0,var(--color-purple-20));--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) var(--color-purple-80);--observatory-accent-light:var(--csstools-light-dark-toggle--1,var(--color-purple-20));--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) var(--color-green-20);--observatory-pass-icon-bg:var(--csstools-light-dark-toggle--2,var(--color-green-90));--csstools-light-dark-toggle--3:var(--csstools-color-scheme--light) var(--color-green-80);--observatory-pass-icon-color:var(--csstools-light-dark-toggle--3,var(--color-green-50));--csstools-light-dark-toggle--4:var(--csstools-color-scheme--light) var(--color-red-10);--observatory-fail-icon-bg:var(--csstools-light-dark-toggle--4,var(--color-red-90));--csstools-light-dark-toggle--5:var(--csstools-color-scheme--light) var(--color-red-80);--observatory-fail-icon-color:var(--csstools-light-dark-toggle--5,var(--color-red-50));--csstools-light-dark-toggle--6:var(--csstools-color-scheme--light) var(--color-gray-10);--observatory-table-bg:var(--csstools-light-dark-toggle--6,var(--color-white));--csstools-light-dark-toggle--7:var(--csstools-color-scheme--light) var(--color-gray-10);--observatory-table-bg-alternate:var(--csstools-light-dark-toggle--7,var(--color-gray-90));--csstools-light-dark-toggle--8:var(--csstools-color-scheme--light) var(--color-gray-10);--observatory-table-header-bg:var(--csstools-light-dark-toggle--8,var(--color-gray-90));--csstools-light-dark-toggle--9:var(--csstools-color-scheme--light) #265c3d;--observatory-grade-a-bg:var(--csstools-light-dark-toggle--9,#d2fadd);--csstools-light-dark-toggle--10:var(--csstools-color-scheme--light) #89fca1;--observatory-grade-a-border:var(--csstools-light-dark-toggle--10,#017a37);--csstools-light-dark-toggle--11:var(--csstools-color-scheme--light) #52662a;--observatory-grade-b-bg:var(--csstools-light-dark-toggle--11,#e8fad2);--csstools-light-dark-toggle--12:var(--csstools-color-scheme--light) #d5fc88;--observatory-grade-b-border:var(--csstools-light-dark-toggle--12,#547a01);--csstools-light-dark-toggle--13:var(--csstools-color-scheme--light) #66602a;--observatory-grade-c-bg:var(--csstools-light-dark-toggle--13,#faf8d2);--csstools-light-dark-toggle--14:var(--csstools-color-scheme--light) #fcf988;--observatory-grade-c-border:var(--csstools-light-dark-toggle--14,#7a7001);--csstools-light-dark-toggle--15:var(--csstools-color-scheme--light) #5c3d26;--observatory-grade-d-bg:var(--csstools-light-dark-toggle--15,#fae8d2);--csstools-light-dark-toggle--16:var(--csstools-color-scheme--light) #ff6a00;--observatory-grade-d-border:var(--csstools-light-dark-toggle--16,#a65001);--csstools-light-dark-toggle--17:var(--csstools-color-scheme--light) #5c2626;--observatory-grade-f-bg:var(--csstools-light-dark-toggle--17,#fad2d2);--csstools-light-dark-toggle--18:var(--csstools-color-scheme--light) #fc8888;--observatory-grade-f-border:var(--csstools-light-dark-toggle--18,#a00);--csstools-light-dark-toggle--19:var(--csstools-color-scheme--light) var(--color-red-80);--observatory-arrow-down-color:var(--csstools-light-dark-toggle--19,var(--color-red-20));--csstools-light-dark-toggle--20:var(--csstools-color-scheme--light) var(--color-green-80);--observatory-arrow-up-color:var(--csstools-light-dark-toggle--20,var(--color-green-50));--csstools-light-dark-toggle--21:var(--csstools-color-scheme--light) var(--color-red-80);--form-invalid-color:var(--csstools-light-dark-toggle--21,var(--color-red-50))}}.obs-landing-top{display:grid;gap:0 6.25rem;grid-template-areas:"form svg auto";grid-template-columns:2fr 1fr minmax(0,200px);max-width:var(--max-width);padding-block:.75rem;padding-inline:1rem}@media (min-width:1441.02px){.obs-landing-top{padding-inline:calc(50% - 720px + 1rem)}}.obs-landing-top{--border-radius:0.3rem}@media (max-width:1200px){.obs-landing-top{grid-template-areas:"form svg";grid-template-columns:auto}}@media (max-width:769px){.obs-landing-top{grid-template-areas:"form" "svg"}.obs-landing-top .landing-illustration{text-align:center}}.obs-landing-top .accent{color:var(--observatory-accent)}.obs-landing-top__form{grid-area:form}.obs-landing-top__form p{margin:1rem 0 2rem}.obs-landing-top__illustration{grid-area:svg}.obs-landing-top__illustration svg{height:100%;max-width:50vw;width:auto}@media (max-width:769px){.obs-landing-top__illustration{text-align:center}}.obs-landing-about{padding-block:.75rem;padding-inline:1rem}@media (min-width:1441.02px){.obs-landing-about{padding-inline:calc(50% - 720px + 1rem)}}.obs-landing-about{color:var(--color-text-secondary);--csstools-light-dark-toggle--22:var(--csstools-color-scheme--light) var(--color-gray-05);background-color:var(--csstools-light-dark-toggle--22,var(--color-gray-90))}@supports (color:light-dark(red,red)){.obs-landing-about{background-color:light-dark(var(--color-gray-90),var(--color-gray-05))}}.obs-landing-about p{color:var(--color-text-secondary)}.obs-landing-about h1,.obs-landing-about h2{font-style:normal;font-weight:600;letter-spacing:var(--heading-letter-spacing)}.obs-landing-about h2{margin-bottom:2rem}@media (min-width:769.02px){.obs-landing-about .assessment{margin-left:0}.obs-landing-about .scanning{margin-left:3.125rem}.obs-landing-about .security{margin-left:6.25rem}.obs-landing-about .mdn{margin-left:9.75rem}}@media (max-width:769px){.obs-landing-about figure~figure{margin-top:1.75rem}.obs-landing-about .lines{display:none}}@media (min-width:769.02px) and (max-width:992px){.obs-landing-about .about-copy{width:80%}}:is(.obs-landing-about svg defs#defs3 #gradient) stop#stop1{stop-color:var(--observatory-accent)}:is(.obs-landing-about svg defs#defs3 #gradient) stop#stop2{stop-color:color-mix(in srgb,var(--observatory-accent),var(--color-background-secondary))}:is(.obs-landing-about svg defs#defs3 #gradient) stop#stop3{stop-color:var(--color-background-secondary)}.obs-landing-about figure{align-items:start;display:grid;gap:1.5rem;grid-template-columns:2rem 1fr}:is(:is(.obs-landing-about figure) figcaption) p{color:var(--color-text-primary);margin:0}.assessment:is(.obs-landing-about figure){margin-left:0}:is(.assessment:is(.obs-landing-about figure),.scanning:is(.obs-landing-about figure),.security:is(.obs-landing-about figure),.mdn:is(.obs-landing-about figure)) svg path{fill:var(--observatory-accent)}.obs-links__link{color:var(--color-text-secondary);display:inline-block;font-size:var(--type-tiny-font-size);margin-right:1rem;margin-top:2rem;-webkit-text-decoration:underline;text-decoration:underline}.obs-links__link:hover{-webkit-text-decoration:none;text-decoration:none}.obs-links__link:before{background-color:var(--color-text-secondary);content:"";display:inline-block;height:1.5em;margin-right:.2em;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;vertical-align:middle;width:1.5em}.obs-links__link--faq:before{-webkit-mask-image:url(/static/client/circle-help.574fc498f309634e.svg);mask-image:url(/static/client/circle-help.574fc498f309634e.svg)}.obs-links__link--feedback:before{-webkit-mask-image:url(/static/client/circle-alert.4199b283585ef0bb.svg);mask-image:url(/static/client/circle-alert.4199b283585ef0bb.svg)}.obs-results{color:var(--color-text-primary);column-gap:3rem;display:grid;grid-template-areas:"header" "main" "sidebar";grid-template-columns:1fr minmax(0,200px);max-width:var(--max-width);padding-block:.75rem;padding-inline:1rem;row-gap:0;--csstools-light-dark-toggle--23:var(--csstools-color-scheme--light) var(--color-gray-05);background-color:var(--csstools-light-dark-toggle--23,var(--color-gray-90))}@supports (color:light-dark(red,red)){.obs-results{background-color:light-dark(var(--color-gray-90),var(--color-gray-05))}}@media (min-width:1441.02px){.obs-results{padding-inline:calc(50% - 720px + 1rem)}}.obs-results{--summary-icon:url(/static/client/summary-icon.eff7a61e59b7e02f.svg);--results-icon:url(/static/client/results-icon.b469eb939df034e7.svg);--border-radius:0.3rem}@media (min-width:769.02px){.obs-results{column-gap:1rem;grid-template-areas:"header sidebar" "main sidebar";grid-template-columns:minmax(0,1fr) 12rem}.obs-results section.header,.obs-results section.main{padding:0}}@media (min-width:1200.02px){.obs-results{column-gap:3rem;grid-template-areas:"header sidebar" "main sidebar";grid-template-columns:2fr minmax(0,200px)}}.obs-results__header{align-items:start;display:flex;flex-wrap:wrap;gap:1.5rem;grid-area:header;justify-content:space-between}.obs-results__feedback .obs-links__link{font-size:var(--font-size-small);margin-top:1.5rem}.obs-results__mdn-results{grid-area:main}.obs-toc{grid-area:sidebar;margin-bottom:2rem;padding:0}h2.obs-toc__heading{color:var(--color-text-secondary);font:var(--type-heading-h5);font-size:var(--type-base-font-size-rem);letter-spacing:1.5px;margin:1.5rem 0 1rem}.obs-toc__list{border-left:2px solid var(--color-border-primary);display:inline-block;font-size:var(--type-smaller-font-size);list-style:none;padding:.5rem 1rem;-webkit-text-decoration:none;text-decoration:none}.obs-toc__item,.obs-toc__list{color:var(--color-text-secondary)}.obs-toc__item{padding:.5rem 0}.obs-toc__item a{color:var(--color-text-secondary);-webkit-text-decoration:none;text-decoration:none}.obs-results__title-accent{color:var(--observatory-accent)}
|
|
2
|
-
/*# sourceMappingURL=781.389e02e257b52721.css.map*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"781.389e02e257b52721.css","sources":["webpack://@mdn/fred/./components/observatory/index.css"],"sourcesContent":["/* Observatory main layout */\n\n.obs-layout {\n --spacing: 2rem;\n\n --progress-color: var(--observatory-accent);\n\n --observatory-accent: light-dark(\n var(--color-purple-20),\n var(--color-purple-80)\n );\n --observatory-accent-light: light-dark(\n var(--color-purple-20),\n var(--color-purple-80)\n );\n\n --observatory-pass-icon-bg: light-dark(\n var(--color-green-90),\n var(--color-green-20)\n );\n --observatory-pass-icon-color: light-dark(\n var(--color-green-50),\n var(--color-green-80)\n );\n --observatory-fail-icon-bg: light-dark(\n var(--color-red-90),\n var(--color-red-10)\n );\n --observatory-fail-icon-color: light-dark(\n var(--color-red-50),\n var(--color-red-80)\n );\n\n --observatory-table-bg: light-dark(var(--color-white), var(--color-gray-10));\n --observatory-table-bg-alternate: light-dark(\n var(--color-gray-90),\n var(--color-gray-10)\n );\n --observatory-table-header-bg: light-dark(\n var(--color-gray-90),\n var(--color-gray-10)\n );\n\n --observatory-grade-a-bg: light-dark(#d2fadd, #265c3d);\n --observatory-grade-a-border: light-dark(#017a37, #89fca1);\n --observatory-grade-b-bg: light-dark(#e8fad2, #52662a);\n --observatory-grade-b-border: light-dark(#547a01, #d5fc88);\n --observatory-grade-c-bg: light-dark(#faf8d2, #66602a);\n --observatory-grade-c-border: light-dark(#7a7001, #fcf988);\n --observatory-grade-d-bg: light-dark(#fae8d2, #5c3d26);\n --observatory-grade-d-border: light-dark(#a65001, #ff6a00);\n --observatory-grade-f-bg: light-dark(#fad2d2, #5c2626);\n --observatory-grade-f-border: light-dark(#aa0000, #fc8888);\n --observatory-arrow-down-color: light-dark(\n var(--color-red-20),\n var(--color-red-80)\n );\n --observatory-arrow-up-color: light-dark(\n var(--color-green-50),\n var(--color-green-80)\n );\n\n --form-invalid-color: light-dark(var(--color-red-50), var(--color-red-80));\n\n --font-body: inter, var(--font-fallback);\n\n /* icons */\n --alert-circle-img: url(\"./assets/alert-circle.svg\");\n\n /* Draw a top border in our color */\n}\n\n/* landing */\n.obs-landing-top {\n display: grid;\n\n grid-template-areas: \"form svg auto\";\n grid-template-columns: 2fr 1fr minmax(0, 200px);\n\n gap: 0 6.25rem;\n\n max-width: var(--max-width);\n\n padding-block: 0.75rem;\n padding-inline: 1rem;\n\n @media (--screen-xxlarge) {\n padding-inline: calc((100% - 1440px + (1rem * 2)) / 2);\n }\n --border-radius: 0.3rem;\n\n @media (--screen-large-and-narrower) {\n grid-template-areas: \"form svg\";\n grid-template-columns: auto;\n }\n\n @media (--screen-small-and-narrower) {\n grid-template-areas: \"form\" \"svg\";\n\n .landing-illustration {\n text-align: center;\n }\n }\n\n .accent {\n color: var(--observatory-accent);\n }\n}\n\n.obs-landing-top__form {\n grid-area: form;\n\n p {\n margin: 1rem 0 2rem;\n }\n}\n\n.obs-landing-top__illustration {\n grid-area: svg;\n\n svg {\n width: auto;\n max-width: 50vw;\n height: 100%;\n }\n\n @media (--screen-small-and-narrower) {\n text-align: center;\n }\n}\n\n.obs-landing-about {\n padding-block: 0.75rem;\n padding-inline: 1rem;\n\n @media (--screen-xxlarge) {\n padding-inline: calc((100% - 1440px + (1rem * 2)) / 2);\n }\n\n color: var(--color-text-secondary);\n\n background-color: light-dark(var(--color-gray-90), var(--color-gray-05));\n\n p {\n color: var(--color-text-secondary);\n }\n\n h1,\n h2 {\n font-style: normal;\n font-weight: 600;\n letter-spacing: var(--heading-letter-spacing);\n }\n\n h2 {\n margin-bottom: 2rem;\n }\n\n @media (--screen-medium-and-wider) {\n .assessment {\n margin-left: 0;\n }\n\n .scanning {\n margin-left: 3.125rem;\n }\n\n .security {\n margin-left: 6.25rem;\n }\n\n .mdn {\n margin-left: 9.75rem;\n }\n }\n\n @media (--screen-small-and-narrower) {\n figure ~ figure {\n margin-top: 1.75rem;\n }\n\n .lines {\n display: none;\n }\n }\n\n @media (--screen-medium-only) {\n .about-copy {\n width: 80%;\n }\n }\n\n svg defs#defs3 #gradient {\n stop#stop1 {\n stop-color: var(--observatory-accent);\n }\n\n stop#stop2 {\n stop-color: color-mix(\n in srgb,\n var(--observatory-accent),\n var(--color-background-secondary)\n );\n }\n\n stop#stop3 {\n stop-color: var(--color-background-secondary);\n }\n }\n\n figure {\n display: grid;\n\n grid-template-columns: 2rem 1fr;\n\n gap: 1.5rem;\n align-items: start;\n\n figcaption {\n p {\n margin: 0;\n color: var(--color-text-primary);\n }\n }\n\n &.assessment {\n margin-left: 0;\n }\n\n &.assessment,\n &.scanning,\n &.security,\n &.mdn {\n svg path {\n fill: var(--observatory-accent);\n }\n }\n }\n}\n\n.obs-links__link {\n display: inline-block;\n\n margin-top: 2rem;\n margin-right: 1rem;\n\n font-size: var(--type-tiny-font-size);\n\n color: var(--color-text-secondary);\n\n text-decoration: underline;\n\n &:hover {\n text-decoration: none;\n }\n\n &::before {\n display: inline-block;\n\n width: 1.5em;\n height: 1.5em;\n\n margin-right: 0.2em;\n\n vertical-align: middle;\n\n content: \"\";\n\n background-color: var(--color-text-secondary);\n\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: cover;\n }\n}\n\n.obs-links__link--faq {\n &::before {\n mask-image: url(\"../icon/circle-help.svg\");\n }\n}\n\n.obs-links__link--feedback {\n &::before {\n mask-image: url(\"../icon/circle-alert.svg\");\n }\n}\n\n/* results */\n.obs-results {\n display: grid;\n\n grid-template-areas:\n \"header\"\n \"main\"\n \"sidebar\";\n grid-template-columns: 1fr minmax(0, 200px);\n\n row-gap: 0;\n column-gap: 3rem;\n\n max-width: var(--max-width);\n\n padding-block: 0.75rem;\n padding-inline: 1rem;\n\n color: var(--color-text-primary);\n\n background-color: light-dark(var(--color-gray-90), var(--color-gray-05));\n\n @media (--screen-xxlarge) {\n padding-inline: calc((100% - 1440px + (1rem * 2)) / 2);\n }\n\n --summary-icon: url(\"assets/summary-icon.svg\");\n --results-icon: url(\"assets/results-icon.svg\");\n --border-radius: 0.3rem;\n\n @media (--screen-medium-and-wider) {\n grid-template-areas: \"header sidebar\" \"main sidebar\";\n grid-template-columns: minmax(0, 1fr) 12rem;\n column-gap: 1rem;\n\n section.header,\n section.main {\n padding: 0;\n }\n }\n\n @media (--screen-xlarge-and-wider) {\n grid-template-areas: \"header sidebar\" \"main sidebar\";\n grid-template-columns: 2fr minmax(0, 200px);\n column-gap: 3rem;\n }\n}\n\n.obs-results__header {\n display: flex;\n\n flex-wrap: wrap;\n\n grid-area: header;\n\n gap: 1.5rem;\n align-items: start;\n justify-content: space-between;\n}\n\n.obs-results__feedback {\n .obs-links__link {\n margin-top: 1.5rem;\n font-size: var(--font-size-small);\n }\n}\n\n.obs-results__mdn-results {\n grid-area: main;\n}\n\n.obs-toc {\n grid-area: sidebar;\n padding: 0;\n margin-bottom: 2rem;\n}\n\nh2.obs-toc__heading {\n margin: 0 0 1rem;\n margin-top: 1.5rem;\n\n font: var(--type-heading-h5);\n font-size: var(--type-base-font-size-rem);\n\n color: var(--color-text-secondary);\n\n letter-spacing: 1.5px;\n}\n\n.obs-toc__list {\n display: inline-block;\n\n padding: 0.5rem 1rem;\n\n font-size: var(--type-smaller-font-size);\n\n color: var(--color-text-secondary);\n\n text-decoration: none;\n\n list-style: none;\n\n border-left: 2px solid var(--color-border-primary);\n}\n\n.obs-toc__item {\n padding: 0.5rem 0;\n color: var(--color-text-secondary);\n\n a {\n color: var(--color-text-secondary);\n text-decoration: none;\n }\n}\n\n.obs-results__title-accent {\n color: var(--observatory-accent);\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
export const __webpack_ids__=["7898"];export const __webpack_modules__={54681:function(r,e,o){o.d(e,{Z:()=>l});var n=o(8081),t=o.n(n),i=o(23645),a=o.n(i)()(t());a.push([r.id,"*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}img{height:auto;max-width:100%}a{color:var(--color-link-normal)}[hidden]{display:none!important}",""]);let l=a.toString()},72290:function(r,e,o){o.d(e,{Z:()=>l});var n=o(8081),t=o.n(n),i=o(23645),a=o.n(i)()(t());a.push([r.id,".user-menu__login{color:inherit;white-space:nowrap}.user-menu__button{background-color:var(--color-background-primary);cursor:pointer;margin:0;padding:0}.user-menu__button img{border-radius:50%;display:block;height:2rem;width:2rem}.user-menu__dropdown{display:grid;row-gap:1rem}.user-menu__dropdown p{margin:0}.user-menu__dropdown ul{display:grid;list-style:none;margin:0;padding:0;row-gap:.25rem}.user-menu__dropdown a{color:var(--color-text-primary)}:is(.user-menu__dropdown a):hover{color:var(--color-text-secondary)}.user-menu__dropdown form{display:contents}",""]);let l=a.toString()},22446:function(r,e,o){o.d(e,{Z:()=>l});var n=o(8081),t=o.n(n),i=o(23645),a=o.n(i)()(t());a.push([r.id,"@media (min-width:1006.02px){.user-menu{height:34px;position:relative;width:34px}.user-menu__button{border:1px solid var(--color-border-primary);border-radius:50%}.user-menu__dropdown{background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);margin:0;padding:.75rem;position:absolute;right:0;z-index:1}}",""]);let l=a.toString()},78918:function(r,e,o){o.d(e,{Z:()=>p});var n=o(8081),t=o.n(n),i=o(23645),a=o.n(i),l=o(61667),s=o.n(l),u=new o.U(o(15242)),d=a()(t()),c=s()(u);d.push([r.id,`@media (max-width:1006px){.user-menu__login{border-top:1px solid var(--color-border-primary);display:block;line-height:1.25rem;padding:.9rem .7rem}.user-menu__login:hover{background-color:var(--color-background-blue);color:var(--color-text-blue)}.user-menu__button{align-items:center;background-color:initial;border:none;border-top:1px solid var(--color-border-primary);display:flex;padding:.5rem .7rem;width:100%}.user-menu__button:after,.user-menu__button:before{background-color:currentcolor;height:1.25rem;margin-left:auto;-webkit-mask-size:cover;mask-size:cover;width:1.25rem}.user-menu__button:after{content:"";-webkit-mask-image:url(${c});mask-image:url(${c})}.user-menu__button[aria-expanded=true]{background-color:var(--color-background-blue)}.user-menu__button[aria-expanded=true]:after{scale:-1}.user-menu__dropdown{padding:.5rem .7rem}}`,""]);let p=d.toString()},15242:function(r,e,o){r.exports=o.p+"chevron-down.7c923b7054da305b.svg"},64504:function(r,e,o){o.r(e),o.d(e,{MDNUserMenu:()=>MDNUserMenu});var n=o(35470),t=o(14703),i=o(13566),a=o(69535),l=o(8900),s=o(13117),u=o(54487);let MDNUserMenu=class MDNUserMenu extends(0,a.q)(t.oi){static styles=u.Z;static properties={locale:{type:String}};constructor(){super(),this.locale="en-US"}#r(){let r=globalThis.location.origin,e=new URL(l.sA,r);return e.searchParams.append("next",this.#e()),e.toString()}#e(){return globalThis.location.href.replace(globalThis.location.origin,"")}#o(){let r=globalThis.location.origin;return new URL(l.vd,r).toString()}_user=new n.iQ(this,{task:async()=>await (0,s.s)()});connectedCallback(){super.connectedCallback(),this._user.run()}render(){return this._user.render({initial:()=>t.Ld,pending:()=>t.Ld,complete:r=>{var e,o;let n=(e=this.locale,o=this.l10n,[{href:`/${e}/plus/ai-help`,label:o`AI Help`},{href:`/${e}/plus/collections`,label:o`Collections`},{href:`/${e}/plus/updates`,label:o`Updates`},{href:`/${e}/plus/settings`,label:o("settings")},{href:"https://support.mozilla.org/products/mdn-plus",label:o`Help`,external:!0},{href:"https://github.com/mdn/MDN-feedback",label:o`Feedback`,external:!0}]);return r.isAuthenticated?(0,t.dy)`
|
|
2
|
-
<div class="user-menu">
|
|
3
|
-
<mdn-dropdown>
|
|
4
|
-
<button slot="button" class="user-menu__button">
|
|
5
|
-
${r.avatarUrl?(0,t.dy)`<img
|
|
6
|
-
src=${(0,i.o)(r.avatarUrl??void 0)}
|
|
7
|
-
width="32"
|
|
8
|
-
height="32"
|
|
9
|
-
alt=""
|
|
10
|
-
/>`:this.l10n`User`}
|
|
11
|
-
</button>
|
|
12
|
-
<div slot="dropdown" class="user-menu__dropdown">
|
|
13
|
-
<p>${r.email}</p>
|
|
14
|
-
<ul>
|
|
15
|
-
${n.map(r=>(0,t.dy)`<li>
|
|
16
|
-
<a
|
|
17
|
-
class=${(0,i.o)(r.external?"external":void 0)}
|
|
18
|
-
href=${r.href}
|
|
19
|
-
>${r.label}</a
|
|
20
|
-
>
|
|
21
|
-
</li>`)}
|
|
22
|
-
</ul>
|
|
23
|
-
<form method="post" action=${this.#o()}>
|
|
24
|
-
<input
|
|
25
|
-
type="hidden"
|
|
26
|
-
name="next"
|
|
27
|
-
.value=${this.#e()}
|
|
28
|
-
/>
|
|
29
|
-
<button
|
|
30
|
-
class="button"
|
|
31
|
-
data-variant="secondary"
|
|
32
|
-
type="submit"
|
|
33
|
-
>
|
|
34
|
-
${this.l10n("logout")}
|
|
35
|
-
</button>
|
|
36
|
-
</form>
|
|
37
|
-
</div>
|
|
38
|
-
</mdn-dropdown>
|
|
39
|
-
</div>
|
|
40
|
-
`:(0,t.dy)`
|
|
41
|
-
<a class="user-menu__login" href=${this.#r()}>
|
|
42
|
-
${this.l10n("login")}
|
|
43
|
-
</a>
|
|
44
|
-
`}})}};customElements.define("mdn-user-menu",MDNUserMenu)},54487:function(r,e,o){o.d(e,{Z:()=>g});var n=o(14703),t=o(8081),i=o.n(t),a=o(23645),l=o.n(a),s=o(54681),u=o(56718),d=o(96818),c=o(72290),p=o(78918),m=o(22446),b=l()(i());b.i(s.Z),b.i(u.Z),b.i(d.Z),b.i(c.Z),b.i(p.Z),b.i(m.Z),b.push([r.id,"",""]);let g=(0,n.iv)([b.toString()])}};
|
|
45
|
-
//# sourceMappingURL=7898.7fd3ac2396a8dd7b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"7898.7fd3ac2396a8dd7b.js","sources":["webpack://@mdn/fred/./components/global/global.css?272a","webpack://@mdn/fred/./components/user-menu/base.css","webpack://@mdn/fred/./components/user-menu/desktop.css","webpack://@mdn/fred/./components/user-menu/mobile.css","webpack://@mdn/fred/./components/user-menu/element.js","webpack://@mdn/fred/./components/user-menu/links.js","webpack://@mdn/fred/./components/user-menu/element.css"],"sourcesContent":["// 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, `*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}img{height:auto;max-width:100%}a{color:var(--color-link-normal)}[hidden]{display:none!important}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `.user-menu__login{color:inherit;white-space:nowrap}.user-menu__button{background-color:var(--color-background-primary);cursor:pointer;margin:0;padding:0}.user-menu__button img{border-radius:50%;display:block;height:2rem;width:2rem}.user-menu__dropdown{display:grid;row-gap:1rem}.user-menu__dropdown p{margin:0}.user-menu__dropdown ul{display:grid;list-style:none;margin:0;padding:0;row-gap:.25rem}.user-menu__dropdown a{color:var(--color-text-primary)}:is(.user-menu__dropdown a):hover{color:var(--color-text-secondary)}.user-menu__dropdown form{display:contents}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `@media (min-width:1006.02px){.user-menu{height:34px;position:relative;width:34px}.user-menu__button{border:1px solid var(--color-border-primary);border-radius:50%}.user-menu__dropdown{background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);margin:0;padding:.75rem;position:absolute;right:0;z-index:1}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../icon/chevron-down.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@media (max-width:1006px){.user-menu__login{border-top:1px solid var(--color-border-primary);display:block;line-height:1.25rem;padding:.9rem .7rem}.user-menu__login:hover{background-color:var(--color-background-blue);color:var(--color-text-blue)}.user-menu__button{align-items:center;background-color:initial;border:none;border-top:1px solid var(--color-border-primary);display:flex;padding:.5rem .7rem;width:100%}.user-menu__button:after,.user-menu__button:before{background-color:currentcolor;height:1.25rem;margin-left:auto;-webkit-mask-size:cover;mask-size:cover;width:1.25rem}.user-menu__button:after{content:\"\";-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.user-menu__button[aria-expanded=true]{background-color:var(--color-background-blue)}.user-menu__button[aria-expanded=true]:after{scale:-1}.user-menu__dropdown{padding:.5rem .7rem}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import { Task } from \"@lit/task\";\nimport { LitElement, html, nothing } from \"lit\";\n\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nimport { L10nMixin } from \"../../l10n/mixin.js\";\n\nimport { FXA_SIGNIN_URL, FXA_SIGNOUT_URL } from \"../env/index.js\";\nimport { globalUser } from \"../user/context.js\";\n\nimport styles from \"./element.css?lit\";\nimport { getLinks } from \"./links.js\";\n\nexport class MDNUserMenu extends L10nMixin(LitElement) {\n static styles = styles;\n\n static properties = {\n locale: { type: String },\n };\n\n constructor() {\n super();\n this.locale = \"en-US\";\n }\n\n #loginUrl() {\n const base = globalThis.location.origin;\n const url = new URL(FXA_SIGNIN_URL, base);\n url.searchParams.append(\"next\", this.#next());\n return url.toString();\n }\n\n #next() {\n const next = globalThis.location.href.replace(\n globalThis.location.origin,\n \"\",\n );\n return next;\n }\n\n #logoutUrl() {\n const base = globalThis.location.origin;\n const url = new URL(FXA_SIGNOUT_URL, base);\n return url.toString();\n }\n\n _user = new Task(this, {\n task: async () => {\n return await globalUser();\n },\n });\n\n connectedCallback() {\n super.connectedCallback();\n this._user.run();\n }\n\n render() {\n return this._user.render({\n initial: () => nothing,\n pending: () => nothing,\n\n complete:\n /**\n * @param {import(\"../user/types.js\").User} user\n */\n (user) => {\n const links = getLinks(this.locale, this.l10n);\n\n return user.isAuthenticated\n ? html`\n <div class=\"user-menu\">\n <mdn-dropdown>\n <button slot=\"button\" class=\"user-menu__button\">\n ${user.avatarUrl\n ? html`<img\n src=${ifDefined(user.avatarUrl ?? undefined)}\n width=\"32\"\n height=\"32\"\n alt=\"\"\n />`\n : this.l10n`User`}\n </button>\n <div slot=\"dropdown\" class=\"user-menu__dropdown\">\n <p>${user.email}</p>\n <ul>\n ${links.map(\n (link) =>\n html`<li>\n <a\n class=${ifDefined(\n link.external ? \"external\" : undefined,\n )}\n href=${link.href}\n >${link.label}</a\n >\n </li>`,\n )}\n </ul>\n <form method=\"post\" action=${this.#logoutUrl()}>\n <input\n type=\"hidden\"\n name=\"next\"\n .value=${this.#next()}\n />\n <button\n class=\"button\"\n data-variant=\"secondary\"\n type=\"submit\"\n >\n ${this.l10n(\"logout\")}\n </button>\n </form>\n </div>\n </mdn-dropdown>\n </div>\n `\n : html`\n <a class=\"user-menu__login\" href=${this.#loginUrl()}>\n ${this.l10n(\"login\")}\n </a>\n `;\n },\n });\n }\n}\n\ncustomElements.define(\"mdn-user-menu\", MDNUserMenu);\n","/**\n * @param {string} locale - The current locale\n * @param {Function} l10n - The localization function\n * @returns {Array<{href: string, label: string, external?: boolean}>} Array of navigation links for the user menu\n */\nexport function getLinks(locale, l10n) {\n return [\n {\n href: `/${locale}/plus/ai-help`,\n label: l10n`AI Help`,\n },\n {\n href: `/${locale}/plus/collections`,\n label: l10n`Collections`,\n },\n {\n href: `/${locale}/plus/updates`,\n label: l10n`Updates`,\n },\n {\n href: `/${locale}/plus/settings`,\n label: l10n(\"settings\"),\n },\n {\n href: \"https://support.mozilla.org/products/mdn-plus\",\n label: l10n`Help`,\n external: true,\n },\n {\n href: \"https://github.com/mdn/MDN-feedback\",\n label: l10n`Feedback`,\n external: true,\n },\n ];\n}\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../global/global.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../button/server.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_2___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../external-link/global.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_3___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./base.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_4___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./mobile.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_5___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./desktop.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n"],"names":["MDNUserMenu","String","globalThis","URL","i","customElements"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_ids__=["8877"];export const __webpack_modules__={56523:function(e,r,a){a.d(r,{Z:()=>l});var o=a(8081),d=a.n(o),i=a(23645),n=a.n(i)()(d());n.push([e.id,".code-example{--border:1px solid var(--color-border-primary);border:var(--border);border-radius:.25rem;overflow:hidden}.code-example .example-header{align-items:center;border-bottom:var(--border);display:flex;line-height:var(--font-line-ui);min-height:3.1rem;padding:.5rem 1rem}:is(.code-example .example-header) .language-name{text-transform:uppercase}.code-example pre{background-color:var(--color-background-secondary);margin:0;overflow:auto;padding:1rem}:is(.code-example pre) code{background-color:initial;font-family:var(--font-family-code);padding:0}.hidden:is(.code-example pre),[class*=interactive-example]:is(.code-example pre){display:none}.code-example:has(.hidden,[class*=interactive-example]){display:none}.code-example iframe,.code-example mdn-play-runner{border:none;box-sizing:initial;display:block;padding:1rem}",""]);let l=n.toString()}};
|
|
2
|
-
//# sourceMappingURL=8877.6b7cc9370ff77f02.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"8877.6b7cc9370ff77f02.js","sources":["webpack://@mdn/fred/./components/code-example/common.css?834f"],"sourcesContent":["// 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, `.code-example{--border:1px solid var(--color-border-primary);border:var(--border);border-radius:.25rem;overflow:hidden}.code-example .example-header{align-items:center;border-bottom:var(--border);display:flex;line-height:var(--font-line-ui);min-height:3.1rem;padding:.5rem 1rem}:is(.code-example .example-header) .language-name{text-transform:uppercase}.code-example pre{background-color:var(--color-background-secondary);margin:0;overflow:auto;padding:1rem}:is(.code-example pre) code{background-color:initial;font-family:var(--font-family-code);padding:0}.hidden:is(.code-example pre),[class*=interactive-example]:is(.code-example pre){display:none}.code-example:has(.hidden,[class*=interactive-example]){display:none}.code-example iframe,.code-example mdn-play-runner{border:none;box-sizing:initial;display:block;padding:1rem}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":[],"mappings":"iJAGI,EAA0B,A,SAA4B,KAE1D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,g0BAAi0B,GAAG,EAE72B,MAAe,EAAwB,QAAQ,E"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export const __webpack_ids__=["8896"];export const __webpack_modules__={32570:function(t,e,a){a.r(e),a.d(e,{MDNObservatoryHumanDuration:()=>MDNObservatoryHumanDuration});var r=a(14703),s=a(28110);let MDNObservatoryHumanDuration=class MDNObservatoryHumanDuration extends r.oi{static properties={date:{type:Date},_text:{state:!0}};static styles=(0,r.iv)``;constructor(){super(),this.date=new Date,this._text="",this._interval=null}connectedCallback(){super.connectedCallback(),this._text=(0,s.hr)(this.date),this._interval=setInterval(()=>{this._text=(0,s.hr)(this.date)},1e4)}disconnectedCallback(){super.disconnectedCallback(),this._interval&&(clearInterval(this._interval),this._interval=null)}_displayString(){return(0,s.hr)(this.date)}render(){return(0,r.dy)`
|
|
2
|
-
<time
|
|
3
|
-
datetime=${this.date.toDateString()}
|
|
4
|
-
title=${(0,s.o0)(this.date)}
|
|
5
|
-
>
|
|
6
|
-
${this._text}
|
|
7
|
-
</time>
|
|
8
|
-
`}};customElements.define("mdn-observatory-human-duration",MDNObservatoryHumanDuration)}};
|
|
9
|
-
//# sourceMappingURL=8896.85df788778cc02ca.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"8896.85df788778cc02ca.js","sources":["webpack://@mdn/fred/./components/observatory-human-duration/element.js"],"sourcesContent":["import { LitElement, css, html } from \"lit\";\n\nimport {\n formatDateTime,\n humanizedDurationFromNow,\n} from \"../observatory/utils.js\";\n\nexport class MDNObservatoryHumanDuration extends LitElement {\n static properties = {\n date: { type: Date },\n _text: { state: true },\n };\n\n static styles = css``;\n\n constructor() {\n super();\n this.date = new Date();\n this._text = \"\";\n this._interval = null;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._text = humanizedDurationFromNow(this.date);\n this._interval = setInterval(() => {\n this._text = humanizedDurationFromNow(this.date);\n }, 10_000);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n\n _displayString() {\n return humanizedDurationFromNow(this.date);\n }\n\n render() {\n return html`\n <time\n datetime=${this.date.toDateString()}\n title=${formatDateTime(this.date)}\n >\n ${this._text}\n </time>\n `;\n }\n}\n\ncustomElements.define(\n \"mdn-observatory-human-duration\",\n MDNObservatoryHumanDuration,\n);\n"],"names":["MDNObservatoryHumanDuration","Date","setInterval","clearInterval","customElements"],"mappings":"oMAOO,IAAMA,4BAAN,MAAMA,oCAAoC,IAAU,CACzD,OAAO,WAAa,CAClB,KAAM,CAAE,KAAMC,IAAK,EACnB,MAAO,CAAE,MAAO,EAAK,CACvB,CAAE,AAEF,QAAO,OAAS,QAAG,CAAC,CAAC,AAAC,AAEtB,cAAc,CACZ,KAAK,GACL,IAAI,CAAC,IAAI,CAAG,IAAIA,KAChB,IAAI,CAAC,KAAK,CAAG,GACb,IAAI,CAAC,SAAS,CAAG,IACnB,CAEA,mBAAoB,CAClB,KAAK,CAAC,oBACN,IAAI,CAAC,KAAK,CAAG,SAAyB,IAAI,CAAC,IAAI,EAC/C,IAAI,CAAC,SAAS,CAAGC,YAAY,KAC3B,IAAI,CAAC,KAAK,CAAG,SAAyB,IAAI,CAAC,IAAI,CACjD,EAAG,IACL,CAEA,sBAAuB,CACrB,KAAK,CAAC,uBACF,IAAI,CAAC,SAAS,GAChBC,cAAc,IAAI,CAAC,SAAS,EAC5B,IAAI,CAAC,SAAS,CAAG,KAErB,CAEA,gBAAiB,CACf,MAAO,SAAyB,IAAI,CAAC,IAAI,CAC3C,CAEA,QAAS,CACP,MAAO,QAAI,CAAC;;iBAEC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG;cAC9B,EAAE,SAAe,IAAI,CAAC,IAAI,EAAE;;QAElC,EAAE,IAAI,CAAC,KAAK,CAAC;;IAEjB,CAAC,AACH,CACF,EAEAC,eAAe,MAAM,CACnB,iCACAJ,4B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"8911.e1fd0ac2f979c2ea.js","sources":["webpack://@mdn/fred/./components/compat-table/icons.css","webpack://@mdn/fred/./components/compat-table/index-common.css","webpack://@mdn/fred/./components/compat-table/index-desktop-md.css","webpack://@mdn/fred/./components/compat-table/index-desktop-xl.css","webpack://@mdn/fred/./components/compat-table/index-desktop.css","webpack://@mdn/fred/./components/compat-table/index-global.css","webpack://@mdn/fred/./components/compat-table/index-mobile.css","webpack://@mdn/fred/./components/compat-table/index-trailer.css","webpack://@mdn/fred/./components/visually-hidden/global.css?9b14","webpack://@mdn/fred/./components/compat-table/constants.js","webpack://@mdn/fred/./components/compat-table/utils.js","webpack://@mdn/fred/./components/compat-table/feature-row.js","webpack://@mdn/fred/./components/compat-table/element.js","webpack://@mdn/fred/./components/compat-table/element.css"],"sourcesContent":["// 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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../icon/monitor.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../icon/smartphone.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"../icon/server.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"../icon/browser/chrome.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"../icon/browser/deno.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"../icon/browser/firefox.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"../icon/browser/edge.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"../icon/browser/nodejs.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"../icon/browser/opera.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"../icon/browser/safari.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"../icon/browser/samsung-internet.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"../icon/browser/webview.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"../icon/circle-x.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"../icon/circle-slash.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"../icon/check.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"../icon/circle-check.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"../icon/flask-conical.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"../icon/trash-2.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"../icon/triangle-alert.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_19___ = new URL(\"../icon/asterisk.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_20___ = new URL(\"../icon/circle-help.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_21___ = new URL(\"../icon/mdn-prefix.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_22___ = new URL(\"../icon/git-fork.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_23___ = new URL(\"../icon/flag.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_24___ = new URL(\"../icon/ellipsis.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___);\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);\nvar ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.icon{--size:var(--icon-size,1rem);background-color:var(--color-border-secondary);display:inline-block;flex-shrink:0;height:var(--size);-webkit-mask-size:cover;mask-size:cover;vertical-align:middle;width:var(--size)}.icon.icon-desktop{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.icon.icon-mobile{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.icon.icon-server{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}.icon.icon-chrome{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___})}.icon.icon-deno{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___})}.icon.icon-firefox{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___})}.icon.icon-edge{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___})}.icon.icon-nodejs{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___})}.icon.icon-opera{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___})}.icon.icon-safari{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___})}.icon.icon-samsunginternet{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___})}.icon.icon-webview{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___})}.icon.icon-no{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___})}.icon.icon-partial{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___})}.icon.icon-yes{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___})}.icon.icon-yes-circle{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___})}.icon.icon-experimental{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___})}.icon.icon-deprecated{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___})}.icon.icon-nonstandard{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_18___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_18___})}.icon.icon-footnote{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_19___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_19___})}.icon.icon-unknown{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_20___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_20___})}.icon.icon-prefix{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_21___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_21___})}.icon.icon-altname{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_22___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_22___})}.icon.icon-disabled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_23___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_23___})}.icon.icon-more{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_24___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_24___})}.icon.icon-preview{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___})}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../icon/circle-x.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../icon/circle-slash.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"../icon/circle-check.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"../icon/circle.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `table{display:grid;grid-auto-flow:row dense}:is(table thead) tr{display:contents}:is(:is(table thead) tr) td,:is(:is(table thead) tr) th{display:grid;grid-template-columns:subgrid}:is(:is(table tbody) tr) td,:is(:is(table tbody) tr) th,:is(table tbody) tr,table tbody{display:contents}:is(:is(:is(table tbody) tr) th,:is(:is(table tbody) tr) td) button{display:grid;grid-template-columns:subgrid}:is(:is(:is(table tbody) tr) th,:is(:is(table tbody) tr) td) .timeline{grid-column:1/-1}.bc-on-github{font-size:var(--font-size-small)}.bc-table{border:1px solid var(--color-border-primary);border-collapse:initial;border-radius:.25rem;border-spacing:0;margin:0;width:100%}.bc-table td,.bc-table th{border-width:1px;border-bottom:1px solid var(--color-border-primary);border-left:1px solid var(--color-border-primary);border-right:0 solid var(--color-border-primary);border-top:0 solid var(--color-border-primary);font-weight:500;padding:.4rem}.bc-table td,.bc-table th,:is(.bc-table td,.bc-table th) code{font-size:var(--font-size-small)}.bc-table th{background:var(--color-background-primary);padding:.4rem;vertical-align:bottom}.bc-table thead{line-height:1;white-space:nowrap}:is(.bc-table tbody) tr{height:3rem}@media (min-width:426.02px){:is(:is(.bc-table tbody) tr):last-child td,:is(:is(.bc-table tbody) tr):last-child th{border-bottom-width:0}}:is(:is(.bc-table tbody) tr) th{border-left-width:0;vertical-align:middle}:is(.bc-table tbody) .bc-support{vertical-align:top}:is(:is(.bc-table tbody) .bc-support) button{cursor:pointer;width:100%}.bc-supports-no:is(:is(.bc-table tbody) .bc-support)>button>span{color:var(--color-text-red)}.bc-supports-partial:is(:is(.bc-table tbody) .bc-support)>button>span{color:var(--color-text-yellow)}.bc-supports-preview:is(:is(.bc-table tbody) .bc-support)>button>span{color:var(--color-text-blue)}.bc-supports-yes:is(:is(.bc-table tbody) .bc-support)>button>span{color:var(--color-text-green)}.bc-table .bc-supports{margin-bottom:1rem}:is(.bc-table .bc-supports) .icon-wrap{background:var(--color-background-page);padding-bottom:2px}:is(.bc-table .bc-supports.bc-supports-removed-partial) .bcd-cell-text-copy{color:var(--color-text-yellow)}:is(.bc-table .icon-wrap) .bc-support-level{border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important}:is(.bc-table .bc-support)>button>.icon-wrap{display:block}:is(.bc-table .bc-support) .icon.icon-removed-partial{background-color:var(--color-text-red);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}:is(.bc-table .bc-support) .timeline .icon.icon-removed-partial{background-color:var(--color-text-yellow);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}:is(.bc-table .bc-support.bc-supports-removed-partial) .bcd-cell-text-copy{color:var(--color-text-red)}.bc-table .bc-feature{align-items:center;border:none;display:flex;text-align:left;width:100%}:is(.bc-table .bc-feature)>*{border:none!important;flex-basis:max-content}.bc-table .bc-feature-depth-2{border-left:7px solid var(--color-border-primary)}.bc-table .bc-feature-depth-3{border-left:15px solid var(--color-border-primary)}.bc-table .timeline{display:none}.bc-table .bc-has-history:focus-within .timeline{display:initial}.bc-head-txt-label{line-height:1;text-orientation:sideways;transform:rotate(180deg);white-space:nowrap;writing-mode:vertical-rl}.bc-support{text-align:center;vertical-align:middle}.bc-level-no{background-color:var(--color-text-red)}.bc-level-partial{background-color:var(--color-text-yellow)}.bc-level-preview{background-color:var(--color-text-blue)}.bc-legend-items-container{display:flex;flex-wrap:wrap;font-size:var(--font-size-small);gap:1.5rem;margin-bottom:2rem}.bc-legend-tip{font-size:var(--font-size-small);font-style:italic;font-variation-settings:\"slnt\" -10;margin-bottom:1rem;margin-top:0}.bc-legend-item{align-items:center;display:flex;gap:.5rem}.bc-legend-item-dt{display:flex}.bc-legend-item-dt .icon{background-color:var(--color-border-secondary)}.bc-platforms th{align-items:center;display:flex;justify-content:center}.bc-platforms td{border:none}.bc-browsers th{align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:end;vertical-align:bottom}.bc-browsers td{border-width:0 0 1px}.bc-notes-list{margin:.5rem 0;position:relative;text-align:left;width:100%}.bc-notes-list:before{background:var(--color-border-primary);bottom:4px;content:\"\";left:7px;margin-top:.25rem;position:absolute;top:0;width:3px;z-index:-1}.bc-notes-list .bc-notes-wrapper:last-child dd:last-child{position:relative}:is(.bc-notes-list .bc-notes-wrapper:last-child dd:last-child):before{background:var(--color-background-page);bottom:0;content:\"\";left:7px;position:absolute;top:3px;width:3px;z-index:-1}.bc-notes-list .bc-level-yes.icon.icon-yes{background-color:var(--color-text-green);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}:is(.bc-notes-list .bc-supports-dd) .icon{background-color:var(--color-text-secondary);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___})}:is(.bc-notes-list .bc-supports-dd) .icon-wrap{background-color:var(--color-background-page);padding-bottom:2px}.bc-notes-list .bc-version-label{display:inline}.bc-notes-list abbr{margin-right:4px;-webkit-text-decoration:none;text-decoration:none}.bc-notes-list dd{margin-bottom:1rem;padding-left:1.5rem;text-indent:-1.5rem}:is(.bc-notes-list dd):last-child{margin-bottom:2rem}.bc-notes-wrapper{color:var(--color-border-secondary);margin-bottom:1rem}.bc-notes-wrapper:last-child{margin-bottom:0}dl.bc-notes-list dt.bc-supports{margin-top:1rem}:is(dl.bc-notes-list dt.bc-supports):first-child{margin-top:0}dl.bc-notes-list dd.bc-supports-dd{margin-bottom:1rem}:is(dl.bc-notes-list dd.bc-supports-dd):last-child{margin-bottom:0}.only-icon span{border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important}.bc-table-row-header{padding:.25em;text-align:left;width:100%}.bc-table-row-header code{overflow:hidden}.bc-table-row-header .bc-icons{display:inline-flex;gap:.5ch;margin-left:.5ch;vertical-align:text-top}:is(.bc-table-row-header .bc-icons) .icon{background-color:var(--color-text-secondary)}.bc-github-link{font-size:var(--font-size-small)}:is(.main-page-content .bc-legend) dd,:is(.main-page-content .bc-legend) dt{margin-bottom:0;margin-left:0;margin-top:0}.main-page-content .bc-supports-dd{margin:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `@media (min-width:769.02px){.bc-on-github{text-align:right}.bc-table{grid-template-columns:minmax(25%,max-content) repeat(var(--compat-browser-count),calc(75%/var(--compat-browser-count)))}.icon{--size:calc(1rem + 1px)}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `@media (min-width:1200.02px){.bc-table{grid-template-columns:minmax(33%,max-content) repeat(var(--compat-browser-count),calc(67%/var(--compat-browser-count)))}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `@media (min-width:426.02px){.bc-table{grid-template-columns:minmax(20vw,min-content) repeat(var(--compat-browser-count),auto)}.bc-table thead{display:contents}:is(:is(.bc-table thead) .bc-platforms) th{vertical-align:revert}.bc-table tbody{--border:1px solid var(--color-border-primary)}:is(:is(.bc-table tbody) tr):not(:first-child) .bc-feature,:is(:is(:is(.bc-table tbody) tr):not(:first-child) th,:is(:is(.bc-table tbody) tr):not(:first-child) td)>*{border-top:var(--border)}:is(:is(:is(.bc-table tbody) tr) th:not(:first-child),:is(:is(.bc-table tbody) tr) td:not(:first-child))>*{border-left:var(--border)}.bc-table td,.bc-table th{background:inherit;padding:.25rem}.bc-table td.bc-support{padding:0}:is(.bc-table td.bc-support)>button{padding:.25rem}.bc-table .timeline{border-left:none!important;border-top:var(--border)}.bc-table .bc-has-history:focus-within>button{--padding-bottom-offset:-2px;border-bottom:2px solid var(--color-border-primary)}.table-container-inner{position:relative}.table-container-inner:after{bottom:0;content:\"\";height:10px;position:absolute;right:0;width:10px}.bcd-cell-text-wrapper .bc-browser-name,.bcd-cell-text-wrapper .bc-support-level{display:none}.bc-notes-list{margin-left:20%;max-width:80vw;width:auto}.bc-support .bc-support-level{display:none}.bc-has-history{cursor:pointer}.bc-has-history>button:hover{background:var(--color-background-secondary)}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../external-link/global.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../visually-hidden/global.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `*{box-sizing:border-box;overflow-wrap:break-word}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}a:link{color:var(--color-link-normal)}a:visited{color:var(--color-link-visited)}a:hover{-webkit-text-decoration:none;text-decoration:none}code{background-color:var(--color-background-secondary);padding:.125rem .25rem;width:fit-content}button{appearance:none;background:none;border:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `@media (max-width:426px){.bc-table{grid-template-columns:auto}.bc-table thead{display:none}:is(.bc-table tr) td.bc-support{border:none;border-top:1px solid var(--color-border-primary);display:block}:is(:is(.bc-table tr) td.bc-support):last-child{border-bottom:1px solid var(--color-border-primary)}.bc-table .timeline{margin-left:.25rem}.bc-table tr:not(:first-of-type) .bc-feature{border-top:2px solid var(--color-border-primary)}.bc-table .bc-feature,.bc-table .bc-support>button{align-content:center;display:flex;flex-wrap:wrap;gap:.5rem}.bc-on-github a{white-space:nowrap}.table-container{overflow-x:auto}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `.bcd-cell-text-wrapper{display:flex;flex-direction:row;gap:.5rem}@media (min-width:426.02px){.bcd-cell-text-wrapper{align-items:center;flex-direction:column}}.bcd-timeline-cell-text-wrapper{display:flex;flex-direction:row;gap:.25rem}.bcd-cell-text-copy{color:var(--color-text-primary)}.bc-supports-yes .bcd-cell-text-copy{color:var(--color-text-green)}.bc-supports-partial .bcd-cell-text-copy{color:var(--color-text-yellow)}.bc-supports-no .bcd-cell-text-copy{color:var(--color-text-red)}.bcd-cell-icons{display:flex;gap:.5rem}@media (min-width:426.02px){.bcd-cell-icons{display:block}.bc-table td.bc-support>button{padding-bottom:calc(.5rem + var(--padding-bottom-offset, 0px));padding-left:.25rem;padding-right:.25rem;padding-top:.5rem}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `.visually-hidden{border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// [libs/constants]\nexport const DEFAULT_LOCALE = \"en-US\";\n\n// [client/env]\nexport const BCD_BASE_URL = \"https://bcd.developer.mozilla.org\";\n\n// [client/telemetry]\nexport const BCD_TABLE = \"bcd\";\n\nexport const ISSUE_METADATA_TEMPLATE = `\n<!-- Do not make changes below this line -->\n<details>\n<summary>MDN page report details</summary>\n\n* Query: \\`$QUERY_ID\\`\n* Report started: $DATE\n\n</details>\n`;\n","/**\n * A list of browsers to be hidden.\n * @constant {string[]}\n */\nexport const HIDDEN_BROWSERS = [\"ie\"];\n\n/**\n * Gets the first element of an array or returns the value itself.\n * @template T\n * @param {T | [T?, ...any[]]} a\n * @returns {T | undefined}\n */\nexport function getFirst(a) {\n return Array.isArray(a) ? a[0] : a;\n}\n\n/**\n * Ensures the input is returned as an array.\n * @template T\n * @param {T | T[]} a\n * @returns {T[]}\n */\nexport function asList(a) {\n return Array.isArray(a) ? a : [a];\n}\n\n/**\n * Finds the first compatibility depth in a BCD Identifier.\n * @param {import(\"@bcd\").Identifier} identifier\n * @returns {number}\n */\nfunction findFirstCompatDepth(identifier) {\n /** @type {Array<[string, import(\"@bcd\").Identifier]>} */\n const entries = [[\"\", identifier]];\n\n do {\n const entry = entries.shift();\n if (!entry) {\n break;\n }\n const [path, value] = entry;\n if (value.__compat) {\n // The depth is the number of segments in the path.\n return path.split(\".\").length;\n }\n\n for (const [key, subvalue] of Object.entries(value)) {\n const subpath = path ? `${path}.${key}` : key;\n if (\"__compat\" in subvalue) {\n entries.push([subpath, subvalue]);\n }\n }\n } while (entries.length > 0);\n\n // Fallback.\n return 0;\n}\n\n/**\n * Recursively lists features from a BCD Identifier.\n * @param {import(\"@bcd\").Identifier} identifier\n * @param {string} [parentName]\n * @param {string} [rootName]\n * @param {number} [depth]\n * @param {number} [firstCompatDepth]\n * @returns {import(\"@compat\").Feature[]}\n */\nexport function listFeatures(\n identifier,\n parentName = \"\",\n rootName = \"\",\n depth = 0,\n firstCompatDepth = 0,\n) {\n /** @type {import(\"@compat\").Feature[]} */\n const features = [];\n\n if (rootName && identifier.__compat) {\n features.push({\n name: rootName,\n compat: identifier.__compat,\n depth,\n });\n }\n\n if (rootName) {\n firstCompatDepth = findFirstCompatDepth(identifier);\n }\n\n for (const [subName, subIdentifier] of Object.entries(identifier)) {\n if (subName === \"__compat\") {\n continue;\n }\n\n if (\"__compat\" in subIdentifier && subIdentifier.__compat) {\n features.push({\n name: parentName ? `${parentName}.${subName}` : subName,\n compat: subIdentifier.__compat,\n depth: depth + 1,\n });\n }\n\n if (\"__compat\" in subIdentifier /* || depth + 1 < firstCompatDepth*/) {\n features.push(\n ...listFeatures(\n subIdentifier,\n subName,\n \"\",\n depth + 1,\n firstCompatDepth,\n ),\n );\n }\n }\n return features;\n}\n\n/**\n * Checks if the support statement is an array with more than one item.\n * @param {import(\"@bcd\").SupportStatement | undefined} support\n * @returns {boolean}\n */\nexport function hasMore(support) {\n return Array.isArray(support) && support.length > 1;\n}\n\n/**\n * Determines if a version is a preview version.\n * @param {string | import(\"@bcd\").VersionValue | undefined} version\n * @param {import(\"@bcd\").BrowserStatement} browser\n * @returns {boolean}\n */\nexport function versionIsPreview(version, browser) {\n if (version === \"preview\") {\n return true;\n }\n\n if (browser && typeof version === \"string\" && browser.releases[version]) {\n return [\"beta\", \"nightly\", \"planned\"].includes(\n browser.releases[version].status,\n );\n }\n\n return false;\n}\n\n/**\n * Checks if the support statement has noteworthy notes.\n * @param {import(\"@bcd\").SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function hasNoteworthyNotes(support) {\n return (\n !!(\n (support.notes && support.notes.length > 0) ||\n (support.impl_url && support.impl_url.length > 0)\n ) &&\n !support.version_removed &&\n !support.partial_implementation\n );\n}\n\n/**\n * Converts a bug URL to a simplified string.\n * @param {string} url\n * @returns {string}\n */\nexport function bugURLToString(url) {\n const match = url.match(\n /^https:\\/\\/(?:crbug\\.com|webkit\\.org\\/b|bugzil\\.la)\\/([0-9]+)/i,\n );\n const bugNumber = match ? match[1] : undefined;\n return bugNumber ? `bug ${bugNumber}` : url;\n}\n\n/**\n * Checks if a support statement has any limitation.\n * @param {import(\"@bcd\").SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction hasLimitation(support) {\n return hasMajorLimitation(support) || !!support.notes || !!support.impl_url;\n}\n\n/**\n * Checks if a support statement has major limitations.\n * @param {import(\"@bcd\").SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction hasMajorLimitation(support) {\n return (\n support.partial_implementation ||\n !!support.alternative_name ||\n !!support.flags ||\n !!support.prefix ||\n !!support.version_removed\n );\n}\n\n/**\n * Checks if a support statement is fully supported without any limitation.\n * @param {import(\"@bcd\").SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function isFullySupportedWithoutLimitation(support) {\n return !!support.version_added && !hasLimitation(support);\n}\n\n/**\n * Checks if a support statement is not supported at all.\n * @param {import(\"@bcd\").SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function isNotSupportedAtAll(support) {\n return support.version_added === false && !hasLimitation(support);\n}\n\n/**\n * Checks if a support statement is fully supported without major limitations.\n * @param {import(\"@bcd\").SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction isFullySupportedWithoutMajorLimitation(support) {\n return !!support.version_added && !hasMajorLimitation(support);\n}\n\n/**\n * Gets the current support statement from a support statement extended.\n *\n * Prioritizes support items in the following order:\n * 1. Full support without limitation.\n * 2. Full support with only notes and version_added.\n * 3. Full support with alternative name or prefix.\n * 4. Partial support.\n * 5. Support with flags only.\n * 6. No/Inactive support.\n * @param {import(\"@compat\").SupportStatementExtended | undefined} support\n * @returns {import(\"@compat\").SimpleSupportStatementExtended | undefined}\n */\nexport function getCurrentSupport(support) {\n if (!support) return;\n\n // Full support without limitation.\n const noLimitationSupportItem = asList(support).find((item) =>\n isFullySupportedWithoutLimitation(item),\n );\n if (noLimitationSupportItem) return noLimitationSupportItem;\n\n // Full support with only notes and version_added.\n const minorLimitationSupportItem = asList(support).find((item) =>\n isFullySupportedWithoutMajorLimitation(item),\n );\n if (minorLimitationSupportItem) return minorLimitationSupportItem;\n\n // Full support with alternative name/prefix.\n const altnamePrefixSupportItem = asList(support).find(\n (item) => !item.version_removed && (item.prefix || item.alternative_name),\n );\n if (altnamePrefixSupportItem) return altnamePrefixSupportItem;\n\n // Partial support.\n const partialSupportItem = asList(support).find(\n (item) => !item.version_removed && item.partial_implementation,\n );\n if (partialSupportItem) return partialSupportItem;\n\n // Support with flags only.\n const flagSupportItem = asList(support).find(\n (item) => !item.version_removed && item.flags,\n );\n if (flagSupportItem) return flagSupportItem;\n\n // No/Inactive support.\n const noSupportItem = asList(support).find((item) => item.version_removed);\n if (noSupportItem) return noSupportItem;\n\n // Default (likely never reached).\n return getFirst(support);\n}\n","import { html } from \"lit\";\n\nimport { getCurrentSupport, versionIsPreview } from \"./utils.js\";\n\n/**\n * Returns a CSS class name based on support data and the browser.\n * @param {import(\"@compat\").SupportStatementExtended|undefined} support - The extended support statement.\n * @param {import(\"@bcd\").BrowserStatement} browser - The browser statement.\n * @returns {import(\"@compat\").SupportClassName}\n */\nexport function getSupportClassName(support, browser) {\n if (!support) {\n return \"unknown\";\n }\n\n const currentSupport = getCurrentSupport(support);\n if (!currentSupport) {\n return \"unknown\";\n }\n const { flags, version_added, version_removed, partial_implementation } =\n currentSupport;\n\n /** @type {import(\"@compat\").SupportClassName} */\n let className;\n if (version_added === null) {\n className = \"unknown\";\n } else if (versionIsPreview(version_added, browser)) {\n className = \"preview\";\n } else if (version_added) {\n className = \"yes\";\n if (version_removed || (flags && flags.length > 0)) {\n className = \"no\";\n }\n } else {\n className = \"no\";\n }\n if (partial_implementation) {\n className = version_removed ? \"removed-partial\" : \"partial\";\n }\n\n return className;\n}\n\n/**\n * Returns a label string derived from a version value.\n * @param {string|boolean|null|undefined} version - The version value.\n * @param {import(\"@bcd\").BrowserStatement} browser - The browser statement.\n * @returns {string} The resulting label.\n */\nexport function labelFromString(version, browser) {\n if (typeof version !== \"string\") {\n return \"?\";\n }\n if (version === \"preview\") {\n return browser.preview_name ?? \"Preview\";\n }\n // Treat BCD ranges as exact versions to avoid confusion for the reader\n // See https://github.com/mdn/yari/issues/3238\n if (version.startsWith(\"≤\")) {\n version = version.slice(1);\n }\n // New: Omit trailing \".0\".\n version = version.replaceAll(/(\\.0)+$/g, \"\");\n\n return version;\n}\n\n/**\n * Generates a version label from added and removed support data.\n * @param {string|boolean|null|undefined} added - The added version.\n * @param {string|boolean|null|undefined} removed - The removed version.\n * @param {import(\"@bcd\").BrowserStatement} browser - The browser statement.\n * @returns {import(\"lit\").TemplateResult} A lit-html template result representing the version label.\n */\nexport function versionLabelFromSupport(added, removed, browser) {\n if (typeof removed !== \"string\") {\n return html`${labelFromString(added, browser)}`;\n }\n return html`${labelFromString(\n added,\n browser,\n )} – ${labelFromString(removed, browser)}`;\n}\n\n/**\n * Retrieves the browser release date from a support statement.\n * @param {import(\"@compat\").SupportStatementExtended|undefined} support - The extended support statement.\n * @returns {string|undefined} The release date if available.\n */\nexport function getSupportBrowserReleaseDate(support) {\n if (!support) {\n return;\n }\n\n return getCurrentSupport(support)?.release_date;\n}\n","import { LitElement, html, nothing } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\n\nimport { L10nMixin } from \"../../l10n/mixin.js\";\n\nimport {\n BCD_TABLE,\n DEFAULT_LOCALE,\n ISSUE_METADATA_TEMPLATE,\n} from \"./constants.js\";\nimport styles from \"./element.css?lit\";\nimport {\n getSupportBrowserReleaseDate,\n getSupportClassName,\n labelFromString,\n versionLabelFromSupport,\n} from \"./feature-row.js\";\nimport {\n HIDDEN_BROWSERS,\n asList,\n bugURLToString,\n getCurrentSupport,\n getFirst,\n hasMore,\n hasNoteworthyNotes,\n isFullySupportedWithoutLimitation,\n isNotSupportedAtAll,\n listFeatures,\n versionIsPreview,\n} from \"./utils.js\";\n\n/** @type {import(\"@compat\").IconName[]} */\nconst ICON_NAMES = [\n \"yes\",\n \"partial\",\n \"preview\",\n \"no\",\n \"unknown\",\n \"experimental\",\n \"nonstandard\",\n \"deprecated\",\n \"footnote\",\n \"disabled\",\n \"altname\",\n \"prefix\",\n \"more\",\n];\n\n/**\n * @param {import(\"@bcd\").BrowserName} browser\n * @returns {string}\n */\nfunction browserToIconName(browser) {\n if (browser.startsWith(\"firefox\")) {\n return \"firefox\";\n } else if (browser === \"webview_android\") {\n return \"webview\";\n } else if (browser === \"webview_ios\") {\n return \"safari\";\n } else {\n return browser.split(\"_\")[0] ?? \"\";\n }\n}\n\nexport class MDNCompatTable extends L10nMixin(LitElement) {\n static properties = {\n query: {},\n locale: {},\n data: {},\n browserInfo: { attribute: \"browserinfo\" },\n _pathname: { state: true },\n _platforms: { state: true },\n _browsers: { state: true },\n };\n\n static styles = styles;\n\n constructor() {\n super();\n this.query = \"\";\n /** @type {import(\"@bcd\").Identifier} */\n this.data = {};\n /** @type {Partial<import(\"@bcd\").Browsers>} */\n this.browserInfo = {};\n this.locale = \"\";\n this._pathname = \"\";\n /** @type {string[]} */\n this._platforms = [];\n /** @type {import(\"@bcd\").BrowserName[]} */\n this._browsers = [];\n }\n\n get _breadcrumbs() {\n return this.query.split(\".\");\n }\n\n get _category() {\n return this._breadcrumbs[0] ?? \"\";\n }\n\n get _name() {\n return this._breadcrumbs.at(-1) ?? \"\";\n }\n\n /**\n * Gets the active legend items based on browser compatibility data.\n * @param {import(\"@bcd\").Identifier} compat - The compatibility data identifier.\n * @param {string} name - The name of the feature.\n * @param {Partial<import(\"@bcd\").Browsers>} browserInfo - Information about browsers.\n * @param {import(\"@bcd\").BrowserName[]} browsers - The list of displayed browsers.\n * @returns {import(\"@compat\").IconName[]} An array of legend keys.\n */\n _getActiveLegendItems(compat, name, browserInfo, browsers) {\n /** @type {Set<import(\"@compat\").IconName>} */\n const legendItems = new Set();\n\n for (const feature of listFeatures(compat, \"\", name)) {\n const { status } = feature.compat;\n\n if (status) {\n if (status.experimental) {\n legendItems.add(\"experimental\");\n }\n if (status.deprecated) {\n legendItems.add(\"deprecated\");\n }\n if (!status.standard_track) {\n legendItems.add(\"nonstandard\");\n }\n }\n\n for (const browser of browsers) {\n const browserSupport = feature.compat.support[browser] ?? {\n version_added: null,\n };\n\n if (HIDDEN_BROWSERS.includes(browser)) {\n continue;\n }\n\n const firstSupportItem = getFirst(browserSupport);\n if (firstSupportItem && hasNoteworthyNotes(firstSupportItem)) {\n legendItems.add(\"footnote\");\n }\n\n for (const versionSupport of asList(browserSupport)) {\n if (versionSupport.version_added) {\n if (versionSupport.flags && versionSupport.flags.length > 0) {\n legendItems.add(\"no\");\n } else if (\n browserInfo[browser] &&\n versionIsPreview(\n versionSupport.version_added,\n browserInfo[browser],\n )\n ) {\n legendItems.add(\"preview\");\n } else {\n legendItems.add(\"yes\");\n }\n } else if (versionSupport.version_added == undefined) {\n legendItems.add(\"unknown\");\n } else {\n legendItems.add(\"no\");\n }\n\n if (versionSupport.partial_implementation) {\n legendItems.add(\"partial\");\n }\n if (versionSupport.prefix) {\n legendItems.add(\"prefix\");\n }\n if (versionSupport.alternative_name) {\n legendItems.add(\"altname\");\n }\n if (versionSupport.flags) {\n legendItems.add(\"disabled\");\n }\n }\n\n if (hasMore(browserSupport)) {\n legendItems.add(\"more\");\n }\n }\n }\n\n return ICON_NAMES.filter((key) => legendItems.has(key));\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._pathname = globalThis.location.pathname;\n [this._platforms, this._browsers] = gatherPlatformsAndBrowsers(\n this._category,\n this.data,\n this.browserInfo,\n );\n }\n\n get _issueUrl() {\n const url = \"https://github.com/mdn/browser-compat-data/issues/new\";\n const sp = new URLSearchParams();\n const metadata = ISSUE_METADATA_TEMPLATE.replaceAll(\n \"$DATE\",\n new Date().toISOString(),\n )\n .replaceAll(\"$QUERY_ID\", this.query)\n .trim();\n sp.set(\"mdn-url\", `https://developer.mozilla.org${this._pathname}`);\n sp.set(\"metadata\", metadata);\n sp.set(\"title\", `${this.query} - <SUMMARIZE THE PROBLEM>`);\n sp.set(\"template\", \"data-problem.yml\");\n\n return `${url}?${sp.toString()}`;\n }\n\n _renderIssueLink() {\n const onClick = (/** @type {MouseEvent} */ event) => {\n event.preventDefault();\n window.open(this._issueUrl, \"_blank\", \"noopener,noreferrer\");\n };\n const source_file = this.data.__compat?.source_file;\n return html`<div class=\"bc-on-github\">\n <a\n class=\"bc-github-link external external-icon\"\n href=\"#\"\n @click=${onClick}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=${this.l10n(\n \"compat-link-report-issue-title\",\n )`Report an issue with this compatibility data`}\n >\n ${this.l10n(\n \"compat-link-report-issue\",\n )`Report problems with this compatibility data`}</a\n >${source_file\n ? html` •\n <a\n class=\"bc-github-link external external-icon\"\n href=${`https://github.com/mdn/browser-compat-data/tree/main/${source_file}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=${this.l10n.raw({\n id: \"compat-link-source-title\",\n args: {\n filename: source_file,\n },\n })}\n >\n ${this.l10n(\"compat-link-source\")`View data on GitHub`}\n </a>`\n : undefined}\n </div>`;\n }\n\n _renderTable() {\n return html`<figure class=\"table-container\">\n <figure class=\"table-container-inner\">\n ${this._renderIssueLink()}\n <table\n class=\"bc-table bc-table-web\"\n style=\"--compat-browser-count: ${Object.keys(this._browsers).length}\"\n >\n ${this._renderTableHeader()} ${this._renderTableBody()}\n </table>\n </figure>\n </figure>`;\n }\n\n _renderTableHeader() {\n return html`<thead>\n ${this._renderPlatformHeaders()} ${this._renderBrowserHeaders()}\n </thead>`;\n }\n\n _renderPlatformHeaders() {\n const platformsWithBrowsers = this._platforms.map((platform) => ({\n platform,\n browsers: this._browsers.filter(\n (browser) => this.browserInfo[browser]?.type === platform,\n ),\n }));\n\n const grid = platformsWithBrowsers.map(({ browsers }) => browsers.length);\n\n const platformCells = platformsWithBrowsers.map(\n ({ platform, browsers }, index) => {\n // Get the intersection of browsers in the `browsers` array and the\n // `PLATFORM_BROWSERS[platform]`.\n const browserCount = browsers.length;\n const cellClass = `bc-platform bc-platform-${platform}`;\n const iconClass = `icon icon-${platform}`;\n\n const columnStart =\n 2 + grid.slice(0, index).reduce((acc, x) => acc + x, 0);\n const columnEnd = columnStart + browserCount;\n return html`<th\n class=${cellClass}\n colspan=${browserCount}\n title=${platform}\n style=\"grid-column: ${columnStart} / ${columnEnd}\"\n >\n <span class=${iconClass}></span>\n <span class=\"visually-hidden\">${platform}</span>\n </th>`;\n },\n );\n\n return html`<tr class=\"bc-platforms\">\n <td></td>\n ${platformCells}\n </tr>`;\n }\n\n _renderBrowserHeaders() {\n // <BrowserHeaders>\n const browserCells = this._browsers.map(\n (browser) =>\n html`<th class=${`bc-browser bc-browser-${browser}`}>\n <div class=${`bc-head-txt-label bc-head-icon-${browser}`}>\n ${this.browserInfo[browser]?.name}\n </div>\n <div\n class=${`bc-head-icon-symbol icon icon-${browserToIconName(\n browser,\n )}`}\n ></div>\n </th>`,\n );\n\n return html`<tr class=\"bc-browsers\">\n <td></td>\n ${browserCells}\n </tr>`;\n }\n\n _renderTableBody() {\n // <FeatureListAccordion>\n const { data, _browsers: browsers, browserInfo, locale } = this;\n let features = listFeatures(data, \"\", this._name);\n\n const MAX_FEATURES = 100;\n\n // If there are too many features, hide nested features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(({ depth }) => depth < 2);\n }\n\n // If there are still too many features, hide non-standard features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => status?.standard_track,\n );\n }\n\n // If there are still too many features, hide deprecated features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => !status?.deprecated,\n );\n }\n\n // If there are still too many features, hide experimental features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => !status?.experimental,\n );\n }\n\n // At this point, we did all we can to reduce the number of features shown.\n if (features.length > MAX_FEATURES) {\n features = features.slice(0, MAX_FEATURES);\n }\n\n const featureRows = features.map((feature) => {\n // <FeatureRow>\n const { name, compat, depth } = feature;\n\n const title = compat.description\n ? html`<span>${unsafeHTML(compat.description)}</span>`\n : html`<code>${name}</code>`;\n\n let titleNode;\n const titleContent = html`${title}${compat.status &&\n this._renderStatusIcons(compat.status)}`;\n if (compat.mdn_url && depth > 0) {\n const href = compat.mdn_url.replace(\n `/${DEFAULT_LOCALE}/docs`,\n `/${locale}/docs`,\n );\n titleNode = html`<a\n href=${href}\n class=\"bc-table-row-header\"\n data-glean=${`${BCD_TABLE}: link -> ${href}`}\n >\n ${titleContent}\n </a>`;\n } else {\n titleNode = html`<div class=\"bc-table-row-header\">\n ${titleContent}\n </div>`;\n }\n\n const handleMousedown = (/** @type {MouseEvent} */ event) => {\n // Blur active element if already focused.\n const activeElement = this.shadowRoot?.activeElement;\n const { currentTarget } = event;\n\n if (\n activeElement instanceof HTMLElement &&\n currentTarget instanceof HTMLElement\n ) {\n const activeCell = activeElement.closest(\"td\");\n const currentCell = currentTarget.closest(\"td\");\n\n if (activeCell === currentCell) {\n activeElement.blur();\n event.preventDefault();\n return;\n }\n }\n\n if (currentTarget instanceof HTMLElement) {\n // Workaround for Safari, which doesn't focus implicitly.\n setTimeout(() => currentTarget.focus(), 0);\n }\n };\n\n const browserCells = browsers.map((browserName) => {\n // <CompatCell>\n const browser = browserInfo[browserName];\n if (!browser) {\n return nothing;\n }\n const support = compat.support[browserName] ?? {\n version_added: null,\n };\n\n const supportClassName = getSupportClassName(support, browser);\n const notes = this._renderNotes(browser, support);\n\n return html`<td\n class=${`bc-support bc-browser-${browserName} bc-supports-${supportClassName} ${\n notes ? \"bc-has-history\" : \"\"\n }`}\n >\n <button\n type=\"button\"\n title=${ifDefined(notes && \"Toggle history\")}\n @mousedown=${handleMousedown}\n >\n ${this._renderCellText(support, browser)}\n </button>\n ${notes &&\n html`<div class=\"timeline\" tabindex=\"0\">\n <dl class=\"bc-notes-list\">${notes}</dl>\n </div>`}\n </td>`;\n });\n\n return html`<tr>\n <th class=${`bc-feature bc-feature-depth-${depth}`} scope=\"row\">\n ${titleNode}\n </th>\n ${browserCells}\n </tr>`;\n });\n\n return html`<tbody>\n ${featureRows}\n </tbody>`;\n }\n\n /**\n * @param {import(\"@bcd\").SupportStatement} support\n */\n _renderCellIcons(support) {\n const supportItem = getCurrentSupport(support);\n if (!supportItem) {\n return;\n }\n\n const icons = [\n supportItem.prefix && this._renderIcon(\"prefix\"),\n hasNoteworthyNotes(supportItem) && this._renderIcon(\"footnote\"),\n supportItem.alternative_name && this._renderIcon(\"altname\"),\n supportItem.flags && this._renderIcon(\"disabled\"),\n hasMore(support) && this._renderIcon(\"more\"),\n ].filter(Boolean);\n\n return icons.length > 0\n ? html`<div class=\"bc-icons\">${icons}</div>`\n : undefined;\n }\n\n /**\n * @param {import(\"@compat\").IconName} name\n * @returns {import(\"@lit\").TemplateResult}\n */\n _renderIcon(name) {\n const title = this._getLegendLabel(name);\n\n return html`\n <span class=\"icon-wrap\">\n <abbr class=\"only-icon\" title=${ifDefined(title)}>\n <span>${name}</span>\n <i class=${`icon icon-${name}`}></i>\n </abbr>\n </span>\n `;\n }\n\n /**\n * @param {import(\"@compat\").IconName} name\n */\n _getLegendLabel(name) {\n return {\n yes: () => this.l10n(\"compat-legend-yes\"),\n partial: () => this.l10n(\"compat-legend-partial\"),\n preview: () => this.l10n(\"compat-legend-preview\"),\n no: () => this.l10n(\"compat-legend-no\"),\n unknown: () => this.l10n(\"compat-legend-unknown\"),\n experimental: () => this.l10n(\"compat-legend-experimental\"),\n nonstandard: () => this.l10n(\"compat-legend-nonstandard\"),\n deprecated: () => this.l10n(\"compat-legend-deprecated\"),\n footnote: () => this.l10n(\"compat-legend-footnote\"),\n disabled: () => this.l10n(\"compat-legend-disabled\"),\n altname: () => this.l10n(\"compat-legend-altname\"),\n prefix: () => this.l10n(\"compat-legend-prefix\"),\n more: () => this.l10n(\"compat-legend-more\"),\n }[name]();\n }\n\n /**\n * @param {import(\"@bcd\").StatusBlock} status\n */\n _renderStatusIcons(status) {\n // <StatusIcons>\n /**\n * @type {Array<{ title: import(\"@lit\").L10nResult; text: import(\"@lit\").L10nResult; iconClassName: string }>}\n */\n const icons = [];\n\n if (status.experimental) {\n icons.push({\n title: this._getLegendLabel(\"experimental\"),\n text: this.l10n(\"compat-experimental\")`Experimental`,\n iconClassName: \"icon-experimental\",\n });\n }\n\n if (status.deprecated) {\n icons.push({\n title: this._getLegendLabel(\"deprecated\"),\n text: this.l10n(\"compat-deprecated\")`Experimental`,\n iconClassName: \"icon-deprecated\",\n });\n }\n\n if (!status.standard_track) {\n icons.push({\n title: this._getLegendLabel(\"nonstandard\"),\n text: this.l10n(\"compat-nonstandard\")`Non-standard`,\n iconClassName: \"icon-nonstandard\",\n });\n }\n\n const renderedIcons = icons.map(\n (icon) =>\n html`<abbr\n class=${`only-icon icon ${icon.iconClassName}`}\n title=${icon.title}\n >\n <span>${icon.text}</span>\n </abbr>`,\n );\n\n return icons.length === 0\n ? undefined\n : html`<div class=\"bc-icons\">${renderedIcons}</div>`;\n }\n\n /**\n *\n * @param {import(\"@bcd\").BrowserStatement} browser\n * @param {import(\"@bcd\").SupportStatement} support\n */\n _renderNotes(browser, support) {\n return [...asList(support)]\n .reverse()\n .flatMap((item, i) => {\n const notes = this._getNotes(browser, support, item);\n\n const notesItems = notes.map(({ iconName, label }) => {\n return html`<dd class=\"bc-supports-dd\">\n ${this._renderIcon(iconName)}${typeof label === \"string\"\n ? html`<span>${unsafeHTML(label)}</span>`\n : label}\n </dd>`;\n });\n\n const hasNotes = notesItems.length > 0;\n\n return (\n (i === 0 || hasNotes) &&\n html`<div class=\"bc-notes-wrapper\">\n <dt\n class=${`bc-supports-${getSupportClassName(\n item,\n browser,\n )} bc-supports`}\n >\n ${this._renderCellText(item, browser, true)}\n </dt>\n ${notesItems} ${hasNotes ? undefined : html`<dd></dd>`}\n </div>`\n );\n })\n .filter(Boolean);\n }\n\n /**\n * @param {import(\"@bcd\").BrowserStatement} browser\n * @param {import(\"@bcd\").SupportStatement} support\n * @param {import(\"@bcd\").SimpleSupportStatement} item\n * @returns\n */\n _getNotes(browser, support, item) {\n /**\n * @type {Array<{iconName: import(\"@compat\").IconName; label: string | import(\"@lit\").L10nResult | undefined }>}\n */\n const supportNotes = [];\n\n if (\n item.version_removed &&\n !asList(support).some(\n (otherItem) => otherItem.version_added === item.version_removed,\n )\n ) {\n supportNotes.push({\n iconName: \"footnote\",\n label: this.l10n.raw({\n id: \"compat-support-removed\",\n args: {\n version: labelFromString(item.version_removed, browser),\n },\n }),\n });\n }\n\n if (item.partial_implementation) {\n supportNotes.push({\n iconName: \"footnote\",\n label: this.l10n(\"compat-support-partial\")`Partial support`,\n });\n }\n\n if (item.prefix) {\n supportNotes.push({\n iconName: \"prefix\",\n label: this.l10n.raw({\n id: \"compat-support-prefix\",\n args: {\n prefix: item.prefix,\n },\n }),\n });\n }\n\n if (item.alternative_name) {\n supportNotes.push({\n iconName: \"altname\",\n label: this.l10n.raw({\n id: \"compat-support-altname\",\n args: {\n altname: item.alternative_name,\n },\n }),\n });\n }\n\n if (item.flags) {\n for (const { type, name, value_to_set } of item.flags) {\n supportNotes.push({\n iconName: \"disabled\",\n label: this.l10n.raw({\n id: \"compat-support-flags\",\n args: {\n has_added: Number(\n typeof item.version_added === \"string\" &&\n item.version_added !== \"preview\",\n ),\n version_added: item.version_added,\n has_last: Number(typeof item.version_last === \"string\"),\n versionLast: item.version_last,\n flag_type: type,\n flag_name: name,\n has_value: Number(typeof value_to_set === \"string\"),\n flag_value: value_to_set,\n browser_name: browser.name,\n browser_pref_url: browser.pref_url,\n },\n elements: {\n name: {\n tag: \"code\",\n },\n value: {\n tag: \"code\",\n },\n },\n }),\n });\n }\n }\n\n if (item.notes) {\n const notes = Array.isArray(item.notes) ? item.notes : [item.notes];\n for (const note of notes) {\n supportNotes.push({\n iconName: \"footnote\",\n label: note,\n });\n }\n }\n\n if (item.impl_url) {\n const impl_urls = Array.isArray(item.impl_url)\n ? item.impl_url\n : [item.impl_url];\n\n for (const impl_url of impl_urls) {\n supportNotes.push({\n iconName: \"footnote\",\n label: this.l10n.raw({\n id: \"compat-support-see-impl-url\",\n args: {\n label: bugURLToString(impl_url),\n },\n elements: {\n impl_url: {\n tag: \"a\",\n href: impl_url,\n },\n },\n }),\n });\n }\n }\n\n if (versionIsPreview(item.version_added, browser)) {\n supportNotes.push({\n iconName: \"footnote\",\n label: this.l10n(\"compat-support-preview\")`Preview browser support`,\n });\n }\n\n // If we encounter nothing else than the required `version_added` and\n // `release_date` properties, assume full support.\n // EDIT 1-5-21: if item.version_added doesn't exist, assume no support.\n if (\n isFullySupportedWithoutLimitation(item) &&\n !versionIsPreview(item.version_added, browser)\n ) {\n supportNotes.push({\n iconName: \"footnote\",\n label: this.l10n(\"compat-support-full\")`Full support`,\n });\n } else if (isNotSupportedAtAll(item)) {\n supportNotes.push({\n iconName: \"footnote\",\n label: this.l10n(\"compat-support-no\")`No support`,\n });\n }\n\n if (supportNotes.length === 0) {\n supportNotes.push({\n iconName: \"unknown\",\n label: this.l10n(\"compat-support-unknown\")`Support unknown`,\n });\n }\n\n return supportNotes;\n }\n\n /**\n *\n * @param {import(\"@bcd\").SupportStatement | undefined} support\n * @param {import(\"@bcd\").BrowserStatement} browser\n * @param {boolean} [timeline]\n */\n _renderCellText(support, browser, timeline = false) {\n const currentSupport = getCurrentSupport(support);\n\n const added = currentSupport?.version_added ?? undefined;\n const lastVersion = currentSupport?.version_last ?? undefined;\n\n const browserReleaseDate = getSupportBrowserReleaseDate(support);\n const supportClassName = getSupportClassName(support, browser);\n\n let status;\n switch (added) {\n case undefined: {\n status = { isSupported: \"unknown\" };\n break;\n }\n case true: {\n status = { isSupported: lastVersion ? \"no\" : \"yes\" };\n break;\n }\n case false: {\n status = { isSupported: \"no\" };\n break;\n }\n case \"preview\": {\n status = { isSupported: \"preview\" };\n break;\n }\n default: {\n status = {\n isSupported: supportClassName,\n label: versionLabelFromSupport(added, lastVersion, browser),\n };\n break;\n }\n }\n\n let label;\n /** @type {\"\" | import(\"@lit\").L10nResult} */\n let title = \"\";\n\n switch (status.isSupported) {\n case \"yes\": {\n title = this.l10n(\"compat-support-full\")`Full support`;\n label = status.label || this.l10n(\"compat-yes\")`Yes`;\n break;\n }\n\n case \"partial\": {\n title = this.l10n(\"compat-support-partial\")`Partial support`;\n label = status.label || this.l10n(\"compat-partial\")`Partial`;\n break;\n }\n\n case \"removed-partial\": {\n if (timeline) {\n title = this.l10n(\"compat-support-partial\")`Partial support`;\n label = status.label || this.l10n(\"compat-partial\")`Partial`;\n } else {\n title = this.l10n(\"compat-support-no\")`No support`;\n label = status.label || this.l10n(\"compat-no\")`No`;\n }\n break;\n }\n\n case \"no\": {\n title = this.l10n(\"compat-support-no\")`No support`;\n label = status.label || this.l10n(\"compat-no\")`No`;\n break;\n }\n\n case \"preview\": {\n title = this.l10n(\"compat-support-preview\")`Preview support`;\n label = status.label || browser.preview_name;\n break;\n }\n\n case \"unknown\": {\n title = this.l10n(\"compat-support-unknown\")`Support unknown`;\n label = \"?\";\n break;\n }\n }\n\n title = `${browser.name} – ${title}`;\n\n return html`<div\n class=${timeline\n ? \"bcd-timeline-cell-text-wrapper\"\n : \"bcd-cell-text-wrapper\"}\n >\n <div class=\"bcd-cell-icons\">\n <span class=\"icon-wrap\">\n <abbr\n class=${`\n bc-level-${supportClassName}\n icon\n icon-${supportClassName}`}\n title=${title}\n >\n <span class=\"bc-support-level\">${title}</span>\n </abbr>\n </span>\n </div>\n <div class=\"bcd-cell-text-copy\">\n <span class=\"bc-browser-name\">${browser.name}</span>\n <span\n class=\"bc-version-label\"\n title=${browserReleaseDate && !timeline\n ? this.l10n.raw({\n id: \"compat-browser-version-date\",\n args: {\n browser: browser.name,\n version: added,\n date: browserReleaseDate,\n },\n })\n : \"\"}\n >\n ${!timeline || added ? label : undefined}\n ${browserReleaseDate && timeline\n ? ` (${this.l10n.raw({ id: \"compat-browser-version-released\", args: { date: browserReleaseDate } })})`\n : \"\"}\n </span>\n </div>\n ${support && this._renderCellIcons(support)}\n </div>`;\n }\n\n _renderTableLegend() {\n const { _browsers: browsers, browserInfo } = this;\n\n if (!browserInfo) {\n throw new Error(\"Missing browser info\");\n }\n\n const items = this._getActiveLegendItems(\n this.data,\n this._name,\n browserInfo,\n browsers,\n ).map((key) => {\n const label = this._getLegendLabel(key);\n return [\"yes\", \"partial\", \"no\", \"unknown\", \"preview\"].includes(key)\n ? html`<div class=\"bc-legend-item\">\n <dt class=\"bc-legend-item-dt\">\n <span class=${`bc-supports-${key} bc-supports`}>\n <abbr\n class=${`bc-level bc-level-${key} icon icon-${key}`}\n title=${label}\n >\n <span class=\"visually-hidden\">${label}</span>\n </abbr>\n </span>\n </dt>\n <dd class=\"bc-legend-item-dd\">${label}</dd>\n </div>`\n : html`<div class=\"bc-legend-item\">\n <dt class=\"bc-legend-item-dt\">\n <abbr class=\"legend-icons icon icon-${key}\" title=${label}></abbr>\n </dt>\n <dd class=\"bc-legend-item-dd\">${label}</dd>\n </div>`;\n });\n\n return html`<section class=\"bc-legend\">\n <h3 class=\"visually-hidden\" id=\"Legend\">\n ${this.l10n(\"compat-legend\")`Legend`}\n </h3>\n <p class=\"bc-legend-tip\">\n ${this.l10n(\n \"compat-legend-tip\",\n )`Tip: you can click/tap on a cell for more information.`}\n </p>\n <dl class=\"bc-legend-items-container\">${items}</dl>\n </section>`;\n }\n\n render() {\n return html` ${this._renderTable()} ${this._renderTableLegend()} `;\n }\n}\n\ncustomElements.define(\"mdn-compat-table\", MDNCompatTable);\n\n/**\n * Return a list of platforms and browsers that are relevant for this category &\n * data.\n *\n * If the category is \"webextensions\", only those are shown. In all other cases\n * at least the entirety of the \"desktop\" and \"mobile\" platforms are shown. If\n * the category is JavaScript, the entirety of the \"server\" category is also\n * shown. In all other categories, if compat data has info about Deno / Node.js\n * those are also shown. Deno is always shown if Node.js is shown.\n * @param {string} category\n * @param {import(\"@bcd\").Identifier} data\n * @param {Partial<import(\"@bcd\").Browsers>} browserInfo\n * @returns {[string[], import(\"@bcd\").BrowserName[]]}\n */\nexport function gatherPlatformsAndBrowsers(category, data, browserInfo) {\n const hasNodeJSData = data.__compat && \"nodejs\" in data.__compat.support;\n const hasDenoData = data.__compat && \"deno\" in data.__compat.support;\n\n let platforms = [\"desktop\", \"mobile\"];\n if (category === \"javascript\" || hasNodeJSData || hasDenoData) {\n platforms.push(\"server\");\n }\n\n /** @type {import(\"@bcd\").BrowserName[]} */\n let browsers = [];\n\n // Add browsers in platform order to align table cells\n for (const platform of platforms) {\n const platformBrowsers = /** @type {import(\"@bcd\").BrowserName[]} */ (\n Object.keys(browserInfo)\n );\n browsers.push(\n ...platformBrowsers.filter(\n (browser) =>\n browser in browserInfo && browserInfo[browser]?.type === platform,\n ),\n );\n }\n\n // Filter WebExtension browsers in corresponding tables.\n if (category === \"webextensions\") {\n browsers = browsers.filter(\n (browser) => browserInfo[browser]?.accepts_webextensions,\n );\n }\n\n // If there is no Node.js data for a category outside \"javascript\", don't\n // show it. It ended up in the browser list because there is data for Deno.\n if (category !== \"javascript\" && !hasNodeJSData) {\n browsers = browsers.filter((browser) => browser !== \"nodejs\");\n }\n\n // Hide Internet Explorer compatibility data\n browsers = browsers.filter((browser) => !HIDDEN_BROWSERS.includes(browser));\n\n return [platforms, [...browsers]];\n}\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index-global.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./icons.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_2___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index-common.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_3___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index-mobile.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_4___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index-desktop.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_5___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index-desktop-md.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_6___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index-desktop-xl.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_7___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index-trailer.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_6___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_7___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n"],"names":["_","Array","r","s","e","Object","h","a","n","MDNCompatTable","Set","globalThis","URLSearchParams","Date","window","HTMLElement","setTimeout","Boolean","t","Number","l","Error","customElements"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 917.f2371f7a8ef08c84.js.LICENSE.txt */
|
|
2
|
-
export const __webpack_ids__=["917"];export const __webpack_modules__={86499:function(o,t,e){e.r(t),e.d(t,{MDNModal:()=>MDNModal});var d=e(14703),r=e(44413);e(50272);var i=e(71782);let MDNModal=class MDNModal extends d.oi{static styles=i.Z;static properties={modalTitle:{type:String,attribute:"modal-title"}};constructor(){super(),this.modalTitle=""}showModal(){this.shadowRoot?.querySelector("dialog")?.showModal()}close(){this.shadowRoot?.querySelector("dialog")?.close()}render(){return(0,d.dy)`
|
|
3
|
-
<dialog>
|
|
4
|
-
<header>
|
|
5
|
-
${this.modalTitle?(0,d.dy)`<h2>${this.modalTitle}</h2>`:d.Ld}
|
|
6
|
-
<mdn-button
|
|
7
|
-
variant="plain"
|
|
8
|
-
icon-only
|
|
9
|
-
.icon=${r.Z}
|
|
10
|
-
@click=${this.close}
|
|
11
|
-
>Exit modal</mdn-button
|
|
12
|
-
>
|
|
13
|
-
</header>
|
|
14
|
-
<slot></slot>
|
|
15
|
-
</dialog>
|
|
16
|
-
`}};customElements.define("mdn-modal",MDNModal)},13566:function(o,t,e){e.d(t,{o:()=>r});var d=e(32529);let r=o=>o??d.Ld},71782:function(o,t,e){e.d(t,{Z:()=>n});var d=e(14703),r=e(8081),i=e.n(r),l=e(23645),a=e.n(l)()(i());a.push([o.id,"dialog{border:1px solid var(--color-border-primary);border-radius:.25rem;padding:0}header{display:flex;padding:.5rem}header h2{margin:0}header mdn-button{margin-left:auto}slot{display:block;padding:0 1rem 1rem}",""]);let n=(0,d.iv)([a.toString()])},44413:function(o,t,e){e.d(t,{Z:()=>r});var d=e(14703);let r=(0,d.YP)`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M18 6 6 18M6 6l12 12"/></svg>`}};
|
|
17
|
-
//# sourceMappingURL=917.f2371f7a8ef08c84.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"917.f2371f7a8ef08c84.js","sources":["webpack://@mdn/fred/./components/modal/element.js","webpack://@mdn/fred/./node_modules/lit-html/directives/if-defined.js","webpack://@mdn/fred/./components/modal/element.css","webpack://@mdn/fred/./components/icon/cancel.svg"],"sourcesContent":["import { LitElement, html, nothing } from \"lit\";\n\nimport exitIcon from \"../icon/cancel.svg?lit\";\n\nimport \"../button/element.js\";\nimport styles from \"./element.css?lit\";\n\nexport class MDNModal extends LitElement {\n static styles = styles;\n\n static properties = {\n modalTitle: { type: String, attribute: \"modal-title\" },\n };\n\n constructor() {\n super();\n this.modalTitle = \"\";\n }\n\n showModal() {\n this.shadowRoot?.querySelector(\"dialog\")?.showModal();\n }\n\n close() {\n this.shadowRoot?.querySelector(\"dialog\")?.close();\n }\n\n render() {\n return html`\n <dialog>\n <header>\n ${this.modalTitle ? html`<h2>${this.modalTitle}</h2>` : nothing}\n <mdn-button\n variant=\"plain\"\n icon-only\n .icon=${exitIcon}\n @click=${this.close}\n >Exit modal</mdn-button\n >\n </header>\n <slot></slot>\n </dialog>\n `;\n }\n}\n\ncustomElements.define(\"mdn-modal\", MDNModal);\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\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, `dialog{border:1px solid var(--color-border-primary);border-radius:.25rem;padding:0}header{display:flex;padding:.5rem}header h2{margin:0}header mdn-button{margin-left:auto}slot{display:block;padding:0 1rem 1rem}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","import { svg } from \"lit\"; export default svg`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M18 6 6 18M6 6l12 12\"/></svg>`;"],"names":["MDNModal","String","customElements","o"],"mappings":";qLAOO,IAAMA,SAAN,MAAMA,iBAAiB,IAAU,CACtC,OAAO,OAAS,GAAM,AAAC,AAEvB,QAAO,WAAa,CAClB,WAAY,CAAE,KAAMC,OAAQ,UAAW,aAAc,CACvD,CAAE,AAEF,cAAc,CACZ,KAAK,GACL,IAAI,CAAC,UAAU,CAAG,EACpB,CAEA,WAAY,CACV,IAAI,CAAC,UAAU,EAAE,cAAc,WAAW,WAC5C,CAEA,OAAQ,CACN,IAAI,CAAC,UAAU,EAAE,cAAc,WAAW,OAC5C,CAEA,QAAS,CACP,MAAO,QAAI,CAAC;;;UAGN,EAAE,IAAI,CAAC,UAAU,CAAG,QAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAG,IAAO,CAAC;;;;kBAIxD,EAAE,GAAQ,CAAC;mBACV,EAAE,IAAI,CAAC,KAAK,CAAC;;;;;;IAM5B,CAAC,AACH,CACF,EAEAC,eAAe,MAAM,CAAC,YAAaF,iECzChC,IAAM,EAAEG,GAAGA,GAAG,IAAC,sFCDd,EAA0B,SAA4B,KAE1D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,qNAAsN,GAAG,EAElQ,MAAe,SAAI,CAAC,EAAwB,QAAQ,GAAG,yDCR5B,MAAe,QAAG,CAAC,2NAA2N,CAAC"}
|