Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: third_party/polymer/components/paper-radio-button/paper-radio-button.html

Issue 582873003: Polymer elements added to third_party/polymer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/polymer/components/paper-radio-button/paper-radio-button.html
diff --git a/third_party/polymer/components/paper-radio-button/paper-radio-button.html b/third_party/polymer/components/paper-radio-button/paper-radio-button.html
new file mode 100644
index 0000000000000000000000000000000000000000..9ececf974647112dcb4e257116d7c534dc6b8c76
--- /dev/null
+++ b/third_party/polymer/components/paper-radio-button/paper-radio-button.html
@@ -0,0 +1,148 @@
+<!--
+Copyright (c) 2014 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
+-->
+
+<!--
+`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 radio button:
+
+To change the ink color for checked state:
+
+ paper-radio-button::shadow #ink[checked] {
+ color: #4285f4;
+ }
+
+To change the radio checked color:
+
+ paper-radio-button::shadow #onRadio {
+ background-color: #4285f4;
+ }
+
+To change the ink color for unchecked state:
+
+ paper-radio-button::shadow #ink {
+ color: #b5b5b5;
+ }
+
+To change the radio unchecked color:
+
+ paper-radio-button::shadow #offRadio {
+ border-color: #b5b5b5;
+ }
+
+@group Paper Elements
+@element paper-radio-button
+@homepage github.io
+-->
+
+<link rel="import" href="../paper-ripple/paper-ripple.html">
+
+<polymer-element name="paper-radio-button" role="radio" tabindex="0" aria-checked="false">
+<template>
+
+ <link rel="stylesheet" href="paper-radio-button.css">
+
+ <div id="radioContainer" class="{{ {labeled: label} | tokenList }}">
+
+ <div id="offRadio"></div>
+ <div id="onRadio"></div>
+
+ <paper-ripple id="ink" class="circle recenteringTouch" checked?="{{!checked}}"></paper-ripple>
+
+ </div>
+
+ <div id="radioLabel" aria-hidden="true" hidden?="{{!label}}">{{label}}<content></content></div>
+
+</template>
+<script>
+
+ Polymer('paper-radio-button', {
+
+ /**
+ * Fired when the checked state changes.
+ *
+ * @event change
+ */
+
+ publish: {
+ /**
+ * Gets or sets the state, `true` is checked and `false` is unchecked.
+ *
+ * @attribute checked
+ * @type boolean
+ * @default false
+ */
+ checked: {value: false, reflect: true},
+
+ /**
+ * The label for the radio button.
+ *
+ * @attribute label
+ * @type string
+ * @default ''
+ */
+ label: '',
+
+ /**
+ * Normally the user cannot uncheck the radio button by tapping once
+ * checked. Setting this property to `true` makes the radio button
+ * toggleable from checked to unchecked.
+ *
+ * @attribute toggles
+ * @type boolean
+ * @default false
+ */
+ toggles: false,
+
+ /**
+ * If true, the user cannot interact with this element.
+ *
+ * @attribute disabled
+ * @type boolean
+ * @default false
+ */
+ disabled: {value: false, reflect: true}
+ },
+
+ eventDelegates: {
+ tap: 'tap'
+ },
+
+ tap: function() {
+ this.toggle();
+ this.fire('paper-radio-button-activate');
+ },
+
+ toggle: function() {
+ this.checked = !this.toggles || !this.checked;
+ },
+
+ checkedChanged: function() {
+ this.$.onRadio.classList.toggle('fill', this.checked);
+ this.setAttribute('aria-checked', this.checked ? 'true': 'false');
+ this.fire('change');
+ },
+
+ labelChanged: function() {
+ this.setAttribute('aria-label', this.label);
+ }
+
+ });
+
+</script>
+</polymer-element>

Powered by Google App Engine
This is Rietveld 408576698