@snabcentr/client-ui 1.6.3 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. package/contacts/sc-contacts.module.d.ts +3 -1
  2. package/directives/index.d.ts +1 -0
  3. package/directives/tel-link/sc-tel-link.directive.d.ts +27 -0
  4. package/directives/tel-link/sc-tel-link.module.d.ts +11 -0
  5. package/esm2020/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +5 -3
  6. package/esm2020/contacts/sc-contacts.module.mjs +9 -7
  7. package/esm2020/directives/index.mjs +2 -1
  8. package/esm2020/directives/tel-link/sc-tel-link.directive.mjs +58 -0
  9. package/esm2020/directives/tel-link/sc-tel-link.module.mjs +20 -0
  10. package/esm2020/pipes/index.mjs +2 -0
  11. package/esm2020/pipes/sc-formatted-phone.mjs +34 -0
  12. package/esm2020/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +7 -5
  13. package/esm2020/profile/sc-profile.module.mjs +8 -7
  14. package/esm2020/public-api.mjs +3 -1
  15. package/esm2020/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +36 -0
  16. package/esm2020/samples/index.mjs +5 -0
  17. package/esm2020/samples/interfaces/sc-i-preview-sample.mjs +2 -0
  18. package/esm2020/samples/preview-sample/sc-preview-sample.component.mjs +82 -0
  19. package/esm2020/samples/sc-sample.module.mjs +65 -0
  20. package/esm2020/user/sc-user.module.mjs +7 -6
  21. package/esm2020/user/user-managers/sc-user-managers.component.mjs +5 -3
  22. package/fesm2015/snabcentr-client-ui.mjs +286 -25
  23. package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
  24. package/fesm2020/snabcentr-client-ui.mjs +284 -25
  25. package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
  26. package/package.json +1 -1
  27. package/pipes/index.d.ts +1 -0
  28. package/pipes/sc-formatted-phone.d.ts +19 -0
  29. package/profile/sc-profile.module.d.ts +2 -1
  30. package/public-api.d.ts +2 -0
  31. package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +18 -0
  32. package/samples/index.d.ts +4 -0
  33. package/samples/interfaces/sc-i-preview-sample.d.ts +47 -0
  34. package/samples/preview-sample/sc-preview-sample.component.d.ts +48 -0
  35. package/samples/sc-sample.module.d.ts +17 -0
  36. package/styles/taiga/taiga-tailwind-preset.js +7 -0
  37. package/styles/tailwind/tailwind.scss +78 -1
  38. package/user/sc-user.module.d.ts +2 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "1.6.3",
3
+ "version": "1.8.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 @@
1
+ export * from './sc-formatted-phone';
@@ -0,0 +1,19 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Пайп для форматирования номера телефона.
5
+ *
6
+ * Если переданный номер телефона валиден, он будет отформатирован с использованием метода `formatPhoneNumber` сервиса `ScPhoneService`.
7
+ * Если номер невалиден, возвращается исходное значение.
8
+ */
9
+ export declare class ScFormatePhonePipe implements PipeTransform {
10
+ /**
11
+ * Преобразует строковое значение номера телефона.
12
+ *
13
+ * @param value Строка, содержащая номер телефона.
14
+ * @returns Отформатированный номер телефона, если он валиден, или исходное значение, если он невалиден.
15
+ */
16
+ transform(value: string): string;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScFormatePhonePipe, never>;
18
+ static ɵpipe: i0.ɵɵPipeDeclaration<ScFormatePhonePipe, "scFormatePhone", true>;
19
+ }
@@ -11,11 +11,12 @@ import * as i9 from "@taiga-ui/kit";
11
11
  import * as i10 from "@angular/forms";
12
12
  import * as i11 from "../contacts/sc-contacts.module";
13
13
  import * as i12 from "../directives/terminal-link/sc-terminal-link.directive";
14
+ import * as i13 from "../directives/tel-link/sc-tel-link.module";
14
15
  /**
15
16
  * Модуль профиля пользователя.
16
17
  */
