{"version":3,"file":"ng-doc-app-components-sidebar.mjs","sources":["../../../../libs/app/components/sidebar/sidebar-category/sidebar-category.component.ts","../../../../libs/app/components/sidebar/sidebar-category/sidebar-category.component.html","../../../../libs/app/components/sidebar/sidebar-item/sidebar-item.component.ts","../../../../libs/app/components/sidebar/sidebar-item/sidebar-item.component.html","../../../../libs/app/components/sidebar/sidebar.component.ts","../../../../libs/app/components/sidebar/sidebar.component.html","../../../../libs/app/components/sidebar/ng-doc-app-components-sidebar.ts"],"sourcesContent":["import { Location } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostBinding,\n  inject,\n  Input,\n} from '@angular/core';\nimport { NgDocRouteActiveDirective } from '@ng-doc/app/directives/route-active';\nimport { NgDocNavigation } from '@ng-doc/app/interfaces';\nimport {\n  NgDocContent,\n  NgDocDotComponent,\n  NgDocExpanderComponent,\n  NgDocIconComponent,\n  NgDocRotatorDirective,\n  NgDocTextComponent,\n  NgDocTextLeftDirective,\n} from '@ng-doc/ui-kit';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\n\n@Component({\n  selector: 'ng-doc-sidebar-category',\n  templateUrl: './sidebar-category.component.html',\n  styleUrls: ['./sidebar-category.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgDocRouteActiveDirective,\n    NgDocDotComponent,\n    NgDocTextComponent,\n    NgDocIconComponent,\n    NgDocTextLeftDirective,\n    NgDocRotatorDirective,\n    NgDocExpanderComponent,\n    PolymorpheusModule,\n  ],\n})\nexport class NgDocSidebarCategoryComponent {\n  @Input({ required: true })\n  category!: NgDocNavigation;\n\n  @Input()\n  @HostBinding('attr.data-ng-doc-is-root')\n  isRoot: boolean = false;\n\n  @Input()\n  content: NgDocContent = '';\n\n  @Input()\n  @HostBinding('attr.data-ng-doc-expandable')\n  expandable: boolean = true;\n\n  @Input()\n  expanded: boolean = true;\n\n  protected readonly location = inject(Location);\n  protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n  constructor() {\n    this.location.onUrlChange(() => {\n      if (this.location.path().includes(this.category.route ?? '', 0)) {\n        this.expand();\n      }\n    });\n  }\n\n  toggle(): void {\n    this.expanded ? this.collapse() : this.expand();\n  }\n\n  expand(): void {\n    if (this.category?.expandable) {\n      this.expanded = true;\n      this.changeDetectorRef.markForCheck();\n    }\n  }\n\n  collapse(): void {\n    if (this.category?.expandable) {\n      this.expanded = false;\n      this.changeDetectorRef.markForCheck();\n    }\n  }\n}\n","<div class=\"ng-doc-sidebar-category-wrapper\">\n  <button class=\"ng-doc-sidebar-category-button\" (click)=\"toggle()\">\n    <div class=\"ng-doc-sidebar-category\" [ngDocRouteActive]=\"category.route\" activeClass=\"active\">\n      @if (!expandable) {\n        <ng-doc-dot></ng-doc-dot>\n      }\n      <span ng-doc-text>\n        @if (category.expandable) {\n          <ng-doc-icon icon=\"chevron-right\" [ngDocRotator]=\"expanded\" ngDocTextLeft> </ng-doc-icon>\n        }\n        {{ category.title }}\n      </span>\n    </div>\n    <!--\t\t<div ng-doc-text color=\"muted\" size=\"small\">Some description</div>-->\n  </button>\n  <ng-doc-expander [expanded]=\"expanded\" [content]=\"contentTemplate\" collapseMod=\"hide\" />\n  <ng-template #contentTemplate>\n    <div class=\"ng-doc-sidebar-category-children\">\n      <!--We wrap content via ng-template to save state of the child components -->\n      <ng-content></ng-content>\n      <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n    </div>\n  </ng-template>\n</div>\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { NgDocNavigation } from '@ng-doc/app/interfaces';\nimport {\n  NgDocColor,\n  NgDocDotComponent,\n  NgDocTagComponent,\n  NgDocTextComponent,\n} from '@ng-doc/ui-kit';\n\n@Component({\n  selector: 'ng-doc-sidebar-item',\n  templateUrl: './sidebar-item.component.html',\n  styleUrls: ['./sidebar-item.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [RouterLinkActive, RouterLink, NgDocDotComponent, NgDocTextComponent, NgDocTagComponent],\n})\nexport class NgDocSidebarItemComponent {\n  item = input.required<NgDocNavigation>();\n  statuses = computed(() => {\n    const statuses = this.item().metadata?.tags['status'] ?? [];\n\n    return statuses.map((status) => {\n      const [type, text] = status.split(/\\s+(.+)/);\n\n      return { type: type.replace(/^:/, '') as NgDocColor, text };\n    });\n  });\n}\n","<a class=\"ng-doc-sidebar-link\" [routerLink]=\"[item().route]\" routerLinkActive=\"active\">\n  <ng-doc-dot></ng-doc-dot>\n  <span ng-doc-text [absoluteContent]=\"true\">\n    {{ item().title }}\n    @for (status of statuses(); track status) {\n      <ng-doc-tag size=\"small\" [color]=\"status.type || 'success'\" mod=\"light\">{{\n        status.text\n      }}</ng-doc-tag>\n    }\n  </span>\n</a>\n","import { Location, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { NgDocNavigation } from '@ng-doc/app/interfaces';\nimport { NG_DOC_CONTEXT } from '@ng-doc/app/tokens';\nimport { NgDocBindPipe, NgDocExecutePipe } from '@ng-doc/ui-kit';\n\nimport { NgDocSidebarCategoryComponent } from './sidebar-category/sidebar-category.component';\nimport { NgDocSidebarItemComponent } from './sidebar-item/sidebar-item.component';\n\n@Component({\n  selector: 'ng-doc-sidebar',\n  templateUrl: './sidebar.component.html',\n  styleUrls: ['./sidebar.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgTemplateOutlet,\n    NgDocSidebarCategoryComponent,\n    NgDocSidebarItemComponent,\n    NgDocExecutePipe,\n    NgDocBindPipe,\n  ],\n})\nexport class NgDocSidebarComponent {\n  protected readonly location = inject(Location);\n  protected readonly context = inject(NG_DOC_CONTEXT);\n\n  getNavigation(nav?: NgDocNavigation): NgDocNavigation[] {\n    return nav ? nav.children ?? [] : this.context.navigation;\n  }\n\n  matchRoute(route: string): boolean {\n    return this.location.path().includes(route ?? '', 0);\n  }\n}\n","<div class=\"ng-doc-side-bar-wrapper\">\n  @for (item of getNavigation | bind: this | execute; track item) {\n    <ng-container\n      *ngTemplateOutlet=\"sidebarTemplate; context: { item: item, root: true }\"></ng-container>\n  }\n\n  <ng-template let-item=\"item\" let-root=\"root\" #sidebarTemplate>\n    @if (item.children?.length) {\n      @if (!item.hidden) {\n        <ng-doc-sidebar-category\n          [category]=\"item\"\n          [expandable]=\"!!item?.expandable\"\n          [expanded]=\"\n            !!item?.expanded || !item?.expandable || (matchRoute | bind: this | execute: item.route)\n          \"\n          [isRoot]=\"!!root\"\n          [content]=\"categoryContent\">\n        </ng-doc-sidebar-category>\n      }\n      <ng-template #categoryContent>\n        @for (child of getNavigation | bind: this | execute: item; track child) {\n          <ng-container\n            *ngTemplateOutlet=\"\n              sidebarTemplate;\n              context: { item: child, root: false }\n            \"></ng-container>\n        }\n      </ng-template>\n    } @else {\n      @if (!item.hidden) {\n        <ng-doc-sidebar-item [item]=\"item\"></ng-doc-sidebar-item>\n      }\n    }\n  </ng-template>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}