@ng-doc/app 17.6.15 → 18.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/classes/default-search-engine/default-search-engine.d.ts +0 -1
  2. package/classes/default-search-engine/index.d.ts +0 -1
  3. package/classes/index.d.ts +0 -1
  4. package/classes/root-page/index.d.ts +0 -1
  5. package/classes/root-page/root-page.d.ts +4 -8
  6. package/classes/search-engine/index.d.ts +0 -1
  7. package/classes/search-engine/search-engine.d.ts +0 -1
  8. package/components/api-list/api-list.component.d.ts +13 -11
  9. package/components/breadcrumb/breadcrumb.component.d.ts +0 -1
  10. package/components/code/code.component.d.ts +2 -7
  11. package/components/copy-button/copy-button.component.d.ts +12 -0
  12. package/components/copy-button/index.d.ts +1 -0
  13. package/components/demo-displayer/demo-displayer.component.d.ts +0 -5
  14. package/components/heading-anchor/heading-anchor.component.d.ts +9 -0
  15. package/components/heading-anchor/index.d.ts +1 -0
  16. package/components/image-viewer/image-viewer.component.d.ts +16 -0
  17. package/components/image-viewer/index.d.ts +1 -0
  18. package/components/index.d.ts +7 -1
  19. package/components/kind-icon/kind-icon.component.d.ts +2 -1
  20. package/components/mermaid-viewer/index.d.ts +1 -0
  21. package/components/mermaid-viewer/mermaid-viewer.component.d.ts +17 -0
  22. package/components/navbar/navbar.component.d.ts +3 -16
  23. package/components/page/page.component.d.ts +6 -14
  24. package/components/page-header/index.d.ts +1 -0
  25. package/components/page-header/page-header.component.d.ts +6 -0
  26. package/components/page-wrapper/index.d.ts +1 -0
  27. package/components/page-wrapper/page-wrapper.component.d.ts +22 -0
  28. package/components/playground/base-playground.d.ts +1 -1
  29. package/components/playground/playground-demo/playground-demo.component.d.ts +5 -6
  30. package/components/root/root.component.d.ts +4 -13
  31. package/components/search/search.component.d.ts +11 -17
  32. package/components/search-dialog/index.d.ts +1 -0
  33. package/components/search-dialog/search-dialog.component.d.ts +24 -0
  34. package/components/sidebar/sidebar-category/sidebar-category.component.d.ts +9 -10
  35. package/components/sidebar/sidebar-item/sidebar-item.component.d.ts +7 -2
  36. package/components/sidebar/sidebar.component.d.ts +5 -3
  37. package/components/theme-toggle/theme-toggle.component.d.ts +4 -5
  38. package/constants/index.d.ts +0 -2
  39. package/constants/store-keys.d.ts +0 -1
  40. package/defaults/default-processors/default-processors.d.ts +0 -1
  41. package/defaults/default-processors/index.d.ts +0 -1
  42. package/defaults/default-skeleton/default-skeleton.d.ts +0 -1
  43. package/defaults/default-skeleton/index.d.ts +0 -1
  44. package/defaults/index.d.ts +0 -1
  45. package/directives/code-highlighter/code-highlighter.directive.d.ts +11 -11
  46. package/directives/code-highlighter/index.d.ts +0 -1
  47. package/directives/index.d.ts +0 -1
  48. package/directives/route-active/index.d.ts +0 -1
  49. package/directives/route-active/route-active.directive.d.ts +0 -1
  50. package/esm2022/classes/default-search-engine/default-search-engine.mjs +10 -4
  51. package/esm2022/classes/root-page/root-page.mjs +1 -1
  52. package/esm2022/components/api-list/api-list.component.mjs +46 -64
  53. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +7 -9
  54. package/esm2022/components/code/code.component.mjs +16 -19
  55. package/esm2022/components/copy-button/copy-button.component.mjs +61 -0
  56. package/esm2022/components/copy-button/index.mjs +2 -0
  57. package/esm2022/components/copy-button/ng-doc-app-components-copy-button.mjs +5 -0
  58. package/esm2022/components/demo/demo.component.mjs +5 -5
  59. package/esm2022/components/demo-displayer/demo-displayer.component.mjs +9 -14
  60. package/esm2022/components/demo-pane/demo-pane.component.mjs +5 -5
  61. package/esm2022/components/fullscreen-button/fullscreen-button.component.mjs +3 -3
  62. package/esm2022/components/heading-anchor/heading-anchor.component.mjs +38 -0
  63. package/esm2022/components/heading-anchor/index.mjs +2 -0
  64. package/esm2022/components/heading-anchor/ng-doc-app-components-heading-anchor.mjs +5 -0
  65. package/esm2022/components/image-viewer/image-viewer.component.mjs +80 -0
  66. package/esm2022/components/image-viewer/index.mjs +2 -0
  67. package/esm2022/components/image-viewer/ng-doc-app-components-image-viewer.mjs +5 -0
  68. package/esm2022/components/index.mjs +8 -1
  69. package/esm2022/components/kind-icon/kind-icon.component.mjs +11 -5
  70. package/esm2022/components/link/link.component.mjs +3 -3
  71. package/esm2022/components/mermaid-viewer/index.mjs +2 -0
  72. package/esm2022/components/mermaid-viewer/mermaid-viewer.component.mjs +55 -0
  73. package/esm2022/components/mermaid-viewer/ng-doc-app-components-mermaid-viewer.mjs +5 -0
  74. package/esm2022/components/navbar/navbar.component.mjs +12 -32
  75. package/esm2022/components/page/page.component.mjs +20 -72
  76. package/esm2022/components/page-header/index.mjs +2 -0
  77. package/esm2022/components/page-header/ng-doc-app-components-page-header.mjs +5 -0
  78. package/esm2022/components/page-header/page-header.component.mjs +19 -0
  79. package/esm2022/components/page-link/page-link.component.mjs +5 -5
  80. package/esm2022/components/page-navigation/page-navigation.component.mjs +5 -5
  81. package/esm2022/components/page-wrapper/index.mjs +2 -0
  82. package/esm2022/components/page-wrapper/ng-doc-app-components-page-wrapper.mjs +5 -0
  83. package/esm2022/components/page-wrapper/page-wrapper.component.mjs +87 -0
  84. package/esm2022/components/playground/base-playground.mjs +8 -8
  85. package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +22 -21
  86. package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +8 -6
  87. package/esm2022/components/playground/playground-property/playground-property.component.mjs +4 -4
  88. package/esm2022/components/playground/playground.component.mjs +6 -6
  89. package/esm2022/components/root/root.component.mjs +20 -37
  90. package/esm2022/components/search/search.component.mjs +31 -49
  91. package/esm2022/components/search-dialog/index.mjs +2 -0
  92. package/esm2022/components/search-dialog/ng-doc-app-components-search-dialog.mjs +5 -0
  93. package/esm2022/components/search-dialog/search-dialog.component.mjs +74 -0
  94. package/esm2022/components/search-result/search-result.component.mjs +4 -4
  95. package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +22 -27
  96. package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +18 -10
  97. package/esm2022/components/sidebar/sidebar.component.mjs +14 -13
  98. package/esm2022/components/tabs/tabs.component.mjs +4 -4
  99. package/esm2022/components/theme-toggle/theme-toggle.component.mjs +18 -53
  100. package/esm2022/components/toc/toc-element/toc-element.component.mjs +5 -5
  101. package/esm2022/components/toc/toc.component.mjs +37 -35
  102. package/esm2022/constants/index.mjs +1 -2
  103. package/esm2022/defaults/default-processors/default-processors.mjs +7 -4
  104. package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +18 -36
  105. package/esm2022/directives/route-active/route-active.directive.mjs +3 -3
  106. package/esm2022/helpers/as-boolean.mjs +1 -1
  107. package/esm2022/helpers/create-component.mjs +1 -1
  108. package/esm2022/helpers/generate-toc.mjs +5 -5
  109. package/esm2022/interfaces/navigation.mjs +1 -1
  110. package/esm2022/interfaces/processor-options.mjs +1 -1
  111. package/esm2022/interfaces/toc-item.mjs +1 -1
  112. package/esm2022/interfaces/type-control.mjs +1 -1
  113. package/esm2022/pipes/decode-uri-component/decode-uri-component.pipe.mjs +4 -4
  114. package/esm2022/pipes/extract-value/extract-value.pipe.mjs +3 -3
  115. package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +3 -3
  116. package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +3 -3
  117. package/esm2022/processors/page-processor/index.mjs +2 -2
  118. package/esm2022/processors/page-processor/page-processor.component.mjs +74 -0
  119. package/esm2022/processors/processors/blockquote.processor.mjs +2 -1
  120. package/esm2022/processors/processors/code.processor.mjs +3 -5
  121. package/esm2022/processors/processors/demo.processor.mjs +2 -2
  122. package/esm2022/processors/processors/heading-anchor.processor.mjs +12 -0
  123. package/esm2022/processors/processors/image.processor.mjs +19 -0
  124. package/esm2022/processors/processors/index.mjs +6 -3
  125. package/esm2022/processors/processors/link/index.mjs +2 -0
  126. package/esm2022/processors/processors/link/link.processor.mjs +13 -0
  127. package/esm2022/processors/processors/link/ng-doc-app-processors-processors-link.mjs +5 -0
  128. package/esm2022/processors/processors/mermaid.processor.mjs +11 -0
  129. package/esm2022/processors/processors/playground.processor.mjs +2 -2
  130. package/esm2022/processors/processors/tooltip/index.mjs +2 -0
  131. package/esm2022/processors/processors/tooltip/ng-doc-app-processors-processors-tooltip.mjs +5 -0
  132. package/esm2022/processors/processors/tooltip/tooltip.processor.mjs +56 -0
  133. package/esm2022/providers/index.mjs +2 -1
  134. package/esm2022/providers/mermaid/index.mjs +2 -0
  135. package/esm2022/providers/mermaid/ng-doc-app-providers-mermaid.mjs +5 -0
  136. package/esm2022/providers/mermaid/provide-mermaid.mjs +16 -0
  137. package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +12 -35
  138. package/esm2022/providers/playground-demo/provide-playground-demo.mjs +1 -1
  139. package/esm2022/providers/search-engine/provide-search-engine.mjs +2 -2
  140. package/esm2022/providers/type-control/provide-type-control.mjs +1 -1
  141. package/esm2022/services/highlighter/highlighter.service.mjs +39 -0
  142. package/esm2022/services/highlighter/index.mjs +2 -0
  143. package/esm2022/services/highlighter/ng-doc-app-services-highlighter.mjs +5 -0
  144. package/esm2022/services/index.mjs +2 -2
  145. package/esm2022/services/sidebar/sidebar.service.mjs +35 -50
  146. package/esm2022/services/store/store.service.mjs +3 -3
  147. package/esm2022/services/theme/theme.service.mjs +28 -127
  148. package/esm2022/tokens/index.mjs +4 -2
  149. package/esm2022/tokens/mermaid.mjs +3 -0
  150. package/esm2022/tokens/page-processor.mjs +2 -2
  151. package/esm2022/tokens/route-prefix.mjs +3 -0
  152. package/esm2022/tokens/shiki-theme.mjs +3 -0
  153. package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +3 -3
  154. package/esm2022/type-controls/number-control/number-control.component.mjs +5 -5
  155. package/esm2022/type-controls/string-control/string-control.component.mjs +5 -5
  156. package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +5 -5
  157. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs +10 -4
  158. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs.map +1 -1
  159. package/fesm2022/ng-doc-app-classes-root-page.mjs.map +1 -1
  160. package/fesm2022/ng-doc-app-components-api-list.mjs +47 -64
  161. package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
  162. package/fesm2022/ng-doc-app-components-breadcrumb.mjs +6 -8
  163. package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
  164. package/fesm2022/ng-doc-app-components-code.mjs +16 -18
  165. package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
  166. package/fesm2022/ng-doc-app-components-copy-button.mjs +68 -0
  167. package/fesm2022/ng-doc-app-components-copy-button.mjs.map +1 -0
  168. package/fesm2022/ng-doc-app-components-demo-displayer.mjs +8 -12
  169. package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
  170. package/fesm2022/ng-doc-app-components-demo-pane.mjs +4 -4
  171. package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
  172. package/fesm2022/ng-doc-app-components-demo.mjs +4 -4
  173. package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
  174. package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +3 -3
  175. package/fesm2022/ng-doc-app-components-heading-anchor.mjs +45 -0
  176. package/fesm2022/ng-doc-app-components-heading-anchor.mjs.map +1 -0
  177. package/fesm2022/ng-doc-app-components-image-viewer.mjs +87 -0
  178. package/fesm2022/ng-doc-app-components-image-viewer.mjs.map +1 -0
  179. package/fesm2022/ng-doc-app-components-kind-icon.mjs +10 -4
  180. package/fesm2022/ng-doc-app-components-kind-icon.mjs.map +1 -1
  181. package/fesm2022/ng-doc-app-components-link.mjs +3 -3
  182. package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs +62 -0
  183. package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs.map +1 -0
  184. package/fesm2022/ng-doc-app-components-navbar.mjs +12 -32
  185. package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
  186. package/fesm2022/ng-doc-app-components-page-header.mjs +26 -0
  187. package/fesm2022/ng-doc-app-components-page-header.mjs.map +1 -0
  188. package/fesm2022/ng-doc-app-components-page-link.mjs +4 -4
  189. package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
  190. package/fesm2022/ng-doc-app-components-page-navigation.mjs +4 -4
  191. package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
  192. package/fesm2022/ng-doc-app-components-page-wrapper.mjs +94 -0
  193. package/fesm2022/ng-doc-app-components-page-wrapper.mjs.map +1 -0
  194. package/fesm2022/ng-doc-app-components-page.mjs +19 -71
  195. package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
  196. package/fesm2022/ng-doc-app-components-playground.mjs +43 -38
  197. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  198. package/fesm2022/ng-doc-app-components-root.mjs +18 -35
  199. package/fesm2022/ng-doc-app-components-root.mjs.map +1 -1
  200. package/fesm2022/ng-doc-app-components-search-dialog.mjs +81 -0
  201. package/fesm2022/ng-doc-app-components-search-dialog.mjs.map +1 -0
  202. package/fesm2022/ng-doc-app-components-search-result.mjs +3 -3
  203. package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
  204. package/fesm2022/ng-doc-app-components-search.mjs +30 -48
  205. package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
  206. package/fesm2022/ng-doc-app-components-sidebar.mjs +49 -44
  207. package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
  208. package/fesm2022/ng-doc-app-components-tabs.mjs +3 -3
  209. package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
  210. package/fesm2022/ng-doc-app-components-theme-toggle.mjs +17 -51
  211. package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
  212. package/fesm2022/ng-doc-app-components-toc.mjs +40 -38
  213. package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
  214. package/fesm2022/ng-doc-app-components.mjs +7 -0
  215. package/fesm2022/ng-doc-app-components.mjs.map +1 -1
  216. package/fesm2022/ng-doc-app-constants.mjs +1 -37
  217. package/fesm2022/ng-doc-app-constants.mjs.map +1 -1
  218. package/fesm2022/ng-doc-app-defaults-default-processors.mjs +6 -3
  219. package/fesm2022/ng-doc-app-defaults-default-processors.mjs.map +1 -1
  220. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +17 -35
  221. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
  222. package/fesm2022/ng-doc-app-directives-route-active.mjs +3 -3
  223. package/fesm2022/ng-doc-app-helpers.mjs +4 -4
  224. package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
  225. package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs +3 -3
  226. package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs.map +1 -1
  227. package/fesm2022/ng-doc-app-pipes-extract-value.mjs +3 -3
  228. package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +3 -3
  229. package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +3 -3
  230. package/fesm2022/ng-doc-app-processors-page-processor.mjs +20 -14
  231. package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
  232. package/fesm2022/ng-doc-app-processors-processors-link.mjs +20 -0
  233. package/fesm2022/ng-doc-app-processors-processors-link.mjs.map +1 -0
  234. package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs +63 -0
  235. package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs.map +1 -0
  236. package/fesm2022/ng-doc-app-processors-processors.mjs +45 -70
  237. package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
  238. package/fesm2022/ng-doc-app-providers-mermaid.mjs +23 -0
  239. package/fesm2022/ng-doc-app-providers-mermaid.mjs.map +1 -0
  240. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +11 -34
  241. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
  242. package/fesm2022/ng-doc-app-providers-playground-demo.mjs.map +1 -1
  243. package/fesm2022/ng-doc-app-providers-search-engine.mjs +1 -1
  244. package/fesm2022/ng-doc-app-providers-search-engine.mjs.map +1 -1
  245. package/fesm2022/ng-doc-app-providers-type-control.mjs.map +1 -1
  246. package/fesm2022/ng-doc-app-providers.mjs +1 -0
  247. package/fesm2022/ng-doc-app-providers.mjs.map +1 -1
  248. package/fesm2022/ng-doc-app-services-highlighter.mjs +46 -0
  249. package/fesm2022/ng-doc-app-services-highlighter.mjs.map +1 -0
  250. package/fesm2022/ng-doc-app-services-sidebar.mjs +35 -50
  251. package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
  252. package/fesm2022/ng-doc-app-services-store.mjs +3 -3
  253. package/fesm2022/ng-doc-app-services-theme.mjs +27 -126
  254. package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
  255. package/fesm2022/ng-doc-app-services.mjs +1 -1
  256. package/fesm2022/ng-doc-app-tokens.mjs +8 -4
  257. package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
  258. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +3 -3
  259. package/fesm2022/ng-doc-app-type-controls-number-control.mjs +4 -4
  260. package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  261. package/fesm2022/ng-doc-app-type-controls-string-control.mjs +4 -4
  262. package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
  263. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +4 -4
  264. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
  265. package/helpers/as-boolean.d.ts +0 -1
  266. package/helpers/create-component.d.ts +0 -1
  267. package/helpers/format-html.d.ts +0 -1
  268. package/helpers/generate-toc.d.ts +0 -1
  269. package/helpers/index.d.ts +0 -1
  270. package/helpers/is-dark-os-theme.d.ts +0 -1
  271. package/helpers/is-external-link.d.ts +0 -1
  272. package/helpers/is-playground-property.d.ts +0 -1
  273. package/index.d.ts +0 -1
  274. package/interfaces/context.d.ts +0 -1
  275. package/interfaces/demo-assets.d.ts +0 -1
  276. package/interfaces/index.d.ts +0 -1
  277. package/interfaces/navigation.d.ts +7 -2
  278. package/interfaces/page-processor.d.ts +0 -1
  279. package/interfaces/page-skeleton.d.ts +0 -1
  280. package/interfaces/processor-options.d.ts +4 -2
  281. package/interfaces/provided-type-control.d.ts +0 -1
  282. package/interfaces/search-result.d.ts +0 -1
  283. package/interfaces/tab.d.ts +0 -1
  284. package/interfaces/theme.d.ts +0 -1
  285. package/interfaces/toc-item.d.ts +0 -1
  286. package/interfaces/type-control-provider-options.d.ts +0 -1
  287. package/interfaces/type-control.d.ts +0 -1
  288. package/package.json +76 -10
  289. package/pipes/decode-uri-component/decode-uri-component.pipe.d.ts +0 -1
  290. package/pipes/decode-uri-component/index.d.ts +0 -1
  291. package/pipes/extract-value/extract-value.pipe.d.ts +0 -1
  292. package/pipes/extract-value/index.d.ts +0 -1
  293. package/pipes/filter-by-text/filter-by-text.pipe.d.ts +0 -1
  294. package/pipes/filter-by-text/index.d.ts +0 -1
  295. package/pipes/index.d.ts +0 -1
  296. package/pipes/sanitize-html/index.d.ts +0 -1
  297. package/pipes/sanitize-html/sanitize-html.pipe.d.ts +0 -1
  298. package/processors/index.d.ts +0 -1
  299. package/processors/page-processor/index.d.ts +1 -2
  300. package/processors/page-processor/{page-processor.directive.d.ts → page-processor.component.d.ts} +7 -7
  301. package/processors/processors/heading-anchor.processor.d.ts +3 -0
  302. package/processors/processors/image.processor.d.ts +3 -0
  303. package/processors/processors/index.d.ts +5 -2
  304. package/processors/processors/link/index.d.ts +1 -0
  305. package/processors/processors/mermaid.processor.d.ts +3 -0
  306. package/processors/processors/tooltip/index.d.ts +1 -0
  307. package/providers/index.d.ts +1 -1
  308. package/providers/mermaid/index.d.ts +1 -0
  309. package/providers/mermaid/provide-mermaid.d.ts +7 -0
  310. package/providers/ng-doc-app/index.d.ts +0 -1
  311. package/providers/ng-doc-app/provide-ng-doc-app.d.ts +5 -11
  312. package/providers/page-skeleton/index.d.ts +0 -1
  313. package/providers/page-skeleton/provide-page-skeleton.d.ts +0 -1
  314. package/providers/playground-demo/index.d.ts +0 -1
  315. package/providers/playground-demo/provide-playground-demo.d.ts +1 -2
  316. package/providers/search-engine/index.d.ts +0 -1
  317. package/providers/search-engine/provide-search-engine.d.ts +1 -2
  318. package/providers/type-control/index.d.ts +0 -1
  319. package/providers/type-control/provide-type-control.d.ts +1 -2
  320. package/services/highlighter/highlighter.service.d.ts +24 -0
  321. package/services/highlighter/index.d.ts +1 -0
  322. package/services/index.d.ts +1 -2
  323. package/services/sidebar/index.d.ts +0 -1
  324. package/services/sidebar/sidebar.service.d.ts +4 -11
  325. package/services/store/index.d.ts +0 -1
  326. package/services/store/store.service.d.ts +0 -1
  327. package/services/theme/index.d.ts +0 -1
  328. package/services/theme/theme.service.d.ts +9 -38
  329. package/styles/global.css +161 -132
  330. package/styles/main.css +150 -106
  331. package/styles/themes/dark.css +71 -0
  332. package/tokens/context.d.ts +0 -1
  333. package/tokens/index.d.ts +3 -2
  334. package/tokens/mermaid.d.ts +3 -0
  335. package/tokens/page-processor.d.ts +1 -2
  336. package/tokens/page-skeleton.d.ts +0 -1
  337. package/tokens/route-prefix.d.ts +2 -0
  338. package/tokens/shiki-theme.d.ts +6 -0
  339. package/tokens/theme.d.ts +0 -1
  340. package/tokens/type-control.d.ts +0 -1
  341. package/type-controls/index.d.ts +0 -1
  342. package/types/index.d.ts +0 -1
  343. package/types/typed-form.d.ts +0 -1
  344. package/assets/themes/ng-doc-night.css +0 -111
  345. package/constants/themes.d.ts +0 -34
  346. package/esm2022/constants/themes.mjs +0 -36
  347. package/esm2022/processors/page-processor/page-processor.directive.mjs +0 -68
  348. package/esm2022/processors/processors/link.processor.mjs +0 -13
  349. package/esm2022/processors/processors/tooltip.processor.mjs +0 -56
  350. package/esm2022/tokens/api-list.mjs +0 -3
  351. package/tokens/api-list.d.ts +0 -4
  352. /package/processors/processors/{link.processor.d.ts → link/link.processor.d.ts} +0 -0
  353. /package/processors/processors/{tooltip.processor.d.ts → tooltip/tooltip.processor.d.ts} +0 -0
