@ng-doc/app 17.6.16 → 18.0.0-beta.2

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 (289) hide show
  1. package/classes/root-page/root-page.d.ts +4 -7
  2. package/components/api-list/api-list.component.d.ts +13 -11
  3. package/components/breadcrumb/breadcrumb.component.d.ts +0 -1
  4. package/components/code/code.component.d.ts +2 -7
  5. package/components/copy-button/copy-button.component.d.ts +12 -0
  6. package/components/copy-button/index.d.ts +1 -0
  7. package/components/demo-displayer/demo-displayer.component.d.ts +0 -5
  8. package/components/heading-anchor/heading-anchor.component.d.ts +9 -0
  9. package/components/heading-anchor/index.d.ts +1 -0
  10. package/components/image-viewer/image-viewer.component.d.ts +16 -0
  11. package/components/image-viewer/index.d.ts +1 -0
  12. package/components/index.d.ts +7 -0
  13. package/components/kind-icon/kind-icon.component.d.ts +2 -1
  14. package/components/mermaid-viewer/index.d.ts +1 -0
  15. package/components/mermaid-viewer/mermaid-viewer.component.d.ts +17 -0
  16. package/components/navbar/navbar.component.d.ts +3 -16
  17. package/components/page/page.component.d.ts +6 -14
  18. package/components/page-header/index.d.ts +1 -0
  19. package/components/page-header/page-header.component.d.ts +6 -0
  20. package/components/page-wrapper/index.d.ts +1 -0
  21. package/components/page-wrapper/page-wrapper.component.d.ts +22 -0
  22. package/components/playground/base-playground.d.ts +1 -1
  23. package/components/playground/playground-demo/playground-demo.component.d.ts +5 -6
  24. package/components/root/root.component.d.ts +4 -13
  25. package/components/search/search.component.d.ts +11 -17
  26. package/components/search-dialog/index.d.ts +1 -0
  27. package/components/search-dialog/search-dialog.component.d.ts +24 -0
  28. package/components/sidebar/sidebar-category/sidebar-category.component.d.ts +9 -10
  29. package/components/sidebar/sidebar-item/sidebar-item.component.d.ts +7 -2
  30. package/components/sidebar/sidebar.component.d.ts +5 -3
  31. package/components/theme-toggle/theme-toggle.component.d.ts +4 -5
  32. package/constants/index.d.ts +0 -1
  33. package/directives/code-highlighter/code-highlighter.directive.d.ts +11 -10
  34. package/esm2022/classes/default-search-engine/default-search-engine.mjs +10 -4
  35. package/esm2022/classes/root-page/root-page.mjs +1 -1
  36. package/esm2022/components/api-list/api-list.component.mjs +46 -64
  37. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +7 -9
  38. package/esm2022/components/code/code.component.mjs +16 -19
  39. package/esm2022/components/copy-button/copy-button.component.mjs +61 -0
  40. package/esm2022/components/copy-button/index.mjs +2 -0
  41. package/esm2022/components/copy-button/ng-doc-app-components-copy-button.mjs +5 -0
  42. package/esm2022/components/demo/demo.component.mjs +5 -5
  43. package/esm2022/components/demo-displayer/demo-displayer.component.mjs +9 -14
  44. package/esm2022/components/demo-pane/demo-pane.component.mjs +5 -5
  45. package/esm2022/components/fullscreen-button/fullscreen-button.component.mjs +3 -3
  46. package/esm2022/components/heading-anchor/heading-anchor.component.mjs +38 -0
  47. package/esm2022/components/heading-anchor/index.mjs +2 -0
  48. package/esm2022/components/heading-anchor/ng-doc-app-components-heading-anchor.mjs +5 -0
  49. package/esm2022/components/image-viewer/image-viewer.component.mjs +80 -0
  50. package/esm2022/components/image-viewer/index.mjs +2 -0
  51. package/esm2022/components/image-viewer/ng-doc-app-components-image-viewer.mjs +5 -0
  52. package/esm2022/components/index.mjs +8 -1
  53. package/esm2022/components/kind-icon/kind-icon.component.mjs +11 -5
  54. package/esm2022/components/link/link.component.mjs +3 -3
  55. package/esm2022/components/mermaid-viewer/index.mjs +2 -0
  56. package/esm2022/components/mermaid-viewer/mermaid-viewer.component.mjs +55 -0
  57. package/esm2022/components/mermaid-viewer/ng-doc-app-components-mermaid-viewer.mjs +5 -0
  58. package/esm2022/components/navbar/navbar.component.mjs +12 -32
  59. package/esm2022/components/page/page.component.mjs +20 -72
  60. package/esm2022/components/page-header/index.mjs +2 -0
  61. package/esm2022/components/page-header/ng-doc-app-components-page-header.mjs +5 -0
  62. package/esm2022/components/page-header/page-header.component.mjs +19 -0
  63. package/esm2022/components/page-link/page-link.component.mjs +5 -5
  64. package/esm2022/components/page-navigation/page-navigation.component.mjs +5 -5
  65. package/esm2022/components/page-wrapper/index.mjs +2 -0
  66. package/esm2022/components/page-wrapper/ng-doc-app-components-page-wrapper.mjs +5 -0
  67. package/esm2022/components/page-wrapper/page-wrapper.component.mjs +87 -0
  68. package/esm2022/components/playground/base-playground.mjs +8 -8
  69. package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +22 -21
  70. package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +8 -6
  71. package/esm2022/components/playground/playground-property/playground-property.component.mjs +4 -4
  72. package/esm2022/components/playground/playground.component.mjs +6 -6
  73. package/esm2022/components/root/root.component.mjs +20 -37
  74. package/esm2022/components/search/search.component.mjs +31 -49
  75. package/esm2022/components/search-dialog/index.mjs +2 -0
  76. package/esm2022/components/search-dialog/ng-doc-app-components-search-dialog.mjs +5 -0
  77. package/esm2022/components/search-dialog/search-dialog.component.mjs +74 -0
  78. package/esm2022/components/search-result/search-result.component.mjs +4 -4
  79. package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +22 -27
  80. package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +18 -10
  81. package/esm2022/components/sidebar/sidebar.component.mjs +14 -13
  82. package/esm2022/components/tabs/tabs.component.mjs +4 -4
  83. package/esm2022/components/theme-toggle/theme-toggle.component.mjs +18 -53
  84. package/esm2022/components/toc/toc-element/toc-element.component.mjs +5 -5
  85. package/esm2022/components/toc/toc.component.mjs +37 -35
  86. package/esm2022/constants/index.mjs +1 -2
  87. package/esm2022/defaults/default-processors/default-processors.mjs +7 -4
  88. package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +18 -36
  89. package/esm2022/directives/route-active/route-active.directive.mjs +3 -3
  90. package/esm2022/helpers/as-boolean.mjs +1 -1
  91. package/esm2022/helpers/create-component.mjs +1 -1
  92. package/esm2022/helpers/generate-toc.mjs +5 -5
  93. package/esm2022/interfaces/navigation.mjs +1 -1
  94. package/esm2022/interfaces/processor-options.mjs +1 -1
  95. package/esm2022/interfaces/toc-item.mjs +1 -1
  96. package/esm2022/interfaces/type-control.mjs +1 -1
  97. package/esm2022/pipes/decode-uri-component/decode-uri-component.pipe.mjs +4 -4
  98. package/esm2022/pipes/extract-value/extract-value.pipe.mjs +3 -3
  99. package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +3 -3
  100. package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +3 -3
  101. package/esm2022/processors/page-processor/index.mjs +2 -2
  102. package/esm2022/processors/page-processor/page-processor.component.mjs +74 -0
  103. package/esm2022/processors/processors/blockquote.processor.mjs +2 -1
  104. package/esm2022/processors/processors/code.processor.mjs +3 -5
  105. package/esm2022/processors/processors/demo.processor.mjs +2 -2
  106. package/esm2022/processors/processors/heading-anchor.processor.mjs +12 -0
  107. package/esm2022/processors/processors/image.processor.mjs +19 -0
  108. package/esm2022/processors/processors/index.mjs +6 -3
  109. package/esm2022/processors/processors/link/index.mjs +2 -0
  110. package/esm2022/processors/processors/link/link.processor.mjs +13 -0
  111. package/esm2022/processors/processors/link/ng-doc-app-processors-processors-link.mjs +5 -0
  112. package/esm2022/processors/processors/mermaid.processor.mjs +11 -0
  113. package/esm2022/processors/processors/playground.processor.mjs +2 -2
  114. package/esm2022/processors/processors/tooltip/index.mjs +2 -0
  115. package/esm2022/processors/processors/tooltip/ng-doc-app-processors-processors-tooltip.mjs +5 -0
  116. package/esm2022/processors/processors/tooltip/tooltip.processor.mjs +56 -0
  117. package/esm2022/providers/index.mjs +2 -1
  118. package/esm2022/providers/mermaid/index.mjs +2 -0
  119. package/esm2022/providers/mermaid/ng-doc-app-providers-mermaid.mjs +5 -0
  120. package/esm2022/providers/mermaid/provide-mermaid.mjs +16 -0
  121. package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +12 -35
  122. package/esm2022/providers/playground-demo/provide-playground-demo.mjs +1 -1
  123. package/esm2022/providers/search-engine/provide-search-engine.mjs +2 -2
  124. package/esm2022/providers/type-control/provide-type-control.mjs +1 -1
  125. package/esm2022/services/highlighter/highlighter.service.mjs +39 -0
  126. package/esm2022/services/highlighter/index.mjs +2 -0
  127. package/esm2022/services/highlighter/ng-doc-app-services-highlighter.mjs +5 -0
  128. package/esm2022/services/index.mjs +2 -2
  129. package/esm2022/services/sidebar/sidebar.service.mjs +35 -50
  130. package/esm2022/services/store/store.service.mjs +3 -3
  131. package/esm2022/services/theme/theme.service.mjs +28 -127
  132. package/esm2022/tokens/index.mjs +4 -2
  133. package/esm2022/tokens/mermaid.mjs +3 -0
  134. package/esm2022/tokens/page-processor.mjs +2 -2
  135. package/esm2022/tokens/route-prefix.mjs +3 -0
  136. package/esm2022/tokens/shiki-theme.mjs +3 -0
  137. package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +3 -3
  138. package/esm2022/type-controls/number-control/number-control.component.mjs +5 -5
  139. package/esm2022/type-controls/string-control/string-control.component.mjs +5 -5
  140. package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +5 -5
  141. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs +10 -4
  142. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs.map +1 -1
  143. package/fesm2022/ng-doc-app-classes-root-page.mjs.map +1 -1
  144. package/fesm2022/ng-doc-app-components-api-list.mjs +47 -64
  145. package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
  146. package/fesm2022/ng-doc-app-components-breadcrumb.mjs +6 -8
  147. package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
  148. package/fesm2022/ng-doc-app-components-code.mjs +16 -18
  149. package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
  150. package/fesm2022/ng-doc-app-components-copy-button.mjs +68 -0
  151. package/fesm2022/ng-doc-app-components-copy-button.mjs.map +1 -0
  152. package/fesm2022/ng-doc-app-components-demo-displayer.mjs +8 -12
  153. package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
  154. package/fesm2022/ng-doc-app-components-demo-pane.mjs +4 -4
  155. package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
  156. package/fesm2022/ng-doc-app-components-demo.mjs +4 -4
  157. package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
  158. package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +3 -3
  159. package/fesm2022/ng-doc-app-components-heading-anchor.mjs +45 -0
  160. package/fesm2022/ng-doc-app-components-heading-anchor.mjs.map +1 -0
  161. package/fesm2022/ng-doc-app-components-image-viewer.mjs +87 -0
  162. package/fesm2022/ng-doc-app-components-image-viewer.mjs.map +1 -0
  163. package/fesm2022/ng-doc-app-components-kind-icon.mjs +10 -4
  164. package/fesm2022/ng-doc-app-components-kind-icon.mjs.map +1 -1
  165. package/fesm2022/ng-doc-app-components-link.mjs +3 -3
  166. package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs +62 -0
  167. package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs.map +1 -0
  168. package/fesm2022/ng-doc-app-components-navbar.mjs +12 -32
  169. package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
  170. package/fesm2022/ng-doc-app-components-page-header.mjs +26 -0
  171. package/fesm2022/ng-doc-app-components-page-header.mjs.map +1 -0
  172. package/fesm2022/ng-doc-app-components-page-link.mjs +4 -4
  173. package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
  174. package/fesm2022/ng-doc-app-components-page-navigation.mjs +4 -4
  175. package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
  176. package/fesm2022/ng-doc-app-components-page-wrapper.mjs +94 -0
  177. package/fesm2022/ng-doc-app-components-page-wrapper.mjs.map +1 -0
  178. package/fesm2022/ng-doc-app-components-page.mjs +19 -71
  179. package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
  180. package/fesm2022/ng-doc-app-components-playground.mjs +43 -38
  181. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  182. package/fesm2022/ng-doc-app-components-root.mjs +18 -35
  183. package/fesm2022/ng-doc-app-components-root.mjs.map +1 -1
  184. package/fesm2022/ng-doc-app-components-search-dialog.mjs +81 -0
  185. package/fesm2022/ng-doc-app-components-search-dialog.mjs.map +1 -0
  186. package/fesm2022/ng-doc-app-components-search-result.mjs +3 -3
  187. package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
  188. package/fesm2022/ng-doc-app-components-search.mjs +30 -48
  189. package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
  190. package/fesm2022/ng-doc-app-components-sidebar.mjs +49 -44
  191. package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
  192. package/fesm2022/ng-doc-app-components-tabs.mjs +3 -3
  193. package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
  194. package/fesm2022/ng-doc-app-components-theme-toggle.mjs +17 -51
  195. package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
  196. package/fesm2022/ng-doc-app-components-toc.mjs +40 -38
  197. package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
  198. package/fesm2022/ng-doc-app-components.mjs +7 -0
  199. package/fesm2022/ng-doc-app-components.mjs.map +1 -1
  200. package/fesm2022/ng-doc-app-constants.mjs +1 -37
  201. package/fesm2022/ng-doc-app-constants.mjs.map +1 -1
  202. package/fesm2022/ng-doc-app-defaults-default-processors.mjs +6 -3
  203. package/fesm2022/ng-doc-app-defaults-default-processors.mjs.map +1 -1
  204. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +17 -35
  205. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
  206. package/fesm2022/ng-doc-app-directives-route-active.mjs +3 -3
  207. package/fesm2022/ng-doc-app-helpers.mjs +4 -4
  208. package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
  209. package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs +3 -3
  210. package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs.map +1 -1
  211. package/fesm2022/ng-doc-app-pipes-extract-value.mjs +3 -3
  212. package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +3 -3
  213. package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +3 -3
  214. package/fesm2022/ng-doc-app-processors-page-processor.mjs +20 -14
  215. package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
  216. package/fesm2022/ng-doc-app-processors-processors-link.mjs +20 -0
  217. package/fesm2022/ng-doc-app-processors-processors-link.mjs.map +1 -0
  218. package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs +63 -0
  219. package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs.map +1 -0
  220. package/fesm2022/ng-doc-app-processors-processors.mjs +45 -70
  221. package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
  222. package/fesm2022/ng-doc-app-providers-mermaid.mjs +23 -0
  223. package/fesm2022/ng-doc-app-providers-mermaid.mjs.map +1 -0
  224. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +11 -34
  225. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
  226. package/fesm2022/ng-doc-app-providers-playground-demo.mjs.map +1 -1
  227. package/fesm2022/ng-doc-app-providers-search-engine.mjs +1 -1
  228. package/fesm2022/ng-doc-app-providers-search-engine.mjs.map +1 -1
  229. package/fesm2022/ng-doc-app-providers-type-control.mjs.map +1 -1
  230. package/fesm2022/ng-doc-app-providers.mjs +1 -0
  231. package/fesm2022/ng-doc-app-providers.mjs.map +1 -1
  232. package/fesm2022/ng-doc-app-services-highlighter.mjs +46 -0
  233. package/fesm2022/ng-doc-app-services-highlighter.mjs.map +1 -0
  234. package/fesm2022/ng-doc-app-services-sidebar.mjs +35 -50
  235. package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
  236. package/fesm2022/ng-doc-app-services-store.mjs +3 -3
  237. package/fesm2022/ng-doc-app-services-theme.mjs +27 -126
  238. package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
  239. package/fesm2022/ng-doc-app-services.mjs +1 -1
  240. package/fesm2022/ng-doc-app-tokens.mjs +8 -4
  241. package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
  242. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +3 -3
  243. package/fesm2022/ng-doc-app-type-controls-number-control.mjs +4 -4
  244. package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  245. package/fesm2022/ng-doc-app-type-controls-string-control.mjs +4 -4
  246. package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
  247. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +4 -4
  248. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
  249. package/interfaces/navigation.d.ts +7 -1
  250. package/interfaces/processor-options.d.ts +4 -1
  251. package/package.json +104 -29
  252. package/processors/page-processor/index.d.ts +1 -1
  253. package/processors/page-processor/{page-processor.directive.d.ts → page-processor.component.d.ts} +7 -6
  254. package/processors/processors/heading-anchor.processor.d.ts +3 -0
  255. package/processors/processors/image.processor.d.ts +3 -0
  256. package/processors/processors/index.d.ts +5 -2
  257. package/processors/processors/link/index.d.ts +1 -0
  258. package/processors/processors/mermaid.processor.d.ts +3 -0
  259. package/processors/processors/tooltip/index.d.ts +1 -0
  260. package/providers/index.d.ts +1 -0
  261. package/providers/mermaid/index.d.ts +1 -0
  262. package/providers/mermaid/provide-mermaid.d.ts +7 -0
  263. package/providers/ng-doc-app/provide-ng-doc-app.d.ts +5 -10
  264. package/providers/playground-demo/provide-playground-demo.d.ts +1 -1
  265. package/providers/search-engine/provide-search-engine.d.ts +1 -1
  266. package/providers/type-control/provide-type-control.d.ts +1 -1
  267. package/services/highlighter/highlighter.service.d.ts +24 -0
  268. package/services/highlighter/index.d.ts +1 -0
  269. package/services/index.d.ts +1 -1
  270. package/services/sidebar/sidebar.service.d.ts +4 -10
  271. package/services/theme/theme.service.d.ts +9 -37
  272. package/styles/global.css +161 -132
  273. package/styles/main.css +150 -106
  274. package/styles/themes/dark.css +71 -0
  275. package/tokens/index.d.ts +3 -1
  276. package/tokens/mermaid.d.ts +3 -0
  277. package/tokens/page-processor.d.ts +1 -1
  278. package/tokens/route-prefix.d.ts +2 -0
  279. package/tokens/shiki-theme.d.ts +6 -0
  280. package/assets/themes/ng-doc-night.css +0 -111
  281. package/constants/themes.d.ts +0 -33
  282. package/esm2022/constants/themes.mjs +0 -36
  283. package/esm2022/processors/page-processor/page-processor.directive.mjs +0 -68
  284. package/esm2022/processors/processors/link.processor.mjs +0 -13
  285. package/esm2022/processors/processors/tooltip.processor.mjs +0 -56
  286. package/esm2022/tokens/api-list.mjs +0 -3
  287. package/tokens/api-list.d.ts +0 -3
  288. /package/processors/processors/{link.processor.d.ts → link/link.processor.d.ts} +0 -0
  289. /package/processors/processors/{tooltip.processor.d.ts → tooltip/tooltip.processor.d.ts} +0 -0