17
18
  export declare class ScProfileModule {
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<ScProfileModule, never>;
19
- 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.TuiFormatPhonePipeModule, typeof i9.TuiCheckboxLabeledModule, typeof i7.TuiSvgModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i7.TuiLoaderModule, typeof i7.TuiButtonModule, typeof i11.ScContactsModule, typeof i12.ScTerminalLinkDirective], [typeof i1.ScProfileAccordionsContentComponent]>;
20
+ 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 i9.TuiCheckboxLabeledModule, typeof i7.TuiSvgModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i7.TuiLoaderModule, typeof i7.TuiButtonModule, typeof i11.ScContactsModule, typeof i12.ScTerminalLinkDirective, typeof i13.ScTelLinkModule], [typeof i1.ScProfileAccordionsContentComponent]>;
20
21
  static ɵinj: i0.ɵɵInjectorDeclaration<ScProfileModule>;
21
22
  }
package/public-api.d.ts CHANGED
@@ -14,6 +14,8 @@ export * from './loader';
14
14
  export * from './brands-list';
15
15
  export * from './news';
16
16
  export * from './order';
17
+ export * from './pipes';
18
+ export * from './samples';
17
19
  export * from './providers';
18
20
  export * from './qrcode';
19
21
  export * from './share-button';
