@snabcentr/client-ui 3.32.4 → 3.33.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.
Files changed (28) hide show
  1. package/banner/sc-banner.module.d.ts +2 -1
  2. package/catalog/category-card/sc-category-card.component.d.ts +0 -6
  3. package/catalog/hover-image-carousel/{hover-image-carousel.component.d.ts → sc-hover-image-carousel.component.d.ts} +16 -7
  4. package/catalog/index.d.ts +1 -0
  5. package/catalog/sc-catalog.module.d.ts +3 -2
  6. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +4 -4
  7. package/esm2022/banner/sc-banner.component.mjs +3 -3
  8. package/esm2022/banner/sc-banner.module.mjs +4 -3
  9. package/esm2022/cart/cart-item/sc-cart-item.component.mjs +4 -4
  10. package/esm2022/catalog/category-card/sc-category-card.component.mjs +4 -11
  11. package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +76 -0
  12. package/esm2022/catalog/index.mjs +2 -1
  13. package/esm2022/catalog/price-card/sc-price-card.component.mjs +2 -2
  14. package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +4 -4
  15. package/esm2022/catalog/sc-catalog.module.mjs +8 -5
  16. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +5 -6
  17. package/esm2022/news/news-card/sc-news-card.component.mjs +4 -8
  18. package/esm2022/news/sc-news.module.mjs +4 -3
  19. package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +12 -20
  20. package/fesm2022/snabcentr-client-ui.mjs +57 -76
  21. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  22. package/news/news-card/sc-news-card.component.d.ts +1 -5
  23. package/news/sc-news.module.d.ts +2 -1
  24. package/order/order-item-mobile/sc-order-item-mobile.component.d.ts +8 -14
  25. package/package.json +2 -2
  26. package/release_notes.tmp +6 -2
  27. package/styles/tailwind/tailwind.scss +0 -4
  28. package/esm2022/catalog/hover-image-carousel/hover-image-carousel.component.mjs +0 -76
@@ -7,6 +7,7 @@ import * as i2 from "@angular/router";
7
7
  import * as i3 from "@taiga-ui/kit";
8
8
  import * as i4 from "@taiga-ui/cdk";
9
9
  import * as i5 from "../sc-favorite-button/sc-favorite-button.component";
10
+ import * as i6 from "@snabcentr/client-core";
10
11
  /**
11
12
  * Карточка категории.
12
13
  */
