Back to Consul

Menu

ui/packages/consul-ui/app/components/menu/README.mdx

1.22.71.7 KB
Original Source

Menu

A component use for menu systems with the correct aria attributes applied. Internally uses our {{aria-menu}} modifier for aria keyboarding.

Additionally it is made to work in tandem with the <Disclosure /> component if required (a relatively common usecase)

This component should not be used for top site navigation, but it should be used for menus within the top site navigation for choosing options, for example choosing a namespace or partition etc.

hbs
<Menu as |menu|>
  <menu.Item>
    <menu.Action>Item 1</menu.Action>
  </menu.Item>
  <menu.Separator />
  <menu.Item>
    <menu.Action>Item 2</menu.Action>
  </menu.Item>
  <menu.Separator>
    Title
  </menu.Separator>
  <menu.Item>
    <menu.Action>Item 3</menu.Action>
  </menu.Item>
</Menu>

Arguments

ArgumentTypeDefaultDescription
disclosureDisclosureInterfaceAn object with following the <Disclosure /> components API. When used no other arguments are necessary
onclosefunctionA function to call when a menu close is requested
eventEventA potential event used to open the menu

Exported API

NameTypeDescription
ItemGlimmerComponentA component for adding a menu item with aria attributes correctly applied
SeparatorGlimmerComponentA component to be used for separating sections in the menu with aria attributes correctly applied. When used as block component you can add some sort of testual title to the separator
ActionGlimmerComponentA contextual '<Action />' component with aria attributes correctly applied

See