Index: third_party/polymer/v0_8/components/paper-radio-button/paper-radio-button.html |
diff --git a/third_party/polymer/v0_8/components/paper-radio-button/paper-radio-button.html b/third_party/polymer/v0_8/components/paper-radio-button/paper-radio-button.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ab67812e20f749c876b6156462629786474e1696 |
--- /dev/null |
+++ b/third_party/polymer/v0_8/components/paper-radio-button/paper-radio-button.html |
@@ -0,0 +1,148 @@ |
+<!-- |
+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="../paper-ripple/paper-ripple.html"> |
+<link rel="import" href="../paper-styles/default-theme.html"> |
+<link rel="import" href="../paper-behaviors/paper-radio-button-behavior.html"> |
+ |
+<!-- |
+`paper-radio-button` is a button that can be either checked or unchecked. |
+User can tap the radio button to check it. But it cannot be unchecked by |
+tapping once checked. |
+ |
+Use `paper-radio-group` to group a set of radio buttons. When radio buttons |
+are inside a radio group, only one radio button in the group can be checked. |
+ |
+Example: |
+ |
+ <paper-radio-button></paper-radio-button> |
+ |
+### Styling |
+ |
+The following custom properties and mixins are available for styling: |
+ |
+Custom property | Description | Default |
+----------------|-------------|---------- |
+`--paper-radio-button-unchecked-color` | Radio button color when the input is not checked | `--primary-text-color` |
+`--paper-radio-button-unchecked-ink-color` | Selected/focus ripple color when the input is not checked | `--primary-text-color` |
+`--paper-radio-button-checked-color` | Radio button color when the input is checked | `--default-primary-color` |
+`--paper-radio-button-checked-ink-color` | Selected/focus ripple color when the input is checked | `--default-primary-color` |
+`--paper-radio-button-label-color` | Label color | `--primary-text-color` |
+ |
+@group Paper Elements |
+@element paper-radio-button |
+@hero hero.svg |
+@demo demo/index.html |
+--> |
+ |
+<style is="custom-style"> |
+ :root { |
+ --paper-radio-button-unchecked-color: var(--primary-text-color); |
+ --paper-radio-button-unchecked-ink-color: var(--primary-text-color); |
+ |
+ --paper-radio-button-checked-color: var(--default-primary-color); |
+ --paper-radio-button-checked-ink-color: var(--default-primary-color); |
+ |
+ --paper-radio-button-label-color: var(--primary-text-color); |
+ } |
+</style> |
+ |
+<dom-module id="paper-radio-button"> |
+ |
+ <link rel="import" type="css" href="paper-radio-button.css"> |
+ |
+ <template> |
+ |
+ <div id="radioContainer"> |
+ <div id="offRadio"></div> |
+ <div id="onRadio"></div> |
+ <paper-ripple id="ink" class="circle" center checked$="[[checked]]"></paper-ripple> |
+ </div> |
+ |
+ <div id="radioLabel" aria-hidden="true"><content></content></div> |
+ |
+ </template> |
+ |
+ <script> |
+ Polymer({ |
+ is: 'paper-radio-button', |
+ |
+ behaviors: [ |
+ Polymer.PaperRadioButtonBehavior |
+ ], |
+ |
+ hostAttributes: { |
+ role: 'radio', |
+ 'aria-checked': false, |
+ tabindex: 0 |
+ }, |
+ |
+ properties: { |
+ /** |
+ * Fired when the checked state changes due to user interaction. |
+ * |
+ * @event change |
+ */ |
+ |
+ /** |
+ * Fired when the checked state changes. |
+ * |
+ * @event iron-change |
+ */ |
+ |
+ /** |
+ * Gets or sets the state, `true` is checked and `false` is unchecked. |
+ */ |
+ checked: { |
+ type: Boolean, |
+ value: false, |
+ reflectToAttribute: true, |
+ notify: true, |
+ observer: '_checkedChanged' |
+ }, |
+ |
+ /** |
+ * If true, the button toggles the active state with each tap or press |
+ * of the spacebar. |
+ */ |
+ toggles: { |
+ type: Boolean, |
+ value: true, |
+ reflectToAttribute: true |
+ } |
+ }, |
+ |
+ ready: function() { |
+ if (Polymer.dom(this).textContent == '') { |
+ this.$.radioLabel.hidden = true; |
+ } else { |
+ this.setAttribute('aria-label', Polymer.dom(this).textContent); |
+ } |
+ this._isReady = true; |
+ }, |
+ |
+ _buttonStateChanged: function() { |
+ if (this.disabled) { |
+ return; |
+ } |
+ if (this._isReady) { |
+ this.checked = this.active; |
+ } |
+ }, |
+ |
+ _checkedChanged: function() { |
+ this.setAttribute('aria-checked', this.checked ? 'true' : 'false'); |
+ this.active = this.checked; |
+ this.fire('iron-change'); |
+ } |
+ }) |
+ </script> |
+ |
+</dom-module> |