@@ -64,14 +65,6 @@ export class ScCategoryCardComponent {
64
65
  onHovered(isHover) {
65
66
  this.isHover = isHover;
66
67
  }
67
- /**
68
- * Возвращает путь к изображению категории. Если путь отсутствует, то вернёт изображение по-умолчанию ("product_not_found").
69
- *
70
- * @param category Данные о категории.
71
- */
72
- getCategoryImgURL(category) {
73
- return category.properties?.image ? `${this.urls.imgServerUrl}/${category.properties.image}` : this.pathImageNotFound;
74
- }
75
68
  /**
76
69
  * Устанавливает компонент в очередь на обновление.
77
70
  *
@@ -81,11 +74,11 @@ export class ScCategoryCardComponent {
81
74
  this.cdr.markForCheck();
82
75
  }
83
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScCategoryCardComponent, deps: [{ token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScCategoryCardComponent, selector: "sc-category-card", inputs: { category: { classPropertyName: "category", publicName: "category", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, enableHover: { classPropertyName: "enableHover", publicName: "enableHover", isSignal: false, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { clickOnFavoriteEvent: "clickOnFavoriteEvent" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<div class=\"relative\">\n <a\n (tuiHoveredChange)=\"onHovered($event)\"\n [routerLink]=\"href ?? null\"\n class=\"category-button rounded-tui-radius-m border-tui-base-04 flex flex-col overflow-hidden border text-center\"\n >\n <div class=\"img-wrapper w-full grow overflow-hidden\">\n <img\n *ngIf=\"category\"\n [src]=\"getCategoryImgURL(category)\"\n [alt]=\"category.name\"\n [ngClass]=\"{ '!object-contain p-2': appearance() === 'normal' || !getCategoryImgURL(category) }\"\n class=\"size-full rounded-xl object-cover\"\n />\n\n <!-- \u0411\u043B\u043E\u043A \u0434\u043B\u044F \u0441\u043A\u0435\u043B\u0435\u0442\u043E\u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 -->\n <div\n *ngIf=\"!category\"\n class=\"img-wrapper bg-tui-base-02 size-full\"\n ></div>\n </div>\n\n <div class=\"name flex w-full items-center justify-center\">\n @if (category) {\n @if (enableHover && !isMobile) {\n <tui-line-clamp\n [content]=\"category.name\"\n class=\"pointer-events-none\"\n [lineHeight]=\"size === 'm' ? 26 : 24\"\n [linesLimit]=\"isHover ? 4 : 2\"\n />\n } @else {\n {{ category.name }}\n }\n } @else {\n <div class=\"skeleton-name rounded-tui-radius-s bg-tui-base-02\"></div>\n }\n </div>\n </a>\n <sc-favorite-button\n *ngIf=\"category && (authStatus$ | async)\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"category.isFavorite\"\n (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n class=\"absolute left-1 top-1\"\n />\n</div>\n", styles: [":host{--tui-duration: .15s}:host[data-size=m] a.category-button{width:100%;height:12.5rem}:host[data-size=m] a.category-button .img-wrapper{max-height:8.75rem}:host[data-size=m] a.category-button .name{padding:.25rem 1rem;margin-block:auto;font-size:.9375rem;line-height:1.5rem;font-weight:800}:host[data-size=m] a.category-button .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] a.category-button{width:100%;height:10rem}:host[data-size=s] a.category-button .img-wrapper{max-height:7rem}:host[data-size=s] a.category-button .name{padding:.25rem .5rem;margin-block:auto;font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=s] a.category-button .name .skeleton-name{width:7rem;height:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.TuiLineClamp, selector: "tui-line-clamp", inputs: ["lineHeight", "content", "linesLimit"], outputs: ["overflownChange"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "component", type: i5.ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScCategoryCardComponent, selector: "sc-category-card", inputs: { category: { classPropertyName: "category", publicName: "category", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, enableHover: { classPropertyName: "enableHover", publicName: "enableHover", isSignal: false, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { clickOnFavoriteEvent: "clickOnFavoriteEvent" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<div class=\"relative\">\n <a\n (tuiHoveredChange)=\"onHovered($event)\"\n [routerLink]=\"href ?? null\"\n class=\"category-button flex flex-col overflow-hidden rounded-tui-radius-m border border-tui-base-04 text-center\"\n >\n <div class=\"img-wrapper w-full grow overflow-hidden\">\n <picture *ngIf=\"category\">\n @if (category.properties?.imageWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"category.properties?.imageWebp | scMediaImageTransformer\"\n />\n }\n <img\n [src]=\"category.properties?.image | scMediaImageTransformer: true\"\n [alt]=\"category.name\"\n [ngClass]=\"{ '!object-contain p-2': appearance() === 'normal' || !category.properties?.image }\"\n class=\"size-full rounded-xl object-cover\"\n />\n </picture>\n <!-- \u0411\u043B\u043E\u043A \u0434\u043B\u044F \u0441\u043A\u0435\u043B\u0435\u0442\u043E\u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 -->\n <div\n *ngIf=\"!category\"\n class=\"img-wrapper size-full bg-tui-base-02\"\n ></div>\n </div>\n\n <div class=\"name flex w-full items-center justify-center\">\n @if (category) {\n @if (enableHover && !isMobile) {\n <tui-line-clamp\n [content]=\"category.name\"\n class=\"pointer-events-none\"\n [lineHeight]=\"size === 'm' ? 26 : 24\"\n [linesLimit]=\"isHover ? 4 : 2\"\n />\n } @else {\n {{ category.name }}\n }\n } @else {\n <div class=\"skeleton-name rounded-tui-radius-s bg-tui-base-02\"></div>\n }\n </div>\n </a>\n <sc-favorite-button\n *ngIf=\"category && (authStatus$ | async)\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"category.isFavorite\"\n (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n class=\"absolute left-1 top-1\"\n />\n</div>\n", styles: [":host{--tui-duration: .15s}:host[data-size=m] a.category-button{width:100%;height:12.5rem}:host[data-size=m] a.category-button .img-wrapper{max-height:8.75rem}:host[data-size=m] a.category-button .name{padding:.25rem 1rem;margin-block:auto;font-size:.9375rem;line-height:1.5rem;font-weight:800}:host[data-size=m] a.category-button .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] a.category-button{width:100%;height:10rem}:host[data-size=s] a.category-button .img-wrapper{max-height:7rem}:host[data-size=s] a.category-button .name{padding:.25rem .5rem;margin-block:auto;font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=s] a.category-button .name .skeleton-name{width:7rem;height:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.TuiLineClamp, selector: "tui-line-clamp", inputs: ["lineHeight", "content", "linesLimit"], outputs: ["overflownChange"] }, { kind: "directive", type: i4.TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "component", type: i5.ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.ScMediaImageTransformerPipe, name: "scMediaImageTransformer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
85
78
  }
86
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScCategoryCardComponent, decorators: [{
87
80
  type: Component,
88
- args: [{ selector: 'sc-category-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\">\n <a\n (tuiHoveredChange)=\"onHovered($event)\"\n [routerLink]=\"href ?? null\"\n class=\"category-button rounded-tui-radius-m border-tui-base-04 flex flex-col overflow-hidden border text-center\"\n >\n <div class=\"img-wrapper w-full grow overflow-hidden\">\n <img\n *ngIf=\"category\"\n [src]=\"getCategoryImgURL(category)\"\n [alt]=\"category.name\"\n [ngClass]=\"{ '!object-contain p-2': appearance() === 'normal' || !getCategoryImgURL(category) }\"\n class=\"size-full rounded-xl object-cover\"\n />\n\n <!-- \u0411\u043B\u043E\u043A \u0434\u043B\u044F \u0441\u043A\u0435\u043B\u0435\u0442\u043E\u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 -->\n <div\n *ngIf=\"!category\"\n class=\"img-wrapper bg-tui-base-02 size-full\"\n ></div>\n </div>\n\n <div class=\"name flex w-full items-center justify-center\">\n @if (category) {\n @if (enableHover && !isMobile) {\n <tui-line-clamp\n [content]=\"category.name\"\n class=\"pointer-events-none\"\n [lineHeight]=\"size === 'm' ? 26 : 24\"\n [linesLimit]=\"isHover ? 4 : 2\"\n />\n } @else {\n {{ category.name }}\n }\n } @else {\n <div class=\"skeleton-name rounded-tui-radius-s bg-tui-base-02\"></div>\n }\n </div>\n </a>\n <sc-favorite-button\n *ngIf=\"category && (authStatus$ | async)\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"category.isFavorite\"\n (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n class=\"absolute left-1 top-1\"\n />\n</div>\n", styles: [":host{--tui-duration: .15s}:host[data-size=m] a.category-button{width:100%;height:12.5rem}:host[data-size=m] a.category-button .img-wrapper{max-height:8.75rem}:host[data-size=m] a.category-button .name{padding:.25rem 1rem;margin-block:auto;font-size:.9375rem;line-height:1.5rem;font-weight:800}:host[data-size=m] a.category-button .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] a.category-button{width:100%;height:10rem}:host[data-size=s] a.category-button .img-wrapper{max-height:7rem}:host[data-size=s] a.category-button .name{padding:.25rem .5rem;margin-block:auto;font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=s] a.category-button .name .skeleton-name{width:7rem;height:.75rem}\n"] }]
81
+ args: [{ selector: 'sc-category-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative\">\n <a\n (tuiHoveredChange)=\"onHovered($event)\"\n [routerLink]=\"href ?? null\"\n class=\"category-button flex flex-col overflow-hidden rounded-tui-radius-m border border-tui-base-04 text-center\"\n >\n <div class=\"img-wrapper w-full grow overflow-hidden\">\n <picture *ngIf=\"category\">\n @if (category.properties?.imageWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"category.properties?.imageWebp | scMediaImageTransformer\"\n />\n }\n <img\n [src]=\"category.properties?.image | scMediaImageTransformer: true\"\n [alt]=\"category.name\"\n [ngClass]=\"{ '!object-contain p-2': appearance() === 'normal' || !category.properties?.image }\"\n class=\"size-full rounded-xl object-cover\"\n />\n </picture>\n <!-- \u0411\u043B\u043E\u043A \u0434\u043B\u044F \u0441\u043A\u0435\u043B\u0435\u0442\u043E\u043D\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 -->\n <div\n *ngIf=\"!category\"\n class=\"img-wrapper size-full bg-tui-base-02\"\n ></div>\n </div>\n\n <div class=\"name flex w-full items-center justify-center\">\n @if (category) {\n @if (enableHover && !isMobile) {\n <tui-line-clamp\n [content]=\"category.name\"\n class=\"pointer-events-none\"\n [lineHeight]=\"size === 'm' ? 26 : 24\"\n [linesLimit]=\"isHover ? 4 : 2\"\n />\n } @else {\n {{ category.name }}\n }\n } @else {\n <div class=\"skeleton-name rounded-tui-radius-s bg-tui-base-02\"></div>\n }\n </div>\n </a>\n <sc-favorite-button\n *ngIf=\"category && (authStatus$ | async)\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"category.isFavorite\"\n (clickEvent)=\"clickOnFavoriteEvent.emit()\"\n class=\"absolute left-1 top-1\"\n />\n</div>\n", styles: [":host{--tui-duration: .15s}:host[data-size=m] a.category-button{width:100%;height:12.5rem}:host[data-size=m] a.category-button .img-wrapper{max-height:8.75rem}:host[data-size=m] a.category-button .name{padding:.25rem 1rem;margin-block:auto;font-size:.9375rem;line-height:1.5rem;font-weight:800}:host[data-size=m] a.category-button .name .skeleton-name{width:10rem;height:1rem}:host[data-size=s] a.category-button{width:100%;height:10rem}:host[data-size=s] a.category-button .img-wrapper{max-height:7rem}:host[data-size=s] a.category-button .name{padding:.25rem .5rem;margin-block:auto;font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=s] a.category-button .name .skeleton-name{width:7rem;height:.75rem}\n"] }]
89
82
  }], ctorParameters: () => [{ type: undefined, decorators: [{
90
83
  type: Inject,
91
84
  args: [SC_URLS]
@@ -106,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
106
99
  }], href: [{
107
100
  type: Input
108
101
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9jYXRlZ29yeS1jYXJkL3NjLWNhdGVnb3J5LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY2F0ZWdvcnktY2FyZC9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQUk3RDs7R0FFRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUEwRGhDOzs7Ozs7T0FNRztJQUNILFlBQ3NDLElBQWEsRUFDRyxpQkFBeUIsRUFDMUQsR0FBc0I7UUFGTCxTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ0csc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBQzFELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBN0QzQzs7V0FFRztRQUdJLFNBQUksR0FBYSxHQUFHLENBQUM7UUFFNUIsbUNBQW1DO1FBQ25DOztXQUVHO1FBQ0ksZUFBVSxHQUFrRCxLQUFLLENBQW1DLFFBQVEsQ0FBQyxDQUFDO1FBRXJIOztXQUVHO1FBQ0ksdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRTNDOztXQUVHO1FBQ2EsZ0JBQVcsR0FBd0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXpGOztXQUVHO1FBQ08sWUFBTyxHQUFZLEtBQUssQ0FBQztRQUVuQzs7V0FFRztRQUVJLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRXBDOztXQUVHO1FBQ2EsYUFBUSxHQUFZLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUxRDs7V0FFRztRQUVJLHlCQUFvQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO0lBbUJwRixDQUFDO0lBRUo7Ozs7T0FJRztJQUNPLFNBQVMsQ0FBQyxPQUFnQjtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGlCQUFpQixDQUFDLFFBQW9CO1FBQzVDLE9BQU8sUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQzFILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWTtRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0FoR1EsdUJBQXVCLGtCQWtFcEIsT0FBTyxhQUNQLHVCQUF1QjttR0FuRTFCLHVCQUF1Qix3ekJDZnBDLG82REErQ0E7OzRGRGhDYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07OzBCQW9FMUMsTUFBTTsyQkFBQyxPQUFPOzswQkFDZCxNQUFNOzJCQUFDLHVCQUF1Qjt5RUE5RDVCLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxJQUFJO3NCQUZWLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQTRCdEIsV0FBVztzQkFEakIsS0FBSztnQkFZQyxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEluamVjdCwgaW5qZWN0LCBJbnB1dCwgaW5wdXQsIElucHV0U2lnbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5ELCBTQ19VUkxTLCBTY0F1dGhTZXJ2aWNlLCBTY0NhdGVnb3J5LCBTY0lVcmxzIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUVUlfSVNfTU9CSUxFLCBUdWlMb29zZVVuaW9uIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlTaXplUyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtCw0YDRgtC+0YfQutCwINC60LDRgtC10LPQvtGA0LjQuC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1jYXRlZ29yeS1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0NhdGVnb3J5Q2FyZENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1INC+INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjYXRlZ29yeT86IFNjQ2F0ZWdvcnk7XG5cbiAgICAvKipcbiAgICAgKiDQoNCw0LfQvNC10YAg0LrQsNGA0YLQvtGH0LrQuCDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICAvLyBUT0RPOiDQn9C10YDQtdC00LXQu9Cw0YLRjCDQvdCwIEhvc3RCaW5kaW5nLlxuICAgIC8qKlxuICAgICAqINCS0LjQtCDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60LDRgNGC0L7Rh9C60LguXG4gICAgICovXG4gICAgcHVibGljIGFwcGVhcmFuY2U6IElucHV0U2lnbmFsPFR1aUxvb3NlVW5pb248J3Jvb3QnIHwgJ25vcm1hbCc+PiA9IGlucHV0PFR1aUxvb3NlVW5pb248J3Jvb3QnIHwgJ25vcm1hbCc+Pignbm9ybWFsJyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC70L7QsNC00LXRgCDQtNC70Y8g0LrQvdC+0L/QutC4INC40LfQsdGA0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQuCDQutCw0YLQtdCz0L7RgNC40LkuXG4gICAgICovXG4gICAgcHVibGljIGZhdm9yaXRlU2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdGC0LDRgtGD0YHQsCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdXRoU3RhdHVzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGluamVjdChTY0F1dGhTZXJ2aWNlKS5nZXRBdXRoQ2hhbmdlKCk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDQvdCw0LLQtdC00LXQvdC40Y8g0L3QsCDQutCw0YDRgtC+0YfQutGDLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc0hvdmVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRh9GC0L4g0LrQsNGC0LXQs9C+0YDQuNGPINC40LzQtdC10YIg0L/QvtCy0LXQtNC10L3QuNC1INC90LDQstC10LTQtdC90LjRjyDQuCDRgdC60YDRi9GC0LjRjyDQvdCw0LfQstCw0L3QuNGPLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVuYWJsZUhvdmVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0L7RgtC+0LHRgNCw0LbQsNC10YLRgdGPINGN0YLQvtGCINC60L7QvNC/0L7QvdC10L3RgiDQvdCwINC80L7QsdC40LvRjNC90L7QvCDRg9GB0YLRgNC+0LnRgdGC0LLQtSDQuNC70Lgg0L3QtdGCLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbiA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC40LfQsdGA0LDQvdC90L7QuSDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrT25GYXZvcml0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8U2NDYXRlZ29yeT4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQ2F0ZWdvcnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCDRgdGC0YDQsNC90LjRhtGDINC60LDRgtC10LPQvtGA0LjQuC4g0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC40LzQtdC90L3QviBgaHJlZmAsINGC0LDQuiDQutCw0Log0L7RgdGC0LDQvdC+0LLQuNGC0Ywg0YHQvtCx0YvRgtC40LUg0LrQu9C40LrQsCDQtNC70Y8gYHJvdXRlckxpbmtgINC90LUg0LLRi9GI0LvQvi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBocmVmPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBDYXRlZ29yeUNhcmRDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVybHMg0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKiBAcGFyYW0gcGF0aEltYWdlTm90Rm91bmQg0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9Jy5cbiAgICAgKiBAcGFyYW0gY2RyINCe0LHRitC10LrRgiDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC+0LHQvdCw0YDRg9C20LXQvdC40LXQvCDQuNC30LzQtdC90LXQvdC40LkuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCkgcHJpdmF0ZSByZWFkb25seSBwYXRoSW1hZ2VOb3RGb3VuZDogc3RyaW5nLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjyDQvdCw0LLQtdC00LXQvdC40Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXNIb3ZlciDQn9GA0LjQt9C90LDQuiDQvdCw0LLQtdC00LXQvdC40Y8g0L3QsCDQutCw0YDRgtC+0YfQutGDLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvbkhvdmVyZWQoaXNIb3ZlcjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSG92ZXIgPSBpc0hvdmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YPRgtGMINC6INC40LfQvtCx0YDQsNC20LXQvdC40Y4g0LrQsNGC0LXQs9C+0YDQuNC4LiDQldGB0LvQuCDQv9GD0YLRjCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCLCDRgtC+INCy0LXRgNC90ZHRgiDQuNC30L7QsdGA0LDQttC10L3QuNC1INC/0L4t0YPQvNC+0LvRh9Cw0L3QuNGOIChcInByb2R1Y3Rfbm90X2ZvdW5kXCIpLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5INCU0LDQvdC90YvQtSDQviDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldENhdGVnb3J5SW1nVVJMKGNhdGVnb3J5OiBTY0NhdGVnb3J5KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGNhdGVnb3J5LnByb3BlcnRpZXM/LmltYWdlID8gYCR7dGhpcy51cmxzLmltZ1NlcnZlclVybH0vJHtjYXRlZ29yeS5wcm9wZXJ0aWVzLmltYWdlfWAgOiB0aGlzLnBhdGhJbWFnZU5vdEZvdW5kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC60L7QvNC/0L7QvdC10L3RgiDQsiDQvtGH0LXRgNC10LTRjCDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1LlxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFya0ZvckNoZWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICA8YVxuICAgICAgICAodHVpSG92ZXJlZENoYW5nZSk9XCJvbkhvdmVyZWQoJGV2ZW50KVwiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cImhyZWYgPz8gbnVsbFwiXG4gICAgICAgIGNsYXNzPVwiY2F0ZWdvcnktYnV0dG9uIHJvdW5kZWQtdHVpLXJhZGl1cy1tIGJvcmRlci10dWktYmFzZS0wNCBmbGV4IGZsZXgtY29sIG92ZXJmbG93LWhpZGRlbiBib3JkZXIgdGV4dC1jZW50ZXJcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyIHctZnVsbCBncm93IG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwiY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiZ2V0Q2F0ZWdvcnlJbWdVUkwoY2F0ZWdvcnkpXCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGVnb3J5Lm5hbWVcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJyFvYmplY3QtY29udGFpbiBwLTInOiBhcHBlYXJhbmNlKCkgPT09ICdub3JtYWwnIHx8ICFnZXRDYXRlZ29yeUltZ1VSTChjYXRlZ29yeSkgfVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzaXplLWZ1bGwgcm91bmRlZC14bCBvYmplY3QtY292ZXJcIlxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPCEtLSDQkdC70L7QuiDQtNC70Y8g0YHQutC10LvQtdGC0L7QvdCwINC60LDRgNGC0L7Rh9C60LggLS0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1nLXdyYXBwZXIgYmctdHVpLWJhc2UtMDIgc2l6ZS1mdWxsXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICBAaWYgKGNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgQGlmIChlbmFibGVIb3ZlciAmJiAhaXNNb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPHR1aS1saW5lLWNsYW1wXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJjYXRlZ29yeS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG9pbnRlci1ldmVudHMtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGluZUhlaWdodF09XCJzaXplID09PSAnbScgPyAyNiA6IDI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5lc0xpbWl0XT1cImlzSG92ZXIgPyA0IDogMlwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHt7IGNhdGVnb3J5Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbGV0b24tbmFtZSByb3VuZGVkLXR1aS1yYWRpdXMtcyBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2E+XG4gICAgPHNjLWZhdm9yaXRlLWJ1dHRvblxuICAgICAgICAqbmdJZj1cImNhdGVnb3J5ICYmIChhdXRoU3RhdHVzJCB8IGFzeW5jKVwiXG4gICAgICAgIFtzaG93TG9hZGVyXT1cImZhdm9yaXRlU2hvd0xvYWRlclwiXG4gICAgICAgIFtpc0Zhdm9yaXRlXT1cImNhdGVnb3J5LmlzRmF2b3JpdGVcIlxuICAgICAgICAoY2xpY2tFdmVudCk9XCJjbGlja09uRmF2b3JpdGVFdmVudC5lbWl0KClcIlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIGxlZnQtMSB0b3AtMVwiXG4gICAgLz5cbjwvZGl2PlxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9jYXRlZ29yeS1jYXJkL3NjLWNhdGVnb3J5LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvY2F0ZWdvcnktY2FyZC9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFJN0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBMERoQzs7Ozs7O09BTUc7SUFDSCxZQUNzQyxJQUFhLEVBQ0csaUJBQXlCLEVBQzFELEdBQXNCO1FBRkwsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUMxRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTdEM0M7O1dBRUc7UUFHSSxTQUFJLEdBQWEsR0FBRyxDQUFDO1FBRTVCLG1DQUFtQztRQUNuQzs7V0FFRztRQUNJLGVBQVUsR0FBa0QsS0FBSyxDQUFtQyxRQUFRLENBQUMsQ0FBQztRQUVySDs7V0FFRztRQUNJLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUUzQzs7V0FFRztRQUNhLGdCQUFXLEdBQXdCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV6Rjs7V0FFRztRQUNPLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFFSSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUVwQzs7V0FFRztRQUNhLGFBQVEsR0FBWSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUQ7O1dBRUc7UUFFSSx5QkFBb0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQW1CcEYsQ0FBQztJQUVKOzs7O09BSUc7SUFDTyxTQUFTLENBQUMsT0FBZ0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDOytHQXZGUSx1QkFBdUIsa0JBa0VwQixPQUFPLGFBQ1AsdUJBQXVCO21HQW5FMUIsdUJBQXVCLHd6QkNmcEMsa3dFQXFEQTs7NEZEdENhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs7MEJBb0UxQyxNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsdUJBQXVCO3lFQTlENUIsUUFBUTtzQkFEZCxLQUFLO2dCQVFDLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBNEJ0QixXQUFXO3NCQURqQixLQUFLO2dCQVlDLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFPQSxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBpbmplY3QsIElucHV0LCBpbnB1dCwgSW5wdXRTaWduYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMsIFNjQXV0aFNlcnZpY2UsIFNjQ2F0ZWdvcnksIFNjSVVybHMgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9JU19NT0JJTEUsIFR1aUxvb3NlVW5pb24gfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aVNpemVTIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqINCa0LDRgNGC0L7Rh9C60LAg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWNhdGVnb3J5LWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2F0ZWdvcnlDYXJkQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L4g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhdGVnb3J5PzogU2NDYXRlZ29yeTtcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9C80LXRgCDQutCw0YDRgtC+0YfQutC4INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyA9ICdtJztcblxuICAgIC8vIFRPRE86INCf0LXRgNC10LTQtdC70LDRgtGMINC90LAgSG9zdEJpbmRpbmcuXG4gICAgLyoqXG4gICAgICog0JLQuNC0INC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGA0YLQvtGH0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXBwZWFyYW5jZTogSW5wdXRTaWduYWw8VHVpTG9vc2VVbmlvbjwncm9vdCcgfCAnbm9ybWFsJz4+ID0gaW5wdXQ8VHVpTG9vc2VVbmlvbjwncm9vdCcgfCAnbm9ybWFsJz4+KCdub3JtYWwnKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0LvQvtCw0LTQtdGAINC00LvRjyDQutC90L7Qv9C60Lgg0LjQt9Cx0YDQsNC90L3Ri9GFINGC0L7QstCw0YDQvtCyINC4INC60LDRgtC10LPQvtGA0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZmF2b3JpdGVTaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0YLQsNGC0YPRgdCwINCw0LLRgtC+0YDQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dGhTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gaW5qZWN0KFNjQXV0aFNlcnZpY2UpLmdldEF1dGhDaGFuZ2UoKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INC90LDQstC10LTQtdC90LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzSG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGH0YLQviDQutCw0YLQtdCz0L7RgNC40Y8g0LjQvNC10LXRgiDQv9C+0LLQtdC00LXQvdC40LUg0L3QsNCy0LXQtNC10L3QuNGPINC4INGB0LrRgNGL0YLQuNGPINC90LDQt9Cy0LDQvdC40Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW5hYmxlSG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDQvtGC0L7QsdGA0LDQttCw0LXRgtGB0Y8g0Y3RgtC+0YIg0LrQvtC80L/QvtC90LXQvdGCINC90LAg0LzQvtCx0LjQu9GM0L3QvtC8INGD0YHRgtGA0L7QudGB0YLQstC1INC40LvQuCDQvdC10YIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LjQt9Cx0YDQsNC90L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tPbkZhdm9yaXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY0NhdGVnb3J5PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDYXRlZ29yeT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINGB0YLRgNCw0L3QuNGG0YMg0LrQsNGC0LXQs9C+0YDQuNC4LiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LjQvNC10L3QvdC+IGBocmVmYCwg0YLQsNC6INC60LDQuiDQvtGB0YLQsNC90L7QstC40YLRjCDRgdC+0LHRi9GC0LjQtSDQutC70LjQutCwINC00LvRjyBgcm91dGVyTGlua2Ag0L3QtSDQstGL0YjQu9C+LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhyZWY/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIENhdGVnb3J5Q2FyZENvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqIEBwYXJhbSBwYXRoSW1hZ2VOb3RGb3VuZCDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqIEBwYXJhbSBjZHIg0J7QsdGK0LXQutGCINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0L7QsdC90LDRgNGD0LbQtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0NfVVJMUykgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzLFxuICAgICAgICBASW5qZWN0KFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5EKSBwcml2YXRlIHJlYWRvbmx5IHBhdGhJbWFnZU5vdEZvdW5kOiBzdHJpbmcsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INGB0L7QsdGL0YLQuNGPINC90LDQstC10LTQtdC90LjRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpc0hvdmVyINCf0YDQuNC30L3QsNC6INC90LDQstC10LTQtdC90LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uSG92ZXJlZChpc0hvdmVyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNIb3ZlciA9IGlzSG92ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQvtC80L/QvtC90LXQvdGCINCyINC+0YfQtdGA0LXQtNGMINC90LAg0L7QsdC90L7QstC70LXQvdC40LUuXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBtYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgIDxhXG4gICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSG92ZXJlZCgkZXZlbnQpXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiaHJlZiA/PyBudWxsXCJcbiAgICAgICAgY2xhc3M9XCJjYXRlZ29yeS1idXR0b24gZmxleCBmbGV4LWNvbCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC10dWktcmFkaXVzLW0gYm9yZGVyIGJvcmRlci10dWktYmFzZS0wNCB0ZXh0LWNlbnRlclwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXIgdy1mdWxsIGdyb3cgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICA8cGljdHVyZSAqbmdJZj1cImNhdGVnb3J5XCI+XG4gICAgICAgICAgICAgICAgQGlmIChjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZVdlYnApIHtcbiAgICAgICAgICAgICAgICAgICAgPHNvdXJjZVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImltYWdlL3dlYnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY3NldF09XCJjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZVdlYnAgfCBzY01lZGlhSW1hZ2VUcmFuc2Zvcm1lclwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjYXRlZ29yeS5wcm9wZXJ0aWVzPy5pbWFnZSB8IHNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyOiB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJjYXRlZ29yeS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnIW9iamVjdC1jb250YWluIHAtMic6IGFwcGVhcmFuY2UoKSA9PT0gJ25vcm1hbCcgfHwgIWNhdGVnb3J5LnByb3BlcnRpZXM/LmltYWdlIH1cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpemUtZnVsbCByb3VuZGVkLXhsIG9iamVjdC1jb3ZlclwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgICAgIDwhLS0g0JHQu9C+0Log0LTQu9GPINGB0LrQtdC70LXRgtC+0L3QsCDQutCw0YDRgtC+0YfQutC4IC0tPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImltZy13cmFwcGVyIHNpemUtZnVsbCBiZy10dWktYmFzZS0wMlwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIGZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgQGlmIChjYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgIEBpZiAoZW5hYmxlSG92ZXIgJiYgIWlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDx0dWktbGluZS1jbGFtcFxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiY2F0ZWdvcnkubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmVIZWlnaHRdPVwic2l6ZSA9PT0gJ20nID8gMjYgOiAyNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGluZXNMaW1pdF09XCJpc0hvdmVyID8gNCA6IDJcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB7eyBjYXRlZ29yeS5uYW1lIH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLW5hbWUgcm91bmRlZC10dWktcmFkaXVzLXMgYmctdHVpLWJhc2UtMDJcIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9hPlxuICAgIDxzYy1mYXZvcml0ZS1idXR0b25cbiAgICAgICAgKm5nSWY9XCJjYXRlZ29yeSAmJiAoYXV0aFN0YXR1cyQgfCBhc3luYylcIlxuICAgICAgICBbc2hvd0xvYWRlcl09XCJmYXZvcml0ZVNob3dMb2FkZXJcIlxuICAgICAgICBbaXNGYXZvcml0ZV09XCJjYXRlZ29yeS5pc0Zhdm9yaXRlXCJcbiAgICAgICAgKGNsaWNrRXZlbnQpPVwiY2xpY2tPbkZhdm9yaXRlRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTEgdG9wLTFcIlxuICAgIC8+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';
2
+ import { TuiHovered, TuiRepeatTimes } from '@taiga-ui/cdk';
3
+ import { TuiButton } from '@taiga-ui/core';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Компонент просмотра изображений через событие наведения.
7
+ */
8
+ export class ScHoverImageCarouselComponent {
9
+ constructor() {
10
+ /**
11
+ * Массив изображений.
12
+ */
13
+ this.images = input.required();
14
+ /**
15
+ * Признак что необходимо отобразить элементы управления.
16
+ */
17
+ this.isShowActions = input(true);
18
+ /**
19
+ * {@link WritableSignal} для отслеживания текущего индекса изображения.
20
+ */
21
+ this.currentIndex = signal(0);
22
+ /**
23
+ * {@link WritableSignal} для отслеживания текущего индекса изображения.
24
+ */
25
+ this.currentImage = computed(() => this.images()[this.currentIndex()]);
26
+ /**
27
+ * Название товара.
28
+ */
29
+ this.productName = input();
30
+ }
31
+ /**
32
+ * Обработчик события `mousemove.silent`.
33
+ *
34
+ * @param offsetX Отступ курсора мыши по оси X от края {@link HTMLElement}.
35
+ * @param target Объект {@link HTMLElement} в котором лежат изображения
36
+ */
37
+ onHover(offsetX, target) {
38
+ if (this.images().length <= 1 || offsetX < 0) {
39
+ return;
40
+ }
41
+ const elementWidth = target.offsetWidth;
42
+ const hoverPercentage = Math.min(offsetX / elementWidth, 1);
43
+ const newIndex = Math.min(Math.floor(hoverPercentage * this.images().length), this.images().length - 1);
44
+ this.currentIndex.set(newIndex);
45
+ }
46
+ /**
47
+ * Обработчик события `mouseleave.silent`.
48
+ */
49
+ onLeave() {
50
+ if (this.images.length <= 1) {
51
+ return;
52
+ }
53
+ this.currentIndex.set(0);
54
+ }
55
+ /**
56
+ * Обработчик события наведения указателя мыши на точку.
57
+ *
58
+ * @param hovered Признак что указатель мыши наведен на точку.
59
+ * @param index Индекс изображения, который соответствует точке.
60
+ */
61
+ onDotHovered(hovered, index) {
62
+ if (hovered) {
63
+ this.currentIndex.set(index);
64
+ }
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScHoverImageCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScHoverImageCarouselComponent, isStandalone: true, selector: "sc-hover-image-carousel", inputs: { images: { classPropertyName: "images", publicName: "images", isSignal: true, isRequired: true, transformFunction: null }, isShowActions: { classPropertyName: "isShowActions", publicName: "isShowActions", isSignal: true, isRequired: false, transformFunction: null }, productName: { classPropertyName: "productName", publicName: "productName", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousemove.silent": "onHover($event.offsetX, $event.target)", "mouseleave.silent": "onLeave()" } }, ngImport: i0, template: "<div\n class=\"overflow-hidden rounded-xl\"\n [class.mb-2]=\"images().length <= 1 && isShowActions()\"\n [style.aspect-ratio]=\"'20/19'\"\n>\n @let image = currentImage();\n <picture>\n @if (image.imageWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"image.imageWebp\"\n />\n }\n\n @if (image.image) {\n <img\n [src]=\"image.image\"\n [alt]=\"image.alt\"\n class=\"size-full rounded-xl object-contain\"\n />\n }\n </picture>\n</div>\n@if (images().length > 1 && isShowActions()) {\n <div\n (mousemove.silent)=\"$event.stopPropagation()\"\n class=\"flex justify-center\"\n >\n <button\n *tuiRepeatTimes=\"let indexItem of images().length\"\n #element\n tuiButton\n type=\"button\"\n class=\"button button_small\"\n [appearance]=\"indexItem === currentIndex() ? 'primary' : 'secondary'\"\n (tuiHoveredChange)=\"onDotHovered($event, indexItem)\"\n ></button>\n </div>\n}\n", styles: [".button{flex-shrink:0}.button:first-child{margin-inline-start:0}.button:last-child{margin-inline-end:0}.button_small{inline-size:.5rem;block-size:.5rem;font-size:0;padding:0;margin:0}.button_small:not(:first-child){margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScHoverImageCarouselComponent, decorators: [{
70
+ type: Component,
71
+ args: [{ standalone: true, selector: 'sc-hover-image-carousel', imports: [TuiRepeatTimes, TuiButton, TuiHovered], host: {
72
+ '(mousemove.silent)': 'onHover($event.offsetX, $event.target)',
73
+ '(mouseleave.silent)': 'onLeave()',
74
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"overflow-hidden rounded-xl\"\n [class.mb-2]=\"images().length <= 1 && isShowActions()\"\n [style.aspect-ratio]=\"'20/19'\"\n>\n @let image = currentImage();\n <picture>\n @if (image.imageWebp) {\n <source\n type=\"image/webp\"\n [srcset]=\"image.imageWebp\"\n />\n }\n\n @if (image.image) {\n <img\n [src]=\"image.image\"\n [alt]=\"image.alt\"\n class=\"size-full rounded-xl object-contain\"\n />\n }\n </picture>\n</div>\n@if (images().length > 1 && isShowActions()) {\n <div\n (mousemove.silent)=\"$event.stopPropagation()\"\n class=\"flex justify-center\"\n >\n <button\n *tuiRepeatTimes=\"let indexItem of images().length\"\n #element\n tuiButton\n type=\"button\"\n class=\"button button_small\"\n [appearance]=\"indexItem === currentIndex() ? 'primary' : 'secondary'\"\n (tuiHoveredChange)=\"onDotHovered($event, indexItem)\"\n ></button>\n </div>\n}\n", styles: [".button{flex-shrink:0}.button:first-child{margin-inline-start:0}.button:last-child{margin-inline-end:0}.button_small{inline-size:.5rem;block-size:.5rem;font-size:0;padding:0;margin:0}.button_small:not(:first-child){margin-left:.5rem}\n"] }]
75
+ }] });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUF1QixNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFM0M7O0dBRUc7QUFhSCxNQUFNLE9BQU8sNkJBQTZCO0lBWjFDO1FBYUk7O1dBRUc7UUFDYSxXQUFNLEdBQTRCLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUUvRTs7V0FFRztRQUNhLGtCQUFhLEdBQXlCLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUUzRTs7V0FFRztRQUNhLGlCQUFZLEdBQTJCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqRTs7V0FFRztRQUNhLGlCQUFZLEdBQXFCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRzs7V0FFRztRQUNhLGdCQUFXLEdBQW9DLEtBQUssRUFBc0IsQ0FBQztLQTJDOUY7SUF6Q0c7Ozs7O09BS0c7SUFDSyxPQUFPLENBQUMsT0FBZSxFQUFFLE1BQW1CO1FBQ2hELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV4RyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxPQUFPO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLFlBQVksQ0FBQyxPQUFnQixFQUFFLEtBQWE7UUFDbEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDOytHQWxFUSw2QkFBNkI7bUdBQTdCLDZCQUE2Qiw0bUJDcEIxQyxrb0NBdUNBLHFTRDVCYyxjQUFjLDZHQUFFLFNBQVMsb0lBQUUsVUFBVTs7NEZBU3RDLDZCQUE2QjtrQkFaekMsU0FBUztpQ0FDTSxJQUFJLFlBQ04seUJBQXlCLFdBQzFCLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFHMUM7d0JBQ0Ysb0JBQW9CLEVBQUUsd0NBQXdDO3dCQUM5RCxxQkFBcUIsRUFBRSxXQUFXO3FCQUNyQyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgSW5wdXRTaWduYWwsIFNpZ25hbCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NJSW1hZ2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFR1aUhvdmVyZWQsIFR1aVJlcGVhdFRpbWVzIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlCdXR0b24gfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQvtGB0LzQvtGC0YDQsCDQuNC30L7QsdGA0LDQttC10L3QuNC5INGH0LXRgNC10Lcg0YHQvtCx0YvRgtC40LUg0L3QsNCy0LXQtNC10L3QuNGPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwnLFxuICAgIGltcG9ydHM6IFtUdWlSZXBlYXRUaW1lcywgVHVpQnV0dG9uLCBUdWlIb3ZlcmVkXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zYy1ob3Zlci1pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnKG1vdXNlbW92ZS5zaWxlbnQpJzogJ29uSG92ZXIoJGV2ZW50Lm9mZnNldFgsICRldmVudC50YXJnZXQpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlLnNpbGVudCknOiAnb25MZWF2ZSgpJyxcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0hvdmVySW1hZ2VDYXJvdXNlbENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JzQsNGB0YHQuNCyINC40LfQvtCx0YDQsNC20LXQvdC40LkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGltYWdlczogSW5wdXRTaWduYWw8U2NJSW1hZ2VbXT4gPSBpbnB1dC5yZXF1aXJlZDxTY0lJbWFnZVtdPigpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINGN0LvQtdC80LXQvdGC0Ysg0YPQv9GA0LDQstC70LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGlzU2hvd0FjdGlvbnM6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgV3JpdGFibGVTaWduYWx9INC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y8g0YLQtdC60YPRidC10LPQviDQuNC90LTQtdC60YHQsCDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW50SW5kZXg6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj4gPSBzaWduYWwoMCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgV3JpdGFibGVTaWduYWx9INC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y8g0YLQtdC60YPRidC10LPQviDQuNC90LTQtdC60YHQsCDQuNC30L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW50SW1hZ2U6IFNpZ25hbDxTY0lJbWFnZT4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmltYWdlcygpW3RoaXMuY3VycmVudEluZGV4KCldKTtcblxuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9kdWN0TmFtZTogSW5wdXRTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INGB0L7QsdGL0YLQuNGPIGBtb3VzZW1vdmUuc2lsZW50YC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZzZXRYINCe0YLRgdGC0YPQvyDQutGD0YDRgdC+0YDQsCDQvNGL0YjQuCDQv9C+INC+0YHQuCBYINC+0YIg0LrRgNCw0Y8ge0BsaW5rIEhUTUxFbGVtZW50fS5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0INCe0LHRitC10LrRgiB7QGxpbmsgSFRNTEVsZW1lbnR9INCyINC60L7RgtC+0YDQvtC8INC70LXQttCw0YIg0LjQt9C+0LHRgNCw0LbQtdC90LjRj1xuICAgICAqL1xuICAgIHByaXZhdGUgb25Ib3ZlcihvZmZzZXRYOiBudW1iZXIsIHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VzKCkubGVuZ3RoIDw9IDEgfHwgb2Zmc2V0WCA8IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnRXaWR0aCA9IHRhcmdldC5vZmZzZXRXaWR0aDtcbiAgICAgICAgY29uc3QgaG92ZXJQZXJjZW50YWdlID0gTWF0aC5taW4ob2Zmc2V0WCAvIGVsZW1lbnRXaWR0aCwgMSk7XG5cbiAgICAgICAgY29uc3QgbmV3SW5kZXggPSBNYXRoLm1pbihNYXRoLmZsb29yKGhvdmVyUGVyY2VudGFnZSAqIHRoaXMuaW1hZ2VzKCkubGVuZ3RoKSwgdGhpcy5pbWFnZXMoKS5sZW5ndGggLSAxKTtcblxuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleC5zZXQobmV3SW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INGB0L7QsdGL0YLQuNGPIGBtb3VzZWxlYXZlLnNpbGVudGAuXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkxlYXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbWFnZXMubGVuZ3RoIDw9IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3VycmVudEluZGV4LnNldCgwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjyDQvdCw0LLQtdC00LXQvdC40Y8g0YPQutCw0LfQsNGC0LXQu9GPINC80YvRiNC4INC90LAg0YLQvtGH0LrRgy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBob3ZlcmVkINCf0YDQuNC30L3QsNC6INGH0YLQviDRg9C60LDQt9Cw0YLQtdC70Ywg0LzRi9GI0Lgg0L3QsNCy0LXQtNC10L0g0L3QsCDRgtC+0YfQutGDLlxuICAgICAqIEBwYXJhbSBpbmRleCDQmNC90LTQtdC60YEg0LjQt9C+0LHRgNCw0LbQtdC90LjRjywg0LrQvtGC0L7RgNGL0Lkg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YLQvtGH0LrQtS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25Eb3RIb3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4sIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGhvdmVyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEluZGV4LnNldChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC14bFwiXG4gICAgW2NsYXNzLm1iLTJdPVwiaW1hZ2VzKCkubGVuZ3RoIDw9IDEgJiYgaXNTaG93QWN0aW9ucygpXCJcbiAgICBbc3R5bGUuYXNwZWN0LXJhdGlvXT1cIicyMC8xOSdcIlxuPlxuICAgIEBsZXQgaW1hZ2UgPSBjdXJyZW50SW1hZ2UoKTtcbiAgICA8cGljdHVyZT5cbiAgICAgICAgQGlmIChpbWFnZS5pbWFnZVdlYnApIHtcbiAgICAgICAgICAgIDxzb3VyY2VcbiAgICAgICAgICAgICAgICB0eXBlPVwiaW1hZ2Uvd2VicFwiXG4gICAgICAgICAgICAgICAgW3NyY3NldF09XCJpbWFnZS5pbWFnZVdlYnBcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoaW1hZ2UuaW1hZ2UpIHtcbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlLmltYWdlXCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlLmFsdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzaXplLWZ1bGwgcm91bmRlZC14bCBvYmplY3QtY29udGFpblwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgPC9waWN0dXJlPlxuPC9kaXY+XG5AaWYgKGltYWdlcygpLmxlbmd0aCA+IDEgJiYgaXNTaG93QWN0aW9ucygpKSB7XG4gICAgPGRpdlxuICAgICAgICAobW91c2Vtb3ZlLnNpbGVudCk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXJcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGluZGV4SXRlbSBvZiBpbWFnZXMoKS5sZW5ndGhcIlxuICAgICAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBidXR0b25fc21hbGxcIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiaW5kZXhJdGVtID09PSBjdXJyZW50SW5kZXgoKSA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uRG90SG92ZXJlZCgkZXZlbnQsIGluZGV4SXRlbSlcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export * from './download-price-list/sc-download-price-list.component';
2
2
  export * from './category-card/sc-category-card.component';
3
+ export * from './hover-image-carousel/sc-hover-image-carousel.component';
3
4
  export * from './input-quantity/sc-input-quantity.component';
4
5
  export * from './notify-when-in-stock-dialog';
5
6
  export * from './price-card/sc-price-card.component';
@@ -9,4 +10,4 @@ export * from './price-list-pagination/sc-price-list-pagination.component';
9
10
  export * from './price-warehouse-stock/sc-price-warehouse-stock.component';
10
11
  export * from './sc-favorite-button/sc-favorite-button.component';
11
12
  export * from './sc-catalog.module';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Rvd25sb2FkLXByaWNlLWxpc3Qvc2MtZG93bmxvYWQtcHJpY2UtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXRlZ29yeS1jYXJkL3NjLWNhdGVnb3J5LWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtcXVhbnRpdHkvc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZ5LXdoZW4taW4tc3RvY2stZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ByaWNlLWNhcmQtaW5saW5lL3NjLXByaWNlLWNhcmQtaW5saW5lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ByaWNlLWhpc3Rvcnkvc2MtcHJpY2UtaGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS1saXN0LXBhZ2luYXRpb24vc2MtcHJpY2UtbGlzdC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ByaWNlLXdhcmVob3VzZS1zdG9jay9zYy1wcmljZS13YXJlaG91c2Utc3RvY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtZmF2b3JpdGUtYnV0dG9uL3NjLWZhdm9yaXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1jYXRhbG9nLm1vZHVsZSc7XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQtcHJpY2UtbGlzdC9zYy1kb3dubG9hZC1wcmljZS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LWNhcmQvc2MtY2F0ZWdvcnktY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ob3Zlci1pbWFnZS1jYXJvdXNlbC9zYy1ob3Zlci1pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1xdWFudGl0eS9zYy1pbnB1dC1xdWFudGl0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZnktd2hlbi1pbi1zdG9jay1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJpY2UtaGlzdG9yeS9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ByaWNlLWxpc3QtcGFnaW5hdGlvbi9zYy1wcmljZS1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJpY2Utd2FyZWhvdXNlLXN0b2NrL3NjLXByaWNlLXdhcmVob3VzZS1zdG9jay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1mYXZvcml0ZS1idXR0b24vc2MtZmF2b3JpdGUtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWNhdGFsb2cubW9kdWxlJztcbiJdfQ==
@@ -6,7 +6,7 @@ import * as i1 from "@angular/common";
6
6
  import * as i2 from "@taiga-ui/core";
7
7
  import * as i3 from "@angular/forms";
8
8
  import * as i4 from "@taiga-ui/kit";
9
- import * as i5 from "../hover-image-carousel/hover-image-carousel.component";
9
+ import * as i5 from "../hover-image-carousel/sc-hover-image-carousel.component";
10
10
  import * as i6 from "../cost-with-discount/cost-with-discount.component";
11
11
  import * as i7 from "../price-warehouse-stock/sc-price-warehouse-stock.component";
12
12
  import * as i8 from "../sc-favorite-button/sc-favorite-button.component";
@@ -38,7 +38,7 @@ export class ScPriceCardComponent extends AbstractScPriceCard {
38
38
  }
39
39
  }
40
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPriceCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScPriceCardComponent, selector: "sc-price-card", inputs: { size: "size" }, host: { properties: { "attr.data-size": "this.size" } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"\n>\n <div class=\"flex min-h-8 items-center justify-between\">\n <span\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </span>\n\n <div class=\"flex items-center\">\n <tui-icon\n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.history\"\n class=\"text-lg\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n </div>\n\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n class=\"cursor-pointer\"\n />\n <div\n class=\"flex grow flex-col justify-end\"\n [class.gap-1]=\"size === 'm'\"\n >\n <div\n class=\"flex grow flex-col\"\n [class.gap-1]=\"size === 'm'\"\n >\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"name mb-auto\"\n >\n {{ product.name }}\n </a>\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n tuiHintDirection=\"top\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n <sc-cost-with-discount\n [product]=\"product\"\n [size]=\"size\"\n />\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n <div class=\"mt-2 flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"quantityShowLoader\"\n [size]=\"getToCartButtonSize()\"\n class=\"grow !font-extrabold\"\n iconStart=\"@tui.shopping-cart\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [size]=\"size\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n class=\"w-full\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"product.cartItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m] .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i2.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: i2.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i4.TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "component", type: i4.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: i4.TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: i5.HoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions"] }, { kind: "component", type: i6.CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: i7.ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: i8.ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: i9.ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScPriceCardComponent, selector: "sc-price-card", inputs: { size: "size" }, host: { properties: { "attr.data-size": "this.size" } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"\n>\n <div class=\"flex min-h-8 items-center justify-between\">\n <span\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"code text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </span>\n\n <div class=\"flex items-center\">\n <tui-icon\n *ngIf=\"product.isPreviouslyOrdered\"\n icon=\"@tui.history\"\n class=\"text-lg\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n </div>\n\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n class=\"cursor-pointer\"\n />\n <div\n class=\"flex grow flex-col justify-end\"\n [class.gap-1]=\"size === 'm'\"\n >\n <div\n class=\"flex grow flex-col\"\n [class.gap-1]=\"size === 'm'\"\n >\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"name mb-auto\"\n >\n {{ product.name }}\n </a>\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n tuiHintDirection=\"top\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n <sc-cost-with-discount\n [product]=\"product\"\n [size]=\"size\"\n />\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n <div class=\"mt-2 flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"quantityShowLoader\"\n [size]=\"getToCartButtonSize()\"\n class=\"grow !font-extrabold\"\n iconStart=\"@tui.shopping-cart\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [size]=\"size\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n class=\"w-full\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"product.cartItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"card-wrapper relative flex h-full w-auto flex-col rounded-xl p-1\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host[data-size=s] .card-wrapper{font-size:.6875rem;line-height:1rem;font-weight:500}:host[data-size=s] .card-wrapper .name,:host[data-size=s] .card-wrapper .cost{font-size:.8125rem;line-height:1.25rem;font-weight:800}:host[data-size=m] .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host[data-size=m] .card-wrapper .name,:host[data-size=m] .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i2.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: i2.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i4.TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "component", type: i4.TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: i4.TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: i5.ScHoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions", "productName"] }, { kind: "component", type: i6.CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: i7.ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: i8.ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: i9.ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
42
  }
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPriceCardComponent, decorators: [{
44
44
  type: Component,
@@ -10,7 +10,7 @@ import { TuiTextfieldControllerModule } from '@taiga-ui/legacy';
10
10
  import { AbstractScPriceCard } from '../../directives';
11
11
  import { ScFormatDatePipe } from '../../pipes/sc-format-date';
12
12
  import { CostWithDiscountComponent } from '../cost-with-discount/cost-with-discount.component';
13
- import { HoverImageCarouselComponent } from '../hover-image-carousel/hover-image-carousel.component';
13
+ import { ScHoverImageCarouselComponent } from '../hover-image-carousel/sc-hover-image-carousel.component';
14
14
  import { ScInputQuantityComponent } from '../input-quantity/sc-input-quantity.component';
15
15
  import { ScPriceWarehouseStockComponent } from '../price-warehouse-stock/sc-price-warehouse-stock.component';
16
16
  import { ScFavoriteButtonComponent } from '../sc-favorite-button/sc-favorite-button.component';
@@ -27,7 +27,7 @@ export class ScPriceCardInlineComponent extends AbstractScPriceCard {
27
27
  this.type = input('catalogItem');
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPriceCardInlineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ScPriceCardInlineComponent, isStandalone: true, selector: "sc-price-card-inline", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n </div>\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"quantityShowLoader\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"product.cartItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { 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: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: HoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions"] }, { kind: "component", type: CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ScPriceCardInlineComponent, isStandalone: true, selector: "sc-price-card-inline", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SEARCH_TERM_PROVIDERS], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n </div>\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"quantityShowLoader\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"product.cartItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { 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: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiHighlight, selector: "[tuiHighlight]", inputs: ["tuiHighlight", "tuiHighlightColor"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "component", type: ScHoverImageCarouselComponent, selector: "sc-hover-image-carousel", inputs: ["images", "isShowActions", "productName"] }, { kind: "component", type: CostWithDiscountComponent, selector: "sc-cost-with-discount", inputs: ["product", "size"] }, { kind: "component", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "component", type: ScFavoriteButtonComponent, selector: "sc-favorite-button", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "showLoader", "showCross", "ignoreStepValidators", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPriceCardInlineComponent, decorators: [{
33
33
  type: Component,
@@ -45,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
45
45
  TuiAutoFocus,
46
46
  TuiButtonLoading,
47
47
  TuiAvatar,
48
- HoverImageCarouselComponent,
48
+ ScHoverImageCarouselComponent,
49
49
  CostWithDiscountComponent,
50
50
  ScPriceWarehouseStockComponent,
51
51
  ScFavoriteButtonComponent,
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
53
53
  ScFormatDatePipe,
54
54
  ], template: "<div\n *ngIf=\"product; else skeleton\"\n class=\"card-wrapper relative flex w-full gap-4 rounded-xl p-1 hover:bg-tui-background-neutral-1\"\n>\n <sc-hover-image-carousel\n (click)=\"clickCardEvent.emit()\"\n [images]=\"!isMobile ? getCardImagePreviewList(product) : [getCardImagePreview()]\"\n [isShowActions]=\"false\"\n class=\"size-24 shrink-0 cursor-pointer self-center\"\n />\n <div class=\"flex grow flex-col gap-1\">\n <div\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n class=\"text-tui-text-02\"\n >\n \u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}\n </div>\n <div class=\"flex flex-col gap-1\">\n <a\n tuiLink\n [attr.href]=\"href ?? null\"\n [tuiHighlight]=\"(search$ | async) ?? ''\"\n (click)=\"$event.preventDefault(); clickCardEvent.emit()\"\n class=\"!text-body-m-bold\"\n >\n {{ product.name }}\n </a>\n <div\n *ngIf=\"product?.pack\"\n class=\"flex items-center gap-1 text-tui-text-02\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n <tui-icon\n *ngIf=\"product.ignoreMinCountCheck\"\n icon=\"@tui.package\"\n [tuiHint]=\"minCountHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"text-body-xl text-tui-text-01 opacity-90\"\n />\n <ng-template #minCountHint>\n \u0414\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0437\u0430\u043A\u0430\u0437 <br />\n \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E\u0433\u043E <br />\n \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n </ng-template>\n </div>\n\n <sc-cost-with-discount [product]=\"product\" />\n\n <sc-price-warehouse-stock [product]=\"product\" />\n </div>\n </div>\n <div class=\"flex w-40 shrink-0 flex-col justify-between\">\n <div class=\"flex justify-end\">\n <tui-avatar\n *ngIf=\"product.isPreviouslyOrdered\"\n src=\"@tui.history\"\n size=\"s\"\n [style.background]=\"'none'\"\n [style.color]=\"'var(--tui-text-action)'\"\n />\n <sc-favorite-button\n *ngIf=\"authStatus$ | async\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n />\n </div>\n <div class=\"flex gap-2\">\n <button\n *ngIf=\"!showQuantityControl\"\n tuiButton\n (click)=\"clickAddToCartEvent.emit(product)\"\n [loading]=\"quantityShowLoader\"\n size=\"s\"\n iconStart=\"@tui.shopping-cart\"\n class=\"grow !font-extrabold\"\n >\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <sc-input-quantity\n #inputQuantity\n [tuiAutoFocus]=\"autoFocuseQuantityInput()\"\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n size=\"m\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [ignoreStepValidators]=\"product.ignoreMinCountCheck\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n class=\"w-full\"\n />\n <tui-avatar\n *ngIf=\"product.cartItem && !showQuantityControl\"\n src=\"@tui.check\"\n size=\"s\"\n [style.background]=\"'var(--tui-status-warning-pale)'\"\n [style.color]=\"'var(--tui-background-accent-1)'\"\n />\n </div>\n </div>\n</div>\n\n<ng-template #skeleton>\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n</ng-template>\n", styles: [":host tui-badge{--t-padding: .25rem !important}:host .name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}:host .card-wrapper{font-size:.8125rem;line-height:1.25rem;font-weight:500}:host .card-wrapper .name,:host .card-wrapper .cost{font-size:.9375rem;line-height:1.5rem;font-weight:800}\n"] }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7O0FBRS9GOztHQUVHO0FBOEJILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUE3Qm5FOztRQThCb0IsU0FBSSxHQUFHLEtBQUssQ0FBMkMsYUFBYSxDQUFDLENBQUM7S0FDekY7K0dBRlksMEJBQTBCO21HQUExQiwwQkFBMEIsb01BeEJ4QixDQUFDLHFCQUFxQixDQUFDLGlEQzFCdEMsMjlJQTRHQSxnWUQvRVEsWUFBWSx1TEFDWixZQUFZLCtCQUNaLFNBQVMsb0lBQ1QsT0FBTyxvRkFDUCw0QkFBNEIsOEJBQzVCLFdBQVcsc0lBQ1gsbUJBQW1CLDBYQUVuQixPQUFPLDRGQUNQLFlBQVksMEdBQ1osWUFBWSxxRkFDWixnQkFBZ0IsdUhBQ2hCLFNBQVMsd0hBQ1QsMkJBQTJCLHlHQUMzQix5QkFBeUIsK0ZBQ3pCLDhCQUE4QixvSUFDOUIseUJBQXlCLDBJQUN6Qix3QkFBd0I7OzRGQUluQiwwQkFBMEI7a0JBN0J0QyxTQUFTO2lDQUNNLElBQUksWUFDTixzQkFBc0IsYUFHckIsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFDakIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxPQUFPO3dCQUNQLDRCQUE0Qjt3QkFDNUIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLEdBQUcsT0FBTzt3QkFDVixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLGdCQUFnQjtxQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNFQVJDSF9URVJNX1BST1ZJREVSUyB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpQXV0b0ZvY3VzIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aUhpbnQsIFR1aUljb24sIFR1aUxpbmsgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlBdmF0YXIsIFR1aUJ1dHRvbkxvYWRpbmcsIFR1aUhpZ2hsaWdodCB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3knO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFNjUHJpY2VDYXJkIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBTY0Zvcm1hdERhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvc2MtZm9ybWF0LWRhdGUnO1xuaW1wb3J0IHsgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IEhvdmVySW1hZ2VDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4uL2hvdmVyLWltYWdlLWNhcm91c2VsL2hvdmVyLWltYWdlLWNhcm91c2VsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0lucHV0UXVhbnRpdHlDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1xdWFudGl0eS9zYy1pbnB1dC1xdWFudGl0eS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NQcmljZVdhcmVob3VzZVN0b2NrQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJpY2Utd2FyZWhvdXNlLXN0b2NrL3NjLXByaWNlLXdhcmVob3VzZS1zdG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NGYXZvcml0ZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NjLWZhdm9yaXRlLWJ1dHRvbi9zYy1mYXZvcml0ZS1idXR0b24uY29tcG9uZW50JztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAg0LLQviDQstGB0Y4g0YHRgtGA0L7QutGDLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtcHJpY2UtY2FyZC1pbmxpbmUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1jYXJkLWlubGluZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NjLXByaWNlLWNhcmQtaW5saW5lLmNvbXBvbmVudC5zY3NzJyxcbiAgICBwcm92aWRlcnM6IFtTRUFSQ0hfVEVSTV9QUk9WSURFUlNdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIC4uLlR1aUhpbnQsXG4gICAgICAgIFR1aUxpbmssXG4gICAgICAgIFR1aUhpZ2hsaWdodCxcbiAgICAgICAgVHVpQXV0b0ZvY3VzLFxuICAgICAgICBUdWlCdXR0b25Mb2FkaW5nLFxuICAgICAgICBUdWlBdmF0YXIsXG4gICAgICAgIEhvdmVySW1hZ2VDYXJvdXNlbENvbXBvbmVudCxcbiAgICAgICAgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCxcbiAgICAgICAgU2NQcmljZVdhcmVob3VzZVN0b2NrQ29tcG9uZW50LFxuICAgICAgICBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBTY0lucHV0UXVhbnRpdHlDb21wb25lbnQsXG4gICAgICAgIFNjRm9ybWF0RGF0ZVBpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcmljZUNhcmRJbmxpbmVDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNjUHJpY2VDYXJkIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9IGlucHV0PCdjYXRhbG9nSXRlbScgfCAnY2FydEl0ZW0nIHwgJ29yZGVySXRlbSc+KCdjYXRhbG9nSXRlbScpO1xufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiXG4gICAgY2xhc3M9XCJjYXJkLXdyYXBwZXIgcmVsYXRpdmUgZmxleCB3LWZ1bGwgZ2FwLTQgcm91bmRlZC14bCBwLTEgaG92ZXI6YmctdHVpLWJhY2tncm91bmQtbmV1dHJhbC0xXCJcbj5cbiAgICA8c2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWxcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiXG4gICAgICAgIFtpbWFnZXNdPVwiIWlzTW9iaWxlID8gZ2V0Q2FyZEltYWdlUHJldmlld0xpc3QocHJvZHVjdCkgOiBbZ2V0Q2FyZEltYWdlUHJldmlldygpXVwiXG4gICAgICAgIFtpc1Nob3dBY3Rpb25zXT1cImZhbHNlXCJcbiAgICAgICAgY2xhc3M9XCJzaXplLTI0IHNocmluay0wIGN1cnNvci1wb2ludGVyIHNlbGYtY2VudGVyXCJcbiAgICAvPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wgZ2FwLTFcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgW3R1aUhpZ2hsaWdodF09XCIoc2VhcmNoJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQkNGA0YLQuNC60YPQuzoge3sgcHJvZHVjdC5jb2RlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMVwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmID8/IG51bGxcIlxuICAgICAgICAgICAgICAgIFt0dWlIaWdobGlnaHRdPVwiKHNlYXJjaCQgfCBhc3luYykgPz8gJydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIiF0ZXh0LWJvZHktbS1ib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBwcm9kdWN0Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3Q/LnBhY2tcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC10dWktdGV4dC0wMlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg0J3QvtGA0LzQsCDRg9C/0LDQutC+0LLQutC4OiB7eyBwcm9kdWN0LnBhY2sgfX1cbiAgICAgICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9kdWN0Lmlnbm9yZU1pbkNvdW50Q2hlY2tcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiQHR1aS5wYWNrYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW3R1aUhpbnRdPVwibWluQ291bnRIaW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3R1aUhpbnRTaG93RGVsYXldPVwiMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpSGludERpcmVjdGlvbj1cInRvcFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LXhsIHRleHQtdHVpLXRleHQtMDEgb3BhY2l0eS05MFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI21pbkNvdW50SGludD5cbiAgICAgICAgICAgICAgICAgICAg0JTQvtGB0YLRg9C/0LXQvSDQt9Cw0LrQsNC3IDxiciAvPlxuICAgICAgICAgICAgICAgICAgICDQv9GA0L7QuNC30LLQvtC70YzQvdC+0LPQviA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAg0LrQvtC70LjRh9C10YHRgtCy0LBcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxzYy1jb3N0LXdpdGgtZGlzY291bnQgW3Byb2R1Y3RdPVwicHJvZHVjdFwiIC8+XG5cbiAgICAgICAgICAgIDxzYy1wcmljZS13YXJlaG91c2Utc3RvY2sgW3Byb2R1Y3RdPVwicHJvZHVjdFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctNDAgc2hyaW5rLTAgZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCJcbiAgICAgICAgICAgICAgICBzcmM9XCJAdHVpLmhpc3RvcnlcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInbm9uZSdcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0tdHVpLXRleHQtYWN0aW9uKSdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzYy1mYXZvcml0ZS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImF1dGhTdGF0dXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrRmF2b3JpdGVFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImZhdm9yaXRlU2hvd0xvYWRlclwiXG4gICAgICAgICAgICAgICAgW2lzRmF2b3JpdGVdPVwicHJvZHVjdC5pc0Zhdm9yaXRlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFwcm9kdWN0LnByaW1hcnlDYXRlZ29yeT8uaXNGYXZvcml0ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tBZGRUb0NhcnRFdmVudC5lbWl0KHByb2R1Y3QpXCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJxdWFudGl0eVNob3dMb2FkZXJcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnNob3BwaW5nLWNhcnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdyAhZm9udC1leHRyYWJvbGRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCSINC60L7RgNC30LjQvdGDXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxzYy1pbnB1dC1xdWFudGl0eVxuICAgICAgICAgICAgICAgICNpbnB1dFF1YW50aXR5XG4gICAgICAgICAgICAgICAgW3R1aUF1dG9Gb2N1c109XCJhdXRvRm9jdXNlUXVhbnRpdHlJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dRdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJxdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICBbc3RlcF09XCJ1bml0c0hlbHBlci5wcm9kdWN0TXVsdGlwbGljaXR5KHByb2R1Y3QpXCJcbiAgICAgICAgICAgICAgICBbaWdub3JlU3RlcFZhbGlkYXRvcnNdPVwicHJvZHVjdC5pZ25vcmVNaW5Db3VudENoZWNrXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJxdWFudGl0eVNob3dMb2FkZXJcIlxuICAgICAgICAgICAgICAgIChjbGlja0NsZWFyRXZlbnQpPVwiY2xpY2tDbGVhckV2ZW50LmVtaXQoY2FydEl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJpbnB1dFF1YW50aXR5Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmJsdXIoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDx0dWktYXZhdGFyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9kdWN0LmNhcnRJdGVtICYmICFzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICBzcmM9XCJAdHVpLmNoZWNrXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJ3ZhcigtLXR1aS1zdGF0dXMtd2FybmluZy1wYWxlKSdcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0tdHVpLWJhY2tncm91bmQtYWNjZW50LTEpJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NrZWxldG9uPlxuICAgIDxkaXYgY2xhc3M9XCJ0dWktc2tlbGV0b24gZmxleCBoLVs4LjI1cmVtXSB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGxcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7O0FBRS9GOztHQUVHO0FBOEJILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUE3Qm5FOztRQThCb0IsU0FBSSxHQUFHLEtBQUssQ0FBMkMsYUFBYSxDQUFDLENBQUM7S0FDekY7K0dBRlksMEJBQTBCO21HQUExQiwwQkFBMEIsb01BeEJ4QixDQUFDLHFCQUFxQixDQUFDLGlEQzFCdEMsMjlJQTRHQSxnWUQvRVEsWUFBWSx1TEFDWixZQUFZLCtCQUNaLFNBQVMsb0lBQ1QsT0FBTyxvRkFDUCw0QkFBNEIsOEJBQzVCLFdBQVcsc0lBQ1gsbUJBQW1CLDBYQUVuQixPQUFPLDRGQUNQLFlBQVksMEdBQ1osWUFBWSxxRkFDWixnQkFBZ0IsdUhBQ2hCLFNBQVMsd0hBQ1QsNkJBQTZCLHdIQUM3Qix5QkFBeUIsK0ZBQ3pCLDhCQUE4QixvSUFDOUIseUJBQXlCLDBJQUN6Qix3QkFBd0I7OzRGQUluQiwwQkFBMEI7a0JBN0J0QyxTQUFTO2lDQUNNLElBQUksWUFDTixzQkFBc0IsYUFHckIsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFDakIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxPQUFPO3dCQUNQLDRCQUE0Qjt3QkFDNUIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLEdBQUcsT0FBTzt3QkFDVixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsNkJBQTZCO3dCQUM3Qix5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLGdCQUFnQjtxQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNFQVJDSF9URVJNX1BST1ZJREVSUyB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpQXV0b0ZvY3VzIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aUhpbnQsIFR1aUljb24sIFR1aUxpbmsgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlBdmF0YXIsIFR1aUJ1dHRvbkxvYWRpbmcsIFR1aUhpZ2hsaWdodCB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3knO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFNjUHJpY2VDYXJkIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBTY0Zvcm1hdERhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvc2MtZm9ybWF0LWRhdGUnO1xuaW1wb3J0IHsgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCB9IGZyb20gJy4uL2Nvc3Qtd2l0aC1kaXNjb3VudC9jb3N0LXdpdGgtZGlzY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2MtZmF2b3JpdGUtYnV0dG9uL3NjLWZhdm9yaXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsCDQstC+INCy0YHRjiDRgdGC0YDQvtC60YMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1wcmljZS1jYXJkLWlubGluZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLWNhcmQtaW5saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50LnNjc3MnLFxuICAgIHByb3ZpZGVyczogW1NFQVJDSF9URVJNX1BST1ZJREVSU10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgLi4uVHVpSGludCxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpSGlnaGxpZ2h0LFxuICAgICAgICBUdWlBdXRvRm9jdXMsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgICAgIFR1aUF2YXRhcixcbiAgICAgICAgU2NIb3ZlckltYWdlQ2Fyb3VzZWxDb21wb25lbnQsXG4gICAgICAgIENvc3RXaXRoRGlzY291bnRDb21wb25lbnQsXG4gICAgICAgIFNjUHJpY2VXYXJlaG91c2VTdG9ja0NvbXBvbmVudCxcbiAgICAgICAgU2NGYXZvcml0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2NJbnB1dFF1YW50aXR5Q29tcG9uZW50LFxuICAgICAgICBTY0Zvcm1hdERhdGVQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VDYXJkSW5saW5lQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTY1ByaWNlQ2FyZCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDwnY2F0YWxvZ0l0ZW0nIHwgJ2NhcnRJdGVtJyB8ICdvcmRlckl0ZW0nPignY2F0YWxvZ0l0ZW0nKTtcbn1cbiIsIjxkaXZcbiAgICAqbmdJZj1cInByb2R1Y3Q7IGVsc2Ugc2tlbGV0b25cIlxuICAgIGNsYXNzPVwiY2FyZC13cmFwcGVyIHJlbGF0aXZlIGZsZXggdy1mdWxsIGdhcC00IHJvdW5kZWQteGwgcC0xIGhvdmVyOmJnLXR1aS1iYWNrZ3JvdW5kLW5ldXRyYWwtMVwiXG4+XG4gICAgPHNjLWhvdmVyLWltYWdlLWNhcm91c2VsXG4gICAgICAgIChjbGljayk9XCJjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICBbaW1hZ2VzXT1cIiFpc01vYmlsZSA/IGdldENhcmRJbWFnZVByZXZpZXdMaXN0KHByb2R1Y3QpIDogW2dldENhcmRJbWFnZVByZXZpZXcoKV1cIlxuICAgICAgICBbaXNTaG93QWN0aW9uc109XCJmYWxzZVwiXG4gICAgICAgIGNsYXNzPVwic2l6ZS0yNCBzaHJpbmstMCBjdXJzb3ItcG9pbnRlciBzZWxmLWNlbnRlclwiXG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBncm93IGZsZXgtY29sIGdhcC0xXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFt0dWlIaWdobGlnaHRdPVwiKHNlYXJjaCQgfCBhc3luYykgPz8gJydcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0JDRgNGC0LjQutGD0Ls6IHt7IHByb2R1Y3QuY29kZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTFcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiaHJlZiA/PyBudWxsXCJcbiAgICAgICAgICAgICAgICBbdHVpSGlnaGxpZ2h0XT1cIihzZWFyY2gkIHwgYXN5bmMpID8/ICcnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IGNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCIhdGV4dC1ib2R5LW0tYm9sZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcHJvZHVjdC5uYW1lIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9kdWN0Py5wYWNrXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCd0L7RgNC80LAg0YPQv9Cw0LrQvtCy0LrQuDoge3sgcHJvZHVjdC5wYWNrIH19XG4gICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5pZ25vcmVNaW5Db3VudENoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cIkB0dWkucGFja2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlIaW50XT1cIm1pbkNvdW50SGludFwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlIaW50U2hvd0RlbGF5XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYm9keS14bCB0ZXh0LXR1aS10ZXh0LTAxIG9wYWNpdHktOTBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtaW5Db3VudEhpbnQ+XG4gICAgICAgICAgICAgICAgICAgINCU0L7RgdGC0YPQv9C10L0g0LfQsNC60LDQtyA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAg0L/RgNC+0LjQt9Cy0L7Qu9GM0L3QvtCz0L4gPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgINC60L7Qu9C40YfQtdGB0YLQstCwXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8c2MtY29zdC13aXRoLWRpc2NvdW50IFtwcm9kdWN0XT1cInByb2R1Y3RcIiAvPlxuXG4gICAgICAgICAgICA8c2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrIFtwcm9kdWN0XT1cInByb2R1Y3RcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LTQwIHNocmluay0wIGZsZXgtY29sIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgPHR1aS1hdmF0YXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3QuaXNQcmV2aW91c2x5T3JkZXJlZFwiXG4gICAgICAgICAgICAgICAgc3JjPVwiQHR1aS5oaXN0b3J5XCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJ25vbmUnXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS10ZXh0LWFjdGlvbiknXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c2MtZmF2b3JpdGUtYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJhdXRoU3RhdHVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tFdmVudCk9XCJjbGlja0Zhdm9yaXRlRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJmYXZvcml0ZVNob3dMb2FkZXJcIlxuICAgICAgICAgICAgICAgIFtpc0Zhdm9yaXRlXT1cInByb2R1Y3QuaXNGYXZvcml0ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhcHJvZHVjdC5wcmltYXJ5Q2F0ZWdvcnk/LmlzRmF2b3JpdGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhc2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrQWRkVG9DYXJ0RXZlbnQuZW1pdChwcm9kdWN0KVwiXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwicXVhbnRpdHlTaG93TG9hZGVyXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zaG9wcGluZy1jYXJ0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdyb3cgIWZvbnQtZXh0cmFib2xkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQkiDQutC+0YDQt9C40L3Rg1xuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8c2MtaW5wdXQtcXVhbnRpdHlcbiAgICAgICAgICAgICAgICAjaW5wdXRRdWFudGl0eVxuICAgICAgICAgICAgICAgIFt0dWlBdXRvRm9jdXNdPVwiYXV0b0ZvY3VzZVF1YW50aXR5SW5wdXQoKVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwidW5pdHNIZWxwZXIucHJvZHVjdE11bHRpcGxpY2l0eShwcm9kdWN0KVwiXG4gICAgICAgICAgICAgICAgW2lnbm9yZVN0ZXBWYWxpZGF0b3JzXT1cInByb2R1Y3QuaWdub3JlTWluQ291bnRDaGVja1wiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwicXVhbnRpdHlTaG93TG9hZGVyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tDbGVhckV2ZW50KT1cImNsaWNrQ2xlYXJFdmVudC5lbWl0KGNhcnRJdGVtKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiaW5wdXRRdWFudGl0eS5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5ibHVyKClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8dHVpLWF2YXRhclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5jYXJ0SXRlbSAmJiAhc2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICAgICAgc3JjPVwiQHR1aS5jaGVja1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIid2YXIoLS10dWktc3RhdHVzLXdhcm5pbmctcGFsZSknXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS1iYWNrZ3JvdW5kLWFjY2VudC0xKSdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICA8ZGl2IGNsYXNzPVwidHVpLXNrZWxldG9uIGZsZXggaC1bOC4yNXJlbV0gdy1mdWxsIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLXhsXCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -2,6 +2,7 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { RouterModule } from '@angular/router';
5
+ import { ScMediaImageTransformerPipe } from '@snabcentr/client-core';
5
6
  import { TuiAxes, TuiLineDaysChart, TuiLineDaysChartHint } from '@taiga-ui/addon-charts';
6
7
  import { TuiAutoFocus, TuiHovered, TuiLet, TuiRepeatTimes } from '@taiga-ui/cdk';
7
8
  import { TuiButton, TuiHint, TuiIcon, TuiLabel, TuiLink, TuiLoader } from '@taiga-ui/core';
@@ -10,7 +11,7 @@ import { TuiInputNumberModule, TuiIslandDirective, TuiTextfieldControllerModule
10
11
  import { ScFormatDatePipe } from '../pipes/sc-format-date';
11
12
  import { ScCategoryCardComponent } from './category-card/sc-category-card.component';
12
13
  import { CostWithDiscountComponent } from './cost-with-discount/cost-with-discount.component';
13
- import { HoverImageCarouselComponent } from './hover-image-carousel/hover-image-carousel.component';
14
+ import { ScHoverImageCarouselComponent } from './hover-image-carousel/sc-hover-image-carousel.component';
14
15
  import { ScInputQuantityComponent } from './input-quantity/sc-input-quantity.component';
15
16
  import { ScPriceCardComponent } from './price-card/sc-price-card.component';
16
17
  import { ScPriceCardInlineComponent } from './price-card-inline/sc-price-card-inline.component';
@@ -48,7 +49,7 @@ export class ScCatalogModule {
48
49
  TuiButtonLoading,
49
50
  TuiAvatar,
50
51
  TuiBadge,
51
- HoverImageCarouselComponent,
52
+ ScHoverImageCarouselComponent,
52
53
  TuiLineClamp,
53
54
  TuiHovered,
54
55
  CostWithDiscountComponent,
@@ -56,7 +57,8 @@ export class ScCatalogModule {
56
57
  ScPriceWarehouseStockComponent,
57
58
  ScFavoriteButtonComponent,
58
59
  ScInputQuantityComponent,
59
- ScFormatDatePipe], exports: [ScPriceListPaginationComponent, ScCategoryCardComponent, ScPriceCardComponent, ScPriceHistoryComponent] }); }
60
+ ScFormatDatePipe,
61
+ ScMediaImageTransformerPipe], exports: [ScPriceListPaginationComponent, ScCategoryCardComponent, ScPriceCardComponent, ScPriceHistoryComponent] }); }
60
62
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScCatalogModule, imports: [CommonModule,
61
63
  RouterModule,
62
64
  TuiIcon,
@@ -107,7 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
107
109
  TuiButtonLoading,
108
110
  TuiAvatar,
109
111
  TuiBadge,
110
- HoverImageCarouselComponent,
112
+ ScHoverImageCarouselComponent,
111
113
  TuiLineClamp,
112
114
  TuiHovered,
113
115
  CostWithDiscountComponent,
@@ -116,7 +118,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
116
118
  ScFavoriteButtonComponent,
117
119
  ScInputQuantityComponent,
118
120
  ScFormatDatePipe,
121
+ ScMediaImageTransformerPipe,
119
122
  ],
