@snabcentr/client-ui 4.17.0 → 4.18.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.
Files changed (35) hide show
  1. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +6 -0
  2. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +4 -0
  3. package/contragents/sc-contragents.module.d.ts +4 -3
  4. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +13 -0
  5. package/directives/address-quality/sc-address-quality.directive.d.ts +23 -0
  6. package/directives/address-quality/sc-address-quality.service.d.ts +122 -0
  7. package/directives/address-quality/sc-i-address-quality-state.d.ts +14 -0
  8. package/directives/index.d.ts +2 -0
  9. package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +1 -1
  10. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +14 -4
  11. package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +2 -2
  12. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +1 -1
  13. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +1 -1
  14. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +26 -20
  15. package/esm2022/contragents/sc-contragents.module.mjs +4 -1
  16. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +25 -4
  17. package/esm2022/directives/address-quality/sc-address-quality.directive.mjs +40 -0
  18. package/esm2022/directives/address-quality/sc-address-quality.service.mjs +214 -0
  19. package/esm2022/directives/address-quality/sc-i-address-quality-state.mjs +2 -0
  20. package/esm2022/directives/index.mjs +3 -1
  21. package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +2 -2
  22. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +4 -5
  23. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +76 -16
  24. package/esm2022/providers/index.mjs +2 -1
  25. package/esm2022/providers/sc-block-incomplete-address.mjs +8 -0
  26. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +3 -3
  27. package/fesm2022/snabcentr-client-ui.mjs +397 -53
  28. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  29. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +2 -0
  30. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +36 -2
  31. package/package.json +2 -2
  32. package/providers/index.d.ts +1 -0
  33. package/providers/sc-block-incomplete-address.d.ts +5 -0
  34. package/release_notes.tmp +3 -3
  35. package/styles/tailwind/tailwind.scss +4 -0
@@ -56,6 +56,8 @@ export declare class ScAddressesSelectionFieldComponent implements OnInit {
56
56
  }) => string;
57
57
  /**
58
58
  * Инициализирует экземпляр класса {@link ScAddressesSelectionFieldComponent}.
59
+ * Включение выбора страны сохраняет выбранные страну, регион и город. При выключении выбора страна
60
+ * фиксируется на текущей стране системы, поэтому регион и город сбрасываются, только если была выбрана другая страна.
59
61
  *
60
62
  * @param formGroupDirective Директива c `FormGroup` из DOM.
61
63
  * @param locationsService Сервис для получения списков стран, регионов, городов.
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
- import { ScISuggestionOrganization, ScISuggestionType, ScSuggestion, ScSuggestionService } from '@snabcentr/client-core';
3
+ import { ScISuggestionOrganization, ScISuggestionType, ScSuggestion, ScSuggestionAddressQuality, ScSuggestionService } from '@snabcentr/client-core';
4
4
  import { Observable } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
@@ -13,6 +13,11 @@ export declare class ScSuggestionFieldComponent implements OnInit {
13
13
  * Тип подсказок.
14
14
  */
15
15
  type: ScISuggestionType;
16
+ /**
17
+ * Признак, что элементы подсказок показывают пометку о полноте адреса.
18
+ * Отключается там, где адреса из подсказки по организации не применяются.
19
+ */
20
+ showAddressQuality: boolean;
16
21
  /**
17
22
  * Событие выбора результата подсказки.
18
23
  */