@@ -37,10 +37,10 @@ class NgDocDemoComponent {
37
37
  }
38
38
  return [];
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocDemoComponent, deps: [{ token: i1.NgDocRootPage }], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NgDocDemoComponent, isStandalone: true, selector: "ng-doc-demo", inputs: { componentName: "componentName", options: "options" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute : assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t@if (options.fullscreenRoute) {\n\t<ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n\t} @else if (demo) {\n\t<ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n\t}\n</ng-template>\n", styles: [":host{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background);--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border-radius: 0;--ng-doc-tab-group-border: none;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host ng-doc-tab-group{border-top:1px solid var(--ng-doc-border-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon", "lineNumbers"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }, { kind: "component", type: NgDocFullscreenButtonComponent, selector: "ng-doc-fullscreen-button", inputs: ["route"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocDemoComponent, deps: [{ token: i1.NgDocRootPage }], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: NgDocDemoComponent, isStandalone: true, selector: "ng-doc-demo", inputs: { componentName: "componentName", options: "options" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n <ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n <ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n <ng-template #codeContent>\n <ng-container *ngIf=\"assets.length === 1\">\n <ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n </ng-container>\n\n <ng-container *ngIf=\"assets.length > 1\">\n <ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n <ng-doc-tab\n *ngFor=\"let asset of assets\"\n [id]=\"asset.title\"\n [label]=\"label\"\n [content]=\"assetContent\">\n <ng-template #label>\n <ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n {{ asset.title }}\n </ng-template>\n <ng-template #assetContent>\n <ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n </ng-template>\n </ng-doc-tab>\n </ng-doc-tab-group>\n </ng-container>\n </ng-template>\n </ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n @if (options.fullscreenRoute) {\n <ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n } @else if (demo) {\n <ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n }\n</ng-template>\n", styles: [":host{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background);--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border-radius: 0;--ng-doc-tab-group-border: none;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host ng-doc-tab-group{border-top:1px solid var(--ng-doc-border-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab, a[ng-doc-tab]", inputs: ["label", "id", "content"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }, { kind: "component", type: NgDocFullscreenButtonComponent, selector: "ng-doc-fullscreen-button", inputs: ["route"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocDemoComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocDemoComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'ng-doc-demo', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
46
46
  NgIf,
@@ -54,7 +54,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
54
54
  NgDocExecutePipe,
55
55
  NgDocFullscreenButtonComponent,
56
56
  NgComponentOutlet,
57
- ], template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute : assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t@if (options.fullscreenRoute) {\n\t<ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n\t} @else if (demo) {\n\t<ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n\t}\n</ng-template>\n", styles: [":host{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background);--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border-radius: 0;--ng-doc-tab-group-border: none;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host ng-doc-tab-group{border-top:1px solid var(--ng-doc-border-color)}\n"] }]
57
+ ], template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n <ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n <ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n <ng-template #codeContent>\n <ng-container *ngIf=\"assets.length === 1\">\n <ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n </ng-container>\n\n <ng-container *ngIf=\"assets.length > 1\">\n <ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n <ng-doc-tab\n *ngFor=\"let asset of assets\"\n [id]=\"asset.title\"\n [label]=\"label\"\n [content]=\"assetContent\">\n <ng-template #label>\n <ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n {{ asset.title }}\n </ng-template>\n <ng-template #assetContent>\n <ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n </ng-template>\n </ng-doc-tab>\n </ng-doc-tab-group>\n </ng-container>\n </ng-template>\n </ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n @if (options.fullscreenRoute) {\n <ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n } @else if (demo) {\n <ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n }\n</ng-template>\n", styles: [":host{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background);--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border-radius: 0;--ng-doc-tab-group-border: none;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host ng-doc-tab-group{border-top:1px solid var(--ng-doc-border-color)}\n"] }]
58
58
  }], ctorParameters: () => [{ type: i1.NgDocRootPage }], propDecorators: { componentName: [{
59
59
  type: Input
60
60
  }], options: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-demo.mjs","sources":["../../../../libs/app/components/demo/demo.component.ts","../../../../libs/app/components/demo/demo.component.html","../../../../libs/app/components/demo/ng-doc-app-components-demo.ts"],"sourcesContent":["import { NgComponentOutlet, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tHostBinding,\n\tInput,\n\tOnInit,\n\tType,\n} from '@angular/core';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocCodeComponent } from '@ng-doc/app/components/code';\nimport { NgDocDemoDisplayerComponent } from '@ng-doc/app/components/demo-displayer';\nimport { NgDocFullscreenButtonComponent } from '@ng-doc/app/components/fullscreen-button';\nimport { NgDocDemoAsset } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocDemoActionOptions } from '@ng-doc/core/interfaces';\nimport {\n\tNgDocExecutePipe,\n\tNgDocIconComponent,\n\tNgDocTabComponent,\n\tNgDocTabGroupComponent,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-demo',\n\ttemplateUrl: './demo.component.html',\n\tstyleUrls: ['./demo.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocDemoDisplayerComponent,\n\t\tNgTemplateOutlet,\n\t\tNgFor,\n\t\tNgDocCodeComponent,\n\t\tNgDocTabGroupComponent,\n\t\tNgDocTabComponent,\n\t\tNgDocIconComponent,\n\t\tNgDocExecutePipe,\n\t\tNgDocFullscreenButtonComponent,\n\t\tNgComponentOutlet,\n\t],\n})\nexport class NgDocDemoComponent implements OnInit {\n\t@Input()\n\tcomponentName?: string;\n\n\t@Input()\n\toptions: NgDocDemoActionOptions = {};\n\n\tdemo?: Type<unknown>;\n\tassets: NgDocDemoAsset[] = [];\n\n\tconstructor(private readonly rootPage: NgDocRootPage) {}\n\n\t@HostBinding('class')\n\tprotected get classes(): string | string[] {\n\t\treturn this.options.class ?? '';\n\t}\n\n\tngOnInit(): void {\n\t\tthis.demo = this.getDemo();\n\t\tthis.assets = this.getAssets();\n\t}\n\n\tgetOpenedAssetId(assets: NgDocDemoAsset[]): string | undefined {\n\t\treturn assets.find((asset: NgDocDemoAsset) => asset.opened)?.title;\n\t}\n\n\tprivate getDemo(): Type<unknown> | undefined {\n\t\tif (this.componentName) {\n\t\t\treturn this.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate getAssets(): NgDocDemoAsset[] {\n\t\tif (this.componentName) {\n\t\t\treturn (\n\t\t\t\t(this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ??\n\t\t\t\t[]\n\t\t\t).filter(\n\t\t\t\t(asset: NgDocDemoAsset) =>\n\t\t\t\t\t!this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title),\n\t\t\t);\n\t\t}\n\n\t\treturn [];\n\t}\n}\n","<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute : assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t@if (options.fullscreenRoute) {\n\t<ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n\t} @else if (demo) {\n\t<ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n\t}\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-components-demo.mjs","sources":["../../../../libs/app/components/demo/demo.component.ts","../../../../libs/app/components/demo/demo.component.html","../../../../libs/app/components/demo/ng-doc-app-components-demo.ts"],"sourcesContent":["import { NgComponentOutlet, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnInit,\n Type,\n} from '@angular/core';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocCodeComponent } from '@ng-doc/app/components/code';\nimport { NgDocDemoDisplayerComponent } from '@ng-doc/app/components/demo-displayer';\nimport { NgDocFullscreenButtonComponent } from '@ng-doc/app/components/fullscreen-button';\nimport { NgDocDemoAsset } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocDemoActionOptions } from '@ng-doc/core/interfaces';\nimport {\n NgDocExecutePipe,\n NgDocIconComponent,\n NgDocTabComponent,\n NgDocTabGroupComponent,\n} from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-demo',\n templateUrl: './demo.component.html',\n styleUrls: ['./demo.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n NgDocDemoDisplayerComponent,\n NgTemplateOutlet,\n NgFor,\n NgDocCodeComponent,\n NgDocTabGroupComponent,\n NgDocTabComponent,\n NgDocIconComponent,\n NgDocExecutePipe,\n NgDocFullscreenButtonComponent,\n NgComponentOutlet,\n ],\n})\nexport class NgDocDemoComponent implements OnInit {\n @Input()\n componentName?: string;\n\n @Input()\n options: NgDocDemoActionOptions = {};\n\n demo?: Type<unknown>;\n assets: NgDocDemoAsset[] = [];\n\n constructor(private readonly rootPage: NgDocRootPage) {}\n\n @HostBinding('class')\n protected get classes(): string | string[] {\n return this.options.class ?? '';\n }\n\n ngOnInit(): void {\n this.demo = this.getDemo();\n this.assets = this.getAssets();\n }\n\n getOpenedAssetId(assets: NgDocDemoAsset[]): string | undefined {\n return assets.find((asset: NgDocDemoAsset) => asset.opened)?.title;\n }\n\n private getDemo(): Type<unknown> | undefined {\n if (this.componentName) {\n return this.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];\n }\n\n return undefined;\n }\n\n private getAssets(): NgDocDemoAsset[] {\n if (this.componentName) {\n return (\n (this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ??\n []\n ).filter(\n (asset: NgDocDemoAsset) =>\n !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title),\n );\n }\n\n return [];\n }\n}\n","<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n <ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n <ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n <ng-template #codeContent>\n <ng-container *ngIf=\"assets.length === 1\">\n <ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n </ng-container>\n\n <ng-container *ngIf=\"assets.length > 1\">\n <ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n <ng-doc-tab\n *ngFor=\"let asset of assets\"\n [id]=\"asset.title\"\n [label]=\"label\"\n [content]=\"assetContent\">\n <ng-template #label>\n <ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n {{ asset.title }}\n </ng-template>\n <ng-template #assetContent>\n <ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n </ng-template>\n </ng-doc-tab>\n </ng-doc-tab-group>\n </ng-container>\n </ng-template>\n </ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n @if (options.fullscreenRoute) {\n <ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n } @else if (demo) {\n <ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n }\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,10 +4,10 @@ import { RouterLink } from '@angular/router';
