@ng-prism/core 22.2.1 → 22.3.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 (292) hide show
  1. package/README.md +22 -24
  2. package/builders.json +11 -11
  3. package/dist/app/canvas/canvas-bg.styles.d.ts +1 -1
  4. package/dist/app/canvas/canvas-bg.styles.d.ts.map +1 -1
  5. package/dist/app/canvas/canvas-bg.styles.js +17 -0
  6. package/dist/app/canvas/prism-canvas-bg-pill.component.d.ts.map +1 -1
  7. package/dist/app/canvas/prism-canvas-bg-pill.component.js +3 -18
  8. package/dist/app/canvas/prism-canvas-rulers.component.d.ts +1 -0
  9. package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -1
  10. package/dist/app/canvas/prism-canvas-rulers.component.js +9 -14
  11. package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +23 -6
  12. package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
  13. package/dist/app/canvas/prism-canvas-toolbar.component.js +110 -140
  14. package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
  15. package/dist/app/canvas/prism-template-popover.component.js +8 -49
  16. package/dist/app/canvas/viewport-snap.d.ts +12 -0
  17. package/dist/app/canvas/viewport-snap.d.ts.map +1 -0
  18. package/dist/app/canvas/viewport-snap.js +23 -0
  19. package/dist/app/component-head/head-metrics.d.ts.map +1 -1
  20. package/dist/app/component-head/head-metrics.js +2 -2
  21. package/dist/app/component-head/prism-component-head.component.d.ts +1 -1
  22. package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
  23. package/dist/app/component-head/prism-component-head.component.js +17 -50
  24. package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -1
  25. package/dist/app/component-head/prism-head-gauge.component.js +4 -36
  26. package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -1
  27. package/dist/app/component-head/prism-head-info.component.js +3 -36
  28. package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
  29. package/dist/app/component-head/prism-stat.component.js +3 -14
  30. package/dist/app/controls/boolean-control.component.d.ts.map +1 -1
  31. package/dist/app/controls/boolean-control.component.js +4 -12
  32. package/dist/app/controls/json-control.component.d.ts.map +1 -1
  33. package/dist/app/controls/json-control.component.js +4 -24
  34. package/dist/app/controls/number-control.component.d.ts.map +1 -1
  35. package/dist/app/controls/number-control.component.js +4 -11
  36. package/dist/app/controls/string-control.component.d.ts.map +1 -1
  37. package/dist/app/controls/string-control.component.js +4 -11
  38. package/dist/app/controls/union-control.component.d.ts.map +1 -1
  39. package/dist/app/controls/union-control.component.js +4 -16
  40. package/dist/app/directives/prism-resizer.directive.d.ts +24 -1
  41. package/dist/app/directives/prism-resizer.directive.d.ts.map +1 -1
  42. package/dist/app/directives/prism-resizer.directive.js +44 -7
  43. package/dist/app/directives/resize-value.d.ts +22 -0
  44. package/dist/app/directives/resize-value.d.ts.map +1 -0
  45. package/dist/app/directives/resize-value.js +23 -0
  46. package/dist/app/discovery-manifest.d.ts.map +1 -1
  47. package/dist/app/discovery-manifest.js +5 -7
  48. package/dist/app/header/prism-header-widget-host.component.d.ts.map +1 -1
  49. package/dist/app/header/prism-header-widget-host.component.js +4 -8
  50. package/dist/app/header/prism-header.component.d.ts.map +1 -1
  51. package/dist/app/header/prism-header.component.js +8 -77
  52. package/dist/app/hmr.d.ts.map +1 -1
  53. package/dist/app/icons/icon-registry.d.ts.map +1 -1
  54. package/dist/app/icons/icon-registry.js +2 -1
  55. package/dist/app/icons/prism-icon.component.d.ts.map +1 -1
  56. package/dist/app/icons/prism-icon.component.js +5 -5
  57. package/dist/app/index.d.ts +3 -3
  58. package/dist/app/index.d.ts.map +1 -1
  59. package/dist/app/index.js +3 -3
  60. package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
  61. package/dist/app/layout-menu/prism-layout-menu.component.js +3 -77
  62. package/dist/app/overview/overview-panel.js +1 -1
  63. package/dist/app/overview/overview-visibility.d.ts.map +1 -1
  64. package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
  65. package/dist/app/overview/prism-overview-cell.component.js +10 -17
  66. package/dist/app/overview/prism-overview.component.d.ts.map +1 -1
  67. package/dist/app/overview/prism-overview.component.js +4 -12
  68. package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -1
  69. package/dist/app/page-renderer/prism-page-renderer.component.js +4 -17
  70. package/dist/app/panels/a11y/a11y-audit.service.d.ts.map +1 -1
  71. package/dist/app/panels/a11y/a11y-audit.service.js +14 -2
  72. package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -1
  73. package/dist/app/panels/a11y/a11y-core.plugin.js +1 -1
  74. package/dist/app/panels/a11y/a11y-dom-utils.d.ts.map +1 -1
  75. package/dist/app/panels/a11y/a11y-dom-utils.js +9 -6
  76. package/dist/app/panels/a11y/a11y-header-badge.component.d.ts.map +1 -1
  77. package/dist/app/panels/a11y/a11y-header-badge.component.js +6 -22
  78. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts.map +1 -1
  79. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +6 -25
  80. package/dist/app/panels/a11y/a11y-keyboard.component.d.ts.map +1 -1
  81. package/dist/app/panels/a11y/a11y-keyboard.component.js +5 -36
  82. package/dist/app/panels/a11y/a11y-keyboard.service.d.ts.map +1 -1
  83. package/dist/app/panels/a11y/a11y-keyboard.service.js +2 -2
  84. package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
  85. package/dist/app/panels/a11y/a11y-overlay-host.component.js +5 -32
  86. package/dist/app/panels/a11y/a11y-panel-state.service.d.ts.map +1 -1
  87. package/dist/app/panels/a11y/a11y-panel.component.d.ts +1 -1
  88. package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
  89. package/dist/app/panels/a11y/a11y-panel.component.js +7 -69
  90. package/dist/app/panels/a11y/a11y-perspective.service.d.ts.map +1 -1
  91. package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
  92. package/dist/app/panels/a11y/a11y-score.component.js +4 -31
  93. package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts.map +1 -1
  94. package/dist/app/panels/a11y/a11y-sr-overlay.component.js +8 -28
  95. package/dist/app/panels/a11y/a11y-sr.component.d.ts.map +1 -1
  96. package/dist/app/panels/a11y/a11y-sr.component.js +5 -28
  97. package/dist/app/panels/a11y/a11y-sr.service.d.ts.map +1 -1
  98. package/dist/app/panels/a11y/a11y-sr.service.js +4 -7
  99. package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -1
  100. package/dist/app/panels/a11y/a11y-summary.js +2 -5
  101. package/dist/app/panels/a11y/a11y-thresholds.d.ts.map +1 -1
  102. package/dist/app/panels/a11y/a11y-thresholds.js +1 -1
  103. package/dist/app/panels/a11y/a11y-tree.component.d.ts.map +1 -1
  104. package/dist/app/panels/a11y/a11y-tree.component.js +9 -46
  105. package/dist/app/panels/a11y/a11y-tree.service.d.ts.map +1 -1
  106. package/dist/app/panels/a11y/a11y-tree.service.js +3 -5
  107. package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
  108. package/dist/app/panels/a11y/a11y-violations.component.js +7 -58
  109. package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -1
  110. package/dist/app/panels/builtin-header-widgets.js +2 -2
  111. package/dist/app/panels/builtin-navigation-decorations.d.ts.map +1 -1
  112. package/dist/app/panels/builtin-navigation-decorations.js +2 -2
  113. package/dist/app/panels/builtin-panels.d.ts.map +1 -1
  114. package/dist/app/panels/builtin-panels.js +2 -7
  115. package/dist/app/panels/controls/controls-plugin.js +3 -3
  116. package/dist/app/panels/controls/non-editable-input-types.d.ts.map +1 -1
  117. package/dist/app/panels/controls/non-editable-input-types.js +1 -5
  118. package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
  119. package/dist/app/panels/controls/prism-controls-panel.component.js +5 -95
  120. package/dist/app/panels/events/events-plugin.js +3 -3
  121. package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
  122. package/dist/app/panels/events/prism-events-panel.component.js +5 -23
  123. package/dist/app/panels/events/prism-json-node.component.d.ts.map +1 -1
  124. package/dist/app/panels/events/prism-json-node.component.js +4 -86
  125. package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -1
  126. package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
  127. package/dist/app/panels/panel-host/panel-badge.js +2 -4
  128. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +1 -1
  129. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -1
  130. package/dist/app/panels/panel-host/prism-panel-host.component.js +12 -67
  131. package/dist/app/provide-prism.d.ts +1 -1
  132. package/dist/app/provide-prism.d.ts.map +1 -1
  133. package/dist/app/provide-prism.js +7 -11
  134. package/dist/app/renderer/known-inputs.d.ts.map +1 -1
  135. package/dist/app/renderer/overlay-resolver.d.ts.map +1 -1
  136. package/dist/app/renderer/overlay-resolver.js +1 -1
  137. package/dist/app/renderer/prism-renderer.component.d.ts +27 -2
  138. package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
  139. package/dist/app/renderer/prism-renderer.component.js +94 -76
  140. package/dist/app/renderer/projectable-content.d.ts.map +1 -1
  141. package/dist/app/renderer/projectable-content.js +1 -3
  142. package/dist/app/renderer/snippet-generator.d.ts +1 -1
  143. package/dist/app/renderer/snippet-generator.d.ts.map +1 -1
  144. package/dist/app/renderer/snippet-generator.js +7 -22
  145. package/dist/app/services/navigation-item.types.d.ts +1 -1
  146. package/dist/app/services/navigation-item.types.d.ts.map +1 -1
  147. package/dist/app/services/prism-canvas.service.d.ts +22 -0
  148. package/dist/app/services/prism-canvas.service.d.ts.map +1 -1
  149. package/dist/app/services/prism-canvas.service.js +49 -2
  150. package/dist/app/services/prism-capture.service.d.ts.map +1 -1
  151. package/dist/app/services/prism-capture.service.js +2 -6
  152. package/dist/app/services/prism-event-log.service.d.ts.map +1 -1
  153. package/dist/app/services/prism-event-log.service.js +1 -4
  154. package/dist/app/services/prism-layout.service.d.ts.map +1 -1
  155. package/dist/app/services/prism-layout.service.js +5 -4
  156. package/dist/app/services/prism-manifest.service.d.ts +1 -1
  157. package/dist/app/services/prism-manifest.service.d.ts.map +1 -1
  158. package/dist/app/services/prism-manifest.service.js +1 -1
  159. package/dist/app/services/prism-navigation.service.d.ts +1 -1
  160. package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
  161. package/dist/app/services/prism-navigation.service.js +5 -13
  162. package/dist/app/services/prism-panel.service.d.ts.map +1 -1
  163. package/dist/app/services/prism-panel.service.js +2 -5
  164. package/dist/app/services/prism-persistence.service.d.ts.map +1 -1
  165. package/dist/app/services/prism-persistence.service.js +8 -10
  166. package/dist/app/services/prism-plugin.service.d.ts.map +1 -1
  167. package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
  168. package/dist/app/services/prism-renderer.service.js +5 -9
  169. package/dist/app/services/prism-search.service.d.ts.map +1 -1
  170. package/dist/app/services/prism-search.service.js +1 -2
  171. package/dist/app/services/prism-theme.service.d.ts.map +1 -1
  172. package/dist/app/services/prism-theme.service.js +6 -4
  173. package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
  174. package/dist/app/services/prism-url-state.service.js +3 -9
  175. package/dist/app/services/prism-variant-bg.service.d.ts.map +1 -1
  176. package/dist/app/services/prism-variant-bg.service.js +3 -5
  177. package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -1
  178. package/dist/app/shared/prism-metric-badge.component.js +4 -17
  179. package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
  180. package/dist/app/shell/prism-shell.component.js +20 -122
  181. package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -1
  182. package/dist/app/sidebar/navigation-decorations.js +1 -1
  183. package/dist/app/sidebar/prism-sidebar.component.d.ts +1 -1
  184. package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
  185. package/dist/app/sidebar/prism-sidebar.component.js +19 -154
  186. package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
  187. package/dist/app/theme/prism-default-theme.js +5 -5
  188. package/dist/app/tokens/prism-tokens.d.ts.map +1 -1
  189. package/dist/app/tokens/prism-tokens.js +1 -1
  190. package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
  191. package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +4 -49
  192. package/dist/app/variant-ribbon/spectrum.d.ts.map +1 -1
  193. package/dist/app/view-tab-bar/next-view-id.d.ts.map +1 -1
  194. package/dist/app/view-tab-bar/next-view-id.js +1 -3
  195. package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -1
  196. package/dist/app/view-tab-bar/prism-view-panel-host.component.js +5 -17
  197. package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
  198. package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +4 -27
  199. package/dist/builder/a11y/a11y-report-reader.d.ts +1 -1
  200. package/dist/builder/a11y/a11y-report-reader.d.ts.map +1 -1
  201. package/dist/builder/a11y/a11y-report-reader.js +7 -7
  202. package/dist/builder/build/index.d.ts.map +1 -1
  203. package/dist/builder/build/index.js +5 -9
  204. package/dist/builder/build/schema.d.ts.map +1 -1
  205. package/dist/builder/config-loader/config-loader.d.ts.map +1 -1
  206. package/dist/builder/config-loader/config-loader.js +4 -5
  207. package/dist/builder/manifest/host-parser.d.ts.map +1 -1
  208. package/dist/builder/manifest/host-parser.js +1 -1
  209. package/dist/builder/manifest/runtime-manifest.generator.d.ts +1 -1
  210. package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
  211. package/dist/builder/manifest/runtime-manifest.generator.js +9 -34
  212. package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
  213. package/dist/builder/plugin-runner/plugin-runner.js +1 -3
  214. package/dist/builder/scanner/ast-utils.d.ts.map +1 -1
  215. package/dist/builder/scanner/ast-utils.js +2 -8
  216. package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
  217. package/dist/builder/scanner/component.scanner.js +15 -22
  218. package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -1
  219. package/dist/builder/scanner/entry-point-discovery.js +3 -5
  220. package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -1
  221. package/dist/builder/scanner/entry-point.scanner.js +1 -3
  222. package/dist/builder/scanner/index.d.ts +1 -1
  223. package/dist/builder/scanner/index.d.ts.map +1 -1
  224. package/dist/builder/scanner/input.extractor.d.ts.map +1 -1
  225. package/dist/builder/scanner/input.extractor.js +11 -28
  226. package/dist/builder/scanner/manifest.generator.d.ts.map +1 -1
  227. package/dist/builder/scanner/manifest.generator.js +2 -4
  228. package/dist/builder/scanner/scanner.d.ts.map +1 -1
  229. package/dist/builder/scanner/scanner.js +4 -4
  230. package/dist/builder/serve/index.d.ts.map +1 -1
  231. package/dist/builder/serve/index.js +8 -10
  232. package/dist/builder/serve/schema.d.ts.map +1 -1
  233. package/dist/builder/shared/index.d.ts +1 -1
  234. package/dist/builder/shared/index.d.ts.map +1 -1
  235. package/dist/builder/shared/index.js +1 -1
  236. package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
  237. package/dist/builder/shared/prism-pipeline.js +18 -25
  238. package/dist/builder/shared/resolve-cache-dir.d.ts.map +1 -1
  239. package/dist/builder/shared/resolve-cache-dir.js +1 -1
  240. package/dist/builder/watcher/index.d.ts +1 -1
  241. package/dist/builder/watcher/index.d.ts.map +1 -1
  242. package/dist/builder/watcher/prism-watcher.d.ts.map +1 -1
  243. package/dist/builder/watcher/prism-watcher.js +12 -10
  244. package/dist/config/index.d.ts +2 -2
  245. package/dist/config/index.d.ts.map +1 -1
  246. package/dist/config/index.js +1 -1
  247. package/dist/decorator/index.d.ts +1 -1
  248. package/dist/decorator/index.d.ts.map +1 -1
  249. package/dist/decorator/showcase.decorator.d.ts.map +1 -1
  250. package/dist/decorator/showcase.types.d.ts.map +1 -1
  251. package/dist/plugin/index.d.ts +4 -4
  252. package/dist/plugin/index.d.ts.map +1 -1
  253. package/dist/plugin/index.js +2 -2
  254. package/dist/plugin/page-helpers.d.ts +1 -1
  255. package/dist/plugin/page-helpers.d.ts.map +1 -1
  256. package/dist/plugin/page-helpers.js +2 -2
  257. package/dist/plugin/page.types.d.ts.map +1 -1
  258. package/dist/plugin/plugin.types.d.ts +1 -1
  259. package/dist/plugin/plugin.types.d.ts.map +1 -1
  260. package/dist/schematics/migrations/v21-13-manifest-cache/index.d.ts.map +1 -1
  261. package/dist/schematics/migrations/v21-13-manifest-cache/index.js +4 -10
  262. package/dist/schematics/migrations/v22-0-cache-dir-rename/index.d.ts.map +1 -1
  263. package/dist/schematics/migrations/v22-0-cache-dir-rename/index.js +4 -8
  264. package/dist/schematics/ng-add/index.d.ts.map +1 -1
  265. package/dist/schematics/ng-add/index.js +122 -56
  266. package/dist/schematics/ng-add/schema.d.ts.map +1 -1
  267. package/dist/schematics/utils/config-ast.d.ts.map +1 -1
  268. package/dist/schematics/utils/config-ast.js +8 -15
  269. package/dist/schematics/utils/tsconfig-paths.d.ts.map +1 -1
  270. package/dist/schematics/utils/tsconfig-paths.js +1 -1
  271. package/dist/shared/canvas-bg.type.d.ts.map +1 -1
  272. package/dist/shared/canvas-bg.type.js +1 -8
  273. package/dist/shared/canvas-layout.type.d.ts.map +1 -1
  274. package/dist/shared/canvas-layout.type.js +1 -4
  275. package/dist/shared/variant-bg.d.ts.map +1 -1
  276. package/dist/shared/viewport.type.d.ts +47 -0
  277. package/dist/shared/viewport.type.d.ts.map +1 -0
  278. package/dist/shared/viewport.type.js +48 -0
  279. package/dist/transformer/cli.js +0 -0
  280. package/dist/transformer/index.d.ts +2 -2
  281. package/dist/transformer/index.d.ts.map +1 -1
  282. package/dist/transformer/index.js +2 -2
  283. package/dist/transformer/showcase-strip.transformer.d.ts.map +1 -1
  284. package/dist/transformer/showcase-strip.transformer.js +6 -15
  285. package/dist/transformer/strip-directory.d.ts.map +1 -1
  286. package/dist/transformer/strip-directory.js +2 -4
  287. package/package.json +4 -1
  288. package/schematics/collection.json +7 -7
  289. package/schematics/migrations.json +12 -12
  290. package/schematics/ng-add/schema.json +22 -22
  291. package/src/builder/build/schema.json +36 -36
  292. package/src/builder/serve/schema.json +37 -37
