@mdn/fred 2.3.0 → 2.4.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/.env-dist +0 -4
- package/CHANGELOG.md +40 -0
- package/components/article-footer/server.js +3 -1
- package/components/code-example/types.d.ts +1 -1
- package/components/env/index.js +0 -3
- package/components/issues-table/element.js +1 -1
- package/components/left-sidebar/server.css +14 -2
- package/components/live-sample-result/element.js +2 -0
- package/components/menu/tabs.json +4 -0
- package/components/outer-layout/server.js +8 -6
- package/components/placement/mixin.js +2 -2
- package/components/play-console/element.js +5 -1
- package/components/play-console/types.d.ts +1 -1
- package/components/record-visit/element.js +1 -1
- package/components/reference-layout/server.css +10 -0
- package/components/reference-layout/server.js +3 -1
- package/entry.client.js +0 -1
- package/hooks/live-samples.js +5 -3
- package/l10n/locales/de.ftl +288 -22
- package/l10n/locales/fr.ftl +256 -91
- package/l10n/parser/transform.js +0 -1
- package/l10n/template.ftl +5 -0
- package/legacy/index.tsx +2 -0
- package/out/service-worker.js +1 -1
- package/out/service-worker.js.map +1 -1
- package/out/static/client/1550.317cf910e7937050.js +321 -0
- package/out/static/client/1550.317cf910e7937050.js.map +1 -0
- package/out/static/client/{3094.58da3996c52b5264.js → 3094.ad202726cd671cc6.js} +2 -2
- package/out/static/client/3094.ad202726cd671cc6.js.map +1 -0
- package/out/static/client/{4204.c77e84ea2f8c359a.js → 4204.082860f577e883b1.js} +2 -2
- package/out/static/client/{4204.c77e84ea2f8c359a.js.map → 4204.082860f577e883b1.js.map} +1 -1
- package/out/static/client/{5330.8d5173f308b639bc.js → 5330.0fa70a944297da04.js} +7 -7
- package/out/static/client/{5330.8d5173f308b639bc.js.map → 5330.0fa70a944297da04.js.map} +1 -1
- package/out/static/client/5649.00f25ce181894101.js +2 -0
- package/out/static/client/5649.00f25ce181894101.js.map +1 -0
- package/out/static/client/6333.530138f4b30df5a7.js +317 -0
- package/out/static/client/6333.530138f4b30df5a7.js.map +1 -0
- package/out/static/client/6760.d97440f1ca6690c6.js.map +1 -1
- package/out/static/client/{8903.ce3ee42276c345b9.js → 8903.f870aafb338b203a.js} +2 -2
- package/out/static/client/{8903.ce3ee42276c345b9.js.map → 8903.f870aafb338b203a.js.map} +1 -1
- package/out/static/client/{index.880284fd3bb87ecf.js → index.3d355ddb095f80e1.js} +4 -4
- package/out/static/client/index.3d355ddb095f80e1.js.map +1 -0
- package/out/static/client/{runtime.9d7da16d8104c706.js → runtime.5998abbd768bf4b4.js} +2 -2
- package/out/static/client/{runtime.9d7da16d8104c706.js.map → runtime.5998abbd768bf4b4.js.map} +1 -1
- package/out/static/client/stats.json +284 -284
- package/out/static/client/styles-a11y-menu.e450c80bdecd73b0.js +1 -0
- package/out/static/client/styles-advertising.8680d559dfd1e6da.js +1 -0
- package/out/static/client/styles-article-footer.4c924cfce86cefb1.js +1 -0
- package/out/static/client/styles-banner.b2fd6f3f4890f119.js +1 -0
- package/out/static/client/styles-baseline-indicator.7bda150efbd00e44.js +1 -0
- package/out/static/client/styles-blog-index.ed9148eebbd54874.js +1 -0
- package/out/static/client/styles-blog-post.e23d949d4b39893e.js +1 -0
- package/out/static/client/styles-breadcrumbs-bar.e72110560a2a2d11.js +1 -0
- package/out/static/client/styles-breadcrumbs.3e8f4af57730f539.js +1 -0
- package/out/static/client/styles-button.4529576beae298ca.js +1 -0
- package/out/static/client/styles-content-section.6e6c01c92b1ef20d.js +1 -0
- package/out/static/client/styles-contributor-spotlight.b7bc7bc60baf8578.js +1 -0
- package/out/static/client/styles-curriculum-about.a146120bd6d81d2b.js +1 -0
- package/out/static/client/styles-curriculum-default.f9cffbec77bd6a2a.js +1 -0
- package/out/static/client/styles-curriculum-landing.64b11fc6617af9bf.js +1 -0
- package/out/static/client/styles-curriculum-module.a96942f28d9841bd.js +1 -0
- package/out/static/client/styles-curriculum-overview.62ec696fa6196a83.js +1 -0
- package/out/static/client/styles-featured-articles.aaed3d1876c9083b.js +1 -0
- package/out/static/client/styles-footer.c3e8b1950387a3f8.js +1 -0
- package/out/static/client/styles-generic-about.13ddd8305fa7ad8e.js +1 -0
- package/out/static/client/styles-generic-community.f60b231a4a172157.js +1 -0
- package/out/static/client/styles-generic-content.5124855e59a283a5.js +1 -0
- package/out/static/client/styles-generic-layout.813a99dd507e1bab.js +1 -0
- package/out/static/client/styles-generic-sidebar.1d92203f2d9da43d.js +1 -0
- package/out/static/client/styles-generic-toc.61b41b9e9f5f85d0.js +1 -0
- package/out/static/client/{styles-global.d51198f5229746cf.js → styles-global.aa9d5defd4680e6c.js} +1 -1
- package/out/static/client/styles-heading-anchor.df83d71ad077415d.js +1 -0
- package/out/static/client/styles-homepage-body.0df30491a320f9c7.js +1 -0
- package/out/static/client/styles-homepage-contributor-spotlight.b879a173e860f6a9.js +1 -0
- package/out/static/client/styles-homepage-footer.99f5e147d6f2b9ed.js +1 -0
- package/out/static/client/styles-homepage-header.43271f37ca9a57df.js +1 -0
- package/out/static/client/styles-homepage-hero.ae60620a6fed0008.js +1 -0
- package/out/static/client/styles-homepage.3dfe53192c32e305.js +1 -0
- package/out/static/client/styles-latest-news.8a03d3fba6e1cd47.js +1 -0
- package/out/static/client/{styles-left-sidebar.dc1db5a87a982579.css → styles-left-sidebar.6f954e8939555f77.css} +2 -2
- package/out/static/client/{styles-left-sidebar.dc1db5a87a982579.css.map → styles-left-sidebar.6f954e8939555f77.css.map} +1 -1
- package/out/static/client/styles-left-sidebar.c36264a47e1805b1.js +1 -0
- package/out/static/client/styles-logo.8f20fe059f2d43b6.js +1 -0
- package/out/static/client/styles-mandala.926fd25378dd7542.js +1 -0
- package/out/static/client/styles-menu.1d5ef33019535538.js +1 -0
- package/out/static/client/styles-navigation.5caf382b2b53c3c1.js +1 -0
- package/out/static/client/styles-not-found.7fa9aeb622dc059e.js +1 -0
- package/out/static/client/styles-observatory-landing.34dc1b73c5e94907.js +1 -0
- package/out/static/client/styles-observatory-results.74448918bd9b8126.js +1 -0
- package/out/static/client/styles-page-layout.fd2f866f258a840d.js +1 -0
- package/out/static/client/styles-pagination.6a917bf99443fbe0.js +1 -0
- package/out/static/client/styles-playground.f6d77d4376f8103b.js +1 -0
- package/out/static/client/styles-recent-contributions.05e0168e43678c69.js +1 -0
- package/out/static/client/styles-reference-layout.01f91b57466bc3d8.css +2 -0
- package/out/static/client/styles-reference-layout.01f91b57466bc3d8.css.map +1 -0
- package/out/static/client/styles-reference-layout.c225b05af4a496ec.js +1 -0
- package/out/static/client/styles-reference-toc.cefa20df1f0b9e55.js +1 -0
- package/out/static/client/styles-sandbox.39a70a5ffa12a531.js +1 -0
- package/out/static/client/styles-site-search.bb29f36fdd646b10.js +1 -0
- package/out/static/client/styles-social-image.29ca61210c11848e.js +1 -0
- package/out/static/client/styles-translation-banner.f7da234674dc43ff.js +1 -0
- package/out/static/client/styles-writer-toolbar.4743aa6e3fa72415.js +1 -0
- package/out/static/client/{styles.7ccaeb561f3fb889.js → styles.37aa6c605abf6990.js} +2 -2
- package/out/static/client/{styles.7ccaeb561f3fb889.js.map → styles.37aa6c605abf6990.js.map} +1 -1
- package/out/static/legacy/asset-manifest.json +5 -5
- package/out/static/legacy/{index.f31b95b1d9fb620a.js → index.3fd784dd246fb28b.js} +3 -3
- package/out/static/legacy/{index.f31b95b1d9fb620a.js.map → index.3fd784dd246fb28b.js.map} +1 -1
- package/out/static/legacy/{index.fb9f65c469ca30a7.html → index.b72bb30bdf1cb6b9.html} +1 -1
- package/out/static/legacy/stats.json +13 -13
- package/out/static/legacy/{yari.5a79950ba25352de.js → yari.4560ee30606e8a90.js} +3 -3
- package/out/static/legacy/{yari.5a79950ba25352de.js.map → yari.4560ee30606e8a90.js.map} +1 -1
- package/out/static/ssr/1550.js +256 -91
- package/out/static/ssr/1550.js.map +1 -1
- package/out/static/ssr/6333.js +288 -22
- package/out/static/ssr/6333.js.map +1 -1
- package/out/static/ssr/index.js +14 -12
- package/out/static/ssr/index.js.map +1 -1
- package/out/static/ssr/stats.json +4 -4
- package/package.json +16 -16
- package/server.js +5 -1
- package/test/unit/l10n/fixtures/simple-different.js +1 -1
- package/test/unit/l10n/fixtures/simple.js +1 -1
- package/test/unit/l10n/fixtures/tags-with-duplicates.js +1 -1
- package/test/unit/l10n/fixtures/tags-with-substitutions.js +1 -1
- package/test/unit/l10n/fixtures/tags.js +1 -1
- package/types/lit.ts +1 -1
- package/hooks/ga-init.d.ts +0 -5
- package/hooks/ga-init.js +0 -28
- package/out/static/client/1550.1bc9bf6c1f4edb2b.js +0 -156
- package/out/static/client/1550.1bc9bf6c1f4edb2b.js.map +0 -1
- package/out/static/client/3094.58da3996c52b5264.js.map +0 -1
- package/out/static/client/5649.0e40dc56a97136d2.js +0 -2
- package/out/static/client/5649.0e40dc56a97136d2.js.map +0 -1
- package/out/static/client/6333.4df091fca06fdbe0.js +0 -51
- package/out/static/client/6333.4df091fca06fdbe0.js.map +0 -1
- package/out/static/client/index.880284fd3bb87ecf.js.map +0 -1
- package/out/static/client/styles-a11y-menu.bf0e970df3199f5d.js +0 -1
- package/out/static/client/styles-advertising.d17c1cc85ea68d89.js +0 -1
- package/out/static/client/styles-article-footer.da648fa126c9ef35.js +0 -1
- package/out/static/client/styles-banner.3a9c208a543e4e08.js +0 -1
- package/out/static/client/styles-baseline-indicator.de2ebbf5d4d6d2c6.js +0 -1
- package/out/static/client/styles-blog-index.db438e20391403c5.js +0 -1
- package/out/static/client/styles-blog-post.4f8200c9e59f9064.js +0 -1
- package/out/static/client/styles-breadcrumbs-bar.56117b372f98e1bb.js +0 -1
- package/out/static/client/styles-breadcrumbs.31fef62b20adf891.js +0 -1
- package/out/static/client/styles-button.fd5bf1d0d6b9e233.js +0 -1
- package/out/static/client/styles-content-section.a196f33b9d9e316d.js +0 -1
- package/out/static/client/styles-contributor-spotlight.9e6a6225135a95e4.js +0 -1
- package/out/static/client/styles-curriculum-about.1596c8f7f696ec0b.js +0 -1
- package/out/static/client/styles-curriculum-default.6688b5588b7bb474.js +0 -1
- package/out/static/client/styles-curriculum-landing.978bdf31fe767e6b.js +0 -1
- package/out/static/client/styles-curriculum-module.22ad33bd781fedea.js +0 -1
- package/out/static/client/styles-curriculum-overview.73290072eaf98c47.js +0 -1
- package/out/static/client/styles-featured-articles.2426db4e569be912.js +0 -1
- package/out/static/client/styles-footer.9b7a6e88180fe92d.js +0 -1
- package/out/static/client/styles-generic-about.fbdd35941b30ecb4.js +0 -1
- package/out/static/client/styles-generic-community.0460f98e8202cbc3.js +0 -1
- package/out/static/client/styles-generic-content.d7ba09d8d6784d92.js +0 -1
- package/out/static/client/styles-generic-layout.4e8f7141d77a3d0a.js +0 -1
- package/out/static/client/styles-generic-sidebar.9a19341f843e26dc.js +0 -1
- package/out/static/client/styles-generic-toc.313908c6a50cd4f4.js +0 -1
- package/out/static/client/styles-heading-anchor.6f4f5ad03a7f9308.js +0 -1
- package/out/static/client/styles-homepage-body.0a3bdcbec90af911.js +0 -1
- package/out/static/client/styles-homepage-contributor-spotlight.d2b96c96fc38fcf8.js +0 -1
- package/out/static/client/styles-homepage-footer.f1c1120fd9eb434a.js +0 -1
- package/out/static/client/styles-homepage-header.cbe6e6608152438d.js +0 -1
- package/out/static/client/styles-homepage-hero.5b6ca92aaffb33ad.js +0 -1
- package/out/static/client/styles-homepage.3ed301c8c4ebaa04.js +0 -1
- package/out/static/client/styles-latest-news.9fcf156fdb6f0099.js +0 -1
- package/out/static/client/styles-left-sidebar.8afa4a0c07dc390a.js +0 -1
- package/out/static/client/styles-logo.4f1e847c0fafc690.js +0 -1
- package/out/static/client/styles-mandala.b5bc9b1e26685615.js +0 -1
- package/out/static/client/styles-menu.cdaed3d488edc7e5.js +0 -1
- package/out/static/client/styles-navigation.c30010b963de146d.js +0 -1
- package/out/static/client/styles-not-found.1931cd41c663a211.js +0 -1
- package/out/static/client/styles-observatory-landing.cfcf2761ceece549.js +0 -1
- package/out/static/client/styles-observatory-results.851694fe2b9402e8.js +0 -1
- package/out/static/client/styles-page-layout.242bde5d7a8b2118.js +0 -1
- package/out/static/client/styles-pagination.91d95daa63d13fc6.js +0 -1
- package/out/static/client/styles-playground.68430c102865ae2c.js +0 -1
- package/out/static/client/styles-recent-contributions.5d2b8bc44c3385b9.js +0 -1
- package/out/static/client/styles-reference-layout.f17861486ef2423f.css +0 -2
- package/out/static/client/styles-reference-layout.f17861486ef2423f.css.map +0 -1
- package/out/static/client/styles-reference-layout.fcb22f6809bd2f5b.js +0 -1
- package/out/static/client/styles-reference-toc.f1e6afe3660e67a1.js +0 -1
- package/out/static/client/styles-sandbox.939050c7574b6369.js +0 -1
- package/out/static/client/styles-site-search.712ba523882ce36e.js +0 -1
- package/out/static/client/styles-social-image.1f1abcf5b04e3219.js +0 -1
- package/out/static/client/styles-translation-banner.cae413f93f1335b6.js +0 -1
- package/out/static/client/styles-writer-toolbar.796f905329fa62ff.js +0 -1
- package/utils/dnt-helper.js +0 -59
- /package/out/static/client/{5330.8d5173f308b639bc.js.LICENSE.txt → 5330.0fa70a944297da04.js.LICENSE.txt} +0 -0
- /package/out/static/client/{index.880284fd3bb87ecf.js.LICENSE.txt → index.3d355ddb095f80e1.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{index.f31b95b1d9fb620a.js.LICENSE.txt → index.3fd784dd246fb28b.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{yari.5a79950ba25352de.js.LICENSE.txt → yari.4560ee30606e8a90.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
export const __rspack_esm_id="1550";export const __rspack_esm_ids=["1550"];export const __webpack_modules__={23293(e,t,o){o.d(t,{default:()=>r});let r=`article-footer-last-modified = Cette page a \xe9t\xe9 modifi\xe9e le <time data-l10n-name="date">{ $date }</time> par les <a data-l10n-name="contributors">contributeur\xb7ice\xb7s du MDN</a>.
|
|
2
|
+
article-footer-source-title = Dossier : { $folder } (Ouvre un onglet)
|
|
3
|
+
baseline-asterisk = Certaines parties de cette fonctionnalit\xe9 peuvent b\xe9n\xe9ficier de prise en charge variables.
|
|
4
|
+
baseline-high-extra = Cette fonctionnalit\xe9 est bien \xe9tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis { $date }.
|
|
5
|
+
baseline-low-extra = Depuis { $date }, cette fonctionnalit\xe9 fonctionne sur les appareils et les versions de navigateur les plus r\xe9cents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
|
|
6
|
+
baseline-not-extra = Cette fonctionnalit\xe9 n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilis\xe9s.
|
|
7
|
+
baseline-supported-in = Pris en charge dans { $browsers }
|
|
8
|
+
baseline-unsupported-in = Pas compl\xe8tement pris en charge dans { $browsers }
|
|
9
|
+
baseline-supported-and-unsupported-in = Pris en charge dans { $supported }, mais pas compl\xe8tement pris en charge dans { $unsupported }
|
|
10
|
+
homepage-hero-title = Des ressources pour les D\xe9veloppeuses et D\xe9veloppeurs,<br> par des D\xe9veloppeuses et D\xe9veloppeurs
|
|
11
|
+
homepage-hero-description = Documenter le <a data-l10n-name="css">CSS</a>, le <a data-l10n-name="html">HTML</a> et le <a data-l10n-name="js">JavaScript</a>, depuis 2005.
|
|
12
|
+
not-found-title = Page non trouv\xe9e
|
|
13
|
+
not-found-description = D\xe9sol\xe9, la page <code data-l10n-name="url">{ $url }</code> n'a pas \xe9t\xe9 trouv\xe9e.
|
|
14
|
+
not-found-fallback-english = <strong data-l10n-name="strong">Bonne nouvelle :</strong> La page que vous cherchez existe en <em data-l10n-name="em">Anglais</em>.
|
|
15
|
+
not-found-fallback-search = La page que vous avez demand\xe9e n'existe pas, mais vous pouvez essayer une recherche sur le site pour :
|
|
16
|
+
not-found-back = Retour \xe0 la page d'accueil
|
|
17
|
+
footer-mofo = Visitez la soci\xe9t\xe9 m\xe8re \xe0 but non lucratif de <a data-l10n-name="moco">Mozilla Corporation</a>, la <a data-l10n-name="mofo">Fondation Mozilla</a>.
|
|
18
|
+
footer-copyright = Certaines parties de ce contenu sont prot\xe9g\xe9es par le droit d'auteur \xa91998—{ $year } des contributeurs individuels de mozilla.org. Contenu disponible sous <a data-l10n-name="cc">une licence Creative Commons</a>.
|
|
19
|
+
search-modal-site-search = Rechercher sur le site <em>{ $query }</em>
|
|
20
|
+
site-search-search-stats = { $results } documents trouv\xe9s.
|
|
21
|
+
site-search-suggestion-matches =
|
|
22
|
+
{ $relation ->
|
|
23
|
+
[gt]
|
|
24
|
+
plus que { $matches ->
|
|
25
|
+
[one] { $matches } trouv\xe9
|
|
26
|
+
*[other] { $matches } trouv\xe9s
|
|
27
|
+
}
|
|
28
|
+
*[eq]
|
|
29
|
+
{ $matches ->
|
|
30
|
+
[one] { $matches } trouv\xe9
|
|
31
|
+
*[other] { $matches } trouv\xe9s
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
blog-time-to-read =
|
|
35
|
+
{ $minutes ->
|
|
36
|
+
[one] { $minutes } minute de lecture
|
|
37
|
+
*[other] { $minutes } minutes de lecture
|
|
38
|
+
}
|
|
39
|
+
-brand-name-obs = HTTP Observatory
|
|
40
|
+
obs-report = Rapport
|
|
41
|
+
obs-title = { -brand-name-obs }
|
|
42
|
+
obs-landing-intro = Lanc\xe9 en 2016, { -brand-name-obs } am\xe9liore la s\xe9curit\xe9 du Web en analysant la conformit\xe9 aux meilleures pratiques en mati\xe8re de s\xe9curit\xe9. Il a fourni des informations \xe0 plus de 6,9 millions de sites web gr\xe2ce \xe0 47 millions d'analyses.
|
|
43
|
+
obs-assessment = D\xe9velopp\xe9 par Mozilla, { -brand-name-obs } effectue une \xe9valuation approfondie des en-t\xeates HTTP d'un site et d'autres configurations de s\xe9curit\xe9 cl\xe9s.
|
|
44
|
+
obs-scanning = Son processus d'analyse automatis\xe9 fournit aux d\xe9veloppeur\xb7euse\xb7s et aux administrateur\xb7ice\xb7s de sites web des commentaires d\xe9taill\xe9s et exploitables, ax\xe9s sur l'identification et la r\xe9solution des failles de s\xe9curit\xe9 potentielles.
|
|
45
|
+
obs-security = Cet outil aide les d\xe9veloppeur\xb7euse\xb7s et les administrateur\xb7ice\xb7s de sites web \xe0 renforcer la s\xe9curit\xe9 de leurs sites contre les menaces courantes dans un environnement num\xe9rique en constante \xe9volution.
|
|
46
|
+
obs-mdn = { -brand-name-obs } fournit des informations efficaces en mati\xe8re de s\xe9curit\xe9, guid\xe9es par l'expertise et l'engagement de Mozilla en faveur d'un Internet plus s\xfbr et plus s\xe9curis\xe9, et bas\xe9es sur des tendances et des directives bien \xe9tablies.
|
|
47
|
+
compat-browser-version-date = { $browser } { $version } — Date de sortie : { $date }
|
|
48
|
+
compat-browser-version-released = Date de sortie : { $date }
|
|
49
|
+
compat-link-source-title = Fichier : { $filename }
|
|
50
|
+
compat-support-prefix = Impl\xe9ment\xe9 avec le pr\xe9fixe vendeur : { $prefix }
|
|
51
|
+
compat-support-altname = Nom alternatif : { $altname }
|
|
52
|
+
compat-support-removed = Supprim\xe9 en version { $version } et sup\xe9rieure
|
|
53
|
+
compat-support-see-impl-url = Voir <a data-l10n-name="impl_url">{ $label }</a>
|
|
54
|
+
compat-support-flags =
|
|
55
|
+
{ NUMBER($has_added) ->
|
|
56
|
+
[one] De la version { $version_added }
|
|
57
|
+
*[other] { "" }
|
|
58
|
+
}{ $has_last ->
|
|
59
|
+
[one]
|
|
60
|
+
{ NUMBER($has_added) ->
|
|
61
|
+
*[zero] Jusqu'\xe0 la version { $versionLast }, les utilisateur\xb7ice\xb7s
|
|
62
|
+
[one] { " " }jusqu'\xe0 { $versionLast }, les utilisateur\xb7ice\xb7s
|
|
63
|
+
}
|
|
64
|
+
*[zero]
|
|
65
|
+
{ NUMBER($has_added) ->
|
|
66
|
+
*[zero] Les utilisateur\xb7ice\xb7s
|
|
67
|
+
[one] {" "}les utilisateur\xb7ice\xb7s
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
{ " " }doivent explicitement d\xe9finir
|
|
71
|
+
{ $flag_type ->
|
|
72
|
+
*[preference] la pr\xe9f\xe9rence
|
|
73
|
+
[runtime_flag] l'indicateur d'ex\xe9cution
|
|
74
|
+
}
|
|
75
|
+
{ " " }<code data-l10n-name="name">{ $flag_name }</code>
|
|
76
|
+
{ NUMBER($has_value) ->
|
|
77
|
+
[one] { " " }\xe0 <code data-l10n-name="value">{ $flag_value }</code>
|
|
78
|
+
*[other] { "" }
|
|
79
|
+
}{"."}
|
|
80
|
+
{ NUMBER($has_pref_url) ->
|
|
81
|
+
[one]
|
|
82
|
+
{ $flag_type ->
|
|
83
|
+
[preference] Pour changer vos pr\xe9f\xe9rences sur le navigateur { $browser_name }, visitez { $browser_pref_url }.
|
|
84
|
+
*[other] { "" }
|
|
85
|
+
}
|
|
86
|
+
*[other] { "" }
|
|
87
|
+
}
|
|
88
|
+
compat-legend-yes = { compat-support-full }
|
|
89
|
+
compat-legend-partial = { compat-support-partial }
|
|
90
|
+
compat-legend-preview = En cours de d\xe9veloppement. Pris en charge dans une pr\xe9-version.
|
|
91
|
+
compat-legend-no = { compat-support-no }
|
|
92
|
+
compat-legend-unknown = Compatibilit\xe9 inconnue
|
|
93
|
+
compat-legend-experimental = { compat-experimental }. Attendez-vous \xe0 ce que les comportements changent \xe0 l'avenir.
|
|
94
|
+
compat-legend-nonstandard = { compat-nonstandard }. V\xe9rifiez la compatibilit\xe9 entre les navigateurs avant utilisation.
|
|
95
|
+
compat-legend-deprecated = { compat-deprecated }. Ne pas utiliser dans les nouveaux sites web.
|
|
96
|
+
compat-legend-footnote = Voir les notes de mise en application.
|
|
97
|
+
compat-legend-disabled = L'utilisateur\xb7ice doit explicitement activer cette fonctionnalit\xe9.
|
|
98
|
+
compat-legend-altname = Utilise un nom hors standard.
|
|
99
|
+
compat-legend-prefix = N\xe9cessite un pr\xe9fixe vendeur ou un nom diff\xe9rent pour \xeatre utilis\xe9.
|
|
100
|
+
compat-legend-more = Contient davantage d'informations sur la compatibilit\xe9.
|
|
101
|
+
placement-note = Publicit\xe9
|
|
102
|
+
placement-no = Vous ne voulez pas voir de publicit\xe9s ?
|
|
103
|
+
pagination-next = Page suivante
|
|
104
|
+
pagination-prev = Page pr\xe9c\xe9dente
|
|
105
|
+
pagination-current = Page actuelle
|
|
106
|
+
pagination-goto = Aller \xe0 la page { $page }
|
|
107
|
+
logout = Se d\xe9connecter
|
|
108
|
+
login = Se connecter
|
|
109
|
+
example-play-button-label = Ex\xe9cuter
|
|
110
|
+
example-play-button-title = Ex\xe9cutez l'exemple dans MDN Playground (ouvre un nouvel onglet)
|
|
111
|
+
writer-reload-polling = Analyse toutes les { $seconds }s
|
|
112
|
+
a11y-menu-skip-to-main-content = Passer au contenu principal
|
|
113
|
+
a11y-menu-skip-to-search = Passer \xe0 la recherche
|
|
114
|
+
article-footer-title = Aider \xe0 am\xe9liorer MDN
|
|
115
|
+
article-footer-learn-how-to-contribute = Apprendre \xe0 contribuer
|
|
116
|
+
article-footer-view-this-page-on-github = Voir cette page sur GitHub
|
|
117
|
+
article-footer-this-will-take-you-to-github-to = Cela vous m\xe8nera \xe0 GitHub pour cr\xe9er un nouveau probl\xe8me.
|
|
118
|
+
article-footer-report-a-problem-with-this-conte = Signaler un probl\xe8me avec ce contenu
|
|
119
|
+
baseline-indicator-baseline-cross = Croix de Baseline
|
|
120
|
+
baseline-indicator-baseline-check = Coche de Baseline
|
|
121
|
+
baseline-indicator-limited-availability = Disponibilit\xe9 limit\xe9e
|
|
122
|
+
baseline-indicator-baseline = Baseline
|
|
123
|
+
baseline-indicator-widely-available = Large disponibilit\xe9
|
|
124
|
+
baseline-indicator-newly-available = Nouvellement disponible
|
|
125
|
+
baseline-indicator-check = coche
|
|
126
|
+
baseline-indicator-cross = croix
|
|
127
|
+
baseline-indicator-learn-more = En savoir plus
|
|
128
|
+
baseline-indicator-see-full-compatibility = Voir la compatibilit\xe9 compl\xe8te
|
|
129
|
+
baseline-indicator-report-feedback = Faire un retour
|
|
130
|
+
blog-previous = Article pr\xe9c\xe9dent
|
|
131
|
+
blog-next = Article suivant
|
|
132
|
+
blog-index-blog-it-better = Bloguez mieux
|
|
133
|
+
reference-toc-header = Dans cet article
|
|
134
|
+
blog-post-not-found = Article de blog introuvable.
|
|
135
|
+
collection-save-button-save-in-collection = Enregistrer dans la collection
|
|
136
|
+
collection-save-button-remove = Supprimer
|
|
137
|
+
collection-save-button-save = Enregistrer
|
|
138
|
+
collection-save-button-add-to-collection = Ajouter \xe0 la collection
|
|
139
|
+
collection-save-button-collection = Collection :
|
|
140
|
+
collection-save-button-saved-articles = Articles enregistr\xe9s
|
|
141
|
+
collection-save-button-new-collection = Nouvelle collection
|
|
142
|
+
collection-save-button-name = Nom :
|
|
143
|
+
collection-save-button-note = Note :
|
|
144
|
+
collection-save-button-saving = Enregistrement…
|
|
145
|
+
collection-save-button-cancel = Annuler
|
|
146
|
+
collection-save-button-deleting = Suppression…
|
|
147
|
+
collection-save-button-delete = Supprimer
|
|
148
|
+
theme-default = Automatique
|
|
149
|
+
color-theme-light = Clair
|
|
150
|
+
color-theme-dark = Sombre
|
|
151
|
+
color-theme-switch-color-theme = Changer le th\xe8me de couleur
|
|
152
|
+
color-theme-theme = Th\xe8me
|
|
153
|
+
compat-link-report-issue-title = Signaler un probl\xe8me avec ces donn\xe9es de compatibilit\xe9
|
|
154
|
+
compat-link-report-issue = Signaler des probl\xe8mes avec ces donn\xe9es de compatibilit\xe9
|
|
155
|
+
compat-link-source = Voir les donn\xe9es sur GitHub
|
|
156
|
+
compat-experimental = Exp\xe9rimental
|
|
157
|
+
compat-deprecated = Obsol\xe8te
|
|
158
|
+
compat-nonstandard = Non standard
|
|
159
|
+
compat-support-partial = Prise en charge partielle
|
|
160
|
+
compat-support-preview-browser = Pris en charge dans une pr\xe9-version du navigateur
|
|
161
|
+
compat-support-full = Prise en charge compl\xe8te
|
|
162
|
+
compat-support-no = Pas de prise en charge
|
|
163
|
+
compat-support-unknown = Prise en charge inconnue
|
|
164
|
+
compat-support-preview = Pris en charge dans une pr\xe9-version.
|
|
165
|
+
compat-yes = Oui
|
|
166
|
+
compat-partial = Partiel
|
|
167
|
+
compat-no = Non
|
|
168
|
+
compat-legend = L\xe9gende
|
|
169
|
+
compat-legend-tip = Astuce : cliquer/appuyer sur une cellule pour obtenir plus d'informations.
|
|
170
|
+
compat-link-report-missing-title = Signaler des donn\xe9es de compatibilit\xe9 manquantes
|
|
171
|
+
compat-link-report-missing = Signaler le probl\xe8me
|
|
172
|
+
compat-js-required = Activez JavaScript pour afficher ce tableau de compatibilit\xe9 des navigateurs.
|
|
173
|
+
compat-loading = Chargement…
|
|
174
|
+
content-feedback-content-is-out-of-date = Le contenu n'est pas \xe0 jour
|
|
175
|
+
content-feedback-missing-information = Informations manquantes
|
|
176
|
+
content-feedback-code-examples-not-working-as-exp = Les exemples de code ne fonctionnent pas comme pr\xe9vu
|
|
177
|
+
content-feedback-other = Autre
|
|
178
|
+
content-feedback-question = Cette page vous a-t-elle \xe9t\xe9 utile ?
|
|
179
|
+
content-feedback-yes = Oui
|
|
180
|
+
content-feedback-no = Non
|
|
181
|
+
content-feedback-reason = Pourquoi cette page ne vous a-t-elle pas \xe9t\xe9 utile ?
|
|
182
|
+
content-feedback-submit = Envoyer
|
|
183
|
+
content-feedback-thanks = Merci pour votre commentaire !
|
|
184
|
+
contributor-spotlight-want-to-be-part-of-the-journey = Voulez-vous faire partie de l'aventure ?
|
|
185
|
+
contributor-spotlight-our-constant-quest-for-innovatio = Notre qu\xeate constante d'innovation commence ici, avec vous. Chaque partie de MDN (docs, d\xe9mos et le site lui-m\xeame) provient de notre incroyable communaut\xe9 ouverte de d\xe9veloppeur\xb7euse\xb7s. Rejoignez-nous !
|
|
186
|
+
contributor-spotlight-get-involved = Participez
|
|
187
|
+
contributor-spotlight-contributor-profile = Profil de contributeur\xb7ice
|
|
188
|
+
copy-button-copied = Copi\xe9
|
|
189
|
+
copy-button-copy-failed = \xc9chec de la copie !
|
|
190
|
+
copy-button-copy = Copier
|
|
191
|
+
footer-mdn-on-github = MDN sur GitHub
|
|
192
|
+
footer-mdn-on-bluesky = MDN sur Bluesky
|
|
193
|
+
footer-mdn-on-x = MDN sur X
|
|
194
|
+
footer-mdn-on-mastodon = MDN sur Mastodon
|
|
195
|
+
footer-mdn-blog-rss-feed = Flux RSS du blog MDN
|
|
196
|
+
footer-mdn = MDN
|
|
197
|
+
footer-about = \xc0 propos
|
|
198
|
+
footer-blog = Blog
|
|
199
|
+
footer-mozilla-careers = Offres d'emploi chez Mozilla
|
|
200
|
+
footer-advertise-with-us = Faites de la publicit\xe9 avec nous
|
|
201
|
+
footer-mdn-plus = MDN Plus
|
|
202
|
+
footer-product-help = Assistance produit
|
|
203
|
+
footer-contribute = Contribuer
|
|
204
|
+
footer-mdn-community = Communaut\xe9 MDN
|
|
205
|
+
footer-community-resources = Ressources communautaires
|
|
206
|
+
footer-writing-guidelines = Directives de r\xe9daction
|
|
207
|
+
footer-mdn-discord = Discord MDN
|
|
208
|
+
footer-developers = D\xe9veloppeur\xb7euse\xb7s
|
|
209
|
+
footer-web-technologies = Technologies web
|
|
210
|
+
footer-learn-web-development = Apprendre le d\xe9veloppement web
|
|
211
|
+
footer-guides = Guides
|
|
212
|
+
footer-tutorials = Tutoriels
|
|
213
|
+
footer-glossary = Glossaire
|
|
214
|
+
footer-hacks-blog = Blog Hacks
|
|
215
|
+
footer-website-privacy-notice = Politique de confidentialit\xe9 du site web
|
|
216
|
+
footer-telemetry-settings = Param\xe8tres de t\xe9l\xe9m\xe9trie
|
|
217
|
+
footer-legal = Mentions l\xe9gales
|
|
218
|
+
footer-community-participation-guidelin = Directives de participation communautaire
|
|
219
|
+
footer-mdn-logo = Logo MDN
|
|
220
|
+
footer-tagline = Votre mod\xe8le pour un internet meilleur.
|
|
221
|
+
footer-mozilla-logo = Logo Mozilla
|
|
222
|
+
generic-toc__header = Dans cet article
|
|
223
|
+
homepage-body-featured-articles = Articles en vedette
|
|
224
|
+
homepage-body-latest-news = Derni\xe8res nouvelles
|
|
225
|
+
homepage-body-recent-contributions = Contributions r\xe9centes
|
|
226
|
+
homepage-contributor-spotlight-contributor-spotlight = Projecteur sur les contributeur\xb7ice\xb7s
|
|
227
|
+
homepage-contributor-spotlight-get-involved = Participez
|
|
228
|
+
homepage-search-search-the-site = Rechercher sur le site
|
|
229
|
+
homepage-search-search = Rechercher
|
|
230
|
+
interactive-example-reset = R\xe9initialiser
|
|
231
|
+
interactive-example-value-select = S\xe9lectionner une valeur
|
|
232
|
+
interactive-example-the-current-value-is-not-support = La valeur actuelle n'est pas prise en charge par votre navigateur.
|
|
233
|
+
interactive-example-run-example-and-show-console-ou = Ex\xe9cuter l'exemple et afficher la sortie de la console
|
|
234
|
+
interactive-example-run = Ex\xe9cuter
|
|
235
|
+
interactive-example-reset-example-and-clear-console = R\xe9initialiser l'exemple et effacer la console
|
|
236
|
+
interactive-example-console-output = Sortie de la console
|
|
237
|
+
interactive-example-output = Sortie
|
|
238
|
+
issues-table-loading-issues = chargement des probl\xe8mes…
|
|
239
|
+
issues-table-title = Titre
|
|
240
|
+
issues-table-repository = D\xe9p\xf4t
|
|
241
|
+
language-switcher-remember-language = Se souvenir de la langue
|
|
242
|
+
language-switcher-enable-this-setting-to-always-sw = Activez ce param\xe8tre pour toujours passer \xe0 la langue actuelle lorsque disponible. (Cliquez pour en savoir plus.)
|
|
243
|
+
language-switcher-learn-more = En savoir plus
|
|
244
|
+
login-button-login = Se connecter
|
|
245
|
+
modal-exit-modal = Quitter la fen\xeatre contextuelle
|
|
246
|
+
navigation-toggle-navigation = Basculer la navigation
|
|
247
|
+
obs-about-title = \xc0 propos de l'HTTP Observatory
|
|
248
|
+
observatory-landing-read-our-faq = Lire notre FAQ
|
|
249
|
+
observatory-landing-report-feedback = Faire un retour
|
|
250
|
+
observatory-rescan-button-rescan = Re-scanner
|
|
251
|
+
observatory-rescan-button-wait-a-minute-to-rescan = Attendez une minute pour re-scanner
|
|
252
|
+
observatory-results-report-feedback = Faire un retour
|
|
253
|
+
observatory-results-faq = FAQ
|
|
254
|
+
observatory-tests-and-scores-loading-tests-and-scoring-data = Chargement des tests et des donn\xe9es de notation...
|
|
255
|
+
observatory-tests-and-scores-see = Voir
|
|
256
|
+
observatory-tests-and-scores-for-guidance = pour des conseils.
|
|
257
|
+
observatory-tests-and-scores-test-result = R\xe9sultat du test
|
|
258
|
+
observatory-tests-and-scores-description = Description
|
|
259
|
+
observatory-tests-and-scores-modifier = Modifier
|
|
260
|
+
observatory-tests-and-scores-failed-to-load-tests-and-scoring = \xc9chec du chargement des tests et des donn\xe9es de notation. Veuillez r\xe9essayer plus tard.
|
|
261
|
+
brand-web-docs = MDN Web Docs
|
|
262
|
+
blog-rss-title = Flux RSS du Blog MDN
|
|
263
|
+
meta-description = Le site MDN Web Docs fournit des informations sur les technologies Web ouvertes, y compris HTML, CSS et les API pour les sites Web et les applications Web progressives.
|
|
264
|
+
logo-alt = Logo MDN
|
|
265
|
+
pagination-pagination = Pagination
|
|
266
|
+
playground-do-you-really-want-to-clear-ever = Voulez-vous vraiment tout effacer ?
|
|
267
|
+
playground-do-you-really-want-to-revert-you = Voulez-vous vraiment revenir sur vos modifications ?
|
|
268
|
+
playground-playground = Terrain d'essai
|
|
269
|
+
playground-format = Format
|
|
270
|
+
playground-run = Ex\xe9cuter
|
|
271
|
+
playground-share = Partager
|
|
272
|
+
playground-clear = Effacer
|
|
273
|
+
playground-reset = R\xe9initialiser
|
|
274
|
+
playground-seeing-something-inappropriate = Voir quelque chose d'inappropri\xe9 ?
|
|
275
|
+
playground-console = Console
|
|
276
|
+
playground-share-markdown = Partager le Markdown
|
|
277
|
+
playground-copy-markdown-to-clipboard = Copier le Markdown dans le presse-papiers
|
|
278
|
+
playground-share-data-url = Partager l'URL des donn\xe9es
|
|
279
|
+
playground-copy-data-url-to-clipboard = Copier l'URL des donn\xe9es dans le presse-papiers
|
|
280
|
+
playground-share-your-code-via-permalink = Partager votre code avec un lien permanent
|
|
281
|
+
playground-copy-to-clipboard = Copier dans le presse-papiers
|
|
282
|
+
playground-create-link = Cr\xe9er un lien
|
|
283
|
+
playground-report-this-malicious-or-inappro = Signaler ce terrain d'essai partag\xe9 comme malveillant ou inappropri\xe9.
|
|
284
|
+
playground-can-you-please-share-some-detail = Pouvez-vous partager quelques d\xe9tails sur ce qui ne va pas avec ce contenu :
|
|
285
|
+
playground-cancel = Annuler
|
|
286
|
+
playground-report = Signaler
|
|
287
|
+
recently-visited-recently-visited = R\xe9cemment visit\xe9
|
|
288
|
+
scrim-inline-clicking-will-load-content-from = Cliquer chargera le contenu depuis scrimba.com
|
|
289
|
+
scrim-inline-toggle-fullscreen = Basculer en plein \xe9cran
|
|
290
|
+
scrim-inline-open-on-scrimba = Ouvrir sur Scrimba
|
|
291
|
+
scrim-inline-load-scrim-and-open-dialog = Charger le scrim et ouvrir la bo\xeete de dialogue.
|
|
292
|
+
search-button-search-the-site = Rechercher sur le site
|
|
293
|
+
search-modal-loading-search-index = Chargement de l'index de recherche…
|
|
294
|
+
search-modal-search = Rechercher
|
|
295
|
+
search-modal-exit-search = Quitter la recherche
|
|
296
|
+
sidebar-filter-filter-sidebar = Filtrer la barre lat\xe9rale
|
|
297
|
+
sidebar-filter-filter = Filtrer
|
|
298
|
+
sidebar-filter-clear-filter-input = Effacer le filtre
|
|
299
|
+
site-search-search = Rechercher
|
|
300
|
+
site-search-previous = Pr\xe9c\xe9dent
|
|
301
|
+
site-search-next = Suivant
|
|
302
|
+
site-search-suggestions-text = Voulez-vous dire…
|
|
303
|
+
site-search-searching = Recherche en cours…
|
|
304
|
+
site-search-language = Langue
|
|
305
|
+
site-search-both = Les deux
|
|
306
|
+
specifications-list-this-feature-does-not-appear-to = Cette fonctionnalit\xe9 ne semble pas \xeatre d\xe9finie dans une sp\xe9cification.
|
|
307
|
+
specifications-list-specification = Sp\xe9cification
|
|
308
|
+
survey-hide-this-survey = Masquer ce sondage
|
|
309
|
+
survey-take-survey-opens-in-a-new-tab = Participer au sondage (s'ouvre dans un nouvel onglet)
|
|
310
|
+
toggle-sidebar-toggle-sidebar = Basculer la barre lat\xe9rale
|
|
311
|
+
user-menu-ai-help = Aide IA
|
|
312
|
+
user-menu-collections = Collections
|
|
313
|
+
user-menu-updates = Mises \xe0 jour
|
|
314
|
+
user-menu-settings = Mes param\xe8tres
|
|
315
|
+
user-menu-help = Aide
|
|
316
|
+
user-menu-feedback = Retour
|
|
317
|
+
user-menu-user = Utilisateur\xb7ice
|
|
318
|
+
writer-open-editor-open-in-editor = Ouvrir dans l'\xe9diteur
|
|
319
|
+
writer-toolbar-view-on-mdn = Voir sur MDN
|
|
320
|
+
`}};
|
|
321
|
+
//# sourceMappingURL=1550.317cf910e7937050.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1550.317cf910e7937050.js","sources":["webpack://@mdn/fred/./l10n/locales/fr.ftl"],"sourcesContent":["export default `article-footer-last-modified = Cette page a été modifiée le <time data-l10n-name=\"date\">{ \\$date }</time> par les <a data-l10n-name=\"contributors\">contributeur·ice·s du MDN</a>.\narticle-footer-source-title = Dossier : { \\$folder } (Ouvre un onglet)\nbaseline-asterisk = Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.\nbaseline-high-extra = Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis { \\$date }.\nbaseline-low-extra = Depuis { \\$date }, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.\nbaseline-not-extra = Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.\nbaseline-supported-in = Pris en charge dans { \\$browsers }\nbaseline-unsupported-in = Pas complètement pris en charge dans { \\$browsers }\nbaseline-supported-and-unsupported-in = Pris en charge dans { \\$supported }, mais pas complètement pris en charge dans { \\$unsupported }\nhomepage-hero-title = Des ressources pour les Développeuses et Développeurs,<br> par des Développeuses et Développeurs\nhomepage-hero-description = Documenter le <a data-l10n-name=\"css\">CSS</a>, le <a data-l10n-name=\"html\">HTML</a> et le <a data-l10n-name=\"js\">JavaScript</a>, depuis 2005.\nnot-found-title = Page non trouvée\nnot-found-description = Désolé, la page <code data-l10n-name=\"url\">{ \\$url }</code> n'a pas été trouvée.\nnot-found-fallback-english = <strong data-l10n-name=\"strong\">Bonne nouvelle :</strong> La page que vous cherchez existe en <em data-l10n-name=\"em\">Anglais</em>.\nnot-found-fallback-search = La page que vous avez demandée n'existe pas, mais vous pouvez essayer une recherche sur le site pour :\nnot-found-back = Retour à la page d'accueil\nfooter-mofo = Visitez la société mère à but non lucratif de <a data-l10n-name=\"moco\">Mozilla Corporation</a>, la <a data-l10n-name=\"mofo\">Fondation Mozilla</a>.\nfooter-copyright = Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—{ \\$year } des contributeurs individuels de mozilla.org. Contenu disponible sous <a data-l10n-name=\"cc\">une licence Creative Commons</a>.\nsearch-modal-site-search = Rechercher sur le site <em>{ \\$query }</em>\nsite-search-search-stats = { \\$results } documents trouvés.\nsite-search-suggestion-matches =\n { \\$relation ->\n [gt]\n plus que { \\$matches ->\n [one] { \\$matches } trouvé\n *[other] { \\$matches } trouvés\n }\n *[eq]\n { \\$matches ->\n [one] { \\$matches } trouvé\n *[other] { \\$matches } trouvés\n }\n }\nblog-time-to-read =\n { \\$minutes ->\n [one] { \\$minutes } minute de lecture\n *[other] { \\$minutes } minutes de lecture\n }\n-brand-name-obs = HTTP Observatory\nobs-report = Rapport\nobs-title = { -brand-name-obs }\nobs-landing-intro = Lancé en 2016, { -brand-name-obs } améliore la sécurité du Web en analysant la conformité aux meilleures pratiques en matière de sécurité. Il a fourni des informations à plus de 6,9 millions de sites web grâce à 47 millions d'analyses.\nobs-assessment = Développé par Mozilla, { -brand-name-obs } effectue une évaluation approfondie des en-têtes HTTP d'un site et d'autres configurations de sécurité clés.\nobs-scanning = Son processus d'analyse automatisé fournit aux développeur·euse·s et aux administrateur·ice·s de sites web des commentaires détaillés et exploitables, axés sur l'identification et la résolution des failles de sécurité potentielles.\nobs-security = Cet outil aide les développeur·euse·s et les administrateur·ice·s de sites web à renforcer la sécurité de leurs sites contre les menaces courantes dans un environnement numérique en constante évolution.\nobs-mdn = { -brand-name-obs } fournit des informations efficaces en matière de sécurité, guidées par l'expertise et l'engagement de Mozilla en faveur d'un Internet plus sûr et plus sécurisé, et basées sur des tendances et des directives bien établies.\ncompat-browser-version-date = { \\$browser } { \\$version } — Date de sortie : { \\$date }\ncompat-browser-version-released = Date de sortie : { \\$date }\ncompat-link-source-title = Fichier : { \\$filename }\ncompat-support-prefix = Implémenté avec le préfixe vendeur : { \\$prefix }\ncompat-support-altname = Nom alternatif : { \\$altname }\ncompat-support-removed = Supprimé en version { \\$version } et supérieure\ncompat-support-see-impl-url = Voir <a data-l10n-name=\"impl_url\">{ \\$label }</a>\ncompat-support-flags =\n { NUMBER(\\$has_added) ->\n [one] De la version { \\$version_added }\n *[other] { \"\" }\n }{ \\$has_last ->\n [one]\n { NUMBER(\\$has_added) ->\n *[zero] Jusqu'à la version { \\$versionLast }, les utilisateur·ice·s\n [one] { \" \" }jusqu'à { \\$versionLast }, les utilisateur·ice·s\n }\n *[zero]\n { NUMBER(\\$has_added) ->\n *[zero] Les utilisateur·ice·s\n [one] {\" \"}les utilisateur·ice·s\n }\n }\n { \" \" }doivent explicitement définir\n { \\$flag_type ->\n *[preference] la préférence\n [runtime_flag] l'indicateur d'exécution\n }\n { \" \" }<code data-l10n-name=\"name\">{ \\$flag_name }</code>\n { NUMBER(\\$has_value) ->\n [one] { \" \" }à <code data-l10n-name=\"value\">{ \\$flag_value }</code>\n *[other] { \"\" }\n }{\".\"}\n { NUMBER(\\$has_pref_url) ->\n [one]\n { \\$flag_type ->\n [preference] Pour changer vos préférences sur le navigateur { \\$browser_name }, visitez { \\$browser_pref_url }.\n *[other] { \"\" }\n }\n *[other] { \"\" }\n }\ncompat-legend-yes = { compat-support-full }\ncompat-legend-partial = { compat-support-partial }\ncompat-legend-preview = En cours de développement. Pris en charge dans une pré-version.\ncompat-legend-no = { compat-support-no }\ncompat-legend-unknown = Compatibilité inconnue\ncompat-legend-experimental = { compat-experimental }. Attendez-vous à ce que les comportements changent à l'avenir.\ncompat-legend-nonstandard = { compat-nonstandard }. Vérifiez la compatibilité entre les navigateurs avant utilisation.\ncompat-legend-deprecated = { compat-deprecated }. Ne pas utiliser dans les nouveaux sites web.\ncompat-legend-footnote = Voir les notes de mise en application.\ncompat-legend-disabled = L'utilisateur·ice doit explicitement activer cette fonctionnalité.\ncompat-legend-altname = Utilise un nom hors standard.\ncompat-legend-prefix = Nécessite un préfixe vendeur ou un nom différent pour être utilisé.\ncompat-legend-more = Contient davantage d'informations sur la compatibilité.\nplacement-note = Publicité\nplacement-no = Vous ne voulez pas voir de publicités ?\npagination-next = Page suivante\npagination-prev = Page précédente\npagination-current = Page actuelle\npagination-goto = Aller à la page { \\$page }\nlogout = Se déconnecter\nlogin = Se connecter\nexample-play-button-label = Exécuter\nexample-play-button-title = Exécutez l'exemple dans MDN Playground (ouvre un nouvel onglet)\nwriter-reload-polling = Analyse toutes les { \\$seconds }s\na11y-menu-skip-to-main-content = Passer au contenu principal\na11y-menu-skip-to-search = Passer à la recherche\narticle-footer-title = Aider à améliorer MDN\narticle-footer-learn-how-to-contribute = Apprendre à contribuer\narticle-footer-view-this-page-on-github = Voir cette page sur GitHub\narticle-footer-this-will-take-you-to-github-to = Cela vous mènera à GitHub pour créer un nouveau problème.\narticle-footer-report-a-problem-with-this-conte = Signaler un problème avec ce contenu\nbaseline-indicator-baseline-cross = Croix de Baseline\nbaseline-indicator-baseline-check = Coche de Baseline\nbaseline-indicator-limited-availability = Disponibilité limitée\nbaseline-indicator-baseline = Baseline\nbaseline-indicator-widely-available = Large disponibilité\nbaseline-indicator-newly-available = Nouvellement disponible\nbaseline-indicator-check = coche\nbaseline-indicator-cross = croix\nbaseline-indicator-learn-more = En savoir plus\nbaseline-indicator-see-full-compatibility = Voir la compatibilité complète\nbaseline-indicator-report-feedback = Faire un retour\nblog-previous = Article précédent\nblog-next = Article suivant\nblog-index-blog-it-better = Bloguez mieux\nreference-toc-header = Dans cet article\nblog-post-not-found = Article de blog introuvable.\ncollection-save-button-save-in-collection = Enregistrer dans la collection\ncollection-save-button-remove = Supprimer\ncollection-save-button-save = Enregistrer\ncollection-save-button-add-to-collection = Ajouter à la collection\ncollection-save-button-collection = Collection :\ncollection-save-button-saved-articles = Articles enregistrés\ncollection-save-button-new-collection = Nouvelle collection\ncollection-save-button-name = Nom :\ncollection-save-button-note = Note :\ncollection-save-button-saving = Enregistrement…\ncollection-save-button-cancel = Annuler\ncollection-save-button-deleting = Suppression…\ncollection-save-button-delete = Supprimer\ntheme-default = Automatique\ncolor-theme-light = Clair\ncolor-theme-dark = Sombre\ncolor-theme-switch-color-theme = Changer le thème de couleur\ncolor-theme-theme = Thème\ncompat-link-report-issue-title = Signaler un problème avec ces données de compatibilité\ncompat-link-report-issue = Signaler des problèmes avec ces données de compatibilité\ncompat-link-source = Voir les données sur GitHub\ncompat-experimental = Expérimental\ncompat-deprecated = Obsolète\ncompat-nonstandard = Non standard\ncompat-support-partial = Prise en charge partielle\ncompat-support-preview-browser = Pris en charge dans une pré-version du navigateur\ncompat-support-full = Prise en charge complète\ncompat-support-no = Pas de prise en charge\ncompat-support-unknown = Prise en charge inconnue\ncompat-support-preview = Pris en charge dans une pré-version.\ncompat-yes = Oui\ncompat-partial = Partiel\ncompat-no = Non\ncompat-legend = Légende\ncompat-legend-tip = Astuce : cliquer/appuyer sur une cellule pour obtenir plus d'informations.\ncompat-link-report-missing-title = Signaler des données de compatibilité manquantes\ncompat-link-report-missing = Signaler le problème\ncompat-js-required = Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.\ncompat-loading = Chargement…\ncontent-feedback-content-is-out-of-date = Le contenu n'est pas à jour\ncontent-feedback-missing-information = Informations manquantes\ncontent-feedback-code-examples-not-working-as-exp = Les exemples de code ne fonctionnent pas comme prévu\ncontent-feedback-other = Autre\ncontent-feedback-question = Cette page vous a-t-elle été utile ?\ncontent-feedback-yes = Oui\ncontent-feedback-no = Non\ncontent-feedback-reason = Pourquoi cette page ne vous a-t-elle pas été utile ?\ncontent-feedback-submit = Envoyer\ncontent-feedback-thanks = Merci pour votre commentaire !\ncontributor-spotlight-want-to-be-part-of-the-journey = Voulez-vous faire partie de l'aventure ?\ncontributor-spotlight-our-constant-quest-for-innovatio = Notre quête constante d'innovation commence ici, avec vous. Chaque partie de MDN (docs, démos et le site lui-même) provient de notre incroyable communauté ouverte de développeur·euse·s. Rejoignez-nous !\ncontributor-spotlight-get-involved = Participez\ncontributor-spotlight-contributor-profile = Profil de contributeur·ice\ncopy-button-copied = Copié\ncopy-button-copy-failed = Échec de la copie !\ncopy-button-copy = Copier\nfooter-mdn-on-github = MDN sur GitHub\nfooter-mdn-on-bluesky = MDN sur Bluesky\nfooter-mdn-on-x = MDN sur X\nfooter-mdn-on-mastodon = MDN sur Mastodon\nfooter-mdn-blog-rss-feed = Flux RSS du blog MDN\nfooter-mdn = MDN\nfooter-about = À propos\nfooter-blog = Blog\nfooter-mozilla-careers = Offres d'emploi chez Mozilla\nfooter-advertise-with-us = Faites de la publicité avec nous\nfooter-mdn-plus = MDN Plus\nfooter-product-help = Assistance produit\nfooter-contribute = Contribuer\nfooter-mdn-community = Communauté MDN\nfooter-community-resources = Ressources communautaires\nfooter-writing-guidelines = Directives de rédaction\nfooter-mdn-discord = Discord MDN\nfooter-developers = Développeur·euse·s\nfooter-web-technologies = Technologies web\nfooter-learn-web-development = Apprendre le développement web\nfooter-guides = Guides\nfooter-tutorials = Tutoriels\nfooter-glossary = Glossaire\nfooter-hacks-blog = Blog Hacks\nfooter-website-privacy-notice = Politique de confidentialité du site web\nfooter-telemetry-settings = Paramètres de télémétrie\nfooter-legal = Mentions légales\nfooter-community-participation-guidelin = Directives de participation communautaire\nfooter-mdn-logo = Logo MDN\nfooter-tagline = Votre modèle pour un internet meilleur.\nfooter-mozilla-logo = Logo Mozilla\ngeneric-toc__header = Dans cet article\nhomepage-body-featured-articles = Articles en vedette\nhomepage-body-latest-news = Dernières nouvelles\nhomepage-body-recent-contributions = Contributions récentes\nhomepage-contributor-spotlight-contributor-spotlight = Projecteur sur les contributeur·ice·s\nhomepage-contributor-spotlight-get-involved = Participez\nhomepage-search-search-the-site = Rechercher sur le site\nhomepage-search-search = Rechercher\ninteractive-example-reset = Réinitialiser\ninteractive-example-value-select = Sélectionner une valeur\ninteractive-example-the-current-value-is-not-support = La valeur actuelle n'est pas prise en charge par votre navigateur.\ninteractive-example-run-example-and-show-console-ou = Exécuter l'exemple et afficher la sortie de la console\ninteractive-example-run = Exécuter\ninteractive-example-reset-example-and-clear-console = Réinitialiser l'exemple et effacer la console\ninteractive-example-console-output = Sortie de la console\ninteractive-example-output = Sortie\nissues-table-loading-issues = chargement des problèmes…\nissues-table-title = Titre\nissues-table-repository = Dépôt\nlanguage-switcher-remember-language = Se souvenir de la langue\nlanguage-switcher-enable-this-setting-to-always-sw = Activez ce paramètre pour toujours passer à la langue actuelle lorsque disponible. (Cliquez pour en savoir plus.)\nlanguage-switcher-learn-more = En savoir plus\nlogin-button-login = Se connecter\nmodal-exit-modal = Quitter la fenêtre contextuelle\nnavigation-toggle-navigation = Basculer la navigation\nobs-about-title = À propos de l'HTTP Observatory\nobservatory-landing-read-our-faq = Lire notre FAQ\nobservatory-landing-report-feedback = Faire un retour\nobservatory-rescan-button-rescan = Re-scanner\nobservatory-rescan-button-wait-a-minute-to-rescan = Attendez une minute pour re-scanner\nobservatory-results-report-feedback = Faire un retour\nobservatory-results-faq = FAQ\nobservatory-tests-and-scores-loading-tests-and-scoring-data = Chargement des tests et des données de notation...\nobservatory-tests-and-scores-see = Voir\nobservatory-tests-and-scores-for-guidance = pour des conseils.\nobservatory-tests-and-scores-test-result = Résultat du test\nobservatory-tests-and-scores-description = Description\nobservatory-tests-and-scores-modifier = Modifier\nobservatory-tests-and-scores-failed-to-load-tests-and-scoring = Échec du chargement des tests et des données de notation. Veuillez réessayer plus tard.\nbrand-web-docs = MDN Web Docs\nblog-rss-title = Flux RSS du Blog MDN\nmeta-description = Le site MDN Web Docs fournit des informations sur les technologies Web ouvertes, y compris HTML, CSS et les API pour les sites Web et les applications Web progressives.\nlogo-alt = Logo MDN\npagination-pagination = Pagination\nplayground-do-you-really-want-to-clear-ever = Voulez-vous vraiment tout effacer ?\nplayground-do-you-really-want-to-revert-you = Voulez-vous vraiment revenir sur vos modifications ?\nplayground-playground = Terrain d'essai\nplayground-format = Format\nplayground-run = Exécuter\nplayground-share = Partager\nplayground-clear = Effacer\nplayground-reset = Réinitialiser\nplayground-seeing-something-inappropriate = Voir quelque chose d'inapproprié ?\nplayground-console = Console\nplayground-share-markdown = Partager le Markdown\nplayground-copy-markdown-to-clipboard = Copier le Markdown dans le presse-papiers\nplayground-share-data-url = Partager l'URL des données\nplayground-copy-data-url-to-clipboard = Copier l'URL des données dans le presse-papiers\nplayground-share-your-code-via-permalink = Partager votre code avec un lien permanent\nplayground-copy-to-clipboard = Copier dans le presse-papiers\nplayground-create-link = Créer un lien\nplayground-report-this-malicious-or-inappro = Signaler ce terrain d'essai partagé comme malveillant ou inapproprié.\nplayground-can-you-please-share-some-detail = Pouvez-vous partager quelques détails sur ce qui ne va pas avec ce contenu :\nplayground-cancel = Annuler\nplayground-report = Signaler\nrecently-visited-recently-visited = Récemment visité\nscrim-inline-clicking-will-load-content-from = Cliquer chargera le contenu depuis scrimba.com\nscrim-inline-toggle-fullscreen = Basculer en plein écran\nscrim-inline-open-on-scrimba = Ouvrir sur Scrimba\nscrim-inline-load-scrim-and-open-dialog = Charger le scrim et ouvrir la boîte de dialogue.\nsearch-button-search-the-site = Rechercher sur le site\nsearch-modal-loading-search-index = Chargement de l'index de recherche…\nsearch-modal-search = Rechercher\nsearch-modal-exit-search = Quitter la recherche\nsidebar-filter-filter-sidebar = Filtrer la barre latérale\nsidebar-filter-filter = Filtrer\nsidebar-filter-clear-filter-input = Effacer le filtre\nsite-search-search = Rechercher\nsite-search-previous = Précédent\nsite-search-next = Suivant\nsite-search-suggestions-text = Voulez-vous dire…\nsite-search-searching = Recherche en cours…\nsite-search-language = Langue\nsite-search-both = Les deux\nspecifications-list-this-feature-does-not-appear-to = Cette fonctionnalité ne semble pas être définie dans une spécification.\nspecifications-list-specification = Spécification\nsurvey-hide-this-survey = Masquer ce sondage\nsurvey-take-survey-opens-in-a-new-tab = Participer au sondage (s'ouvre dans un nouvel onglet)\ntoggle-sidebar-toggle-sidebar = Basculer la barre latérale\nuser-menu-ai-help = Aide IA\nuser-menu-collections = Collections\nuser-menu-updates = Mises à jour\nuser-menu-settings = Mes paramètres\nuser-menu-help = Aide\nuser-menu-feedback = Retour\nuser-menu-user = Utilisateur·ice\nwriter-open-editor-open-in-editor = Ouvrir dans l'éditeur\nwriter-toolbar-view-on-mdn = Voir sur MDN\n`;"],"names":[],"mappings":"iJAAA,MAAe,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,A"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __rspack_esm_id="3094";export const __rspack_esm_ids=["3094"];export const __webpack_modules__={55237(e,t,s){s.r(t),s.d(t,{MDNRecordVisit:()=>MDNRecordVisit});var i=s(97825),c=s(93649);let MDNRecordVisit=class MDNRecordVisit extends i.WF{static ssr=!1;static properties={pageTitle:{type:String,attribute:"page-title"}};constructor(){super(),this.pageTitle}connectedCallback(){super.connectedCallback(),this.pageTitle&&new c.B().add(new c.E({title:this.pageTitle,path:location.pathname}))}};customElements.define("mdn-record-visit",MDNRecordVisit)}};
|
|
2
|
-
//# sourceMappingURL=3094.
|
|
1
|
+
export const __rspack_esm_id="3094";export const __rspack_esm_ids=["3094"];export const __webpack_modules__={55237(e,t,s){s.r(t),s.d(t,{MDNRecordVisit:()=>MDNRecordVisit});var i=s(97825),c=s(93649);let MDNRecordVisit=class MDNRecordVisit extends i.WF{static ssr=!1;static properties={pageTitle:{type:String,attribute:"page-title"}};constructor(){super(),this.pageTitle=void 0}connectedCallback(){super.connectedCallback(),this.pageTitle&&new c.B().add(new c.E({title:this.pageTitle,path:location.pathname}))}};customElements.define("mdn-record-visit",MDNRecordVisit)}};
|
|
2
|
+
//# sourceMappingURL=3094.ad202726cd671cc6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3094.ad202726cd671cc6.js","sources":["webpack://@mdn/fred/./components/record-visit/element.js"],"sourcesContent":["import { LitElement } from \"lit\";\n\nimport {\n RecentlyVisitedPage,\n RecentlyVisitedPages,\n} from \"../recently-visited/index.js\";\n\nexport class MDNRecordVisit extends LitElement {\n static ssr = false;\n static properties = {\n pageTitle: { type: String, attribute: \"page-title\" },\n };\n\n constructor() {\n super();\n /** @type {string | undefined} */\n this.pageTitle = undefined;\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (this.pageTitle) {\n const visited = new RecentlyVisitedPages();\n visited.add(\n new RecentlyVisitedPage({\n title: this.pageTitle,\n path: location.pathname,\n }),\n );\n }\n }\n}\n\ncustomElements.define(\"mdn-record-visit\", MDNRecordVisit);\n"],"names":["MDNRecordVisit","String","location","customElements"],"mappings":"sMAOO,IAAMA,eAAN,MAAMA,uBAAuB,IAAU,CAC5C,OAAO,IAAM,EAAM,AACnB,QAAO,WAAa,CAClB,UAAW,CAAE,KAAMC,OAAQ,UAAW,YAAa,CACrD,CAAE,AAEF,cAAc,CACZ,KAAK,GAEL,IAAI,CAAC,SAAS,CAAG,MACnB,CAEA,mBAAoB,CAClB,KAAK,CAAC,oBACF,IAAI,CAAC,SAAS,EAEhB,AADgB,IAAI,GAAoB,GAChC,GAAG,CACT,IAAI,GAAmB,CAAC,CACtB,MAAO,IAAI,CAAC,SAAS,CACrB,KAAMC,SAAS,QAAQ,AACzB,GAGN,CACF,EAEAC,eAAe,MAAM,CAAC,mBAAoBH,e"}
|
|
@@ -14,7 +14,7 @@ export const __rspack_esm_id="4204";export const __rspack_esm_ids=["4204"];expor
|
|
|
14
14
|
<a href=${t.html_url} target="_blank" rel="noreferrer">
|
|
15
15
|
${t.title}
|
|
16
16
|
</a>
|
|
17
|
-
${t.labels.map(t=>{let e="object"==typeof t&&null!==t?t.name:t;this.LABELS.includes(e)
|
|
17
|
+
${t.labels.map(t=>{let e="object"==typeof t&&null!==t?t.name:t;return this.LABELS.includes(e)?(0,r.qy)`<span class="label">${e}</span>`:null})}
|
|
18
18
|
</div>
|
|
19
19
|
</td>
|
|
20
20
|
<td>
|
|
@@ -31,4 +31,4 @@ export const __rspack_esm_id="4204";export const __rspack_esm_ids=["4204"];expor
|
|
|
31
31
|
</tbody>
|
|
32
32
|
</table>
|
|
33
33
|
`}};customElements.define("mdn-issues-table",MDNIssuesTable)}};
|
|
34
|
-
//# sourceMappingURL=4204.
|
|
34
|
+
//# sourceMappingURL=4204.082860f577e883b1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"4204.
|
|
1
|
+
{"version":3,"file":"4204.082860f577e883b1.js","sources":["webpack://@mdn/fred/./components/issues-table/element.css","webpack://@mdn/fred/./components/issues-table/element.js"],"sourcesContent":["import { css } from \"lit\";\n// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;margin-left:auto;margin-right:auto;margin-top:1rem;max-width:var(--max-width);padding-left:var(--gutter);padding-right:var(--gutter);width:100%}table{background:var(--community-card-bg);border:1px solid var(--community-table-border);border-collapse:initial;border-radius:.5rem;border-spacing:0;color:var(--community-text-primary);width:100%}td,th{border:none;padding:1.5rem}@media (width <= 769px){:is(th,td):last-of-type{display:none}}th{background:none;font-size:var(--font-size-large);font-weight:var(--font-weight-bold);text-align:left}@media (width <= 769px){th{display:none}}tbody tr:nth-child(odd){background:var(--community-table-row)}td>div{align-items:baseline;display:flex;flex-wrap:wrap;gap:1rem 1.5rem}a{color:var(--color-link-normal)}a:visited{color:var(--color-link-visited)}.label{background:var(--community-label-bg);border-radius:.25rem;color:var(--community-text-success);font-weight:500;padding:.5rem 1rem}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","import { LitElement, html, nothing } from \"lit\";\n\nimport { L10nMixin } from \"../../l10n/mixin.js\";\n\nimport styles from \"./element.css?lit\";\n\nexport class MDNIssuesTable extends L10nMixin(LitElement) {\n static styles = styles;\n\n static properties = {\n _issues: { state: true },\n _isLoading: { state: true },\n _error: { state: true },\n };\n\n constructor() {\n super();\n /** @type {import(\"@github\").Issues} */\n this._issues = [];\n /** @type {boolean} */\n this._isLoading = true; // Start in loading state\n /** @type {string | null} */\n this._error = null;\n /** @constant {string[]} */\n this.LABELS = [\"good first issue\", \"accepting PR\"];\n }\n\n connectedCallback() {\n super.connectedCallback();\n // Fetch issues when component is connected to the DOM.\n // static ssr = false ensures this runs client-side.\n this._fetchIssues();\n }\n\n async _fetchIssues() {\n this._isLoading = true;\n this._error = null;\n const query =\n 'is:open is:issue repo:mdn/content repo:mdn/translated-content repo:mdn/yari label:\"good first issue\",\"accepting PR\" sort:created-desc no:assignee is:public';\n const url = new URL(\"https://api.github.com/search/issues\");\n url.searchParams.append(\"per_page\", \"5\");\n url.searchParams.append(\"q\", query);\n\n try {\n const res = await fetch(url.toString());\n if (!res.ok) {\n throw new Error(`GitHub API Error: ${res.status} ${res.statusText}`);\n }\n const data = await res.json();\n this._issues = data.items;\n } catch (error) {\n console.error(\"Failed to fetch GitHub issues:\", error);\n // @ts-expect-error\n this._error = error.toString();\n this._issues = []; // Set to empty array on error to prevent issues with map\n } finally {\n this._isLoading = false;\n }\n }\n\n render() {\n if (this._isLoading) {\n return html`${this.l10n(\"issues-table-loading-issues\")`loading issues…`}`;\n }\n if (this._error) {\n return html`${this._error}`;\n }\n if (this._issues.length === 0) {\n return nothing;\n }\n\n return html`\n <table>\n <thead>\n <tr>\n <th>${this.l10n(\"issues-table-title\")`Title`}</th>\n <th>${this.l10n(\"issues-table-repository\")`Repository`}</th>\n </tr>\n </thead>\n <tbody>\n ${this._issues.map(\n (issue) => html`\n <tr>\n <td>\n <div>\n <a href=${issue.html_url} target=\"_blank\" rel=\"noreferrer\">\n ${issue.title}\n </a>\n ${issue.labels.map((label) => {\n const labelName =\n typeof label === \"object\" && label !== null\n ? label.name\n : label;\n return this.LABELS.includes(labelName)\n ? html`<span class=\"label\">${labelName}</span>`\n : null;\n })}\n </div>\n </td>\n <td>\n <a\n href=${issue.repository_url.replace(\n \"https://api.github.com/repos/\",\n \"https://github.com/\",\n )}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n ${issue.repository_url.replace(\n \"https://api.github.com/repos/\",\n \"\",\n )}\n </a>\n </td>\n </tr>\n `,\n )}\n </tbody>\n </table>\n `;\n }\n}\n\ncustomElements.define(\"mdn-issues-table\", MDNIssuesTable);\n"],"names":["MDNIssuesTable","URL","fetch","Error","console","customElements"],"mappings":"yLAII,EAA0B,A,SAA4B,KAE1D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,q7BAAs7B,GAAG,EAEl+B,MAAe,SAAI,CAAC,EAAwB,QAAQ,GAAG,C,sGCFhD,IAAMA,eAAN,MAAMA,sBAAuB,QAAU,IAAU,EACtD,OAAO,OAAS,GAAM,AAAC,AAEvB,QAAO,WAAa,CAClB,QAAS,CAAE,MAAO,EAAK,EACvB,WAAY,CAAE,MAAO,EAAK,EAC1B,OAAQ,CAAE,MAAO,EAAK,CACxB,CAAE,AAEF,cAAc,CACZ,KAAK,GAEL,IAAI,CAAC,OAAO,CAAG,EAAE,CAEjB,IAAI,CAAC,UAAU,CAAG,GAElB,IAAI,CAAC,MAAM,CAAG,KAEd,IAAI,CAAC,MAAM,CAAG,CAAC,mBAAoB,eAAe,AACpD,CAEA,mBAAoB,CAClB,KAAK,CAAC,oBAGN,IAAI,CAAC,YAAY,EACnB,CAEA,MAAM,cAAe,CACnB,IAAI,CAAC,UAAU,CAAG,GAClB,IAAI,CAAC,MAAM,CAAG,KAGd,IAAM,EAAM,IAAIC,IAAI,wCACpB,EAAI,YAAY,CAAC,MAAM,CAAC,WAAY,KACpC,EAAI,YAAY,CAAC,MAAM,CAAC,IAHtB,+JAKF,GAAI,CACF,IAAM,EAAM,MAAMC,MAAM,EAAI,QAAQ,IACpC,GAAI,CAAC,EAAI,EAAE,CACT,MAAM,AAAIC,MAAM,CAAC,kBAAkB,EAAE,EAAI,MAAM,CAAC,CAAC,EAAE,EAAI,UAAU,CAAC,CAAC,EAErE,IAAM,EAAO,MAAM,EAAI,IAAI,EAC3B,KAAI,CAAC,OAAO,CAAG,EAAK,KAAK,AAC3B,CAAE,MAAO,EAAO,CACdC,QAAQ,KAAK,CAAC,iCAAkC,GAEhD,IAAI,CAAC,MAAM,CAAG,EAAM,QAAQ,GAC5B,IAAI,CAAC,OAAO,CAAG,EAAE,AACnB,QAAU,CACR,IAAI,CAAC,UAAU,CAAG,EACpB,CACF,CAEA,QAAS,QACP,AAAI,IAAI,CAAC,UAAU,CACV,QAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC,CAAC,CAEvE,IAAI,CAAC,MAAM,CACN,QAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAEzB,AAAwB,IAAxB,IAAI,CAAC,OAAO,CAAC,MAAM,CACd,IAAO,CAGT,QAAI,CAAC;;;;gBAIA,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACzC,EAAE,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;;;;UAIzD,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAChB,AAAC,GAAU,QAAI,CAAC;;;;4BAIA,EAAE,EAAM,QAAQ,CAAC;sBACvB,EAAE,EAAM,KAAK,CAAC;;oBAEhB,EAAE,EAAM,MAAM,CAAC,GAAG,CAAC,AAAC,IAClB,IAAM,EACJ,AAAiB,UAAjB,OAAO,GAAsB,AAAU,OAAV,EACzB,EAAM,IAAI,CACV,EACN,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GACxB,QAAI,CAAC,oBAAoB,EAAE,EAAU,OAAO,CAAC,CAC7C,IACN,GAAG;;;;;yBAKE,EAAE,EAAM,cAAc,CAAC,OAAO,CACjC,gCACA,uBACA;;;;oBAIF,EAAE,EAAM,cAAc,CAAC,OAAO,CAC5B,gCACA,IACA;;;;YAIV,CAAC,EACD;;;IAGR,CAAC,AACH,CACF,EAEAC,eAAe,MAAM,CAAC,mBAAoBL,e"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/*! For license information please see 5330.
|
|
2
|
-
export const __rspack_esm_id="5330";export const __rspack_esm_ids=["5330"];export const __webpack_modules__={78458(e,t,
|
|
1
|
+
/*! For license information please see 5330.0fa70a944297da04.js.LICENSE.txt */
|
|
2
|
+
export const __rspack_esm_id="5330";export const __rspack_esm_ids=["5330"];export const __webpack_modules__={78458(e,t,i){i.d(t,{A:()=>h});var s=i(97825),l=i(31601),n=i.n(l),r=i(76314),a=i.n(r),c=i(39807),o=i(10576),d=a()(n());d.i(c.A),d.i(o.A),d.push([e.id,".code-example .example-header{justify-content:end;padding-right:.5rem}@media print{.example-header,mdn-button{display:none!important}}",""]);let h=(0,s.AH)([d.toString()])},47849(e,t,i){i.r(t),i.d(t,{MDNLiveSampleResult:()=>MDNLiveSampleResult});var s=i(97825),l=i(5350),n=i(70693),r=i(78458);i(63657),i(17398);let MDNLiveSampleResult=class MDNLiveSampleResult extends(0,n.J)(s.WF){static styles=r.A;static properties={liveId:{attribute:"live-id"},code:{type:Object},allowed:{},sandbox:{},srcPrefix:{attribute:"src-prefix"},height:{},breakoutLink:{state:!0}};constructor(){super(),this.liveId=void 0,this.code=void 0,this.allow=void 0,this.sandbox=void 0,this.srcPrefix=void 0,this.height=void 0,this.breakoutLink=void 0}_openFullscreen(e=!1){this._runnerSrc?e||this._fullscreenReplace?location.replace(this._runnerSrc):location.href=this._runnerSrc:(this._fullscreenPending=!0,e&&(this._fullscreenReplace=!0))}_fullscreenClick(e){this.liveId&&e.target instanceof HTMLAnchorElement&&e.target.hash===`#livesample_fullscreen=${this.liveId}`&&(e.preventDefault(),this._openFullscreen())}_runnerSrcUpdated({detail:e}){this._runnerSrc=e,this._fullscreenPending&&this._openFullscreen();let t=new URL("/en-US/play",location.href);t.search=new URL(this._runnerSrc).search,this.srcPrefix&&t.searchParams.append("srcPrefix",this.srcPrefix),this.breakoutLink=t.href}connectedCallback(){super.connectedCallback(),this._fullscreenClick=this._fullscreenClick.bind(this),document.addEventListener("click",this._fullscreenClick),location.hash===`#livesample_fullscreen=${this.liveId}`&&this._openFullscreen()}render(){return(0,s.qy)`
|
|
3
3
|
<div class="code-example">
|
|
4
4
|
<div class="example-header">
|
|
5
|
-
${this.breakoutLink?(0,
|
|
5
|
+
${this.breakoutLink?(0,s.qy)`<mdn-button
|
|
6
6
|
variant="secondary"
|
|
7
7
|
href=${this.breakoutLink}
|
|
8
8
|
target="_blank"
|
|
@@ -10,17 +10,17 @@ export const __rspack_esm_id="5330";export const __rspack_esm_ids=["5330"];expor
|
|
|
10
10
|
aria-label=${this.l10n("example-play-button-title")}
|
|
11
11
|
title=${this.l10n("example-play-button-title")}
|
|
12
12
|
>${this.l10n("example-play-button-label")}</mdn-button
|
|
13
|
-
>`:
|
|
13
|
+
>`:s.s6}
|
|
14
14
|
</div>
|
|
15
15
|
<mdn-play-runner
|
|
16
16
|
@mdn-play-runner-src=${this._runnerSrcUpdated}
|
|
17
17
|
.code=${this.code}
|
|
18
18
|
.allow=${this.allow}
|
|
19
|
-
.sandbox=${[...new Set(["allow-modals","allow-downloads",...this.sandbox?.split(" ")||[]])].join(" ")}
|
|
19
|
+
.sandbox=${[...new Set(["allow-modals","allow-downloads","allow-fullscreen","allow-orientation-lock",...this.sandbox?.split(" ")||[]])].join(" ")}
|
|
20
20
|
.srcPrefix=${this.srcPrefix}
|
|
21
21
|
permalink
|
|
22
22
|
style=${(0,l.W)({height:this.height?`${this.height}${/[0-9]$/.test(this.height)?"px":""}`:void 0})}
|
|
23
23
|
></mdn-play-runner>
|
|
24
24
|
</div>
|
|
25
|
-
`}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._fullscreenClick)}};customElements.define("mdn-live-sample-result",MDNLiveSampleResult)},13121(e,t,
|
|
26
|
-
//# sourceMappingURL=5330.
|
|
25
|
+
`}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._fullscreenClick)}};customElements.define("mdn-live-sample-result",MDNLiveSampleResult)},13121(e,t,i){i.d(t,{J:()=>l});var s=i(36752);let l=e=>e??s.s6},19713(e,t,i){i.d(t,{D:()=>r});var s=i(36752),l=i(7804),n=i(18504);let r=(0,l.u$)(class extends l.WL{constructor(){super(...arguments),this.key=s.s6}render(e,t){return this.key=e,t}update(e,[t,i]){return t!==this.key&&((0,n.mY)(e),this.key=t),i}})}};
|
|
26
|
+
//# sourceMappingURL=5330.0fa70a944297da04.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"5330.
|
|
1
|
+
{"version":3,"file":"5330.0fa70a944297da04.js","sources":["webpack://@mdn/fred/./components/live-sample-result/element.css","webpack://@mdn/fred/./components/live-sample-result/element.js","webpack://@mdn/fred/./node_modules/lit-html/directives/if-defined.js","webpack://@mdn/fred/./node_modules/lit-html/directives/keyed.js"],"sourcesContent":["import { css } from \"lit\";\n// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../build/loaders/fix-light-dark.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!../global/global.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../build/loaders/fix-light-dark.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!../code-example/common.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, `.code-example .example-header{justify-content:end;padding-right:.5rem}@media print{.example-header,mdn-button{display:none!important}}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","import { LitElement, html, nothing } from \"lit\";\n\nimport { styleMap } from \"lit/directives/style-map.js\";\n\nimport { L10nMixin } from \"../../l10n/mixin.js\";\n\nimport styles from \"./element.css?lit\";\n\nimport \"../play-runner/element.js\";\nimport \"../button/element.js\";\n\nexport class MDNLiveSampleResult extends L10nMixin(LitElement) {\n static styles = styles;\n\n static properties = {\n liveId: { attribute: \"live-id\" },\n code: { type: Object },\n allowed: {},\n sandbox: {},\n srcPrefix: { attribute: \"src-prefix\" },\n height: {},\n breakoutLink: { state: true },\n };\n\n constructor() {\n super();\n /** @type {string | undefined} */\n this.liveId = undefined;\n /** @type {Record<string, string> | undefined} */\n this.code = undefined;\n /** @type {string | undefined} */\n this.allow = undefined;\n /** @type {string | undefined} */\n this.sandbox = undefined;\n /** @type {string | undefined} */\n this.srcPrefix = undefined;\n /** @type {string | undefined} */\n this.height = undefined;\n /** @type {string | undefined} */\n this.breakoutLink = undefined;\n }\n\n _openFullscreen(replace = false) {\n if (this._runnerSrc) {\n if (replace || this._fullscreenReplace) {\n location.replace(this._runnerSrc);\n } else {\n location.href = this._runnerSrc;\n }\n } else {\n this._fullscreenPending = true;\n if (replace) {\n this._fullscreenReplace = true;\n }\n }\n }\n\n /** @param {MouseEvent} event */\n _fullscreenClick(event) {\n if (\n this.liveId &&\n event.target instanceof HTMLAnchorElement &&\n event.target.hash === `#livesample_fullscreen=${this.liveId}`\n ) {\n event.preventDefault();\n this._openFullscreen();\n }\n }\n\n /** @param {CustomEvent<string>} event */\n _runnerSrcUpdated({ detail }) {\n this._runnerSrc = detail;\n if (this._fullscreenPending) {\n this._openFullscreen();\n }\n const playUrl = new URL(\"/en-US/play\", location.href);\n playUrl.search = new URL(this._runnerSrc).search;\n if (this.srcPrefix)\n playUrl.searchParams.append(\"srcPrefix\", this.srcPrefix);\n this.breakoutLink = playUrl.href;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._fullscreenClick = this._fullscreenClick.bind(this);\n document.addEventListener(\"click\", this._fullscreenClick);\n if (location.hash === `#livesample_fullscreen=${this.liveId}`) {\n this._openFullscreen();\n }\n }\n\n render() {\n return html`\n <div class=\"code-example\">\n <div class=\"example-header\">\n ${this.breakoutLink\n ? html`<mdn-button\n variant=\"secondary\"\n href=${this.breakoutLink}\n target=\"_blank\"\n rel=\"opener\"\n aria-label=${this.l10n(\"example-play-button-title\")}\n title=${this.l10n(\"example-play-button-title\")}\n >${this.l10n(\"example-play-button-label\")}</mdn-button\n >`\n : nothing}\n </div>\n <mdn-play-runner\n @mdn-play-runner-src=${this._runnerSrcUpdated}\n .code=${this.code}\n .allow=${this.allow}\n .sandbox=${[\n ...new Set([\n \"allow-modals\",\n \"allow-downloads\",\n \"allow-fullscreen\",\n \"allow-orientation-lock\",\n ...(this.sandbox?.split(\" \") || []),\n ]),\n ].join(\" \")}\n .srcPrefix=${this.srcPrefix}\n permalink\n style=${styleMap({\n height: this.height\n ? `${this.height}${/[0-9]$/.test(this.height) ? \"px\" : \"\"}`\n : undefined,\n })}\n ></mdn-play-runner>\n </div>\n `;\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener(\"click\", this._fullscreenClick);\n }\n}\n\ncustomElements.define(\"mdn-live-sample-result\", MDNLiveSampleResult);\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{nothing as r}from\"../lit-html.js\";import{directive as t,Directive as e}from\"../directive.js\";import{setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const i=t(class extends e{constructor(){super(...arguments),this.key=r}render(r,t){return this.key=r,t}update(r,[t,e]){return t!==this.key&&(s(r),this.key=t),e}});export{i as keyed};\n//# sourceMappingURL=keyed.js.map\n"],"names":["MDNLiveSampleResult","Object","location","e","HTMLAnchorElement","URL","document","Set","customElements","arguments","t"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __rspack_esm_id="5649";export const __rspack_esm_ids=["5649"];export const __webpack_modules__={30776(e,i,t){t.d(i,{N:()=>c});var s=t(31011),n=t(97825),r=t(52258),o=t(23727);let h={threshold:.5};let ViewedController=class ViewedController{#e;constructor(e,i,t,s=h){this.#e=e,this.#e.addController(this),this.target=i,this.callback=t,this.intersectionObserverOptions=s,this._visible=!globalThis.document?.hidden,this._timer=null,this._hasViewed=!1,this._onVisibilityChange=this.onVisibilityChange.bind(this)}hostConnected(){document.addEventListener("visibilitychange",this._onVisibilityChange)}hostDisconnected(){this.disconnectObserver(),document.removeEventListener("visibilitychange",this._onVisibilityChange)}hostUpdated(){let e=this.target.value;e&&(this._observer=new IntersectionObserver(e=>{for(let i of e)this._checkAndSetTimer(i.isIntersecting)},this.intersectionObserverOptions),this._observer.observe(e))}disconnectObserver(){this._observer&&this._observer.disconnect()}onVisibilityChange(){this._visible=!document.hidden,this._checkAndSetTimer()}_checkAndSetTimer(e=!1){!this._hasViewed&&this._visible&&e?null===this._timer&&(this._timer=globalThis.setTimeout(()=>{this._hasViewed=!0,this.callback()},1e3)):null!==this._timer&&(clearTimeout(this._timer),this._timer=null)}};var l=t(20126);t(13755);let c=e=>class extends e{static ssr=!1;_placementRef=(0,r._)();_dataTask=new s.YZ(this,{task:async()=>await (0,l.M)()});constructor(...e){super(...e),this._viewedUrl=void 0,this._version=void 0,this.viewed=new ViewedController(this,this._placementRef,()=>{if(this._viewedUrl){navigator.sendBeacon?.(this.viewedLink(this._viewedUrl,this._version));let e=this._placementRef.value?.dataset.type??"unknown";(0,o.w)(`pong: pong->viewed ${e}`)}})}connectedCallback(){super.connectedCallback(),this._dataTask.run()}renderComplete(e){throw Error("Must be implemented by subclass")}renderFallback(){return n.s6}renderInitial(){return n.s6}render(){return this._dataTask.render({initial:()=>this.renderInitial(),pending:()=>this.renderInitial(),error:()=>this.renderFallback(),complete:e=>this.renderComplete(e)})}clickLink(e,i){return`/pong/click?code=${encodeURIComponent(e)}&version=${i}`}imgLink(e){return`/pimg/${encodeURIComponent(e||"")}`}viewedLink(e,i){return`/pong/viewed?code=${encodeURIComponent(e)}${i?`&version=${i}`:""}`}}}};
|
|
2
|
+
//# sourceMappingURL=5649.00f25ce181894101.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"5649.00f25ce181894101.js","sources":["webpack://@mdn/fred/./components/viewed-controller/viewed-controller.js","webpack://@mdn/fred/./components/placement/mixin.js"],"sourcesContent":["/**\n * @import { LitElement } from \"lit\";\n * @import { Ref } from \"lit/directives/ref.js\";\n */\n\nconst OPTIONS = {\n threshold: 0.5,\n};\n\nexport class ViewedController {\n #host;\n\n /**\n * @param {LitElement} host\n * @param {Ref<Element>} target\n * @param {Function} callback\n * @param {IntersectionObserverInit} [intersectionObserverOptions]\n */\n constructor(host, target, callback, intersectionObserverOptions = OPTIONS) {\n this.#host = host;\n this.#host.addController(this);\n\n this.target = target;\n this.callback = callback;\n this.intersectionObserverOptions = intersectionObserverOptions;\n\n this._visible = !globalThis.document?.hidden;\n this._timer = null;\n this._hasViewed = false;\n this._onVisibilityChange = this.onVisibilityChange.bind(this);\n }\n\n hostConnected() {\n document.addEventListener(\"visibilitychange\", this._onVisibilityChange);\n }\n\n hostDisconnected() {\n this.disconnectObserver();\n document.removeEventListener(\"visibilitychange\", this._onVisibilityChange);\n }\n\n hostUpdated() {\n const target = this.target.value;\n if (target) {\n this._observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n this._checkAndSetTimer(entry.isIntersecting);\n }\n }, this.intersectionObserverOptions);\n this._observer.observe(target);\n }\n }\n\n disconnectObserver() {\n if (this._observer) {\n this._observer.disconnect();\n }\n }\n\n onVisibilityChange() {\n this._visible = !document.hidden;\n this._checkAndSetTimer();\n }\n\n /**\n * If the page is visible and the element is intersecting, start a 1-second timer\n * to dispatch the \"view\" event.\n *\n * If conditions are not met before the timer fires, clear the timer.\n *\n * @param {boolean} isIntersecting\n */\n _checkAndSetTimer(isIntersecting = false) {\n if (!this._hasViewed && this._visible && isIntersecting) {\n if (this._timer === null) {\n this._timer = globalThis.setTimeout(() => {\n this._hasViewed = true;\n this.callback();\n }, 1000);\n }\n } else {\n if (this._timer !== null) {\n clearTimeout(this._timer);\n this._timer = null;\n }\n }\n }\n}\n","import { Task } from \"@lit/task\";\nimport { nothing } from \"lit\";\nimport { createRef } from \"lit/directives/ref.js\";\n\nimport { gleanClick } from \"../../utils/glean.js\";\nimport { ViewedController } from \"../viewed-controller/viewed-controller.js\";\n\nimport { globalPlacementContext } from \"./context.js\";\n\nimport \"../placement-no/element.js\";\n\n/**\n * @import { LitElement, TemplateResult } from \"lit\";\n * @import * as Placements from \"./types.js\";\n */\n\n/**\n * @template {new (...args: any[]) => LitElement} TBase\n * @param {TBase} Base\n */\nexport const PlacementMixin = (Base) =>\n class PlacementElement extends Base {\n static ssr = false;\n /** @type {import('lit/directives/ref.js').Ref<HTMLElement>} */\n _placementRef = createRef();\n\n _dataTask = new Task(this, {\n task: async () => {\n return await globalPlacementContext();\n },\n });\n\n /**\n *\n * @param {...any} args\n */\n constructor(...args) {\n super(...args);\n /**\n * @type {string | undefined}\n */\n this._viewedUrl = undefined;\n /**\n * @type {number | undefined}\n */\n this._version = undefined;\n /** @type {ViewedController} */\n this.viewed = new ViewedController(this, this._placementRef, () => {\n if (this._viewedUrl) {\n navigator.sendBeacon?.(\n this.viewedLink(this._viewedUrl, this._version),\n );\n const type = this._placementRef.value?.dataset.type ?? \"unknown\";\n gleanClick(`pong: pong->viewed ${type}`);\n }\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._dataTask.run();\n }\n\n /**\n *\n * @abstract\n * @param {Placements.PlacementContextData} _placementContext\n */\n renderComplete(_placementContext) {\n throw new Error(\"Must be implemented by subclass\");\n }\n\n /**\n *\n * @abstract\n * @returns {TemplateResult | nothing}\n */\n renderFallback() {\n // default: nothing, subclasses can override a default\n return nothing;\n }\n\n /**\n *\n * @returns {TemplateResult | symbol}\n */\n renderInitial() {\n return nothing;\n }\n\n render() {\n return this._dataTask.render({\n initial: () => this.renderInitial(),\n pending: () => this.renderInitial(),\n error: () => this.renderFallback(),\n complete: (placementContext) => {\n return this.renderComplete(placementContext);\n },\n });\n }\n\n /**\n *\n * @param {string} click\n * @param {number |undefined } version\n * @returns\n */\n clickLink(click, version) {\n return `/pong/click?code=${encodeURIComponent(click)}&version=${version}`;\n }\n\n /**\n *\n * @param {string | undefined} image\n * @returns\n */\n imgLink(image) {\n return `/pimg/${encodeURIComponent(image || \"\")}`;\n }\n\n /**\n *\n * @param {string} viewed\n * @param {number | undefined} version\n * @returns\n */\n viewedLink(viewed, version) {\n return `/pong/viewed?code=${encodeURIComponent(viewed)}${\n version ? `&version=${version}` : \"\"\n }`;\n }\n };\n"],"names":["ViewedController","globalThis","document","IntersectionObserver","e","clearTimeout","navigator","Error","n","encodeURIComponent"],"mappings":"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"}
|