@ng-prism/core 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/README.md +170 -0
  2. package/builders.json +14 -0
  3. package/dist/app/component-header/prism-component-header.component.d.ts +8 -0
  4. package/dist/app/component-header/prism-component-header.component.d.ts.map +1 -0
  5. package/dist/app/component-header/prism-component-header.component.js +77 -0
  6. package/dist/app/controls/boolean-control.component.d.ts +10 -0
  7. package/dist/app/controls/boolean-control.component.d.ts.map +1 -0
  8. package/dist/app/controls/boolean-control.component.js +58 -0
  9. package/dist/app/controls/json-control.component.d.ts +19 -0
  10. package/dist/app/controls/json-control.component.d.ts.map +1 -0
  11. package/dist/app/controls/json-control.component.js +136 -0
  12. package/dist/app/controls/number-control.component.d.ts +10 -0
  13. package/dist/app/controls/number-control.component.d.ts.map +1 -0
  14. package/dist/app/controls/number-control.component.js +55 -0
  15. package/dist/app/controls/string-control.component.d.ts +10 -0
  16. package/dist/app/controls/string-control.component.d.ts.map +1 -0
  17. package/dist/app/controls/string-control.component.js +55 -0
  18. package/dist/app/controls/union-control.component.d.ts +11 -0
  19. package/dist/app/controls/union-control.component.d.ts.map +1 -0
  20. package/dist/app/controls/union-control.component.js +72 -0
  21. package/dist/app/header/prism-header.component.d.ts +10 -0
  22. package/dist/app/header/prism-header.component.d.ts.map +1 -0
  23. package/dist/app/header/prism-header.component.js +241 -0
  24. package/dist/app/hmr.d.ts +4 -0
  25. package/dist/app/hmr.d.ts.map +1 -0
  26. package/dist/app/hmr.js +5 -0
  27. package/dist/app/index.d.ts +18 -0
  28. package/dist/app/index.d.ts.map +1 -0
  29. package/dist/app/index.js +21 -0
  30. package/dist/app/layout-menu/prism-layout-menu.component.d.ts +10 -0
  31. package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -0
  32. package/dist/app/layout-menu/prism-layout-menu.component.js +190 -0
  33. package/dist/app/page-renderer/prism-icon-page.component.d.ts +8 -0
  34. package/dist/app/page-renderer/prism-icon-page.component.d.ts.map +1 -0
  35. package/dist/app/page-renderer/prism-icon-page.component.js +42 -0
  36. package/dist/app/page-renderer/prism-page-renderer.component.d.ts +8 -0
  37. package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -0
  38. package/dist/app/page-renderer/prism-page-renderer.component.js +72 -0
  39. package/dist/app/page-renderer/prism-token-page.component.d.ts +8 -0
  40. package/dist/app/page-renderer/prism-token-page.component.d.ts.map +1 -0
  41. package/dist/app/page-renderer/prism-token-page.component.js +164 -0
  42. package/dist/app/panels/a11y/a11y-audit.service.d.ts +17 -0
  43. package/dist/app/panels/a11y/a11y-audit.service.d.ts.map +1 -0
  44. package/dist/app/panels/a11y/a11y-audit.service.js +71 -0
  45. package/dist/app/panels/a11y/a11y-core.plugin.d.ts +3 -0
  46. package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -0
  47. package/dist/app/panels/a11y/a11y-core.plugin.js +8 -0
  48. package/dist/app/panels/a11y/a11y-dom-utils.d.ts +11 -0
  49. package/dist/app/panels/a11y/a11y-dom-utils.d.ts.map +1 -0
  50. package/dist/app/panels/a11y/a11y-dom-utils.js +149 -0
  51. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts +24 -0
  52. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts.map +1 -0
  53. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +104 -0
  54. package/dist/app/panels/a11y/a11y-keyboard.component.d.ts +12 -0
  55. package/dist/app/panels/a11y/a11y-keyboard.component.d.ts.map +1 -0
  56. package/dist/app/panels/a11y/a11y-keyboard.component.js +150 -0
  57. package/dist/app/panels/a11y/a11y-keyboard.service.d.ts +8 -0
  58. package/dist/app/panels/a11y/a11y-keyboard.service.d.ts.map +1 -0
  59. package/dist/app/panels/a11y/a11y-keyboard.service.js +71 -0
  60. package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts +6 -0
  61. package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -0
  62. package/dist/app/panels/a11y/a11y-overlay-host.component.js +18 -0
  63. package/dist/app/panels/a11y/a11y-panel-state.service.d.ts +8 -0
  64. package/dist/app/panels/a11y/a11y-panel-state.service.d.ts.map +1 -0
  65. package/dist/app/panels/a11y/a11y-panel-state.service.js +11 -0
  66. package/dist/app/panels/a11y/a11y-panel.component.d.ts +14 -0
  67. package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -0
  68. package/dist/app/panels/a11y/a11y-panel.component.js +183 -0
  69. package/dist/app/panels/a11y/a11y-perspective.service.d.ts +8 -0
  70. package/dist/app/panels/a11y/a11y-perspective.service.d.ts.map +1 -0
  71. package/dist/app/panels/a11y/a11y-perspective.service.js +11 -0
  72. package/dist/app/panels/a11y/a11y-score.component.d.ts +11 -0
  73. package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -0
  74. package/dist/app/panels/a11y/a11y-score.component.js +72 -0
  75. package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts +27 -0
  76. package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts.map +1 -0
  77. package/dist/app/panels/a11y/a11y-sr-overlay.component.js +127 -0
  78. package/dist/app/panels/a11y/a11y-sr.component.d.ts +19 -0
  79. package/dist/app/panels/a11y/a11y-sr.component.d.ts.map +1 -0
  80. package/dist/app/panels/a11y/a11y-sr.component.js +257 -0
  81. package/dist/app/panels/a11y/a11y-sr.service.d.ts +8 -0
  82. package/dist/app/panels/a11y/a11y-sr.service.d.ts.map +1 -0
  83. package/dist/app/panels/a11y/a11y-sr.service.js +102 -0
  84. package/dist/app/panels/a11y/a11y-tree.component.d.ts +27 -0
  85. package/dist/app/panels/a11y/a11y-tree.component.d.ts.map +1 -0
  86. package/dist/app/panels/a11y/a11y-tree.component.js +229 -0
  87. package/dist/app/panels/a11y/a11y-tree.service.d.ts +8 -0
  88. package/dist/app/panels/a11y/a11y-tree.service.d.ts.map +1 -0
  89. package/dist/app/panels/a11y/a11y-tree.service.js +47 -0
  90. package/dist/app/panels/a11y/a11y-violations.component.d.ts +15 -0
  91. package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -0
  92. package/dist/app/panels/a11y/a11y-violations.component.js +457 -0
  93. package/dist/app/panels/a11y/a11y.types.d.ts +44 -0
  94. package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -0
  95. package/dist/app/panels/a11y/a11y.types.js +1 -0
  96. package/dist/app/panels/builtin-panels.d.ts +3 -0
  97. package/dist/app/panels/builtin-panels.d.ts.map +1 -0
  98. package/dist/app/panels/builtin-panels.js +8 -0
  99. package/dist/app/panels/controls/controls-plugin.d.ts +3 -0
  100. package/dist/app/panels/controls/controls-plugin.d.ts.map +1 -0
  101. package/dist/app/panels/controls/controls-plugin.js +12 -0
  102. package/dist/app/panels/controls/prism-controls-panel.component.d.ts +13 -0
  103. package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -0
  104. package/dist/app/panels/controls/prism-controls-panel.component.js +178 -0
  105. package/dist/app/panels/events/events-plugin.d.ts +3 -0
  106. package/dist/app/panels/events/events-plugin.d.ts.map +1 -0
  107. package/dist/app/panels/events/events-plugin.js +12 -0
  108. package/dist/app/panels/events/prism-events-panel.component.d.ts +9 -0
  109. package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -0
  110. package/dist/app/panels/events/prism-events-panel.component.js +83 -0
  111. package/dist/app/panels/events/prism-json-node.component.d.ts +22 -0
  112. package/dist/app/panels/events/prism-json-node.component.d.ts.map +1 -0
  113. package/dist/app/panels/events/prism-json-node.component.js +350 -0
  114. package/dist/app/panels/events/prism-json-node.utils.d.ts +2 -0
  115. package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -0
  116. package/dist/app/panels/events/prism-json-node.utils.js +40 -0
  117. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +26 -0
  118. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -0
  119. package/dist/app/panels/panel-host/prism-panel-host.component.js +157 -0
  120. package/dist/app/provide-prism.d.ts +8 -0
  121. package/dist/app/provide-prism.d.ts.map +1 -0
  122. package/dist/app/provide-prism.js +21 -0
  123. package/dist/app/renderer/highlight-xml.d.ts +2 -0
  124. package/dist/app/renderer/highlight-xml.d.ts.map +1 -0
  125. package/dist/app/renderer/highlight-xml.js +27 -0
  126. package/dist/app/renderer/prism-renderer.component.d.ts +32 -0
  127. package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -0
  128. package/dist/app/renderer/prism-renderer.component.js +346 -0
  129. package/dist/app/renderer/snippet-generator.d.ts +7 -0
  130. package/dist/app/renderer/snippet-generator.d.ts.map +1 -0
  131. package/dist/app/renderer/snippet-generator.js +162 -0
  132. package/dist/app/services/navigation-item.types.d.ts +10 -0
  133. package/dist/app/services/navigation-item.types.d.ts.map +1 -0
  134. package/dist/app/services/navigation-item.types.js +1 -0
  135. package/dist/app/services/prism-event-log.service.d.ts +16 -0
  136. package/dist/app/services/prism-event-log.service.d.ts.map +1 -0
  137. package/dist/app/services/prism-event-log.service.js +21 -0
  138. package/dist/app/services/prism-layout.service.d.ts +23 -0
  139. package/dist/app/services/prism-layout.service.d.ts.map +1 -0
  140. package/dist/app/services/prism-layout.service.js +85 -0
  141. package/dist/app/services/prism-manifest.service.d.ts +15 -0
  142. package/dist/app/services/prism-manifest.service.d.ts.map +1 -0
  143. package/dist/app/services/prism-manifest.service.js +53 -0
  144. package/dist/app/services/prism-navigation.service.d.ts +18 -0
  145. package/dist/app/services/prism-navigation.service.d.ts.map +1 -0
  146. package/dist/app/services/prism-navigation.service.js +94 -0
  147. package/dist/app/services/prism-panel.service.d.ts +8 -0
  148. package/dist/app/services/prism-panel.service.d.ts.map +1 -0
  149. package/dist/app/services/prism-panel.service.js +12 -0
  150. package/dist/app/services/prism-plugin.service.d.ts +12 -0
  151. package/dist/app/services/prism-plugin.service.d.ts.map +1 -0
  152. package/dist/app/services/prism-plugin.service.js +32 -0
  153. package/dist/app/services/prism-renderer.service.d.ts +18 -0
  154. package/dist/app/services/prism-renderer.service.d.ts.map +1 -0
  155. package/dist/app/services/prism-renderer.service.js +84 -0
  156. package/dist/app/services/prism-search.service.d.ts +13 -0
  157. package/dist/app/services/prism-search.service.d.ts.map +1 -0
  158. package/dist/app/services/prism-search.service.js +39 -0
  159. package/dist/app/services/prism-theme.service.d.ts +9 -0
  160. package/dist/app/services/prism-theme.service.d.ts.map +1 -0
  161. package/dist/app/services/prism-theme.service.js +23 -0
  162. package/dist/app/services/prism-url-state.service.d.ts +16 -0
  163. package/dist/app/services/prism-url-state.service.d.ts.map +1 -0
  164. package/dist/app/services/prism-url-state.service.js +108 -0
  165. package/dist/app/shell/prism-shell.component.d.ts +22 -0
  166. package/dist/app/shell/prism-shell.component.d.ts.map +1 -0
  167. package/dist/app/shell/prism-shell.component.js +283 -0
  168. package/dist/app/sidebar/prism-sidebar.component.d.ts +14 -0
  169. package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -0
  170. package/dist/app/sidebar/prism-sidebar.component.js +105 -0
  171. package/dist/app/theme/prism-default-theme.d.ts +4 -0
  172. package/dist/app/theme/prism-default-theme.d.ts.map +1 -0
  173. package/dist/app/theme/prism-default-theme.js +57 -0
  174. package/dist/app/tokens/prism-tokens.d.ts +11 -0
  175. package/dist/app/tokens/prism-tokens.d.ts.map +1 -0
  176. package/dist/app/tokens/prism-tokens.js +7 -0
  177. package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts +22 -0
  178. package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -0
  179. package/dist/app/view-tab-bar/prism-view-panel-host.component.js +90 -0
  180. package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts +10 -0
  181. package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -0
  182. package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +65 -0
  183. package/dist/builder/build/index.d.ts +6 -0
  184. package/dist/builder/build/index.d.ts.map +1 -0
  185. package/dist/builder/build/index.js +15 -0
  186. package/dist/builder/build/schema.d.ts +9 -0
  187. package/dist/builder/build/schema.d.ts.map +1 -0
  188. package/dist/builder/build/schema.js +1 -0
  189. package/dist/builder/config-loader/config-loader.d.ts +8 -0
  190. package/dist/builder/config-loader/config-loader.d.ts.map +1 -0
  191. package/dist/builder/config-loader/config-loader.js +33 -0
  192. package/dist/builder/config-loader/index.d.ts +3 -0
  193. package/dist/builder/config-loader/index.d.ts.map +1 -0
  194. package/dist/builder/config-loader/index.js +1 -0
  195. package/dist/builder/icon-resolver/icon-resolver.d.ts +7 -0
  196. package/dist/builder/icon-resolver/icon-resolver.d.ts.map +1 -0
  197. package/dist/builder/icon-resolver/icon-resolver.js +12 -0
  198. package/dist/builder/icon-resolver/index.d.ts +2 -0
  199. package/dist/builder/icon-resolver/index.d.ts.map +1 -0
  200. package/dist/builder/icon-resolver/index.js +1 -0
  201. package/dist/builder/manifest/host-parser.d.ts +6 -0
  202. package/dist/builder/manifest/host-parser.d.ts.map +1 -0
  203. package/dist/builder/manifest/host-parser.js +9 -0
  204. package/dist/builder/manifest/index.d.ts +3 -0
  205. package/dist/builder/manifest/index.d.ts.map +1 -0
  206. package/dist/builder/manifest/index.js +1 -0
  207. package/dist/builder/manifest/runtime-manifest.generator.d.ts +9 -0
  208. package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -0
  209. package/dist/builder/manifest/runtime-manifest.generator.js +216 -0
  210. package/dist/builder/plugin-runner/index.d.ts +2 -0
  211. package/dist/builder/plugin-runner/index.d.ts.map +1 -0
  212. package/dist/builder/plugin-runner/index.js +1 -0
  213. package/dist/builder/plugin-runner/plugin-runner.d.ts +3 -0
  214. package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -0
  215. package/dist/builder/plugin-runner/plugin-runner.js +38 -0
  216. package/dist/builder/scanner/ast-utils.d.ts +20 -0
  217. package/dist/builder/scanner/ast-utils.d.ts.map +1 -0
  218. package/dist/builder/scanner/ast-utils.js +100 -0
  219. package/dist/builder/scanner/component.scanner.d.ts +7 -0
  220. package/dist/builder/scanner/component.scanner.d.ts.map +1 -0
  221. package/dist/builder/scanner/component.scanner.js +113 -0
  222. package/dist/builder/scanner/entry-point-discovery.d.ts +6 -0
  223. package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -0
  224. package/dist/builder/scanner/entry-point-discovery.js +38 -0
  225. package/dist/builder/scanner/entry-point.scanner.d.ts +11 -0
  226. package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -0
  227. package/dist/builder/scanner/entry-point.scanner.js +19 -0
  228. package/dist/builder/scanner/index.d.ts +8 -0
  229. package/dist/builder/scanner/index.d.ts.map +1 -0
  230. package/dist/builder/scanner/index.js +6 -0
  231. package/dist/builder/scanner/input.extractor.d.ts +11 -0
  232. package/dist/builder/scanner/input.extractor.d.ts.map +1 -0
  233. package/dist/builder/scanner/input.extractor.js +169 -0
  234. package/dist/builder/scanner/manifest.generator.d.ts +6 -0
  235. package/dist/builder/scanner/manifest.generator.d.ts.map +1 -0
  236. package/dist/builder/scanner/manifest.generator.js +59 -0
  237. package/dist/builder/scanner/scanner.d.ts +16 -0
  238. package/dist/builder/scanner/scanner.d.ts.map +1 -0
  239. package/dist/builder/scanner/scanner.js +28 -0
  240. package/dist/builder/serve/index.d.ts +6 -0
  241. package/dist/builder/serve/index.d.ts.map +1 -0
  242. package/dist/builder/serve/index.js +48 -0
  243. package/dist/builder/serve/schema.d.ts +9 -0
  244. package/dist/builder/serve/schema.d.ts.map +1 -0
  245. package/dist/builder/serve/schema.js +1 -0
  246. package/dist/builder/shared/index.d.ts +3 -0
  247. package/dist/builder/shared/index.d.ts.map +1 -0
  248. package/dist/builder/shared/index.js +1 -0
  249. package/dist/builder/shared/prism-pipeline.d.ts +21 -0
  250. package/dist/builder/shared/prism-pipeline.d.ts.map +1 -0
  251. package/dist/builder/shared/prism-pipeline.js +95 -0
  252. package/dist/builder/token-scanner/index.d.ts +2 -0
  253. package/dist/builder/token-scanner/index.d.ts.map +1 -0
  254. package/dist/builder/token-scanner/index.js +1 -0
  255. package/dist/builder/token-scanner/token-scanner.d.ts +9 -0
  256. package/dist/builder/token-scanner/token-scanner.d.ts.map +1 -0
  257. package/dist/builder/token-scanner/token-scanner.js +95 -0
  258. package/dist/builder/watcher/index.d.ts +3 -0
  259. package/dist/builder/watcher/index.d.ts.map +1 -0
  260. package/dist/builder/watcher/index.js +1 -0
  261. package/dist/builder/watcher/prism-watcher.d.ts +29 -0
  262. package/dist/builder/watcher/prism-watcher.d.ts.map +1 -0
  263. package/dist/builder/watcher/prism-watcher.js +79 -0
  264. package/dist/config/index.d.ts +6 -0
  265. package/dist/config/index.d.ts.map +1 -0
  266. package/dist/config/index.js +2 -0
  267. package/dist/decorator/index.d.ts +3 -0
  268. package/dist/decorator/index.d.ts.map +1 -0
  269. package/dist/decorator/index.js +1 -0
  270. package/dist/decorator/showcase.decorator.d.ts +5 -0
  271. package/dist/decorator/showcase.decorator.d.ts.map +1 -0
  272. package/dist/decorator/showcase.decorator.js +7 -0
  273. package/dist/decorator/showcase.types.d.ts +54 -0
  274. package/dist/decorator/showcase.types.d.ts.map +1 -0
  275. package/dist/decorator/showcase.types.js +1 -0
  276. package/dist/index.d.ts +4 -0
  277. package/dist/index.d.ts.map +1 -0
  278. package/dist/index.js +6 -0
  279. package/dist/plugin/define-config.d.ts +4 -0
  280. package/dist/plugin/define-config.d.ts.map +1 -0
  281. package/dist/plugin/define-config.js +4 -0
  282. package/dist/plugin/index.d.ts +8 -0
  283. package/dist/plugin/index.d.ts.map +1 -0
  284. package/dist/plugin/index.js +3 -0
  285. package/dist/plugin/page-helpers.d.ts +19 -0
  286. package/dist/plugin/page-helpers.d.ts.map +1 -0
  287. package/dist/plugin/page-helpers.js +20 -0
  288. package/dist/plugin/page.types.d.ts +19 -0
  289. package/dist/plugin/page.types.d.ts.map +1 -0
  290. package/dist/plugin/page.types.js +1 -0
  291. package/dist/plugin/plugin.types.d.ts +98 -0
  292. package/dist/plugin/plugin.types.d.ts.map +1 -0
  293. package/dist/plugin/plugin.types.js +1 -0
  294. package/dist/schematics/ng-add/index.d.ts +4 -0
  295. package/dist/schematics/ng-add/index.d.ts.map +1 -0
  296. package/dist/schematics/ng-add/index.js +179 -0
  297. package/dist/schematics/ng-add/schema.d.ts +5 -0
  298. package/dist/schematics/ng-add/schema.d.ts.map +1 -0
  299. package/dist/schematics/ng-add/schema.js +1 -0
  300. package/dist/test-setup-browser.d.ts +2 -0
  301. package/dist/test-setup-browser.d.ts.map +1 -0
  302. package/dist/test-setup-browser.js +4 -0
  303. package/package.json +73 -0
  304. package/schematics/collection.json +10 -0
  305. package/schematics/ng-add/schema.json +20 -0
  306. package/src/builder/build/schema.json +35 -0
  307. package/src/builder/serve/schema.json +36 -0
