ecomlab-components-next 0.1.263 → 0.1.265
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/dist/common/hooks/useReveal.js +37 -0
- package/dist/components/ConstructorComponents/ArticlesBlockV2/ArticlesBlockV2.js +12 -12
- package/dist/components/ConstructorComponents/ArticlesBlockV2/ArticlesBlockV2.scss +133 -0
- package/dist/components/ConstructorComponents/BlocksInfoV2/BlocksInfoV2.js +7 -2
- package/dist/components/ConstructorComponents/BlocksInfoV2/BlocksInfoV2.scss +0 -1
- package/dist/components/ConstructorComponents/CardsServicesV2/CardsServicesV2.js +8 -3
- package/dist/components/ConstructorComponents/CardsV2/CardsV2.js +9 -4
- package/dist/components/ConstructorComponents/CardsWithButton/CardsWithButton.js +8 -3
- package/dist/components/ConstructorComponents/ClientsAboutUsV2/ClientsAboutUsV2.js +9 -4
- package/dist/components/ConstructorComponents/FeaturesGridV2/FeaturesGridV2.js +8 -3
- package/dist/components/ConstructorComponents/FormV2/FormV2.js +5 -1
- package/dist/components/ConstructorComponents/HeaderV2/HeaderV2.scss +0 -11
- package/dist/components/ConstructorComponents/LogosStrip/LogosStrip.js +8 -3
- package/dist/components/ConstructorComponents/MarqueImgsV2/MarqueImgsV2.js +7 -3
- package/dist/components/ConstructorComponents/PhoneBlockV2/PhoneBlockV2.js +3 -1
- package/dist/components/ConstructorComponents/PointsListV2/PointsListV2.js +9 -4
- package/dist/components/ConstructorComponents/QuestionsV2/QuestionsV2.js +8 -2
- package/dist/components/ConstructorComponents/ServicesSectionV2/ServicesSectionV2.js +6 -3
- package/dist/components/ConstructorComponents/SmartReplies/SmartReplies.js +15 -16
- package/dist/components/ConstructorComponents/StatisticCardV2/StatisticCardV2.js +12 -7
- package/dist/components/ConstructorComponents/StatisticCardV2/StatisticCardV2.scss +119 -0
- package/dist/components/ConstructorComponents/StepsV2/StepsV2.js +18 -13
- package/dist/components/ConstructorComponents/StepsV2/StepsV2.scss +202 -0
- package/dist/components/ConstructorComponents/VideoBlockV2/VideoBlockV2.js +7 -4
- package/dist/components/ConstructorComponents/variables.scss +12 -1
- package/dist/index.js +7 -0
- package/package.json +1 -1
|
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
require("./QuestionsV2.scss");
|
|
11
|
+
var _useReveal = _interopRequireDefault(require("../../../common/hooks/useReveal"));
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
13
|
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
14
|
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
15
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
@@ -24,6 +26,7 @@ var QuestionsV2 = function QuestionsV2(_ref) {
|
|
|
24
26
|
_useState2 = _slicedToArray(_useState, 2),
|
|
25
27
|
currentDrop = _useState2[0],
|
|
26
28
|
setCurrentDrop = _useState2[1];
|
|
29
|
+
(0, _useReveal["default"])();
|
|
27
30
|
var toggleItem = function toggleItem(question) {
|
|
28
31
|
var newState = new Set(currentDrop);
|
|
29
32
|
if (newState.has(question)) {
|
|
@@ -40,7 +43,7 @@ var QuestionsV2 = function QuestionsV2(_ref) {
|
|
|
40
43
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
41
44
|
className: "questions-v2__inner"
|
|
42
45
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
43
|
-
className: "questions-v2__header"
|
|
46
|
+
className: "questions-v2__header reveal"
|
|
44
47
|
}, /*#__PURE__*/_react["default"].createElement("h2", {
|
|
45
48
|
className: "questions-v2__title"
|
|
46
49
|
}, title || 'Часто задаваемые вопросы'), /*#__PURE__*/_react["default"].createElement("p", {
|
|
@@ -52,7 +55,10 @@ var QuestionsV2 = function QuestionsV2(_ref) {
|
|
|
52
55
|
response = _ref2.response;
|
|
53
56
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
54
57
|
key: questions + index,
|
|
55
|
-
className: "questions-v2__item ".concat(currentDrop.has(questions) ? 'questions-v2__item_open' : '')
|
|
58
|
+
className: "questions-v2__item ".concat(currentDrop.has(questions) ? 'questions-v2__item_open' : '', " reveal"),
|
|
59
|
+
style: {
|
|
60
|
+
'--index': index
|
|
61
|
+
}
|
|
56
62
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
57
63
|
className: "questions-v2__question",
|
|
58
64
|
onClick: function onClick() {
|
|
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
require("./ServicesSectionV2.scss");
|
|
11
|
+
var _useReveal = _interopRequireDefault(require("../../../common/hooks/useReveal"));
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
13
|
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
14
|
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
15
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
@@ -111,7 +113,7 @@ var ServicesSectionV2 = function ServicesSectionV2(_ref2) {
|
|
|
111
113
|
items = _ref2$items === void 0 ? list_default : _ref2$items,
|
|
112
114
|
_ref2$linkMain = _ref2.linkMain,
|
|
113
115
|
linkMain = _ref2$linkMain === void 0 ? 'https://lk.ecomru.ru' : _ref2$linkMain;
|
|
114
|
-
var current_query = (_window = window) === null || _window === void 0 || (_window = _window.location) === null || _window === void 0 ? void 0 : _window.search;
|
|
116
|
+
var current_query = typeof window !== 'undefined' ? (_window = window) === null || _window === void 0 || (_window = _window.location) === null || _window === void 0 ? void 0 : _window.search : '';
|
|
115
117
|
var _useState = (0, _react.useState)(items[0]),
|
|
116
118
|
_useState2 = _slicedToArray(_useState, 2),
|
|
117
119
|
activeItem = _useState2[0],
|
|
@@ -120,6 +122,7 @@ var ServicesSectionV2 = function ServicesSectionV2(_ref2) {
|
|
|
120
122
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
121
123
|
isAutoPlaying = _useState4[0],
|
|
122
124
|
setIsAutoPlaying = _useState4[1];
|
|
125
|
+
(0, _useReveal["default"])();
|
|
123
126
|
(0, _react.useEffect)(function () {
|
|
124
127
|
if (!isAutoPlaying) return;
|
|
125
128
|
var interval = setInterval(function () {
|
|
@@ -143,11 +146,11 @@ var ServicesSectionV2 = function ServicesSectionV2(_ref2) {
|
|
|
143
146
|
}, 10000);
|
|
144
147
|
};
|
|
145
148
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
146
|
-
className: "services-v2"
|
|
149
|
+
className: "services-v2 reveal"
|
|
147
150
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
148
151
|
className: "services-v2__container"
|
|
149
152
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
150
|
-
className: "services-v2__sidebar"
|
|
153
|
+
className: "services-v2__sidebar reveal"
|
|
151
154
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
152
155
|
className: "services-v2__logo"
|
|
153
156
|
}, "ECOM", /*#__PURE__*/_react["default"].createElement("span", null, "RU")), items.map(function (item, idx) {
|
|
@@ -9,6 +9,7 @@ exports["default"] = void 0;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _ButtonBasicV = _interopRequireDefault(require("../../Buttons/ButtonBasicV2/ButtonBasicV2"));
|
|
11
11
|
require("./SmartReplies.scss");
|
|
12
|
+
var _useReveal = _interopRequireDefault(require("../../../common/hooks/useReveal"));
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
14
|
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); }
|
|
14
15
|
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; }
|
|
@@ -57,18 +58,7 @@ var DEFAULT_LIST = [{
|
|
|
57
58
|
}];
|
|
58
59
|
|
|
59
60
|
// Градиенты для аватарок как в референсе
|
|
60
|
-
var avatarGradients = ['linear-gradient(135deg, #6B5CE7, #9B5DFF)',
|
|
61
|
-
// фиолетовый
|
|
62
|
-
'linear-gradient(135deg, #EC4899, #F97316)',
|
|
63
|
-
// розово-оранжевый
|
|
64
|
-
'linear-gradient(135deg, #22C55E, #0EA5E9)',
|
|
65
|
-
// зелено-голубой
|
|
66
|
-
'linear-gradient(135deg, #F59E0B, #EF4444)',
|
|
67
|
-
// оранжево-красный
|
|
68
|
-
'linear-gradient(135deg, #8B5CF6, #3B82F6)',
|
|
69
|
-
// фиолетово-синий
|
|
70
|
-
'linear-gradient(135deg, #06B6D4, #6B5CE7)' // голубо-фиолетовый
|
|
71
|
-
];
|
|
61
|
+
var avatarGradients = ['linear-gradient(135deg, #6B5CE7, #9B5DFF)', 'linear-gradient(135deg, #EC4899, #F97316)', 'linear-gradient(135deg, #22C55E, #0EA5E9)', 'linear-gradient(135deg, #F59E0B, #EF4444)', 'linear-gradient(135deg, #8B5CF6, #3B82F6)', 'linear-gradient(135deg, #06B6D4, #6B5CE7)'];
|
|
72
62
|
var SmartReplies = function SmartReplies(_ref) {
|
|
73
63
|
var title = _ref.title,
|
|
74
64
|
_ref$reviews = _ref.reviews,
|
|
@@ -81,21 +71,30 @@ var SmartReplies = function SmartReplies(_ref) {
|
|
|
81
71
|
setVisibleCount(reviews.length);
|
|
82
72
|
};
|
|
83
73
|
var visibleReviews = reviews.slice(0, visibleCount);
|
|
74
|
+
|
|
75
|
+
// Используем хук с зависимостью от visibleCount
|
|
76
|
+
// При изменении visibleCount (нажатии на кнопку) новые карточки анимируются сразу
|
|
77
|
+
(0, _useReveal["default"])([visibleCount], true);
|
|
84
78
|
return /*#__PURE__*/_react["default"].createElement("section", {
|
|
85
79
|
className: "smart-replies"
|
|
86
80
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
87
81
|
className: "smart-replies__inner"
|
|
82
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
83
|
+
className: "reveal"
|
|
88
84
|
}, /*#__PURE__*/_react["default"].createElement("h2", {
|
|
89
85
|
className: "smart-replies__title"
|
|
90
86
|
}, title || 'Умные ответы на отзывы от ИИ'), /*#__PURE__*/_react["default"].createElement("p", {
|
|
91
87
|
className: "smart-replies__subtitle"
|
|
92
|
-
}, "\u0418\u0418, \u0448\u0430\u0431\u043B\u043E\u043D\u044B, \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u2014 \u0434\u043B\u044F \u043E\u0442\u0432\u0435\u0442\u043E\u0432 \u043D\u0430 \u043E\u0442\u0437\u044B\u0432\u044B. \u041E\u0442\u0432\u0435\u0442\u044B \u043D\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u044B. \u041C\u043E\u0434\u0435\u0440\u0430\u0446\u0438\u044F \u043F\u0435\u0440\u0435\u0434 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u043E\u0439"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
88
|
+
}, "\u0418\u0418, \u0448\u0430\u0431\u043B\u043E\u043D\u044B, \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u2014 \u0434\u043B\u044F \u043E\u0442\u0432\u0435\u0442\u043E\u0432 \u043D\u0430 \u043E\u0442\u0437\u044B\u0432\u044B. \u041E\u0442\u0432\u0435\u0442\u044B \u043D\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u044B. \u041C\u043E\u0434\u0435\u0440\u0430\u0446\u0438\u044F \u043F\u0435\u0440\u0435\u0434 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u043E\u0439")), /*#__PURE__*/_react["default"].createElement("div", {
|
|
93
89
|
className: "smart-replies__grid"
|
|
94
90
|
}, visibleReviews === null || visibleReviews === void 0 ? void 0 : visibleReviews.map(function (review, idx) {
|
|
95
91
|
var _review$author_name;
|
|
96
92
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
97
|
-
className: "smart-replies__card",
|
|
98
|
-
key: idx
|
|
93
|
+
className: "smart-replies__card reveal",
|
|
94
|
+
key: idx,
|
|
95
|
+
style: {
|
|
96
|
+
'--index': idx
|
|
97
|
+
}
|
|
99
98
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
100
99
|
className: "smart-replies__card-header"
|
|
101
100
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -121,7 +120,7 @@ var SmartReplies = function SmartReplies(_ref) {
|
|
|
121
120
|
className: "smart-replies__ai-reply"
|
|
122
121
|
}, /*#__PURE__*/_react["default"].createElement("p", null, review.answer))));
|
|
123
122
|
})), reviews.length > 2 && visibleCount < reviews.length && /*#__PURE__*/_react["default"].createElement("div", {
|
|
124
|
-
className: "smart-replies__show-more"
|
|
123
|
+
className: "smart-replies__show-more reveal"
|
|
125
124
|
}, /*#__PURE__*/_react["default"].createElement(_ButtonBasicV["default"], {
|
|
126
125
|
className: "phone-block-v2__btn",
|
|
127
126
|
white: true,
|
|
@@ -7,28 +7,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _utils = require("../../../common/utils");
|
|
10
|
-
|
|
10
|
+
require("./StatisticCardV2.scss");
|
|
11
|
+
var _useReveal = _interopRequireDefault(require("../../../common/hooks/useReveal"));
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
13
|
var StatisticCardV2 = function StatisticCardV2(_ref) {
|
|
13
14
|
var list = _ref.list,
|
|
14
15
|
_ref$reverse = _ref.reverse,
|
|
15
16
|
reverse = _ref$reverse === void 0 ? false : _ref$reverse;
|
|
17
|
+
(0, _useReveal["default"])();
|
|
16
18
|
return /*#__PURE__*/_react["default"].createElement("section", {
|
|
17
|
-
className:
|
|
19
|
+
className: 'statistic-card-v2'
|
|
18
20
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
19
|
-
className:
|
|
20
|
-
}, list.map(function (_ref2) {
|
|
21
|
+
className: 'statistic-card-v2__cards'
|
|
22
|
+
}, list.map(function (_ref2, index) {
|
|
21
23
|
var label = _ref2.label,
|
|
22
24
|
sum = _ref2.sum,
|
|
23
25
|
color = _ref2.color;
|
|
24
26
|
if (label && sum) {
|
|
25
27
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
26
28
|
key: label + sum,
|
|
27
|
-
className:
|
|
29
|
+
className: "statistic-card-v2__card ".concat(reverse ? 'statistic-card-v2__card_reverse' : 'statistic-card-v2__card_normal', " reveal"),
|
|
30
|
+
style: {
|
|
31
|
+
'--index': index
|
|
32
|
+
}
|
|
28
33
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
29
|
-
className:
|
|
34
|
+
className: 'statistic-card-v2__label'
|
|
30
35
|
}, reverse ? sum === null || sum === void 0 ? void 0 : sum.toLocaleString() : label), /*#__PURE__*/_react["default"].createElement("span", {
|
|
31
|
-
className:
|
|
36
|
+
className: 'statistic-card-v2__sum',
|
|
32
37
|
style: {
|
|
33
38
|
color: color || ''
|
|
34
39
|
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
|
|
2
|
+
@import '../variables.scss';
|
|
3
|
+
|
|
4
|
+
.statistic-card-v2 {
|
|
5
|
+
background: linear-gradient(135deg, $text 0%, $green-dark 100%);
|
|
6
|
+
width: 100%;
|
|
7
|
+
padding: 96px 40px;
|
|
8
|
+
|
|
9
|
+
* {
|
|
10
|
+
font-family: 'Manrope', 'Golos Text', sans-serif !important;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&__cards {
|
|
14
|
+
max-width: 1280px;
|
|
15
|
+
margin: 0 auto;
|
|
16
|
+
display: grid;
|
|
17
|
+
grid-template-columns: repeat(4, 1fr);
|
|
18
|
+
gap: 40px;
|
|
19
|
+
text-align: center;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&__card {
|
|
23
|
+
display: flex;
|
|
24
|
+
flex-direction: column;
|
|
25
|
+
gap: 8px;
|
|
26
|
+
|
|
27
|
+
&_reverse {
|
|
28
|
+
flex-direction: column-reverse;
|
|
29
|
+
justify-content: flex-end;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&_normal {
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
justify-content: flex-start;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&__sum {
|
|
39
|
+
font-size: 52px;
|
|
40
|
+
font-weight: 800;
|
|
41
|
+
letter-spacing: -2px;
|
|
42
|
+
background: linear-gradient(135deg, $white 0%, $green-light-bg 100%);
|
|
43
|
+
-webkit-background-clip: text;
|
|
44
|
+
-webkit-text-fill-color: transparent;
|
|
45
|
+
background-clip: text;
|
|
46
|
+
line-height: 1.1;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&__label {
|
|
50
|
+
font-size: 14px;
|
|
51
|
+
color: rgba(255, 255, 255, 0.6);
|
|
52
|
+
line-height: 1.4;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@keyframes fadeUp {
|
|
56
|
+
from {
|
|
57
|
+
opacity: 0;
|
|
58
|
+
transform: translateY(24px);
|
|
59
|
+
}
|
|
60
|
+
to {
|
|
61
|
+
opacity: 1;
|
|
62
|
+
transform: translateY(0);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Планшет (до 1100px)
|
|
68
|
+
@media (max-width: 1100px) {
|
|
69
|
+
.statistic-card-v2 {
|
|
70
|
+
padding: 72px 24px;
|
|
71
|
+
|
|
72
|
+
&__cards {
|
|
73
|
+
grid-template-columns: repeat(2, 1fr);
|
|
74
|
+
gap: 32px;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&__sum {
|
|
78
|
+
font-size: 46px;
|
|
79
|
+
letter-spacing: -1.5px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&__label {
|
|
83
|
+
font-size: 13px;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
// Мобильная версия (до 480px) - 1 колонка
|
|
90
|
+
@media (max-width: 480px) {
|
|
91
|
+
.statistic-card-v2 {
|
|
92
|
+
|
|
93
|
+
&__cards {
|
|
94
|
+
grid-template-columns: 1fr;
|
|
95
|
+
gap: 28px;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Мобильная версия (до 430px)
|
|
101
|
+
@media (max-width: 430px) {
|
|
102
|
+
.statistic-card-v2 {
|
|
103
|
+
padding: 40px 20px;
|
|
104
|
+
|
|
105
|
+
&__cards {
|
|
106
|
+
gap: 24px;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
&__sum {
|
|
110
|
+
font-size: 36px;
|
|
111
|
+
letter-spacing: -1px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&__label {
|
|
115
|
+
font-size: 12px;
|
|
116
|
+
max-width: 220px;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -9,8 +9,9 @@ exports["default"] = void 0;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _image = _interopRequireDefault(require("next/image"));
|
|
11
11
|
var _utils = require("../../../common/utils");
|
|
12
|
-
|
|
12
|
+
require("./StepsV2.scss");
|
|
13
13
|
var _ButtonBasicV = _interopRequireDefault(require("../../Buttons/ButtonBasicV2/ButtonBasicV2"));
|
|
14
|
+
var _useReveal = _interopRequireDefault(require("../../../common/hooks/useReveal"));
|
|
14
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
16
|
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
17
|
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; }
|
|
@@ -29,11 +30,12 @@ var StepsV2 = function StepsV2(_ref) {
|
|
|
29
30
|
className = _ref$className === void 0 ? '' : _ref$className,
|
|
30
31
|
_ref$linkMain = _ref.linkMain,
|
|
31
32
|
linkMain = _ref$linkMain === void 0 ? 'https://lk.ecomru.ru' : _ref$linkMain;
|
|
32
|
-
var current_query = (_window = window) === null || _window === void 0 || (_window = _window.location) === null || _window === void 0 ? void 0 : _window.search;
|
|
33
|
+
var current_query = typeof window !== 'undefined' ? (_window = window) === null || _window === void 0 || (_window = _window.location) === null || _window === void 0 ? void 0 : _window.search : '';
|
|
33
34
|
var _useState = (0, _react.useState)(false),
|
|
34
35
|
_useState2 = _slicedToArray(_useState, 2),
|
|
35
36
|
isMobile = _useState2[0],
|
|
36
37
|
setIsMobile = _useState2[1];
|
|
38
|
+
(0, _useReveal["default"])();
|
|
37
39
|
(0, _react.useEffect)(function () {
|
|
38
40
|
var checkMobile = function checkMobile() {
|
|
39
41
|
return setIsMobile(window.innerWidth <= 1100);
|
|
@@ -45,33 +47,36 @@ var StepsV2 = function StepsV2(_ref) {
|
|
|
45
47
|
};
|
|
46
48
|
}, []);
|
|
47
49
|
return /*#__PURE__*/_react["default"].createElement("section", {
|
|
48
|
-
className:
|
|
50
|
+
className: "steps-v2 ".concat(className)
|
|
49
51
|
}, title && /*#__PURE__*/_react["default"].createElement("h3", {
|
|
50
|
-
className:
|
|
52
|
+
className: "steps-v2__title reveal"
|
|
51
53
|
}, title), /*#__PURE__*/_react["default"].createElement("div", {
|
|
52
|
-
className:
|
|
54
|
+
className: "steps-v2__items"
|
|
53
55
|
}, list.map(function (_ref2, ind) {
|
|
54
56
|
var stepTitle = _ref2.title,
|
|
55
57
|
description = _ref2.description;
|
|
56
58
|
if (!stepTitle) return null;
|
|
57
59
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
58
60
|
key: stepTitle + description,
|
|
59
|
-
className:
|
|
61
|
+
className: "steps-v2__item reveal",
|
|
62
|
+
style: {
|
|
63
|
+
'--index': ind
|
|
64
|
+
}
|
|
60
65
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
61
|
-
className:
|
|
66
|
+
className: "steps-v2__count"
|
|
62
67
|
}, ind + 1), isMobile ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
63
|
-
className:
|
|
68
|
+
className: "steps-v2__item-text"
|
|
64
69
|
}, stepTitle && /*#__PURE__*/_react["default"].createElement("h4", {
|
|
65
|
-
className:
|
|
70
|
+
className: "steps-v2__step-title"
|
|
66
71
|
}, stepTitle), description && /*#__PURE__*/_react["default"].createElement("p", {
|
|
67
|
-
className:
|
|
72
|
+
className: "steps-v2__description"
|
|
68
73
|
}, description)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, stepTitle && /*#__PURE__*/_react["default"].createElement("h4", {
|
|
69
|
-
className:
|
|
74
|
+
className: "steps-v2__step-title"
|
|
70
75
|
}, stepTitle), description && /*#__PURE__*/_react["default"].createElement("p", {
|
|
71
|
-
className:
|
|
76
|
+
className: "steps-v2__description"
|
|
72
77
|
}, description)));
|
|
73
78
|
})), /*#__PURE__*/_react["default"].createElement(_ButtonBasicV["default"], {
|
|
74
|
-
className:
|
|
79
|
+
className: "steps-v2__btn reveal",
|
|
75
80
|
onClick: function onClick() {
|
|
76
81
|
var _window2;
|
|
77
82
|
return (_window2 = window) === null || _window2 === void 0 ? void 0 : _window2.open("".concat(linkMain, "/auth").concat(current_query), '_blank');
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
|
|
2
|
+
@import '../variables.scss';
|
|
3
|
+
|
|
4
|
+
.steps-v2 {
|
|
5
|
+
font-family: 'Manrope', 'Golos Text', sans-serif !important;
|
|
6
|
+
display: flex;
|
|
7
|
+
width: 100%;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
gap: 48px;
|
|
10
|
+
align-items: flex-start;
|
|
11
|
+
border-radius: 20px;
|
|
12
|
+
padding: 96px 40px;
|
|
13
|
+
background: $white;
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
|
|
16
|
+
* {
|
|
17
|
+
font-family: 'Manrope', 'Golos Text', sans-serif !important;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__title {
|
|
21
|
+
width: 100%;
|
|
22
|
+
text-align: center;
|
|
23
|
+
color: $text;
|
|
24
|
+
font-size: 30px;
|
|
25
|
+
font-weight: 800;
|
|
26
|
+
letter-spacing: -0.5px;
|
|
27
|
+
margin: 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&__items {
|
|
31
|
+
display: flex;
|
|
32
|
+
gap: 0;
|
|
33
|
+
width: 100%;
|
|
34
|
+
position: relative;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&__items::before {
|
|
38
|
+
content: '';
|
|
39
|
+
position: absolute;
|
|
40
|
+
top: 28px;
|
|
41
|
+
left: 10%;
|
|
42
|
+
right: 10%;
|
|
43
|
+
height: 2px;
|
|
44
|
+
background: linear-gradient(90deg, $bg, $green, $bg);
|
|
45
|
+
z-index: 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&__item {
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-direction: column;
|
|
51
|
+
width: 100%;
|
|
52
|
+
gap: 12px;
|
|
53
|
+
max-width: calc(25% - 12px);
|
|
54
|
+
flex: 1;
|
|
55
|
+
align-items: center;
|
|
56
|
+
text-align: center;
|
|
57
|
+
padding: 0 16px;
|
|
58
|
+
position: relative;
|
|
59
|
+
z-index: 1;
|
|
60
|
+
box-sizing: border-box;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&__count {
|
|
64
|
+
display: flex;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
align-items: center;
|
|
67
|
+
border-radius: 50%;
|
|
68
|
+
width: 56px;
|
|
69
|
+
height: 56px;
|
|
70
|
+
background: $white;
|
|
71
|
+
border: 2px solid $green;
|
|
72
|
+
color: $green;
|
|
73
|
+
font-size: 20px;
|
|
74
|
+
font-weight: 800;
|
|
75
|
+
box-shadow: 0 0 0 6px $white;
|
|
76
|
+
flex-shrink: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&__item:first-child &__count {
|
|
80
|
+
background: $green;
|
|
81
|
+
color: $white;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&__step-title {
|
|
85
|
+
color: $text;
|
|
86
|
+
font-size: 15px;
|
|
87
|
+
font-weight: 700;
|
|
88
|
+
margin: 0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&__description {
|
|
92
|
+
color: $muted;
|
|
93
|
+
font-size: 13px;
|
|
94
|
+
font-weight: 400;
|
|
95
|
+
line-height: 1.6;
|
|
96
|
+
margin: 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&__item-text {
|
|
100
|
+
display: flex;
|
|
101
|
+
flex-direction: column;
|
|
102
|
+
gap: 6px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&__btn {
|
|
106
|
+
margin-left: auto;
|
|
107
|
+
margin-right: auto;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@keyframes fadeUp {
|
|
111
|
+
from {
|
|
112
|
+
opacity: 0;
|
|
113
|
+
transform: translateY(24px);
|
|
114
|
+
}
|
|
115
|
+
to {
|
|
116
|
+
opacity: 1;
|
|
117
|
+
transform: translateY(0);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Планшет (до 1100px)
|
|
123
|
+
@media (max-width: 1100px) {
|
|
124
|
+
.steps-v2 {
|
|
125
|
+
padding: 72px 24px;
|
|
126
|
+
gap: 40px;
|
|
127
|
+
|
|
128
|
+
&__title {
|
|
129
|
+
font-size: 26px;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
&__items {
|
|
133
|
+
flex-direction: column;
|
|
134
|
+
gap: 0;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
&__items::before {
|
|
138
|
+
display: none;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
&__item {
|
|
142
|
+
max-width: 100%;
|
|
143
|
+
width: 100%;
|
|
144
|
+
flex-direction: row;
|
|
145
|
+
text-align: left;
|
|
146
|
+
align-items: flex-start;
|
|
147
|
+
padding: 20px 0;
|
|
148
|
+
gap: 20px;
|
|
149
|
+
border-bottom: 1px solid $border;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
&__item:last-child {
|
|
153
|
+
border-bottom: none;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
&__count {
|
|
157
|
+
width: 48px;
|
|
158
|
+
height: 48px;
|
|
159
|
+
font-size: 18px;
|
|
160
|
+
box-shadow: 0 0 0 4px $white;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
// Мобильная версия (до 430px)
|
|
167
|
+
@media (max-width: 430px) {
|
|
168
|
+
.steps-v2 {
|
|
169
|
+
padding: 40px 20px;
|
|
170
|
+
gap: 32px;
|
|
171
|
+
|
|
172
|
+
&__title {
|
|
173
|
+
font-size: 22px;
|
|
174
|
+
letter-spacing: -0.5px;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
&__step-title {
|
|
178
|
+
font-size: 15px;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
&__description {
|
|
182
|
+
font-size: 13px;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
&__count {
|
|
186
|
+
width: 42px;
|
|
187
|
+
height: 42px;
|
|
188
|
+
font-size: 16px;
|
|
189
|
+
box-shadow: 0 0 0 4px $white;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
&__item {
|
|
193
|
+
gap: 14px;
|
|
194
|
+
padding: 16px 0;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
&__btn {
|
|
198
|
+
max-width: 100% !important;
|
|
199
|
+
width: 100% !important;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
@@ -7,16 +7,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
require("./VideoBlockV2.scss");
|
|
10
|
+
var _useReveal = _interopRequireDefault(require("../../../common/hooks/useReveal"));
|
|
10
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
12
|
var VideoBlockV2 = function VideoBlockV2(_ref) {
|
|
12
13
|
var src = _ref.src,
|
|
13
|
-
hideTitle = _ref.hideTitle
|
|
14
|
+
hideTitle = _ref.hideTitle,
|
|
15
|
+
title = _ref.title;
|
|
16
|
+
(0, _useReveal["default"])();
|
|
14
17
|
return /*#__PURE__*/_react["default"].createElement("section", {
|
|
15
18
|
className: "video-block-v2"
|
|
16
19
|
}, !hideTitle && /*#__PURE__*/_react["default"].createElement("h2", {
|
|
17
|
-
className: "video-block-v2__title"
|
|
18
|
-
},
|
|
19
|
-
className: "video-block-v2__video-box"
|
|
20
|
+
className: "video-block-v2__title reveal"
|
|
21
|
+
}, title || 'Посмотрите видео о нас'), /*#__PURE__*/_react["default"].createElement("div", {
|
|
22
|
+
className: "video-block-v2__video-box reveal"
|
|
20
23
|
}, /*#__PURE__*/_react["default"].createElement("video", {
|
|
21
24
|
className: "video-block-v2__video",
|
|
22
25
|
src: src,
|
|
@@ -13,4 +13,15 @@ $white: #FFFFFF;
|
|
|
13
13
|
|
|
14
14
|
// Брейкпоинты
|
|
15
15
|
$tablet: 1100px;
|
|
16
|
-
$mobile: 430px;
|
|
16
|
+
$mobile: 430px;
|
|
17
|
+
|
|
18
|
+
.reveal {
|
|
19
|
+
opacity: 0;
|
|
20
|
+
transform: translateY(28px);
|
|
21
|
+
transition: opacity 0.6s ease, transform 0.6s ease;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.reveal.visible {
|
|
25
|
+
opacity: 1;
|
|
26
|
+
transform: translateY(0);
|
|
27
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -63,6 +63,12 @@ Object.defineProperty(exports, "ButtonBasic", {
|
|
|
63
63
|
return _ButtonBasic["default"];
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
+
Object.defineProperty(exports, "ButtonBasicV2", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return _ButtonBasicV["default"];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
66
72
|
Object.defineProperty(exports, "ButtonSignUp", {
|
|
67
73
|
enumerable: true,
|
|
68
74
|
get: function get() {
|
|
@@ -446,6 +452,7 @@ var _SmartReplies = _interopRequireDefault(require("./components/ConstructorComp
|
|
|
446
452
|
var _CardsWithButton = _interopRequireDefault(require("./components/ConstructorComponents/CardsWithButton/CardsWithButton"));
|
|
447
453
|
var _LogosStrip = _interopRequireDefault(require("./components/ConstructorComponents/LogosStrip/LogosStrip"));
|
|
448
454
|
var _ButtonBasic = _interopRequireDefault(require("./components/Buttons/ButtonBasic/ButtonBasic"));
|
|
455
|
+
var _ButtonBasicV = _interopRequireDefault(require("./components/Buttons/ButtonBasicV2/ButtonBasicV2"));
|
|
449
456
|
var _ButtonSignUp = _interopRequireDefault(require("./components/Buttons/ButtonSignUp/ButtonSignUp"));
|
|
450
457
|
var _InputDinamycPlaceholder = _interopRequireDefault(require("./components/Inputs/InputDinamycPlaceholder/InputDinamycPlaceholder"));
|
|
451
458
|
var _ModalCrm = _interopRequireDefault(require("./components/ModalCrm/ModalCrm"));
|