FreeTube/src/renderer/components/ft-toggle-switch/ft-toggle-switch.sass

80 lines
1.7 KiB
Sass

/* Thanks to Guus Lieben for the Material Design Switch */
.switch-ctn
margin: 20px 16px
position: relative
&.compact
margin: 0
.disabled
.switch-label
cursor: not-allowed
.switch-label-text
opacity: 0.4
.switch-input
-moz-appearance: none
-webkit-appearance: none
appearance: none
height: 20px
left: -3px
position: absolute
top: calc(50% - 3px)
-ms-transform: translate(0, (-50%))
-webkit-transform: translate(0, -50%)
transform: translate(0, -50%)
width: 34px
.switch-label
position: relative
display: inline-block
cursor: pointer
font-weight: 500
text-align: left
padding: 12px 0 12px 44px
&:before, &:after
content: ""
position: absolute
margin: 0
outline: 0
top: 50%
-ms-transform: translate(0, -50%)
-webkit-transform: translate(0, -50%)
transform: translate(0, -50%)
-webkit-transition: all 0.3s ease
transition: all 0.3s ease
&:before
left: 1px
width: 34px
height: 14px
background-color: #9E9E9E
border-radius: 8px
.switch-input:checked + &
background-color: var(--accent-color-light)
.switch-input:disabled + &
background-color: #9E9E9E
&:after
left: 0
width: 20px
height: 20px
background-color: #FAFAFA
border-radius: 50%
box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084)
.switch-input:checked + &
background-color: var(--accent-color)
-ms-transform: translate(80%, -50%)
-webkit-transform: translate(80%, -50%)
transform: translate(80%, -50%)
.switch-input:disabled + &
background-color: #BDBDBD