| rev | 
   line source | 
| 
bsw/jbe@1309
 | 
     1 /**
 | 
| 
bsw/jbe@1309
 | 
     2  * Copyright 2015 Google Inc. All Rights Reserved.
 | 
| 
bsw/jbe@1309
 | 
     3  *
 | 
| 
bsw/jbe@1309
 | 
     4  * Licensed under the Apache License, Version 2.0 (the "License");
 | 
| 
bsw/jbe@1309
 | 
     5  * you may not use this file except in compliance with the License.
 | 
| 
bsw/jbe@1309
 | 
     6  * You may obtain a copy of the License at
 | 
| 
bsw/jbe@1309
 | 
     7  *
 | 
| 
bsw/jbe@1309
 | 
     8  *      http://www.apache.org/licenses/LICENSE-2.0
 | 
| 
bsw/jbe@1309
 | 
     9  *
 | 
| 
bsw/jbe@1309
 | 
    10  * Unless required by applicable law or agreed to in writing, software
 | 
| 
bsw/jbe@1309
 | 
    11  * distributed under the License is distributed on an "AS IS" BASIS,
 | 
| 
bsw/jbe@1309
 | 
    12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
| 
bsw/jbe@1309
 | 
    13  * See the License for the specific language governing permissions and
 | 
| 
bsw/jbe@1309
 | 
    14  * limitations under the License.
 | 
| 
bsw/jbe@1309
 | 
    15  */
 | 
| 
bsw/jbe@1309
 | 
    16 
 | 
| 
bsw/jbe@1309
 | 
    17 @import "../variables";
 | 
| 
bsw/jbe@1309
 | 
    18 @import "../mixins";
 | 
| 
bsw/jbe@1309
 | 
    19 
 | 
| 
bsw/jbe@1309
 | 
    20 .mdl-checkbox {
 | 
| 
bsw/jbe@1309
 | 
    21   position: relative;
 | 
| 
bsw/jbe@1309
 | 
    22 
 | 
| 
bsw/jbe@1309
 | 
    23   z-index: 1;
 | 
| 
bsw/jbe@1309
 | 
    24 
 | 
| 
bsw/jbe@1309
 | 
    25   vertical-align: middle;
 | 
| 
bsw/jbe@1309
 | 
    26 
 | 
| 
bsw/jbe@1309
 | 
    27   display: inline-block;
 | 
| 
bsw/jbe@1309
 | 
    28 
 | 
| 
bsw/jbe@1309
 | 
    29   box-sizing: border-box;
 | 
| 
bsw/jbe@1309
 | 
    30   width: 100%;
 | 
| 
bsw/jbe@1309
 | 
    31   height: $checkbox-label-height;
 | 
| 
bsw/jbe@1309
 | 
    32   margin: 0;
 | 
| 
bsw/jbe@1309
 | 
    33   padding: 0;
 | 
| 
bsw/jbe@1309
 | 
    34 
 | 
| 
bsw/jbe@1309
 | 
    35   &.is-upgraded {
 | 
| 
bsw/jbe@1309
 | 
    36     padding-left: $checkbox-button-size + $checkbox-padding;
 | 
| 
bsw/jbe@1309
 | 
    37   }
 | 
| 
bsw/jbe@1309
 | 
    38 }
 | 
| 
bsw/jbe@1309
 | 
    39 
 | 
