@ng-doc/app 22.0.0-beta.2 → 22.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/README.md +20 -29
  2. package/fesm2022/ng-doc-app-classes-content-anchor-controller.mjs +363 -0
  3. package/fesm2022/ng-doc-app-classes-content-anchor-controller.mjs.map +1 -0
  4. package/fesm2022/ng-doc-app-classes-content-controller.mjs +299 -0
  5. package/fesm2022/ng-doc-app-classes-content-controller.mjs.map +1 -0
  6. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs +51 -35
  7. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs.map +1 -1
  8. package/fesm2022/ng-doc-app-classes-root-page.mjs.map +1 -1
  9. package/fesm2022/ng-doc-app-classes-search-engine.mjs.map +1 -1
  10. package/fesm2022/ng-doc-app-classes.mjs +2 -0
  11. package/fesm2022/ng-doc-app-classes.mjs.map +1 -1
  12. package/fesm2022/ng-doc-app-components-api-list.mjs +173 -69
  13. package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
  14. package/fesm2022/ng-doc-app-components-breadcrumb.mjs +13 -10
  15. package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
  16. package/fesm2022/ng-doc-app-components-code.mjs +152 -25
  17. package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
  18. package/fesm2022/ng-doc-app-components-command-palette.mjs +498 -0
  19. package/fesm2022/ng-doc-app-components-command-palette.mjs.map +1 -0
  20. package/fesm2022/ng-doc-app-components-copy-button.mjs +38 -21
  21. package/fesm2022/ng-doc-app-components-copy-button.mjs.map +1 -1
  22. package/fesm2022/ng-doc-app-components-demo-displayer.mjs +36 -29
  23. package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
  24. package/fesm2022/ng-doc-app-components-demo-frame.mjs +96 -0
  25. package/fesm2022/ng-doc-app-components-demo-frame.mjs.map +1 -0
  26. package/fesm2022/ng-doc-app-components-demo-pane.mjs +39 -36
  27. package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
  28. package/fesm2022/ng-doc-app-components-demo.mjs +175 -44
  29. package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
  30. package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +12 -9
  31. package/fesm2022/ng-doc-app-components-fullscreen-button.mjs.map +1 -1
  32. package/fesm2022/ng-doc-app-components-fullscreen-toggle.mjs +79 -0
  33. package/fesm2022/ng-doc-app-components-fullscreen-toggle.mjs.map +1 -0
  34. package/fesm2022/ng-doc-app-components-heading-anchor.mjs +54 -21
  35. package/fesm2022/ng-doc-app-components-heading-anchor.mjs.map +1 -1
  36. package/fesm2022/ng-doc-app-components-image-viewer.mjs +183 -89
  37. package/fesm2022/ng-doc-app-components-image-viewer.mjs.map +1 -1
  38. package/fesm2022/ng-doc-app-components-kind-icon.mjs +42 -25
  39. package/fesm2022/ng-doc-app-components-kind-icon.mjs.map +1 -1
  40. package/fesm2022/ng-doc-app-components-link.mjs +12 -9
  41. package/fesm2022/ng-doc-app-components-link.mjs.map +1 -1
  42. package/fesm2022/ng-doc-app-components-members.mjs +30 -0
  43. package/fesm2022/ng-doc-app-components-members.mjs.map +1 -0
  44. package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs +61 -20
  45. package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs.map +1 -1
  46. package/fesm2022/ng-doc-app-components-navbar.mjs +39 -49
  47. package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
  48. package/fesm2022/ng-doc-app-components-page-header.mjs +73 -10
  49. package/fesm2022/ng-doc-app-components-page-header.mjs.map +1 -1
  50. package/fesm2022/ng-doc-app-components-page-link.mjs +123 -31
  51. package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
  52. package/fesm2022/ng-doc-app-components-page-navigation.mjs +17 -19
  53. package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
  54. package/fesm2022/ng-doc-app-components-page-wrapper.mjs +56 -35
  55. package/fesm2022/ng-doc-app-components-page-wrapper.mjs.map +1 -1
  56. package/fesm2022/ng-doc-app-components-page.mjs +168 -24
  57. package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
  58. package/fesm2022/ng-doc-app-components-playground.mjs +477 -286
  59. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  60. package/fesm2022/ng-doc-app-components-root.mjs +48 -31
  61. package/fesm2022/ng-doc-app-components-root.mjs.map +1 -1
  62. package/fesm2022/ng-doc-app-components-search-result.mjs +22 -21
  63. package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
  64. package/fesm2022/ng-doc-app-components-search.mjs +64 -33
  65. package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
  66. package/fesm2022/ng-doc-app-components-sidebar.mjs +86 -61
  67. package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
  68. package/fesm2022/ng-doc-app-components-tabs.mjs +35 -11
  69. package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
  70. package/fesm2022/ng-doc-app-components-theme-toggle.mjs +33 -21
  71. package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
  72. package/fesm2022/ng-doc-app-components-toc.mjs +267 -90
  73. package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
  74. package/fesm2022/ng-doc-app-components.mjs +4 -1
  75. package/fesm2022/ng-doc-app-components.mjs.map +1 -1
  76. package/fesm2022/ng-doc-app-defaults-default-processors.mjs +2 -1
  77. package/fesm2022/ng-doc-app-defaults-default-processors.mjs.map +1 -1
  78. package/fesm2022/ng-doc-app-demo-app.mjs +176 -0
  79. package/fesm2022/ng-doc-app-demo-app.mjs.map +1 -0
  80. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +11 -5
  81. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
  82. package/fesm2022/ng-doc-app-directives-members-filter.mjs +276 -0
  83. package/fesm2022/ng-doc-app-directives-members-filter.mjs.map +1 -0
  84. package/fesm2022/ng-doc-app-directives-route-active.mjs +34 -30
  85. package/fesm2022/ng-doc-app-directives-route-active.mjs.map +1 -1
  86. package/fesm2022/ng-doc-app-directives.mjs +1 -0
  87. package/fesm2022/ng-doc-app-directives.mjs.map +1 -1
  88. package/fesm2022/ng-doc-app-helpers.mjs +307 -2
  89. package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
  90. package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs +6 -4
  91. package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs.map +1 -1
  92. package/fesm2022/ng-doc-app-pipes-extract-value.mjs +6 -4
  93. package/fesm2022/ng-doc-app-pipes-extract-value.mjs.map +1 -1
  94. package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +7 -4
  95. package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs.map +1 -1
  96. package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +8 -5
  97. package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs.map +1 -1
  98. package/fesm2022/ng-doc-app-processors-page-processor.mjs +86 -23
  99. package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
  100. package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs +26 -25
  101. package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs.map +1 -1
  102. package/fesm2022/ng-doc-app-processors-processors.mjs +42 -10
  103. package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
  104. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +31 -2
  105. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
  106. package/fesm2022/ng-doc-app-providers-title.mjs +129 -0
  107. package/fesm2022/ng-doc-app-providers-title.mjs.map +1 -0
  108. package/fesm2022/ng-doc-app-providers.mjs +1 -0
  109. package/fesm2022/ng-doc-app-providers.mjs.map +1 -1
  110. package/fesm2022/ng-doc-app-services-content-scroll-intent.mjs +122 -0
  111. package/fesm2022/ng-doc-app-services-content-scroll-intent.mjs.map +1 -0
  112. package/fesm2022/ng-doc-app-services-content-state.mjs +57 -0
  113. package/fesm2022/ng-doc-app-services-content-state.mjs.map +1 -0
  114. package/fesm2022/ng-doc-app-services-fullscreen-route.mjs +74 -0
  115. package/fesm2022/ng-doc-app-services-fullscreen-route.mjs.map +1 -0
  116. package/fesm2022/ng-doc-app-services-highlighter.mjs +90 -17
  117. package/fesm2022/ng-doc-app-services-highlighter.mjs.map +1 -1
  118. package/fesm2022/ng-doc-app-services-route-preloader.mjs +384 -0
  119. package/fesm2022/ng-doc-app-services-route-preloader.mjs.map +1 -0
  120. package/fesm2022/ng-doc-app-services-shortcuts.mjs +214 -0
  121. package/fesm2022/ng-doc-app-services-shortcuts.mjs.map +1 -0
  122. package/fesm2022/ng-doc-app-services-sidebar.mjs +59 -25
  123. package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
  124. package/fesm2022/ng-doc-app-services-store.mjs +8 -8
  125. package/fesm2022/ng-doc-app-services-store.mjs.map +1 -1
  126. package/fesm2022/ng-doc-app-services-theme.mjs +32 -12
  127. package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
  128. package/fesm2022/ng-doc-app-services.mjs +143 -0
  129. package/fesm2022/ng-doc-app-services.mjs.map +1 -1
  130. package/fesm2022/ng-doc-app-tokens.mjs +7 -28
  131. package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
  132. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +18 -9
  133. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs.map +1 -1
  134. package/fesm2022/ng-doc-app-type-controls-number-control.mjs +12 -9
  135. package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  136. package/fesm2022/ng-doc-app-type-controls-string-control.mjs +12 -9
  137. package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
  138. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +59 -18
  139. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
  140. package/package.json +82 -28
  141. package/styles/global.css +1128 -201
  142. package/styles/main.css +1128 -201
  143. package/styles/themes/dark.css +88 -56
  144. package/types/ng-doc-app-classes-content-anchor-controller.d.ts +54 -0
  145. package/types/ng-doc-app-classes-content-controller.d.ts +94 -0
  146. package/types/ng-doc-app-classes-default-search-engine.d.ts +9 -1
  147. package/types/ng-doc-app-classes-root-page.d.ts +14 -1
  148. package/types/ng-doc-app-classes-search-engine.d.ts +5 -0
  149. package/types/ng-doc-app-classes.d.ts +2 -0
  150. package/types/ng-doc-app-components-api-list.d.ts +69 -20
  151. package/types/ng-doc-app-components-breadcrumb.d.ts +8 -3
  152. package/types/ng-doc-app-components-code.d.ts +46 -12
  153. package/types/ng-doc-app-components-command-palette.d.ts +147 -0
  154. package/types/ng-doc-app-components-copy-button.d.ts +18 -6
  155. package/types/ng-doc-app-components-demo-displayer.d.ts +23 -10
  156. package/types/ng-doc-app-components-demo-frame.d.ts +48 -0
  157. package/types/ng-doc-app-components-demo-pane.d.ts +19 -15
  158. package/types/ng-doc-app-components-demo.d.ts +80 -15
  159. package/types/ng-doc-app-components-fullscreen-button.d.ts +4 -2
  160. package/types/ng-doc-app-components-fullscreen-toggle.d.ts +24 -0
  161. package/types/ng-doc-app-components-heading-anchor.d.ts +26 -7
  162. package/types/ng-doc-app-components-image-viewer.d.ts +71 -7
  163. package/types/ng-doc-app-components-kind-icon.d.ts +28 -7
  164. package/types/ng-doc-app-components-link.d.ts +6 -2
  165. package/types/ng-doc-app-components-members.d.ts +13 -0
  166. package/types/ng-doc-app-components-mermaid-viewer.d.ts +21 -6
  167. package/types/ng-doc-app-components-navbar.d.ts +25 -15
  168. package/types/ng-doc-app-components-page-header.d.ts +28 -4
  169. package/types/ng-doc-app-components-page-link.d.ts +34 -15
  170. package/types/ng-doc-app-components-page-navigation.d.ts +10 -5
  171. package/types/ng-doc-app-components-page-wrapper.d.ts +35 -11
  172. package/types/ng-doc-app-components-page.d.ts +57 -6
  173. package/types/ng-doc-app-components-playground.d.ts +167 -78
  174. package/types/ng-doc-app-components-root.d.ts +28 -7
  175. package/types/ng-doc-app-components-search-result.d.ts +14 -6
  176. package/types/ng-doc-app-components-search.d.ts +19 -7
  177. package/types/ng-doc-app-components-tabs.d.ts +24 -5
  178. package/types/ng-doc-app-components-theme-toggle.d.ts +18 -5
  179. package/types/ng-doc-app-components-toc.d.ts +76 -29
  180. package/types/ng-doc-app-components.d.ts +4 -1
  181. package/types/ng-doc-app-demo-app.d.ts +89 -0
  182. package/types/ng-doc-app-directives-code-highlighter.d.ts +8 -4
  183. package/types/ng-doc-app-directives-members-filter.d.ts +61 -0
  184. package/types/ng-doc-app-directives-route-active.d.ts +21 -7
  185. package/types/ng-doc-app-directives.d.ts +1 -0
  186. package/types/ng-doc-app-helpers.d.ts +142 -3
  187. package/types/ng-doc-app-interfaces.d.ts +62 -31
  188. package/types/ng-doc-app-pipes-decode-uri-component.d.ts +3 -0
  189. package/types/ng-doc-app-pipes-extract-value.d.ts +3 -0
  190. package/types/ng-doc-app-pipes-filter-by-text.d.ts +4 -0
  191. package/types/ng-doc-app-pipes-sanitize-html.d.ts +4 -2
  192. package/types/ng-doc-app-processors-page-processor.d.ts +39 -10
  193. package/types/ng-doc-app-processors-processors-tooltip.d.ts +11 -10
  194. package/types/ng-doc-app-processors-processors.d.ts +10 -1
  195. package/types/ng-doc-app-providers-ng-doc-app.d.ts +18 -1
  196. package/types/ng-doc-app-providers-title.d.ts +59 -0
  197. package/types/ng-doc-app-providers.d.ts +1 -0
  198. package/types/ng-doc-app-services-content-scroll-intent.d.ts +52 -0
  199. package/types/ng-doc-app-services-content-state.d.ts +40 -0
  200. package/types/ng-doc-app-services-fullscreen-route.d.ts +35 -0
  201. package/types/ng-doc-app-services-highlighter.d.ts +47 -5
  202. package/types/ng-doc-app-services-route-preloader.d.ts +121 -0
  203. package/types/ng-doc-app-services-shortcuts.d.ts +96 -0
  204. package/types/ng-doc-app-services-sidebar.d.ts +24 -4
  205. package/types/ng-doc-app-services-store.d.ts +24 -1
  206. package/types/ng-doc-app-services-theme.d.ts +19 -3
  207. package/types/ng-doc-app-services.d.ts +77 -0
  208. package/types/ng-doc-app-tokens.d.ts +10 -30
  209. package/types/ng-doc-app-type-controls-boolean-control.d.ts +11 -6
  210. package/types/ng-doc-app-type-controls-number-control.d.ts +5 -3
  211. package/types/ng-doc-app-type-controls-string-control.d.ts +5 -3
  212. package/types/ng-doc-app-type-controls-type-alias-control.d.ts +35 -6
  213. package/fesm2022/ng-doc-app-components-search-dialog.mjs +0 -78
  214. package/fesm2022/ng-doc-app-components-search-dialog.mjs.map +0 -1
  215. package/types/ng-doc-app-components-search-dialog.d.ts +0 -28
