@snabcentr/client-ui 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/cart/cart-item-mobile/sc-cart-item-mobile.component.d.ts +1 -2
  2. package/catalog/input-quantity/sc-input-quantity.component.d.ts +15 -3
  3. package/catalog/price-history/sc-price-history.component.d.ts +8 -0
  4. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +1 -2
  5. package/esm2022/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +4 -4
  6. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +29 -10
  7. package/esm2022/catalog/price-card/sc-price-card.component.mjs +3 -3
  8. package/esm2022/catalog/price-history/sc-price-history.component.mjs +26 -12
  9. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +2 -3
  10. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +7 -3
  11. package/esm2022/order/index.mjs +2 -2
  12. package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +80 -0
  13. package/esm2022/order/sc-order.module.mjs +2 -2
  14. package/esm2022/public-api.mjs +1 -2
  15. package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +94 -8
  16. package/esm2022/samples/sc-sample.module.mjs +6 -3
  17. package/esm2022/user/user-managers/sc-user-managers.component.mjs +2 -2
  18. package/fesm2022/snabcentr-client-ui.mjs +164 -93
  19. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  20. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +4 -0
  21. package/order/index.d.ts +1 -1
  22. package/order/order-item-mobile/{order-item-mobile.component.d.ts → sc-order-item-mobile.component.d.ts} +1 -2
  23. package/order/sc-order.module.d.ts +1 -1
  24. package/package.json +2 -2
  25. package/public-api.d.ts +0 -1
  26. package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +38 -4
  27. package/samples/sc-sample.module.d.ts +1 -1
  28. package/styles/tailwind/tailwind.scss +11 -5
  29. package/esm2022/helpers/sc-units-helper.mjs +0 -45
  30. package/esm2022/order/order-item-mobile/order-item-mobile.component.mjs +0 -80
  31. package/esm2022/tokens/index.mjs +0 -2
  32. package/esm2022/tokens/sc-linear-values-token.mjs +0 -10
  33. package/helpers/sc-units-helper.d.ts +0 -28
  34. package/tokens/index.d.ts +0 -1
  35. package/tokens/sc-linear-values-token.d.ts +0 -8
