@sima-land/moleculas 13.2.0 → 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.
- package/common/components/product-info/parts.js +5 -5
- package/common/components/product-info/product-info.module.scss +8 -8
- package/common/components/quick-view-button/quick-view-button.module.scss +3 -3
- package/common/components/wish-button/wish-button.module.scss +2 -2
- package/desktop/components/breadcrumbs/breadcrumbs.module.scss +2 -2
- package/desktop/components/breadcrumbs/index.js +2 -2
- package/desktop/components/gallery-modal/components/all-round-view.module.scss +4 -4
- package/desktop/components/gallery-modal/components/review-info.module.scss +1 -1
- package/desktop/components/gallery-modal/components/thumbnail.module.scss +3 -3
- package/desktop/components/modifiers/button/modifier-button.module.scss +5 -5
- package/desktop/components/modifiers/group/modifiers-group.module.scss +1 -1
- package/desktop/components/person-modal/index.js +6 -6
- package/desktop/components/person-modal/person-modal.module.scss +1 -1
- package/desktop/components/promotion-card/index.module.scss +4 -4
- package/desktop/components/promotion-card/placeholder.module.scss +1 -1
- package/mobile/components/breadcrumbs/breadcrumbs.module.scss +1 -1
- package/mobile/components/breadcrumbs/index.js +1 -1
- package/mobile/components/modifiers-list/modifier-item/index.js +1 -1
- package/mobile/components/modifiers-list/modifier-item/modifier-item.module.scss +2 -2
- package/mobile/components/modifiers-list/modifiers-list.module.scss +1 -1
- package/mobile/components/person-screen/index.js +2 -2
- package/mobile/components/person-screen/person-screen.module.scss +4 -4
- package/mobile/components/product-actions-alert/index.js +1 -1
- package/mobile/components/product-actions-alert/product-actions-alert.module.scss +2 -2
- package/mobile/components/product-row/index.js +4 -4
- package/mobile/components/product-row/product-row.module.scss +1 -1
- package/mobile/components/pseudo-input/pseudo-input.module.scss +3 -3
- package/mobile/components/search-bar/index.js +3 -3
- package/mobile/components/search-bar/search-bar.module.scss +5 -5
- package/mobile/components/select-screen/index.js +2 -2
- package/mobile/components/select-screen/select-screen.module.scss +4 -4
- 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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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")));
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
top: 50%;
|
|
47
47
|
left: 50%;
|
|
48
48
|
transform: translate(-50%, -50%);
|
|
49
|
-
fill: colors.$gray38;
|
|
49
|
+
fill: colors.$basic-gray38;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
.image-buttons {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
display: none;
|
|
81
81
|
}
|
|
82
82
|
&:hover {
|
|
83
|
-
fill: colors.$gray54;
|
|
83
|
+
fill: colors.$basic-gray54;
|
|
84
84
|
}
|
|
85
85
|
@include breakpoints.down('ml') {
|
|
86
86
|
--gutter: 4px;
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
max-width: 100%;
|
|
140
140
|
font-size: 14px;
|
|
141
141
|
line-height: 20px;
|
|
142
|
-
color: colors.$gray87;
|
|
142
|
+
color: colors.$basic-gray87;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
.trademark-link {
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
font-size: 16px;
|
|
176
176
|
line-height: 24px;
|
|
177
177
|
font-weight: 600;
|
|
178
|
-
color: colors.$gray24;
|
|
178
|
+
color: colors.$basic-gray24;
|
|
179
179
|
@include breakpoints.down('ml') {
|
|
180
180
|
font-size: 14px;
|
|
181
181
|
line-height: 20px;
|
|
@@ -189,13 +189,13 @@
|
|
|
189
189
|
margin-top: 16px;
|
|
190
190
|
&.loading {
|
|
191
191
|
.control {
|
|
192
|
-
background: colors.$gray4;
|
|
192
|
+
background: colors.$basic-gray4;
|
|
193
193
|
border-radius: 4px;
|
|
194
194
|
}
|
|
195
195
|
.unit-text::before {
|
|
196
196
|
content: '';
|
|
197
197
|
display: block;
|
|
198
|
-
background: colors.$gray4;
|
|
198
|
+
background: colors.$basic-gray4;
|
|
199
199
|
border-radius: 4px;
|
|
200
200
|
width: 48px;
|
|
201
201
|
height: 16px;
|
|
@@ -213,12 +213,12 @@
|
|
|
213
213
|
padding-top: 12px; // чтобы при переносе на следующую строку правильно отступил от кнопки
|
|
214
214
|
font-size: 12px;
|
|
215
215
|
line-height: 16px;
|
|
216
|
-
color: colors.$gray38;
|
|
216
|
+
color: colors.$basic-gray38;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
.bottom-text {
|
|
220
220
|
margin-top: 12px;
|
|
221
221
|
font-size: 12px;
|
|
222
222
|
line-height: 16px;
|
|
223
|
-
color: colors.$gray38;
|
|
223
|
+
color: colors.$basic-gray38;
|
|
224
224
|
}
|
|
@@ -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.$
|
|
40
|
+
background: colors.$basic-blue;
|
|
41
41
|
}
|
|
42
42
|
.pause:not(:hover) {
|
|
43
|
-
background: rgba(colors.$
|
|
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;
|
|
@@ -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.$
|
|
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.$
|
|
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.$
|
|
75
|
+
background-color: colors.$basic-blue;
|
|
76
76
|
color: #fff;
|
|
77
77
|
}
|
|
78
78
|
&:not(.with-count) {
|
|
@@ -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")))));
|
|
@@ -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;
|
|
@@ -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
|
}
|
|
@@ -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: $
|
|
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:
|
|
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;
|
|
@@ -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:
|
|
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: $
|
|
128
|
+
color: $basic-blue;
|
|
129
129
|
cursor: pointer;
|
|
130
130
|
display: flex;
|
|
131
131
|
align-items: center;
|
|
@@ -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) => {
|
|
@@ -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) }));
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
background-color: transparent;
|
|
32
32
|
text-align: left;
|
|
33
33
|
&:active {
|
|
34
|
-
background-color: colors.$gray4;
|
|
34
|
+
background-color: colors.$basic-gray4;
|
|
35
35
|
}
|
|
36
36
|
&:disabled {
|
|
37
|
-
color: colors.$gray24;
|
|
37
|
+
color: colors.$basic-gray24;
|
|
38
38
|
.icon {
|
|
39
|
-
fill: colors.$gray24;
|
|
39
|
+
fill: colors.$basic-gray24;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
.icon {
|
|
61
61
|
display: block;
|
|
62
62
|
margin-left: 8px;
|
|
63
|
-
fill: colors.$gray87;
|
|
63
|
+
fill: colors.$basic-gray87;
|
|
64
64
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sima-land/moleculas",
|
|
3
|
-
"version": "13.2.
|
|
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": "^
|
|
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",
|