@nteract/styles
Version:
css for use in nteract apps
136 lines (119 loc) • 3.03 kB
CSS
.toggle-switch.react-toggle {
--unchecked-background: #757F88;
--checked-background: #6100FF;
--thumb-background: #FFF;
--track-width: 30px;
--thumb-width: 12px;
touch-action: pan-x;
display: inline-block;
position: relative;
cursor: pointer;
background-color: transparent;
border: 0;
padding: 0;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent;
}
.react-toggle-screenreader-only {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.react-toggle--disabled {
cursor: not-allowed;
opacity: 0.5;
-webkit-transition: opacity 0.25s;
transition: opacity 0.25s;
}
.react-toggle-track {
width: var(--track-width);
height: 16px;
padding: 0;
border-radius: var(--track-width);
background-color: var(--unchecked-background);
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
transition: all 0.2s ease;
border: 1px solid rgba(255, 255, 255, .2);
}
.react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
background-color: var(--unchecked-background);
}
.react-toggle--checked .react-toggle-track {
background-color: var(--checked-background);
}
.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
background-color: var(--checked-background);
}
.react-toggle-track-check {
position: absolute;
width: 14px;
height: 10px;
top: 0px;
bottom: 0px;
margin-top: auto;
margin-bottom: auto;
line-height: 0;
left: 8px;
opacity: 0;
-webkit-transition: opacity 0.25s ease;
-moz-transition: opacity 0.25s ease;
transition: opacity 0.25s ease;
}
.react-toggle--checked .react-toggle-track-check {
opacity: 1;
-webkit-transition: opacity 0.25s ease;
-moz-transition: opacity 0.25s ease;
transition: opacity 0.25s ease;
}
.react-toggle-track-x {
position: absolute;
width: 10px;
height: 10px;
top: 0px;
bottom: 0px;
margin-top: auto;
margin-bottom: auto;
line-height: 0;
right: 10px;
opacity: 1;
-webkit-transition: opacity 0.25s ease;
-moz-transition: opacity 0.25s ease;
transition: opacity 0.25s ease;
}
.react-toggle--checked .react-toggle-track-x {
opacity: 0;
}
.react-toggle-thumb {
transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
position: absolute;
top: 3px;
left: 2px;
width: 12px;
height: 12px;
border: none;
border-radius: 50%;
background-color: var(--thumb-background);
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all 0.25s ease;
-moz-transition: all 0.25s ease;
transition: all 0.25s ease;
}
.react-toggle--checked .react-toggle-thumb {
/* switch track width - thumb width */
left: calc(var(--track-width) - var(--thumb-width));
border-color: none;
}