@snabcentr/client-ui 5.10.0 → 5.16.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.
@@ -1,11 +1,12 @@
1
1
  import * as _snabcentr_client_core from '@snabcentr/client-core';
2
- import { ScIOrgContact, ScISuggestionType, ScUser, ScOpfList, ScIReferencesTypes, ScSuggestion, ScBanner, ScProduct, ScOrderItem, ScINewOrderItemBase, ScCart, ScOrderDraft, ScIOrderEditorLoader, ScMimeTypes, ScCategory, ScISeoResource, ScIWarehouse, ScIImage, ScCatalogService, ScUnitsHelper, ScImageHelper, ScICategoryProductPaginationParams, ScIPaginationMeta, ScIWarehouseStockCount, ScPropertyFilters, ScRangeFilter, ScToggleFilter, ScCatalogFilter, ScICheckboxFilter, ScIConfiguratorSettingsBase, ScIConfiguratorCalculateResult, ScIConfiguratorSearchProductBase, ScIBankAccount, ScIOpf, ScContragent, ScICurrency, ScICountry, ScIContact, ScConvertersService, ScIContactWithRelations, ScIContactOnDataCreate, ScIContactBase, ScISuggestionAddress, ScIDeliveryAddress, ScDocumentInfo, ScIRegion, ScICity, ScISuggestionOrganization, ScINewsTile, ScPaymentType, ScDeliveryType, ScUploadedFile, ScISalesDirection, ScIDateFormat, ScINewOrder, ScWarehouseService, ScITerminalProvider, ScIOrderLoader, ScFaqItem, ScFaqGroup, ScFrequentlyAskedQuestionsService, ScICompanyBaseInfo, ScIUrls, ScICityWithRegionAndCountry, ScFeedbackForms, ScIManager, ScApprovedData, ScVerificationService } from '@snabcentr/client-core';
2
+ import { ScIOrgContact, ScISuggestionType, ScUser, ScOpfList, ScIReferencesTypes, ScSuggestion, ScBanner, ScProduct, ScOrderItem, ScINewOrderItemBase, ScCart, ScOrderDraft, ScIOrderEditorLoader, ScMimeTypes, ScCategory, ScISeoResource, ScIWarehouse, ScIImage, ScCatalogService, ScUnitsHelper, ScImageHelper, ScSuggestionAddressQuality, ScISuggestionOrganization, ScICategoryProductPaginationParams, ScIPaginationMeta, ScIWarehouseStockCount, ScPropertyFilters, ScRangeFilter, ScToggleFilter, ScCatalogFilter, ScICheckboxFilter, ScIConfiguratorSettingsBase, ScIConfiguratorCalculateResult, ScIConfiguratorSearchProductBase, ScIBankAccount, ScIOpf, ScContragent, ScICurrency, ScICountry, ScIContact, ScConvertersService, ScIContactWithRelations, ScIContactOnDataCreate, ScIContactBase, ScISuggestionAddress, ScIDeliveryAddress, ScDocumentInfo, ScIRegion, ScICity, ScINewsTile, ScPaymentType, ScDeliveryType, ScUploadedFile, ScIDateFormat, ScINewOrder, ScWarehouseService, ScITerminalProvider, ScIOrderLoader, ScFaqItem, ScFaqGroup, ScFrequentlyAskedQuestionsService, ScICompanyBaseInfo, ScIUrls, ScICityWithRegionAndCountry, ScFeedbackForms, ScIManager, ScApprovedData, ScVerificationService } from '@snabcentr/client-core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { Observable, Subject, BehaviorSubject } from 'rxjs';
5
5
  import * as i0 from '@angular/core';
6
6
  import { OnInit, OnDestroy, Signal, OutputRef, OutputEmitterRef, EventEmitter, InputSignal, QueryList, TemplateRef, WritableSignal, PipeTransform, OnChanges, SimpleChanges, InjectionToken, AfterViewInit, ElementRef, ModelSignal, Provider, FactoryProvider } from '@angular/core';
