Giter Site home page Giter Site logo

paper-dropdown-menu's Introduction

Build status

Demo and API docs

##<paper-dropdown-menu>

Material design: Dropdown menus

paper-dropdown-menu is similar to a native browser select element. paper-dropdown-menu works with selectable content. The currently selected item is displayed in the control. If no item is selected, the label is displayed instead.

Example:

<paper-dropdown-menu label="Your favourite pastry">
  <paper-listbox class="dropdown-content">
    <paper-item>Croissant</paper-item>
    <paper-item>Donut</paper-item>
    <paper-item>Financier</paper-item>
    <paper-item>Madeleine</paper-item>
  </paper-listbox>
</paper-dropdown-menu>

This example renders a dropdown menu with 4 options.

The child element with the class dropdown-content is used as the dropdown menu. This can be a paper-listbox, or any other or element that acts like an iron-selector.

Specifically, the menu child must fire an iron-select event when one of its children is selected, and an iron-deselect event when a child is deselected. The selected or deselected item must be passed as the event's detail.item property.

Applications can listen for the iron-select and iron-deselect events to react when options are selected and deselected.

Styling

The following custom properties and mixins are also available for styling:

Custom property Description Default
--paper-dropdown-menu A mixin that is applied to the element host {}
--paper-dropdown-menu-disabled A mixin that is applied to the element host when disabled {}
--paper-dropdown-menu-ripple A mixin that is applied to the internal ripple {}
--paper-dropdown-menu-button A mixin that is applied to the internal menu button {}
--paper-dropdown-menu-input A mixin that is applied to the internal paper input {}
--paper-dropdown-menu-icon A mixin that is applied to the internal icon {}

You can also use any of the paper-input-container and paper-menu-button style mixins and custom properties to style the internal input and menu button respectively.

##<paper-dropdown-menu-light>

Material design: Dropdown menus

This is a faster, lighter version of paper-dropdown-menu, that does not use a <paper-input> internally. Use this element if you're concerned about the performance of this element, i.e., if you plan on using many dropdowns on the same page. Note that this element has a slightly different styling API than paper-dropdown-menu.

paper-dropdown-menu-light is similar to a native browser select element. paper-dropdown-menu-light works with selectable content. The currently selected item is displayed in the control. If no item is selected, the label is displayed instead.

Example:

<paper-dropdown-menu-light label="Your favourite pastry">
  <paper-listbox class="dropdown-content">
    <paper-item>Croissant</paper-item>
    <paper-item>Donut</paper-item>
    <paper-item>Financier</paper-item>
    <paper-item>Madeleine</paper-item>
  </paper-listbox>
</paper-dropdown-menu-light>

This example renders a dropdown menu with 4 options.

The child element with the class dropdown-content is used as the dropdown menu. This can be a paper-listbox, or any other or element that acts like an iron-selector.

Specifically, the menu child must fire an iron-select event when one of its children is selected, and an iron-deselect event when a child is deselected. The selected or deselected item must be passed as the event's detail.item property.

Applications can listen for the iron-select and iron-deselect events to react when options are selected and deselected.

Styling

The following custom properties and mixins are also available for styling:

Custom property Description Default
--paper-dropdown-menu A mixin that is applied to the element host {}
--paper-dropdown-menu-disabled A mixin that is applied to the element host when disabled {}
--paper-dropdown-menu-ripple A mixin that is applied to the internal ripple {}
--paper-dropdown-menu-button A mixin that is applied to the internal menu button {}
--paper-dropdown-menu-icon A mixin that is applied to the internal icon {}
--paper-dropdown-menu-disabled-opacity The opacity of the dropdown when disabled 0.33
--paper-dropdown-menu-color The color of the input/label/underline when the dropdown is unfocused --primary-text-color
--paper-dropdown-menu-focus-color The color of the label/underline when the dropdown is focused --primary-color
--paper-dropdown-error-color The color of the label/underline when the dropdown is invalid --error-color
--paper-dropdown-menu-label Mixin applied to the label {}
--paper-dropdown-menu-input Mixin appled to the input {}

Note that in this element, the underline is just the bottom border of the "input". To style it:

<style is=custom-style>
  paper-dropdown-menu-light.custom {
    --paper-dropdown-menu-input: {
      border-bottom: 2px dashed lavender;
    };
</style>

paper-dropdown-menu's People

Contributors

notwaldorf avatar tedium-bot avatar cdata avatar dfreedm avatar ebidel avatar rictic avatar abdonrd avatar valdrinkoshi avatar bicknellr avatar jakemac53 avatar bpinney avatar arthurvr avatar btelles avatar fredj avatar michaeloboyle avatar rnicholus avatar srikkbhat avatar ztrue avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.