Optional checkedShould only be specified for checkbox type menu items.
Optional dataData to be returned if the user selects the element. Must be serializable
Optional enabledIf false, the menu item will be greyed out and unclickable.
Optional iconImage Data URI with image dimensions inferred from the encoded string
Optional labelThe text to show on the menu item. Should be left undefined for type: 'separator'
Optional roleOptional submenuShould be specified for submenu type menu items. If submenu is specified,
the type: 'submenu' can be omitted.
Optional typeCan be normal, separator, submenu, or checkbox.
Defaults to 'normal' unless a 'submenu' key exists
Optional visibleIf 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.