{"version":3,"file":"kara-ui-alfa-components-stepper.mjs","sources":["../../../libs/kara-ui/components/stepper/stepper.component.ts","../../../libs/kara-ui/components/stepper/stepper.component.html","../../../libs/kara-ui/components/stepper/components/step/step.component.ts","../../../libs/kara-ui/components/stepper/components/stepper-next/stepper-next.directive.ts","../../../libs/kara-ui/components/stepper/components/stepper-previous/stepper-previous.directive.ts","../../../libs/kara-ui/components/stepper/components/step-label/step-label.directive.ts","../../../libs/kara-ui/components/stepper/kara-ui-alfa-components-stepper.ts"],"sourcesContent":["import {\n  AfterContentInit,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  isDevMode,\n} from '@angular/core';\nimport { CdkStepper, CdkStepperModule } from '@angular/cdk/stepper';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { KIconComponent } from 'kara-ui-alfa/components/icon';\n\n/**\n * Компонент, разбивающий пользовательский путь на несколько шагов.\n *\n * Реализует Angular CDK Stepper.\n *\n * @author Alexander Bolotskov\n * @see https://material.angular.io/cdk/stepper/overview\n */\n@Component({\n  selector: 'k-stepper',\n  templateUrl: './stepper.component.html',\n  styleUrl: './stepper.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NgTemplateOutlet, CdkStepperModule, KIconComponent],\n  providers: [{ provide: CdkStepper, useExisting: KStepperComponent }],\n})\nexport class KStepperComponent extends CdkStepper implements AfterViewInit, AfterContentInit {\n  /** The maximum amount of steps defined by the Design System */\n  private readonly maxSteps = 5;\n\n  /**\n   * INFO: Storybook does not work correctly without the super() call\n   * @see https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n   */\n  constructor(_dir: Directionality, _changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>) {\n    super(_dir, _changeDetectorRef, _elementRef);\n    this.steps.changes.pipe(takeUntilDestroyed()).subscribe((steps) => {\n      if (steps.length > this.maxSteps) {\n        this.cutSteps();\n      }\n    });\n  }\n\n  override ngAfterContentInit(): void {\n    super.ngAfterContentInit();\n\n    if (this.steps.length > this.maxSteps) {\n      this.cutSteps();\n    }\n  }\n\n  // WARNING: This is a deliberate decision to enforce the usage of only up to 5 steps on the component level.\n  private cutSteps(): void {\n    this.steps.reset(this.steps.toArray().slice(0, this.maxSteps));\n    if (isDevMode()) {\n      // eslint-disable-next-line no-console\n      console.warn(\n        '%cThe amount of steps exceeds the maximum allowed limit.\\n\\n',\n        'font-weight: 700; font-size:2em',\n        `Only first ${this.maxSteps} steps were rendered.  Please, refer to the Design System for usage guidelines.`,\n      );\n    }\n  }\n}\n","<div role=\"tabpanel\" class=\"k-container k-stepper-header\" [class.k-stepper-header_width_short]=\"steps.length <= 2\">\n  <div role=\"tablist\" class=\"k-stepper-steps\" [class.k-stepper-steps_width_short]=\"steps.length <= 2\">\n    @for (step of steps; track step; let i = $index) {\n      <span\n        role=\"tab\"\n        class=\"k-stepper-tab\"\n        [class.k-stepper-tab_interactive]=\"step.completed && step.editable && selectedIndex !== i\"\n        [class.k-stepper-tab_active]=\"selectedIndex === i\"\n      >\n        @if (step.completed && step.editable && selectedIndex !== i) {\n          <span\n            class=\"k-stepper-step-label k-stepper-step-label_interactive\"\n            [tabIndex]=\"0\"\n            [attr.aria-label]=\"step.ariaLabel\"\n            [attr.aria-labelledby]=\"step.ariaLabelledby\"\n            (click)=\"step.select()\"\n            (keydown.space)=\"$event.preventDefault()\"\n            (keyup.space)=\"step.select()\"\n            (keyup.enter)=\"step.select()\"\n          >\n            <ng-container *ngTemplateOutlet=\"stepTabContent\" />\n          </span>\n        } @else {\n          <span class=\"k-stepper-step-label\" [class.k-stepper-step-label_active]=\"selectedIndex === i\">\n            <ng-container *ngTemplateOutlet=\"stepTabContent\" />\n          </span>\n        }\n        <ng-template #stepTabContent>\n          <span class=\"k-stepper-step-label__icon kui-title-accent-xsmall\">\n            @if (selectedIndex > i) {\n              <k-icon icon=\"checkmark-s\" />\n            } @else {\n              {{ i + 1 }}\n            }\n          </span>\n          <span class=\"k-stepper-step-label__caption kui-base-default-small\">\n            @if (step.stepLabel) {\n              <ng-container *ngTemplateOutlet=\"step.stepLabel.template\" />\n            } @else if (step.label) {\n              {{ step.label }}\n            }\n          </span>\n        </ng-template>\n      </span>\n    }\n  </div>\n</div>\n\n@if (selected) {\n  <ng-container *ngTemplateOutlet=\"selected.content\" />\n}\n","import { CdkStep, CdkStepper, STEPPER_GLOBAL_OPTIONS, StepperOptions } from '@angular/cdk/stepper';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n/**\n * @author Alexander Bolotskov\n * @see https://material.angular.io/cdk/stepper/overview\n */\n@Component({\n  selector: 'k-step',\n  template: '<ng-template><ng-content/></ng-template>',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: CdkStep, useExisting: KStepComponent }],\n})\nexport class KStepComponent extends CdkStep {\n  /**\n   * INFO: Storybook does not work correctly without the super() call\n   * @see https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n   */\n  constructor(_stepper: CdkStepper) {\n    const stepperOptions = inject<StepperOptions>(STEPPER_GLOBAL_OPTIONS, { optional: true }) || {};\n    super(_stepper, stepperOptions);\n  }\n}\n","import { CdkStepper, CdkStepperNext } from '@angular/cdk/stepper';\nimport { Directive } from '@angular/core';\n\n@Directive({\n  selector: 'button[kStepperNext]',\n  providers: [{ provide: CdkStepperNext, useExisting: KStepperNextDirective }],\n})\nexport class KStepperNextDirective extends CdkStepperNext {\n  /**\n   * INFO: Storybook does not work correctly without the super() call\n   * @see https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n   */\n  constructor(_stepper: CdkStepper) {\n    super(_stepper);\n  }\n}\n","import { CdkStepper, CdkStepperPrevious } from '@angular/cdk/stepper';\nimport { Directive } from '@angular/core';\n\n@Directive({\n  selector: 'button[kStepperPrevious]',\n  providers: [{ provide: CdkStepperPrevious, useExisting: KStepperPreviousDirective }],\n})\nexport class KStepperPreviousDirective extends CdkStepperPrevious {\n  /**\n   * INFO: Storybook does not work correctly without the super() call\n   * @see https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n   */\n  constructor(_stepper: CdkStepper) {\n    super(_stepper);\n  }\n}\n","import { CdkStepLabel } from '@angular/cdk/stepper';\nimport { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: '[kStepLabel]',\n  providers: [{ provide: CdkStepLabel, useExisting: KStepLabelDirective }],\n})\nexport class KStepLabelDirective extends CdkStepLabel {\n  /**\n   * INFO: Storybook does not work correctly without the super() call\n   * @see https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n   */\n  constructor(template: TemplateRef<unknown>) {\n    super(template);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}