@snabcentr/client-ui 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. package/accordion/index.d.ts +3 -0
  2. package/accordion/sc-accordion-content.directive.d.ts +9 -0
  3. package/accordion/sc-accordion.component.d.ts +43 -0
  4. package/accordion/sc-accordion.module.d.ts +15 -0
  5. package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +23 -0
  6. package/contacts/index.d.ts +2 -0
  7. package/contacts/sc-contacts.module.d.ts +14 -0
  8. package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +45 -0
  9. package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +38 -0
  10. package/contragents/index.d.ts +3 -0
  11. package/contragents/sc-contragents.module.d.ts +16 -0
  12. package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +32 -0
  13. package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +26 -0
  14. package/delivery-address/index.d.ts +3 -0
  15. package/delivery-address/sc-delivery-address.module.d.ts +16 -0
  16. package/esm2020/accordion/index.mjs +4 -0
  17. package/esm2020/accordion/sc-accordion-content.directive.mjs +17 -0
  18. package/esm2020/accordion/sc-accordion.component.mjs +78 -0
  19. package/esm2020/accordion/sc-accordion.module.mjs +25 -0
  20. package/esm2020/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +35 -0
  21. package/esm2020/contacts/index.mjs +3 -0
  22. package/esm2020/contacts/sc-contacts.module.mjs +24 -0
  23. package/esm2020/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +54 -0
  24. package/esm2020/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +57 -0
  25. package/esm2020/contragents/index.mjs +4 -0
  26. package/esm2020/contragents/sc-contragents.module.mjs +26 -0
  27. package/esm2020/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +40 -0
  28. package/esm2020/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +39 -0
  29. package/esm2020/delivery-address/index.mjs +4 -0
  30. package/esm2020/delivery-address/sc-delivery-address.module.mjs +26 -0
  31. package/esm2020/profile/index.mjs +3 -0
  32. package/esm2020/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +99 -0
  33. package/esm2020/profile/sc-profile.module.mjs +76 -0
  34. package/esm2020/providers/index.mjs +2 -1
  35. package/esm2020/providers/scUserProviders.mjs +30 -0
  36. package/esm2020/public-api.mjs +7 -1
  37. package/esm2020/user/index.mjs +3 -0
  38. package/esm2020/user/reset-user-password/sc-reset-user-password.component.mjs +61 -0
  39. package/esm2020/user/sc-user.module.mjs +54 -0
  40. package/esm2020/validators/index.mjs +2 -1
  41. package/esm2020/validators/scPasswordConfirmMatchingValidator.mjs +18 -0
  42. package/fesm2015/snabcentr-client-ui.mjs +660 -37
  43. package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
  44. package/fesm2020/snabcentr-client-ui.mjs +657 -37
  45. package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
  46. package/package.json +1 -1
  47. package/profile/index.d.ts +2 -0
  48. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +61 -0
  49. package/profile/sc-profile.module.d.ts +19 -0
  50. package/providers/index.d.ts +1 -0
  51. package/providers/scUserProviders.d.ts +18 -0
  52. package/public-api.d.ts +6 -0
  53. package/styles/tailwind/tailwind.scss +38 -0
  54. package/user/index.d.ts +2 -0
  55. package/user/reset-user-password/sc-reset-user-password.component.d.ts +38 -0
  56. package/user/sc-user.module.d.ts +15 -0
  57. package/validators/index.d.ts +1 -0
  58. package/validators/scPasswordConfirmMatchingValidator.d.ts +7 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
6
6
  "license": "Commercial",
