@mdn/fred 1.1.1 → 1.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.
Files changed (61) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +4 -0
  3. package/build/env.js +11 -2
  4. package/build/render.js +4 -8
  5. package/build/ssr.js +2 -2
  6. package/components/env/README.md +28 -0
  7. package/components/env/index.js +2 -29
  8. package/components/env/runtime.js +6 -0
  9. package/components/env/types.d.ts +5 -0
  10. package/components/env/utils.js +45 -0
  11. package/components/outer-layout/server.js +12 -0
  12. package/out/service-worker.js +1 -1
  13. package/out/static/client/{1231.df3f6728f4b7e36e.js → 1231.84c230e0fa92f2d4.js} +2 -2
  14. package/out/static/client/{1231.df3f6728f4b7e36e.js.map → 1231.84c230e0fa92f2d4.js.map} +1 -1
  15. package/out/static/client/{1274.5c4c7493aa8334bf.js → 1274.e98f5c68889cda35.js} +2 -2
  16. package/out/static/client/{1274.5c4c7493aa8334bf.js.map → 1274.e98f5c68889cda35.js.map} +1 -1
  17. package/out/static/client/{2936.2446688864e1a136.js → 2936.7d85bf584b89578b.js} +2 -2
  18. package/out/static/client/{2936.2446688864e1a136.js.map → 2936.7d85bf584b89578b.js.map} +1 -1
  19. package/out/static/client/{370.85e6b0ff8596c5ae.js → 370.d2e13711140af6d1.js} +3 -3
  20. package/out/static/client/{370.85e6b0ff8596c5ae.js.map → 370.d2e13711140af6d1.js.map} +1 -1
  21. package/out/static/client/{451.d36f6f80badd6af6.js → 451.cd85e2808f388a00.js} +2 -2
  22. package/out/static/client/{451.d36f6f80badd6af6.js.map → 451.cd85e2808f388a00.js.map} +1 -1
  23. package/out/static/client/{606.221fc4347a8278e8.js → 606.d22d2cf33232a730.js} +2 -2
  24. package/out/static/client/{606.221fc4347a8278e8.js.map → 606.d22d2cf33232a730.js.map} +1 -1
  25. package/out/static/client/{8093.81b1b345d454a85e.js → 8093.b03f1cb1e8b0984a.js} +3 -3
  26. package/out/static/client/{8093.81b1b345d454a85e.js.map → 8093.b03f1cb1e8b0984a.js.map} +1 -1
  27. package/out/static/client/{9784.0096d3445a2a7e98.js → 9784.214845ec6d3b77e3.js} +3 -3
  28. package/out/static/client/{9784.0096d3445a2a7e98.js.map → 9784.214845ec6d3b77e3.js.map} +1 -1
  29. package/out/static/client/{9837.2374d8bd425a9866.js → 9837.6876cb5a9d3ad763.js} +2 -2
  30. package/out/static/client/{9837.2374d8bd425a9866.js.map → 9837.6876cb5a9d3ad763.js.map} +1 -1
  31. package/out/static/client/{9914.9b7171874efa4629.js → 9914.d49932c28ec56667.js} +2 -2
  32. package/out/static/client/{9914.9b7171874efa4629.js.map → 9914.d49932c28ec56667.js.map} +1 -1
  33. package/out/static/client/{index.dfccf913556b909a.js → index.0910bee955d71d1b.js} +5 -5
  34. package/out/static/client/index.0910bee955d71d1b.js.map +1 -0
  35. package/out/static/client/{runtime.05472639a6b3fea7.js → runtime.3216007ef48b58b9.js} +2 -2
  36. package/out/static/client/{runtime.05472639a6b3fea7.js.map → runtime.3216007ef48b58b9.js.map} +1 -1
  37. package/out/static/client/stats.json +112 -112
  38. package/out/static/client/{styles-global.1edda3f0378c4985.js → styles-global.5e83bb0f2c4c0268.js} +1 -1
  39. package/out/static/client/styles-global.a9d314985c899197.css +2 -0
  40. package/out/static/client/{styles-global.c9f2a49e47bf5c55.css.map → styles-global.a9d314985c899197.css.map} +1 -1
  41. package/out/static/legacy/asset-manifest.json +5 -5
  42. package/out/static/legacy/{index.c10af7d92675e9fd.html → index.bde4adba6f0cf3ac.html} +1 -1
  43. package/out/static/legacy/{index.4b9e35f28a890bda.js → index.e03b3082693746b6.js} +3 -3
  44. package/out/static/legacy/{index.4b9e35f28a890bda.js.map → index.e03b3082693746b6.js.map} +1 -1
  45. package/out/static/legacy/stats.json +10 -10
  46. package/out/static/legacy/{yari.2771217736dd92b4.js → yari.bd680acb6063d7c4.js} +3 -3
  47. package/out/static/legacy/{yari.2771217736dd92b4.js.map → yari.bd680acb6063d7c4.js.map} +1 -1
  48. package/out/static/ssr/index.js +10 -7
  49. package/out/static/ssr/index.js.map +1 -1
  50. package/out/static/ssr/stats.json +4 -4
  51. package/package.json +1 -1
  52. package/rspack.config.js +8 -7
  53. package/server.js +3 -3
  54. package/out/static/client/index.dfccf913556b909a.js.map +0 -1
  55. package/out/static/client/styles-global.c9f2a49e47bf5c55.css +0 -2
  56. /package/out/static/client/{370.85e6b0ff8596c5ae.js.LICENSE.txt → 370.d2e13711140af6d1.js.LICENSE.txt} +0 -0
  57. /package/out/static/client/{8093.81b1b345d454a85e.js.LICENSE.txt → 8093.b03f1cb1e8b0984a.js.LICENSE.txt} +0 -0
  58. /package/out/static/client/{9784.0096d3445a2a7e98.js.LICENSE.txt → 9784.214845ec6d3b77e3.js.LICENSE.txt} +0 -0
  59. /package/out/static/client/{index.dfccf913556b909a.js.LICENSE.txt → index.0910bee955d71d1b.js.LICENSE.txt} +0 -0
  60. /package/out/static/legacy/{index.4b9e35f28a890bda.js.LICENSE.txt → index.e03b3082693746b6.js.LICENSE.txt} +0 -0
  61. /package/out/static/legacy/{yari.2771217736dd92b4.js.LICENSE.txt → yari.bd680acb6063d7c4.js.LICENSE.txt} +0 -0
