rsuite
Version:
A suite of react components
292 lines (281 loc) • 6.98 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-600:#717273;
--rs-gray-700:#575757;
--rs-gray-800:#343434;
--rs-gray-900:#121212;
--rs-color-red:#f44336;
--rs-color-yellow:#ffb300;
--rs-color-green:#4caf50;
--rs-color-blue:#2196f3;
--rs-state-success:var(--rs-color-green);
--rs-state-info:var(--rs-color-blue);
--rs-state-warning:var(--rs-color-yellow);
--rs-state-error:var(--rs-color-red);
--rs-body:var(--rs-gray-0);
--rs-text-primary:var(--rs-gray-800);
--rs-text-heading:var(--rs-gray-900);
--rs-border-primary:var(--rs-gray-200);
--rs-bg-overlay:var(--rs-gray-0);
}
[data-theme=dark],
.rs-theme-dark{
--rs-gray-0:#fff;
--rs-gray-50:#e9ebf0;
--rs-gray-100:#cbced4;
--rs-gray-200:#a4a9b3;
--rs-gray-600:#3c3f43;
--rs-gray-700:#292d33;
--rs-gray-800:#1a1d24;
--rs-gray-900:#0f131a;
--rs-color-red:#f04f43;
--rs-color-yellow:#ffc757;
--rs-color-green:#58b15b;
--rs-color-blue:#1499ef;
--rs-state-success:var(--rs-color-green);
--rs-state-info:var(--rs-color-blue);
--rs-state-warning:var(--rs-color-yellow);
--rs-state-error:var(--rs-color-red);
--rs-body:var(--rs-gray-900);
--rs-text-primary:var(--rs-gray-50);
--rs-text-heading:var(--rs-gray-0);
--rs-border-primary:var(--rs-gray-600);
--rs-bg-overlay:var(--rs-gray-700);
}
[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-600:#3c3f43;
--rs-gray-700:#292d33;
--rs-gray-800:#1a1d24;
--rs-gray-900:#0f131a;
--rs-color-red:#bd1732;
--rs-color-yellow:#ffc757;
--rs-color-green:#0d822c;
--rs-color-blue:#1499ef;
--rs-state-success:var(--rs-color-green);
--rs-state-info:var(--rs-color-blue);
--rs-state-warning:var(--rs-color-yellow);
--rs-state-error:var(--rs-color-red);
--rs-body:var(--rs-gray-900);
--rs-text-primary:var(--rs-gray-50);
--rs-text-heading:var(--rs-gray-0);
--rs-border-primary:var(--rs-gray-100);
--rs-bg-overlay:var(--rs-gray-800);
}
:root{
--rs-font-family-base:-apple-system, BlinkMacSystemFont, Arial, Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", STXihei, sans-serif;
--rs-font-size-sm:0.875rem;
--rs-font-size-md:1rem;
--rs-line-height-md:calc(20 / 14);
--rs-text-line-height-md:calc(1.5 / 1);
--rs-spacing:0.25rem;
--rs-radius-md:0.375rem;
--rs-shadow-color:rgb(0 0 0 / 10%);
--rs-shadow-md:0 4px 6px -1px var(--rs-shadow-color), 0 2px 4px 0 var(--rs-shadow-color);
}
@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 ;
}
}
@keyframes notificationMoveIn{
0%{
opacity:0;
transform-origin:0% 0%;
transform:scaleY(0.8);
}
100%{
opacity:1;
transform-origin:0% 0%;
transform:scaleY(1);
}
}
@keyframes notificationMoveInLeft{
from{
opacity:0;
transform:translate3d(-100%, 0, 0);
}
to{
opacity:1;
transform:none;
}
}
@keyframes notificationMoveInRight{
from{
opacity:0;
transform:translate3d(100%, 0, 0);
}
to{
opacity:1;
transform:none;
}
}
@keyframes notificationMoveOut{
0%{
opacity:1;
transform-origin:0% 0%;
transform:scaleY(1);
max-height:100px;
}
100%{
opacity:0;
transform-origin:0% 0%;
transform:scaleY(0.8);
max-height:0;
overflow:hidden;
}
}
.rs-notification{
--rs-notify-padding:1.25rem;
--rs-notify-max-width:400px;
--rs-notify-spacing:calc(var(--rs-spacing) * 2.5);
--rs-notify-border-radius:var(--rs-radius-md);
--rs-notify-box-shadow:var(--rs-shadow-md);
--rs-notify-title-font-size:var(--rs-font-size-md);
--rs-notify-line-height:var(--rs-text-line-height-md);
--rs-notify-icon-size:24px;
--rs-notify-title-description-gap:8px;
pointer-events:auto;
animation-fill-mode:forwards;
position:relative;
flex:0 0 auto;
display:inline-flex;
align-items:center;
gap:var(--rs-notify-spacing);
border-radius:var(--rs-notify-border-radius);
background:var(--rs-bg-overlay);
box-shadow:var(--rs-notify-box-shadow);
padding:var(--rs-notify-padding);
overflow:hidden;
}
.rs-notification:has(.rs-notification-header){
align-items:flex-start;
}
.rs-notification:not(.rs-toast-fade-exited) ~ .rs-notification{
margin-top:var(--rs-notify-spacing);
}
.high-contrast-mode .rs-notification{
border:1px solid var(--rs-border-primary);
}
.rs-notification-content{
max-width:var(--rs-notify-max-width);
flex:1;
}
.rs-notification-header{
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
width:100%;
color:var(--rs-text-heading);
font-size:var(--rs-notify-title-font-size);
line-height:var(--rs-notify-line-height);
}
.rs-notification-header > p{
margin:0;
}
.rs-notification-icon{
display:flex;
align-items:center;
}
.rs-notification-icon .rs-icon{
font-size:var(--rs-notify-icon-size);
width:var(--rs-notify-icon-size);
line-height:1;
color:var(--rs-notify-icon-color);
}
.rs-notification-icon .rs-icon::before{
vertical-align:middle;
}
.rs-notification-description{
color:var(--rs-text-primary);
}
.rs-notification-header + .rs-notification-description{
margin-top:var(--rs-notify-title-description-gap);
}
.rs-notification.rs-notification-hiding{
animation:notificationMoveOut 0.3s ease-in forwards;
}
.rs-notification.rs-notification-hiding ~ .rs-notification{
margin-top:0;
}
.rs-notification .rs-btn-close{
padding:0;
}
.rs-notification-success{
--rs-notify-icon-color:var(--rs-state-success);
}
.rs-notification-info{
--rs-notify-icon-color:var(--rs-state-info);
}
.rs-notification-warning{
--rs-notify-icon-color:var(--rs-state-warning);
}
.rs-notification-error{
--rs-notify-icon-color:var(--rs-state-error);
}