@snabcentr/client-ui 4.14.6-profstroy → 4.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +3 -3
  2. package/catalog/input-quantity/sc-input-quantity.component.d.ts +1 -17
  3. package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +16 -5
  4. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +6 -29
  5. package/esm2022/order/draft/sc-draft.component.mjs +17 -183
  6. package/esm2022/order/index.mjs +3 -8
  7. package/esm2022/order/new-order-items/sc-new-order-items.component.mjs +39 -0
  8. package/esm2022/order/order-form/sc-order-form.component.mjs +6 -18
  9. package/esm2022/order/order-item/sc-order-item.component.mjs +5 -14
  10. package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +7 -61
  11. package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +1 -1
  12. package/esm2022/order/order-items-list-with-actions/sc-order-items-list-with-actions.component.mjs +53 -0
  13. package/esm2022/pipes/sc-format-date.mjs +1 -1
  14. package/esm2022/providers/sc-date-formatter.mjs +1 -1
  15. package/fesm2022/snabcentr-client-ui.mjs +78 -764
  16. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  17. package/order/draft/sc-draft.component.d.ts +6 -96
  18. package/order/index.d.ts +2 -7
  19. package/order/new-order-items/sc-new-order-items.component.d.ts +29 -0
  20. package/order/order-form/sc-order-form.component.d.ts +2 -11
  21. package/order/order-item/sc-order-item.component.d.ts +1 -9
  22. package/order/order-items-list/sc-order-items-list.component.d.ts +1 -24
  23. package/order/order-items-list-with-actions/sc-order-items-list-with-actions.component.d.ts +37 -0
  24. package/package.json +2 -2
  25. package/pipes/sc-format-date.d.ts +1 -1
  26. package/providers/sc-date-formatter.d.ts +1 -1
  27. package/release_notes.tmp +1 -1
  28. package/styles/tailwind/tailwind.scss +4 -16
  29. package/esm2022/helpers/sc-file-helper.mjs +0 -29
  30. package/esm2022/order/draft/helpers/sc-draft-list-helper.mjs +0 -42
  31. package/esm2022/order/draft/models/sc-i-draft-list-item.mjs +0 -2
  32. package/esm2022/order/draft/profstroy/actualization-panel/sc-profstroy-actualization-panel.component.mjs +0 -68
  33. package/esm2022/order/draft/profstroy/badge/sc-profstroy-badge.component.mjs +0 -21
  34. package/esm2022/order/draft/profstroy/badges/sc-profstroy-draft-badges.component.mjs +0 -31
  35. package/esm2022/order/draft/profstroy/create-dialog/sc-profstroy-draft-create-dialog.component.mjs +0 -132
  36. package/esm2022/order/draft/profstroy/enums/sc-profstroy-draft-state.mjs +0 -32
  37. package/esm2022/order/draft/profstroy/helpers/sc-profstroy-draft-helper.mjs +0 -72
  38. package/esm2022/order/draft/profstroy/index.mjs +0 -8
  39. package/esm2022/order/draft/profstroy/models/sc-i-profstroy-draft-state-view.mjs +0 -2
  40. package/esm2022/order/models/sc-i-cart-items-by-direction.mjs +0 -22
  41. package/esm2022/order/models/sc-i-order-items-group.mjs +0 -2
  42. package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +0 -43
  43. package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +0 -79
  44. package/helpers/sc-file-helper.d.ts +0 -13
  45. package/order/draft/helpers/sc-draft-list-helper.d.ts +0 -22
  46. package/order/draft/models/sc-i-draft-list-item.d.ts +0 -14
  47. package/order/draft/profstroy/actualization-panel/sc-profstroy-actualization-panel.component.d.ts +0 -54
  48. package/order/draft/profstroy/badge/sc-profstroy-badge.component.d.ts +0 -12
  49. package/order/draft/profstroy/badges/sc-profstroy-draft-badges.component.d.ts +0 -21
  50. package/order/draft/profstroy/create-dialog/sc-profstroy-draft-create-dialog.component.d.ts +0 -58
  51. package/order/draft/profstroy/enums/sc-profstroy-draft-state.d.ts +0 -29
  52. package/order/draft/profstroy/helpers/sc-profstroy-draft-helper.d.ts +0 -26
  53. package/order/draft/profstroy/index.d.ts +0 -7
  54. package/order/draft/profstroy/models/sc-i-profstroy-draft-state-view.d.ts +0 -17
  55. package/order/models/sc-i-cart-items-by-direction.d.ts +0 -25
  56. package/order/models/sc-i-order-items-group.d.ts +0 -22
  57. package/order/order-direction-items/sc-order-direction-items.component.d.ts +0 -33
  58. package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +0 -62
@@ -1,6 +1,5 @@
1
1
  import { OnInit } from '@angular/core';
