@skbkontur/side-menu 3.2.6 → 3.2.7
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
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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.2.7](https://git.skbkontur.ru/ui/ui-parking-2/compare/@skbkontur/side-menu@3.2.6...@skbkontur/side-menu@3.2.7) (2025-07-24)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **SideMenu:** update scrollbar and items after dynamic updates ([b26abdf](https://git.skbkontur.ru/ui/ui-parking-2/commits/b26abdff7aed26e2fa01387119cae6157dc5388d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [3.2.6](https://git.skbkontur.ru/ui/ui-parking-2/compare/@skbkontur/side-menu@3.2.5...@skbkontur/side-menu@3.2.6) (2025-07-04)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @skbkontur/side-menu
|
package/SideMenuDataTids.d.ts
CHANGED
package/SideMenuDataTids.js
CHANGED
package/package.json
CHANGED
package/src/SideMenu/SideMenu.js
CHANGED
|
@@ -35,6 +35,7 @@ var SideMenuInner = forwardRef(function (_a, ref) {
|
|
|
35
35
|
var _f, _g;
|
|
36
36
|
var children = _a.children, value = _a.value, activeItem = _a.activeItem, _h = _a.size, size = _h === void 0 ? 'small' : _h, _j = _a.isSeparatedMenu, isSeparatedMenu = _j === void 0 ? false : _j, className = _a.className, _k = _a.disableSwipe, disableSwipe = _k === void 0 ? false : _k, _l = _a.disableCollapsing, disableCollapsing = _l === void 0 ? false : _l, desktopMediaQuery = _a.desktopMediaQuery, narrowDesktopMediaQuery = _a.narrowDesktopMediaQuery, tabletMediaQuery = _a.tabletMediaQuery, mobileMediaQuery = _a.mobileMediaQuery, _m = _a.showScrollBar, showScrollBar = _m === void 0 ? 'hover' : _m, isOpen = _a.isOpen, isPinned = _a.isPinned, onValueChange = _a.onValueChange, onActiveItemChange = _a.onActiveItemChange, onOpen = _a.onOpen, onClose = _a.onClose, onPinnedValueChange = _a.onPinnedValueChange, rest = __rest(_a, ["children", "value", "activeItem", "size", "isSeparatedMenu", "className", "disableSwipe", "disableCollapsing", "desktopMediaQuery", "narrowDesktopMediaQuery", "tabletMediaQuery", "mobileMediaQuery", "showScrollBar", "isOpen", "isPinned", "onValueChange", "onActiveItemChange", "onOpen", "onClose", "onPinnedValueChange"]);
|
|
37
37
|
var transitionTimer = useRef(null);
|
|
38
|
+
var timerScrollbar = useRef(null);
|
|
38
39
|
var sideMenuRef = useRef(null);
|
|
39
40
|
var contentWrapperRef = useRef(null);
|
|
40
41
|
var scrollContainerRef = useRef(null);
|
|
@@ -99,7 +100,8 @@ var SideMenuInner = forwardRef(function (_a, ref) {
|
|
|
99
100
|
if (isMobile && isSeparatedMenuShown) {
|
|
100
101
|
return;
|
|
101
102
|
}
|
|
102
|
-
|
|
103
|
+
clearTimeout(timerScrollbar.current);
|
|
104
|
+
timerScrollbar.current = setTimeout(function () {
|
|
103
105
|
var _a;
|
|
104
106
|
var contentWrapper = contentWrapperRef.current;
|
|
105
107
|
var scrollContainer = (_a = scrollContainerRef.current) === null || _a === void 0 ? void 0 : _a.inner;
|
|
@@ -108,7 +110,10 @@ var SideMenuInner = forwardRef(function (_a, ref) {
|
|
|
108
110
|
}
|
|
109
111
|
setHasScrollBar(scrollContainer.clientHeight < contentWrapper.scrollHeight);
|
|
110
112
|
}, 50);
|
|
111
|
-
|
|
113
|
+
return function () {
|
|
114
|
+
clearTimeout(timerScrollbar.current);
|
|
115
|
+
};
|
|
116
|
+
});
|
|
112
117
|
useEffect(function () {
|
|
113
118
|
isDesktopQuery && setIsOpened(!isPinned);
|
|
114
119
|
}, [isPinned, isDesktopQuery]);
|
|
@@ -5,6 +5,7 @@ import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
|
5
5
|
import { SideMenuContext } from '../SideMenuContext';
|
|
6
6
|
import { jsStylesForSideMenu } from '../SideMenu/SideMenu.styles';
|
|
7
7
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
8
|
+
import { SideMenuDataTids } from '../../SideMenuDataTids';
|
|
8
9
|
import { jsStyles } from './SideMenuFooter.styles';
|
|
9
10
|
var SideMenuFooterInner = forwardRef(function (_a, ref) {
|
|
10
11
|
var _b;
|
|
@@ -16,7 +17,7 @@ var SideMenuFooterInner = forwardRef(function (_a, ref) {
|
|
|
16
17
|
setIsFixed(!!context.hasScrollBar && !(context.scrollState === 'bottom'));
|
|
17
18
|
}, [context.hasScrollBar, context.scrollState]);
|
|
18
19
|
if (!(context.isMobile || context.isTablet) || (context.isOpened && (context.isMobile || context.isTablet))) {
|
|
19
|
-
return (React.createElement("footer", __assign({ className: cx((_b = {},
|
|
20
|
+
return (React.createElement("footer", __assign({ "data-tid": SideMenuDataTids.footer, "data-visual-state-fixed": isFixed, className: cx((_b = {},
|
|
20
21
|
_b[jsStyles.root(theme)] = true,
|
|
21
22
|
_b[jsStyles.rootFixed(theme)] = isFixed,
|
|
22
23
|
_b[jsStyles.rootTransitionedForTabletsOrMobiles()] = context.isBeingTransitioned && (context.isMobile || context.isTablet),
|