@ng-prism/core 22.2.1 → 22.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/README.md +34 -36
  2. package/builders.json +11 -11
  3. package/dist/app/canvas/canvas-bg.styles.d.ts +7 -12
  4. package/dist/app/canvas/canvas-bg.styles.d.ts.map +1 -1
  5. package/dist/app/canvas/canvas-bg.styles.js +37 -22
  6. package/dist/app/canvas/measure-geometry.d.ts +140 -0
  7. package/dist/app/canvas/measure-geometry.d.ts.map +1 -0
  8. package/dist/app/canvas/measure-geometry.js +217 -0
  9. package/dist/app/canvas/measure-keyboard.d.ts +20 -0
  10. package/dist/app/canvas/measure-keyboard.d.ts.map +1 -0
  11. package/dist/app/canvas/measure-keyboard.js +34 -0
  12. package/dist/app/canvas/measure-quad.d.ts +114 -0
  13. package/dist/app/canvas/measure-quad.d.ts.map +1 -0
  14. package/dist/app/canvas/measure-quad.js +173 -0
  15. package/dist/app/canvas/measure-snap.d.ts +35 -0
  16. package/dist/app/canvas/measure-snap.d.ts.map +1 -0
  17. package/dist/app/canvas/measure-snap.js +63 -0
  18. package/dist/app/canvas/prism-canvas-bg-pill.component.d.ts.map +1 -1
  19. package/dist/app/canvas/prism-canvas-bg-pill.component.js +3 -18
  20. package/dist/app/canvas/prism-canvas-measure.component.d.ts +142 -0
  21. package/dist/app/canvas/prism-canvas-measure.component.d.ts.map +1 -0
  22. package/dist/app/canvas/prism-canvas-measure.component.js +554 -0
  23. package/dist/app/canvas/prism-canvas-pin-row.component.d.ts +23 -0
  24. package/dist/app/canvas/prism-canvas-pin-row.component.d.ts.map +1 -0
  25. package/dist/app/canvas/prism-canvas-pin-row.component.js +64 -0
  26. package/dist/app/canvas/prism-canvas-rulers.component.d.ts +1 -0
  27. package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -1
  28. package/dist/app/canvas/prism-canvas-rulers.component.js +9 -14
  29. package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +28 -28
  30. package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
  31. package/dist/app/canvas/prism-canvas-toolbar.component.js +124 -162
  32. package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
  33. package/dist/app/canvas/prism-template-popover.component.js +8 -49
  34. package/dist/app/canvas/viewport-snap.d.ts +12 -0
  35. package/dist/app/canvas/viewport-snap.d.ts.map +1 -0
  36. package/dist/app/canvas/viewport-snap.js +23 -0
  37. package/dist/app/component-head/head-metrics.d.ts +2 -2
  38. package/dist/app/component-head/head-metrics.d.ts.map +1 -1
  39. package/dist/app/component-head/head-metrics.js +3 -3
  40. package/dist/app/component-head/prism-component-head.component.d.ts +3 -3
  41. package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
  42. package/dist/app/component-head/prism-component-head.component.js +24 -64
  43. package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -1
  44. package/dist/app/component-head/prism-head-gauge.component.js +4 -36
  45. package/dist/app/component-head/prism-head-info.component.d.ts +1 -1
  46. package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -1
  47. package/dist/app/component-head/prism-head-info.component.js +4 -37
  48. package/dist/app/component-head/prism-stat.component.d.ts +1 -1
  49. package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
  50. package/dist/app/component-head/prism-stat.component.js +4 -15
  51. package/dist/app/controls/boolean-control.component.d.ts.map +1 -1
  52. package/dist/app/controls/boolean-control.component.js +4 -12
  53. package/dist/app/controls/json-control.component.d.ts.map +1 -1
  54. package/dist/app/controls/json-control.component.js +4 -24
  55. package/dist/app/controls/number-control.component.d.ts.map +1 -1
  56. package/dist/app/controls/number-control.component.js +4 -11
  57. package/dist/app/controls/string-control.component.d.ts.map +1 -1
  58. package/dist/app/controls/string-control.component.js +4 -11
  59. package/dist/app/controls/union-control.component.d.ts.map +1 -1
  60. package/dist/app/controls/union-control.component.js +4 -16
  61. package/dist/app/directives/prism-resizer.directive.d.ts +24 -1
  62. package/dist/app/directives/prism-resizer.directive.d.ts.map +1 -1
  63. package/dist/app/directives/prism-resizer.directive.js +44 -7
  64. package/dist/app/directives/resize-value.d.ts +22 -0
  65. package/dist/app/directives/resize-value.d.ts.map +1 -0
  66. package/dist/app/directives/resize-value.js +23 -0
  67. package/dist/app/discovery-manifest.d.ts +2 -2
  68. package/dist/app/discovery-manifest.d.ts.map +1 -1
  69. package/dist/app/discovery-manifest.js +16 -22
  70. package/dist/app/header/prism-header-widget-host.component.d.ts.map +1 -1
  71. package/dist/app/header/prism-header-widget-host.component.js +4 -8
  72. package/dist/app/header/prism-header.component.d.ts.map +1 -1
  73. package/dist/app/header/prism-header.component.js +9 -78
  74. package/dist/app/hmr.d.ts.map +1 -1
  75. package/dist/app/icons/icon-registry.d.ts +2 -2
  76. package/dist/app/icons/icon-registry.d.ts.map +1 -1
  77. package/dist/app/icons/icon-registry.js +5 -3
  78. package/dist/app/icons/prism-icon.component.d.ts +2 -2
  79. package/dist/app/icons/prism-icon.component.d.ts.map +1 -1
  80. package/dist/app/icons/prism-icon.component.js +9 -9
  81. package/dist/app/index.d.ts +3 -3
  82. package/dist/app/index.d.ts.map +1 -1
  83. package/dist/app/index.js +17 -24
  84. package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
  85. package/dist/app/layout-menu/prism-layout-menu.component.js +3 -77
  86. package/dist/app/overview/overview-panel.js +1 -1
  87. package/dist/app/overview/overview-visibility.d.ts +1 -1
  88. package/dist/app/overview/overview-visibility.d.ts.map +1 -1
  89. package/dist/app/overview/overview-visibility.js +1 -1
  90. package/dist/app/overview/prism-overview-cell.component.d.ts +2 -2
  91. package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
  92. package/dist/app/overview/prism-overview-cell.component.js +17 -25
  93. package/dist/app/overview/prism-overview.component.d.ts +2 -2
  94. package/dist/app/overview/prism-overview.component.d.ts.map +1 -1
  95. package/dist/app/overview/prism-overview.component.js +6 -14
  96. package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -1
  97. package/dist/app/page-renderer/prism-page-renderer.component.js +4 -17
  98. package/dist/app/panels/a11y/a11y-audit.service.d.ts.map +1 -1
  99. package/dist/app/panels/a11y/a11y-audit.service.js +14 -2
  100. package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -1
  101. package/dist/app/panels/a11y/a11y-core.plugin.js +1 -1
  102. package/dist/app/panels/a11y/a11y-dom-utils.d.ts.map +1 -1
  103. package/dist/app/panels/a11y/a11y-dom-utils.js +9 -6
  104. package/dist/app/panels/a11y/a11y-header-badge.component.d.ts.map +1 -1
  105. package/dist/app/panels/a11y/a11y-header-badge.component.js +6 -22
  106. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts.map +1 -1
  107. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +6 -25
  108. package/dist/app/panels/a11y/a11y-keyboard.component.d.ts.map +1 -1
  109. package/dist/app/panels/a11y/a11y-keyboard.component.js +5 -36
  110. package/dist/app/panels/a11y/a11y-keyboard.service.d.ts.map +1 -1
  111. package/dist/app/panels/a11y/a11y-keyboard.service.js +2 -2
  112. package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
  113. package/dist/app/panels/a11y/a11y-overlay-host.component.js +5 -32
  114. package/dist/app/panels/a11y/a11y-panel-state.service.d.ts.map +1 -1
  115. package/dist/app/panels/a11y/a11y-panel.component.d.ts +1 -1
  116. package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
  117. package/dist/app/panels/a11y/a11y-panel.component.js +7 -69
  118. package/dist/app/panels/a11y/a11y-perspective.service.d.ts.map +1 -1
  119. package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
  120. package/dist/app/panels/a11y/a11y-score.component.js +4 -31
  121. package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts.map +1 -1
  122. package/dist/app/panels/a11y/a11y-sr-overlay.component.js +8 -28
  123. package/dist/app/panels/a11y/a11y-sr.component.d.ts.map +1 -1
  124. package/dist/app/panels/a11y/a11y-sr.component.js +5 -28
  125. package/dist/app/panels/a11y/a11y-sr.service.d.ts.map +1 -1
  126. package/dist/app/panels/a11y/a11y-sr.service.js +4 -7
  127. package/dist/app/panels/a11y/a11y-summary.d.ts +3 -4
  128. package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -1
  129. package/dist/app/panels/a11y/a11y-summary.js +5 -9
  130. package/dist/app/panels/a11y/a11y-thresholds.d.ts +1 -1
  131. package/dist/app/panels/a11y/a11y-thresholds.d.ts.map +1 -1
  132. package/dist/app/panels/a11y/a11y-thresholds.js +2 -2
  133. package/dist/app/panels/a11y/a11y-tree.component.d.ts.map +1 -1
  134. package/dist/app/panels/a11y/a11y-tree.component.js +9 -46
  135. package/dist/app/panels/a11y/a11y-tree.service.d.ts.map +1 -1
  136. package/dist/app/panels/a11y/a11y-tree.service.js +3 -5
  137. package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
  138. package/dist/app/panels/a11y/a11y-violations.component.js +7 -58
  139. package/dist/app/panels/a11y/a11y.types.d.ts +1 -1
  140. package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -1
  141. package/dist/app/panels/builtin-header-widgets.js +2 -2
  142. package/dist/app/panels/builtin-navigation-decorations.d.ts +1 -1
  143. package/dist/app/panels/builtin-navigation-decorations.d.ts.map +1 -1
  144. package/dist/app/panels/builtin-navigation-decorations.js +3 -3
  145. package/dist/app/panels/builtin-panels.d.ts.map +1 -1
  146. package/dist/app/panels/builtin-panels.js +2 -7
  147. package/dist/app/panels/controls/controls-plugin.js +3 -3
  148. package/dist/app/panels/controls/non-editable-input-types.d.ts.map +1 -1
  149. package/dist/app/panels/controls/non-editable-input-types.js +2 -6
  150. package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
  151. package/dist/app/panels/controls/prism-controls-panel.component.js +5 -95
  152. package/dist/app/panels/events/events-plugin.js +3 -3
  153. package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
  154. package/dist/app/panels/events/prism-events-panel.component.js +5 -23
  155. package/dist/app/panels/events/prism-json-node.component.d.ts.map +1 -1
  156. package/dist/app/panels/events/prism-json-node.component.js +4 -86
  157. package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -1
  158. package/dist/app/panels/panel-host/panel-badge.d.ts +1 -1
  159. package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
  160. package/dist/app/panels/panel-host/panel-badge.js +2 -4
  161. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +1 -1
  162. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -1
  163. package/dist/app/panels/panel-host/prism-panel-host.component.js +12 -67
  164. package/dist/app/provide-prism.d.ts +1 -1
  165. package/dist/app/provide-prism.d.ts.map +1 -1
  166. package/dist/app/provide-prism.js +8 -12
  167. package/dist/app/renderer/known-inputs.d.ts +1 -1
  168. package/dist/app/renderer/known-inputs.d.ts.map +1 -1
  169. package/dist/app/renderer/known-inputs.js +1 -1
  170. package/dist/app/renderer/overlay-resolver.d.ts +17 -3
  171. package/dist/app/renderer/overlay-resolver.d.ts.map +1 -1
  172. package/dist/app/renderer/overlay-resolver.js +10 -5
  173. package/dist/app/renderer/prism-renderer.component.d.ts +28 -3
  174. package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
  175. package/dist/app/renderer/prism-renderer.component.js +107 -80
  176. package/dist/app/renderer/projectable-content.d.ts.map +1 -1
  177. package/dist/app/renderer/projectable-content.js +4 -6
  178. package/dist/app/renderer/snippet-generator.d.ts +1 -1
  179. package/dist/app/renderer/snippet-generator.d.ts.map +1 -1
  180. package/dist/app/renderer/snippet-generator.js +7 -22
  181. package/dist/app/services/navigation-item.types.d.ts +1 -1
  182. package/dist/app/services/navigation-item.types.d.ts.map +1 -1
  183. package/dist/app/services/prism-canvas.service.d.ts +33 -0
  184. package/dist/app/services/prism-canvas.service.d.ts.map +1 -1
  185. package/dist/app/services/prism-canvas.service.js +71 -6
  186. package/dist/app/services/prism-capture.service.d.ts +24 -50
  187. package/dist/app/services/prism-capture.service.d.ts.map +1 -1
  188. package/dist/app/services/prism-capture.service.js +62 -146
  189. package/dist/app/services/prism-event-log.service.d.ts.map +1 -1
  190. package/dist/app/services/prism-event-log.service.js +1 -4
  191. package/dist/app/services/prism-layout.service.d.ts.map +1 -1
  192. package/dist/app/services/prism-layout.service.js +5 -4
  193. package/dist/app/services/prism-manifest.service.d.ts +1 -1
  194. package/dist/app/services/prism-manifest.service.d.ts.map +1 -1
  195. package/dist/app/services/prism-manifest.service.js +1 -1
  196. package/dist/app/services/prism-measure.service.d.ts +44 -0
  197. package/dist/app/services/prism-measure.service.d.ts.map +1 -0
  198. package/dist/app/services/prism-measure.service.js +91 -0
  199. package/dist/app/services/prism-navigation.service.d.ts +1 -1
  200. package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
  201. package/dist/app/services/prism-navigation.service.js +5 -13
  202. package/dist/app/services/prism-panel.service.d.ts +2 -2
  203. package/dist/app/services/prism-panel.service.d.ts.map +1 -1
  204. package/dist/app/services/prism-panel.service.js +4 -7
  205. package/dist/app/services/prism-persistence.service.d.ts.map +1 -1
  206. package/dist/app/services/prism-persistence.service.js +9 -11
  207. package/dist/app/services/prism-plugin.service.d.ts.map +1 -1
  208. package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
  209. package/dist/app/services/prism-renderer.service.js +5 -9
  210. package/dist/app/services/prism-search.service.d.ts.map +1 -1
  211. package/dist/app/services/prism-search.service.js +1 -2
  212. package/dist/app/services/prism-theme.service.d.ts.map +1 -1
  213. package/dist/app/services/prism-theme.service.js +6 -4
  214. package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
  215. package/dist/app/services/prism-url-state.service.js +4 -10
  216. package/dist/app/services/prism-variant-bg.service.d.ts +10 -24
  217. package/dist/app/services/prism-variant-bg.service.d.ts.map +1 -1
  218. package/dist/app/services/prism-variant-bg.service.js +13 -29
  219. package/dist/app/shared/prism-metric-badge.component.d.ts +9 -15
  220. package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -1
  221. package/dist/app/shared/prism-metric-badge.component.js +13 -32
  222. package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
  223. package/dist/app/shell/prism-shell.component.js +26 -125
  224. package/dist/app/sidebar/navigation-decorations.d.ts +4 -4
  225. package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -1
  226. package/dist/app/sidebar/navigation-decorations.js +3 -3
  227. package/dist/app/sidebar/prism-sidebar.component.d.ts +3 -3
  228. package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
  229. package/dist/app/sidebar/prism-sidebar.component.js +21 -156
  230. package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
  231. package/dist/app/theme/prism-default-theme.js +6 -6
  232. package/dist/app/tokens/prism-tokens.d.ts.map +1 -1
  233. package/dist/app/tokens/prism-tokens.js +1 -1
  234. package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
  235. package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +4 -49
  236. package/dist/app/variant-ribbon/spectrum.d.ts +1 -1
  237. package/dist/app/variant-ribbon/spectrum.d.ts.map +1 -1
  238. package/dist/app/variant-ribbon/spectrum.js +1 -1
  239. package/dist/app/view-tab-bar/next-view-id.d.ts +1 -1
  240. package/dist/app/view-tab-bar/next-view-id.d.ts.map +1 -1
  241. package/dist/app/view-tab-bar/next-view-id.js +2 -4
  242. package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -1
  243. package/dist/app/view-tab-bar/prism-view-panel-host.component.js +5 -17
  244. package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
  245. package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +4 -27
  246. package/dist/builder/a11y/a11y-report-reader.d.ts +2 -2
  247. package/dist/builder/a11y/a11y-report-reader.d.ts.map +1 -1
  248. package/dist/builder/a11y/a11y-report-reader.js +8 -8
  249. package/dist/builder/build/index.d.ts.map +1 -1
  250. package/dist/builder/build/index.js +5 -9
  251. package/dist/builder/build/schema.d.ts.map +1 -1
  252. package/dist/builder/config-loader/config-loader.d.ts.map +1 -1
  253. package/dist/builder/config-loader/config-loader.js +4 -5
  254. package/dist/builder/manifest/host-parser.d.ts.map +1 -1
  255. package/dist/builder/manifest/host-parser.js +1 -1
  256. package/dist/builder/manifest/runtime-manifest.generator.d.ts +1 -1
  257. package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
  258. package/dist/builder/manifest/runtime-manifest.generator.js +14 -35
  259. package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
  260. package/dist/builder/plugin-runner/plugin-runner.js +2 -4
  261. package/dist/builder/scanner/ast-utils.d.ts +46 -2
  262. package/dist/builder/scanner/ast-utils.d.ts.map +1 -1
  263. package/dist/builder/scanner/ast-utils.js +338 -38
  264. package/dist/builder/scanner/class-hierarchy.d.ts +33 -0
  265. package/dist/builder/scanner/class-hierarchy.d.ts.map +1 -0
  266. package/dist/builder/scanner/class-hierarchy.js +87 -0
  267. package/dist/builder/scanner/component.scanner.d.ts +7 -1
  268. package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
  269. package/dist/builder/scanner/component.scanner.js +113 -72
  270. package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -1
  271. package/dist/builder/scanner/entry-point-discovery.js +3 -5
  272. package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -1
  273. package/dist/builder/scanner/entry-point.scanner.js +1 -3
  274. package/dist/builder/scanner/index.d.ts +1 -1
  275. package/dist/builder/scanner/index.d.ts.map +1 -1
  276. package/dist/builder/scanner/input.extractor.d.ts +7 -4
  277. package/dist/builder/scanner/input.extractor.d.ts.map +1 -1
  278. package/dist/builder/scanner/input.extractor.js +157 -76
  279. package/dist/builder/scanner/manifest.generator.d.ts.map +1 -1
  280. package/dist/builder/scanner/manifest.generator.js +8 -6
  281. package/dist/builder/scanner/scanner.d.ts +3 -1
  282. package/dist/builder/scanner/scanner.d.ts.map +1 -1
  283. package/dist/builder/scanner/scanner.js +10 -8
  284. package/dist/builder/scanner/showcase-diagnostics.d.ts +25 -0
  285. package/dist/builder/scanner/showcase-diagnostics.d.ts.map +1 -0
  286. package/dist/builder/scanner/showcase-diagnostics.js +96 -0
  287. package/dist/builder/serve/index.d.ts.map +1 -1
  288. package/dist/builder/serve/index.js +8 -10
  289. package/dist/builder/serve/schema.d.ts.map +1 -1
  290. package/dist/builder/shared/index.d.ts +1 -1
  291. package/dist/builder/shared/index.d.ts.map +1 -1
  292. package/dist/builder/shared/index.js +1 -1
  293. package/dist/builder/shared/prism-pipeline.d.ts +1 -1
  294. package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
  295. package/dist/builder/shared/prism-pipeline.js +29 -38
  296. package/dist/builder/shared/resolve-cache-dir.d.ts.map +1 -1
  297. package/dist/builder/shared/resolve-cache-dir.js +1 -1
  298. package/dist/builder/watcher/index.d.ts +1 -1
  299. package/dist/builder/watcher/index.d.ts.map +1 -1
  300. package/dist/builder/watcher/prism-watcher.d.ts.map +1 -1
  301. package/dist/builder/watcher/prism-watcher.js +14 -12
  302. package/dist/config/index.d.ts +2 -2
  303. package/dist/config/index.d.ts.map +1 -1
  304. package/dist/config/index.js +1 -1
  305. package/dist/decorator/index.d.ts +1 -1
  306. package/dist/decorator/index.d.ts.map +1 -1
  307. package/dist/decorator/showcase.decorator.d.ts.map +1 -1
  308. package/dist/decorator/showcase.types.d.ts +11 -9
  309. package/dist/decorator/showcase.types.d.ts.map +1 -1
  310. package/dist/index.js +3 -3
  311. package/dist/plugin/define-config.js +1 -1
  312. package/dist/plugin/index.d.ts +4 -4
  313. package/dist/plugin/index.d.ts.map +1 -1
  314. package/dist/plugin/index.js +7 -11
  315. package/dist/plugin/page-helpers.d.ts +1 -1
  316. package/dist/plugin/page-helpers.d.ts.map +1 -1
  317. package/dist/plugin/page-helpers.js +2 -2
  318. package/dist/plugin/page.types.d.ts.map +1 -1
  319. package/dist/plugin/plugin.types.d.ts +31 -14
  320. package/dist/plugin/plugin.types.d.ts.map +1 -1
  321. package/dist/schematics/migrations/v21-13-manifest-cache/index.d.ts.map +1 -1
  322. package/dist/schematics/migrations/v21-13-manifest-cache/index.js +4 -10
  323. package/dist/schematics/migrations/v22-0-cache-dir-rename/index.d.ts.map +1 -1
  324. package/dist/schematics/migrations/v22-0-cache-dir-rename/index.js +6 -10
  325. package/dist/schematics/ng-add/index.d.ts.map +1 -1
  326. package/dist/schematics/ng-add/index.js +122 -56
  327. package/dist/schematics/ng-add/schema.d.ts.map +1 -1
  328. package/dist/schematics/utils/config-ast.d.ts.map +1 -1
  329. package/dist/schematics/utils/config-ast.js +8 -15
  330. package/dist/schematics/utils/tsconfig-paths.d.ts.map +1 -1
  331. package/dist/schematics/utils/tsconfig-paths.js +1 -1
  332. package/dist/shared/canvas-bg.type.d.ts +5 -6
  333. package/dist/shared/canvas-bg.type.d.ts.map +1 -1
  334. package/dist/shared/canvas-bg.type.js +5 -13
  335. package/dist/shared/canvas-layout.type.d.ts.map +1 -1
  336. package/dist/shared/canvas-layout.type.js +1 -4
  337. package/dist/shared/measure.type.d.ts +52 -0
  338. package/dist/shared/measure.type.d.ts.map +1 -0
  339. package/dist/shared/measure.type.js +21 -0
  340. package/dist/shared/variant-bg.d.ts +20 -31
  341. package/dist/shared/variant-bg.d.ts.map +1 -1
  342. package/dist/shared/variant-bg.js +20 -31
  343. package/dist/shared/viewport.type.d.ts +43 -0
  344. package/dist/shared/viewport.type.d.ts.map +1 -0
  345. package/dist/shared/viewport.type.js +44 -0
  346. package/dist/transformer/cli.js +0 -0
  347. package/dist/transformer/index.d.ts +2 -2
  348. package/dist/transformer/index.d.ts.map +1 -1
  349. package/dist/transformer/index.js +2 -2
  350. package/dist/transformer/showcase-strip.transformer.d.ts.map +1 -1
  351. package/dist/transformer/showcase-strip.transformer.js +7 -16
  352. package/dist/transformer/strip-directory.d.ts.map +1 -1
  353. package/dist/transformer/strip-directory.js +2 -4
  354. package/package.json +5 -2
  355. package/schematics/collection.json +7 -7
  356. package/schematics/migrations.json +12 -12
  357. package/schematics/ng-add/schema.json +22 -22
  358. package/src/builder/build/schema.json +36 -36
  359. package/src/builder/serve/schema.json +37 -37
