@ng-prism/core 22.6.0 → 22.7.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/README.md +11 -9
  2. package/dist/app/canvas/canvas-bg.styles.d.ts +1 -1
  3. package/dist/app/canvas/canvas-bg.styles.d.ts.map +1 -1
  4. package/dist/app/canvas/canvas-bg.styles.js +1 -1
  5. package/dist/app/canvas/canvas-overlay-tokens.d.ts +12 -0
  6. package/dist/app/canvas/canvas-overlay-tokens.d.ts.map +1 -0
  7. package/dist/app/canvas/canvas-overlay-tokens.js +52 -0
  8. package/dist/app/canvas/prism-canvas-bg-pill.component.js +2 -2
  9. package/dist/app/canvas/prism-canvas-pin-row.component.js +2 -2
  10. package/dist/app/canvas/prism-canvas-rulers.component.d.ts +2 -0
  11. package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -1
  12. package/dist/app/canvas/prism-canvas-rulers.component.js +17 -12
  13. package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +3 -2
  14. package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
  15. package/dist/app/canvas/prism-canvas-toolbar.component.js +89 -97
  16. package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
  17. package/dist/app/canvas/prism-template-popover.component.js +16 -7
  18. package/dist/app/component-head/head-metrics.d.ts +35 -19
  19. package/dist/app/component-head/head-metrics.d.ts.map +1 -1
  20. package/dist/app/component-head/head-metrics.js +57 -27
  21. package/dist/app/component-head/pipe-facts.d.ts +9 -0
  22. package/dist/app/component-head/pipe-facts.d.ts.map +1 -0
  23. package/dist/app/component-head/pipe-facts.js +15 -0
  24. package/dist/app/component-head/prism-component-head.component.d.ts +19 -22
  25. package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
  26. package/dist/app/component-head/prism-component-head.component.js +80 -96
  27. package/dist/app/component-head/prism-head-gauge.component.d.ts +8 -12
  28. package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -1
  29. package/dist/app/component-head/prism-head-gauge.component.js +51 -67
  30. package/dist/app/component-head/prism-head-info.component.d.ts +13 -2
  31. package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -1
  32. package/dist/app/component-head/prism-head-info.component.js +57 -16
  33. package/dist/app/component-head/prism-stat.component.d.ts +4 -5
  34. package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
  35. package/dist/app/component-head/prism-stat.component.js +16 -12
  36. package/dist/app/component-head/service-facts.d.ts +8 -0
  37. package/dist/app/component-head/service-facts.d.ts.map +1 -0
  38. package/dist/app/component-head/service-facts.js +11 -0
  39. package/dist/app/controls/boolean-control.component.js +2 -2
  40. package/dist/app/controls/json-control.component.js +2 -2
  41. package/dist/app/controls/union-control.component.js +4 -3
  42. package/dist/app/header/header-brand.d.ts +25 -0
  43. package/dist/app/header/header-brand.d.ts.map +1 -0
  44. package/dist/app/header/header-brand.js +10 -0
  45. package/dist/app/header/prism-header.component.d.ts +2 -2
  46. package/dist/app/header/prism-header.component.d.ts.map +1 -1
  47. package/dist/app/header/prism-header.component.js +73 -57
  48. package/dist/app/icons/icon-registry.d.ts.map +1 -1
  49. package/dist/app/icons/icon-registry.js +4 -1
  50. package/dist/app/index.d.ts +12 -0
  51. package/dist/app/index.d.ts.map +1 -1
  52. package/dist/app/index.js +12 -1
  53. package/dist/app/layout-menu/prism-layout-menu.component.d.ts +3 -0
  54. package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
  55. package/dist/app/layout-menu/prism-layout-menu.component.js +72 -58
  56. package/dist/app/overview/open-in-playground.d.ts +8 -0
  57. package/dist/app/overview/open-in-playground.d.ts.map +1 -1
  58. package/dist/app/overview/open-in-playground.js +13 -0
  59. package/dist/app/overview/overview-matrix.d.ts +10 -4
  60. package/dist/app/overview/overview-matrix.d.ts.map +1 -1
  61. package/dist/app/overview/overview-matrix.js +3 -3
  62. package/dist/app/overview/prism-overview-cell.component.d.ts +6 -2
  63. package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
  64. package/dist/app/overview/prism-overview-cell.component.js +35 -24
  65. package/dist/app/overview/prism-overview-matrix.component.js +46 -55
  66. package/dist/app/page-renderer/prism-page-renderer.component.js +2 -2
  67. package/dist/app/panels/a11y/a11y-header-badge.component.d.ts +1 -4
  68. package/dist/app/panels/a11y/a11y-header-badge.component.d.ts.map +1 -1
  69. package/dist/app/panels/a11y/a11y-header-badge.component.js +8 -19
  70. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +2 -2
  71. package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts +1 -0
  72. package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
  73. package/dist/app/panels/a11y/a11y-overlay-host.component.js +4 -3
  74. package/dist/app/panels/a11y/a11y-panel.component.d.ts +4 -1
  75. package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
  76. package/dist/app/panels/a11y/a11y-panel.component.js +32 -54
  77. package/dist/app/panels/a11y/a11y-score.component.d.ts +8 -3
  78. package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
  79. package/dist/app/panels/a11y/a11y-score.component.js +19 -35
  80. package/dist/app/panels/a11y/a11y-sr-overlay.component.js +2 -2
  81. package/dist/app/panels/a11y/a11y-sr.component.js +2 -2
  82. package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -1
  83. package/dist/app/panels/a11y/a11y-summary.js +8 -1
  84. package/dist/app/panels/a11y/a11y-tree.component.js +2 -2
  85. package/dist/app/panels/a11y/a11y-violations.component.d.ts +23 -2
  86. package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
  87. package/dist/app/panels/a11y/a11y-violations.component.js +104 -89
  88. package/dist/app/panels/a11y/severity.d.ts +9 -0
  89. package/dist/app/panels/a11y/severity.d.ts.map +1 -0
  90. package/dist/app/panels/a11y/severity.js +12 -0
  91. package/dist/app/panels/controls/non-editable-input-types.d.ts +9 -1
  92. package/dist/app/panels/controls/non-editable-input-types.d.ts.map +1 -1
  93. package/dist/app/panels/controls/non-editable-input-types.js +18 -0
  94. package/dist/app/panels/controls/prism-controls-panel.component.d.ts +2 -1
  95. package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
  96. package/dist/app/panels/controls/prism-controls-panel.component.js +77 -59
  97. package/dist/app/panels/events/prism-events-panel.component.d.ts +2 -0
  98. package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
  99. package/dist/app/panels/events/prism-events-panel.component.js +20 -7
  100. package/dist/app/panels/events/prism-json-node.utils.d.ts +6 -0
  101. package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -1
  102. package/dist/app/panels/events/prism-json-node.utils.js +8 -0
  103. package/dist/app/panels/panel-host/addon-panels.d.ts +11 -0
  104. package/dist/app/panels/panel-host/addon-panels.d.ts.map +1 -0
  105. package/dist/app/panels/panel-host/addon-panels.js +12 -0
  106. package/dist/app/panels/panel-host/panel-badge.d.ts +22 -0
  107. package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
  108. package/dist/app/panels/panel-host/panel-badge.js +56 -11
  109. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +4 -1
  110. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -1
  111. package/dist/app/panels/panel-host/prism-panel-host.component.js +36 -70
  112. package/dist/app/renderer/composition.d.ts +20 -0
  113. package/dist/app/renderer/composition.d.ts.map +1 -0
  114. package/dist/app/renderer/composition.js +26 -0
  115. package/dist/app/renderer/input-bindings.d.ts +13 -1
  116. package/dist/app/renderer/input-bindings.d.ts.map +1 -1
  117. package/dist/app/renderer/input-bindings.js +22 -1
  118. package/dist/app/renderer/prism-renderer.component.d.ts +8 -1
  119. package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
  120. package/dist/app/renderer/prism-renderer.component.js +40 -28
  121. package/dist/app/renderer/snippet-generator.d.ts +14 -2
  122. package/dist/app/renderer/snippet-generator.d.ts.map +1 -1
  123. package/dist/app/renderer/snippet-generator.js +137 -82
  124. package/dist/app/services/navigation-item.d.ts +10 -0
  125. package/dist/app/services/navigation-item.d.ts.map +1 -0
  126. package/dist/app/services/navigation-item.js +20 -0
  127. package/dist/app/services/navigation-item.types.d.ts +8 -0
  128. package/dist/app/services/navigation-item.types.d.ts.map +1 -1
  129. package/dist/app/services/prism-layout.service.d.ts +12 -0
  130. package/dist/app/services/prism-layout.service.d.ts.map +1 -1
  131. package/dist/app/services/prism-layout.service.js +17 -7
  132. package/dist/app/services/prism-manifest.service.d.ts +4 -0
  133. package/dist/app/services/prism-manifest.service.d.ts.map +1 -1
  134. package/dist/app/services/prism-manifest.service.js +4 -0
  135. package/dist/app/services/prism-navigation.service.d.ts +12 -0
  136. package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
  137. package/dist/app/services/prism-navigation.service.js +85 -19
  138. package/dist/app/services/prism-panel.service.d.ts +7 -3
  139. package/dist/app/services/prism-panel.service.d.ts.map +1 -1
  140. package/dist/app/services/prism-panel.service.js +13 -4
  141. package/dist/app/services/prism-renderer.service.d.ts +6 -0
  142. package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
  143. package/dist/app/services/prism-renderer.service.js +40 -6
  144. package/dist/app/services/prism-search.service.d.ts +4 -0
  145. package/dist/app/services/prism-search.service.d.ts.map +1 -1
  146. package/dist/app/services/prism-search.service.js +29 -6
  147. package/dist/app/services/prism-theme.service.d.ts +11 -3
  148. package/dist/app/services/prism-theme.service.d.ts.map +1 -1
  149. package/dist/app/services/prism-theme.service.js +27 -19
  150. package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
  151. package/dist/app/services/prism-url-state.service.js +42 -4
  152. package/dist/app/shared/badge.types.d.ts +7 -0
  153. package/dist/app/shared/badge.types.d.ts.map +1 -0
  154. package/dist/app/shared/badge.types.js +9 -0
  155. package/dist/app/shared/brand-mark.d.ts +35 -0
  156. package/dist/app/shared/brand-mark.d.ts.map +1 -0
  157. package/dist/app/shared/brand-mark.js +52 -0
  158. package/dist/app/shared/metric-bar.d.ts +6 -0
  159. package/dist/app/shared/metric-bar.d.ts.map +1 -0
  160. package/dist/app/shared/metric-bar.js +7 -0
  161. package/dist/app/shared/prism-badge.component.d.ts +21 -0
  162. package/dist/app/shared/prism-badge.component.d.ts.map +1 -0
  163. package/dist/app/shared/prism-badge.component.js +68 -0
  164. package/dist/app/shared/prism-button.component.d.ts +12 -0
  165. package/dist/app/shared/prism-button.component.d.ts.map +1 -0
  166. package/dist/app/shared/prism-button.component.js +28 -0
  167. package/dist/app/shared/prism-icon-button.component.d.ts +17 -0
  168. package/dist/app/shared/prism-icon-button.component.d.ts.map +1 -0
  169. package/dist/app/shared/prism-icon-button.component.js +37 -0
  170. package/dist/app/shared/prism-list-row.component.d.ts +17 -0
  171. package/dist/app/shared/prism-list-row.component.d.ts.map +1 -0
  172. package/dist/app/shared/prism-list-row.component.js +57 -0
  173. package/dist/app/shared/prism-logo.component.d.ts +24 -0
  174. package/dist/app/shared/prism-logo.component.d.ts.map +1 -0
  175. package/dist/app/shared/prism-logo.component.js +77 -0
  176. package/dist/app/shared/prism-metric-badge.component.d.ts +9 -4
  177. package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -1
  178. package/dist/app/shared/prism-metric-badge.component.js +33 -12
  179. package/dist/app/shared/prism-metric-card.component.d.ts +30 -0
  180. package/dist/app/shared/prism-metric-card.component.d.ts.map +1 -0
  181. package/dist/app/shared/prism-metric-card.component.js +111 -0
  182. package/dist/app/shared/prism-panel-toolbar.component.d.ts +13 -0
  183. package/dist/app/shared/prism-panel-toolbar.component.d.ts.map +1 -0
  184. package/dist/app/shared/prism-panel-toolbar.component.js +28 -0
  185. package/dist/app/shared/prism-segmented.component.d.ts +25 -0
  186. package/dist/app/shared/prism-segmented.component.d.ts.map +1 -0
  187. package/dist/app/shared/prism-segmented.component.js +77 -0
  188. package/dist/app/shared/prism-tabs.component.d.ts +44 -0
  189. package/dist/app/shared/prism-tabs.component.d.ts.map +1 -0
  190. package/dist/app/shared/prism-tabs.component.js +134 -0
  191. package/dist/app/shared/roving-focus.d.ts +13 -0
  192. package/dist/app/shared/roving-focus.d.ts.map +1 -0
  193. package/dist/app/shared/roving-focus.js +34 -0
  194. package/dist/app/shell/prism-shell.component.d.ts +13 -0
  195. package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
  196. package/dist/app/shell/prism-shell.component.js +57 -28
  197. package/dist/app/shell/should-select-first.d.ts +17 -0
  198. package/dist/app/shell/should-select-first.d.ts.map +1 -0
  199. package/dist/app/shell/should-select-first.js +13 -0
  200. package/dist/app/sidebar/navigation-decorations.d.ts +23 -1
  201. package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -1
  202. package/dist/app/sidebar/navigation-decorations.js +33 -2
  203. package/dist/app/sidebar/prism-sidebar.component.d.ts +5 -15
  204. package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
  205. package/dist/app/sidebar/prism-sidebar.component.js +89 -77
  206. package/dist/app/theme/deprecated-tokens.d.ts +15 -0
  207. package/dist/app/theme/deprecated-tokens.d.ts.map +1 -0
  208. package/dist/app/theme/deprecated-tokens.js +22 -0
  209. package/dist/app/theme/favicon.d.ts +3 -0
  210. package/dist/app/theme/favicon.d.ts.map +1 -0
  211. package/dist/app/theme/favicon.js +3 -0
  212. package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
  213. package/dist/app/theme/prism-default-theme.js +116 -61
  214. package/dist/app/theme/resolve-theme-tokens.d.ts +29 -0
  215. package/dist/app/theme/resolve-theme-tokens.d.ts.map +1 -0
  216. package/dist/app/theme/resolve-theme-tokens.js +43 -0
  217. package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts +4 -7
  218. package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
  219. package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +31 -69
  220. package/dist/app/view-tab-bar/next-view-id.d.ts +7 -1
  221. package/dist/app/view-tab-bar/next-view-id.d.ts.map +1 -1
  222. package/dist/app/view-tab-bar/next-view-id.js +9 -1
  223. package/dist/app/view-tab-bar/panel-inputs.d.ts +28 -0
  224. package/dist/app/view-tab-bar/panel-inputs.d.ts.map +1 -0
  225. package/dist/app/view-tab-bar/panel-inputs.js +41 -0
  226. package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts +2 -3
  227. package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -1
  228. package/dist/app/view-tab-bar/prism-view-panel-host.component.js +9 -9
  229. package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts +6 -0
  230. package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
  231. package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +22 -29
  232. package/dist/builder/config-loader/deprecated-options.d.ts +4 -2
  233. package/dist/builder/config-loader/deprecated-options.d.ts.map +1 -1
  234. package/dist/builder/config-loader/deprecated-options.js +13 -2
  235. package/dist/builder/manifest/composition-wrapper.generator.d.ts +14 -0
  236. package/dist/builder/manifest/composition-wrapper.generator.d.ts.map +1 -0
  237. package/dist/builder/manifest/composition-wrapper.generator.js +66 -0
  238. package/dist/builder/manifest/host-parser.d.ts +2 -0
  239. package/dist/builder/manifest/host-parser.d.ts.map +1 -1
  240. package/dist/builder/manifest/host-parser.js +9 -4
  241. package/dist/builder/manifest/manifest-imports.d.ts +34 -0
  242. package/dist/builder/manifest/manifest-imports.d.ts.map +1 -0
  243. package/dist/builder/manifest/manifest-imports.js +91 -0
  244. package/dist/builder/manifest/runtime-manifest.generator.d.ts +13 -0
  245. package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
  246. package/dist/builder/manifest/runtime-manifest.generator.js +135 -64
  247. package/dist/builder/manifest/selector-element.d.ts +16 -0
  248. package/dist/builder/manifest/selector-element.d.ts.map +1 -0
  249. package/dist/builder/manifest/selector-element.js +46 -0
  250. package/dist/builder/manifest/template-literal.d.ts +3 -0
  251. package/dist/builder/manifest/template-literal.d.ts.map +1 -0
  252. package/dist/builder/manifest/template-literal.js +4 -0
  253. package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
  254. package/dist/builder/plugin-runner/plugin-runner.js +29 -26
  255. package/dist/builder/scanner/api/angular-decorators.d.ts +84 -0
  256. package/dist/builder/scanner/api/angular-decorators.d.ts.map +1 -0
  257. package/dist/builder/scanner/api/angular-decorators.js +157 -0
  258. package/dist/builder/scanner/api/component-api.extractor.d.ts +13 -0
  259. package/dist/builder/scanner/api/component-api.extractor.d.ts.map +1 -0
  260. package/dist/builder/scanner/api/component-api.extractor.js +104 -0
  261. package/dist/builder/scanner/api/doc-tags.d.ts +13 -0
  262. package/dist/builder/scanner/api/doc-tags.d.ts.map +1 -0
  263. package/dist/builder/scanner/api/doc-tags.js +101 -0
  264. package/dist/builder/scanner/api/export-index.d.ts +18 -0
  265. package/dist/builder/scanner/api/export-index.d.ts.map +1 -0
  266. package/dist/builder/scanner/api/export-index.js +22 -0
  267. package/dist/builder/scanner/api/member.extractor.d.ts +90 -0
  268. package/dist/builder/scanner/api/member.extractor.d.ts.map +1 -0
  269. package/dist/builder/scanner/api/member.extractor.js +270 -0
  270. package/dist/builder/scanner/api/pipe-api.extractor.d.ts +12 -0
  271. package/dist/builder/scanner/api/pipe-api.extractor.d.ts.map +1 -0
  272. package/dist/builder/scanner/api/pipe-api.extractor.js +52 -0
  273. package/dist/builder/scanner/api/service-api.extractor.d.ts +14 -0
  274. package/dist/builder/scanner/api/service-api.extractor.d.ts.map +1 -0
  275. package/dist/builder/scanner/api/service-api.extractor.js +119 -0
  276. package/dist/builder/scanner/api/setup.reader.d.ts +26 -0
  277. package/dist/builder/scanner/api/setup.reader.d.ts.map +1 -0
  278. package/dist/builder/scanner/api/setup.reader.js +89 -0
  279. package/dist/builder/scanner/api/type-collector.d.ts +24 -0
  280. package/dist/builder/scanner/api/type-collector.d.ts.map +1 -0
  281. package/dist/builder/scanner/api/type-collector.js +211 -0
  282. package/dist/builder/scanner/ast-utils.d.ts +8 -0
  283. package/dist/builder/scanner/ast-utils.d.ts.map +1 -1
  284. package/dist/builder/scanner/ast-utils.js +37 -1
  285. package/dist/builder/scanner/class-hierarchy.d.ts +5 -3
  286. package/dist/builder/scanner/class-hierarchy.d.ts.map +1 -1
  287. package/dist/builder/scanner/class-hierarchy.js +12 -6
  288. package/dist/builder/scanner/component.scanner.d.ts +60 -6
  289. package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
  290. package/dist/builder/scanner/component.scanner.js +209 -57
  291. package/dist/builder/scanner/composition/compose-template.d.ts +36 -0
  292. package/dist/builder/scanner/composition/compose-template.d.ts.map +1 -0
  293. package/dist/builder/scanner/composition/compose-template.js +187 -0
  294. package/dist/builder/scanner/composition/declarables.d.ts +54 -0
  295. package/dist/builder/scanner/composition/declarables.d.ts.map +1 -0
  296. package/dist/builder/scanner/composition/declarables.js +182 -0
  297. package/dist/builder/scanner/composition/match-declarables.d.ts +43 -0
  298. package/dist/builder/scanner/composition/match-declarables.d.ts.map +1 -0
  299. package/dist/builder/scanner/composition/match-declarables.js +131 -0
  300. package/dist/builder/scanner/composition/read-composition.d.ts +77 -0
  301. package/dist/builder/scanner/composition/read-composition.d.ts.map +1 -0
  302. package/dist/builder/scanner/composition/read-composition.js +302 -0
  303. package/dist/builder/scanner/composition/template-elements.d.ts +12 -0
  304. package/dist/builder/scanner/composition/template-elements.d.ts.map +1 -0
  305. package/dist/builder/scanner/composition/template-elements.js +41 -0
  306. package/dist/builder/scanner/index.d.ts +4 -0
  307. package/dist/builder/scanner/index.d.ts.map +1 -1
  308. package/dist/builder/scanner/index.js +2 -0
  309. package/dist/builder/scanner/input.extractor.d.ts +31 -2
  310. package/dist/builder/scanner/input.extractor.d.ts.map +1 -1
  311. package/dist/builder/scanner/input.extractor.js +52 -15
  312. package/dist/builder/scanner/pipe.scanner.d.ts +29 -0
  313. package/dist/builder/scanner/pipe.scanner.d.ts.map +1 -0
  314. package/dist/builder/scanner/pipe.scanner.js +65 -0
  315. package/dist/builder/scanner/scanner.d.ts +25 -1
  316. package/dist/builder/scanner/scanner.d.ts.map +1 -1
  317. package/dist/builder/scanner/scanner.js +60 -26
  318. package/dist/builder/scanner/service/angular-decorators.d.ts +80 -0
  319. package/dist/builder/scanner/service/angular-decorators.d.ts.map +1 -0
  320. package/dist/builder/scanner/service/angular-decorators.js +154 -0
  321. package/dist/builder/scanner/service/doc-tags.d.ts +13 -0
  322. package/dist/builder/scanner/service/doc-tags.d.ts.map +1 -0
  323. package/dist/builder/scanner/service/doc-tags.js +97 -0
  324. package/dist/builder/scanner/service/export-index.d.ts +18 -0
  325. package/dist/builder/scanner/service/export-index.d.ts.map +1 -0
  326. package/dist/builder/scanner/service/export-index.js +22 -0
  327. package/dist/builder/scanner/service/member.extractor.d.ts +65 -0
  328. package/dist/builder/scanner/service/member.extractor.d.ts.map +1 -0
  329. package/dist/builder/scanner/service/member.extractor.js +216 -0
  330. package/dist/builder/scanner/service/pipe-api.extractor.d.ts +12 -0
  331. package/dist/builder/scanner/service/pipe-api.extractor.d.ts.map +1 -0
  332. package/dist/builder/scanner/service/pipe-api.extractor.js +72 -0
  333. package/dist/builder/scanner/service/service-api.extractor.d.ts +14 -0
  334. package/dist/builder/scanner/service/service-api.extractor.d.ts.map +1 -0
  335. package/dist/builder/scanner/service/service-api.extractor.js +119 -0
  336. package/dist/builder/scanner/service/setup.reader.d.ts +26 -0
  337. package/dist/builder/scanner/service/setup.reader.d.ts.map +1 -0
  338. package/dist/builder/scanner/service/setup.reader.js +89 -0
  339. package/dist/builder/scanner/service/type-collector.d.ts +23 -0
  340. package/dist/builder/scanner/service/type-collector.d.ts.map +1 -0
  341. package/dist/builder/scanner/service/type-collector.js +210 -0
  342. package/dist/builder/scanner/service.scanner.d.ts +26 -0
  343. package/dist/builder/scanner/service.scanner.d.ts.map +1 -0
  344. package/dist/builder/scanner/service.scanner.js +61 -0
  345. package/dist/builder/scanner/showcase-diagnostics.d.ts +60 -1
  346. package/dist/builder/scanner/showcase-diagnostics.d.ts.map +1 -1
  347. package/dist/builder/scanner/showcase-diagnostics.js +114 -1
  348. package/dist/builder/shared/prism-pipeline.d.ts +6 -0
  349. package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
  350. package/dist/builder/shared/prism-pipeline.js +43 -5
  351. package/dist/decorator/index.d.ts +1 -1
  352. package/dist/decorator/index.d.ts.map +1 -1
  353. package/dist/decorator/showcase.types.d.ts +79 -9
  354. package/dist/decorator/showcase.types.d.ts.map +1 -1
  355. package/dist/plugin/index.d.ts +6 -1
  356. package/dist/plugin/index.d.ts.map +1 -1
  357. package/dist/plugin/index.js +4 -0
  358. package/dist/plugin/pipe.types.d.ts +36 -0
  359. package/dist/plugin/pipe.types.d.ts.map +1 -0
  360. package/dist/plugin/pipe.types.js +1 -0
  361. package/dist/plugin/plugin.types.d.ts +140 -3
  362. package/dist/plugin/plugin.types.d.ts.map +1 -1
  363. package/dist/plugin/service.types.d.ts +124 -0
  364. package/dist/plugin/service.types.d.ts.map +1 -0
  365. package/dist/plugin/service.types.js +1 -0
  366. package/dist/plugin/status.d.ts +27 -0
  367. package/dist/plugin/status.d.ts.map +1 -0
  368. package/dist/plugin/status.js +26 -0
  369. package/dist/shared/composition.d.ts +30 -0
  370. package/dist/shared/composition.d.ts.map +1 -0
  371. package/dist/shared/composition.js +29 -0
  372. package/dist/shared/pseudo-state.type.d.ts +2 -1
  373. package/dist/shared/pseudo-state.type.d.ts.map +1 -1
  374. package/dist/shared/void-elements.d.ts +3 -0
  375. package/dist/shared/void-elements.d.ts.map +1 -0
  376. package/dist/shared/void-elements.js +2 -0
  377. package/package.json +1 -1
