@ng-doc/app 15.3.2 → 15.4.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 (58) hide show
  1. package/assets/themes/ng-doc-dark-purple.css +111 -0
  2. package/components/demo/demo.component.d.ts +3 -2
  3. package/components/demo-displayer/demo-displayer.component.d.ts +1 -1
  4. package/components/theme-toggle/theme-toggle.component.d.ts +2 -1
  5. package/constants/themes.d.ts +63 -0
  6. package/esm2020/components/code/code.component.mjs +2 -2
  7. package/esm2020/components/demo/demo.component.mjs +7 -6
  8. package/esm2020/components/demo-displayer/demo-displayer.component.mjs +4 -2
  9. package/esm2020/components/navbar/navbar.component.mjs +2 -2
  10. package/esm2020/components/playground/playground-demo/playground-demo.component.mjs +1 -1
  11. package/esm2020/components/root/root.component.mjs +3 -3
  12. package/esm2020/components/theme-toggle/theme-toggle.component.mjs +21 -14
  13. package/esm2020/constants/themes.mjs +67 -1
  14. package/esm2020/modules/root/ng-doc.module.mjs +3 -2
  15. package/esm2020/processors/demo-processor/demo-processor.directive.mjs +2 -3
  16. package/fesm2015/ng-doc-app-components-code.mjs +2 -2
  17. package/fesm2015/ng-doc-app-components-code.mjs.map +1 -1
  18. package/fesm2015/ng-doc-app-components-demo-displayer.mjs +3 -1
  19. package/fesm2015/ng-doc-app-components-demo-displayer.mjs.map +1 -1
  20. package/fesm2015/ng-doc-app-components-demo.mjs +6 -5
  21. package/fesm2015/ng-doc-app-components-demo.mjs.map +1 -1
  22. package/fesm2015/ng-doc-app-components-navbar.mjs +2 -2
  23. package/fesm2015/ng-doc-app-components-navbar.mjs.map +1 -1
  24. package/fesm2015/ng-doc-app-components-playground.mjs +1 -1
  25. package/fesm2015/ng-doc-app-components-playground.mjs.map +1 -1
  26. package/fesm2015/ng-doc-app-components-root.mjs +2 -2
  27. package/fesm2015/ng-doc-app-components-root.mjs.map +1 -1
  28. package/fesm2015/ng-doc-app-components-theme-toggle.mjs +21 -13
  29. package/fesm2015/ng-doc-app-components-theme-toggle.mjs.map +1 -1
  30. package/fesm2015/ng-doc-app-constants.mjs +67 -1
  31. package/fesm2015/ng-doc-app-constants.mjs.map +1 -1
  32. package/fesm2015/ng-doc-app-modules-root.mjs +2 -1
  33. package/fesm2015/ng-doc-app-modules-root.mjs.map +1 -1
  34. package/fesm2015/ng-doc-app-processors-demo-processor.mjs +2 -2
  35. package/fesm2015/ng-doc-app-processors-demo-processor.mjs.map +1 -1
  36. package/fesm2020/ng-doc-app-components-code.mjs +2 -2
  37. package/fesm2020/ng-doc-app-components-code.mjs.map +1 -1
  38. package/fesm2020/ng-doc-app-components-demo-displayer.mjs +3 -1
  39. package/fesm2020/ng-doc-app-components-demo-displayer.mjs.map +1 -1
  40. package/fesm2020/ng-doc-app-components-demo.mjs +6 -5
  41. package/fesm2020/ng-doc-app-components-demo.mjs.map +1 -1
  42. package/fesm2020/ng-doc-app-components-navbar.mjs +2 -2
  43. package/fesm2020/ng-doc-app-components-navbar.mjs.map +1 -1
  44. package/fesm2020/ng-doc-app-components-playground.mjs +1 -1
  45. package/fesm2020/ng-doc-app-components-playground.mjs.map +1 -1
  46. package/fesm2020/ng-doc-app-components-root.mjs +2 -2
  47. package/fesm2020/ng-doc-app-components-root.mjs.map +1 -1
  48. package/fesm2020/ng-doc-app-components-theme-toggle.mjs +20 -13
  49. package/fesm2020/ng-doc-app-components-theme-toggle.mjs.map +1 -1
  50. package/fesm2020/ng-doc-app-constants.mjs +67 -1
  51. package/fesm2020/ng-doc-app-constants.mjs.map +1 -1
  52. package/fesm2020/ng-doc-app-modules-root.mjs +2 -1
  53. package/fesm2020/ng-doc-app-modules-root.mjs.map +1 -1
  54. package/fesm2020/ng-doc-app-processors-demo-processor.mjs +1 -2
  55. package/fesm2020/ng-doc-app-processors-demo-processor.mjs.map +1 -1
  56. package/package.json +3 -3
  57. package/styles/global.css +26 -5
  58. package/styles/main.css +26 -5
@@ -0,0 +1,111 @@
1
+ /*!
2
+ Theme: Hardcore
3
+ Author: Chris Caller
4
+ License: ~ MIT (or more permissive) [via base16-schemes-source]
5
+ Maintainer: @highlightjs/core-team
6
+ Version: 2021.09.0
7
+ */
8
+ pre code.hljs {
9
+ display: block;
10
+ overflow-x: auto;
11
+ padding: 1em;
12
+ }
13
+
14
+ code.hljs {
15
+ padding: 3px 5px;
16
+ }
17
+
18
+ .hljs {
19
+ color: #cdcdcd;
20
+ background: #212121;
21
+ }
22
+
23
+ .hljs ::selection, .hljs::selection {
24
+ background-color: #353535;
25
+ color: #cdcdcd;
26
+ }
27
+
28
+ .hljs-comment {
29
+ color: #4a4a4a;
30
+ }
31
+
32
+ .hljs-tag {
33
+ color: #707070;
34
+ }
35
+
36
+ .hljs-operator, .hljs-punctuation, .hljs-subst {
37
+ color: #cdcdcd;
38
+ }
39
+
40
+ .hljs-operator {
41
+ opacity: 0.7;
42
+ }
43
+
44
+ .hljs-bullet, .hljs-deletion, .hljs-name, .hljs-selector-tag, .hljs-template-variable, .hljs-variable {
45
+ color: #f92672;
46
+ }
47
+
48
+ .hljs-attr, .hljs-link, .hljs-literal, .hljs-number, .hljs-symbol, .hljs-variable.constant_ {
49
+ color: #fd971f;
50
+ }
51
+
52
+ .hljs-class .hljs-title, .hljs-title, .hljs-title.class_ {
53
+ color: #e6db74;
54
+ }
55
+
56
+ .hljs-strong {
57
+ font-weight: 700;
58
+ color: #e6db74;
59
+ }
60
+
61
+ .hljs-addition, .hljs-code, .hljs-string, .hljs-title.class_.inherited__ {
62
+ color: #a6e22e;
63
+ }
64
+
65
+ .hljs-built_in, .hljs-doctag, .hljs-keyword.hljs-atrule, .hljs-quote, .hljs-regexp {
66
+ color: #708387;
67
+ }
68
+
69
+ .hljs-attribute, .hljs-function .hljs-title, .hljs-section, .hljs-title.function_, .ruby .hljs-property {
70
+ color: #66d9ef;
71
+ }
72
+
73
+ .diff .hljs-meta, .hljs-keyword, .hljs-template-tag, .hljs-type {
74
+ color: #9e6ffe;
75
+ }
76
+
77
+ .hljs-emphasis {
78
+ color: #9e6ffe;
79
+ font-style: italic;
80
+ }
81
+
82
+ .hljs-meta, .hljs-meta .hljs-keyword, .hljs-meta .hljs-string {
83
+ color: #e8b882;
84
+ }
85
+
86
+ .hljs-meta .hljs-keyword, .hljs-meta-keyword {
87
+ font-weight: 700;
88
+ }
89
+
90
+ :root {
91
+ --ng-doc-base-0: #2a2438;
92
+ --ng-doc-base-1: #352f44;
93
+ --ng-doc-base-2: #474057;
94
+ --ng-doc-base-3: #453d57;
95
+ --ng-doc-base-4: #5e5474;
96
+ --ng-doc-base-5: #41365a;
97
+ --ng-doc-base-6: #5e5474;
98
+ --ng-doc-base-7: #625c71;
99
+ --ng-doc-base-8: #a19baf;
100
+ --ng-doc-base-9: var(--ng-doc-grey-100);
101
+ --ng-doc-base-10: var(--ng-doc-grey-90);
102
+ --ng-doc-base-11: var(--ng-doc-grey-80);
103
+ --ng-doc-text: var(--ng-doc-white);
104
+ --ng-doc-shadow-color: rgb(var(--ng-doc-grey-rgb));
105
+ --ng-doc-code-background: #281f2e;
106
+ --ng-doc-link-color: var(--ng-doc-pink-120);
107
+ }
108
+
109
+ pre code.hljs {
110
+ background-color: #27202e;
111
+ }
@@ -1,12 +1,13 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
3
3
  import { NgDocDemoAsset } from '@ng-doc/app/interfaces';
