@snabcentr/client-ui 0.8.7 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. package/auth/constants/phone-approve-code-mask.d.ts +1 -1
  2. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +3 -3
  3. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +10 -7
  4. package/banner/sc-banner.component.d.ts +1 -1
  5. package/esm2020/auth/constants/phone-approve-code-mask.mjs +2 -2
  6. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +6 -6
  7. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +14 -13
  8. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +3 -3
  9. package/esm2020/banner/sc-banner.component.mjs +2 -2
  10. package/esm2020/catalog/price-card/sc-price-card.component.mjs +4 -1
  11. package/esm2020/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +117 -0
  12. package/esm2020/form-fields/form-fields.module.mjs +80 -0
  13. package/esm2020/form-fields/suggestion-field/sc-suggestion-field.component.mjs +111 -0
  14. package/esm2020/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +29 -16
  15. package/esm2020/user/index.mjs +3 -1
  16. package/esm2020/user/reset-user-password/sc-reset-user-password.component.mjs +4 -4
  17. package/esm2020/user/sc-user.module.mjs +42 -8
  18. package/esm2020/user/update-user-info-form/sc-update-user-info-form.component.mjs +97 -0
  19. package/esm2020/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +91 -0
  20. package/esm2020/verification/index.mjs +2 -2
  21. package/esm2020/verification/sc-verification.module.mjs +6 -6
  22. package/esm2020/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +184 -0
  23. package/fesm2015/snabcentr-client-ui.mjs +608 -94
  24. package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
  25. package/fesm2020/snabcentr-client-ui.mjs +594 -94
  26. package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
  27. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +65 -0
  28. package/form-fields/form-fields.module.d.ts +17 -0
  29. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +45 -0
  30. package/package.json +2 -2
  31. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +24 -10
  32. package/styles/tailwind/tailwind.scss +22 -0
  33. package/user/index.d.ts +2 -0
  34. package/user/reset-user-password/sc-reset-user-password.component.d.ts +3 -3
  35. package/user/sc-user.module.d.ts +10 -6
  36. package/user/update-user-info-form/sc-update-user-info-form.component.d.ts +56 -0
  37. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +48 -0
  38. package/verification/index.d.ts +1 -1
  39. package/verification/sc-verification.module.d.ts +2 -2
  40. package/verification/{phone-approve-form/phone-approve-form.component.d.ts → verification-phone-check-form/sc-verification-phone-check-form.component.d.ts} +27 -11
  41. package/esm2020/verification/phone-approve-form/phone-approve-form.component.mjs +0 -156
