OptionalcheckedShould only be specified for checkbox type menu items.
OptionaldataData to be returned if the user selects the element. Must be serializable
OptionalenabledIf false, the menu item will be greyed out and unclickable.
OptionaliconImage Data URI with image dimensions inferred from the encoded string
OptionallabelThe text to show on the menu item. Should be left undefined for type: 'separator'
OptionalroleOptionalsubmenuShould be specified for submenu type menu items. If submenu is specified,
the type: 'submenu' can be omitted.
OptionaltypeCan be normal, separator, submenu, or checkbox.
Defaults to 'normal' unless a 'submenu' key exists
OptionalvisibleIf false, the menu item will be entirely hidden.
User-defined shape for data returned upon menu item click. Should be a union of all possible data shapes for the entire menu, and the click handler should process these with a "reducer" pattern.