UNPKG

rsuite

Version:

A suite of react components

542 lines (527 loc) 16.3 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-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 !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; } } .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; }