| /** |
| @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 |
| */ |
| import '../polymer/polymer-legacy.js'; |
| |
| import {IronButtonState} from '../iron-behaviors/iron-button-state.js'; |
| import {IronControlState} from '../iron-behaviors/iron-control-state.js'; |
| |
| import {PaperRippleBehavior} from './paper-ripple-behavior.js'; |
| |
| /** |
| * `PaperInkyFocusBehavior` implements a ripple when the element has keyboard |
| * focus. |
| * |
| * @polymerBehavior PaperInkyFocusBehavior |
| */ |
| export const PaperInkyFocusBehaviorImpl = { |
| observers: ['_focusedChanged(receivedFocusFromKeyboard)'], |
| |
| _focusedChanged: function(receivedFocusFromKeyboard) { |
| if (receivedFocusFromKeyboard) { |
| this.ensureRipple(); |
| } |
| if (this.hasRipple()) { |
| this._ripple.holdDown = receivedFocusFromKeyboard; |
| } |
| }, |
| |
| _createRipple: function() { |
| var ripple = PaperRippleBehavior._createRipple(); |
| ripple.id = 'ink'; |
| ripple.setAttribute('center', ''); |
| ripple.classList.add('circle'); |
| return ripple; |
| } |
| }; |
| |
| /** @polymerBehavior */ |
| export const PaperInkyFocusBehavior = [ |
| IronButtonState, |
| IronControlState, |
| PaperRippleBehavior, |
| PaperInkyFocusBehaviorImpl |
| ]; |