Index: third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html |
diff --git a/third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html b/third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html |
deleted file mode 100644 |
index fc52e172f920d899737e5800564b8730cff3764e..0000000000000000000000000000000000000000 |
--- a/third_party/polymer/v1_0/components/iron-behaviors/iron-button-state.html |
+++ /dev/null |
@@ -1,186 +0,0 @@ |
-<!-- |
-@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-a11y-keys-behavior/iron-a11y-keys-behavior.html"> |
-<link rel="import" href="iron-control-state.html"> |
- |
-<script> |
- |
- /** |
- * @demo demo/index.html |
- * @polymerBehavior Polymer.IronButtonState |
- */ |
- Polymer.IronButtonStateImpl = { |
- |
- properties: { |
- |
- /** |
- * If true, the user is currently holding down the button. |
- */ |
- pressed: { |
- type: Boolean, |
- readOnly: true, |
- value: false, |
- reflectToAttribute: true, |
- observer: '_pressedChanged' |
- }, |
- |
- /** |
- * If true, the button toggles the active state with each tap or press |
- * of the spacebar. |
- */ |
- toggles: { |
- type: Boolean, |
- value: false, |
- reflectToAttribute: true |
- }, |
- |
- /** |
- * If true, the button is a toggle and is currently in the active state. |
- */ |
- active: { |
- type: Boolean, |
- value: false, |
- notify: true, |
- reflectToAttribute: true, |
- observer: '_activeChanged' |
- }, |
- |
- /** |
- * True if the element is currently being pressed by a "pointer," which |
- * is loosely defined as mouse or touch input (but specifically excluding |
- * keyboard input). |
- */ |
- pointerDown: { |
- type: Boolean, |
- readOnly: true, |
- value: false |
- }, |
- |
- /** |
- * True if the input device that caused the element to receive focus |
- * was a keyboard. |
- */ |
- receivedFocusFromKeyboard: { |
- type: Boolean, |
- readOnly: true |
- } |
- }, |
- |
- listeners: { |
- down: '_downHandler', |
- up: '_upHandler', |
- tap: '_tapHandler' |
- }, |
- |
- observers: [ |
- '_detectKeyboardFocus(focused)' |
- ], |
- |
- keyBindings: { |
- 'enter:keydown': '_asyncClick', |
- 'space:keydown': '_spaceKeyDownHandler', |
- 'space:keyup': '_spaceKeyUpHandler', |
- }, |
- |
- _tapHandler: function() { |
- if (this.toggles) { |
- // a tap is needed to toggle the active state |
- this._userActivate(!this.active); |
- } else { |
- this.active = false; |
- } |
- }, |
- |
- _detectKeyboardFocus: function(focused) { |
- this._setReceivedFocusFromKeyboard(!this.pointerDown && focused); |
- }, |
- |
- // to emulate native checkbox, (de-)activations from a user interaction fire |
- // 'change' events |
- _userActivate: function(active) { |
- this.active = active; |
- this.fire('change'); |
- }, |
- |
- _downHandler: function() { |
- this._setPointerDown(true); |
- this._setPressed(true); |
- this._setReceivedFocusFromKeyboard(false); |
- }, |
- |
- _upHandler: function() { |
- this._setPointerDown(false); |
- this._setPressed(false); |
- }, |
- |
- _spaceKeyDownHandler: function(event) { |
- var keyboardEvent = event.detail.keyboardEvent; |
- keyboardEvent.preventDefault(); |
- keyboardEvent.stopImmediatePropagation(); |
- this._setPressed(true); |
- }, |
- |
- _spaceKeyUpHandler: function() { |
- if (this.pressed) { |
- this._asyncClick(); |
- } |
- this._setPressed(false); |
- }, |
- |
- // trigger click asynchronously, the asynchrony is useful to allow one |
- // event handler to unwind before triggering another event |
- _asyncClick: function() { |
- this.async(function() { |
- this.click(); |
- }, 1); |
- }, |
- |
- // any of these changes are considered a change to button state |
- |
- _pressedChanged: function(pressed) { |
- this._changedButtonState(); |
- }, |
- |
- _activeChanged: function(active) { |
- if (this.toggles) { |
- this.setAttribute('aria-pressed', active ? 'true' : 'false'); |
- } else { |
- this.removeAttribute('aria-pressed'); |
- } |
- this._changedButtonState(); |
- }, |
- |
- _controlStateChanged: function() { |
- if (this.disabled) { |
- this._setPressed(false); |
- } else { |
- this._changedButtonState(); |
- } |
- }, |
- |
- // provide hook for follow-on behaviors to react to button-state |
- |
- _changedButtonState: function() { |
- if (this._buttonStateChanged) { |
- this._buttonStateChanged(); // abstract |
- } |
- } |
- |
- }; |
- |
- /** @polymerBehavior */ |
- Polymer.IronButtonState = [ |
- Polymer.IronA11yKeysBehavior, |
- Polymer.IronButtonStateImpl |
- ]; |
- |
-</script> |