4
+ import { NgDocDemoActionOptions } from '@ng-doc/core';
4
5
  import { NgDocContent } from '@ng-doc/ui-kit';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class NgDocDemoComponent implements OnInit {
7
8
  private readonly rootPage;
8
9
  componentName?: string;
9
- container: boolean;
10
+ options: NgDocDemoActionOptions;
10
11
  demo?: NgDocContent<object>;
11
12
  assets: NgDocDemoAsset[];
12
13
  constructor(rootPage: NgDocRootPage);
@@ -14,5 +15,5 @@ export declare class NgDocDemoComponent implements OnInit {
14
15
  private getDemo;
15
16
  private getAssets;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocDemoComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocDemoComponent, "ng-doc-demo", never, { "componentName": "componentName"; "container": "container"; }, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgDocDemoComponent, "ng-doc-demo", never, { "componentName": "componentName"; "options": "options"; }, {}, never, never, false, never>;
18
19
  }
@@ -13,5 +13,5 @@ export declare class NgDocDemoDisplayerComponent {
13
13
  constructor(notifyService: NgDocNotifyService, clipboard: Clipboard);
14
14
  copyCode(): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocDemoDisplayerComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocDemoDisplayerComponent, "ng-doc-demo-displayer", never, { "codeContent": "codeContent"; "code": "code"; "language": "language"; "container": "container"; "border": "border"; }, {}, never, ["*"], false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgDocDemoDisplayerComponent, "ng-doc-demo-displayer", never, { "codeContent": "codeContent"; "code": "code"; "language": "language"; "container": "container"; "border": "border"; "expanded": "expanded"; }, {}, never, ["*"], false, never>;
17
17
  }
@@ -3,8 +3,9 @@ import { NgDocThemeService } from '@ng-doc/app/services';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class NgDocThemeToggleComponent {
5
5
  protected readonly themeService: NgDocThemeService;
6
- protected readonly nightTheme: NgDocTheme;
6
+ protected readonly themes: Array<NgDocTheme | undefined>;
7
7
  constructor(themeService: NgDocThemeService);
8
+ get nextTheme(): NgDocTheme | undefined;
8
9
  toggleTheme(): void;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocThemeToggleComponent, never>;
10
11
  static ɵcmp: i0.ɵɵComponentDeclaration<NgDocThemeToggleComponent, "ng-doc-theme-toggle", never, {}, {}, never, never, false, never>;
@@ -1,2 +1,65 @@
1
1
  import { NgDocTheme } from '@ng-doc/app/interfaces';
2
+ /**
3
+ * Dark theme. You can set it manually by calling `NgDocThemeService.setTheme` method.
4
+ *
5
+ * ```typescript
6
+ * import {Component} from '@angular/core';
7
+ * import {NgDocThemeService, NG_DOC_NIGHT_THEME} from '@ng-doc/app';
8
+ *
9
+ * @Component()
10
+ * export class AppComponent {
11
+ * constructor(
12
+ * private readonly themeService: NgDocThemeService,
13
+ * ) {
14
+ * this.themeService.setTheme(NG_DOC_NIGHT_THEME.id);
15
+ * }
16
+ * }
17
+ * ```
18
+ *
19
+ * Or you can set it as default theme in your app module:
20
+ * ```typescript
21
+ * import {NgModule} from '@angular/core';
22
+ * import {NgDocModule, NG_DOC_NIGHT_THEME} from '@ng-doc/app';
23
+ * import {AppComponent} from './app.component';
24
+ *
25
+ * @NgModule({
26
+ * declarations: [AppComponent],
27
+ * imports: [NgDocModule.forRoot({defaultTheme: NG_DOC_NIGHT_THEME.id})],
28
+ * bootstrap: [AppComponent],
29
+ * })
30
+ * export class AppModule {}
31
+ * ```
32
+ */
2
33
  export declare const NG_DOC_NIGHT_THEME: NgDocTheme;
34
+ /**
35
+ * Dark purple theme. You can set it manually by calling `NgDocThemeService.setTheme` method.
36
+ *
37
+ * ```typescript
38
+ * import {Component} from '@angular/core';
39
+ * import {NgDocThemeService, NG_DOC_DARK_PURPLE_THEME} from '@ng-doc/app';
40
+ *
41
+ * @Component()
42
+ * export class AppComponent {
43
+ * constructor(
44
+ * private readonly themeService: NgDocThemeService,
45
+ * ) {
46
+ * this.themeService.setTheme(NG_DOC_DARK_PURPLE_THEME.id);
47
+ * }
48
+ * }
49
+ * ```
50
+ *
51
+ * Or you can set it as default theme in your app module:
52
+ * ```typescript
53
+ * import {NgModule} from '@angular/core';
54
+ * import {NgDocModule, NG_DOC_DARK_PURPLE_THEME} from '@ng-doc/app';
55
+ * import {AppComponent} from './app.component';
56
+ *
57
+ * @NgModule({
58
+ * declarations: [AppComponent],
59
+ * imports: [NgDocModule.forRoot({defaultTheme: NG_DOC_DARK_PURPLE_THEME.id})],
60
+ * bootstrap: [AppComponent],
61
+ * })
62
+ * export class AppModule {}
63
+ * ```
64
+ */
65
+ export declare const NG_DOC_DARK_PURPLE_THEME: NgDocTheme;
@@ -20,10 +20,10 @@ export class NgDocCodeComponent {
20
20
  }
21
21
  }
22
22
  NgDocCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocCodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgDocNotifyService }, { token: i2.Clipboard }], target: i0.ɵɵFactoryTarget.Component });
