@gravity-ui/navigation 1.8.4 → 2.0.0-beta.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 (171) hide show
  1. package/README.md +12 -9
  2. package/build/cjs/{ActionBar-96a59723.js → ActionBar-38c4e24f.js} +2 -2
  3. package/build/cjs/ActionBar-38c4e24f.js.map +1 -0
  4. package/build/cjs/AsideFallback.js +4 -4
  5. package/build/cjs/AsideFallback.js.map +1 -1
  6. package/build/cjs/AsideHeader.js +6 -5
  7. package/build/cjs/AsideHeader.js.map +1 -1
  8. package/build/cjs/AsideHeaderContext.js.map +1 -1
  9. package/build/cjs/Drawer.js +3 -3
  10. package/build/cjs/Drawer.js.map +1 -1
  11. package/build/cjs/{FooterItem-eafaeac3.js → FooterItem-0b0d76e4.js} +56 -56
  12. package/build/cjs/FooterItem-0b0d76e4.js.map +1 -0
  13. package/build/cjs/FooterItem.js +5 -5
  14. package/build/cjs/FooterItem.js.map +1 -1
  15. package/build/cjs/{HotkeysPanel-2e240e4d.js → HotkeysPanel-4ad41893.js} +15 -15
  16. package/build/cjs/HotkeysPanel-4ad41893.js.map +1 -0
  17. package/build/cjs/{Item-702f50be.js → Item-d836a378.js} +52 -52
  18. package/build/cjs/Item-d836a378.js.map +1 -0
  19. package/build/cjs/PageLayout.js +5 -5
  20. package/build/cjs/PageLayout.js.map +1 -1
  21. package/build/cjs/PageLayoutAside.js +231 -230
  22. package/build/cjs/PageLayoutAside.js.map +1 -1
  23. package/build/cjs/{Settings-11b021e4.js → Settings-a0deac97.js} +47 -47
  24. package/build/cjs/Settings-a0deac97.js.map +1 -0
  25. package/build/cjs/{Title-c539667f.js → Title-54580605.js} +5 -5
  26. package/build/cjs/Title-54580605.js.map +1 -0
  27. package/build/cjs/{TopPanel-b531a2be.js → TopPanel-1b062791.js} +3 -3
  28. package/build/cjs/TopPanel-1b062791.js.map +1 -0
  29. package/build/cjs/{cn-1964a72a.js → cn-9933321a.js} +2 -1
  30. package/build/cjs/{cn-1964a72a.js.map → cn-9933321a.js.map} +1 -1
  31. package/build/cjs/components/AllPagesPanel/i18n/index.d.ts +1 -1
  32. package/build/cjs/components/AsideHeader/i18n/index.d.ts +1 -1
  33. package/build/cjs/components/AsideHeader/types.d.ts +1 -1
  34. package/build/cjs/components/CompositeBar/Item/Item.d.ts +1 -0
  35. package/build/cjs/components/CompositeBar/utils.d.ts +2 -2
  36. package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +1 -1
  37. package/build/cjs/components/MobileHeader/MobileHeader.d.ts +3 -3
  38. package/build/cjs/components/MobileHeader/i18n/index.d.ts +1 -1
  39. package/build/cjs/components/Settings/Settings.d.ts +1 -1
  40. package/build/cjs/components/Settings/i18n/index.d.ts +1 -1
  41. package/build/cjs/components/Title/i18n/index.d.ts +1 -1
  42. package/build/cjs/components/index.d.ts +0 -1
  43. package/build/cjs/components/types.d.ts +1 -1
  44. package/build/cjs/index.js +11 -16
  45. package/build/cjs/index.js.map +1 -1
  46. package/build/cjs/index2.js +2 -2
  47. package/build/cjs/index3.js +4 -4
  48. package/build/cjs/index4.js +2 -2
  49. package/build/cjs/index5.js +6 -6
  50. package/build/cjs/index6.js +6 -6
  51. package/build/cjs/utils-db3e03c2.js +8 -0
  52. package/build/cjs/{utils-a93dd754.js.map → utils-db3e03c2.js.map} +1 -1
  53. package/build/esm/{ActionBar-68f814a3.js → ActionBar-affc1f80.js} +2 -2
  54. package/build/esm/ActionBar-affc1f80.js.map +1 -0
  55. package/build/esm/AsideFallback.js +4 -4
  56. package/build/esm/AsideFallback.js.map +1 -1
  57. package/build/esm/AsideHeader.js +6 -5
  58. package/build/esm/AsideHeader.js.map +1 -1
  59. package/build/esm/AsideHeaderContext.js.map +1 -1
  60. package/build/esm/Drawer.js +3 -3
  61. package/build/esm/Drawer.js.map +1 -1
  62. package/build/esm/{FooterItem-39ac7c22.js → FooterItem-76774de7.js} +57 -57
  63. package/build/esm/FooterItem-76774de7.js.map +1 -0
  64. package/build/esm/FooterItem.js +5 -5
  65. package/build/esm/FooterItem.js.map +1 -1
  66. package/build/esm/{HotkeysPanel-bd0e997d.js → HotkeysPanel-9138824c.js} +15 -15
  67. package/build/esm/HotkeysPanel-9138824c.js.map +1 -0
  68. package/build/esm/{Item-29a1bfdb.js → Item-9eb6b3be.js} +52 -52
  69. package/build/esm/Item-9eb6b3be.js.map +1 -0
  70. package/build/esm/PageLayout.js +5 -5
  71. package/build/esm/PageLayout.js.map +1 -1
  72. package/build/esm/PageLayoutAside.js +219 -218
  73. package/build/esm/PageLayoutAside.js.map +1 -1
  74. package/build/esm/{Settings-31634d93.js → Settings-0a78c1a7.js} +48 -48
  75. package/build/esm/Settings-0a78c1a7.js.map +1 -0
  76. package/build/esm/{Title-b2f2c4e9.js → Title-03b4255a.js} +5 -5
  77. package/build/esm/Title-03b4255a.js.map +1 -0
  78. package/build/esm/{TopPanel-36ffc4c7.js → TopPanel-2760cf72.js} +3 -3
  79. package/build/esm/TopPanel-2760cf72.js.map +1 -0
  80. package/build/esm/{cn-589cd9e2.js → cn-ffe5e9f5.js} +2 -2
  81. package/build/esm/{cn-589cd9e2.js.map → cn-ffe5e9f5.js.map} +1 -1
  82. package/build/esm/components/AllPagesPanel/i18n/index.d.ts +1 -1
  83. package/build/esm/components/AsideHeader/i18n/index.d.ts +1 -1
  84. package/build/esm/components/AsideHeader/types.d.ts +1 -1
  85. package/build/esm/components/CompositeBar/Item/Item.d.ts +1 -0
  86. package/build/esm/components/CompositeBar/utils.d.ts +2 -2
  87. package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +1 -1
  88. package/build/esm/components/MobileHeader/MobileHeader.d.ts +3 -3
  89. package/build/esm/components/MobileHeader/i18n/index.d.ts +1 -1
  90. package/build/esm/components/Settings/Settings.d.ts +1 -1
  91. package/build/esm/components/Settings/i18n/index.d.ts +1 -1
  92. package/build/esm/components/Title/i18n/index.d.ts +1 -1
  93. package/build/esm/components/index.d.ts +0 -1
  94. package/build/esm/components/types.d.ts +1 -1
  95. package/build/esm/index.js +11 -11
  96. package/build/esm/index2.js +2 -2
  97. package/build/esm/index3.js +4 -4
  98. package/build/esm/index4.js +2 -2
  99. package/build/esm/index5.js +6 -6
  100. package/build/esm/index6.js +6 -6
  101. package/build/esm/utils-117463a5.js +6 -0
  102. package/build/esm/{utils-6d5146c7.js.map → utils-117463a5.js.map} +1 -1
  103. package/package.json +30 -30
  104. package/build/cjs/ActionBar-96a59723.js.map +0 -1
  105. package/build/cjs/FooterItem-eafaeac3.js.map +0 -1
  106. package/build/cjs/HotkeysPanel-2e240e4d.js.map +0 -1
  107. package/build/cjs/Item-702f50be.js.map +0 -1
  108. package/build/cjs/Settings-11b021e4.js.map +0 -1
  109. package/build/cjs/Title-c539667f.js.map +0 -1
  110. package/build/cjs/TopPanel-b531a2be.js.map +0 -1
  111. package/build/cjs/components/ActionBar/__stories__/ActionBar.stories.d.ts +0 -20
  112. package/build/cjs/components/ActionBar/__stories__/ActionBarShowcase.d.ts +0 -2
  113. package/build/cjs/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +0 -2
  114. package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +0 -13
  115. package/build/cjs/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +0 -13
  116. package/build/cjs/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +0 -3
  117. package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +0 -5
  118. package/build/cjs/components/Drawer/__stories__/Drawer.stories.d.ts +0 -3
  119. package/build/cjs/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
  120. package/build/cjs/components/FooterItem/__stories__/FooterItem.stories.d.ts +0 -5
  121. package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +0 -3
  122. package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +0 -3
  123. package/build/cjs/components/HotkeysPanel/__stories__/moc.d.ts +0 -2
  124. package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +0 -5
  125. package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +0 -2
  126. package/build/cjs/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +0 -3
  127. package/build/cjs/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +0 -3
  128. package/build/cjs/components/MobileHeader/__stories__/moc.d.ts +0 -1
  129. package/build/cjs/components/Settings/__stories__/Settings.stories.d.ts +0 -4
  130. package/build/cjs/components/Settings/__stories__/SettingsDemo.d.ts +0 -14
  131. package/build/cjs/components/Settings/__stories__/SettingsMobileDemo.d.ts +0 -8
  132. package/build/cjs/components/utils/configure.d.ts +0 -12
  133. package/build/cjs/components/utils/registerKeyset.d.ts +0 -5
  134. package/build/cjs/i18n.d.ts +0 -2
  135. package/build/cjs/registerKeyset-f4ce9ee7.js +0 -215
  136. package/build/cjs/registerKeyset-f4ce9ee7.js.map +0 -1
  137. package/build/cjs/utils-a93dd754.js +0 -8
  138. package/build/esm/ActionBar-68f814a3.js.map +0 -1
  139. package/build/esm/FooterItem-39ac7c22.js.map +0 -1
  140. package/build/esm/HotkeysPanel-bd0e997d.js.map +0 -1
  141. package/build/esm/Item-29a1bfdb.js.map +0 -1
  142. package/build/esm/Settings-31634d93.js.map +0 -1
  143. package/build/esm/Title-b2f2c4e9.js.map +0 -1
  144. package/build/esm/TopPanel-36ffc4c7.js.map +0 -1
  145. package/build/esm/components/ActionBar/__stories__/ActionBar.stories.d.ts +0 -20
  146. package/build/esm/components/ActionBar/__stories__/ActionBarShowcase.d.ts +0 -2
  147. package/build/esm/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +0 -2
  148. package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +0 -13
  149. package/build/esm/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +0 -13
  150. package/build/esm/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +0 -3
  151. package/build/esm/components/AsideHeader/__stories__/moc.d.ts +0 -5
  152. package/build/esm/components/Drawer/__stories__/Drawer.stories.d.ts +0 -3
  153. package/build/esm/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
  154. package/build/esm/components/FooterItem/__stories__/FooterItem.stories.d.ts +0 -5
  155. package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +0 -3
  156. package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +0 -3
  157. package/build/esm/components/HotkeysPanel/__stories__/moc.d.ts +0 -2
  158. package/build/esm/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +0 -5
  159. package/build/esm/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +0 -2
  160. package/build/esm/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +0 -3
  161. package/build/esm/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +0 -3
  162. package/build/esm/components/MobileHeader/__stories__/moc.d.ts +0 -1
  163. package/build/esm/components/Settings/__stories__/Settings.stories.d.ts +0 -4
  164. package/build/esm/components/Settings/__stories__/SettingsDemo.d.ts +0 -14
  165. package/build/esm/components/Settings/__stories__/SettingsMobileDemo.d.ts +0 -8
  166. package/build/esm/components/utils/configure.d.ts +0 -12
  167. package/build/esm/components/utils/registerKeyset.d.ts +0 -5
  168. package/build/esm/i18n.d.ts +0 -2
  169. package/build/esm/registerKeyset-35f1ea08.js +0 -212
  170. package/build/esm/registerKeyset-35f1ea08.js.map +0 -1
  171. package/build/esm/utils-6d5146c7.js +0 -6
