{"version":3,"file":"acorex-components-breadcrumbs.mjs","sources":["../../../../packages/components/breadcrumbs/src/lib/breadcrumbs.component.ts","../../../../packages/components/breadcrumbs/src/lib/breadcrumbs.component.html","../../../../packages/components/breadcrumbs/src/lib/breadcrumbs-item.component.ts","../../../../packages/components/breadcrumbs/src/lib/breadcrumbs-item.component.html","../../../../packages/components/breadcrumbs/src/lib/breadcrumbs.module.ts","../../../../packages/components/breadcrumbs/src/acorex-components-breadcrumbs.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n  AfterViewInit,\n  Component,\n  contentChild,\n  inject,\n  PLATFORM_ID,\n  TemplateRef,\n  viewChild,\n  ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * The Breadcrumbs component displays a navigation trail of links, helping users to track their location within an application's hierarchy.\n *\n * @category Components\n */\n@Component({\n  selector: 'ax-breadcrumbs',\n  templateUrl: './breadcrumbs.component.html',\n  styleUrls: ['./breadcrumbs.component.css'],\n  encapsulation: ViewEncapsulation.None,\n\n  imports: [NgTemplateOutlet],\n  providers: [{ provide: AXComponent, useExisting: AXBreadCrumbsComponent }],\n})\nexport class AXBreadCrumbsComponent extends MXBaseComponent implements AfterViewInit {\n  private readonly platformId = inject(PLATFORM_ID);\n  /**\n   * Content child template for custom divider between breadcrumb items.\n   */\n  protected _divider = contentChild<TemplateRef<any>>('divider');\n\n  /**\n   * View child template for the divider template.\n   */\n  dividerTemplate = viewChild<TemplateRef<any>>('dividerTpl');\n\n  /**\n   * Scrolls the breadcrumbs container to the rightmost position after view initialization.\n   * This ensures that the most recent breadcrumb items are visible when there are many items.\n   */\n  ngAfterViewInit(): void {\n    if (isPlatformBrowser(this.platformId)) {\n      this.getHostElement().scrollTo({\n        left: this.getHostElement().scrollWidth,\n        top: 0,\n        behavior: 'instant',\n      });\n    }\n  }\n}\n","<ng-content select=\"ax-breadcrumbs-item\"></ng-content>\n<ng-template #dividerTpl>\n  @if (_divider()) {\n    <ng-container [ngTemplateOutlet]=\"_divider()\"></ng-container>\n  } @else {\n    <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n  }\n  <ng-template #default>\n    <div class=\"ax-breadcrumb-divider\">/</div>\n  </ng-template>\n</ng-template>\n","import { AXComponent, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Component, HostBinding, Input, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { AXBreadCrumbsComponent } from './breadcrumbs.component';\n\n/**\n * Component representing an item in a breadcrumbs navigation.\n *\n * @category Components\n */\n@Component({\n  selector: 'ax-breadcrumbs-item',\n  inputs: ['disabled'],\n  templateUrl: './breadcrumbs-item.component.html',\n  imports: [NgTemplateOutlet],\n  providers: [{ provide: AXComponent, useExisting: AXBreadCrumbsItemComponent }],\n})\nexport class AXBreadCrumbsItemComponent extends MXInteractiveComponent {\n  /**\n   * Reference to the parent breadcrumbs component.\n   */\n  _parent = inject<AXBreadCrumbsComponent>(AXBreadCrumbsComponent);\n\n  /**\n   * Indicates whether this breadcrumb item is the current active item.\n   */\n  @Input() active: boolean;\n\n  /**\n   * Host binding for CSS classes based on component state.\n   * Applies 'ax-state-active' when active is true and 'ax-state-disabled' when disabled is true.\n   */\n  @HostBinding('class')\n  private get __hostClass(): string[] {\n    return [`${this.active ? 'ax-state-active' : ''}`, `${this.disabled ? 'ax-state-disabled' : ''}`];\n  }\n}\n","<div class=\"ax-breadcrumb-divider\">\n  <ng-container [ngTemplateOutlet]=\"_parent.dividerTemplate()\"></ng-container>\n</div>\n\n<div class=\"ax-breadcrumb-item-content\">\n  <ng-content select=\"ax-prefix\"></ng-content>\n  <ng-content></ng-content>\n  <ng-content select=\"ax-suffix\"></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { AXBreadCrumbsItemComponent } from './breadcrumbs-item.component';\nimport { AXBreadCrumbsComponent } from './breadcrumbs.component';\n\n@NgModule({\n  imports: [AXBreadCrumbsComponent, AXBreadCrumbsItemComponent],\n  exports: [AXBreadCrumbsComponent, AXBreadCrumbsItemComponent],\n})\nexport class AXBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}