@polymer/paper-listbox
Version:
Implements an accessible material design listbox
77 lines (68 loc) • 2.5 kB
TypeScript
/**
* DO NOT EDIT
*
* This file was automatically generated by
* https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations
*
* To modify these typings, edit the source file(s):
* paper-listbox.js
*/
import {IronMenuBehavior} from '@polymer/iron-menu-behavior/iron-menu-behavior.js';
import {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';
import {html} from '@polymer/polymer/lib/utils/html-tag.js';
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
/**
* 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.
*/
interface PaperListboxElement extends IronMenuBehavior, LegacyElementMixin, HTMLElement {
}
export {PaperListboxElement};
declare global {
interface HTMLElementTagNameMap {
"paper-listbox": PaperListboxElement;
}
}