@mdn/fred 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/build/render.js +3 -3
  3. package/build/server-worker.js +2 -2
  4. package/build/types.d.ts +2 -2
  5. package/components/a11y-menu/server.css +1 -1
  6. package/components/about-tabs/element.css +3 -1
  7. package/components/about-tabs/element.js +8 -0
  8. package/components/advertising/server.css +1 -1
  9. package/components/article-footer/server.css +0 -4
  10. package/components/article-footer/server.js +13 -16
  11. package/components/baseline-indicator/server.css +5 -6
  12. package/components/baseline-indicator/server.js +1 -6
  13. package/components/blog-index/server.css +2 -2
  14. package/components/blog-post/server.css +3 -3
  15. package/components/breadcrumbs-bar/server.js +26 -7
  16. package/components/button/pure.js +6 -3
  17. package/components/code-example/common.css +47 -3
  18. package/components/code-example/element.js +4 -5
  19. package/components/code-example/prism.css +62 -59
  20. package/components/color/area.css +11 -0
  21. package/components/color/border.css +1 -1
  22. package/components/color/global.css +5 -4
  23. package/components/color-theme/element.css +4 -0
  24. package/components/color-theme/element.js +19 -30
  25. package/components/compat-table/index-common.css +4 -2
  26. package/components/content-section/server.css +137 -23
  27. package/components/contributor-spotlight/server.css +4 -4
  28. package/components/curriculum/assets/curriculum-landing-top.svg +1 -1
  29. package/components/curriculum/layout.css +81 -13
  30. package/components/curriculum/module-list.css +5 -5
  31. package/components/curriculum/module.css +3 -3
  32. package/components/curriculum/shared.css +14 -47
  33. package/components/curriculum/sidebar.css +66 -294
  34. package/components/curriculum/toc.css +9 -23
  35. package/components/curriculum/utils.js +47 -58
  36. package/components/curriculum/vars.css +68 -39
  37. package/components/curriculum-about/server.css +17 -3
  38. package/components/curriculum-about/server.js +18 -15
  39. package/components/curriculum-default/server.css +11 -0
  40. package/components/curriculum-default/server.js +17 -14
  41. package/components/curriculum-landing/server.css +7 -7
  42. package/components/curriculum-module/server.css +75 -73
  43. package/components/curriculum-module/server.js +19 -17
  44. package/components/curriculum-overview/server.css +11 -0
  45. package/components/curriculum-overview/server.js +60 -24
  46. package/components/dropdown/element.js +3 -1
  47. package/components/featured-articles/server.css +1 -1
  48. package/components/font/README.md +11 -0
  49. package/components/font/fonts/jetbrains-mono-cyrillic.woff2 +0 -0
  50. package/components/font/fonts/jetbrains-mono-italic-cyrillic.woff2 +0 -0
  51. package/components/font/fonts/jetbrains-mono-italic-latin-extended.woff2 +0 -0
  52. package/components/font/fonts/jetbrains-mono-italic-latin.woff2 +0 -0
  53. package/components/font/fonts/jetbrains-mono-latin-extended.woff2 +0 -0
  54. package/components/font/fonts/jetbrains-mono-latin.woff2 +0 -0
  55. package/components/font/fonts/jetbrains-mono-nl.patch +4758 -0
  56. package/components/font/fonts/source/jetbrains-mono-italic.ttf +0 -0
  57. package/components/font/fonts/source/jetbrains-mono.ttf +0 -0
  58. package/components/font/global.css +3 -0
  59. package/components/font/inter.css +6 -0
  60. package/components/footer/server.css +20 -3
  61. package/components/footer/server.js +3 -0
  62. package/components/generic-about/server.css +16 -14
  63. package/components/generic-community/server.css +16 -16
  64. package/components/generic-community/server.js +11 -4
  65. package/components/generic-content/server.css +1 -1
  66. package/components/generic-sidebar/server.css +2 -2
  67. package/components/generic-sidebar/server.js +14 -5
  68. package/components/generic-toc/server.css +2 -2
  69. package/components/homepage-search/element.css +14 -17
  70. package/components/html/global.css +3 -0
  71. package/components/icon/chart-no-axes-combined.svg +1 -0
  72. package/components/icon/circle-play.svg +1 -0
  73. package/components/icon/log-in.svg +1 -0
  74. package/components/icon/mdn-m.svg +1 -0
  75. package/components/icon/shield-check.svg +1 -0
  76. package/components/icon/users.svg +1 -0
  77. package/components/interactive-example/element.css +3 -1
  78. package/components/issues-table/element.css +2 -2
  79. package/components/ix-tab/element.css +1 -1
  80. package/components/language-switcher/element.css +2 -1
  81. package/components/language-switcher/element.js +1 -0
  82. package/components/latest-news/server.css +1 -1
  83. package/components/left-sidebar/server.css +12 -15
  84. package/components/live-sample-result/element.css +1 -0
  85. package/components/live-sample-result/element.js +10 -2
  86. package/components/logo/server.css +5 -0
  87. package/components/mandala/server.css +2 -2
  88. package/components/media/index.css +3 -0
  89. package/components/menu/base.css +40 -11
  90. package/components/menu/desktop.css +1 -1
  91. package/components/menu/mobile.css +1 -1
  92. package/components/menu/server.js +34 -45
  93. package/components/modal/element.js +1 -1
  94. package/components/navigation/base.css +0 -8
  95. package/components/navigation/desktop.css +22 -5
  96. package/components/navigation/mobile.css +25 -6
  97. package/components/navigation/server.js +5 -2
  98. package/components/not-found/element.css +1 -0
  99. package/components/not-found/element.js +1 -1
  100. package/components/observatory/colors.css +64 -0
  101. package/components/observatory/common.css +5 -0
  102. package/components/observatory-comparison-table/element.css +6 -6
  103. package/components/observatory-form/element.css +6 -11
  104. package/components/observatory-header-link/element.css +1 -9
  105. package/components/observatory-human-duration/element.css +1 -0
  106. package/components/observatory-human-duration/element.js +4 -3
  107. package/components/observatory-landing/server.css +208 -1
  108. package/components/observatory-landing/server.js +76 -66
  109. package/components/observatory-rescan-button/element.css +1 -0
  110. package/components/observatory-rescan-button/element.js +11 -3
  111. package/components/observatory-results/element.css +38 -42
  112. package/components/observatory-results/server.css +119 -1
  113. package/components/observatory-results/server.js +47 -43
  114. package/components/observatory-tests-and-scores/element.css +3 -1
  115. package/components/outer-layout/server.js +8 -2
  116. package/components/placement-sidebar/element.css +1 -1
  117. package/components/play-console/element.css +1 -1
  118. package/components/play-runner/element.css +3 -0
  119. package/components/playground/element.css +35 -9
  120. package/components/playground/element.js +63 -3
  121. package/components/prev-next/index.css +32 -3
  122. package/components/radius/global.css +6 -0
  123. package/components/reference-layout/server.css +4 -4
  124. package/components/reference-layout/server.js +6 -3
  125. package/components/reference-toc/server.css +2 -2
  126. package/components/scrim-inline/element.css +2 -2
  127. package/components/scrim-inline/global.css +1 -1
  128. package/components/search-button/element.css +7 -1
  129. package/components/search-modal/element.css +61 -27
  130. package/components/search-modal/element.js +14 -0
  131. package/components/sidebar-filter/element.css +1 -1
  132. package/components/site-search/element.css +6 -7
  133. package/components/specifications-list/index.js +18 -26
  134. package/components/switch/element.css +1 -1
  135. package/components/user-menu/base.css +0 -7
  136. package/components/user-menu/desktop.css +15 -3
  137. package/components/user-menu/element.js +10 -2
  138. package/components/user-menu/mobile.css +2 -14
  139. package/components/utils/index.js +9 -0
  140. package/components/vars/global.css +1 -1
  141. package/components/writer-open-editor/element.js +31 -0
  142. package/components/writer-toolbar/server.css +11 -0
  143. package/components/writer-toolbar/server.js +27 -0
  144. package/dist/client/{1048.7f6f1de50a1fda0d.js → 1048.9db1491a9a9f26c3.js} +2 -2
  145. package/dist/client/{1048.7f6f1de50a1fda0d.js.map → 1048.9db1491a9a9f26c3.js.map} +1 -1
  146. package/dist/client/1197.65020044d7ef7add.css +32 -0
  147. package/dist/client/1197.65020044d7ef7add.css.map +1 -0
  148. package/dist/client/1241.691b26f66d52ce68.css +2 -0
  149. package/dist/client/1241.691b26f66d52ce68.css.map +1 -0
  150. package/dist/client/{1342.b05de4cd80d4c221.js → 1342.a66390274e8adda1.js} +8 -8
  151. package/dist/client/{1342.b05de4cd80d4c221.js.map → 1342.a66390274e8adda1.js.map} +1 -1
  152. package/dist/client/1624.98ead28526f7a6a1.js +69 -0
  153. package/dist/client/{1624.5694c64f5e45232c.js.map → 1624.98ead28526f7a6a1.js.map} +1 -1
  154. package/dist/client/1739.8793c189d4f57b38.js +8 -0
  155. package/dist/client/{1739.505aa54ed62222c8.js.map → 1739.8793c189d4f57b38.js.map} +1 -1
  156. package/dist/client/{1916.bc7551ab839d52f8.js → 1916.53595bf8d5201723.js} +3 -3
  157. package/dist/client/{1916.bc7551ab839d52f8.js.map → 1916.53595bf8d5201723.js.map} +1 -1
  158. package/dist/client/2254.85c84b41fe477e9f.css +2 -0
  159. package/dist/client/2254.85c84b41fe477e9f.css.map +1 -0
  160. package/dist/client/2299.15bde599f83bc9f8.js +2 -0
  161. package/dist/client/2299.15bde599f83bc9f8.js.map +1 -0
  162. package/dist/client/{2448.92286b4e96ad1c02.js → 2448.34e8a46d8ac913b9.js} +7 -7
  163. package/dist/client/2448.34e8a46d8ac913b9.js.map +1 -0
  164. package/dist/client/{2656.0009ef5e53d43860.js → 2656.9ffeb69f976e1ada.js} +3 -3
  165. package/dist/client/{2656.0009ef5e53d43860.js.map → 2656.9ffeb69f976e1ada.js.map} +1 -1
  166. package/dist/client/268.5b8cf50cd9481947.js +50 -0
  167. package/dist/client/268.5b8cf50cd9481947.js.map +1 -0
  168. package/dist/client/2826.d61ca617ff379ad4.js +29 -0
  169. package/dist/client/2826.d61ca617ff379ad4.js.map +1 -0
  170. package/dist/client/{9632.b317ca4ae5930b4a.js → 3536.38f4b1a8002b53e2.js} +30 -2
  171. package/dist/client/3536.38f4b1a8002b53e2.js.map +1 -0
  172. package/dist/client/{3580.bf3f2a7896833bd8.js → 3580.92db5b07a85b0961.js} +2 -2
  173. package/dist/client/{3580.bf3f2a7896833bd8.js.map → 3580.92db5b07a85b0961.js.map} +1 -1
  174. package/dist/client/37.d890a50de1313ae7.js +120 -0
  175. package/dist/client/37.d890a50de1313ae7.js.map +1 -0
  176. package/dist/client/{3769.d1f1fcf335099c33.js → 3769.f46716bd58921c06.js} +6 -5
  177. package/dist/client/3769.f46716bd58921c06.js.map +1 -0
  178. package/dist/client/3892.db79ccfcc2e8b5a2.js +5 -0
  179. package/dist/client/3892.db79ccfcc2e8b5a2.js.map +1 -0
  180. package/dist/client/391.947b429ccac6ca45.js +8 -0
  181. package/dist/client/391.947b429ccac6ca45.js.map +1 -0
  182. package/dist/client/{4036.5ca9997e4c034473.js → 4036.4aa9a690073ccbac.js} +11 -7
  183. package/dist/client/4036.4aa9a690073ccbac.js.map +1 -0
  184. package/dist/client/4045.ec4c143648ab2280.js +8 -0
  185. package/dist/client/4045.ec4c143648ab2280.js.map +1 -0
  186. package/dist/client/4531.5f4701b319065b2b.js +34 -0
  187. package/dist/client/4531.5f4701b319065b2b.js.map +1 -0
  188. package/dist/client/{476.0de6391161b814ad.js → 476.67faa1bd02f2479c.js} +3 -3
  189. package/dist/client/{476.0de6391161b814ad.js.map → 476.67faa1bd02f2479c.js.map} +1 -1
  190. package/dist/client/{4849.4da5f274175b7cc7.js → 4849.2d0d91db57dc6419.js} +2 -2
  191. package/dist/client/{4849.4da5f274175b7cc7.js.map → 4849.2d0d91db57dc6419.js.map} +1 -1
  192. package/dist/client/{5066.31235bae47282d5a.js → 5066.c3b69e4601465269.js} +9 -9
  193. package/dist/client/{5066.31235bae47282d5a.js.map → 5066.c3b69e4601465269.js.map} +1 -1
  194. package/dist/client/{533.518751bfb02cbcee.js → 533.43be64a8c12d5411.js} +2 -2
  195. package/dist/client/{533.518751bfb02cbcee.js.map → 533.43be64a8c12d5411.js.map} +1 -1
  196. package/dist/client/5531.ff59053d35a9ebc5.js +387 -0
  197. package/dist/client/{5531.3f07c9b4290520c7.js.map → 5531.ff59053d35a9ebc5.js.map} +1 -1
  198. package/dist/client/{5557.247c4c4c61d91b4d.js → 5557.3923ba7ade67d4c8.js} +4 -4
  199. package/dist/client/{5557.247c4c4c61d91b4d.js.map → 5557.3923ba7ade67d4c8.js.map} +1 -1
  200. package/dist/client/{5837.52bd8ccde0085adc.js → 5837.2173cfac5b28fb95.js} +2 -2
  201. package/dist/client/5837.2173cfac5b28fb95.js.map +1 -0
  202. package/dist/client/5911.7dd68675e0a4ff43.js +2 -0
  203. package/dist/client/5911.7dd68675e0a4ff43.js.map +1 -0
  204. package/dist/client/614.b7c7bcd4ee6e4f7d.css +2 -0
  205. package/dist/client/614.b7c7bcd4ee6e4f7d.css.map +1 -0
  206. package/dist/client/6213.ba167b80474036f0.js +20 -0
  207. package/dist/client/6213.ba167b80474036f0.js.map +1 -0
  208. package/dist/client/665.7d96ffb19066da27.js +34 -0
  209. package/dist/client/665.7d96ffb19066da27.js.map +1 -0
  210. package/dist/client/6681.51b917ef9762ead2.js +6 -0
  211. package/dist/client/{6681.4bc549fb34f3fd5c.js.map → 6681.51b917ef9762ead2.js.map} +1 -1
  212. package/dist/client/6955.3de7286d9ee3c36f.js +33 -0
  213. package/dist/client/6955.3de7286d9ee3c36f.js.map +1 -0
  214. package/dist/client/{7326.b1ad5a6bece08bb2.js → 7326.9d0d137e939223ba.js} +2 -2
  215. package/dist/client/7326.9d0d137e939223ba.js.map +1 -0
  216. package/dist/client/{736.c130ba990b1ed252.js → 736.0fa146c2a494e88c.js} +5 -5
  217. package/dist/client/{736.c130ba990b1ed252.js.map → 736.0fa146c2a494e88c.js.map} +1 -1
  218. package/dist/client/7461.7d6383069ad3bded.js +35 -0
  219. package/dist/client/7461.7d6383069ad3bded.js.map +1 -0
  220. package/dist/client/7509.c7697df525e5b425.js +9 -0
  221. package/dist/client/7509.c7697df525e5b425.js.map +1 -0
  222. package/dist/client/{7731.401da89d94c0e064.js → 7731.dab635045f8c8801.js} +2 -2
  223. package/dist/client/{7731.401da89d94c0e064.js.map → 7731.dab635045f8c8801.js.map} +1 -1
  224. package/dist/client/{7816.086a6f46f1339f10.js → 7816.fcae90f472f6a101.js} +2 -2
  225. package/dist/client/{7816.086a6f46f1339f10.js.map → 7816.fcae90f472f6a101.js.map} +1 -1
  226. package/dist/client/833.a99cc1ff95a9361c.js +5 -0
  227. package/dist/client/833.a99cc1ff95a9361c.js.map +1 -0
  228. package/dist/client/{8468.add3c4feb6c9e926.js → 8468.f45cbbf88e617172.js} +3 -3
  229. package/dist/client/{8468.add3c4feb6c9e926.js.map → 8468.f45cbbf88e617172.js.map} +1 -1
  230. package/dist/client/{8483.e69da156837fde23.js → 8483.42cb8809ffb7c809.js} +3 -3
  231. package/dist/client/{8483.e69da156837fde23.js.map → 8483.42cb8809ffb7c809.js.map} +1 -1
  232. package/dist/client/{8551.4cf05a456e8b9b36.js → 8551.88765e00cf64cda8.js} +2 -2
  233. package/dist/client/{8551.4cf05a456e8b9b36.js.map → 8551.88765e00cf64cda8.js.map} +1 -1
  234. package/dist/client/{8684.538d49e436a77c37.js → 8684.9d7a1ac15f75f143.js} +5 -5
  235. package/dist/client/{8684.538d49e436a77c37.js.map → 8684.9d7a1ac15f75f143.js.map} +1 -1
  236. package/dist/client/8896.c876205851967073.js +9 -0
  237. package/dist/client/8896.c876205851967073.js.map +1 -0
  238. package/dist/client/{8911.e1fd0ac2f979c2ea.js → 8911.74685697a6189123.js} +7 -7
  239. package/dist/client/8911.74685697a6189123.js.map +1 -0
  240. package/dist/client/9021.3d43ecdc365948b8.js +16 -0
  241. package/dist/client/9021.3d43ecdc365948b8.js.map +1 -0
  242. package/dist/client/917.f2551a4b63ec4d86.js +17 -0
  243. package/dist/client/917.f2551a4b63ec4d86.js.map +1 -0
  244. package/dist/client/9222.a2d629b05b5c3c7e.js +104 -0
  245. package/dist/client/9222.a2d629b05b5c3c7e.js.LICENSE.txt +5 -0
  246. package/dist/client/9222.a2d629b05b5c3c7e.js.map +1 -0
  247. package/dist/client/chart-no-axes-combined.aee09a7064cb8b35.svg +1 -0
  248. package/dist/client/{circle-alert.4199b283585ef0bb.svg → circle-play.6ed4ac1fb3c93a04.svg} +1 -1
  249. package/dist/client/{curriculum-about-covered.74e453cf7e1a86c2.svg → curriculum-about-covered.a0e620d9fa0a96bb.svg} +1 -1
  250. package/dist/client/{curriculum-about-detail.515f645950e2300b.svg → curriculum-about-detail.73feb705e269ebbe.svg} +1 -1
  251. package/dist/client/{curriculum-about-educators.91685cbbd58c65fb.svg → curriculum-about-educators.03744c34dabd5fe7.svg} +1 -1
  252. package/dist/client/{curriculum-about-not.42caac16e07477b5.svg → curriculum-about-not.aa3c2baa11be115d.svg} +1 -1
  253. package/dist/client/{curriculum-about-students.36ca88cba5f00272.svg → curriculum-about-students.842af9608002c05a.svg} +1 -1
  254. package/dist/client/{curriculum-bullet.934e76f0055c7737.svg → curriculum-bullet.ae8de1d4f7e37953.svg} +1 -1
  255. package/dist/client/{curriculum-landing-about-beginner.c283306531a0a760.svg → curriculum-landing-about-beginner.9603b098f49dfb52.svg} +1 -1
  256. package/dist/client/{curriculum-landing-about-bullet.329a46667f2b7b1c.svg → curriculum-landing-about-bullet.1a31ffce2d5917cb.svg} +1 -1
  257. package/dist/client/{curriculum-landing-about-free.860c02f993720011.svg → curriculum-landing-about-free.1ff3ec55692670ba.svg} +1 -1
  258. package/dist/client/{curriculum-landing-about-pace.caf53bc7642d2d9e.svg → curriculum-landing-about-pace.04fd0a480b4ef342.svg} +1 -1
  259. package/dist/client/{curriculum-landing-arrow.37d9469e2da628fb.svg → curriculum-landing-arrow.b4d5ba21e3dc087e.svg} +1 -1
  260. package/dist/client/{curriculum-landing-started-advanced.6aa084114d4a009d.svg → curriculum-landing-started-advanced.bd07b9246e350d6f.svg} +1 -1
  261. package/dist/client/{curriculum-landing-started-beginner.684ee16fbad28594.svg → curriculum-landing-started-beginner.62cf58049310b5c1.svg} +1 -1
  262. package/dist/client/{curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg → curriculum-landing-started-educator.779ce85811a81d19.svg} +1 -1
  263. package/dist/client/{curriculum-landing-started-employment.ad9634ce6c19f3ba.svg → curriculum-landing-started-employment.4e7b977d45493058.svg} +1 -1
  264. package/dist/client/{curriculum-mdn-resource.f452724542f874b8.svg → curriculum-mdn-resource.335ee2e480d302fb.svg} +1 -1
  265. package/dist/client/{curriculum-partner-bg.247900de90ec7d1e.svg → curriculum-partner-bg.70de155df588311a.svg} +1 -1
  266. package/dist/client/{curriculum-scrim-bg.66afaab49246fbd9.svg → curriculum-scrim-bg.29a27117721ff3e9.svg} +1 -1
  267. package/dist/client/index.31463704d14e154c.js +260 -0
  268. package/dist/client/index.31463704d14e154c.js.LICENSE.txt +25 -0
  269. package/dist/client/index.31463704d14e154c.js.map +1 -0
  270. package/dist/client/jetbrains-mono-cyrillic.577e793cdf179ae1.woff2 +0 -0
  271. package/dist/client/jetbrains-mono-italic-cyrillic.8d00711fdb1702e0.woff2 +0 -0
  272. package/dist/client/jetbrains-mono-italic-latin-extended.c25d5e1f309ed948.woff2 +0 -0
  273. package/dist/client/jetbrains-mono-italic-latin.55b330522e5e3ed9.woff2 +0 -0
  274. package/dist/client/jetbrains-mono-latin-extended.01c891f9c832ce28.woff2 +0 -0
  275. package/dist/client/jetbrains-mono-latin.119994ed445212c7.woff2 +0 -0
  276. package/dist/client/mdn-m.70aac857e4a908d0.svg +1 -0
  277. package/dist/client/{runtime.51020603a07b972d.js → runtime.ee03d594ff24ae70.js} +2 -2
  278. package/dist/client/runtime.ee03d594ff24ae70.js.map +1 -0
  279. package/dist/client/shield-check.07bdc37f20ac5cc6.svg +1 -0
  280. package/dist/client/stats.json +1096 -1024
  281. package/dist/client/styles-a11y-menu.5796ee87cb69f93f.css +2 -0
  282. package/dist/client/styles-a11y-menu.5796ee87cb69f93f.css.map +1 -0
  283. package/dist/client/styles-a11y-menu.c408da1c50de7848.js +1 -0
  284. package/dist/client/styles-advertising.4c00484729f959ad.js +1 -0
  285. package/dist/client/{styles-advertising.c54670419b34708a.css → styles-advertising.c4692f68b3c61df1.css} +2 -2
  286. package/dist/client/{styles-advertising.c54670419b34708a.css.map → styles-advertising.c4692f68b3c61df1.css.map} +1 -1
  287. package/dist/client/styles-article-footer.81ae18c89fc527dc.css +2 -0
  288. package/dist/client/styles-article-footer.81ae18c89fc527dc.css.map +1 -0
  289. package/dist/client/styles-article-footer.f591a23b879db7bc.js +1 -0
  290. package/dist/client/styles-banner.cce5a46592f9ae9c.js +1 -0
  291. package/dist/client/{styles-baseline-indicator.32a52f7b51085fbb.css → styles-baseline-indicator.083aba7301c6f745.css} +2 -2
  292. package/dist/client/styles-baseline-indicator.083aba7301c6f745.css.map +1 -0
  293. package/dist/client/styles-baseline-indicator.35315666a6ff6562.js +1 -0
  294. package/dist/client/styles-blog-index.65525134178d64fd.js +1 -0
  295. package/dist/client/styles-blog-index.acbe792e1ec96930.css +2 -0
  296. package/dist/client/styles-blog-index.acbe792e1ec96930.css.map +1 -0
  297. package/dist/client/styles-blog-post.0cc5813f0a44aff0.js +1 -0
  298. package/dist/client/styles-blog-post.5085aa38dc1ab3a3.css +2 -0
  299. package/dist/client/styles-blog-post.5085aa38dc1ab3a3.css.map +1 -0
  300. package/dist/client/styles-breadcrumbs-bar.740212452ad4a93e.js +1 -0
  301. package/dist/client/{styles-breadcrumbs-bar.b7a94abe36578bab.css → styles-breadcrumbs-bar.e2fa6dfb04a38166.css} +2 -2
  302. package/dist/client/{styles-breadcrumbs-bar.b7a94abe36578bab.css.map → styles-breadcrumbs-bar.e2fa6dfb04a38166.css.map} +1 -1
  303. package/dist/client/{styles-breadcrumbs.d07ccd5520eeea01.css → styles-breadcrumbs.0afde562052673c5.css} +2 -2
  304. package/dist/client/{styles-breadcrumbs.d07ccd5520eeea01.css.map → styles-breadcrumbs.0afde562052673c5.css.map} +1 -1
  305. package/dist/client/styles-breadcrumbs.3b39fd6a3c2edb2e.js +1 -0
  306. package/dist/client/styles-button.a58118f8ded7e527.js +1 -0
  307. package/dist/client/styles-content-section.06ab08df9b9e047e.js +1 -0
  308. package/dist/client/styles-content-section.ffa19ece6d4fa70f.css +2 -0
  309. package/dist/client/styles-content-section.ffa19ece6d4fa70f.css.map +1 -0
  310. package/dist/client/styles-contributor-spotlight.38657357f29e301d.css +2 -0
  311. package/dist/client/styles-contributor-spotlight.38657357f29e301d.css.map +1 -0
  312. package/dist/client/styles-contributor-spotlight.5303aa09b91c2b0f.js +1 -0
  313. package/dist/client/styles-curriculum-about.75e3406bfe012d87.css +2 -0
  314. package/dist/client/styles-curriculum-about.75e3406bfe012d87.css.map +1 -0
  315. package/dist/client/styles-curriculum-about.c7d034c5eb1cedfc.js +1 -0
  316. package/dist/client/styles-curriculum-default.425c715d690a611c.js +1 -0
  317. package/dist/client/styles-curriculum-default.ceb6f07d1ba3a1fe.css +2 -0
  318. package/dist/client/styles-curriculum-default.ceb6f07d1ba3a1fe.css.map +1 -0
  319. package/dist/client/styles-curriculum-landing.1558840404f90c97.js +1 -0
  320. package/dist/client/styles-curriculum-landing.4c266be210279754.css +2 -0
  321. package/dist/client/styles-curriculum-landing.4c266be210279754.css.map +1 -0
  322. package/dist/client/styles-curriculum-module.7e5cd517e846d594.js +1 -0
  323. package/dist/client/styles-curriculum-module.986c101af5734725.css +2 -0
  324. package/dist/client/styles-curriculum-module.986c101af5734725.css.map +1 -0
  325. package/dist/client/styles-curriculum-overview.4c7cb02c1ddc853e.js +1 -0
  326. package/dist/client/styles-curriculum-overview.5e1cf930403c07b3.css +2 -0
  327. package/dist/client/styles-curriculum-overview.5e1cf930403c07b3.css.map +1 -0
  328. package/dist/client/styles-featured-articles.b4ecc71ab736bd5b.css +2 -0
  329. package/dist/client/styles-featured-articles.b4ecc71ab736bd5b.css.map +1 -0
  330. package/dist/client/styles-featured-articles.e307bb8142f33739.js +1 -0
  331. package/dist/client/styles-footer.a2850e459e2d290b.css +2 -0
  332. package/dist/client/{styles-footer.c1a53f0a58f04928.css.map → styles-footer.a2850e459e2d290b.css.map} +1 -1
  333. package/dist/client/styles-footer.c29033543af832fb.js +1 -0
  334. package/dist/client/styles-generic-about.2d4dc610496035b0.js +1 -0
  335. package/dist/client/styles-generic-about.766241910cf1bfdf.css +2 -0
  336. package/dist/client/styles-generic-about.766241910cf1bfdf.css.map +1 -0
  337. package/dist/client/styles-generic-community.76b2cea1e9b36907.js +1 -0
  338. package/dist/client/styles-generic-community.aa93fe32626f89a4.css +2 -0
  339. package/dist/client/styles-generic-community.aa93fe32626f89a4.css.map +1 -0
  340. package/dist/client/{styles-generic-content.7960b980b98f1d3d.css → styles-generic-content.3c8089706edb022d.css} +2 -2
  341. package/dist/client/{styles-generic-content.7960b980b98f1d3d.css.map → styles-generic-content.3c8089706edb022d.css.map} +1 -1
  342. package/dist/client/styles-generic-content.95822f3a7d72b2af.js +1 -0
  343. package/dist/client/styles-generic-layout.42a5e62407bd0066.css +2 -0
  344. package/dist/client/{styles-generic-layout.55441b1a560f5c9f.css.map → styles-generic-layout.42a5e62407bd0066.css.map} +1 -1
  345. package/dist/client/styles-generic-layout.e3b1cbc7db109acc.js +1 -0
  346. package/dist/client/styles-generic-sidebar.2e998de436f774c4.css +2 -0
  347. package/dist/client/styles-generic-sidebar.2e998de436f774c4.css.map +1 -0
  348. package/dist/client/styles-generic-sidebar.9767d319bbbde061.js +1 -0
  349. package/dist/client/styles-generic-toc.109e07ffeb20bc67.css +2 -0
  350. package/dist/client/styles-generic-toc.109e07ffeb20bc67.css.map +1 -0
  351. package/dist/client/styles-generic-toc.56e46052fca1042a.js +1 -0
  352. package/dist/client/styles-global.50c705928b5966d2.css +2 -0
  353. package/dist/client/styles-global.50c705928b5966d2.css.map +1 -0
  354. package/dist/client/styles-global.5928df920ab8d790.js +1 -0
  355. package/dist/client/styles-heading-anchor.0eec5185ab9425b7.css +2 -0
  356. package/dist/client/{styles-heading-anchor.f2760897211efe98.css.map → styles-heading-anchor.0eec5185ab9425b7.css.map} +1 -1
  357. package/dist/client/styles-heading-anchor.69440b0832b0c7b6.js +1 -0
  358. package/dist/client/styles-homepage-body.a1dd591dfd38a0e2.js +1 -0
  359. package/dist/client/{styles-homepage-contributor-spotlight.f02bdd82c7536b72.css → styles-homepage-contributor-spotlight.38935642cba8718d.css} +2 -2
  360. package/dist/client/{styles-homepage-contributor-spotlight.f02bdd82c7536b72.css.map → styles-homepage-contributor-spotlight.38935642cba8718d.css.map} +1 -1
  361. package/dist/client/styles-homepage-contributor-spotlight.a872f7a5144621ce.js +1 -0
  362. package/dist/client/styles-homepage-footer.56ccee76430fb4b6.js +1 -0
  363. package/dist/client/styles-homepage-header.ef7007190d01e72b.js +1 -0
  364. package/dist/client/styles-homepage-hero.db4057884586bcc0.js +1 -0
  365. package/dist/client/styles-homepage.643e215e9b541f48.js +1 -0
  366. package/dist/client/styles-latest-news.b28826e707e5a793.js +1 -0
  367. package/dist/client/styles-latest-news.ef3b9e57333a87bc.css +2 -0
  368. package/dist/client/styles-latest-news.ef3b9e57333a87bc.css.map +1 -0
  369. package/dist/client/styles-left-sidebar.07f68fb381233e5e.css +2 -0
  370. package/dist/client/styles-left-sidebar.07f68fb381233e5e.css.map +1 -0
  371. package/dist/client/styles-left-sidebar.689072b681b6085c.js +1 -0
  372. package/dist/client/styles-logo.5fe2004c01665043.js +1 -0
  373. package/dist/client/styles-logo.f9c13d56f40d50b6.css +2 -0
  374. package/dist/client/styles-logo.f9c13d56f40d50b6.css.map +1 -0
  375. package/dist/client/styles-mandala.39843b917e3341c1.js +1 -0
  376. package/dist/client/styles-mandala.8fbfeb0567dbde40.css +2 -0
  377. package/dist/client/styles-mandala.8fbfeb0567dbde40.css.map +1 -0
  378. package/dist/client/styles-menu.0df94f3d4546f4e2.js +1 -0
  379. package/dist/client/styles-menu.5193bf2642ae7d64.css +2 -0
  380. package/dist/client/styles-menu.5193bf2642ae7d64.css.map +1 -0
  381. package/dist/client/styles-navigation.013b4a4ed330892a.css +2 -0
  382. package/dist/client/styles-navigation.013b4a4ed330892a.css.map +1 -0
  383. package/dist/client/styles-navigation.f10f27bc66c78348.js +1 -0
  384. package/dist/client/styles-not-found.db6d6367152f676d.js +1 -0
  385. package/dist/client/styles-observatory-landing.28dd60cf0de05bec.js +1 -0
  386. package/dist/client/styles-observatory-landing.7b47ee0004877825.css +2 -0
  387. package/dist/client/styles-observatory-landing.7b47ee0004877825.css.map +1 -0
  388. package/dist/client/styles-observatory-results.36b6175e7444ec4e.css +2 -0
  389. package/dist/client/styles-observatory-results.36b6175e7444ec4e.css.map +1 -0
  390. package/dist/client/styles-observatory-results.7ce6d37475f9cf58.js +1 -0
  391. package/dist/client/styles-page-layout.0d53ebc97d7b7bf1.js +1 -0
  392. package/dist/client/styles-page-layout.e52a43c97f04cf90.css +2 -0
  393. package/dist/client/{styles-page-layout.5db9be57df19de0c.css.map → styles-page-layout.e52a43c97f04cf90.css.map} +1 -1
  394. package/dist/client/styles-pagination.19bf90db76d7d8d3.css +2 -0
  395. package/dist/client/{styles-pagination.0b3aa3fd6f6d3808.css.map → styles-pagination.19bf90db76d7d8d3.css.map} +1 -1
  396. package/dist/client/styles-pagination.e6fa33b9eadd8ab2.js +1 -0
  397. package/dist/client/styles-playground.59775225856ba2c6.js +1 -0
  398. package/dist/client/styles-recent-contributions.c51e066b59d22fca.js +1 -0
  399. package/dist/client/styles-reference-layout.0ab1a4d92d4a0966.css +2 -0
  400. package/dist/client/styles-reference-layout.0ab1a4d92d4a0966.css.map +1 -0
  401. package/dist/client/styles-reference-layout.218edbd3288fad71.js +1 -0
  402. package/dist/client/styles-reference-toc.67439c41e5f07bef.js +1 -0
  403. package/dist/client/{styles-reference-toc.5ce4f97dbe6e3ed0.css → styles-reference-toc.9b9bd019efd16b86.css} +2 -2
  404. package/dist/client/{styles-reference-toc.5ce4f97dbe6e3ed0.css.map → styles-reference-toc.9b9bd019efd16b86.css.map} +1 -1
  405. package/dist/client/styles-sandbox.22c29067838f22d9.js +1 -0
  406. package/dist/client/styles-site-search.5d4b622a11b82915.js +1 -0
  407. package/dist/client/styles-site-search.ec3b6780533a8750.css +2 -0
  408. package/dist/client/{styles-site-search.cf345ef99e0d06b5.css.map → styles-site-search.ec3b6780533a8750.css.map} +1 -1
  409. package/dist/client/styles-translation-banner.b923aed537f60120.js +1 -0
  410. package/dist/client/styles-writer-toolbar.00468688f6144393.js +1 -0
  411. package/dist/client/styles-writer-toolbar.70bdeddd3734ab11.css +2 -0
  412. package/dist/client/styles-writer-toolbar.70bdeddd3734ab11.css.map +1 -0
  413. package/dist/client/styles.7fb7069c86aa338c.js +2 -0
  414. package/dist/client/styles.7fb7069c86aa338c.js.map +1 -0
  415. package/dist/client/users.f7e6f1f213744762.svg +1 -0
  416. package/dist/legacy/{1284.0939e1a7de12c23c.js → 1284.9609d9ed70761e2f.js} +3 -3
  417. package/dist/legacy/{1284.0939e1a7de12c23c.js.map → 1284.9609d9ed70761e2f.js.map} +1 -1
  418. package/dist/legacy/3957.798f0651121f0fa7.js.map +1 -1
  419. package/dist/legacy/{7664.eee0fe67e04785f4.js → 7664.7bf14ff753e36b72.js} +3 -3
  420. package/dist/legacy/7664.7bf14ff753e36b72.js.map +1 -0
  421. package/dist/legacy/{8716.9fde41ad50c3078d.js → 8716.0a9d049bf166f65a.js} +7 -7
  422. package/dist/legacy/{8716.9fde41ad50c3078d.js.map → 8716.0a9d049bf166f65a.js.map} +1 -1
  423. package/dist/legacy/afree.da56b83d257902e0.png +0 -0
  424. package/dist/legacy/{index.9db2264bb6151226.css → index.92ea4d5b7af91171.css} +2 -2
  425. package/dist/legacy/index.92ea4d5b7af91171.css.map +1 -0
  426. package/dist/legacy/{index.b760891bfcc63977.js → index.dd25b33b92ab6c72.js} +5 -5
  427. package/dist/legacy/index.dd25b33b92ab6c72.js.map +1 -0
  428. package/dist/legacy/stats.json +12 -12
  429. package/dist/ssr/index.js +483 -485
  430. package/dist/ssr/index.js.map +1 -1
  431. package/dist/ssr/results-icon.b469eb939df034e7.svg +1 -0
  432. package/dist/ssr/stats.json +54 -46
  433. package/dist/ssr/summary-icon.eff7a61e59b7e02f.svg +1 -0
  434. package/entry.client.js +1 -1
  435. package/entry.ssr.js +3 -4
  436. package/hooks/dialog-closedby.js +42 -0
  437. package/l10n/de.ftl +2 -2
  438. package/l10n/en-US.ftl +10 -10
  439. package/legacy/index.tsx +1 -0
  440. package/legacy/legacy.css +5 -0
  441. package/package.json +22 -21
  442. package/rspack.config.js +27 -11
  443. package/server.js +37 -3
  444. package/svgo.config.js +22 -11
  445. package/types/element-map.d.ts +1 -0
  446. package/types/fred.ts +5 -1
  447. package/components/css-formal-syntax/index.css +0 -10
  448. package/components/observatory/index.css +0 -406
  449. package/components/observatory-landing/faq.js +0 -16
  450. package/components/observatory-landing/feedback.js +0 -16
  451. package/dist/client/1197.25090f81ab4208bc.css +0 -32
  452. package/dist/client/1197.25090f81ab4208bc.css.map +0 -1
  453. package/dist/client/1624.5694c64f5e45232c.js +0 -69
  454. package/dist/client/1739.505aa54ed62222c8.js +0 -8
  455. package/dist/client/2254.5fbfe2d0124ff3ba.css +0 -2
  456. package/dist/client/2254.5fbfe2d0124ff3ba.css.map +0 -1
  457. package/dist/client/2448.92286b4e96ad1c02.js.map +0 -1
  458. package/dist/client/2826.2162e19b0f72cf75.js +0 -29
  459. package/dist/client/2826.2162e19b0f72cf75.js.map +0 -1
  460. package/dist/client/3536.d17eba9caa4089c1.js +0 -30
  461. package/dist/client/3536.d17eba9caa4089c1.js.map +0 -1
  462. package/dist/client/37.feff9590370f461a.js +0 -102
  463. package/dist/client/37.feff9590370f461a.js.map +0 -1
  464. package/dist/client/3769.d1f1fcf335099c33.js.map +0 -1
  465. package/dist/client/3892.62b28110dbb3645e.js +0 -5
  466. package/dist/client/3892.62b28110dbb3645e.js.map +0 -1
  467. package/dist/client/391.ead0b358d96c9c13.js +0 -8
  468. package/dist/client/391.ead0b358d96c9c13.js.map +0 -1
  469. package/dist/client/4036.5ca9997e4c034473.js.map +0 -1
  470. package/dist/client/4045.c0fd898eab0b2a5c.js +0 -8
  471. package/dist/client/4045.c0fd898eab0b2a5c.js.map +0 -1
  472. package/dist/client/4531.4ae011f8a64a2b27.js +0 -34
  473. package/dist/client/4531.4ae011f8a64a2b27.js.map +0 -1
  474. package/dist/client/5531.3f07c9b4290520c7.js +0 -387
  475. package/dist/client/5837.52bd8ccde0085adc.js.map +0 -1
  476. package/dist/client/614.01075c8e848f77c4.css +0 -2
  477. package/dist/client/614.01075c8e848f77c4.css.map +0 -1
  478. package/dist/client/6213.32f53c1c3ef65496.js +0 -20
  479. package/dist/client/6213.32f53c1c3ef65496.js.map +0 -1
  480. package/dist/client/665.bfa5abb72f818c34.js +0 -34
  481. package/dist/client/665.bfa5abb72f818c34.js.map +0 -1
  482. package/dist/client/6681.4bc549fb34f3fd5c.js +0 -6
  483. package/dist/client/6955.90a316f179d37d80.js +0 -52
  484. package/dist/client/6955.90a316f179d37d80.js.map +0 -1
  485. package/dist/client/7326.b1ad5a6bece08bb2.js.map +0 -1
  486. package/dist/client/7345.6d89013575f169db.js +0 -16
  487. package/dist/client/7345.6d89013575f169db.js.map +0 -1
  488. package/dist/client/7461.c7551ade83fa6056.js +0 -35
  489. package/dist/client/7461.c7551ade83fa6056.js.map +0 -1
  490. package/dist/client/7509.780e429ccb3e9290.js +0 -9
  491. package/dist/client/7509.780e429ccb3e9290.js.map +0 -1
  492. package/dist/client/781.389e02e257b52721.css +0 -2
  493. package/dist/client/781.389e02e257b52721.css.map +0 -1
  494. package/dist/client/7898.7fd3ac2396a8dd7b.js +0 -45
  495. package/dist/client/7898.7fd3ac2396a8dd7b.js.map +0 -1
  496. package/dist/client/8877.6b7cc9370ff77f02.js +0 -2
  497. package/dist/client/8877.6b7cc9370ff77f02.js.map +0 -1
  498. package/dist/client/8896.85df788778cc02ca.js +0 -9
  499. package/dist/client/8896.85df788778cc02ca.js.map +0 -1
  500. package/dist/client/8911.e1fd0ac2f979c2ea.js.map +0 -1
  501. package/dist/client/917.f2371f7a8ef08c84.js +0 -17
  502. package/dist/client/917.f2371f7a8ef08c84.js.map +0 -1
  503. package/dist/client/9222.f3820fec7e0a91be.js +0 -104
  504. package/dist/client/9222.f3820fec7e0a91be.js.map +0 -1
  505. package/dist/client/9632.b317ca4ae5930b4a.js.map +0 -1
  506. package/dist/client/index.e36c34deca671725.js +0 -251
  507. package/dist/client/index.e36c34deca671725.js.map +0 -1
  508. package/dist/client/jetbrains-mono-cyrillic.4be0050294dbaee4.woff2 +0 -0
  509. package/dist/client/jetbrains-mono-italic-cyrillic.789710e9fe5a2b03.woff2 +0 -0
  510. package/dist/client/jetbrains-mono-italic-latin-extended.58430489c22fda09.woff2 +0 -0
  511. package/dist/client/jetbrains-mono-italic-latin.80ad93ea1dcec528.woff2 +0 -0
  512. package/dist/client/jetbrains-mono-latin-extended.2b8ab8f35e622fdb.woff2 +0 -0
  513. package/dist/client/jetbrains-mono-latin.eaa3472268346b6c.woff2 +0 -0
  514. package/dist/client/runtime.51020603a07b972d.js.map +0 -1
  515. package/dist/client/styles-a11y-menu.53797029a4c05806.css +0 -2
  516. package/dist/client/styles-a11y-menu.53797029a4c05806.css.map +0 -1
  517. package/dist/client/styles-a11y-menu.8c2ae6bc250fdde3.js +0 -1
  518. package/dist/client/styles-advertising.f01a816ffb81826d.js +0 -1
  519. package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css +0 -2
  520. package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css.map +0 -1
  521. package/dist/client/styles-article-footer.abc86d1bc28dbbea.js +0 -1
  522. package/dist/client/styles-banner.dd24262bb896879a.js +0 -1
  523. package/dist/client/styles-baseline-indicator.26595fbb926e3339.js +0 -1
  524. package/dist/client/styles-baseline-indicator.32a52f7b51085fbb.css.map +0 -1
  525. package/dist/client/styles-blog-index.7af1563c6077a7be.css +0 -2
  526. package/dist/client/styles-blog-index.7af1563c6077a7be.css.map +0 -1
  527. package/dist/client/styles-blog-index.805cf1995d84466a.js +0 -1
  528. package/dist/client/styles-blog-post.5824db4f15723a68.css +0 -2
  529. package/dist/client/styles-blog-post.5824db4f15723a68.css.map +0 -1
  530. package/dist/client/styles-blog-post.87f4fe5450147ce8.js +0 -1
  531. package/dist/client/styles-breadcrumbs-bar.474628c11d128ace.js +0 -1
  532. package/dist/client/styles-breadcrumbs.b0241eed8398fe84.js +0 -1
  533. package/dist/client/styles-button.bd90715982da863b.js +0 -1
  534. package/dist/client/styles-content-section.a1f8a5f77270d1dc.js +0 -1
  535. package/dist/client/styles-content-section.f47b61c45a723af0.css +0 -2
  536. package/dist/client/styles-content-section.f47b61c45a723af0.css.map +0 -1
  537. package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css +0 -2
  538. package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css.map +0 -1
  539. package/dist/client/styles-contributor-spotlight.a992b1d366637c5d.js +0 -1
  540. package/dist/client/styles-curriculum-about.4b80aa2f2b88e8e4.js +0 -1
  541. package/dist/client/styles-curriculum-about.b8d113b14323c909.css +0 -2
  542. package/dist/client/styles-curriculum-about.b8d113b14323c909.css.map +0 -1
  543. package/dist/client/styles-curriculum-default.190eba828fd99e0a.js +0 -1
  544. package/dist/client/styles-curriculum-default.ef46db3751d8e999.css +0 -0
  545. package/dist/client/styles-curriculum-landing.56209b30561d82e0.css +0 -2
  546. package/dist/client/styles-curriculum-landing.56209b30561d82e0.css.map +0 -1
  547. package/dist/client/styles-curriculum-landing.e73c9557dd2057aa.js +0 -1
  548. package/dist/client/styles-curriculum-module.7fc982bc6793fa48.js +0 -1
  549. package/dist/client/styles-curriculum-module.c7271eb90af85eba.css +0 -2
  550. package/dist/client/styles-curriculum-module.c7271eb90af85eba.css.map +0 -1
  551. package/dist/client/styles-curriculum-overview.d00ecdc305f40125.js +0 -1
  552. package/dist/client/styles-curriculum-overview.ef46db3751d8e999.css +0 -0
  553. package/dist/client/styles-featured-articles.27e767c8b538f066.js +0 -1
  554. package/dist/client/styles-featured-articles.c518f93ad0470cdf.css +0 -2
  555. package/dist/client/styles-featured-articles.c518f93ad0470cdf.css.map +0 -1
  556. package/dist/client/styles-footer.c1a53f0a58f04928.css +0 -2
  557. package/dist/client/styles-footer.e86ec0a935d5937f.js +0 -1
  558. package/dist/client/styles-generic-about.27a13c39db15963c.js +0 -1
  559. package/dist/client/styles-generic-about.481f176f22ba0def.css +0 -2
  560. package/dist/client/styles-generic-about.481f176f22ba0def.css.map +0 -1
  561. package/dist/client/styles-generic-community.44405e7e3938a4b6.js +0 -1
  562. package/dist/client/styles-generic-community.ddbcb9e0488bf017.css +0 -2
  563. package/dist/client/styles-generic-community.ddbcb9e0488bf017.css.map +0 -1
  564. package/dist/client/styles-generic-content.a2ddd6aac780a65f.js +0 -1
  565. package/dist/client/styles-generic-layout.55441b1a560f5c9f.css +0 -2
  566. package/dist/client/styles-generic-layout.670f75c4f806be84.js +0 -1
  567. package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css +0 -2
  568. package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css.map +0 -1
  569. package/dist/client/styles-generic-sidebar.d1528b01acb49222.js +0 -1
  570. package/dist/client/styles-generic-toc.88e45e1e72c77b73.css +0 -2
  571. package/dist/client/styles-generic-toc.88e45e1e72c77b73.css.map +0 -1
  572. package/dist/client/styles-generic-toc.db854e6e0376fb6b.js +0 -1
  573. package/dist/client/styles-global.698ebe57a5418ca2.css +0 -2
  574. package/dist/client/styles-global.698ebe57a5418ca2.css.map +0 -1
  575. package/dist/client/styles-global.cb63a51fc1146957.js +0 -1
  576. package/dist/client/styles-heading-anchor.6ffff34f5421dc9f.js +0 -1
  577. package/dist/client/styles-heading-anchor.f2760897211efe98.css +0 -2
  578. package/dist/client/styles-homepage-body.4a9eaf99a6d5a434.js +0 -1
  579. package/dist/client/styles-homepage-contributor-spotlight.a91a262ee949a587.js +0 -1
  580. package/dist/client/styles-homepage-footer.cddd4004e597dbdf.js +0 -1
  581. package/dist/client/styles-homepage-header.6fc6295b2124ce59.js +0 -1
  582. package/dist/client/styles-homepage-hero.d56f468fb0364b60.js +0 -1
  583. package/dist/client/styles-homepage.be456abdb86e4bd2.js +0 -1
  584. package/dist/client/styles-latest-news.1b5fd7a95688fea4.css +0 -2
  585. package/dist/client/styles-latest-news.1b5fd7a95688fea4.css.map +0 -1
  586. package/dist/client/styles-latest-news.f725dd4127faabc2.js +0 -1
  587. package/dist/client/styles-left-sidebar.135a5bc6ad04c4f0.css +0 -2
  588. package/dist/client/styles-left-sidebar.135a5bc6ad04c4f0.css.map +0 -1
  589. package/dist/client/styles-left-sidebar.6cdadac4a1db951d.js +0 -1
  590. package/dist/client/styles-logo.8e7830628a9d7ef5.js +0 -1
  591. package/dist/client/styles-logo.a89a79f82f933ef6.css +0 -2
  592. package/dist/client/styles-logo.a89a79f82f933ef6.css.map +0 -1
  593. package/dist/client/styles-mandala.41af6b0b37aa7987.js +0 -1
  594. package/dist/client/styles-mandala.96281d90e09ea84c.css +0 -2
  595. package/dist/client/styles-mandala.96281d90e09ea84c.css.map +0 -1
  596. package/dist/client/styles-menu.786218f8a3e51b45.js +0 -1
  597. package/dist/client/styles-menu.d6b6e63ef2bff0d6.css +0 -2
  598. package/dist/client/styles-menu.d6b6e63ef2bff0d6.css.map +0 -1
  599. package/dist/client/styles-navigation.94adc2be697cca49.css +0 -2
  600. package/dist/client/styles-navigation.94adc2be697cca49.css.map +0 -1
  601. package/dist/client/styles-navigation.fac8722caf14abc8.js +0 -1
  602. package/dist/client/styles-not-found.f42949546ffd210c.js +0 -1
  603. package/dist/client/styles-observatory-landing.994044845e174ebc.js +0 -1
  604. package/dist/client/styles-observatory-landing.ef46db3751d8e999.css +0 -0
  605. package/dist/client/styles-observatory-results.2ebe1e1263bf9901.js +0 -1
  606. package/dist/client/styles-observatory-results.ef46db3751d8e999.css +0 -0
  607. package/dist/client/styles-page-layout.17e57aa7087c3c14.js +0 -1
  608. package/dist/client/styles-page-layout.5db9be57df19de0c.css +0 -2
  609. package/dist/client/styles-pagination.0b3aa3fd6f6d3808.css +0 -2
  610. package/dist/client/styles-pagination.8e0e077c056abb08.js +0 -1
  611. package/dist/client/styles-playground.6ba82a762ed428cd.js +0 -1
  612. package/dist/client/styles-recent-contributions.049ea82f38aea973.js +0 -1
  613. package/dist/client/styles-reference-layout.3fdc304c65153216.css +0 -2
  614. package/dist/client/styles-reference-layout.3fdc304c65153216.css.map +0 -1
  615. package/dist/client/styles-reference-layout.dffb8a58fa542929.js +0 -1
  616. package/dist/client/styles-reference-toc.885940cc1b62f05f.js +0 -1
  617. package/dist/client/styles-sandbox.28b391e75fd280b4.js +0 -1
  618. package/dist/client/styles-site-search.442cfc8fc77298a8.js +0 -1
  619. package/dist/client/styles-site-search.cf345ef99e0d06b5.css +0 -2
  620. package/dist/client/styles-translation-banner.ddf203bc7bb2e1bc.js +0 -1
  621. package/dist/client/styles.23fb47137258e781.js +0 -2
  622. package/dist/client/styles.23fb47137258e781.js.map +0 -1
  623. package/dist/legacy/7664.eee0fe67e04785f4.js.map +0 -1
  624. package/dist/legacy/afree.23e42bd4c44a110f.png +0 -0
  625. package/dist/legacy/index.9db2264bb6151226.css.map +0 -1
  626. package/dist/legacy/index.b760891bfcc63977.js.map +0 -1
  627. package/hooks/css-formal-syntax.js +0 -21
  628. /package/dist/client/{1342.b05de4cd80d4c221.js.LICENSE.txt → 1342.a66390274e8adda1.js.LICENSE.txt} +0 -0
  629. /package/dist/client/{2448.92286b4e96ad1c02.js.LICENSE.txt → 2448.34e8a46d8ac913b9.js.LICENSE.txt} +0 -0
  630. /package/dist/client/{4036.5ca9997e4c034473.js.LICENSE.txt → 4036.4aa9a690073ccbac.js.LICENSE.txt} +0 -0
  631. /package/dist/client/{4045.c0fd898eab0b2a5c.js.LICENSE.txt → 4045.ec4c143648ab2280.js.LICENSE.txt} +0 -0
  632. /package/dist/client/{4531.4ae011f8a64a2b27.js.LICENSE.txt → 4531.5f4701b319065b2b.js.LICENSE.txt} +0 -0
  633. /package/dist/client/{5557.247c4c4c61d91b4d.js.LICENSE.txt → 5557.3923ba7ade67d4c8.js.LICENSE.txt} +0 -0
  634. /package/dist/client/{8468.add3c4feb6c9e926.js.LICENSE.txt → 833.a99cc1ff95a9361c.js.LICENSE.txt} +0 -0
  635. /package/dist/client/{917.f2371f7a8ef08c84.js.LICENSE.txt → 8468.f45cbbf88e617172.js.LICENSE.txt} +0 -0
  636. /package/dist/client/{9222.f3820fec7e0a91be.js.LICENSE.txt → 917.f2551a4b63ec4d86.js.LICENSE.txt} +0 -0
  637. /package/dist/legacy/{1284.0939e1a7de12c23c.js.LICENSE.txt → 1284.9609d9ed70761e2f.js.LICENSE.txt} +0 -0
  638. /package/dist/legacy/{7664.eee0fe67e04785f4.js.LICENSE.txt → 7664.7bf14ff753e36b72.js.LICENSE.txt} +0 -0
  639. /package/dist/legacy/{8716.9fde41ad50c3078d.js.LICENSE.txt → 8716.0a9d049bf166f65a.js.LICENSE.txt} +0 -0
  640. /package/dist/legacy/{index.b760891bfcc63977.js.LICENSE.txt → index.dd25b33b92ab6c72.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"8716.9fde41ad50c3078d.js","sources":["webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/index.scss","webpack://@mdn/fred/./node_modules/@lit/task/task.js","webpack://@mdn/fred/./node_modules/lit-html/directive-helpers.js","webpack://@mdn/fred/./node_modules/lit-html/async-directive.js","webpack://@mdn/fred/./node_modules/lit-html/directives/ref.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/utils.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/legend.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/feature-row.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/viewed-controller.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/compat-table.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/lazy-compat-table.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../assets/icons/small-arrow.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../../assets/icons/add-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"../../assets/icons/add.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"../../assets/icons/altname.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"../../assets/icons/bell.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"../../assets/icons/bell-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"../../assets/icons/bell-ring.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"../../assets/icons/bluesky.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"../../assets/icons/bookmark-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"../../assets/icons/bookmark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"../../assets/icons/cancel.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"../../assets/icons/chatgpt.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"../../assets/icons/checkmark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"../../assets/icons/chevron.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"../../assets/icons/chrome.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"../../assets/icons/critical.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"../../assets/icons/curriculum-next.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"../../assets/icons/curriculum-prev.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"../../assets/icons/deno.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_19___ = new URL(\"../../assets/icons/deprecated.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_20___ = new URL(\"../../assets/icons/desktop.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_21___ = new URL(\"../../assets/icons/disabled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_22___ = new URL(\"../../assets/icons/edge.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_23___ = new URL(\"../../assets/icons/edit.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_24___ = new URL(\"../../assets/icons/edit-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_25___ = new URL(\"../../assets/icons/ellipses.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_26___ = new URL(\"../../assets/icons/experimental.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_27___ = new URL(\"../../assets/icons/external.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_28___ = new URL(\"../../assets/icons/eye-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_29___ = new URL(\"../../assets/icons/eye.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_30___ = new URL(\"../../assets/icons/feed.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_31___ = new URL(\"../../assets/icons/filter.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_32___ = new URL(\"../../assets/icons/footnote.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_33___ = new URL(\"../../assets/icons/github-mark-small.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_34___ = new URL(\"../../assets/icons/ie.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_35___ = new URL(\"../../assets/icons/information.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_36___ = new URL(\"../../assets/icons/highlight.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_37___ = new URL(\"../../assets/icons/history.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_38___ = new URL(\"../../assets/icons/language.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_39___ = new URL(\"../../assets/icons/mastodon.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_40___ = new URL(\"../../assets/icons/menu-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_41___ = new URL(\"../../assets/icons/menu.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_42___ = new URL(\"../../assets/icons/mobile.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_43___ = new URL(\"../../assets/icons/more.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_44___ = new URL(\"../../assets/icons/theme-dark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_45___ = new URL(\"../../assets/icons/new-topic.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_46___ = new URL(\"../../assets/icons/next.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_47___ = new URL(\"../../assets/icons/no.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_48___ = new URL(\"../../assets/icons/nodejs.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_49___ = new URL(\"../../assets/icons/nonstandard.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_50___ = new URL(\"../../assets/icons/note-info.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_51___ = new URL(\"../../assets/icons/note-warning.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_52___ = new URL(\"../../assets/icons/note-deprecated.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_53___ = new URL(\"../../assets/icons/opera.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_54___ = new URL(\"../../assets/icons/padlock.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_55___ = new URL(\"../../assets/icons/partial.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_56___ = new URL(\"../../assets/icons/play.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_57___ = new URL(\"../../assets/icons/prefix.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_58___ = new URL(\"../../assets/icons/preview.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_59___ = new URL(\"../../assets/icons/previous.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_60___ = new URL(\"../../assets/icons/question-mark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_61___ = new URL(\"../../assets/icons/queue.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_62___ = new URL(\"../../assets/icons/queued.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_63___ = new URL(\"../../assets/icons/quote.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_64___ = new URL(\"../../assets/icons/return.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_65___ = new URL(\"../../assets/icons/safari.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_66___ = new URL(\"../../assets/icons/samsunginternet.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_67___ = new URL(\"../../assets/icons/search.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_68___ = new URL(\"../../assets/icons/send.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_69___ = new URL(\"../../assets/icons/server.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_70___ = new URL(\"../../assets/icons/sidebar.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_71___ = new URL(\"../../assets/icons/simple-firefox.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_72___ = new URL(\"../../assets/icons/theme-light.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_73___ = new URL(\"../../assets/icons/star-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_74___ = new URL(\"../../assets/icons/star.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_75___ = new URL(\"../../assets/icons/theme-os-default.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_76___ = new URL(\"../../assets/icons/thumbs-down.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_77___ = new URL(\"../../assets/icons/thumbs-up.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_78___ = new URL(\"../../assets/icons/trash.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_79___ = new URL(\"../../assets/icons/trash-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_80___ = new URL(\"../../assets/icons/twitter-x.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_81___ = new URL(\"../../assets/icons/unknown.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_82___ = new URL(\"../../assets/icons/warning.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_83___ = new URL(\"../../assets/icons/webview.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_84___ = new URL(\"../../assets/icons/yes.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_85___ = new URL(\"../../assets/icons/yes-circle.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___);\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);\nvar ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___);\nvar ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___);\nvar ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___);\nvar ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___);\nvar ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___);\nvar ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_29___);\nvar ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_30___);\nvar ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_31___);\nvar ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_32___);\nvar ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_33___);\nvar ___CSS_LOADER_URL_REPLACEMENT_34___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_34___);\nvar ___CSS_LOADER_URL_REPLACEMENT_35___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_35___);\nvar ___CSS_LOADER_URL_REPLACEMENT_36___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_36___);\nvar ___CSS_LOADER_URL_REPLACEMENT_37___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_37___);\nvar ___CSS_LOADER_URL_REPLACEMENT_38___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_38___);\nvar ___CSS_LOADER_URL_REPLACEMENT_39___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_39___);\nvar ___CSS_LOADER_URL_REPLACEMENT_40___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_40___);\nvar ___CSS_LOADER_URL_REPLACEMENT_41___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_41___);\nvar ___CSS_LOADER_URL_REPLACEMENT_42___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_42___);\nvar ___CSS_LOADER_URL_REPLACEMENT_43___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_43___);\nvar ___CSS_LOADER_URL_REPLACEMENT_44___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_44___);\nvar ___CSS_LOADER_URL_REPLACEMENT_45___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_45___);\nvar ___CSS_LOADER_URL_REPLACEMENT_46___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_46___);\nvar ___CSS_LOADER_URL_REPLACEMENT_47___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_47___);\nvar ___CSS_LOADER_URL_REPLACEMENT_48___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_48___);\nvar ___CSS_LOADER_URL_REPLACEMENT_49___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_49___);\nvar ___CSS_LOADER_URL_REPLACEMENT_50___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_50___);\nvar ___CSS_LOADER_URL_REPLACEMENT_51___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_51___);\nvar ___CSS_LOADER_URL_REPLACEMENT_52___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_52___);\nvar ___CSS_LOADER_URL_REPLACEMENT_53___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_53___);\nvar ___CSS_LOADER_URL_REPLACEMENT_54___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_54___);\nvar ___CSS_LOADER_URL_REPLACEMENT_55___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_55___);\nvar ___CSS_LOADER_URL_REPLACEMENT_56___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_56___);\nvar ___CSS_LOADER_URL_REPLACEMENT_57___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_57___);\nvar ___CSS_LOADER_URL_REPLACEMENT_58___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_58___);\nvar ___CSS_LOADER_URL_REPLACEMENT_59___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_59___);\nvar ___CSS_LOADER_URL_REPLACEMENT_60___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_60___);\nvar ___CSS_LOADER_URL_REPLACEMENT_61___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_61___);\nvar ___CSS_LOADER_URL_REPLACEMENT_62___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_62___);\nvar ___CSS_LOADER_URL_REPLACEMENT_63___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_63___);\nvar ___CSS_LOADER_URL_REPLACEMENT_64___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_64___);\nvar ___CSS_LOADER_URL_REPLACEMENT_65___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_65___);\nvar ___CSS_LOADER_URL_REPLACEMENT_66___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_66___);\nvar ___CSS_LOADER_URL_REPLACEMENT_67___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_67___);\nvar ___CSS_LOADER_URL_REPLACEMENT_68___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_68___);\nvar ___CSS_LOADER_URL_REPLACEMENT_69___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_69___);\nvar ___CSS_LOADER_URL_REPLACEMENT_70___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_70___);\nvar ___CSS_LOADER_URL_REPLACEMENT_71___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_71___);\nvar ___CSS_LOADER_URL_REPLACEMENT_72___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_72___);\nvar ___CSS_LOADER_URL_REPLACEMENT_73___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_73___);\nvar ___CSS_LOADER_URL_REPLACEMENT_74___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_74___);\nvar ___CSS_LOADER_URL_REPLACEMENT_75___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_75___);\nvar ___CSS_LOADER_URL_REPLACEMENT_76___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_76___);\nvar ___CSS_LOADER_URL_REPLACEMENT_77___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_77___);\nvar ___CSS_LOADER_URL_REPLACEMENT_78___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_78___);\nvar ___CSS_LOADER_URL_REPLACEMENT_79___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_79___);\nvar ___CSS_LOADER_URL_REPLACEMENT_80___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_80___);\nvar ___CSS_LOADER_URL_REPLACEMENT_81___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_81___);\nvar ___CSS_LOADER_URL_REPLACEMENT_82___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_82___);\nvar ___CSS_LOADER_URL_REPLACEMENT_83___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_83___);\nvar ___CSS_LOADER_URL_REPLACEMENT_84___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_84___);\nvar ___CSS_LOADER_URL_REPLACEMENT_85___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_85___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `button,.button{appearance:none;background:none;border:none}.button{--button-bg: var(--button-primary-default);--button-bg-hover: var(--button-primary-hover);--button-bg-active: var(--button-primary-active);--button-border-color: var(--button-primary-default);--button-focus-effect: var(--focus-effect);--button-height: var(--form-elem-height, 2rem);--button-color: var(--background-primary);--button-font: var(--type-emphasis-m);--button-padding: 0.5rem;--button-radius: var(--elem-radius, 0.25rem);border-radius:var(--button-radius);cursor:pointer;display:inline-block;padding:0;-webkit-text-decoration:none;text-decoration:none}.button-wrap{align-items:center;background-color:var(--button-bg);border:1px solid var(--button-border-color);border-radius:var(--button-radius);color:var(--button-color);display:flex;font:var(--button-font);gap:.25rem;height:var(--button-height);justify-content:center;padding-left:var(--button-padding);padding-right:var(--button-padding);position:relative}.button .icon{background-color:var(--button-color);margin:0 -1px}.button:hover,.button.hover{--button-border-color: var(--button-bg-hover, var(--button-bg))}.button:hover .button-wrap,.button.hover .button-wrap{background-color:var(--button-bg-hover, var(--button-bg))}.button:active .button-wrap,.button.active .button-wrap{background-color:var(--button-bg-active, var(--button-bg))}.button:focus,.button.focus{outline:none}.button:focus .button-wrap,.button.focus .button-wrap{border:1px solid var(--button-secondary-border-focus);box-shadow:var(--button-focus-effect)}.button.button[disabled],.button.button.inactive{cursor:default;opacity:.65}.button.button[disabled]:hover,.button.button.inactive:hover{--button-bg-hover: unset}.button.button[disabled]:active,.button.button.inactive:active{--button-bg-active: unset}.button.small,.button.small .button-wrap{--button-height: 1.75rem;--button-padding: 0.25rem}.button.secondary{--button-bg: var(--button-secondary-default);--button-border-color: var(--border-primary);--button-color: var(--text-secondary);--button-bg-hover: var(--button-secondary-hover);--button-bg-active: var(--button-secondary-active)}.button.secondary:focus{--button-border-color: var(--button-secondary-border-focus)}.button.action{--button-bg: transparent;--button-border-color: var(--button-bg);--button-color: var(--text-secondary);--button-font: var(--type-label-s);--button-bg-hover: var(--button-secondary-hover);--button-bg-active: var(--button-secondary-active)}.button.action.has-icon{--button-font: var(--type-emphasis-m);text-transform:initial}.button.action:focus{--button-border-color: var(--button-secondary-border-focus)}.button.action .button-wrap{text-transform:var(--button-action-transform, uppercase)}.button.action.highlight{--button-color: var(--button-primary-default)}.button.select{--button-bg: var(--button-secondary-default);--button-bg-hover: var(--button-secondary-hover);--button-bg-active: var(--button-secondary-active);--button-border-color: var(--border-primary);--button-color: var(--text-secondary);appearance:none;background:none;border:none;padding:0;-webkit-text-decoration:none;text-decoration:none}.button.select .button-wrap{box-shadow:var(--shadow-01);padding-right:26px;position:relative}.button.select .button-wrap::after{background-color:var(--icon-primary);content:\"\";display:block;height:16px;-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});-webkit-mask-size:cover;mask-size:cover;position:absolute;right:.5rem;top:calc(50% - .5rem);width:16px}.button.link{--button-bg: none;--button-bg-hover: none;--button-bg-active: none;--button-border-color: none;--button-focus-effect: none;--button-secondary-border-focus: none;--button-height: auto;--button-font: unset;--button-padding: 0;--button-radius: 0;--button-color: var(--text-link);appearance:none;display:inline;-webkit-text-decoration:none;text-decoration:none}.button.link:focus-visible{outline-color:var(--accent-primary);outline-offset:1px;outline-style:auto}.icon{--size: var(--icon-size, 1rem);background-color:var(--icon-primary);display:inline-block;flex-shrink:0;height:var(--size);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:middle;width:var(--size)}.icon.icon-add-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.icon.icon-add{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}.icon.icon-altname{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___})}.icon.icon-bell{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___})}.icon.icon-bell-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___})}.icon.icon-bell-ring{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___})}.icon.icon-bluesky{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___})}.icon.icon-bookmark-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___})}.icon.icon-bookmark{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___})}.icon.icon-cancel{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___})}.icon.icon-chatgpt{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___})}.icon.icon-checkmark{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___})}.icon.icon-chevron{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___})}.icon.icon-chrome{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___})}.icon.icon-critical{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___})}.icon.icon-curriculum-next{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___})}.icon.icon-curriculum-prev{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___})}.icon.icon-deno{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_18___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_18___})}.icon.icon-deprecated{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_19___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_19___})}.icon.icon-desktop{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_20___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_20___})}.icon.icon-disabled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_21___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_21___})}.icon.icon-edge{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_22___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_22___})}.icon.icon-edit{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_23___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_23___})}.icon.icon-edit-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_24___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_24___})}.icon.icon-ellipses{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_25___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_25___})}.icon.icon-experimental{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_26___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_26___})}.icon.icon-external{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_27___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_27___})}.icon.icon-eye-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_28___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_28___})}.icon.icon-eye{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_29___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_29___})}.icon.icon-feed{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_30___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_30___})}.icon.icon-filter{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_31___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_31___})}.icon.icon-footnote{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_32___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_32___})}.icon.icon-github-mark-small{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_33___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_33___})}.icon.icon-ie{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_34___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_34___})}.icon.icon-information{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_35___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_35___})}.icon.icon-highlight{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_36___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_36___})}.icon.icon-history{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_37___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_37___})}.icon.icon-language{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_38___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_38___})}.icon.icon-mastodon{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_39___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_39___})}.icon.icon-menu-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_40___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_40___})}.icon.icon-menu{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_41___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_41___})}.icon.icon-mobile{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_42___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_42___})}.icon.icon-more{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_43___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_43___})}.icon.icon-theme-dark{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_44___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_44___})}.icon.icon-new-topic{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_45___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_45___})}.icon.icon-next{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_46___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_46___})}.icon.icon-no{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_47___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_47___})}.icon.icon-nodejs{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_48___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_48___})}.icon.icon-nonstandard{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_49___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_49___})}.icon.icon-note-info{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_50___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_50___})}.icon.icon-note-warning{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_51___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_51___})}.icon.icon-note-deprecated{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_52___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_52___})}.icon.icon-opera{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_53___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_53___})}.icon.icon-padlock{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_54___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_54___})}.icon.icon-partial{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_55___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_55___})}.icon.icon-play{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_56___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_56___})}.icon.icon-prefix{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_57___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_57___})}.icon.icon-preview{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_58___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_58___})}.icon.icon-previous{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_59___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_59___})}.icon.icon-question-mark{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_60___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_60___})}.icon.icon-queue{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_61___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_61___})}.icon.icon-queued{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_62___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_62___})}.icon.icon-quote{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_63___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_63___})}.icon.icon-return{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_64___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_64___})}.icon.icon-safari{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_65___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_65___})}.icon.icon-samsunginternet{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_66___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_66___})}.icon.icon-search{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_67___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_67___})}.icon.icon-send{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_68___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_68___})}.icon.icon-server{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_69___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_69___})}.icon.icon-sidebar{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_70___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_70___})}.icon.icon-simple-firefox{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_71___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_71___})}.icon.icon-small-arrow{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.icon.icon-theme-light{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_72___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_72___})}.icon.icon-star-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_73___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_73___})}.icon.icon-star{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_74___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_74___})}.icon.icon-theme-os-default{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_75___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_75___})}.icon.icon-thumbs-down{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_76___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_76___})}.icon.icon-thumbs-up{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_77___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_77___})}.icon.icon-trash{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_78___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_78___})}.icon.icon-trash-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_79___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_79___})}.icon.icon-twitter-x{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_80___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_80___})}.icon.icon-unknown{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_81___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_81___})}.icon.icon-warning{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_82___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_82___})}.icon.icon-webview{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_83___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_83___})}.icon.icon-yes{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_84___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_84___})}.icon.icon-yes-circle{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_85___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_85___})}svg.icon{background:rgba(0,0,0,0);color:var(--icon-primary)}.icons-highlighted{align-items:center;display:flex;flex-direction:column}.icons-highlighted>span{height:var(--icon-size);line-height:0;width:var(--icon-size)}.icons-highlighted>span.icons-icon-wrapper{margin-top:-0.1rem}*{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}.visually-hidden{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:1px !important}code{background:var(--code-background-inline);padding:.125rem .25rem;width:fit-content}a{color:var(--text-link)}.external:after{background-color:var(--icon-primary);content:\"\";display:inline-flex;height:10px;margin-left:4px;-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_27___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_27___});-webkit-mask-size:cover;mask-size:cover;width:10px}table{display:grid;grid-auto-flow:row dense}table thead tr{display:contents}table thead tr th,table thead tr td{display:grid;grid-template-columns:subgrid}table tbody{display:contents}table tbody tr{display:contents}table tbody tr th,table tbody tr td{display:contents}table tbody tr th button,table tbody tr td button{display:grid;grid-template-columns:subgrid}table tbody tr th .timeline,table tbody tr td .timeline{grid-column:1/-1}.bc-on-github{font-size:var(--type-smaller-font-size)}.bc-table{border:1px solid var(--border-primary);border-collapse:separate;border-radius:var(--elem-radius);border-spacing:0;margin:0;width:100%}.bc-table td,.bc-table th{border:1px solid var(--border-secondary);border-width:0 0 1px 1px;font-size:var(--type-smaller-font-size);font-weight:500;padding:0;padding:.4rem}.bc-table td code,.bc-table th code{font-size:var(--type-smaller-font-size)}.bc-table th{background:var(--background-primary);padding:.4rem;vertical-align:bottom}.bc-table thead{line-height:1;white-space:nowrap}.bc-table tbody tr{height:3rem}@media(min-width: 426px){.bc-table tbody tr:last-child th,.bc-table tbody tr:last-child td{border-bottom-width:0}}.bc-table tbody tr th{border-left-width:0;vertical-align:middle}.bc-table tbody .bc-support{vertical-align:top}.bc-table tbody .bc-support button{cursor:pointer;width:100%}.bc-table tbody .bc-support.bc-supports-no>button>span{color:var(--text-primary-red)}.bc-table tbody .bc-support.bc-supports-partial>button>span{color:var(--text-primary-yellow)}.bc-table tbody .bc-support.bc-supports-preview>button>span{color:var(--text-primary-blue)}.bc-table tbody .bc-support.bc-supports-yes>button>span{color:var(--text-primary-green)}.bc-table .bc-supports{margin-bottom:1rem}.bc-table .bc-supports .icon-wrap{background:var(--background-primary)}.bc-table .bc-supports.bc-supports-removed-partial .bcd-cell-text-copy{color:var(--text-primary-yellow)}.bc-table .icon-wrap .bc-support-level{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px}.bc-table .bc-support>button>.icon-wrap{display:block}.bc-table .bc-support .icon.icon-removed-partial{background-color:var(--icon-critical);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_47___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_47___})}.bc-table .bc-support .timeline .icon.icon-removed-partial{background-color:var(--icon-primary);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_55___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_55___})}.bc-table .bc-support.bc-supports-removed-partial .bcd-cell-text-copy{color:var(--text-primary-red)}.bc-table .bc-feature{align-items:center;border:none;display:flex;text-align:left;width:100%}.bc-table .bc-feature>*{border:none !important;flex-basis:max-content}.bc-table .bc-feature-depth-2{border-left:7px solid var(--border-primary)}.bc-table .bc-feature-depth-3{border-left:15px solid var(--border-primary)}.bc-table .timeline{display:none}.bc-table .bc-has-history:focus-within .timeline{display:initial}.bc-head-txt-label{line-height:1;text-orientation:sideways;transform:rotate(180deg);white-space:nowrap;writing-mode:vertical-rl}.bc-support{text-align:center;vertical-align:middle}.bc-level-no{background-color:var(--icon-critical)}.bc-level-preview{background-color:var(--icon-information)}.bc-legend-items-container{display:flex;flex-wrap:wrap;font-size:var(--type-smaller-font-size);gap:1.5rem;margin-bottom:2rem}.bc-legend-tip{font-size:var(--type-smaller-font-size);font-style:italic;font-variation-settings:\"slnt\" -10;margin-bottom:1rem;margin-top:0}.bc-legend-item{align-items:center;display:flex;gap:.5rem}.bc-legend-item-dt{display:flex}.bc-legend-item-dt .icon{background-color:var(--icon-primary)}.bc-platforms th{align-items:center;display:flex;justify-content:center}.bc-platforms td{border:none}.bc-browsers th{align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:end;vertical-align:bottom}.bc-browsers td{border-width:0 0 1px}.bc-notes-list{margin:.5rem 0;position:relative;text-align:left;width:100%}.bc-notes-list:before{background:var(--border-primary);content:\"\";height:calc(100% - .25rem);left:7px;margin-top:.25rem;position:absolute;width:2px;z-index:-1}.bc-notes-list .bc-notes-wrapper:last-child dd:last-child{position:relative}.bc-notes-list .bc-notes-wrapper:last-child dd:last-child:before{background:var(--background-primary);bottom:0;content:\"\";height:calc(100% - 6px);left:7px;position:absolute;width:2px;z-index:-1}.bc-notes-list .bc-level-yes.icon.icon-yes{background-color:var(--icon-success);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_85___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_85___})}.bc-notes-list .bc-supports-dd .icon{background:var(--border-primary);border:3px solid var(--background-primary);border-radius:50%;-webkit-mask-image:none;mask-image:none}.bc-notes-list .bc-version-label{display:inline}.bc-notes-list abbr{margin-right:4px;-webkit-text-decoration:none;text-decoration:none}.bc-notes-list dd{margin-bottom:1rem;padding-left:1.5rem;text-indent:-1.5rem}.bc-notes-list dd:last-child{margin-bottom:2rem}.bc-notes-wrapper{color:var(--text-primary);margin-bottom:1rem}.bc-notes-wrapper:last-child{margin-bottom:0}dl.bc-notes-list dt.bc-supports{margin-top:1rem}dl.bc-notes-list dt.bc-supports:first-child{margin-top:0}dl.bc-notes-list dd.bc-supports-dd{margin-bottom:1rem}dl.bc-notes-list dd.bc-supports-dd:last-child{margin-bottom:0}.only-icon span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px}.bc-table-row-header{padding:.25em;text-align:left;width:100%}.bc-table-row-header code{overflow:hidden}.bc-table-row-header .bc-icons{display:inline-flex;gap:.5ch;margin-left:.5ch;vertical-align:text-top}.bc-table-row-header .bc-icons .icon{background-color:var(--icon-secondary)}.bc-table-row-header .bc-icons .icon:hover{background-color:var(--icon-primary)}.bc-github-link{font:var(--type-smaller-font-size)}.main-page-content .bc-legend dd,.main-page-content .bc-legend dt{margin-bottom:0;margin-left:0;margin-top:0}.main-page-content .bc-supports-dd{margin:0}@media(max-width: 425.98px){.bc-table{grid-template-columns:auto}.bc-table thead{display:none}.bc-table tr td.bc-support{border:none;border-top:1px solid var(--border-primary);display:block}.bc-table tr td.bc-support:last-child{border-bottom:1px solid var(--border-primary)}.bc-table .timeline{margin-left:.25rem}.bc-table tr:not(:first-of-type) .bc-feature{border-top:2px solid var(--border-primary)}.bc-table .bc-feature,.bc-table .bc-support>button{align-content:center;display:flex;flex-wrap:wrap;gap:.5rem}.bc-on-github a{white-space:nowrap}.table-container{overflow-x:auto}}@media(min-width: 426px){.bc-table{grid-template-columns:minmax(20vw, min-content) repeat(var(--browser-count), auto)}.bc-table thead{display:contents}.bc-table thead .bc-platforms th{vertical-align:revert}.bc-table tbody{--border: 1px solid var(--border-secondary)}.bc-table tbody tr:not(:first-child) th>*,.bc-table tbody tr:not(:first-child) td>*{border-top:var(--border)}.bc-table tbody tr:not(:first-child) .bc-feature{border-top:var(--border)}.bc-table tbody tr th:not(:first-child)>*,.bc-table tbody tr td:not(:first-child)>*{border-left:var(--border)}.bc-table td,.bc-table th{background:inherit;padding:.25rem}.bc-table td.bc-support{padding:0}.bc-table td.bc-support>button{padding:.25rem}.bc-table .timeline{border-left:none !important;border-top:var(--border)}.bc-table .bc-has-history:focus-within>button{--padding-bottom-offset: -2px;border-bottom:2px solid var(--text-primary)}.table-container{margin:0 -3rem;overflow:auto;width:100vw}.table-container-inner{min-width:max-content;padding:0 3rem;position:relative}.table-container-inner:after{bottom:0;content:\"\";height:10px;position:absolute;right:0;width:10px}.bcd-cell-text-wrapper .bc-support-level,.bcd-cell-text-wrapper .bc-browser-name{display:none}.bc-notes-list{margin-left:20%;max-width:80vw;width:auto}.bc-support .bc-support-level{display:none}.bc-has-history{cursor:pointer}.bc-has-history>button:hover{background:var(--background-secondary)}}@media(min-width: 769px){.table-container{width:calc(100% + 6rem)}.table-container-inner{min-width:initial}.bc-on-github{text-align:right}.bc-table{grid-template-columns:minmax(25%, max-content) repeat(var(--browser-count), calc(75% / var(--browser-count)))}.icon{--size: calc(1rem + 1px)}}@media(min-width: 1200px){.table-container{margin:0;width:100%}.table-container-inner{padding:0}.bc-table{grid-template-columns:minmax(33%, max-content) repeat(var(--browser-count), calc(67% / var(--browser-count)))}}.bcd-cell-text-wrapper{display:flex;flex-direction:row;gap:.5rem}@media(min-width: 426px){.bcd-cell-text-wrapper{align-items:center;flex-direction:column}}.bcd-timeline-cell-text-wrapper{display:flex;flex-direction:row;gap:.25rem}.bcd-cell-text-copy{color:var(--text-primary)}.bc-supports-yes .bcd-cell-text-copy{color:var(--text-primary-green)}.bc-supports-partial .bcd-cell-text-copy{color:var(--text-primary-yellow)}.bc-supports-no .bcd-cell-text-copy{color:var(--text-primary-red)}.bcd-cell-icons{display:flex;gap:.5rem}@media(min-width: 426px){.bcd-cell-icons{display:block}}@media(min-width: 426px){.bc-table td.bc-support>button{padding-bottom:calc(.5rem + var(--padding-bottom-offset, 0px));padding-left:.25rem;padding-right:.25rem;padding-top:.5rem}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@mdn/yari/client/src/ui/atoms/button/index.scss\",\"webpack://./node_modules/@mdn/yari/client/src/ui/atoms/icon/index.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/global.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index.scss\",\"webpack://./node_modules/@mdn/minimalist/sass/mixins/_utils.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index-mobile.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index-desktop.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index-desktop-md.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index-desktop-xl.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"button,\\n.button {\\n appearance: none;\\n background: none;\\n border: none;\\n}\\n\\n.button {\\n --button-bg: var(--button-primary-default);\\n --button-bg-hover: var(--button-primary-hover);\\n --button-bg-active: var(--button-primary-active);\\n --button-border-color: var(--button-primary-default);\\n --button-focus-effect: var(--focus-effect);\\n --button-height: var(--form-elem-height, 2rem);\\n --button-color: var(--background-primary);\\n --button-font: var(--type-emphasis-m);\\n --button-padding: 0.5rem;\\n --button-radius: var(--elem-radius, 0.25rem);\\n border-radius: var(--button-radius);\\n\\n cursor: pointer;\\n display: inline-block;\\n padding: 0;\\n text-decoration: none;\\n}\\n\\n.button-wrap {\\n align-items: center;\\n background-color: var(--button-bg);\\n border: 1px solid var(--button-border-color);\\n border-radius: var(--button-radius);\\n color: var(--button-color);\\n display: flex;\\n font: var(--button-font);\\n gap: 0.25rem;\\n height: var(--button-height);\\n justify-content: center;\\n padding-left: var(--button-padding);\\n padding-right: var(--button-padding);\\n position: relative;\\n}\\n\\n.button .icon {\\n background-color: var(--button-color);\\n margin: 0 -1px; // shrinks icon-only buttons to square.\\n}\\n\\n/* Button States */\\n\\n.button:hover,\\n.button.hover {\\n // In most cases, we want the border to be the same color as the background.\\n --button-border-color: var(--button-bg-hover, var(--button-bg));\\n\\n .button-wrap {\\n background-color: var(--button-bg-hover, var(--button-bg));\\n }\\n}\\n\\n.button:active,\\n.button.active {\\n .button-wrap {\\n background-color: var(--button-bg-active, var(--button-bg));\\n }\\n}\\n\\n.button:focus,\\n.button.focus {\\n outline: none;\\n\\n .button-wrap {\\n border: 1px solid var(--button-secondary-border-focus);\\n box-shadow: var(--button-focus-effect);\\n }\\n}\\n\\n.button.button[disabled],\\n.button.button.inactive {\\n cursor: default;\\n opacity: 0.65;\\n\\n &:hover {\\n --button-bg-hover: unset;\\n }\\n\\n &:active {\\n --button-bg-active: unset;\\n }\\n}\\n\\n/* Standard Button Modifiers */\\n\\n.button.small,\\n.button.small .button-wrap {\\n --button-height: 1.75rem;\\n --button-padding: 0.25rem;\\n}\\n\\n/* Secondary Version */\\n\\n.button.secondary {\\n --button-bg: var(--button-secondary-default);\\n --button-border-color: var(--border-primary);\\n --button-color: var(--text-secondary);\\n --button-bg-hover: var(--button-secondary-hover);\\n --button-bg-active: var(--button-secondary-active);\\n\\n &:focus {\\n --button-border-color: var(--button-secondary-border-focus);\\n }\\n}\\n\\n/* Action Version */\\n\\n.button.action {\\n --button-bg: transparent;\\n --button-border-color: var(--button-bg);\\n --button-color: var(--text-secondary);\\n --button-font: var(--type-label-s);\\n --button-bg-hover: var(--button-secondary-hover);\\n --button-bg-active: var(--button-secondary-active);\\n\\n &.has-icon {\\n --button-font: var(--type-emphasis-m);\\n text-transform: initial;\\n }\\n\\n &:focus {\\n --button-border-color: var(--button-secondary-border-focus);\\n }\\n\\n .button-wrap {\\n text-transform: var(--button-action-transform, uppercase);\\n }\\n\\n &.highlight {\\n --button-color: var(--button-primary-default);\\n }\\n}\\n\\n/* Select Version */\\n.button.select {\\n --button-bg: var(--button-secondary-default);\\n --button-bg-hover: var(--button-secondary-hover);\\n --button-bg-active: var(--button-secondary-active);\\n --button-border-color: var(--border-primary);\\n --button-color: var(--text-secondary);\\n appearance: none;\\n background: none;\\n border: none;\\n padding: 0;\\n text-decoration: none;\\n\\n .button-wrap {\\n box-shadow: var(--shadow-01);\\n padding-right: 26px;\\n position: relative;\\n }\\n\\n .button-wrap::after {\\n background-color: var(--icon-primary);\\n content: \\\"\\\";\\n display: block;\\n height: 16px;\\n mask-image: url(\\\"../../../assets/icons/small-arrow.svg\\\");\\n mask-size: cover;\\n position: absolute;\\n right: 0.5rem;\\n top: calc(50% - 0.5rem);\\n width: 16px;\\n }\\n}\\n\\n.button.link {\\n --button-bg: none;\\n --button-bg-hover: none;\\n --button-bg-active: none;\\n --button-border-color: none;\\n --button-focus-effect: none;\\n --button-secondary-border-focus: none;\\n --button-height: auto;\\n --button-font: unset;\\n --button-padding: 0;\\n --button-radius: 0;\\n\\n --button-color: var(--text-link);\\n appearance: none;\\n display: inline;\\n text-decoration: none;\\n\\n &:focus-visible {\\n outline-color: var(--accent-primary);\\n outline-offset: 1px;\\n outline-style: auto;\\n }\\n}\\n\\n/*\\n.high-contrast-white {\\n .button:focus {\\n --button-border-color: var(--border-primary);\\n --button-focus-effect: 0 0 0 4px var(--background-primary),\\n 0 0 0 7px var(--border-primary);\\n }\\n}\\n\\n.high-contrast-black {\\n .button:focus {\\n --button-border-color: var(--border-primary);\\n --button-focus-shadow: 0 0 0 4px var(--background-primary),\\n 0 0 0 7px var(--border-primary);\\n }\\n\\n .button {\\n --button-color: var(--button-secondary-default);\\n }\\n\\n .button.secondary {\\n --button-border-color: var(--button-color);\\n }\\n\\n .button.action {\\n --button-color: var(--text-secondary);\\n }\\n}\\n*/\\n\",\"$icons:\\n \\\"add-filled\\\", \\\"add\\\", \\\"altname\\\", \\\"bell\\\", \\\"bell-filled\\\", \\\"bell-ring\\\", \\\"bluesky\\\",\\n \\\"bookmark-filled\\\", \\\"bookmark\\\", \\\"cancel\\\", \\\"chatgpt\\\", \\\"checkmark\\\", \\\"chevron\\\",\\n \\\"chrome\\\", \\\"critical\\\", \\\"curriculum-next\\\", \\\"curriculum-prev\\\", \\\"deno\\\",\\n \\\"deprecated\\\", \\\"desktop\\\", \\\"disabled\\\", \\\"edge\\\", \\\"edit\\\", \\\"edit-filled\\\",\\n \\\"ellipses\\\", \\\"experimental\\\", \\\"external\\\", \\\"eye-filled\\\", \\\"eye\\\", \\\"feed\\\", \\\"filter\\\",\\n \\\"footnote\\\", \\\"github-mark-small\\\", \\\"ie\\\", \\\"information\\\", \\\"highlight\\\", \\\"history\\\",\\n \\\"language\\\", \\\"mastodon\\\", \\\"menu-filled\\\", \\\"menu\\\", \\\"mobile\\\", \\\"more\\\", \\\"theme-dark\\\",\\n \\\"new-topic\\\", \\\"next\\\", \\\"no\\\", \\\"nodejs\\\", \\\"nonstandard\\\", \\\"note-info\\\",\\n \\\"note-warning\\\", \\\"note-deprecated\\\", \\\"opera\\\", \\\"padlock\\\", \\\"partial\\\", \\\"play\\\",\\n \\\"prefix\\\", \\\"preview\\\", \\\"previous\\\", \\\"question-mark\\\", \\\"queue\\\", \\\"queued\\\", \\\"quote\\\",\\n \\\"return\\\", \\\"safari\\\", \\\"samsunginternet\\\", \\\"search\\\", \\\"send\\\", \\\"server\\\", \\\"sidebar\\\",\\n \\\"simple-firefox\\\", \\\"small-arrow\\\", \\\"theme-light\\\", \\\"star-filled\\\", \\\"star\\\",\\n \\\"theme-os-default\\\", \\\"thumbs-down\\\", \\\"thumbs-up\\\", \\\"trash\\\", \\\"trash-filled\\\",\\n \\\"twitter-x\\\", \\\"unknown\\\", \\\"warning\\\", \\\"webview\\\", \\\"yes\\\", \\\"yes-circle\\\";\\n\\n.icon {\\n --size: var(--icon-size, 1rem);\\n background-color: var(--icon-primary);\\n display: inline-block;\\n flex-shrink: 0;\\n height: var(--size);\\n mask-position: center;\\n mask-repeat: no-repeat;\\n vertical-align: middle;\\n width: var(--size);\\n\\n @each $name in $icons {\\n &.icon-#{$name} {\\n mask-image: url(\\\"../../../assets/icons/\\\" + $name + \\\".svg\\\");\\n }\\n }\\n}\\n\\n// The icon class is applied directly to SVGs sometimes. This\\n// override un-breaks those.\\nsvg.icon {\\n background: transparent;\\n color: var(--icon-primary);\\n}\\n\\n.icons-highlighted {\\n align-items: center;\\n display: flex;\\n flex-direction: column;\\n\\n > span {\\n height: var(--icon-size);\\n line-height: 0;\\n width: var(--icon-size);\\n\\n &.icons-icon-wrapper {\\n margin-top: -0.1rem;\\n }\\n }\\n}\\n\",\"* {\\n box-sizing: border-box;\\n}\\n\\n/* Remove default margin */\\nbody,\\nh1,\\nh2,\\nh3,\\nh4,\\np,\\nfigure,\\nblockquote,\\ndl,\\ndd {\\n margin: 0;\\n}\\n\\n.visually-hidden {\\n border: 0 !important;\\n clip: rect(1px, 1px, 1px, 1px) !important;\\n -webkit-clip-path: inset(50%) !important;\\n clip-path: inset(50%) !important;\\n height: 1px !important;\\n margin: -1px !important;\\n overflow: hidden !important;\\n padding: 0 !important;\\n position: absolute !important;\\n white-space: nowrap !important;\\n width: 1px !important;\\n}\\n\\ncode {\\n background: var(--code-background-inline);\\n padding: 0.125rem 0.25rem;\\n width: fit-content;\\n}\\n\\na {\\n color: var(--text-link);\\n}\\n\\n.external:after {\\n background-color: var(--icon-primary);\\n content: \\\"\\\";\\n display: inline-flex;\\n height: 10px;\\n margin-left: 4px;\\n mask-image: url(\\\"../../assets/icons/external.svg\\\");\\n mask-size: cover;\\n width: 10px;\\n}\\n\",\"@use \\\"sass:meta\\\";\\n@use \\\"~@mdn/minimalist/sass/mixins/utils\\\" as *;\\n@use \\\"../../ui/vars\\\" as *;\\n@use \\\"../../ui/atoms/button\\\";\\n@use \\\"../../ui/atoms/icon\\\";\\n\\n@include meta.load-css(\\\"global\\\");\\n\\n// Style for mobile *and* desktop.\\n\\ntable {\\n display: grid;\\n grid-auto-flow: row dense;\\n\\n thead {\\n tr {\\n display: contents;\\n\\n th,\\n td {\\n display: grid;\\n grid-template-columns: subgrid;\\n }\\n }\\n }\\n\\n tbody {\\n display: contents;\\n\\n tr {\\n display: contents;\\n\\n th,\\n td {\\n display: contents;\\n\\n button {\\n display: grid;\\n grid-template-columns: subgrid;\\n }\\n\\n .timeline {\\n grid-column: 1 / -1;\\n }\\n }\\n }\\n }\\n}\\n\\n.bc-on-github {\\n font-size: var(--type-smaller-font-size);\\n}\\n\\n.bc-table {\\n border: 1px solid var(--border-primary);\\n border-collapse: separate;\\n border-radius: var(--elem-radius);\\n border-spacing: 0;\\n margin: 0;\\n width: 100%;\\n\\n td,\\n th {\\n border: 1px solid var(--border-secondary);\\n border-width: 0 0 1px 1px;\\n\\n font-size: var(--type-smaller-font-size);\\n font-weight: 500;\\n padding: 0;\\n padding: 0.4rem;\\n\\n code {\\n font-size: var(--type-smaller-font-size);\\n }\\n }\\n\\n th {\\n background: var(--background-primary);\\n padding: 0.4rem;\\n vertical-align: bottom;\\n }\\n\\n thead {\\n line-height: 1;\\n white-space: nowrap;\\n }\\n\\n // these props allow us to add border-radius to the table.\\n // border-collapse: separate gets in the way of this\\n // being easy.\\n tbody {\\n tr {\\n height: 3rem;\\n\\n @media (min-width: $screen-sm) {\\n &:last-child {\\n th,\\n td {\\n border-bottom-width: 0;\\n }\\n }\\n }\\n\\n th {\\n border-left-width: 0;\\n vertical-align: middle;\\n }\\n }\\n\\n .bc-support {\\n vertical-align: top;\\n\\n button {\\n cursor: pointer;\\n width: 100%;\\n }\\n\\n &.bc-supports-no > button > span {\\n color: var(--text-primary-red);\\n }\\n\\n &.bc-supports-partial > button > span {\\n color: var(--text-primary-yellow);\\n }\\n\\n &.bc-supports-preview > button > span {\\n color: var(--text-primary-blue);\\n }\\n\\n &.bc-supports-yes > button > span {\\n color: var(--text-primary-green);\\n }\\n }\\n }\\n\\n .bc-supports {\\n margin-bottom: 1rem;\\n\\n .icon-wrap {\\n background: var(--background-primary);\\n }\\n }\\n\\n .bc-supports.bc-supports-removed-partial {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-yellow);\\n }\\n }\\n\\n .icon-wrap {\\n .bc-support-level {\\n @include visually-hidden;\\n }\\n }\\n\\n .bc-support {\\n > button > .icon-wrap {\\n display: block;\\n }\\n\\n .icon.icon-removed-partial {\\n background-color: var(--icon-critical);\\n // override icon\\n mask-image: url(\\\"../../assets/icons/no.svg\\\");\\n }\\n\\n .timeline .icon.icon-removed-partial {\\n background-color: var(--icon-primary);\\n mask-image: url(\\\"../../assets/icons/partial.svg\\\");\\n }\\n }\\n\\n .bc-support.bc-supports-removed-partial {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-red);\\n }\\n }\\n\\n .bc-feature {\\n align-items: center;\\n border: none;\\n display: flex;\\n text-align: left;\\n width: 100%;\\n\\n > * {\\n border: none !important;\\n flex-basis: max-content;\\n }\\n }\\n\\n .bc-feature-depth-2 {\\n border-left: 7px solid var(--border-primary);\\n }\\n\\n .bc-feature-depth-3 {\\n border-left: 15px solid var(--border-primary);\\n }\\n\\n .timeline {\\n display: none;\\n }\\n\\n .bc-has-history:focus-within .timeline {\\n display: initial;\\n }\\n}\\n\\n.bc-head-txt-label {\\n line-height: 1;\\n text-orientation: sideways;\\n transform: rotate(180deg);\\n white-space: nowrap;\\n writing-mode: vertical-rl;\\n}\\n\\n.bc-support {\\n text-align: center;\\n vertical-align: middle;\\n}\\n\\n.bc-level-no {\\n background-color: var(--icon-critical);\\n}\\n\\n.bc-level-preview {\\n background-color: var(--icon-information);\\n}\\n\\n.bc-legend-items-container {\\n display: flex;\\n flex-wrap: wrap;\\n font-size: var(--type-smaller-font-size);\\n gap: 1.5rem;\\n margin-bottom: 2rem;\\n}\\n\\n.bc-legend-tip {\\n font-size: var(--type-smaller-font-size);\\n font-style: italic;\\n font-variation-settings: \\\"slnt\\\" -10;\\n margin-bottom: 1rem;\\n margin-top: 0;\\n}\\n\\n.bc-legend-item {\\n align-items: center;\\n display: flex;\\n gap: 0.5rem;\\n}\\n\\n.bc-legend-item-dt {\\n display: flex;\\n\\n .icon {\\n background-color: var(--icon-primary);\\n }\\n}\\n\\n// Row with desktop / mobile icons.\\n.bc-platforms {\\n th {\\n align-items: center;\\n display: flex;\\n justify-content: center;\\n }\\n\\n td {\\n border: none;\\n }\\n}\\n\\n// Row with browser names.\\n.bc-browsers {\\n th {\\n align-items: center;\\n display: flex;\\n flex-direction: column;\\n gap: 0.25rem;\\n justify-content: end;\\n vertical-align: bottom;\\n }\\n\\n td {\\n border-width: 0 0 1px;\\n }\\n}\\n\\n.bc-notes-list {\\n margin: 0.5rem 0;\\n position: relative;\\n text-align: left;\\n width: 100%;\\n\\n &:before {\\n background: var(--border-primary);\\n content: \\\"\\\";\\n height: calc(100% - 0.25rem);\\n left: 7px;\\n margin-top: 0.25rem;\\n position: absolute;\\n width: 2px;\\n z-index: -1;\\n }\\n\\n // complicated selector to cover the last bit of the grey line above.\\n .bc-notes-wrapper:last-child dd:last-child {\\n position: relative;\\n\\n &:before {\\n background: var(--background-primary);\\n bottom: 0;\\n content: \\\"\\\";\\n height: calc(100% - 6px);\\n left: 7px;\\n position: absolute;\\n width: 2px;\\n z-index: -1;\\n }\\n }\\n\\n .bc-level-yes.icon.icon-yes {\\n // override icon\\n background-color: var(--icon-success);\\n mask-image: url(\\\"../../assets/icons/yes-circle.svg\\\");\\n }\\n\\n .bc-supports-dd {\\n .icon {\\n background: var(--border-primary);\\n border: 3px solid var(--background-primary);\\n border-radius: 50%;\\n mask-image: none;\\n }\\n }\\n\\n .bc-version-label {\\n display: inline;\\n }\\n\\n abbr {\\n margin-right: 4px;\\n text-decoration: none;\\n }\\n\\n dd {\\n margin-bottom: 1rem;\\n padding-left: 1.5rem;\\n text-indent: -1.5rem;\\n\\n &:last-child {\\n margin-bottom: 2rem;\\n }\\n }\\n}\\n\\n.bc-notes-wrapper {\\n color: var(--text-primary);\\n margin-bottom: 1rem;\\n\\n &:last-child {\\n margin-bottom: 0;\\n }\\n}\\n\\ndl.bc-notes-list {\\n dt.bc-supports {\\n margin-top: 1rem;\\n\\n &:first-child {\\n margin-top: 0;\\n }\\n }\\n\\n dd.bc-supports-dd {\\n margin-bottom: 1rem;\\n\\n &:last-child {\\n margin-bottom: 0;\\n }\\n }\\n}\\n\\n.only-icon span {\\n @include visually-hidden();\\n}\\n\\n.bc-table-row-header {\\n padding: 0.25em;\\n text-align: left;\\n width: 100%;\\n\\n code {\\n overflow: hidden;\\n }\\n\\n .bc-icons {\\n display: inline-flex;\\n gap: 0.5ch;\\n margin-left: 0.5ch;\\n vertical-align: text-top;\\n\\n .icon {\\n background-color: var(--icon-secondary);\\n\\n &:hover {\\n background-color: var(--icon-primary);\\n }\\n }\\n }\\n}\\n\\n.bc-github-link {\\n font: var(--type-smaller-font-size);\\n}\\n\\n.main-page-content {\\n .bc-legend {\\n dd,\\n dt {\\n margin-bottom: 0;\\n margin-left: 0;\\n margin-top: 0;\\n }\\n }\\n\\n .bc-supports-dd {\\n margin: 0;\\n }\\n}\\n\\n@include meta.load-css(\\\"index-mobile\\\");\\n@include meta.load-css(\\\"index-desktop\\\");\\n@include meta.load-css(\\\"index-desktop-md\\\");\\n@include meta.load-css(\\\"index-desktop-xl\\\");\\n\\n.bcd-cell-text-wrapper {\\n display: flex;\\n flex-direction: row;\\n gap: 0.5rem;\\n\\n @media (min-width: $screen-sm) {\\n align-items: center;\\n flex-direction: column;\\n }\\n}\\n\\n.bcd-timeline-cell-text-wrapper {\\n display: flex;\\n flex-direction: row;\\n gap: 0.25rem;\\n}\\n\\n.bcd-cell-text-copy {\\n color: var(--text-primary);\\n}\\n\\n.bc-supports-yes {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-green);\\n }\\n}\\n\\n.bc-supports-partial {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-yellow);\\n }\\n}\\n\\n.bc-supports-no {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-red);\\n }\\n}\\n\\n.bcd-cell-icons {\\n display: flex;\\n gap: 0.5rem;\\n\\n @media (min-width: $screen-sm) {\\n display: block;\\n }\\n}\\n\\n@media (min-width: $screen-sm) {\\n .bc-table {\\n td.bc-support > button {\\n padding-bottom: calc(0.5rem + var(--padding-bottom-offset, 0px));\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n padding-top: 0.5rem;\\n }\\n }\\n}\\n\",\"@use \\\"../vars/\\\" as *;\\n\\n/* Used with flexbox and grid. The new syntax is to use `gap`, but here\\n we also provide the fallback of `grid-gap`. This is also why we need\\n the stylelint-disable-line as the order is important */\\n@mixin gap($width: $base-spacing) {\\n grid-gap: $width;\\n gap: $width; /* stylelint-disable-line order/properties-alphabetical-order */\\n}\\n\\n/*\\n * A simply utility for setting a max width on an element that constrains its\\n * width to what is commonly known to be a readable line length for prose.\\n */\\n@mixin readable-line-length() {\\n max-width: $max-line-length-fallback;\\n max-width: 85ch;\\n}\\n\\n/* \\n * Hide an element visually, but not from screen readers\\n * Use this mixin sparingly to avoid unnecessary code bloat\\n * Instead, use the class `visually-hidden` directly on the\\n * relevant element or component.\\n */\\n@mixin visually-hidden {\\n border: 0;\\n clip: rect(0 0 0 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n /* !important required to ensure element is hidden when mixin is applied */\\n position: absolute !important; /* stylelint-disable-line declaration-no-important */\\n width: 1px;\\n}\\n\\n@mixin reset-visually-hidden {\\n border: inherit;\\n clip: inherit;\\n height: inherit;\\n margin: inherit;\\n overflow: inherit;\\n padding: inherit;\\n position: inherit !important; /* stylelint-disable-line declaration-no-important */\\n width: inherit;\\n}\\n\\n/* A common reset for `ol` and `ul` elements */\\n@mixin reset-list() {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n@mixin caret-arrow($color, $direction: right, $size: 6px, $thickness: 2px) {\\n border: solid $color;\\n border-width: 0 $thickness $thickness 0;\\n content: \\\"\\\";\\n display: inline-block;\\n height: $size;\\n width: $size;\\n\\n /* stylelint-disable block-closing-brace-newline-after */\\n @if ($direction == up) {\\n transform: rotate(-135deg);\\n } @else if ($direction == left) {\\n transform: rotate(135deg);\\n } @else if ($direction == down) {\\n transform: rotate(45deg);\\n } @else if ($direction == right) {\\n transform: rotate(-45deg);\\n }\\n}\\n\",\"@use \\\"../../ui/vars\\\" as *;\\n\\n// Style for mobile.\\n\\n@media (max-width: #{$screen-sm - 0.02}) {\\n .bc-table {\\n grid-template-columns: auto;\\n\\n thead {\\n display: none;\\n }\\n\\n tr {\\n td.bc-support {\\n border: none;\\n border-top: 1px solid var(--border-primary);\\n display: block;\\n\\n &:last-child {\\n border-bottom: 1px solid var(--border-primary);\\n }\\n }\\n }\\n\\n .timeline {\\n // Align timeline icons with summary icon.\\n margin-left: 0.25rem;\\n }\\n\\n tr:not(:first-of-type) .bc-feature {\\n // Feature separator.\\n border-top: 2px solid var(--border-primary);\\n }\\n\\n .bc-feature,\\n .bc-support > button {\\n align-content: center;\\n display: flex;\\n flex-wrap: wrap;\\n gap: 0.5rem;\\n }\\n }\\n\\n .bc-on-github a {\\n white-space: nowrap;\\n }\\n\\n .table-container {\\n overflow-x: auto;\\n }\\n}\\n\",\"@use \\\"../../ui/vars\\\" as *;\\n\\n// Style for desktop.\\n\\n@media (min-width: $screen-sm) {\\n .bc-table {\\n // Expand all columns.\\n grid-template-columns: minmax(20vw, min-content) repeat(\\n var(--browser-count),\\n auto\\n );\\n\\n thead {\\n display: contents;\\n\\n .bc-platforms {\\n th {\\n vertical-align: revert;\\n }\\n }\\n }\\n\\n tbody {\\n --border: 1px solid var(--border-secondary);\\n\\n // Border.\\n tr {\\n &:not(:first-child) {\\n th,\\n td {\\n > * {\\n border-top: var(--border);\\n }\\n }\\n\\n .bc-feature {\\n border-top: var(--border);\\n }\\n }\\n\\n th:not(:first-child),\\n td:not(:first-child) {\\n > * {\\n border-left: var(--border);\\n }\\n }\\n }\\n }\\n\\n td,\\n th {\\n background: inherit;\\n padding: 0.25rem;\\n }\\n\\n td.bc-support {\\n padding: 0;\\n\\n > button {\\n padding: 0.25rem;\\n }\\n }\\n\\n .timeline {\\n border-left: none !important;\\n border-top: var(--border);\\n }\\n\\n .bc-has-history:focus-within > button {\\n // Highlight expanded item.\\n --padding-bottom-offset: -2px;\\n border-bottom: 2px solid var(--text-primary);\\n }\\n }\\n\\n .table-container {\\n margin: 0 -3rem;\\n overflow: auto;\\n width: 100vw;\\n }\\n\\n .table-container-inner {\\n min-width: max-content;\\n padding: 0 3rem;\\n position: relative;\\n\\n &:after {\\n bottom: 0;\\n content: \\\"\\\";\\n height: 10px;\\n position: absolute;\\n right: 0;\\n width: 10px;\\n }\\n }\\n\\n .bcd-cell-text-wrapper {\\n .bc-support-level,\\n .bc-browser-name {\\n display: none;\\n }\\n }\\n\\n .bc-notes-list {\\n margin-left: 20%;\\n max-width: 80vw;\\n width: auto;\\n }\\n\\n .bc-support {\\n .bc-support-level {\\n display: none;\\n }\\n }\\n\\n .bc-has-history {\\n cursor: pointer;\\n\\n > button:hover {\\n background: var(--background-secondary);\\n }\\n }\\n}\\n\",\"@use \\\"../../ui/vars\\\" as *;\\n\\n@media (min-width: $screen-md) {\\n .table-container {\\n width: calc(100% + 6rem);\\n }\\n\\n .table-container-inner {\\n min-width: initial;\\n }\\n\\n .bc-on-github {\\n text-align: right;\\n }\\n\\n .bc-table {\\n // 25% for feature, 75% for browser columns.\\n grid-template-columns: minmax(25%, max-content) repeat(\\n var(--browser-count),\\n calc(75% / var(--browser-count))\\n );\\n }\\n\\n .icon {\\n // Workaround for Icons being cut by 1px at the top.\\n --size: calc(1rem + 1px);\\n }\\n}\\n\",\"@use \\\"../../ui/vars\\\" as *;\\n\\n@media (min-width: $screen-xl) {\\n .table-container {\\n margin: 0;\\n width: 100%;\\n }\\n\\n .table-container-inner {\\n padding: 0;\\n }\\n\\n .bc-table {\\n // 33% for feature, 67% for browser columns.\\n grid-template-columns: minmax(33%, max-content) repeat(\\n var(--browser-count),\\n calc(67% / var(--browser-count))\\n );\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nvar ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet();\n___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString());\nexport default ___CSS_LOADER_STYLE_SHEET___;\n","import{notEqual as t}from\"@lit/reactive-element\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},i=Symbol();class h{get taskComplete(){return this.t||(1===this.i?this.t=new Promise(((t,s)=>{this.o=t,this.h=s})):3===this.i?this.t=Promise.reject(this.l):this.t=Promise.resolve(this.u)),this.t}constructor(t,s,i){this.p=0,this.i=0,(this._=t).addController(this);const h=\"object\"==typeof s?s:{task:s,args:i};this.v=h.task,this.j=h.args,this.m=h.argsEqual??r,this.k=h.onComplete,this.A=h.onError,this.autoRun=h.autoRun??!0,\"initialValue\"in h&&(this.u=h.initialValue,this.i=2,this.O=this.T?.())}hostUpdate(){!0===this.autoRun&&this.S()}hostUpdated(){\"afterUpdate\"===this.autoRun&&this.S()}T(){if(void 0===this.j)return;const t=this.j();if(!Array.isArray(t))throw Error(\"The args function must return an array\");return t}async S(){const t=this.T(),s=this.O;this.O=t,t===s||void 0===t||void 0!==s&&this.m(s,t)||await this.run(t)}async run(t){let s,h;t??=this.T(),this.O=t,1===this.i?this.q?.abort():(this.t=void 0,this.o=void 0,this.h=void 0),this.i=1,\"afterUpdate\"===this.autoRun?queueMicrotask((()=>this._.requestUpdate())):this._.requestUpdate();const r=++this.p;this.q=new AbortController;let e=!1;try{s=await this.v(t,{signal:this.q.signal})}catch(t){e=!0,h=t}if(this.p===r){if(s===i)this.i=0;else{if(!1===e){try{this.k?.(s)}catch{}this.i=2,this.o?.(s)}else{try{this.A?.(h)}catch{}this.i=3,this.h?.(h)}this.u=s,this.l=h}this._.requestUpdate()}}abort(t){1===this.i&&this.q?.abort(t)}get value(){return this.u}get error(){return this.l}get status(){return this.i}render(t){switch(this.i){case 0:return t.initial?.();case 1:return t.pending?.();case 2:return t.complete?.(this.value);case 3:return t.error?.(this.error);default:throw Error(\"Unexpected status: \"+this.i)}}}const r=(s,i)=>s===i||s.length===i.length&&s.every(((s,h)=>!t(s,i[h])));export{h as Task,s as TaskStatus,i as initialState,r as shallowArrayEquals};\n//# sourceMappingURL=task.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","/**\n * @import { SimpleSupportStatement, VersionValue, CompatStatement, Identifier, SupportStatement, BrowserStatement } from \"@mdn/browser-compat-data/types\"\n * @import { SupportStatementExtended, SimpleSupportStatementExtended } from \"./types\"\n */\n\n/**\n */\n\n/**\n * @typedef {Object} Feature\n * @property {string} name\n * @property {CompatStatement} compat\n * @property {number} depth\n */\n\n/**\n * A list of browsers to be hidden.\n * @constant {string[]}\n */\nexport const HIDDEN_BROWSERS = [\"ie\"];\n\n/**\n * Gets the first element of an array or returns the value itself.\n *\n * @template T\n * @param {T | [T?, ...any[]]} a\n * @returns {T | undefined}\n */\nexport function getFirst(a) {\n return Array.isArray(a) ? a[0] : a;\n}\n\n/**\n * Ensures the input is returned as an array.\n *\n * @template T\n * @param {T | T[]} a\n * @returns {T[]}\n */\nexport function asList(a) {\n return Array.isArray(a) ? a : [a];\n}\n\n/**\n * Finds the first compatibility depth in a BCD Identifier.\n *\n * @param {Identifier} identifier\n * @returns {number}\n */\nfunction findFirstCompatDepth(identifier) {\n /** @type {Array<[string, Identifier]>} */\n const entries = [[\"\", identifier]];\n\n do {\n const entry = entries.shift();\n if (!entry) {\n break;\n }\n const [path, value] = entry;\n if (value.__compat) {\n // The depth is the number of segments in the path.\n return path.split(\".\").length;\n }\n\n for (const [key, subvalue] of Object.entries(value)) {\n const subpath = path ? `${path}.${key}` : key;\n if (\"__compat\" in subvalue) {\n entries.push([subpath, subvalue]);\n }\n }\n } while (entries.length);\n\n // Fallback.\n return 0;\n}\n\n/**\n * Recursively lists features from a BCD Identifier.\n *\n * @param {Identifier} identifier\n * @param {string} [parentName=\"\"]\n * @param {string} [rootName=\"\"]\n * @param {number} [depth=0]\n * @param {number} [firstCompatDepth=0]\n * @returns {Feature[]}\n */\nexport function listFeatures(\n identifier,\n parentName = \"\",\n rootName = \"\",\n depth = 0,\n firstCompatDepth = 0\n) {\n /** @type {Feature[]} */\n const features = [];\n\n if (rootName && identifier.__compat) {\n features.push({\n name: rootName,\n compat: identifier.__compat,\n depth,\n });\n }\n\n if (rootName) {\n firstCompatDepth = findFirstCompatDepth(identifier);\n }\n\n for (const [subName, subIdentifier] of Object.entries(identifier)) {\n if (subName === \"__compat\") {\n continue;\n }\n\n if (\"__compat\" in subIdentifier && subIdentifier.__compat) {\n features.push({\n name: parentName ? `${parentName}.${subName}` : subName,\n compat: subIdentifier.__compat,\n depth: depth + 1,\n });\n }\n\n if (\"__compat\" in subIdentifier /* || depth + 1 < firstCompatDepth*/) {\n features.push(\n ...listFeatures(subIdentifier, subName, \"\", depth + 1, firstCompatDepth)\n );\n }\n }\n return features;\n}\n\n/**\n * Checks if the support statement is an array with more than one item.\n *\n * @param {SupportStatement | undefined} support\n * @returns {boolean}\n */\nexport function hasMore(support) {\n return Array.isArray(support) && support.length > 1;\n}\n\n/**\n * Determines if a version is a preview version.\n *\n * @param {string | VersionValue | undefined} version\n * @param {BrowserStatement} browser\n * @returns {boolean}\n */\nexport function versionIsPreview(version, browser) {\n if (version === \"preview\") {\n return true;\n }\n\n if (browser && typeof version === \"string\" && browser.releases[version]) {\n return [\"beta\", \"nightly\", \"planned\"].includes(\n browser.releases[version].status\n );\n }\n\n return false;\n}\n\n/**\n * Checks if the support statement has noteworthy notes.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function hasNoteworthyNotes(support) {\n return (\n !!(\n (support.notes && support.notes.length) ||\n (support.impl_url && support.impl_url.length)\n ) &&\n !support.version_removed &&\n !support.partial_implementation\n );\n}\n\n/**\n * Converts a bug URL to a simplified string.\n *\n * @param {string} url\n * @returns {string}\n */\nexport function bugURLToString(url) {\n const match = url.match(\n /^https:\\/\\/(?:crbug\\.com|webkit\\.org\\/b|bugzil\\.la)\\/([0-9]+)/i\n );\n const bugNumber = match ? match[1] : null;\n return bugNumber ? `bug ${bugNumber}` : url;\n}\n\n/**\n * Checks if a support statement has any limitation.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction hasLimitation(support) {\n return hasMajorLimitation(support) || !!support.notes || !!support.impl_url;\n}\n\n/**\n * Checks if a support statement has major limitations.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction hasMajorLimitation(support) {\n return (\n support.partial_implementation ||\n !!support.alternative_name ||\n !!support.flags ||\n !!support.prefix ||\n !!support.version_removed\n );\n}\n\n/**\n * Checks if a support statement is fully supported without any limitation.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function isFullySupportedWithoutLimitation(support) {\n return !!support.version_added && !hasLimitation(support);\n}\n\n/**\n * Checks if a support statement is not supported at all.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function isNotSupportedAtAll(support) {\n return support.version_added === false && !hasLimitation(support);\n}\n\n/**\n * Checks if a support statement is fully supported without major limitations.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction isFullySupportedWithoutMajorLimitation(support) {\n return !!support.version_added && !hasMajorLimitation(support);\n}\n\n/**\n * Gets the current support statement from a support statement extended.\n *\n * Prioritizes support items in the following order:\n * 1. Full support without limitation.\n * 2. Full support with only notes and version_added.\n * 3. Full support with alternative name or prefix.\n * 4. Partial support.\n * 5. Support with flags only.\n * 6. No/Inactive support.\n *\n * @param {SupportStatementExtended | undefined} support\n * @returns {SimpleSupportStatementExtended | undefined}\n */\nexport function getCurrentSupport(support) {\n if (!support) return undefined;\n\n // Full support without limitation.\n const noLimitationSupportItem = asList(support).find((item) =>\n isFullySupportedWithoutLimitation(item)\n );\n if (noLimitationSupportItem) return noLimitationSupportItem;\n\n // Full support with only notes and version_added.\n const minorLimitationSupportItem = asList(support).find((item) =>\n isFullySupportedWithoutMajorLimitation(item)\n );\n if (minorLimitationSupportItem) return minorLimitationSupportItem;\n\n // Full support with alternative name/prefix.\n const altnamePrefixSupportItem = asList(support).find(\n (item) => !item.version_removed && (item.prefix || item.alternative_name)\n );\n if (altnamePrefixSupportItem) return altnamePrefixSupportItem;\n\n // Partial support.\n const partialSupportItem = asList(support).find(\n (item) => !item.version_removed && item.partial_implementation\n );\n if (partialSupportItem) return partialSupportItem;\n\n // Support with flags only.\n const flagSupportItem = asList(support).find(\n (item) => !item.version_removed && item.flags\n );\n if (flagSupportItem) return flagSupportItem;\n\n // No/Inactive support.\n const noSupportItem = asList(support).find((item) => item.version_removed);\n if (noSupportItem) return noSupportItem;\n\n // Default (likely never reached).\n return getFirst(support);\n}\n","import {\n HIDDEN_BROWSERS,\n asList,\n getFirst,\n hasMore,\n hasNoteworthyNotes,\n listFeatures,\n versionIsPreview,\n} from \"./utils.js\";\n\n/**\n * @import { BrowserName, Browsers, Identifier } from \"@mdn/browser-compat-data/types\"\n * @typedef {\"yes\" | \"partial\" | \"preview\" | \"no\" | \"unknown\" | \"experimental\" | \"nonstandard\" | \"deprecated\" | \"footnote\" | \"disabled\" | \"altname\" | \"prefix\" | \"more\"} LegendKey\n */\n\n/**\n * Legend labels which also specifies the order in which the legend appears.\n * @type {Record<LegendKey, string>}\n */\nexport const LEGEND_LABELS = {\n yes: \"Full support\",\n partial: \"Partial support\",\n preview: \"In development. Supported in a pre-release version.\",\n no: \"No support\",\n unknown: \"Compatibility unknown\",\n experimental: \"Experimental. Expect behavior to change in the future.\",\n nonstandard: \"Non-standard. Check cross-browser support before using.\",\n deprecated: \"Deprecated. Not for use in new websites.\",\n footnote: \"See implementation notes.\",\n disabled: \"User must explicitly enable this feature.\",\n altname: \"Uses a non-standard name.\",\n prefix: \"Requires a vendor prefix or different name for use.\",\n more: \"Has more compatibility info.\",\n};\n\n/**\n * Gets the active legend items based on browser compatibility data.\n *\n * @param {Identifier} compat - The compatibility data identifier.\n * @param {string} name - The name of the feature.\n * @param {Browsers} browserInfo - Information about browsers.\n * @param {BrowserName[]} browsers - The list of displayed browsers.\n * @returns {Array<[LegendKey, string]>} An array of legend item entries, where each entry is a tuple of the legend key and its label.\n */\nexport function getActiveLegendItems(compat, name, browserInfo, browsers) {\n /** @type {Set<LegendKey>} */\n const legendItems = new Set();\n\n for (const feature of listFeatures(compat, \"\", name)) {\n const { status } = feature.compat;\n\n if (status) {\n if (status.experimental) {\n legendItems.add(\"experimental\");\n }\n if (status.deprecated) {\n legendItems.add(\"deprecated\");\n }\n if (!status.standard_track) {\n legendItems.add(\"nonstandard\");\n }\n }\n\n for (const browser of browsers) {\n const browserSupport = feature.compat.support[browser] ?? {\n version_added: null,\n };\n\n if (HIDDEN_BROWSERS.includes(browser)) {\n continue;\n }\n\n const firstSupportItem = getFirst(browserSupport);\n if (firstSupportItem && hasNoteworthyNotes(firstSupportItem)) {\n legendItems.add(\"footnote\");\n }\n\n for (const versionSupport of asList(browserSupport)) {\n if (versionSupport.version_added) {\n if (versionSupport.flags && versionSupport.flags.length) {\n legendItems.add(\"no\");\n } else if (\n versionIsPreview(versionSupport.version_added, browserInfo[browser])\n ) {\n legendItems.add(\"preview\");\n } else {\n legendItems.add(\"yes\");\n }\n } else if (versionSupport.version_added == null) {\n legendItems.add(\"unknown\");\n } else {\n legendItems.add(\"no\");\n }\n\n if (versionSupport.partial_implementation) {\n legendItems.add(\"partial\");\n }\n if (versionSupport.prefix) {\n legendItems.add(\"prefix\");\n }\n if (versionSupport.alternative_name) {\n legendItems.add(\"altname\");\n }\n if (versionSupport.flags) {\n legendItems.add(\"disabled\");\n }\n }\n\n if (hasMore(browserSupport)) {\n legendItems.add(\"more\");\n }\n }\n }\n\n const keys = /** @type {LegendKey[]} */ (Object.keys(LEGEND_LABELS));\n\n return keys\n .filter((key) => legendItems.has(key))\n .map(\n /**\n * @param {LegendKey} key\n */\n (key) => [key, LEGEND_LABELS[key]]\n );\n}\n","import { getCurrentSupport, versionIsPreview } from \"./utils.js\";\nimport { html } from \"lit\";\n\n/**\n * @import { BrowserStatement } from \"@mdn/browser-compat-data/types\"\n * @import { SupportStatementExtended } from \"./types\"\n * @typedef {\"no\"|\"yes\"|\"partial\"|\"preview\"|\"removed-partial\"|\"unknown\"} SupportClassName\n */\n\n/**\n * Returns a CSS class name based on support data and the browser.\n *\n * @param {SupportStatementExtended|undefined} support - The extended support statement.\n * @param {BrowserStatement} browser - The browser statement.\n * @returns {SupportClassName}\n */\nexport function getSupportClassName(support, browser) {\n if (!support) {\n return \"unknown\";\n }\n\n const currentSupport = getCurrentSupport(support);\n if (!currentSupport) {\n return \"unknown\";\n }\n const { flags, version_added, version_removed, partial_implementation } =\n currentSupport;\n\n /** @type {SupportClassName} */\n let className;\n if (version_added === null) {\n className = \"unknown\";\n } else if (versionIsPreview(version_added, browser)) {\n className = \"preview\";\n } else if (version_added) {\n className = \"yes\";\n if (version_removed || (flags && flags.length)) {\n className = \"no\";\n }\n } else {\n className = \"no\";\n }\n if (partial_implementation) {\n className = version_removed ? \"removed-partial\" : \"partial\";\n }\n\n return className;\n}\n\n/**\n * Returns a label string derived from a version value.\n *\n * @param {string|boolean|null|undefined} version - The version value.\n * @param {BrowserStatement} browser - The browser statement.\n * @returns {string} The resulting label.\n */\nexport function labelFromString(version, browser) {\n if (typeof version !== \"string\") {\n return \"?\";\n }\n if (version === \"preview\") {\n return browser.preview_name ?? \"Preview\";\n }\n // Treat BCD ranges as exact versions to avoid confusion for the reader\n // See https://github.com/mdn/yari/issues/3238\n if (version.startsWith(\"≤\")) {\n version = version.slice(1);\n }\n // New: Omit trailing \".0\".\n version = version.replace(/(\\.0)+$/g, \"\");\n\n return version;\n}\n\n/**\n * Generates a version label from added and removed support data.\n *\n * @param {string|boolean|null|undefined} added - The added version.\n * @param {string|boolean|null|undefined} removed - The removed version.\n * @param {BrowserStatement} browser - The browser statement.\n * @returns {import(\"lit\").TemplateResult} A lit-html template result representing the version label.\n */\nexport function versionLabelFromSupport(added, removed, browser) {\n if (typeof removed !== \"string\") {\n return html`${labelFromString(added, browser)}`;\n }\n return html`${labelFromString(\n added,\n browser\n )}&#8202;&ndash;&#8202;${labelFromString(removed, browser)}`;\n}\n\n/**\n * Retrieves the browser release date from a support statement.\n *\n * @param {SupportStatementExtended|undefined} support - The extended support statement.\n * @returns {string|undefined} The release date if available.\n */\nexport function getSupportBrowserReleaseDate(support) {\n if (!support) {\n return undefined;\n }\n\n return getCurrentSupport(support)?.release_date;\n}\n","/**\n * @import { LitElement } from \"lit\";\n * @import { Ref } from \"lit/directives/ref\"\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(\n host,\n target,\n callback,\n intersectionObserverOptions = {\n threshold: 0.5,\n }\n ) {\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 = !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 console.error(\"[ViewedController] Target not found\");\n } else {\n this._observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) =>\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=false]\n */\n _checkAndSetTimer(isIntersecting = false) {\n if (!this._hasViewed && this._visible && isIntersecting) {\n if (this._timer === null) {\n this._timer = window.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 { html, LitElement } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\n\nimport { getActiveLegendItems } from \"./legend.js\";\nimport {\n asList,\n bugURLToString,\n getCurrentSupport,\n hasMore,\n hasNoteworthyNotes,\n HIDDEN_BROWSERS,\n isFullySupportedWithoutLimitation,\n isNotSupportedAtAll,\n listFeatures,\n versionIsPreview,\n} from \"./utils.js\";\n\nimport styles from \"./index.scss?css\" with { type: \"css\" };\nimport { DEFAULT_LOCALE } from \"../../../../libs/constants/index.js\";\nimport { BCD_TABLE } from \"../../telemetry/constants.ts\";\nimport {\n getSupportBrowserReleaseDate,\n getSupportClassName,\n labelFromString,\n versionLabelFromSupport,\n} from \"./feature-row.js\";\nimport { GleanMixin } from \"../glean-mixin.js\";\nimport \"../viewed-controller.js\";\nimport { ViewedController } from \"../viewed-controller.js\";\n\n/**\n * @import { TemplateResult } from \"lit\"\n * @import { BrowserName, BrowserStatement, SupportStatement, Browsers, Identifier, StatusBlock } from \"@mdn/browser-compat-data/types\"\n * @typedef {{ title: string, text: string, iconClassName: string }} StatusIcon\n */\n\nconst ISSUE_METADATA_TEMPLATE = `\n<!-- Do not make changes below this line -->\n<details>\n<summary>MDN page report details</summary>\n\n* Query: \\`$QUERY_ID\\`\n* Report started: $DATE\n\n</details>\n`;\n\n/**\n * @param {BrowserName} browser\n * @returns {string}\n */\nfunction browserToIconName(browser) {\n if (browser.startsWith(\"firefox\")) {\n return \"simple-firefox\";\n } else if (browser === \"webview_android\") {\n return \"webview\";\n } else if (browser === \"webview_ios\") {\n return \"safari\";\n } else {\n return browser.split(\"_\")[0] ?? \"\";\n }\n}\n\n// Also specifies the order in which the legend\n/**\n * @type {Record<string, string>}\n */\nexport const LEGEND_LABELS = {\n yes: \"Full support\",\n partial: \"Partial support\",\n preview: \"In development. Supported in a pre-release version.\",\n no: \"No support\",\n unknown: \"Compatibility unknown\",\n experimental: \"Experimental. Expect behavior to change in the future.\",\n nonstandard: \"Non-standard. Check cross-browser support before using.\",\n deprecated: \"Deprecated. Not for use in new websites.\",\n footnote: \"See implementation notes.\",\n disabled: \"User must explicitly enable this feature.\",\n altname: \"Uses a non-standard name.\",\n prefix: \"Requires a vendor prefix or different name for use.\",\n more: \"Has more compatibility info.\",\n};\n\nclass CompatTable extends GleanMixin(LitElement) {\n static properties = {\n query: {},\n locale: {},\n data: {},\n browserInfo: { attribute: \"browserinfo\" },\n _pathname: { state: true },\n _platforms: { state: true },\n _browsers: { state: true },\n };\n\n static styles = styles;\n\n _tableRef = createRef();\n\n constructor() {\n super();\n /** @type {ViewedController} */\n this.viewed = new ViewedController(this, this._tableRef, () =>\n this._gleanClick(`${BCD_TABLE}: view -> ${this.query}`)\n );\n this.query = \"\";\n /** @type {Identifier} */\n this.data = {};\n /** @type {Browsers} */\n // @ts-ignore\n this.browserInfo = {};\n this.locale = \"\";\n this._pathname = \"\";\n /** @type {string[]} */\n this._platforms = [];\n /** @type {BrowserName[]} */\n this._browsers = [];\n }\n\n get _breadcrumbs() {\n return this.query.split(\".\");\n }\n\n get _category() {\n return this._breadcrumbs[0] ?? \"\";\n }\n\n get _name() {\n return this._breadcrumbs.at(-1) ?? \"\";\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._pathname = window.location.pathname;\n [this._platforms, this._browsers] = gatherPlatformsAndBrowsers(\n this._category,\n this.data,\n this.browserInfo\n );\n }\n\n get _issueUrl() {\n const url = \"https://github.com/mdn/browser-compat-data/issues/new\";\n const sp = new URLSearchParams();\n const metadata = ISSUE_METADATA_TEMPLATE.replace(\n /\\$DATE/g,\n new Date().toISOString()\n )\n .replace(/\\$QUERY_ID/g, this.query)\n .trim();\n sp.set(\"mdn-url\", `https://developer.mozilla.org${this._pathname}`);\n sp.set(\"metadata\", metadata);\n sp.set(\"title\", `${this.query} - <SUMMARIZE THE PROBLEM>`);\n sp.set(\"template\", \"data-problem.yml\");\n\n return `${url}?${sp.toString()}`;\n }\n\n _renderIssueLink() {\n const onClick = (/** @type {MouseEvent} */ event) => {\n event.preventDefault();\n window.open(this._issueUrl, \"_blank\", \"noopener,noreferrer\");\n };\n const source_file = this.data.__compat?.source_file;\n return html`<div class=\"bc-on-github\">\n <a\n class=\"bc-github-link external external-icon\"\n href=\"#\"\n @click=${onClick}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=\"Report an issue with this compatibility data\"\n >\n Report problems with this compatibility data</a\n >${source_file\n ? html` •\n <a\n class=\"bc-github-link external external-icon\"\n href=${`https://github.com/mdn/browser-compat-data/tree/main/${source_file}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=${`File: ${source_file}`}\n >\n View data on GitHub\n </a>`\n : null}\n </div>`;\n }\n\n _renderTable() {\n return html`<figure class=\"table-container\">\n <figure class=\"table-container-inner\">\n ${this._renderIssueLink()}\n <table\n ${ref(this._tableRef)}\n class=\"bc-table bc-table-web\"\n style=\"--browser-count: ${Object.keys(this._browsers).length}\"\n >\n ${this._renderTableHeader()} ${this._renderTableBody()}\n </table>\n </figure>\n </figure>`;\n }\n\n _renderTableHeader() {\n return html`<thead>\n ${this._renderPlatformHeaders()} ${this._renderBrowserHeaders()}\n </thead>`;\n }\n\n _renderPlatformHeaders() {\n const platformsWithBrowsers = this._platforms.map((platform) => ({\n platform,\n browsers: this._browsers.filter(\n (browser) => this.browserInfo[browser].type === platform\n ),\n }));\n\n const grid = platformsWithBrowsers.map(({ browsers }) => browsers.length);\n return html`<tr class=\"bc-platforms\">\n <td></td>\n ${platformsWithBrowsers.map(({ platform, browsers }, index) => {\n // Get the intersection of browsers in the `browsers` array and the\n // `PLATFORM_BROWSERS[platform]`.\n const browserCount = browsers.length;\n const cellClass = `bc-platform bc-platform-${platform}`;\n const iconClass = `icon icon-${platform}`;\n\n const columnStart =\n 2 + grid.slice(0, index).reduce((acc, x) => acc + x, 0);\n const columnEnd = columnStart + browserCount;\n return html`<th\n class=${cellClass}\n colspan=${browserCount}\n title=${platform}\n style=\"grid-column: ${columnStart} / ${columnEnd}\"\n >\n <span class=${iconClass}></span>\n <span class=\"visually-hidden\">${platform}</span>\n </th>`;\n })}\n </tr>`;\n }\n\n _renderBrowserHeaders() {\n // <BrowserHeaders>\n return html`<tr class=\"bc-browsers\">\n <td></td>\n ${this._browsers.map(\n (browser) =>\n html`<th class=${`bc-browser bc-browser-${browser}`}>\n <div class=${`bc-head-txt-label bc-head-icon-${browser}`}>\n ${this.browserInfo[browser]?.name}\n </div>\n <div\n class=${`bc-head-icon-symbol icon icon-${browserToIconName(\n browser\n )}`}\n ></div>\n </th>`\n )}\n </tr>`;\n }\n\n _renderTableBody() {\n // <FeatureListAccordion>\n const { data, _browsers: browsers, browserInfo, locale } = this;\n let features = listFeatures(data, \"\", this._name);\n\n const MAX_FEATURES = 100;\n\n // If there are too many features, hide nested features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(({ depth }) => depth < 2);\n }\n\n // If there are still too many features, hide non-standard features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => status?.standard_track\n );\n }\n\n // If there are still too many features, hide deprecated features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => !status?.deprecated\n );\n }\n\n // If there are still too many features, hide experimental features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => !status?.experimental\n );\n }\n\n // At this point, we did all we can to reduce the number of features shown.\n if (features.length > MAX_FEATURES) {\n features = features.slice(0, MAX_FEATURES);\n }\n\n return html`<tbody>\n ${features.map((feature) => {\n // <FeatureRow>\n const { name, compat, depth } = feature;\n\n const title = compat.description\n ? html`<span>${unsafeHTML(compat.description)}</span>`\n : html`<code>${name}</code>`;\n\n let titleNode;\n const titleContent = html`${title}${compat.status &&\n this._renderStatusIcons(compat.status)}`;\n if (compat.mdn_url && depth > 0) {\n const href = compat.mdn_url.replace(\n `/${DEFAULT_LOCALE}/docs`,\n `/${locale}/docs`\n );\n titleNode = html`<a\n href=${href}\n class=\"bc-table-row-header\"\n data-glean=${`${BCD_TABLE}: link -> ${href}`}\n >\n ${titleContent}\n </a>`;\n } else {\n titleNode = html`<div class=\"bc-table-row-header\">\n ${titleContent}\n </div>`;\n }\n\n const handleMousedown = (/** @type {MouseEvent} */ event) => {\n // Blur active element if already focused.\n const activeElement = this.shadowRoot?.activeElement;\n const { currentTarget } = event;\n\n if (\n activeElement instanceof HTMLElement &&\n currentTarget instanceof HTMLElement\n ) {\n const activeCell = activeElement.closest(\"td\");\n const currentCell = currentTarget.closest(\"td\");\n\n if (activeCell === currentCell) {\n activeElement.blur();\n event.preventDefault();\n return;\n }\n }\n\n if (currentTarget instanceof HTMLElement) {\n // Workaround for Safari, which doesn't focus implicitly.\n setTimeout(() => currentTarget.focus(), 0);\n }\n };\n\n return html`<tr>\n <th class=${`bc-feature bc-feature-depth-${depth}`} scope=\"row\">\n ${titleNode}\n </th>\n ${browsers.map((browserName) => {\n // <CompatCell>\n const browser = browserInfo[browserName];\n const support = compat.support[browserName] ?? {\n version_added: null,\n };\n\n const supportClassName = getSupportClassName(support, browser);\n const notes = this._renderNotes(browser, support);\n\n return html`<td\n class=${`bc-support bc-browser-${browserName} bc-supports-${supportClassName} ${\n notes ? \"bc-has-history\" : \"\"\n }`}\n >\n <button\n type=\"button\"\n title=${ifDefined(notes && \"Toggle history\")}\n @mousedown=${handleMousedown}\n >\n ${this._renderCellText(support, browser)}\n </button>\n ${notes &&\n html`<div class=\"timeline\" tabindex=\"0\">\n <dl class=\"bc-notes-list\">${notes}</dl>\n </div>`}\n </td>`;\n })}\n </tr>`;\n })}\n </tbody>`;\n }\n\n /**\n * @param {SupportStatement} support\n */\n _renderCellIcons(support) {\n const supportItem = getCurrentSupport(support);\n if (!supportItem) {\n return null;\n }\n\n const icons = [\n supportItem.prefix && this._renderIcon(\"prefix\"),\n hasNoteworthyNotes(supportItem) && this._renderIcon(\"footnote\"),\n supportItem.alternative_name && this._renderIcon(\"altname\"),\n supportItem.flags && this._renderIcon(\"disabled\"),\n hasMore(support) && this._renderIcon(\"more\"),\n ].filter(Boolean);\n\n return icons.length ? html`<div class=\"bc-icons\">${icons}</div>` : null;\n }\n\n /**\n * @param {string} name\n * @returns {TemplateResult}\n */\n _renderIcon(name) {\n const title = name in LEGEND_LABELS ? LEGEND_LABELS[name] : name;\n\n return html`<abbr class=\"only-icon\" title=${ifDefined(title)}>\n <span>${name}</span>\n <i class=${`icon icon-${name}`}></i>\n </abbr>`;\n }\n\n /**\n * @param {StatusBlock} status\n */\n _renderStatusIcons(status) {\n // <StatusIcons>\n /**\n * @type {StatusIcon[]}\n */\n const icons = [];\n if (status.experimental) {\n icons.push({\n title: \"Experimental. Expect behavior to change in the future.\",\n text: \"Experimental\",\n iconClassName: \"icon-experimental\",\n });\n }\n\n if (status.deprecated) {\n icons.push({\n title: \"Deprecated. Not for use in new websites.\",\n text: \"Deprecated\",\n iconClassName: \"icon-deprecated\",\n });\n }\n\n if (!status.standard_track) {\n icons.push({\n title: \"Non-standard. Expect poor cross-browser support.\",\n text: \"Non-standard\",\n iconClassName: \"icon-nonstandard\",\n });\n }\n\n return icons.length === 0\n ? null\n : html`<div class=\"bc-icons\">\n ${icons.map(\n (icon) =>\n html`<abbr\n class=${`only-icon icon ${icon.iconClassName}`}\n title=${icon.title}\n >\n <span>${icon.text}</span>\n </abbr>`\n )}\n </div>`;\n }\n\n /**\n *\n * @param {BrowserStatement} browser\n * @param {SupportStatement} support\n */\n _renderNotes(browser, support) {\n return asList(support)\n .slice()\n .reverse()\n .flatMap((item, i) => {\n /**\n * @type {Array<{iconName: string; label: string | TemplateResult } | null>}\n */\n const supportNotes = [\n item.version_removed &&\n !asList(support).some(\n (otherItem) => otherItem.version_added === item.version_removed\n )\n ? {\n iconName: \"footnote\",\n label: `Removed in ${labelFromString(item.version_removed, browser)} and later`,\n }\n : null,\n item.partial_implementation\n ? {\n iconName: \"footnote\",\n label: \"Partial support\",\n }\n : null,\n item.prefix\n ? {\n iconName: \"prefix\",\n label: `Implemented with the vendor prefix: ${item.prefix}`,\n }\n : null,\n item.alternative_name\n ? {\n iconName: \"altname\",\n label: `Alternate name: ${item.alternative_name}`,\n }\n : null,\n item.flags\n ? {\n iconName: \"disabled\",\n label: (() => {\n const hasAddedVersion =\n typeof item.version_added === \"string\";\n const hasRemovedVersion =\n typeof item.version_removed === \"string\";\n const flags = item.flags || [];\n return html`\n ${[\n hasAddedVersion && `From version ${item.version_added}`,\n hasRemovedVersion &&\n `${hasAddedVersion ? \" until\" : \"Until\"} ${item.version_removed} (exclusive)`,\n hasAddedVersion || hasRemovedVersion ? \": this\" : \"This\",\n \" feature is behind the\",\n ...flags.map((flag, i) => {\n const valueToSet = flag.value_to_set\n ? html` (needs to be set to\n <code>${flag.value_to_set}</code>)`\n : \"\";\n\n return [\n html`<code>${flag.name}</code>`,\n flag.type === \"preference\" &&\n html` preference${valueToSet}`,\n flag.type === \"runtime_flag\" &&\n html` runtime flag${valueToSet}`,\n i < flags.length - 1 && \" and the \",\n ].filter(Boolean);\n }),\n \".\",\n browser.pref_url &&\n flags.some((flag) => flag.type === \"preference\") &&\n ` To change preferences in ${browser.name}, visit ${browser.pref_url}.`,\n ]\n .filter(Boolean)\n .map((value) => html`${value}`)}\n `;\n })(),\n }\n : null,\n item.notes\n ? (Array.isArray(item.notes) ? item.notes : [item.notes]).map(\n (note) => ({ iconName: \"footnote\", label: note })\n )\n : null,\n item.impl_url\n ? (Array.isArray(item.impl_url)\n ? item.impl_url\n : [item.impl_url]\n ).map((impl_url) => ({\n iconName: \"footnote\",\n label: html`See\n <a href=${impl_url}>${bugURLToString(impl_url)}</a>.`,\n }))\n : null,\n versionIsPreview(item.version_added, browser)\n ? {\n iconName: \"footnote\",\n label: \"Preview browser support\",\n }\n : null,\n // If we encounter nothing else than the required `version_added` and\n // `release_date` properties, assume full support.\n // EDIT 1-5-21: if item.version_added doesn't exist, assume no support.\n isFullySupportedWithoutLimitation(item) &&\n !versionIsPreview(item.version_added, browser)\n ? {\n iconName: \"footnote\",\n label: \"Full support\",\n }\n : isNotSupportedAtAll(item)\n ? {\n iconName: \"footnote\",\n label: \"No support\",\n }\n : null,\n ]\n .flat()\n .filter(Boolean);\n\n if (supportNotes.length === 0) {\n supportNotes.push({\n iconName: \"unknown\",\n label: \"Support unknown\",\n });\n }\n\n /**\n * @type {Array<{iconName: string; label: string | TemplateResult }>}\n */\n const filteredSupportNotes = supportNotes.filter((v) => v !== null);\n\n const hasNotes = supportNotes.length > 0;\n return (\n (i === 0 || hasNotes) &&\n html`<div class=\"bc-notes-wrapper\">\n <dt\n class=${`bc-supports-${getSupportClassName(\n item,\n browser\n )} bc-supports`}\n >\n ${this._renderCellText(item, browser, true)}\n </dt>\n ${filteredSupportNotes.map(({ iconName, label }) => {\n return html`<dd class=\"bc-supports-dd\">\n ${this._renderIcon(iconName)}${typeof label === \"string\"\n ? html`<span>${unsafeHTML(label)}</span>`\n : label}\n </dd>`;\n })}\n ${!hasNotes ? html`<dd></dd>` : null}\n </div>`\n );\n })\n .filter(Boolean);\n }\n\n /**\n *\n * @param {SupportStatement | undefined} support\n * @param {BrowserStatement} browser\n * @param {boolean} [timeline]\n */\n _renderCellText(support, browser, timeline = false) {\n const currentSupport = getCurrentSupport(support);\n\n const added = currentSupport?.version_added ?? null;\n const lastVersion = currentSupport?.version_last ?? null;\n\n const browserReleaseDate = getSupportBrowserReleaseDate(support);\n const supportClassName = getSupportClassName(support, browser);\n\n let status;\n switch (added) {\n case null:\n status = { isSupported: \"unknown\" };\n break;\n case true:\n status = { isSupported: lastVersion ? \"no\" : \"yes\" };\n break;\n case false:\n status = { isSupported: \"no\" };\n break;\n case \"preview\":\n status = { isSupported: \"preview\" };\n break;\n default:\n status = {\n isSupported: supportClassName,\n label: versionLabelFromSupport(added, lastVersion, browser),\n };\n break;\n }\n\n let label;\n let title = \"\";\n // eslint-disable-next-line default-case\n switch (status.isSupported) {\n case \"yes\":\n title = \"Full support\";\n label = status.label || \"Yes\";\n break;\n\n case \"partial\":\n title = \"Partial support\";\n label = status.label || \"Partial\";\n break;\n\n case \"removed-partial\":\n if (timeline) {\n title = \"Partial support\";\n label = status.label || \"Partial\";\n } else {\n title = \"No support\";\n label = status.label || \"No\";\n }\n break;\n\n case \"no\":\n title = \"No support\";\n label = status.label || \"No\";\n break;\n\n case \"preview\":\n title = \"Preview support\";\n label = status.label || browser.preview_name;\n break;\n\n case \"unknown\":\n title = \"Support unknown\";\n label = \"?\";\n break;\n }\n\n title = `${browser.name} – ${title}`;\n\n return html`<div\n class=${timeline\n ? \"bcd-timeline-cell-text-wrapper\"\n : \"bcd-cell-text-wrapper\"}\n >\n <div class=\"bcd-cell-icons\">\n <span class=\"icon-wrap\">\n <abbr\n class=${`\n bc-level-${supportClassName}\n icon\n icon-${supportClassName}`}\n title=${title}\n >\n <span class=\"bc-support-level\">${title}</span>\n </abbr>\n </span>\n </div>\n <div class=\"bcd-cell-text-copy\">\n <span class=\"bc-browser-name\">${browser.name}</span>\n <span\n class=\"bc-version-label\"\n title=${browserReleaseDate && !timeline\n ? `${browser.name} ${added} – Release date: ${browserReleaseDate}`\n : \"\"}\n >\n ${!timeline || added ? label : null}\n ${browserReleaseDate && timeline\n ? ` (Release date: ${browserReleaseDate})`\n : \"\"}\n </span>\n </div>\n ${support && this._renderCellIcons(support)}\n </div>`;\n }\n\n _renderTableLegend() {\n const { _browsers: browsers, browserInfo } = this;\n\n if (!browserInfo) {\n throw new Error(\"Missing browser info\");\n }\n\n return html`<section class=\"bc-legend\">\n <h3 class=\"visually-hidden\" id=\"Legend\">Legend</h3>\n <p class=\"bc-legend-tip\">\n Tip: you can click/tap on a cell for more information.\n </p>\n <dl class=\"bc-legend-items-container\">\n ${getActiveLegendItems(\n this.data,\n this._name,\n browserInfo,\n browsers\n ).map(([key, label]) =>\n [\"yes\", \"partial\", \"no\", \"unknown\", \"preview\"].includes(key)\n ? html`<div class=\"bc-legend-item\">\n <dt class=\"bc-legend-item-dt\">\n <span class=${`bc-supports-${key} bc-supports`}>\n <abbr\n class=${`bc-level bc-level-${key} icon icon-${key}`}\n title=${label}\n >\n <span class=\"visually-hidden\">${label}</span>\n </abbr>\n </span>\n </dt>\n <dd class=\"bc-legend-item-dd\">${label}</dd>\n </div>`\n : html`<div class=\"bc-legend-item\">\n <dt class=\"bc-legend-item-dt\">\n <abbr\n class=\"legend-icons icon icon-${key}\"\n title=${label}\n ></abbr>\n </dt>\n <dd class=\"bc-legend-item-dd\">${label}</dd>\n </div>`\n )}\n </dl>\n </section>`;\n }\n\n render() {\n return html` ${this._renderTable()} ${this._renderTableLegend()} `;\n }\n}\n\ncustomElements.define(\"compat-table\", CompatTable);\n\n/**\n * Return a list of platforms and browsers that are relevant for this category &\n * data.\n *\n * If the category is \"webextensions\", only those are shown. In all other cases\n * at least the entirety of the \"desktop\" and \"mobile\" platforms are shown. If\n * the category is JavaScript, the entirety of the \"server\" category is also\n * shown. In all other categories, if compat data has info about Deno / Node.js\n * those are also shown. Deno is always shown if Node.js is shown.\n *\n * @param {string} category\n * @param {Identifier} data\n * @param {Browsers} browserInfo\n * @returns {[string[], BrowserName[]]}\n */\nexport function gatherPlatformsAndBrowsers(category, data, browserInfo) {\n const hasNodeJSData = data.__compat && \"nodejs\" in data.__compat.support;\n const hasDenoData = data.__compat && \"deno\" in data.__compat.support;\n\n let platforms = [\"desktop\", \"mobile\"];\n if (category === \"javascript\" || hasNodeJSData || hasDenoData) {\n platforms.push(\"server\");\n }\n\n /** @type BrowserName[] */\n let browsers = [];\n\n // Add browsers in platform order to align table cells\n for (const platform of platforms) {\n /**\n * @type {BrowserName[]}\n */\n // @ts-ignore\n const platformBrowsers = Object.keys(browserInfo);\n browsers.push(\n ...platformBrowsers.filter(\n (browser) =>\n browser in browserInfo && browserInfo[browser].type === platform\n )\n );\n }\n\n // Filter WebExtension browsers in corresponding tables.\n if (category === \"webextensions\") {\n browsers = browsers.filter(\n (browser) => browserInfo[browser].accepts_webextensions\n );\n }\n\n // If there is no Node.js data for a category outside \"javascript\", don't\n // show it. It ended up in the browser list because there is data for Deno.\n if (category !== \"javascript\" && !hasNodeJSData) {\n browsers = browsers.filter((browser) => browser !== \"nodejs\");\n }\n\n // Hide Internet Explorer compatibility data\n browsers = browsers.filter((browser) => !HIDDEN_BROWSERS.includes(browser));\n\n return [platforms, [...browsers]];\n}\n","import { LitElement, html } from \"lit\";\nimport { createComponent } from \"@lit/react\";\nimport { Task } from \"@lit/task\";\nimport React from \"react\";\n\nimport { BCD_BASE_URL } from \"../../env.ts\";\nimport \"./compat-table.js\";\n\n/**\n * @import { Browsers, Identifier } from \"@mdn/browser-compat-data/types\"\n * @typedef {{data: Identifier, browsers: Browsers}} Compat\n */\n\nclass LazyCompatTable extends LitElement {\n static properties = {\n query: {},\n locale: {},\n };\n\n constructor() {\n super();\n this.query = \"\";\n this.locale = \"\";\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n _dataTask = new Task(this, {\n args: () => [this.query],\n task: async ([query], { signal }) => {\n const response = await fetch(\n `${BCD_BASE_URL}/bcd/api/v0/current/${query}.json`,\n { signal }\n );\n if (!response.ok) {\n console.error(\"Failed to fetch BCD data:\", response);\n throw new Error(response.statusText);\n }\n return /** @type {Promise<Compat>} */ response.json();\n },\n });\n\n render() {\n return this._dataTask.render({\n pending: () => html`<p>Loading...</p>`,\n\n complete:\n /**\n * @param {Compat} compat\n */\n (compat) =>\n compat\n ? html`<compat-table\n query=${this.query}\n locale=${this.locale}\n .data=${compat.data}\n .browserInfo=${compat.browsers}\n ></compat-table>`\n : html`<p>No compatibility data found</p>`,\n error: (error) => html`<p>Error loading data: <code>${error}</code></p>`,\n });\n }\n}\n\ncustomElements.define(\"lazy-compat-table\", LazyCompatTable);\n\nexport default createComponent({\n tagName: \"lazy-compat-table\",\n elementClass: LazyCompatTable,\n react: React,\n});\n"],"names":["_","CSSStyleSheet","Symbol","Promise","Array","Error","queueMicrotask","r","AbortController","Set","arguments","WeakMap","globalThis","e","Object","n","ViewedController","document","IntersectionObserver","console","window","clearTimeout","CompatTable","URLSearchParams","Date","HTMLElement","setTimeout","Boolean","t","a","customElements","LazyCompatTable","fetch"],"mappings":";gLAII,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAiC,kBACjC,EAAiC,gBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjCA,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,iBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,iBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,iBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,iBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,iBACjC,GAAiC,kBACjC,GAA0B,IAA4B,KACtD,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgCA,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,I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"}
1
+ {"version":3,"file":"8716.0a9d049bf166f65a.js","sources":["webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/index.scss","webpack://@mdn/fred/./node_modules/@lit/task/task.js","webpack://@mdn/fred/./node_modules/lit-html/directive-helpers.js","webpack://@mdn/fred/./node_modules/lit-html/async-directive.js","webpack://@mdn/fred/./node_modules/lit-html/directives/ref.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/utils.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/legend.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/feature-row.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/viewed-controller.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/compat-table.js","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/lit/compat/lazy-compat-table.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../assets/icons/small-arrow.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../../assets/icons/add-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"../../assets/icons/add.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"../../assets/icons/altname.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"../../assets/icons/bell.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"../../assets/icons/bell-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"../../assets/icons/bell-ring.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"../../assets/icons/bluesky.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"../../assets/icons/bookmark-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"../../assets/icons/bookmark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"../../assets/icons/cancel.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"../../assets/icons/chatgpt.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"../../assets/icons/checkmark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"../../assets/icons/chevron.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"../../assets/icons/chrome.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"../../assets/icons/critical.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"../../assets/icons/curriculum-next.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"../../assets/icons/curriculum-prev.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"../../assets/icons/deno.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_19___ = new URL(\"../../assets/icons/deprecated.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_20___ = new URL(\"../../assets/icons/desktop.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_21___ = new URL(\"../../assets/icons/disabled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_22___ = new URL(\"../../assets/icons/edge.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_23___ = new URL(\"../../assets/icons/edit.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_24___ = new URL(\"../../assets/icons/edit-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_25___ = new URL(\"../../assets/icons/ellipses.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_26___ = new URL(\"../../assets/icons/experimental.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_27___ = new URL(\"../../assets/icons/external.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_28___ = new URL(\"../../assets/icons/eye-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_29___ = new URL(\"../../assets/icons/eye.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_30___ = new URL(\"../../assets/icons/feed.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_31___ = new URL(\"../../assets/icons/filter.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_32___ = new URL(\"../../assets/icons/footnote.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_33___ = new URL(\"../../assets/icons/github-mark-small.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_34___ = new URL(\"../../assets/icons/ie.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_35___ = new URL(\"../../assets/icons/information.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_36___ = new URL(\"../../assets/icons/highlight.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_37___ = new URL(\"../../assets/icons/history.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_38___ = new URL(\"../../assets/icons/language.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_39___ = new URL(\"../../assets/icons/mastodon.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_40___ = new URL(\"../../assets/icons/menu-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_41___ = new URL(\"../../assets/icons/menu.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_42___ = new URL(\"../../assets/icons/mobile.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_43___ = new URL(\"../../assets/icons/more.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_44___ = new URL(\"../../assets/icons/theme-dark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_45___ = new URL(\"../../assets/icons/new-topic.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_46___ = new URL(\"../../assets/icons/next.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_47___ = new URL(\"../../assets/icons/no.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_48___ = new URL(\"../../assets/icons/nodejs.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_49___ = new URL(\"../../assets/icons/nonstandard.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_50___ = new URL(\"../../assets/icons/note-info.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_51___ = new URL(\"../../assets/icons/note-warning.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_52___ = new URL(\"../../assets/icons/note-deprecated.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_53___ = new URL(\"../../assets/icons/opera.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_54___ = new URL(\"../../assets/icons/padlock.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_55___ = new URL(\"../../assets/icons/partial.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_56___ = new URL(\"../../assets/icons/play.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_57___ = new URL(\"../../assets/icons/prefix.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_58___ = new URL(\"../../assets/icons/preview.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_59___ = new URL(\"../../assets/icons/previous.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_60___ = new URL(\"../../assets/icons/question-mark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_61___ = new URL(\"../../assets/icons/queue.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_62___ = new URL(\"../../assets/icons/queued.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_63___ = new URL(\"../../assets/icons/quote.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_64___ = new URL(\"../../assets/icons/return.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_65___ = new URL(\"../../assets/icons/safari.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_66___ = new URL(\"../../assets/icons/samsunginternet.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_67___ = new URL(\"../../assets/icons/search.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_68___ = new URL(\"../../assets/icons/send.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_69___ = new URL(\"../../assets/icons/server.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_70___ = new URL(\"../../assets/icons/sidebar.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_71___ = new URL(\"../../assets/icons/simple-firefox.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_72___ = new URL(\"../../assets/icons/theme-light.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_73___ = new URL(\"../../assets/icons/star-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_74___ = new URL(\"../../assets/icons/star.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_75___ = new URL(\"../../assets/icons/theme-os-default.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_76___ = new URL(\"../../assets/icons/thumbs-down.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_77___ = new URL(\"../../assets/icons/thumbs-up.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_78___ = new URL(\"../../assets/icons/trash.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_79___ = new URL(\"../../assets/icons/trash-filled.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_80___ = new URL(\"../../assets/icons/twitter-x.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_81___ = new URL(\"../../assets/icons/unknown.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_82___ = new URL(\"../../assets/icons/warning.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_83___ = new URL(\"../../assets/icons/webview.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_84___ = new URL(\"../../assets/icons/yes.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_85___ = new URL(\"../../assets/icons/yes-circle.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___);\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);\nvar ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___);\nvar ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___);\nvar ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___);\nvar ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___);\nvar ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___);\nvar ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_29___);\nvar ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_30___);\nvar ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_31___);\nvar ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_32___);\nvar ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_33___);\nvar ___CSS_LOADER_URL_REPLACEMENT_34___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_34___);\nvar ___CSS_LOADER_URL_REPLACEMENT_35___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_35___);\nvar ___CSS_LOADER_URL_REPLACEMENT_36___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_36___);\nvar ___CSS_LOADER_URL_REPLACEMENT_37___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_37___);\nvar ___CSS_LOADER_URL_REPLACEMENT_38___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_38___);\nvar ___CSS_LOADER_URL_REPLACEMENT_39___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_39___);\nvar ___CSS_LOADER_URL_REPLACEMENT_40___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_40___);\nvar ___CSS_LOADER_URL_REPLACEMENT_41___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_41___);\nvar ___CSS_LOADER_URL_REPLACEMENT_42___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_42___);\nvar ___CSS_LOADER_URL_REPLACEMENT_43___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_43___);\nvar ___CSS_LOADER_URL_REPLACEMENT_44___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_44___);\nvar ___CSS_LOADER_URL_REPLACEMENT_45___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_45___);\nvar ___CSS_LOADER_URL_REPLACEMENT_46___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_46___);\nvar ___CSS_LOADER_URL_REPLACEMENT_47___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_47___);\nvar ___CSS_LOADER_URL_REPLACEMENT_48___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_48___);\nvar ___CSS_LOADER_URL_REPLACEMENT_49___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_49___);\nvar ___CSS_LOADER_URL_REPLACEMENT_50___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_50___);\nvar ___CSS_LOADER_URL_REPLACEMENT_51___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_51___);\nvar ___CSS_LOADER_URL_REPLACEMENT_52___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_52___);\nvar ___CSS_LOADER_URL_REPLACEMENT_53___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_53___);\nvar ___CSS_LOADER_URL_REPLACEMENT_54___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_54___);\nvar ___CSS_LOADER_URL_REPLACEMENT_55___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_55___);\nvar ___CSS_LOADER_URL_REPLACEMENT_56___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_56___);\nvar ___CSS_LOADER_URL_REPLACEMENT_57___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_57___);\nvar ___CSS_LOADER_URL_REPLACEMENT_58___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_58___);\nvar ___CSS_LOADER_URL_REPLACEMENT_59___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_59___);\nvar ___CSS_LOADER_URL_REPLACEMENT_60___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_60___);\nvar ___CSS_LOADER_URL_REPLACEMENT_61___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_61___);\nvar ___CSS_LOADER_URL_REPLACEMENT_62___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_62___);\nvar ___CSS_LOADER_URL_REPLACEMENT_63___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_63___);\nvar ___CSS_LOADER_URL_REPLACEMENT_64___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_64___);\nvar ___CSS_LOADER_URL_REPLACEMENT_65___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_65___);\nvar ___CSS_LOADER_URL_REPLACEMENT_66___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_66___);\nvar ___CSS_LOADER_URL_REPLACEMENT_67___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_67___);\nvar ___CSS_LOADER_URL_REPLACEMENT_68___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_68___);\nvar ___CSS_LOADER_URL_REPLACEMENT_69___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_69___);\nvar ___CSS_LOADER_URL_REPLACEMENT_70___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_70___);\nvar ___CSS_LOADER_URL_REPLACEMENT_71___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_71___);\nvar ___CSS_LOADER_URL_REPLACEMENT_72___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_72___);\nvar ___CSS_LOADER_URL_REPLACEMENT_73___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_73___);\nvar ___CSS_LOADER_URL_REPLACEMENT_74___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_74___);\nvar ___CSS_LOADER_URL_REPLACEMENT_75___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_75___);\nvar ___CSS_LOADER_URL_REPLACEMENT_76___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_76___);\nvar ___CSS_LOADER_URL_REPLACEMENT_77___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_77___);\nvar ___CSS_LOADER_URL_REPLACEMENT_78___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_78___);\nvar ___CSS_LOADER_URL_REPLACEMENT_79___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_79___);\nvar ___CSS_LOADER_URL_REPLACEMENT_80___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_80___);\nvar ___CSS_LOADER_URL_REPLACEMENT_81___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_81___);\nvar ___CSS_LOADER_URL_REPLACEMENT_82___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_82___);\nvar ___CSS_LOADER_URL_REPLACEMENT_83___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_83___);\nvar ___CSS_LOADER_URL_REPLACEMENT_84___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_84___);\nvar ___CSS_LOADER_URL_REPLACEMENT_85___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_85___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `button,.button{appearance:none;background:none;border:none}.button{--button-bg: var(--button-primary-default);--button-bg-hover: var(--button-primary-hover);--button-bg-active: var(--button-primary-active);--button-border-color: var(--button-primary-default);--button-focus-effect: var(--focus-effect);--button-height: var(--form-elem-height, 2rem);--button-color: var(--background-primary);--button-font: var(--type-emphasis-m);--button-padding: 0.5rem;--button-radius: var(--elem-radius, 0.25rem);border-radius:var(--button-radius);cursor:pointer;display:inline-block;padding:0;-webkit-text-decoration:none;text-decoration:none}.button-wrap{align-items:center;background-color:var(--button-bg);border:1px solid var(--button-border-color);border-radius:var(--button-radius);color:var(--button-color);display:flex;font:var(--button-font);gap:.25rem;height:var(--button-height);justify-content:center;padding-left:var(--button-padding);padding-right:var(--button-padding);position:relative}.button .icon{background-color:var(--button-color);margin:0 -1px}.button:hover,.button.hover{--button-border-color: var(--button-bg-hover, var(--button-bg))}.button:hover .button-wrap,.button.hover .button-wrap{background-color:var(--button-bg-hover, var(--button-bg))}.button:active .button-wrap,.button.active .button-wrap{background-color:var(--button-bg-active, var(--button-bg))}.button:focus,.button.focus{outline:none}.button:focus .button-wrap,.button.focus .button-wrap{border:1px solid var(--button-secondary-border-focus);box-shadow:var(--button-focus-effect)}.button.button[disabled],.button.button.inactive{cursor:default;opacity:.65}.button.button[disabled]:hover,.button.button.inactive:hover{--button-bg-hover: unset}.button.button[disabled]:active,.button.button.inactive:active{--button-bg-active: unset}.button.small,.button.small .button-wrap{--button-height: 1.75rem;--button-padding: 0.25rem}.button.secondary{--button-bg: var(--button-secondary-default);--button-border-color: var(--border-primary);--button-color: var(--text-secondary);--button-bg-hover: var(--button-secondary-hover);--button-bg-active: var(--button-secondary-active)}.button.secondary:focus{--button-border-color: var(--button-secondary-border-focus)}.button.action{--button-bg: transparent;--button-border-color: var(--button-bg);--button-color: var(--text-secondary);--button-font: var(--type-label-s);--button-bg-hover: var(--button-secondary-hover);--button-bg-active: var(--button-secondary-active)}.button.action.has-icon{--button-font: var(--type-emphasis-m);text-transform:initial}.button.action:focus{--button-border-color: var(--button-secondary-border-focus)}.button.action .button-wrap{text-transform:var(--button-action-transform, uppercase)}.button.action.highlight{--button-color: var(--button-primary-default)}.button.select{--button-bg: var(--button-secondary-default);--button-bg-hover: var(--button-secondary-hover);--button-bg-active: var(--button-secondary-active);--button-border-color: var(--border-primary);--button-color: var(--text-secondary);appearance:none;background:none;border:none;padding:0;-webkit-text-decoration:none;text-decoration:none}.button.select .button-wrap{box-shadow:var(--shadow-01);padding-right:26px;position:relative}.button.select .button-wrap::after{background-color:var(--icon-primary);content:\"\";display:block;height:16px;-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});-webkit-mask-size:cover;mask-size:cover;position:absolute;right:.5rem;top:calc(50% - .5rem);width:16px}.button.link{--button-bg: none;--button-bg-hover: none;--button-bg-active: none;--button-border-color: none;--button-focus-effect: none;--button-secondary-border-focus: none;--button-height: auto;--button-font: unset;--button-padding: 0;--button-radius: 0;--button-color: var(--text-link);appearance:none;display:inline;-webkit-text-decoration:none;text-decoration:none}.button.link:focus-visible{outline-color:var(--accent-primary);outline-offset:1px;outline-style:auto}.icon{--size: var(--icon-size, 1rem);background-color:var(--icon-primary);display:inline-block;flex-shrink:0;height:var(--size);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:middle;width:var(--size)}.icon.icon-add-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.icon.icon-add{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}.icon.icon-altname{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___})}.icon.icon-bell{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___})}.icon.icon-bell-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___})}.icon.icon-bell-ring{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___})}.icon.icon-bluesky{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___})}.icon.icon-bookmark-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___})}.icon.icon-bookmark{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___})}.icon.icon-cancel{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___})}.icon.icon-chatgpt{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___})}.icon.icon-checkmark{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___})}.icon.icon-chevron{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___})}.icon.icon-chrome{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___})}.icon.icon-critical{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___})}.icon.icon-curriculum-next{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___})}.icon.icon-curriculum-prev{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___})}.icon.icon-deno{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_18___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_18___})}.icon.icon-deprecated{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_19___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_19___})}.icon.icon-desktop{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_20___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_20___})}.icon.icon-disabled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_21___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_21___})}.icon.icon-edge{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_22___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_22___})}.icon.icon-edit{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_23___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_23___})}.icon.icon-edit-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_24___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_24___})}.icon.icon-ellipses{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_25___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_25___})}.icon.icon-experimental{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_26___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_26___})}.icon.icon-external{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_27___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_27___})}.icon.icon-eye-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_28___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_28___})}.icon.icon-eye{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_29___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_29___})}.icon.icon-feed{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_30___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_30___})}.icon.icon-filter{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_31___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_31___})}.icon.icon-footnote{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_32___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_32___})}.icon.icon-github-mark-small{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_33___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_33___})}.icon.icon-ie{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_34___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_34___})}.icon.icon-information{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_35___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_35___})}.icon.icon-highlight{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_36___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_36___})}.icon.icon-history{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_37___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_37___})}.icon.icon-language{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_38___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_38___})}.icon.icon-mastodon{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_39___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_39___})}.icon.icon-menu-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_40___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_40___})}.icon.icon-menu{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_41___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_41___})}.icon.icon-mobile{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_42___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_42___})}.icon.icon-more{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_43___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_43___})}.icon.icon-theme-dark{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_44___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_44___})}.icon.icon-new-topic{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_45___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_45___})}.icon.icon-next{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_46___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_46___})}.icon.icon-no{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_47___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_47___})}.icon.icon-nodejs{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_48___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_48___})}.icon.icon-nonstandard{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_49___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_49___})}.icon.icon-note-info{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_50___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_50___})}.icon.icon-note-warning{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_51___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_51___})}.icon.icon-note-deprecated{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_52___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_52___})}.icon.icon-opera{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_53___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_53___})}.icon.icon-padlock{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_54___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_54___})}.icon.icon-partial{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_55___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_55___})}.icon.icon-play{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_56___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_56___})}.icon.icon-prefix{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_57___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_57___})}.icon.icon-preview{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_58___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_58___})}.icon.icon-previous{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_59___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_59___})}.icon.icon-question-mark{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_60___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_60___})}.icon.icon-queue{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_61___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_61___})}.icon.icon-queued{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_62___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_62___})}.icon.icon-quote{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_63___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_63___})}.icon.icon-return{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_64___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_64___})}.icon.icon-safari{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_65___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_65___})}.icon.icon-samsunginternet{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_66___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_66___})}.icon.icon-search{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_67___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_67___})}.icon.icon-send{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_68___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_68___})}.icon.icon-server{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_69___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_69___})}.icon.icon-sidebar{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_70___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_70___})}.icon.icon-simple-firefox{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_71___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_71___})}.icon.icon-small-arrow{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.icon.icon-theme-light{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_72___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_72___})}.icon.icon-star-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_73___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_73___})}.icon.icon-star{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_74___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_74___})}.icon.icon-theme-os-default{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_75___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_75___})}.icon.icon-thumbs-down{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_76___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_76___})}.icon.icon-thumbs-up{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_77___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_77___})}.icon.icon-trash{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_78___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_78___})}.icon.icon-trash-filled{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_79___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_79___})}.icon.icon-twitter-x{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_80___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_80___})}.icon.icon-unknown{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_81___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_81___})}.icon.icon-warning{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_82___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_82___})}.icon.icon-webview{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_83___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_83___})}.icon.icon-yes{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_84___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_84___})}.icon.icon-yes-circle{-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_85___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_85___})}svg.icon{background:rgba(0,0,0,0);color:var(--icon-primary)}.icons-highlighted{align-items:center;display:flex;flex-direction:column}.icons-highlighted>span{height:var(--icon-size);line-height:0;width:var(--icon-size)}.icons-highlighted>span.icons-icon-wrapper{margin-top:-0.1rem}*{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}.visually-hidden{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:1px !important}code{background:var(--code-background-inline);padding:.125rem .25rem;width:fit-content}a{color:var(--text-link)}.external:after{background-color:var(--icon-primary);content:\"\";display:inline-flex;height:10px;margin-left:4px;-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_27___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_27___});-webkit-mask-size:cover;mask-size:cover;width:10px}table{display:grid;grid-auto-flow:row dense}table thead tr{display:contents}table thead tr th,table thead tr td{display:grid;grid-template-columns:subgrid}table tbody{display:contents}table tbody tr{display:contents}table tbody tr th,table tbody tr td{display:contents}table tbody tr th button,table tbody tr td button{display:grid;grid-template-columns:subgrid}table tbody tr th .timeline,table tbody tr td .timeline{grid-column:1/-1}.bc-on-github{font-size:var(--type-smaller-font-size)}.bc-table{border:1px solid var(--border-primary);border-collapse:separate;border-radius:var(--elem-radius);border-spacing:0;margin:0;width:100%}.bc-table td,.bc-table th{border:1px solid var(--border-secondary);border-width:0 0 1px 1px;font-size:var(--type-smaller-font-size);font-weight:500;padding:0;padding:.4rem}.bc-table td code,.bc-table th code{font-size:var(--type-smaller-font-size)}.bc-table th{background:var(--background-primary);padding:.4rem;vertical-align:bottom}.bc-table thead{line-height:1;white-space:nowrap}.bc-table tbody tr{height:3rem}@media(min-width: 426px){.bc-table tbody tr:last-child th,.bc-table tbody tr:last-child td{border-bottom-width:0}}.bc-table tbody tr th{border-left-width:0;vertical-align:middle}.bc-table tbody .bc-support{vertical-align:top}.bc-table tbody .bc-support button{cursor:pointer;width:100%}.bc-table tbody .bc-support.bc-supports-no>button>span{color:var(--text-primary-red)}.bc-table tbody .bc-support.bc-supports-partial>button>span{color:var(--text-primary-yellow)}.bc-table tbody .bc-support.bc-supports-preview>button>span{color:var(--text-primary-blue)}.bc-table tbody .bc-support.bc-supports-yes>button>span{color:var(--text-primary-green)}.bc-table .bc-supports{margin-bottom:1rem}.bc-table .bc-supports .icon-wrap{background:var(--background-primary)}.bc-table .bc-supports.bc-supports-removed-partial .bcd-cell-text-copy{color:var(--text-primary-yellow)}.bc-table .icon-wrap .bc-support-level{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px}.bc-table .bc-support>button>.icon-wrap{display:block}.bc-table .bc-support .icon.icon-removed-partial{background-color:var(--icon-critical);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_47___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_47___})}.bc-table .bc-support .timeline .icon.icon-removed-partial{background-color:var(--icon-primary);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_55___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_55___})}.bc-table .bc-support.bc-supports-removed-partial .bcd-cell-text-copy{color:var(--text-primary-red)}.bc-table .bc-feature{align-items:center;border:none;display:flex;text-align:left;width:100%}.bc-table .bc-feature>*{border:none !important;flex-basis:max-content}.bc-table .bc-feature-depth-2{border-left:7px solid var(--border-primary)}.bc-table .bc-feature-depth-3{border-left:15px solid var(--border-primary)}.bc-table .timeline{display:none}.bc-table .bc-has-history:focus-within .timeline{display:initial}.bc-head-txt-label{line-height:1;text-orientation:sideways;transform:rotate(180deg);white-space:nowrap;writing-mode:vertical-rl}.bc-support{text-align:center;vertical-align:middle}.bc-level-no{background-color:var(--icon-critical)}.bc-level-preview{background-color:var(--icon-information)}.bc-legend-items-container{display:flex;flex-wrap:wrap;font-size:var(--type-smaller-font-size);gap:1.5rem;margin-bottom:2rem}.bc-legend-tip{font-size:var(--type-smaller-font-size);font-style:italic;font-variation-settings:\"slnt\" -10;margin-bottom:1rem;margin-top:0}.bc-legend-item{align-items:center;display:flex;gap:.5rem}.bc-legend-item-dt{display:flex}.bc-legend-item-dt .icon{background-color:var(--icon-primary)}.bc-platforms th{align-items:center;display:flex;justify-content:center}.bc-platforms td{border:none}.bc-browsers th{align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:end;vertical-align:bottom}.bc-browsers td{border-width:0 0 1px}.bc-notes-list{margin:.5rem 0;position:relative;text-align:left;width:100%}.bc-notes-list:before{background:var(--border-primary);content:\"\";height:calc(100% - .25rem);left:7px;margin-top:.25rem;position:absolute;width:2px;z-index:-1}.bc-notes-list .bc-notes-wrapper:last-child dd:last-child{position:relative}.bc-notes-list .bc-notes-wrapper:last-child dd:last-child:before{background:var(--background-primary);bottom:0;content:\"\";height:calc(100% - 6px);left:7px;position:absolute;width:2px;z-index:-1}.bc-notes-list .bc-level-yes.icon.icon-yes{background-color:var(--icon-success);-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_85___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_85___})}.bc-notes-list .bc-supports-dd .icon{background:var(--border-primary);border:3px solid var(--background-primary);border-radius:50%;-webkit-mask-image:none;mask-image:none}.bc-notes-list .bc-version-label{display:inline}.bc-notes-list abbr{margin-right:4px;-webkit-text-decoration:none;text-decoration:none}.bc-notes-list dd{margin-bottom:1rem;padding-left:1.5rem;text-indent:-1.5rem}.bc-notes-list dd:last-child{margin-bottom:2rem}.bc-notes-wrapper{color:var(--text-primary);margin-bottom:1rem}.bc-notes-wrapper:last-child{margin-bottom:0}dl.bc-notes-list dt.bc-supports{margin-top:1rem}dl.bc-notes-list dt.bc-supports:first-child{margin-top:0}dl.bc-notes-list dd.bc-supports-dd{margin-bottom:1rem}dl.bc-notes-list dd.bc-supports-dd:last-child{margin-bottom:0}.only-icon span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px}.bc-table-row-header{padding:.25em;text-align:left;width:100%}.bc-table-row-header code{overflow:hidden}.bc-table-row-header .bc-icons{display:inline-flex;gap:.5ch;margin-left:.5ch;vertical-align:text-top}.bc-table-row-header .bc-icons .icon{background-color:var(--icon-secondary)}.bc-table-row-header .bc-icons .icon:hover{background-color:var(--icon-primary)}.bc-github-link{font:var(--type-smaller-font-size)}.main-page-content .bc-legend dd,.main-page-content .bc-legend dt{margin-bottom:0;margin-left:0;margin-top:0}.main-page-content .bc-supports-dd{margin:0}@media(max-width: 425.98px){.bc-table{grid-template-columns:auto}.bc-table thead{display:none}.bc-table tr td.bc-support{border:none;border-top:1px solid var(--border-primary);display:block}.bc-table tr td.bc-support:last-child{border-bottom:1px solid var(--border-primary)}.bc-table .timeline{margin-left:.25rem}.bc-table tr:not(:first-of-type) .bc-feature{border-top:2px solid var(--border-primary)}.bc-table .bc-feature,.bc-table .bc-support>button{align-content:center;display:flex;flex-wrap:wrap;gap:.5rem}.bc-on-github a{white-space:nowrap}.table-container{overflow-x:auto}}@media(min-width: 426px){.bc-table{grid-template-columns:minmax(20vw, min-content) repeat(var(--browser-count), auto)}.bc-table thead{display:contents}.bc-table thead .bc-platforms th{vertical-align:revert}.bc-table tbody{--border: 1px solid var(--border-secondary)}.bc-table tbody tr:not(:first-child) th>*,.bc-table tbody tr:not(:first-child) td>*{border-top:var(--border)}.bc-table tbody tr:not(:first-child) .bc-feature{border-top:var(--border)}.bc-table tbody tr th:not(:first-child)>*,.bc-table tbody tr td:not(:first-child)>*{border-left:var(--border)}.bc-table td,.bc-table th{background:inherit;padding:.25rem}.bc-table td.bc-support{padding:0}.bc-table td.bc-support>button{padding:.25rem}.bc-table .timeline{border-left:none !important;border-top:var(--border)}.bc-table .bc-has-history:focus-within>button{--padding-bottom-offset: -2px;border-bottom:2px solid var(--text-primary)}.table-container{margin:0 -3rem;overflow:auto;width:100vw}.table-container-inner{min-width:max-content;padding:0 3rem;position:relative}.table-container-inner:after{bottom:0;content:\"\";height:10px;position:absolute;right:0;width:10px}.bcd-cell-text-wrapper .bc-support-level,.bcd-cell-text-wrapper .bc-browser-name{display:none}.bc-notes-list{margin-left:20%;max-width:80vw;width:auto}.bc-support .bc-support-level{display:none}.bc-has-history{cursor:pointer}.bc-has-history>button:hover{background:var(--background-secondary)}}@media(min-width: 769px){.table-container{width:calc(100% + 6rem)}.table-container-inner{min-width:initial}.bc-on-github{text-align:right}.bc-table{grid-template-columns:minmax(25%, max-content) repeat(var(--browser-count), calc(75% / var(--browser-count)))}.icon{--size: calc(1rem + 1px)}}@media(min-width: 1200px){.table-container{margin:0;width:100%}.table-container-inner{padding:0}.bc-table{grid-template-columns:minmax(33%, max-content) repeat(var(--browser-count), calc(67% / var(--browser-count)))}}.bcd-cell-text-wrapper{display:flex;flex-direction:row;gap:.5rem}@media(min-width: 426px){.bcd-cell-text-wrapper{align-items:center;flex-direction:column}}.bcd-timeline-cell-text-wrapper{display:flex;flex-direction:row;gap:.25rem}.bcd-cell-text-copy{color:var(--text-primary)}.bc-supports-yes .bcd-cell-text-copy{color:var(--text-primary-green)}.bc-supports-partial .bcd-cell-text-copy{color:var(--text-primary-yellow)}.bc-supports-no .bcd-cell-text-copy{color:var(--text-primary-red)}.bcd-cell-icons{display:flex;gap:.5rem}@media(min-width: 426px){.bcd-cell-icons{display:block}}@media(min-width: 426px){.bc-table td.bc-support>button{padding-bottom:calc(.5rem + var(--padding-bottom-offset, 0px));padding-left:.25rem;padding-right:.25rem;padding-top:.5rem}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@mdn/yari/client/src/ui/atoms/button/index.scss\",\"webpack://./node_modules/@mdn/yari/client/src/ui/atoms/icon/index.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/global.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index.scss\",\"webpack://./node_modules/@mdn/minimalist/sass/mixins/_utils.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index-mobile.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index-desktop.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index-desktop-md.scss\",\"webpack://./node_modules/@mdn/yari/client/src/lit/compat/index-desktop-xl.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"button,\\n.button {\\n appearance: none;\\n background: none;\\n border: none;\\n}\\n\\n.button {\\n --button-bg: var(--button-primary-default);\\n --button-bg-hover: var(--button-primary-hover);\\n --button-bg-active: var(--button-primary-active);\\n --button-border-color: var(--button-primary-default);\\n --button-focus-effect: var(--focus-effect);\\n --button-height: var(--form-elem-height, 2rem);\\n --button-color: var(--background-primary);\\n --button-font: var(--type-emphasis-m);\\n --button-padding: 0.5rem;\\n --button-radius: var(--elem-radius, 0.25rem);\\n border-radius: var(--button-radius);\\n\\n cursor: pointer;\\n display: inline-block;\\n padding: 0;\\n text-decoration: none;\\n}\\n\\n.button-wrap {\\n align-items: center;\\n background-color: var(--button-bg);\\n border: 1px solid var(--button-border-color);\\n border-radius: var(--button-radius);\\n color: var(--button-color);\\n display: flex;\\n font: var(--button-font);\\n gap: 0.25rem;\\n height: var(--button-height);\\n justify-content: center;\\n padding-left: var(--button-padding);\\n padding-right: var(--button-padding);\\n position: relative;\\n}\\n\\n.button .icon {\\n background-color: var(--button-color);\\n margin: 0 -1px; // shrinks icon-only buttons to square.\\n}\\n\\n/* Button States */\\n\\n.button:hover,\\n.button.hover {\\n // In most cases, we want the border to be the same color as the background.\\n --button-border-color: var(--button-bg-hover, var(--button-bg));\\n\\n .button-wrap {\\n background-color: var(--button-bg-hover, var(--button-bg));\\n }\\n}\\n\\n.button:active,\\n.button.active {\\n .button-wrap {\\n background-color: var(--button-bg-active, var(--button-bg));\\n }\\n}\\n\\n.button:focus,\\n.button.focus {\\n outline: none;\\n\\n .button-wrap {\\n border: 1px solid var(--button-secondary-border-focus);\\n box-shadow: var(--button-focus-effect);\\n }\\n}\\n\\n.button.button[disabled],\\n.button.button.inactive {\\n cursor: default;\\n opacity: 0.65;\\n\\n &:hover {\\n --button-bg-hover: unset;\\n }\\n\\n &:active {\\n --button-bg-active: unset;\\n }\\n}\\n\\n/* Standard Button Modifiers */\\n\\n.button.small,\\n.button.small .button-wrap {\\n --button-height: 1.75rem;\\n --button-padding: 0.25rem;\\n}\\n\\n/* Secondary Version */\\n\\n.button.secondary {\\n --button-bg: var(--button-secondary-default);\\n --button-border-color: var(--border-primary);\\n --button-color: var(--text-secondary);\\n --button-bg-hover: var(--button-secondary-hover);\\n --button-bg-active: var(--button-secondary-active);\\n\\n &:focus {\\n --button-border-color: var(--button-secondary-border-focus);\\n }\\n}\\n\\n/* Action Version */\\n\\n.button.action {\\n --button-bg: transparent;\\n --button-border-color: var(--button-bg);\\n --button-color: var(--text-secondary);\\n --button-font: var(--type-label-s);\\n --button-bg-hover: var(--button-secondary-hover);\\n --button-bg-active: var(--button-secondary-active);\\n\\n &.has-icon {\\n --button-font: var(--type-emphasis-m);\\n text-transform: initial;\\n }\\n\\n &:focus {\\n --button-border-color: var(--button-secondary-border-focus);\\n }\\n\\n .button-wrap {\\n text-transform: var(--button-action-transform, uppercase);\\n }\\n\\n &.highlight {\\n --button-color: var(--button-primary-default);\\n }\\n}\\n\\n/* Select Version */\\n.button.select {\\n --button-bg: var(--button-secondary-default);\\n --button-bg-hover: var(--button-secondary-hover);\\n --button-bg-active: var(--button-secondary-active);\\n --button-border-color: var(--border-primary);\\n --button-color: var(--text-secondary);\\n appearance: none;\\n background: none;\\n border: none;\\n padding: 0;\\n text-decoration: none;\\n\\n .button-wrap {\\n box-shadow: var(--shadow-01);\\n padding-right: 26px;\\n position: relative;\\n }\\n\\n .button-wrap::after {\\n background-color: var(--icon-primary);\\n content: \\\"\\\";\\n display: block;\\n height: 16px;\\n mask-image: url(\\\"../../../assets/icons/small-arrow.svg\\\");\\n mask-size: cover;\\n position: absolute;\\n right: 0.5rem;\\n top: calc(50% - 0.5rem);\\n width: 16px;\\n }\\n}\\n\\n.button.link {\\n --button-bg: none;\\n --button-bg-hover: none;\\n --button-bg-active: none;\\n --button-border-color: none;\\n --button-focus-effect: none;\\n --button-secondary-border-focus: none;\\n --button-height: auto;\\n --button-font: unset;\\n --button-padding: 0;\\n --button-radius: 0;\\n\\n --button-color: var(--text-link);\\n appearance: none;\\n display: inline;\\n text-decoration: none;\\n\\n &:focus-visible {\\n outline-color: var(--accent-primary);\\n outline-offset: 1px;\\n outline-style: auto;\\n }\\n}\\n\\n/*\\n.high-contrast-white {\\n .button:focus {\\n --button-border-color: var(--border-primary);\\n --button-focus-effect: 0 0 0 4px var(--background-primary),\\n 0 0 0 7px var(--border-primary);\\n }\\n}\\n\\n.high-contrast-black {\\n .button:focus {\\n --button-border-color: var(--border-primary);\\n --button-focus-shadow: 0 0 0 4px var(--background-primary),\\n 0 0 0 7px var(--border-primary);\\n }\\n\\n .button {\\n --button-color: var(--button-secondary-default);\\n }\\n\\n .button.secondary {\\n --button-border-color: var(--button-color);\\n }\\n\\n .button.action {\\n --button-color: var(--text-secondary);\\n }\\n}\\n*/\\n\",\"$icons:\\n \\\"add-filled\\\", \\\"add\\\", \\\"altname\\\", \\\"bell\\\", \\\"bell-filled\\\", \\\"bell-ring\\\", \\\"bluesky\\\",\\n \\\"bookmark-filled\\\", \\\"bookmark\\\", \\\"cancel\\\", \\\"chatgpt\\\", \\\"checkmark\\\", \\\"chevron\\\",\\n \\\"chrome\\\", \\\"critical\\\", \\\"curriculum-next\\\", \\\"curriculum-prev\\\", \\\"deno\\\",\\n \\\"deprecated\\\", \\\"desktop\\\", \\\"disabled\\\", \\\"edge\\\", \\\"edit\\\", \\\"edit-filled\\\",\\n \\\"ellipses\\\", \\\"experimental\\\", \\\"external\\\", \\\"eye-filled\\\", \\\"eye\\\", \\\"feed\\\", \\\"filter\\\",\\n \\\"footnote\\\", \\\"github-mark-small\\\", \\\"ie\\\", \\\"information\\\", \\\"highlight\\\", \\\"history\\\",\\n \\\"language\\\", \\\"mastodon\\\", \\\"menu-filled\\\", \\\"menu\\\", \\\"mobile\\\", \\\"more\\\", \\\"theme-dark\\\",\\n \\\"new-topic\\\", \\\"next\\\", \\\"no\\\", \\\"nodejs\\\", \\\"nonstandard\\\", \\\"note-info\\\",\\n \\\"note-warning\\\", \\\"note-deprecated\\\", \\\"opera\\\", \\\"padlock\\\", \\\"partial\\\", \\\"play\\\",\\n \\\"prefix\\\", \\\"preview\\\", \\\"previous\\\", \\\"question-mark\\\", \\\"queue\\\", \\\"queued\\\", \\\"quote\\\",\\n \\\"return\\\", \\\"safari\\\", \\\"samsunginternet\\\", \\\"search\\\", \\\"send\\\", \\\"server\\\", \\\"sidebar\\\",\\n \\\"simple-firefox\\\", \\\"small-arrow\\\", \\\"theme-light\\\", \\\"star-filled\\\", \\\"star\\\",\\n \\\"theme-os-default\\\", \\\"thumbs-down\\\", \\\"thumbs-up\\\", \\\"trash\\\", \\\"trash-filled\\\",\\n \\\"twitter-x\\\", \\\"unknown\\\", \\\"warning\\\", \\\"webview\\\", \\\"yes\\\", \\\"yes-circle\\\";\\n\\n.icon {\\n --size: var(--icon-size, 1rem);\\n background-color: var(--icon-primary);\\n display: inline-block;\\n flex-shrink: 0;\\n height: var(--size);\\n mask-position: center;\\n mask-repeat: no-repeat;\\n vertical-align: middle;\\n width: var(--size);\\n\\n @each $name in $icons {\\n &.icon-#{$name} {\\n mask-image: url(\\\"../../../assets/icons/\\\" + $name + \\\".svg\\\");\\n }\\n }\\n}\\n\\n// The icon class is applied directly to SVGs sometimes. This\\n// override un-breaks those.\\nsvg.icon {\\n background: transparent;\\n color: var(--icon-primary);\\n}\\n\\n.icons-highlighted {\\n align-items: center;\\n display: flex;\\n flex-direction: column;\\n\\n > span {\\n height: var(--icon-size);\\n line-height: 0;\\n width: var(--icon-size);\\n\\n &.icons-icon-wrapper {\\n margin-top: -0.1rem;\\n }\\n }\\n}\\n\",\"* {\\n box-sizing: border-box;\\n}\\n\\n/* Remove default margin */\\nbody,\\nh1,\\nh2,\\nh3,\\nh4,\\np,\\nfigure,\\nblockquote,\\ndl,\\ndd {\\n margin: 0;\\n}\\n\\n.visually-hidden {\\n border: 0 !important;\\n clip: rect(1px, 1px, 1px, 1px) !important;\\n -webkit-clip-path: inset(50%) !important;\\n clip-path: inset(50%) !important;\\n height: 1px !important;\\n margin: -1px !important;\\n overflow: hidden !important;\\n padding: 0 !important;\\n position: absolute !important;\\n white-space: nowrap !important;\\n width: 1px !important;\\n}\\n\\ncode {\\n background: var(--code-background-inline);\\n padding: 0.125rem 0.25rem;\\n width: fit-content;\\n}\\n\\na {\\n color: var(--text-link);\\n}\\n\\n.external:after {\\n background-color: var(--icon-primary);\\n content: \\\"\\\";\\n display: inline-flex;\\n height: 10px;\\n margin-left: 4px;\\n mask-image: url(\\\"../../assets/icons/external.svg\\\");\\n mask-size: cover;\\n width: 10px;\\n}\\n\",\"@use \\\"sass:meta\\\";\\n@use \\\"~@mdn/minimalist/sass/mixins/utils\\\" as *;\\n@use \\\"../../ui/vars\\\" as *;\\n@use \\\"../../ui/atoms/button\\\";\\n@use \\\"../../ui/atoms/icon\\\";\\n\\n@include meta.load-css(\\\"global\\\");\\n\\n// Style for mobile *and* desktop.\\n\\ntable {\\n display: grid;\\n grid-auto-flow: row dense;\\n\\n thead {\\n tr {\\n display: contents;\\n\\n th,\\n td {\\n display: grid;\\n grid-template-columns: subgrid;\\n }\\n }\\n }\\n\\n tbody {\\n display: contents;\\n\\n tr {\\n display: contents;\\n\\n th,\\n td {\\n display: contents;\\n\\n button {\\n display: grid;\\n grid-template-columns: subgrid;\\n }\\n\\n .timeline {\\n grid-column: 1 / -1;\\n }\\n }\\n }\\n }\\n}\\n\\n.bc-on-github {\\n font-size: var(--type-smaller-font-size);\\n}\\n\\n.bc-table {\\n border: 1px solid var(--border-primary);\\n border-collapse: separate;\\n border-radius: var(--elem-radius);\\n border-spacing: 0;\\n margin: 0;\\n width: 100%;\\n\\n td,\\n th {\\n border: 1px solid var(--border-secondary);\\n border-width: 0 0 1px 1px;\\n\\n font-size: var(--type-smaller-font-size);\\n font-weight: 500;\\n padding: 0;\\n padding: 0.4rem;\\n\\n code {\\n font-size: var(--type-smaller-font-size);\\n }\\n }\\n\\n th {\\n background: var(--background-primary);\\n padding: 0.4rem;\\n vertical-align: bottom;\\n }\\n\\n thead {\\n line-height: 1;\\n white-space: nowrap;\\n }\\n\\n // these props allow us to add border-radius to the table.\\n // border-collapse: separate gets in the way of this\\n // being easy.\\n tbody {\\n tr {\\n height: 3rem;\\n\\n @media (min-width: $screen-sm) {\\n &:last-child {\\n th,\\n td {\\n border-bottom-width: 0;\\n }\\n }\\n }\\n\\n th {\\n border-left-width: 0;\\n vertical-align: middle;\\n }\\n }\\n\\n .bc-support {\\n vertical-align: top;\\n\\n button {\\n cursor: pointer;\\n width: 100%;\\n }\\n\\n &.bc-supports-no > button > span {\\n color: var(--text-primary-red);\\n }\\n\\n &.bc-supports-partial > button > span {\\n color: var(--text-primary-yellow);\\n }\\n\\n &.bc-supports-preview > button > span {\\n color: var(--text-primary-blue);\\n }\\n\\n &.bc-supports-yes > button > span {\\n color: var(--text-primary-green);\\n }\\n }\\n }\\n\\n .bc-supports {\\n margin-bottom: 1rem;\\n\\n .icon-wrap {\\n background: var(--background-primary);\\n }\\n }\\n\\n .bc-supports.bc-supports-removed-partial {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-yellow);\\n }\\n }\\n\\n .icon-wrap {\\n .bc-support-level {\\n @include visually-hidden;\\n }\\n }\\n\\n .bc-support {\\n > button > .icon-wrap {\\n display: block;\\n }\\n\\n .icon.icon-removed-partial {\\n background-color: var(--icon-critical);\\n // override icon\\n mask-image: url(\\\"../../assets/icons/no.svg\\\");\\n }\\n\\n .timeline .icon.icon-removed-partial {\\n background-color: var(--icon-primary);\\n mask-image: url(\\\"../../assets/icons/partial.svg\\\");\\n }\\n }\\n\\n .bc-support.bc-supports-removed-partial {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-red);\\n }\\n }\\n\\n .bc-feature {\\n align-items: center;\\n border: none;\\n display: flex;\\n text-align: left;\\n width: 100%;\\n\\n > * {\\n border: none !important;\\n flex-basis: max-content;\\n }\\n }\\n\\n .bc-feature-depth-2 {\\n border-left: 7px solid var(--border-primary);\\n }\\n\\n .bc-feature-depth-3 {\\n border-left: 15px solid var(--border-primary);\\n }\\n\\n .timeline {\\n display: none;\\n }\\n\\n .bc-has-history:focus-within .timeline {\\n display: initial;\\n }\\n}\\n\\n.bc-head-txt-label {\\n line-height: 1;\\n text-orientation: sideways;\\n transform: rotate(180deg);\\n white-space: nowrap;\\n writing-mode: vertical-rl;\\n}\\n\\n.bc-support {\\n text-align: center;\\n vertical-align: middle;\\n}\\n\\n.bc-level-no {\\n background-color: var(--icon-critical);\\n}\\n\\n.bc-level-preview {\\n background-color: var(--icon-information);\\n}\\n\\n.bc-legend-items-container {\\n display: flex;\\n flex-wrap: wrap;\\n font-size: var(--type-smaller-font-size);\\n gap: 1.5rem;\\n margin-bottom: 2rem;\\n}\\n\\n.bc-legend-tip {\\n font-size: var(--type-smaller-font-size);\\n font-style: italic;\\n font-variation-settings: \\\"slnt\\\" -10;\\n margin-bottom: 1rem;\\n margin-top: 0;\\n}\\n\\n.bc-legend-item {\\n align-items: center;\\n display: flex;\\n gap: 0.5rem;\\n}\\n\\n.bc-legend-item-dt {\\n display: flex;\\n\\n .icon {\\n background-color: var(--icon-primary);\\n }\\n}\\n\\n// Row with desktop / mobile icons.\\n.bc-platforms {\\n th {\\n align-items: center;\\n display: flex;\\n justify-content: center;\\n }\\n\\n td {\\n border: none;\\n }\\n}\\n\\n// Row with browser names.\\n.bc-browsers {\\n th {\\n align-items: center;\\n display: flex;\\n flex-direction: column;\\n gap: 0.25rem;\\n justify-content: end;\\n vertical-align: bottom;\\n }\\n\\n td {\\n border-width: 0 0 1px;\\n }\\n}\\n\\n.bc-notes-list {\\n margin: 0.5rem 0;\\n position: relative;\\n text-align: left;\\n width: 100%;\\n\\n &:before {\\n background: var(--border-primary);\\n content: \\\"\\\";\\n height: calc(100% - 0.25rem);\\n left: 7px;\\n margin-top: 0.25rem;\\n position: absolute;\\n width: 2px;\\n z-index: -1;\\n }\\n\\n // complicated selector to cover the last bit of the grey line above.\\n .bc-notes-wrapper:last-child dd:last-child {\\n position: relative;\\n\\n &:before {\\n background: var(--background-primary);\\n bottom: 0;\\n content: \\\"\\\";\\n height: calc(100% - 6px);\\n left: 7px;\\n position: absolute;\\n width: 2px;\\n z-index: -1;\\n }\\n }\\n\\n .bc-level-yes.icon.icon-yes {\\n // override icon\\n background-color: var(--icon-success);\\n mask-image: url(\\\"../../assets/icons/yes-circle.svg\\\");\\n }\\n\\n .bc-supports-dd {\\n .icon {\\n background: var(--border-primary);\\n border: 3px solid var(--background-primary);\\n border-radius: 50%;\\n mask-image: none;\\n }\\n }\\n\\n .bc-version-label {\\n display: inline;\\n }\\n\\n abbr {\\n margin-right: 4px;\\n text-decoration: none;\\n }\\n\\n dd {\\n margin-bottom: 1rem;\\n padding-left: 1.5rem;\\n text-indent: -1.5rem;\\n\\n &:last-child {\\n margin-bottom: 2rem;\\n }\\n }\\n}\\n\\n.bc-notes-wrapper {\\n color: var(--text-primary);\\n margin-bottom: 1rem;\\n\\n &:last-child {\\n margin-bottom: 0;\\n }\\n}\\n\\ndl.bc-notes-list {\\n dt.bc-supports {\\n margin-top: 1rem;\\n\\n &:first-child {\\n margin-top: 0;\\n }\\n }\\n\\n dd.bc-supports-dd {\\n margin-bottom: 1rem;\\n\\n &:last-child {\\n margin-bottom: 0;\\n }\\n }\\n}\\n\\n.only-icon span {\\n @include visually-hidden();\\n}\\n\\n.bc-table-row-header {\\n padding: 0.25em;\\n text-align: left;\\n width: 100%;\\n\\n code {\\n overflow: hidden;\\n }\\n\\n .bc-icons {\\n display: inline-flex;\\n gap: 0.5ch;\\n margin-left: 0.5ch;\\n vertical-align: text-top;\\n\\n .icon {\\n background-color: var(--icon-secondary);\\n\\n &:hover {\\n background-color: var(--icon-primary);\\n }\\n }\\n }\\n}\\n\\n.bc-github-link {\\n font: var(--type-smaller-font-size);\\n}\\n\\n.main-page-content {\\n .bc-legend {\\n dd,\\n dt {\\n margin-bottom: 0;\\n margin-left: 0;\\n margin-top: 0;\\n }\\n }\\n\\n .bc-supports-dd {\\n margin: 0;\\n }\\n}\\n\\n@include meta.load-css(\\\"index-mobile\\\");\\n@include meta.load-css(\\\"index-desktop\\\");\\n@include meta.load-css(\\\"index-desktop-md\\\");\\n@include meta.load-css(\\\"index-desktop-xl\\\");\\n\\n.bcd-cell-text-wrapper {\\n display: flex;\\n flex-direction: row;\\n gap: 0.5rem;\\n\\n @media (min-width: $screen-sm) {\\n align-items: center;\\n flex-direction: column;\\n }\\n}\\n\\n.bcd-timeline-cell-text-wrapper {\\n display: flex;\\n flex-direction: row;\\n gap: 0.25rem;\\n}\\n\\n.bcd-cell-text-copy {\\n color: var(--text-primary);\\n}\\n\\n.bc-supports-yes {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-green);\\n }\\n}\\n\\n.bc-supports-partial {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-yellow);\\n }\\n}\\n\\n.bc-supports-no {\\n .bcd-cell-text-copy {\\n color: var(--text-primary-red);\\n }\\n}\\n\\n.bcd-cell-icons {\\n display: flex;\\n gap: 0.5rem;\\n\\n @media (min-width: $screen-sm) {\\n display: block;\\n }\\n}\\n\\n@media (min-width: $screen-sm) {\\n .bc-table {\\n td.bc-support > button {\\n padding-bottom: calc(0.5rem + var(--padding-bottom-offset, 0px));\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n padding-top: 0.5rem;\\n }\\n }\\n}\\n\",\"@use \\\"../vars/\\\" as *;\\n\\n/* Used with flexbox and grid. The new syntax is to use `gap`, but here\\n we also provide the fallback of `grid-gap`. This is also why we need\\n the stylelint-disable-line as the order is important */\\n@mixin gap($width: $base-spacing) {\\n grid-gap: $width;\\n gap: $width; /* stylelint-disable-line order/properties-alphabetical-order */\\n}\\n\\n/*\\n * A simply utility for setting a max width on an element that constrains its\\n * width to what is commonly known to be a readable line length for prose.\\n */\\n@mixin readable-line-length() {\\n max-width: $max-line-length-fallback;\\n max-width: 85ch;\\n}\\n\\n/* \\n * Hide an element visually, but not from screen readers\\n * Use this mixin sparingly to avoid unnecessary code bloat\\n * Instead, use the class `visually-hidden` directly on the\\n * relevant element or component.\\n */\\n@mixin visually-hidden {\\n border: 0;\\n clip: rect(0 0 0 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n /* !important required to ensure element is hidden when mixin is applied */\\n position: absolute !important; /* stylelint-disable-line declaration-no-important */\\n width: 1px;\\n}\\n\\n@mixin reset-visually-hidden {\\n border: inherit;\\n clip: inherit;\\n height: inherit;\\n margin: inherit;\\n overflow: inherit;\\n padding: inherit;\\n position: inherit !important; /* stylelint-disable-line declaration-no-important */\\n width: inherit;\\n}\\n\\n/* A common reset for `ol` and `ul` elements */\\n@mixin reset-list() {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n@mixin caret-arrow($color, $direction: right, $size: 6px, $thickness: 2px) {\\n border: solid $color;\\n border-width: 0 $thickness $thickness 0;\\n content: \\\"\\\";\\n display: inline-block;\\n height: $size;\\n width: $size;\\n\\n /* stylelint-disable block-closing-brace-newline-after */\\n @if ($direction == up) {\\n transform: rotate(-135deg);\\n } @else if ($direction == left) {\\n transform: rotate(135deg);\\n } @else if ($direction == down) {\\n transform: rotate(45deg);\\n } @else if ($direction == right) {\\n transform: rotate(-45deg);\\n }\\n}\\n\",\"@use \\\"../../ui/vars\\\" as *;\\n\\n// Style for mobile.\\n\\n@media (max-width: #{$screen-sm - 0.02}) {\\n .bc-table {\\n grid-template-columns: auto;\\n\\n thead {\\n display: none;\\n }\\n\\n tr {\\n td.bc-support {\\n border: none;\\n border-top: 1px solid var(--border-primary);\\n display: block;\\n\\n &:last-child {\\n border-bottom: 1px solid var(--border-primary);\\n }\\n }\\n }\\n\\n .timeline {\\n // Align timeline icons with summary icon.\\n margin-left: 0.25rem;\\n }\\n\\n tr:not(:first-of-type) .bc-feature {\\n // Feature separator.\\n border-top: 2px solid var(--border-primary);\\n }\\n\\n .bc-feature,\\n .bc-support > button {\\n align-content: center;\\n display: flex;\\n flex-wrap: wrap;\\n gap: 0.5rem;\\n }\\n }\\n\\n .bc-on-github a {\\n white-space: nowrap;\\n }\\n\\n .table-container {\\n overflow-x: auto;\\n }\\n}\\n\",\"@use \\\"../../ui/vars\\\" as *;\\n\\n// Style for desktop.\\n\\n@media (min-width: $screen-sm) {\\n .bc-table {\\n // Expand all columns.\\n grid-template-columns: minmax(20vw, min-content) repeat(\\n var(--browser-count),\\n auto\\n );\\n\\n thead {\\n display: contents;\\n\\n .bc-platforms {\\n th {\\n vertical-align: revert;\\n }\\n }\\n }\\n\\n tbody {\\n --border: 1px solid var(--border-secondary);\\n\\n // Border.\\n tr {\\n &:not(:first-child) {\\n th,\\n td {\\n > * {\\n border-top: var(--border);\\n }\\n }\\n\\n .bc-feature {\\n border-top: var(--border);\\n }\\n }\\n\\n th:not(:first-child),\\n td:not(:first-child) {\\n > * {\\n border-left: var(--border);\\n }\\n }\\n }\\n }\\n\\n td,\\n th {\\n background: inherit;\\n padding: 0.25rem;\\n }\\n\\n td.bc-support {\\n padding: 0;\\n\\n > button {\\n padding: 0.25rem;\\n }\\n }\\n\\n .timeline {\\n border-left: none !important;\\n border-top: var(--border);\\n }\\n\\n .bc-has-history:focus-within > button {\\n // Highlight expanded item.\\n --padding-bottom-offset: -2px;\\n border-bottom: 2px solid var(--text-primary);\\n }\\n }\\n\\n .table-container {\\n margin: 0 -3rem;\\n overflow: auto;\\n width: 100vw;\\n }\\n\\n .table-container-inner {\\n min-width: max-content;\\n padding: 0 3rem;\\n position: relative;\\n\\n &:after {\\n bottom: 0;\\n content: \\\"\\\";\\n height: 10px;\\n position: absolute;\\n right: 0;\\n width: 10px;\\n }\\n }\\n\\n .bcd-cell-text-wrapper {\\n .bc-support-level,\\n .bc-browser-name {\\n display: none;\\n }\\n }\\n\\n .bc-notes-list {\\n margin-left: 20%;\\n max-width: 80vw;\\n width: auto;\\n }\\n\\n .bc-support {\\n .bc-support-level {\\n display: none;\\n }\\n }\\n\\n .bc-has-history {\\n cursor: pointer;\\n\\n > button:hover {\\n background: var(--background-secondary);\\n }\\n }\\n}\\n\",\"@use \\\"../../ui/vars\\\" as *;\\n\\n@media (min-width: $screen-md) {\\n .table-container {\\n width: calc(100% + 6rem);\\n }\\n\\n .table-container-inner {\\n min-width: initial;\\n }\\n\\n .bc-on-github {\\n text-align: right;\\n }\\n\\n .bc-table {\\n // 25% for feature, 75% for browser columns.\\n grid-template-columns: minmax(25%, max-content) repeat(\\n var(--browser-count),\\n calc(75% / var(--browser-count))\\n );\\n }\\n\\n .icon {\\n // Workaround for Icons being cut by 1px at the top.\\n --size: calc(1rem + 1px);\\n }\\n}\\n\",\"@use \\\"../../ui/vars\\\" as *;\\n\\n@media (min-width: $screen-xl) {\\n .table-container {\\n margin: 0;\\n width: 100%;\\n }\\n\\n .table-container-inner {\\n padding: 0;\\n }\\n\\n .bc-table {\\n // 33% for feature, 67% for browser columns.\\n grid-template-columns: minmax(33%, max-content) repeat(\\n var(--browser-count),\\n calc(67% / var(--browser-count))\\n );\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nvar ___CSS_LOADER_STYLE_SHEET___ = new CSSStyleSheet();\n___CSS_LOADER_STYLE_SHEET___.replaceSync(___CSS_LOADER_EXPORT___.toString());\nexport default ___CSS_LOADER_STYLE_SHEET___;\n","import{notEqual as t}from\"@lit/reactive-element\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},i=Symbol();class h{get taskComplete(){return this.t||(1===this.i?this.t=new Promise(((t,s)=>{this.o=t,this.h=s})):3===this.i?this.t=Promise.reject(this.l):this.t=Promise.resolve(this.u)),this.t}constructor(t,s,i){this.p=0,this.i=0,(this._=t).addController(this);const h=\"object\"==typeof s?s:{task:s,args:i};this.v=h.task,this.j=h.args,this.m=h.argsEqual??r,this.k=h.onComplete,this.A=h.onError,this.autoRun=h.autoRun??!0,\"initialValue\"in h&&(this.u=h.initialValue,this.i=2,this.O=this.T?.())}hostUpdate(){!0===this.autoRun&&this.S()}hostUpdated(){\"afterUpdate\"===this.autoRun&&this.S()}T(){if(void 0===this.j)return;const t=this.j();if(!Array.isArray(t))throw Error(\"The args function must return an array\");return t}async S(){const t=this.T(),s=this.O;this.O=t,t===s||void 0===t||void 0!==s&&this.m(s,t)||await this.run(t)}async run(t){let s,h;t??=this.T(),this.O=t,1===this.i?this.q?.abort():(this.t=void 0,this.o=void 0,this.h=void 0),this.i=1,\"afterUpdate\"===this.autoRun?queueMicrotask((()=>this._.requestUpdate())):this._.requestUpdate();const r=++this.p;this.q=new AbortController;let e=!1;try{s=await this.v(t,{signal:this.q.signal})}catch(t){e=!0,h=t}if(this.p===r){if(s===i)this.i=0;else{if(!1===e){try{this.k?.(s)}catch{}this.i=2,this.o?.(s)}else{try{this.A?.(h)}catch{}this.i=3,this.h?.(h)}this.u=s,this.l=h}this._.requestUpdate()}}abort(t){1===this.i&&this.q?.abort(t)}get value(){return this.u}get error(){return this.l}get status(){return this.i}render(t){switch(this.i){case 0:return t.initial?.();case 1:return t.pending?.();case 2:return t.complete?.(this.value);case 3:return t.error?.(this.error);default:throw Error(\"Unexpected status: \"+this.i)}}}const r=(s,i)=>s===i||s.length===i.length&&s.every(((s,h)=>!t(s,i[h])));export{h as Task,s as TaskStatus,i as initialState,r as shallowArrayEquals};\n//# sourceMappingURL=task.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,d=o=>void 0!==o?._$litDirective$,c=o=>o?._$litDirective$,f=o=>void 0===o.strings,r=()=>document.createComment(\"\"),s=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(r(),l),d=e.insertBefore(r(),l);n=new t(i,d,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,d=i!==o;if(d){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||d){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AR(),o._$AA.remove()},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,c as getDirectiveClass,s as insertPart,l as isCompiledTemplateResult,d as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","/**\n * @import { SimpleSupportStatement, VersionValue, CompatStatement, Identifier, SupportStatement, BrowserStatement } from \"@mdn/browser-compat-data/types\"\n * @import { SupportStatementExtended, SimpleSupportStatementExtended } from \"./types\"\n */\n\n/**\n */\n\n/**\n * @typedef {Object} Feature\n * @property {string} name\n * @property {CompatStatement} compat\n * @property {number} depth\n */\n\n/**\n * A list of browsers to be hidden.\n * @constant {string[]}\n */\nexport const HIDDEN_BROWSERS = [\"ie\"];\n\n/**\n * Gets the first element of an array or returns the value itself.\n *\n * @template T\n * @param {T | [T?, ...any[]]} a\n * @returns {T | undefined}\n */\nexport function getFirst(a) {\n return Array.isArray(a) ? a[0] : a;\n}\n\n/**\n * Ensures the input is returned as an array.\n *\n * @template T\n * @param {T | T[]} a\n * @returns {T[]}\n */\nexport function asList(a) {\n return Array.isArray(a) ? a : [a];\n}\n\n/**\n * Finds the first compatibility depth in a BCD Identifier.\n *\n * @param {Identifier} identifier\n * @returns {number}\n */\nfunction findFirstCompatDepth(identifier) {\n /** @type {Array<[string, Identifier]>} */\n const entries = [[\"\", identifier]];\n\n do {\n const entry = entries.shift();\n if (!entry) {\n break;\n }\n const [path, value] = entry;\n if (value.__compat) {\n // The depth is the number of segments in the path.\n return path.split(\".\").length;\n }\n\n for (const [key, subvalue] of Object.entries(value)) {\n const subpath = path ? `${path}.${key}` : key;\n if (\"__compat\" in subvalue) {\n entries.push([subpath, subvalue]);\n }\n }\n } while (entries.length);\n\n // Fallback.\n return 0;\n}\n\n/**\n * Recursively lists features from a BCD Identifier.\n *\n * @param {Identifier} identifier\n * @param {string} [parentName=\"\"]\n * @param {string} [rootName=\"\"]\n * @param {number} [depth=0]\n * @param {number} [firstCompatDepth=0]\n * @returns {Feature[]}\n */\nexport function listFeatures(\n identifier,\n parentName = \"\",\n rootName = \"\",\n depth = 0,\n firstCompatDepth = 0\n) {\n /** @type {Feature[]} */\n const features = [];\n\n if (rootName && identifier.__compat) {\n features.push({\n name: rootName,\n compat: identifier.__compat,\n depth,\n });\n }\n\n if (rootName) {\n firstCompatDepth = findFirstCompatDepth(identifier);\n }\n\n for (const [subName, subIdentifier] of Object.entries(identifier)) {\n if (subName === \"__compat\") {\n continue;\n }\n\n if (\"__compat\" in subIdentifier && subIdentifier.__compat) {\n features.push({\n name: parentName ? `${parentName}.${subName}` : subName,\n compat: subIdentifier.__compat,\n depth: depth + 1,\n });\n }\n\n if (\"__compat\" in subIdentifier /* || depth + 1 < firstCompatDepth*/) {\n features.push(\n ...listFeatures(subIdentifier, subName, \"\", depth + 1, firstCompatDepth)\n );\n }\n }\n return features;\n}\n\n/**\n * Checks if the support statement is an array with more than one item.\n *\n * @param {SupportStatement | undefined} support\n * @returns {boolean}\n */\nexport function hasMore(support) {\n return Array.isArray(support) && support.length > 1;\n}\n\n/**\n * Determines if a version is a preview version.\n *\n * @param {string | VersionValue | undefined} version\n * @param {BrowserStatement} browser\n * @returns {boolean}\n */\nexport function versionIsPreview(version, browser) {\n if (version === \"preview\") {\n return true;\n }\n\n if (browser && typeof version === \"string\" && browser.releases[version]) {\n return [\"beta\", \"nightly\", \"planned\"].includes(\n browser.releases[version].status\n );\n }\n\n return false;\n}\n\n/**\n * Checks if the support statement has noteworthy notes.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function hasNoteworthyNotes(support) {\n return (\n !!(\n (support.notes && support.notes.length) ||\n (support.impl_url && support.impl_url.length)\n ) &&\n !support.version_removed &&\n !support.partial_implementation\n );\n}\n\n/**\n * Converts a bug URL to a simplified string.\n *\n * @param {string} url\n * @returns {string}\n */\nexport function bugURLToString(url) {\n const match = url.match(\n /^https:\\/\\/(?:crbug\\.com|webkit\\.org\\/b|bugzil\\.la)\\/([0-9]+)/i\n );\n const bugNumber = match ? match[1] : null;\n return bugNumber ? `bug ${bugNumber}` : url;\n}\n\n/**\n * Checks if a support statement has any limitation.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction hasLimitation(support) {\n return hasMajorLimitation(support) || !!support.notes || !!support.impl_url;\n}\n\n/**\n * Checks if a support statement has major limitations.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction hasMajorLimitation(support) {\n return (\n support.partial_implementation ||\n !!support.alternative_name ||\n !!support.flags ||\n !!support.prefix ||\n !!support.version_removed\n );\n}\n\n/**\n * Checks if a support statement is fully supported without any limitation.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function isFullySupportedWithoutLimitation(support) {\n return !!support.version_added && !hasLimitation(support);\n}\n\n/**\n * Checks if a support statement is not supported at all.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nexport function isNotSupportedAtAll(support) {\n return support.version_added === false && !hasLimitation(support);\n}\n\n/**\n * Checks if a support statement is fully supported without major limitations.\n *\n * @param {SimpleSupportStatement} support\n * @returns {boolean}\n */\nfunction isFullySupportedWithoutMajorLimitation(support) {\n return !!support.version_added && !hasMajorLimitation(support);\n}\n\n/**\n * Gets the current support statement from a support statement extended.\n *\n * Prioritizes support items in the following order:\n * 1. Full support without limitation.\n * 2. Full support with only notes and version_added.\n * 3. Full support with alternative name or prefix.\n * 4. Partial support.\n * 5. Support with flags only.\n * 6. No/Inactive support.\n *\n * @param {SupportStatementExtended | undefined} support\n * @returns {SimpleSupportStatementExtended | undefined}\n */\nexport function getCurrentSupport(support) {\n if (!support) return undefined;\n\n // Full support without limitation.\n const noLimitationSupportItem = asList(support).find((item) =>\n isFullySupportedWithoutLimitation(item)\n );\n if (noLimitationSupportItem) return noLimitationSupportItem;\n\n // Full support with only notes and version_added.\n const minorLimitationSupportItem = asList(support).find((item) =>\n isFullySupportedWithoutMajorLimitation(item)\n );\n if (minorLimitationSupportItem) return minorLimitationSupportItem;\n\n // Full support with alternative name/prefix.\n const altnamePrefixSupportItem = asList(support).find(\n (item) => !item.version_removed && (item.prefix || item.alternative_name)\n );\n if (altnamePrefixSupportItem) return altnamePrefixSupportItem;\n\n // Partial support.\n const partialSupportItem = asList(support).find(\n (item) => !item.version_removed && item.partial_implementation\n );\n if (partialSupportItem) return partialSupportItem;\n\n // Support with flags only.\n const flagSupportItem = asList(support).find(\n (item) => !item.version_removed && item.flags\n );\n if (flagSupportItem) return flagSupportItem;\n\n // No/Inactive support.\n const noSupportItem = asList(support).find((item) => item.version_removed);\n if (noSupportItem) return noSupportItem;\n\n // Default (likely never reached).\n return getFirst(support);\n}\n","import {\n HIDDEN_BROWSERS,\n asList,\n getFirst,\n hasMore,\n hasNoteworthyNotes,\n listFeatures,\n versionIsPreview,\n} from \"./utils.js\";\n\n/**\n * @import { BrowserName, Browsers, Identifier } from \"@mdn/browser-compat-data/types\"\n * @typedef {\"yes\" | \"partial\" | \"preview\" | \"no\" | \"unknown\" | \"experimental\" | \"nonstandard\" | \"deprecated\" | \"footnote\" | \"disabled\" | \"altname\" | \"prefix\" | \"more\"} LegendKey\n */\n\n/**\n * Legend labels which also specifies the order in which the legend appears.\n * @type {Record<LegendKey, string>}\n */\nexport const LEGEND_LABELS = {\n yes: \"Full support\",\n partial: \"Partial support\",\n preview: \"In development. Supported in a pre-release version.\",\n no: \"No support\",\n unknown: \"Compatibility unknown\",\n experimental: \"Experimental. Expect behavior to change in the future.\",\n nonstandard: \"Non-standard. Check cross-browser support before using.\",\n deprecated: \"Deprecated. Not for use in new websites.\",\n footnote: \"See implementation notes.\",\n disabled: \"User must explicitly enable this feature.\",\n altname: \"Uses a non-standard name.\",\n prefix: \"Requires a vendor prefix or different name for use.\",\n more: \"Has more compatibility info.\",\n};\n\n/**\n * Gets the active legend items based on browser compatibility data.\n *\n * @param {Identifier} compat - The compatibility data identifier.\n * @param {string} name - The name of the feature.\n * @param {Browsers} browserInfo - Information about browsers.\n * @param {BrowserName[]} browsers - The list of displayed browsers.\n * @returns {Array<[LegendKey, string]>} An array of legend item entries, where each entry is a tuple of the legend key and its label.\n */\nexport function getActiveLegendItems(compat, name, browserInfo, browsers) {\n /** @type {Set<LegendKey>} */\n const legendItems = new Set();\n\n for (const feature of listFeatures(compat, \"\", name)) {\n const { status } = feature.compat;\n\n if (status) {\n if (status.experimental) {\n legendItems.add(\"experimental\");\n }\n if (status.deprecated) {\n legendItems.add(\"deprecated\");\n }\n if (!status.standard_track) {\n legendItems.add(\"nonstandard\");\n }\n }\n\n for (const browser of browsers) {\n const browserSupport = feature.compat.support[browser] ?? {\n version_added: null,\n };\n\n if (HIDDEN_BROWSERS.includes(browser)) {\n continue;\n }\n\n const firstSupportItem = getFirst(browserSupport);\n if (firstSupportItem && hasNoteworthyNotes(firstSupportItem)) {\n legendItems.add(\"footnote\");\n }\n\n for (const versionSupport of asList(browserSupport)) {\n if (versionSupport.version_added) {\n if (versionSupport.flags && versionSupport.flags.length) {\n legendItems.add(\"no\");\n } else if (\n versionIsPreview(versionSupport.version_added, browserInfo[browser])\n ) {\n legendItems.add(\"preview\");\n } else {\n legendItems.add(\"yes\");\n }\n } else if (versionSupport.version_added == null) {\n legendItems.add(\"unknown\");\n } else {\n legendItems.add(\"no\");\n }\n\n if (versionSupport.partial_implementation) {\n legendItems.add(\"partial\");\n }\n if (versionSupport.prefix) {\n legendItems.add(\"prefix\");\n }\n if (versionSupport.alternative_name) {\n legendItems.add(\"altname\");\n }\n if (versionSupport.flags) {\n legendItems.add(\"disabled\");\n }\n }\n\n if (hasMore(browserSupport)) {\n legendItems.add(\"more\");\n }\n }\n }\n\n const keys = /** @type {LegendKey[]} */ (Object.keys(LEGEND_LABELS));\n\n return keys\n .filter((key) => legendItems.has(key))\n .map(\n /**\n * @param {LegendKey} key\n */\n (key) => [key, LEGEND_LABELS[key]]\n );\n}\n","import { getCurrentSupport, versionIsPreview } from \"./utils.js\";\nimport { html } from \"lit\";\n\n/**\n * @import { BrowserStatement } from \"@mdn/browser-compat-data/types\"\n * @import { SupportStatementExtended } from \"./types\"\n * @typedef {\"no\"|\"yes\"|\"partial\"|\"preview\"|\"removed-partial\"|\"unknown\"} SupportClassName\n */\n\n/**\n * Returns a CSS class name based on support data and the browser.\n *\n * @param {SupportStatementExtended|undefined} support - The extended support statement.\n * @param {BrowserStatement} browser - The browser statement.\n * @returns {SupportClassName}\n */\nexport function getSupportClassName(support, browser) {\n if (!support) {\n return \"unknown\";\n }\n\n const currentSupport = getCurrentSupport(support);\n if (!currentSupport) {\n return \"unknown\";\n }\n const { flags, version_added, version_removed, partial_implementation } =\n currentSupport;\n\n /** @type {SupportClassName} */\n let className;\n if (version_added === null) {\n className = \"unknown\";\n } else if (versionIsPreview(version_added, browser)) {\n className = \"preview\";\n } else if (version_added) {\n className = \"yes\";\n if (version_removed || (flags && flags.length)) {\n className = \"no\";\n }\n } else {\n className = \"no\";\n }\n if (partial_implementation) {\n className = version_removed ? \"removed-partial\" : \"partial\";\n }\n\n return className;\n}\n\n/**\n * Returns a label string derived from a version value.\n *\n * @param {string|boolean|null|undefined} version - The version value.\n * @param {BrowserStatement} browser - The browser statement.\n * @returns {string} The resulting label.\n */\nexport function labelFromString(version, browser) {\n if (typeof version !== \"string\") {\n return \"?\";\n }\n if (version === \"preview\") {\n return browser.preview_name ?? \"Preview\";\n }\n // Treat BCD ranges as exact versions to avoid confusion for the reader\n // See https://github.com/mdn/yari/issues/3238\n if (version.startsWith(\"≤\")) {\n version = version.slice(1);\n }\n // New: Omit trailing \".0\".\n version = version.replace(/(\\.0)+$/g, \"\");\n\n return version;\n}\n\n/**\n * Generates a version label from added and removed support data.\n *\n * @param {string|boolean|null|undefined} added - The added version.\n * @param {string|boolean|null|undefined} removed - The removed version.\n * @param {BrowserStatement} browser - The browser statement.\n * @returns {import(\"lit\").TemplateResult} A lit-html template result representing the version label.\n */\nexport function versionLabelFromSupport(added, removed, browser) {\n if (typeof removed !== \"string\") {\n return html`${labelFromString(added, browser)}`;\n }\n return html`${labelFromString(\n added,\n browser\n )}&#8202;&ndash;&#8202;${labelFromString(removed, browser)}`;\n}\n\n/**\n * Retrieves the browser release date from a support statement.\n *\n * @param {SupportStatementExtended|undefined} support - The extended support statement.\n * @returns {string|undefined} The release date if available.\n */\nexport function getSupportBrowserReleaseDate(support) {\n if (!support) {\n return undefined;\n }\n\n return getCurrentSupport(support)?.release_date;\n}\n","/**\n * @import { LitElement } from \"lit\";\n * @import { Ref } from \"lit/directives/ref\"\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(\n host,\n target,\n callback,\n intersectionObserverOptions = {\n threshold: 0.5,\n }\n ) {\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 = !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 console.error(\"[ViewedController] Target not found\");\n } else {\n this._observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) =>\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=false]\n */\n _checkAndSetTimer(isIntersecting = false) {\n if (!this._hasViewed && this._visible && isIntersecting) {\n if (this._timer === null) {\n this._timer = window.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 { html, LitElement } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\n\nimport { getActiveLegendItems } from \"./legend.js\";\nimport {\n asList,\n bugURLToString,\n getCurrentSupport,\n hasMore,\n hasNoteworthyNotes,\n HIDDEN_BROWSERS,\n isFullySupportedWithoutLimitation,\n isNotSupportedAtAll,\n listFeatures,\n versionIsPreview,\n} from \"./utils.js\";\n\nimport styles from \"./index.scss?css\" with { type: \"css\" };\nimport { DEFAULT_LOCALE } from \"../../../../libs/constants/index.js\";\nimport { BCD_TABLE } from \"../../telemetry/constants.ts\";\nimport {\n getSupportBrowserReleaseDate,\n getSupportClassName,\n labelFromString,\n versionLabelFromSupport,\n} from \"./feature-row.js\";\nimport { GleanMixin } from \"../glean-mixin.js\";\nimport \"../viewed-controller.js\";\nimport { ViewedController } from \"../viewed-controller.js\";\n\n/**\n * @import { TemplateResult } from \"lit\"\n * @import { BrowserName, BrowserStatement, SupportStatement, Browsers, Identifier, StatusBlock } from \"@mdn/browser-compat-data/types\"\n * @typedef {{ title: string, text: string, iconClassName: string }} StatusIcon\n */\n\nconst ISSUE_METADATA_TEMPLATE = `\n<!-- Do not make changes below this line -->\n<details>\n<summary>MDN page report details</summary>\n\n* Query: \\`$QUERY_ID\\`\n* Report started: $DATE\n\n</details>\n`;\n\n/**\n * @param {BrowserName} browser\n * @returns {string}\n */\nfunction browserToIconName(browser) {\n if (browser.startsWith(\"firefox\")) {\n return \"simple-firefox\";\n } else if (browser === \"webview_android\") {\n return \"webview\";\n } else if (browser === \"webview_ios\") {\n return \"safari\";\n } else {\n return browser.split(\"_\")[0] ?? \"\";\n }\n}\n\n// Also specifies the order in which the legend\n/**\n * @type {Record<string, string>}\n */\nexport const LEGEND_LABELS = {\n yes: \"Full support\",\n partial: \"Partial support\",\n preview: \"In development. Supported in a pre-release version.\",\n no: \"No support\",\n unknown: \"Compatibility unknown\",\n experimental: \"Experimental. Expect behavior to change in the future.\",\n nonstandard: \"Non-standard. Check cross-browser support before using.\",\n deprecated: \"Deprecated. Not for use in new websites.\",\n footnote: \"See implementation notes.\",\n disabled: \"User must explicitly enable this feature.\",\n altname: \"Uses a non-standard name.\",\n prefix: \"Requires a vendor prefix or different name for use.\",\n more: \"Has more compatibility info.\",\n};\n\nclass CompatTable extends GleanMixin(LitElement) {\n static properties = {\n query: {},\n locale: {},\n data: {},\n browserInfo: { attribute: \"browserinfo\" },\n _pathname: { state: true },\n _platforms: { state: true },\n _browsers: { state: true },\n };\n\n static styles = styles;\n\n _tableRef = createRef();\n\n constructor() {\n super();\n /** @type {ViewedController} */\n this.viewed = new ViewedController(this, this._tableRef, () =>\n this._gleanClick(`${BCD_TABLE}: view -> ${this.query}`)\n );\n this.query = \"\";\n /** @type {Identifier} */\n this.data = {};\n /** @type {Browsers} */\n // @ts-ignore\n this.browserInfo = {};\n this.locale = \"\";\n this._pathname = \"\";\n /** @type {string[]} */\n this._platforms = [];\n /** @type {BrowserName[]} */\n this._browsers = [];\n }\n\n get _breadcrumbs() {\n return this.query.split(\".\");\n }\n\n get _category() {\n return this._breadcrumbs[0] ?? \"\";\n }\n\n get _name() {\n return this._breadcrumbs.at(-1) ?? \"\";\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._pathname = window.location.pathname;\n [this._platforms, this._browsers] = gatherPlatformsAndBrowsers(\n this._category,\n this.data,\n this.browserInfo\n );\n }\n\n get _issueUrl() {\n const url = \"https://github.com/mdn/browser-compat-data/issues/new\";\n const sp = new URLSearchParams();\n const metadata = ISSUE_METADATA_TEMPLATE.replace(\n /\\$DATE/g,\n new Date().toISOString()\n )\n .replace(/\\$QUERY_ID/g, this.query)\n .trim();\n sp.set(\"mdn-url\", `https://developer.mozilla.org${this._pathname}`);\n sp.set(\"metadata\", metadata);\n sp.set(\"title\", `${this.query} - <SUMMARIZE THE PROBLEM>`);\n sp.set(\"template\", \"data-problem.yml\");\n\n return `${url}?${sp.toString()}`;\n }\n\n _renderIssueLink() {\n const onClick = (/** @type {MouseEvent} */ event) => {\n event.preventDefault();\n window.open(this._issueUrl, \"_blank\", \"noopener,noreferrer\");\n };\n const source_file = this.data.__compat?.source_file;\n return html`<div class=\"bc-on-github\">\n <a\n class=\"bc-github-link external external-icon\"\n href=\"#\"\n @click=${onClick}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=\"Report an issue with this compatibility data\"\n >\n Report problems with this compatibility data</a\n >${source_file\n ? html` •\n <a\n class=\"bc-github-link external external-icon\"\n href=${`https://github.com/mdn/browser-compat-data/tree/main/${source_file}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=${`File: ${source_file}`}\n >\n View data on GitHub\n </a>`\n : null}\n </div>`;\n }\n\n _renderTable() {\n return html`<figure class=\"table-container\">\n <figure class=\"table-container-inner\">\n ${this._renderIssueLink()}\n <table\n ${ref(this._tableRef)}\n class=\"bc-table bc-table-web\"\n style=\"--browser-count: ${Object.keys(this._browsers).length}\"\n >\n ${this._renderTableHeader()} ${this._renderTableBody()}\n </table>\n </figure>\n </figure>`;\n }\n\n _renderTableHeader() {\n return html`<thead>\n ${this._renderPlatformHeaders()} ${this._renderBrowserHeaders()}\n </thead>`;\n }\n\n _renderPlatformHeaders() {\n const platformsWithBrowsers = this._platforms.map((platform) => ({\n platform,\n browsers: this._browsers.filter(\n (browser) => this.browserInfo[browser].type === platform\n ),\n }));\n\n const grid = platformsWithBrowsers.map(({ browsers }) => browsers.length);\n return html`<tr class=\"bc-platforms\">\n <td></td>\n ${platformsWithBrowsers.map(({ platform, browsers }, index) => {\n // Get the intersection of browsers in the `browsers` array and the\n // `PLATFORM_BROWSERS[platform]`.\n const browserCount = browsers.length;\n const cellClass = `bc-platform bc-platform-${platform}`;\n const iconClass = `icon icon-${platform}`;\n\n const columnStart =\n 2 + grid.slice(0, index).reduce((acc, x) => acc + x, 0);\n const columnEnd = columnStart + browserCount;\n return html`<th\n class=${cellClass}\n colspan=${browserCount}\n title=${platform}\n style=\"grid-column: ${columnStart} / ${columnEnd}\"\n >\n <span class=${iconClass}></span>\n <span class=\"visually-hidden\">${platform}</span>\n </th>`;\n })}\n </tr>`;\n }\n\n _renderBrowserHeaders() {\n // <BrowserHeaders>\n return html`<tr class=\"bc-browsers\">\n <td></td>\n ${this._browsers.map(\n (browser) =>\n html`<th class=${`bc-browser bc-browser-${browser}`}>\n <div class=${`bc-head-txt-label bc-head-icon-${browser}`}>\n ${this.browserInfo[browser]?.name}\n </div>\n <div\n class=${`bc-head-icon-symbol icon icon-${browserToIconName(\n browser\n )}`}\n ></div>\n </th>`\n )}\n </tr>`;\n }\n\n _renderTableBody() {\n // <FeatureListAccordion>\n const { data, _browsers: browsers, browserInfo, locale } = this;\n let features = listFeatures(data, \"\", this._name);\n\n const MAX_FEATURES = 100;\n\n // If there are too many features, hide nested features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(({ depth }) => depth < 2);\n }\n\n // If there are still too many features, hide non-standard features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => status?.standard_track\n );\n }\n\n // If there are still too many features, hide deprecated features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => !status?.deprecated\n );\n }\n\n // If there are still too many features, hide experimental features.\n if (features.length > MAX_FEATURES) {\n features = features.filter(\n ({ compat: { status } }) => !status?.experimental\n );\n }\n\n // At this point, we did all we can to reduce the number of features shown.\n if (features.length > MAX_FEATURES) {\n features = features.slice(0, MAX_FEATURES);\n }\n\n return html`<tbody>\n ${features.map((feature) => {\n // <FeatureRow>\n const { name, compat, depth } = feature;\n\n const title = compat.description\n ? html`<span>${unsafeHTML(compat.description)}</span>`\n : html`<code>${name}</code>`;\n\n let titleNode;\n const titleContent = html`${title}${compat.status &&\n this._renderStatusIcons(compat.status)}`;\n if (compat.mdn_url && depth > 0) {\n const href = compat.mdn_url.replace(\n `/${DEFAULT_LOCALE}/docs`,\n `/${locale}/docs`\n );\n titleNode = html`<a\n href=${href}\n class=\"bc-table-row-header\"\n data-glean=${`${BCD_TABLE}: link -> ${href}`}\n >\n ${titleContent}\n </a>`;\n } else {\n titleNode = html`<div class=\"bc-table-row-header\">\n ${titleContent}\n </div>`;\n }\n\n const handleMousedown = (/** @type {MouseEvent} */ event) => {\n // Blur active element if already focused.\n const activeElement = this.shadowRoot?.activeElement;\n const { currentTarget } = event;\n\n if (\n activeElement instanceof HTMLElement &&\n currentTarget instanceof HTMLElement\n ) {\n const activeCell = activeElement.closest(\"td\");\n const currentCell = currentTarget.closest(\"td\");\n\n if (activeCell === currentCell) {\n activeElement.blur();\n event.preventDefault();\n return;\n }\n }\n\n if (currentTarget instanceof HTMLElement) {\n // Workaround for Safari, which doesn't focus implicitly.\n setTimeout(() => currentTarget.focus(), 0);\n }\n };\n\n return html`<tr>\n <th class=${`bc-feature bc-feature-depth-${depth}`} scope=\"row\">\n ${titleNode}\n </th>\n ${browsers.map((browserName) => {\n // <CompatCell>\n const browser = browserInfo[browserName];\n const support = compat.support[browserName] ?? {\n version_added: null,\n };\n\n const supportClassName = getSupportClassName(support, browser);\n const notes = this._renderNotes(browser, support);\n\n return html`<td\n class=${`bc-support bc-browser-${browserName} bc-supports-${supportClassName} ${\n notes ? \"bc-has-history\" : \"\"\n }`}\n >\n <button\n type=\"button\"\n title=${ifDefined(notes && \"Toggle history\")}\n @mousedown=${handleMousedown}\n >\n ${this._renderCellText(support, browser)}\n </button>\n ${notes &&\n html`<div class=\"timeline\" tabindex=\"0\">\n <dl class=\"bc-notes-list\">${notes}</dl>\n </div>`}\n </td>`;\n })}\n </tr>`;\n })}\n </tbody>`;\n }\n\n /**\n * @param {SupportStatement} support\n */\n _renderCellIcons(support) {\n const supportItem = getCurrentSupport(support);\n if (!supportItem) {\n return null;\n }\n\n const icons = [\n supportItem.prefix && this._renderIcon(\"prefix\"),\n hasNoteworthyNotes(supportItem) && this._renderIcon(\"footnote\"),\n supportItem.alternative_name && this._renderIcon(\"altname\"),\n supportItem.flags && this._renderIcon(\"disabled\"),\n hasMore(support) && this._renderIcon(\"more\"),\n ].filter(Boolean);\n\n return icons.length ? html`<div class=\"bc-icons\">${icons}</div>` : null;\n }\n\n /**\n * @param {string} name\n * @returns {TemplateResult}\n */\n _renderIcon(name) {\n const title = name in LEGEND_LABELS ? LEGEND_LABELS[name] : name;\n\n return html`<abbr class=\"only-icon\" title=${ifDefined(title)}>\n <span>${name}</span>\n <i class=${`icon icon-${name}`}></i>\n </abbr>`;\n }\n\n /**\n * @param {StatusBlock} status\n */\n _renderStatusIcons(status) {\n // <StatusIcons>\n /**\n * @type {StatusIcon[]}\n */\n const icons = [];\n if (status.experimental) {\n icons.push({\n title: \"Experimental. Expect behavior to change in the future.\",\n text: \"Experimental\",\n iconClassName: \"icon-experimental\",\n });\n }\n\n if (status.deprecated) {\n icons.push({\n title: \"Deprecated. Not for use in new websites.\",\n text: \"Deprecated\",\n iconClassName: \"icon-deprecated\",\n });\n }\n\n if (!status.standard_track) {\n icons.push({\n title: \"Non-standard. Expect poor cross-browser support.\",\n text: \"Non-standard\",\n iconClassName: \"icon-nonstandard\",\n });\n }\n\n return icons.length === 0\n ? null\n : html`<div class=\"bc-icons\">\n ${icons.map(\n (icon) =>\n html`<abbr\n class=${`only-icon icon ${icon.iconClassName}`}\n title=${icon.title}\n >\n <span>${icon.text}</span>\n </abbr>`\n )}\n </div>`;\n }\n\n /**\n *\n * @param {BrowserStatement} browser\n * @param {SupportStatement} support\n */\n _renderNotes(browser, support) {\n return asList(support)\n .slice()\n .reverse()\n .flatMap((item, i) => {\n /**\n * @type {Array<{iconName: string; label: string | TemplateResult } | null>}\n */\n const supportNotes = [\n item.version_removed &&\n !asList(support).some(\n (otherItem) => otherItem.version_added === item.version_removed\n )\n ? {\n iconName: \"footnote\",\n label: `Removed in ${labelFromString(item.version_removed, browser)} and later`,\n }\n : null,\n item.partial_implementation\n ? {\n iconName: \"footnote\",\n label: \"Partial support\",\n }\n : null,\n item.prefix\n ? {\n iconName: \"prefix\",\n label: `Implemented with the vendor prefix: ${item.prefix}`,\n }\n : null,\n item.alternative_name\n ? {\n iconName: \"altname\",\n label: `Alternate name: ${item.alternative_name}`,\n }\n : null,\n item.flags\n ? {\n iconName: \"disabled\",\n label: (() => {\n const hasAddedVersion =\n typeof item.version_added === \"string\";\n const hasRemovedVersion =\n typeof item.version_removed === \"string\";\n const flags = item.flags || [];\n return html`\n ${[\n hasAddedVersion && `From version ${item.version_added}`,\n hasRemovedVersion &&\n `${hasAddedVersion ? \" until\" : \"Until\"} ${item.version_removed} (exclusive)`,\n hasAddedVersion || hasRemovedVersion ? \": this\" : \"This\",\n \" feature is behind the\",\n ...flags.map((flag, i) => {\n const valueToSet = flag.value_to_set\n ? html` (needs to be set to\n <code>${flag.value_to_set}</code>)`\n : \"\";\n\n return [\n html`<code>${flag.name}</code>`,\n flag.type === \"preference\" &&\n html` preference${valueToSet}`,\n flag.type === \"runtime_flag\" &&\n html` runtime flag${valueToSet}`,\n i < flags.length - 1 && \" and the \",\n ].filter(Boolean);\n }),\n \".\",\n browser.pref_url &&\n flags.some((flag) => flag.type === \"preference\") &&\n ` To change preferences in ${browser.name}, visit ${browser.pref_url}.`,\n ]\n .filter(Boolean)\n .map((value) => html`${value}`)}\n `;\n })(),\n }\n : null,\n item.notes\n ? (Array.isArray(item.notes) ? item.notes : [item.notes]).map(\n (note) => ({ iconName: \"footnote\", label: note })\n )\n : null,\n item.impl_url\n ? (Array.isArray(item.impl_url)\n ? item.impl_url\n : [item.impl_url]\n ).map((impl_url) => ({\n iconName: \"footnote\",\n label: html`See\n <a href=${impl_url}>${bugURLToString(impl_url)}</a>.`,\n }))\n : null,\n versionIsPreview(item.version_added, browser)\n ? {\n iconName: \"footnote\",\n label: \"Preview browser support\",\n }\n : null,\n // If we encounter nothing else than the required `version_added` and\n // `release_date` properties, assume full support.\n // EDIT 1-5-21: if item.version_added doesn't exist, assume no support.\n isFullySupportedWithoutLimitation(item) &&\n !versionIsPreview(item.version_added, browser)\n ? {\n iconName: \"footnote\",\n label: \"Full support\",\n }\n : isNotSupportedAtAll(item)\n ? {\n iconName: \"footnote\",\n label: \"No support\",\n }\n : null,\n ]\n .flat()\n .filter(Boolean);\n\n if (supportNotes.length === 0) {\n supportNotes.push({\n iconName: \"unknown\",\n label: \"Support unknown\",\n });\n }\n\n /**\n * @type {Array<{iconName: string; label: string | TemplateResult }>}\n */\n const filteredSupportNotes = supportNotes.filter((v) => v !== null);\n\n const hasNotes = supportNotes.length > 0;\n return (\n (i === 0 || hasNotes) &&\n html`<div class=\"bc-notes-wrapper\">\n <dt\n class=${`bc-supports-${getSupportClassName(\n item,\n browser\n )} bc-supports`}\n >\n ${this._renderCellText(item, browser, true)}\n </dt>\n ${filteredSupportNotes.map(({ iconName, label }) => {\n return html`<dd class=\"bc-supports-dd\">\n ${this._renderIcon(iconName)}${typeof label === \"string\"\n ? html`<span>${unsafeHTML(label)}</span>`\n : label}\n </dd>`;\n })}\n ${!hasNotes ? html`<dd></dd>` : null}\n </div>`\n );\n })\n .filter(Boolean);\n }\n\n /**\n *\n * @param {SupportStatement | undefined} support\n * @param {BrowserStatement} browser\n * @param {boolean} [timeline]\n */\n _renderCellText(support, browser, timeline = false) {\n const currentSupport = getCurrentSupport(support);\n\n const added = currentSupport?.version_added ?? null;\n const lastVersion = currentSupport?.version_last ?? null;\n\n const browserReleaseDate = getSupportBrowserReleaseDate(support);\n const supportClassName = getSupportClassName(support, browser);\n\n let status;\n switch (added) {\n case null:\n status = { isSupported: \"unknown\" };\n break;\n case true:\n status = { isSupported: lastVersion ? \"no\" : \"yes\" };\n break;\n case false:\n status = { isSupported: \"no\" };\n break;\n case \"preview\":\n status = { isSupported: \"preview\" };\n break;\n default:\n status = {\n isSupported: supportClassName,\n label: versionLabelFromSupport(added, lastVersion, browser),\n };\n break;\n }\n\n let label;\n let title = \"\";\n // eslint-disable-next-line default-case\n switch (status.isSupported) {\n case \"yes\":\n title = \"Full support\";\n label = status.label || \"Yes\";\n break;\n\n case \"partial\":\n title = \"Partial support\";\n label = status.label || \"Partial\";\n break;\n\n case \"removed-partial\":\n if (timeline) {\n title = \"Partial support\";\n label = status.label || \"Partial\";\n } else {\n title = \"No support\";\n label = status.label || \"No\";\n }\n break;\n\n case \"no\":\n title = \"No support\";\n label = status.label || \"No\";\n break;\n\n case \"preview\":\n title = \"Preview support\";\n label = status.label || browser.preview_name;\n break;\n\n case \"unknown\":\n title = \"Support unknown\";\n label = \"?\";\n break;\n }\n\n title = `${browser.name} – ${title}`;\n\n return html`<div\n class=${timeline\n ? \"bcd-timeline-cell-text-wrapper\"\n : \"bcd-cell-text-wrapper\"}\n >\n <div class=\"bcd-cell-icons\">\n <span class=\"icon-wrap\">\n <abbr\n class=${`\n bc-level-${supportClassName}\n icon\n icon-${supportClassName}`}\n title=${title}\n >\n <span class=\"bc-support-level\">${title}</span>\n </abbr>\n </span>\n </div>\n <div class=\"bcd-cell-text-copy\">\n <span class=\"bc-browser-name\">${browser.name}</span>\n <span\n class=\"bc-version-label\"\n title=${browserReleaseDate && !timeline\n ? `${browser.name} ${added} – Release date: ${browserReleaseDate}`\n : \"\"}\n >\n ${!timeline || added ? label : null}\n ${browserReleaseDate && timeline\n ? ` (Release date: ${browserReleaseDate})`\n : \"\"}\n </span>\n </div>\n ${support && this._renderCellIcons(support)}\n </div>`;\n }\n\n _renderTableLegend() {\n const { _browsers: browsers, browserInfo } = this;\n\n if (!browserInfo) {\n throw new Error(\"Missing browser info\");\n }\n\n return html`<section class=\"bc-legend\">\n <h3 class=\"visually-hidden\" id=\"Legend\">Legend</h3>\n <p class=\"bc-legend-tip\">\n Tip: you can click/tap on a cell for more information.\n </p>\n <dl class=\"bc-legend-items-container\">\n ${getActiveLegendItems(\n this.data,\n this._name,\n browserInfo,\n browsers\n ).map(([key, label]) =>\n [\"yes\", \"partial\", \"no\", \"unknown\", \"preview\"].includes(key)\n ? html`<div class=\"bc-legend-item\">\n <dt class=\"bc-legend-item-dt\">\n <span class=${`bc-supports-${key} bc-supports`}>\n <abbr\n class=${`bc-level bc-level-${key} icon icon-${key}`}\n title=${label}\n >\n <span class=\"visually-hidden\">${label}</span>\n </abbr>\n </span>\n </dt>\n <dd class=\"bc-legend-item-dd\">${label}</dd>\n </div>`\n : html`<div class=\"bc-legend-item\">\n <dt class=\"bc-legend-item-dt\">\n <abbr\n class=\"legend-icons icon icon-${key}\"\n title=${label}\n ></abbr>\n </dt>\n <dd class=\"bc-legend-item-dd\">${label}</dd>\n </div>`\n )}\n </dl>\n </section>`;\n }\n\n render() {\n return html` ${this._renderTable()} ${this._renderTableLegend()} `;\n }\n}\n\ncustomElements.define(\"compat-table\", CompatTable);\n\n/**\n * Return a list of platforms and browsers that are relevant for this category &\n * data.\n *\n * If the category is \"webextensions\", only those are shown. In all other cases\n * at least the entirety of the \"desktop\" and \"mobile\" platforms are shown. If\n * the category is JavaScript, the entirety of the \"server\" category is also\n * shown. In all other categories, if compat data has info about Deno / Node.js\n * those are also shown. Deno is always shown if Node.js is shown.\n *\n * @param {string} category\n * @param {Identifier} data\n * @param {Browsers} browserInfo\n * @returns {[string[], BrowserName[]]}\n */\nexport function gatherPlatformsAndBrowsers(category, data, browserInfo) {\n const hasNodeJSData = data.__compat && \"nodejs\" in data.__compat.support;\n const hasDenoData = data.__compat && \"deno\" in data.__compat.support;\n\n let platforms = [\"desktop\", \"mobile\"];\n if (category === \"javascript\" || hasNodeJSData || hasDenoData) {\n platforms.push(\"server\");\n }\n\n /** @type BrowserName[] */\n let browsers = [];\n\n // Add browsers in platform order to align table cells\n for (const platform of platforms) {\n /**\n * @type {BrowserName[]}\n */\n // @ts-ignore\n const platformBrowsers = Object.keys(browserInfo);\n browsers.push(\n ...platformBrowsers.filter(\n (browser) =>\n browser in browserInfo && browserInfo[browser].type === platform\n )\n );\n }\n\n // Filter WebExtension browsers in corresponding tables.\n if (category === \"webextensions\") {\n browsers = browsers.filter(\n (browser) => browserInfo[browser].accepts_webextensions\n );\n }\n\n // If there is no Node.js data for a category outside \"javascript\", don't\n // show it. It ended up in the browser list because there is data for Deno.\n if (category !== \"javascript\" && !hasNodeJSData) {\n browsers = browsers.filter((browser) => browser !== \"nodejs\");\n }\n\n // Hide Internet Explorer compatibility data\n browsers = browsers.filter((browser) => !HIDDEN_BROWSERS.includes(browser));\n\n return [platforms, [...browsers]];\n}\n","import { LitElement, html } from \"lit\";\nimport { createComponent } from \"@lit/react\";\nimport { Task } from \"@lit/task\";\nimport React from \"react\";\n\nimport { BCD_BASE_URL } from \"../../env.ts\";\nimport \"./compat-table.js\";\n\n/**\n * @import { Browsers, Identifier } from \"@mdn/browser-compat-data/types\"\n * @typedef {{data: Identifier, browsers: Browsers}} Compat\n */\n\nclass LazyCompatTable extends LitElement {\n static properties = {\n query: {},\n locale: {},\n };\n\n constructor() {\n super();\n this.query = \"\";\n this.locale = \"\";\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n _dataTask = new Task(this, {\n args: () => [this.query],\n task: async ([query], { signal }) => {\n const response = await fetch(\n `${BCD_BASE_URL}/bcd/api/v0/current/${query}.json`,\n { signal }\n );\n if (!response.ok) {\n console.error(\"Failed to fetch BCD data:\", response);\n throw new Error(response.statusText);\n }\n return /** @type {Promise<Compat>} */ response.json();\n },\n });\n\n render() {\n return this._dataTask.render({\n pending: () => html`<p>Loading...</p>`,\n\n complete:\n /**\n * @param {Compat} compat\n */\n (compat) =>\n compat\n ? html`<compat-table\n query=${this.query}\n locale=${this.locale}\n .data=${compat.data}\n .browserInfo=${compat.browsers}\n ></compat-table>`\n : html`<p>No compatibility data found</p>`,\n error: (error) => html`<p>Error loading data: <code>${error}</code></p>`,\n });\n }\n}\n\ncustomElements.define(\"lazy-compat-table\", LazyCompatTable);\n\nexport default createComponent({\n tagName: \"lazy-compat-table\",\n elementClass: LazyCompatTable,\n react: React,\n});\n"],"names":["_","CSSStyleSheet","Symbol","Promise","Array","Error","queueMicrotask","r","AbortController","Set","arguments","WeakMap","globalThis","e","Object","n","ViewedController","document","IntersectionObserver","console","window","clearTimeout","CompatTable","URLSearchParams","Date","HTMLElement","setTimeout","Boolean","t","a","customElements","LazyCompatTable","fetch"],"mappings":";gLAII,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAgC,kBAChC,EAAiC,kBACjC,EAAiC,gBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjCA,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,iBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,EAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,iBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,iBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,iBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,kBACjC,GAAiC,iBACjC,GAAiC,kBACjC,GAA0B,IAA4B,KACtD,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAqC,IAAgC,GACrE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgCA,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,GACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,IACtE,GAAsC,IAAgC,I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"}