@@ -5,10 +5,9 @@ import { afterNextRender, NgZone, ChangeDetectorRef, Component, ChangeDetectionS
5
5
  import { NgDocSearchComponent } from '@ng-doc/app/components/search';
6
6
  import * as i1 from '@ng-doc/app/services';
7
7
  import { NgDocSidebarService } from '@ng-doc/app/services';
8
- import { ngDocZoneOptimize, NgDocLetDirective, NgDocButtonIconComponent, NgDocIconComponent } from '@ng-doc/ui-kit';
8
+ import { ngDocZoneOptimize, NgDocButtonIconComponent, NgDocIconComponent, NgDocLetDirective } from '@ng-doc/ui-kit';
9
9
  import { WINDOW } from '@ng-web-apis/common';
10
10
  import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
11
- import * as i2 from '@tinkoff/ng-polymorpheus';
12
11
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
13
12
  import { combineLatest, fromEvent } from 'rxjs';
14
13
  import { map, distinctUntilChanged, startWith } from 'rxjs/operators';
@@ -22,18 +21,6 @@ let NgDocNavbarComponent = class NgDocNavbarComponent {
22
21
  this.ngZone = ngZone;
23
22
  this.changeDetectorRef = changeDetectorRef;
24
23
  this.sidebarService = sidebarService;
25
- /**
26
- * Content for left side of navbar
27
- */
28
- this.leftContent = '';
29
- /**
30
- * Content for center side of navbar
31
- */
32
- this.centerContent = '';
33
- /**
34
- * Content for right side of navbar
35
- */
36
- this.rightContent = '';
37
24
  /**
38
25
  * Show search input
39
26
  */
@@ -47,24 +34,23 @@ let NgDocNavbarComponent = class NgDocNavbarComponent {
47
34
  */
48
35
  this.glassEffect = true;
49
36
  /**
50
- * Indicates if navbar has shadow
37
+ * Indicates if navbar has border
51
38
  */
52
- this.hasShadow = false;
39
+ this.hasBorder = false;
53
40
  afterNextRender(() => {
54
41
  combineLatest([
55
42
  fromEvent(this.window, 'scroll').pipe(map((e) => (e.target?.scrollingElement?.scrollTop ?? 0) > 0), distinctUntilChanged(), startWith(false), ngDocZoneOptimize(this.ngZone)),
56
- this.sidebarService.isMobileMode(),
57
43
  this.sidebarService.isExpanded(),
58
44
  ])
59
- .pipe(map(([scrolled, isMobileMode, isExpanded]) => scrolled || (isMobileMode && isExpanded)), untilDestroyed(this))
45
+ .pipe(map(([scrolled, isExpanded]) => scrolled || (isExpanded && this.sidebarService.isMobile)), untilDestroyed(this))
60
46
  .subscribe((hasShadow) => {
61
- this.hasShadow = hasShadow;
47
+ this.hasBorder = hasShadow;
62
48
  this.changeDetectorRef.markForCheck();
63
49
  });
64
50
  });
65
51
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocNavbarComponent, deps: [{ token: WINDOW }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.NgDocSidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NgDocNavbarComponent, isStandalone: true, selector: "ng-doc-navbar", inputs: { leftContent: "leftContent", centerContent: "centerContent", rightContent: "rightContent", search: "search", hamburger: "hamburger", glassEffect: "glassEffect" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "attr.data-glass-effect": "this.glassEffect", "class.has-shadow": "this.hasShadow" } }, ngImport: i0, template: "<div class=\"navbar-container\" *ngDocLet=\"sidebarService.isMobileMode() | async as isMobileMode\">\n\t<div class=\"ng-doc-navbar-left\">\n\t\t<ng-container *polymorpheusOutlet=\"leftContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-center\">\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t\t@if (search && !isMobileMode) {\n\t\t<ng-doc-search></ng-doc-search>\n\t\t}\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t@if (search && isMobileMode) {\n\t\t<ng-doc-search mod=\"icon\"></ng-doc-search>\n\t\t}\n\t\t<ng-container *polymorpheusOutlet=\"rightContent\"></ng-container>\n\t\t<button\n\t\t\tclass=\"ng-doc-menu\"\n\t\t\t*ngIf=\"isMobileMode && hamburger\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\">\n\t\t\t<ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n\t\t</button>\n\t</div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;transition:var(--ng-doc-transition) box-shadow}:host:not([data-glass-effect=false]){-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}:host:not([data-glass-effect=false]){position:relative}:host:not([data-glass-effect=false]):before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.6;border-radius:inherit;overflow:hidden;pointer-events:none}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-shadow{box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-center,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-center{padding:0 var(--ng-doc-app-horizontal-padding);justify-content:flex-start;max-width:calc(100% - var(--ng-doc-toc-width))}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}\n"], dependencies: [{ kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocSearchComponent, selector: "ng-doc-search", inputs: ["mod"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocNavbarComponent, deps: [{ token: WINDOW }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.NgDocSidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: NgDocNavbarComponent, isStandalone: true, selector: "ng-doc-navbar", inputs: { search: "search", hamburger: "hamburger", glassEffect: "glassEffect" }, host: { properties: { "attr.data-glass-effect": "this.glassEffect", "class.has-border": "this.hasBorder" } }, ngImport: i0, template: "<div class=\"navbar-container\">\n <div class=\"ng-doc-navbar-left\">\n <ng-content select=\"[ngDocNavbarLeft]\"></ng-content>\n </div>\n <div class=\"ng-doc-navbar-right\">\n @if (search) {\n <ng-doc-search></ng-doc-search>\n }\n <ng-content select=\"[ngDocNavbarRight]\"></ng-content>\n <button class=\"ng-doc-menu\" ng-doc-button-icon size=\"large\" (click)=\"sidebarService.toggle()\">\n <ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;border-bottom:1px solid transparent;transition:var(--ng-doc-transition) border}:host:not([data-glass-effect=false]){background:color-mix(in srgb,var(--ng-doc-navbar-background) 60%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-border{border-bottom:var(--ng-doc-navbar-border, );box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}@media (min-width: 1024px){:host .ng-doc-menu{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: PolymorpheusModule }, { kind: "component", type: NgDocSearchComponent, selector: "ng-doc-search" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
54
  };
69
55
  NgDocNavbarComponent = __decorate([
70
56
  UntilDestroy(),
@@ -73,7 +59,7 @@ NgDocNavbarComponent = __decorate([
73
59
  ChangeDetectorRef,
74
60
  NgDocSidebarService])
75
61
  ], NgDocNavbarComponent);
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocNavbarComponent, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocNavbarComponent, decorators: [{
77
63
  type: Component,
78
64
  args: [{ selector: 'ng-doc-navbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
79
65
  NgDocLetDirective,
@@ -83,17 +69,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
83
69
  NgDocButtonIconComponent,
84
70
  NgDocIconComponent,
85
71
  AsyncPipe,
86
- ], host: { ngSkipHydration: 'true' }, template: "<div class=\"navbar-container\" *ngDocLet=\"sidebarService.isMobileMode() | async as isMobileMode\">\n\t<div class=\"ng-doc-navbar-left\">\n\t\t<ng-container *polymorpheusOutlet=\"leftContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-center\">\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t\t@if (search && !isMobileMode) {\n\t\t<ng-doc-search></ng-doc-search>\n\t\t}\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t@if (search && isMobileMode) {\n\t\t<ng-doc-search mod=\"icon\"></ng-doc-search>\n\t\t}\n\t\t<ng-container *polymorpheusOutlet=\"rightContent\"></ng-container>\n\t\t<button\n\t\t\tclass=\"ng-doc-menu\"\n\t\t\t*ngIf=\"isMobileMode && hamburger\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\">\n\t\t\t<ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n\t\t</button>\n\t</div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;transition:var(--ng-doc-transition) box-shadow}:host:not([data-glass-effect=false]){-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}:host:not([data-glass-effect=false]){position:relative}:host:not([data-glass-effect=false]):before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.6;border-radius:inherit;overflow:hidden;pointer-events:none}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-shadow{box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-center,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-center{padding:0 var(--ng-doc-app-horizontal-padding);justify-content:flex-start;max-width:calc(100% - var(--ng-doc-toc-width))}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}\n"] }]
72
+ ], template: "<div class=\"navbar-container\">\n <div class=\"ng-doc-navbar-left\">\n <ng-content select=\"[ngDocNavbarLeft]\"></ng-content>\n </div>\n <div class=\"ng-doc-navbar-right\">\n @if (search) {\n <ng-doc-search></ng-doc-search>\n }\n <ng-content select=\"[ngDocNavbarRight]\"></ng-content>\n <button class=\"ng-doc-menu\" ng-doc-button-icon size=\"large\" (click)=\"sidebarService.toggle()\">\n <ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;border-bottom:1px solid transparent;transition:var(--ng-doc-transition) border}:host:not([data-glass-effect=false]){background:color-mix(in srgb,var(--ng-doc-navbar-background) 60%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-border{border-bottom:var(--ng-doc-navbar-border, );box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}@media (min-width: 1024px){:host .ng-doc-menu{display:none}}\n"] }]
87
73
  }], ctorParameters: () => [{ type: Window, decorators: [{
88
74
  type: Inject,
89
75
  args: [WINDOW]
90
- }] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.NgDocSidebarService }], propDecorators: { leftContent: [{
91
- type: Input
92
- }], centerContent: [{
93
- type: Input
94
- }], rightContent: [{
95
- type: Input
96
- }], search: [{
76
+ }] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.NgDocSidebarService }], propDecorators: { search: [{
97
77
  type: Input
98
78
  }], hamburger: [{
99
79
  type: Input
@@ -102,9 +82,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
102
82
  }, {
103
83
  type: HostBinding,
104
84
  args: ['attr.data-glass-effect']
105
- }], hasShadow: [{
85
+ }], hasBorder: [{
106
86
  type: HostBinding,
107
- args: ['class.has-shadow']
87
+ args: ['class.has-border']
108
88
  }] } });