@@ -1,4 +1,4 @@
1
- export const __webpack_id__="1231";export const __webpack_ids__=["1231"];export const __webpack_modules__={36863:function(t,r,e){e.d(r,{A:()=>l});var o=e(63819),a=e(31601),n=e.n(a),i=e(76314),s=e.n(i),d=e(55196),c=s()(n());c.i(d.A),c.push([t.id,":host{display:block}.error{background-color:var(--error-bg,#fee);border-radius:.25rem;color:var(--error-color,#d33);margin:1rem 0;padding:1rem}section{margin-bottom:3rem}h3{font-size:var(--font-size-large);font-weight:var(--font-weight-normal);line-height:var(--font-line-content);margin-bottom:1rem;margin-top:2rem}.table-container{margin:1rem 0;overflow-x:auto}table{border-collapse:collapse;min-width:600px;width:100%}td,th{border:1px solid var(--color-border-primary);padding:.5rem .75rem;text-align:left}th{background-color:var(--color-background-secondary,#f5f5f5);font-weight:700}th[align=center]{text-align:center}tr:nth-child(2n){background-color:var(--color-background-secondary)}td:last-child{text-align:center}",""]);let l=(0,o.AH)([c.toString()])},55196:function(t,r,e){e.d(r,{A:()=>s});var o=e(31601),a=e.n(o),n=e(76314),i=e.n(n)()(a());i.push([t.id,"*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}img{height:auto;max-width:100%}a{color:var(--color-link-normal)}[hidden]{display:none!important}",""]);let s=i.toString()},37538:function(t,r,e){e.r(r),e.d(r,{MDNObservatoryTestsAndScores:()=>MDNObservatoryTestsAndScores});var o=e(64889),a=e(63819),n=e(58055),i=e(79097),s=e(36863);let MDNObservatoryTestsAndScores=class MDNObservatoryTestsAndScores extends a.WF{static styles=s.A;static ssr=!1;_fetchMatrixTask=new o.YZ(this,{task:async()=>{let t=await fetch(`${i.Q}/api/v2/recommendation_matrix`);return t.ok?(await t.json()).map(t=>({...t,results:t.results.map(t=>({...t,description_html:t.description}))})):[]},args:()=>[]});render(){return this._fetchMatrixTask.render({pending:()=>(0,a.qy)`<div class="loading">Loading tests and scoring data...</div>`,complete:t=>t.map(t=>(0,a.qy)`
1
+ export const __webpack_id__="1231";export const __webpack_ids__=["1231"];export const __webpack_modules__={36863:function(t,r,e){e.d(r,{A:()=>l});var o=e(63819),a=e(31601),n=e.n(a),i=e(76314),s=e.n(i),d=e(55196),c=s()(n());c.i(d.A),c.push([t.id,":host{display:block}.error{background-color:var(--error-bg,#fee);border-radius:.25rem;color:var(--error-color,#d33);margin:1rem 0;padding:1rem}section{margin-bottom:3rem}h3{font-size:var(--font-size-large);font-weight:var(--font-weight-normal);line-height:var(--font-line-content);margin-bottom:1rem;margin-top:2rem}.table-container{margin:1rem 0;overflow-x:auto}table{border-collapse:collapse;min-width:600px;width:100%}td,th{border:1px solid var(--color-border-primary);padding:.5rem .75rem;text-align:left}th{background-color:var(--color-background-secondary,#f5f5f5);font-weight:700}th[align=center]{text-align:center}tr:nth-child(2n){background-color:var(--color-background-secondary)}td:last-child{text-align:center}",""]);let l=(0,o.AH)([c.toString()])},55196:function(t,r,e){e.d(r,{A:()=>s});var o=e(31601),a=e.n(o),n=e(76314),i=e.n(n)()(a());i.push([t.id,"*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}img{height:auto;max-width:100%}a{color:var(--color-link-normal)}[hidden]{display:none!important}",""]);let s=i.toString()},37538:function(t,r,e){e.r(r),e.d(r,{MDNObservatoryTestsAndScores:()=>MDNObservatoryTestsAndScores});var o=e(64889),a=e(63819),n=e(58055),i=e(36728),s=e(36863);let MDNObservatoryTestsAndScores=class MDNObservatoryTestsAndScores extends a.WF{static styles=s.A;static ssr=!1;_fetchMatrixTask=new o.YZ(this,{task:async()=>{let t=await fetch(`${i.Q}/api/v2/recommendation_matrix`);return t.ok?(await t.json()).map(t=>({...t,results:t.results.map(t=>({...t,description_html:t.description}))})):[]},args:()=>[]});render(){return this._fetchMatrixTask.render({pending:()=>(0,a.qy)`<div class="loading">Loading tests and scoring data...</div>`,complete:t=>t.map(t=>(0,a.qy)`
2
2
  <section>
3
3
  <h3 id=${t.name}>${t.title}</h3>
4
4
  <p>
@@ -31,4 +31,4 @@ export const __webpack_id__="1231";export const __webpack_ids__=["1231"];export
31
31
  ${console.error("Observatory matrix fetch error:",t)}
32
32
  </div>
33
33
  `})}};customElements.define("mdn-observatory-tests-and-scores",MDNObservatoryTestsAndScores)}};
34
- //# sourceMappingURL=1231.df3f6728f4b7e36e.js.map
34
+ //# sourceMappingURL=1231.84c230e0fa92f2d4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1231.df3f6728f4b7e36e.js","sources":["webpack://@mdn/fred/./components/observatory-tests-and-scores/element.css","webpack://@mdn/fred/./components/global/global.css?1b68","webpack://@mdn/fred/./components/observatory-tests-and-scores/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\";\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\";\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// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}.error{background-color:var(--error-bg,#fee);border-radius:.25rem;color:var(--error-color,#d33);margin:1rem 0;padding:1rem}section{margin-bottom:3rem}h3{font-size:var(--font-size-large);font-weight:var(--font-weight-normal);line-height:var(--font-line-content);margin-bottom:1rem;margin-top:2rem}.table-container{margin:1rem 0;overflow-x:auto}table{border-collapse:collapse;min-width:600px;width:100%}td,th{border:1px solid var(--color-border-primary);padding:.5rem .75rem;text-align:left}th{background-color:var(--color-background-secondary,#f5f5f5);font-weight:700}th[align=center]{text-align:center}tr:nth-child(2n){background-color:var(--color-background-secondary)}td:last-child{text-align:center}`, \"\"]);\n// Exports\nexport default css([___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, `*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{color:inherit;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","import { Task } from \"@lit/task\";\nimport { LitElement, html } from \"lit\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\n\nimport { OBSERVATORY_API_URL } from \"../env/index.js\";\n\nimport styles from \"./element.css?lit\";\n\nexport class MDNObservatoryTestsAndScores extends LitElement {\n static styles = styles;\n static ssr = false;\n\n _fetchMatrixTask = new Task(this, {\n task: async () => {\n const response = await fetch(\n `${OBSERVATORY_API_URL}/api/v2/recommendation_matrix`,\n );\n\n if (!response.ok) {\n return [];\n }\n\n /**\n * @type {import(\"@observatory\").ScoringResponse}\n */\n const data = await response.json();\n\n const ret = data.map((entry) => ({\n ...entry,\n results: entry.results.map((result) => ({\n ...result,\n description_html: result.description,\n })),\n }));\n return ret;\n },\n args: () => [],\n });\n\n render() {\n return this._fetchMatrixTask.render({\n pending: () =>\n html`<div class=\"loading\">Loading tests and scoring data...</div>`,\n complete: (data) =>\n data.map(\n (entry) => html`\n <section>\n <h3 id=${entry.name}>${entry.title}</h3>\n <p>\n See <a href=${entry.mdnLink}>${entry.title}</a> for guidance.\n </p>\n <figure class=\"table-container\">\n <table>\n <thead>\n <tr>\n <th>Test result</th>\n <th>Description</th>\n <th align=\"center\">Modifier</th>\n </tr>\n </thead>\n <tbody>\n ${entry.results.map(\n (result) => html`\n <tr>\n <td>${result.name}</td>\n <td>${unsafeHTML(result.description_html)}</td>\n <td>${result.scoreModifier}</td>\n </tr>\n `,\n )}\n </tbody>\n </table>\n </figure>\n </section>\n `,\n ),\n error: (error) => html`\n <div class=\"error\">\n Failed to load tests and scoring data. Please try again later.\n ${console.error(\"Observatory matrix fetch error:\", error)}\n </div>\n `,\n });\n }\n}\n\ncustomElements.define(\n \"mdn-observatory-tests-and-scores\",\n MDNObservatoryTestsAndScores,\n);\n"],"names":["MDNObservatoryTestsAndScores","s","fetch","console","customElements"],"mappings":"oNAKI,EAA0B,IAA4B,KAC1D,EAAwB,CAAC,CAAC,GAAiC,EAE3D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,qtBAAstB,GAAG,EAElwB,MAAe,SAAI,CAAC,EAAwB,QAAQ,GAAG,C,4ECPnD,EAA0B,A,SAA4B,KAE1D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,wNAAyN,GAAG,EAErQ,MAAe,EAAwB,QAAQ,E,iKCCxC,IAAMA,6BAAN,MAAMA,qCAAqC,IAAU,CAC1D,OAAO,OAASC,EAAA,CAAM,AAAC,AACvB,QAAO,IAAM,EAAM,AAEnB,kBAAmB,IAAI,IAAI,CAAC,IAAI,CAAE,CAChC,KAAM,UACJ,IAAM,EAAW,MAAMC,MACrB,CAAC,EAAE,GAAmB,CAAC,6BAA6B,CAAC,SAGvD,AAAK,EAAS,EAAE,CASJ,AAFC,OAAM,EAAS,IAAI,EAAC,EAEhB,GAAG,CAAC,AAAC,GAAW,EAC/B,GAAG,CAAK,CACR,QAAS,EAAM,OAAO,CAAC,GAAG,CAAC,AAAC,GAAY,EACtC,GAAG,CAAM,CACT,iBAAkB,EAAO,WAAW,AACtC,GACF,IAdS,EAAE,AAgBb,EACA,KAAM,IAAM,EAAE,AAChB,EAAG,AAEH,SAAS,CACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAClC,QAAS,IACP,QAAI,CAAC,4DAA4D,CAAC,CACpE,SAAU,AAAC,GACT,EAAK,GAAG,CACN,AAAC,GAAU,QAAI,CAAC;;qBAEL,EAAE,EAAM,IAAI,CAAC,CAAC,EAAE,EAAM,KAAK,CAAC;;4BAErB,EAAE,EAAM,OAAO,CAAC,CAAC,EAAE,EAAM,KAAK,CAAC;;;;;;;;;;;;oBAYvC,EAAE,EAAM,OAAO,CAAC,GAAG,CACjB,AAAC,GAAW,QAAI,CAAC;;8BAET,EAAE,EAAO,IAAI,CAAC;8BACd,EAAE,QAAW,EAAO,gBAAgB,EAAE;8BACtC,EAAE,EAAO,aAAa,CAAC;;sBAE/B,CAAC,EACD;;;;;UAKZ,CAAC,EAEL,MAAO,AAAC,GAAU,QAAI,CAAC;;;UAGnB,EAAEC,QAAQ,KAAK,CAAC,kCAAmC,GAAO;;MAE9D,CAAC,AACH,EACF,CACF,EAEAC,eAAe,MAAM,CACnB,mCACAJ,6B"}
1
+ {"version":3,"file":"1231.84c230e0fa92f2d4.js","sources":["webpack://@mdn/fred/./components/observatory-tests-and-scores/element.css","webpack://@mdn/fred/./components/global/global.css?1b68","webpack://@mdn/fred/./components/observatory-tests-and-scores/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\";\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\";\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// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}.error{background-color:var(--error-bg,#fee);border-radius:.25rem;color:var(--error-color,#d33);margin:1rem 0;padding:1rem}section{margin-bottom:3rem}h3{font-size:var(--font-size-large);font-weight:var(--font-weight-normal);line-height:var(--font-line-content);margin-bottom:1rem;margin-top:2rem}.table-container{margin:1rem 0;overflow-x:auto}table{border-collapse:collapse;min-width:600px;width:100%}td,th{border:1px solid var(--color-border-primary);padding:.5rem .75rem;text-align:left}th{background-color:var(--color-background-secondary,#f5f5f5);font-weight:700}th[align=center]{text-align:center}tr:nth-child(2n){background-color:var(--color-background-secondary)}td:last-child{text-align:center}`, \"\"]);\n// Exports\nexport default css([___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, `*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{color:inherit;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","import { Task } from \"@lit/task\";\nimport { LitElement, html } from \"lit\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\n\nimport { OBSERVATORY_API_URL } from \"../env/index.js\";\n\nimport styles from \"./element.css?lit\";\n\nexport class MDNObservatoryTestsAndScores extends LitElement {\n static styles = styles;\n static ssr = false;\n\n _fetchMatrixTask = new Task(this, {\n task: async () => {\n const response = await fetch(\n `${OBSERVATORY_API_URL}/api/v2/recommendation_matrix`,\n );\n\n if (!response.ok) {\n return [];\n }\n\n /**\n * @type {import(\"@observatory\").ScoringResponse}\n */\n const data = await response.json();\n\n const ret = data.map((entry) => ({\n ...entry,\n results: entry.results.map((result) => ({\n ...result,\n description_html: result.description,\n })),\n }));\n return ret;\n },\n args: () => [],\n });\n\n render() {\n return this._fetchMatrixTask.render({\n pending: () =>\n html`<div class=\"loading\">Loading tests and scoring data...</div>`,\n complete: (data) =>\n data.map(\n (entry) => html`\n <section>\n <h3 id=${entry.name}>${entry.title}</h3>\n <p>\n See <a href=${entry.mdnLink}>${entry.title}</a> for guidance.\n </p>\n <figure class=\"table-container\">\n <table>\n <thead>\n <tr>\n <th>Test result</th>\n <th>Description</th>\n <th align=\"center\">Modifier</th>\n </tr>\n </thead>\n <tbody>\n ${entry.results.map(\n (result) => html`\n <tr>\n <td>${result.name}</td>\n <td>${unsafeHTML(result.description_html)}</td>\n <td>${result.scoreModifier}</td>\n </tr>\n `,\n )}\n </tbody>\n </table>\n </figure>\n </section>\n `,\n ),\n error: (error) => html`\n <div class=\"error\">\n Failed to load tests and scoring data. Please try again later.\n ${console.error(\"Observatory matrix fetch error:\", error)}\n </div>\n `,\n });\n }\n}\n\ncustomElements.define(\n \"mdn-observatory-tests-and-scores\",\n MDNObservatoryTestsAndScores,\n);\n"],"names":["MDNObservatoryTestsAndScores","s","fetch","console","customElements"],"mappings":"oNAKI,EAA0B,IAA4B,KAC1D,EAAwB,CAAC,CAAC,GAAiC,EAE3D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,qtBAAstB,GAAG,EAElwB,MAAe,SAAI,CAAC,EAAwB,QAAQ,GAAG,C,4ECPnD,EAA0B,A,SAA4B,KAE1D,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,wNAAyN,GAAG,EAErQ,MAAe,EAAwB,QAAQ,E,iKCCxC,IAAMA,6BAAN,MAAMA,qCAAqC,IAAU,CAC1D,OAAO,OAASC,EAAA,CAAM,AAAC,AACvB,QAAO,IAAM,EAAM,AAEnB,kBAAmB,IAAI,IAAI,CAAC,IAAI,CAAE,CAChC,KAAM,UACJ,IAAM,EAAW,MAAMC,MACrB,CAAC,EAAE,GAAmB,CAAC,6BAA6B,CAAC,SAGvD,AAAK,EAAS,EAAE,CASJ,AAFC,OAAM,EAAS,IAAI,EAAC,EAEhB,GAAG,CAAC,AAAC,GAAW,EAC/B,GAAG,CAAK,CACR,QAAS,EAAM,OAAO,CAAC,GAAG,CAAC,AAAC,GAAY,EACtC,GAAG,CAAM,CACT,iBAAkB,EAAO,WAAW,AACtC,GACF,IAdS,EAAE,AAgBb,EACA,KAAM,IAAM,EAAE,AAChB,EAAG,AAEH,SAAS,CACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAClC,QAAS,IACP,QAAI,CAAC,4DAA4D,CAAC,CACpE,SAAU,AAAC,GACT,EAAK,GAAG,CACN,AAAC,GAAU,QAAI,CAAC;;qBAEL,EAAE,EAAM,IAAI,CAAC,CAAC,EAAE,EAAM,KAAK,CAAC;;4BAErB,EAAE,EAAM,OAAO,CAAC,CAAC,EAAE,EAAM,KAAK,CAAC;;;;;;;;;;;;oBAYvC,EAAE,EAAM,OAAO,CAAC,GAAG,CACjB,AAAC,GAAW,QAAI,CAAC;;8BAET,EAAE,EAAO,IAAI,CAAC;8BACd,EAAE,QAAW,EAAO,gBAAgB,EAAE;8BACtC,EAAE,EAAO,aAAa,CAAC;;sBAE/B,CAAC,EACD;;;;;UAKZ,CAAC,EAEL,MAAO,AAAC,GAAU,QAAI,CAAC;;;UAGnB,EAAEC,QAAQ,KAAK,CAAC,kCAAmC,GAAO;;MAE9D,CAAC,AACH,EACF,CACF,EAEAC,eAAe,MAAM,CACnB,mCACAJ,6B"}
@@ -1,4 +1,4 @@
1
- export const __webpack_id__="1274";export const __webpack_ids__=["1274"];export const __webpack_modules__={79670:function(e,r,n){n.d(r,{A:()=>g});var t=n(63819),o=n(31601),i=n.n(o),a=n(76314),l=n.n(a),s=n(55196),u=n(283),d=n(86965),c=n(39416),p=n(46229),m=n(9767),h=l()(i());h.i(s.A),h.i(u.A),h.i(d.A),h.i(c.A),h.i(p.A),h.i(m.A),h.push([e.id,"",""]);let g=(0,t.AH)([h.toString()])},55196:function(e,r,n){n.d(r,{A:()=>l});var t=n(31601),o=n.n(t),i=n(76314),a=n.n(i)()(o());a.push([e.id,"*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}img{height:auto;max-width:100%}a{color:var(--color-link-normal)}[hidden]{display:none!important}",""]);let l=a.toString()},39416:function(e,r,n){n.d(r,{A:()=>l});var t=n(31601),o=n.n(t),i=n(76314),a=n.n(i)()(o());a.push([e.id,".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()},9767:function(e,r,n){n.d(r,{A:()=>l});var t=n(31601),o=n.n(t),i=n(76314),a=n.n(i)()(o());a.push([e.id,"@media (width > 1006px){.user-menu{position:relative}.user-menu__login{height:100%;width:100%}.user-menu__login::part(label){height:0;overflow:hidden;position:absolute;width:0}.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()},46229:function(e,r,n){n.d(r,{A:()=>p});var t=n(31601),o=n.n(t),i=n(76314),a=n.n(i),l=n(4417),s=n.n(l),u=new n.U(n(85027)),d=a()(o()),c=s()(u);d.push([e.id,`@media (width <= 1006px){.user-menu__login{padding:.45rem 0}.user-menu__button{align-items:center;background-color:initial;border:none;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()},85027:function(e,r,n){e.exports=n.p+"chevron-down.7c923b7054da305b.svg"},5265:function(e,r,n){n.r(r),n.d(r,{MDNUserMenu:()=>MDNUserMenu});var t=n(64889),o=n(63819),i=n(62963),a=n(86484),l=n(79097);let s=(0,o.JW)`<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="m10 17 5-5-5-5m5 5H3m12-9h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/></svg>`;var u=n(93526),d=n(79670);n(99638);let MDNUserMenu=class MDNUserMenu extends(0,a.J)(o.WF){static styles=d.A;static properties={locale:{type:String}};constructor(){super(),this.locale="en-US"}#e(){let e=globalThis.location.origin,r=new URL(l.vQ,e);return r.searchParams.append("next",this.#r()),r.toString()}#r(){return globalThis.location.href.replace(globalThis.location.origin,"")}#n(){let e=globalThis.location.origin;return new URL(l.kv,e).toString()}_user=new t.YZ(this,{task:async()=>await (0,u.L)()});connectedCallback(){super.connectedCallback(),this._user.run()}render(){return this._user.render({initial:()=>o.s6,pending:()=>o.s6,complete:e=>{var r,n;let t=(r=this.locale,n=this.l10n,[{href:`/${r}/plus/ai-help`,label:n`AI Help`},{href:`/${r}/plus/collections`,label:n`Collections`},{href:`/${r}/plus/updates`,label:n`Updates`},{href:`/${r}/plus/settings`,label:n("settings")},{href:"https://support.mozilla.org/products/mdn-plus",label:n`Help`,external:!0},{href:"https://github.com/mdn/MDN-feedback",label:n`Feedback`,external:!0}]);return e.isAuthenticated?(0,o.qy)`
1
+ export const __webpack_id__="1274";export const __webpack_ids__=["1274"];export const __webpack_modules__={79670:function(e,r,n){n.d(r,{A:()=>g});var t=n(63819),o=n(31601),i=n.n(o),a=n(76314),l=n.n(a),s=n(55196),u=n(283),d=n(86965),c=n(39416),p=n(46229),m=n(9767),h=l()(i());h.i(s.A),h.i(u.A),h.i(d.A),h.i(c.A),h.i(p.A),h.i(m.A),h.push([e.id,"",""]);let g=(0,t.AH)([h.toString()])},55196:function(e,r,n){n.d(r,{A:()=>l});var t=n(31601),o=n.n(t),i=n(76314),a=n.n(i)()(o());a.push([e.id,"*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}img{height:auto;max-width:100%}a{color:var(--color-link-normal)}[hidden]{display:none!important}",""]);let l=a.toString()},39416:function(e,r,n){n.d(r,{A:()=>l});var t=n(31601),o=n.n(t),i=n(76314),a=n.n(i)()(o());a.push([e.id,".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()},9767:function(e,r,n){n.d(r,{A:()=>l});var t=n(31601),o=n.n(t),i=n(76314),a=n.n(i)()(o());a.push([e.id,"@media (width > 1006px){.user-menu{position:relative}.user-menu__login{height:100%;width:100%}.user-menu__login::part(label){height:0;overflow:hidden;position:absolute;width:0}.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()},46229:function(e,r,n){n.d(r,{A:()=>p});var t=n(31601),o=n.n(t),i=n(76314),a=n.n(i),l=n(4417),s=n.n(l),u=new n.U(n(85027)),d=a()(o()),c=s()(u);d.push([e.id,`@media (width <= 1006px){.user-menu__login{padding:.45rem 0}.user-menu__button{align-items:center;background-color:initial;border:none;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()},85027:function(e,r,n){e.exports=n.p+"chevron-down.7c923b7054da305b.svg"},5265:function(e,r,n){n.r(r),n.d(r,{MDNUserMenu:()=>MDNUserMenu});var t=n(64889),o=n(63819),i=n(62963),a=n(86484),l=n(36728);let s=(0,o.JW)`<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="m10 17 5-5-5-5m5 5H3m12-9h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/></svg>`;var u=n(93526),d=n(79670);n(99638);let MDNUserMenu=class MDNUserMenu extends(0,a.J)(o.WF){static styles=d.A;static properties={locale:{type:String}};constructor(){super(),this.locale="en-US"}#e(){let e=globalThis.location.origin,r=new URL(l.vQ,e);return r.searchParams.append("next",this.#r()),r.toString()}#r(){return globalThis.location.href.replace(globalThis.location.origin,"")}#n(){let e=globalThis.location.origin;return new URL(l.kv,e).toString()}_user=new t.YZ(this,{task:async()=>await (0,u.L)()});connectedCallback(){super.connectedCallback(),this._user.run()}render(){return this._user.render({initial:()=>o.s6,pending:()=>o.s6,complete:e=>{var r,n;let t=(r=this.locale,n=this.l10n,[{href:`/${r}/plus/ai-help`,label:n`AI Help`},{href:`/${r}/plus/collections`,label:n`Collections`},{href:`/${r}/plus/updates`,label:n`Updates`},{href:`/${r}/plus/settings`,label:n("settings")},{href:"https://support.mozilla.org/products/mdn-plus",label:n`Help`,external:!0},{href:"https://github.com/mdn/MDN-feedback",label:n`Feedback`,external:!0}]);return e.isAuthenticated?(0,o.qy)`
2
2
  <div class="user-menu">
3
3
  <mdn-dropdown>
4
4
  <button slot="button" class="user-menu__button">
@@ -47,4 +47,4 @@ export const __webpack_id__="1274";export const __webpack_ids__=["1274"];export
47
47
  ${this.l10n("login")}
48
48
  </mdn-button>
49
49
  `}})}};customElements.define("mdn-user-menu",MDNUserMenu)}};
50
- //# sourceMappingURL=1274.5c4c7493aa8334bf.js.map
50
+ //# sourceMappingURL=1274.e98f5c68889cda35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1274.5c4c7493aa8334bf.js","sources":["webpack://@mdn/fred/./components/user-menu/element.css","webpack://@mdn/fred/./components/global/global.css?1b68","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/icon/log-in.svg","webpack://@mdn/fred/./components/user-menu/element.js","webpack://@mdn/fred/./components/user-menu/links.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]!../button/server.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_2___ 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]!../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]!../../build/loaders/fix-light-dark.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./base.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_4___ 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]!./mobile.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_5___ 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]!./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","// 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{color:inherit;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__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 (width > 1006px){.user-menu{position:relative}.user-menu__login{height:100%;width:100%}.user-menu__login::part(label){height:0;overflow:hidden;position:absolute;width:0}.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 (width <= 1006px){.user-menu__login{padding:.45rem 0}.user-menu__button{align-items:center;background-color:initial;border:none;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 { 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=\"m10 17 5-5-5-5m5 5H3m12-9h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"/></svg>`;","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 logInIcon from \"../icon/log-in.svg?lit\";\nimport { globalUser } from \"../user/context.js\";\n\nimport styles from \"./element.css?lit\";\nimport { getLinks } from \"./links.js\";\n\nimport \"../button/element.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 <mdn-button\n class=\"user-menu__login\"\n href=${this.#loginUrl()}\n .icon=${logInIcon}\n variant=\"plain\"\n >\n ${this.l10n(\"login\")}\n </mdn-button>\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"],"names":["n","MDNUserMenu","String","globalThis","URL","i","customElements"],"mappings":"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"}
1
+ {"version":3,"file":"1274.e98f5c68889cda35.js","sources":["webpack://@mdn/fred/./components/user-menu/element.css","webpack://@mdn/fred/./components/global/global.css?1b68","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/icon/log-in.svg","webpack://@mdn/fred/./components/user-menu/element.js","webpack://@mdn/fred/./components/user-menu/links.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]!../button/server.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_2___ 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]!../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]!../../build/loaders/fix-light-dark.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./base.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_4___ 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]!./mobile.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_5___ 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]!./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","// 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{color:inherit;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__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 (width > 1006px){.user-menu{position:relative}.user-menu__login{height:100%;width:100%}.user-menu__login::part(label){height:0;overflow:hidden;position:absolute;width:0}.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 (width <= 1006px){.user-menu__login{padding:.45rem 0}.user-menu__button{align-items:center;background-color:initial;border:none;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 { 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=\"m10 17 5-5-5-5m5 5H3m12-9h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"/></svg>`;","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 logInIcon from \"../icon/log-in.svg?lit\";\nimport { globalUser } from \"../user/context.js\";\n\nimport styles from \"./element.css?lit\";\nimport { getLinks } from \"./links.js\";\n\nimport \"../button/element.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 <mdn-button\n class=\"user-menu__login\"\n href=${this.#loginUrl()}\n .icon=${logInIcon}\n variant=\"plain\"\n >\n ${this.l10n(\"login\")}\n </mdn-button>\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"],"names":["n","MDNUserMenu","String","globalThis","URL","i","customElements"],"mappings":"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"}