🪆 Mui Nested Menu

It's not perfect, but it's pretty good.

This package provides components to let you nest menu items infinitely deep. The code is an adaption from this package to work with MUI version 5.

📦 Install

The code is open source, so you can use the library by copying the src/mui-nested-menu directory to your project (if you'd like to adapt the components) or by installing it via NPM.

npm install mui-nested-menu

🛠 Exports

The following items and types are exported from the package:

  1. NestedDropdown - To create menu bar dropdowns.
  2. ContextMenu - For a right-click menu.
  3. IconMenuItem - A menu item which can take start and end icons.
  4. NestedMenuItem - The actual nested menu component.
  5. nestedMenuItemsFromObject({(items, isOpen, handleClose)}) - Utility function which returns a list of menu items from a given array of items in the object format you see in the samples. You can then manually put this inside a <Menu /> component.
  6. MenuItemData - A type for the menuItemsData prop.

💻 Contributing

Pull requests for the project are more than welcome. Please make sure to stick to the coding style used throughout the project.

The nested menu code can be found in packages/mui-nested-menu. This way, development changes will be live in the documentation, so all you need to do is run yarn && yarn start. Once a PR is merged, I will update NPM registry.

  1. Clone the project from GitHub
  2. Create a new branch
  3. Make your changes
  4. Commit your changes
  5. Push your changes to the branch
  6. Open a pull request