{"version":3,"file":"axulus-uikit-steps.mjs","sources":["../../src/app/components/steps/steps.ts","../../src/app/components/steps/axulus-uikit-steps.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  NgModule,\n  OnDestroy,\n  OnInit,\n  Output,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { MenuItem } from '@axulus/uikit/api';\nimport { TooltipModule } from '@axulus/uikit/tooltip';\nimport { Subscription } from 'rxjs';\n\n@Component({\n  selector: 'p-steps',\n  template: `\n    <div [ngClass]=\"{ 'p-steps p-component': true, 'p-readonly': readonly }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n      <ul role=\"tablist\">\n        <li\n          *ngFor=\"let item of model; let i = index\"\n          class=\"p-steps-item\"\n          #menuitem\n          [ngStyle]=\"item.style\"\n          [class]=\"item.styleClass\"\n          role=\"tab\"\n          [attr.aria-selected]=\"i === activeIndex\"\n          [attr.aria-expanded]=\"i === activeIndex\"\n          pTooltip\n          [tooltipOptions]=\"item.tooltipOptions\"\n          [ngClass]=\"{\n            'p-highlight p-steps-current': isActive(item, i),\n            'p-disabled': item.disabled || (readonly && !isActive(item, i))\n          }\"\n        >\n          <a\n            *ngIf=\"isClickableRouterLink(item); else elseBlock\"\n            [routerLink]=\"item.routerLink\"\n            [queryParams]=\"item.queryParams\"\n            role=\"presentation\"\n            [routerLinkActive]=\"'p-menuitem-link-active'\"\n            [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n            class=\"p-menuitem-link\"\n            (click)=\"itemClick($event, item, i)\"\n            (keydown.enter)=\"itemClick($event, item, i)\"\n            [target]=\"item.target\"\n            [attr.id]=\"item.id\"\n            [attr.tabindex]=\"item.disabled || readonly ? null : item.tabindex ? item.tabindex : '0'\"\n            [fragment]=\"item.fragment\"\n            [queryParamsHandling]=\"item.queryParamsHandling\"\n            [preserveFragment]=\"item.preserveFragment\"\n            [skipLocationChange]=\"item.skipLocationChange\"\n            [replaceUrl]=\"item.replaceUrl\"\n            [state]=\"item.state\"\n          >\n            <span class=\"p-steps-number\">{{ i + 1 }}</span>\n            <span class=\"p-steps-title\" *ngIf=\"item.escape !== false; else htmlLabel\">{{ item.label }}</span>\n            <ng-template #htmlLabel><span class=\"p-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\n          </a>\n          <ng-template #elseBlock>\n            <a\n              [attr.href]=\"item.url\"\n              class=\"p-menuitem-link\"\n              role=\"presentation\"\n              (click)=\"itemClick($event, item, i)\"\n              (keydown.enter)=\"itemClick($event, item, i)\"\n              [target]=\"item.target\"\n              [attr.id]=\"item.id\"\n              [attr.tabindex]=\"item.disabled || (i !== activeIndex && readonly) ? null : item.tabindex ? item.tabindex : '0'\"\n            >\n              <span class=\"p-steps-number\">{{ i + 1 }}</span>\n              <span class=\"p-steps-title\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ item.label }}</span>\n              <ng-template #htmlRouteLabel><span class=\"p-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\n            </a>\n          </ng-template>\n        </li>\n      </ul>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: ['./steps.css'],\n  host: {\n    class: 'p-element'\n  }\n})\nexport class Steps implements OnInit, OnDestroy {\n  @Input() activeIndex: number = 0;\n\n  @Input() model: MenuItem[];\n\n  @Input() readonly: boolean = true;\n\n  @Input() style: any;\n\n  @Input() styleClass: string;\n\n  @Output() activeIndexChange: EventEmitter<any> = new EventEmitter();\n\n  constructor(private router: Router, private route: ActivatedRoute, private cd: ChangeDetectorRef) {}\n\n  subscription: Subscription;\n\n  ngOnInit() {\n    this.subscription = this.router.events.subscribe(() => this.cd.markForCheck());\n  }\n\n  itemClick(event: Event, item: MenuItem, i: number) {\n    if (this.readonly || item.disabled) {\n      event.preventDefault();\n      return;\n    }\n\n    this.activeIndexChange.emit(i);\n\n    if (!item.url && !item.routerLink) {\n      event.preventDefault();\n    }\n\n    if (item.command) {\n      item.command({\n        originalEvent: event,\n        item: item,\n        index: i\n      });\n    }\n  }\n\n  isClickableRouterLink(item: MenuItem) {\n    return item.routerLink && !this.readonly && !item.disabled;\n  }\n\n  isActive(item: MenuItem, index: number) {\n    if (item.routerLink) {\n      let routerLink = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink];\n\n      return this.router.isActive(this.router.createUrlTree(routerLink, { relativeTo: this.route }).toString(), false);\n    }\n\n    return index === this.activeIndex;\n  }\n\n  ngOnDestroy() {\n    if (this.subscription) {\n      this.subscription.unsubscribe();\n    }\n  }\n}\n\n@NgModule({\n  imports: [CommonModule, RouterModule, TooltipModule],\n  exports: [Steps],\n  declarations: [Steps]\n})\nexport class StepsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}