@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,12 +1,12 @@
1
- import { join, dirname } from 'path';
2
- import { writeFileSync, readFileSync, mkdirSync, statSync, existsSync, } from 'fs';
1
+ import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'fs';
2
+ import { dirname, join } from 'path';
3
3
  import ts from 'typescript';
4
- import { createScanner } from '../scanner/scanner.js';
5
- import { discoverSecondaryEntryPoints } from '../scanner/entry-point-discovery.js';
4
+ import { checkA11yThresholds, DEFAULT_A11Y_REPORT_PATH, readA11yForComponents, readA11yMeta } from '../a11y/a11y-report-reader.js';
6
5
  import { loadConfig } from '../config-loader/config-loader.js';
7
- import { runPluginHooks } from '../plugin-runner/plugin-runner.js';
8
6
  import { generateRuntimeManifest } from '../manifest/runtime-manifest.generator.js';
9
- import { DEFAULT_A11Y_REPORT_PATH, checkA11yThresholds, readA11yForComponents, readA11yMeta, } from '../a11y/a11y-report-reader.js';
7
+ import { runPluginHooks } from '../plugin-runner/plugin-runner.js';
8
+ import { discoverSecondaryEntryPoints } from '../scanner/entry-point-discovery.js';
9
+ import { createScanner } from '../scanner/scanner.js';
10
10
  export function createPipelineState() {
11
11
  return { scanner: undefined, lastEntrySetKey: undefined };
12
12
  }
@@ -15,24 +15,24 @@ export async function runPrismPipeline(options, context, state) {
15
15
  context.reportStatus('Loading ng-prism config...');
16
16
  const config = await loadConfig({
17
17
  workspaceRoot,
18
- configFileName: options.configFile,
18
+ configFileName: options.configFile
19
19
  });
20
20
  context.reportStatus('Scanning components...');
21
- const scanResult = scanEntryPoints(workspaceRoot, options, state);
21
+ const { components, diagnostics } = scanEntryPoints(workspaceRoot, options, state);
22
+ if (config.strictShowcase && diagnostics.length > 0) {
23
+ throw new Error(`ng-prism: strictShowcase is enabled and ${diagnostics.length} @Showcase value(s) were dropped; see the warnings above.`);
24
+ }
22
25
  const pages = config.pages ? [...config.pages] : [];
23
26
  context.reportStatus('Running plugin hooks...');
24
- let manifest = await runPluginHooks({ ...scanResult, pages }, config.plugins ?? []);
27
+ let manifest = await runPluginHooks({ components, pages }, config.plugins ?? []);
25
28
  const a11yReportPath = config.a11y?.reportPath ?? DEFAULT_A11Y_REPORT_PATH;
26
29
  const a11yReportPathAbs = join(workspaceRoot, a11yReportPath);
27
30
  const a11yMeta = readA11yMeta(a11yReportPathAbs, config.a11y?.thresholds);
28
31
  if (a11yMeta) {
29
32
  const violations = checkA11yThresholds(a11yMeta);
30
33
  if (violations.length > 0) {
31
- const summary = violations
32
- .map((v) => `${v.metric}: ${v.actual} (threshold ${v.threshold})`)
33
- .join(', ');
34
- throw new Error(`ng-prism: a11y thresholds violated — ${summary}. ` +
35
- `Update components or relax thresholds via config.a11y.thresholds.`);
34
+ const summary = violations.map((v) => `${v.metric}: ${v.actual} (threshold ${v.threshold})`).join(', ');
35
+ throw new Error(`ng-prism: a11y thresholds violated: ${summary}. ` + `Update components or relax thresholds via config.a11y.thresholds.`);
36
36
  }
37
37
  // Read once, not once per component: the reader re-stats the file on every
38
38
  // call even when its cache hits, so a per-component lookup scales the
@@ -48,11 +48,11 @@ export async function runPrismPipeline(options, context, state) {
48
48
  ...component,
49
49
  showcaseConfig: {
50
50
  ...component.showcaseConfig,
51
- meta: { ...component.showcaseConfig.meta, a11y },
52
- },
51
+ meta: { ...component.showcaseConfig.meta, a11y }
52
+ }
53
53
  };
54
54
  }),
