@sima-land/moleculas 13.1.1 → 13.2.1

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/common/components/product-info/parts.js +5 -5
  2. package/common/components/product-info/product-info.module.scss +20 -12
  3. package/common/components/quick-view-button/quick-view-button.module.scss +3 -3
  4. package/common/components/wish-button/wish-button.module.scss +2 -2
  5. package/desktop/components/breadcrumbs/breadcrumbs.module.scss +2 -2
  6. package/desktop/components/breadcrumbs/index.js +2 -2
  7. package/desktop/components/gallery-modal/components/all-round-view.module.scss +4 -4
  8. package/desktop/components/gallery-modal/components/review-info.module.scss +1 -1
  9. package/desktop/components/gallery-modal/components/thumbnail.module.scss +3 -3
  10. package/desktop/components/modifiers/button/modifier-button.module.scss +5 -5
  11. package/desktop/components/modifiers/group/index.d.ts +17 -16
  12. package/desktop/components/modifiers/group/index.js +1 -13
  13. package/desktop/components/modifiers/group/modifiers-group.module.scss +1 -1
  14. package/desktop/components/person-modal/index.js +6 -6
  15. package/desktop/components/person-modal/person-modal.module.scss +1 -1
  16. package/desktop/components/promotion-card/index.module.scss +4 -4
  17. package/desktop/components/promotion-card/placeholder.module.scss +1 -1
  18. package/mobile/components/breadcrumbs/breadcrumbs.module.scss +1 -1
  19. package/mobile/components/breadcrumbs/index.js +1 -1
  20. package/mobile/components/modifiers-list/modifier-item/index.js +1 -1
  21. package/mobile/components/modifiers-list/modifier-item/modifier-item.module.scss +2 -2
  22. package/mobile/components/modifiers-list/modifiers-list.module.scss +1 -1
  23. package/mobile/components/person-screen/index.js +2 -2
  24. package/mobile/components/person-screen/person-screen.module.scss +4 -4
  25. package/mobile/components/product-actions-alert/index.js +1 -1
  26. package/mobile/components/product-actions-alert/product-actions-alert.module.scss +2 -2
  27. package/mobile/components/product-row/index.js +4 -4
  28. package/mobile/components/product-row/product-row.module.scss +1 -1
  29. package/mobile/components/pseudo-input/pseudo-input.module.scss +3 -3
  30. package/mobile/components/search-bar/index.js +3 -3
  31. package/mobile/components/search-bar/search-bar.module.scss +5 -5
  32. package/mobile/components/select-screen/index.d.ts +7 -3
  33. package/mobile/components/select-screen/index.js +5 -5
  34. package/mobile/components/select-screen/select-screen.module.scss +32 -3
  35. package/package.json +2 -2
