ecomlab-components-next 0.1.313 → 0.1.315

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.
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _ButtonBasicV = _interopRequireDefault(require("../../Buttons/ButtonBasicV2/ButtonBasicV2"));
11
+ var _useReveal = _interopRequireDefault(require("../../../common/hooks/useReveal"));
12
+ var _image = _interopRequireDefault(require("next/image"));
13
+ require("./FeaturesGridV3.scss");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
18
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
20
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
21
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
22
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
24
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
26
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
27
+ var FeaturesGridV3 = function FeaturesGridV3(_ref) {
28
+ var _window;
29
+ var _ref$list = _ref.list,
30
+ list = _ref$list === void 0 ? [] : _ref$list,
31
+ _ref$title = _ref.title,
32
+ title = _ref$title === void 0 ? '' : _ref$title,
33
+ _ref$description = _ref.description,
34
+ description = _ref$description === void 0 ? '' : _ref$description,
35
+ _ref$linkMain = _ref.linkMain,
36
+ linkMain = _ref$linkMain === void 0 ? 'https://lk.ecomru.ru' : _ref$linkMain,
37
+ _ref$onClick = _ref.onClick,
38
+ _onClick = _ref$onClick === void 0 ? false : _ref$onClick,
39
+ _ref$btnText = _ref.btnText,
40
+ btnText = _ref$btnText === void 0 ? 'Попробовать бесплатно' : _ref$btnText,
41
+ _ref$violet = _ref.violet,
42
+ violet = _ref$violet === void 0 ? false : _ref$violet,
43
+ _ref$dots = _ref.dots,
44
+ dots = _ref$dots === void 0 ? true : _ref$dots;
45
+ var blocksRef = (0, _react.useRef)([]);
46
+ var _useState = (0, _react.useState)(0),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ maxHeight = _useState2[0],
49
+ setMaxHeight = _useState2[1];
50
+ var _useState3 = (0, _react.useState)(typeof window !== 'undefined' ? window.innerWidth : 0),
51
+ _useState4 = _slicedToArray(_useState3, 2),
52
+ windowWidth = _useState4[0],
53
+ setWindowWidth = _useState4[1];
54
+ var current_query = typeof window !== 'undefined' ? (_window = window) === null || _window === void 0 || (_window = _window.location) === null || _window === void 0 ? void 0 : _window.search : '';
55
+
56
+ // Вызываем хук для анимации при скролле
57
+ (0, _useReveal["default"])();
58
+ var syncHeight = (0, _react.useCallback)(function () {
59
+ var heights = blocksRef.current.filter(function (el) {
60
+ return el && el.offsetHeight > 0;
61
+ }).map(function (el) {
62
+ return el.offsetHeight;
63
+ });
64
+ if (heights.length > 0) {
65
+ var next = Math.max.apply(Math, _toConsumableArray(heights));
66
+ if (next !== maxHeight) setMaxHeight(next);
67
+ }
68
+ }, [maxHeight]);
69
+ (0, _react.useEffect)(function () {
70
+ [0, 100, 300].forEach(function (d) {
71
+ return setTimeout(syncHeight, d);
72
+ });
73
+ var onResize = function onResize() {
74
+ setWindowWidth(window.innerWidth);
75
+ syncHeight();
76
+ };
77
+ window.addEventListener('resize', onResize);
78
+ return function () {
79
+ return window.removeEventListener('resize', onResize);
80
+ };
81
+ }, [syncHeight]);
82
+ return /*#__PURE__*/_react["default"].createElement("section", {
83
+ className: "features-grid-v3"
84
+ }, /*#__PURE__*/_react["default"].createElement("div", {
85
+ className: "features-grid-v3__inner"
86
+ }, /*#__PURE__*/_react["default"].createElement("div", {
87
+ className: "features-grid-v3__header reveal"
88
+ }, /*#__PURE__*/_react["default"].createElement("div", {
89
+ className: "features-grid-v3__header-left"
90
+ }, title && /*#__PURE__*/_react["default"].createElement("h2", {
91
+ className: "features-grid-v3__title"
92
+ }, title), description && /*#__PURE__*/_react["default"].createElement("p", {
93
+ className: "features-grid-v3__subtitle"
94
+ }, description)), /*#__PURE__*/_react["default"].createElement(_ButtonBasicV["default"], {
95
+ className: "features-grid-v3__btn",
96
+ size: '52px',
97
+ green: !violet,
98
+ violet: violet,
99
+ onClick: function onClick() {
100
+ if (_onClick) {
101
+ _onClick();
102
+ } else {
103
+ var _window2;
104
+ (_window2 = window) === null || _window2 === void 0 || _window2.open("".concat(linkMain, "/auth").concat(current_query), '_blank');
105
+ }
106
+ },
107
+ text: btnText
108
+ })), /*#__PURE__*/_react["default"].createElement("div", {
109
+ className: "features-grid-v3__items"
110
+ }, list === null || list === void 0 ? void 0 : list.map(function (_ref2, index) {
111
+ var title = _ref2.title,
112
+ description = _ref2.description,
113
+ icon = _ref2.icon;
114
+ return /*#__PURE__*/_react["default"].createElement("div", {
115
+ key: index,
116
+ className: "features-grid-v3__card reveal ".concat(violet ? 'features-grid-v3__card--violet' : ''),
117
+ "data-index": index
118
+ }, /*#__PURE__*/_react["default"].createElement("span", {
119
+ className: "features-grid-v3__card-number",
120
+ "aria-hidden": "true"
121
+ }, String(index + 1).padStart(2, '0')), icon && /*#__PURE__*/_react["default"].createElement("div", {
122
+ className: "features-grid-v3__card-icon"
123
+ }, /*#__PURE__*/_react["default"].createElement(_image["default"], {
124
+ src: icon,
125
+ alt: "icon"
126
+ })), /*#__PURE__*/_react["default"].createElement("div", {
127
+ className: "features-grid-v3__card-heading",
128
+ ref: function ref(el) {
129
+ blocksRef.current[index] = el;
130
+ },
131
+ style: {
132
+ minHeight: windowWidth > 430 && maxHeight > 0 ? maxHeight : undefined
133
+ }
134
+ }, title), Array.isArray(description) ? /*#__PURE__*/_react["default"].createElement("ul", {
135
+ className: "features-grid-v3__card-list ".concat(dots ? 'features-grid-v3__card-list--dots' : '')
136
+ }, description.map(function (item, i) {
137
+ return /*#__PURE__*/_react["default"].createElement("li", {
138
+ key: i,
139
+ className: "features-grid-v3__card-list-item"
140
+ }, item);
141
+ })) : /*#__PURE__*/_react["default"].createElement("p", {
142
+ className: "features-grid-v3__card-text"
143
+ }, description));
144
+ }))));
145
+ };
146
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(FeaturesGridV3);
@@ -0,0 +1,300 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
2
+ @import '../variables.scss';
3
+
4
+ .features-grid-v3 {
5
+ font-family: 'Manrope', sans-serif;
6
+ background: $bg;
7
+ width: 100%;
8
+ padding: 96px 40px;
9
+
10
+ * {
11
+ font-family: 'Manrope', 'Golos Text', sans-serif !important;
12
+ }
13
+
14
+ &__inner {
15
+ max-width: 1280px;
16
+ margin: 0 auto;
17
+ display: flex;
18
+ flex-direction: column;
19
+ gap: 56px;
20
+ }
21
+
22
+ &__header {
23
+ display: flex;
24
+ justify-content: space-between;
25
+ align-items: flex-end;
26
+ gap: 32px;
27
+ }
28
+
29
+ &__header-left {
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 12px;
33
+ }
34
+
35
+ &__title {
36
+ font-size: 30px;
37
+ font-weight: 800;
38
+ letter-spacing: -0.5px;
39
+ color: $text;
40
+ margin: 0;
41
+ }
42
+
43
+ &__subtitle {
44
+ font-size: 15px;
45
+ color: $muted;
46
+ line-height: 1.65;
47
+ max-width: 440px;
48
+ margin: 0;
49
+ }
50
+
51
+ &__items {
52
+ display: flex;
53
+ flex-wrap: wrap;
54
+ gap: 24px;
55
+ width: 100%;
56
+ }
57
+
58
+ &__card {
59
+ // цвет цифры и маркеров списка (по умолчанию зелёный)
60
+ --accent: #{$green};
61
+ --number: #{rgba($green, 0.09)};
62
+
63
+ position: relative;
64
+ isolation: isolate;
65
+ overflow: hidden;
66
+ flex: 1 1 0;
67
+ min-width: 180px;
68
+ background: $white;
69
+ border: 1px solid $border;
70
+ border-radius: 20px;
71
+ padding: 28px 24px 32px;
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 0;
75
+ transition: transform 0.2s, box-shadow 0.2s;
76
+ cursor: default;
77
+
78
+ &:hover {
79
+ transform: translateY(-4px);
80
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
81
+ }
82
+
83
+ &--violet {
84
+ --accent: rgb(139, 92, 246);
85
+ --number: rgba(139, 92, 246, 0.1);
86
+ }
87
+ }
88
+
89
+ // Цифра за текстом
90
+ &__card-number {
91
+ position: absolute;
92
+ z-index: -1;
93
+ top: 4px;
94
+ right: 14px;
95
+ font-size: 72px;
96
+ font-weight: 800;
97
+ line-height: 1;
98
+ letter-spacing: -0.04em;
99
+ color: var(--number);
100
+ pointer-events: none;
101
+ user-select: none;
102
+ }
103
+
104
+ &__card-icon {
105
+ margin-bottom: 12px;
106
+ display: flex;
107
+ align-items: center;
108
+ justify-content: flex-start;
109
+
110
+ img {
111
+ width: 32px;
112
+ height: 32px;
113
+ flex-shrink: 0;
114
+ }
115
+ }
116
+
117
+ &__card-heading {
118
+ font-size: 18px;
119
+ font-weight: 700;
120
+ color: $text;
121
+ line-height: 1.35;
122
+ margin-bottom: 12px;
123
+ }
124
+
125
+ &__card-text {
126
+ font-size: 14px;
127
+ color: $muted;
128
+ line-height: 1.7;
129
+ }
130
+
131
+ // Список (description передан массивом)
132
+ &__card-list {
133
+ list-style: none;
134
+ margin: 0;
135
+ padding: 0;
136
+ display: flex;
137
+ flex-direction: column;
138
+ gap: 9px;
139
+
140
+ &--dots .features-grid-v3__card-list-item {
141
+ padding-left: 25px;
142
+
143
+ // ромбик-маркер
144
+ &::before {
145
+ content: '';
146
+ position: absolute;
147
+ left: 5px;
148
+ top: 8px;
149
+ width: 7px;
150
+ height: 7px;
151
+ border-radius: 2px;
152
+ background: var(--accent);
153
+ transform: rotate(45deg);
154
+ }
155
+ }
156
+ }
157
+
158
+ &__card-list-item {
159
+ position: relative;
160
+ font-size: 14px;
161
+ color: $muted;
162
+ line-height: 1.55;
163
+ }
164
+
165
+ @keyframes fadeUp {
166
+ from {
167
+ opacity: 0;
168
+ transform: translateY(24px);
169
+ }
170
+ to {
171
+ opacity: 1;
172
+ transform: translateY(0);
173
+ }
174
+ }
175
+ }
176
+
177
+ // Планшет (до 1100px)
178
+ @media (max-width: 1100px) {
179
+ .features-grid-v3 {
180
+ padding: 72px 24px;
181
+
182
+ &__header {
183
+ flex-direction: column;
184
+ align-items: flex-start;
185
+ }
186
+
187
+ &__items {
188
+ gap: 20px;
189
+ }
190
+
191
+ &__card {
192
+ flex: 1 1 calc(33.333% - 14px);
193
+ min-width: 200px;
194
+ }
195
+
196
+ &__title {
197
+ font-size: 26px;
198
+ }
199
+ }
200
+ }
201
+
202
+ // Мобильная версия (до 768px)
203
+ @media (max-width: 768px) {
204
+ .features-grid-v3 {
205
+ &__items {
206
+ gap: 16px;
207
+ }
208
+
209
+ &__card {
210
+ flex: 1 1 calc(50% - 8px);
211
+ min-width: 160px;
212
+ }
213
+
214
+ &__subtitle {
215
+ font-size: 14px;
216
+ }
217
+
218
+ &__card-heading {
219
+ font-size: 16px;
220
+ }
221
+
222
+ &__card-text,
223
+ &__card-list-item {
224
+ font-size: 13px;
225
+ }
226
+
227
+ &__card-number {
228
+ font-size: 60px;
229
+ }
230
+
231
+ &__card-icon {
232
+ img {
233
+ width: 28px;
234
+ height: 28px;
235
+ }
236
+ }
237
+ }
238
+ }
239
+
240
+ // Мобильная версия (до 550px)
241
+ @media (max-width: 550px) {
242
+ .features-grid-v3 {
243
+ &__card {
244
+ flex: 1 1 100%;
245
+ }
246
+ }
247
+ }
248
+
249
+ // Мобильная версия (до 430px)
250
+ @media (max-width: 430px) {
251
+ .features-grid-v3 {
252
+ padding: 40px 20px;
253
+
254
+ &__btn {
255
+ width: 100% !important;
256
+ max-width: 100% !important;
257
+ }
258
+
259
+ &__title {
260
+ font-size: 22px;
261
+ }
262
+
263
+ &__subtitle {
264
+ font-size: 13px;
265
+ }
266
+
267
+ &__items {
268
+ gap: 12px;
269
+ }
270
+
271
+ &__card {
272
+ flex: 1 1 100%;
273
+ padding: 20px 16px 24px;
274
+ }
275
+
276
+ &__card-heading {
277
+ font-size: 15px;
278
+ margin-bottom: 8px;
279
+ }
280
+
281
+ &__card-text,
282
+ &__card-list-item {
283
+ font-size: 12px;
284
+ }
285
+
286
+ &__card-number {
287
+ font-size: 52px;
288
+ right: 12px;
289
+ }
290
+
291
+ &__card-icon {
292
+ margin-bottom: 8px;
293
+
294
+ img {
295
+ width: 24px;
296
+ height: 24px;
297
+ }
298
+ }
299
+ }
300
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.FeaturesGridTest = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _FeaturesGridV = _interopRequireDefault(require("./FeaturesGridV3"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
+ var advantages_list = [{
14
+ title: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u044B\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u044F",
15
+ description: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "\xB7 \u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044F \u0446\u0435\u043D\u043E\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0410\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0430 ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0420\u0435\u043A\u043B\u0430\u043C\u0430 \u0438 \u043C\u0430\u0440\u043A\u0435\u0442\u0438\u043D\u0433 ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0420\u0430\u0431\u043E\u0442\u0430 \u0441 \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u043E\u043C ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u041C\u043E\u043D\u0438\u0442\u043E\u0440\u0438\u043D\u0433 \u043A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043E\u0432 ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0410\u0432\u0442\u043E\u043E\u0442\u0432\u0435\u0442\u044B \u043D\u0430 \u043E\u0442\u0437\u044B\u0432\u044B ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 SEO-\u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u044F ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0422\u0430\u0441\u043A-\u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440 ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 CRM ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 PIM \u0438 \u043C\u043D\u043E\u0433\u043E\u0435 \u0434\u0440\u0443\u0433\u043E\u0435 ", /*#__PURE__*/_react["default"].createElement("br", null))
16
+ }, {
17
+ title: "\u0420\u0435\u043A\u043B\u0430\u043C\u0430 \u0438 \u043C\u0430\u0440\u043A\u0435\u0442\u0438\u043D\u0433",
18
+ description: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "\xB7 \u0412 2 \u0440\u0430\u0437\u0430 \u0441\u043E\u043A\u0440\u0430\u0442\u0438 \u0440\u0430\u0441\u0445\u043E\u0434\u044B \u043D\u0430 \u0440\u0435\u043A\u043B\u0430\u043C\u0443. ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u042D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0439 \u0440\u0435\u043A\u043B\u0430\u043C\u043D\u044B\u0439 \u0431\u044E\u0434\u0436\u0435\u0442 \u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0439 \u0434\u0435\u0442\u0430\u043B\u044C\u043D\u0443\u044E \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0443 \u043F\u043E \u043A\u0430\u0436\u0434\u043E\u0439 \u043A\u0430\u043C\u043F\u0430\u043D\u0438\u0438. ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u041F\u043E\u043B\u0443\u0447\u0438 \u0431\u043E\u043B\u0435\u0435 50 \u0444\u0443\u043D\u043A\u0446\u0438\u0439 \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0440\u0435\u043A\u043B\u0430\u043C\u043D\u044B\u0445 \u043A\u0430\u043C\u043F\u0430\u043D\u0438\u0439 \u043D\u0430 \u043C\u0430\u0440\u043A\u0435\u0442\u043F\u043B\u0435\u0439\u0441\u0430\u0445.")
19
+ }, {
20
+ title: "\u042D\u043A\u043E\u043D\u043E\u043C\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0438 \u0434\u0435\u043D\u0435\u0433",
21
+ description: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "\xB7 \u0421\u0447\u0438\u0442\u0430\u0439 \u0431\u044E\u0434\u0436\u0435\u0442 \u0438 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438\u0440\u0443\u0439 \u0440\u0430\u0441\u0445\u043E\u0434\u044B \u0438\u0437 \u0435\u0434\u0438\u043D\u043E\u0433\u043E \u043B\u0438\u0447\u043D\u043E\u0433\u043E \u043A\u0430\u0431\u0438\u043D\u0435\u0442\u0430.", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u0439 \u0440\u0443\u0442\u0438\u043D\u043D\u044B\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u043E\u0441\u0432\u043E\u0431\u043E\u0434\u0438 \u0431\u043E\u043B\u0435\u0435 50% \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438.", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0421\u044D\u043A\u043E\u043D\u043E\u043C\u044C 40% \u0431\u044E\u0434\u0436\u0435\u0442\u0430 \u043A\u043E\u043C\u043F\u0430\u043D\u0438\u0438 \u0437\u0430 \u0441\u0447\u0451\u0442 \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0438\u0437\u043D\u0435\u0441-\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0432.")
22
+ }, {
23
+ title: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044F \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0432",
24
+ description: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "\xB7 \u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u0439 \u0431\u043E\u043B\u0435\u0435 75% \u0432\u0441\u0435\u0445 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0432, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u044E\u0442\u0441\u044F \u0440\u0443\u043A\u0430\u043C\u0438.", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439 \u0441\u044D\u043A\u043E\u043D\u043E\u043C\u043B\u0435\u043D\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u043D\u0430 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0438\u0437\u043D\u0435\u0441\u0430.", /*#__PURE__*/_react["default"].createElement("br", null))
25
+ }];
26
+ var _default = exports["default"] = {
27
+ title: 'FeaturesGridV3',
28
+ component: _FeaturesGridV["default"]
29
+ };
30
+ var FeaturesGridTest = exports.FeaturesGridTest = function FeaturesGridTest() {
31
+ return /*#__PURE__*/_react["default"].createElement(_FeaturesGridV["default"], {
32
+ title: "\u041F\u0440\u0435\u0438\u043C\u0443\u0449\u0435\u0441\u0442\u0432\u0430",
33
+ description: '60% клиентов сотрудничают с нами уже более 2-х лет',
34
+ list: advantages_list
35
+ });
36
+ };
@@ -124,9 +124,7 @@ var HeaderV3 = function HeaderV3(_ref) {
124
124
  alt: "icon"
125
125
  }), el);