@@ -1,6 +1,11 @@
1
1
  import { Injectable, signal } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  const STORAGE_KEY = 'ng-prism-layout';
4
+ /** Bounds and default of the sidebar width, shared by the service, the resizer and the shell's CSS fallback. */
5
+ export const SIDEBAR_WIDTH = { min: 200, max: 360, default: 280 };
6
+ /** Bounds and default of the addon panel height. */
7
+ export const PANEL_HEIGHT = { min: 200, max: 560, default: 300 };
8
+ const clamp = (bounds, px) => Math.max(bounds.min, Math.min(bounds.max, px));
4
9
  export class PrismLayoutService {
5
10
  sidebarVisible = signal(true, /* @ts-ignore */
6
11
  ...(ngDevMode ? [{ debugName: "sidebarVisible" }] : /* istanbul ignore next */ []));
@@ -10,9 +15,9 @@ export class PrismLayoutService {
10
15
  ...(ngDevMode ? [{ debugName: "toolbarVisible" }] : /* istanbul ignore next */ []));
11
16
  addonsOrientation = signal('bottom', /* @ts-ignore */
12
17
  ...(ngDevMode ? [{ debugName: "addonsOrientation" }] : /* istanbul ignore next */ []));
13
- sidebarWidth = signal(280, /* @ts-ignore */
18
+ sidebarWidth = signal(SIDEBAR_WIDTH.default, /* @ts-ignore */
14
19
  ...(ngDevMode ? [{ debugName: "sidebarWidth" }] : /* istanbul ignore next */ []));
15
- panelHeight = signal(300, /* @ts-ignore */
20
+ panelHeight = signal(PANEL_HEIGHT.default, /* @ts-ignore */
16
21
  ...(ngDevMode ? [{ debugName: "panelHeight" }] : /* istanbul ignore next */ []));
17
22
  panelWidth = signal(320, /* @ts-ignore */
18
23
  ...(ngDevMode ? [{ debugName: "panelWidth" }] : /* istanbul ignore next */ []));
@@ -36,11 +41,11 @@ export class PrismLayoutService {
36
41
  this.saveToStorage();
37
42
  }
38
43
  setSidebarWidth(px) {
39
- this.sidebarWidth.set(Math.max(160, Math.min(600, px)));
44
+ this.sidebarWidth.set(clamp(SIDEBAR_WIDTH, px));
40
45
  this.saveToStorage();
41
46
  }
42
47
  setPanelHeight(px) {
43
- this.panelHeight.set(Math.max(100, Math.min(600, px)));
48
+ this.panelHeight.set(clamp(PANEL_HEIGHT, px));
44
49
  this.saveToStorage();
45
50
  }
46
51
  setPanelWidth(px) {
@@ -63,9 +68,9 @@ export class PrismLayoutService {
63
68
  this.addonsOrientation.set(d['addonsOrientation']);
64
69
  }
65
70
  if (typeof d['sidebarWidth'] === 'number')
66
- this.sidebarWidth.set(Math.max(160, Math.min(600, d['sidebarWidth'])));
71
+ this.sidebarWidth.set(clamp(SIDEBAR_WIDTH, d['sidebarWidth']));
67
72
  if (typeof d['panelHeight'] === 'number')
68
- this.panelHeight.set(Math.max(100, Math.min(600, d['panelHeight'])));
73
+ this.panelHeight.set(clamp(PANEL_HEIGHT, d['panelHeight']));
69
74
  if (typeof d['panelWidth'] === 'number')
70
75
  this.panelWidth.set(Math.max(200, Math.min(600, d['panelWidth'])));
71
76
  }
@@ -83,7 +88,12 @@ export class PrismLayoutService {
83
88
  panelHeight: this.panelHeight(),
84
89
  panelWidth: this.panelWidth()
85
90
  };
86
- localStorage.setItem(STORAGE_KEY, JSON.stringify(data));
91
+ try {
92
+ localStorage.setItem(STORAGE_KEY, JSON.stringify(data));
93
+ }
94
+ catch {
95
+ // Storage full or blocked: the layout still applies for this session.
96
+ }
87
97
  }
88
98
  static ɵfac = function PrismLayoutService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismLayoutService)(); };