@@ -104,13 +104,13 @@ const Prices = ({ price, oldPrice, currencyGrapheme, unavailableReason = 'Тов
104
104
  */
105
105
  const Title = ({ children, href, onClick }) => {
106
106
  const { restriction } = (0, react_1.useContext)(utils_1.ProductInfoContext);
107
- return restriction === 'adult' ? (react_1.default.createElement("span", { className: cx('adult-info'), "data-testid": 'product-info:adult-warning' }, "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043E \u0432\u044B \u0441\u0442\u0430\u0440\u0448\u0435 18 \u043B\u0435\u0442, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0442\u043E\u0432\u0430\u0440.")) : (react_1.default.createElement(link_1.Link, { onClick: onClick, className: cx('link', 'line-clamp'), href: href, color: 'gray87', "data-testid": 'product-info:name-link' }, children));
107
+ return restriction === 'adult' ? (react_1.default.createElement("span", { className: cx('adult-info'), "data-testid": 'product-info:adult-warning' }, "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043E \u0432\u044B \u0441\u0442\u0430\u0440\u0448\u0435 18 \u043B\u0435\u0442, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0442\u043E\u0432\u0430\u0440.")) : (react_1.default.createElement(link_1.Link, { onClick: onClick, className: cx('link', 'line-clamp'), href: href, color: 'basic-gray87', "data-testid": 'product-info:name-link' }, children));
108
108
  };
109
109
  /** Слот для вывода ссылки торговой марки.
110
110
  * @param props Свойства.
111
111
  * @return Элемент.
112
112
  */
113
- const TrademarkLink = ({ href, children, onClick, }) => (react_1.default.createElement(link_1.Link, { className: cx('trademark-link'), href: href, children: children, onClick: onClick, color: 'brand-blue', "data-testid": 'product-info:trademark-link' }));
113
+ const TrademarkLink = ({ href, children, onClick, }) => (react_1.default.createElement(link_1.Link, { className: cx('trademark-link'), href: href, children: children, onClick: onClick, color: 'basic-blue', "data-testid": 'product-info:trademark-link' }));
114
114
  /**
115
115
  * Слот - футер.
116
116
  * @param props Свойства.
@@ -133,7 +133,7 @@ const CartControl = ({ children, stepText, markupText, loading, }) => (react_1.d
133
133
  */
134
134
  const AdultConfirmButton = (_a) => {
135
135
  var { className } = _a, props = __rest(_a, ["className"]);
136
- return (react_1.default.createElement(link_1.Link, Object.assign({}, props, { pseudo: true, color: 'brand-blue', className: cx('text-button', className), "data-testid": 'product-info:adult-confirm-button' }), "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C"));
136
+ return (react_1.default.createElement(link_1.Link, Object.assign({}, props, { pseudo: true, color: 'basic-blue', className: cx('text-button', className), "data-testid": 'product-info:adult-confirm-button' }), "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C"));
137
137
  };
138
138
  /**
139
139
  * Кнопка "В лист ожидания".
@@ -142,7 +142,7 @@ const AdultConfirmButton = (_a) => {
142
142
  */
143
143
  const WaitListAddButton = (_a) => {
144
144
  var { className } = _a, props = __rest(_a, ["className"]);
145
- return (react_1.default.createElement(link_1.Link, Object.assign({}, props, { pseudo: true, color: 'brand-blue', className: cx('text-button', className), "data-testid": 'product-info:wait-list-add-button' }), "\u0412 \u043B\u0438\u0441\u0442 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F"));
145
+ return (react_1.default.createElement(link_1.Link, Object.assign({}, props, { pseudo: true, color: 'basic-blue', className: cx('text-button', className), "data-testid": 'product-info:wait-list-add-button' }), "\u0412 \u043B\u0438\u0441\u0442 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F"));
146
146
  };
147
147
  /**
148
148
  * Текст со ссылкой "Товар добавлен в лист ожидания".
@@ -154,7 +154,7 @@ const WaitListAddedLink = (_a) => {
154
154
  return (react_1.default.createElement("span", { className: cx('wait-list-added-text') },
155
155
  "\u0422\u043E\u0432\u0430\u0440 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0432",
156
156
  ' ',
157
- react_1.default.createElement(link_1.Link, Object.assign({}, props, { color: 'brand-blue', className: cx('text-button', className), "data-testid": 'product-info:wait-list-added-link' }),
157
+ react_1.default.createElement(link_1.Link, Object.assign({}, props, { color: 'basic-blue', className: cx('text-button', className), "data-testid": 'product-info:wait-list-added-link' }),
158
158
  "\u043B\u0438\u0441\u0442",
159
159
  '\u00A0',
160
160
  "\u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F")));
@@ -6,10 +6,20 @@
6
6
  max-width: 100%;
7
7
  margin-bottom: 8px;
8
8
  overflow: hidden;
9
- aspect-ratio: 1 / 1;
9
+
10
+ // формируем соотношение сторон 1 / 1
11
+ &::before {
12
+ content: '';
13
+ display: block;
14
+ padding-top: 100%;
15
+ pointer-events: none;
16
+ }
10
17
  }
11
18
 
12
19
  .image-link {
20
+ position: absolute;
21
+ top: 0;
22
+ left: 0;
13
23
  display: block;
14
24
  height: 100%;
15
25
  }
@@ -19,12 +29,10 @@
19
29
  object-fit: contain;
20
30
  width: 100%;
21
31
  height: 100%;
22
- &:not(.adult) {
32
+ &.adult {
23
33
  position: absolute;
24
34
  top: 0;
25
35
  left: 0;
26
- }
27
- &.adult {
28
36
  opacity: 0.2;
29
37
  filter: blur(24px);
30
38
  pointer-events: none;
@@ -38,7 +46,7 @@
38
46
  top: 50%;
39
47
  left: 50%;
40
48
  transform: translate(-50%, -50%);
41
- fill: colors.$gray38;
49
+ fill: colors.$basic-gray38;
42
50
  }
43
51
 
44
52
  .image-buttons {
@@ -72,7 +80,7 @@
72
80
  display: none;
73
81
  }
74
82
  &:hover {
75
- fill: colors.$gray54;
83
+ fill: colors.$basic-gray54;
76
84
  }
77
85
  @include breakpoints.down('ml') {
78
86
  --gutter: 4px;
@@ -131,7 +139,7 @@
131
139
  max-width: 100%;
132
140
  font-size: 14px;
133
141
  line-height: 20px;
134
- color: colors.$gray87;
142
+ color: colors.$basic-gray87;
135
143
  }
136
144
 
137
145
  .trademark-link {
@@ -167,7 +175,7 @@
167
175
  font-size: 16px;
168
176
  line-height: 24px;
169
177
  font-weight: 600;
170
- color: colors.$gray24;
178
+ color: colors.$basic-gray24;
171
179
  @include breakpoints.down('ml') {
172
180
  font-size: 14px;
173
181
  line-height: 20px;
@@ -181,13 +189,13 @@
181
189
  margin-top: 16px;
182
190
  &.loading {
183
191
  .control {
184
- background: colors.$gray4;
192
+ background: colors.$basic-gray4;
185
193
  border-radius: 4px;
186
194
  }
187
195
  .unit-text::before {
188
196
  content: '';
189
197
  display: block;
190
- background: colors.$gray4;
198
+ background: colors.$basic-gray4;
191
199
  border-radius: 4px;
192
200
  width: 48px;
193
201
  height: 16px;
@@ -205,12 +213,12 @@
205
213
  padding-top: 12px; // чтобы при переносе на следующую строку правильно отступил от кнопки
206
214
  font-size: 12px;
207
215
  line-height: 16px;
208
- color: colors.$gray38;
216
+ color: colors.$basic-gray38;
209
217
  }
210
218
 
211
219
  .bottom-text {
212
220
  margin-top: 12px;
213
221
  font-size: 12px;
214
222
  line-height: 16px;
215
- color: colors.$gray38;
223
+ color: colors.$basic-gray38;
216
224
  }
@@ -4,9 +4,9 @@
4
4
  display: block;
5
5
  overflow: visible;
6
6
  stroke-width: 1;
7
- stroke: colors.$gray4;
8
- fill: colors.$gray87;
7
+ stroke: colors.$basic-gray4;
8
+ fill: colors.$basic-gray87;
9
9
  &:hover {
10
- fill: colors.$gray54;
10
+ fill: colors.$basic-gray54;
11
11
  }
12
12
  }
@@ -4,9 +4,9 @@
4
4
  overflow: visible;
5
5
  stroke-width: 1;
6
6
  stroke: #f5f5f5;
7
- fill: colors.$gray87;
7
+ fill: colors.$basic-gray87;
8
8
  &:hover {
9
- fill: colors.$gray54;
9
+ fill: colors.$basic-gray54;
10
10
  }
11
11
  &.checked {
12
12
  fill: colors.$additional-red;
@@ -63,12 +63,12 @@ $line-gutter: 12px;
63
63
  margin-top: 8px;
64
64
  }
65
65
  .active {
66
- color: colors.$gray24;
66
+ color: colors.$basic-gray24;
67
67
  }
68
68
  }
69
69
 
70
70
  .sibling-placeholder {
71
- background: colors.$gray4;
71
+ background: colors.$basic-gray4;
72
72
  border-radius: 4px;
73
73
  height: 12px;
74
74
  & + & {
@@ -55,7 +55,7 @@ const Breadcrumb = ({ data, onSiblingsPopupOpen, isSiblingActive, }) => {
55
55
  return (0, on_1.default)(window, 'mousedown', togglePopup.bind(null, false));
56
56
  }
57
57
  }, [withPopup]);
58
- const selfName = (react_1.default.createElement(link_1.Link, { color: 'gray87', href: data.url }, data.name));
58
+ const selfName = (react_1.default.createElement(link_1.Link, { color: 'basic-gray87', href: data.url }, data.name));
59
59
  return (react_1.default.createElement("div", { "data-testid": 'breadcrumb', className: cx('breadcrumb') },
60
60
  selfName,
61
61
  data.siblings && (react_1.default.createElement(react_1.default.Fragment, null,
@@ -75,5 +75,5 @@ const Breadcrumb = ({ data, onSiblingsPopupOpen, isSiblingActive, }) => {
75
75
  react_1.default.createElement(square_arrow_down_svg_1.default, { "data-testid": 'breadcrumb:siblings-closer', className: cx('toggle-icon', 'close'), onClick: () => togglePopup(false) })),
76
76
  react_1.default.createElement("ul", { className: cx('siblings') },
77
77
  data.siblings.state === 'fetching' && (react_1.default.createElement(react_1.default.Fragment, null, (0, lodash_1.times)(8).map(index => (react_1.default.createElement("div", { key: index, className: cx('sibling-placeholder') }))))),
78
- data.siblings.state === 'ready' && (react_1.default.createElement(react_1.default.Fragment, null, (_a = data.siblings.data) === null || _a === void 0 ? void 0 : _a.map((sibling, index) => (react_1.default.createElement("li", { key: index, className: cx('sibling'), "data-testid": 'breadcrumb-sibling' }, isSiblingActive(sibling) ? (react_1.default.createElement("span", { className: cx('active') }, sibling.name)) : (react_1.default.createElement(link_1.Link, { color: 'gray87', className: cx('link'), href: sibling.url, children: sibling.name }))))))))))))));
78
+ data.siblings.state === 'ready' && (react_1.default.createElement(react_1.default.Fragment, null, (_a = data.siblings.data) === null || _a === void 0 ? void 0 : _a.map((sibling, index) => (react_1.default.createElement("li", { key: index, className: cx('sibling'), "data-testid": 'breadcrumb-sibling' }, isSiblingActive(sibling) ? (react_1.default.createElement("span", { className: cx('active') }, sibling.name)) : (react_1.default.createElement(link_1.Link, { color: 'basic-gray87', className: cx('link'), href: sibling.url, children: sibling.name }))))))))))))));
79
79
  };
@@ -37,16 +37,16 @@
37
37
  border: 0;
38
38
  padding: 0;
39
39
  color: #fff;
40
- background: colors.$brand-blue;
40
+ background: colors.$basic-blue;
41
41
  }
42
42
  .pause:not(:hover) {
43
- background: rgba(colors.$brand-blue, 0.4);
43
+ background: rgba(colors.$basic-blue, 0.4);
44
44
  }
45
45
  .turn {
46
46
  width: 32px;
47
47
  height: 32px;
48
- border: 2px solid colors.$gray24;
49
- color: colors.$gray24;
48
+ border: 2px solid colors.$basic-gray24;
49
+ color: colors.$basic-gray24;
50
50
  background: transparent;
51
51
  &:disabled {
52
52
  opacity: 0;
@@ -13,7 +13,7 @@
13
13
  margin-left: 16px;
14
14
  overflow: hidden;
15
15
  text-overflow: ellipsis;
16
- color: colors.$gray24;
16
+ color: colors.$basic-gray24;
17
17
  }
18
18
 
19
19
  .link {
@@ -1,7 +1,7 @@
1
1
  @use 'node_modules/@sima-land/ui-nucleons/colors';
2
2
 
3
3
  .root {
4
- --thumbnail-color: #{colors.$gray12};
4
+ --thumbnail-color: #{colors.$basic-gray12};
5
5
  background: transparent;
6
6
  border-radius: 4px;
7
7
  border: 0;
@@ -27,10 +27,10 @@
27
27
  width: 100%;
28
28
  }
29
29
  &.iconic:not(.checked):hover {
30
- --thumbnail-color: #{colors.$gray54};
30
+ --thumbnail-color: #{colors.$basic-gray54};
31
31
  }
32
32
  &.checked {
33
- --thumbnail-color: #{colors.$brand-blue};
33
+ --thumbnail-color: #{colors.$basic-blue};
34
34
  }
35
35
  .image-overlay {
36
36
  height: 100%;
@@ -21,13 +21,13 @@
21
21
  width: 100%;
22
22
  height: 100%;
23
23
  border-radius: inherit;
24
- box-shadow: inset 0 0 0 1px colors.$gray12;
24
+ box-shadow: inset 0 0 0 1px colors.$basic-gray12;
25
25
  }
26
26
  &:hover::before {
27
- box-shadow: inset 0 0 0 2px colors.$gray12;
27
+ box-shadow: inset 0 0 0 2px colors.$basic-gray12;
28
28
  }
29
29
  &.selected::before {
30
- box-shadow: inset 0 0 0 2px colors.$brand-blue;
30
+ box-shadow: inset 0 0 0 2px colors.$basic-blue;
31
31
  }
32
32
  }
33
33
 
@@ -67,12 +67,12 @@
67
67
  line-height: 16px;
68
68
  border-radius: 32px;
69
69
  background-color: #fff;
70
- color: colors.$gray54;
70
+ color: colors.$basic-gray54;
71
71
  font-size: 12px;
72
72
  font-weight: 500;
73
73
  box-sizing: border-box;
74
74
  &.with-count {
75
- background-color: colors.$brand-blue;
75
+ background-color: colors.$basic-blue;
76
76
  color: #fff;
77
77
  }
78
78
  &:not(.with-count) {
@@ -2,22 +2,35 @@
2
2
  import React, { Component } from 'react';
3
3
  import { ModifierButtonProps, Modifier } from '../button';
4
4
  declare type ModifierPredicate<T> = (item: Modifier) => T;
5
- interface State {
5
+ interface ModifiersGroupState {
6
6
  needShowAll: boolean;
7
7
  hasHiddenNodes: boolean;
8
8
  lastVisibleChildIndex: number | null;
9
9
  }
10
10
  export interface ModifiersGroupProps {
11
+ /** Список модификаторов. */
11
12
  items?: Modifier[];
13
+ /** Флаг необходимости отображения всех модификаторов. */
14
+ needShowAll?: boolean;
15
+ /** Будет вызвана при выборе модификатора, получит сам модификатор. */
12
16
  onSelectItem?: (item: Modifier, selected: boolean) => void;
17
+ /** Возвращает тип модификатора ("text" или "image", по умолчанию "text"). */
13
18
  getItemType?: ModifierPredicate<ModifierButtonProps['type']>;
19
+ /** Возвращает число с количеством модификатора (по умолчанию свойство "count"). */
14
20
  getItemCount?: ModifierPredicate<number>;
21
+ /** Возвращает цвет модификатора (по умолчанию свойство "color"). */
15
22
  getItemColor?: ModifierPredicate<string>;
23
+ /** Возвращает содержимое модификатора (по умолчанию свойство "content"). */
16
24
  getItemContent?: ModifierPredicate<string>;
25
+ /** Показывает, выбран ли модификатор (по умолчанию свойство "selected"). */
17
26
  isSelectedItem?: ModifierPredicate<boolean>;
27
+ /** Возвращает URL изображения модификатора (по умолчанию свойство "image"). */
18
28
  getItemImage?: ModifierPredicate<string>;
29
+ /** Имеет ли товар уценку. */
19
30
  isMarkdown?: ModifierPredicate<boolean>;
31
+ /** Сработает при нажатии на кнопку отображения всех модификаторов. */
20
32
  onClickShowAll?: () => void;
33
+ /** Идентификатор для систем автоматизированного тестирования. */
21
34
  'data-testid'?: string;
22
35
  }
23
36
  /**
@@ -27,24 +40,12 @@ export interface ModifiersGroupProps {
27
40
  */
28
41
  export declare const createHiddenNodeIndexFinder: (container: HTMLElement) => (childNode: HTMLElement) => boolean;
29
42
  /**
30
- * Возвращает компонент списка модификаторов.
31
- * @param {Object} props Свойства компонента.
32
- * @param {Array} props.items Список модификаторов.
33
- * @param {Function} [props.getItemType] Возвращает тип модификатора ("text" или "image", по умолчанию "text").
34
- * @param {Function} [props.getItemCount] Возвращает число с количеством модификатора (по умолчанию свойство "count").
35
- * @param {Function} [props.getItemColor] Возвращает цвет модификатора (по умолчанию свойство "color").
36
- * @param {Function} [props.getItemContent] Возвращает содержимое модификатора (по умолчанию свойство "content").
37
- * @param {Function} [props.isSelectedItem] Показывает, выбран ли модификатор (по умолчанию свойство "selected").
38
- * @param {Function} [props.onSelectItem] Будет вызвана при выборе модификатора, получит сам модификатор.
39
- * @param {Function} [props.getItemImage] Возвращает URL изображения модификатора (по умолчанию свойство "image").
40
- * @param {boolean} [props.needShowAll] Флаг необходимости отображения всех модификаторов.
41
- * @param {Function} [props.onClickShowAll] Сработает при нажатии на кнопку отображения всех модификаторов.
42
- * @param {Function} [props.isMarkdown] Имеет ли товар уценку.
43
+ * Компонент списка модификаторов.
43
44
  */
44
- export declare class ModifiersGroup extends Component<ModifiersGroupProps, State> {
45
+ export declare class ModifiersGroup extends Component<ModifiersGroupProps, ModifiersGroupState> {
45
46
  removeGlobalListener: any;
46
47
  state: {
47
- needShowAll: any;
48
+ needShowAll: boolean;
48
49
  hasHiddenNodes: boolean;
49
50
  lastVisibleChildIndex: null;
50
51
  };
@@ -56,19 +56,7 @@ const defaultIsSelectedItem = (0, prop_1.default)('selected');
56
56
  const defaultGetItemImage = (0, prop_1.default)('image');
57
57
  const defaultGetIsMarkdown = (0, prop_1.default)('isMarkdown');
58
58
  /**
59
- * Возвращает компонент списка модификаторов.
60
- * @param {Object} props Свойства компонента.
61
- * @param {Array} props.items Список модификаторов.
62
- * @param {Function} [props.getItemType] Возвращает тип модификатора ("text" или "image", по умолчанию "text").
63
- * @param {Function} [props.getItemCount] Возвращает число с количеством модификатора (по умолчанию свойство "count").
64
- * @param {Function} [props.getItemColor] Возвращает цвет модификатора (по умолчанию свойство "color").
65
- * @param {Function} [props.getItemContent] Возвращает содержимое модификатора (по умолчанию свойство "content").
66
- * @param {Function} [props.isSelectedItem] Показывает, выбран ли модификатор (по умолчанию свойство "selected").
67
- * @param {Function} [props.onSelectItem] Будет вызвана при выборе модификатора, получит сам модификатор.
68
- * @param {Function} [props.getItemImage] Возвращает URL изображения модификатора (по умолчанию свойство "image").
69
- * @param {boolean} [props.needShowAll] Флаг необходимости отображения всех модификаторов.
70
- * @param {Function} [props.onClickShowAll] Сработает при нажатии на кнопку отображения всех модификаторов.
71
- * @param {Function} [props.isMarkdown] Имеет ли товар уценку.
59
+ * Компонент списка модификаторов.
72
60
  */
73
61
  class ModifiersGroup extends react_1.Component {
74
62
  constructor() {
@@ -28,7 +28,7 @@
28
28
 
29
29
  .show-all-button {
30
30
  width: $minSize;
31
- color: colors.$brand-blue;
31
+ color: colors.$basic-blue;
32
32
  }
33
33
 
34
34
  .not-display {
@@ -28,7 +28,7 @@ const PersonModal = ({ name, appointment, photoUrl, email, skype, social, phoneH
28
28
  react_1.default.createElement(box_1.Box, { marginBottom: 6 },
29
29
  react_1.default.createElement(user_1.UserAvatar, { title: name, imageUrl: photoUrl, size: 104 })),
30
30
  react_1.default.createElement(box_1.Box, { marginBottom: 1 },
31
- react_1.default.createElement(text_1.Text, { color: 'gray38', size: 14, weight: 400 }, appointment)),
31
+ react_1.default.createElement(text_1.Text, { color: 'basic-gray38', size: 14, weight: 400 }, appointment)),
32
32
  react_1.default.createElement("div", { className: cx('name') }, name),
33
33
  arbitraryLinkProps && (react_1.default.createElement(box_1.Box, { marginTop: 2 },
34
34
  react_1.default.createElement(text_1.Text, { size: 12, weight: 600 },
@@ -36,18 +36,18 @@ const PersonModal = ({ name, appointment, photoUrl, email, skype, social, phoneH
36
36
  react_1.default.createElement("div", { className: cx('contacts') },
37
37
  email && (react_1.default.createElement("span", { className: cx('contacts-item') },
38
38
  'Email: ',
39
- react_1.default.createElement(link_1.Link, { color: 'gray87', href: `mailto:${email}`, children: email }))),
39
+ react_1.default.createElement(link_1.Link, { color: 'basic-gray87', href: `mailto:${email}`, children: email }))),
40
40
  Array.isArray(social) && social.length > 0 && (react_1.default.createElement("span", { className: cx('contacts-item') },
41
41
  "\u0421\u043E\u0446. \u0441\u0435\u0442\u0438:",
42
42
  ' ',
43
- social.map((props, key) => (react_1.default.createElement(link_1.Link, Object.assign({ className: cx('inline'), key: key, color: 'gray87', target: '_blank', rel: 'nofollow' }, props)))))),
43
+ social.map((props, key) => (react_1.default.createElement(link_1.Link, Object.assign({ className: cx('inline'), key: key, color: 'basic-gray87', target: '_blank', rel: 'nofollow' }, props)))))),
44
44
  skype && (react_1.default.createElement("span", { className: cx('contacts-item') },
45
45
  'Skype: ',
46
- react_1.default.createElement(link_1.Link, { color: 'gray87', href: `skype:${skype}`, children: skype }))),
46
+ react_1.default.createElement(link_1.Link, { color: 'basic-gray87', href: `skype:${skype}`, children: skype }))),
47
47
  phoneText && (react_1.default.createElement("span", { className: cx('contacts-item') },
48
- react_1.default.createElement(link_1.Link, { color: 'gray87', href: phoneHref, children: phoneText }))),
48
+ react_1.default.createElement(link_1.Link, { color: 'basic-gray87', href: phoneHref, children: phoneText }))),
49
49
  secondPhoneText && (react_1.default.createElement("span", { className: cx('contacts-item') },
50
- react_1.default.createElement(link_1.Link, { color: 'gray87', href: secondPhoneHref, children: secondPhoneText })))))),
50
+ react_1.default.createElement(link_1.Link, { color: 'basic-gray87', href: secondPhoneHref, children: secondPhoneText })))))),
51
51
  react_1.default.createElement(modal_1.Modal.Footer, { divided: true },
52
52
  react_1.default.createElement(clean_buttons_1.Clean.Group, null,
53
53
  react_1.default.createElement(clean_buttons_1.Clean.Button, { onClick: onClose }, "\u0417\u0430\u043A\u0440\u044B\u0442\u044C")))));
