UNPKG

@polymer/paper-behaviors

Version:
52 lines (45 loc) 1.62 kB
/** @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/polymer-legacy.js'; import {IronButtonState} from '@polymer/iron-behaviors/iron-button-state.js'; import {IronControlState} from '@polymer/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 ];