@snabcentr/client-ui 1.7.0 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-ui",
3
- "version": "1.7.0",
3
+ "version": "1.8.1",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-ui-lib",
6
6
  "license": "Commercial",
package/public-api.d.ts CHANGED
@@ -15,6 +15,7 @@ export * from './brands-list';
15
15
  export * from './news';
16
16
  export * from './order';
17
17
  export * from './pipes';
18
+ export * from './samples';
18
19
  export * from './providers';
19
20
  export * from './qrcode';
20
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)',
@@ -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
  }