@@ -29,7 +29,7 @@
29
29
  font-weight: normal;
30
30
  font-size: 14px;
31
31
  line-height: 20px;
32
- color: colors.$gray87;
32
+ color: colors.$basic-gray87;
33
33
  & + & {
34
34
  margin-top: 8px;
35
35
  }
@@ -26,7 +26,7 @@
26
26
  position: relative;
27
27
  width: 100%;
28
28
  padding-top: variables.$banner-height;
29
- background: colors.$gray8;
29
+ background: colors.$basic-gray8;
30
30
  border-radius: 8px 8px 0 0;
31
31
  overflow: hidden;
32
32
 
@@ -52,7 +52,7 @@
52
52
  font-weight: bold;
53
53
  font-size: 48px;
54
54
  line-height: 60px;
55
- color: colors.$gray76;
55
+ color: colors.$basic-gray76;
56
56
  padding: 24px;
57
57
  @include breakpoints.down('xs') {
58
58
  padding: 16px;
@@ -61,7 +61,7 @@
61
61
 
62
62
  .info {
63
63
  padding: 16px;
64
- color: colors.$gray87;
64
+ color: colors.$basic-gray87;
65
65
  }
66
66
 
67
67
  .header {
@@ -82,7 +82,7 @@
82
82
  .subtitle {
83
83
  font-size: 14px;
84
84
  line-height: 20px;
85
- color: colors.$gray38;
85
+ color: colors.$basic-gray38;
86
86
  margin-top: 4px;
87
87
  display: -webkit-box;
88
88
  -webkit-line-clamp: 2;
@@ -2,7 +2,7 @@
2
2
  @use './variables';
3
3
 
4
4
  .part {
5
- background: colors.$gray4;
5
+ background: colors.$basic-gray4;
6
6
  border-radius: 4px;
7
7
  & + & {
8
8
  margin-top: 12px;
@@ -17,6 +17,6 @@
17
17
  &:not(:last-child)::after {
18
18
  content: '/';
19
19
  margin-left: 4px;
20
- color: colors.$gray87;
20
+ color: colors.$basic-gray87;
21
21
  }
22
22
  }
@@ -7,5 +7,5 @@ exports.Breadcrumbs = void 0;
7
7
  const link_1 = require("@sima-land/ui-nucleons/link");
8
8
  const react_1 = __importDefault(require("react"));
9
9
  const breadcrumbs_module_scss_1 = __importDefault(require("./breadcrumbs.module.scss"));
10
- const Breadcrumbs = ({ items }) => (react_1.default.createElement("nav", { className: breadcrumbs_module_scss_1.default.root }, items.map((item, index) => (react_1.default.createElement(link_1.Link, { key: index, href: item.url, color: 'gray87', className: breadcrumbs_module_scss_1.default.item }, item.name)))));
10
+ const Breadcrumbs = ({ items }) => (react_1.default.createElement("nav", { className: breadcrumbs_module_scss_1.default.root }, items.map((item, index) => (react_1.default.createElement(link_1.Link, { key: index, href: item.url, color: 'basic-gray87', className: breadcrumbs_module_scss_1.default.item }, item.name)))));
11
11
  exports.Breadcrumbs = Breadcrumbs;
@@ -32,7 +32,7 @@ const ModifierItem = ({ name, selected, type = 'text', color, image, price, curr
32
32
  react_1.default.createElement("div", { className: (0, exports.cx)('info') },
33
33
  react_1.default.createElement("span", { className: (0, exports.cx)('name') }, name),
34
34
  Boolean(price) && (react_1.default.createElement(price_1.Price, { value: price, currencyGrapheme: currencyGrapheme, className: (0, exports.cx)('price', additionalText && 'additional') })),
35
- Boolean(additionalText) && (react_1.default.createElement(text_1.Text, { color: 'gray38', children: additionalText, size: 12, lineHeight: 16 }))),
35
+ Boolean(additionalText) && (react_1.default.createElement(text_1.Text, { color: 'basic-gray38', children: additionalText, size: 12, lineHeight: 16 }))),
36
36
  react_1.default.createElement("div", { className: (0, exports.cx)('icon-wrapper') }, selected && (react_1.default.createElement("div", { className: (0, exports.cx)('icon') },
37
37
  react_1.default.createElement(check_1.default, { fill: '#fff', role: 'presentation' }))))));
38
38
  exports.ModifierItem = ModifierItem;
@@ -7,10 +7,10 @@
7
7
  padding: 16px;
8
8
  width: 100%;
9
9
  &:not(:last-child) {
10
- box-shadow: inset 0 -1px 0 colors.$gray12;
10
+ box-shadow: inset 0 -1px 0 colors.$basic-gray12;
11
11
  }
12
12
  &.selected {
13
- background: colors.$gray4;
13
+ background: colors.$basic-gray4;
14
14
  cursor: auto;
15
15
  pointer-events: none;
16
16
  }
@@ -1,7 +1,7 @@
1
1
  @use 'node_modules/@sima-land/ui-nucleons/colors';
2
2
 
3
3
  .sizes-table-wrapper {
4
- box-shadow: inset 0 -1px 0 colors.$gray12;
4
+ box-shadow: inset 0 -1px 0 colors.$basic-gray12;
5
5
  padding: 16px;
6
6
  font-size: 16px;
7
7
  font-weight: 500;
@@ -73,8 +73,8 @@ exports.PersonScreen = PersonScreen;
73
73
  */
74
74
  const CommunicateLink = ({ href, primaryText, secondaryText, icon, }) => (react_1.default.createElement("a", { href: href, className: cx('item', borders_1.InnerBorder.top) },
75
75
  react_1.default.createElement(box_1.Box, { flex: 'grow' },
76
- react_1.default.createElement(text_1.Text, { size: 16, lineHeight: 24, color: 'gray87', weight: 600 }, primaryText),
76
+ react_1.default.createElement(text_1.Text, { size: 16, lineHeight: 24, color: 'basic-gray87', weight: 600 }, primaryText),
77
77
  react_1.default.createElement(box_1.Box, { marginTop: 1 },
78
- react_1.default.createElement(text_1.Text, { size: 14, lineHeight: 20, color: 'gray38' }, secondaryText))),
78
+ react_1.default.createElement(text_1.Text, { size: 14, lineHeight: 20, color: 'basic-gray38' }, secondaryText))),
79
79
  react_1.default.createElement("div", { className: cx('icon-circle') }, icon)));
80
80
  exports.CommunicateLink = CommunicateLink;
@@ -25,7 +25,7 @@
25
25
  font-size: 20px;
26
26
  line-height: 28px;
27
27
  font-weight: 500;
28
- color: $gray87;
28
+ color: $basic-gray87;
29
29
  word-wrap: break-word;
30
30
  -webkit-line-clamp: 2;
31
31
  -webkit-box-orient: vertical;
@@ -44,7 +44,7 @@
44
44
  text-align: center;
45
45
  font-size: 14px;
46
46
  line-height: 20px;
47
- color: $gray38;
47
+ color: $basic-gray38;
48
48
  @media (min-width: 601px) {
49
49
  max-width: none;
50
50
  margin: 8px auto 0;
@@ -65,7 +65,7 @@
65
65
  font-weight: 500;
66
66
  font-size: 14px;
67
67
  line-height: 20px;
68
- color: $brand-blue;
68
+ color: $basic-blue;
69
69
  }
70
70
  }
71
71
 
@@ -96,7 +96,7 @@
96
96
  }
