// // Dependencies // -------------------------------------------------- @import "global.less"; @import "icon.less"; // // Checkbox // -------------------------------------------------- @import "checkbox.balloon.less"; @color-checkbox-checked: #1F99DC; @color-checkbox-icon: #FFFFFF; @color-checkbox-border: #DCE1E3; @color-checkbox-switch-bg: #f6f6f6; @color-checkbox-switch-on: #76A544; @color-checkbox-switch-off: #BB2424; @color-label-green: @color-checkbox-switch-on; @color-label-red: @color-checkbox-switch-off; // // Checkbox // -------------------------------------------------- .custom-checkbox.nolabel label, .custom-radio.nolabel label { .text-hide(); } // // Nice Checkboxes & Radios // .custom-checkbox, .custom-radio { padding-left: 23px; margin-top: 0; input[type=radio], input[type=checkbox] { display: none; } label { display: inline-block; cursor: pointer; position: relative; padding-left: 35px; margin-right: 15px; margin-left: -20px; .user-select(none); font-size: 15px; &:before { content: ""; display: inline-block; text-align: center; color: @color-checkbox-icon; width: 20px; height: 20px; margin-right: 15px; position: absolute; left: -3px; top: 0; background-color: #FFFFFF; border: 2px solid @color-checkbox-border; } &:hover:before { border-color: darken(@color-checkbox-border, 10%); } &:active:before { border-color: darken(@color-checkbox-border, 20%); } } input[type=radio]:checked + label { &:before { border-color: @color-checkbox-checked; line-height: 17px; border-width: 2px; } &:after { content: ''; width: 14px; height: 14px; background-color: @color-checkbox-checked; display: inline-block; position: absolute; left: 0px; top: 3px; .border-radius(17px); } } input[type=radio][data-radio-color=green]:checked + label { &:before { border-color: @color-label-green; } &:after { background-color: @color-label-green; } } input[type=radio][data-radio-color=red]:checked + label { &:before { border-color: @color-label-red; } &:after { background-color: @color-label-red; } } input[type=checkbox]:checked + label:before { .icon(@check); border-color: @color-checkbox-checked; background-color: @color-checkbox-checked; font-size: 12px; line-height: 17px; border-width: 2px; } &:focus { outline: none; label:before { border-color: @color-focus; } } p.help-block { padding-left: 15px; margin-bottom: 17px; } } .custom-radio label:before { .border-radius(18px); } .custom-checkbox label:before { .border-radius(3px); } // // ON / OFF Switcher // .switch-field { .field-switch { padding-left: 85px; float: left; > label { margin-top: 3px; } } } .custom-switch { display: block; width: 65px; height: 26px; position: relative; text-transform: uppercase; border: none; cursor: pointer; .border-radius(3px); * { .box-sizing(border-box); } &.disabled { .opacity(.5); } .slide-button { z-index: 4; display: block; position: absolute; right: 42px; top: 3px; width: 20px; height: 20px; background-color: @color-checkbox-switch-bg; .border-radius(20px); .transition(all 0.1s); } label, > span { line-height: 23px; vertical-align: middle; } label { z-index: 3; width: 100%; display: block; position: relative; } input { z-index: 5; position: absolute; left: 0; top: 0; .opacity(0); &:checked { ~ .slide-button { right: 4px; } ~ span { background-color: @color-checkbox-switch-on; } ~ span span { &:first-of-type { color: #FFFFFF; display: block; } &:last-of-type { color: #666666; display: none; } } } } > span { display: block; height: 100%; position: absolute; left: 0; width: 100%; background-color: @color-checkbox-switch-off; font-size: 13px; font-weight: bold; .user-select(none); .border-radius(20px); span { z-index: 5; display: block; width: 50%; position: absolute; top: 1px; left: -1px; .box-sizing(border-box); &:last-child { left: 28px; color: #FFFFFF; display: block; } &:first-of-type { padding-left: 13px; display: none; color: #666666; } } } }