rsuite
Version:
A suite of react components
542 lines (527 loc) • 16.3 kB
CSS
*[class*=rs-],*[class*=rs-]::before, *[class*=rs-]::after{
box-sizing:border-box;
}
html{
-webkit-tap-highlight-color:transparent;
font-size:16px;
}
body{
font-family:var(--rs-font-family-base);
font-size:var(--rs-font-size-sm);
line-height:var(--rs-line-height-md);
color:var(--rs-text-primary);
background-color:var(--rs-body);
}
:root{
--rs-gray-0:#fff;
--rs-gray-50:#f7f7fa;
--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-body:var(--rs-gray-0);
--rs-text-primary:var(--rs-gray-800);
--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-slider-thumb-hover-shadow:0 0 0 8px rgba(52, 152, 255, 0.25);
}
}
[data-theme=dark],
.rs-theme-dark{
--rs-gray-0:#fff;
--rs-gray-50:#e9ebf0;
--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-body:var(--rs-gray-900);
--rs-text-primary:var(--rs-gray-50);
--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)){
[data-theme=dark],
.rs-theme-dark{
--rs-slider-thumb-hover-shadow:0 0 0 8px rgba(52, 195, 255, 0.25);
}
}
[data-theme=high-contrast],
.rs-theme-high-contrast{
--rs-gray-0:#fff;
--rs-gray-50:#e9ebf0;
--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-body:var(--rs-gray-900);
--rs-text-primary:var(--rs-gray-50);
--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)){
[data-theme=high-contrast],
.rs-theme-high-contrast{
--rs-slider-thumb-hover-shadow:0 0 0 8px rgba(255, 255, 0, 0.25);
}
}
:root{
--rs-font-family-base:-apple-system, BlinkMacSystemFont, Arial, Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", STXihei, sans-serif;
--rs-font-size-xs:0.75rem;
--rs-font-size-sm:0.875rem;
--rs-line-height-base:20px;
--rs-line-height-md:calc(20 / 14);
--rs-text-line-height-xs:calc(1 / 0.75);
--rs-spacing:0.25rem;
--rs-radius-sm:0.25rem;
--rs-radius-full:62.5rem;
--rs-cursor-disabled:not-allowed;
--rs-zindex-tooltip:1070;
}
@media (max-width: calc(576px - 1px)){
[data-visible-from=xs]{
display:none ;
}
}
@media (min-width: 576px){
[data-hidden-from=xs]{
display:none ;
}
}
@media (max-width: calc(768px - 1px)){
[data-visible-from=sm]{
display:none ;
}
}
@media (min-width: 768px){
[data-hidden-from=sm]{
display:none ;
}
}
@media (max-width: calc(992px - 1px)){
[data-visible-from=md]{
display:none ;
}
}
@media (min-width: 992px){
[data-hidden-from=md]{
display:none ;
}
}
@media (max-width: calc(1200px - 1px)){
[data-visible-from=lg]{
display:none ;
}
}
@media (min-width: 1200px){
[data-hidden-from=lg]{
display:none ;
}
}
@media (max-width: calc(1400px - 1px)){
[data-visible-from=xl]{
display:none ;
}
}
@media (min-width: 1400px){
[data-hidden-from=xl]{
display:none ;
}
}
.rs-tooltip{
--rs-tooltip-border-radius:var(--rs-radius-sm);
--rs-tooltip-padding-block:4px;
--rs-tooltip-padding-inline:10px;
--rs-tooltip-z-index:var(--rs-zindex-tooltip);
--rs-tooltip-max-width:250px;
--rs-tooltip-line-height:var(--rs-text-line-height-xs);
--rs-tooltip-position-x:var(--rs-position-x);
--rs-tooltip-position-y:var(--rs-position-y);
--rs-tooltip-opacity:var(--rs-opacity, 0);
--rs-tooltip-arrow-gap-sm:var(--rs-spacing);
--rs-tooltip-arrow-gap-lg:calc(var(--rs-spacing) * 2.5);
--rs-tooltip-translate-distance:2px;
--rs-tooltip-arrow-width:6px;
position:absolute;
top:var(--rs-tooltip-position-y);
left:var(--rs-tooltip-position-x);
z-index:var(--rs-tooltip-z-index);
display:block;
font-size:var(--rs-font-size-xs);
opacity:var(--rs-tooltip-opacity);
line-height:var(--rs-tooltip-line-height);
max-width:var(--rs-tooltip-max-width);
padding:var(--rs-tooltip-padding-block) var(--rs-tooltip-padding-inline);
color:var(--rs-tooltip-text);
background-color:var(--rs-tooltip-bg);
border-radius:var(--rs-tooltip-border-radius);
overflow-wrap:break-word;
}
.rs-tooltip.rs-anim-fade{
transition:opacity 0.1s linear, transform 0.1s ease-out;
}
.rs-tooltip.rs-anim-in{
opacity:1;
transition:opacity 0.15s linear, 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;
}
[data-theme=high-contrast] .rs-tooltip, .rs-theme-high-contrast .rs-tooltip{
border:1px solid var(--rs-border-primary);
}
[data-theme=high-contrast] .rs-tooltip-arrow::before, .rs-theme-high-contrast .rs-tooltip-arrow::before{
display:block;
}
.rs-tooltip:where([data-placement*=top]){
margin-top:calc((var(--rs-tooltip-arrow-width) + 2px) * -1);
transform:translate(0, calc(var(--rs-tooltip-translate-distance) * -1));
}
.rs-tooltip:where([data-placement*=top])::after{
bottom:-6px;
margin-inline-start:-6px;
border-width:6px 6px 0;
border-top-color:var(--rs-tooltip-bg);
}
[data-theme=high-contrast] .rs-tooltip:where([data-placement*=top])::before, .rs-theme-high-contrast .rs-tooltip:where([data-placement*=top])::before{
bottom:-7px;
margin-inline-start:-7px;
border-width:7px 7px 0;
border-top-color:var(--rs-tooltip-border);
}
.rs-tooltip:where([data-placement*=bottom]){
margin-top:calc(var(--rs-tooltip-arrow-width) + 2px);
transform:translate(0, var(--rs-tooltip-translate-distance));
}
.rs-tooltip:where([data-placement*=bottom])::after{
top:-6px;
margin-inline-start:-6px;
border-width:0 6px 6px;
border-bottom-color:var(--rs-tooltip-bg);
}
[data-theme=high-contrast] .rs-tooltip:where([data-placement*=bottom])::before, .rs-theme-high-contrast .rs-tooltip:where([data-placement*=bottom])::before{
top:-7px;
margin-inline-start:-7px;
border-width:0 7px 7px;
border-bottom-color:var(--rs-tooltip-border);
}
.rs-tooltip:where([data-placement=bottom], [data-placement=top])::before, .rs-tooltip:where([data-placement=bottom], [data-placement=top])::after{
inset-inline-start:50%;
}
.rs-tooltip:where([data-placement=bottom-start], [data-placement=top-start])::before, .rs-tooltip:where([data-placement=bottom-start], [data-placement=top-start])::after{
inset-inline-start:var(--rs-tooltip-arrow-gap-lg);
}
.rs-tooltip:where([data-placement=bottom-end], [data-placement=top-end])::before{
inset-inline-end:calc(var(--rs-tooltip-arrow-gap-sm) - 1px);
}
.rs-tooltip:where([data-placement=bottom-end], [data-placement=top-end])::after{
inset-inline-end:var(--rs-tooltip-arrow-gap-sm);
}
.rs-tooltip:where([data-placement=left], [data-placement=right])::before, .rs-tooltip:where([data-placement=left], [data-placement=right])::after{
top:50%;
}
.rs-tooltip:where([data-placement=left-start], [data-placement=right-start])::before, .rs-tooltip:where([data-placement=left-start], [data-placement=right-start])::after{
top:var(--rs-tooltip-arrow-gap-lg);
}
.rs-tooltip:where([data-placement=left-end], [data-placement=right-end])::before{
bottom:calc(var(--rs-tooltip-arrow-gap-sm) - 1px);
}
.rs-tooltip:where([data-placement=left-end], [data-placement=right-end])::after{
bottom:var(--rs-tooltip-arrow-gap-sm);
}
.rs-tooltip:where([data-placement*=right]){
margin-left:calc(var(--rs-tooltip-arrow-width) + 2px);
transform:translate(var(--rs-tooltip-translate-distance), 0);
}
.rs-tooltip:where([data-placement*=right])::after{
left:-6px;
margin-top:-6px;
border-width:6px 6px 6px 0;
border-right-color:var(--rs-tooltip-bg);
}
[data-theme=high-contrast] .rs-tooltip:where([data-placement*=right])::before, .rs-theme-high-contrast .rs-tooltip:where([data-placement*=right])::before{
left:-7px;
margin-top:-7px;
border-width:7px 7px 7px 0;
border-right-color:var(--rs-tooltip-border);
}
.rs-tooltip:where([data-placement*=left]){
margin-left:calc((var(--rs-tooltip-arrow-width) + 2px) * -1);
transform:translate(calc(var(--rs-tooltip-translate-distance) * -1), 0);
}
.rs-tooltip:where([data-placement*=left])::after{
right:-6px;
margin-top:-6px;
border-width:6px 0 6px 6px;
border-left-color:var(--rs-tooltip-bg);
}
[data-theme=high-contrast] .rs-tooltip:where([data-placement*=left])::before, .rs-theme-high-contrast .rs-tooltip:where([data-placement*=left])::before{
right:-7px;
margin-top:-7px;
border-width:7px 0 7px 7px;
border-left-color:var(--rs-tooltip-border);
}
.rs-slider{
--rs-slider-size:6px;
--rs-slider-mark-mt:9px;
--rs-slider-handle-size:12px;
--rs-slider-handle-bw:2px;
--rs-slider-calibration-size:4px;
--rs-slider-transition:0.15s ease-in-out;
--rs-tooltip-offset:0;
position:relative;
}
.rs-slider .rs-tooltip{
left:var(--rs-tooltip-offset);
display:none;
}
.rs-slider[data-disabled=true]{
opacity:0.5;
cursor:var(--rs-cursor-disabled);
}
.rs-slider[data-disabled=true] .rs-slider-bar,
.rs-slider[data-disabled=true] .rs-slider-handle::before{
pointer-events:none;
}
.rs-slider[data-with-mark=true]:not([data-direction=vertical]){
margin-bottom:calc(var(--rs-line-height-base) + var(--rs-slider-mark-mt));
}
.rs-slider:where([data-size=xs]){
--rs-slider-size:4px;
--rs-slider-handle-size:8px;
--rs-slider-calibration-size:0;
}
.rs-slider:where([data-size=md]){
--rs-slider-size:8px;
--rs-slider-handle-size:16px;
--rs-slider-calibration-size:6px;
}
.rs-slider:where([data-size=lg]){
--rs-slider-size:10px;
--rs-slider-handle-size:20px;
--rs-slider-calibration-size:8px;
}
.rs-slider:where([data-size=xl]){
--rs-slider-size:12px;
--rs-slider-handle-size:24px;
--rs-slider-calibration-size:10px;
}
.rs-slider-bar{
height:var(--rs-slider-size);
border-radius:var(--rs-radius-sm);
background-color:var(--rs-slider-bar);
transition:background-color ease-in-out 0.3s;
cursor:pointer;
}
.rs-slider:hover .rs-slider-bar{
background-color:var(--rs-slider-hover-bar);
}
.rs-slider:where([data-direction=vertical]) .rs-slider-bar{
height:100%;
width:var(--rs-slider-size);
}
.rs-slider-handle{
position:absolute;
top:-50%;
outline:none;
inset-inline-start:var(--rs-slider-offset);
}
.rs-slider-handle::before{
content:"";
position:absolute;
width:var(--rs-slider-handle-size);
height:var(--rs-slider-handle-size);
border-radius:var(--rs-radius-full);
border-width:var(--rs-slider-handle-bw);
border-style:solid;
border-color:var(--rs-slider-thumb-border);
background-color:var(--rs-slider-thumb-bg);
margin-inline-start:calc(var(--rs-slider-handle-size) / -2);
cursor:pointer;
transition:box-shadow var(--rs-slider-transition), background-color var(--rs-slider-transition), transform var(--rs-slider-transition);
}
.rs-slider-handle:hover::before, .rs-slider-handle:focus::before{
box-shadow:var(--rs-slider-thumb-hover-shadow);
}
.rs-slider-handle:active::before, .rs-slider-handle.active::before{
transform:scale(1.2);
}
.rs-slider[data-direction=vertical] .rs-slider-handle{
left:unset;
top:unset;
bottom:var(--rs-slider-offset);
}
.rs-slider[data-direction=vertical] .rs-slider-handle::before{
inset-inline-start:calc((var(--rs-slider-handle-size) - var(--rs-slider-size)) / 2);
margin-top:calc(var(--rs-slider-handle-size) / -2);
}
.rs-slider-handle:hover .rs-tooltip,
.rs-slider-handle.active .rs-tooltip{
display:block;
opacity:1;
top:-30px;
}
.rs-slider[data-direction=vertical] .rs-slider-handle:hover .rs-tooltip,
.rs-slider[data-direction=vertical] .rs-slider-handle.active .rs-tooltip{
top:-12px;
margin-inline-start:-36px;
}
.rs-slider-mark{
position:absolute;
top:calc(var(--rs-slider-size) + var(--rs-slider-mark-mt));
white-space:nowrap;
}
.rs-slider-mark-content{
margin-inline-start:calc(-50% + 2px);
}
.rs-slider-mark-last{
inset-inline-start:auto;
inset-inline-end:0;
}
.rs-slider-mark-last .rs-slider-mark-content{
margin-inline-start:calc(50% - 2px);
}
.rs-slider-graduator{
--rs-slider-tick-offset:0;
width:100%;
}
.rs-slider-graduator .rs-slider-tick[data-active=true]::before{
visibility:hidden;
}
.rs-slider-graduator[data-with-marks=true] .rs-slider-tick{
position:absolute;
left:var(--rs-slider-tick-offset);
}
.rs-slider-graduator[data-with-marks=true] .rs-slider-tick:last-child::after{
display:none;
}
.rs-slider-graduator ol,
.rs-slider-graduator li{
list-style:none;
margin:0;
padding:0;
}
.rs-slider-graduator > ol{
display:flex;
padding-inline-start:0;
width:100%;
}
.rs-slider-graduator > ol > li{
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:var(--rs-slider-calibration-size);
height:var(--rs-slider-calibration-size);
border-radius:var(--rs-radius-full);
background-color:var(--rs-slider-thumb-bg);
box-sizing:border-box;
margin-inline:2px;
top:1px;
}
.rs-slider[data-direction=vertical] .rs-slider-graduator > ol > li:last-child::after, .rs-slider[data-direction=vertical] .rs-slider-graduator > ol > li::before{
top:unset;
bottom:2px;
margin-inline-start:1px;
}
.rs-slider-graduator > ol > li:last-child::after{
inset-inline-end:0;
}
.rs-slider[data-direction=vertical] .rs-slider-graduator > ol > li:last-child::after{
inset-inline-start:0;
bottom:unset;
top:2px;
}
.rs-slider[data-direction=vertical] .rs-slider-graduator{
display:block;
height:100%;
}
.rs-slider[data-direction=vertical] .rs-slider-graduator[data-with-marks=true] .rs-slider-tick{
left:unset;
bottom:var(--rs-slider-tick-offset);
}
.rs-slider[data-direction=vertical] .rs-slider-graduator > ol{
width:var(--rs-slider-size);
display:flex;
flex-direction:column-reverse;
height:100%;
padding:0;
}
.rs-slider[data-direction=vertical] .rs-slider-graduator > ol > li{
display:block;
padding:0;
}
.rs-slider-progress-bar{
position:absolute;
height:var(--rs-slider-size);
border-top-left-radius:var(--rs-radius-sm);
border-bottom-left-radius:var(--rs-radius-sm);
background-color:var(--rs-slider-progress);
}
.rs-slider[data-direction=vertical] .rs-slider-progress-bar{
width:var(--rs-slider-size);
border-bottom-left-radius:var(--rs-radius-sm);
border-bottom-right-radius:var(--rs-radius-sm);
}
.rs-slider:where([data-direction=vertical]){
height:100%;
}
.rs-slider:where([data-direction=vertical]) .rs-slider-mark{
top:unset;
bottom:-8px;
inset-inline-start:calc(var(--rs-slider-size) + var(--rs-slider-mark-mt));
}
.rs-slider:where([data-direction=vertical]) .rs-slider-mark-content{
margin-inline-start:auto;
}
.rs-slider:where([data-direction=vertical]) .rs-slider-mark-last{
bottom:unset;
top:-8px;
}