/* 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; } .hidden { display: none; } #checkboxContainer { display: inline-block; position: relative; width: 18px; height: 18px; cursor: pointer; -webkit-transform: translateZ(0); transform: translateZ(0); vertical-align: middle; background-color: var(--paper-checkbox-unchecked-background-color, transparent); } :host #ink { position: absolute; top: -15px; left: -15px; width: 48px; height: 48px; color: var(--paper-checkbox-unchecked-ink-color, --primary-text-color); opacity: 0.6; pointer-events: none; } :host #ink[checked] { color: var(--paper-checkbox-checked-ink-color, --default-primary-color); } :host #checkbox { position: relative; box-sizing: border-box; height: 100%; border: solid 2px; border-color: var(--paper-checkbox-unchecked-color, --primary-text-color); border-radius: 2px; pointer-events: none; -webkit-transition: background-color 140ms, border-color 140ms; transition: background-color 140ms, border-color 140ms; } /* checkbox checked animations */ #checkbox.checked #checkmark { -webkit-animation: checkmark-expand 140ms ease-out forwards; animation: checkmark-expand 140ms ease-out forwards; } @-webkit-keyframes checkmark-expand { 0% { top: 9px; left: 6px; width: 0px; height: 0px; } 100% { top: -1px; left: 4px; width: 5px; height: 10px; } } @keyframes checkmark-expand { 0% { top: 9px; left: 6px; width: 0px; height: 0px; } 100% { top: -1px; left: 4px; width: 5px; height: 10px; } } :host #checkbox.checked { background-color: var(--paper-checkbox-checked-color, --default-primary-color); border-color: var(--paper-checkbox-checked-color, --default-primary-color); } :host #checkmark { -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: -1px; left: 4px; width: 5px; height: 10px; border-style: solid; border-top: none; border-left: none; border-right-width: 2px; border-bottom-width: 2px; border-color: var(--paper-checkbox-checkmark-color, white); } /* label */ #checkboxLabel { position: relative; display: inline-block; vertical-align: middle; padding-left: 8px; white-space: normal; pointer-events: none; color: var(--paper-checkbox-label-color, --primary-text-color); } #checkboxLabel[hidden] { display: none; } /* disabled state */ :host([disabled]) { pointer-events: none; } :host([disabled]) #checkbox { opacity: 0.5; border-color: var(--paper-checkbox-unchecked-color, --primary-text-color); } :host([disabled][checked]) #checkbox { background-color: var(--paper-checkbox-unchecked-color, --primary-text-color); opacity: 0.5; } :host([disabled]) #checkboxLabel { opacity: 0.65; }