@@ -0,0 +1,65 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { FormControl, FormGroupDirective } from '@angular/forms';
3
+ import { ScICity, ScICountry, ScIRegion, ScLocationsService } from '@snabcentr/client-core';
4
+ import { Observable } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Компонент поля ввода страны/региона/города.
8
+ */
9
+ export declare class ScAddressesSelectionFieldComponent implements OnInit {
10
+ private readonly formGroupDirective;
11
+ private readonly locationsService;
12
+ /**
13
+ * FormControl для поля страны.
14
+ */
15
+ countryControl: FormControl<ScICountry | null>;
16
+ /**
17
+ * FormControl для поля региона.
18
+ */
19
+ regionControl: FormControl<ScIRegion | null>;
20
+ /**
21
+ * FormControl для поля города.
22
+ */
23
+ cityControl: FormControl<ScICity | null>;
24
+ /**
25
+ * {@link Observable} изменения списка стран.
26
+ */
27
+ countries$: Observable<ScICountry[] | null>;
28
+ /**
29
+ * {@link Observable} изменения списка регионов.
30
+ */
31
+ regions$: Observable<ScIRegion[] | null>;
32
+ /**
33
+ * {@link Observable} изменения списка городов.
34
+ */
35
+ cities$: Observable<ScICity[] | null>;
36
+ /**
37
+ * `FormControl` поля идентификатора города.
38
+ */
39
+ get cityIdControl(): FormControl<string | null>;
40
+ /**
41
+ * Инициализирует экземпляр класса {@link BankSuggestionFieldsComponent}.
42
+ *
43
+ * @param formGroupDirective Директива c `FormGroup` из DOM.
44
+ * @param locationsService Сервис для получения списков стран, регионов, городов.
45
+ */
46
+ constructor(formGroupDirective: FormGroupDirective, locationsService: ScLocationsService);
47
+ /** @inheritDoc */
48
+ ngOnInit(): void;
49
+ /**
50
+ * Заполнение полей банковских реквизитов на основе выбранной подсказки.
51
+ *
52
+ * @param suggestion Объект подсказки по банку.
53
+ */
54
+ onSelectedCity(city: ScICity | null): void;
55
+ /**
56
+ * Функция преобразования объекта сортировки в значение, отображаемое в поле ввода.
57
+ *
58
+ * @param item Выбранный объект выпадающего списка.
59
+ */
60
+ readonly stringify: (item: {
61
+ name: string;
62
+ }) => string;
63
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScAddressesSelectionFieldComponent, [{ skipSelf: true; }, null]>;
64
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScAddressesSelectionFieldComponent, "sc-addresses-selection-field", never, {}, {}, never, never, false>;
65
+ }
@@ -0,0 +1,17 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./addresses-selection-field/sc-addresses-selection-field.component";
3
+ import * as i2 from "./suggestion-field/sc-suggestion-field.component";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/forms";
6
+ import * as i5 from "@taiga-ui/kit";
7
+ import * as i6 from "@taiga-ui/core";
8
+ import * as i7 from "@taiga-ui/cdk";
9
+ import * as i8 from "@maskito/angular";
10
+ /**
11
+ * Модуль полей ввода.
12
+ */
13
+ export declare class ScFormFieldsModule {
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScFormFieldsModule, never>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScFormFieldsModule, [typeof i1.ScAddressesSelectionFieldComponent, typeof i2.ScSuggestionFieldComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.TuiInputModule, typeof i6.TuiTextfieldControllerModule, typeof i6.TuiLabelModule, typeof i7.TuiLetModule, typeof i5.TuiFieldErrorPipeModule, typeof i6.TuiErrorModule, typeof i6.TuiDataListModule, typeof i6.TuiLoaderModule, typeof i5.TuiComboBoxModule, typeof i5.TuiDataListWrapperModule, typeof i5.TuiFilterByInputPipeModule, typeof i5.TuiStringifyContentPipeModule, typeof i5.TuiInputPhoneModule, typeof i6.TuiButtonModule, typeof i8.MaskitoModule], [typeof i1.ScAddressesSelectionFieldComponent, typeof i2.ScSuggestionFieldComponent]>;
16
+ static ɵinj: i0.ɵɵInjectorDeclaration<ScFormFieldsModule>;
17
+ }
@@ -0,0 +1,45 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { ScISuggestionType, ScSuggestion, ScSuggestionService } from '@snabcentr/client-core';
4
+ import { Observable } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Компонент подсказок для поля ввода.
8
+ */
9
+ export declare class ScSuggestionFieldComponent implements OnInit {
10
+ readonly control: NgControl;
11
+ private readonly suggestionService;
12
+ /**
13
+ * Тип подсказок.
14
+ */
15
+ type: ScISuggestionType;
16
+ /**
17
+ * {@link Observable} подсказок.
18
+ */
19
+ suggestions$?: Observable<ScSuggestion[] | null>;
20
+ /**
21
+ * {@link Observable} состояние запроса подсказок.
22
+ */
23
+ loading$?: Observable<boolean>;
24
+ /**
25
+ * Перечисление типов подсказок.
26
+ */
27
+ readonly suggestionType: typeof ScISuggestionType;
28
+ /**
29
+ * Инициализирует экземпляр класса {@link ScSuggestionFieldComponent}.
30
+ *
31
+ * @param control Контрол поля ввода.
32
+ * @param suggestionService Сервис работы с API подсказок.
33
+ */
34
+ constructor(control: NgControl, suggestionService: ScSuggestionService);
35
+ /** @inheritDoc */
36
+ ngOnInit(): void;
37
+ /**
38
+ * Заполнение полей основе выбранной подсказки.
39
+ *
40
+ * @param suggestion Объект подсказки.
41
+ */
42
+ onSelected(suggestion: ScSuggestion): void;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScSuggestionFieldComponent, [{ skipSelf: true; }, null]>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScSuggestionFieldComponent, "sc-suggestion-field", never, { "type": "type"; }, {}, never, never, false>;
45
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "0.8.7",
3
+ "version": "0.10.0",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
6
6
  "license": "Commercial",
@@ -14,7 +14,7 @@
14
14
  "@angular/platform-browser": ">=14.2.12",
15
15
  "@angular/platform-browser-dynamic": ">=14.2.12",
16
16
  "@angular/material": ">=14.2.7",
17
- "@snabcentr/client-core": ">=0.7.2",
17
+ "@snabcentr/client-core": ">=^0.8.0",
18
18
  "@maskito/angular": ">=1.7.0",
19
19
  "@maskito/core": ">=1.7.0",
20
20
  "@taiga-ui/addon-charts": ">=3.42.1",
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { ScICity, ScLocationsService, ScUser, ScUserService } from '@snabcentr/client-core';
3
- import { Observable } from 'rxjs';
2
+ import { ScICity, ScLocationsService, ScUser, ScUserService, ScVerificationService } from '@snabcentr/client-core';
3
+ import { Observable, Subject } from 'rxjs';
4
4
  import { FormControl } from '@angular/forms';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
@@ -10,18 +10,35 @@ export declare class ScProfileAccordionsContentComponent {
10
10
  readonly user$: Observable<ScUser>;
11
11
  private readonly locationsService;
12
12
  private readonly userService;
13
+ private readonly verificationService;
13
14
  /**
14
15
  * {@link FormControl} переключателя 'Я хочу получать рассылку'.
15
16
  */
16
17
  getNewsControl: FormControl<boolean>;
17
18
  /**
18
- * {@link Observable} Запроса изменения признака пользователя 'Я хочу получать рассылку'.
19
+ * {@link Observable} запроса изменения признака пользователя 'Я хочу получать рассылку'.
19
20
  */
20
21
  private readonly getNewsRequest$;
21
22
  /**
22
- * {@link Observable} Изменения состояния загрузки данных изменения признака пользователя 'Я хочу получать рассылку'.
23
+ * {@link Observable} изменения состояния загрузки данных изменения признака пользователя 'Я хочу получать рассылку'.
23
24
  */
24
25
  readonly getNewsLoading$: Observable<boolean>;
26
+ /**
27
+ * {@link Subject} события отправки сообщения для подтверждения адреса электронной почты.
28
+ */
29
+ readonly onSendApproveEmail: Subject<string>;
30
+ /**
31
+ * {@link Observable} запроса данных аутентификации.
32
+ */
33
+ private readonly sendApproveEmailRequest$;
34
+ /**
35
+ * {@link Observable} изменения состояния загрузки данных отправки сообщения для подтверждения адреса электронной почты.
36
+ */
37
+ readonly approveEmailLoading$: Observable<boolean>;
38
+ /**
39
+ * {@link Observable} изменения состояния признака, отправлено ли сообщение для подтверждения адреса электронной почты.
40
+ */
41
+ readonly isSendApproveEmail$: Observable<boolean>;
25
42
  /**
26
43
  * Событие нажатия на кнопку редактирование контактного лица.
27
44
  */
@@ -30,10 +47,6 @@ export declare class ScProfileAccordionsContentComponent {
30
47
  * Событие нажатия на кнопку подтверждения телефона.
31
48
  */
32
49
  approvePhoneClick: EventEmitter<void>;
33
- /**
34
- * Событие нажатия на кнопку подтверждения электронной почты.
35
- */
36
- approveEmailClick: EventEmitter<void>;
37
50
  /**
38
51
  * Событие нажатия на кнопку добавления контрагента.
39
52
  */
@@ -48,8 +61,9 @@ export declare class ScProfileAccordionsContentComponent {
48
61
  * @param user$ Поток информации о текущем пользователе.
49
62
  * @param locationsService Сервис для получения списков стран, регионов, городов.
50
63
  * @param userService Сервис информации о пользователе.
64
+ * @param verificationService Сервис верификации.
51
65
  */
52
- constructor(user$: Observable<ScUser>, locationsService: ScLocationsService, userService: ScUserService);
66
+ constructor(user$: Observable<ScUser>, locationsService: ScLocationsService, userService: ScUserService, verificationService: ScVerificationService);
53
67
  /**
54
68
  * Создает запрос получения информации о городе текущего пользователя по идентификатору города.
55
69
  *
@@ -57,5 +71,5 @@ export declare class ScProfileAccordionsContentComponent {
57
71
  */
58
72
  getUserCity$(cityId: number): Observable<ScICity>;
59
73
  static ɵfac: i0.ɵɵFactoryDeclaration<ScProfileAccordionsContentComponent, never>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<ScProfileAccordionsContentComponent, "sc-profile-accordions-content", never, {}, { "editProfileClick": "editProfileClick"; "approvePhoneClick": "approvePhoneClick"; "approveEmailClick": "approveEmailClick"; "addContragentClick": "addContragentClick"; "addDeliveryAddressClick": "addDeliveryAddressClick"; }, never, never, false>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScProfileAccordionsContentComponent, "sc-profile-accordions-content", never, {}, { "editProfileClick": "editProfileClick"; "approvePhoneClick": "approvePhoneClick"; "addContragentClick": "addContragentClick"; "addDeliveryAddressClick": "addDeliveryAddressClick"; }, never, never, false>;
61
75
  }
@@ -739,6 +739,10 @@ video {
739
739
  margin-bottom: 2rem;
740
740
  }
741
741
 
742
+ .ml-2 {
743
+ margin-left: 0.5rem;
744
+ }
745
+
742
746
  .mr-2 {
743
747
  margin-right: 0.5rem;
744
748
  }
@@ -778,6 +782,10 @@ video {
778
782
  display: flex;
779
783
  }
780
784
 
785
+ .inline-flex {
786
+ display: inline-flex;
787
+ }
788
+
781
789
  .table {
782
790
  display: table;
783
791
  }
@@ -1050,6 +1058,10 @@ video {
1050
1058
  align-content: center;
1051
1059
  }
1052
1060
 
1061
+ .\!items-start {
1062
+ align-items: flex-start !important;
1063
+ }
1064
+
1053
1065
  .items-start {
1054
1066
  align-items: flex-start;
1055
1067
  }
@@ -1417,6 +1429,10 @@ video {
1417
1429
  color: var(--tui-error-fill);
1418
1430
  }
1419
1431
 
1432
+ .text-tui-link {
1433
+ color: var(--tui-link);
1434
+ }
1435
+
1420
1436
  .text-tui-primary {
1421
1437
  color: var(--tui-primary);
1422
1438
  }
@@ -1568,6 +1584,12 @@ video {
1568
1584
  display: block;
1569
1585
  }
1570
1586
 
1587
+ @media (min-width: 640px) {
1588
+ .sm\:flex-row {
1589
+ flex-direction: row;
1590
+ }
1591
+ }
1592
+
1571
1593
  @media (min-width: 768px) {
1572
1594
  .md\:mt-6 {
1573
1595
  margin-top: 1.5rem;
package/user/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './reset-user-password/sc-reset-user-password.component';
2
+ export * from './update-user-info-form/sc-update-user-info-form.component';
3
+ export * from './user-phone-approve-dialog/sc-user-phone-approve-dialog.component';
2
4
  export * from './sc-user.module';
@@ -16,15 +16,15 @@ export declare class ScResetUserPasswordComponent {
16
16
  newPasswordConfirm: FormControl<null>;
17
17
  }>;
18
18
  /**
19
- * {@link Subject} События отправки формы.
19
+ * {@link Subject} события отправки формы.
20
20
  */
21
21
  readonly onSubmit: Subject<void>;
22
22
  /**
23
- * {@link Observable} Запроса данных аутентификации.
23
+ * {@link Observable} запроса данных аутентификации.
24
24
  */
25
25
  private readonly request$;
26
26
  /**
27
- * {@link Observable} Изменения состояния загрузки данных аутентификации по email.
27
+ * {@link Observable} изменения состояния загрузки данных аутентификации по email.
28
28
  */
29
29
  readonly loading$: Observable<boolean>;
30
30
  /**
@@ -1,15 +1,19 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./reset-user-password/sc-reset-user-password.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/forms";
5
- import * as i4 from "@taiga-ui/kit";
6
- import * as i5 from "@taiga-ui/core";
7
- import * as i6 from "@taiga-ui/cdk";
3
+ import * as i2 from "./update-user-info-form/sc-update-user-info-form.component";
4
+ import * as i3 from "./user-phone-approve-dialog/sc-user-phone-approve-dialog.component";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@angular/forms";
7
+ import * as i6 from "@taiga-ui/kit";
8
+ import * as i7 from "@taiga-ui/core";
9
+ import * as i8 from "@taiga-ui/cdk";
10
+ import * as i9 from "../verification/sc-verification.module";
11
+ import * as i10 from "../form-fields/form-fields.module";
8
12
  /**
9
13
  * Модуль компонентов пользователя.
10
14
  */
11
15
  export declare class ScUserModule {
12
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ScUserModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScUserModule, [typeof i1.ScResetUserPasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.TuiFieldErrorPipeModule, typeof i4.TuiInputPasswordModule, typeof i5.TuiButtonModule, typeof i5.TuiErrorModule, typeof i5.TuiLabelModule, typeof i5.TuiTextfieldControllerModule, typeof i6.TuiLetModule], [typeof i1.ScResetUserPasswordComponent]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScUserModule, [typeof i1.ScResetUserPasswordComponent, typeof i2.ScUpdateUserInfoFormComponent, typeof i3.ScUserPhoneApproveDialogComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.TuiFieldErrorPipeModule, typeof i6.TuiInputPasswordModule, typeof i7.TuiButtonModule, typeof i7.TuiErrorModule, typeof i7.TuiLabelModule, typeof i7.TuiTextfieldControllerModule, typeof i8.TuiLetModule, typeof i9.ScVerificationModule, typeof i10.ScFormFieldsModule, typeof i7.TuiLoaderModule, typeof i6.TuiInputModule, typeof i6.TuiInputPhoneModule, typeof i6.TuiCheckboxModule, typeof i6.TuiCheckboxLabeledModule, typeof i7.TuiDataListModule, typeof i6.TuiSelectModule, typeof i7.TuiModeModule], [typeof i1.ScResetUserPasswordComponent, typeof i2.ScUpdateUserInfoFormComponent, typeof i3.ScUserPhoneApproveDialogComponent]>;
14
18
  static ɵinj: i0.ɵɵInjectorDeclaration<ScUserModule>;
15
19
  }
@@ -0,0 +1,56 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { FormGroup, FormControl } from '@angular/forms';
3
+ import { ScISuggestionType, ScUser, ScUserService } from '@snabcentr/client-core';
4
+ import { Observable, Subject } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Компонент формы изменения данных пользователя.
8
+ */
9
+ export declare class ScUpdateUserInfoFormComponent {
10
+ readonly user$: Observable<ScUser>;
11
+ private readonly userService;
12
+ /**
13
+ * Перечисление типов подсказок.
14
+ */
15
+ readonly suggestionType: typeof ScISuggestionType;
16
+ /**
17
+ * Группа полей ввода формы общих данных пользователя для их редактирования.
18
+ */
19
+ readonly form: FormGroup<{
20
+ name: FormControl<string | null>;
21
+ email: FormControl<string | null>;
22
+ phone: FormControl<string | null>;
23
+ verificationCode: FormControl<string | null>;
24
+ cityId: FormControl<number | null>;
25
+ getNews: FormControl<boolean | null>;
26
+ }>;
27
+ /**
28
+ * Сигнал нажатия на кнопку "Отмена".
29
+ */
30
+ readonly cancelButtonClick: EventEmitter<void>;
31
+ /**
32
+ * Сигнал события успешного обновления данных пользователя.
33
+ */
34
+ readonly successUpdateDate: Observable<ScUser>;
35
+ /**
36
+ * {@link Subject} события отправки формы.
37
+ */
38
+ readonly onSubmit: Subject<void>;
39
+ /**
40
+ * {@link Observable} запроса обновления данных пользователя.
41
+ */
42
+ private readonly request$;
43
+ /**
44
+ * {@link Observable} изменения состояния загрузки данных аутентификации по email.
45
+ */
46
+ readonly loading$: Observable<boolean>;
47
+ /**
48
+ * Инициализирует экземпляр класса {@link ScUpdateUserInfoFormComponent}.
49
+ *
50
+ * @param user$ Поток информации о текущем пользователе.
51
+ * @param userService Сервис информации о пользователе.
52
+ */
53
+ constructor(user$: Observable<ScUser>, userService: ScUserService);
54
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScUpdateUserInfoFormComponent, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScUpdateUserInfoFormComponent, "sc-update-user-info-form", never, {}, { "cancelButtonClick": "cancelButtonClick"; "successUpdateDate": "successUpdateDate"; }, never, never, false>;
56
+ }
@@ -0,0 +1,48 @@
1
+ import { FormGroup, FormControl } from '@angular/forms';
2
+ import { Subject, Observable } from 'rxjs';
3
+ import { ScApprovedData, ScUser, ScUserService, ScVerificationService } from '@snabcentr/client-core';
4
+ import { TuiDialogContext } from '@taiga-ui/core';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Диалоговое окно подтверждения номера телефона.
8
+ */
9
+ export declare class ScUserPhoneApproveDialogComponent {
10
+ private readonly verificationService;
11
+ readonly user$: Observable<ScUser>;
12
+ private readonly userService;
13
+ readonly context?: TuiDialogContext<ScApprovedData, ScUserPhoneApproveDialogComponent> | undefined;
14
+ /**
15
+ * Наличие кода подтверждения у пользователя.
16
+ */
17
+ haveCode: boolean;
18
+ /**
19
+ * Группа полей ввода для подтверждения номера телефона.
20
+ */
21
+ readonly form: FormGroup<{
22
+ phone: FormControl<string | null>;
23
+ verificationCode: FormControl<string | null>;
24
+ }>;
25
+ /**
26
+ * {@link Subject} события отправки формы.
27
+ */
28
+ readonly onSubmit: Subject<void>;
29
+ /**
30
+ * {@link Observable} запроса подтверждения номера телефона.
31
+ */
32
+ private readonly request$;
33
+ /**
34
+ * {@link Observable} изменения состояния запроса подтверждения номера телефона..
35
+ */
36
+ readonly loading$: Observable<boolean>;
37
+ /**
38
+ * Инициализирует экземпляр класса {@link ScUserPhoneApproveDialogComponent}.
39
+ *
40
+ * @param verificationService Сервис верификации.
41
+ * @param user$ Поток информации о текущем пользователе.
42
+ * @param userService Сервис информации о пользователе.
43
+ * @param context Контекст диалогового окна, в котором открыт компонент.
44
+ */
45
+ constructor(verificationService: ScVerificationService, user$: Observable<ScUser>, userService: ScUserService, context?: TuiDialogContext<ScApprovedData, ScUserPhoneApproveDialogComponent> | undefined);
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScUserPhoneApproveDialogComponent, [null, null, null, { optional: true; }]>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScUserPhoneApproveDialogComponent, "sc-user-phone-approve-dialog", never, {}, {}, never, never, false>;
48
+ }
@@ -1,2 +1,2 @@
1
- export * from './phone-approve-form/phone-approve-form.component';
1
+ export * from './verification-phone-check-form/sc-verification-phone-check-form.component';
2
2
  export * from './sc-verification.module';
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./phone-approve-form/phone-approve-form.component";
2
+ import * as i1 from "./verification-phone-check-form/sc-verification-phone-check-form.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@angular/forms";
5
5
  import * as i4 from "@taiga-ui/kit";
@@ -11,6 +11,6 @@ import * as i7 from "@maskito/angular";
11
11
  */
12
12
  export declare class ScVerificationModule {
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<ScVerificationModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScVerificationModule, [typeof i1.ScPhoneApproveFormComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.TuiInputPasswordModule, typeof i4.TuiInputModule, typeof i5.TuiTextfieldControllerModule, typeof i5.TuiLinkModule, typeof i5.TuiButtonModule, typeof i5.TuiLabelModule, typeof i5.TuiModeModule, typeof i4.TuiFieldErrorPipeModule, typeof i5.TuiErrorModule, typeof i6.TuiLetModule, typeof i5.TuiLoaderModule, typeof i4.TuiInputPhoneModule, typeof i7.MaskitoModule], [typeof i1.ScPhoneApproveFormComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScVerificationModule, [typeof i1.ScVerificationPhoneCheckFormComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.TuiInputPasswordModule, typeof i4.TuiInputModule, typeof i5.TuiTextfieldControllerModule, typeof i5.TuiLinkModule, typeof i5.TuiButtonModule, typeof i5.TuiLabelModule, typeof i5.TuiModeModule, typeof i4.TuiFieldErrorPipeModule, typeof i5.TuiErrorModule, typeof i6.TuiLetModule, typeof i5.TuiLoaderModule, typeof i4.TuiInputPhoneModule, typeof i7.MaskitoModule], [typeof i1.ScVerificationPhoneCheckFormComponent]>;
15
15
  static ɵinj: i0.ɵɵInjectorDeclaration<ScVerificationModule>;
16
16
  }
@@ -7,9 +7,25 @@ import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Компонент формы проверки телефона и получения кода подтверждения.
9
9
  */
10
- export declare class ScPhoneApproveFormComponent implements OnInit {
10
+ export declare class ScVerificationPhoneCheckFormComponent implements OnInit {
11
11
  private readonly verificationService;
12
12
  private readonly formGroupDirective?;
13
+ /**
14
+ * Признак, следует ли отображать функционал кода подтверждения.
15
+ */
16
+ private _showCodeFields;
17
+ /**
18
+ * Признак, следует ли отображать функционал кода подтверждения.
19
+ */
20
+ set showCodeFields(showCodeFields: boolean);
21
+ /**
22
+ * Признак, следует ли отображать функционал кода подтверждения.
23
+ */
24
+ get showCodeFields(): boolean;
25
+ /**
26
+ * Признак, что поле ввода телефона только для чтения.
27
+ */
28
+ readOnly: boolean;
13
29
  /**
14
30
  * Признак, следует ли телефону быть в системе. От этого признака зависит в каких случаях выдавать ошибку при проверки занятости телефона.
15
31
  */
@@ -17,7 +33,7 @@ export declare class ScPhoneApproveFormComponent implements OnInit {
17
33
  /**
18
34
  * Признак, следует ли проверять подтверждён ли телефона в системе. При `true` будет вызывать ошибку при наличие телефона в системе без подтверждения.
19
35
  */
20
- shouldBeConfirmed: boolean;
36
+ shouldBeConfirmed?: boolean;
21
37
  /**
22
38
  * Наличие кода подтверждения у пользователя.
23
39
  */
@@ -31,30 +47,30 @@ export declare class ScPhoneApproveFormComponent implements OnInit {
31
47
  */
32
48
  get form(): FormGroup<{
33
49
  phone: FormControl<string | null>;
34
- phoneApproveCode: FormControl<string | null>;
50
+ verificationCode: FormControl<string | null>;
35
51
  }>;
36
52
  /**
37
53
  * Поле ввода 'Номер телефона'.
38
54
  */
39
55
  get phoneControl(): FormControl<string | null>;
40
56
  /**
41
- * {@link Observable} Запроса проверки номера телефона.
57
+ * {@link Observable} запроса проверки номера телефона.
42
58
  */
43
59
  phoneCheck$?: Observable<boolean | null>;
44
60
  /**
45
- * {@link Subject} События отправки кода подтверждения.
61
+ * {@link Subject} события отправки кода подтверждения.
46
62
  */
47
63
  readonly onSendCode: Subject<void>;
48
64
  /**
49
- * {@link Observable} Запроса данных получения кода подтверждения.
65
+ * {@link Observable} запроса данных получения кода подтверждения.
50
66
  */
51
67
  readonly loadingApproveCode$: Observable<boolean>;
52
68
  /**
53
69
  * Маска поля ввода кода для подтверждения.
54
70
  */
55
- readonly approveCodeMask: MaskitoOptions;
71
+ readonly verificationCodeMask: MaskitoOptions;
56
72
  /**
57
- * {@link Subject} События запуска/остановки таймера.
73
+ * {@link Subject} события запуска/остановки таймера.
58
74
  */
59
75
  readonly reloadTimer$: Subject<number>;
60
76
  /**
@@ -64,7 +80,7 @@ export declare class ScPhoneApproveFormComponent implements OnInit {
64
80
  */
65
81
  readonly timer$: Observable<string | null>;
66
82
  /**
67
- * Инициализирует экземпляр класса {@link ScPhoneApproveFormComponent}.
83
+ * Инициализирует экземпляр класса {@link ScVerificationPhoneCheckFormComponent}.
68
84
  *
69
85
  * @param verificationService Сервис верификации.
70
86
  * @param formGroupDirective Директива c `FormGroup` из DOM.
@@ -78,6 +94,6 @@ export declare class ScPhoneApproveFormComponent implements OnInit {
78
94
  * @param haveCode Признак того есть ли код подтверждения или нет.
79
95
  */
80
96
  setHaveCode(haveCode: boolean): void;
81
- static ɵfac: i0.ɵɵFactoryDeclaration<ScPhoneApproveFormComponent, never>;
82
- static ɵcmp: i0.ɵɵComponentDeclaration<ScPhoneApproveFormComponent, "sc-phone-approve-form", never, { "shouldBeBusy": "shouldBeBusy"; "shouldBeConfirmed": "shouldBeConfirmed"; "haveCode": "haveCode"; }, { "haveCodeChange": "haveCodeChange"; }, never, never, false>;
97
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScVerificationPhoneCheckFormComponent, never>;
98
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScVerificationPhoneCheckFormComponent, "sc-verification-phone-check-form", never, { "showCodeFields": "showCodeFields"; "readOnly": "readOnly"; "shouldBeBusy": "shouldBeBusy"; "shouldBeConfirmed": "shouldBeConfirmed"; "haveCode": "haveCode"; }, { "haveCodeChange": "haveCodeChange"; }, never, never, false>;
83
99
  }