55
- meta: { ...manifest.meta, a11y: a11yMeta },
55
+ meta: { ...manifest.meta, a11y: a11yMeta }
56
56
  };
57
57
  }
58
58
  context.reportStatus('Generating runtime manifest...');
@@ -60,7 +60,7 @@ export async function runPrismPipeline(options, context, state) {
60
60
  components: manifest.components,
61
61
  libraryImportPath: options.libraryImportPath,
62
62
  pages: manifest.pages,
63
- meta: manifest.meta,
63
+ meta: manifest.meta
64
64
  });
65
65
  const cacheRoot = options.cacheDir ?? join(workspaceRoot, 'ng-prism-cache');
66
66
  const cacheDir = join(cacheRoot, options.prismProject);
@@ -72,12 +72,12 @@ export async function runPrismPipeline(options, context, state) {
72
72
  context.logger.info(`ng-prism: ${written ? 'Generated' : 'Verified (unchanged)'} manifest ` +
73
73
  `with ${manifest.components.length} component(s)` +
74
74
  (pageCount > 0 ? ` and ${pageCount} page(s)` : '') +
75
- ` → ${manifestPath}`);
75
+ ` at ${manifestPath}`);
76
76
  return {
77
77
  manifestPath,
78
78
  componentCount: manifest.components.length,
79
79
  pageCount,
80
- written,
80
+ written
81
81
  };
82
82
  }
83
83
  function writeManifestIfChanged(manifestPath, newContent) {
@@ -87,16 +87,11 @@ function writeManifestIfChanged(manifestPath, newContent) {
87
87
  return false;
88
88
  }
89
89
  }
90
- // In-place write (truncate + write to the existing inode). The previous
91
- // implementation used a temp file + atomic rename, which produces a fresh
92
- // inode on every write. That breaks file watchers — most importantly Vite's
93
- // — when the manifest lives in a cache dir outside the prism project's
94
- // source root: Vite watches the file by path/inode, loses the handle on
95
- // rename, and never picks up subsequent rewrites. The result for the user
96
- // is that @Showcase changes never trigger an HMR / reload. The window
97
- // between truncate and write is small (single syscall for kilobyte-sized
98
- // manifests), so the risk of a bundler observing a partial file is
99
- // negligible in practice.
90
+ // Write in place (truncate + write, same inode). A temp file + atomic
91
+ // rename creates a new inode each time, and Vite's watcher loses the file
92
+ // when the manifest lives in a cache dir outside the project's source
93
+ // root, so @Showcase changes would stop triggering HMR. The manifest is
94
+ // only kilobytes, so a bundler seeing a partial write is unlikely.
100
95
  writeFileSync(manifestPath, newContent, 'utf-8');
101
96
  return true;
102
97
  }
