@skbkontur/side-menu 3.3.2 → 3.3.4

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 (69) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/SideMenuDataTids.js +1 -4
  3. package/hooks/useAnimateOnMount.js +6 -9
  4. package/hooks/useMemoIcon.js +12 -18
  5. package/index.js +14 -17
  6. package/internal/themes/SideMenuTheme.js +10 -15
  7. package/lib/theming/ThemeHelpers.js +14 -20
  8. package/lib/theming/ThemeTypes.js +1 -2
  9. package/lib/utils/memo.js +1 -5
  10. package/lib/utils/scripts.js +5 -11
  11. package/package.json +3 -3
  12. package/src/Navigation.js +18 -21
  13. package/src/SideMenu/SideMenu.js +119 -120
  14. package/src/SideMenu/SideMenu.styles.js +28 -31
  15. package/src/SideMenuAvatar/SideMenuAvatar.d.ts +1 -1
  16. package/src/SideMenuAvatar/SideMenuAvatar.js +11 -14
  17. package/src/SideMenuBody/SideMenuBody.js +18 -21
  18. package/src/SideMenuBody/SideMenuBody.styles.js +6 -9
  19. package/src/SideMenuContext.d.ts +1 -1
  20. package/src/SideMenuContext.js +2 -5
  21. package/src/SideMenuDivider/SideMenuDivider.js +11 -14
  22. package/src/SideMenuDivider/SideMenuDivider.styles.js +5 -8
  23. package/src/SideMenuDropdown/SideMenuDropdown.d.ts +1 -1
  24. package/src/SideMenuDropdown/SideMenuDropdown.js +22 -24
  25. package/src/SideMenuDropdown/SideMenuDropdown.styles.js +9 -12
  26. package/src/SideMenuFooter/SideMenuFooter.js +21 -24
  27. package/src/SideMenuFooter/SideMenuFooter.styles.js +7 -10
  28. package/src/SideMenuHeader/SideMenuHeader.js +26 -29
  29. package/src/SideMenuHeader/SideMenuHeader.styles.js +9 -12
  30. package/src/SideMenuItem/SideMenuItem.js +7 -10
  31. package/src/SideMenuLink/SideMenuLink.js +9 -12
  32. package/src/SideMenuLink/SideMenuLink.styles.js +4 -7
  33. package/src/SideMenuNotifications/BellWidget.js +41 -45
  34. package/src/SideMenuNotifications/BellWidgetError.js +15 -20
  35. package/src/SideMenuNotifications/BellWidgetView.styles.js +11 -14
  36. package/src/SideMenuNotifications/SideMenuNotifications.js +23 -26
  37. package/src/SideMenuNotifications/utils/getMarker.js +1 -4
  38. package/src/SideMenuNotifications/utils/getNotificationsErrorMessages.js +1 -5
  39. package/src/SideMenuOrganisations/SideMenuOrganisations.js +7 -10
  40. package/src/SideMenuSubItem/SideMenuSubItem.js +8 -11
  41. package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.js +15 -18
  42. package/src/SideMenuSubItemHeader/SideMenuSubItemHeader.styles.js +6 -9
  43. package/src/SideMenuSubLink/SideMenuSubLink.js +7 -10
  44. package/src/Tree.js +9 -12
  45. package/src/internal/BackButton.js +10 -14
  46. package/src/internal/Backdrop.js +11 -15
  47. package/src/internal/Backdrop.styles.js +5 -8
  48. package/src/internal/Burger.js +12 -17
  49. package/src/internal/Burger.styles.js +6 -9
  50. package/src/internal/ClickableElement.js +44 -47
  51. package/src/internal/ClickableElement.styles.js +12 -15
  52. package/src/internal/InnerSubMenu.js +10 -14
  53. package/src/internal/ItemContent/Caption.js +31 -34
  54. package/src/internal/ItemContent/Caption.styles.js +20 -23
  55. package/src/internal/ItemContent/Icon.js +20 -25
  56. package/src/internal/ItemContent/Icon.styles.js +11 -14
  57. package/src/internal/ItemContent/ItemContent.js +33 -36
  58. package/src/internal/ItemContent/ItemContent.styles.js +15 -18
  59. package/src/internal/ItemContent/Marker.js +16 -21
  60. package/src/internal/ItemContent/Marker.styles.js +12 -15
  61. package/src/internal/NestedMenu.js +15 -19
  62. package/src/internal/NestedMenu.styles.js +5 -8
  63. package/src/internal/RightBorder.js +19 -22
  64. package/src/internal/RightBorder.styles.js +6 -9
  65. package/src/internal/SeparatedSubMenu.js +36 -40
  66. package/src/internal/SeparatedSubMenu.styles.js +13 -16
  67. package/src/internal/SideMenuLogotype.js +31 -34
  68. package/src/internal/SideMenuLogotype.styles.js +14 -17
  69. package/src/internal/SubMenu.js +11 -15
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
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
+
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)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **SideMenuAvatar:** add prop menuWidth ([29a18fd](https://git.skbkontur.ru/ui/ui-parking-2/commits/29a18fd07580028e33ae09bb68cf6c4d8439a1c6))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [3.3.2](https://git.skbkontur.ru/ui/ui-parking-2/compare/@skbkontur/side-menu@3.3.1...@skbkontur/side-menu@3.3.2) (2025-08-08)
7
29
 
8
30
  **Note:** Version bump only for package @skbkontur/side-menu
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SideMenuDataTids = void 0;
4
- exports.SideMenuDataTids = {
1
+ export var SideMenuDataTids = {
5
2
  root: 'SideMenu__root',
6
3
  burger: 'SideMenu__burger',
7
4
  backButton: 'SideMenu__backButton',
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useAnimateOnMount = useAnimateOnMount;
4
- var tslib_1 = require("tslib");
5
- var react_1 = require("react");
6
- 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 () {
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 () {
10
7
  var timeoutId;
11
8
  if (isMounted) {
12
9
  setShouldShowComponent(true);
@@ -1,29 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
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) {
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) {
10
6
  var isOpened = _a.isOpened, onClick = _a.onClick;
11
- return (0, react_1.useMemo)(function () {
7
+ return useMemo(function () {
12
8
  if (children) {
13
9
  if (isOpened) {
14
- return react_1.default.createElement(ArrowCDownIcon16Regular_1.ArrowCDownIcon16Regular, { onClick: onClick });
10
+ return React.createElement(ArrowCDownIcon16Regular, { onClick: onClick });
15
11
  }
16
- return react_1.default.createElement(ArrowCRightIcon16Regular_1.ArrowCRightIcon16Regular, null);
12
+ return React.createElement(ArrowCRightIcon16Regular, null);
17
13
  }
18
14
  }, [isOpened, children]);
19
15
  };
20
- exports.useMemoIcon = useMemoIcon;
21
- var useMemoBorderIcon = function (isCollapsed) {
22
- return (0, react_1.useMemo)(function () {
16
+ export var useMemoBorderIcon = function (isCollapsed) {
17
+ return useMemo(function () {
23
18
  if (isCollapsed) {
24
- return react_1.default.createElement(ArrowCRightIcon16Regular_1.ArrowCRightIcon16Regular, null);
19
+ return React.createElement(ArrowCRightIcon16Regular, null);
25
20
  }
26
- return react_1.default.createElement(ArrowCLeftIcon16Regular_1.ArrowCLeftIcon16Regular, null);
21
+ return React.createElement(ArrowCLeftIcon16Regular, null);
27
22
  }, [isCollapsed]);
28
23
  };
29
- exports.useMemoBorderIcon = useMemoBorderIcon;
package/index.js CHANGED
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var 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
+ 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,10 +1,7 @@
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
- var tslib_1 = require("tslib");
5
- var ThemeHelpers_1 = require("@skbkontur/react-ui/lib/theming/ThemeHelpers");
1
+ import { __extends } from "tslib";
2
+ import { exposeGetters } from '@skbkontur/react-ui/lib/theming/ThemeHelpers';
6
3
  var SideMenuTheme = /** @class */ (function (_super) {
7
- tslib_1.__extends(SideMenuTheme, _super);
4
+ __extends(SideMenuTheme, _super);
8
5
  function SideMenuTheme() {
9
6
  return _super !== null && _super.apply(this, arguments) || this;
10
7
  }
@@ -280,12 +277,12 @@ var SideMenuTheme = /** @class */ (function (_super) {
280
277
  }
281
278
  return class_1;
282
279
  }())));
283
- exports.SideMenuTheme = SideMenuTheme;
284
- exports.REACT_UI_SIDE_MENU_THEME_KEY = '__IS_REACT_UI_SIDE_MENU_THEME__';
285
- var markAsSideMenuTheme = function (theme) {
280
+ export { SideMenuTheme };
281
+ export var REACT_UI_SIDE_MENU_THEME_KEY = '__IS_REACT_UI_SIDE_MENU_THEME__';
282
+ export var markAsSideMenuTheme = function (theme) {
286
283
  var _a;
287
284
  return Object.create(theme, (_a = {},
288
- _a[exports.REACT_UI_SIDE_MENU_THEME_KEY] = {
285
+ _a[REACT_UI_SIDE_MENU_THEME_KEY] = {
289
286
  value: true,
290
287
  writable: false,
291
288
  enumerable: false,
@@ -293,11 +290,9 @@ var markAsSideMenuTheme = function (theme) {
293
290
  },
294
291
  _a));
295
292
  };
296
- exports.markAsSideMenuTheme = markAsSideMenuTheme;
297
- var isSideMenuTheme = function (theme) {
293
+ export var isSideMenuTheme = function (theme) {
298
294
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
299
295
  //@ts-ignore
300
- return theme[exports.REACT_UI_SIDE_MENU_THEME_KEY] === true;
296
+ return theme[REACT_UI_SIDE_MENU_THEME_KEY] === true;
301
297
  };
302
- exports.isSideMenuTheme = isSideMenuTheme;
303
- exports.SideMenuThemeInternal = (0, ThemeHelpers_1.exposeGetters)(SideMenuTheme);
298
+ export var SideMenuThemeInternal = exposeGetters(SideMenuTheme);
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cssName = exports.memoizeStyle = exports.getSideMenuTheme = exports.createSideMenuTheme = void 0;
4
- var tslib_1 = require("tslib");
5
- var utils_1 = require("@skbkontur/react-ui/lib/utils");
6
- var memo_1 = require("../utils/memo");
7
- var SideMenuTheme_1 = require("../../internal/themes/SideMenuTheme");
1
+ import { __values } from "tslib";
2
+ import { isFunction } from '@skbkontur/react-ui/lib/utils';
3
+ import { memo } from '../utils/memo';
4
+ import { SideMenuThemeInternal, isSideMenuTheme, markAsSideMenuTheme } from '../../internal/themes/SideMenuTheme';
8
5
  /**
9
6
  * Creates SideMenuTheme out of ReactUI's Theme.
10
7
  *
@@ -15,12 +12,12 @@ var SideMenuTheme_1 = require("../../internal/themes/SideMenuTheme");
15
12
  * (without need for users to do it manually in their apps),
16
13
  * and using ReactUI's ThemeContext.Provider for overriding them.
17
14
  */
18
- var createSideMenuTheme = function (theme) {
15
+ export var createSideMenuTheme = function (theme) {
19
16
  var e_1, _a;
20
- if ((0, SideMenuTheme_1.isSideMenuTheme)(theme)) {
17
+ if (isSideMenuTheme(theme)) {
21
18
  return theme;
22
19
  }
23
- var sideMenuTheme = Object.create(theme, Object.assign(Object.getOwnPropertyDescriptors(SideMenuTheme_1.SideMenuThemeInternal), {}));
20
+ var sideMenuTheme = Object.create(theme, Object.assign(Object.getOwnPropertyDescriptors(SideMenuThemeInternal), {}));
24
21
  var _loop_1 = function (key) {
25
22
  var descriptor = Object.getOwnPropertyDescriptor(sideMenuTheme, key);
26
23
  Object.defineProperty(sideMenuTheme, key, {
@@ -29,13 +26,13 @@ var createSideMenuTheme = function (theme) {
29
26
  var get = descriptor.get, value = descriptor.value;
30
27
  // eslint-disable-next-line @typescript-eslint/naming-convention
31
28
  // @ts-ignore
32
- return theme[key] || ((0, utils_1.isFunction)(get) ? get.call(this) : value);
29
+ return theme[key] || (isFunction(get) ? get.call(this) : value);
33
30
  }
34
31
  },
35
32
  });
36
33
  };
37
34
  try {
38
- for (var _b = tslib_1.__values(Object.keys(sideMenuTheme)), _c = _b.next(); !_c.done; _c = _b.next()) {
35
+ for (var _b = __values(Object.keys(sideMenuTheme)), _c = _b.next(); !_c.done; _c = _b.next()) {
39
36
  var key = _c.value;
40
37
  _loop_1(key);
41
38
  }
@@ -47,11 +44,10 @@ var createSideMenuTheme = function (theme) {
47
44
  }
48
45
  finally { if (e_1) throw e_1.error; }
49
46
  }
50
- return (0, SideMenuTheme_1.markAsSideMenuTheme)(sideMenuTheme);
47
+ return markAsSideMenuTheme(sideMenuTheme);
51
48
  };
52
- exports.createSideMenuTheme = createSideMenuTheme;
53
- exports.getSideMenuTheme = (0, memo_1.memo)(function (theme) {
54
- return (0, exports.createSideMenuTheme)(theme);
49
+ export var getSideMenuTheme = memo(function (theme) {
50
+ return createSideMenuTheme(theme);
55
51
  });
56
52
  // eslint-disable-next-line @typescript-eslint/ban-types
57
53
  function isZeroArgs(fn) {
@@ -77,10 +73,8 @@ var memoize = function (fn) {
77
73
  return cache.get(arg);
78
74
  };
79
75
  };
80
- var memoizeStyle = function (styles) {
76
+ export var memoizeStyle = function (styles) {
81
77
  Object.keys(styles).forEach(function (className) { return (styles[className] = memoize(styles[className])); });
82
78
  return styles;
83
79
  };
84
- exports.memoizeStyle = memoizeStyle;
85
- var cssName = function (className) { return ".".concat(className); };
86
- exports.cssName = cssName;
80
+ export var cssName = function (className) { return ".".concat(className); };
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/lib/utils/memo.js CHANGED
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.memo = void 0;
4
- var memo = function (fn) {
1
+ export var memo = function (fn) {
5
2
  var cache = new WeakMap();
6
3
  return function (arg) {
7
4
  if (!cache.has(arg)) {
@@ -10,4 +7,3 @@ var memo = function (fn) {
10
7
  return cache.get(arg);
11
8
  };
12
9
  };
13
- exports.memo = memo;
@@ -1,16 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateId = exports.isKonturIcon = exports.isTouchDevice = exports.isBrowser = void 0;
4
- exports.isBrowser = typeof window !== 'undefined';
5
- var isTouchDevice = function () {
6
- return exports.isBrowser && ('ontouchstart' in window || navigator.maxTouchPoints > 0);
1
+ export var isBrowser = typeof window !== 'undefined';
2
+ export var isTouchDevice = function () {
3
+ return isBrowser && ('ontouchstart' in window || navigator.maxTouchPoints > 0);
7
4
  };
8
- exports.isTouchDevice = isTouchDevice;
9
- var isKonturIcon = function (icon) {
5
+ export var isKonturIcon = function (icon) {
10
6
  return Object.prototype.hasOwnProperty.call(icon === null || icon === void 0 ? void 0 : icon.type, '__KONTUR_ICON__');
11
7
  };
12
- exports.isKonturIcon = isKonturIcon;
13
- var generateId = function () {
8
+ export var generateId = function () {
14
9
  return Date.now().toString(36) + Math.random().toString(36).substr(2);
15
10
  };
16
- exports.generateId = generateId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skbkontur/side-menu",
3
- "version": "3.3.2",
3
+ "version": "3.3.4",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -24,9 +24,9 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@skbkontur/bell-widget-npm-loader": "^0.2.3",
27
- "@skbkontur/empty-state": "1.1.1",
27
+ "@skbkontur/empty-state": "^1.1.2",
28
28
  "@skbkontur/icons": "^1.19.1",
29
- "@skbkontur/react-ui-addons": "^5.2.1",
29
+ "@skbkontur/react-ui-addons": "^5.2.2",
30
30
  "@skbkontur/widget-consumer-react-utils": "^1.6.12",
31
31
  "tslib": "^2.8.0"
32
32
  }
package/src/Navigation.js CHANGED
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MenuNavigation = exports.navigationAttributeBackButton = exports.navigationAttributeForSeparatedMenu = exports.navigationAttribute = void 0;
4
- var tslib_1 = require("tslib");
5
- var Tree_1 = require("./Tree");
1
+ import { __values } from "tslib";
2
+ import { Tree } from './Tree';
6
3
  var MENU_ROOT_ID = 'menu-root-id';
7
- exports.navigationAttribute = 'data-navigation-id';
8
- exports.navigationAttributeForSeparatedMenu = 'data-parent-navigation-id';
9
- exports.navigationAttributeBackButton = 'data-navigation-back-button';
4
+ export var navigationAttribute = 'data-navigation-id';
5
+ export var navigationAttributeForSeparatedMenu = 'data-parent-navigation-id';
6
+ export var navigationAttributeBackButton = 'data-navigation-back-button';
10
7
  var MenuNavigation = /** @class */ (function () {
11
8
  function MenuNavigation(options) {
12
9
  this.navigationTree = null;
13
10
  this.menuItemsIds = '';
14
- this.navigationTree = new Tree_1.Tree(MENU_ROOT_ID);
11
+ this.navigationTree = new Tree(MENU_ROOT_ID);
15
12
  this.activeMenuItemTreeNode = this.navigationTree.find(options.activeMenuItem);
16
13
  this.rootRef = options.rootRef;
17
14
  this.activeMenuItem = options.activeMenuItem;
@@ -28,15 +25,15 @@ var MenuNavigation = /** @class */ (function () {
28
25
  var _this = this;
29
26
  var _a;
30
27
  if ((_a = this.rootRef) === null || _a === void 0 ? void 0 : _a.current) {
31
- var menuItems = Array.from(this.rootRef.current.querySelectorAll("[".concat(exports.navigationAttribute, "]"))).filter(function (item) { return !item.querySelector("[".concat(exports.navigationAttributeBackButton, "]")); });
32
- var newItemsIds = menuItems.map(function (node) { return node.getAttribute(exports.navigationAttribute); }).join('');
28
+ var menuItems = Array.from(this.rootRef.current.querySelectorAll("[".concat(navigationAttribute, "]"))).filter(function (item) { return !item.querySelector("[".concat(navigationAttributeBackButton, "]")); });
29
+ var newItemsIds = menuItems.map(function (node) { return node.getAttribute(navigationAttribute); }).join('');
33
30
  if (this.menuItemsIds === newItemsIds) {
34
31
  return;
35
32
  }
36
33
  this.menuItemsIds = newItemsIds;
37
34
  menuItems.forEach(function (menuItem) {
38
35
  var _a, _b, _c;
39
- var id = menuItem.getAttribute(exports.navigationAttribute);
36
+ var id = menuItem.getAttribute(navigationAttribute);
40
37
  var parentId = _this.getParentId(menuItem);
41
38
  var oldValue = (_b = (_a = _this.navigationTree) === null || _a === void 0 ? void 0 : _a.find(id)) === null || _b === void 0 ? void 0 : _b.value;
42
39
  (_c = _this.navigationTree) === null || _c === void 0 ? void 0 : _c.insert(parentId, id, oldValue);
@@ -62,7 +59,7 @@ var MenuNavigation = /** @class */ (function () {
62
59
  var _b, _c, _d, _e, _f;
63
60
  if (!isButton) {
64
61
  try {
65
- for (var _g = tslib_1.__values(((_b = this.navigationTree) === null || _b === void 0 ? void 0 : _b.preOrderTraversal()) || []), _h = _g.next(); !_h.done; _h = _g.next()) {
62
+ for (var _g = __values(((_b = this.navigationTree) === null || _b === void 0 ? void 0 : _b.preOrderTraversal()) || []), _h = _g.next(); !_h.done; _h = _g.next()) {
66
63
  var node = _h.value;
67
64
  (_c = node.value) === null || _c === void 0 ? void 0 : _c.setIsActive(false);
68
65
  }
@@ -99,7 +96,7 @@ var MenuNavigation = /** @class */ (function () {
99
96
  var e_2, _a;
100
97
  var _b, _c, _d;
101
98
  try {
102
- for (var _e = tslib_1.__values(((_b = this.navigationTree) === null || _b === void 0 ? void 0 : _b.preOrderTraversal()) || []), _f = _e.next(); !_f.done; _f = _e.next()) {
99
+ for (var _e = __values(((_b = this.navigationTree) === null || _b === void 0 ? void 0 : _b.preOrderTraversal()) || []), _f = _e.next(); !_f.done; _f = _e.next()) {
103
100
  var node = _f.value;
104
101
  (_c = node.value) === null || _c === void 0 ? void 0 : _c.setIsFirstLevelParentOfActiveMenuItem(false);
105
102
  }
@@ -132,7 +129,7 @@ var MenuNavigation = /** @class */ (function () {
132
129
  var _b, _c, _d, _e;
133
130
  if (!((_b = treeNode.value) === null || _b === void 0 ? void 0 : _b.isSubMenu) || firstLevelParentChanged) {
134
131
  try {
135
- for (var _f = tslib_1.__values(((_c = this.navigationTree) === null || _c === void 0 ? void 0 : _c.preOrderTraversal()) || []), _g = _f.next(); !_g.done; _g = _f.next()) {
132
+ for (var _f = __values(((_c = this.navigationTree) === null || _c === void 0 ? void 0 : _c.preOrderTraversal()) || []), _g = _f.next(); !_g.done; _g = _f.next()) {
136
133
  var node = _g.value;
137
134
  (_d = node.value) === null || _d === void 0 ? void 0 : _d.setIsOpened(false);
138
135
  }
@@ -161,17 +158,17 @@ var MenuNavigation = /** @class */ (function () {
161
158
  MenuNavigation.prototype.getParentId = function (menuItem) {
162
159
  var _a, _b, _c;
163
160
  var parentElement;
164
- var clickableElementSelector = "[".concat(exports.navigationAttribute, "]");
165
- var separatedMenuSelector = "[".concat(exports.navigationAttributeForSeparatedMenu, "]");
161
+ var clickableElementSelector = "[".concat(navigationAttribute, "]");
162
+ var separatedMenuSelector = "[".concat(navigationAttributeForSeparatedMenu, "]");
166
163
  parentElement = (_a = menuItem.parentElement) === null || _a === void 0 ? void 0 : _a.closest(clickableElementSelector);
167
164
  if (!parentElement) {
168
165
  var separatedMenu = menuItem.closest(separatedMenuSelector);
169
166
  if (separatedMenu) {
170
- var firstLevelMenuId = separatedMenu.getAttribute(exports.navigationAttributeForSeparatedMenu);
171
- parentElement = (_c = (_b = this.rootRef) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.querySelector("[".concat(exports.navigationAttribute, "=\"").concat(firstLevelMenuId, "\"]"));
167
+ var firstLevelMenuId = separatedMenu.getAttribute(navigationAttributeForSeparatedMenu);
168
+ parentElement = (_c = (_b = this.rootRef) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.querySelector("[".concat(navigationAttribute, "=\"").concat(firstLevelMenuId, "\"]"));
172
169
  }
173
170
  }
174
- return (parentElement === null || parentElement === void 0 ? void 0 : parentElement.getAttribute(exports.navigationAttribute)) || MENU_ROOT_ID;
171
+ return (parentElement === null || parentElement === void 0 ? void 0 : parentElement.getAttribute(navigationAttribute)) || MENU_ROOT_ID;
175
172
  };
176
173
  MenuNavigation.prototype.switchVisibilityOfSeparatedMenu = function () {
177
174
  var _a, _b, _c, _d, _e, _f;
@@ -192,4 +189,4 @@ var MenuNavigation = /** @class */ (function () {
192
189
  };
193
190
  return MenuNavigation;
194
191
  }());
195
- exports.MenuNavigation = MenuNavigation;
192
+ export { MenuNavigation };