UNPKG

@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
.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 !important; } .ats-switch.disabled .switch-left, .ats-switch.disabled .switch-right, .ats-switch.disabled .knob { cursor: default !important; } .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; }