{"version":3,"file":"aeb-ui-kit.mjs","sources":["../../../src/lib/accordion/accordion.ts","../../../src/lib/accordion/accordion.html","../../../src/lib/accordion/accordion.module.ts","../../../src/lib/action-bar/action-bar.ts","../../../src/lib/action-bar/action-bar.html","../../../src/lib/action-bar/action-bar.module.ts","../../../src/lib/button/directives/button-left-icon.directive.ts","../../../src/lib/button/directives/button-right-icon.directive.ts","../../../src/lib/button/button.ts","../../../src/lib/button/button.html","../../../src/lib/button/button.module.ts","../../../src/lib/checkbox/checkbox.ts","../../../src/lib/checkbox/checkbox.html","../../../src/lib/checkbox/checkbox-group/checkbox-group.ts","../../../src/lib/checkbox/checkbox-group/checkbox-group.html","../../../src/lib/checkbox/checkbox.module.ts","../../../src/lib/autofocus/autofocus.directive.ts","../../../src/lib/code-input/code-input.ts","../../../src/lib/code-input/code-input.html","../../../src/lib/code-input/code-input.module.ts","../../../src/lib/form-field/directives/error-message.directive.ts","../../../src/lib/form-field/directives/form-field.directive.ts","../../../src/lib/form-field/directives/icon.directive.ts","../../../src/lib/form-field/directives/label.directive.ts","../../../src/lib/form-field/form-field.ts","../../../src/lib/form-field/form-field.html","../../../src/lib/form-field/form-field.module.ts","../../../src/lib/tooltip/services/dom.service.ts","../../../src/lib/tooltip/tooltip.ts","../../../src/lib/tooltip/tooltip.html","../../../src/lib/tooltip/directives/tooltip.directive.ts","../../../src/lib/tooltip/tooltip.module.ts","../../../src/lib/comment/comment.ts","../../../src/lib/comment/comment.html","../../../src/lib/comment/comment.module.ts","../../../src/lib/credit-item-card/credit-item-card.ts","../../../src/lib/credit-item-card/credit-item-card.html","../../../src/lib/credit-item-card/credit-item-card.module.ts","../../../src/lib/click-outside/click-outside.directive.ts","../../../src/lib/datepicker/consts/week-local.const.ts","../../../src/lib/datepicker/pipes/date-to-str.pipe.ts","../../../src/lib/datepicker/services/datepicker-utils.service.ts","../../../src/lib/datepicker/pipes/is-disabled.pipe.ts","../../../src/lib/datepicker/pipes/is-same-date.pipe.ts","../../../src/lib/datepicker/pipes/is-today.pipe.ts","../../../src/lib/datepicker/datepicker-month/datepicker-month.ts","../../../src/lib/datepicker/datepicker-month/datepicker-month.html","../../../src/lib/datepicker/consts/months-local.const.ts","../../../src/lib/datepicker/pipes/is-month-disabled.pipe.ts","../../../src/lib/datepicker/datepicker-month-tiles/datepicker-month-tiles.ts","../../../src/lib/datepicker/datepicker-month-tiles/datepicker-month-tiles.html","../../../src/lib/datepicker/pipes/is-year-disabled.pipe.ts","../../../src/lib/datepicker/datepicker-year-tiles/datepicker-year-tiles.ts","../../../src/lib/datepicker/datepicker-year-tiles/datepicker-year-tiles.html","../../../src/lib/datepicker/datepicker-core/datepicker-core.ts","../../../src/lib/datepicker/datepicker-core/datepicker-core.html","../../../src/lib/datepicker/services/mask-utils.service.ts","../../../src/lib/datepicker/datepicker.ts","../../../src/lib/datepicker/datepicker.html","../../../src/lib/datepicker/datepicker.module.ts","../../../src/lib/dropdown-menu/dropdown-menu.ts","../../../src/lib/dropdown-menu/dropdown-menu.html","../../../src/lib/dropdown/dropdown.ts","../../../src/lib/dropdown/dropdown.html","../../../src/lib/dropdown/dropdown.module.ts","../../../src/lib/dropdown-menu/dropdown-menu.module.ts","../../../src/lib/file-attach/components/attach-button/attach-button.ts","../../../src/lib/file-attach/components/attach-button/attach-button.html","../../../src/lib/file-attach/components/default-body/default-body.ts","../../../src/lib/file-attach/components/default-body/default-body.html","../../../src/lib/file-attach/components/salary-portal-body/salary-portal-body.ts","../../../src/lib/file-attach/components/salary-portal-body/salary-portal-body.html","../../../src/lib/file-attach/directives/drag-and-drop.directive.ts","../../../src/lib/file-attach/file-attach.ts","../../../src/lib/file-attach/file-attach.html","../../../src/lib/file-attach/file-attach.module.ts","../../../src/lib/filter-tags/filter-tag/filter-tag.ts","../../../src/lib/filter-tags/filter-tag/filter-tag.html","../../../src/lib/filter-tags/filter-tags.ts","../../../src/lib/filter-tags/filter-tags.html","../../../src/lib/filter-tags/filter-tags.module.ts","../../../src/lib/footer/abstract/base-content-projectable.ts","../../../src/lib/footer/constants/footer.const.ts","../../../src/lib/footer/footer-bottom/footer-bottom.ts","../../../src/lib/footer/footer-bottom/footer-bottom.html","../../../src/lib/footer/footer-menu/footer-menu.ts","../../../src/lib/footer/footer-menu/footer-menu.html","../../../src/lib/footer/footer-top/footer-top.ts","../../../src/lib/footer/footer-top/footer-top.html","../../../src/lib/footer/footer.ts","../../../src/lib/footer/footer.html","../../../src/lib/footer/footer.module.ts","../../../src/lib/header/header.ts","../../../src/lib/header/header.html","../../../src/lib/header/logo/logo.ts","../../../src/lib/header/logo/logo.html","../../../src/lib/header/header.module.ts","../../../src/lib/heading/breadcrumps/breadcrumps.ts","../../../src/lib/heading/breadcrumps/breadcrumps.html","../../../src/lib/heading/heading.ts","../../../src/lib/heading/heading.html","../../../src/lib/heading/product-title/product-title.ts","../../../src/lib/heading/product-title/product-title.html","../../../src/lib/heading/heading.module.ts","../../../src/lib/label/label.ts","../../../src/lib/label/label.html","../../../src/lib/label/label.module.ts","../../../src/lib/modal/modal.ts","../../../src/lib/modal/modal.html","../../../src/lib/modal/modal.module.ts","../../../src/lib/news-card/news-card.ts","../../../src/lib/news-card/news-card.html","../../../src/lib/news-card/news-card.module.ts","../../../src/lib/notifications/notification/notification.ts","../../../src/lib/notifications/notification/notification.html","../../../src/lib/notifications/notifications.ts","../../../src/lib/notifications/notifications.html","../../../src/lib/notifications/notifications.module.ts","../../../src/lib/select/select.ts","../../../src/lib/select/select.html","../../../src/lib/select/select.module.ts","../../../src/lib/pagination/pagination.ts","../../../src/lib/pagination/pagination.html","../../../src/lib/pagination/pagination.module.ts","../../../src/lib/pop-up/pop-up.ts","../../../src/lib/pop-up/pop-up.html","../../../src/lib/pop-up/directives/pop-up.directive.ts","../../../src/lib/pop-up/pop-up.module.ts","../../../src/lib/radio-buttons/radio-buttons.ts","../../../src/lib/radio-buttons/radio-buttons.html","../../../src/lib/radio-buttons/radio-buttons.module.ts","../../../src/lib/search/pipes/highlight.pipe.ts","../../../src/lib/search/search.ts","../../../src/lib/search/search.html","../../../src/lib/search/search.module.ts","../../../src/lib/sidebar/sidebar.ts","../../../src/lib/sidebar/sidebar.html","../../../src/lib/sidebar/sidebar.module.ts","../../../src/lib/slider/directives/numbers-only.directive.ts","../../../src/lib/slider/pipes/replace.pipe.ts","../../../src/lib/slider/slider.ts","../../../src/lib/slider/slider.html","../../../src/lib/slider/slider.module.ts","../../../src/lib/spinner/spinner.ts","../../../src/lib/spinner/spinner.html","../../../src/lib/spinner/spinner.module.ts","../../../src/lib/stepper/pipes/line-width.pipe.ts","../../../src/lib/stepper/stepper-step/stepper-step.ts","../../../src/lib/stepper/stepper-step/stepper-step.html","../../../src/lib/stepper/stepper.ts","../../../src/lib/stepper/stepper.html","../../../src/lib/stepper/stepper.module.ts","../../../src/lib/table/pipes/table.pipe.ts","../../../src/lib/table/table.ts","../../../src/lib/table/table.html","../../../src/lib/table/table.module.ts","../../../src/lib/tabs/directives/tab.directive.ts","../../../src/lib/tabs/tabs.ts","../../../src/lib/tabs/tabs.html","../../../src/lib/tabs/tabs.module.ts","../../../src/lib/tag-tab/tag-tab.ts","../../../src/lib/tag-tab/tag-tab.html","../../../src/lib/tag-tab/tag-tab.module.ts","../../../src/lib/visa/directives/visa-span.directive.ts","../../../src/lib/visa/visa.ts","../../../src/lib/visa/visa.html","../../../src/lib/visa/visa-item/visa-item.ts","../../../src/lib/visa/visa-item/visa-item.html","../../../src/lib/visa/visa.module.ts","../../../src/lib/aeb-ui-kit.module.ts","../../../src/lib/switch/switch.ts","../../../src/lib/switch/switch.html","../../../src/lib/switch/switch.module.ts","../../../src/public-api.ts","../../../src/aeb-ui-kit.ts"],"sourcesContent":["import {\n  Component,\n  computed,\n  effect,\n  ElementRef,\n  input,\n  OnDestroy,\n  signal,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n  selector: 'aeb-accordion',\n  templateUrl: './accordion.html',\n  styleUrls: ['./accordion.scss'],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'aeb-accordion',\n    '[class.aeb-accordion--open]': 'isOpen()',\n    '[class.aeb-accordion--primary]': 'type() === \"primary\"',\n    '[class.aeb-accordion--secondary]': 'type() === \"secondary\"'\n  }\n})\nexport class Accordion implements OnDestroy {\n  private readonly _contentHeight = signal(0);\n  private readonly _content = viewChild<ElementRef<HTMLDivElement>>('content');\n  private _resizeObserver?: ResizeObserver;\n\n  readonly header = input('');\n  readonly type = input<'primary' | 'secondary'>('primary');\n\n  readonly isOpen = signal(false);\n\n  readonly contentHeight = computed(() => this._contentHeight());\n\n  constructor() {\n    effect(() => {\n      const contentEl = this._content();\n      if (contentEl) {\n        this.setupResizeObserver(contentEl.nativeElement);\n\n        this._contentHeight.set(contentEl.nativeElement.scrollHeight);\n      }\n    });\n  }\n\n  ngOnDestroy(): void {\n    this._resizeObserver?.disconnect();\n  }\n\n  openHandler(): void {\n    this.isOpen.set(!this.isOpen());\n  }\n\n  private setupResizeObserver(element: HTMLElement): void {\n    this._resizeObserver?.disconnect();\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._contentHeight.set(element.scrollHeight);\n    });\n\n    this._resizeObserver.observe(element);\n  }\n}\n","<div class=\"aeb-accordion__header\" (click)=\"openHandler()\">\n  <span class=\"aeb-accordion__heading\"> {{ header() }} </span>\n  <div class=\"aeb-accordion__arrow-icon\">\n    <svg\n      width=\"32\"\n      height=\"32\"\n      viewBox=\"0 0 32 32\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        d=\"M6.66675 11.3333L15.6465 20.3131C15.8418 20.5083 16.1584 20.5083 16.3536 20.3131L25.3334 11.3333\"\n        stroke=\"#1F2632\"\n        stroke-width=\"2\"\n        stroke-linecap=\"round\"\n      />\n    </svg>\n  </div>\n</div>\n<div\n  class=\"aeb-accordion__content\"\n  [style.height]=\"isOpen() ? contentHeight() + 'px' : '0'\"\n>\n  <div #content class=\"aeb-accordion__content-inner\">\n    <ng-content />\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { Accordion } from './accordion';\n\n@NgModule({\n  imports: [Accordion],\n  exports: [Accordion]\n})\nexport class AccordionModule {}\n","import { NgClass } from '@angular/common';\nimport { Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-action-bar',\n  templateUrl: './action-bar.html',\n  styleUrls: ['./action-bar.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgClass]\n})\nexport class ActionBar {\n  readonly isOpen = input<boolean>(undefined);\n  readonly zIndex = input<string>(undefined);\n}\n","<div\n  class=\"aeb-action-bar\"\n  [style]=\"'z-index: ' + (zIndex() || 'var(--z-fixed)')\"\n  [ngClass]=\"{\n    'aeb-action-bar--open': isOpen()\n  }\"\n>\n  <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ActionBar } from './action-bar';\n\n@NgModule({\n  imports: [ActionBar],\n  exports: [ActionBar]\n})\nexport class ActionBarModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: 'img.aeb-icon-left, svg.aeb-icon-left',\n  host: {\n    class: 'aeb-button__icon aeb-button__icon--left'\n  }\n})\nexport class ButtonLeftIconDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: 'img.aeb-icon-right, svg.aeb-icon-right',\n  host: {\n    class: 'aeb-button__icon aeb-button__icon--right'\n  }\n})\nexport class ButtonRightIconDirective {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  contentChild,\n  ElementRef,\n  inject,\n  input,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { ButtonLeftIconDirective } from './directives/button-left-icon.directive';\nimport { ButtonRightIconDirective } from './directives/button-right-icon.directive';\n\nexport type ButtonSize = 'L' | 'M' | 'S' | 'XS';\nexport type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'flat';\n\n@Component({\n  selector: 'button[aebButton], a[aebButton]',\n  templateUrl: './button.html',\n  styleUrls: ['./button.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'aeb-button',\n    '[class.aeb-button--primary]': 'variant() === \"primary\"',\n    '[class.aeb-button--secondary]': 'variant() === \"secondary\"',\n    '[class.aeb-button--flat]': 'variant() === \"flat\"',\n    '[class.aeb-button--outline]': 'variant() === \"outline\"',\n    '[class.aeb-button--large]': 'size() === \"L\"',\n    '[class.aeb-button--medium]': 'size() === \"M\"',\n    '[class.aeb-button--small]': 'size() === \"S\"',\n    '[class.aeb-button--extra-small]': 'size() === \"XS\"',\n    '[class.aeb-button--warning]': 'isWarning()',\n    '[class.aeb-button--fill]': 'fill()',\n    '[class.aeb-button--flat-has-left-icon]':\n      'variant() === \"flat\" && !!leftIcon()',\n    '[class.aeb-button--icon-only]': '!!leftIcon() && !rightIcon()',\n    '(mouseleave)': 'onLeave()'\n  }\n})\nexport class Button {\n  private readonly _host = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n  readonly leftIcon? = contentChild(ButtonLeftIconDirective);\n  readonly rightIcon? = contentChild(ButtonRightIconDirective);\n\n  readonly variant = input<ButtonVariant>('primary');\n  readonly size = input<ButtonSize>('M');\n  readonly isWarning = input(false);\n  readonly fill = input(false);\n\n  protected onLeave(): void {\n    this._host.nativeElement.blur();\n  }\n}\n","<div class=\"aeb-button__icon--left__wrapper\">\n  <ng-content select=\".aeb-icon-left\" />\n</div>\n<div class=\"aeb-button__label\">\n  <ng-content />\n</div>\n<ng-content select=\".aeb-icon-right\" />\n","import { NgModule } from '@angular/core';\n\nimport { Button } from './button';\nimport { ButtonLeftIconDirective } from './directives/button-left-icon.directive';\nimport { ButtonRightIconDirective } from './directives/button-right-icon.directive';\n\n@NgModule({\n  imports: [Button, ButtonLeftIconDirective, ButtonRightIconDirective],\n  exports: [Button, ButtonLeftIconDirective, ButtonRightIconDirective]\n})\nexport class ButtonModule {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  forwardRef,\n  input,\n  output,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n  selector: 'aeb-checkbox',\n  templateUrl: './checkbox.html',\n  styleUrls: ['./checkbox.scss'],\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => Checkbox),\n      multi: true\n    }\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'aeb-checkbox',\n    '[class.aeb-checkbox--checked]': '_isChecked',\n    '[class.aeb-checkbox--disabled]': '_isDisabled',\n    '[class.aeb-checkbox--error]': '!isValid()'\n  }\n})\nexport class Checkbox implements ControlValueAccessor {\n  private readonly _checkboxInput =\n    viewChild<ElementRef<HTMLInputElement>>('checkbox');\n\n  readonly id = input<string>(undefined);\n  readonly isValid = input(true);\n  readonly hasText = input(true);\n  readonly name = input<string>(null);\n  readonly initialChecked = input(false);\n  readonly initialDisabled = input(false);\n\n  readonly valueChange = output<boolean>();\n\n  // Internal state for ControlValueAccessor (mutable)\n  protected _isChecked = false;\n  protected _isDisabled = false;\n\n  constructor() {\n    // Initialize internal state from signal inputs (one-time only)\n    this._isChecked = this.initialChecked();\n    this._isDisabled = this.initialDisabled();\n  }\n\n  protected get error(): boolean {\n    return !this.isValid();\n  }\n\n  handleChange(event: Event): void {\n    event.preventDefault();\n    this._isChecked = !this._isChecked;\n    this._onTouched();\n    this._onChangeFn(this._isChecked);\n\n    this.valueChange.emit(this._isChecked);\n  }\n\n  writeValue(value: unknown): void {\n    if (value === null || value === '') {\n      return;\n    }\n\n    this._isChecked = !!value;\n    this.valueChange.emit(this._isChecked);\n  }\n\n  registerOnChange(fn: (value: any) => void): void {\n    this._onChangeFn = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this._onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this._isDisabled = isDisabled;\n    this._checkboxInput().nativeElement.disabled = isDisabled;\n  }\n\n  private _onChangeFn: (value: any) => void = () => {};\n  private _onTouched: () => any = () => {};\n}\n","<label [attr.for]=\"id()\">\n  <input\n    #checkbox\n    type=\"checkbox\"\n    [id]=\"id()\"\n    [attr.name]=\"name()\"\n    [checked]=\"_isChecked\"\n    [disabled]=\"_isDisabled\"\n    (click)=\"handleChange($event)\"\n    hidden\n  />\n  <div class=\"aeb-checkbox__indicator\">\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      width=\"24\"\n      height=\"24\"\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n    >\n      <rect width=\"24\" height=\"24\" rx=\"4\" />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M10.2857 16L6 12.1538L7.2 11.0769L10.2857 13.8462L16.8 8L18 9.07692L10.2857 16Z\"\n        fill=\"white\"\n      />\n    </svg>\n  </div>\n  @if (hasText()) {\n  <div class=\"aeb-checkbox__label\">\n    <ng-content />\n  </div>\n  }\n</label>\n","import { Component, inject, input, OnInit } from '@angular/core';\nimport {\n  FormBuilder,\n  FormControl,\n  FormGroup,\n  FormsModule,\n  ReactiveFormsModule,\n  Validators\n} from '@angular/forms';\n\nimport { Checkbox } from '../checkbox';\n\n/**\n * @param label Текст, который будет находиться справа от чекбокса\n * @param id Опциональное свойство, уникальный id чекбокса\n * @param name Имя чекбокса, будет использоваться как имя Control'а в `checkboxFormGroup`\n * @param checked Значение состояния чекбокса при инициализации\n * @param required Включает валидацию, проверяющую, находится ли чекбокс в состоянии True\n * @param checkValidationAfterUncheck Должна ли валидация происходить после изменения состояния (или же она должна осуществляться сразу)\n * @param disabled Значение состояния контрола выключен/включен при инициализации\n */\nexport interface CheckBoxModel {\n  label: string;\n  id?: string;\n  name: string;\n  checked: boolean;\n  required: boolean;\n  checkValidationAfterUncheck?: boolean;\n  disabled: boolean;\n}\n\n/**\n * Готовый компонент для группы чекбоксов. Принимает на вход в свойстве `checkboxArray` массив объектов,\n * реализующих интерфейс `CheckBoxModel`. В целях обеспечения иммутабельности и явности,\n * работа с элементами формы (установка значения, валидация, включение/выключение) должна осуществляться\n * через поле `checkboxFormGroup`, а не через поля объектов `checkboxArray`\n */\n@Component({\n  selector: 'aeb-checkbox-group',\n  templateUrl: './checkbox-group.html',\n  styleUrls: ['./checkbox-group.scss'],\n  imports: [FormsModule, ReactiveFormsModule, Checkbox]\n})\nexport class CheckboxGroup implements OnInit {\n  private readonly _formBuilder = inject(FormBuilder);\n\n  readonly checkboxArray = input<CheckBoxModel[]>([]);\n\n  readonly checkboxFormGroup: FormGroup = this._formBuilder.group({});\n\n  ngOnInit(): void {\n    this.checkboxArray().forEach((checkBoxOld: CheckBoxModel) => {\n      const checkboxOldControl = new FormControl<boolean>(\n        {\n          value: checkBoxOld.checked,\n          disabled: checkBoxOld.disabled\n        },\n        checkBoxOld.required\n          ? Validators.requiredTrue\n          : Validators.nullValidator\n      );\n\n      this.checkboxFormGroup.addControl(checkBoxOld.name, checkboxOldControl);\n    });\n  }\n\n  isControlValid(checkboxOld: CheckBoxModel): boolean {\n    if (\n      checkboxOld.checkValidationAfterUncheck &&\n      !this.checkboxFormGroup.get(checkboxOld.name).dirty &&\n      !this.checkboxFormGroup.get(checkboxOld.name).touched\n    ) {\n      return true;\n    }\n\n    return this.checkboxFormGroup.get(checkboxOld.name)?.valid;\n  }\n}\n","<div class=\"aeb-checkbox-group__header\">Группа чекбоксов</div>\n<form [formGroup]=\"checkboxFormGroup\">\n  @for (data of checkboxArray(); track data) {\n  <aeb-checkbox\n    class=\"aeb-checkbox-layout\"\n    [id]=\"data.id\"\n    [name]=\"data.name\"\n    [required]=\"data.required\"\n    [isValid]=\"isControlValid(data)\"\n    formControlName=\"{{ data.name }}\"\n  >\n    {{ data.label }}\n  </aeb-checkbox>\n  }\n</form>\n","import { NgModule } from '@angular/core';\n\nimport { Checkbox } from './checkbox';\nimport { CheckboxGroup } from './checkbox-group/checkbox-group';\n\n@NgModule({\n  imports: [Checkbox, CheckboxGroup],\n  exports: [Checkbox, CheckboxGroup]\n})\nexport class CheckboxModule {}\n","import {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  inject,\n  input\n} from '@angular/core';\n\n@Directive({\n  selector: '[autofocus]',\n  standalone: true\n})\nexport class AutofocusDirective implements AfterViewInit {\n  private readonly _host = inject(ElementRef<HTMLElement>);\n\n  readonly autofocus = input(true);\n\n  ngAfterViewInit() {\n    if (this.autofocus()) {\n      (this._host.nativeElement as HTMLElement).focus();\n    }\n  }\n}\n","import { AsyncPipe, NgClass } from '@angular/common';\nimport {\n  Component,\n  ElementRef,\n  forwardRef,\n  input,\n  OnDestroy,\n  OnInit,\n  output,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { map, Observable, Subject, takeUntil, timer } from 'rxjs';\n\nimport { AutofocusDirective } from '../autofocus/autofocus.directive';\n\nexport type CodeLength = 4 | 6;\n\n@Component({\n  selector: 'aeb-code-input',\n  templateUrl: './code-input.html',\n  styleUrls: ['./code-input.scss'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CodeInput),\n      multi: true\n    }\n  ],\n  encapsulation: ViewEncapsulation.None,\n  imports: [AutofocusDirective, NgClass, AsyncPipe],\n  host: {\n    class: 'aeb-code-input'\n  }\n})\nexport class CodeInput implements OnInit, OnDestroy, ControlValueAccessor {\n  private readonly _destroy$ = new Subject<void>();\n\n  // Internal state for ControlValueAccessor\n  private _disabled = false;\n\n  @ViewChild('input') input: ElementRef;\n\n  readonly title = input<string>(undefined);\n  readonly tip = input<string>(undefined);\n  readonly initialDisabled = input(false);\n  readonly hasError = input(false);\n  readonly isResendable = input(true);\n  readonly secondsUntilRetry = input(60);\n  readonly errorMessage = input('Неверный код');\n  readonly codeLength = input<CodeLength>(6);\n  readonly isAutofocus = input(true);\n\n  get disabled(): boolean {\n    return this._disabled;\n  }\n\n  readonly codeCompleted = output<string>();\n  readonly timeOut = output<void>();\n  readonly resendClick = output<void>();\n\n  inputValue = '';\n  isFocus = false;\n  showTimer = false;\n  showCodeText = false;\n  seconds$: Observable<number>;\n\n  constructor() {\n    // Initialize from signal input\n    this._disabled = this.initialDisabled();\n  }\n\n  onChange: (_: string) => void = () => {};\n  onTouch: (_: string) => void = () => {};\n\n  get arrayInputValue(): string[] {\n    return this.inputValue.split('');\n  }\n\n  ngOnInit() {\n    this.startTimer();\n    this.handleAutofocus();\n  }\n\n  ngOnDestroy() {\n    this._destroy$.next();\n    this._destroy$.complete();\n  }\n\n  inputChangeHandler(event: Event): void {\n    const target = event.target as HTMLInputElement;\n    this.inputValue = target.value;\n    this.onChange(this.inputValue);\n\n    if (this.inputValue.length === this.codeLength()) {\n      this.codeCompleted.emit(this.inputValue);\n    }\n  }\n\n  numbersOnly(e: KeyboardEvent): boolean {\n    const key = e.key;\n    if (/\\d/.test(key)) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  writeValue(value: string): void {\n    this.inputValue = value || '';\n\n    if (\n      this.inputValue.length === this.codeLength() &&\n      this.inputValue !== ''\n    ) {\n      this.codeCompleted.emit(this.inputValue);\n    }\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this._disabled = isDisabled;\n  }\n\n  registerOnChange(fn: () => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouch = fn;\n  }\n\n  startTimer(): void {\n    this.showTimer = true;\n    this.showCodeText = false;\n\n    this.seconds$ = timer(0, 1000).pipe(\n      map((i) => this.secondsUntilRetry() - i),\n      takeUntil(this._destroy$)\n    );\n\n    // Auto-stop timer when it reaches 0\n    this.seconds$.pipe(takeUntil(this._destroy$)).subscribe((seconds) => {\n      if (seconds <= 0) {\n        this.stopTimer();\n      }\n    });\n  }\n\n  stopTimer(): void {\n    this.showTimer = false;\n    this.showCodeText = true;\n    this.timeOut.emit();\n  }\n\n  clear(): void {\n    this.inputValue = '';\n  }\n\n  resend(): void {\n    this.showCodeText = false;\n    this.clear();\n    this.startTimer();\n    this.resendClick.emit();\n    (this.input.nativeElement as HTMLInputElement).focus();\n    this.isFocus = true;\n  }\n\n  handleInputBlur(): void {\n    this.isFocus = false;\n  }\n\n  focus(): void {\n    if (this.input?.nativeElement) {\n      (this.input.nativeElement as HTMLInputElement).focus();\n      this.isFocus = true;\n    }\n  }\n\n  private handleAutofocus(): void {\n    if (this.isAutofocus()) {\n      this.isFocus = true;\n    }\n  }\n}\n","@if (title()) {\n<h2 class=\"aeb-code-input__title\">{{ title() }}</h2>\n} @if (tip()) {\n<span class=\"aeb-code-input__tip\">{{ tip() }}</span>\n}\n<div\n  class=\"aeb-code-input__field-wrapper\"\n  (click)=\"input.focus(); isFocus = true\"\n>\n  <input\n    class=\"aeb-code-input__field\"\n    #input\n    [maxLength]=\"codeLength()\"\n    [value]=\"inputValue\"\n    [disabled]=\"disabled\"\n    inputmode=\"numeric\"\n    [autofocus]=\"isAutofocus()\"\n    autocomplete=\"one-time-code\"\n    pattern=\"[0-9]\"\n    (blur)=\"handleInputBlur()\"\n    (keypress)=\"numbersOnly($event)\"\n    (input)=\"inputChangeHandler($event)\"\n  />\n  @for (value of [].constructor(codeLength()); track $index) {\n  <span\n    class=\"aeb-code-input__field-input\"\n    [ngClass]=\"{\n        'aeb-code-input__field-input--active':\n          inputValue.length === $index && isFocus && !disabled,\n        'aeb-code-input__field-input--has-error': hasError()\n      }\"\n  >\n    {{ arrayInputValue[$index] }}\n    <div\n      [ngClass]=\"{\n          'aeb-code-input__field-input-caret':\n            inputValue.length === $index && isFocus && !disabled,\n          'aeb-code-input__field-input-caret--has-error':\n            inputValue.length === $index && isFocus && !disabled && hasError()\n        }\"\n    ></div>\n  </span>\n  }\n</div>\n@if (hasError() || isResendable()) {\n<div class=\"aeb-code-input__text\">\n  @if (hasError()) {\n  <span class=\"aeb-code-input__text-wrong\">{{ errorMessage() }}</span>\n  } @if (isResendable()) { @if (showTimer) {\n  <div class=\"aeb-code-input__text-wrapper\">\n    <span class=\"aeb-code-input__text-info\"\n      >Запросить повторную отправку можно через\n    </span>\n    <span class=\"aeb-code-input__text-time\">{{ seconds$ | async }}</span>\n  </div>\n  } @if (showCodeText) {\n  <span class=\"aeb-code-input__text-again\" (click)=\"resend()\"\n    >Отправить код повторно</span\n  >\n  } }\n</div>\n}\n","import { NgModule } from '@angular/core';\n\nimport { CodeInput } from './code-input';\n\n@NgModule({\n  imports: [CodeInput],\n  exports: [CodeInput]\n})\nexport class CodeInputModule {}\n","import { Directive, input } from '@angular/core';\n\n@Directive({ selector: '[errorMessage]' })\nexport class ErrorMessageDirective {\n  readonly errorMessage = input<string>(undefined);\n}\n","import { Directive, ElementRef, inject, Input } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n  selector: 'input[aebInput], textarea[aebTextarea]',\n  host: {\n    class: 'aeb-input',\n    '[attr.disabled]': 'isDisabled',\n    '(input)': 'change($event.target)',\n    '(focus)': 'focus()',\n    '(blur)': 'blur()'\n  }\n})\nexport class FormFieldDirective {\n  private elementRef = inject(ElementRef);\n\n  _value = '';\n  ngControl = inject(NgControl, { optional: true, self: true });\n  isFocused = false;\n  hasValue = false;\n\n  get isDisabled() {\n    if (this.ngControl) {\n      return this.ngControl?.disabled || null;\n    } else if (this.elementRef.nativeElement) {\n      return (\n        (this.elementRef.nativeElement as unknown as HTMLInputElement)\n          .disabled || null\n      );\n    }\n  }\n\n  get value(): string {\n    return this._value;\n  }\n\n  @Input()\n  set value(value: string) {\n    this.hasValue = value !== null && value !== undefined && value !== '';\n    this._value = value;\n  }\n\n  disable(): void {\n    if (this.ngControl) {\n      this.ngControl.control.disable();\n    } else {\n      (this.elementRef.nativeElement as HTMLInputElement).disabled = true;\n    }\n  }\n\n  enable(): void {\n    if (this.ngControl) {\n      this.ngControl.control.enable();\n    } else {\n      (this.elementRef.nativeElement as HTMLInputElement).disabled = false;\n    }\n  }\n\n  protected change(target: EventTarget): void {\n    this.value = (target as HTMLInputElement).value;\n  }\n\n  protected focus(): void {\n    this.isFocused = true;\n  }\n\n  protected blur(): void {\n    this.isFocused = false;\n  }\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({ selector: '[aebIcon]' })\nexport class IconDirective {\n  readonly aebIcon = input<string>(undefined);\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({ selector: '[aebLabel]' })\nexport class LabelDirective {\n  readonly aebLabel = input<string>(undefined);\n}\n","import {\n  animate,\n  state,\n  style,\n  transition,\n  trigger\n} from '@angular/animations';\nimport {\n  Component,\n  ContentChild,\n  effect,\n  input,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { FormFieldDirective } from './directives/form-field.directive';\n\n@Component({\n  selector: 'aeb-form-field',\n  templateUrl: './form-field.html',\n  styleUrls: ['./form-field.scss'],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'aeb-form-field',\n    '[class.aeb-form-field--focused]': 'focused',\n    '[class.aeb-form-field--has-value]': 'hasValue',\n    '[class.aeb-form-field--error]': 'error',\n    '[class.aeb-form-field--disabled]': 'isDisabled',\n    '[class.aeb-form-field--has-icon]': 'hasIcon'\n  },\n  animations: [\n    trigger('labelVisibility', [\n      state(\n        'void',\n        style({\n          'font-size': '0'\n        })\n      ),\n      state(\n        'visible',\n        style({\n          'font-size': 'var(--font-size-xxs)'\n        })\n      ),\n      transition('void => visible', [animate('.1s')]),\n      transition('visible => void', [animate('.05s')])\n    ])\n  ]\n})\nexport class FormField {\n  private _formField: FormFieldDirective;\n\n  @ContentChild(FormFieldDirective)\n  set formField(value: FormFieldDirective) {\n    this._formField = value;\n    this.applyDisabledState();\n  }\n\n  readonly showDescription = input(false);\n  readonly showErrorMessage = input(true);\n  readonly disabled = input(false);\n  readonly isInvalid = input(false);\n  readonly showIcon = input(true);\n  readonly validateOnDirty = input(false);\n\n  constructor() {\n    // Effect to apply disabled state when disabled input changes\n    effect(() => {\n      if (this.disabled() !== undefined) {\n        this.applyDisabledState();\n      }\n    });\n  }\n\n  get formField(): FormFieldDirective {\n    return this._formField;\n  }\n\n  get focused(): boolean {\n    if (this.formField) {\n      return this.formField.isFocused;\n    }\n\n    return false;\n  }\n\n  get hasValue(): boolean {\n    if (this.formField?.ngControl) {\n      const value = this.formField.ngControl.value;\n      return value !== null && value !== undefined && value !== '';\n    }\n    return this.formField?.hasValue || false;\n  }\n\n  get error(): boolean {\n    if (this.isInvalid()) {\n      return true;\n    }\n\n    if (this.formField?.ngControl) {\n      return (\n        this.formField.ngControl.invalid &&\n        (this.validateOnDirty() ? this.formField.ngControl.dirty : true) &&\n        this.formField.ngControl.touched &&\n        !this.formField.ngControl.pending\n      );\n    }\n  }\n\n  get isDisabled(): boolean {\n    if (this.disabled()) {\n      return true;\n    }\n\n    if (this.formField) {\n      return this.formField.isDisabled;\n    }\n  }\n\n  get hasIcon(): boolean {\n    return this.showIcon();\n  }\n\n  get isFocused(): boolean {\n    if (this.formField) {\n      return this.formField.isFocused;\n    }\n\n    return false;\n  }\n\n  private applyDisabledState(): void {\n    if (this.formField === undefined) {\n      return;\n    }\n\n    if (this.disabled()) {\n      this.formField.disable();\n    } else {\n      this.formField.enable();\n    }\n  }\n}\n","<ng-content />\n\n<div class=\"aeb-label__container\">\n  <ng-content select=\"[aebLabel]\" />\n</div>\n\n@if (showIcon()) {\n<ng-content select=\"[aebIcon]\" />\n} @if (showErrorMessage() && error && !disabled() && !isFocused) {\n<div\n  [@labelVisibility]=\"\n      showErrorMessage() && error && !disabled() && !isFocused ? 'visible' : 'void'\n    \"\n  class=\"aeb-form-field--error-message\"\n>\n  <ng-content select=\"[errorMessage]\" />\n</div>\n} @if (showDescription() && !error && !disabled()) {\n<div\n  [@labelVisibility]=\"\n      showDescription() && !error && !disabled() ? 'visible' : 'void'\n    \"\n  class=\"aeb-form-field--description\"\n>\n  <ng-content select=\"[description]\" />\n</div>\n}\n","import { NgModule } from '@angular/core';\n\nimport { ErrorMessageDirective } from './directives/error-message.directive';\nimport { FormFieldDirective } from './directives/form-field.directive';\nimport { IconDirective } from './directives/icon.directive';\nimport { LabelDirective } from './directives/label.directive';\nimport { FormField } from './form-field';\n\n@NgModule({\n  imports: [\n    FormField,\n    FormFieldDirective,\n    LabelDirective,\n    IconDirective,\n    ErrorMessageDirective\n  ],\n  exports: [\n    FormField,\n    FormFieldDirective,\n    LabelDirective,\n    IconDirective,\n    ErrorMessageDirective\n  ]\n})\nexport class FormFieldModule {}\n","import { DOCUMENT } from '@angular/common';\nimport {\n  ApplicationRef,\n  ComponentRef,\n  createComponent,\n  EnvironmentInjector,\n  inject,\n  Injectable,\n  Renderer2,\n  RendererFactory2,\n  Type\n} from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class DomService {\n  private readonly _environmentInjector = inject(EnvironmentInjector);\n  private readonly _applicationRef = inject(ApplicationRef);\n  private readonly _document = inject(DOCUMENT);\n  private readonly _renderer: Renderer2 = inject(\n    RendererFactory2\n  ).createRenderer(null, null);\n\n  private _componentRef: ComponentRef<unknown> | null = null;\n  private _containerElement: HTMLElement | null = null;\n\n  attachComponent(\n    component: Type<any>,\n    componentProps: Record<string, unknown> = null\n  ): any {\n    // Create a container element for the component\n    this._containerElement = this._renderer.createElement('div');\n    this._renderer.appendChild(this._document.body, this._containerElement);\n\n    // Create component using modern API (Angular 14+)\n    // createComponent replaces the deprecated ComponentFactoryResolver\n    const componentRef = createComponent(component, {\n      hostElement: this._containerElement,\n      environmentInjector: this._environmentInjector\n    });\n\n    // Set component inputs\n    if (componentProps !== null && typeof componentRef.instance === 'object') {\n      for (const [key, value] of Object.entries(componentProps)) {\n        // Use Angular's setInput API to support both classic @Input and signal inputs\n        componentRef.setInput(key, value);\n      }\n    }\n\n    // Attach the component view to the application for change detection\n    this._applicationRef.attachView(componentRef.hostView);\n\n    this._componentRef = componentRef;\n    return componentRef.instance;\n  }\n\n  removeComponent(): void {\n    if (this._componentRef) {\n      this._applicationRef.detachView(this._componentRef.hostView);\n      this._componentRef.destroy();\n      this._componentRef = null;\n    }\n\n    // Remove the container element\n    if (this._containerElement?.parentNode) {\n      this._renderer.removeChild(this._document.body, this._containerElement);\n      this._containerElement = null;\n    }\n  }\n}\n","import {\n  AfterViewInit,\n  Component,\n  ElementRef,\n  inject,\n  input,\n  Renderer2,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { TooltipType } from './directives/tooltip.directive';\n\n@Component({\n  selector: 'aeb-tooltip',\n  templateUrl: './tooltip.html',\n  styleUrls: ['./tooltip.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class Tooltip implements AfterViewInit {\n  private _renderer = inject(Renderer2);\n\n  @ViewChild('tooltip') tooltip: HTMLDivElement;\n  @ViewChild('container') container: ElementRef<HTMLDivElement>;\n\n  title = input<string>('');\n  data = input<string>('');\n  html = input<Element['innerHTML']>('');\n  type = input<TooltipType>('primary');\n  contentEl = input<HTMLElement | null>(null);\n\n  ngAfterViewInit(): void {\n    const el = this.contentEl();\n    if (el && this.container?.nativeElement) {\n      const clone = el.cloneNode(true) as HTMLElement;\n      this._renderer.setStyle(clone, 'display', '');\n      this._renderer.appendChild(this.container.nativeElement, clone);\n    } else if (this.html()) {\n      // innerHTML binding in template will handle this\n    }\n  }\n}\n","<div #tooltip [class]=\"'aeb-tooltip aeb-tooltip--' + type()\">\n  @if (title()) {\n  <p class=\"aeb-tooltip__title\">{{ title() }}</p>\n  }\n  <div\n    #container\n    class=\"aeb-tooltip__container\"\n    [innerHTML]=\"!contentEl() ? html() || data() : null\"\n  ></div>\n</div>\n","import {\n  AfterViewInit,\n  ContentChild,\n  Directive,\n  ElementRef,\n  inject,\n  input,\n  OnDestroy,\n  OnInit,\n  output\n} from '@angular/core';\n\nimport { DomService } from '../services/dom.service';\nimport { Tooltip } from '../tooltip';\n\nexport type Boundaries = {\n  left: number;\n  top: number;\n  bottom: number;\n  right: number;\n  height: number;\n  width: number;\n};\n\ninterface TooltipModel {\n  offsetHeight?: number;\n  offsetWidth?: number;\n  tooltip?: ElementRef<HTMLDivElement>;\n}\n\ntype boundCb = [number, number];\n\ntype verticesKey = 'right' | 'left' | 'top' | 'bottom';\n\nexport type Vertices = {\n  [key in verticesKey]: (boundaries: Boundaries, tooltip: any) => boundCb;\n};\n\nexport type TooltipType = 'primary' | 'secondary';\n\n@Directive({\n  selector: '[aebTooltip]',\n  host: {\n    '(mouseleave)': 'onMouseLeave()',\n    '(mouseenter)': 'onMouseEnter()',\n    '(touch)': 'onClick()',\n    '(window:orientationchange)': 'orientationChangeHandler()'\n  }\n})\nexport class TooltipDirective implements OnDestroy, OnInit, AfterViewInit {\n  private _el = inject<ElementRef<HTMLDivElement>>(ElementRef);\n  private _dom = inject(DomService);\n\n  private _tooltipConfig: Vertices = {\n    right: (boundaries: Boundaries, tooltip: TooltipModel) => {\n      const targetHalf: number = boundaries.top + boundaries.height / 2;\n      const tooltipHalf: number = tooltip.offsetHeight / 2;\n\n      return [\n        boundaries.left + boundaries.width + 15,\n        targetHalf - tooltipHalf\n      ];\n    },\n    bottom: (boundaries: Boundaries, tooltip: TooltipModel) => {\n      const targetHalf: number = boundaries.right - boundaries.width / 2;\n      const tooltipHalf: number = tooltip.offsetWidth / 2;\n\n      return [targetHalf - tooltipHalf, boundaries.bottom + 15];\n    },\n    left: (boundaries: Boundaries, tooltip: TooltipModel) => {\n      const targetHalf: number = boundaries.top + boundaries.height / 2;\n      const tooltipHalf: number = tooltip.offsetHeight / 2;\n\n      return [\n        boundaries.left - tooltip.offsetWidth - 15,\n        targetHalf - tooltipHalf\n      ];\n    },\n    top: (boundaries: Boundaries, tooltip: TooltipModel) => {\n      const targetHalf: number = boundaries.right - boundaries.width / 2;\n      const tooltipHalf: number = tooltip.offsetWidth / 2;\n\n      return [\n        targetHalf - tooltipHalf,\n        boundaries.top - tooltip.offsetHeight - 15\n      ];\n    }\n  };\n\n  private tooltip: TooltipModel;\n  private tooltipOpen = false;\n\n  @ContentChild('tooltipContent') tooltipContent: ElementRef<HTMLElement>;\n  tooltipTitle = input<string>('');\n  tooltipData = input<string>('');\n  tooltipPosition = input<'top' | 'left' | 'right' | 'bottom'>('top');\n  tooltipType = input<TooltipType>('primary');\n\n  clickOutside = output<Event>();\n\n  onMouseLeave(): void {\n    this.hideTooltip();\n  }\n\n  onMouseEnter(): void {\n    this.showTooltip();\n  }\n\n  onClick(): void {\n    if (this.tooltipOpen) {\n      this.hideTooltip();\n    } else {\n      this.showTooltip();\n    }\n  }\n\n  orientationChangeHandler(): void {\n    if (this.tooltipOpen) {\n      this.hideTooltip();\n      this.tooltip.tooltip.nativeElement.setAttribute('style', '');\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.hideTooltip();\n    this._dom.removeComponent();\n    this.removeListeners();\n  }\n\n  ngOnInit(): void {\n    this.tooltip = this._dom.attachComponent(Tooltip, {\n      title: this.tooltipTitle() || '',\n      data: this.tooltipData() || '',\n      type: this.tooltipType() || ''\n    }) as TooltipModel;\n    this.initListeners();\n  }\n\n  ngAfterViewInit(): void {\n    if (this.tooltipContent) {\n      this.tooltip = this._dom.attachComponent(Tooltip, {\n        contentEl: this.tooltipContent.nativeElement,\n        html: this.tooltipContent.nativeElement.innerHTML,\n        type: this.tooltipType() || ''\n      }) as TooltipModel;\n      this.tooltipContent.nativeElement.style.display = 'none';\n    }\n  }\n\n  private initListeners(): void {\n    document.addEventListener('touchstart', this.handleDocumentTouchstart);\n  }\n\n  private removeListeners(): void {\n    document.removeEventListener('touchstart', this.handleDocumentTouchstart);\n  }\n\n  private showTooltip(): void {\n    this.tooltipOpen = true;\n\n    const tooltip = this.tooltip.tooltip.nativeElement;\n\n    const boundaries: Boundaries = (\n      this._el.nativeElement as HTMLElement\n    ).getBoundingClientRect();\n    const [left, top] = this._tooltipConfig[this.tooltipPosition()](\n      boundaries,\n      tooltip\n    );\n\n    tooltip.style.left = `${left}px`;\n    tooltip.style.top = `${top}px`;\n    tooltip.className = `aeb-tooltip aeb-tooltip--open aeb-tooltip--${this.tooltipPosition()} aeb-tooltip--${this.tooltipType()}`;\n  }\n\n  private hideTooltip(): void {\n    this.tooltipOpen = false;\n\n    const tooltip = this.tooltip.tooltip.nativeElement;\n    tooltip.className = 'aeb-tooltip';\n  }\n\n  private handleDocumentTouchstart = (event: Event) => {\n    const contain = this._el.nativeElement.contains(event.target as Node);\n    if (!contain) {\n      if (this.tooltipOpen) {\n        this.hideTooltip();\n      }\n    }\n  };\n}\n","import { NgModule } from '@angular/core';\n\nimport { TooltipDirective } from './directives/tooltip.directive';\n\n@NgModule({\n  imports: [TooltipDirective],\n  exports: [TooltipDirective]\n})\nexport class TooltipModule {}\n","import { NgClass } from '@angular/common';\nimport {\n  Component,\n  inject,\n  input,\n  OnInit,\n  output,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport {\n  FormBuilder,\n  FormGroup,\n  FormsModule,\n  ReactiveFormsModule,\n  Validators\n} from '@angular/forms';\n\nimport { ButtonModule } from '../button/button.module';\nimport { FormFieldModule } from '../form-field/form-field.module';\nimport { TooltipDirective } from '../tooltip/directives/tooltip.directive';\nimport { TooltipModule } from '../tooltip/tooltip.module';\nimport { CommentModel } from './models/comment.model';\n\n@Component({\n  selector: 'aeb-comment',\n  templateUrl: './comment.html',\n  styleUrls: ['./comment.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [\n    NgClass,\n    FormsModule,\n    ReactiveFormsModule,\n    TooltipModule,\n    FormFieldModule,\n    ButtonModule\n  ]\n})\nexport class Comment implements OnInit {\n  private readonly _formBuilder = inject(FormBuilder);\n\n  readonly comment = input<CommentModel>(undefined);\n  readonly tooltip = viewChild(TooltipDirective);\n\n  readonly response = output<any>();\n\n  responseForm: FormGroup;\n\n  isExpanded = false;\n  onResponse = false;\n\n  titleError = false;\n  contentError = false;\n\n  expandHandler(): void {\n    this.isExpanded = !this.isExpanded;\n  }\n\n  responseHandler(): void {\n    this.onResponse = !this.onResponse;\n  }\n\n  submitHandler(): void {\n    this.titleError = this.responseForm.controls.title.invalid;\n    this.contentError = this.responseForm.controls.content.invalid;\n\n    if (this.responseForm.invalid) {\n      return;\n    }\n\n    this.response.emit({\n      ...this.responseForm.value,\n      hash: this.comment().hash,\n      parentHash: this.comment().parentHash,\n      parentName: this.comment().parentName,\n      firstName: 'Дмитрий',\n      lastName: 'Сахаров'\n    });\n\n    this.onResponse = false;\n  }\n\n  hoistHandler(data: any): void {\n    this.response.emit(data);\n  }\n\n  nullTarget(event: Event): void {\n    event.preventDefault();\n  }\n\n  ngOnInit(): void {\n    this.responseForm = this._formBuilder.group({\n      title: ['', [Validators.required]],\n      content: ['', [Validators.required]]\n    });\n  }\n}\n","<div class=\"aeb-comment\">\n  <div class=\"aeb-comment__avatar-column\">\n    <div class=\"aeb-comment__avatar\">\n      @if (comment()?.avatar) {\n      <img [src]=\"comment().avatar\" alt=\"Avatar\" />\n      } @else {\n      <div class=\"aeb-comment__initials\">\n        {{ comment().firstName.slice(0, 1) }}{{ comment().lastName.slice(0, 1) }}\n      </div>\n      }\n    </div>\n  </div>\n  <div class=\"aeb-comment__comment-column\">\n    <div class=\"aeb-comment__author-wrapper\">\n      <div class=\"aeb-comment__author-group\">\n        {{ comment().group }} @if (comment()?.parentName) {\n        <div class=\"aeb-comment__reply-icon\">\n          <svg\n            width=\"10\"\n            height=\"8\"\n            viewBox=\"0 0 10 8\"\n            fill=\"none\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n          >\n            <path\n              d=\"M4.68742 1.87519H3.7499V0.312666C3.7499 0.183289 3.67053 0.0676621 3.55052 0.0207864C3.43052 -0.0254644 3.29365 0.00703617 3.20614 0.102663L0.081095 3.54022C-0.0270317 3.65897 -0.0270317 3.84085 0.081095 3.96022L3.20614 7.39778C3.26677 7.46403 3.35115 7.50028 3.4374 7.50028C3.47552 7.50028 3.51365 7.4934 3.55052 7.47965C3.67053 7.43278 3.7499 7.31715 3.7499 7.18777V5.62525H4.61929C6.40307 5.62525 8.1306 6.26401 9.48437 7.42528C9.57624 7.50465 9.70812 7.52278 9.81812 7.47153C9.92937 7.4209 10 7.30965 10 7.18777C10 4.25835 7.61684 1.87519 4.68742 1.87519Z\"\n              fill=\"#A3AAAE\"\n            />\n          </svg>\n        </div>\n        <span class=\"aeb-comment__reply-host\"> {{ comment().parentName }} </span>\n        }\n      </div>\n      <div class=\"aeb-comment__author-name\">\n        {{ comment().fullName }}\n        <div\n          aebTooltip\n          [tooltipPosition]=\"'right'\"\n          [tooltipData]=\"comment().aboutAuthor\"\n          class=\"aeb-comment__author-info\"\n        >\n          <svg\n            width=\"16\"\n            height=\"16\"\n            viewBox=\"0 0 16 16\"\n            fill=\"none\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n          >\n            <path\n              d=\"M15.5 8C15.5 12.1421 12.1421 15.5 8 15.5C3.85786 15.5 0.5 12.1421 0.5 8C0.5 3.85786 3.85786 0.5 8 0.5C12.1421 0.5 15.5 3.85786 15.5 8Z\"\n              stroke=\"#27303E\"\n            />\n            <path\n              d=\"M5.8125 6.3584C5.83529 5.78223 6.03874 5.31348 6.42285 4.95215C6.81022 4.59082 7.3457 4.41016 8.0293 4.41016C8.66732 4.41016 9.18652 4.58105 9.58691 4.92285C9.9873 5.26139 10.1875 5.69434 10.1875 6.22168C10.1875 6.92806 9.8457 7.48633 9.16211 7.89648C8.84961 8.08203 8.63639 8.25456 8.52246 8.41406C8.40853 8.57031 8.35156 8.77539 8.35156 9.0293V9.32715H7.34082L7.33594 8.93652C7.32292 8.59798 7.39128 8.3099 7.54102 8.07227C7.69401 7.83464 7.93978 7.61328 8.27832 7.4082C8.5778 7.22917 8.78613 7.05664 8.90332 6.89062C9.02051 6.72461 9.0791 6.51628 9.0791 6.26562C9.0791 5.98568 8.97819 5.75618 8.77637 5.57715C8.57454 5.39811 8.30762 5.30859 7.97559 5.30859C7.6403 5.30859 7.37012 5.40299 7.16504 5.5918C6.95996 5.7806 6.84603 6.03613 6.82324 6.3584H5.8125ZM7.85352 11.5879C7.67448 11.5879 7.52311 11.5277 7.39941 11.4072C7.27572 11.2868 7.21387 11.137 7.21387 10.958C7.21387 10.779 7.27572 10.6292 7.39941 10.5088C7.52311 10.3883 7.67448 10.3281 7.85352 10.3281C8.03581 10.3281 8.1888 10.3883 8.3125 10.5088C8.4362 10.6292 8.49805 10.779 8.49805 10.958C8.49805 11.137 8.4362 11.2868 8.3125 11.4072C8.1888 11.5277 8.03581 11.5879 7.85352 11.5879Z\"\n              fill=\"#27303E\"\n            />\n          </svg>\n        </div>\n      </div>\n    </div>\n    <div class=\"aeb-comment__comment-wrapper\">\n      <div class=\"aeb-comment__comment-header\">{{ comment().title }}</div>\n      <div class=\"aeb-comment__comment-txt\">{{ comment().content }}</div>\n    </div>\n    <div class=\"aeb-comment__date-response\">\n      <div class=\"aeb-comment__comment-date\">{{ comment().date }}</div>\n      <div class=\"aeb-comment__comment-response\" (click)=\"responseHandler()\">\n        Ответить\n      </div>\n    </div>\n    @if (onResponse) {\n    <form\n      class=\"aeb-comment__response-form\"\n      [formGroup]=\"responseForm\"\n      (submit)=\"nullTarget($event)\"\n    >\n      <div\n        class=\"aeb-comment__input\"\n        [ngClass]=\"{\n            'aeb-comment__input--error': titleError\n          }\"\n      >\n        <aeb-form-field>\n          <label aebLabel>Заголовок комментария</label>\n          <label errorMessage>Заголовок не может быть пустым</label>\n          <input aebInput type=\"text\" formControlName=\"title\" />\n        </aeb-form-field>\n      </div>\n      <div\n        class=\"aeb-comment__input\"\n        [ngClass]=\"{\n            'aeb-comment__input--error': contentError\n          }\"\n      >\n        <aeb-form-field>\n          <label errorMessage>Поле не может быть пустым</label>\n          <label aebLabel>Поле комментария</label>\n          <textarea\n            aebTextarea\n            style=\"height: 140px\"\n            formControlName=\"content\"\n            required\n          >\n          </textarea>\n        </aeb-form-field>\n      </div>\n      <div class=\"aeb-comment__submit\">\n        <button aebButton (click)=\"submitHandler()\" [disabled]>\n          Отправить\n        </button>\n      </div>\n    </form>\n    } @if (comment()?.nestedComments && comment().nestedComments.length) {\n    <div (click)=\"expandHandler()\" class=\"aeb-comment__response-ctrls\">\n      <div class=\"aeb-comment__responses\">Ответы</div>\n      <div class=\"aeb-comment__response-counter\">\n        {{ comment().nestedComments.length }}\n      </div>\n      <div\n        class=\"aeb-comment__arrow-icon\"\n        [ngClass]=\"{\n            'aeb-comment__arrow-icon--active': isExpanded\n          }\"\n      >\n        <svg\n          width=\"10\"\n          height=\"6\"\n          viewBox=\"0 0 10 6\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M0.999999 5L4.92929 1.07071C4.96834 1.03166 5.03166 1.03166 5.07071 1.07071L9 5\"\n            stroke=\"#2F88F0\"\n            stroke-width=\"2\"\n            stroke-linecap=\"round\"\n          />\n        </svg>\n      </div>\n    </div>\n    } @if ( comment()?.nestedComments && comment().nestedComments.length &&\n    isExpanded ) { @for (nestedComment of comment().nestedComments; track\n    nestedComment) {\n    <aeb-comment (response)=\"hoistHandler($event)\" [comment]=\"nestedComment\">\n    </aeb-comment>\n    } }\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { Comment } from './comment';\n\n@NgModule({\n  imports: [Comment],\n  exports: [Comment]\n})\nexport class CommentModule {}\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\n\nimport { ButtonModule } from '../button/button.module';\nimport { IProductItemCardModel } from './models/IProductItemCard';\n\n@Component({\n  selector: 'aeb-credit-item-card',\n  templateUrl: './credit-item-card.html',\n  styleUrls: ['./credit-item-card.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [ButtonModule]\n})\nexport class CreditItemCard {\n  readonly cardInfo = input<IProductItemCardModel>();\n\n  readonly buttonClickEvent = output<void>();\n  readonly infoClickEvent = output<void>();\n}\n","<div\n  class=\"credit-item-card\"\n  [style.background-image]=\"'url(' + cardInfo().image + ')'\"\n  [style.background-color]=\"cardInfo().backgroundColor\"\n>\n  <div\n    class=\"credit-item-card__info-icon\"\n    (click)=\"infoClickEvent.emit()\"\n  ></div>\n  <div\n    class=\"credit-item-card__title-wrapper\"\n    (click)=\"buttonClickEvent.emit()\"\n  >\n    <div class=\"credit-item-card__title\">«{{ cardInfo()?.title }}»</div>\n    <div class=\"credit-item-card__title-text\">{{ cardInfo()?.caption }}</div>\n  </div>\n  <div class=\"credit-item-card__details-wrapper\">\n    <div class=\"credit-item-card__credit-details\">\n      @if (cardInfo()?.details?.time) {\n      <div class=\"credit-item-card__credit-details-item\">\n        <div class=\"credit-item-card__credit-details-item-title\">\n          Срок кредита\n        </div>\n        <div class=\"credit-item-card__credit-details-item-separator\"></div>\n        <div class=\"credit-item-card__credit-details-item-value\">\n          до {{ cardInfo()?.details?.time }} {{ cardInfo()?.details?.timeMeasure\n          }}\n        </div>\n      </div>\n      } @if (cardInfo()?.details?.rate) {\n      <div class=\"credit-item-card__credit-details-item\">\n        <div class=\"credit-item-card__credit-details-item-title\">Ставка</div>\n        <div class=\"credit-item-card__credit-details-item-separator\"></div>\n        <div class=\"credit-item-card__credit-details-item-value\">\n          {{ cardInfo()?.details?.rate }} %\n        </div>\n      </div>\n      } @if (cardInfo()?.details?.amount) {\n      <div class=\"credit-item-card__credit-details-item\">\n        <div class=\"ccredit-item-card__credit-details-item-title\">\n          Сумма кредита\n        </div>\n        <div class=\"credit-item-card__credit-details-item-separator\"></div>\n        <div class=\"credit-item-card__credit-details-item-value\">\n          до {{ cardInfo()?.details?.amount }} {{\n          cardInfo()?.details?.amountMeasure }}\n        </div>\n      </div>\n      }\n    </div>\n  </div>\n  <div class=\"credit-item-card__button-wrapper\">\n    <button aebButton (click)=\"buttonClickEvent.emit()\">\n      Рассчитать кредит\n    </button>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { CreditItemCard } from './credit-item-card';\n\n@NgModule({\n  imports: [CreditItemCard],\n  exports: [CreditItemCard]\n})\nexport class CreditItemCardModule {}\n","import {\n  Directive,\n  ElementRef,\n  inject,\n  Injectable,\n  output\n} from '@angular/core';\n\n@Injectable()\n@Directive({\n  selector: '[clickOutside]',\n  standalone: true,\n  host: {\n    '(document:click)': 'onClick($event)'\n  }\n})\nexport class ClickOutsideDirective {\n  private _host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n  readonly clickOutside = output<Event>();\n\n  onClick(event: Event) {\n    const clickedInside = this._host.nativeElement.contains(\n      event.target as HTMLElement\n    );\n    if (!clickedInside) {\n      this.clickOutside.emit(event);\n    }\n  }\n}\n","export const weekLocal = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'];\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'dateToStr' })\nexport class DateToStrPipe implements PipeTransform {\n  transform(value: Date | null): string {\n    return value ? `${value.getDate()}` : '';\n  }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class DatepickerUtilsService {\n  // Public methods\n  genWeek(week: Date, month: Date, count: number): Date[] {\n    const begginingOfWeek = this.addWeeks(week, count);\n\n    return [...(new Array(7) as number[])]\n      .map((_) => begginingOfWeek)\n      .map((day, index) => this.addDays(day, index))\n      .map((day) => (this.isSameMonth(month, day) ? day : null));\n  }\n\n  genMonth(date: Date): Date[][] {\n    const WEEKS_TOTAL = this.getWeeksInMonth(date);\n    const START_OF_MONTH = this.startOfMonth(date);\n    const START_OF_WEEK = this.startOfWeek(START_OF_MONTH);\n\n    return [...(new Array(WEEKS_TOTAL + 1) as number[])]\n      .map((_, index) => {\n        const week: Date[] = this.genWeek(START_OF_WEEK, START_OF_MONTH, index);\n        return week.filter((item) => !!item).length ? week : null;\n      })\n      .filter((week) => !!week);\n  }\n\n  addMonths(date: Date, count: number): Date {\n    const result = new Date(date);\n    result.setMonth(result.getMonth() + count);\n    return result;\n  }\n\n  subMonths(date: Date, count: number): Date {\n    const result = new Date(date);\n    result.setMonth(result.getMonth() - count);\n    return result;\n  }\n\n  genYears(min: Date, max: Date): number[] {\n    return this.eachYearOfInterval(min, max).map((date) => date.getFullYear());\n  }\n\n  addYears(date: Date, count: number): Date {\n    const result = new Date(date);\n    result.setFullYear(result.getFullYear() + count);\n    return result;\n  }\n\n  subYears(date: Date, count: number): Date {\n    const result = new Date(date);\n    result.setFullYear(result.getFullYear() - count);\n    return result;\n  }\n\n  yearsDiff(a: Date, b: Date): number {\n    return this.differenceInYears(a, b);\n  }\n\n  startOfYear(date: Date): Date {\n    return new Date(date.getFullYear(), 0, 1);\n  }\n\n  isToday(date: Date): boolean {\n    const today = new Date();\n    return this.isSameDay(date, today);\n  }\n\n  isSameDay(dateLeft: Date, dateRight: Date): boolean {\n    if (!this.isValid(dateLeft) || !this.isValid(dateRight)) {\n      return false;\n    }\n\n    return (\n      dateLeft.getFullYear() === dateRight.getFullYear() &&\n      dateLeft.getMonth() === dateRight.getMonth() &&\n      dateLeft.getDate() === dateRight.getDate()\n    );\n  }\n\n  getMonth(date: Date): number {\n    return date.getMonth();\n  }\n\n  getYear(date: Date): number {\n    return date.getFullYear();\n  }\n\n  setMonth(month: number, year: number): Date {\n    return new Date(year, month, 1);\n  }\n\n  isMinOverlap(minDate: Date, date: Date): boolean {\n    if (!this.isValid(minDate) || !this.isValid(date)) {\n      return false;\n    }\n\n    return this.areIntervalsOverlapping(\n      {\n        start: this.subYears(minDate, 9999),\n        end: this.startOfDay(minDate)\n      },\n      {\n        start: this.startOfDay(date),\n        end: this.endOfDay(date)\n      }\n    );\n  }\n\n  isMaxOverlap(maxDate: Date, date: Date): boolean {\n    if (!this.isValid(maxDate) || !this.isValid(date)) {\n      return false;\n    }\n\n    return this.areIntervalsOverlapping(\n      {\n        start: this.addDays(this.startOfDay(maxDate), 1),\n        end: this.addYears(maxDate, 9999)\n      },\n      {\n        start: this.startOfDay(date),\n        end: this.endOfDay(date)\n      }\n    );\n  }\n\n  parseDate(date: string): Date {\n    // Parse date in format dd.MM.yyyy\n    const parts = date.split('.');\n    if (parts.length === 3) {\n      const day = parseInt(parts[0], 10);\n      const month = parseInt(parts[1], 10) - 1; // Month is 0-indexed\n      const year = parseInt(parts[2], 10);\n      return new Date(year, month, day);\n    }\n    return new Date();\n  }\n\n  formatDate(date: Date): string {\n    if (this.isValid(date)) {\n      const day = date.getDate().toString().padStart(2, '0');\n      const month = (date.getMonth() + 1).toString().padStart(2, '0');\n      const year = date.getFullYear().toString();\n      return `${day}.${month}.${year}`;\n    }\n    return '';\n  }\n\n  dayLimit(month: number, year: number): number {\n    return month !== undefined\n      ? this.getDaysInMonth(new Date(year, month))\n      : 31;\n  }\n\n  excludedMonths(day: number, year: number): number[] {\n    return [...(new Array(12) as number[])]\n      .map((_, i) => i)\n      .filter((month) => this.isExists(year, month, day));\n  }\n\n  validYear(day: number = 1, month: number = 0, year: number): boolean {\n    return this.isExists(year, month, day);\n  }\n\n  validDate(\n    day: string,\n    month: string,\n    year: string,\n    limit: [Date, Date]\n  ): boolean {\n    const targetDate =\n      [day, month, year].filter((item) => !!item).length === 3\n        ? new Date(+year, +month - 1, +day)\n        : null;\n\n    const validDay =\n      parseInt(day) <=\n      this.dayLimit(parseInt(month) - 1, year ? parseInt(year) : 2000);\n    const validMonth = this.excludedMonths(\n      parseInt(day),\n      year ? parseInt(year) : 2000\n    ).includes(parseInt(month) - 1);\n    const validYear = year\n      ? parseInt(year) >= this.getYear(limit[0]) &&\n        parseInt(year) <= this.getYear(limit[1])\n      : true;\n\n    const moreThenMin = targetDate\n      ? this.compareAsc(targetDate, limit[0]) !== -1\n      : true;\n    const lessThenMax = targetDate\n      ? this.compareAsc(targetDate, limit[1]) !== 1\n      : true;\n\n    return validDay && validMonth && validYear && moreThenMin && lessThenMax;\n  }\n\n  fillMask(date: string): string[] {\n    return [...(new Array(8) as number[])]\n      .map((_, i) => date[i] || '_')\n      .join('')\n      .split(/(.{2})(.{2})(.{4})/);\n  }\n\n  validInput(term: string): boolean {\n    const regExp = /(0[1-9]|1[0-9]|2[0-9]|3[0-2])\\.(0[1-9]|1[0-2])\\.(\\d{4})/;\n    return !!term.match(regExp);\n  }\n\n  // Private helper methods\n  private isValid(date: Date): boolean {\n    return date instanceof Date && !isNaN(date.getTime());\n  }\n\n  private startOfDay(date: Date): Date {\n    const result = new Date(date);\n    result.setHours(0, 0, 0, 0);\n    return result;\n  }\n\n  private endOfDay(date: Date): Date {\n    const result = new Date(date);\n    result.setHours(23, 59, 59, 999);\n    return result;\n  }\n\n  private startOfMonth(date: Date): Date {\n    return new Date(date.getFullYear(), date.getMonth(), 1);\n  }\n\n  private startOfWeek(date: Date): Date {\n    const result = new Date(date);\n    const day = result.getDay();\n    const diff = result.getDate() - day + (day === 0 ? -6 : 1); // Adjust when day is Sunday\n    result.setDate(diff);\n    return this.startOfDay(result);\n  }\n\n  private addDays(date: Date, days: number): Date {\n    const result = new Date(date);\n    result.setDate(result.getDate() + days);\n    return result;\n  }\n\n  private addWeeks(date: Date, weeks: number): Date {\n    return this.addDays(date, weeks * 7);\n  }\n\n  private isSameMonth(date1: Date, date2: Date): boolean {\n    return (\n      date1.getFullYear() === date2.getFullYear() &&\n      date1.getMonth() === date2.getMonth()\n    );\n  }\n\n  private getWeeksInMonth(date: Date): number {\n    const startOfMonth = this.startOfMonth(date);\n    const endOfMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n    const startOfFirstWeek = this.startOfWeek(startOfMonth);\n    const endOfLastWeek = this.startOfWeek(endOfMonth);\n    const diffInDays = Math.ceil(\n      (endOfLastWeek.getTime() - startOfFirstWeek.getTime()) /\n        (1000 * 60 * 60 * 24)\n    );\n    return Math.ceil(diffInDays / 7);\n  }\n\n  private getDaysInMonth(date: Date): number {\n    return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\n  }\n\n  private isExists(year: number, month: number, day: number): boolean {\n    const date = new Date(year, month, day);\n    return (\n      date.getFullYear() === year &&\n      date.getMonth() === month &&\n      date.getDate() === day\n    );\n  }\n\n  private compareAsc(date1: Date, date2: Date): number {\n    if (date1 < date2) {\n      return -1;\n    }\n    if (date1 > date2) {\n      return 1;\n    }\n    return 0;\n  }\n\n  private differenceInYears(date1: Date, date2: Date): number {\n    return date1.getFullYear() - date2.getFullYear();\n  }\n\n  private eachYearOfInterval(start: Date, end: Date): Date[] {\n    const years: Date[] = [];\n    const startYear = start.getFullYear();\n    const endYear = end.getFullYear();\n\n    for (let year = startYear; year <= endYear; year++) {\n      years.push(new Date(year, 0, 1));\n    }\n\n    return years;\n  }\n\n  private areIntervalsOverlapping(\n    interval1: { start: Date; end: Date },\n    interval2: { start: Date; end: Date }\n  ): boolean {\n    return interval1.start <= interval2.end && interval2.start <= interval1.end;\n  }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { DatepickerUtilsService } from '../services/datepicker-utils.service';\n\n@Pipe({ name: 'isDisabled' })\nexport class IsDisabledPipe implements PipeTransform {\n  private _utils = inject(DatepickerUtilsService);\n\n  transform(\n    date: Date | null,\n    minDate: Date | null,\n    maxDate: Date | null,\n    excludedDates: Date[]\n  ): boolean {\n    return (\n      this._utils.isMinOverlap(minDate, date) ||\n      this._utils.isMaxOverlap(maxDate, date) ||\n      !!excludedDates.filter((item) => this._utils.isSameDay(item, date)).length\n    );\n  }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { DatepickerUtilsService } from '../services/datepicker-utils.service';\n\n@Pipe({ name: 'isSameDate' })\nexport class IsSameDatePipe implements PipeTransform {\n  private _utils = inject(DatepickerUtilsService);\n\n  transform(date1: Date | null, date2: Date | null): boolean {\n    return this._utils.isSameDay(date1, date2);\n  }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { DatepickerUtilsService } from '../services/datepicker-utils.service';\n\n@Pipe({ name: 'isToday' })\nexport class IsTodayPipe implements PipeTransform {\n  private _utils = inject(DatepickerUtilsService);\n\n  transform(date: Date | null): boolean {\n    return this._utils.isToday(date);\n  }\n}\n","import { NgClass } from '@angular/common';\nimport {\n  Component,\n  input,\n  output,\n  signal,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { weekLocal } from '../consts/week-local.const';\nimport { DateToStrPipe } from '../pipes/date-to-str.pipe';\nimport { IsDisabledPipe } from '../pipes/is-disabled.pipe';\nimport { IsSameDatePipe } from '../pipes/is-same-date.pipe';\nimport { IsTodayPipe } from '../pipes/is-today.pipe';\n\n/**\n * Компонент для отображения панели со списком дней\n */\n@Component({\n  selector: 'div[aebDatepickerMonth]',\n  templateUrl: './datepicker-month.html',\n  styleUrls: ['./datepicker-month.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgClass, DateToStrPipe, IsTodayPipe, IsSameDatePipe, IsDisabledPipe]\n})\nexport class DatepickerMonth {\n  readonly month = input<any>(undefined);\n  readonly date = input<Date>(undefined);\n  readonly minDate = input<Date>(undefined);\n  readonly maxDate = input<Date>(undefined);\n  readonly excludedDates = input<Date[]>(undefined);\n\n  readonly setDate = output<Date>();\n\n  readonly week = signal<string[]>(weekLocal);\n\n  emitDate(date: Date): void {\n    this.setDate.emit(date);\n  }\n}\n","<div class=\"aeb-datepicker-month__header\">\n  @for (day of week(); track $index) {\n  <div class=\"aeb-datepicker-month__header-day\">{{ day }}</div>\n  }\n</div>\n@for (week of month(); track $index) {\n<div class=\"aeb-datepicker-month__week\">\n  @for (day of week; track $index) { @if (!!day) {\n  <div\n    class=\"aeb-datepicker-month__day\"\n    [ngClass]=\"{\n            'aeb-datepicker-month__day--today': day | isToday,\n            'aeb-datepicker-month__day--picked': day | isSameDate: date(),\n            'aeb-datepicker-month__day--disabled':\n              day | isDisabled: minDate() : maxDate() : excludedDates()\n          }\"\n    (click)=\"emitDate(day)\"\n  >\n    {{ day | dateToStr }}\n  </div>\n  } @else {\n  <div class=\"aeb-datepicker-month__day aeb-datepicker-month__day--stub\"></div>\n  } }\n</div>\n}\n","export const monthsLocal = [\n  'Январь',\n  'Февраль',\n  'Март',\n  'Апрель',\n  'Май',\n  'Июнь',\n  'Июль',\n  'Август',\n  'Сентябрь',\n  'Октябрь',\n  'Ноябрь',\n  'Декабрь'\n];\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { DatepickerUtilsService } from '../services/datepicker-utils.service';\n\n/**\n * Pipe to check if a month is disabled based on min/max date constraints\n */\n@Pipe({\n  name: 'isMonthDisabled',\n  standalone: true\n})\nexport class IsMonthDisabledPipe implements PipeTransform {\n  private _utils = inject(DatepickerUtilsService);\n\n  /**\n   * Checks if a month should be disabled\n   * @param month - The month index (0-11)\n   * @param woDays - Whether to check without days (boolean)\n   * @param year - The year for the month\n   * @param minDate - Minimum allowed date\n   * @param maxDate - Maximum allowed date\n   * @returns true if the month should be disabled\n   */\n  transform(\n    month: number,\n    woDays: boolean,\n    year: number,\n    minDate: Date,\n    maxDate: Date\n  ): boolean {\n    if (woDays) {\n      return (\n        this._utils.isMinOverlap(minDate, new Date(year, month)) ||\n        this._utils.isMaxOverlap(maxDate, new Date(year, month))\n      );\n    }\n    return false;\n  }\n}\n","import { NgClass } from '@angular/common';\nimport {\n  Component,\n  input,\n  output,\n  signal,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { monthsLocal } from '../consts/months-local.const';\nimport { IsMonthDisabledPipe } from '../pipes/is-month-disabled.pipe';\n\n/**\n * Компонента для отображения панели со списком месяцев\n */\n@Component({\n  selector: 'div[aebDatepickerMonthTiles]',\n  templateUrl: './datepicker-month-tiles.html',\n  styleUrls: ['./datepicker-month-tiles.scss'],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class.aeb-datepicker-month-tiles]': 'true'\n  },\n  imports: [NgClass, IsMonthDisabledPipe]\n})\nexport class DatepickerMonthTiles {\n  readonly year = input<number>(undefined);\n  readonly month = input<number>(undefined);\n  readonly minDate = input<Date>(undefined);\n  readonly maxDate = input<Date>(undefined);\n  readonly woDays = input(false);\n\n  readonly setMonth = output<number>();\n\n  readonly months = signal<string[]>(monthsLocal);\n\n  emitMonth(month: number): void {\n    this.setMonth.emit(month);\n  }\n}\n","@for (monthNum of months(); track monthNum; let i = $index) {\n<div\n  class=\"aeb-datepicker-month-tiles__tile\"\n  [ngClass]=\"{\n      'aeb-datepicker-month-tiles__tile--active': i === month(),\n      'aeb-datepicker-month-tiles__tile--disabled':\n        i | isMonthDisabled: woDays() : year() : minDate() : maxDate()\n    }\"\n  (click)=\"emitMonth(i)\"\n>\n  {{ monthNum }}\n</div>\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\n\nimport { DatepickerUtilsService } from '../services/datepicker-utils.service';\n\n/**\n * Pipe to check if a year is disabled based on min/max date constraints\n */\n@Pipe({\n  name: 'isYearDisabled',\n  standalone: true\n})\nexport class IsYearDisabledPipe implements PipeTransform {\n  private _utils = inject(DatepickerUtilsService);\n\n  /**\n   * Checks if a year should be disabled\n   * @param year - The year to check\n   * @param woDays - Whether to check without days (boolean)\n   * @param minDate - Minimum allowed date\n   * @param maxDate - Maximum allowed date\n   * @returns true if the year should be disabled\n   */\n  transform(\n    year: number,\n    woDays: boolean,\n    minDate: Date,\n    maxDate: Date\n  ): boolean {\n    if (woDays) {\n      return (\n        this._utils.isMinOverlap(minDate, new Date(year, 11, 31)) ||\n        this._utils.isMaxOverlap(maxDate, new Date(year, 0))\n      );\n    }\n    return false;\n  }\n}\n","import { NgClass } from '@angular/common';\nimport {\n  AfterViewInit,\n  Component,\n  ElementRef,\n  inject,\n  input,\n  OnInit,\n  output,\n  signal,\n  viewChildren,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { IsYearDisabledPipe } from '../pipes/is-year-disabled.pipe';\nimport { DatepickerUtilsService } from '../services/datepicker-utils.service';\n\n/**\n * Компонента для отображения панели со списком лет\n */\n@Component({\n  selector: 'div[aebDatepickerYearTiles]',\n  templateUrl: './datepicker-year-tiles.html',\n  styleUrls: ['./datepicker-year-tiles.scss'],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class.aeb-datepicker-year-tiles]': 'true'\n  },\n  imports: [NgClass, IsYearDisabledPipe]\n})\nexport class DatepickerYearTiles implements OnInit, AfterViewInit {\n  private _utils = inject(DatepickerUtilsService);\n\n  readonly year = input<number>(undefined);\n  readonly minYear = input<Date>(undefined);\n  readonly maxYear = input<Date>(undefined);\n  readonly minDate = input<Date>(undefined);\n  readonly maxDate = input<Date>(undefined);\n  readonly woDays = input(false);\n\n  readonly setYear = output<number>();\n\n  readonly yearTiles = viewChildren<ElementRef<HTMLDivElement>>('yearTile');\n\n  readonly years = signal<number[]>([]);\n\n  ngOnInit(): void {\n    this.years.set(\n      this._utils.genYears(this.minYear(), this.maxYear()).reverse()\n    );\n  }\n\n  ngAfterViewInit(): void {\n    this.scrollToCurrentSelection();\n  }\n\n  emitYear(year: number): void {\n    this.setYear.emit(year);\n  }\n\n  private scrollToCurrentSelection(): void {\n    this.yearTiles().forEach((yearTile) => {\n      if (this.year() === Number(yearTile.nativeElement.innerHTML)) {\n        yearTile.nativeElement.scrollIntoView();\n      }\n    });\n  }\n}\n","@for (yearNum of years(); track yearNum) {\n<div\n  #yearTile\n  class=\"aeb-datepicker-year-tiles__tile\"\n  [ngClass]=\"{\n      'aeb-datepicker-year-tiles__tile--active': yearNum === year(),\n      'aeb-datepicker-year-tiles__tile--disabled':\n        yearNum | isYearDisabled: woDays() : minDate() : maxDate()\n    }\"\n  (click)=\"emitYear(yearNum)\"\n>\n  {{ yearNum }}\n</div>\n}\n","import '@angular/common/locales/global/ru';\n\nimport { DatePipe, TitleCasePipe } from '@angular/common';\nimport {\n  Component,\n  inject,\n  input,\n  LOCALE_ID,\n  OnInit,\n  output,\n  signal,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { DatepickerMonth } from '../datepicker-month/datepicker-month';\nimport { DatepickerMonthTiles } from '../datepicker-month-tiles/datepicker-month-tiles';\nimport { DatepickerYearTiles } from '../datepicker-year-tiles/datepicker-year-tiles';\nimport { DatepickerUtilsService } from '../services/datepicker-utils.service';\n\n@Component({\n  selector: 'div[aebDatepickerCore]',\n  templateUrl: './datepicker-core.html',\n  styleUrls: ['./datepicker-core.scss'],\n  providers: [{ provide: LOCALE_ID, useValue: 'ru' }],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class.aeb-datepicker-core]': 'true',\n    '[class.aeb-datepicker-core--hidden]': 'hidden()'\n  },\n  imports: [\n    DatepickerMonth,\n    DatepickerMonthTiles,\n    DatepickerYearTiles,\n    TitleCasePipe,\n    DatePipe\n  ]\n})\nexport class DatepickerCore implements OnInit {\n  private _utils = inject(DatepickerUtilsService);\n\n  readonly date = input<Date>(undefined);\n  readonly minDate = input<Date>(undefined);\n  readonly maxDate = input<Date>(undefined);\n  readonly excludedDates = input<Date[]>(undefined);\n  readonly minYear = input<Date>(undefined);\n  readonly maxYear = input<Date>(undefined);\n  readonly withoutDays = input(false);\n  readonly hidden = input(true);\n\n  readonly dateChange = output<Date>();\n  readonly woDaysMonth = output<[number, boolean]>();\n  readonly woDaysYear = output<[number, boolean]>();\n  readonly woDaysMonthSubInc = output<boolean>();\n\n  readonly month = signal<Date[][]>(undefined);\n  readonly mode = signal<'months' | 'years' | 'none'>('none');\n  readonly currentMonth = signal<number>(undefined);\n  readonly currentYear = signal<number>(undefined);\n\n  ngOnInit(): void {\n    this.currentMonth.set(this._utils.getMonth(this.date()));\n    this.currentYear.set(this._utils.getYear(this.date()));\n    this.month.set(this._utils.genMonth(this.date()));\n\n    if (this.withoutDays()) {\n      this.mode.set('months');\n    }\n  }\n\n  addMonth(): void {\n    const startOfMonth = this.firstDay();\n\n    if (this.currentMonth() === 11) {\n      this.currentMonth.set(0);\n      this.currentYear.update((value) => value + 1);\n    } else {\n      this.currentMonth.update((value) => value + 1);\n    }\n\n    this.month.set(\n      this._utils.genMonth(this._utils.addMonths(startOfMonth, 1))\n    );\n\n    if (this.withoutDays()) {\n      this.woDaysMonthSubInc.emit(true);\n    }\n  }\n\n  subMonth(): void {\n    const startOfMonth = this.firstDay();\n\n    if (this.currentMonth() === 0) {\n      this.currentMonth.set(11);\n      this.currentYear.update((value) => value - 1);\n    } else {\n      this.currentMonth.update((value) => value - 1);\n    }\n\n    this.month.set(\n      this._utils.genMonth(this._utils.subMonths(startOfMonth, 1))\n    );\n\n    if (this.withoutDays()) {\n      this.woDaysMonthSubInc.emit(false);\n    }\n  }\n\n  setMonth(month: number, erase?: boolean): void {\n    if (this.withoutDays()) {\n      this.woDaysMonth.emit([month, erase]);\n      this.currentMonth.set(month);\n      this.reDraw();\n      return;\n    }\n\n    this.currentMonth.set(month);\n    this.mode.set('none');\n    this.reDraw();\n  }\n\n  setYear(year: number, erase?: boolean): void {\n    if (this.withoutDays()) {\n      this.woDaysYear.emit([year, erase]);\n      this.currentYear.set(year);\n      this.reDraw();\n      return;\n    }\n\n    this.currentYear.set(year);\n    this.mode.set('none');\n    this.reDraw();\n  }\n\n  setDate(date: Date): void {\n    this.dateChange.emit(date);\n  }\n\n  reDraw(): void {\n    const startOfMonth = this._utils.setMonth(\n      this.currentMonth(),\n      this.currentYear()\n    );\n\n    this.month.set(this._utils.genMonth(startOfMonth));\n  }\n\n  firstDay(): Date {\n    return this.month()[0].filter((item) => item)[0];\n  }\n\n  showMonthsHandler(): void {\n    if (this.withoutDays() && this.mode() === 'months') {\n      return;\n    }\n\n    this.mode.set(this.mode() === 'months' ? 'none' : 'months');\n  }\n\n  showYearsHandler(): void {\n    if (this.withoutDays() && this.mode() === 'years') {\n      return;\n    }\n\n    this.mode.set(this.mode() === 'years' ? 'none' : 'years');\n  }\n\n  startOfYear(year: number): Date {\n    return new Date(year, 0, 1);\n  }\n}\n","<div class=\"aeb-datepicker-core__controls\">\n  <div class=\"aeb-datepicker-core__arrow\" (click)=\"subMonth()\">\n    <svg\n      width=\"24\"\n      height=\"24\"\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        d=\"M15 5L8.35355 11.6464C8.15829 11.8417 8.15829 12.1583 8.35355 12.3536L15 19\"\n        stroke=\"#1F2632\"\n        stroke-width=\"2\"\n        stroke-linecap=\"round\"\n      />\n    </svg>\n  </div>\n  <div\n    class=\"aeb-datepicker-core__btn aeb-datepicker-core__btn--month\"\n    [class.aeb-datepicker-core__btn--active]=\"mode() === 'months'\"\n    (click)=\"showMonthsHandler()\"\n  >\n    {{ firstDay() | date: 'LLLL' | titlecase }}\n  </div>\n  <div\n    class=\"aeb-datepicker-core__btn\"\n    [class.aeb-datepicker-core__btn--active]=\"mode() === 'years'\"\n    (click)=\"showYearsHandler()\"\n  >\n    {{ firstDay() | date: 'yyyy' }}\n  </div>\n  <div class=\"aeb-datepicker-core__arrow\" (click)=\"addMonth()\">\n    <svg\n      width=\"24\"\n      height=\"24\"\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        d=\"M9 5L15.6464 11.6464C15.8417 11.8417 15.8417 12.1583 15.6464 12.3536L9 19\"\n        stroke=\"#1F2632\"\n        stroke-width=\"2\"\n        stroke-linecap=\"round\"\n      />\n    </svg>\n  </div>\n</div>\n<div\n  aebDatepickerMonth\n  [style.display]=\"mode() === 'none' ? 'block' : 'none'\"\n  [month]=\"month()\"\n  [date]=\"date()\"\n  [minDate]=\"minDate()\"\n  [maxDate]=\"maxDate()\"\n  [excludedDates]=\"excludedDates()\"\n  (setDate)=\"setDate($event)\"\n></div>\n\n<div\n  aebDatepickerYearTiles\n  [style.display]=\"mode() === 'years' ? 'grid' : 'none'\"\n  [year]=\"currentYear()\"\n  [minYear]=\"minYear()\"\n  [maxYear]=\"maxYear()\"\n  [minDate]=\"minDate()\"\n  [maxDate]=\"maxDate()\"\n  [woDays]=\"withoutDays()\"\n  (setYear)=\"setYear($event)\"\n></div>\n\n<div\n  aebDatepickerMonthTiles\n  [style.display]=\"mode() === 'months' ? 'grid' : 'none'\"\n  [year]=\"currentYear()\"\n  [month]=\"currentMonth()\"\n  [minDate]=\"minDate()\"\n  [maxDate]=\"maxDate()\"\n  [woDays]=\"withoutDays()\"\n  (setMonth)=\"setMonth($event)\"\n></div>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class MaskUtilsService {\n  static allowedKeys = [\n    'Backspace',\n    'Delete',\n    'ArrowLeft',\n    'ArrowRight',\n    'ArrowUp',\n    'ArrowDown',\n    'End',\n    'Home',\n    'Enter',\n    'Tab',\n    'Escape'\n  ];\n\n  /**\n   * Formats input value with proper mask\n   */\n  formatInput(value: string, withoutDays: boolean = false): string {\n    // Remove all non-numeric characters\n    const numbers = value.replace(/\\D/g, '');\n\n    if (withoutDays) {\n      // Format as MM.YYYY\n      if (numbers.length <= 2) {\n        return numbers;\n      } else if (numbers.length <= 6) {\n        return `${numbers.slice(0, 2)}.${numbers.slice(2)}`;\n      } else {\n        return `${numbers.slice(0, 2)}.${numbers.slice(2, 6)}`;\n      }\n    } else {\n      // Format as DD.MM.YYYY\n      if (numbers.length <= 2) {\n        return numbers;\n      } else if (numbers.length <= 4) {\n        return `${numbers.slice(0, 2)}.${numbers.slice(2)}`;\n      } else if (numbers.length <= 8) {\n        return `${numbers.slice(0, 2)}.${numbers.slice(2, 4)}.${numbers.slice(4)}`;\n      } else {\n        return `${numbers.slice(0, 2)}.${numbers.slice(2, 4)}.${numbers.slice(4, 8)}`;\n      }\n    }\n  }\n\n  /**\n   * Handles key input and returns formatted value with cursor position\n   */\n  handleKeyInput(\n    currentValue: string,\n    key: string,\n    cursorPosition: number,\n    withoutDays: boolean = false\n  ): { value: string; cursorPosition: number } {\n    // Handle special keys\n    if (MaskUtilsService.allowedKeys.includes(key)) {\n      return this.handleSpecialKey(\n        currentValue,\n        key,\n        cursorPosition,\n        withoutDays\n      );\n    }\n\n    // Handle numeric input\n    if (!/^\\d$/.test(key)) {\n      return { value: currentValue, cursorPosition };\n    }\n\n    // Remove dots for processing\n    const numbers = currentValue.replace(/\\D/g, '');\n    const newNumbers = this.insertAt(numbers, cursorPosition, key);\n    const formatted = this.formatInput(newNumbers, withoutDays);\n\n    // Calculate new cursor position\n    const newCursorPosition = this.calculateCursorPosition(\n      currentValue,\n      formatted,\n      cursorPosition,\n      withoutDays\n    );\n\n    return { value: formatted, cursorPosition: newCursorPosition };\n  }\n\n  /**\n   * Validates if the input is a complete and valid date\n   */\n  isValidDate(value: string, withoutDays: boolean = false): boolean {\n    const numbers = value.replace(/\\D/g, '');\n\n    if (withoutDays) {\n      // MM.YYYY format\n      if (numbers.length !== 6) {\n        return false;\n      }\n      const month = parseInt(numbers.slice(0, 2), 10);\n      const year = parseInt(numbers.slice(2, 6), 10);\n      return month >= 1 && month <= 12 && year >= 1000;\n    } else {\n      // DD.MM.YYYY format\n      if (numbers.length !== 8) {\n        return false;\n      }\n      const day = parseInt(numbers.slice(0, 2), 10);\n      const month = parseInt(numbers.slice(2, 4), 10);\n      const year = parseInt(numbers.slice(4, 8), 10);\n\n      if (month < 1 || month > 12) {\n        return false;\n      }\n      if (day < 1 || day > 31) {\n        return false;\n      }\n\n      // Check if date exists (handles leap years, etc.)\n      const date = new Date(year, month - 1, day);\n      return (\n        date.getFullYear() === year &&\n        date.getMonth() === month - 1 &&\n        date.getDate() === day\n      );\n    }\n  }\n\n  /**\n   * Gets the maximum length for the input\n   */\n  getMaxLength(withoutDays: boolean = false): number {\n    return withoutDays ? 7 : 10; // MM.YYYY or DD.MM.YYYY\n  }\n\n  /**\n   * Gets placeholder text\n   */\n  getPlaceholder(withoutDays: boolean = false): string {\n    return withoutDays ? 'MM.YYYY' : 'DD.MM.YYYY';\n  }\n\n  // Private helper methods\n  private handleSpecialKey(\n    currentValue: string,\n    key: string,\n    cursorPosition: number,\n    withoutDays: boolean\n  ): { value: string; cursorPosition: number } {\n    const numbers = currentValue.replace(/\\D/g, '');\n    let newNumbers = numbers;\n    let newCursorPosition = cursorPosition;\n\n    switch (key) {\n      case 'Backspace': {\n        if (cursorPosition > 0) {\n          // Find the position in the numbers string\n          const numbersPosition = this.getNumbersPosition(\n            currentValue,\n            cursorPosition\n          );\n          if (numbersPosition > 0) {\n            newNumbers =\n              numbers.slice(0, numbersPosition - 1) +\n              numbers.slice(numbersPosition);\n            newCursorPosition = Math.max(0, cursorPosition - 1);\n          }\n        }\n        break;\n      }\n      case 'Delete': {\n        // Find the position in the numbers string\n        const numbersPosition = this.getNumbersPosition(\n          currentValue,\n          cursorPosition\n        );\n        if (numbersPosition < numbers.length) {\n          newNumbers =\n            numbers.slice(0, numbersPosition) +\n            numbers.slice(numbersPosition + 1);\n        }\n        break;\n      }\n      case 'ArrowLeft':\n        newCursorPosition = Math.max(0, cursorPosition - 1);\n        break;\n      case 'ArrowRight':\n        newCursorPosition = Math.min(currentValue.length, cursorPosition + 1);\n        break;\n      case 'Home':\n        newCursorPosition = 0;\n        break;\n      case 'End':\n        newCursorPosition = currentValue.length;\n        break;\n    }\n\n    const formatted = this.formatInput(newNumbers, withoutDays);\n    return { value: formatted, cursorPosition: newCursorPosition };\n  }\n\n  private insertAt(str: string, index: number, char: string): string {\n    return str.slice(0, index) + char + str.slice(index);\n  }\n\n  private calculateCursorPosition(\n    oldValue: string,\n    newValue: string,\n    oldCursorPosition: number,\n    withoutDays: boolean\n  ): number {\n    const oldNumbers = oldValue.replace(/\\D/g, '');\n    const newNumbers = newValue.replace(/\\D/g, '');\n\n    // If we're adding a character\n    if (newNumbers.length > oldNumbers.length) {\n      const numbersPosition = this.getNumbersPosition(\n        oldValue,\n        oldCursorPosition\n      );\n\n      if (withoutDays) {\n        // MM.YYYY format\n        if (numbersPosition === 2) {\n          return 3; // After the dot\n        } else if (numbersPosition === 6) {\n          return newValue.length; // End of year\n        }\n      } else {\n        // DD.MM.YYYY format\n        if (numbersPosition === 2) {\n          return 3; // After first dot\n        } else if (numbersPosition === 4) {\n          return 6; // After second dot\n        } else if (numbersPosition === 8) {\n          return newValue.length; // End of year\n        }\n      }\n\n      return oldCursorPosition + 1;\n    }\n\n    return oldCursorPosition;\n  }\n\n  private getNumbersPosition(\n    formattedValue: string,\n    cursorPosition: number\n  ): number {\n    const beforeCursor = formattedValue.slice(0, cursorPosition);\n    return beforeCursor.replace(/\\D/g, '').length;\n  }\n}\n","import { NgClass } from '@angular/common';\nimport {\n  Component,\n  forwardRef,\n  inject,\n  input,\n  OnInit,\n  output,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport {\n  ControlValueAccessor,\n  FormsModule,\n  NG_VALUE_ACCESSOR\n} from '@angular/forms';\n\nimport { ClickOutsideDirective } from '../click-outside/click-outside.directive';\nimport { FormFieldDirective } from '../form-field/directives/form-field.directive';\nimport { FormFieldModule } from '../form-field/form-field.module';\nimport { DatepickerCore } from './datepicker-core/datepicker-core';\nimport { DatepickerUtilsService } from './services/datepicker-utils.service';\nimport { MaskUtilsService } from './services/mask-utils.service';\n\n@Component({\n  selector: 'aeb-datepicker',\n  templateUrl: './datepicker.html',\n  styleUrls: ['./datepicker.scss'],\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => Datepicker),\n      multi: true\n    }\n  ],\n  hostDirectives: [\n    {\n      directive: ClickOutsideDirective,\n      outputs: ['clickOutside']\n    }\n  ],\n  host: {\n    '[class.aeb-datepicker]': 'true',\n    '[class.aeb-datepicker--disabled]': 'disabled',\n    '(clickOutside)': 'clickOutsideHandler()'\n  },\n  imports: [FormFieldModule, NgClass, FormsModule, DatepickerCore]\n})\nexport class Datepicker implements OnInit, ControlValueAccessor {\n  private _utils = inject(DatepickerUtilsService);\n\n  readonly hasError = input<boolean>(undefined);\n  readonly minDate = input<Date>(this._utils.subYears(new Date(), 100));\n  readonly maxDate = input<Date>(this._utils.addYears(new Date(), 50));\n  readonly excludedDates = input<Date[]>([]);\n  readonly minYear = input<Date>(this._utils.subYears(new Date(), 100));\n  readonly maxYear = input<Date>(this._utils.addYears(new Date(), 50));\n  readonly placeholder = input('Введите дату');\n  readonly collapseOnChange = input(true);\n  readonly withoutDays = input(false);\n\n  readonly dateChange = output<Date | null>();\n\n  readonly core = viewChild(DatepickerCore);\n  readonly input = viewChild(FormFieldDirective);\n\n  internalDate: Date | null = null;\n  inputValue: string;\n  lastValidInput: string;\n\n  isOpen = false;\n  disabled = false;\n  touched = false;\n\n  woDaysMonth: number;\n  woDaysYear: number;\n\n  clickOutsideHandler(): void {\n    if (this.isOpen) {\n      this.isOpen = false;\n    }\n  }\n\n  ngOnInit(): void {\n    if (this.withoutDays()) {\n      this.internalDate = this.internalDate || new Date();\n      const month = this.internalDate.getMonth();\n      const year = this.internalDate.getFullYear();\n\n      this.woDaysMonth = month;\n      this.woDaysYear = year;\n\n      return;\n    }\n\n    this.inputValue = this.internalDate\n      ? this._utils.formatDate(this.internalDate)\n      : '';\n    this.internalDate = this.internalDate || new Date();\n  }\n\n  keyDownHandler(event: KeyboardEvent): void {\n    // Only block non-numeric input and special characters\n    if (\n      !/^\\d$/.test(event.key) &&\n      !MaskUtilsService.allowedKeys.includes(event.key)\n    ) {\n      event.preventDefault();\n      return;\n    }\n  }\n\n  typeHandler(): void {\n    // Simple auto-formatting as user types\n    const numbers = this.inputValue.replace(/\\D/g, '');\n    let formatted = '';\n\n    if (this.withoutDays()) {\n      // MM.YYYY format\n      if (numbers.length <= 2) {\n        formatted = numbers;\n      } else if (numbers.length <= 6) {\n        formatted = `${numbers.slice(0, 2)}.${numbers.slice(2)}`;\n      } else {\n        formatted = `${numbers.slice(0, 2)}.${numbers.slice(2, 6)}`;\n      }\n    } else {\n      // DD.MM.YYYY format\n      if (numbers.length <= 2) {\n        formatted = numbers;\n      } else if (numbers.length <= 4) {\n        formatted = `${numbers.slice(0, 2)}.${numbers.slice(2)}`;\n      } else if (numbers.length <= 8) {\n        formatted = `${numbers.slice(0, 2)}.${numbers.slice(2, 4)}.${numbers.slice(4)}`;\n      } else {\n        formatted = `${numbers.slice(0, 2)}.${numbers.slice(2, 4)}.${numbers.slice(4, 8)}`;\n      }\n    }\n\n    // Update the input value if it changed\n    if (formatted !== this.inputValue) {\n      this.inputValue = formatted;\n    }\n  }\n\n  clickInputHandler(): void {\n    if (!this.isOpen) {\n      this.isOpen = true;\n    }\n  }\n\n  woMonthIncSub(base: boolean): void {\n    if (base) {\n      if (this.woDaysMonth === 11) {\n        this.woDaysMonth = 0;\n        this.woDaysYear = this.woDaysYear + 1;\n      } else {\n        this.woDaysMonth = this.woDaysMonth + 1;\n      }\n    } else {\n      if (this.woDaysMonth === 0) {\n        this.woDaysMonth = 11;\n        this.woDaysYear = this.woDaysYear - 1;\n      } else {\n        this.woDaysMonth = this.woDaysMonth - 1;\n      }\n    }\n  }\n\n  woDaysMonthSet(value: [number, boolean]): void {\n    const [month, erase] = value;\n\n    this.woDaysMonth = month;\n    const targetDate = `${\n      String(this.woDaysMonth + 1).length === 1\n        ? `0${this.woDaysMonth + 1}`\n        : this.woDaysMonth + 1\n    }.${this.woDaysYear}`;\n\n    if (!erase) {\n      this.inputValue = targetDate;\n      this.lastValidInput = this.inputValue;\n\n      this.writeValue(new Date(this.woDaysYear, this.woDaysMonth, 1));\n      this._onChange(new Date(this.woDaysYear, this.woDaysMonth, 1));\n    }\n  }\n\n  woDaysYearSet(value: [number, boolean]): void {\n    const [year, erase] = value;\n\n    this.woDaysYear = year;\n    let targetDate = `${\n      String(this.woDaysMonth + 1).length === 1\n        ? `0${this.woDaysMonth + 1}`\n        : this.woDaysMonth + 1\n    }.${this.woDaysYear}`;\n\n    const minDate = this.minDate();\n    const maxDate = this.maxDate();\n    if (\n      this._utils.isMinOverlap(\n        minDate,\n        this._utils.parseDate(`01.${targetDate}`)\n      )\n    ) {\n      this.woDaysMonth = new Date(minDate).getMonth();\n      targetDate = `${\n        String(this.woDaysMonth + 1).length === 1\n          ? `0${this.woDaysMonth + 1}`\n          : this.woDaysMonth + 1\n      }.${this.woDaysYear}`;\n      this.core().setMonth(this.woDaysMonth);\n    } else if (\n      this._utils.isMaxOverlap(\n        maxDate,\n        this._utils.parseDate(`01.${targetDate}`)\n      )\n    ) {\n      this.woDaysMonth = new Date(maxDate).getMonth();\n      targetDate = `${\n        String(this.woDaysMonth + 1).length === 1\n          ? `0${this.woDaysMonth + 1}`\n          : this.woDaysMonth + 1\n      }.${this.woDaysYear}`;\n      this.core().setMonth(this.woDaysMonth);\n    }\n\n    if (!erase) {\n      this.inputValue = targetDate;\n      this.lastValidInput = this.inputValue;\n\n      this.writeValue(new Date(this.woDaysYear, this.woDaysMonth, 1));\n      this._onChange(new Date(this.woDaysYear, this.woDaysMonth, 1));\n    }\n  }\n\n  isExcluded(date: Date): boolean {\n    return !!this.excludedDates().filter((item) =>\n      this._utils.isSameDay(item, date)\n    ).length;\n  }\n\n  isDisabled(date: Date): boolean {\n    return (\n      this._utils.isMinOverlap(this.minDate(), date) ||\n      this._utils.isMaxOverlap(this.maxDate(), date) ||\n      this.isExcluded(date)\n    );\n  }\n\n  handleInput(event: Event): void {\n    const eventValue = (event.target as HTMLInputElement).value;\n\n    if (!this.touched) {\n      this.touched = true;\n    }\n\n    // Handle empty input\n    if (!eventValue || eventValue.trim() === '') {\n      this.writeValue(null);\n      this._onChange(null);\n      this.core().setMonth(this._utils.getMonth(new Date()), true);\n      this.core().setYear(this._utils.getYear(new Date()), true);\n      return;\n    }\n\n    // Check if the input is a complete date format\n    const numbers = eventValue.replace(/\\D/g, '');\n    const isComplete = this.withoutDays()\n      ? numbers.length === 6\n      : numbers.length === 8;\n\n    if (!isComplete) {\n      // If it's not a complete date yet, don't process it\n      return;\n    }\n\n    const inpToValid = this.withoutDays() ? `01.${eventValue}` : eventValue;\n\n    // Additional validation using the existing utils\n    if (!this._utils.validInput(inpToValid)) {\n      this.inputValue = this.lastValidInput || '';\n      return;\n    }\n\n    const parsedDate = this._utils.parseDate(inpToValid);\n\n    // Check if the date is within allowed range\n    if (this.isDisabled(parsedDate)) {\n      this.inputValue = this.lastValidInput || '';\n      return;\n    }\n\n    // Update internal state\n    this.lastValidInput = this.inputValue;\n    this.internalDate = parsedDate;\n\n    if (this.withoutDays()) {\n      this.woDaysMonth = parsedDate.getMonth();\n      this.woDaysYear = parsedDate.getFullYear();\n    }\n\n    // Update the calendar view\n    this.core().setMonth(this._utils.getMonth(parsedDate));\n    this.core().setYear(this._utils.getYear(parsedDate));\n\n    // Emit the change\n    this.writeValue(parsedDate);\n    this._onChange(parsedDate);\n  }\n\n  handleOpen(): void {\n    this.isOpen = !this.isOpen;\n  }\n\n  handleDateChange(date: Date): void {\n    if (!this.touched) {\n      this.touched = true;\n    }\n    this.inputValue = this._utils.formatDate(date);\n    this.lastValidInput = this.inputValue;\n    this.internalDate = date;\n    this.writeValue(date);\n    this._onChange(date);\n\n    if (this.collapseOnChange()) {\n      this.isOpen = false;\n    }\n  }\n\n  // ControlValueAccessor overrides\n  writeValue(value: Date): Date {\n    if (this.disabled || (this.input === undefined && !value)) {\n      return;\n    }\n\n    this.internalDate = value || new Date();\n\n    this.woDaysMonth = this.internalDate.getMonth();\n    this.woDaysYear = this.internalDate.getFullYear();\n\n    if (!value) {\n      this.inputValue = '';\n    } else {\n      const newInput = this._utils.formatDate(this.internalDate);\n      this.inputValue = this.withoutDays() ? newInput.slice(3, 10) : newInput;\n      this.lastValidInput = this.inputValue;\n    }\n\n    this._onTouch();\n    if (!this.touched) {\n      this.touched = true;\n    }\n    this.dateChange.emit(value);\n  }\n\n  registerOnChange(fn: (_: any) => void): void {\n    this._onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this._onTouch = fn;\n  }\n\n  setDisabledState(disabled: boolean): void {\n    this.disabled = disabled;\n  }\n\n  private _onChange(_: any): void {\n    // ignore\n  }\n  private _onTouch(): void {\n    // ignore\n  }\n}\n","<aeb-form-field\n  class=\"aeb-datepicker__field\"\n  [ngClass]=\"{ 'aeb-datepicker__field--onerror': hasError() }\"\n>\n  <label aebLabel class=\"aeb-datepicker__label\">{{ placeholder() }}</label>\n  <input\n    aebInput\n    type=\"text\"\n    class=\"aeb-datepicker__input\"\n    [maxlength]=\"withoutDays() ? 7 : 10\"\n    [(ngModel)]=\"inputValue\"\n    (change)=\"handleInput($event)\"\n    (click)=\"clickInputHandler()\"\n    (input)=\"typeHandler()\"\n    (keydown)=\"keyDownHandler($event)\"\n    #input\n  />\n  <div class=\"aeb-datepicker__calendar-icon\" (click)=\"handleOpen()\">\n    <svg\n      width=\"24\"\n      height=\"24\"\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <rect\n        x=\"5\"\n        y=\"6\"\n        width=\"14\"\n        height=\"14\"\n        rx=\"1\"\n        stroke=\"#BFC6D0\"\n        stroke-width=\"2\"\n      />\n      <rect x=\"4\" y=\"5\" width=\"16\" height=\"4\" rx=\"2\" fill=\"#BFC6D0\" />\n      <rect\n        x=\"9\"\n        y=\"3\"\n        width=\"3\"\n        height=\"2\"\n        rx=\"1\"\n        transform=\"rotate(90 9 3)\"\n        fill=\"#BFC6D0\"\n      />\n      <rect\n        x=\"17\"\n        y=\"3\"\n        width=\"3\"\n        height=\"2\"\n        rx=\"1\"\n        transform=\"rotate(90 17 3)\"\n        fill=\"#BFC6D0\"\n      />\n    </svg>\n  </div>\n</aeb-form-field>\n<div\n  aebDatepickerCore\n  [date]=\"internalDate\"\n  [minDate]=\"minDate()\"\n  [maxDate]=\"maxDate()\"\n  [excludedDates]=\"excludedDates()\"\n  [minYear]=\"minYear()\"\n  [maxYear]=\"maxYear()\"\n  [withoutDays]=\"withoutDays()\"\n  [hidden]=\"!isOpen\"\n  (dateChange)=\"handleDateChange($event)\"\n  (woDaysMonth)=\"woDaysMonthSet($event)\"\n  (woDaysYear)=\"woDaysYearSet($event)\"\n  (woDaysMonthSubInc)=\"woMonthIncSub($event)\"\n  #core\n></div>\n","import { NgModule } from '@angular/core';\n\nimport { Datepicker } from './datepicker';\n\n@NgModule({\n  imports: [Datepicker],\n  exports: [Datepicker]\n})\nexport class DatepickerModule {}\n","import {\n  Component,\n  computed,\n  effect,\n  ElementRef,\n  inject,\n  input,\n  output,\n  signal,\n  ViewEncapsulation\n} from '@angular/core';\n\nexport type DropdownMenuOption = {\n  value: unknown;\n  label: string;\n  additional?: string;\n};\n\n@Component({\n  selector: 'aeb-dropdown-menu',\n  templateUrl: './dropdown-menu.html',\n  styleUrl: './dropdown-menu.scss',\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'aeb-dropdown-menu',\n    '[class.open]': 'isOpen()',\n    '[class.bottom]': 'direction() === \"bottom\"',\n    '[class.top]': 'direction() === \"top\"',\n    '[style.max-height]': 'maxHeight',\n    '[attr.role]': '\"listbox\"',\n    '[attr.aria-label]': '\"Dropdown options\"',\n    '(clickOutside)': 'clickOutsideHandler($event)',\n    '(keydown)': 'onKeyDown($event)'\n  }\n})\nexport class DropdownMenu {\n  private _host = inject(ElementRef);\n\n  readonly isOpen = input(true);\n  readonly direction = input<'bottom' | 'top'>('bottom');\n  readonly maxShownOptions = input(5);\n  readonly optionSize = input<'S' | 'M' | 'L'>('L');\n  readonly options = input<DropdownMenuOption[]>([]);\n  readonly selectedOption = input<DropdownMenuOption['value']>();\n\n  readonly outsideClick = output();\n  readonly optionSelect = output<DropdownMenuOption['value']>();\n\n  readonly focusedIndex = signal<number>(-1);\n\n  readonly optionHeightPx = computed(() => {\n    if (this.optionSize() === 'S') {\n      return 40;\n    } else if (this.optionSize() === 'M') {\n      return 48;\n    } else if (this.optionSize() === 'L') {\n      return 56;\n    }\n  });\n\n  readonly focusedOption = computed(() => {\n    const index = this.focusedIndex();\n    const options = this.options();\n    return index >= 0 && index < options.length ? options[index] : null;\n  });\n\n  constructor() {\n    effect(() => {\n      const isOpen = this.isOpen();\n      if (!isOpen) {\n        this.resetFocus();\n      }\n    });\n  }\n\n  get maxHeight(): string {\n    return (\n      this.maxShownOptions() * this.optionHeightPx() +\n      16 +\n      this.maxShownOptions() * 2 +\n      'px'\n    );\n  }\n\n  clickOutsideHandler(event: Event) {\n    event.stopPropagation();\n    this.clickOutside();\n  }\n\n  onKeyDown(event: KeyboardEvent) {\n    if (!this.isOpen()) {\n      return;\n    }\n\n    const options = this.options();\n    const currentIndex = this.focusedIndex();\n\n    // If no option is focused and we have options, focus the first one\n    if (currentIndex < 0 && options.length > 0) {\n      this.focusedIndex.set(0);\n    }\n\n    switch (event.key) {\n      case 'ArrowDown':\n        event.preventDefault();\n        this.navigateDown(currentIndex, options.length);\n        break;\n      case 'ArrowUp':\n        event.preventDefault();\n        this.navigateUp(currentIndex, options.length);\n        break;\n      case 'Enter':\n        event.preventDefault();\n        this.selectFocusedOption();\n        break;\n      case 'Escape':\n        event.preventDefault();\n        this.closeDropdown();\n        break;\n      case 'Tab':\n        event.preventDefault();\n        this.closeDropdown();\n        // Focus will move to next focusable element naturally\n        break;\n      case 'Home':\n        event.preventDefault();\n        this.focusFirstOption();\n        break;\n      case 'End':\n        event.preventDefault();\n        this.focusLastOption();\n        break;\n    }\n  }\n\n  selectOption(optionValue: DropdownMenuOption['value']) {\n    this.optionSelect.emit(optionValue);\n  }\n\n  clickOutside() {\n    this.outsideClick.emit();\n  }\n\n  // Public methods for keyboard navigation\n  focusFirstOption() {\n    if (this.options().length > 0) {\n      this.focusedIndex.set(0);\n      this.scrollToFocusedOption();\n    }\n  }\n\n  focusLastOption() {\n    const options = this.options();\n    if (options.length > 0) {\n      this.focusedIndex.set(options.length - 1);\n      this.scrollToFocusedOption();\n    }\n  }\n\n  // Method to reset focus when dropdown opens\n  resetFocus() {\n    this.focusedIndex.set(-1);\n  }\n\n  // Private keyboard navigation methods\n  private navigateDown(currentIndex: number, totalOptions: number) {\n    if (totalOptions === 0) {\n      return;\n    }\n\n    const nextIndex = currentIndex < 0 ? 0 : (currentIndex + 1) % totalOptions;\n    this.focusedIndex.set(nextIndex);\n    this.scrollToFocusedOption();\n  }\n\n  private navigateUp(currentIndex: number, totalOptions: number) {\n    if (totalOptions === 0) {\n      return;\n    }\n\n    const prevIndex = currentIndex <= 0 ? totalOptions - 1 : currentIndex - 1;\n    this.focusedIndex.set(prevIndex);\n    this.scrollToFocusedOption();\n  }\n\n  private selectFocusedOption() {\n    const focused = this.focusedOption();\n    if (focused) {\n      this.selectOption(focused.value);\n    }\n  }\n\n  private closeDropdown() {\n    this.outsideClick.emit();\n  }\n\n  private scrollToFocusedOption() {\n    // Use setTimeout to ensure DOM is updated after the focusedIndex change\n    setTimeout(() => {\n      const hostElement = this._host.nativeElement as HTMLElement;\n      const focusedIndex = this.focusedIndex();\n\n      if (focusedIndex < 0) {\n        return;\n      }\n\n      const options = hostElement.querySelectorAll(\n        '.aeb-dropdown-menu__option'\n      );\n      const focusedOption = options[focusedIndex] as HTMLElement;\n\n      if (!focusedOption) {\n        return;\n      }\n\n      // Scroll the focused option into view within the host element\n      focusedOption.scrollIntoView({\n        behavior: 'smooth',\n        block: 'nearest',\n        inline: 'nearest'\n      });\n    }, 0);\n  }\n}\n","@for (option of options(); track option.value; let i = $index) {\n<div\n  class=\"aeb-dropdown-menu__option\"\n  [class.active]=\"option === selectedOption()\"\n  [class.focused]=\"i === focusedIndex()\"\n  [class.has-additional]=\"option.additional\"\n  [style.height]=\"optionHeightPx() + 'px'\"\n  [attr.tabindex]=\"-1\"\n  [attr.role]=\"'option'\"\n  [attr.aria-selected]=\"i === focusedIndex()\"\n  (click)=\"selectOption(option.value)\"\n>\n  <div class=\"aeb-dropdown-menu__option-inner\">\n    <p>{{ option.label }}</p>\n    @if (option.additional) {\n    <small>{{ option.additional }}</small>\n    }\n  </div>\n</div>\n}\n","import { NgClass } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  effect,\n  inject,\n  input,\n  output,\n  signal,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NgControl } from '@angular/forms';\n\nimport { ClickOutsideDirective } from '../click-outside/click-outside.directive';\nimport {\n  DropdownMenu,\n  DropdownMenuOption\n} from '../dropdown-menu/dropdown-menu';\nimport { ErrorMessageDirective } from '../form-field/directives/error-message.directive';\nimport { FormFieldDirective } from '../form-field/directives/form-field.directive';\nimport { LabelDirective } from '../form-field/directives/label.directive';\nimport { FormField } from '../form-field/form-field';\n\ninterface ControlState {\n  dirty: boolean;\n  touched: boolean;\n  pending: boolean;\n  valid: boolean;\n}\n\n@Component({\n  selector: 'aeb-dropdown',\n  templateUrl: './dropdown.html',\n  styleUrls: ['./dropdown.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  hostDirectives: [\n    {\n      directive: ClickOutsideDirective,\n      outputs: ['clickOutside']\n    }\n  ],\n  imports: [\n    FormField,\n    LabelDirective,\n    FormFieldDirective,\n    FormsModule,\n    DropdownMenu,\n    ErrorMessageDirective,\n    NgClass\n  ],\n  host: {\n    class: 'aeb-dropdown',\n    '(keydown.tab)': 'keydownTabHandler()',\n    '(clickOutside)': 'clickOutsideHandler()'\n  }\n})\nexport class Dropdown implements ControlValueAccessor {\n  private readonly _ngControl = inject(NgControl, {\n    optional: true,\n    self: true\n  });\n\n  private readonly _formFieldRef = viewChild(FormField);\n  private readonly _dropdownMenuRef = viewChild(DropdownMenu);\n\n  private readonly _value = signal('');\n  private readonly _viewOptionsLength = signal(0);\n  private readonly _selectedOption = signal<DropdownMenuOption>(null);\n  private readonly _controlState = signal<ControlState>({\n    dirty: false,\n    touched: false,\n    pending: false,\n    valid: false\n  });\n\n  readonly options = input<DropdownMenuOption[]>([]);\n  readonly label = input('');\n  readonly errorMessageText = input('');\n  readonly filter = input(true);\n  readonly hasError = input(false);\n  readonly validateOnDirty = input(false);\n  readonly disabled = input(false);\n\n  readonly optionSelect = output<DropdownMenuOption>();\n  readonly inputChange = output<string>();\n\n  readonly dropdownIsOpen = signal(false);\n  readonly hasErrorSignal = signal(false);\n  readonly valueLabel = signal('');\n  readonly filteredOptions = signal<DropdownMenuOption[]>([]);\n\n  constructor() {\n    this.setupControlValueAccessor();\n    this.setupEffects();\n  }\n\n  writeValue(value: string): void {\n    if (this.disabled()) {\n      return;\n    }\n\n    this._value.set(value);\n    this.optionSelect.emit(this._selectedOption());\n  }\n\n  registerOnChange(fn: (value: any) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouch = fn;\n  }\n\n  setDisabledState(disabled: boolean): void {\n    // This is called by Angular forms API\n    // We'll use our disabled input signal instead\n  }\n\n  protected keydownTabHandler(): void {\n    this.clickOutsideHandler();\n  }\n\n  protected clickOutsideHandler(): void {\n    if (this.dropdownIsOpen()) {\n      this.dropdownIsOpen.set(false);\n    }\n  }\n\n  protected handleEnterKey(): void {\n    // Implement enter key logic here\n  }\n\n  protected onInputKeyDown(event: KeyboardEvent): void {\n    if (this.disabled()) {\n      return;\n    }\n\n    switch (event.key) {\n      case 'ArrowDown':\n        event.preventDefault();\n        if (!this.dropdownIsOpen()) {\n          this.dropdownIsOpen.set(true);\n        }\n        // Always forward to dropdown menu for navigation\n        this._dropdownMenuRef()?.onKeyDown(event);\n        break;\n      case 'ArrowUp':\n        event.preventDefault();\n        if (!this.dropdownIsOpen()) {\n          this.dropdownIsOpen.set(true);\n        }\n        // Always forward to dropdown menu for navigation\n        this._dropdownMenuRef()?.onKeyDown(event);\n        break;\n      case 'Enter':\n        event.preventDefault();\n        if (this.dropdownIsOpen()) {\n          // Forward to dropdown menu for selection\n          this._dropdownMenuRef()?.onKeyDown(event);\n        } else {\n          this.handleEnterKey();\n        }\n        break;\n      case 'Escape':\n        if (this.dropdownIsOpen()) {\n          event.preventDefault();\n          this.dropdownIsOpen.set(false);\n        }\n        break;\n      case 'Tab':\n        if (this.dropdownIsOpen()) {\n          event.preventDefault();\n          this.dropdownIsOpen.set(false);\n          // Focus will move to next focusable element naturally\n        }\n        break;\n    }\n  }\n\n  protected openHandler(): void {\n    if (this.disabled()) {\n      return;\n    }\n\n    this.dropdownIsOpen.set(!this.dropdownIsOpen());\n    this.onTouch();\n  }\n\n  protected inputHandler(term: Event): void {\n    if (this.disabled()) {\n      return;\n    }\n\n    const target = term.target as HTMLInputElement;\n    const newValue = target.value;\n    this.handleInputChange(newValue);\n  }\n\n  protected clickInput(): void {\n    if (this.disabled()) {\n      return;\n    }\n\n    this.onTouch();\n\n    if (!this.dropdownIsOpen()) {\n      this.dropdownIsOpen.set(true);\n    }\n  }\n\n  protected selectHandler(optionValue: DropdownMenuOption['value']): void {\n    this.selectOption(optionValue);\n  }\n\n  protected viewOptionsChangeHandler(options: DropdownMenuOption[]) {\n    this._viewOptionsLength.set(options.length);\n  }\n\n  private setupControlValueAccessor(): void {\n    if (this._ngControl) {\n      this._ngControl.valueAccessor = this;\n    }\n  }\n\n  private setupEffects(): void {\n    this.setupFilterEffect();\n    this.setupDisabledEffect();\n    this.setupErrorEffect();\n    this.setupControlStateEffect();\n    this.setupValueSyncEffect();\n  }\n\n  private setupFilterEffect(): void {\n    effect(() => {\n      const options = this.options();\n      const filterEnabled = this.filter();\n      const searchTerm = this.valueLabel();\n\n      const filtered =\n        filterEnabled && searchTerm\n          ? this.filterOptions(options, searchTerm)\n          : options;\n\n      this.filteredOptions.set(filtered);\n      this._viewOptionsLength.set(filtered.length);\n    });\n  }\n\n  private setupDisabledEffect(): void {\n    effect(() => {\n      if (this.disabled()) {\n        this.dropdownIsOpen.set(false);\n      }\n    });\n  }\n\n  private setupErrorEffect(): void {\n    effect(() => {\n      const error = this.calculateErrorState();\n      this.hasErrorSignal.set(error);\n    });\n  }\n\n  private setupControlStateEffect(): void {\n    if (!this._ngControl) {\n      return;\n    }\n\n    effect(() => {\n      const control = this._ngControl?.control;\n      if (control) {\n        this._controlState.set({\n          dirty: control.dirty,\n          touched: control.touched,\n          pending: control.pending,\n          valid: control.valid\n        });\n      }\n    });\n  }\n\n  private setupValueSyncEffect(): void {\n    effect(() => {\n      const fieldValue = this._value();\n      const options = this.options();\n\n      if (fieldValue) {\n        this.handleValueWithOptions(fieldValue, options);\n      } else if (fieldValue === null || fieldValue === '') {\n        this.valueLabel.set('');\n        this._selectedOption.set(null);\n      }\n    });\n  }\n\n  private filterOptions(\n    options: DropdownMenuOption[],\n    searchTerm: string\n  ): DropdownMenuOption[] {\n    return options.filter((option) =>\n      option.label.toLowerCase().includes(searchTerm.toLowerCase())\n    );\n  }\n\n  private handleInputChange(newValue: string): void {\n    this.valueLabel.set(newValue);\n    this.inputChange.emit(newValue);\n\n    if (!newValue) {\n      this.clearSelection();\n      // Always ensure dropdown is open when input is cleared\n      this.dropdownIsOpen.set(true);\n      // Focus first option when input is cleared\n      this._dropdownMenuRef()?.focusFirstOption();\n      return;\n    }\n\n    // When typing characters, ensure dropdown stays open\n    if (!this.dropdownIsOpen()) {\n      this.dropdownIsOpen.set(true);\n    }\n\n    this.findAndSetMatch(newValue);\n  }\n\n  private clearSelection(): void {\n    this.onChange({\n      label: '',\n      value: undefined\n    } as DropdownMenuOption);\n    this._value.set('');\n    // Don't close dropdown when clearing - let user continue navigating\n  }\n\n  private findAndSetMatch(newValue: string): void {\n    const match = this.options().find((item) => item.label === newValue);\n\n    if (match) {\n      this.handleMatchFound(match);\n    } else {\n      this.handleNoMatch(newValue);\n    }\n  }\n\n  private handleMatchFound(match: DropdownMenuOption): void {\n    if (match.value !== this._value()) {\n      this._selectedOption.set(null);\n      this._value.set('');\n    }\n\n    this._value.set(match.value as string);\n    this._selectedOption.set(match);\n    this.onChange(this._selectedOption());\n  }\n\n  private handleNoMatch(newValue: string): void {\n    this.onChange({\n      label: newValue,\n      value: undefined\n    } as DropdownMenuOption);\n    this._value.set('');\n  }\n\n  private selectOption(optionValue: DropdownMenuOption['value']): void {\n    const match = this.options().find((item) => item.value === optionValue);\n\n    if (match) {\n      this.valueLabel.set(match.label);\n    }\n\n    this._value.set(optionValue as string);\n    this.onChange(this._selectedOption());\n    this.dropdownIsOpen.set(false);\n  }\n\n  private handleValueWithOptions(\n    fieldValue: string,\n    options: DropdownMenuOption[]\n  ): void {\n    const match = options.find((item) => item.value === fieldValue);\n\n    if (match) {\n      this.valueLabel.set(match.label);\n      this._selectedOption.set(match);\n    }\n  }\n\n  private calculateErrorState(): boolean {\n    if (this.hasError()) {\n      return this.hasError() && !this.disabled();\n    }\n\n    if (!this._ngControl) {\n      return false;\n    }\n\n    const control = this._ngControl.control;\n    const state = this._controlState();\n\n    return this.shouldShowError(control, state);\n  }\n\n  private shouldShowError(control: any, state: ControlState): boolean {\n    return (\n      !!control &&\n      (!!control.validator || !!control.asyncValidator) &&\n      !this._formFieldRef()?.isFocused &&\n      !this.dropdownIsOpen() &&\n      state.touched &&\n      (this.validateOnDirty() ? state.dirty : true) &&\n      !state.valid &&\n      !state.pending &&\n      !this.disabled()\n    );\n  }\n\n  private onChange(_: any): void {}\n\n  private onTouch(): void {}\n}\n","<aeb-form-field [isInvalid]=\"hasError()\" [disabled]=\"disabled()\">\n  <label aebLabel>{{ label() }}</label>\n  <input\n    aebInput\n    type=\"text\"\n    [ngModel]=\"valueLabel()\"\n    (ngModelChange)=\"valueLabel.set($event)\"\n    (input)=\"inputHandler($event)\"\n    (keydown)=\"onInputKeyDown($event)\"\n    (keydown.tab)=\"clickInput()\"\n    (focus)=\"clickInput()\"\n  />\n  <aeb-dropdown-menu\n    [options]=\"filteredOptions()\"\n    [isOpen]=\"dropdownIsOpen()\"\n    (optionSelect)=\"selectHandler($event)\"\n  ></aeb-dropdown-menu>\n  <label [errorMessage]>{{ errorMessageText() }}</label>\n</aeb-form-field>\n\n<div\n  class=\"aeb-dropdown__icon\"\n  [ngClass]=\"{\n    'aeb-dropdown__icon--is-open': dropdownIsOpen()\n  }\"\n  (click)=\"openHandler()\"\n>\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M8 10L11.9293 13.9293C11.9683 13.9683 12.0317 13.9683 12.0707 13.9293L16 10\"\n      stroke=\"#1F2632\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n    />\n  </svg>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { Dropdown } from './dropdown';\n\n@NgModule({\n  imports: [Dropdown],\n  exports: [Dropdown]\n})\nexport class DropdownModule {}\n","import { NgModule } from '@angular/core';\n\nimport { DropdownMenu } from './dropdown-menu';\n\n@NgModule({\n  imports: [DropdownMenu],\n  exports: [DropdownMenu]\n})\nexport class DropdownMenuModule {}\n","import { AsyncPipe } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  input,\n  output,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { Button } from '../../../button/button';\nimport { ButtonLeftIconDirective } from '../../../button/directives/button-left-icon.directive';\nimport { FileAttachNamespace } from '../../file-attach.namespace';\n\n@Component({\n  selector: 'aeb-attach-button',\n  templateUrl: './attach-button.html',\n  styleUrls: ['./attach-button.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  imports: [Button, ButtonLeftIconDirective, AsyncPipe],\n  host: {\n    class: 'aeb-attach-button'\n  }\n})\nexport class AttachButton {\n  readonly attachButtonIcon = input<string>(undefined);\n  readonly filesAmount = input(0);\n  readonly requirement = input<FileAttachNamespace.Requirement>(undefined);\n  readonly attachButtonText = input('Выберите файл');\n  readonly multi = input(false);\n  readonly showErrorMessage = input(true);\n  readonly showErrorMessageText = input(new Subject<string>());\n\n  readonly fileChoosen = output<FileList>();\n  readonly buttonClick = output<void>();\n  readonly fileListCleared = output<void>();\n\n  readonly fileInputRef = viewChild<ElementRef<HTMLInputElement>>('fileInput');\n\n  chooseFile(event: Event): void {\n    const target = event.target as HTMLInputElement;\n    const files = target.files;\n\n    this.fileChoosen.emit(files);\n  }\n\n  onButtonClick(): void {\n    this.fileInputRef().nativeElement.click();\n    this.buttonClick.emit();\n  }\n\n  clearFileList(): void {\n    this.fileInputRef().nativeElement.value = '';\n    this.fileListCleared.emit();\n  }\n\n  getCaseByNumber(word: string[]): string {\n    const num = this.filesAmount();\n    const cases = [2, 0, 1, 1, 1, 2];\n    if (num % 100 > 4 && num % 100 < 20) {\n      return word[2];\n    } else {\n      if (num % 10 < 5) {\n        return word[cases[num]];\n      } else {\n        return word[cases[5]];\n      }\n    }\n  }\n}\n","<button aebButton [size]=\"'L'\" [variant]=\"'outline'\" (click)=\"onButtonClick()\">\n  {{ attachButtonText() }} @if (attachButtonIcon()) {\n  <img class=\"aeb-icon-left\" [src]=\"attachButtonIcon()\" alt=\"attach-icon\" />\n  } @else {\n  <svg\n    class=\"aeb-icon-left\"\n    width=\"22\"\n    height=\"22\"\n    viewBox=\"0 0 22 22\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M21 10.376L11.5445 19.2938C10.3861 20.3862 8.81499 21 7.1768 21C5.53861 21 3.96752 20.3862 2.80914 19.2938C1.65077 18.2013 1 16.7195 1 15.1745C1 13.6295 1.65077 12.1477 2.80914 11.0553L12.2647 2.1375C13.0369 1.40917 14.0843 1 15.1765 1C16.2686 1 17.316 1.40917 18.0882 2.1375C18.8605 2.86583 19.2943 3.85365 19.2943 4.88366C19.2943 5.91367 18.8605 6.9015 18.0882 7.62983L8.6224 16.5476C8.23627 16.9118 7.71257 17.1163 7.16651 17.1163C6.62045 17.1163 6.09675 16.9118 5.71063 16.5476C5.3245 16.1834 5.10758 15.6895 5.10758 15.1745C5.10758 14.6595 5.3245 14.1656 5.71063 13.8014L14.4459 5.57263\"\n      stroke=\"#2F88F0\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n    />\n  </svg>\n  }\n</button>\n<input\n  #fileInput\n  type=\"file\"\n  [multiple]=\"multi()\"\n  (change)=\"chooseFile($event)\"\n  style=\"display: none\"\n/>\n<div class=\"aeb-attach-button__file-message\">\n  @if (showErrorMessageText() | async; as errorText) {\n  <div class=\"aeb-attach-button__file-message__error\">\n    @if (showErrorMessage()) {\n    <div>{{ errorText }}</div>\n    }\n  </div>\n  } @if (filesAmount() === 0 && requirement() !== undefined) {\n  <div class=\"aeb-attach-button__file-message__container\">\n    <p [innerHTML]=\"requirement().text\"></p>\n  </div>\n  } @if (filesAmount() > 0) {\n  <div class=\"aeb-attach-button__file-message__file-amount\">\n    <div>\n      {{ filesAmount() === 1 ? 'Выбран' : 'Выбрано' }} {{ filesAmount() }} {{\n      getCaseByNumber(['файл', 'файла', 'файлов']) }}\n    </div>\n    <div class=\"aeb-attach-button__remove-icon\" (click)=\"clearFileList()\">\n      <svg\n        width=\"16\"\n        height=\"16\"\n        viewBox=\"0 0 16 16\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path\n          d=\"M5 10.7609L11.0268 4.73413\"\n          stroke=\"#27303E\"\n          stroke-linecap=\"round\"\n        />\n        <path\n          d=\"M11.0268 10.7609L5 4.73413\"\n          stroke=\"#27303E\"\n          stroke-linecap=\"round\"\n        />\n      </svg>\n    </div>\n  </div>\n  }\n</div>\n","import { NgStyle } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  input,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { FileAttachNamespace } from '../../file-attach.namespace';\n\n@Component({\n  selector: 'aeb-default-body',\n  templateUrl: './default-body.html',\n  styleUrls: ['./default-body.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgStyle],\n  host: {\n    class: 'aeb-attach-default-body'\n  }\n})\nexport class DefaultBody {\n  readonly title = input('');\n  readonly attachmentDescription =\n    input<FileAttachNamespace.DetailedDescription>([]);\n  readonly documentListText = input('');\n}\n","@if (title()) {\n<div class=\"aeb-attach-default-body__title aeb-attach-default-body__content\">\n  {{ title() }}\n</div>\n} @if (attachmentDescription().length > 0) {\n<div\n  class=\"aeb-attach-default-body__description aeb-attach-default-body__content\"\n>\n  @for (description of attachmentDescription(); track description) {\n  <div class=\"aeb-attach-default-body__description__item\">\n    <div\n      class=\"aeb-attach-default-body__description__item__icon\"\n      [ngStyle]=\"{\n            'background-image': 'url(' + description.iconURL + ')'\n          }\"\n    ></div>\n    <div class=\"aeb-attach-default-body__description__item__text\">\n      {{ description.text }}\n    </div>\n  </div>\n  }\n</div>\n} @if (documentListText()?.length) {\n<div class=\"aeb-attach-default-body__doclist aeb-attach-default-body__content\">\n  {{ documentListText() }}\n</div>\n}\n<ng-content />\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  input,\n  ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n  selector: 'aeb-salary-portal-body',\n  templateUrl: './salary-portal-body.html',\n  styleUrls: ['./salary-portal-body.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'aeb-attach-salary-portal-body'\n  }\n})\nexport class SalaryPortalBody {\n  readonly title = input('');\n}\n","@if (title()) {\n<div\n  class=\"aeb-attach-salary-portal-body__title aeb-attach-salary-portal-body__content\"\n>\n  {{ title() }}\n</div>\n}\n<div class=\"aeb-attach-salary-portal-body__upload-icon\">\n  <svg\n    width=\"70\"\n    height=\"60\"\n    viewBox=\"0 0 70 60\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M56.9299 17.0405C56.1814 12.5554 53.979 8.46218 50.6107 5.356C46.8682 1.90145 42.0029 0 36.9361 0C33.0208 0 29.2063 1.13216 25.9387 3.26585C23.2182 5.03667 20.9583 7.43163 19.3605 10.2475C18.6695 10.1169 17.9498 10.0443 17.2301 10.0443C11.1125 10.0443 6.13202 15.0665 6.13202 21.2353C6.13202 22.0336 6.21838 22.8029 6.36233 23.5577C2.40387 26.4607 0 31.1345 0 36.1131C0 40.1337 1.48262 44.0382 4.18877 47.1299C6.96689 50.2941 10.6375 52.1665 14.5527 52.3843C14.5959 52.3843 14.6247 52.3843 14.6679 52.3843H27.0471C28.1267 52.3843 28.9903 51.5134 28.9903 50.4247C28.9903 49.3361 28.1267 48.4652 27.0471 48.4652H14.7255C8.83817 48.1024 3.88649 42.4561 3.88649 36.0985C3.88649 31.9908 6.07444 28.1589 9.60107 26.0833C10.4215 25.6043 10.767 24.6027 10.4503 23.7028C10.1625 22.919 10.0185 22.0917 10.0185 21.2063C10.0185 17.2001 13.2572 13.9343 17.2301 13.9343C18.0794 13.9343 18.9143 14.0794 19.6915 14.3697C20.6416 14.7181 21.6924 14.2827 22.1242 13.3682C24.816 7.6058 30.6313 3.88999 36.9504 3.88999C45.4431 3.88999 52.4532 10.3056 53.2593 18.8113C53.3457 19.6967 54.0078 20.4079 54.8715 20.5531C61.277 21.6562 66.1135 27.6218 66.1135 34.4293C66.1135 41.6432 60.4853 47.9137 53.5472 48.4507H42.9385C41.8589 48.4507 40.9953 49.3216 40.9953 50.4102C40.9953 51.4988 41.8589 52.3697 42.9385 52.3697H53.6192C53.6623 52.3697 53.7055 52.3697 53.7631 52.3697C58.1534 52.0504 62.2558 50.0183 65.3074 46.6218C68.3447 43.2544 70 38.9289 70 34.4293C69.9856 26.2865 64.4725 19.0435 56.9299 17.0405Z\"\n      fill=\"#F0F0F0\"\n    />\n    <path\n      d=\"M46.6828 36.5255C47.4469 35.8634 47.4469 34.8014 46.6828 34.1393L36.3754 25.2068C36.015 24.8944 35.5104 24.707 35.0059 24.707C34.5013 24.707 33.9967 24.8819 33.6363 25.2068L23.3289 34.1393C22.5648 34.8014 22.5648 35.8634 23.3289 36.5255C23.7037 36.8503 24.2083 37.0252 24.6984 37.0252C25.1886 37.0252 25.6931 36.8628 26.0679 36.5255L33.0597 30.4663V58.3134C33.0597 59.2504 33.9247 60 35.0059 60C36.0871 60 36.952 59.2504 36.952 58.3134V30.4663L43.9438 36.5255C44.6934 37.1876 45.9188 37.1876 46.6828 36.5255Z\"\n      fill=\"#F0F0F0\"\n    />\n  </svg>\n</div>\n<div class=\"aeb-attach-salary-portal-body__info-txt\">Перетащите файл сюда</div>\n<div class=\"aeb-attach-salary-portal-body__button-wrapper\">\n  <div class=\"aeb-attach-salary-portal-body__btn-left\">или</div>\n  <ng-content />\n</div>\n","import { Directive, output } from '@angular/core';\n\n@Directive({\n  selector: '[aebDragAndDrop]',\n  standalone: true,\n  host: {\n    '(dragover)': 'onDragOver($event)',\n    '(dragleave)': 'onDragLeave($event)',\n    '(drop)': 'onDrop($event)'\n  }\n})\nexport class DragAndDropDirective {\n  readonly filesChoosen = output<FileList>();\n  readonly filesInFocus = output<boolean>();\n\n  onDragOver(event: Event): void {\n    event.preventDefault();\n    event.stopPropagation();\n    this.filesInFocus.emit(true);\n  }\n\n  onDragLeave(event: Event): void {\n    event.preventDefault();\n    event.stopPropagation();\n    this.filesInFocus.emit(false);\n  }\n\n  onDrop(event: DragEvent): void {\n    event.preventDefault();\n    event.stopPropagation();\n    const files = event.dataTransfer.files;\n\n    if (files.length > 0) {\n      this.filesChoosen.emit(files);\n    }\n\n    this.filesInFocus.emit(false);\n  }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n  Component,\n  inject,\n  input,\n  OnDestroy,\n  OnInit,\n  output,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { filter, Subject, Subscription } from 'rxjs';\n\nimport { AttachButton } from './components/attach-button/attach-button';\nimport { DefaultBody } from './components/default-body/default-body';\nimport { SalaryPortalBody } from './components/salary-portal-body/salary-portal-body';\nimport { DragAndDropDirective } from './directives/drag-and-drop.directive';\nimport { FileAttachNamespace } from './file-attach.namespace';\n\n@Component({\n  selector: 'aeb-file-attach',\n  templateUrl: './file-attach.html',\n  styleUrls: ['./file-attach.scss'],\n  encapsulation: ViewEncapsulation.None,\n  hostDirectives: [\n    {\n      directive: DragAndDropDirective,\n      outputs: ['filesChoosen', 'filesInFocus']\n    }\n  ],\n  imports: [AttachButton, DefaultBody, NgTemplateOutlet, SalaryPortalBody],\n  host: {\n    class: 'aeb-attach',\n    '[class.aeb-attach--file-in-focus]': 'isFileInFocus',\n    '[class.aeb-attach--simple]': 'layoutMod() === \"simple\"',\n    '(filesChoosen)': 'dropFile($event)',\n    '(filesInFocus)': 'checkFileInFocus($event)'\n  }\n})\nexport class FileAttach implements ControlValueAccessor, OnDestroy, OnInit {\n  private _ngControl = inject(NgControl, { optional: true, self: true });\n  private _subscriptions: Subscription = new Subscription();\n  private _defaultRequirementViolatedError: FileAttachNamespace.RequirementConfirmationError =\n    {\n      type: 'ERROR',\n      message: 'Выбран недопустимый файл'\n    };\n\n  /**\n   * A string that describes which files should be attached, e.g.\n   * `\"Справка 2НДФЛ, справка о размере пенсии и иные документы, подтверждающие доход\"`\n   */\n  readonly documentListText = input('');\n  readonly initialShowErrorMessage = input(true);\n  readonly attachButtonText = input('Выберите файл');\n  readonly attachButtonIcon = input<string>(undefined);\n  readonly multi = input(false);\n  readonly layoutMod = input<FileAttachNamespace.LayoutMode>('default');\n  readonly attachmentDescription =\n    input<FileAttachNamespace.DetailedDescription>([]);\n  readonly requirement = input<FileAttachNamespace.Requirement>(undefined);\n\n  readonly changeListEvent = output<File[]>();\n  readonly requirementViolatedError =\n    output<FileAttachNamespace.RequirementConfirmationError>();\n\n  readonly title = input('');\n\n  files: File[] = [];\n  showErrorMessageText = new Subject<string>();\n  showErrorMessage = true; // Internal state (can be modified)\n  isFileInFocus: boolean;\n\n  constructor() {\n    if (this._ngControl) {\n      this._ngControl.valueAccessor = this;\n    }\n    // Initialize from signal input\n    this.showErrorMessage = this.initialShowErrorMessage();\n  }\n\n  ngOnInit(): void {\n    this._subscriptions.add(\n      this.changeListEvent.subscribe(() => {\n        this.showErrorMessageText.next(null);\n      })\n    );\n    this._subscriptions.add(\n      this.requirementViolatedError.subscribe((error) => {\n        this.showErrorMessageText.next(error.message);\n      })\n    );\n\n    if (this._ngControl && this._ngControl.control) {\n      this._subscriptions.add(\n        this._ngControl.control.statusChanges\n          .pipe(filter((status) => status === 'INVALID' || status === 'VALID'))\n          .subscribe({\n            next: (status) => {\n              if (status === 'INVALID') {\n                const errors = this._ngControl.control\n                  .errors as FileAttachNamespace.ControlValidationErrorsModel;\n\n                if (errors.fileTooLarge) {\n                  this.showErrorMessageText.next(\n                    'Размер файлов превышает максимально допустимый'\n                  );\n                } else if (errors.incorrectExtension) {\n                  this.showErrorMessageText.next('Выбран недопустимый файл');\n                } else if (errors.tooMuchFiles) {\n                  this.showErrorMessageText.next(\n                    'Количество файлов превышает максимально допустимое'\n                  );\n                } else if (errors.other) {\n                  this.showErrorMessageText.next(\n                    'Требования к загружаемым файлам не выполнены'\n                  );\n                } else if (errors.notEnoughFiles) {\n                  this.showErrorMessageText.next('Не все файлы были загружены');\n                }\n\n                this.showErrorMessage = true;\n              } else {\n                this.showErrorMessage = false;\n              }\n            }\n          })\n      );\n    }\n  }\n\n  ngOnDestroy(): void {\n    this._subscriptions.unsubscribe();\n  }\n\n  writeValue(obj: FileList | File[]): void {\n    if (obj !== null) {\n      this.addFile(obj);\n    }\n  }\n\n  registerOnChange(fn: (value: any) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouch = fn;\n  }\n\n  setDisabledState?(): void {\n    return;\n  }\n\n  protected clearFileList(): void {\n    this.files = [];\n    this.onTouch();\n    this.onChange(this.files);\n\n    this.changeListEvent.emit(this.files);\n  }\n\n  protected chooseFile(files: FileList): void {\n    this.addFile(files);\n  }\n\n  protected attachButtonClicked(): void {\n    this.onTouch();\n  }\n\n  protected dropFile(files: FileList): void {\n    if (!this.multi() && files.length > 1) {\n      this.addFile([files[0]]);\n      return;\n    }\n\n    this.addFile(files);\n  }\n\n  protected checkFileInFocus(isInFocus: boolean): void {\n    this.onTouch();\n  }\n\n  private addFile(files: FileList | File[]): void {\n    const fileArray = this.fileListToArray(files as FileList);\n\n    const requirement = this.requirement();\n    if (requirement && requirement.isRequirementCompleted) {\n      const confirmationResult = requirement.isRequirementCompleted(\n        [...fileArray],\n        [...this.files]\n      );\n\n      if (!confirmationResult.status) {\n        if (confirmationResult.error === undefined) {\n          this.requirementViolatedError.emit(\n            this._defaultRequirementViolatedError\n          );\n        } else {\n          this.requirementViolatedError.emit(confirmationResult.error);\n        }\n\n        return;\n      } else {\n        /**\n         * Если установлен режим выбора только одного файла,\n         * то при новом выборе файла удаляем предыдущий, чтобы заменить его на новый\n         */\n        if (!this.multi()) {\n          this.files = [];\n        }\n      }\n    }\n\n    this.files.push(...fileArray);\n    this.changeListEvent.emit(this.files);\n    this.onChange(this.files);\n  }\n\n  private fileListToArray(fileList: FileList): Array<File> {\n    const fileArray = new Array<File>();\n\n    // eslint-disable-next-line @typescript-eslint/prefer-for-of\n    for (let i = 0; i < fileList.length; i++) {\n      fileArray.push(fileList[i]);\n    }\n\n    return fileArray;\n  }\n\n  // eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n  private onChange(value: any): void {}\n\n  private onTouch(): void {}\n}\n","<ng-template #buttonTemplate>\n  <aeb-attach-button\n    [multi]=\"multi()\"\n    [filesAmount]=\"files.length\"\n    [attachButtonText]=\"attachButtonText()\"\n    [attachButtonIcon]=\"attachButtonIcon()\"\n    [showErrorMessage]=\"showErrorMessage\"\n    [showErrorMessageText]=\"showErrorMessageText\"\n    [requirement]=\"requirement()\"\n    (buttonClick)=\"attachButtonClicked()\"\n    (fileChoosen)=\"chooseFile($event)\"\n    (fileListCleared)=\"clearFileList()\"\n  />\n</ng-template>\n@if (layoutMod() === 'default') {\n<aeb-default-body\n  [title]=\"title()\"\n  [attachmentDescription]=\"attachmentDescription()\"\n  [documentListText]=\"documentListText()\"\n>\n  <ng-template [ngTemplateOutlet]=\"buttonTemplate\" />\n</aeb-default-body>\n} @if (layoutMod() === 'salaryPortal') {\n<aeb-salary-portal-body [title]=\"title()\">\n  <ng-template [ngTemplateOutlet]=\"buttonTemplate\" />\n</aeb-salary-portal-body>\n} @if (layoutMod() === 'simple') {\n<ng-template [ngTemplateOutlet]=\"buttonTemplate\" />\n}\n","import { NgModule } from '@angular/core';\n\nimport { FileAttach } from './file-attach';\n\n@NgModule({\n  imports: [FileAttach],\n  exports: [FileAttach]\n})\nexport class FileAttachModule {}\n","import { NgClass } from '@angular/common';\nimport { Component, input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-filter-tag',\n  templateUrl: './filter-tag.html',\n  styleUrls: ['./filter-tag.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgClass]\n})\nexport class FilterTag {\n  readonly value = input<string>(undefined);\n  readonly active = input(false);\n\n  readonly tagHandler = output<string>();\n\n  clickHandler(tag: string): void {\n    this.tagHandler.emit(tag);\n  }\n}\n","<div\n  class=\"aeb-filter-tag\"\n  [ngClass]=\"{\n    'aeb-filter-tag--active': active()\n  }\"\n  (click)=\"clickHandler(value())\"\n>\n  <ng-content />\n</div>\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\n\nimport { FilterTag } from './filter-tag/filter-tag';\n\ntype tag = {\n  value: string;\n  label: string;\n};\n\n@Component({\n  selector: 'aeb-filter-tags',\n  templateUrl: './filter-tags.html',\n  styleUrls: ['./filter-tags.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [FilterTag]\n})\nexport class FilterTags {\n  // Internal mutable state\n  private _filterValue: string[] = [];\n\n  readonly initialFilterValue = input<string[]>([]);\n  readonly tags = input<tag[]>(undefined);\n\n  readonly tagChange = output<string[]>();\n\n  get filterValue(): string[] {\n    return this._filterValue;\n  }\n\n  constructor() {\n    // Initialize from signal input\n    this._filterValue = this.initialFilterValue();\n  }\n\n  tagHandler(tag: string): void {\n    if (this._filterValue.includes(tag)) {\n      this._filterValue = this._filterValue.filter((item) => item !== tag);\n    } else {\n      this._filterValue = [...this._filterValue, tag];\n    }\n    this.tagChange.emit(this._filterValue);\n  }\n}\n","<div class=\"aeb-filter-tags\">\n  @for (tag of tags(); track tag) {\n  <aeb-filter-tag\n    [value]=\"tag.value\"\n    [active]=\"filterValue.includes(tag.value)\"\n    (tagHandler)=\"tagHandler($event)\"\n  >\n    {{ tag.label }}\n  </aeb-filter-tag>\n  }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { FilterTags } from './filter-tags';\n\n@NgModule({\n  imports: [FilterTags],\n  exports: [FilterTags]\n})\nexport class FilterTagsModule {}\n","import {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  inject,\n  viewChild\n} from '@angular/core';\n\n@Component({\n  template: '',\n  standalone: false\n})\nexport abstract class BaseContentProjectableFooter implements AfterViewInit {\n  private cdr = inject(ChangeDetectorRef);\n\n  readonly content = viewChild<ElementRef>('content');\n\n  hasContent = true;\n\n  ngAfterViewInit(): void {\n    const contentParentElement = this.content().nativeElement as HTMLElement;\n    this.hasContent = !!contentParentElement.innerHTML;\n    this.cdr.detectChanges();\n  }\n}\n","import { LinkModel } from '../footer-bottom/footer-bottom';\nimport { FooterMenuItemModel } from '../footer-menu/footer-menu';\n\nexport const DEFAULT_MENU_ITEMS: FooterMenuItemModel[] = [\n  {\n    name: 'Офисы',\n    link: 'https://albank.ru/ru/offices/'\n  },\n  {\n    name: 'Курсы валют',\n    link: 'https://albank.ru/ru/more/info/exchange/'\n  },\n  {\n    name: 'Новости',\n    link: 'https://albank.ru/ru/more/info/news/'\n  },\n  {\n    name: 'Вакансии',\n    link: 'https://albank.ru/ru/more/vacancies/'\n  },\n  {\n    name: 'Программа лояльности «Свои»',\n    link: 'https://svoi.albank.ru/'\n  },\n  {\n    name: 'Продажа имущества',\n    link: 'https://albank.ru/ru/more/sale/'\n  }\n];\n\nexport const DEFAULT_LINKS: LinkModel[] = [\n  {\n    name: 'Информация о процентных ставках по договорам банковского вклада с физическими лицами',\n    link: 'https://albank.ru/ru/interest-rates/'\n  },\n  {\n    name: 'Раскрытие информации профессиональным участником рынка ценных бумаг',\n    link: 'https://albank.ru/ru/disclosure/'\n  },\n  {\n    name: 'Раскрытие информации на сайте информационного агенства АО «СКРИН»',\n    link: 'https://disclosure.skrin.ru/disclosure/1435138944'\n  }\n];\n","import { Component, input, ViewEncapsulation } from '@angular/core';\n\nimport { BaseContentProjectableFooter } from '../abstract/base-content-projectable';\n\nexport type LinkModel = {\n  name: string;\n  link: string;\n};\n\n@Component({\n  selector: 'aeb-footer-bottom',\n  templateUrl: './footer-bottom.html',\n  styleUrls: ['./footer-bottom.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class FooterBottom extends BaseContentProjectableFooter {\n  readonly links = input<LinkModel[]>(undefined);\n  readonly year = input(new Date().getFullYear());\n}\n","@if (hasContent) {\n<div #content>\n  <ng-content />\n</div>\n} @else {\n<div class=\"aeb-footer-bottom\">\n  <div class=\"aeb-footer-bottom--copyrights-row\">\n    <p>\n      © {{ year() }} АКБ «Алмазэргиэнбанк» АО. Генеральная лицензия ЦБ РФ №2602\n      от 08.06.2015\n    </p>\n    <div class=\"aeb-footer-bottom__soc-networks\">\n      <a\n        href=\"https://t.me/albankykt\"\n        target=\"_blank\"\n        rel=\"noopener noreferrer nofollow external\"\n        class=\"aeb-footer-bottom__soc-icon\"\n      >\n        <svg\n          width=\"34\"\n          height=\"34\"\n          viewBox=\"0 0 34 34\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            fill-rule=\"evenodd\"\n            clip-rule=\"evenodd\"\n            d=\"M17 1C25.8303 1 33 8.16968 33 17C33 25.8303 25.8303 33 17 33C8.16969 33 1 25.8303 1 17C1 8.16968 8.16969 1 17 1Z\"\n            stroke=\"white\"\n            stroke-width=\"2\"\n          />\n          <path\n            fill-rule=\"evenodd\"\n            clip-rule=\"evenodd\"\n            d=\"M21.7075 24.8233C21.9651 25.0057 22.2971 25.0513 22.5931 24.9393C22.8891 24.8265 23.1067 24.5737 23.1723 24.2673C23.8675 21.0001 25.5539 12.7305 26.1867 9.75852C26.2347 9.53452 26.1547 9.30172 25.9787 9.15212C25.8027 9.00252 25.5587 8.95932 25.3411 9.04012C21.9867 10.2817 11.6563 14.1577 7.43392 15.7201C7.16592 15.8193 6.99152 16.0769 7.00032 16.3593C7.00992 16.6425 7.20032 16.8881 7.47472 16.9705C9.36832 17.5369 11.8539 18.3249 11.8539 18.3249C11.8539 18.3249 13.0155 21.8329 13.6211 23.6169C13.6971 23.8409 13.8723 24.0169 14.1035 24.0777C14.3339 24.1377 14.5803 24.0745 14.7523 23.9121C15.7251 22.9937 17.2291 21.5737 17.2291 21.5737C17.2291 21.5737 20.0867 23.6689 21.7075 24.8233ZM12.8995 17.8817L14.2427 22.3121L14.5411 19.5065C14.5411 19.5065 19.7307 14.8257 22.6891 12.1577C22.7755 12.0793 22.7875 11.9481 22.7155 11.8561C22.6443 11.7641 22.5131 11.7425 22.4147 11.8049C18.9859 13.9945 12.8995 17.8817 12.8995 17.8817Z\"\n            fill=\"white\"\n          />\n        </svg>\n      </a>\n      <a\n        href=\"https://vk.com/albankykt\"\n        target=\"_blank\"\n        rel=\"noopener noreferrer nofollow external\"\n        class=\"aeb-footer-bottom__soc-icon\"\n      >\n        <svg\n          width=\"34\"\n          height=\"34\"\n          viewBox=\"0 0 34 34\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            fill-rule=\"evenodd\"\n            clip-rule=\"evenodd\"\n            d=\"M17.6877 23.4812C18.3614 23.4812 18.3614 22.5127 18.3614 22.1363C18.3614 21.4635 19.0326 20.7923 19.7062 20.7923C20.3799 20.7923 21.5328 21.9443 22.3968 22.8083C23.0705 23.482 23.0705 23.482 23.7425 23.482H25.761C25.761 23.482 27.1067 23.429 27.1067 22.1355C27.1067 21.7161 26.6452 21.0037 25.0881 19.4466C23.7425 18.1026 23.0519 18.7965 25.0881 16.0849C26.3277 14.4344 27.2305 12.938 27.0763 12.506C26.9273 12.0934 23.4789 11.4382 23.0705 12.0513C21.7248 14.0673 21.4772 14.5624 21.0519 15.4121C20.3799 16.7569 20.3126 17.4298 19.7062 17.4298C19.0949 17.4298 19.0326 16.1245 19.0326 15.4121C19.0326 13.1906 19.3559 11.6184 18.3606 11.3784H16.342C15.2591 11.3784 14.3243 12.0521 14.3243 12.0521C14.3243 12.0521 13.489 12.7022 13.6507 12.7233C13.8519 12.7511 14.9963 12.4454 14.9963 13.3961V14.7409C14.9963 14.7409 15.0031 17.4298 14.3243 17.4298C13.6507 17.4298 12.3058 14.7409 10.9601 12.7224C10.4321 11.9317 10.2865 12.0513 9.6153 12.0513C8.89446 12.0513 8.26961 12.0791 7.59593 12.0791C6.92393 12.0791 6.83719 12.5068 6.92393 12.7233C8.26961 16.0849 9.23551 18.1961 11.7913 20.8563C14.1374 23.2959 15.7029 23.4247 17.0157 23.4803C17.3517 23.4946 17.0157 23.4803 17.6877 23.4803V23.4812Z\"\n            fill=\"white\"\n          />\n          <path\n            fill-rule=\"evenodd\"\n            clip-rule=\"evenodd\"\n            d=\"M17 1C25.8303 1 33 8.16968 33 17C33 25.8303 25.8303 33 17 33C8.16968 33 1 25.8303 1 17C1 8.16968 8.16968 1 17 1Z\"\n            stroke=\"white\"\n            stroke-width=\"2\"\n          />\n        </svg>\n      </a>\n    </div>\n  </div>\n  @for (link of links(); track link) {\n  <span class=\"aeb-footer-bottom__link__inline-container\">\n    <div class=\"aeb-footer-bottom__link__block-container\">\n      <a class=\"aeb-footer-bottom__link\" [href]=\"link.link\">\n        {{ link.name }}\n      </a>\n    </div>\n  </span>\n  }\n</div>\n}\n","import { Component, input, ViewEncapsulation } from '@angular/core';\n\nimport { BaseContentProjectableFooter } from '../abstract/base-content-projectable';\n\nexport type FooterMenuItemModel = {\n  name: string;\n  link: string;\n};\n\n@Component({\n  selector: 'aeb-footer-menu',\n  templateUrl: './footer-menu.html',\n  styleUrls: ['./footer-menu.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class FooterMenu extends BaseContentProjectableFooter {\n  readonly items = input<FooterMenuItemModel[]>(undefined);\n}\n","@if (hasContent) {\n<div #content>\n  <ng-content />\n</div>\n} @else {\n<div class=\"aeb-footer-menu\">\n  <ul class=\"aeb-footer-menu__wrapper\">\n    @for (item of items(); track item) {\n    <li class=\"aeb-footer-menu__item\">\n      <a [href]=\"item.link\"> {{ item.name }} </a>\n    </li>\n    }\n    <div class=\"aeb-footer-menu__item--feedback\" style=\"cursor: pointer\">\n      <a href=\"https://www.albank.ru/ru/feedback\">Связь с Банком</a>\n    </div>\n  </ul>\n</div>\n}\n","import { Component, input, ViewEncapsulation } from '@angular/core';\n\nimport { BaseContentProjectableFooter } from '../abstract/base-content-projectable';\n\n@Component({\n  selector: 'aeb-footer-top',\n  templateUrl: './footer-top.html',\n  styleUrls: ['./footer-top.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class FooterTop extends BaseContentProjectableFooter {\n  readonly onlyPhone = input(false);\n}\n","@if (hasContent) {\n<div #content>\n  <ng-content />\n</div>\n} @else {\n<div class=\"aeb-footer-top\">\n  <div class=\"aeb-footer-top__wrapper\">\n    <div class=\"aeb-footer-top__column\">\n      <div class=\"aeb-footer-top__row\">\n        <div class=\"aeb-footer-top__head\">Бесплатная горячая линия</div>\n        <div class=\"aeb-footer-top__cell\">\n          <a class=\"aeb-footer-top__phone-number\" href=\"tel:+78001003422\">\n            8 800 100-34-22\n          </a>\n        </div>\n      </div>\n    </div>\n    <div class=\"aeb-footer-top__column\">\n      <div class=\"aeb-footer-top__row\">\n        <div class=\"aeb-footer-top__head\">Телефон</div>\n        <div class=\"aeb-footer-top__cell\">\n          <a class=\"aeb-footer-top__phone-number\" href=\"tel:+74112342222\">\n            8 (4112) 34-22-22\n          </a>\n        </div>\n      </div>\n    </div>\n    <div class=\"aeb-footer-top__column\">\n      <div class=\"aeb-footer-top__row\">\n        <div class=\"aeb-footer-top__head\">Электронная почта</div>\n        <div class=\"aeb-footer-top__cell\">\n          <a class=\"aeb-footer-top__phone-number\" href=\"mailto:bank@albank.ru\">\n            bank&#64;albank.ru\n          </a>\n        </div>\n      </div>\n    </div>\n    @if (!onlyPhone()) {\n    <div class=\"aeb-footer-top__column\">\n      <div class=\"aeb-footer-top__row\">\n        <div class=\"aeb-footer-top__head\">Наш адрес</div>\n        <div class=\"aeb-footer-top__cell\">г. Якутск, пр. Ленина, 1</div>\n      </div>\n    </div>\n    }\n  </div>\n  <a class=\"aeb-footer-top__app\" href=\"https://app.albank.ru/\">\n    <div class=\"aeb-footer-top__mobile-icon\">\n      <svg\n        width=\"48\"\n        height=\"48\"\n        viewBox=\"0 0 48 48\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <rect width=\"48\" height=\"48\" rx=\"8\" fill=\"#2F88F0\" />\n        <path\n          fill-rule=\"evenodd\"\n          clip-rule=\"evenodd\"\n          d=\"M26.5406 25.319L25.3223 26.5376L26.1321 28.4946L28.4972 26.129L26.5406 25.319ZM24.8708 26.724H23.1436L22.3337 28.681H25.6735L24.8708 26.724ZM26.7342 23.1398V24.8602L28.6835 25.6702V22.3297L26.7342 23.1398ZM22.6849 26.5376L21.4665 25.319L19.5171 26.129L21.8822 28.4946L22.6849 26.5376ZM26.1321 19.5054L25.3223 21.4624L26.5406 22.681L28.4972 21.871L26.1321 19.5054ZM23.1436 21.2688H24.8708L25.6735 19.319H22.3337L23.1436 21.2688ZM21.2802 24.8602V23.1398L19.3308 22.3297V25.6702L21.2802 24.8602ZM21.4665 22.681L22.6849 21.4624L21.8822 19.5054L19.5171 21.871L21.4665 22.681ZM22.7566 18.0358H34.5675C34.976 18.0358 35.3845 18.1935 35.6999 18.509C36.0152 18.8244 36.1729 19.233 36.1729 19.6416C36.1729 20.0502 36.0152 20.466 35.6999 20.7814L38.409 23.491C39.4697 22.4301 40 21.0323 40 19.6416C40 18.2509 39.4697 16.8602 38.409 15.7993C37.3483 14.7384 35.9579 14.2079 34.5675 14.2079H26.5837L22.7566 18.0358ZM27.3362 18.8961L35.6856 27.2545C35.9794 27.5412 36.1586 27.9427 36.1586 28.3871C36.1586 28.8315 35.9794 29.233 35.6856 29.5269C35.3989 29.8136 34.9975 29.9928 34.5532 29.9928V33.828C36.0511 33.828 37.4128 33.2186 38.3946 32.2366C39.3836 31.2473 39.9857 29.8925 39.9857 28.3871C39.9857 26.8889 39.3765 25.5269 38.3946 24.5376L32.7543 18.8961H27.3362ZM29.9664 22.7455V34.5591C29.9664 34.9677 29.8087 35.3835 29.4934 35.6989C29.1781 36.0072 28.7695 36.1649 28.361 36.1649C27.9525 36.1649 27.5368 36.0072 27.2287 35.6989L24.5124 38.4086C25.5803 39.4695 26.9707 40 28.361 40C29.7514 40 31.1418 39.4695 32.2096 38.4086C33.2703 37.3477 33.8007 35.9498 33.8007 34.5591L33.7935 26.5806L29.9664 22.7455ZM29.1064 27.3262L20.757 35.6846C20.4632 35.9713 20.0618 36.1505 19.6175 36.1505C19.1731 36.1505 18.7789 35.9713 18.4851 35.6846C18.1913 35.3907 18.0121 34.9892 18.0121 34.5448H14.1778C14.1778 36.0502 14.787 37.405 15.776 38.3943C16.7579 39.3763 18.1196 39.9857 19.6175 39.9857C21.1225 39.9857 22.477 39.3763 23.4661 38.3943L29.1064 32.7455V27.3262ZM25.2578 29.957H13.4468C13.0383 29.957 12.6226 29.7993 12.3144 29.491C11.9991 29.1756 11.8414 28.767 11.8414 28.3513C11.8414 27.9427 11.9991 27.534 12.3144 27.2186L9.60538 24.509C8.53751 25.5699 8.00717 26.9606 8.00717 28.3513C8.00717 29.7419 8.53751 31.1398 9.60538 32.2007C10.6661 33.2616 12.0564 33.7921 13.4468 33.7921H21.4307L25.2578 29.957ZM20.6567 29.0466L12.3073 20.6953C12.0134 20.4014 11.8343 20 11.8343 19.5556C11.8343 19.1111 12.0134 18.7097 12.3073 18.4229C12.594 18.129 12.9953 17.9498 13.4396 17.9498V14.1219C11.9418 14.1219 10.5801 14.7312 9.59821 15.7133C8.60918 16.6953 8 18.0573 8 19.5556C8 21.0609 8.60918 22.4158 9.59821 23.405L15.2385 29.0466H20.6567ZM18.0479 25.2473V13.4337C18.0479 13.0251 18.2056 12.6165 18.5209 12.3011C18.8291 11.9857 19.2448 11.8351 19.6533 11.828C20.0618 11.828 20.4703 11.9857 20.7857 12.3011L23.5019 9.5914C22.434 8.53047 21.0437 8 19.6533 8C18.2629 8 16.8726 8.53047 15.8047 9.5914C14.744 10.6523 14.2137 12.043 14.2137 13.4409V21.4194L18.0479 25.2473ZM18.908 20.6667L27.2573 12.3154C27.5512 12.0215 27.9525 11.8495 28.3969 11.8495C28.8412 11.8495 29.2354 12.0287 29.5292 12.3154C29.8231 12.6093 30.0022 13.0036 30.0022 13.4552H33.8365C33.8365 11.9498 33.2202 10.5878 32.2383 9.60573C31.2564 8.62366 29.8947 8.01434 28.3969 8.01434C26.8918 8.01434 25.5301 8.62366 24.5483 9.60573L18.908 15.2473V20.6667ZM24.9639 26.3082L26.3113 24.9534V23.0394L24.9639 21.6918H23.0504L21.6959 23.0394V24.9534L23.0504 26.3082H24.9639ZM21.8965 29.0968L18.908 26.1147V21.8853L21.8965 18.8961H26.1178L29.1064 21.8853V26.1147L26.1178 29.0968H21.8965Z\"\n          fill=\"white\"\n        />\n      </svg>\n    </div>\n    <div class=\"aeb-footer-top__row\">\n      <div class=\"aeb-footer-top__head\">Приложение для iOS и Android</div>\n      <div class=\"aeb-footer-top__cell\">АЭБ Онлайн 3.0</div>\n    </div>\n  </a>\n</div>\n}\n","import { Component, input, ViewEncapsulation } from '@angular/core';\n\nimport { BaseContentProjectableFooter } from './abstract/base-content-projectable';\nimport { DEFAULT_LINKS, DEFAULT_MENU_ITEMS } from './constants/footer.const';\nimport { FooterBottom, LinkModel } from './footer-bottom/footer-bottom';\nimport { FooterMenu, FooterMenuItemModel } from './footer-menu/footer-menu';\nimport { FooterTop } from './footer-top/footer-top';\n\n@Component({\n  selector: 'footer[aebFooter]',\n  templateUrl: './footer.html',\n  styleUrls: ['./footer.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [FooterTop, FooterMenu, FooterBottom],\n  host: {\n    class: 'aeb-footer'\n  }\n})\nexport class Footer extends BaseContentProjectableFooter {\n  readonly links = input<LinkModel[]>(DEFAULT_LINKS);\n  readonly menuItems = input<FooterMenuItemModel[]>(DEFAULT_MENU_ITEMS);\n  readonly year = input(new Date().getFullYear());\n}\n","@if (hasContent) {\n<div #content class=\"aeb-footer__content\">\n  <ng-content />\n</div>\n} @else {\n<div class=\"aeb-footer__content\">\n  <aeb-footer-top></aeb-footer-top>\n  <aeb-footer-menu [items]=\"menuItems()\"></aeb-footer-menu>\n  <aeb-footer-bottom [links]=\"links()\" [year]=\"year()\"></aeb-footer-bottom>\n</div>\n}\n","import { NgModule } from '@angular/core';\n\nimport { Footer } from './footer';\n\n@NgModule({\n  imports: [Footer],\n  exports: [Footer]\n})\nexport class FooterModule {}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'header[aebHeader]',\n  templateUrl: './header.html',\n  styleUrls: ['./header.scss'],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'aeb-header'\n  }\n})\nexport class Header {}\n","<ng-content />\n","import { Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'a[aebLogo]',\n  templateUrl: './logo.html',\n  styleUrls: ['./logo.scss'],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'aeb-header-logo'\n  }\n})\nexport class Logo {\n  readonly iconPath = input('');\n}\n","@if (iconPath()) {\n<img class=\"aeb-header-logo-icon\" [src]=\"iconPath()\" alt=\"Логотип\" />\n} @else {\n<svg\n  class=\"aeb-header-logo-icon\"\n  width=\"26\"\n  height=\"26\"\n  viewBox=\"0 0 26 26\"\n  fill=\"none\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n>\n  <path\n    fill-rule=\"evenodd\"\n    clip-rule=\"evenodd\"\n    d=\"M0 0H6V6H0V0ZM0 10H6V16H0V10ZM6 20H0V26H6V20ZM10 0H16V6H10V0ZM16 10H10V16H16V10ZM10 20H16V26H10V20ZM26 0H20V6H26V0ZM20 10H26V16H20V10ZM26 20H20V26H26V20Z\"\n    fill=\"#2F88F0\"\n  />\n</svg>\n}\n\n<div class=\"aeb-header-logo-text\">\n  <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { Header } from './header';\nimport { Logo } from './logo/logo';\n\n@NgModule({\n  imports: [Header, Logo],\n  exports: [Header, Logo]\n})\nexport class HeaderModule {}\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-breadcrumps',\n  templateUrl: './breadcrumps.html',\n  styleUrls: ['./breadcrumps.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class Breadcrumps {\n  readonly routeSeq = input<string[]>([], { alias: 'routeSequence' });\n\n  readonly routeClick = output<number>();\n\n  clickHandler(index: number): void {\n    this.routeClick.emit(index);\n  }\n}\n","<div class=\"aeb-breadcrumps\">\n  @for (item of routeSeq(); track $index) {\n  <div class=\"aeb-breadcrumps__item\" (click)=\"clickHandler($index)\">\n    {{ item }} @if ($index !== routeSeq().length - 1) {\n    <span class=\"aeb-breadcrumps__icon\">\n      <svg\n        width=\"3\"\n        height=\"6\"\n        viewBox=\"0 0 3 6\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path\n          d=\"M3 3L-6.28109e-09 5.59808L2.2085e-07 0.401924L3 3Z\"\n          fill=\"#A3AAAE\"\n        />\n      </svg>\n    </span>\n    }\n  </div>\n  }\n</div>\n","import { Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-heading',\n  templateUrl: './heading.html',\n  styleUrls: ['./heading.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class Heading {\n  readonly header = input<string>(undefined);\n}\n","<h1 class=\"aeb-heading\">{{ header() }}</h1>\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-product-title',\n  templateUrl: './product-title.html',\n  styleUrls: ['./product-title.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class ProductTitle {\n  readonly title = input<string>(undefined);\n\n  readonly backHandler = output<void>();\n\n  clickHandler(): void {\n    this.backHandler.emit();\n  }\n}\n","<div class=\"aeb-product-title\">\n  <div class=\"aeb-product-title__title\">\n    <div class=\"aeb-product-title__back\" (click)=\"clickHandler()\">\n      <svg\n        width=\"42\"\n        height=\"42\"\n        viewBox=\"0 0 42 42\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <rect width=\"42\" height=\"42\" rx=\"10\" fill=\"white\" />\n        <line\n          x1=\"13\"\n          y1=\"21\"\n          x2=\"29\"\n          y2=\"21\"\n          stroke=\"#2F88F0\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n        />\n        <path\n          d=\"M18 14L12 21L18 28\"\n          stroke=\"#2F88F0\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n        />\n      </svg>\n    </div>\n    <div class=\"aeb-product-title__heading\">{{ title() }}</div>\n  </div>\n  <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { Breadcrumps } from './breadcrumps/breadcrumps';\nimport { Heading } from './heading';\nimport { ProductTitle } from './product-title/product-title';\n\n@NgModule({\n  imports: [Heading, Breadcrumps, ProductTitle],\n  exports: [Heading, Breadcrumps, ProductTitle]\n})\nexport class HeadingModule {}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-filter-label',\n  templateUrl: './label.html',\n  styleUrls: ['./label.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class Label {}\n","<div class=\"aeb-label\">\n  <div class=\"aeb-label-text\">\n    <ng-content />\n  </div>\n  <div class=\"aeb-label-icon-close\">\n    <svg\n      width=\"14\"\n      height=\"14\"\n      viewBox=\"0 0 14 14\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M14 1.4L12.6 0L7 5.6L1.4 0L0 1.4L5.6 7L0 12.6L1.4 14L7 8.4L12.6 14L14 12.6L8.4 7L14 1.4Z\"\n        fill=\"#2F88F0\"\n      />\n    </svg>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { Label } from './label';\n\n@NgModule({\n  imports: [Label],\n  exports: [Label]\n})\nexport class LabelModule {}\n","import {\n  Component,\n  computed,\n  effect,\n  ElementRef,\n  inject,\n  input,\n  output,\n  ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounce, fromEvent, timer } from 'rxjs';\n\nimport { Button, ButtonVariant } from '../button/button';\n\nexport interface ControlsConfigurationModel {\n  text?: string;\n  variant?: ButtonVariant;\n  warning?: boolean;\n  hidden?: boolean;\n  disabled?: boolean;\n}\n\nexport interface ModalControlsModel {\n  leftBtn?: ControlsConfigurationModel;\n  rightBtn?: ControlsConfigurationModel;\n  closeBtn?: {\n    hidden: ControlsConfigurationModel['hidden'];\n  };\n}\n\nconst DEFAULT_CONFIG: ModalControlsModel = {\n  leftBtn: {\n    text: 'Отмена',\n    variant: 'secondary',\n    hidden: false,\n    warning: false,\n    disabled: false\n  },\n  rightBtn: {\n    text: 'Сохранить',\n    variant: 'primary',\n    hidden: false,\n    warning: false,\n    disabled: false\n  },\n  closeBtn: {\n    hidden: false\n  }\n};\n\n@Component({\n  selector: 'aeb-modal',\n  templateUrl: './modal.html',\n  styleUrls: ['./modal.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [Button],\n  host: {\n    class: 'aeb-modal',\n    '[class.aeb-modal--open]': 'isOpen()',\n    '(click)': 'onClick($event)'\n  }\n})\nexport class Modal {\n  private _modalRef: ElementRef<HTMLDivElement> = inject(ElementRef);\n\n  readonly isOpen = input(true);\n  readonly title = input('');\n  readonly size = input<'S' | 'M' | 'L' | 'auto'>('M');\n  readonly closeOnBackdropClick = input(true);\n  readonly controlsConfig = input(DEFAULT_CONFIG);\n\n  readonly leftBtnClick = output();\n  readonly rightBtnClick = output();\n  readonly closeBtnClick = output();\n\n  readonly controlsConfigTemplate = computed(() => ({\n    closeBtn: {\n      ...DEFAULT_CONFIG.closeBtn,\n      ...(this.controlsConfig()?.closeBtn ?? {})\n    },\n    leftBtn: {\n      ...DEFAULT_CONFIG.leftBtn,\n      ...(this.controlsConfig()?.leftBtn ?? {})\n    },\n    rightBtn: {\n      ...DEFAULT_CONFIG.rightBtn,\n      ...(this.controlsConfig()?.rightBtn ?? {})\n    }\n  }));\n\n  isMobileScreen = true;\n\n  constructor() {\n    this.checkScreen();\n\n    fromEvent(window, 'resize')\n      .pipe(\n        debounce(() => timer(50)),\n        takeUntilDestroyed()\n      )\n      .subscribe(() => {\n        this.checkScreen();\n      });\n\n    // Effect to handle modal open/close based on isOpen input\n    effect(() => {\n      if (this._modalRef?.nativeElement) {\n        if (this.isOpen()) {\n          this._modalRef.nativeElement.classList.add('aeb-modal--open');\n        } else {\n          this._modalRef.nativeElement.classList.remove('aeb-modal--open');\n        }\n      }\n    });\n  }\n\n  onClick(event: MouseEvent): void {\n    this.onBackdropClick(event);\n  }\n\n  onCancelClick(): void {\n    this.leftBtnClick.emit();\n  }\n\n  onSubmitClick(): void {\n    this.rightBtnClick.emit();\n  }\n\n  onCloseClick(): void {\n    this.closeBtnClick.emit();\n  }\n\n  onBackdropClick(event: MouseEvent): void {\n    if (\n      event.target === this._modalRef.nativeElement &&\n      this.closeOnBackdropClick()\n    ) {\n      this.onCloseClick();\n    }\n  }\n\n  private checkScreen() {\n    if (window.innerWidth <= 599) {\n      this.isMobileScreen = true;\n    } else {\n      this.isMobileScreen = false;\n    }\n  }\n}\n","<div class=\"aeb-modal__window\" [class]=\"'aeb-modal__window--' + size()\">\n  <div class=\"aeb-modal__header\">\n    <h2 class=\"aeb-modal__title\">{{ title() }}</h2>\n    @if (!controlsConfigTemplate().closeBtn.hidden) {\n    <button class=\"aeb-modal__close-btn\" (click)=\"onCloseClick()\">\n      <svg\n        width=\"32\"\n        height=\"32\"\n        viewBox=\"0 0 32 32\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path\n          d=\"M9.63074 9.63074L22.3692 22.3692\"\n          stroke=\"#7D8591\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n        />\n        <path\n          d=\"M22.3693 9.63074L9.63077 22.3692\"\n          stroke=\"#7D8591\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n        />\n      </svg>\n    </button>\n    }\n  </div>\n  <ng-content />\n  @if (!controlsConfigTemplate().leftBtn.hidden &&\n  !controlsConfigTemplate().rightBtn.hidden) {\n  <span class=\"aeb-modal__btn-group\">\n    @if (!controlsConfigTemplate().leftBtn.hidden) {\n    <button\n      aebButton\n      [size]=\"isMobileScreen ? 'M' : 'L'\"\n      [fill]=\"isMobileScreen ? true : false || size() === 'S'\"\n      [variant]=\"controlsConfigTemplate().leftBtn.variant\"\n      [isWarning]=\"controlsConfigTemplate().leftBtn.warning\"\n      [disabled]=\"controlsConfigTemplate().leftBtn.disabled\"\n      (click)=\"onCancelClick()\"\n    >\n      {{ controlsConfigTemplate().leftBtn.text }}\n    </button>\n    } @if (!controlsConfigTemplate().rightBtn.hidden) {\n    <button\n      aebButton\n      [size]=\"isMobileScreen ? 'M' : 'L'\"\n      [fill]=\"isMobileScreen ? true : false || size() === 'S'\"\n      [variant]=\"controlsConfigTemplate().rightBtn.variant\"\n      [isWarning]=\"controlsConfigTemplate().rightBtn.warning\"\n      [disabled]=\"controlsConfigTemplate().rightBtn.disabled\"\n      (click)=\"onSubmitClick()\"\n    >\n      {{ controlsConfigTemplate().rightBtn.text }}\n    </button>\n    }\n  </span>\n  }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ButtonModule } from '../button/button.module';\nimport { Modal } from './modal';\n\n@NgModule({\n  imports: [ButtonModule, Modal],\n  exports: [Modal]\n})\nexport class ModalModule {}\n","import { DatePipe } from '@angular/common';\nimport { Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-news-card',\n  templateUrl: './news-card.html',\n  styleUrls: ['./news-card.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [DatePipe]\n})\nexport class NewsCard {\n  readonly date = input<Date>(undefined);\n}\n","<div class=\"aeb-news-card\">\n  <div class=\"aeb-news-card__date\">{{ date() | date: 'd MMMM' }}</div>\n  <div class=\"aeb-news-card__content\">\n    <ng-content />\n  </div>\n</div>\n","import { LOCALE_ID, NgModule } from '@angular/core';\n\nimport { NewsCard } from './news-card';\n\n@NgModule({\n  providers: [{ provide: LOCALE_ID, useValue: 'ru' }],\n  imports: [NewsCard],\n  exports: [NewsCard]\n})\nexport class NewsCardModule {}\n","import {\n  animate,\n  AnimationEvent,\n  state,\n  style,\n  transition,\n  trigger\n} from '@angular/animations';\nimport {\n  Component,\n  effect,\n  input,\n  output,\n  signal,\n  ViewEncapsulation\n} from '@angular/core';\n\nexport interface NotificationModel {\n  id: string | number;\n  header: string;\n  message: string;\n  buttonText?: string;\n  lifeTime?: number;\n  type?: 'success' | 'error' | 'warning' | 'info';\n  onButtonClick?: (id: NotificationModel['id']) => void;\n}\n\n@Component({\n  selector: 'aeb-notification',\n  templateUrl: './notification.html',\n  styleUrls: ['./notification.scss'],\n  encapsulation: ViewEncapsulation.None,\n  animations: [\n    trigger('notificationState', [\n      state(\n        'open',\n        style({\n          opacity: 1,\n          transform: 'translateY(0) scale(1)'\n        })\n      ),\n      state(\n        'closed',\n        style({\n          opacity: 0,\n          transform: 'translateY(-10px) scale(0.95)'\n        })\n      ),\n      transition('open => closed', [animate('2s ease-in')]),\n      transition('closed => open', [animate('0.3s ease-out')])\n    ])\n  ],\n  host: {\n    class: 'aeb-notification',\n    '[class.aeb-notification--success]': 'type() === \"success\"',\n    '[class.aeb-notification--error]': 'type() === \"error\"',\n    '[class.aeb-notification--warning]': 'type() === \"warning\"',\n    '[class.aeb-notification--info]': 'type() === \"info\"',\n    '[@notificationState]': 'state()',\n    '(@notificationState.done)': 'onAnimationDone($event)',\n    '(mouseover)': 'onOver()',\n    '(mouseleave)': 'onLeave()',\n    '(click)': 'onClick()'\n  }\n})\nexport class Notification {\n  readonly id = input<NotificationModel['id']>('');\n  readonly header = input<NotificationModel['header']>('');\n  readonly message = input<NotificationModel['message']>('');\n  readonly type = input<NotificationModel['type']>('info');\n  readonly buttonText = input<NotificationModel['buttonText']>('');\n\n  /**\n   * Время \"жизни\" уведомления в секундах.\n   * Если передано falsy значение (0/null/undefined/etc), то уведомление не будет исчезать.\n   */\n  readonly lifeTime = input<NotificationModel['lifeTime']>(3);\n\n  readonly buttonClick = output<NotificationModel['id']>();\n  readonly clickNotification = output<NotificationModel['id']>();\n  readonly closeNotification = output<NotificationModel['id']>();\n\n  readonly state = signal<'closed' | 'open'>('open');\n  readonly isHovered = signal(false);\n\n  timeout: ReturnType<typeof setTimeout> = null;\n\n  constructor() {\n    effect(() => {\n      const lifeTime = this.lifeTime();\n      if (lifeTime !== undefined) {\n        this.waitUntilClose();\n      }\n    });\n\n    effect(() => {\n      const lifeTime = this.lifeTime();\n      if (lifeTime !== undefined) {\n        this.state.set('open');\n        clearTimeout(this.timeout);\n\n        if (!this.isHovered()) {\n          this.waitUntilClose();\n        }\n      }\n    });\n  }\n\n  onAnimationDone(event: AnimationEvent) {\n    this.captureDoneEvent(event);\n  }\n\n  handleButtonClick(event: Event): void {\n    event.stopPropagation();\n    this.buttonClick.emit(this.id());\n  }\n\n  /**\n   * Вызывается при завершении перехода от одного state к другому\n   */\n  captureDoneEvent(event: AnimationEvent): void {\n    if (event.toState === 'closed' && !this.isHovered()) {\n      this.closeNotification.emit(this.id());\n    }\n  }\n\n  handleClose(event: Event, id: NotificationModel['id']): void {\n    event.stopPropagation();\n    this.closeNotification.emit(id);\n  }\n\n  protected onOver(): void {\n    this.isHovered.set(true);\n    this.state.set('open');\n    clearTimeout(this.timeout);\n  }\n\n  protected onLeave(): void {\n    this.isHovered.set(false);\n    this.waitUntilClose();\n  }\n\n  protected onClick(): void {\n    this.clickNotification.emit(this.id());\n  }\n\n  private waitUntilClose(): void {\n    const lifeTime = this.lifeTime();\n    if (lifeTime === 0 || lifeTime === undefined) {\n      return;\n    }\n    this.timeout = setTimeout(() => {\n      this.state.set('closed');\n    }, lifeTime * 1000);\n  }\n}\n","<div class=\"aeb-notification__icon\">\n  @switch (type()) { @case ('info') {\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"#0198C8\" />\n    <path\n      d=\"M12 12V16\"\n      stroke=\"white\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n    />\n    <path\n      d=\"M12 8V8.0001\"\n      stroke=\"white\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n    />\n  </svg>\n  } @case ('success') {\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"#099A57\" />\n    <path\n      d=\"M8 12.5L10.4615 14.8076C10.5769 14.9158 10.7565 14.9158 10.8718 14.8076L16 10\"\n      stroke=\"white\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n    />\n  </svg>\n  } @case ('error') {\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"#DA2A4A\" />\n    <path\n      d=\"M15 9.03048L9.03035 15.0001M9 9L14.9697 14.9697\"\n      stroke=\"white\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n    />\n  </svg>\n  } @case ('warning') {\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M10.29 3.85996L1.82002 18C1.64539 18.3024 1.55299 18.6453 1.55201 18.9945C1.55103 19.3437 1.64151 19.6871 1.81445 19.9905C1.98738 20.2939 2.23675 20.5467 2.53773 20.7238C2.83871 20.9009 3.18082 20.9961 3.53002 21H20.47C20.8192 20.9961 21.1613 20.9009 21.4623 20.7238C21.7633 20.5467 22.0127 20.2939 22.1856 19.9905C22.3585 19.6871 22.449 19.3437 22.448 18.9945C22.4471 18.6453 22.3547 18.3024 22.18 18L13.71 3.85996C13.5318 3.56607 13.2807 3.32308 12.9812 3.15444C12.6817 2.98581 12.3438 2.89722 12 2.89722C11.6563 2.89722 11.3184 2.98581 11.0188 3.15444C10.7193 3.32308 10.4683 3.56607 10.29 3.85996Z\"\n      fill=\"#CFAC43\"\n    />\n    <path\n      d=\"M12 9V13\"\n      stroke=\"white\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n    />\n    <path\n      d=\"M12 17H12.01\"\n      stroke=\"white\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n    />\n  </svg>\n  } @default {\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  ></svg>\n  } }\n</div>\n<div class=\"aeb-notification__info\">\n  <div class=\"aeb-notification__header\">{{ header() }}</div>\n  <div class=\"aeb-notification__msg\" [innerHTML]=\"message()\"></div>\n  @if (buttonText()) {\n  <button\n    class=\"aeb-notification__button\"\n    (click)=\"handleButtonClick($event)\"\n    [class.aeb-notification__button--info]=\"type() === 'info'\"\n    [class.aeb-notification__button--error]=\"type() === 'error'\"\n    [class.aeb-notification__button--success]=\"type() === 'success'\"\n    [class.aeb-notification__button--warning]=\"type() === 'warning'\"\n  >\n    {{ buttonText() }}\n  </button>\n  }\n</div>\n<div\n  class=\"aeb-notification__close\"\n  [class]=\"'aeb-notification__close--' + type()\"\n  (click)=\"handleClose($event, id())\"\n>\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M8 8L16 16\"\n      stroke=\"#07222D\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n    />\n    <path\n      d=\"M16 8L8 16\"\n      stroke=\"#07222D\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n    />\n  </svg>\n</div>\n","import {\n  animate,\n  query,\n  stagger,\n  style,\n  transition,\n  trigger\n} from '@angular/animations';\nimport { Component, input, output, ViewEncapsulation } from '@angular/core';\n\nimport { Notification, NotificationModel } from './notification/notification';\n\nexport type Orientation = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\n\n@Component({\n  selector: 'aeb-notifications',\n  templateUrl: './notifications.html',\n  styleUrls: ['./notifications.scss'],\n  encapsulation: ViewEncapsulation.None,\n  animations: [\n    trigger('listAnimation', [\n      transition('* => *', [\n        query(\n          ':enter',\n          [\n            style({\n              opacity: 0,\n              transform: 'translateY(-10px)'\n            }),\n            stagger(50, [\n              animate(\n                '200ms ease-out',\n                style({\n                  opacity: 1,\n                  transform: 'translateY(0)'\n                })\n              )\n            ])\n          ],\n          { optional: true }\n        )\n      ])\n    ])\n  ],\n  imports: [Notification],\n  host: {\n    class: 'aeb-notifications',\n    '[class.aeb-notifications--reversed]':\n      'notificationsPosition() === \"topLeft\" || notificationsPosition() === \"topRight\"',\n    '[class.aeb-notifications-left]':\n      'notificationsPosition() === \"topLeft\" || notificationsPosition() === \"bottomLeft\"',\n    '[class.aeb-notifications-right]':\n      'notificationsPosition() === \"topRight\" || notificationsPosition() === \"bottomRight\"',\n    '[class.aeb-notifications-top]':\n      'notificationsPosition() === \"topLeft\" || notificationsPosition() === \"topRight\"',\n    '[class.aeb-notifications-bottom]':\n      'notificationsPosition() === \"bottomLeft\" || notificationsPosition() === \"bottomRight\"',\n    '[@listAnimation]': 'notifications().length'\n  }\n})\nexport class Notifications {\n  readonly notifications = input<NotificationModel[]>([]);\n  readonly notificationsPosition = input<Orientation>('topRight');\n\n  readonly notificationClick = output<NotificationModel['id']>();\n  readonly notificationClose = output<NotificationModel['id']>();\n\n  handleItemClick(id: NotificationModel['id']): void {\n    this.notificationClick.emit(id);\n  }\n\n  handleItemClose(id: NotificationModel['id']): void {\n    this.notificationClose.emit(id);\n  }\n}\n","@for (item of notifications(); track item.id) {\n<aeb-notification\n  [id]=\"item.id\"\n  [header]=\"item.header\"\n  [message]=\"item.message\"\n  [lifeTime]=\"item.lifeTime\"\n  [type]=\"item.type\"\n  [buttonText]=\"item.buttonText\"\n  (buttonClick)=\"item.onButtonClick($event)\"\n  (clickNotification)=\"handleItemClick($event)\"\n  (closeNotification)=\"handleItemClose($event)\"\n/>\n}\n","import { NgModule } from '@angular/core';\n\nimport { Notification } from './notification/notification';\nimport { Notifications } from './notifications';\n\n@NgModule({\n  imports: [Notifications, Notification],\n  exports: [Notifications, Notification]\n})\nexport class NotificationsModule {}\n","import {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  forwardRef,\n  inject,\n  input,\n  output,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ClickOutsideDirective } from '../click-outside/click-outside.directive';\nimport {\n  DropdownMenu,\n  DropdownMenuOption\n} from '../dropdown-menu/dropdown-menu';\n\n@Component({\n  selector: 'aeb-select',\n  templateUrl: './select.html',\n  styleUrls: ['./select.scss'],\n  encapsulation: ViewEncapsulation.None,\n  hostDirectives: [\n    {\n      directive: ClickOutsideDirective,\n      outputs: ['clickOutside']\n    }\n  ],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => Select),\n      multi: true\n    }\n  ],\n  imports: [DropdownMenu],\n  host: {\n    class: 'aeb-select',\n    '[class.disabled]': 'disabled',\n    '(clickOutside)': 'clickOutside()',\n    '(keydown)': 'onKeyDown($event)'\n  }\n})\nexport class Select implements ControlValueAccessor, AfterViewInit {\n  // Internal mutable state for ControlValueAccessor\n  private _disabled = false;\n\n  private readonly _cdr = inject(ChangeDetectorRef);\n\n  private _value: DropdownMenuOption['value'];\n\n  readonly initialDisabled = input(false);\n  readonly dropdownMenuRef = viewChild(DropdownMenu);\n\n  get disabled(): boolean {\n    return this._disabled;\n  }\n\n  readonly label = input<string>(undefined);\n  readonly options = input<DropdownMenuOption[]>([]);\n  readonly hasError = input(false);\n  readonly direction = input<'top' | 'bottom'>('bottom');\n\n  readonly optionSelect = output<DropdownMenuOption['value']>();\n\n  isOpen = false;\n  maxShownItems = 5;\n\n  onChange: (_: DropdownMenuOption['value']) => void;\n\n  constructor() {\n    this._disabled = this.initialDisabled();\n  }\n\n  onTouch: (_: string) => void = () => {};\n\n  get selectedOption(): { value: DropdownMenuOption['value']; label: string } {\n    const options = this.options();\n    if (options) {\n      return options.find((option) => option.value === this._value);\n    }\n    return null;\n  }\n\n  get value(): DropdownMenuOption['value'] {\n    return this._value;\n  }\n\n  set value(value: DropdownMenuOption['value']) {\n    if (value === this._value) {\n      return;\n    }\n\n    this._value = value;\n\n    if (typeof this.onChange === 'function') {\n      this.onChange(this._value);\n    }\n\n    this.optionSelect.emit(value);\n  }\n\n  clickOutside() {\n    this.handleClickOutside();\n  }\n\n  onKeyDown(event: KeyboardEvent) {\n    if (this.disabled) {\n      return;\n    }\n\n    switch (event.key) {\n      case 'ArrowDown':\n      case 'ArrowUp':\n      case ' ':\n      case 'Enter':\n        event.preventDefault();\n        if (!this.isOpen) {\n          this.openDropdown();\n        } else {\n          // Let the dropdown menu handle navigation\n          this.handleDropdownKeyDown(event);\n        }\n        break;\n      case 'Escape':\n        if (this.isOpen) {\n          event.preventDefault();\n          this.closeDropdown();\n        }\n        break;\n      case 'Tab':\n        if (this.isOpen) {\n          event.preventDefault();\n          this.closeDropdown();\n          // Focus will move to next focusable element naturally\n        }\n        // Allow default tab behavior when dropdown is closed\n        break;\n    }\n  }\n\n  /**\n   * Вызывается при задании исходного (new FormControl('I am default value'))\n   * или нового значения сверху control.setValue('I am setted value').\n   * Не нужно вызывать этот метод, чтобы задать значение во вьюшке. Вместо него надо использовать `setValue`.\n   */\n  writeValue(value: DropdownMenuOption['value']): void {\n    this._value = value;\n    this.optionSelect.emit(value);\n  }\n\n  /**\n   * Метод определяющий обработчик, который должен быть вызван при изменении значения\n   * (fn является callback'ом, который уведомит форму о том, что в этом контроле изменилось значение).\n   */\n  registerOnChange(fn: () => void): void {\n    this.onChange = fn;\n  }\n\n  /**\n   * Определяет callback, который вызывается на blur событие (control помечается флагом touched)\n   */\n  registerOnTouched(fn: () => void): void {\n    this.onTouch = fn;\n  }\n\n  setValue(option: DropdownMenuOption['value']): void {\n    this.value = option;\n    this.closeDropdown();\n  }\n\n  openDropdown(): void {\n    if (this.disabled) {\n      return;\n    }\n    if (this.isOpen === true) {\n      this.closeDropdown();\n    } else {\n      this.isOpen = true;\n    }\n  }\n\n  closeDropdown(): void {\n    this.isOpen = false;\n  }\n\n  handleClickOutside(): void {\n    if (this.isOpen) {\n      this.closeDropdown();\n    }\n  }\n\n  ngAfterViewInit(): void {\n    this._cdr.detectChanges();\n  }\n\n  private handleDropdownKeyDown(event: KeyboardEvent) {\n    // Forward keyboard events to the dropdown menu\n    const dropdownMenuRef = this.dropdownMenuRef();\n    if (dropdownMenuRef) {\n      dropdownMenuRef.onKeyDown(event);\n    }\n  }\n}\n","<div\n  class=\"aeb-select__selected-item\"\n  [class.open]=\"isOpen\"\n  [class.error]=\"hasError()\"\n  [attr.tabindex]=\"disabled ? -1 : 0\"\n  [attr.role]=\"'combobox'\"\n  [attr.aria-expanded]=\"isOpen\"\n  [attr.aria-haspopup]=\"'listbox'\"\n  [attr.aria-label]=\"label()\"\n  (click)=\"!disabled && openDropdown()\"\n>\n  <label\n    class=\"aeb-select__label\"\n    [class.float]=\"selectedOption\"\n    [class.placeholder]=\"!selectedOption\"\n  >\n    {{ label() }}\n  </label>\n\n  @if (selectedOption) {\n  <div class=\"aeb-select__selected-text\">{{ selectedOption.label }}</div>\n  }\n</div>\n\n<div class=\"aeb-select__icon\" [class.open]=\"isOpen\" [class.disabled]=\"disabled\">\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M8 10L11.9293 13.9293C11.9683 13.9683 12.0317 13.9683 12.0707 13.9293L16 10\"\n      stroke=\"#1F2632\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n    />\n  </svg>\n</div>\n\n<aeb-dropdown-menu\n  [options]=\"options()\"\n  [direction]=\"direction()\"\n  [isOpen]=\"isOpen\"\n  [selectedOption]=\"selectedOption\"\n  (optionSelect)=\"setValue($event)\"\n></aeb-dropdown-menu>\n","import { NgModule } from '@angular/core';\n\nimport { ClickOutsideDirective } from '../click-outside/click-outside.directive';\nimport { DropdownMenuModule } from '../dropdown-menu/dropdown-menu.module';\nimport { FormFieldModule } from '../form-field/form-field.module';\nimport { Select } from './select';\n\n@NgModule({\n  imports: [ClickOutsideDirective, FormFieldModule, DropdownMenuModule, Select],\n  exports: [Select]\n})\nexport class SelectModule {}\n","import { NgClass } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  effect,\n  input,\n  output,\n  signal,\n  ViewEncapsulation\n} from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { ClickOutsideDirective } from '../click-outside/click-outside.directive';\nimport { Select } from '../select/select';\n\nconst defaultAmountOptions = [\n  { value: 10, label: '10 на странице' },\n  { value: 20, label: '20 на странице' },\n  { value: 30, label: '30 на странице' }\n];\n\n@Component({\n  selector: 'aeb-pagination',\n  templateUrl: './pagination.html',\n  styleUrls: ['./pagination.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgClass,\n    ClickOutsideDirective,\n    Select,\n    FormsModule,\n    ReactiveFormsModule\n  ],\n  host: {\n    class: 'aeb-pagination'\n  }\n})\nexport class Pagination {\n  private readonly _baseSize = 7;\n\n  readonly totalPages = input(1500);\n  readonly currentPage = input(1);\n  readonly usePageSizeSelector = input(false);\n  readonly pageSize = input(10);\n\n  readonly pageSelect = output<number>();\n  readonly amountChange = output<number>();\n\n  readonly activePage = signal(this.currentPage());\n  readonly pageSizeControl = new FormControl<number>(10);\n\n  readonly head = computed<number>(() => {\n    const total = this.totalPages();\n    const page = this.activePage();\n    if (total <= this._baseSize) {\n      return null;\n    }\n    if (page <= 4) {\n      return null;\n    }\n    return 1;\n  });\n\n  readonly middle = computed<number[]>(() => {\n    const total = this.totalPages();\n    const page = this.activePage();\n    const result: number[] = [];\n    if (total <= this._baseSize) {\n      for (let i = 1; i <= total; i++) {\n        result.push(i);\n      }\n      return result;\n    }\n    if (page <= 4) {\n      for (let i = 1; i <= 5; i++) {\n        result.push(i);\n      }\n      return result;\n    }\n    if (page >= total - 3) {\n      for (let i = total - 4; i <= total; i++) {\n        result.push(i);\n      }\n      return result;\n    }\n    for (let i = page - 1; i <= page + 1; i++) {\n      result.push(i);\n    }\n    return result;\n  });\n\n  readonly tail = computed<number>(() => {\n    const total = this.totalPages();\n    const page = this.activePage();\n    if (total <= this._baseSize) {\n      return null;\n    }\n    if (page <= 4) {\n      return total;\n    }\n    if (page >= total - 3) {\n      return null;\n    }\n    return total;\n  });\n\n  readonly amountOptions = defaultAmountOptions;\n\n  constructor() {\n    this.pageSizeControl.setValue(this.pageSize());\n\n    effect(() => {\n      this.activePage.set(this.currentPage());\n    });\n  }\n\n  headPageHandler(page: number): void {\n    this.activePage.set(page);\n    this.pageSelect.emit(this.activePage());\n  }\n\n  handleChangePageSize(pageSize: unknown): void {\n    this.amountChange.emit(pageSize as number);\n  }\n\n  middlePageHandler(page: number): void {\n    this.activePage.set(page);\n    this.pageSelect.emit(this.activePage());\n  }\n\n  nextPageHandler(): void {\n    const current = this.activePage();\n    const total = this.totalPages();\n    if (current === total) {\n      return;\n    }\n    const nextPage = current + 1;\n    this.activePage.set(nextPage);\n    this.pageSelect.emit(this.activePage());\n  }\n\n  prevPageHandler(): void {\n    const current = this.activePage();\n    if (current === 1) {\n      return;\n    }\n    const prevPage = current - 1;\n    this.activePage.set(prevPage);\n    this.pageSelect.emit(this.activePage());\n  }\n\n  tailPageHandler(page: number): void {\n    this.activePage.set(page);\n    this.pageSelect.emit(this.activePage());\n  }\n}\n","<button\n  (click)=\"prevPageHandler()\"\n  class=\"aeb-pagination__button\"\n  [ngClass]=\"{\n    'aeb-pagination__button--disabled': activePage() === 1\n  }\"\n>\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M14 16L10.0707 12.0707C10.0317 12.0317 10.0317 11.9683 10.0707 11.9293L14 8\"\n      stroke=\"#2F88F0\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n    />\n  </svg>\n</button>\n\n@if (head()) {\n<button (click)=\"headPageHandler(head())\" class=\"aeb-pagination__button\">\n  {{ head() }}\n</button>\n} @if (head()) {\n<div class=\"aeb-pagination__breaker\">...</div>\n} @for (page of middle(); track page) {\n<button\n  (click)=\"middlePageHandler(page)\"\n  class=\"aeb-pagination__button\"\n  [ngClass]=\"{\n      'aeb-pagination__button--active': activePage() === page\n    }\"\n>\n  {{ page }}\n</button>\n} @if (tail()) {\n<div class=\"aeb-pagination__breaker\">...</div>\n} @if (tail()) {\n<button\n  (click)=\"tailPageHandler(tail())\"\n  class=\"aeb-pagination__button\"\n  [ngClass]=\"{\n      'aeb-pagination__button--active': activePage() === tail()\n    }\"\n>\n  {{ tail() }}\n</button>\n}\n\n<button\n  (click)=\"nextPageHandler()\"\n  class=\"aeb-pagination__button aeb-pagination__button--reversed\"\n  [ngClass]=\"{\n    'aeb-pagination__button--disabled': activePage() === totalPages()\n  }\"\n>\n  <svg\n    width=\"24\"\n    height=\"24\"\n    viewBox=\"0 0 24 24\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M14 16L10.0707 12.0707C10.0317 12.0317 10.0317 11.9683 10.0707 11.9293L14 8\"\n      stroke=\"#2F88F0\"\n      stroke-width=\"2\"\n      stroke-linecap=\"round\"\n    />\n  </svg>\n</button>\n\n@if (usePageSizeSelector()) {\n<div class=\"aeb-pagination__select-container\">\n  <aeb-select\n    class=\"aeb-pagination__select\"\n    [direction]=\"'top'\"\n    (optionSelect)=\"handleChangePageSize($event)\"\n    [formControl]=\"pageSizeControl\"\n    [options]=\"amountOptions\"\n    [label]=\"'Показывать по'\"\n  >\n  </aeb-select>\n</div>\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { ButtonModule } from '../button/button.module';\nimport { SelectModule } from '../select/select.module';\nimport { Pagination } from './pagination';\n\n@NgModule({\n  imports: [SelectModule, ReactiveFormsModule, ButtonModule, Pagination],\n  exports: [Pagination]\n})\nexport class PaginationModule {}\n","import {\n  Component,\n  ElementRef,\n  input,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n  selector: 'aeb-pop-up',\n  templateUrl: './pop-up.html',\n  styleUrls: ['./pop-up.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class PopUp {\n  readonly popUp = viewChild<ElementRef<HTMLDivElement>>('popUp');\n\n  readonly header = input<string>(undefined);\n\n  hidePopUp(): void {\n    this.popUp().nativeElement.style.opacity = '0';\n    this.popUp().nativeElement.style.pointerEvents = 'none';\n  }\n}\n","<div class=\"aeb-pop-up\" #popUp>\n  <div class=\"aeb-pop-up__header\">\n    <div class=\"aeb-pop-up__heading\">{{ header() }}</div>\n    <div class=\"aeb-pop-up__close-icon\" (click)=\"hidePopUp()\">\n      <svg\n        width=\"24\"\n        height=\"24\"\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path\n          d=\"M5.63086 5.63074L18.3693 18.3692\"\n          stroke=\"#2F88F0\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n        />\n        <path\n          d=\"M18.3691 5.63074L5.63065 18.3692\"\n          stroke=\"#2F88F0\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n        />\n      </svg>\n    </div>\n  </div>\n  <div class=\"aeb-pop-up__container\">\n    <ng-content />\n  </div>\n</div>\n","import {\n  contentChild,\n  Directive,\n  ElementRef,\n  inject,\n  input\n} from '@angular/core';\n\nimport {\n  Boundaries,\n  Vertices\n} from '../../tooltip/directives/tooltip.directive';\nimport { PopUp } from '../pop-up';\n\ninterface PopUpModel {\n  offsetHeight?: number;\n  offsetWidth?: number;\n}\n\n@Directive({\n  selector: '[aebPopUp]',\n  host: {\n    '(click)': 'onClick($event)'\n  }\n})\nexport class PopUpDirective {\n  private _host = inject(ElementRef);\n\n  readonly popUpContent = contentChild(PopUp);\n\n  readonly header = input<string>(undefined);\n  readonly position = input<'top' | 'left' | 'right' | 'bottom'>('bottom');\n\n  readonly popUpConfig: Vertices = {\n    right: (bounds: Boundaries, popUp: PopUpModel) => {\n      const targetHalf: number = bounds.top + bounds.height / 2;\n      const tooltipHalf: number = popUp.offsetHeight / 2;\n\n      return [bounds.right + 15, targetHalf - tooltipHalf];\n    },\n    bottom: (bounds: Boundaries, popUp: PopUpModel) => {\n      const targetHalf: number = bounds.right - bounds.width / 2;\n      const tooltipHalf: number = popUp.offsetWidth / 2;\n\n      return [targetHalf - tooltipHalf, bounds.bottom + 15];\n    },\n    left: (bounds: Boundaries, popUp: PopUpModel) => {\n      const targetHalf: number = bounds.top + bounds.height / 2;\n      const tooltipHalf: number = popUp.offsetHeight / 2;\n\n      return [bounds.left - popUp.offsetWidth - 15, targetHalf - tooltipHalf];\n    },\n    top: (bounds: Boundaries, popUp: PopUpModel) => {\n      const targetHalf: number = bounds.right - bounds.width / 2;\n      const tooltipHalf: number = popUp.offsetWidth / 2;\n\n      return [targetHalf - tooltipHalf, bounds.top - popUp.offsetHeight - 15];\n    }\n  };\n\n  onClick(event: MouseEvent): void {\n    if (event.target !== this._host.nativeElement) {\n      return;\n    }\n\n    const popUp = this.popUpContent().popUp().nativeElement;\n    popUp.style.opacity = '1';\n    popUp.style.pointerEvents = 'all';\n\n    const bounds: Boundaries = (\n      this._host.nativeElement as HTMLElement\n    ).getBoundingClientRect();\n    const [left, top] = this.popUpConfig[this.position()](bounds, popUp);\n\n    popUp.style.left = `${left}px`;\n    popUp.style.top = `${top}px`;\n    popUp.className = `aeb-pop-up aeb-pop-up--${this.position()}`;\n  }\n}\n","import { NgModule } from '@angular/core';\n\nimport { PopUpDirective } from './directives/pop-up.directive';\nimport { PopUp } from './pop-up';\n\n@NgModule({\n  imports: [PopUp, PopUpDirective],\n  exports: [PopUp, PopUpDirective]\n})\nexport class PopUpModule {}\n","import { NgClass } from '@angular/common';\nimport {\n  Component,\n  forwardRef,\n  input,\n  output,\n  ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport type radioOption<T = number> = {\n  value: T;\n  label: string;\n};\n\n@Component({\n  selector: 'aeb-radio-buttons',\n  templateUrl: './radio-buttons.html',\n  styleUrls: ['./radio-buttons.scss'],\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RadioButtons),\n      multi: true\n    }\n  ],\n  imports: [NgClass]\n})\nexport class RadioButtons implements ControlValueAccessor {\n  private _value: number = undefined;\n\n  /**\n   * component header\n   */\n  readonly header = input<string>(undefined);\n\n  readonly btnChange = output<number>();\n\n  /**\n   * list of items to choose from\n   */\n  readonly options = input<radioOption<any>[]>(undefined);\n\n  /**\n   * error status\n   */\n  readonly hasError = input<boolean>(undefined);\n\n  readonly horizontal = input(false);\n\n  touched: boolean;\n  disabled = false;\n\n  get value(): number {\n    return this._value;\n  }\n\n  set value(v: number) {\n    this._value = v;\n    this.onChange(this._value);\n    this.onTouch();\n  }\n\n  /**\n   * should radio items be placed horizontally\n   */\n\n  registerOnChange(fn: (value: any) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouch = fn;\n  }\n\n  writeValue(value: radioOption['value']): void {\n    if (this.disabled) {\n      return;\n    }\n\n    this.value = value;\n\n    if (!this.touched) {\n      this.touched = true;\n    }\n\n    this.btnChange.emit(value);\n  }\n\n  setDisabledState(disabled: boolean): void {\n    this.disabled = disabled;\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars, unused-imports/no-unused-vars\n  private onChange(value: any): void {}\n  private onTouch(): void {}\n}\n","<div\n  class=\"aeb-radio-buttons\"\n  [ngClass]=\"{\n    'aeb-radio-buttons--disabled': disabled,\n    'aeb-radio-buttons--error': hasError()\n  }\"\n>\n  @if (header()) {\n  <div class=\"aeb-radio-buttons__header\">{{ header() }}</div>\n  }\n  <div\n    class=\"aeb-radio-buttons__items\"\n    [ngClass]=\"{ horizontal: horizontal() }\"\n  >\n    @for (option of options(); track option) {\n    <div class=\"aeb-radio-buttons__item\" (click)=\"writeValue(option.value)\">\n      <div class=\"aeb-radio-buttons__circle-container\">\n        <div\n          class=\"aeb-radio-buttons__circle\"\n          [ngClass]=\"{\n              'aeb-radio-buttons__circle--active': value === option.value\n            }\"\n        ></div>\n      </div>\n      <span class=\"aeb-radio-buttons__label\"> {{ option.label }} </span>\n    </div>\n    }\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { RadioButtons } from './radio-buttons';\n\n@NgModule({\n  imports: [RadioButtons],\n  exports: [RadioButtons]\n})\nexport class RadioButtonsModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'highlight' })\nexport class HighlightPipe implements PipeTransform {\n  transform(value: string, ...args: string[]): string {\n    return `${value.replace(RegExp(args[0]), `<b>${args[0]}</b>`)}`;\n  }\n}\n","import { NgClass } from '@angular/common';\nimport { Component, input, output, ViewEncapsulation } from '@angular/core';\n\nimport { ClickOutsideDirective } from '../click-outside/click-outside.directive';\nimport { HighlightPipe } from './pipes/highlight.pipe';\n\nexport type option = {\n  value: string;\n  description: string;\n  image: string;\n};\n\n@Component({\n  selector: 'aeb-search',\n  templateUrl: './search.html',\n  styleUrls: ['./search.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgClass, ClickOutsideDirective, HighlightPipe]\n})\nexport class Search {\n  // Internal mutable state for options\n  private _options: option[] = [];\n\n  readonly examples = input<string[]>([]);\n  readonly initialOptions = input<option[]>([]);\n  readonly withoutBg = input(true);\n  readonly placeholder = input('');\n\n  readonly inputChange = output<string>();\n\n  value = '';\n  onShowOptions = false;\n\n  get options(): option[] {\n    return this._options;\n  }\n\n  constructor() {\n    // Initialize from signal input\n    this._options = this.initialOptions();\n  }\n\n  inputHandler(term: Event): void {\n    this.onShowOptions = true;\n    const target = term.target as HTMLInputElement;\n    this.value = target.value;\n\n    this.inputChange.emit(this.value);\n  }\n\n  selectHandler(term: string): void {\n    this.value = term;\n    this._options = [];\n\n    this.inputChange.emit(this.value);\n  }\n\n  blurHandler(): void {\n    this.onShowOptions = false;\n  }\n\n  focusHandler(): void {\n    if (this.value) {\n      this.onShowOptions = true;\n    }\n  }\n\n  clearInput(): void {\n    this.value = '';\n\n    this.inputChange.emit(this.value);\n  }\n\n  inputExample(term: string): void {\n    this.value = term;\n\n    this.inputChange.emit(this.value);\n  }\n}\n","<div\n  class=\"aeb-search\"\n  [ngClass]=\"{\n    'aeb-search--plate': !withoutBg()\n  }\"\n>\n  <div class=\"aeb-search__input-wrapper\">\n    <div class=\"aeb-search__search-icon\">\n      <svg\n        width=\"24\"\n        height=\"24\"\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <circle cx=\"10.5\" cy=\"10.5\" r=\"6.5\" stroke=\"#2F88F0\" stroke-width=\"2\" />\n        <path\n          d=\"M15 15.5L19.5 20\"\n          stroke=\"#2F88F0\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n        />\n      </svg>\n    </div>\n    <input\n      class=\"aeb-search__input\"\n      clickOutside\n      [placeholder]=\"placeholder()\"\n      (input)=\"inputHandler($event)\"\n      (clickOutside)=\"blurHandler()\"\n      [value]=\"value\"\n      (focus)=\"focusHandler()\"\n      [ngClass]=\"{\n        'aeb-search__input--expanded': onShowOptions && options.length\n      }\"\n    />\n    @if (onShowOptions && options.length) {\n    <div class=\"aeb-search__options\">\n      @for (option of options; track option) {\n      <div\n        class=\"aeb-search__option-wrapper\"\n        (click)=\"selectHandler(option.value)\"\n      >\n        <div class=\"aeb-search__option\">\n          <div class=\"aeb-search__option-img\">\n            @if (option.image) {\n            <img [src]=\"option.image\" [alt]=\"option.description ?? 'option'\" />\n            } @else { {{ option.value[0].toUpperCase() }} }\n          </div>\n          <div class=\"aeb-search__option-content\">\n            <div\n              class=\"aeb-search__option-value\"\n              [innerHTML]=\"option.value | highlight: value\"\n            ></div>\n            <div class=\"aeb-search__option-desc\">{{ option.description }}</div>\n          </div>\n        </div>\n      </div>\n      }\n    </div>\n    } @if (!withoutBg()) { @if (examples().length) {\n    <div class=\"aeb-search__examples\">\n      Например: @for (example of examples(); track example; let i = $index) {\n      <span class=\"aeb-search__example\" (click)=\"inputExample(example)\">\n        {{ example }} @if (i !== examples().length - 1) {\n        <span>,&nbsp;</span>\n        }\n      </span>\n      }\n    </div>\n    } } @if (value) {\n    <div class=\"aeb-search__close-icon\" (click)=\"clearInput()\">\n      <svg\n        width=\"24\"\n        height=\"24\"\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path\n          d=\"M5.63074 5.63086L18.3692 18.3693\"\n          stroke=\"#27303E\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n        />\n        <path\n          d=\"M18.3693 5.63086L5.63077 18.3693\"\n          stroke=\"#27303E\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n        />\n      </svg>\n    </div>\n    }\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ClickOutsideDirective } from '../click-outside/click-outside.directive';\nimport { HighlightPipe } from './pipes/highlight.pipe';\nimport { Search } from './search';\n\n@NgModule({\n  imports: [ClickOutsideDirective, Search, HighlightPipe],\n  exports: [Search]\n})\nexport class SearchModule {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-sidebar',\n  templateUrl: './sidebar.html',\n  styleUrls: ['./sidebar.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgTemplateOutlet],\n  host: {\n    class: 'aeb-sidebar',\n    '[class.aeb-sidebar--open]': 'isOpen()',\n    '[class.aeb-sidebar--right]': 'isRight()'\n  }\n})\nexport class Sidebar {\n  readonly isOpen = input(true);\n  readonly isRight = input(false);\n\n  readonly toggleClick = output<boolean>();\n\n  handleToggleSidebar(): void {\n    this.toggleClick.emit(this.isOpen());\n  }\n}\n","<div class=\"aeb-sidebar__items\">\n  <ng-container [ngTemplateOutlet]=\"contentTpl\" />\n</div>\n\n<button\n  type=\"button\"\n  class=\"aeb-sidebar__toggle-icon\"\n  (click)=\"handleToggleSidebar()\"\n>\n  <svg\n    width=\"28\"\n    height=\"28\"\n    viewBox=\"0 0 28 28\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M15.5359 6.30688L21.7602 13.3677C21.9199 13.5493 22 13.7653 22 14C22 14.2106 21.9341 14.4606 21.7515 14.6422L15.5318 21.6978C15.3721 21.8793 15.1534 22 14.8856 22C14.6176 22 14.399 21.8794 14.2394 21.6977C13.927 21.3423 13.9119 20.7814 14.244 20.4287L19.9121 14L14.2398 7.56653C13.9272 7.21101 13.9119 6.64939 14.2444 6.29664C14.4095 6.11179 14.6412 6 14.8921 6C15.1445 6 15.3769 6.1135 15.5359 6.30688Z\"\n      fill=\"#9CA8AF\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M7.53586 6.30688L13.7602 13.3677C13.9199 13.5493 14 13.7653 14 14C14 14.2106 13.9341 14.4606 13.7515 14.6422L7.53175 21.6978C7.37212 21.8793 7.15341 22 6.88558 22C6.61765 22 6.39904 21.8794 6.2394 21.6977C5.92703 21.3423 5.91188 20.7814 6.24398 20.4287L11.9121 14L6.23978 7.56653C5.92725 7.21101 5.91186 6.64939 6.24438 6.29664C6.4095 6.11179 6.64121 6 6.89212 6C7.14455 6 7.37688 6.1135 7.53586 6.30688Z\"\n      fill=\"#9CA8AF\"\n    />\n  </svg>\n</button>\n\n<ng-template #contentTpl>\n  <ng-content />\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { Sidebar } from './sidebar';\n\n@NgModule({\n  imports: [Sidebar],\n  exports: [Sidebar]\n})\nexport class SidebarModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[aebNumbersOnly]',\n  host: {\n    '(keydown)': 'onKeyDown($event)',\n    '(paste)': 'onPaste($event)',\n    '(drop)': 'onDrop($event)'\n  }\n})\nexport class NumbersOnlyDirective {\n  private navigationKeys = [\n    'Backspace',\n    'Delete',\n    'Tab',\n    'Escape',\n    'Enter',\n    'Home',\n    'End',\n    'ArrowLeft',\n    'ArrowRight',\n    'Clear',\n    'Copy',\n    'Paste'\n  ];\n\n  onKeyDown(e: KeyboardEvent): void {\n    if (\n      // Allow: Delete, Backspace, Tab, Escape, Enter, etc\n      this.navigationKeys.indexOf(e.key) > -1 ||\n      (e.key === 'a' && e.ctrlKey === true) || // Allow: Ctrl+A\n      (e.key === 'c' && e.ctrlKey === true) || // Allow: Ctrl+C\n      (e.key === 'v' && e.ctrlKey === true) || // Allow: Ctrl+V\n      (e.key === 'x' && e.ctrlKey === true) || // Allow: Ctrl+X\n      (e.key === 'a' && e.metaKey === true) || // Cmd+A (Mac)\n      (e.key === 'c' && e.metaKey === true) || // Cmd+C (Mac)\n      (e.key === 'v' && e.metaKey === true) || // Cmd+V (Mac)\n      (e.key === 'x' && e.metaKey === true) // Cmd+X (Mac)\n    ) {\n      return; // let it happen, don't do anything\n    }\n    // Ensure that it is a number and stop the keypress\n    if (e.key === ' ' || isNaN(Number(e.key))) {\n      e.preventDefault();\n    }\n  }\n\n  onPaste(event: ClipboardEvent): void {\n    event.preventDefault();\n    const pastedInput: string = event.clipboardData\n      .getData('text/plain')\n      .replace(/\\D/g, ''); // get a digit-only string\n    document.execCommand('insertText', false, pastedInput);\n  }\n\n  onDrop(event: DragEvent): void {\n    event.preventDefault();\n    const textData = event.dataTransfer.getData('text').replace(/\\D/g, '');\n    document.execCommand('insertText', false, textData);\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'replace' })\nexport class ReplacePipe implements PipeTransform {\n  transform(\n    value: string,\n    strToReplace: string,\n    replacementStr: string\n  ): string {\n    if (!value || !strToReplace || !replacementStr) {\n      return value;\n    }\n\n    return value.replace(new RegExp(strToReplace, 'g'), replacementStr);\n  }\n}\n","import { DecimalPipe, NgClass, NgStyle } from '@angular/common';\nimport {\n  AfterViewInit,\n  Component,\n  ElementRef,\n  forwardRef,\n  inject,\n  input,\n  OnInit,\n  Renderer2,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport {\n  ControlValueAccessor,\n  FormsModule,\n  NG_VALUE_ACCESSOR\n} from '@angular/forms';\n\nimport { FormFieldDirective } from '../form-field/directives/form-field.directive';\nimport { LabelDirective } from '../form-field/directives/label.directive';\nimport { FormField } from '../form-field/form-field';\nimport { NumbersOnlyDirective } from './directives/numbers-only.directive';\nimport { ReplacePipe } from './pipes/replace.pipe';\n\n@Component({\n  selector: 'aeb-slider',\n  templateUrl: './slider.html',\n  styleUrls: ['./slider.scss'],\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => Slider),\n      multi: true\n    }\n  ],\n  imports: [\n    FormField,\n    LabelDirective,\n    FormFieldDirective,\n    FormsModule,\n    NumbersOnlyDirective,\n    NgStyle,\n    NgClass,\n    DecimalPipe,\n    ReplacePipe\n  ],\n  host: {\n    class: 'aeb-slider',\n    '[class.aeb-slider--standard]': 'isStandardMode',\n    '[class.aeb-slider--input]': 'isInputMode'\n  }\n})\nexport class Slider implements OnInit, AfterViewInit, ControlValueAccessor {\n  private readonly _renderer = inject(Renderer2);\n\n  readonly label = input<string>(undefined);\n  readonly prefix = input<string>(undefined);\n  readonly intialValue = input<number>(undefined);\n  readonly min = input<number>(undefined);\n  readonly max = input<number>(undefined);\n  readonly step = input<number>(undefined);\n  readonly mode = input<'standard' | 'input'>('standard');\n  readonly initialValue = input<number>(undefined);\n  readonly initialDisplayValue = input<string | number>(undefined);\n\n  // Internal mutable state for ControlValueAccessor\n  value: number;\n  displayValue: string | number;\n\n  readonly slider = viewChild<ElementRef<HTMLBaseElement>>('slider');\n\n  /**\n   * separator for currency value\n   */\n  readonly valueSeparator = input(' ');\n\n  isPressed?: boolean = false;\n\n  onChange: (_: number) => void;\n  onTouch: (_: number) => void = () => {};\n\n  handleStartDragging = (event: MouseEvent): void => {\n    event.preventDefault();\n    if (event.clientX) {\n      this.handleChangeValue(event.clientX);\n    }\n  };\n  handleStartSwiping = (event: TouchEvent): void => {\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    if (event.touches && event.touches.length) {\n      const finger = event.touches[0];\n      this.handleChangeValue(finger.clientX);\n    }\n  };\n\n  handleEndDragging = (event: MouseEvent): void => {\n    event.preventDefault();\n    this.isPressed = false;\n    document.removeEventListener('mousemove', this.handleStartDragging);\n    document.removeEventListener('mouseup', this.handleEndDragging);\n  };\n  handleEndSwiping = (event: TouchEvent): void => {\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    this.isPressed = false;\n    document.removeEventListener('touchmove', this.handleStartSwiping);\n    document.removeEventListener('touchend', this.handleEndSwiping);\n    document.removeEventListener('touchcancel', this.handleEndSwiping);\n  };\n\n  get isStandardMode() {\n    return this.mode() === 'standard';\n  }\n\n  get isInputMode() {\n    return this.mode() === 'input';\n  }\n\n  get position(): number {\n    const position =\n      ((this.value - this.min()) / (this.max() - this.min())) * 100;\n\n    if (position < 0) {\n      return 0;\n    }\n\n    if (position > 100) {\n      return 100;\n    }\n    return position;\n  }\n\n  ngOnInit(): void {\n    // Initialize from signal inputs or use defaults\n    const intialValue = this.intialValue() ?? this.initialValue();\n    if (intialValue !== undefined || intialValue === 0) {\n      this.value = intialValue;\n    } else {\n      this.value = this.calculateAverage([this.min(), this.max()]);\n    }\n\n    const initialDisplay = this.initialDisplayValue();\n    if (initialDisplay !== undefined) {\n      this.displayValue = initialDisplay;\n    } else {\n      this.updateDisplayValue();\n    }\n  }\n\n  writeValue(value: number): void {\n    if (value || value === 0) {\n      this.value = value;\n      this.updateDisplayValue();\n    }\n  }\n\n  updateDisplayValue(): void {\n    this.displayValue = this.value.toLocaleString('ru') + ' ' + this.prefix();\n  }\n\n  setCurrentDisplayValue(): void {\n    this.displayValue = this.value;\n  }\n\n  registerOnChange(fn: () => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouch = fn;\n  }\n\n  ngAfterViewInit(): void {\n    const slider = this.slider();\n    this._renderer.listen(\n      slider.nativeElement,\n      'touchstart',\n      (event: TouchEvent) => {\n        if (event.cancelable) {\n          event.preventDefault();\n        }\n\n        this.handleStartSwiping(event);\n\n        document.addEventListener('touchmove', this.handleStartSwiping, {\n          passive: false\n        });\n        document.addEventListener('touchend', this.handleEndSwiping);\n        document.addEventListener('touchcancel', this.handleEndSwiping);\n      }\n    );\n\n    this._renderer.listen(\n      slider.nativeElement,\n      'mousedown',\n      (event: MouseEvent) => {\n        event.preventDefault();\n\n        this.handleStartDragging(event);\n\n        document.addEventListener('mousemove', this.handleStartDragging, false);\n        document.addEventListener('mouseup', this.handleEndDragging, false);\n      }\n    );\n  }\n\n  changeValueByInput(value: string): void {\n    const parsedValue = parseInt(value, 10);\n\n    if (parsedValue % this.step() !== 0) {\n      this.value = Math.round(parsedValue / this.step()) * this.step();\n    } else {\n      this.value = parsedValue;\n    }\n    if (parsedValue < this.min() || isNaN(parsedValue)) {\n      this.value = this.min();\n    }\n    if (parsedValue > this.max()) {\n      this.value = this.max();\n    }\n    if (typeof this.onChange === 'function') {\n      this.onChange(this.value);\n    }\n  }\n\n  onInputBlur(): void {\n    if (this.value < this.min()) {\n      this.value = this.min();\n    } else if (this.value > this.max()) {\n      this.value = this.max();\n    }\n\n    this.updateDisplayValue();\n\n    if (typeof this.onChange === 'function') {\n      this.onChange(this.value);\n    }\n  }\n\n  calculateAverage(values: number[]): number {\n    return values.reduce((sum, value) => sum + value, 0) / values.length;\n  }\n\n  handleChangeValue(positionX: number): void {\n    this.isPressed = true;\n    const offsetSlider =\n      this.slider().nativeElement.getBoundingClientRect().left;\n    const widthSlider =\n      this.slider().nativeElement.getBoundingClientRect().width;\n\n    let left = positionX - offsetSlider;\n    if (left < 0) {\n      left = 0;\n    }\n    if (left > widthSlider) {\n      left = widthSlider;\n    }\n    const deltaX = (left / widthSlider) * (this.max() - this.min());\n    this.value = Math.round(deltaX / this.step()) * this.step() + this.min();\n    this.updateDisplayValue();\n\n    if (typeof this.onChange === 'function') {\n      this.onChange(this.value);\n    }\n  }\n}\n","@if (mode() === 'standard') {\n<div class=\"aeb-slider__header\">\n  <div class=\"aeb-slider__label\">{{ label() }}</div>\n  <div class=\"aeb-slider__value\">\n    {{ value | number: '1.0-0' | replace: ',' : valueSeparator() }} {{ prefix()\n    }}\n  </div>\n</div>\n} @if (mode() === 'input') {\n<aeb-form-field>\n  <label aebLabel>{{ label() }}</label>\n  <input\n    type=\"string\"\n    aebInput\n    aebNumbersOnly\n    (focus)=\"setCurrentDisplayValue()\"\n    (blur)=\"onInputBlur()\"\n    [ngModel]=\"displayValue\"\n    (ngModelChange)=\"changeValueByInput($event)\"\n  />\n</aeb-form-field>\n}\n<div class=\"aeb-slider__line__container\" #slider>\n  <div class=\"aeb-slider__line__indicator\">\n    <div\n      class=\"aeb-slider__line\"\n      [ngStyle]=\"{\n        width: position + '%'\n      }\"\n      [ngClass]=\"{ 'aeb-slider__line--pressed': isPressed }\"\n    ></div>\n  </div>\n</div>\n<div class=\"aeb-slider__limits\">\n  <div>\n    {{ min() | number: '1.0-0' | replace: ',' : valueSeparator() }} {{ prefix()\n    }}\n  </div>\n  <div>\n    {{ max() | number: '1.0-0' | replace: ',' : valueSeparator() }} {{ prefix()\n    }}\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { FormFieldModule } from '../form-field/form-field.module';\nimport { NumbersOnlyDirective } from './directives/numbers-only.directive';\nimport { ReplacePipe } from './pipes/replace.pipe';\nimport { Slider } from './slider';\n\n@NgModule({\n  imports: [\n    FormFieldModule,\n    FormsModule,\n    Slider,\n    ReplacePipe,\n    NumbersOnlyDirective\n  ],\n  exports: [Slider]\n})\nexport class SliderModule {}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-spinner',\n  templateUrl: './spinner.html',\n  styleUrls: ['./spinner.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class Spinner {}\n","<div class=\"spinner-wrap\">\n  <div class=\"spinner-circle\">\n    <svg class=\"spinner-circle-border\" viewBox=\"0 0 50 50\">\n      <circle\n        class=\"path\"\n        cx=\"25\"\n        cy=\"25\"\n        r=\"20\"\n        fill=\"none\"\n        stroke-width=\"2\"\n      ></circle>\n    </svg>\n    <svg class=\"spinner-circle-border rotate\" viewBox=\"0 0 50 50\">\n      <circle\n        class=\"path\"\n        cx=\"25\"\n        cy=\"25\"\n        r=\"20\"\n        fill=\"none\"\n        stroke-width=\"2\"\n      ></circle>\n    </svg>\n    <svg\n      class=\"spinner-circle-diamond\"\n      width=\"26\"\n      height=\"26\"\n      viewBox=\"0 0 26 26\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M19.2101 16.1713L16.2663 19.0952L18.223 23.7905L23.9375 18.1148L19.2101 16.1713ZM15.1754 19.5423H11.0021L9.0454 24.2376H17.1148L15.1754 19.5423ZM19.6776 10.9428V15.0706L24.3877 17.0141V8.9994L19.6776 10.9428ZM9.8939 19.0952L6.9501 16.1713L2.24 18.1148L7.9544 23.7905L9.8939 19.0952ZM18.223 2.223L16.2663 6.9183L19.2101 9.8421L23.9375 7.8986L18.223 2.223ZM11.0021 6.4539H15.1754L17.1148 1.7758H9.0454L11.0021 6.4539ZM6.4999 15.0706V10.9428L1.7898 8.9994V17.0141L6.4999 15.0706ZM6.9501 9.8421L9.8939 6.9183L7.9544 2.223L2.24 7.8986L6.9501 9.8421ZM15.4005 18.5448L18.656 15.2942V10.7021L15.4005 7.4687H10.777L7.5042 10.7021V15.2942L10.777 18.5448H15.4005ZM7.9891 25.2352C5.2011 24.2154 1.7898 20.6463 0.768129 18.0804C-0.253521 15.5145 -0.258561 10.9428 0.768129 7.933C1.7948 4.9232 4.875 1.7758 7.9891 0.761051C11.1031 -0.253679 15.5877 -0.253689 18.1884 0.761051C20.7891 1.7758 24.896 5.9272 25.4094 7.933C25.9227 9.9389 26.431 15.5145 25.4094 18.0804C24.3877 20.6463 20.7213 24.2154 18.1884 25.2352C15.6556 26.2549 10.777 26.2549 7.9891 25.2352Z\"\n        fill=\"url(#paint0_linear)\"\n      />\n      <defs>\n        <linearGradient\n          id=\"paint0_linear\"\n          x1=\"13.9013\"\n          y1=\"26\"\n          x2=\"13.9013\"\n          y2=\"0\"\n          gradientUnits=\"userSpaceOnUse\"\n        >\n          <stop stop-color=\"#00B8FF\" />\n          <stop offset=\"1\" stop-color=\"#0079D6\" />\n        </linearGradient>\n      </defs>\n    </svg>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { Spinner } from './spinner';\n\n@NgModule({\n  imports: [Spinner],\n  exports: [Spinner]\n})\nexport class SpinnerModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'lineWidth',\n  standalone: true\n})\nexport class LineWidthPipe implements PipeTransform {\n  transform(\n    value: number,\n    stepsLength: number,\n    completedStepsLength: number\n  ): string {\n    return value >= 768\n      ? (100 / (stepsLength - 1)) * completedStepsLength + '%'\n      : (100 / stepsLength) * (completedStepsLength + 1) + '%';\n  }\n}\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-stepper-step',\n  templateUrl: './stepper-step.html',\n  encapsulation: ViewEncapsulation.None\n})\nexport class StepperStep {\n  // Internal mutable state (can be modified by parent Stepper component)\n  private _isActive = false;\n  private _isCompleted = false;\n\n  readonly initialIsActive = input<boolean>(false);\n  readonly initialIsCompleted = input<boolean>(false);\n  readonly title = input<string>(undefined);\n  readonly isValid = input<boolean>(false);\n  readonly showPrev = input<boolean>(false);\n  readonly showNext = input<boolean>(false);\n\n  readonly nextClicked = output<void>();\n  readonly prevClicked = output<void>();\n  readonly completeClicked = output<void>();\n\n  get isActive(): boolean {\n    return this._isActive;\n  }\n\n  set isActive(value: boolean) {\n    this._isActive = value;\n  }\n\n  get isCompleted(): boolean {\n    return this._isCompleted;\n  }\n\n  set isCompleted(value: boolean) {\n    this._isCompleted = value;\n  }\n\n  constructor() {\n    // Initialize from signal inputs\n    this._isActive = this.initialIsActive();\n    this._isCompleted = this.initialIsCompleted();\n  }\n}\n","@if (isActive) {\n<div>\n  <ng-content />\n</div>\n}\n","import { NgClass, NgStyle } from '@angular/common';\nimport {\n  AfterContentInit,\n  Component,\n  contentChildren,\n  input,\n  output,\n  ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { debounceTime, fromEvent } from 'rxjs';\n\nimport { LineWidthPipe } from './pipes/line-width.pipe';\nimport { StepperStep } from './stepper-step/stepper-step';\n\n@Component({\n  selector: 'aeb-stepper',\n  templateUrl: './stepper.html',\n  styleUrls: ['./stepper.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgStyle, NgClass, LineWidthPipe]\n})\nexport class Stepper implements AfterContentInit {\n  readonly stepChanged = output<StepperStep>();\n  readonly isDisabled = input<boolean>(false);\n\n  readonly stepperSteps = contentChildren(StepperStep);\n\n  screenWidth: number = window.innerWidth;\n\n  steps: StepperStep[] = [];\n\n  constructor() {\n    fromEvent(window, 'resize')\n      .pipe(debounceTime(50), takeUntilDestroyed())\n      .subscribe((event) => {\n        this.screenWidth = (event.target as Window).innerWidth;\n      });\n  }\n\n  get activeStepIndex(): number {\n    return this.steps.indexOf(this.activeStep);\n  }\n\n  get completedSteps(): StepperStep[] {\n    return this.steps.filter((step) => step.isCompleted);\n  }\n\n  get hasNextStep(): boolean {\n    return this.activeStepIndex < this.steps.length - 1;\n  }\n\n  get hasPrevStep(): boolean {\n    return this.activeStepIndex > 0;\n  }\n\n  get activeStep(): StepperStep {\n    return this.steps.find((step) => step.isActive);\n  }\n\n  set activeStep(step: StepperStep) {\n    if (step !== this.activeStep) {\n      this.activeStep.isActive = false;\n      step.isActive = true;\n      this.stepChanged.emit(step);\n    }\n  }\n\n  ngAfterContentInit(): void {\n    this.steps = [...this.stepperSteps()];\n  }\n\n  goToNextStep(): void {\n    if (!this.hasNextStep) {\n      return;\n    }\n    const nextStep = this.steps[this.activeStepIndex + 1];\n    this.activeStep.nextClicked.emit();\n    this.activeStep = nextStep;\n  }\n\n  goToPrevStep(): void {\n    if (!this.hasPrevStep) {\n      return;\n    }\n    if (!this.hasNextStep && this.activeStep.isCompleted) {\n      this.activeStep.isCompleted = false;\n      return;\n    }\n    const nextStep = this.steps[this.activeStepIndex - 1];\n    nextStep.isCompleted = false;\n    this.activeStep.prevClicked.emit();\n    this.activeStep = nextStep;\n  }\n\n  goToFirstStep(): void {\n    if (!this.hasPrevStep) {\n      return;\n    }\n    const nextStep = this.steps[0];\n    this.activeStep = nextStep;\n  }\n\n  onCompleteStep(): void {\n    this.activeStep.completeClicked.emit();\n    this.activeStep.isCompleted = true;\n    this.goToNextStep();\n  }\n}\n","<div class=\"stepper\">\n  <div class=\"stepper-steps\">\n    @for (step of steps; track step; let i = $index) {\n    <div\n      class=\"stepper-step\"\n      [ngStyle]=\"{ width: 100 / steps.length + '%' }\"\n      [ngClass]=\"{\n          active: step.isActive,\n          completed: step.isCompleted,\n          disabled: isDisabled()\n        }\"\n    >\n      <div class=\"stepper-step-index\">\n        @if (step.isCompleted) {\n        <div>\n          <svg\n            width=\"28\"\n            height=\"28\"\n            viewBox=\"0 0 28 28\"\n            fill=\"none\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n          >\n            <path\n              fill-rule=\"evenodd\"\n              clip-rule=\"evenodd\"\n              d=\"M25.4674 5.47186C26.1505 6.12666 26.1805 7.21877 25.5345 7.91115L11.9594 22.4601C11.3279 23.1369 10.2805 23.1835 9.59296 22.5654L2.5728 16.2545C1.8694 15.6222 1.80492 14.5316 2.42878 13.8186C3.05264 13.1057 4.1286 13.0403 4.832 13.6726L10.6186 18.8746L23.0608 5.53988C23.7068 4.84751 24.7843 4.81705 25.4674 5.47186Z\"\n              fill=\"#FAFAFA\"\n            />\n          </svg>\n        </div>\n        } @else {\n        <span class=\"stepper-step-index--prefix\">Шаг</span>\n        <span> {{ i + 1 }} </span>\n        <span class=\"stepper-step-index--postfix\">из {{ steps.length }}</span>\n        }\n      </div>\n      <div\n        class=\"stepper-step-title\"\n        [ngClass]=\"{\n            disabled: isDisabled()\n          }\"\n      >\n        {{ step.title() }}\n      </div>\n    </div>\n    }\n    <div class=\"stepper-steps-line\">\n      @if (isDisabled() === false) {\n      <div\n        class=\"stepper-steps-line-active\"\n        [ngStyle]=\"{\n            width: screenWidth | lineWidth: steps.length : completedSteps.length\n          }\"\n      ></div>\n      }\n    </div>\n  </div>\n  <div class=\"stepper-steps-content\">\n    <ng-content />\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { LineWidthPipe } from './pipes/line-width.pipe';\nimport { Stepper } from './stepper';\nimport { StepperStep } from './stepper-step/stepper-step';\n\n@NgModule({\n  imports: [LineWidthPipe, Stepper, StepperStep],\n  exports: [Stepper, StepperStep]\n})\nexport class StepperModule {}\n","import { formatDate, formatNumber } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'formatTable' })\nexport class FormatTablePipe implements PipeTransform {\n  transform(\n    value: string | number,\n    type: string,\n    format: string,\n    locale: string = 'ru'\n  ): string {\n    if (type === 'date') {\n      return formatDate(value, format, locale);\n    }\n\n    if (type === 'number') {\n      const innerNumber = formatNumber(value as number, locale, format).split(\n        ','\n      );\n      return `<b>${innerNumber[0]}, </b>${innerNumber[1]}`;\n    }\n\n    return value as string;\n  }\n}\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\n\nimport { FormatTablePipe } from './pipes/table.pipe';\nimport {\n  ColumnDataModel,\n  DataTableTypeModel,\n  RowActionWithDataModel\n} from './table.model';\n\n@Component({\n  selector: 'aeb-table',\n  templateUrl: './table.html',\n  styleUrls: ['./table.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [FormatTablePipe]\n})\nexport class Table<T extends ColumnDataModel = ColumnDataModel> {\n  readonly tableConfig = input<DataTableTypeModel<T>>(undefined);\n  readonly tableContent = input<ColumnDataModel[]>(undefined);\n\n  readonly action = output<RowActionWithDataModel>();\n\n  onRowActionClicked(actionType: string, id: string): void {\n    const userAction: RowActionWithDataModel = {\n      actionToPerform: actionType,\n      id\n    };\n    this.action.emit(userAction);\n  }\n}\n","<table class=\"table\">\n  <thead>\n    <tr>\n      @for (columnHead of tableConfig().columns; track columnHead.dataField ||\n      columnHead.title) {\n      <th align=\"{{ columnHead.align || 'left' }}\" class=\"table-title\">\n        {{ columnHead.title }}\n      </th>\n      }\n    </tr>\n  </thead>\n  <tbody>\n    @for (columnData of tableContent(); track columnData.id) {\n    <tr>\n      @for (columnHead of tableConfig().columns; track columnHead.dataField ||\n      columnHead.title) {\n      <td align=\"{{ columnHead.align || 'left' }}\">\n        @switch (columnHead.dataField) { @case ('ROW_ACTION') {\n        <div class=\"table-action\">\n          @for (action of tableConfig().rowActions; track action.actionToPerform\n          || action.logoImageUrl) {\n          <img\n            src=\"{{ action.logoImageUrl }}\"\n            (click)=\"\n                        onRowActionClicked(action.actionToPerform, columnData.id)\n                      \"\n          />\n          }\n        </div>\n        } @case ('STATUS') {\n        <div>\n          @for (status of tableConfig().status; track status.label || $index;\n          let i = $index) { @if ($any(columnData)[columnHead.dataProperty] ===\n          i) {\n          <div\n            (click)=\"\n                  onRowActionClicked(\n                    columnHead.action || 'SHOW',\n                    columnData.id\n                  )\n                \"\n            class=\"table-status\"\n            [style.color]=\"status.color\"\n          >\n            <img src=\"{{ status.iconUrl }}\" />\n            <span>{{ status.label }}</span>\n          </div>\n          } }\n        </div>\n        } @default {\n        <div\n          (click)=\"\n                    onRowActionClicked(columnHead.action || 'SHOW', columnData.id)\n                  \"\n          [innerHTML]=\"\n                    $any(columnData)[columnHead.dataProperty]\n                      | formatTable\n                        : columnHead.format?.type\n                        : columnHead.format?.placeholder\n                        : columnHead.format?.local\n                  \"\n        ></div>\n        } }\n      </td>\n      }\n    </tr>\n    }\n  </tbody>\n</table>\n","import { NgModule } from '@angular/core';\n\nimport { FormatTablePipe } from './pipes/table.pipe';\nimport { Table } from './table';\n\n@NgModule({\n  imports: [Table, FormatTablePipe],\n  exports: [Table]\n})\nexport class TableModule {}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[aebTab]' })\nexport class TabDirective {\n  readonly template = inject<TemplateRef<any>>(TemplateRef);\n\n  readonly name = input<string>(undefined, { alias: 'aebTab' });\n}\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n  AfterViewInit,\n  Component,\n  contentChildren,\n  ElementRef,\n  input,\n  OnChanges,\n  output,\n  SimpleChanges,\n  viewChild,\n  viewChildren,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { TabDirective } from './directives/tab.directive';\n\n@Component({\n  selector: 'aeb-tabs',\n  templateUrl: './tabs.html',\n  styleUrls: ['./tabs.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgClass, NgTemplateOutlet],\n  host: {\n    '(window:resize)': 'redrawThumb()'\n  }\n})\nexport class Tabs implements AfterViewInit, OnChanges {\n  readonly tabs = contentChildren(TabDirective);\n  readonly templateTabs = viewChildren<ElementRef<HTMLDivElement>>('rtab');\n\n  readonly thumb = viewChild<ElementRef<HTMLDivElement>>('thumb');\n  readonly container = viewChild<ElementRef<HTMLDivElement>>('container');\n\n  readonly compactMode = input(false);\n  readonly collapsed = input(false);\n  readonly tab = input(0);\n\n  readonly tabChange = output<string>();\n\n  currentTab: TabDirective;\n\n  redrawThumb(): void {\n    const tabIndex = this.tabs().indexOf(this.currentTab);\n\n    this.moveThumb(this.templateTabs()[tabIndex].nativeElement);\n  }\n\n  tabHandler(e: Event, tab: TabDirective): void {\n    const targetTab = e.target as HTMLDivElement;\n    this.moveThumb(targetTab);\n    this.currentTab = tab;\n    this.tabChange.emit(this.currentTab.name());\n  }\n\n  moveThumb(tab: HTMLDivElement): void {\n    const tabLeft = tab.getBoundingClientRect().left;\n    const containerLeft =\n      this.container().nativeElement.getBoundingClientRect().left;\n\n    this.thumb().nativeElement.style.width = `${tab.offsetWidth}px`;\n    this.thumb().nativeElement.style.left = `${tabLeft - containerLeft}px`;\n  }\n\n  ngAfterViewInit(): void {\n    setTimeout(() => {\n      const tab = this.tab();\n      if (String(tab) && !this.collapsed()) {\n        this.switchTab(tab);\n      }\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.tab && this.tabs()) {\n      this.switchTab(this.tab());\n    }\n  }\n\n  private switchTab(tab: number): void {\n    this.currentTab = this.tabs()[tab];\n    this.moveThumb(this.templateTabs()[tab].nativeElement);\n  }\n}\n","<div\n  #container\n  class=\"aeb-tabs\"\n  [ngClass]=\"{\n    'aeb-tabs--compact': compactMode()\n  }\"\n>\n  <div class=\"aeb-tabs__wrapper\">\n    @for (tab of tabs(); track tab) {\n    <div\n      class=\"aeb-tabs__tab\"\n      (click)=\"tabHandler($event, tab)\"\n      [ngClass]=\"{\n          'aeb-tabs__tab--active': tab === currentTab\n        }\"\n      #rtab\n    >\n      {{ tab.name() }}\n    </div>\n    }\n  </div>\n\n  <div class=\"aeb-tabs__thumb\" #thumb></div>\n</div>\n\n@if (currentTab) {\n<ng-template [ngTemplateOutlet]=\"currentTab.template\" />\n}\n","import { NgModule } from '@angular/core';\n\nimport { TabDirective } from './directives/tab.directive';\nimport { Tabs } from './tabs';\n\n@NgModule({\n  imports: [Tabs, TabDirective],\n  exports: [Tabs, TabDirective]\n})\nexport class TabsModule {}\n","import { NgClass } from '@angular/common';\nimport { Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-tag-tab',\n  templateUrl: './tag-tab.html',\n  styleUrls: ['./tag-tab.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [NgClass]\n})\nexport class TagTab {\n  readonly isActive = input(false);\n  readonly label = input('');\n}\n","<div class=\"tag\" [ngClass]=\"{ 'tag--active': isActive() }\">{{ label() }}</div>\n","import { NgModule } from '@angular/core';\n\nimport { TagTab } from './tag-tab';\n\n@NgModule({\n  imports: [TagTab],\n  exports: [TagTab]\n})\nexport class TagTabModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({ selector: 'span[title]', host: { class: 'aeb-visa-title' } })\nexport class SpanTitleDirective {}\n\n@Directive({ selector: 'span[subtitle]', host: { class: 'aeb-visa-subtitle' } })\nexport class SpanSubtitleDirective {}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-visa',\n  templateUrl: './visa.html',\n  styleUrls: ['./visa.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class Visa {}\n","<div class=\"aeb-visa\">\n  <h3>Визы</h3>\n  <div class=\"aeb-visa-timeline\">\n    <ng-content />\n  </div>\n</div>\n","import { Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'aeb-visa-item',\n  templateUrl: './visa-item.html',\n  encapsulation: ViewEncapsulation.None\n})\nexport class VisaItem {\n  readonly status = input<'isReturned' | 'isAgreed' | 'isProgress'>(\n    'isReturned'\n  );\n}\n","<div class=\"aeb-visa-icon\">\n  @switch (status()) { @case ('isReturned') {\n  <svg viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n    <circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#FF3055\" />\n    <rect\n      x=\"5\"\n      y=\"5.88379\"\n      width=\"1.75\"\n      height=\"12.5\"\n      rx=\"0.875\"\n      transform=\"rotate(-45 5 5.88379)\"\n      fill=\"white\"\n    />\n    <rect\n      width=\"1.75\"\n      height=\"12.5\"\n      rx=\"0.875\"\n      transform=\"matrix(-0.707107 -0.707107 -0.707107 0.707107 14.7229 5.88379)\"\n      fill=\"white\"\n    />\n  </svg>\n  <div class=\"aeb-visa-progress\"></div>\n  } @case ('isAgreed') {\n  <svg viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n    <path\n      d=\"M10.0283 0.0283264C4.5298 0.0127068 0.0439644 4.47313 0.0283447 9.97167C0.012725 15.4702 4.47315 19.9561 9.97169 19.9717C15.4702 19.9873 19.9561 15.5269 19.9717 10.0283C19.9873 4.52978 15.5269 0.0439461 10.0283 0.0283264Z\"\n      fill=\"#00BF41\"\n    />\n    <path\n      d=\"M13.109 6.98264L9.52446 11.2591L7.67997 9.40447C7.35682 9.07906 6.82998 9.07756 6.50498 9.40114C6.17956 9.72471 6.17807 10.2507 6.50164 10.5761L8.98748 13.0761C9.14367 13.2328 9.35491 13.3206 9.5747 13.3213C9.58716 13.3213 9.60004 13.3213 9.61251 13.3205C9.84563 13.3108 10.0641 13.203 10.2141 13.0239L14.3832 8.04991C14.6779 7.69799 14.6316 7.17435 14.2801 6.87918C13.9282 6.58485 13.4037 6.63072 13.109 6.98264Z\"\n      fill=\"white\"\n    />\n  </svg>\n  <div class=\"aeb-visa-progress agreed\"></div>\n  } @case ('isProgress') {\n  <svg viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n    <circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#E7EAEC\" />\n    <path\n      d=\"M10 3C6.1402 3 3 6.1402 3 10C3 13.8598 6.1402 17 10 17C13.8598 17 17 13.8598 17 10C17 6.1402 13.8598 3 10 3ZM10 15.5105C6.96153 15.5105 4.48934 13.0386 4.48934 10C4.48934 6.96138 6.96153 4.48948 10 4.48948C13.0385 4.48948 15.5107 6.96138 15.5107 10C15.5107 13.0386 13.0385 15.5105 10 15.5105Z\"\n      fill=\"white\"\n    />\n    <path\n      d=\"M13.4088 9.95425H10.1823V6.52288C10.1823 6.23412 9.91762 6 9.59116 6C9.26469 6 9 6.23412 9 6.52288V10.4771C9 10.7659 9.26469 11 9.59116 11H13.4088C13.7353 11 14 10.7659 14 10.4771C14 10.1884 13.7353 9.95425 13.4088 9.95425Z\"\n      fill=\"white\"\n      stroke=\"white\"\n      stroke-width=\"0.3\"\n    />\n  </svg>\n  <div class=\"aeb-visa-progress\"></div>\n  } }\n</div>\n<div class=\"aeb-visa-status {{ status() }}\">\n  <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\n\nimport {\n  SpanSubtitleDirective,\n  SpanTitleDirective\n} from './directives/visa-span.directive';\nimport { Visa } from './visa';\nimport { VisaItem } from './visa-item/visa-item';\n\n@NgModule({\n  imports: [Visa, VisaItem, SpanTitleDirective, SpanSubtitleDirective],\n  exports: [Visa, VisaItem, SpanTitleDirective, SpanSubtitleDirective]\n})\nexport class VisaModule {}\n","import { NgModule } from '@angular/core';\n\nimport { AccordionModule } from './accordion/accordion.module';\nimport { ActionBarModule } from './action-bar/action-bar.module';\nimport { ButtonModule } from './button/button.module';\nimport { CheckboxModule } from './checkbox/checkbox.module';\nimport { CodeInputModule } from './code-input/code-input.module';\nimport { CommentModule } from './comment/comment.module';\nimport { CreditItemCardModule } from './credit-item-card/credit-item-card.module';\nimport { DatepickerModule } from './datepicker/datepicker.module';\nimport { DropdownModule } from './dropdown/dropdown.module';\nimport { DropdownMenuModule } from './dropdown-menu/dropdown-menu.module';\nimport { FileAttachModule } from './file-attach/file-attach.module';\nimport { FilterTagsModule } from './filter-tags/filter-tags.module';\nimport { FooterModule } from './footer/footer.module';\nimport { FormFieldModule } from './form-field/form-field.module';\nimport { HeaderModule } from './header/header.module';\nimport { HeadingModule } from './heading/heading.module';\nimport { LabelModule } from './label/label.module';\nimport { ModalModule } from './modal/modal.module';\nimport { NewsCardModule } from './news-card/news-card.module';\nimport { NotificationsModule } from './notifications/notifications.module';\nimport { PaginationModule } from './pagination/pagination.module';\nimport { PopUpModule } from './pop-up/pop-up.module';\nimport { RadioButtonsModule } from './radio-buttons/radio-buttons.module';\nimport { SearchModule } from './search/search.module';\nimport { SelectModule } from './select/select.module';\nimport { SidebarModule } from './sidebar/sidebar.module';\nimport { SliderModule } from './slider/slider.module';\nimport { SpinnerModule } from './spinner/spinner.module';\nimport { StepperModule } from './stepper/stepper.module';\nimport { TableModule } from './table/table.module';\nimport { TabsModule } from './tabs/tabs.module';\nimport { TagTabModule } from './tag-tab/tag-tab.module';\nimport { TooltipModule } from './tooltip/tooltip.module';\nimport { VisaModule } from './visa/visa.module';\n\n@NgModule({\n  imports: [\n    ButtonModule,\n    CodeInputModule,\n    CheckboxModule,\n    HeaderModule,\n    SidebarModule,\n    SliderModule,\n    StepperModule,\n    FormFieldModule,\n    LabelModule,\n    VisaModule,\n    SpinnerModule,\n    SelectModule,\n    FileAttachModule,\n    CreditItemCardModule,\n    TagTabModule,\n    TabsModule,\n    HeadingModule,\n    TooltipModule,\n    NotificationsModule,\n    DatepickerModule,\n    RadioButtonsModule,\n    AccordionModule,\n    CommentModule,\n    FooterModule,\n    PaginationModule,\n    PopUpModule,\n    FilterTagsModule,\n    SearchModule,\n    ActionBarModule,\n    NewsCardModule,\n    DropdownModule,\n    DropdownMenuModule,\n    TableModule,\n    ModalModule\n  ],\n  exports: [\n    ButtonModule,\n    CheckboxModule,\n    HeaderModule,\n    SidebarModule,\n    SliderModule,\n    StepperModule,\n    FormFieldModule,\n    LabelModule,\n    VisaModule,\n    SpinnerModule,\n    SelectModule,\n    FileAttachModule,\n    CreditItemCardModule,\n    TagTabModule,\n    TabsModule,\n    HeadingModule,\n    TooltipModule,\n    NotificationsModule,\n    DatepickerModule,\n    RadioButtonsModule,\n    AccordionModule,\n    CommentModule,\n    FooterModule,\n    PaginationModule,\n    PopUpModule,\n    FilterTagsModule,\n    SearchModule,\n    ActionBarModule,\n    NewsCardModule,\n    DropdownModule,\n    DropdownMenuModule,\n    TableModule,\n    ModalModule\n  ]\n})\nexport class AebUiKitModule {}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  forwardRef,\n  inject,\n  Injector,\n  input,\n  OnInit,\n  output,\n  Renderer2,\n  viewChild\n} from '@angular/core';\nimport {\n  ControlValueAccessor,\n  NG_VALUE_ACCESSOR,\n  NgControl\n} from '@angular/forms';\n\nimport { CodeInputModule } from '../code-input/code-input.module';\n\n@Component({\n  selector: 'aeb-switch',\n  templateUrl: './switch.html',\n  styleUrls: ['./switch.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => Switch),\n      multi: true\n    }\n  ],\n  imports: [CodeInputModule],\n  host: {\n    class: 'switch',\n    '[attr.role]': '\"switch\"',\n    '[attr.aria-checked]': 'checked',\n    '[class.switch--warning]': 'isWarningOrInvalid',\n    '(click)': 'toggle($event)',\n    '(keydown.space)': 'onSpace($event)',\n    '(mousedown)': 'onPressStart()',\n    '(mouseup)': 'onPressEndMouseUp()',\n    '(mouseout)': 'onPressEndMouseOut()'\n  }\n})\nexport class Switch implements ControlValueAccessor, OnInit {\n  private readonly _renderer = inject(Renderer2);\n  private readonly _cdr = inject(ChangeDetectorRef);\n  private readonly _injector = inject(Injector);\n  private _ngControl?: NgControl;\n\n  readonly switchInput =\n    viewChild.required<ElementRef<HTMLInputElement>>('switchInput');\n\n  readonly changed = output<boolean>();\n\n  readonly id = input<string>(undefined);\n  readonly name = input<string>(undefined);\n  readonly warning = input(false);\n  readonly label = input('');\n\n  pressed = false;\n  checked = false;\n  disabled = false;\n\n  toggle(event: Event): void {\n    event.preventDefault();\n    if (this.disabled) {\n      return;\n    }\n\n    this.checked = !this.checked;\n    this._writeInputState();\n    this._onChange(this.checked);\n    this._onTouched();\n    this.changed.emit(this.checked);\n    this._cdr.markForCheck();\n  }\n\n  onSpace(event: Event): void {\n    event.preventDefault();\n    this.toggle(event);\n  }\n\n  onPressStart(): void {\n    this.pressed = true;\n  }\n\n  onPressEndMouseUp(): void {\n    this.pressed = false;\n  }\n\n  onPressEndMouseOut(): void {\n    this.pressed = false;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this._renderer.setProperty(\n      this.switchInput().nativeElement,\n      'disabled',\n      isDisabled\n    );\n  }\n\n  get ngControl(): NgControl | null {\n    return this._ngControl || null;\n  }\n\n  get isWarningOrInvalid(): boolean {\n    return this.warning() || this._ngControl?.status === 'INVALID';\n  }\n\n  ngOnInit(): void {\n    this._ngControl = this._injector.get(NgControl, null);\n    if (this._ngControl) {\n      this._ngControl.valueAccessor = this;\n      this._ngControl.statusChanges?.subscribe(() => this._cdr.markForCheck());\n      this._ngControl.valueChanges?.subscribe(() => this._cdr.markForCheck());\n    }\n  }\n\n  writeValue(value: boolean): void {\n    this.checked = !!value;\n    this._writeInputState();\n    this._cdr.markForCheck();\n  }\n\n  registerOnChange(fn: (v: boolean) => void): void {\n    this._onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this._onTouched = fn;\n  }\n\n  private _writeInputState(): void {\n    const el = this.switchInput().nativeElement;\n    this._renderer.setProperty(el, 'checked', this.checked);\n    this._renderer.setAttribute(el, 'aria-checked', String(this.checked));\n  }\n\n  private _onChange: (v: boolean) => void = () => {};\n  private _onTouched: () => void = () => {};\n}\n","<div class=\"switch-wrapper\">\n  <label\n    class=\"switch\"\n    [class.switch--checked]=\"checked\"\n    [class.switch--warning]=\"warning() || ngControl?.status === 'INVALID'\"\n    [class.switch--disabled]=\"disabled\"\n    [class.switch--pressed]=\"pressed\"\n    tabindex=\"0\"\n  >\n    <input\n      #switchInput\n      type=\"checkbox\"\n      [id]=\"id()\"\n      [name]=\"name()\"\n      class=\"visually-hidden\"\n      [disabled]=\"disabled\"\n      [checked]=\"checked\"\n    />\n\n    <span class=\"switch-slider\"></span>\n  </label>\n  @if (label()) {\n  <span class=\"switch-label\">{{ label() }}</span>\n  }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { Switch } from './switch';\n\n@NgModule({\n  imports: [Switch],\n  exports: [Switch]\n})\nexport class SwitchModule {}\n","/*\n * Public API Surface of aeb-ui-kit\n */\nexport * from './lib/aeb-ui-kit.module';\n\n// Export individual modules for granular imports\nexport * from './lib/accordion/accordion.module';\nexport * from './lib/action-bar/action-bar.module';\nexport * from './lib/button/button.module';\nexport * from './lib/checkbox/checkbox.module';\nexport * from './lib/code-input/code-input.module';\nexport * from './lib/comment/comment.module';\nexport * from './lib/credit-item-card/credit-item-card.module';\nexport * from './lib/datepicker/datepicker.module';\nexport * from './lib/dropdown/dropdown.module';\nexport * from './lib/dropdown-menu/dropdown-menu.module';\nexport * from './lib/file-attach/file-attach.module';\nexport * from './lib/filter-tags/filter-tags.module';\nexport * from './lib/footer/footer.module';\nexport * from './lib/form-field/form-field.module';\nexport * from './lib/header/header.module';\nexport * from './lib/heading/heading.module';\nexport * from './lib/label/label.module';\nexport * from './lib/modal/modal.module';\nexport * from './lib/news-card/news-card.module';\nexport * from './lib/notifications/notifications.module';\nexport * from './lib/pagination/pagination.module';\nexport * from './lib/pop-up/pop-up.module';\nexport * from './lib/radio-buttons/radio-buttons.module';\nexport * from './lib/search/search.module';\nexport * from './lib/select/select.module';\nexport * from './lib/sidebar/sidebar.module';\nexport * from './lib/slider/slider.module';\nexport * from './lib/spinner/spinner.module';\nexport * from './lib/stepper/stepper.module';\nexport * from './lib/switch/switch.module';\nexport * from './lib/table/table.module';\nexport * from './lib/tabs/tabs.module';\nexport * from './lib/tag-tab/tag-tab.module';\nexport * from './lib/tooltip/tooltip.module';\nexport * from './lib/visa/visa.module';\n\n// Export components and directives that are used by modules\n// (Required for Angular compilation, but consumers should use modules)\nexport * from './lib/accordion/accordion';\nexport * from './lib/action-bar/action-bar';\nexport * from './lib/button/button';\nexport * from './lib/button/directives/button-left-icon.directive';\nexport * from './lib/button/directives/button-right-icon.directive';\nexport * from './lib/checkbox/checkbox';\nexport * from './lib/checkbox/checkbox-group/checkbox-group';\nexport * from './lib/code-input/code-input';\nexport * from './lib/comment/comment';\nexport * from './lib/credit-item-card/credit-item-card';\nexport * from './lib/datepicker/datepicker';\nexport * from './lib/dropdown/dropdown';\nexport * from './lib/dropdown-menu/dropdown-menu';\nexport * from './lib/file-attach/file-attach';\nexport * from './lib/file-attach/directives/drag-and-drop.directive';\nexport * from './lib/filter-tags/filter-tags';\nexport * from './lib/filter-tags/filter-tag/filter-tag';\nexport * from './lib/footer/footer';\nexport * from './lib/footer/footer-bottom/footer-bottom';\nexport * from './lib/footer/footer-menu/footer-menu';\nexport * from './lib/footer/footer-top/footer-top';\nexport * from './lib/form-field/form-field';\nexport * from './lib/form-field/directives/error-message.directive';\nexport * from './lib/form-field/directives/form-field.directive';\nexport * from './lib/form-field/directives/icon.directive';\nexport * from './lib/form-field/directives/label.directive';\nexport * from './lib/header/header';\nexport * from './lib/header/logo/logo';\nexport * from './lib/heading/heading';\nexport * from './lib/heading/breadcrumps/breadcrumps';\nexport * from './lib/heading/product-title/product-title';\nexport * from './lib/label/label';\nexport * from './lib/modal/modal';\nexport * from './lib/news-card/news-card';\nexport * from './lib/notifications/notifications';\nexport * from './lib/notifications/notification/notification';\nexport * from './lib/pagination/pagination';\nexport * from './lib/pop-up/pop-up';\nexport * from './lib/pop-up/directives/pop-up.directive';\nexport * from './lib/radio-buttons/radio-buttons';\nexport * from './lib/search/search';\nexport * from './lib/select/select';\nexport * from './lib/sidebar/sidebar';\nexport * from './lib/slider/slider';\nexport * from './lib/spinner/spinner';\nexport * from './lib/stepper/stepper';\nexport * from './lib/stepper/stepper-step/stepper-step';\nexport * from './lib/switch/switch';\nexport * from './lib/table/table';\nexport * from './lib/tabs/tabs';\nexport * from './lib/tabs/directives/tab.directive';\nexport * from './lib/tag-tab/tag-tab';\nexport * from './lib/tooltip/tooltip';\nexport * from './lib/tooltip/directives/tooltip.directive';\nexport * from './lib/visa/visa';\nexport * from './lib/visa/visa-item/visa-item';\nexport * from './lib/visa/directives/visa-span.directive';\n\n// Export standalone directives and utilities\nexport * from './lib/click-outside/click-outside.directive';\nexport * from './lib/autofocus/autofocus.directive';\n\n// Export types and namespaces\nexport * from './lib/file-attach/file-attach.namespace';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TooltipDirective","i7.Button","i1.Button","i1.ClickOutsideDirective","i2.FormField","i3.FormFieldDirective","i4.LabelDirective","i5","i2","i1.DragAndDropDirective"],"mappings":"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"}