index.js 983 B

1234567891011121314151617181920212223242526272829303132
  1. "use client";
  2. import * as React from 'react';
  3. import { forwardRef, useImperativeHandle, useRef } from 'react';
  4. import { ItemGroup } from 'rc-menu';
  5. import { SiderContext } from '../layout/Sider';
  6. import InternalMenu from './menu';
  7. import MenuDivider from './MenuDivider';
  8. import Item from './MenuItem';
  9. import SubMenu from './SubMenu';
  10. const Menu = /*#__PURE__*/forwardRef((props, ref) => {
  11. const menuRef = useRef(null);
  12. const context = React.useContext(SiderContext);
  13. useImperativeHandle(ref, () => ({
  14. menu: menuRef.current,
  15. focus: options => {
  16. var _a;
  17. (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.focus(options);
  18. }
  19. }));
  20. return /*#__PURE__*/React.createElement(InternalMenu, Object.assign({
  21. ref: menuRef
  22. }, props, context));
  23. });
  24. Menu.Item = Item;
  25. Menu.SubMenu = SubMenu;
  26. Menu.Divider = MenuDivider;
  27. Menu.ItemGroup = ItemGroup;
  28. if (process.env.NODE_ENV !== 'production') {
  29. Menu.displayName = 'Menu';
  30. }
  31. export default Menu;