@ng-doc/app 22.0.0-beta.2 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -29
- package/fesm2022/ng-doc-app-classes-content-anchor-controller.mjs +363 -0
- package/fesm2022/ng-doc-app-classes-content-anchor-controller.mjs.map +1 -0
- package/fesm2022/ng-doc-app-classes-content-controller.mjs +299 -0
- package/fesm2022/ng-doc-app-classes-content-controller.mjs.map +1 -0
- package/fesm2022/ng-doc-app-classes-default-search-engine.mjs +51 -35
- package/fesm2022/ng-doc-app-classes-default-search-engine.mjs.map +1 -1
- package/fesm2022/ng-doc-app-classes-root-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-classes-search-engine.mjs.map +1 -1
- package/fesm2022/ng-doc-app-classes.mjs +2 -0
- package/fesm2022/ng-doc-app-classes.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-api-list.mjs +173 -69
- package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-breadcrumb.mjs +13 -10
- package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-code.mjs +152 -25
- package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-command-palette.mjs +498 -0
- package/fesm2022/ng-doc-app-components-command-palette.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-copy-button.mjs +38 -21
- package/fesm2022/ng-doc-app-components-copy-button.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs +36 -29
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-pane.mjs +39 -36
- package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo.mjs +129 -44
- package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +12 -9
- package/fesm2022/ng-doc-app-components-fullscreen-button.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-fullscreen-toggle.mjs +79 -0
- package/fesm2022/ng-doc-app-components-fullscreen-toggle.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-heading-anchor.mjs +54 -21
- package/fesm2022/ng-doc-app-components-heading-anchor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-image-viewer.mjs +183 -89
- package/fesm2022/ng-doc-app-components-image-viewer.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-kind-icon.mjs +42 -25
- package/fesm2022/ng-doc-app-components-kind-icon.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-link.mjs +12 -9
- package/fesm2022/ng-doc-app-components-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-members.mjs +30 -0
- package/fesm2022/ng-doc-app-components-members.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs +61 -20
- package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-navbar.mjs +39 -49
- package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-header.mjs +73 -10
- package/fesm2022/ng-doc-app-components-page-header.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-link.mjs +123 -31
- package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-navigation.mjs +17 -19
- package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-wrapper.mjs +56 -35
- package/fesm2022/ng-doc-app-components-page-wrapper.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page.mjs +168 -24
- package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-playground.mjs +392 -263
- package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-root.mjs +48 -31
- package/fesm2022/ng-doc-app-components-root.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search-result.mjs +22 -21
- package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search.mjs +64 -33
- package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-sidebar.mjs +86 -61
- package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-tabs.mjs +18 -12
- package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs +33 -21
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-toc.mjs +267 -90
- package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components.mjs +3 -1
- package/fesm2022/ng-doc-app-components.mjs.map +1 -1
- package/fesm2022/ng-doc-app-defaults-default-processors.mjs +2 -1
- package/fesm2022/ng-doc-app-defaults-default-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +11 -5
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-members-filter.mjs +276 -0
- package/fesm2022/ng-doc-app-directives-members-filter.mjs.map +1 -0
- package/fesm2022/ng-doc-app-directives-route-active.mjs +34 -30
- package/fesm2022/ng-doc-app-directives-route-active.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives.mjs +1 -0
- package/fesm2022/ng-doc-app-directives.mjs.map +1 -1
- package/fesm2022/ng-doc-app-helpers.mjs +285 -1
- package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs +6 -4
- package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-extract-value.mjs +6 -4
- package/fesm2022/ng-doc-app-pipes-extract-value.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +7 -4
- package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +8 -5
- package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-page-processor.mjs +86 -23
- package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs +26 -25
- package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors.mjs +12 -1
- package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +31 -2
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-content-scroll-intent.mjs +122 -0
- package/fesm2022/ng-doc-app-services-content-scroll-intent.mjs.map +1 -0
- package/fesm2022/ng-doc-app-services-content-state.mjs +57 -0
- package/fesm2022/ng-doc-app-services-content-state.mjs.map +1 -0
- package/fesm2022/ng-doc-app-services-fullscreen-route.mjs +74 -0
- package/fesm2022/ng-doc-app-services-fullscreen-route.mjs.map +1 -0
- package/fesm2022/ng-doc-app-services-highlighter.mjs +83 -14
- package/fesm2022/ng-doc-app-services-highlighter.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-route-preloader.mjs +360 -0
- package/fesm2022/ng-doc-app-services-route-preloader.mjs.map +1 -0
- package/fesm2022/ng-doc-app-services-shortcuts.mjs +214 -0
- package/fesm2022/ng-doc-app-services-shortcuts.mjs.map +1 -0
- package/fesm2022/ng-doc-app-services-sidebar.mjs +59 -25
- package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-store.mjs +8 -8
- package/fesm2022/ng-doc-app-services-store.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-theme.mjs +32 -12
- package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services.mjs +143 -0
- package/fesm2022/ng-doc-app-services.mjs.map +1 -1
- package/fesm2022/ng-doc-app-tokens.mjs +7 -28
- package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +18 -9
- package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-number-control.mjs +12 -9
- package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs +12 -9
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +22 -16
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
- package/package.json +69 -28
- package/styles/global.css +1125 -201
- package/styles/main.css +1125 -201
- package/styles/themes/dark.css +78 -56
- package/types/ng-doc-app-classes-content-anchor-controller.d.ts +54 -0
- package/types/ng-doc-app-classes-content-controller.d.ts +94 -0
- package/types/ng-doc-app-classes-default-search-engine.d.ts +9 -1
- package/types/ng-doc-app-classes-root-page.d.ts +6 -1
- package/types/ng-doc-app-classes-search-engine.d.ts +5 -0
- package/types/ng-doc-app-classes.d.ts +2 -0
- package/types/ng-doc-app-components-api-list.d.ts +69 -20
- package/types/ng-doc-app-components-breadcrumb.d.ts +8 -3
- package/types/ng-doc-app-components-code.d.ts +46 -12
- package/types/ng-doc-app-components-command-palette.d.ts +147 -0
- package/types/ng-doc-app-components-copy-button.d.ts +18 -6
- package/types/ng-doc-app-components-demo-displayer.d.ts +23 -10
- package/types/ng-doc-app-components-demo-pane.d.ts +19 -15
- package/types/ng-doc-app-components-demo.d.ts +62 -15
- package/types/ng-doc-app-components-fullscreen-button.d.ts +4 -2
- package/types/ng-doc-app-components-fullscreen-toggle.d.ts +24 -0
- package/types/ng-doc-app-components-heading-anchor.d.ts +26 -7
- package/types/ng-doc-app-components-image-viewer.d.ts +71 -7
- package/types/ng-doc-app-components-kind-icon.d.ts +28 -7
- package/types/ng-doc-app-components-link.d.ts +6 -2
- package/types/ng-doc-app-components-members.d.ts +13 -0
- package/types/ng-doc-app-components-mermaid-viewer.d.ts +21 -6
- package/types/ng-doc-app-components-navbar.d.ts +25 -15
- package/types/ng-doc-app-components-page-header.d.ts +28 -4
- package/types/ng-doc-app-components-page-link.d.ts +34 -15
- package/types/ng-doc-app-components-page-navigation.d.ts +10 -5
- package/types/ng-doc-app-components-page-wrapper.d.ts +35 -11
- package/types/ng-doc-app-components-page.d.ts +57 -6
- package/types/ng-doc-app-components-playground.d.ts +146 -78
- package/types/ng-doc-app-components-root.d.ts +28 -7
- package/types/ng-doc-app-components-search-result.d.ts +14 -6
- package/types/ng-doc-app-components-search.d.ts +19 -7
- package/types/ng-doc-app-components-tabs.d.ts +13 -4
- package/types/ng-doc-app-components-theme-toggle.d.ts +18 -5
- package/types/ng-doc-app-components-toc.d.ts +76 -29
- package/types/ng-doc-app-components.d.ts +3 -1
- package/types/ng-doc-app-directives-code-highlighter.d.ts +8 -4
- package/types/ng-doc-app-directives-members-filter.d.ts +61 -0
- package/types/ng-doc-app-directives-route-active.d.ts +21 -7
- package/types/ng-doc-app-directives.d.ts +1 -0
- package/types/ng-doc-app-helpers.d.ts +124 -3
- package/types/ng-doc-app-interfaces.d.ts +48 -28
- package/types/ng-doc-app-pipes-decode-uri-component.d.ts +3 -0
- package/types/ng-doc-app-pipes-extract-value.d.ts +3 -0
- package/types/ng-doc-app-pipes-filter-by-text.d.ts +4 -0
- package/types/ng-doc-app-pipes-sanitize-html.d.ts +4 -2
- package/types/ng-doc-app-processors-page-processor.d.ts +39 -10
- package/types/ng-doc-app-processors-processors-tooltip.d.ts +11 -10
- package/types/ng-doc-app-processors-processors.d.ts +5 -1
- package/types/ng-doc-app-providers-ng-doc-app.d.ts +17 -0
- package/types/ng-doc-app-services-content-scroll-intent.d.ts +52 -0
- package/types/ng-doc-app-services-content-state.d.ts +40 -0
- package/types/ng-doc-app-services-fullscreen-route.d.ts +35 -0
- package/types/ng-doc-app-services-highlighter.d.ts +40 -5
- package/types/ng-doc-app-services-route-preloader.d.ts +109 -0
- package/types/ng-doc-app-services-shortcuts.d.ts +96 -0
- package/types/ng-doc-app-services-sidebar.d.ts +24 -4
- package/types/ng-doc-app-services-store.d.ts +24 -1
- package/types/ng-doc-app-services-theme.d.ts +19 -3
- package/types/ng-doc-app-services.d.ts +77 -0
- package/types/ng-doc-app-tokens.d.ts +10 -30
- package/types/ng-doc-app-type-controls-boolean-control.d.ts +11 -6
- package/types/ng-doc-app-type-controls-number-control.d.ts +5 -3
- package/types/ng-doc-app-type-controls-string-control.d.ts +5 -3
- package/types/ng-doc-app-type-controls-type-alias-control.d.ts +13 -6
- package/fesm2022/ng-doc-app-components-search-dialog.mjs +0 -78
- package/fesm2022/ng-doc-app-components-search-dialog.mjs.map +0 -1
- package/types/ng-doc-app-components-search-dialog.d.ts +0 -28
|
@@ -1,33 +1,43 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { NgDocSidebarService } from '@ng-doc/app/services/sidebar';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Navbar
|
|
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
|
|
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
|
-
*
|
|
36
|
+
* Closes the sidebar overlay and moves focus back to the menu button that opened it.
|
|
26
37
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
static
|
|
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
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
|
2
|
-
import { OnInit
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
14
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
22
|
-
static ɵfac:
|
|
23
|
-
static ɵcmp:
|
|
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
|
|
2
|
-
import { ElementRef,
|
|
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
|
-
|
|
9
|
-
|
|
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
|
-
|
|
16
|
-
|
|
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 };
|
|
@@ -1,34 +1,45 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { OnInit,
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { OnInit, Signal, ViewContainerRef, InputSignal, ChangeDetectorRef, AfterViewInit, WritableSignal, OnChanges, OnDestroy, Injector, DestroyRef, SimpleChanges } from '@angular/core';
|
|
3
3
|
import { NgDocPlaygroundConfig, NgDocPlaygroundProperties, NgDocPlaygroundOptions, NgDocPlaygroundProperty, NgDocPlaygroundContent } from '@ng-doc/core/interfaces';
|
|
4
4
|
import { Constructor } from '@ng-doc/core/types';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
6
|
import { FormGroup, FormControl } from '@angular/forms';
|
|
7
|
-
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
8
7
|
import { NgDocProvidedTypeControl, NgDocTypeControlProviderOptions } from '@ng-doc/app/interfaces';
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
|
-
* Base class
|
|
10
|
+
* Base class of the playground classes the builder generates, one per playground and selector.
|
|
11
|
+
* A generated class renders the playground template with the target's inputs bound to
|
|
12
|
+
* `properties()`, and queries the target with `viewChild()`.
|
|
12
13
|
*/
|
|
13
14
|
declare abstract class NgDocBasePlayground implements Pick<NgDocPlaygroundConfig, 'data'>, OnInit {
|
|
14
|
-
private playgroundInstance?;
|
|
15
15
|
static readonly selector: string;
|
|
16
|
-
|
|
17
|
-
abstract readonly
|
|
16
|
+
/** The class the playground shows: a component, a directive or a pipe. */
|
|
17
|
+
abstract readonly target: Constructor<unknown>;
|
|
18
|
+
/** The instance of the target in the playground template; a pipe has none. */
|
|
19
|
+
abstract readonly playground: Signal<unknown>;
|
|
20
|
+
/** The view container of the target in the playground template; a pipe has none. */
|
|
21
|
+
abstract readonly viewContainerRef: Signal<ViewContainerRef | undefined>;
|
|
22
|
+
/** The `data` of the playground configuration. */
|
|
18
23
|
abstract readonly configData: Record<string, unknown>;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
/** Values of the target's inputs, by property name. */
|
|
25
|
+
readonly properties: InputSignal<Record<string, any>>;
|
|
26
|
+
/** The `data` given to the playground action; it extends the configuration's `data`. */
|
|
27
|
+
readonly actionData: InputSignal<Record<string, unknown>>;
|
|
28
|
+
/** Whether each content slot is shown, by slot name. */
|
|
29
|
+
readonly content: InputSignal<Record<string, any>>;
|
|
30
|
+
/** The default values of the target's inputs, read before the template binds them. */
|
|
22
31
|
defaultValues: Record<string, unknown>;
|
|
23
|
-
private reattached;
|
|
24
|
-
private playgroundContainer;
|
|
25
|
-
protected changeDetectorRef: ChangeDetectorRef;
|
|
26
|
-
|
|
32
|
+
private readonly reattached;
|
|
33
|
+
private readonly playgroundContainer;
|
|
34
|
+
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
35
|
+
constructor();
|
|
36
|
+
/** Emits once, after the view is attached again and checks the template's bindings. */
|
|
27
37
|
get onReattached(): Observable<void>;
|
|
28
|
-
|
|
38
|
+
/** The playground `data`: the configuration's data extended by the action's data. */
|
|
29
39
|
get data(): any;
|
|
30
|
-
|
|
31
|
-
static
|
|
40
|
+
ngOnInit(): void;
|
|
41
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocBasePlayground, never>;
|
|
42
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgDocBasePlayground, never, never, { "properties": { "alias": "properties"; "required": false; "isSignal": true; }; "actionData": { "alias": "actionData"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
32
43
|
}
|
|
33
44
|
|
|
34
45
|
interface NgDocPlaygroundForm {
|
|
@@ -36,46 +47,72 @@ interface NgDocPlaygroundForm {
|
|
|
36
47
|
content: FormGroup<Record<string, FormControl<boolean>>>;
|
|
37
48
|
}
|
|
38
49
|
|
|
39
|
-
|
|
50
|
+
/**
|
|
51
|
+
* A playground: an inspector with a control per input and content slot of its target, and a demo
|
|
52
|
+
* per selector (or the pipe) rendered with the chosen values.
|
|
53
|
+
*/
|
|
54
|
+
declare class NgDocPlaygroundComponent<T extends NgDocPlaygroundProperties = NgDocPlaygroundProperties> implements AfterViewInit {
|
|
40
55
|
private readonly rootPage;
|
|
41
56
|
private readonly formBuilder;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
configuration
|
|
57
|
+
/** The name of the playground in the page configuration. */
|
|
58
|
+
readonly id: InputSignal<string>;
|
|
59
|
+
/** The name of the pipe, when the target is a pipe. */
|
|
60
|
+
readonly pipeName: InputSignal<string>;
|
|
61
|
+
/** The selectors of the target to render a demo for. */
|
|
62
|
+
readonly selectors: InputSignal<string[]>;
|
|
63
|
+
/** The inputs of the target. */
|
|
64
|
+
readonly properties: InputSignal<T | undefined>;
|
|
65
|
+
/** Options of the playground action; they extend the playground configuration. */
|
|
66
|
+
readonly options: InputSignal<NgDocPlaygroundOptions>;
|
|
67
|
+
/** Whether the demo is created again each time a value changes. */
|
|
68
|
+
readonly recreateDemo: WritableSignal<boolean>;
|
|
69
|
+
/** The values of the inputs and content slots. */
|
|
70
|
+
readonly formGroup: WritableSignal<FormGroup<NgDocPlaygroundForm> | undefined>;
|
|
71
|
+
/** The default values of the target's inputs, reported by the first demo. */
|
|
72
|
+
readonly defaultValues: WritableSignal<Record<string, unknown> | undefined>;
|
|
73
|
+
/** The playground configuration of the page, extended by the options. */
|
|
74
|
+
readonly configuration: Signal<NgDocPlaygroundConfig>;
|
|
51
75
|
private defaultProperties;
|
|
52
76
|
private defaultContent;
|
|
53
|
-
constructor();
|
|
54
|
-
ngOnChanges({ options }: SimpleChanges): void;
|
|
55
77
|
ngAfterViewInit(): void;
|
|
56
78
|
protected isDefaultState(): boolean;
|
|
57
79
|
private getPropertiesFormValues;
|
|
58
80
|
private getContentFormValues;
|
|
81
|
+
/** Sets every input and content slot back to its default value. */
|
|
59
82
|
resetForm(): void;
|
|
60
|
-
static ɵfac:
|
|
61
|
-
static ɵcmp:
|
|
83
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPlaygroundComponent<any>, never>;
|
|
84
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPlaygroundComponent<any>, "ng-doc-playground", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "pipeName": { "alias": "pipeName"; "required": false; "isSignal": true; }; "selectors": { "alias": "selectors"; "required": false; "isSignal": true; }; "properties": { "alias": "properties"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
62
85
|
}
|
|
63
86
|
|
|
87
|
+
/**
|
|
88
|
+
* One demo of a playground: it creates the generated playground class of its selector (or pipe),
|
|
89
|
+
* passes it the form's values and shows the code of the current state.
|
|
90
|
+
*/
|
|
64
91
|
declare class NgDocPlaygroundDemoComponent<T extends NgDocPlaygroundProperties = NgDocPlaygroundProperties> implements OnChanges, OnDestroy {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
92
|
+
/** The name of the playground in the page configuration. */
|
|
93
|
+
readonly id: InputSignal<string>;
|
|
94
|
+
/** The name of the pipe, when the target is a pipe. */
|
|
95
|
+
readonly pipeName: InputSignal<string>;
|
|
96
|
+
/** The selector of the target this demo renders. */
|
|
97
|
+
readonly selector: InputSignal<string>;
|
|
98
|
+
/** The playground configuration, extended by the action's options. */
|
|
99
|
+
readonly configuration: InputSignal<NgDocPlaygroundConfig | undefined>;
|
|
100
|
+
/** The inputs of the target. */
|
|
101
|
+
readonly properties: InputSignal<T | undefined>;
|
|
102
|
+
/** Whether the demo is created again each time a value changes. */
|
|
103
|
+
readonly recreateDemo: InputSignal<boolean>;
|
|
104
|
+
/** The values of the inputs and content slots. */
|
|
105
|
+
readonly form: InputSignal<FormGroup<NgDocPlaygroundForm> | undefined>;
|
|
106
|
+
/** Whether the code of the demo is shown. */
|
|
107
|
+
readonly expanded: InputSignal<boolean>;
|
|
108
|
+
/** Where the playground class is created. */
|
|
109
|
+
readonly demoOutlet: Signal<ViewContainerRef | undefined>;
|
|
110
|
+
/** The generated playground class of this demo's selector or pipe. */
|
|
74
111
|
playgroundDemo?: typeof NgDocBasePlayground;
|
|
75
|
-
protected code: string
|
|
112
|
+
protected readonly code: _angular_core.WritableSignal<string>;
|
|
76
113
|
protected readonly injector: Injector;
|
|
77
|
-
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
78
114
|
protected readonly destroyRef: DestroyRef;
|
|
115
|
+
private readonly pendingTasks;
|
|
79
116
|
private demoRef?;
|
|
80
117
|
private readonly unsubscribe$;
|
|
81
118
|
ngOnChanges({ form, id }: SimpleChanges): Promise<void>;
|
|
@@ -86,8 +123,8 @@ declare class NgDocPlaygroundDemoComponent<T extends NgDocPlaygroundProperties =
|
|
|
86
123
|
private getActiveInputs;
|
|
87
124
|
private getPipeActiveInputs;
|
|
88
125
|
ngOnDestroy(): void;
|
|
89
|
-
static ɵfac:
|
|
90
|
-
static ɵcmp:
|
|
126
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPlaygroundDemoComponent<any>, never>;
|
|
127
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPlaygroundDemoComponent<any>, "ng-doc-playground-demo", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "pipeName": { "alias": "pipeName"; "required": false; "isSignal": true; }; "selector": { "alias": "selector"; "required": false; "isSignal": true; }; "configuration": { "alias": "configuration"; "required": false; "isSignal": true; }; "properties": { "alias": "properties"; "required": false; "isSignal": true; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
91
128
|
}
|
|
92
129
|
|
|
93
130
|
interface NgDocPlaygroundPropertyControl {
|
|
@@ -96,47 +133,78 @@ interface NgDocPlaygroundPropertyControl {
|
|
|
96
133
|
typeControl: NgDocProvidedTypeControl;
|
|
97
134
|
}
|
|
98
135
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
readonly
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
136
|
+
/**
|
|
137
|
+
* The playground inspector: the demos, and beside them (below them in a container narrower than
|
|
138
|
+
* 640px) the Recreate setting and a control per input and content slot.
|
|
139
|
+
*/
|
|
140
|
+
declare class NgDocPlaygroundPropertiesComponent<P extends NgDocPlaygroundProperties, C extends Record<string, NgDocPlaygroundContent>> {
|
|
141
|
+
private readonly injector;
|
|
142
|
+
/** The form of the playground. */
|
|
143
|
+
readonly form: _angular_core.InputSignal<FormGroup<NgDocPlaygroundForm>>;
|
|
144
|
+
/** The inputs of the playground's target. */
|
|
145
|
+
readonly properties: _angular_core.InputSignal<P | undefined>;
|
|
146
|
+
/** Inputs that get no control. */
|
|
147
|
+
readonly ignoreInputs: _angular_core.InputSignal<string[] | undefined>;
|
|
148
|
+
/** Content slots of the playground. */
|
|
149
|
+
readonly dynamicContent: _angular_core.InputSignal<C | undefined>;
|
|
150
|
+
/** Default values of the inputs; the inspector renders once they are known. */
|
|
151
|
+
readonly defaultValues: _angular_core.InputSignal<Record<string, unknown> | undefined>;
|
|
152
|
+
/** Whether the inspector is hidden, leaving the demos only. */
|
|
153
|
+
readonly hideSidePanel: _angular_core.InputSignal<boolean>;
|
|
154
|
+
/** Where the inspector goes: right of the demos, or below them at full width. */
|
|
155
|
+
readonly inspectorPosition: _angular_core.InputSignal<"right" | "bottom">;
|
|
156
|
+
/** Whether the demo is recreated each time an input changes. */
|
|
157
|
+
readonly recreateDemo: _angular_core.ModelSignal<boolean>;
|
|
158
|
+
/** Whether the Reset button is shown. */
|
|
159
|
+
readonly showResetButton: _angular_core.InputSignal<boolean>;
|
|
160
|
+
/** Emits when the reader resets the form. */
|
|
161
|
+
readonly resetForm: _angular_core.OutputEmitterRef<void>;
|
|
162
|
+
/** The control of each input, in display order. */
|
|
163
|
+
protected readonly propertyControls: Signal<NgDocPlaygroundPropertyControl[]>;
|
|
164
|
+
/** The control of content slots. */
|
|
165
|
+
protected readonly contentTypeControl?: NgDocProvidedTypeControl;
|
|
166
|
+
/**
|
|
167
|
+
* The form control of an input or a content slot.
|
|
168
|
+
* @param controlType - `properties` or `content`.
|
|
169
|
+
* @param key - Name of the input or slot.
|
|
170
|
+
*/
|
|
118
171
|
getFormControl(controlType: keyof NgDocPlaygroundForm, key: string): FormControl;
|
|
119
172
|
private getTypeControl;
|
|
120
173
|
private getControlForType;
|
|
121
174
|
private getControlForTypeAlias;
|
|
122
|
-
static ɵfac:
|
|
123
|
-
static ɵcmp:
|
|
175
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPlaygroundPropertiesComponent<any, any>, never>;
|
|
176
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPlaygroundPropertiesComponent<any, any>, "ng-doc-playground-properties", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "properties": { "alias": "properties"; "required": false; "isSignal": true; }; "ignoreInputs": { "alias": "ignoreInputs"; "required": false; "isSignal": true; }; "dynamicContent": { "alias": "dynamicContent"; "required": false; "isSignal": true; }; "defaultValues": { "alias": "defaultValues"; "required": false; "isSignal": true; }; "hideSidePanel": { "alias": "hideSidePanel"; "required": false; "isSignal": true; }; "inspectorPosition": { "alias": "inspectorPosition"; "required": false; "isSignal": true; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; "isSignal": true; }; "showResetButton": { "alias": "showResetButton"; "required": false; "isSignal": true; }; }, { "recreateDemo": "recreateDemoChange"; "resetForm": "resetForm"; }, never, ["*"], true, never>;
|
|
124
177
|
}
|
|
125
178
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
179
|
+
/**
|
|
180
|
+
* One row of the playground inspector: the input's name with its type chip, and the type
|
|
181
|
+
* control that edits it, bound to the input's form control.
|
|
182
|
+
*/
|
|
183
|
+
declare class NgDocPlaygroundPropertyComponent {
|
|
184
|
+
/** Name of the input. */
|
|
185
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
186
|
+
/** The input, or the content slot. */
|
|
187
|
+
readonly property: _angular_core.InputSignal<NgDocPlaygroundProperty | NgDocPlaygroundContent | undefined>;
|
|
188
|
+
/** The type control that edits the input. */
|
|
189
|
+
readonly typeControl: _angular_core.InputSignal<NgDocProvidedTypeControl | undefined>;
|
|
190
|
+
/** Form control of the input. */
|
|
191
|
+
readonly control: _angular_core.InputSignal<FormControl<any> | undefined>;
|
|
192
|
+
/** Default value of the input. */
|
|
193
|
+
readonly defaultValue: _angular_core.InputSignal<unknown>;
|
|
194
|
+
/** Whether a type control is rendered. */
|
|
195
|
+
readonly hasPropertyControl: _angular_core.WritableSignal<boolean>;
|
|
196
|
+
/** Description of the input, shown in the tooltip of its name. */
|
|
197
|
+
protected readonly tooltipContent: Signal<string>;
|
|
198
|
+
/** Options of the type control provider. */
|
|
199
|
+
protected readonly option: Signal<NgDocTypeControlProviderOptions | undefined>;
|
|
200
|
+
/** The value type shown as a chip under the name, or an empty string. */
|
|
201
|
+
protected readonly typeChip: Signal<string>;
|
|
202
|
+
private readonly propertyOutlet;
|
|
134
203
|
private propertyTypeControl?;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
static
|
|
139
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundPropertyComponent, "ng-doc-playground-property", never, { "name": { "alias": "name"; "required": false; }; "property": { "alias": "property"; "required": false; }; "typeControl": { "alias": "typeControl"; "required": false; }; "control": { "alias": "control"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; }, {}, never, never, true, never>;
|
|
204
|
+
constructor();
|
|
205
|
+
private createControl;
|
|
206
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocPlaygroundPropertyComponent, never>;
|
|
207
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocPlaygroundPropertyComponent, "ng-doc-playground-property", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "property": { "alias": "property"; "required": false; "isSignal": true; }; "typeControl": { "alias": "typeControl"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
140
208
|
}
|
|
141
209
|
|
|
142
210
|
export { NgDocBasePlayground, NgDocPlaygroundComponent, NgDocPlaygroundDemoComponent, NgDocPlaygroundPropertiesComponent, NgDocPlaygroundPropertyComponent };
|