7
- import { FormGroup, FormControl, FormArray, ControlValueAccessor, ValidatorFn, NgControl, FormGroupDirective } from '@angular/forms';
7
+ import { FormGroup, FormControl, FormArray, ControlValueAccessor, ValidatorFn, AbstractControl, ValidationErrors, NgControl, FormGroupDirective } from '@angular/forms';
8
8
  import { PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
9
+ import * as _taiga_ui_core from '@taiga-ui/core';
9
10
  import { TuiSizeS, TuiCarouselComponent, TuiDialogContext, TuiSizeL, TuiMarkerHandler, TuiCommonIcons, TuiSizeM, TuiSizeXS } from '@taiga-ui/core';
10
11
  import { TuiAccordionDirective, TuiTreeLoader, TuiTreeService, TuiFileLike } from '@taiga-ui/kit';
11
12
  import { HttpErrorResponse, HttpClient } from '@angular/common/http';
@@ -132,6 +133,56 @@ declare class ScPrintService {
132
133
  static ɵprov: i0.ɵɵInjectableDeclaration<ScPrintService>;
133
134
  }
134
135
 
136
+ /**
137
+ * Сервис для вставки в {@link Document} внешних и дополнительных скриптов.
138
+ */
139
+ declare class ScScriptsService {
140
+ /**
141
+ * Объект {@link Document}, предоставляющий доступ к DOM страницы.
142
+ */
143
+ private readonly document;
144
+ /**
145
+ * Объект {@link Renderer2}, предоставляющий доступ к DOM страницы.
146
+ */
147
+ private readonly renderer;
148
+ /**
149
+ * Признак того, что скрипт выполняется в браузере.
150
+ */
151
+ private readonly isBrowser;
152
+ /**
153
+ * {@link NgZone} для вставки скриптов вне зоны Angular.
154
+ */
155
+ private readonly ngZone;
156
+ /**
157
+ * Вставляет в конец {@link Document.body} скрипты, заданные строками HTML, вне зоны Angular. Из каждой строки берётся первый `<script>`. На сервере ничего не делает.
158
+ * Принимает только доверенные строки из конфигурации приложения: строка разбирается как HTML и может выполнить код.
159
+ *
160
+ * @param scriptStrings Строки HTML скриптов.
161
+ */
162
+ appendScripts(scriptStrings: readonly string[]): void;
163
+ /**
164
+ * Загружает внешний скрипт: при подписке добавляет его в {@link Document.head}, после загрузки выдаёт элемент скрипта и завершается.
165
+ * Если скрипт не загрузился или подписка отменена раньше, удаляет его со страницы; удаление не отменяет загрузку и выполнение уже вставленного скрипта. На сервере завершается без загрузки.
166
+ *
167
+ * @param url Адрес скрипта.
168
+ */
169
+ loadScript$(url: string): Observable<HTMLScriptElement>;
170
+ /**
171
+ * Удаляет скрипт со страницы. При подключённых анимациях Angular узел удаляется при ближайшей проверке изменений.
172
+ *
173
+ * @param script Элемент скрипта.
174
+ */
175
+ removeScript(script: HTMLScriptElement): void;
176
+ /**
177
+ * Создаёт {@link HTMLScriptElement} из строки HTML скрипта.
178
+ *
179
+ * @param scriptString Строка HTML скрипта.
180
+ */
181
+ private createScript;
182
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScScriptsService, never>;
183
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScScriptsService>;
184
+ }
185
+
135
186
  /**
136
187
  * Компонент упрощенной регистрации.
137
188
  */
@@ -448,6 +499,10 @@ declare class ScSignUpFormComponent implements OnInit {
448
499
  * Сервис для сбора метрик о действиях пользователей.
449
500
  */
450
501
  private readonly userMetrikaService;
502
+ /**
503
+ * Сервис-реестр качества адресов, выбранных из подсказок.
504
+ */
505
+ private readonly addressQualityService;
451
506
  /**
452
507
  * Поле ввода организационно-правовых форм.
453
508
  */
@@ -505,6 +560,8 @@ declare class ScSignUpFormComponent implements OnInit {
505
560
  readonly steps: string[];
506
561
  /**
507
562
  * Инициализирует экземпляр класса {@link ScSignUpFormComponent}.
563
+ * Название сбрасывается только при переходе между физическим лицом и организацией: у физического лица в поле Ф.И.О.,
564
+ * у остальных форм название организации, поэтому прежнее значение по смыслу не подходит.
508
565
  */
509
566
  constructor();
510
567
  /**
@@ -832,6 +889,10 @@ declare class ScAddOrEditingCartItemFormComponent implements OnInit {
832
889
  * Шаг изменения метража.
833
890
  */
834
891
  protected readonly lengthStep: i0.Signal<number>;
892
+ /**
893
+ * Количество знаков после запятой в поле метража.
894
+ */
895
+ protected readonly lengthPrecision: i0.Signal<number>;
835
896
  /**
836
897
  * Подсказка по минимальному и максимальному метражу товара.
837
898
  */
@@ -848,6 +909,10 @@ declare class ScAddOrEditingCartItemFormComponent implements OnInit {
848
909
  * {@link Output} события редактирования товара в корзине.
849
910
  */
850
911
  readonly editCartItem: i0.OutputEmitterRef<Omit<ScINewOrderItemBase, "productId">>;
912
+ /**
913
+ * Настройки вывода сумм в рублях.
914
+ */
915
+ protected readonly moneyFormat: Partial<_taiga_ui_core.TuiNumberFormatSettings>;
851
916
  /**
852
917
  * Сервис для сбора метрик о действиях пользователей.
853
918
  */
@@ -1439,6 +1504,149 @@ declare class AbstractScPriceCard {
1439
1504
  static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractScPriceCard, never, never, { "orderItem": { "alias": "orderItem"; "required": false; }; "product": { "alias": "product"; "required": false; }; "showQuantityControl": { "alias": "showQuantityControl"; "required": false; }; "href": { "alias": "href"; "required": false; }; }, { "clickFavoriteEvent": "clickFavoriteEvent"; "clickAddToCartEvent": "clickAddToCartEvent"; "clickClearEvent": "clickClearEvent"; "clickCardEvent": "clickCardEvent"; "clickPriceHistoryEvent": "clickPriceHistoryEvent"; "quantityValueChanges": "quantityValueChanges"; }, never, never, false, never>;
1440
1505
  }
1441
1506
 
1507
+ /**
1508
+ * Директива предупреждения о качестве (полноте) адреса, выбранного из подсказок, для поля с контролом формы.
1509
+ *
1510
+ * Блокировку отправки формы с неполным адресом обеспечивает валидатор {@link ScAddressQualityService.validator},
1511
+ * подключённый к контролу адреса при его создании.
1512
+ */
1513
+ declare class ScAddressQualityDirective {
1514
+ /**
1515
+ * Контрол поля адреса.
1516
+ */
1517
+ private readonly ngControl;
1518
+ /**
1519
+ * Сервис-реестр качества адресов, выбранных из подсказок.
1520
+ */
1521
+ private readonly addressQualityService;
1522
+ /**
1523
+ * Возвращает текст предупреждения о необходимости проверить выбранный адрес либо null, когда предупреждение не требуется.
1524
+ */
1525
+ getWarningMessage(): string | null;
1526
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScAddressQualityDirective, never>;
1527
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScAddressQualityDirective, "[scAddressQuality]", ["scAddressQuality"], {}, {}, never, never, true, never>;
1528
+ }
1529
+
1530
+ /**
1531
+ * Сервис-реестр качества адресов, выбранных из подсказок.
1532
+ *
1533
+ * Хранит качество последнего выбранного адреса для каждого контрола. Качество полного адреса
1534
+ * действует, пока значение контрола не изменилось после выбора: ручная правка возвращает адрес
1535
+ * в разряд непроверяемых. Качество неполного адреса и адреса с неопределённой полнотой сохраняется
1536
+ * и при ручной правке текста: его заменяет только выбор другой подсказки по этому полю.
1537
+ * Полная очистка поля сбрасывает качество: адрес, введённый после неё, считается ручным.
1538
+ */
1539
+ declare class ScAddressQualityService {
1540
+ /**
1541
+ * Возвращает признак, что значение поля адреса пустое без учёта пробелов.
1542
+ *
1543
+ * @param value Значение поля адреса.
1544
+ */
1545
+ private static isEmptyAddress;
1546
+ /**
1547
+ * Валидатор, запрещающий отправку формы с неполным адресом, пока блокировка включена токеном {@link SC_BLOCK_INCOMPLETE_ADDRESS}.
1548
+ * Подключается к контролу адреса при его создании; директива качества адреса только показывает предупреждение.
1549
+ *
1550
+ * @param control Контрол адреса.
1551
+ */
1552
+ readonly validator: ValidatorFn;
1553
+ /**
1554
+ * Признак, что отправка форм с неполным адресом заблокирована.
1555
+ */
1556
+ private readonly blockIncompleteAddress;
1557
+ /**
1558
+ * Ошибка валидации неполного адреса.
1559
+ */
1560
+ private readonly incompleteAddressError;
1561
+ /**
1562
+ * Реестр состояний качества по контролам адресов.
1563
+ */
1564
+ private readonly states;
1565
+ /**
1566
+ * Реестр признаков включённого контроля качества по контролам адресов.
1567
+ */
1568
+ private readonly checkEnabledStates;
1569
+ /**
1570
+ * Задаёт качество адреса, выбранного в контроле, и пересчитывает валидность контрола
1571
+ * без рассылки событий, чтобы не нарушать подавление valueChanges при выборе подсказки.
1572
+ * Контрол адреса, требующего внимания пользователя, помечается затронутым, чтобы сообщения показались сразу.
1573
+ *
1574
+ * @param control Контрол адреса.
1575
+ * @param quality Качество (полнота) адреса или null, если качество неизвестно.
1576
+ */
1577
+ setQuality(control: AbstractControl, quality: ScSuggestionAddressQuality | null): void;
1578
+ /**
1579
+ * Возвращает качество адреса, выбранного в контроле, либо null, если адрес из подсказок
1580
+ * не выбирался или поле пустое. Качество полного адреса действует, только пока значение контрола не изменилось
1581
+ * после выбора; качество неполного адреса и адреса с неопределённой полнотой действует
1582
+ * до выбора другой подсказки или полной очистки поля, в том числе после ручной правки текста.
1583
+ *
1584
+ * @param control Контрол адреса.
1585
+ */
1586
+ getQuality(control: AbstractControl): ScSuggestionAddressQuality | null;
1587
+ /**
1588
+ * Задаёт качество адресов организации контролам группы на основе выбранной подсказки.
1589
+ * Качество применяется только к заполненным адресам подсказки: для пустого адреса
1590
+ * оно сбрасывается, даже если сервис подсказок прислал для него значение.
1591
+ *
1592
+ * @param group Группа с контролами адресов организации.
1593
+ * @param suggestion Объект подсказки по организации.
1594
+ */
1595
+ setOrganizationAddressQualities(group: AbstractControl, suggestion: ScISuggestionOrganization): void;
1596
+ /**
1597
+ * Включает или отключает контроль качества адреса для контрола и пересчитывает его валидность без рассылки событий.
1598
+ * Сохранённое качество при отключении не теряется и снова учитывается после включения.
1599
+ * Вызывать при смене значения формы, а не из хуков проверки изменений (ngOnChanges и т.п.),
1600
+ * чтобы родительские шаблоны сразу видели актуальную валидность.
1601
+ *
1602
+ * @param control Контрол адреса.
1603
+ * @param enabled Признак, что контроль качества адреса включён.
1604
+ */
1605
+ setQualityCheckEnabled(control: AbstractControl, enabled: boolean): void;
1606
+ /**
1607
+ * Возвращает признак, что контроль качества адреса для контрола включён.
1608
+ *
1609
+ * @param control Контрол адреса.
1610
+ */
1611
+ isQualityCheckEnabled(control: AbstractControl): boolean;
1612
+ /**
1613
+ * Возвращает ошибку неполного адреса либо null, если контрол можно отправлять: контроль качества отключён,
1614
+ * блокировка выключена токеном {@link SC_BLOCK_INCOMPLETE_ADDRESS} или адрес не неполный.
1615
+ * Для очищенного поля сбрасывает сохранённое качество адреса.
1616
+ *
1617
+ * @param control Контрол адреса.
1618
+ */
1619
+ validate(control: AbstractControl): ValidationErrors | null;
1620
+ /**
1621
+ * Возвращает текст предупреждения о необходимости проверить выбранный адрес либо null, когда предупреждение не требуется,
1622
+ * в том числе для пустого поля. Для неполного адреса при включённой блокировке отправки вместо предупреждения
1623
+ * показывается ошибка валидатора {@link validator}, если он подключён к контролу.
1624
+ *
1625
+ * @param control Контрол адреса.
1626
+ */
1627
+ getWarningMessage(control: AbstractControl): string | null;
1628
+ /**
1629
+ * Возвращает сигнал состояния качества для контрола, создавая его при первом обращении.
1630
+ *
1631
+ * @param control Контрол адреса.
1632
+ */
1633
+ private stateOf;
1634
+ /**
1635
+ * Возвращает сигнал признака включённого контроля качества для контрола, создавая его при первом обращении.
1636
+ *
1637
+ * @param control Контрол адреса.
1638
+ */
1639
+ private checkEnabledOf;
1640
+ /**
1641
+ * Сбрасывает сохранённое качество адреса, если поле очищено.
1642
+ *
1643
+ * @param control Контрол адреса.
1644
+ */
1645
+ private resetQualityOfEmptyAddress;
1646
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScAddressQualityService, never>;
1647
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScAddressQualityService>;
1648
+ }
1649
+
1442
1650
  /**
1443
1651
  * Пайп для форматирования даты и времени.
1444
1652
  */
@@ -1779,6 +1987,10 @@ declare class ScPriceHistoryComponent implements OnInit {
1779
1987
  * @param value Значение оси Y.
1780
1988
  */
1781
1989
  readonly yStringify: TuiStringHandler<number>;
1990
+ /**
1991
+ * Настройки вывода цен в рублях.
1992
+ */
1993
+ protected readonly moneyFormat: Partial<_taiga_ui_core.TuiNumberFormatSettings>;
1782
1994
  /**
1783
1995
  * Инициализирует экземпляр класса {@link ScPriceHistoryComponent}.
1784
1996
  */
@@ -2182,6 +2394,10 @@ interface ScISandwichSettings extends ScIConfiguratorSettingsBase {
2182
2394
  * Конфигуратор распила сэндвич-панелей.
2183
2395
  */
2184
2396
  declare class ScSandwichComponent implements OnInit {
2397
+ /**
2398
+ * Настройки вывода сумм в рублях.
2399
+ */
2400
+ protected readonly moneyFormat: Partial<_taiga_ui_core.TuiNumberFormatSettings>;
2185
2401
  /**
2186
2402
  * Данные настроек окружения.
2187
2403
  */
@@ -2454,6 +2670,14 @@ declare class ScSandwichM2Component implements OnInit {
2454
2670
  * Сервис получения и редактирования списка товаров заказа (корзина / заказ / черновик = заказ).
2455
2671
  */
2456
2672
  protected readonly orderService: ScIOrderEditorLoader<ScOrderItem, ScCart | ScOrderDraft>;
2673
+ /**
2674
+ * Настройки вывода сумм в рублях.
2675
+ */
2676
+ protected readonly moneyFormat: Partial<_taiga_ui_core.TuiNumberFormatSettings>;
2677
+ /**
2678
+ * Настройки вывода площади.
2679
+ */
2680
+ protected readonly areaFormat: Partial<_taiga_ui_core.TuiNumberFormatSettings>;
2457
2681
  /**
2458
2682
  * Сервис конвертации данных.
2459
2683
  */
@@ -3079,6 +3303,10 @@ declare class ScNewContragentFormComponent implements OnInit, OnDestroy {
3079
3303
  * Сервис для получения списков стран, регионов, городов.
3080
3304
  */
3081
3305
  private readonly locationsService;
3306
+ /**
3307
+ * Сервис-реестр качества адресов, выбранных из подсказок.
3308
+ */
3309
+ private readonly addressQualityService;
3082
3310
  /**
3083
3311
  * Директива c `FormGroup` из DOM.
3084
3312
  */
@@ -3331,12 +3559,6 @@ declare class ScManagerCardPushComponent {
3331
3559
  * Компонент добавления адреса доставки.
3332
3560
  */
3333
3561
  declare class ScAddDeliveryAddressDialogComponent implements AfterViewInit {
3334
- /**
3335
- * Округляет координаты до 6 цифр после запятой.
3336
- *
3337
- * @param coords Координаты точки.
3338
- */
3339
- private static roundCoordinate;
3340
3562
  private readonly deliveryAddressService;
3341
3563
  private readonly userMetrikaService;
3342
3564
  readonly context: TuiDialogContext<void, void>;
@@ -3377,6 +3599,10 @@ declare class ScAddDeliveryAddressDialogComponent implements AfterViewInit {
3377
3599
  * Список стран.
3378
3600
  */
3379
3601
  protected readonly countries: readonly TuiCountryIsoCode[];
3602
+ /**
3603
+ * Сервис-реестр качества адресов, выбранных из подсказок.
3604
+ */
3605
+ private readonly addressQualityService;
3380
3606
  /**
3381
3607
  * {@link Observable} запроса данных добавления адрес доставки.
3382
3608
  */
@@ -3432,6 +3658,15 @@ declare class ScAddDeliveryAddressDialogComponent implements AfterViewInit {
3432
3658
  * @param suggestion Объект подсказки ареса.
3433
3659
  */
3434
3660
  onSelectedAddress(suggestion: ScSuggestion): void;
3661
+ /**
3662
+ * Возвращает признак, что адрес введён, но вариант с координатами не выбран: под полем показывается ошибка «Выберите вариант из списка».
3663
+ */
3664
+ isAddressWithoutCoordinates(): boolean;
3665
+ /**
3666
+ * Возвращает текст предупреждения о полноте выбранного адреса доставки либо null, когда предупреждение не требуется
3667
+ * или вместо него показана ошибка «Выберите вариант из списка».
3668
+ */
3669
+ getAddressQualityWarning(): string | null;
3435
3670
  /**
3436
3671
  * Устанавливает {@link addressPlacemark} точку на определённые координаты.
3437
3672
  *
@@ -3915,6 +4150,8 @@ declare class ScAddressesSelectionFieldComponent implements OnInit {
3915
4150
  }) => string;
3916
4151
  /**
3917
4152
  * Инициализирует экземпляр класса {@link ScAddressesSelectionFieldComponent}.
4153
+ * Включение выбора страны сохраняет выбранные страну, регион и город. При выключении выбора страна
4154
+ * фиксируется на текущей стране системы, поэтому регион и город сбрасываются, только если была выбрана другая страна.
3918
4155
  */
3919
4156
  constructor();
3920
4157
  /**
@@ -3943,6 +4180,11 @@ declare class ScSuggestionFieldComponent implements OnInit {
3943
4180
  * Тип подсказок.
3944
4181
  */
3945
4182
  type: ScISuggestionType;
4183
+ /**
4184
+ * Признак, что элементы подсказок показывают пометку о полноте адреса.
4185
+ * Отключается там, где адреса из подсказки по организации не применяются.
4186
+ */
4187
+ showAddressQuality: boolean;
3946
4188
  /**
3947
4189
  * Событие выбора результата подсказки.
3948
4190
  */
@@ -3971,6 +4213,10 @@ declare class ScSuggestionFieldComponent implements OnInit {
3971
4213
  * Признак, что разрешено выбирать записи ликвидированных организаций.
3972
4214
  */
3973
4215
  private readonly allowSelectTerminated;
4216
+ /**
4217
+ * Сервис-реестр качества адресов, выбранных из подсказок.
4218
+ */
4219
+ private readonly addressQualityService;
3974
4220
  /** @inheritDoc */
3975
4221
  ngOnInit(): void;
3976
4222
  /**
@@ -3985,14 +4231,39 @@ declare class ScSuggestionFieldComponent implements OnInit {
3985
4231
  * @param suggestion Объект подсказки.
3986
4232
  */
3987
4233
  isDisabledSuggestion(suggestion: ScSuggestion): boolean;
4234
+ /**
4235
+ * Возвращает текст пометки о качестве адреса для элемента выпадающего списка подсказок либо null, когда пометка не требуется.
4236
+ *
4237
+ * @param quality Качество (полнота) адреса.
4238
+ */
4239
+ getAddressQualityWarning(quality: ScSuggestionAddressQuality | null | undefined): string | null;
4240
+ /**
4241
+ * Возвращает текст пометки о качестве юридического адреса для подсказки по организации либо null,
4242
+ * когда пометка не требуется, в том числе когда у организации нет юридического адреса.
4243
+ *
4244
+ * @param suggestion Объект подсказки по организации.
4245
+ */
4246
+ getOrganizationAddressQualityWarning(suggestion: ScISuggestionOrganization): string | null;
3988
4247
  /**
3989
4248
  * Проверяет прекращена ли деятельность указанной организации.
3990
4249
  *
3991
4250
  * @param suggestion Объект подсказки по организации.
3992
4251
  */
3993
4252
  isOrgTerminated(suggestion: ScISuggestionOrganization): boolean;
4253
+ /**
4254
+ * Заполняет контрол строкой выбранного адреса и регистрирует качество адреса.
4255
+ *
4256
+ * @param suggestion Объект подсказки по адресу.
4257
+ */
4258
+ private applyAddressSuggestion;
4259
+ /**
4260
+ * Заполняет поля родительской группы данными выбранной организации и регистрирует качество её адресов.
4261
+ *
4262
+ * @param suggestion Объект подсказки по организации.
4263
+ */
4264
+ private applyOrganizationSuggestion;
3994
4265
  static ɵfac: i0.ɵɵFactoryDeclaration<ScSuggestionFieldComponent, never>;
3995
- static ɵcmp: i0.ɵɵComponentDeclaration<ScSuggestionFieldComponent, "sc-suggestion-field", never, { "type": { "alias": "type"; "required": false; }; }, { "selectedClick": "selectedClick"; }, never, never, true, never>;
4266
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScSuggestionFieldComponent, "sc-suggestion-field", never, { "type": { "alias": "type"; "required": false; }; "showAddressQuality": { "alias": "showAddressQuality"; "required": false; }; }, { "selectedClick": "selectedClick"; }, never, never, true, never>;
3996
4267
  }
3997
4268
 
3998
4269
  /**
@@ -4193,36 +4464,11 @@ interface INewOrderForm {
4193
4464
  }
4194
4465
 
4195
4466
  /**
4196
- * Группа позиций заказа по направлению продаж.
4467
+ * Список товаров оформляемого заказа с выбором позиций.
4197
4468
  */
4198
- declare class ScOrderItemsByDirection {
4469
+ declare class ScNewOrderItemsComponent {
4199
4470
  /**
4200
- * Направление продаж или undefined для позиций без направления.
4201
- */
4202
- readonly direction: ScISalesDirection;
4203
- /**
4204
- * Список позиций заказа в данной группе.
4205
- */
4206
- readonly items: ScOrderItem[];
4207
- /**
4208
- * @param direction Направление продаж.
4209
- * @param allItems Все элементы заказа.
4210
- */
4211
- constructor(direction: ScISalesDirection, allItems: readonly ScOrderItem[]);
4212
- /**
4213
- * Получает список позиций заказа по идентификаторам.
4214
- *
4215
- * @param itemsIds Идентификаторы позиций.
4216
- */
4217
- getItemsByIds(itemsIds: string[]): ScOrderItem[];
4218
- }
4219
-
4220
- /**
4221
- * Список товаров заказа по направлению продаж с выбором позиций для оформления.
4222
- */
4223
- declare class ScOrderDirectionItemsComponent {
4224
- /**
4225
- * Товары направления.
4471
+ * Товары заказа.
4226
4472
  */
4227
4473
  readonly items: i0.InputSignal<ScOrderItem[]>;
4228
4474
  /**
@@ -4241,8 +4487,8 @@ declare class ScOrderDirectionItemsComponent {
4241
4487
  * Изменение выбора позиций для оформления.
4242
4488
  */
4243
4489
  readonly selectedItemsIdsChange: i0.OutputEmitterRef<string[]>;
4244
- static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderDirectionItemsComponent, never>;
4245
- 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>;
4490
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScNewOrderItemsComponent, never>;
4491
+ 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>;
4246
4492
  }
4247
4493
 
4248
4494
  /**
@@ -4272,19 +4518,10 @@ type SelectType = ScIReferencesTypes<ScPaymentType, typeof ScPaymentType> | ScCo
4272
4518
  * Форма оформления заказа.
4273
4519
  */
4274
4520
  declare class ScOrderFormComponent implements OnInit {
4275
- /**
4276
- * Идентификатор направления продаж заказа.
4277
- */
4278
- readonly directionId: i0.InputSignal<number>;
4279
4521
  /**
4280
4522
  * Требовать подтверждённые контактные данные для оформления. Для черновика — `false`.
4281
4523
  */
4282
4524
  readonly enforceApprovedContacts: i0.InputSignal<boolean>;
4283
- /**
4284
- * Сохранять и восстанавливать черновые данные формы по направлению (метаданные). Для черновика — `false`.
4285
- * Работает только если предоставлен токен {@link SC_ORDER_FORM_CONFIG}.
4286
- */
4287
- readonly persistMetadata: i0.InputSignal<boolean>;
4288
4525
  /**
4289
4526
  * Событие отправки валидной формы оформления. Полезная нагрузка — сырые значения формы.
4290
4527
  */
@@ -4495,7 +4732,7 @@ declare class ScOrderFormComponent implements OnInit {
4495
4732
  */
4496
4733
  private triggerUnconfirmedWarning;
4497
4734
  /**
4498
- * Восстанавливает черновые данные формы из метаданных и инициализирует их сохранение.
4735
+ * Восстанавливает черновые данные формы из метаданных и инициализирует их сохранение, если предоставлен токен {@link SC_ORDER_FORM_CONFIG}.
4499
4736
  */
4500
4737
  private initMetadata;
4501
4738
  /**
@@ -4538,7 +4775,7 @@ declare class ScOrderFormComponent implements OnInit {
4538
4775
  */
4539
4776
  private onUploadFile;
4540
4777
  static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderFormComponent, never>;
4541
- 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>;
4778
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderFormComponent, "sc-order-form", never, { "enforceApprovedContacts": { "alias": "enforceApprovedContacts"; "required": false; "isSignal": true; }; }, { "orderSubmit": "orderSubmit"; }, never, never, true, never>;
4542
4779
  }
4543
4780
 
4544
4781
  /**
@@ -4553,6 +4790,10 @@ declare class ScOrderItemComponent extends AbstractScPriceCard {
4553
4790
  * Событие нажатия на кнопку редактирования конфигурации.
4554
4791
  */
4555
4792
  readonly clickSettings: OutputEmitterRef<void>;
4793
+ /**
4794
+ * Настройки вывода сумм в рублях.
4795
+ */
4796
+ protected readonly moneyFormat: Partial<_taiga_ui_core.TuiNumberFormatSettings>;
4556
4797
  /**
4557
4798
  * Сервис диалогового окна предварительного просмотра.
4558
4799
  */
@@ -4585,7 +4826,6 @@ declare class ScOrderItemComponent extends AbstractScPriceCard {
4585
4826
 
4586
4827
  /**
4587
4828
  * Компонент списка товаров корзины, заказа или черновика.
4588
- * Позиции разбиты.
4589
4829
  */
4590
4830
  declare class ScOrderItemsListComponent {
4591
4831
  /**
@@ -4633,6 +4873,10 @@ declare class ScOrderItemsListComponent {
4633
4873
  * Признак, что можно редактировать позиции.
4634
4874
  */
4635
4875
  protected readonly canEdit: i0.Signal<boolean>;
4876
+ /**
4877
+ * Настройки вывода сумм в рублях.
4878
+ */
4879
+ protected readonly moneyFormat: Partial<_taiga_ui_core.TuiNumberFormatSettings>;
4636
4880
  /**
4637
4881
  * Ссылка для автоматического управления уничтожением зависимостей.
4638
4882
  */
@@ -4688,9 +4932,12 @@ declare class ScOrderItemsListComponent {
4688
4932
  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>;
4689
4933
  }
4690
4934
 
4691
- declare class ScOrderItemsListByDirectionsComponent {
4935
+ /**
4936
+ * Список позиций заказа с действиями и блоком позиций, которые больше не предоставляются.
4937
+ */
4938
+ declare class ScOrderItemsListWithActionsComponent {
4692
4939
  /**
4693
- * Внутренний сигнал списка элементов корзины (товаров).
4940
+ * Товары заказа.
4694
4941
  */
4695
4942
  readonly items: i0.InputSignal<ScOrderItem[]>;
4696
4943
  /**
@@ -4702,46 +4949,23 @@ declare class ScOrderItemsListByDirectionsComponent {
4702
4949
  */
4703
4950
  readonly editable: i0.InputSignal<boolean>;
4704
4951
  /**
4705
- * Включить отображение кнопки продолжения.
4706
- */
4707
- readonly showContinueButton: i0.InputSignal<boolean>;
4708
- /**
4709
- * Текст кнопки продолжения.
4710
- */
4711
- readonly continueButtonText: i0.InputSignal<{
4712
- title: string;
4713
- iconStart: string;
4714
- }>;
4715
- /**
4716
- * Событие клика на кнопку продолжения.
4952
+ * Позиции, доступные для заказа.
4717
4953
  */
4718
- readonly continueClick: i0.OutputEmitterRef<ScOrderItemsByDirection>;
4719
- /**
4720
- * Список направлений продаж из справочника.
4721
- */
4722
- private readonly directions;
4723
- /**
4724
- * Позиции корзины, сгруппированные по направлениям продаж.
4725
- * Если передан cartDirections, используется он, иначе группировка выполняется автоматически.
4726
- */
4727
- protected readonly itemsByDirections: i0.Signal<ScOrderItemsByDirection[]>;
4954
+ protected readonly availableItems: i0.Signal<ScOrderItem[]>;
4728
4955
  /**
4729
4956
  * Позиции корзины, которые больше не предоставляются.
4730
4957
  */
4731
4958
  protected readonly nullItems: i0.Signal<ScOrderItem[]>;
4732
4959
  /**
4733
- * Выходные данные при изменении выбора позиций.
4960
+ * Идентификаторы выбранных позиций.
4734
4961
  */
4735
4962
  readonly selectedItemsIds: i0.ModelSignal<string[]>;
4736
4963
  /**
4737
- * Обработчик изменения выбора позиций.
4738
- *
4739
- * @param itemsIds Идентификаторы выбранных позиций.
4740
- * @param direction Направление продаж.
4964
+ * Инициализирует экземпляр класса {@link ScOrderItemsListWithActionsComponent}.
4741
4965
  */
4742
- protected selectedItemsHandler(itemsIds: string[], direction: ScOrderItemsByDirection): void;
4743
- static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemsListByDirectionsComponent, never>;
4744
- static ɵcmp: i0.ɵɵComponentDeclaration<ScOrderItemsListByDirectionsComponent, "sc-order-items-list-by-directions", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "showContinueButton": { "alias": "showContinueButton"; "required": false; "isSignal": true; }; "continueButtonText": { "alias": "continueButtonText"; "required": false; "isSignal": true; }; "selectedItemsIds": { "alias": "selectedItemsIds"; "required": false; "isSignal": true; }; }, { "continueClick": "continueClick"; "selectedItemsIds": "selectedItemsIdsChange"; }, never, ["[footerActions]"], true, never>;
4966
+ constructor();
4967
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScOrderItemsListWithActionsComponent, never>;
4968
+ 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>;
4745
4969
  }
4746
4970
 
4747
4971
  /**
@@ -4819,9 +5043,9 @@ declare class ScDraftComponent implements OnInit {
4819
5043
  */
4820
5044
  readonly draft: i0.ModelSignal<ScOrderDraft | null>;
4821
5045
  /**
4822
- * Идентификаторы выбранных позиций.
5046
+ * Идентификаторы позиций черновика, выбранных для оформления заказа.
4823
5047
  */
4824
- readonly selectedItemsIds: i0.ModelSignal<string[]>;
5048
+ protected readonly selectedItemsIds: i0.WritableSignal<string[]>;
4825
5049
  /**
4826
5050
  * Источник события удаления или отмены заказа.
4827
5051
  */
@@ -4845,17 +5069,15 @@ declare class ScDraftComponent implements OnInit {
4845
5069
  /** @inheritDoc */
4846
5070
  ngOnInit(): void;
4847
5071
  /**
4848
- * Переход к оформлению заказа по выбранному направлению продаж.
4849
- *
4850
- * @param direction Группа позиций по направлению продаж.
5072
+ * Переход к оформлению заказа из выбранных позиций.
4851
5073
  */
4852
- protected goToNewOrder(direction: ScOrderItemsByDirection): void;
5074
+ protected goToNewOrder(): void;
4853
5075
  /**
4854
5076
  * Удаляет черновик и перенаправляет к списку черновиков.
4855
5077
  */
4856
5078
  protected clearDraft(): void;
4857
5079
  static ɵfac: i0.ɵɵFactoryDeclaration<ScDraftComponent, never>;
4858
- 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>;
5080
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScDraftComponent, "sc-draft", never, { "draft": { "alias": "draft"; "required": false; "isSignal": true; }; }, { "draft": "draftChange"; "deleteEvent": "deleteEvent"; }, never, never, true, never>;
4859
5081
  }
4860
5082
 
4861
5083
  /**
@@ -5537,6 +5759,11 @@ declare const SC_DIALOG_SERVICE_TOKEN: InjectionToken<IScDialogService>;
5537
5759
  */
5538
5760
  declare const SC_ALLOW_SELECT_TERMINATED: InjectionToken<boolean>;
5539
5761
 
5762
+ /**
5763
+ * Токен признака, что отправка форм с неполным (по данным подсказок) адресом заблокирована.
5764
+ */
5765
+ declare const SC_BLOCK_INCOMPLETE_ADDRESS: InjectionToken<boolean>;
5766
+
5540
5767
  /**
5541
5768
  * Токен максимального количества отображаемых уведомлений с контактами для помощи.
5542
5769
  */
@@ -5612,14 +5839,6 @@ declare const SC_DEBOUNCE_TIME_DEFAULT: InjectionToken<number>;
5612
5839
  */
5613
5840
  declare const SC_HIDDEN_PRINT_ELEMENTS: InjectionToken<BehaviorSubject<string[]>>;
5614
5841
 
5615
- /**
5616
- * Освобождает ресурсы reCAPTCHA и удаляет осиротевшие iframe после смены маршрута.
5617
- *
5618
- * @param documentReference Объект документа.
5619
- * @param windowReference Объект окна браузера.
5620
- */
5621
- declare function cleanupRecaptchaArtifacts(documentReference: Document, windowReference: Window): void;
5622
-
5623
5842
  /**
5624
5843
  * Типы доступных полей для форм обратной связи.
5625
5844
  */
@@ -5693,7 +5912,7 @@ declare class ScFeedbackFormComponent {
5693
5912
  */
5694
5913
  private readonly user$;
5695
5914
  /**
5696
- * Поле ввода для recaptcha.
5915
+ * Поле ввода токена капчи, имя `recaptcha` задано API.
5697
5916
  */
5698
5917
  protected readonly recaptchaControl: FormControl<string | null>;
5699
5918
  /**
@@ -6089,6 +6308,231 @@ declare class ScShareMessengersLinksComponent {
6089
6308
  static ɵcmp: i0.ɵɵComponentDeclaration<ScShareMessengersLinksComponent, "sc-share-messengers-links", never, { "phone": { "alias": "phone"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6090
6309
  }
6091
6310
 
6311
+ /**
6312
+ * Событие виджета Yandex SmartCaptcha, на которое можно подписаться.
6313
+ */
6314
+ type ScSmartCaptchaEvent = 'challenge-visible' | 'challenge-hidden' | 'network-error' | 'javascript-error' | 'success' | 'token-expired';
6315
+
6316
+ /**
6317
+ * Язык виджета Yandex SmartCaptcha.
6318
+ */
6319
+ type ScSmartCaptchaLanguage = 'ru' | 'en' | 'be' | 'kk' | 'tt' | 'uk' | 'uz' | 'tr';
6320
+
6321
+ /**
6322
+ * Параметры отрисовки виджета Yandex SmartCaptcha.
6323
+ *
6324
+ * @see [Метод render](https://yandex.cloud/ru/docs/smartcaptcha/concepts/widget-methods#render)
6325
+ */
6326
+ interface ScSmartCaptchaRenderParams {
6327
+ /**
6328
+ * Ключ клиентской части.
6329
+ */
6330
+ sitekey: string;
6331
+ /**
6332
+ * Язык виджета.
6333
+ */
6334
+ hl?: ScSmartCaptchaLanguage;
6335
+ }
6336
+
6337
+ /**
6338
+ * API Yandex SmartCaptcha, доступное в `window.smartCaptcha` после загрузки скрипта.
6339
+ *
6340
+ * @see [Методы window.smartCaptcha](https://yandex.cloud/ru/docs/smartcaptcha/concepts/widget-methods#methods)
6341
+ */
6342
+ interface ScSmartCaptchaApi {
6343
+ /**
6344
+ * Отрисовывает виджет в контейнере и возвращает идентификатор виджета (может быть равен `0`).
6345
+ *
6346
+ * @param container Контейнер для виджета.
6347
+ * @param params Параметры отрисовки.
6348
+ */
6349
+ render: (container: HTMLElement, params: ScSmartCaptchaRenderParams) => number;
6350
+ /**
6351
+ * Сбрасывает виджет в начальное состояние.
6352
+ *
6353
+ * @param widgetId Идентификатор виджета.
6354
+ */
6355
+ reset: (widgetId: number) => void;
6356
+ /**
6357
+ * Удаляет виджет и созданные им элементы и обработчики.
6358
+ *
6359
+ * @param widgetId Идентификатор виджета.
6360
+ */
6361
+ destroy: (widgetId: number) => void;
6362
+ /**
6363
+ * Подписывает обработчик на событие виджета и возвращает функцию отписки.
6364
+ *
6365
+ * @param widgetId Идентификатор виджета.
6366
+ * @param event Событие виджета.
6367
+ * @param callback Обработчик события, для события `success` получает токен.
6368
+ */
6369
+ subscribe: (widgetId: number, event: ScSmartCaptchaEvent, callback: (payload?: unknown) => void) => () => void;
6370
+ }
6371
+
6372
+ /**
6373
+ * Настройки Yandex SmartCaptcha.
6374
+ */
6375
+ interface ScSmartCaptchaSettings {
6376
+ /**
6377
+ * Ключ клиентской части.
6378
+ *
6379
+ * @see [Ключи капчи](https://yandex.cloud/ru/docs/smartcaptcha/concepts/keys)
6380
+ */
6381
+ sitekey: string;
6382
+ /**
6383
+ * Язык виджета.
6384
+ */
6385
+ language: ScSmartCaptchaLanguage;
6386
+ }
6387
+
6388
+ /**
6389
+ * Виджет Yandex SmartCaptcha. Значение поля ввода - токен прохождения проверки, `null` пока проверка не пройдена или токен истёк.
6390
+ */
6391
+ declare class ScSmartCaptchaComponent implements ControlValueAccessor {
6392
+ /**
6393
+ * Контейнер, в котором отрисовывается виджет.
6394
+ */
6395
+ private readonly container;
6396
+ /**
6397
+ * Настройки Yandex SmartCaptcha.
6398
+ */
6399
+ private readonly settings;
6400
+ /**
6401
+ * Сервис загрузки скрипта Yandex SmartCaptcha.
6402
+ */
6403
+ private readonly loader;
6404
+ /**
6405
+ * {@link NgZone} для отрисовки виджета вне зоны Angular и возврата его событий в зону.
6406
+ */
6407
+ private readonly ngZone;
6408
+ /**
6409
+ * Ссылка для автоматического управления уничтожением зависимостей.
6410
+ */
6411
+ private readonly destroyRef;
6412
+ /**
6413
+ * Признак того, что капчу не удалось загрузить.
6414
+ */
6415
+ protected readonly hasError: WritableSignal<boolean>;
6416
+ /**
6417
+ * API Yandex SmartCaptcha, в котором отрисован виджет.
6418
+ */
6419
+ private api?;
6420
+ /**
6421
+ * Идентификатор отрисованного виджета.
6422
+ */
6423
+ private widgetId?;
6424
+ /**
6425
+ * Функции отписки от событий виджета.
6426
+ */
6427
+ private unsubscribers;
6428
+ /**
6429
+ * Обработчик изменения значения поля ввода.
6430
+ */
6431
+ private onChange;
6432
+ /**
6433
+ * Обработчик касания поля ввода.
6434
+ */
6435
+ private onTouched;
6436
+ /**
6437
+ * Инициализирует экземпляр класса {@link ScSmartCaptchaComponent}.
6438
+ */
6439
+ constructor();
6440
+ /** @inheritDoc */
6441
+ writeValue(token: string | null): void;
6442
+ /** @inheritDoc */
6443
+ registerOnChange(onChange: (token: string | null) => void): void;
6444
+ /** @inheritDoc */
6445
+ registerOnTouched(onTouched: () => void): void;
6446
+ /**
6447
+ * Повторяет загрузку капчи после ошибки.
6448
+ */
6449
+ protected retry(): void;
6450
+ /**
6451
+ * Загружает API Yandex SmartCaptcha и отрисовывает виджет (API приходит вне зоны Angular). При ошибке загрузки или отрисовки показывает сообщение.
6452
+ */
6453
+ private load;
6454
+ /**
6455
+ * Отрисовывает виджет и подписывается на его события.
6456
+ *
6457
+ * @param api API Yandex SmartCaptcha.
6458
+ */
6459
+ private render;
6460
+ /**
6461
+ * Передаёт форме новое значение токена.
6462
+ *
6463
+ * @param token Токен прохождения проверки.
6464
+ */
6465
+ private updateValue;
6466
+ /**
6467
+ * Удаляет виджет, очищает токен и показывает сообщение об ошибке.
6468
+ */
6469
+ private showError;
6470
+ /**
6471
+ * Удаляет виджет вместе с созданными им элементами и обработчиками.
6472
+ */
6473
+ private destroyWidget;
6474
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScSmartCaptchaComponent, never>;
6475
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScSmartCaptchaComponent, "sc-smart-captcha", never, {}, {}, never, never, true, never>;
6476
+ }
6477
+
6478
+ /**
6479
+ * Сервис загрузки скрипта Yandex SmartCaptcha.
6480
+ */
6481
+ declare class ScSmartCaptchaLoaderService {
6482
+ /**
6483
+ * Сервис для вставки внешних скриптов.
6484
+ */
6485
+ private readonly scriptsService;
6486
+ /**
6487
+ * Окно браузера с API Yandex SmartCaptcha.
6488
+ */
6489
+ private readonly window;
6490
+ /**
6491
+ * Признак того, что приложение запущено в браузере.
6492
+ */
6493
+ private readonly isBrowser;
6494
+ /**
6495
+ * Время ожидания загрузки скрипта в миллисекундах.
6496
+ */
6497
+ private readonly loadTimeout;
6498
+ /**
6499
+ * Имя функции окна, которую скрипт вызывает после загрузки.
6500
+ */
6501
+ private readonly onloadCallbackName;
6502
+ /**
6503
+ * Адрес скрипта.
6504
+ */
6505
+ private readonly scriptUrl;
6506
+ /**
6507
+ * Загрузка API, общая для всех виджетов. Скрипт загружается один раз; отписка и истечение ожидания у подписчика загрузку не прерывают, после ошибки следующая подписка загружает скрипт заново.
6508
+ */
6509
+ private readonly loading$;
6510
+ /**
6511
+ * {@link Observable} API Yandex SmartCaptcha. Значения и ошибки приходят вне зоны Angular, ожидание первого значения ограничено {@link SC_SMART_CAPTCHA_LOAD_TIMEOUT}.
6512
+ */
6513
+ readonly api$: Observable<ScSmartCaptchaApi>;
6514
+ /**
6515
+ * Возвращает API Yandex SmartCaptcha, при необходимости загружая скрипт. На сервере ничего не возвращает.
6516
+ */
6517
+ private load$;
6518
+ /**
6519
+ * Ждёт вызова функции из параметра `onload` адреса скрипта и возвращает API, которое скрипт к этому моменту создал.
6520
+ */
6521
+ private onload$;
6522
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScSmartCaptchaLoaderService, never>;
6523
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScSmartCaptchaLoaderService>;
6524
+ }
6525
+
6526
+ /**
6527
+ * Токен времени ожидания загрузки скрипта Yandex SmartCaptcha в миллисекундах.
6528
+ */
6529
+ declare const SC_SMART_CAPTCHA_LOAD_TIMEOUT: InjectionToken<number>;
6530
+
6531
+ /**
6532
+ * Токен настроек Yandex SmartCaptcha. Задаётся приложением.
6533
+ */
6534
+ declare const SC_SMART_CAPTCHA_SETTINGS: InjectionToken<ScSmartCaptchaSettings>;
6535
+
6092
6536
  /**
6093
6537
  * Компонент смены пароля пользователя.
6094
6538
  */
@@ -6274,9 +6718,8 @@ declare function phoneValidator(): ValidatorFn;
6274
6718
  * Проверяет кратность значения.
6275
6719
  *
6276
6720
  * @param step Шаг кратности.
6277
- * @param precision Точность, количество чисел после запятой.
6278
6721
  */
6279
- declare function stepValidator(step: number, precision?: number): ValidatorFn;
6722
+ declare function stepValidator(step: number): ValidatorFn;
6280
6723
 
6281
6724
  /**
6282
6725
  * Проверяет, что хотя бы одно поле из списка заполнено.
@@ -6547,5 +6990,5 @@ declare class ScProfileAccordionsContentComponent {
6547
6990
  static ɵcmp: i0.ɵɵComponentDeclaration<ScProfileAccordionsContentComponent, "sc-profile-accordions-content", never, {}, { "editProfileClick": "editProfileClick"; "approvePhoneClick": "approvePhoneClick"; "addContragentClick": "addContragentClick"; "deleteContragentClick": "deleteContragentClick"; "addContragentBankAccountClick": "addContragentBankAccountClick"; "deleteContragentBankAccountClick": "deleteContragentBankAccountClick"; "addContragentContactClick": "addContragentContactClick"; "deleteContragentContactClick": "deleteContragentContactClick"; "addDeliveryAddressClick": "addDeliveryAddressClick"; "deleteDeliveryAddressClick": "deleteDeliveryAddressClick"; "addDeliveryAddressContactClick": "addDeliveryAddressContactClick"; "deleteDeliveryAddressContactClick": "deleteDeliveryAddressContactClick"; "addUserContactClick": "addUserContactClick"; "deleteUserContactClick": "deleteUserContactClick"; }, never, never, true, never>;
6548
6991
  }
6549
6992
 
6550
- export { AbstractScPriceCard, AuthMethod, CURRENT_COUNTRY_ID, CostWithDiscountComponent, FilesAndDocumentsComponent, FinishDateTimeTransformerDirective, IDLE_ITEM_STATE, IS_DEFAULT_COUNTRY, MAX_FILES_IN_FORM_INPUT, SC_ALLOW_SELECT_TERMINATED, SC_BANNER_DURATION, SC_CATALOG_PRODUCTS_FILTERS, SC_CATALOG_SHOW_PRODUCTS_RECURSIVELY, SC_DATE_FORMATTER, SC_DEBOUNCE_TIME_DEFAULT, SC_DIALOG_SERVICE_TOKEN, SC_ERROR_CHANGE_HANDLER, SC_FAQ_GROUP_QUERY_PARAM, SC_FAQ_QUESTION_ANCHOR_PREFIX, SC_HELP_NOTIFICATION_CLOSE, SC_HELP_NOTIFICATION_LIMIT, SC_HIDDEN_PRINT_ELEMENTS, SC_MANAGER_QR_HANDLER, SC_NOTIFY_WHEN_IN_STOCK_REQUIRED_FIELDS, SC_ORDER_FORM_CONFIG, SC_ORDER_OPTIONS, SC_PAGE_SIZE_OPTIONS, SC_SHOW_HELP_NOTIFICATION_IN_PHONE_INPUT, SC_USER_CITY_INFO, SC_USER_INFO, SC_USER_PROVIDERS, SC_VERIFICATION_CODE_TIMEOUT, ScAccordionComponent, ScAccordionContentDirective, ScAddContactDialogComponent, ScAddContragentBankAccountsDialogComponent, ScAddContragentDialogComponent, ScAddDeliveryAddressDialogComponent, ScAddOrEditingCartItemDialogComponent, ScAddOrEditingCartItemFormComponent, ScAddressesSelectionFieldComponent, ScBannerComponent, ScBrandsListComponent, ScCartAddProductsFromCsvDialogComponent, ScCatalogFilterCollapsibleComponent, ScCatalogFiltersComponent, ScCategoryCardComponent, ScContactsAccordionComponent, ScContragentsAccordionComponent, ScContragentsAccordionItemComponent, ScDeliveryAddressAccordionComponent, ScDeliveryAddressAccordionItemComponent, ScDownloadPriceListComponent, ScDraftComponent, ScEmailLinkDirective, ScErrorBlockStatusComponent, ScErrorHandlerComponent, ScFavoriteButtonComponent, ScFeedbackFormComponent, ScFocusFirstInvalidFieldDirective, ScFormatDatePipe, ScFrequentlyAskedQuestionsComponent, ScFrequentlyAskedQuestionsGroupSelectorComponent, ScFrequentlyAskedQuestionsWithGroupsComponent, ScGratitudeComponent, ScHelpNotificationService, ScHoverImageCarouselComponent, ScInputQuantityComponent, ScLinks, ScManagerCardComponent, ScManagerCardPushComponent, ScNewContactFormComponent, ScNewContragentBankAccountsFormComponent, ScNewContragentFormComponent, ScNewsCardComponent, ScNewsCardSkeletonComponent, ScNewsListComponent, ScNextInputFocusDirective, ScNoindexDirective, ScNoindexWrapperComponent, ScNotifyWhenInStockDialogComponent, ScOrderAccessorDirective, ScOrderDirectionItemsComponent, ScOrderFormComponent, ScOrderItemComponent, ScOrderItemsByDirection, ScOrderItemsListByDirectionsComponent, ScOrderItemsListByStockComponent, ScOrderItemsListComponent, ScPaginationLinksComponent, ScPaymentStatusComponent, ScPersonalDataProcessingPolicyComponent, ScPhoneFormatPipe, ScPreviewSampleComponent, ScPreviewSamplesMosquitoComponent, ScPriceCardComponent, ScPriceCardInlineComponent, ScPriceHistoryComponent, ScPriceListPaginationComponent, ScPriceWarehouseStockComponent, ScPrintDirective, ScPrintService, ScPrivacyPolicyComponent, ScProductInAllWarehousesPipe, ScProfileAccordionsContentComponent, ScPublicOfferComponent, ScQRCodeDialogComponent, ScResetUserPasswordComponent, ScResourcePreviewComponent, ScSandwichComponent, ScSandwichM2Component, ScSandwichM2SkeletonComponent, ScSandwichSkeletonComponent, ScSelectOnFocusinDirective, ScSeoTagsComponent, ScShareButtonComponent, ScShareDialogComponent, ScShareMessengersLinksComponent, ScShareService, ScSignInFormByEmailComponent, ScSignInFormByPhoneComponent, ScSignInFormComponent, ScSignUpFormComponent, ScSimpleSignUpFormComponent, ScSuggestionFieldComponent, ScTelLinkDirective, ScTerminalLinkDirective, ScUpdateUserInfoDialogComponent, ScUserManagersComponent, ScUserPhoneApproveDialogComponent, ScVerificationPhoneCheckFormComponent, TreeDirective, TreeIconService, TreeLoaderService, TreeTopDirective, cleanupRecaptchaArtifacts, phoneValidator, scAtLeastOneRequiredValidator, scBicValidator, scClientUiIconsName, scCorrespondentAccountValidator, scGetCurrentRoute, scGetFaqGroupQueryParams, scGetFaqQuestionAnchor, scGetFaqQuestionIdFromAnchor, scPasswordConfirmMatchingValidator, stepValidator, tuiDateValueTransformerDefaultProvider };
6551
- export type { ApiErrorResponse, IBlockError, INewOrderForm, IScDialogService, IScImage, ScBankAccountFormGroup, ScBrandListItem, ScContactFormGroup, ScFeedbackFormConfig, ScFeedbackFormFieldType, ScIConfiguratorSearchProductSandwich, ScILoader, ScINewCartItemSandwich, ScINewCartItemSandwichM2, ScIOrderFormConfig, ScIPreviewSample, ScISandwichM2Settings, ScISandwichSettings, ScLinkLocation, ScOrderOptions, ScPreviewMosquitoConfig, ScSandwichM2ItemSubmitState, ScShareDialogData, TreeNode };
6993
+ export { AbstractScPriceCard, AuthMethod, CURRENT_COUNTRY_ID, CostWithDiscountComponent, FilesAndDocumentsComponent, FinishDateTimeTransformerDirective, IDLE_ITEM_STATE, IS_DEFAULT_COUNTRY, MAX_FILES_IN_FORM_INPUT, SC_ALLOW_SELECT_TERMINATED, SC_BANNER_DURATION, SC_BLOCK_INCOMPLETE_ADDRESS, SC_CATALOG_PRODUCTS_FILTERS, SC_CATALOG_SHOW_PRODUCTS_RECURSIVELY, SC_DATE_FORMATTER, SC_DEBOUNCE_TIME_DEFAULT, SC_DIALOG_SERVICE_TOKEN, SC_ERROR_CHANGE_HANDLER, SC_FAQ_GROUP_QUERY_PARAM, SC_FAQ_QUESTION_ANCHOR_PREFIX, SC_HELP_NOTIFICATION_CLOSE, SC_HELP_NOTIFICATION_LIMIT, SC_HIDDEN_PRINT_ELEMENTS, SC_MANAGER_QR_HANDLER, SC_NOTIFY_WHEN_IN_STOCK_REQUIRED_FIELDS, SC_ORDER_FORM_CONFIG, SC_ORDER_OPTIONS, SC_PAGE_SIZE_OPTIONS, SC_SHOW_HELP_NOTIFICATION_IN_PHONE_INPUT, SC_SMART_CAPTCHA_LOAD_TIMEOUT, SC_SMART_CAPTCHA_SETTINGS, SC_USER_CITY_INFO, SC_USER_INFO, SC_USER_PROVIDERS, SC_VERIFICATION_CODE_TIMEOUT, ScAccordionComponent, ScAccordionContentDirective, ScAddContactDialogComponent, ScAddContragentBankAccountsDialogComponent, ScAddContragentDialogComponent, ScAddDeliveryAddressDialogComponent, ScAddOrEditingCartItemDialogComponent, ScAddOrEditingCartItemFormComponent, ScAddressQualityDirective, ScAddressQualityService, ScAddressesSelectionFieldComponent, ScBannerComponent, ScBrandsListComponent, ScCartAddProductsFromCsvDialogComponent, ScCatalogFilterCollapsibleComponent, ScCatalogFiltersComponent, ScCategoryCardComponent, ScContactsAccordionComponent, ScContragentsAccordionComponent, ScContragentsAccordionItemComponent, ScDeliveryAddressAccordionComponent, ScDeliveryAddressAccordionItemComponent, ScDownloadPriceListComponent, ScDraftComponent, ScEmailLinkDirective, ScErrorBlockStatusComponent, ScErrorHandlerComponent, ScFavoriteButtonComponent, ScFeedbackFormComponent, ScFocusFirstInvalidFieldDirective, ScFormatDatePipe, ScFrequentlyAskedQuestionsComponent, ScFrequentlyAskedQuestionsGroupSelectorComponent, ScFrequentlyAskedQuestionsWithGroupsComponent, ScGratitudeComponent, ScHelpNotificationService, ScHoverImageCarouselComponent, ScInputQuantityComponent, ScLinks, ScManagerCardComponent, ScManagerCardPushComponent, ScNewContactFormComponent, ScNewContragentBankAccountsFormComponent, ScNewContragentFormComponent, ScNewOrderItemsComponent, ScNewsCardComponent, ScNewsCardSkeletonComponent, ScNewsListComponent, ScNextInputFocusDirective, ScNoindexDirective, ScNoindexWrapperComponent, ScNotifyWhenInStockDialogComponent, ScOrderAccessorDirective, ScOrderFormComponent, ScOrderItemComponent, ScOrderItemsListByStockComponent, ScOrderItemsListComponent, ScOrderItemsListWithActionsComponent, ScPaginationLinksComponent, ScPaymentStatusComponent, ScPersonalDataProcessingPolicyComponent, ScPhoneFormatPipe, ScPreviewSampleComponent, ScPreviewSamplesMosquitoComponent, ScPriceCardComponent, ScPriceCardInlineComponent, ScPriceHistoryComponent, ScPriceListPaginationComponent, ScPriceWarehouseStockComponent, ScPrintDirective, ScPrintService, ScPrivacyPolicyComponent, ScProductInAllWarehousesPipe, ScProfileAccordionsContentComponent, ScPublicOfferComponent, ScQRCodeDialogComponent, ScResetUserPasswordComponent, ScResourcePreviewComponent, ScSandwichComponent, ScSandwichM2Component, ScSandwichM2SkeletonComponent, ScSandwichSkeletonComponent, ScScriptsService, ScSelectOnFocusinDirective, ScSeoTagsComponent, ScShareButtonComponent, ScShareDialogComponent, ScShareMessengersLinksComponent, ScShareService, ScSignInFormByEmailComponent, ScSignInFormByPhoneComponent, ScSignInFormComponent, ScSignUpFormComponent, ScSimpleSignUpFormComponent, ScSmartCaptchaComponent, ScSmartCaptchaLoaderService, ScSuggestionFieldComponent, ScTelLinkDirective, ScTerminalLinkDirective, ScUpdateUserInfoDialogComponent, ScUserManagersComponent, ScUserPhoneApproveDialogComponent, ScVerificationPhoneCheckFormComponent, TreeDirective, TreeIconService, TreeLoaderService, TreeTopDirective, phoneValidator, scAtLeastOneRequiredValidator, scBicValidator, scClientUiIconsName, scCorrespondentAccountValidator, scGetCurrentRoute, scGetFaqGroupQueryParams, scGetFaqQuestionAnchor, scGetFaqQuestionIdFromAnchor, scPasswordConfirmMatchingValidator, stepValidator, tuiDateValueTransformerDefaultProvider };
6994
+ export type { ApiErrorResponse, IBlockError, INewOrderForm, IScDialogService, IScImage, ScBankAccountFormGroup, ScBrandListItem, ScContactFormGroup, ScFeedbackFormConfig, ScFeedbackFormFieldType, ScIConfiguratorSearchProductSandwich, ScILoader, ScINewCartItemSandwich, ScINewCartItemSandwichM2, ScIOrderFormConfig, ScIPreviewSample, ScISandwichM2Settings, ScISandwichSettings, ScLinkLocation, ScOrderOptions, ScPreviewMosquitoConfig, ScSandwichM2ItemSubmitState, ScShareDialogData, ScSmartCaptchaApi, ScSmartCaptchaEvent, ScSmartCaptchaLanguage, ScSmartCaptchaRenderParams, ScSmartCaptchaSettings, TreeNode };