@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,7 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const PRISM_MANIFEST = new InjectionToken('PRISM_MANIFEST');
3
+ export const PRISM_CONFIG = new InjectionToken('PRISM_CONFIG', {
4
+ providedIn: 'root',
5
+ factory: () => ({}),
6
+ });
7
+ export const PRISM_RENDERER_HOOKS = new InjectionToken('PRISM_RENDERER_HOOKS');
@@ -0,0 +1,22 @@
1
+ import { EnvironmentInjector, OnDestroy, type Type } from '@angular/core';
2
+ import { PrismPanelService } from '../services/prism-panel.service.js';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PrismViewPanelHostComponent implements OnDestroy {
5
+ private readonly pluginService;
6
+ private readonly nav;
7
+ protected readonly panelService: PrismPanelService;
8
+ private readonly envInjector;
9
+ private readonly allViewPanels;
10
+ protected readonly resolvedComponent: import("@angular/core").WritableSignal<Type<unknown> | null>;
11
+ protected readonly panelInputs: import("@angular/core").Signal<{
12
+ activeComponent: import("../../index.js").RuntimeComponent | null;
13
+ }>;
14
+ private readonly lazyCache;
15
+ private readonly injectorCache;
16
+ protected readonly activeInjector: import("@angular/core").Signal<EnvironmentInjector>;
17
+ constructor();
18
+ ngOnDestroy(): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismViewPanelHostComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<PrismViewPanelHostComponent, "prism-view-panel-host", never, {}, {}, never, never, true, never>;
21
+ }
22
+ //# sourceMappingURL=prism-view-panel-host.component.d.ts.map
@@ -0,0 +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,EAA0D,mBAAmB,EAAU,SAAS,EAAU,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAGlJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AAGvE,qBAqBa,2BAA4B,YAAW,SAAS;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,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,CAG3B;IAEH,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,sDAY9B;;IA+BH,WAAW,IAAI,IAAI;yCA9DR,2BAA2B;2CAA3B,2BAA2B;CAiEvC"}
@@ -0,0 +1,90 @@
1
+ import { NgComponentOutlet } from '@angular/common';
2
+ import { Component, computed, createEnvironmentInjector, effect, EnvironmentInjector, inject, signal } from '@angular/core';
3
+ import { BUILTIN_PANELS } from '../panels/builtin-panels.js';
4
+ import { PrismNavigationService } from '../services/prism-navigation.service.js';
5
+ import { PrismPanelService } from '../services/prism-panel.service.js';
6
+ import { PrismPluginService } from '../services/prism-plugin.service.js';
7
+ import * as i0 from "@angular/core";
8
+ function PrismViewPanelHostComponent_Conditional_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelementContainer(0);
10
+ } }
11
+ function PrismViewPanelHostComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵtemplate(0, PrismViewPanelHostComponent_Conditional_1_ng_container_0_Template, 1, 0, "ng-container", 1);
13
+ } if (rf & 2) {
14
+ const ctx_r0 = i0.ɵɵnextContext();
15
+ i0.ɵɵproperty("ngComponentOutlet", ctx_r0.resolvedComponent())("ngComponentOutletInputs", ctx_r0.panelInputs())("ngComponentOutletInjector", ctx_r0.activeInjector());
16
+ } }
17
+ export class PrismViewPanelHostComponent {
18
+ pluginService = inject(PrismPluginService);
19
+ nav = inject(PrismNavigationService);
20
+ panelService = inject(PrismPanelService);
21
+ envInjector = inject(EnvironmentInjector);
22
+ allViewPanels = computed(() => [
23
+ ...BUILTIN_PANELS.filter((p) => p.placement === 'view'),
24
+ ...this.pluginService.viewPanels(),
25
+ ], ...(ngDevMode ? [{ debugName: "allViewPanels" }] : []));
26
+ resolvedComponent = signal(null, ...(ngDevMode ? [{ debugName: "resolvedComponent" }] : []));
27
+ panelInputs = computed(() => ({
28
+ activeComponent: this.nav.activeComponent(),
29
+ }), ...(ngDevMode ? [{ debugName: "panelInputs" }] : []));
30
+ lazyCache = new Map();
31
+ injectorCache = new Map();
32
+ activeInjector = computed(() => {
33
+ const panelId = this.panelService.activeViewId();
34
+ const panel = this.allViewPanels().find((p) => p.id === panelId);
35
+ if (!panel?.providers?.length)
36
+ return this.envInjector;
37
+ if (!this.injectorCache.has(panel.id)) {
38
+ this.injectorCache.set(panel.id, createEnvironmentInjector(panel.providers, this.envInjector, `PrismViewPanel[${panel.id}]`));
39
+ }
40
+ return this.injectorCache.get(panel.id);
41
+ }, ...(ngDevMode ? [{ debugName: "activeInjector" }] : []));
42
+ constructor() {
43
+ effect(() => {
44
+ const panel = this.allViewPanels().find((p) => p.id === this.panelService.activeViewId()) ?? null;
45
+ if (!panel) {
46
+ this.resolvedComponent.set(null);
47
+ return;
48
+ }
49
+ if (panel.component) {
50
+ this.resolvedComponent.set(panel.component);
51
+ return;
52
+ }
53
+ if (panel.loadComponent) {
54
+ const cached = this.lazyCache.get(panel.id);
55
+ if (cached) {
56
+ this.resolvedComponent.set(cached);
57
+ return;
58
+ }
59
+ this.resolvedComponent.set(null);
60
+ panel.loadComponent().then((comp) => {
61
+ this.lazyCache.set(panel.id, comp);
62
+ this.resolvedComponent.set(comp);
63
+ });
64
+ }
65
+ });
66
+ }
67
+ ngOnDestroy() {
68
+ this.injectorCache.forEach((injector) => injector.destroy());
69
+ }
70
+ static ɵfac = function PrismViewPanelHostComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismViewPanelHostComponent)(); };
71
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismViewPanelHostComponent, selectors: [["prism-view-panel-host"]], decls: 2, vars: 1, consts: [[1, "prism-view-panel-host"], [4, "ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector"]], template: function PrismViewPanelHostComponent_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵelementStart(0, "div", 0);
73
+ i0.ɵɵconditionalCreate(1, PrismViewPanelHostComponent_Conditional_1_Template, 1, 3, "ng-container");
74
+ i0.ɵɵelementEnd();
75
+ } if (rf & 2) {
76
+ i0.ɵɵadvance();
77
+ i0.ɵɵconditional(ctx.resolvedComponent() ? 1 : -1);
78
+ } }, 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(--prism-bg-elevated);\n }"] });
79
+ }
80
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismViewPanelHostComponent, [{
81
+ type: Component,
82
+ args: [{ selector: 'prism-view-panel-host', standalone: true, imports: [NgComponentOutlet], template: `
83
+ <div class="prism-view-panel-host">
84
+ @if (resolvedComponent()) {
85
+ <ng-container *ngComponentOutlet="resolvedComponent(); inputs: panelInputs(); injector: activeInjector()" />
86
+ }
87
+ </div>
88
+ `, 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 "] }]
89
+ }], () => [], null); })();
90
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewPanelHostComponent, { className: "PrismViewPanelHostComponent", filePath: "app/view-tab-bar/prism-view-panel-host.component.ts", lineNumber: 29 }); })();
@@ -0,0 +1,10 @@
1
+ import { PrismPanelService } from '../services/prism-panel.service.js';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PrismViewTabBarComponent {
4
+ protected readonly panelService: PrismPanelService;
5
+ private readonly pluginService;
6
+ protected readonly viewPanels: import("@angular/core").Signal<import("../../index.js").PanelDefinition[]>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrismViewTabBarComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<PrismViewTabBarComponent, "prism-view-tab-bar", never, {}, {}, never, never, true, never>;
9
+ }
10
+ //# sourceMappingURL=prism-view-tab-bar.component.d.ts.map
@@ -0,0 +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":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AAGvE,qBAgEa,wBAAwB;IACnC,SAAS,CAAC,QAAQ,CAAC,YAAY,oBAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAE5D,SAAS,CAAC,QAAQ,CAAC,UAAU,6EAG1B;yCAPQ,wBAAwB;2CAAxB,wBAAwB;CAQpC"}
@@ -0,0 +1,65 @@
1
+ import { Component, computed, inject } from '@angular/core';
2
+ import { BUILTIN_PANELS } from '../panels/builtin-panels.js';
3
+ import { PrismPanelService } from '../services/prism-panel.service.js';
4
+ import { PrismPluginService } from '../services/prism-plugin.service.js';
5
+ import * as i0 from "@angular/core";
6
+ const _forTrack0 = ($index, $item) => $item.id;
7
+ function PrismViewTabBarComponent_For_4_Template(rf, ctx) { if (rf & 1) {
8
+ const _r1 = i0.ɵɵgetCurrentView();
9
+ i0.ɵɵdomElementStart(0, "button", 1);
10
+ i0.ɵɵdomListener("click", function PrismViewTabBarComponent_For_4_Template_button_click_0_listener() { const panel_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.panelService.activeViewId.set(panel_r2.id)); });
11
+ i0.ɵɵtext(1);
12
+ i0.ɵɵdomElementEnd();
13
+ } if (rf & 2) {
14
+ const panel_r2 = ctx.$implicit;
15
+ const ctx_r2 = i0.ɵɵnextContext();
16
+ i0.ɵɵclassProp("prism-view-tab-bar__tab--active", ctx_r2.panelService.activeViewId() === panel_r2.id);
17
+ i0.ɵɵadvance();
18
+ i0.ɵɵtextInterpolate1(" ", panel_r2.label, " ");
19
+ } }
20
+ export class PrismViewTabBarComponent {
21
+ panelService = inject(PrismPanelService);
22
+ pluginService = inject(PrismPluginService);
23
+ viewPanels = computed(() => [
24
+ ...BUILTIN_PANELS.filter((p) => p.placement === 'view'),
25
+ ...this.pluginService.viewPanels(),
26
+ ], ...(ngDevMode ? [{ debugName: "viewPanels" }] : []));
27
+ static ɵfac = function PrismViewTabBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismViewTabBarComponent)(); };
28
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismViewTabBarComponent, selectors: [["prism-view-tab-bar"]], decls: 5, vars: 2, consts: [[1, "prism-view-tab-bar"], [1, "prism-view-tab-bar__tab", 3, "click"], [1, "prism-view-tab-bar__tab", 3, "prism-view-tab-bar__tab--active"]], template: function PrismViewTabBarComponent_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵdomElementStart(0, "div", 0)(1, "button", 1);
30
+ i0.ɵɵdomListener("click", function PrismViewTabBarComponent_Template_button_click_1_listener() { return ctx.panelService.activeViewId.set("renderer"); });
31
+ i0.ɵɵtext(2, " Renderer ");
32
+ i0.ɵɵdomElementEnd();
33
+ i0.ɵɵrepeaterCreate(3, PrismViewTabBarComponent_For_4_Template, 2, 3, "button", 2, _forTrack0);
34
+ i0.ɵɵdomElementEnd();
35
+ } if (rf & 2) {
36
+ i0.ɵɵadvance();
37
+ i0.ɵɵclassProp("prism-view-tab-bar__tab--active", ctx.panelService.activeViewId() === "renderer");
38
+ i0.ɵɵadvance(2);
39
+ i0.ɵɵrepeater(ctx.viewPanels());
40
+ } }, styles: [".prism-view-tab-bar[_ngcontent-%COMP%] {\n display: flex;\n border-bottom: 1px solid var(--prism-border);\n padding: 0 8px;\n flex-shrink: 0;\n background: var(--prism-bg-elevated);\n }\n\n .prism-view-tab-bar__tab[_ngcontent-%COMP%] {\n padding: 9px 14px;\n font-size: 13px;\n font-family: var(--prism-font-sans);\n border: none;\n background: none;\n color: var(--prism-text-muted);\n cursor: pointer;\n position: relative;\n margin-bottom: -1px;\n transition: color 0.12s;\n }\n\n .prism-view-tab-bar__tab[_ngcontent-%COMP%]::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 8px;\n right: 8px;\n height: 2px;\n background: linear-gradient(90deg, var(--prism-primary-from), var(--prism-primary-to));\n opacity: 0;\n transition: opacity 0.12s;\n }\n\n .prism-view-tab-bar__tab[_ngcontent-%COMP%]:hover { color: var(--prism-text-2); }\n\n .prism-view-tab-bar__tab--active[_ngcontent-%COMP%] { color: var(--prism-primary); font-weight: 500; }\n\n .prism-view-tab-bar__tab--active[_ngcontent-%COMP%]::after { opacity: 1; }"] });
41
+ }
42
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismViewTabBarComponent, [{
43
+ type: Component,
44
+ args: [{ selector: 'prism-view-tab-bar', standalone: true, template: `
45
+ <div class="prism-view-tab-bar">
46
+ <button
47
+ class="prism-view-tab-bar__tab"
48
+ [class.prism-view-tab-bar__tab--active]="panelService.activeViewId() === 'renderer'"
49
+ (click)="panelService.activeViewId.set('renderer')"
50
+ >
51
+ Renderer
52
+ </button>
53
+ @for (panel of viewPanels(); track panel.id) {
54
+ <button
55
+ class="prism-view-tab-bar__tab"
56
+ [class.prism-view-tab-bar__tab--active]="panelService.activeViewId() === panel.id"
57
+ (click)="panelService.activeViewId.set(panel.id)"
58
+ >
59
+ {{ panel.label }}
60
+ </button>
61
+ }
62
+ </div>
63
+ `, styles: ["\n .prism-view-tab-bar {\n display: flex;\n border-bottom: 1px solid var(--prism-border);\n padding: 0 8px;\n flex-shrink: 0;\n background: var(--prism-bg-elevated);\n }\n\n .prism-view-tab-bar__tab {\n padding: 9px 14px;\n font-size: 13px;\n font-family: var(--prism-font-sans);\n border: none;\n background: none;\n color: var(--prism-text-muted);\n cursor: pointer;\n position: relative;\n margin-bottom: -1px;\n transition: color 0.12s;\n }\n\n .prism-view-tab-bar__tab::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 8px;\n right: 8px;\n height: 2px;\n background: linear-gradient(90deg, var(--prism-primary-from), var(--prism-primary-to));\n opacity: 0;\n transition: opacity 0.12s;\n }\n\n .prism-view-tab-bar__tab:hover { color: var(--prism-text-2); }\n\n .prism-view-tab-bar__tab--active { color: var(--prism-primary); font-weight: 500; }\n\n .prism-view-tab-bar__tab--active::after { opacity: 1; }\n "] }]
64
+ }], null, null); })();
65
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewTabBarComponent, { className: "PrismViewTabBarComponent", filePath: "app/view-tab-bar/prism-view-tab-bar.component.ts", lineNumber: 70 }); })();
@@ -0,0 +1,6 @@
1
+ import { type Builder } from '@angular-devkit/architect';
2
+ import type { json } from '@angular-devkit/core';
3
+ import type { BuildBuilderSchema } from './schema.js';
4
+ declare const builder: Builder<BuildBuilderSchema & json.JsonObject>;
5
+ export default builder;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,OAAO,EAA2C,MAAM,2BAA2B,CAAC;AACjH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAwBtD,QAAA,MAAM,OAAO,EAAE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAyD,CAAC;AACrH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { createBuilder } from '@angular-devkit/architect';
2
+ import { runPrismPipeline, createPipelineState } from '../shared/prism-pipeline.js';
3
+ async function createBuildBuilder(options, context) {
4
+ const pipelineOptions = {
5
+ entryPoint: options.entryPoint,
6
+ libraryImportPath: options.libraryImportPath ?? options.libraryProject ?? options.prismProject,
7
+ prismProject: options.prismProject,
8
+ configFile: options.configFile ?? 'ng-prism.config.ts',
9
+ };
10
+ await runPrismPipeline(pipelineOptions, context, createPipelineState());
11
+ const run = await context.scheduleTarget({ project: options.prismProject, target: 'build', configuration: '' }, options.outputPath ? { outputPath: options.outputPath } : {});
12
+ return run.result;
13
+ }
14
+ const builder = createBuilder(createBuildBuilder);
15
+ export default builder;
@@ -0,0 +1,9 @@
1
+ export interface BuildBuilderSchema {
2
+ entryPoint: string;
3
+ prismProject: string;
4
+ libraryProject?: string;
5
+ outputPath?: string;
6
+ libraryImportPath?: string;
7
+ configFile?: string;
8
+ }
9
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +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;CACrB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import '@angular/compiler';
2
+ import type { NgPrismConfig } from '../../plugin/plugin.types.js';
3
+ export interface ConfigLoaderOptions {
4
+ workspaceRoot: string;
5
+ configFileName?: string;
6
+ }
7
+ export declare function loadConfig(options: ConfigLoaderOptions): Promise<NgPrismConfig>;
8
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +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,CA6BrF"}
@@ -0,0 +1,33 @@
1
+ import '@angular/compiler';
2
+ import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'fs';
3
+ import { join } from 'path';
4
+ import { pathToFileURL } from 'url';
5
+ import ts from 'typescript';
6
+ const DEFAULT_CONFIG_FILE = 'ng-prism.config.ts';
7
+ export async function loadConfig(options) {
8
+ const configFileName = options.configFileName ?? DEFAULT_CONFIG_FILE;
9
+ const configPath = join(options.workspaceRoot, configFileName);
10
+ if (!existsSync(configPath)) {
11
+ return {};
12
+ }
13
+ const source = readFileSync(configPath, 'utf-8');
14
+ const transpiled = ts.transpileModule(source, {
15
+ compilerOptions: {
16
+ module: ts.ModuleKind.ESNext,
17
+ target: ts.ScriptTarget.ES2022,
18
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
19
+ esModuleInterop: true,
20
+ },
21
+ });
22
+ const tempPath = configPath.replace(/\.ts$/, '.tmp.mjs');
23
+ try {
24
+ writeFileSync(tempPath, transpiled.outputText, 'utf-8');
25
+ const module = await import(pathToFileURL(tempPath).href);
26
+ return module.default ?? {};
27
+ }
28
+ finally {
29
+ if (existsSync(tempPath)) {
30
+ unlinkSync(tempPath);
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,3 @@
1
+ export { loadConfig } from './config-loader.js';
2
+ export type { ConfigLoaderOptions } from './config-loader.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/config-loader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export { loadConfig } from './config-loader.js';
@@ -0,0 +1,7 @@
1
+ import type { IconEntry } from '../../plugin/page.types.js';
2
+ export interface ResolveIconsOptions {
3
+ pattern: string;
4
+ workspaceRoot: string;
5
+ }
6
+ export declare function resolveIcons(options: ResolveIconsOptions): IconEntry[];
7
+ //# sourceMappingURL=icon-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-resolver.d.ts","sourceRoot":"","sources":["../../../src/builder/icon-resolver/icon-resolver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,EAAE,CAStE"}
@@ -0,0 +1,12 @@
1
+ import { readFileSync } from 'fs';
2
+ import { basename } from 'path';
3
+ import { globSync } from 'glob';
4
+ export function resolveIcons(options) {
5
+ const { pattern, workspaceRoot } = options;
6
+ const files = globSync(pattern, { cwd: workspaceRoot, absolute: true }).sort();
7
+ return files.map((filePath) => ({
8
+ name: basename(filePath, '.svg'),
9
+ svg: readFileSync(filePath, 'utf-8'),
10
+ filePath,
11
+ }));
12
+ }
@@ -0,0 +1,2 @@
1
+ export { resolveIcons, type ResolveIconsOptions } from './icon-resolver.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/icon-resolver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export { resolveIcons } from './icon-resolver.js';
@@ -0,0 +1,6 @@
1
+ export interface ParsedHost {
2
+ tag: string;
3
+ attrs: string;
4
+ }
5
+ export declare function parseHostString(host: string): ParsedHost | null;
6
+ //# sourceMappingURL=host-parser.d.ts.map
@@ -0,0 +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;CACf;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAS/D"}
@@ -0,0 +1,9 @@
1
+ export function parseHostString(host) {
2
+ const trimmed = host.trim();
3
+ const match = trimmed.match(/^<\s*([a-zA-Z][a-zA-Z0-9-]*)((?:\s+[^>]*?)?)\s*\/?\s*>$/);
4
+ if (!match)
5
+ return null;
6
+ const tag = match[1];
7
+ const attrs = match[2].trim();
8
+ return { tag, attrs };
9
+ }
@@ -0,0 +1,3 @@
1
+ export { generateRuntimeManifest } from './runtime-manifest.generator.js';
2
+ export type { RuntimeManifestOptions } from './runtime-manifest.generator.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1 @@
1
+ export { generateRuntimeManifest } from './runtime-manifest.generator.js';
@@ -0,0 +1,9 @@
1
+ import type { ScannedComponent } from '../../plugin/plugin.types.js';
2
+ import type { StyleguidePage } from '../../plugin/page.types.js';
3
+ export interface RuntimeManifestOptions {
4
+ components: ScannedComponent[];
5
+ libraryImportPath: string;
6
+ pages?: StyleguidePage[];
7
+ }
8
+ export declare function generateRuntimeManifest(options: RuntimeManifestOptions): string;
9
+ //# sourceMappingURL=runtime-manifest.generator.d.ts.map
@@ -0,0 +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;CAC1B;AAyHD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAsE/E"}
@@ -0,0 +1,216 @@
1
+ import { parseHostString } from './host-parser.js';
2
+ function inputTypeAnnotation(input) {
3
+ if (input.type === 'union' && input.values) {
4
+ return input.values.map((v) => `'${v}'`).join(' | ');
5
+ }
6
+ if (input.type === 'boolean')
7
+ return 'boolean';
8
+ if (input.type === 'number')
9
+ return 'number';
10
+ if (input.type === 'string')
11
+ return 'string';
12
+ if (input.type === 'array')
13
+ return 'unknown[]';
14
+ if (input.type === 'object')
15
+ return 'Record<string, unknown>';
16
+ return 'unknown';
17
+ }
18
+ function formatInputDeclaration(input) {
19
+ if (input.required) {
20
+ const typeAnnotation = inputTypeAnnotation(input);
21
+ return `input.required<${typeAnnotation}>()`;
22
+ }
23
+ const def = input.defaultValue !== undefined ? JSON.stringify(input.defaultValue) : "''";
24
+ const needsAnnotation = input.type === 'union' && input.values;
25
+ if (needsAnnotation) {
26
+ const typeAnnotation = inputTypeAnnotation(input);
27
+ return `input<${typeAnnotation}>(${def})`;
28
+ }
29
+ return `input(${def})`;
30
+ }
31
+ function directiveSelector(selector) {
32
+ const match = selector.match(/^\[([^\]]+)]$/);
33
+ return match ? match[1] : selector;
34
+ }
35
+ function isBindableInput(input) {
36
+ if (input.type === 'string' || input.type === 'number' || input.type === 'boolean' || input.type === 'union') {
37
+ return true;
38
+ }
39
+ return input.defaultValue !== undefined;
40
+ }
41
+ function generateWrapperClass(comp) {
42
+ const wrapperName = `${comp.className}__PrismHost`;
43
+ const host = comp.showcaseConfig.host;
44
+ const directiveAttr = directiveSelector(comp.componentMeta.selector);
45
+ const bindableInputs = comp.inputs.filter(isBindableInput);
46
+ let tag;
47
+ let attrs;
48
+ let importsArray;
49
+ if (typeof host === 'string') {
50
+ const parsed = parseHostString(host);
51
+ tag = parsed?.tag ?? 'div';
52
+ attrs = parsed?.attrs ? ` ${parsed.attrs}` : '';
53
+ importsArray = `[${comp.className}]`;
54
+ }
55
+ else if (host && typeof host === 'object') {
56
+ const hostObj = host;
57
+ tag = hostObj.selector;
58
+ const staticInputs = Object.entries(hostObj.inputs ?? {})
59
+ .map(([k, v]) => ` ${k}="${String(v)}"`)
60
+ .join('');
61
+ attrs = staticInputs;
62
+ importsArray = `[${comp.className}, ${hostObj.import.name}]`;
63
+ }
64
+ else {
65
+ tag = 'div';
66
+ attrs = '';
67
+ importsArray = `[${comp.className}]`;
68
+ }
69
+ const inputBindings = bindableInputs
70
+ .map((i) => ` [${i.name}]="${i.name}()"`)
71
+ .join('');
72
+ const outputBindings = comp.outputs
73
+ .map((o) => ` (${o.name})="${o.name}.emit($event)"`)
74
+ .join('');
75
+ const template = `<${tag}${attrs} ${directiveAttr}${inputBindings}${outputBindings}>{{ __prismContent__() }}</${tag}>`;
76
+ const members = [];
77
+ for (const i of bindableInputs) {
78
+ members.push(` ${i.name} = ${formatInputDeclaration(i)};`);
79
+ }
80
+ for (const o of comp.outputs) {
81
+ members.push(` ${o.name} = output();`);
82
+ }
83
+ members.push(` __prismContent__ = input('');`);
84
+ const lines = [
85
+ `@Component({`,
86
+ ` standalone: true,`,
87
+ ` imports: ${importsArray},`,
88
+ ` template: \`${template}\`,`,
89
+ `})`,
90
+ `class ${wrapperName} {`,
91
+ ...members,
92
+ `}`,
93
+ ];
94
+ return lines.join('\n');
95
+ }
96
+ function groupComponentsByImportPath(components, fallbackImportPath) {
97
+ const groups = new Map();
98
+ for (const comp of components) {
99
+ const path = comp.importPath ?? fallbackImportPath;
100
+ const list = groups.get(path);
101
+ if (list) {
102
+ list.push(comp.className);
103
+ }
104
+ else {
105
+ groups.set(path, [comp.className]);
106
+ }
107
+ }
108
+ return groups;
109
+ }
110
+ export function generateRuntimeManifest(options) {
111
+ const { components, libraryImportPath, pages } = options;
112
+ const directives = components.filter((c) => c.componentMeta.isDirective);
113
+ const hasDirectives = directives.length > 0;
114
+ const lines = [
115
+ '// AUTO-GENERATED by ng-prism — do not edit!',
116
+ "import type { RuntimeManifest } from 'ng-prism/plugin';",
117
+ ];
118
+ if (hasDirectives) {
119
+ lines.push("import { Component, input, output } from '@angular/core';");
120
+ }
121
+ if (components.length > 0) {
122
+ const groups = groupComponentsByImportPath(components, libraryImportPath);
123
+ for (const comp of directives) {
124
+ const host = comp.showcaseConfig.host;
125
+ if (host && typeof host === 'object' && 'import' in host) {
126
+ const hostObj = host;
127
+ const existing = groups.get(hostObj.import.from);
128
+ if (existing) {
129
+ if (!existing.includes(hostObj.import.name)) {
130
+ existing.push(hostObj.import.name);
131
+ }
132
+ }
133
+ else {
134
+ groups.set(hostObj.import.from, [hostObj.import.name]);
135
+ }
136
+ }
137
+ }
138
+ for (const [path, classNames] of groups) {
139
+ lines.push(`import { ${classNames.join(', ')} } from '${path}';`);
140
+ }
141
+ }
142
+ if (hasDirectives) {
143
+ lines.push('');
144
+ for (const comp of directives) {
145
+ lines.push(generateWrapperClass(comp));
146
+ lines.push('');
147
+ }
148
+ }
149
+ lines.push('');
150
+ lines.push('export const PRISM_RUNTIME_MANIFEST: RuntimeManifest = {');
151
+ lines.push(' components: [');
152
+ for (const comp of components) {
153
+ const typeName = comp.componentMeta.isDirective
154
+ ? `${comp.className}__PrismHost`
155
+ : comp.className;
156
+ lines.push(' {');
157
+ lines.push(` type: ${typeName},`);
158
+ lines.push(` meta: ${formatMeta(comp, 6)},`);
159
+ lines.push(' },');
160
+ }
161
+ lines.push(' ],');
162
+ if (pages && pages.length > 0) {
163
+ lines.push(` pages: ${JSON.stringify(pages, null, 2).split('\n').map((l, i) => i === 0 ? l : ' ' + l).join('\n')},`);
164
+ }
165
+ lines.push('};');
166
+ lines.push('');
167
+ return lines.join('\n');
168
+ }
169
+ function json(value) {
170
+ return JSON.stringify(value);
171
+ }
172
+ function indent(depth) {
173
+ return ' '.repeat(depth);
174
+ }
175
+ function formatMeta(comp, baseIndent) {
176
+ const inner = baseIndent + 2;
177
+ const lines = [
178
+ `${indent(inner)}className: ${json(comp.className)},`,
179
+ `${indent(inner)}filePath: ${json(comp.filePath)},`,
180
+ `${indent(inner)}showcaseConfig: ${formatObject(comp.showcaseConfig, inner)},`,
181
+ `${indent(inner)}inputs: ${formatArray(comp.inputs, inner)},`,
182
+ `${indent(inner)}outputs: ${formatArray(comp.outputs, inner)},`,
183
+ `${indent(inner)}componentMeta: ${formatObject(comp.componentMeta, inner)},`,
184
+ ];
185
+ if (comp.meta && Object.keys(comp.meta).length > 0) {
186
+ lines.push(`${indent(inner)}meta: ${formatObject(comp.meta, inner)},`);
187
+ }
188
+ return `{\n${lines.join('\n')}\n${indent(baseIndent)}}`;
189
+ }
190
+ function formatObject(obj, baseIndent) {
191
+ const entries = Object.entries(obj).filter(([, v]) => v !== undefined);
192
+ if (entries.length === 0)
193
+ return '{}';
194
+ const inner = baseIndent + 2;
195
+ const lines = entries.map(([key, value]) => {
196
+ const formatted = Array.isArray(value)
197
+ ? formatArray(value, inner)
198
+ : typeof value === 'object' && value !== null
199
+ ? formatObject(value, inner)
200
+ : json(value);
201
+ return `${indent(inner)}${key}: ${formatted},`;
202
+ });
203
+ return `{\n${lines.join('\n')}\n${indent(baseIndent)}}`;
204
+ }
205
+ function formatArray(arr, baseIndent) {
206
+ if (arr.length === 0)
207
+ return '[]';
208
+ const inner = baseIndent + 2;
209
+ const items = arr.map((item) => {
210
+ const formatted = typeof item === 'object' && item !== null && !Array.isArray(item)
211
+ ? formatObject(item, inner)
212
+ : json(item);
213
+ return `${indent(inner)}${formatted},`;
214
+ });
215
+ return `[\n${items.join('\n')}\n${indent(baseIndent)}]`;
216
+ }
@@ -0,0 +1,2 @@
1
+ export { runPluginHooks } from './plugin-runner.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/plugin-runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export { runPluginHooks } from './plugin-runner.js';
@@ -0,0 +1,3 @@
1
+ import type { NgPrismPlugin, PrismManifest } from '../../plugin/plugin.types.js';
2
+ export declare function runPluginHooks(manifest: PrismManifest, plugins: NgPrismPlugin[]): Promise<PrismManifest>;
3
+ //# sourceMappingURL=plugin-runner.d.ts.map