|
|
/** * Toggle * -------------------------------------------------- */
.item-toggle { pointer-events: none; }
.toggle { // set the color defaults
@include toggle-style($toggle-on-default-border, $toggle-on-default-bg);
position: relative; display: inline-block; pointer-events: auto; margin: -$toggle-hit-area-expansion; padding: $toggle-hit-area-expansion;
&.dragging { .handle { background-color: $toggle-handle-dragging-bg-color !important; } }
}
.toggle { &.toggle-light { @include toggle-style($toggle-on-light-border, $toggle-on-light-bg); } &.toggle-stable { @include toggle-style($toggle-on-stable-border, $toggle-on-stable-bg); } &.toggle-positive { @include toggle-style($toggle-on-positive-border, $toggle-on-positive-bg); } &.toggle-calm { @include toggle-style($toggle-on-calm-border, $toggle-on-calm-bg); } &.toggle-assertive { @include toggle-style($toggle-on-assertive-border, $toggle-on-assertive-bg); } &.toggle-balanced { @include toggle-style($toggle-on-balanced-border, $toggle-on-balanced-bg); } &.toggle-energized { @include toggle-style($toggle-on-energized-border, $toggle-on-energized-bg); } &.toggle-royal { @include toggle-style($toggle-on-royal-border, $toggle-on-royal-bg); } &.toggle-dark { @include toggle-style($toggle-on-dark-border, $toggle-on-dark-bg); } }
.toggle input { // hide the actual input checkbox
display: none; }
/* the track appearance when the toggle is "off" */ .toggle .track { @include transition-timing-function(ease-in-out); @include transition-duration($toggle-transition-duration); @include transition-property((background-color, border));
display: inline-block; box-sizing: border-box; width: $toggle-width; height: $toggle-height; border: solid $toggle-border-width $toggle-off-border-color; border-radius: $toggle-border-radius; background-color: $toggle-off-bg-color; content: ' '; cursor: pointer; pointer-events: none; }
/* Fix to avoid background color bleeding */ /* (occurred on (at least) Android 4.2, Asus MeMO Pad HD7 ME173X) */ .platform-android4_2 .toggle .track { -webkit-background-clip: padding-box; }
/* the handle (circle) thats inside the toggle's track area */ /* also the handle's appearance when it is "off" */ .toggle .handle { @include transition($toggle-transition-duration cubic-bezier(0, 1.1, 1, 1.1)); @include transition-property((background-color, transform)); position: absolute; display: block; width: $toggle-handle-width; height: $toggle-handle-height; border-radius: $toggle-handle-radius; background-color: $toggle-handle-off-bg-color; top: $toggle-border-width + $toggle-hit-area-expansion; left: $toggle-border-width + $toggle-hit-area-expansion; box-shadow: 0 2px 7px rgba(0,0,0,.35), 0 1px 1px rgba(0,0,0,.15);
&:before { // used to create a larger (but hidden) hit area to slide the handle
position: absolute; top: -4px; left: ( ($toggle-handle-width / 2) * -1) - 8; padding: ($toggle-handle-height / 2) + 5 ($toggle-handle-width + 7); content: " "; } }
.toggle input:checked + .track .handle { // the handle when the toggle is "on"
@include translate3d($toggle-width - $toggle-handle-width - ($toggle-border-width * 2), 0, 0); background-color: $toggle-handle-on-bg-color; }
.item-toggle.active { box-shadow: none; }
.item-toggle, .item-toggle.item-complex .item-content { // make sure list item content have enough padding on right to fit the toggle
padding-right: ($item-padding * 3) + $toggle-width; }
.item-toggle.item-complex { padding-right: 0; }
.item-toggle .toggle { // position the toggle to the right within a list item
position: absolute; top: ($item-padding / 2) + 2; right: $item-padding; z-index: $z-index-item-toggle; }
.toggle input:disabled + .track { opacity: .6; }
.toggle-small {
.track { border: 0; width: 34px; height: 15px; background: #9e9e9e; } input:checked + .track { background: rgba(0,150,137,.5); } .handle { top: 2px; left: 4px; width: 21px; height: 21px; box-shadow: 0 2px 5px rgba(0,0,0,.25); } input:checked + .track .handle { @include translate3d(16px, 0, 0); background: rgb(0,150,137); } &.item-toggle .toggle { top: 19px; }
.toggle-light { @include toggle-small-style($toggle-on-light-bg); } .toggle-stable { @include toggle-small-style($toggle-on-stable-bg); } .toggle-positive { @include toggle-small-style($toggle-on-positive-bg); } .toggle-calm { @include toggle-small-style($toggle-on-calm-bg); } .toggle-assertive { @include toggle-small-style($toggle-on-assertive-bg); } .toggle-balanced { @include toggle-small-style($toggle-on-balanced-bg); } .toggle-energized { @include toggle-small-style($toggle-on-energized-bg); } .toggle-royal { @include toggle-small-style($toggle-on-royal-bg); } .toggle-dark { @include toggle-small-style($toggle-on-dark-bg); } }
|