@@ -1,4 +1,4 @@
1
- import { Component, inject, ChangeDetectionStrategy } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
2
  import { PrismPanelService } from '../services/prism-panel.service.js';
3
3
  import * as i0 from "@angular/core";
4
4
  const _forTrack0 = ($index, $item) => $item.id;
@@ -31,33 +31,10 @@ export class PrismViewTabBarComponent {
31
31
  i0.ɵɵclassProp("prism-view-tab-bar__tab--active", ctx.panelService.activeViewId() === "renderer");
32
32
  i0.ɵɵadvance(2);
33
33
  i0.ɵɵrepeater(ctx.viewPanels());
34
- } }, styles: ["[_nghost-%COMP%] { display: inline-flex; }\n\n .prism-view-tab-bar[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n border-radius: var(--%NS%radius-sm);\n background: var(--%NS%prism-input-bg);\n }\n\n .prism-view-tab-bar__tab[_ngcontent-%COMP%] {\n padding: 2px var(--%NS%sp-4);\n border: 0;\n border-radius: var(--%NS%radius-xs);\n background: none;\n font-family: var(--%NS%prism-font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text-muted);\n cursor: pointer;\n white-space: nowrap;\n transition: color var(--%NS%dur-fast) var(--%NS%ease-default);\n }\n .prism-view-tab-bar__tab[_ngcontent-%COMP%]:hover { color: var(--%NS%prism-text-2); }\n .prism-view-tab-bar__tab[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n }\n .prism-view-tab-bar__tab--active[_ngcontent-%COMP%] {\n background: var(--%NS%prism-bg-elevated);\n color: var(--%NS%prism-text);\n font-weight: 500;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);\n }"] });
34
+ } }, styles: ["[_nghost-%COMP%] {\n display: inline-flex;\n}\n\n.prism-view-tab-bar[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n background: var(--%NS%prism-input-bg);\n border-radius: var(--%NS%radius-sm);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%] {\n padding: 2px var(--%NS%sp-4);\n font-family: var(--%NS%prism-font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: var(--%NS%radius-xs);\n transition: color var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n}\n\n.prism-view-tab-bar__tab--active[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-bg-elevated);\n box-shadow: 0 1px 2px rgb(0 0 0 / 18%);\n}"] });
35
35
  }