@@ -0,0 +1,18 @@
1
+ import { FormGroup } from '@angular/forms';
2
+ import { ScISuggestionType } from '@snabcentr/client-core';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Компонент формы запроса бесплатного образца.
6
+ */
7
+ export declare class ScAskToSampleFormComponent {
8
+ /**
9
+ * Группа полей ввода для формы «Пожелания и предложения по улучшению сайта».
10
+ */
11
+ form: FormGroup;
12
+ /**
13
+ * Перечисление типов подсказок.
14
+ */
15
+ readonly suggestionType: typeof ScISuggestionType;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScAskToSampleFormComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScAskToSampleFormComponent, "sc-ask-to-sample-form", never, {}, {}, never, never, false>;
18
+ }
@@ -0,0 +1,4 @@
1
+ export * from './ask-to-sample-form/sc-ask-to-sample-form.component';
2
+ export * from './interfaces/sc-i-preview-sample';
3
+ export * from './preview-sample/sc-preview-sample.component';
4
+ export * from './sc-sample.module';
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Модель данных образцов товара.
3
+ */
4
+ export interface ScIPreviewSample {
5
+ /**
6
+ * Заголовок.
7
+ */
8
+ title: string;
9
+ /**
10
+ * Описание (подзаголовок).
11
+ */
12
+ description: string;
13
+ /**
14
+ * Экземпляры образцов.
15
+ */
16
+ items?: Array<{
17
+ /**
18
+ * Ссылка на изображение кнопки переключателя.
19
+ */
20
+ buttonImageUrl: string;
21
+ /**
22
+ * Ссылка на изображение в галерее, соответствующее кнопке.
23
+ */
24
+ carouselItemImage: string;
25
+ }>;
26
+ /**
27
+ * Ссылка на изображение товара в описании.
28
+ */
29
+ descriptionImageUrl?: string;
30
+ /**
31
+ * Элементы кнопок взаимодействия.
32
+ */
33
+ actions?: Array<{
34
+ /**
35
+ * Значок элемента взаимодействия.
36
+ */
37
+ icon: string;
38
+ /**
39
+ * Подпись элемента взаимодействия.
40
+ */
41
+ label: string;
42
+ /**
43
+ * Обработчик элемента взаимодействия.
44
+ */
45
+ handler: (...atr: unknown[]) => unknown;
46
+ }>;
47
+ }
@@ -0,0 +1,48 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ScIPreviewSample } from '../interfaces/sc-i-preview-sample';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Компонент представления образцов товара.
6
+ */
7
+ export declare class ScPreviewSampleComponent {
8
+ /**
9
+ * Индекс элемента в галерее.
10
+ */
11
+ index: number;
12
+ /**
13
+ * {@link EventEmitter} изменения индекса элемента в галерее.
14
+ */
15
+ readonly indexChange: EventEmitter<number>;
16
+ /**
17
+ * Объект данных товара.
18
+ */
19
+ sample: ScIPreviewSample;
20
+ /**
21
+ * Признак, что необходимо отображать переключатели на карусели.
22
+ */
23
+ isShowCarouselSwitches: boolean;
24
+ /**
25
+ * Признак, что при горизонтальном отображении компонент должен быть развёрнут.
26
+ */
27
+ isReverse: boolean;
28
+ /**
29
+ * {@link Observable} изменения индекса элемента в галерее для автоматического переключения по таймеру.
30
+ */
31
+ indexChangeInterval: import("rxjs").Observable<number>;
32
+ /**
33
+ * Переключает на предыдущее изображение в галерее.
34
+ */
35
+ onPrevious(): void;
36
+ /**
37
+ * Переключает на следующее изображение в галерее.
38
+ */
39
+ onNext(): void;
40
+ /**
41
+ * Обработчик изменения индекса элемента в галерее.
42
+ *
43
+ * @param index Индекс элемента в галерее.
44
+ */
45
+ onChangeIndex(index: number): void;
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScPreviewSampleComponent, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScPreviewSampleComponent, "sc-preview-sample", never, { "index": "index"; "sample": "sample"; "isShowCarouselSwitches": "isShowCarouselSwitches"; "isReverse": "isReverse"; }, { "indexChange": "indexChange"; }, never, never, false>;
48
+ }
@@ -0,0 +1,17 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./preview-sample/sc-preview-sample.component";
3
+ import * as i2 from "./ask-to-sample-form/sc-ask-to-sample-form.component";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/forms";
6
+ import * as i5 from "@taiga-ui/core";
7
+ import * as i6 from "@taiga-ui/kit";
8
+ import * as i7 from "../form-fields/form-fields.module";
9
+ import * as i8 from "@taiga-ui/cdk";
10
+ /**
11
+ * Модуль представления образцов товара.
12
+ */
13
+ export declare class ScPreviewSampleModule {
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScPreviewSampleModule, never>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScPreviewSampleModule, [typeof i1.ScPreviewSampleComponent, typeof i2.ScAskToSampleFormComponent], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i5.TuiErrorModule, typeof i6.TuiFieldErrorPipeModule, typeof i7.ScFormFieldsModule, typeof i6.TuiInputModule, typeof i6.TuiInputPhoneModule, typeof i6.TuiCarouselModule, typeof i6.TuiAvatarModule, typeof i8.TuiHoveredModule, typeof i8.TuiLetModule, typeof i5.TuiButtonModule, typeof i5.TuiLabelModule], [typeof i1.ScPreviewSampleComponent, typeof i2.ScAskToSampleFormComponent]>;
16
+ static ɵinj: i0.ɵɵInjectorDeclaration<ScPreviewSampleModule>;
17
+ }
@@ -125,6 +125,13 @@ module.exports = {
125
125
  'sc-1': '0px 5px 20px 0px rgba(0, 0, 0, 0.10)',
126
126
  'sc-2': '0px 2px 3px 0px rgba(0, 0, 0, 0.10)',
127
127
  'sc-border-inner': 'inset 0 0 0 0.0625rem',
128
+ 'tui-shadow': 'var(--tui-shadow)',
129
+ 'tui-shadow-hover': 'var(--tui-shadow-hover)',
130
+ 'tui-shadow-dropdown': 'var(--tui-shadow-dropdown)',
131
+ 'tui-shadow-modal': 'var(--tui-shadow-modal)',
132
+ 'tui-shadow-sidebar': 'var(--tui-shadow-sidebar)',
133
+ 'tui-shadow-navigation': 'var(--tui-shadow-navigation)',
134
+ 'tui-shadow-sheet': 'var(--tui-shadow-sheet)',
128
135
  },
