@megafon/ui-core 3.7.0 → 3.10.0
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/Banner/Banner.d.ts +2 -0
- package/dist/es/components/Banner/Banner.js +49 -17
- package/dist/es/components/Calendar/components/Month/Month.js +4 -4
- package/dist/es/components/Notification/Notification.d.ts +6 -0
- package/dist/es/components/Notification/Notification.js +13 -3
- package/dist/es/components/Select/Select.js +1 -1
- package/dist/es/components/Switcher/Switcher.d.ts +1 -0
- package/dist/es/components/Switcher/Switcher.js +4 -3
- package/dist/es/components/Tooltip/Tooltip.d.ts +2 -0
- package/dist/es/components/Tooltip/Tooltip.js +8 -3
- package/dist/lib/components/Banner/Banner.d.ts +2 -0
- package/dist/lib/components/Banner/Banner.js +49 -17
- package/dist/lib/components/Calendar/components/Month/Month.js +4 -4
- package/dist/lib/components/Notification/Notification.d.ts +6 -0
- package/dist/lib/components/Notification/Notification.js +13 -3
- package/dist/lib/components/Select/Select.js +1 -1
- package/dist/lib/components/Switcher/Switcher.d.ts +1 -0
- package/dist/lib/components/Switcher/Switcher.js +4 -3
- package/dist/lib/components/Tooltip/Tooltip.d.ts +2 -0
- package/dist/lib/components/Tooltip/Tooltip.js +8 -3
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,45 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.10.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-core@3.9.0...@megafon/ui-core@3.10.0) (2022-05-30)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **banner:** add new prop 'pauseOnHover' ([ac654c3](https://github.com/MegafonWebLab/megafon-ui/commit/ac654c3c23821a5d29ffd5cd91ff7337b3d087c1))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [3.9.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-core@3.8.0...@megafon/ui-core@3.9.0) (2022-05-27)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **select:** fix selected item color when value is zero ([9847095](https://github.com/MegafonWebLab/megafon-ui/commit/98470955ef813504d4bfa4cd4d3aba77b5458446))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* **switcher:** add data-attribute for inner element ([793a022](https://github.com/MegafonWebLab/megafon-ui/commit/793a0224ab957b938e67dd1b4d16c2389a9fb6f8))
|
|
28
|
+
* **tooltip:** add portal selector props ([6188832](https://github.com/MegafonWebLab/megafon-ui/commit/6188832e9ba212e7a8182333aba06d77c3e979d6))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
# [3.8.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-core@3.7.0...@megafon/ui-core@3.8.0) (2022-05-17)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Features
|
|
38
|
+
|
|
39
|
+
* **notification:** add props classes to notification component ([608a424](https://github.com/MegafonWebLab/megafon-ui/commit/608a4246eb99af354fb7cf8ab98c2ed513d87b66))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
6
45
|
# [3.7.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-core@3.6.0...@megafon/ui-core@3.7.0) (2022-05-05)
|
|
7
46
|
|
|
8
47
|
|
|
@@ -32,6 +32,8 @@ export interface IBannerProps {
|
|
|
32
32
|
autoPlay?: boolean;
|
|
33
33
|
/** Задержка автоматической прокрутки */
|
|
34
34
|
autoPlayDelay?: number;
|
|
35
|
+
/** Пауза автоматической прокрутки при наведении курсора на компонент */
|
|
36
|
+
pauseOnHover?: boolean;
|
|
35
37
|
/** Цветовая тема навигации */
|
|
36
38
|
navTheme?: NavThemeType;
|
|
37
39
|
/** Обработчик клика по стрелке "вперед" (должен быть обернут в useCallback) */
|
|
@@ -49,7 +49,9 @@ var Banner = function Banner(_ref) {
|
|
|
49
49
|
onPrevClick = _ref.onPrevClick,
|
|
50
50
|
onDotClick = _ref.onDotClick,
|
|
51
51
|
onChange = _ref.onChange,
|
|
52
|
-
dataAttrs = _ref.dataAttrs
|
|
52
|
+
dataAttrs = _ref.dataAttrs,
|
|
53
|
+
_ref$pauseOnHover = _ref.pauseOnHover,
|
|
54
|
+
pauseOnHover = _ref$pauseOnHover === void 0 ? false : _ref$pauseOnHover;
|
|
53
55
|
|
|
54
56
|
var _React$useState = React.useState(),
|
|
55
57
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -69,29 +71,42 @@ var Banner = function Banner(_ref) {
|
|
|
69
71
|
var _React$useState7 = React.useState(autoPlay),
|
|
70
72
|
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
71
73
|
isAutoPlaying = _React$useState8[0],
|
|
72
|
-
|
|
74
|
+
setAutoPlaying = _React$useState8[1];
|
|
73
75
|
|
|
74
76
|
var _React$useState9 = React.useState(0),
|
|
75
77
|
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
76
78
|
activeIndex = _React$useState10[0],
|
|
77
79
|
setActiveIndex = _React$useState10[1];
|
|
78
80
|
|
|
81
|
+
var _React$useState11 = React.useState(autoPlayDelay),
|
|
82
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
83
|
+
delay = _React$useState12[0],
|
|
84
|
+
setDelay = _React$useState12[1];
|
|
85
|
+
|
|
86
|
+
var _React$useState13 = React.useState(false),
|
|
87
|
+
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
88
|
+
isIncreasedDelay = _React$useState14[0],
|
|
89
|
+
setIsIncreasedDelay = _React$useState14[1];
|
|
90
|
+
|
|
79
91
|
var showDotTimer = loop ? isAutoPlaying : isAutoPlaying && !isEnd;
|
|
80
|
-
var dotTimerDelay =
|
|
92
|
+
var dotTimerDelay = delay / 1000;
|
|
81
93
|
var navArrowTheme = navTheme === NavTheme.DARK ? ArrowTheme.DARK : ArrowTheme.PURPLE;
|
|
94
|
+
var rootRef = React.useRef(null);
|
|
82
95
|
var increaseAutoplayDelay = React.useCallback(function (_ref2) {
|
|
83
96
|
var params = _ref2.params,
|
|
84
97
|
autoplay = _ref2.autoplay;
|
|
85
98
|
|
|
86
|
-
if (_typeof(params.autoplay) !== 'object' || !
|
|
99
|
+
if (_typeof(params.autoplay) !== 'object' || !autoPlay) {
|
|
87
100
|
return;
|
|
88
101
|
}
|
|
89
102
|
|
|
90
103
|
autoplay.stop(); // eslint-disable-next-line no-param-reassign
|
|
91
104
|
|
|
92
105
|
params.autoplay.delay = autoPlayDelay * 3;
|
|
106
|
+
setDelay(autoPlayDelay * 3);
|
|
107
|
+
setIsIncreasedDelay(true);
|
|
93
108
|
autoplay.start();
|
|
94
|
-
}, [autoPlayDelay]);
|
|
109
|
+
}, [autoPlay, autoPlayDelay]);
|
|
95
110
|
var handlePrevClick = React.useCallback(function () {
|
|
96
111
|
if (!swiperInstance) {
|
|
97
112
|
return;
|
|
@@ -99,8 +114,8 @@ var Banner = function Banner(_ref) {
|
|
|
99
114
|
|
|
100
115
|
swiperInstance.slidePrev();
|
|
101
116
|
onPrevClick === null || onPrevClick === void 0 ? void 0 : onPrevClick(swiperInstance.realIndex);
|
|
102
|
-
increaseAutoplayDelay(swiperInstance);
|
|
103
|
-
}, [swiperInstance, onPrevClick, increaseAutoplayDelay]);
|
|
117
|
+
!isIncreasedDelay && increaseAutoplayDelay(swiperInstance);
|
|
118
|
+
}, [swiperInstance, onPrevClick, isIncreasedDelay, increaseAutoplayDelay]);
|
|
104
119
|
var handleNextClick = React.useCallback(function () {
|
|
105
120
|
if (!swiperInstance) {
|
|
106
121
|
return;
|
|
@@ -108,8 +123,8 @@ var Banner = function Banner(_ref) {
|
|
|
108
123
|
|
|
109
124
|
swiperInstance.slideNext();
|
|
110
125
|
onNextClick === null || onNextClick === void 0 ? void 0 : onNextClick(swiperInstance.realIndex);
|
|
111
|
-
increaseAutoplayDelay(swiperInstance);
|
|
112
|
-
}, [swiperInstance, onNextClick, increaseAutoplayDelay]);
|
|
126
|
+
!isIncreasedDelay && increaseAutoplayDelay(swiperInstance);
|
|
127
|
+
}, [swiperInstance, onNextClick, isIncreasedDelay, increaseAutoplayDelay]);
|
|
113
128
|
var handleDotClick = React.useCallback(function (index) {
|
|
114
129
|
if (!swiperInstance) {
|
|
115
130
|
return;
|
|
@@ -122,11 +137,8 @@ var Banner = function Banner(_ref) {
|
|
|
122
137
|
}
|
|
123
138
|
|
|
124
139
|
onDotClick === null || onDotClick === void 0 ? void 0 : onDotClick(swiperInstance.realIndex);
|
|
125
|
-
increaseAutoplayDelay(swiperInstance);
|
|
126
|
-
}, [swiperInstance, loop, onDotClick, increaseAutoplayDelay]);
|
|
127
|
-
var handleSwiper = React.useCallback(function (swiper) {
|
|
128
|
-
setSwiperInstance(swiper);
|
|
129
|
-
}, []);
|
|
140
|
+
!isIncreasedDelay && increaseAutoplayDelay(swiperInstance);
|
|
141
|
+
}, [swiperInstance, loop, onDotClick, isIncreasedDelay, increaseAutoplayDelay]);
|
|
130
142
|
var handleReachBeginning = React.useCallback(function () {
|
|
131
143
|
setBeginning(true);
|
|
132
144
|
}, []);
|
|
@@ -149,23 +161,42 @@ var Banner = function Banner(_ref) {
|
|
|
149
161
|
onChange === null || onChange === void 0 ? void 0 : onChange(realIndex);
|
|
150
162
|
}, [onChange]);
|
|
151
163
|
var handleAutoplayStop = React.useCallback(function () {
|
|
152
|
-
|
|
164
|
+
setAutoPlaying(false);
|
|
153
165
|
}, []);
|
|
166
|
+
var handleAutoPlayStart = React.useCallback(function () {
|
|
167
|
+
setAutoPlaying(true);
|
|
168
|
+
}, []);
|
|
169
|
+
React.useEffect(function () {
|
|
170
|
+
var rootElement = rootRef.current;
|
|
171
|
+
|
|
172
|
+
if (!pauseOnHover || !autoPlay) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
rootElement === null || rootElement === void 0 ? void 0 : rootElement.addEventListener('mouseenter', function () {
|
|
177
|
+
swiperInstance === null || swiperInstance === void 0 ? void 0 : swiperInstance.autoplay.stop();
|
|
178
|
+
});
|
|
179
|
+
rootElement === null || rootElement === void 0 ? void 0 : rootElement.addEventListener('mouseleave', function () {
|
|
180
|
+
swiperInstance === null || swiperInstance === void 0 ? void 0 : swiperInstance.autoplay.start();
|
|
181
|
+
});
|
|
182
|
+
}, [autoPlay, pauseOnHover, swiperInstance === null || swiperInstance === void 0 ? void 0 : swiperInstance.autoplay]);
|
|
154
183
|
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
155
184
|
className: cn({
|
|
156
185
|
'nav-theme': navTheme
|
|
157
|
-
}, className)
|
|
186
|
+
}, className),
|
|
187
|
+
ref: rootRef
|
|
158
188
|
}), /*#__PURE__*/React.createElement(Swiper, _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.swiper), {
|
|
159
189
|
className: cn('swiper'),
|
|
160
190
|
loop: loop,
|
|
161
191
|
autoplay: autoPlay ? getAutoPlayConfig(autoPlayDelay) : false,
|
|
162
192
|
watchSlidesVisibility: true,
|
|
163
|
-
onSwiper:
|
|
193
|
+
onSwiper: setSwiperInstance,
|
|
164
194
|
onReachBeginning: handleReachBeginning,
|
|
165
195
|
onReachEnd: handleReachEnd,
|
|
166
196
|
onFromEdge: handleFromEdge,
|
|
167
197
|
onSlideChange: handleSlideChange,
|
|
168
198
|
onAutoplayStop: handleAutoplayStop,
|
|
199
|
+
onAutoplayStart: handleAutoPlayStart,
|
|
169
200
|
onTouchEnd: increaseAutoplayDelay
|
|
170
201
|
}), React.Children.map(children, function (child, i) {
|
|
171
202
|
return /*#__PURE__*/React.createElement(SwiperSlide, _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.slide, i + 1), {
|
|
@@ -232,6 +263,7 @@ Banner.propTypes = {
|
|
|
232
263
|
}),
|
|
233
264
|
autoPlay: PropTypes.bool,
|
|
234
265
|
autoPlayDelay: PropTypes.number,
|
|
266
|
+
pauseOnHover: PropTypes.bool,
|
|
235
267
|
navTheme: PropTypes.oneOf(Object.values(NavTheme)),
|
|
236
268
|
onNextClick: PropTypes.func,
|
|
237
269
|
onPrevClick: PropTypes.func,
|
|
@@ -10,9 +10,9 @@ var ArrowLeft = function ArrowLeft(props) {
|
|
|
10
10
|
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
11
11
|
viewBox: "0 0 20 20"
|
|
12
12
|
}, props), /*#__PURE__*/React.createElement("path", {
|
|
13
|
+
d: "M12 6v8l-5-4z",
|
|
13
14
|
fillRule: "evenodd",
|
|
14
|
-
clipRule: "evenodd"
|
|
15
|
-
d: "M12 6v8l-5-4z"
|
|
15
|
+
clipRule: "evenodd"
|
|
16
16
|
}));
|
|
17
17
|
};
|
|
18
18
|
|
|
@@ -20,9 +20,9 @@ var ArrowRight = function ArrowRight(props) {
|
|
|
20
20
|
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
21
21
|
viewBox: "0 0 20 20"
|
|
22
22
|
}, props), /*#__PURE__*/React.createElement("path", {
|
|
23
|
+
d: "M8 14V6l5 4z",
|
|
23
24
|
fillRule: "evenodd",
|
|
24
|
-
clipRule: "evenodd"
|
|
25
|
-
d: "M8 14V6l5 4z"
|
|
25
|
+
clipRule: "evenodd"
|
|
26
26
|
}));
|
|
27
27
|
};
|
|
28
28
|
|
|
@@ -17,6 +17,12 @@ declare type ShadowType = typeof ShadowTypes[keyof typeof ShadowTypes];
|
|
|
17
17
|
export interface INotificationProps {
|
|
18
18
|
/** Дополнительный класс корневого элемента */
|
|
19
19
|
className?: string;
|
|
20
|
+
/** Дополнительные классы для корневого и внутренних элементов */
|
|
21
|
+
classes?: {
|
|
22
|
+
root?: string;
|
|
23
|
+
container?: string;
|
|
24
|
+
content?: string;
|
|
25
|
+
};
|
|
20
26
|
/** Тип отображения */
|
|
21
27
|
type?: NotificationType;
|
|
22
28
|
/** Уровень тени */
|
|
@@ -77,6 +77,11 @@ var cn = cnCreate('mfui-notification');
|
|
|
77
77
|
|
|
78
78
|
var Notification = function Notification(_ref) {
|
|
79
79
|
var className = _ref.className,
|
|
80
|
+
_ref$classes = _ref.classes;
|
|
81
|
+
_ref$classes = _ref$classes === void 0 ? {} : _ref$classes;
|
|
82
|
+
var rootClass = _ref$classes.root,
|
|
83
|
+
containerClass = _ref$classes.container,
|
|
84
|
+
contentClass = _ref$classes.content,
|
|
80
85
|
children = _ref.children,
|
|
81
86
|
_ref$type = _ref.type,
|
|
82
87
|
type = _ref$type === void 0 ? 'info' : _ref$type,
|
|
@@ -143,13 +148,13 @@ var Notification = function Notification(_ref) {
|
|
|
143
148
|
className: cn({
|
|
144
149
|
type: type,
|
|
145
150
|
colored: isColored
|
|
146
|
-
}, className)
|
|
151
|
+
}, [className, rootClass])
|
|
147
152
|
}, /*#__PURE__*/React.createElement("div", {
|
|
148
|
-
className: cn('container')
|
|
153
|
+
className: cn('container', [containerClass])
|
|
149
154
|
}, /*#__PURE__*/React.createElement("div", {
|
|
150
155
|
className: cn('icon-container')
|
|
151
156
|
}, renderIcon()), /*#__PURE__*/React.createElement("div", {
|
|
152
|
-
className: cn('content')
|
|
157
|
+
className: cn('content', [contentClass])
|
|
153
158
|
}, title && /*#__PURE__*/React.createElement(Header, {
|
|
154
159
|
dataAttrs: {
|
|
155
160
|
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.title
|
|
@@ -174,6 +179,11 @@ var Notification = function Notification(_ref) {
|
|
|
174
179
|
Notification.propTypes = {
|
|
175
180
|
type: PropTypes.oneOf(Object.values(NotificationTypes)),
|
|
176
181
|
className: PropTypes.string,
|
|
182
|
+
classes: PropTypes.shape({
|
|
183
|
+
root: PropTypes.string,
|
|
184
|
+
container: PropTypes.string,
|
|
185
|
+
content: PropTypes.string
|
|
186
|
+
}),
|
|
177
187
|
shadowLevel: PropTypes.oneOf(Object.values(ShadowTypes)),
|
|
178
188
|
isColored: PropTypes.bool,
|
|
179
189
|
hasCloseButton: PropTypes.bool,
|
|
@@ -337,7 +337,7 @@ var Select = function Select(_ref) {
|
|
|
337
337
|
|
|
338
338
|
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.title), {
|
|
339
339
|
className: cn('title', {
|
|
340
|
-
placeholder: !!placeholder &&
|
|
340
|
+
placeholder: !!placeholder && currentValue === undefined
|
|
341
341
|
}, [classes === null || classes === void 0 ? void 0 : classes.title]),
|
|
342
342
|
role: "button",
|
|
343
343
|
tabIndex: 0,
|
|
@@ -40,7 +40,7 @@ var Switcher = function Switcher(_ref) {
|
|
|
40
40
|
size: textSize,
|
|
41
41
|
left: true
|
|
42
42
|
})
|
|
43
|
-
}, children), /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
}, children), /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.input), {
|
|
44
44
|
className: cn('input', {
|
|
45
45
|
checked: checked,
|
|
46
46
|
disabled: disabled,
|
|
@@ -50,7 +50,7 @@ var Switcher = function Switcher(_ref) {
|
|
|
50
50
|
onClick: handleChange,
|
|
51
51
|
onKeyDown: handleChange,
|
|
52
52
|
tabIndex: isInteractiveDisabled ? undefined : 0
|
|
53
|
-
}, showLoader && !disabled && /*#__PURE__*/React.createElement("div", {
|
|
53
|
+
}), showLoader && !disabled && /*#__PURE__*/React.createElement("div", {
|
|
54
54
|
className: cn('loader')
|
|
55
55
|
}), /*#__PURE__*/React.createElement("div", {
|
|
56
56
|
className: cn('pointer')
|
|
@@ -63,7 +63,8 @@ var Switcher = function Switcher(_ref) {
|
|
|
63
63
|
|
|
64
64
|
Switcher.propTypes = {
|
|
65
65
|
dataAttrs: PropTypes.shape({
|
|
66
|
-
root: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
66
|
+
root: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
67
|
+
input: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
67
68
|
}),
|
|
68
69
|
className: PropTypes.string,
|
|
69
70
|
textSize: PropTypes.oneOf(['small', 'medium']),
|
|
@@ -39,6 +39,8 @@ export interface ITooltipProps {
|
|
|
39
39
|
isOpened?: boolean;
|
|
40
40
|
/** Отрендерить компонент в корневой элементе страницы body */
|
|
41
41
|
isPortal?: boolean;
|
|
42
|
+
/** Рендеринг компонента в указанном селекторе */
|
|
43
|
+
portalSelector?: string;
|
|
42
44
|
/** Дополнительный класс корневого элемента */
|
|
43
45
|
className?: string;
|
|
44
46
|
/** Дополнительные классы для внутренних элементов */
|
|
@@ -48,6 +48,7 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
48
48
|
isOpened = _ref$isOpened === void 0 ? false : _ref$isOpened,
|
|
49
49
|
_ref$isPortal = _ref.isPortal,
|
|
50
50
|
isPortal = _ref$isPortal === void 0 ? false : _ref$isPortal,
|
|
51
|
+
portalSelector = _ref.portalSelector,
|
|
51
52
|
children = _ref.children,
|
|
52
53
|
_ref$classes = _ref.classes;
|
|
53
54
|
_ref$classes = _ref$classes === void 0 ? {} : _ref$classes;
|
|
@@ -222,12 +223,14 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
222
223
|
useEffect(function () {
|
|
223
224
|
return function () {
|
|
224
225
|
if (portalElem.current) {
|
|
225
|
-
document.
|
|
226
|
+
var parent = portalSelector ? document.querySelector(portalSelector) : document.body;
|
|
227
|
+
parent === null || parent === void 0 ? void 0 : parent.removeChild(portalElem.current);
|
|
226
228
|
}
|
|
227
229
|
|
|
228
230
|
portalElem.current = null;
|
|
229
231
|
};
|
|
230
|
-
},
|
|
232
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
233
|
+
[]);
|
|
231
234
|
var template = /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
232
235
|
className: cn({
|
|
233
236
|
paddings: paddings,
|
|
@@ -255,7 +258,8 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
255
258
|
|
|
256
259
|
if (isPortal && !portalElem.current && typeof window !== 'undefined') {
|
|
257
260
|
portalElem.current = document.createElement('div');
|
|
258
|
-
document.
|
|
261
|
+
var parent = portalSelector ? document.querySelector(portalSelector) : document.body;
|
|
262
|
+
parent === null || parent === void 0 ? void 0 : parent.appendChild(portalElem.current);
|
|
259
263
|
}
|
|
260
264
|
|
|
261
265
|
if (isPortal && portalElem.current) {
|
|
@@ -294,6 +298,7 @@ Tooltip.propTypes = {
|
|
|
294
298
|
}), PropTypes.any])]),
|
|
295
299
|
isOpened: PropTypes.bool,
|
|
296
300
|
isPortal: PropTypes.bool,
|
|
301
|
+
portalSelector: PropTypes.string,
|
|
297
302
|
className: PropTypes.string,
|
|
298
303
|
classes: PropTypes.shape({
|
|
299
304
|
root: PropTypes.string,
|
|
@@ -32,6 +32,8 @@ export interface IBannerProps {
|
|
|
32
32
|
autoPlay?: boolean;
|
|
33
33
|
/** Задержка автоматической прокрутки */
|
|
34
34
|
autoPlayDelay?: number;
|
|
35
|
+
/** Пауза автоматической прокрутки при наведении курсора на компонент */
|
|
36
|
+
pauseOnHover?: boolean;
|
|
35
37
|
/** Цветовая тема навигации */
|
|
36
38
|
navTheme?: NavThemeType;
|
|
37
39
|
/** Обработчик клика по стрелке "вперед" (должен быть обернут в useCallback) */
|
|
@@ -77,7 +77,9 @@ var Banner = function Banner(_ref) {
|
|
|
77
77
|
onPrevClick = _ref.onPrevClick,
|
|
78
78
|
onDotClick = _ref.onDotClick,
|
|
79
79
|
onChange = _ref.onChange,
|
|
80
|
-
dataAttrs = _ref.dataAttrs
|
|
80
|
+
dataAttrs = _ref.dataAttrs,
|
|
81
|
+
_ref$pauseOnHover = _ref.pauseOnHover,
|
|
82
|
+
pauseOnHover = _ref$pauseOnHover === void 0 ? false : _ref$pauseOnHover;
|
|
81
83
|
|
|
82
84
|
var _React$useState = React.useState(),
|
|
83
85
|
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
@@ -97,29 +99,42 @@ var Banner = function Banner(_ref) {
|
|
|
97
99
|
var _React$useState7 = React.useState(autoPlay),
|
|
98
100
|
_React$useState8 = (0, _slicedToArray2["default"])(_React$useState7, 2),
|
|
99
101
|
isAutoPlaying = _React$useState8[0],
|
|
100
|
-
|
|
102
|
+
setAutoPlaying = _React$useState8[1];
|
|
101
103
|
|
|
102
104
|
var _React$useState9 = React.useState(0),
|
|
103
105
|
_React$useState10 = (0, _slicedToArray2["default"])(_React$useState9, 2),
|
|
104
106
|
activeIndex = _React$useState10[0],
|
|
105
107
|
setActiveIndex = _React$useState10[1];
|
|
106
108
|
|
|
109
|
+
var _React$useState11 = React.useState(autoPlayDelay),
|
|
110
|
+
_React$useState12 = (0, _slicedToArray2["default"])(_React$useState11, 2),
|
|
111
|
+
delay = _React$useState12[0],
|
|
112
|
+
setDelay = _React$useState12[1];
|
|
113
|
+
|
|
114
|
+
var _React$useState13 = React.useState(false),
|
|
115
|
+
_React$useState14 = (0, _slicedToArray2["default"])(_React$useState13, 2),
|
|
116
|
+
isIncreasedDelay = _React$useState14[0],
|
|
117
|
+
setIsIncreasedDelay = _React$useState14[1];
|
|
118
|
+
|
|
107
119
|
var showDotTimer = loop ? isAutoPlaying : isAutoPlaying && !isEnd;
|
|
108
|
-
var dotTimerDelay =
|
|
120
|
+
var dotTimerDelay = delay / 1000;
|
|
109
121
|
var navArrowTheme = navTheme === NavTheme.DARK ? _NavArrow.Theme.DARK : _NavArrow.Theme.PURPLE;
|
|
122
|
+
var rootRef = React.useRef(null);
|
|
110
123
|
var increaseAutoplayDelay = React.useCallback(function (_ref2) {
|
|
111
124
|
var params = _ref2.params,
|
|
112
125
|
autoplay = _ref2.autoplay;
|
|
113
126
|
|
|
114
|
-
if ((0, _typeof2["default"])(params.autoplay) !== 'object' || !
|
|
127
|
+
if ((0, _typeof2["default"])(params.autoplay) !== 'object' || !autoPlay) {
|
|
115
128
|
return;
|
|
116
129
|
}
|
|
117
130
|
|
|
118
131
|
autoplay.stop(); // eslint-disable-next-line no-param-reassign
|
|
119
132
|
|
|
120
133
|
params.autoplay.delay = autoPlayDelay * 3;
|
|
134
|
+
setDelay(autoPlayDelay * 3);
|
|
135
|
+
setIsIncreasedDelay(true);
|
|
121
136
|
autoplay.start();
|
|
122
|
-
}, [autoPlayDelay]);
|
|
137
|
+
}, [autoPlay, autoPlayDelay]);
|
|
123
138
|
var handlePrevClick = React.useCallback(function () {
|
|
124
139
|
if (!swiperInstance) {
|
|
125
140
|
return;
|
|
@@ -127,8 +142,8 @@ var Banner = function Banner(_ref) {
|
|
|
127
142
|
|
|
128
143
|
swiperInstance.slidePrev();
|
|
129
144
|
onPrevClick === null || onPrevClick === void 0 ? void 0 : onPrevClick(swiperInstance.realIndex);
|
|
130
|
-
increaseAutoplayDelay(swiperInstance);
|
|
131
|
-
}, [swiperInstance, onPrevClick, increaseAutoplayDelay]);
|
|
145
|
+
!isIncreasedDelay && increaseAutoplayDelay(swiperInstance);
|
|
146
|
+
}, [swiperInstance, onPrevClick, isIncreasedDelay, increaseAutoplayDelay]);
|
|
132
147
|
var handleNextClick = React.useCallback(function () {
|
|
133
148
|
if (!swiperInstance) {
|
|
134
149
|
return;
|
|
@@ -136,8 +151,8 @@ var Banner = function Banner(_ref) {
|
|
|
136
151
|
|
|
137
152
|
swiperInstance.slideNext();
|
|
138
153
|
onNextClick === null || onNextClick === void 0 ? void 0 : onNextClick(swiperInstance.realIndex);
|
|
139
|
-
increaseAutoplayDelay(swiperInstance);
|
|
140
|
-
}, [swiperInstance, onNextClick, increaseAutoplayDelay]);
|
|
154
|
+
!isIncreasedDelay && increaseAutoplayDelay(swiperInstance);
|
|
155
|
+
}, [swiperInstance, onNextClick, isIncreasedDelay, increaseAutoplayDelay]);
|
|
141
156
|
var handleDotClick = React.useCallback(function (index) {
|
|
142
157
|
if (!swiperInstance) {
|
|
143
158
|
return;
|
|
@@ -150,11 +165,8 @@ var Banner = function Banner(_ref) {
|
|
|
150
165
|
}
|
|
151
166
|
|
|
152
167
|
onDotClick === null || onDotClick === void 0 ? void 0 : onDotClick(swiperInstance.realIndex);
|
|
153
|
-
increaseAutoplayDelay(swiperInstance);
|
|
154
|
-
}, [swiperInstance, loop, onDotClick, increaseAutoplayDelay]);
|
|
155
|
-
var handleSwiper = React.useCallback(function (swiper) {
|
|
156
|
-
setSwiperInstance(swiper);
|
|
157
|
-
}, []);
|
|
168
|
+
!isIncreasedDelay && increaseAutoplayDelay(swiperInstance);
|
|
169
|
+
}, [swiperInstance, loop, onDotClick, isIncreasedDelay, increaseAutoplayDelay]);
|
|
158
170
|
var handleReachBeginning = React.useCallback(function () {
|
|
159
171
|
setBeginning(true);
|
|
160
172
|
}, []);
|
|
@@ -177,23 +189,42 @@ var Banner = function Banner(_ref) {
|
|
|
177
189
|
onChange === null || onChange === void 0 ? void 0 : onChange(realIndex);
|
|
178
190
|
}, [onChange]);
|
|
179
191
|
var handleAutoplayStop = React.useCallback(function () {
|
|
180
|
-
|
|
192
|
+
setAutoPlaying(false);
|
|
181
193
|
}, []);
|
|
194
|
+
var handleAutoPlayStart = React.useCallback(function () {
|
|
195
|
+
setAutoPlaying(true);
|
|
196
|
+
}, []);
|
|
197
|
+
React.useEffect(function () {
|
|
198
|
+
var rootElement = rootRef.current;
|
|
199
|
+
|
|
200
|
+
if (!pauseOnHover || !autoPlay) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
rootElement === null || rootElement === void 0 ? void 0 : rootElement.addEventListener('mouseenter', function () {
|
|
205
|
+
swiperInstance === null || swiperInstance === void 0 ? void 0 : swiperInstance.autoplay.stop();
|
|
206
|
+
});
|
|
207
|
+
rootElement === null || rootElement === void 0 ? void 0 : rootElement.addEventListener('mouseleave', function () {
|
|
208
|
+
swiperInstance === null || swiperInstance === void 0 ? void 0 : swiperInstance.autoplay.start();
|
|
209
|
+
});
|
|
210
|
+
}, [autoPlay, pauseOnHover, swiperInstance === null || swiperInstance === void 0 ? void 0 : swiperInstance.autoplay]);
|
|
182
211
|
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
183
212
|
className: cn({
|
|
184
213
|
'nav-theme': navTheme
|
|
185
|
-
}, className)
|
|
214
|
+
}, className),
|
|
215
|
+
ref: rootRef
|
|
186
216
|
}), /*#__PURE__*/React.createElement(_react2.Swiper, (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.swiper), {
|
|
187
217
|
className: cn('swiper'),
|
|
188
218
|
loop: loop,
|
|
189
219
|
autoplay: autoPlay ? getAutoPlayConfig(autoPlayDelay) : false,
|
|
190
220
|
watchSlidesVisibility: true,
|
|
191
|
-
onSwiper:
|
|
221
|
+
onSwiper: setSwiperInstance,
|
|
192
222
|
onReachBeginning: handleReachBeginning,
|
|
193
223
|
onReachEnd: handleReachEnd,
|
|
194
224
|
onFromEdge: handleFromEdge,
|
|
195
225
|
onSlideChange: handleSlideChange,
|
|
196
226
|
onAutoplayStop: handleAutoplayStop,
|
|
227
|
+
onAutoplayStart: handleAutoPlayStart,
|
|
197
228
|
onTouchEnd: increaseAutoplayDelay
|
|
198
229
|
}), React.Children.map(children, function (child, i) {
|
|
199
230
|
return /*#__PURE__*/React.createElement(_react2.SwiperSlide, (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.slide, i + 1), {
|
|
@@ -260,6 +291,7 @@ Banner.propTypes = {
|
|
|
260
291
|
}),
|
|
261
292
|
autoPlay: PropTypes.bool,
|
|
262
293
|
autoPlayDelay: PropTypes.number,
|
|
294
|
+
pauseOnHover: PropTypes.bool,
|
|
263
295
|
navTheme: PropTypes.oneOf(Object.values(NavTheme)),
|
|
264
296
|
onNextClick: PropTypes.func,
|
|
265
297
|
onPrevClick: PropTypes.func,
|
|
@@ -23,9 +23,9 @@ var ArrowLeft = function ArrowLeft(props) {
|
|
|
23
23
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({
|
|
24
24
|
viewBox: "0 0 20 20"
|
|
25
25
|
}, props), /*#__PURE__*/_react["default"].createElement("path", {
|
|
26
|
+
d: "M12 6v8l-5-4z",
|
|
26
27
|
fillRule: "evenodd",
|
|
27
|
-
clipRule: "evenodd"
|
|
28
|
-
d: "M12 6v8l-5-4z"
|
|
28
|
+
clipRule: "evenodd"
|
|
29
29
|
}));
|
|
30
30
|
};
|
|
31
31
|
|
|
@@ -33,9 +33,9 @@ var ArrowRight = function ArrowRight(props) {
|
|
|
33
33
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({
|
|
34
34
|
viewBox: "0 0 20 20"
|
|
35
35
|
}, props), /*#__PURE__*/_react["default"].createElement("path", {
|
|
36
|
+
d: "M8 14V6l5 4z",
|
|
36
37
|
fillRule: "evenodd",
|
|
37
|
-
clipRule: "evenodd"
|
|
38
|
-
d: "M8 14V6l5 4z"
|
|
38
|
+
clipRule: "evenodd"
|
|
39
39
|
}));
|
|
40
40
|
};
|
|
41
41
|
|
|
@@ -17,6 +17,12 @@ declare type ShadowType = typeof ShadowTypes[keyof typeof ShadowTypes];
|
|
|
17
17
|
export interface INotificationProps {
|
|
18
18
|
/** Дополнительный класс корневого элемента */
|
|
19
19
|
className?: string;
|
|
20
|
+
/** Дополнительные классы для корневого и внутренних элементов */
|
|
21
|
+
classes?: {
|
|
22
|
+
root?: string;
|
|
23
|
+
container?: string;
|
|
24
|
+
content?: string;
|
|
25
|
+
};
|
|
20
26
|
/** Тип отображения */
|
|
21
27
|
type?: NotificationType;
|
|
22
28
|
/** Уровень тени */
|
|
@@ -101,6 +101,11 @@ var cn = (0, _uiHelpers.cnCreate)('mfui-notification');
|
|
|
101
101
|
|
|
102
102
|
var Notification = function Notification(_ref) {
|
|
103
103
|
var className = _ref.className,
|
|
104
|
+
_ref$classes = _ref.classes;
|
|
105
|
+
_ref$classes = _ref$classes === void 0 ? {} : _ref$classes;
|
|
106
|
+
var rootClass = _ref$classes.root,
|
|
107
|
+
containerClass = _ref$classes.container,
|
|
108
|
+
contentClass = _ref$classes.content,
|
|
104
109
|
children = _ref.children,
|
|
105
110
|
_ref$type = _ref.type,
|
|
106
111
|
type = _ref$type === void 0 ? 'info' : _ref$type,
|
|
@@ -167,13 +172,13 @@ var Notification = function Notification(_ref) {
|
|
|
167
172
|
className: cn({
|
|
168
173
|
type: type,
|
|
169
174
|
colored: isColored
|
|
170
|
-
}, className)
|
|
175
|
+
}, [className, rootClass])
|
|
171
176
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
172
|
-
className: cn('container')
|
|
177
|
+
className: cn('container', [containerClass])
|
|
173
178
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
174
179
|
className: cn('icon-container')
|
|
175
180
|
}, renderIcon()), /*#__PURE__*/_react["default"].createElement("div", {
|
|
176
|
-
className: cn('content')
|
|
181
|
+
className: cn('content', [contentClass])
|
|
177
182
|
}, title && /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
178
183
|
dataAttrs: {
|
|
179
184
|
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.title
|
|
@@ -198,6 +203,11 @@ var Notification = function Notification(_ref) {
|
|
|
198
203
|
Notification.propTypes = {
|
|
199
204
|
type: PropTypes.oneOf(Object.values(NotificationTypes)),
|
|
200
205
|
className: PropTypes.string,
|
|
206
|
+
classes: PropTypes.shape({
|
|
207
|
+
root: PropTypes.string,
|
|
208
|
+
container: PropTypes.string,
|
|
209
|
+
content: PropTypes.string
|
|
210
|
+
}),
|
|
201
211
|
shadowLevel: PropTypes.oneOf(Object.values(ShadowTypes)),
|
|
202
212
|
isColored: PropTypes.bool,
|
|
203
213
|
hasCloseButton: PropTypes.bool,
|
|
@@ -372,7 +372,7 @@ var Select = function Select(_ref) {
|
|
|
372
372
|
|
|
373
373
|
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.title), {
|
|
374
374
|
className: cn('title', {
|
|
375
|
-
placeholder: !!placeholder &&
|
|
375
|
+
placeholder: !!placeholder && currentValue === undefined
|
|
376
376
|
}, [classes === null || classes === void 0 ? void 0 : classes.title]),
|
|
377
377
|
role: "button",
|
|
378
378
|
tabIndex: 0,
|
|
@@ -58,7 +58,7 @@ var Switcher = function Switcher(_ref) {
|
|
|
58
58
|
size: textSize,
|
|
59
59
|
left: true
|
|
60
60
|
})
|
|
61
|
-
}, children), /*#__PURE__*/React.createElement("div", {
|
|
61
|
+
}, children), /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.input), {
|
|
62
62
|
className: cn('input', {
|
|
63
63
|
checked: checked,
|
|
64
64
|
disabled: disabled,
|
|
@@ -68,7 +68,7 @@ var Switcher = function Switcher(_ref) {
|
|
|
68
68
|
onClick: handleChange,
|
|
69
69
|
onKeyDown: handleChange,
|
|
70
70
|
tabIndex: isInteractiveDisabled ? undefined : 0
|
|
71
|
-
}, showLoader && !disabled && /*#__PURE__*/React.createElement("div", {
|
|
71
|
+
}), showLoader && !disabled && /*#__PURE__*/React.createElement("div", {
|
|
72
72
|
className: cn('loader')
|
|
73
73
|
}), /*#__PURE__*/React.createElement("div", {
|
|
74
74
|
className: cn('pointer')
|
|
@@ -81,7 +81,8 @@ var Switcher = function Switcher(_ref) {
|
|
|
81
81
|
|
|
82
82
|
Switcher.propTypes = {
|
|
83
83
|
dataAttrs: PropTypes.shape({
|
|
84
|
-
root: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
84
|
+
root: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
85
|
+
input: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
85
86
|
}),
|
|
86
87
|
className: PropTypes.string,
|
|
87
88
|
textSize: PropTypes.oneOf(['small', 'medium']),
|
|
@@ -39,6 +39,8 @@ export interface ITooltipProps {
|
|
|
39
39
|
isOpened?: boolean;
|
|
40
40
|
/** Отрендерить компонент в корневой элементе страницы body */
|
|
41
41
|
isPortal?: boolean;
|
|
42
|
+
/** Рендеринг компонента в указанном селекторе */
|
|
43
|
+
portalSelector?: string;
|
|
42
44
|
/** Дополнительный класс корневого элемента */
|
|
43
45
|
className?: string;
|
|
44
46
|
/** Дополнительные классы для внутренних элементов */
|
|
@@ -76,6 +76,7 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
76
76
|
isOpened = _ref$isOpened === void 0 ? false : _ref$isOpened,
|
|
77
77
|
_ref$isPortal = _ref.isPortal,
|
|
78
78
|
isPortal = _ref$isPortal === void 0 ? false : _ref$isPortal,
|
|
79
|
+
portalSelector = _ref.portalSelector,
|
|
79
80
|
children = _ref.children,
|
|
80
81
|
_ref$classes = _ref.classes;
|
|
81
82
|
_ref$classes = _ref$classes === void 0 ? {} : _ref$classes;
|
|
@@ -251,12 +252,14 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
251
252
|
(0, _react.useEffect)(function () {
|
|
252
253
|
return function () {
|
|
253
254
|
if (portalElem.current) {
|
|
254
|
-
document.
|
|
255
|
+
var parent = portalSelector ? document.querySelector(portalSelector) : document.body;
|
|
256
|
+
parent === null || parent === void 0 ? void 0 : parent.removeChild(portalElem.current);
|
|
255
257
|
}
|
|
256
258
|
|
|
257
259
|
portalElem.current = null;
|
|
258
260
|
};
|
|
259
|
-
},
|
|
261
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
262
|
+
[]);
|
|
260
263
|
|
|
261
264
|
var template = /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
262
265
|
className: cn({
|
|
@@ -286,7 +289,8 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
286
289
|
|
|
287
290
|
if (isPortal && !portalElem.current && typeof window !== 'undefined') {
|
|
288
291
|
portalElem.current = document.createElement('div');
|
|
289
|
-
document.
|
|
292
|
+
var parent = portalSelector ? document.querySelector(portalSelector) : document.body;
|
|
293
|
+
parent === null || parent === void 0 ? void 0 : parent.appendChild(portalElem.current);
|
|
290
294
|
}
|
|
291
295
|
|
|
292
296
|
if (isPortal && portalElem.current) {
|
|
@@ -325,6 +329,7 @@ Tooltip.propTypes = {
|
|
|
325
329
|
}), _propTypes["default"].any])]),
|
|
326
330
|
isOpened: _propTypes["default"].bool,
|
|
327
331
|
isPortal: _propTypes["default"].bool,
|
|
332
|
+
portalSelector: _propTypes["default"].string,
|
|
328
333
|
className: _propTypes["default"].string,
|
|
329
334
|
classes: _propTypes["default"].shape({
|
|
330
335
|
root: _propTypes["default"].string,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@megafon/ui-core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.10.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"styles"
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@babel/preset-env": "^7.8.6",
|
|
55
55
|
"@babel/preset-react": "^7.8.3",
|
|
56
56
|
"@babel/preset-typescript": "^7.8.3",
|
|
57
|
-
"@megafon/ui-icons": "^1.2.
|
|
57
|
+
"@megafon/ui-icons": "^1.2.2",
|
|
58
58
|
"@svgr/core": "^2.4.1",
|
|
59
59
|
"@testing-library/react-hooks": "^7.0.1",
|
|
60
60
|
"@types/enzyme": "^3.10.5",
|
|
@@ -97,5 +97,5 @@
|
|
|
97
97
|
"react-popper": "^2.2.3",
|
|
98
98
|
"swiper": "^6.5.6"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "eca7dfc6c6f0f7317f404b989bb8d7bd5ec429ed"
|
|
101
101
|
}
|