@ng-doc/app 19.2.0 → 19.3.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 (42) hide show
  1. package/components/playground/playground-demo/playground-demo.component.d.ts +2 -1
  2. package/components/toc/toc.component.d.ts +2 -1
  3. package/directives/route-active/route-active.directive.d.ts +2 -6
  4. package/fesm2022/ng-doc-app-classes-search-engine.mjs.map +1 -1
  5. package/fesm2022/ng-doc-app-components-breadcrumb.mjs +2 -4
  6. package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
  7. package/fesm2022/ng-doc-app-components-code.mjs +1 -4
  8. package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
  9. package/fesm2022/ng-doc-app-components-heading-anchor.mjs +2 -2
  10. package/fesm2022/ng-doc-app-components-heading-anchor.mjs.map +1 -1
  11. package/fesm2022/ng-doc-app-components-image-viewer.mjs +1 -2
  12. package/fesm2022/ng-doc-app-components-image-viewer.mjs.map +1 -1
  13. package/fesm2022/ng-doc-app-components-navbar.mjs +8 -25
  14. package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
  15. package/fesm2022/ng-doc-app-components-page.mjs +4 -17
  16. package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
  17. package/fesm2022/ng-doc-app-components-playground.mjs +9 -12
  18. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  19. package/fesm2022/ng-doc-app-components-root.mjs +4 -9
  20. package/fesm2022/ng-doc-app-components-root.mjs.map +1 -1
  21. package/fesm2022/ng-doc-app-components-search-dialog.mjs +1 -4
  22. package/fesm2022/ng-doc-app-components-search-dialog.mjs.map +1 -1
  23. package/fesm2022/ng-doc-app-components-search.mjs +5 -28
  24. package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
  25. package/fesm2022/ng-doc-app-components-sidebar.mjs +3 -10
  26. package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
  27. package/fesm2022/ng-doc-app-components-tabs.mjs +1 -4
  28. package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
  29. package/fesm2022/ng-doc-app-components-theme-toggle.mjs +1 -2
  30. package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
  31. package/fesm2022/ng-doc-app-components-toc.mjs +8 -12
  32. package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
  33. package/fesm2022/ng-doc-app-defaults-default-skeleton.mjs.map +1 -1
  34. package/fesm2022/ng-doc-app-directives-route-active.mjs +15 -23
  35. package/fesm2022/ng-doc-app-directives-route-active.mjs.map +1 -1
  36. package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
  37. package/fesm2022/ng-doc-app-services-sidebar.mjs +2 -8
  38. package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
  39. package/fesm2022/ng-doc-app-services-theme.mjs +2 -7
  40. package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
  41. package/package.json +3 -3
  42. package/styles/themes/dark.css +22 -22
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, Injector, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';
1
+ import { ChangeDetectorRef, DestroyRef, Injector, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { NgDocPlaygroundConfig, NgDocPlaygroundProperties } from '@ng-doc/core/interfaces';
4
4
  import { NgDocBasePlayground } from '../base-playground';
@@ -18,6 +18,7 @@ export declare class NgDocPlaygroundDemoComponent<T extends NgDocPlaygroundPrope
18
18
  protected code: string;
19
19
  protected readonly injector: Injector;
20
20
  protected readonly changeDetectorRef: ChangeDetectorRef;
21
+ protected readonly destroyRef: DestroyRef;
21
22
  private demoRef?;
22
23
  private readonly unsubscribe$;
23
24
  ngOnChanges({ form, id }: SimpleChanges): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, ElementRef, NgZone, OnInit, QueryList, Renderer2, WritableSignal } from '@angular/core';
1
+ import { ChangeDetectorRef, DestroyRef, ElementRef, NgZone, OnInit, QueryList, Renderer2, WritableSignal } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
3
  import { NgDocPageToc, NgDocTocItem } from '@ng-doc/app/interfaces';
4
4
  import { NgDocTocElementComponent } from './toc-element/toc-element.component';
