A Material Design browser select element

Published on NPM Build status Published on webcomponents.org

<paper-dropdown-menu>

paper-dropdown-menu is similar to a native browser select element. paper-dropdown-menu works with selectable content.

See: Documentation, Demo.

Usage

Installation

npm install --save @polymer/paper-dropdown-menu

In an html file

<html>
  <head>
    <script type="module">
      import '@polymer/paper-dropdown-menu/paper-dropdown-menu.js';
      import '@polymer/paper-item/paper-item.js';
      import '@polymer/paper-listbox/paper-listbox.js';
    </script>
  </head>
  <body>
    <paper-dropdown-menu label="Dinosaurs">
      <paper-listbox slot="dropdown-content" selected="1">
        <paper-item>allosaurus</paper-item>
        <paper-item>brontosaurus</paper-item>
        <paper-item>carcharodontosaurus</paper-item>
        <paper-item>diplodocus</paper-item>
      </paper-listbox>
    </paper-dropdown-menu>
  </body>
</html>

In a Polymer 3 element

import {PolymerElement, html} from '@polymer/polymer';
import '@polymer/paper-dropdown-menu/paper-dropdown-menu.js';
import '@polymer/paper-item/paper-item.js';
import '@polymer/paper-listbox/paper-listbox.js';

class SampleElement extends PolymerElement {
  static get template() {
    return html`
      <paper-dropdown-menu label="Dinosaurs">
        <paper-listbox slot="dropdown-content" selected="1">
          <paper-item>allosaurus</paper-item>
          <paper-item>brontosaurus</paper-item>
          <paper-item>carcharodontosaurus</paper-item>
          <paper-item>diplodocus</paper-item>
        </paper-listbox>
      </paper-dropdown-menu>
    `;
  }
}
customElements.define('sample-element', SampleElement);

Contributing

If you want to send a PR to this element, here are the instructions for running the tests and demo locally:

Installation

git clone https://github.com/PolymerElements/paper-dropdown-menu
cd paper-dropdown-menu
npm install
npm install -g polymer-cli

Running the demo locally

polymer serve --npm
open http://127.0.0.1:<port>/demo/

Running the tests

polymer test --npm

Install

Link to this version
ImportedReleased 15 March 2018Other
Framework Support
Polymer 2.0+
Also supported:
Polymer 1 (3.0.1)Polymer 3 (3.0.1)
Browser Compatibility
Install with
bower install --save PolymerElements/paper-dropdown-menu"#2.1.0"
Run the above Bower command in your project folder. If you have any issues installing, please contact the author.
Release notes - Version 2.1.0

Dependencies

  • polymer#Polymer/polymer#1.9 - 2
  • iron-a11y-keys-behavior#PolymerElements/iron-a11y-keys-behavior#1 - 2
  • iron-form-element-behavior#PolymerElements/iron-form-element-behavior#1 - 2
  • iron-icon#PolymerElements/iron-icon#1 - 2
  • iron-iconset-svg#PolymerElements/iron-iconset-svg#1 - 2
  • iron-validatable-behavior#PolymerElements/iron-validatable-behavior#1 - 2
  • paper-behaviors#PolymerElements/paper-behaviors#1 - 2
  • paper-input#PolymerElements/paper-input#1 - 2
  • paper-menu-button#PolymerElements/paper-menu-button#1 - 2
  • paper-ripple#PolymerElements/paper-ripple#1 - 2
  • paper-styles#PolymerElements/paper-styles#1 - 2