rsuite
Version:
A suite of react components
562 lines (561 loc) • 15.5 kB
CSS
:root,
.rs-theme-light {
--rs-gray-0: #fff;
--rs-gray-100: #f2f2f5;
--rs-gray-200: #e5e5ea;
--rs-gray-500: #939393;
--rs-gray-600: #717273;
--rs-gray-700: #575757;
--rs-gray-800: #343434;
--rs-gray-900: #121212;
--rs-primary-500: #3498ff;
--rs-border-primary: var(--rs-gray-200);
--rs-tooltip-bg: var(--rs-gray-900);
--rs-tooltip-text: var(--rs-gray-0);
--rs-slider-bar: var(--rs-gray-100);
--rs-slider-hover-bar: var(--rs-gray-200);
--rs-slider-thumb-border: var(--rs-primary-500);
--rs-slider-thumb-bg: #fff;
--rs-slider-thumb-hover-shadow: 0 0 0 8px rgb(from var(--rs-gray-500) r g b / 25%);
--rs-slider-progress: var(--rs-primary-500);
}
@supports not (color: rgb(from white r g b)) {
:root,
.rs-theme-light {
--rs-slider-thumb-hover-shadow: 0 0 0 8px rgba(52, 152, 255, 0.25);
}
}
.rs-theme-dark {
--rs-gray-0: #fff;
--rs-gray-100: #cbced4;
--rs-gray-200: #a4a9b3;
--rs-gray-500: #5c6066;
--rs-gray-600: #3c3f43;
--rs-gray-700: #292d33;
--rs-gray-800: #1a1d24;
--rs-gray-900: #0f131a;
--rs-primary-500: #34c3ff;
--rs-border-primary: var(--rs-gray-600);
--rs-tooltip-bg: var(--rs-gray-500);
--rs-tooltip-text: var(--rs-gray-0);
--rs-slider-bar: var(--rs-gray-600);
--rs-slider-hover-bar: var(--rs-gray-600);
--rs-slider-thumb-border: var(--rs-primary-500);
--rs-slider-thumb-bg: var(--rs-gray-700);
--rs-slider-thumb-hover-shadow: 0 0 0 8px rgb(from var(--rs-primary-500) r g b / 25%);
--rs-slider-progress: var(--rs-primary-500);
}
@supports not (color: rgb(from white r g b)) {
.rs-theme-dark {
--rs-slider-thumb-hover-shadow: 0 0 0 8px rgba(52, 195, 255, 0.25);
}
}
.rs-theme-high-contrast {
--rs-gray-0: #fff;
--rs-gray-100: #cbced4;
--rs-gray-200: #a4a9b3;
--rs-gray-500: #5c6066;
--rs-gray-600: #3c3f43;
--rs-gray-700: #292d33;
--rs-gray-800: #1a1d24;
--rs-gray-900: #0f131a;
--rs-primary-500: #ffff00;
--rs-border-primary: var(--rs-gray-100);
--rs-tooltip-bg: var(--rs-gray-800);
--rs-tooltip-text: var(--rs-gray-0);
--rs-slider-bar: var(--rs-gray-600);
--rs-slider-hover-bar: var(--rs-gray-600);
--rs-slider-thumb-border: var(--rs-primary-500);
--rs-slider-thumb-bg: var(--rs-gray-700);
--rs-slider-thumb-hover-shadow: 0 0 0 8px rgb(from var(--rs-primary-500) r g b / 25%);
--rs-slider-progress: var(--rs-primary-500);
}
@supports not (color: rgb(from white r g b)) {
.rs-theme-high-contrast {
--rs-slider-thumb-hover-shadow: 0 0 0 8px rgba(255, 255, 0, 0.25);
}
}
/* stylelint-disable */
*[class*='rs-'] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
*[class*='rs-']::before,
*[class*='rs-']::after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
/* rtl:begin:ignore */
/* rtl:end:ignore */
.rs-tooltip {
position: absolute;
z-index: 1070;
display: block;
font-size: 12px;
opacity: 0;
line-height: 1.66666667;
max-width: 250px;
padding: 2px 10px;
color: #fff;
color: var(--rs-tooltip-text);
background-color: #121212;
background-color: var(--rs-tooltip-bg);
border-radius: 4px;
overflow-wrap: break-word;
}
.rs-tooltip.rs-anim-fade {
-webkit-transition: opacity 0.1s linear, -webkit-transform 0.1s ease-out;
transition: opacity 0.1s linear, -webkit-transform 0.1s ease-out;
transition: opacity 0.1s linear, transform 0.1s ease-out;
transition: opacity 0.1s linear, transform 0.1s ease-out, -webkit-transform 0.1s ease-out;
}
.rs-tooltip.rs-anim-in {
opacity: 1;
-webkit-transition: opacity 0.15s linear, -webkit-transform 0.15s ease-in;
transition: opacity 0.15s linear, -webkit-transform 0.15s ease-in;
transition: opacity 0.15s linear, transform 0.15s ease-in;
transition: opacity 0.15s linear, transform 0.15s ease-in, -webkit-transform 0.15s ease-in;
}
.rs-tooltip-arrow::before,
.rs-tooltip-arrow::after {
content: ' ';
display: block;
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.rs-tooltip-arrow::before {
display: none;
}
.rs-theme-high-contrast .rs-tooltip {
border: 1px solid #e5e5ea;
border: 1px solid var(--rs-border-primary);
}
.rs-theme-high-contrast .rs-tooltip-arrow::before {
display: block;
}
.rs-tooltip[class*='placement-top'] {
margin-top: -8px;
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
.rs-tooltip[class*='placement-top'].rs-anim-in {
-webkit-transform: translate(0, -2px);
transform: translate(0, -2px);
}
.rs-tooltip[class*='placement-top']::after {
bottom: -6px;
margin-left: -6px;
border-width: 6px 6px 0;
border-top-color: #121212;
border-top-color: var(--rs-tooltip-bg);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.rs-tooltip[class*='placement-top']::after {
bottom: -7px;
}
}
@supports (-ms-ime-align: auto) {
.rs-tooltip[class*='placement-top']::after {
bottom: -7px;
}
}
.rs-theme-high-contrast .rs-tooltip[class*='placement-top']::before {
bottom: -7px;
margin-left: -7px;
border-width: 7px 7px 0;
border-top-color: var(--rs-tooltip-border);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.rs-theme-high-contrast .rs-tooltip[class*='placement-top']::before {
bottom: -8px;
}
}
@supports (-ms-ime-align: auto) {
.rs-theme-high-contrast .rs-tooltip[class*='placement-top']::before {
bottom: -8px;
}
}
.rs-tooltip[class*='placement-bottom'] {
margin-top: 8px;
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
.rs-tooltip[class*='placement-bottom'].rs-anim-in {
-webkit-transform: translate(0, 2px);
transform: translate(0, 2px);
}
.rs-tooltip[class*='placement-bottom']::after {
top: -6px;
margin-left: -6px;
border-width: 0 6px 6px;
border-bottom-color: #121212;
border-bottom-color: var(--rs-tooltip-bg);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.rs-tooltip[class*='placement-bottom']::after {
top: -7px;
}
}
@supports (-ms-ime-align: auto) {
.rs-tooltip[class*='placement-bottom']::after {
top: -7px;
}
}
.rs-theme-high-contrast .rs-tooltip[class*='placement-bottom']::before {
top: -7px;
margin-left: -7px;
border-width: 0 7px 7px;
border-bottom-color: var(--rs-tooltip-border);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.rs-theme-high-contrast .rs-tooltip[class*='placement-bottom']::before {
top: -8px;
}
}
@supports (-ms-ime-align: auto) {
.rs-theme-high-contrast .rs-tooltip[class*='placement-bottom']::before {
top: -8px;
}
}
/* rtl:begin:ignore */
.rs-tooltip[class*='placement-right'] {
margin-left: 8px;
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
.rs-tooltip[class*='placement-right'].rs-anim-in {
-webkit-transform: translate(2px, 0);
transform: translate(2px, 0);
}
.rs-tooltip[class*='placement-right']::after {
left: -6px;
margin-top: -6px;
border-width: 6px 6px 6px 0;
border-right-color: #121212;
border-right-color: var(--rs-tooltip-bg);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.rs-tooltip[class*='placement-right']::after {
left: -7px;
}
}
@supports (-ms-ime-align: auto) {
.rs-tooltip[class*='placement-right']::after {
left: -7px;
}
}
.rs-theme-high-contrast .rs-tooltip[class*='placement-right']::before {
left: -7px;
margin-top: -7px;
border-width: 7px 7px 7px 0;
border-right-color: var(--rs-tooltip-border);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.rs-theme-high-contrast .rs-tooltip[class*='placement-right']::before {
left: -8px;
}
}
@supports (-ms-ime-align: auto) {
.rs-theme-high-contrast .rs-tooltip[class*='placement-right']::before {
left: -8px;
}
}
.rs-tooltip[class*='placement-left'] {
margin-left: -8px;
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
.rs-tooltip[class*='placement-left'].rs-anim-in {
-webkit-transform: translate(-2px, 0);
transform: translate(-2px, 0);
}
.rs-tooltip[class*='placement-left']::after {
right: -6px;
margin-top: -6px;
border-width: 6px 0 6px 6px;
border-left-color: #121212;
border-left-color: var(--rs-tooltip-bg);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.rs-tooltip[class*='placement-left']::after {
right: -7px;
}
}
@supports (-ms-ime-align: auto) {
.rs-tooltip[class*='placement-left']::after {
right: -7px;
}
}
.rs-theme-high-contrast .rs-tooltip[class*='placement-left']::before {
right: -7px;
margin-top: -7px;
border-width: 7px 0 7px 7px;
border-left-color: var(--rs-tooltip-border);
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.rs-theme-high-contrast .rs-tooltip[class*='placement-left']::before {
right: -8px;
}
}
@supports (-ms-ime-align: auto) {
.rs-theme-high-contrast .rs-tooltip[class*='placement-left']::before {
right: -8px;
}
}
/* rtl:end:ignore */
.rs-tooltip.placement-bottom::before,
.rs-tooltip.placement-top::before,
.rs-tooltip.placement-bottom::after,
.rs-tooltip.placement-top::after {
left: 50%;
}
.rs-tooltip.placement-bottom-start::before,
.rs-tooltip.placement-top-start::before,
.rs-tooltip.placement-bottom-start::after,
.rs-tooltip.placement-top-start::after {
left: 10px;
}
.rs-tooltip.placement-bottom-end::before,
.rs-tooltip.placement-top-end::before {
right: 3px;
}
.rs-tooltip.placement-bottom-end::after,
.rs-tooltip.placement-top-end::after {
right: 4px;
}
.rs-tooltip.placement-right::before,
.rs-tooltip.placement-left::before,
.rs-tooltip.placement-right::after,
.rs-tooltip.placement-left::after {
top: 50%;
}
.rs-tooltip.placement-right-start::before,
.rs-tooltip.placement-left-start::before,
.rs-tooltip.placement-right-start::after,
.rs-tooltip.placement-left-start::after {
top: 10px;
}
.rs-tooltip.placement-right-end::before,
.rs-tooltip.placement-left-end::before {
bottom: 3px;
}
.rs-tooltip.placement-right-end::after,
.rs-tooltip.placement-left-end::after {
bottom: 4px;
}
.rs-slider {
position: relative;
}
.rs-slider .rs-tooltip {
display: none;
}
.rs-slider .rs-tooltip.rs-tooltip-placement-top .rs-tooltip::after {
margin: auto;
left: 0;
right: 0;
}
.rs-slider-disabled {
opacity: 0.5;
cursor: not-allowed;
}
.rs-slider-disabled .rs-slider-bar,
.rs-slider-disabled .rs-slider-handle::before {
pointer-events: none;
}
.rs-slider-with-mark:not(.rs-slider-vertical) {
margin-bottom: 29px;
}
.rs-slider-bar {
height: 6px;
border-radius: 3px;
background-color: #f2f2f5;
background-color: var(--rs-slider-bar);
-webkit-transition: background-color ease-in-out 0.3s;
transition: background-color ease-in-out 0.3s;
cursor: pointer;
}
.rs-slider:hover .rs-slider-bar {
background-color: #e5e5ea;
background-color: var(--rs-slider-hover-bar);
}
.rs-slider-vertical .rs-slider-bar {
height: 100%;
width: 6px;
}
.rs-slider-handle {
position: absolute;
top: -50%;
outline: none;
}
.rs-slider-handle::before {
content: '';
position: absolute;
width: 12px;
height: 12px;
border-radius: 50%;
border: 2px solid #3498ff;
border: 2px solid var(--rs-slider-thumb-border);
background-color: #fff;
background-color: var(--rs-slider-thumb-bg);
margin-left: -6px;
cursor: pointer;
/* stylelint-disable */
-webkit-transition: background-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
transition: box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.15s ease-in-out;
transition: box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
/* stylelint-enable */
}
.rs-slider-handle:hover::before,
.rs-slider-handle:focus::before {
-webkit-box-shadow: 0 0 0 8px rgb(from #939393 r g b / 25%);
-webkit-box-shadow: var(--rs-slider-thumb-hover-shadow);
box-shadow: 0 0 0 8px rgb(from #939393 r g b / 25%);
box-shadow: var(--rs-slider-thumb-hover-shadow);
}
.rs-slider-handle:active::before,
.rs-slider-handle.active::before {
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
.rs-slider-vertical .rs-slider-handle {
top: unset;
}
.rs-slider-vertical .rs-slider-handle::before {
left: 3px;
margin-top: -6px;
}
.rs-slider-handle:hover .rs-tooltip,
.rs-slider-handle.active .rs-tooltip {
display: block;
opacity: 1;
top: -30px;
}
.rs-slider-vertical .rs-slider-handle:hover .rs-tooltip,
.rs-slider-vertical .rs-slider-handle.active .rs-tooltip {
top: -33px;
margin-left: 3px;
}
.rs-slider-mark {
position: absolute;
top: 15px;
left: -2px;
white-space: nowrap;
}
.rs-slider-mark-content {
margin-left: -50%;
}
.rs-slider-mark-last {
left: auto;
right: -2px;
}
.rs-slider-mark-last .rs-slider-mark-content {
margin-left: 50%;
}
.rs-slider-graduator {
width: 100%;
}
.rs-slider-graduator ol,
.rs-slider-graduator li {
list-style: none;
}
.rs-slider-graduator > ol {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
padding-left: 0;
width: 100%;
}
.rs-slider-graduator > ol > li {
-webkit-box-flex: 1;
-ms-flex: 1 1 1%;
flex: 1 1 1%;
position: relative;
}
.rs-slider-graduator > ol > li:last-child::after,
.rs-slider-graduator > ol > li::before {
content: '';
display: block;
position: absolute;
width: 8px;
height: 8px;
border-radius: 50%;
background-color: #fff;
background-color: var(--rs-slider-thumb-bg);
-webkit-box-sizing: border-box;
box-sizing: border-box;
border: 2px solid #f2f2f5;
border: 2px solid var(--rs-slider-bar);
margin-left: -4px;
top: -1px;
}
.rs-slider-vertical .rs-slider-graduator > ol > li:last-child::after,
.rs-slider-vertical .rs-slider-graduator > ol > li::before {
top: unset;
bottom: -4px;
margin-left: -1px;
}
.rs-slider-graduator > ol > li:last-child::after {
right: -4px;
}
.rs-slider-vertical .rs-slider-graduator > ol > li:last-child::after {
left: 0;
bottom: unset;
top: -4px;
}
.rs-slider-graduator > ol > li.rs-slider-pass::before {
border-color: #3498ff;
border-color: var(--rs-slider-progress);
}
.rs-slider-graduator > ol > li.rs-slider-active::before {
visibility: hidden;
}
.rs-slider-vertical .rs-slider-graduator {
display: block;
height: 100%;
}
.rs-slider-vertical .rs-slider-graduator > ol {
width: 6px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse;
height: 100%;
padding: 0;
}
.rs-slider-vertical .rs-slider-graduator > ol > li {
display: block;
padding: 0;
}
.rs-slider-progress-bar {
position: absolute;
height: 6px;
border-radius: 3px 0 0 3px;
background-color: #3498ff;
background-color: var(--rs-slider-progress);
}
.rs-slider-vertical .rs-slider-progress-bar {
width: 6px;
border-radius: 0 0 3px 3px;
}
.rs-slider-vertical {
height: 100%;
}
.rs-slider-vertical .rs-slider-mark {
top: unset;
bottom: -8px;
left: 15px;
}
.rs-slider-vertical .rs-slider-mark-content {
margin-left: auto;
}
.rs-slider-vertical .rs-slider-mark-last {
bottom: unset;
top: -8px;
}