{"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 {\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    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  @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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}