aboutsummaryrefslogtreecommitdiff
path: root/catapult/third_party/polymer/components/paper-listbox/paper-listbox.html
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/third_party/polymer/components/paper-listbox/paper-listbox.html')
-rw-r--r--catapult/third_party/polymer/components/paper-listbox/paper-listbox.html96
1 files changed, 96 insertions, 0 deletions
diff --git a/catapult/third_party/polymer/components/paper-listbox/paper-listbox.html b/catapult/third_party/polymer/components/paper-listbox/paper-listbox.html
new file mode 100644
index 00000000..15d6cf0e
--- /dev/null
+++ b/catapult/third_party/polymer/components/paper-listbox/paper-listbox.html
@@ -0,0 +1,96 @@
+<!--
+@license
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../iron-menu-behavior/iron-menu-behavior.html">
+<link rel="import" href="../paper-styles/default-theme.html">
+
+<!--
+Material design: [Menus](https://www.google.com/design/spec/components/menus.html)
+
+`<paper-listbox>` implements an accessible listbox control with Material Design styling. The focused item
+is highlighted, and the selected item has bolded text.
+
+ <paper-listbox>
+ <paper-item>Item 1</paper-item>
+ <paper-item>Item 2</paper-item>
+ </paper-listbox>
+
+An initial selection can be specified with the `selected` attribute.
+
+ <paper-listbox selected="0">
+ <paper-item>Item 1</paper-item>
+ <paper-item>Item 2</paper-item>
+ </paper-listbox>
+
+Make a multi-select listbox with the `multi` attribute. Items in a multi-select listbox can be deselected,
+and multiple item can be selected.
+
+ <paper-listbox multi>
+ <paper-item>Item 1</paper-item>
+ <paper-item>Item 2</paper-item>
+ </paper-listbox>
+
+### Styling
+
+The following custom properties and mixins are available for styling:
+
+Custom property | Description | Default
+----------------|-------------|----------
+`--paper-listbox-background-color` | Menu background color | `--primary-background-color`
+`--paper-listbox-color` | Menu foreground color | `--primary-text-color`
+`--paper-listbox` | Mixin applied to the listbox | `{}`
+
+### Accessibility
+
+`<paper-listbox>` has `role="listbox"` by default. A multi-select listbox will also have
+`aria-multiselectable` set. It implements key bindings to navigate through the listbox with the up and
+down arrow keys, esc to exit the listbox, and enter to activate a listbox item. Typing the first letter
+of a listbox item will also focus it.
+
+@group Paper Elements
+@element paper-listbox
+@hero hero.svg
+@demo demo/index.html
+-->
+
+<dom-module id="paper-listbox">
+ <template>
+ <style>
+ :host {
+ display: block;
+ padding: 8px 0;
+
+ background: var(--paper-listbox-background-color, --primary-background-color);
+ color: var(--paper-listbox-color, --primary-text-color);
+
+ @apply(--paper-listbox);
+ }
+ </style>
+
+ <content></content>
+ </template>
+
+ <script>
+ (function() {
+ Polymer({
+ is: 'paper-listbox',
+
+ behaviors: [
+ Polymer.IronMenuBehavior
+ ],
+
+ hostAttributes: {
+ role: 'listbox'
+ }
+ });
+ })();
+ </script>
+</dom-module>