@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';
@@ -1351,7 +1351,7 @@ const CompositeBarView = ({ type, items, onItemClick, collapseItems, multipleToo
1351
1351
  }
1352
1352
  }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);
1353
1353
  const onMouseEnterByIndex = useCallback((itemIndex) => () => {
1354
- if (multipleTooltip) {
1354
+ if (multipleTooltip && document.hasFocus()) {
1355
1355
  let multipleTooltipActiveValue = multipleTooltipActive;
1356
1356
  if (!multipleTooltipActive && itemIndex !== lastClickedItemIndex) {
1357
1357
  multipleTooltipActiveValue = true;
@@ -1374,7 +1374,7 @@ const CompositeBarView = ({ type, items, onItemClick, collapseItems, multipleToo
1374
1374
  ]);
1375
1375
  const onMouseLeave = useCallback(() => {
1376
1376
  var _a;
1377
- if (compact) {
1377
+ if (compact && document.hasFocus()) {
1378
1378
  (_a = ref.current) === null || _a === void 0 ? void 0 : _a.activateItem(undefined);
1379
1379
  if (multipleTooltip &&
1380
1380
  (activeIndex !== undefined || lastClickedItemIndex !== undefined)) {
@@ -1418,7 +1418,7 @@ const CompositeBarView = ({ type, items, onItemClick, collapseItems, multipleToo
1418
1418
  : item.enableTooltip;
1419
1419
  return (React__default.createElement(Item$1, Object.assign({}, itemExtraProps, { enableTooltip: enableTooltip, onMouseEnter: onMouseEnterByIndex(itemIndex), onMouseLeave: onMouseLeave, onItemClick: onItemClickByIndex(itemIndex), collapseItems: collapseItems })));
1420
1420
  } })),
1421
- type === 'menu' && (React__default.createElement(MultipleTooltip, { open: compact && multipleTooltip && multipleTooltipActive, anchorRef: tooltipRef, placement: ['right-start'], items: items }))));
1421
+ type === 'menu' && multipleTooltip && (React__default.createElement(MultipleTooltip, { open: compact && multipleTooltipActive, anchorRef: tooltipRef, placement: ['right-start'], items: items }))));
1422
1422
  };
1423
1423
  const CompositeBar = ({ type, items, menuMoreTitle, onItemClick, multipleTooltip = false, }) => {
1424
1424
  if (items.length === 0) {
@@ -1673,12 +1673,14 @@ const COMPONENT$4 = 'AllPagesPanel';
1673
1673
  var i18n$4 = registerKeyset({ en: en$4, ru: ru$4 }, COMPONENT$4);
1674
1674
 
1675
1675
  const ALL_PAGES_ID = 'all-pages';
1676
- const ALL_PAGES_MENU_ITEM = {
1677
- id: ALL_PAGES_ID,
1678
- title: i18n$4('menu-item.all-pages.title'),
1679
- tooltipText: i18n$4('menu-item.all-pages.title'),
1680
- icon: Ellipsis,
1681
- };
1676
+ function getAllPagesMenuItem() {
1677
+ return {
1678
+ id: ALL_PAGES_ID,
1679
+ title: i18n$4('menu-item.all-pages.title'),
1680
+ tooltipText: i18n$4('menu-item.all-pages.title'),
1681
+ icon: Ellipsis,
1682
+ };
1683
+ }
1682
1684
 
1683
1685
  const useGroupedMenuItems = (items) => {
1684
1686
  const allPagesMenuItems = useMemo(() => {
@@ -5029,6 +5031,9 @@ const EMPTY_MENU_ITEMS = [];
5029
5031
  const useAsideHeaderInnerContextValue = (props) => {
5030
5032
  const { size, onClosePanel, menuItems, panelItems, onMenuItemsChanged } = props;
5031
5033
  const [innerVisiblePanel, setInnerVisiblePanel] = useState();
5034
+ const ALL_PAGES_MENU_ITEM = React__default.useMemo(() => {
5035
+ return getAllPagesMenuItem();
5036
+ }, []);
5032
5037
  const allPagesIsAvailable = Boolean(onMenuItemsChanged) && (!menuItems || (menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) > 0);
5033
5038
  useEffect(() => {
5034
5039
  // If any user panel became visible we need to switch off all inner panels
@@ -5049,13 +5054,13 @@ const useAsideHeaderInnerContextValue = (props) => {
5049
5054
  innerOnClosePanel();
5050
5055
  }
5051
5056
  (_a = item.onItemClick) === null || _a === void 0 ? void 0 : _a.call(item, item, collapsed, event);
5052
- }, [innerOnClosePanel]);
5057
+ }, [innerOnClosePanel, ALL_PAGES_MENU_ITEM]);
5053
5058
  const innerMenuItems = useMemo(() => allPagesIsAvailable
5054
5059
  ? [
5055
5060
  ...(menuItems || EMPTY_MENU_ITEMS),
5056
5061
  Object.assign(Object.assign({}, ALL_PAGES_MENU_ITEM), { current: innerVisiblePanel === InnerPanels.AllPages }),
5057
5062
  ]
5058
- : menuItems || EMPTY_MENU_ITEMS, [allPagesIsAvailable, menuItems, innerVisiblePanel]);
5063
+ : menuItems || EMPTY_MENU_ITEMS, [allPagesIsAvailable, menuItems, innerVisiblePanel, ALL_PAGES_MENU_ITEM]);
5059
5064
  const innerPanelItems = useMemo(() => {
5060
5065
  if (!allPagesIsAvailable) {
5061
5066
  return panelItems;