@snabcentr/client-ui 0.0.14 → 0.0.19

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.

Potentially problematic release.


This version of @snabcentr/client-ui might be problematic. Click here for more details.

Files changed (46) hide show
  1. package/cart/cart-item-mobile/{cart-item-mobile.component.d.ts → sc-cart-item-mobile.component.d.ts} +15 -10
  2. package/cart/index.d.ts +2 -2
  3. package/cart/sc-cart.module.d.ts +16 -0
  4. package/catalog/index.d.ts +1 -0
  5. package/catalog/input-quantity/sc-input-quantity.component.d.ts +10 -2
  6. package/catalog/price-history/sc-chart-option.d.ts +7 -0
  7. package/catalog/price-history/sc-i-chart-data-item.d.ts +13 -0
  8. package/catalog/price-history/sc-lang-RU.d.ts +113 -0
  9. package/catalog/price-history/sc-price-history.component.d.ts +73 -0
  10. package/catalog/sc-catalog.module.d.ts +8 -6
  11. package/esm2020/banner/sc-banner.component.mjs +3 -3
  12. package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +119 -0
  13. package/esm2020/cart/index.mjs +3 -3
  14. package/esm2020/cart/sc-cart.module.mjs +58 -0
  15. package/esm2020/catalog/category-card/sc-category-card.component.mjs +3 -3
  16. package/esm2020/catalog/index.mjs +2 -1
  17. package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +17 -4
  18. package/esm2020/catalog/price-card/sc-price-card.component.mjs +3 -3
  19. package/esm2020/catalog/price-history/sc-chart-option.mjs +72 -0
  20. package/esm2020/catalog/price-history/sc-i-chart-data-item.mjs +2 -0
  21. package/esm2020/catalog/price-history/sc-lang-RU.mjs +113 -0
  22. package/esm2020/catalog/price-history/sc-price-history.component.mjs +104 -0
  23. package/esm2020/catalog/sc-catalog.module.mjs +18 -6
  24. package/esm2020/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +3 -3
  25. package/esm2020/helpers/sc-units-helper.mjs +44 -0
  26. package/esm2020/loader/index.mjs +2 -0
  27. package/esm2020/loader/sc-i-loader.mjs +2 -0
  28. package/esm2020/news/news-card/sc-news-card.component.mjs +13 -7
  29. package/esm2020/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +3 -3
  30. package/esm2020/order/order-item-mobile/order-item-mobile.component.mjs +14 -23
  31. package/esm2020/public-api.mjs +2 -1
  32. package/fesm2015/snabcentr-client-ui.mjs +433 -69
  33. package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
  34. package/fesm2020/snabcentr-client-ui.mjs +427 -69
  35. package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
  36. package/helpers/sc-units-helper.d.ts +28 -0
  37. package/loader/index.d.ts +1 -0
  38. package/loader/sc-i-loader.d.ts +9 -0
  39. package/news/news-card/sc-news-card.component.d.ts +6 -1
  40. package/order/order-item-mobile/order-item-mobile.component.d.ts +6 -9
  41. package/package.json +3 -1
  42. package/public-api.d.ts +1 -0
  43. package/styles/tailwind/tailwind.scss +45 -0
  44. package/cart/cart.module.d.ts +0 -16
  45. package/esm2020/cart/cart-item-mobile/cart-item-mobile.component.mjs +0 -105
  46. package/esm2020/cart/cart.module.mjs +0 -58
@@ -0,0 +1,28 @@
1
+ import { ScProduct } from '@snabcentr/client-core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Класс хэлпер для работы со значениями единиц измерения товара.
5
+ */
6
+ export declare class UnitsHelper {
7
+ readonly linearValues: string[];
8
+ /**
9
+ * Инициирует экземпляр класса {@link UnitsHelper}.
10
+ *
11
+ * @param linearValues Единицы измерения линейной величины.
12
+ */
13
+ constructor(linearValues: string[]);
14
+ /**
15
+ * Возвращает признак возможности продажи товара на метраж.
16
+ *
17
+ * @param linearValues Товар для которого нужно проверить возможность продажи на метраж.
18
+ */
19
+ productIsMeasurable(product: ScProduct): boolean;
20
+ /**
21
+ * Возвращает кратность количества для товара.
22
+ *
23
+ * @param linearValues Товар для которого нужно вернуть кратность количества.
24
+ */
25
+ productMultiplicity(product: ScProduct): number;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<UnitsHelper, never>;
27
+ static ɵprov: i0.ɵɵInjectableDeclaration<UnitsHelper>;
28
+ }
@@ -0,0 +1 @@
1
+ export * from './sc-i-loader';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Интерфейс для реализации компонентами, отображающими индикатор выполнения запросов.
3
+ */
4
+ export interface ScILoader {
5
+ /**
6
+ * Набор признаков выполнения запросов.
7
+ */
8
+ loadingList: Set<string>;
9
+ }
@@ -1,3 +1,4 @@
1
+ import { EventEmitter } from '@angular/core';
1
2
  import { ScNewsTile } from '@snabcentr/client-core';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
@@ -8,6 +9,10 @@ export declare class ScNewsCardComponent {
8
9
  * Информация о новости.
9
10
  */
10
11
  news: ScNewsTile;
12
+ /**
13
+ * Событие клика по карточке новости.
14
+ */
15
+ clickCardEvent: EventEmitter<ScNewsTile>;
11
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ScNewsCardComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<ScNewsCardComponent, "sc-news-card", never, { "news": "news"; }, {}, never, never, false>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScNewsCardComponent, "sc-news-card", never, { "news": "news"; }, { "clickCardEvent": "clickCardEvent"; }, never, never, false>;
13
18
  }
@@ -1,15 +1,16 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { ScCartItem, ScIUrls, ScProduct } from '@snabcentr/client-core';
3
3
  import { TuiPreviewDialogService } from '@taiga-ui/addon-preview';
