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