@ng-prism/core 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/README.md +170 -0
  2. package/builders.json +14 -0
  3. package/dist/app/component-header/prism-component-header.component.d.ts +8 -0
  4. package/dist/app/component-header/prism-component-header.component.d.ts.map +1 -0
  5. package/dist/app/component-header/prism-component-header.component.js +77 -0
  6. package/dist/app/controls/boolean-control.component.d.ts +10 -0
  7. package/dist/app/controls/boolean-control.component.d.ts.map +1 -0
  8. package/dist/app/controls/boolean-control.component.js +58 -0
  9. package/dist/app/controls/json-control.component.d.ts +19 -0
  10. package/dist/app/controls/json-control.component.d.ts.map +1 -0
  11. package/dist/app/controls/json-control.component.js +136 -0
  12. package/dist/app/controls/number-control.component.d.ts +10 -0
  13. package/dist/app/controls/number-control.component.d.ts.map +1 -0
  14. package/dist/app/controls/number-control.component.js +55 -0
  15. package/dist/app/controls/string-control.component.d.ts +10 -0
  16. package/dist/app/controls/string-control.component.d.ts.map +1 -0
  17. package/dist/app/controls/string-control.component.js +55 -0
  18. package/dist/app/controls/union-control.component.d.ts +11 -0
  19. package/dist/app/controls/union-control.component.d.ts.map +1 -0
  20. package/dist/app/controls/union-control.component.js +72 -0
  21. package/dist/app/header/prism-header.component.d.ts +10 -0
  22. package/dist/app/header/prism-header.component.d.ts.map +1 -0
  23. package/dist/app/header/prism-header.component.js +241 -0
  24. package/dist/app/hmr.d.ts +4 -0
  25. package/dist/app/hmr.d.ts.map +1 -0
  26. package/dist/app/hmr.js +5 -0
  27. package/dist/app/index.d.ts +18 -0
  28. package/dist/app/index.d.ts.map +1 -0
  29. package/dist/app/index.js +21 -0
  30. package/dist/app/layout-menu/prism-layout-menu.component.d.ts +10 -0
  31. package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -0
  32. package/dist/app/layout-menu/prism-layout-menu.component.js +190 -0
  33. package/dist/app/page-renderer/prism-icon-page.component.d.ts +8 -0
  34. package/dist/app/page-renderer/prism-icon-page.component.d.ts.map +1 -0
  35. package/dist/app/page-renderer/prism-icon-page.component.js +42 -0
  36. package/dist/app/page-renderer/prism-page-renderer.component.d.ts +8 -0
  37. package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -0
  38. package/dist/app/page-renderer/prism-page-renderer.component.js +72 -0
  39. package/dist/app/page-renderer/prism-token-page.component.d.ts +8 -0
  40. package/dist/app/page-renderer/prism-token-page.component.d.ts.map +1 -0
  41. package/dist/app/page-renderer/prism-token-page.component.js +164 -0
  42. package/dist/app/panels/a11y/a11y-audit.service.d.ts +17 -0
  43. package/dist/app/panels/a11y/a11y-audit.service.d.ts.map +1 -0
  44. package/dist/app/panels/a11y/a11y-audit.service.js +71 -0
  45. package/dist/app/panels/a11y/a11y-core.plugin.d.ts +3 -0
  46. package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -0
  47. package/dist/app/panels/a11y/a11y-core.plugin.js +8 -0
  48. package/dist/app/panels/a11y/a11y-dom-utils.d.ts +11 -0
  49. package/dist/app/panels/a11y/a11y-dom-utils.d.ts.map +1 -0
  50. package/dist/app/panels/a11y/a11y-dom-utils.js +149 -0
  51. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts +24 -0
  52. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts.map +1 -0
  53. package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +104 -0
  54. package/dist/app/panels/a11y/a11y-keyboard.component.d.ts +12 -0
  55. package/dist/app/panels/a11y/a11y-keyboard.component.d.ts.map +1 -0
  56. package/dist/app/panels/a11y/a11y-keyboard.component.js +150 -0
  57. package/dist/app/panels/a11y/a11y-keyboard.service.d.ts +8 -0
  58. package/dist/app/panels/a11y/a11y-keyboard.service.d.ts.map +1 -0
  59. package/dist/app/panels/a11y/a11y-keyboard.service.js +71 -0
  60. package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts +6 -0
  61. package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -0
  62. package/dist/app/panels/a11y/a11y-overlay-host.component.js +18 -0
  63. package/dist/app/panels/a11y/a11y-panel-state.service.d.ts +8 -0
  64. package/dist/app/panels/a11y/a11y-panel-state.service.d.ts.map +1 -0
  65. package/dist/app/panels/a11y/a11y-panel-state.service.js +11 -0
  66. package/dist/app/panels/a11y/a11y-panel.component.d.ts +14 -0
  67. package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -0
  68. package/dist/app/panels/a11y/a11y-panel.component.js +183 -0
  69. package/dist/app/panels/a11y/a11y-perspective.service.d.ts +8 -0
  70. package/dist/app/panels/a11y/a11y-perspective.service.d.ts.map +1 -0
  71. package/dist/app/panels/a11y/a11y-perspective.service.js +11 -0
  72. package/dist/app/panels/a11y/a11y-score.component.d.ts +11 -0
  73. package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -0
  74. package/dist/app/panels/a11y/a11y-score.component.js +72 -0
  75. package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts +27 -0
  76. package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts.map +1 -0
  77. package/dist/app/panels/a11y/a11y-sr-overlay.component.js +127 -0
  78. package/dist/app/panels/a11y/a11y-sr.component.d.ts +19 -0
  79. package/dist/app/panels/a11y/a11y-sr.component.d.ts.map +1 -0
  80. package/dist/app/panels/a11y/a11y-sr.component.js +257 -0
  81. package/dist/app/panels/a11y/a11y-sr.service.d.ts +8 -0
  82. package/dist/app/panels/a11y/a11y-sr.service.d.ts.map +1 -0
  83. package/dist/app/panels/a11y/a11y-sr.service.js +102 -0
  84. package/dist/app/panels/a11y/a11y-tree.component.d.ts +27 -0
  85. package/dist/app/panels/a11y/a11y-tree.component.d.ts.map +1 -0
  86. package/dist/app/panels/a11y/a11y-tree.component.js +229 -0
  87. package/dist/app/panels/a11y/a11y-tree.service.d.ts +8 -0
  88. package/dist/app/panels/a11y/a11y-tree.service.d.ts.map +1 -0
  89. package/dist/app/panels/a11y/a11y-tree.service.js +47 -0
  90. package/dist/app/panels/a11y/a11y-violations.component.d.ts +15 -0
  91. package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -0
  92. package/dist/app/panels/a11y/a11y-violations.component.js +457 -0
  93. package/dist/app/panels/a11y/a11y.types.d.ts +44 -0
  94. package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -0
  95. package/dist/app/panels/a11y/a11y.types.js +1 -0
  96. package/dist/app/panels/builtin-panels.d.ts +3 -0
  97. package/dist/app/panels/builtin-panels.d.ts.map +1 -0
  98. package/dist/app/panels/builtin-panels.js +8 -0
  99. package/dist/app/panels/controls/controls-plugin.d.ts +3 -0
  100. package/dist/app/panels/controls/controls-plugin.d.ts.map +1 -0
  101. package/dist/app/panels/controls/controls-plugin.js +12 -0
  102. package/dist/app/panels/controls/prism-controls-panel.component.d.ts +13 -0
  103. package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -0
  104. package/dist/app/panels/controls/prism-controls-panel.component.js +178 -0
  105. package/dist/app/panels/events/events-plugin.d.ts +3 -0
  106. package/dist/app/panels/events/events-plugin.d.ts.map +1 -0
  107. package/dist/app/panels/events/events-plugin.js +12 -0
  108. package/dist/app/panels/events/prism-events-panel.component.d.ts +9 -0
  109. package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -0
  110. package/dist/app/panels/events/prism-events-panel.component.js +83 -0
  111. package/dist/app/panels/events/prism-json-node.component.d.ts +22 -0
  112. package/dist/app/panels/events/prism-json-node.component.d.ts.map +1 -0
  113. package/dist/app/panels/events/prism-json-node.component.js +350 -0
  114. package/dist/app/panels/events/prism-json-node.utils.d.ts +2 -0
  115. package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -0
  116. package/dist/app/panels/events/prism-json-node.utils.js +40 -0
  117. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +26 -0
  118. package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -0
  119. package/dist/app/panels/panel-host/prism-panel-host.component.js +157 -0
  120. package/dist/app/provide-prism.d.ts +8 -0
  121. package/dist/app/provide-prism.d.ts.map +1 -0
  122. package/dist/app/provide-prism.js +21 -0
  123. package/dist/app/renderer/highlight-xml.d.ts +2 -0
  124. package/dist/app/renderer/highlight-xml.d.ts.map +1 -0
  125. package/dist/app/renderer/highlight-xml.js +27 -0
  126. package/dist/app/renderer/prism-renderer.component.d.ts +32 -0
  127. package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -0
  128. package/dist/app/renderer/prism-renderer.component.js +346 -0
  129. package/dist/app/renderer/snippet-generator.d.ts +7 -0
  130. package/dist/app/renderer/snippet-generator.d.ts.map +1 -0
  131. package/dist/app/renderer/snippet-generator.js +162 -0
  132. package/dist/app/services/navigation-item.types.d.ts +10 -0
  133. package/dist/app/services/navigation-item.types.d.ts.map +1 -0
  134. package/dist/app/services/navigation-item.types.js +1 -0
  135. package/dist/app/services/prism-event-log.service.d.ts +16 -0
  136. package/dist/app/services/prism-event-log.service.d.ts.map +1 -0
  137. package/dist/app/services/prism-event-log.service.js +21 -0
  138. package/dist/app/services/prism-layout.service.d.ts +23 -0
  139. package/dist/app/services/prism-layout.service.d.ts.map +1 -0
  140. package/dist/app/services/prism-layout.service.js +85 -0
  141. package/dist/app/services/prism-manifest.service.d.ts +15 -0
  142. package/dist/app/services/prism-manifest.service.d.ts.map +1 -0
  143. package/dist/app/services/prism-manifest.service.js +53 -0
  144. package/dist/app/services/prism-navigation.service.d.ts +18 -0
  145. package/dist/app/services/prism-navigation.service.d.ts.map +1 -0
  146. package/dist/app/services/prism-navigation.service.js +94 -0
  147. package/dist/app/services/prism-panel.service.d.ts +8 -0
  148. package/dist/app/services/prism-panel.service.d.ts.map +1 -0
  149. package/dist/app/services/prism-panel.service.js +12 -0
  150. package/dist/app/services/prism-plugin.service.d.ts +12 -0
  151. package/dist/app/services/prism-plugin.service.d.ts.map +1 -0
  152. package/dist/app/services/prism-plugin.service.js +32 -0
  153. package/dist/app/services/prism-renderer.service.d.ts +18 -0
  154. package/dist/app/services/prism-renderer.service.d.ts.map +1 -0
  155. package/dist/app/services/prism-renderer.service.js +84 -0
  156. package/dist/app/services/prism-search.service.d.ts +13 -0
  157. package/dist/app/services/prism-search.service.d.ts.map +1 -0
  158. package/dist/app/services/prism-search.service.js +39 -0
  159. package/dist/app/services/prism-theme.service.d.ts +9 -0
  160. package/dist/app/services/prism-theme.service.d.ts.map +1 -0
  161. package/dist/app/services/prism-theme.service.js +23 -0
  162. package/dist/app/services/prism-url-state.service.d.ts +16 -0
  163. package/dist/app/services/prism-url-state.service.d.ts.map +1 -0
  164. package/dist/app/services/prism-url-state.service.js +108 -0
  165. package/dist/app/shell/prism-shell.component.d.ts +22 -0
  166. package/dist/app/shell/prism-shell.component.d.ts.map +1 -0
  167. package/dist/app/shell/prism-shell.component.js +283 -0
  168. package/dist/app/sidebar/prism-sidebar.component.d.ts +14 -0
  169. package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -0
  170. package/dist/app/sidebar/prism-sidebar.component.js +105 -0
  171. package/dist/app/theme/prism-default-theme.d.ts +4 -0
  172. package/dist/app/theme/prism-default-theme.d.ts.map +1 -0
  173. package/dist/app/theme/prism-default-theme.js +57 -0
  174. package/dist/app/tokens/prism-tokens.d.ts +11 -0
  175. package/dist/app/tokens/prism-tokens.d.ts.map +1 -0
  176. package/dist/app/tokens/prism-tokens.js +7 -0
  177. package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts +22 -0
  178. package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -0
  179. package/dist/app/view-tab-bar/prism-view-panel-host.component.js +90 -0
  180. package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts +10 -0
  181. package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -0
  182. package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +65 -0
  183. package/dist/builder/build/index.d.ts +6 -0
  184. package/dist/builder/build/index.d.ts.map +1 -0
  185. package/dist/builder/build/index.js +15 -0
  186. package/dist/builder/build/schema.d.ts +9 -0
  187. package/dist/builder/build/schema.d.ts.map +1 -0
  188. package/dist/builder/build/schema.js +1 -0
  189. package/dist/builder/config-loader/config-loader.d.ts +8 -0
  190. package/dist/builder/config-loader/config-loader.d.ts.map +1 -0
  191. package/dist/builder/config-loader/config-loader.js +33 -0
  192. package/dist/builder/config-loader/index.d.ts +3 -0
  193. package/dist/builder/config-loader/index.d.ts.map +1 -0
  194. package/dist/builder/config-loader/index.js +1 -0
  195. package/dist/builder/icon-resolver/icon-resolver.d.ts +7 -0
  196. package/dist/builder/icon-resolver/icon-resolver.d.ts.map +1 -0
  197. package/dist/builder/icon-resolver/icon-resolver.js +12 -0
  198. package/dist/builder/icon-resolver/index.d.ts +2 -0
  199. package/dist/builder/icon-resolver/index.d.ts.map +1 -0
  200. package/dist/builder/icon-resolver/index.js +1 -0
  201. package/dist/builder/manifest/host-parser.d.ts +6 -0
  202. package/dist/builder/manifest/host-parser.d.ts.map +1 -0
  203. package/dist/builder/manifest/host-parser.js +9 -0
  204. package/dist/builder/manifest/index.d.ts +3 -0
  205. package/dist/builder/manifest/index.d.ts.map +1 -0
  206. package/dist/builder/manifest/index.js +1 -0
  207. package/dist/builder/manifest/runtime-manifest.generator.d.ts +9 -0
  208. package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -0
  209. package/dist/builder/manifest/runtime-manifest.generator.js +216 -0
  210. package/dist/builder/plugin-runner/index.d.ts +2 -0
  211. package/dist/builder/plugin-runner/index.d.ts.map +1 -0
  212. package/dist/builder/plugin-runner/index.js +1 -0
  213. package/dist/builder/plugin-runner/plugin-runner.d.ts +3 -0
  214. package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -0
  215. package/dist/builder/plugin-runner/plugin-runner.js +38 -0
  216. package/dist/builder/scanner/ast-utils.d.ts +20 -0
  217. package/dist/builder/scanner/ast-utils.d.ts.map +1 -0
  218. package/dist/builder/scanner/ast-utils.js +100 -0
  219. package/dist/builder/scanner/component.scanner.d.ts +7 -0
  220. package/dist/builder/scanner/component.scanner.d.ts.map +1 -0
  221. package/dist/builder/scanner/component.scanner.js +113 -0
  222. package/dist/builder/scanner/entry-point-discovery.d.ts +6 -0
  223. package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -0
  224. package/dist/builder/scanner/entry-point-discovery.js +38 -0
  225. package/dist/builder/scanner/entry-point.scanner.d.ts +11 -0
  226. package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -0
  227. package/dist/builder/scanner/entry-point.scanner.js +19 -0
  228. package/dist/builder/scanner/index.d.ts +8 -0
  229. package/dist/builder/scanner/index.d.ts.map +1 -0
  230. package/dist/builder/scanner/index.js +6 -0
  231. package/dist/builder/scanner/input.extractor.d.ts +11 -0
  232. package/dist/builder/scanner/input.extractor.d.ts.map +1 -0
  233. package/dist/builder/scanner/input.extractor.js +169 -0
  234. package/dist/builder/scanner/manifest.generator.d.ts +6 -0
  235. package/dist/builder/scanner/manifest.generator.d.ts.map +1 -0
  236. package/dist/builder/scanner/manifest.generator.js +59 -0
  237. package/dist/builder/scanner/scanner.d.ts +16 -0
  238. package/dist/builder/scanner/scanner.d.ts.map +1 -0
  239. package/dist/builder/scanner/scanner.js +28 -0
  240. package/dist/builder/serve/index.d.ts +6 -0
  241. package/dist/builder/serve/index.d.ts.map +1 -0
  242. package/dist/builder/serve/index.js +48 -0
  243. package/dist/builder/serve/schema.d.ts +9 -0
  244. package/dist/builder/serve/schema.d.ts.map +1 -0
  245. package/dist/builder/serve/schema.js +1 -0
  246. package/dist/builder/shared/index.d.ts +3 -0
  247. package/dist/builder/shared/index.d.ts.map +1 -0
  248. package/dist/builder/shared/index.js +1 -0
  249. package/dist/builder/shared/prism-pipeline.d.ts +21 -0
  250. package/dist/builder/shared/prism-pipeline.d.ts.map +1 -0
  251. package/dist/builder/shared/prism-pipeline.js +95 -0
  252. package/dist/builder/token-scanner/index.d.ts +2 -0
  253. package/dist/builder/token-scanner/index.d.ts.map +1 -0
  254. package/dist/builder/token-scanner/index.js +1 -0
  255. package/dist/builder/token-scanner/token-scanner.d.ts +9 -0
  256. package/dist/builder/token-scanner/token-scanner.d.ts.map +1 -0
  257. package/dist/builder/token-scanner/token-scanner.js +95 -0
  258. package/dist/builder/watcher/index.d.ts +3 -0
  259. package/dist/builder/watcher/index.d.ts.map +1 -0
  260. package/dist/builder/watcher/index.js +1 -0
  261. package/dist/builder/watcher/prism-watcher.d.ts +29 -0
  262. package/dist/builder/watcher/prism-watcher.d.ts.map +1 -0
  263. package/dist/builder/watcher/prism-watcher.js +79 -0
  264. package/dist/config/index.d.ts +6 -0
  265. package/dist/config/index.d.ts.map +1 -0
  266. package/dist/config/index.js +2 -0
  267. package/dist/decorator/index.d.ts +3 -0
  268. package/dist/decorator/index.d.ts.map +1 -0
  269. package/dist/decorator/index.js +1 -0
  270. package/dist/decorator/showcase.decorator.d.ts +5 -0
  271. package/dist/decorator/showcase.decorator.d.ts.map +1 -0
  272. package/dist/decorator/showcase.decorator.js +7 -0
  273. package/dist/decorator/showcase.types.d.ts +54 -0
  274. package/dist/decorator/showcase.types.d.ts.map +1 -0
  275. package/dist/decorator/showcase.types.js +1 -0
  276. package/dist/index.d.ts +4 -0
  277. package/dist/index.d.ts.map +1 -0
  278. package/dist/index.js +6 -0
  279. package/dist/plugin/define-config.d.ts +4 -0
  280. package/dist/plugin/define-config.d.ts.map +1 -0
  281. package/dist/plugin/define-config.js +4 -0
  282. package/dist/plugin/index.d.ts +8 -0
  283. package/dist/plugin/index.d.ts.map +1 -0
  284. package/dist/plugin/index.js +3 -0
  285. package/dist/plugin/page-helpers.d.ts +19 -0
  286. package/dist/plugin/page-helpers.d.ts.map +1 -0
  287. package/dist/plugin/page-helpers.js +20 -0
  288. package/dist/plugin/page.types.d.ts +19 -0
  289. package/dist/plugin/page.types.d.ts.map +1 -0
  290. package/dist/plugin/page.types.js +1 -0
  291. package/dist/plugin/plugin.types.d.ts +98 -0
  292. package/dist/plugin/plugin.types.d.ts.map +1 -0
  293. package/dist/plugin/plugin.types.js +1 -0
  294. package/dist/schematics/ng-add/index.d.ts +4 -0
  295. package/dist/schematics/ng-add/index.d.ts.map +1 -0
  296. package/dist/schematics/ng-add/index.js +179 -0
  297. package/dist/schematics/ng-add/schema.d.ts +5 -0
  298. package/dist/schematics/ng-add/schema.d.ts.map +1 -0
  299. package/dist/schematics/ng-add/schema.js +1 -0
  300. package/dist/test-setup-browser.d.ts +2 -0
  301. package/dist/test-setup-browser.d.ts.map +1 -0
  302. package/dist/test-setup-browser.js +4 -0
  303. package/package.json +73 -0
  304. package/schematics/collection.json +10 -0
  305. package/schematics/ng-add/schema.json +20 -0
  306. package/src/builder/build/schema.json +35 -0
  307. package/src/builder/serve/schema.json +36 -0