@@ -0,0 +1,229 @@
1
+ import { ChangeDetectionStrategy, Component, computed, inject, input, signal, } from '@angular/core';
2
+ import { A11yTreeService } from './a11y-tree.service.js';
3
+ import { PrismRendererService } from '../../services/prism-renderer.service.js';
4
+ import * as i0 from "@angular/core";
5
+ const _forTrack0 = ($index, $item) => $item.key;
6
+ function A11yTreeNodeComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelementStart(0, "span", 3);
8
+ i0.ɵɵtext(1);
9
+ i0.ɵɵelementEnd();
10
+ } if (rf & 2) {
11
+ const ctx_r0 = i0.ɵɵnextContext();
12
+ i0.ɵɵadvance();
13
+ i0.ɵɵtextInterpolate(ctx_r0.expanded() ? "\u25BE" : "\u25B8");
14
+ } }
15
+ function A11yTreeNodeComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵelementStart(0, "span", 4);
17
+ i0.ɵɵtext(1, "\u00B7");
18
+ i0.ɵɵelementEnd();
19
+ } }
20
+ function A11yTreeNodeComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "span", 6);
22
+ i0.ɵɵtext(1);
23
+ i0.ɵɵelementEnd();
24
+ } if (rf & 2) {
25
+ const ctx_r0 = i0.ɵɵnextContext();
26
+ i0.ɵɵadvance();
27
+ i0.ɵɵtextInterpolate1(" \"", ctx_r0.node().name, "\"");
28
+ } }
29
+ function A11yTreeNodeComponent_For_9_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelementStart(0, "span", 7);
31
+ i0.ɵɵtext(1);
32
+ i0.ɵɵelementEnd();
33
+ } if (rf & 2) {
34
+ const entry_r2 = ctx.$implicit;
35
+ i0.ɵɵadvance();
36
+ i0.ɵɵtextInterpolate(entry_r2.label);
37
+ } }
38
+ function A11yTreeNodeComponent_Conditional_10_For_1_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelement(0, "prism-a11y-tree-node", 8);
40
+ } if (rf & 2) {
41
+ const child_r3 = ctx.$implicit;
42
+ const ctx_r0 = i0.ɵɵnextContext(2);
43
+ i0.ɵɵproperty("node", child_r3)("depth", ctx_r0.depth() + 1);
44
+ } }
45
+ function A11yTreeNodeComponent_Conditional_10_Conditional_2_Template(rf, ctx) { if (rf & 1) {
46
+ i0.ɵɵelementStart(0, "div", 10)(1, "span", 11);
47
+ i0.ɵɵtext(2);
48
+ i0.ɵɵelementEnd()();
49
+ } if (rf & 2) {
50
+ const ctx_r0 = i0.ɵɵnextContext(2);
51
+ i0.ɵɵstyleProp("padding-left", (ctx_r0.depth() + 1) * 16 + 24, "px");
52
+ i0.ɵɵadvance(2);
53
+ i0.ɵɵtextInterpolate2(" ", ctx_r0.hiddenChildren().length, " hidden element", ctx_r0.hiddenChildren().length > 1 ? "s" : "", " (aria-hidden) ");
54
+ } }
55
+ function A11yTreeNodeComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
56
+ i0.ɵɵrepeaterCreate(0, A11yTreeNodeComponent_Conditional_10_For_1_Template, 1, 2, "prism-a11y-tree-node", 8, i0.ɵɵrepeaterTrackByIndex);
57
+ i0.ɵɵconditionalCreate(2, A11yTreeNodeComponent_Conditional_10_Conditional_2_Template, 3, 4, "div", 9);
58
+ } if (rf & 2) {
59
+ const ctx_r0 = i0.ɵɵnextContext();
60
+ i0.ɵɵrepeater(ctx_r0.visibleChildren());
61
+ i0.ɵɵadvance(2);
62
+ i0.ɵɵconditional(ctx_r0.hiddenChildren().length ? 2 : -1);
63
+ } }
64
+ function A11yTreeComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
65
+ i0.ɵɵelementStart(0, "div", 1);
66
+ i0.ɵɵtext(1, "Select a component to inspect the accessibility tree.");
67
+ i0.ɵɵelementEnd();
68
+ } }
69
+ function A11yTreeComponent_Conditional_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelement(0, "prism-a11y-tree-node", 5);
71
+ } if (rf & 2) {
72
+ const ctx_r1 = i0.ɵɵnextContext(2);
73
+ i0.ɵɵproperty("node", ctx_r1.tree())("depth", 0);
74
+ } }
75
+ function A11yTreeComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
76
+ const _r1 = i0.ɵɵgetCurrentView();
77
+ i0.ɵɵelementStart(0, "div", 2)(1, "span");
78
+ i0.ɵɵtext(2, "Accessibility tree");
79
+ i0.ɵɵelementEnd();
80
+ i0.ɵɵelementStart(3, "button", 3);
81
+ i0.ɵɵlistener("click", function A11yTreeComponent_Conditional_2_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.expandAll.update(v => !v)); });
82
+ i0.ɵɵtext(4);
83
+ i0.ɵɵelementEnd()();
84
+ i0.ɵɵelementStart(5, "div", 4);
85
+ i0.ɵɵconditionalCreate(6, A11yTreeComponent_Conditional_2_Conditional_6_Template, 1, 2, "prism-a11y-tree-node", 5);
86
+ i0.ɵɵelementEnd();
87
+ } if (rf & 2) {
88
+ const ctx_r1 = i0.ɵɵnextContext();
89
+ i0.ɵɵadvance(4);
90
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.expandAll() ? "Collapse all" : "Expand all", " ");
91
+ i0.ɵɵadvance(2);
92
+ i0.ɵɵconditional(ctx_r1.tree() ? 6 : -1);
93
+ } }
94
+ export class A11yTreeNodeComponent {
95
+ node = input.required(...(ngDevMode ? [{ debugName: "node" }] : []));
96
+ depth = input(0, ...(ngDevMode ? [{ debugName: "depth" }] : []));
97
+ expanded = signal(true, ...(ngDevMode ? [{ debugName: "expanded" }] : []));
98
+ visibleChildren = computed(() => this.node().children.filter((c) => !c.hidden), ...(ngDevMode ? [{ debugName: "visibleChildren" }] : []));
99
+ hiddenChildren = computed(() => this.node().children.filter((c) => c.hidden), ...(ngDevMode ? [{ debugName: "hiddenChildren" }] : []));
100
+ stateEntries = computed(() => {
101
+ const states = this.node().states;
102
+ return Object.entries(states)
103
+ .filter(([key]) => key !== 'hidden')
104
+ .map(([key, value]) => ({
105
+ key,
106
+ label: value === true ? key : `${key}:${value}`,
107
+ }));
108
+ }, ...(ngDevMode ? [{ debugName: "stateEntries" }] : []));
109
+ toggleExpanded() {
110
+ if (this.node().children.length) {
111
+ this.expanded.update((v) => !v);
112
+ }
113
+ }
114
+ static ɵfac = function A11yTreeNodeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11yTreeNodeComponent)(); };
115
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A11yTreeNodeComponent, selectors: [["prism-a11y-tree-node"]], inputs: { node: [1, "node"], depth: [1, "depth"] }, decls: 11, vars: 8, consts: [[1, "prism-a11y-tn"], [1, "prism-a11y-tn__row", 3, "click"], [1, "prism-a11y-tn__indent"], [1, "prism-a11y-tn__chevron"], [1, "prism-a11y-tn__chevron", "prism-a11y-tn__chevron--leaf"], [1, "prism-a11y-tn__role"], [1, "prism-a11y-tn__name"], [1, "prism-a11y-tn__state"], [3, "node", "depth"], [1, "prism-a11y-tn__hidden-group", 3, "padding-left"], [1, "prism-a11y-tn__hidden-group"], [1, "prism-a11y-tn__hidden-label"]], template: function A11yTreeNodeComponent_Template(rf, ctx) { if (rf & 1) {
116
+ i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
117
+ i0.ɵɵlistener("click", function A11yTreeNodeComponent_Template_button_click_1_listener() { return ctx.toggleExpanded(); });
118
+ i0.ɵɵelement(2, "span", 2);
119
+ i0.ɵɵconditionalCreate(3, A11yTreeNodeComponent_Conditional_3_Template, 2, 1, "span", 3)(4, A11yTreeNodeComponent_Conditional_4_Template, 2, 0, "span", 4);
120
+ i0.ɵɵelementStart(5, "span", 5);
121
+ i0.ɵɵtext(6);
122
+ i0.ɵɵelementEnd();
123
+ i0.ɵɵconditionalCreate(7, A11yTreeNodeComponent_Conditional_7_Template, 2, 1, "span", 6);
124
+ i0.ɵɵrepeaterCreate(8, A11yTreeNodeComponent_For_9_Template, 2, 1, "span", 7, _forTrack0);
125
+ i0.ɵɵelementEnd();
126
+ i0.ɵɵconditionalCreate(10, A11yTreeNodeComponent_Conditional_10_Template, 3, 1);
127
+ i0.ɵɵelementEnd();
128
+ } if (rf & 2) {
129
+ i0.ɵɵadvance();
130
+ i0.ɵɵclassProp("prism-a11y-tn__row--hidden", ctx.node().hidden);
131
+ i0.ɵɵadvance();
132
+ i0.ɵɵstyleProp("width", ctx.depth() * 16, "px");
133
+ i0.ɵɵadvance();
134
+ i0.ɵɵconditional(ctx.node().children.length ? 3 : 4);
135
+ i0.ɵɵadvance(3);
136
+ i0.ɵɵtextInterpolate(ctx.node().role);
137
+ i0.ɵɵadvance();
138
+ i0.ɵɵconditional(ctx.node().name ? 7 : -1);
139
+ i0.ɵɵadvance();
140
+ i0.ɵɵrepeater(ctx.stateEntries());
141
+ i0.ɵɵadvance(2);
142
+ i0.ɵɵconditional(ctx.expanded() && ctx.node().children.length ? 10 : -1);
143
+ } }, dependencies: [A11yTreeNodeComponent], styles: ["[_nghost-%COMP%] { display: block; }\n\n .prism-a11y-tn__row[_ngcontent-%COMP%] {\n width: 100%;\n display: flex;\n align-items: center;\n padding: 3px 12px 3px 4px;\n gap: 0;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: var(--prism-font-mono, monospace);\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n transition: background 0.1s;\n white-space: nowrap;\n }\n .prism-a11y-tn__row[_ngcontent-%COMP%]:hover { background: rgba(255, 255, 255, 0.04); }\n .prism-a11y-tn__row--hidden[_ngcontent-%COMP%] { opacity: 0.4; }\n\n .prism-a11y-tn__indent[_ngcontent-%COMP%] { display: inline-block; flex-shrink: 0; }\n\n .prism-a11y-tn__chevron[_ngcontent-%COMP%] {\n display: inline-flex;\n width: 16px;\n justify-content: center;\n font-size: 10px;\n color: var(--prism-text-muted);\n flex-shrink: 0;\n }\n .prism-a11y-tn__chevron--leaf[_ngcontent-%COMP%] { opacity: 0.3; }\n\n .prism-a11y-tn__role[_ngcontent-%COMP%] {\n color: var(--prism-primary);\n font-weight: 600;\n }\n\n .prism-a11y-tn__name[_ngcontent-%COMP%] {\n color: var(--prism-text-2);\n margin-left: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 240px;\n }\n\n .prism-a11y-tn__state[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n margin-left: 6px;\n padding: 0 5px;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 0.04em;\n background: color-mix(in srgb, #fbbf24 12%, transparent);\n color: #fbbf24;\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n }\n\n .prism-a11y-tn__hidden-group[_ngcontent-%COMP%] {\n padding-top: 2px;\n padding-bottom: 2px;\n }\n\n .prism-a11y-tn__hidden-label[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--prism-text-muted);\n font-style: italic;\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n }"], changeDetection: 0 });
144
+ }
145
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yTreeNodeComponent, [{
146
+ type: Component,
147
+ args: [{ selector: 'prism-a11y-tree-node', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
148
+ <div class="prism-a11y-tn">
149
+ <button
150
+ class="prism-a11y-tn__row"
151
+ [class.prism-a11y-tn__row--hidden]="node().hidden"
152
+ (click)="toggleExpanded()"
153
+ >
154
+ <span class="prism-a11y-tn__indent" [style.width.px]="depth() * 16"></span>
155
+ @if (node().children.length) {
156
+ <span class="prism-a11y-tn__chevron">{{ expanded() ? '▾' : '▸' }}</span>
157
+ } @else {
158
+ <span class="prism-a11y-tn__chevron prism-a11y-tn__chevron--leaf">·</span>
159
+ }
160
+ <span class="prism-a11y-tn__role">{{ node().role }}</span>
161
+ @if (node().name) {
162
+ <span class="prism-a11y-tn__name"> "{{ node().name }}"</span>
163
+ }
164
+ @for (entry of stateEntries(); track entry.key) {
165
+ <span class="prism-a11y-tn__state">{{ entry.label }}</span>
166
+ }
167
+ </button>
168
+
169
+ @if (expanded() && node().children.length) {
170
+ @for (child of visibleChildren(); track $index) {
171
+ <prism-a11y-tree-node [node]="child" [depth]="depth() + 1" />
172
+ }
173
+ @if (hiddenChildren().length) {
174
+ <div class="prism-a11y-tn__hidden-group" [style.padding-left.px]="(depth() + 1) * 16 + 24">
175
+ <span class="prism-a11y-tn__hidden-label">
176
+ {{ hiddenChildren().length }} hidden element{{ hiddenChildren().length > 1 ? 's' : '' }} (aria-hidden)
177
+ </span>
178
+ </div>
179
+ }
180
+ }
181
+ </div>
182
+ `, styles: ["\n :host { display: block; }\n\n .prism-a11y-tn__row {\n width: 100%;\n display: flex;\n align-items: center;\n padding: 3px 12px 3px 4px;\n gap: 0;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: var(--prism-font-mono, monospace);\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n transition: background 0.1s;\n white-space: nowrap;\n }\n .prism-a11y-tn__row:hover { background: rgba(255, 255, 255, 0.04); }\n .prism-a11y-tn__row--hidden { opacity: 0.4; }\n\n .prism-a11y-tn__indent { display: inline-block; flex-shrink: 0; }\n\n .prism-a11y-tn__chevron {\n display: inline-flex;\n width: 16px;\n justify-content: center;\n font-size: 10px;\n color: var(--prism-text-muted);\n flex-shrink: 0;\n }\n .prism-a11y-tn__chevron--leaf { opacity: 0.3; }\n\n .prism-a11y-tn__role {\n color: var(--prism-primary);\n font-weight: 600;\n }\n\n .prism-a11y-tn__name {\n color: var(--prism-text-2);\n margin-left: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 240px;\n }\n\n .prism-a11y-tn__state {\n display: inline-flex;\n align-items: center;\n margin-left: 6px;\n padding: 0 5px;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 0.04em;\n background: color-mix(in srgb, #fbbf24 12%, transparent);\n color: #fbbf24;\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n }\n\n .prism-a11y-tn__hidden-group {\n padding-top: 2px;\n padding-bottom: 2px;\n }\n\n .prism-a11y-tn__hidden-label {\n font-size: 11px;\n color: var(--prism-text-muted);\n font-style: italic;\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n }\n "] }]
183
+ }], null, { node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: true }] }], depth: [{ type: i0.Input, args: [{ isSignal: true, alias: "depth", required: false }] }] }); })();
184
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(A11yTreeNodeComponent, { className: "A11yTreeNodeComponent", filePath: "app/panels/a11y/a11y-tree.component.ts", lineNumber: 128 }); })();
185
+ export class A11yTreeComponent {
186
+ rendererService = inject(PrismRendererService);
187
+ treeService = inject(A11yTreeService);
188
+ activeComponent = input(null, ...(ngDevMode ? [{ debugName: "activeComponent" }] : []));
189
+ expandAll = signal(true, ...(ngDevMode ? [{ debugName: "expandAll" }] : []));
190
+ tree = computed(() => {
191
+ const root = this.rendererService.renderedElement();
192
+ if (!root)
193
+ return null;
194
+ const doc = root.ownerDocument;
195
+ return this.treeService.buildTree(root, doc ? (id) => doc.getElementById(id) : undefined);
196
+ }, ...(ngDevMode ? [{ debugName: "tree" }] : []));
197
+ static ɵfac = function A11yTreeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11yTreeComponent)(); };
198
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A11yTreeComponent, selectors: [["prism-a11y-tree"]], inputs: { activeComponent: [1, "activeComponent"] }, decls: 3, vars: 1, consts: [[1, "prism-a11y-tree"], [1, "prism-a11y-tree__empty"], [1, "prism-a11y-tree__header"], [1, "prism-a11y-tree__expand-btn", 3, "click"], [1, "prism-a11y-tree__content"], [3, "node", "depth"]], template: function A11yTreeComponent_Template(rf, ctx) { if (rf & 1) {
199
+ i0.ɵɵelementStart(0, "div", 0);
200
+ i0.ɵɵconditionalCreate(1, A11yTreeComponent_Conditional_1_Template, 2, 0, "div", 1)(2, A11yTreeComponent_Conditional_2_Template, 7, 2);
201
+ i0.ɵɵelementEnd();
202
+ } if (rf & 2) {
203
+ i0.ɵɵadvance();
204
+ i0.ɵɵconditional(!ctx.rendererService.renderedElement() ? 1 : 2);
205
+ } }, dependencies: [A11yTreeNodeComponent], styles: ["[_nghost-%COMP%] { display: flex; flex-direction: column; height: 100%; }\n\n .prism-a11y-tree[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .prism-a11y-tree__empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100px;\n color: var(--prism-text-muted);\n font-size: 13px;\n }\n\n .prism-a11y-tree__header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n border-bottom: 1px solid var(--prism-border);\n font-size: 12px;\n color: var(--prism-text-muted);\n flex-shrink: 0;\n }\n\n .prism-a11y-tree__expand-btn[_ngcontent-%COMP%] {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 11px;\n color: var(--prism-primary);\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n padding: 2px 6px;\n }\n .prism-a11y-tree__expand-btn[_ngcontent-%COMP%]:hover { text-decoration: underline; }\n\n .prism-a11y-tree__content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n padding: 8px 4px;\n }"], changeDetection: 0 });
206
+ }
207
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yTreeComponent, [{
208
+ type: Component,
209
+ args: [{ selector: 'prism-a11y-tree', standalone: true, imports: [A11yTreeNodeComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
210
+ <div class="prism-a11y-tree">
211
+ @if (!rendererService.renderedElement()) {
212
+ <div class="prism-a11y-tree__empty">Select a component to inspect the accessibility tree.</div>
213
+ } @else {
214
+ <div class="prism-a11y-tree__header">
215
+ <span>Accessibility tree</span>
216
+ <button class="prism-a11y-tree__expand-btn" (click)="expandAll.update(v => !v)">
217
+ {{ expandAll() ? 'Collapse all' : 'Expand all' }}
218
+ </button>
219
+ </div>
220
+ <div class="prism-a11y-tree__content">
221
+ @if (tree()) {
222
+ <prism-a11y-tree-node [node]="tree()!" [depth]="0" />
223
+ }
224
+ </div>
225
+ }
226
+ </div>
227
+ `, styles: ["\n :host { display: flex; flex-direction: column; height: 100%; }\n\n .prism-a11y-tree {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .prism-a11y-tree__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100px;\n color: var(--prism-text-muted);\n font-size: 13px;\n }\n\n .prism-a11y-tree__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n border-bottom: 1px solid var(--prism-border);\n font-size: 12px;\n color: var(--prism-text-muted);\n flex-shrink: 0;\n }\n\n .prism-a11y-tree__expand-btn {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 11px;\n color: var(--prism-primary);\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n padding: 2px 6px;\n }\n .prism-a11y-tree__expand-btn:hover { text-decoration: underline; }\n\n .prism-a11y-tree__content {\n flex: 1;\n overflow: auto;\n padding: 8px 4px;\n }\n "] }]
228
+ }], null, { activeComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeComponent", required: false }] }] }); })();
229
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(A11yTreeComponent, { className: "A11yTreeComponent", filePath: "app/panels/a11y/a11y-tree.component.ts", lineNumber: 230 }); })();
@@ -0,0 +1,8 @@
1
+ import type { A11yNode } from './a11y.types.js';
2
+ import * as i0 from "@angular/core";
3
+ export declare class A11yTreeService {
4
+ buildTree(root: Element, getById?: (id: string) => Element | null): A11yNode;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<A11yTreeService, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<A11yTreeService>;
7
+ }
8
+ //# sourceMappingURL=a11y-tree.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y-tree.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-tree.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;;AAQhD,qBACa,eAAe;IAC1B,SAAS,CACP,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvC,QAAQ;yCAJA,eAAe;6CAAf,eAAe;CAO3B"}
@@ -0,0 +1,47 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { computeAccessibleName, extractStates, getRole, isHidden, } from './a11y-dom-utils.js';
3
+ import * as i0 from "@angular/core";
4
+ const PRESENTATIONAL_ROLES = new Set(['none', 'presentation']);
5
+ const STRUCTURAL_TAGS = new Set([
6
+ 'SCRIPT', 'STYLE', 'NOSCRIPT', 'META', 'LINK', 'TITLE', 'HEAD',
7
+ ]);
8
+ export class A11yTreeService {
9
+ buildTree(root, getById) {
10
+ return buildNode(root, getById);
11
+ }
12
+ static ɵfac = function A11yTreeService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11yTreeService)(); };
13
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: A11yTreeService, factory: A11yTreeService.ɵfac, providedIn: 'root' });
14
+ }
15
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yTreeService, [{
16
+ type: Injectable,
17
+ args: [{ providedIn: 'root' }]
18
+ }], null, null); })();
19
+ function buildNode(element, getById) {
20
+ const hidden = isHidden(element);
21
+ const role = getRole(element);
22
+ const states = extractStates(element);
23
+ const { name, source } = computeAccessibleName(element, getById);
24
+ const descId = element.getAttribute('aria-describedby');
25
+ const description = descId && getById ? (getById(descId)?.textContent?.trim() ?? null) : null;
26
+ const children = [];
27
+ if (!hidden && !PRESENTATIONAL_ROLES.has(role)) {
28
+ for (const child of Array.from(element.childNodes)) {
29
+ if (child.nodeType === 1) {
30
+ const childEl = child;
31
+ if (!STRUCTURAL_TAGS.has(childEl.tagName?.toUpperCase() ?? '')) {
32
+ children.push(buildNode(childEl, getById));
33
+ }
34
+ }
35
+ }
36
+ }
37
+ return {
38
+ role: role || 'generic',
39
+ name: name || null,
40
+ nameSource: source !== 'none' ? source : null,
41
+ description,
42
+ states,
43
+ children,
44
+ hidden,
45
+ element,
46
+ };
47
+ }
@@ -0,0 +1,15 @@
1
+ import type { Result } from 'axe-core';
2
+ import { A11yAuditService } from './a11y-audit.service.js';
3
+ import * as i0 from "@angular/core";
4
+ export declare class A11yViolationsComponent {
5
+ protected readonly auditService: A11yAuditService;
6
+ protected readonly scoreResult: import("@angular/core").Signal<import("./a11y.types.js").A11yScoreResult | null>;
7
+ protected readonly violations: import("@angular/core").Signal<Result[]>;
8
+ protected readonly incomplete: import("@angular/core").Signal<import("axe-core").IncompleteResult[]>;
9
+ protected readonly passes: import("@angular/core").Signal<Result[]>;
10
+ protected readonly openSections: import("@angular/core").WritableSignal<Set<string>>;
11
+ protected toggle(section: string): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<A11yViolationsComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<A11yViolationsComponent, "prism-a11y-violations", never, {}, {}, never, never, true, never>;
14
+ }
15
+ //# sourceMappingURL=a11y-violations.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y-violations.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-violations.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;;AAgB3D,qBAwWa,uBAAuB;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,mBAA4B;IAE3D,SAAS,CAAC,QAAQ,CAAC,WAAW,mFAAmD;IACjF,SAAS,CAAC,QAAQ,CAAC,UAAU,2CAE3B;IACF,SAAS,CAAC,QAAQ,CAAC,UAAU,wEAAiE;IAC9F,SAAS,CAAC,QAAQ,CAAC,MAAM,2CAA6D;IACtF,SAAS,CAAC,QAAQ,CAAC,YAAY,sDAAgD;IAE/E,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;yCAX5B,uBAAuB;2CAAvB,uBAAuB;CAmBnC"}