{"version":3,"file":"ui-vts-kit-ng-vts-breadcrumb.mjs","sources":["../../components/breadcrumb/breadcrumb.ts","../../components/breadcrumb/breadcrumb-item.component.ts","../../components/breadcrumb/breadcrumb.component.ts","../../components/breadcrumb/breadcrumb-separator.component.ts","../../components/breadcrumb/breadcrumb.module.ts","../../components/breadcrumb/public-api.ts","../../components/breadcrumb/ui-vts-kit-ng-vts-breadcrumb.ts"],"sourcesContent":["import { TemplateRef } from '@angular/core';\n\nexport abstract class VtsBreadcrumb {\n  abstract vtsSeparator: string | TemplateRef<void> | null;\n}\n","//@ts-nocheck\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Injector,\n  Input,\n  Optional,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Router, UrlTree } from '@angular/router';\n\nimport { VtsDropdownMenuComponent } from '@ui-vts-kit/ng-vts/dropdown';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\n\nimport { VtsBreadcrumb } from './breadcrumb';\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  selector: 'vts-breadcrumb-item',\n  exportAs: 'vtsBreadcrumbItem',\n  preserveWhitespaces: false,\n  template: `\n    <ng-container *ngIf=\"!!vtsOverlay; else noMenuTpl\">\n      <span class=\"vts-breadcrumb-overlay-link\" vts-dropdown [vtsDropdownMenu]=\"vtsOverlay\">\n        <ng-template [ngTemplateOutlet]=\"noMenuTpl\"></ng-template>\n        <i *ngIf=\"!!vtsOverlay\" vts-icon vtsType=\"ArrowDownOutline\"></i>\n      </span>\n    </ng-container>\n\n    <ng-template #noMenuTpl>\n      <span class=\"vts-breadcrumb-link\">\n        <ng-container *ngIf=\"vtsUrl && !vtsDisabled; else simpleLabel\">\n          <a [attr.href]=\"generateUrl(vtsUrl)\" (click)=\"navigate($event)\">\n            <i vts-icon *ngIf=\"vtsIcon\" [vtsType]=\"vtsIcon\"></i>\n            <span *ngIf=\"vtsLabel\">{{ vtsLabel }}</span>\n          </a>\n        </ng-container>\n\n        <ng-template #simpleLabel>\n          <span>\n            <i vts-icon *ngIf=\"vtsIcon\" [vtsType]=\"vtsIcon\"></i>\n            <span *ngIf=\"vtsLabel\">{{ vtsLabel }}</span>\n          </span>\n        </ng-template>\n      </span>\n    </ng-template>\n\n    <span class=\"vts-breadcrumb-separator\" *ngIf=\"vtsBreadCrumbComponent.vtsSeparator\">\n      <ng-container *vtsStringTemplateOutlet=\"vtsBreadCrumbComponent.vtsSeparator\">\n        {{ vtsBreadCrumbComponent.vtsSeparator }}\n      </ng-container>\n    </span>\n  `,\n  host: {\n    '[class.vts-breadcrumb-item]': 'true',\n    '[class.vts-breadcrumb-disabled]': 'vtsDisabled'\n  }\n})\nexport class VtsBreadCrumbItemComponent {\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n\n  @Input() vtsOverlay?: VtsDropdownMenuComponent;\n  @Input() vtsIcon?: string;\n  @Input() vtsLabel?: string;\n  @Input() vtsUrl?: string | UrlTree | string[];\n  @Input() @InputBoolean() vtsDisabled?: boolean;\n\n  constructor(public vtsBreadCrumbComponent: VtsBreadcrumb, private injector: Injector) {}\n\n  navigate(e: MouseEvent): void {\n    e.preventDefault();\n    const url = this.generateUrl(this.vtsUrl!);\n    this.injector.get(Router).navigateByUrl(url);\n  }\n\n  generateUrl(url: string | UrlTree | string[]) {\n    if (Array.isArray(url)) {\n      return this.injector.get(Router).createUrlTree(url).toString();\n    }\n    return url.toString();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Injector,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, PRIMARY_OUTLET, Router, UrlTree } from '@angular/router';\nimport { PREFIX } from '@ui-vts-kit/ng-vts/core/logger';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\n\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\nimport { filter, startWith, takeUntil } from 'rxjs/operators';\nimport { VtsBreadcrumb } from './breadcrumb';\n\nexport interface VtsBreadcrumbItem {\n  label?: string;\n  url?: string | UrlTree | string[];\n  icon?: string;\n  disabled?: boolean;\n}\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  selector: 'vts-breadcrumb',\n  exportAs: 'vtsBreadcrumb',\n  providers: [{ provide: VtsBreadcrumb, useExisting: VtsBreadCrumbComponent }],\n  preserveWhitespaces: false,\n  template: `\n    <ng-container\n      *ngIf=\"\n        (vtsAutoGenerate && vtsBreadcrumbArray.length) || vtsBreadcrumbArray.length;\n        else childContent\n      \"\n    >\n      <vts-breadcrumb-item\n        *ngFor=\"let breadcrumb of vtsBreadcrumbArray\"\n        [vtsLabel]=\"breadcrumb.label\"\n        [vtsIcon]=\"breadcrumb.icon\"\n        [vtsUrl]=\"breadcrumb.url\"\n        [vtsDisabled]=\"breadcrumb.disabled\"\n      ></vts-breadcrumb-item>\n    </ng-container>\n    <ng-template #childContent>\n      <ng-content></ng-content>\n    </ng-template>\n  `\n})\nexport class VtsBreadCrumbComponent implements OnInit, OnDestroy {\n  static ngAcceptInputType_vtsAutoGenerate: BooleanInput;\n\n  @Input() @InputBoolean() vtsAutoGenerate = false;\n  @Input() vtsSeparator: string | TemplateRef<void> | null = '❯';\n  @Input() vtsRouteLabel: string = 'breadcrumb';\n  @Input() vtsRouteIcon: string = 'breadcrumbIcon';\n  @Input() vtsRouteLabelFn: (label: string) => string = label => label;\n  @Input() vtsBreadcrumbArray: VtsBreadcrumbItem[] = [];\n  dir: Direction = 'ltr';\n\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    private injector: Injector,\n    private cdr: ChangeDetectorRef,\n    private elementRef: ElementRef,\n    private renderer: Renderer2,\n    @Optional() private directionality: Directionality\n  ) {\n    renderer.addClass(elementRef.nativeElement, 'vts-breadcrumb');\n  }\n\n  ngOnInit(): void {\n    if (this.vtsAutoGenerate) {\n      this.registerRouterChange();\n    }\n\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.prepareComponentForRtl();\n      this.cdr.detectChanges();\n    });\n\n    this.dir = this.directionality.value;\n    this.prepareComponentForRtl();\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  private registerRouterChange(): void {\n    try {\n      const router = this.injector.get(Router);\n      const activatedRoute = this.injector.get(ActivatedRoute);\n      router.events\n        .pipe(\n          filter(e => e instanceof NavigationEnd),\n          takeUntil(this.destroy$),\n          startWith(true) // trigger initial render\n        )\n        .subscribe(() => {\n          this.vtsBreadcrumbArray = this.getBreadcrumbs(activatedRoute.root);\n          this.cdr.markForCheck();\n        });\n    } catch (e) {\n      throw new Error(\n        `${PREFIX} You should import RouterModule if you want to use 'VtsAutoGenerate'.`\n      );\n    }\n  }\n\n  private getBreadcrumbs(\n    route: ActivatedRoute,\n    url: string = '',\n    breadcrumbs: VtsBreadcrumbItem[] = []\n  ): VtsBreadcrumbItem[] {\n    const children: ActivatedRoute[] = route.children;\n\n    // If there's no sub root, then stop the recurse and returns the generated breadcrumbs.\n    if (children.length === 0) {\n      return breadcrumbs;\n    }\n\n    for (const child of children) {\n      if (child.outlet === PRIMARY_OUTLET) {\n        // Only parse components in primary router-outlet (in another word, router-outlet without a specific name).\n        // Parse this layer and generate a breadcrumb item.\n        const routeUrl: string = child.snapshot.url\n          .map(segment => segment.path)\n          .filter(path => path)\n          .join('/');\n\n        // Do not change nextUrl if routeUrl is falsy. This happens when it's a route lazy loading other modules.\n        const nextUrl = !!routeUrl ? url + `/${routeUrl}` : url;\n        const breadcrumbLabel = this.vtsRouteLabelFn(child.snapshot.data[this.vtsRouteLabel]);\n        const breadcrumbIcon = child.snapshot.data[this.vtsRouteIcon] as string;\n\n        // If have data, go to generate a breadcrumb for it.\n        if (routeUrl && breadcrumbLabel) {\n          const breadcrumb: VtsBreadcrumbItem = {\n            label: breadcrumbLabel,\n            // params: child.snapshot.params,\n            url: nextUrl,\n            icon: breadcrumbIcon ?? undefined\n          };\n          breadcrumbs.push(breadcrumb);\n        }\n\n        return this.getBreadcrumbs(child, nextUrl, breadcrumbs);\n      }\n    }\n\n    return breadcrumbs;\n  }\n\n  private prepareComponentForRtl(): void {\n    if (this.dir === 'rtl') {\n      this.renderer.addClass(this.elementRef.nativeElement, 'vts-breadcrumb-rtl');\n    } else {\n      this.renderer.removeClass(this.elementRef.nativeElement, 'vts-breadcrumb-rtl');\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n  selector: 'vts-breadcrumb-separator',\n  exportAs: 'vtsBreadcrumbSeparator',\n  template: `\n    <span class=\"vts-breadcrumb-separator\">\n      <ng-content></ng-content>\n    </span>\n  `\n})\nexport class VtsBreadCrumbSeparatorComponent {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { VtsOutletModule } from '@ui-vts-kit/ng-vts/core/outlet';\nimport { VtsOverlayModule } from '@ui-vts-kit/ng-vts/core/overlay';\nimport { VtsDropDownModule } from '@ui-vts-kit/ng-vts/dropdown';\nimport { VtsIconModule } from '@ui-vts-kit/ng-vts/icon';\n\nimport { VtsBreadCrumbItemComponent } from './breadcrumb-item.component';\nimport { VtsBreadCrumbSeparatorComponent } from './breadcrumb-separator.component';\nimport { VtsBreadCrumbComponent } from './breadcrumb.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    VtsOutletModule,\n    OverlayModule,\n    VtsOverlayModule,\n    VtsDropDownModule,\n    VtsIconModule\n  ],\n  declarations: [\n    VtsBreadCrumbComponent,\n    VtsBreadCrumbItemComponent,\n    VtsBreadCrumbSeparatorComponent\n  ],\n  exports: [\n    BidiModule,\n    VtsBreadCrumbComponent,\n    VtsBreadCrumbItemComponent,\n    VtsBreadCrumbSeparatorComponent\n  ]\n})\nexport class VtsBreadCrumbModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './breadcrumb-item.component';\nexport * from './breadcrumb.component';\nexport * from './breadcrumb.module';\nexport * from './breadcrumb-separator.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.VtsBreadcrumb","i3.VtsBreadCrumbItemComponent"],"mappings":"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"}