89
99
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismLayoutService, factory: PrismLayoutService.ɵfac, providedIn: 'root' });
@@ -1,10 +1,14 @@
1
1
  import type { StyleguidePage } from '../../plugin/page.types.js';
2
+ import type { RuntimePipe } from '../../plugin/pipe.types.js';
2
3
  import type { RuntimeComponent, RuntimeManifest } from '../../plugin/plugin.types.js';
4
+ import type { RuntimeService } from '../../plugin/service.types.js';
3
5
  import * as i0 from "@angular/core";
4
6
  export declare class PrismManifestService {
5
7
  private readonly _manifest;
6
8
  readonly manifest: import("@angular/core").Signal<RuntimeManifest>;
7
9
  readonly components: import("@angular/core").Signal<RuntimeComponent[]>;
10
+ readonly services: import("@angular/core").Signal<RuntimeService[]>;
11
+ readonly pipes: import("@angular/core").Signal<RuntimePipe[]>;
8
12
  readonly pages: import("@angular/core").Signal<StyleguidePage[]>;
9
13
  readonly categories: import("@angular/core").Signal<string[]>;
10
14
  readonly groupedByCategory: import("@angular/core").Signal<Map<string, RuntimeComponent[]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"prism-manifest.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-manifest.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAGtF,qBACa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAE7E,QAAQ,CAAC,QAAQ,kDAA+B;IAEhD,QAAQ,CAAC,UAAU,qDAAmE;IAEtF,QAAQ,CAAC,KAAK,mDAAkE;IAEhF,QAAQ,CAAC,UAAU,2CA0BhB;IAEH,QAAQ,CAAC,iBAAiB,kEAYvB;IAEH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;yCAnDtC,oBAAoB;;CAsDhC"}