@@ -33,6 +33,10 @@ export declare class ScSuggestionFieldComponent implements OnInit {
33
33
  * Компонент обёртка выпадающего списка.
34
34
  */
35
35
  private readonly host;
36
+ /**
37
+ * Минимальная длина поискового запроса для получения данных.
38
+ */
39
+ private readonly minLengthSearchTerm;
36
40
  /**
37
41
  * Инициализирует экземпляр класса {@link ScSuggestionFieldComponent}.
38
42
  *
package/order/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './order-item-mobile/order-item-mobile.component';
1
+ export * from './order-item-mobile/sc-order-item-mobile.component';
2
2
  export * from './sc-payment-status/sc-payment-status.component';
3
3
  export * from './sc-order.module';
@@ -1,7 +1,6 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { ScCartItem, ScIUrls, ScProduct } from '@snabcentr/client-core';
2
+ import { ScCartItem, ScIUrls, ScProduct, ScUnitsHelper } from '@snabcentr/client-core';
3
3
  import { TuiPreviewDialogService } from '@taiga-ui/kit';
4
- import { ScUnitsHelper } from '../../helpers/sc-units-helper';
5
4
  import * as i0 from "@angular/core";
6
5
  /**
7
6
  * Компонент карточки элемента заказа.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./order-item-mobile/order-item-mobile.component";
2
+ import * as i1 from "./order-item-mobile/sc-order-item-mobile.component";
3
3
  import * as i2 from "./sc-payment-status/sc-payment-status.component";
4
4
  import * as i3 from "@angular/common";
5
5
  import * as i4 from "@taiga-ui/core";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
6
6
  "license": "Commercial",
@@ -17,7 +17,7 @@
17
17
  "@ng-web-apis/common": ">=4.2.1",
18
18
  "@ng-web-apis/intersection-observer": ">=4.2.1",
19
19
  "@ng-web-apis/storage": ">=4.2.1",
20
- "@snabcentr/client-core": ">=2.0.0",
20
+ "@snabcentr/client-core": ">=2.2.0",
21
21
  "@taiga-ui/addon-charts": ">=4.5.0",
22
22
  "@taiga-ui/addon-commerce": ">=4.5.0",
23
23
  "@taiga-ui/addon-doc": ">=4.5.0",
package/public-api.d.ts CHANGED
@@ -23,4 +23,3 @@ export * from './user';
23
23
  export * from './validators';
24
24
  export * from './verification';
25
25
  export * from './profile';
26
- export * from './tokens';
@@ -1,18 +1,52 @@
1
- import { FormGroup } from '@angular/forms';
1
+ import { OnInit } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
2
3
  import { ScISuggestionType } from '@snabcentr/client-core';
4
+ import { Observable, Subject } from 'rxjs';
3
5
  import * as i0 from "@angular/core";
4
6
  /**
5
7
  * Компонент формы запроса бесплатного образца.
6
8
  */
7
- export declare class ScAskToSampleFormComponent {
9
+ export declare class ScAskToSampleFormComponent implements OnInit {
10
+ /**
11
+ * Сервис работы с образцами.
12
+ */
13
+ private readonly samplesService;
14
+ /**
15
+ * Сервис информации о пользователе.
16
+ */
17
+ readonly user$: Observable<import("@snabcentr/client-core").ScUser>;
18
+ private readonly context;
19
+ /**
20
+ * Наименование формы, с которой отправляется запрос.
21
+ */
22
+ formName?: 'order-sample' | 'buy-products';
8
23
  /**
9
24
  * Группа полей ввода для формы «Пожелания и предложения по улучшению сайта».
10
25
  */
11
- form: FormGroup;
26
+ form: FormGroup<{
27
+ name: FormControl<string | null>;
28
+ phone: FormControl<string | null>;
29
+ email: FormControl<string | null>;
30
+ description: FormControl<string | null>;
31
+ }>;
12
32
  /**
13
33
  * Перечисление типов подсказок.
14
34
  */
15
35
  readonly suggestionType: typeof ScISuggestionType;
36
+ /**
37
+ * {@link Subject} события отправки формы.
38
+ */
39
+ readonly onSubmit: Subject<void>;
40
+ /**
41
+ * {@link Observable} запроса на отправку данных.
42
+ */
43
+ readonly request$: Observable<undefined | null>;
44
+ /**
45
+ * {@link Observable} изменения состояния загрузки данных.
46
+ */
47
+ readonly loading$: Observable<boolean>;
48
+ /** @inheritdoc */
49
+ ngOnInit(): void;
16
50
  static ɵfac: i0.ɵɵFactoryDeclaration<ScAskToSampleFormComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<ScAskToSampleFormComponent, "sc-ask-to-sample-form", never, {}, {}, never, never, false, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScAskToSampleFormComponent, "sc-ask-to-sample-form", never, { "formName": { "alias": "formName"; "required": false; }; }, {}, never, never, false, never>;
18
52
  }
@@ -14,6 +14,6 @@ import * as i10 from "@taiga-ui/cdk";
14
14
  */
15
15
  export declare class ScPreviewSampleModule {
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ScPreviewSampleModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScPreviewSampleModule, [typeof i1.ScPreviewSampleComponent, typeof i2.ScAskToSampleFormComponent], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i5.TuiError, typeof i6.TuiFieldErrorPipe, typeof i7.ScFormFieldsModule, typeof i8.TuiInputModule, typeof i8.TuiInputPhoneModule, typeof i9.TuiItem, typeof i6.TuiCarouselComponent, typeof i6.TuiCarouselDirective, typeof i6.TuiCarouselAutoscroll, typeof i6.TuiCarouselButtons, typeof i6.TuiCarouselScroll, typeof i6.TuiAvatar, typeof i10.TuiHovered, typeof i10.TuiLet, typeof i5.TuiButton, typeof i5.TuiLabel], [typeof i1.ScPreviewSampleComponent, typeof i2.ScAskToSampleFormComponent]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScPreviewSampleModule, [typeof i1.ScPreviewSampleComponent, typeof i2.ScAskToSampleFormComponent], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i5.TuiError, typeof i6.TuiFieldErrorPipe, typeof i7.ScFormFieldsModule, typeof i8.TuiInputModule, typeof i8.TuiInputPhoneModule, typeof i9.TuiItem, typeof i6.TuiCarouselComponent, typeof i6.TuiCarouselDirective, typeof i6.TuiCarouselAutoscroll, typeof i6.TuiCarouselButtons, typeof i6.TuiCarouselScroll, typeof i6.TuiAvatar, typeof i10.TuiHovered, typeof i10.TuiLet, typeof i5.TuiButton, typeof i6.TuiButtonLoading, typeof i5.TuiLabel], [typeof i1.ScPreviewSampleComponent, typeof i2.ScAskToSampleFormComponent]>;
18
18
  static ɵinj: i0.ɵɵInjectorDeclaration<ScPreviewSampleModule>;
19
19
  }
@@ -107,7 +107,7 @@
107
107
  }
108
108
 
109
109
  /*
110
- ! tailwindcss v3.4.12 | MIT License | https://tailwindcss.com
110
+ ! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com
111
111
  */
112
112
 
