1 <!-- 2 @license 3 Copyright (c) 2016 The Polymer Project Authors. All rights reserved. 4 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt 5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt 6 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt 7 Code distributed by Google as part of the polymer project is also 8 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt 9 --> 10 11 <link rel="import" href="../polymer/polymer.html"> 12 <link rel="import" href="../paper-behaviors/paper-ripple-behavior.html"> 13 14 <!-- 15 @group Paper Elements 16 @element paper-icon-button-light 17 @demo demo/paper-icon-button-light.html 18 --> 19 <dom-module id="paper-icon-button-light"> 20 <template strip-whitespace> 21 <style> 22 :host { 23 vertical-align: middle; 24 color: inherit; 25 outline: none; 26 width: 24px; 27 height: 24px; 28 background: none; 29 margin: 0; 30 border: none; 31 padding: 0; 32 33 position: relative; 34 cursor: pointer; 35 36 /* NOTE: Both values are needed, since some phones require the value to be `transparent`. */ 37 -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 38 -webkit-tap-highlight-color: transparent; 39 } 40 41 :host([disabled]) { 42 color: #9b9b9b; 43 pointer-events: none; 44 cursor: auto; 45 } 46 47 paper-ripple { 48 opacity: 0.6; 49 color: currentColor; 50 } 51 </style> 52 <content></content> 53 </template> 54 <script> 55 Polymer({ 56 is: 'paper-icon-button-light', 57 extends: 'button', 58 59 behaviors: [ 60 Polymer.PaperRippleBehavior 61 ], 62 63 listeners: { 64 'down': '_rippleDown', 65 'up': '_rippleUp', 66 'focus': '_rippleDown', 67 'blur': '_rippleUp', 68 }, 69 70 _rippleDown: function() { 71 this.getRipple().downAction(); 72 }, 73 74 _rippleUp: function() { 75 this.getRipple().upAction(); 76 }, 77 78 /** 79 * @param {...*} var_args 80 */ 81 ensureRipple: function(var_args) { 82 var lastRipple = this._ripple; 83 Polymer.PaperRippleBehavior.ensureRipple.apply(this, arguments); 84 if (this._ripple && this._ripple !== lastRipple) { 85 this._ripple.center = true; 86 this._ripple.classList.add('circle'); 87 } 88 } 89 }); 90 </script> 91 </dom-module> 92