Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@reach/menu-button

reach470.2kMIT0.18.0TypeScript support: included

Accessible React button dropdown menu.

readme

@reach/menu-button

Stable release MIT license

Docs | Source | WAI-ARIA

An accessible dropdown menu for the common dropdown menu button design pattern.

import {
    Menu,
    MenuList,
    MenuButton,
    MenuItem,
    MenuLink,
} from "@reach/menu-button";
import "@reach/menu-button/styles.css";

function Example() {
    return (
        <Menu>
            <MenuButton>
                Actions <span aria-hidden></span>
            </MenuButton>
            <MenuList>
                <MenuItem onSelect={() => alert("Download")}>Download</MenuItem>
                <MenuItem onSelect={() => alert("Copy")}>Create a Copy</MenuItem>
                <MenuItem onSelect={() => alert("Mark as Draft")}>
                    Mark as Draft
                </MenuItem>
                <MenuItem onSelect={() => alert("Delete")}>Delete</MenuItem>
                <MenuLink as="a" href="https://reacttraining.com/workshops/">
                    Attend a Workshop
                </MenuLink>
            </MenuList>
        </Menu>
    );
}

changelog

@reach/menu-button

0.18.0

BREAKING Changes

  • All default exports have been removed. Replace all default imports with the appropriate documented named export.
  • The output directory structure has changed slightly. Module files are now named reach-<pkg>.mjs instead of reach-<pkg>.esm.js.

Minor Changes

  • We have simplified our build setup to remove a boatload of dependencies. Build output for all packages may look slightly different, though functionally packages that don't have explicit changes marked in the release notes have not changed.

    This may affect you if you use patch-package to modify output code. If you need support for legacy browsers, the new bundle may not transpile the same ECMA features as before. In that case you may want to transpile Reach packages directly.

  • We no longer check that our internal styles are included by looking for a defined CSS custom property. You can still include our base styles as before, but this removes the need to define --reach-<pkg> in your own stylesheets to silence dev warnings.

Patch Changes

  • Fixed an issue causing duplicate IDs across multiple instances (#970)
  • Updated dependencies:
    • @reach/popover@0.18.0
    • @reach/dropdown@0.18.0
    • @reach/utils@0.18.0
    • @reach/polymorphic@0.18.0