@megafon/ui-shared 4.21.2 → 5.0.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/CHANGELOG.md +35 -0
- package/dist/es/components/Card/Card.css +226 -83
- package/dist/es/components/Card/Card.d.ts +30 -62
- package/dist/es/components/Card/Card.js +237 -157
- package/dist/es/components/Card/types.d.ts +71 -0
- package/dist/es/components/Card/types.js +0 -0
- package/dist/es/components/CardsBox/CardsBox.d.ts +4 -7
- package/dist/es/components/CardsBox/CardsBox.js +21 -67
- package/dist/es/components/CardsBox/helpers.d.ts +10 -0
- package/dist/es/components/CardsBox/helpers.js +25 -0
- package/dist/es/components/CarouselBox/CarouselBox.d.ts +6 -1
- package/dist/es/components/CarouselBox/CarouselBox.js +30 -3
- package/dist/es/components/Property/Property.js +2 -2
- package/dist/es/components/Property/types.d.ts +1 -1
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.js +1 -0
- package/dist/lib/components/Card/Card.css +226 -83
- package/dist/lib/components/Card/Card.d.ts +30 -62
- package/dist/lib/components/Card/Card.js +233 -160
- package/dist/lib/components/Card/types.d.ts +71 -0
- package/dist/lib/components/Card/types.js +1 -0
- package/dist/lib/components/CardsBox/CardsBox.d.ts +4 -7
- package/dist/lib/components/CardsBox/CardsBox.js +19 -67
- package/dist/lib/components/CardsBox/helpers.d.ts +10 -0
- package/dist/lib/components/CardsBox/helpers.js +35 -0
- package/dist/lib/components/CarouselBox/CarouselBox.d.ts +6 -1
- package/dist/lib/components/CarouselBox/CarouselBox.js +32 -2
- package/dist/lib/components/Property/Property.js +2 -2
- package/dist/lib/components/Property/types.d.ts +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +8 -0
- package/package.json +2 -2
@@ -3,13 +3,13 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports["default"] =
|
6
|
+
exports["default"] = void 0;
|
7
7
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
9
|
|
10
10
|
require("core-js/modules/es.string.link.js");
|
11
11
|
|
12
|
-
require("core-js/modules/es.
|
12
|
+
require("core-js/modules/es.array.map.js");
|
13
13
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
15
15
|
|
@@ -21,201 +21,274 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
21
21
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
23
23
|
|
24
|
-
var
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
24
|
+
var textsConvertConfig = {
|
25
|
+
b: {
|
26
|
+
component: function component(_ref) {
|
27
|
+
var children = _ref.children;
|
28
|
+
return /*#__PURE__*/_react["default"].createElement("b", null, children);
|
29
|
+
}
|
30
|
+
},
|
31
|
+
ul: {
|
32
|
+
component: function component(_ref2) {
|
33
|
+
var children = _ref2.children;
|
34
|
+
return /*#__PURE__*/_react["default"].createElement("ul", null, children);
|
35
|
+
}
|
36
|
+
},
|
37
|
+
ol: {
|
38
|
+
component: function component(_ref3) {
|
39
|
+
var children = _ref3.children;
|
40
|
+
return /*#__PURE__*/_react["default"].createElement("ol", null, children);
|
41
|
+
}
|
42
|
+
},
|
43
|
+
li: {
|
44
|
+
component: function component(_ref4) {
|
45
|
+
var children = _ref4.children;
|
46
|
+
return /*#__PURE__*/_react["default"].createElement("li", null, children);
|
47
|
+
}
|
48
|
+
}
|
32
49
|
};
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
var
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
title =
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
var Element = href ? _uiCore.Link : 'div';
|
62
|
-
|
63
|
-
var renderImage = _react["default"].useCallback(function () {
|
64
|
-
switch (true) {
|
65
|
-
case !!imageSrc:
|
66
|
-
{
|
67
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
68
|
-
className: cn('pic-wrapper', {
|
69
|
-
'object-fit': objectFit
|
70
|
-
})
|
71
|
-
}, /*#__PURE__*/_react["default"].createElement("img", {
|
72
|
-
className: cn('img'),
|
73
|
-
src: imageSrc,
|
74
|
-
alt: imageAlt
|
75
|
-
}));
|
76
|
-
}
|
77
|
-
|
78
|
-
case !!svgSrc:
|
79
|
-
{
|
80
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
81
|
-
className: cn('svg-wrapper')
|
82
|
-
}, svgSrc);
|
83
|
-
}
|
84
|
-
|
85
|
-
default:
|
86
|
-
return null;
|
50
|
+
var cn = (0, _uiHelpers.cnCreate)('mfui-card');
|
51
|
+
|
52
|
+
var Card = function Card(_ref5) {
|
53
|
+
var dataAttrs = _ref5.dataAttrs,
|
54
|
+
className = _ref5.className,
|
55
|
+
_ref5$isFullHeight = _ref5.isFullHeight,
|
56
|
+
isFullHeight = _ref5$isFullHeight === void 0 ? false : _ref5$isFullHeight,
|
57
|
+
link = _ref5.link,
|
58
|
+
_ref5$view = _ref5.view,
|
59
|
+
view = _ref5$view === void 0 ? 'shadow' : _ref5$view,
|
60
|
+
image = _ref5.image,
|
61
|
+
icon = _ref5.icon,
|
62
|
+
title = _ref5.title,
|
63
|
+
textsList = _ref5.textsList,
|
64
|
+
featuresList = _ref5.featuresList,
|
65
|
+
iconsList = _ref5.iconsList,
|
66
|
+
price = _ref5.price,
|
67
|
+
button = _ref5.button,
|
68
|
+
extraButton = _ref5.extraButton,
|
69
|
+
onClick = _ref5.onClick;
|
70
|
+
var isOnlyTitle = !image && !icon && !textsList && !featuresList && !iconsList && !price && !button && !extraButton;
|
71
|
+
var isLink = (link === null || link === void 0 ? void 0 : link.href) && !button && !extraButton;
|
72
|
+
var isBottomImage = (image === null || image === void 0 ? void 0 : image.position) === 'bottom';
|
73
|
+
var ElementType = isLink ? 'a' : 'div';
|
74
|
+
|
75
|
+
var renderImage = function renderImage() {
|
76
|
+
if (!image) {
|
77
|
+
return null;
|
87
78
|
}
|
88
|
-
}, [imageSrc, svgSrc, objectFit, imageAlt]);
|
89
79
|
|
90
|
-
|
91
|
-
|
80
|
+
return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.imgBox), {
|
81
|
+
className: cn('img-box', {
|
82
|
+
position: image.position
|
83
|
+
})
|
84
|
+
}), /*#__PURE__*/_react["default"].createElement("img", {
|
85
|
+
className: cn('img'),
|
86
|
+
src: image.src,
|
87
|
+
alt: image.alt
|
88
|
+
}));
|
89
|
+
};
|
90
|
+
|
91
|
+
var renderIcon = function renderIcon() {
|
92
|
+
if (!icon) {
|
92
93
|
return null;
|
93
94
|
}
|
94
95
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
linkRel = link.rel;
|
96
|
+
return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.icon), {
|
97
|
+
className: cn('icon')
|
98
|
+
}), icon);
|
99
|
+
};
|
100
100
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
101
|
+
var renderContent = function renderContent() {
|
102
|
+
if (textsList) {
|
103
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
104
|
+
className: cn('texts')
|
105
|
+
}, textsList.map(function (item, i) {
|
106
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
107
|
+
className: cn('texts-item'),
|
108
|
+
key: i
|
109
|
+
}, !!item.title && /*#__PURE__*/_react["default"].createElement("div", {
|
110
|
+
className: cn('texts-title')
|
111
|
+
}, (0, _uiHelpers.convert)(item.title, textsConvertConfig)), /*#__PURE__*/_react["default"].createElement("div", {
|
112
|
+
className: cn('texts-desc')
|
113
|
+
}, (0, _uiHelpers.convert)(item.desc, textsConvertConfig)));
|
114
|
+
}));
|
105
115
|
}
|
106
116
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
117
|
+
if (featuresList) {
|
118
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
119
|
+
className: cn('features')
|
120
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
121
|
+
className: cn('features-list')
|
122
|
+
}, featuresList.items.map(function (item, i) {
|
123
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
124
|
+
className: cn('features-item'),
|
125
|
+
key: i
|
126
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
127
|
+
className: cn('features-item-title')
|
128
|
+
}, item.title), /*#__PURE__*/_react["default"].createElement("div", {
|
129
|
+
className: cn('features-item-separator')
|
130
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
131
|
+
className: cn('features-item-value')
|
132
|
+
}, item.value));
|
133
|
+
})), featuresList.desc);
|
134
|
+
}
|
135
|
+
|
136
|
+
if (iconsList) {
|
137
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
138
|
+
className: cn('icons')
|
139
|
+
}, !!iconsList.desc && /*#__PURE__*/_react["default"].createElement("div", {
|
140
|
+
className: cn('icons-desc')
|
141
|
+
}, iconsList.desc), /*#__PURE__*/_react["default"].createElement("div", {
|
142
|
+
className: cn('icons-list')
|
143
|
+
}, iconsList.items.map(function (item, i) {
|
144
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
145
|
+
className: cn('icons-item'),
|
146
|
+
key: i
|
147
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
148
|
+
className: cn('icons-item-icon')
|
149
|
+
}, item.icon), /*#__PURE__*/_react["default"].createElement("div", {
|
150
|
+
className: cn('icons-item-text')
|
151
|
+
}, item.text));
|
152
|
+
})));
|
153
|
+
}
|
154
|
+
|
155
|
+
return null;
|
156
|
+
};
|
157
|
+
|
158
|
+
var renderPrice = function renderPrice() {
|
159
|
+
if (!price) {
|
160
|
+
return null;
|
161
|
+
}
|
162
|
+
|
163
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
164
|
+
className: cn('price')
|
165
|
+
}, !!price.oldValue && /*#__PURE__*/_react["default"].createElement("div", {
|
166
|
+
className: cn('price-old-value')
|
167
|
+
}, price.oldValue), /*#__PURE__*/_react["default"].createElement("div", {
|
168
|
+
className: cn('price-value')
|
169
|
+
}, price.value), !!price.period && /*#__PURE__*/_react["default"].createElement("div", {
|
170
|
+
className: cn('price-period')
|
171
|
+
}, price.period));
|
172
|
+
};
|
118
173
|
|
119
|
-
var
|
120
|
-
if (!button
|
174
|
+
var renderButtons = function renderButtons() {
|
175
|
+
if (!button && !extraButton) {
|
121
176
|
return null;
|
122
177
|
}
|
123
178
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
btnOnClick = button.onClick;
|
130
|
-
return /*#__PURE__*/_react["default"].createElement(_uiCore.Button, {
|
179
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
180
|
+
className: cn('buttons', {
|
181
|
+
centered: (button === null || button === void 0 ? void 0 : button.isCentered) || (extraButton === null || extraButton === void 0 ? void 0 : extraButton.isCentered)
|
182
|
+
})
|
183
|
+
}, !!button && /*#__PURE__*/_react["default"].createElement(_uiCore.Button, {
|
131
184
|
dataAttrs: {
|
132
185
|
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
|
133
186
|
},
|
134
|
-
className: cn('button'
|
135
|
-
href:
|
136
|
-
target:
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
187
|
+
className: cn('button'),
|
188
|
+
href: button.href,
|
189
|
+
target: button.target,
|
190
|
+
onClick: button === null || button === void 0 ? void 0 : button.onClick
|
191
|
+
}, button.title), !!extraButton && /*#__PURE__*/_react["default"].createElement(_uiCore.Button, {
|
192
|
+
dataAttrs: {
|
193
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.extraButton
|
194
|
+
},
|
195
|
+
className: cn('button'),
|
196
|
+
href: extraButton.href,
|
197
|
+
target: extraButton.target,
|
198
|
+
type: "outline",
|
199
|
+
onClick: extraButton === null || extraButton === void 0 ? void 0 : extraButton.onClick
|
200
|
+
}, extraButton.title));
|
201
|
+
};
|
202
|
+
|
203
|
+
var renderFooter = function renderFooter() {
|
204
|
+
if (!price && !button && !extraButton && !image) {
|
148
205
|
return null;
|
149
206
|
}
|
150
207
|
|
151
208
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
152
|
-
className: cn('
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
'full-height': isFullHeight
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
className: cn('inner', [classes.inner])
|
169
|
-
}, /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, renderImage(), /*#__PURE__*/_react["default"].createElement(_uiCore.Header, {
|
209
|
+
className: cn('footer')
|
210
|
+
}, isBottomImage && renderImage(), renderPrice(), renderButtons());
|
211
|
+
};
|
212
|
+
|
213
|
+
return /*#__PURE__*/_react["default"].createElement(ElementType, (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
214
|
+
className: cn({
|
215
|
+
'only-title': isOnlyTitle,
|
216
|
+
view: view,
|
217
|
+
link: isLink,
|
218
|
+
'full-height': isFullHeight
|
219
|
+
}, [className]),
|
220
|
+
href: isLink ? link === null || link === void 0 ? void 0 : link.href : undefined,
|
221
|
+
target: isLink ? link === null || link === void 0 ? void 0 : link.target : undefined,
|
222
|
+
onClick: isLink ? onClick : undefined
|
223
|
+
}), renderIcon(), !isBottomImage && renderImage(), /*#__PURE__*/_react["default"].createElement(_uiCore.Header, {
|
224
|
+
className: cn('title'),
|
170
225
|
as: "h3",
|
171
|
-
|
172
|
-
},
|
173
|
-
className: cn('text')
|
174
|
-
}, typeof text === 'string' ? (0, _uiHelpers.convert)(text, _uiHelpers.textConvertConfig) : text), renderBtnsWrapper())));
|
226
|
+
align: title.align
|
227
|
+
}, title.text), renderContent(), renderFooter());
|
175
228
|
};
|
176
229
|
|
177
230
|
Card.propTypes = {
|
178
231
|
dataAttrs: _propTypes["default"].shape({
|
179
232
|
root: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
180
|
-
|
181
|
-
|
233
|
+
icon: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
234
|
+
imgBox: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
235
|
+
button: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
236
|
+
extraButton: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
|
182
237
|
}),
|
183
238
|
className: _propTypes["default"].string,
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
239
|
+
view: _propTypes["default"].oneOf(['shadow', 'background']),
|
240
|
+
link: _propTypes["default"].shape({
|
241
|
+
href: _propTypes["default"].string,
|
242
|
+
target: _propTypes["default"].oneOf(['_self', '_blank', '_parent', '_top'])
|
243
|
+
}),
|
244
|
+
image: _propTypes["default"].shape({
|
245
|
+
src: _propTypes["default"].string.isRequired,
|
246
|
+
alt: _propTypes["default"].string,
|
247
|
+
position: _propTypes["default"].oneOf(['top', 'bottom'])
|
248
|
+
}),
|
249
|
+
icon: _propTypes["default"].node,
|
250
|
+
title: _propTypes["default"].shape({
|
251
|
+
text: _propTypes["default"].string.isRequired,
|
252
|
+
align: _propTypes["default"].oneOf(['left', 'center'])
|
253
|
+
}).isRequired,
|
254
|
+
textsList: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
255
|
+
title: _propTypes["default"].string,
|
256
|
+
desc: _propTypes["default"].string.isRequired
|
257
|
+
}).isRequired),
|
258
|
+
featuresList: _propTypes["default"].shape({
|
259
|
+
desc: _propTypes["default"].string,
|
260
|
+
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
261
|
+
title: _propTypes["default"].string.isRequired,
|
262
|
+
value: _propTypes["default"].string.isRequired
|
263
|
+
}).isRequired).isRequired
|
264
|
+
}),
|
265
|
+
iconsList: _propTypes["default"].shape({
|
266
|
+
desc: _propTypes["default"].string,
|
267
|
+
items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
268
|
+
icon: _propTypes["default"].node.isRequired,
|
269
|
+
text: _propTypes["default"].string.isRequired
|
270
|
+
}).isRequired).isRequired
|
271
|
+
}),
|
272
|
+
price: _propTypes["default"].shape({
|
273
|
+
oldValue: _propTypes["default"].string,
|
274
|
+
value: _propTypes["default"].string.isRequired,
|
275
|
+
period: _propTypes["default"].string
|
189
276
|
}),
|
190
|
-
rootRef: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
191
|
-
current: _propTypes["default"].elementType
|
192
|
-
}), _propTypes["default"].any])]),
|
193
|
-
imageSrc: _propTypes["default"].string,
|
194
|
-
imageAlt: _propTypes["default"].string,
|
195
|
-
svgSrc: _propTypes["default"].node,
|
196
|
-
title: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node, _propTypes["default"].arrayOf(_propTypes["default"].node)]).isRequired,
|
197
|
-
text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node, _propTypes["default"].arrayOf(_propTypes["default"].node)]),
|
198
277
|
button: _propTypes["default"].shape({
|
199
278
|
title: _propTypes["default"].string.isRequired,
|
200
279
|
href: _propTypes["default"].string,
|
201
|
-
target: _propTypes["default"].oneOf(
|
202
|
-
|
203
|
-
rel: _propTypes["default"].string,
|
280
|
+
target: _propTypes["default"].oneOf(['_self', '_blank', '_parent', '_top']),
|
281
|
+
isCentered: _propTypes["default"].bool,
|
204
282
|
onClick: _propTypes["default"].func
|
205
283
|
}),
|
206
|
-
|
284
|
+
extraButton: _propTypes["default"].shape({
|
207
285
|
title: _propTypes["default"].string.isRequired,
|
208
286
|
href: _propTypes["default"].string,
|
209
|
-
target: _propTypes["default"].oneOf(
|
210
|
-
|
211
|
-
|
287
|
+
target: _propTypes["default"].oneOf(['_self', '_blank', '_parent', '_top']),
|
288
|
+
isCentered: _propTypes["default"].bool,
|
289
|
+
onClick: _propTypes["default"].func
|
212
290
|
}),
|
213
|
-
|
214
|
-
isLeftHAlign: _propTypes["default"].bool,
|
215
|
-
isFullHeight: _propTypes["default"].bool,
|
216
|
-
href: _propTypes["default"].string,
|
217
|
-
target: _propTypes["default"].oneOf(Object.values(Target)),
|
218
|
-
objectFit: _propTypes["default"].oneOf(Object.values(ObjectFit))
|
291
|
+
onClick: _propTypes["default"].func
|
219
292
|
};
|
220
293
|
var _default = Card;
|
221
294
|
exports["default"] = _default;
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
declare type Target = '_self' | '_blank' | '_parent' | '_top';
|
3
|
+
export declare type Link = {
|
4
|
+
/** Ссылка */
|
5
|
+
href?: string;
|
6
|
+
/** Target свойство ссылки */
|
7
|
+
target?: Target;
|
8
|
+
};
|
9
|
+
export declare type Image = {
|
10
|
+
/** Ссылка на изображение */
|
11
|
+
src: string;
|
12
|
+
/** Значение тега alt для изображения */
|
13
|
+
alt?: string;
|
14
|
+
/** Позиция изображения */
|
15
|
+
position?: 'top' | 'bottom';
|
16
|
+
};
|
17
|
+
export declare type Title = {
|
18
|
+
/** Текст */
|
19
|
+
text: string;
|
20
|
+
/** Выравнивание */
|
21
|
+
align?: 'left' | 'center';
|
22
|
+
};
|
23
|
+
export declare type TextsList = {
|
24
|
+
/** Заголовок */
|
25
|
+
title?: string;
|
26
|
+
/** Описание */
|
27
|
+
desc: string;
|
28
|
+
}[];
|
29
|
+
export declare type FeaturesList = {
|
30
|
+
/** Список */
|
31
|
+
items: {
|
32
|
+
/** Заголовок */
|
33
|
+
title: string;
|
34
|
+
/** Значение */
|
35
|
+
value: string;
|
36
|
+
}[];
|
37
|
+
/** Описание */
|
38
|
+
desc?: string;
|
39
|
+
};
|
40
|
+
export declare type IconsList = {
|
41
|
+
/** Список */
|
42
|
+
items: {
|
43
|
+
/** Иконка */
|
44
|
+
icon: React.ReactNode;
|
45
|
+
/** Текст */
|
46
|
+
text: string;
|
47
|
+
}[];
|
48
|
+
/** Описание */
|
49
|
+
desc?: string;
|
50
|
+
};
|
51
|
+
export declare type Price = {
|
52
|
+
/** Старая цена */
|
53
|
+
oldValue?: string;
|
54
|
+
/** Текущая цена */
|
55
|
+
value: string;
|
56
|
+
/** Период */
|
57
|
+
period?: string;
|
58
|
+
};
|
59
|
+
export declare type ButtonType = {
|
60
|
+
/** Название */
|
61
|
+
title: string;
|
62
|
+
/** Ссылка */
|
63
|
+
href?: string;
|
64
|
+
/** Target свойство кнопки */
|
65
|
+
target?: Target;
|
66
|
+
/** Центрировать кнопку */
|
67
|
+
isCentered?: boolean;
|
68
|
+
/** Обработчик клика по кнопке */
|
69
|
+
onClick?: () => void;
|
70
|
+
};
|
71
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";
|
@@ -1,16 +1,13 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import { ICard } from '../Card/Card';
|
3
3
|
interface ICardsBoxProps {
|
4
|
-
/**
|
5
|
-
|
6
|
-
/** Ссылка на корневой элемент */
|
7
|
-
rootRef?: React.Ref<HTMLDivElement>;
|
4
|
+
/** Выводить по две колонки в ряду для 2 или 4 карточек */
|
5
|
+
renderTwoColumnsInRow?: boolean;
|
8
6
|
/** Дата атрибуты для корневого элемента */
|
9
7
|
dataAttrs?: {
|
10
|
-
|
8
|
+
root?: Record<string, string>;
|
9
|
+
column?: Record<string, string>;
|
11
10
|
};
|
12
|
-
/** Обработчик смены слайда (должен быть обернут в useCallback) */
|
13
|
-
onChange?: (currentIndex: number, previousIndex: number, slidesPerView?: number | 'auto') => void;
|
14
11
|
children: Array<React.ReactElement<ICard>> | React.ReactElement<ICard>;
|
15
12
|
}
|
16
13
|
declare const CardsBox: React.FC<ICardsBoxProps>;
|