@snabcentr/client-ui 4.6.1 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +1 -5
- package/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.d.ts +47 -0
- package/catalog/catalog-filters/index.d.ts +1 -0
- package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +97 -19
- package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +2 -2
- package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +7 -11
- package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +4 -5
- package/esm2022/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.mjs +59 -0
- package/esm2022/catalog/catalog-filters/index.mjs +2 -1
- package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +247 -58
- package/esm2022/catalog/price-card/sc-price-card.component.mjs +3 -3
- package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +3 -3
- package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +6 -1
- package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +3 -3
- package/esm2022/order/index.mjs +5 -1
- package/esm2022/order/models/i-new-order-form.mjs +2 -0
- package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +39 -0
- package/esm2022/order/order-form/sc-order-form.component.mjs +545 -0
- package/esm2022/order/order-form/sc-order-form.config.mjs +7 -0
- package/esm2022/order/order-item/sc-order-item.component.mjs +3 -3
- package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +3 -4
- package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +30 -0
- package/esm2022/providers/index.mjs +2 -1
- package/fesm2022/snabcentr-client-ui.mjs +916 -81
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/order/index.d.ts +4 -0
- package/order/models/i-new-order-form.d.ts +39 -0
- package/order/order-direction-items/sc-order-direction-items.component.d.ts +29 -0
- package/order/order-form/sc-order-form.component.d.ts +264 -0
- package/order/order-form/sc-order-form.config.d.ts +20 -0
- package/package.json +3 -2
- package/providers/cleanup-recaptcha-artifacts.d.ts +7 -0
- package/providers/index.d.ts +1 -0
- package/release_notes.tmp +2 -4
- package/styles/tailwind/tailwind.scss +26 -4
package/order/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export * from './directives';
|
|
2
|
+
export * from './models/i-new-order-form';
|
|
2
3
|
export * from './models/sc-i-cart-items-by-direction';
|
|
4
|
+
export * from './order-direction-items/sc-order-direction-items.component';
|
|
5
|
+
export * from './order-form/sc-order-form.config';
|
|
6
|
+
export * from './order-form/sc-order-form.component';
|
|
3
7
|
export * from './order-item/sc-order-item.component';
|
|
4
8
|
export * from './order-items-list/sc-order-items-list.component';
|
|
5
9
|
export * from './order-items-list-by-directions/sc-order-items-list-by-directions.component';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { FormControl } from '@angular/forms';
|
|
2
|
+
import { ScDeliveryType, ScPaymentType, ScUploadedFile } from '@snabcentr/client-core';
|
|
3
|
+
/**
|
|
4
|
+
* Модель данных формы нового заказа.
|
|
5
|
+
*/
|
|
6
|
+
export interface INewOrderForm {
|
|
7
|
+
/**
|
|
8
|
+
* Тип оплаты заказа.
|
|
9
|
+
*/
|
|
10
|
+
paymentType: FormControl<ScPaymentType | null>;
|
|
11
|
+
/**
|
|
12
|
+
* Идентификатор контрагента.
|
|
13
|
+
*/
|
|
14
|
+
contragentId?: FormControl<number | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Тип доставки заказа.
|
|
17
|
+
*/
|
|
18
|
+
deliveryType: FormControl<ScDeliveryType | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Дата доставки.
|
|
21
|
+
*/
|
|
22
|
+
deliveryDate: FormControl<string | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Идентификатор адреса доставки контрагента.
|
|
25
|
+
*/
|
|
26
|
+
addressId: FormControl<number | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Идентификатор склада.
|
|
29
|
+
*/
|
|
30
|
+
warehouseId: FormControl<number | null>;
|
|
31
|
+
/**
|
|
32
|
+
* Комментарий к заказу.
|
|
33
|
+
*/
|
|
34
|
+
comment?: FormControl<string | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Файл, прикрепленный пользователем к заказу.
|
|
37
|
+
*/
|
|
38
|
+
image?: FormControl<ScUploadedFile | null>;
|
|
39
|
+
}
|
|
@@ -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 ScOrderDirectionItemsComponent {
|
|
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<ScOrderDirectionItemsComponent, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderDirectionItemsComponent, "sc-order-direction-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
|
+
}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
+
import { ElementRef, OnInit, Signal } from '@angular/core';
|
|
3
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
4
|
+
import { ScContragent, ScDeliveryType, ScIDeliveryAddress, ScINewOrder, ScIReferencesTypes, ScITerminalProvider, ScIWarehouse, ScPaymentType, ScUser, ScWarehouseService } from '@snabcentr/client-core';
|
|
5
|
+
import { TuiContext, TuiDay, TuiStringHandler } from '@taiga-ui/cdk';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
import { INewOrderForm } from '../models/i-new-order-form';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Типы, которые возможно преобразовать в значение, отображаемое в поле ввода.
|
|
11
|
+
*/
|
|
12
|
+
type SelectType = ScIReferencesTypes<ScPaymentType, typeof ScPaymentType> | ScContragent | ScIReferencesTypes<ScDeliveryType, typeof ScDeliveryType> | ScIWarehouse | ScIDeliveryAddress;
|
|
13
|
+
/**
|
|
14
|
+
* Форма оформления заказа.
|
|
15
|
+
*/
|
|
16
|
+
export declare class ScOrderFormComponent implements OnInit {
|
|
17
|
+
/**
|
|
18
|
+
* Идентификатор направления продаж заказа.
|
|
19
|
+
*/
|
|
20
|
+
readonly directionId: import("@angular/core").InputSignal<number>;
|
|
21
|
+
/**
|
|
22
|
+
* Требовать подтверждённые контактные данные для оформления. Для черновика — `false`.
|
|
23
|
+
*/
|
|
24
|
+
readonly enforceApprovedContacts: import("@angular/core").InputSignal<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Сохранять и восстанавливать черновые данные формы по направлению (метаданные). Для черновика — `false`.
|
|
27
|
+
* Работает только если предоставлен токен {@link SC_ORDER_FORM_CONFIG}.
|
|
28
|
+
*/
|
|
29
|
+
readonly persistMetadata: import("@angular/core").InputSignal<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Событие отправки валидной формы оформления. Полезная нагрузка — сырые значения формы.
|
|
32
|
+
*/
|
|
33
|
+
readonly orderSubmit: import("@angular/core").OutputEmitterRef<ScINewOrder>;
|
|
34
|
+
/**
|
|
35
|
+
* Сервис справочников.
|
|
36
|
+
*/
|
|
37
|
+
private readonly referencesService;
|
|
38
|
+
/**
|
|
39
|
+
* Сервис работы с контрагентами.
|
|
40
|
+
*/
|
|
41
|
+
private readonly contragentService;
|
|
42
|
+
/**
|
|
43
|
+
* Сервис работы с адресами доставки.
|
|
44
|
+
*/
|
|
45
|
+
private readonly deliveryAddressService;
|
|
46
|
+
/**
|
|
47
|
+
* Сервис для работы со складами.
|
|
48
|
+
*/
|
|
49
|
+
readonly warehouseService: ScWarehouseService;
|
|
50
|
+
/**
|
|
51
|
+
* Сервис для работы с заказами (загрузка дат доставки/самовывоза).
|
|
52
|
+
*/
|
|
53
|
+
private readonly ordersService;
|
|
54
|
+
/**
|
|
55
|
+
* Сервис для работы с UI.
|
|
56
|
+
*/
|
|
57
|
+
private readonly uiService;
|
|
58
|
+
/**
|
|
59
|
+
* Сервис конвертации данных.
|
|
60
|
+
*/
|
|
61
|
+
private readonly convertersService;
|
|
62
|
+
/**
|
|
63
|
+
* Сервис работы с диалоговым окном.
|
|
64
|
+
*/
|
|
65
|
+
private readonly dialog;
|
|
66
|
+
/**
|
|
67
|
+
* Провайдер данных о терминале.
|
|
68
|
+
*/
|
|
69
|
+
readonly terminal: ScITerminalProvider;
|
|
70
|
+
/**
|
|
71
|
+
* Поток данных о текущем пользователе.
|
|
72
|
+
*/
|
|
73
|
+
readonly user$: Observable<ScUser>;
|
|
74
|
+
/**
|
|
75
|
+
* Настройки формы оформления заказа. Если не предоставлены, метаданные формы не сохраняются.
|
|
76
|
+
*/
|
|
77
|
+
private readonly config;
|
|
78
|
+
/**
|
|
79
|
+
* Признак выполнения скрипта на сервере.
|
|
80
|
+
*/
|
|
81
|
+
private readonly isServer;
|
|
82
|
+
/**
|
|
83
|
+
* Ссылка для автоматического управления уничтожением зависимостей.
|
|
84
|
+
*/
|
|
85
|
+
private readonly destroyRef;
|
|
86
|
+
/**
|
|
87
|
+
* Задержка считывания сигналов формы, для избежания лишних обработок при смене значений.
|
|
88
|
+
*/
|
|
89
|
+
private readonly debounceTimeFormChange;
|
|
90
|
+
/**
|
|
91
|
+
* Форма создания заказа.
|
|
92
|
+
*/
|
|
93
|
+
protected readonly form: FormGroup<INewOrderForm>;
|
|
94
|
+
/**
|
|
95
|
+
* Поле файла.
|
|
96
|
+
*/
|
|
97
|
+
protected readonly controlFile: FormControl<File | null>;
|
|
98
|
+
/**
|
|
99
|
+
* {@link Observable} списка подтверждённых файлов.
|
|
100
|
+
*/
|
|
101
|
+
protected readonly accepted$: Observable<File[]>;
|
|
102
|
+
/**
|
|
103
|
+
* Признак, что включён режим анимации предупреждения о неподтверждённых данных.
|
|
104
|
+
*/
|
|
105
|
+
protected readonly warningShake: import("@angular/core").WritableSignal<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* Признак, что контрагент является физическим лицом.
|
|
108
|
+
*/
|
|
109
|
+
protected readonly isIndividual: import("@angular/core").WritableSignal<boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* Список возможных дат самовывоза со склада.
|
|
112
|
+
*/
|
|
113
|
+
private readonly warehouseDeliveryDates;
|
|
114
|
+
/**
|
|
115
|
+
* Список возможных дат доставки.
|
|
116
|
+
*/
|
|
117
|
+
private readonly addressDeliveryDates;
|
|
118
|
+
/**
|
|
119
|
+
* {@link Observable} списка контрагентов пользователя.
|
|
120
|
+
*/
|
|
121
|
+
protected readonly contragents$: Observable<ScContragent[] | null>;
|
|
122
|
+
/**
|
|
123
|
+
* {@link Observable} списка адресов контрагента.
|
|
124
|
+
*/
|
|
125
|
+
protected readonly addresses$: Observable<ScIDeliveryAddress[] | null>;
|
|
126
|
+
/**
|
|
127
|
+
* {@link Observable} списка складов.
|
|
128
|
+
*/
|
|
129
|
+
protected readonly warehouses$: Observable<ScIWarehouse[]>;
|
|
130
|
+
/**
|
|
131
|
+
* {@link Observable} ОПФ выбранного контрагента.
|
|
132
|
+
*/
|
|
133
|
+
private readonly opf$;
|
|
134
|
+
/**
|
|
135
|
+
* {@link Observable} типов оплаты заказа.
|
|
136
|
+
*/
|
|
137
|
+
protected readonly paymentTypes$: Observable<Array<ScIReferencesTypes<ScPaymentType, typeof ScPaymentType>>>;
|
|
138
|
+
/**
|
|
139
|
+
* {@link Observable} типов доставки заказа.
|
|
140
|
+
*/
|
|
141
|
+
protected readonly deliveryTypes$: Observable<Array<ScIReferencesTypes<ScDeliveryType, typeof ScDeliveryType>>>;
|
|
142
|
+
/**
|
|
143
|
+
* Признак, что выбран тип оплаты наличными.
|
|
144
|
+
*/
|
|
145
|
+
protected readonly isCashPaymentSelected: Signal<boolean>;
|
|
146
|
+
/**
|
|
147
|
+
* Признак, что номер телефона подтверждён.
|
|
148
|
+
*/
|
|
149
|
+
protected readonly isPhoneApproved: Signal<boolean>;
|
|
150
|
+
/**
|
|
151
|
+
* Признак, что адрес электронной почты подтверждён пользователем.
|
|
152
|
+
*/
|
|
153
|
+
private readonly isEmailApprovedUser;
|
|
154
|
+
/**
|
|
155
|
+
* Признак, что адрес электронной почты подтверждён или контрагент является физическим лицом.
|
|
156
|
+
*/
|
|
157
|
+
protected readonly isEmailApproved: Signal<boolean>;
|
|
158
|
+
/**
|
|
159
|
+
* Значение выбранного типа доставки.
|
|
160
|
+
*/
|
|
161
|
+
private readonly deliveryTypeValue;
|
|
162
|
+
/**
|
|
163
|
+
* Признак, что выбран тип доставки "Доставка".
|
|
164
|
+
*/
|
|
165
|
+
protected readonly isDelivery: Signal<boolean>;
|
|
166
|
+
/**
|
|
167
|
+
* Набор доступных дат в зависимости от типа доставки.
|
|
168
|
+
*/
|
|
169
|
+
protected readonly deliveryDates: Signal<string[]>;
|
|
170
|
+
/**
|
|
171
|
+
* Ссылка на элемент с предупреждением о неподтверждённых данных.
|
|
172
|
+
*/
|
|
173
|
+
protected readonly unconfirmedDataWarning: Signal<ElementRef<HTMLElement> | undefined>;
|
|
174
|
+
/**
|
|
175
|
+
* Возвращает признак, что указанная дата недоступна для выбора.
|
|
176
|
+
*
|
|
177
|
+
* @param date Дата.
|
|
178
|
+
*/
|
|
179
|
+
protected readonly deliveryDateFilter: (date: TuiDay) => boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Инициализирует экземпляр класса {@link ScOrderFormComponent}.
|
|
182
|
+
*/
|
|
183
|
+
constructor();
|
|
184
|
+
/** @inheritdoc */
|
|
185
|
+
ngOnInit(): void;
|
|
186
|
+
/**
|
|
187
|
+
* Преобразует объекты в значения, отображаемое в поле ввода.
|
|
188
|
+
*
|
|
189
|
+
* @param items Выбранные объекты выпадающего списка.
|
|
190
|
+
*/
|
|
191
|
+
stringify(items: readonly SelectType[]): TuiStringHandler<TuiContext<number>>;
|
|
192
|
+
/**
|
|
193
|
+
* Обрабатывает отправку формы: валидирует и эмитит данные заказа родителю.
|
|
194
|
+
*/
|
|
195
|
+
submit(): void;
|
|
196
|
+
/**
|
|
197
|
+
* Применяет к полям формы ошибки, пришедшие от сервера.
|
|
198
|
+
*
|
|
199
|
+
* @param error Ответ сервера с ошибками.
|
|
200
|
+
*/
|
|
201
|
+
applyServerErrors(error: HttpErrorResponse): void;
|
|
202
|
+
/**
|
|
203
|
+
* Удаляет файл из формы заказа.
|
|
204
|
+
*/
|
|
205
|
+
protected removeFile(): void;
|
|
206
|
+
/**
|
|
207
|
+
* Открывает диалоговое окно добавления адреса доставки.
|
|
208
|
+
*/
|
|
209
|
+
protected addDeliveryAddress(): void;
|
|
210
|
+
/**
|
|
211
|
+
* Открывает диалоговое окно добавления контрагента.
|
|
212
|
+
*/
|
|
213
|
+
protected addContragent(): void;
|
|
214
|
+
/**
|
|
215
|
+
* Запускает анимацию предупреждения о неподтверждённых данных и прокручивает к нему.
|
|
216
|
+
*/
|
|
217
|
+
private triggerUnconfirmedWarning;
|
|
218
|
+
/**
|
|
219
|
+
* Восстанавливает черновые данные формы из метаданных и инициализирует их сохранение.
|
|
220
|
+
*/
|
|
221
|
+
private initMetadata;
|
|
222
|
+
/**
|
|
223
|
+
* Инициализирует подписки на изменения полей формы.
|
|
224
|
+
*/
|
|
225
|
+
private initFormChanges;
|
|
226
|
+
/**
|
|
227
|
+
* Инициализирует подписку на изменение поля прикрепления файла.
|
|
228
|
+
*/
|
|
229
|
+
private initFileChange;
|
|
230
|
+
/**
|
|
231
|
+
* Инициализирует подписку на изменение выбранного склада.
|
|
232
|
+
*/
|
|
233
|
+
private initWarehouseChange;
|
|
234
|
+
/**
|
|
235
|
+
* Инициализирует подписку на изменение адреса доставки и выбранного склада для получения списка доступных дат доставки.
|
|
236
|
+
*/
|
|
237
|
+
private initDeliveryDatesChange;
|
|
238
|
+
/**
|
|
239
|
+
* Инициализирует подписку на изменение полей формы для блокирования/активации поля выбора даты.
|
|
240
|
+
*/
|
|
241
|
+
private initDateFieldActivationChange;
|
|
242
|
+
/**
|
|
243
|
+
* Запрашивает даты доставки по адресу.
|
|
244
|
+
*
|
|
245
|
+
* @param addressId Идентификатор адреса доставки.
|
|
246
|
+
*/
|
|
247
|
+
private deliveriesByAddress;
|
|
248
|
+
/**
|
|
249
|
+
* Запрашивает даты самовывоза по складу.
|
|
250
|
+
*
|
|
251
|
+
* @param warehouseId Идентификатор склада.
|
|
252
|
+
*/
|
|
253
|
+
private deliveriesByWarehouse;
|
|
254
|
+
/**
|
|
255
|
+
* Загружает файл в форму.
|
|
256
|
+
*
|
|
257
|
+
* @param file Файл.
|
|
258
|
+
* @param filesControl Поле файла заказа.
|
|
259
|
+
*/
|
|
260
|
+
private onUploadFile;
|
|
261
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderFormComponent, never>;
|
|
262
|
+
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>;
|
|
263
|
+
}
|
|
264
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { ScIDateFormat } from '@snabcentr/client-core';
|
|
3
|
+
/**
|
|
4
|
+
* Настройки компонента формы оформления заказа {@link ScOrderFormComponent}.
|
|
5
|
+
*/
|
|
6
|
+
export interface ScIOrderFormConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Форматы дат приложения (используются при восстановлении метаданных формы).
|
|
9
|
+
*/
|
|
10
|
+
readonly dateFormats: ScIDateFormat;
|
|
11
|
+
/**
|
|
12
|
+
* Задержка сохранения метаданных формы, мс.
|
|
13
|
+
*/
|
|
14
|
+
readonly debounceTime: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Токен настроек {@link ScOrderFormComponent}.
|
|
18
|
+
* Если не предоставлен, сохранение и восстановление метаданных формы отключены.
|
|
19
|
+
*/
|
|
20
|
+
export declare const SC_ORDER_FORM_CONFIG: InjectionToken<ScIOrderFormConfig>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snabcentr/client-ui",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.7.0",
|
|
4
4
|
"author": "Snabcentr Ltd.",
|
|
5
5
|
"repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
|
|
6
6
|
"license": "Commercial",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@maskito/core": "^3.11.1",
|
|
16
16
|
"@ng-web-apis/intersection-observer": "^4.14.0",
|
|
17
17
|
"@ng-web-apis/common": "^4.14.0",
|
|
18
|
-
"@snabcentr/client-core": "^3.
|
|
18
|
+
"@snabcentr/client-core": "^3.7.0",
|
|
19
19
|
"@taiga-ui/addon-charts": "^4.66.0",
|
|
20
20
|
"@taiga-ui/addon-commerce": "^4.66.0",
|
|
21
21
|
"@taiga-ui/cdk": "^4.66.0",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"@tailwindcss/container-queries": "^0.1.1",
|
|
33
33
|
"ng-recaptcha-2": "^14.0.0",
|
|
34
34
|
"angular8-yandex-maps": "^18.2.0",
|
|
35
|
+
"date-fns": "^4.1.0",
|
|
35
36
|
"libphonenumber-js": "^1.12.7",
|
|
36
37
|
"angularx-qrcode": "^18.0.2",
|
|
37
38
|
"lodash-es": "^4.17.21",
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Освобождает ресурсы reCAPTCHA и удаляет осиротевшие iframe после смены маршрута.
|
|
3
|
+
*
|
|
4
|
+
* @param documentReference Объект документа.
|
|
5
|
+
* @param windowReference Объект окна браузера.
|
|
6
|
+
*/
|
|
7
|
+
export declare function cleanupRecaptchaArtifacts(documentReference: Document, windowReference: Window): void;
|
package/providers/index.d.ts
CHANGED
package/release_notes.tmp
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
## 4.
|
|
1
|
+
## 4.7.0 (2026-06-22)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
- [#13385: Доработан конфигуратор раскроя сэндвич панелей исходя из стоимости за м2](web_soft/libs/angular/snabcentr-client-ui-lib@ced3d8bfdbcc6e31297e3cf5159cfd938562bd18) ([merge request](web_soft/libs/angular/snabcentr-client-ui-lib!409))
|
|
3
|
+
No changes.
|
|
6
4
|
|
|
@@ -679,6 +679,11 @@ video {
|
|
|
679
679
|
margin-bottom: 0.625rem;
|
|
680
680
|
}
|
|
681
681
|
|
|
682
|
+
.my-3 {
|
|
683
|
+
margin-top: 0.75rem;
|
|
684
|
+
margin-bottom: 0.75rem;
|
|
685
|
+
}
|
|
686
|
+
|
|
682
687
|
.my-4 {
|
|
683
688
|
margin-top: 1rem;
|
|
684
689
|
margin-bottom: 1rem;
|
|
@@ -1332,10 +1337,6 @@ video {
|
|
|
1332
1337
|
background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
|
|
1333
1338
|
}
|
|
1334
1339
|
|
|
1335
|
-
.bg-tui-base-01 {
|
|
1336
|
-
background-color: var(--tui-background-base);
|
|
1337
|
-
}
|
|
1338
|
-
|
|
1339
1340
|
.bg-tui-base-02 {
|
|
1340
1341
|
background-color: var(--tui-background-base-alt);
|
|
1341
1342
|
}
|
|
@@ -1545,6 +1546,12 @@ video {
|
|
|
1545
1546
|
font-weight: 800 !important;
|
|
1546
1547
|
}
|
|
1547
1548
|
|
|
1549
|
+
.\!text-body-s {
|
|
1550
|
+
font-size: 0.8125rem !important;
|
|
1551
|
+
line-height: 1.25rem !important;
|
|
1552
|
+
font-weight: 500 !important;
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1548
1555
|
.\!text-body-s-bold {
|
|
1549
1556
|
font-size: 0.8125rem !important;
|
|
1550
1557
|
line-height: 1.25rem !important;
|
|
@@ -1645,6 +1652,11 @@ video {
|
|
|
1645
1652
|
line-height: 1.75rem;
|
|
1646
1653
|
}
|
|
1647
1654
|
|
|
1655
|
+
.text-xs {
|
|
1656
|
+
font-size: 0.75rem;
|
|
1657
|
+
line-height: 1rem;
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1648
1660
|
.\!font-bold {
|
|
1649
1661
|
font-weight: 700 !important;
|
|
1650
1662
|
}
|
|
@@ -1733,6 +1745,10 @@ video {
|
|
|
1733
1745
|
color: var(--tui-text-tertiary);
|
|
1734
1746
|
}
|
|
1735
1747
|
|
|
1748
|
+
.text-tui-text-negative {
|
|
1749
|
+
color: var(--tui-text-negative);
|
|
1750
|
+
}
|
|
1751
|
+
|
|
1736
1752
|
.text-tui-text-primary {
|
|
1737
1753
|
color: var(--tui-text-primary);
|
|
1738
1754
|
}
|
|
@@ -1819,6 +1835,12 @@ video {
|
|
|
1819
1835
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
1820
1836
|
}
|
|
1821
1837
|
|
|
1838
|
+
.transition {
|
|
1839
|
+
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
|
|
1840
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
1841
|
+
transition-duration: 150ms;
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1822
1844
|
.duration-200 {
|
|
1823
1845
|
transition-duration: 200ms;
|
|
1824
1846
|
}
|