@@ -29,8 +29,8 @@ export const PRISM_DARK_THEME = {
29
29
  '--prism-mark-nominal': '#34d399',
30
30
  '--prism-mark-attention': '#e8a33d',
31
31
  '--prism-mark-critical': '#e5484d',
32
- '--prism-measure': '#22d3ee',
33
- '--prism-spectrum': 'linear-gradient(90deg, var(--prism-accent), var(--prism-primary), var(--prism-primary-to))',
32
+ '--prism-measure': '#41bcff',
33
+ '--prism-spectrum': 'linear-gradient(90deg, var(--prism-accent), var(--prism-primary), var(--prism-primary-to))'
34
34
  };
35
35
  export const PRISM_LIGHT_THEME = {
36
36
  '--prism-code-tag': '#be185d',
@@ -63,8 +63,8 @@ export const PRISM_LIGHT_THEME = {
63
63
  '--prism-mark-nominal': '#047857',
64
64
  '--prism-mark-attention': '#8f6b00',
65
65
  '--prism-mark-critical': '#951226',
66
- '--prism-measure': '#0b93ad',
67
- '--prism-spectrum': 'linear-gradient(90deg, var(--prism-accent), var(--prism-primary), var(--prism-primary-to))',
66
+ '--prism-measure': '#004d8a',
67
+ '--prism-spectrum': 'linear-gradient(90deg, var(--prism-accent), var(--prism-primary), var(--prism-primary-to))'
68
68
  };
69
69
  export const PRISM_BASE_TOKENS = {
70
70
  '--font-sans': "'Inter', system-ui, sans-serif",
@@ -114,6 +114,6 @@ export const PRISM_BASE_TOKENS = {
114
114
  */
115
115
  '--prism-header-height': 'var(--band-header)',
116
116
  '--prism-font-sans': 'var(--font-sans)',
117
- '--prism-font-mono': 'var(--font-mono)',
117
+ '--prism-font-mono': 'var(--font-mono)'
118
118
  };
119
119
  export const PRISM_DEFAULT_THEME = PRISM_DARK_THEME;
@@ -1 +1 @@
1
- {"version":3,"file":"prism-tokens.d.ts","sourceRoot":"","sources":["../../../src/app/tokens/prism-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,cAAc,iCAAwD,CAAC;AAEpF,eAAO,MAAM,YAAY,+BAGvB,CAAC;AAEH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,oBAAoB,oCAC+B,CAAC;AAEjE,eAAO,MAAM,oBAAoB,mCAGhC,CAAC"}
1
+ {"version":3,"file":"prism-tokens.d.ts","sourceRoot":"","sources":["../../../src/app/tokens/prism-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpG,eAAO,MAAM,cAAc,iCAAwD,CAAC;AAEpF,eAAO,MAAM,YAAY,+BAGvB,CAAC;AAEH,MAAM,WAAW,kBAAkB;IAC/B,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,eAAO,MAAM,oBAAoB,oCAAiE,CAAC;AAEnG,eAAO,MAAM,oBAAoB,mCAA2G,CAAC"}
@@ -2,7 +2,7 @@ import { InjectionToken } from '@angular/core';
2
2
  export const PRISM_MANIFEST = new InjectionToken('PRISM_MANIFEST');
3
3
  export const PRISM_CONFIG = new InjectionToken('PRISM_CONFIG', {
4
4
  providedIn: 'root',
5
- factory: () => ({}),
5
+ factory: () => ({})
6
6
  });
7
7
  export const PRISM_RENDERER_HOOKS = new InjectionToken('PRISM_RENDERER_HOOKS');
8
8
  export const PRISM_BUILTIN_PANELS = new InjectionToken('PRISM_BUILTIN_PANELS', { providedIn: 'root', factory: () => [] });
@@ -1 +1 @@
1
- {"version":3,"file":"prism-variant-ribbon.component.d.ts","sourceRoot":"","sources":["../../../src/app/variant-ribbon/prism-variant-ribbon.component.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;;AAG7E,qBAwJa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,SAAS,CAAC,QAAQ,CAAC,eAAe,uBAAgC;IAElE,OAAO,CAAC,QAAQ,CAAC,aAAa,CACwB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CACgC;IAE3D,SAAS,CAAC,QAAQ,CAAC,QAAQ,8EAGxB;;IAsBH,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAIvD,SAAS,CAAC,IAAI,IAAI,IAAI;IAKtB,SAAS,CAAC,IAAI,IAAI,IAAI;yCA3CX,2BAA2B;2CAA3B,2BAA2B;CAgDvC"}
1
+ {"version":3,"file":"prism-variant-ribbon.component.d.ts","sourceRoot":"","sources":["../../../src/app/variant-ribbon/prism-variant-ribbon.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;;AAG7E,qBAQa,2BAA2B;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,SAAS,CAAC,QAAQ,CAAC,eAAe,uBAAgC;IAElE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuD;IACrF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4D;IAEvF,SAAS,CAAC,QAAQ,CAAC,QAAQ,8EAIxB;;IAuBH,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAIvD,SAAS,CAAC,IAAI,IAAI,IAAI;IAMtB,SAAS,CAAC,IAAI,IAAI,IAAI;yCA5Cb,2BAA2B;2CAA3B,2BAA2B;CAiDvC"}
@@ -1,4 +1,4 @@
1
- import { Component, inject, computed, effect, viewChild, viewChildren, ChangeDetectionStrategy, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, effect, inject, viewChild, viewChildren } from '@angular/core';
2
2
  import { PrismIconComponent } from '../icons/prism-icon.component.js';
3
3
  import { PrismNavigationService } from '../services/prism-navigation.service.js';
4
4
  import { PrismRendererService } from '../services/prism-renderer.service.js';
@@ -101,55 +101,10 @@ export class PrismVariantRibbonComponent {
101
101
  i0.ɵɵconditionalCreate(0, PrismVariantRibbonComponent_Conditional_0_Template, 10, 4, "nav", 2);
102
102
  } if (rf & 2) {
103
103
  i0.ɵɵconditional(ctx.variants().length > 0 ? 0 : -1);
104
- } }, dependencies: [PrismIconComponent], styles: ["[_nghost-%COMP%] { display: block; flex-shrink: 0; }\n\n .variant-ribbon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 0 var(--%NS%sp-5);\n background: var(--%NS%prism-bg);\n border-bottom: 1px solid var(--%NS%prism-border);\n height: var(--%NS%band-rail);\n }\n\n .variant-ribbon-tabs[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 2px;\n height: 100%;\n overflow-x: auto;\n scrollbar-width: none;\n }\n .variant-ribbon-tabs[_ngcontent-%COMP%]::-webkit-scrollbar { display: none; }\n\n .v-tab[_ngcontent-%COMP%] {\n position: relative;\n height: 100%;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 0 14px;\n font-size: 13px;\n font-weight: 500;\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n transition: color var(--%NS%dur-fast);\n background: none;\n border: none;\n cursor: pointer;\n font-family: var(--%NS%font-sans);\n }\n \n\n\n .v-tab[_ngcontent-%COMP%]::after {\n content: '';\n position: absolute;\n left: var(--%NS%sp-3);\n right: var(--%NS%sp-3);\n bottom: 0;\n height: 2px;\n border-radius: 2px;\n background: var(--%NS%prism-spectrum);\n background-size: calc(var(--%NS%n) * 100%) 100%;\n background-position: calc(var(--%NS%i) / (var(--%NS%n) - 1) * 100%) 0;\n opacity: 0;\n transition: opacity var(--%NS%dur-fast) var(--%NS%ease-default);\n }\n .v-tab[_ngcontent-%COMP%]:hover { color: var(--%NS%prism-text-2); }\n .v-tab--active[_ngcontent-%COMP%] { color: var(--%NS%prism-text); }\n .v-tab--%NS%active[_ngcontent-%COMP%]::after { opacity: 1; }\n .v-tab[_ngcontent-%COMP%]:hover::after { opacity: 0.4; }\n\n .variant-ribbon-right[_ngcontent-%COMP%] {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n padding-left: 12px;\n margin-left: 12px;\n border-left: 1px solid var(--%NS%prism-border);\n height: 24px;\n }\n\n .tool-btn[_ngcontent-%COMP%] {\n height: 24px;\n width: 24px;\n display: grid;\n place-items: center;\n border-radius: var(--%NS%radius-sm);\n color: var(--%NS%prism-text-muted);\n background: none;\n border: none;\n cursor: pointer;\n transition: all var(--%NS%dur-fast);\n }\n .tool-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n color: var(--%NS%prism-text);\n background: color-mix(in srgb, var(--%NS%prism-primary) 8%, transparent);\n }\n .tool-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.3;\n cursor: default;\n }\n\n [_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n }"] });
104
+ } }, dependencies: [PrismIconComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n flex-shrink: 0;\n}\n\n.variant-ribbon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n height: var(--%NS%band-rail);\n padding: 0 var(--%NS%sp-5);\n background: var(--%NS%prism-bg);\n border-bottom: 1px solid var(--%NS%prism-border);\n}\n\n.variant-ribbon-tabs[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n gap: 2px;\n align-items: center;\n min-width: 0;\n height: 100%;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n.variant-ribbon-tabs[_ngcontent-%COMP%]::-webkit-scrollbar {\n display: none;\n}\n\n.v-tab[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n gap: 8px;\n align-items: center;\n height: 100%;\n padding: 0 14px;\n font-family: var(--%NS%font-sans);\n font-size: 13px;\n font-weight: 500;\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: none;\n transition: color var(--%NS%dur-fast);\n}\n\n\n\n\n.v-tab[_ngcontent-%COMP%]::after {\n position: absolute;\n right: var(--%NS%sp-3);\n bottom: 0;\n left: var(--%NS%sp-3);\n height: 2px;\n content: '';\n background: var(--%NS%prism-spectrum);\n background-position: calc(var(--%NS%i) / (var(--%NS%n) - 1) * 100%) 0;\n background-size: calc(var(--%NS%n) * 100%) 100%;\n border-radius: 2px;\n opacity: 0;\n transition: opacity var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.v-tab[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n}\n\n.v-tab--active[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text);\n}\n\n.v-tab--%NS%active[_ngcontent-%COMP%]::after {\n opacity: 1;\n}\n\n.v-tab[_ngcontent-%COMP%]:hover::after {\n opacity: 0.4;\n}\n\n.variant-ribbon-right[_ngcontent-%COMP%] {\n display: flex;\n flex-shrink: 0;\n gap: 8px;\n align-items: center;\n height: 24px;\n padding-left: 12px;\n margin-left: 12px;\n border-left: 1px solid var(--%NS%prism-border);\n}\n\n.tool-btn[_ngcontent-%COMP%] {\n display: grid;\n place-items: center;\n width: 24px;\n height: 24px;\n color: var(--%NS%prism-text-muted);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: var(--%NS%radius-sm);\n transition: all var(--%NS%dur-fast);\n}\n\n.tool-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n color: var(--%NS%prism-text);\n background: color-mix(in srgb, var(--%NS%prism-primary) 8%, transparent);\n}\n\n.tool-btn[_ngcontent-%COMP%]:disabled {\n cursor: default;\n opacity: 0.3;\n}\n\n[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n}"] });
105
105
  }
