{"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 } 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, NgDocSidenavComponent } from '@ng-doc/ui-kit';\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: [NgDocSidenavComponent, PolymorpheusModule, AsyncPipe],\n})\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    @if (footerContent) {\n      <footer>\n        <ng-container *polymorpheusOutlet=\"footerContent as text\"> {{ text }}</ng-container>\n      </footer>\n    }\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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"}