126
126
  }) : name_service && /*#__PURE__*/_react["default"].createElement("div", {
127
- style: {
128
- background: color || ''
129
- },
127
+ // style={{ background: color || '' }}
130
128
  className: "header-v3__service"
131
129
  }, icon_service && /*#__PURE__*/_react["default"].createElement(_image["default"], {
132
130
  src: icon_service,
@@ -58,7 +58,7 @@ var steps = [{
58
58
  var advantages_list = [{
59
59
  title: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u044B\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u044F",
60
60
  icon: _discount["default"],
61
- description: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "\xB7 \u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044F \u0446\u0435\u043D\u043E\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u044F ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0410\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0430 ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0420\u0435\u043A\u043B\u0430\u043C\u0430 \u0438 \u043C\u0430\u0440\u043A\u0435\u0442\u0438\u043D\u0433 ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0420\u0430\u0431\u043E\u0442\u0430 \u0441 \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u043E\u043C ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u041C\u043E\u043D\u0438\u0442\u043E\u0440\u0438\u043D\u0433 \u043A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043E\u0432 ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0410\u0432\u0442\u043E\u043E\u0442\u0432\u0435\u0442\u044B \u043D\u0430 \u043E\u0442\u0437\u044B\u0432\u044B ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 SEO-\u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u044F ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 \u0422\u0430\u0441\u043A-\u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440 ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 CRM ", /*#__PURE__*/_react["default"].createElement("br", null), "\xB7 PIM \u0438 \u043C\u043D\u043E\u0433\u043E\u0435 \u0434\u0440\u0443\u0433\u043E\u0435 ", /*#__PURE__*/_react["default"].createElement("br", null))
61
+ description: ['Автоматизация ценообразования', 'Аналитика ', 'Реклама и маркетинг', 'Работа с контентом', 'Мониторинг конкурентов']
62
62
  }, {
63
63
  title: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u044B\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u044F",
64
64
  icon: _discount["default"],
@@ -237,7 +237,8 @@ var MainContainerTest = exports.MainContainerTest = function MainContainerTest()
237
237
  violet: true,
238
238
  title: "\u041F\u0440\u0435\u0438\u043C\u0443\u0449\u0435\u0441\u0442\u0432\u0430",
239
239
  description: '60% клиентов сотрудничают с нами уже более 2-х лет',
240
- list: advantages_list
240
+ list: advantages_list,
241
+ dots: true
241
242
  }), /*#__PURE__*/_react["default"].createElement(_StatisticCardV["default"], {
242
243
  reverse: true,
243
244
  list: cards_list
@@ -28,8 +28,8 @@
28
28
 
29
29
  img {
30
30
  margin-right: 100px;
31
- max-height: 50px;
32
- height: 50px;
31
+ max-height: 40px;
32
+ height: 40px;
33
33
  width: auto;
34
34
  object-fit: contain;
35
35
  }
@@ -45,7 +45,7 @@
45
45
 
46
46
  img {
47
47
  margin-right: 70px;
48
- max-height: 40px;
48
+ max-height: 36px;
49
49
  }
50
50
  }
51
51
 
@@ -59,8 +59,8 @@
59
59
  }
60
60
 
61
61
  img {
62
- margin-right: 40px;
63
- max-height: 36px;
62
+ margin-right: 24px;
63
+ max-height: 24px;
64
64
  }
65
65
  }
66
66
  }
package/dist/index.js CHANGED
@@ -153,6 +153,12 @@ Object.defineProperty(exports, "FeaturesGridV2", {
153
153
  return _FeaturesGridV["default"];
154
154
  }
155
155
  });
156
+ Object.defineProperty(exports, "FeaturesGridV3", {
157
+ enumerable: true,
158
+ get: function get() {
159
+ return _FeaturesGridV2["default"];
160
+ }
161
+ });
156
162
  Object.defineProperty(exports, "Footer", {
157
163
  enumerable: true,
158
164
  get: function get() {
@@ -440,6 +446,7 @@ var _ClientsAboutUs = _interopRequireDefault(require("./components/ConstructorCo
440
446
  var _ClientsAboutUsV = _interopRequireDefault(require("./components/ConstructorComponents/ClientsAboutUsV2/ClientsAboutUsV2"));
441
447
  var _AdvantagesBlock = _interopRequireDefault(require("./components/ConstructorComponents/AdvantagesBlock/AdvantagesBlock"));
442
448
  var _FeaturesGridV = _interopRequireDefault(require("./components/ConstructorComponents/FeaturesGridV2/FeaturesGridV2"));
449
+ var _FeaturesGridV2 = _interopRequireDefault(require("./components/ConstructorComponents/FeaturesGridV3/FeaturesGridV3"));
443
450
  var _CardsInfo = _interopRequireDefault(require("./components/ConstructorComponents/CardsInfo/CardsInfo"));
444
451
  var _CardsServicesV = _interopRequireDefault(require("./components/ConstructorComponents/CardsServicesV2/CardsServicesV2"));
445
452
  var _CardsServicesV2 = _interopRequireDefault(require("./components/ConstructorComponents/CardsServicesV3/CardsServicesV3"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecomlab-components-next",
3
- "version": "0.1.313",
3
+ "version": "0.1.315",
4
4
  "description": "A set of common and reusable React components",
5
5
  "main": "dist/index.js",
6
6
  "files": [