/* 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 */ :host { display: inline-block; white-space: nowrap; } :host(:focus) { outline: none; } #radioContainer { display: inline-block; position: relative; width: 16px; height: 16px; cursor: pointer; vertical-align: middle; } :host #ink { position: absolute; top: -16px; left: -16px; width: 48px; height: 48px; color: var(--paper-radio-button-unchecked-ink-color, --primary-text-color); opacity: 0.6; pointer-events: none; } :host #ink[checked] { color: var(--paper-radio-button-checked-ink-color, --default-primary-color); } :host #offRadio { position: absolute; box-sizing: content-box; top: 0px; left: 0px; width: 12px; height: 12px; border-radius: 50%; border: solid 2px; background-color: var(--paper-radio-button-unchecked-background-color, transparent); border-color: var(--paper-radio-button-unchecked-color, --primary-text-color); transition: border-color 0.28s; } :host #onRadio { position: absolute; box-sizing: content-box; top: 4px; left: 4px; width: 8px; height: 8px; border-radius: 50%; background-color: var(--paper-radio-button-checked-color, --default-primary-color); -webkit-transform: scale(0); transform: scale(0); transition: -webkit-transform ease 0.28s; transition: transform ease 0.28s; } :host([checked]) #offRadio { border-color: var(--paper-radio-button-checked-color, --default-primary-color); } :host([checked]) #onRadio { -webkit-transform: scale(1); transform: scale(1); } #radioLabel { position: relative; display: inline-block; vertical-align: middle; margin-left: 10px; white-space: normal; pointer-events: none; color: var(--paper-radio-button-label-color, --primary-text-color); } #radioLabel[hidden] { display: none; } /* disabled state */ :host([disabled]) { pointer-events: none; } :host([disabled]) #offRadio { border-color: var(--paper-radio-button-unchecked-color, --primary-text-color); opacity: 0.5; } :host([disabled][checked]) #onRadio { background-color: var(--paper-radio-button-unchecked-color, --primary-text-color); opacity: 0.5; } :host([disabled]) #radioLabel { /* slightly darker than the button, so that it's readable */ opacity: 0.65; }