23
- NgDocCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", standalone: "standalone" }, host: { properties: { "attr.data-ng-doc-standalone": "this.standalone" } }, viewQueries: [{ propertyName: "htmlContainer", first: true, predicate: ["htmlContainer"], descendants: true, read: ElementRef }, { propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"code-wrapper\" [innerHTML]=\"html\" *ngIf=\"html\"></div>\n<div class=\"code-wrapper\" *ngIf=\"!html\">\n\t<ng-content></ng-content>\n</div>\n\n<button class=\"ng-doc-copy-button\" ng-doc-button-icon *ngIf=\"copyButton\" (click)=\"copyCode()\" ngDocTooltip=\"Copy code\">\n\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n</button>\n", styles: [":host{position:relative;display:block}:host[data-ng-doc-standalone=false] pre{margin:0}:host[data-ng-doc-standalone=false] pre code{border-radius:0}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-grey-150);--ng-doc-button-active-background: var(--ng-doc-grey-160)}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin, 1em 0px)}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "toggled", "rounded"] }, { kind: "component", type: i1.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i1.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
+ NgDocCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", standalone: "standalone" }, host: { properties: { "attr.data-ng-doc-standalone": "this.standalone" } }, viewQueries: [{ propertyName: "htmlContainer", first: true, predicate: ["htmlContainer"], descendants: true, read: ElementRef }, { propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"code-wrapper\" [innerHTML]=\"html\" *ngIf=\"html\"></div>\n<div class=\"code-wrapper\" *ngIf=\"!html\">\n\t<ng-content></ng-content>\n</div>\n\n<button class=\"ng-doc-copy-button\" ng-doc-button-icon *ngIf=\"copyButton\" (click)=\"copyCode()\" ngDocTooltip=\"Copy code\">\n\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n</button>\n", styles: [":host{position:relative;display:block}:host[data-ng-doc-standalone=false] pre{margin:0}:host[data-ng-doc-standalone=false] pre code{border-radius:0}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-grey-150);--ng-doc-button-active-background: var(--ng-doc-grey-160)}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin)}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "toggled", "rounded"] }, { kind: "component", type: i1.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i1.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocCodeComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"code-wrapper\" [innerHTML]=\"html\" *ngIf=\"html\"></div>\n<div class=\"code-wrapper\" *ngIf=\"!html\">\n\t<ng-content></ng-content>\n</div>\n\n<button class=\"ng-doc-copy-button\" ng-doc-button-icon *ngIf=\"copyButton\" (click)=\"copyCode()\" ngDocTooltip=\"Copy code\">\n\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n</button>\n", styles: [":host{position:relative;display:block}:host[data-ng-doc-standalone=false] pre{margin:0}:host[data-ng-doc-standalone=false] pre code{border-radius:0}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-grey-150);--ng-doc-button-active-background: var(--ng-doc-grey-160)}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin, 1em 0px)}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto}\n"] }]
26
+ args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"code-wrapper\" [innerHTML]=\"html\" *ngIf=\"html\"></div>\n<div class=\"code-wrapper\" *ngIf=\"!html\">\n\t<ng-content></ng-content>\n</div>\n\n<button class=\"ng-doc-copy-button\" ng-doc-button-icon *ngIf=\"copyButton\" (click)=\"copyCode()\" ngDocTooltip=\"Copy code\">\n\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n</button>\n", styles: [":host{position:relative;display:block}:host[data-ng-doc-standalone=false] pre{margin:0}:host[data-ng-doc-standalone=false] pre code{border-radius:0}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-grey-150);--ng-doc-button-active-background: var(--ng-doc-grey-160)}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin)}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto}\n"] }]
27
27
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgDocNotifyService }, { type: i2.Clipboard }]; }, propDecorators: { html: [{
28
28
  type: Input
29
29
  }], copyButton: [{
@@ -1,5 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
3
+ import { asArray } from '@ng-doc/core';
3
4
  import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@ng-doc/app/classes/root-page";
@@ -11,7 +12,7 @@ import * as i6 from "@ng-doc/app/components/demo-displayer";
11
12
  export class NgDocDemoComponent {
12
13
  constructor(rootPage) {
13
14
  this.rootPage = rootPage;
14
- this.container = true;
15
+ this.options = {};
15
16
  this.assets = [];
16
17
  }
17
18
  ngOnInit() {
@@ -27,19 +28,19 @@ export class NgDocDemoComponent {
27
28
  }
28
29
  getAssets() {
29
30
  if (this.componentName) {
30
- return (this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ?? [];
31
+ return ((this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ?? []).filter((asset) => !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title));
31
32
  }
32
33
  return [];
33
34
  }
34
35
  }
35
36
  NgDocDemoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocDemoComponent, deps: [{ token: i1.NgDocRootPage }], target: i0.ɵɵFactoryTarget.Component });
36
- NgDocDemoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocDemoComponent, selector: "ng-doc-demo", inputs: { componentName: "componentName", container: "container" }, ngImport: i0, template: "<ng-container *ngIf=\"container; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group>\n\t\t\t\t\t<ng-doc-tab *ngFor=\"let asset of assets\" [label]=\"asset.title\" [content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: i3.NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }, { kind: "component", type: i4.NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "standalone"] }, { kind: "directive", type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i6.NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
+ NgDocDemoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocDemoComponent, selector: "ng-doc-demo", inputs: { componentName: "componentName", options: "options" }, ngImport: i0, template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"asset.title\"\n\t\t\t\t\t\t[content]=\"assetContent\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: i3.NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }, { kind: "component", type: i4.NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "standalone"] }, { kind: "directive", type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i6.NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocDemoComponent, decorators: [{
38
39
  type: Component,
39
- args: [{ selector: 'ng-doc-demo', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"container; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group>\n\t\t\t\t\t<ng-doc-tab *ngFor=\"let asset of assets\" [label]=\"asset.title\" [content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}\n"] }]
40
+ args: [{ selector: 'ng-doc-demo', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"asset.title\"\n\t\t\t\t\t\t[content]=\"assetContent\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}\n"] }]
40
41
  }], ctorParameters: function () { return [{ type: i1.NgDocRootPage }]; }, propDecorators: { componentName: [{
41
42
  type: Input
42
- }], container: [{
43
+ }], options: [{
43
44
  type: Input
44
45
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFHNUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBUS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFVOUIsWUFBNkIsUUFBdUI7UUFBdkIsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQUxwRCxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLFdBQU0sR0FBcUIsRUFBRSxDQUFDO0lBRXlCLENBQUM7SUFFeEQsUUFBUTtRQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxPQUFPO1FBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE1BQU0sU0FBUyxHQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRXpGLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLHFCQUFxQixDQUFDLFNBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ3BGO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQztJQUVPLFNBQVM7UUFDaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDeEY7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNYLENBQUM7OytHQWxDVyxrQkFBa0I7bUdBQWxCLGtCQUFrQix1SENaL0IsMjhCQXdCQTsyRkRaYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0MsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNO29HQUkvQyxhQUFhO3NCQURaLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdEb2NSb290UGFnZX0gZnJvbSAnQG5nLWRvYy9hcHAvY2xhc3Nlcy9yb290LXBhZ2UnO1xuaW1wb3J0IHtOZ0RvY0RlbW9Bc3NldH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge05nRG9jQ29udGVudH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1kZW1vJyxcblx0dGVtcGxhdGVVcmw6ICcuL2RlbW8uY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9kZW1vLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0RlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRASW5wdXQoKVxuXHRjb21wb25lbnROYW1lPzogc3RyaW5nO1xuXG5cdEBJbnB1dCgpXG5cdGNvbnRhaW5lcjogYm9vbGVhbiA9IHRydWU7XG5cblx0ZGVtbz86IE5nRG9jQ29udGVudDxvYmplY3Q+O1xuXHRhc3NldHM6IE5nRG9jRGVtb0Fzc2V0W10gPSBbXTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvb3RQYWdlOiBOZ0RvY1Jvb3RQYWdlKSB7fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuZGVtbyA9IHRoaXMuZ2V0RGVtbygpO1xuXHRcdHRoaXMuYXNzZXRzID0gdGhpcy5nZXRBc3NldHMoKTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0RGVtbygpOiBOZ0RvY0NvbnRlbnQ8b2JqZWN0PiB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKHRoaXMuY29tcG9uZW50TmFtZSkge1xuXHRcdFx0Y29uc3QgY29tcG9uZW50OiBUeXBlPHVua25vd24+IHwgdW5kZWZpbmVkID1cblx0XHRcdFx0dGhpcy5yb290UGFnZS5kZXBlbmRlbmNpZXM/LmRlbW8gJiYgdGhpcy5yb290UGFnZS5kZXBlbmRlbmNpZXMuZGVtb1t0aGlzLmNvbXBvbmVudE5hbWVdO1xuXG5cdFx0XHRyZXR1cm4gY29tcG9uZW50ID8gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChjb21wb25lbnQgYXMgVHlwZTxvYmplY3Q+KSA6IHVuZGVmaW5lZDtcblx0XHR9XG5cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRBc3NldHMoKTogTmdEb2NEZW1vQXNzZXRbXSB7XG5cdFx0aWYgKHRoaXMuY29tcG9uZW50TmFtZSkge1xuXHRcdFx0cmV0dXJuICh0aGlzLnJvb3RQYWdlLmRlbW9Bc3NldHMgJiYgdGhpcy5yb290UGFnZS5kZW1vQXNzZXRzW3RoaXMuY29tcG9uZW50TmFtZV0pID8/IFtdO1xuXHRcdH1cblxuXHRcdHJldHVybiBbXTtcblx0fVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRhaW5lcjsgZWxzZSBkZW1vVGVtcGxhdGVcIj5cblx0PG5nLWRvYy1kZW1vLWRpc3BsYXllciBbY29kZUNvbnRlbnRdPVwiY29kZUNvbnRlbnRcIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVtb1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0PG5nLXRlbXBsYXRlICNjb2RlQ29udGVudD5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJhc3NldHMubGVuZ3RoID09PSAxXCI+XG5cdFx0XHRcdDxuZy1kb2MtY29kZSAqbmdGb3I9XCJsZXQgYXNzZXQgb2YgYXNzZXRzXCIgW2h0bWxdPVwiYXNzZXQuY29kZVwiPjwvbmctZG9jLWNvZGU+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2V0cy5sZW5ndGggPiAxXCI+XG5cdFx0XHRcdDxuZy1kb2MtdGFiLWdyb3VwPlxuXHRcdFx0XHRcdDxuZy1kb2MtdGFiICpuZ0Zvcj1cImxldCBhc3NldCBvZiBhc3NldHNcIiBbbGFiZWxdPVwiYXNzZXQudGl0bGVcIiBbY29udGVudF09XCJhc3NldENvbnRlbnRcIj5cblx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSAjYXNzZXRDb250ZW50PlxuXHRcdFx0XHRcdFx0XHQ8bmctZG9jLWNvZGUgW2h0bWxdPVwiYXNzZXQuY29kZVwiPjwvbmctZG9jLWNvZGU+XG5cdFx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHRcdDwvbmctZG9jLXRhYj5cblx0XHRcdFx0PC9uZy1kb2MtdGFiLWdyb3VwPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0PC9uZy1kb2MtZGVtby1kaXNwbGF5ZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkZW1vVGVtcGxhdGU+XG5cdDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlbW8gPz8gJyc7IGNvbnRleHQ6IHt9XCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFNUQsT0FBTyxFQUFDLE9BQU8sRUFBeUIsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBUS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFVOUIsWUFBNkIsUUFBdUI7UUFBdkIsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQUxwRCxZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUdyQyxXQUFNLEdBQXFCLEVBQUUsQ0FBQztJQUV5QixDQUFDO0lBRXhELFFBQVE7UUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sT0FBTztRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixNQUFNLFNBQVMsR0FDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUV6RixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxTQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUNwRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFFTyxTQUFTO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQy9GLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQ3pCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQy9FLENBQUM7U0FDRjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1gsQ0FBQzs7K0dBckNXLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1IQ2IvQixxbkNBNkJBOzJGRGhCYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0MsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNO29HQUkvQyxhQUFhO3NCQURaLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdEb2NSb290UGFnZX0gZnJvbSAnQG5nLWRvYy9hcHAvY2xhc3Nlcy9yb290LXBhZ2UnO1xuaW1wb3J0IHtOZ0RvY0RlbW9Bc3NldH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge2FzQXJyYXksIE5nRG9jRGVtb0FjdGlvbk9wdGlvbnN9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5pbXBvcnQge05nRG9jQ29udGVudH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1kZW1vJyxcblx0dGVtcGxhdGVVcmw6ICcuL2RlbW8uY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9kZW1vLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0RlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRASW5wdXQoKVxuXHRjb21wb25lbnROYW1lPzogc3RyaW5nO1xuXG5cdEBJbnB1dCgpXG5cdG9wdGlvbnM6IE5nRG9jRGVtb0FjdGlvbk9wdGlvbnMgPSB7fTtcblxuXHRkZW1vPzogTmdEb2NDb250ZW50PG9iamVjdD47XG5cdGFzc2V0czogTmdEb2NEZW1vQXNzZXRbXSA9IFtdO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm9vdFBhZ2U6IE5nRG9jUm9vdFBhZ2UpIHt9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5kZW1vID0gdGhpcy5nZXREZW1vKCk7XG5cdFx0dGhpcy5hc3NldHMgPSB0aGlzLmdldEFzc2V0cygpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXREZW1vKCk6IE5nRG9jQ29udGVudDxvYmplY3Q+IHwgdW5kZWZpbmVkIHtcblx0XHRpZiAodGhpcy5jb21wb25lbnROYW1lKSB7XG5cdFx0XHRjb25zdCBjb21wb25lbnQ6IFR5cGU8dW5rbm93bj4gfCB1bmRlZmluZWQgPVxuXHRcdFx0XHR0aGlzLnJvb3RQYWdlLmRlcGVuZGVuY2llcz8uZGVtbyAmJiB0aGlzLnJvb3RQYWdlLmRlcGVuZGVuY2llcy5kZW1vW3RoaXMuY29tcG9uZW50TmFtZV07XG5cblx0XHRcdHJldHVybiBjb21wb25lbnQgPyBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KGNvbXBvbmVudCBhcyBUeXBlPG9iamVjdD4pIDogdW5kZWZpbmVkO1xuXHRcdH1cblxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHRwcml2YXRlIGdldEFzc2V0cygpOiBOZ0RvY0RlbW9Bc3NldFtdIHtcblx0XHRpZiAodGhpcy5jb21wb25lbnROYW1lKSB7XG5cdFx0XHRyZXR1cm4gKCh0aGlzLnJvb3RQYWdlLmRlbW9Bc3NldHMgJiYgdGhpcy5yb290UGFnZS5kZW1vQXNzZXRzW3RoaXMuY29tcG9uZW50TmFtZV0pID8/IFtdKS5maWx0ZXIoXG5cdFx0XHRcdChhc3NldDogTmdEb2NEZW1vQXNzZXQpID0+XG5cdFx0XHRcdFx0IXRoaXMub3B0aW9ucy50YWJzPy5sZW5ndGggfHwgYXNBcnJheSh0aGlzLm9wdGlvbnMudGFicykuaW5jbHVkZXMoYXNzZXQudGl0bGUpLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW107XG5cdH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zLmNvbnRhaW5lciA/PyB0cnVlOyBlbHNlIGRlbW9UZW1wbGF0ZVwiPlxuXHQ8bmctZG9jLWRlbW8tZGlzcGxheWVyIFtjb2RlQ29udGVudF09XCJjb2RlQ29udGVudFwiIFtleHBhbmRlZF09XCIhIW9wdGlvbnMuZXhwYW5kZWRcIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVtb1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0PG5nLXRlbXBsYXRlICNjb2RlQ29udGVudD5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJhc3NldHMubGVuZ3RoID09PSAxXCI+XG5cdFx0XHRcdDxuZy1kb2MtY29kZSAqbmdGb3I9XCJsZXQgYXNzZXQgb2YgYXNzZXRzXCIgW2h0bWxdPVwiYXNzZXQuY29kZVwiPjwvbmctZG9jLWNvZGU+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2V0cy5sZW5ndGggPiAxXCI+XG5cdFx0XHRcdDxuZy1kb2MtdGFiLWdyb3VwIFtvcGVuZWRUYWJdPVwib3B0aW9ucy5kZWZhdWx0VGFiXCI+XG5cdFx0XHRcdFx0PG5nLWRvYy10YWJcblx0XHRcdFx0XHRcdCpuZ0Zvcj1cImxldCBhc3NldCBvZiBhc3NldHNcIlxuXHRcdFx0XHRcdFx0W2lkXT1cImFzc2V0LnRpdGxlXCJcblx0XHRcdFx0XHRcdFtsYWJlbF09XCJhc3NldC50aXRsZVwiXG5cdFx0XHRcdFx0XHRbY29udGVudF09XCJhc3NldENvbnRlbnRcIlxuXHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSAjYXNzZXRDb250ZW50PlxuXHRcdFx0XHRcdFx0XHQ8bmctZG9jLWNvZGUgW2h0bWxdPVwiYXNzZXQuY29kZVwiPjwvbmctZG9jLWNvZGU+XG5cdFx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHRcdDwvbmctZG9jLXRhYj5cblx0XHRcdFx0PC9uZy1kb2MtdGFiLWdyb3VwPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0PC9uZy1kb2MtZGVtby1kaXNwbGF5ZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkZW1vVGVtcGxhdGU+XG5cdDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlbW8gPz8gJyc7IGNvbnRleHQ6IHt9XCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -24,7 +24,7 @@ export class NgDocDemoDisplayerComponent {
24
24
  }
25
25
  }
26
26
  NgDocDemoDisplayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocDemoDisplayerComponent, deps: [{ token: i1.NgDocNotifyService }, { token: i2.Clipboard }], target: i0.ɵɵFactoryTarget.Component });