113
113
  /*
@@ -935,6 +935,10 @@ video {
935
935
  width: 10rem;
936
936
  }
937
937
 
938
+ .w-50 {
939
+ width: 12.5rem;
940
+ }
941
+
938
942
  .w-8 {
939
943
  width: 2rem;
940
944
  }
@@ -1389,6 +1393,12 @@ video {
1389
1393
  font-weight: 800;
1390
1394
  }
1391
1395
 
1396
+ .text-body-m-bold {
1397
+ font-size: 0.9375rem;
1398
+ line-height: 1.5rem;
1399
+ font-weight: 800;
1400
+ }
1401
+
1392
1402
  .text-lg {
1393
1403
  font-size: 1.125rem;
1394
1404
  line-height: 1.75rem;
@@ -1486,10 +1496,6 @@ video {
1486
1496
  color: var(--tui-border-hover);
1487
1497
  }
1488
1498
 
1489
- .text-tui-base-09 {
1490
- color: var(--tui-background-accent-opposite);
1491
- }
1492
-
1493
1499
  .text-tui-error-fill {
1494
1500
  color: var(--tui-status-negative);
1495
1501
  }
@@ -1,45 +0,0 @@
1
- /* eslint-disable lodash/prefer-lodash-method */
2
- import { Inject, Injectable } from '@angular/core';
3
- import { SC_LINEAR_VALUES_TOKEN } from '../tokens';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Класс хэлпер для работы со значениями единиц измерения товара.
7
- */
8
- export class ScUnitsHelper {
9
- /**
10
- * Инициирует экземпляр класса {@link ScUnitsHelper}.
11
- *
12
- * @param linearValues Единицы измерения линейной величины.
13
- */
14
- constructor(linearValues) {
15
- this.linearValues = linearValues;
16
- }
17
- /**
18
- * Возвращает признак возможности продажи товара на метраж.
19
- *
20
- * @param product Товар для которого нужно проверить возможность продажи на метраж.
21
- */
22
- productIsMeasurable(product) {
23
- return this.linearValues.includes(product.unit);
24
- }
25
- /**
26
- * Возвращает кратность количества для товара.
27
- *
28
- * @param product Товар для которого нужно вернуть кратность количества.
29
- */
30
- productMultiplicity(product) {
31
- return product.minCount && !this.linearValues.includes(product.unit) ? product.minCount : 1;
32
- }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScUnitsHelper, deps: [{ token: SC_LINEAR_VALUES_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
34
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScUnitsHelper, providedIn: 'root' }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScUnitsHelper, decorators: [{
37
- type: Injectable,
38
- args: [{
39
- providedIn: 'root',
40
- }]
41
- }], ctorParameters: () => [{ type: undefined, decorators: [{
42
- type: Inject,
43
- args: [SC_LINEAR_VALUES_TOKEN]
44
- }] }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdW5pdHMtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2hlbHBlcnMvc2MtdW5pdHMtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRW5EOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFDdEI7Ozs7T0FJRztJQUNILFlBQW1FLFlBQXNCO1FBQXRCLGlCQUFZLEdBQVosWUFBWSxDQUFVO0lBQUcsQ0FBQztJQUU3Rjs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsT0FBa0I7UUFDekMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxtQkFBbUIsQ0FBQyxPQUFrQjtRQUN6QyxPQUFPLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDOzhHQXhCUSxhQUFhLGtCQU1LLHNCQUFzQjtrSEFOeEMsYUFBYSxjQUZWLE1BQU07OzJGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFPdUIsTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBsb2Rhc2gvcHJlZmVyLWxvZGFzaC1tZXRob2QgKi9cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NQcm9kdWN0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5cbmltcG9ydCB7IFNDX0xJTkVBUl9WQUxVRVNfVE9LRU4gfSBmcm9tICcuLi90b2tlbnMnO1xuXG4vKipcbiAqINCa0LvQsNGB0YEg0YXRjdC70L/QtdGAINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDQt9C90LDRh9C10L3QuNGP0LzQuCDQtdC00LjQvdC40YYg0LjQt9C80LXRgNC10L3QuNGPINGC0L7QstCw0YDQsC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NVbml0c0hlbHBlciB7XG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNC40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVbml0c0hlbHBlcn0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbGluZWFyVmFsdWVzINCV0LTQuNC90LjRhtGLINC40LfQvNC10YDQtdC90LjRjyDQu9C40L3QtdC50L3QvtC5INCy0LXQu9C40YfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKEBJbmplY3QoU0NfTElORUFSX1ZBTFVFU19UT0tFTikgcHVibGljIHJlYWRvbmx5IGxpbmVhclZhbHVlczogc3RyaW5nW10pIHt9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC/0YDQvtC00LDQttC4INGC0L7QstCw0YDQsCDQvdCwINC80LXRgtGA0LDQti5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0INCi0L7QstCw0YAg0LTQu9GPINC60L7RgtC+0YDQvtCz0L4g0L3Rg9C20L3QviDQv9GA0L7QstC10YDQuNGC0Ywg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDQv9GA0L7QtNCw0LbQuCDQvdCwINC80LXRgtGA0LDQti5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHJvZHVjdElzTWVhc3VyYWJsZShwcm9kdWN0OiBTY1Byb2R1Y3QpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGluZWFyVmFsdWVzLmluY2x1ZGVzKHByb2R1Y3QudW5pdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LrRgNCw0YLQvdC+0YHRgtGMINC60L7Qu9C40YfQtdGB0YLQstCwINC00LvRjyDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQotC+0LLQsNGAINC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90YPQttC90L4g0LLQtdGA0L3Rg9GC0Ywg0LrRgNCw0YLQvdC+0YHRgtGMINC60L7Qu9C40YfQtdGB0YLQstCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBwcm9kdWN0TXVsdGlwbGljaXR5KHByb2R1Y3Q6IFNjUHJvZHVjdCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwcm9kdWN0Lm1pbkNvdW50ICYmICF0aGlzLmxpbmVhclZhbHVlcy5pbmNsdWRlcyhwcm9kdWN0LnVuaXQpID8gcHJvZHVjdC5taW5Db3VudCA6IDE7XG4gICAgfVxufVxuIl19
@@ -1,80 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewChild } from '@angular/core';
2
- import { SC_PATH_IMAGE_NOT_FOUND, SC_URLS } from '@snabcentr/client-core';
3
- import { TuiPreviewDialogService } from '@taiga-ui/kit';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../helpers/sc-units-helper";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@taiga-ui/core";
8
- import * as i4 from "@taiga-ui/kit";
9
- import * as i5 from "../../catalog/price-warehouse-stock/sc-price-warehouse-stock.component";
10
- import * as i6 from "@taiga-ui/polymorpheus";
11
- /**
12
- * Компонент карточки элемента заказа.
13
- */
14
- export class ScOrderItemMobileComponent {
15
- /**
16
- * Инициирует экземпляр класса {@link ScOrderItemMobileComponent}.
17
- *
18
- * @param unitsHelper Объект-хэлпер для работы со значениями единиц измерения товара.
19
- * @param previewDialogService Сервис диалогового окна предварительного просмотра.
20
- * @param urls Список ссылок на разделы backend'a.
21
- * @param pathImageNotFound Путь до изображения 'Товар не найден'.
22
- */
23
- constructor(unitsHelper, previewDialogService, urls, pathImageNotFound) {
24
- this.unitsHelper = unitsHelper;
25
- this.previewDialogService = previewDialogService;
26
- this.urls = urls;
27
- this.pathImageNotFound = pathImageNotFound;
28
- /**
29
- * Событие нажатия на карточку.
30
- */
31
- this.clickCardEvent = new EventEmitter();
32
- /**
33
- * Событие нажатия на дополнительные действия.
34
- */
35
- this.clickActionsEvent = new EventEmitter();
36
- }
37
- /**
38
- * Продукт элемента заказа.
39
- */
40
- get product() {
41
- return this.orderItem?.product;
42
- }
43
- /**
44
- * Отобразить спецификацию.
45
- */
46
- showSpecification() {
47
- this.previewDialogService.open(this.specificationPreviewRef ?? '').subscribe();
48
- }
49
- /**
50
- * Возвращает ссылку на изображение карточки товара.
51
- */
52
- getCardImage() {
53
- return this.product?.getImage(this.urls.imgServerUrl) ?? this.urls.imgServerUrl + this.pathImageNotFound;
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScOrderItemMobileComponent, deps: [{ token: i1.ScUnitsHelper }, { token: TuiPreviewDialogService }, { token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScOrderItemMobileComponent, selector: "sc-order-item-mobile", inputs: { orderItem: "orderItem" }, outputs: { clickCardEvent: "clickCardEvent", clickActionsEvent: "clickActionsEvent" }, viewQueries: [{ propertyName: "specificationPreviewRef", first: true, predicate: ["specificationPreview"], descendants: true }], ngImport: i0, template: "<div class=\"relative flex flex-wrap gap-x-4 gap-y-2 rounded-xl border border-tui-base-04 bg-white p-4 shadow-sc-2\">\n <ng-container *ngIf=\"orderItem && product; else skeleton\">\n <button\n tuiIconButton\n (click)=\"clickActionsEvent.emit()\"\n size=\"m\"\n iconStart=\"@tui.ellipsis-vertical\"\n appearance=\"float\"\n class=\"!absolute right-0 top-0 !hidden\"\n ></button>\n <div class=\"flex grow gap-2\">\n <div class=\"flex size-20 shrink-0 items-center justify-center overflow-hidden\">\n <img\n (click)=\"clickCardEvent.emit()\"\n [src]=\"getCardImage()\"\n [alt]=\"product.name\"\n [class.p-5]=\"!product.images?.length\"\n class=\"cursor-pointer\"\n />\n </div>\n\n <div class=\"flex grow flex-wrap gap-x-8 self-center\">\n <div class=\"flex grow basis-min-content flex-col\">\n <a\n tuiLink\n (click)=\"clickCardEvent.emit()\"\n >\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"flex flex-col gap-y-0.5 text-xs text-tui-text-02\">\n <div class=\"flex flex-wrap gap-y-0.5\">\n <p class=\"w-40\">\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p\n class=\"w-40\"\n *ngIf=\"product.pack\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n </p>\n </div>\n <a\n tuiLink\n *ngIf=\"orderItem.specificationImgUrl\"\n (click)=\"showSpecification()\"\n >\u0421\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F</a\n >\n <ng-template\n #specificationPreview\n let-preview\n >\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n >\n <img\n *polymorpheusOutlet=\"orderItem.specificationImgUrl as src\"\n alt=\"preview\"\n [src]=\"orderItem.specificationImgUrl\"\n />\n <button\n iconStart=\"@tui.x\"\n title=\"Close\"\n tuiIconButton\n tuiPreviewAction\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n </ng-template>\n </div>\n </div>\n <div class=\"flex flex-wrap content-center\">\n <div class=\"flex w-40 flex-col gap-x-8 gap-y-0.5\">\n <span\n *ngIf=\"product.discount\"\n class=\"flex items-center text-xs text-tui-text-02\"\n >\n <span class=\"line-through\">{{ product.discountCostString }}</span> &nbsp;\n <span class=\"font-bold text-tui-success-fill\"> -{{ product.discount.percent }}% </span>\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\n *ngIf=\"!product.priceInRub\"\n class=\"text-xs text-tui-text-02\"\n >{{ product.costString }}</span\n >\n </p>\n <sc-price-warehouse-stock\n [product]=\"product\"\n [fromMain]=\"false\"\n ></sc-price-warehouse-stock>\n </div>\n\n <div class=\"w-40 text-xs text-tui-text-02\">\n <ng-container *ngIf=\"orderItem.height; else length\">\n <p>\u0412\u044B\u0441\u043E\u0442\u0430: {{ orderItem.height }} \u043C.</p>\n </ng-container>\n <ng-template #length>\n <p *ngIf=\"orderItem.length\">\u0414\u043B\u0438\u043D\u0430: {{ orderItem.length }} \u043C.</p>\n </ng-template>\n <p *ngIf=\"orderItem.width\">\u0428\u0438\u0440\u0438\u043D\u0430: {{ orderItem.width }} \u043C.</p>\n <p class=\"text-sm text-tui-base-09\">\n \u0421\u0443\u043C\u043C\u0430: <span class=\"whitespace-nowrap font-bold\"> {{ orderItem.getCostRubStr() }} </span>\n </p>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-template #skeleton>\n <div class=\"flex w-full gap-2\">\n <div class=\"size-20 rounded-xl bg-tui-base-02\"></div>\n <div class=\"flex grow flex-col gap-2.5 bg-white\">\n <div class=\"h-4 w-full rounded-xl bg-tui-base-02\"></div>\n <div class=\"h-4 w-3/5 rounded-xl bg-tui-base-02\"></div>\n <div class=\"h-4 w-4/5 rounded-xl bg-tui-base-02\"></div>\n </div>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { kind: "directive", type: i4.TuiPreviewAction, selector: "[tuiPreviewAction]" }, { kind: "component", type: i5.ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "directive", type: i6.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScOrderItemMobileComponent, decorators: [{
59
- type: Component,
60
- args: [{ selector: 'sc-order-item-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative flex flex-wrap gap-x-4 gap-y-2 rounded-xl border border-tui-base-04 bg-white p-4 shadow-sc-2\">\n <ng-container *ngIf=\"orderItem && product; else skeleton\">\n <button\n tuiIconButton\n (click)=\"clickActionsEvent.emit()\"\n size=\"m\"\n iconStart=\"@tui.ellipsis-vertical\"\n appearance=\"float\"\n class=\"!absolute right-0 top-0 !hidden\"\n ></button>\n <div class=\"flex grow gap-2\">\n <div class=\"flex size-20 shrink-0 items-center justify-center overflow-hidden\">\n <img\n (click)=\"clickCardEvent.emit()\"\n [src]=\"getCardImage()\"\n [alt]=\"product.name\"\n [class.p-5]=\"!product.images?.length\"\n class=\"cursor-pointer\"\n />\n </div>\n\n <div class=\"flex grow flex-wrap gap-x-8 self-center\">\n <div class=\"flex grow basis-min-content flex-col\">\n <a\n tuiLink\n (click)=\"clickCardEvent.emit()\"\n >\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"flex flex-col gap-y-0.5 text-xs text-tui-text-02\">\n <div class=\"flex flex-wrap gap-y-0.5\">\n <p class=\"w-40\">\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p\n class=\"w-40\"\n *ngIf=\"product.pack\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n </p>\n </div>\n <a\n tuiLink\n *ngIf=\"orderItem.specificationImgUrl\"\n (click)=\"showSpecification()\"\n >\u0421\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F</a\n >\n <ng-template\n #specificationPreview\n let-preview\n >\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n >\n <img\n *polymorpheusOutlet=\"orderItem.specificationImgUrl as src\"\n alt=\"preview\"\n [src]=\"orderItem.specificationImgUrl\"\n />\n <button\n iconStart=\"@tui.x\"\n title=\"Close\"\n tuiIconButton\n tuiPreviewAction\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n </ng-template>\n </div>\n </div>\n <div class=\"flex flex-wrap content-center\">\n <div class=\"flex w-40 flex-col gap-x-8 gap-y-0.5\">\n <span\n *ngIf=\"product.discount\"\n class=\"flex items-center text-xs text-tui-text-02\"\n >\n <span class=\"line-through\">{{ product.discountCostString }}</span> &nbsp;\n <span class=\"font-bold text-tui-success-fill\"> -{{ product.discount.percent }}% </span>\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\n *ngIf=\"!product.priceInRub\"\n class=\"text-xs text-tui-text-02\"\n >{{ product.costString }}</span\n >\n </p>\n <sc-price-warehouse-stock\n [product]=\"product\"\n [fromMain]=\"false\"\n ></sc-price-warehouse-stock>\n </div>\n\n <div class=\"w-40 text-xs text-tui-text-02\">\n <ng-container *ngIf=\"orderItem.height; else length\">\n <p>\u0412\u044B\u0441\u043E\u0442\u0430: {{ orderItem.height }} \u043C.</p>\n </ng-container>\n <ng-template #length>\n <p *ngIf=\"orderItem.length\">\u0414\u043B\u0438\u043D\u0430: {{ orderItem.length }} \u043C.</p>\n </ng-template>\n <p *ngIf=\"orderItem.width\">\u0428\u0438\u0440\u0438\u043D\u0430: {{ orderItem.width }} \u043C.</p>\n <p class=\"text-sm text-tui-base-09\">\n \u0421\u0443\u043C\u043C\u0430: <span class=\"whitespace-nowrap font-bold\"> {{ orderItem.getCostRubStr() }} </span>\n </p>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-template #skeleton>\n <div class=\"flex w-full gap-2\">\n <div class=\"size-20 rounded-xl bg-tui-base-02\"></div>\n <div class=\"flex grow flex-col gap-2.5 bg-white\">\n <div class=\"h-4 w-full rounded-xl bg-tui-base-02\"></div>\n <div class=\"h-4 w-3/5 rounded-xl bg-tui-base-02\"></div>\n <div class=\"h-4 w-4/5 rounded-xl bg-tui-base-02\"></div>\n </div>\n </div>\n </ng-template>\n</div>\n" }]
61
- }], ctorParameters: () => [{ type: i1.ScUnitsHelper }, { type: i4.TuiPreviewDialogService, decorators: [{
62
- type: Inject,
63
- args: [TuiPreviewDialogService]
64
- }] }, { type: undefined, decorators: [{
65
- type: Inject,
66
- args: [SC_URLS]
67
- }] }, { type: undefined, decorators: [{
68
- type: Inject,
69
- args: [SC_PATH_IMAGE_NOT_FOUND]
70
- }] }], propDecorators: { specificationPreviewRef: [{
71
- type: ViewChild,
72
- args: ['specificationPreview']
73
- }], orderItem: [{
74
- type: Input
75
- }], clickCardEvent: [{
76
- type: Output
77
- }], clickActionsEvent: [{
78
- type: Output
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaXRlbS1tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL29yZGVyLWl0ZW0tbW9iaWxlL29yZGVyLWl0ZW0tbW9iaWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1pdGVtLW1vYmlsZS9vcmRlci1pdGVtLW1vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBa0MsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBSXhEOztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjtJQXlCbkM7Ozs7Ozs7T0FPRztJQUNILFlBQ29CLFdBQTBCLEVBRXpCLG9CQUE2QyxFQUM1QixJQUFhLEVBQ0csaUJBQXlCO1FBSjNELGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBRXpCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQXpCL0U7O1dBRUc7UUFFSSxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFOztXQUVHO1FBRUksc0JBQWlCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFnQnJFLENBQUM7SUFFSjs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQzdHLENBQUM7OEdBNURRLDBCQUEwQiwrQ0FtQ3ZCLHVCQUF1QixhQUV2QixPQUFPLGFBQ1AsdUJBQXVCO2tHQXRDMUIsMEJBQTBCLHdUQ2Z2QyxpOE1BNkhBOzsyRkQ5R2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNJLHNCQUFzQixtQkFFZix1QkFBdUIsQ0FBQyxNQUFNOzswQkFxQzFDLE1BQU07MkJBQUMsdUJBQXVCOzswQkFFOUIsTUFBTTsyQkFBQyxPQUFPOzswQkFDZCxNQUFNOzJCQUFDLHVCQUF1Qjt5Q0FqQ2xCLHVCQUF1QjtzQkFEdkMsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBTzFCLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxjQUFjO3NCQURwQixNQUFNO2dCQU9BLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTQ19QQVRIX0lNQUdFX05PVF9GT1VORCwgU0NfVVJMUywgU2NDYXJ0SXRlbSwgU2NJVXJscywgU2NQcm9kdWN0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpUHJldmlld0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHsgU2NVbml0c0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvc2MtdW5pdHMtaGVscGVyJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YLQvtGH0LrQuCDRjdC70LXQvNC10L3RgtCwINC30LDQutCw0LfQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1vcmRlci1pdGVtLW1vYmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL29yZGVyLWl0ZW0tbW9iaWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NPcmRlckl0ZW1Nb2JpbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdzcGVjaWZpY2F0aW9uUHJldmlldycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVjaWZpY2F0aW9uUHJldmlld1JlZj86IFRlbXBsYXRlUmVmPFR1aURpYWxvZ0NvbnRleHQ+O1xuXG4gICAgLyoqXG4gICAgICog0K3Qu9C10LzQtdC90YIg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG9yZGVySXRlbT86IFNjQ2FydEl0ZW07XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQ2FyZEV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0LTQtdC50YHRgtCy0LjRjy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tBY3Rpb25zRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJJdGVtTW9iaWxlQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1bml0c0hlbHBlciDQntCx0YrQtdC60YIt0YXRjdC70L/QtdGAINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDQt9C90LDRh9C10L3QuNGP0LzQuCDQtdC00LjQvdC40YYg0LjQt9C80LXRgNC10L3QuNGPINGC0L7QstCw0YDQsC5cbiAgICAgKiBAcGFyYW0gcHJldmlld0RpYWxvZ1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtCz0L4g0L/RgNC+0YHQvNC+0YLRgNCwLlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICogQHBhcmFtIHBhdGhJbWFnZU5vdEZvdW5kINCf0YPRgtGMINC00L4g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyAn0KLQvtCy0LDRgCDQvdC1INC90LDQudC00LXQvScuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdW5pdHNIZWxwZXI6IFNjVW5pdHNIZWxwZXIsXG4gICAgICAgIEBJbmplY3QoVHVpUHJldmlld0RpYWxvZ1NlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJldmlld0RpYWxvZ1NlcnZpY2U6IFR1aVByZXZpZXdEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCkgcHJpdmF0ZSByZWFkb25seSBwYXRoSW1hZ2VOb3RGb3VuZDogc3RyaW5nXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC+0LTRg9C60YIg0Y3Qu9C10LzQtdC90YLQsCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldCBwcm9kdWN0KCk6IFNjUHJvZHVjdCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9yZGVySXRlbT8ucHJvZHVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntGC0L7QsdGA0LDQt9C40YLRjCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y4uXG4gICAgICovXG4gICAgcHVibGljIHNob3dTcGVjaWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXZpZXdEaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5zcGVjaWZpY2F0aW9uUHJldmlld1JlZiA/PyAnJykuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgdGL0LvQutGDINC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FyZEltYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2R1Y3Q/LmdldEltYWdlKHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwpID8/IHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwgKyB0aGlzLnBhdGhJbWFnZU5vdEZvdW5kO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBmbGV4IGZsZXgtd3JhcCBnYXAteC00IGdhcC15LTIgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXR1aS1iYXNlLTA0IGJnLXdoaXRlIHAtNCBzaGFkb3ctc2MtMlwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcmRlckl0ZW0gJiYgcHJvZHVjdDsgZWxzZSBza2VsZXRvblwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tBY3Rpb25zRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuZWxsaXBzaXMtdmVydGljYWxcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsb2F0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTAgdG9wLTAgIWhpZGRlblwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ3JvdyBnYXAtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggc2l6ZS0yMCBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJnZXRDYXJkSW1hZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIFthbHRdPVwicHJvZHVjdC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnAtNV09XCIhcHJvZHVjdC5pbWFnZXM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ3JvdyBmbGV4LXdyYXAgZ2FwLXgtOCBzZWxmLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgYmFzaXMtbWluLWNvbnRlbnQgZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IHByb2R1Y3QubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAteS0wLjUgdGV4dC14cyB0ZXh0LXR1aS10ZXh0LTAyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLXktMC41XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3LTQwXCI+0JDRgNGC0LjQutGD0Ls6IHt7IHByb2R1Y3QuY29kZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctNDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3QucGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQndC+0YDQvNCwINGD0L/QsNC60L7QstC60Lg6IHt7IHByb2R1Y3QucGFjayB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvcmRlckl0ZW0uc3BlY2lmaWNhdGlvbkltZ1VybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dTcGVjaWZpY2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID7QodC/0LXRhtC40YTQuNC60LDRhtC40Y88L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNzcGVjaWZpY2F0aW9uUHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldC1wcmV2aWV3XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1wcmV2aWV3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3RhdGFibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbWFibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIm9yZGVySXRlbS5zcGVjaWZpY2F0aW9uSW1nVXJsIGFzIHNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwib3JkZXJJdGVtLnNwZWNpZmljYXRpb25JbWdVcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJDbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlQcmV2aWV3QWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aWV3LmNvbXBsZXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBjb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LTQwIGZsZXgtY29sIGdhcC14LTggZ2FwLXktMC41XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5kaXNjb3VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXhzIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGluZS10aHJvdWdoXCI+e3sgcHJvZHVjdC5kaXNjb3VudENvc3RTdHJpbmcgfX08L3NwYW4+ICZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtdHVpLXN1Y2Nlc3MtZmlsbFwiPiAte3sgcHJvZHVjdC5kaXNjb3VudC5wZXJjZW50IH19JSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkaXNjb3VudEhpbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIj57eyBwcm9kdWN0LmRpc2NvdW50Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2R1Y3QuZGlzY291bnQuZXhwaXJlZEF0IGFzIGV4cGlyZWRBdFwiPtCU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjzoge3sgZXhwaXJlZEF0IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1iYXNlbGluZSBnYXAteC0yIGZvbnQtYm9sZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHByb2R1Y3QuY29zdFJ1YlN0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFwcm9kdWN0LnByaWNlSW5SdWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC10dWktdGV4dC0wMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBwcm9kdWN0LmNvc3RTdHJpbmcgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zyb21NYWluXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3NjLXByaWNlLXdhcmVob3VzZS1zdG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctNDAgdGV4dC14cyB0ZXh0LXR1aS10ZXh0LTAyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3JkZXJJdGVtLmhlaWdodDsgZWxzZSBsZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD7QktGL0YHQvtGC0LA6IHt7IG9yZGVySXRlbS5oZWlnaHQgfX0g0LwuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlbmd0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIm9yZGVySXRlbS5sZW5ndGhcIj7QlNC70LjQvdCwOiB7eyBvcmRlckl0ZW0ubGVuZ3RoIH19INC8LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIm9yZGVySXRlbS53aWR0aFwiPtCo0LjRgNC40L3QsDoge3sgb3JkZXJJdGVtLndpZHRoIH19INC8LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSB0ZXh0LXR1aS1iYXNlLTA5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0KHRg9C80LzQsDogPHNwYW4gY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcCBmb250LWJvbGRcIj4ge3sgb3JkZXJJdGVtLmdldENvc3RSdWJTdHIoKSB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGdhcC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZS0yMCByb3VuZGVkLXhsIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBncm93IGZsZXgtY29sIGdhcC0yLjUgYmctd2hpdGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC00IHctZnVsbCByb3VuZGVkLXhsIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCB3LTMvNSByb3VuZGVkLXhsIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCB3LTQvNSByb3VuZGVkLXhsIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export * from './sc-linear-values-token';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvdG9rZW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWxpbmVhci12YWx1ZXMtdG9rZW4nO1xuIl19
@@ -1,10 +0,0 @@
1
- import { tuiCreateToken } from '@taiga-ui/cdk';
2
- /**
3
- * Единицы измерения линейной величины по умолчанию.
4
- */
5
- export const SC_LINEAR_VALUES = ['пог.м.', 'м.', 'м2'];
6
- /**
7
- * Токен единиц измерения линейной величины по умолчанию.
8
- */
9
- export const SC_LINEAR_VALUES_TOKEN = tuiCreateToken(SC_LINEAR_VALUES);
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbGluZWFyLXZhbHVlcy10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS90b2tlbnMvc2MtbGluZWFyLXZhbHVlcy10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRWpFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0dWlDcmVhdGVUb2tlbiB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vKipcbiAqINCV0LTQuNC90LjRhtGLINC40LfQvNC10YDQtdC90LjRjyDQu9C40L3QtdC50L3QvtC5INCy0LXQu9C40YfQuNC90Ysg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uXG4gKi9cbmV4cG9ydCBjb25zdCBTQ19MSU5FQVJfVkFMVUVTOiBzdHJpbmdbXSA9IFsn0L/QvtCzLtC8LicsICfQvC4nLCAn0LwyJ107XG5cbi8qKlxuICog0KLQvtC60LXQvSDQtdC00LjQvdC40YYg0LjQt9C80LXRgNC10L3QuNGPINC70LjQvdC10LnQvdC+0Lkg0LLQtdC70LjRh9C40L3RiyDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0xJTkVBUl9WQUxVRVNfVE9LRU4gPSB0dWlDcmVhdGVUb2tlbihTQ19MSU5FQVJfVkFMVUVTKTtcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { ScProduct } from '@snabcentr/client-core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Класс хэлпер для работы со значениями единиц измерения товара.
5
- */
6
- export declare class ScUnitsHelper {
7
- readonly linearValues: string[];
8
- /**
9
- * Инициирует экземпляр класса {@link ScUnitsHelper}.
10
- *
11
- * @param linearValues Единицы измерения линейной величины.
12
- */
13
- constructor(linearValues: string[]);
14
- /**
15
- * Возвращает признак возможности продажи товара на метраж.
16
- *
17
- * @param product Товар для которого нужно проверить возможность продажи на метраж.
18
- */
19
- productIsMeasurable(product: ScProduct): boolean;
20
- /**
21
- * Возвращает кратность количества для товара.
22
- *
23
- * @param product Товар для которого нужно вернуть кратность количества.
24
- */
25
- productMultiplicity(product: ScProduct): number;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<ScUnitsHelper, never>;
27
- static ɵprov: i0.ɵɵInjectableDeclaration<ScUnitsHelper>;
28
- }
package/tokens/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './sc-linear-values-token';
@@ -1,8 +0,0 @@
1
- /**
2
- * Единицы измерения линейной величины по умолчанию.
3
- */
4
- export declare const SC_LINEAR_VALUES: string[];
5
- /**
6
- * Токен единиц измерения линейной величины по умолчанию.
7
- */
8
- export declare const SC_LINEAR_VALUES_TOKEN: import("@angular/core").InjectionToken<string[]>;