| 
bsw/jbe@1309
 | 
    40 .mdl-checkbox__input {
 | 
| 
bsw/jbe@1309
 | 
    41   line-height: $checkbox-label-height;
 | 
| 
bsw/jbe@1309
 | 
    42 
 | 
| 
bsw/jbe@1309
 | 
    43   .mdl-checkbox.is-upgraded & {
 | 
| 
bsw/jbe@1309
 | 
    44     // Hide input element, while still making it respond to focus.
 | 
| 
bsw/jbe@1309
 | 
    45     position: absolute;
 | 
| 
bsw/jbe@1309
 | 
    46     width: 0;
 | 
| 
bsw/jbe@1309
 | 
    47     height: 0;
 | 
| 
bsw/jbe@1309
 | 
    48     margin: 0;
 | 
| 
bsw/jbe@1309
 | 
    49     padding: 0;
 | 
| 
bsw/jbe@1309
 | 
    50     opacity: 0;
 | 
| 
bsw/jbe@1309
 | 
    51     -ms-appearance: none;
 | 
| 
bsw/jbe@1309
 | 
    52     -moz-appearance: none;
 | 
| 
bsw/jbe@1309
 | 
    53     -webkit-appearance: none;
 | 
| 
bsw/jbe@1309
 | 
    54     appearance: none;
 | 
| 
bsw/jbe@1309
 | 
    55     border: none;
 | 
| 
bsw/jbe@1309
 | 
    56   }
 | 
| 
bsw/jbe@1309
 | 
    57 }
 | 
| 
bsw/jbe@1309
 | 
    58 
 | 
| 
bsw/jbe@1309
 | 
    59 .mdl-checkbox__box-outline {
 | 
| 
bsw/jbe@1309
 | 
    60   position: absolute;
 | 
| 
bsw/jbe@1309
 | 
    61   top: $checkbox-top-offset;
 | 
| 
bsw/jbe@1309
 | 
    62   left: 0;
 | 
| 
bsw/jbe@1309
 | 
    63 
 | 
| 
bsw/jbe@1309
 | 
    64   display: inline-block;
 | 
| 
bsw/jbe@1309
 | 
    65 
 | 
| 
bsw/jbe@1309
 | 
    66   box-sizing: border-box;
 | 
| 
bsw/jbe@1309
 | 
    67   width: $checkbox-button-size;
 | 
| 
bsw/jbe@1309
 | 
    68   height: $checkbox-button-size;
 | 
| 
bsw/jbe@1309
 | 
    69   margin: 0;
 | 
| 
bsw/jbe@1309
 | 
    70 
 | 
| 
bsw/jbe@1309
 | 
    71   cursor: pointer;
 | 
| 
bsw/jbe@1309
 | 
    72   overflow: hidden;
 | 
| 
bsw/jbe@1309
 | 
    73 
 | 
| 
bsw/jbe@1309
 | 
    74   border: 2px solid $checkbox-off-color;
 | 
| 
bsw/jbe@1309
 | 
    75   border-radius: 2px;
 | 
| 
bsw/jbe@1309
 | 
    76 
 | 
| 
bsw/jbe@1309
 | 
    77   z-index: 2;
 | 
| 
bsw/jbe@1309
 | 
    78 
 | 
| 
bsw/jbe@1309
 | 
    79   .mdl-checkbox.is-checked & {
 | 
| 
bsw/jbe@1309
 | 
    80     border: 2px solid $checkbox-color;
 | 
| 
bsw/jbe@1309
 | 
    81   }
 | 
| 
bsw/jbe@1309
 | 
    82 
 | 
| 
bsw/jbe@1309
 | 
    83   fieldset[disabled] .mdl-checkbox &,
 | 
| 
bsw/jbe@1309
 | 
    84   .mdl-checkbox.is-disabled & {
 | 
| 
bsw/jbe@1309
 | 
    85     border: 2px solid $checkbox-disabled-color;
 | 
| 
bsw/jbe@1309
 | 
    86     cursor: auto;
 | 
| 
bsw/jbe@1309
 | 
    87   }
 | 
| 
bsw/jbe@1309
 | 
    88 }
 | 
| 
bsw/jbe@1309
 | 
    89 
 | 
