@megafon/ui-core 4.5.0 → 4.5.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 +13 -0
- package/dist/es/components/Carousel/Carousel.js +10 -0
- package/dist/es/components/Carousel/usePrevious.d.ts +2 -0
- package/dist/es/components/Carousel/usePrevious.js +11 -0
- package/dist/es/components/Search/Search.css +1 -0
- package/dist/es/components/Switcher/Switcher.css +1 -0
- package/dist/es/components/Tabs/Tabs.js +12 -6
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.js +2 -1
- package/dist/lib/components/Carousel/Carousel.js +12 -0
- package/dist/lib/components/Carousel/usePrevious.d.ts +2 -0
- package/dist/lib/components/Carousel/usePrevious.js +25 -0
- package/dist/lib/components/Search/Search.css +1 -0
- package/dist/lib/components/Switcher/Switcher.css +1 -0
- package/dist/lib/components/Tabs/Tabs.js +12 -6
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +8 -0
- package/package.json +6 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
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
|
+
## [4.5.1](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-core@4.5.0...@megafon/ui-core@4.5.1) (2022-10-24)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **carousel:** change navigation view after change slides count ([7b300eb](https://github.com/MegafonWebLab/megafon-ui/commit/7b300eb9c6f805c3b425104a17f437b3b8a520c5))
|
|
12
|
+
* **search:** fix input field font-size for all browsers ([739f3b0](https://github.com/MegafonWebLab/megafon-ui/commit/739f3b02a2dbf8abc6ad430e43272a5bae4d9cf9))
|
|
13
|
+
* **tabs:** change tabs list structure for correct underline width ([ab87ab2](https://github.com/MegafonWebLab/megafon-ui/commit/ab87ab2e23b3db7620ea0fd83c58bdc8f51ab0ae))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
6
19
|
# [4.5.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-core@4.4.0...@megafon/ui-core@4.5.0) (2022-10-17)
|
|
7
20
|
|
|
8
21
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "core-js/modules/es.array.index-of";
|
|
2
|
+
import "core-js/modules/es.array.is-array";
|
|
2
3
|
import "core-js/modules/es.array.map";
|
|
3
4
|
import "core-js/modules/es.object.values";
|
|
4
5
|
import _extends from "@babel/runtime/helpers/extends";
|
|
@@ -18,6 +19,7 @@ import NavArrow, { Theme as ArrowTheme } from "../NavArrow/NavArrow";
|
|
|
18
19
|
import throttleTime from "../../constants/throttleTime";
|
|
19
20
|
import checkBreakpointsPropTypes from "./checkBreakpointsPropTypes";
|
|
20
21
|
import "./Carousel.css";
|
|
22
|
+
import usePrevious from "./usePrevious";
|
|
21
23
|
SwiperCore.use([Autoplay, Pagination, EffectFade]);
|
|
22
24
|
export var NavTheme = {
|
|
23
25
|
LIGHT: 'light',
|
|
@@ -116,6 +118,9 @@ var Carousel = function Carousel(_ref) {
|
|
|
116
118
|
isLocked = _React$useState8[0],
|
|
117
119
|
setLocked = _React$useState8[1];
|
|
118
120
|
|
|
121
|
+
var childrenLen = Array.isArray(children) ? children.length : 0;
|
|
122
|
+
var prevChildrenLen = usePrevious(childrenLen) || 0;
|
|
123
|
+
var isChildrenLenDiff = childrenLen !== prevChildrenLen;
|
|
119
124
|
var increaseAutoplayDelay = React.useCallback(function (_ref2) {
|
|
120
125
|
var params = _ref2.params,
|
|
121
126
|
autoplay = _ref2.autoplay;
|
|
@@ -241,6 +246,11 @@ var Carousel = function Carousel(_ref) {
|
|
|
241
246
|
window.removeEventListener('resize', windowResizeHandlerThrottled);
|
|
242
247
|
};
|
|
243
248
|
}, [swiperInstance]);
|
|
249
|
+
React.useEffect(function () {
|
|
250
|
+
if (swiperInstance && isChildrenLenDiff) {
|
|
251
|
+
handleNavDisplay(swiperInstance);
|
|
252
|
+
}
|
|
253
|
+
}, [isChildrenLenDiff, swiperInstance]);
|
|
244
254
|
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
245
255
|
ref: rootRef,
|
|
246
256
|
className: cn({
|
|
@@ -59,7 +59,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
59
59
|
dataAttrs = _ref.dataAttrs,
|
|
60
60
|
onTabClick = _ref.onTabClick,
|
|
61
61
|
outerObserveContainer = _ref.outerObserveContainer;
|
|
62
|
-
var tabsRef = React.useRef(
|
|
62
|
+
var tabsRef = React.useRef({});
|
|
63
63
|
var rootRef = React.useRef(null);
|
|
64
64
|
var tabListRef = React.useRef(null);
|
|
65
65
|
var intersectionObserverRef = React.useRef();
|
|
@@ -124,15 +124,21 @@ var Tabs = function Tabs(_ref) {
|
|
|
124
124
|
stickyOffset = _React$useState22[0],
|
|
125
125
|
setStickyOffset = _React$useState22[1];
|
|
126
126
|
|
|
127
|
-
var setTabRef = React.useCallback(function (
|
|
128
|
-
|
|
127
|
+
var setTabRef = React.useCallback(function (i) {
|
|
128
|
+
return function (tab) {
|
|
129
|
+
if (tab) {
|
|
130
|
+
tabsRef.current[i] = tab;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
129
133
|
}, []);
|
|
130
134
|
var calculateUnderline = React.useCallback(function () {
|
|
131
|
-
|
|
135
|
+
var tabs = Object.values(tabsRef.current);
|
|
136
|
+
|
|
137
|
+
if (!tabs.length) {
|
|
132
138
|
return;
|
|
133
139
|
}
|
|
134
140
|
|
|
135
|
-
var translate = _toConsumableArray(
|
|
141
|
+
var translate = _toConsumableArray(tabs).splice(0, currentIndex).reduce(function (accWidth, node) {
|
|
136
142
|
var _node$getBoundingClie = node.getBoundingClientRect(),
|
|
137
143
|
width = _node$getBoundingClie.width;
|
|
138
144
|
|
|
@@ -288,7 +294,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
288
294
|
className: cn('slide')
|
|
289
295
|
}, /*#__PURE__*/React.createElement("div", _extends({
|
|
290
296
|
className: cn('tab', [classes === null || classes === void 0 ? void 0 : classes.tab, activeTabClassName]),
|
|
291
|
-
ref: setTabRef
|
|
297
|
+
ref: setTabRef(i)
|
|
292
298
|
}, filterDataAttrs(data === null || data === void 0 ? void 0 : data.root, i + 1)), renderTabWrapper ? renderTabWrapper(tab) : tab));
|
|
293
299
|
});
|
|
294
300
|
}, [renderTab, children, classes === null || classes === void 0 ? void 0 : classes.activeTab, currentIndex, setTabRef, classes === null || classes === void 0 ? void 0 : classes.tab]);
|
package/dist/es/index.d.ts
CHANGED
|
@@ -44,3 +44,4 @@ export { default as Timer } from './components/Badges/components/TimerBadge/Time
|
|
|
44
44
|
export { default as TimerBadge } from './components/Badges/components/TimerBadge/TimerBadge';
|
|
45
45
|
export { default as Tooltip } from './components/Tooltip/Tooltip';
|
|
46
46
|
export { default as usePagination } from './components/Pagination/usePagination';
|
|
47
|
+
export { default as usePrevious } from './components/Carousel/usePrevious';
|
package/dist/es/index.js
CHANGED
|
@@ -43,4 +43,5 @@ export { default as Tile } from "./components/Tile/Tile";
|
|
|
43
43
|
export { default as Timer } from "./components/Badges/components/TimerBadge/Timer/Timer";
|
|
44
44
|
export { default as TimerBadge } from "./components/Badges/components/TimerBadge/TimerBadge";
|
|
45
45
|
export { default as Tooltip } from "./components/Tooltip/Tooltip";
|
|
46
|
-
export { default as usePagination } from "./components/Pagination/usePagination";
|
|
46
|
+
export { default as usePagination } from "./components/Pagination/usePagination";
|
|
47
|
+
export { default as usePrevious } from "./components/Carousel/usePrevious";
|
|
@@ -9,6 +9,8 @@ exports["default"] = exports.EffectTheme = exports.NavTheme = void 0;
|
|
|
9
9
|
|
|
10
10
|
require("core-js/modules/es.array.index-of");
|
|
11
11
|
|
|
12
|
+
require("core-js/modules/es.array.is-array");
|
|
13
|
+
|
|
12
14
|
require("core-js/modules/es.array.map");
|
|
13
15
|
|
|
14
16
|
require("core-js/modules/es.object.values");
|
|
@@ -39,6 +41,8 @@ var _throttleTime = _interopRequireDefault(require("../../constants/throttleTime
|
|
|
39
41
|
|
|
40
42
|
var _checkBreakpointsPropTypes = _interopRequireDefault(require("./checkBreakpointsPropTypes"));
|
|
41
43
|
|
|
44
|
+
var _usePrevious = _interopRequireDefault(require("./usePrevious"));
|
|
45
|
+
|
|
42
46
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
43
47
|
|
|
44
48
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -148,6 +152,9 @@ var Carousel = function Carousel(_ref) {
|
|
|
148
152
|
isLocked = _React$useState8[0],
|
|
149
153
|
setLocked = _React$useState8[1];
|
|
150
154
|
|
|
155
|
+
var childrenLen = Array.isArray(children) ? children.length : 0;
|
|
156
|
+
var prevChildrenLen = (0, _usePrevious["default"])(childrenLen) || 0;
|
|
157
|
+
var isChildrenLenDiff = childrenLen !== prevChildrenLen;
|
|
151
158
|
var increaseAutoplayDelay = React.useCallback(function (_ref2) {
|
|
152
159
|
var params = _ref2.params,
|
|
153
160
|
autoplay = _ref2.autoplay;
|
|
@@ -271,6 +278,11 @@ var Carousel = function Carousel(_ref) {
|
|
|
271
278
|
window.removeEventListener('resize', windowResizeHandlerThrottled);
|
|
272
279
|
};
|
|
273
280
|
}, [swiperInstance]);
|
|
281
|
+
React.useEffect(function () {
|
|
282
|
+
if (swiperInstance && isChildrenLenDiff) {
|
|
283
|
+
handleNavDisplay(swiperInstance);
|
|
284
|
+
}
|
|
285
|
+
}, [isChildrenLenDiff, swiperInstance]);
|
|
274
286
|
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
275
287
|
ref: rootRef,
|
|
276
288
|
className: cn({
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
13
|
+
|
|
14
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
|
|
16
|
+
function usePrevious(value) {
|
|
17
|
+
var ref = React.useRef();
|
|
18
|
+
React.useEffect(function () {
|
|
19
|
+
ref.current = value;
|
|
20
|
+
}, [value]);
|
|
21
|
+
return ref.current;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var _default = usePrevious;
|
|
25
|
+
exports["default"] = _default;
|
|
@@ -89,7 +89,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
89
89
|
dataAttrs = _ref.dataAttrs,
|
|
90
90
|
onTabClick = _ref.onTabClick,
|
|
91
91
|
outerObserveContainer = _ref.outerObserveContainer;
|
|
92
|
-
var tabsRef = React.useRef(
|
|
92
|
+
var tabsRef = React.useRef({});
|
|
93
93
|
var rootRef = React.useRef(null);
|
|
94
94
|
var tabListRef = React.useRef(null);
|
|
95
95
|
var intersectionObserverRef = React.useRef();
|
|
@@ -154,15 +154,21 @@ var Tabs = function Tabs(_ref) {
|
|
|
154
154
|
stickyOffset = _React$useState22[0],
|
|
155
155
|
setStickyOffset = _React$useState22[1];
|
|
156
156
|
|
|
157
|
-
var setTabRef = React.useCallback(function (
|
|
158
|
-
|
|
157
|
+
var setTabRef = React.useCallback(function (i) {
|
|
158
|
+
return function (tab) {
|
|
159
|
+
if (tab) {
|
|
160
|
+
tabsRef.current[i] = tab;
|
|
161
|
+
}
|
|
162
|
+
};
|
|
159
163
|
}, []);
|
|
160
164
|
var calculateUnderline = React.useCallback(function () {
|
|
161
|
-
|
|
165
|
+
var tabs = Object.values(tabsRef.current);
|
|
166
|
+
|
|
167
|
+
if (!tabs.length) {
|
|
162
168
|
return;
|
|
163
169
|
}
|
|
164
170
|
|
|
165
|
-
var translate = (0, _toConsumableArray2["default"])(
|
|
171
|
+
var translate = (0, _toConsumableArray2["default"])(tabs).splice(0, currentIndex).reduce(function (accWidth, node) {
|
|
166
172
|
var _node$getBoundingClie = node.getBoundingClientRect(),
|
|
167
173
|
width = _node$getBoundingClie.width;
|
|
168
174
|
|
|
@@ -317,7 +323,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
317
323
|
className: cn('slide')
|
|
318
324
|
}, /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
|
|
319
325
|
className: cn('tab', [classes === null || classes === void 0 ? void 0 : classes.tab, activeTabClassName]),
|
|
320
|
-
ref: setTabRef
|
|
326
|
+
ref: setTabRef(i)
|
|
321
327
|
}, (0, _uiHelpers.filterDataAttrs)(data === null || data === void 0 ? void 0 : data.root, i + 1)), renderTabWrapper ? renderTabWrapper(tab) : tab));
|
|
322
328
|
});
|
|
323
329
|
}, [renderTab, children, classes === null || classes === void 0 ? void 0 : classes.activeTab, currentIndex, setTabRef, classes === null || classes === void 0 ? void 0 : classes.tab]);
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -44,3 +44,4 @@ export { default as Timer } from './components/Badges/components/TimerBadge/Time
|
|
|
44
44
|
export { default as TimerBadge } from './components/Badges/components/TimerBadge/TimerBadge';
|
|
45
45
|
export { default as Tooltip } from './components/Tooltip/Tooltip';
|
|
46
46
|
export { default as usePagination } from './components/Pagination/usePagination';
|
|
47
|
+
export { default as usePrevious } from './components/Carousel/usePrevious';
|
package/dist/lib/index.js
CHANGED
|
@@ -279,6 +279,12 @@ Object.defineProperty(exports, "usePagination", {
|
|
|
279
279
|
return _usePagination["default"];
|
|
280
280
|
}
|
|
281
281
|
});
|
|
282
|
+
Object.defineProperty(exports, "usePrevious", {
|
|
283
|
+
enumerable: true,
|
|
284
|
+
get: function get() {
|
|
285
|
+
return _usePrevious["default"];
|
|
286
|
+
}
|
|
287
|
+
});
|
|
282
288
|
|
|
283
289
|
var _Accordion = _interopRequireDefault(require("./components/Accordion/Accordion"));
|
|
284
290
|
|
|
@@ -372,4 +378,6 @@ var _Tooltip = _interopRequireDefault(require("./components/Tooltip/Tooltip"));
|
|
|
372
378
|
|
|
373
379
|
var _usePagination = _interopRequireDefault(require("./components/Pagination/usePagination"));
|
|
374
380
|
|
|
381
|
+
var _usePrevious = _interopRequireDefault(require("./components/Carousel/usePrevious"));
|
|
382
|
+
|
|
375
383
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@megafon/ui-core",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.1",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"styles"
|
|
@@ -54,9 +54,12 @@
|
|
|
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": "^2.
|
|
57
|
+
"@megafon/ui-icons": "^2.2.0",
|
|
58
58
|
"@svgr/core": "^2.4.1",
|
|
59
|
+
"@testing-library/jest-dom": "5.16.2",
|
|
60
|
+
"@testing-library/react": "12.1.2",
|
|
59
61
|
"@testing-library/react-hooks": "^7.0.1",
|
|
62
|
+
"@testing-library/user-event": "13.5.0",
|
|
60
63
|
"@types/enzyme": "^3.10.5",
|
|
61
64
|
"@types/enzyme-adapter-react-16": "^1.0.6",
|
|
62
65
|
"@types/jest": "^25.1.3",
|
|
@@ -97,5 +100,5 @@
|
|
|
97
100
|
"react-popper": "^2.2.3",
|
|
98
101
|
"swiper": "^6.5.6"
|
|
99
102
|
},
|
|
100
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "08dd535c268cf6cd4f7c30d66845e5f16aa7b14d"
|
|
101
104
|
}
|