36
36
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismViewTabBarComponent, [{
37
37
  type: Component,
38
- args: [{ selector: 'prism-view-tab-bar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
39
- <div class="prism-view-tab-bar">
40
- <button
41
- class="prism-view-tab-bar__tab"
42
- [class.prism-view-tab-bar__tab--active]="
43
- panelService.activeViewId() === 'renderer'
44
- "
45
- (click)="panelService.activeViewId.set('renderer')"
46
- >
47
- Playground
48
- </button>
49
- @for (panel of viewPanels(); track panel.id) {
50
- <button
51
- class="prism-view-tab-bar__tab"
52
- [class.prism-view-tab-bar__tab--active]="
53
- panelService.activeViewId() === panel.id
54
- "
55
- (click)="panelService.activeViewId.set(panel.id)"
56
- >
57
- {{ panel.label }}
58
- </button>
59
- }
60
- </div>
61
- `, styles: ["\n :host { display: inline-flex; }\n\n .prism-view-tab-bar {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n border-radius: var(--radius-sm);\n background: var(--prism-input-bg);\n }\n\n .prism-view-tab-bar__tab {\n padding: 2px var(--sp-4);\n border: 0;\n border-radius: var(--radius-xs);\n background: none;\n font-family: var(--prism-font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text-muted);\n cursor: pointer;\n white-space: nowrap;\n transition: color var(--dur-fast) var(--ease-default);\n }\n .prism-view-tab-bar__tab:hover { color: var(--prism-text-2); }\n .prism-view-tab-bar__tab:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n }\n .prism-view-tab-bar__tab--active {\n background: var(--prism-bg-elevated);\n color: var(--prism-text);\n font-weight: 500;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);\n }\n "] }]
38
+ args: [{ selector: 'prism-view-tab-bar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"prism-view-tab-bar\">\n <button\n class=\"prism-view-tab-bar__tab\"\n [class.prism-view-tab-bar__tab--active]=\"panelService.activeViewId() === 'renderer'\"\n (click)=\"panelService.activeViewId.set('renderer')\">\n Playground\n </button>\n @for (panel of viewPanels(); track panel.id) {\n <button\n class=\"prism-view-tab-bar__tab\"\n [class.prism-view-tab-bar__tab--active]=\"panelService.activeViewId() === panel.id\"\n (click)=\"panelService.activeViewId.set(panel.id)\">\n {{ panel.label }}\n </button>\n }\n</div>\n", styles: [":host {\n display: inline-flex;\n}\n\n.prism-view-tab-bar {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n background: var(--prism-input-bg);\n border-radius: var(--radius-sm);\n}\n\n.prism-view-tab-bar__tab {\n padding: 2px var(--sp-4);\n font-family: var(--prism-font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: var(--radius-xs);\n transition: color var(--dur-fast) var(--ease-default);\n}\n\n.prism-view-tab-bar__tab:hover {\n color: var(--prism-text-2);\n}\n\n.prism-view-tab-bar__tab:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n}\n\n.prism-view-tab-bar__tab--active {\n font-weight: 500;\n color: var(--prism-text);\n background: var(--prism-bg-elevated);\n box-shadow: 0 1px 2px rgb(0 0 0 / 18%);\n}\n"] }]
62
39
  }], null, null); })();
63
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewTabBarComponent, { className: "PrismViewTabBarComponent", filePath: "app/view-tab-bar/prism-view-tab-bar.component.ts", lineNumber: 68 }); })();
40
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewTabBarComponent, { className: "PrismViewTabBarComponent", filePath: "app/view-tab-bar/prism-view-tab-bar.component.ts", lineNumber: 11 }); })();
@@ -1,5 +1,5 @@
1
- import type { A11yComponentMeta, A11yManifestMeta, A11yReport, A11yThresholds } from '../../app/panels/a11y/a11y.types.js';
2
1
  import { deriveA11ySummary } from '../../app/panels/a11y/a11y-summary.js';
2
+ import type { A11yComponentMeta, A11yManifestMeta, A11yReport, A11yThresholds } from '../../app/panels/a11y/a11y.types.js';
3
3
  export { deriveA11ySummary };
4
4
  export declare const DEFAULT_A11Y_REPORT_PATH = "a11y-report.json";
5
5
  export declare function loadA11yReport(reportPath: string): A11yReport | null;
@@ -10,7 +10,7 @@ export declare function readA11yMeta(reportPath: string, thresholdsInput?: Parti
10
10
  * The plural form exists because {@link readA11yForComponent} re-enters
11
11
  * {@link loadA11yReport}, which `statSync`s the file even on a cache hit.
12
12
  * Calling it once per scanned component turns a 300-component library into 300
13
- * redundant syscalls per build, and a watch-mode rebuild repeats them all — so
13
+ * redundant syscalls per build, and a watch-mode rebuild repeats them all. So
14
14
  * the pipeline reads the report once and looks components up in the result.
15
15
  */
16
16
  export declare function readA11yForComponents(reportPath: string, thresholds: A11yThresholds): Map<string, A11yComponentMeta>;
@@ -1 +1 @@
1
- {"version":3,"file":"a11y-report-reader.d.ts","sourceRoot":"","sources":["../../../src/builder/a11y/a11y-report-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACf,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAK1E,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAI3D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAapE;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GACxC,gBAAgB,GAAG,IAAI,CAQzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,GACzB,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAchC;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,cAAc,GACzB,iBAAiB,GAAG,IAAI,CAK1B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,GACrB,kBAAkB,EAAE,CAkCtB;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
1
+ {"version":3,"file":"a11y-report-reader.d.ts","sourceRoot":"","sources":["../../../src/builder/a11y/a11y-report-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAK3H,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAI3D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAepE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,gBAAgB,GAAG,IAAI,CASnH;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAepH;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,iBAAiB,GAAG,IAAI,CAMhI;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,EAAE,CAkChF;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -1,6 +1,6 @@
1
1
  import { readFileSync, statSync } from 'node:fs';
2
- import { resolveA11yThresholds } from '../../app/panels/a11y/a11y-thresholds.js';
3
2
  import { deriveA11ySummary } from '../../app/panels/a11y/a11y-summary.js';
3
+ import { resolveA11yThresholds } from '../../app/panels/a11y/a11y-thresholds.js';
4
4
  // Re-exported so the builder side keeps one import surface for the a11y
5
5
  // report. The derivation itself lives in `app/` because the panel tab grades
6
6
  // the live audit with it and cannot reach into `builder/`.
@@ -28,7 +28,7 @@ export function readA11yMeta(reportPath, thresholdsInput) {
28
28
  return null;
29
29
  return {
30
30
  total: report.total,
31
- thresholds: resolveA11yThresholds(thresholdsInput),
31
+ thresholds: resolveA11yThresholds(thresholdsInput)
32
32
  };
33
33
  }
34
34
  /**
@@ -37,7 +37,7 @@ export function readA11yMeta(reportPath, thresholdsInput) {
37
37
  * The plural form exists because {@link readA11yForComponent} re-enters
38
38
  * {@link loadA11yReport}, which `statSync`s the file even on a cache hit.
39
39
  * Calling it once per scanned component turns a 300-component library into 300
40
- * redundant syscalls per build, and a watch-mode rebuild repeats them all — so
40
+ * redundant syscalls per build, and a watch-mode rebuild repeats them all. So
41
41
  * the pipeline reads the report once and looks components up in the result.
42
42
  */
43
43
  export function readA11yForComponents(reportPath, thresholds) {
@@ -51,7 +51,7 @@ export function readA11yForComponents(reportPath, thresholds) {
51
51
  byClassName.set(className, {
52
52
  found: true,
53
53
  score,
54
- summary: deriveA11ySummary(score, thresholds),
54
+ summary: deriveA11ySummary(score, thresholds)
55
55
  });
56
56
  }
57
57
  return byClassName;
@@ -71,28 +71,28 @@ export function checkA11yThresholds(meta) {
71
71
  violations.push({
72
72
  metric: 'score',
73
73
  actual: total.score,
74
- threshold: t.score,
74
+ threshold: t.score
75
75
  });
76
76
  }
77
77
  if (total.critical > t.critical) {
78
78
  violations.push({
79
79
  metric: 'critical',
80
80
  actual: total.critical,
81
- threshold: t.critical,
81
+ threshold: t.critical
82
82
  });
83
83
  }
84
84
  if (total.serious > t.serious) {
85
85
  violations.push({
86
86
  metric: 'serious',
87
87
  actual: total.serious,
88
- threshold: t.serious,
88
+ threshold: t.serious
89
89
  });
90
90
  }
91
91
  if (total.moderate > t.moderate) {
92
92
  violations.push({
93
93
  metric: 'moderate',
94
94
  actual: total.moderate,
95
- threshold: t.moderate,
95
+ threshold: t.moderate
96
96
  });
97
97
  }
98
98
  return violations;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EAGb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAqCtD,QAAA,MAAM,OAAO,EAAE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CACJ,CAAC;AACxD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA0D,MAAM,2BAA2B,CAAC;AACjH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAuBtD,QAAA,MAAM,OAAO,EAAE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAyD,CAAC;AAErH,eAAe,OAAO,CAAC"}
@@ -1,21 +1,17 @@
1
- import { createBuilder, } from '@angular-devkit/architect';
2
- import { runPrismPipeline, createPipelineState, } from '../shared/prism-pipeline.js';
1
+ import { createBuilder } from '@angular-devkit/architect';
2
+ import { createPipelineState, runPrismPipeline } from '../shared/prism-pipeline.js';
3
3
  import { resolveCacheDir } from '../shared/resolve-cache-dir.js';
4
4
  async function createBuildBuilder(options, context) {
5
5
  const cacheDir = resolveCacheDir(options.cacheDir, context.workspaceRoot);
6
6
  const pipelineOptions = {
7
7
  entryPoint: options.entryPoint,
8
- libraryImportPath: options.libraryImportPath ??
9
- options.libraryProject ??
10
- options.prismProject,
8
+ libraryImportPath: options.libraryImportPath ?? options.libraryProject ?? options.prismProject,
11
9
  prismProject: options.prismProject,
12
10
  configFile: options.configFile ?? 'ng-prism.config.ts',
13
- cacheDir,
11
+ cacheDir
14
12
  };
15
13
  await runPrismPipeline(pipelineOptions, context, createPipelineState());
16
- const run = await context.scheduleTarget({ project: options.prismProject, target: 'build', configuration: '' }, options.outputPath
17
- ? { outputPath: { base: options.outputPath, browser: '' } }
18
- : {});
14
+ const run = await context.scheduleTarget({ project: options.prismProject, target: 'build', configuration: '' }, options.outputPath ? { outputPath: { base: options.outputPath, browser: '' } } : {});
19
15
  return run.result;
20
16
  }
21
17
  const builder = createBuilder(createBuildBuilder);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/builder/build/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/builder/build/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/builder/config-loader/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,wBAAsB,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsCrF"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/builder/config-loader/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,wBAAsB,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAoCrF"}
@@ -1,5 +1,5 @@
1
1
  import '@angular/compiler';
2
- import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'fs';
2
+ import { existsSync, readFileSync, unlinkSync, writeFileSync } from 'fs';
3
3
  import { resolve, sep } from 'path';
4
4
  import { pathToFileURL } from 'url';
5
5
  import ts from 'typescript';
@@ -9,8 +9,7 @@ export async function loadConfig(options) {
9
9
  const workspaceRoot = resolve(options.workspaceRoot);
10
10
  const configPath = resolve(workspaceRoot, configFileName);
11
11
  if (configPath !== workspaceRoot && !configPath.startsWith(workspaceRoot + sep)) {
12
- throw new Error(`ng-prism: configFile "${configFileName}" resolves outside workspace root (${workspaceRoot}). ` +
13
- `Provide a path relative to the workspace.`);
12
+ throw new Error(`ng-prism: configFile "${configFileName}" resolves outside workspace root (${workspaceRoot}). ` + `Provide a path relative to the workspace.`);
14
13
  }
15
14
  if (!existsSync(configPath)) {
16
15
  return {};
@@ -21,8 +20,8 @@ export async function loadConfig(options) {
21
20
  module: ts.ModuleKind.ESNext,
22
21
  target: ts.ScriptTarget.ES2022,
23
22
  moduleResolution: ts.ModuleResolutionKind.Bundler,
24
- esModuleInterop: true,
25
- },
23
+ esModuleInterop: true
24
+ }
26
25
  });
27
26
  const uniqueSuffix = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
28
27
  const tempPath = configPath.replace(/\.ts$/, `.${uniqueSuffix}.tmp.mjs`);
@@ -1 +1 @@
1
- {"version":3,"file":"host-parser.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/host-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA4B/D"}
1
+ {"version":3,"file":"host-parser.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/host-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA0B/D"}
@@ -9,7 +9,7 @@ export function parseHostString(host) {
9
9
  return {
10
10
  tag: wrapped[1],
11
11
  attrs: wrapped[2].trim(),
12
- content: wrapped[3],
12
+ content: wrapped[3]
13
13
  };
14
14
  }
15
15
  if (trimmed.length > 0) {
@@ -1,5 +1,5 @@
1
- import type { ScannedComponent } from '../../plugin/plugin.types.js';
2
1
  import type { StyleguidePage } from '../../plugin/page.types.js';
2
+ import type { ScannedComponent } from '../../plugin/plugin.types.js';
3
3
  export interface RuntimeManifestOptions {
4
4
  components: ScannedComponent[];
5
5
  libraryImportPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-manifest.generator.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/runtime-manifest.generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAqID,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,sBAAsB,GAC9B,MAAM,CAmFR"}
1
+ {"version":3,"file":"runtime-manifest.generator.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/runtime-manifest.generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhF,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAoHD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAkF/E"}
@@ -20,9 +20,7 @@ function formatInputDeclaration(input) {
20
20
  const typeAnnotation = inputTypeAnnotation(input);
21
21
  return `input.required<${typeAnnotation}>()`;
22
22
  }
23
- const def = input.defaultValue !== undefined
24
- ? JSON.stringify(input.defaultValue)
25
- : "''";
23
+ const def = input.defaultValue !== undefined ? JSON.stringify(input.defaultValue) : "''";
26
24
  const needsAnnotation = input.type === 'union' && input.values;
27
25
  if (needsAnnotation) {
28
26
  const typeAnnotation = inputTypeAnnotation(input);
@@ -35,10 +33,7 @@ function directiveSelector(selector) {
35
33
  return match ? match[1] : selector;
36
34
  }
37
35
  function isBindableInput(input) {
38
- if (input.type === 'string' ||
39
- input.type === 'number' ||
40
- input.type === 'boolean' ||
41
- input.type === 'union') {
36
+ if (input.type === 'string' || input.type === 'number' || input.type === 'boolean' || input.type === 'union') {
42
37
  return true;
43
38
  }
44
39
  return input.defaultValue !== undefined;
@@ -73,12 +68,8 @@ function generateWrapperClass(comp) {
73
68
  attrs = '';
74
69
  importsArray = `[${comp.className}]`;
75
70
  }
76
- const inputBindings = bindableInputs
77
- .map((i) => ` [${i.name}]="${i.name}()"`)
78
- .join('');
79
- const outputBindings = comp.outputs
80
- .map((o) => ` (${o.name})="${o.name}.emit($event)"`)
81
- .join('');
71
+ const inputBindings = bindableInputs.map((i) => ` [${i.name}]="${i.name}()"`).join('');
72
+ const outputBindings = comp.outputs.map((o) => ` (${o.name})="${o.name}.emit($event)"`).join('');
82
73
  const template = `<${tag}${attrs} ${directiveAttr}${inputBindings}${outputBindings}>{{ __prismContent__() }}</${tag}>`;
83
74
  const members = [];
84
75
  for (const i of bindableInputs) {
@@ -88,16 +79,7 @@ function generateWrapperClass(comp) {
88
79
  members.push(` ${o.name} = output();`);
89
80
  }
90
81
  members.push(` __prismContent__ = input(${JSON.stringify(hostContentDefault)});`);
91
- const lines = [
92
- `@Component({`,
93
- ` standalone: true,`,
94
- ` imports: ${importsArray},`,
95
- ` template: \`${template}\`,`,
96
- `})`,
97
- `class ${wrapperName} {`,
98
- ...members,
99
- `}`,
100
- ];
82
+ const lines = [`@Component({`, ` standalone: true,`, ` imports: ${importsArray},`, ` template: \`${template}\`,`, `})`, `class ${wrapperName} {`, ...members, `}`];
101
83
  return lines.join('\n');
102
84
  }
103
85
  function groupComponentsByImportPath(components, fallbackImportPath) {
@@ -118,10 +100,7 @@ export function generateRuntimeManifest(options) {
118
100
  const { components, libraryImportPath, pages, meta } = options;
119
101
  const directives = components.filter((c) => c.componentMeta.isDirective);
120
102
  const hasDirectives = directives.length > 0;
121
- const lines = [
122
- '// AUTO-GENERATED by ng-prism — do not edit!',
123
- "import type { RuntimeManifest } from '@ng-prism/core/plugin';",
124
- ];
103
+ const lines = ['// AUTO-GENERATED by ng-prism. Do not edit!', "import type { RuntimeManifest } from '@ng-prism/core/plugin';"];
125
104
  if (hasDirectives) {
126
105
  lines.push("import { Component, input, output } from '@angular/core';");
127
106
  }
@@ -157,9 +136,7 @@ export function generateRuntimeManifest(options) {
157
136
  lines.push('export const PRISM_RUNTIME_MANIFEST: RuntimeManifest = {');
158
137
  lines.push(' components: [');
159
138
  for (const comp of components) {
160
- const typeName = comp.componentMeta.isDirective
161
- ? `${comp.className}__PrismHost`
162
- : comp.className;
139
+ const typeName = comp.componentMeta.isDirective ? `${comp.className}__PrismHost` : comp.className;
163
140
  lines.push(' {');
164
141
  lines.push(` type: ${typeName},`);
165
142
  lines.push(` meta: ${formatMeta(comp, 6)},`);
@@ -189,6 +166,10 @@ function json(value) {
189
166
  function indent(depth) {
190
167
  return ' '.repeat(depth);
191
168
  }
169
+ /** `'aria-label'` and content slots like `'[card-header]'` are only valid keys in quotes. */
170
+ function formatKey(key) {
171
+ return /^[A-Za-z_$][\w$]*$/.test(key) ? key : JSON.stringify(key);
172
+ }
192
173
  function formatMeta(comp, baseIndent) {
193
174
  const inner = baseIndent + 2;
194
175
  const lines = [
@@ -197,7 +178,7 @@ function formatMeta(comp, baseIndent) {
197
178
  `${indent(inner)}showcaseConfig: ${formatObject(comp.showcaseConfig, inner)},`,
198
179
  `${indent(inner)}inputs: ${formatArray(comp.inputs, inner)},`,
199
180
  `${indent(inner)}outputs: ${formatArray(comp.outputs, inner)},`,
200
- `${indent(inner)}componentMeta: ${formatObject(comp.componentMeta, inner)},`,
181
+ `${indent(inner)}componentMeta: ${formatObject(comp.componentMeta, inner)},`
201
182
  ];
202
183
  if (comp.meta && Object.keys(comp.meta).length > 0) {
203
184
  lines.push(`${indent(inner)}meta: ${formatObject(comp.meta, inner)},`);
@@ -215,7 +196,7 @@ function formatObject(obj, baseIndent) {
215
196
  : typeof value === 'object' && value !== null
216
197
  ? formatObject(value, inner)
217
198
  : json(value);
218
- return `${indent(inner)}${key}: ${formatted},`;
199
+ return `${indent(inner)}${formatKey(key)}: ${formatted},`;
219
200
  });
220
201
  return `{\n${lines.join('\n')}\n${indent(baseIndent)}}`;
221
202
  }
@@ -224,9 +205,7 @@ function formatArray(arr, baseIndent) {
224
205
  return '[]';
225
206
  const inner = baseIndent + 2;
226
207
  const items = arr.map((item) => {
227
- const formatted = typeof item === 'object' && item !== null && !Array.isArray(item)
228
- ? formatObject(item, inner)
229
- : json(item);
208
+ const formatted = typeof item === 'object' && item !== null && !Array.isArray(item) ? formatObject(item, inner) : json(item);
230
209
  return `${indent(inner)}${formatted},`;
231
210
  });
232
211
  return `[\n${items.join('\n')}\n${indent(baseIndent)}]`;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-runner.d.ts","sourceRoot":"","sources":["../../../src/builder/plugin-runner/plugin-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAEd,MAAM,8BAA8B,CAAC;AA0BtC,wBAAsB,cAAc,CAClC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EAAE,GACvB,OAAO,CAAC,aAAa,CAAC,CAmExB"}
1
+ {"version":3,"file":"plugin-runner.d.ts","sourceRoot":"","sources":["../../../src/builder/plugin-runner/plugin-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,8BAA8B,CAAC;AAgBnG,wBAAsB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CA4D9G"}
@@ -3,7 +3,7 @@ function pluginLabel(plugin) {
3
3
  }
4
4
  function wrapPluginError(plugin, hook, target, err) {
5
5
  const cause = err instanceof Error ? err.message : String(err);
6
- const wrapped = new Error(`ng-prism: plugin ${pluginLabel(plugin)} failed in ${hook} for ${target} — ${cause}`, err instanceof Error ? { cause: err } : undefined);
6
+ const wrapped = new Error(`ng-prism: plugin ${pluginLabel(plugin)} failed in ${hook} for ${target}: ${cause}`, err instanceof Error ? { cause: err } : undefined);
7
7
  if (err instanceof Error && err.stack) {
8
8
  wrapped.stack = `${wrapped.message}\nCaused by: ${err.stack}`;
9
9
  }
@@ -46,9 +46,7 @@ export async function runPluginHooks(manifest, plugins) {
46
46
  }
47
47
  pages[i] = current;
48
48
  }
49
- let result = manifest.meta
50
- ? { components, pages, meta: manifest.meta }
51
- : { components, pages };
49
+ let result = manifest.meta ? { components, pages, meta: manifest.meta } : { components, pages };
52
50
  for (const plugin of plugins) {
53
51
  if (plugin.onManifestReady) {
54
52
  try {
@@ -1,9 +1,53 @@
1
1
  import ts from 'typescript';
2
+ /**
3
+ * What {@link evaluateStatic} returns for a root it cannot evaluate. A symbol,
4
+ * so that it stays distinct from an `undefined` written on purpose.
5
+ */
6
+ export declare const UNEVALUABLE: unique symbol;
7
+ export type EvaluationPath = ReadonlyArray<string | number>;
8
+ /** A reference in the source whose declaration has no value the evaluator can use. */
9
+ export interface UnresolvedReference {
10
+ /** The identifier, shorthand property or property access that did not resolve. */
11
+ node: ts.Node;
12
+ /**
13
+ * `let` and `var` are not constants. `no-value` is a declaration without an
14
+ * initializer: `declare const`, a compiled package's `.d.ts`, or a global
15
+ * of the JavaScript runtime such as `Math`. `cycle` is a constant that refers back to itself, and
16
+ * `runtime-value` a function or class.
17
+ */
18
+ kind: 'let' | 'var' | 'no-value' | 'cycle' | 'runtime-value';
19
+ }
20
+ export interface UnevaluableIssue {
21
+ /** Where the dropped part sat in the evaluated value, with array indices as written in the source. */
22
+ path: EvaluationPath;
23
+ /** The expression, spread or property that could not be evaluated. */
24
+ node: ts.Node;
25
+ /** `runtime-value` marks functions, classes and instances, which no static evaluation can ever capture. */
26
+ reason: 'unsupported' | 'runtime-value';
27
+ /** The innermost reference that failed, when one is what made `node` unevaluable. */
28
+ cause?: UnresolvedReference;
29
+ }
30
+ export type UnevaluableReporter = (issue: UnevaluableIssue) => void;
31
+ export interface EvaluateOptions {
32
+ /** Called for every property, element or spread that is dropped. */
33
+ report?: UnevaluableReporter;
34
+ /** Resolves constants, enum members and imports. Without it, every reference is unevaluable. */
35
+ checker?: ts.TypeChecker;
36
+ }
2
37
  /**
3
38
  * Statically evaluate an AST expression node.
4
- * Returns `undefined` for non-evaluable expressions (variables, function calls, spread).
39
+ *
40
+ * Inside an object or array literal, whatever cannot be evaluated costs only
41
+ * that property or element: it is reported and left out, never the container
42
+ * around it. Only the root itself can come back as {@link UNEVALUABLE}.
43
+ */
44
+ export declare function evaluateStatic(node: ts.Expression, options?: EvaluateOptions): unknown;
45
+ /**
46
+ * {@link evaluateStatic} for callers that read a few known fields and have no
47
+ * use for diagnostics, such as `@Component` metadata: what cannot be evaluated
48
+ * is left out silently, and an unevaluable root becomes `undefined`.
5
49
  */
6
- export declare function evaluateExpression(node: ts.Expression): unknown;
50
+ export declare function evaluateExpression(node: ts.Expression, checker?: ts.TypeChecker): unknown;
7
51
  /**
8
52
  * Find a decorator by name on a class or property declaration.
9
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/builder/scanner/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAoD/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,mBAAmB,EAClD,IAAI,EAAE,MAAM,GACX,EAAE,CAAC,SAAS,GAAG,SAAS,CAc1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAMvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,GAAG,SAAS,CAU1F"}
1
+ {"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/builder/scanner/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,MAAuC,CAAC;AAEzE,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAE5D,sFAAsF;AACtF,MAAM,WAAW,mBAAmB;IAChC,kFAAkF;IAClF,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd;;;;;OAKG;IACH,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,eAAe,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC7B,sGAAsG;IACtG,IAAI,EAAE,cAAc,CAAC;IACrB,sEAAsE;IACtE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,2GAA2G;IAC3G,MAAM,EAAE,aAAa,GAAG,eAAe,CAAC;IACxC,qFAAqF;IACrF,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC5B,oEAAoE;IACpE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,gGAAgG;IAChG,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;CAC5B;AAmCD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,OAAO,CAIzF;AAoYD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,SAAS,GAAG,SAAS,CAgBxH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAOvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,GAAG,SAAS,CAQ1F"}