2
- import { ScOrderDraft, ScOrderItem } from '@snabcentr/client-core';
3
- import { ScOrderItemsByDirection } from '../models/sc-i-cart-items-by-direction';
2
+ import { ScOrderDraft } from '@snabcentr/client-core';
4
3
  import * as i0 from "@angular/core";
5
4
  /**
6
5
  * Компонент страницы черновика заказа (аналог корзины для одного черновика).
@@ -18,22 +17,14 @@ export declare class ScDraftComponent implements OnInit {
18
17
  * Сервис для работы с черновиками заказов.
19
18
  */
20
19
  private readonly draftsService;
21
- /**
22
- * Интервалы обновления данных.
23
- */
24
- private readonly updateInterval;
25
- /**
26
- * Сервис уведомлений.
27
- */
28
- private readonly alerts;
29
20
  /**
30
21
  * Сигнал с данными текущего черновика заказа (из параметра orderId в URL).
31
22
  */
32
23
  readonly draft: import("@angular/core").ModelSignal<ScOrderDraft | null>;
33
24
  /**
34
- * Идентификаторы выбранных позиций.
25
+ * Идентификаторы позиций черновика, выбранных для оформления заказа.
35
26
  */
36
- readonly selectedItemsIds: import("@angular/core").ModelSignal<string[]>;
27
+ protected readonly selectedItemsIds: import("@angular/core").WritableSignal<string[]>;
37
28
  /**
38
29
  * Источник события удаления или отмены заказа.
39
30
  */
