Coder Social home page Coder Social logo

polymerel / paper-dropdown-menu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from polymerelements/paper-dropdown-menu

1.0 2.0 0.0 121 KB

A Material Design browser select element

Home Page: https://customelements.io/PolymerEl/paper-dropdown-menu

HTML 100.00%

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

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

Stargazers

 avatar

Watchers

 avatar  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.