@ng-doc/app 17.1.3 → 17.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/page/page.component.d.ts +4 -3
- package/components/page-link/page-link.component.d.ts +3 -3
- package/components/toc/toc-element/toc-element.component.d.ts +1 -2
- package/components/toc/toc.component.d.ts +5 -4
- package/esm2022/components/api-list/api-list.component.mjs +3 -3
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/components/code/code.component.mjs +5 -7
- package/esm2022/components/demo/demo.component.mjs +3 -3
- package/esm2022/components/demo-displayer/demo-displayer.component.mjs +3 -3
- package/esm2022/components/demo-pane/demo-pane.component.mjs +3 -3
- package/esm2022/components/fullscreen-button/fullscreen-button.component.mjs +3 -3
- package/esm2022/components/kind-icon/kind-icon.component.mjs +3 -3
- package/esm2022/components/link/link.component.mjs +3 -3
- package/esm2022/components/navbar/navbar.component.mjs +17 -15
- package/esm2022/components/page/page.component.mjs +15 -18
- package/esm2022/components/page-link/page-link.component.mjs +10 -9
- package/esm2022/components/page-navigation/page-navigation.component.mjs +3 -3
- package/esm2022/components/playground/base-playground.mjs +3 -3
- package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +3 -3
- package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +3 -3
- package/esm2022/components/playground/playground-property/playground-property.component.mjs +3 -3
- package/esm2022/components/playground/playground.component.mjs +3 -3
- package/esm2022/components/root/root.component.mjs +9 -9
- package/esm2022/components/search/search.component.mjs +3 -3
- package/esm2022/components/search-result/search-result.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar.component.mjs +5 -5
- package/esm2022/components/tabs/tabs.component.mjs +3 -3
- package/esm2022/components/theme-toggle/theme-toggle.component.mjs +3 -3
- package/esm2022/components/toc/toc-element/toc-element.component.mjs +8 -8
- package/esm2022/components/toc/toc.component.mjs +43 -39
- package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +3 -3
- package/esm2022/directives/route-active/route-active.directive.mjs +3 -3
- package/esm2022/helpers/create-component.mjs +1 -2
- package/esm2022/interfaces/page-processor.mjs +1 -1
- package/esm2022/pipes/extract-value/extract-value.pipe.mjs +3 -3
- package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +3 -3
- package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +3 -3
- package/esm2022/processors/page-processor/page-processor.directive.mjs +19 -13
- package/esm2022/processors/processors/icon.processor.mjs +2 -2
- package/esm2022/processors/processors/tabs.processor.mjs +5 -3
- package/esm2022/processors/processors/tooltip.processor.mjs +3 -3
- package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +5 -5
- package/esm2022/services/sidebar/sidebar.service.mjs +3 -3
- package/esm2022/services/store/store.service.mjs +13 -7
- package/esm2022/services/theme/theme.service.mjs +12 -9
- package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +3 -3
- package/esm2022/type-controls/number-control/number-control.component.mjs +3 -3
- package/esm2022/type-controls/string-control/string-control.component.mjs +3 -3
- package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +3 -3
- package/fesm2022/ng-doc-app-components-api-list.mjs +3 -3
- package/fesm2022/ng-doc-app-components-breadcrumb.mjs +3 -3
- package/fesm2022/ng-doc-app-components-code.mjs +4 -6
- package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs +3 -3
- package/fesm2022/ng-doc-app-components-demo-pane.mjs +3 -3
- package/fesm2022/ng-doc-app-components-demo.mjs +3 -3
- package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +3 -3
- package/fesm2022/ng-doc-app-components-kind-icon.mjs +3 -3
- package/fesm2022/ng-doc-app-components-link.mjs +3 -3
- package/fesm2022/ng-doc-app-components-navbar.mjs +16 -14
- package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-link.mjs +9 -8
- package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-navigation.mjs +3 -3
- package/fesm2022/ng-doc-app-components-page.mjs +14 -17
- package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-playground.mjs +15 -15
- package/fesm2022/ng-doc-app-components-root.mjs +9 -9
- package/fesm2022/ng-doc-app-components-search-result.mjs +3 -3
- package/fesm2022/ng-doc-app-components-search.mjs +3 -3
- package/fesm2022/ng-doc-app-components-sidebar.mjs +10 -10
- package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-tabs.mjs +3 -3
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs +3 -3
- package/fesm2022/ng-doc-app-components-toc.mjs +48 -44
- package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +3 -3
- package/fesm2022/ng-doc-app-directives-route-active.mjs +3 -3
- package/fesm2022/ng-doc-app-helpers.mjs +0 -1
- package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-extract-value.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +3 -3
- package/fesm2022/ng-doc-app-processors-page-processor.mjs +18 -12
- package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors.mjs +9 -8
- package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +4 -4
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-sidebar.mjs +3 -3
- package/fesm2022/ng-doc-app-services-store.mjs +12 -6
- package/fesm2022/ng-doc-app-services-store.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-theme.mjs +11 -8
- package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-number-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +3 -3
- package/interfaces/page-processor.d.ts +3 -2
- package/package.json +3 -3
- package/processors/page-processor/page-processor.directive.d.ts +7 -6
- package/services/store/store.service.d.ts +1 -0
|
@@ -6,10 +6,10 @@ class NgDocKindIconComponent {
|
|
|
6
6
|
this.kind = '';
|
|
7
7
|
this.type = 'declaration';
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocKindIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocKindIconComponent, isStandalone: true, selector: "ng-doc-kind-icon", inputs: { kind: "kind", type: "type" }, host: { properties: { "attr.data-ng-doc-kind": "this.kind", "attr.data-ng-doc-type": "this.type" } }, ngImport: i0, template: '{{kind[0]}}', isInline: true, styles: [":host{display:inline-block;width:calc(var(--ng-doc-base-gutter) * 2);height:calc(var(--ng-doc-base-gutter) * 2);border-radius:calc(var(--ng-doc-base-gutter) / 4);font-size:13px;text-align:center;line-height:calc(var(--ng-doc-base-gutter) * 2);text-transform:uppercase;flex-shrink:0;font-weight:700}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Class]{background-color:var(--ng-doc-class-background);color:var(--ng-doc-class-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Interface]{background-color:var(--ng-doc-interface-background);color:var(--ng-doc-interface-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Enum]{background-color:var(--ng-doc-enum-background);color:var(--ng-doc-enum-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Variable]{background-color:var(--ng-doc-variable-background);color:var(--ng-doc-variable-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Function]{background-color:var(--ng-doc-function-background);color:var(--ng-doc-function-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=TypeAlias]{background-color:var(--ng-doc-type-alias-background);color:var(--ng-doc-type-alias-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Component]{background-color:var(--ng-doc-component-decorator-background);color:var(--ng-doc-component-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Directive]{background-color:var(--ng-doc-directive-decorator-background);color:var(--ng-doc-directive-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Injectable]{background-color:var(--ng-doc-injectable-decorator-background);color:var(--ng-doc-injectable-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Pipe]{background-color:var(--ng-doc-pipe-decorator-background);color:var(--ng-doc-pipe-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=NgModule]{background-color:var(--ng-doc-ng-module-decorator-background);color:var(--ng-doc-ng-module-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=ng-doc-tag-selector]{background-color:var(--ng-doc-selector-background);color:var(--ng-doc-selector-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=string]{background-color:var(--ng-doc-string-background);color:var(--ng-doc-string-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=number]{background-color:var(--ng-doc-number-background);color:var(--ng-doc-number-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=boolean]{background-color:var(--ng-doc-boolean-background);color:var(--ng-doc-boolean-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=null]{background-color:var(--ng-doc-null-background);color:var(--ng-doc-null-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=undefined]{background-color:var(--ng-doc-undefined-background);color:var(--ng-doc-undefined-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=object]{background-color:var(--ng-doc-object-background);color:var(--ng-doc-object-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocKindIconComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'ng-doc-kind-icon', template: '{{kind[0]}}', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{display:inline-block;width:calc(var(--ng-doc-base-gutter) * 2);height:calc(var(--ng-doc-base-gutter) * 2);border-radius:calc(var(--ng-doc-base-gutter) / 4);font-size:13px;text-align:center;line-height:calc(var(--ng-doc-base-gutter) * 2);text-transform:uppercase;flex-shrink:0;font-weight:700}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Class]{background-color:var(--ng-doc-class-background);color:var(--ng-doc-class-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Interface]{background-color:var(--ng-doc-interface-background);color:var(--ng-doc-interface-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Enum]{background-color:var(--ng-doc-enum-background);color:var(--ng-doc-enum-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Variable]{background-color:var(--ng-doc-variable-background);color:var(--ng-doc-variable-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Function]{background-color:var(--ng-doc-function-background);color:var(--ng-doc-function-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=TypeAlias]{background-color:var(--ng-doc-type-alias-background);color:var(--ng-doc-type-alias-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Component]{background-color:var(--ng-doc-component-decorator-background);color:var(--ng-doc-component-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Directive]{background-color:var(--ng-doc-directive-decorator-background);color:var(--ng-doc-directive-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Injectable]{background-color:var(--ng-doc-injectable-decorator-background);color:var(--ng-doc-injectable-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=Pipe]{background-color:var(--ng-doc-pipe-decorator-background);color:var(--ng-doc-pipe-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=NgModule]{background-color:var(--ng-doc-ng-module-decorator-background);color:var(--ng-doc-ng-module-decorator-color)}:host[data-ng-doc-type=declaration][data-ng-doc-kind=ng-doc-tag-selector]{background-color:var(--ng-doc-selector-background);color:var(--ng-doc-selector-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=string]{background-color:var(--ng-doc-string-background);color:var(--ng-doc-string-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=number]{background-color:var(--ng-doc-number-background);color:var(--ng-doc-number-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=boolean]{background-color:var(--ng-doc-boolean-background);color:var(--ng-doc-boolean-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=null]{background-color:var(--ng-doc-null-background);color:var(--ng-doc-null-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=undefined]{background-color:var(--ng-doc-undefined-background);color:var(--ng-doc-undefined-color)}:host[data-ng-doc-type=type][data-ng-doc-kind=object]{background-color:var(--ng-doc-object-background);color:var(--ng-doc-object-color)}\n"] }]
|
|
15
15
|
}], propDecorators: { kind: [{
|
|
@@ -6,10 +6,10 @@ class NgDocLinkComponent {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
this.path = '';
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocLinkComponent, isStandalone: true, selector: "ng-doc-link", inputs: { path: "path" }, ngImport: i0, template: "<a [routerLink]=\"[path]\">\n\t<ng-content></ng-content>\n</a>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocLinkComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'ng-doc-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [RouterLink], template: "<a [routerLink]=\"[path]\">\n\t<ng-content></ng-content>\n</a>\n" }]
|
|
15
15
|
}], propDecorators: { path: [{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __metadata, __decorate } from 'tslib';
|
|
2
2
|
import { NgIf, AsyncPipe } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { NgZone, ChangeDetectorRef, Component, ChangeDetectionStrategy, Inject, Input, HostBinding } from '@angular/core';
|
|
4
|
+
import { afterNextRender, NgZone, ChangeDetectorRef, Component, ChangeDetectionStrategy, Inject, Input, HostBinding } from '@angular/core';
|
|
5
5
|
import { NgDocSearchComponent } from '@ng-doc/app/components/search';
|
|
6
6
|
import * as i1 from '@ng-doc/app/services';
|
|
7
7
|
import { NgDocSidebarService } from '@ng-doc/app/services';
|
|
@@ -50,19 +50,21 @@ let NgDocNavbarComponent = class NgDocNavbarComponent {
|
|
|
50
50
|
* Indicates if navbar has shadow
|
|
51
51
|
*/
|
|
52
52
|
this.hasShadow = false;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
afterNextRender(() => {
|
|
54
|
+
combineLatest([
|
|
55
|
+
fromEvent(this.window, 'scroll').pipe(map((e) => (e.target?.scrollingElement?.scrollTop ?? 0) > 0), distinctUntilChanged(), startWith(false), ngDocZoneOptimize(this.ngZone)),
|
|
56
|
+
this.sidebarService.isMobileMode(),
|
|
57
|
+
this.sidebarService.isExpanded(),
|
|
58
|
+
])
|
|
59
|
+
.pipe(map(([scrolled, isMobileMode, isExpanded]) => scrolled || (isMobileMode && isExpanded)), untilDestroyed(this))
|
|
60
|
+
.subscribe((hasShadow) => {
|
|
61
|
+
this.hasShadow = hasShadow;
|
|
62
|
+
this.changeDetectorRef.markForCheck();
|
|
63
|
+
});
|
|
62
64
|
});
|
|
63
65
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocNavbarComponent, deps: [{ token: WINDOW }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.NgDocSidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: NgDocNavbarComponent, isStandalone: true, selector: "ng-doc-navbar", inputs: { leftContent: "leftContent", centerContent: "centerContent", rightContent: "rightContent", search: "search", hamburger: "hamburger", glassEffect: "glassEffect" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "attr.data-glass-effect": "this.glassEffect", "class.has-shadow": "this.hasShadow" } }, ngImport: i0, template: "<div class=\"navbar-container\" *ngDocLet=\"false as isMobileMode\">\n\t<div class=\"ng-doc-navbar-left\">\n\t\t<ng-container *polymorpheusOutlet=\"leftContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-center\">\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t\t@if (search && !isMobileMode) {\n\t\t<ng-doc-search></ng-doc-search>\n\t\t}\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t@if (search && isMobileMode) {\n\t\t<ng-doc-search mod=\"icon\"></ng-doc-search>\n\t\t}\n\t\t<ng-container *polymorpheusOutlet=\"rightContent\"></ng-container>\n\t\t<button\n\t\t\tclass=\"ng-doc-menu\"\n\t\t\t*ngIf=\"isMobileMode && hamburger\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\">\n\t\t\t<ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n\t\t</button>\n\t</div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;transition:var(--ng-doc-transition) box-shadow}:host:not([data-glass-effect=false]){-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}:host:not([data-glass-effect=false]){position:relative}:host:not([data-glass-effect=false]):before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.6;border-radius:inherit;overflow:hidden;pointer-events:none}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-shadow{box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-center,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-center{padding:0 var(--ng-doc-app-horizontal-padding);justify-content:flex-start;max-width:calc(100% - var(--ng-doc-toc-width))}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}\n"], dependencies: [{ kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocSearchComponent, selector: "ng-doc-search", inputs: ["mod"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
66
68
|
};
|
|
67
69
|
NgDocNavbarComponent = __decorate([
|
|
68
70
|
UntilDestroy(),
|
|
@@ -71,7 +73,7 @@ NgDocNavbarComponent = __decorate([
|
|
|
71
73
|
ChangeDetectorRef,
|
|
72
74
|
NgDocSidebarService])
|
|
73
75
|
], NgDocNavbarComponent);
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocNavbarComponent, decorators: [{
|
|
75
77
|
type: Component,
|
|
76
78
|
args: [{ selector: 'ng-doc-navbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
77
79
|
NgDocLetDirective,
|
|
@@ -81,7 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
81
83
|
NgDocButtonIconComponent,
|
|
82
84
|
NgDocIconComponent,
|
|
83
85
|
AsyncPipe,
|
|
84
|
-
], template: "<div class=\"navbar-container\" *ngDocLet=\"
|
|
86
|
+
], host: { ngSkipHydration: 'true' }, template: "<div class=\"navbar-container\" *ngDocLet=\"false as isMobileMode\">\n\t<div class=\"ng-doc-navbar-left\">\n\t\t<ng-container *polymorpheusOutlet=\"leftContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-center\">\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t\t@if (search && !isMobileMode) {\n\t\t<ng-doc-search></ng-doc-search>\n\t\t}\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t@if (search && isMobileMode) {\n\t\t<ng-doc-search mod=\"icon\"></ng-doc-search>\n\t\t}\n\t\t<ng-container *polymorpheusOutlet=\"rightContent\"></ng-container>\n\t\t<button\n\t\t\tclass=\"ng-doc-menu\"\n\t\t\t*ngIf=\"isMobileMode && hamburger\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\">\n\t\t\t<ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n\t\t</button>\n\t</div>\n</div>\n", styles: [":host{position:relative;display:flex;justify-content:center;height:100%;transition:var(--ng-doc-transition) box-shadow}:host:not([data-glass-effect=false]){-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}:host:not([data-glass-effect=false]){position:relative}:host:not([data-glass-effect=false]):before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.6;border-radius:inherit;overflow:hidden;pointer-events:none}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){:host{background-color:var(--ng-doc-navbar-background)}}:host[data-glass-effect=false]{background-color:var(--ng-doc-navbar-background)}:host.has-shadow{box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}:host .navbar-container{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}:host .ng-doc-navbar-left,:host .ng-doc-navbar-center,:host .ng-doc-navbar-right{display:flex;align-items:center}:host .ng-doc-navbar-left{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}:host .ng-doc-navbar-center{padding:0 var(--ng-doc-app-horizontal-padding);justify-content:flex-start;max-width:calc(100% - var(--ng-doc-toc-width))}:host .ng-doc-navbar-right{justify-content:flex-end;margin-left:auto}:host .ng-doc-menu{margin-left:calc(var(--ng-doc-base-gutter) * 2)}\n"] }]
|
|
85
87
|
}], ctorParameters: () => [{ type: Window, decorators: [{
|
|
86
88
|
type: Inject,
|
|
87
89
|
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\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tHostBinding,\n\tInject,\n\tInput,\n\tNgZone,\n} from '@angular/core';\nimport { NgDocSearchComponent } from '@ng-doc/app/components/search';\nimport { NgDocSidebarService } from '@ng-doc/app/services';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocContent,\n\tNgDocIconComponent,\n\tNgDocLetDirective,\n\tngDocZoneOptimize,\n} from '@ng-doc/ui-kit';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\nimport { combineLatest, fromEvent } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\n/**\n * Navbar component for ng-doc application\n */\n@Component({\n\tselector: 'ng-doc-navbar',\n\ttemplateUrl: './navbar.component.html',\n\tstyleUrls: ['./navbar.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocLetDirective,\n\t\tPolymorpheusModule,\n\t\tNgIf,\n\t\tNgDocSearchComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocIconComponent,\n\t\tAsyncPipe,\n\t],\n})\n@UntilDestroy()\nexport class NgDocNavbarComponent {\n\t/**\n\t * Content for left side of navbar\n\t */\n\t@Input()\n\tleftContent: NgDocContent = '';\n\n\t/**\n\t * Content for center side of navbar\n\t */\n\t@Input()\n\tcenterContent: NgDocContent = '';\n\n\t/**\n\t * Content for right side of navbar\n\t */\n\t@Input()\n\trightContent: NgDocContent = '';\n\n\t/**\n\t * Show search input\n\t */\n\t@Input()\n\tsearch: boolean = true;\n\n\t/**\n\t * Show hamburger button\n\t */\n\t@Input()\n\thamburger: boolean = true;\n\n\t/**\n\t * Use glass effect for navbar\n\t */\n\t@Input()\n\t@HostBinding('attr.data-glass-effect')\n\tglassEffect: boolean = true;\n\n\t/**\n\t * Indicates if navbar has shadow\n\t */\n\t@HostBinding('class.has-shadow')\n\thasShadow: boolean = false;\n\n\tconstructor(\n\t\t@Inject(WINDOW)\n\t\tprivate readonly window: Window,\n\t\tprivate readonly ngZone: NgZone,\n\t\tprivate readonly changeDetectorRef: ChangeDetectorRef,\n\t\tprotected readonly sidebarService: NgDocSidebarService,\n\t) {\n\t\tcombineLatest([\n\t\t\tfromEvent(this.window, 'scroll').pipe(\n\t\t\t\tmap((e: Event) => ((e.target as Document)?.scrollingElement?.scrollTop ?? 0) > 0),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tstartWith(false),\n\t\t\t),\n\t\t\tthis.sidebarService.isMobileMode(),\n\t\t\tthis.sidebarService.isExpanded(),\n\t\t])\n\t\t\t.pipe(\n\t\t\t\tmap(\n\t\t\t\t\t([scrolled, isMobileMode, isExpanded]: [boolean, boolean, boolean]) =>\n\t\t\t\t\t\tscrolled || (isMobileMode && isExpanded),\n\t\t\t\t),\n\t\t\t\
|
|
1
|
+
{"version":3,"file":"ng-doc-app-components-navbar.mjs","sources":["../../../../libs/app/components/navbar/navbar.component.ts","../../../../libs/app/components/navbar/navbar.component.html","../../../../libs/app/components/navbar/ng-doc-app-components-navbar.ts"],"sourcesContent":["import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n\tafterNextRender,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tHostBinding,\n\tInject,\n\tInput,\n\tNgZone,\n} from '@angular/core';\nimport { NgDocSearchComponent } from '@ng-doc/app/components/search';\nimport { NgDocSidebarService } from '@ng-doc/app/services';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocContent,\n\tNgDocIconComponent,\n\tNgDocLetDirective,\n\tngDocZoneOptimize,\n} from '@ng-doc/ui-kit';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\nimport { combineLatest, fromEvent } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\n/**\n * Navbar component for ng-doc application\n */\n@Component({\n\tselector: 'ng-doc-navbar',\n\ttemplateUrl: './navbar.component.html',\n\tstyleUrls: ['./navbar.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocLetDirective,\n\t\tPolymorpheusModule,\n\t\tNgIf,\n\t\tNgDocSearchComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocIconComponent,\n\t\tAsyncPipe,\n\t],\n\thost: { ngSkipHydration: 'true' },\n})\n@UntilDestroy()\nexport class NgDocNavbarComponent {\n\t/**\n\t * Content for left side of navbar\n\t */\n\t@Input()\n\tleftContent: NgDocContent = '';\n\n\t/**\n\t * Content for center side of navbar\n\t */\n\t@Input()\n\tcenterContent: NgDocContent = '';\n\n\t/**\n\t * Content for right side of navbar\n\t */\n\t@Input()\n\trightContent: NgDocContent = '';\n\n\t/**\n\t * Show search input\n\t */\n\t@Input()\n\tsearch: boolean = true;\n\n\t/**\n\t * Show hamburger button\n\t */\n\t@Input()\n\thamburger: boolean = true;\n\n\t/**\n\t * Use glass effect for navbar\n\t */\n\t@Input()\n\t@HostBinding('attr.data-glass-effect')\n\tglassEffect: boolean = true;\n\n\t/**\n\t * Indicates if navbar has shadow\n\t */\n\t@HostBinding('class.has-shadow')\n\thasShadow: boolean = false;\n\n\tconstructor(\n\t\t@Inject(WINDOW)\n\t\tprivate readonly window: Window,\n\t\tprivate readonly ngZone: NgZone,\n\t\tprivate readonly changeDetectorRef: ChangeDetectorRef,\n\t\tprotected readonly sidebarService: NgDocSidebarService,\n\t) {\n\t\tafterNextRender(() => {\n\t\t\tcombineLatest([\n\t\t\t\tfromEvent(this.window, 'scroll').pipe(\n\t\t\t\t\tmap((e: Event) => ((e.target as Document)?.scrollingElement?.scrollTop ?? 0) > 0),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tstartWith(false),\n\t\t\t\t\tngDocZoneOptimize(this.ngZone),\n\t\t\t\t),\n\t\t\t\tthis.sidebarService.isMobileMode(),\n\t\t\t\tthis.sidebarService.isExpanded(),\n\t\t\t])\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(\n\t\t\t\t\t\t([scrolled, isMobileMode, isExpanded]: [boolean, boolean, boolean]) =>\n\t\t\t\t\t\t\tscrolled || (isMobileMode && isExpanded),\n\t\t\t\t\t),\n\t\t\t\t\tuntilDestroyed(this),\n\t\t\t\t)\n\t\t\t\t.subscribe((hasShadow: boolean) => {\n\t\t\t\t\tthis.hasShadow = hasShadow;\n\t\t\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t\t\t});\n\t\t});\n\t}\n}\n","<div class=\"navbar-container\" *ngDocLet=\"false as isMobileMode\">\n\t<div class=\"ng-doc-navbar-left\">\n\t\t<ng-container *polymorpheusOutlet=\"leftContent\"></ng-container>\n\t</div>\n\t<div class=\"ng-doc-navbar-center\">\n\t\t<ng-container *polymorpheusOutlet=\"centerContent\"></ng-container>\n\t\t@if (search && !isMobileMode) {\n\t\t<ng-doc-search></ng-doc-search>\n\t\t}\n\t</div>\n\t<div class=\"ng-doc-navbar-right\">\n\t\t@if (search && isMobileMode) {\n\t\t<ng-doc-search mod=\"icon\"></ng-doc-search>\n\t\t}\n\t\t<ng-container *polymorpheusOutlet=\"rightContent\"></ng-container>\n\t\t<button\n\t\t\tclass=\"ng-doc-menu\"\n\t\t\t*ngIf=\"isMobileMode && hamburger\"\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t(click)=\"sidebarService.toggle()\">\n\t\t\t<ng-doc-icon icon=\"menu\" [size]=\"24\"></ng-doc-icon>\n\t\t</button>\n\t</div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
3
|
+
import { ElementRef, inject, Renderer2, Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
4
4
|
import { RouterLink } from '@angular/router';
|
|
5
5
|
import { NgDocIconComponent } from '@ng-doc/ui-kit';
|
|
6
6
|
|
|
7
7
|
class NgDocPageLinkComponent {
|
|
8
|
-
constructor(
|
|
9
|
-
this.elementRef = elementRef;
|
|
8
|
+
constructor() {
|
|
10
9
|
this.href = '';
|
|
11
10
|
this.classes = '';
|
|
12
11
|
this.isInCode = false;
|
|
12
|
+
this.elementRef = inject(ElementRef);
|
|
13
|
+
this.renderer = inject(Renderer2);
|
|
13
14
|
}
|
|
14
15
|
ngOnInit() {
|
|
15
16
|
this.isInCode = this.elementRef.nativeElement.closest('code') !== null;
|
|
16
17
|
}
|
|
17
18
|
ngOnChanges() {
|
|
18
|
-
this.link =
|
|
19
|
+
this.link = this.renderer.createElement('a');
|
|
19
20
|
this.link.href = this.href;
|
|
20
21
|
}
|
|
21
22
|
get isExternalLink() {
|
|
@@ -30,13 +31,13 @@ class NgDocPageLinkComponent {
|
|
|
30
31
|
get queryParams() {
|
|
31
32
|
return Object.fromEntries(new URLSearchParams(this.link?.search.replace(/^\?/, '') ?? '').entries());
|
|
32
33
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPageLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocPageLinkComponent, isStandalone: true, selector: "ng-doc-page-link", inputs: { href: "href", classes: "classes" }, usesOnChanges: true, ngImport: i0, template: "<a\n\t[class]=\"classes\"\n\t[routerLink]=\"path\"\n\t[fragment]=\"fragment\"\n\t[queryParams]=\"queryParams\"\n\t*ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35
36
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPageLinkComponent, decorators: [{
|
|
37
38
|
type: Component,
|
|
38
39
|
args: [{ selector: 'ng-doc-page-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent], template: "<a\n\t[class]=\"classes\"\n\t[routerLink]=\"path\"\n\t[fragment]=\"fragment\"\n\t[queryParams]=\"queryParams\"\n\t*ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"] }]
|
|
39
|
-
}],
|
|
40
|
+
}], propDecorators: { href: [{
|
|
40
41
|
type: Input,
|
|
41
42
|
args: [{ required: true }]
|
|
42
43
|
}], classes: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-components-page-link.mjs","sources":["../../../../libs/app/components/page-link/page-link.component.ts","../../../../libs/app/components/page-link/page-link.component.html","../../../../libs/app/components/page-link/ng-doc-app-components-page-link.ts"],"sourcesContent":["import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\tInput,\n\tOnChanges,\n\tOnInit,\n} from '@angular/core';\nimport { Params, RouterLink } from '@angular/router';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-page-link',\n\ttemplateUrl: './page-link.component.html',\n\tstyleUrls: ['./page-link.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent],\n})\nexport class NgDocPageLinkComponent implements OnInit, OnChanges {\n\t@Input({ required: true })\n\thref: string = '';\n\n\t@Input()\n\tclasses: string = '';\n\n\tprotected isInCode: boolean = false;\n\n\tprivate link: HTMLAnchorElement | undefined;\n\n\
|
|
1
|
+
{"version":3,"file":"ng-doc-app-components-page-link.mjs","sources":["../../../../libs/app/components/page-link/page-link.component.ts","../../../../libs/app/components/page-link/page-link.component.html","../../../../libs/app/components/page-link/ng-doc-app-components-page-link.ts"],"sourcesContent":["import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\tinject,\n\tInput,\n\tOnChanges,\n\tOnInit,\n\tRenderer2,\n} from '@angular/core';\nimport { Params, RouterLink } from '@angular/router';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-page-link',\n\ttemplateUrl: './page-link.component.html',\n\tstyleUrls: ['./page-link.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent],\n})\nexport class NgDocPageLinkComponent implements OnInit, OnChanges {\n\t@Input({ required: true })\n\thref: string = '';\n\n\t@Input()\n\tclasses: string = '';\n\n\tprotected isInCode: boolean = false;\n\n\tprivate link: HTMLAnchorElement | undefined;\n\n\tprivate readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\tprivate readonly renderer: Renderer2 = inject(Renderer2);\n\n\tngOnInit(): void {\n\t\tthis.isInCode = this.elementRef.nativeElement.closest('code') !== null;\n\t}\n\n\tngOnChanges(): void {\n\t\tthis.link = this.renderer.createElement('a') as HTMLAnchorElement;\n\t\tthis.link.href = this.href;\n\t}\n\n\tget isExternalLink(): boolean {\n\t\treturn this.href.startsWith('http');\n\t}\n\n\tget path(): string {\n\t\treturn (!this.isExternalLink ? this.link?.pathname : this.href) ?? '';\n\t}\n\n\tget fragment(): string | undefined {\n\t\treturn this.link?.hash.replace(/^#/, '') || undefined;\n\t}\n\n\tget queryParams(): Params {\n\t\treturn Object.fromEntries(\n\t\t\tnew URLSearchParams(this.link?.search.replace(/^\\?/, '') ?? '').entries(),\n\t\t);\n\t}\n}\n","<a\n\t[class]=\"classes\"\n\t[routerLink]=\"path\"\n\t[fragment]=\"fragment\"\n\t[queryParams]=\"queryParams\"\n\t*ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@ import { RouterLink } from '@angular/router';
|
|
|
6
6
|
import { NgDocIconComponent, NgDocTextComponent, NgDocTextLeftDirective, NgDocTextRightDirective } from '@ng-doc/ui-kit';
|
|
7
7
|
|
|
8
8
|
class NgDocPageNavigationComponent {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPageNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocPageNavigationComponent, isStandalone: true, selector: "ng-doc-page-navigation", inputs: { prevPage: "prevPage", nextPage: "nextPage" }, ngImport: i0, template: "<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n", styles: [":host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPageNavigationComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'ng-doc-page-navigation', standalone: true, imports: [
|
|
15
15
|
CommonModule,
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import { NgIf, NgComponentOutlet } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, ElementRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
4
|
+
import { inject, Renderer2, ElementRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
5
5
|
import { Router, ActivatedRoute, RouterOutlet } from '@angular/router';
|
|
6
6
|
import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
|
|
7
7
|
import { NgDocBreadcrumbComponent } from '@ng-doc/app/components/breadcrumb';
|
|
8
8
|
import { NgDocTocComponent } from '@ng-doc/app/components/toc';
|
|
9
9
|
import { createComponent, generateToc } from '@ng-doc/app/helpers';
|
|
10
|
-
import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes/sanitize-html';
|
|
11
10
|
import { NgDocPageProcessorDirective } from '@ng-doc/app/processors';
|
|
12
11
|
import { provideTypeControl } from '@ng-doc/app/providers/type-control';
|
|
13
12
|
import { NG_DOC_PAGE_SKELETON, NG_DOC_CONTEXT } from '@ng-doc/app/tokens';
|
|
@@ -21,13 +20,14 @@ let NgDocPageComponent = class NgDocPageComponent {
|
|
|
21
20
|
this.rootPage = inject(NgDocRootPage);
|
|
22
21
|
this.skeleton = inject(NG_DOC_PAGE_SKELETON);
|
|
23
22
|
this.context = inject(NG_DOC_CONTEXT);
|
|
23
|
+
this.renderer = inject(Renderer2);
|
|
24
24
|
this.router = inject(Router);
|
|
25
25
|
this.breadcrumbs = inject(ActivatedRoute)
|
|
26
26
|
.pathFromRoot.filter((route) => !route.snapshot.url.length)
|
|
27
27
|
.map((route) => route.snapshot.title)
|
|
28
28
|
.filter(isPresent);
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
ngOnInit() {
|
|
31
31
|
if (this.rootPage.pageType === 'guide') {
|
|
32
32
|
if (this.skeleton.breadcrumbs) {
|
|
33
33
|
createComponent(this.pageBreadcrumbs, this.skeleton.breadcrumbs, {
|
|
@@ -38,13 +38,11 @@ let NgDocPageComponent = class NgDocPageComponent {
|
|
|
38
38
|
createComponent(this.pageNavigation, this.skeleton.navigation, this.navigationInputs());
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
});
|
|
41
|
+
if (this.pageToc && this.skeleton.toc) {
|
|
42
|
+
createComponent(this.pageToc, this.skeleton.toc, {
|
|
43
|
+
tableOfContent: generateToc(this.pageContainer.nativeElement) ?? [],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
48
46
|
}
|
|
49
47
|
navigationInputs() {
|
|
50
48
|
const flatItems = (items) => items
|
|
@@ -62,18 +60,18 @@ let NgDocPageComponent = class NgDocPageComponent {
|
|
|
62
60
|
urlTree.fragment = null;
|
|
63
61
|
return urlTree.toString();
|
|
64
62
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: NgDocPageComponent, isStandalone: true, selector: "ng-doc-page", host: { attributes: { "ngSkipHydration": "true" } }, providers: [
|
|
67
65
|
provideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }),
|
|
68
66
|
provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),
|
|
69
67
|
provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),
|
|
70
68
|
provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),
|
|
71
|
-
], viewQueries: [{ propertyName: "pageContainer", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef, static: true }, { propertyName: "pageBreadcrumbs", first: true, predicate: ["pageBreadcrumbs"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "pageNavigation", first: true, predicate: ["pageNavigation"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "pageToc", first: true, predicate: ["pageToc"], descendants: true, read: ViewContainerRef }, { propertyName: "childOutlet", first: true, predicate: ["childOutlet"], descendants: true }], ngImport: i0, template: "<article>\n\t<ng-container #pageBreadcrumbs></ng-container>\n\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\">\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\">\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div
|
|
69
|
+
], viewQueries: [{ propertyName: "pageContainer", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef, static: true }, { propertyName: "pageBreadcrumbs", first: true, predicate: ["pageBreadcrumbs"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "pageNavigation", first: true, predicate: ["pageNavigation"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "pageToc", first: true, predicate: ["pageToc"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "childOutlet", first: true, predicate: ["childOutlet"], descendants: true }], ngImport: i0, template: "<article>\n\t<ng-container #pageBreadcrumbs></ng-container>\n\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\">\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\">\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div class=\"ng-doc-page-wrapper\" [ngDocPageProcessor]=\"rootPage.pageContent\" #pageContainer></div>\n\n\t<ng-container #pageNavigation></ng-container>\n</article>\n\n<ng-doc-dialog-outlet\n\t*ngIf=\"!rootPage.page?.disableFullscreenRoutes\"\n\t[config]=\"{ width: '100vw', height: '100vh' }\">\n\t<div class=\"ng-doc-fullscreen-wrapper\">\n\t\t<router-outlet></router-outlet>\n\t</div>\n</ng-doc-dialog-outlet>\n\n<ng-container #pageToc></ng-container>\n", styles: [":host{display:flex;--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 5)}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;overflow:hidden}:host article .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]", 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: "directive", type: NgDocPageProcessorDirective, selector: "[ngDocPageProcessor]", inputs: ["ngDocPageProcessor"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: DialogOutletComponent, selector: "ng-doc-dialog-outlet", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
72
70
|
};
|
|
73
71
|
NgDocPageComponent = __decorate([
|
|
74
72
|
UntilDestroy()
|
|
75
73
|
], NgDocPageComponent);
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: NgDocPageComponent, decorators: [{
|
|
77
75
|
type: Component,
|
|
78
76
|
args: [{ selector: 'ng-doc-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
79
77
|
NgIf,
|
|
@@ -86,7 +84,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
86
84
|
NgDocTextRightDirective,
|
|
87
85
|
NgDocMediaQueryDirective,
|
|
88
86
|
NgDocTocComponent,
|
|
89
|
-
NgDocSanitizeHtmlPipe,
|
|
90
87
|
NgDocPageProcessorDirective,
|
|
91
88
|
NgComponentOutlet,
|
|
92
89
|
RouterOutlet,
|
|
@@ -96,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
96
93
|
provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),
|
|
97
94
|
provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),
|
|
98
95
|
provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),
|
|
99
|
-
], template: "<article>\n\t<ng-container #pageBreadcrumbs></ng-container>\n\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\">\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\">\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div
|
|
96
|
+
], host: { ngSkipHydration: 'true' }, template: "<article>\n\t<ng-container #pageBreadcrumbs></ng-container>\n\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\">\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\">\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div class=\"ng-doc-page-wrapper\" [ngDocPageProcessor]=\"rootPage.pageContent\" #pageContainer></div>\n\n\t<ng-container #pageNavigation></ng-container>\n</article>\n\n<ng-doc-dialog-outlet\n\t*ngIf=\"!rootPage.page?.disableFullscreenRoutes\"\n\t[config]=\"{ width: '100vw', height: '100vh' }\">\n\t<div class=\"ng-doc-fullscreen-wrapper\">\n\t\t<router-outlet></router-outlet>\n\t</div>\n</ng-doc-dialog-outlet>\n\n<ng-container #pageToc></ng-container>\n", styles: [":host{display:flex;--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 5)}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;overflow:hidden}:host article .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"] }]
|
|
100
97
|
}], propDecorators: { pageContainer: [{
|
|
101
98
|
type: ViewChild,
|
|
102
99
|
args: ['pageContainer', { read: ElementRef, static: true }]
|
|
@@ -108,7 +105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
108
105
|
args: ['pageNavigation', { read: ViewContainerRef, static: true }]
|
|
109
106
|
}], pageToc: [{
|
|
110
107
|
type: ViewChild,
|
|
111
|
-
args: ['pageToc', { read: ViewContainerRef }]
|
|
108
|
+
args: ['pageToc', { read: ViewContainerRef, static: true }]
|
|
112
109
|
}], childOutlet: [{
|
|
113
110
|
type: ViewChild,
|
|
114
111
|
args: ['childOutlet']
|
|
@@ -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\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\tinject,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterOutlet, UrlTree } from '@angular/router';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocBreadcrumbComponent } from '@ng-doc/app/components/breadcrumb';\nimport { NgDocTocComponent } from '@ng-doc/app/components/toc';\nimport { createComponent, generateToc } from '@ng-doc/app/helpers';\nimport {\n\tNgDocContext,\n\tNgDocNavigation,\n\tNgDocPageNavigation,\n\tNgDocPageSkeleton,\n} from '@ng-doc/app/interfaces';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes/sanitize-html';\nimport { NgDocPageProcessorDirective } from '@ng-doc/app/processors';\nimport { provideTypeControl } from '@ng-doc/app/providers/type-control';\nimport { NG_DOC_CONTEXT, NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';\nimport {\n\tNgDocBooleanControlComponent,\n\tNgDocNumberControlComponent,\n\tNgDocStringControlComponent,\n\tNgDocTypeAliasControlComponent,\n} from '@ng-doc/app/type-controls';\nimport { isPresent } from '@ng-doc/core';\nimport {\n\tDialogOutletComponent,\n\tNgDocButtonIconComponent,\n\tNgDocIconComponent,\n\tNgDocMediaQueryDirective,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTextRightDirective,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\nimport { UntilDestroy } from '@ngneat/until-destroy';\n\n@Component({\n\tselector: 'ng-doc-page',\n\ttemplateUrl: './page.component.html',\n\tstyleUrls: ['./page.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocBreadcrumbComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocIconComponent,\n\t\tNgDocTextComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTextRightDirective,\n\t\tNgDocMediaQueryDirective,\n\t\tNgDocTocComponent,\n\t\tNgDocSanitizeHtmlPipe,\n\t\tNgDocPageProcessorDirective,\n\t\tNgComponentOutlet,\n\t\tRouterOutlet,\n\t\tDialogOutletComponent,\n\t],\n\tproviders: [\n\t\tprovideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }),\n\t\tprovideTypeControl('string', NgDocStringControlComponent, { order: 20 }),\n\t\tprovideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),\n\t\tprovideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),\n\t],\n})\n@UntilDestroy()\nexport class NgDocPageComponent implements AfterViewInit {\n\t@ViewChild('pageContainer', { read: ElementRef, static: true })\n\tpageContainer!: ElementRef<HTMLElement>;\n\n\t@ViewChild('pageBreadcrumbs', { read: ViewContainerRef, static: true })\n\tpageBreadcrumbs!: ViewContainerRef;\n\n\t@ViewChild('pageNavigation', { read: ViewContainerRef, static: true })\n\tpageNavigation!: ViewContainerRef;\n\n\t@ViewChild('pageToc', { read: ViewContainerRef })\n\tpageToc?: ViewContainerRef;\n\n\t@ViewChild('childOutlet')\n\tchildOutlet?: TemplateRef<never>;\n\n\tprotected rootPage: NgDocRootPage = inject(NgDocRootPage);\n\tprotected skeleton: NgDocPageSkeleton = inject(NG_DOC_PAGE_SKELETON);\n\tprotected context: NgDocContext = inject(NG_DOC_CONTEXT);\n\tprotected router: Router = inject(Router);\n\n\tprivate breadcrumbs: string[] = inject(ActivatedRoute)\n\t\t.pathFromRoot.filter((route: ActivatedRoute) => !route.snapshot.url.length)\n\t\t.map((route: ActivatedRoute) => route.snapshot.title)\n\t\t.filter(isPresent);\n\n\tngAfterViewInit(): void {\n\t\tif (this.rootPage.pageType === 'guide') {\n\t\t\tif (this.skeleton.breadcrumbs) {\n\t\t\t\tcreateComponent(this.pageBreadcrumbs, this.skeleton.breadcrumbs, {\n\t\t\t\t\tbreadcrumbs: this.breadcrumbs,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.skeleton.navigation) {\n\t\t\t\tcreateComponent(this.pageNavigation, this.skeleton.navigation, this.navigationInputs());\n\t\t\t}\n\t\t}\n\n\t\tPromise.resolve().then(() => {\n\t\t\tif (this.pageToc && this.skeleton.toc) {\n\t\t\t\tcreateComponent(this.pageToc, this.skeleton.toc, {\n\t\t\t\t\ttableOfContent: generateToc(this.pageContainer.nativeElement) ?? [],\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate navigationInputs(): NgDocPageNavigation {\n\t\tconst flatItems = (items: NgDocNavigation[]): NgDocNavigation[] =>\n\t\t\titems\n\t\t\t\t.map((item: NgDocNavigation) => [item.children?.length ? flatItems(item.children) : item])\n\t\t\t\t.flat(2);\n\t\tconst flatPages: NgDocNavigation[] = flatItems(this.context.navigation);\n\n\t\treturn {\n\t\t\tprevPage:\n\t\t\t\tflatPages[flatPages.findIndex((item: NgDocNavigation) => this.url === item.route) - 1],\n\t\t\tnextPage:\n\t\t\t\tflatPages[flatPages.findIndex((item: NgDocNavigation) => this.url === item.route) + 1],\n\t\t};\n\t}\n\n\tprivate get url(): string {\n\t\tconst urlTree: UrlTree = this.router.parseUrl(this.router.url);\n\n\t\turlTree.queryParams = {};\n\t\turlTree.fragment = null;\n\n\t\treturn urlTree.toString();\n\t}\n}\n","<article>\n\t<ng-container #pageBreadcrumbs></ng-container>\n\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\">\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\">\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t#pageContainer></div>\n\n\t<ng-container #pageNavigation></ng-container>\n</article>\n\n<ng-doc-dialog-outlet\n\t*ngIf=\"!rootPage.page?.disableFullscreenRoutes\"\n\t[config]=\"{ width: '100vw', height: '100vh' }\">\n\t<div class=\"ng-doc-fullscreen-wrapper\">\n\t\t<router-outlet></router-outlet>\n\t</div>\n</ng-doc-dialog-outlet>\n\n<ng-container #pageToc></ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
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\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\tinject,\n\tOnInit,\n\tRenderer2,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterOutlet, UrlTree } from '@angular/router';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocBreadcrumbComponent } from '@ng-doc/app/components/breadcrumb';\nimport { NgDocTocComponent } from '@ng-doc/app/components/toc';\nimport { createComponent, generateToc } from '@ng-doc/app/helpers';\nimport {\n\tNgDocContext,\n\tNgDocNavigation,\n\tNgDocPageNavigation,\n\tNgDocPageSkeleton,\n} from '@ng-doc/app/interfaces';\nimport { NgDocPageProcessorDirective } from '@ng-doc/app/processors';\nimport { provideTypeControl } from '@ng-doc/app/providers/type-control';\nimport { NG_DOC_CONTEXT, NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';\nimport {\n\tNgDocBooleanControlComponent,\n\tNgDocNumberControlComponent,\n\tNgDocStringControlComponent,\n\tNgDocTypeAliasControlComponent,\n} from '@ng-doc/app/type-controls';\nimport { isPresent } from '@ng-doc/core';\nimport {\n\tDialogOutletComponent,\n\tNgDocButtonIconComponent,\n\tNgDocIconComponent,\n\tNgDocMediaQueryDirective,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTextRightDirective,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\nimport { UntilDestroy } from '@ngneat/until-destroy';\n\n@Component({\n\tselector: 'ng-doc-page',\n\ttemplateUrl: './page.component.html',\n\tstyleUrls: ['./page.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocBreadcrumbComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocIconComponent,\n\t\tNgDocTextComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTextRightDirective,\n\t\tNgDocMediaQueryDirective,\n\t\tNgDocTocComponent,\n\t\tNgDocPageProcessorDirective,\n\t\tNgComponentOutlet,\n\t\tRouterOutlet,\n\t\tDialogOutletComponent,\n\t],\n\tproviders: [\n\t\tprovideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }),\n\t\tprovideTypeControl('string', NgDocStringControlComponent, { order: 20 }),\n\t\tprovideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),\n\t\tprovideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),\n\t],\n\thost: { ngSkipHydration: 'true' },\n})\n@UntilDestroy()\nexport class NgDocPageComponent implements OnInit {\n\t@ViewChild('pageContainer', { read: ElementRef, static: true })\n\tpageContainer!: ElementRef<HTMLElement>;\n\n\t@ViewChild('pageBreadcrumbs', { read: ViewContainerRef, static: true })\n\tpageBreadcrumbs!: ViewContainerRef;\n\n\t@ViewChild('pageNavigation', { read: ViewContainerRef, static: true })\n\tpageNavigation!: ViewContainerRef;\n\n\t@ViewChild('pageToc', { read: ViewContainerRef, static: true })\n\tpageToc?: ViewContainerRef;\n\n\t@ViewChild('childOutlet')\n\tchildOutlet?: TemplateRef<never>;\n\n\tprotected rootPage: NgDocRootPage = inject(NgDocRootPage);\n\tprotected skeleton: NgDocPageSkeleton = inject(NG_DOC_PAGE_SKELETON);\n\tprotected context: NgDocContext = inject(NG_DOC_CONTEXT);\n\tprotected renderer: Renderer2 = inject(Renderer2);\n\tprotected router: Router = inject(Router);\n\n\tprivate breadcrumbs: string[] = inject(ActivatedRoute)\n\t\t.pathFromRoot.filter((route: ActivatedRoute) => !route.snapshot.url.length)\n\t\t.map((route: ActivatedRoute) => route.snapshot.title)\n\t\t.filter(isPresent);\n\n\tngOnInit(): void {\n\t\tif (this.rootPage.pageType === 'guide') {\n\t\t\tif (this.skeleton.breadcrumbs) {\n\t\t\t\tcreateComponent(this.pageBreadcrumbs, this.skeleton.breadcrumbs, {\n\t\t\t\t\tbreadcrumbs: this.breadcrumbs,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.skeleton.navigation) {\n\t\t\t\tcreateComponent(this.pageNavigation, this.skeleton.navigation, this.navigationInputs());\n\t\t\t}\n\t\t}\n\n\t\tif (this.pageToc && this.skeleton.toc) {\n\t\t\tcreateComponent(this.pageToc, this.skeleton.toc, {\n\t\t\t\ttableOfContent: generateToc(this.pageContainer.nativeElement) ?? [],\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate navigationInputs(): NgDocPageNavigation {\n\t\tconst flatItems = (items: NgDocNavigation[]): NgDocNavigation[] =>\n\t\t\titems\n\t\t\t\t.map((item: NgDocNavigation) => [item.children?.length ? flatItems(item.children) : item])\n\t\t\t\t.flat(2);\n\t\tconst flatPages: NgDocNavigation[] = flatItems(this.context.navigation);\n\n\t\treturn {\n\t\t\tprevPage:\n\t\t\t\tflatPages[flatPages.findIndex((item: NgDocNavigation) => this.url === item.route) - 1],\n\t\t\tnextPage:\n\t\t\t\tflatPages[flatPages.findIndex((item: NgDocNavigation) => this.url === item.route) + 1],\n\t\t};\n\t}\n\n\tprivate get url(): string {\n\t\tconst urlTree: UrlTree = this.router.parseUrl(this.router.url);\n\n\t\turlTree.queryParams = {};\n\t\turlTree.fragment = null;\n\n\t\treturn urlTree.toString();\n\t}\n}\n","<article>\n\t<ng-container #pageBreadcrumbs></ng-container>\n\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\">\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\">\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div class=\"ng-doc-page-wrapper\" [ngDocPageProcessor]=\"rootPage.pageContent\" #pageContainer></div>\n\n\t<ng-container #pageNavigation></ng-container>\n</article>\n\n<ng-doc-dialog-outlet\n\t*ngIf=\"!rootPage.page?.disableFullscreenRoutes\"\n\t[config]=\"{ width: '100vw', height: '100vh' }\">\n\t<div class=\"ng-doc-fullscreen-wrapper\">\n\t\t<router-outlet></router-outlet>\n\t</div>\n</ng-doc-dialog-outlet>\n\n<ng-container #pageToc></ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|