106
106
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismVariantRibbonComponent, [{
107
107
  type: Component,
108
- args: [{ selector: 'prism-variant-ribbon', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: `
109
- @if (variants().length > 0) {
110
- <nav class="variant-ribbon">
111
- <div class="variant-ribbon-tabs" #tabsContainer>
112
- @for (v of variants(); track v.name; let i = $index) {
113
- <button
114
- #tabButton
115
- class="v-tab"
116
- [class.v-tab--active]="rendererService.activeVariantIndex() === i"
117
- [style.--i]="slot(i).i"
118
- [style.--n]="slot(i).n"
119
- (click)="rendererService.selectVariant(i)"
120
- >
121
- {{ v.name }}
122
- </button>
123
- }
124
- </div>
125
- <div class="variant-ribbon-right">
126
- <button
127
- class="tool-btn"
128
- title="Previous variant"
129
- aria-label="Previous variant"
130
- [disabled]="rendererService.activeVariantIndex() === 0"
131
- (click)="prev()"
132
- >
133
- <prism-icon
134
- name="chevron-right"
135
- [size]="14"
136
- style="transform: rotate(180deg)"
137
- />
138
- </button>
139
- <button
140
- class="tool-btn"
141
- title="Next variant"
142
- aria-label="Next variant"
143
- [disabled]="
144
- rendererService.activeVariantIndex() >= variants().length - 1
145
- "
146
- (click)="next()"
147
- >
148
- <prism-icon name="chevron-right" [size]="14" />
149
- </button>
150
- </div>
151
- </nav>
152
- }
153
- `, styles: ["\n :host { display: block; flex-shrink: 0; }\n\n .variant-ribbon {\n display: flex;\n align-items: center;\n padding: 0 var(--sp-5);\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n height: var(--band-rail);\n }\n\n .variant-ribbon-tabs {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 2px;\n height: 100%;\n overflow-x: auto;\n scrollbar-width: none;\n }\n .variant-ribbon-tabs::-webkit-scrollbar { display: none; }\n\n .v-tab {\n position: relative;\n height: 100%;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 0 14px;\n font-size: 13px;\n font-weight: 500;\n color: var(--prism-text-muted);\n white-space: nowrap;\n transition: color var(--dur-fast);\n background: none;\n border: none;\n cursor: pointer;\n font-family: var(--font-sans);\n }\n /* Colour as position, not assignment: each tab shows the slice of one\n broken spectrum that corresponds to where it sits in the sequence. Nine\n arbitrary hues used to say nothing at all; this says \"you are here\". */\n .v-tab::after {\n content: '';\n position: absolute;\n left: var(--sp-3);\n right: var(--sp-3);\n bottom: 0;\n height: 2px;\n border-radius: 2px;\n background: var(--prism-spectrum);\n background-size: calc(var(--n) * 100%) 100%;\n background-position: calc(var(--i) / (var(--n) - 1) * 100%) 0;\n opacity: 0;\n transition: opacity var(--dur-fast) var(--ease-default);\n }\n .v-tab:hover { color: var(--prism-text-2); }\n .v-tab--active { color: var(--prism-text); }\n .v-tab--active::after { opacity: 1; }\n .v-tab:hover::after { opacity: 0.4; }\n\n .variant-ribbon-right {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n padding-left: 12px;\n margin-left: 12px;\n border-left: 1px solid var(--prism-border);\n height: 24px;\n }\n\n .tool-btn {\n height: 24px;\n width: 24px;\n display: grid;\n place-items: center;\n border-radius: var(--radius-sm);\n color: var(--prism-text-muted);\n background: none;\n border: none;\n cursor: pointer;\n transition: all var(--dur-fast);\n }\n .tool-btn:hover:not(:disabled) {\n color: var(--prism-text);\n background: color-mix(in srgb, var(--prism-primary) 8%, transparent);\n }\n .tool-btn:disabled {\n opacity: 0.3;\n cursor: default;\n }\n\n :focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n }\n "] }]
108
+ args: [{ selector: 'prism-variant-ribbon', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "@if (variants().length > 0) {\n <nav class=\"variant-ribbon\">\n <div\n class=\"variant-ribbon-tabs\"\n #tabsContainer>\n @for (v of variants(); track v.name; let i = $index) {\n <button\n #tabButton\n class=\"v-tab\"\n [class.v-tab--active]=\"rendererService.activeVariantIndex() === i\"\n [style.--i]=\"slot(i).i\"\n [style.--n]=\"slot(i).n\"\n (click)=\"rendererService.selectVariant(i)\">\n {{ v.name }}\n </button>\n }\n </div>\n <div class=\"variant-ribbon-right\">\n <button\n class=\"tool-btn\"\n title=\"Previous variant\"\n aria-label=\"Previous variant\"\n [disabled]=\"rendererService.activeVariantIndex() === 0\"\n (click)=\"prev()\">\n <prism-icon\n name=\"chevron-right\"\n [size]=\"14\"\n style=\"transform: rotate(180deg)\" />\n </button>\n <button\n class=\"tool-btn\"\n title=\"Next variant\"\n aria-label=\"Next variant\"\n [disabled]=\"rendererService.activeVariantIndex() >= variants().length - 1\"\n (click)=\"next()\">\n <prism-icon\n name=\"chevron-right\"\n [size]=\"14\" />\n </button>\n </div>\n </nav>\n}\n", styles: [":host {\n display: block;\n flex-shrink: 0;\n}\n\n.variant-ribbon {\n display: flex;\n align-items: center;\n height: var(--band-rail);\n padding: 0 var(--sp-5);\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n}\n\n.variant-ribbon-tabs {\n display: flex;\n flex: 1;\n gap: 2px;\n align-items: center;\n min-width: 0;\n height: 100%;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n.variant-ribbon-tabs::-webkit-scrollbar {\n display: none;\n}\n\n.v-tab {\n position: relative;\n display: flex;\n gap: 8px;\n align-items: center;\n height: 100%;\n padding: 0 14px;\n font-family: var(--font-sans);\n font-size: 13px;\n font-weight: 500;\n color: var(--prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: none;\n transition: color var(--dur-fast);\n}\n\n/* Colour as position, not assignment: each tab shows the slice of one\n broken spectrum that corresponds to where it sits in the sequence. Nine\n arbitrary hues used to say nothing at all; this says \"you are here\". */\n.v-tab::after {\n position: absolute;\n right: var(--sp-3);\n bottom: 0;\n left: var(--sp-3);\n height: 2px;\n content: '';\n background: var(--prism-spectrum);\n background-position: calc(var(--i) / (var(--n) - 1) * 100%) 0;\n background-size: calc(var(--n) * 100%) 100%;\n border-radius: 2px;\n opacity: 0;\n transition: opacity var(--dur-fast) var(--ease-default);\n}\n\n.v-tab:hover {\n color: var(--prism-text-2);\n}\n\n.v-tab--active {\n color: var(--prism-text);\n}\n\n.v-tab--active::after {\n opacity: 1;\n}\n\n.v-tab:hover::after {\n opacity: 0.4;\n}\n\n.variant-ribbon-right {\n display: flex;\n flex-shrink: 0;\n gap: 8px;\n align-items: center;\n height: 24px;\n padding-left: 12px;\n margin-left: 12px;\n border-left: 1px solid var(--prism-border);\n}\n\n.tool-btn {\n display: grid;\n place-items: center;\n width: 24px;\n height: 24px;\n color: var(--prism-text-muted);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: var(--radius-sm);\n transition: all var(--dur-fast);\n}\n\n.tool-btn:hover:not(:disabled) {\n color: var(--prism-text);\n background: color-mix(in srgb, var(--prism-primary) 8%, transparent);\n}\n\n.tool-btn:disabled {\n cursor: default;\n opacity: 0.3;\n}\n\n:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n}\n"] }]
154
109
  }], () => [], { tabsContainer: [{ type: i0.ViewChild, args: ['tabsContainer', { isSignal: true }] }], tabButtons: [{ type: i0.ViewChildren, args: ['tabButton', { isSignal: true }] }] }); })();