@@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var uikit = require('@gravity-ui/uikit');
7
- var cn = require('./cn-1964a72a.js');
8
- var Item = require('./Item-702f50be.js');
7
+ var icons = require('@gravity-ui/icons');
8
+ var AsideHeaderContext = require('./AsideHeaderContext.js');
9
+ var cn = require('./cn-9933321a.js');
9
10
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
11
+ var i18n$2 = require('@gravity-ui/uikit/i18n');
10
12
  var constants = require('./constants-d81c3867.js');
11
- var AsideHeaderContext = require('./AsideHeaderContext.js');
12
- var utils = require('./utils-a93dd754.js');
13
- var icons = require('@gravity-ui/icons');
14
- var registerKeyset = require('./registerKeyset-f4ce9ee7.js');
13
+ var Item = require('./Item-d836a378.js');
14
+ var utils = require('./utils-db3e03c2.js');
15
15
  var dividerCollapsed = require('./divider-collapsed-153868e7.js');
16
16
  var Drawer = require('./Drawer.js');
17
17
  require('./debounce-8772fd80.js');
@@ -21,26 +21,181 @@ require('react-dom');
21
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
22
 
23
23
  function _interopNamespace(e) {
24
- if (e && e.__esModule) return e;
25
- var n = Object.create(null);
26
- if (e) {
27
- Object.keys(e).forEach(function (k) {
28
- if (k !== 'default') {
29
- var d = Object.getOwnPropertyDescriptor(e, k);
30
- Object.defineProperty(n, k, d.get ? d : {
31
- enumerable: true,
32
- get: function () { return e[k]; }
24
+ if (e && e.__esModule) return e;
25
+ var n = Object.create(null);
26
+ if (e) {
27
+ Object.keys(e).forEach(function (k) {
28
+ if (k !== 'default') {
29
+ var d = Object.getOwnPropertyDescriptor(e, k);
30
+ Object.defineProperty(n, k, d.get ? d : {
31
+ enumerable: true,
32
+ get: function () { return e[k]; }
33
+ });
34
+ }
33
35
  });
34
- }
35
- });
36
- }
37
- n["default"] = e;
38
- return Object.freeze(n);
36
+ }
37
+ n["default"] = e;
38
+ return Object.freeze(n);
39
39
  }
40
40
 
41
41
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
42
42
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
43
43
 
44
+ var css_248z$4 = ".gn-all-pages-list-item{align-items:center;column-gap:var(--g-spacing-4);display:flex;height:40px;padding:0 var(--g-spacing-6);width:100%}.gn-all-pages-list-item__text{flex:1}.gn-all-pages-list-item__icon{color:var(--g-color-text-misc)}";
45
+ styleInject_es.styleInject(css_248z$4);
46
+
47
+ const b$4 = cn.block('all-pages-list-item');
48
+ const AllPagesListItem = (props) => {
49
+ const { item, editMode, onToggle } = props;
50
+ const onPinButtonClick = React.useCallback((e) => {
51
+ e.stopPropagation();
52
+ e.preventDefault();
53
+ onToggle();
54
+ }, [onToggle]);
55
+ const onItemClick = (e) => {
56
+ if (editMode) {
57
+ e.stopPropagation();
58
+ e.preventDefault();
59
+ }
60
+ };
61
+ return (React__default["default"].createElement("div", { className: b$4(), onClick: onItemClick },
62
+ item.icon ? (React__default["default"].createElement(uikit.Icon, { className: b$4('icon'), data: item.icon, size: item.iconSize })) : null,
63
+ React__default["default"].createElement("span", { className: b$4('text') }, item.title),
64
+ editMode && (React__default["default"].createElement(uikit.Button, { onClick: onPinButtonClick, view: item.hidden ? 'flat-secondary' : 'flat-action' },
65
+ React__default["default"].createElement(uikit.Button.Icon, null, item.hidden ? React__default["default"].createElement(icons.Pin, null) : React__default["default"].createElement(icons.PinFill, null))))));
66
+ };
67
+
68
+ var en$1 = {
69
+ "menu-item.all-pages.title": "All pages",
70
+ "all-panel.menu.category.allOther": "All other",
71
+ "all-panel.resetToDefault": "Reset to default",
72
+ "all-panel.title.editing": "Editing",
73
+ "all-panel.title.main": "All pages"
74
+ };
75
+
76
+ var ru$1 = {
77
+ "menu-item.all-pages.title": "Все страницы",
78
+ "all-panel.menu.category.allOther": "Остальное",
79
+ "all-panel.resetToDefault": "Сбросить по умолчанию",
80
+ "all-panel.title.editing": "Редактирование",
81
+ "all-panel.title.main": "Все страницы"
82
+ };
83
+
84
+ const COMPONENT$1 = 'AllPagesPanel';
85
+ var i18n$1 = i18n$2.addComponentKeysets({ en: en$1, ru: ru$1 }, `${cn.NAMESPACE}${COMPONENT$1}`);
86
+
87
+ const ALL_PAGES_ID = 'all-pages';
88
+ function getAllPagesMenuItem() {
89
+ return {
90
+ id: ALL_PAGES_ID,
91
+ title: i18n$1('menu-item.all-pages.title'),
92
+ tooltipText: i18n$1('menu-item.all-pages.title'),
93
+ icon: icons.Ellipsis,
94
+ };
95
+ }
96
+
97
+ const useGroupedMenuItems = (items) => {
98
+ const allPagesMenuItems = React.useMemo(() => {
99
+ const filteredItems = items.filter((item) => item.type !== 'divider' && item.id !== ALL_PAGES_ID);
100
+ filteredItems.sort((a, b) => {
101
+ if (a.type === 'action') {
102
+ return 1;
103
+ }
104
+ if (b.type === 'action') {
105
+ return -1;
106
+ }
107
+ return 0;
108
+ });
109
+ const groupedItems = filteredItems.reduce((acc, item) => {
110
+ const category = item.category || i18n$1('all-panel.menu.category.allOther');
111
+ if (!acc[category]) {
112
+ acc[category] = [];
113
+ }
114
+ acc[category].push(item);
115
+ return acc;
116
+ }, {});
117
+ return groupedItems;
118
+ }, [items]);
119
+ return allPagesMenuItems;
120
+ };
121
+
122
+ var css_248z$3 = ".gn-all-pages-panel{box-sizing:border-box;height:100%;min-width:300px;padding:var(--g-spacing-4) var(--g-spacing-6)}.gn-all-pages-panel__content{flex:1;margin:0 calc(var(--g-spacing-6)*-1);overflow:auto}.gn-all-pages-panel__category{padding:0 var(--g-spacing-6)}.gn-all-pages-panel__discoverable-feature-wrapper{display:flex}";
123
+ styleInject_es.styleInject(css_248z$3);
124
+
125
+ const b$3 = cn.block('all-pages-panel');
126
+ const AllPagesPanel = (props) => {
127
+ const { startEditIcon, onEditModeChanged, className } = props;
128
+ const { menuItems, onMenuItemsChanged } = AsideHeaderContext.useAsideHeaderInnerContext();
129
+ const menuItemsRef = React.useRef(menuItems);
130
+ menuItemsRef.current = menuItems;
131
+ const [isEditMode, setIsEditMode] = React.useState(false);
132
+ const toggleEditMode = React.useCallback(() => {
133
+ setIsEditMode((prev) => !prev);
134
+ }, []);
135
+ const groupedItems = useGroupedMenuItems(menuItems);
136
+ React.useEffect(() => {
137
+ onEditModeChanged === null || onEditModeChanged === void 0 ? void 0 : onEditModeChanged(isEditMode);
138
+ }, [isEditMode, onEditModeChanged]);
139
+ const onItemClick = React.useCallback((item) => {
140
+ var _a;
141
+ //@ts-ignore TODO fix when @gravity-ui/uikit/List will provide event arg on item click
142
+ (_a = item.onItemClick) === null || _a === void 0 ? void 0 : _a.call(item, item, false);
143
+ }, []);
144
+ const togglePageVisibility = React.useCallback((item) => {
145
+ if (!onMenuItemsChanged) {
146
+ return;
147
+ }
148
+ const changedItem = Object.assign(Object.assign({}, item), { hidden: !item.hidden });
149
+ const originItems = menuItemsRef.current.filter((menuItem) => menuItem.id !== ALL_PAGES_ID);
150
+ onMenuItemsChanged(originItems.map((menuItem) => {
151
+ if (menuItem.id !== changedItem.id) {
152
+ return menuItem;
153
+ }
154
+ return changedItem;
155
+ }));
156
+ }, [onMenuItemsChanged]);
157
+ const itemRender = React.useCallback((item, _isActive, _itemIndex) => (React__default["default"].createElement(AllPagesListItem, { item: item, editMode: isEditMode, onToggle: () => togglePageVisibility(item) })), [isEditMode, togglePageVisibility]);
158
+ const onResetToDefaultClick = React.useCallback(() => {
159
+ if (!onMenuItemsChanged) {
160
+ return;
161
+ }
162
+ const originItems = menuItemsRef.current.filter((item) => item.id !== ALL_PAGES_ID);
163
+ onMenuItemsChanged(originItems.map((item) => (Object.assign(Object.assign({}, item), { hidden: false }))));
164
+ }, [onMenuItemsChanged]);
165
+ return (React__default["default"].createElement(uikit.Flex, { className: b$3(null, className), gap: "5", direction: "column" },
166
+ React__default["default"].createElement(uikit.Flex, { gap: "4", alignItems: "center", justifyContent: "space-between" },
167
+ React__default["default"].createElement(uikit.Text, { variant: "subheader-2" }, isEditMode ? i18n$1('all-panel.title.editing') : i18n$1('all-panel.title.main')),
168
+ React__default["default"].createElement(uikit.Button, { selected: isEditMode, view: "normal", onClick: toggleEditMode }, startEditIcon ? startEditIcon : React__default["default"].createElement(uikit.Icon, { data: icons.Gear }))),
169
+ React__default["default"].createElement(uikit.Flex, { className: b$3('content'), gap: "5", direction: "column" }, Object.keys(groupedItems).map((category) => {
170
+ return (React__default["default"].createElement(uikit.Flex, { key: category, direction: "column", gap: "3" },
171
+ React__default["default"].createElement(uikit.Text, { className: b$3('category'), variant: "body-1", color: "secondary" }, category),
172
+ React__default["default"].createElement(uikit.List, { virtualized: false, filterable: false, items: groupedItems[category], onItemClick: onItemClick, renderItem: itemRender })));
173
+ })),
174
+ isEditMode && (React__default["default"].createElement(uikit.Button, { onClick: onResetToDefaultClick }, i18n$1('all-panel.resetToDefault')))));
175
+ };
176
+
177
+ const useVisibleMenuItems = () => {
178
+ const { menuItems, allPagesIsAvailable } = AsideHeaderContext.useAsideHeaderInnerContext();
179
+ return React.useMemo(() => {
180
+ if (!allPagesIsAvailable) {
181
+ return menuItems;
182
+ }
183
+ let lastVisibleIndex = 0;
184
+ return menuItems.filter((item, index, items) => {
185
+ if (item.hidden) {
186
+ return false;
187
+ }
188
+ if (index > 0 &&
189
+ item.type === 'divider' &&
190
+ (items[lastVisibleIndex].type === 'divider' || items[lastVisibleIndex].hidden)) {
191
+ return false;
192
+ }
193
+ lastVisibleIndex = index;
194
+ return true;
195
+ });
196
+ }, [allPagesIsAvailable, menuItems]);
197
+ };
198
+
44
199
  /**
45
200
  * Detect Element Resize.
46
201
  * https://github.com/sdecima/javascript-detect-element-resize
@@ -278,16 +433,15 @@ class AutoSizer extends React.Component {
278
433
  onResize
279
434
  } = this.props;
280
435
  if (this._parentNode) {
281
- var _style$paddingLeft, _style$paddingRight, _style$paddingTop, _style$paddingBottom;
282
436
  // Guard against AutoSizer component being removed from the DOM immediately after being added.
283
437
  // This can result in invalid style values which can result in NaN values if we don't handle them.
284
438
  // See issue #150 for more context.
285
439
 
286
440
  const style = window.getComputedStyle(this._parentNode) || {};
287
- const paddingLeft = parseFloat((_style$paddingLeft = style.paddingLeft) !== null && _style$paddingLeft !== void 0 ? _style$paddingLeft : "0");
288
- const paddingRight = parseFloat((_style$paddingRight = style.paddingRight) !== null && _style$paddingRight !== void 0 ? _style$paddingRight : "0");
289
- const paddingTop = parseFloat((_style$paddingTop = style.paddingTop) !== null && _style$paddingTop !== void 0 ? _style$paddingTop : "0");
290
- const paddingBottom = parseFloat((_style$paddingBottom = style.paddingBottom) !== null && _style$paddingBottom !== void 0 ? _style$paddingBottom : "0");
441
+ const paddingLeft = parseFloat(style.paddingLeft || "0");
442
+ const paddingRight = parseFloat(style.paddingRight || "0");
443
+ const paddingTop = parseFloat(style.paddingTop || "0");
444
+ const paddingBottom = parseFloat(style.paddingBottom || "0");
291
445
  const rect = this._parentNode.getBoundingClientRect();
292
446
  const scaledHeight = rect.height - paddingTop - paddingBottom;
293
447
  const scaledWidth = rect.width - paddingLeft - paddingRight;
@@ -438,10 +592,10 @@ class MultipleTooltipProvider extends React__default["default"].PureComponent {
438
592
  }
439
593
  }
440
594
 
441
- var css_248z$4 = ".g-root_theme_dark .gn-multiple-tooltip,.g-root_theme_dark-hc .gn-multiple-tooltip{--multiple-tooltip-item-bg-color:#424147;--multiple-tooltip-item-active-bg-color:var(--g-color-base-float-heavy);--multiple-tooltip-backdrop-background:linear-gradient(90deg,#313036,rgba(49,48,54,.3));--multiple-tooltip-backdrop-filter:blur(16px)}.g-root_theme_light .gn-multiple-tooltip,.g-root_theme_light-hc .gn-multiple-tooltip{--multiple-tooltip-item-bg-color:#7a7a7a;--multiple-tooltip-item-active-bg-color:var(--g-color-base-float-heavy);--multiple-tooltip-backdrop-background:linear-gradient(90deg,#fff,hsla(0,0%,100%,.3));--multiple-tooltip-backdrop-filter:blur(12px)}.gn-multiple-tooltip.gn-multiple-tooltip{background-color:transparent;box-shadow:none}.gn-multiple-tooltip:before{background:var(--multiple-tooltip-backdrop-background);box-shadow:none;content:\"\";filter:var(--multiple-tooltip-backdrop-filter);height:100%;position:absolute;width:100%;z-index:-1}.gn-multiple-tooltip__items-container{align-items:flex-start;display:flex;flex-direction:column;padding:32px 40px 32px 12px}.gn-multiple-tooltip__item{align-items:center;background-color:var(--multiple-tooltip-item-bg-color);border-radius:5px;box-sizing:border-box;color:var(--g-color-text-light-primary);display:flex;height:30px;margin-bottom:5px;padding:8px 12px;position:relative;transition:transform .1s ease-in-out}.gn-multiple-tooltip__item:first-child,.gn-multiple-tooltip__item:not(.gn-multiple-tooltip__item_divider)+.gn-multiple-tooltip__item:not(.gn-multiple-tooltip__item_divider){margin-top:5px}.gn-multiple-tooltip__item_divider+.gn-multiple-tooltip__item:not(.gn-multiple-tooltip__item_divider){margin-top:4px}.gn-multiple-tooltip__item_active{background-color:var(--multiple-tooltip-item-active-bg-color);transform:translateX(-12px)}.gn-multiple-tooltip__item_divider{height:15px;margin:0;visibility:hidden}";
442
- styleInject_es.styleInject(css_248z$4);
595
+ var css_248z$2 = ".g-root_theme_dark .gn-multiple-tooltip,.g-root_theme_dark-hc .gn-multiple-tooltip{--multiple-tooltip-item-bg-color:var(--g-color-private-white-100-solid);--multiple-tooltip-item-active-bg-color:var(--g-color-base-float-heavy);--multiple-tooltip-backdrop-background:linear-gradient(90deg,var(--g-color-base-background) 50%,transparent);--multiple-tooltip-backdrop-filter:blur(16px)}.g-root_theme_dark-hc .gn-multiple-tooltip{--multiple-tooltip-item-bg-color:var(--g-color-private-white-150-solid)}.g-root_theme_light .gn-multiple-tooltip,.g-root_theme_light-hc .gn-multiple-tooltip{--multiple-tooltip-item-bg-color:var(--g-color-private-black-550-solid);--multiple-tooltip-item-active-bg-color:var(--g-color-base-float-heavy);--multiple-tooltip-backdrop-background:linear-gradient(90deg,var(--g-color-base-background) 50%,transparent);--multiple-tooltip-backdrop-filter:blur(12px)}.gn-multiple-tooltip.gn-multiple-tooltip{background-color:transparent;box-shadow:none}.gn-multiple-tooltip:before{background:var(--multiple-tooltip-backdrop-background);box-shadow:none;content:\"\";filter:var(--multiple-tooltip-backdrop-filter);height:100%;opacity:.7;position:absolute;width:100%;z-index:-1}.gn-multiple-tooltip__items-container{align-items:flex-start;display:flex;flex-direction:column;padding:32px 40px 32px 12px}.gn-multiple-tooltip__item{align-items:center;background-color:var(--multiple-tooltip-item-bg-color);border-radius:5px;box-sizing:border-box;color:var(--g-color-text-light-primary);display:flex;height:30px;margin-bottom:5px;padding:8px 12px;position:relative;transition:transform .1s ease-in-out}.gn-multiple-tooltip__item:first-child,.gn-multiple-tooltip__item:not(.gn-multiple-tooltip__item_divider)+.gn-multiple-tooltip__item:not(.gn-multiple-tooltip__item_divider){margin-top:5px}.gn-multiple-tooltip__item_divider+.gn-multiple-tooltip__item:not(.gn-multiple-tooltip__item_divider){margin-top:4px}.gn-multiple-tooltip__item_active{background-color:var(--multiple-tooltip-item-active-bg-color);transform:translateX(-12px)}.gn-multiple-tooltip__item_divider{height:15px;margin:0;visibility:hidden}";
596
+ styleInject_es.styleInject(css_248z$2);
443
597
 
444
- const b$4 = cn.block('multiple-tooltip');
598
+ const b$2 = cn.block('multiple-tooltip');
445
599
  const POPUP_OFFSET = [-32, 4];
446
600
  const POPUP_MODIFIERS = [
447
601
  {
@@ -452,26 +606,26 @@ const POPUP_MODIFIERS = [
452
606
  const MultipleTooltip = ({ items, open, anchorRef, placement, }) => {
453
607
  const { activeIndex, hideCollapseItemTooltip } = React__default["default"].useContext(MultipleTooltipContext);
454
608
  const activeItem = activeIndex === undefined ? null : items[activeIndex];
455
- return (React__default["default"].createElement(uikit.Popup, { open: open, anchorRef: anchorRef, placement: placement, offset: POPUP_OFFSET, contentClassName: b$4(null), modifiers: POPUP_MODIFIERS, disableLayer: true },
456
- React__default["default"].createElement("div", { className: b$4('items-container') }, items
609
+ return (React__default["default"].createElement(uikit.Popup, { open: open, anchorRef: anchorRef, placement: placement, offset: POPUP_OFFSET, contentClassName: b$2(null), modifiers: POPUP_MODIFIERS, disableLayer: true },
610
+ React__default["default"].createElement("div", { className: b$2('items-container') }, items
457
611
  .filter(({ type = 'regular', id }) => !hideCollapseItemTooltip ||
458
612
  (id !== Item.COLLAPSE_ITEM_ID && type !== 'action'))
459
613
  .map((item, idx) => {
460
614
  switch (item.type) {
461
615
  case 'divider':
462
- return (React__default["default"].createElement("div", { className: b$4('item', { divider: true }), key: idx }, item.title));
616
+ return (React__default["default"].createElement("div", { className: b$2('item', { divider: true }), key: idx }, item.title));
463
617
  default:
464
- return (React__default["default"].createElement("div", { className: b$4('item', {
618
+ return (React__default["default"].createElement("div", { className: b$2('item', {
465
619
  active: item === activeItem,
466
620
  }), key: idx }, item.title));
467
621
  }
468
622
  }))));
469
623
  };
470
624
 
471
- var css_248z$3 = ".gn-composite-bar{flex:1 0 auto;min-height:40px;width:100%}.gn-composite-bar .gn-composite-bar__root-menu-item[class]{background-color:transparent}";
472
- styleInject_es.styleInject(css_248z$3);
625
+ var css_248z$1 = ".gn-composite-bar{flex:1 0 auto;min-height:40px;width:100%}.gn-composite-bar .gn-composite-bar__root-menu-item[class]{background-color:transparent}";
626
+ styleInject_es.styleInject(css_248z$1);
473
627
 
474
- const b$3 = cn.block('composite-bar');
628
+ const b$1 = cn.block('composite-bar');
475
629
  const CompositeBarView = ({ type, items, onItemClick, collapseItems, multipleTooltip = false, }) => {
476
630
  const ref = React.useRef(null);
477
631
  const tooltipRef = React.useRef(null);
@@ -576,7 +730,7 @@ const CompositeBarView = ({ type, items, onItemClick, collapseItems, multipleToo
576
730
  ]);
577
731
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
578
732
  React__default["default"].createElement("div", { ref: tooltipRef, onMouseEnter: onTooltipMouseEnter, onMouseLeave: onTooltipMouseLeave },
579
- React__default["default"].createElement(uikit.List, { ref: ref, items: items, selectedItemIndex: type === 'menu' ? Item.getSelectedItemIndex(items) : undefined, itemHeight: Item.getItemHeight, itemsHeight: Item.getItemsHeight, itemClassName: b$3('root-menu-item'), virtualized: false, filterable: false, sortable: false, renderItem: (item, _isItemActive, itemIndex) => {
733
+ React__default["default"].createElement(uikit.List, { ref: ref, items: items, selectedItemIndex: type === 'menu' ? Item.getSelectedItemIndex(items) : undefined, itemHeight: Item.getItemHeight, itemsHeight: Item.getItemsHeight, itemClassName: b$1('root-menu-item'), virtualized: false, filterable: false, sortable: false, renderItem: (item, _isItemActive, itemIndex) => {
580
734
  const itemExtraProps = Item.isMenuItem(item) ? { item } : item;
581
735
  const enableTooltip = Item.isMenuItem(item)
582
736
  ? !multipleTooltip
@@ -593,7 +747,7 @@ const CompositeBar = ({ type, items, menuMoreTitle, onItemClick, multipleTooltip
593
747
  if (type === 'menu') {
594
748
  const minHeight = Item.getItemsMinHeight(items);
595
749
  const collapseItem = Item.getMoreButtonItem(menuMoreTitle);
596
- node = (React__default["default"].createElement("div", { className: b$3({ autosizer: true }), style: { minHeight } }, items.length !== 0 && (React__default["default"].createElement(AutoSizer, null, (size) => {
750
+ node = (React__default["default"].createElement("div", { className: b$1({ autosizer: true }), style: { minHeight } }, items.length !== 0 && (React__default["default"].createElement(AutoSizer, null, (size) => {
597
751
  const width = Number.isNaN(size.width) ? 0 : size.width;
598
752
  const height = Number.isNaN(size.height) ? 0 : size.height;
599
753
  const { listItems, collapseItems } = Item.getAutosizeListItems(items, height, collapseItem);
@@ -602,167 +756,12 @@ const CompositeBar = ({ type, items, menuMoreTitle, onItemClick, multipleTooltip
602
756
  }))));
603
757
  }
604
758
  else {
605
- node = (React__default["default"].createElement("div", { className: b$3({ subheader: true }) },
759
+ node = (React__default["default"].createElement("div", { className: b$1({ subheader: true }) },
606
760
  React__default["default"].createElement(CompositeBarView, { type: "subheader", items: items, onItemClick: onItemClick })));
607
761
  }
608
762
  return React__default["default"].createElement(MultipleTooltipProvider, null, node);
609
763
  };
610
764
 
611
- var en$1 = {
612
- "menu-item.all-pages.title": "All pages",
613
- "all-panel.menu.category.allOther": "All other",
614
- "all-panel.resetToDefault": "Reset to default",
615
- "all-panel.title.editing": "Editing",
616
- "all-panel.title.main": "All pages"
617
- };
618
-
619
- var ru$1 = {
620
- "menu-item.all-pages.title": "Все страницы",
621
- "all-panel.menu.category.allOther": "Остальное",
622
- "all-panel.resetToDefault": "Сбросить по умолчанию",
623
- "all-panel.title.editing": "Редактирование",
624
- "all-panel.title.main": "Все страницы"
625
- };
626
-
627
- const COMPONENT$1 = 'AllPagesPanel';
628
- var i18n$1 = registerKeyset.registerKeyset({ en: en$1, ru: ru$1 }, COMPONENT$1);
629
-
630
- const ALL_PAGES_ID = 'all-pages';
631
- function getAllPagesMenuItem() {
632
- return {
633
- id: ALL_PAGES_ID,
634
- title: i18n$1('menu-item.all-pages.title'),
635
- tooltipText: i18n$1('menu-item.all-pages.title'),
636
- icon: icons.Ellipsis,
637
- };
638
- }
639
-
640
- const useGroupedMenuItems = (items) => {
641
- const allPagesMenuItems = React.useMemo(() => {
642
- const filteredItems = items.filter((item) => item.type !== 'divider' && item.id !== ALL_PAGES_ID);
643
- filteredItems.sort((a, b) => {
644
- if (a.type === 'action') {
645
- return 1;
646
- }
647
- if (b.type === 'action') {
648
- return -1;
649
- }
650
- return 0;
651
- });
652
- const groupedItems = filteredItems.reduce((acc, item) => {
653
- const category = item.category || i18n$1('all-panel.menu.category.allOther');
654
- if (!acc[category]) {
655
- acc[category] = [];
656
- }
657
- acc[category].push(item);
658
- return acc;
659
- }, {});
660
- return groupedItems;
661
- }, [items]);
662
- return allPagesMenuItems;
663
- };
664
-
665
- var css_248z$2 = ".gn-all-pages-list-item{align-items:center;column-gap:var(--g-spacing-4);display:flex;height:40px;padding:0 var(--g-spacing-6);width:100%}.gn-all-pages-list-item__text{flex:1}.gn-all-pages-list-item__icon{color:var(--g-color-text-misc)}";
666
- styleInject_es.styleInject(css_248z$2);
667
-
668
- const b$2 = cn.block('all-pages-list-item');
669
- const AllPagesListItem = (props) => {
670
- const { item, editMode, onToggle } = props;
671
- const onPinButtonClick = React.useCallback((e) => {
672
- e.stopPropagation();
673
- e.preventDefault();
674
- onToggle();
675
- }, [onToggle]);
676
- const onItemClick = (e) => {
677
- if (editMode) {
678
- e.stopPropagation();
679
- e.preventDefault();
680
- }
681
- };
682
- return (React__default["default"].createElement("div", { className: b$2(), onClick: onItemClick },
683
- item.icon ? (React__default["default"].createElement(uikit.Icon, { className: b$2('icon'), data: item.icon, size: item.iconSize })) : null,
684
- React__default["default"].createElement("span", { className: b$2('text') }, item.title),
685
- editMode && (React__default["default"].createElement(uikit.Button, { onClick: onPinButtonClick, view: item.hidden ? 'flat-secondary' : 'flat-action' },
686
- React__default["default"].createElement(uikit.Button.Icon, null, item.hidden ? React__default["default"].createElement(icons.Pin, null) : React__default["default"].createElement(icons.PinFill, null))))));
687
- };
688
-
689
- var css_248z$1 = ".gn-all-pages-panel{box-sizing:border-box;height:100%;min-width:300px;padding:var(--g-spacing-4) var(--g-spacing-6)}.gn-all-pages-panel__content{flex:1;margin:0 calc(var(--g-spacing-6)*-1);overflow:auto}.gn-all-pages-panel__category{padding:0 var(--g-spacing-6)}.gn-all-pages-panel__discoverable-feature-wrapper{display:flex}";
690
- styleInject_es.styleInject(css_248z$1);
691
-
692
- const b$1 = cn.block('all-pages-panel');
693
- const AllPagesPanel = (props) => {
694
- const { startEditIcon, onEditModeChanged, className } = props;
695
- const { menuItems, onMenuItemsChanged } = AsideHeaderContext.useAsideHeaderInnerContext();
696
- const menuItemsRef = React.useRef(menuItems);
697
- menuItemsRef.current = menuItems;
698
- const [isEditMode, setIsEditMode] = React.useState(false);
699
- const toggleEditMode = React.useCallback(() => {
700
- setIsEditMode((prev) => !prev);
701
- }, []);
702
- const groupedItems = useGroupedMenuItems(menuItems);
703
- React.useEffect(() => {
704
- onEditModeChanged === null || onEditModeChanged === void 0 ? void 0 : onEditModeChanged(isEditMode);
705
- }, [isEditMode, onEditModeChanged]);
706
- const onItemClick = React.useCallback((item) => {
707
- var _a;
708
- //@ts-ignore TODO fix when @gravity-ui/uikit/List will provide event arg on item click
709
- (_a = item.onItemClick) === null || _a === void 0 ? void 0 : _a.call(item, item, false);
710
- }, []);
711
- const togglePageVisibility = React.useCallback((item) => {
712
- if (!onMenuItemsChanged) {
713
- return;
714
- }
715
- const changedItem = Object.assign(Object.assign({}, item), { hidden: !item.hidden });
716
- const originItems = menuItemsRef.current.filter((menuItem) => menuItem.id !== ALL_PAGES_ID);
717
- onMenuItemsChanged(originItems.map((menuItem) => {
718
- if (menuItem.id !== changedItem.id) {
719
- return menuItem;
720
- }
721
- return changedItem;
722
- }));
723
- }, [onMenuItemsChanged]);
724
- const itemRender = React.useCallback((item, _isActive, _itemIndex) => (React__default["default"].createElement(AllPagesListItem, { item: item, editMode: isEditMode, onToggle: () => togglePageVisibility(item) })), [isEditMode, togglePageVisibility]);
725
- const onResetToDefaultClick = React.useCallback(() => {
726
- if (!onMenuItemsChanged) {
727
- return;
728
- }
729
- const originItems = menuItemsRef.current.filter((item) => item.id !== ALL_PAGES_ID);
730
- onMenuItemsChanged(originItems.map((item) => (Object.assign(Object.assign({}, item), { hidden: false }))));
731
- }, [onMenuItemsChanged]);
732
- return (React__default["default"].createElement(uikit.Flex, { className: b$1(null, className), gap: "5", direction: "column" },
733
- React__default["default"].createElement(uikit.Flex, { gap: "4", alignItems: "center", justifyContent: "space-between" },
734
- React__default["default"].createElement(uikit.Text, { variant: "subheader-2" }, isEditMode ? i18n$1('all-panel.title.editing') : i18n$1('all-panel.title.main')),
735
- React__default["default"].createElement(uikit.Button, { selected: isEditMode, view: "normal", onClick: toggleEditMode }, startEditIcon ? startEditIcon : React__default["default"].createElement(uikit.Icon, { data: icons.Gear }))),
736
- React__default["default"].createElement(uikit.Flex, { className: b$1('content'), gap: "5", direction: "column" }, Object.keys(groupedItems).map((category) => {
737
- return (React__default["default"].createElement(uikit.Flex, { key: category, direction: "column", gap: "3" },
738
- React__default["default"].createElement(uikit.Text, { className: b$1('category'), variant: "body-1", color: "secondary" }, category),
739
- React__default["default"].createElement(uikit.List, { virtualized: false, filterable: false, items: groupedItems[category], onItemClick: onItemClick, renderItem: itemRender })));
740
- })),
741
- isEditMode && (React__default["default"].createElement(uikit.Button, { onClick: onResetToDefaultClick }, i18n$1('all-panel.resetToDefault')))));
742
- };
743
-
744
- const useVisibleMenuItems = () => {
745
- const { menuItems, allPagesIsAvailable } = AsideHeaderContext.useAsideHeaderInnerContext();
746
- return React.useMemo(() => {
747
- if (!allPagesIsAvailable) {
748
- return menuItems;
749
- }
750
- let lastVisibleIndex = 0;
751
- return menuItems.filter((item, index, items) => {
752
- if (item.hidden) {
753
- return false;
754
- }
755
- if (index > 0 &&
756
- item.type === 'divider' &&
757
- (items[lastVisibleIndex].type === 'divider' || items[lastVisibleIndex].hidden)) {
758
- return false;
759
- }
760
- lastVisibleIndex = index;
761
- return true;
762
- });
763
- }, [allPagesIsAvailable, menuItems]);
764
- };
765
-
766
765
  var button_collapse$1 = "Collapse";
767
766
  var button_expand$1 = "Expand";
768
767
  var label_more$1 = "More";
@@ -782,9 +781,44 @@ var ru = {
782
781
  };
783
782
 
784
783
  const COMPONENT = 'AsideHeader';
785
- var i18n = registerKeyset.registerKeyset({ en, ru }, COMPONENT);
784
+ var i18n = i18n$2.addComponentKeysets({ en, ru }, `${cn.NAMESPACE}${COMPONENT}`);
786
785
 
787
- var css_248z = ".gn-logo{height:40px}.gn-logo,.gn-logo__logo-btn-place{align-items:center;display:flex;flex-shrink:0}.gn-logo__logo-btn-place{cursor:pointer;justify-content:center;width:var(--gn-aside-header-min-width)}.gn-logo__logo-btn-place .yc-button:before{background-color:transparent}.gn-logo__btn-logo.yc-button_view_flat.yc-button_size_l{--yc-button-height:var(--gn-aside-header-item-icon-background-size)}.gn-logo__logo{cursor:pointer;font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-2-line-height);vertical-align:middle}.gn-logo__logo-link,.gn-logo__logo-link:active,.gn-logo__logo-link:focus,.gn-logo__logo-link:hover,.gn-logo__logo-link:visited{color:inherit;outline:none;text-decoration:none}.g-root .gn-logo__btn-logo.button2_theme_flat.button2_hovered_yes:before{background-color:transparent}";
786
+ function fakeDisplayName(newDisplayName, Component) {
787
+ const Fake = (props) => React__default["default"].createElement(Component, Object.assign({}, props));
788
+ Fake.displayName = newDisplayName;
789
+ return Fake;
790
+ }
791
+
792
+ var _path;
793
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
794
+ var SvgControlMenuButton = function SvgControlMenuButton(props) {
795
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
796
+ width: 8,
797
+ height: 8,
798
+ viewBox: "0 0 8 8",
799
+ fill: "currentColor",
800
+ xmlns: "http://www.w3.org/2000/svg"
801
+ }, props), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
802
+ d: "m.72 7.64 6.39-3.2a.5.5 0 0 0 0-.89L.72.36A.5.5 0 0 0 0 .81v6.38c0 .37.4.61.72.45Z"
803
+ })));
804
+ };
805
+ var controlMenuButtonIcon = SvgControlMenuButton;
806
+
807
+ // TODO: remove temporary fix for expand button
808
+ const NotIcon = fakeDisplayName('NotIcon', uikit.Icon);
809
+ const CollapseButton = () => {
810
+ const { onChangeCompact, compact, expandTitle, collapseTitle } = AsideHeaderContext.useAsideHeaderInnerContext();
811
+ const onCollapseButtonClick = React.useCallback(() => {
812
+ onChangeCompact === null || onChangeCompact === void 0 ? void 0 : onChangeCompact(!compact);
813
+ }, [compact, onChangeCompact]);
814
+ const buttonTitle = compact
815
+ ? expandTitle || i18n('button_expand')
816
+ : collapseTitle || i18n('button_collapse');
817
+ return (React__default["default"].createElement(uikit.Button, { className: utils.b('collapse-button', { compact }), view: "flat", onClick: onCollapseButtonClick, title: buttonTitle },
818
+ React__default["default"].createElement(NotIcon, { data: controlMenuButtonIcon, className: utils.b('collapse-icon'), width: "16", height: "10" })));
819
+ };
820
+
821
+ var css_248z = ".gn-logo{height:40px}.gn-logo,.gn-logo__logo-btn-place{align-items:center;display:flex;flex-shrink:0}.gn-logo__logo-btn-place{cursor:pointer;justify-content:center;width:var(--gn-aside-header-min-width)}.gn-logo__logo-btn-place .g-button:before{background-color:transparent}.gn-logo__btn-logo.g-button_view_flat.g-button_size_l{--g-button-height:var(\n --gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size)\n )}.gn-logo__logo{cursor:pointer;font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-2-line-height);vertical-align:middle}.gn-logo__logo-link,.gn-logo__logo-link:active,.gn-logo__logo-link:focus,.gn-logo__logo-link:hover,.gn-logo__logo-link:visited{color:inherit;outline:none;text-decoration:none}.g-root .gn-logo__btn-logo.button2_theme_flat.button2_hovered_yes:before{background-color:transparent}";
788
822
  styleInject_es.styleInject(css_248z);
789
823
 
790
824
  const b = cn.block('logo');
@@ -827,41 +861,6 @@ const Header = () => {
827
861
  React__default["default"].createElement(uikit.Icon, { data: dividerCollapsed.headerDividerCollapsedIcon, className: utils.b('header-divider'), width: constants.ASIDE_HEADER_COMPACT_WIDTH, height: constants.HEADER_DIVIDER_HEIGHT })));
828
862
  };
829
863
 
830
- function fakeDisplayName(newDisplayName, Component) {
831
- const Fake = (props) => React__default["default"].createElement(Component, Object.assign({}, props));
832
- Fake.displayName = newDisplayName;
833
- return Fake;
834
- }
835
-
836
- var _path;
837
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
838
- var SvgControlMenuButton = function SvgControlMenuButton(props) {
839
- return /*#__PURE__*/React__namespace.createElement("svg", _extends({
840
- width: 8,
841
- height: 8,
842
- viewBox: "0 0 8 8",
843
- fill: "currentColor",
844
- xmlns: "http://www.w3.org/2000/svg"
845
- }, props), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
846
- d: "m.72 7.64 6.39-3.2a.5.5 0 0 0 0-.89L.72.36A.5.5 0 0 0 0 .81v6.38c0 .37.4.61.72.45Z"
847
- })));
848
- };
849
- var controlMenuButtonIcon = SvgControlMenuButton;
850
-
851
- // TODO: remove temporary fix for expand button
852
- const NotIcon = fakeDisplayName('NotIcon', uikit.Icon);
853
- const CollapseButton = () => {
854
- const { onChangeCompact, compact, expandTitle, collapseTitle } = AsideHeaderContext.useAsideHeaderInnerContext();
855
- const onCollapseButtonClick = React.useCallback(() => {
856
- onChangeCompact === null || onChangeCompact === void 0 ? void 0 : onChangeCompact(!compact);
857
- }, [compact, onChangeCompact]);
858
- const buttonTitle = compact
859
- ? expandTitle || i18n('button_expand')
860
- : collapseTitle || i18n('button_collapse');
861
- return (React__default["default"].createElement(uikit.Button, { className: utils.b('collapse-button', { compact }), view: "flat", onClick: onCollapseButtonClick, title: buttonTitle },
862
- React__default["default"].createElement(NotIcon, { data: controlMenuButtonIcon, className: utils.b('collapse-icon'), width: "16", height: "10" })));
863
- };
864
-
865
864
  const Panels = () => {
866
865
  const { panelItems, onClosePanel, size } = AsideHeaderContext.useAsideHeaderInnerContext();
867
866
  return panelItems ? (React__default["default"].createElement(Drawer.Drawer, { className: utils.b('panels'), onVeilClick: onClosePanel, onEscape: onClosePanel, style: { left: size } }, panelItems.map((item) => (React__default["default"].createElement(Drawer.DrawerItem, Object.assign({ key: item.id }, item)))))) : null;
@@ -889,6 +888,7 @@ const FirstPanel = React__default["default"].forwardRef((_props, ref) => {
889
888
  React__default["default"].createElement(CollapseButton, null))),
890
889
  React__default["default"].createElement(Panels, null)));
891
890
  });
891
+ FirstPanel.displayName = 'FirstPanel';
892
892
 
893
893
  var InnerPanels;
894
894
  (function (InnerPanels) {
@@ -952,6 +952,7 @@ const PageLayoutAside = React__default["default"].forwardRef((props, ref) => {
952
952
  return (React__default["default"].createElement(AsideHeaderContext.AsideHeaderInnerContextProvider, { value: asideHeaderInnerContextValue },
953
953
  React__default["default"].createElement(FirstPanel, { ref: ref })));
954
954
  });
955
+ PageLayoutAside.displayName = 'PageLayoutAside';
955
956
 
956
957
  exports.PageLayoutAside = PageLayoutAside;
957
958
  //# sourceMappingURL=PageLayoutAside.js.map