@piworks/angular-bootstrap-toggle-switch
Version:
Toggle Switches for AngularJS (and optionally Bootstrap). Based off [Bootstrap switch](http://www.larentis.eu/switch/) by Matt Lartentis and forked from [cgarvis](https://github.com/cgarvis/angular-toggle-switch).
383 lines (382 loc) • 14.3 kB
CSS
.ats-switch {
border: 1px solid;
cursor: pointer;
display: inline-block;
text-align: left;
overflow: hidden;
line-height: 8px;
min-width: 100px;
}
.ats-switch.disabled {
opacity: 0.5;
filter: alpha(opacity=50);
cursor: default ;
}
.ats-switch.disabled .switch-left,
.ats-switch.disabled .switch-right,
.ats-switch.disabled .knob {
cursor: default ;
}
.ats-switch span {
cursor: pointer;
display: inline-block;
float: left;
height: 100%;
line-height: 20px;
padding: 4px;
text-align: center;
width: 33%;
white-space: nowrap;
box-sizing: border-box;
-o-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.ats-switch > div {
position: relative;
width: 150%;
}
.ats-switch .knob {
background: red;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
background-color: #f5f5f5;
width: 34%;
z-index: 100;
}
.ats-switch .switch-on {
left: 0%;
}
.ats-switch .switch-off {
left: -50%;
}
.ats-switch .swtich-left,
.ats-switch .switch-right {
z-index: 1;
}
.ats-switch .switch-left {
color: #fff;
background: #005fcc;
}
.ats-switch .switch-right {
color: #333;
background: #f0f0f0;
}
.ats-switch .switch-animate {
transition: left 0.5s;
-o-transition: left 0.5s;
-moz-transition: left 0.5s;
-webkit-transition: left 0.5s;
}
.clearfix {
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
line-height: 0;
}
.clearfix:after {
clear: both;
}
.hide-text {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.input-block-level {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.ats-switch {
display: inline-block;
cursor: pointer;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
border: 1px solid;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
position: relative;
text-align: left;
overflow: hidden;
line-height: 8px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
vertical-align: middle;
min-width: 100px;
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-moz-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.ats-switch .knob {
text-align: center;
z-index: 100;
width: 34%;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
color: #333;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #f5f5f5;
background-image: -moz-linear-gradient(top, #fff, #e6e6e6);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#e6e6e6));
background-image: -webkit-linear-gradient(top, #fff, #e6e6e6);
background-image: -o-linear-gradient(top, #fff, #e6e6e6);
background-image: linear-gradient(to bottom, #fff, #e6e6e6);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #e6e6e6;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.ats-switch .knob:hover,
.ats-switch .knob:focus,
.ats-switch .knob:active,
.ats-switch .knob.active,
.ats-switch .knob.disabled,
.ats-switch .knob[disabled] {
color: #333;
background-color: #e6e6e6;
*background-color: #d9d9d9;
}
.ats-switch .knob:active,
.ats-switch .knob.active {
background-color: #cccccc \9;
}
.ats-switch span.switch-left {
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
border-top-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
}
.ats-switch span.switch-right {
color: #333;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
background-color: #f0f0f0;
background-image: -moz-linear-gradient(top, #e6e6e6, #fff);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#fff));
background-image: -webkit-linear-gradient(top, #e6e6e6, #fff);
background-image: -o-linear-gradient(top, #e6e6e6, #fff);
background-image: linear-gradient(to bottom, #e6e6e6, #fff);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffffffff', GradientType=0);
border-color: #fff #fff #d9d9d9;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #fff;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.ats-switch span.switch-right:hover,
.ats-switch span.switch-right:focus,
.ats-switch span.switch-right:active,
.ats-switch span.switch-right.active,
.ats-switch span.switch-right.disabled,
.ats-switch span.switch-right[disabled] {
color: #333;
background-color: #fff;
*background-color: #f2f2f2;
}
.ats-switch span.switch-right:active,
.ats-switch span.switch-right.active {
background-color: #e6e6e6 \9;
}
.ats-switch.switch-primary span.switch-left {
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #005fcc;
background-image: -moz-linear-gradient(top, #0044cc, #08c);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0044cc), to(#08c));
background-image: -webkit-linear-gradient(top, #0044cc, #08c);
background-image: -o-linear-gradient(top, #0044cc, #08c);
background-image: linear-gradient(to bottom, #0044cc, #08c);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0044cc', endColorstr='#ff0088cc', GradientType=0);
border-color: #08c #08c #005580;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #08c;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.ats-switch.switch-primary span.switch-left:hover,
.ats-switch.switch-primary span.switch-left:focus,
.ats-switch.switch-primary span.switch-left:active,
.ats-switch.switch-primary span.switch-left.active,
.ats-switch.switch-primary span.switch-left.disabled,
.ats-switch.switch-primary span.switch-left[disabled] {
color: #fff;
background-color: #08c;
*background-color: #0077b3;
}
.ats-switch.switch-primary span.switch-left:active,
.ats-switch.switch-primary span.switch-left.active {
background-color: #006699 \9;
}
.ats-switch.switch-info span.switch-left {
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #41a7c5;
background-image: -moz-linear-gradient(top, #2f96b4, #5bc0de);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2f96b4), to(#5bc0de));
background-image: -webkit-linear-gradient(top, #2f96b4, #5bc0de);
background-image: -o-linear-gradient(top, #2f96b4, #5bc0de);
background-image: linear-gradient(to bottom, #2f96b4, #5bc0de);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2f96b4', endColorstr='#ff5bc0de', GradientType=0);
border-color: #5bc0de #5bc0de #28a1c5;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #5bc0de;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.ats-switch.switch-info span.switch-left:hover,
.ats-switch.switch-info span.switch-left:focus,
.ats-switch.switch-info span.switch-left:active,
.ats-switch.switch-info span.switch-left.active,
.ats-switch.switch-info span.switch-left.disabled,
.ats-switch.switch-info span.switch-left[disabled] {
color: #fff;
background-color: #5bc0de;
*background-color: #46b8da;
}
.ats-switch.switch-info span.switch-left:active,
.ats-switch.switch-info span.switch-left.active {
background-color: #31b0d5 \9;
}
.ats-switch.switch-success span.switch-left {
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #58b058;
background-image: -moz-linear-gradient(top, #51a351, #62c462);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#51a351), to(#62c462));
background-image: -webkit-linear-gradient(top, #51a351, #62c462);
background-image: -o-linear-gradient(top, #51a351, #62c462);
background-image: linear-gradient(to bottom, #51a351, #62c462);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff51a351', endColorstr='#ff62c462', GradientType=0);
border-color: #62c462 #62c462 #3b9e3b;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #62c462;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.ats-switch.switch-success span.switch-left:hover,
.ats-switch.switch-success span.switch-left:focus,
.ats-switch.switch-success span.switch-left:active,
.ats-switch.switch-success span.switch-left.active,
.ats-switch.switch-success span.switch-left.disabled,
.ats-switch.switch-success span.switch-left[disabled] {
color: #fff;
background-color: #62c462;
*background-color: #4fbd4f;
}
.ats-switch.switch-success span.switch-left:active,
.ats-switch.switch-success span.switch-left.active {
background-color: #42b142 \9;
}
.ats-switch.switch-warning span.switch-left {
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #f9a123;
background-image: -moz-linear-gradient(top, #f89406, #fbb450);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f89406), to(#fbb450));
background-image: -webkit-linear-gradient(top, #f89406, #fbb450);
background-image: -o-linear-gradient(top, #f89406, #fbb450);
background-image: linear-gradient(to bottom, #f89406, #fbb450);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff89406', endColorstr='#fffbb450', GradientType=0);
border-color: #fbb450 #fbb450 #f89406;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #fbb450;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.ats-switch.switch-warning span.switch-left:hover,
.ats-switch.switch-warning span.switch-left:focus,
.ats-switch.switch-warning span.switch-left:active,
.ats-switch.switch-warning span.switch-left.active,
.ats-switch.switch-warning span.switch-left.disabled,
.ats-switch.switch-warning span.switch-left[disabled] {
color: #fff;
background-color: #fbb450;
*background-color: #faa937;
}
.ats-switch.switch-warning span.switch-left:active,
.ats-switch.switch-warning span.switch-left.active {
background-color: #fa9f1e \9;
}
.ats-switch.switch-danger span.switch-left {
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #d14641;
background-image: -moz-linear-gradient(top, #bd362f, #ee5f5b);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bd362f), to(#ee5f5b));
background-image: -webkit-linear-gradient(top, #bd362f, #ee5f5b);
background-image: -o-linear-gradient(top, #bd362f, #ee5f5b);
background-image: linear-gradient(to bottom, #bd362f, #ee5f5b);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbd362f', endColorstr='#ffee5f5b', GradientType=0);
border-color: #ee5f5b #ee5f5b #e51d18;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #ee5f5b;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.ats-switch.switch-danger span.switch-left:hover,
.ats-switch.switch-danger span.switch-left:focus,
.ats-switch.switch-danger span.switch-left:active,
.ats-switch.switch-danger span.switch-left.active,
.ats-switch.switch-danger span.switch-left.disabled,
.ats-switch.switch-danger span.switch-left[disabled] {
color: #fff;
background-color: #ee5f5b;
*background-color: #ec4844;
}
.ats-switch.switch-danger span.switch-left:active,
.ats-switch.switch-danger span.switch-left.active {
background-color: #e9322d \9;
}
.ats-switch.switch-default span.switch-left {
color: #333;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
background-color: #f0f0f0;
background-image: -moz-linear-gradient(top, #e6e6e6, #fff);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#fff));
background-image: -webkit-linear-gradient(top, #e6e6e6, #fff);
background-image: -o-linear-gradient(top, #e6e6e6, #fff);
background-image: linear-gradient(to bottom, #e6e6e6, #fff);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffffffff', GradientType=0);
border-color: #fff #fff #d9d9d9;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #fff;
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.ats-switch.switch-default span.switch-left:hover,
.ats-switch.switch-default span.switch-left:focus,
.ats-switch.switch-default span.switch-left:active,
.ats-switch.switch-default span.switch-left.active,
.ats-switch.switch-default span.switch-left.disabled,
.ats-switch.switch-default span.switch-left[disabled] {
color: #333;
background-color: #fff;
*background-color: #f2f2f2;
}
.ats-switch.switch-default span.switch-left:active,
.ats-switch.switch-default span.switch-left.active {
background-color: #e6e6e6 \9;
}