155
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismVariantRibbonComponent, { className: "PrismVariantRibbonComponent", filePath: "app/variant-ribbon/prism-variant-ribbon.component.ts", lineNumber: 168 }); })();
110
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismVariantRibbonComponent, { className: "PrismVariantRibbonComponent", filePath: "app/variant-ribbon/prism-variant-ribbon.component.ts", lineNumber: 15 }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"spectrum.d.ts","sourceRoot":"","sources":["../../../src/app/variant-ribbon/spectrum.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,sCAAsC;IACtC,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAIvE"}
1
+ {"version":3,"file":"spectrum.d.ts","sourceRoot":"","sources":["../../../src/app/variant-ribbon/spectrum.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,WAAW,YAAY;IACzB,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,sCAAsC;IACtC,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAKvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"next-view-id.d.ts","sourceRoot":"","sources":["../../../src/app/view-tab-bar/next-view-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,SAAS,eAAe,EAAE,GAC5C,MAAM,GAAG,IAAI,CAKf"}
1
+ {"version":3,"file":"next-view-id.d.ts","sourceRoot":"","sources":["../../../src/app/view-tab-bar/next-view-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,GAAG,IAAI,CAG7G"}
@@ -10,7 +10,5 @@
10
10
  export function nextViewId(activeViewId, visibleViewPanels) {
11
11
  if (activeViewId === 'renderer')
12
12
  return null;
13
- return visibleViewPanels.some((p) => p.id === activeViewId)
14
- ? null
15
- : 'renderer';
13
+ return visibleViewPanels.some((p) => p.id === activeViewId) ? null : 'renderer';
16
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prism-view-panel-host.component.d.ts","sourceRoot":"","sources":["../../../src/app/view-tab-bar/prism-view-panel-host.component.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,mBAAmB,EAEnB,SAAS,EAET,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AAEvE,qBA2Ba,2BAA4B,YAAW,SAAS;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkC;IACtD,SAAS,CAAC,QAAQ,CAAC,YAAY,oBAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAE3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAE9D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,+DAAsC;IAC1E,SAAS,CAAC,QAAQ,CAAC,WAAW;;OAE1B;IAEJ,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IAExE,SAAS,CAAC,QAAQ,CAAC,cAAc,sDAgB9B;;IAkCH,WAAW,IAAI,IAAI;yCAjER,2BAA2B;2CAA3B,2BAA2B;CAoEvC"}
1
+ {"version":3,"file":"prism-view-panel-host.component.d.ts","sourceRoot":"","sources":["../../../src/app/view-tab-bar/prism-view-panel-host.component.ts"],"names":[],"mappings":"AACA,OAAO,EAA0D,mBAAmB,EAAU,SAAS,EAAU,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAElJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AAEvE,qBAOa,2BAA4B,YAAW,SAAS;IACzD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkC;IACtD,SAAS,CAAC,QAAQ,CAAC,YAAY,oBAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAE3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAE9D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,+DAAsC;IAC1E,SAAS,CAAC,QAAQ,CAAC,WAAW;;OAE1B;IAEJ,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IAExE,SAAS,CAAC,QAAQ,CAAC,cAAc,sDAU9B;;IAiCH,WAAW,IAAI,IAAI;yCA1DV,2BAA2B;2CAA3B,2BAA2B;CA6DvC"}
@@ -1,5 +1,5 @@
1
1
  import { NgComponentOutlet } from '@angular/common';
2
- import { Component, computed, createEnvironmentInjector, effect, EnvironmentInjector, inject, signal, } from '@angular/core';
2
+ import { Component, computed, createEnvironmentInjector, effect, EnvironmentInjector, inject, signal } from '@angular/core';
3
3
  import { PrismNavigationService } from '../services/prism-navigation.service.js';
4
4
  import { PrismPanelService } from '../services/prism-panel.service.js';
5
5
  import * as i0 from "@angular/core";
@@ -20,7 +20,7 @@ export class PrismViewPanelHostComponent {
20
20
  resolvedComponent = signal(null, /* @ts-ignore */
21
21
  ...(ngDevMode ? [{ debugName: "resolvedComponent" }] : /* istanbul ignore next */ []));
22
22
  panelInputs = computed(() => ({
23
- activeComponent: this.nav.activeComponent(),
23
+ activeComponent: this.nav.activeComponent()
24
24
  }), /* @ts-ignore */
25
25
  ...(ngDevMode ? [{ debugName: "panelInputs" }] : /* istanbul ignore next */ []));
26
26
  lazyCache = new Map();
@@ -72,22 +72,10 @@ export class PrismViewPanelHostComponent {
72
72
  } if (rf & 2) {
73
73
  i0.ɵɵadvance();
74
74
  i0.ɵɵconditional(ctx.resolvedComponent() ? 1 : -1);
75
- } }, dependencies: [NgComponentOutlet], styles: [".prism-view-panel-host[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: auto;\n background: var(--%NS%prism-bg-elevated);\n }"] });
75
+ } }, dependencies: [NgComponentOutlet], styles: [".prism-view-panel-host[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: auto;\n background: var(--%NS%prism-bg-elevated);\n}"] });
76
76
  }
