@snabcentr/client-ui 3.25.0 → 3.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output } from '@angular/core';
2
- import { TUI_IS_MOBILE, tuiIsPresent } from '@taiga-ui/cdk';
3
- import { filter, interval, map, startWith, switchMap, tap } from 'rxjs';
1
+ import { ChangeDetectionStrategy, Component, inject, input, model } from '@angular/core';
2
+ import { TUI_IS_MOBILE } from '@taiga-ui/cdk';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/common";
6
5
  import * as i2 from "@taiga-ui/cdk/directives/item";
@@ -15,69 +14,29 @@ export class ScPreviewSampleComponent {
15
14
  /**
16
15
  * Индекс элемента в галерее.
17
16
  */
18
- this.index = 0;
17
+ this.index = model(0);
19
18
  /**
20
- * {@link EventEmitter} изменения индекса элемента в галерее.
19
+ * Длительность переключения карусели.
21
20
  */
22
- this.indexChange = new EventEmitter();
21
+ this.duration = input(5000);
23
22
  /**
24
- * Признак, что необходимо отображать переключатели на карусели.
23
+ * Объект данных товара.
25
24
  */
26
- this.isShowCarouselSwitches = !inject(TUI_IS_MOBILE);
25
+ this.sample = input.required();
27
26
  /**
28
- * Признак, что при горизонтальном отображении компонент должен быть развёрнут.
27
+ * Признак, что необходимо отображать переключатели на карусели.
29
28
  */
30
- this.isReverse = false;
29
+ this.isShowCarouselSwitches = input(!inject(TUI_IS_MOBILE));
31
30
  /**
32
- * {@link Observable} изменения индекса элемента в галерее для автоматического переключения по таймеру.
31
+ * Признак, что при горизонтальном отображении компонент должен быть развёрнут.
33
32
  */
34
- this.indexChangeInterval = this.indexChange.pipe(startWith(0), filter(() => Boolean(this.sample.items && this.sample.items.length > 1)), switchMap(() => interval(5000).pipe()), map(() => this.sample.items?.length), filter(tuiIsPresent), tap((itemsLength) => {
35
- this.onChangeIndex((this.index + 1) % itemsLength);
36
- }));
37
- }
38
- /**
39
- * Переключает на предыдущее изображение в галерее.
40
- */
41
- onPrevious() {
42
- if (this.sample.items?.length) {
43
- // eslint-disable-next-line unicorn/explicit-length-check
44
- this.onChangeIndex((this.index || this.sample.items.length) - 1);
45
- }
46
- }
47
- /**
48
- * Переключает на следующее изображение в галерее.
49
- */
50
- onNext() {
51
- if (this.sample.items?.length) {
52
- this.onChangeIndex((this.index + 1) % this.sample.items.length);
53
- }
54
- }
55
- /**
56
- * Обработчик изменения индекса элемента в галерее.
57
- *
58
- * @param index Индекс элемента в галерее.
59
- */
60
- onChangeIndex(index) {
61
- if (index !== this.index) {
62
- this.index = index;
63
- this.indexChange.emit(index);
64
- }
33
+ this.isReverse = input(false);
65
34
  }
66
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSampleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScPreviewSampleComponent, selector: "sc-preview-sample", inputs: { index: "index", sample: "sample", isShowCarouselSwitches: "isShowCarouselSwitches", isReverse: "isReverse" }, outputs: { indexChange: "indexChange" }, ngImport: i0, template: "<div\n *tuiLet=\"sample.items && sample.items.length > 1 as isShownSwitches\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse\"\n>\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [src]=\"item.buttonImageUrl\"\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"onChangeIndex(itemIndex)\"\n [class.active]=\"index === itemIndex\"\n ></tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items\"\n class=\"text-body-m-bold\"\n >\n {{ sample.items[index].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u044F \u043E\u0431\u0440\u0430\u0437\u0446\u0430 {{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <button\n *ngFor=\"let action of sample.items[index].actions\"\n tuiButton\n (click)=\"action.handler()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches\"\n tuiIconButton\n (click)=\"onPrevious()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n *tuiLet=\"indexChangeInterval | async\"\n [(index)]=\"index\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items\">\n <div\n *tuiItem\n [style.backgroundImage]=\"'url(' + item.carouselItemImage + ')'\"\n class=\"h-[19em] w-full bg-cover bg-right md:h-96 lg:h-[28rem]\"\n ></div>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches\"\n tuiIconButton\n (click)=\"onNext()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i3.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "component", type: i3.TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: i4.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i5.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ScPreviewSampleComponent, selector: "sc-preview-sample", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, sample: { classPropertyName: "sample", publicName: "sample", isSignal: true, isRequired: true, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null }, isReverse: { classPropertyName: "isReverse", publicName: "isReverse", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, host: { attributes: { "ngSkipHydration": "true" } }, ngImport: i0, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [src]=\"item.buttonImageUrl\"\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n ></tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u044F \u043E\u0431\u0440\u0430\u0437\u0446\u0430 {{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items\">\n <div\n *tuiItem\n [style.backgroundImage]=\"'url(' + item.carouselItemImage + ')'\"\n class=\"h-[19em] w-full bg-cover bg-right md:h-96 lg:h-[28rem]\"\n ></div>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i3.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "component", type: i3.TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: i5.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
37
  }
