@skbkontur/side-menu 3.2.1 → 3.2.3
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 +16 -0
- package/hooks/useAnimateOnMount.d.ts +1 -1
- package/hooks/useMemoIcon.js +2 -6
- package/internal/themes/SideMenuTheme.d.ts +2 -2
- package/lib/theming/ThemeHelpers.d.ts +2 -2
- package/lib/theming/ThemeHelpers.js +6 -3
- package/lib/theming/ThemeTypes.d.ts +1 -1
- package/lib/utils/scripts.d.ts +1 -1
- package/package.json +3 -3
- package/src/Navigation.d.ts +3 -2
- package/src/Navigation.js +2 -1
- package/src/SideMenu/SideMenu.d.ts +1 -1
- package/src/SideMenu/SideMenu.js +15 -10
- package/src/SideMenu/SideMenu.styles.d.ts +1 -1
- package/src/SideMenuAvatar/SideMenuAvatar.d.ts +2 -2
- package/src/SideMenuAvatar/SideMenuAvatar.js +1 -1
- package/src/SideMenuBody/SideMenuBody.d.ts +1 -1
- package/src/SideMenuBody/SideMenuBody.js +1 -1
- package/src/SideMenuBody/SideMenuBody.styles.d.ts +1 -1
- package/src/SideMenuContext.d.ts +4 -4
- package/src/SideMenuDivider/SideMenuDivider.d.ts +1 -1
- package/src/SideMenuDivider/SideMenuDivider.js +2 -2
- package/src/SideMenuDivider/SideMenuDivider.styles.d.ts +1 -1
- package/src/SideMenuDropdown/SideMenuDropdown.d.ts +3 -3
- package/src/SideMenuDropdown/SideMenuDropdown.js +2 -2
- package/src/SideMenuDropdown/SideMenuDropdown.styles.d.ts +1 -1
- package/src/SideMenuFooter/SideMenuFooter.d.ts +1 -1
- package/src/SideMenuFooter/SideMenuFooter.js +1 -1
- package/src/SideMenuFooter/SideMenuFooter.styles.d.ts +1 -1
- package/src/SideMenuHeader/SideMenuHeader.d.ts +1 -1
- package/src/SideMenuHeader/SideMenuHeader.js +2 -2
- package/src/SideMenuHeader/SideMenuHeader.styles.d.ts +1 -1
- package/src/SideMenuItem/SideMenuItem.d.ts +1 -1
- package/src/SideMenuLink/SideMenuLink.d.ts +1 -1
- package/src/SideMenuLink/SideMenuLink.js +1 -1
- package/src/SideMenuOrganisations/SideMenuOrganisations.d.ts +1 -1
- package/src/SideMenuSubItem/SideMenuSubItem.d.ts +1 -1
- package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.d.ts +1 -1
- package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.js +1 -1
- package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.styles.d.ts +1 -1
- package/src/SideMenuSubLink/SideMenuSubLink.d.ts +1 -1
- package/src/Tree.d.ts +1 -1
- package/src/Tree.js +4 -2
- package/src/internal/BackButton.d.ts +1 -1
- package/src/internal/BackButton.js +2 -2
- package/src/internal/Backdrop.d.ts +1 -1
- package/src/internal/Backdrop.js +1 -1
- package/src/internal/Burger.js +3 -3
- package/src/internal/Burger.styles.d.ts +1 -1
- package/src/internal/ClickableElement.d.ts +3 -2
- package/src/internal/ClickableElement.js +7 -6
- package/src/internal/ClickableElement.styles.d.ts +1 -1
- package/src/internal/InnerSubMenu.js +1 -1
- package/src/internal/ItemContent/Caption.d.ts +1 -1
- package/src/internal/ItemContent/Caption.js +2 -1
- package/src/internal/ItemContent/Caption.styles.d.ts +1 -1
- package/src/internal/ItemContent/Icon.d.ts +2 -2
- package/src/internal/ItemContent/Icon.js +2 -2
- package/src/internal/ItemContent/Icon.styles.d.ts +1 -1
- package/src/internal/ItemContent/ItemContent.d.ts +1 -1
- package/src/internal/ItemContent/ItemContent.js +7 -5
- package/src/internal/ItemContent/ItemContent.styles.d.ts +1 -1
- package/src/internal/ItemContent/Marker.d.ts +1 -1
- package/src/internal/ItemContent/Marker.js +2 -2
- package/src/internal/ItemContent/Marker.styles.d.ts +1 -1
- package/src/internal/NestedMenu.js +3 -3
- package/src/internal/NestedMenu.styles.d.ts +1 -1
- package/src/internal/RightBorder.js +2 -2
- package/src/internal/RightBorder.styles.d.ts +1 -1
- package/src/internal/SeparatedSubMenu.d.ts +1 -1
- package/src/internal/SeparatedSubMenu.js +4 -4
- package/src/internal/SeparatedSubMenu.styles.d.ts +1 -1
- package/src/internal/SideMenuLogotype.d.ts +1 -1
- package/src/internal/SideMenuLogotype.js +4 -4
- package/src/internal/SideMenuLogotype.styles.d.ts +1 -1
- package/src/internal/SubMenu.d.ts +1 -1
- package/src/internal/SubMenu.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
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.3](https://git.skbkontur.ru/ui/ui-parking-2/compare/@skbkontur/side-menu@3.2.2...@skbkontur/side-menu@3.2.3) (2025-05-20)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @skbkontur/side-menu
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.2.2](https://git.skbkontur.ru/ui/ui-parking-2/compare/@skbkontur/side-menu@3.2.1...@skbkontur/side-menu@3.2.2) (2025-05-06)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @skbkontur/side-menu
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## [3.2.1](https://git.skbkontur.ru/ui/ui-parking-2/compare/@skbkontur/side-menu@3.2.0...@skbkontur/side-menu@3.2.1) (2025-03-19)
|
|
7
23
|
|
|
8
24
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CSSProperties } from 'react';
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
2
|
export declare function useAnimateOnMount(isMounted: boolean, delayTime: number, mountStyles: CSSProperties, unmountStyles: CSSProperties): [boolean, CSSProperties];
|
package/hooks/useMemoIcon.js
CHANGED
|
@@ -9,9 +9,7 @@ export var useMemoIcon = function (children, _a) {
|
|
|
9
9
|
if (isOpened) {
|
|
10
10
|
return React.createElement(ArrowCDownIcon16Regular, { onClick: onClick });
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
return React.createElement(ArrowCRightIcon16Regular, null);
|
|
14
|
-
}
|
|
12
|
+
return React.createElement(ArrowCRightIcon16Regular, null);
|
|
15
13
|
}
|
|
16
14
|
}, [isOpened, children]);
|
|
17
15
|
};
|
|
@@ -20,8 +18,6 @@ export var useMemoBorderIcon = function (isCollapsed) {
|
|
|
20
18
|
if (isCollapsed) {
|
|
21
19
|
return React.createElement(ArrowCRightIcon16Regular, null);
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
return React.createElement(ArrowCLeftIcon16Regular, null);
|
|
25
|
-
}
|
|
21
|
+
return React.createElement(ArrowCLeftIcon16Regular, null);
|
|
26
22
|
}, [isCollapsed]);
|
|
27
23
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BasicLightThemeInternal } from '@skbkontur/react-ui/internal/themes/BasicLightTheme';
|
|
2
|
-
import { Theme as ReactUITheme } from '@skbkontur/react-ui/lib/theming/Theme';
|
|
1
|
+
import type { BasicLightThemeInternal } from '@skbkontur/react-ui/internal/themes/BasicLightTheme';
|
|
2
|
+
import type { Theme as ReactUITheme } from '@skbkontur/react-ui/lib/theming/Theme';
|
|
3
3
|
declare const SideMenuTheme_base: typeof BasicLightThemeInternal;
|
|
4
4
|
export declare class SideMenuTheme extends SideMenuTheme_base {
|
|
5
5
|
static sideMenuWidth: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Theme as ReactUITheme } from '@skbkontur/react-ui/lib/theming/Theme';
|
|
2
|
-
import { SideMenuTheme } from './ThemeTypes';
|
|
1
|
+
import type { Theme as ReactUITheme } from '@skbkontur/react-ui/lib/theming/Theme';
|
|
2
|
+
import type { SideMenuTheme } from './ThemeTypes';
|
|
3
3
|
/**
|
|
4
4
|
* Creates SideMenuTheme out of ReactUI's Theme.
|
|
5
5
|
*
|
|
@@ -14,8 +14,9 @@ import { SideMenuThemeInternal, isSideMenuTheme, markAsSideMenuTheme } from '../
|
|
|
14
14
|
*/
|
|
15
15
|
export var createSideMenuTheme = function (theme) {
|
|
16
16
|
var e_1, _a;
|
|
17
|
-
if (isSideMenuTheme(theme))
|
|
17
|
+
if (isSideMenuTheme(theme)) {
|
|
18
18
|
return theme;
|
|
19
|
+
}
|
|
19
20
|
var sideMenuTheme = Object.create(theme, Object.assign(Object.getOwnPropertyDescriptors(SideMenuThemeInternal), {}));
|
|
20
21
|
var _loop_1 = function (key) {
|
|
21
22
|
var descriptor = Object.getOwnPropertyDescriptor(sideMenuTheme, key);
|
|
@@ -48,8 +49,9 @@ export var createSideMenuTheme = function (theme) {
|
|
|
48
49
|
export var getSideMenuTheme = memo(function (theme) {
|
|
49
50
|
return createSideMenuTheme(theme);
|
|
50
51
|
});
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
51
53
|
function isZeroArgs(fn) {
|
|
52
|
-
return fn.length
|
|
54
|
+
return fn.length === 0;
|
|
53
55
|
}
|
|
54
56
|
var memoize = function (fn) {
|
|
55
57
|
if (isZeroArgs(fn)) {
|
|
@@ -65,8 +67,9 @@ var memoize = function (fn) {
|
|
|
65
67
|
}
|
|
66
68
|
var cache = new WeakMap();
|
|
67
69
|
return function (arg) {
|
|
68
|
-
if (!cache.has(arg))
|
|
70
|
+
if (!cache.has(arg)) {
|
|
69
71
|
cache.set(arg, fn(arg));
|
|
72
|
+
}
|
|
70
73
|
return cache.get(arg);
|
|
71
74
|
};
|
|
72
75
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { SideMenuThemeInternal } from '../../internal/themes/SideMenuTheme';
|
|
1
|
+
import type { SideMenuThemeInternal } from '../../internal/themes/SideMenuTheme';
|
|
2
2
|
export type SideMenuTheme = Readonly<typeof SideMenuThemeInternal>;
|
|
3
3
|
export type SideMenuThemeIn = Partial<SideMenuTheme>;
|
package/lib/utils/scripts.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skbkontur/side-menu",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"@skbkontur/react-ui": "^5.0.0"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@skbkontur/icons": "^1.
|
|
26
|
-
"@skbkontur/react-ui-addons": "^5.2.
|
|
25
|
+
"@skbkontur/icons": "^1.18.0",
|
|
26
|
+
"@skbkontur/react-ui-addons": "^5.2.1",
|
|
27
27
|
"tslib": "^2.8.0"
|
|
28
28
|
}
|
|
29
29
|
}
|
package/src/Navigation.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { RefObject } from 'react';
|
|
2
|
-
import {
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
import type { TreeNode } from './Tree';
|
|
3
|
+
import { Tree } from './Tree';
|
|
3
4
|
export declare const navigationAttribute = "data-navigation-id";
|
|
4
5
|
export declare const navigationAttributeForSeparatedMenu = "data-parent-navigation-id";
|
|
5
6
|
export declare const navigationAttributeBackButton = "data-navigation-back-button";
|
package/src/Navigation.js
CHANGED
|
@@ -111,8 +111,9 @@ var MenuNavigation = /** @class */ (function () {
|
|
|
111
111
|
(_d = firstLevelParent === null || firstLevelParent === void 0 ? void 0 : firstLevelParent.value) === null || _d === void 0 ? void 0 : _d.setIsFirstLevelParentOfActiveMenuItem(true);
|
|
112
112
|
};
|
|
113
113
|
MenuNavigation.prototype.getFirstLevelParent = function (treeNode) {
|
|
114
|
-
if (!treeNode)
|
|
114
|
+
if (!treeNode) {
|
|
115
115
|
return;
|
|
116
|
+
}
|
|
116
117
|
var parentTreeNode = treeNode.parent;
|
|
117
118
|
while (parentTreeNode) {
|
|
118
119
|
var foundNode = parentTreeNode.parent;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
2
|
+
import type { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
3
3
|
import { SideMenuOrganisations } from '../SideMenuOrganisations/SideMenuOrganisations';
|
|
4
4
|
import { SideMenuBody } from '../SideMenuBody/SideMenuBody';
|
|
5
5
|
import { SideMenuFooter } from '../SideMenuFooter/SideMenuFooter';
|
package/src/SideMenu/SideMenu.js
CHANGED
|
@@ -3,7 +3,10 @@ import React, { forwardRef, useContext, useEffect, useRef, useState } from 'reac
|
|
|
3
3
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
4
|
import { isIE11 } from '@skbkontur/react-ui/lib/client';
|
|
5
5
|
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
6
|
-
import {
|
|
6
|
+
import { LIGHT_THEME, ScrollContainer, useResponsiveLayout } from '@skbkontur/react-ui';
|
|
7
|
+
import { RenderLayer } from '@skbkontur/react-ui/internal/RenderLayer';
|
|
8
|
+
import { ZIndex } from '@skbkontur/react-ui/internal/ZIndex';
|
|
9
|
+
import { mergeRefs } from '@skbkontur/react-ui/lib/utils';
|
|
7
10
|
import { SideMenuOrganisations } from '../SideMenuOrganisations/SideMenuOrganisations';
|
|
8
11
|
import { SideMenuContext } from '../SideMenuContext';
|
|
9
12
|
import { SideMenuBody } from '../SideMenuBody/SideMenuBody';
|
|
@@ -18,16 +21,13 @@ import { RightBorder } from '../internal/RightBorder';
|
|
|
18
21
|
import { SideMenuDropdown } from '../SideMenuDropdown/SideMenuDropdown';
|
|
19
22
|
import { SideMenuLink } from '../SideMenuLink/SideMenuLink';
|
|
20
23
|
import { SideMenuSubLink } from '../SideMenuSubLink/SideMenuSubLink';
|
|
21
|
-
import { LIGHT_THEME, ScrollContainer, useResponsiveLayout } from '@skbkontur/react-ui';
|
|
22
24
|
import { Backdrop } from '../internal/Backdrop';
|
|
23
|
-
import { RenderLayer } from '@skbkontur/react-ui/internal/RenderLayer';
|
|
24
25
|
import { isTouchDevice } from '../../lib/utils/scripts';
|
|
25
26
|
import { SideMenuDataTids } from '../../SideMenuDataTids';
|
|
26
|
-
import { ZIndex } from '@skbkontur/react-ui/internal/ZIndex';
|
|
27
27
|
import { useAnimateOnMount } from '../../hooks/useAnimateOnMount';
|
|
28
28
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
29
|
-
import { mergeRefs } from '@skbkontur/react-ui/lib/utils';
|
|
30
29
|
import { MenuNavigation } from '../Navigation';
|
|
30
|
+
import { jsStylesForSideMenu, customStyles } from './SideMenu.styles';
|
|
31
31
|
export var transitionDuration = 300; //ms
|
|
32
32
|
export var burgerTransitionDuration = (transitionDuration * 2) / 3;
|
|
33
33
|
var SideMenuInner = forwardRef(function (_a, ref) {
|
|
@@ -96,14 +96,16 @@ var SideMenuInner = forwardRef(function (_a, ref) {
|
|
|
96
96
|
};
|
|
97
97
|
}, []);
|
|
98
98
|
useEffect(function () {
|
|
99
|
-
if (isMobile && isSeparatedMenuShown)
|
|
99
|
+
if (isMobile && isSeparatedMenuShown) {
|
|
100
100
|
return;
|
|
101
|
+
}
|
|
101
102
|
setTimeout(function () {
|
|
102
103
|
var _a;
|
|
103
104
|
var contentWrapper = contentWrapperRef.current;
|
|
104
105
|
var scrollContainer = (_a = scrollContainerRef.current) === null || _a === void 0 ? void 0 : _a.inner;
|
|
105
|
-
if (!contentWrapper || !scrollContainer)
|
|
106
|
+
if (!contentWrapper || !scrollContainer) {
|
|
106
107
|
return;
|
|
108
|
+
}
|
|
107
109
|
setHasScrollBar(scrollContainer.clientHeight < contentWrapper.scrollHeight);
|
|
108
110
|
}, 50);
|
|
109
111
|
}, [activeMenuItem, isOpened, isBeingTransitioned]);
|
|
@@ -111,8 +113,9 @@ var SideMenuInner = forwardRef(function (_a, ref) {
|
|
|
111
113
|
isDesktopQuery && setIsOpened(!isPinned);
|
|
112
114
|
}, [isPinned, isDesktopQuery]);
|
|
113
115
|
var handleIsOpened = function (newIsOpened, shouldSetState) {
|
|
114
|
-
if (newIsOpened === isOpened || !shouldSetState)
|
|
116
|
+
if (newIsOpened === isOpened || !shouldSetState) {
|
|
115
117
|
return;
|
|
118
|
+
}
|
|
116
119
|
setIsOpened(newIsOpened);
|
|
117
120
|
if (newIsOpened) {
|
|
118
121
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
@@ -188,8 +191,9 @@ var SideMenuInner = forwardRef(function (_a, ref) {
|
|
|
188
191
|
}
|
|
189
192
|
};
|
|
190
193
|
var showMinimizedRootForNarrowDesktop = function (e) {
|
|
191
|
-
if (!isSeparatedMenuShown || !isCollapsable || isTouchScreen)
|
|
194
|
+
if (!isSeparatedMenuShown || !isCollapsable || isTouchScreen) {
|
|
192
195
|
return;
|
|
196
|
+
}
|
|
193
197
|
var relativeXCoordinate = e.clientX - leftPosition;
|
|
194
198
|
var sideMenuMinimizedWidth = parseInt(theme.sideMenuMinimizedWidth);
|
|
195
199
|
if (relativeXCoordinate <= sideMenuMinimizedWidth && mousePositionX >= sideMenuMinimizedWidth) {
|
|
@@ -201,8 +205,9 @@ var SideMenuInner = forwardRef(function (_a, ref) {
|
|
|
201
205
|
setMousePositionX(relativeXCoordinate);
|
|
202
206
|
};
|
|
203
207
|
var showMenu = function (newIsShown) {
|
|
204
|
-
if (!isTabletOrMobile)
|
|
208
|
+
if (!isTabletOrMobile) {
|
|
205
209
|
return;
|
|
210
|
+
}
|
|
206
211
|
if (!isBeingTransitioned && newIsShown !== isOpened) {
|
|
207
212
|
setIsBeingTransitioned(true);
|
|
208
213
|
handleIsOpened(newIsShown, !manual);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { UserAvatarProps } from '@skbkontur/react-ui-addons/';
|
|
3
|
-
import { SideMenuDropdownProps } from '../SideMenuDropdown/SideMenuDropdown';
|
|
2
|
+
import type { UserAvatarProps } from '@skbkontur/react-ui-addons/';
|
|
3
|
+
import type { SideMenuDropdownProps } from '../SideMenuDropdown/SideMenuDropdown';
|
|
4
4
|
export interface SideMenuAvatarProps extends Omit<UserAvatarProps, 'style'>, Omit<SideMenuDropdownProps, 'icon'>, Partial<Pick<SideMenuDropdownProps, 'icon' | 'onOpen' | 'onClose'>> {
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __assign, __rest } from "tslib";
|
|
2
2
|
import React, { forwardRef, useContext } from 'react';
|
|
3
3
|
import { UserAvatar } from '@skbkontur/react-ui-addons/';
|
|
4
|
+
import { ThemeContext } from '@skbkontur/react-ui';
|
|
4
5
|
import { SideMenuDropdown } from '../SideMenuDropdown/SideMenuDropdown';
|
|
5
6
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
6
|
-
import { ThemeContext } from '@skbkontur/react-ui';
|
|
7
7
|
var SideMenuAvatarInner = forwardRef(function (_a, ref) {
|
|
8
8
|
var userName = _a.userName, avatarUrl = _a.avatarUrl, children = _a.children, icon = _a.icon, caption = _a.caption, rest = __rest(_a, ["userName", "avatarUrl", "children", "icon", "caption"]);
|
|
9
9
|
var theme = getSideMenuTheme(useContext(ThemeContext));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
2
|
+
import type { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
3
3
|
export interface SideMenuBodyProps extends CommonProps {
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
}
|
|
@@ -2,10 +2,10 @@ import { __assign, __rest } from "tslib";
|
|
|
2
2
|
import React, { forwardRef, useContext } from 'react';
|
|
3
3
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
4
|
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
5
|
-
import { jsStyles } from './SideMenuBody.styles';
|
|
6
5
|
import { SideMenuContext } from '../SideMenuContext';
|
|
7
6
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
8
7
|
import { jsStylesForSideMenu } from '../SideMenu/SideMenu.styles';
|
|
8
|
+
import { jsStyles } from './SideMenuBody.styles';
|
|
9
9
|
var SideMenuBodyInner = forwardRef(function (_a, ref) {
|
|
10
10
|
var _b, _c;
|
|
11
11
|
var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
|
package/src/SideMenuContext.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { RefObject } from 'react';
|
|
2
|
-
import { ScrollContainerScrollStateY } from '@skbkontur/react-ui';
|
|
3
|
-
import { showScrollBarType } from './SideMenu/SideMenu';
|
|
4
|
-
import { MenuNavigation } from './Navigation';
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
import type { ScrollContainerScrollStateY } from '@skbkontur/react-ui';
|
|
3
|
+
import type { showScrollBarType } from './SideMenu/SideMenu';
|
|
4
|
+
import type { MenuNavigation } from './Navigation';
|
|
5
5
|
export interface SideMenuContextType {
|
|
6
6
|
isBeingTransitioned?: boolean;
|
|
7
7
|
isSeparatedMenu?: boolean;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __assign, __rest } from "tslib";
|
|
2
2
|
import React, { forwardRef, useContext } from 'react';
|
|
3
3
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
|
-
import { jsStyles } from './SideMenuDivider.styles';
|
|
5
|
-
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
6
4
|
import { ThemeContext } from '@skbkontur/react-ui';
|
|
5
|
+
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
6
|
+
import { jsStyles } from './SideMenuDivider.styles';
|
|
7
7
|
var SideMenuDividerInner = forwardRef(function (_a, ref) {
|
|
8
8
|
var _b;
|
|
9
9
|
var className = _a.className, rest = __rest(_a, ["className"]);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { DropdownMenuProps } from '@skbkontur/react-ui';
|
|
3
|
-
import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
4
|
-
import { SideMenuItemProps } from '../SideMenuItem/SideMenuItem';
|
|
2
|
+
import type { DropdownMenuProps } from '@skbkontur/react-ui';
|
|
3
|
+
import type { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
4
|
+
import type { SideMenuItemProps } from '../SideMenuItem/SideMenuItem';
|
|
5
5
|
export interface SideMenuDropdownProps extends CommonProps, Omit<DropdownMenuProps, 'caption' | 'disableAnimations'>, Pick<SideMenuItemProps, 'icon' | 'caption' | 'marker' | 'id' | 'subCaption' | '_isAvatar'> {
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
disableAnimations?: boolean;
|
|
@@ -2,13 +2,13 @@ import { __assign, __rest } from "tslib";
|
|
|
2
2
|
import React, { forwardRef, useContext } from 'react';
|
|
3
3
|
import { ThemeContext, DropdownMenu } from '@skbkontur/react-ui';
|
|
4
4
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
5
|
-
import { jsStyles } from './SideMenuDropdown.styles';
|
|
6
5
|
import { SideMenuItem } from '../SideMenuItem/SideMenuItem';
|
|
7
6
|
import { SideMenuContext } from '../SideMenuContext';
|
|
8
7
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
8
|
+
import { jsStyles } from './SideMenuDropdown.styles';
|
|
9
9
|
var SideMenuDropdownInner = forwardRef(function (_a, ref) {
|
|
10
10
|
var _b, _c;
|
|
11
|
-
var icon = _a.icon, id = _a.id, children = _a.children, caption = _a.caption, marker = _a.marker, subCaption = _a.subCaption, className = _a.className,
|
|
11
|
+
var icon = _a.icon, id = _a.id, children = _a.children, caption = _a.caption, marker = _a.marker, subCaption = _a.subCaption, className = _a.className, menuWidth = _a.menuWidth, _isAvatar = _a._isAvatar, rest = __rest(_a, ["icon", "id", "children", "caption", "marker", "subCaption", "className", "menuWidth", "_isAvatar"]);
|
|
12
12
|
var context = useContext(SideMenuContext);
|
|
13
13
|
var theme = getSideMenuTheme(useContext(ThemeContext));
|
|
14
14
|
return (React.createElement("li", { className: cx((_b = {}, _b[jsStyles.wrapper()] = true, _b), className), ref: ref },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
2
|
+
import type { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
3
3
|
export interface SideMenuFooterProps extends CommonProps {
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
}
|
|
@@ -2,10 +2,10 @@ import { __assign, __read, __rest } from "tslib";
|
|
|
2
2
|
import React, { forwardRef, useContext, useEffect, useState } from 'react';
|
|
3
3
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
4
|
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
5
|
-
import { jsStyles } from './SideMenuFooter.styles';
|
|
6
5
|
import { SideMenuContext } from '../SideMenuContext';
|
|
7
6
|
import { jsStylesForSideMenu } from '../SideMenu/SideMenu.styles';
|
|
8
7
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
8
|
+
import { jsStyles } from './SideMenuFooter.styles';
|
|
9
9
|
var SideMenuFooterInner = forwardRef(function (_a, ref) {
|
|
10
10
|
var _b;
|
|
11
11
|
var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { LogotypeProps } from '@skbkontur/react-ui-addons/components/Logotype';
|
|
2
|
+
import type { LogotypeProps } from '@skbkontur/react-ui-addons/components/Logotype';
|
|
3
3
|
export interface SideMenuHeaderProps extends Partial<LogotypeProps> {
|
|
4
4
|
iconUrl?: string;
|
|
5
5
|
}
|
|
@@ -3,11 +3,11 @@ import React, { forwardRef, useContext, useEffect, useRef } from 'react';
|
|
|
3
3
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
4
|
import { mergeRefs } from '@skbkontur/react-ui/lib/utils';
|
|
5
5
|
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
6
|
-
import {
|
|
6
|
+
import { getDOMRect } from '@skbkontur/react-ui/lib/dom/getDOMRect';
|
|
7
7
|
import { SideMenuContext } from '../SideMenuContext';
|
|
8
8
|
import { SideMenuLogotype } from '../internal/SideMenuLogotype';
|
|
9
9
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
10
|
-
import {
|
|
10
|
+
import { jsStyles } from './SideMenuHeader.styles';
|
|
11
11
|
var SideMenuHeaderInner = forwardRef(function (_a, ref) {
|
|
12
12
|
var _b;
|
|
13
13
|
var _c;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonClickableElementProps } from '../internal/ClickableElement';
|
|
2
|
+
import type { CommonClickableElementProps } from '../internal/ClickableElement';
|
|
3
3
|
export interface SideMenuItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, CommonClickableElementProps {
|
|
4
4
|
component?: React.ComponentType<any>;
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonClickableElementProps } from '../internal/ClickableElement';
|
|
2
|
+
import type { CommonClickableElementProps } from '../internal/ClickableElement';
|
|
3
3
|
export interface SideMenuLinkProps<T = string> extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>, CommonClickableElementProps {
|
|
4
4
|
component?: React.ComponentType<any>;
|
|
5
5
|
href: T;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __assign, __rest } from "tslib";
|
|
2
2
|
import React, { forwardRef } from 'react';
|
|
3
|
+
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
3
4
|
import { ClickableElement } from '../internal/ClickableElement';
|
|
4
5
|
import { jsStyles } from './SideMenuLink.styles';
|
|
5
|
-
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
6
6
|
var SideMenuLinkInner = forwardRef(function (_a, ref) {
|
|
7
7
|
var _b;
|
|
8
8
|
var className = _a.className, component = _a.component, rest = __rest(_a, ["className", "component"]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SideMenuItemProps } from '../SideMenuItem/SideMenuItem';
|
|
2
|
+
import type { SideMenuItemProps } from '../SideMenuItem/SideMenuItem';
|
|
3
3
|
export interface SideMenuSubItemProps extends Omit<SideMenuItemProps, 'icon'>, Partial<Pick<SideMenuItemProps, 'icon'>> {
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
2
|
+
import type { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
3
3
|
export interface SideMenuSubItemHeaderProps extends CommonProps {
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
}
|
|
@@ -2,9 +2,9 @@ import { __assign, __rest } from "tslib";
|
|
|
2
2
|
import React, { forwardRef, useContext } from 'react';
|
|
3
3
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
4
|
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
5
|
-
import { jsStyles } from './SideMenuSubItemHeader.styles';
|
|
6
5
|
import { SideMenuContext } from '../SideMenuContext';
|
|
7
6
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
7
|
+
import { jsStyles } from './SideMenuSubItemHeader.styles';
|
|
8
8
|
var SideMenuSubItemHeaderInner = forwardRef(function (_a, ref) {
|
|
9
9
|
var _b;
|
|
10
10
|
var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SideMenuLinkProps } from '../SideMenuLink/SideMenuLink';
|
|
2
|
+
import type { SideMenuLinkProps } from '../SideMenuLink/SideMenuLink';
|
|
3
3
|
export interface SideMenuSubLinkProps<T = string> extends Omit<SideMenuLinkProps<T>, 'icon'>, Partial<Pick<SideMenuLinkProps, 'icon'>> {
|
|
4
4
|
}
|
|
5
5
|
/**
|
package/src/Tree.d.ts
CHANGED
package/src/Tree.js
CHANGED
|
@@ -66,8 +66,9 @@ var Tree = /** @class */ (function () {
|
|
|
66
66
|
Tree.prototype.insert = function (parentId, id, value) {
|
|
67
67
|
var e_2, _a;
|
|
68
68
|
if (value === void 0) { value = null; }
|
|
69
|
-
if (!id)
|
|
69
|
+
if (!id) {
|
|
70
70
|
return false;
|
|
71
|
+
}
|
|
71
72
|
try {
|
|
72
73
|
for (var _b = __values(this.preOrderTraversal()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
73
74
|
var node = _c.value;
|
|
@@ -115,8 +116,9 @@ var Tree = /** @class */ (function () {
|
|
|
115
116
|
try {
|
|
116
117
|
for (var _b = __values(this.preOrderTraversal()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
117
118
|
var node = _c.value;
|
|
118
|
-
if (node.id === id)
|
|
119
|
+
if (node.id === id) {
|
|
119
120
|
return node;
|
|
121
|
+
}
|
|
120
122
|
}
|
|
121
123
|
}
|
|
122
124
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonClickableElementProps } from './ClickableElement';
|
|
2
|
+
import type { CommonClickableElementProps } from './ClickableElement';
|
|
3
3
|
export interface BackButtonProps extends Pick<CommonClickableElementProps, 'caption' | 'id'> {
|
|
4
4
|
href?: string;
|
|
5
5
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
2
|
import React, { forwardRef, useContext } from 'react';
|
|
3
|
-
import { SideMenuDataTids } from '../../SideMenuDataTids';
|
|
4
3
|
import { ArrowALeftIcon20Regular } from '@skbkontur/icons/icons/ArrowALeftIcon/ArrowALeftIcon20Regular';
|
|
4
|
+
import { SideMenuDataTids } from '../../SideMenuDataTids';
|
|
5
5
|
import { SideMenuItem } from '../SideMenuItem/SideMenuItem';
|
|
6
6
|
import { SideMenuContext } from '../SideMenuContext';
|
|
7
7
|
import { navigationAttributeBackButton } from '../Navigation';
|
|
@@ -12,7 +12,7 @@ import { navigationAttributeBackButton } from '../Navigation';
|
|
|
12
12
|
*/
|
|
13
13
|
var BackButton = forwardRef(function (_a, ref) {
|
|
14
14
|
var _b;
|
|
15
|
-
var caption = _a.caption, id = _a.id
|
|
15
|
+
var caption = _a.caption, id = _a.id;
|
|
16
16
|
var context = useContext(SideMenuContext);
|
|
17
17
|
var handleClick = function () {
|
|
18
18
|
var _a;
|
package/src/internal/Backdrop.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { HideBodyVerticalScroll } from '@skbkontur/react-ui/internal/HideBodyVerticalScroll';
|
|
4
|
-
import { jsStyles } from './Backdrop.styles';
|
|
5
4
|
import { LIGHT_THEME } from '@skbkontur/react-ui';
|
|
6
5
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
6
|
+
import { jsStyles } from './Backdrop.styles';
|
|
7
7
|
export var Backdrop = function (props) {
|
|
8
8
|
var _a;
|
|
9
9
|
return (React.createElement("div", { className: cx((_a = {},
|
package/src/internal/Burger.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { useContext } from 'react';
|
|
2
|
-
import { jsStyles } from './Burger.styles';
|
|
3
|
-
import { SideMenuContext } from '../SideMenuContext';
|
|
4
2
|
import { UiMenuBars3HIcon24Regular } from '@skbkontur/icons/icons/UiMenuBars3HIcon/UiMenuBars3HIcon24Regular';
|
|
3
|
+
import { ThemeContext } from '@skbkontur/react-ui';
|
|
4
|
+
import { SideMenuContext } from '../SideMenuContext';
|
|
5
5
|
import { SideMenuDataTids } from '../../SideMenuDataTids';
|
|
6
6
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
7
|
-
import {
|
|
7
|
+
import { jsStyles } from './Burger.styles';
|
|
8
8
|
export var Burger = function () {
|
|
9
9
|
var context = useContext(SideMenuContext);
|
|
10
10
|
var theme = getSideMenuTheme(useContext(ThemeContext));
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper';
|
|
3
4
|
export interface CommonClickableElementProps extends CommonProps {
|
|
4
5
|
children?: React.ReactNode;
|
|
5
6
|
icon: React.ReactElement;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { __assign, __read, __rest } from "tslib";
|
|
2
2
|
import React, { forwardRef, useContext, useEffect, useState } from 'react';
|
|
3
3
|
import { keyListener } from '@skbkontur/react-ui/lib/events/keyListener';
|
|
4
|
-
import { SideMenuContext } from '../SideMenuContext';
|
|
5
|
-
import { ItemContent } from './ItemContent/ItemContent';
|
|
6
|
-
import { SubMenu } from './SubMenu';
|
|
7
|
-
import { jsStyles } from './ClickableElement.styles';
|
|
8
4
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
9
|
-
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
10
5
|
import { ThemeContext } from '@skbkontur/react-ui';
|
|
6
|
+
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
7
|
+
import { SideMenuContext } from '../SideMenuContext';
|
|
11
8
|
import { useMemoIcon } from '../../hooks/useMemoIcon';
|
|
12
9
|
import { SideMenuDataTids } from '../../SideMenuDataTids';
|
|
13
10
|
import { navigationAttribute } from '../Navigation';
|
|
14
11
|
import { generateId } from '../../lib/utils/scripts';
|
|
12
|
+
import { jsStyles } from './ClickableElement.styles';
|
|
13
|
+
import { SubMenu } from './SubMenu';
|
|
14
|
+
import { ItemContent } from './ItemContent/ItemContent';
|
|
15
15
|
/**
|
|
16
16
|
* Элемент списка (пункт меню либо ссылка)
|
|
17
17
|
*
|
|
@@ -56,8 +56,9 @@ var ClickableElement = forwardRef(function (_a, ref) {
|
|
|
56
56
|
};
|
|
57
57
|
var setIsMinimized = function (lastElementInTheHierarchy) {
|
|
58
58
|
var _a, _b;
|
|
59
|
-
if (context.isMobile || context.isTablet || (context.isDesktop && !context.isCollapsable))
|
|
59
|
+
if (context.isMobile || context.isTablet || (context.isDesktop && !context.isCollapsable)) {
|
|
60
60
|
return;
|
|
61
|
+
}
|
|
61
62
|
var topLevelItemInSeparatedSideMenu = context.isSeparatedMenu && !_isSubMenu && children;
|
|
62
63
|
if (context.isCollapsable && (lastElementInTheHierarchy || topLevelItemInSeparatedSideMenu)) {
|
|
63
64
|
(_a = context.setIsMinimized) === null || _a === void 0 ? void 0 : _a.call(context, true);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { forwardRef, useContext } from 'react';
|
|
2
|
-
import { jsStylesForSideMenu } from '../SideMenu/SideMenu.styles';
|
|
3
2
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
3
|
+
import { jsStylesForSideMenu } from '../SideMenu/SideMenu.styles';
|
|
4
4
|
import { SideMenuContext } from '../SideMenuContext';
|
|
5
5
|
/**
|
|
6
6
|
* Подменю, раскрывающееся внутри основного меню
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SideMenuItemProps } from '../../SideMenuItem/SideMenuItem';
|
|
2
|
+
import type { SideMenuItemProps } from '../../SideMenuItem/SideMenuItem';
|
|
3
3
|
interface CaptionProps extends Pick<SideMenuItemProps, '_isSubMenu' | 'caption' | '_isBackButton' | '_isDropdown' | '_isAvatar' | 'subCaption'> {
|
|
4
4
|
hasIcon: boolean;
|
|
5
5
|
isMultiline: boolean;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __read } from "tslib";
|
|
2
2
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
3
3
|
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
4
|
-
import { jsStyles } from './Caption.styles';
|
|
5
4
|
import React, { forwardRef, useContext, useEffect, useRef, useState } from 'react';
|
|
6
5
|
import { SideMenuContext } from '../../SideMenuContext';
|
|
7
6
|
import { getSideMenuTheme } from '../../../lib/theming/ThemeHelpers';
|
|
7
|
+
import { jsStyles } from './Caption.styles';
|
|
8
8
|
var getTruncatedUserName = function (caption, visibleWidth, fullWidth) {
|
|
9
9
|
var _a = __read(caption.split(' '), 2), firstName = _a[0], lastName = _a[1];
|
|
10
10
|
if (visibleWidth < fullWidth && lastName) {
|
|
@@ -45,6 +45,7 @@ export var Caption = forwardRef(function (_a, ref) {
|
|
|
45
45
|
}, [isBeingTransitioned, caption]);
|
|
46
46
|
var isAvatarCaptionSingleWord = function (userName, _isAvatar) {
|
|
47
47
|
if (userName === void 0) { userName = ''; }
|
|
48
|
+
if (_isAvatar === void 0) { _isAvatar = false; }
|
|
48
49
|
return _isAvatar && userName.split(' ').length === 1;
|
|
49
50
|
};
|
|
50
51
|
var Component = isCaptionPlainText ? 'p' : 'div';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SideMenuTheme } from '../../../lib/theming/ThemeTypes';
|
|
1
|
+
import type { SideMenuTheme } from '../../../lib/theming/ThemeTypes';
|
|
2
2
|
export declare const sideMenuMultilineCaptionPaddingTop = "4px";
|
|
3
3
|
export declare const sideMenuCaptionMarginRight = "8px";
|
|
4
4
|
export declare const jsStyles: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SideMenuItemProps } from '../../SideMenuItem/SideMenuItem';
|
|
1
|
+
import type { SideMenuItemProps } from '../../SideMenuItem/SideMenuItem';
|
|
2
2
|
interface IconProps extends Pick<SideMenuItemProps, '_isSubMenu' | 'icon' | '_isBackButton' | '_isAvatar' | 'disabled'> {
|
|
3
3
|
isMultiline: boolean;
|
|
4
4
|
}
|
|
5
|
-
export declare const Icon: ({ icon, _isSubMenu, isMultiline, _isBackButton,
|
|
5
|
+
export declare const Icon: ({ icon, _isSubMenu, isMultiline, _isBackButton, disabled }: IconProps) => JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { useContext } from 'react';
|
|
2
2
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
3
3
|
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
4
|
-
import { jsStyles } from './Icon.styles';
|
|
5
4
|
import { SideMenuContext } from '../../SideMenuContext';
|
|
6
5
|
import { getSideMenuTheme } from '../../../lib/theming/ThemeHelpers';
|
|
7
6
|
import { isKonturIcon } from '../../../lib/utils/scripts';
|
|
7
|
+
import { jsStyles } from './Icon.styles';
|
|
8
8
|
var getIconSize = function (theme, _isSubMenu, _isBackButton) {
|
|
9
9
|
if (!_isSubMenu) {
|
|
10
10
|
return parseInt(theme.sideMenuIconSize);
|
|
@@ -15,7 +15,7 @@ var getIconSize = function (theme, _isSubMenu, _isBackButton) {
|
|
|
15
15
|
};
|
|
16
16
|
export var Icon = function (_a) {
|
|
17
17
|
var _b;
|
|
18
|
-
var icon = _a.icon, _isSubMenu = _a._isSubMenu, isMultiline = _a.isMultiline, _c = _a._isBackButton, _isBackButton = _c === void 0 ? false : _c,
|
|
18
|
+
var icon = _a.icon, _isSubMenu = _a._isSubMenu, isMultiline = _a.isMultiline, _c = _a._isBackButton, _isBackButton = _c === void 0 ? false : _c, disabled = _a.disabled;
|
|
19
19
|
var context = useContext(SideMenuContext);
|
|
20
20
|
var isSeparatedMenu = context.isSeparatedMenu, size = context.size;
|
|
21
21
|
var theme = getSideMenuTheme(useContext(ThemeContext));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SideMenuItemProps } from '../../SideMenuItem/SideMenuItem';
|
|
2
|
+
import type { SideMenuItemProps } from '../../SideMenuItem/SideMenuItem';
|
|
3
3
|
declare const ItemContentWithStaticFields: React.ForwardRefExoticComponent<SideMenuItemProps & {
|
|
4
4
|
isNestedSubMenu?: boolean | undefined;
|
|
5
5
|
} & React.RefAttributes<HTMLDivElement>> & {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { __read } from "tslib";
|
|
2
2
|
import React, { forwardRef, useContext, useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
|
-
import {
|
|
4
|
+
import { ThemeContext } from '@skbkontur/react-ui';
|
|
5
5
|
import { SideMenuContext } from '../../SideMenuContext';
|
|
6
|
+
import { getSideMenuTheme } from '../../../lib/theming/ThemeHelpers';
|
|
7
|
+
import { jsStyles } from './ItemContent.styles';
|
|
6
8
|
import { Icon } from './Icon';
|
|
7
9
|
import { Caption } from './Caption';
|
|
8
10
|
import { Marker } from './Marker';
|
|
9
|
-
import { getSideMenuTheme } from '../../../lib/theming/ThemeHelpers';
|
|
10
|
-
import { ThemeContext } from '@skbkontur/react-ui';
|
|
11
11
|
var getCaptionLineHeight = function (theme, isTouchScreen, _isSubMenu, size) {
|
|
12
12
|
if (isTouchScreen) {
|
|
13
13
|
if (_isSubMenu) {
|
|
@@ -37,12 +37,14 @@ var ItemContent = forwardRef(function (_a, ref) {
|
|
|
37
37
|
setIsMultiline(true);
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
if (!textRef.current || _isBackButton || _isDropdown)
|
|
40
|
+
if (!textRef.current || _isBackButton || _isDropdown) {
|
|
41
41
|
return;
|
|
42
|
+
}
|
|
42
43
|
var captionLineHeight = getCaptionLineHeight(theme, context.isTouchScreen, _isSubMenu, size);
|
|
43
44
|
var isMultiline = parseInt(captionLineHeight) < textRef.current.offsetHeight;
|
|
44
|
-
if (isMultiline)
|
|
45
|
+
if (isMultiline) {
|
|
45
46
|
setIsMultiline(true);
|
|
47
|
+
}
|
|
46
48
|
}, [caption, context.isBeingTransitioned, (_d = context.navigation) === null || _d === void 0 ? void 0 : _d.activeMenuItem]);
|
|
47
49
|
return (React.createElement("div", { className: cx((_b = {},
|
|
48
50
|
_b[jsStyles.root(theme)] = true,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SideMenuItemProps } from '../../SideMenuItem/SideMenuItem';
|
|
1
|
+
import type { SideMenuItemProps } from '../../SideMenuItem/SideMenuItem';
|
|
2
2
|
interface MarkerProps extends Pick<SideMenuItemProps, 'marker' | '_isSubMenu' | 'disabled'> {
|
|
3
3
|
isMultiline: boolean;
|
|
4
4
|
isMinimized?: boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
2
|
-
import { jsStyles } from './Marker.styles';
|
|
3
2
|
import React, { useContext } from 'react';
|
|
4
|
-
import { getSideMenuTheme } from '../../../lib/theming/ThemeHelpers';
|
|
5
3
|
import { ThemeContext } from '@skbkontur/react-ui';
|
|
4
|
+
import { getSideMenuTheme } from '../../../lib/theming/ThemeHelpers';
|
|
5
|
+
import { jsStyles } from './Marker.styles';
|
|
6
6
|
export var Marker = function (_a) {
|
|
7
7
|
var _b;
|
|
8
8
|
var isMultiline = _a.isMultiline, marker = _a.marker, _isSubMenu = _a._isSubMenu, disabled = _a.disabled, isMinimized = _a.isMinimized;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { forwardRef, useContext } from 'react';
|
|
2
|
-
import { jsStyles } from './NestedMenu.styles';
|
|
3
|
-
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
4
2
|
import { ThemeContext } from '@skbkontur/react-ui';
|
|
5
|
-
import { jsStylesForSideMenu } from '../SideMenu/SideMenu.styles';
|
|
6
3
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
4
|
+
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
5
|
+
import { jsStylesForSideMenu } from '../SideMenu/SideMenu.styles';
|
|
7
6
|
import { SideMenuContext } from '../SideMenuContext';
|
|
7
|
+
import { jsStyles } from './NestedMenu.styles';
|
|
8
8
|
/**
|
|
9
9
|
* Вложенное подменю
|
|
10
10
|
*
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { forwardRef, useContext } from 'react';
|
|
2
2
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
3
|
-
import { jsStyles } from './RightBorder.styles';
|
|
4
|
-
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
5
3
|
import { Hint, ThemeContext } from '@skbkontur/react-ui';
|
|
4
|
+
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
6
5
|
import { useMemoBorderIcon } from '../../hooks/useMemoIcon';
|
|
7
6
|
import { SideMenuContext } from '../SideMenuContext';
|
|
8
7
|
import { SideMenuDataTids } from '../../SideMenuDataTids';
|
|
8
|
+
import { jsStyles } from './RightBorder.styles';
|
|
9
9
|
/**
|
|
10
10
|
* Элемент интерактивной правой границы
|
|
11
11
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonClickableElementProps } from './ClickableElement';
|
|
2
|
+
import type { CommonClickableElementProps } from './ClickableElement';
|
|
3
3
|
interface SeparatedSubMenuProps extends Pick<CommonClickableElementProps, 'caption'> {
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
htmlId: string;
|
|
@@ -3,15 +3,15 @@ import React, { forwardRef, useContext, useEffect, useRef } from 'react';
|
|
|
3
3
|
import ReactDOM from 'react-dom';
|
|
4
4
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
5
5
|
import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
|
|
6
|
+
import { ScrollContainer } from '@skbkontur/react-ui';
|
|
7
|
+
import { isIE11 } from '@skbkontur/react-ui/lib/client';
|
|
6
8
|
import { jsStylesForSideMenu } from '../SideMenu/SideMenu.styles';
|
|
7
|
-
import { customStyles, jsStyles } from './SeparatedSubMenu.styles';
|
|
8
9
|
import { SideMenuContext } from '../SideMenuContext';
|
|
9
|
-
import { BackButton } from './BackButton';
|
|
10
10
|
import { SideMenuDataTids } from '../../SideMenuDataTids';
|
|
11
|
-
import { ScrollContainer } from '@skbkontur/react-ui';
|
|
12
11
|
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
13
|
-
import { isIE11 } from '@skbkontur/react-ui/lib/client';
|
|
14
12
|
import { navigationAttributeForSeparatedMenu } from '../Navigation';
|
|
13
|
+
import { BackButton } from './BackButton';
|
|
14
|
+
import { customStyles, jsStyles } from './SeparatedSubMenu.styles';
|
|
15
15
|
/**
|
|
16
16
|
* Отдельностоящее подменю
|
|
17
17
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SideMenuHeaderProps } from '../SideMenuHeader/SideMenuHeader';
|
|
2
|
+
import type { SideMenuHeaderProps } from '../SideMenuHeader/SideMenuHeader';
|
|
3
3
|
declare const SideMenuLogotypeWithStaticFields: React.ForwardRefExoticComponent<SideMenuHeaderProps & React.RefAttributes<HTMLDivElement>> & {
|
|
4
4
|
__KONTUR_REACT_UI__: string;
|
|
5
5
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __assign, __read, __rest } from "tslib";
|
|
2
2
|
import React, { forwardRef, useContext, useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { Logotype } from '@skbkontur/react-ui-addons/components/Logotype';
|
|
4
|
-
import { jsStyles, sideMenuLogotypeIconSize } from './SideMenuLogotype.styles';
|
|
5
|
-
import { SideMenuContext } from '../SideMenuContext';
|
|
6
|
-
import { Burger } from './Burger';
|
|
7
4
|
import { cx } from '@skbkontur/react-ui/lib/theming/Emotion';
|
|
8
|
-
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
9
5
|
import { ThemeContext } from '@skbkontur/react-ui';
|
|
6
|
+
import { SideMenuContext } from '../SideMenuContext';
|
|
7
|
+
import { getSideMenuTheme } from '../../lib/theming/ThemeHelpers';
|
|
8
|
+
import { jsStyles, sideMenuLogotypeIconSize } from './SideMenuLogotype.styles';
|
|
9
|
+
import { Burger } from './Burger';
|
|
10
10
|
var changeCamelCaseToKebabCase = function (str) {
|
|
11
11
|
return str
|
|
12
12
|
.split('')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SideMenuTheme } from '../../lib/theming/ThemeTypes';
|
|
1
|
+
import type { SideMenuTheme } from '../../lib/theming/ThemeTypes';
|
|
2
2
|
export declare const sideMenuLogotypeIconSize = "32px";
|
|
3
3
|
export declare const sideMenuLogotypeGapBetweenIconAndLogo = "50px";
|
|
4
4
|
export declare const jsStyles: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CommonClickableElementProps } from './ClickableElement';
|
|
2
|
+
import type { CommonClickableElementProps } from './ClickableElement';
|
|
3
3
|
interface SubMenuProps extends Pick<CommonClickableElementProps, 'caption'> {
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
isOpened?: boolean;
|
package/src/internal/SubMenu.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { forwardRef, useContext } from 'react';
|
|
2
|
+
import { SideMenuContext } from '../SideMenuContext';
|
|
2
3
|
import { SeparatedSubMenu } from './SeparatedSubMenu';
|
|
3
4
|
import { InnerSubMenu } from './InnerSubMenu';
|
|
4
5
|
import { NestedMenu } from './NestedMenu';
|
|
5
|
-
import { SideMenuContext } from '../SideMenuContext';
|
|
6
6
|
/**
|
|
7
7
|
* Подменю
|
|
8
8
|
*
|