@@ -0,0 +1,13 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@ng-doc/app/directives/members-filter';
3
+
4
+ /**
5
+ * The members table of an API page in the symbol view. The builder renders its tabs, filter and
6
+ * rows as the component's content, and the component adds the member filter to them.
7
+ */
8
+ declare class NgDocMembersComponent {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgDocMembersComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgDocMembersComponent, "ng-doc-members", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.NgDocMembersFilterDirective; inputs: {}; outputs: {}; }]>;
11
+ }
12
+
13
+ export { NgDocMembersComponent };
@@ -1,18 +1,33 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit, ChangeDetectorRef } from '@angular/core';
3
2
  import { Mermaid } from 'mermaid';
4
3
 
5
- declare class NgDocMermaidViewerComponent implements OnInit {
6
- graph: _angular_core.InputSignal<string>;
4
+ /**
5
+ * Renders a Mermaid graph in a zoomable, pannable viewer. The graph is rendered in the browser
6
+ * only, again when it changes and when the theme changes.
7
+ *
8
+ * In the dark theme (or `auto` with a dark OS theme) the graph uses Mermaid's dark theme, unless
9
+ * the graph or `provideMermaid` chooses a theme of its own.
10
+ */
11
+ declare class NgDocMermaidViewerComponent {
12
+ /** Source of the Mermaid graph. */
13
+ readonly graph: _angular_core.InputSignal<string>;
7
14
  protected readonly html: _angular_core.WritableSignal<string>;
8
15
  protected readonly pending: _angular_core.WritableSignal<boolean>;
9
16
  protected readonly error: _angular_core.WritableSignal<Error | null>;
10
17
  protected readonly mermaid: Mermaid;
11
- protected readonly changeDetectorRef: ChangeDetectorRef;
12
- protected readonly platform: Object;
13
18
  protected readonly id: string;
19
+ private renderId;
20
+ private readonly document;
21
+ private readonly themeService;
14
22
  constructor();
15
- ngOnInit(): Promise<void>;
23
+ /**
24
+ * Adds Mermaid's dark theme to the graph when the page is dark. A graph with front matter or an
25
+ * init directive, and a theme set in `provideMermaid`, are left as they are.
26
+ * @param graph - The graph source.
27
+ * @returns The graph to render.
28
+ */
29
+ private themed;
30
+ private render;
16
31
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocMermaidViewerComponent, never>;
17
32
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocMermaidViewerComponent, "ng-doc-mermaid-viewer", never, { "graph": { "alias": "graph"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18
33
  }
@@ -1,33 +1,43 @@
1
- import { NgDocSidebarService } from '@ng-doc/app/services';
2
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { NgDocSidebarService } from '@ng-doc/app/services/sidebar';
3
3
 
4
4
  /**
5
- * Navbar component for ng-doc application
5
+ * Navbar of the NgDoc application: the header bar above the sidebar and the page.
6
+ *
7
+ * It lays out, from left to right: the menu button (only where the sidebar is an overlay), the
8
+ * content marked with `ngDocNavbarLeft` (for example the logo), the content marked with
9
+ * `ngDocNavbarCenter` (for example the section links, hidden at 1024px and below), the search, and
10
+ * the content marked with `ngDocNavbarRight` (for example the theme toggle).
11
+ * @example
12
+ * ```html
13
+ * <ng-doc-navbar>
14
+ * <a ngDocNavbarLeft routerLink="/">My library</a>
15
+ * <nav ngDocNavbarCenter aria-label="Primary"><a routerLink="/docs">Guides</a></nav>
16
+ * <ng-doc-theme-toggle ngDocNavbarRight />
17
+ * </ng-doc-navbar>
18
+ * ```
6
19
  */
7
20
  declare class NgDocNavbarComponent {
8
- private readonly window;
9
- private readonly ngZone;
10
- private readonly changeDetectorRef;
11
21
  protected readonly sidebarService: NgDocSidebarService;
12
22
  /**
13
23
  * Show search input
14
24
  */
15
- search: boolean;
25
+ readonly search: _angular_core.InputSignalWithTransform<boolean, unknown>;
16
26
  /**
17
- * Show hamburger button
27
+ * Show the menu button that opens the sidebar where it is an overlay (900px and below).
18
28
  */
19
- hamburger: boolean;
29
+ readonly hamburger: _angular_core.InputSignalWithTransform<boolean, unknown>;
20
30
  /**
21
31
  * Use glass effect for navbar
22
32
  */
23
- glassEffect: boolean;
33
+ readonly glassEffect: _angular_core.InputSignalWithTransform<boolean, unknown>;
34
+ private readonly menuButton;
24
35
  /**
25
- * Indicates if navbar has border
36
+ * Closes the sidebar overlay and moves focus back to the menu button that opened it.
26
37
  */
27
- hasBorder: boolean;
28
- constructor();
29
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocNavbarComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocNavbarComponent, "ng-doc-navbar", never, { "search": { "alias": "search"; "required": false; }; "hamburger": { "alias": "hamburger"; "required": false; }; "glassEffect": { "alias": "glassEffect"; "required": false; }; }, {}, never, ["[ngDocNavbarLeft]", "[ngDocNavbarRight]"], true, never>;
38
+ protected closeSidebar(): void;
39
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocNavbarComponent, never>;
40
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocNavbarComponent, "ng-doc-navbar", never, { "search": { "alias": "search"; "required": false; "isSignal": true; }; "hamburger": { "alias": "hamburger"; "required": false; "isSignal": true; }; "glassEffect": { "alias": "glassEffect"; "required": false; "isSignal": true; }; }, {}, never, ["[ngDocNavbarLeft]", "[ngDocNavbarCenter]", "[ngDocNavbarRight]"], true, never>;
31
41
  }
32
42
 
33
43
  export { NgDocNavbarComponent };
@@ -1,9 +1,33 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { NgDocContentController } from '@ng-doc/app/classes/content-controller';
3
+ import { NgDocContentSource } from '@ng-doc/core/interfaces';
2
4
 
5
+ /**
6
+ * The header of a documentation page: the rendered header HTML, or the header of an
7
+ * asynchronous content source.
8
+ */
3
9
  declare class NgDocPageHeaderComponent {
4
- headerContent: string;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPageHeaderComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPageHeaderComponent, "ng-doc-page-header", never, { "headerContent": { "alias": "headerContent"; "required": true; }; }, {}, never, never, true, never>;
10
+ /** The rendered header HTML, used when there is no content source. */
11
+ readonly headerContent: _angular_core.InputSignal<string>;
12
+ /** The source of the header content, for pages whose content loads asynchronously. */
13
+ readonly headerContentSource: _angular_core.InputSignal<NgDocContentSource | undefined>;
14
+ protected readonly contentController: NgDocContentController;
15
+ private readonly host;
16
+ private readonly browser;
17
+ /** Removes the server-rendered copy shown while asynchronous content loads. */
18
+ private snapshot?;
19
+ constructor();
20
+ /**
21
+ * Shows the loaded header in place of the server-rendered copy when a pass of it is about to
22
+ * render, in the same task. The pass of the empty header before the source has loaded keeps
23
+ * the copy.
24
+ * @param version - The content version of the pass.
25
+ * @internal
26
+ */
27
+ protected revealLoaded(version: number): void;
28
+ private releaseSnapshot;
29
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPageHeaderComponent, never>;
30
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPageHeaderComponent, "ng-doc-page-header", never, { "headerContent": { "alias": "headerContent"; "required": true; "isSignal": true; }; "headerContentSource": { "alias": "headerContentSource"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7
31
  }
8
32
 
9
33
  export { NgDocPageHeaderComponent };
@@ -1,22 +1,41 @@
1
- import * as i0 from '@angular/core';
2
- import { OnInit, OnChanges } from '@angular/core';
3
- import { Params } from '@angular/router';
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit } from '@angular/core';
3
+ import { UrlTree, Params } from '@angular/router';
4
4
 
5
- declare class NgDocPageLinkComponent implements OnInit, OnChanges {
6
- href: string;
7
- classes: string;
8
- protected isInCode: boolean;
9
- private link;
5
+ /**
6
+ * A link in the page content. Links inside the application navigate with the router; other links
7
+ * open in a new tab and, outside code, show an external-link icon.
8
+ */
9
+ declare class NgDocPageLinkComponent implements OnInit {
10
+ /**
11
+ * The link target, as written in the content. It is optional so that a render before the
12
+ * page processor sets it (auto-detected change detection) does not fail.
13
+ */
14
+ readonly href: _angular_core.InputSignal<string>;
15
+ /** Classes of the link element. */
16
+ readonly classes: _angular_core.InputSignal<string>;
17
+ /** Whether the link sits inside a code element. */
18
+ protected readonly isInCode: _angular_core.WritableSignal<boolean>;
10
19
  private readonly location;
20
+ private readonly locationStrategy;
21
+ private readonly router;
11
22
  private readonly elementRef;
23
+ private readonly resolved;
24
+ /** Whether the link navigates with the router. */
25
+ protected readonly usesRouterLink: _angular_core.Signal<boolean>;
26
+ /** The router target of an application link. */
27
+ protected readonly routerLink: _angular_core.Signal<UrlTree | undefined>;
28
+ /** Whether the link leaves the application's origin. */
29
+ readonly isExternalLink: _angular_core.Signal<boolean>;
30
+ /** The path of an application link, or the `href` of any other link. */
31
+ readonly path: _angular_core.Signal<string>;
32
+ /** The fragment of the link, without `#`. */
33
+ readonly fragment: _angular_core.Signal<string | undefined>;
34
+ /** The query parameters of the link. */
35
+ readonly queryParams: _angular_core.Signal<Params>;
12
36
  ngOnInit(): void;
13
- ngOnChanges(): void;
14
- get isExternalLink(): boolean;
15
- get path(): string;
16
- get fragment(): string | undefined;
17
- get queryParams(): Params;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPageLinkComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPageLinkComponent, "ng-doc-page-link", never, { "href": { "alias": "href"; "required": true; }; "classes": { "alias": "classes"; "required": false; }; }, {}, never, ["*"], true, never>;
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPageLinkComponent, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPageLinkComponent, "ng-doc-page-link", never, { "href": { "alias": "href"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
20
39
  }
21
40
 
22
41
  export { NgDocPageLinkComponent };
@@ -1,11 +1,16 @@
1
+ import * as _angular_core from '@angular/core';
1
2
  import { NgDocPageNavigation, NgDocNavigation } from '@ng-doc/app/interfaces';
2
- import * as i0 from '@angular/core';
3
3
 
4
+ /**
5
+ * Links to the previous and the next page, as two cards at the bottom of a guide.
6
+ */
4
7
  declare class NgDocPageNavigationComponent implements NgDocPageNavigation {
5
- prevPage?: NgDocNavigation;
6
- nextPage?: NgDocNavigation;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPageNavigationComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPageNavigationComponent, "ng-doc-page-navigation", never, { "prevPage": { "alias": "prevPage"; "required": true; }; "nextPage": { "alias": "nextPage"; "required": true; }; }, {}, never, never, true, never>;
8
+ /** The page before this one in the sidebar. */
9
+ readonly prevPage: _angular_core.InputSignal<NgDocNavigation | undefined>;
10
+ /** The page after this one in the sidebar. */
11
+ readonly nextPage: _angular_core.InputSignal<NgDocNavigation | undefined>;
12
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPageNavigationComponent, never>;
13
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPageNavigationComponent, "ng-doc-page-navigation", never, { "prevPage": { "alias": "prevPage"; "required": false; "isSignal": true; }; "nextPage": { "alias": "nextPage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
14
  }
10
15
 
11
16
  export { NgDocPageNavigationComponent };
@@ -1,26 +1,50 @@
1
1
  import * as _ng_doc_app_interfaces from '@ng-doc/app/interfaces';
2
- import * as i0 from '@angular/core';
2
+ import * as _angular_core from '@angular/core';
3
3
  import { OnInit, ViewContainerRef } from '@angular/core';
4
4
  import { Routes, Router, ActivatedRoute } from '@angular/router';
5
+ import { NgDocFullscreenRouteService } from '@ng-doc/app/services/fullscreen-route';
6
+ import { NgDocContentSource } from '@ng-doc/core/interfaces';
5
7
  import { NgDocPageType } from '@ng-doc/core/types';
6
8
 
9
+ /**
10
+ * Layout of a generated page: the breadcrumbs, the page header, the tabs of a page with several
11
+ * routes, the page itself, the previous and next page links, and the table of contents beside it.
12
+ *
13
+ * The breadcrumbs, the page links and the table of contents are the page skeleton's components,
14
+ * created in the containers this component exposes.
15
+ *
16
+ * While the page shows one of its fullscreen routes (`NgDocFullscreenRouteService`), only the page
17
+ * is shown.
18
+ */
7
19
  declare class NgDocPageWrapperComponent implements OnInit {
8
- routes: Routes;
9
- headerContent: string;
10
- hasBreadcrumb: boolean;
11
- pageType: NgDocPageType;
12
- pageBreadcrumbs: ViewContainerRef;
13
- pageToc?: ViewContainerRef;
14
- pageNavigation: ViewContainerRef;
20
+ /** Routes of the page; a page with more than one gets tabs. */
21
+ readonly routes: _angular_core.InputSignal<Routes>;
22
+ /** HTML of the page header. */
23
+ readonly headerContent: _angular_core.InputSignal<string>;
24
+ /** Deferred source of the page header, for generated pages that load it separately. */
25
+ readonly headerContentSource: _angular_core.InputSignal<NgDocContentSource | undefined>;
26
+ /** Whether the page shows breadcrumbs. */
27
+ readonly hasBreadcrumb: _angular_core.InputSignalWithTransform<boolean, unknown>;
28
+ /** Type of the page: guides get previous and next page links, API pages do not. */
29
+ readonly pageType: _angular_core.InputSignal<NgDocPageType>;
30
+ /** Container of the breadcrumbs. */
31
+ readonly pageBreadcrumbs: _angular_core.Signal<ViewContainerRef>;
32
+ /** Container of the table of contents. */
33
+ readonly pageToc: _angular_core.Signal<ViewContainerRef>;
34
+ /** Container of the previous and next page links. */
35
+ readonly pageNavigation: _angular_core.Signal<ViewContainerRef>;
15
36
  protected skeleton: _ng_doc_app_interfaces.NgDocPageSkeleton;
16
37
  protected router: Router;
17
38
  protected route: ActivatedRoute;
18
39
  protected context: _ng_doc_app_interfaces.NgDocContext;
40
+ protected readonly fullscreenRoute: NgDocFullscreenRouteService;
19
41
  private breadcrumbs;
42
+ private readonly preloader;
43
+ private readonly injector;
20
44
  ngOnInit(): void;
21
- private navigationInputs;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPageWrapperComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPageWrapperComponent, "ng-doc-page-wrapper", never, { "routes": { "alias": "routes"; "required": true; }; "headerContent": { "alias": "headerContent"; "required": true; }; "hasBreadcrumb": { "alias": "hasBreadcrumb"; "required": false; }; "pageType": { "alias": "pageType"; "required": false; }; }, {}, never, never, true, never>;
45
+ private adjacentPages;
46
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPageWrapperComponent, never>;
47
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPageWrapperComponent, "ng-doc-page-wrapper", never, { "routes": { "alias": "routes"; "required": true; "isSignal": true; }; "headerContent": { "alias": "headerContent"; "required": true; "isSignal": true; }; "headerContentSource": { "alias": "headerContentSource"; "required": false; "isSignal": true; }; "hasBreadcrumb": { "alias": "hasBreadcrumb"; "required": false; "isSignal": true; }; "pageType": { "alias": "pageType"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
48
  }
25
49
 
26
50
  export { NgDocPageWrapperComponent };
@@ -1,19 +1,70 @@
1
- import * as i0 from '@angular/core';
2
- import { ElementRef, TemplateRef, ChangeDetectorRef } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef, ChangeDetectorRef } from '@angular/core';
3
+ import { NgDocContentController } from '@ng-doc/app/classes/content-controller';
3
4
  import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
4
5
  import { NgDocPageWrapperComponent } from '@ng-doc/app/components/page-wrapper';
5
6
  import { NgDocPageSkeleton } from '@ng-doc/app/interfaces';
6
7
 
8
+ /**
9
+ * A generated page: its rendered content, the page actions (copy link, edit and view the source),
10
+ * the table of contents it fills in, and the outlet of its fullscreen routes.
11
+ *
12
+ * A fullscreen route (a child route of the page, unless the page sets `disableFullscreenRoutes`)
13
+ * replaces the page: it is shown on its own on the canvas of demos, with a link back to the page,
14
+ * and `NgDocFullscreenRouteService` tells the root layout and the page wrapper to hide their
15
+ * chrome.
16
+ */
7
17
  declare class NgDocPageComponent {
8
- pageContainer: ElementRef<HTMLElement>;
9
- childOutlet?: TemplateRef<never>;
18
+ /** The element that holds the rendered page content. */
19
+ readonly pageContainer: _angular_core.Signal<ElementRef<any> | undefined>;
10
20
  protected rootPage: NgDocRootPage;
11
21
  protected skeleton: NgDocPageSkeleton;
12
22
  protected changeDetectorRef: ChangeDetectorRef;
13
23
  protected pageWrapper: NgDocPageWrapperComponent;
24
+ protected readonly contentController: NgDocContentController;
25
+ /** Whether the link to the page was just copied. */
26
+ protected readonly linkCopied: _angular_core.WritableSignal<boolean>;
27
+ /** Whether one of the page's fullscreen routes is shown instead of the page. */
28
+ protected readonly fullscreenRoute: _angular_core.WritableSignal<boolean>;
29
+ /** URL of the page, for the link back from a fullscreen route. */
30
+ protected readonly pageUrl: _angular_core.WritableSignal<string>;
31
+ private readonly route;
32
+ private readonly fullscreenRoutes;
33
+ private readonly contentAnchorController;
34
+ private readonly clipboard;
35
+ private readonly ngZone;
36
+ private readonly location;
37
+ private readonly locationStrategy;
38
+ private linkCopiedTimer?;
39
+ /** Removes the server-rendered copy shown while asynchronous content loads. */
40
+ private snapshot?;
41
+ constructor();
42
+ /**
43
+ * Shows one of the page's fullscreen routes instead of the page, or the page again. The outlet
44
+ * of the fullscreen routes calls it when a route opens or closes.
45
+ * @param shown - Whether a fullscreen route is shown.
46
+ */
47
+ protected showFullscreenRoute(shown: boolean): void;
48
+ /**
49
+ * Creates the table of contents from the headings of the rendered page.
50
+ */
14
51
  createToc(): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPageComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPageComponent, "ng-doc-page", never, {}, {}, never, never, true, never>;
52
+ /**
53
+ * Shows the page's own content in place of the server-rendered copy when a pass of the loaded
54
+ * content is about to render, in the same task, so its components render and measure visible.
55
+ * The pass of the empty content before the source has loaded keeps the copy.
56
+ * @param version - The content version of the pass.
57
+ * @internal
58
+ */
59
+ protected revealLoaded(version: number): void;
60
+ /**
61
+ * Copies the link to the page, without its query and fragment.
62
+ */
63
+ copyLink(): void;
64
+ private connectContent;
65
+ private releaseSnapshot;
66
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPageComponent, never>;
67
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPageComponent, "ng-doc-page", never, {}, {}, never, never, true, never>;
17
68
  }
18
69
 
19
70
  export { NgDocPageComponent };