{"version":3,"file":"ng-doc-app-components-demo-pane.mjs","sources":["../../../../libs/app/components/demo-pane/demo-pane.component.ts","../../../../libs/app/components/demo-pane/demo-pane.component.html","../../../../libs/app/components/demo-pane/ng-doc-app-components-demo-pane.ts"],"sourcesContent":["import { NgComponentOutlet, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  HostBinding,\n  Input,\n  OnInit,\n  Type,\n} from '@angular/core';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocCodeComponent } from '@ng-doc/app/components/code';\nimport { NgDocFullscreenButtonComponent } from '@ng-doc/app/components/fullscreen-button';\nimport { NgDocDemoAsset } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocDemoPaneActionOptions } from '@ng-doc/core/interfaces';\nimport {\n  NgDocPaneBackDirective,\n  NgDocPaneComponent,\n  NgDocPaneFrontDirective,\n  NgDocTabComponent,\n  NgDocTabGroupComponent,\n} from '@ng-doc/ui-kit';\n\n@Component({\n  selector: 'ng-doc-demo-pane',\n  templateUrl: './demo-pane.component.html',\n  styleUrls: ['./demo-pane.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgDocPaneComponent,\n    NgTemplateOutlet,\n    NgDocPaneBackDirective,\n    NgDocPaneFrontDirective,\n    NgIf,\n    NgFor,\n    NgDocCodeComponent,\n    NgDocTabGroupComponent,\n    NgDocTabComponent,\n    NgDocFullscreenButtonComponent,\n    NgComponentOutlet,\n  ],\n})\nexport class NgDocDemoPaneComponent implements OnInit {\n  @Input()\n  componentName?: string;\n\n  @Input()\n  options: NgDocDemoPaneActionOptions = {};\n\n  demo?: Type<unknown>;\n  assets: NgDocDemoAsset[] = [];\n\n  constructor(private readonly rootPage: NgDocRootPage) {}\n\n  @HostBinding('class')\n  protected get classes(): string | string[] {\n    return this.options.class ?? '';\n  }\n\n  ngOnInit(): void {\n    this.demo = this.getDemo();\n    this.assets = this.getAssets();\n  }\n\n  private getDemo(): Type<unknown> | undefined {\n    if (this.componentName) {\n      return this.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];\n    }\n\n    return undefined;\n  }\n\n  private getAssets(): NgDocDemoAsset[] {\n    if (this.componentName) {\n      return (\n        (this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ??\n        []\n      ).filter(\n        (asset: NgDocDemoAsset) =>\n          !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title),\n      );\n    }\n\n    return [];\n  }\n}\n","<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n  <ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n  <ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n  @if (options.fullscreenRoute) {\n  <ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n  } @else if (demo) {\n  <ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n  }\n</ng-template>\n\n<ng-template #codeContent>\n  <ng-container *ngIf=\"assets.length === 1\">\n    <ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n  </ng-container>\n\n  <ng-container *ngIf=\"assets.length > 1\">\n    <ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n      <ng-doc-tab\n        *ngFor=\"let asset of assets\"\n        [id]=\"asset.title\"\n        [label]=\"asset.title\"\n        [content]=\"assetContent\">\n        <ng-template #assetContent>\n          <ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n        </ng-template>\n      </ng-doc-tab>\n    </ng-doc-tab-group>\n  </ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}