129
136
  borderRadius: {
130
137
  'tui-radius-xs': 'var(--tui-radius-xs)',
@@ -1,5 +1,5 @@
1
1
  /*
2
- ! tailwindcss v3.4.9 | MIT License | https://tailwindcss.com
2
+ ! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com
3
3
  */
4
4
 
5
5
  /*
@@ -656,6 +656,10 @@ video {
656
656
  bottom: 1rem;
657
657
  }
658
658
 
659
+ .left-0 {
660
+ left: 0px;
661
+ }
662
+
659
663
  .left-1 {
660
664
  left: 0.25rem;
661
665
  }
@@ -684,6 +688,10 @@ video {
684
688
  top: 0.25rem;
685
689
  }
686
690
 
691
+ .top-1\/2 {
692
+ top: 50%;
693
+ }
694
+
687
695
  .top-2 {
688
696
  top: 0.5rem;
689
697
  }
@@ -878,6 +886,10 @@ video {
878
886
  height: 14rem;
879
887
  }
880
888
 
889
+ .h-\[19em\] {
890
+ height: 19em;
891
+ }
892
+
881
893
  .h-full {
882
894
  height: 100%;
883
895
  }
@@ -930,6 +942,11 @@ video {
930
942
  width: auto;
931
943
  }
932
944
 
945
+ .w-fit {
946
+ width: -moz-fit-content;
947
+ width: fit-content;
948
+ }
949
+
933
950
  .w-full {
934
951
  width: 100%;
935
952
  }
@@ -942,10 +959,18 @@ video {
942
959
  min-width: 18rem;
943
960
  }
944
961
 
962
+ .max-w-96 {
963
+ max-width: 24rem;
964
+ }
965
+
945
966
  .max-w-full {
946
967
  max-width: 100%;
947
968
  }
948
969
 
970
+ .flex-1 {
971
+ flex: 1 1 0%;
972
+ }
973
+
949
974
  .flex-auto {
950
975
  flex: 1 1 auto;
951
976
  }
@@ -978,6 +1003,11 @@ video {
978
1003
  border-collapse: collapse;
979
1004
  }
980
1005
 
1006
+ .-translate-y-1\/2 {
1007
+ --tw-translate-y: -50%;
1008
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1009
+ }
1010
+
981
1011
  .scale-\[3\] {
982
1012
  --tw-scale-x: 3;
983
1013
  --tw-scale-y: 3;
@@ -1014,6 +1044,10 @@ video {
1014
1044
  flex-direction: column;
1015
1045
  }
1016
1046
 
1047
+ .flex-col-reverse {
1048
+ flex-direction: column-reverse;
1049
+ }
1050
+
1017
1051
  .flex-wrap {
1018
1052
  flex-wrap: wrap;
1019
1053
  }
@@ -1238,6 +1272,10 @@ video {
1238
1272
  background-position: center;
1239
1273
  }
1240
1274
 
1275
+ .bg-right {
1276
+ background-position: right;
1277
+ }
1278
+
1241
1279
  .bg-no-repeat {
1242
1280
  background-repeat: no-repeat;
1243
1281
  }
@@ -1611,6 +1649,12 @@ video {
1611
1649
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1612
1650
  }
1613
1651
 
1652
+ .shadow-tui-shadow {
1653
+ --tw-shadow: var(--tui-shadow);
1654
+ --tw-shadow-colored: var(--tui-shadow);
1655
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1656
+ }
1657
+
1614
1658
  .outline {
1615
1659
  outline-style: solid;
1616
1660
  }
@@ -1727,13 +1771,42 @@ video {
1727
1771
  }
1728
1772
 
1729
1773
  @media (min-width: 768px) {
1774
+ .md\:mb-0 {
1775
+ margin-bottom: 0px;
1776
+ }
1777
+
1778
+ .md\:h-96 {
1779
+ height: 24rem;
1780
+ }
1781
+
1730
1782
  .md\:w-1\/2 {
1731
1783
  width: 50%;
1732
1784
  }
1733
1785
 
1786
+ .md\:max-w-none {
1787
+ max-width: none;
1788
+ }
1789
+
1734
1790
  .md\:flex-row {
1735
1791
  flex-direction: row;
1736
1792
  }
1793
+
1794
+ .md\:\!flex-row-reverse {
1795
+ flex-direction: row-reverse !important;
1796
+ }
1797
+
1798
+ .md\:gap-4 {
1799
+ gap: 1rem;
1800
+ }
1801
+
1802
+ .md\:gap-8 {
1803
+ gap: 2rem;
1804
+ }
1805
+
1806
+ .md\:px-8 {
1807
+ padding-left: 2rem;
1808
+ padding-right: 2rem;
1809
+ }
1737
1810
  }
1738
1811
 
1739
1812
  @media (min-width: 1024px) {
@@ -1753,6 +1826,10 @@ video {
1753
1826
  height: 2.75rem;
1754
1827
  }
1755
1828
 
1829
+ .lg\:h-\[28rem\] {
1830
+ height: 28rem;
1831
+ }
1832
+
1756
1833
  .lg\:flex-grow {
1757
1834
  flex-grow: 1;
1758
1835
  }
@@ -11,11 +11,12 @@ import * as i9 from "@taiga-ui/cdk";
11
11
  import * as i10 from "../verification/sc-verification.module";
12
12
  import * as i11 from "../form-fields/form-fields.module";
13
13
  import * as i12 from "../directives/terminal-link/sc-terminal-link.directive";
14
+ import * as i13 from "../directives/tel-link/sc-tel-link.module";
14
15
  /**
15
16
  * Модуль компонентов пользователя.
16
17
  */
17
18
  export declare class ScUserModule {
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<ScUserModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScUserModule, [typeof i1.ScResetUserPasswordComponent, typeof i2.ScUpdateUserInfoDialogComponent, typeof i3.ScUserPhoneApproveDialogComponent, typeof i4.ScUserManagersComponent], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i6.ReactiveFormsModule, typeof i7.TuiFieldErrorPipeModule, typeof i7.TuiInputPasswordModule, typeof i8.TuiButtonModule, typeof i8.TuiErrorModule, typeof i8.TuiLabelModule, typeof i8.TuiTextfieldControllerModule, typeof i9.TuiLetModule, typeof i10.ScVerificationModule, typeof i11.ScFormFieldsModule, typeof i8.TuiLoaderModule, typeof i7.TuiInputModule, typeof i7.TuiInputPhoneModule, typeof i7.TuiCheckboxModule, typeof i7.TuiCheckboxLabeledModule, typeof i8.TuiDataListModule, typeof i7.TuiSelectModule, typeof i8.TuiLinkModule, typeof i8.TuiFormatPhonePipeModule, typeof i12.ScTerminalLinkDirective], [typeof i1.ScResetUserPasswordComponent, typeof i2.ScUpdateUserInfoDialogComponent, typeof i3.ScUserPhoneApproveDialogComponent, typeof i4.ScUserManagersComponent]>;
20
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ScUserModule, [typeof i1.ScResetUserPasswordComponent, typeof i2.ScUpdateUserInfoDialogComponent, typeof i3.ScUserPhoneApproveDialogComponent, typeof i4.ScUserManagersComponent], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i6.ReactiveFormsModule, typeof i7.TuiFieldErrorPipeModule, typeof i7.TuiInputPasswordModule, typeof i8.TuiButtonModule, typeof i8.TuiErrorModule, typeof i8.TuiLabelModule, typeof i8.TuiTextfieldControllerModule, typeof i9.TuiLetModule, typeof i10.ScVerificationModule, typeof i11.ScFormFieldsModule, typeof i8.TuiLoaderModule, typeof i7.TuiInputModule, typeof i7.TuiInputPhoneModule, typeof i7.TuiCheckboxModule, typeof i7.TuiCheckboxLabeledModule, typeof i8.TuiDataListModule, typeof i7.TuiSelectModule, typeof i8.TuiLinkModule, typeof i12.ScTerminalLinkDirective, typeof i13.ScTelLinkModule], [typeof i1.ScResetUserPasswordComponent, typeof i2.ScUpdateUserInfoDialogComponent, typeof i3.ScUserPhoneApproveDialogComponent, typeof i4.ScUserManagersComponent]>;
20
21
  static ɵinj: i0.ɵɵInjectorDeclaration<ScUserModule>;
21
22
  }