@skbkontur/side-menu 3.3.3 → 3.3.5-19a67.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 +11 -0
- package/hooks/useAnimateOnMount.js +8 -9
- package/hooks/useMemoIcon.js +9 -10
- package/index.js +1 -1
- package/internal/themes/SideMenuTheme.js +200 -278
- package/lib/theming/ThemeHelpers.js +23 -38
- package/lib/utils/memo.js +3 -3
- package/lib/utils/scripts.js +4 -4
- package/package.json +3 -3
- package/src/Navigation.js +73 -118
- package/src/SideMenu/SideMenu.js +175 -181
- package/src/SideMenu/SideMenu.styles.js +140 -71
- package/src/SideMenuAvatar/SideMenuAvatar.d.ts +1 -1
- package/src/SideMenuAvatar/SideMenuAvatar.js +9 -10
- package/src/SideMenuBody/SideMenuBody.js +16 -18
- package/src/SideMenuBody/SideMenuBody.styles.js +13 -9
- package/src/SideMenuContext.d.ts +1 -1
- package/src/SideMenuContext.js +1 -1
- package/src/SideMenuDivider/SideMenuDivider.js +9 -11
- package/src/SideMenuDivider/SideMenuDivider.styles.js +10 -7
- package/src/SideMenuDropdown/SideMenuDropdown.d.ts +1 -1
- package/src/SideMenuDropdown/SideMenuDropdown.js +29 -33
- package/src/SideMenuDropdown/SideMenuDropdown.styles.js +21 -14
- package/src/SideMenuFooter/SideMenuFooter.js +19 -21
- package/src/SideMenuFooter/SideMenuFooter.styles.js +21 -11
- package/src/SideMenuHeader/SideMenuHeader.js +24 -28
- package/src/SideMenuHeader/SideMenuHeader.styles.js +30 -15
- package/src/SideMenuItem/SideMenuItem.js +5 -6
- package/src/SideMenuLink/SideMenuLink.js +7 -9
- package/src/SideMenuLink/SideMenuLink.styles.js +7 -6
- package/src/SideMenuNotifications/BellWidget.js +50 -71
- package/src/SideMenuNotifications/BellWidgetError.js +12 -13
- package/src/SideMenuNotifications/BellWidgetView.styles.js +43 -18
- package/src/SideMenuNotifications/SideMenuNotifications.js +22 -23
- package/src/SideMenuNotifications/utils/getNotificationsErrorMessages.js +11 -11
- package/src/SideMenuOrganisations/SideMenuOrganisations.js +5 -6
- package/src/SideMenuSubItem/SideMenuSubItem.js +5 -6
- package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.js +14 -16
- package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.styles.js +14 -9
- package/src/SideMenuSubLink/SideMenuSubLink.js +5 -5
- package/src/Tree.js +34 -110
- package/src/internal/BackButton.js +13 -16
- package/src/internal/Backdrop.js +13 -11
- package/src/internal/Backdrop.styles.js +12 -7
- package/src/internal/Burger.js +11 -11
- package/src/internal/Burger.styles.js +10 -8
- package/src/internal/ClickableElement.js +90 -82
- package/src/internal/ClickableElement.styles.js +44 -20
- package/src/internal/InnerSubMenu.js +12 -14
- package/src/internal/ItemContent/Caption.js +43 -47
- package/src/internal/ItemContent/Caption.styles.js +78 -33
- package/src/internal/ItemContent/Icon.js +24 -26
- package/src/internal/ItemContent/Icon.styles.js +45 -19
- package/src/internal/ItemContent/ItemContent.js +37 -40
- package/src/internal/ItemContent/ItemContent.styles.js +61 -27
- package/src/internal/ItemContent/Marker.js +19 -21
- package/src/internal/ItemContent/Marker.styles.js +55 -21
- package/src/internal/NestedMenu.js +17 -19
- package/src/internal/NestedMenu.styles.js +7 -7
- package/src/internal/RightBorder.js +21 -22
- package/src/internal/RightBorder.styles.js +22 -9
- package/src/internal/SeparatedSubMenu.js +43 -48
- package/src/internal/SeparatedSubMenu.styles.js +53 -27
- package/src/internal/SideMenuLogotype.js +43 -47
- package/src/internal/SideMenuLogotype.styles.js +44 -20
- package/src/internal/SubMenu.js +10 -12
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.3.4](https://git.skbkontur.ru/ui/ui-parking-2/compare/@skbkontur/side-menu@3.3.3...@skbkontur/side-menu@3.3.4) (2025-09-04)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **SideMenu:** fix regress build ([e6300f5](https://git.skbkontur.ru/ui/ui-parking-2/commits/e6300f54713aed74cc8db724208444e9fad0da42))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [3.3.3](https://git.skbkontur.ru/ui/ui-parking-2/compare/@skbkontur/side-menu@3.3.2...@skbkontur/side-menu@3.3.3) (2025-08-08)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useAnimateOnMount = useAnimateOnMount;
|
|
4
|
-
|
|
5
|
-
var react_1 = require("react");
|
|
4
|
+
const react_1 = require("react");
|
|
6
5
|
function useAnimateOnMount(isMounted, delayTime, mountStyles, unmountStyles) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
(0, react_1.useEffect)(
|
|
10
|
-
|
|
6
|
+
const [style, setStyle] = (0, react_1.useState)(isMounted ? mountStyles : unmountStyles);
|
|
7
|
+
const [shouldShowComponent, setShouldShowComponent] = (0, react_1.useState)(isMounted);
|
|
8
|
+
(0, react_1.useEffect)(() => {
|
|
9
|
+
let timeoutId;
|
|
11
10
|
if (isMounted) {
|
|
12
11
|
setShouldShowComponent(true);
|
|
13
|
-
timeoutId = setTimeout(
|
|
12
|
+
timeoutId = setTimeout(() => setStyle(mountStyles), 0);
|
|
14
13
|
}
|
|
15
14
|
else {
|
|
16
|
-
timeoutId = setTimeout(
|
|
15
|
+
timeoutId = setTimeout(() => setShouldShowComponent(false), delayTime);
|
|
17
16
|
setStyle(unmountStyles);
|
|
18
17
|
}
|
|
19
|
-
return
|
|
18
|
+
return () => clearTimeout(timeoutId);
|
|
20
19
|
}, [isMounted, delayTime]);
|
|
21
20
|
return [shouldShowComponent, style];
|
|
22
21
|
}
|
package/hooks/useMemoIcon.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMemoBorderIcon = exports.useMemoIcon = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return (0, react_1.useMemo)(function () {
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const ArrowCDownIcon16Regular_1 = require("@skbkontur/icons/icons/ArrowCDownIcon/ArrowCDownIcon16Regular");
|
|
7
|
+
const ArrowCRightIcon16Regular_1 = require("@skbkontur/icons/icons/ArrowCRightIcon/ArrowCRightIcon16Regular");
|
|
8
|
+
const ArrowCLeftIcon16Regular_1 = require("@skbkontur/icons/icons/ArrowCLeftIcon/ArrowCLeftIcon16Regular");
|
|
9
|
+
const useMemoIcon = (children, { isOpened, onClick }) => {
|
|
10
|
+
return (0, react_1.useMemo)(() => {
|
|
12
11
|
if (children) {
|
|
13
12
|
if (isOpened) {
|
|
14
13
|
return react_1.default.createElement(ArrowCDownIcon16Regular_1.ArrowCDownIcon16Regular, { onClick: onClick });
|
|
@@ -18,8 +17,8 @@ var useMemoIcon = function (children, _a) {
|
|
|
18
17
|
}, [isOpened, children]);
|
|
19
18
|
};
|
|
20
19
|
exports.useMemoIcon = useMemoIcon;
|
|
21
|
-
|
|
22
|
-
return (0, react_1.useMemo)(
|
|
20
|
+
const useMemoBorderIcon = (isCollapsed) => {
|
|
21
|
+
return (0, react_1.useMemo)(() => {
|
|
23
22
|
if (isCollapsed) {
|
|
24
23
|
return react_1.default.createElement(ArrowCRightIcon16Regular_1.ArrowCRightIcon16Regular, null);
|
|
25
24
|
}
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./src/SideMenu/SideMenu"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./src/SideMenuOrganisations/SideMenuOrganisations"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./src/SideMenuBody/SideMenuBody"), exports);
|
|
@@ -1,300 +1,222 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SideMenuThemeInternal = exports.isSideMenuTheme = exports.markAsSideMenuTheme = exports.REACT_UI_SIDE_MENU_THEME_KEY = exports.SideMenuTheme = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
4
|
+
const ThemeHelpers_1 = require("@skbkontur/react-ui/lib/theming/ThemeHelpers");
|
|
5
|
+
class SideMenuTheme extends class {
|
|
6
|
+
} {
|
|
7
|
+
static get sideMenuBoxShadow() {
|
|
8
|
+
return `${this.sideMenuBoxShadowOffsetX} ${this.sideMenuBoxShadowOffsetY} ${this.sideMenuBoxShadowBlurRadius} ${this.sideMenuBoxShadowColor}`;
|
|
10
9
|
}
|
|
11
|
-
Object.defineProperty(SideMenuTheme, "sideMenuBoxShadow", {
|
|
12
|
-
get: function () {
|
|
13
|
-
return "".concat(this.sideMenuBoxShadowOffsetX, " ").concat(this.sideMenuBoxShadowOffsetY, " ").concat(this.sideMenuBoxShadowBlurRadius, " ").concat(this.sideMenuBoxShadowColor);
|
|
14
|
-
},
|
|
15
|
-
enumerable: false,
|
|
16
|
-
configurable: true
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(SideMenuTheme, "sideMenuCaptionLineHeight", {
|
|
19
|
-
//#endregion
|
|
20
|
-
// #region Caption
|
|
21
|
-
get: function () {
|
|
22
|
-
return this.sideMenuLineHeight;
|
|
23
|
-
},
|
|
24
|
-
enumerable: false,
|
|
25
|
-
configurable: true
|
|
26
|
-
});
|
|
27
|
-
Object.defineProperty(SideMenuTheme, "sideMenuCaptionSubItemLineHeightForTouchScreens", {
|
|
28
|
-
get: function () {
|
|
29
|
-
return this.sideMenuLargeLineHeight;
|
|
30
|
-
},
|
|
31
|
-
enumerable: false,
|
|
32
|
-
configurable: true
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(SideMenuTheme, "sideMenuCaptionLargeLineHeight", {
|
|
35
|
-
get: function () {
|
|
36
|
-
return this.sideMenuLargeLineHeight;
|
|
37
|
-
},
|
|
38
|
-
enumerable: false,
|
|
39
|
-
configurable: true
|
|
40
|
-
});
|
|
41
|
-
Object.defineProperty(SideMenuTheme, "sideMenuIconMarginLeft", {
|
|
42
|
-
get: function () {
|
|
43
|
-
return this.sideMenuIconMarginX;
|
|
44
|
-
},
|
|
45
|
-
enumerable: false,
|
|
46
|
-
configurable: true
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(SideMenuTheme, "sideMenuIconMarginRight", {
|
|
49
|
-
get: function () {
|
|
50
|
-
return this.sideMenuIconMarginX;
|
|
51
|
-
},
|
|
52
|
-
enumerable: false,
|
|
53
|
-
configurable: true
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(SideMenuTheme, "sideMenuIconLineHeight", {
|
|
56
|
-
get: function () {
|
|
57
|
-
return this.sideMenuLineHeight;
|
|
58
|
-
},
|
|
59
|
-
enumerable: false,
|
|
60
|
-
configurable: true
|
|
61
|
-
});
|
|
62
|
-
Object.defineProperty(SideMenuTheme, "sideMenuIconLargeLineHeight", {
|
|
63
|
-
get: function () {
|
|
64
|
-
return this.sideMenuLargeLineHeight;
|
|
65
|
-
},
|
|
66
|
-
enumerable: false,
|
|
67
|
-
configurable: true
|
|
68
|
-
});
|
|
69
|
-
Object.defineProperty(SideMenuTheme, "sideMenuItemDisabledColor", {
|
|
70
|
-
//#endregion
|
|
71
|
-
// #region ItemContent
|
|
72
|
-
get: function () {
|
|
73
|
-
return this.textColorDisabled;
|
|
74
|
-
},
|
|
75
|
-
enumerable: false,
|
|
76
|
-
configurable: true
|
|
77
|
-
});
|
|
78
|
-
Object.defineProperty(SideMenuTheme, "sideMenuMarkerBg", {
|
|
79
|
-
get: function () {
|
|
80
|
-
return this.sideMenuProductColor;
|
|
81
|
-
},
|
|
82
|
-
enumerable: false,
|
|
83
|
-
configurable: true
|
|
84
|
-
});
|
|
85
|
-
Object.defineProperty(SideMenuTheme, "sideMenuMarkerSubItemColor", {
|
|
86
|
-
get: function () {
|
|
87
|
-
return this.sideMenuIconSubItemColor;
|
|
88
|
-
},
|
|
89
|
-
enumerable: false,
|
|
90
|
-
configurable: true
|
|
91
|
-
});
|
|
92
|
-
Object.defineProperty(SideMenuTheme, "sideMenuSubItemWithSeparatedSubMenuHoverBg", {
|
|
93
|
-
get: function () {
|
|
94
|
-
return this.sideMenuBgColor;
|
|
95
|
-
},
|
|
96
|
-
enumerable: false,
|
|
97
|
-
configurable: true
|
|
98
|
-
});
|
|
99
|
-
Object.defineProperty(SideMenuTheme, "sideMenuSubItemWithSeparatedSubMenuActiveBg", {
|
|
100
|
-
get: function () {
|
|
101
|
-
return this.sideMenuBgColor;
|
|
102
|
-
},
|
|
103
|
-
enumerable: false,
|
|
104
|
-
configurable: true
|
|
105
|
-
});
|
|
106
|
-
Object.defineProperty(SideMenuTheme, "sideMenuFocusedItemBoxShadow", {
|
|
107
|
-
get: function () {
|
|
108
|
-
return "".concat(this.sideMenuFocusedItemBoxShadowInset, " ").concat(this.sideMenuFocusedItemBoxShadowOffsetX, " ").concat(this.sideMenuFocusedItemBoxShadowOffsetY, " ").concat(this.sideMenuFocusedItemBoxShadowBlurRadius, " ").concat(this.sideMenuFocusedItemBoxShadowSpreadRadius, " ").concat(this.sideMenuFocusedItemBoxShadowColor);
|
|
109
|
-
},
|
|
110
|
-
enumerable: false,
|
|
111
|
-
configurable: true
|
|
112
|
-
});
|
|
113
|
-
Object.defineProperty(SideMenuTheme, "sideMenuRightBorderColor", {
|
|
114
|
-
/**
|
|
115
|
-
* @deprecated doesn't work since v 1.12
|
|
116
|
-
*/
|
|
117
|
-
get: function () {
|
|
118
|
-
return this.sideMenuProductColor;
|
|
119
|
-
},
|
|
120
|
-
enumerable: false,
|
|
121
|
-
configurable: true
|
|
122
|
-
});
|
|
123
|
-
Object.defineProperty(SideMenuTheme, "sideMenuFooterDividerColor", {
|
|
124
|
-
get: function () {
|
|
125
|
-
return this.sideMenuDividerBgColor;
|
|
126
|
-
},
|
|
127
|
-
enumerable: false,
|
|
128
|
-
configurable: true
|
|
129
|
-
});
|
|
130
|
-
Object.defineProperty(SideMenuTheme, "sideMenuHeaderDividerColor", {
|
|
131
|
-
get: function () {
|
|
132
|
-
return this.sideMenuDividerBgColor;
|
|
133
|
-
},
|
|
134
|
-
enumerable: false,
|
|
135
|
-
configurable: true
|
|
136
|
-
});
|
|
137
|
-
//#region SideMenu
|
|
138
|
-
SideMenuTheme.sideMenuWidth = '232px';
|
|
139
|
-
SideMenuTheme.sideMenuWidthForTouchScreens = '328px';
|
|
140
|
-
SideMenuTheme.sideMenuMinimizedWidth = '72px';
|
|
141
|
-
SideMenuTheme.sideMenuMarginX = '16px';
|
|
142
|
-
SideMenuTheme.sideMenuBgColor = '#f0f0f0';
|
|
143
|
-
SideMenuTheme.sideMenuBoxShadowOffsetX = '4px';
|
|
144
|
-
SideMenuTheme.sideMenuBoxShadowOffsetY = '4px';
|
|
145
|
-
SideMenuTheme.sideMenuBoxShadowBlurRadius = '24px';
|
|
146
|
-
SideMenuTheme.sideMenuBoxShadowColor = 'rgba(0, 0, 0, 0.24)';
|
|
147
|
-
SideMenuTheme.sideMenuLineHeight = '20px';
|
|
148
|
-
SideMenuTheme.sideMenuLargeLineHeight = '22px';
|
|
149
|
-
SideMenuTheme.sideMenuProductColor = '#2291ff';
|
|
150
|
-
SideMenuTheme.sideMenuDesktopMediaQuery = '(min-width: 1200px)';
|
|
151
|
-
SideMenuTheme.sideMenuNarrowDesktopMediaQuery = '(min-width: 992px)';
|
|
152
|
-
SideMenuTheme.sideMenuTabletMediaQuery = '(min-width: 768px)';
|
|
153
|
-
SideMenuTheme.sideMenuMobileMediaQuery = '(min-width: 0px)';
|
|
154
|
-
//#endregion
|
|
155
|
-
//#region Body
|
|
156
|
-
SideMenuTheme.sideMenuBodyPaddingBottom = '8px';
|
|
157
|
-
//#endregion
|
|
158
|
-
//#region SeparatedSubMenu
|
|
159
|
-
SideMenuTheme.sideMenuSeparatedSubMenuBgColor = '#fff';
|
|
160
|
-
SideMenuTheme.sideMenuSeparatedSubMenuBorderRightColor = '#e5e5e5';
|
|
161
|
-
SideMenuTheme.sideMenuSeparatedSubMenuPaddingY = '24px';
|
|
162
|
-
SideMenuTheme.sideMenuSeparatedSubMenuPaddingX = '16px';
|
|
163
|
-
//#endregion
|
|
164
|
-
//#region SubItemHeader
|
|
165
|
-
SideMenuTheme.sideMenuSubItemHeaderFontSize = '12px';
|
|
166
|
-
SideMenuTheme.sideMenuSubItemHeaderColor = 'rgba(0, 0, 0, 0.48)';
|
|
167
|
-
SideMenuTheme.sideMenuSubItemHeaderPadding = '10px 8px 2px 40px';
|
|
168
|
-
//#endregion
|
|
169
|
-
//#region Avatar
|
|
170
|
-
SideMenuTheme.sideMenuAvatarSize = '24px';
|
|
171
|
-
SideMenuTheme.sideMenuCaptionFontSize = '14px';
|
|
172
|
-
SideMenuTheme.sideMenuCaptionFontSizeForTouchScreens = '18px';
|
|
173
|
-
SideMenuTheme.sideMenuCaptionLineHeightForTouchScreens = '24px';
|
|
174
|
-
SideMenuTheme.sideMenuCaptionSubItemMarginLeft = '4px';
|
|
175
|
-
SideMenuTheme.sideMenuCaptionSubItemFontSizeForTouchScreens = '16px';
|
|
176
|
-
SideMenuTheme.sideMenuCaptionLargeFontSize = '16px';
|
|
177
|
-
//#endregion
|
|
178
|
-
// #region BackButton
|
|
179
|
-
SideMenuTheme.sideMenuBackButtonCaptionFontWeight = '700';
|
|
180
|
-
SideMenuTheme.sideMenuBackButtonCaptionFontSize = '20px';
|
|
181
|
-
SideMenuTheme.sideMenuBackButtonCaptionLineHeight = '28px';
|
|
182
|
-
SideMenuTheme.sideMenuBackButtonCaptionPaddingY = '5px';
|
|
183
|
-
SideMenuTheme.sideMenuBackButtonIconPaddingLeft = '10px';
|
|
184
|
-
SideMenuTheme.sideMenuBackButtonIconPaddingRight = '6px';
|
|
185
|
-
//#endregion
|
|
186
|
-
// #region Icon
|
|
187
|
-
SideMenuTheme.sideMenuIconSize = '24';
|
|
188
|
-
SideMenuTheme.sideMenuIconSubItemSize = '16';
|
|
189
|
-
SideMenuTheme.sideMenuIconMarginY = '0';
|
|
190
|
-
SideMenuTheme.sideMenuIconMarginX = '8px';
|
|
191
|
-
SideMenuTheme.sideMenuIconMinHeight = '32px';
|
|
192
|
-
SideMenuTheme.sideMenuIconLargeMinHeight = '30px';
|
|
193
|
-
SideMenuTheme.sideMenuIconSubItemPaddingLeft = '20px';
|
|
194
|
-
SideMenuTheme.sideMenuIconSubItemPaddingRight = '0';
|
|
195
|
-
SideMenuTheme.sideMenuIconSubItemMinHeight = '20px';
|
|
196
|
-
SideMenuTheme.sideMenuIconSubItemLineHeight = '16px';
|
|
197
|
-
SideMenuTheme.sideMenuIconSubItemColor = '#757575';
|
|
198
|
-
SideMenuTheme.sideMenuIconLargeSubItemMinHeight = '22px';
|
|
199
|
-
SideMenuTheme.sideMenuIconWithSeparatedSubMenuSubItemPaddingLeft = '4px';
|
|
200
|
-
SideMenuTheme.sideMenuItemContentPaddingY = '4px';
|
|
201
|
-
SideMenuTheme.sideMenuItemContentLargePaddingY = '9px';
|
|
202
|
-
SideMenuTheme.sideMenuSubItemContentPaddingY = '4px';
|
|
203
|
-
SideMenuTheme.sideMenuSubItemContentLargePaddingY = '5px';
|
|
204
|
-
SideMenuTheme.sideMenuItemContentLargeMultilinePaddingTop = '9px';
|
|
205
|
-
SideMenuTheme.sideMenuItemContentLargeMultilinePaddingBottom = '13px';
|
|
206
|
-
SideMenuTheme.sideMenuItemContentMultilinePaddingTop = '6px';
|
|
207
|
-
SideMenuTheme.sideMenuItemContentMultilinePaddingBottom = '10px';
|
|
208
|
-
SideMenuTheme.sideMenuItemContentPaddingYForTouchScreens = '8px';
|
|
209
|
-
SideMenuTheme.sideMenuSubItemContentPaddingYForTouchScreens = '9px';
|
|
210
|
-
//#endregion
|
|
211
|
-
// #region Marker
|
|
212
|
-
SideMenuTheme.sideMenuMarkerPaddingX = '4px';
|
|
213
|
-
SideMenuTheme.sideMenuMarkerPaddingY = '0px';
|
|
214
|
-
SideMenuTheme.sideMenuMarkerBgDisabled = '#D6D6D6';
|
|
215
|
-
SideMenuTheme.sideMenuMarkerColor = '#fff';
|
|
216
|
-
SideMenuTheme.sideMenuMarkerFontSize = '12px';
|
|
217
|
-
SideMenuTheme.sideMenuSubItemEmptyMarkerBg = '#adadad';
|
|
218
|
-
SideMenuTheme.sideMenuMarkerMarginRight = '8px';
|
|
219
|
-
SideMenuTheme.sideMenuMarkerFontWeight = '700';
|
|
220
|
-
SideMenuTheme.sideMenuSubItemMarkerFontWeight = '400';
|
|
221
|
-
SideMenuTheme.sideMenuMarkerMultilineMarginTop = '4px';
|
|
222
|
-
SideMenuTheme.sideMenuMarkerLineHeight = '16px';
|
|
223
|
-
//#endregion
|
|
224
|
-
// #region Burger
|
|
225
|
-
SideMenuTheme.sideMenuBurgerMarginRight = '8px';
|
|
226
10
|
//#endregion
|
|
227
|
-
// #region
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
11
|
+
// #region Caption
|
|
12
|
+
static get sideMenuCaptionLineHeight() {
|
|
13
|
+
return this.sideMenuLineHeight;
|
|
14
|
+
}
|
|
15
|
+
static get sideMenuCaptionSubItemLineHeightForTouchScreens() {
|
|
16
|
+
return this.sideMenuLargeLineHeight;
|
|
17
|
+
}
|
|
18
|
+
static get sideMenuCaptionLargeLineHeight() {
|
|
19
|
+
return this.sideMenuLargeLineHeight;
|
|
20
|
+
}
|
|
21
|
+
static get sideMenuIconMarginLeft() {
|
|
22
|
+
return this.sideMenuIconMarginX;
|
|
23
|
+
}
|
|
24
|
+
static get sideMenuIconMarginRight() {
|
|
25
|
+
return this.sideMenuIconMarginX;
|
|
26
|
+
}
|
|
27
|
+
static get sideMenuIconLineHeight() {
|
|
28
|
+
return this.sideMenuLineHeight;
|
|
29
|
+
}
|
|
30
|
+
static get sideMenuIconLargeLineHeight() {
|
|
31
|
+
return this.sideMenuLargeLineHeight;
|
|
32
|
+
}
|
|
245
33
|
//#endregion
|
|
246
|
-
|
|
247
|
-
|
|
34
|
+
// #region ItemContent
|
|
35
|
+
static get sideMenuItemDisabledColor() {
|
|
36
|
+
return this.textColorDisabled;
|
|
37
|
+
}
|
|
38
|
+
static get sideMenuMarkerBg() {
|
|
39
|
+
return this.sideMenuProductColor;
|
|
40
|
+
}
|
|
41
|
+
static get sideMenuMarkerSubItemColor() {
|
|
42
|
+
return this.sideMenuIconSubItemColor;
|
|
43
|
+
}
|
|
44
|
+
static get sideMenuSubItemWithSeparatedSubMenuHoverBg() {
|
|
45
|
+
return this.sideMenuBgColor;
|
|
46
|
+
}
|
|
47
|
+
static get sideMenuSubItemWithSeparatedSubMenuActiveBg() {
|
|
48
|
+
return this.sideMenuBgColor;
|
|
49
|
+
}
|
|
50
|
+
static get sideMenuFocusedItemBoxShadow() {
|
|
51
|
+
return `${this.sideMenuFocusedItemBoxShadowInset} ${this.sideMenuFocusedItemBoxShadowOffsetX} ${this.sideMenuFocusedItemBoxShadowOffsetY} ${this.sideMenuFocusedItemBoxShadowBlurRadius} ${this.sideMenuFocusedItemBoxShadowSpreadRadius} ${this.sideMenuFocusedItemBoxShadowColor}`;
|
|
52
|
+
}
|
|
248
53
|
/**
|
|
249
54
|
* @deprecated doesn't work since v 1.12
|
|
250
55
|
*/
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
SideMenuTheme.sideMenuLogotypePaddingLeft = '8px';
|
|
257
|
-
SideMenuTheme.sideMenuLogotypePaddingTop = '2px';
|
|
258
|
-
SideMenuTheme.sideMenuLogotypePaddingBottom = '6px';
|
|
259
|
-
SideMenuTheme.sideMenuLogotypePaddingYForTouchScreens = '8px';
|
|
260
|
-
SideMenuTheme.sideMenuLogotypeHiddenIconPaddingLeft = '0';
|
|
261
|
-
//#endregion
|
|
262
|
-
//#region Footer
|
|
263
|
-
SideMenuTheme.sideMenuFooterPaddingBottom = '24px';
|
|
264
|
-
SideMenuTheme.sideMenuFooterPaddingTop = '8px';
|
|
265
|
-
//#endregion
|
|
266
|
-
//#region Header
|
|
267
|
-
SideMenuTheme.sideMenuHeaderPaddingTop = '24px';
|
|
268
|
-
SideMenuTheme.sideMenuHeaderPaddingBottom = '8px';
|
|
269
|
-
SideMenuTheme.sideMenuHeaderPaddingTopForTouchScreens = '16px';
|
|
270
|
-
//#endregion
|
|
271
|
-
//#region SideMenuNotifications
|
|
272
|
-
SideMenuTheme.sideMenuNotificationsMarkerBg = '#222222';
|
|
273
|
-
/**
|
|
274
|
-
* от 400px до 784px
|
|
275
|
-
*/
|
|
276
|
-
SideMenuTheme.sideMenuNotificationsWrapperHeight = 'calculated';
|
|
277
|
-
return SideMenuTheme;
|
|
278
|
-
}(/** @class */ (function () {
|
|
279
|
-
function class_1() {
|
|
56
|
+
static get sideMenuRightBorderColor() {
|
|
57
|
+
return this.sideMenuProductColor;
|
|
58
|
+
}
|
|
59
|
+
static get sideMenuFooterDividerColor() {
|
|
60
|
+
return this.sideMenuDividerBgColor;
|
|
280
61
|
}
|
|
281
|
-
|
|
282
|
-
|
|
62
|
+
static get sideMenuHeaderDividerColor() {
|
|
63
|
+
return this.sideMenuDividerBgColor;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
283
66
|
exports.SideMenuTheme = SideMenuTheme;
|
|
67
|
+
//#region SideMenu
|
|
68
|
+
SideMenuTheme.sideMenuWidth = '232px';
|
|
69
|
+
SideMenuTheme.sideMenuWidthForTouchScreens = '328px';
|
|
70
|
+
SideMenuTheme.sideMenuMinimizedWidth = '72px';
|
|
71
|
+
SideMenuTheme.sideMenuMarginX = '16px';
|
|
72
|
+
SideMenuTheme.sideMenuBgColor = '#f0f0f0';
|
|
73
|
+
SideMenuTheme.sideMenuBoxShadowOffsetX = '4px';
|
|
74
|
+
SideMenuTheme.sideMenuBoxShadowOffsetY = '4px';
|
|
75
|
+
SideMenuTheme.sideMenuBoxShadowBlurRadius = '24px';
|
|
76
|
+
SideMenuTheme.sideMenuBoxShadowColor = 'rgba(0, 0, 0, 0.24)';
|
|
77
|
+
SideMenuTheme.sideMenuLineHeight = '20px';
|
|
78
|
+
SideMenuTheme.sideMenuLargeLineHeight = '22px';
|
|
79
|
+
SideMenuTheme.sideMenuProductColor = '#2291ff';
|
|
80
|
+
SideMenuTheme.sideMenuDesktopMediaQuery = '(min-width: 1200px)';
|
|
81
|
+
SideMenuTheme.sideMenuNarrowDesktopMediaQuery = '(min-width: 992px)';
|
|
82
|
+
SideMenuTheme.sideMenuTabletMediaQuery = '(min-width: 768px)';
|
|
83
|
+
SideMenuTheme.sideMenuMobileMediaQuery = '(min-width: 0px)';
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region Body
|
|
86
|
+
SideMenuTheme.sideMenuBodyPaddingBottom = '8px';
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region SeparatedSubMenu
|
|
89
|
+
SideMenuTheme.sideMenuSeparatedSubMenuBgColor = '#fff';
|
|
90
|
+
SideMenuTheme.sideMenuSeparatedSubMenuBorderRightColor = '#e5e5e5';
|
|
91
|
+
SideMenuTheme.sideMenuSeparatedSubMenuPaddingY = '24px';
|
|
92
|
+
SideMenuTheme.sideMenuSeparatedSubMenuPaddingX = '16px';
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region SubItemHeader
|
|
95
|
+
SideMenuTheme.sideMenuSubItemHeaderFontSize = '12px';
|
|
96
|
+
SideMenuTheme.sideMenuSubItemHeaderColor = 'rgba(0, 0, 0, 0.48)';
|
|
97
|
+
SideMenuTheme.sideMenuSubItemHeaderPadding = '10px 8px 2px 40px';
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region Avatar
|
|
100
|
+
SideMenuTheme.sideMenuAvatarSize = '24px';
|
|
101
|
+
SideMenuTheme.sideMenuCaptionFontSize = '14px';
|
|
102
|
+
SideMenuTheme.sideMenuCaptionFontSizeForTouchScreens = '18px';
|
|
103
|
+
SideMenuTheme.sideMenuCaptionLineHeightForTouchScreens = '24px';
|
|
104
|
+
SideMenuTheme.sideMenuCaptionSubItemMarginLeft = '4px';
|
|
105
|
+
SideMenuTheme.sideMenuCaptionSubItemFontSizeForTouchScreens = '16px';
|
|
106
|
+
SideMenuTheme.sideMenuCaptionLargeFontSize = '16px';
|
|
107
|
+
//#endregion
|
|
108
|
+
// #region BackButton
|
|
109
|
+
SideMenuTheme.sideMenuBackButtonCaptionFontWeight = '700';
|
|
110
|
+
SideMenuTheme.sideMenuBackButtonCaptionFontSize = '20px';
|
|
111
|
+
SideMenuTheme.sideMenuBackButtonCaptionLineHeight = '28px';
|
|
112
|
+
SideMenuTheme.sideMenuBackButtonCaptionPaddingY = '5px';
|
|
113
|
+
SideMenuTheme.sideMenuBackButtonIconPaddingLeft = '10px';
|
|
114
|
+
SideMenuTheme.sideMenuBackButtonIconPaddingRight = '6px';
|
|
115
|
+
//#endregion
|
|
116
|
+
// #region Icon
|
|
117
|
+
SideMenuTheme.sideMenuIconSize = '24';
|
|
118
|
+
SideMenuTheme.sideMenuIconSubItemSize = '16';
|
|
119
|
+
SideMenuTheme.sideMenuIconMarginY = '0';
|
|
120
|
+
SideMenuTheme.sideMenuIconMarginX = '8px';
|
|
121
|
+
SideMenuTheme.sideMenuIconMinHeight = '32px';
|
|
122
|
+
SideMenuTheme.sideMenuIconLargeMinHeight = '30px';
|
|
123
|
+
SideMenuTheme.sideMenuIconSubItemPaddingLeft = '20px';
|
|
124
|
+
SideMenuTheme.sideMenuIconSubItemPaddingRight = '0';
|
|
125
|
+
SideMenuTheme.sideMenuIconSubItemMinHeight = '20px';
|
|
126
|
+
SideMenuTheme.sideMenuIconSubItemLineHeight = '16px';
|
|
127
|
+
SideMenuTheme.sideMenuIconSubItemColor = '#757575';
|
|
128
|
+
SideMenuTheme.sideMenuIconLargeSubItemMinHeight = '22px';
|
|
129
|
+
SideMenuTheme.sideMenuIconWithSeparatedSubMenuSubItemPaddingLeft = '4px';
|
|
130
|
+
SideMenuTheme.sideMenuItemContentPaddingY = '4px';
|
|
131
|
+
SideMenuTheme.sideMenuItemContentLargePaddingY = '9px';
|
|
132
|
+
SideMenuTheme.sideMenuSubItemContentPaddingY = '4px';
|
|
133
|
+
SideMenuTheme.sideMenuSubItemContentLargePaddingY = '5px';
|
|
134
|
+
SideMenuTheme.sideMenuItemContentLargeMultilinePaddingTop = '9px';
|
|
135
|
+
SideMenuTheme.sideMenuItemContentLargeMultilinePaddingBottom = '13px';
|
|
136
|
+
SideMenuTheme.sideMenuItemContentMultilinePaddingTop = '6px';
|
|
137
|
+
SideMenuTheme.sideMenuItemContentMultilinePaddingBottom = '10px';
|
|
138
|
+
SideMenuTheme.sideMenuItemContentPaddingYForTouchScreens = '8px';
|
|
139
|
+
SideMenuTheme.sideMenuSubItemContentPaddingYForTouchScreens = '9px';
|
|
140
|
+
//#endregion
|
|
141
|
+
// #region Marker
|
|
142
|
+
SideMenuTheme.sideMenuMarkerPaddingX = '4px';
|
|
143
|
+
SideMenuTheme.sideMenuMarkerPaddingY = '0px';
|
|
144
|
+
SideMenuTheme.sideMenuMarkerBgDisabled = '#D6D6D6';
|
|
145
|
+
SideMenuTheme.sideMenuMarkerColor = '#fff';
|
|
146
|
+
SideMenuTheme.sideMenuMarkerFontSize = '12px';
|
|
147
|
+
SideMenuTheme.sideMenuSubItemEmptyMarkerBg = '#adadad';
|
|
148
|
+
SideMenuTheme.sideMenuMarkerMarginRight = '8px';
|
|
149
|
+
SideMenuTheme.sideMenuMarkerFontWeight = '700';
|
|
150
|
+
SideMenuTheme.sideMenuSubItemMarkerFontWeight = '400';
|
|
151
|
+
SideMenuTheme.sideMenuMarkerMultilineMarginTop = '4px';
|
|
152
|
+
SideMenuTheme.sideMenuMarkerLineHeight = '16px';
|
|
153
|
+
//#endregion
|
|
154
|
+
// #region Burger
|
|
155
|
+
SideMenuTheme.sideMenuBurgerMarginRight = '8px';
|
|
156
|
+
//#endregion
|
|
157
|
+
// #region MenuItem
|
|
158
|
+
SideMenuTheme.sideMenuItemBorderRadius = '8px';
|
|
159
|
+
SideMenuTheme.sideMenuItemHoverBg = '#E6E6E6';
|
|
160
|
+
SideMenuTheme.sideMenuItemActiveBg = '#fff';
|
|
161
|
+
SideMenuTheme.sideMenuFocusedItemBoxShadowInset = 'inset';
|
|
162
|
+
SideMenuTheme.sideMenuFocusedItemBoxShadowOffsetX = '0';
|
|
163
|
+
SideMenuTheme.sideMenuFocusedItemBoxShadowOffsetY = '0';
|
|
164
|
+
SideMenuTheme.sideMenuFocusedItemBoxShadowBlurRadius = '0';
|
|
165
|
+
SideMenuTheme.sideMenuFocusedItemBoxShadowSpreadRadius = '2px';
|
|
166
|
+
SideMenuTheme.sideMenuFocusedItemBoxShadowColor = '#1c7edf';
|
|
167
|
+
//#endregion
|
|
168
|
+
//#region Divider
|
|
169
|
+
SideMenuTheme.sideMenuDividerMarginX = '8px';
|
|
170
|
+
SideMenuTheme.sideMenuDividerMarginY = '4px';
|
|
171
|
+
SideMenuTheme.sideMenuDividerBgColor = 'rgba(0,0,0, 0.1)';
|
|
172
|
+
//#endregion
|
|
173
|
+
//#region NestedMenu
|
|
174
|
+
SideMenuTheme.sideMenuNestedMenuPaddingLeft = '16px';
|
|
175
|
+
//#endregion
|
|
176
|
+
//#region RightBorder
|
|
177
|
+
SideMenuTheme.sideMenuRightBorderWidth = '16px';
|
|
178
|
+
/**
|
|
179
|
+
* @deprecated doesn't work since v 1.12
|
|
180
|
+
*/
|
|
181
|
+
SideMenuTheme.sideMenuRightBorderHoverWidth = '2px';
|
|
182
|
+
SideMenuTheme.sideMenuRightBorderIconColor = '#adadad';
|
|
183
|
+
SideMenuTheme.sideMenuRightBorderHoverIconColor = '#222222';
|
|
184
|
+
//#endregion
|
|
185
|
+
//#region Logotype
|
|
186
|
+
SideMenuTheme.sideMenuLogotypePaddingLeft = '8px';
|
|
187
|
+
SideMenuTheme.sideMenuLogotypePaddingTop = '2px';
|
|
188
|
+
SideMenuTheme.sideMenuLogotypePaddingBottom = '6px';
|
|
189
|
+
SideMenuTheme.sideMenuLogotypePaddingYForTouchScreens = '8px';
|
|
190
|
+
SideMenuTheme.sideMenuLogotypeHiddenIconPaddingLeft = '0';
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region Footer
|
|
193
|
+
SideMenuTheme.sideMenuFooterPaddingBottom = '24px';
|
|
194
|
+
SideMenuTheme.sideMenuFooterPaddingTop = '8px';
|
|
195
|
+
//#endregion
|
|
196
|
+
//#region Header
|
|
197
|
+
SideMenuTheme.sideMenuHeaderPaddingTop = '24px';
|
|
198
|
+
SideMenuTheme.sideMenuHeaderPaddingBottom = '8px';
|
|
199
|
+
SideMenuTheme.sideMenuHeaderPaddingTopForTouchScreens = '16px';
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region SideMenuNotifications
|
|
202
|
+
SideMenuTheme.sideMenuNotificationsMarkerBg = '#222222';
|
|
203
|
+
/**
|
|
204
|
+
* от 400px до 784px
|
|
205
|
+
*/
|
|
206
|
+
SideMenuTheme.sideMenuNotificationsWrapperHeight = 'calculated';
|
|
284
207
|
exports.REACT_UI_SIDE_MENU_THEME_KEY = '__IS_REACT_UI_SIDE_MENU_THEME__';
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
_a[exports.REACT_UI_SIDE_MENU_THEME_KEY] = {
|
|
208
|
+
const markAsSideMenuTheme = (theme) => {
|
|
209
|
+
return Object.create(theme, {
|
|
210
|
+
[exports.REACT_UI_SIDE_MENU_THEME_KEY]: {
|
|
289
211
|
value: true,
|
|
290
212
|
writable: false,
|
|
291
213
|
enumerable: false,
|
|
292
214
|
configurable: false,
|
|
293
215
|
},
|
|
294
|
-
|
|
216
|
+
});
|
|
295
217
|
};
|
|
296
218
|
exports.markAsSideMenuTheme = markAsSideMenuTheme;
|
|
297
|
-
|
|
219
|
+
const isSideMenuTheme = (theme) => {
|
|
298
220
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
299
221
|
//@ts-ignore
|
|
300
222
|
return theme[exports.REACT_UI_SIDE_MENU_THEME_KEY] === true;
|