@hgdc/docs 0.0.0-stage → 0.1.1

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 (173) hide show
  1. package/bin/hgdc-docs.mjs +48 -0
  2. package/docs.schema.json +294 -0
  3. package/package.json +51 -4
  4. package/src/build/auto-import.ts +74 -0
  5. package/src/build/markdown.ts +114 -0
  6. package/src/build/outputs.ts +91 -0
  7. package/src/build/public-files.ts +35 -0
  8. package/src/components/Accordion.astro +12 -0
  9. package/src/components/AccordionGroup.astro +4 -0
  10. package/src/components/Card.astro +15 -0
  11. package/src/components/CardGroup.astro +8 -0
  12. package/src/components/Check.astro +10 -0
  13. package/src/components/CodeGroup.astro +4 -0
  14. package/src/components/Columns.astro +8 -0
  15. package/src/components/Danger.astro +10 -0
  16. package/src/components/Frame.astro +11 -0
  17. package/src/components/Info.astro +10 -0
  18. package/src/components/Note.astro +10 -0
  19. package/src/components/Step.astro +11 -0
  20. package/src/components/Steps.astro +4 -0
  21. package/src/components/Tab.astro +9 -0
  22. package/src/components/Tabs.astro +9 -0
  23. package/src/components/Tip.astro +10 -0
  24. package/src/components/Warning.astro +10 -0
  25. package/src/core/answer-markdown.ts +109 -0
  26. package/src/core/assistant-api.ts +65 -0
  27. package/src/core/chunk.ts +134 -0
  28. package/src/core/config.ts +153 -0
  29. package/src/core/corpus.ts +42 -0
  30. package/src/core/json-schema.ts +12 -0
  31. package/src/core/llms.ts +95 -0
  32. package/src/core/navigation.ts +88 -0
  33. package/src/core/theme.ts +111 -0
  34. package/src/integration.ts +229 -0
  35. package/src/locals.d.ts +6 -0
  36. package/src/overrides/Assistant.astro +72 -0
  37. package/src/overrides/Head.astro +12 -0
  38. package/src/overrides/PageFrame.astro +15 -0
  39. package/src/overrides/PageTitle.astro +94 -0
  40. package/src/overrides/Sidebar.astro +60 -0
  41. package/src/overrides/route-data.ts +33 -0
  42. package/src/styles/theme.css +773 -0
  43. package/src/virtual.d.ts +6 -0
  44. package/src/widget/client.ts +252 -0
  45. package/template/.astro/collections/docs.schema.json +651 -0
  46. package/template/.astro/content-assets.mjs +1 -0
  47. package/template/.astro/content-modules.mjs +18 -0
  48. package/template/.astro/content.d.ts +179 -0
  49. package/template/.astro/types.d.ts +2 -0
  50. package/template/.build/.well-known/llms.txt +38 -0
  51. package/template/.build/404.html +42 -0
  52. package/template/.build/_astro/Assistant.astro_astro_type_script_index_0_lang.DWgmlr85.js +4 -0
  53. package/template/.build/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.C3fM4Kra.js +1 -0
  54. package/template/.build/_astro/Search.astro_astro_type_script_index_0_lang.g9hoxVJg.js +1 -0
  55. package/template/.build/_astro/TableOfContents.astro_astro_type_script_index_0_lang.BpJaGz7G.js +1 -0
  56. package/template/.build/_astro/common.8GHCkW7i.css +3 -0
  57. package/template/.build/_astro/ec.0vx5m.js +3 -0
  58. package/template/.build/_astro/ec.8nqtp.css +1 -0
  59. package/template/.build/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2 +0 -0
  60. package/template/.build/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2 +0 -0
  61. package/template/.build/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2 +0 -0
  62. package/template/.build/_astro/geist-latin-wght-normal.BgDaEnEv.woff2 +0 -0
  63. package/template/.build/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2 +0 -0
  64. package/template/.build/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
  65. package/template/.build/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
  66. package/template/.build/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
  67. package/template/.build/_astro/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
  68. package/template/.build/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
  69. package/template/.build/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
  70. package/template/.build/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
  71. package/template/.build/_astro/logo-clair.BqNh6JNi.svg +1 -0
  72. package/template/.build/_astro/logo-sombre.BkgsFXxh.svg +1 -0
  73. package/template/.build/_astro/page.cNngjUgL.js +1 -0
  74. package/template/.build/_astro/print.ehPL0gv-.css +1 -0
  75. package/template/.build/_astro/starlight-toc.D4UDIxQL.js +1 -0
  76. package/template/.build/_astro/ui-core.Clh5jUUO.js +2 -0
  77. package/template/.build/_hgdc/corpus.json +1 -0
  78. package/template/.build/demarrer/premiere-doc/index.html +84 -0
  79. package/template/.build/demarrer/premiere-doc.md +65 -0
  80. package/template/.build/explications/donnees/index.html +114 -0
  81. package/template/.build/explications/donnees.md +28 -0
  82. package/template/.build/explications/fonctionnement/index.html +92 -0
  83. package/template/.build/explications/fonctionnement.md +32 -0
  84. package/template/.build/guides/agents/index.html +113 -0
  85. package/template/.build/guides/agents.md +40 -0
  86. package/template/.build/guides/assistant/index.html +117 -0
  87. package/template/.build/guides/assistant.md +42 -0
  88. package/template/.build/guides/composants/index.html +97 -0
  89. package/template/.build/guides/composants.md +103 -0
  90. package/template/.build/guides/ecrire/index.html +115 -0
  91. package/template/.build/guides/ecrire.md +63 -0
  92. package/template/.build/guides/navigation/index.html +89 -0
  93. package/template/.build/guides/navigation.md +63 -0
  94. package/template/.build/guides/publier/index.html +86 -0
  95. package/template/.build/guides/publier.md +65 -0
  96. package/template/.build/guides/theme/index.html +86 -0
  97. package/template/.build/guides/theme.md +33 -0
  98. package/template/.build/images/favicon.svg +1 -0
  99. package/template/.build/images/logo-clair.svg +1 -0
  100. package/template/.build/images/logo-sombre.svg +1 -0
  101. package/template/.build/index.html +87 -0
  102. package/template/.build/index.md +35 -0
  103. package/template/.build/llms-full.txt +830 -0
  104. package/template/.build/llms.txt +38 -0
  105. package/template/.build/pagefind/fragment/fr-ch_148313b.pf_fragment +0 -0
  106. package/template/.build/pagefind/fragment/fr-ch_424fd16.pf_fragment +0 -0
  107. package/template/.build/pagefind/fragment/fr-ch_4f8575c.pf_fragment +0 -0
  108. package/template/.build/pagefind/fragment/fr-ch_5a4d77d.pf_fragment +0 -0
  109. package/template/.build/pagefind/fragment/fr-ch_6c36edc.pf_fragment +0 -0
  110. package/template/.build/pagefind/fragment/fr-ch_73d7887.pf_fragment +0 -0
  111. package/template/.build/pagefind/fragment/fr-ch_8234ed3.pf_fragment +0 -0
  112. package/template/.build/pagefind/fragment/fr-ch_8f8a19e.pf_fragment +0 -0
  113. package/template/.build/pagefind/fragment/fr-ch_9f1b981.pf_fragment +0 -0
  114. package/template/.build/pagefind/fragment/fr-ch_a19039d.pf_fragment +0 -0
  115. package/template/.build/pagefind/fragment/fr-ch_d72cc1e.pf_fragment +0 -0
  116. package/template/.build/pagefind/fragment/fr-ch_d732215.pf_fragment +0 -0
  117. package/template/.build/pagefind/fragment/fr-ch_e2c46e3.pf_fragment +0 -0
  118. package/template/.build/pagefind/fragment/fr-ch_e78d58b.pf_fragment +0 -0
  119. package/template/.build/pagefind/fragment/fr-ch_e92f972.pf_fragment +0 -0
  120. package/template/.build/pagefind/index/fr-ch_f94c95d.pf_index +0 -0
  121. package/template/.build/pagefind/pagefind-component-ui.css +1509 -0
  122. package/template/.build/pagefind/pagefind-component-ui.js +56 -0
  123. package/template/.build/pagefind/pagefind-entry.json +1 -0
  124. package/template/.build/pagefind/pagefind-highlight.js +1070 -0
  125. package/template/.build/pagefind/pagefind-modular-ui.css +214 -0
  126. package/template/.build/pagefind/pagefind-modular-ui.js +8 -0
  127. package/template/.build/pagefind/pagefind-ui.css +1 -0
  128. package/template/.build/pagefind/pagefind-ui.js +2 -0
  129. package/template/.build/pagefind/pagefind-worker.js +6 -0
  130. package/template/.build/pagefind/pagefind.fr-ch_fb78ab42961f4.pf_meta +0 -0
  131. package/template/.build/pagefind/pagefind.js +6 -0
  132. package/template/.build/pagefind/wasm.fr-ch.pagefind +0 -0
  133. package/template/.build/pagefind/wasm.unknown.pagefind +0 -0
  134. package/template/.build/reference/api-assistant/index.html +161 -0
  135. package/template/.build/reference/api-assistant.md +60 -0
  136. package/template/.build/reference/cli/index.html +153 -0
  137. package/template/.build/reference/cli.md +31 -0
  138. package/template/.build/reference/docs-json/index.html +192 -0
  139. package/template/.build/reference/docs-json.md +43 -0
  140. package/template/.build/reference/mcp/index.html +151 -0
  141. package/template/.build/reference/mcp.md +49 -0
  142. package/template/astro.config.ts +6 -0
  143. package/template/node_modules/.vite/deps/_metadata.json +74 -0
  144. package/template/node_modules/.vite/deps/astro-B3JHJyiv.js +434 -0
  145. package/template/node_modules/.vite/deps/astro-B3JHJyiv.js.map +1 -0
  146. package/template/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
  147. package/template/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
  148. package/template/node_modules/.vite/deps/astro_n_axobject-query.js +2705 -0
  149. package/template/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
  150. package/template/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
  151. package/template/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
  152. package/template/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
  153. package/template/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
  154. package/template/node_modules/.vite/deps/audit-Do8QH17W.js +1543 -0
  155. package/template/node_modules/.vite/deps/audit-Do8QH17W.js.map +1 -0
  156. package/template/node_modules/.vite/deps/highlight-BLtvqtzO.js +48 -0
  157. package/template/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +1 -0
  158. package/template/node_modules/.vite/deps/icons-C92i61-2.js +42 -0
  159. package/template/node_modules/.vite/deps/icons-C92i61-2.js.map +1 -0
  160. package/template/node_modules/.vite/deps/package.json +3 -0
  161. package/template/node_modules/.vite/deps/rolldown-runtime-C3I60J0A.js +4 -0
  162. package/template/node_modules/.vite/deps/settings-BYmTKrLi.js +189 -0
  163. package/template/node_modules/.vite/deps/settings-BYmTKrLi.js.map +1 -0
  164. package/template/node_modules/.vite/deps/toolbar-CEKhukuK.js +461 -0
  165. package/template/node_modules/.vite/deps/toolbar-CEKhukuK.js.map +1 -0
  166. package/template/node_modules/.vite/deps/ui-library-BO4--ANp.js +1015 -0
  167. package/template/node_modules/.vite/deps/ui-library-BO4--ANp.js.map +1 -0
  168. package/template/node_modules/.vite/deps/window-vo3A6TMn.js +32 -0
  169. package/template/node_modules/.vite/deps/window-vo3A6TMn.js.map +1 -0
  170. package/template/node_modules/.vite/deps/xray-Lf9x6g8P.js +112 -0
  171. package/template/node_modules/.vite/deps/xray-Lf9x6g8P.js.map +1 -0
  172. package/template/src/content.config.ts +21 -0
  173. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-Do8QH17W.js","names":["roles","aria","elementAXObjects","AXObjectRoles","escapeHTML"],"sources":["../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/audit/annotations.js","../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/audit/rules/a11y.js","../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/audit/rules/perf.js","../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/audit/rules/index.js","../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/audit/ui/audit-list-item.js","../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/audit/ui/audit-list-window.js","../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/audit/ui/audit-ui.js","../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/audit/index.js"],"sourcesContent":["const ELEMENT_ANNOTATIONS = new WeakMap();\nexport function getAnnotationsForElement(element) {\n\treturn ELEMENT_ANNOTATIONS.get(element);\n}\nconst ANNOTATION_MAP = {\n\t\"data-astro-source-file\": \"file\",\n\t\"data-astro-source-loc\": \"location\"\n};\nfunction extractAnnotations(element) {\n\tconst annotations = {};\n\tfor (const [attr, key] of Object.entries(ANNOTATION_MAP)) {\n\t\tannotations[key] = element.getAttribute(attr);\n\t}\n\tfor (const attr of Object.keys(ANNOTATION_MAP)) {\n\t\telement.removeAttribute(attr);\n\t}\n\treturn annotations;\n}\nexport function processAnnotations() {\n\tfor (const element of document.querySelectorAll(`[data-astro-source-file]`)) {\n\t\tELEMENT_ANNOTATIONS.set(element, extractAnnotations(element));\n\t}\n}\n","/**\n* https://github.com/sveltejs/svelte/blob/61e5e53eee82e895c1a5b4fd36efb87eafa1fc2d/LICENSE.md\n* @license MIT\n*\n* Copyright (c) 2016-23 [these people](https://github.com/sveltejs/svelte/graphs/contributors)\n*\n* Permission is hereby granted, free of charge, to any person obtaining a copy\n* of this software and associated documentation files (the \"Software\"), to deal\n* in the Software without restriction, including without limitation the rights\n* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the Software is\n* furnished to do so, subject to the following conditions:\n*\n* The above copyright notice and this permission notice shall be included in all\n* copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n* SOFTWARE.\n*/\nimport { aria, roles } from \"aria-query\";\n// @ts-expect-error package does not provide types\nimport { AXObjectRoles, elementAXObjects } from \"axobject-query\";\nconst WHITESPACE_REGEX = /\\s+/;\nfunction isHiddenByClosedDetails(element) {\n\tfor (let parent = element.parentElement; parent; parent = parent.parentElement) {\n\t\tif (parent.localName !== \"details\" || parent.open) continue;\n\t\tconst summary = Array.from(parent.children).find((child) => child.localName === \"summary\");\n\t\tif (!summary?.contains(element)) return true;\n\t}\n\treturn false;\n}\nconst a11y_required_attributes = {\n\ta: [\"href\"],\n\tarea: [\n\t\t\"alt\",\n\t\t\"aria-label\",\n\t\t\"aria-labelledby\"\n\t],\n\t// html-has-lang\n\thtml: [\"lang\"],\n\t// iframe-has-title\n\tiframe: [\"title\"],\n\timg: [\"alt\"],\n\tobject: [\n\t\t\"title\",\n\t\t\"aria-label\",\n\t\t\"aria-labelledby\"\n\t]\n};\nconst MAYBE_INTERACTIVE = new Map([\n\t[\"a\", \"href\"],\n\t[\"input\", \"type\"],\n\t[\"audio\", \"controls\"],\n\t[\"img\", \"usemap\"],\n\t[\"object\", \"usemap\"],\n\t[\"video\", \"controls\"]\n]);\nconst interactiveElements = [\n\t\"button\",\n\t\"details\",\n\t\"embed\",\n\t\"iframe\",\n\t\"label\",\n\t\"select\",\n\t\"textarea\",\n\t...MAYBE_INTERACTIVE.keys()\n];\nconst labelableElements = [\n\t\"button\",\n\t\"input\",\n\t\"meter\",\n\t\"output\",\n\t\"progress\",\n\t\"select\",\n\t\"textarea\"\n];\nconst aria_non_interactive_roles = [\n\t\"alert\",\n\t\"alertdialog\",\n\t\"application\",\n\t\"article\",\n\t\"banner\",\n\t\"cell\",\n\t\"columnheader\",\n\t\"complementary\",\n\t\"contentinfo\",\n\t\"definition\",\n\t\"dialog\",\n\t\"directory\",\n\t\"document\",\n\t\"feed\",\n\t\"figure\",\n\t\"form\",\n\t\"group\",\n\t\"heading\",\n\t\"image\",\n\t\"img\",\n\t\"list\",\n\t\"listitem\",\n\t\"log\",\n\t\"main\",\n\t\"marquee\",\n\t\"math\",\n\t\"navigation\",\n\t\"none\",\n\t\"note\",\n\t\"presentation\",\n\t\"region\",\n\t\"row\",\n\t\"rowgroup\",\n\t\"rowheader\",\n\t\"search\",\n\t\"status\",\n\t\"tabpanel\",\n\t\"term\",\n\t\"timer\",\n\t\"toolbar\",\n\t\"tooltip\"\n];\n// These elements aren't interactive and aren't non-interactive. Their interaction changes based on the role assigned to them\n// https://www.w3.org/TR/html-aria/#docconformance -> look at the table, specification for the `div` and `span` elements.\nconst roleless_elements = [\"div\", \"span\"];\nconst a11y_required_content = [\n\t\"a\",\n\t\"h1\",\n\t\"h2\",\n\t\"h3\",\n\t\"h4\",\n\t\"h5\",\n\t\"h6\"\n];\nconst a11y_distracting_elements = [\"blink\", \"marquee\"];\nconst a11y_implicit_semantics = new Map([\n\t[\"a\", \"link\"],\n\t[\"area\", \"link\"],\n\t[\"article\", \"article\"],\n\t[\"aside\", \"complementary\"],\n\t[\"body\", \"document\"],\n\t[\"button\", \"button\"],\n\t[\"datalist\", \"listbox\"],\n\t[\"dd\", \"definition\"],\n\t[\"dfn\", \"term\"],\n\t[\"dialog\", \"dialog\"],\n\t[\"details\", \"group\"],\n\t[\"dt\", \"term\"],\n\t[\"fieldset\", \"group\"],\n\t[\"figure\", \"figure\"],\n\t[\"form\", \"form\"],\n\t[\"h1\", \"heading\"],\n\t[\"h2\", \"heading\"],\n\t[\"h3\", \"heading\"],\n\t[\"h4\", \"heading\"],\n\t[\"h5\", \"heading\"],\n\t[\"h6\", \"heading\"],\n\t[\"hr\", \"separator\"],\n\t[\"img\", \"image\"],\n\t[\"li\", \"listitem\"],\n\t[\"link\", \"link\"],\n\t[\"main\", \"main\"],\n\t[\"menu\", \"list\"],\n\t[\"meter\", \"progressbar\"],\n\t[\"nav\", \"navigation\"],\n\t[\"ol\", \"list\"],\n\t[\"option\", \"option\"],\n\t[\"optgroup\", \"group\"],\n\t[\"output\", \"status\"],\n\t[\"progress\", \"progressbar\"],\n\t[\"section\", \"region\"],\n\t[\"summary\", \"button\"],\n\t[\"table\", \"table\"],\n\t[\"tbody\", \"rowgroup\"],\n\t[\"textarea\", \"textbox\"],\n\t[\"tfoot\", \"rowgroup\"],\n\t[\"thead\", \"rowgroup\"],\n\t[\"tr\", \"row\"],\n\t[\"ul\", \"list\"]\n]);\nconst menuitem_type_to_implicit_role = new Map([\n\t[\"command\", \"menuitem\"],\n\t[\"checkbox\", \"menuitemcheckbox\"],\n\t[\"radio\", \"menuitemradio\"]\n]);\nconst input_type_to_implicit_role = new Map([\n\t[\"button\", \"button\"],\n\t[\"image\", \"button\"],\n\t[\"reset\", \"button\"],\n\t[\"submit\", \"button\"],\n\t[\"checkbox\", \"checkbox\"],\n\t[\"radio\", \"radio\"],\n\t[\"range\", \"slider\"],\n\t[\"number\", \"spinbutton\"],\n\t[\"email\", \"textbox\"],\n\t[\"search\", \"searchbox\"],\n\t[\"tel\", \"textbox\"],\n\t[\"text\", \"textbox\"],\n\t[\"url\", \"textbox\"]\n]);\n// All the WAI-ARIA 1.2 attributes from https://www.w3.org/TR/wai-aria-1.2/#state_prop_def\nconst ariaAttributes = new Set(\"activedescendant atomic autocomplete busy checked colcount colindex colspan controls current describedby details disabled dropeffect errormessage expanded flowto grabbed haspopup hidden invalid keyshortcuts label labelledby level live modal multiline multiselectable orientation owns placeholder posinset pressed readonly relevant required roledescription rowcount rowindex rowspan selected setsize sort valuemax valuemin valuenow valuetext\".split(\" \"));\n// All the WAI-ARIA 1.2 role attribute values from https://www.w3.org/TR/wai-aria-1.2/#role_definitions\nconst ariaRoles = new Set(\"alert alertdialog application article banner blockquote button caption cell checkbox code columnheader combobox command complementary composite contentinfo definition deletion dialog directory document emphasis feed figure form generic grid gridcell group heading image img input insertion landmark link list listbox listitem log main marquee math meter menu menubar menuitem menuitemcheckbox menuitemradio navigation none note option paragraph presentation progressbar radio radiogroup range region roletype row rowgroup rowheader scrollbar search searchbox section sectionhead select separator slider spinbutton status strong structure subscript superscript switch tab table tablist tabpanel term textbox time timer toolbar tooltip tree treegrid treeitem widget window\".split(\" \"));\nfunction isInteractive(element) {\n\tconst attribute = MAYBE_INTERACTIVE.get(element.localName);\n\tif (attribute) {\n\t\treturn element.hasAttribute(attribute);\n\t}\n\treturn true;\n}\nfunction hasAccessibleName(element) {\n\treturn element.hasAttribute(\"aria-label\") || element.hasAttribute(\"aria-labelledby\");\n}\n// Returns the effective implicit role, or null if no implicit role applies.\nconst conditional_implicit_roles = new Map([\n\t[\"a\", (el) => el.hasAttribute(\"href\") ? \"link\" : null],\n\t[\"aside\", (el) => {\n\t\t// <aside> downgrades to 'generic' when nested inside sectioning content/main without an accessible name.\n\t\t// Reference: https://www.w3.org/TR/html-aria/#:~:text=the%20allowed%20roles.-,aside,-role%3Dcomplementary\n\t\tconst isNested = !!el.parentElement?.closest(\"article, aside, nav, section\");\n\t\treturn !isNested || hasAccessibleName(el) ? \"complementary\" : null;\n\t}],\n\t[\"img\", (el) => {\n\t\t// alt=\"\" marks the image as decorative (role=\"presentation\"), losing its implicit \"image\" role.\n\t\t// Reference: https://www.w3.org/TR/html-aria/#:~:text=the%20allowed%20roles.-,img,-If%20the%20img\n\t\tif (el.getAttribute(\"alt\") === \"\") return null;\n\t\treturn \"image\";\n\t}],\n\t[\"section\", (el) => {\n\t\t// <section> downgrades to 'generic' when it lacks an accessible name (aria-label/aria-labelledby).\n\t\t// Reference: https://www.w3.org/TR/html-aria/#:~:text=the%20allowed%20roles.-,section,-role%3Dregion\n\t\treturn hasAccessibleName(el) ? \"region\" : null;\n\t}]\n]);\nexport const a11y = [\n\t{\n\t\tcode: \"a11y-accesskey\",\n\t\ttitle: \"Avoid using `accesskey`\",\n\t\tmessage: \"The `accesskey` attribute can cause accessibility issues. The shortcuts can conflict with the browser's or operating system's shortcuts, and they are difficult for users to discover and use.\",\n\t\tselector: \"[accesskey]\"\n\t},\n\t{\n\t\tcode: \"a11y-aria-activedescendant-has-tabindex\",\n\t\ttitle: \"Elements with attribute `aria-activedescendant` must be tabbable\",\n\t\tmessage: \"Element with the `aria-activedescendant` attribute must either have an inherent `tabindex` or declare `tabindex` as an attribute.\",\n\t\tselector: \"[aria-activedescendant]\",\n\t\tmatch(element) {\n\t\t\tif (!element.tabIndex && !element.hasAttribute(\"tabindex\")) return true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-aria-attributes\",\n\t\ttitle: \"Element does not support ARIA roles.\",\n\t\tmessage: \"Elements like `meta`, `html`, `script`, `style` do not support having ARIA roles.\",\n\t\tselector: \":is(meta, html, script, style)[role]\",\n\t\tmatch(element) {\n\t\t\tfor (const attribute of element.attributes) {\n\t\t\t\tif (attribute.name.startsWith(\"aria-\")) return true;\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-autofocus\",\n\t\ttitle: \"Avoid using `autofocus`\",\n\t\tmessage: \"The `autofocus` attribute can cause accessibility issues, as it can cause the focus to move around unexpectedly for screen reader users.\",\n\t\tselector: \"[autofocus]\"\n\t},\n\t{\n\t\tcode: \"a11y-distracting-elements\",\n\t\ttitle: \"Distracting elements should not be used\",\n\t\tmessage: \"Elements that can be visually distracting like `<marquee>` or `<blink>` can cause accessibility issues for visually impaired users and should be avoided.\",\n\t\tselector: `:is(${a11y_distracting_elements.join(\",\")})`\n\t},\n\t{\n\t\tcode: \"a11y-hidden\",\n\t\ttitle: \"Certain DOM elements are useful for screen reader navigation and should not be hidden\",\n\t\tmessage: (element) => `${element.localName} element should not be hidden.`,\n\t\tselector: \"[aria-hidden]:is(h1,h2,h3,h4,h5,h6)\"\n\t},\n\t{\n\t\tcode: \"a11y-img-redundant-alt\",\n\t\ttitle: \"Redundant text in alt attribute\",\n\t\tmessage: \"Screen readers already announce `img` elements as an image. There is no need to use words such as \\\"image\\\", \\\"photo\\\", and/or \\\"picture\\\".\",\n\t\tselector: \"img[alt]:not([aria-hidden])\",\n\t\tmatch: (img) => /\\b(?:image|picture|photo)\\b/i.test(img.alt)\n\t},\n\t{\n\t\tcode: \"a11y-incorrect-aria-attribute-type\",\n\t\ttitle: \"Incorrect value for ARIA attribute.\",\n\t\tmessage: \"`aria-hidden` should only receive a boolean.\",\n\t\tselector: \"[aria-hidden]\",\n\t\tmatch(element) {\n\t\t\tconst value = element.getAttribute(\"aria-hidden\");\n\t\t\tif (!value) return true;\n\t\t\tif (![\"true\", \"false\"].includes(value)) return true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-invalid-href\",\n\t\ttitle: \"Invalid `href` attribute\",\n\t\tmessage: \"`href` should not be empty, `'#'`, or `javascript:`.\",\n\t\tselector: \"a[href]:is([href=\\\"\\\"], [href=\\\"#\\\"], [href^=\\\"javascript:\\\" i])\"\n\t},\n\t{\n\t\tcode: \"a11y-invalid-label\",\n\t\ttitle: \"`label` element should have an associated control and a text content.\",\n\t\tmessage: \"The `label` element must be associated with a control either by using the `for` attribute or by containing a nested form element. Additionally, the `label` element must have text content.\",\n\t\tselector: \"label\",\n\t\tmatch(element) {\n\t\t\t// Label must be associated with a control, either using `for` or having a nested valid element\n\t\t\tconst hasFor = element.hasAttribute(\"for\");\n\t\t\tconst nestedLabelableElement = element.querySelector(`${labelableElements.join(\", \")}`);\n\t\t\tif (!hasFor && !nestedLabelableElement) return true;\n\t\t\t// Label must have text content, using innerText to ignore hidden text\n\t\t\tconst innerText = element.innerText.trim();\n\t\t\tif (innerText === \"\") return true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-media-has-caption\",\n\t\ttitle: \"Unmuted video elements should have captions\",\n\t\tmessage: \"Videos without captions can be difficult for deaf and hard-of-hearing users to follow along with. If the video does not need captions, add the `muted` attribute.\",\n\t\tselector: \"video:not([muted])\",\n\t\tmatch(element) {\n\t\t\tconst tracks = element.querySelectorAll(\"track\");\n\t\t\tif (!tracks.length) return true;\n\t\t\tconst hasCaptionTrack = Array.from(tracks).some((track) => track.getAttribute(\"kind\") === \"captions\");\n\t\t\treturn !hasCaptionTrack;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-misplaced-scope\",\n\t\ttitle: \"The `scope` attribute should only be used on `<th>` elements\",\n\t\tmessage: \"The `scope` attribute tells the browser and screen readers how to navigate tables. In HTML5, it should only be used on `<th>` elements.\",\n\t\tselector: \":not(th)[scope]\"\n\t},\n\t{\n\t\tcode: \"a11y-missing-attribute\",\n\t\ttitle: \"Required attributes missing.\",\n\t\tdescription: \"Some HTML elements require additional attributes for accessibility. For example, an `img` element requires an `alt` attribute, this attribute is used to describe the content of the image for screen readers.\",\n\t\tmessage: (element) => {\n\t\t\tconst requiredAttributes = a11y_required_attributes[element.localName];\n\t\t\tconst missingAttributes = requiredAttributes.filter((attribute) => !element.hasAttribute(attribute));\n\t\t\treturn `${element.localName} element is missing required attributes for accessibility: ${missingAttributes.join(\", \")} `;\n\t\t},\n\t\tselector: Object.keys(a11y_required_attributes).join(\",\"),\n\t\tmatch(element) {\n\t\t\tconst requiredAttributes = a11y_required_attributes[element.localName];\n\t\t\tif (!requiredAttributes) return true;\n\t\t\tfor (const attribute of requiredAttributes) {\n\t\t\t\tif (!element.hasAttribute(attribute)) return true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-missing-content\",\n\t\ttitle: \"Missing content\",\n\t\tmessage: \"Headings and anchors must have an accessible name, which can come from: inner text, aria-label, aria-labelledby, an img with alt property, or an svg with a tag <title></title>.\",\n\t\tselector: a11y_required_content.join(\",\"),\n\t\tmatch(element) {\n\t\t\tif (isHiddenByClosedDetails(element)) return false;\n\t\t\t// innerText is used to ignore hidden text\n\t\t\tconst innerText = element.innerText?.trim();\n\t\t\tif (innerText && innerText !== \"\") return false;\n\t\t\t// Check for aria-label\n\t\t\tconst ariaLabel = element.getAttribute(\"aria-label\")?.trim();\n\t\t\tif (ariaLabel && ariaLabel !== \"\") return false;\n\t\t\t// Check for valid aria-labelledby\n\t\t\tconst ariaLabelledby = element.getAttribute(\"aria-labelledby\")?.trim();\n\t\t\tif (ariaLabelledby) {\n\t\t\t\tconst ids = ariaLabelledby.split(\" \");\n\t\t\t\tfor (const id of ids) {\n\t\t\t\t\tconst referencedElement = document.getElementById(id);\n\t\t\t\t\tif (referencedElement && referencedElement.innerText.trim() !== \"\") return false;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check for <img> with valid alt attribute\n\t\t\tconst imgElements = element.querySelectorAll(\"img\");\n\t\t\tfor (const img of imgElements) {\n\t\t\t\tconst altAttribute = img.getAttribute(\"alt\");\n\t\t\t\tif (altAttribute && altAttribute.trim() !== \"\") return false;\n\t\t\t}\n\t\t\t// Check for <svg> with valid title\n\t\t\tconst svgElements = element.querySelectorAll(\"svg\");\n\t\t\tfor (const svg of svgElements) {\n\t\t\t\tconst titleText = svg.querySelector(\"title\");\n\t\t\t\tif (titleText && titleText.textContent && titleText.textContent.trim() !== \"\") return false;\n\t\t\t}\n\t\t\tconst inputElements = element.querySelectorAll(\"input\");\n\t\t\tfor (const input of inputElements) {\n\t\t\t\t// Check for alt attribute if input type is image\n\t\t\t\tif (input.type === \"image\") {\n\t\t\t\t\tconst altAttribute = input.getAttribute(\"alt\");\n\t\t\t\t\tif (altAttribute && altAttribute.trim() !== \"\") return false;\n\t\t\t\t}\n\t\t\t\t// Check for aria-label\n\t\t\t\tconst inputAriaLabel = input.getAttribute(\"aria-label\")?.trim();\n\t\t\t\tif (inputAriaLabel && inputAriaLabel !== \"\") return false;\n\t\t\t\t// Check for aria-labelledby\n\t\t\t\tconst inputAriaLabelledby = input.getAttribute(\"aria-labelledby\")?.trim();\n\t\t\t\tif (inputAriaLabelledby) {\n\t\t\t\t\tconst ids = inputAriaLabelledby.split(\" \");\n\t\t\t\t\tfor (const id of ids) {\n\t\t\t\t\t\tconst referencedElement = document.getElementById(id);\n\t\t\t\t\t\tif (referencedElement && referencedElement.innerText.trim() !== \"\") return false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Check for title\n\t\t\t\tconst title = input.getAttribute(\"title\")?.trim();\n\t\t\t\tif (title && title !== \"\") return false;\n\t\t\t}\n\t\t\t// If all checks fail, return true indicating missing content\n\t\t\treturn true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-no-redundant-roles\",\n\t\ttitle: \"HTML element has redundant ARIA roles\",\n\t\tmessage: \"Giving these elements an ARIA role that is already set by the browser has no effect and is redundant.\",\n\t\t// The selector is all elements that have an implicit role, as well as input elements since their implicit role can change based on their attributes\n\t\tselector: `[role]:is(${[...a11y_implicit_semantics.keys()].join(\",\")},input)`,\n\t\tmatch(element) {\n\t\t\tconst role = element.getAttribute(\"role\");\n\t\t\tif (!role) return false;\n\t\t\tconst localName = element.localName;\n\t\t\tif (localName === \"ul\" && role === \"list\" || localName === \"ol\" && role === \"list\" || localName === \"li\" && role === \"listitem\") {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (localName === \"input\") {\n\t\t\t\tconst type = element.getAttribute(\"type\") || \"text\";\n\t\t\t\tconst implicitRoleForType = input_type_to_implicit_role.get(type);\n\t\t\t\t// If the input type doesn't have an implicit role, then it can take any role without being redundant\n\t\t\t\t// Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#:~:text=phrasing%20content.-,Implicit%20ARIA%20role,-type%3Dbutton%3A\n\t\t\t\treturn role === implicitRoleForType;\n\t\t\t}\n\t\t\t// TODO: Handle menuitem and elements that inherit their role from their parent\n\t\t\tconst getConditionalRole = conditional_implicit_roles.get(localName);\n\t\t\tif (getConditionalRole) {\n\t\t\t\tconst effectiveRole = getConditionalRole(element);\n\t\t\t\treturn effectiveRole ? role === effectiveRole : false;\n\t\t\t}\n\t\t\tconst implicitRole = a11y_implicit_semantics.get(localName);\n\t\t\tif (!implicitRole) return false;\n\t\t\treturn role === implicitRole;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-no-interactive-element-to-noninteractive-role\",\n\t\ttitle: \"Non-interactive ARIA role used on interactive HTML element.\",\n\t\tmessage: \"Interactive HTML elements like `<a>` and `<button>` cannot use non-interactive roles like `heading`, `list`, `menu`, and `toolbar`.\",\n\t\tselector: `[role]:is(${interactiveElements.join(\",\")})`,\n\t\tmatch(element) {\n\t\t\tif (!isInteractive(element)) return false;\n\t\t\tconst role = element.getAttribute(\"role\");\n\t\t\tif (!role) return false;\n\t\t\tif (!ariaRoles.has(role)) return false;\n\t\t\tif (roleless_elements.includes(element.localName)) return false;\n\t\t\tif (aria_non_interactive_roles.includes(role)) return true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-no-noninteractive-element-to-interactive-role\",\n\t\ttitle: \"Interactive ARIA role used on non-interactive HTML element.\",\n\t\tmessage: \"Interactive roles should not be used to convert a non-interactive element to an interactive element\",\n\t\tselector: `[role]:not(${interactiveElements.join(\",\")})`,\n\t\tmatch(element) {\n\t\t\tif (!isInteractive(element)) return false;\n\t\t\tconst role = element.getAttribute(\"role\");\n\t\t\tif (!role) return false;\n\t\t\tif (!ariaRoles.has(role)) return false;\n\t\t\tconst exceptions = a11y_non_interactive_element_to_interactive_role_exceptions[element.localName];\n\t\t\tif (exceptions?.includes(role)) return false;\n\t\t\tif (roleless_elements.includes(element.localName)) return false;\n\t\t\tif (!aria_non_interactive_roles.includes(role)) return true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-no-noninteractive-tabindex\",\n\t\ttitle: \"Invalid `tabindex` on non-interactive element\",\n\t\tdescription: \"The `tabindex` attribute should only be used on interactive elements, as it can be confusing for keyboard-only users to navigate through non-interactive elements. If your element is only conditionally interactive, consider using `tabindex=\\\"-1\\\"` to make it focusable only when it is actually interactive.\",\n\t\tmessage: (element) => `${element.localName} elements should not have \\`tabindex\\` attribute`,\n\t\tselector: \"[tabindex]:not([role=\\\"tabpanel\\\"])\",\n\t\tmatch(element) {\n\t\t\t// Scrollable elements are considered interactive\n\t\t\t// See: https://www.w3.org/WAI/standards-guidelines/act/rules/0ssw9k/proposed/\n\t\t\tconst isScrollable = element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;\n\t\t\tif (isScrollable) return false;\n\t\t\tif (element.localName === \"pre\") return false;\n\t\t\tif (!isInteractive(element)) return false;\n\t\t\tif (!interactiveElements.includes(element.localName) && !roleless_elements.includes(element.localName)) return true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-positive-tabindex\",\n\t\ttitle: \"Avoid positive `tabindex` property values\",\n\t\tmessage: \"This will move elements out of the expected tab order, creating a confusing experience for keyboard users.\",\n\t\tselector: \"[tabindex]:not([tabindex=\\\"-1\\\"]):not([tabindex=\\\"0\\\"])\"\n\t},\n\t{\n\t\tcode: \"a11y-role-has-required-aria-props\",\n\t\ttitle: \"Missing attributes required for ARIA role\",\n\t\tmessage: (element) => {\n\t\t\tconst { __astro_role: role, __astro_missing_attributes: required } = element;\n\t\t\treturn `${element.localName} element is missing required attributes for its role (${role}): ${required.join(\", \")}`;\n\t\t},\n\t\tselector: \"*\",\n\t\tmatch(element) {\n\t\t\tconst role = getRole(element);\n\t\t\tif (!role) return false;\n\t\t\tif (is_semantic_role_element(role, element.localName, getAttributeObject(element))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst elementRoles = role.split(WHITESPACE_REGEX);\n\t\t\tfor (const elementRole of elementRoles) {\n\t\t\t\tconst roleData = roles.get(normalizeAriaRole(elementRole));\n\t\t\t\tif (!roleData) continue;\n\t\t\t\tconst { requiredProps } = roleData;\n\t\t\t\tconst required_role_props = Object.keys(requiredProps);\n\t\t\t\tconst missingProps = required_role_props.filter((prop) => !element.hasAttribute(prop));\n\t\t\t\tif (missingProps.length > 0) {\n\t\t\t\t\telement.__astro_role = elementRole;\n\t\t\t\t\telement.__astro_missing_attributes = missingProps;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-role-supports-aria-props\",\n\t\ttitle: \"Unsupported ARIA attribute\",\n\t\tmessage: (element) => {\n\t\t\tconst { __astro_role: role, __astro_unsupported_attributes: unsupported } = element;\n\t\t\treturn `${element.localName} element has ARIA attributes that are not supported by its role (${role}): ${unsupported.join(\", \")}`;\n\t\t},\n\t\tselector: \"*\",\n\t\tmatch(element) {\n\t\t\tconst role = getRole(element);\n\t\t\tif (!role) return false;\n\t\t\tconst elementRoles = role.split(WHITESPACE_REGEX);\n\t\t\tfor (const elementRole of elementRoles) {\n\t\t\t\tconst roleData = roles.get(normalizeAriaRole(elementRole));\n\t\t\t\tif (!roleData) continue;\n\t\t\t\tconst { props } = roleData;\n\t\t\t\tconst attributes = getAttributeObject(element);\n\t\t\t\tconst unsupportedAttributes = aria.keys().filter((attribute) => !(attribute in props));\n\t\t\t\tconst invalidAttributes = Object.keys(attributes).filter((key) => key.startsWith(\"aria-\") && unsupportedAttributes.includes(key));\n\t\t\t\tif (invalidAttributes.length > 0) {\n\t\t\t\t\telement.__astro_role = elementRole;\n\t\t\t\t\telement.__astro_unsupported_attributes = invalidAttributes;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-structure\",\n\t\ttitle: \"Invalid DOM structure\",\n\t\tmessage: \"The DOM structure must be valid for accessibility of the page, for example `figcaption` must be a direct child of `figure`.\",\n\t\tselector: \"figcaption:not(figure > figcaption)\"\n\t},\n\t{\n\t\tcode: \"a11y-unknown-aria-attribute\",\n\t\ttitle: \"Unknown ARIA attribute\",\n\t\tmessage: \"ARIA attributes prefixed with `aria-` must be valid, non-abstract ARIA attributes.\",\n\t\tselector: \"*\",\n\t\tmatch(element) {\n\t\t\tfor (const attribute of element.attributes) {\n\t\t\t\tif (attribute.name.startsWith(\"aria-\")) {\n\t\t\t\t\tif (!ariaAttributes.has(attribute.name.slice(\"aria-\".length))) return true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tcode: \"a11y-unknown-role\",\n\t\ttitle: \"Unknown ARIA role\",\n\t\tmessage: \"ARIA roles must be valid, non-abstract ARIA roles.\",\n\t\tselector: \"[role]\",\n\t\tmatch(element) {\n\t\t\tconst role = element.getAttribute(\"role\");\n\t\t\tif (!role) return true;\n\t\t\tif (!ariaRoles.has(role)) return true;\n\t\t}\n\t}\n];\n/**\n* Exceptions to the rule which follows common A11y conventions\n* TODO make this configurable by the user\n* @type {Record<string, string[]>}\n*/\nconst a11y_non_interactive_element_to_interactive_role_exceptions = {\n\tul: [\n\t\t\"listbox\",\n\t\t\"menu\",\n\t\t\"menubar\",\n\t\t\"radiogroup\",\n\t\t\"tablist\",\n\t\t\"tree\",\n\t\t\"treegrid\"\n\t],\n\tol: [\n\t\t\"listbox\",\n\t\t\"menu\",\n\t\t\"menubar\",\n\t\t\"radiogroup\",\n\t\t\"tablist\",\n\t\t\"tree\",\n\t\t\"treegrid\"\n\t],\n\tli: [\n\t\t\"menuitem\",\n\t\t\"option\",\n\t\t\"row\",\n\t\t\"tab\",\n\t\t\"treeitem\"\n\t],\n\ttable: [\"grid\"],\n\ttd: [\"gridcell\"],\n\tfieldset: [\"radiogroup\", \"presentation\"]\n};\nconst combobox_if_list = [\n\t\"email\",\n\t\"search\",\n\t\"tel\",\n\t\"text\",\n\t\"url\"\n];\nfunction input_implicit_role(attributes) {\n\tif (!(\"type\" in attributes)) return;\n\tconst { type, list } = attributes;\n\tif (!type) return;\n\tif (list && combobox_if_list.includes(type)) {\n\t\treturn \"combobox\";\n\t}\n\treturn input_type_to_implicit_role.get(type);\n}\nfunction menuitem_implicit_role(attributes) {\n\tif (!(\"type\" in attributes)) return;\n\tconst { type } = attributes;\n\tif (!type) return;\n\treturn menuitem_type_to_implicit_role.get(type);\n}\n// Some ARIA role names used in the spec (and by browsers) differ from the keys\n// used in aria-query's roles map. This map normalizes those mismatches so that\n// roles.get() lookups succeed. For example, WAI-ARIA 1.2 uses \"image\" but\n// aria-query only has \"img\".\nconst ariaQueryRoleAliases = { image: \"img\" };\nfunction normalizeAriaRole(role) {\n\treturn ariaQueryRoleAliases[role] ?? role;\n}\nfunction getRole(element) {\n\tif (element.hasAttribute(\"role\")) {\n\t\treturn element.getAttribute(\"role\");\n\t}\n\treturn getImplicitRole(element);\n}\nfunction getImplicitRole(element) {\n\tconst name = element.localName;\n\tconst attrs = getAttributeObject(element);\n\tif (name === \"menuitem\") {\n\t\treturn menuitem_implicit_role(attrs);\n\t} else if (name === \"input\") {\n\t\treturn input_implicit_role(attrs);\n\t} else {\n\t\treturn a11y_implicit_semantics.get(name);\n\t}\n}\nfunction getAttributeObject(element) {\n\tlet obj = {};\n\tfor (let i = 0; i < element.attributes.length; i++) {\n\t\tconst attribute = element.attributes.item(i);\n\t\tobj[attribute.name] = attribute.value;\n\t}\n\treturn obj;\n}\nfunction is_semantic_role_element(role, tag_name, attributes) {\n\tfor (const [schema, ax_object] of elementAXObjects.entries()) {\n\t\tif (schema.name === tag_name && (!schema.attributes || schema.attributes.every((attr) => attributes[attr.name] === attr.value))) {\n\t\t\tfor (const name of ax_object) {\n\t\t\t\tconst axRoles = AXObjectRoles.get(name);\n\t\t\t\tif (axRoles) {\n\t\t\t\t\tfor (const { name: _name } of axRoles) {\n\t\t\t\t\t\tif (_name === role) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n","// A regular expression to match external URLs\nconst EXTERNAL_URL_REGEX = /^(?:[a-z+]+:)?\\/\\//i;\nexport const perf = [\n\t{\n\t\tcode: \"perf-use-image-component\",\n\t\ttitle: \"Use the Image component\",\n\t\tmessage: \"This image could be replaced with the Image component to improve performance.\",\n\t\tselector: \"img:not([data-image-component])\",\n\t\tasync match(element) {\n\t\t\t// Skip images inside framework components (React, Vue, Svelte, etc.)\n\t\t\t// These are wrapped in astro-island and can't directly use Astro's Image component\n\t\t\tif (element.closest(\"astro-island\")) return false;\n\t\t\tconst src = element.getAttribute(\"src\");\n\t\t\tif (!src) return false;\n\t\t\t// Don't match data URIs, they're typically used for specific use-cases that the image component doesn't help with\n\t\t\tif (src.startsWith(\"data:\")) return false;\n\t\t\t// Ignore images that are smaller than 20KB, most of the time the image component won't really help with these, or they're used for specific use-cases (pixel tracking, etc.)\n\t\t\t// Ignore this test for remote images for now, fetching them can be very slow and possibly dangerous\n\t\t\tif (!EXTERNAL_URL_REGEX.test(src)) {\n\t\t\t\tconst imageData = await fetch(src).then((response) => response.blob());\n\t\t\t\tif (imageData.size < 20480) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"perf-use-loading-lazy\",\n\t\ttitle: \"Unoptimized loading attribute\",\n\t\tmessage: (element) => `This ${element.nodeName} tag is below the fold and could be lazy-loaded to improve performance.`,\n\t\tselector: \"img:not([loading]), img[loading=\\\"eager\\\"], iframe:not([loading]), iframe[loading=\\\"eager\\\"]\",\n\t\tmatch(element) {\n\t\t\tconst htmlElement = element;\n\t\t\t// Ignore elements that are above the fold, they should be loaded eagerly\n\t\t\tlet currentElement = element;\n\t\t\tlet elementYPosition = 0;\n\t\t\twhile (currentElement) {\n\t\t\t\telementYPosition += currentElement.offsetTop;\n\t\t\t\tcurrentElement = currentElement.offsetParent;\n\t\t\t}\n\t\t\tif (elementYPosition < window.innerHeight) return false;\n\t\t\t// Ignore elements using `data:` URI, the `loading` attribute doesn't do anything for these\n\t\t\tif (htmlElement.src.startsWith(\"data:\")) return false;\n\t\t\treturn true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"perf-use-loading-eager\",\n\t\ttitle: \"Unoptimized loading attribute\",\n\t\tmessage: (element) => `This ${element.nodeName} tag is above the fold and could be eagerly-loaded to improve performance.`,\n\t\tselector: \"img[loading=\\\"lazy\\\"], iframe[loading=\\\"lazy\\\"]\",\n\t\tmatch(element) {\n\t\t\tconst htmlElement = element;\n\t\t\t// Ignore elements that are below the fold, they should be loaded lazily\n\t\t\tlet currentElement = element;\n\t\t\tlet elementYPosition = 0;\n\t\t\twhile (currentElement) {\n\t\t\t\telementYPosition += currentElement.offsetTop;\n\t\t\t\tcurrentElement = currentElement.offsetParent;\n\t\t\t}\n\t\t\tif (elementYPosition > window.innerHeight) return false;\n\t\t\t// Ignore elements using `data:` URI, the `loading` attribute doesn't do anything for these\n\t\t\tif (htmlElement.src.startsWith(\"data:\")) return false;\n\t\t\treturn true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"perf-use-videos\",\n\t\ttitle: \"Use videos instead of GIFs for large animations\",\n\t\tmessage: \"This GIF could be replaced with a video to reduce its file size and improve performance.\",\n\t\tselector: \"img[src$=\\\".gif\\\"]\",\n\t\tasync match(element) {\n\t\t\tconst src = element.getAttribute(\"src\");\n\t\t\tif (!src) return false;\n\t\t\t// Ignore remote URLs\n\t\t\tif (EXTERNAL_URL_REGEX.test(src)) return false;\n\t\t\t// Ignore GIFs that are smaller than 100KB, those are typically small enough to not be a problem\n\t\t\tif (!EXTERNAL_URL_REGEX.test(src)) {\n\t\t\t\tconst imageData = await fetch(src).then((response) => response.blob());\n\t\t\t\tif (imageData.size < 102400) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t},\n\t{\n\t\tcode: \"perf-slow-component-server-render\",\n\t\ttitle: \"Server-rendered component took a long time to render\",\n\t\tmessage: (element) => `This component took an unusually long time to render on the server (${getCleanRenderingTime(element.getAttribute(\"server-render-time\"))}). This might be a sign that it's doing too much work on the server, or something is blocking rendering.`,\n\t\tselector: \"astro-island[server-render-time]\",\n\t\tmatch(element) {\n\t\t\tconst serverRenderTime = element.getAttribute(\"server-render-time\");\n\t\t\tif (!serverRenderTime) return false;\n\t\t\tconst renderingTime = Number.parseFloat(serverRenderTime);\n\t\t\tif (Number.isNaN(renderingTime)) return false;\n\t\t\treturn renderingTime > 500;\n\t\t}\n\t},\n\t{\n\t\tcode: \"perf-slow-component-client-hydration\",\n\t\ttitle: \"Client-rendered component took a long time to hydrate\",\n\t\tmessage: (element) => `This component took an unusually long time to render on the server (${getCleanRenderingTime(element.getAttribute(\"client-render-time\"))}). This could be a sign that something is blocking the main thread and preventing the component from hydrating quickly.`,\n\t\tselector: \"astro-island[client-render-time]\",\n\t\tmatch(element) {\n\t\t\tconst clientRenderTime = element.getAttribute(\"client-render-time\");\n\t\t\tif (!clientRenderTime) return false;\n\t\t\tconst renderingTime = Number.parseFloat(clientRenderTime);\n\t\t\tif (Number.isNaN(renderingTime)) return false;\n\t\t\treturn renderingTime > 500;\n\t\t}\n\t}\n];\nfunction getCleanRenderingTime(time) {\n\tif (!time) return \"unknown\";\n\tconst renderingTime = Number.parseFloat(time);\n\tif (Number.isNaN(renderingTime)) return \"unknown\";\n\treturn renderingTime.toFixed(2) + \"s\";\n}\n","import { settings } from \"../../../settings.js\";\nimport { a11y } from \"./a11y.js\";\nimport { perf } from \"./perf.js\";\nexport const rulesCategories = [{\n\tcode: \"a11y\",\n\tname: \"Accessibility\",\n\ticon: \"person-arms-spread\",\n\trules: a11y\n}, {\n\tcode: \"perf\",\n\tname: \"Performance\",\n\ticon: \"gauge\",\n\trules: perf\n}];\nconst dynamicAuditRuleKeys = [\n\t\"title\",\n\t\"message\",\n\t\"description\"\n];\nexport function resolveAuditRule(rule, element) {\n\tlet resolved = { ...rule };\n\tfor (const key of dynamicAuditRuleKeys) {\n\t\tconst value = rule[key];\n\t\tif (typeof value === \"string\") continue;\n\t\ttry {\n\t\t\tif (!value) {\n\t\t\t\tresolved[key] = \"\";\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tresolved[key] = value(element);\n\t\t} catch (err) {\n\t\t\tsettings.logger.error(`Error resolving dynamic audit rule ${rule.code}'s ${key}: ${err}`);\n\t\t\tresolved[key] = \"Error resolving dynamic rule\";\n\t\t}\n\t}\n\treturn resolved;\n}\nexport function getAuditCategory(rule) {\n\treturn rule.code.split(\"-\")[0];\n}\nexport const categoryLabel = {\n\tperf: \"performance\",\n\ta11y: \"accessibility\"\n};\n","export class DevToolbarAuditListItem extends HTMLElement {\n\tclickAction;\n\tshadowRoot;\n\tisManualFocus;\n\tconstructor() {\n\t\tsuper();\n\t\tthis.shadowRoot = this.attachShadow({ mode: \"open\" });\n\t\tthis.isManualFocus = false;\n\t\tthis.shadowRoot.innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host>button, :host>div {\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\tpadding: 16px;\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t\tborder: none;\n\t\t\t\t\tborder-bottom: 1px solid #1F2433;\n\t\t\t\t\ttext-decoration: none;\n\t\t\t\t\twidth: 100%;\n\t \t\theight: 100%;\n\t\t\t\t}\n\n\t\t\t\th1, h2, h3, h4, h5, h6 {\n\t\t\t\t\tcolor: #fff;\n\t\t\t\t\tfont-weight: 600;\n\t\t\t\t}\n\n\t\t\t\t:host>button:hover, :host([hovered])>button {\n\t\t\t\t\tbackground: #FFFFFF20;\n\t\t\t\t}\n\n\t\t\t\tsvg {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tmargin: 0 auto;\n\t\t\t\t}\n\n\t\t\t:host>button#astro-overlay-card {\n\t\t\t text-align: left;\n\t\t\t\tbox-shadow: none;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\toverflow: hidden;\n\t\t\t\tgap: 8px;\n\t\t\t}\n\n\t\t\t:host(:not([active]))>button:hover {\n\t\t\t cursor: pointer;\n\t\t\t}\n\n\t\t\t.extended-info {\n\t\t\t\tdisplay: none;\n\t\t\t\tcolor: white;\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\n\t\t\t.extended-info hr {\n\t\t\t\tborder: 1px solid rgba(27, 30, 36, 1);\n\t\t\t}\n\n\t\t\t:host([active]) .extended-info {\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\theight: 100%;\n\t\t\t\ttop: 98px;\n\t\t\t\theight: calc(100% - 98px);\n\t\t\t\tbackground: #0d0e12;\n\t\t\t\tuser-select: text;\n\t\t\t\toverflow: auto;\n\t\t\t\tborder: none;\n\t\t\t\tz-index: 1000000000;\n\t\t\t\tflex-direction: column;\n\t\t\t\tline-height: 1.25rem;\n\t\t\t}\n\n\t\t\t:host([active])>button#astro-overlay-card {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.audit-title {\n\t\t\t\tmargin: 0;\n\t\t\t\tmargin-bottom: 4px;\n\t\t\t}\n\n\t\t\t.extended-info .audit-selector {\n\t\t\t\tfont-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tborder-bottom: 1px solid transparent;\n\t\t\t\tuser-select: none;\n\t\t\t\tcolor: rgba(191, 193, 201, 1);\n\t\t\t}\n\n\t\t\t.extended-info .audit-selector:hover {\n\t\t\t\tborder-bottom: 1px solid rgba(255, 255, 255);\n\t\t\t\tcursor: pointer;\n\t\t\t\tcolor: #fff;\n\t\t\t}\n\n\t\t\t.audit-selector svg {\n\t\t\t\twidth: 16px;\n\t\t\t\theight: 16px;\n \t\tdisplay: inline;\n\t\t\t}\n\n\t\t\t.extended-info .audit-description {\n\t\t\t\tcolor: rgba(191, 193, 201, 1);\n\t\t\t}\n\n\t\t\t.extended-info code {\n\t\t\t\tpadding: 1px 3px;\n\t\t\t\tborder-radius: 3px;\n\t\t\t\tbackground: #1F2433;\n\t\t\t}\n\n\t\t\t.reset-button {\n\t\t\t\ttext-align: left;\n\t\t\t\tborder: none;\n\t\t\t\tmargin: 0;\n\t\t\t\twidth: auto;\n\t\t\t\toverflow: visible;\n\t\t\t\tbackground: transparent;\n\t\t\t\tfont: inherit;\n\t\t\t\tline-height: normal;\n\t\t\t\t-webkit-font-smoothing: inherit;\n\t\t\t\t-moz-osx-font-smoothing: inherit;\n\t\t\t\t-webkit-appearance: none;\n\t\t\t\tpadding: 0;\n\t\t\t\tcolor: white;\n\t\t\t}\n\t\t\t</style>\n\n\t\t\t<button id=\"astro-overlay-card\">\n\t\t\t\t<slot />\n\t\t\t</button>\n\t\t`;\n\t}\n\tconnectedCallback() {\n\t\tif (this.clickAction) {\n\t\t\tthis.shadowRoot.getElementById(\"astro-overlay-card\")?.addEventListener(\"click\", this.clickAction);\n\t\t}\n\t}\n}\n","import { getAuditCategory, rulesCategories } from \"../rules/index.js\";\nexport function createRoundedBadge(icon) {\n\tconst badge = document.createElement(\"astro-dev-toolbar-badge\");\n\tbadge.shadowRoot.innerHTML += `\n\t\t<style>\n\t\t\t:host>div {\n\t\t\t\tpadding: 12px 8px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 4px;\n\t\t\t}\n\t\t</style>\n\t`;\n\tbadge.innerHTML = `<astro-dev-toolbar-icon icon=\"${icon}\"></astro-dev-toolbar-icon>0`;\n\treturn {\n\t\tbadge,\n\t\tupdateCount: (count) => {\n\t\t\tif (count === 0) {\n\t\t\t\tbadge.badgeStyle = \"green\";\n\t\t\t} else {\n\t\t\t\tbadge.badgeStyle = \"purple\";\n\t\t\t}\n\t\t\tbadge.innerHTML = `<astro-dev-toolbar-icon icon=\"${icon}\"></astro-dev-toolbar-icon>${count}`;\n\t\t}\n\t};\n}\nexport class DevToolbarAuditListWindow extends HTMLElement {\n\t_audits = [];\n\tshadowRoot;\n\tbadges = {};\n\tget audits() {\n\t\treturn this._audits;\n\t}\n\tset audits(value) {\n\t\tthis._audits = value;\n\t\tthis.render();\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tthis.shadowRoot = this.attachShadow({ mode: \"open\" });\n\t\tthis.shadowRoot.innerHTML = `<style>\n\t\t\t:host {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\tbackground: linear-gradient(0deg, #13151a, #13151a), linear-gradient(0deg, #343841, #343841);\n\t\t\t\tborder: 1px solid rgba(52, 56, 65, 1);\n\t\t\t\twidth: min(640px, 100%);\n\t\t\t\tmax-height: 480px;\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tpadding: 24px;\n\t\t\t\tfont-family:\n\t\t\t\t\tui-sans-serif,\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t\"Segoe UI\",\n\t\t\t\t\tRoboto,\n\t\t\t\t\t\"Helvetica Neue\",\n\t\t\t\t\tArial,\n\t\t\t\t\t\"Noto Sans\",\n\t\t\t\t\tsans-serif,\n\t\t\t\t\t\"Apple Color Emoji\",\n\t\t\t\t\t\"Segoe UI Emoji\",\n\t\t\t\t\t\"Segoe UI Symbol\",\n\t\t\t\t\t\"Noto Color Emoji\";\n\t\t\t\tcolor: rgba(191, 193, 201, 1);\n\t\t\t\tposition: fixed;\n\t\t\t\tz-index: 2000000009;\n\t\t\t\tbottom: 72px;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tbox-shadow:\n\t\t\t\t\t0px 0px 0px 0px rgba(19, 21, 26, 0.3),\n\t\t\t\t\t0px 1px 2px 0px rgba(19, 21, 26, 0.29),\n\t\t\t\t\t0px 4px 4px 0px rgba(19, 21, 26, 0.26),\n\t\t\t\t\t0px 10px 6px 0px rgba(19, 21, 26, 0.15),\n\t\t\t\t\t0px 17px 7px 0px rgba(19, 21, 26, 0.04),\n\t\t\t\t\t0px 26px 7px 0px rgba(19, 21, 26, 0.01);\n\t\t\t}\n\n\t\t\t@media (forced-colors: active) {\n\t\t\t\t:host {\n\t\t\t\t\tbackground: white;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 640px) {\n\t\t\t\t:host {\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thr,\n\t\t\t::slotted(hr) {\n\t\t\t\tborder: 1px solid rgba(27, 30, 36, 1);\n\t\t\t\tmargin: 1em 0;\n\t\t\t}\n\n\t\t\t.reset-button {\n\t\t\t\ttext-align: left;\n\t\t\t\tborder: none;\n\t\t\t\tmargin: 0;\n\t\t\t\twidth: auto;\n\t\t\t\toverflow: visible;\n\t\t\t\tbackground: transparent;\n\t\t\t\tfont: inherit;\n\t\t\t\tline-height: normal;\n\t\t\t\t-webkit-font-smoothing: inherit;\n\t\t\t\t-moz-osx-font-smoothing: inherit;\n\t\t\t\t-webkit-appearance: none;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\n\t\t\t:host {\n\t\t\t\tleft: initial;\n\t\t\t\ttop: 8px;\n\t\t\t\tright: 8px;\n\t\t\t\ttransform: none;\n\t\t\t\twidth: 350px;\n\t\t\t\tmin-height: 350px;\n\t\t\t\tmax-height: 420px;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n\t\t\thr {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\theader {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tgap: 4px;\n\t\t\t}\n\n\t\t\theader > section {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tgap: 1em;\n\t\t\t\tpadding: 18px;\n\t\t\t}\n\n\t\t\theader.category-header {\n\t\t\t\tbackground: rgba(27, 30, 36, 1);\n\t\t\t\tpadding: 10px 16px;\n\t\t\t\tposition: sticky;\n\t\t\t\ttop: 0;\n\t\t\t}\n\n\t\t\theader.category-header astro-dev-toolbar-icon {\n\t\t\t\topacity: 0.6;\n\t\t\t}\n\n\t\t\t#audit-counts {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 0.5em;\n\t\t\t}\n\n\t\t\t#audit-counts > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 8px;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\tul,\n\t\t\tli {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\tlist-style: none;\n\t\t\t}\n\n\t\t\th1 {\n\t\t\t\tfont-size: 24px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tcolor: #fff;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\th2 {\n\t\t\t\tfont-weight: 600;\n\t\t\t\tmargin: 0;\n\t\t\t\tcolor: white;\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\n\t\t\th3 {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tmargin: 0;\n\t\t\t\tcolor: white;\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\n\t\t\t.audit-header {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 8px;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.audit-selector {\n\t\t\t\tcolor: white;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n\t\t\t\t\t\"Liberation Mono\", \"Courier New\", monospace;\n\t\t\t\tborder: 1px solid rgba(255, 255, 255, 0.1);\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tpadding: 4px 6px;\n\t\t\t}\n\n\t\t\t[active] .audit-selector:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t.selector-title-container {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tgap: 8px;\n\t\t\t}\n\n\t\t\tastro-dev-toolbar-icon {\n\t\t\t\tcolor: white;\n\t\t\t\tfill: white;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: 16px;\n\t\t\t\twidth: 16px;\n\t\t\t}\n\n\t\t\t#audit-list {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\toverflow: auto;\n\t\t\t\toverscroll-behavior: contain;\n\t\t\t\theight: 100%;\n\t\t\t}\n\n\t\t\t#back-to-list {\n\t\t\t\tdisplay: none;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\tbackground: rgba(27, 30, 36, 1);\n\t\t\t\tgap: 8px;\n\t\t\t\tpadding: 8px;\n\t\t\t\tcolor: white;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tpadding-right: 24px;\n\t\t\t}\n\n\t\t\t#back-to-list:hover {\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground: #313236;\n\t\t\t}\n\n\t\t\t#back-to-list:has(+ #audit-list astro-dev-toolbar-audit-list-item[active]) {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\n\t\t\t.no-audit-container {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\tpadding: 24px;\n\t\t\t}\n\n\t\t\t.no-audit-container h1 {\n\t\t\t\tfont-size: 20px;\n\t\t\t}\n\n\t\t\t.no-audit-container astro-dev-toolbar-icon {\n\t\t\t\twidth: auto;\n\t\t\t\theight: auto;\n\t\t\t\tmargin: 0 auto;\n\t\t\t}\n</style>\n\n<template id=\"category-template\">\n\t<div>\n\t\t<header class=\"category-header\">\n\t\t</header>\n\t\t<div class=\"category-content\"></div>\n\t</div>\n</template>\n\n<header>\n\t<section id=\"header-left\">\n\t\t<h1>Audit</h1>\n\t\t<section id=\"audit-counts\"></section>\n\t</section>\n</header>\n<hr />\n<button id=\"back-to-list\" class=\"reset-button\">\n\t<astro-dev-toolbar-icon icon=\"arrow-left\"></astro-dev-toolbar-icon>\n\tBack to list\n</button>\n<div id=\"audit-list\"></div>\n\t\t`;\n\t\t// Create badges\n\t\tconst auditCounts = this.shadowRoot.getElementById(\"audit-counts\");\n\t\tif (auditCounts) {\n\t\t\trulesCategories.forEach((category) => {\n\t\t\t\tconst headerEntryContainer = document.createElement(\"div\");\n\t\t\t\tconst auditCount = this.audits.filter((audit) => getAuditCategory(audit.rule) === category.code).length;\n\t\t\t\tconst categoryBadge = createRoundedBadge(category.icon);\n\t\t\t\tcategoryBadge.updateCount(auditCount);\n\t\t\t\theaderEntryContainer.append(categoryBadge.badge);\n\t\t\t\tauditCounts.append(headerEntryContainer);\n\t\t\t\tthis.badges[category.code] = categoryBadge;\n\t\t\t});\n\t\t}\n\t\t// Back to list button\n\t\tconst backToListButton = this.shadowRoot.getElementById(\"back-to-list\");\n\t\tif (backToListButton) {\n\t\t\tbackToListButton.addEventListener(\"click\", () => {\n\t\t\t\tconst activeAudit = this.shadowRoot.querySelector(\"astro-dev-toolbar-audit-list-item[active]\");\n\t\t\t\tif (activeAudit) {\n\t\t\t\t\tactiveAudit.toggleAttribute(\"active\", false);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tconnectedCallback() {\n\t\tthis.render();\n\t}\n\tupdateAuditList() {\n\t\tconst auditListContainer = this.shadowRoot.getElementById(\"audit-list\");\n\t\tif (auditListContainer) {\n\t\t\tauditListContainer.innerHTML = \"\";\n\t\t\tif (this.audits.length > 0) {\n\t\t\t\tfor (const category of rulesCategories) {\n\t\t\t\t\tconst template = this.shadowRoot.getElementById(\"category-template\");\n\t\t\t\t\tif (!template) return;\n\t\t\t\t\tconst clone = document.importNode(template.content, true);\n\t\t\t\t\tconst categoryContainer = clone.querySelector(\"div\");\n\t\t\t\t\tconst categoryHeader = clone.querySelector(\".category-header\");\n\t\t\t\t\tcategoryHeader.innerHTML = `<astro-dev-toolbar-icon icon=\"${category.icon}\"></astro-dev-toolbar-icon><h2>${category.name}</h2>`;\n\t\t\t\t\tcategoryContainer.append(categoryHeader);\n\t\t\t\t\tconst categoryContent = clone.querySelector(\".category-content\");\n\t\t\t\t\tconst categoryAudits = this.audits.filter((audit) => getAuditCategory(audit.rule) === category.code);\n\t\t\t\t\tfor (const audit of categoryAudits) {\n\t\t\t\t\t\tif (audit.card) categoryContent.append(audit.card);\n\t\t\t\t\t}\n\t\t\t\t\tcategoryContainer.append(categoryContent);\n\t\t\t\t\tauditListContainer.append(categoryContainer);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst noAuditContainer = document.createElement(\"div\");\n\t\t\t\tnoAuditContainer.classList.add(\"no-audit-container\");\n\t\t\t\tnoAuditContainer.innerHTML = `\n\t\t\t\t\t<header>\n\t\t\t\t\t\t<h1></astro-dev-toolbar-icon>No accessibility or performance issues detected.</h1>\n\t\t\t\t\t</header>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tNice work! This app scans the page and highlights common accessibility and performance issues for you, like a missing \"alt\" attribute on an image, or an image not using performant attributes.\n\t\t\t\t\t</p>\n\t\t\t\t\t<astro-dev-toolbar-icon icon=\"houston-detective\"></astro-dev-toolbar-icon>\n\t\t\t\t\t`;\n\t\t\t\tauditListContainer.append(noAuditContainer);\n\t\t\t}\n\t\t}\n\t}\n\tupdateBadgeCounts() {\n\t\tfor (const category of rulesCategories) {\n\t\t\tconst auditCount = this.audits.filter((audit) => getAuditCategory(audit.rule) === category.code).length;\n\t\t\tthis.badges[category.code].updateCount(auditCount);\n\t\t}\n\t}\n\trender() {\n\t\tthis.updateAuditList();\n\t\tthis.updateBadgeCounts();\n\t}\n}\n","import { escape as escapeHTML } from \"html-escaper\";\nimport { attachTooltipToHighlight, createHighlight, getElementsPositionInDocument } from \"../../utils/highlight.js\";\nimport { getAnnotationsForElement } from \"../annotations.js\";\nimport { resolveAuditRule } from \"../rules/index.js\";\nfunction truncate(val, maxLength) {\n\treturn val.length > maxLength ? val.slice(0, maxLength - 1) + \"&hellip;\" : val;\n}\nexport function createAuditUI(audit, audits) {\n\tconst rect = audit.auditedElement.getBoundingClientRect();\n\tconst highlight = createHighlight(rect, \"warning\", { \"data-audit-code\": audit.rule.code });\n\tconst resolvedAuditRule = resolveAuditRule(audit.rule, audit.auditedElement);\n\tconst tooltip = buildAuditTooltip(resolvedAuditRule, audit.auditedElement);\n\tconst card = buildAuditCard(resolvedAuditRule, highlight, audit.auditedElement, audits);\n\t// If a highlight is hovered or focused, highlight the corresponding card for it\n\t[\"focus\", \"mouseover\"].forEach((event) => {\n\t\tconst attribute = event === \"focus\" ? \"active\" : \"hovered\";\n\t\thighlight.addEventListener(event, () => {\n\t\t\tif (event === \"focus\") {\n\t\t\t\taudits.forEach((adt) => {\n\t\t\t\t\tif (adt.card) adt.card.toggleAttribute(\"active\", false);\n\t\t\t\t});\n\t\t\t\tif (!card.isManualFocus) card.scrollIntoView();\n\t\t\t\tcard.toggleAttribute(\"active\", true);\n\t\t\t} else {\n\t\t\t\tcard.toggleAttribute(attribute, true);\n\t\t\t}\n\t\t});\n\t});\n\thighlight.addEventListener(\"mouseout\", () => {\n\t\tcard.toggleAttribute(\"hovered\", false);\n\t});\n\t// Set the highlight/tooltip as being fixed position the highlighted element\n\t// is fixed. We do this so that we don't mistakenly take scroll position\n\t// into account when setting the tooltip/highlight positioning.\n\t//\n\t// We only do this once due to how expensive computed styles are to calculate,\n\t// and are unlikely to change. If that turns out to be wrong, reconsider this.\n\tconst { isFixed } = getElementsPositionInDocument(audit.auditedElement);\n\tif (isFixed) {\n\t\ttooltip.style.position = highlight.style.position = \"fixed\";\n\t}\n\tattachTooltipToHighlight(highlight, tooltip, audit.auditedElement);\n\treturn {\n\t\thighlight,\n\t\tcard\n\t};\n}\nfunction buildAuditTooltip(rule, element) {\n\tconst tooltip = document.createElement(\"astro-dev-toolbar-tooltip\");\n\tconst { title, message } = rule;\n\ttooltip.sections = [{\n\t\ticon: \"warning\",\n\t\ttitle: escapeHTML(title)\n\t}, { content: escapeHTML(message) }];\n\tconst { file: elementFile, location: elementPosition } = getAnnotationsForElement(element) ?? {};\n\tif (elementFile) {\n\t\tconst elementFileWithPosition = elementFile + (elementPosition ? \":\" + elementPosition : \"\");\n\t\ttooltip.sections.push({\n\t\t\tcontent: elementFileWithPosition.slice(window.__astro_dev_toolbar__.root.length - 1),\n\t\t\tclickDescription: \"Click to go to file\",\n\t\t\tasync clickAction() {\n\t\t\t\t// NOTE: The path here has to be absolute and without any errors (no double slashes etc)\n\t\t\t\t// or Vite will silently fail to open the file. Quite annoying.\n\t\t\t\tawait fetch(\"/__open-in-editor?file=\" + encodeURIComponent(elementFileWithPosition));\n\t\t\t}\n\t\t});\n\t}\n\treturn tooltip;\n}\nfunction buildAuditCard(rule, highlightElement, auditedElement, audits) {\n\tconst card = document.createElement(\"astro-dev-toolbar-audit-list-item\");\n\tcard.clickAction = () => {\n\t\tif (card.hasAttribute(\"active\")) return;\n\t\taudits.forEach((audit) => {\n\t\t\taudit.card?.toggleAttribute(\"active\", false);\n\t\t});\n\t\thighlightElement.scrollIntoView();\n\t\tcard.isManualFocus = true;\n\t\thighlightElement.focus();\n\t\tcard.isManualFocus = false;\n\t};\n\tconst selectorTitleContainer = document.createElement(\"section\");\n\tselectorTitleContainer.classList.add(\"selector-title-container\");\n\tconst selector = document.createElement(\"span\");\n\tconst selectorName = truncate(auditedElement.tagName.toLowerCase(), 8);\n\tselector.classList.add(\"audit-selector\");\n\tselector.innerHTML = escapeHTML(selectorName);\n\tconst title = document.createElement(\"h3\");\n\ttitle.classList.add(\"audit-title\");\n\ttitle.innerText = rule.title;\n\tselectorTitleContainer.append(selector, title);\n\tcard.append(selectorTitleContainer);\n\tconst extendedInfo = document.createElement(\"div\");\n\textendedInfo.classList.add(\"extended-info\");\n\tconst selectorButton = document.createElement(\"button\");\n\tselectorButton.className = \"audit-selector reset-button\";\n\tselectorButton.innerHTML = `${selectorName} <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" fill=\"currentColor\" viewBox=\"0 0 256 256\"><path d=\"M128,136v64a8,8,0,0,1-16,0V155.32L45.66,221.66a8,8,0,0,1-11.32-11.32L100.68,144H56a8,8,0,0,1,0-16h64A8,8,0,0,1,128,136ZM208,32H80A16,16,0,0,0,64,48V96a8,8,0,0,0,16,0V48H208V176H160a8,8,0,0,0,0,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Z\"></path></svg>`;\n\tselectorButton.addEventListener(\"click\", () => {\n\t\thighlightElement.scrollIntoView();\n\t\thighlightElement.focus();\n\t});\n\textendedInfo.append(title.cloneNode(true));\n\textendedInfo.append(selectorButton);\n\textendedInfo.append(document.createElement(\"hr\"));\n\tconst message = document.createElement(\"p\");\n\tmessage.classList.add(\"audit-message\");\n\tmessage.innerHTML = simpleRenderMarkdown(rule.message);\n\textendedInfo.appendChild(message);\n\tconst description = rule.description;\n\tif (description) {\n\t\tconst descriptionElement = document.createElement(\"p\");\n\t\tdescriptionElement.classList.add(\"audit-description\");\n\t\tdescriptionElement.innerHTML = simpleRenderMarkdown(description);\n\t\textendedInfo.appendChild(descriptionElement);\n\t}\n\tcard.shadowRoot.appendChild(extendedInfo);\n\treturn card;\n}\nconst linkRegex = /\\[([^[]+)\\]\\((.*)\\)/g;\nconst boldRegex = /\\*\\*(.+)\\*\\*/g;\nconst codeRegex = /`([^`]+)`/g;\n/**\n* Render a very small subset of Markdown to HTML or a CLI output\n*/\nfunction simpleRenderMarkdown(markdown) {\n\treturn escapeHTML(markdown).replace(linkRegex, `<a href=\"$2\" target=\"_blank\">$1</a>`).replace(boldRegex, \"<b>$1</b>\").replace(codeRegex, \"<code>$1</code>\");\n}\n","import { settings } from \"../../settings.js\";\nimport { positionHighlight } from \"../utils/highlight.js\";\nimport { closeOnOutsideClick } from \"../utils/window.js\";\nimport { processAnnotations } from \"./annotations.js\";\nimport { rulesCategories } from \"./rules/index.js\";\nimport { DevToolbarAuditListItem } from \"./ui/audit-list-item.js\";\nimport { DevToolbarAuditListWindow } from \"./ui/audit-list-window.js\";\nimport { createAuditUI } from \"./ui/audit-ui.js\";\nconst icon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 1 20 16\\\" aria-hidden=\\\"true\\\"><path fill=\\\"#fff\\\" d=\\\"M.6 2A1.1 1.1 0 0 1 1.7.9h16.6a1.1 1.1 0 1 1 0 2.2H1.6A1.1 1.1 0 0 1 .8 2Zm1.1 7.1h6a1.1 1.1 0 0 0 0-2.2h-6a1.1 1.1 0 0 0 0 2.2ZM9.3 13H1.8a1.1 1.1 0 1 0 0 2.2h7.5a1.1 1.1 0 1 0 0-2.2Zm11.3 1.9a1.1 1.1 0 0 1-1.5 0l-1.7-1.7a4.1 4.1 0 1 1 1.6-1.6l1.6 1.7a1.1 1.1 0 0 1 0 1.6Zm-5.3-3.4a1.9 1.9 0 1 0 0-3.8 1.9 1.9 0 0 0 0 3.8Z\\\"/></svg>\";\ntry {\n\tcustomElements.define(\"astro-dev-toolbar-audit-window\", DevToolbarAuditListWindow);\n\tcustomElements.define(\"astro-dev-toolbar-audit-list-item\", DevToolbarAuditListItem);\n} catch {}\nlet showState = false;\nexport default {\n\tid: \"astro:audit\",\n\tname: \"Audit\",\n\ticon,\n\tasync init(canvas, eventTarget) {\n\t\tlet audits = [];\n\t\tlet auditWindow = document.createElement(\"astro-dev-toolbar-audit-window\");\n\t\tlet hasCreatedUI = false;\n\t\tauditWindow.popover = \"\";\n\t\tcanvas.appendChild(auditWindow);\n\t\tawait run();\n\t\tlet mutationDebounce;\n\t\tconst observer = new MutationObserver(() => {\n\t\t\t// We don't want to rerun the audit lints on every single mutation, so we'll debounce it.\n\t\t\tif (mutationDebounce) {\n\t\t\t\tclearTimeout(mutationDebounce);\n\t\t\t}\n\t\t\tmutationDebounce = setTimeout(() => {\n\t\t\t\tsettings.logger.verboseLog(\"Rerunning audit lints because the DOM has been updated.\");\n\t\t\t\t// Even though we're ready to run the lints, we'll wait for the next idle period to do so, as it is less likely\n\t\t\t\t// to interfere with any other work the browser is doing post-mutation. For instance, the page or the user might\n\t\t\t\t// be interacting with the newly added elements, or the browser might be doing some work (layout, paint, etc.)\n\t\t\t\tif (\"requestIdleCallback\" in window) {\n\t\t\t\t\twindow.requestIdleCallback(async () => {\n\t\t\t\t\t\trun().then(() => {\n\t\t\t\t\t\t\tif (showState) createAuditsUI();\n\t\t\t\t\t\t});\n\t\t\t\t\t}, { timeout: 300 });\n\t\t\t\t} else {\n\t\t\t\t\t// Fallback for old versions of Safari, we'll assume that things are less likely to be busy after 150ms.\n\t\t\t\t\tsetTimeout(async () => {\n\t\t\t\t\t\trun().then(() => {\n\t\t\t\t\t\t\tif (showState) createAuditsUI();\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 150);\n\t\t\t\t}\n\t\t\t}, 250);\n\t\t});\n\t\tsetupObserver();\n\t\tdocument.addEventListener(\"astro:before-preparation\", () => {\n\t\t\tobserver.disconnect();\n\t\t});\n\t\tdocument.addEventListener(\"astro:after-swap\", async () => {\n\t\t\trun();\n\t\t});\n\t\tdocument.addEventListener(\"astro:page-load\", async () => {\n\t\t\trefreshLintPositions();\n\t\t\t// HACK: View transitions add a route announcer after this event, so we need to wait for it to be added\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetupObserver();\n\t\t\t}, 100);\n\t\t});\n\t\teventTarget.addEventListener(\"app-toggled\", (event) => {\n\t\t\tif (event.detail.state === true) {\n\t\t\t\tshowState = true;\n\t\t\t\tcreateAuditsUI();\n\t\t\t} else {\n\t\t\t\tshowState = false;\n\t\t\t}\n\t\t});\n\t\tcloseOnOutsideClick(eventTarget, () => {\n\t\t\tconst activeAudits = audits.filter((audit) => audit.card?.hasAttribute(\"active\"));\n\t\t\tif (activeAudits.length > 0) {\n\t\t\t\tactiveAudits.forEach((audit) => {\n\t\t\t\t\taudit.card?.toggleAttribute(\"active\", false);\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\tasync function createAuditsUI() {\n\t\t\tif (hasCreatedUI) return;\n\t\t\tconst fragment = document.createDocumentFragment();\n\t\t\tfor (const audit of audits) {\n\t\t\t\tconst { card, highlight } = createAuditUI(audit, audits);\n\t\t\t\taudit.card = card;\n\t\t\t\taudit.highlight = highlight;\n\t\t\t\tfragment.appendChild(highlight);\n\t\t\t}\n\t\t\tauditWindow.audits = audits;\n\t\t\tcanvas.appendChild(fragment);\n\t\t\thasCreatedUI = true;\n\t\t}\n\t\tasync function run() {\n\t\t\tprocessAnnotations();\n\t\t\tawait lint();\n\t\t}\n\t\tasync function lint() {\n\t\t\t// Clear the previous audits\n\t\t\tif (audits.length > 0) {\n\t\t\t\taudits.forEach((audit) => {\n\t\t\t\t\taudit.highlight?.remove();\n\t\t\t\t\taudit.card?.remove();\n\t\t\t\t});\n\t\t\t\taudits = [];\n\t\t\t\thasCreatedUI = false;\n\t\t\t}\n\t\t\tconst selectorCache = new Map();\n\t\t\tfor (const ruleCategory of rulesCategories) {\n\t\t\t\tfor (const rule of ruleCategory.rules) {\n\t\t\t\t\tconst elements = selectorCache.get(rule.selector) ?? document.querySelectorAll(rule.selector);\n\t\t\t\t\tlet matches = [];\n\t\t\t\t\tif (typeof rule.match === \"undefined\") {\n\t\t\t\t\t\tmatches = Array.from(elements);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (const element of elements) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (await rule.match(element)) {\n\t\t\t\t\t\t\t\t\tmatches.push(element);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\tsettings.logger.error(`Error while running audit's match function: ${e}`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfor (const element of matches) {\n\t\t\t\t\t\t// Don't audit elements that already have an audit on them\n\t\t\t\t\t\t// TODO: This is a naive implementation, it'd be good to show all the audits for an element at the same time.\n\t\t\t\t\t\tif (audits.some((audit) => audit.auditedElement === element)) continue;\n\t\t\t\t\t\tawait createAuditProblem(rule, element);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\teventTarget.dispatchEvent(new CustomEvent(\"toggle-notification\", { detail: { state: audits.length > 0 } }));\n\t\t}\n\t\tasync function createAuditProblem(rule, originalElement) {\n\t\t\tconst computedStyle = window.getComputedStyle(originalElement);\n\t\t\tconst targetedElement = originalElement.children[0] || originalElement;\n\t\t\t// If the element is hidden, don't do anything\n\t\t\tif (targetedElement.offsetParent === null || computedStyle.display === \"none\") {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// If the element is an image that hasn't loaded yet, wait for it so that\n\t\t\t// position-based checks (e.g. above/below the fold) have accurate layout data.\n\t\t\tif (originalElement.nodeName === \"IMG\" && !originalElement.complete) {\n\t\t\t\tawait new Promise((resolve) => {\n\t\t\t\t\toriginalElement.addEventListener(\"load\", () => resolve(), { once: true });\n\t\t\t\t\toriginalElement.addEventListener(\"error\", () => resolve(), { once: true });\n\t\t\t\t});\n\t\t\t}\n\t\t\taudits.push({\n\t\t\t\tauditedElement: originalElement,\n\t\t\t\trule,\n\t\t\t\tcard: null,\n\t\t\t\thighlight: null\n\t\t\t});\n\t\t}\n\t\tfunction refreshLintPositions() {\n\t\t\taudits.forEach(({ highlight, auditedElement }) => {\n\t\t\t\tconst rect = auditedElement.getBoundingClientRect();\n\t\t\t\tif (highlight) positionHighlight(highlight, rect);\n\t\t\t});\n\t\t}\n\t\t[\"scroll\", \"resize\"].forEach((event) => {\n\t\t\twindow.addEventListener(event, refreshLintPositions);\n\t\t});\n\t\tfunction setupObserver() {\n\t\t\tobserver.observe(document.body, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true\n\t\t\t});\n\t\t}\n\t}\n};\n"],"ignoreList":[0,1,2,3,4,5,6,7],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ //#region ../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/utils/highlight.js