@@ -46,34 +37,6 @@ export declare class ScDraftComponent implements OnInit {
46
37
  * Текущий ключ маршрута.
47
38
  */
48
39
  protected readonly isDraftPage: import("@angular/core").Signal<boolean>;
49
- /**
50
- * Функция группировки позиций черновика Профстрой по группам из файла.
51
- */
52
- protected readonly groupByFileGroup: (item: ScOrderItem) => string;
53
- /**
54
- * Признак черновика Профстрой.
55
- */
56
- protected readonly isProfstroy: import("@angular/core").Signal<boolean>;
57
- /**
58
- * Текущий момент для проверки срока актуализации. Обновляется по таймеру, пока открыт черновик Профстрой.
59
- */
60
- protected readonly now: import("@angular/core").WritableSignal<Date>;
61
- /**
62
- * Признак выполнения действия над черновиком Профстрой.
63
- */
64
- protected readonly busy: import("@angular/core").WritableSignal<boolean>;
65
- /**
66
- * Признак, что можно менять состав черновика Профстрой.
67
- */
68
- protected readonly canEditProfstroy: import("@angular/core").Signal<boolean>;
69
- /**
70
- * Позиции, выбранные для заказа из черновика Профстрой.
71
- */
72
- protected readonly selectedProfstroyItems: import("@angular/core").Signal<ScOrderItem[]>;
73
- /**
74
- * Причина, по которой нельзя оформить заказ из черновика Профстрой, или пустая строка.
75
- */
76
- protected readonly profstroyOrderBlockReason: import("@angular/core").Signal<"" | "Оформление доступно после успешной актуализации." | "В заявке нет позиций, которые могут попасть в заказ." | "Выберите позиции для заказа.">;
77
40
  /**
78
41
  * Ссылка для автоматического управления уничтожением зависимостей.
79
42
  */
@@ -82,69 +45,16 @@ export declare class ScDraftComponent implements OnInit {
82
45
  * Сервис установки SEO-данных приложения.
83
46
  */
84
47
  private readonly seoService;
85
- /**
86
- * Инициализирует экземпляр класса {@link ScDraftComponent}.
87
- */
88
- constructor();
89
48
  /** @inheritDoc */
90
49
  ngOnInit(): void;
91
50
  /**
92
- * Переход к оформлению заказа по выбранному направлению продаж.
93
- *
94
- * @param direction Группа позиций по направлению продаж.
95
- */
96
- protected goToNewOrder(direction: ScOrderItemsByDirection): void;
97
- /**
98
- * Переход к оформлению заказа из черновика Профстрой по выбранным позициям.
99
- */
100
- protected goToNewProfstroyOrder(): void;
101
- /**
102
- * Запускает актуализацию черновика Профстрой.
51
+ * Переход к оформлению заказа из выбранных позиций.
103
52
  */
104
- protected actualizeProfstroy(): void;
105
- /**
106
- * Запускает пересборку черновика Профстрой из файла после подтверждения.
107
- */
108
- protected reloadProfstroy(): void;
53
+ protected goToNewOrder(): void;
109
54
  /**
110
55
  * Удаляет черновик и перенаправляет к списку черновиков.
111
56
  */
112
57
  protected clearDraft(): void;
113
- /**
114
- * Выполняет действие над черновиком Профстрой. Пока действие выполняется, остальные заблокированы.
115
- * При ошибке показывает текст сервера и перезапрашивает черновик, так как его состояние могло смениться.
116
- *
117
- * @param action Функция, возвращающая запрос действия по идентификатору черновика.
118
- */
119
- private runProfstroyAction;
120
- /**
121
- * Показывает текст ошибки отказа в доступе. Остальные ошибки показывает перехватчик приложения.
122
- *
123
- * @param error Ошибка запроса.
124
- */
125
- private showForbiddenError;
126
- /**
127
- * Открывает подтверждение и возвращает {@link Observable}, который выдаёт значение только при согласии.
128
- *
129
- * @param label Заголовок.
130
- * @param content Текст подтверждения.
131
- * @param yes Текст кнопки согласия.
132
- */
133
- private confirm$;
134
- /**
135
- * Обновляет черновик, если пришли данные того же черновика, который открыт сейчас.
136
- *
137
- * @param draft Полученные данные черновика.
138
- */
139
- private setDraftIfCurrent;
140
- /**
141
- * Обновляет текущий момент по таймеру, пока открыт черновик Профстрой, чтобы истечение срока актуализации отражалось без перезагрузки.
142
- */
143
- private watchProfstroyExpiration;
144
- /**
145
- * Пока черновик Профстрой в обработке, опрашивает его состояние лёгким запросом списка и после смены статуса перезапрашивает черновик целиком.
146
- */
147
- private watchProfstroyProcessing;
148
58
  static ɵfac: i0.ɵɵFactoryDeclaration<ScDraftComponent, never>;
149
- static ɵcmp: i0.ɵɵComponentDeclaration<ScDraftComponent, "sc-draft", never, { "draft": { "alias": "draft"; "required": false; "isSignal": true; }; "selectedItemsIds": { "alias": "selectedItemsIds"; "required": false; "isSignal": true; }; }, { "draft": "draftChange"; "selectedItemsIds": "selectedItemsIdsChange"; "deleteEvent": "deleteEvent"; }, never, never, true, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScDraftComponent, "sc-draft", never, { "draft": { "alias": "draft"; "required": false; "isSignal": true; }; }, { "draft": "draftChange"; "deleteEvent": "deleteEvent"; }, never, never, true, never>;
150
60
  }
package/order/index.d.ts CHANGED
@@ -1,17 +1,12 @@
1
1
  export * from './directives';
2
2
  export * from './models/i-new-order-form';
3
- export * from './models/sc-i-cart-items-by-direction';
4
- export * from './models/sc-i-order-items-group';
5
- export * from './order-direction-items/sc-order-direction-items.component';
3
+ export * from './new-order-items/sc-new-order-items.component';
6
4
  export * from './order-form/sc-order-form.config';
7
5
  export * from './order-form/sc-order-form.component';
8
6
  export * from './order-item/sc-order-item.component';
9
7
  export * from './order-items-list/sc-order-items-list.component';
10
- export * from './order-items-list-by-directions/sc-order-items-list-by-directions.component';
8
+ export * from './order-items-list-with-actions/sc-order-items-list-with-actions.component';
11
9
  export * from './order-items-list-by-stock/sc-order-items-list-by-stock.component';
12
- export * from './draft/helpers/sc-draft-list-helper';
13
- export * from './draft/models/sc-i-draft-list-item';
14
- export * from './draft/profstroy';
15
10
  export * from './draft/sc-draft.component';
16
11
  export * from './sc-payment-status/sc-payment-status.component';
17
12
  export * from './sc-order.module';
@@ -0,0 +1,29 @@
1
+ import { ScOrderItem } from '@snabcentr/client-core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Список товаров оформляемого заказа с выбором позиций.
5
+ */
6
+ export declare class ScNewOrderItemsComponent {
7
+ /**
8
+ * Товары заказа.
9
+ */
10
+ readonly items: import("@angular/core").InputSignal<ScOrderItem[]>;
11
+ /**
12
+ * Разрешить редактирование позиций (количество, удаление).
13
+ */
14
+ readonly editable: import("@angular/core").InputSignal<boolean>;
15
+ /**
16
+ * Включить выбор позиций чекбоксами.
17
+ */
18
+ readonly selectable: import("@angular/core").InputSignal<boolean>;
19
+ /**
20
+ * Время обработки и принятия заказов (из настроек окружения приложения).
21
+ */
22
+ readonly orderProcessingAcceptanceTime: import("@angular/core").InputSignal<string>;
23
+ /**
24
+ * Изменение выбора позиций для оформления.
25
+ */
26
+ readonly selectedItemsIdsChange: import("@angular/core").OutputEmitterRef<string[]>;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScNewOrderItemsComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScNewOrderItemsComponent, "sc-new-order-items", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "orderProcessingAcceptanceTime": { "alias": "orderProcessingAcceptanceTime"; "required": false; "isSignal": true; }; }, { "selectedItemsIdsChange": "selectedItemsIdsChange"; }, never, ["[footerActions]"], true, never>;
29
+ }
@@ -15,19 +15,10 @@ type SelectType = ScIReferencesTypes<ScPaymentType, typeof ScPaymentType> | ScCo
15
15
  * Форма оформления заказа.
