Create accessible dropdown menus that auto-position themselves to stay within the viewport. The menus are entirely navigable with a keyboard along with some additional behavior:
ArrowUp
and ArrowDown
to focus the previous/next MenuItem
that also
allows wrappingHome
and End
to focus the first/last Menuitem
in the menuMenuItem
to focus itnpm install --save @react-md/menu
You will also need to install the following packages for their styles:
npm install --save @react-md/theme \
@react-md/typography \
@react-md/icon \
@react-md/list \
@react-md/button \
@react-md/states \
@react-md/utils
123456789101112131415161718import React from "react";
import { render } from "react-dom";
import { DropdownMenu } from "@react-md/menu";
const App = () => (
<DropdownMenu
id="example-dropdown-menu"
items={[
{ onClick: () => console.log("Clicked Item 1"), children: "Item 1" },
{ onClick: () => console.log("Clicked Item 2"), children: "Item 2" },
{ onClick: () => console.log("Clicked Item 3"), children: "Item 3" },
]}
>
Dropdown
</DropdownMenu>
);
render(<App />, document.getElementById("root"));