2
+ function createHighlight(rect, icon, additionalAttributes) {
3
+ const highlight = document.createElement("astro-dev-toolbar-highlight");
4
+ if (icon) highlight.icon = icon;
5
+ if (additionalAttributes) for (const [key, value] of Object.entries(additionalAttributes)) highlight.setAttribute(key, value);
6
+ highlight.tabIndex = 0;
7
+ if (rect.width === 0 || rect.height === 0) highlight.style.display = "none";
8
+ else positionHighlight(highlight, rect);
9
+ return highlight;
10
+ }
11
+ function getElementsPositionInDocument(el) {
12
+ let isFixed = false;
13
+ let current = el;
14
+ while (current instanceof Element) {
15
+ if (getComputedStyle(current).position === "fixed") isFixed = true;
16
+ current = current.parentNode;
17
+ }
18
+ return { isFixed };
19
+ }
20
+ function positionHighlight(highlight, rect) {
21
+ highlight.style.display = "block";
22
+ const scrollY = highlight.style.position === "fixed" ? 0 : window.scrollY;
23
+ highlight.style.top = `${Math.max(rect.top + scrollY - 10, 0)}px`;
24
+ highlight.style.left = `${Math.max(rect.left + window.scrollX - 10, 0)}px`;
25
+ highlight.style.width = `${rect.width + 15}px`;
26
+ highlight.style.height = `${rect.height + 15}px`;
27
+ }
28
+ function attachTooltipToHighlight(highlight, tooltip, originalElement) {
29
+ highlight.shadowRoot.append(tooltip);
30
+ ["mouseover", "focus"].forEach((event) => {
31
+ highlight.addEventListener(event, () => {
32
+ tooltip.dataset.show = "true";
33
+ const originalRect = originalElement.getBoundingClientRect();
34
+ const dialogRect = tooltip.getBoundingClientRect();
35
+ if (originalRect.top < dialogRect.height) tooltip.style.top = `${originalRect.height + 15}px`;
36
+ else tooltip.style.top = `-${tooltip.offsetHeight}px`;
37
+ if (dialogRect.right > document.documentElement.clientWidth) tooltip.style.right = "0px";
38
+ else if (dialogRect.left < 0) tooltip.style.left = "0px";
39
+ });
40
+ });
41
+ ["mouseout", "blur"].forEach((event) => {
42
+ highlight.addEventListener(event, () => {
43
+ tooltip.dataset.show = "false";
44
+ });
45
+ });
46
+ }
47
+ //#endregion
48
+ export { positionHighlight as i, createHighlight as n, getElementsPositionInDocument as r, attachTooltipToHighlight as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight-BLtvqtzO.js","names":[],"sources":["../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/apps/utils/highlight.js"],"sourcesContent":["export function createHighlight(rect, icon, additionalAttributes) {\n\tconst highlight = document.createElement(\"astro-dev-toolbar-highlight\");\n\tif (icon) highlight.icon = icon;\n\tif (additionalAttributes) {\n\t\tfor (const [key, value] of Object.entries(additionalAttributes)) {\n\t\t\thighlight.setAttribute(key, value);\n\t\t}\n\t}\n\thighlight.tabIndex = 0;\n\tif (rect.width === 0 || rect.height === 0) {\n\t\thighlight.style.display = \"none\";\n\t} else {\n\t\tpositionHighlight(highlight, rect);\n\t}\n\treturn highlight;\n}\n// Figures out the element's position, based on it's parents.\nexport function getElementsPositionInDocument(el) {\n\tlet isFixed = false;\n\tlet current = el;\n\twhile (current instanceof Element) {\n\t\t// all the way up the tree. We are only doing so when the app initializes, so the cost is one-time\n\t\t// If perf becomes an issue we'll want to refactor this somehow so that it reads this info in a rAF\n\t\tlet style = getComputedStyle(current);\n\t\tif (style.position === \"fixed\") {\n\t\t\tisFixed = true;\n\t\t}\n\t\tcurrent = current.parentNode;\n\t}\n\treturn { isFixed };\n}\nexport function positionHighlight(highlight, rect) {\n\thighlight.style.display = \"block\";\n\t// If the highlight is fixed, don't position based on scroll\n\tconst scrollY = highlight.style.position === \"fixed\" ? 0 : window.scrollY;\n\t// Make a highlight that is 10px bigger than the element on all sides\n\thighlight.style.top = `${Math.max(rect.top + scrollY - 10, 0)}px`;\n\thighlight.style.left = `${Math.max(rect.left + window.scrollX - 10, 0)}px`;\n\thighlight.style.width = `${rect.width + 15}px`;\n\thighlight.style.height = `${rect.height + 15}px`;\n}\nexport function attachTooltipToHighlight(highlight, tooltip, originalElement) {\n\thighlight.shadowRoot.append(tooltip);\n\t[\"mouseover\", \"focus\"].forEach((event) => {\n\t\thighlight.addEventListener(event, () => {\n\t\t\ttooltip.dataset.show = \"true\";\n\t\t\tconst originalRect = originalElement.getBoundingClientRect();\n\t\t\tconst dialogRect = tooltip.getBoundingClientRect();\n\t\t\t// Prevent the tooltip from being off the screen\n\t\t\tif (originalRect.top < dialogRect.height) {\n\t\t\t\t// Not enough space above, show below\n\t\t\t\ttooltip.style.top = `${originalRect.height + 15}px`;\n\t\t\t} else {\n\t\t\t\ttooltip.style.top = `-${tooltip.offsetHeight}px`;\n\t\t\t}\n\t\t\tif (dialogRect.right > document.documentElement.clientWidth) {\n\t\t\t\t// Not enough space on the right, align to the right\n\t\t\t\ttooltip.style.right = \"0px\";\n\t\t\t} else if (dialogRect.left < 0) {\n\t\t\t\t// Not enough space on the left, align to the left\n\t\t\t\ttooltip.style.left = \"0px\";\n\t\t\t}\n\t\t});\n\t});\n\t[\"mouseout\", \"blur\"].forEach((event) => {\n\t\thighlight.addEventListener(event, () => {\n\t\t\ttooltip.dataset.show = \"false\";\n\t\t});\n\t});\n}\n"],"ignoreList":[0],"mappings":";AAAA,SAAgB,gBAAgB,MAAM,MAAM,sBAAsB;CACjE,MAAM,YAAY,SAAS,cAAc,6BAA6B;CACtE,IAAI,MAAM,UAAU,OAAO;CAC3B,IAAI,sBACH,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,oBAAoB,GAC7D,UAAU,aAAa,KAAK,KAAK;CAGnC,UAAU,WAAW;CACrB,IAAI,KAAK,UAAU,KAAK,KAAK,WAAW,GACvC,UAAU,MAAM,UAAU;MAE1B,kBAAkB,WAAW,IAAI;CAElC,OAAO;AACR;AAEA,SAAgB,8BAA8B,IAAI;CACjD,IAAI,UAAU;CACd,IAAI,UAAU;CACd,OAAO,mBAAmB,SAAS;EAIlC,IADY,iBAAiB,OACrB,CAAC,CAAC,aAAa,SACtB,UAAU;EAEX,UAAU,QAAQ;CACnB;CACA,OAAO,EAAE,QAAQ;AAClB;AACA,SAAgB,kBAAkB,WAAW,MAAM;CAClD,UAAU,MAAM,UAAU;CAE1B,MAAM,UAAU,UAAU,MAAM,aAAa,UAAU,IAAI,OAAO;CAElE,UAAU,MAAM,MAAM,GAAG,KAAK,IAAI,KAAK,MAAM,UAAU,IAAI,CAAC,EAAE;CAC9D,UAAU,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,OAAO,OAAO,UAAU,IAAI,CAAC,EAAE;CACvE,UAAU,MAAM,QAAQ,GAAG,KAAK,QAAQ,GAAG;CAC3C,UAAU,MAAM,SAAS,GAAG,KAAK,SAAS,GAAG;AAC9C;AACA,SAAgB,yBAAyB,WAAW,SAAS,iBAAiB;CAC7E,UAAU,WAAW,OAAO,OAAO;CACnC,CAAC,aAAa,OAAO,CAAC,CAAC,SAAS,UAAU;EACzC,UAAU,iBAAiB,aAAa;GACvC,QAAQ,QAAQ,OAAO;GACvB,MAAM,eAAe,gBAAgB,sBAAsB;GAC3D,MAAM,aAAa,QAAQ,sBAAsB;GAEjD,IAAI,aAAa,MAAM,WAAW,QAEjC,QAAQ,MAAM,MAAM,GAAG,aAAa,SAAS,GAAG;QAEhD,QAAQ,MAAM,MAAM,IAAI,QAAQ,aAAa;GAE9C,IAAI,WAAW,QAAQ,SAAS,gBAAgB,aAE/C,QAAQ,MAAM,QAAQ;QAChB,IAAI,WAAW,OAAO,GAE5B,QAAQ,MAAM,OAAO;EAEvB,CAAC;CACF,CAAC;CACD,CAAC,YAAY,MAAM,CAAC,CAAC,SAAS,UAAU;EACvC,UAAU,iBAAiB,aAAa;GACvC,QAAQ,QAAQ,OAAO;EACxB,CAAC;CACF,CAAC;AACF"}
@@ -0,0 +1,42 @@
1
+ //#region ../../../node_modules/astro/dist/runtime/client/dev-toolbar/ui-library/icons.js
2
+ function isDefinedIcon(icon) {
3
+ return icon in icons;
4
+ }
5
+ function getIconElement(name) {
6
+ const icon = icons[name];
7
+ if (!icon) return;
8
+ const svgFragment = new DocumentFragment();
9
+ svgFragment.append(document.createRange().createContextualFragment(icon));
10
+ return svgFragment.firstElementChild;
11
+ }
12
+ var icons = {
13
+ "astro:logo": `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 85 107" aria-hidden="true"><path fill="#fff" d="M27.6 91.1c-4.8-4.4-6.3-13.7-4.2-20.4 3.5 4.2 8.3 5.6 13.3 6.3 7.7 1.2 15.3.8 22.5-2.8l2.5-1.4c.7 2 .9 3.9.6 5.9-.6 4.9-3 8.7-6.9 11.5-1.5 1.2-3.2 2.2-4.8 3.3-4.9 3.3-6.2 7.2-4.4 12.9l.2.6a13 13 0 0 1-5.7-5 13.8 13.8 0 0 1-2.2-7.4c0-1.3 0-2.7-.2-4-.5-3.1-2-4.6-4.8-4.7a5.5 5.5 0 0 0-5.7 4.6l-.2.6Z"/><path fill="url(#a)" d="M27.6 91.1c-4.8-4.4-6.3-13.7-4.2-20.4 3.5 4.2 8.3 5.6 13.3 6.3 7.7 1.2 15.3.8 22.5-2.8l2.5-1.4c.7 2 .9 3.9.6 5.9-.6 4.9-3 8.7-6.9 11.5-1.5 1.2-3.2 2.2-4.8 3.3-4.9 3.3-6.2 7.2-4.4 12.9l.2.6a13 13 0 0 1-5.7-5 13.8 13.8 0 0 1-2.2-7.4c0-1.3 0-2.7-.2-4-.5-3.1-2-4.6-4.8-4.7a5.5 5.5 0 0 0-5.7 4.6l-.2.6Z"/><path fill="#fff" d="M0 69.6s14.3-7 28.7-7l10.8-33.5c.4-1.6 1.6-2.7 3-2.7 1.2 0 2.4 1.1 2.8 2.7l10.9 33.5c17 0 28.6 7 28.6 7L60.5 3.2c-.7-2-2-3.2-3.5-3.2H27.8c-1.6 0-2.7 1.3-3.4 3.2L0 69.6Z"/><defs><linearGradient id="a" x1="22.5" x2="69.1" y1="107" y2="84.9" gradientUnits="userSpaceOnUse"><stop stop-color="#D83333"/><stop offset="1" stop-color="#F041FF"/></linearGradient></defs></svg>`,
14
+ warning: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M8 .40625c-1.5019 0-2.97007.445366-4.21886 1.27978C2.53236 2.52044 1.55905 3.70642.984293 5.094.40954 6.48157.259159 8.00842.552165 9.48147.845172 10.9545 1.56841 12.3076 2.63041 13.3696c1.06201 1.062 2.41508 1.7852 3.88813 2.0782 1.47304.293 2.99989.1427 4.38746-.4321 1.3876-.5747 2.5736-1.5481 3.408-2.7968.8344-1.2488 1.2798-2.717 1.2798-4.2189-.0023-2.0133-.8031-3.9435-2.2267-5.36713C11.9435 1.20925 10.0133.408483 8 .40625ZM8 13.9062c-1.16814 0-2.31006-.3463-3.28133-.9953-.97128-.649-1.7283-1.5715-2.17533-2.6507-.44703-1.0792-.56399-2.26675-.3361-3.41245.22789-1.1457.79041-2.1981 1.61641-3.0241.82601-.826 1.8784-1.38852 3.0241-1.61641 1.1457-.2279 2.33325-.11093 3.41245.3361 1.0793.44703 2.0017 1.20405 2.6507 2.17532.649.97128.9954 2.11319.9954 3.28134-.0017 1.56592-.6245 3.0672-1.7318 4.1745S9.56592 13.9046 8 13.9062Zm-.84375-5.62495V4.625c0-.22378.0889-.43839.24713-.59662.15824-.15824.37285-.24713.59662-.24713.22378 0 .43839.08889.59662.24713.15824.15823.24713.37284.24713.59662v3.65625c0 .22378-.08889.43839-.24713.59662C8.43839 9.03611 8.22378 9.125 8 9.125c-.22377 0-.43838-.08889-.59662-.24713-.15823-.15823-.24713-.37284-.24713-.59662ZM9.125 11.0938c0 .2225-.06598.44-.18959.625-.12362.185-.29932.3292-.50489.4143-.20556.0852-.43176.1074-.64999.064-.21823-.0434-.41869-.1505-.57602-.3079-.15734-.1573-.26448-.3577-.30789-.576-.04341-.2182-.02113-.4444.06402-.65.08515-.2055.22934-.3812.41435-.5049.185-.1236.40251-.18955.62501-.18955.29837 0 .58452.11855.7955.32955.21098.2109.3295.4971.3295.7955Z"/></svg>`,
15
+ "arrow-down": "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 12 14\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"m11.0306 8.53063-4.5 4.49997c-.06968.0699-.15247.1254-.24364.1633-.09116.0378-.1889.0573-.28761.0573-.09871 0-.19645-.0195-.28762-.0573-.09116-.0379-.17395-.0934-.24363-.1633L.968098 8.53063c-.140896-.1409-.220051-.332-.220051-.53125 0-.19926.079155-.39036.220051-.53125.140892-.1409.331992-.22006.531252-.22006.19926 0 .39035.07916.53125.22006l3.21937 3.21937V1.5c0-.19891.07902-.38968.21967-.53033C5.61029.829018 5.80106.75 5.99997.75c.19891 0 .38968.079018.53033.21967.14065.14065.21967.33142.21967.53033v9.1875l3.21938-3.22c.14085-.1409.33195-.22005.53125-.22005.1993 0 .3904.07915.5312.22005.1409.1409.2201.33199.2201.53125s-.0792.39035-.2201.53125l-.0012.00063Z\"/></svg>",
16
+ bug: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 25 24\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M13.7916 8.25006c0-.29667.088-.58668.2528-.83335.1648-.24668.3991-.43893.6732-.55247.2741-.11353.5757-.14323.8667-.08536.2909.05788.5582.20074.768.41052s.3526.47706.4105.76803c.0579.29097.0282.59257-.0854.86666-.1135.27409-.3057.50836-.5524.67318-.2467.16482-.5367.25279-.8334.25279-.3978 0-.7793-.15803-1.0606-.43934-.2813-.2813-.4394-.66283-.4394-1.06066Zm-3.75-1.5c-.29665 0-.58666.08798-.83333.2528-.24667.16482-.43893.39909-.55246.67318-.11354.27409-.14324.57569-.08536.86666.05788.29097.20074.55824.41052.76802.20977.20978.47705.35264.76802.41052.29101.05788.59261.02817.86671-.08536.274-.11353.5083-.30579.6731-.55246.1649-.24668.2528-.53668.2528-.83336 0-.39782-.158-.77935-.4393-1.06066-.2813-.2813-.6628-.43934-1.0607-.43934Zm11.25 6.75004c.0003.6512-.0733 1.3003-.2193 1.935l1.7953.7837c.1354.0592.2578.1445.3603.2511.1024.1065.1829.2322.2368.3698.0539.1377.0801.2846.0772.4323-.0028.1478-.0348.2936-.094.429-.0592.1354-.1446.2579-.2511.3603-.1065.1025-.2322.1829-.3698.2368-.1377.0539-.2846.0802-.4323.0773-.1478-.0029-.2936-.0349-.429-.0941l-1.6875-.7359c-.7348 1.3818-1.8317 2.5377-3.1732 3.3437s-2.8771 1.2319-4.4421 1.2319c-1.5651 0-3.10061-.4259-4.44213-1.2319-1.34151-.806-2.43843-1.9619-3.17321-3.3437l-1.6875.7359c-.13542.0592-.28119.0912-.42896.0941-.14778.0029-.29468-.0234-.43232-.0773-.13763-.0539-.2633-.1343-.36984-.2368-.10653-.1024-.19185-.2249-.25106-.3603-.05922-.1354-.09119-.2812-.09407-.429-.00289-.1477.02336-.2946.07725-.4323.05389-.1376.13436-.2633.23681-.3698.10246-.1066.22489-.1919.36032-.2511l1.79531-.7837c-.14354-.635-.21462-1.2841-.21187-1.935v-.375h-1.875c-.29837 0-.58452-.1186-.7955-.3295-.21098-.211-.3295-.4972-.3295-.7955 0-.2984.11852-.5846.3295-.7955.21098-.211.49713-.3295.7955-.3295h1.875v-.375c-.00029-.65126.0733-1.30041.21937-1.93504l-1.79531-.78375c-.27351-.11959-.4883-.34294-.59713-.6209-.10883-.27797-.10278-.58778.01682-.86128.11959-.27351.34294-.4883.6209-.59713.27797-.10883.58778-.10278.86128.01681l1.6875.73594c.73478-1.38183 1.8317-2.53769 3.17321-3.34373 1.34152-.80604 2.87703-1.23187 4.44213-1.23187 1.565 0 3.1006.42583 4.4421 1.23187 1.3415.80604 2.4384 1.9619 3.1732 3.34373l1.6875-.73594c.1354-.05921.2812-.09118.429-.09406.1477-.00289.2946.02336.4323.07725.1376.05389.2633.13435.3698.23681.1065.10245.1919.22489.2511.36032.0592.13542.0912.28118.094.42896.0029.14778-.0233.29468-.0772.43232-.0539.13763-.1344.2633-.2368.36984-.1025.10653-.2249.19185-.3603.25106l-1.7953.78375c.1435.63492.2146 1.28407.2118 1.93504v.375h1.875c.2984 0 .5845.1185.7955.3295.211.2109.3295.4971.3295.7955 0 .2983-.1185.5845-.3295.7955-.211.2109-.4971.3295-.7955.3295h-1.875v.375Zm-14.99997-2.625H19.0416v-.375c0-1.69079-.6716-3.3123-1.8672-4.50784-1.1955-1.19555-2.817-1.8672-4.5078-1.8672-1.6907 0-3.31224.67165-4.50778 1.8672C6.96328 7.1878 6.29163 8.80931 6.29163 10.5001v.375Zm5.24997 8.8987v-6.6487H6.29163v.375c.00211 1.4949.52876 2.9417 1.48816 4.0882.95939 1.1464 2.29071 1.9199 3.76181 2.1855Zm7.5-6.2737v-.375h-5.25v6.6487c1.4712-.2656 2.8025-1.0391 3.7619-2.1855.9594-1.1465 1.486-2.5933 1.4881-4.0882Z\"/></svg>",
17
+ "": "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 25 24\"><path fill=\"currentColor\" d=\"m20.6293 7.455-5.25-5.25c-.1045-.10461-.2285-.1876-.3651-.24422-.1366-.05662-.283-.08577-.4308-.08578H5.58337c-.49728 0-.97419.19754-1.32582.54917-.35163.35164-.54918.82855-.54918 1.32583v16.5c0 .4973.19755.9742.54918 1.3258.35163.3517.82854.5492 1.32582.5492H19.0834c.4973 0 .9742-.1975 1.3258-.5492.3516-.3516.5492-.8285.5492-1.3258v-12c0-.29813-.1184-.58407-.3291-.795Zm-3.1397.045h-2.1562V5.34375L17.4896 7.5ZM5.95837 19.875V4.125h7.12503v4.5c0 .29837.1185.58452.3295.7955.211.21097.4971.3295.7955.3295h4.5v10.125H5.95837Zm9.04503-4.5459c.3426-.7185.4202-1.5349.2192-2.3051-.2011-.7702-.6679-1.4445-1.3179-1.9038-.65-.4594-1.4415-.6742-2.2346-.6066-.7931.0677-1.5368.4135-2.0996.9763-.56283.5629-.90863 1.3065-.9763 2.0996-.06766.7931.14716 1.5846.60651 2.2346.45936.6501 1.13369 1.1169 1.90389 1.3179.7701.201 1.5866.1234 2.305-.2192l1.125 1.125c.2114.2114.498.3301.7969.3301.2989 0 .5855-.1187.7969-.3301.2113-.2113.3301-.498.3301-.7969 0-.2988-.1188-.5855-.3301-.7968l-1.125-1.125Zm-4.17-1.4541c0-.2225.066-.44.1896-.625.1236-.185.2993-.3292.5049-.4144.2055-.0851.4317-.1074.65-.064.2182.0434.4186.1506.576.3079.1573.1573.2644.3578.3079.576.0434.2183.0211.4445-.0641.65-.0851.2056-.2293.3813-.4143.5049-.185.1236-.4025.1896-.625.1896-.2984 0-.5845-.1185-.7955-.3295-.211-.211-.3295-.4971-.3295-.7955Z\"/></svg>",
18
+ "check-circle": "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 14\"><path fill=\"currentColor\" d=\"M10.0306 4.96938c.0699.06967.1254.15247.1633.24363.0378.09116.0573.1889.0573.28762 0 .09871-.0195.19645-.0573.28761-.0379.09116-.0934.17396-.1633.24364L6.53063 9.53187c-.06968.06992-.15247.1254-.24364.16326-.09116.03785-.1889.05734-.28761.05734-.09871 0-.19645-.01949-.28762-.05734-.09116-.03786-.17395-.09334-.24363-.16326l-1.5-1.5c-.06977-.06976-.12511-.15258-.16286-.24373-.03776-.09116-.05719-.18885-.05719-.28752 0-.09866.01943-.19635.05719-.28751.03775-.09115.09309-.17397.16286-.24373.06976-.06977.15259-.12511.24374-.16287.09115-.03775.18885-.05719.28751-.05719s.19636.01944.28751.05719c.09115.03776.17397.0931.24374.16287L6 7.9375l2.96938-2.97c.06978-.06961.15259-.12478.24371-.16237.09111-.03758.18874-.05683.2873-.05666.09856.00018.19612.01978.28711.05768.09098.0379.1736.09337.2431.16323ZM13.75 7c0 1.33502-.3959 2.64007-1.1376 3.7501-.7417 1.11-1.7959 1.9752-3.02928 2.4861-1.23341.5109-2.5906.6446-3.89998.3841-1.30937-.2605-2.5121-.9033-3.45611-1.8473-.944-.944-1.586877-2.14677-1.847328-3.45614-.26045-1.30937-.126777-2.66657.384114-3.89997C1.27471 3.18349 2.13987 2.12928 3.2499 1.38758 4.35994.645881 5.66498.25 7 .25c1.78961.001985 3.5053.713781 4.7708 1.97922C13.0362 3.49466 13.748 5.2104 13.75 7Zm-1.5 0c0-1.03835-.3079-2.05339-.8848-2.91674-.5769-.86336-1.3968-1.53627-2.35611-1.93363-.95931-.39736-2.01491-.50133-3.03331-.29875-1.0184.20257-1.95386.70258-2.68809 1.43681-.73422.73422-1.23424 1.66969-1.43681 2.68809-.20257 1.0184-.0986 2.074.29876 3.03331.39736.95931 1.07026 1.77921 1.93362 2.35611.86336.5769 1.87839.8848 2.91674.8848 1.39193-.0015 2.72643-.5551 3.7107-1.5393C11.6949 9.72642 12.2485 8.39193 12.25 7Z\"/></svg>",
19
+ gear: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 22 22\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M11 6.12507c-.9642 0-1.90671.28592-2.7084.82159-.80169.53567-1.42653 1.29704-1.79551 2.18783-.36898.89081-.46552 1.87101-.27742 2.81661.18811.9457.6524 1.8143 1.33419 2.4961.68178.6818 1.55042 1.1461 2.49604 1.3342.9457.1881 1.9259.0916 2.8167-.2774s1.6521-.9938 2.1878-1.7955c.5357-.8017.8216-1.7442.8216-2.7084-.0015-1.2925-.5156-2.53161-1.4295-3.44553-.9139-.91392-2.153-1.42801-3.4455-1.4295Zm0 7.50003c-.5192 0-1.02669-.154-1.45837-.4424-.43168-.2885-.76813-.6984-.96681-1.1781-.19868-.4796-.25067-1.0074-.14938-1.5166.10129-.50924.35129-.97697.71841-1.34408.36711-.36712.83484-.61712 1.34405-.71841.5092-.10129 1.037-.0493 1.5166.14938.4797.19868.8897.53513 1.1781.96681.2884.43168.4424.9392.4424 1.4584 0 .6962-.2766 1.3638-.7688 1.8561-.4923.4923-1.16.7689-1.8562.7689Zm8.625-2.551v-.1481l1.3125-1.64155c.1102-.13755.1865-.29905.2228-.4715s.0316-.35102-.0137-.52131c-.2369-.89334-.5909-1.75142-1.0528-2.55188-.089-.15264-.2127-.28218-.3611-.37811-.1484-.09594-.3173-.15557-.493-.17408l-2.0888-.23437-.104-.10406-.2344-2.08969c-.0186-.17556-.0783-.34426-.1743-.49247-.0959-.1482-.2254-.27175-.3779-.36066-.8005-.46341-1.6589-.81869-2.5528-1.056559-.1704-.044683-.349-.048704-.5213-.01174-.1723.036965-.3335.113881-.4706.224549l-1.6415 1.3125h-.1482l-1.64152-1.3125C9.14683.9524 8.98532.87608 8.81288.839767c-.17245-.036314-.35102-.031606-.52132.013744-.89357.238319-1.75165.593909-2.55187 1.057499-.15205.08854-.28121.2115-.37712.35901-.0959.14752-.15586.31547-.17507.49037l-.23437 2.08875-.10407.10406-2.08968.23437c-.17556.01865-.34426.07835-.49247.17428-.14821.09593-.27176.22539-.36066.37791-.46211.80072-.81613 1.65912-1.052812 2.55281-.045195.17016-.049823.34855-.013512.52082.03631.17227.112546.33362.222574.47106L2.375 10.926v.1481l-1.3125 1.6416c-.110173.1375-.186492.299-.222806.4715-.036313.1724-.031605.351.013744.5213.238622.8936.594522 1.7517 1.058442 2.5519.08844.1519.21126.281.3586.3769.14734.0959.3151.1559.48983.1753l2.08875.2325.10407.104.23437 2.0916c.01865.1756.07835.3443.17428.4925.09592.1482.22538.2717.37791.3606.80052.4634 1.65893.8187 2.55281 1.0566.17045.0447.349.0487.52129.0117.17228-.0369.33347-.1139.47059-.2245l1.64152-1.3125h.1482l1.6415 1.3125c.1376.1101.2991.1865.4715.2228.1725.0363.351.0316.5213-.0138.8934-.2368 1.7514-.5908 2.5519-1.0528.1524-.0883.2819-.2112.3782-.3587.0962-.1475.1565-.3156.1759-.4907l.2325-2.0887.104-.1041 2.0897-.239c.1751-.0194.3432-.0797.4907-.1759.1475-.0963.2704-.2258.3587-.3782.4634-.8005.8187-1.6589 1.0566-2.5528.0448-.1699.0493-.3479.013-.5198-.0363-.172-.1124-.333-.2221-.4702l-1.3125-1.6416Zm-2.2612-.4584c.015.256.015.5127 0 .7687-.0168.2784.0704.553.2446.7707l1.2038 1.5047c-.1136.3363-.2492.6648-.406.9834l-1.9153.2128c-.2773.0317-.5329.1654-.7171.375-.1704.1919-.3519.3735-.5438.5438-.2096.1842-.3433.4398-.375.7171l-.2119 1.9144c-.3185.1574-.647.2936-.9834.4078l-1.5047-1.2047c-.1997-.1593-.4477-.2459-.7031-.2456h-.0675c-.2561.015-.5127.015-.7688 0-.2781-.0165-.5525.0703-.7706.2438l-1.50469 1.2047c-.33634-.1137-.66486-.2493-.98343-.406l-.21282-1.9153c-.0317-.2773-.16536-.5329-.375-.7172-.19187-.1703-.37344-.3519-.54375-.5437-.18426-.2097-.43988-.3433-.71718-.375l-1.91438-.2119c-.15734-.3185-.29357-.647-.40781-.9834l1.20375-1.5047c.17424-.2177.26144-.4923.24469-.7707-.01501-.256-.01501-.5127 0-.7687.01675-.2783-.07045-.553-.24469-.77063L3.18781 8.34038c.11364-.33634.24924-.66486.40594-.98343l1.91531-.21281c.27731-.03171.53292-.16537.71719-.375.17031-.19188.35188-.37345.54375-.54375.20964-.18427.3433-.43989.375-.71719l.21188-1.91438c.31852-.15734.64704-.29357.98343-.40781L9.845 4.3907c.2181.17343.4925.26023.7706.24375.2561-.015.5127-.015.7688 0 .2782.01701.5528-.06985.7706-.24375l1.5047-1.20469c.3364.11424.6649.25047.9834.40781l.2128 1.91532c.0317.2773.1654.53292.375.71718.1919.17031.3735.35188.5438.54375.1843.20964.4399.3433.7172.375l1.9143.21188c.1574.31852.2936.64704.4079.98343l-1.2038 1.50469c-.1749.21743-.2628.49203-.2465.77063Z\"/></svg>",
20
+ lightbulb: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 13 16\"><path fill=\"currentColor\" d=\"M9.84994 14.5002c0 .1989-.07902.3897-.21967.5303-.14066.1407-.33142.2197-.53033.2197h-5c-.19891 0-.38968-.079-.53033-.2197-.14065-.1406-.21967-.3314-.21967-.5303 0-.1989.07902-.3897.21967-.5303.14065-.1407.33142-.2197.53033-.2197h5c.19891 0 .38967.079.53033.2197.14065.1406.21967.3314.21967.5303Zm2.49996-8.00001c.0023.87138-.1945 1.73175-.5755 2.51544-.381.78368-.9359 1.46997-1.6226 2.00647-.093.0708-.16853.162-.22085.2665-.05233.1046-.08004.2197-.08101.3366v.125c0 .3315-.1317.6495-.36612.8839-.23442.2344-.55236.3661-.88388.3661h-4c-.33152 0-.64947-.1317-.88389-.3661-.23442-.2344-.36611-.5524-.36611-.8839v-.125c-.00014-.115-.0267-.2284-.07763-.3314-.05094-.1031-.12488-.193-.21612-.263-.68477-.5334-1.23925-1.2155-1.62148-1.9948-.38223-.77929-.582201-1.63532-.584772-2.50331C.833063 3.41832 3.34994.825195 6.46181.750195c.76665-.018422 1.52923.116696 2.24287.397405.71365.2807 1.36392.70132 1.91262 1.23711.5486.53578.9846 1.1759 1.2821 1.88268.2976.70678.4508 1.46594.4505 2.2328Zm-1.5 0c.0002-.5669-.113-1.12811-.3331-1.65058-.22-.52247-.54226-.99565-.9479-1.39168-.40563-.39602-.8864-.70689-1.414-.91431-.52759-.20741-1.09135-.30718-1.65809-.29343-2.29937.055-4.15937 1.97188-4.14687 4.27375.00214.64152.15011 1.27416.43271 1.85009.2826.57592.69244 1.08006 1.19854 1.47429.25496.19678.46453.44618.61444.73128.14992.285.23665.599.25431.9206h3.50625c.018-.3222.10486-.6368.25472-.9226.14986-.2859.35924-.5362.61403-.73428.50754-.39672.91776-.90412 1.19936-1.4835.2817-.57938.4272-1.21543.4256-1.85963Zm-1.25434-.3325c-.06636-.56119-.28826-1.09265-.64067-1.53441-.35241-.44175-.82128-.7762-1.3537-.96559-.1861-.0608-.38859-.04643-.56423.04006-.17565.08648-.31051.23821-.37579.42278-.06527.18458-.05579.38736.02642.56504.08222.17767.23065.31616.4136.38587.26755.09379.50353.26056.68124.48146.17771.2209.29008.48712.32438.76854.02188.19776.12142.37872.27673.50308.0769.06157.16517.1074.25978.13486.09461.02747.1937.03602.29162.02519.09791-.01083.19274-.04085.27905-.08833.08632-.04748.16244-.1115.22402-.1884.06158-.07689.1074-.16517.13487-.25978.02746-.09461.03602-.1937.02518-.29162l-.0025.00125Z\"/></svg>",
21
+ "file-search": "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 12 14\"><path fill=\"currentColor\" d=\"M11.5306 3.97 8.03063.47C7.96097.400261 7.87826.344936 7.78721.307186 7.69616.269437 7.59856.250005 7.5.25h-6C1.16848.25.850537.381696.616117.616117.381696.850537.25 1.16848.25 1.5v11c0 .3315.131696.6495.366117.8839.23442.2344.552363.3661.883883.3661h9c.3315 0 .6495-.1317.8839-.3661.2344-.2344.3661-.5524.3661-.8839v-8c0-.19876-.0789-.38938-.2194-.53ZM9.4375 4H8V2.5625L9.4375 4ZM1.75 12.25V1.75H6.5v3c0 .19891.07902.38968.21967.53033.14065.14065.33142.21967.53033.21967h3v6.75h-8.5Zm6.03-3.03063c.2284-.47897.28015-1.02326.14613-1.53671-.13403-.51344-.44521-.96299-.87858-1.26923-.43337-.30623-.96102-.44945-1.48975-.40433-.52872.04511-1.02449.27564-1.39971.65086-.37523.37522-.60576.87099-.65087 1.39972-.04511.52872.0981 1.05638.40434 1.48975.30624.43336.75579.74457 1.26923.87857.51344.134 1.05773.0823 1.53671-.1461l.75.75c.1409.1409.33199.22.53125.22s.39035-.0791.53125-.22c.1409-.1409.22005-.332.22005-.5313 0-.1992-.07915-.3903-.22005-.53123l-.75-.75ZM5 8.25c0-.14834.04399-.29334.1264-.41668.08241-.12333.19954-.21946.33659-.27623.13704-.05676.28784-.07162.43333-.04268.14548.02894.27912.10037.38401.20526.10489.10489.17632.23853.20526.38401.02894.14549.01408.29629-.04268.43333-.05677.13705-.1529.25418-.27623.33659C6.04334 8.95601 5.89834 9 5.75 9c-.19891 0-.38968-.07902-.53033-.21967C5.07902 8.63968 5 8.44891 5 8.25Z\"/></svg>",
22
+ star: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 15 15\"><path fill=\"currentColor\" d=\"M14.5873 6.00333c-.0759-.23292-.2187-.43838-.4105-.59083-.1918-.15245-.4241-.24519-.6682-.26667L9.9461 4.8377 8.55235 1.51645c-.09588-.22586-.25611-.4185-.46072-.553929-.2046-.135425-.44454-.207638-.68991-.207638-.24537 0-.48531.072213-.68991.207638-.20461.135429-.36484.328069-.46071.553929L4.85547 4.8377l-3.5625.30813c-.24538.02032-.479299.11265-.6724.26542-.193101.15276-.336784.35916-.413023.59328-.076238.23412-.081634.48554-.015512.72272s.200817.44954.387185.61045l2.7075 2.3625-.8125 3.515c-.05572.2394-.03965.4898.04619.7201.08585.2303.23767.4301.43648.5746.19881.1444.4358.2271.68132.2376.24553.0105.48871-.0516.69914-.1785l3.0625-1.86 3.06245 1.86c.2105.1267.4536.1886.699.178.2454-.0106.4822-.0933.6809-.2377.1987-.1444.3505-.3442.4363-.5743.0858-.2302.102-.4805.0463-.7198l-.8125-3.515 2.7075-2.3625c.1859-.16149.32-.37429.3853-.61168.0654-.23739.0592-.4888-.0178-.72269Zm-4.1718 2.66375c-.1714.14913-.299.34215-.3689.55831-.0699.21617-.07959.44731-.028.66857l.7119 3.08254-2.68378-1.63c-.1949-.1187-.41869-.1815-.64687-.1815-.22819 0-.45198.0628-.64688.1815l-2.68375 1.63.71188-3.08254c.05158-.22126.04189-.4524-.02803-.66857-.06993-.21616-.19745-.40918-.36885-.55831L2.00359 6.5902l3.13376-.27125c.22692-.01943.44417-.10073.62809-.23507.18393-.13433.32748-.31654.41503-.5268l1.21938-2.90563 1.21937 2.90563c.08755.21026.2311.39247.41503.5268.18392.13434.40117.21564.62809.23507l3.13376.27125-2.3806 2.07688Z\"/></svg>",
23
+ checkmark: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 10 8\"><path fill=\"#fff\" d=\"M9.47334.806574C9.41136.744088 9.33763.694492 9.25639.660646S9.08802.609375 9.00001.609375 8.82486.6268 8.74362.660646s-.15497.083442-.21695.145928L3.56001 5.77991 1.47334 3.68657c-.06435-.06216-.14031-.11103-.22354-.14383-.08324-.03281-.17212-.04889-.261578-.04735-.089454.00155-.177727.0207-.259779.05637-.082052.03566-.156277.08713-.218436.15148-.062159.06435-.111035.14031-.143837.22355-.032803.08323-.04889.17212-.047342.26157.001547.08945.020699.17773.056361.25978.035663.08205.087137.15627.151485.21843l2.559996 2.56c.06198.06249.13571.11209.21695.14593.08124.03385.16838.05127.25639.05127s.17514-.01742.25638-.05127c.08124-.03384.15498-.08344.21695-.14593l5.44-5.44c.06767-.06242.12168-.13819.15861-.22253.03694-.08433.05601-.1754.05601-.26747 0-.09206-.01907-.18313-.05601-.26747-.03693-.08433-.09094-.160098-.15861-.222526Z\"/></svg>",
24
+ "dots-three": "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 4\"><path fill=\"#fff\" d=\"M9.5 2c0 .29667-.08797.58668-.2528.83336-.16482.24667-.39908.43893-.67317.55246-.27409.11353-.57569.14324-.86666.08536-.29098-.05788-.55825-.20074-.76803-.41052-.20978-.20978-.35264-.47705-.41052-.76802-.05788-.29098-.02817-.59258.08536-.86666.11353-.27409.30579-.508362.55247-.673184C7.41332.587974 7.70333.5 8 .5c.39783 0 .77936.158036 1.06066.43934C9.34196 1.22064 9.5 1.60218 9.5 2ZM1.625.5c-.29667 0-.58668.087974-.833354.252796-.246674.164822-.438933.399094-.552465.673184-.113531.27408-.1432361.57568-.085358.86666.057878.29097.200739.55824.410518.76802.209778.20978.477049.35264.768029.41052.29097.05788.59257.02817.86666-.08536.27408-.11353.50835-.30579.67318-.55246C3.03703 2.58668 3.125 2.29667 3.125 2c0-.39782-.15803-.77936-.43934-1.06066C2.40436.658036 2.02283.5 1.625.5Zm12.75 0c-.2967 0-.5867.087974-.8334.252796-.2466.164822-.4389.399094-.5524.673184-.1135.27408-.1433.57568-.0854.86666.0579.29097.2008.55824.4105.76802.2098.20978.4771.35264.7681.41052.2909.05788.5925.02817.8666-.08536s.5084-.30579.6732-.55246c.1648-.24668.2528-.53669.2528-.83336 0-.39782-.158-.77936-.4393-1.06066C15.1544.658036 14.7728.5 14.375.5Z\"/></svg>",
25
+ copy: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 10 11\"><path fill=\"#fff\" d=\"M9.125.8125h-6c-.14918 0-.29226.059263-.39775.164752-.10549.105488-.16475.248568-.16475.397748v1.6875H.875c-.149184 0-.292258.05926-.397748.16475C.371763 3.33274.3125 3.47582.3125 3.625v6c0 .14918.059263.29226.164752.3977.10549.1055.248564.1648.397748.1648h6c.14918 0 .29226-.0593.39775-.1648.10549-.10544.16475-.24852.16475-.3977V7.9375H9.125c.14918 0 .29226-.05926.39775-.16475.10549-.10549.16475-.24857.16475-.39775v-6c0-.14918-.05926-.29226-.16475-.397748C9.41726.871763 9.27418.8125 9.125.8125Zm-2.8125 8.25h-4.875v-4.875h4.875v4.875Zm2.25-2.25h-1.125V3.625c0-.14918-.05926-.29226-.16475-.39775-.10549-.10549-.24857-.16475-.39775-.16475H3.6875v-1.125h4.875v4.875Z\"/></svg>",
26
+ compress: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M13.84 17.44c-.16-.07-.33-.1-.5-.1H8A1.33 1.33 0 1 0 8 20h2.12l-7.07 7.05a1.33 1.33 0 0 0 .44 2.19 1.33 1.33 0 0 0 1.46-.3L12 21.89V24a1.33 1.33 0 1 0 2.67 0v-5.33a1.37 1.37 0 0 0-.83-1.23Zm-.5-10.77A1.33 1.33 0 0 0 12 8v2.12L4.95 3.05a1.34 1.34 0 1 0-1.9 1.9L10.12 12H8a1.33 1.33 0 0 0 0 2.67h5.33c.18 0 .35-.04.5-.11a1.33 1.33 0 0 0 .84-1.23V8a1.33 1.33 0 0 0-1.34-1.33Zm4.82 7.89c.16.07.33.1.5.1H24A1.33 1.33 0 0 0 24 12h-2.12l7.07-7.05a1.34 1.34 0 1 0-1.9-1.9L20 10.12V8a1.33 1.33 0 0 0-2.67 0v5.33a1.33 1.33 0 0 0 .83 1.23ZM21.88 20H24a1.33 1.33 0 0 0 0-2.67h-5.33c-.18 0-.35.04-.51.11a1.33 1.33 0 0 0-.83 1.23V24A1.33 1.33 0 0 0 20 24v-2.12l7.05 7.07a1.33 1.33 0 0 0 2.19-.44 1.33 1.33 0 0 0-.3-1.46L21.89 20Z\"/></svg>",
27
+ grid: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M13.33 17.33H4a1.33 1.33 0 0 0-1.33 1.34V28A1.33 1.33 0 0 0 4 29.33h9.33A1.33 1.33 0 0 0 14.67 28v-9.33a1.33 1.33 0 0 0-1.34-1.34ZM12 26.67H5.33V20H12v6.67Zm16-24h-9.33A1.33 1.33 0 0 0 17.33 4v9.33a1.33 1.33 0 0 0 1.34 1.34H28a1.33 1.33 0 0 0 1.33-1.34V4A1.33 1.33 0 0 0 28 2.67ZM26.67 12H20V5.33h6.67V12ZM28 17.33h-9.33a1.33 1.33 0 0 0-1.34 1.34V28a1.33 1.33 0 0 0 1.34 1.33H28A1.33 1.33 0 0 0 29.33 28v-9.33A1.33 1.33 0 0 0 28 17.33Zm-1.33 9.34H20V20h6.67v6.67Zm-13.34-24H4A1.33 1.33 0 0 0 2.67 4v9.33A1.33 1.33 0 0 0 4 14.67h9.33a1.33 1.33 0 0 0 1.34-1.34V4a1.33 1.33 0 0 0-1.34-1.33ZM12 12H5.33V5.33H12V12Z\"/></svg>",
28
+ puzzle: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 33 32\"><path fill=\"currentColor\" d=\"M23 29.33H7a4 4 0 0 1-4-4V12a4 4 0 0 1 4-4h1.33A5.33 5.33 0 0 1 19 8h4a1.33 1.33 0 0 1 1.33 1.33v4a5.33 5.33 0 0 1 0 10.67v4A1.33 1.33 0 0 1 23 29.33ZM7 10.67A1.33 1.33 0 0 0 5.67 12v13.33A1.33 1.33 0 0 0 7 26.67h14.67v-4.24a1.33 1.33 0 0 1 1.77-1.27 2.36 2.36 0 0 0 2.32-.3A2.67 2.67 0 0 0 27 19.02a2.67 2.67 0 0 0-.64-2.12 2.52 2.52 0 0 0-2.9-.74 1.33 1.33 0 0 1-1.77-1.26v-4.24h-4.26a1.33 1.33 0 0 1-1.34-1.78 2.36 2.36 0 0 0-.3-2.32 2.59 2.59 0 0 0-4-.57A2.67 2.67 0 0 0 11 8c0 .3.06.6.17.9a1.33 1.33 0 0 1-1.26 1.77H7Z\"/></svg>",
29
+ approveUser: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 33 32\"><path fill=\"currentColor\" d=\"M18.4 16.3a6.56 6.56 0 0 0 2.27-4.97 6.67 6.67 0 1 0-12.74 2.73c.39.86.96 1.62 1.67 2.23A10.67 10.67 0 0 0 3.33 26 1.33 1.33 0 0 0 6 26a8 8 0 0 1 16 0 1.33 1.33 0 0 0 2.67 0 10.67 10.67 0 0 0-6.27-9.7Zm-4.4-.97a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm15.61-3.16a1.33 1.33 0 0 0-1.9 0l-2.66 2.67-.82-.84a1.33 1.33 0 1 0-1.9 1.88l1.79 1.79a1.33 1.33 0 0 0 1.88 0l3.56-3.56a1.33 1.33 0 0 0 .05-1.94Z\"/></svg>",
30
+ checkCircle: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 33 32\"><path fill=\"currentColor\" d=\"m20.3 11.72-5.73 5.73-2.2-2.2a1.33 1.33 0 1 0-1.88 1.88l3.14 3.15a1.33 1.33 0 0 0 1.88 0l6.66-6.67a1.33 1.33 0 1 0-1.88-1.89Zm-3.63-9.05a13.33 13.33 0 1 0 0 26.66 13.33 13.33 0 0 0 0-26.66Zm0 24a10.67 10.67 0 1 1 0-21.34 10.67 10.67 0 0 1 0 21.34Z\"/></svg>",
31
+ resizeImage: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 33 32\"><path fill=\"currentColor\" d=\"M17.67 14.67H3A1.33 1.33 0 0 0 1.67 16v12A1.33 1.33 0 0 0 3 29.33h14.67A1.33 1.33 0 0 0 19 28V16a1.33 1.33 0 0 0-1.33-1.33Zm-7.42 12 2.58-2.58a.4.4 0 0 1 .66 0l2.56 2.58h-5.8Zm6.08-3.5-.96-.94a3.21 3.21 0 0 0-4.44 0l-4.45 4.44H4.33v-9.34h12v5.84ZM3 5.48a1.33 1.33 0 0 0 1.15-.65 1.4 1.4 0 0 0-.16-1.8A1.33 1.33 0 0 0 3 2.67 1.33 1.33 0 0 0 1.67 4v.13A1.33 1.33 0 0 0 3 5.48Zm10.55-.15h.25a1.33 1.33 0 0 0 0-2.66h-.25a1.33 1.33 0 0 0 0 2.66ZM3 11.71a1.33 1.33 0 0 0 1.33-1.34v-.29a1.33 1.33 0 0 0-2.66 0v.3A1.33 1.33 0 0 0 3 11.7Zm16.12-9.04h-.25a1.33 1.33 0 0 0 0 2.66h.25a1.33 1.33 0 0 0 0-2.66ZM8.22 5.33h.25a1.33 1.33 0 1 0 0-2.66H8.2a1.33 1.33 0 1 0 0 2.66Zm21.45 3.2a1.33 1.33 0 0 0-1.34 1.34v.28a1.33 1.33 0 0 0 2.67 0v-.28a1.33 1.33 0 0 0-1.33-1.34Zm-6.5 18.14h-.33a1.33 1.33 0 1 0 0 2.66h.32a1.33 1.33 0 0 0 0-2.66Zm6.36-24a1.33 1.33 0 1 0 .36 2.64A1.33 1.33 0 0 0 31 4.15V4a1.45 1.45 0 0 0-1.47-1.33Zm.14 11.86a1.33 1.33 0 0 0-1.34 1.34v.29a1.33 1.33 0 1 0 2.67 0v-.3a1.33 1.33 0 0 0-1.33-1.33ZM24.45 2.67h-.25a1.33 1.33 0 1 0 0 2.66h.25a1.33 1.33 0 1 0 0-2.66Zm5.22 24A1.33 1.33 0 0 0 28.34 28a1.33 1.33 0 0 0 1.33 1.33A1.45 1.45 0 0 0 31 27.87a1.33 1.33 0 0 0-1.33-1.2Zm0-6.08a1.33 1.33 0 0 0-1.34 1.33v.3a1.33 1.33 0 0 0 2.67 0v-.35a1.33 1.33 0 0 0-1.33-1.34v.06Z\"/></svg>",
32
+ searchFile: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 32 32\"><path fill=\"currentColor\" d=\"M16 26.67H6.67a1.33 1.33 0 0 1-1.34-1.34V6.67a1.33 1.33 0 0 1 1.34-1.34h6.66v4a4 4 0 0 0 4 4h4v1.34a1.33 1.33 0 0 0 2.67 0v-2.75a1.75 1.75 0 0 0-.08-.36v-.12a1.43 1.43 0 0 0-.25-.37l-8-8c-.11-.1-.24-.2-.38-.26h-.12a1.17 1.17 0 0 0-.44-.14H6.67a4 4 0 0 0-4 4v18.66a4 4 0 0 0 4 4H16a1.33 1.33 0 0 0 0-2.66ZM16 7.2l3.45 3.46h-2.12A1.33 1.33 0 0 1 16 9.33V7.21Zm-6.67 3.46a1.33 1.33 0 0 0 0 2.66h1.34a1.33 1.33 0 0 0 0-2.66H9.33Zm19.62 16.38-1.56-1.54a4.59 4.59 0 0 0-.72-5.51 4.65 4.65 0 0 0-8 3.32 4.61 4.61 0 0 0 6.84 4.07l1.54 1.56a1.33 1.33 0 0 0 2.19-.44 1.33 1.33 0 0 0-.3-1.46Zm-4.23-2.33a2.05 2.05 0 0 1-2.81 0 2 2 0 0 1 0-2.81 2 2 0 0 1 1.34-.58 1.96 1.96 0 0 1 1.47 3.39ZM17.33 16h-8a1.33 1.33 0 0 0 0 2.67h8a1.33 1.33 0 1 0 0-2.67Zm-2.66 8a1.33 1.33 0 0 0 0-2.67H9.33a1.33 1.33 0 0 0 0 2.67h5.34Z\"/></svg>",
33
+ image: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 33 32\"><path fill=\"currentColor\" d=\"M26 2.67H7.33a4 4 0 0 0-4 4v18.66a4 4 0 0 0 4 4H26c.22 0 .44-.02.65-.06l.4-.1h.16l.5-.18.17-.1c.13-.08.28-.14.41-.24.18-.13.35-.27.5-.42l.1-.12c.13-.14.25-.28.36-.43l.12-.17c.1-.15.18-.3.24-.47l.1-.2.16-.5v-.2c.07-.27.12-.54.13-.8V6.66a4 4 0 0 0-4-4Zm-18.67 24A1.33 1.33 0 0 1 6 25.33V19.6l4.39-4.4a1.33 1.33 0 0 1 1.89 0l11.47 11.48H7.33Zm20-1.34c0 .17-.03.33-.1.48a1.33 1.33 0 0 1-.22.35l-7.13-7.13 1.17-1.18a1.33 1.33 0 0 1 1.9 0l4.38 4.4v3.08Zm0-6.85L24.83 16a4.1 4.1 0 0 0-5.66 0L18 17.17l-3.84-3.84a4.1 4.1 0 0 0-5.65 0L6 15.81V6.67a1.33 1.33 0 0 1 1.33-1.34H26a1.33 1.33 0 0 1 1.33 1.34v11.81Z\"/></svg>",
34
+ robot: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 33 32\"><path fill=\"currentColor\" d=\"M12.67 20a1.33 1.33 0 1 0 0 2.67 1.33 1.33 0 0 0 0-2.67Zm-9.34-1.33A1.33 1.33 0 0 0 2 20v2.67a1.33 1.33 0 1 0 2.67 0V20a1.33 1.33 0 0 0-1.34-1.33Zm26.67 0A1.33 1.33 0 0 0 28.67 20v2.67a1.33 1.33 0 1 0 2.66 0V20A1.33 1.33 0 0 0 30 18.67Zm-6.67-9.34H18v-1.7a2.67 2.67 0 0 0 .55-4.18 2.67 2.67 0 0 0-4.19 3.2c.24.41.57.74.97.98v1.7H10a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4h13.33a4 4 0 0 0 4-4v-12a4 4 0 0 0-4-4ZM18.96 12l-.67 2.67h-3.25L14.37 12h4.59Zm5.7 13.33a1.33 1.33 0 0 1-1.33 1.34H10a1.33 1.33 0 0 1-1.33-1.34v-12A1.33 1.33 0 0 1 10 12h1.63l1.04 4.32A1.33 1.33 0 0 0 14 17.33h5.33a1.33 1.33 0 0 0 1.34-1.01L21.7 12h1.62a1.33 1.33 0 0 1 1.34 1.33v12Zm-4-5.33a1.33 1.33 0 1 0 0 2.67 1.33 1.33 0 0 0 0-2.67Z\"/></svg>",
35
+ sitemap: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 33 32\"><path fill=\"currentColor\" d=\"M29.67 20H27v-4a1.33 1.33 0 0 0-1.33-1.33h-8V12h2.66a1.33 1.33 0 0 0 1.34-1.33v-8a1.33 1.33 0 0 0-1.34-1.34h-8A1.33 1.33 0 0 0 11 2.67v8A1.33 1.33 0 0 0 12.33 12H15v2.67H7A1.33 1.33 0 0 0 5.67 16v4H3a1.33 1.33 0 0 0-1.33 1.33v8A1.33 1.33 0 0 0 3 30.67h8a1.33 1.33 0 0 0 1.33-1.34v-8A1.33 1.33 0 0 0 11 20H8.33v-2.67h16V20h-2.66a1.33 1.33 0 0 0-1.34 1.33v8a1.33 1.33 0 0 0 1.34 1.34h8A1.33 1.33 0 0 0 31 29.33v-8A1.33 1.33 0 0 0 29.67 20Zm-20 2.67V28H4.33v-5.33h5.34Zm4-13.34V4H19v5.33h-5.33ZM28.33 28H23v-5.33h5.33V28Z\"/></svg>",
36
+ gauge: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M207 80.7A111.2 111.2 0 0 0 128 48h-.4C66.1 48.2 16 99 16 161.1V184a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-24a111.3 111.3 0 0 0-33-79.3ZM224 184H119.7l54.8-75.3a8 8 0 0 0-13-9.4L100 184H32v-22.9c0-3 .1-6 .4-9.1H56a8 8 0 0 0 0-16H35.3A96.7 96.7 0 0 1 120 64.3V88a8 8 0 0 0 16 0V64.3a96.1 96.1 0 0 1 85 71.7h-21a8 8 0 0 0 0 16h23.7c.2 2.6.3 5.3.3 8Z\"/></svg>",
37
+ "person-arms-spread": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M160 40a32 32 0 1 0-32 32 32 32 0 0 0 32-32Zm-32 16a16 16 0 1 1 16-16 16 16 0 0 1-16 16Zm103.5 31.7A19.6 19.6 0 0 0 212 72H44a20 20 0 0 0-8.4 38.2h.1l50.8 22.3-21 79.7a20 20 0 0 0 36.5 16.6l26-44.9 26 44.9a20 20 0 0 0 36.4-16.5l-21-79.7 50.8-22.4a19.6 19.6 0 0 0 11.3-22.5Zm-17.8 8-57 25a8 8 0 0 0-4.4 9.3l22.8 87a7 7 0 0 0 .5 1.4 4 4 0 0 1-5 5.4 4 4 0 0 1-2.2-2 6.3 6.3 0 0 0-.4-.7L135 164a8 8 0 0 0-14 0l-33 57a6.3 6.3 0 0 0-.3.7 4 4 0 0 1-2.3 2 4 4 0 0 1-5-5.4 7 7 0 0 0 .5-1.4l22.8-86.9a8 8 0 0 0-4.5-9.4l-56.9-25A4 4 0 0 1 44 88h168a4 4 0 0 1 1.7 7.6Z\"/></svg>",
38
+ "arrow-left": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><path d=\"M224 128a8 8 0 0 1-8 8H59.31l58.35 58.34a8 8 0 0 1-11.32 11.32l-72-72a8 8 0 0 1 0-11.32l72-72a8 8 0 0 1 11.32 11.32L59.31 120H216a8 8 0 0 1 8 8Z\"/></svg>",
39
+ "houston-detective": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"80.73885\" height=\"73.61774\" fill=\"none\"><path fill=\"url(#a)\" d=\"M4.36139 21.7987c0-4.93847 4.00624-8.9419 8.94818-8.9419h49.21475c4.9424 0 8.9486 4.00343 8.9486 8.9419v32.4145c0 4.93841-4.0062 8.94186-8.9486 8.94186H13.30957c-4.94194 0-8.94818-4.00345-8.94818-8.94187z\"/><path fill=\"url(#b)\" d=\"M6.98283 22.62008c0-3.94523 3.2151-7.14348 7.18112-7.14348h47.50578c3.9662 0 7.18144 3.19825 7.18144 7.14348V53.3917c0 3.94545-3.21523 7.14387-7.18144 7.14387H14.16395c-3.96602 0-7.18112-3.19842-7.18112-7.14387z\"/><path fill=\"#fff\" d=\"M25.47554 43.24548c0 3.0745-2.4941 5.56686-5.57076 5.56686-3.0766 0-5.57077-2.49236-5.57077-5.56686s2.49416-5.56686 5.57077-5.56686c3.07666 0 5.57076 2.49236 5.57076 5.56686zm12.25545 3.34c1.84596 0 3.34243-1.49538 3.34243-3.3401h2.22833c0 3.0745-2.49415 5.56686-5.57076 5.56686-3.07666 0-5.57077-2.49236-5.57077-5.56686h2.22828c0 1.84472 1.49647 3.3401 3.34249 3.3401zm23.39735-3.34c0 3.0745-2.49419 5.56686-5.57082 5.56686-3.07658 0-5.57064-2.49236-5.57064-5.56686s2.49406-5.56686 5.57064-5.56686c3.07664 0 5.57082 2.49236 5.57082 5.56686z\"/><g filter=\"url(#c)\" opacity=\".5\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><path fill=\"#000\" d=\"M104.83 26.2341c3.182 2.7053-1.591 12.5125-28.6385 12.5125-27.0471 0-31.8199-9.807-28.6381-12.5125 3.1818-2.7056 12.8217 1.6907 28.6381 1.6907 15.8164 0 25.4555-4.3961 28.6385-1.6907z\"/></g><g filter=\"url(#d)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><path fill=\"#663c0d\" d=\"M79.1496 5.30492c-.7721.51031-1.7701.50914-2.5512.01272-4.5064-2.86385-11.2943-6.50075-14.3451-2.91332-4.1955 4.93349-6.3656 17.86268-6.3656 20.24438 0 1.9053 14.7566 5.784 21.9902 7.4852 7.2336-1.7012 21.9902-5.5799 21.9902-7.4852 0-2.3817-3.3275-15.31089-7.523-20.24438-3.0463-3.58212-8.8653.03873-13.1955 2.9006z\"/></g><g filter=\"url(#e)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><path fill=\"#421913\" d=\"M56.4531 17.9819h42.5617l2.5902 11.2845H54.1523Z\"/></g><g filter=\"url(#f)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><path fill=\"#663c0d\" fill-rule=\"evenodd\" d=\"M51.2044 21.7432c-16.6972 0-13.3879 5.5266-6.2519 8.7939-.0399.0582-.0601.117-.0601.1761 0 1.598 14.768 2.8934 32.9853 2.8934 18.2172 0 32.9853-1.2954 32.9853-2.8934 0-.0479-.013-.0955-.04-.1429 7.075-3.2629 10.412-8.8271-6.083-8.8271-11.1883 0-20.1017 1.3613-26.5593 2.8804-6.559-1.5191-15.6124-2.8804-26.9763-2.8804z\" clip-rule=\"evenodd\"/></g><g filter=\"url(#g)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><path fill=\"#d2a460\" d=\"M11.479 82.4367c2.6687 3.4228 6.7106 11.7506 9.859 13.5839 15.5288 9.0424 37.7225 24.2464 56.4741 24.5724 18.7516-.326 36.9159-14.482 52.4449-23.5245 3.148-1.8333 7.19-7.0175 9.859-10.4403 1.45-1.8596 2.77-3.1993 2.77-3.1993s6.091 36.1791-1.328 39.8061c-28.151 13.763-103.3705 13.763-131.5215 0-7.41893-3.627-2.11069-40.854-1.32762-45.0455.27567 0 2.30452 3.65 2.77012 4.2472z\"/></g><g filter=\"url(#h)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><path fill=\"#d2a460\" d=\"m142.911 68.731-65.1786 51.865v9.447c21.7262-9.397 66.3766-34.1088 71.1716-39.8496 4.795-9.6363 1.249-21.4624-5.993-21.4624z\"/></g><g filter=\"url(#i)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><path fill=\"#d2a460\" d=\"m8.67377 68.731 69.05863 51.865v9.447C54.7129 120.646 7.40376 95.9342 2.32368 90.1934-2.75639 80.5571 1.00072 68.731 8.67377 68.731Z\"/></g><g filter=\"url(#j)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><path fill=\"#421913\" d=\"m127.123 109.203 7.779 1.798-5.636 33.161c-.657 2.993-12.371.06-11.121-2.774z\"/></g><g filter=\"url(#k)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><rect width=\"10.9039\" height=\"5.2351\" x=\"126.291\" y=\"106.322\" fill=\"url(#l)\" rx=\".52395\" transform=\"rotate(13 126.291 106.322)\"/></g><g filter=\"url(#m)\" transform=\"matrix(.5 0 0 .5 0 .1236)\"><circle cx=\"135.744\" cy=\"88.0296\" r=\"22.2183\" fill=\"url(#n)\" transform=\"rotate(43 135.744 88.0296)\"/></g><ellipse cx=\"79.76932\" cy=\"-14.01218\" fill=\"url(#o)\" rx=\"9.16844\" ry=\"9.16799\" transform=\"rotate(42.97994) skewX(-.04011)\"/><defs><filter id=\"c\" width=\"80.5643\" height=\"34.955\" x=\"35.9092\" y=\"14.5728\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_847_1831\" stdDeviation=\"5.3906\"/></filter><filter id=\"d\" width=\"46.8739\" height=\"31.8277\" x=\"54.1516\" y=\"-.24722\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dx=\"-1.73607\" dy=\"-1.15738\"/><feGaussianBlur stdDeviation=\"1.15738\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0\"/><feBlend in2=\"shape\" result=\"effect1_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dx=\"1.15738\" dy=\"1.44672\"/><feGaussianBlur stdDeviation=\"1.15738\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0.579167 0 0 0 0 0.436815 0 0 0 0 0.277517 0 0 0 0.8 0\"/><feBlend in2=\"effect1_innerShadow_847_1831\" result=\"effect2_innerShadow_847_1831\"/></filter><filter id=\"e\" width=\"49.0455\" height=\"13.9403\" x=\"52.559\" y=\"17.9819\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dx=\"-1.59338\" dy=\"2.65563\"/><feGaussianBlur stdDeviation=\"1.59338\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"shape\" result=\"effect1_innerShadow_847_1831\"/></filter><filter id=\"f\" width=\"80.4374\" height=\"14.4674\" x=\"37.3704\" y=\"20.5858\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dx=\"-1.73607\" dy=\"-1.15738\"/><feGaussianBlur stdDeviation=\"1.15738\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.35 0\"/><feBlend in2=\"shape\" result=\"effect1_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dx=\"1.15738\" dy=\"1.44672\"/><feGaussianBlur stdDeviation=\"1.15738\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0.579167 0 0 0 0 0.436815 0 0 0 0 0.277517 0 0 0 0.8 0\"/><feBlend in2=\"effect1_innerShadow_847_1831\" result=\"effect2_innerShadow_847_1831\"/></filter><filter id=\"g\" width=\"139.101\" height=\"61.6551\" x=\"6.13867\" y=\"76.0937\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"-4.19159\"/><feGaussianBlur stdDeviation=\"1.0479\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"shape\" result=\"effect1_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"-2.09579\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0\"/><feBlend in2=\"effect1_innerShadow_847_1831\" result=\"effect2_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"4.19159\"/><feGaussianBlur stdDeviation=\"4.19159\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0\"/><feBlend in2=\"effect2_innerShadow_847_1831\" result=\"effect3_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"1.0479\"/><feGaussianBlur stdDeviation=\"1.0479\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"/><feBlend in2=\"effect3_innerShadow_847_1831\" mode=\"overlay\" result=\"effect4_innerShadow_847_1831\"/></filter><filter id=\"h\" width=\"73.3652\" height=\"67.5994\" x=\"77.7324\" y=\"66.6352\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"-4.19159\"/><feGaussianBlur stdDeviation=\"1.0479\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"shape\" result=\"effect1_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"-2.09579\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0\"/><feBlend in2=\"effect1_innerShadow_847_1831\" result=\"effect2_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"4.19159\"/><feGaussianBlur stdDeviation=\"4.19159\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0\"/><feBlend in2=\"effect2_innerShadow_847_1831\" result=\"effect3_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"1.0479\"/><feGaussianBlur stdDeviation=\"1.0479\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"/><feBlend in2=\"effect3_innerShadow_847_1831\" mode=\"overlay\" result=\"effect4_innerShadow_847_1831\"/></filter><filter id=\"i\" width=\"77.7324\" height=\"67.5994\" x=\"0\" y=\"66.6352\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"-4.19159\"/><feGaussianBlur stdDeviation=\"1.0479\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"shape\" result=\"effect1_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"-2.09579\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0\"/><feBlend in2=\"effect1_innerShadow_847_1831\" result=\"effect2_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"4.19159\"/><feGaussianBlur stdDeviation=\"4.19159\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0\"/><feBlend in2=\"effect2_innerShadow_847_1831\" result=\"effect3_innerShadow_847_1831\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\"1.0479\"/><feGaussianBlur stdDeviation=\"1.0479\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\"/><feBlend in2=\"effect3_innerShadow_847_1831\" mode=\"overlay\" result=\"effect4_innerShadow_847_1831\"/></filter><filter id=\"j\" width=\"18.4224\" height=\"37.7877\" x=\"116.48\" y=\"109.203\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dx=\"-2.6407\" dy=\"3.69907\"/><feGaussianBlur stdDeviation=\".78592\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"shape\" result=\"effect1_innerShadow_847_1831\"/></filter><filter id=\"k\" width=\"18.4043\" height=\"14.1577\" x=\"121.811\" y=\"103.873\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\".8512\"/><feGaussianBlur stdDeviation=\"1.70239\"/><feComposite in2=\"hardAlpha\" operator=\"out\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_847_1831\"/><feBlend in=\"SourceGraphic\" in2=\"effect1_dropShadow_847_1831\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dx=\".8512\" dy=\"-2.55359\"/><feGaussianBlur stdDeviation=\"1.70239\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"shape\" result=\"effect2_innerShadow_847_1831\"/></filter><filter id=\"m\" width=\"51.2461\" height=\"51.2466\" x=\"110.121\" y=\"63.2574\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dy=\".8512\"/><feGaussianBlur stdDeviation=\"1.70239\"/><feComposite in2=\"hardAlpha\" operator=\"out\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_847_1831\"/><feBlend in=\"SourceGraphic\" in2=\"effect1_dropShadow_847_1831\" result=\"shape\"/><feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/><feOffset dx=\".8512\" dy=\"-2.55359\"/><feGaussianBlur stdDeviation=\"1.70239\"/><feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/><feBlend in2=\"shape\" result=\"effect2_innerShadow_847_1831\"/></filter><radialGradient id=\"a\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(0 -25.15 33.555 0 37.91706 38.00588)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#3245FF\"/><stop offset=\".28646\" stop-color=\"#BC52EE\"/><stop offset=\".41434\" stop-color=\"#4AF2C8\"/><stop offset=\".55466\" stop-color=\"#4AF2C8\"/><stop offset=\"1\" stop-color=\"#3245FF\"/></radialGradient><radialGradient id=\"b\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(0 36.673 -50.354 0 37.91691 32.37368)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".36659\" stop-color=\"#191C24\"/><stop offset=\".66145\" stop-color=\"#111218\"/><stop offset=\"1\" stop-color=\"#040506\"/></radialGradient><radialGradient id=\"l\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(6.044 5.658 -9.328 9.963 130.134 106.85)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#D5D7DB\"/><stop offset=\".17494\" stop-color=\"#BABFCF\"/><stop offset=\".32731\" stop-color=\"#A7AAB6\"/><stop offset=\".45345\" stop-color=\"#9CA0AE\"/><stop offset=\".60938\" stop-color=\"#7F818A\"/><stop offset=\".79688\" stop-color=\"#636673\"/><stop offset=\"1\" stop-color=\"#47474A\"/></radialGradient><radialGradient id=\"n\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(24.63 48.03 -64.437 33.045 129.187 70.2917)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#D5D7DB\"/><stop offset=\".17494\" stop-color=\"#BABFCF\"/><stop offset=\".32731\" stop-color=\"#A7AAB6\"/><stop offset=\".45345\" stop-color=\"#9CA0AE\"/><stop offset=\".60938\" stop-color=\"#7F818A\"/><stop offset=\".79688\" stop-color=\"#636673\"/><stop offset=\"1\" stop-color=\"#47474A\"/></radialGradient><linearGradient id=\"o\" x1=\"154.075\" x2=\"109.822\" y1=\"69.6993\" y2=\"88.276\" gradientTransform=\"matrix(.5 0 0 .5 11.87299 -58.04057)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#4AF2C8\"/><stop offset=\"1\" stop-color=\"#2F4CB3\"/></linearGradient></defs></svg>"
40
+ };
41
+ //#endregion
42
+ export { isDefinedIcon as n, getIconElement as t };