16
16
  */
17
17
  export declare class ScOrderFormComponent implements OnInit {
18
- /**
19
- * Идентификатор направления продаж заказа.
20
- */
21
- readonly directionId: import("@angular/core").InputSignal<number>;
22
18
  /**
23
19
  * Требовать подтверждённые контактные данные для оформления. Для черновика — `false`.
24
20
  */
25
21
  readonly enforceApprovedContacts: import("@angular/core").InputSignal<boolean>;
26
- /**
27
- * Сохранять и восстанавливать черновые данные формы по направлению (метаданные). Для черновика — `false`.
28
- * Работает только если предоставлен токен {@link SC_ORDER_FORM_CONFIG}.
29
- */
30
- readonly persistMetadata: import("@angular/core").InputSignal<boolean>;
31
22
  /**
32
23
  * Событие отправки валидной формы оформления. Полезная нагрузка — сырые значения формы.
33
24
  */
@@ -235,7 +226,7 @@ export declare class ScOrderFormComponent implements OnInit {
235
226
  */
236
227
  private triggerUnconfirmedWarning;
237
228
  /**
238
- * Восстанавливает черновые данные формы из метаданных и инициализирует их сохранение.
229
+ * Восстанавливает черновые данные формы из метаданных и инициализирует их сохранение, если предоставлен токен {@link SC_ORDER_FORM_CONFIG}.
239
230
  */
240
231
  private initMetadata;
241
232
  /**
@@ -278,6 +269,6 @@ export declare class ScOrderFormComponent implements OnInit {
278
269
  */
279
270
  private onUploadFile;
280
271
  static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderFormComponent, never>;
281
- static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderFormComponent, "sc-order-form", never, { "directionId": { "alias": "directionId"; "required": true; "isSignal": true; }; "enforceApprovedContacts": { "alias": "enforceApprovedContacts"; "required": false; "isSignal": true; }; "persistMetadata": { "alias": "persistMetadata"; "required": false; "isSignal": true; }; }, { "orderSubmit": "orderSubmit"; }, never, never, true, never>;
272
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderFormComponent, "sc-order-form", never, { "enforceApprovedContacts": { "alias": "enforceApprovedContacts"; "required": false; "isSignal": true; }; }, { "orderSubmit": "orderSubmit"; }, never, never, true, never>;
282
273
  }
283
274
  export {};
@@ -22,14 +22,6 @@ export declare class ScOrderItemComponent extends AbstractScPriceCard {
22
22
  * Признак, что необходимо отобразить элементы редактирования.
23
23
  */
24
24
  readonly isShowEditControls: import("@angular/core").InputSignal<boolean>;
25
- /**
26
- * Признак, что цена за единицу берётся из позиции, а не из текущей цены товара (например, цена, зафиксированная в заявке).
27
- */
28
- readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
29
- /**
30
- * Признак, что позиции, которые не попадут в заказ, помечаются причиной и остаются доступными для изменения количества.
31
- */
32
- readonly markUnavailable: import("@angular/core").InputSignal<boolean>;
33
25
  /**
34
26
  * Отображает спецификацию.
35
27
  *
@@ -43,5 +35,5 @@ export declare class ScOrderItemComponent extends AbstractScPriceCard {
43
35
  */
44
36
  protected configuratorHintVisible(visible: boolean): void;
45
37
  static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemComponent, "sc-order-item", never, { "isShowEditControls": { "alias": "isShowEditControls"; "required": false; "isSignal": true; }; "useLinePrice": { "alias": "useLinePrice"; "required": false; "isSignal": true; }; "markUnavailable": { "alias": "markUnavailable"; "required": false; "isSignal": true; }; }, { "clickSettings": "clickSettings"; }, never, never, true, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemComponent, "sc-order-item", never, { "isShowEditControls": { "alias": "isShowEditControls"; "required": false; "isSignal": true; }; }, { "clickSettings": "clickSettings"; }, never, never, true, never>;
47
39
  }
@@ -2,11 +2,9 @@ import { FormControl, FormGroup } from '@angular/forms';
2
2
  import { ScIOrderEditorLoader, ScIOrderLoader, ScOrderItem } from '@snabcentr/client-core';
3
3
  import { AbstractScPriceCard } from '../../directives';
4
4
  import { ScOrderOptions } from '../directives/sc-order-options';
5
- import { ScIOrderItemsGroup } from '../models/sc-i-order-items-group';
6
5
  import * as i0 from "@angular/core";
7
6
  /**
8
7
  * Компонент списка товаров корзины, заказа или черновика.
9
- * Позиции разбиты.
10
8
  */
11
9
  export declare class ScOrderItemsListComponent {
12
10
  /**
@@ -21,22 +19,6 @@ export declare class ScOrderItemsListComponent {
21
19
  * Включить редактирование позиций.
22
20
  */
23
21
  readonly editable: import("@angular/core").InputSignal<boolean>;
24
- /**
25
- * Функция, возвращающая название группы позиции. Если не задана, позиции выводятся одним списком без заголовков.
26
- */
27
- readonly groupBy: import("@angular/core").InputSignal<((item: ScOrderItem) => string) | null>;
28
- /**
29
- * Признак, что позиции, которые не попадут в заказ, помечаются причиной, не выбираются и остаются доступными для изменения.
30
- */
31
- readonly markUnavailable: import("@angular/core").InputSignal<boolean>;
32
- /**
33
- * Признак, что цена за единицу берётся из позиции, а не из текущей цены товара.
34
- */
35
- readonly useLinePrice: import("@angular/core").InputSignal<boolean>;
36
- /**
37
- * Позиции, разбитые на группы в порядке первого появления группы.
38
- */
39
- protected readonly groups: import("@angular/core").Signal<ScIOrderItemsGroup[]>;
40
22
  /**
41
23
  * Внутренняя группа формы для выбора позиций.
42
24
  */
@@ -79,11 +61,6 @@ export declare class ScOrderItemsListComponent {
79
61
  * Предоставляется родителем через токен {@link SC_DIALOG_SERVICE_TOKEN}.
80
62
  */
81
63
  private readonly scDialogService;
82
- /**
83
- * Инициализирует экземпляр класса {@link ScOrderItemsListComponent}.
84
- * Входы выбора и пометки недоступных позиций могут прийти после списка позиций, поэтому при их изменении выбор синхронизируется заново.
85
- */
86
- constructor();
87
64
  /**
88
65
  * Список элементов корзины (товаров). При установке синхронно обновляет контролы выбора в форме.
89
66
  */
@@ -127,5 +104,5 @@ export declare class ScOrderItemsListComponent {
127
104
  */
128
105
  protected openPriceHistoryChartDialog(product: ScOrderItem['product']): void;
129
106
  static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemsListComponent, never>;
130
- static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListComponent, "sc-order-items-list", never, { "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "markUnavailable": { "alias": "markUnavailable"; "required": false; "isSignal": true; }; "useLinePrice": { "alias": "useLinePrice"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; }; }, { "selectedItemsIdsChange": "selectedItemsIdsChange"; }, never, never, true, never>;
107
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListComponent, "sc-order-items-list", never, { "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; }; }, { "selectedItemsIdsChange": "selectedItemsIdsChange"; }, never, never, true, never>;
131
108
  }
@@ -0,0 +1,37 @@
1
+ import { ScOrderItem } from '@snabcentr/client-core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Список позиций заказа с действиями и блоком позиций, которые больше не предоставляются.
5
+ */
6
+ export declare class ScOrderItemsListWithActionsComponent {
7
+ /**
8
+ * Товары заказа.
9
+ */
10
+ readonly items: import("@angular/core").InputSignal<ScOrderItem[]>;
11
+ /**
12
+ * Включить выбор позиций чекбоксами.
13
+ */
14
+ readonly selectable: import("@angular/core").InputSignal<boolean>;
15
+ /**
16
+ * Включить редактирование позиций.
17
+ */
18
+ readonly editable: import("@angular/core").InputSignal<boolean>;
19
+ /**
20
+ * Позиции, доступные для заказа.
21
+ */
22
+ protected readonly availableItems: import("@angular/core").Signal<ScOrderItem[]>;
23
+ /**
24
+ * Позиции корзины, которые больше не предоставляются.
25
+ */
26
+ protected readonly nullItems: import("@angular/core").Signal<ScOrderItem[]>;
27
+ /**
28
+ * Идентификаторы выбранных позиций.
29
+ */
30
+ readonly selectedItemsIds: import("@angular/core").ModelSignal<string[]>;
31
+ /**
32
+ * Инициализирует экземпляр класса {@link ScOrderItemsListWithActionsComponent}.
33
+ */
34
+ constructor();
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemsListWithActionsComponent, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListWithActionsComponent, "sc-order-items-list-with-actions", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "selectedItemsIds": { "alias": "selectedItemsIds"; "required": false; "isSignal": true; }; }, { "selectedItemsIds": "selectedItemsIdsChange"; }, never, ["[footerActions]"], true, never>;
37
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "4.14.6-profstroy",
3
+ "version": "4.15.1",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
6
6
  "license": "Commercial",
@@ -16,7 +16,7 @@
16
16
  "@maskito/core": "^3.11.1",
17
17
  "@ng-web-apis/intersection-observer": "^4.14.0",
18
18
  "@ng-web-apis/common": "^4.14.0",
19
- "@snabcentr/client-core": "3.21.0-profstroy",
19
+ "@snabcentr/client-core": "^3.22.0",
20
20
  "@taiga-ui/addon-charts": "^4.66.0",
21
21
  "@taiga-ui/addon-commerce": "^4.66.0",
22
22
  "@taiga-ui/cdk": "^4.66.0",
@@ -14,7 +14,7 @@ export declare class ScFormatDatePipe implements PipeTransform {
14
14
  * @param timeString - Строка времени.
15
15
  * @returns Форматированная дата и время.
16
16
  */
17
- transform(timeString?: string | Date): string | undefined;
17
+ transform(timeString?: string): string | undefined;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ScFormatDatePipe, never>;
19
19
  static ɵpipe: i0.ɵɵPipeDeclaration<ScFormatDatePipe, "scFormatDate", true>;
20
20
  }
@@ -3,4 +3,4 @@ import { InjectionToken } from '@angular/core';
3
3
  * Токен для функции форматирования даты и времени.
4
4
  * По умолчанию используется формат 'DD.MM.YYYY HH:MM'.
5
5
  */
6
- export declare const SC_DATE_FORMATTER: InjectionToken<(date: string | Date) => string>;
6
+ export declare const SC_DATE_FORMATTER: InjectionToken<(date: string) => string>;
package/release_notes.tmp CHANGED
@@ -1,4 +1,4 @@
1
- ## 4.14.6-profstroy (2026-09-24)
1
+ ## 4.15.1 (2026-09-29)
2
2
 
3
3
  No changes.
4
4
 
@@ -1152,10 +1152,6 @@ video {
1152
1152
  justify-content: flex-start !important;
1153
1153
  }
1154
1154
 
1155
- .justify-start {
1156
- justify-content: flex-start;
1157
- }
1158
-
1159
1155
  .justify-end {
1160
1156
  justify-content: flex-end;
1161
1157
  }
@@ -1510,10 +1506,6 @@ video {
1510
1506
  padding-bottom: 0.25rem;
1511
1507
  }
1512
1508
 
1513
- .pb-2 {
1514
- padding-bottom: 0.5rem;
1515
- }
1516
-
1517
1509
  .pb-4 {
1518
1510
  padding-bottom: 1rem;
1519
1511
  }
@@ -1795,10 +1787,6 @@ video {
1795
1787
  text-decoration-line: underline;
1796
1788
  }
1797
1789
 
1798
- .\!line-through {
1799
- text-decoration-line: line-through !important;
1800
- }
1801
-
1802
1790
  .line-through {
1803
1791
  text-decoration-line: line-through;
1804
1792
  }
@@ -1958,6 +1946,10 @@ video {
1958
1946
  flex-direction: row;
1959
1947
  }
1960
1948
 
1949
+ .sm\:flex-wrap {
1950
+ flex-wrap: wrap;
1951
+ }
1952
+
1961
1953
  .sm\:flex-wrap-reverse {
1962
1954
  flex-wrap: wrap-reverse;
1963
1955
  }
@@ -1966,10 +1958,6 @@ video {
1966
1958
  align-items: flex-start;
1967
1959
  }
1968
1960
 
1969
- .sm\:items-end {
1970
- align-items: flex-end;
1971
- }
1972
-
1973
1961
  .sm\:border-32 {
1974
1962
  border-width: 2rem;
1975
1963
  }
@@ -1,29 +0,0 @@
1
- import { ScUploadedFile } from '@snabcentr/client-core';
2
- import { Observable } from 'rxjs';
3
- /**
4
- * Класс-помощник для работы с файлами, выбранными пользователем.
5
- */
6
- export class ScFileHelper {
7
- /**
8
- * Читает файл и возвращает его для отправки в API: название и содержимое в виде data-URI. При отписке чтение прерывается.
9
- *
10
- * @param file Выбранный файл.
11
- */
12
- static readAsUploadedFile$(file) {
13
- return new Observable((observer) => {
14
- const reader = new FileReader();
15
- reader.addEventListener('load', () => {
16
- observer.next(new ScUploadedFile(file.name, reader.result));
17
- observer.complete();
18
- });
19
- reader.addEventListener('error', () => {
20
- observer.error(reader.error);
21
- });
22
- reader.readAsDataURL(file);
23
- return () => {
24
- reader.abort();
25
- };
26
- });
27
- }
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZmlsZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvaGVscGVycy9zYy1maWxlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQzs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ3JCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBVTtRQUN4QyxPQUFPLElBQUksVUFBVSxDQUFpQixDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFFaEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBZ0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUNsQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsT0FBTyxHQUFHLEVBQUU7Z0JBQ1IsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NVcGxvYWRlZEZpbGUgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC70LDRgdGBLdC/0L7QvNC+0YnQvdC40Log0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDRhNCw0LnQu9Cw0LzQuCwg0LLRi9Cx0YDQsNC90L3Ri9C80Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LwuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY0ZpbGVIZWxwZXIge1xuICAgIC8qKlxuICAgICAqINCn0LjRgtCw0LXRgiDRhNCw0LnQuyDQuCDQstC+0LfQstGA0LDRidCw0LXRgiDQtdCz0L4g0LTQu9GPINC+0YLQv9GA0LDQstC60Lgg0LIgQVBJOiDQvdCw0LfQstCw0L3QuNC1INC4INGB0L7QtNC10YDQttC40LzQvtC1INCyINCy0LjQtNC1IGRhdGEtVVJJLiDQn9GA0Lgg0L7RgtC/0LjRgdC60LUg0YfRgtC10L3QuNC1INC/0YDQtdGA0YvQstCw0LXRgtGB0Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsZSDQktGL0LHRgNCw0L3QvdGL0Lkg0YTQsNC50LsuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyByZWFkQXNVcGxvYWRlZEZpbGUkKGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPFNjVXBsb2FkZWRGaWxlPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxTY1VwbG9hZGVkRmlsZT4oKG9ic2VydmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KG5ldyBTY1VwbG9hZGVkRmlsZShmaWxlLm5hbWUsIHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKSk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IocmVhZGVyLmVycm9yKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcblxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICByZWFkZXIuYWJvcnQoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { ScOrderDraft } from '@snabcentr/client-core';
2
- /**
3
- * Класс-помощник для работы со списком черновиков.
4
- */
5
- export class ScDraftListHelper {
6
- /**
7
- * Возвращает список черновиков страницы с обновлёнными краткими данными. Элементы списка обновляются на месте, чтобы сохранить раскрытые черновики и их полные данные.
8
- *
9
- * @param items Текущие элементы списка.
10
- * @param drafts Полученные краткие данные черновиков.
11
- * @param isFullPage Признак, что получена вся страница: тогда состав и порядок списка берутся из неё.
12
- */
13
- static merge(items, drafts, isFullPage) {
14
- if (isFullPage) {
15
- return drafts.map((short) => {
16
- const item = items.find(({ order }) => order.id === short.id);
17
- return item ? ScDraftListHelper.update(item, short) : { order: short, isExpanded: false };
18
- });
19
- }
20
- return items.map((item) => {
21
- const short = drafts.find(({ id }) => id === item.order.id);
22
- return short ? ScDraftListHelper.update(item, short) : item;
23
- });
24
- }
25
- /**
26
- * Обновляет элемент списка краткими данными черновика. Полные данные черновика не заменяются, а дополняются.
27
- *
28
- * @param item Элемент списка.
29
- * @param short Краткие данные черновика.
30
- */
31
- static update(item, short) {
32
- if (item.order instanceof ScOrderDraft) {
33
- item.order.updateDataFromShortOffer(short);
34
- }
35
- else {
36
- // eslint-disable-next-line no-param-reassign
37
- item.order = short;
38
- }
39
- return item;
40
- }
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZHJhZnQtbGlzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvb3JkZXIvZHJhZnQvaGVscGVycy9zYy1kcmFmdC1saXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBSXpFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQjs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQXlCLEVBQUUsTUFBMkIsRUFBRSxVQUFtQjtRQUMzRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFOUQsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDOUYsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTVELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQXNCLEVBQUUsS0FBd0I7UUFDbEUsSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUFNLENBQUM7WUFDSiw2Q0FBNkM7WUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjT3JkZXJEcmFmdCwgU2NPcmRlckRyYWZ0U2hvcnQgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcblxuaW1wb3J0IHsgU2NJRHJhZnRMaXN0SXRlbSB9IGZyb20gJy4uL21vZGVscy9zYy1pLWRyYWZ0LWxpc3QtaXRlbSc7XG5cbi8qKlxuICog0JrQu9Cw0YHRgS3Qv9C+0LzQvtGJ0L3QuNC6INC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDRgdC/0LjRgdC60L7QvCDRh9C10YDQvdC+0LLQuNC60L7Qsi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjRHJhZnRMaXN0SGVscGVyIHtcbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0YfQtdGA0L3QvtCy0LjQutC+0LIg0YHRgtGA0LDQvdC40YbRiyDRgSDQvtCx0L3QvtCy0LvRkdC90L3Ri9C80Lgg0LrRgNCw0YLQutC40LzQuCDQtNCw0L3QvdGL0LzQuC4g0K3Qu9C10LzQtdC90YLRiyDRgdC/0LjRgdC60LAg0L7QsdC90L7QstC70Y/RjtGC0YHRjyDQvdCwINC80LXRgdGC0LUsINGH0YLQvtCx0Ysg0YHQvtGF0YDQsNC90LjRgtGMINGA0LDRgdC60YDRi9GC0YvQtSDRh9C10YDQvdC+0LLQuNC60Lgg0Lgg0LjRhSDQv9C+0LvQvdGL0LUg0LTQsNC90L3Ri9C1LlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW1zINCi0LXQutGD0YnQuNC1INGN0LvQtdC80LXQvdGC0Ysg0YHQv9C40YHQutCwLlxuICAgICAqIEBwYXJhbSBkcmFmdHMg0J/QvtC70YPRh9C10L3QvdGL0LUg0LrRgNCw0YLQutC40LUg0LTQsNC90L3Ri9C1INGH0LXRgNC90L7QstC40LrQvtCyLlxuICAgICAqIEBwYXJhbSBpc0Z1bGxQYWdlINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L/QvtC70YPRh9C10L3QsCDQstGB0Y8g0YHRgtGA0LDQvdC40YbQsDog0YLQvtCz0LTQsCDRgdC+0YHRgtCw0LIg0Lgg0L/QvtGA0Y/QtNC+0Log0YHQv9C40YHQutCwINCx0LXRgNGD0YLRgdGPINC40Lcg0L3QtdGRLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2UoaXRlbXM6IFNjSURyYWZ0TGlzdEl0ZW1bXSwgZHJhZnRzOiBTY09yZGVyRHJhZnRTaG9ydFtdLCBpc0Z1bGxQYWdlOiBib29sZWFuKTogU2NJRHJhZnRMaXN0SXRlbVtdIHtcbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBkcmFmdHMubWFwKChzaG9ydCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKCh7IG9yZGVyIH0pID0+IG9yZGVyLmlkID09PSBzaG9ydC5pZCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbSA/IFNjRHJhZnRMaXN0SGVscGVyLnVwZGF0ZShpdGVtLCBzaG9ydCkgOiB7IG9yZGVyOiBzaG9ydCwgaXNFeHBhbmRlZDogZmFsc2UgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2hvcnQgPSBkcmFmdHMuZmluZCgoeyBpZCB9KSA9PiBpZCA9PT0gaXRlbS5vcmRlci5pZCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzaG9ydCA/IFNjRHJhZnRMaXN0SGVscGVyLnVwZGF0ZShpdGVtLCBzaG9ydCkgOiBpdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0Y3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwINC60YDQsNGC0LrQuNC80Lgg0LTQsNC90L3Ri9C80Lgg0YfQtdGA0L3QvtCy0LjQutCwLiDQn9C+0LvQvdGL0LUg0LTQsNC90L3Ri9C1INGH0LXRgNC90L7QstC40LrQsCDQvdC1INC30LDQvNC10L3Rj9GO0YLRgdGPLCDQsCDQtNC+0L/QvtC70L3Rj9GO0YLRgdGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0g0K3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwLlxuICAgICAqIEBwYXJhbSBzaG9ydCDQmtGA0LDRgtC60LjQtSDQtNCw0L3QvdGL0LUg0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIHVwZGF0ZShpdGVtOiBTY0lEcmFmdExpc3RJdGVtLCBzaG9ydDogU2NPcmRlckRyYWZ0U2hvcnQpOiBTY0lEcmFmdExpc3RJdGVtIHtcbiAgICAgICAgaWYgKGl0ZW0ub3JkZXIgaW5zdGFuY2VvZiBTY09yZGVyRHJhZnQpIHtcbiAgICAgICAgICAgIGl0ZW0ub3JkZXIudXBkYXRlRGF0YUZyb21TaG9ydE9mZmVyKHNob3J0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgaXRlbS5vcmRlciA9IHNob3J0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1kcmFmdC1saXN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvb3JkZXIvZHJhZnQvbW9kZWxzL3NjLWktZHJhZnQtbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY09yZGVyRHJhZnQsIFNjT3JkZXJEcmFmdFNob3J0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+0LEg0Y3Qu9C10LzQtdC90YLQtSDRgdC/0LjRgdC60LAg0YfQtdGA0L3QvtCy0LjQutC+0LIg0LfQsNC60LDQt9C+0LIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NJRHJhZnRMaXN0SXRlbSB7XG4gICAgLyoqXG4gICAgICog0JrRgNCw0YLQutC40LUg0LjQu9C4INC/0L7Qu9C90YvQtSDQtNCw0L3QvdGL0LUg0L4g0YfQtdGA0L3QvtCy0LjQutC1INC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBvcmRlcjogU2NPcmRlckRyYWZ0IHwgU2NPcmRlckRyYWZ0U2hvcnQ7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGH0LXRgNC90L7QstC40Log0YDQsNGB0LrRgNGL0YIg0LIg0YHQv9C40YHQutC1LlxuICAgICAqL1xuICAgIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59XG4iXX0=