| 
bsw/jbe@1309
 | 
    90 .mdl-checkbox__focus-helper {
 | 
| 
bsw/jbe@1309
 | 
    91   position: absolute;
 | 
| 
bsw/jbe@1309
 | 
    92   top: $checkbox-top-offset;
 | 
| 
bsw/jbe@1309
 | 
    93   left: 0;
 | 
| 
bsw/jbe@1309
 | 
    94 
 | 
| 
bsw/jbe@1309
 | 
    95   display: inline-block;
 | 
| 
bsw/jbe@1309
 | 
    96 
 | 
| 
bsw/jbe@1309
 | 
    97   box-sizing: border-box;
 | 
| 
bsw/jbe@1309
 | 
    98   width: $checkbox-button-size;
 | 
| 
bsw/jbe@1309
 | 
    99   height: $checkbox-button-size;
 | 
| 
bsw/jbe@1309
 | 
   100   border-radius: 50%;
 | 
| 
bsw/jbe@1309
 | 
   101 
 | 
| 
bsw/jbe@1309
 | 
   102   background-color: transparent;
 | 
| 
bsw/jbe@1309
 | 
   103 
 | 
| 
bsw/jbe@1309
 | 
   104   .mdl-checkbox.is-focused & {
 | 
| 
bsw/jbe@1309
 | 
   105     box-shadow: 0 0 0px ($checkbox-button-size / 2) rgba(0, 0, 0, 0.1);
 | 
| 
bsw/jbe@1309
 | 
   106     background-color: rgba(0, 0, 0, 0.1);
 | 
| 
bsw/jbe@1309
 | 
   107   }
 | 
| 
bsw/jbe@1309
 | 
   108 
 | 
| 
bsw/jbe@1309
 | 
   109   .mdl-checkbox.is-focused.is-checked & {
 | 
| 
bsw/jbe@1309
 | 
   110     box-shadow: 0 0 0px ($checkbox-button-size / 2) $checkbox-focus-color;
 | 
| 
bsw/jbe@1309
 | 
   111     background-color: $checkbox-focus-color;
 | 
| 
bsw/jbe@1309
 | 
   112   }
 | 
| 
bsw/jbe@1309
 | 
   113 }
 | 
| 
bsw/jbe@1309
 | 
   114 
 | 
| 
bsw/jbe@1309
 | 
   115 .mdl-checkbox__tick-outline {
 | 
| 
bsw/jbe@1309
 | 
   116   position: absolute;
 | 
| 
bsw/jbe@1309
 | 
   117   top: 0;
 | 
| 
bsw/jbe@1309
 | 
   118   left: 0;
 | 
| 
bsw/jbe@1309
 | 
   119   height: 100%;
 | 
| 
bsw/jbe@1309
 | 
   120   width: 100%;
 | 
| 
bsw/jbe@1309
 | 
   121   mask: url("#{$checkbox-image-path}/tick-mask.svg?embed");
 | 
| 
bsw/jbe@1309
 | 
   122 
 | 
| 
bsw/jbe@1309
 | 
   123   background: transparent;
 | 
| 
bsw/jbe@1309
 | 
   124   @include material-animation-default(0.28s);
 | 
| 
bsw/jbe@1309
 | 
   125   transition-property: background;
 | 
| 
bsw/jbe@1309
 | 
   126 
 | 
| 
bsw/jbe@1309
 | 
   127   .mdl-checkbox.is-checked & {
 | 
| 
bsw/jbe@1309
 | 
   128     background: $checkbox-color url("#{$checkbox-image-path}/tick.svg?embed");
 | 
| 
bsw/jbe@1309
 | 
   129   }
 | 
| 
bsw/jbe@1309
 | 
   130 
 | 
| 
bsw/jbe@1309
 | 
   131   fieldset[disabled] .mdl-checkbox.is-checked &,
 | 
| 
bsw/jbe@1309
 | 
   132   .mdl-checkbox.is-checked.is-disabled & {
 | 
| 
bsw/jbe@1309
 | 
   133     background: $checkbox-disabled-color url("#{$checkbox-image-path}/tick.svg?embed");
 | 
| 
bsw/jbe@1309
 | 
   134   }
 | 
| 
bsw/jbe@1309
 | 
   135 }
 | 
| 
bsw/jbe@1309
 | 
   136 
 | 
