{"version":3,"file":"ng-doc-app-components-root.mjs","sources":["../../../../libs/app/components/root/root.component.ts","../../../../libs/app/components/root/root.component.html","../../../../libs/app/components/root/ng-doc-app-components-root.ts"],"sourcesContent":["import { AsyncPipe, NgIf } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Directive,\n  HostBinding,\n  inject,\n  Input,\n  ViewChild,\n} from '@angular/core';\nimport { NgDocSidebarService } from '@ng-doc/app/services';\nimport { NgDocContent, NgDocLetDirective, NgDocSidenavComponent } from '@ng-doc/ui-kit';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\n\n/**\n * Directive uses for providing custom navbar, you should mark element with this directive\n * and the `NgDocRootComponent` will use it as a navbar\n *\n * ```html\n * <ng-doc-root>\n *     <my-custom-navbar ngDocCustomNavbar></my-custom-navbar>\n *\n *     <ng-doc-sidebar></ng-doc-sidebar>\n *     <router-outlet></router-outlet>\n * </ng-doc-root>\n * ```\n */\n@Directive({\n  selector: '[ngDocCustomNavbar]',\n  standalone: true,\n})\nexport class NgDocCustomNavbarDirective {}\n\n/**\n * Directive uses for providing custom sidebar, you should mark element with this directive\n * and the `NgDocRootComponent` will use it as a sidebar\n *\n * ```html\n * <ng-doc-root>\n *     <ng-doc-navbar></ng-doc-sidebar>\n *\n *     <my-custom-sidebar ngDocCustomSidebar></my-custom-sidebar>\n *     <router-outlet></router-outlet>\n * </ng-doc-root>\n * ```\n */\n@Directive({\n  selector: '[ngDocCustomSidebar]',\n  standalone: true,\n})\nexport class NgDocCustomSidebarDirective {}\n\n@Component({\n  selector: 'ng-doc-root',\n  templateUrl: './root.component.html',\n  styleUrls: ['./root.component.scss'],\n  providers: [],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NgDocLetDirective, NgDocSidenavComponent, NgIf, PolymorpheusModule, AsyncPipe],\n})\n@UntilDestroy()\nexport class NgDocRootComponent {\n  /**\n   * If `true` then the sidebar will be shown\n   * You can use it for example for landing page to hide sidebar\n   */\n  @Input()\n  sidebar: boolean = true;\n\n  /**\n   * Content for footer\n   */\n  @Input()\n  footerContent: NgDocContent = '';\n\n  /**\n   * If `true` then page will be shown without width limit.\n   * You can use it for example for landing page\n   */\n  @Input()\n  @HostBinding('attr.data-ng-doc-no-width-limit')\n  noWidthLimit: boolean = false;\n\n  @ViewChild(NgDocSidenavComponent)\n  sidenav?: NgDocSidenavComponent;\n\n  protected readonly sidebarService = inject(NgDocSidebarService);\n}\n","<ng-container>\n  <div class=\"ng-doc-root-wrapper\">\n    <div class=\"ng-doc-header\">\n      <ng-content select=\"ng-doc-navbar\"></ng-content>\n      <ng-content select=\"[ngDocCustomNavbar]\"></ng-content>\n    </div>\n    <main>\n      <ng-doc-sidenav\n        [sidebar]=\"sidebar ? sidebarContent : null\"\n        [opened]=\"(sidebarService.isExpanded() | async) ?? true\"\n        [hasBackdrop]=\"sidebarService.isMobile\"\n        (closeEvent)=\"sidebarService.hide()\">\n        <ng-template #sidebarContent>\n          <ng-content select=\"ng-doc-sidebar\"></ng-content>\n          <ng-content select=\"[ngDocCustomSidebar]\"></ng-content>\n        </ng-template>\n\n        <ng-content></ng-content>\n      </ng-doc-sidenav>\n    </main>\n    <footer *ngIf=\"footerContent\">\n      <ng-container *polymorpheusOutlet=\"footerContent as text\"> {{ text }}</ng-container>\n    </footer>\n  </div>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}