@@ -13,6 +13,7 @@ export declare class NgDocTocComponent implements NgDocPageToc, OnInit {
13
13
  protected readonly changeDetectorRef: ChangeDetectorRef;
14
14
  protected readonly renderer: Renderer2;
15
15
  protected readonly router: Router;
16
+ protected readonly destroyRef: DestroyRef;
16
17
  constructor();
17
18
  ngOnInit(): void;
18
19
  /**
@@ -1,14 +1,10 @@
1
- import { ElementRef, Renderer2 } from '@angular/core';
2
- import { IsActiveMatchOptions, Router } from '@angular/router';
1
+ import { IsActiveMatchOptions } from '@angular/router';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class NgDocRouteActiveDirective {
5
- private readonly elementRef;
6
- private readonly router;
7
- private readonly renderer;
8
4
  link: string;
9
5
  activeClass: string | string[];
10
6
  matchOptions: IsActiveMatchOptions;
11
- constructor(elementRef: ElementRef<HTMLElement>, router: Router, renderer: Renderer2);
7
+ constructor();
12
8
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocRouteActiveDirective, never>;
13
9
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocRouteActiveDirective, "[ngDocRouteActive]", never, { "link": { "alias": "ngDocRouteActive"; "required": false; }; "activeClass": { "alias": "activeClass"; "required": false; }; "matchOptions": { "alias": "matchOptions"; "required": false; }; }, {}, never, never, true, never>;
14
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-classes-search-engine.mjs","sources":["../../../../libs/app/classes/search-engine/search-engine.ts","../../../../libs/app/classes/search-engine/ng-doc-app-classes-search-engine.ts"],"sourcesContent":["import {NgDocSearchResult} from '@ng-doc/app/interfaces';\nimport {Observable} from 'rxjs';\n\n/**\n * Abstract search engine class, that can be used to implement a custom search engine.\n */\nexport abstract class NgDocSearchEngine {\n\tabstract search(query: string): Observable<NgDocSearchResult[]>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAGA;;AAEG;MACmB,iBAAiB,CAAA;AAEtC;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-classes-search-engine.mjs","sources":["../../../../libs/app/classes/search-engine/search-engine.ts","../../../../libs/app/classes/search-engine/ng-doc-app-classes-search-engine.ts"],"sourcesContent":["import { NgDocSearchResult } from '@ng-doc/app/interfaces';\nimport { Observable } from 'rxjs';\n\n/**\n * Abstract search engine class, that can be used to implement a custom search engine.\n */\nexport abstract class NgDocSearchEngine {\n abstract search(query: string): Observable<NgDocSearchResult[]>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAGA;;AAEG;MACmB,iBAAiB,CAAA;AAEtC;;ACRD;;AAEG;;;;"}
@@ -1,8 +1,6 @@
1
- import { NgFor } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
2
  import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
4
- import { RouterLink } from '@angular/router';
5
- import { NgDocIconComponent, NgDocButtonIconComponent } from '@ng-doc/ui-kit';
3
+ import { NgDocIconComponent } from '@ng-doc/ui-kit';
6
4
 
7
5
  class NgDocBreadcrumbComponent {
8
6
  constructor() {
@@ -13,7 +11,7 @@ class NgDocBreadcrumbComponent {
13
11
  }
14
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgDocBreadcrumbComponent, decorators: [{
15
13
  type: Component,
16
- args: [{ selector: 'ng-doc-breadcrumb', imports: [NgDocButtonIconComponent, RouterLink, NgDocIconComponent, NgFor], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (item of breadcrumbs; track item) {\n @if (!$first) {\n <ng-doc-icon icon=\"chevron-right\"></ng-doc-icon>\n }\n {{ item }}\n}\n", styles: [":host{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ng-doc-base-gutter);margin-bottom:calc(var(--ng-doc-base-gutter) * 2);opacity:.9}:host .ng-doc-breadcrumb{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:flex;align-items:center}\n"] }]
14
+ args: [{ selector: 'ng-doc-breadcrumb', imports: [NgDocIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (item of breadcrumbs; track item) {\n @if (!$first) {\n <ng-doc-icon icon=\"chevron-right\"></ng-doc-icon>\n }\n {{ item }}\n}\n", styles: [":host{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ng-doc-base-gutter);margin-bottom:calc(var(--ng-doc-base-gutter) * 2);opacity:.9}:host .ng-doc-breadcrumb{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:flex;align-items:center}\n"] }]
17
15
  }], propDecorators: { breadcrumbs: [{
18
16
  type: Input
19
17
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-breadcrumb.mjs","sources":["../../../../libs/app/components/breadcrumb/breadcrumb.component.ts","../../../../libs/app/components/breadcrumb/breadcrumb.component.html","../../../../libs/app/components/breadcrumb/ng-doc-app-components-breadcrumb.ts"],"sourcesContent":["import { NgFor } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { NgDocPageBreadcrumbs } from '@ng-doc/app/interfaces';\nimport { NgDocButtonIconComponent, NgDocIconComponent } from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n imports: [NgDocButtonIconComponent, RouterLink, NgDocIconComponent, NgFor],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocBreadcrumbComponent implements NgDocPageBreadcrumbs {\n @Input()\n breadcrumbs: string[] = [];\n}\n","@for (item of breadcrumbs; track item) {\n @if (!$first) {\n <ng-doc-icon icon=\"chevron-right\"></ng-doc-icon>\n }\n {{ item }}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAaa,wBAAwB,CAAA;AAPrC,IAAA,WAAA,GAAA;QASE,IAAW,CAAA,WAAA,GAAa,EAAE;AAC3B;8GAHY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbrC,6IAMA,EAAA,MAAA,EAAA,CAAA,qZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIkD,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGvD,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAGpB,OAAA,EAAA,CAAC,wBAAwB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,CAAC,EACzD,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,qZAAA,CAAA,EAAA;8BAI/C,WAAW,EAAA,CAAA;sBADV;;;AEdH;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-components-breadcrumb.mjs","sources":["../../../../libs/app/components/breadcrumb/breadcrumb.component.ts","../../../../libs/app/components/breadcrumb/breadcrumb.component.html","../../../../libs/app/components/breadcrumb/ng-doc-app-components-breadcrumb.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgDocPageBreadcrumbs } from '@ng-doc/app/interfaces';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n imports: [NgDocIconComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocBreadcrumbComponent implements NgDocPageBreadcrumbs {\n @Input()\n breadcrumbs: string[] = [];\n}\n","@for (item of breadcrumbs; track item) {\n @if (!$first) {\n <ng-doc-icon icon=\"chevron-right\"></ng-doc-icon>\n }\n {{ item }}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAWa,wBAAwB,CAAA;AAPrC,IAAA,WAAA,GAAA;QASE,IAAW,CAAA,WAAA,GAAa,EAAE;AAC3B;8GAHY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXrC,6IAMA,EAAA,MAAA,EAAA,CAAA,qZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEY,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGjB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,WAGpB,CAAC,kBAAkB,CAAC,EACZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,qZAAA,CAAA,EAAA;8BAI/C,WAAW,EAAA,CAAA;sBADV;;;AEZH;;AAEG;;;;"}
@@ -7,7 +7,7 @@ import { NgDocPageProcessorComponent } from '@ng-doc/app/processors/page-process
7
7
  import { linkProcessor } from '@ng-doc/app/processors/processors/link';
8
8
  import { tooltipProcessor } from '@ng-doc/app/processors/processors/tooltip';
9
9
  import { provideMainPageProcessor } from '@ng-doc/app/tokens';
10
- import { NgDocTextComponent, NgDocIconComponent, NgDocButtonIconComponent, NgDocTooltipDirective, NgDocSmoothResizeComponent } from '@ng-doc/ui-kit';
10
+ import { NgDocTextComponent, NgDocIconComponent } from '@ng-doc/ui-kit';
11
11
 
12
12
  class NgDocCodeComponent {
13
13
  constructor(elementRef) {
@@ -29,9 +29,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
29
29
  args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
30
30
  NgIf,
31
31
  NgDocTextComponent,
32
- NgDocButtonIconComponent,
33
- NgDocTooltipDirective,
34
- NgDocSmoothResizeComponent,
35
32
  NgDocIconComponent,
36
33
  NgDocPageProcessorComponent,
37
34
  NgDocCopyButtonComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-code.mjs","sources":["../../../../libs/app/components/code/code.component.ts","../../../../libs/app/components/code/code.component.html","../../../../libs/app/components/code/ng-doc-app-components-code.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core';\nimport { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocPageProcessorComponent } from '@ng-doc/app/processors/page-processor';\nimport { linkProcessor } from '@ng-doc/app/processors/processors/link';\nimport { tooltipProcessor } from '@ng-doc/app/processors/processors/tooltip';\nimport { provideMainPageProcessor } from '@ng-doc/app/tokens';\nimport {\n NgDocButtonIconComponent,\n NgDocIconComponent,\n NgDocSmoothResizeComponent,\n NgDocTextComponent,\n NgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-code',\n templateUrl: './code.component.html',\n styleUrls: ['./code.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgDocTextComponent,\n NgDocButtonIconComponent,\n NgDocTooltipDirective,\n NgDocSmoothResizeComponent,\n NgDocIconComponent,\n NgDocPageProcessorComponent,\n NgDocCopyButtonComponent,\n NgDocSanitizeHtmlPipe,\n ],\n viewProviders: [provideMainPageProcessor([linkProcessor, tooltipProcessor])],\n})\nexport class NgDocCodeComponent {\n @Input()\n html: string = '';\n\n @Input()\n copyButton: boolean = true;\n\n @Input()\n name?: string;\n\n @Input()\n icon?: string;\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n @HostBinding('attr.data-ng-doc-has-header')\n get hasHeader(): boolean {\n return !!this.name || !!this.icon;\n }\n\n get codeElement(): HTMLElement | null {\n return this.elementRef?.nativeElement.querySelector('code') ?? null;\n }\n}\n","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n <span class=\"ng-doc-code-file-name\" ng-doc-text>\n <ng-doc-icon [customIcon]=\"icon\" *ngIf=\"icon\"></ng-doc-icon>\n {{ name }}\n </span>\n</div>\n<div class=\"ng-doc-code-body\">\n @if (html) {\n <div class=\"ng-doc-code-wrapper\" [ngDocPageProcessor]=\"html | ngDocSanitizeHtml\"></div>\n } @else {\n <div class=\"ng-doc-code-wrapper\">\n <ng-content></ng-content>\n </div>\n }\n\n <ng-doc-copy-button\n class=\"ng-doc-copy-button\"\n [text]=\"this.codeElement?.textContent ?? ''\"\n *ngIf=\"copyButton\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-components-code.mjs","sources":["../../../../libs/app/components/code/code.component.ts","../../../../libs/app/components/code/code.component.html","../../../../libs/app/components/code/ng-doc-app-components-code.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core';\nimport { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocPageProcessorComponent } from '@ng-doc/app/processors/page-processor';\nimport { linkProcessor } from '@ng-doc/app/processors/processors/link';\nimport { tooltipProcessor } from '@ng-doc/app/processors/processors/tooltip';\nimport { provideMainPageProcessor } from '@ng-doc/app/tokens';\nimport { NgDocIconComponent, NgDocTextComponent } from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-code',\n templateUrl: './code.component.html',\n styleUrls: ['./code.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgDocTextComponent,\n NgDocIconComponent,\n NgDocPageProcessorComponent,\n NgDocCopyButtonComponent,\n NgDocSanitizeHtmlPipe,\n ],\n viewProviders: [provideMainPageProcessor([linkProcessor, tooltipProcessor])],\n})\nexport class NgDocCodeComponent {\n @Input()\n html: string = '';\n\n @Input()\n copyButton: boolean = true;\n\n @Input()\n name?: string;\n\n @Input()\n icon?: string;\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n @HostBinding('attr.data-ng-doc-has-header')\n get hasHeader(): boolean {\n return !!this.name || !!this.icon;\n }\n\n get codeElement(): HTMLElement | null {\n return this.elementRef?.nativeElement.querySelector('code') ?? null;\n }\n}\n","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n <span class=\"ng-doc-code-file-name\" ng-doc-text>\n <ng-doc-icon [customIcon]=\"icon\" *ngIf=\"icon\"></ng-doc-icon>\n {{ name }}\n </span>\n</div>\n<div class=\"ng-doc-code-body\">\n @if (html) {\n <div class=\"ng-doc-code-wrapper\" [ngDocPageProcessor]=\"html | ngDocSanitizeHtml\"></div>\n } @else {\n <div class=\"ng-doc-code-wrapper\">\n <ng-content></ng-content>\n </div>\n }\n\n <ng-doc-copy-button\n class=\"ng-doc-copy-button\"\n [text]=\"this.codeElement?.textContent ?? ''\"\n *ngIf=\"copyButton\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
3
3
  import { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';
4
- import { NgDocIconComponent, NgDocButtonIconComponent } from '@ng-doc/ui-kit';
4
+ import { NgDocIconComponent } from '@ng-doc/ui-kit';
5
5
  import { LOCATION } from '@ng-web-apis/common';
6
6
 
7
7
  class NgDocHeadingAnchorComponent {
@@ -22,7 +22,7 @@ class NgDocHeadingAnchorComponent {
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgDocHeadingAnchorComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'ng-doc-heading-anchor', imports: [NgDocButtonIconComponent, NgDocIconComponent, NgDocCopyButtonComponent], template: `
25
+ args: [{ selector: 'ng-doc-heading-anchor', imports: [NgDocIconComponent, NgDocCopyButtonComponent], template: `
26
26
  <ng-doc-copy-button [text]="href">
27
27
  <ng-doc-icon icon="link-2"></ng-doc-icon>
28
28
  </ng-doc-copy-button>
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-heading-anchor.mjs","sources":["../../../../libs/app/components/heading-anchor/heading-anchor.component.ts","../../../../libs/app/components/heading-anchor/ng-doc-app-components-heading-anchor.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';\nimport { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';\nimport { NgDocButtonIconComponent, NgDocIconComponent } from '@ng-doc/ui-kit';\nimport { LOCATION } from '@ng-web-apis/common';\n\n@Component({\n selector: 'ng-doc-heading-anchor',\n imports: [NgDocButtonIconComponent, NgDocIconComponent, NgDocCopyButtonComponent],\n template: `\n <ng-doc-copy-button [text]=\"href\">\n <ng-doc-icon icon=\"link-2\"></ng-doc-icon>\n </ng-doc-copy-button>\n `,\n styles: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocHeadingAnchorComponent {\n @Input({ required: true })\n anchor!: string;\n\n @Input()\n @HostBinding('class')\n classes: string[] = [];\n\n protected readonly location = inject(LOCATION);\n\n protected get href(): string {\n const { origin, pathname } = this.location;\n\n return `${origin}${pathname}#${this.anchor}`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAgBa,2BAA2B,CAAA;AAXxC,IAAA,WAAA,GAAA;QAiBE,IAAO,CAAA,OAAA,GAAa,EAAE;AAEH,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAO/C;AALC,IAAA,IAAc,IAAI,GAAA;QAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ;QAE1C,OAAO,CAAA,EAAG,MAAM,CAAG,EAAA,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAA,CAAE;;8GAbnC,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAR5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;GAIT,EALmC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,gGAAE,wBAAwB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FASrE,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAXvC,SAAS;+BACE,uBAAuB,EAAA,OAAA,EACxB,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,wBAAwB,CAAC,EACvE,QAAA,EAAA;;;;GAIT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA;8BAI/C,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAKzB,OAAO,EAAA,CAAA;sBAFN;;sBACA,WAAW;uBAAC,OAAO;;;ACrBtB;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-components-heading-anchor.mjs","sources":["../../../../libs/app/components/heading-anchor/heading-anchor.component.ts","../../../../libs/app/components/heading-anchor/ng-doc-app-components-heading-anchor.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, inject, Input } from '@angular/core';\nimport { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit';\nimport { LOCATION } from '@ng-web-apis/common';\n\n@Component({\n selector: 'ng-doc-heading-anchor',\n imports: [NgDocIconComponent, NgDocCopyButtonComponent],\n template: `\n <ng-doc-copy-button [text]=\"href\">\n <ng-doc-icon icon=\"link-2\"></ng-doc-icon>\n </ng-doc-copy-button>\n `,\n styles: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocHeadingAnchorComponent {\n @Input({ required: true })\n anchor!: string;\n\n @Input()\n @HostBinding('class')\n classes: string[] = [];\n\n protected readonly location = inject(LOCATION);\n\n protected get href(): string {\n const { origin, pathname } = this.location;\n\n return `${origin}${pathname}#${this.anchor}`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAgBa,2BAA2B,CAAA;AAXxC,IAAA,WAAA,GAAA;QAiBE,IAAO,CAAA,OAAA,GAAa,EAAE;AAEH,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAO/C;AALC,IAAA,IAAc,IAAI,GAAA;QAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ;QAE1C,OAAO,CAAA,EAAG,MAAM,CAAG,EAAA,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAA,CAAE;;8GAbnC,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAR5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;GAIT,EALS,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,gGAAE,wBAAwB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAS3C,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAXvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,WACxB,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,EAC7C,QAAA,EAAA;;;;GAIT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA;8BAI/C,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAKzB,OAAO,EAAA,CAAA;sBAFN;;sBACA,WAAW;uBAAC,OAAO;;;ACrBtB;;AAEG;;;;"}
@@ -1,5 +1,4 @@
1
1
  import { style, group, animate, query } from '@angular/animations';
2
- import { NgTemplateOutlet } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
3
  import { input, viewChild, TemplateRef, inject, ElementRef, ChangeDetectorRef, Component, ChangeDetectionStrategy, HostListener } from '@angular/core';
5
4
  import { NgDocOverlayService, NgDocOverlayContainerComponent } from '@ng-doc/ui-kit';
@@ -71,7 +70,7 @@ class NgDocImageViewerComponent {
71
70
  }
72
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgDocImageViewerComponent, decorators: [{
73
72
  type: Component,
74
- args: [{ selector: 'ng-doc-image-viewer', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: {
73
+ args: [{ selector: 'ng-doc-image-viewer', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, host: {
75
74
  '[attr.data-opened]': '!!overlayRef',
76
75
  }, template: "<ng-content></ng-content>\n\n<ng-template #image>\n <div class=\"ng-doc-image-container\" (click)=\"overlayRef?.close()\">\n <img class=\"ng-doc-scaled-image\" [src]=\"src()\" [alt]=\"alt()\" />\n </div>\n</ng-template>\n", styles: [":host{display:inline-block;cursor:zoom-in;transition:var(--ng-doc-transition)}:host[data-opened=true]>::ng-deep img{opacity:0}:host>::ng-deep img{max-width:100%;vertical-align:middle;border-radius:var(--ng-doc-base-gutter);overflow:hidden}.ng-doc-image-container{display:flex;align-items:center;justify-content:center;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;height:100%}.ng-doc-image-container .ng-doc-scaled-image{cursor:zoom-out;width:100%;height:100%}\n"] }]
77
76
  }], propDecorators: { clickEvent: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-image-viewer.mjs","sources":["../../../../libs/app/components/image-viewer/image-viewer.component.ts","../../../../libs/app/components/image-viewer/image-viewer.component.html","../../../../libs/app/components/image-viewer/ng-doc-app-components-image-viewer.ts"],"sourcesContent":["import { animate, group, query, style } from '@angular/animations';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n inject,\n input,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { NgDocOverlayContainerComponent, NgDocOverlayService } from '@ng-doc/ui-kit';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\n\n@Component({\n selector: 'ng-doc-image-viewer',\n imports: [NgTemplateOutlet],\n templateUrl: './image-viewer.component.html',\n styleUrl: './image-viewer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-opened]': '!!overlayRef',\n },\n})\nexport class NgDocImageViewerComponent {\n src = input.required<string>();\n alt = input.required<string>();\n\n protected readonly image = viewChild('image', { read: TemplateRef });\n protected readonly overlay = inject(NgDocOverlayService);\n protected readonly element = inject(ElementRef<HTMLElement>).nativeElement;\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected overlayRef?: NgDocOverlayRef;\n\n @HostListener('click')\n clickEvent(): void {\n this.overlayRef?.close();\n\n const { width, height, top, left } = this.element.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const ratio = Math.min(windowWidth / width, windowHeight / height);\n const newWidth = width * ratio;\n const newHeight = height * ratio;\n\n this.overlayRef = this.overlay.open(this.image(), {\n overlayContainer: NgDocOverlayContainerComponent,\n positionStrategy: this.overlay\n .globalPositionStrategy()\n .centerHorizontally()\n .centerVertically(),\n scrollStrategy: this.overlay.scrollStrategy().block(),\n hasBackdrop: true,\n backdropClass: 'ng-doc-blur-backdrop',\n openAnimation: [\n style({ position: 'fixed', width, height, top, left, transform: 'translate(0%, 0)' }),\n group([\n animate(\n '300ms cubic-bezier(0.25, 0.8, 0.25, 1)',\n style({\n width: `${newWidth}px`,\n height: `${newHeight}px`,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }),\n ),\n query('.ng-doc-image-container', [\n style({ padding: 0 }),\n animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ padding: '16px' })),\n ]),\n ]),\n ],\n closeAnimation: [\n style({\n position: 'fixed',\n width: `${newWidth}px`,\n height: `${newHeight}px`,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }),\n group([\n animate(\n '300ms cubic-bezier(0.25, 0.8, 0.25, 1)',\n style({ width, height, top, left, transform: 'translate(0%, 0)' }),\n ),\n query(\n '.ng-doc-image-container',\n animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ padding: 0 })),\n ),\n ]),\n ],\n });\n\n this.overlayRef.afterClose().subscribe(() => {\n this.overlayRef = undefined;\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","<ng-content></ng-content>\n\n<ng-template #image>\n <div class=\"ng-doc-image-container\" (click)=\"overlayRef?.close()\">\n <img class=\"ng-doc-scaled-image\" [src]=\"src()\" [alt]=\"alt()\" />\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-components-image-viewer.mjs","sources":["../../../../libs/app/components/image-viewer/image-viewer.component.ts","../../../../libs/app/components/image-viewer/image-viewer.component.html","../../../../libs/app/components/image-viewer/ng-doc-app-components-image-viewer.ts"],"sourcesContent":["import { animate, group, query, style } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n inject,\n input,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { NgDocOverlayContainerComponent, NgDocOverlayService } from '@ng-doc/ui-kit';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\n\n@Component({\n selector: 'ng-doc-image-viewer',\n imports: [],\n templateUrl: './image-viewer.component.html',\n styleUrl: './image-viewer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-opened]': '!!overlayRef',\n },\n})\nexport class NgDocImageViewerComponent {\n src = input.required<string>();\n alt = input.required<string>();\n\n protected readonly image = viewChild('image', { read: TemplateRef });\n protected readonly overlay = inject(NgDocOverlayService);\n protected readonly element = inject(ElementRef<HTMLElement>).nativeElement;\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected overlayRef?: NgDocOverlayRef;\n\n @HostListener('click')\n clickEvent(): void {\n this.overlayRef?.close();\n\n const { width, height, top, left } = this.element.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const ratio = Math.min(windowWidth / width, windowHeight / height);\n const newWidth = width * ratio;\n const newHeight = height * ratio;\n\n this.overlayRef = this.overlay.open(this.image(), {\n overlayContainer: NgDocOverlayContainerComponent,\n positionStrategy: this.overlay\n .globalPositionStrategy()\n .centerHorizontally()\n .centerVertically(),\n scrollStrategy: this.overlay.scrollStrategy().block(),\n hasBackdrop: true,\n backdropClass: 'ng-doc-blur-backdrop',\n openAnimation: [\n style({ position: 'fixed', width, height, top, left, transform: 'translate(0%, 0)' }),\n group([\n animate(\n '300ms cubic-bezier(0.25, 0.8, 0.25, 1)',\n style({\n width: `${newWidth}px`,\n height: `${newHeight}px`,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }),\n ),\n query('.ng-doc-image-container', [\n style({ padding: 0 }),\n animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ padding: '16px' })),\n ]),\n ]),\n ],\n closeAnimation: [\n style({\n position: 'fixed',\n width: `${newWidth}px`,\n height: `${newHeight}px`,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }),\n group([\n animate(\n '300ms cubic-bezier(0.25, 0.8, 0.25, 1)',\n style({ width, height, top, left, transform: 'translate(0%, 0)' }),\n ),\n query(\n '.ng-doc-image-container',\n animate('300ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ padding: 0 })),\n ),\n ]),\n ],\n });\n\n this.overlayRef.afterClose().subscribe(() => {\n this.overlayRef = undefined;\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","<ng-content></ng-content>\n\n<ng-template #image>\n <div class=\"ng-doc-image-container\" (click)=\"overlayRef?.close()\">\n <img class=\"ng-doc-scaled-image\" [src]=\"src()\" [alt]=\"alt()\" />\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,10 @@
1
- import { __decorate, __metadata } from 'tslib';
2
- import { NgIf, AsyncPipe } from '@angular/common';
3
1
  import * as i0 from '@angular/core';
4
- import { afterNextRender, NgZone, ChangeDetectorRef, Component, ChangeDetectionStrategy, Inject, Input, HostBinding } from '@angular/core';
2
+ import { inject, DestroyRef, afterNextRender, Component, ChangeDetectionStrategy, Inject, Input, HostBinding } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
4
  import { NgDocSearchComponent } from '@ng-doc/app/components/search';
6
5
  import * as i1 from '@ng-doc/app/services';
7
- import { NgDocSidebarService } from '@ng-doc/app/services';
8
- import { ngDocZoneOptimize, NgDocButtonIconComponent, NgDocIconComponent, NgDocLetDirective } from '@ng-doc/ui-kit';
6
+ import { ngDocZoneOptimize, NgDocButtonIconComponent, NgDocIconComponent } from '@ng-doc/ui-kit';
9
7
  import { WINDOW } from '@ng-web-apis/common';
10
- import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
11
8
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
12
9
  import { combineLatest, fromEvent } from 'rxjs';
13
10
  import { map, distinctUntilChanged, startWith } from 'rxjs/operators';
@@ -15,7 +12,7 @@ import { map, distinctUntilChanged, startWith } from 'rxjs/operators';
15
12
  /**
16
13
  * Navbar component for ng-doc application
17
14
  */
18
- let NgDocNavbarComponent = class NgDocNavbarComponent {
15
+ class NgDocNavbarComponent {
19
16
  constructor(window, ngZone, changeDetectorRef, sidebarService) {
20
17
  this.window = window;
21
18
  this.ngZone = ngZone;
@@ -37,12 +34,13 @@ let NgDocNavbarComponent = class NgDocNavbarComponent {
37
34
  * Indicates if navbar has border
38
35
  */
39
36
  this.hasBorder = false;
37
+ const destroyRef = inject(DestroyRef);
40
38
  afterNextRender(() => {
41
39
  combineLatest([
42
40
  fromEvent(this.window, 'scroll').pipe(map((e) => (e.target?.scrollingElement?.scrollTop ?? 0) > 0), distinctUntilChanged(), startWith(false), ngDocZoneOptimize(this.ngZone)),
43
41
  this.sidebarService.isExpanded(),
44
42
  ])
45
- .pipe(map(([scrolled, isExpanded]) => scrolled || (isExpanded && this.sidebarService.isMobile)), untilDestroyed(this))
43
+ .pipe(map(([scrolled, isExpanded]) => scrolled || (isExpanded && this.sidebarService.isMobile)), takeUntilDestroyed(destroyRef))
46
44
  .subscribe((hasShadow) => {
47
45
  this.hasBorder = hasShadow;
48
46
  this.changeDetectorRef.markForCheck();
@@ -51,25 +49,10 @@ let NgDocNavbarComponent = class NgDocNavbarComponent {
51
49
  }
52
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgDocNavbarComponent, deps: [{ token: WINDOW }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.NgDocSidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
53
51
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: NgDocNavbarComponent, isStandalone: true, selector: "ng-doc-navbar", inputs: { search: "search", hamburger: "hamburger", glassEffect: "glassEffect" }, host: { properties: { "attr.data-glass-effect": "this.glassEffect", "class.has-border": "this.hasBorder" } }, ngImport: i0, template: "<div class=\"navbar-container\">\n <div class=\"ng-doc-navbar-left\">\n <ng-content select=\"[ngDocNavbarLeft]\"></ng-content>\n </div>\n <div class=\"ng-doc-navbar-right\">\n @if (search) {\n <ng-doc-search></ng-doc-search>\n }\n <ng-content select=\"[ngDocNavbarRight]\"></ng-content>\n <button class=\"ng-doc-menu\" ng-doc-button-icon size=\"large\" (click)=\"sidebarService.toggle()\">\n <ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;border-bottom:1px solid transparent;transition:var(--ng-doc-transition) border}:host:not([data-glass-effect=false]){background:color-mix(in srgb,var(--ng-doc-navbar-background) 60%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-border{border-bottom:var(--ng-doc-navbar-border, );box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}@media (min-width: 1024px){:host .ng-doc-menu{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: PolymorpheusModule }, { kind: "component", type: NgDocSearchComponent, selector: "ng-doc-search" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
- };
55
- NgDocNavbarComponent = __decorate([
56
- UntilDestroy(),
57
- __metadata("design:paramtypes", [Window,
58
- NgZone,
59
- ChangeDetectorRef,
60
- NgDocSidebarService])
61
- ], NgDocNavbarComponent);
52
+ }
62
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgDocNavbarComponent, decorators: [{
63
54
  type: Component,
64
- args: [{ selector: 'ng-doc-navbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
65
- NgDocLetDirective,
66
- PolymorpheusModule,
67
- NgIf,
68
- NgDocSearchComponent,
69
- NgDocButtonIconComponent,
70
- NgDocIconComponent,
71
- AsyncPipe,
72
- ], template: "<div class=\"navbar-container\">\n <div class=\"ng-doc-navbar-left\">\n <ng-content select=\"[ngDocNavbarLeft]\"></ng-content>\n </div>\n <div class=\"ng-doc-navbar-right\">\n @if (search) {\n <ng-doc-search></ng-doc-search>\n }\n <ng-content select=\"[ngDocNavbarRight]\"></ng-content>\n <button class=\"ng-doc-menu\" ng-doc-button-icon size=\"large\" (click)=\"sidebarService.toggle()\">\n <ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;border-bottom:1px solid transparent;transition:var(--ng-doc-transition) border}:host:not([data-glass-effect=false]){background:color-mix(in srgb,var(--ng-doc-navbar-background) 60%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-border{border-bottom:var(--ng-doc-navbar-border, );box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}@media (min-width: 1024px){:host .ng-doc-menu{display:none}}\n"] }]
55
+ args: [{ selector: 'ng-doc-navbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [PolymorpheusModule, NgDocSearchComponent, NgDocButtonIconComponent, NgDocIconComponent], template: "<div class=\"navbar-container\">\n <div class=\"ng-doc-navbar-left\">\n <ng-content select=\"[ngDocNavbarLeft]\"></ng-content>\n </div>\n <div class=\"ng-doc-navbar-right\">\n @if (search) {\n <ng-doc-search></ng-doc-search>\n }\n <ng-content select=\"[ngDocNavbarRight]\"></ng-content>\n <button class=\"ng-doc-menu\" ng-doc-button-icon size=\"large\" (click)=\"sidebarService.toggle()\">\n <ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n </button>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;border-bottom:1px solid transparent;transition:var(--ng-doc-transition) border}:host:not([data-glass-effect=false]){background:color-mix(in srgb,var(--ng-doc-navbar-background) 60%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-border{border-bottom:var(--ng-doc-navbar-border, );box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}@media (min-width: 1024px){:host .ng-doc-menu{display:none}}\n"] }]
73
56
  }], ctorParameters: () => [{ type: Window, decorators: [{
74
57
  type: Inject,
75
58
  args: [WINDOW]
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-navbar.mjs","sources":["../../../../libs/app/components/navbar/navbar.component.ts","../../../../libs/app/components/navbar/navbar.component.html","../../../../libs/app/components/navbar/ng-doc-app-components-navbar.ts"],"sourcesContent":["import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport { NgDocSearchComponent } from '@ng-doc/app/components/search';\nimport { NgDocSidebarService } from '@ng-doc/app/services';\nimport {\n NgDocButtonIconComponent,\n NgDocIconComponent,\n NgDocLetDirective,\n ngDocZoneOptimize,\n} from '@ng-doc/ui-kit';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\nimport { combineLatest, fromEvent } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\n/**\n * Navbar component for ng-doc application\n */\n@Component({\n selector: 'ng-doc-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgDocLetDirective,\n PolymorpheusModule,\n NgIf,\n NgDocSearchComponent,\n NgDocButtonIconComponent,\n NgDocIconComponent,\n AsyncPipe,\n ],\n})\n@UntilDestroy()\nexport class NgDocNavbarComponent {\n /**\n * Show search input\n */\n @Input()\n search: boolean = true;\n\n /**\n * Show hamburger button\n */\n @Input()\n hamburger: boolean = true;\n\n /**\n * Use glass effect for navbar\n */\n @Input()\n @HostBinding('attr.data-glass-effect')\n glassEffect: boolean = true;\n\n /**\n * Indicates if navbar has border\n */\n @HostBinding('class.has-border')\n hasBorder: boolean = false;\n\n constructor(\n @Inject(WINDOW)\n private readonly window: Window,\n private readonly ngZone: NgZone,\n private readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly sidebarService: NgDocSidebarService,\n ) {\n afterNextRender(() => {\n combineLatest([\n fromEvent(this.window, 'scroll').pipe(\n map((e: Event) => ((e.target as Document)?.scrollingElement?.scrollTop ?? 0) > 0),\n distinctUntilChanged(),\n startWith(false),\n ngDocZoneOptimize(this.ngZone),\n ),\n this.sidebarService.isExpanded(),\n ])\n .pipe(\n map(\n ([scrolled, isExpanded]: [boolean, boolean]) =>\n scrolled || (isExpanded && this.sidebarService.isMobile),\n ),\n untilDestroyed(this),\n )\n .subscribe((hasShadow: boolean) => {\n this.hasBorder = hasShadow;\n this.changeDetectorRef.markForCheck();\n });\n });\n }\n}\n","<div class=\"navbar-container\">\n <div class=\"ng-doc-navbar-left\">\n <ng-content select=\"[ngDocNavbarLeft]\"></ng-content>\n </div>\n <div class=\"ng-doc-navbar-right\">\n @if (search) {\n <ng-doc-search></ng-doc-search>\n }\n <ng-content select=\"[ngDocNavbarRight]\"></ng-content>\n <button class=\"ng-doc-menu\" ng-doc-button-icon size=\"large\" (click)=\"sidebarService.toggle()\">\n <ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n </button>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-components-navbar.mjs","sources":["../../../../libs/app/components/navbar/navbar.component.ts","../../../../libs/app/components/navbar/navbar.component.html","../../../../libs/app/components/navbar/ng-doc-app-components-navbar.ts"],"sourcesContent":["import {\n afterNextRender,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n HostBinding,\n Inject,\n inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgDocSearchComponent } from '@ng-doc/app/components/search';\nimport { NgDocSidebarService } from '@ng-doc/app/services';\nimport { NgDocButtonIconComponent, NgDocIconComponent, ngDocZoneOptimize } from '@ng-doc/ui-kit';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\nimport { combineLatest, fromEvent } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\n/**\n * Navbar component for ng-doc application\n */\n@Component({\n selector: 'ng-doc-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [PolymorpheusModule, NgDocSearchComponent, NgDocButtonIconComponent, NgDocIconComponent],\n})\nexport class NgDocNavbarComponent {\n /**\n * Show search input\n */\n @Input()\n search: boolean = true;\n\n /**\n * Show hamburger button\n */\n @Input()\n hamburger: boolean = true;\n\n /**\n * Use glass effect for navbar\n */\n @Input()\n @HostBinding('attr.data-glass-effect')\n glassEffect: boolean = true;\n\n /**\n * Indicates if navbar has border\n */\n @HostBinding('class.has-border')\n hasBorder: boolean = false;\n\n constructor(\n @Inject(WINDOW)\n private readonly window: Window,\n private readonly ngZone: NgZone,\n private readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly sidebarService: NgDocSidebarService,\n ) {\n const destroyRef = inject(DestroyRef);\n\n afterNextRender(() => {\n combineLatest([\n fromEvent(this.window, 'scroll').pipe(\n map((e: Event) => ((e.target as Document)?.scrollingElement?.scrollTop ?? 0) > 0),\n distinctUntilChanged(),\n startWith(false),\n ngDocZoneOptimize(this.ngZone),\n ),\n this.sidebarService.isExpanded(),\n ])\n .pipe(\n map(\n ([scrolled, isExpanded]: [boolean, boolean]) =>\n scrolled || (isExpanded && this.sidebarService.isMobile),\n ),\n takeUntilDestroyed(destroyRef),\n )\n .subscribe((hasShadow: boolean) => {\n this.hasBorder = hasShadow;\n this.changeDetectorRef.markForCheck();\n });\n });\n }\n}\n","<div class=\"navbar-container\">\n <div class=\"ng-doc-navbar-left\">\n <ng-content select=\"[ngDocNavbarLeft]\"></ng-content>\n </div>\n <div class=\"ng-doc-navbar-right\">\n @if (search) {\n <ng-doc-search></ng-doc-search>\n }\n <ng-content select=\"[ngDocNavbarRight]\"></ng-content>\n <button class=\"ng-doc-menu\" ng-doc-button-icon size=\"large\" (click)=\"sidebarService.toggle()\">\n <ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n </button>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,22 +1,18 @@
1
- import { __decorate } from 'tslib';
2
- import { NgIf, NgComponentOutlet } from '@angular/common';
1
+ import { NgIf } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
3
  import { inject, ChangeDetectorRef, ElementRef, Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
5
4
  import { RouterOutlet } from '@angular/router';
6
5
  import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
7
- import { NgDocBreadcrumbComponent } from '@ng-doc/app/components/breadcrumb';
8
6
  import { NgDocPageWrapperComponent } from '@ng-doc/app/components/page-wrapper';
9
- import { NgDocTocComponent } from '@ng-doc/app/components/toc';
10
7
  import { createComponent, generateToc } from '@ng-doc/app/helpers';
11
8
  import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';
12
9
  import { NgDocPageProcessorComponent } from '@ng-doc/app/processors';
13
10
  import { provideTypeControl } from '@ng-doc/app/providers/type-control';
14
11
  import { NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';
15
12
  import { NgDocTypeAliasControlComponent, NgDocStringControlComponent, NgDocNumberControlComponent, NgDocBooleanControlComponent } from '@ng-doc/app/type-controls';
16
- import { NgDocButtonIconComponent, NgDocTooltipDirective, NgDocIconComponent, DialogOutletComponent, NgDocTextComponent, NgDocTextLeftDirective, NgDocTextRightDirective } from '@ng-doc/ui-kit';
17
- import { UntilDestroy } from '@ngneat/until-destroy';
13
+ import { NgDocButtonIconComponent, NgDocTooltipDirective, NgDocIconComponent, DialogOutletComponent } from '@ng-doc/ui-kit';
18
14
 
19
- let NgDocPageComponent = class NgDocPageComponent {
15
+ class NgDocPageComponent {
20
16
  constructor() {
21
17
  this.rootPage = inject(NgDocRootPage);
22
18
  this.skeleton = inject(NG_DOC_PAGE_SKELETON);
@@ -38,24 +34,15 @@ let NgDocPageComponent = class NgDocPageComponent {
38
34
  provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),
39
35
  provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),
40
36
  ], viewQueries: [{ propertyName: "pageContainer", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef, static: true }, { propertyName: "childOutlet", first: true, predicate: ["childOutlet"], descendants: true }], ngImport: i0, template: "<div class=\"ng-doc-page-controls\">\n <a\n ng-doc-button-icon\n *ngIf=\"rootPage.editSourceFileUrl\"\n [href]=\"rootPage.editSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"Suggest Edits\">\n <ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n </a>\n <a\n ng-doc-button-icon\n *ngIf=\"rootPage.viewSourceFileUrl\"\n [href]=\"rootPage.viewSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"View Source\">\n <ng-doc-icon icon=\"code\"></ng-doc-icon>\n </a>\n</div>\n\n<div\n class=\"ng-doc-page-wrapper\"\n [ngDocPageProcessor]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n (afterRender)=\"createToc()\"\n #pageContainer></div>\n\n<ng-doc-dialog-outlet\n *ngIf=\"!rootPage.page?.disableFullscreenRoutes\"\n [config]=\"{ width: '100vw', height: '100vh' }\">\n <div class=\"ng-doc-fullscreen-wrapper\">\n <router-outlet></router-outlet>\n </div>\n</ng-doc-dialog-outlet>\n", styles: [":host{display:flex;flex-direction:column}:host .ng-doc-page-controls{position:absolute;display:flex;grid-gap:var(--ng-doc-base-gutter);top:0;right:0}.ng-doc-fullscreen-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "directive", type: 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: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocPageProcessorComponent, selector: "[ngDocPageProcessor]", inputs: ["ngDocPageProcessor"], outputs: ["afterRender"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: DialogOutletComponent, selector: "ng-doc-dialog-outlet", inputs: ["config"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
- };
42
- NgDocPageComponent = __decorate([
43
- UntilDestroy()
44
- ], NgDocPageComponent);
37
+ }
45
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgDocPageComponent, decorators: [{
46
39
  type: Component,
47
40
  args: [{ selector: 'ng-doc-page', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
48
41
  NgIf,
49
- NgDocBreadcrumbComponent,
50
42
  NgDocButtonIconComponent,
51
43
  NgDocTooltipDirective,
52
44
  NgDocIconComponent,
53
- NgDocTextComponent,
54
- NgDocTextLeftDirective,
55
- NgDocTextRightDirective,
56
- NgDocTocComponent,
57
45
  NgDocPageProcessorComponent,
58
- NgComponentOutlet,
59
46
  RouterOutlet,
60
47
  DialogOutletComponent,
61
48
  NgDocSanitizeHtmlPipe,
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-page.mjs","sources":["../../../../libs/app/components/page/page.component.ts","../../../../libs/app/components/page/page.component.html","../../../../libs/app/components/page/ng-doc-app-components-page.ts"],"sourcesContent":["import { NgComponentOutlet, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n inject,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocBreadcrumbComponent } from '@ng-doc/app/components/breadcrumb';\nimport { NgDocPageWrapperComponent } from '@ng-doc/app/components/page-wrapper';\nimport { NgDocTocComponent } from '@ng-doc/app/components/toc';\nimport { createComponent, generateToc } from '@ng-doc/app/helpers';\nimport { NgDocPageSkeleton } from '@ng-doc/app/interfaces';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocPageProcessorComponent } from '@ng-doc/app/processors';\nimport { provideTypeControl } from '@ng-doc/app/providers/type-control';\nimport { NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';\nimport {\n NgDocBooleanControlComponent,\n NgDocNumberControlComponent,\n NgDocStringControlComponent,\n NgDocTypeAliasControlComponent,\n} from '@ng-doc/app/type-controls';\nimport {\n DialogOutletComponent,\n NgDocButtonIconComponent,\n NgDocIconComponent,\n NgDocTextComponent,\n NgDocTextLeftDirective,\n NgDocTextRightDirective,\n NgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\nimport { UntilDestroy } from '@ngneat/until-destroy';\n\n@Component({\n selector: 'ng-doc-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgDocBreadcrumbComponent,\n NgDocButtonIconComponent,\n NgDocTooltipDirective,\n NgDocIconComponent,\n NgDocTextComponent,\n NgDocTextLeftDirective,\n NgDocTextRightDirective,\n NgDocTocComponent,\n NgDocPageProcessorComponent,\n NgComponentOutlet,\n RouterOutlet,\n DialogOutletComponent,\n NgDocSanitizeHtmlPipe,\n ],\n providers: [\n provideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }),\n provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),\n provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),\n provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),\n ],\n host: { ngSkipHydration: 'true' },\n})\n@UntilDestroy()\nexport class NgDocPageComponent {\n @ViewChild('pageContainer', { read: ElementRef, static: true })\n pageContainer!: ElementRef<HTMLElement>;\n\n @ViewChild('childOutlet')\n childOutlet?: TemplateRef<never>;\n\n protected rootPage: NgDocRootPage = inject(NgDocRootPage);\n protected skeleton: NgDocPageSkeleton = inject(NG_DOC_PAGE_SKELETON);\n protected changeDetectorRef = inject(ChangeDetectorRef);\n\n protected pageWrapper: NgDocPageWrapperComponent = inject(NgDocPageWrapperComponent);\n\n createToc(): void {\n if (this.pageWrapper.pageToc && this.skeleton.toc) {\n createComponent(this.pageWrapper.pageToc, this.skeleton.toc, {\n tableOfContent: generateToc(this.pageContainer.nativeElement) ?? [],\n });\n\n this.changeDetectorRef.detectChanges();\n }\n }\n}\n","<div class=\"ng-doc-page-controls\">\n <a\n ng-doc-button-icon\n *ngIf=\"rootPage.editSourceFileUrl\"\n [href]=\"rootPage.editSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"Suggest Edits\">\n <ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n </a>\n <a\n ng-doc-button-icon\n *ngIf=\"rootPage.viewSourceFileUrl\"\n [href]=\"rootPage.viewSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"View Source\">\n <ng-doc-icon icon=\"code\"></ng-doc-icon>\n </a>\n</div>\n\n<div\n class=\"ng-doc-page-wrapper\"\n [ngDocPageProcessor]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n (afterRender)=\"createToc()\"\n #pageContainer></div>\n\n<ng-doc-dialog-outlet\n *ngIf=\"!rootPage.page?.disableFullscreenRoutes\"\n [config]=\"{ width: '100vw', height: '100vh' }\">\n <div class=\"ng-doc-fullscreen-wrapper\">\n <router-outlet></router-outlet>\n </div>\n</ng-doc-dialog-outlet>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-components-page.mjs","sources":["../../../../libs/app/components/page/page.component.ts","../../../../libs/app/components/page/page.component.html","../../../../libs/app/components/page/ng-doc-app-components-page.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n inject,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocPageWrapperComponent } from '@ng-doc/app/components/page-wrapper';\nimport { createComponent, generateToc } from '@ng-doc/app/helpers';\nimport { NgDocPageSkeleton } from '@ng-doc/app/interfaces';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocPageProcessorComponent } from '@ng-doc/app/processors';\nimport { provideTypeControl } from '@ng-doc/app/providers/type-control';\nimport { NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';\nimport {\n NgDocBooleanControlComponent,\n NgDocNumberControlComponent,\n NgDocStringControlComponent,\n NgDocTypeAliasControlComponent,\n} from '@ng-doc/app/type-controls';\nimport {\n DialogOutletComponent,\n NgDocButtonIconComponent,\n NgDocIconComponent,\n NgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgDocButtonIconComponent,\n NgDocTooltipDirective,\n NgDocIconComponent,\n NgDocPageProcessorComponent,\n RouterOutlet,\n DialogOutletComponent,\n NgDocSanitizeHtmlPipe,\n ],\n providers: [\n provideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }),\n provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),\n provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),\n provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),\n ],\n host: { ngSkipHydration: 'true' },\n})\nexport class NgDocPageComponent {\n @ViewChild('pageContainer', { read: ElementRef, static: true })\n pageContainer!: ElementRef<HTMLElement>;\n\n @ViewChild('childOutlet')\n childOutlet?: TemplateRef<never>;\n\n protected rootPage: NgDocRootPage = inject(NgDocRootPage);\n protected skeleton: NgDocPageSkeleton = inject(NG_DOC_PAGE_SKELETON);\n protected changeDetectorRef = inject(ChangeDetectorRef);\n\n protected pageWrapper: NgDocPageWrapperComponent = inject(NgDocPageWrapperComponent);\n\n createToc(): void {\n if (this.pageWrapper.pageToc && this.skeleton.toc) {\n createComponent(this.pageWrapper.pageToc, this.skeleton.toc, {\n tableOfContent: generateToc(this.pageContainer.nativeElement) ?? [],\n });\n\n this.changeDetectorRef.detectChanges();\n }\n }\n}\n","<div class=\"ng-doc-page-controls\">\n <a\n ng-doc-button-icon\n *ngIf=\"rootPage.editSourceFileUrl\"\n [href]=\"rootPage.editSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"Suggest Edits\">\n <ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n </a>\n <a\n ng-doc-button-icon\n *ngIf=\"rootPage.viewSourceFileUrl\"\n [href]=\"rootPage.viewSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"View Source\">\n <ng-doc-icon icon=\"code\"></ng-doc-icon>\n </a>\n</div>\n\n<div\n class=\"ng-doc-page-wrapper\"\n [ngDocPageProcessor]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n (afterRender)=\"createToc()\"\n #pageContainer></div>\n\n<ng-doc-dialog-outlet\n *ngIf=\"!rootPage.page?.disableFullscreenRoutes\"\n [config]=\"{ width: '100vw', height: '100vh' }\">\n <div class=\"ng-doc-fullscreen-wrapper\">\n <router-outlet></router-outlet>\n </div>\n</ng-doc-dialog-outlet>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,21 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Injector, ChangeDetectorRef, ViewContainerRef, Component, ChangeDetectionStrategy, Input, ViewChild, HostBinding, EventEmitter, isDevMode, Output, Directive } from '@angular/core';
2
+ import { inject, Injector, ChangeDetectorRef, DestroyRef, ViewContainerRef, Component, ChangeDetectionStrategy, Input, ViewChild, HostBinding, EventEmitter, isDevMode, Output, Directive } from '@angular/core';
3
3
  import { extractFunctionDefaults } from '@ng-doc/core/helpers/extract-function-defaults';
4
4
  import { Subject, take } from 'rxjs';
5
- import { AsyncPipe, NgIf, NgFor, KeyValuePipe } from '@angular/common';
5
+ import { NgIf, NgFor, AsyncPipe, KeyValuePipe } from '@angular/common';
6
6
  import * as i2 from '@angular/forms';
7
7
  import { FormsModule } from '@angular/forms';
8
8
  import * as i1$1 from '@ng-doc/app/classes/root-page';
9
9
  import { isSameObject } from '@ng-doc/core/helpers/is-same-object';
10
10
  import { objectKeys } from '@ng-doc/core/helpers/object-keys';
11
- import { NgDocSmoothResizeComponent, NgDocLetDirective, NgDocLabelComponent, NgDocTooltipDirective, NgDocTextComponent, NgDocButtonComponent, NgDocCheckboxComponent, NgDocIconComponent, NgDocTextRightDirective, NgDocBindPipe, NgDocExecutePipe, NgDocAsArrayPipe } from '@ng-doc/ui-kit';
12
- import { __decorate } from 'tslib';
11
+ import { NgDocSmoothResizeComponent, NgDocLabelComponent, NgDocTooltipDirective, NgDocTextComponent, NgDocButtonComponent, NgDocCheckboxComponent, NgDocIconComponent, NgDocTextRightDirective, NgDocBindPipe, NgDocExecutePipe, NgDocAsArrayPipe } from '@ng-doc/ui-kit';
12
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
13
13
  import { NgDocDemoDisplayerComponent } from '@ng-doc/app/components/demo-displayer';
14
14
  import { formatHtml, isPlaygroundProperty } from '@ng-doc/app/helpers';
15
15
  import { getPlaygroundDemoToken } from '@ng-doc/app/providers/playground-demo';
16
16
  import { buildPlaygroundDemoPipeTemplate, buildPlaygroundDemoTemplate } from '@ng-doc/core/helpers/build-playground-demo-template';
17
17
  import { stringify } from '@ng-doc/core/helpers/stringify';
18
- import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
19
18
  import { takeUntil, startWith, map } from 'rxjs/operators';
20
19
  import * as i1 from '@angular/cdk/layout';
21
20
  import { Breakpoints } from '@angular/cdk/layout';
@@ -24,7 +23,7 @@ import { extractValueOrThrow } from '@ng-doc/core/helpers/extract-value';
24
23
  import { isPresent } from '@ng-doc/core/helpers/is-present';
25
24
  import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';
26
25
 
27
- let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
26
+ class NgDocPlaygroundDemoComponent {
28
27
  constructor() {
29
28
  this.id = '';
30
29
  this.pipeName = '';
@@ -34,6 +33,7 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
34
33
  this.code = '';
35
34
  this.injector = inject(Injector);
36
35
  this.changeDetectorRef = inject(ChangeDetectorRef);
36
+ this.destroyRef = inject(DestroyRef);
37
37
  this.unsubscribe$ = new Subject();
38
38
  }
39
39
  async ngOnChanges({ form, id }) {
@@ -46,7 +46,7 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
46
46
  }
47
47
  await this.updateDemo();
48
48
  this.form?.valueChanges
49
- .pipe(takeUntil(this.unsubscribe$), untilDestroyed(this), startWith(this.form?.value))
49
+ .pipe(takeUntil(this.unsubscribe$), startWith(this.form?.value), takeUntilDestroyed(this.destroyRef))
50
50
  .subscribe((data) => this.updateDemo(data));
51
51
  }
52
52
  }
@@ -123,13 +123,10 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
123
123
  }
124
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgDocPlaygroundDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
125
125
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: NgDocPlaygroundDemoComponent, isStandalone: true, selector: "ng-doc-playground-demo", inputs: { id: "id", pipeName: "pipeName", selector: "selector", configuration: "configuration", properties: "properties", recreateDemo: "recreateDemo", form: "form", expanded: "expanded" }, viewQueries: [{ propertyName: "demoOutlet", first: true, predicate: ["demoOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-doc-smooth-resize [trigger]=\"code\">\n <ng-doc-demo-displayer\n [code]=\"code\"\n [border]=\"false\"\n [expanded]=\"expanded\"\n language=\"angular-html\">\n <ng-container #demoOutlet></ng-container>\n </ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\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: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
126
- };
127
- NgDocPlaygroundDemoComponent = __decorate([
128
- UntilDestroy()
129
- ], NgDocPlaygroundDemoComponent);
126
+ }
130
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgDocPlaygroundDemoComponent, decorators: [{
131
128
  type: Component,
132
- args: [{ selector: 'ng-doc-playground-demo', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgDocDemoDisplayerComponent, AsyncPipe, NgDocSmoothResizeComponent, NgDocLetDirective], template: "<ng-doc-smooth-resize [trigger]=\"code\">\n <ng-doc-demo-displayer\n [code]=\"code\"\n [border]=\"false\"\n [expanded]=\"expanded\"\n language=\"angular-html\">\n <ng-container #demoOutlet></ng-container>\n </ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\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"] }]
129
+ args: [{ selector: 'ng-doc-playground-demo', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgDocDemoDisplayerComponent, NgDocSmoothResizeComponent], template: "<ng-doc-smooth-resize [trigger]=\"code\">\n <ng-doc-demo-displayer\n [code]=\"code\"\n [border]=\"false\"\n [expanded]=\"expanded\"\n language=\"angular-html\">\n <ng-container #demoOutlet></ng-container>\n </ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\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"] }]
133
130
  }], propDecorators: { id: [{
134
131
  type: Input
135
132
  }], pipeName: [{