77
77
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismViewPanelHostComponent, [{
78
78
  type: Component,
79
- args: [{ selector: 'prism-view-panel-host', standalone: true, imports: [NgComponentOutlet], template: `
80
- <div class="prism-view-panel-host">
81
- @if (resolvedComponent()) {
82
- <ng-container
83
- *ngComponentOutlet="
84
- resolvedComponent();
85
- inputs: panelInputs();
86
- injector: activeInjector()
87
- "
88
- />
89
- }
90
- </div>
91
- `, styles: ["\n .prism-view-panel-host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: auto;\n background: var(--prism-bg-elevated);\n }\n "] }]
79
+ args: [{ selector: 'prism-view-panel-host', standalone: true, imports: [NgComponentOutlet], template: "<div class=\"prism-view-panel-host\">\n @if (resolvedComponent()) {\n <ng-container *ngComponentOutlet=\"resolvedComponent(); inputs: panelInputs(); injector: activeInjector()\" />\n }\n</div>\n", styles: [".prism-view-panel-host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: auto;\n background: var(--prism-bg-elevated);\n}\n"] }]
92
80
  }], () => [], null); })();
93
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewPanelHostComponent, { className: "PrismViewPanelHostComponent", filePath: "app/view-tab-bar/prism-view-panel-host.component.ts", lineNumber: 43 }); })();
81
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewPanelHostComponent, { className: "PrismViewPanelHostComponent", filePath: "app/view-tab-bar/prism-view-panel-host.component.ts", lineNumber: 13 }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"prism-view-tab-bar.component.d.ts","sourceRoot":"","sources":["../../../src/app/view-tab-bar/prism-view-tab-bar.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AAEvE,qBAgEa,wBAAwB;IACnC,SAAS,CAAC,QAAQ,CAAC,YAAY,oBAA6B;IAE5D,SAAS,CAAC,QAAQ,CAAC,UAAU,6EAAuC;yCAHzD,wBAAwB;2CAAxB,wBAAwB;CAIpC"}
1
+ {"version":3,"file":"prism-view-tab-bar.component.d.ts","sourceRoot":"","sources":["../../../src/app/view-tab-bar/prism-view-tab-bar.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AAEvE,qBAOa,wBAAwB;IACjC,SAAS,CAAC,QAAQ,CAAC,YAAY,oBAA6B;IAE5D,SAAS,CAAC,QAAQ,CAAC,UAAU,6EAAuC;yCAH3D,wBAAwB;2CAAxB,wBAAwB;CAIpC"}
@@ -1,4 +1,4 @@
1
- import { Component, inject, ChangeDetectionStrategy } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
2
  import { PrismPanelService } from '../services/prism-panel.service.js';
3
3
  import * as i0 from "@angular/core";
4
4
  const _forTrack0 = ($index, $item) => $item.id;
@@ -31,33 +31,10 @@ export class PrismViewTabBarComponent {
31
31
  i0.ɵɵclassProp("prism-view-tab-bar__tab--active", ctx.panelService.activeViewId() === "renderer");
32
32
  i0.ɵɵadvance(2);
33
33
  i0.ɵɵrepeater(ctx.viewPanels());
34
- } }, styles: ["[_nghost-%COMP%] { display: inline-flex; }\n\n .prism-view-tab-bar[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n border-radius: var(--%NS%radius-sm);\n background: var(--%NS%prism-input-bg);\n }\n\n .prism-view-tab-bar__tab[_ngcontent-%COMP%] {\n padding: 2px var(--%NS%sp-4);\n border: 0;\n border-radius: var(--%NS%radius-xs);\n background: none;\n font-family: var(--%NS%prism-font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text-muted);\n cursor: pointer;\n white-space: nowrap;\n transition: color var(--%NS%dur-fast) var(--%NS%ease-default);\n }\n .prism-view-tab-bar__tab[_ngcontent-%COMP%]:hover { color: var(--%NS%prism-text-2); }\n .prism-view-tab-bar__tab[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n }\n .prism-view-tab-bar__tab--active[_ngcontent-%COMP%] {\n background: var(--%NS%prism-bg-elevated);\n color: var(--%NS%prism-text);\n font-weight: 500;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);\n }"] });
34
+ } }, styles: ["[_nghost-%COMP%] {\n display: inline-flex;\n}\n\n.prism-view-tab-bar[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n background: var(--%NS%prism-input-bg);\n border-radius: var(--%NS%radius-sm);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%] {\n padding: 2px var(--%NS%sp-4);\n font-family: var(--%NS%prism-font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: var(--%NS%radius-xs);\n transition: color var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n}\n\n.prism-view-tab-bar__tab--active[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-bg-elevated);\n box-shadow: 0 1px 2px rgb(0 0 0 / 18%);\n}"] });
35
35
  }