120
123
  }]
121
124
  }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9zYy1jYXRhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDckYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDckYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDNUcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDNUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7OztBQUU5Rjs7R0FFRztBQXlDSCxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsaUJBdkNULDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixhQUdqSCxZQUFZO1lBQ1osWUFBWTtZQUNaLFNBQVM7WUFDVCxPQUFPO1lBQ1Asa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixRQUFRO1lBQ1IsNEJBQTRCO1lBQzVCLFdBQVc7WUFDWCxtQkFBbUIsZ1BBRW5CLGlCQUFpQjtZQUNqQixTQUFTO1lBQ1QsT0FBTztZQUNQLG1CQUFtQjtZQUNuQixNQUFNO1lBQ04sY0FBYztZQUNkLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixPQUFPO1lBQ1AsZ0JBQWdCO1lBQ2hCLFNBQVM7WUFDVCxRQUFRO1lBQ1IsMkJBQTJCO1lBQzNCLFlBQVk7WUFDWixVQUFVO1lBQ1YseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQiw4QkFBOEI7WUFDOUIseUJBQXlCO1lBQ3pCLHdCQUF3QjtZQUN4QixnQkFBZ0IsYUFuQ1YsOEJBQThCLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCO2dIQXNDdkcsZUFBZSxZQXBDcEIsWUFBWTtZQUNaLFlBQVk7WUFFWixPQUFPO1lBRVAsb0JBQW9CO1lBRXBCLDRCQUE0QjtZQUM1QixXQUFXO1lBQ1gsbUJBQW1CLHVCQUduQixTQUFTO1lBRVQsbUJBQW1CO1lBSW5CLGdCQUFnQjtZQUdoQixPQUFPO1lBQ1AsZ0JBQWdCO1lBQ2hCLFNBQVM7WUFHVCxZQUFZO1lBRVoseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQiw4QkFBOEI7WUFDOUIseUJBQXlCO1lBQ3pCLHdCQUF3Qjs7NEZBSW5CLGVBQWU7a0JBeEMzQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixDQUFDO29CQUN0SCxPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDakgsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixTQUFTO3dCQUNULE9BQU87d0JBQ1Asa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLFFBQVE7d0JBQ1IsNEJBQTRCO3dCQUM1QixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsR0FBRyxPQUFPO3dCQUNWLGlCQUFpQjt3QkFDakIsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLG1CQUFtQjt3QkFDbkIsTUFBTTt3QkFDTixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUiwyQkFBMkI7d0JBQzNCLFlBQVk7d0JBQ1osVUFBVTt3QkFDVix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsZ0JBQWdCO3FCQUNuQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHVpQXhlcywgVHVpTGluZURheXNDaGFydCwgVHVpTGluZURheXNDaGFydEhpbnQgfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzJztcbmltcG9ydCB7IFR1aUF1dG9Gb2N1cywgVHVpSG92ZXJlZCwgVHVpTGV0LCBUdWlSZXBlYXRUaW1lcyB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlIaW50LCBUdWlJY29uLCBUdWlMYWJlbCwgVHVpTGluaywgVHVpTG9hZGVyIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQXZhdGFyLCBUdWlCYWRnZSwgVHVpQnV0dG9uTG9hZGluZywgVHVpRWxhc3RpY0NvbnRhaW5lciwgVHVpRmllbGRFcnJvclBpcGUsIFR1aUhpZ2hsaWdodCwgVHVpTGluZUNsYW1wIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBUdWlJbnB1dE51bWJlck1vZHVsZSwgVHVpSXNsYW5kRGlyZWN0aXZlLCBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5cbmltcG9ydCB7IFNjRm9ybWF0RGF0ZVBpcGUgfSBmcm9tICcuLi9waXBlcy9zYy1mb3JtYXQtZGF0ZSc7XG5pbXBvcnQgeyBTY0NhdGVnb3J5Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2F0ZWdvcnktY2FyZC9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3N0V2l0aERpc2NvdW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb3N0LXdpdGgtZGlzY291bnQvY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb3ZlckltYWdlQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2hvdmVyLWltYWdlLWNhcm91c2VsL2hvdmVyLWltYWdlLWNhcm91c2VsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0lucHV0UXVhbnRpdHlDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXF1YW50aXR5L3NjLWlucHV0LXF1YW50aXR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlQ2FyZElubGluZUNvbXBvbmVudCB9IGZyb20gJy4vcHJpY2UtY2FyZC1pbmxpbmUvc2MtcHJpY2UtY2FyZC1pbmxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VIaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS1oaXN0b3J5L3NjLXByaWNlLWhpc3RvcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcHJpY2UtbGlzdC1wYWdpbmF0aW9uL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NQcmljZVdhcmVob3VzZVN0b2NrQ29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zYy1mYXZvcml0ZS1idXR0b24vc2MtZmF2b3JpdGUtYnV0dG9uLmNvbXBvbmVudCc7XG5cbi8qKlxuICog0JzQvtC00YPQu9GMINC60LDRgtCw0LvQvtCz0LAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2NQcmljZUxpc3RQYWdpbmF0aW9uQ29tcG9uZW50LCBTY0NhdGVnb3J5Q2FyZENvbXBvbmVudCwgU2NQcmljZUNhcmRDb21wb25lbnQsIFNjUHJpY2VIaXN0b3J5Q29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbU2NQcmljZUxpc3RQYWdpbmF0aW9uQ29tcG9uZW50LCBTY0NhdGVnb3J5Q2FyZENvbXBvbmVudCwgU2NQcmljZUNhcmRDb21wb25lbnQsIFNjUHJpY2VIaXN0b3J5Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUljb24sXG4gICAgICAgIFR1aUlzbGFuZERpcmVjdGl2ZSxcbiAgICAgICAgVHVpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgICAgIFR1aUxhYmVsLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgLi4uVHVpSGludCxcbiAgICAgICAgVHVpRmllbGRFcnJvclBpcGUsXG4gICAgICAgIFR1aUxvYWRlcixcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpRWxhc3RpY0NvbnRhaW5lcixcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBUdWlSZXBlYXRUaW1lcyxcbiAgICAgICAgVHVpSGlnaGxpZ2h0LFxuICAgICAgICBUdWlMaW5lRGF5c0NoYXJ0LFxuICAgICAgICBUdWlBdXRvRm9jdXMsXG4gICAgICAgIFR1aUxpbmVEYXlzQ2hhcnRIaW50LFxuICAgICAgICBUdWlBeGVzLFxuICAgICAgICBUdWlCdXR0b25Mb2FkaW5nLFxuICAgICAgICBUdWlBdmF0YXIsXG4gICAgICAgIFR1aUJhZGdlLFxuICAgICAgICBIb3ZlckltYWdlQ2Fyb3VzZWxDb21wb25lbnQsXG4gICAgICAgIFR1aUxpbmVDbGFtcCxcbiAgICAgICAgVHVpSG92ZXJlZCxcbiAgICAgICAgQ29zdFdpdGhEaXNjb3VudENvbXBvbmVudCxcbiAgICAgICAgU2NQcmljZUNhcmRJbmxpbmVDb21wb25lbnQsXG4gICAgICAgIFNjUHJpY2VXYXJlaG91c2VTdG9ja0NvbXBvbmVudCxcbiAgICAgICAgU2NGYXZvcml0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2NJbnB1dFF1YW50aXR5Q29tcG9uZW50LFxuICAgICAgICBTY0Zvcm1hdERhdGVQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2F0YWxvZ01vZHVsZSB7fVxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9zYy1jYXRhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDckYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDekcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDckYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDNUcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDNUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7OztBQUU5Rjs7R0FFRztBQTBDSCxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsaUJBeENULDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixhQUdqSCxZQUFZO1lBQ1osWUFBWTtZQUNaLFNBQVM7WUFDVCxPQUFPO1lBQ1Asa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixRQUFRO1lBQ1IsNEJBQTRCO1lBQzVCLFdBQVc7WUFDWCxtQkFBbUIsZ1BBRW5CLGlCQUFpQjtZQUNqQixTQUFTO1lBQ1QsT0FBTztZQUNQLG1CQUFtQjtZQUNuQixNQUFNO1lBQ04sY0FBYztZQUNkLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixPQUFPO1lBQ1AsZ0JBQWdCO1lBQ2hCLFNBQVM7WUFDVCxRQUFRO1lBQ1IsNkJBQTZCO1lBQzdCLFlBQVk7WUFDWixVQUFVO1lBQ1YseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQiw4QkFBOEI7WUFDOUIseUJBQXlCO1lBQ3pCLHdCQUF3QjtZQUN4QixnQkFBZ0I7WUFDaEIsMkJBQTJCLGFBcENyQiw4QkFBOEIsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUI7Z0hBdUN2RyxlQUFlLFlBckNwQixZQUFZO1lBQ1osWUFBWTtZQUVaLE9BQU87WUFFUCxvQkFBb0I7WUFFcEIsNEJBQTRCO1lBQzVCLFdBQVc7WUFDWCxtQkFBbUIsdUJBR25CLFNBQVM7WUFFVCxtQkFBbUI7WUFJbkIsZ0JBQWdCO1lBR2hCLE9BQU87WUFDUCxnQkFBZ0I7WUFDaEIsU0FBUztZQUdULFlBQVk7WUFFWix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLDhCQUE4QjtZQUM5Qix5QkFBeUI7WUFDekIsd0JBQXdCOzs0RkFLbkIsZUFBZTtrQkF6QzNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsOEJBQThCLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLENBQUM7b0JBQ3RILE9BQU8sRUFBRSxDQUFDLDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixDQUFDO29CQUNqSCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsUUFBUTt3QkFDUiw0QkFBNEI7d0JBQzVCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixHQUFHLE9BQU87d0JBQ1YsaUJBQWlCO3dCQUNqQixTQUFTO3dCQUNULE9BQU87d0JBQ1AsbUJBQW1CO3dCQUNuQixNQUFNO3dCQUNOLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLDZCQUE2Qjt3QkFDN0IsWUFBWTt3QkFDWixVQUFVO3dCQUNWLHlCQUF5Qjt3QkFDekIsMEJBQTBCO3dCQUMxQiw4QkFBOEI7d0JBQzlCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLDJCQUEyQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNjTWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpQXhlcywgVHVpTGluZURheXNDaGFydCwgVHVpTGluZURheXNDaGFydEhpbnQgfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzJztcbmltcG9ydCB7IFR1aUF1dG9Gb2N1cywgVHVpSG92ZXJlZCwgVHVpTGV0LCBUdWlSZXBlYXRUaW1lcyB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlIaW50LCBUdWlJY29uLCBUdWlMYWJlbCwgVHVpTGluaywgVHVpTG9hZGVyIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQXZhdGFyLCBUdWlCYWRnZSwgVHVpQnV0dG9uTG9hZGluZywgVHVpRWxhc3RpY0NvbnRhaW5lciwgVHVpRmllbGRFcnJvclBpcGUsIFR1aUhpZ2hsaWdodCwgVHVpTGluZUNsYW1wIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBUdWlJbnB1dE51bWJlck1vZHVsZSwgVHVpSXNsYW5kRGlyZWN0aXZlLCBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5cbmltcG9ydCB7IFNjRm9ybWF0RGF0ZVBpcGUgfSBmcm9tICcuLi9waXBlcy9zYy1mb3JtYXQtZGF0ZSc7XG5pbXBvcnQgeyBTY0NhdGVnb3J5Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2F0ZWdvcnktY2FyZC9zYy1jYXRlZ29yeS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3N0V2l0aERpc2NvdW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb3N0LXdpdGgtZGlzY291bnQvY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0hvdmVySW1hZ2VDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vaG92ZXItaW1hZ2UtY2Fyb3VzZWwvc2MtaG92ZXItaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtcXVhbnRpdHkvc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VDYXJkSW5saW5lQ29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS1jYXJkLWlubGluZS9zYy1wcmljZS1jYXJkLWlubGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NQcmljZUhpc3RvcnlDb21wb25lbnQgfSBmcm9tICcuL3ByaWNlLWhpc3Rvcnkvc2MtcHJpY2UtaGlzdG9yeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NQcmljZUxpc3RQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS1saXN0LXBhZ2luYXRpb24vc2MtcHJpY2UtbGlzdC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuL3ByaWNlLXdhcmVob3VzZS1zdG9jay9zYy1wcmljZS13YXJlaG91c2Utc3RvY2suY29tcG9uZW50JztcbmltcG9ydCB7IFNjRmF2b3JpdGVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NjLWZhdm9yaXRlLWJ1dHRvbi9zYy1mYXZvcml0ZS1idXR0b24uY29tcG9uZW50JztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0LrQsNGC0LDQu9C+0LPQsC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY1ByaWNlTGlzdFBhZ2luYXRpb25Db21wb25lbnQsIFNjQ2F0ZWdvcnlDYXJkQ29tcG9uZW50LCBTY1ByaWNlQ2FyZENvbXBvbmVudCwgU2NQcmljZUhpc3RvcnlDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtTY1ByaWNlTGlzdFBhZ2luYXRpb25Db21wb25lbnQsIFNjQ2F0ZWdvcnlDYXJkQ29tcG9uZW50LCBTY1ByaWNlQ2FyZENvbXBvbmVudCwgU2NQcmljZUhpc3RvcnlDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgVHVpSXNsYW5kRGlyZWN0aXZlLFxuICAgICAgICBUdWlJbnB1dE51bWJlck1vZHVsZSxcbiAgICAgICAgVHVpTGFiZWwsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICAuLi5UdWlIaW50LFxuICAgICAgICBUdWlGaWVsZEVycm9yUGlwZSxcbiAgICAgICAgVHVpTG9hZGVyLFxuICAgICAgICBUdWlMaW5rLFxuICAgICAgICBUdWlFbGFzdGljQ29udGFpbmVyLFxuICAgICAgICBUdWlMZXQsXG4gICAgICAgIFR1aVJlcGVhdFRpbWVzLFxuICAgICAgICBUdWlIaWdobGlnaHQsXG4gICAgICAgIFR1aUxpbmVEYXlzQ2hhcnQsXG4gICAgICAgIFR1aUF1dG9Gb2N1cyxcbiAgICAgICAgVHVpTGluZURheXNDaGFydEhpbnQsXG4gICAgICAgIFR1aUF4ZXMsXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgICAgIFR1aUF2YXRhcixcbiAgICAgICAgVHVpQmFkZ2UsXG4gICAgICAgIFNjSG92ZXJJbWFnZUNhcm91c2VsQ29tcG9uZW50LFxuICAgICAgICBUdWlMaW5lQ2xhbXAsXG4gICAgICAgIFR1aUhvdmVyZWQsXG4gICAgICAgIENvc3RXaXRoRGlzY291bnRDb21wb25lbnQsXG4gICAgICAgIFNjUHJpY2VDYXJkSW5saW5lQ29tcG9uZW50LFxuICAgICAgICBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQsXG4gICAgICAgIFNjRmF2b3JpdGVCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCxcbiAgICAgICAgU2NGb3JtYXREYXRlUGlwZSxcbiAgICAgICAgU2NNZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2F0YWxvZ01vZHVsZSB7fVxuIl19