27
- NgDocDemoDisplayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: { codeContent: "codeContent", code: "code", language: "language", container: "container", border: "border" }, host: { properties: { "attr.data-ng-doc-border": "this.border" } }, ngImport: i0, template: "<div class=\"ng-doc-demo-wrapper\" *ngIf=\"container; else demoTemplate\">\n\t<div class=\"ng-doc-demo-container\">\n\t\t<div class=\"ng-doc-demo\">\n\t\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t</div>\n\t\t<div class=\"ng-doc-demo-controls\">\n\t\t\t<button\n\t\t\t\tclass=\"ng-doc-copy-button\"\n\t\t\t\t*ngIf=\"!codeContent\"\n\t\t\t\tng-doc-button-icon\n\t\t\t\t(click)=\"copyCode()\"\n\t\t\t\tngDocTooltip=\"Copy code\"\n\t\t\t>\n\t\t\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\tng-doc-button-icon\n\t\t\t\t(click)=\"expanded = !expanded\"\n\t\t\t\t[toggled]=\"expanded\"\n\t\t\t\t[ngDocTooltip]=\"(expanded ? 'Hide' : 'Show') + ' code'\"\n\t\t\t>\n\t\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t<ng-doc-expander [content]=\"codeContent ? codeContent : expanderContent\" [expanded]=\"expanded\">\n\t\t<ng-template #expanderContent>\n\t\t\t<ng-doc-code [copyButton]=\"false\" [standalone]=\"false\">\n\t\t\t\t<pre>\n\t\t\t\t\t<code [ngDocCodeHighlighter]=\"code\" [language]=\"'html'\"></code>\n\t\t\t\t</pre>\n\t\t\t</ng-doc-code>\n\t\t</ng-template>\n\t</ng-doc-expander>\n</div>\n\n<ng-template #demoTemplate>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0}:host[data-ng-doc-border=true]{border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius)}:host .ng-doc-demo-wrapper{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container{display:flex;justify-content:flex-start;width:100%;padding:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo-controls{flex-shrink:0;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.NgDocExpanderComponent, selector: "ng-doc-expander", inputs: ["expanded", "content", "from"] }, { kind: "component", type: i4.NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "standalone"] }, { kind: "component", type: i1.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "toggled", "rounded"] }, { kind: "component", type: i1.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i1.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: i5.NgDocCodeHighlighterDirective, selector: "code[ngDocCodeHighlighter]", inputs: ["ngDocCodeHighlighter", "html", "language"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
+ NgDocDemoDisplayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: { codeContent: "codeContent", code: "code", language: "language", container: "container", border: "border", expanded: "expanded" }, host: { properties: { "attr.data-ng-doc-border": "this.border" } }, ngImport: i0, template: "<div class=\"ng-doc-demo-wrapper\" *ngIf=\"container; else demoTemplate\">\n\t<div class=\"ng-doc-demo-container\">\n\t\t<div class=\"ng-doc-demo\">\n\t\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t</div>\n\t\t<div class=\"ng-doc-demo-controls\">\n\t\t\t<button\n\t\t\t\tclass=\"ng-doc-copy-button\"\n\t\t\t\t*ngIf=\"!codeContent\"\n\t\t\t\tng-doc-button-icon\n\t\t\t\t(click)=\"copyCode()\"\n\t\t\t\tngDocTooltip=\"Copy code\"\n\t\t\t>\n\t\t\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\tng-doc-button-icon\n\t\t\t\t(click)=\"expanded = !expanded\"\n\t\t\t\t[toggled]=\"expanded\"\n\t\t\t\t[ngDocTooltip]=\"(expanded ? 'Hide' : 'Show') + ' code'\"\n\t\t\t>\n\t\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t<ng-doc-expander [content]=\"codeContent ? codeContent : expanderContent\" [expanded]=\"expanded\">\n\t\t<ng-template #expanderContent>\n\t\t\t<ng-doc-code [copyButton]=\"false\" [standalone]=\"false\">\n\t\t\t\t<pre>\n\t\t\t\t\t<code [ngDocCodeHighlighter]=\"code\" [language]=\"'html'\"></code>\n\t\t\t\t</pre>\n\t\t\t</ng-doc-code>\n\t\t</ng-template>\n\t</ng-doc-expander>\n</div>\n\n<ng-template #demoTemplate>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0}:host[data-ng-doc-border=true]{border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius)}:host .ng-doc-demo-wrapper{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container{display:flex;justify-content:flex-start;width:100%;padding:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo-controls{flex-shrink:0;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.NgDocExpanderComponent, selector: "ng-doc-expander", inputs: ["expanded", "content", "from"] }, { kind: "component", type: i4.NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "standalone"] }, { kind: "component", type: i1.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "toggled", "rounded"] }, { kind: "component", type: i1.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i1.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: i5.NgDocCodeHighlighterDirective, selector: "code[ngDocCodeHighlighter]", inputs: ["ngDocCodeHighlighter", "html", "language"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocDemoDisplayerComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: 'ng-doc-demo-displayer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-demo-wrapper\" *ngIf=\"container; else demoTemplate\">\n\t<div class=\"ng-doc-demo-container\">\n\t\t<div class=\"ng-doc-demo\">\n\t\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t</div>\n\t\t<div class=\"ng-doc-demo-controls\">\n\t\t\t<button\n\t\t\t\tclass=\"ng-doc-copy-button\"\n\t\t\t\t*ngIf=\"!codeContent\"\n\t\t\t\tng-doc-button-icon\n\t\t\t\t(click)=\"copyCode()\"\n\t\t\t\tngDocTooltip=\"Copy code\"\n\t\t\t>\n\t\t\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\tng-doc-button-icon\n\t\t\t\t(click)=\"expanded = !expanded\"\n\t\t\t\t[toggled]=\"expanded\"\n\t\t\t\t[ngDocTooltip]=\"(expanded ? 'Hide' : 'Show') + ' code'\"\n\t\t\t>\n\t\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t<ng-doc-expander [content]=\"codeContent ? codeContent : expanderContent\" [expanded]=\"expanded\">\n\t\t<ng-template #expanderContent>\n\t\t\t<ng-doc-code [copyButton]=\"false\" [standalone]=\"false\">\n\t\t\t\t<pre>\n\t\t\t\t\t<code [ngDocCodeHighlighter]=\"code\" [language]=\"'html'\"></code>\n\t\t\t\t</pre>\n\t\t\t</ng-doc-code>\n\t\t</ng-template>\n\t</ng-doc-expander>\n</div>\n\n<ng-template #demoTemplate>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0}:host[data-ng-doc-border=true]{border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius)}:host .ng-doc-demo-wrapper{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container{display:flex;justify-content:flex-start;width:100%;padding:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo-controls{flex-shrink:0;margin-left:auto}\n"] }]
@@ -41,5 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
41
41
  }, {
42
42
  type: HostBinding,
43
43
  args: ['attr.data-ng-doc-border']
44
+ }], expanded: [{
45
+ type: Input
44
46
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby1kaXNwbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9kZW1vLWRpc3BsYXllci9kZW1vLWRpc3BsYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8tZGlzcGxheWVyL2RlbW8tZGlzcGxheWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFlLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFRaEUsTUFBTSxPQUFPLDJCQUEyQjtJQW1CdkMsWUFBNkIsYUFBaUMsRUFBbUIsU0FBb0I7UUFBeEUsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQW1CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFqQnJHLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUcvQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBR2xCLGFBQVEsR0FBVyxZQUFZLENBQUM7UUFHaEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUkxQixXQUFNLEdBQVksSUFBSSxDQUFDO1FBRXZCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFFOEUsQ0FBQztJQUV6RyxRQUFRO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O3dIQXhCVywyQkFBMkI7NEdBQTNCLDJCQUEyQix1UENWeEMsbXdDQXVDQTsyRkQ3QmEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNDLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtpSUFJL0MsV0FBVztzQkFEVixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUtOLE1BQU07c0JBRkwsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nRG9jQ29udGVudCwgTmdEb2NOb3RpZnlTZXJ2aWNlfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1kZW1vLWRpc3BsYXllcicsXG5cdHRlbXBsYXRlVXJsOiAnLi9kZW1vLWRpc3BsYXllci5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2RlbW8tZGlzcGxheWVyLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0RlbW9EaXNwbGF5ZXJDb21wb25lbnQge1xuXHRASW5wdXQoKVxuXHRjb2RlQ29udGVudDogTmdEb2NDb250ZW50ID0gJyc7XG5cblx0QElucHV0KClcblx0Y29kZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0bGFuZ3VhZ2U6IHN0cmluZyA9ICd0eXBlc2NyaXB0JztcblxuXHRASW5wdXQoKVxuXHRjb250YWluZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG5cdEBJbnB1dCgpXG5cdEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW5nLWRvYy1ib3JkZXInKVxuXHRib3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG5cdGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBub3RpZnlTZXJ2aWNlOiBOZ0RvY05vdGlmeVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQpIHt9XG5cblx0Y29weUNvZGUoKTogdm9pZCB7XG5cdFx0dGhpcy5jbGlwYm9hcmQuY29weSh0aGlzLmNvZGUpO1xuXHRcdHRoaXMubm90aWZ5U2VydmljZS5ub3RpZnkoJ0NvcGllZCEnKTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cIm5nLWRvYy1kZW1vLXdyYXBwZXJcIiAqbmdJZj1cImNvbnRhaW5lcjsgZWxzZSBkZW1vVGVtcGxhdGVcIj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1kZW1vLWNvbnRhaW5lclwiPlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtZGVtb1wiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlbW9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtZGVtby1jb250cm9sc1wiPlxuXHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRjbGFzcz1cIm5nLWRvYy1jb3B5LWJ1dHRvblwiXG5cdFx0XHRcdCpuZ0lmPVwiIWNvZGVDb250ZW50XCJcblx0XHRcdFx0bmctZG9jLWJ1dHRvbi1pY29uXG5cdFx0XHRcdChjbGljayk9XCJjb3B5Q29kZSgpXCJcblx0XHRcdFx0bmdEb2NUb29sdGlwPVwiQ29weSBjb2RlXCJcblx0XHRcdD5cblx0XHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJjb3B5XCI+PC9uZy1kb2MtaWNvbj5cblx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRuZy1kb2MtYnV0dG9uLWljb25cblx0XHRcdFx0KGNsaWNrKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkXCJcblx0XHRcdFx0W3RvZ2dsZWRdPVwiZXhwYW5kZWRcIlxuXHRcdFx0XHRbbmdEb2NUb29sdGlwXT1cIihleHBhbmRlZCA/ICdIaWRlJyA6ICdTaG93JykgKyAnIGNvZGUnXCJcblx0XHRcdD5cblx0XHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJjb2RlXCI+PC9uZy1kb2MtaWNvbj5cblx0XHRcdDwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cblx0PG5nLWRvYy1leHBhbmRlciBbY29udGVudF09XCJjb2RlQ29udGVudCA/IGNvZGVDb250ZW50IDogZXhwYW5kZXJDb250ZW50XCIgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCI+XG5cdFx0PG5nLXRlbXBsYXRlICNleHBhbmRlckNvbnRlbnQ+XG5cdFx0XHQ8bmctZG9jLWNvZGUgW2NvcHlCdXR0b25dPVwiZmFsc2VcIiBbc3RhbmRhbG9uZV09XCJmYWxzZVwiPlxuXHRcdFx0XHQ8cHJlPlxuXHRcdFx0XHRcdDxjb2RlIFtuZ0RvY0NvZGVIaWdobGlnaHRlcl09XCJjb2RlXCIgW2xhbmd1YWdlXT1cIidodG1sJ1wiPjwvY29kZT5cblx0XHRcdFx0PC9wcmU+XG5cdFx0XHQ8L25nLWRvYy1jb2RlPlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdDwvbmctZG9jLWV4cGFuZGVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVtb1RlbXBsYXRlPlxuXHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby1kaXNwbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9kZW1vLWRpc3BsYXllci9kZW1vLWRpc3BsYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8tZGlzcGxheWVyL2RlbW8tZGlzcGxheWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFlLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFRaEUsTUFBTSxPQUFPLDJCQUEyQjtJQW9CdkMsWUFBNkIsYUFBaUMsRUFBbUIsU0FBb0I7UUFBeEUsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQW1CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFsQnJHLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUcvQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBR2xCLGFBQVEsR0FBVyxZQUFZLENBQUM7UUFHaEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUkxQixXQUFNLEdBQVksSUFBSSxDQUFDO1FBR3ZCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFFOEUsQ0FBQztJQUV6RyxRQUFRO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O3dIQXpCVywyQkFBMkI7NEdBQTNCLDJCQUEyQiw2UUNWeEMsbXdDQXVDQTsyRkQ3QmEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNDLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtpSUFJL0MsV0FBVztzQkFEVixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUtOLE1BQU07c0JBRkwsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBSXRDLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdEb2NDb250ZW50LCBOZ0RvY05vdGlmeVNlcnZpY2V9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLWRlbW8tZGlzcGxheWVyJyxcblx0dGVtcGxhdGVVcmw6ICcuL2RlbW8tZGlzcGxheWVyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vZGVtby1kaXNwbGF5ZXIuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudCB7XG5cdEBJbnB1dCgpXG5cdGNvZGVDb250ZW50OiBOZ0RvY0NvbnRlbnQgPSAnJztcblxuXHRASW5wdXQoKVxuXHRjb2RlOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRsYW5ndWFnZTogc3RyaW5nID0gJ3R5cGVzY3JpcHQnO1xuXG5cdEBJbnB1dCgpXG5cdGNvbnRhaW5lcjogYm9vbGVhbiA9IHRydWU7XG5cblx0QElucHV0KClcblx0QEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbmctZG9jLWJvcmRlcicpXG5cdGJvcmRlcjogYm9vbGVhbiA9IHRydWU7XG5cblx0QElucHV0KClcblx0ZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5vdGlmeVNlcnZpY2U6IE5nRG9jTm90aWZ5U2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCkge31cblxuXHRjb3B5Q29kZSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMuY29kZSk7XG5cdFx0dGhpcy5ub3RpZnlTZXJ2aWNlLm5vdGlmeSgnQ29waWVkIScpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmctZG9jLWRlbW8td3JhcHBlclwiICpuZ0lmPVwiY29udGFpbmVyOyBlbHNlIGRlbW9UZW1wbGF0ZVwiPlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLWRlbW8tY29udGFpbmVyXCI+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1kZW1vXCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVtb1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1kZW1vLWNvbnRyb2xzXCI+XG5cdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdGNsYXNzPVwibmctZG9jLWNvcHktYnV0dG9uXCJcblx0XHRcdFx0Km5nSWY9XCIhY29kZUNvbnRlbnRcIlxuXHRcdFx0XHRuZy1kb2MtYnV0dG9uLWljb25cblx0XHRcdFx0KGNsaWNrKT1cImNvcHlDb2RlKClcIlxuXHRcdFx0XHRuZ0RvY1Rvb2x0aXA9XCJDb3B5IGNvZGVcIlxuXHRcdFx0PlxuXHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cImNvcHlcIj48L25nLWRvYy1pY29uPlxuXHRcdFx0PC9idXR0b24+XG5cdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdFx0XHQoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWRcIlxuXHRcdFx0XHRbdG9nZ2xlZF09XCJleHBhbmRlZFwiXG5cdFx0XHRcdFtuZ0RvY1Rvb2x0aXBdPVwiKGV4cGFuZGVkID8gJ0hpZGUnIDogJ1Nob3cnKSArICcgY29kZSdcIlxuXHRcdFx0PlxuXHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cImNvZGVcIj48L25nLWRvYy1pY29uPlxuXHRcdFx0PC9idXR0b24+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuXHQ8bmctZG9jLWV4cGFuZGVyIFtjb250ZW50XT1cImNvZGVDb250ZW50ID8gY29kZUNvbnRlbnQgOiBleHBhbmRlckNvbnRlbnRcIiBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cblx0XHQ8bmctdGVtcGxhdGUgI2V4cGFuZGVyQ29udGVudD5cblx0XHRcdDxuZy1kb2MtY29kZSBbY29weUJ1dHRvbl09XCJmYWxzZVwiIFtzdGFuZGFsb25lXT1cImZhbHNlXCI+XG5cdFx0XHRcdDxwcmU+XG5cdFx0XHRcdFx0PGNvZGUgW25nRG9jQ29kZUhpZ2hsaWdodGVyXT1cImNvZGVcIiBbbGFuZ3VhZ2VdPVwiJ2h0bWwnXCI+PC9jb2RlPlxuXHRcdFx0XHQ8L3ByZT5cblx0XHRcdDwvbmctZG9jLWNvZGU+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0PC9uZy1kb2MtZXhwYW5kZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkZW1vVGVtcGxhdGU+XG5cdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -53,7 +53,7 @@ let NgDocNavbarComponent = class NgDocNavbarComponent {
53
53
  }
54
54
  };
55
55
  NgDocNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocNavbarComponent, deps: [{ token: WINDOW }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.NgDocSidebarService }], target: i0.ɵɵFactoryTarget.Component });