4
4
  import { NgDocTextComponent, NgDocIconComponent, NgDocTextRightDirective, NgDocButtonComponent } from '@ng-doc/ui-kit';
5
5
 
6
6
  class NgDocFullscreenButtonComponent {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocFullscreenButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocFullscreenButtonComponent, isStandalone: true, selector: "ng-doc-fullscreen-button", inputs: { route: "route" }, ngImport: i0, template: "<a ng-doc-button-text [routerLink]=\"route\" target=\"_blank\">\n\t<span ng-doc-text>\n\t\tOpen demo in a new tab\n\t\t<ng-doc-icon icon=\"external-link\" ngDocTextRight></ng-doc-icon>\n\t</span>\n</a>\n", styles: [":host{display:flex;align-items:center;justify-content:center;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 2)}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "component", type: NgDocButtonComponent, selector: "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", inputs: ["size", "color", "rounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocFullscreenButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocFullscreenButtonComponent, isStandalone: true, selector: "ng-doc-fullscreen-button", inputs: { route: "route" }, ngImport: i0, template: "<a ng-doc-button-text [routerLink]=\"route\" target=\"_blank\">\n\t<span ng-doc-text>\n\t\tOpen demo in a new tab\n\t\t<ng-doc-icon icon=\"external-link\" ngDocTextRight></ng-doc-icon>\n\t</span>\n</a>\n", styles: [":host{display:flex;align-items:center;justify-content:center;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 2)}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "component", type: NgDocButtonComponent, selector: "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", inputs: ["size", "color", "rounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocFullscreenButtonComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocFullscreenButtonComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'ng-doc-fullscreen-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
13
13
  RouterLink,
@@ -0,0 +1,45 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
3
+ import { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';
4
+ import { NgDocIconComponent, NgDocButtonIconComponent } from '@ng-doc/ui-kit';
5
+ import { LOCATION } from '@ng-web-apis/common';
6
+
7
+ class NgDocHeadingAnchorComponent {
8
+ constructor() {
9
+ this.classes = [];
10
+ this.location = inject(LOCATION);
11
+ }
12
+ get href() {
13
+ const { origin, pathname } = this.location;
14
+ return `${origin}${pathname}#${this.anchor}`;
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocHeadingAnchorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocHeadingAnchorComponent, isStandalone: true, selector: "ng-doc-heading-anchor", inputs: { anchor: "anchor", classes: "classes" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: `
18
+ <ng-doc-copy-button [text]="href">
19
+ <ng-doc-icon icon="link-2"></ng-doc-icon>
20
+ </ng-doc-copy-button>
21
+ `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocCopyButtonComponent, selector: "ng-doc-copy-button", inputs: ["text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocHeadingAnchorComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'ng-doc-heading-anchor', standalone: true, imports: [NgDocButtonIconComponent, NgDocIconComponent, NgDocCopyButtonComponent], template: `
26
+ <ng-doc-copy-button [text]="href">
27
+ <ng-doc-icon icon="link-2"></ng-doc-icon>
28
+ </ng-doc-copy-button>
29
+ `, changeDetection: ChangeDetectionStrategy.OnPush }]
30
+ }], propDecorators: { anchor: [{
31
+ type: Input,
32
+ args: [{ required: true }]
33
+ }], classes: [{
34
+ type: Input
35
+ }, {
36
+ type: HostBinding,
37
+ args: ['class']
38
+ }] } });
39
+
40
+ /**
41
+ * Generated bundle index. Do not edit.
42
+ */
43
+
44
+ export { NgDocHeadingAnchorComponent };
45
+ //# sourceMappingURL=ng-doc-app-components-heading-anchor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-doc-app-components-heading-anchor.mjs","sources":["../../../../libs/app/components/heading-anchor/heading-anchor.component.ts","../../../../libs/app/components/heading-anchor/ng-doc-app-components-heading-anchor.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';\nimport { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';\nimport { NgDocButtonIconComponent, NgDocIconComponent } from '@ng-doc/ui-kit';\nimport { LOCATION } from '@ng-web-apis/common';\n\n@Component({\n selector: 'ng-doc-heading-anchor',\n standalone: true,\n imports: [NgDocButtonIconComponent, NgDocIconComponent, NgDocCopyButtonComponent],\n template: `\n <ng-doc-copy-button [text]=\"href\">\n <ng-doc-icon icon=\"link-2\"></ng-doc-icon>\n </ng-doc-copy-button>\n `,\n styles: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocHeadingAnchorComponent {\n @Input({ required: true })\n anchor!: string;\n\n @Input()\n @HostBinding('class')\n classes: string[] = [];\n\n protected readonly location = inject(LOCATION);\n\n protected get href(): string {\n const { origin, pathname } = this.location;\n\n return `${origin}${pathname}#${this.anchor}`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAiBa,2BAA2B,CAAA;AAZxC,IAAA,WAAA,GAAA;QAkBE,IAAO,CAAA,OAAA,GAAa,EAAE,CAAC;AAEJ,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAOhD,KAAA;AALC,IAAA,IAAc,IAAI,GAAA;QAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE3C,OAAO,CAAA,EAAG,MAAM,CAAG,EAAA,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAA,CAAE,CAAC;KAC9C;8GAdU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAR5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;GAIT,EALmC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,gGAAE,wBAAwB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FASrE,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EACrB,IAAI,EAAA,OAAA,EACP,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,wBAAwB,CAAC,EACvE,QAAA,EAAA,CAAA;;;;GAIT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,CAAA;8BAI/C,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAKzB,OAAO,EAAA,CAAA;sBAFN,KAAK;;sBACL,WAAW;uBAAC,OAAO,CAAA;;;ACtBtB;;AAEG;;;;"}
@@ -0,0 +1,87 @@
1
+ import { style, group, animate, query } from '@angular/animations';
2
+ import { NgTemplateOutlet } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { input, viewChild, TemplateRef, inject, ElementRef, ChangeDetectorRef, Component, ChangeDetectionStrategy, HostListener } from '@angular/core';
5
+ import { NgDocOverlayService, NgDocOverlayContainerComponent } from '@ng-doc/ui-kit';
6
+
7
+ class NgDocImageViewerComponent {
8
+ constructor() {
9
+ this.src = input.required();
10
+ this.alt = input.required();
11
+ this.image = viewChild('image', { read: TemplateRef });
12
+ this.overlay = inject(NgDocOverlayService);
13
+ this.element = inject((ElementRef)).nativeElement;
14
+ this.changeDetectorRef = inject(ChangeDetectorRef);
15
+ }
16
+ clickEvent() {
17
+ this.overlayRef?.close();
18
+ const { width, height, top, left } = this.element.getBoundingClientRect();
19
+ const windowWidth = window.innerWidth;
20
+ const windowHeight = window.innerHeight;
21
+ const ratio = Math.min(windowWidth / width, windowHeight / height);
22
+ const newWidth = width * ratio;
23
+ const newHeight = height * ratio;
24
+ this.overlayRef = this.overlay.open(this.image(), {
25
+ overlayContainer: NgDocOverlayContainerComponent,
26
+ positionStrategy: this.overlay
27
+ .globalPositionStrategy()
28
+ .centerHorizontally()
29
+ .centerVertically(),
30
+ scrollStrategy: this.overlay.scrollStrategy().block(),
31
+ hasBackdrop: true,
32
+ backdropClass: 'ng-doc-blur-backdrop',
33
+ openAnimation: [
34
+ style({ position: 'fixed', width, height, top, left, transform: 'translate(0%, 0)' }),
35
+ group([
36
+ animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({
37
+ width: `${newWidth}px`,
38
+ height: `${newHeight}px`,
39
+ top: '50%',
40
+ left: '50%',
41
+ transform: 'translate(-50%, -50%)',
42
+ })),
43
+ query('.ng-doc-image-container', [
44
+ style({ padding: 0 }),
45
+ animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ padding: '16px' })),
46
+ ]),
47
+ ]),
48
+ ],
49
+ closeAnimation: [
50
+ style({
51
+ position: 'fixed',
52
+ width: `${newWidth}px`,
53
+ height: `${newHeight}px`,
54
+ top: '50%',
55
+ left: '50%',
56
+ transform: 'translate(-50%, -50%)',
57
+ }),
58
+ group([
59
+ animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ width, height, top, left, transform: 'translate(0%, 0)' })),
60
+ query('.ng-doc-image-container', animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ padding: 0 }))),
61
+ ]),
62
+ ],
63
+ });
64
+ this.overlayRef.afterClose().subscribe(() => {
65
+ this.overlayRef = undefined;
66
+ this.changeDetectorRef.markForCheck();
67
+ });
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocImageViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.1.1", type: NgDocImageViewerComponent, isStandalone: true, selector: "ng-doc-image-viewer", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: true, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "click": "clickEvent()" }, properties: { "attr.data-opened": "!!overlayRef" } }, viewQueries: [{ propertyName: "image", first: true, predicate: ["image"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template #image>\n <div class=\"ng-doc-image-container\" (click)=\"overlayRef?.close()\">\n <img class=\"ng-doc-scaled-image\" [src]=\"src()\" [alt]=\"alt()\" />\n </div>\n</ng-template>\n", styles: [":host{display:inline-block;cursor:zoom-in;transition:var(--ng-doc-transition)}:host[data-opened=true]>::ng-deep img{opacity:0}:host>::ng-deep img{max-width:100%;vertical-align:middle;border-radius:var(--ng-doc-base-gutter);overflow:hidden}.ng-doc-image-container{display:flex;align-items:center;justify-content:center;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;height:100%}.ng-doc-image-container .ng-doc-scaled-image{cursor:zoom-out;width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocImageViewerComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: 'ng-doc-image-viewer', standalone: true, imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: {
75
+ '[attr.data-opened]': '!!overlayRef',
76
+ }, template: "<ng-content></ng-content>\n\n<ng-template #image>\n <div class=\"ng-doc-image-container\" (click)=\"overlayRef?.close()\">\n <img class=\"ng-doc-scaled-image\" [src]=\"src()\" [alt]=\"alt()\" />\n </div>\n</ng-template>\n", styles: [":host{display:inline-block;cursor:zoom-in;transition:var(--ng-doc-transition)}:host[data-opened=true]>::ng-deep img{opacity:0}:host>::ng-deep img{max-width:100%;vertical-align:middle;border-radius:var(--ng-doc-base-gutter);overflow:hidden}.ng-doc-image-container{display:flex;align-items:center;justify-content:center;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;height:100%}.ng-doc-image-container .ng-doc-scaled-image{cursor:zoom-out;width:100%;height:100%}\n"] }]
77
+ }], propDecorators: { clickEvent: [{
78
+ type: HostListener,
79
+ args: ['click']
80
+ }] } });
81
+
82
+ /**
83
+ * Generated bundle index. Do not edit.
84
+ */
85
+
86
+ export { NgDocImageViewerComponent };
87
+ //# sourceMappingURL=ng-doc-app-components-image-viewer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-doc-app-components-image-viewer.mjs","sources":["../../../../libs/app/components/image-viewer/image-viewer.component.ts","../../../../libs/app/components/image-viewer/image-viewer.component.html","../../../../libs/app/components/image-viewer/ng-doc-app-components-image-viewer.ts"],"sourcesContent":["import { animate, group, query, style } from '@angular/animations';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n inject,\n input,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { NgDocOverlayContainerComponent, NgDocOverlayService } from '@ng-doc/ui-kit';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\n\n@Component({\n selector: 'ng-doc-image-viewer',\n standalone: true,\n imports: [NgTemplateOutlet],\n templateUrl: './image-viewer.component.html',\n styleUrl: './image-viewer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-opened]': '!!overlayRef',\n },\n})\nexport class NgDocImageViewerComponent {\n src = input.required<string>();\n alt = input.required<string>();\n\n protected readonly image = viewChild('image', { read: TemplateRef });\n protected readonly overlay = inject(NgDocOverlayService);\n protected readonly element = inject(ElementRef<HTMLElement>).nativeElement;\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected overlayRef?: NgDocOverlayRef;\n\n @HostListener('click')\n clickEvent(): void {\n this.overlayRef?.close();\n\n const { width, height, top, left } = this.element.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const ratio = Math.min(windowWidth / width, windowHeight / height);\n const newWidth = width * ratio;\n const newHeight = height * ratio;\n\n this.overlayRef = this.overlay.open(this.image(), {\n overlayContainer: NgDocOverlayContainerComponent,\n positionStrategy: this.overlay\n .globalPositionStrategy()\n .centerHorizontally()\n .centerVertically(),\n scrollStrategy: this.overlay.scrollStrategy().block(),\n hasBackdrop: true,\n backdropClass: 'ng-doc-blur-backdrop',\n openAnimation: [\n style({ position: 'fixed', width, height, top, left, transform: 'translate(0%, 0)' }),\n group([\n animate(\n '300ms cubic-bezier(0.25, 0.8, 0.25, 1)',\n style({\n width: `${newWidth}px`,\n height: `${newHeight}px`,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }),\n ),\n query('.ng-doc-image-container', [\n style({ padding: 0 }),\n animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ padding: '16px' })),\n ]),\n ]),\n ],\n closeAnimation: [\n style({\n position: 'fixed',\n width: `${newWidth}px`,\n height: `${newHeight}px`,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }),\n group([\n animate(\n '300ms cubic-bezier(0.25, 0.8, 0.25, 1)',\n style({ width, height, top, left, transform: 'translate(0%, 0)' }),\n ),\n query(\n '.ng-doc-image-container',\n animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ padding: 0 })),\n ),\n ]),\n ],\n });\n\n this.overlayRef.afterClose().subscribe(() => {\n this.overlayRef = undefined;\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","<ng-content></ng-content>\n\n<ng-template #image>\n <div class=\"ng-doc-image-container\" (click)=\"overlayRef?.close()\">\n <img class=\"ng-doc-scaled-image\" [src]=\"src()\" [alt]=\"alt()\" />\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,13 +5,14 @@ class NgDocKindIconComponent {
5
5
  constructor() {
6
6
  this.kind = '';
7
7
  this.type = 'declaration';
8
+ this.size = 'small';
8
9
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocKindIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocKindIconComponent, isStandalone: true, selector: "ng-doc-kind-icon", inputs: { kind: "kind", type: "type" }, host: { properties: { "attr.data-ng-doc-kind": "this.kind", "attr.data-ng-doc-type": "this.type" } }, ngImport: i0, template: '{{kind[0]}}', isInline: true, styles: [":host{display:inline-block;width:calc(var(--ng-doc-base-gutter) * 2);height:calc(var(--ng-doc-base-gutter) * 2);border-radius:calc(var(--ng-doc-base-gutter) / 4);font-size:13px;text-align:center;line-height:calc(var(--ng-doc-base-gutter) * 2);text-transform:uppercase;flex-shrink:0;font-weight:700}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Class]{background-color:var(--ng-doc-class-background);color:var(--ng-doc-class-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Interface]{background-color:var(--ng-doc-interface-background);color:var(--ng-doc-interface-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Enum]{background-color:var(--ng-doc-enum-background);color:var(--ng-doc-enum-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Variable]{background-color:var(--ng-doc-variable-background);color:var(--ng-doc-variable-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Function]{background-color:var(--ng-doc-function-background);color:var(--ng-doc-function-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=TypeAlias]{background-color:var(--ng-doc-type-alias-background);color:var(--ng-doc-type-alias-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Component]{background-color:var(--ng-doc-component-decorator-background);color:var(--ng-doc-component-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Directive]{background-color:var(--ng-doc-directive-decorator-background);color:var(--ng-doc-directive-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Injectable]{background-color:var(--ng-doc-injectable-decorator-background);color:var(--ng-doc-injectable-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Pipe]{background-color:var(--ng-doc-pipe-decorator-background);color:var(--ng-doc-pipe-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=NgModule]{background-color:var(--ng-doc-ng-module-decorator-background);color:var(--ng-doc-ng-module-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=ng-doc-tag-selector]{background-color:var(--ng-doc-selector-background);color:var(--ng-doc-selector-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=string]{background-color:var(--ng-doc-string-background);color:var(--ng-doc-string-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=number]{background-color:var(--ng-doc-number-background);color:var(--ng-doc-number-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=boolean]{background-color:var(--ng-doc-boolean-background);color:var(--ng-doc-boolean-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=null]{background-color:var(--ng-doc-null-background);color:var(--ng-doc-null-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=undefined]{background-color:var(--ng-doc-undefined-background);color:var(--ng-doc-undefined-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=object]{background-color:var(--ng-doc-object-background);color:var(--ng-doc-object-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocKindIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocKindIconComponent, isStandalone: true, selector: "ng-doc-kind-icon", inputs: { kind: "kind", type: "type", size: "size" }, host: { properties: { "attr.data-ng-doc-kind": "this.kind", "attr.data-ng-doc-type": "this.type", "attr.data-ng-doc-size": "this.size" } }, ngImport: i0, template: '{{kind[0]}}', isInline: true, styles: [":host{display:inline-block;width:22px;height:22px;border-radius:calc(var(--ng-doc-base-gutter) / 2);font-size:13px;text-align:center;line-height:22px;text-transform:uppercase;flex-shrink:0;font-weight:700;color:var(--ng-doc-kind-icon-background);background:color-mix(in srgb,var(--ng-doc-kind-icon-background) var(--ng-doc-kind-icon-background-opacity, 15%),transparent)}:host[data-ng-doc-size=small]{width:calc(var(--ng-doc-base-gutter) * 2);height:calc(var(--ng-doc-base-gutter) * 2);line-height:calc(var(--ng-doc-base-gutter) * 2)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Class]{--ng-doc-kind-icon-background: var(--ng-doc-class-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Interface]{--ng-doc-kind-icon-background: var(--ng-doc-interface-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Enum]{--ng-doc-kind-icon-background: var(--ng-doc-enum-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Variable]{--ng-doc-kind-icon-background: var(--ng-doc-variable-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Function]{--ng-doc-kind-icon-background: var(--ng-doc-function-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=TypeAlias]{--ng-doc-kind-icon-background: var(--ng-doc-type-alias-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Component]{--ng-doc-kind-icon-background: var(--ng-doc-component-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Directive]{--ng-doc-kind-icon-background: var(--ng-doc-directive-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Injectable]{--ng-doc-kind-icon-background: var(--ng-doc-injectable-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Pipe]{--ng-doc-kind-icon-background: var(--ng-doc-pipe-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=NgModule]{--ng-doc-kind-icon-background: var(--ng-doc-ng-module-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=ng-doc-tag-selector]{--ng-doc-kind-icon-background: var(--ng-doc-selector-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=string]{--ng-doc-kind-icon-background: var(--ng-doc-string-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=number]{--ng-doc-kind-icon-background: var(--ng-doc-number-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=boolean]{--ng-doc-kind-icon-background: var(--ng-doc-boolean-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=null]{--ng-doc-kind-icon-background: var(--ng-doc-null-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=undefined]{--ng-doc-kind-icon-background: var(--ng-doc-undefined-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=object]{--ng-doc-kind-icon-background: var(--ng-doc-object-background)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
12
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocKindIconComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocKindIconComponent, decorators: [{
13
14
  type: Component,
14
- args: [{ selector: 'ng-doc-kind-icon', template: '{{kind[0]}}', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{display:inline-block;width:calc(var(--ng-doc-base-gutter) * 2);height:calc(var(--ng-doc-base-gutter) * 2);border-radius:calc(var(--ng-doc-base-gutter) / 4);font-size:13px;text-align:center;line-height:calc(var(--ng-doc-base-gutter) * 2);text-transform:uppercase;flex-shrink:0;font-weight:700}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Class]{background-color:var(--ng-doc-class-background);color:var(--ng-doc-class-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Interface]{background-color:var(--ng-doc-interface-background);color:var(--ng-doc-interface-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Enum]{background-color:var(--ng-doc-enum-background);color:var(--ng-doc-enum-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Variable]{background-color:var(--ng-doc-variable-background);color:var(--ng-doc-variable-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Function]{background-color:var(--ng-doc-function-background);color:var(--ng-doc-function-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=TypeAlias]{background-color:var(--ng-doc-type-alias-background);color:var(--ng-doc-type-alias-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Component]{background-color:var(--ng-doc-component-decorator-background);color:var(--ng-doc-component-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Directive]{background-color:var(--ng-doc-directive-decorator-background);color:var(--ng-doc-directive-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Injectable]{background-color:var(--ng-doc-injectable-decorator-background);color:var(--ng-doc-injectable-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Pipe]{background-color:var(--ng-doc-pipe-decorator-background);color:var(--ng-doc-pipe-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=NgModule]{background-color:var(--ng-doc-ng-module-decorator-background);color:var(--ng-doc-ng-module-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=ng-doc-tag-selector]{background-color:var(--ng-doc-selector-background);color:var(--ng-doc-selector-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=string]{background-color:var(--ng-doc-string-background);color:var(--ng-doc-string-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=number]{background-color:var(--ng-doc-number-background);color:var(--ng-doc-number-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=boolean]{background-color:var(--ng-doc-boolean-background);color:var(--ng-doc-boolean-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=null]{background-color:var(--ng-doc-null-background);color:var(--ng-doc-null-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=undefined]{background-color:var(--ng-doc-undefined-background);color:var(--ng-doc-undefined-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=object]{background-color:var(--ng-doc-object-background);color:var(--ng-doc-object-color)}\n"] }]
15
+ args: [{ selector: 'ng-doc-kind-icon', template: '{{kind[0]}}', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{display:inline-block;width:22px;height:22px;border-radius:calc(var(--ng-doc-base-gutter) / 2);font-size:13px;text-align:center;line-height:22px;text-transform:uppercase;flex-shrink:0;font-weight:700;color:var(--ng-doc-kind-icon-background);background:color-mix(in srgb,var(--ng-doc-kind-icon-background) var(--ng-doc-kind-icon-background-opacity, 15%),transparent)}:host[data-ng-doc-size=small]{width:calc(var(--ng-doc-base-gutter) * 2);height:calc(var(--ng-doc-base-gutter) * 2);line-height:calc(var(--ng-doc-base-gutter) * 2)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Class]{--ng-doc-kind-icon-background: var(--ng-doc-class-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Interface]{--ng-doc-kind-icon-background: var(--ng-doc-interface-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Enum]{--ng-doc-kind-icon-background: var(--ng-doc-enum-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Variable]{--ng-doc-kind-icon-background: var(--ng-doc-variable-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Function]{--ng-doc-kind-icon-background: var(--ng-doc-function-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=TypeAlias]{--ng-doc-kind-icon-background: var(--ng-doc-type-alias-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Component]{--ng-doc-kind-icon-background: var(--ng-doc-component-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Directive]{--ng-doc-kind-icon-background: var(--ng-doc-directive-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Injectable]{--ng-doc-kind-icon-background: var(--ng-doc-injectable-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Pipe]{--ng-doc-kind-icon-background: var(--ng-doc-pipe-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=NgModule]{--ng-doc-kind-icon-background: var(--ng-doc-ng-module-decorator-background)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=ng-doc-tag-selector]{--ng-doc-kind-icon-background: var(--ng-doc-selector-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=string]{--ng-doc-kind-icon-background: var(--ng-doc-string-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=number]{--ng-doc-kind-icon-background: var(--ng-doc-number-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=boolean]{--ng-doc-kind-icon-background: var(--ng-doc-boolean-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=null]{--ng-doc-kind-icon-background: var(--ng-doc-null-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=undefined]{--ng-doc-kind-icon-background: var(--ng-doc-undefined-background)}:host[data-ng-doc-type=type][data-ng-doc-kind=object]{--ng-doc-kind-icon-background: var(--ng-doc-object-background)}\n"] }]
15
16
  }], propDecorators: { kind: [{
16
17
  type: Input
17
18
  }, {
@@ -22,6 +23,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
22
23
  }, {
23
24
  type: HostBinding,
24
25
  args: ['attr.data-ng-doc-type']
26
+ }], size: [{
27
+ type: Input
28
+ }, {
29
+ type: HostBinding,
30
+ args: ['attr.data-ng-doc-size']
25
31
  }] } });
26
32
 
27
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-kind-icon.mjs","sources":["../../../../libs/app/components/kind-icon/kind-icon.component.ts","../../../../libs/app/components/kind-icon/ng-doc-app-components-kind-icon.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n\tselector: 'ng-doc-kind-icon',\n\ttemplate: '{{kind[0]}}',\n\tstyleUrls: ['./kind-icon.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n})\nexport class NgDocKindIconComponent {\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-kind')\n\tkind: string = '';\n\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-type')\n\ttype: 'declaration' | 'type' = 'declaration';\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MASa,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;QAUC,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAIlB,IAAI,CAAA,IAAA,GAA2B,aAAa,CAAC;AAC7C,KAAA;8GARY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,0NALxB,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,o8FAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,YAClB,aAAa,EAAA,eAAA,EAEN,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,MAAA,EAAA,CAAA,o8FAAA,CAAA,EAAA,CAAA;8BAKhB,IAAI,EAAA,CAAA;sBAFH,KAAK;;sBACL,WAAW;uBAAC,uBAAuB,CAAA;gBAKpC,IAAI,EAAA,CAAA;sBAFH,KAAK;;sBACL,WAAW;uBAAC,uBAAuB,CAAA;;;ACfrC;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-components-kind-icon.mjs","sources":["../../../../libs/app/components/kind-icon/kind-icon.component.ts","../../../../libs/app/components/kind-icon/ng-doc-app-components-kind-icon.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'ng-doc-kind-icon',\n template: '{{kind[0]}}',\n styleUrls: ['./kind-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class NgDocKindIconComponent {\n @Input()\n @HostBinding('attr.data-ng-doc-kind')\n kind: string = '';\n\n @Input()\n @HostBinding('attr.data-ng-doc-type')\n type: 'declaration' | 'type' = 'declaration';\n\n @Input()\n @HostBinding('attr.data-ng-doc-size')\n size: 'small' | 'medium' = 'small';\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MASa,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;QAUE,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAIlB,IAAI,CAAA,IAAA,GAA2B,aAAa,CAAC;QAI7C,IAAI,CAAA,IAAA,GAAuB,OAAO,CAAC;AACpC,KAAA;8GAZY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,8QALvB,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ixFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKZ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,YAClB,aAAa,EAAA,eAAA,EAEN,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,MAAA,EAAA,CAAA,ixFAAA,CAAA,EAAA,CAAA;8BAKhB,IAAI,EAAA,CAAA;sBAFH,KAAK;;sBACL,WAAW;uBAAC,uBAAuB,CAAA;gBAKpC,IAAI,EAAA,CAAA;sBAFH,KAAK;;sBACL,WAAW;uBAAC,uBAAuB,CAAA;gBAKpC,IAAI,EAAA,CAAA;sBAFH,KAAK;;sBACL,WAAW;uBAAC,uBAAuB,CAAA;;;ACnBtC;;AAEG;;;;"}
@@ -6,10 +6,10 @@ class NgDocLinkComponent {
6
6
  constructor() {
7
7
  this.path = '';
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocLinkComponent, isStandalone: true, selector: "ng-doc-link", inputs: { path: "path" }, ngImport: i0, template: "<a [routerLink]=\"[path]\">\n\t<ng-content></ng-content>\n</a>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocLinkComponent, isStandalone: true, selector: "ng-doc-link", inputs: { path: "path" }, ngImport: i0, template: "<a [routerLink]=\"[path]\">\n\t<ng-content></ng-content>\n</a>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocLinkComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocLinkComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'ng-doc-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [RouterLink], template: "<a [routerLink]=\"[path]\">\n\t<ng-content></ng-content>\n</a>\n" }]
15
15
  }], propDecorators: { path: [{
@@ -0,0 +1,62 @@
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { input, signal, inject, ChangeDetectorRef, PLATFORM_ID, Component, ChangeDetectionStrategy } from '@angular/core';
4
+ import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';
5
+ import { NgDocThemeService } from '@ng-doc/app/services/theme';
6
+ import { NG_DOC_MERMAID } from '@ng-doc/app/tokens';
7
+ import { NgDocMagnifierComponent, MagnifierControllerComponent, NgDocSpinnerComponent } from '@ng-doc/ui-kit';
8
+
9
+ let id = 0;
10
+ class NgDocMermaidViewerComponent {
11
+ constructor() {
12
+ this.graph = input.required();
13
+ this.html = signal('');
14
+ this.pending = signal(true);
15
+ this.error = signal(null);
16
+ this.changeDetectorRef = inject(ChangeDetectorRef);
17
+ this.platform = inject(PLATFORM_ID);
18
+ this.id = `ng-doc-mermaid-viewer-${id++}`;
19
+ const mermaid = inject(NG_DOC_MERMAID, { optional: true });
20
+ if (!mermaid) {
21
+ throw new Error('Mermaid is not provided. Make sure that you provided mermaid using "provideMermaid" function.');
22
+ }
23
+ this.mermaid = mermaid;
24
+ inject(NgDocThemeService)
25
+ .themeChanges()
26
+ .subscribe(async () => {
27
+ const { svg } = await this.mermaid.render(this.id, this.graph());
28
+ this.html.set(svg);
29
+ });
30
+ }
31
+ async ngOnInit() {
32
+ if (isPlatformBrowser(this.platform)) {
33
+ try {
34
+ const { svg } = await this.mermaid.render(this.id, this.graph());
35
+ this.html.set(svg);
36
+ this.pending.set(false);
37
+ }
38
+ catch (error) {
39
+ this.error.set(error);
40
+ this.pending.set(false);
41
+ }
42
+ }
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocMermaidViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: NgDocMermaidViewerComponent, isStandalone: true, selector: "ng-doc-mermaid-viewer", inputs: { graph: { classPropertyName: "graph", publicName: "graph", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (pending()) {\n <div class=\"ng-doc-mermaid-preloader\">\n <ng-doc-spinner></ng-doc-spinner>\n </div>\n} @else if (error()) {\n <div class=\"ng-doc-mermaid-error\">{{ error() }}</div>\n} @else {\n <ng-doc-magnifier #magnifier>\n <div class=\"ng-doc-mermaid-container\" [innerHTML]=\"html() | ngDocSanitizeHtml\"></div>\n </ng-doc-magnifier>\n\n <ng-doc-magnifier-controller [magnifier]=\"magnifier\" />\n}\n", styles: [":host{position:relative;display:block;border:var(--ng-doc-mermaid-viewer-border, 1px solid var(--ng-doc-border-color));margin:var(--ng-doc-mermaid-viewer-margin, var(--ng-doc-page-block-margin));background:var(--ng-doc-mermaid-viewer-background, var(--ng-doc-base-8));border-radius:var(--ng-doc-mermaid-viewer-border-radius, var(--ng-doc-base-gutter));min-height:150px}:host ng-doc-magnifier-controller{position:absolute;bottom:calc(var(--ng-doc-base-gutter) * 2);right:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-mermaid-container{display:flex;justify-content:center;align-items:center;padding:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-mermaid-preloader{display:flex;justify-content:center;align-items:center;width:100%;height:120px}:host .ng-doc-mermaid-error{display:flex;justify-content:center;align-items:center;height:120px;color:var(--ng-doc-alert)}\n"], dependencies: [{ kind: "component", type: NgDocMagnifierComponent, selector: "ng-doc-magnifier" }, { kind: "component", type: MagnifierControllerComponent, selector: "ng-doc-magnifier-controller", inputs: ["magnifier"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }, { kind: "component", type: NgDocSpinnerComponent, selector: "ng-doc-spinner", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocMermaidViewerComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'ng-doc-mermaid-viewer', standalone: true, imports: [
50
+ NgDocMagnifierComponent,
51
+ MagnifierControllerComponent,
52
+ NgDocSanitizeHtmlPipe,
53
+ NgDocSpinnerComponent,
54
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (pending()) {\n <div class=\"ng-doc-mermaid-preloader\">\n <ng-doc-spinner></ng-doc-spinner>\n </div>\n} @else if (error()) {\n <div class=\"ng-doc-mermaid-error\">{{ error() }}</div>\n} @else {\n <ng-doc-magnifier #magnifier>\n <div class=\"ng-doc-mermaid-container\" [innerHTML]=\"html() | ngDocSanitizeHtml\"></div>\n </ng-doc-magnifier>\n\n <ng-doc-magnifier-controller [magnifier]=\"magnifier\" />\n}\n", styles: [":host{position:relative;display:block;border:var(--ng-doc-mermaid-viewer-border, 1px solid var(--ng-doc-border-color));margin:var(--ng-doc-mermaid-viewer-margin, var(--ng-doc-page-block-margin));background:var(--ng-doc-mermaid-viewer-background, var(--ng-doc-base-8));border-radius:var(--ng-doc-mermaid-viewer-border-radius, var(--ng-doc-base-gutter));min-height:150px}:host ng-doc-magnifier-controller{position:absolute;bottom:calc(var(--ng-doc-base-gutter) * 2);right:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-mermaid-container{display:flex;justify-content:center;align-items:center;padding:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-mermaid-preloader{display:flex;justify-content:center;align-items:center;width:100%;height:120px}:host .ng-doc-mermaid-error{display:flex;justify-content:center;align-items:center;height:120px;color:var(--ng-doc-alert)}\n"] }]
55
+ }], ctorParameters: () => [] });
56
+
57
+ /**
58
+ * Generated bundle index. Do not edit.
59
+ */
60
+
61
+ export { NgDocMermaidViewerComponent };
62
+ //# sourceMappingURL=ng-doc-app-components-mermaid-viewer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-doc-app-components-mermaid-viewer.mjs","sources":["../../../../libs/app/components/mermaid-viewer/mermaid-viewer.component.ts","../../../../libs/app/components/mermaid-viewer/mermaid-viewer.component.html","../../../../libs/app/components/mermaid-viewer/ng-doc-app-components-mermaid-viewer.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n input,\n OnInit,\n PLATFORM_ID,\n signal,\n} from '@angular/core';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocThemeService } from '@ng-doc/app/services/theme';\nimport { NG_DOC_MERMAID } from '@ng-doc/app/tokens';\nimport {\n MagnifierControllerComponent,\n NgDocMagnifierComponent,\n NgDocSpinnerComponent,\n} from '@ng-doc/ui-kit';\nimport type { Mermaid } from 'mermaid';\n\nlet id = 0;\n\n@Component({\n selector: 'ng-doc-mermaid-viewer',\n standalone: true,\n imports: [\n NgDocMagnifierComponent,\n MagnifierControllerComponent,\n NgDocSanitizeHtmlPipe,\n NgDocSpinnerComponent,\n ],\n templateUrl: './mermaid-viewer.component.html',\n styleUrl: './mermaid-viewer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocMermaidViewerComponent implements OnInit {\n graph = input.required<string>();\n\n protected readonly html = signal('');\n protected readonly pending = signal(true);\n protected readonly error = signal<Error | null>(null);\n protected readonly mermaid: Mermaid;\n\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected readonly platform = inject(PLATFORM_ID);\n\n protected readonly id = `ng-doc-mermaid-viewer-${id++}`;\n\n constructor() {\n const mermaid = inject(NG_DOC_MERMAID, { optional: true });\n\n if (!mermaid) {\n throw new Error(\n 'Mermaid is not provided. Make sure that you provided mermaid using \"provideMermaid\" function.',\n );\n }\n\n this.mermaid = mermaid;\n\n inject(NgDocThemeService)\n .themeChanges()\n .subscribe(async () => {\n const { svg } = await this.mermaid.render(this.id, this.graph());\n\n this.html.set(svg);\n });\n }\n\n async ngOnInit(): Promise<void> {\n if (isPlatformBrowser(this.platform)) {\n try {\n const { svg } = await this.mermaid.render(this.id, this.graph());\n\n this.html.set(svg);\n this.pending.set(false);\n } catch (error: unknown) {\n this.error.set(error as Error);\n this.pending.set(false);\n }\n }\n }\n}\n","@if (pending()) {\n <div class=\"ng-doc-mermaid-preloader\">\n <ng-doc-spinner></ng-doc-spinner>\n </div>\n} @else if (error()) {\n <div class=\"ng-doc-mermaid-error\">{{ error() }}</div>\n} @else {\n <ng-doc-magnifier #magnifier>\n <div class=\"ng-doc-mermaid-container\" [innerHTML]=\"html() | ngDocSanitizeHtml\"></div>\n </ng-doc-magnifier>\n\n <ng-doc-magnifier-controller [magnifier]=\"magnifier\" />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}