36
36
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismViewTabBarComponent, [{
37
37
  type: Component,
38
- args: [{ selector: 'prism-view-tab-bar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
39
- <div class="prism-view-tab-bar">
40
- <button
41
- class="prism-view-tab-bar__tab"
42
- [class.prism-view-tab-bar__tab--active]="
43
- panelService.activeViewId() === 'renderer'
44
- "
45
- (click)="panelService.activeViewId.set('renderer')"
46
- >
47
- Playground
48
- </button>
49
- @for (panel of viewPanels(); track panel.id) {
50
- <button
51
- class="prism-view-tab-bar__tab"
52
- [class.prism-view-tab-bar__tab--active]="
53
- panelService.activeViewId() === panel.id
54
- "
55
- (click)="panelService.activeViewId.set(panel.id)"
56
- >
57
- {{ panel.label }}
58
- </button>
59
- }
60
- </div>
61
- `, styles: ["\n :host { display: inline-flex; }\n\n .prism-view-tab-bar {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n border-radius: var(--radius-sm);\n background: var(--prism-input-bg);\n }\n\n .prism-view-tab-bar__tab {\n padding: 2px var(--sp-4);\n border: 0;\n border-radius: var(--radius-xs);\n background: none;\n font-family: var(--prism-font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text-muted);\n cursor: pointer;\n white-space: nowrap;\n transition: color var(--dur-fast) var(--ease-default);\n }\n .prism-view-tab-bar__tab:hover { color: var(--prism-text-2); }\n .prism-view-tab-bar__tab:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n }\n .prism-view-tab-bar__tab--active {\n background: var(--prism-bg-elevated);\n color: var(--prism-text);\n font-weight: 500;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);\n }\n "] }]
38
+ args: [{ selector: 'prism-view-tab-bar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"prism-view-tab-bar\">\n <button\n class=\"prism-view-tab-bar__tab\"\n [class.prism-view-tab-bar__tab--active]=\"panelService.activeViewId() === 'renderer'\"\n (click)=\"panelService.activeViewId.set('renderer')\">\n Playground\n </button>\n @for (panel of viewPanels(); track panel.id) {\n <button\n class=\"prism-view-tab-bar__tab\"\n [class.prism-view-tab-bar__tab--active]=\"panelService.activeViewId() === panel.id\"\n (click)=\"panelService.activeViewId.set(panel.id)\">\n {{ panel.label }}\n </button>\n }\n</div>\n", styles: [":host {\n display: inline-flex;\n}\n\n.prism-view-tab-bar {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n background: var(--prism-input-bg);\n border-radius: var(--radius-sm);\n}\n\n.prism-view-tab-bar__tab {\n padding: 2px var(--sp-4);\n font-family: var(--prism-font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: var(--radius-xs);\n transition: color var(--dur-fast) var(--ease-default);\n}\n\n.prism-view-tab-bar__tab:hover {\n color: var(--prism-text-2);\n}\n\n.prism-view-tab-bar__tab:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n}\n\n.prism-view-tab-bar__tab--active {\n font-weight: 500;\n color: var(--prism-text);\n background: var(--prism-bg-elevated);\n box-shadow: 0 1px 2px rgb(0 0 0 / 18%);\n}\n"] }]
62
39
  }], null, null); })();
63
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewTabBarComponent, { className: "PrismViewTabBarComponent", filePath: "app/view-tab-bar/prism-view-tab-bar.component.ts", lineNumber: 68 }); })();
40
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewTabBarComponent, { className: "PrismViewTabBarComponent", filePath: "app/view-tab-bar/prism-view-tab-bar.component.ts", lineNumber: 11 }); })();
@@ -1,5 +1,5 @@
1
- import type { A11yComponentMeta, A11yManifestMeta, A11yReport, A11yThresholds } from '../../app/panels/a11y/a11y.types.js';
2
1
  import { deriveA11ySummary } from '../../app/panels/a11y/a11y-summary.js';
2
+ import type { A11yComponentMeta, A11yManifestMeta, A11yReport, A11yThresholds } from '../../app/panels/a11y/a11y.types.js';
3
3
  export { deriveA11ySummary };
4
4
  export declare const DEFAULT_A11Y_REPORT_PATH = "a11y-report.json";
5
5
  export declare function loadA11yReport(reportPath: string): A11yReport | null;
@@ -1 +1 @@
1
- {"version":3,"file":"a11y-report-reader.d.ts","sourceRoot":"","sources":["../../../src/builder/a11y/a11y-report-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACf,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAK1E,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAI3D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAapE;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GACxC,gBAAgB,GAAG,IAAI,CAQzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,GACzB,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAchC;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,cAAc,GACzB,iBAAiB,GAAG,IAAI,CAK1B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,GACrB,kBAAkB,EAAE,CAkCtB;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
1
+ {"version":3,"file":"a11y-report-reader.d.ts","sourceRoot":"","sources":["../../../src/builder/a11y/a11y-report-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAK3H,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAI3D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAepE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,gBAAgB,GAAG,IAAI,CASnH;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAepH;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,iBAAiB,GAAG,IAAI,CAMhI;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,EAAE,CAkChF;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -1,6 +1,6 @@
1
1
  import { readFileSync, statSync } from 'node:fs';
2
- import { resolveA11yThresholds } from '../../app/panels/a11y/a11y-thresholds.js';
3
2
  import { deriveA11ySummary } from '../../app/panels/a11y/a11y-summary.js';
3
+ import { resolveA11yThresholds } from '../../app/panels/a11y/a11y-thresholds.js';
4
4
  // Re-exported so the builder side keeps one import surface for the a11y
5
5
  // report. The derivation itself lives in `app/` because the panel tab grades
6
6
  // the live audit with it and cannot reach into `builder/`.
@@ -28,7 +28,7 @@ export function readA11yMeta(reportPath, thresholdsInput) {
28
28
  return null;
29
29
  return {
30
30
  total: report.total,
31
- thresholds: resolveA11yThresholds(thresholdsInput),
31
+ thresholds: resolveA11yThresholds(thresholdsInput)
32
32
  };
33
33
  }
34
34
  /**
@@ -51,7 +51,7 @@ export function readA11yForComponents(reportPath, thresholds) {
51
51
  byClassName.set(className, {
52
52
  found: true,
53
53
  score,
54
- summary: deriveA11ySummary(score, thresholds),
54
+ summary: deriveA11ySummary(score, thresholds)
55
55
  });
56
56
  }
57
57
  return byClassName;
@@ -71,28 +71,28 @@ export function checkA11yThresholds(meta) {
71
71
  violations.push({
72
72
  metric: 'score',
73
73
  actual: total.score,
74
- threshold: t.score,
74
+ threshold: t.score
75
75
  });
76
76
  }
77
77
  if (total.critical > t.critical) {
78
78
  violations.push({
79
79
  metric: 'critical',
80
80
  actual: total.critical,
81
- threshold: t.critical,
81
+ threshold: t.critical
82
82
  });
83
83
  }
84
84
  if (total.serious > t.serious) {
85
85
  violations.push({
86
86
  metric: 'serious',
87
87
  actual: total.serious,
88
- threshold: t.serious,
88
+ threshold: t.serious
89
89
  });
90
90
  }
91
91
  if (total.moderate > t.moderate) {
92
92
  violations.push({
93
93
  metric: 'moderate',
94
94
  actual: total.moderate,
95
- threshold: t.moderate,
95
+ threshold: t.moderate
96
96
  });
97
97
  }
98
98
  return violations;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EAGb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAqCtD,QAAA,MAAM,OAAO,EAAE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CACJ,CAAC;AACxD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA0D,MAAM,2BAA2B,CAAC;AACjH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAuBtD,QAAA,MAAM,OAAO,EAAE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAyD,CAAC;AAErH,eAAe,OAAO,CAAC"}
@@ -1,21 +1,17 @@
1
- import { createBuilder, } from '@angular-devkit/architect';
2
- import { runPrismPipeline, createPipelineState, } from '../shared/prism-pipeline.js';
1
+ import { createBuilder } from '@angular-devkit/architect';
2
+ import { createPipelineState, runPrismPipeline } from '../shared/prism-pipeline.js';
3
3
  import { resolveCacheDir } from '../shared/resolve-cache-dir.js';
4
4
  async function createBuildBuilder(options, context) {
5
5
  const cacheDir = resolveCacheDir(options.cacheDir, context.workspaceRoot);
6
6
  const pipelineOptions = {
7
7
  entryPoint: options.entryPoint,
8
- libraryImportPath: options.libraryImportPath ??
9
- options.libraryProject ??
10
- options.prismProject,
8
+ libraryImportPath: options.libraryImportPath ?? options.libraryProject ?? options.prismProject,
11
9
  prismProject: options.prismProject,
12
10
  configFile: options.configFile ?? 'ng-prism.config.ts',
13
- cacheDir,
11
+ cacheDir
14
12
  };
15
13
  await runPrismPipeline(pipelineOptions, context, createPipelineState());
16
- const run = await context.scheduleTarget({ project: options.prismProject, target: 'build', configuration: '' }, options.outputPath
17
- ? { outputPath: { base: options.outputPath, browser: '' } }
18
- : {});
14
+ const run = await context.scheduleTarget({ project: options.prismProject, target: 'build', configuration: '' }, options.outputPath ? { outputPath: { base: options.outputPath, browser: '' } } : {});
19
15
  return run.result;
20
16
  }
21
17
  const builder = createBuilder(createBuildBuilder);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/builder/build/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/builder/build/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/builder/config-loader/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,wBAAsB,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsCrF"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/builder/config-loader/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,wBAAsB,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAoCrF"}
@@ -1,5 +1,5 @@
1
1
  import '@angular/compiler';
2
- import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'fs';
2
+ import { existsSync, readFileSync, unlinkSync, writeFileSync } from 'fs';
3
3
  import { resolve, sep } from 'path';
4
4
  import { pathToFileURL } from 'url';
5
5
  import ts from 'typescript';
@@ -9,8 +9,7 @@ export async function loadConfig(options) {
9
9
  const workspaceRoot = resolve(options.workspaceRoot);
10
10
  const configPath = resolve(workspaceRoot, configFileName);
11
11
  if (configPath !== workspaceRoot && !configPath.startsWith(workspaceRoot + sep)) {
12
- throw new Error(`ng-prism: configFile "${configFileName}" resolves outside workspace root (${workspaceRoot}). ` +
13
- `Provide a path relative to the workspace.`);
12
+ throw new Error(`ng-prism: configFile "${configFileName}" resolves outside workspace root (${workspaceRoot}). ` + `Provide a path relative to the workspace.`);
14
13
  }
15
14
  if (!existsSync(configPath)) {
16
15
  return {};
@@ -21,8 +20,8 @@ export async function loadConfig(options) {
21
20
  module: ts.ModuleKind.ESNext,
22
21
  target: ts.ScriptTarget.ES2022,
23
22
  moduleResolution: ts.ModuleResolutionKind.Bundler,
24
- esModuleInterop: true,
25
- },
23
+ esModuleInterop: true
24
+ }
26
25
  });
27
26
  const uniqueSuffix = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
28
27
  const tempPath = configPath.replace(/\.ts$/, `.${uniqueSuffix}.tmp.mjs`);
@@ -1 +1 @@
1
- {"version":3,"file":"host-parser.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/host-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA4B/D"}
1
+ {"version":3,"file":"host-parser.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/host-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA0B/D"}
@@ -9,7 +9,7 @@ export function parseHostString(host) {
9
9
  return {
10
10
  tag: wrapped[1],
11
11
  attrs: wrapped[2].trim(),
12
- content: wrapped[3],
12
+ content: wrapped[3]
13
13
  };
14
14
  }
15
15
  if (trimmed.length > 0) {
@@ -1,5 +1,5 @@
1
- import type { ScannedComponent } from '../../plugin/plugin.types.js';
2
1
  import type { StyleguidePage } from '../../plugin/page.types.js';
2
+ import type { ScannedComponent } from '../../plugin/plugin.types.js';
3
3
  export interface RuntimeManifestOptions {
4
4
  components: ScannedComponent[];
5
5
  libraryImportPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-manifest.generator.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/runtime-manifest.generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAqID,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,sBAAsB,GAC9B,MAAM,CAmFR"}
1
+ {"version":3,"file":"runtime-manifest.generator.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/runtime-manifest.generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhF,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAoHD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAkF/E"}
@@ -20,9 +20,7 @@ function formatInputDeclaration(input) {
20
20
  const typeAnnotation = inputTypeAnnotation(input);
21
21
  return `input.required<${typeAnnotation}>()`;
22
22
  }
23
- const def = input.defaultValue !== undefined
24
- ? JSON.stringify(input.defaultValue)
25
- : "''";
23
+ const def = input.defaultValue !== undefined ? JSON.stringify(input.defaultValue) : "''";
26
24
  const needsAnnotation = input.type === 'union' && input.values;
27
25
  if (needsAnnotation) {
28
26
  const typeAnnotation = inputTypeAnnotation(input);
@@ -35,10 +33,7 @@ function directiveSelector(selector) {
35
33
  return match ? match[1] : selector;
36
34
  }
37
35
  function isBindableInput(input) {
38
- if (input.type === 'string' ||
39
- input.type === 'number' ||
40
- input.type === 'boolean' ||
41
- input.type === 'union') {
36
+ if (input.type === 'string' || input.type === 'number' || input.type === 'boolean' || input.type === 'union') {
42
37
  return true;
43
38
  }
44
39
  return input.defaultValue !== undefined;
@@ -73,12 +68,8 @@ function generateWrapperClass(comp) {
73
68
  attrs = '';
74
69
  importsArray = `[${comp.className}]`;
75
70
  }
76
- const inputBindings = bindableInputs
77
- .map((i) => ` [${i.name}]="${i.name}()"`)
78
- .join('');
79
- const outputBindings = comp.outputs
80
- .map((o) => ` (${o.name})="${o.name}.emit($event)"`)
81
- .join('');
71
+ const inputBindings = bindableInputs.map((i) => ` [${i.name}]="${i.name}()"`).join('');
72
+ const outputBindings = comp.outputs.map((o) => ` (${o.name})="${o.name}.emit($event)"`).join('');
82
73
  const template = `<${tag}${attrs} ${directiveAttr}${inputBindings}${outputBindings}>{{ __prismContent__() }}</${tag}>`;
83
74
  const members = [];
84
75
  for (const i of bindableInputs) {
@@ -88,16 +79,7 @@ function generateWrapperClass(comp) {
88
79
  members.push(` ${o.name} = output();`);
89
80
  }
90
81
  members.push(` __prismContent__ = input(${JSON.stringify(hostContentDefault)});`);
91
- const lines = [
92
- `@Component({`,
93
- ` standalone: true,`,
94
- ` imports: ${importsArray},`,
95
- ` template: \`${template}\`,`,
96
- `})`,
97
- `class ${wrapperName} {`,
98
- ...members,
99
- `}`,
100
- ];
82
+ const lines = [`@Component({`, ` standalone: true,`, ` imports: ${importsArray},`, ` template: \`${template}\`,`, `})`, `class ${wrapperName} {`, ...members, `}`];
101
83
  return lines.join('\n');
102
84
  }
103
85
  function groupComponentsByImportPath(components, fallbackImportPath) {
@@ -118,10 +100,7 @@ export function generateRuntimeManifest(options) {
118
100
  const { components, libraryImportPath, pages, meta } = options;
119
101
  const directives = components.filter((c) => c.componentMeta.isDirective);
120
102
  const hasDirectives = directives.length > 0;
121
- const lines = [
122
- '// AUTO-GENERATED by ng-prism — do not edit!',
123
- "import type { RuntimeManifest } from '@ng-prism/core/plugin';",
124
- ];
103
+ const lines = ['// AUTO-GENERATED by ng-prism — do not edit!', "import type { RuntimeManifest } from '@ng-prism/core/plugin';"];
125
104
  if (hasDirectives) {
126
105
  lines.push("import { Component, input, output } from '@angular/core';");
127
106
  }
@@ -157,9 +136,7 @@ export function generateRuntimeManifest(options) {
157
136
  lines.push('export const PRISM_RUNTIME_MANIFEST: RuntimeManifest = {');
158
137
  lines.push(' components: [');
159
138
  for (const comp of components) {
160
- const typeName = comp.componentMeta.isDirective
161
- ? `${comp.className}__PrismHost`
162
- : comp.className;
139
+ const typeName = comp.componentMeta.isDirective ? `${comp.className}__PrismHost` : comp.className;
163
140
  lines.push(' {');
164
141
  lines.push(` type: ${typeName},`);
165
142
  lines.push(` meta: ${formatMeta(comp, 6)},`);
@@ -197,7 +174,7 @@ function formatMeta(comp, baseIndent) {
197
174
  `${indent(inner)}showcaseConfig: ${formatObject(comp.showcaseConfig, inner)},`,
198
175
  `${indent(inner)}inputs: ${formatArray(comp.inputs, inner)},`,
199
176
  `${indent(inner)}outputs: ${formatArray(comp.outputs, inner)},`,
200
- `${indent(inner)}componentMeta: ${formatObject(comp.componentMeta, inner)},`,
177
+ `${indent(inner)}componentMeta: ${formatObject(comp.componentMeta, inner)},`
201
178
  ];
202
179
  if (comp.meta && Object.keys(comp.meta).length > 0) {
203
180
  lines.push(`${indent(inner)}meta: ${formatObject(comp.meta, inner)},`);
@@ -224,9 +201,7 @@ function formatArray(arr, baseIndent) {
224
201
  return '[]';
225
202
  const inner = baseIndent + 2;
226
203
  const items = arr.map((item) => {
227
- const formatted = typeof item === 'object' && item !== null && !Array.isArray(item)
228
- ? formatObject(item, inner)
229
- : json(item);
204
+ const formatted = typeof item === 'object' && item !== null && !Array.isArray(item) ? formatObject(item, inner) : json(item);
230
205
  return `${indent(inner)}${formatted},`;
231
206
  });
232
207
  return `[\n${items.join('\n')}\n${indent(baseIndent)}]`;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-runner.d.ts","sourceRoot":"","sources":["../../../src/builder/plugin-runner/plugin-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAEd,MAAM,8BAA8B,CAAC;AA0BtC,wBAAsB,cAAc,CAClC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EAAE,GACvB,OAAO,CAAC,aAAa,CAAC,CAmExB"}
1
+ {"version":3,"file":"plugin-runner.d.ts","sourceRoot":"","sources":["../../../src/builder/plugin-runner/plugin-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,8BAA8B,CAAC;AAgBnG,wBAAsB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CA4D9G"}
@@ -46,9 +46,7 @@ export async function runPluginHooks(manifest, plugins) {
46
46
  }
47
47
  pages[i] = current;
48
48
  }
49
- let result = manifest.meta
50
- ? { components, pages, meta: manifest.meta }
51
- : { components, pages };
49
+ let result = manifest.meta ? { components, pages, meta: manifest.meta } : { components, pages };
52
50
  for (const plugin of plugins) {
53
51
  if (plugin.onManifestReady) {
54
52
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/builder/scanner/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAoD/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,mBAAmB,EAClD,IAAI,EAAE,MAAM,GACX,EAAE,CAAC,SAAS,GAAG,SAAS,CAc1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAMvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,GAAG,SAAS,CAU1F"}
1
+ {"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/builder/scanner/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAoD/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,SAAS,GAAG,SAAS,CAgBxH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAOvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,GAAG,SAAS,CAQ1F"}
@@ -43,11 +43,7 @@ export function evaluateExpression(node) {
43
43
  return undefined;
44
44
  if (!ts.isPropertyAssignment(prop))
45
45
  return undefined;
46
- const key = ts.isIdentifier(prop.name)
47
- ? prop.name.text
48
- : ts.isStringLiteral(prop.name)
49
- ? prop.name.text
50
- : undefined;
46
+ const key = ts.isIdentifier(prop.name) ? prop.name.text : ts.isStringLiteral(prop.name) ? prop.name.text : undefined;
51
47
  if (key === undefined)
52
48
  return undefined;
53
49
  result[key] = evaluateExpression(prop.initializer);
@@ -90,9 +86,7 @@ export function getDecoratorArgument(decorator) {
90
86
  * Get the JSDoc comment for a node.
91
87
  */
92
88
  export function getJsDocComment(node, checker) {
93
- const symbol = checker.getSymbolAtLocation(ts.isClassDeclaration(node) || ts.isPropertyDeclaration(node)
94
- ? (node.name ?? node)
95
- : node);
89
+ const symbol = checker.getSymbolAtLocation(ts.isClassDeclaration(node) || ts.isPropertyDeclaration(node) ? (node.name ?? node) : node);
96
90
  if (!symbol)
97
91
  return undefined;
98
92
  const doc = ts.displayPartsToString(symbol.getDocumentationComment(checker)).trim();