UNPKG

@ng-doc/app

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

67 lines (63 loc) 7.97 kB
import * as i0 from '@angular/core'; import { inject, ChangeDetectorRef, ElementRef, ViewChild, ChangeDetectionStrategy, Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; import { NgDocRootPage } from '@ng-doc/app/classes/root-page'; import { NgDocPageWrapperComponent } from '@ng-doc/app/components/page-wrapper'; import { createComponent, generateToc } from '@ng-doc/app/helpers'; import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes'; import { NgDocPageProcessorComponent } from '@ng-doc/app/processors'; import { provideTypeControl } from '@ng-doc/app/providers/type-control'; import { NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens'; import { NgDocTypeAliasControlComponent, NgDocStringControlComponent, NgDocNumberControlComponent, NgDocBooleanControlComponent } from '@ng-doc/app/type-controls'; import { NgDocButtonIconComponent, NgDocTooltipDirective, NgDocIconComponent, DialogOutletComponent } from '@ng-doc/ui-kit'; class NgDocPageComponent { constructor() { this.rootPage = inject(NgDocRootPage); this.skeleton = inject(NG_DOC_PAGE_SKELETON); this.changeDetectorRef = inject(ChangeDetectorRef); this.pageWrapper = inject(NgDocPageWrapperComponent); } createToc() { if (this.pageWrapper.pageToc && this.skeleton.toc) { createComponent(this.pageWrapper.pageToc, this.skeleton.toc, { tableOfContent: generateToc(this.pageContainer.nativeElement) ?? [], }); this.changeDetectorRef.detectChanges(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: NgDocPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: NgDocPageComponent, isStandalone: true, selector: "ng-doc-page", host: { attributes: { "ngSkipHydration": "true" } }, providers: [ provideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }), provideTypeControl('string', NgDocStringControlComponent, { order: 20 }), provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }), provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }), ], 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 @if (rootPage.editSourceFileUrl) {\n <a\n ng-doc-button-icon\n [href]=\"rootPage.editSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"Suggest Edits\">\n <ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n </a>\n }\n @if (rootPage.viewSourceFileUrl) {\n <a\n ng-doc-button-icon\n [href]=\"rootPage.viewSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"View Source\">\n <ng-doc-icon icon=\"code\"></ng-doc-icon>\n </a>\n }\n</div>\n\n<div\n class=\"ng-doc-page-wrapper\"\n [ngDocPageProcessor]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n (afterRender)=\"createToc()\"\n #pageContainer></div>\n\n@if (!rootPage.page?.disableFullscreenRoutes) {\n <ng-doc-dialog-outlet [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", 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: "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 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: NgDocPageComponent, decorators: [{ type: Component, args: [{ selector: 'ng-doc-page', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ NgDocButtonIconComponent, NgDocTooltipDirective, NgDocIconComponent, NgDocPageProcessorComponent, RouterOutlet, DialogOutletComponent, NgDocSanitizeHtmlPipe, ], providers: [ provideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }), provideTypeControl('string', NgDocStringControlComponent, { order: 20 }), provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }), provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }), ], host: { ngSkipHydration: 'true' }, template: "<div class=\"ng-doc-page-controls\">\n @if (rootPage.editSourceFileUrl) {\n <a\n ng-doc-button-icon\n [href]=\"rootPage.editSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"Suggest Edits\">\n <ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n </a>\n }\n @if (rootPage.viewSourceFileUrl) {\n <a\n ng-doc-button-icon\n [href]=\"rootPage.viewSourceFileUrl\"\n target=\"_blank\"\n ngDocTooltip=\"View Source\">\n <ng-doc-icon icon=\"code\"></ng-doc-icon>\n </a>\n }\n</div>\n\n<div\n class=\"ng-doc-page-wrapper\"\n [ngDocPageProcessor]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n (afterRender)=\"createToc()\"\n #pageContainer></div>\n\n@if (!rootPage.page?.disableFullscreenRoutes) {\n <ng-doc-dialog-outlet [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", 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"] }] }], propDecorators: { pageContainer: [{ type: ViewChild, args: ['pageContainer', { read: ElementRef, static: true }] }], childOutlet: [{ type: ViewChild, args: ['childOutlet'] }] } }); /** * Generated bundle index. Do not edit. */ export { NgDocPageComponent }; //# sourceMappingURL=ng-doc-app-components-page.mjs.map