3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
4 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7 Code distributed by Google as part of the polymer project is also
8 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
11 <link rel=
"import" href=
"../polymer/polymer.html">
12 <link rel=
"import" href=
"../iron-menu-behavior/iron-menu-behavior.html">
13 <link rel=
"import" href=
"../paper-styles/paper-styles.html">
16 `<paper-menu>` implements an accessible menu control with Material Design styling. The focused item
17 is highlighted, and the selected item has bolded text.
20 <paper-item>Item 1</paper-item>
21 <paper-item>Item 2</paper-item>
24 An initial selection can be specified with the `selected` attribute.
26 <paper-menu selected="0">
27 <paper-item>Item 1</paper-item>
28 <paper-item>Item 2</paper-item>
31 Make a multi-select menu with the `multi` attribute. Items in a multi-select menu can be deselected,
32 and multiple item can be selected.
35 <paper-item>Item 1</paper-item>
36 <paper-item>Item 2</paper-item>
41 The following custom properties and mixins are available for styling:
43 Custom property | Description | Default
44 ----------------|-------------|----------
45 `--paper-menu-background-color` | Menu background color | `--primary-background-color`
46 `--paper-menu-color` | Menu foreground color | `--primary-text-color`
47 `--paper-menu-disabled-color` | Foreground color for a disabled item | `--disabled-text-color`
48 `--paper-menu` | Mixin applied to the menu | `{}`
49 `--paper-menu-selected-item` | Mixin applied to the selected item | `{}`
50 `--paper-menu-focused-item` | Mixin applied to the focused item | `{}`
51 `--paper-menu-focused-item-after` | Mixin applied to the ::after pseudo-element for the focused item | `{}`
55 `<paper-menu>` has `role="menu"` by default. A multi-select menu will also have
56 `aria-multiselectable` set. It implements key bindings to navigate through the menu with the up and
57 down arrow keys, esc to exit the menu, and enter to activate a menu item. Typing the first letter
58 of a menu item will also focus it.
66 <dom-module id=
"paper-menu">
74 background: var(--paper-menu-background-color, --primary-background-color);
75 color: var(--paper-menu-color, --primary-text-color);
80 /* need a wrapper element to make this higher specificity than the :host rule in paper-item */
81 .content
> ::content
> .iron-selected {
84 @apply(--paper-menu-selected-item);
87 .content
> ::content
> [disabled] {
88 color: var(--paper-menu-disabled-color, --disabled-text-color);
91 .content
> ::content
> *:focus {
95 @apply(--paper-menu-focused-item);
98 .content
> ::content
> *:focus:after {
100 background: currentColor;
101 /* FIXME move to paper-styles for next widget */
105 @apply(--paper-menu-focused-item-after);
108 .content
> ::content
> *[colored]:focus:after {
116 <div class=
"content">
133 Polymer
.IronMenuBehavior