@@ -0,0 +1,2 @@
1
+ export * from './sc-profile-accordions-content/sc-profile-accordions-content.component';
2
+ export * from './sc-profile.module';
@@ -0,0 +1,61 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ScICity, ScLocationsService, ScUser, ScUserService } from '@snabcentr/client-core';
3
+ import { Observable } from 'rxjs';
4
+ import { FormControl } from '@angular/forms';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Компонент контента профиля пользователя в виде раскрывающихся смысловых блоков.
8
+ */
9
+ export declare class ScProfileAccordionsContentComponent {
10
+ readonly user$: Observable<ScUser>;
11
+ private readonly locationsService;
12
+ private readonly userService;
13
+ /**
14
+ * {@link FormControl} переключателя 'Я хочу получать рассылку'.
15
+ */
16
+ getNewsControl: FormControl<boolean>;
17
+ /**
18
+ * {@link Observable} Запроса изменения признака пользователя 'Я хочу получать рассылку'.
19
+ */
20
+ private readonly getNewsRequest$;
21
+ /**
22
+ * {@link Observable} Изменения состояния загрузки данных изменения признака пользователя 'Я хочу получать рассылку'.
23
+ */
24
+ readonly getNewsLoading$: Observable<boolean>;
25
+ /**
26
+ * Событие нажатия на кнопку редактирование контактного лица.
27
+ */
28
+ editProfileClick: EventEmitter<void>;
29
+ /**
30
+ * Событие нажатия на кнопку подтверждения телефона.
31
+ */
32
+ approvePhoneClick: EventEmitter<void>;
33
+ /**
34
+ * Событие нажатия на кнопку подтверждения электронной почты.
35
+ */
36
+ approveEmailClick: EventEmitter<void>;
37
+ /**
38
+ * Событие нажатия на кнопку добавления контрагента.
39
+ */
40
+ addContragentClick: EventEmitter<void>;
41
+ /**
42
+ * Событие нажатия на кнопку добавления адреса доставки клиента.
43
+ */
44
+ addDeliveryAddressClick: EventEmitter<void>;
45
+ /**
46
+ * Инициализирует экземпляр класса {@link ScProfileComponent}.
47
+ *
48
+ * @param user$ Поток информации о текущем пользователе.
49
+ * @param locationsService Сервис для получения списков стран, регионов, городов.
50
+ * @param userService Сервис информации о пользователе.
51
+ */
52
+ constructor(user$: Observable<ScUser>, locationsService: ScLocationsService, userService: ScUserService);
53
+ /**
54
+ * Создает запрос получения информации о городе текущего пользователя по идентификатору города.
55
+ *
56
+ * @param cityId Идентификатор записи города.
57
+ */
58
+ getUserCity$(cityId: number): Observable<ScICity>;
59
+ 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>;
61
+ }
@@ -0,0 +1,19 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./sc-profile-accordions-content/sc-profile-accordions-content.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "../user/sc-user.module";
5
+ import * as i4 from "../accordion/sc-accordion.module";
6
+ import * as i5 from "../contragents/sc-contragents.module";
7
+ import * as i6 from "../delivery-address/sc-delivery-address.module";
8
+ import * as i7 from "@taiga-ui/core";
9
+ import * as i8 from "@taiga-ui/cdk";
10
+ import * as i9 from "@taiga-ui/kit";
11
+ import * as i10 from "@angular/forms";
12
+ /**
13
+ * Модуль профиля пользователя.
14
+ */
15
+ export declare class ScProfileModule {
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScProfileModule, never>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScProfileModule, [typeof i1.ScProfileAccordionsContentComponent], [typeof i2.CommonModule, typeof i3.ScUserModule, typeof i4.ScAccordionModule, typeof i5.ScContragentsModule, typeof i6.ScDeliveryAddressModule, typeof i7.TuiLoaderModule, typeof i8.TuiLetModule, typeof i7.TuiLinkModule, typeof i7.TuiModeModule, typeof i7.TuiFormatPhonePipeModule, typeof i9.TuiCheckboxLabeledModule, typeof i7.TuiSvgModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i7.TuiLoaderModule, typeof i7.TuiButtonModule], [typeof i1.ScProfileAccordionsContentComponent]>;
18
+ static ɵinj: i0.ɵɵInjectorDeclaration<ScProfileModule>;
19
+ }
@@ -1 +1,2 @@
1
+ export * from './scUserProviders';
1
2
  export * from './productsPagination';
@@ -0,0 +1,18 @@
1
+ import { InjectionToken, Provider } from '@angular/core';
2
+ import { ScUser, ScUserService } from '@snabcentr/client-core';
3
+ import { Observable } from 'rxjs';
4
+ /**
5
+ * Токен потока данных о текущем пользователе.
6
+ */
7
+ export declare const SC_USER_INFO: InjectionToken<Observable<ScUser | undefined>>;
8
+ /**
9
+ * Фабрика создания потока данных о текущем пользователе.
10
+ *
11
+ * @param userService Сервис информации о пользователе.
12
+ * @param destroy$ Сервис завершения {@link Observable} через `takeUntil`.
13
+ */
14
+ export declare function scUserFactory(userService: ScUserService, destroy$: Observable<void>): Observable<ScUser | undefined>;
15
+ /**
16
+ * Провайдер потока данных о текущем пользователе.
17
+ */
18
+ export declare const SC_USER_PROVIDERS: Provider[];
package/public-api.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  export * from './auth';
2
+ export * from './accordion';
2
3
  export * from './banner';
3
4
  export * from './cart';
4
5
  export * from './catalog';
6
+ export * from './contragents';
7
+ export * from './contacts';
8
+ export * from './delivery-address';
5
9
  export * from './files';
6
10
  export * from './icons';
7
11
  export * from './loader';
@@ -9,5 +13,7 @@ export * from './news';
9
13
  export * from './order';
10
14
  export * from './providers';
11
15
  export * from './share-button';
16
+ export * from './user';
12
17
  export * from './validators';
13
18
  export * from './tokens';
19
+ export * from './profile';
@@ -1020,6 +1020,10 @@ video {
1020
1020
  align-content: center;
1021
1021
  }
