200 lines
5.0 KiB
SCSS
200 lines
5.0 KiB
SCSS
/**
|
|
* Copyright © 2016-2018 The Thingsboard Authors
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
@import "~compass-sass-mixins/lib/compass";
|
|
|
|
$error-height: 14px !default;
|
|
|
|
$background-color: #e6e7e8 !default;
|
|
|
|
.tb-round-switch {
|
|
width: 100%;
|
|
height: 100%;
|
|
background: $background-color;
|
|
|
|
.title-container {
|
|
.switch-title {
|
|
font-weight: 500;
|
|
color: #757575;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
.error-container {
|
|
position: absolute;
|
|
top: 1%;
|
|
right: 0;
|
|
left: 0;
|
|
z-index: 4;
|
|
height: $error-height;
|
|
|
|
.switch-error {
|
|
color: #ff3315;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
#text-measure {
|
|
position: absolute;
|
|
width: auto;
|
|
height: auto;
|
|
white-space: nowrap;
|
|
visibility: hidden;
|
|
}
|
|
|
|
#switch-container {
|
|
padding: 10px;
|
|
|
|
.switch {
|
|
position: relative;
|
|
width: 260px;
|
|
min-width: 260px;
|
|
height: 260px;
|
|
min-height: 260px;
|
|
padding: 25px;
|
|
font-family: sans-serif;
|
|
font-size: 48px;
|
|
|
|
color: #424242;
|
|
cursor: pointer;
|
|
background: #ddd;
|
|
background: linear-gradient(180deg, #bbb, #ddd);
|
|
border-radius: 130px;
|
|
|
|
@include box-sizing(border-box);
|
|
|
|
@include box-shadow(
|
|
0 0 0 8px rgba(0,0,0,.1)
|
|
,0 0 3px 1px rgba(0,0,0,.1)
|
|
,inset 0 8px 3px -8px rgba(255,255,255,.4));
|
|
|
|
input {
|
|
display: none;
|
|
}
|
|
|
|
.on,
|
|
.off {
|
|
position: absolute;
|
|
width: 100%;
|
|
text-align: center;
|
|
|
|
@include text-shadow(1px 1px 4px #4a4a4a);
|
|
}
|
|
|
|
.on {
|
|
top: 10px;
|
|
font-family: sans-serif;
|
|
color: #444;
|
|
|
|
@include transition(all .1s);
|
|
}
|
|
|
|
.off {
|
|
bottom: 5px;
|
|
|
|
@include transition(all .1s);
|
|
|
|
@include transform(scaleY(.85));
|
|
}
|
|
|
|
.but {
|
|
position: relative;
|
|
display: block;
|
|
width: 200px;
|
|
height: 178px;
|
|
font-size: 48px;
|
|
cursor: pointer;
|
|
background-color: #d8d8d8;
|
|
border-bottom-width: 0;
|
|
border-radius: 400px 400px 400px 400px / 400px 400px 300px 300px;
|
|
|
|
@include box-shadow(inset 8px 6px 5px -7px #a2a2a2,
|
|
inset -8px 6px 5px -7px #a2a2a2,
|
|
inset 0 -3px 2px -2px rgba(200, 200, 200, .5),
|
|
0 3px 3px -2px #fff,
|
|
inset 0 -230px 60px -200px rgba(255, 255, 255, .2),
|
|
inset 0 220px 40px -200px rgba(0, 0, 0, .3));
|
|
|
|
@include transition(all .2s);
|
|
}
|
|
|
|
.back {
|
|
width: 210px;
|
|
height: 210px;
|
|
padding: 4px 4px;
|
|
cursor: pointer;
|
|
background-color: #888787;
|
|
background-image: linear-gradient(-90deg, transparent 30%, transparent 70%), linear-gradient(0deg, rgba(150, 150, 150, 0) 30%, rgba(150, 150, 150, .2) 50%, rgba(150, 150, 150, 0) 70%);
|
|
border-radius: 105px;
|
|
|
|
@include box-shadow(30px 30px 30px -20px rgba(58, 58, 58, .3),
|
|
-30px 30px 30px -20px rgba(58, 58, 58, .3),
|
|
0 30px 30px 0 rgba(16, 16, 16, .3),
|
|
inset 0 -1px 0 0 #484848);
|
|
|
|
@include box-sizing(border-box);
|
|
|
|
@include transition(all .2s);
|
|
}
|
|
|
|
|
|
input:checked + .back .on,
|
|
input:checked + .back .off{
|
|
@include text-shadow(1px 1px 4px #4a4a4a);
|
|
}
|
|
|
|
input:checked + .back .on{
|
|
top: 10px;
|
|
color: #4c4c4c;
|
|
|
|
@include transform(scaleY(.85));
|
|
}
|
|
|
|
input:checked + .back .off{
|
|
bottom: 5px;
|
|
color: #444;
|
|
|
|
@include transform(scaleY(1));
|
|
}
|
|
|
|
input:checked + .back .but{
|
|
margin-top: 20px;
|
|
background: #dcdcdc;
|
|
background-image: radial-gradient(50% 15%, circle closest-corner, rgba(0, 0, 0, .3), transparent);
|
|
border-radius: 400px 400px 400px 400px / 300px 300px 400px 400px;
|
|
|
|
@include box-shadow(inset 8px -4px 5px -7px #a9a9a9,
|
|
inset -8px -4px 5px -7px #808080,
|
|
0 -3px 8px -4px rgba(50, 50, 50, .4),
|
|
inset 0 3px 4px -2px #9c9c9c,
|
|
inset 0 280px 40px -200px rgba(0, 0, 0, .2),
|
|
inset 0 -200px 40px -200px rgba(180, 180, 180, .2));
|
|
}
|
|
|
|
input:checked + .back{
|
|
padding: 2px 4px;
|
|
|
|
background-image: linear-gradient(0deg, #868686 30%, transparent 70%), linear-gradient(90deg, rgba(115, 115, 115, 0) 0%, rgba(255, 255, 255, .74) 50%, rgba(105, 105, 105, 0) 100%);
|
|
|
|
@include box-shadow(30px 30px 30px -20px rgba(49, 49, 49, .1),
|
|
-30px 30px 30px -20px rgba(111, 111, 111, .1),
|
|
0 30px 30px 0 rgba(0, 0, 0, .2),
|
|
inset 0 1px 2px 0 rgba(167, 167, 167, .6));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|