| <!-- |
| @license |
| Copyright (c) 2015 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="../iron-behaviors/iron-button-state.html"> |
| <link rel="import" href="paper-ripple-behavior.html"> |
| |
| <script> |
| /** |
| * `Polymer.PaperInkyFocusBehavior` implements a ripple when the element has keyboard focus. |
| * |
| * @polymerBehavior Polymer.PaperInkyFocusBehavior |
| */ |
| Polymer.PaperInkyFocusBehaviorImpl = { |
| observers: [ |
| '_focusedChanged(receivedFocusFromKeyboard)' |
| ], |
| |
| _focusedChanged: function(receivedFocusFromKeyboard) { |
| if (receivedFocusFromKeyboard) { |
| this.ensureRipple(); |
| } |
| if (this.hasRipple()) { |
| this._ripple.holdDown = receivedFocusFromKeyboard; |
| } |
| }, |
| |
| _createRipple: function() { |
| var ripple = Polymer.PaperRippleBehavior._createRipple(); |
| ripple.id = 'ink'; |
| ripple.setAttribute('center', ''); |
| ripple.classList.add('circle'); |
| return ripple; |
| } |
| }; |
| |
| /** @polymerBehavior Polymer.PaperInkyFocusBehavior */ |
| Polymer.PaperInkyFocusBehavior = [ |
| Polymer.IronButtonState, |
| Polymer.IronControlState, |
| Polymer.PaperRippleBehavior, |
| Polymer.PaperInkyFocusBehaviorImpl |
| ]; |
| </script> |