| 
bsw/jbe@1309
 | 
   137 .mdl-checkbox__label {
 | 
| 
bsw/jbe@1309
 | 
   138   position: relative;
 | 
| 
bsw/jbe@1309
 | 
   139   cursor: pointer;
 | 
| 
bsw/jbe@1309
 | 
   140   font-size: $checkbox-label-font-size;
 | 
| 
bsw/jbe@1309
 | 
   141   line-height: $checkbox-label-height;
 | 
| 
bsw/jbe@1309
 | 
   142   margin: 0;
 | 
| 
bsw/jbe@1309
 | 
   143 
 | 
| 
bsw/jbe@1309
 | 
   144   fieldset[disabled] .mdl-checkbox &,
 | 
| 
bsw/jbe@1309
 | 
   145   .mdl-checkbox.is-disabled & {
 | 
| 
bsw/jbe@1309
 | 
   146     color: $checkbox-disabled-color;
 | 
| 
bsw/jbe@1309
 | 
   147     cursor: auto;
 | 
| 
bsw/jbe@1309
 | 
   148   }
 | 
| 
bsw/jbe@1309
 | 
   149 }
 | 
| 
bsw/jbe@1309
 | 
   150 
 | 
| 
bsw/jbe@1309
 | 
   151 .mdl-checkbox__ripple-container {
 | 
| 
bsw/jbe@1309
 | 
   152   position: absolute;
 | 
| 
bsw/jbe@1309
 | 
   153   z-index: 2;
 | 
| 
bsw/jbe@1309
 | 
   154   top: -(($checkbox-ripple-size - $checkbox-label-height) / 2);
 | 
| 
bsw/jbe@1309
 | 
   155   left: -(($checkbox-ripple-size - $checkbox-button-size) / 2);
 | 
| 
bsw/jbe@1309
 | 
   156 
 | 
| 
bsw/jbe@1309
 | 
   157   box-sizing: border-box;
 | 
| 
bsw/jbe@1309
 | 
   158   width: $checkbox-ripple-size;
 | 
| 
bsw/jbe@1309
 | 
   159   height: $checkbox-ripple-size;
 | 
| 
bsw/jbe@1309
 | 
   160   border-radius: 50%;
 | 
| 
bsw/jbe@1309
 | 
   161 
 | 
| 
bsw/jbe@1309
 | 
   162   cursor: pointer;
 | 
| 
bsw/jbe@1309
 | 
   163 
 | 
| 
bsw/jbe@1309
 | 
   164   overflow: hidden;
 | 
| 
bsw/jbe@1309
 | 
   165   -webkit-mask-image: -webkit-radial-gradient(circle, white, black);
 | 
| 
bsw/jbe@1309
 | 
   166 
 | 
| 
bsw/jbe@1309
 | 
   167   & .mdl-ripple {
 | 
| 
bsw/jbe@1309
 | 
   168     background: $checkbox-color;
 | 
| 
bsw/jbe@1309
 | 
   169   }
 | 
| 
bsw/jbe@1309
 | 
   170 
 | 
| 
bsw/jbe@1309
 | 
   171   fieldset[disabled] .mdl-checkbox &,
 | 
| 
bsw/jbe@1309
 | 
   172   .mdl-checkbox.is-disabled & {
 | 
| 
bsw/jbe@1309
 | 
   173     cursor: auto;
 | 
| 
bsw/jbe@1309
 | 
   174   }
 | 
| 
bsw/jbe@1309
 | 
   175 
 | 
| 
bsw/jbe@1309
 | 
   176   fieldset[disabled] .mdl-checkbox & .mdl-ripple,
 | 
| 
bsw/jbe@1309
 | 
   177   .mdl-checkbox.is-disabled & .mdl-ripple {
 | 
| 
bsw/jbe@1309
 | 
   178     background: transparent;
 | 
| 
bsw/jbe@1309
 | 
   179   }
 | 
| 
bsw/jbe@1309
 | 
   180 }
 |