| <!-- |
| @license |
| Copyright (c) 2016 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="../paper-behaviors/paper-ripple-behavior.html"> |
| |
| <!-- |
| The following custom properties and mixins are also available for styling: |
| |
| Custom property | Description | Default |
| ----------------|-------------|---------- |
| `--paper-icon-button-light-ripple` | Mixin applied to the paper ripple | `{}` |
| |
| @group Paper Elements |
| @element paper-icon-button-light |
| @demo demo/paper-icon-button-light.html |
| --> |
| <dom-module id="paper-icon-button-light"> |
| <template strip-whitespace> |
| <style> |
| :host { |
| vertical-align: middle; |
| color: inherit; |
| outline: none; |
| width: 24px; |
| height: 24px; |
| background: none; |
| margin: 0; |
| border: none; |
| padding: 0; |
| |
| position: relative; |
| cursor: pointer; |
| |
| /* NOTE: Both values are needed, since some phones require the value to be `transparent`. */ |
| -webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
| -webkit-tap-highlight-color: transparent; |
| } |
| |
| :host([disabled]) { |
| color: #9b9b9b; |
| pointer-events: none; |
| cursor: auto; |
| } |
| |
| paper-ripple { |
| opacity: 0.6; |
| color: currentColor; |
| @apply(--paper-icon-button-light-ripple); |
| } |
| </style> |
| <content></content> |
| </template> |
| <script> |
| Polymer({ |
| is: 'paper-icon-button-light', |
| extends: 'button', |
| |
| behaviors: [ |
| Polymer.PaperRippleBehavior |
| ], |
| |
| listeners: { |
| 'down': '_rippleDown', |
| 'up': '_rippleUp', |
| 'focus': '_rippleDown', |
| 'blur': '_rippleUp', |
| }, |
| |
| _rippleDown: function() { |
| this.getRipple().uiDownAction(); |
| }, |
| |
| _rippleUp: function() { |
| this.getRipple().uiUpAction(); |
| }, |
| |
| /** |
| * @param {...*} var_args |
| */ |
| ensureRipple: function(var_args) { |
| var lastRipple = this._ripple; |
| Polymer.PaperRippleBehavior.ensureRipple.apply(this, arguments); |
| if (this._ripple && this._ripple !== lastRipple) { |
| this._ripple.center = true; |
| this._ripple.classList.add('circle'); |
| } |
| } |
| }); |
| </script> |
| </dom-module> |