97
97
 
98
98
  .icon-circle {
99
- background: $gray4;
99
+ background: $basic-gray4;
100
100
  border-radius: 50%;
101
101
  width: 48px;
102
102
  height: 48px;
@@ -19,7 +19,7 @@ const cx = bind_1.default.bind(product_actions_alert_module_scss_1.default);
19
19
  const ProductActionsAlert = ({ buttons, alertProps, onClose }) => (react_1.default.createElement(alert_1.Alert, Object.assign({}, alertProps, { footer: react_1.default.createElement(clean_buttons_1.Clean.Group, null,
20
20
  react_1.default.createElement(clean_buttons_1.Clean.Button, { onClick: onClose }, "\u0417\u0430\u043A\u0440\u044B\u0442\u044C")) }),
21
21
  react_1.default.createElement("div", { className: cx('buttons') }, buttons &&
22
- buttons.map(({ text, icon, onClick, href }, key) => (react_1.default.createElement(link_1.Link, { href: href, className: cx('button'), key: key, color: 'gray87', onClick: onClick },
22
+ buttons.map(({ text, icon, onClick, href }, key) => (react_1.default.createElement(link_1.Link, { href: href, className: cx('button'), key: key, color: 'basic-gray87', onClick: onClick },
23
23
  react_1.default.createElement("div", { className: cx('icon-wrapper') }, icon),
24
24
  text))))));
25
25
  exports.ProductActionsAlert = ProductActionsAlert;
@@ -4,7 +4,7 @@
4
4
  display: flex;
5
5
  justify-content: center;
6
6
  flex-direction: column;
7
- background-color: $white;
7
+ background-color: #fff;
8
8
  border-radius: 8px;
9
9
  }
10
10
 
@@ -27,7 +27,7 @@
27
27
  display: flex;
28
28
  align-items: center;
29
29
  justify-content: center;
30
- background: $gray4;
30
+ background: $basic-gray4;
31
31
  width: 56px;
32
32
  height: 56px;
33
33
  border-radius: 50%;
@@ -41,10 +41,10 @@ const ProductRow = ({ itemUrl, imageUrl, name, sid, isWished, count, unit, initi
41
41
  react_1.default.createElement("img", { src: imageUrl, className: cx('image') })),
42
42
  onWishButtonClick && (react_1.default.createElement(wish_button_1.WishButton, { onClick: onWishButtonClick, className: cx('wish-button', { 'is-wished': isWished }), width: 20, height: 20, checked: isWished, disabled: isFetchingWishItems }))),
43
43
  react_1.default.createElement("div", { className: cx('info-column') },
44
- react_1.default.createElement(link_1.Link, { href: itemUrl, className: cx('link'), color: 'gray87' },
44
+ react_1.default.createElement(link_1.Link, { href: itemUrl, className: cx('link'), color: 'basic-gray87' },
45
45
  react_1.default.createElement(text_1.Text, { weight: 600 }, name)),
46
46
  react_1.default.createElement(box_1.Box, { marginTop: 2 },
47
- react_1.default.createElement(text_1.Text, { color: 'gray38' },
47
+ react_1.default.createElement(text_1.Text, { color: 'basic-gray38' },
48
48
  "\u0410\u0440\u0442.: ",
49
49
  sid)),
50
50
  Boolean(initialCount) && (react_1.default.createElement(box_1.Box, { marginTop: 2 },
@@ -59,12 +59,12 @@ const ProductRow = ({ itemUrl, imageUrl, name, sid, isWished, count, unit, initi
59
59
  react_1.default.createElement(text_1.Text, { element: 'div', weight: 600 },
60
60
  react_1.default.createElement(price_1.Price, { value: commonPrice, currencyGrapheme: currencyGrapheme })))),
61
61
  Boolean(movedOrderId) && (react_1.default.createElement(box_1.Box, { marginTop: 2 },
62
- react_1.default.createElement(text_1.Text, { element: 'div', color: 'gray38' }, "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D \u0432 \u0437\u0430\u043A\u0430\u0437"),
62
+ react_1.default.createElement(text_1.Text, { element: 'div', color: 'basic-gray38' }, "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D \u0432 \u0437\u0430\u043A\u0430\u0437"),
63
63
  react_1.default.createElement(link_1.Link, null,
64
64
  "\u2116",
65
65
  movedOrderId))),
66
66
  notInStock && (react_1.default.createElement(box_1.Box, { marginTop: 2 },
67
- react_1.default.createElement(text_1.Text, { element: 'div', color: 'gray38' }, "\u041D\u0435\u0442 \u043D\u0430 \u0441\u043A\u043B\u0430\u0434\u0435")))),
67
+ react_1.default.createElement(text_1.Text, { element: 'div', color: 'basic-gray38' }, "\u041D\u0435\u0442 \u043D\u0430 \u0441\u043A\u043B\u0430\u0434\u0435")))),
68
68
  react_1.default.createElement("div", { className: cx('action-button') },
69
69
  react_1.default.createElement(more_1.default, { onClick: onActionsClick }))));
70
70
  exports.ProductRow = ProductRow;
@@ -5,7 +5,7 @@
5
5
  padding: 16px 0;
6
6
  font-size: 14px;
7
7
  &:not(:last-of-type) {
8
- border-bottom: 1px solid colors.$gray12;
8
+ border-bottom: 1px solid colors.$basic-gray12;
9
9
  }
10
10
  }
11
11
 
@@ -6,13 +6,13 @@
6
6
  height: 40px;
7
7
  padding: 0 16px 0 12px;
8
8
  border-radius: 8px;
9
- background-color: colors.$gray4;
9
+ background-color: colors.$basic-gray4;
10
10
  }
