UNPKG

rsuite

Version:

A suite of react components

546 lines (523 loc) 13.4 kB
*[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-300:#d9d9d9; --rs-gray-400:#b6b7b8; --rs-gray-500:#939393; --rs-gray-600:#717273; --rs-gray-800:#343434; --rs-gray-900:#121212; --rs-primary-400:#59AFFF; --rs-body:var(--rs-gray-0); --rs-text-primary:var(--rs-gray-800); --rs-text-heading:var(--rs-gray-900); --rs-text-disabled:var(--rs-gray-600); --rs-border-primary:var(--rs-gray-200); --rs-scrollbar-bg:transparent; --rs-scrollbar-thumb-bg:var(--rs-gray-500); --rs-scrollbar-thumb-hover-bg:var(--rs-gray-400); --rs-btn-subtle-hover-bg:var(--rs-gray-200); --rs-btn-subtle-hover-text:var(--rs-gray-800); --rs-scroll-view-shadow-color:rgba(9, 9, 9, 0.2); } [data-theme=dark], .rs-theme-dark{ --rs-gray-0:#fff; --rs-gray-50:#e9ebf0; --rs-gray-100:#cbced4; --rs-gray-200:#a4a9b3; --rs-gray-300:#858b94; --rs-gray-400:#6a6f76; --rs-gray-500:#5c6066; --rs-gray-600:#3c3f43; --rs-gray-800:#1a1d24; --rs-gray-900:#0f131a; --rs-primary-400:#59D0FF; --rs-body:var(--rs-gray-900); --rs-text-primary:var(--rs-gray-50); --rs-text-heading:var(--rs-gray-0); --rs-text-disabled:var(--rs-gray-400); --rs-border-primary:var(--rs-gray-600); --rs-scrollbar-bg:transparent; --rs-scrollbar-thumb-bg:var(--rs-gray-300); --rs-scrollbar-thumb-hover-bg:var(--rs-gray-400); --rs-btn-subtle-hover-bg:var(--rs-gray-500); --rs-btn-subtle-hover-text:var(--rs-gray-50); --rs-scroll-view-shadow-color:rgba(0, 0, 0, 0.99); } [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-300:#858b94; --rs-gray-400:#6a6f76; --rs-gray-500:#5c6066; --rs-gray-600:#3c3f43; --rs-gray-800:#1a1d24; --rs-gray-900:#0f131a; --rs-primary-400:#fffc30; --rs-body:var(--rs-gray-900); --rs-text-primary:var(--rs-gray-50); --rs-text-heading:var(--rs-gray-0); --rs-text-disabled:var(--rs-gray-400); --rs-border-primary:var(--rs-gray-100); --rs-scrollbar-bg:transparent; --rs-scrollbar-thumb-bg:var(--rs-gray-300); --rs-scrollbar-thumb-hover-bg:var(--rs-gray-400); --rs-btn-subtle-hover-bg:transparent; --rs-btn-subtle-hover-text:var(--rs-primary-400); --rs-scroll-view-shadow-color:rgba(0, 0, 0, 0.99); } :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-font-size-lg:1.125rem; --rs-font-size-xl:1.25rem; --rs-font-size-2xl:1.5rem; --rs-font-size-3xl:1.875rem; --rs-font-size-4xl:2.25rem; --rs-font-size-5xl:3rem; --rs-line-height-md:calc(20 / 14); --rs-text-line-height-md:calc(1.5 / 1); --rs-text-line-height-lg:calc(1.75 / 1.125); --rs-text-line-height-xl:calc(1.75 / 1.25); --rs-text-line-height-2xl:calc(2 / 1.5); --rs-text-line-height-3xl:calc(2.25 / 1.875); --rs-text-line-height-4xl:calc(2.5 / 2.25); --rs-text-line-height-5xl:1; --rs-spacing:0.25rem; --rs-radius-md:0.375rem; --rs-radius-lg:0.5rem; --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 !important; } } @media (min-width: 576px){ [data-hidden-from=xs]{ display:none !important; } } @media (max-width: calc(768px - 1px)){ [data-visible-from=sm]{ display:none !important; } } @media (min-width: 768px){ [data-hidden-from=sm]{ display:none !important; } } @media (max-width: calc(992px - 1px)){ [data-visible-from=md]{ display:none !important; } } @media (min-width: 992px){ [data-hidden-from=md]{ display:none !important; } } @media (max-width: calc(1200px - 1px)){ [data-visible-from=lg]{ display:none !important; } } @media (min-width: 1200px){ [data-hidden-from=lg]{ display:none !important; } } @media (max-width: calc(1400px - 1px)){ [data-visible-from=xl]{ display:none !important; } } @media (min-width: 1400px){ [data-hidden-from=xl]{ display:none !important; } } :root{ --rs-heading-font-family:inherit; --rs-heading-font-weight:bolder; --rs-heading-color:inherit; --rs-heading-h1-font-size:var(--rs-font-size-5xl); --rs-heading-h2-font-size:var(--rs-font-size-4xl); --rs-heading-h3-font-size:var(--rs-font-size-3xl); --rs-heading-h4-font-size:var(--rs-font-size-2xl); --rs-heading-h5-font-size:var(--rs-font-size-xl); --rs-heading-h6-font-size:var(--rs-font-size-lg); --rs-heading-h1-line-height:var(--rs-text-line-height-5xl); --rs-heading-h2-line-height:var(--rs-text-line-height-4xl); --rs-heading-h3-line-height:var(--rs-text-line-height-3xl); --rs-heading-h4-line-height:var(--rs-text-line-height-2xl); --rs-heading-h5-line-height:var(--rs-text-line-height-xl); --rs-heading-h6-line-height:var(--rs-text-line-height-lg); } .rs-heading{ font-family:var(--rs-heading-font-family); font-weight:var(--rs-heading-font-weight); color:var(--rs-heading-color); margin:0; } .rs-heading.h1{ font-size:var(--rs-heading-h1-font-size); line-height:var(--rs-heading-h1-line-height); } .rs-heading.h2{ font-size:var(--rs-heading-h2-font-size); line-height:var(--rs-heading-h2-line-height); } .rs-heading.h3{ font-size:var(--rs-heading-h3-font-size); line-height:var(--rs-heading-h3-line-height); } .rs-heading.h4{ font-size:var(--rs-heading-h4-font-size); line-height:var(--rs-heading-h4-line-height); } .rs-heading.h5{ font-size:var(--rs-heading-h5-font-size); line-height:var(--rs-heading-h5-line-height); } .rs-heading.h6{ font-size:var(--rs-heading-h6-font-size); line-height:var(--rs-heading-h6-line-height); } .rs-scroll-view.rs-scroll-view-shadow{ overflow:auto; padding:0px; } .rs-scroll-view.rs-scroll-view-shadow::before, .rs-scroll-view.rs-scroll-view-shadow::after{ content:""; position:sticky; width:100%; height:2px; visibility:hidden; display:block; z-index:1; } .rs-scroll-view.rs-scroll-view-shadow::before{ top:-2px; box-shadow:3px 0 5px var(--rs-scroll-view-shadow-color); } .rs-scroll-view.rs-scroll-view-shadow::after{ bottom:-2px; box-shadow:-3px 0 5px var(--rs-scroll-view-shadow-color); } .rs-scroll-view.rs-scroll-view-shadow.rs-scroll-view-thumb-middle::before, .rs-scroll-view.rs-scroll-view-shadow.rs-scroll-view-thumb-middle::after,.rs-scroll-view.rs-scroll-view-shadow.rs-scroll-view-thumb-top::after,.rs-scroll-view.rs-scroll-view-shadow.rs-scroll-view-thumb-bottom::before{ visibility:visible; } .rs-scroll-view.rs-scroll-view-custom-scrollbar{ scrollbar-width:thin; scrollbar-color:var(--rs-scrollbar-thumb-bg) var(--rs-scrollbar-bg); } .rs-scroll-view.rs-scroll-view-custom-scrollbar::-webkit-scrollbar{ width:12px; } .rs-scroll-view.rs-scroll-view-custom-scrollbar::-webkit-scrollbar-track{ background:var(--rs-scrollbar-bg); border-radius:var(--rs-radius-lg); } .rs-scroll-view.rs-scroll-view-custom-scrollbar::-webkit-scrollbar-thumb{ background-color:var(--rs-scrollbar-thumb-bg); border-radius:var(--rs-radius-md); border:3px solid var(--rs-scrollbar-bg); } .rs-scroll-view.rs-scroll-view-custom-scrollbar::-webkit-scrollbar-thumb:hover{ background-color:var(--rs-scrollbar-thumb-hover-bg); } :root{ --rs-anim-fade-duration:0.15s; --rs-anim-collapse-duration:0.35s; } @keyframes slideInLeft{ from{ opacity:0; transform:translate3d(-100%, 0, 0); } to{ opacity:1; transform:none; } } @keyframes slideOutLeft{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translate3d(-100%, 0, 0); } } @keyframes slideInRight{ from{ opacity:0; transform:translate3d(100%, 0, 0); } to{ opacity:1; transform:none; } } @keyframes slideOutRight{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translate3d(100%, 0, 0); } } @keyframes slideInTop{ from{ opacity:0; transform:translate3d(0, -100%, 0); } to{ opacity:1; transform:none; } } @keyframes slideOutTop{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translate3d(0, -100%, 0); } } @keyframes slideInBottom{ from{ opacity:0; transform:translate3d(0, 100%, 0); } to{ opacity:1; transform:none; } } @keyframes slideOutBottom{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translate3d(0, 100%, 0); } } .rs-anim-slide-out{ animation-duration:0.3s; animation-timing-function:cubic-bezier(0.4, 0, 1, 1); animation-fill-mode:forwards; } .rs-anim-slide-in{ animation-duration:0.3s; animation-timing-function:ease-in-out; animation-fill-mode:forwards; } .rs-anim-right.rs-anim-slide-in{ animation-name:slideInRight; } .rs-anim-right.rs-anim-slide-out{ animation-name:slideOutRight; } [dir=rtl] .rs-anim-right.rs-anim-slide-in{ animation-name:slideInLeft; } [dir=rtl] .rs-anim-right.rs-anim-slide-out{ animation-name:slideOutLeft; } .rs-anim-left.rs-anim-slide-in{ animation-name:slideInLeft; } .rs-anim-left.rs-anim-slide-out{ animation-name:slideOutLeft; } [dir=rtl] .rs-anim-left.rs-anim-slide-in{ animation-name:slideInRight; } [dir=rtl] .rs-anim-left.rs-anim-slide-out{ animation-name:slideOutRight; } .rs-anim-top.rs-anim-slide-in{ animation-name:slideInTop; } .rs-anim-top.rs-anim-slide-out{ animation-name:slideOutTop; } .rs-anim-bottom.rs-anim-slide-in{ animation-name:slideInBottom; } .rs-anim-bottom.rs-anim-slide-out{ animation-name:slideOutBottom; } .rs-anim-bounce-in{ animation-name:bounceIn; animation-duration:0.3s; animation-timing-function:cubic-bezier(0.68, -0.55, 0.27, 1.55); animation-fill-mode:forwards; } @keyframes bounceIn{ from{ opacity:0; transform:scale(0.8); } to{ opacity:1; transform:scale(1); } } .rs-anim-bounce-out{ animation-name:bounceOut; animation-duration:0.3s; animation-timing-function:cubic-bezier(0.4, 0, 1, 1); animation-fill-mode:forwards; } @keyframes bounceOut{ from{ opacity:1; transform:scale(1); } to{ opacity:0; transform:scale(0.8); } } .rs-anim-collapse{ display:none; } .rs-anim-collapse.rs-anim-in{ display:block; } tr.rs-anim-collapse.rs-anim-in{ display:table-row; } tbody.rs-anim-collapse.rs-anim-in{ display:table-row-group; } .rs-anim-collapsing{ position:relative; height:0; overflow:hidden; transition:height var(--rs-anim-collapse-duration) ease, width var(--rs-anim-collapse-duration) ease, visibility var(--rs-anim-collapse-duration) ease; } .rs-anim-fade{ opacity:0; transition:opacity var(--rs-anim-fade-duration) linear; pointer-events:none; } .rs-anim-fade.rs-anim-in{ opacity:1; pointer-events:auto; } .rs-panel{ --rs-panel-header-font-size:var(--rs-font-size-md); --rs-panel-header-line-height:var(--rs-text-line-height-md); --rs-panel-padding:1.25rem; --rs-panel-border-radius:var(--rs-radius-md); --rs-panel-btn-font-size:var(--rs-font-size-md); --rs-panel-btn-padding:0.625rem; --rs-panel-shadow:var(--rs-shadow-md); border-radius:var(--rs-panel-border-radius); overflow:hidden; } .rs-panel .rs-anim-collapse{ display:none; } .rs-panel .rs-anim-collapse.rs-anim-in{ display:block; } .rs-panel-bordered{ border:1px solid var(--rs-border-primary); } .rs-panel-shaded{ box-shadow:var(--rs-panel-shadow); } .rs-panel-header, .rs-panel-body{ padding:var(--rs-panel-padding); } .rs-panel-body-fill{ padding:0 !important; } .rs-panel-header{ color:var(--rs-text-heading); font-size:var(--rs-panel-header-font-size); line-height:var(--rs-panel-header-line-height); font-weight:inherit; } .rs-panel-btn{ width:100%; border:none; background:none; outline:transparent solid 2px; display:flex; align-items:center; font-size:var(--rs-panel-btn-font-size); padding:var(--rs-panel-btn-padding); border-radius:var(--rs-panel-border-radius); } .rs-panel-btn:hover, .rs-panel-btn:focus, .rs-panel-btn:active{ background-color:var(--rs-btn-subtle-hover-bg); color:var(--rs-btn-subtle-hover-text); outline:transparent solid 2px; } .rs-panel-btn-icon{ transition:transform 0.2s ease 0s; } .rs-panel-btn[aria-expanded=true] .rs-panel-btn-icon{ transform:rotate(180deg); } .rs-panel-btn[disabled]{ cursor:not-allowed; color:var(--rs-text-disabled); background-color:var(--rs-btn-subtle-disabled-bg); } .rs-panel-title{ margin:0; flex:1 1 0%; text-align:start; } .rs-panel-title a{ color:inherit; } .rs-panel-title a:hover, .rs-panel-title a:focus, .rs-panel-title a:active{ text-decoration:none; } .rs-panel-header + .rs-panel-body-collapse .rs-panel-body, .rs-panel-header + .rs-panel-body{ padding-top:0; } .rs-panel-collapsible > .rs-panel-header{ cursor:pointer; transition:background-color 0.3s linear, border-radius 0.3s linear; position:relative; padding:calc(var(--rs-spacing) * 2.5); }