1
+ {"version":3,"file":"prism-manifest.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-manifest.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;;AAGpE,qBACa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAE7E,QAAQ,CAAC,QAAQ,kDAA+B;IAEhD,QAAQ,CAAC,UAAU,qDAAmE;IAEtF,QAAQ,CAAC,QAAQ,mDAAqE;IAEtF,QAAQ,CAAC,KAAK,gDAA+D;IAE7E,QAAQ,CAAC,KAAK,mDAAkE;IAEhF,QAAQ,CAAC,UAAU,2CA0BhB;IAEH,QAAQ,CAAC,iBAAiB,kEAYvB;IAEH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;yCAvDtC,oBAAoB;;CA0DhC"}
@@ -7,6 +7,10 @@ export class PrismManifestService {
7
7
  manifest = this._manifest.asReadonly();
8
8
  components = computed(() => this._manifest().components, /* @ts-ignore */
9
9
  ...(ngDevMode ? [{ debugName: "components" }] : /* istanbul ignore next */ []));
10
+ services = computed(() => this._manifest().services ?? [], /* @ts-ignore */
11
+ ...(ngDevMode ? [{ debugName: "services" }] : /* istanbul ignore next */ []));
12
+ pipes = computed(() => this._manifest().pipes ?? [], /* @ts-ignore */
13
+ ...(ngDevMode ? [{ debugName: "pipes" }] : /* istanbul ignore next */ []));
10
14
  pages = computed(() => this._manifest().pages ?? [], /* @ts-ignore */
11
15
  ...(ngDevMode ? [{ debugName: "pages" }] : /* istanbul ignore next */ []));
12
16
  categories = computed(() => {
@@ -1,5 +1,7 @@
1
1
  import type { StyleguidePage } from '../../plugin/page.types.js';
2
+ import type { RuntimePipe } from '../../plugin/pipe.types.js';
2
3
  import type { RuntimeComponent, ScannedComponent } from '../../plugin/plugin.types.js';
4
+ import type { PanelTarget, RuntimeService } from '../../plugin/service.types.js';
3
5
  import type { NavigationItem } from './navigation-item.types.js';
4
6
  import * as i0 from "@angular/core";
5
7
  export interface CategoryNode {
@@ -18,9 +20,19 @@ export declare class PrismNavigationService {
18
20
  private readonly manifestService;
19
21
  readonly activeItem: import("@angular/core").WritableSignal<NavigationItem | null>;
20
22
  readonly activeComponent: import("@angular/core").Signal<RuntimeComponent | null>;
23
+ readonly activeService: import("@angular/core").Signal<RuntimeService | null>;
24
+ readonly activePipe: import("@angular/core").Signal<RuntimePipe | null>;
25
+ /**
26
+ * What the active item is, for the panels that apply to one kind only.
27
+ * Built from the re-linked signals, so an item the manifest no longer has
28
+ * (and a page, which no panel targets) reports `null`.
29
+ */
30
+ readonly activeTarget: import("@angular/core").Signal<PanelTarget | null>;
21
31
  readonly activePage: import("@angular/core").Signal<StyleguidePage | null>;
22
32
  readonly sectionTree: import("@angular/core").Signal<SectionNode[]>;
23
33
  select(comp: RuntimeComponent): void;
34
+ selectService(service: RuntimeService): void;
35
+ selectPipe(pipe: RuntimePipe): void;
24
36
  selectPage(page: StyleguidePage): void;
25
37
  selectFirst(): void;
26
38
  static ɵfac: i0.ɵɵFactoryDeclaration<PrismNavigationService, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"prism-navigation.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-navigation.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAWjE,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAG1D;AAgBD,qBACa,sBAAsB;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,UAAU,gEAAuC;IAE1D,QAAQ,CAAC,eAAe,0DAQrB;IAEH,QAAQ,CAAC,UAAU,wDAQhB;IAEH,QAAQ,CAAC,WAAW,gDAiEjB;IAEH,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAIpC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC,WAAW,IAAI,IAAI;yCArGV,sBAAsB;;CAoHlC"}
1
+ {"version":3,"file":"prism-navigation.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-navigation.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAajE,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAG1D;AA+BD,qBACa,sBAAsB;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,UAAU,gEAAuC;IAE1D,QAAQ,CAAC,eAAe,0DAQrB;IAEH,QAAQ,CAAC,aAAa,wDAOnB;IAEH,QAAQ,CAAC,UAAU,qDAOhB;IAEH;;;;OAIG;IACH,QAAQ,CAAC,YAAY,qDAKlB;IAEH,QAAQ,CAAC,UAAU,wDAQhB;IAEH,QAAQ,CAAC,WAAW,gDAsEjB;IAEH,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAIpC,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAI5C,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAInC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC,WAAW,IAAI,IAAI;yCAhJV,sBAAsB;;CA2KlC"}
@@ -1,17 +1,31 @@
1
1
  import { computed, inject, Injectable, signal } from '@angular/core';
2
+ import { itemShowcaseConfig } from './navigation-item.js';
2
3
  import { PrismManifestService } from './prism-manifest.service.js';
3
4
  import { PrismSearchService } from './prism-search.service.js';
4
5
  import * as i0 from "@angular/core";
5
6
  const DEFAULT_SECTION_ORDER = {
6
7
  Components: 0,
7
- Directives: 10
8
+ Directives: 10,
9
+ Services: 20,
10
+ Pipes: 30
8
11
  };
9
- const SECTION_TIEBREAK = ['Components', 'Directives'];
12
+ const SECTION_TIEBREAK = ['Components', 'Directives', 'Services', 'Pipes'];
10
13
  export function resolveSection(c) {
11
14
  if (c.showcaseConfig.section)
12
15
  return c.showcaseConfig.section;
13
16
  return c.componentMeta.isDirective ? 'Directives' : 'Components';
14
17
  }
18
+ /** The section an item lists under: its own `section`, else the default for what it is. */
19
+ function resolveItemSection(item) {
20
+ switch (item.kind) {
21
+ case 'component':
22
+ return resolveSection(item.data.meta);
23
+ case 'service':
24
+ return item.data.meta.showcaseConfig.section ?? 'Services';
25
+ case 'pipe':
26
+ return item.data.meta.showcaseConfig.section ?? 'Pipes';
27
+ }
28
+ }
15
29
  function defaultSectionOrder(name) {
16
30
  return DEFAULT_SECTION_ORDER[name] ?? 100;
17
31
  }
@@ -40,6 +54,37 @@ export class PrismNavigationService {
40
54
  return relinked ?? null;
41
55
  }, /* @ts-ignore */
42
56
  ...(ngDevMode ? [{ debugName: "activeComponent" }] : /* istanbul ignore next */ []));
57
+ activeService = computed(() => {
58
+ const item = this.activeItem();
59
+ if (item?.kind !== 'service')
60
+ return null;
61
+ const relinked = this.manifestService.services().find((s) => s.meta.className === item.data.meta.className);
62
+ return relinked ?? null;
63
+ }, /* @ts-ignore */
64
+ ...(ngDevMode ? [{ debugName: "activeService" }] : /* istanbul ignore next */ []));
65
+ activePipe = computed(() => {
66
+ const item = this.activeItem();
67
+ if (item?.kind !== 'pipe')
68
+ return null;
69
+ const relinked = this.manifestService.pipes().find((p) => p.meta.className === item.data.meta.className);
70
+ return relinked ?? null;
71
+ }, /* @ts-ignore */
72
+ ...(ngDevMode ? [{ debugName: "activePipe" }] : /* istanbul ignore next */ []));
73
+ /**
74
+ * What the active item is, for the panels that apply to one kind only.
75
+ * Built from the re-linked signals, so an item the manifest no longer has
76
+ * (and a page, which no panel targets) reports `null`.
77
+ */
78
+ activeTarget = computed(() => {
79
+ if (this.activeComponent())
80
+ return 'component';
81
+ if (this.activeService())
82
+ return 'service';
83
+ if (this.activePipe())
84
+ return 'pipe';
85
+ return null;
86
+ }, /* @ts-ignore */
87
+ ...(ngDevMode ? [{ debugName: "activeTarget" }] : /* istanbul ignore next */ []));
43
88
  activePage = computed(() => {
44
89
  const item = this.activeItem();
45
90
  if (item?.kind !== 'page')
@@ -50,18 +95,23 @@ export class PrismNavigationService {
50
95
  }, /* @ts-ignore */
51
96
  ...(ngDevMode ? [{ debugName: "activePage" }] : /* istanbul ignore next */ []));
52
97
  sectionTree = computed(() => {
53
- const comps = this.searchService.filteredComponents();
98
+ const items = [
99
+ ...this.searchService.filteredComponents().map((data) => ({ kind: 'component', data })),
100
+ ...this.searchService.filteredServices().map((data) => ({ kind: 'service', data })),
101
+ ...this.searchService.filteredPipes().map((data) => ({ kind: 'pipe', data }))
102
+ ];
54
103
  const sections = new Map();
55
104
  const sectionOrders = new Map();
56
- for (const comp of comps) {
57
- const section = resolveSection(comp.meta);
58
- const category = comp.meta.showcaseConfig.category ?? 'Uncategorized';
105
+ for (const item of items) {
106
+ const config = item.data.meta.showcaseConfig;
107
+ const section = resolveItemSection(item);
108
+ const category = config.category ?? 'Uncategorized';
59
109
  const catMap = sections.get(section) ?? new Map();
60
- const items = catMap.get(category) ?? [];
61
- items.push({ kind: 'component', data: comp });
62
- catMap.set(category, items);
110
+ const list = catMap.get(category) ?? [];
111
+ list.push(item);
112
+ catMap.set(category, list);
63
113
  sections.set(section, catMap);
64
- const explicit = comp.meta.showcaseConfig.sectionOrder;
114
+ const explicit = config.sectionOrder;
65
115
  const current = sectionOrders.get(section);
66
116
  if (explicit !== undefined) {
67
117
  sectionOrders.set(section, current === undefined ? explicit : Math.min(current, explicit));
@@ -71,21 +121,21 @@ export class PrismNavigationService {
71
121
  for (const [name, catMap] of sections.entries()) {
72
122
  const order = sectionOrders.get(name) ?? defaultSectionOrder(name);
73
123
  const categories = [];
74
- for (const [catName, items] of catMap.entries()) {
75
- items.sort((a, b) => {
76
- const oa = a.kind === 'component' ? (a.data.meta.showcaseConfig.componentOrder ?? Infinity) : Infinity;
77
- const ob = b.kind === 'component' ? (b.data.meta.showcaseConfig.componentOrder ?? Infinity) : Infinity;
124
+ for (const [catName, catItems] of catMap.entries()) {
125
+ catItems.sort((a, b) => {
126
+ const oa = itemShowcaseConfig(a)?.componentOrder ?? Infinity;
127
+ const ob = itemShowcaseConfig(b)?.componentOrder ?? Infinity;
78
128
  if (oa !== ob)
79
129
  return oa - ob;
80
- const la = a.kind === 'component' ? a.data.meta.showcaseConfig.title : '';
81
- const lb = b.kind === 'component' ? b.data.meta.showcaseConfig.title : '';
130
+ const la = itemShowcaseConfig(a)?.title ?? '';
131
+ const lb = itemShowcaseConfig(b)?.title ?? '';
82
132
  return la.localeCompare(lb);
83
133
  });
84
- categories.push({ name: catName, items });
134
+ categories.push({ name: catName, items: catItems });
85
135
  }
86
136
  categories.sort((a, b) => {
87
- const oa = Math.min(...a.items.map((i) => (i.kind === 'component' ? (i.data.meta.showcaseConfig.categoryOrder ?? Infinity) : Infinity)));
88
- const ob = Math.min(...b.items.map((i) => (i.kind === 'component' ? (i.data.meta.showcaseConfig.categoryOrder ?? Infinity) : Infinity)));
137
+ const oa = Math.min(...a.items.map((i) => itemShowcaseConfig(i)?.categoryOrder ?? Infinity));
138
+ const ob = Math.min(...b.items.map((i) => itemShowcaseConfig(i)?.categoryOrder ?? Infinity));
89
139
  if (oa !== ob)
90
140
  return oa - ob;
91
141
  return a.name.localeCompare(b.name);
@@ -104,6 +154,12 @@ export class PrismNavigationService {
104
154
  select(comp) {
105
155
  this.activeItem.set({ kind: 'component', data: comp });
106
156
  }
157
+ selectService(service) {
158
+ this.activeItem.set({ kind: 'service', data: service });
159
+ }
160
+ selectPipe(pipe) {
161
+ this.activeItem.set({ kind: 'pipe', data: pipe });
162
+ }
107
163
  selectPage(page) {
108
164
  this.activeItem.set({ kind: 'page', data: page });
109
165
  }
@@ -118,6 +174,16 @@ export class PrismNavigationService {
118
174
  this.activeItem.set({ kind: 'component', data: comps[0] });
119
175
  return;
120
176
  }
177
+ const services = this.searchService.filteredServices();
178
+ if (services.length > 0) {
179
+ this.activeItem.set({ kind: 'service', data: services[0] });
180
+ return;
181
+ }
182
+ const pipes = this.searchService.filteredPipes();
183
+ if (pipes.length > 0) {
184
+ this.activeItem.set({ kind: 'pipe', data: pipes[0] });
185
+ return;
186
+ }
121
187
  this.activeItem.set(null);
122
188
  }
123
189
  static ɵfac = function PrismNavigationService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismNavigationService)(); };
@@ -20,10 +20,14 @@ export declare class PrismPanelService {
20
20
  */
21
21
  readonly viewPanels: import("@angular/core").Signal<PanelDefinition[]>;
22
22
  /**
23
- * The view panels the active component actually offers.
23
+ * The view panels the active page actually offers.
24
24
  *
25
- * Empty when no component is active, which is how pages end up without view
26
- * tabs: it falls out of the data instead of needing a case of its own.
25
+ * A service or a pipe gets the panels that apply to its kind, all of them:
26
+ * `isVisible` takes a component, so it has nothing to say about either. A
27
+ * component gets the panels that apply to components and pass their
28
+ * `isVisible`. Empty when none of the three is active, which is how pages end
29
+ * up without view tabs: it falls out of the data instead of needing a case of
30
+ * its own.
27
31
  */
28
32
  readonly visibleViewPanels: import("@angular/core").Signal<PanelDefinition[]>;
29
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"prism-panel.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-panel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,mBAAmB,EAA8B,MAAM,eAAe,CAAC;AACrH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAKpE,qBACa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IAExE,QAAQ,CAAC,aAAa,iDAA8B;IACpD,QAAQ,CAAC,YAAY,iDAA8B;IAEnD,QAAQ,CAAC,mBAAmB,6DAAsF;IAElH;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,oDAAwI;IAE3J;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,oDAKvB;IAEH;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;yCAvC/C,iBAAiB;;CAqD7B"}
1
+ {"version":3,"file":"prism-panel.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-panel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,mBAAmB,EAA8B,MAAM,eAAe,CAAC;AACrH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAMpE,qBACa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IAExE,QAAQ,CAAC,aAAa,iDAA8B;IACpD,QAAQ,CAAC,YAAY,iDAA8B;IAEnD,QAAQ,CAAC,mBAAmB,6DAAsF;IAElH;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,oDAAwI;IAE3J;;;;;;;;;OASG;IACH,QAAQ,CAAC,iBAAiB,oDAUvB;IAEH;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;yCAhD/C,iBAAiB;;CA8D7B"}
@@ -1,5 +1,6 @@
1
1
  import { computed, createEnvironmentInjector, EnvironmentInjector, inject, Injectable, signal } from '@angular/core';
2
2
  import { PRISM_BUILTIN_PANELS } from '../tokens/prism-tokens.js';
3
+ import { panelTargets } from '../view-tab-bar/panel-inputs.js';
3
4
  import { PrismNavigationService } from './prism-navigation.service.js';
4
5
  import { PrismPluginService } from './prism-plugin.service.js';
5
6
  import * as i0 from "@angular/core";
@@ -26,16 +27,24 @@ export class PrismPanelService {
26
27
  viewPanels = computed(() => [...this.builtinPanels.filter((p) => p.placement === 'view'), ...this.pluginService.viewPanels()], /* @ts-ignore */
27
28
  ...(ngDevMode ? [{ debugName: "viewPanels" }] : /* istanbul ignore next */ []));
28
29
  /**
29
- * The view panels the active component actually offers.
30
+ * The view panels the active page actually offers.
30
31
  *
31
- * Empty when no component is active, which is how pages end up without view
32
- * tabs: it falls out of the data instead of needing a case of its own.
32
+ * A service or a pipe gets the panels that apply to its kind, all of them:
33
+ * `isVisible` takes a component, so it has nothing to say about either. A
34
+ * component gets the panels that apply to components and pass their
35
+ * `isVisible`. Empty when none of the three is active, which is how pages end
36
+ * up without view tabs: it falls out of the data instead of needing a case of
37
+ * its own.
33
38
  */
34
39
  visibleViewPanels = computed(() => {
40
+ const target = this.navigationService.activeTarget();
41
+ if (target === 'service' || target === 'pipe') {
42
+ return this.viewPanels().filter((p) => panelTargets(p).includes(target));
43
+ }
35
44
  const component = this.navigationService.activeComponent();
36
45
  if (!component)
37
46
  return [];
38
- return this.viewPanels().filter((p) => !p.isVisible || p.isVisible(component));
47
+ return this.viewPanels().filter((p) => panelTargets(p).includes('component') && (!p.isVisible || p.isVisible(component)));
39
48
  }, /* @ts-ignore */
40
49
  ...(ngDevMode ? [{ debugName: "visibleViewPanels" }] : /* istanbul ignore next */ []));
41
50
  /**
@@ -19,6 +19,12 @@ export declare class PrismRendererService {
19
19
  readonly inputValues: import("@angular/core").WritableSignal<Record<string, unknown>>;
20
20
  readonly activeContent: import("@angular/core").WritableSignal<string | Record<string, string> | undefined>;
21
21
  readonly renderedElement: import("@angular/core").WritableSignal<Element | null>;
22
+ /**
23
+ * The element of the showcased component or directive in what the canvas
24
+ * renders: in a composition the one the wrapper marks, else the rendered
25
+ * element itself. `null` while nothing is rendered. Since 22.7.0.
26
+ */
27
+ readonly subjectElement: import("@angular/core").Signal<Element | null>;
22
28
  readonly dirtyInputCount: import("@angular/core").Signal<number>;
23
29
  /** The component the variant, the state and the inputs belong to, `null` before the first. */
24
30
  private _lastClassName;
@@ -1 +1 @@
1
- {"version":3,"file":"prism-renderer.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-renderer.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;;AAGrE,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC9D;AAED,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAC9E,oBAAoB,CA6CtB;AAaD,qBACa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,QAAQ,CAAC,kBAAkB,iDAAa;IACxC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,wDAA+B;IACxD,QAAQ,CAAC,WAAW,kEAAuC;IAC3D,QAAQ,CAAC,aAAa,sFAAkE;IACxF,QAAQ,CAAC,eAAe,yDAAgC;IAExD,QAAQ,CAAC,eAAe,yCAarB;IAEH,8FAA8F;IAC9F,OAAO,CAAC,cAAc,CAAuB;;IAc7C,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAO/C;;;;;;;OAOG;IACH,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAoDnD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIvC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C,4BAA4B,IAAI,IAAI;IAOpC,OAAO,CAAC,YAAY;yCArIX,oBAAoB;;CA8IhC"}
1
+ {"version":3,"file":"prism-renderer.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-renderer.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;;AAKrE,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC9D;AAED,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAC9E,oBAAoB,CA+CtB;AA+BD,qBACa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,QAAQ,CAAC,kBAAkB,iDAAa;IACxC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,wDAA+B;IACxD,QAAQ,CAAC,WAAW,kEAAuC;IAC3D,QAAQ,CAAC,aAAa,sFAAkE;IACxF,QAAQ,CAAC,eAAe,yDAAgC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,iDAOpB;IAEH,QAAQ,CAAC,eAAe,yCAarB;IAEH,8FAA8F;IAC9F,OAAO,CAAC,cAAc,CAAuB;;IAc7C,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAO/C;;;;;;;OAOG;IACH,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAqDnD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIvC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C,4BAA4B,IAAI,IAAI;IAOpC,OAAO,CAAC,YAAY;yCAnJX,oBAAoB;;CA4JhC"}
@@ -1,4 +1,6 @@
1
1
  import { computed, effect, inject, Injectable, signal, untracked } from '@angular/core';
2
+ import { COMPOSITION_SUBJECT_ATTR } from '../../shared/composition.js';
3
+ import { activeCase } from '../renderer/composition.js';
2
4
  import { PrismNavigationService } from './prism-navigation.service.js';
3
5
  import * as i0 from "@angular/core";
4
6
  export function computeVariantState(comp, index, options = {}) {
@@ -31,14 +33,32 @@ export function computeVariantState(comp, index, options = {}) {
31
33
  ...defaults,
32
34
  ...filteredVariantInputs
33
35
  };
34
- if (comp.meta.componentMeta.isDirective && variant?.content) {
35
- values['__prismContent__'] = typeof variant.content === 'string' ? variant.content : '';
36
+ const hostContent = directiveHostContent(comp, index);
37
+ if (hostContent !== undefined) {
38
+ values['__prismContent__'] = hostContent;
36
39
  }
37
40
  return {
38
41
  values,
39
- activeContent: comp.meta.componentMeta.isDirective ? undefined : variant?.content
42
+ activeContent: projectedContent(comp, index)
40
43
  };
41
44
  }
45
+ /**
46
+ * The text `content` the `__PrismHost` of a directive renders through `__prismContent__`, `undefined` for a variant
47
+ * without content, a component, or a composed variant, whose template holds the content and whose wrapper does not
48
+ * declare `__prismContent__`.
49
+ */
50
+ function directiveHostContent(comp, index) {
51
+ const content = comp.meta.showcaseConfig.variants?.[index]?.content;
52
+ if (!comp.meta.componentMeta.isDirective || !content || activeCase(comp, index))
53
+ return undefined;
54
+ return typeof content === 'string' ? content : '';
55
+ }
56
+ /** The `content` the renderer projects into a component, `undefined` for a directive and for a composed variant. */
57
+ function projectedContent(comp, index) {
58
+ if (comp.meta.componentMeta.isDirective || activeCase(comp, index))
59
+ return undefined;
60
+ return comp.meta.showcaseConfig.variants?.[index]?.content;
61
+ }
42
62
  function valuesEqual(a, b) {
43
63
  if (a === b)
44
64
  return true;
@@ -70,6 +90,19 @@ export class PrismRendererService {
70
90
  ...(ngDevMode ? [{ debugName: "activeContent" }] : /* istanbul ignore next */ []));
71
91
  renderedElement = signal(null, /* @ts-ignore */
72
92
  ...(ngDevMode ? [{ debugName: "renderedElement" }] : /* istanbul ignore next */ []));
93
+ /**
94
+ * The element of the showcased component or directive in what the canvas
95
+ * renders: in a composition the one the wrapper marks, else the rendered
96
+ * element itself. `null` while nothing is rendered. Since 22.7.0.
97
+ */
98
+ subjectElement = computed(() => {
99
+ const root = this.renderedElement();
100
+ if (!root)
101
+ return null;
102
+ const selector = `[${COMPOSITION_SUBJECT_ATTR}]`;
103
+ return root.matches(selector) ? root : (root.querySelector(selector) ?? root);
104
+ }, /* @ts-ignore */
105
+ ...(ngDevMode ? [{ debugName: "subjectElement" }] : /* istanbul ignore next */ []));
73
106
  dirtyInputCount = computed(() => {
74
107
  const comp = this.navigationService.activeComponent();
75
108
  if (!comp)
@@ -145,11 +178,12 @@ export class PrismRendererService {
145
178
  const variant = variants[preservedIndex];
146
179
  const variantInputs = variant?.inputs ?? {};
147
180
  const merged = { ...defaults, ...variantInputs, ...preserved };
148
- if (comp.meta.componentMeta.isDirective && variant?.content && preserved['__prismContent__'] === undefined) {
149
- merged['__prismContent__'] = typeof variant.content === 'string' ? variant.content : '';
181
+ const hostContent = directiveHostContent(comp, preservedIndex);
182
+ if (hostContent !== undefined && preserved['__prismContent__'] === undefined) {
183
+ merged['__prismContent__'] = hostContent;
150
184
  }
151
185
  this.inputValues.set(merged);
152
- this.activeContent.set(comp.meta.componentMeta.isDirective ? undefined : variant?.content);
186
+ this.activeContent.set(projectedContent(comp, preservedIndex));
153
187
  }
154
188
  selectVariant(index) {
155
189
  this.activeVariantIndex.set(index);
@@ -1,9 +1,13 @@
1
1
  import type { StyleguidePage } from '../../plugin/page.types.js';
2
+ import type { RuntimePipe } from '../../plugin/pipe.types.js';
3
+ import type { RuntimeService } from '../../plugin/service.types.js';
2
4
  import * as i0 from "@angular/core";
3
5
  export declare class PrismSearchService {
4
6
  private readonly manifestService;
5
7
  readonly query: import("@angular/core").WritableSignal<string>;
6
8
  readonly filteredComponents: import("@angular/core").Signal<import("../../index.js").RuntimeComponent[]>;
9
+ readonly filteredServices: import("@angular/core").Signal<RuntimeService[]>;
10
+ readonly filteredPipes: import("@angular/core").Signal<RuntimePipe[]>;
7
11
  readonly filteredPages: import("@angular/core").Signal<StyleguidePage[]>;
8
12
  search(q: string): void;
9
13
  clear(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"prism-search.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-search.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAGjE,qBACa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,KAAK,iDAAc;IAE5B,QAAQ,CAAC,kBAAkB,8EAcxB;IAEH,QAAQ,CAAC,aAAa,mDAMnB;IAEH,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,IAAI,IAAI;yCAjCJ,kBAAkB;;CAoC9B"}
1
+ {"version":3,"file":"prism-search.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-search.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;;AAkBpE,qBACa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,KAAK,iDAAc;IAE5B,QAAQ,CAAC,kBAAkB,8EAMxB;IAEH,QAAQ,CAAC,gBAAgB,mDAMtB;IAEH,QAAQ,CAAC,aAAa,gDAMnB;IAEH,QAAQ,CAAC,aAAa,mDAMnB;IAEH,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,IAAI,IAAI;yCAzCJ,kBAAkB;;CA4C9B"}
@@ -1,6 +1,18 @@
1
1
  import { computed, inject, Injectable, signal } from '@angular/core';
2
2
  import { PrismManifestService } from './prism-manifest.service.js';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Whether a showcased item matches a query that is already lowercased and
6
+ * trimmed: its title, category or tags, or one of `names`, the identifiers
7
+ * that only some kinds have (a service's class name, a pipe's class name and
8
+ * template name).
9
+ */
10
+ function matchesQuery(q, config, names = []) {
11
+ return (config.title.toLowerCase().includes(q) ||
12
+ names.some((name) => name.toLowerCase().includes(q)) ||
13
+ (config.category?.toLowerCase().includes(q) ?? false) ||
14
+ (config.tags?.some((t) => t.toLowerCase().includes(q)) ?? false));
15
+ }
4
16
  export class PrismSearchService {
5
17
  manifestService = inject(PrismManifestService);
6
18
  query = signal('', /* @ts-ignore */
@@ -10,14 +22,25 @@ export class PrismSearchService {
10
22
  const all = this.manifestService.components();
11
23
  if (!q)
12
24
  return all;
13
- return all.filter((comp) => {
14
- const config = comp.meta.showcaseConfig;
15
- return (config.title.toLowerCase().includes(q) ||
16
- (config.category?.toLowerCase().includes(q) ?? false) ||
17
- (config.tags?.some((t) => t.toLowerCase().includes(q)) ?? false));
18
- });
25
+ return all.filter((comp) => matchesQuery(q, comp.meta.showcaseConfig));
19
26
  }, /* @ts-ignore */
20
27
  ...(ngDevMode ? [{ debugName: "filteredComponents" }] : /* istanbul ignore next */ []));
28
+ filteredServices = computed(() => {
29
+ const q = this.query().toLowerCase().trim();
30
+ const all = this.manifestService.services();
31
+ if (!q)
32
+ return all;
33
+ return all.filter((service) => matchesQuery(q, service.meta.showcaseConfig, [service.meta.className]));
34
+ }, /* @ts-ignore */
35
+ ...(ngDevMode ? [{ debugName: "filteredServices" }] : /* istanbul ignore next */ []));
36
+ filteredPipes = computed(() => {
37
+ const q = this.query().toLowerCase().trim();
38
+ const all = this.manifestService.pipes();
39
+ if (!q)
40
+ return all;
41
+ return all.filter((pipe) => matchesQuery(q, pipe.meta.showcaseConfig, [pipe.meta.className, pipe.meta.pipeName]));
42
+ }, /* @ts-ignore */
43
+ ...(ngDevMode ? [{ debugName: "filteredPipes" }] : /* istanbul ignore next */ []));
21
44
  filteredPages = computed(() => {
22
45
  const q = this.query().toLowerCase().trim();
23
46
  const all = this.manifestService.pages();
@@ -2,9 +2,17 @@ import * as i0 from "@angular/core";
2
2
  export declare class PrismThemeService {
3
3
  readonly theme: import("@angular/core").WritableSignal<"light" | "dark">;
4
4
  readonly isDark: import("@angular/core").Signal<boolean>;
5
- private configOverrides;
6
- private darkOverrides;
7
- private lightOverrides;
5
+ private readonly overrides;
6
+ /** Every token of the active mode, including the user's overrides. */
7
+ readonly appTokens: import("@angular/core").Signal<Record<string, string>>;
8
+ /**
9
+ * The dark set, for the header: since 22.7 it is a navy brand band in both
10
+ * themes. Bound as an inline style on the header host, so tokens composed
11
+ * from others (tints, status surfaces) are evaluated there again rather than
12
+ * inherited already resolved against the light theme.
13
+ */
14
+ readonly headerTokens: import("@angular/core").Signal<Record<string, string>>;
15
+ private readonly warnedDeprecations;
8
16
  constructor();
9
17
  toggle(): void;
10
18
  applyConfigOverrides(config: {
@@ -1 +1 @@
1
- {"version":3,"file":"prism-theme.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-theme.service.ts"],"names":[],"mappings":";AAMA,qBACa,iBAAiB;IAC1B,QAAQ,CAAC,KAAK,2DAAoD;IAClE,QAAQ,CAAC,MAAM,0CAA2C;IAE1D,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,cAAc,CAA8B;;IAapD,MAAM,IAAI,IAAI;IAId,oBAAoB,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI;IAO/I,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,eAAe;yCA5Dd,iBAAiB;;CAsE7B"}
1
+ {"version":3,"file":"prism-theme.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-theme.service.ts"],"names":[],"mappings":";AAOA,qBACa,iBAAiB;IAC1B,QAAQ,CAAC,KAAK,2DAAoD;IAClE,QAAQ,CAAC,MAAM,0CAA2C;IAE1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD,sEAAsE;IACtE,QAAQ,CAAC,SAAS,yDAA6E;IAE/F;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,yDAAuE;IAE5F,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;;IAaxD,MAAM,IAAI,IAAI;IAId,oBAAoB,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI;IAK/I,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,eAAe;yCAjEd,iBAAiB;;CA2E7B"}