11
11
 
12
12
  .icon {
13
13
  display: block;
14
14
  flex-shrink: 0;
15
- fill: colors.$gray38;
15
+ fill: colors.$basic-gray38;
16
16
  }
17
17
 
18
18
  .text {
@@ -20,5 +20,5 @@
20
20
  margin-left: 12px;
21
21
  font-size: 16px;
22
22
  line-height: 24px;
23
- color: colors.$gray38;
23
+ color: colors.$basic-gray38;
24
24
  }
@@ -72,7 +72,7 @@ const SearchBar = ({ inputMode, value, onChange, placeholder = 'Поиск', onC
72
72
  react_1.default.createElement("div", { className: (0, exports.cx)('buttons-container') }, startButtons.map((props, index) => (react_1.default.createElement(Button, Object.assign({}, props, { key: index }))))))),
73
73
  react_1.default.createElement("label", { className: (0, exports.cx)('input-wrapper') },
74
74
  withSearchIcon && (react_1.default.createElement("span", { className: (0, exports.cx)('search-icon') },
75
- react_1.default.createElement(search_1.default, { fill: colors_1.COLORS.get('gray38'), "aria-hidden": true }))),
75
+ react_1.default.createElement(search_1.default, { fill: colors_1.COLORS.get('basic-gray38'), "aria-hidden": true }))),
76
76
  react_1.default.createElement("div", { className: (0, exports.cx)('input-container') },
77
77
  react_1.default.createElement("input", { ref: inputRef, value: value, onChange: onChange, className: (0, exports.cx)('search-field'), placeholder: placeholder, autoFocus: autoFocus, "data-testid": 'search-bar-input', type: 'text', inputMode: inputMode, tabIndex: 0 }),
78
78
  description && (react_1.default.createElement("div", { className: (0, exports.cx)('description-container') },
@@ -80,7 +80,7 @@ const SearchBar = ({ inputMode, value, onChange, placeholder = 'Поиск', onC
80
80
  (0, lodash_1.isFunction)(onClear) && value && (react_1.default.createElement(link_1.Link, { onClick: event => {
81
81
  onClear(event);
82
82
  inputRef.current && inputRef.current.focus();
83
- }, pseudo: true, "aria-label": '\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C', "data-testid": 'search-bar:clear-icon', className: (0, exports.cx)('clear-icon'), children: react_1.default.createElement(cross_1.default, { fill: colors_1.COLORS.get('gray38'), "aria-hidden": true }) }))),
83
+ }, pseudo: true, "aria-label": '\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C', "data-testid": 'search-bar:clear-icon', className: (0, exports.cx)('clear-icon'), children: react_1.default.createElement(cross_1.default, { fill: colors_1.COLORS.get('basic-gray38'), "aria-hidden": true }) }))),
84
84
  Boolean(endButtons.length) && (react_1.default.createElement(react_1.default.Fragment, null,
85
85
  react_1.default.createElement("div", { className: (0, exports.cx)('after-field', needHideEndButtons && 'wide-screen') },
86
86
  react_1.default.createElement("div", { className: (0, exports.cx)('buttons-container') }, endButtons.map((props, index) => (react_1.default.createElement(Button, Object.assign({}, props, { key: index })))))),
@@ -103,6 +103,6 @@ exports.SearchBar = SearchBar;
103
103
  * @param props.iconColor Цвет иконки.
104
104
  * @return Элемент.
105
105
  */
106
- const Button = (0, react_1.forwardRef)(function Button({ text, icon: Icon, iconColor = 'gray87', onClick }, ref) {
106
+ const Button = (0, react_1.forwardRef)(function Button({ text, icon: Icon, iconColor = 'basic-gray87', onClick }, ref) {
107
107
  return (react_1.default.createElement("div", { ref: ref, onClick: onClick, className: (0, exports.cx)('button'), role: 'button', "data-testid": 'search-bar-button', tabIndex: 0, "aria-label": Icon && text }, Icon ? react_1.default.createElement(Icon, { fill: colors_1.COLORS.get(iconColor), "aria-hidden": 'true' }) : text));
108
108
  });
@@ -14,7 +14,7 @@
14
14
  flex-grow: 1;
15
15
  margin: 8px 0;
16
16
  width: 100%;
17
- background-color: $gray4;
17
+ background-color: $basic-gray4;
18
18
  border-radius: 8px;
19
19
  padding: 0 0 0 12px;
20
20
  &:focus-within {
@@ -55,7 +55,7 @@
55
55
  box-sizing: border-box;
56
56
  width: 100%;
57
57
  height: 40px;
58
- color: $black;
58
+ color: #000;
59
59
  white-space: nowrap;
60
60
  overflow: hidden;
61
61
  text-overflow: ellipsis;
@@ -64,14 +64,14 @@
64
64
  display: none;
65
65
  }
66
66
  &::placeholder {
67
- color: $gray38;
67
+ color: $basic-gray38;
68
68
  }
69
69
  }
70
70
 
71
71
  .description-container {
72
72
  line-height: 24px;
73
73
  font-size: 16px;
74
- color: $gray38;
74
+ color: $basic-gray38;
75
75
  width: 100%;
76
76
  max-width: 50%;
77
77
  display: flex;
@@ -125,7 +125,7 @@
125
125
  font-weight: 500;
126
126
  font-size: 14px;
127
127
  line-height: 20px;
128
- color: $brand-blue;
128
+ color: $basic-blue;
129
129
  cursor: pointer;
130
130
  display: flex;
131
131
  align-items: center;
@@ -1,5 +1,11 @@
1
1
  import React from 'react';
2
2
  import { LayoutProps } from '@sima-land/ui-nucleons/layout';
3
+ export declare type OptionSize = 's' | 'm' | 'l' | 'xl';
4
+ export interface SelectScreenOptionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
5
+ size?: OptionSize;
6
+ selected?: boolean;
7
+ withSelectedIcon?: boolean;
8
+ }
3
9
  export interface SelectScreenProps {
4
10
  items?: any[];
5
11
  getItemName?: (item: any) => string;
@@ -27,6 +33,4 @@ export interface SelectScreenProps {
27
33
  */
28
34
  export declare const SelectScreen: ({ items, getItemName, displayItem, isItemSelected, onItemClick, title, subtitle, onBack, onClose, }: SelectScreenProps) => JSX.Element;
29
35
  export declare const SelectScreenLayout: ({ children, ...props }: LayoutProps) => JSX.Element;
30
- export declare const SelectScreenOption: ({ children, className, selected, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement> & {
31
- selected?: boolean | undefined;
32
- }) => JSX.Element;
36
+ export declare const SelectScreenOption: ({ children, className, selected, withSelectedIcon, size, ...props }: SelectScreenOptionProps) => JSX.Element;
@@ -62,7 +62,7 @@ const SelectScreen = ({ items, getItemName = (0, prop_1.default)('name'), displa
62
62
  const isSelected = Boolean(isItemSelected(item));
63
63
  return (react_1.default.createElement(exports.SelectScreenOption, { key: index, onClick: () => onItemClick && onItemClick(item) },
64
64
  displayItem(item, { getItemName, isSelected }),
65
- isSelected && react_1.default.createElement(check_1.default, { fill: colors_1.COLORS.get('gray87') })));
65
+ isSelected && react_1.default.createElement(check_1.default, { fill: colors_1.COLORS.get('basic-gray87') })));
66
66
  })))));
