@megafon/ui-core 3.10.1 → 3.12.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 +39 -0
- package/dist/es/components/Button/Button.css +37 -0
- package/dist/es/components/Button/Button.d.ts +2 -0
- package/dist/es/components/Button/Button.js +10 -3
- package/dist/es/components/Carousel/Carousel.js +3 -1
- package/dist/es/components/Notification/Notification.css +131 -33
- package/dist/es/components/Notification/Notification.d.ts +20 -0
- package/dist/es/components/Notification/Notification.js +176 -10
- package/dist/es/components/Tabs/Tab.d.ts +1 -0
- package/dist/es/components/Tabs/Tab.js +2 -1
- package/dist/es/components/Tabs/Tabs.js +4 -4
- package/dist/lib/components/Button/Button.css +37 -0
- package/dist/lib/components/Button/Button.d.ts +2 -0
- package/dist/lib/components/Button/Button.js +10 -3
- package/dist/lib/components/Carousel/Carousel.js +3 -1
- package/dist/lib/components/Notification/Notification.css +131 -33
- package/dist/lib/components/Notification/Notification.d.ts +20 -0
- package/dist/lib/components/Notification/Notification.js +179 -10
- package/dist/lib/components/Tabs/Tab.d.ts +1 -0
- package/dist/lib/components/Tabs/Tab.js +2 -1
- package/dist/lib/components/Tabs/Tabs.js +4 -4
- package/package.json +2 -2
|
@@ -33,6 +33,20 @@ export interface INotificationProps {
|
|
|
33
33
|
hasCloseButton?: boolean;
|
|
34
34
|
/** Заголовок */
|
|
35
35
|
title?: string;
|
|
36
|
+
/** Короткий текст, отображаемый при закрытом расхлопе */
|
|
37
|
+
shortText?: string;
|
|
38
|
+
/** заголовок закрытого расхлопа */
|
|
39
|
+
closeCollapseTitle?: string;
|
|
40
|
+
/** заголовок открытого расхлопа */
|
|
41
|
+
openCollapseTitle?: string;
|
|
42
|
+
/** Управление состоянием открыт/закрыт расхлопа "Подробнее" */
|
|
43
|
+
isCollapseOpened?: boolean;
|
|
44
|
+
/** Текст кнопки */
|
|
45
|
+
buttonText?: string;
|
|
46
|
+
/** Лоадер кнопки */
|
|
47
|
+
buttonLoader?: boolean;
|
|
48
|
+
/** Заблокировать кнопку */
|
|
49
|
+
buttonDisable?: boolean;
|
|
36
50
|
/** Текст ссылки внизу уведомления */
|
|
37
51
|
link?: string;
|
|
38
52
|
/** rel - аргумент тега <a> для ссылки */
|
|
@@ -50,11 +64,17 @@ export interface INotificationProps {
|
|
|
50
64
|
text?: Record<string, string>;
|
|
51
65
|
link?: Record<string, string>;
|
|
52
66
|
close?: Record<string, string>;
|
|
67
|
+
button?: Record<string, string>;
|
|
68
|
+
collapseButton?: Record<string, string>;
|
|
53
69
|
};
|
|
54
70
|
/** Обработчик на закрытие */
|
|
55
71
|
onClose?: () => void;
|
|
56
72
|
/** Обработчик клика по ссылке */
|
|
57
73
|
onLinkClick?: () => void;
|
|
74
|
+
/** Обработчик клика по кнопке */
|
|
75
|
+
onButtonClick?: () => void;
|
|
76
|
+
/** Обработчик клика по кнопке расхлопа */
|
|
77
|
+
onCollapseButtonClick?: (value: boolean) => void;
|
|
58
78
|
}
|
|
59
79
|
declare const Notification: React.FC<INotificationProps>;
|
|
60
80
|
export default Notification;
|
|
@@ -11,14 +11,20 @@ require("core-js/modules/es.object.values");
|
|
|
11
11
|
|
|
12
12
|
require("core-js/modules/es.string.link");
|
|
13
13
|
|
|
14
|
+
require("core-js/modules/web.timers");
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
14
18
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
19
|
|
|
16
|
-
var _react =
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
21
|
|
|
18
22
|
var _uiHelpers = require("@megafon/ui-helpers");
|
|
19
23
|
|
|
20
24
|
var PropTypes = _interopRequireWildcard(require("prop-types"));
|
|
21
25
|
|
|
26
|
+
var _Button = _interopRequireDefault(require("../Button/Button"));
|
|
27
|
+
|
|
22
28
|
var _Header = _interopRequireDefault(require("../Header/Header"));
|
|
23
29
|
|
|
24
30
|
var _TextLink = _interopRequireDefault(require("../TextLink/TextLink"));
|
|
@@ -41,6 +47,26 @@ var ErrorIcon = function ErrorIcon(props) {
|
|
|
41
47
|
}));
|
|
42
48
|
};
|
|
43
49
|
|
|
50
|
+
var ArrowDown = function ArrowDown(props) {
|
|
51
|
+
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({
|
|
52
|
+
viewBox: "0 0 20 20"
|
|
53
|
+
}, props), /*#__PURE__*/_react["default"].createElement("path", {
|
|
54
|
+
d: "M6 8h8l-4 5z",
|
|
55
|
+
fillRule: "evenodd",
|
|
56
|
+
clipRule: "evenodd"
|
|
57
|
+
}));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var ArrowUp = function ArrowUp(props) {
|
|
61
|
+
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({
|
|
62
|
+
viewBox: "0 0 20 20"
|
|
63
|
+
}, props), /*#__PURE__*/_react["default"].createElement("path", {
|
|
64
|
+
d: "M14 12H6l4-5z",
|
|
65
|
+
fillRule: "evenodd",
|
|
66
|
+
clipRule: "evenodd"
|
|
67
|
+
}));
|
|
68
|
+
};
|
|
69
|
+
|
|
44
70
|
var RightArrow = function RightArrow(props) {
|
|
45
71
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({
|
|
46
72
|
viewBox: "0 0 20 20"
|
|
@@ -83,6 +109,7 @@ var CancelIcon = function CancelIcon(props) {
|
|
|
83
109
|
}));
|
|
84
110
|
};
|
|
85
111
|
|
|
112
|
+
var TIMEOUT_DELAY = 400;
|
|
86
113
|
var NotificationTypes = {
|
|
87
114
|
SUCCESS: 'success',
|
|
88
115
|
WARNING: 'warning',
|
|
@@ -115,6 +142,18 @@ var Notification = function Notification(_ref) {
|
|
|
115
142
|
isColored = _ref$isColored === void 0 ? true : _ref$isColored,
|
|
116
143
|
hasCloseButton = _ref.hasCloseButton,
|
|
117
144
|
title = _ref.title,
|
|
145
|
+
shortText = _ref.shortText,
|
|
146
|
+
_ref$closeCollapseTit = _ref.closeCollapseTitle,
|
|
147
|
+
closeCollapseTitle = _ref$closeCollapseTit === void 0 ? 'Подробнее' : _ref$closeCollapseTit,
|
|
148
|
+
_ref$openCollapseTitl = _ref.openCollapseTitle,
|
|
149
|
+
openCollapseTitle = _ref$openCollapseTitl === void 0 ? 'Свернуть' : _ref$openCollapseTitl,
|
|
150
|
+
_ref$isCollapseOpened = _ref.isCollapseOpened,
|
|
151
|
+
isCollapseOpened = _ref$isCollapseOpened === void 0 ? false : _ref$isCollapseOpened,
|
|
152
|
+
buttonText = _ref.buttonText,
|
|
153
|
+
_ref$buttonLoader = _ref.buttonLoader,
|
|
154
|
+
buttonLoader = _ref$buttonLoader === void 0 ? false : _ref$buttonLoader,
|
|
155
|
+
_ref$buttonDisable = _ref.buttonDisable,
|
|
156
|
+
buttonDisable = _ref$buttonDisable === void 0 ? false : _ref$buttonDisable,
|
|
118
157
|
link = _ref.link,
|
|
119
158
|
rel = _ref.rel,
|
|
120
159
|
href = _ref.href,
|
|
@@ -122,7 +161,84 @@ var Notification = function Notification(_ref) {
|
|
|
122
161
|
icon = _ref.icon,
|
|
123
162
|
dataAttrs = _ref.dataAttrs,
|
|
124
163
|
onClose = _ref.onClose,
|
|
125
|
-
onLinkClick = _ref.onLinkClick
|
|
164
|
+
onLinkClick = _ref.onLinkClick,
|
|
165
|
+
onButtonClick = _ref.onButtonClick,
|
|
166
|
+
onCollapseButtonClick = _ref.onCollapseButtonClick;
|
|
167
|
+
var shortTextRef = (0, _react.useRef)(null);
|
|
168
|
+
var fullTextRef = (0, _react.useRef)(null);
|
|
169
|
+
var wrapTextRef = (0, _react.useRef)(null);
|
|
170
|
+
|
|
171
|
+
var _useState = (0, _react.useState)(isCollapseOpened),
|
|
172
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
173
|
+
showFullText = _useState2[0],
|
|
174
|
+
setShowFullText = _useState2[1];
|
|
175
|
+
|
|
176
|
+
var _useState3 = (0, _react.useState)(false),
|
|
177
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
178
|
+
updateTextHeight = _useState4[0],
|
|
179
|
+
setUpdateTextHeight = _useState4[1];
|
|
180
|
+
|
|
181
|
+
var initialTextClasses = {
|
|
182
|
+
"short": {
|
|
183
|
+
hidden: shortText && showFullText
|
|
184
|
+
},
|
|
185
|
+
full: {
|
|
186
|
+
visible: showFullText
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
var _useState5 = (0, _react.useState)(initialTextClasses),
|
|
191
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
192
|
+
textClasses = _useState6[0],
|
|
193
|
+
setTextClass = _useState6[1];
|
|
194
|
+
|
|
195
|
+
var hasBottom = shortText || buttonText || link;
|
|
196
|
+
var isErrorType = type === NotificationTypes.ERROR;
|
|
197
|
+
(0, _react.useEffect)(function () {
|
|
198
|
+
setShowFullText(isCollapseOpened);
|
|
199
|
+
}, [isCollapseOpened]);
|
|
200
|
+
(0, _react.useEffect)(function () {
|
|
201
|
+
if (!fullTextRef.current || !shortTextRef.current || !wrapTextRef.current) {
|
|
202
|
+
return undefined;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
var visibleElement = showFullText ? shortTextRef.current : fullTextRef.current;
|
|
206
|
+
|
|
207
|
+
var _visibleElement$getBo = visibleElement.getBoundingClientRect(),
|
|
208
|
+
height = _visibleElement$getBo.height;
|
|
209
|
+
|
|
210
|
+
wrapTextRef.current.style.height = "".concat(height, "px");
|
|
211
|
+
return setUpdateTextHeight(!updateTextHeight); // не должен запускаться при изменении флага updateTextHeight;
|
|
212
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
213
|
+
}, [showFullText]);
|
|
214
|
+
(0, _react.useEffect)(function () {
|
|
215
|
+
if (!fullTextRef.current || !shortTextRef.current || !wrapTextRef.current) {
|
|
216
|
+
return undefined;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
var hiddenElement = showFullText ? fullTextRef.current : shortTextRef.current;
|
|
220
|
+
|
|
221
|
+
var _hiddenElement$getBou = hiddenElement.getBoundingClientRect(),
|
|
222
|
+
height = _hiddenElement$getBou.height;
|
|
223
|
+
|
|
224
|
+
wrapTextRef.current.style.height = "".concat(height, "px");
|
|
225
|
+
setTextClass(initialTextClasses);
|
|
226
|
+
var timeoutId = setTimeout(function () {
|
|
227
|
+
if (wrapTextRef.current) {
|
|
228
|
+
wrapTextRef.current.style.height = 'auto';
|
|
229
|
+
}
|
|
230
|
+
}, TIMEOUT_DELAY);
|
|
231
|
+
return function () {
|
|
232
|
+
clearTimeout(timeoutId);
|
|
233
|
+
}; // не должен запускаться при изменении флага showFullText;
|
|
234
|
+
// запускается по флагу updateTextHeight, который изменяется в предыдущем эффекте.
|
|
235
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
236
|
+
}, [updateTextHeight]);
|
|
237
|
+
|
|
238
|
+
var handleCollapseButtonClick = function handleCollapseButtonClick() {
|
|
239
|
+
setShowFullText(!showFullText);
|
|
240
|
+
onCollapseButtonClick === null || onCollapseButtonClick === void 0 ? void 0 : onCollapseButtonClick(!showFullText);
|
|
241
|
+
};
|
|
126
242
|
|
|
127
243
|
var renderLink = function renderLink() {
|
|
128
244
|
return /*#__PURE__*/_react["default"].createElement(_TextLink["default"], {
|
|
@@ -135,10 +251,38 @@ var Notification = function Notification(_ref) {
|
|
|
135
251
|
href: href,
|
|
136
252
|
target: target
|
|
137
253
|
}, link, /*#__PURE__*/_react["default"].createElement(RightArrow, {
|
|
138
|
-
className: cn('
|
|
254
|
+
className: cn('link-arrow')
|
|
139
255
|
}));
|
|
140
256
|
};
|
|
141
257
|
|
|
258
|
+
var renderButton = function renderButton() {
|
|
259
|
+
return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
260
|
+
className: cn('button'),
|
|
261
|
+
dataAttrs: {
|
|
262
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
|
|
263
|
+
},
|
|
264
|
+
sizeAll: "small",
|
|
265
|
+
sizeMobile: "extra-small",
|
|
266
|
+
theme: isErrorType && isColored ? 'white' : 'green',
|
|
267
|
+
showLoader: buttonLoader,
|
|
268
|
+
disabled: buttonDisable,
|
|
269
|
+
ellipsis: !buttonLoader,
|
|
270
|
+
onClick: onButtonClick
|
|
271
|
+
}, buttonText);
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
var renderCollapseButton = function renderCollapseButton() {
|
|
275
|
+
return /*#__PURE__*/_react["default"].createElement("button", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.collapseButton), {
|
|
276
|
+
type: "button",
|
|
277
|
+
className: cn('collapse-button'),
|
|
278
|
+
onClick: handleCollapseButtonClick
|
|
279
|
+
}), showFullText ? openCollapseTitle : closeCollapseTitle, /*#__PURE__*/_react["default"].createElement("div", {
|
|
280
|
+
className: cn('collapse-arrow', {
|
|
281
|
+
close: showFullText
|
|
282
|
+
})
|
|
283
|
+
}, showFullText ? /*#__PURE__*/_react["default"].createElement(ArrowUp, null) : /*#__PURE__*/_react["default"].createElement(ArrowDown, null)));
|
|
284
|
+
};
|
|
285
|
+
|
|
142
286
|
var renderIcon = function renderIcon() {
|
|
143
287
|
if (icon) {
|
|
144
288
|
return icon;
|
|
@@ -179,19 +323,33 @@ var Notification = function Notification(_ref) {
|
|
|
179
323
|
className: cn('icon-container')
|
|
180
324
|
}, renderIcon()), /*#__PURE__*/_react["default"].createElement("div", {
|
|
181
325
|
className: cn('content', [contentClass])
|
|
326
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
327
|
+
className: cn('text-container')
|
|
182
328
|
}, title && /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
183
329
|
dataAttrs: {
|
|
184
330
|
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.title
|
|
185
331
|
},
|
|
186
332
|
as: "h5",
|
|
187
|
-
className: cn('title'
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
},
|
|
333
|
+
className: cn('title')
|
|
334
|
+
}, title), /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
|
|
335
|
+
ref: wrapTextRef
|
|
336
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.text), {
|
|
191
337
|
className: cn('text', {
|
|
192
338
|
'close-padding': hasCloseButton && !title
|
|
193
339
|
})
|
|
194
|
-
}),
|
|
340
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
341
|
+
ref: shortTextRef,
|
|
342
|
+
className: cn('short-text', textClasses["short"])
|
|
343
|
+
}, shortText || children), shortText && /*#__PURE__*/_react["default"].createElement("div", {
|
|
344
|
+
ref: fullTextRef,
|
|
345
|
+
className: cn('full-text', textClasses.full)
|
|
346
|
+
}, children))), hasBottom && /*#__PURE__*/_react["default"].createElement("div", {
|
|
347
|
+
className: cn('bottom', {
|
|
348
|
+
'has-button': !!buttonText
|
|
349
|
+
})
|
|
350
|
+
}, (buttonText || link) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
351
|
+
className: cn('bottom-block')
|
|
352
|
+
}, buttonText && renderButton(), link && !shortText && renderLink()), shortText && renderCollapseButton()))), hasCloseButton && /*#__PURE__*/_react["default"].createElement("button", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.close), {
|
|
195
353
|
className: cn('close'),
|
|
196
354
|
type: "button",
|
|
197
355
|
onClick: onClose
|
|
@@ -212,6 +370,13 @@ Notification.propTypes = {
|
|
|
212
370
|
isColored: PropTypes.bool,
|
|
213
371
|
hasCloseButton: PropTypes.bool,
|
|
214
372
|
title: PropTypes.string,
|
|
373
|
+
shortText: PropTypes.string,
|
|
374
|
+
closeCollapseTitle: PropTypes.string,
|
|
375
|
+
openCollapseTitle: PropTypes.string,
|
|
376
|
+
isCollapseOpened: PropTypes.bool,
|
|
377
|
+
buttonText: PropTypes.string,
|
|
378
|
+
buttonLoader: PropTypes.bool,
|
|
379
|
+
buttonDisable: PropTypes.bool,
|
|
215
380
|
link: PropTypes.string,
|
|
216
381
|
rel: PropTypes.string,
|
|
217
382
|
href: PropTypes.string,
|
|
@@ -222,10 +387,14 @@ Notification.propTypes = {
|
|
|
222
387
|
title: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
223
388
|
text: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
224
389
|
link: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
225
|
-
close: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
390
|
+
close: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
391
|
+
button: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
392
|
+
collapseButton: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
226
393
|
}),
|
|
227
394
|
onClose: PropTypes.func,
|
|
228
|
-
onLinkClick: PropTypes.func
|
|
395
|
+
onLinkClick: PropTypes.func,
|
|
396
|
+
onButtonClick: PropTypes.func,
|
|
397
|
+
onCollapseButtonClick: PropTypes.func
|
|
229
398
|
};
|
|
230
399
|
var _default = Notification;
|
|
231
400
|
exports["default"] = _default;
|
|
@@ -25,7 +25,8 @@ var Tab = function Tab(_ref) {
|
|
|
25
25
|
|
|
26
26
|
Tab.propTypes = {
|
|
27
27
|
dataAttrs: _propTypes["default"].shape({
|
|
28
|
-
root: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
|
|
28
|
+
root: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
|
29
|
+
inner: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
|
|
29
30
|
}),
|
|
30
31
|
title: _propTypes["default"].string,
|
|
31
32
|
icon: _propTypes["default"].node,
|
|
@@ -299,15 +299,15 @@ var Tabs = function Tabs(_ref) {
|
|
|
299
299
|
var rootRefNode = rootRef.current;
|
|
300
300
|
rootRefNode && ((_a = intersectionObserverRef.current) === null || _a === void 0 ? void 0 : _a.unobserve(outerObserveContainer || rootRefNode));
|
|
301
301
|
}, [outerObserveContainer]);
|
|
302
|
-
var renderTab = React.useCallback(function (index, title, icon, href) {
|
|
302
|
+
var renderTab = React.useCallback(function (index, title, icon, href, attr) {
|
|
303
303
|
var ElementType = href ? 'a' : 'div';
|
|
304
|
-
return /*#__PURE__*/React.createElement(ElementType, {
|
|
304
|
+
return /*#__PURE__*/React.createElement(ElementType, (0, _extends2["default"])({
|
|
305
305
|
href: href,
|
|
306
306
|
className: cn('tab-inner', {
|
|
307
307
|
current: currentIndex === index
|
|
308
308
|
}),
|
|
309
309
|
onClick: handleTabInnerClick(index)
|
|
310
|
-
}, !!icon && /*#__PURE__*/React.createElement("div", {
|
|
310
|
+
}, (0, _uiHelpers.filterDataAttrs)(attr, index + 1)), !!icon && /*#__PURE__*/React.createElement("div", {
|
|
311
311
|
className: cn('tab-icon')
|
|
312
312
|
}, icon), !!title && /*#__PURE__*/React.createElement("div", {
|
|
313
313
|
className: cn('tab-title')
|
|
@@ -321,7 +321,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
321
321
|
href = _child$props.href,
|
|
322
322
|
renderTabWrapper = _child$props.renderTabWrapper,
|
|
323
323
|
data = _child$props.dataAttrs;
|
|
324
|
-
var tab = renderTab(i, title, icon, href);
|
|
324
|
+
var tab = renderTab(i, title, icon, href, data === null || data === void 0 ? void 0 : data.inner);
|
|
325
325
|
var activeTabClassName = currentIndex === i ? activeTabClass : undefined;
|
|
326
326
|
return /*#__PURE__*/React.createElement(_react2.SwiperSlide, {
|
|
327
327
|
className: cn('slide')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@megafon/ui-core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.12.1",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"styles"
|
|
@@ -97,5 +97,5 @@
|
|
|
97
97
|
"react-popper": "^2.2.3",
|
|
98
98
|
"swiper": "^6.5.6"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "d951676f8c48d197b6107b4e90b04ea245cf0649"
|
|
101
101
|
}
|