@gravity-ui/navigation 0.23.1 → 0.23.3

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.
@@ -14,7 +14,7 @@ export interface AsideHeaderGeneralProps {
14
14
  renderFooter?: (data: {
15
15
  size: number;
16
16
  compact: boolean;
17
- asideRef: React.ForwardedRef<HTMLDivElement>;
17
+ asideRef: React.RefObject<HTMLDivElement>;
18
18
  }) => React.ReactNode;
19
19
  onClosePanel?: () => void;
20
20
  onChangeCompact?: (compact: boolean) => void;
@@ -3,11 +3,11 @@ import { PopupPlacement, PopupProps } from '@gravity-ui/uikit';
3
3
  import { MenuItem } from '../../types';
4
4
  import './Item.scss';
5
5
  interface ItemPopup {
6
- popupVisible?: boolean;
7
- popupAnchor?: React.RefObject<HTMLElement>;
8
- popupPlacement?: PopupPlacement;
6
+ popupVisible?: PopupProps['open'];
7
+ popupAnchor?: PopupProps['anchorRef'];
8
+ popupPlacement?: PopupProps['placement'];
9
9
  popupOffset?: PopupProps['offset'];
10
- popupKeepMounted?: boolean;
10
+ popupKeepMounted?: PopupProps['keepMounted'];
11
11
  renderPopupContent?: () => React.ReactNode;
12
12
  onClosePopup?: () => void;
13
13
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { Component, createElement, useState, useMemo, useCallback, useEffect, useRef, useContext, Children, isValidElement, cloneElement } from 'react';
3
- import { Portal, Icon, Popup, List, Tooltip, Button, Flex, Text, useBodyScrollLock, Hotkey, TextInput, Tabs, Loader, Sheet, eventBroker } from '@gravity-ui/uikit';
3
+ import { Portal, Icon, Popup, List, Tooltip, Button, Flex, Text, useBodyScrollLock, setRef, Hotkey, TextInput, Tabs, Loader, Sheet, eventBroker } from '@gravity-ui/uikit';
4
4
  import { withNaming } from '@bem-react/classname';
5
5
  import { Ellipsis, Pin, PinFill, Gear, Xmark } from '@gravity-ui/icons';
6
6
  import ReactDOM from 'react-dom';
@@ -5004,17 +5004,19 @@ const FirstPanel = React__default.forwardRef((_props, ref) => {
5004
5004
  const { size, onItemClick, headerDecoration, multipleTooltip, menuMoreTitle, renderFooter, compact, } = useAsideHeaderInnerContext();
5005
5005
  const visibleMenuItems = useVisibleMenuItems();
5006
5006
  const asideRef = useRef(null);
5007
- const popupAnchorRef = useMemo(() => ref || asideRef, [ref, asideRef]);
5007
+ React__default.useEffect(() => {
5008
+ setRef(ref, asideRef.current);
5009
+ }, [ref]);
5008
5010
  return (React__default.createElement(React__default.Fragment, null,
5009
5011
  React__default.createElement("div", { className: b$m('aside'), style: { width: size } },
5010
- React__default.createElement("div", { className: b$m('aside-popup-anchor'), ref: popupAnchorRef }),
5012
+ React__default.createElement("div", { className: b$m('aside-popup-anchor'), ref: asideRef }),
5011
5013
  React__default.createElement("div", { className: b$m('aside-content', { ['with-decoration']: headerDecoration }) },
5012
5014
  React__default.createElement(Header, null),
5013
5015
  (visibleMenuItems === null || visibleMenuItems === void 0 ? void 0 : visibleMenuItems.length) ? (React__default.createElement(CompositeBar, { type: "menu", items: visibleMenuItems, menuMoreTitle: menuMoreTitle !== null && menuMoreTitle !== void 0 ? menuMoreTitle : i18n$3('label_more'), onItemClick: onItemClick, multipleTooltip: multipleTooltip })) : (React__default.createElement("div", { className: b$m('menu-items') })),
5014
5016
  React__default.createElement("div", { className: b$m('footer') }, renderFooter === null || renderFooter === void 0 ? void 0 : renderFooter({
5015
5017
  size,
5016
5018
  compact: Boolean(compact),
5017
- asideRef: popupAnchorRef,
5019
+ asideRef,
5018
5020
  })),
5019
5021
  React__default.createElement(CollapseButton, null))),
5020
5022
  React__default.createElement(Panels, null)));
@@ -5086,7 +5088,7 @@ const AsideHeader = React__default.forwardRef((props, ref) => {
5086
5088
  const asideHeaderInnerContextValue = useAsideHeaderInnerContextValue(Object.assign(Object.assign({}, props), { size }));
5087
5089
  return (React__default.createElement(AsideHeaderContextProvider, { value: asideHeaderContextValue },
5088
5090
  React__default.createElement(AsideHeaderInnerContextProvider, { value: asideHeaderInnerContextValue },
5089
- React__default.createElement("div", { className: b$m({ compact }, className) },
5091
+ React__default.createElement("div", { className: b$m({ compact }, className), style: Object.assign({}, { '--gn-aside-header-size': `${size}px` }) },
5090
5092
  React__default.createElement("div", { className: b$m('pane-container') },
5091
5093
  React__default.createElement(FirstPanel, { ref: ref }),
5092
5094
  React__default.createElement(Content, { size: size, renderContent: props.renderContent, className: b$m('content') }))))));