@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.
Files changed (66) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/hooks/useAnimateOnMount.js +8 -9
  3. package/hooks/useMemoIcon.js +9 -10
  4. package/index.js +1 -1
  5. package/internal/themes/SideMenuTheme.js +200 -278
  6. package/lib/theming/ThemeHelpers.js +23 -38
  7. package/lib/utils/memo.js +3 -3
  8. package/lib/utils/scripts.js +4 -4
  9. package/package.json +3 -3
  10. package/src/Navigation.js +73 -118
  11. package/src/SideMenu/SideMenu.js +175 -181
  12. package/src/SideMenu/SideMenu.styles.js +140 -71
  13. package/src/SideMenuAvatar/SideMenuAvatar.d.ts +1 -1
  14. package/src/SideMenuAvatar/SideMenuAvatar.js +9 -10
  15. package/src/SideMenuBody/SideMenuBody.js +16 -18
  16. package/src/SideMenuBody/SideMenuBody.styles.js +13 -9
  17. package/src/SideMenuContext.d.ts +1 -1
  18. package/src/SideMenuContext.js +1 -1
  19. package/src/SideMenuDivider/SideMenuDivider.js +9 -11
  20. package/src/SideMenuDivider/SideMenuDivider.styles.js +10 -7
  21. package/src/SideMenuDropdown/SideMenuDropdown.d.ts +1 -1
  22. package/src/SideMenuDropdown/SideMenuDropdown.js +29 -33
  23. package/src/SideMenuDropdown/SideMenuDropdown.styles.js +21 -14
  24. package/src/SideMenuFooter/SideMenuFooter.js +19 -21
  25. package/src/SideMenuFooter/SideMenuFooter.styles.js +21 -11
  26. package/src/SideMenuHeader/SideMenuHeader.js +24 -28
  27. package/src/SideMenuHeader/SideMenuHeader.styles.js +30 -15
  28. package/src/SideMenuItem/SideMenuItem.js +5 -6
  29. package/src/SideMenuLink/SideMenuLink.js +7 -9
  30. package/src/SideMenuLink/SideMenuLink.styles.js +7 -6
  31. package/src/SideMenuNotifications/BellWidget.js +50 -71
  32. package/src/SideMenuNotifications/BellWidgetError.js +12 -13
  33. package/src/SideMenuNotifications/BellWidgetView.styles.js +43 -18
  34. package/src/SideMenuNotifications/SideMenuNotifications.js +22 -23
  35. package/src/SideMenuNotifications/utils/getNotificationsErrorMessages.js +11 -11
  36. package/src/SideMenuOrganisations/SideMenuOrganisations.js +5 -6
  37. package/src/SideMenuSubItem/SideMenuSubItem.js +5 -6
  38. package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.js +14 -16
  39. package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.styles.js +14 -9
  40. package/src/SideMenuSubLink/SideMenuSubLink.js +5 -5
  41. package/src/Tree.js +34 -110
  42. package/src/internal/BackButton.js +13 -16
  43. package/src/internal/Backdrop.js +13 -11
  44. package/src/internal/Backdrop.styles.js +12 -7
  45. package/src/internal/Burger.js +11 -11
  46. package/src/internal/Burger.styles.js +10 -8
  47. package/src/internal/ClickableElement.js +90 -82
  48. package/src/internal/ClickableElement.styles.js +44 -20
  49. package/src/internal/InnerSubMenu.js +12 -14
  50. package/src/internal/ItemContent/Caption.js +43 -47
  51. package/src/internal/ItemContent/Caption.styles.js +78 -33
  52. package/src/internal/ItemContent/Icon.js +24 -26
  53. package/src/internal/ItemContent/Icon.styles.js +45 -19
  54. package/src/internal/ItemContent/ItemContent.js +37 -40
  55. package/src/internal/ItemContent/ItemContent.styles.js +61 -27
  56. package/src/internal/ItemContent/Marker.js +19 -21
  57. package/src/internal/ItemContent/Marker.styles.js +55 -21
  58. package/src/internal/NestedMenu.js +17 -19
  59. package/src/internal/NestedMenu.styles.js +7 -7
  60. package/src/internal/RightBorder.js +21 -22
  61. package/src/internal/RightBorder.styles.js +22 -9
  62. package/src/internal/SeparatedSubMenu.js +43 -48
  63. package/src/internal/SeparatedSubMenu.styles.js +53 -27
  64. package/src/internal/SideMenuLogotype.js +43 -47
  65. package/src/internal/SideMenuLogotype.styles.js +44 -20
  66. 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