@@ -41,6 +46,10 @@ export declare class ScSuggestionFieldComponent implements OnInit {
41
46
  * Признак, что разрешено выбирать записи ликвидированных организаций.
42
47
  */
43
48
  private readonly allowSelectTerminated;
49
+ /**
50
+ * Сервис-реестр качества адресов, выбранных из подсказок.
51
+ */
52
+ private readonly addressQualityService;
44
53
  /**
45
54
  * Инициализирует экземпляр класса {@link ScSuggestionFieldComponent}.
46
55
  *
@@ -62,12 +71,37 @@ export declare class ScSuggestionFieldComponent implements OnInit {
62
71
  * @param suggestion Объект подсказки.
63
72
  */
64
73
  isDisabledSuggestion(suggestion: ScSuggestion): boolean;
74
+ /**
75
+ * Возвращает текст пометки о качестве адреса для элемента выпадающего списка подсказок либо null, когда пометка не требуется.
76
+ *
77
+ * @param quality Качество (полнота) адреса.
78
+ */
79
+ getAddressQualityWarning(quality: ScSuggestionAddressQuality | null | undefined): string | null;
80
+ /**
81
+ * Возвращает текст пометки о качестве юридического адреса для подсказки по организации либо null,
82
+ * когда пометка не требуется, в том числе когда у организации нет юридического адреса.
83
+ *
84
+ * @param suggestion Объект подсказки по организации.
85
+ */
86
+ getOrganizationAddressQualityWarning(suggestion: ScISuggestionOrganization): string | null;
65
87
  /**
66
88
  * Проверяет прекращена ли деятельность указанной организации.
67
89
  *
68
90
  * @param suggestion Объект подсказки по организации.
69
91
  */
70
92
  isOrgTerminated(suggestion: ScISuggestionOrganization): boolean;
93
+ /**
94
+ * Заполняет контрол строкой выбранного адреса и регистрирует качество адреса.
95
+ *
96
+ * @param suggestion Объект подсказки по адресу.
97
+ */
98
+ private applyAddressSuggestion;
99
+ /**
100
+ * Заполняет поля родительской группы данными выбранной организации и регистрирует качество её адресов.
101
+ *
102
+ * @param suggestion Объект подсказки по организации.
103
+ */
104
+ private applyOrganizationSuggestion;
71
105
  static ɵfac: i0.ɵɵFactoryDeclaration<ScSuggestionFieldComponent, [{ skipSelf: true; }, null]>;
72
- static ɵcmp: i0.ɵɵComponentDeclaration<ScSuggestionFieldComponent, "sc-suggestion-field", never, { "type": { "alias": "type"; "required": false; }; }, { "selectedClick": "selectedClick"; }, never, never, false, never>;
106
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScSuggestionFieldComponent, "sc-suggestion-field", never, { "type": { "alias": "type"; "required": false; }; "showAddressQuality": { "alias": "showAddressQuality"; "required": false; }; }, { "selectedClick": "selectedClick"; }, never, never, false, never>;
73
107
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "4.17.0",
3
+ "version": "4.18.0",
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.23.3",
19
+ "@snabcentr/client-core": "^3.23.4",
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",
@@ -1,6 +1,7 @@
1
1
  export * from './sc-verification-code-timeout';
2
2
  export * from './sc-dialog-service.providers';
3
3
  export * from './sc-allow-select-terminated';
4
+ export * from './sc-block-incomplete-address';
4
5
  export * from './sc-help-notification-limit';
5
6
  export * from './sc-help-notification-close';
6
7
  export * from './sc-max-files-in-form-input';
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Токен признака, что отправка форм с неполным (по данным подсказок) адресом заблокирована.
4
+ */
5
+ export declare const SC_BLOCK_INCOMPLETE_ADDRESS: InjectionToken<boolean>;
package/release_notes.tmp CHANGED
@@ -1,6 +1,6 @@
1
- ## 4.17.0 (2026-10-07)
1
+ ## 4.18.0 (2026-10-09)
2
2
 
3
- ### changed (1 change)
3
+ ### added, (1 change)
4
4
 
5
- - [#13626: Капча в формах обратной связи заменена на Yandex SmartCaptcha](web_soft/libs/angular/snabcentr-client-ui-lib@bf42a929a332cc19fa8a7014a4dc37ca50b163ca) ([merge request](web_soft/libs/angular/snabcentr-client-ui-lib!457))
5
+ - [#14054: Добавлена проверка полноты адреса в подсказках адресов и организаций](web_soft/libs/angular/snabcentr-client-ui-lib@acc6663f5787a3c5d65877216aef0d5d5a14b914) ([merge request](web_soft/libs/angular/snabcentr-client-ui-lib!459))
6
6
 
@@ -1785,6 +1785,10 @@ video {
1785
1785
  color: var(--tui-status-positive);
1786
1786
  }
1787
1787
 
1788
+ .text-tui-status-warning {
1789
+ color: var(--tui-status-warning);
1790
+ }
1791
+
1788
1792
  .text-tui-success-fill {
1789
1793
  color: var(--tui-status-positive);
1790
1794
  }