4
+ import { UnitsHelper } from '../../helpers/sc-units-helper';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * Компонент карточки элемента заказа.
7
8
  */
8
9
  export declare class ScOrderItemMobileComponent {
10
+ readonly unitsHelper: UnitsHelper;
9
11
  private readonly previewDialogService;
10
12
  private readonly urls;
11
13
  private readonly pathImageNotFound;
12
- readonly linearValues: string[];
13
14
  /**
14
15
  * Ссылка на представление спецификации.
15
16
  */
@@ -17,7 +18,7 @@ export declare class ScOrderItemMobileComponent {
17
18
  /**
18
19
  * Элемент заказа.
19
20
  */
20
- orderItem: ScCartItem;
21
+ orderItem?: ScCartItem;
21
22
  /**
22
23
  * Событие нажатия на карточку.
23
24
  */
@@ -29,24 +30,20 @@ export declare class ScOrderItemMobileComponent {
29
30
  /**
30
31
  * Продукт элемента заказа.
31
32
  */
32
- get product(): ScProduct;
33
+ get product(): ScProduct | undefined;
33
34
  /**
34
35
  * Инициирует экземпляр класса {@link ScOrderItemMobileComponent}.
35
36
  *
37
+ * @param unitsHelper Объект-хэлпер для работы со значениями единиц измерения товара.
36
38
  * @param previewDialogService Сервис диалогового окна предварительного просмотра.
37
39
  * @param urls Список ссылок на разделы backend'a.
38
40
  * @param pathImageNotFound Путь до изображения 'Товар не найден'.
39
- * @param linearValues Единицы измерения линейной величины.
40
41
  */
41
- constructor(previewDialogService: TuiPreviewDialogService, urls: ScIUrls, pathImageNotFound: string, linearValues: string[]);
42
+ constructor(unitsHelper: UnitsHelper, previewDialogService: TuiPreviewDialogService, urls: ScIUrls, pathImageNotFound: string);
42
43
  /**
43
44
  * Отобразить спецификацию.
44
45
  */
45
46
  showSpecification(): void;
46
- /**
47
- * Возвращает признак возможности продажи товара на метраж.
48
- */
49
- productIsMeasurable(): number;
50
47
  /**
51
48
  * Возвращает ссылку на изображение карточки товара.
52
49
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "0.0.14",
3
+ "version": "0.0.19",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
6
6
  "license": "Commercial",
@@ -29,7 +29,9 @@
29
29
  "@taiga-ui/layout": ">=3.42.1",
30
30
  "@taiga-ui/styles": ">=3.42.1",
31
31
  "@tinkoff/ng-polymorpheus": ">=4.1.0",
32
+ "echarts": "^5.4.3",
32
33
  "moment": ">=2.29.4",
34
+ "ngx-echarts": "^14.0.0",
33
35
  "rxjs": ">=7.5.0",
34
36
  "zone.js": ">=0.12.0"
35
37
  },
package/public-api.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './banner';
2
2
  export * from './cart';
3
3
  export * from './catalog';
4
4
  export * from './icons';
5
+ export * from './loader';
5
6
  export * from './news';
6
7
  export * from './order';
7
8
  export * from './share-button';
@@ -652,6 +652,10 @@ video {
652
652
  left: 0.25rem;
653
653
  }
654
654
 
655
+ .left-16 {
656
+ left: 4rem;
657
+ }
658
+
655
659
  .left-3 {
656
660
  left: 0.75rem;
657
661
  }
@@ -696,6 +700,10 @@ video {
696
700
  margin: 2rem;
697
701
  }
698
702
 
703
+ .mb-1 {
704
+ margin-bottom: 0.25rem;
705
+ }
706
+
699
707
  .mb-2 {
700
708
  margin-bottom: 0.5rem;
701
709
  }
@@ -775,6 +783,10 @@ video {
775
783
  height: 1.25rem !important;
776
784
  }
777
785
 
786
+ .\!h-full {
787
+ height: 100% !important;
788
+ }
789
+
778
790
  .h-20 {
779
791
  height: 5rem;
780
792
  }
@@ -795,10 +807,18 @@ video {
795
807
  height: 1rem;
796
808
  }
797
809
 
810
+ .h-48 {
811
+ height: 12rem;
812
+ }
813
+
798
814
  .h-50 {
799
815
  height: 12.5rem;
800
816
  }
801
817
 
818
+ .h-56 {
819
+ height: 14rem;
820
+ }
821
+
802
822
  .h-64 {
803
823
  height: 16rem;
804
824
  }
@@ -843,6 +863,10 @@ video {
843
863
  width: 1rem;
844
864
  }
845
865
 
866
+ .w-4\/5 {
867
+ width: 80%;
868
+ }
869
+
846
870
  .w-40 {
847
871
  width: 10rem;
848
872
  }
@@ -1185,6 +1209,10 @@ video {
1185
1209
  text-align: center;
1186
1210
  }
1187
1211
 
1212
+ .text-end {
1213
+ text-align: end;
1214
+ }
1215
+
1188
1216
  .align-baseline {
1189
1217
  vertical-align: baseline;
1190
1218
  }
@@ -1199,6 +1227,11 @@ video {
1199
1227
  line-height: 1rem !important;
1200
1228
  }
1201
1229
 
1230
+ .text-lg {
1231
+ font-size: 1.125rem;
1232
+ line-height: 1.75rem;
1233
+ }
1234
+
1202
1235
  .text-sm {
1203
1236
  font-size: 0.875rem;
1204
1237
  line-height: 1.25rem;
@@ -1268,6 +1301,10 @@ video {
1268
1301
  color: var(--tui-success-fill);
1269
1302
  }
1270
1303
 
1304
+ .text-tui-text-02 {
1305
+ color: var(--tui-text-02);
1306
+ }
1307
+
1271
1308
  .text-white {
1272
1309
  --tw-text-opacity: 1;
1273
1310
  color: rgb(255 255 255 / var(--tw-text-opacity));
@@ -1342,6 +1379,14 @@ video {
1342
1379
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
1343
1380
  }
1344
1381
 
1382
+ .\!transition {
1383
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter !important;
1384
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
1385
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter !important;
1386
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
1387
+ transition-duration: 150ms !important;
1388
+ }
1389
+
1345
1390
  .\!transition-all {
1346
1391
  transition-property: all !important;
1347
1392
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
@@ -1,16 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./cart-item-mobile/cart-item-mobile.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@taiga-ui/core";
5
- import * as i4 from "../catalog/sc-catalog.module";
6
- import * as i5 from "@angular/forms";
7
- import * as i6 from "@taiga-ui/addon-preview";
8
- import * as i7 from "@tinkoff/ng-polymorpheus";
9
- /**
10
- * Модуль корзины.
11
- */
12
- export declare class CartModule {
13
- static ɵfac: i0.ɵɵFactoryDeclaration<CartModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<CartModule, [typeof i1.ScCartItemMobileComponent], [typeof i2.CommonModule, typeof i3.TuiLinkModule, typeof i4.ScCatalogModule, typeof i3.TuiButtonModule, typeof i3.TuiModeModule, typeof i3.TuiSvgModule, typeof i3.TuiHintModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.TuiPreviewModule, typeof i7.PolymorpheusModule], [typeof i1.ScCartItemMobileComponent]>;
15
- static ɵinj: i0.ɵɵInjectorDeclaration<CartModule>;
16
- }
@@ -1,105 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewChild } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
3
- import { SC_PATH_IMAGE_NOT_FOUND, SC_URLS } from '@snabcentr/client-core';
4
- import { TuiPreviewDialogService } from '@taiga-ui/addon-preview';
5
- import { SC_LINEAR_VALUES_TOKEN } from '../../tokens/sc-linear-values-token';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@taiga-ui/core";
9
- import * as i3 from "../../catalog/input-quantity/sc-input-quantity.component";
10
- import * as i4 from "../../catalog/price-warehouse-stock/sc-price-warehouse-stock.component";
11
- import * as i5 from "@angular/forms";
12
- import * as i6 from "@taiga-ui/addon-preview";
13
- import * as i7 from "@tinkoff/ng-polymorpheus";
14
- /**
15
- * Компонент карточки элемента корзины.
16
- */
17
- export class ScCartItemMobileComponent {
18
- /**
19
- * Инициирует экземпляр класса {@link ScCartItemMobileComponent}.
20
- *
21
- * @param previewDialogService Сервис диалогового окна предварительного просмотра.
22
- * @param urls Список ссылок на разделы backend'a.
23
- * @param pathImageNotFound Путь до изображения 'Товар не найден'.
24
- * @param linearValues Единицы измерения линейной величины.
25
- */
26
- constructor(previewDialogService, urls, pathImageNotFound, linearValues) {
27
- this.previewDialogService = previewDialogService;
28
- this.urls = urls;
29
- this.pathImageNotFound = pathImageNotFound;
30
- this.linearValues = linearValues;
31
- /**
32
- * Событие нажатия на кнопку "Удалить из корзины".
33
- */
34
- this.clickDeleteEvent = new EventEmitter();
35
- /**
36
- * Событие нажатия на кнопку "Удалить из корзины".
37
- */
38
- this.clickSettingsEvent = new EventEmitter();
39
- /**
40
- * Событие нажатия на карточку.
41
- */
42
- this.clickCardEvent = new EventEmitter();
43
- }
44
- /**
45
- * Продукт элемента корзины.
46
- */
47
- get product() {
48
- return this.cartItem.product;
49
- }
50
- /** @inheritDoc */
51
- ngOnInit() {
52
- this.quantityControl = new FormControl(this.cartItem.quantity);
53
- this.quantityValueChanges = this.quantityControl.valueChanges;
54
- }
55
- /**
56
- * Отобразить спецификацию.
57
- */
58
- showSpecification() {
59
- this.previewDialogService.open(this.specificationPreviewRef || '').subscribe();
60
- }
61
- /**
62
- * Возвращает признак возможности продажи товара на метраж.
63
- */
64
- productIsMeasurable() {
65
- return this.product.minCount && !this.linearValues.includes(this.product.unit) ? this.product.minCount : 1;
66
- }
67
- /**
68
- * Возвращает ссылку на изображение карточки товара.
69
- */
70
- getCardImage() {
71
- return this.product?.getImage(this.urls.imgServerUrl) ?? this.urls.imgServerUrl + this.pathImageNotFound;
72
- }
73
- }
74
- ScCartItemMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCartItemMobileComponent, deps: [{ token: TuiPreviewDialogService }, { token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }, { token: SC_LINEAR_VALUES_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
75
- ScCartItemMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScCartItemMobileComponent, selector: "sc-cart-item-mobile", inputs: { cartItem: "cartItem" }, outputs: { quantityValueChanges: "quantityValueChanges", clickDeleteEvent: "clickDeleteEvent", clickSettingsEvent: "clickSettingsEvent", clickCardEvent: "clickCardEvent" }, viewQueries: [{ propertyName: "specificationPreviewRef", first: true, predicate: ["specificationPreview"], descendants: true }], ngImport: i0, template: "<div class=\"ml-2 mt-2 relative p-4 gap-y-2 gap-x-4 flex flex-wrap bg-white border border-tui-base-04 shadow-sc-2 rounded-xl\">\n <button tuiIconButton (click)=\"clickDeleteEvent.emit()\" size=\"m\" icon=\"scIconVerticalThreeDots\" appearance=\"float\" tuiMode=\"onLight\" class=\"!absolute right-0 top-0\"></button>\n <button tuiIconButton size=\"m\" icon=\"scIconBasket\" appearance=\"secondary\" tuiMode=\"onLight\" class=\"shadow-sc-2 !absolute -left-2 -top-2\"></button>\n <div class=\"flex gap-2\">\n <div class=\"flex shrink-0 h-20 w-20 justify-center items-center overflow-hidden\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" [class.p-5]=\"!product.images?.length\" class=\"cursor-pointer\" />\n </div>\n\n <div class=\"flex flex-wrap self-center gap-x-8 gap-y-0.5\">\n <div class=\"w-[13rem]\">\n <a tuiLink (click)=\"clickCardEvent.emit()\">\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"text-tui-base-07 text-xs\">\n <p>\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ cartItem.product.code }}</p>\n <p *ngIf=\"cartItem.product.pack\">\u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ cartItem.product.pack }}</p>\n <a tuiLink *ngIf=\"cartItem.specificationImgUrl\" (click)=\"showSpecification()\">\u0421\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F</a>\n <ng-template #specificationPreview let-preview>\n <tui-preview [rotatable]=\"false\" [zoomable]=\"false\">\n <img *polymorpheusOutlet=\"cartItem.specificationImgUrl as src\" alt=\"preview\" alt=\"\" [src]=\"cartItem.specificationImgUrl\" />\n <button icon=\"tuiIconClose\" title=\"Close\" tuiIconButton tuiPreviewAction type=\"button\" (click)=\"preview.complete()\"></button>\n </tui-preview>\n </ng-template>\n </div>\n </div>\n <div class=\"flex flex-col self-center w-[10rem] gap-x-8 gap-y-0.5\">\n <span *ngIf=\"product.discount\" class=\"flex items-center text-xs text-tui-base-07\">\n <span class=\"line-through\">{{ product.discountCostString }}</span> &nbsp;\n <span class=\"text-tui-success-fill font-bold\"> -{{ product.discount.percent }}% </span>\n <tui-svg src=\"tuiIconInfoLarge\" [tuiHint]=\"discountHint\" [tuiHintShowDelay]=\"100\" tuiHintDirection=\"top\" class=\"text-black !text-xs !h-4\"></tui-svg>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <p class=\"flex flex-col items-baseline gap-x-2 font-bold\">\n <span>{{ product.costRubString }}</span>\n <span *ngIf=\"!product.priceInRub\" class=\"text-xs text-tui-base-07\">{{ product.costString }}</span>\n </p>\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n </div>\n </div>\n\n <div class=\"flex gap-2 items-center w-44 text-xs text-tui-base-07\">\n <button tuiIconButton (click)=\"clickSettingsEvent.emit()\" size=\"m\" icon=\"scIconSettings\" appearance=\"secondary\" tuiMode=\"onLight\"></button>\n <div>\n <ng-container *ngIf=\"productIsMeasurable(); else notMeasurable\">\n <p>\u0414\u043B\u0438\u043D\u0430: {{ cartItem.length }} {{ cartItem.product.unit }}</p>\n </ng-container>\n <ng-template #notMeasurable>\n <p *ngIf=\"cartItem.length && !productIsMeasurable()\">\u0414\u043B\u0438\u043D\u0430: {{ cartItem.length }} \u043C.</p>\n <p *ngIf=\"cartItem.width\">\u0428\u0438\u0440\u0438\u043D\u0430: {{ cartItem.width }} \u043C.</p>\n <p *ngIf=\"cartItem.height\">\u0412\u044B\u0441\u043E\u0442\u0430: {{ cartItem.height }} \u043C.</p>\n </ng-template>\n </div>\n </div>\n <div class=\"flex items-center grow justify-end\">\n <sc-input-quantity\n class=\"w-28\"\n *ngIf=\"quantityControl\"\n [formControl]=\"quantityControl\"\n [quantityUnit]=\"product.quantityUnit\"\n [showCross]=\"false\"\n size=\"s\"\n [step]=\"product.minCount || 1\"\n ></sc-input-quantity>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "component", type: i3.ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "quantityUnit", "showLoader", "showCross", "appearance", "isDisabled", "size"] }, { kind: "component", type: i4.ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint"] }, { kind: "component", type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "directive", type: i2.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { kind: "component", type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { kind: "directive", type: i2.TuiHintDriverDirective, selector: "[tuiHint]" }, { kind: "directive", type: i2.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { kind: "directive", type: i2.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { kind: "directive", type: i6.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }, { kind: "directive", type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCartItemMobileComponent, decorators: [{
77
- type: Component,
78
- args: [{ selector: 'sc-cart-item-mobile', changeDetection: ChangeDetectionStrategy.Default, template: "<div class=\"ml-2 mt-2 relative p-4 gap-y-2 gap-x-4 flex flex-wrap bg-white border border-tui-base-04 shadow-sc-2 rounded-xl\">\n <button tuiIconButton (click)=\"clickDeleteEvent.emit()\" size=\"m\" icon=\"scIconVerticalThreeDots\" appearance=\"float\" tuiMode=\"onLight\" class=\"!absolute right-0 top-0\"></button>\n <button tuiIconButton size=\"m\" icon=\"scIconBasket\" appearance=\"secondary\" tuiMode=\"onLight\" class=\"shadow-sc-2 !absolute -left-2 -top-2\"></button>\n <div class=\"flex gap-2\">\n <div class=\"flex shrink-0 h-20 w-20 justify-center items-center overflow-hidden\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" [class.p-5]=\"!product.images?.length\" class=\"cursor-pointer\" />\n </div>\n\n <div class=\"flex flex-wrap self-center gap-x-8 gap-y-0.5\">\n <div class=\"w-[13rem]\">\n <a tuiLink (click)=\"clickCardEvent.emit()\">\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"text-tui-base-07 text-xs\">\n <p>\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ cartItem.product.code }}</p>\n <p *ngIf=\"cartItem.product.pack\">\u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ cartItem.product.pack }}</p>\n <a tuiLink *ngIf=\"cartItem.specificationImgUrl\" (click)=\"showSpecification()\">\u0421\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F</a>\n <ng-template #specificationPreview let-preview>\n <tui-preview [rotatable]=\"false\" [zoomable]=\"false\">\n <img *polymorpheusOutlet=\"cartItem.specificationImgUrl as src\" alt=\"preview\" alt=\"\" [src]=\"cartItem.specificationImgUrl\" />\n <button icon=\"tuiIconClose\" title=\"Close\" tuiIconButton tuiPreviewAction type=\"button\" (click)=\"preview.complete()\"></button>\n </tui-preview>\n </ng-template>\n </div>\n </div>\n <div class=\"flex flex-col self-center w-[10rem] gap-x-8 gap-y-0.5\">\n <span *ngIf=\"product.discount\" class=\"flex items-center text-xs text-tui-base-07\">\n <span class=\"line-through\">{{ product.discountCostString }}</span> &nbsp;\n <span class=\"text-tui-success-fill font-bold\"> -{{ product.discount.percent }}% </span>\n <tui-svg src=\"tuiIconInfoLarge\" [tuiHint]=\"discountHint\" [tuiHintShowDelay]=\"100\" tuiHintDirection=\"top\" class=\"text-black !text-xs !h-4\"></tui-svg>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <p class=\"flex flex-col items-baseline gap-x-2 font-bold\">\n <span>{{ product.costRubString }}</span>\n <span *ngIf=\"!product.priceInRub\" class=\"text-xs text-tui-base-07\">{{ product.costString }}</span>\n </p>\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n </div>\n </div>\n\n <div class=\"flex gap-2 items-center w-44 text-xs text-tui-base-07\">\n <button tuiIconButton (click)=\"clickSettingsEvent.emit()\" size=\"m\" icon=\"scIconSettings\" appearance=\"secondary\" tuiMode=\"onLight\"></button>\n <div>\n <ng-container *ngIf=\"productIsMeasurable(); else notMeasurable\">\n <p>\u0414\u043B\u0438\u043D\u0430: {{ cartItem.length }} {{ cartItem.product.unit }}</p>\n </ng-container>\n <ng-template #notMeasurable>\n <p *ngIf=\"cartItem.length && !productIsMeasurable()\">\u0414\u043B\u0438\u043D\u0430: {{ cartItem.length }} \u043C.</p>\n <p *ngIf=\"cartItem.width\">\u0428\u0438\u0440\u0438\u043D\u0430: {{ cartItem.width }} \u043C.</p>\n <p *ngIf=\"cartItem.height\">\u0412\u044B\u0441\u043E\u0442\u0430: {{ cartItem.height }} \u043C.</p>\n </ng-template>\n </div>\n </div>\n <div class=\"flex items-center grow justify-end\">\n <sc-input-quantity\n class=\"w-28\"\n *ngIf=\"quantityControl\"\n [formControl]=\"quantityControl\"\n [quantityUnit]=\"product.quantityUnit\"\n [showCross]=\"false\"\n size=\"s\"\n [step]=\"product.minCount || 1\"\n ></sc-input-quantity>\n </div>\n</div>\n" }]
79
- }], ctorParameters: function () { return [{ type: i6.TuiPreviewDialogService, decorators: [{
80
- type: Inject,
81
- args: [TuiPreviewDialogService]
82
- }] }, { type: undefined, decorators: [{
83
- type: Inject,
84
- args: [SC_URLS]
85
- }] }, { type: undefined, decorators: [{
86
- type: Inject,
87
- args: [SC_PATH_IMAGE_NOT_FOUND]
88
- }] }, { type: undefined, decorators: [{
89
- type: Inject,
90
- args: [SC_LINEAR_VALUES_TOKEN]
91
- }] }]; }, propDecorators: { specificationPreviewRef: [{
92
- type: ViewChild,
93
- args: ['specificationPreview']
94
- }], cartItem: [{
95
- type: Input
96
- }], quantityValueChanges: [{
97
- type: Output
98
- }], clickDeleteEvent: [{
99
- type: Output
100
- }], clickSettingsEvent: [{
101
- type: Output
102
- }], clickCardEvent: [{
103
- type: Output
104
- }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1pdGVtLW1vYmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2FydC9jYXJ0LWl0ZW0tbW9iaWxlL2NhcnQtaXRlbS1tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhcnQvY2FydC1pdGVtLW1vYmlsZS9jYXJ0LWl0ZW0tbW9iaWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBa0MsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7O0FBRTdFOztHQUVHO0FBTUgsTUFBTSxPQUFPLHlCQUF5QjtJQWlEbEM7Ozs7Ozs7T0FPRztJQUNILFlBRXFCLG9CQUE2QyxFQUM1QixJQUFhLEVBQ0csaUJBQXlCLEVBQzNCLFlBQXNCO1FBSHJELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQXRDMUU7O1dBRUc7UUFFSSxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV2RTs7V0FFRztRQUVJLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXpFOztXQUVHO1FBRUksbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQXVCbEUsQ0FBQztJQXJCSjs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQWtCRCxrQkFBa0I7SUFDWCxRQUFRO1FBQ1gsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksbUJBQW1CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQzdHLENBQUM7O3NIQTFGUSx5QkFBeUIsa0JBMER0Qix1QkFBdUIsYUFFdkIsT0FBTyxhQUNQLHVCQUF1QixhQUN2QixzQkFBc0I7MEdBOUR6Qix5QkFBeUIsMllDaEJ0Qyx1eEpBcUVBOzJGRHJEYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUVkLHVCQUF1QixDQUFDLE9BQU87OzBCQTREM0MsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsdUJBQXVCOzswQkFDOUIsTUFBTTsyQkFBQyxzQkFBc0I7NENBekRqQix1QkFBdUI7c0JBRHZDLFNBQVM7dUJBQUMsc0JBQXNCO2dCQVkxQixRQUFRO3NCQURkLEtBQUs7Z0JBT0Msb0JBQW9CO3NCQUQxQixNQUFNO2dCQU9BLGdCQUFnQjtzQkFEdEIsTUFBTTtnQkFPQSxrQkFBa0I7c0JBRHhCLE1BQU07Z0JBT0EsY0FBYztzQkFEcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMsIFNjQ2FydEl0ZW0sIFNjSVVybHMsIFNjUHJvZHVjdCB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHVpUHJldmlld0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tcHJldmlldyc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgU0NfTElORUFSX1ZBTFVFU19UT0tFTiB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1saW5lYXItdmFsdWVzLXRva2VuJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YLQvtGH0LrQuCDRjdC70LXQvNC10L3RgtCwINC60L7RgNC30LjQvdGLLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWNhcnQtaXRlbS1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJ0LWl0ZW0tbW9iaWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2FydEl0ZW1Nb2JpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdzcGVjaWZpY2F0aW9uUHJldmlldycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVjaWZpY2F0aW9uUHJldmlld1JlZj86IFRlbXBsYXRlUmVmPFR1aURpYWxvZ0NvbnRleHQ+O1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIEZvcm1Db250cm9sfSDQv9C+0LvRjyDQstCy0L7QtNCwINC60L7Qu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcXVhbnRpdHlDb250cm9sOiBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqINCt0LvQtdC80LXQvdGCINC60L7RgNC30LjQvdGLLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhcnRJdGVtOiBTY0NhcnRJdGVtO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHF1YW50aXR5VmFsdWVDaGFuZ2VzPzogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDIFwi0KPQtNCw0LvQuNGC0Ywg0LjQtyDQutC+0YDQt9C40L3Ri1wiLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0RlbGV0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCj0LTQsNC70LjRgtGMINC40Lcg0LrQvtGA0LfQuNC90YtcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tTZXR0aW5nc0V2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQ2FyZEV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0L7QtNGD0LrRgiDRjdC70LXQvNC10L3RgtCwINC60L7RgNC30LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgcHJvZHVjdCgpOiBTY1Byb2R1Y3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJ0SXRlbS5wcm9kdWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQ2FydEl0ZW1Nb2JpbGVDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByZXZpZXdEaWFsb2dTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC40LDQu9C+0LPQvtCy0L7Qs9C+INC+0LrQvdCwINC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L7Qs9C+INC/0YDQvtGB0LzQvtGC0YDQsC5cbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqIEBwYXJhbSBwYXRoSW1hZ2VOb3RGb3VuZCDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqIEBwYXJhbSBsaW5lYXJWYWx1ZXMg0JXQtNC40L3QuNGG0Ysg0LjQt9C80LXRgNC10L3QuNGPINC70LjQvdC10LnQvdC+0Lkg0LLQtdC70LjRh9C40L3Riy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpUHJldmlld0RpYWxvZ1NlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJldmlld0RpYWxvZ1NlcnZpY2U6IFR1aVByZXZpZXdEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCkgcHJpdmF0ZSByZWFkb25seSBwYXRoSW1hZ2VOb3RGb3VuZDogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFNDX0xJTkVBUl9WQUxVRVNfVE9LRU4pIHB1YmxpYyByZWFkb25seSBsaW5lYXJWYWx1ZXM6IHN0cmluZ1tdXG4gICAgKSB7fVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnF1YW50aXR5Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhcnRJdGVtLnF1YW50aXR5KTtcbiAgICAgICAgdGhpcy5xdWFudGl0eVZhbHVlQ2hhbmdlcyA9IHRoaXMucXVhbnRpdHlDb250cm9sLnZhbHVlQ2hhbmdlcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntGC0L7QsdGA0LDQt9C40YLRjCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y4uXG4gICAgICovXG4gICAgcHVibGljIHNob3dTcGVjaWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXZpZXdEaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5zcGVjaWZpY2F0aW9uUHJldmlld1JlZiB8fCAnJykuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/RgNC40LfQvdCw0Log0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQv9GA0L7QtNCw0LbQuCDRgtC+0LLQsNGA0LAg0L3QsCDQvNC10YLRgNCw0LYuXG4gICAgICovXG4gICAgcHVibGljIHByb2R1Y3RJc01lYXN1cmFibGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvZHVjdC5taW5Db3VudCAmJiAhdGhpcy5saW5lYXJWYWx1ZXMuaW5jbHVkZXModGhpcy5wcm9kdWN0LnVuaXQpID8gdGhpcy5wcm9kdWN0Lm1pbkNvdW50IDogMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdGB0YvQu9C60YMg0L3QsCDQuNC30L7QsdGA0LDQttC10L3QuNC1INC60LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJkSW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvZHVjdD8uZ2V0SW1hZ2UodGhpcy51cmxzLmltZ1NlcnZlclVybCkgPz8gdGhpcy51cmxzLmltZ1NlcnZlclVybCArIHRoaXMucGF0aEltYWdlTm90Rm91bmQ7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1sLTIgbXQtMiByZWxhdGl2ZSBwLTQgZ2FwLXktMiBnYXAteC00IGZsZXggZmxleC13cmFwIGJnLXdoaXRlIGJvcmRlciBib3JkZXItdHVpLWJhc2UtMDQgc2hhZG93LXNjLTIgcm91bmRlZC14bFwiPlxuICAgIDxidXR0b24gdHVpSWNvbkJ1dHRvbiAoY2xpY2spPVwiY2xpY2tEZWxldGVFdmVudC5lbWl0KClcIiBzaXplPVwibVwiIGljb249XCJzY0ljb25WZXJ0aWNhbFRocmVlRG90c1wiIGFwcGVhcmFuY2U9XCJmbG9hdFwiIHR1aU1vZGU9XCJvbkxpZ2h0XCIgY2xhc3M9XCIhYWJzb2x1dGUgcmlnaHQtMCB0b3AtMFwiPjwvYnV0dG9uPlxuICAgIDxidXR0b24gdHVpSWNvbkJ1dHRvbiBzaXplPVwibVwiIGljb249XCJzY0ljb25CYXNrZXRcIiBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCIgdHVpTW9kZT1cIm9uTGlnaHRcIiBjbGFzcz1cInNoYWRvdy1zYy0yICFhYnNvbHV0ZSAtbGVmdC0yIC10b3AtMlwiPjwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNocmluay0wIGgtMjAgdy0yMCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICA8aW1nIChjbGljayk9XCJjbGlja0NhcmRFdmVudC5lbWl0KClcIiBbc3JjXT1cImdldENhcmRJbWFnZSgpXCIgW2FsdF09XCJwcm9kdWN0Lm5hbWVcIiBbY2xhc3MucC01XT1cIiFwcm9kdWN0LmltYWdlcz8ubGVuZ3RoXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBzZWxmLWNlbnRlciBnYXAteC04IGdhcC15LTAuNVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctWzEzcmVtXVwiPlxuICAgICAgICAgICAgICAgIDxhIHR1aUxpbmsgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IHByb2R1Y3QubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtdHVpLWJhc2UtMDcgdGV4dC14c1wiPlxuICAgICAgICAgICAgICAgICAgICA8cD7QkNGA0YLQuNC60YPQuzoge3sgY2FydEl0ZW0ucHJvZHVjdC5jb2RlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImNhcnRJdGVtLnByb2R1Y3QucGFja1wiPtCd0L7RgNC80LAg0YPQv9Cw0LrQvtCy0LrQuDoge3sgY2FydEl0ZW0ucHJvZHVjdC5wYWNrIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8YSB0dWlMaW5rICpuZ0lmPVwiY2FydEl0ZW0uc3BlY2lmaWNhdGlvbkltZ1VybFwiIChjbGljayk9XCJzaG93U3BlY2lmaWNhdGlvbigpXCI+0KHQv9C10YbQuNGE0LjQutCw0YbQuNGPPC9hPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NwZWNpZmljYXRpb25QcmV2aWV3IGxldC1wcmV2aWV3PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1wcmV2aWV3IFtyb3RhdGFibGVdPVwiZmFsc2VcIiBbem9vbWFibGVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjYXJ0SXRlbS5zcGVjaWZpY2F0aW9uSW1nVXJsIGFzIHNyY1wiIGFsdD1cInByZXZpZXdcIiBhbHQ9XCJcIiBbc3JjXT1cImNhcnRJdGVtLnNwZWNpZmljYXRpb25JbWdVcmxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWNvbj1cInR1aUljb25DbG9zZVwiIHRpdGxlPVwiQ2xvc2VcIiB0dWlJY29uQnV0dG9uIHR1aVByZXZpZXdBY3Rpb24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJwcmV2aWV3LmNvbXBsZXRlKClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXByZXZpZXc+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHNlbGYtY2VudGVyIHctWzEwcmVtXSBnYXAteC04IGdhcC15LTAuNVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicHJvZHVjdC5kaXNjb3VudFwiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgdGV4dC14cyB0ZXh0LXR1aS1iYXNlLTA3XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGluZS10aHJvdWdoXCI+e3sgcHJvZHVjdC5kaXNjb3VudENvc3RTdHJpbmcgfX08L3NwYW4+ICZuYnNwO1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHVpLXN1Y2Nlc3MtZmlsbCBmb250LWJvbGRcIj4gLXt7IHByb2R1Y3QuZGlzY291bnQucGVyY2VudCB9fSUgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLXN2ZyBzcmM9XCJ0dWlJY29uSW5mb0xhcmdlXCIgW3R1aUhpbnRdPVwiZGlzY291bnRIaW50XCIgW3R1aUhpbnRTaG93RGVsYXldPVwiMTAwXCIgdHVpSGludERpcmVjdGlvbj1cInRvcFwiIGNsYXNzPVwidGV4dC1ibGFjayAhdGV4dC14cyAhaC00XCI+PC90dWktc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Rpc2NvdW50SGludD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIj57eyBwcm9kdWN0LmRpc2NvdW50Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9kdWN0LmRpc2NvdW50LmV4cGlyZWRBdCBhcyBleHBpcmVkQXRcIj7QlNCw0YLQsCDQvtC60L7QvdGH0LDQvdC40Y86IHt7IGV4cGlyZWRBdCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtYmFzZWxpbmUgZ2FwLXgtMiBmb250LWJvbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgcHJvZHVjdC5jb3N0UnViU3RyaW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFwcm9kdWN0LnByaWNlSW5SdWJcIiBjbGFzcz1cInRleHQteHMgdGV4dC10dWktYmFzZS0wN1wiPnt7IHByb2R1Y3QuY29zdFN0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHNjLXByaWNlLXdhcmVob3VzZS1zdG9jayBbcHJvZHVjdF09XCJwcm9kdWN0XCI+PC9zYy1wcmljZS13YXJlaG91c2Utc3RvY2s+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXIgdy00NCB0ZXh0LXhzIHRleHQtdHVpLWJhc2UtMDdcIj5cbiAgICAgICAgPGJ1dHRvbiB0dWlJY29uQnV0dG9uIChjbGljayk9XCJjbGlja1NldHRpbmdzRXZlbnQuZW1pdCgpXCIgc2l6ZT1cIm1cIiBpY29uPVwic2NJY29uU2V0dGluZ3NcIiBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCIgdHVpTW9kZT1cIm9uTGlnaHRcIj48L2J1dHRvbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9kdWN0SXNNZWFzdXJhYmxlKCk7IGVsc2Ugbm90TWVhc3VyYWJsZVwiPlxuICAgICAgICAgICAgICAgIDxwPtCU0LvQuNC90LA6IHt7IGNhcnRJdGVtLmxlbmd0aCB9fSB7eyBjYXJ0SXRlbS5wcm9kdWN0LnVuaXQgfX08L3A+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90TWVhc3VyYWJsZT5cbiAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImNhcnRJdGVtLmxlbmd0aCAmJiAhcHJvZHVjdElzTWVhc3VyYWJsZSgpXCI+0JTQu9C40L3QsDoge3sgY2FydEl0ZW0ubGVuZ3RoIH19INC8LjwvcD5cbiAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImNhcnRJdGVtLndpZHRoXCI+0KjQuNGA0LjQvdCwOiB7eyBjYXJ0SXRlbS53aWR0aCB9fSDQvC48L3A+XG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJjYXJ0SXRlbS5oZWlnaHRcIj7QktGL0YHQvtGC0LA6IHt7IGNhcnRJdGVtLmhlaWdodCB9fSDQvC48L3A+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ3JvdyBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICA8c2MtaW5wdXQtcXVhbnRpdHlcbiAgICAgICAgICAgIGNsYXNzPVwidy0yOFwiXG4gICAgICAgICAgICAqbmdJZj1cInF1YW50aXR5Q29udHJvbFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgICAgIFtxdWFudGl0eVVuaXRdPVwicHJvZHVjdC5xdWFudGl0eVVuaXRcIlxuICAgICAgICAgICAgW3Nob3dDcm9zc109XCJmYWxzZVwiXG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICBbc3RlcF09XCJwcm9kdWN0Lm1pbkNvdW50IHx8IDFcIlxuICAgICAgICA+PC9zYy1pbnB1dC1xdWFudGl0eT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,58 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ScCartItemMobileComponent } from './cart-item-mobile/cart-item-mobile.component';
4
- import { TuiButtonModule, TuiHintModule, TuiLinkModule, TuiModeModule, TuiSvgModule } from '@taiga-ui/core';
5
- import { ScCatalogModule } from '../catalog';
6
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
- import { TuiPreviewModule } from '@taiga-ui/addon-preview';
8
- import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * Модуль корзины.
12
- */
13
- export class CartModule {
14
- }
15
- CartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- CartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: CartModule, declarations: [ScCartItemMobileComponent], imports: [CommonModule,
17
- TuiLinkModule,
18
- ScCatalogModule,
19
- TuiButtonModule,
20
- TuiModeModule,
21
- TuiSvgModule,
22
- TuiHintModule,
23
- FormsModule,
24
- ReactiveFormsModule,
25
- TuiPreviewModule,
26
- PolymorpheusModule], exports: [ScCartItemMobileComponent] });
27
- CartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CartModule, imports: [CommonModule,
28
- TuiLinkModule,
29
- ScCatalogModule,
30
- TuiButtonModule,
31
- TuiModeModule,
32
- TuiSvgModule,
33
- TuiHintModule,
34
- FormsModule,
35
- ReactiveFormsModule,
36
- TuiPreviewModule,
37
- PolymorpheusModule] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CartModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- declarations: [ScCartItemMobileComponent],
42
- exports: [ScCartItemMobileComponent],
43
- imports: [
44
- CommonModule,
45
- TuiLinkModule,
46
- ScCatalogModule,
47
- TuiButtonModule,
48
- TuiModeModule,
49
- TuiSvgModule,
50
- TuiHintModule,
51
- FormsModule,
52
- ReactiveFormsModule,
53
- TuiPreviewModule,
54
- PolymorpheusModule,
55
- ],
56
- }]
57
- }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2FydC9jYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUU5RDs7R0FFRztBQWtCSCxNQUFNLE9BQU8sVUFBVTs7dUdBQVYsVUFBVTt3R0FBVixVQUFVLGlCQWhCSix5QkFBeUIsYUFHcEMsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLGFBQWE7UUFDYixZQUFZO1FBQ1osYUFBYTtRQUNiLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGtCQUFrQixhQVpaLHlCQUF5Qjt3R0FlMUIsVUFBVSxZQWJmLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLGVBQWU7UUFDZixhQUFhO1FBQ2IsWUFBWTtRQUNaLGFBQWE7UUFDYixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixrQkFBa0I7MkZBR2IsVUFBVTtrQkFqQnRCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUNwQyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ3JCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTY0NhcnRJdGVtTW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJ0LWl0ZW0tbW9iaWxlL2NhcnQtaXRlbS1tb2JpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFR1aUJ1dHRvbk1vZHVsZSwgVHVpSGludE1vZHVsZSwgVHVpTGlua01vZHVsZSwgVHVpTW9kZU1vZHVsZSwgVHVpU3ZnTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgU2NDYXRhbG9nTW9kdWxlIH0gZnJvbSAnLi4vY2F0YWxvZyc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFR1aVByZXZpZXdNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tcHJldmlldyc7XG5pbXBvcnQgeyBQb2x5bW9ycGhldXNNb2R1bGUgfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG4vKipcbiAqINCc0L7QtNGD0LvRjCDQutC+0YDQt9C40L3Riy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY0NhcnRJdGVtTW9iaWxlQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbU2NDYXJ0SXRlbU1vYmlsZUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgICAgIFNjQ2F0YWxvZ01vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgICAgICBUdWlNb2RlTW9kdWxlLFxuICAgICAgICBUdWlTdmdNb2R1bGUsXG4gICAgICAgIFR1aUhpbnRNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUdWlQcmV2aWV3TW9kdWxlLFxuICAgICAgICBQb2x5bW9ycGhldXNNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FydE1vZHVsZSB7fVxuIl19