rsuite
Version:
A suite of react components
580 lines (570 loc) • 16.6 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-50:#F2FAFF;
--rs-primary-500:#3498ff;
--rs-body:var(--rs-gray-0);
--rs-text-primary:var(--rs-gray-800);
--rs-text-secondary:var(--rs-gray-600);
--rs-border-secondary:var(--rs-gray-100);
--rs-bg-card:var(--rs-gray-0);
--rs-state-hover-bg:var(--rs-primary-50);
--rs-loader-ring:rgb(from var(--rs-gray-50) r g b / 80%);
--rs-loader-rotor:var(--rs-gray-500);
--rs-loader-backdrop:rgb(from var(--rs-gray-0) r g b / 90%);
--rs-table-border-color:var(--rs-border-secondary);
--rs-table-shadow:rgba(9, 9, 9, 0.08);
--rs-table-sort:var(--rs-primary-500);
--rs-table-resize:var(--rs-primary-500);
--rs-table-scrollbar-track:var(--rs-gray-200);
--rs-table-scrollbar-thumb:var(--rs-gray-800);
--rs-table-scrollbar-thumb-active:var(--rs-gray-900);
--rs-table-scrollbar-vertical-track:rgb(from var(--rs-gray-200) r g b / 40%);
}
@supports not (color: rgb(from white r g b)){
:root{
--rs-loader-ring:rgba(247, 247, 250, 0.8);
--rs-loader-backdrop:rgba(255, 255, 255, 0.9);
--rs-table-scrollbar-vertical-track:rgba(229, 229, 234, 0.4);
}
}
[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-50:#F2FCFF;
--rs-primary-500:#34c3ff;
--rs-body:var(--rs-gray-900);
--rs-text-primary:var(--rs-gray-50);
--rs-text-secondary:var(--rs-gray-200);
--rs-border-secondary:var(--rs-gray-700);
--rs-bg-card:var(--rs-gray-800);
--rs-state-hover-bg:var(--rs-gray-600);
--rs-loader-ring:rgb(from var(--rs-gray-50) r g b / 30%);
--rs-loader-rotor:var(--rs-gray-0);
--rs-loader-backdrop:rgb(from var(--rs-gray-900) r g b / 83%);
--rs-table-border-color:var(--rs-border-secondary);
--rs-table-shadow:rgba(9, 9, 9, 0.99);
--rs-table-sort:var(--rs-primary-500);
--rs-table-resize:var(--rs-primary-500);
--rs-table-scrollbar-track:var(--rs-gray-700);
--rs-table-scrollbar-thumb:var(--rs-gray-200);
--rs-table-scrollbar-thumb-active:var(--rs-gray-100);
--rs-table-scrollbar-vertical-track:var(--rs-gray-700);
}
@supports not (color: rgb(from white r g b)){
[data-theme=dark],
.rs-theme-dark{
--rs-loader-ring:rgba(233, 235, 240, 0.3);
--rs-loader-backdrop:rgba(15, 19, 26, 0.83);
}
}
[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-50:#fffef2;
--rs-primary-500:#ffff00;
--rs-body:var(--rs-gray-900);
--rs-text-primary:var(--rs-gray-50);
--rs-text-secondary:var(--rs-gray-200);
--rs-border-secondary:var(--rs-gray-700);
--rs-bg-card:var(--rs-gray-800);
--rs-state-hover-bg:var(--rs-gray-600);
--rs-loader-ring:rgb(from var(--rs-gray-50) r g b / 30%);
--rs-loader-rotor:var(--rs-gray-0);
--rs-loader-backdrop:rgb(from var(--rs-gray-900) r g b / 83%);
--rs-table-border-color:var(--rs-border-secondary);
--rs-table-shadow:rgba(9, 9, 9, 0.99);
--rs-table-sort:var(--rs-primary-500);
--rs-table-resize:var(--rs-primary-500);
--rs-table-scrollbar-track:var(--rs-gray-700);
--rs-table-scrollbar-thumb:var(--rs-gray-200);
--rs-table-scrollbar-thumb-active:var(--rs-gray-100);
--rs-table-scrollbar-vertical-track:var(--rs-gray-700);
}
@supports not (color: rgb(from white r g b)){
[data-theme=high-contrast],
.rs-theme-high-contrast{
--rs-loader-ring:rgba(233, 235, 240, 0.3);
--rs-loader-backdrop:rgba(15, 19, 26, 0.83);
}
}
: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-font-size-md:1rem;
--rs-font-size-base:var(--rs-font-size-sm);
--rs-line-height-sm:calc(20 / 12);
--rs-line-height-md:calc(20 / 14);
--rs-radius-sm:0.25rem;
--rs-radius-full:62.5rem;
--rs-loader-default-size:1.125rem;
--rs-zindex-table-body-row-wrapper:0;
--rs-zindex-table-header-row-wrapper:2;
--rs-zindex-table-column-resize-spanner:3;
--rs-zindex-table-cell-group-fixed:4;
--rs-zindex-table-row-cell-group-shadow:5;
--rs-zindex-table-mouse-area:6;
}
@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-table{
--rs-loader-content-spin-spacing-horizontal:12px;
--rs-table-scrollbar-width:10px;
--rs-table-scrollbar-handle-width:8px;
--rs-table-scrollbar-handle-gap:calc(
(var(--rs-table-scrollbar-width) - var(--rs-table-scrollbar-handle-width)) / 2
);
--rs-table-scrollbar-timing-duration:0.1s;
--rs-table-cell-hover-color:var(--rs-primary-500);
--rs-table-cell-padding-y:13px;
--rs-table-cell-padding-x:10px;
--rs-table-header-padding:10px;
--rs-table-header-line-height:var(--rs-line-height-sm);
--rs-table-header-sort-margin-start:5px;
position:relative;
overflow:hidden;
}
.rs-table-column-resizing{
cursor:ew-resize;
-webkit-user-select:none;
-moz-user-select:none;
user-select:none;
}
.rs-table-row{
overflow:hidden;
position:absolute;
height:36px;
width:100%;
top:0;
}
.rs-table-row.virtualized{
pointer-events:none;
}
.rs-table-row-expanded{
position:absolute;
height:46px;
bottom:0;
width:100%;
z-index:4;
border-top:1px solid var(--rs-table-border-color);
padding:10px;
}
.rs-table-row-expanded,.rs-table-hover .rs-table-row:hover .rs-table-cell-group,.rs-table-hover .rs-table-row:hover .rs-table-cell,.rs-table-row-header,.rs-table-row-header .rs-table-cell{
background-color:var(--rs-bg-card);
}
.rs-table-row-header .rs-table-cell-group-shadow{
z-index:var(--rs-zindex-table-row-cell-group-shadow);
box-shadow:none;
}
.rs-table-hover .rs-table-row:not(.rs-table-row-header):hover, .rs-table-hover .rs-table-row:hover .rs-table-cell-group, .rs-table-hover .rs-table-row:hover .rs-table-cell{
background-color:var(--rs-state-hover-bg);
}
.rs-table-hover .rs-table-row-header:hover .rs-table-cell-group, .rs-table-hover .rs-table-row-header:hover .rs-table-cell{
background-color:var(--rs-bg-card);
}
.rs-table-header-row-wrapper{
z-index:var(--rs-zindex-table-header-row-wrapper);
position:relative;
font-size:var(--rs-font-size-xs);
color:var(--rs-text-secondary);
}
.rs-table-affix-header{
z-index:calc(var(--rs-zindex-table-header-row-wrapper) + 1);
visibility:hidden;
}
.rs-table-affix-header.fixed{
visibility:visible;
}
.rs-table-body-row-wrapper{
position:relative;
overflow:hidden;
z-index:var(--rs-zindex-table-body-row-wrapper);
}
.rs-table-body-info{
width:100%;
text-align:center;
top:50%;
position:absolute;
margin-top:-20px;
line-height:40px;
}
.rs-table-body-info .icon{
margin:0 10px;
}
.rs-table-body-info-wheel-area,.rs-table-body-wheel-area{
width:100%;
}
.rs-table-loader-wrapper{
position:absolute;
height:100%;
width:100%;
background-color:var(--rs-loader-backdrop);
opacity:0;
transition:opacity 0.2s ease-in;
pointer-events:none;
}
.rs-table-loader{
width:100%;
text-align:center;
top:50%;
position:absolute;
margin-top:-20px;
line-height:40px;
}
.rs-table-loader-icon{
display:inline-block;
position:relative;
margin-inline-end:var(--rs-loader-content-spin-spacing-horizontal);
padding-top:3px;
}
.rs-table-loader-icon,.rs-table-loader-icon::before, .rs-table-loader-icon::after{
width:var(--rs-loader-default-size);
height:var(--rs-loader-default-size);
}
.rs-table-loader-icon::before, .rs-table-loader-icon::after{
content:"";
position:absolute;
inset-inline-start:0;
inset-inline-end:0;
display:block;
border-radius:var(--rs-radius-full);
}
.rs-table-loader-icon::before{
border:var(--rs-loader-spin-ring-width) solid var(--rs-loader-ring);
}
.rs-table-loader-icon::after{
border-width:var(--rs-loader-spin-ring-width);
border-style:solid;
border-color:var(--rs-loader-rotor) transparent transparent;
animation:loaderSpin var(--rs-loader-duration-normal) infinite linear;
}
.rs-table-loading .rs-table-loader-wrapper{
visibility:visible;
opacity:1;
pointer-events:auto;
z-index:1;
}
.rs-table-cell{
height:36px;
display:block;
overflow:hidden;
position:absolute;
white-space:normal;
background-color:var(--rs-bg-card);
border-bottom:1px solid var(--rs-table-border-color);
}
.rs-table-cell.first{
border-left-width:0;
}
.rs-table-cell-wrap1{
display:table;
}
.rs-table-cell-wrap2{
display:table-row;
}
.rs-table-cell-wrap3{
display:table-cell;
vertical-align:middle;
}
.rs-table-cell-content{
padding-inline:var(--rs-table-cell-padding-x);
padding-block:var(--rs-table-cell-padding-y);
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
width:100%;
display:block;
}
.rs-table-cell-header{
background-color:var(--rs-table-header-bg);
color:var(--rs-text-secondary);
font-size:var(--rs-font-size-xs);
line-height:var(--rs-table-header-line-height);
}
.rs-table-cell-header .rs-table-cell-content{
padding:var(--rs-table-header-padding);
display:flex;
align-items:center;
}
.rs-table-cell-header .rs-table-cell-sort-wrapper{
cursor:pointer;
margin-inline-end:var(--rs-table-header-sort-margin-start);
}
.rs-table-cell-header-icon-sort{
font-size:var(--rs-font-size-base);
line-height:var(--rs-table-header-line-height);
display:flex;
}
.rs-table-cell-header-icon-sort:where([data-sort=asc]){
transform:rotate(180deg);
}
.rs-table-cell:where([aria-sort]) .rs-table-cell-header-icon-sort{
color:var(--rs-table-sort);
}
.rs-table-cell-header-sort-asc, .rs-table-cell-header-sort-desc{
color:var(--rs-text-primary);
}
.rs-table-cell-full-text:hover{
z-index:1 ;
width:auto ;
box-shadow:inset var(--rs-table-cell-hover-color) 0px 0px 2px;
}
.rs-table-cell-full-text:hover .rs-table-cell-content{
width:auto ;
}
.rs-table-cell-header-sortable .rs-table-cell-content{
cursor:pointer;
}
.rs-table-column-resize-spanner{
height:36px;
width:3px;
z-index:var(--rs-zindex-table-column-resize-spanner);
position:absolute;
cursor:ew-resize ;
outline:none;
box-sizing:content-box;
}
.rs-table-column-resize-spanner::after, .rs-table-column-resize-spanner::before{
content:" ";
position:absolute;
width:0;
height:0;
display:none;
top:50%;
margin-top:-3px;
}
.rs-table-column-resize-spanner::before{
border-style:dashed solid dashed dashed;
border-color:transparent var(--rs-table-resize) transparent transparent;
border-width:3px;
inset-inline-end:4px;
}
.rs-table-column-resize-spanner::after{
border-style:dashed dashed dashed solid;
border-color:transparent transparent transparent var(--rs-table-resize);
border-width:3px;
inset-inline-start:4px;
}
.rs-table:not(.rs-table-column-resizing) .rs-table-cell-header .rs-table-cell:hover ~ .rs-table-column-resize-spanner, .rs-table:not(.rs-table-column-resizing) .rs-table-column-resize-spanner:hover{
background-color:var(--rs-table-resize);
}
.rs-table:not(.rs-table-column-resizing) .rs-table-cell-header .rs-table-cell:hover ~ .rs-table-column-resize-spanner::before, .rs-table:not(.rs-table-column-resizing) .rs-table-cell-header .rs-table-cell:hover ~ .rs-table-column-resize-spanner::after, .rs-table:not(.rs-table-column-resizing) .rs-table-column-resize-spanner:hover::before, .rs-table:not(.rs-table-column-resizing) .rs-table-column-resize-spanner:hover::after{
display:block;
}
.rs-table-cell-group-fixed-right, .rs-table-cell-group-fixed-left{
position:absolute;
z-index:var(--rs-zindex-table-cell-group-fixed);
background-color:var(--rs-bg-card);
}
.rs-table-cell-group-shadow, .rs-table-cell-group-left-shadow{
box-shadow:3px 0 5px var(--rs-table-shadow);
}
.rs-table-cell-group-right-shadow{
box-shadow:-3px 0 5px var(--rs-table-shadow);
}
.rs-table-mouse-area{
display:none;
inset-inline-start:-1px;
top:0;
width:1px;
z-index:var(--rs-zindex-table-mouse-area);
}
.rs-table-mouse-area,.rs-table-mouse-area > span{
background-color:var(--rs-table-resize);
position:absolute;
}
.rs-table-mouse-area > span{
height:36px;
width:3px;
z-index:var(--rs-zindex-table-column-resize-spanner);
cursor:ew-resize ;
outline:none;
inset-inline-start:-1.5px;
}
.rs-table-word-wrap .rs-table-cell-content{
white-space:normal;
}
.rs-table-bordered{
border:1px solid var(--rs-table-border-color);
}
.rs-table-cell-bordered .rs-table-cell{
border-right:1px solid var(--rs-table-border-color);
}
.rs-table-column-group{
position:absolute;
inset-inline-start:0;
inset-inline-end:0;
top:0;
width:100%;
}
.rs-table-column-group-header{
border-bottom:1px solid var(--rs-table-border-color);
position:absolute;
width:100%;
}
.rs-table-column-group-header-content{
display:table-cell;
padding:10px;
}
.rs-table-column-group-cell{
position:absolute;
border-right:1px solid var(--rs-table-border-color);
}
.rs-table:not(.rs-table-has-rowspan) .rs-table-row{
border-bottom:1px solid var(--rs-table-border-color);
}
.rs-table-cell-expand-wrapper{
margin-inline-end:10px;
display:inline-block;
cursor:pointer;
}
.rs-table-cell-expand-icon{
cursor:pointer;
outline:none;
font-size:var(--rs-font-size-md);
transition:transform 0.3s ease;
}
.rs-table-cell-expand-icon:where([data-expanded=true]){
transform:rotate(90deg);
}
.rs-table-scrollbar{
background-color:var(--rs-table-scrollbar-track);
position:absolute;
transition:background var(--rs-table-scrollbar-timing-duration) linear, transform var(--rs-table-scrollbar-timing-duration) linear;
opacity:0.6;
z-index:1;
}
.rs-table-scrollbar-hide{
display:none;
}
.rs-table-scrollbar-handle{
position:absolute;
background-color:var(--rs-table-scrollbar-thumb);
border-radius:var(--rs-radius-sm);
}
.rs-table-scrollbar-pressed{
z-index:1;
}
.rs-table-scrollbar-pressed .rs-table-scrollbar-handle{
background-color:var(--rs-table-scrollbar-thumb-active);
}
.rs-table-scrollbar-horizontal{
width:100%;
height:var(--rs-table-scrollbar-width);
bottom:0;
}
.rs-table-scrollbar-horizontal.fixed{
position:fixed;
}
.rs-table-scrollbar-horizontal .rs-table-scrollbar-handle{
height:var(--rs-table-scrollbar-handle-width);
left:0;
top:var(--rs-table-scrollbar-handle-gap);
}
.rs-table-scrollbar-pressed.rs-table-scrollbar-horizontal:hover, .rs-table-scrollbar-horizontal:hover{
transform-origin:center bottom;
transform:scaleY(1.3);
}
.rs-table-scrollbar-vertical{
top:0;
inset-inline-end:0;
width:var(--rs-table-scrollbar-width);
bottom:var(--rs-table-scrollbar-width);
background-color:var(--rs-table-scrollbar-vertical-track);
}
.rs-table-scrollbar-vertical .rs-table-scrollbar-handle{
min-height:20px;
width:var(--rs-table-scrollbar-handle-width);
top:0;
inset-inline-start:var(--rs-table-scrollbar-handle-gap);
}
.rs-table-scrollbar-pressed.rs-table-scrollbar-vertical:hover, .rs-table-scrollbar-vertical:hover{
transform-origin:right center;
transform:scaleX(1.3);
}