69
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSampleComponent, decorators: [{
70
39
  type: Component,
71
- args: [{ selector: 'sc-preview-sample', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *tuiLet=\"sample.items && sample.items.length > 1 as isShownSwitches\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse\"\n>\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [src]=\"item.buttonImageUrl\"\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"onChangeIndex(itemIndex)\"\n [class.active]=\"index === itemIndex\"\n ></tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items\"\n class=\"text-body-m-bold\"\n >\n {{ sample.items[index].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u044F \u043E\u0431\u0440\u0430\u0437\u0446\u0430 {{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <button\n *ngFor=\"let action of sample.items[index].actions\"\n tuiButton\n (click)=\"action.handler()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches\"\n tuiIconButton\n (click)=\"onPrevious()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n *tuiLet=\"indexChangeInterval | async\"\n [(index)]=\"index\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items\">\n <div\n *tuiItem\n [style.backgroundImage]=\"'url(' + item.carouselItemImage + ')'\"\n class=\"h-[19em] w-full bg-cover bg-right md:h-96 lg:h-[28rem]\"\n ></div>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches\"\n tuiIconButton\n (click)=\"onNext()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"] }]
72
- }], propDecorators: { index: [{
73
- type: Input
74
- }], indexChange: [{
75
- type: Output
76
- }], sample: [{
77
- type: Input
78
- }], isShowCarouselSwitches: [{
79
- type: Input
80
- }], isReverse: [{
81
- type: Input
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBSXhFOztHQUVHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQU9JOztXQUVHO1FBRUksVUFBSyxHQUFXLENBQUMsQ0FBQztRQUV6Qjs7V0FFRztRQUVhLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFRL0U7O1dBRUc7UUFFSSwyQkFBc0IsR0FBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVoRTs7V0FFRztRQUVJLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFbEM7O1dBRUc7UUFDSSx3QkFBbUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDOUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNaLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ3hFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFDdEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUNwQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUNMLENBQUM7S0FnQ0w7SUE5Qkc7O09BRUc7SUFDSSxVQUFVO1FBQ2IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUM1Qix5REFBeUQ7WUFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxLQUFhO1FBQzlCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQzsrR0ExRVEsd0JBQXdCO21HQUF4Qix3QkFBd0IsME5DZnJDLGsxR0FtRkE7OzRGRHBFYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OEJBT3hDLEtBQUs7c0JBRFgsS0FBSztnQkFPVSxXQUFXO3NCQUQxQixNQUFNO2dCQU9BLE1BQU07c0JBRFosS0FBSztnQkFPQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUsIHR1aUlzUHJlc2VudCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgZmlsdGVyLCBpbnRlcnZhbCwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjSVByZXZpZXdTYW1wbGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktcHJldmlldy1zYW1wbGUnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDQvtCx0YDQsNC30YbQvtCyINGC0L7QstCw0YDQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1wcmV2aWV3LXNhbXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByZXZpZXctc2FtcGxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1wcmV2aWV3LXNhbXBsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByZXZpZXdTYW1wbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCY0L3QtNC10LrRgSDRjdC70LXQvNC10L3RgtCwINCyINCz0LDQu9C10YDQtdC1LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGluZGV4OiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIEV2ZW50RW1pdHRlcn0g0LjQt9C80LXQvdC10L3QuNGPINC40L3QtNC10LrRgdCwINGN0LvQtdC80LXQvdGC0LAg0LIg0LPQsNC70LXRgNC10LUuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGluZGV4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINC00LDQvdC90YvRhSDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2FtcGxlOiBTY0lQcmV2aWV3U2FtcGxlO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQttCw0YLRjCDQv9C10YDQtdC60LvRjtGH0LDRgtC10LvQuCDQvdCwINC60LDRgNGD0YHQtdC70LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNTaG93Q2Fyb3VzZWxTd2l0Y2hlczogYm9vbGVhbiA9ICFpbmplY3QoVFVJX0lTX01PQklMRSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC/0YDQuCDQs9C+0YDQuNC30L7QvdGC0LDQu9GM0L3QvtC8INC+0YLQvtCx0YDQsNC20LXQvdC40Lgg0LrQvtC80L/QvtC90LXQvdGCINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRgNCw0LfQstGR0YDQvdGD0YIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNSZXZlcnNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINC40L3QtNC10LrRgdCwINGN0LvQtdC80LXQvdGC0LAg0LIg0LPQsNC70LXRgNC10LUg0LTQu9GPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDQv9C10YDQtdC60LvRjtGH0LXQvdC40Y8g0L/QviDRgtCw0LnQvNC10YDRgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW5kZXhDaGFuZ2VJbnRlcnZhbCA9IHRoaXMuaW5kZXhDaGFuZ2UucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gQm9vbGVhbih0aGlzLnNhbXBsZS5pdGVtcyAmJiB0aGlzLnNhbXBsZS5pdGVtcy5sZW5ndGggPiAxKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBpbnRlcnZhbCg1MDAwKS5waXBlKCkpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5zYW1wbGUuaXRlbXM/Lmxlbmd0aCksXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICB0YXAoKGl0ZW1zTGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlSW5kZXgoKHRoaXMuaW5kZXggKyAxKSAlIGl0ZW1zTGVuZ3RoKTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXQutC70Y7Rh9Cw0LXRgiDQvdCwINC/0YDQtdC00YvQtNGD0YnQtdC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0LIg0LPQsNC70LXRgNC10LUuXG4gICAgICovXG4gICAgcHVibGljIG9uUHJldmlvdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNhbXBsZS5pdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9leHBsaWNpdC1sZW5ndGgtY2hlY2tcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VJbmRleCgodGhpcy5pbmRleCB8fCB0aGlzLnNhbXBsZS5pdGVtcy5sZW5ndGgpIC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdC60LvRjtGH0LDQtdGCINC90LAg0YHQu9C10LTRg9GO0YnQtdC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0LIg0LPQsNC70LXRgNC10LUuXG4gICAgICovXG4gICAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2FtcGxlLml0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VJbmRleCgodGhpcy5pbmRleCArIDEpICUgdGhpcy5zYW1wbGUuaXRlbXMubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INC40LfQvNC10L3QtdC90LjRjyDQuNC90LTQtdC60YHQsCDRjdC70LXQvNC10L3RgtCwINCyINCz0LDQu9C10YDQtdC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIGluZGV4INCY0L3QtNC10LrRgSDRjdC70LXQvNC10L3RgtCwINCyINCz0LDQu9C10YDQtdC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkNoYW5nZUluZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGluZGV4ICE9PSB0aGlzLmluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICp0dWlMZXQ9XCJzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zLmxlbmd0aCA+IDEgYXMgaXNTaG93blN3aXRjaGVzXCJcbiAgICBjbGFzcz1cIm1iLTQgZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC00IG1kOm1iLTAgbWQ6ZmxleC1yb3cgbWQ6Z2FwLThcIlxuICAgIFtjbGFzcy5tZDohZmxleC1yb3ctcmV2ZXJzZV09XCJpc1JldmVyc2VcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IG1heC13LTk2IGZsZXgtMSBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBzZWxmLWNlbnRlciBtZDptYXgtdy1ub25lIG1kOmdhcC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBmbGV4LWNvbCBnYXAtMyBtZDpnYXAtNCBtZDpweC04XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ib2R5LWwtYm9sZFwiPnt7IHNhbXBsZS50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNTaG93blN3aXRjaGVzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZ2FwLTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5idXR0b25JbWFnZVVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3VuZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNhbXBsZS5pdGVtczsgbGV0IGl0ZW1JbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25DaGFuZ2VJbmRleChpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbmRleCA9PT0gaXRlbUluZGV4XCJcbiAgICAgICAgICAgICAgICA+PC90dWktYXZhdGFyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzYW1wbGUuaXRlbXNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LW0tYm9sZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgc2FtcGxlLml0ZW1zW2luZGV4XS5jb2xvciB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2Pnt7IHNhbXBsZS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIGFsdD1cItCa0L7QvdGB0YLRgNGD0LrRhtC40Y8g0L7QsdGA0LDQt9GG0LAge3sgc2FtcGxlLnRpdGxlIH19XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZml0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zW2luZGV4XS5hY3Rpb25zPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTMgbWQ6Z2FwLTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBzYW1wbGUuaXRlbXNbaW5kZXhdLmFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5oYW5kbGVyKClcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvblN0YXJ0XT1cImFjdGlvbi5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBhY3Rpb24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBoLVsxOWVtXSBmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgc2hhZG93LXR1aS1zaGFkb3cgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3duU3dpdGNoZXMgJiYgaXNTaG93Q2Fyb3VzZWxTd2l0Y2hlc1wiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwib25QcmV2aW91cygpXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIGxlZnQtMCB0b3AtMS8yIHotMTAgbWwtMiAtdHJhbnNsYXRlLXktMS8yXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgIDx0dWktY2Fyb3VzZWxcbiAgICAgICAgICAgICp0dWlMZXQ9XCJpbmRleENoYW5nZUludGVydmFsIHwgYXN5bmNcIlxuICAgICAgICAgICAgWyhpbmRleCldPVwiaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJoLVsxOWVtXSB3LWZ1bGwgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNhbXBsZS5pdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpdGVtLmNhcm91c2VsSXRlbUltYWdlICsgJyknXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoLVsxOWVtXSB3LWZ1bGwgYmctY292ZXIgYmctcmlnaHQgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3R1aS1jYXJvdXNlbD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3duU3dpdGNoZXMgJiYgaXNTaG93Q2Fyb3VzZWxTd2l0Y2hlc1wiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwib25OZXh0KClcIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5jaGV2cm9uLXJpZ2h0XCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTAgdG9wLTEvMiB6LTEwIG1yLTIgLXRyYW5zbGF0ZS15LTEvMlwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
40
+ args: [{ selector: 'sc-preview-sample', host: { ngSkipHydration: 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"sample() as sample\"\n class=\"mb-4 flex flex-col-reverse gap-4 md:mb-0 md:flex-row md:gap-8\"\n [class.md:!flex-row-reverse]=\"isReverse()\"\n>\n @let isShownSwitches = sample.items && sample.items.length > 1;\n\n <div class=\"flex max-w-96 flex-1 flex-col justify-center self-center md:max-w-none md:gap-4\">\n <div class=\"flex w-full flex-col gap-3 md:gap-4 md:px-8\">\n <div class=\"text-body-l-bold\">{{ sample.title }}</div>\n <div\n *ngIf=\"isShownSwitches\"\n class=\"flex gap-4\"\n >\n <tui-avatar\n [src]=\"item.buttonImageUrl\"\n [round]=\"false\"\n *ngFor=\"let item of sample.items; let itemIndex = index\"\n (tuiHoveredChange)=\"index.set(itemIndex)\"\n [class.active]=\"index() === itemIndex\"\n ></tui-avatar>\n </div>\n <div\n *ngIf=\"sample.items as items\"\n class=\"text-body-m-bold\"\n >\n {{ items[index()].color }}\n </div>\n <div>{{ sample.description }}</div>\n <img\n *ngIf=\"sample.descriptionImageUrl\"\n [src]=\"sample.descriptionImageUrl\"\n alt=\"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u044F \u043E\u0431\u0440\u0430\u0437\u0446\u0430 {{ sample.title }}\"\n class=\"w-fit\"\n />\n <div\n *ngIf=\"sample.items && sample.items[index()].actions?.length\"\n class=\"flex flex-wrap gap-3 md:gap-4\"\n >\n <a\n *ngFor=\"let action of sample.items[index()].actions\"\n tuiButton\n [attr.href]=\"action.href\"\n (click)=\"action.handler ? $event.preventDefault() : {}; action.handler?.()\"\n [iconStart]=\"action.icon\"\n appearance=\"secondary\"\n >\n {{ action.label }}\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"relative h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:h-[28rem]\">\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.prev()\"\n iconStart=\"@tui.chevron-left\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [(index)]=\"index\"\n [duration]=\"duration()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n <ng-container *ngFor=\"let item of sample.items\">\n <div\n *tuiItem\n [style.backgroundImage]=\"'url(' + item.carouselItemImage + ')'\"\n class=\"h-[19em] w-full bg-cover bg-right md:h-96 lg:h-[28rem]\"\n ></div>\n </ng-container>\n </tui-carousel>\n <button\n *ngIf=\"isShownSwitches && isShowCarouselSwitches()\"\n tuiIconButton\n (click)=\"carousel.next()\"\n iconStart=\"@tui.chevron-right\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}tui-avatar.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}\n"] }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBSTlDOztHQUVHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFJOztXQUVHO1FBQ2EsVUFBSyxHQUF3QixLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDSSxhQUFRLEdBQXdCLEtBQUssQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUUzRDs7V0FFRztRQUNJLFdBQU0sR0FBa0MsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztRQUVsRjs7V0FFRztRQUNJLDJCQUFzQixHQUF5QixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUVwRjs7V0FFRztRQUNJLGNBQVMsR0FBeUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3pEOytHQXpCWSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrekJDZnJDLHMrR0F1RkE7OzRGRHhFYSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0ksbUJBQW1CLFFBR3ZCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxtQkFDaEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIElucHV0U2lnbmFsLCBtb2RlbCwgTW9kZWxTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHsgU2NJUHJldmlld1NhbXBsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1wcmV2aWV3LXNhbXBsZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINC+0LHRgNCw0LfRhtC+0LIg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByZXZpZXctc2FtcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLXByZXZpZXctc2FtcGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByZXZpZXdTYW1wbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCY0L3QtNC10LrRgSDRjdC70LXQvNC10L3RgtCwINCyINCz0LDQu9C10YDQtdC1LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpbmRleDogTW9kZWxTaWduYWw8bnVtYmVyPiA9IG1vZGVsPG51bWJlcj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiDQlNC70LjRgtC10LvRjNC90L7RgdGC0Ywg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC60LDRgNGD0YHQtdC70LguXG4gICAgICovXG4gICAgcHVibGljIGR1cmF0aW9uOiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQ8bnVtYmVyPig1MDAwKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiDQtNCw0L3QvdGL0YUg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzYW1wbGU6IElucHV0U2lnbmFsPFNjSVByZXZpZXdTYW1wbGU+ID0gaW5wdXQucmVxdWlyZWQ8U2NJUHJldmlld1NhbXBsZT4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Lgg0L3QsCDQutCw0YDRg9GB0LXQu9C4LlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KCFpbmplY3QoVFVJX0lTX01PQklMRSkpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9GA0Lgg0LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90L7QvCDQvtGC0L7QsdGA0LDQttC10L3QuNC4INC60L7QvNC/0L7QvdC10L3RgiDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YDQsNC30LLRkdGA0L3Rg9GCLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1JldmVyc2U6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwic2FtcGxlKCkgYXMgc2FtcGxlXCJcbiAgICBjbGFzcz1cIm1iLTQgZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC00IG1kOm1iLTAgbWQ6ZmxleC1yb3cgbWQ6Z2FwLThcIlxuICAgIFtjbGFzcy5tZDohZmxleC1yb3ctcmV2ZXJzZV09XCJpc1JldmVyc2UoKVwiXG4+XG4gICAgQGxldCBpc1Nob3duU3dpdGNoZXMgPSBzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zLmxlbmd0aCA+IDE7XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtYXgtdy05NiBmbGV4LTEgZmxleC1jb2wganVzdGlmeS1jZW50ZXIgc2VsZi1jZW50ZXIgbWQ6bWF4LXctbm9uZSBtZDpnYXAtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC1jb2wgZ2FwLTMgbWQ6Z2FwLTQgbWQ6cHgtOFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS1sLWJvbGRcIj57eyBzYW1wbGUudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2hvd25Td2l0Y2hlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC00XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uYnV0dG9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgICAgICBbcm91bmRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzYW1wbGUuaXRlbXM7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cImluZGV4LnNldChpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbmRleCgpID09PSBpdGVtSW5kZXhcIlxuICAgICAgICAgICAgICAgID48L3R1aS1hdmF0YXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNhbXBsZS5pdGVtcyBhcyBpdGVtc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtc1tpbmRleCgpXS5jb2xvciB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2Pnt7IHNhbXBsZS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic2FtcGxlLmRlc2NyaXB0aW9uSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgIGFsdD1cItCa0L7QvdGB0YLRgNGD0LrRhtC40Y8g0L7QsdGA0LDQt9GG0LAge3sgc2FtcGxlLnRpdGxlIH19XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZml0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzYW1wbGUuaXRlbXMgJiYgc2FtcGxlLml0ZW1zW2luZGV4KCldLmFjdGlvbnM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMyBtZDpnYXAtNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBzYW1wbGUuaXRlbXNbaW5kZXgoKV0uYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImFjdGlvbi5ocmVmXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5oYW5kbGVyID8gJGV2ZW50LnByZXZlbnREZWZhdWx0KCkgOiB7fTsgYWN0aW9uLmhhbmRsZXI/LigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TdGFydF09XCJhY3Rpb24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgYWN0aW9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIGgtWzE5ZW1dIGZsZXgtMSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC14bCBzaGFkb3ctdHVpLXNoYWRvdyBtZDpoLTk2IGxnOmgtWzI4cmVtXVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImlzU2hvd25Td2l0Y2hlcyAmJiBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzKClcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cImNhcm91c2VsLnByZXYoKVwiXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLmNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSBsZWZ0LTAgdG9wLTEvMiB6LTEwIG1sLTIgLXRyYW5zbGF0ZS15LTEvMlwiXG4gICAgICAgID48L2J1dHRvbj5cblxuICAgICAgICA8dHVpLWNhcm91c2VsXG4gICAgICAgICAgICAjY2Fyb3VzZWxcbiAgICAgICAgICAgIFsoaW5kZXgpXT1cImluZGV4XCJcbiAgICAgICAgICAgIFtkdXJhdGlvbl09XCJkdXJhdGlvbigpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC1bMTllbV0gdy1mdWxsIG1kOmgtOTYgbGc6aC1bMjhyZW1dXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzYW1wbGUuaXRlbXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaXRlbS5jYXJvdXNlbEl0ZW1JbWFnZSArICcpJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaC1bMTllbV0gdy1mdWxsIGJnLWNvdmVyIGJnLXJpZ2h0IG1kOmgtOTYgbGc6aC1bMjhyZW1dXCJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90dWktY2Fyb3VzZWw+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaXNTaG93blN3aXRjaGVzICYmIGlzU2hvd0Nhcm91c2VsU3dpdGNoZXMoKVwiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2Fyb3VzZWwubmV4dCgpXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSByaWdodC0wIHRvcC0xLzIgei0xMCBtci0yIC10cmFuc2xhdGUteS0xLzJcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -36,6 +36,10 @@ export class ScPreviewSamplesMosquitoComponent {
36
36
  * Событие, которое происходит при нажатии на кнопку "Назад в Конфигуратор".
37
37
  */
38
38
  this.openConfiguratorClick = output();
39
+ /**
40
+ * Ссылка на страницу конфигуратора.
41
+ */
42
+ this.configuratorPageUrl = input();
39
43
  /**
40
44
  * Событие, которое происходит при нажатии на кнопку "Консультация".
41
45
  */
@@ -50,10 +54,10 @@ export class ScPreviewSamplesMosquitoComponent {
50
54
  this.isShowCarouselSwitches = input(!inject(TUI_IS_MOBILE));
51
55
  }
52
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSamplesMosquitoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScPreviewSamplesMosquitoComponent, isStandalone: true, selector: "sc-preview-samples-mosquito", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, autoSlideIntervale: { classPropertyName: "autoSlideIntervale", publicName: "autoSlideIntervale", isSignal: true, isRequired: false, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openConfiguratorClick: "openConfiguratorClick", openConsultationClick: "openConsultationClick" }, ngImport: i0, template: "@let descriptions = config().descriptions;\n@let colors = config().color;\n@let netTypes = config().netType;\n\n<!-- \u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0441 \u0441\u0435\u0442\u043A\u043E\u0439. -->\n<div class=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n <!-- \u041B\u0435\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439. -->\n <div class=\"flex flex-col gap-4\">\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"flex flex-wrap gap-4\">\n <button\n *ngFor=\"let item of netTypes; let itemIndex = index\"\n tuiCardLarge\n tuiHeader\n tuiSurface=\"floating\"\n type=\"button\"\n (click)=\"netTypeIndex.set(itemIndex)\"\n [class.active]=\"netTypeIndex() === itemIndex\"\n class=\"h-12 !items-center gap-2 !rounded-xl !px-4 !py-0\"\n >\n <img\n [src]=\"config().icons[item]\"\n [alt]=\"descriptions['netType'][item]\"\n class=\"size-8\"\n />\n <div>{{ descriptions['netType'][item] }}</div>\n </button>\n </div>\n\n <!-- \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"text-body-l-bold\">\u0421\u0435\u0442\u043A\u0430 {{ descriptions['netType'][netTypeIndexSelected()] }}</div>\n {{ config().subtitles[netTypeIndexSelected()] }}\n\n <!-- \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0431\u0435\u0439\u0434\u0436\u0438. -->\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ colors.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0446\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\n </div>\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ netTypes.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0442\u0438\u043F\u043E\u0432 \u0441\u0435\u0442\u043E\u043A\n </div>\n\n <!-- \u0420\u0430\u0437\u043C\u0435\u0440\u044B \u0441\u0435\u0442\u043E\u043A. -->\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-height-arrow\" />\n \u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minHeight }} \u0434\u043E {{ config().maxHeights[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-width-arrow\" />\n \u0428\u0438\u0440\u0438\u043D\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minWidth }} \u0434\u043E {{ config().maxWidths[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n\n <!-- \u0422\u0435\u0433\u0438 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A. -->\n <div class=\"flex flex-wrap gap-2\">\n <button\n *ngFor=\"let tag of config().tags[netTypeIndexSelected()]\"\n tuiChip\n appearance=\"neutral\"\n >\n {{ tag }}\n </button>\n </div>\n\n <!-- \u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430 \u043F\u0440\u043E\u0444\u0438\u043B\u044F. -->\n <div class=\"flex gap-4\">\n <img\n *ngFor=\"let image of config().color; let itemIndex = index\"\n [src]=\"config().colorsIcons[image]\"\n [alt]=\"descriptions['color'][itemIndex]\"\n (tuiHoveredChange)=\"colorIndex.set(itemIndex)\"\n [class.active]=\"colorIndex() === itemIndex\"\n class=\"size-11 rounded-xl\"\n />\n </div>\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. -->\n <div class=\"flex gap-2\">\n <button\n tuiButton\n (click)=\"openConfiguratorClick.emit()\"\n iconStart=\"@tui.sliders-horizontal\"\n >\n \u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0441\u0447\u0435\u0442\n </button>\n\n <button\n tuiButton\n (click)=\"openConsultationClick.emit()\"\n iconStart=\"@tui.messages-square\"\n >\n \u041A\u043E\u043D\u0441\u0443\u043B\u044C\u0442\u0430\u0446\u0438\u044F\n </button>\n </div>\n </div>\n\n <!-- \u041F\u0440\u0430\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u043A\u0430\u0440\u0443\u0441\u0435\u043B\u044C\u044E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439. -->\n <div class=\"relative -order-1 h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:order-2 lg:h-[28rem]\">\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n (click)=\"carousel.prev()\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [duration]=\"autoSlideIntervale()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n @for (item of config().imagePreviewsByColor[colorIndexSelected()]; track $index) {\n <div\n *tuiItem\n [style.backgroundImage]=\"'url(' + item + ')'\"\n class=\"h-[19em] w-full bg-cover bg-right md:h-96 lg:h-[28rem]\"\n ></div>\n }\n </tui-carousel>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n (click)=\"carousel.next()\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}img.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}button[tuicardlarge]{border:solid 2px white}button[tuicardlarge].active{border-color:var(--tui-background-accent-1)}\n"], dependencies: [{ kind: "directive", type: i1.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i2.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiCardLarge, selector: "[tuiCardLarge]", inputs: ["tuiCardLarge"] }, { kind: "directive", type: TuiHeader, selector: "[tuiHeader]", inputs: ["tuiHeader"] }, { kind: "directive", type: TuiSurface, selector: "[tuiSurface]", inputs: ["tuiSurface"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScPreviewSamplesMosquitoComponent, isStandalone: true, selector: "sc-preview-samples-mosquito", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, configuratorPageUrl: { classPropertyName: "configuratorPageUrl", publicName: "configuratorPageUrl", isSignal: true, isRequired: false, transformFunction: null }, autoSlideIntervale: { classPropertyName: "autoSlideIntervale", publicName: "autoSlideIntervale", isSignal: true, isRequired: false, transformFunction: null }, isShowCarouselSwitches: { classPropertyName: "isShowCarouselSwitches", publicName: "isShowCarouselSwitches", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openConfiguratorClick: "openConfiguratorClick", openConsultationClick: "openConsultationClick" }, ngImport: i0, template: "@let descriptions = config().descriptions;\n@let colors = config().color;\n@let netTypes = config().netType;\n\n<!-- \u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0441 \u0441\u0435\u0442\u043A\u043E\u0439. -->\n<div class=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n <!-- \u041B\u0435\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439. -->\n <div class=\"flex flex-col gap-4\">\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"flex flex-wrap gap-4\">\n <button\n *ngFor=\"let item of netTypes; let itemIndex = index\"\n tuiCardLarge\n tuiHeader\n tuiSurface=\"floating\"\n type=\"button\"\n (click)=\"netTypeIndex.set(itemIndex)\"\n [class.active]=\"netTypeIndex() === itemIndex\"\n class=\"h-12 !items-center gap-2 !rounded-xl !px-4 !py-0\"\n >\n <img\n [src]=\"config().icons[item]\"\n [alt]=\"descriptions['netType'][item]\"\n class=\"size-8\"\n />\n <div>{{ descriptions['netType'][item] }}</div>\n </button>\n </div>\n\n <!-- \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"text-body-l-bold\">\u0421\u0435\u0442\u043A\u0430 {{ descriptions['netType'][netTypeIndexSelected()] }}</div>\n {{ config().subtitles[netTypeIndexSelected()] }}\n\n <!-- \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0431\u0435\u0439\u0434\u0436\u0438. -->\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ colors.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0446\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\n </div>\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ netTypes.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0442\u0438\u043F\u043E\u0432 \u0441\u0435\u0442\u043E\u043A\n </div>\n\n <!-- \u0420\u0430\u0437\u043C\u0435\u0440\u044B \u0441\u0435\u0442\u043E\u043A. -->\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-height-arrow\" />\n \u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minHeight }} \u0434\u043E {{ config().maxHeights[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-width-arrow\" />\n \u0428\u0438\u0440\u0438\u043D\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minWidth }} \u0434\u043E {{ config().maxWidths[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n\n <!-- \u0422\u0435\u0433\u0438 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A. -->\n <div class=\"flex flex-wrap gap-2\">\n <button\n *ngFor=\"let tag of config().tags[netTypeIndexSelected()]\"\n tuiChip\n appearance=\"neutral\"\n >\n {{ tag }}\n </button>\n </div>\n\n <!-- \u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430 \u043F\u0440\u043E\u0444\u0438\u043B\u044F. -->\n <div class=\"flex gap-4\">\n <img\n *ngFor=\"let image of config().color; let itemIndex = index\"\n [src]=\"config().colorsIcons[image]\"\n [alt]=\"descriptions['color'][itemIndex]\"\n (tuiHoveredChange)=\"colorIndex.set(itemIndex)\"\n [class.active]=\"colorIndex() === itemIndex\"\n class=\"size-11 rounded-xl\"\n />\n </div>\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. -->\n <div class=\"flex gap-2\">\n <a\n tuiButton\n [attr.href]=\"configuratorPageUrl()\"\n (click)=\"$event.preventDefault(); openConfiguratorClick.emit()\"\n iconStart=\"@tui.sliders-horizontal\"\n >\n \u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0441\u0447\u0435\u0442\n </a>\n\n <button\n tuiButton\n (click)=\"openConsultationClick.emit()\"\n iconStart=\"@tui.messages-square\"\n >\n \u041A\u043E\u043D\u0441\u0443\u043B\u044C\u0442\u0430\u0446\u0438\u044F\n </button>\n </div>\n </div>\n\n <!-- \u041F\u0440\u0430\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u043A\u0430\u0440\u0443\u0441\u0435\u043B\u044C\u044E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439. -->\n <div class=\"relative -order-1 h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:order-2 lg:h-[28rem]\">\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n (click)=\"carousel.prev()\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [duration]=\"autoSlideIntervale()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n @for (item of config().imagePreviewsByColor[colorIndexSelected()]; track $index) {\n <div\n *tuiItem\n [style.backgroundImage]=\"'url(' + item + ')'\"\n class=\"h-[19em] w-full bg-cover bg-right md:h-96 lg:h-[28rem]\"\n ></div>\n }\n </tui-carousel>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n (click)=\"carousel.next()\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}img.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}button[tuicardlarge]{border:solid 2px white}button[tuicardlarge].active{border-color:var(--tui-background-accent-1)}\n"], dependencies: [{ kind: "directive", type: i1.TuiItem, selector: "[tuiItem]" }, { kind: "component", type: i2.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange", "shift"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiCardLarge, selector: "[tuiCardLarge]", inputs: ["tuiCardLarge"] }, { kind: "directive", type: TuiHeader, selector: "[tuiHeader]", inputs: ["tuiHeader"] }, { kind: "directive", type: TuiSurface, selector: "[tuiSurface]", inputs: ["tuiSurface"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
58
  }
55
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPreviewSamplesMosquitoComponent, decorators: [{
56
60
  type: Component,
57
- args: [{ standalone: true, selector: 'sc-preview-samples-mosquito', imports: [TuiCarousel, TuiButton, TuiIcon, TuiChip, TuiBadge, NgFor, TuiAppearance, TuiHovered, TuiCardLarge, TuiHeader, TuiIcon, TuiSurface], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let descriptions = config().descriptions;\n@let colors = config().color;\n@let netTypes = config().netType;\n\n<!-- \u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0441 \u0441\u0435\u0442\u043A\u043E\u0439. -->\n<div class=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n <!-- \u041B\u0435\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439. -->\n <div class=\"flex flex-col gap-4\">\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"flex flex-wrap gap-4\">\n <button\n *ngFor=\"let item of netTypes; let itemIndex = index\"\n tuiCardLarge\n tuiHeader\n tuiSurface=\"floating\"\n type=\"button\"\n (click)=\"netTypeIndex.set(itemIndex)\"\n [class.active]=\"netTypeIndex() === itemIndex\"\n class=\"h-12 !items-center gap-2 !rounded-xl !px-4 !py-0\"\n >\n <img\n [src]=\"config().icons[item]\"\n [alt]=\"descriptions['netType'][item]\"\n class=\"size-8\"\n />\n <div>{{ descriptions['netType'][item] }}</div>\n </button>\n </div>\n\n <!-- \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"text-body-l-bold\">\u0421\u0435\u0442\u043A\u0430 {{ descriptions['netType'][netTypeIndexSelected()] }}</div>\n {{ config().subtitles[netTypeIndexSelected()] }}\n\n <!-- \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0431\u0435\u0439\u0434\u0436\u0438. -->\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ colors.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0446\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\n </div>\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ netTypes.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0442\u0438\u043F\u043E\u0432 \u0441\u0435\u0442\u043E\u043A\n </div>\n\n <!-- \u0420\u0430\u0437\u043C\u0435\u0440\u044B \u0441\u0435\u0442\u043E\u043A. -->\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-height-arrow\" />\n \u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minHeight }} \u0434\u043E {{ config().maxHeights[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-width-arrow\" />\n \u0428\u0438\u0440\u0438\u043D\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minWidth }} \u0434\u043E {{ config().maxWidths[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n\n <!-- \u0422\u0435\u0433\u0438 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A. -->\n <div class=\"flex flex-wrap gap-2\">\n <button\n *ngFor=\"let tag of config().tags[netTypeIndexSelected()]\"\n tuiChip\n appearance=\"neutral\"\n >\n {{ tag }}\n </button>\n </div>\n\n <!-- \u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430 \u043F\u0440\u043E\u0444\u0438\u043B\u044F. -->\n <div class=\"flex gap-4\">\n <img\n *ngFor=\"let image of config().color; let itemIndex = index\"\n [src]=\"config().colorsIcons[image]\"\n [alt]=\"descriptions['color'][itemIndex]\"\n (tuiHoveredChange)=\"colorIndex.set(itemIndex)\"\n [class.active]=\"colorIndex() === itemIndex\"\n class=\"size-11 rounded-xl\"\n />\n </div>\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. -->\n <div class=\"flex gap-2\">\n <button\n tuiButton\n (click)=\"openConfiguratorClick.emit()\"\n iconStart=\"@tui.sliders-horizontal\"\n >\n \u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0441\u0447\u0435\u0442\n </button>\n\n <button\n tuiButton\n (click)=\"openConsultationClick.emit()\"\n iconStart=\"@tui.messages-square\"\n >\n \u041A\u043E\u043D\u0441\u0443\u043B\u044C\u0442\u0430\u0446\u0438\u044F\n </button>\n </div>\n </div>\n\n <!-- \u041F\u0440\u0430\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u043A\u0430\u0440\u0443\u0441\u0435\u043B\u044C\u044E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439. -->\n <div class=\"relative -order-1 h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:order-2 lg:h-[28rem]\">\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n (click)=\"carousel.prev()\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [duration]=\"autoSlideIntervale()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n @for (item of config().imagePreviewsByColor[colorIndexSelected()]; track $index) {\n <div\n *tuiItem\n [style.backgroundImage]=\"'url(' + item + ')'\"\n class=\"h-[19em] w-full bg-cover bg-right md:h-96 lg:h-[28rem]\"\n ></div>\n }\n </tui-carousel>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n (click)=\"carousel.next()\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}img.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}button[tuicardlarge]{border:solid 2px white}button[tuicardlarge].active{border-color:var(--tui-background-accent-1)}\n"] }]
61
+ args: [{ standalone: true, selector: 'sc-preview-samples-mosquito', imports: [TuiCarousel, TuiButton, TuiIcon, TuiChip, TuiBadge, NgFor, TuiAppearance, TuiHovered, TuiCardLarge, TuiHeader, TuiIcon, TuiSurface], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let descriptions = config().descriptions;\n@let colors = config().color;\n@let netTypes = config().netType;\n\n<!-- \u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0441 \u0441\u0435\u0442\u043A\u043E\u0439. -->\n<div class=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n <!-- \u041B\u0435\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439. -->\n <div class=\"flex flex-col gap-4\">\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"flex flex-wrap gap-4\">\n <button\n *ngFor=\"let item of netTypes; let itemIndex = index\"\n tuiCardLarge\n tuiHeader\n tuiSurface=\"floating\"\n type=\"button\"\n (click)=\"netTypeIndex.set(itemIndex)\"\n [class.active]=\"netTypeIndex() === itemIndex\"\n class=\"h-12 !items-center gap-2 !rounded-xl !px-4 !py-0\"\n >\n <img\n [src]=\"config().icons[item]\"\n [alt]=\"descriptions['netType'][item]\"\n class=\"size-8\"\n />\n <div>{{ descriptions['netType'][item] }}</div>\n </button>\n </div>\n\n <!-- \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u0441\u0435\u0442\u043A\u0438. -->\n <div class=\"text-body-l-bold\">\u0421\u0435\u0442\u043A\u0430 {{ descriptions['netType'][netTypeIndexSelected()] }}</div>\n {{ config().subtitles[netTypeIndexSelected()] }}\n\n <!-- \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u0431\u0435\u0439\u0434\u0436\u0438. -->\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ colors.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0446\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\n </div>\n <div class=\"flex flex-wrap items-center gap-1 text-body-m\">\n <tui-badge\n appearance=\"custom\"\n class=\"rounded-full border-2 border-solid border-tui-text-primary bg-white !p-[0.4rem] font-bold text-tui-text-primary\"\n >\n {{ netTypes.length }}\n </tui-badge>\n - \u043A\u043E\u043B\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0442\u0438\u043F\u043E\u0432 \u0441\u0435\u0442\u043E\u043A\n </div>\n\n <!-- \u0420\u0430\u0437\u043C\u0435\u0440\u044B \u0441\u0435\u0442\u043E\u043A. -->\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-height-arrow\" />\n \u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minHeight }} \u0434\u043E {{ config().maxHeights[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n <div class=\"text-body-m\">\n <tui-icon icon=\"@tui.sc.grid-width-arrow\" />\n \u0428\u0438\u0440\u0438\u043D\u0430 \u0441\u0435\u0442\u043E\u043A \u043E\u0442 {{ config().minWidth }} \u0434\u043E {{ config().maxWidths[netTypeIndexSelected()] }} \u043C\u043C\n </div>\n\n <!-- \u0422\u0435\u0433\u0438 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A. -->\n <div class=\"flex flex-wrap gap-2\">\n <button\n *ngFor=\"let tag of config().tags[netTypeIndexSelected()]\"\n tuiChip\n appearance=\"neutral\"\n >\n {{ tag }}\n </button>\n </div>\n\n <!-- \u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430 \u043F\u0440\u043E\u0444\u0438\u043B\u044F. -->\n <div class=\"flex gap-4\">\n <img\n *ngFor=\"let image of config().color; let itemIndex = index\"\n [src]=\"config().colorsIcons[image]\"\n [alt]=\"descriptions['color'][itemIndex]\"\n (tuiHoveredChange)=\"colorIndex.set(itemIndex)\"\n [class.active]=\"colorIndex() === itemIndex\"\n class=\"size-11 rounded-xl\"\n />\n </div>\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. -->\n <div class=\"flex gap-2\">\n <a\n tuiButton\n [attr.href]=\"configuratorPageUrl()\"\n (click)=\"$event.preventDefault(); openConfiguratorClick.emit()\"\n iconStart=\"@tui.sliders-horizontal\"\n >\n \u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0440\u0430\u0441\u0447\u0435\u0442\n </a>\n\n <button\n tuiButton\n (click)=\"openConsultationClick.emit()\"\n iconStart=\"@tui.messages-square\"\n >\n \u041A\u043E\u043D\u0441\u0443\u043B\u044C\u0442\u0430\u0446\u0438\u044F\n </button>\n </div>\n </div>\n\n <!-- \u041F\u0440\u0430\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441 \u043A\u0430\u0440\u0443\u0441\u0435\u043B\u044C\u044E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439. -->\n <div class=\"relative -order-1 h-[19em] flex-1 overflow-hidden rounded-xl shadow-tui-shadow md:h-96 lg:order-2 lg:h-[28rem]\">\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-left\"\n (click)=\"carousel.prev()\"\n appearance=\"icon\"\n class=\"!absolute left-0 top-1/2 z-10 ml-2 -translate-y-1/2\"\n ></button>\n\n <tui-carousel\n #carousel\n [duration]=\"autoSlideIntervale()\"\n class=\"h-[19em] w-full md:h-96 lg:h-[28rem]\"\n >\n @for (item of config().imagePreviewsByColor[colorIndexSelected()]; track $index) {\n <div\n *tuiItem\n [style.backgroundImage]=\"'url(' + item + ')'\"\n class=\"h-[19em] w-full bg-cover bg-right md:h-96 lg:h-[28rem]\"\n ></div>\n }\n </tui-carousel>\n <button\n tuiIconButton\n iconStart=\"@tui.chevron-right\"\n (click)=\"carousel.next()\"\n appearance=\"icon\"\n class=\"!absolute right-0 top-1/2 z-10 mr-2 -translate-y-1/2\"\n ></button>\n </div>\n</div>\n", styles: [":host{--tui-carousel-padding: 0}img.active{--tw-ring-color: var(--tui-background-accent-1);--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}button[tuicardlarge]{border:solid 2px white}button[tuicardlarge].active{border-color:var(--tui-background-accent-1)}\n"] }]
58
62
  }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJldmlldy1zYW1wbGVzLW1vc3F1aXRvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zYW1wbGVzL3NjLXByZXZpZXctc2FtcGxlcy1tb3NxdWl0by9zYy1wcmV2aWV3LXNhbXBsZXMtbW9zcXVpdG8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvc2MtcHJldmlldy1zYW1wbGVzLW1vc3F1aXRvL3NjLXByZXZpZXctc2FtcGxlcy1tb3NxdWl0by5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxNQUFNLEVBQTRCLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDbkssT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBSTNEOztHQUVHO0FBU0gsTUFBTSxPQUFPLGlDQUFpQztJQVI5QztRQVNJOztXQUVHO1FBQ2EsZUFBVSxHQUEyQixNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFdkU7O1dBRUc7UUFDYSxpQkFBWSxHQUEyQixNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFekU7O1dBRUc7UUFDYSx5QkFBb0IsR0FBbUIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVsSDs7V0FFRztRQUNhLHVCQUFrQixHQUFtQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVHOztXQUVHO1FBQ2EsV0FBTSxHQUF5QyxLQUFLLENBQUMsUUFBUSxFQUEyQixDQUFDO1FBRXpHOztXQUVHO1FBQ2EsMEJBQXFCLEdBQTJCLE1BQU0sRUFBRSxDQUFDO1FBRXpFOztXQUVHO1FBQ2EsMEJBQXFCLEdBQTJCLE1BQU0sRUFBRSxDQUFDO1FBRXpFOztXQUVHO1FBQ2EsdUJBQWtCLEdBQXdCLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUUzRTs7V0FFRztRQUNnQiwyQkFBc0IsR0FBeUIsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDbkc7K0dBN0NZLGlDQUFpQzttR0FBakMsaUNBQWlDLG9wQkNwQjlDLG13TkEwSUEsbTBCRHpIMkIsU0FBUyxvSUFBRSxPQUFPLHFGQUFFLE9BQU8saUZBQUUsUUFBUSxtRkFBRSxLQUFLLG1IQUFpQixVQUFVLDhGQUFFLFlBQVkscUZBQUUsU0FBUywrRUFBVyxVQUFVOzs0RkFHbkksaUNBQWlDO2tCQVI3QyxTQUFTO2lDQUNNLElBQUksWUFDTiw2QkFBNkIsV0FHOUIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxtQkFDNUgsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCwgb3V0cHV0LCBPdXRwdXRFbWl0dGVyUmVmLCBTaWduYWwsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUsIFR1aUhvdmVyZWQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUFwcGVhcmFuY2UsIFR1aUJ1dHRvbiwgVHVpSWNvbiwgVHVpU3VyZmFjZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUJhZGdlLCBUdWlDYXJvdXNlbCwgVHVpQ2hpcCB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgVHVpQ2FyZExhcmdlLCBUdWlIZWFkZXIgfSBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0JztcblxuaW1wb3J0IHsgU2NQcmV2aWV3TW9zcXVpdG9Db25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8g0LzQvtGB0LrQuNGC0L3QvtC5INGB0LXRgtC60LguXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1wcmV2aWV3LXNhbXBsZXMtbW9zcXVpdG8nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmV2aWV3LXNhbXBsZXMtbW9zcXVpdG8uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zYy1wcmV2aWV3LXNhbXBsZXMtbW9zcXVpdG8uY29tcG9uZW50LnNjc3MnLFxuICAgIGltcG9ydHM6IFtUdWlDYXJvdXNlbCwgVHVpQnV0dG9uLCBUdWlJY29uLCBUdWlDaGlwLCBUdWlCYWRnZSwgTmdGb3IsIFR1aUFwcGVhcmFuY2UsIFR1aUhvdmVyZWQsIFR1aUNhcmRMYXJnZSwgVHVpSGVhZGVyLCBUdWlJY29uLCBUdWlTdXJmYWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcmV2aWV3U2FtcGxlc01vc3F1aXRvQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQktGL0LHRgNCw0L3QvdGL0Lkg0LjQvdC00LXQutGBINGG0LLQtdGC0LAg0L/RgNC+0YTQuNC70Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbG9ySW5kZXg6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj4gPSBzaWduYWw8bnVtYmVyPigwKTtcblxuICAgIC8qKlxuICAgICAqINCS0YvQsdGA0LDQvdC90YvQuSDQuNC90LTQtdC60YEg0YLQuNC/0LAg0YHQtdGC0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmV0VHlwZUluZGV4OiBXcml0YWJsZVNpZ25hbDxudW1iZXI+ID0gc2lnbmFsPG51bWJlcj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0LHRgNCw0L3QvdGL0Lkg0YLQuNC/INGB0LXRgtC60LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG5ldFR5cGVJbmRleFNlbGVjdGVkOiBTaWduYWw8c3RyaW5nPiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmV0VHlwZVt0aGlzLm5ldFR5cGVJbmRleCgpXSk7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0LHRgNCw0L3QvdGL0Lkg0YbQstC10YIg0L/RgNC+0YTQuNC70Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbG9ySW5kZXhTZWxlY3RlZDogU2lnbmFsPHN0cmluZz4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmNvbG9yW3RoaXMuY29sb3JJbmRleCgpXSk7XG5cbiAgICAvKipcbiAgICAgKiDQmtC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0L7QsdGA0LDQt9GG0LAg0LzQvtGB0LrQuNGC0L3QvtC5INGB0LXRgtC60LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogSW5wdXRTaWduYWw8U2NQcmV2aWV3TW9zcXVpdG9Db25maWc+ID0gaW5wdXQucmVxdWlyZWQ8U2NQcmV2aWV3TW9zcXVpdG9Db25maWc+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSwg0LrQvtGC0L7RgNC+0LUg0L/RgNC+0LjRgdGF0L7QtNC40YIg0L/RgNC4INC90LDQttCw0YLQuNC4INC90LAg0LrQvdC+0L/QutGDIFwi0J3QsNC30LDQtCDQsiDQmtC+0L3RhNC40LPRg9GA0LDRgtC+0YBcIi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlbkNvbmZpZ3VyYXRvckNsaWNrOiBPdXRwdXRFbWl0dGVyUmVmPHZvaWQ+ID0gb3V0cHV0KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSwg0LrQvtGC0L7RgNC+0LUg0L/RgNC+0LjRgdGF0L7QtNC40YIg0L/RgNC4INC90LDQttCw0YLQuNC4INC90LAg0LrQvdC+0L/QutGDIFwi0JrQvtC90YHRg9C70YzRgtCw0YbQuNGPXCIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9wZW5Db25zdWx0YXRpb25DbGljazogT3V0cHV0RW1pdHRlclJlZjx2b2lkPiA9IG91dHB1dCgpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdGC0LXRgNCy0LDQuyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtCz0L4g0L/RgNC+0YfQuNGC0YvQstCw0L3QuNGPINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDQsiDQvNC40LvQu9C40YHQtdC60YPQvdC00LDRhS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXV0b1NsaWRlSW50ZXJ2YWxlOiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQ8bnVtYmVyPigwKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Lgg0L3QsCDQutCw0YDRg9GB0LXQu9C4LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1Nob3dDYXJvdXNlbFN3aXRjaGVzOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KCFpbmplY3QoVFVJX0lTX01PQklMRSkpO1xufVxuIiwiQGxldCBkZXNjcmlwdGlvbnMgPSBjb25maWcoKS5kZXNjcmlwdGlvbnM7XG5AbGV0IGNvbG9ycyA9IGNvbmZpZygpLmNvbG9yO1xuQGxldCBuZXRUeXBlcyA9IGNvbmZpZygpLm5ldFR5cGU7XG5cbjwhLS0g0J7RgdC90L7QstC90L7QuSDQutC+0L3RgtC10LnQvdC10YAg0YEg0YHQtdGC0LrQvtC5LiAtLT5cbjxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIGdhcC00IGxnOmdyaWQtY29scy0yXCI+XG4gICAgPCEtLSDQm9C10LLQsNGPINC60L7Qu9C+0L3QutCwINGBINC40L3RhNC+0YDQvNCw0YbQuNC10LkuIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCI+XG4gICAgICAgIDwhLS0g0JrQvdC+0L/QutC4INCy0YvQsdC+0YDQsCDRgtC40L/QsCDRgdC10YLQutC4LiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC00XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbmV0VHlwZXM7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgdHVpQ2FyZExhcmdlXG4gICAgICAgICAgICAgICAgdHVpSGVhZGVyXG4gICAgICAgICAgICAgICAgdHVpU3VyZmFjZT1cImZsb2F0aW5nXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV0VHlwZUluZGV4LnNldChpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIm5ldFR5cGVJbmRleCgpID09PSBpdGVtSW5kZXhcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaC0xMiAhaXRlbXMtY2VudGVyIGdhcC0yICFyb3VuZGVkLXhsICFweC00ICFweS0wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiY29uZmlnKCkuaWNvbnNbaXRlbV1cIlxuICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImRlc2NyaXB0aW9uc1snbmV0VHlwZSddW2l0ZW1dXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaXplLThcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGRpdj57eyBkZXNjcmlwdGlvbnNbJ25ldFR5cGUnXVtpdGVtXSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0g0J7Qv9C40YHQsNC90LjQtSDQstGL0LHRgNCw0L3QvdC+0LPQviDRgtC40L/QsCDRgdC10YLQutC4LiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS1sLWJvbGRcIj7QodC10YLQutCwIHt7IGRlc2NyaXB0aW9uc1snbmV0VHlwZSddW25ldFR5cGVJbmRleFNlbGVjdGVkKCldIH19PC9kaXY+XG4gICAgICAgIHt7IGNvbmZpZygpLnN1YnRpdGxlc1tuZXRUeXBlSW5kZXhTZWxlY3RlZCgpXSB9fVxuXG4gICAgICAgIDwhLS0g0JjQvdGE0L7RgNC80LDRhtC40L7QvdC90YvQtSDQsdC10LnQtNC20LguIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtYm9keS1tXCI+XG4gICAgICAgICAgICA8dHVpLWJhZGdlXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImN1c3RvbVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXNvbGlkIGJvcmRlci10dWktdGV4dC1wcmltYXJ5IGJnLXdoaXRlICFwLVswLjRyZW1dIGZvbnQtYm9sZCB0ZXh0LXR1aS10ZXh0LXByaW1hcnlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGNvbG9ycy5sZW5ndGggfX1cbiAgICAgICAgICAgIDwvdHVpLWJhZGdlPlxuICAgICAgICAgICAgLSDQutC+0LvQu9C40YfQtdGB0YLQstC+INGG0LLQtdGC0L7QsiDQv9GA0L7RhNC40LvRj1xuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LWJvZHktbVwiPlxuICAgICAgICAgICAgPHR1aS1iYWRnZVxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJjdXN0b21cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci1zb2xpZCBib3JkZXItdHVpLXRleHQtcHJpbWFyeSBiZy13aGl0ZSAhcC1bMC40cmVtXSBmb250LWJvbGQgdGV4dC10dWktdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBuZXRUeXBlcy5sZW5ndGggfX1cbiAgICAgICAgICAgIDwvdHVpLWJhZGdlPlxuICAgICAgICAgICAgLSDQutC+0LvQu9C40YfQtdGB0YLQstC+INGC0LjQv9C+0LIg0YHQtdGC0L7QulxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tINCg0LDQt9C80LXRgNGLINGB0LXRgtC+0LouIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ib2R5LW1cIj5cbiAgICAgICAgICAgIDx0dWktaWNvbiBpY29uPVwiQHR1aS5zYy5ncmlkLWhlaWdodC1hcnJvd1wiIC8+XG4gICAgICAgICAgICDQktGL0YHQvtGC0LAg0YHQtdGC0L7QuiDQvtGCIHt7IGNvbmZpZygpLm1pbkhlaWdodCB9fSDQtNC+IHt7IGNvbmZpZygpLm1heEhlaWdodHNbbmV0VHlwZUluZGV4U2VsZWN0ZWQoKV0gfX0g0LzQvFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS1tXCI+XG4gICAgICAgICAgICA8dHVpLWljb24gaWNvbj1cIkB0dWkuc2MuZ3JpZC13aWR0aC1hcnJvd1wiIC8+XG4gICAgICAgICAgICDQqNC40YDQuNC90LAg0YHQtdGC0L7QuiDQvtGCIHt7IGNvbmZpZygpLm1pbldpZHRoIH19INC00L4ge3sgY29uZmlnKCkubWF4V2lkdGhzW25ldFR5cGVJbmRleFNlbGVjdGVkKCldIH19INC80LxcbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSDQotC10LPQuCDRhdCw0YDQsNC60YLQtdGA0LjRgdGC0LjQui4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWcgb2YgY29uZmlnKCkudGFnc1tuZXRUeXBlSW5kZXhTZWxlY3RlZCgpXVwiXG4gICAgICAgICAgICAgICAgdHVpQ2hpcFxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0YWcgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tINCS0YvQsdC+0YAg0YbQstC10YLQsCDQv9GA0L7RhNC40LvRjy4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC00XCI+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGltYWdlIG9mIGNvbmZpZygpLmNvbG9yOyBsZXQgaXRlbUluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiY29uZmlnKCkuY29sb3JzSWNvbnNbaW1hZ2VdXCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImRlc2NyaXB0aW9uc1snY29sb3InXVtpdGVtSW5kZXhdXCJcbiAgICAgICAgICAgICAgICAodHVpSG92ZXJlZENoYW5nZSk9XCJjb2xvckluZGV4LnNldChpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImNvbG9ySW5kZXgoKSA9PT0gaXRlbUluZGV4XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNpemUtMTEgcm91bmRlZC14bFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tINCa0L3QvtC/0LrQuCDQtNC10LnRgdGC0LLQuNC5LiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbmZpZ3VyYXRvckNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zbGlkZXJzLWhvcml6b250YWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCh0LTQtdC70LDRgtGMINGA0LDRgdGH0LXRglxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbnN1bHRhdGlvbkNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5tZXNzYWdlcy1zcXVhcmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCa0L7QvdGB0YPQu9GM0YLQsNGG0LjRj1xuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSDQn9GA0LDQstCw0Y8g0LrQvtC70L7QvdC60LAg0YEg0LrQsNGA0YPRgdC10LvRjNGOINC40LfQvtCx0YDQsNC20LXQvdC40LkuIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSAtb3JkZXItMSBoLVsxOWVtXSBmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgc2hhZG93LXR1aS1zaGFkb3cgbWQ6aC05NiBsZzpvcmRlci0yIGxnOmgtWzI4cmVtXVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLmNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2Fyb3VzZWwucHJldigpXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIGxlZnQtMCB0b3AtMS8yIHotMTAgbWwtMiAtdHJhbnNsYXRlLXktMS8yXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgIDx0dWktY2Fyb3VzZWxcbiAgICAgICAgICAgICNjYXJvdXNlbFxuICAgICAgICAgICAgW2R1cmF0aW9uXT1cImF1dG9TbGlkZUludGVydmFsZSgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC1bMTllbV0gdy1mdWxsIG1kOmgtOTYgbGc6aC1bMjhyZW1dXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBjb25maWcoKS5pbWFnZVByZXZpZXdzQnlDb2xvcltjb2xvckluZGV4U2VsZWN0ZWQoKV07IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpdGVtICsgJyknXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoLVsxOWVtXSB3LWZ1bGwgYmctY292ZXIgYmctcmlnaHQgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC90dWktY2Fyb3VzZWw+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2Fyb3VzZWwubmV4dCgpXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTAgdG9wLTEvMiB6LTEwIG1yLTIgLXRyYW5zbGF0ZS15LTEvMlwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJldmlldy1zYW1wbGVzLW1vc3F1aXRvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zYW1wbGVzL3NjLXByZXZpZXctc2FtcGxlcy1tb3NxdWl0by9zYy1wcmV2aWV3LXNhbXBsZXMtbW9zcXVpdG8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NhbXBsZXMvc2MtcHJldmlldy1zYW1wbGVzLW1vc3F1aXRvL3NjLXByZXZpZXctc2FtcGxlcy1tb3NxdWl0by5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxNQUFNLEVBQTRCLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDbkssT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBSTNEOztHQUVHO0FBU0gsTUFBTSxPQUFPLGlDQUFpQztJQVI5QztRQVNJOztXQUVHO1FBQ2EsZUFBVSxHQUEyQixNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFdkU7O1dBRUc7UUFDYSxpQkFBWSxHQUEyQixNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFekU7O1dBRUc7UUFDYSx5QkFBb0IsR0FBbUIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVsSDs7V0FFRztRQUNhLHVCQUFrQixHQUFtQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVHOztXQUVHO1FBQ2EsV0FBTSxHQUF5QyxLQUFLLENBQUMsUUFBUSxFQUEyQixDQUFDO1FBRXpHOztXQUVHO1FBQ2EsMEJBQXFCLEdBQTJCLE1BQU0sRUFBRSxDQUFDO1FBRXpFOztXQUVHO1FBQ2Esd0JBQW1CLEdBQW9DLEtBQUssRUFBc0IsQ0FBQztRQUVuRzs7V0FFRztRQUNhLDBCQUFxQixHQUEyQixNQUFNLEVBQUUsQ0FBQztRQUV6RTs7V0FFRztRQUNhLHVCQUFrQixHQUF3QixLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFM0U7O1dBRUc7UUFDZ0IsMkJBQXNCLEdBQXlCLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0tBQ25HOytHQWxEWSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyxzekJDcEI5Qyx5ME5BMklBLG0wQkQxSDJCLFNBQVMsb0lBQUUsT0FBTyxxRkFBRSxPQUFPLGlGQUFFLFFBQVEsbUZBQUUsS0FBSyxtSEFBaUIsVUFBVSw4RkFBRSxZQUFZLHFGQUFFLFNBQVMsK0VBQVcsVUFBVTs7NEZBR25JLGlDQUFpQztrQkFSN0MsU0FBUztpQ0FDTSxJQUFJLFlBQ04sNkJBQTZCLFdBRzlCLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsbUJBQzVILHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgSW5wdXRTaWduYWwsIG91dHB1dCwgT3V0cHV0RW1pdHRlclJlZiwgU2lnbmFsLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUVUlfSVNfTU9CSUxFLCBUdWlIb3ZlcmVkIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlBcHBlYXJhbmNlLCBUdWlCdXR0b24sIFR1aUljb24sIFR1aVN1cmZhY2UgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlCYWRnZSwgVHVpQ2Fyb3VzZWwsIFR1aUNoaXAgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IFR1aUNhcmRMYXJnZSwgVHVpSGVhZGVyIH0gZnJvbSAnQHRhaWdhLXVpL2xheW91dCc7XG5cbmltcG9ydCB7IFNjUHJldmlld01vc3F1aXRvQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINC80L7RgdC60LjRgtC90L7QuSDRgdC10YLQutC4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtcHJldmlldy1zYW1wbGVzLW1vc3F1aXRvJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJldmlldy1zYW1wbGVzLW1vc3F1aXRvLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcHJldmlldy1zYW1wbGVzLW1vc3F1aXRvLmNvbXBvbmVudC5zY3NzJyxcbiAgICBpbXBvcnRzOiBbVHVpQ2Fyb3VzZWwsIFR1aUJ1dHRvbiwgVHVpSWNvbiwgVHVpQ2hpcCwgVHVpQmFkZ2UsIE5nRm9yLCBUdWlBcHBlYXJhbmNlLCBUdWlIb3ZlcmVkLCBUdWlDYXJkTGFyZ2UsIFR1aUhlYWRlciwgVHVpSWNvbiwgVHVpU3VyZmFjZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJldmlld1NhbXBsZXNNb3NxdWl0b0NvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JLRi9Cx0YDQsNC90L3Ri9C5INC40L3QtNC10LrRgSDRhtCy0LXRgtCwINC/0YDQvtGE0LjQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjb2xvckluZGV4OiBXcml0YWJsZVNpZ25hbDxudW1iZXI+ID0gc2lnbmFsPG51bWJlcj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0LHRgNCw0L3QvdGL0Lkg0LjQvdC00LXQutGBINGC0LjQv9CwINGB0LXRgtC60LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG5ldFR5cGVJbmRleDogV3JpdGFibGVTaWduYWw8bnVtYmVyPiA9IHNpZ25hbDxudW1iZXI+KDApO1xuXG4gICAgLyoqXG4gICAgICog0JLRi9Cx0YDQsNC90L3Ri9C5INGC0LjQvyDRgdC10YLQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBuZXRUeXBlSW5kZXhTZWxlY3RlZDogU2lnbmFsPHN0cmluZz4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5ldFR5cGVbdGhpcy5uZXRUeXBlSW5kZXgoKV0pO1xuXG4gICAgLyoqXG4gICAgICog0JLRi9Cx0YDQsNC90L3Ri9C5INGG0LLQtdGCINC/0YDQvtGE0LjQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjb2xvckluZGV4U2VsZWN0ZWQ6IFNpZ25hbDxzdHJpbmc+ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5jb2xvclt0aGlzLmNvbG9ySW5kZXgoKV0pO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC90YTQuNCz0YPRgNCw0YbQuNGPINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC+0LHRgNCw0LfRhtCwINC80L7RgdC60LjRgtC90L7QuSDRgdC10YLQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWc6IElucHV0U2lnbmFsPFNjUHJldmlld01vc3F1aXRvQ29uZmlnPiA9IGlucHV0LnJlcXVpcmVkPFNjUHJldmlld01vc3F1aXRvQ29uZmlnPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUsINC60L7RgtC+0YDQvtC1INC/0YDQvtC40YHRhdC+0LTQuNGCINC/0YDQuCDQvdCw0LbQsNGC0LjQuCDQvdCwINC60L3QvtC/0LrRgyBcItCd0LDQt9Cw0LQg0LIg0JrQvtC90YTQuNCz0YPRgNCw0YLQvtGAXCIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9wZW5Db25maWd1cmF0b3JDbGljazogT3V0cHV0RW1pdHRlclJlZjx2b2lkPiA9IG91dHB1dCgpO1xuXG4gICAgLyoqXG4gICAgICog0KHRgdGL0LvQutCwINC90LAg0YHRgtGA0LDQvdC40YbRgyDQutC+0L3RhNC40LPRg9GA0LDRgtC+0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlndXJhdG9yUGFnZVVybDogSW5wdXRTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1LCDQutC+0YLQvtGA0L7QtSDQv9GA0L7QuNGB0YXQvtC00LjRgiDQv9GA0Lgg0L3QsNC20LDRgtC40Lgg0L3QsCDQutC90L7Qv9C60YMgXCLQmtC+0L3RgdGD0LvRjNGC0LDRhtC40Y9cIi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlbkNvbnN1bHRhdGlvbkNsaWNrOiBPdXRwdXRFbWl0dGVyUmVmPHZvaWQ+ID0gb3V0cHV0KCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC7INCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDQv9GA0L7Rh9C40YLRi9Cy0LDQvdC40Y8g0YHQv9C40YHQutCwINGC0L7QstCw0YDQvtCyINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdXRvU2xpZGVJbnRlcnZhbGU6IElucHV0U2lnbmFsPG51bWJlcj4gPSBpbnB1dDxudW1iZXI+KDApO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQttCw0YLRjCDQv9C10YDQtdC60LvRjtGH0LDRgtC10LvQuCDQvdCwINC60LDRgNGD0YHQtdC70LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzU2hvd0Nhcm91c2VsU3dpdGNoZXM6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoIWluamVjdChUVUlfSVNfTU9CSUxFKSk7XG59XG4iLCJAbGV0IGRlc2NyaXB0aW9ucyA9IGNvbmZpZygpLmRlc2NyaXB0aW9ucztcbkBsZXQgY29sb3JzID0gY29uZmlnKCkuY29sb3I7XG5AbGV0IG5ldFR5cGVzID0gY29uZmlnKCkubmV0VHlwZTtcblxuPCEtLSDQntGB0L3QvtCy0L3QvtC5INC60L7QvdGC0LXQudC90LXRgCDRgSDRgdC10YLQutC+0LkuIC0tPlxuPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTQgbGc6Z3JpZC1jb2xzLTJcIj5cbiAgICA8IS0tINCb0LXQstCw0Y8g0LrQvtC70L7QvdC60LAg0YEg0LjQvdGE0L7RgNC80LDRhtC40LXQuS4gLS0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTRcIj5cbiAgICAgICAgPCEtLSDQmtC90L7Qv9C60Lgg0LLRi9Cx0L7RgNCwINGC0LjQv9CwINGB0LXRgtC60LguIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBuZXRUeXBlczsgbGV0IGl0ZW1JbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICB0dWlDYXJkTGFyZ2VcbiAgICAgICAgICAgICAgICB0dWlIZWFkZXJcbiAgICAgICAgICAgICAgICB0dWlTdXJmYWNlPVwiZmxvYXRpbmdcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXRUeXBlSW5kZXguc2V0KGl0ZW1JbmRleClcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwibmV0VHlwZUluZGV4KCkgPT09IGl0ZW1JbmRleFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJoLTEyICFpdGVtcy1jZW50ZXIgZ2FwLTIgIXJvdW5kZWQteGwgIXB4LTQgIXB5LTBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjb25maWcoKS5pY29uc1tpdGVtXVwiXG4gICAgICAgICAgICAgICAgICAgIFthbHRdPVwiZGVzY3JpcHRpb25zWyduZXRUeXBlJ11baXRlbV1cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpemUtOFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8ZGl2Pnt7IGRlc2NyaXB0aW9uc1snbmV0VHlwZSddW2l0ZW1dIH19PC9kaXY+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSDQntC/0LjRgdCw0L3QuNC1INCy0YvQsdGA0LDQvdC90L7Qs9C+INGC0LjQv9CwINGB0LXRgtC60LguIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ib2R5LWwtYm9sZFwiPtCh0LXRgtC60LAge3sgZGVzY3JpcHRpb25zWyduZXRUeXBlJ11bbmV0VHlwZUluZGV4U2VsZWN0ZWQoKV0gfX08L2Rpdj5cbiAgICAgICAge3sgY29uZmlnKCkuc3VidGl0bGVzW25ldFR5cGVJbmRleFNlbGVjdGVkKCldIH19XG5cbiAgICAgICAgPCEtLSDQmNC90YTQvtGA0LzQsNGG0LjQvtC90L3Ri9C1INCx0LXQudC00LbQuC4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1ib2R5LW1cIj5cbiAgICAgICAgICAgIDx0dWktYmFkZ2VcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiY3VzdG9tXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItc29saWQgYm9yZGVyLXR1aS10ZXh0LXByaW1hcnkgYmctd2hpdGUgIXAtWzAuNHJlbV0gZm9udC1ib2xkIHRleHQtdHVpLXRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgY29sb3JzLmxlbmd0aCB9fVxuICAgICAgICAgICAgPC90dWktYmFkZ2U+XG4gICAgICAgICAgICAtINC60L7Qu9C70LjRh9C10YHRgtCy0L4g0YbQstC10YLQvtCyINC/0YDQvtGE0LjQu9GPXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtYm9keS1tXCI+XG4gICAgICAgICAgICA8dHVpLWJhZGdlXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImN1c3RvbVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXNvbGlkIGJvcmRlci10dWktdGV4dC1wcmltYXJ5IGJnLXdoaXRlICFwLVswLjRyZW1dIGZvbnQtYm9sZCB0ZXh0LXR1aS10ZXh0LXByaW1hcnlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IG5ldFR5cGVzLmxlbmd0aCB9fVxuICAgICAgICAgICAgPC90dWktYmFkZ2U+XG4gICAgICAgICAgICAtINC60L7Qu9C70LjRh9C10YHRgtCy0L4g0YLQuNC/0L7QsiDRgdC10YLQvtC6XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0g0KDQsNC30LzQtdGA0Ysg0YHQtdGC0L7Qui4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJvZHktbVwiPlxuICAgICAgICAgICAgPHR1aS1pY29uIGljb249XCJAdHVpLnNjLmdyaWQtaGVpZ2h0LWFycm93XCIgLz5cbiAgICAgICAgICAgINCS0YvRgdC+0YLQsCDRgdC10YLQvtC6INC+0YIge3sgY29uZmlnKCkubWluSGVpZ2h0IH19INC00L4ge3sgY29uZmlnKCkubWF4SGVpZ2h0c1tuZXRUeXBlSW5kZXhTZWxlY3RlZCgpXSB9fSDQvNC8XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ib2R5LW1cIj5cbiAgICAgICAgICAgIDx0dWktaWNvbiBpY29uPVwiQHR1aS5zYy5ncmlkLXdpZHRoLWFycm93XCIgLz5cbiAgICAgICAgICAgINCo0LjRgNC40L3QsCDRgdC10YLQvtC6INC+0YIge3sgY29uZmlnKCkubWluV2lkdGggfX0g0LTQviB7eyBjb25maWcoKS5tYXhXaWR0aHNbbmV0VHlwZUluZGV4U2VsZWN0ZWQoKV0gfX0g0LzQvFxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tINCi0LXQs9C4INGF0LDRgNCw0LrRgtC10YDQuNGB0YLQuNC6LiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhZyBvZiBjb25maWcoKS50YWdzW25ldFR5cGVJbmRleFNlbGVjdGVkKCldXCJcbiAgICAgICAgICAgICAgICB0dWlDaGlwXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRhZyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0g0JLRi9Cx0L7RgCDRhtCy0LXRgtCwINC/0YDQvtGE0LjQu9GPLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTRcIj5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgY29uZmlnKCkuY29sb3I7IGxldCBpdGVtSW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJjb25maWcoKS5jb2xvcnNJY29uc1tpbWFnZV1cIlxuICAgICAgICAgICAgICAgIFthbHRdPVwiZGVzY3JpcHRpb25zWydjb2xvciddW2l0ZW1JbmRleF1cIlxuICAgICAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cImNvbG9ySW5kZXguc2V0KGl0ZW1JbmRleClcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY29sb3JJbmRleCgpID09PSBpdGVtSW5kZXhcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2l6ZS0xMSByb3VuZGVkLXhsXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0g0JrQvdC+0L/QutC4INC00LXQudGB0YLQstC40LkuIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMlwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImNvbmZpZ3VyYXRvclBhZ2VVcmwoKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBvcGVuQ29uZmlndXJhdG9yQ2xpY2suZW1pdCgpXCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNsaWRlcnMtaG9yaXpvbnRhbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0KHQtNC10LvQsNGC0Ywg0YDQsNGB0YfQtdGCXG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbnN1bHRhdGlvbkNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5tZXNzYWdlcy1zcXVhcmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCa0L7QvdGB0YPQu9GM0YLQsNGG0LjRj1xuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSDQn9GA0LDQstCw0Y8g0LrQvtC70L7QvdC60LAg0YEg0LrQsNGA0YPRgdC10LvRjNGOINC40LfQvtCx0YDQsNC20LXQvdC40LkuIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSAtb3JkZXItMSBoLVsxOWVtXSBmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgc2hhZG93LXR1aS1zaGFkb3cgbWQ6aC05NiBsZzpvcmRlci0yIGxnOmgtWzI4cmVtXVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLmNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2Fyb3VzZWwucHJldigpXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIGxlZnQtMCB0b3AtMS8yIHotMTAgbWwtMiAtdHJhbnNsYXRlLXktMS8yXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgIDx0dWktY2Fyb3VzZWxcbiAgICAgICAgICAgICNjYXJvdXNlbFxuICAgICAgICAgICAgW2R1cmF0aW9uXT1cImF1dG9TbGlkZUludGVydmFsZSgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC1bMTllbV0gdy1mdWxsIG1kOmgtOTYgbGc6aC1bMjhyZW1dXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBjb25maWcoKS5pbWFnZVByZXZpZXdzQnlDb2xvcltjb2xvckluZGV4U2VsZWN0ZWQoKV07IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpdGVtICsgJyknXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoLVsxOWVtXSB3LWZ1bGwgYmctY292ZXIgYmctcmlnaHQgbWQ6aC05NiBsZzpoLVsyOHJlbV1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC90dWktY2Fyb3VzZWw+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2Fyb3VzZWwubmV4dCgpXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTAgdG9wLTEvMiB6LTEwIG1yLTIgLXRyYW5zbGF0ZS15LTEvMlwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,6 +1,6 @@
1
1
  import { InputSignal, OutputEmitterRef, Signal } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { ScFeedbackForm, ScISuggestionType, ScUploadedFile } from '@snabcentr/client-core';
3
+ import { ScFeedbackForms, ScISuggestionType, ScUploadedFile } from '@snabcentr/client-core';
4
4
  import { TuiLooseUnion } from '@taiga-ui/cdk';
5
5
  import { TuiDialogContext } from '@taiga-ui/core';
6
6
  import { TuiCountryIsoCode } from '@taiga-ui/i18n';
@@ -21,7 +21,7 @@ export declare class ScFeedbackFormComponent {
21
21
  /**
22
22
  * Символьное обозначение (slug) формы.
23
23
  */
24
- readonly slugInput: InputSignal<TuiLooseUnion<keyof typeof ScFeedbackForm>>;
24
+ readonly slugInput: InputSignal<TuiLooseUnion<ScFeedbackForms>>;
25
25
  /**
26
26
  * Список полей, доступных в данной форме.
27
27
  */
@@ -29,7 +29,7 @@ export declare class ScFeedbackFormComponent {
29
29
  /**
30
30
  * Символьное обозначение (slug) формы.
31
31
  */
32
- protected readonly slug: Signal<TuiLooseUnion<keyof typeof ScFeedbackForm>>;
32
+ protected readonly slug: Signal<TuiLooseUnion<ScFeedbackForms>>;
33
33
  /**
34
34
  * Список полей, доступных в данной форме.
35
35
  */
@@ -1,4 +1,3 @@
1
- export * from './enums';
2
1
  export * from './interfaces';
3
2
  export * from './feedback-form/sc-feedback-form.component';
4
3
  export * from './gratitude/sc-gratitude.component';
@@ -1,4 +1,4 @@
1
- import { ScFeedbackForm } from '@snabcentr/client-core';
1
+ import { ScFeedbackForms } from '@snabcentr/client-core';
2
2
  import { TuiLooseUnion } from '@taiga-ui/cdk';
3
3
  /**
4
4
  * Типы доступных полей для форм обратной связи.
@@ -11,7 +11,7 @@ export interface ScFeedbackFormConfig {
11
11
  /**
12
12
  * Уникальный идентификатор формы, используемый в API-запросах.
13
13
  */
14
- slug: TuiLooseUnion<keyof typeof ScFeedbackForm>;
14
+ slug: TuiLooseUnion<ScFeedbackForms>;
15
15
  /**
16
16
  * Название формы, отображаемое пользователю.
17
17
  */