67
67
  exports.SelectScreen = SelectScreen;
68
68
  const SelectScreenLayout = (_a) => {
@@ -72,10 +72,10 @@ const SelectScreenLayout = (_a) => {
72
72
  };
73
73
  exports.SelectScreenLayout = SelectScreenLayout;
74
74
  const SelectScreenOption = (_a) => {
75
- var { children, className, selected } = _a, props = __rest(_a, ["children", "className", "selected"]);
76
- return (react_1.default.createElement("button", Object.assign({}, props, { type: 'button', className: (0, classnames_1.default)(select_screen_module_scss_1.default.item, className), "data-testid": 'select-screen:option' }),
75
+ var { children, className, selected, withSelectedIcon = selected, size = 'm' } = _a, props = __rest(_a, ["children", "className", "selected", "withSelectedIcon", "size"]);
76
+ return (react_1.default.createElement("button", Object.assign({}, props, { type: 'button', className: (0, classnames_1.default)(select_screen_module_scss_1.default.item, className, select_screen_module_scss_1.default[`size-${size}`]), "data-testid": 'select-screen:option' }),
77
77
  children,
78
- selected && react_1.default.createElement(check_1.default, { fill: colors_1.COLORS.get('gray87') })));
78
+ selected && withSelectedIcon && react_1.default.createElement(check_1.default, { role: 'presentation', className: select_screen_module_scss_1.default.icon })));
79
79
  };
80
80
  exports.SelectScreenOption = SelectScreenOption;
81
81
  /**
@@ -86,4 +86,4 @@ exports.SelectScreenOption = SelectScreenOption;
86
86
  * @param options.getItemName Вернет имя опции.
87
87
  * @return Опция в текстовом виде.
88
88
  */
89
- const displayOption = (item, { getItemName }) => (react_1.default.createElement(text_1.Text, { size: 16, lineHeight: 24, color: 'gray87', children: getItemName(item) }));
89
+ const displayOption = (item, { getItemName }) => (react_1.default.createElement(text_1.Text, { size: 16, lineHeight: 24, color: 'basic-gray87', children: getItemName(item) }));
@@ -1,5 +1,5 @@
1
1
  @use 'node_modules/@sima-land/ui-nucleons/breakpoints';
2
- @import 'node_modules/@sima-land/ui-nucleons/colors';
2
+ @use 'node_modules/@sima-land/ui-nucleons/colors';
3
3
 
4
4
  .container {
5
5
  --gutter: 24px;
@@ -20,7 +20,7 @@
20
20
  align-items: center;
21
21
  justify-content: space-between;
22
22
  width: 100%;
23
- padding: 16px;
23
+ padding: 8px 16px;
24
24
  font-size: 16px;
25
25
  line-height: 24px;
26
26
  height: 48px;
@@ -29,7 +29,36 @@
29
29
  outline: 0;
30
30
  font: inherit;
31
31
  background-color: transparent;
32
+ text-align: left;
32
33
  &:active {
33
- background-color: $gray4;
34
+ background-color: colors.$basic-gray4;
34
35
  }
36
+ &:disabled {
37
+ color: colors.$basic-gray24;
38
+ .icon {
39
+ fill: colors.$basic-gray24;
40
+ }
41
+ }
42
+ }
43
+
44
+ .size-s {
45
+ height: 40px;
46
+ }
47
+
48
+ .size-m {
49
+ height: 48px;
50
+ }
51
+
52
+ .size-l {
53
+ height: 56px;
54
+ }
55
+
56
+ .size-xl {
57
+ height: 72px;
58
+ }
59
+
60
+ .icon {
61
+ display: block;
62
+ margin-left: 8px;
63
+ fill: colors.$basic-gray87;
35
64
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sima-land/moleculas",
3
- "version": "13.1.1",
3
+ "version": "13.2.1",
4
4
  "repository": "ssh://git@github.com:sima-land/moleculas.git",
5
5
  "author": "www.sima-land.ru team",
6
6
  "license": "Apache-2.0",
@@ -25,7 +25,7 @@
25
25
  "prettier:check": "prettier --check \"./src/**/*.{js,jsx,ts,tsx,css,scss}\" --loglevel error"
26
26
  },
27
27
  "dependencies": {
28
- "@sima-land/ui-nucleons": "^41.2.0",
28
+ "@sima-land/ui-nucleons": "^43.0.1",
29
29
  "@sima-land/ui-quarks": "^2.2.0",
30
30
  "classnames": "^2.3.1",
31
31
  "date-fns": "^2.26.0",