@@ -0,0 +1,21 @@
1
+ import { Injectable, signal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PrismEventLogService {
4
+ events = signal([], ...(ngDevMode ? [{ debugName: "events" }] : []));
5
+ _nextId = 0;
6
+ log(name, value) {
7
+ this.events.update((prev) => [
8
+ { id: this._nextId++, timestamp: Date.now(), name, value },
9
+ ...prev,
10
+ ]);
11
+ }
12
+ clear() {
13
+ this.events.set([]);
14
+ }
15
+ static ɵfac = function PrismEventLogService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismEventLogService)(); };
16
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismEventLogService, factory: PrismEventLogService.ɵfac, providedIn: 'root' });
17
+ }
18
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismEventLogService, [{
19
+ type: Injectable,
20
+ args: [{ providedIn: 'root' }]
21
+ }], null, null); })();
@@ -0,0 +1,23 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PrismLayoutService {
3
+ readonly sidebarVisible: import("@angular/core").WritableSignal<boolean>;
4
+ readonly addonsVisible: import("@angular/core").WritableSignal<boolean>;
5
+ readonly toolbarVisible: import("@angular/core").WritableSignal<boolean>;
6
+ readonly addonsOrientation: import("@angular/core").WritableSignal<"bottom" | "right">;
7
+ readonly sidebarWidth: import("@angular/core").WritableSignal<number>;
8
+ readonly panelHeight: import("@angular/core").WritableSignal<number>;
9
+ readonly panelWidth: import("@angular/core").WritableSignal<number>;
10
+ constructor();
11
+ toggleSidebar(): void;
12
+ toggleAddons(): void;
13
+ toggleToolbar(): void;
14
+ toggleOrientation(): void;
15
+ setSidebarWidth(px: number): void;
16
+ setPanelHeight(px: number): void;
17
+ setPanelWidth(px: number): void;
18
+ private loadFromStorage;
19
+ private saveToStorage;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismLayoutService, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismLayoutService>;
22
+ }
23
+ //# sourceMappingURL=prism-layout.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism-layout.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-layout.service.ts"],"names":[],"mappings":";AAIA,qBACa,kBAAkB;IAC7B,QAAQ,CAAC,cAAc,kDAAgB;IACvC,QAAQ,CAAC,aAAa,kDAAgB;IACtC,QAAQ,CAAC,cAAc,kDAAgB;IACvC,QAAQ,CAAC,iBAAiB,6DAAwC;IAClE,QAAQ,CAAC,YAAY,iDAAe;IACpC,QAAQ,CAAC,WAAW,iDAAe;IACnC,QAAQ,CAAC,UAAU,iDAAe;;IAMlC,aAAa,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IAKpB,aAAa,IAAI,IAAI;IAKrB,iBAAiB,IAAI,IAAI;IAKzB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKjC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKhC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;yCAjEV,kBAAkB;6CAAlB,kBAAkB;CA6E9B"}
@@ -0,0 +1,85 @@
1
+ import { Injectable, signal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const STORAGE_KEY = 'ng-prism-layout';
4
+ export class PrismLayoutService {
5
+ sidebarVisible = signal(true, ...(ngDevMode ? [{ debugName: "sidebarVisible" }] : []));
6
+ addonsVisible = signal(true, ...(ngDevMode ? [{ debugName: "addonsVisible" }] : []));
7
+ toolbarVisible = signal(true, ...(ngDevMode ? [{ debugName: "toolbarVisible" }] : []));
8
+ addonsOrientation = signal('bottom', ...(ngDevMode ? [{ debugName: "addonsOrientation" }] : []));
9
+ sidebarWidth = signal(280, ...(ngDevMode ? [{ debugName: "sidebarWidth" }] : []));
10
+ panelHeight = signal(300, ...(ngDevMode ? [{ debugName: "panelHeight" }] : []));
11
+ panelWidth = signal(320, ...(ngDevMode ? [{ debugName: "panelWidth" }] : []));
12
+ constructor() {
13
+ this.loadFromStorage();
14
+ }
15
+ toggleSidebar() {
16
+ this.sidebarVisible.update(v => !v);
17
+ this.saveToStorage();
18
+ }
19
+ toggleAddons() {
20
+ this.addonsVisible.update(v => !v);
21
+ this.saveToStorage();
22
+ }
23
+ toggleToolbar() {
24
+ this.toolbarVisible.update(v => !v);
25
+ this.saveToStorage();
26
+ }
27
+ toggleOrientation() {
28
+ this.addonsOrientation.update(v => (v === 'bottom' ? 'right' : 'bottom'));
29
+ this.saveToStorage();
30
+ }
31
+ setSidebarWidth(px) {
32
+ this.sidebarWidth.set(Math.max(160, Math.min(600, px)));
33
+ this.saveToStorage();
34
+ }
35
+ setPanelHeight(px) {
36
+ this.panelHeight.set(Math.max(100, Math.min(600, px)));
37
+ this.saveToStorage();
38
+ }
39
+ setPanelWidth(px) {
40
+ this.panelWidth.set(Math.max(200, Math.min(600, px)));
41
+ this.saveToStorage();
42
+ }
43
+ loadFromStorage() {
44
+ try {
45
+ const raw = localStorage.getItem(STORAGE_KEY);
46
+ if (!raw)
47
+ return;
48
+ const d = JSON.parse(raw);
49
+ if (typeof d['sidebarVisible'] === 'boolean')
50
+ this.sidebarVisible.set(d['sidebarVisible']);
51
+ if (typeof d['addonsVisible'] === 'boolean')
52
+ this.addonsVisible.set(d['addonsVisible']);
53
+ if (typeof d['toolbarVisible'] === 'boolean')
54
+ this.toolbarVisible.set(d['toolbarVisible']);
55
+ if (d['addonsOrientation'] === 'bottom' || d['addonsOrientation'] === 'right') {
56
+ this.addonsOrientation.set(d['addonsOrientation']);
57
+ }
58
+ if (typeof d['sidebarWidth'] === 'number')
59
+ this.sidebarWidth.set(Math.max(160, Math.min(600, d['sidebarWidth'])));
60
+ if (typeof d['panelHeight'] === 'number')
61
+ this.panelHeight.set(Math.max(100, Math.min(600, d['panelHeight'])));
62
+ if (typeof d['panelWidth'] === 'number')
63
+ this.panelWidth.set(Math.max(200, Math.min(600, d['panelWidth'])));
64
+ }
65
+ catch { }
66
+ }
67
+ saveToStorage() {
68
+ const data = {
69
+ sidebarVisible: this.sidebarVisible(),
70
+ addonsVisible: this.addonsVisible(),
71
+ toolbarVisible: this.toolbarVisible(),
72
+ addonsOrientation: this.addonsOrientation(),
73
+ sidebarWidth: this.sidebarWidth(),
74
+ panelHeight: this.panelHeight(),
75
+ panelWidth: this.panelWidth(),
76
+ };
77
+ localStorage.setItem(STORAGE_KEY, JSON.stringify(data));
78
+ }
79
+ static ɵfac = function PrismLayoutService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismLayoutService)(); };
80
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismLayoutService, factory: PrismLayoutService.ɵfac, providedIn: 'root' });
81
+ }
82
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismLayoutService, [{
83
+ type: Injectable,
84
+ args: [{ providedIn: 'root' }]
85
+ }], () => [], null); })();
@@ -0,0 +1,15 @@
1
+ import type { RuntimeComponent, RuntimeManifest } from '../../plugin/plugin.types.js';
2
+ import type { StyleguidePage } from '../../plugin/page.types.js';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PrismManifestService {
5
+ private readonly _manifest;
6
+ readonly manifest: import("@angular/core").Signal<RuntimeManifest>;
7
+ readonly components: import("@angular/core").Signal<RuntimeComponent[]>;
8
+ readonly pages: import("@angular/core").Signal<StyleguidePage[]>;
9
+ readonly categories: import("@angular/core").Signal<string[]>;
10
+ readonly groupedByCategory: import("@angular/core").Signal<Map<string, RuntimeComponent[]>>;
11
+ updateManifest(manifest: RuntimeManifest): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismManifestService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismManifestService>;
14
+ }
15
+ //# sourceMappingURL=prism-manifest.service.d.ts.map
@@ -0,0 +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,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAGjE,qBACa,oBAAoB;IAC/B,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,2CAsBhB;IAEH,QAAQ,CAAC,iBAAiB,kEAUvB;IAEH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;yCA7CpC,oBAAoB;6CAApB,oBAAoB;CAgDhC"}
@@ -0,0 +1,53 @@
1
+ import { computed, inject, Injectable, signal } from '@angular/core';
2
+ import { PRISM_MANIFEST } from '../tokens/prism-tokens.js';
3
+ import * as i0 from "@angular/core";
4
+ export class PrismManifestService {
5
+ _manifest = signal(inject(PRISM_MANIFEST), ...(ngDevMode ? [{ debugName: "_manifest" }] : []));
6
+ manifest = this._manifest.asReadonly();
7
+ components = computed(() => this._manifest().components, ...(ngDevMode ? [{ debugName: "components" }] : []));
8
+ pages = computed(() => this._manifest().pages ?? [], ...(ngDevMode ? [{ debugName: "pages" }] : []));
9
+ categories = computed(() => {
10
+ const manifest = this._manifest();
11
+ const orderMap = new Map();
12
+ for (const comp of manifest.components) {
13
+ const cat = comp.meta.showcaseConfig.category ?? 'Uncategorized';
14
+ const order = comp.meta.showcaseConfig.categoryOrder ?? Infinity;
15
+ if (!orderMap.has(cat) || order < orderMap.get(cat)) {
16
+ orderMap.set(cat, order);
17
+ }
18
+ }
19
+ for (const page of (manifest.pages ?? [])) {
20
+ const cat = page.category ?? 'Uncategorized';
21
+ if (!orderMap.has(cat)) {
22
+ orderMap.set(cat, Infinity);
23
+ }
24
+ }
25
+ return [...orderMap.keys()].sort((a, b) => {
26
+ const orderA = orderMap.get(a);
27
+ const orderB = orderMap.get(b);
28
+ if (orderA !== orderB)
29
+ return orderA - orderB;
30
+ return a.localeCompare(b);
31
+ });
32
+ }, ...(ngDevMode ? [{ debugName: "categories" }] : []));
33
+ groupedByCategory = computed(() => {
34
+ const manifest = this._manifest();
35
+ const map = new Map();
36
+ for (const comp of manifest.components) {
37
+ const cat = comp.meta.showcaseConfig.category ?? 'Uncategorized';
38
+ const list = map.get(cat) ?? [];
39
+ list.push(comp);
40
+ map.set(cat, list);
41
+ }
42
+ return map;
43
+ }, ...(ngDevMode ? [{ debugName: "groupedByCategory" }] : []));
44
+ updateManifest(manifest) {
45
+ this._manifest.set(manifest);
46
+ }
47
+ static ɵfac = function PrismManifestService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismManifestService)(); };
48
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismManifestService, factory: PrismManifestService.ɵfac, providedIn: 'root' });
49
+ }
50
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismManifestService, [{
51
+ type: Injectable,
52
+ args: [{ providedIn: 'root' }]
53
+ }], null, null); })();
@@ -0,0 +1,18 @@
1
+ import type { RuntimeComponent } from '../../plugin/plugin.types.js';
2
+ import type { StyleguidePage } from '../../plugin/page.types.js';
3
+ import type { NavigationItem } from './navigation-item.types.js';
4
+ import * as i0 from "@angular/core";
5
+ export declare class PrismNavigationService {
6
+ private readonly searchService;
7
+ private readonly manifestService;
8
+ readonly activeItem: import("@angular/core").WritableSignal<NavigationItem | null>;
9
+ readonly activeComponent: import("@angular/core").Signal<RuntimeComponent | null>;
10
+ readonly activePage: import("@angular/core").Signal<StyleguidePage | null>;
11
+ readonly categoryTree: import("@angular/core").Signal<Map<string, NavigationItem[]>>;
12
+ select(comp: RuntimeComponent): void;
13
+ selectPage(page: StyleguidePage): void;
14
+ selectFirst(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismNavigationService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismNavigationService>;
17
+ }
18
+ //# sourceMappingURL=prism-navigation.service.d.ts.map
@@ -0,0 +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,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAIjE,qBACa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,UAAU,gEAAuC;IAE1D,QAAQ,CAAC,eAAe,0DAMrB;IAEH,QAAQ,CAAC,UAAU,wDAMhB;IAEH,QAAQ,CAAC,YAAY,gEAkDlB;IAEH,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAIpC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC,WAAW,IAAI,IAAI;yCAlFR,sBAAsB;6CAAtB,sBAAsB;CA+FlC"}
@@ -0,0 +1,94 @@
1
+ import { computed, inject, Injectable, signal } from '@angular/core';
2
+ import { PrismManifestService } from './prism-manifest.service.js';
3
+ import { PrismSearchService } from './prism-search.service.js';
4
+ import * as i0 from "@angular/core";
5
+ export class PrismNavigationService {
6
+ searchService = inject(PrismSearchService);
7
+ manifestService = inject(PrismManifestService);
8
+ activeItem = signal(null, ...(ngDevMode ? [{ debugName: "activeItem" }] : []));
9
+ activeComponent = computed(() => {
10
+ const item = this.activeItem();
11
+ if (item?.kind !== 'component')
12
+ return null;
13
+ const manifest = this.manifestService.manifest();
14
+ const relinked = manifest.components.find((c) => c.meta.className === item.data.meta.className);
15
+ return relinked ?? null;
16
+ }, ...(ngDevMode ? [{ debugName: "activeComponent" }] : []));
17
+ activePage = computed(() => {
18
+ const item = this.activeItem();
19
+ if (item?.kind !== 'page')
20
+ return null;
21
+ const manifest = this.manifestService.manifest();
22
+ const relinked = manifest.pages?.find((p) => p.title === item.data.title && p.type === item.data.type);
23
+ return relinked ?? null;
24
+ }, ...(ngDevMode ? [{ debugName: "activePage" }] : []));
25
+ categoryTree = computed(() => {
26
+ const map = new Map();
27
+ for (const comp of this.searchService.filteredComponents()) {
28
+ const cat = comp.meta.showcaseConfig.category ?? 'Uncategorized';
29
+ const list = map.get(cat) ?? [];
30
+ list.push({ kind: 'component', data: comp });
31
+ map.set(cat, list);
32
+ }
33
+ for (const page of this.searchService.filteredPages()) {
34
+ const cat = page.category ?? 'Uncategorized';
35
+ const list = map.get(cat) ?? [];
36
+ list.push({ kind: 'page', data: page });
37
+ map.set(cat, list);
38
+ }
39
+ for (const items of map.values()) {
40
+ items.sort((a, b) => {
41
+ const orderA = a.kind === 'component'
42
+ ? (a.data.meta.showcaseConfig.componentOrder ?? Infinity)
43
+ : (a.data.order ?? Infinity);
44
+ const orderB = b.kind === 'component'
45
+ ? (b.data.meta.showcaseConfig.componentOrder ?? Infinity)
46
+ : (b.data.order ?? Infinity);
47
+ if (orderA !== orderB)
48
+ return orderA - orderB;
49
+ const labelA = a.kind === 'component' ? a.data.meta.showcaseConfig.title : a.data.title;
50
+ const labelB = b.kind === 'component' ? b.data.meta.showcaseConfig.title : b.data.title;
51
+ return labelA.localeCompare(labelB);
52
+ });
53
+ }
54
+ const sorted = [...map.entries()].sort(([catA, itemsA], [catB, itemsB]) => {
55
+ const catOrders = itemsA.map((i) => i.kind === 'component'
56
+ ? (i.data.meta.showcaseConfig.categoryOrder ?? Infinity)
57
+ : (i.data.categoryOrder ?? Infinity));
58
+ const orderA = Math.min(...catOrders);
59
+ const catOrdersB = itemsB.map((i) => i.kind === 'component'
60
+ ? (i.data.meta.showcaseConfig.categoryOrder ?? Infinity)
61
+ : (i.data.categoryOrder ?? Infinity));
62
+ const orderB = Math.min(...catOrdersB);
63
+ if (orderA !== orderB)
64
+ return orderA - orderB;
65
+ return catA.localeCompare(catB);
66
+ });
67
+ return new Map(sorted);
68
+ }, ...(ngDevMode ? [{ debugName: "categoryTree" }] : []));
69
+ select(comp) {
70
+ this.activeItem.set({ kind: 'component', data: comp });
71
+ }
72
+ selectPage(page) {
73
+ this.activeItem.set({ kind: 'page', data: page });
74
+ }
75
+ selectFirst() {
76
+ const comps = this.searchService.filteredComponents();
77
+ if (comps.length > 0) {
78
+ this.activeItem.set({ kind: 'component', data: comps[0] });
79
+ return;
80
+ }
81
+ const pages = this.searchService.filteredPages();
82
+ if (pages.length > 0) {
83
+ this.activeItem.set({ kind: 'page', data: pages[0] });
84
+ return;
85
+ }
86
+ this.activeItem.set(null);
87
+ }
88
+ static ɵfac = function PrismNavigationService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismNavigationService)(); };
89
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismNavigationService, factory: PrismNavigationService.ɵfac, providedIn: 'root' });
90
+ }
91
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismNavigationService, [{
92
+ type: Injectable,
93
+ args: [{ providedIn: 'root' }]
94
+ }], null, null); })();
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PrismPanelService {
3
+ readonly activePanelId: import("@angular/core").WritableSignal<string>;
4
+ readonly activeViewId: import("@angular/core").WritableSignal<string>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismPanelService, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismPanelService>;
7
+ }
8
+ //# sourceMappingURL=prism-panel.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism-panel.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-panel.service.ts"],"names":[],"mappings":";AAEA,qBACa,iBAAiB;IAC5B,QAAQ,CAAC,aAAa,iDAA8B;IACpD,QAAQ,CAAC,YAAY,iDAA8B;yCAFxC,iBAAiB;6CAAjB,iBAAiB;CAG7B"}
@@ -0,0 +1,12 @@
1
+ import { Injectable, signal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PrismPanelService {
4
+ activePanelId = signal('controls', ...(ngDevMode ? [{ debugName: "activePanelId" }] : []));
5
+ activeViewId = signal('renderer', ...(ngDevMode ? [{ debugName: "activeViewId" }] : []));
6
+ static ɵfac = function PrismPanelService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismPanelService)(); };
7
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismPanelService, factory: PrismPanelService.ɵfac, providedIn: 'root' });
8
+ }
9
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismPanelService, [{
10
+ type: Injectable,
11
+ args: [{ providedIn: 'root' }]
12
+ }], null, null); })();
@@ -0,0 +1,12 @@
1
+ import type { ControlDefinition, PanelDefinition } from '../../plugin/plugin.types.js';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PrismPluginService {
4
+ private readonly config;
5
+ readonly panels: import("@angular/core").Signal<PanelDefinition[]>;
6
+ readonly addonPanels: import("@angular/core").Signal<PanelDefinition[]>;
7
+ readonly viewPanels: import("@angular/core").Signal<PanelDefinition[]>;
8
+ readonly controls: import("@angular/core").Signal<ControlDefinition[]>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismPluginService, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismPluginService>;
11
+ }
12
+ //# sourceMappingURL=prism-plugin.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism-plugin.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-plugin.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAGvF,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,QAAQ,CAAC,MAAM,oDAQZ;IAEH,QAAQ,CAAC,WAAW,oDAElB;IAEF,QAAQ,CAAC,UAAU,oDAEjB;IAEF,QAAQ,CAAC,QAAQ,sDAQd;yCA7BQ,kBAAkB;6CAAlB,kBAAkB;CA8B9B"}
@@ -0,0 +1,32 @@
1
+ import { computed, inject, Injectable } from '@angular/core';
2
+ import { PRISM_CONFIG } from '../tokens/prism-tokens.js';
3
+ import * as i0 from "@angular/core";
4
+ export class PrismPluginService {
5
+ config = inject(PRISM_CONFIG);
6
+ panels = computed(() => {
7
+ const result = [];
8
+ for (const plugin of this.config.plugins ?? []) {
9
+ if (plugin.panels) {
10
+ result.push(...plugin.panels);
11
+ }
12
+ }
13
+ return result;
14
+ }, ...(ngDevMode ? [{ debugName: "panels" }] : []));
15
+ addonPanels = computed(() => this.panels().filter((p) => p.placement !== 'view'), ...(ngDevMode ? [{ debugName: "addonPanels" }] : []));
16
+ viewPanels = computed(() => this.panels().filter((p) => p.placement === 'view'), ...(ngDevMode ? [{ debugName: "viewPanels" }] : []));
17
+ controls = computed(() => {
18
+ const result = [];
19
+ for (const plugin of this.config.plugins ?? []) {
20
+ if (plugin.controls) {
21
+ result.push(...plugin.controls);
22
+ }
23
+ }
24
+ return result;
25
+ }, ...(ngDevMode ? [{ debugName: "controls" }] : []));
26
+ static ɵfac = function PrismPluginService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismPluginService)(); };
27
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismPluginService, factory: PrismPluginService.ɵfac, providedIn: 'root' });
28
+ }
29
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismPluginService, [{
30
+ type: Injectable,
31
+ args: [{ providedIn: 'root' }]
32
+ }], null, null); })();
@@ -0,0 +1,18 @@
1
+ import type { RuntimeComponent } from '../../plugin/plugin.types.js';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PrismRendererService {
4
+ private readonly navigationService;
5
+ readonly activeVariantIndex: import("@angular/core").WritableSignal<number>;
6
+ readonly inputValues: import("@angular/core").WritableSignal<Record<string, unknown>>;
7
+ readonly activeContent: import("@angular/core").WritableSignal<string | Record<string, string> | undefined>;
8
+ readonly renderedElement: import("@angular/core").WritableSignal<Element | null>;
9
+ private _lastClassName;
10
+ resetForComponent(comp: RuntimeComponent): void;
11
+ reconcileForComponent(comp: RuntimeComponent): void;
12
+ selectVariant(index: number): void;
13
+ updateInput(name: string, value: unknown): void;
14
+ private applyVariant;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismRendererService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismRendererService>;
17
+ }
18
+ //# sourceMappingURL=prism-renderer.service.d.ts.map
@@ -0,0 +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,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,QAAQ,CAAC,kBAAkB,iDAAa;IACxC,QAAQ,CAAC,WAAW,kEAAuC;IAC3D,QAAQ,CAAC,aAAa,sFAAkE;IACxF,QAAQ,CAAC,eAAe,yDAAgC;IAExD,OAAO,CAAC,cAAc,CAAuB;IAE7C,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAM/C,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAoCnD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C,OAAO,CAAC,YAAY;yCA9DT,oBAAoB;6CAApB,oBAAoB;CA6FhC"}
@@ -0,0 +1,84 @@
1
+ import { inject, Injectable, signal } from '@angular/core';
2
+ import { PrismNavigationService } from './prism-navigation.service.js';
3
+ import * as i0 from "@angular/core";
4
+ export class PrismRendererService {
5
+ navigationService = inject(PrismNavigationService);
6
+ activeVariantIndex = signal(0, ...(ngDevMode ? [{ debugName: "activeVariantIndex" }] : []));
7
+ inputValues = signal({}, ...(ngDevMode ? [{ debugName: "inputValues" }] : []));
8
+ activeContent = signal(undefined, ...(ngDevMode ? [{ debugName: "activeContent" }] : []));
9
+ renderedElement = signal(null, ...(ngDevMode ? [{ debugName: "renderedElement" }] : []));
10
+ _lastClassName = null;
11
+ resetForComponent(comp) {
12
+ this._lastClassName = comp.meta.className;
13
+ this.activeVariantIndex.set(0);
14
+ this.applyVariant(0, comp);
15
+ }
16
+ reconcileForComponent(comp) {
17
+ const prev = this._lastClassName;
18
+ this._lastClassName = comp.meta.className;
19
+ if (prev !== comp.meta.className) {
20
+ this.activeVariantIndex.set(0);
21
+ this.applyVariant(0, comp);
22
+ return;
23
+ }
24
+ const variants = comp.meta.showcaseConfig.variants ?? [];
25
+ const maxIndex = Math.max(0, variants.length - 1);
26
+ const preservedIndex = Math.min(this.activeVariantIndex(), maxIndex);
27
+ this.activeVariantIndex.set(preservedIndex);
28
+ const validKeys = new Set(comp.meta.inputs.map((i) => i.name));
29
+ const currentValues = this.inputValues();
30
+ const preserved = {};
31
+ for (const [key, value] of Object.entries(currentValues)) {
32
+ if (validKeys.has(key) || key === '__prismContent__') {
33
+ preserved[key] = value;
34
+ }
35
+ }
36
+ const variant = variants[preservedIndex];
37
+ const variantInputs = variant?.inputs ?? {};
38
+ const merged = { ...variantInputs, ...preserved };
39
+ if (comp.meta.componentMeta.isDirective && variant?.content && preserved['__prismContent__'] === undefined) {
40
+ merged['__prismContent__'] = typeof variant.content === 'string' ? variant.content : '';
41
+ }
42
+ this.inputValues.set(merged);
43
+ this.activeContent.set(comp.meta.componentMeta.isDirective ? undefined : variant?.content);
44
+ }
45
+ selectVariant(index) {
46
+ this.activeVariantIndex.set(index);
47
+ const comp = this.navigationService.activeComponent();
48
+ if (comp)
49
+ this.applyVariant(index, comp);
50
+ }
51
+ updateInput(name, value) {
52
+ this.inputValues.update((prev) => ({ ...prev, [name]: value }));
53
+ }
54
+ applyVariant(index, comp) {
55
+ const defaults = {};
56
+ for (const input of comp.meta.inputs) {
57
+ if (input.defaultValue !== undefined) {
58
+ defaults[input.name] = input.defaultValue;
59
+ }
60
+ }
61
+ const requiredInputNames = new Set(comp.meta.inputs.filter((i) => i.required).map((i) => i.name));
62
+ const reset = {};
63
+ for (const v of comp.meta.showcaseConfig.variants ?? []) {
64
+ for (const key of Object.keys(v.inputs ?? {})) {
65
+ if (!requiredInputNames.has(key) && !(key in reset)) {
66
+ reset[key] = undefined;
67
+ }
68
+ }
69
+ }
70
+ const variant = comp.meta.showcaseConfig.variants?.[index];
71
+ const values = { ...reset, ...defaults, ...(variant?.inputs ?? {}) };
72
+ if (comp.meta.componentMeta.isDirective && variant?.content) {
73
+ values['__prismContent__'] = typeof variant.content === 'string' ? variant.content : '';
74
+ }
75
+ this.inputValues.set(values);
76
+ this.activeContent.set(comp.meta.componentMeta.isDirective ? undefined : variant?.content);
77
+ }
78
+ static ɵfac = function PrismRendererService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismRendererService)(); };
79
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismRendererService, factory: PrismRendererService.ɵfac, providedIn: 'root' });
80
+ }
81
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismRendererService, [{
82
+ type: Injectable,
83
+ args: [{ providedIn: 'root' }]
84
+ }], null, null); })();
@@ -0,0 +1,13 @@
1
+ import type { StyleguidePage } from '../../plugin/page.types.js';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PrismSearchService {
4
+ private readonly manifestService;
5
+ readonly query: import("@angular/core").WritableSignal<string>;
6
+ readonly filteredComponents: import("@angular/core").Signal<import("../../index.js").RuntimeComponent[]>;
7
+ readonly filteredPages: import("@angular/core").Signal<StyleguidePage[]>;
8
+ search(q: string): void;
9
+ clear(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismSearchService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismSearchService>;
12
+ }
13
+ //# sourceMappingURL=prism-search.service.d.ts.map
@@ -0,0 +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;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,KAAK,iDAAc;IAE5B,QAAQ,CAAC,kBAAkB,8EAYxB;IAEH,QAAQ,CAAC,aAAa,mDAQnB;IAEH,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,IAAI,IAAI;yCAjCF,kBAAkB;6CAAlB,kBAAkB;CAoC9B"}
@@ -0,0 +1,39 @@
1
+ import { computed, inject, Injectable, signal } from '@angular/core';
2
+ import { PrismManifestService } from './prism-manifest.service.js';
3
+ import * as i0 from "@angular/core";
4
+ export class PrismSearchService {
5
+ manifestService = inject(PrismManifestService);
6
+ query = signal('', ...(ngDevMode ? [{ debugName: "query" }] : []));
7
+ filteredComponents = computed(() => {
8
+ const q = this.query().toLowerCase().trim();
9
+ const all = this.manifestService.components();
10
+ if (!q)
11
+ return all;
12
+ return all.filter((comp) => {
13
+ const config = comp.meta.showcaseConfig;
14
+ return (config.title.toLowerCase().includes(q) ||
15
+ (config.category?.toLowerCase().includes(q) ?? false) ||
16
+ (config.tags?.some((t) => t.toLowerCase().includes(q)) ?? false));
17
+ });
18
+ }, ...(ngDevMode ? [{ debugName: "filteredComponents" }] : []));
19
+ filteredPages = computed(() => {
20
+ const q = this.query().toLowerCase().trim();
21
+ const all = this.manifestService.pages();
22
+ if (!q)
23
+ return all;
24
+ return all.filter((page) => page.title.toLowerCase().includes(q) ||
25
+ (page.category?.toLowerCase().includes(q) ?? false));
26
+ }, ...(ngDevMode ? [{ debugName: "filteredPages" }] : []));
27
+ search(q) {
28
+ this.query.set(q);
29
+ }
30
+ clear() {
31
+ this.query.set('');
32
+ }
33
+ static ɵfac = function PrismSearchService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismSearchService)(); };
34
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismSearchService, factory: PrismSearchService.ɵfac, providedIn: 'root' });
35
+ }
36
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismSearchService, [{
37
+ type: Injectable,
38
+ args: [{ providedIn: 'root' }]
39
+ }], null, null); })();
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PrismThemeService {
3
+ readonly isDark: import("@angular/core").WritableSignal<boolean>;
4
+ constructor();
5
+ toggle(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismThemeService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismThemeService>;
8
+ }
9
+ //# sourceMappingURL=prism-theme.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism-theme.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-theme.service.ts"],"names":[],"mappings":";AAIA,qBACa,iBAAiB;IAC5B,QAAQ,CAAC,MAAM,kDAAgB;;IAQ/B,MAAM,IAAI,IAAI;yCATH,iBAAiB;6CAAjB,iBAAiB;CAa7B"}
@@ -0,0 +1,23 @@
1
+ import { Injectable, signal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const STORAGE_KEY = 'ng-prism-theme';
4
+ export class PrismThemeService {
5
+ isDark = signal(true, ...(ngDevMode ? [{ debugName: "isDark" }] : []));
6
+ constructor() {
7
+ const stored = localStorage.getItem(STORAGE_KEY);
8
+ if (stored === 'light')
9
+ this.isDark.set(false);
10
+ else if (stored === 'dark')
11
+ this.isDark.set(true);
12
+ }
13
+ toggle() {
14
+ this.isDark.update((v) => !v);
15
+ localStorage.setItem(STORAGE_KEY, this.isDark() ? 'dark' : 'light');
16
+ }
17
+ static ɵfac = function PrismThemeService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismThemeService)(); };
18
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismThemeService, factory: PrismThemeService.ɵfac, providedIn: 'root' });
19
+ }
20
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismThemeService, [{
21
+ type: Injectable,
22
+ args: [{ providedIn: 'root' }]
23
+ }], () => [], null); })();
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PrismUrlStateService {
3
+ private readonly manifestService;
4
+ private readonly navigationService;
5
+ private readonly rendererService;
6
+ private readonly panelService;
7
+ private readonly config;
8
+ private readonly injector;
9
+ private suppressSync;
10
+ init(): void;
11
+ private restoreFromUrl;
12
+ private writeToUrl;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismUrlStateService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrismUrlStateService>;
15
+ }
16
+ //# sourceMappingURL=prism-url-state.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism-url-state.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-url-state.service.ts"],"names":[],"mappings":";AAcA,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C,OAAO,CAAC,YAAY,CAAS;IAE7B,IAAI,IAAI,IAAI;IAiBZ,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,UAAU;yCAjEP,oBAAoB;6CAApB,oBAAoB;CAsGhC"}