109
89
 
110
90
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-navbar.mjs","sources":["../../../../libs/app/components/navbar/navbar.component.ts","../../../../libs/app/components/navbar/navbar.component.html","../../../../libs/app/components/navbar/ng-doc-app-components-navbar.ts"],"sourcesContent":["import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n\tafterNextRender,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tHostBinding,\n\tInject,\n\tInput,\n\tNgZone,\n} from '@angular/core';\nimport { NgDocSearchComponent } from '@ng-doc/app/components/search';\nimport { NgDocSidebarService } from '@ng-doc/app/services';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocContent,\n\tNgDocIconComponent,\n\tNgDocLetDirective,\n\tngDocZoneOptimize,\n} from '@ng-doc/ui-kit';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\nimport { combineLatest, fromEvent } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\n/**\n * Navbar component for ng-doc application\n */\n@Component({\n\tselector: 'ng-doc-navbar',\n\ttemplateUrl: './navbar.component.html',\n\tstyleUrls: ['./navbar.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocLetDirective,\n\t\tPolymorpheusModule,\n\t\tNgIf,\n\t\tNgDocSearchComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocIconComponent,\n\t\tAsyncPipe,\n\t],\n\thost: { ngSkipHydration: 'true' },\n})\n@UntilDestroy()\nexport class NgDocNavbarComponent {\n\t/**\n\t * Content for left side of navbar\n\t */\n\t@Input()\n\tleftContent: NgDocContent = '';\n\n\t/**\n\t * Content for center side of navbar\n\t */\n\t@Input()\n\tcenterContent: NgDocContent = '';\n\n\t/**\n\t * Content for right side of navbar\n\t */\n\t@Input()\n\trightContent: NgDocContent = '';\n\n\t/**\n\t * Show search input\n\t */\n\t@Input()\n\tsearch: boolean = true;\n\n\t/**\n\t * Show hamburger button\n\t */\n\t@Input()\n\thamburger: boolean = true;\n\n\t/**\n\t * Use glass effect for navbar\n\t */\n\t@Input()\n\t@HostBinding('attr.data-glass-effect')\n\tglassEffect: boolean = true;\n\n\t/**\n\t * Indicates if navbar has shadow\n\t */\n\t@HostBinding('class.has-shadow')\n\thasShadow: boolean = false;\n\n\tconstructor(\n\t\t@Inject(WINDOW)\n\t\tprivate readonly window: Window,\n\t\tprivate readonly ngZone: NgZone,\n\t\tprivate readonly changeDetectorRef: ChangeDetectorRef,\n\t\tprotected readonly sidebarService: NgDocSidebarService,\n\t) {\n\t\tafterNextRender(() => {\n\t\t\tcombineLatest([\n\t\t\t\tfromEvent(this.window, 'scroll').pipe(\n\t\t\t\t\tmap((e: Event) => ((e.target as Document)?.scrollingElement?.scrollTop ?? 0) > 0),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tstartWith(false),\n\t\t\t\t\tngDocZoneOptimize(this.ngZone),\n\t\t\t\t),\n\t\t\t\tthis.sidebarService.isMobileMode(),\n\t\t\t\tthis.sidebarService.isExpanded(),\n\t\t\t])\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(\n\t\t\t\t\t\t([scrolled, isMobileMode, isExpanded]: [boolean, boolean, boolean]) =>\n\t\t\t\t\t\t\tscrolled || (isMobileMode && isExpanded),\n\t\t\t\t\t),\n\t\t\t\t\tuntilDestroyed(this),\n\t\t\t\t)\n\t\t\t\t.subscribe((hasShadow: boolean) => {\n\t\t\t\t\tthis.hasShadow = hasShadow;\n\t\t\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t\t\t});\n\t\t});\n\t}\n}\n","<div class=\"navbar-container\" *ngDocLet=\"sidebarService.isMobileMode() | async as isMobileMode\">\n\t<div class=\"ng-doc-navbar-left\">\n\t\t<ng-container *polymorpheusOutlet=\"leftContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-center\">\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t\t@if (search && !isMobileMode) {\n\t\t<ng-doc-search></ng-doc-search>\n\t\t}\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t@if (search && isMobileMode) {\n\t\t<ng-doc-search mod=\"icon\"></ng-doc-search>\n\t\t}\n\t\t<ng-container *polymorpheusOutlet=\"rightContent\"></ng-container>\n\t\t<button\n\t\t\tclass=\"ng-doc-menu\"\n\t\t\t*ngIf=\"isMobileMode && hamburger\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\">\n\t\t\t<ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n\t\t</button>\n\t</div>\n</div>\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-navbar.mjs","sources":["../../../../libs/app/components/navbar/navbar.component.ts","../../../../libs/app/components/navbar/navbar.component.html","../../../../libs/app/components/navbar/ng-doc-app-components-navbar.ts"],"sourcesContent":["import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport { NgDocSearchComponent } from '@ng-doc/app/components/search';\nimport { NgDocSidebarService } from '@ng-doc/app/services';\nimport {\n NgDocButtonIconComponent,\n NgDocIconComponent,\n NgDocLetDirective,\n ngDocZoneOptimize,\n} from '@ng-doc/ui-kit';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\nimport { combineLatest, fromEvent } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\n/**\n * Navbar component for ng-doc application\n */\n@Component({\n selector: 'ng-doc-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgDocLetDirective,\n PolymorpheusModule,\n NgIf,\n NgDocSearchComponent,\n NgDocButtonIconComponent,\n NgDocIconComponent,\n AsyncPipe,\n ],\n})\n@UntilDestroy()\nexport class NgDocNavbarComponent {\n /**\n * Show search input\n */\n @Input()\n search: boolean = true;\n\n /**\n * Show hamburger button\n */\n @Input()\n hamburger: boolean = true;\n\n /**\n * Use glass effect for navbar\n */\n @Input()\n @HostBinding('attr.data-glass-effect')\n glassEffect: boolean = true;\n\n /**\n * Indicates if navbar has border\n */\n @HostBinding('class.has-border')\n hasBorder: boolean = false;\n\n constructor(\n @Inject(WINDOW)\n private readonly window: Window,\n private readonly ngZone: NgZone,\n private readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly sidebarService: NgDocSidebarService,\n ) {\n afterNextRender(() => {\n combineLatest([\n fromEvent(this.window, 'scroll').pipe(\n map((e: Event) => ((e.target as Document)?.scrollingElement?.scrollTop ?? 0) > 0),\n distinctUntilChanged(),\n startWith(false),\n ngDocZoneOptimize(this.ngZone),\n ),\n this.sidebarService.isExpanded(),\n ])\n .pipe(\n map(\n ([scrolled, isExpanded]: [boolean, boolean]) =>\n scrolled || (isExpanded && this.sidebarService.isMobile),\n ),\n untilDestroyed(this),\n )\n .subscribe((hasShadow: boolean) => {\n this.hasBorder = hasShadow;\n this.changeDetectorRef.markForCheck();\n });\n });\n }\n}\n","<div class=\"navbar-container\">\n <div class=\"ng-doc-navbar-left\">\n <ng-content select=\"[ngDocNavbarLeft]\"></ng-content>\n </div>\n <div class=\"ng-doc-navbar-right\">\n @if (search) {\n <ng-doc-search></ng-doc-search>\n }\n <ng-content select=\"[ngDocNavbarRight]\"></ng-content>\n <button class=\"ng-doc-menu\" ng-doc-button-icon size=\"large\" (click)=\"sidebarService.toggle()\">\n <ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n </button>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
4
+ import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';
5
+ import { NgDocPageProcessorComponent } from '@ng-doc/app/processors';
6
+
7
+ class NgDocPageHeaderComponent {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocPageHeaderComponent, isStandalone: true, selector: "ng-doc-page-header", inputs: { headerContent: "headerContent" }, host: { attributes: { "ngSkipHydration": "true" } }, ngImport: i0, template: "<header\n class=\"ng-doc-page-header ngde\"\n [ngDocPageProcessor]=\"headerContent | ngDocSanitizeHtml\"></header>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: NgDocPageProcessorComponent, selector: "[ngDocPageProcessor]", inputs: ["ngDocPageProcessor"], outputs: ["afterRender"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocPageHeaderComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'ng-doc-page-header', standalone: true, imports: [CommonModule, NgDocPageProcessorComponent, NgDocSanitizeHtmlPipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
14
+ ngSkipHydration: 'true',
15
+ }, template: "<header\n class=\"ng-doc-page-header ngde\"\n [ngDocPageProcessor]=\"headerContent | ngDocSanitizeHtml\"></header>\n" }]
16
+ }], propDecorators: { headerContent: [{
17
+ type: Input,
18
+ args: [{ required: true }]
19
+ }] } });
20
+
21
+ /**
22
+ * Generated bundle index. Do not edit.
23
+ */
24
+
25
+ export { NgDocPageHeaderComponent };
26
+ //# sourceMappingURL=ng-doc-app-components-page-header.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-doc-app-components-page-header.mjs","sources":["../../../../libs/app/components/page-header/page-header.component.ts","../../../../libs/app/components/page-header/page-header.component.html","../../../../libs/app/components/page-header/ng-doc-app-components-page-header.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocPageProcessorComponent } from '@ng-doc/app/processors';\n\n@Component({\n selector: 'ng-doc-page-header',\n standalone: true,\n imports: [CommonModule, NgDocPageProcessorComponent, NgDocSanitizeHtmlPipe],\n templateUrl: './page-header.component.html',\n styleUrl: './page-header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n ngSkipHydration: 'true',\n },\n})\nexport class NgDocPageHeaderComponent {\n @Input({ required: true })\n headerContent!: string;\n}\n","<header\n class=\"ng-doc-page-header ngde\"\n [ngDocPageProcessor]=\"headerContent | ngDocSanitizeHtml\"></header>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAgBa,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,+KChBrC,wHAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,2BAA2B,sHAAE,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAQ/D,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAXpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,2BAA2B,EAAE,qBAAqB,CAAC,EAAA,eAAA,EAG1D,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACJ,wBAAA,eAAe,EAAE,MAAM;AACxB,qBAAA,EAAA,QAAA,EAAA,wHAAA,EAAA,CAAA;8BAID,aAAa,EAAA,CAAA;sBADZ,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;;AEjB3B;;AAEG;;;;"}
@@ -32,12 +32,12 @@ class NgDocPageLinkComponent {
32
32
  get queryParams() {
33
33
  return Object.fromEntries(new URLSearchParams(this.link?.search.replace(/^\?/, '') ?? '').entries());
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocPageLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocPageLinkComponent, isStandalone: true, selector: "ng-doc-page-link", inputs: { href: "href", classes: "classes" }, usesOnChanges: true, ngImport: i0, template: "<a\n\t[class]=\"classes\"\n\t[routerLink]=\"path\"\n\t[fragment]=\"fragment ?? '' | decodeUriComponent\"\n\t[queryParams]=\"queryParams\"\n\t*ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocDecodeUriComponentPipe, name: "decodeUriComponent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocPageLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocPageLinkComponent, isStandalone: true, selector: "ng-doc-page-link", inputs: { href: "href", classes: "classes" }, usesOnChanges: true, ngImport: i0, template: "<a\n [class]=\"classes\"\n [routerLink]=\"path\"\n [fragment]=\"fragment ? (fragment | decodeUriComponent) : undefined\"\n [queryParams]=\"queryParams\"\n *ngIf=\"!isExternalLink\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocDecodeUriComponentPipe, name: "decodeUriComponent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocPageLinkComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocPageLinkComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'ng-doc-page-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent, NgDocDecodeUriComponentPipe], template: "<a\n\t[class]=\"classes\"\n\t[routerLink]=\"path\"\n\t[fragment]=\"fragment ?? '' | decodeUriComponent\"\n\t[queryParams]=\"queryParams\"\n\t*ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"] }]
40
+ args: [{ selector: 'ng-doc-page-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent, NgDocDecodeUriComponentPipe], template: "<a\n [class]=\"classes\"\n [routerLink]=\"path\"\n [fragment]=\"fragment ? (fragment | decodeUriComponent) : undefined\"\n [queryParams]=\"queryParams\"\n *ngIf=\"!isExternalLink\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"] }]
41
41
  }], propDecorators: { href: [{
42
42
  type: Input,
43
43
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-page-link.mjs","sources":["../../../../libs/app/components/page-link/page-link.component.ts","../../../../libs/app/components/page-link/page-link.component.html","../../../../libs/app/components/page-link/ng-doc-app-components-page-link.ts"],"sourcesContent":["import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\tinject,\n\tInput,\n\tOnChanges,\n\tOnInit,\n\tRenderer2,\n} from '@angular/core';\nimport { Params, RouterLink } from '@angular/router';\nimport { NgDocDecodeUriComponentPipe } from '@ng-doc/app/pipes';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-page-link',\n\ttemplateUrl: './page-link.component.html',\n\tstyleUrls: ['./page-link.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent, NgDocDecodeUriComponentPipe],\n})\nexport class NgDocPageLinkComponent implements OnInit, OnChanges {\n\t@Input({ required: true })\n\thref: string = '';\n\n\t@Input()\n\tclasses: string = '';\n\n\tprotected isInCode: boolean = false;\n\n\tprivate link: HTMLAnchorElement | undefined;\n\n\tprivate readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\tprivate readonly renderer: Renderer2 = inject(Renderer2);\n\n\tngOnInit(): void {\n\t\tthis.isInCode = this.elementRef.nativeElement.closest('code') !== null;\n\t}\n\n\tngOnChanges(): void {\n\t\tthis.link = this.renderer.createElement('a') as HTMLAnchorElement;\n\t\tthis.link.href = this.href;\n\t}\n\n\tget isExternalLink(): boolean {\n\t\treturn this.href.startsWith('http');\n\t}\n\n\tget path(): string {\n\t\treturn (!this.isExternalLink ? this.link?.pathname : this.href) ?? '';\n\t}\n\n\tget fragment(): string | undefined {\n\t\treturn this.link?.hash.replace(/^#/, '') || undefined;\n\t}\n\n\tget queryParams(): Params {\n\t\treturn Object.fromEntries(\n\t\t\tnew URLSearchParams(this.link?.search.replace(/^\\?/, '') ?? '').entries(),\n\t\t);\n\t}\n}\n","<a\n\t[class]=\"classes\"\n\t[routerLink]=\"path\"\n\t[fragment]=\"fragment ?? '' | decodeUriComponent\"\n\t[queryParams]=\"queryParams\"\n\t*ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\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-page-link.mjs","sources":["../../../../libs/app/components/page-link/page-link.component.ts","../../../../libs/app/components/page-link/page-link.component.html","../../../../libs/app/components/page-link/ng-doc-app-components-page-link.ts"],"sourcesContent":["import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n} from '@angular/core';\nimport { Params, RouterLink } from '@angular/router';\nimport { NgDocDecodeUriComponentPipe } from '@ng-doc/app/pipes';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-page-link',\n templateUrl: './page-link.component.html',\n styleUrls: ['./page-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent, NgDocDecodeUriComponentPipe],\n})\nexport class NgDocPageLinkComponent implements OnInit, OnChanges {\n @Input({ required: true })\n href: string = '';\n\n @Input()\n classes: string = '';\n\n protected isInCode: boolean = false;\n\n private link: HTMLAnchorElement | undefined;\n\n private readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n private readonly renderer: Renderer2 = inject(Renderer2);\n\n ngOnInit(): void {\n this.isInCode = this.elementRef.nativeElement.closest('code') !== null;\n }\n\n ngOnChanges(): void {\n this.link = this.renderer.createElement('a') as HTMLAnchorElement;\n this.link.href = this.href;\n }\n\n get isExternalLink(): boolean {\n return this.href.startsWith('http');\n }\n\n get path(): string {\n return (!this.isExternalLink ? this.link?.pathname : this.href) ?? '';\n }\n\n get fragment(): string | undefined {\n return this.link?.hash.replace(/^#/, '') || undefined;\n }\n\n get queryParams(): Params {\n return Object.fromEntries(\n new URLSearchParams(this.link?.search.replace(/^\\?/, '') ?? '').entries(),\n );\n }\n}\n","<a\n [class]=\"classes\"\n [routerLink]=\"path\"\n [fragment]=\"fragment ? (fragment | decodeUriComponent) : undefined\"\n [queryParams]=\"queryParams\"\n *ngIf=\"!isExternalLink\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ import { RouterLink } from '@angular/router';
6
6
  import { NgDocIconComponent, NgDocTextComponent, NgDocTextLeftDirective, NgDocTextRightDirective } from '@ng-doc/ui-kit';
7
7
 
8
8
  class NgDocPageNavigationComponent {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocPageNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocPageNavigationComponent, isStandalone: true, selector: "ng-doc-page-navigation", inputs: { prevPage: "prevPage", nextPage: "nextPage" }, ngImport: i0, template: "<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n", styles: [":host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { 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: NgDocPageNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocPageNavigationComponent, isStandalone: true, selector: "ng-doc-page-navigation", inputs: { prevPage: "prevPage", nextPage: "nextPage" }, ngImport: i0, template: "<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n", styles: [":host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { 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: NgDocPageNavigationComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocPageNavigationComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'ng-doc-page-navigation', standalone: true, imports: [
15
15
  CommonModule,
@@ -18,7 +18,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
18
18
  NgDocTextLeftDirective,
19
19
  NgDocTextRightDirective,
20
20
  RouterLink,
21
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n", styles: [":host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"] }]
21
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n", styles: [":host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-text: var(--ng-doc-link-color)}\n"] }]
22
22
  }], propDecorators: { prevPage: [{
23
23
  type: Input,
24
24
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-page-navigation.mjs","sources":["../../../../libs/app/components/page-navigation/page-navigation.component.ts","../../../../libs/app/components/page-navigation/page-navigation.component.html","../../../../libs/app/components/page-navigation/ng-doc-app-components-page-navigation.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { NgDocNavigation, NgDocPageNavigation } from '@ng-doc/app/interfaces';\nimport {\n\tNgDocIconComponent,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTextRightDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-page-navigation',\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tNgDocIconComponent,\n\t\tNgDocTextComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTextRightDirective,\n\t\tRouterLink,\n\t],\n\ttemplateUrl: './page-navigation.component.html',\n\tstyleUrls: ['./page-navigation.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocPageNavigationComponent implements NgDocPageNavigation {\n\t@Input({ required: true })\n\tprevPage?: NgDocNavigation;\n\n\t@Input({ required: true })\n\tnextPage?: NgDocNavigation;\n}\n","<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MA0Ba,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EC1BzC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0vBAgBA,EDDE,MAAA,EAAA,CAAA,84BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,6DACvB,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAMC,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAfxC,SAAS;+BACC,wBAAwB,EAAA,UAAA,EACtB,IAAI,EACP,OAAA,EAAA;wBACR,YAAY;wBACZ,kBAAkB;wBAClB,kBAAkB;wBAClB,sBAAsB;wBACtB,uBAAuB;wBACvB,UAAU;qBACV,EAGgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0vBAAA,EAAA,MAAA,EAAA,CAAA,84BAAA,CAAA,EAAA,CAAA;8BAI/C,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAIzB,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;;AE9B1B;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-components-page-navigation.mjs","sources":["../../../../libs/app/components/page-navigation/page-navigation.component.ts","../../../../libs/app/components/page-navigation/page-navigation.component.html","../../../../libs/app/components/page-navigation/ng-doc-app-components-page-navigation.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { NgDocNavigation, NgDocPageNavigation } from '@ng-doc/app/interfaces';\nimport {\n\tNgDocIconComponent,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTextRightDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-page-navigation',\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tNgDocIconComponent,\n\t\tNgDocTextComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTextRightDirective,\n\t\tRouterLink,\n\t],\n\ttemplateUrl: './page-navigation.component.html',\n\tstyleUrls: ['./page-navigation.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocPageNavigationComponent implements NgDocPageNavigation {\n\t@Input({ required: true })\n\tprevPage?: NgDocNavigation;\n\n\t@Input({ required: true })\n\tnextPage?: NgDocNavigation;\n}\n","<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MA0Ba,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EC1BzC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0vBAgBA,EDDE,MAAA,EAAA,CAAA,o3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,6DACvB,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAMC,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAfxC,SAAS;+BACC,wBAAwB,EAAA,UAAA,EACtB,IAAI,EACP,OAAA,EAAA;wBACR,YAAY;wBACZ,kBAAkB;wBAClB,kBAAkB;wBAClB,sBAAsB;wBACtB,uBAAuB;wBACvB,UAAU;qBACV,EAGgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0vBAAA,EAAA,MAAA,EAAA,CAAA,o3BAAA,CAAA,EAAA,CAAA;8BAI/C,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAIzB,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;;AE9B1B;;AAEG;;;;"}
@@ -0,0 +1,94 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { inject, ViewContainerRef, Component, ChangeDetectionStrategy, Input, ViewChild } from '@angular/core';
4
+ import { Router, ActivatedRoute, RouterOutlet, RouterLink, RouterLinkActive } from '@angular/router';
5
+ import { NgDocPageHeaderComponent } from '@ng-doc/app/components/page-header';
6
+ import { createComponent } from '@ng-doc/app/helpers';
7
+ import { NG_DOC_PAGE_SKELETON, NG_DOC_CONTEXT } from '@ng-doc/app/tokens';
8
+ import { isPresent } from '@ng-doc/core/helpers/is-present';
9
+ import { NgDocTabRouteComponent, NgDocTabRoutesGroupComponent, NgDocIconComponent } from '@ng-doc/ui-kit';
10
+
11
+ class NgDocPageWrapperComponent {
12
+ constructor() {
13
+ this.hasBreadcrumb = true;
14
+ this.pageType = 'guide';
15
+ this.skeleton = inject(NG_DOC_PAGE_SKELETON);
16
+ this.router = inject(Router);
17
+ this.route = inject(ActivatedRoute);
18
+ this.context = inject(NG_DOC_CONTEXT);
19
+ this.breadcrumbs = inject(ActivatedRoute)
20
+ .pathFromRoot.filter((route) => !!route.snapshot.url.length)
21
+ .map((route) => route.snapshot.title)
22
+ .filter(isPresent);
23
+ }
24
+ ngOnInit() {
25
+ if (this.skeleton.breadcrumbs && this.hasBreadcrumb) {
26
+ createComponent(this.pageBreadcrumbs, this.skeleton.breadcrumbs, {
27
+ breadcrumbs: this.breadcrumbs,
28
+ });
29
+ }
30
+ if (this.pageType === 'guide') {
31
+ if (this.skeleton.navigation) {
32
+ createComponent(this.pageNavigation, this.skeleton.navigation, this.navigationInputs());
33
+ }
34
+ }
35
+ }
36
+ navigationInputs() {
37
+ const url = '/' +
38
+ this.route.pathFromRoot
39
+ .map((route) => route.snapshot.url)
40
+ .flat()
41
+ .join('/');
42
+ const flatItems = (items) => items
43
+ .map((item) => [item.children?.length ? flatItems(item.children) : item])
44
+ .flat(2);
45
+ const flatPages = flatItems(this.context.navigation);
46
+ return {
47
+ prevPage: flatPages[flatPages.findIndex((item) => url === item.route) - 1],
48
+ nextPage: flatPages[flatPages.findIndex((item) => url === item.route) + 1],
49
+ };
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocPageWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: NgDocPageWrapperComponent, isStandalone: true, selector: "ng-doc-page-wrapper", inputs: { routes: "routes", headerContent: "headerContent", hasBreadcrumb: "hasBreadcrumb", pageType: "pageType" }, host: { properties: { "attr.data-ng-doc-page-tabs": "routes.length > 1" } }, viewQueries: [{ propertyName: "pageBreadcrumbs", first: true, predicate: ["pageBreadcrumbs"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "pageToc", first: true, predicate: ["pageToc"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "pageNavigation", first: true, predicate: ["pageNavigation"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<article class=\"ngde\">\n <ng-container #pageBreadcrumbs></ng-container>\n\n <ng-doc-page-header [headerContent]=\"headerContent\" />\n\n @if (routes.length > 1) {\n <ng-doc-tab-routes-group>\n @for (route of routes; track route) {\n <a\n ng-doc-tab-route\n [routerLink]=\"['./' + route.path]\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #rla=\"routerLinkActive\"\n [isActive]=\"rla.isActive\">\n @if (route.data?.['icon']; as icon) {\n <ng-doc-icon [customIcon]=\"icon\" />\n }\n {{ route.title }}\n </a>\n }\n </ng-doc-tab-routes-group>\n }\n\n <router-outlet></router-outlet>\n\n <ng-container #pageNavigation></ng-container>\n</article>\n\n<ng-container #pageToc></ng-container>\n", styles: [":host{display:flex;justify-content:space-between;--ng-doc-page-sticky-offset: var(--ng-doc-navbar-height);--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 5)}:host[data-ng-doc-page-tabs=true]{--ng-doc-page-sticky-offset: calc( var(--ng-doc-navbar-height) + var(--ng-doc-page-wrapper-tabs-height) )}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;min-width:0}:host header ::ng-deep h1{margin-top:0}:host ng-doc-tab-routes-group{position:sticky!important;top:var(--ng-doc-navbar-height);margin:calc(var(--ng-doc-base-gutter) * 2) 0;background:var(--ng-doc-navbar-background);z-index:10;height:var(--ng-doc-page-wrapper-tabs-height)}:host .ng-doc-page-header{margin-bottom:calc(var(--ng-doc-base-gutter) * 3)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTabRouteComponent, selector: "a[ng-doc-tab-route]", inputs: ["isActive"] }, { kind: "component", type: NgDocTabRoutesGroupComponent, selector: "ng-doc-tab-routes-group" }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocPageHeaderComponent, selector: "ng-doc-page-header", inputs: ["headerContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocPageWrapperComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'ng-doc-page-wrapper', standalone: true, imports: [
57
+ CommonModule,
58
+ RouterOutlet,
59
+ RouterLink,
60
+ NgDocTabRouteComponent,
61
+ NgDocTabRoutesGroupComponent,
62
+ RouterLinkActive,
63
+ NgDocIconComponent,
64
+ NgDocPageHeaderComponent,
65
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
66
+ '[attr.data-ng-doc-page-tabs]': 'routes.length > 1',
67
+ }, template: "<article class=\"ngde\">\n <ng-container #pageBreadcrumbs></ng-container>\n\n <ng-doc-page-header [headerContent]=\"headerContent\" />\n\n @if (routes.length > 1) {\n <ng-doc-tab-routes-group>\n @for (route of routes; track route) {\n <a\n ng-doc-tab-route\n [routerLink]=\"['./' + route.path]\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #rla=\"routerLinkActive\"\n [isActive]=\"rla.isActive\">\n @if (route.data?.['icon']; as icon) {\n <ng-doc-icon [customIcon]=\"icon\" />\n }\n {{ route.title }}\n </a>\n }\n </ng-doc-tab-routes-group>\n }\n\n <router-outlet></router-outlet>\n\n <ng-container #pageNavigation></ng-container>\n</article>\n\n<ng-container #pageToc></ng-container>\n", styles: [":host{display:flex;justify-content:space-between;--ng-doc-page-sticky-offset: var(--ng-doc-navbar-height);--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 5)}:host[data-ng-doc-page-tabs=true]{--ng-doc-page-sticky-offset: calc( var(--ng-doc-navbar-height) + var(--ng-doc-page-wrapper-tabs-height) )}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;min-width:0}:host header ::ng-deep h1{margin-top:0}:host ng-doc-tab-routes-group{position:sticky!important;top:var(--ng-doc-navbar-height);margin:calc(var(--ng-doc-base-gutter) * 2) 0;background:var(--ng-doc-navbar-background);z-index:10;height:var(--ng-doc-page-wrapper-tabs-height)}:host .ng-doc-page-header{margin-bottom:calc(var(--ng-doc-base-gutter) * 3)}\n"] }]
68
+ }], propDecorators: { routes: [{
69
+ type: Input,
70
+ args: [{ required: true }]
71
+ }], headerContent: [{
72
+ type: Input,
73
+ args: [{ required: true }]
74
+ }], hasBreadcrumb: [{
75
+ type: Input
76
+ }], pageType: [{
77
+ type: Input
78
+ }], pageBreadcrumbs: [{
79
+ type: ViewChild,
80
+ args: ['pageBreadcrumbs', { read: ViewContainerRef, static: true }]
81
+ }], pageToc: [{
82
+ type: ViewChild,
83
+ args: ['pageToc', { read: ViewContainerRef, static: true }]
84
+ }], pageNavigation: [{
85
+ type: ViewChild,
86
+ args: ['pageNavigation', { read: ViewContainerRef, static: true }]
87
+ }] } });
88
+
89
+ /**
90
+ * Generated bundle index. Do not edit.
91
+ */
92
+
93
+ export { NgDocPageWrapperComponent };
94
+ //# sourceMappingURL=ng-doc-app-components-page-wrapper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-doc-app-components-page-wrapper.mjs","sources":["../../../../libs/app/components/page-wrapper/page-wrapper.component.ts","../../../../libs/app/components/page-wrapper/page-wrapper.component.html","../../../../libs/app/components/page-wrapper/ng-doc-app-components-page-wrapper.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n RouterLink,\n RouterLinkActive,\n RouterOutlet,\n Routes,\n} from '@angular/router';\nimport { NgDocPageHeaderComponent } from '@ng-doc/app/components/page-header';\nimport { createComponent } from '@ng-doc/app/helpers';\nimport { NgDocNavigation, NgDocPageNavigation } from '@ng-doc/app/interfaces';\nimport { NG_DOC_CONTEXT, NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';\nimport { isPresent } from '@ng-doc/core/helpers/is-present';\nimport { NgDocPageType } from '@ng-doc/core/types';\nimport {\n NgDocIconComponent,\n NgDocTabRouteComponent,\n NgDocTabRoutesGroupComponent,\n} from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-page-wrapper',\n standalone: true,\n imports: [\n CommonModule,\n RouterOutlet,\n RouterLink,\n NgDocTabRouteComponent,\n NgDocTabRoutesGroupComponent,\n RouterLinkActive,\n NgDocIconComponent,\n NgDocPageHeaderComponent,\n ],\n templateUrl: './page-wrapper.component.html',\n styleUrl: './page-wrapper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-ng-doc-page-tabs]': 'routes.length > 1',\n },\n})\nexport class NgDocPageWrapperComponent implements OnInit {\n @Input({ required: true })\n routes!: Routes;\n\n @Input({ required: true })\n headerContent!: string;\n\n @Input()\n hasBreadcrumb = true;\n\n @Input()\n pageType: NgDocPageType = 'guide';\n\n @ViewChild('pageBreadcrumbs', { read: ViewContainerRef, static: true })\n pageBreadcrumbs!: ViewContainerRef;\n\n @ViewChild('pageToc', { read: ViewContainerRef, static: true })\n pageToc?: ViewContainerRef;\n\n @ViewChild('pageNavigation', { read: ViewContainerRef, static: true })\n pageNavigation!: ViewContainerRef;\n\n protected skeleton = inject(NG_DOC_PAGE_SKELETON);\n protected router = inject(Router);\n protected route = inject(ActivatedRoute);\n protected context = inject(NG_DOC_CONTEXT);\n\n private breadcrumbs: string[] = inject(ActivatedRoute)\n .pathFromRoot.filter((route: ActivatedRoute) => !!route.snapshot.url.length)\n .map((route: ActivatedRoute) => route.snapshot.title)\n .filter(isPresent);\n\n ngOnInit(): void {\n if (this.skeleton.breadcrumbs && this.hasBreadcrumb) {\n createComponent(this.pageBreadcrumbs, this.skeleton.breadcrumbs, {\n breadcrumbs: this.breadcrumbs,\n });\n }\n\n if (this.pageType === 'guide') {\n if (this.skeleton.navigation) {\n createComponent(this.pageNavigation, this.skeleton.navigation, this.navigationInputs());\n }\n }\n }\n\n private navigationInputs(): NgDocPageNavigation {\n const url =\n '/' +\n this.route.pathFromRoot\n .map((route: ActivatedRoute) => route.snapshot.url)\n .flat()\n .join('/');\n const flatItems = (items: NgDocNavigation[]): NgDocNavigation[] =>\n items\n .map((item: NgDocNavigation) => [item.children?.length ? flatItems(item.children) : item])\n .flat(2);\n const flatPages: NgDocNavigation[] = flatItems(this.context.navigation);\n\n return {\n prevPage: flatPages[flatPages.findIndex((item: NgDocNavigation) => url === item.route) - 1],\n nextPage: flatPages[flatPages.findIndex((item: NgDocNavigation) => url === item.route) + 1],\n };\n }\n}\n","<article class=\"ngde\">\n <ng-container #pageBreadcrumbs></ng-container>\n\n <ng-doc-page-header [headerContent]=\"headerContent\" />\n\n @if (routes.length > 1) {\n <ng-doc-tab-routes-group>\n @for (route of routes; track route) {\n <a\n ng-doc-tab-route\n [routerLink]=\"['./' + route.path]\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #rla=\"routerLinkActive\"\n [isActive]=\"rla.isActive\">\n @if (route.data?.['icon']; as icon) {\n <ng-doc-icon [customIcon]=\"icon\" />\n }\n {{ route.title }}\n </a>\n }\n </ng-doc-tab-routes-group>\n }\n\n <router-outlet></router-outlet>\n\n <ng-container #pageNavigation></ng-container>\n</article>\n\n<ng-container #pageToc></ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}