@snabcentr/client-ui 0.0.14 → 0.0.19
Sign up to get free protection for your applications and to get access to all the features.
- package/cart/cart-item-mobile/{cart-item-mobile.component.d.ts → sc-cart-item-mobile.component.d.ts} +15 -10
- package/cart/index.d.ts +2 -2
- package/cart/sc-cart.module.d.ts +16 -0
- package/catalog/index.d.ts +1 -0
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +10 -2
- package/catalog/price-history/sc-chart-option.d.ts +7 -0
- package/catalog/price-history/sc-i-chart-data-item.d.ts +13 -0
- package/catalog/price-history/sc-lang-RU.d.ts +113 -0
- package/catalog/price-history/sc-price-history.component.d.ts +73 -0
- package/catalog/sc-catalog.module.d.ts +8 -6
- package/esm2020/banner/sc-banner.component.mjs +3 -3
- package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +119 -0
- package/esm2020/cart/index.mjs +3 -3
- package/esm2020/cart/sc-cart.module.mjs +58 -0
- package/esm2020/catalog/category-card/sc-category-card.component.mjs +3 -3
- package/esm2020/catalog/index.mjs +2 -1
- package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +17 -4
- package/esm2020/catalog/price-card/sc-price-card.component.mjs +3 -3
- package/esm2020/catalog/price-history/sc-chart-option.mjs +72 -0
- package/esm2020/catalog/price-history/sc-i-chart-data-item.mjs +2 -0
- package/esm2020/catalog/price-history/sc-lang-RU.mjs +113 -0
- package/esm2020/catalog/price-history/sc-price-history.component.mjs +104 -0
- package/esm2020/catalog/sc-catalog.module.mjs +18 -6
- package/esm2020/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +3 -3
- package/esm2020/helpers/sc-units-helper.mjs +44 -0
- package/esm2020/loader/index.mjs +2 -0
- package/esm2020/loader/sc-i-loader.mjs +2 -0
- package/esm2020/news/news-card/sc-news-card.component.mjs +13 -7
- package/esm2020/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +3 -3
- package/esm2020/order/order-item-mobile/order-item-mobile.component.mjs +14 -23
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/snabcentr-client-ui.mjs +433 -69
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +427 -69
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/helpers/sc-units-helper.d.ts +28 -0
- package/loader/index.d.ts +1 -0
- package/loader/sc-i-loader.d.ts +9 -0
- package/news/news-card/sc-news-card.component.d.ts +6 -1
- package/order/order-item-mobile/order-item-mobile.component.d.ts +6 -9
- package/package.json +3 -1
- package/public-api.d.ts +1 -0
- package/styles/tailwind/tailwind.scss +45 -0
- package/cart/cart.module.d.ts +0 -16
- package/esm2020/cart/cart-item-mobile/cart-item-mobile.component.mjs +0 -105
- 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';
|
@@ -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
|
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
|
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.
|
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
@@ -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;
|
package/cart/cart.module.d.ts
DELETED
@@ -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> \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> \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
|