1022
1022
 
1023
+ .items-start {
1024
+ align-items: flex-start;
1025
+ }
1026
+
1023
1027
  .items-center {
1024
1028
  align-items: center;
1025
1029
  }
@@ -1159,6 +1163,10 @@ video {
1159
1163
  border-bottom-width: 1px;
1160
1164
  }
1161
1165
 
1166
+ .border-tui-base-03 {
1167
+ border-color: var(--tui-base-03);
1168
+ }
1169
+
1162
1170
  .border-tui-base-04 {
1163
1171
  border-color: var(--tui-base-04);
1164
1172
  }
@@ -1197,6 +1205,10 @@ video {
1197
1205
  padding: 0px;
1198
1206
  }
1199
1207
 
1208
+ .p-1 {
1209
+ padding: 0.25rem;
1210
+ }
1211
+
1200
1212
  .p-10 {
1201
1213
  padding: 2.5rem;
1202
1214
  }
@@ -1237,6 +1249,10 @@ video {
1237
1249
  padding-bottom: 1.125rem;
1238
1250
  }
1239
1251
 
1252
+ .pl-4 {
1253
+ padding-left: 1rem;
1254
+ }
1255
+
1240
1256
  .text-center {
1241
1257
  text-align: center;
1242
1258
  }
@@ -1355,6 +1371,10 @@ video {
1355
1371
  color: var(--tui-text-02);
1356
1372
  }
1357
1373
 
1374
+ .text-tui-text-03 {
1375
+ color: var(--tui-text-03);
1376
+ }
1377
+
1358
1378
  .underline {
1359
1379
  text-decoration-line: underline;
1360
1380
  }
@@ -1472,4 +1492,22 @@ video {
1472
1492
 
1473
1493
  .group:hover .group-hover\:block {
1474
1494
  display: block;
1495
+ }
1496
+
1497
+ @media (min-width: 768px) {
1498
+ .md\:mt-6 {
1499
+ margin-top: 1.5rem;
1500
+ }
1501
+
1502
+ .md\:flex-grow {
1503
+ flex-grow: 1;
1504
+ }
1505
+
1506
+ .md\:flex-row {
1507
+ flex-direction: row;
1508
+ }
1509
+
1510
+ .md\:gap-4 {
1511
+ gap: 1rem;
1512
+ }
1475
1513
  }
@@ -0,0 +1,2 @@
1
+ export * from './reset-user-password/sc-reset-user-password.component';
2
+ export * from './sc-user.module';
@@ -0,0 +1,38 @@
1
+ import { FormControl, FormGroup } from '@angular/forms';
2
+ import { ScUserService } from '@snabcentr/client-core';
3
+ import { Subject, Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Компонент смены пароля пользователя.
7
+ */
8
+ export declare class ScResetUserPasswordComponent {
9
+ private readonly userService;
10
+ /**
11
+ * Форма для изменения пароля пользователя.
12
+ */
13
+ form: FormGroup<{
14
+ currentPassword: FormControl<null>;
15
+ newPassword: FormControl<null>;
16
+ newPasswordConfirm: FormControl<null>;
17
+ }>;
18
+ /**
19
+ * {@link Subject} События отправки формы.
20
+ */
21
+ readonly onSubmit: Subject<void>;
22
+ /**
23
+ * {@link Observable} Запроса данных аутентификации.
24
+ */
25
+ private readonly request$;
26
+ /**
27
+ * {@link Observable} Изменения состояния загрузки данных аутентификации по email.
28
+ */
29
+ readonly loading$: Observable<boolean>;
30
+ /**
31
+ * Инициализирует экземпляр класса {@link ScResetUserPasswordComponent}.
32
+ *
33
+ * @param userService Сервис информации о пользователе.
34
+ */
35
+ constructor(userService: ScUserService);
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScResetUserPasswordComponent, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScResetUserPasswordComponent, "sc-reset-user-password", never, {}, {}, never, never, false>;
38
+ }
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
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";
8
+ /**
9
+ * Модуль компонентов пользователя.
10
+ */
11
+ export declare class ScUserModule {
12
+ 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]>;
14
+ static ɵinj: i0.ɵɵInjectorDeclaration<ScUserModule>;
15
+ }
@@ -1 +1,2 @@
1
+ export * from './scPasswordConfirmMatchingValidator';
1
2
  export * from './stepValidator';
@@ -0,0 +1,7 @@
1
+ import { ValidatorFn } from '@angular/forms';
2
+ /**
3
+ * Проверяет повторный ввод пароля на эквивалентность паролю.
4
+ *
5
+ * @param passwordKey Ключ поля ввода пароля.
6
+ */
7
+ export declare function scPasswordConfirmMatchingValidator(passwordKey: string): ValidatorFn;