@@ -139,12 +134,8 @@ function resolveEntryPoints(workspaceRoot, options) {
139
134
  const absoluteEntryPoint = join(workspaceRoot, options.entryPoint);
140
135
  const compilerOptions = resolveTsconfigPaths(dirname(absoluteEntryPoint));
141
136
  const entryIsDirectory = isDirectory(absoluteEntryPoint);
142
- const libraryRoot = entryIsDirectory
143
- ? absoluteEntryPoint
144
- : findLibraryRoot(absoluteEntryPoint);
145
- const discovered = libraryRoot
146
- ? discoverSecondaryEntryPoints(libraryRoot, options.libraryImportPath)
147
- : [];
137
+ const libraryRoot = entryIsDirectory ? absoluteEntryPoint : findLibraryRoot(absoluteEntryPoint);
138
+ const discovered = libraryRoot ? discoverSecondaryEntryPoints(libraryRoot, options.libraryImportPath) : [];
148
139
  // Fallback to a direct file scan when:
149
140
  // - the entry is a file and no ng-package.json was found above it, OR
150
141
  // - the entry is a file with an ng-package.json above it but discovery found nothing
@@ -153,8 +144,8 @@ function resolveEntryPoints(workspaceRoot, options) {
153
144
  ? [
154
145
  {
155
146
  entryFile: absoluteEntryPoint,
156
- importPath: options.libraryImportPath,
157
- },
147
+ importPath: options.libraryImportPath
148
+ }
158
149
  ]
159
150
  : discovered;
160
151
  return { entryPoints, compilerOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-cache-dir.d.ts","sourceRoot":"","sources":["../../../src/builder/shared/resolve-cache-dir.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAGpB"}
1
+ {"version":3,"file":"resolve-cache-dir.d.ts","sourceRoot":"","sources":["../../../src/builder/shared/resolve-cache-dir.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrG"}
@@ -1,4 +1,4 @@
1
- import { join, isAbsolute } from 'path';
1
+ import { isAbsolute, join } from 'path';
2
2
  /**
3
3
  * Normalizes a user-provided `cacheDir` builder option to an absolute path
4
4
  * (or `undefined` when the option is empty/unset).
@@ -1,3 +1,3 @@
1
1
  export { createChangeHandler, startWatcher } from './prism-watcher.js';
2
- export type { ChangeHandler, ChangeHandlerOptions, WatcherHandle, StartWatcherOptions } from './prism-watcher.js';
2
+ export type { ChangeHandler, ChangeHandlerOptions, StartWatcherOptions, WatcherHandle } from './prism-watcher.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/watcher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/watcher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prism-watcher.d.ts","sourceRoot":"","sources":["../../../src/builder/watcher/prism-watcher.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAqDhF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAkCxE"}
1
+ {"version":3,"file":"prism-watcher.d.ts","sourceRoot":"","sources":["../../../src/builder/watcher/prism-watcher.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC1B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,KAAK,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAqDhF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CA0CxE"}
@@ -1,6 +1,6 @@
1
- import chokidar from 'chokidar';
2
- import { dirname } from 'path';
3
1
  import { statSync } from 'fs';
2
+ import { dirname } from 'path';
3
+ import chokidar from 'chokidar';
4
4
  export function createChangeHandler(options) {
5
5
  const { onRebuild, logger, debounceMs = 300 } = options;
6
6
  let timer = null;
@@ -25,7 +25,7 @@ export function createChangeHandler(options) {
25
25
  }
26
26
  catch (err) {
27
27
  if (!disposed) {
28
- logger.error(`ng-prism: Re-scan failed — ${err instanceof Error ? err.message : String(err)}`);
28
+ logger.error(`ng-prism: Re-scan failed: ${err instanceof Error ? err.message : String(err)}`);
29
29
  }
30
30
  }
31
31
  finally {
@@ -57,12 +57,14 @@ export function createChangeHandler(options) {
57
57
  export function startWatcher(options) {
58
58
  const { entryPoint, configFile, ignorePaths, onRebuild, logger, debounceMs } = options;
59
59
  const handler = createChangeHandler({ onRebuild, logger, debounceMs });
60
- const isDir = (() => { try {
61
- return statSync(entryPoint).isDirectory();
62
- }
63
- catch {
64
- return false;
65
- } })();
60
+ const isDir = (() => {
61
+ try {
62
+ return statSync(entryPoint).isDirectory();
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ })();
66
68
  const watchPaths = [isDir ? entryPoint : dirname(entryPoint)];
67
69
  if (configFile) {
68
70
  watchPaths.push(configFile);
@@ -74,17 +76,17 @@ export function startWatcher(options) {
74
76
  const watcher = chokidar.watch(watchPaths, {
75
77
  ignored: ignorePatterns,
76
78
  ignoreInitial: true,
77
- persistent: true,
79
+ persistent: true
78
80
  });
79
81
  watcher.on('change', (filePath) => handler.handleChange(filePath));
80
82
  watcher.on('add', (filePath) => handler.handleChange(filePath));
81
83
  watcher.on('unlink', (filePath) => handler.handleChange(filePath));
82
- watcher.on('error', (err) => logger.error(`ng-prism: Watcher error — ${err instanceof Error ? err.message : String(err)}`));
84
+ watcher.on('error', (err) => logger.error(`ng-prism: Watcher error: ${err instanceof Error ? err.message : String(err)}`));
83
85
  logger.info(`ng-prism: Watching ${watchPaths.join(', ')} for changes...`);
84
86
  return {
85
87
  close() {
86
88
  handler.dispose();
87
89
  watcher.close();
88
- },
90
+ }
89
91
  };
90
92
  }
@@ -1,6 +1,6 @@
1
1
  export { defineConfig } from '../plugin/define-config.js';
2
- export { customPage, componentPage } from '../plugin/page-helpers.js';
2
+ export { componentPage, customPage } from '../plugin/page-helpers.js';
3
3
  export type { ComponentPageOptions, CustomPageOptions } from '../plugin/page-helpers.js';
4
4
  export type { NgPrismConfig, NgPrismPlugin } from '../plugin/plugin.types.js';
5
- export type { StyleguidePage, CustomPage, ComponentPage } from '../plugin/page.types.js';
5
+ export type { ComponentPage, CustomPage, StyleguidePage } from '../plugin/page.types.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC9E,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export { defineConfig } from '../plugin/define-config.js';
2
- export { customPage, componentPage } from '../plugin/page-helpers.js';
2
+ export { componentPage, customPage } from '../plugin/page-helpers.js';
@@ -1,3 +1,3 @@
1
- export type { ShowcaseConfig, Variant, ComponentStatus, InputsOf, } from './showcase.types.js';
1
+ export type { ComponentStatus, InputsOf, ShowcaseConfig, Variant } from './showcase.types.js';
2
2
  export { Showcase } from './showcase.decorator.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorator/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,cAAc,EACd,OAAO,EACP,eAAe,EACf,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorator/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"showcase.decorator.d.ts","sourceRoot":"","sources":["../../src/decorator/showcase.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAgB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAClC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,cAAc,CAEhB"}
1
+ {"version":3,"file":"showcase.decorator.d.ts","sourceRoot":"","sources":["../../src/decorator/showcase.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAgB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAEhF"}
@@ -16,7 +16,7 @@ type UnwrapSignalInput<S> = S extends InputSignalWithTransform<any, infer WriteT
16
16
  * (`input()`, `input.required()`, `model()`), unwrapping each to its value type.
17
17
  * `output()` and other properties are excluded.
18
18
  *
19
- * When `T` is `unknown` (the default — no generic argument given), falls back
19
+ * When `T` is `unknown` (the default, i.e. no generic argument given), falls back
20
20
  * to `Record<string, unknown>` so existing call sites without a generic param
21
21
  * keep working.
22
22
  */
@@ -26,7 +26,7 @@ export type InputsOf<T> = [unknown] extends [T] ? Record<string, unknown> : {
26
26
  export interface ShowcaseConfig<T = unknown> {
27
27
  /** Display name in the ng-prism UI */
28
28
  title: string;
29
- /** Description text — Markdown supported */
29
+ /** Description text, Markdown supported */
30
30
  description?: string;
31
31
  /** Groups the component in the sidebar */
32
32
  category?: string;
@@ -36,14 +36,14 @@ export interface ShowcaseConfig<T = unknown> {
36
36
  componentOrder?: number;
37
37
  /**
38
38
  * Top-level section in the sidebar. Auto-detected if omitted:
39
- * `@Directive` → 'Directives', otherwise 'Components'. Free-form string —
39
+ * 'Directives' for a `@Directive`, otherwise 'Components'. Free-form string:
40
40
  * any value creates a new top-level section (e.g. 'Pipes', 'Utilities').
41
41
  */
42
42
  section?: string;
43
43
  /**
44
44
  * Sort order of this section in the sidebar (lower = higher in list).
45
45
  * The section's effective order is the minimum `sectionOrder` of all its items.
46
- * Defaults: 'Components' → 0, 'Directives' → 10, all others → 100.
46
+ * Defaults: 'Components' 0, 'Directives' 10, all others 100.
47
47
  */
48
48
  sectionOrder?: number;
49
49
  /** Predefined variants shown as tabs */
@@ -51,9 +51,11 @@ export interface ShowcaseConfig<T = unknown> {
51
51
  /** Tags for search and filtering */
52
52
  tags?: string[];
53
53
  /**
54
- * Providers for a child injector scoped to this component.
55
- * Use for components that require specific services (e.g. DialogService, OverlayService).
56
- * For library-wide providers, use defineConfig({ appProviders }).
54
+ * @deprecated Deprecated since 22.4.0, removed in 23.0.0. Never reached
55
+ * the styleguide: providers are classes, factories or instances, which the
56
+ * static manifest cannot hold, so the build drops them with a warning. Use
57
+ * `defineConfig({ appProviders })`, or, for one component, a component
58
+ * page (`renderPage`) that declares them.
57
59
  */
58
60
  providers?: Provider[];
59
61
  /** Arbitrary metadata for plugins (e.g. { figma: 'https://...' }) */
@@ -93,8 +95,8 @@ export interface Variant<T = unknown> {
93
95
  inputs?: Partial<InputsOf<T>>;
94
96
  /**
95
97
  * Content projected into <ng-content>.
96
- * - string → projected into the default (unnamed) slot
97
- * - Record<string, string> → keys are slot selectors (e.g. '[card-header]'), 'default' is the unnamed slot
98
+ * - string: projected into the default (unnamed) slot
99
+ * - Record<string, string>: keys are slot selectors (e.g. '[card-header]'), 'default' is the unnamed slot
98
100
  */
99
101
  content?: string | Record<string, string>;
100
102
  /** Optional description for this variant */
@@ -1 +1 @@
1
- {"version":3,"file":"showcase.types.d.ts","sourceRoot":"","sources":["../../src/decorator/showcase.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"showcase.types.d.ts","sourceRoot":"","sources":["../../src/decorator/showcase.types.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- // Public API — decorator
1
+ // Public API: decorator
2
2
  export * from './decorator/index.js';
3
- // Public API — plugin
3
+ // Public API: plugin
4
4
  export * from './plugin/index.js';
5
- // Public API — app (styleguide)
5
+ // Public API: app (styleguide)
6
6
  export * from './app/index.js';
@@ -19,6 +19,6 @@ function warnOnDuplicatePluginNames(config) {
19
19
  }
20
20
  }
21
21
  for (const name of duplicates) {
22
- console.warn(`⚠ ng-prism: plugin "${name}" is registered more than once — later hooks may overwrite earlier ones.`);
22
+ console.warn(`⚠ ng-prism: plugin "${name}" is registered more than once, so later hooks may overwrite earlier ones.`);
23
23
  }
24
24
  }
@@ -1,13 +1,13 @@
1
- export type { NgPrismPlugin, PanelBadge, PanelDefinition, ControlDefinition, HeaderWidgetDefinition, NavigationDecoration, NavigationDecorationDefinition, NgPrismConfig, PrismManifest, ScannedComponent, InputMeta, OutputMeta, RuntimeManifest, RuntimeComponent, DiscoveryManifest, DiscoveryComponent, DiscoveryVariant, DiscoveryPage, } from './plugin.types.js';
2
- export type { StyleguidePage, CustomPage, ComponentPage, } from './page.types.js';
1
+ export type { ControlDefinition, DiscoveryComponent, DiscoveryManifest, DiscoveryPage, DiscoveryVariant, HeaderWidgetDefinition, InputMeta, NavigationDecoration, NavigationDecorationDefinition, NgPrismConfig, NgPrismPlugin, OutputMeta, PanelBadge, PanelDefinition, PrismManifest, RuntimeComponent, RuntimeManifest, ScannedComponent } from './plugin.types.js';
2
+ export type { ComponentPage, CustomPage, StyleguidePage } from './page.types.js';
3
3
  export type { CanvasBg } from '../shared/canvas-bg.type.js';
4
4
  export { CANVAS_BGS } from '../shared/canvas-bg.type.js';
5
5
  export { DEFAULT_VARIANT_BG, resolveVariantBg } from '../shared/variant-bg.js';
6
6
  export type { VariantBgSource } from '../shared/variant-bg.js';
7
- export { customPage, componentPage } from './page-helpers.js';
7
+ export { componentPage, customPage } from './page-helpers.js';
8
8
  export type { ComponentPageOptions } from './page-helpers.js';
9
9
  export { defineConfig } from './define-config.js';
10
10
  export { ICON_NAMES } from '../app/icons/icon-registry.js';
11
- export { PRISM_RENDERER_HOOKS, PRISM_MANIFEST, PRISM_CONFIG, } from '../app/tokens/prism-tokens.js';
11
+ export { PRISM_CONFIG, PRISM_MANIFEST, PRISM_RENDERER_HOOKS } from '../app/tokens/prism-tokens.js';
12
12
  export type { PrismRendererHooks } from '../app/tokens/prism-tokens.js';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,8BAA8B,EAC9B,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AAKzB,YAAY,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUlD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,YAAY,GACb,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AACA,YAAY,EACR,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,oBAAoB,EACpB,8BAA8B,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjF,YAAY,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACnG,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,15 +1,11 @@
1
1
  export { CANVAS_BGS } from '../shared/canvas-bg.type.js';
2
2
  export { DEFAULT_VARIANT_BG, resolveVariantBg } from '../shared/variant-bg.js';
3
- export { customPage, componentPage } from './page-helpers.js';
3
+ export { componentPage, customPage } from './page-helpers.js';
4
4
  export { defineConfig } from './define-config.js';
5
- // From the dependency-free registry module, not `prism-icon.component.js`.
6
- // The builder evaluates plugin config — and everything it imports — in
7
- // Node.js, and importing the component module would run an `@Component`
8
- // decorator there: template compilation, styles, the whole runtime.
9
- //
10
- // Not a blanket "no Angular below this line": `prism-tokens.js` a few lines
11
- // down imports `InjectionToken`, and evaluating a plain class constructor in
12
- // Node is harmless. The line being drawn is decorated declarations, not the
13
- // package.
5
+ // Imported from the dependency-free registry module, not from
6
+ // `prism-icon.component.js`. The builder evaluates plugin config in Node.js,
7
+ // and importing the component module would run its `@Component` decorator
8
+ // there. Plain Angular classes are fine (`prism-tokens.js` below imports
9
+ // `InjectionToken`); decorated declarations are not.
14
10
  export { ICON_NAMES } from '../app/icons/icon-registry.js';
15
- export { PRISM_RENDERER_HOOKS, PRISM_MANIFEST, PRISM_CONFIG, } from '../app/tokens/prism-tokens.js';
11
+ export { PRISM_CONFIG, PRISM_MANIFEST, PRISM_RENDERER_HOOKS } from '../app/tokens/prism-tokens.js';
@@ -1,5 +1,5 @@
1
1
  import type { Type } from '@angular/core';
2
- import type { CustomPage, ComponentPage } from './page.types.js';
2
+ import type { ComponentPage, CustomPage } from './page.types.js';
3
3
  export interface CustomPageOptions {
4
4
  title: string;
5
5
  category?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"page-helpers.d.ts","sourceRoot":"","sources":["../../src/plugin/page-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CASjE;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAS1E"}
1
+ {"version":3,"file":"page-helpers.d.ts","sourceRoot":"","sources":["../../src/plugin/page-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CASjE;AAED,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAS1E"}
@@ -5,7 +5,7 @@ export function customPage(options) {
5
5
  category: options.category,
6
6
  categoryOrder: options.categoryOrder,
7
7
  order: options.order,
8
- data: options.data,
8
+ data: options.data
9
9
  };
10
10
  }
11
11
  export function componentPage(options) {
@@ -15,6 +15,6 @@ export function componentPage(options) {
15
15
  category: options.category,
16
16
  categoryOrder: options.categoryOrder,
17
17
  order: options.order,
18
- component: options.component,
18
+ component: options.component
19
19
  };
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page.types.d.ts","sourceRoot":"","sources":["../../src/plugin/page.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;CAC1B"}
1
+ {"version":3,"file":"page.types.d.ts","sourceRoot":"","sources":["../../src/plugin/page.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;AAExD,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;CAC5B"}
@@ -1,8 +1,8 @@
1
1
  import type { Provider, Type } from '@angular/core';
2
- import type { StyleguidePage } from './page.types.js';
3
2
  import type { CanvasBg } from '../shared/canvas-bg.type.js';
3
+ import type { StyleguidePage } from './page.types.js';
4
4
  export interface NgPrismPlugin {
5
- /** Unique plugin name — used for debugging and conflict detection */
5
+ /** Unique plugin name, used for debugging and conflict detection */
6
6
  name: string;
7
7
  onComponentScanned?: (component: ScannedComponent) => ScannedComponent | void | Promise<ScannedComponent | void>;
8
8
  onPageScanned?: (page: StyleguidePage) => StyleguidePage | void | Promise<StyleguidePage | void>;
@@ -17,12 +17,12 @@ export interface NgPrismPlugin {
17
17
  wrapComponent?: Type<unknown>;
18
18
  }
19
19
  export interface HeaderWidgetDefinition {
20
- /** Unique widget id — used for de-duplication and tracking. */
20
+ /** Unique widget id, used for de-duplication and tracking. */
21
21
  id: string;
22
22
  /** Eager component reference. */
23
23
  component?: Type<unknown>;
24
24
  /**
25
- * Lazy-loaded component — use when the widget pulls in browser-only or
25
+ * Lazy-loaded component. Use it when the widget pulls in browser-only or
26
26
  * heavy dependencies that should not run at config-load time.
27
27
  */
28
28
  loadComponent?: () => Promise<Type<unknown>>;
@@ -33,7 +33,7 @@ export interface HeaderWidgetDefinition {
33
33
  }
34
34
  /** A short marker rendered on a panel's tab, usually a count. */
35
35
  export interface PanelBadge {
36
- /** Kept to a couple of characters — the tab bar scrolls horizontally. */
36
+ /** Kept to a couple of characters because the tab bar scrolls horizontally. */
37
37
  text: string;
38
38
  /**
39
39
  * Colour role. `default` is the neutral primary tint used for a plain count;
@@ -44,7 +44,7 @@ export interface PanelBadge {
44
44
  /** What one source has to say about one component in the navigation. */
45
45
  export interface NavigationDecoration {
46
46
  /**
47
- * Colour role. Deliberately only two: an 'ok' state would make the marker
47
+ * Colour role. Only two: an 'ok' state would make the marker
48
48
  * permanent, and a marker that is always present stops being a signal.
49
49
  */
50
50
  variant: 'warn' | 'danger';
@@ -52,7 +52,7 @@ export interface NavigationDecoration {
52
52
  label: string;
53
53
  }
54
54
  export interface NavigationDecorationDefinition {
55
- /** Unique id — used for de-duplication when two plugins contribute the same source. */
55
+ /** Unique id, used for de-duplication when two plugins contribute the same source. */
56
56
  id: string;
57
57
  /** Icon name from the built-in registry (`ICON_NAMES`). */
58
58
  icon: string;
@@ -77,7 +77,7 @@ export interface PanelDefinition {
77
77
  label: string;
78
78
  /** Angular standalone component for the panel content */
79
79
  component?: Type<unknown>;
80
- /** Lazy-loaded component — use when the component import would pull in browser-only dependencies (e.g. DomSanitizer) */
80
+ /** Lazy-loaded component. Use when the component import would pull in browser-only dependencies (e.g. DomSanitizer) */
81
81
  loadComponent?: () => Promise<Type<unknown>>;
82
82
  overlayComponent?: Type<unknown>;
83
83
  loadOverlayComponent?: () => Promise<Type<unknown>>;
@@ -91,7 +91,7 @@ export interface PanelDefinition {
91
91
  isVisible?: (component: RuntimeComponent) => boolean;
92
92
  /**
93
93
  * When provided, the panel's tab carries this badge for the active
94
- * component. Return `null` for "nothing worth saying" — a badge that is
94
+ * component. Return `null` for "nothing worth saying": a badge that is
95
95
  * always present stops being a signal.
96
96
  *
97
97
  * Called during change detection, so it has to be cheap and pure: read what
@@ -102,7 +102,7 @@ export interface PanelDefinition {
102
102
  * Keep the panel's component instance alive across tab switches.
103
103
  * When `true`, the panel is rendered once on first activation and merely hidden
104
104
  * (instead of destroyed) when the user switches tabs. Use for panels with
105
- * expensive setup (iframes, network calls, heavy DOM) — e.g. embedded designs,
105
+ * expensive setup (iframes, network calls, heavy DOM), e.g. embedded designs,
106
106
  * remote previews.
107
107
  *
108
108
  * Default: `false`.
@@ -134,6 +134,15 @@ export interface ScannedComponent {
134
134
  };
135
135
  /** Import path for the component's entry point (e.g. 'my-lib/atoms/pill') */
136
136
  importPath?: string;
137
+ /**
138
+ * Base classes with source the component extends, nearest first, for a
139
+ * plugin to read what the component inherits. Build time only: the
140
+ * manifest does not carry it.
141
+ */
142
+ baseClasses?: {
143
+ className: string;
144
+ filePath: string;
145
+ }[];
137
146
  /** Arbitrary plugin metadata */
138
147
  meta?: Record<string, unknown>;
139
148
  }
@@ -174,7 +183,7 @@ export interface DiscoveryManifest {
174
183
  }
175
184
  export interface DiscoveryComponent {
176
185
  className: string;
177
- /** `ShowcaseConfig.title` — the display name, not the class name. */
186
+ /** `ShowcaseConfig.title`, i.e. the display name, not the class name. */
178
187
  title: string;
179
188
  variants: DiscoveryVariant[];
180
189
  /** Sanitised `ShowcaseConfig.meta`. Omitted when empty. */
@@ -182,14 +191,14 @@ export interface DiscoveryComponent {
182
191
  }
183
192
  export interface DiscoveryVariant {
184
193
  name: string;
185
- /** 0-based index into the `variants` array — the `?variant=` URL value. */
194
+ /** 0-based index into the `variants` array (the `?variant=` URL value). */
186
195
  index: number;
187
196
  /**
188
197
  * The canvas background this variant renders on, already resolved:
189
198
  * `Variant.bg`, else `ShowcaseConfig.bg`, else `DEFAULT_VARIANT_BG`.
190
199
  *
191
200
  * Always present, because a screenshot runner cannot act on "nothing
192
- * declared" — and it is the background capture mode paints, so the value
201
+ * declared". It is also the background capture mode paints, so the value
193
202
  * here and the pixels in the capture agree.
194
203
  */
195
204
  bg: CanvasBg;
@@ -202,7 +211,7 @@ export interface DiscoveryPage {
202
211
  export interface NgPrismConfig {
203
212
  plugins?: NgPrismPlugin[];
204
213
  pages?: StyleguidePage[];
205
- /** Providers added to the Prism app bootstrap — for library-wide services */
214
+ /** Providers added to the Prism app bootstrap, for library-wide services */
206
215
  appProviders?: Provider[];
207
216
  theme?: Record<string, string>;
208
217
  darkTheme?: Record<string, string>;
@@ -235,5 +244,13 @@ export interface NgPrismConfig {
235
244
  };
236
245
  /** Accessibility (build-time audit + runtime live audit) configuration. */
237
246
  a11y?: import('../app/panels/a11y/a11y.types.js').NgPrismA11yConfig;
247
+ /**
248
+ * When true, the build fails instead of warning whenever the scanner has
249
+ * to drop a `@Showcase` value: one it cannot evaluate statically, an
250
+ * invalid `bg`, `status` or `canvasLayout`, a missing `title`, or the
251
+ * deprecated `providers`, which never reach the styleguide.
252
+ * Default: `false`.
253
+ */
254
+ strictShowcase?: boolean;
238
255
  }
239
256
  //# sourceMappingURL=plugin.types.d.ts.map