@gravity-ui/navigation 0.22.0 → 0.22.2

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.
@@ -1,3 +1,3 @@
1
1
  import { MenuItem } from '../types';
2
2
  export declare const ALL_PAGES_ID: "all-pages";
3
- export declare const ALL_PAGES_MENU_ITEM: MenuItem;
3
+ export declare function getAllPagesMenuItem(): MenuItem;
@@ -1,3 +1,3 @@
1
1
  export { AllPagesPanel } from './AllPagesPanel';
2
- export { ALL_PAGES_MENU_ITEM, ALL_PAGES_ID } from './constants';
2
+ export { getAllPagesMenuItem, ALL_PAGES_ID } from './constants';
3
3
  export { useVisibleMenuItems } from './useVisibleMenuItems';
@@ -1,4 +1,5 @@
1
1
  export { AsideHeader } from './AsideHeader/AsideHeader';
2
+ export type { AsideHeaderProps } from './AsideHeader/types';
2
3
  export { AsideHeaderContextProvider, useAsideHeaderContext } from './AsideHeader/AsideHeaderContext';
3
4
  export { Drawer, DrawerProps, DrawerItemProps, DrawerItem } from './Drawer/Drawer';
4
5
  export { FooterItem, FooterItemProps } from './FooterItem/FooterItem';
@@ -1378,7 +1378,7 @@ const CompositeBarView = ({ type, items, onItemClick, collapseItems, multipleToo
1378
1378
  }
1379
1379
  }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);
1380
1380
  const onMouseEnterByIndex = React.useCallback((itemIndex) => () => {
1381
- if (multipleTooltip) {
1381
+ if (multipleTooltip && document.hasFocus()) {
1382
1382
  let multipleTooltipActiveValue = multipleTooltipActive;
1383
1383
  if (!multipleTooltipActive && itemIndex !== lastClickedItemIndex) {
1384
1384
  multipleTooltipActiveValue = true;
@@ -1401,7 +1401,7 @@ const CompositeBarView = ({ type, items, onItemClick, collapseItems, multipleToo
1401
1401
  ]);
1402
1402
  const onMouseLeave = React.useCallback(() => {
1403
1403
  var _a;
1404
- if (compact) {
1404
+ if (compact && document.hasFocus()) {
1405
1405
  (_a = ref.current) === null || _a === void 0 ? void 0 : _a.activateItem(undefined);
1406
1406
  if (multipleTooltip &&
1407
1407
  (activeIndex !== undefined || lastClickedItemIndex !== undefined)) {
@@ -1445,7 +1445,7 @@ const CompositeBarView = ({ type, items, onItemClick, collapseItems, multipleToo
1445
1445
  : item.enableTooltip;
1446
1446
  return (React__default["default"].createElement(Item$1, Object.assign({}, itemExtraProps, { enableTooltip: enableTooltip, onMouseEnter: onMouseEnterByIndex(itemIndex), onMouseLeave: onMouseLeave, onItemClick: onItemClickByIndex(itemIndex), collapseItems: collapseItems })));
1447
1447
  } })),
1448
- type === 'menu' && (React__default["default"].createElement(MultipleTooltip, { open: compact && multipleTooltip && multipleTooltipActive, anchorRef: tooltipRef, placement: ['right-start'], items: items }))));
1448
+ type === 'menu' && multipleTooltip && (React__default["default"].createElement(MultipleTooltip, { open: compact && multipleTooltipActive, anchorRef: tooltipRef, placement: ['right-start'], items: items }))));
1449
1449
  };
1450
1450
  const CompositeBar = ({ type, items, menuMoreTitle, onItemClick, multipleTooltip = false, }) => {
1451
1451
  if (items.length === 0) {
@@ -1700,12 +1700,14 @@ const COMPONENT$4 = 'AllPagesPanel';
1700
1700
  var i18n$4 = registerKeyset({ en: en$4, ru: ru$4 }, COMPONENT$4);
1701
1701
 
1702
1702
  const ALL_PAGES_ID = 'all-pages';
1703
- const ALL_PAGES_MENU_ITEM = {
1704
- id: ALL_PAGES_ID,
1705
- title: i18n$4('menu-item.all-pages.title'),
1706
- tooltipText: i18n$4('menu-item.all-pages.title'),
1707
- icon: icons.Ellipsis,
1708
- };
1703
+ function getAllPagesMenuItem() {
1704
+ return {
1705
+ id: ALL_PAGES_ID,
1706
+ title: i18n$4('menu-item.all-pages.title'),
1707
+ tooltipText: i18n$4('menu-item.all-pages.title'),
1708
+ icon: icons.Ellipsis,
1709
+ };
1710
+ }
1709
1711
 
1710
1712
  const useGroupedMenuItems = (items) => {
1711
1713
  const allPagesMenuItems = React.useMemo(() => {
@@ -5056,6 +5058,9 @@ const EMPTY_MENU_ITEMS = [];
5056
5058
  const useAsideHeaderInnerContextValue = (props) => {
5057
5059
  const { size, onClosePanel, menuItems, panelItems, onMenuItemsChanged } = props;
5058
5060
  const [innerVisiblePanel, setInnerVisiblePanel] = React.useState();
5061
+ const ALL_PAGES_MENU_ITEM = React__default["default"].useMemo(() => {
5062
+ return getAllPagesMenuItem();
5063
+ }, []);
5059
5064
  const allPagesIsAvailable = Boolean(onMenuItemsChanged) && (!menuItems || (menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) > 0);
5060
5065
  React.useEffect(() => {
5061
5066
  // If any user panel became visible we need to switch off all inner panels
@@ -5076,13 +5081,13 @@ const useAsideHeaderInnerContextValue = (props) => {
5076
5081
  innerOnClosePanel();
5077
5082
  }
5078
5083
  (_a = item.onItemClick) === null || _a === void 0 ? void 0 : _a.call(item, item, collapsed, event);
5079
- }, [innerOnClosePanel]);
5084
+ }, [innerOnClosePanel, ALL_PAGES_MENU_ITEM]);
5080
5085
  const innerMenuItems = React.useMemo(() => allPagesIsAvailable
5081
5086
  ? [
5082
5087
  ...(menuItems || EMPTY_MENU_ITEMS),
5083
5088
  Object.assign(Object.assign({}, ALL_PAGES_MENU_ITEM), { current: innerVisiblePanel === InnerPanels.AllPages }),
5084
5089
  ]
5085
- : menuItems || EMPTY_MENU_ITEMS, [allPagesIsAvailable, menuItems, innerVisiblePanel]);
5090
+ : menuItems || EMPTY_MENU_ITEMS, [allPagesIsAvailable, menuItems, innerVisiblePanel, ALL_PAGES_MENU_ITEM]);
5086
5091
  const innerPanelItems = React.useMemo(() => {
5087
5092
  if (!allPagesIsAvailable) {
5088
5093
  return panelItems;