- var tslib_1 = require("tslib");
5
- var react_1 = require("react");
4
+ const react_1 = require("react");
6
5
  function useAnimateOnMount(isMounted, delayTime, mountStyles, unmountStyles) {
7
- var _a = tslib_1.__read((0, react_1.useState)(isMounted ? mountStyles : unmountStyles), 2), style = _a[0], setStyle = _a[1];
8
- var _b = tslib_1.__read((0, react_1.useState)(isMounted), 2), shouldShowComponent = _b[0], setShouldShowComponent = _b[1];
9
- (0, react_1.useEffect)(function () {
10
- var timeoutId;
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(function () { return setStyle(mountStyles); }, 0);
12
+ timeoutId = setTimeout(() => setStyle(mountStyles), 0);
14
13
  }
15
14
  else {
16
- timeoutId = setTimeout(function () { return setShouldShowComponent(false); }, delayTime);
15
+ timeoutId = setTimeout(() => setShouldShowComponent(false), delayTime);
17
16
  setStyle(unmountStyles);
18
17
  }
19
- return function () { return clearTimeout(timeoutId); };
18
+ return () => clearTimeout(timeoutId);
20
19
  }, [isMounted, delayTime]);
21
20
  return [shouldShowComponent, style];
22
21
  }
@@ -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
- var tslib_1 = require("tslib");
5
- var react_1 = tslib_1.__importStar(require("react"));
6
- var ArrowCDownIcon16Regular_1 = require("@skbkontur/icons/icons/ArrowCDownIcon/ArrowCDownIcon16Regular");
7
- var ArrowCRightIcon16Regular_1 = require("@skbkontur/icons/icons/ArrowCRightIcon/ArrowCRightIcon16Regular");
8
- var ArrowCLeftIcon16Regular_1 = require("@skbkontur/icons/icons/ArrowCLeftIcon/ArrowCLeftIcon16Regular");
9
- var useMemoIcon = function (children, _a) {
10
- var isOpened = _a.isOpened, onClick = _a.onClick;
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
- var useMemoBorderIcon = function (isCollapsed) {
22
- return (0, react_1.useMemo)(function () {
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
- var tslib_1 = require("tslib");
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
- var tslib_1 = require("tslib");
5
- var ThemeHelpers_1 = require("@skbkontur/react-ui/lib/theming/ThemeHelpers");
6
- var SideMenuTheme = /** @class */ (function (_super) {
7
- tslib_1.__extends(SideMenuTheme, _super);
8
- function SideMenuTheme() {
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 MenuItem
228
- SideMenuTheme.sideMenuItemBorderRadius = '8px';
229
- SideMenuTheme.sideMenuItemHoverBg = '#E6E6E6';
230
- SideMenuTheme.sideMenuItemActiveBg = '#fff';
231
- SideMenuTheme.sideMenuFocusedItemBoxShadowInset = 'inset';
232
- SideMenuTheme.sideMenuFocusedItemBoxShadowOffsetX = '0';
233
- SideMenuTheme.sideMenuFocusedItemBoxShadowOffsetY = '0';
234
- SideMenuTheme.sideMenuFocusedItemBoxShadowBlurRadius = '0';
235
- SideMenuTheme.sideMenuFocusedItemBoxShadowSpreadRadius = '2px';
236
- SideMenuTheme.sideMenuFocusedItemBoxShadowColor = '#1c7edf';
237
- //#endregion
238
- //#region Divider
239
- SideMenuTheme.sideMenuDividerMarginX = '8px';
240
- SideMenuTheme.sideMenuDividerMarginY = '4px';
241
- SideMenuTheme.sideMenuDividerBgColor = 'rgba(0,0,0, 0.1)';
242
- //#endregion
243
- //#region NestedMenu
244
- 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
+ }
245
33
  //#endregion
246
- //#region RightBorder
247
- 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
+ }
248
53
  /**
249
54
  * @deprecated doesn't work since v 1.12
250
55
  */
251
- SideMenuTheme.sideMenuRightBorderHoverWidth = '2px';
252
- SideMenuTheme.sideMenuRightBorderIconColor = '#adadad';
253
- SideMenuTheme.sideMenuRightBorderHoverIconColor = '#222222';
254
- //#endregion
255
- //#region Logotype
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
- return class_1;
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
- var markAsSideMenuTheme = function (theme) {
286
- var _a;
287
- return Object.create(theme, (_a = {},
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
- _a));
216
+ });
295
217
  };
296
218
  exports.markAsSideMenuTheme = markAsSideMenuTheme;
297
- var isSideMenuTheme = function (theme) {
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;