@gravity-ui/navigation 1.9.0 → 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.
- package/README.md +12 -9
- package/build/cjs/{ActionBar-96a59723.js → ActionBar-38c4e24f.js} +2 -2
- package/build/cjs/ActionBar-38c4e24f.js.map +1 -0
- package/build/cjs/AsideFallback.js +4 -4
- package/build/cjs/AsideFallback.js.map +1 -1
- package/build/cjs/AsideHeader.js +6 -5
- package/build/cjs/AsideHeader.js.map +1 -1
- package/build/cjs/AsideHeaderContext.js.map +1 -1
- package/build/cjs/Drawer.js +3 -3
- package/build/cjs/Drawer.js.map +1 -1
- package/build/cjs/{FooterItem-eafaeac3.js → FooterItem-0b0d76e4.js} +56 -56
- package/build/cjs/FooterItem-0b0d76e4.js.map +1 -0
- package/build/cjs/FooterItem.js +5 -5
- package/build/cjs/FooterItem.js.map +1 -1
- package/build/cjs/{HotkeysPanel-2e240e4d.js → HotkeysPanel-4ad41893.js} +15 -15
- package/build/cjs/HotkeysPanel-4ad41893.js.map +1 -0
- package/build/cjs/{Item-b5ef87be.js → Item-d836a378.js} +50 -50
- package/build/cjs/Item-d836a378.js.map +1 -0
- package/build/cjs/PageLayout.js +5 -5
- package/build/cjs/PageLayout.js.map +1 -1
- package/build/cjs/PageLayoutAside.js +231 -230
- package/build/cjs/PageLayoutAside.js.map +1 -1
- package/build/cjs/{Settings-11b021e4.js → Settings-a0deac97.js} +47 -47
- package/build/cjs/Settings-a0deac97.js.map +1 -0
- package/build/cjs/{Title-c539667f.js → Title-54580605.js} +5 -5
- package/build/cjs/Title-54580605.js.map +1 -0
- package/build/cjs/{TopPanel-b531a2be.js → TopPanel-1b062791.js} +3 -3
- package/build/cjs/TopPanel-1b062791.js.map +1 -0
- package/build/cjs/{cn-1964a72a.js → cn-9933321a.js} +2 -1
- package/build/cjs/{cn-1964a72a.js.map → cn-9933321a.js.map} +1 -1
- package/build/cjs/components/AllPagesPanel/i18n/index.d.ts +1 -1
- package/build/cjs/components/AsideHeader/i18n/index.d.ts +1 -1
- package/build/cjs/components/AsideHeader/types.d.ts +1 -1
- package/build/cjs/components/CompositeBar/utils.d.ts +2 -2
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +1 -1
- package/build/cjs/components/MobileHeader/MobileHeader.d.ts +3 -3
- package/build/cjs/components/MobileHeader/i18n/index.d.ts +1 -1
- package/build/cjs/components/Settings/Settings.d.ts +1 -1
- package/build/cjs/components/Settings/i18n/index.d.ts +1 -1
- package/build/cjs/components/Title/i18n/index.d.ts +1 -1
- package/build/cjs/components/index.d.ts +0 -1
- package/build/cjs/components/types.d.ts +1 -1
- package/build/cjs/index.js +11 -16
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index2.js +2 -2
- package/build/cjs/index3.js +4 -4
- package/build/cjs/index4.js +2 -2
- package/build/cjs/index5.js +6 -6
- package/build/cjs/index6.js +6 -6
- package/build/cjs/utils-db3e03c2.js +8 -0
- package/build/cjs/{utils-a93dd754.js.map → utils-db3e03c2.js.map} +1 -1
- package/build/esm/{ActionBar-68f814a3.js → ActionBar-affc1f80.js} +2 -2
- package/build/esm/ActionBar-affc1f80.js.map +1 -0
- package/build/esm/AsideFallback.js +4 -4
- package/build/esm/AsideFallback.js.map +1 -1
- package/build/esm/AsideHeader.js +6 -5
- package/build/esm/AsideHeader.js.map +1 -1
- package/build/esm/AsideHeaderContext.js.map +1 -1
- package/build/esm/Drawer.js +3 -3
- package/build/esm/Drawer.js.map +1 -1
- package/build/esm/{FooterItem-39ac7c22.js → FooterItem-76774de7.js} +57 -57
- package/build/esm/FooterItem-76774de7.js.map +1 -0
- package/build/esm/FooterItem.js +5 -5
- package/build/esm/FooterItem.js.map +1 -1
- package/build/esm/{HotkeysPanel-bd0e997d.js → HotkeysPanel-9138824c.js} +15 -15
- package/build/esm/HotkeysPanel-9138824c.js.map +1 -0
- package/build/esm/{Item-c8057002.js → Item-9eb6b3be.js} +50 -50
- package/build/esm/Item-9eb6b3be.js.map +1 -0
- package/build/esm/PageLayout.js +5 -5
- package/build/esm/PageLayout.js.map +1 -1
- package/build/esm/PageLayoutAside.js +219 -218
- package/build/esm/PageLayoutAside.js.map +1 -1
- package/build/esm/{Settings-31634d93.js → Settings-0a78c1a7.js} +48 -48
- package/build/esm/Settings-0a78c1a7.js.map +1 -0
- package/build/esm/{Title-b2f2c4e9.js → Title-03b4255a.js} +5 -5
- package/build/esm/Title-03b4255a.js.map +1 -0
- package/build/esm/{TopPanel-36ffc4c7.js → TopPanel-2760cf72.js} +3 -3
- package/build/esm/TopPanel-2760cf72.js.map +1 -0
- package/build/esm/{cn-589cd9e2.js → cn-ffe5e9f5.js} +2 -2
- package/build/esm/{cn-589cd9e2.js.map → cn-ffe5e9f5.js.map} +1 -1
- package/build/esm/components/AllPagesPanel/i18n/index.d.ts +1 -1
- package/build/esm/components/AsideHeader/i18n/index.d.ts +1 -1
- package/build/esm/components/AsideHeader/types.d.ts +1 -1
- package/build/esm/components/CompositeBar/utils.d.ts +2 -2
- package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +1 -1
- package/build/esm/components/MobileHeader/MobileHeader.d.ts +3 -3
- package/build/esm/components/MobileHeader/i18n/index.d.ts +1 -1
- package/build/esm/components/Settings/Settings.d.ts +1 -1
- package/build/esm/components/Settings/i18n/index.d.ts +1 -1
- package/build/esm/components/Title/i18n/index.d.ts +1 -1
- package/build/esm/components/index.d.ts +0 -1
- package/build/esm/components/types.d.ts +1 -1
- package/build/esm/index.js +11 -11
- package/build/esm/index2.js +2 -2
- package/build/esm/index3.js +4 -4
- package/build/esm/index4.js +2 -2
- package/build/esm/index5.js +6 -6
- package/build/esm/index6.js +6 -6
- package/build/esm/utils-117463a5.js +6 -0
- package/build/esm/{utils-6d5146c7.js.map → utils-117463a5.js.map} +1 -1
- package/package.json +30 -30
- package/build/cjs/ActionBar-96a59723.js.map +0 -1
- package/build/cjs/FooterItem-eafaeac3.js.map +0 -1
- package/build/cjs/HotkeysPanel-2e240e4d.js.map +0 -1
- package/build/cjs/Item-b5ef87be.js.map +0 -1
- package/build/cjs/Settings-11b021e4.js.map +0 -1
- package/build/cjs/Title-c539667f.js.map +0 -1
- package/build/cjs/TopPanel-b531a2be.js.map +0 -1
- package/build/cjs/components/ActionBar/__stories__/ActionBar.stories.d.ts +0 -20
- package/build/cjs/components/ActionBar/__stories__/ActionBarShowcase.d.ts +0 -2
- package/build/cjs/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +0 -2
- package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +0 -13
- package/build/cjs/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +0 -13
- package/build/cjs/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +0 -3
- package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +0 -5
- package/build/cjs/components/Drawer/__stories__/Drawer.stories.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
- package/build/cjs/components/FooterItem/__stories__/FooterItem.stories.d.ts +0 -5
- package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +0 -3
- package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +0 -3
- package/build/cjs/components/HotkeysPanel/__stories__/moc.d.ts +0 -2
- package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +0 -5
- package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +0 -2
- package/build/cjs/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +0 -3
- package/build/cjs/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +0 -3
- package/build/cjs/components/MobileHeader/__stories__/moc.d.ts +0 -1
- package/build/cjs/components/Settings/__stories__/Settings.stories.d.ts +0 -4
- package/build/cjs/components/Settings/__stories__/SettingsDemo.d.ts +0 -14
- package/build/cjs/components/Settings/__stories__/SettingsMobileDemo.d.ts +0 -8
- package/build/cjs/components/utils/configure.d.ts +0 -12
- package/build/cjs/components/utils/registerKeyset.d.ts +0 -5
- package/build/cjs/i18n.d.ts +0 -2
- package/build/cjs/registerKeyset-f4ce9ee7.js +0 -215
- package/build/cjs/registerKeyset-f4ce9ee7.js.map +0 -1
- package/build/cjs/utils-a93dd754.js +0 -8
- package/build/esm/ActionBar-68f814a3.js.map +0 -1
- package/build/esm/FooterItem-39ac7c22.js.map +0 -1
- package/build/esm/HotkeysPanel-bd0e997d.js.map +0 -1
- package/build/esm/Item-c8057002.js.map +0 -1
- package/build/esm/Settings-31634d93.js.map +0 -1
- package/build/esm/Title-b2f2c4e9.js.map +0 -1
- package/build/esm/TopPanel-36ffc4c7.js.map +0 -1
- package/build/esm/components/ActionBar/__stories__/ActionBar.stories.d.ts +0 -20
- package/build/esm/components/ActionBar/__stories__/ActionBarShowcase.d.ts +0 -2
- package/build/esm/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +0 -2
- package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +0 -13
- package/build/esm/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +0 -13
- package/build/esm/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +0 -3
- package/build/esm/components/AsideHeader/__stories__/moc.d.ts +0 -5
- package/build/esm/components/Drawer/__stories__/Drawer.stories.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
- package/build/esm/components/FooterItem/__stories__/FooterItem.stories.d.ts +0 -5
- package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +0 -3
- package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +0 -3
- package/build/esm/components/HotkeysPanel/__stories__/moc.d.ts +0 -2
- package/build/esm/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +0 -5
- package/build/esm/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +0 -2
- package/build/esm/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +0 -3
- package/build/esm/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +0 -3
- package/build/esm/components/MobileHeader/__stories__/moc.d.ts +0 -1
- package/build/esm/components/Settings/__stories__/Settings.stories.d.ts +0 -4
- package/build/esm/components/Settings/__stories__/SettingsDemo.d.ts +0 -14
- package/build/esm/components/Settings/__stories__/SettingsMobileDemo.d.ts +0 -8
- package/build/esm/components/utils/configure.d.ts +0 -12
- package/build/esm/components/utils/registerKeyset.d.ts +0 -5
- package/build/esm/i18n.d.ts +0 -2
- package/build/esm/registerKeyset-35f1ea08.js +0 -212
- package/build/esm/registerKeyset-35f1ea08.js.map +0 -1
- 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
|
|
8
|
-
var
|
|
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
|
|
12
|
-
var utils = require('./utils-
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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(
|
|
288
|
-
const paddingRight = parseFloat(
|
|
289
|
-
const paddingTop = parseFloat(
|
|
290
|
-
const paddingBottom = parseFloat(
|
|
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$
|
|
442
|
-
styleInject_es.styleInject(css_248z$
|
|
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$
|
|
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$
|
|
456
|
-
React__default["default"].createElement("div", { className: b$
|
|
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$
|
|
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$
|
|
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$
|
|
472
|
-
styleInject_es.styleInject(css_248z$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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 =
|
|
784
|
+
var i18n = i18n$2.addComponentKeysets({ en, ru }, `${cn.NAMESPACE}${COMPONENT}`);
|
|
786
785
|
|
|
787
|
-
|
|
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
|