56
- NgDocNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocNavbarComponent, selector: "ng-doc-navbar", inputs: { leftContent: "leftContent", centerContent: "centerContent", rightContent: "rightContent", search: "search" }, host: { properties: { "class.has-shadow": "this.hasShadow" } }, ngImport: i0, template: "<div class=\"navbar-container\" *ngDocLet=\"sidebarService.isCollapsable() | async as isCollapsable\">\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-doc-search *ngIf=\"search && !isCollapsable\"></ng-doc-search>\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t<ng-doc-search *ngIf=\"search && isCollapsable\" mod=\"icon\"></ng-doc-search>\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=\"isCollapsable\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\"\n\t\t>\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{-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px)}:host:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.4}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{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;align-items:center;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}:host .ng-doc-navbar-left{justify-content:flex-start;width:var(--ng-doc-navbar-left-width);flex-shrink:0}:host .ng-doc-navbar-center{padding-left:calc(var(--ng-doc-base-gutter) * 4);justify-content:flex-start;width:100%}:host .ng-doc-navbar-right{justify-content:flex-end}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i4.NgDocSearchComponent, selector: "ng-doc-search", inputs: ["mod"] }, { kind: "component", type: i5.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "toggled", "rounded"] }, { kind: "component", type: i5.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i5.NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
+ NgDocNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocNavbarComponent, selector: "ng-doc-navbar", inputs: { leftContent: "leftContent", centerContent: "centerContent", rightContent: "rightContent", search: "search" }, host: { properties: { "class.has-shadow": "this.hasShadow" } }, ngImport: i0, template: "<div class=\"navbar-container\" *ngDocLet=\"sidebarService.isCollapsable() | async as isCollapsable\">\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-doc-search *ngIf=\"search && !isCollapsable\"></ng-doc-search>\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t<ng-doc-search *ngIf=\"search && isCollapsable\" mod=\"icon\"></ng-doc-search>\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=\"isCollapsable\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\"\n\t\t>\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{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:host:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.4}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{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;align-items:center;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}:host .ng-doc-navbar-left{justify-content:flex-start;width:var(--ng-doc-navbar-left-width);flex-shrink:0}:host .ng-doc-navbar-center{padding-left:calc(var(--ng-doc-base-gutter) * 4);justify-content:flex-start;width:100%}:host .ng-doc-navbar-right{justify-content:flex-end}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i4.NgDocSearchComponent, selector: "ng-doc-search", inputs: ["mod"] }, { kind: "component", type: i5.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "toggled", "rounded"] }, { kind: "component", type: i5.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i5.NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
57
  NgDocNavbarComponent = __decorate([
58
58
  UntilDestroy(),
59
59
  __metadata("design:paramtypes", [Window,
@@ -64,7 +64,7 @@ NgDocNavbarComponent = __decorate([
64
64
  export { NgDocNavbarComponent };
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocNavbarComponent, decorators: [{
66
66
  type: Component,
67
- args: [{ selector: 'ng-doc-navbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"navbar-container\" *ngDocLet=\"sidebarService.isCollapsable() | async as isCollapsable\">\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-doc-search *ngIf=\"search && !isCollapsable\"></ng-doc-search>\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t<ng-doc-search *ngIf=\"search && isCollapsable\" mod=\"icon\"></ng-doc-search>\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=\"isCollapsable\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\"\n\t\t>\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{-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px)}:host:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.4}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{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;align-items:center;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}:host .ng-doc-navbar-left{justify-content:flex-start;width:var(--ng-doc-navbar-left-width);flex-shrink:0}:host .ng-doc-navbar-center{padding-left:calc(var(--ng-doc-base-gutter) * 4);justify-content:flex-start;width:100%}:host .ng-doc-navbar-right{justify-content:flex-end}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}\n"] }]
67
+ args: [{ selector: 'ng-doc-navbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"navbar-container\" *ngDocLet=\"sidebarService.isCollapsable() | async as isCollapsable\">\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-doc-search *ngIf=\"search && !isCollapsable\"></ng-doc-search>\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t<ng-doc-search *ngIf=\"search && isCollapsable\" mod=\"icon\"></ng-doc-search>\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=\"isCollapsable\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\"\n\t\t>\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{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:host:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.4}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{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;align-items:center;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}:host .ng-doc-navbar-left{justify-content:flex-start;width:var(--ng-doc-navbar-left-width);flex-shrink:0}:host .ng-doc-navbar-center{padding-left:calc(var(--ng-doc-base-gutter) * 4);justify-content:flex-start;width:100%}:host .ng-doc-navbar-right{justify-content:flex-end}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}\n"] }]
68
68
  }], ctorParameters: function () { return [{ type: Window, decorators: [{
69
69
  type: Inject,
70
70
  args: [WINDOW]
@@ -88,7 +88,7 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
88
88
  }
89
89
  };
90
90
  NgDocPlaygroundDemoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocPlaygroundDemoComponent, deps: [{ token: i1.NgDocRootPage }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
91
- NgDocPlaygroundDemoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocPlaygroundDemoComponent, selector: "ng-doc-playground-demo", inputs: { id: "id", selector: "selector", configuration: "configuration", properties: "properties", recreateDemo: "recreateDemo", form: "form" }, viewQueries: [{ propertyName: "demoOutlet", first: true, predicate: ["demoOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-doc-demo-displayer [code]=\"(code | async) ?? ''\" [border]=\"false\" language=\"html\">\n\t<ng-container #demoOutlet></ng-container>\n</ng-doc-demo-displayer>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"], dependencies: [{ kind: "component", type: i2.NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
+ NgDocPlaygroundDemoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocPlaygroundDemoComponent, selector: "ng-doc-playground-demo", inputs: { id: "id", selector: "selector", configuration: "configuration", properties: "properties", recreateDemo: "recreateDemo", form: "form" }, viewQueries: [{ propertyName: "demoOutlet", first: true, predicate: ["demoOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-doc-demo-displayer [code]=\"(code | async) ?? ''\" [border]=\"false\" language=\"html\">\n\t<ng-container #demoOutlet></ng-container>\n</ng-doc-demo-displayer>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"], dependencies: [{ kind: "component", type: i2.NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
92
  NgDocPlaygroundDemoComponent = __decorate([
93
93
  UntilDestroy(),
94
94
  __metadata("design:paramtypes", [NgDocRootPage, Injector])
@@ -107,7 +107,7 @@ let NgDocRootComponent = class NgDocRootComponent {
107
107
  }
108
108
  };
109
109
  NgDocRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocRootComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.Router }, { token: i2.Location }, { token: i3.BreakpointObserver }, { token: i4.NgDocSidebarService }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component });
110
- NgDocRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocRootComponent, selector: "ng-doc-root", providers: [], ngImport: i0, template: "<div class=\"ng-doc-root-wrapper\" [class.collapsable]=\"sidebarService.isCollapsable() | async\">\n\t<div class=\"ng-doc-header\">\n\t\t<ng-content select=\"ng-doc-navbar\"></ng-content>\n\t\t<ng-content select=\"[ngDocCustomNavbar]\"></ng-content>\n\t</div>\n\t<main>\n\t\t<div class=\"ng-doc-sidebar\" [class.visible]=\"sidebarService.visibilityChanges() | async\">\n\t\t\t<ng-content select=\"ng-doc-sidebar\"></ng-content>\n\t\t\t<ng-content select=\"[ngDocCustomSidebar]\"></ng-content>\n\t\t</div>\n\t\t<div class=\"ng-doc-body\">\n\t\t\t<div\n\t\t\t\tclass=\"ng-doc-backdrop\"\n\t\t\t\t@fadeAnimation\n\t\t\t\t*ngIf=\"sidebarService.isExpanded() | async\"\n\t\t\t\t(click)=\"sidebarService.hide()\"\n\t\t\t></div>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</main>\n</div>\n", styles: [":host .ng-doc-root-wrapper.collapsable{--ng-doc-navbar-left-width: auto}:host .ng-doc-root-wrapper.collapsable .ng-doc-sidebar{right:calc(var(--ng-doc-sidebar-width) * -1);transition:.22s cubic-bezier(.25,.8,.25,1);--ng-doc-sidebar-shadow: var(--ng-doc-shadow-color) 0px 5px 20px -5px}:host .ng-doc-root-wrapper.collapsable .ng-doc-sidebar.visible{right:0}:host .ng-doc-root-wrapper.collapsable .ng-doc-body{margin-left:0;padding:calc(var(--ng-doc-base-gutter) * 3) calc(var(--ng-doc-base-gutter) * 3)}:host .ng-doc-root-wrapper main{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding-top:var(--ng-doc-navbar-height)}:host .ng-doc-root-wrapper .ng-doc-header{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}:host .ng-doc-root-wrapper .ng-doc-sidebar{position:fixed;top:var(--ng-doc-navbar-height);display:flex;width:var(--ng-doc-sidebar-width);z-index:5}:host .ng-doc-root-wrapper .ng-doc-body{width:100%;margin-left:var(--ng-doc-sidebar-width);padding:calc(var(--ng-doc-base-gutter) * 3) calc(var(--ng-doc-base-gutter) * 4);overflow:auto;background-color:var(--ng-doc-base-0)}:host .ng-doc-backdrop{position:fixed;left:0;top:0;width:100%;height:100%;z-index:1}:host .ng-doc-backdrop{-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px)}:host .ng-doc-backdrop:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;opacity:.4}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host .ng-doc-backdrop{background-color:#0003}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [fadeAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
+ NgDocRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgDocRootComponent, selector: "ng-doc-root", providers: [], ngImport: i0, template: "<div class=\"ng-doc-root-wrapper\" [class.collapsable]=\"sidebarService.isCollapsable() | async\">\n\t<div class=\"ng-doc-header\">\n\t\t<ng-content select=\"ng-doc-navbar\"></ng-content>\n\t\t<ng-content select=\"[ngDocCustomNavbar]\"></ng-content>\n\t</div>\n\t<main>\n\t\t<div class=\"ng-doc-sidebar\" [class.visible]=\"sidebarService.visibilityChanges() | async\">\n\t\t\t<ng-content select=\"ng-doc-sidebar\"></ng-content>\n\t\t\t<ng-content select=\"[ngDocCustomSidebar]\"></ng-content>\n\t\t</div>\n\t\t<div class=\"ng-doc-body\">\n\t\t\t<div\n\t\t\t\tclass=\"ng-doc-backdrop\"\n\t\t\t\t@fadeAnimation\n\t\t\t\t*ngIf=\"sidebarService.isExpanded() | async\"\n\t\t\t\t(click)=\"sidebarService.hide()\"\n\t\t\t></div>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</main>\n</div>\n", styles: [":host .ng-doc-root-wrapper.collapsable{--ng-doc-navbar-left-width: auto}:host .ng-doc-root-wrapper.collapsable .ng-doc-sidebar{right:calc(var(--ng-doc-sidebar-width) * -1);transition:.22s cubic-bezier(.25,.8,.25,1);--ng-doc-sidebar-shadow: var(--ng-doc-shadow-color) 0px 5px 20px -5px}:host .ng-doc-root-wrapper.collapsable .ng-doc-sidebar.visible{right:0}:host .ng-doc-root-wrapper.collapsable .ng-doc-body{margin-left:0;padding:calc(var(--ng-doc-base-gutter) * 3) calc(var(--ng-doc-base-gutter) * 3)}:host .ng-doc-root-wrapper main{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding-top:var(--ng-doc-navbar-height)}:host .ng-doc-root-wrapper .ng-doc-header{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}:host .ng-doc-root-wrapper .ng-doc-sidebar{position:fixed;top:var(--ng-doc-navbar-height);display:flex;width:var(--ng-doc-sidebar-width);z-index:5}:host .ng-doc-root-wrapper .ng-doc-body{width:100%;margin-left:var(--ng-doc-sidebar-width);padding:calc(var(--ng-doc-base-gutter) * 3) calc(var(--ng-doc-base-gutter) * 4);overflow:auto;background-color:var(--ng-doc-base-0)}:host .ng-doc-backdrop{position:fixed;left:0;top:0;width:100%;height:100%;z-index:1}:host .ng-doc-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:host .ng-doc-backdrop:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;opacity:.4}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host .ng-doc-backdrop{background-color:#0003}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [fadeAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
111
  NgDocRootComponent = __decorate([
112
112
  UntilDestroy(),
113
113
  __metadata("design:paramtypes", [ElementRef,
@@ -121,9 +121,9 @@ NgDocRootComponent = __decorate([
121
121
  export { NgDocRootComponent };
122
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgDocRootComponent, decorators: [{
123
123
  type: Component,
124
- args: [{ animations: [fadeAnimation], selector: 'ng-doc-root', providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-root-wrapper\" [class.collapsable]=\"sidebarService.isCollapsable() | async\">\n\t<div class=\"ng-doc-header\">\n\t\t<ng-content select=\"ng-doc-navbar\"></ng-content>\n\t\t<ng-content select=\"[ngDocCustomNavbar]\"></ng-content>\n\t</div>\n\t<main>\n\t\t<div class=\"ng-doc-sidebar\" [class.visible]=\"sidebarService.visibilityChanges() | async\">\n\t\t\t<ng-content select=\"ng-doc-sidebar\"></ng-content>\n\t\t\t<ng-content select=\"[ngDocCustomSidebar]\"></ng-content>\n\t\t</div>\n\t\t<div class=\"ng-doc-body\">\n\t\t\t<div\n\t\t\t\tclass=\"ng-doc-backdrop\"\n\t\t\t\t@fadeAnimation\n\t\t\t\t*ngIf=\"sidebarService.isExpanded() | async\"\n\t\t\t\t(click)=\"sidebarService.hide()\"\n\t\t\t></div>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</main>\n</div>\n", styles: [":host .ng-doc-root-wrapper.collapsable{--ng-doc-navbar-left-width: auto}:host .ng-doc-root-wrapper.collapsable .ng-doc-sidebar{right:calc(var(--ng-doc-sidebar-width) * -1);transition:.22s cubic-bezier(.25,.8,.25,1);--ng-doc-sidebar-shadow: var(--ng-doc-shadow-color) 0px 5px 20px -5px}:host .ng-doc-root-wrapper.collapsable .ng-doc-sidebar.visible{right:0}:host .ng-doc-root-wrapper.collapsable .ng-doc-body{margin-left:0;padding:calc(var(--ng-doc-base-gutter) * 3) calc(var(--ng-doc-base-gutter) * 3)}:host .ng-doc-root-wrapper main{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding-top:var(--ng-doc-navbar-height)}:host .ng-doc-root-wrapper .ng-doc-header{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}:host .ng-doc-root-wrapper .ng-doc-sidebar{position:fixed;top:var(--ng-doc-navbar-height);display:flex;width:var(--ng-doc-sidebar-width);z-index:5}:host .ng-doc-root-wrapper .ng-doc-body{width:100%;margin-left:var(--ng-doc-sidebar-width);padding:calc(var(--ng-doc-base-gutter) * 3) calc(var(--ng-doc-base-gutter) * 4);overflow:auto;background-color:var(--ng-doc-base-0)}:host .ng-doc-backdrop{position:fixed;left:0;top:0;width:100%;height:100%;z-index:1}:host .ng-doc-backdrop{-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px)}:host .ng-doc-backdrop:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;opacity:.4}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host .ng-doc-backdrop{background-color:#0003}}\n"] }]
124
+ args: [{ animations: [fadeAnimation], selector: 'ng-doc-root', providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-root-wrapper\" [class.collapsable]=\"sidebarService.isCollapsable() | async\">\n\t<div class=\"ng-doc-header\">\n\t\t<ng-content select=\"ng-doc-navbar\"></ng-content>\n\t\t<ng-content select=\"[ngDocCustomNavbar]\"></ng-content>\n\t</div>\n\t<main>\n\t\t<div class=\"ng-doc-sidebar\" [class.visible]=\"sidebarService.visibilityChanges() | async\">\n\t\t\t<ng-content select=\"ng-doc-sidebar\"></ng-content>\n\t\t\t<ng-content select=\"[ngDocCustomSidebar]\"></ng-content>\n\t\t</div>\n\t\t<div class=\"ng-doc-body\">\n\t\t\t<div\n\t\t\t\tclass=\"ng-doc-backdrop\"\n\t\t\t\t@fadeAnimation\n\t\t\t\t*ngIf=\"sidebarService.isExpanded() | async\"\n\t\t\t\t(click)=\"sidebarService.hide()\"\n\t\t\t></div>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</main>\n</div>\n", styles: [":host .ng-doc-root-wrapper.collapsable{--ng-doc-navbar-left-width: auto}:host .ng-doc-root-wrapper.collapsable .ng-doc-sidebar{right:calc(var(--ng-doc-sidebar-width) * -1);transition:.22s cubic-bezier(.25,.8,.25,1);--ng-doc-sidebar-shadow: var(--ng-doc-shadow-color) 0px 5px 20px -5px}:host .ng-doc-root-wrapper.collapsable .ng-doc-sidebar.visible{right:0}:host .ng-doc-root-wrapper.collapsable .ng-doc-body{margin-left:0;padding:calc(var(--ng-doc-base-gutter) * 3) calc(var(--ng-doc-base-gutter) * 3)}:host .ng-doc-root-wrapper main{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding-top:var(--ng-doc-navbar-height)}:host .ng-doc-root-wrapper .ng-doc-header{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}:host .ng-doc-root-wrapper .ng-doc-sidebar{position:fixed;top:var(--ng-doc-navbar-height);display:flex;width:var(--ng-doc-sidebar-width);z-index:5}:host .ng-doc-root-wrapper .ng-doc-body{width:100%;margin-left:var(--ng-doc-sidebar-width);padding:calc(var(--ng-doc-base-gutter) * 3) calc(var(--ng-doc-base-gutter) * 4);overflow:auto;background-color:var(--ng-doc-base-0)}:host .ng-doc-backdrop{position:fixed;left:0;top:0;width:100%;height:100%;z-index:1}:host .ng-doc-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:host .ng-doc-backdrop:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;opacity:.4}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host .ng-doc-backdrop{background-color:#0003}}\n"] }]
125
125
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.Router }, { type: i2.Location }, { type: i3.BreakpointObserver }, { type: i4.NgDocSidebarService }, { type: Window, decorators: [{
126
126
  type: Inject,
127
127
  args: [WINDOW]
128
128
  }] }]; } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3Jvb3Qvcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3Jvb3Qvcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRXRDOzs7Ozs7Ozs7Ozs7R0FZRztBQUlILE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7aUJB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QkFDSixDQUFDLENBQUMsQ0FBQzt5QkFDSDtxQkFDRDtpQkFDRDthQUNEO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQVk7UUFDbEMsT0FBTyxLQUFLLFlBQVksWUFBWSxDQUFDO0lBQ3RDLENBQUM7OytHQXpEVyxrQkFBa0IscUxBUXJCLE1BQU07bUdBUkgsa0JBQWtCLHNDQUpuQixFQUFFLDBCQ3JEZCxxeEJBcUJBLG94REQ0QmEsQ0FBQyxhQUFhLENBQUM7QUFRZixrQkFBa0I7SUFEOUIsWUFBWSxFQUFFO3FDQUdnQixVQUFVO1FBQ2QsTUFBTTtRQUNOLE1BQU07UUFDSixRQUFRO1FBQ0Usa0JBQWtCO1FBQ3BCLG1CQUFtQjtRQUU3QixNQUFNO0dBVHBCLGtCQUFrQixDQTBEOUI7U0ExRFksa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBVDlCLFNBQVM7aUNBQ0csQ0FBQyxhQUFhLENBQUMsWUFDakIsYUFBYSxhQUdaLEVBQUUsbUJBQ0ksdUJBQXVCLENBQUMsTUFBTTs7MEJBVzdDLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2lzRXh0ZXJuYWxMaW5rfSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzL2lzLWV4dGVybmFsLWxpbmsnO1xuaW1wb3J0IHtOZ0RvY1NpZGViYXJTZXJ2aWNlfSBmcm9tICdAbmctZG9jL2FwcC9zZXJ2aWNlcyc7XG5pbXBvcnQge2ZhZGVBbmltYXRpb24sIG5nRG9jWm9uZURldGFjaH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdXNlcyBmb3IgcHJvdmlkaW5nIGN1c3RvbSBuYXZiYXIsIHlvdSBzaG91bGQgbWFyayBlbGVtZW50IHdpdGggdGhpcyBkaXJlY3RpdmVcbiAqIGFuZCB0aGUgYE5nRG9jUm9vdENvbXBvbmVudGAgd2lsbCB1c2UgaXQgYXMgYSBuYXZiYXJcbiAqXG4gKiBgYGBodG1sXG4gKiA8bmctZG9jLXJvb3Q+XG4gKiAgICAgPG15LWN1c3RvbS1uYXZiYXIgbmdEb2NDdXN0b21OYXZiYXI+PC9teS1jdXN0b20tbmF2YmFyPlxuICpcbiAqICAgICA8bmctZG9jLXNpZGViYXI+PC9uZy1kb2Mtc2lkZWJhcj5cbiAqICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gKiA8L25nLWRvYy1yb290PlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tuZ0RvY0N1c3RvbU5hdmJhcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0N1c3RvbU5hdmJhckRpcmVjdGl2ZSB7fVxuXG4vKipcbiAqIERpcmVjdGl2ZSB1c2VzIGZvciBwcm92aWRpbmcgY3VzdG9tIHNpZGViYXIsIHlvdSBzaG91bGQgbWFyayBlbGVtZW50IHdpdGggdGhpcyBkaXJlY3RpdmVcbiAqIGFuZCB0aGUgYE5nRG9jUm9vdENvbXBvbmVudGAgd2lsbCB1c2UgaXQgYXMgYSBzaWRlYmFyXG4gKlxuICogYGBgaHRtbFxuICogPG5nLWRvYy1yb290PlxuICogICAgIDxuZy1kb2MtbmF2YmFyPjwvbmctZG9jLXNpZGViYXI+XG4gKlxuICogICAgIDxteS1jdXN0b20tc2lkZWJhciBuZ0RvY0N1c3RvbVNpZGViYXI+PC9teS1jdXN0b20tc2lkZWJhcj5cbiAqICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gKiA8L25nLWRvYy1yb290PlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tuZ0RvY0N1c3RvbVNpZGViYXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NDdXN0b21TaWRlYmFyRGlyZWN0aXZlIHt9XG5cbkBDb21wb25lbnQoe1xuXHRhbmltYXRpb25zOiBbZmFkZUFuaW1hdGlvbl0sXG5cdHNlbGVjdG9yOiAnbmctZG9jLXJvb3QnLFxuXHR0ZW1wbGF0ZVVybDogJy4vcm9vdC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3Jvb3QuY29tcG9uZW50LnNjc3MnXSxcblx0cHJvdmlkZXJzOiBbXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuQFVudGlsRGVzdHJveSgpXG5leHBvcnQgY2xhc3MgTmdEb2NSb290Q29tcG9uZW50IHtcblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG5cdFx0cHJpdmF0ZSByZWFkb25seSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkgc2lkZWJhclNlcnZpY2U6IE5nRG9jU2lkZWJhclNlcnZpY2UsXG5cdFx0QEluamVjdChXSU5ET1cpXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvdyxcblx0KSB7XG5cdFx0KFxuXHRcdFx0ZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5waXBlKFxuXHRcdFx0XHRmaWx0ZXIodGhpcy5pc1BvaW50ZXJFdmVudCksXG5cdFx0XHRcdHVudGlsRGVzdHJveWVkKHRoaXMpLFxuXHRcdFx0XHRuZ0RvY1pvbmVEZXRhY2godGhpcy5uZ1pvbmUpLFxuXHRcdFx0KSBhcyBPYnNlcnZhYmxlPFBvaW50ZXJFdmVudD5cblx0XHQpLnN1YnNjcmliZSgoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuXHRcdFx0aWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUpIHtcblx0XHRcdFx0bGV0IHRhcmdldDogTm9kZSB8IG51bGwgPSBldmVudC50YXJnZXQ7XG5cblx0XHRcdFx0d2hpbGUgKHRhcmdldCAmJiAhKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSkge1xuXHRcdFx0XHRcdHRhcmdldCA9IHRhcmdldC5wYXJlbnRFbGVtZW50O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSB7XG5cdFx0XHRcdFx0aWYgKGlzRXh0ZXJuYWxMaW5rKHRhcmdldC5ocmVmKSkge1xuXHRcdFx0XHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuXHRcdFx0XHRcdFx0dGhpcy53aW5kb3cub3Blbih0YXJnZXQuaHJlZiwgJ19ibGFuaycpPy5mb2N1cygpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zdCBoYXNNb2RpZmllcjogYm9vbGVhbiA9IGV2ZW50LmJ1dHRvbiAhPT0gMCB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG5cdFx0XHRcdFx0XHRjb25zdCBpc0Rvd25sb2FkYWJsZTogYm9vbGVhbiA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJykgIT0gbnVsbDtcblxuXHRcdFx0XHRcdFx0aWYgKCFoYXNNb2RpZmllciAmJiAhaXNEb3dubG9hZGFibGUpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qge3BhdGhuYW1lLCBzZWFyY2h9ID0gdGFyZ2V0O1xuXHRcdFx0XHRcdFx0XHRjb25zdCBpc0luUGFnZUFuY2hvcjogYm9vbGVhbiA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKT8uc3RhcnRzV2l0aCgnIycpID8/IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBjb3JyZWN0UGF0aG5hbWU6IHN0cmluZyA9IGlzSW5QYWdlQW5jaG9yID8gdGhpcy5sb2NhdGlvbi5wYXRoKCkgOiBwYXRobmFtZTtcblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVsYXRpdmVVcmw6IHN0cmluZyA9IGNvcnJlY3RQYXRobmFtZSArIHNlYXJjaDtcblx0XHRcdFx0XHRcdFx0Y29uc3QgaGFzaDogc3RyaW5nID0gdGFyZ2V0Lmhhc2g7XG5cblx0XHRcdFx0XHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuXHRcdFx0XHRcdFx0XHR0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWxhdGl2ZVVybF0sIHtcblx0XHRcdFx0XHRcdFx0XHRcdGZyYWdtZW50OiBoYXNoLnJlcGxhY2UoL14jLywgJycpIHx8IHVuZGVmaW5lZCxcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGlzUG9pbnRlckV2ZW50KGV2ZW50OiBFdmVudCk6IGV2ZW50IGlzIFBvaW50ZXJFdmVudCB7XG5cdFx0cmV0dXJuIGV2ZW50IGluc3RhbmNlb2YgUG9pbnRlckV2ZW50O1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmctZG9jLXJvb3Qtd3JhcHBlclwiIFtjbGFzcy5jb2xsYXBzYWJsZV09XCJzaWRlYmFyU2VydmljZS5pc0NvbGxhcHNhYmxlKCkgfCBhc3luY1wiPlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLWhlYWRlclwiPlxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIm5nLWRvYy1uYXZiYXJcIj48L25nLWNvbnRlbnQ+XG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW25nRG9jQ3VzdG9tTmF2YmFyXVwiPjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cdDxtYWluPlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2Mtc2lkZWJhclwiIFtjbGFzcy52aXNpYmxlXT1cInNpZGViYXJTZXJ2aWNlLnZpc2liaWxpdHlDaGFuZ2VzKCkgfCBhc3luY1wiPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibmctZG9jLXNpZGViYXJcIj48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbbmdEb2NDdXN0b21TaWRlYmFyXVwiPjwvbmctY29udGVudD5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLWJvZHlcIj5cblx0XHRcdDxkaXZcblx0XHRcdFx0Y2xhc3M9XCJuZy1kb2MtYmFja2Ryb3BcIlxuXHRcdFx0XHRAZmFkZUFuaW1hdGlvblxuXHRcdFx0XHQqbmdJZj1cInNpZGViYXJTZXJ2aWNlLmlzRXhwYW5kZWQoKSB8IGFzeW5jXCJcblx0XHRcdFx0KGNsaWNrKT1cInNpZGViYXJTZXJ2aWNlLmhpZGUoKVwiXG5cdFx0XHQ+PC9kaXY+XG5cdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0PC9kaXY+XG5cdDwvbWFpbj5cbjwvZGl2PlxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3Jvb3Qvcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3Jvb3Qvcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRXRDOzs7Ozs7Ozs7Ozs7R0FZRztBQUlILE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7aUJB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QkFDSixDQUFDLENBQUMsQ0FBQzt5QkFDSDtxQkFDRDtpQkFDRDthQUNEO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQVk7UUFDbEMsT0FBTyxLQUFLLFlBQVksWUFBWSxDQUFDO0lBQ3RDLENBQUM7OytHQXpEVyxrQkFBa0IscUxBUXJCLE1BQU07bUdBUkgsa0JBQWtCLHNDQUpuQixFQUFFLDBCQ3JEZCxxeEJBcUJBLHN2REQ0QmEsQ0FBQyxhQUFhLENBQUM7QUFRZixrQkFBa0I7SUFEOUIsWUFBWSxFQUFFO3FDQUdnQixVQUFVO1FBQ2QsTUFBTTtRQUNOLE1BQU07UUFDSixRQUFRO1FBQ0Usa0JBQWtCO1FBQ3BCLG1CQUFtQjtRQUU3QixNQUFNO0dBVHBCLGtCQUFrQixDQTBEOUI7U0ExRFksa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBVDlCLFNBQVM7aUNBQ0csQ0FBQyxhQUFhLENBQUMsWUFDakIsYUFBYSxhQUdaLEVBQUUsbUJBQ0ksdUJBQXVCLENBQUMsTUFBTTs7MEJBVzdDLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2lzRXh0ZXJuYWxMaW5rfSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzL2lzLWV4dGVybmFsLWxpbmsnO1xuaW1wb3J0IHtOZ0RvY1NpZGViYXJTZXJ2aWNlfSBmcm9tICdAbmctZG9jL2FwcC9zZXJ2aWNlcyc7XG5pbXBvcnQge2ZhZGVBbmltYXRpb24sIG5nRG9jWm9uZURldGFjaH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdXNlcyBmb3IgcHJvdmlkaW5nIGN1c3RvbSBuYXZiYXIsIHlvdSBzaG91bGQgbWFyayBlbGVtZW50IHdpdGggdGhpcyBkaXJlY3RpdmVcbiAqIGFuZCB0aGUgYE5nRG9jUm9vdENvbXBvbmVudGAgd2lsbCB1c2UgaXQgYXMgYSBuYXZiYXJcbiAqXG4gKiBgYGBodG1sXG4gKiA8bmctZG9jLXJvb3Q+XG4gKiAgICAgPG15LWN1c3RvbS1uYXZiYXIgbmdEb2NDdXN0b21OYXZiYXI+PC9teS1jdXN0b20tbmF2YmFyPlxuICpcbiAqICAgICA8bmctZG9jLXNpZGViYXI+PC9uZy1kb2Mtc2lkZWJhcj5cbiAqICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gKiA8L25nLWRvYy1yb290PlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tuZ0RvY0N1c3RvbU5hdmJhcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0N1c3RvbU5hdmJhckRpcmVjdGl2ZSB7fVxuXG4vKipcbiAqIERpcmVjdGl2ZSB1c2VzIGZvciBwcm92aWRpbmcgY3VzdG9tIHNpZGViYXIsIHlvdSBzaG91bGQgbWFyayBlbGVtZW50IHdpdGggdGhpcyBkaXJlY3RpdmVcbiAqIGFuZCB0aGUgYE5nRG9jUm9vdENvbXBvbmVudGAgd2lsbCB1c2UgaXQgYXMgYSBzaWRlYmFyXG4gKlxuICogYGBgaHRtbFxuICogPG5nLWRvYy1yb290PlxuICogICAgIDxuZy1kb2MtbmF2YmFyPjwvbmctZG9jLXNpZGViYXI+XG4gKlxuICogICAgIDxteS1jdXN0b20tc2lkZWJhciBuZ0RvY0N1c3RvbVNpZGViYXI+PC9teS1jdXN0b20tc2lkZWJhcj5cbiAqICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gKiA8L25nLWRvYy1yb290PlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tuZ0RvY0N1c3RvbVNpZGViYXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NDdXN0b21TaWRlYmFyRGlyZWN0aXZlIHt9XG5cbkBDb21wb25lbnQoe1xuXHRhbmltYXRpb25zOiBbZmFkZUFuaW1hdGlvbl0sXG5cdHNlbGVjdG9yOiAnbmctZG9jLXJvb3QnLFxuXHR0ZW1wbGF0ZVVybDogJy4vcm9vdC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3Jvb3QuY29tcG9uZW50LnNjc3MnXSxcblx0cHJvdmlkZXJzOiBbXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuQFVudGlsRGVzdHJveSgpXG5leHBvcnQgY2xhc3MgTmdEb2NSb290Q29tcG9uZW50IHtcblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG5cdFx0cHJpdmF0ZSByZWFkb25seSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkgc2lkZWJhclNlcnZpY2U6IE5nRG9jU2lkZWJhclNlcnZpY2UsXG5cdFx0QEluamVjdChXSU5ET1cpXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvdyxcblx0KSB7XG5cdFx0KFxuXHRcdFx0ZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5waXBlKFxuXHRcdFx0XHRmaWx0ZXIodGhpcy5pc1BvaW50ZXJFdmVudCksXG5cdFx0XHRcdHVudGlsRGVzdHJveWVkKHRoaXMpLFxuXHRcdFx0XHRuZ0RvY1pvbmVEZXRhY2godGhpcy5uZ1pvbmUpLFxuXHRcdFx0KSBhcyBPYnNlcnZhYmxlPFBvaW50ZXJFdmVudD5cblx0XHQpLnN1YnNjcmliZSgoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuXHRcdFx0aWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUpIHtcblx0XHRcdFx0bGV0IHRhcmdldDogTm9kZSB8IG51bGwgPSBldmVudC50YXJnZXQ7XG5cblx0XHRcdFx0d2hpbGUgKHRhcmdldCAmJiAhKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSkge1xuXHRcdFx0XHRcdHRhcmdldCA9IHRhcmdldC5wYXJlbnRFbGVtZW50O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSB7XG5cdFx0XHRcdFx0aWYgKGlzRXh0ZXJuYWxMaW5rKHRhcmdldC5ocmVmKSkge1xuXHRcdFx0XHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuXHRcdFx0XHRcdFx0dGhpcy53aW5kb3cub3Blbih0YXJnZXQuaHJlZiwgJ19ibGFuaycpPy5mb2N1cygpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zdCBoYXNNb2RpZmllcjogYm9vbGVhbiA9IGV2ZW50LmJ1dHRvbiAhPT0gMCB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG5cdFx0XHRcdFx0XHRjb25zdCBpc0Rvd25sb2FkYWJsZTogYm9vbGVhbiA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJykgIT0gbnVsbDtcblxuXHRcdFx0XHRcdFx0aWYgKCFoYXNNb2RpZmllciAmJiAhaXNEb3dubG9hZGFibGUpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qge3BhdGhuYW1lLCBzZWFyY2h9ID0gdGFyZ2V0O1xuXHRcdFx0XHRcdFx0XHRjb25zdCBpc0luUGFnZUFuY2hvcjogYm9vbGVhbiA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKT8uc3RhcnRzV2l0aCgnIycpID8/IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBjb3JyZWN0UGF0aG5hbWU6IHN0cmluZyA9IGlzSW5QYWdlQW5jaG9yID8gdGhpcy5sb2NhdGlvbi5wYXRoKCkgOiBwYXRobmFtZTtcblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVsYXRpdmVVcmw6IHN0cmluZyA9IGNvcnJlY3RQYXRobmFtZSArIHNlYXJjaDtcblx0XHRcdFx0XHRcdFx0Y29uc3QgaGFzaDogc3RyaW5nID0gdGFyZ2V0Lmhhc2g7XG5cblx0XHRcdFx0XHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuXHRcdFx0XHRcdFx0XHR0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWxhdGl2ZVVybF0sIHtcblx0XHRcdFx0XHRcdFx0XHRcdGZyYWdtZW50OiBoYXNoLnJlcGxhY2UoL14jLywgJycpIHx8IHVuZGVmaW5lZCxcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGlzUG9pbnRlckV2ZW50KGV2ZW50OiBFdmVudCk6IGV2ZW50IGlzIFBvaW50ZXJFdmVudCB7XG5cdFx0cmV0dXJuIGV2ZW50IGluc3RhbmNlb2YgUG9pbnRlckV2ZW50O1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmctZG9jLXJvb3Qtd3JhcHBlclwiIFtjbGFzcy5jb2xsYXBzYWJsZV09XCJzaWRlYmFyU2VydmljZS5pc0NvbGxhcHNhYmxlKCkgfCBhc3luY1wiPlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLWhlYWRlclwiPlxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIm5nLWRvYy1uYXZiYXJcIj48L25nLWNvbnRlbnQ+XG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW25nRG9jQ3VzdG9tTmF2YmFyXVwiPjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cdDxtYWluPlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2Mtc2lkZWJhclwiIFtjbGFzcy52aXNpYmxlXT1cInNpZGViYXJTZXJ2aWNlLnZpc2liaWxpdHlDaGFuZ2VzKCkgfCBhc3luY1wiPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibmctZG9jLXNpZGViYXJcIj48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbbmdEb2NDdXN0b21TaWRlYmFyXVwiPjwvbmctY29udGVudD5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLWJvZHlcIj5cblx0XHRcdDxkaXZcblx0XHRcdFx0Y2xhc3M9XCJuZy1kb2MtYmFja2Ryb3BcIlxuXHRcdFx0XHRAZmFkZUFuaW1hdGlvblxuXHRcdFx0XHQqbmdJZj1cInNpZGViYXJTZXJ2aWNlLmlzRXhwYW5kZWQoKSB8IGFzeW5jXCJcblx0XHRcdFx0KGNsaWNrKT1cInNpZGViYXJTZXJ2aWNlLmhpZGUoKVwiXG5cdFx0XHQ+PC9kaXY+XG5cdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0PC9kaXY+XG5cdDwvbWFpbj5cbjwvZGl2PlxuIl19