UNPKG

rsuite

Version:

A suite of react components

536 lines (530 loc) 17.9 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-500:#939393; --rs-gray-600:#717273; --rs-gray-800:#343434; --rs-gray-900:#121212; --rs-primary-200:#A6D7FF; --rs-primary-400:#59AFFF; --rs-primary-500:#3498ff; --rs-primary-600:#2589F5; --rs-primary-700:#1675E0; --rs-primary-900:#004299; --rs-red-500:#F44336; --rs-red-600:#EB3626; --rs-orange-500:#FA8900; --rs-orange-600:#F08800; --rs-yellow-500:#FFB300; --rs-yellow-600:#F5AF00; --rs-green-500:#4CAF50; --rs-green-600:#37AB3C; --rs-cyan-500:#00BCD4; --rs-cyan-600:#00B1CC; --rs-blue-500:#2196F3; --rs-blue-600:#1787E8; --rs-violet-500:#673AB7; --rs-violet-600:#5F2BB3; --rs-body:var(--rs-gray-0); --rs-text-primary:var(--rs-gray-800); --rs-focus-ring-color:rgb(from var(--rs-primary-500) r g b / 25%); --rs-state-focus-shadow:0 0 0 2px rgb(from var(--rs-primary-500) r g b / 25%); --rs-toggle-bg:var(--rs-gray-500); --rs-toggle-thumb:#fff; --rs-toggle-loader-ring:rgb(from var(--rs-gray-50) r g b / 30%); --rs-toggle-loader-rotor:var(--rs-gray-0); --rs-toggle-hover-bg:var(--rs-gray-500); --rs-toggle-disabled-bg:var(--rs-gray-200); --rs-toggle-disabled-thumb:#fff; --rs-toggle-checked-bg:var(--rs-primary-500); --rs-toggle-checked-thumb:#fff; --rs-toggle-checked-hover-bg:var(--rs-primary-600); --rs-toggle-checked-disabled-bg:var(--rs-primary-200); --rs-toggle-checked-disabled-thumb:#fff; } @supports not (color: rgb(from white r g b)){ :root{ --rs-focus-ring-color:rgba(52, 152, 255, 0.25); --rs-state-focus-shadow:0 0 0 2px rgba(52, 152, 255, 0.25); --rs-toggle-loader-ring:rgba(247, 247, 250, 0.3); } } [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-500:#5c6066; --rs-gray-600:#3c3f43; --rs-gray-800:#1a1d24; --rs-gray-900:#0f131a; --rs-primary-200:#A6E9FF; --rs-primary-400:#59D0FF; --rs-primary-500:#34c3ff; --rs-primary-600:#25B3F5; --rs-primary-700:#169DE0; --rs-primary-900:#006199; --rs-red-500:#F04F43; --rs-red-600:#E63F30; --rs-orange-500:#FF9800; --rs-orange-600:#F59700; --rs-yellow-500:#FFC757; --rs-yellow-600:#F5BB3D; --rs-green-500:#58B15B; --rs-green-600:#3FAB45; --rs-cyan-500:#00BCD4; --rs-cyan-600:#00B1CC; --rs-blue-500:#1499EF; --rs-blue-600:#0E8CE6; --rs-violet-500:#673AB7; --rs-violet-600:#5F2BB3; --rs-body:var(--rs-gray-900); --rs-text-primary:var(--rs-gray-50); --rs-state-focus-shadow:0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%); --rs-toggle-bg:var(--rs-gray-500); --rs-toggle-thumb:#fff; --rs-toggle-hover-bg:var(--rs-gray-300); --rs-toggle-disabled-bg:var(--rs-gray-600); --rs-toggle-disabled-thumb:var(--rs-gray-500); --rs-toggle-checked-bg:var(--rs-primary-700); --rs-toggle-checked-thumb:#fff; --rs-toggle-checked-hover-bg:var(--rs-primary-600); --rs-toggle-checked-disabled-bg:var(--rs-primary-900); --rs-toggle-checked-disabled-thumb:var(--rs-gray-300); } @supports not (color: rgb(from white r g b)){ [data-theme=dark], .rs-theme-dark{ --rs-state-focus-shadow:0 0 0 2px 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-300:#858b94; --rs-gray-500:#5c6066; --rs-gray-600:#3c3f43; --rs-gray-800:#1a1d24; --rs-gray-900:#0f131a; --rs-primary-200:#fffa91; --rs-primary-400:#fffc30; --rs-primary-500:#ffff00; --rs-primary-600:#f1f500; --rs-primary-700:#d9e000; --rs-primary-900:#8f9900; --rs-red-500:#BD1732; --rs-red-600:#B51029; --rs-orange-500:#FF9800; --rs-orange-600:#F59700; --rs-yellow-500:#FFC757; --rs-yellow-600:#F5BB3D; --rs-green-500:#0D822C; --rs-green-600:#09802B; --rs-cyan-500:#00BCD4; --rs-cyan-600:#00B1CC; --rs-blue-500:#1499EF; --rs-blue-600:#0E8CE6; --rs-violet-500:#673AB7; --rs-violet-600:#5F2BB3; --rs-body:var(--rs-gray-900); --rs-text-primary:var(--rs-gray-50); --rs-focus-ring-color:var(--rs-gray-0); --rs-state-focus-shadow:0 0 0 2px var(--rs-gray-900), 0 0 0 5px var(--rs-gray-0); --rs-toggle-bg:var(--rs-gray-800); --rs-toggle-thumb:var(--rs-gray-100); --rs-toggle-hover-bg:var(--rs-gray-800); --rs-toggle-disabled-bg:var(--rs-gray-800); --rs-toggle-disabled-thumb:var(--rs-gray-300); --rs-toggle-checked-bg:var(--rs-primary-500); --rs-toggle-checked-thumb:var(--rs-gray-800); --rs-toggle-checked-hover-bg:var(--rs-primary-400); --rs-toggle-checked-disabled-bg:var(--rs-primary-900); --rs-toggle-checked-disabled-thumb: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-3xs:0.5rem; --rs-font-size-2xs:0.625rem; --rs-font-size-xs:0.75rem; --rs-font-size-sm:0.875rem; --rs-font-size-md:1rem; --rs-font-size-lg:1.125rem; --rs-line-height-md:calc(20 / 14); --rs-radius-full:62.5rem; } @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-toggle{ --rs-toggle-transition:0.2s ease-in-out; --rs-toggle-gap:10px; --rs-toggle-active-scale:1.2; --rs-toggle-font-size-xs:var(--rs-font-size-2xs); --rs-toggle-inner-font-size-xs:var(--rs-font-size-3xs); --rs-toggle-line-height-xs:1; --rs-toggle-gap-xs:4px; --rs-toggle-handle-gap-xs:2px; --rs-toggle-size-xs:14px; --rs-toggle-inner-margin-xs:4px; --rs-toggle-font-size-sm:var(--rs-font-size-xs); --rs-toggle-inner-font-size-sm:var(--rs-font-size-2xs); --rs-toggle-line-height-sm:1.4; --rs-toggle-gap-sm:6px; --rs-toggle-handle-gap-sm:2px; --rs-toggle-size-sm:18px; --rs-toggle-inner-margin-sm:6px; --rs-toggle-font-size-md:var(--rs-font-size-sm); --rs-toggle-inner-font-size-md:var(--rs-font-size-xs); --rs-toggle-line-height-md:2; --rs-toggle-gap-md:8px; --rs-toggle-handle-gap-md:3px; --rs-toggle-size-md:22px; --rs-toggle-inner-margin-md:8px; --rs-toggle-font-size-lg:var(--rs-font-size-md); --rs-toggle-inner-font-size-lg:var(--rs-font-size-sm); --rs-toggle-line-height-lg:2.14285714; --rs-toggle-gap-lg:10px; --rs-toggle-handle-gap-lg:4px; --rs-toggle-size-lg:28px; --rs-toggle-inner-margin-lg:10px; --rs-toggle-font-size-xl:var(--rs-font-size-lg); --rs-toggle-inner-font-size-xl:var(--rs-font-size-md); --rs-toggle-line-height-xl:2.14285714; --rs-toggle-gap-xl:12px; --rs-toggle-handle-gap-xl:5px; --rs-toggle-size-xl:34px; --rs-toggle-inner-margin-xl:12px; position:relative; display:inline-flex; align-items:center; font-size:var(--rs-toggle-font-size); gap:var(--rs-toggle-gap); } .rs-toggle[data-size=xs]{ --rs-toggle-font-size:var(--rs-toggle-font-size-xs); --rs-toggle-inner-font-size:var(--rs-toggle-inner-font-size-xs); --rs-toggle-line-height:var(--rs-toggle-line-height-xs); --rs-toggle-inner-margin:var(--rs-toggle-inner-margin-xs); --rs-toggle-handle-size:calc( var(--rs-toggle-size-xs) - var(--rs-toggle-handle-gap-xs) * 2 ); --rs-toggle-handle-gap:var(--rs-toggle-handle-gap-xs); --rs-toggle-gap:var(--rs-toggle-gap-xs); --rs-toggle-min-width:calc(var(--rs-toggle-size-xs) * 2 - var(--rs-toggle-handle-gap)); --rs-toggle-size:var(--rs-toggle-size-xs); --rs-toggle-checked-margin-left:calc( (var(--rs-toggle-size) - var(--rs-toggle-handle-gap)) * -1 ); --rs-toggle-active-checked-margin-left:calc( (var(--rs-toggle-size) * var(--rs-toggle-active-scale) - var(--rs-toggle-handle-gap)) * -1 ); } .rs-toggle[data-size=sm]{ --rs-toggle-font-size:var(--rs-toggle-font-size-sm); --rs-toggle-inner-font-size:var(--rs-toggle-inner-font-size-sm); --rs-toggle-line-height:var(--rs-toggle-line-height-sm); --rs-toggle-inner-margin:var(--rs-toggle-inner-margin-sm); --rs-toggle-handle-size:calc( var(--rs-toggle-size-sm) - var(--rs-toggle-handle-gap-sm) * 2 ); --rs-toggle-handle-gap:var(--rs-toggle-handle-gap-sm); --rs-toggle-gap:var(--rs-toggle-gap-sm); --rs-toggle-min-width:calc(var(--rs-toggle-size-sm) * 2 - var(--rs-toggle-handle-gap)); --rs-toggle-size:var(--rs-toggle-size-sm); --rs-toggle-checked-margin-left:calc( (var(--rs-toggle-size) - var(--rs-toggle-handle-gap)) * -1 ); --rs-toggle-active-checked-margin-left:calc( (var(--rs-toggle-size) * var(--rs-toggle-active-scale) - var(--rs-toggle-handle-gap)) * -1 ); } .rs-toggle[data-size=md]{ --rs-toggle-font-size:var(--rs-toggle-font-size-md); --rs-toggle-inner-font-size:var(--rs-toggle-inner-font-size-md); --rs-toggle-line-height:var(--rs-toggle-line-height-md); --rs-toggle-inner-margin:var(--rs-toggle-inner-margin-md); --rs-toggle-handle-size:calc( var(--rs-toggle-size-md) - var(--rs-toggle-handle-gap-md) * 2 ); --rs-toggle-handle-gap:var(--rs-toggle-handle-gap-md); --rs-toggle-gap:var(--rs-toggle-gap-md); --rs-toggle-min-width:calc(var(--rs-toggle-size-md) * 2 - var(--rs-toggle-handle-gap)); --rs-toggle-size:var(--rs-toggle-size-md); --rs-toggle-checked-margin-left:calc( (var(--rs-toggle-size) - var(--rs-toggle-handle-gap)) * -1 ); --rs-toggle-active-checked-margin-left:calc( (var(--rs-toggle-size) * var(--rs-toggle-active-scale) - var(--rs-toggle-handle-gap)) * -1 ); } .rs-toggle[data-size=lg]{ --rs-toggle-font-size:var(--rs-toggle-font-size-lg); --rs-toggle-inner-font-size:var(--rs-toggle-inner-font-size-lg); --rs-toggle-line-height:var(--rs-toggle-line-height-lg); --rs-toggle-inner-margin:var(--rs-toggle-inner-margin-lg); --rs-toggle-handle-size:calc( var(--rs-toggle-size-lg) - var(--rs-toggle-handle-gap-lg) * 2 ); --rs-toggle-handle-gap:var(--rs-toggle-handle-gap-lg); --rs-toggle-gap:var(--rs-toggle-gap-lg); --rs-toggle-min-width:calc(var(--rs-toggle-size-lg) * 2 - var(--rs-toggle-handle-gap)); --rs-toggle-size:var(--rs-toggle-size-lg); --rs-toggle-checked-margin-left:calc( (var(--rs-toggle-size) - var(--rs-toggle-handle-gap)) * -1 ); --rs-toggle-active-checked-margin-left:calc( (var(--rs-toggle-size) * var(--rs-toggle-active-scale) - var(--rs-toggle-handle-gap)) * -1 ); } .rs-toggle[data-size=xl]{ --rs-toggle-font-size:var(--rs-toggle-font-size-xl); --rs-toggle-inner-font-size:var(--rs-toggle-inner-font-size-xl); --rs-toggle-line-height:var(--rs-toggle-line-height-xl); --rs-toggle-inner-margin:var(--rs-toggle-inner-margin-xl); --rs-toggle-handle-size:calc( var(--rs-toggle-size-xl) - var(--rs-toggle-handle-gap-xl) * 2 ); --rs-toggle-handle-gap:var(--rs-toggle-handle-gap-xl); --rs-toggle-gap:var(--rs-toggle-gap-xl); --rs-toggle-min-width:calc(var(--rs-toggle-size-xl) * 2 - var(--rs-toggle-handle-gap)); --rs-toggle-size:var(--rs-toggle-size-xl); --rs-toggle-checked-margin-left:calc( (var(--rs-toggle-size) - var(--rs-toggle-handle-gap)) * -1 ); --rs-toggle-active-checked-margin-left:calc( (var(--rs-toggle-size) * var(--rs-toggle-active-scale) - var(--rs-toggle-handle-gap)) * -1 ); } .rs-toggle[data-color=red]{ --rs-toggle-checked-bg:var(--rs-red-500); --rs-toggle-checked-hover-bg:var(--rs-red-600); } .rs-toggle[data-color=orange]{ --rs-toggle-checked-bg:var(--rs-orange-500); --rs-toggle-checked-hover-bg:var(--rs-orange-600); } .rs-toggle[data-color=yellow]{ --rs-toggle-checked-bg:var(--rs-yellow-500); --rs-toggle-checked-hover-bg:var(--rs-yellow-600); } .rs-toggle[data-color=green]{ --rs-toggle-checked-bg:var(--rs-green-500); --rs-toggle-checked-hover-bg:var(--rs-green-600); } .rs-toggle[data-color=cyan]{ --rs-toggle-checked-bg:var(--rs-cyan-500); --rs-toggle-checked-hover-bg:var(--rs-cyan-600); } .rs-toggle[data-color=blue]{ --rs-toggle-checked-bg:var(--rs-blue-500); --rs-toggle-checked-hover-bg:var(--rs-blue-600); } .rs-toggle[data-color=violet]{ --rs-toggle-checked-bg:var(--rs-violet-500); --rs-toggle-checked-hover-bg:var(--rs-violet-600); } .rs-toggle:where([data-placement=start]){ flex-direction:row-reverse; } .rs-toggle-label{ cursor:pointer; font-size:inherit; } .rs-toggle-inner{ display:flex; align-items:center; justify-content:center; transition:margin var(--rs-toggle-transition); font-size:var(--rs-toggle-inner-font-size); line-height:var(--rs-toggle-line-height); margin-inline-start:var(--rs-toggle-size); margin-inline-end:var(--rs-toggle-inner-margin); height:var(--rs-toggle-size); } .rs-toggle-inner .rs-icon{ font-size:inherit; } .rs-toggle-input{ cursor:pointer; position:absolute; inset:0; opacity:0; } .rs-toggle-track{ position:relative; display:inline-block; box-sizing:border-box; vertical-align:middle; background-color:var(--rs-toggle-bg); color:var(--rs-toggle-thumb); cursor:pointer; transition:background-color var(--rs-toggle-transition), width var(--rs-toggle-transition); -webkit-user-select:none; -moz-user-select:none; user-select:none; height:var(--rs-toggle-size); line-height:1; min-width:var(--rs-toggle-min-width); border-radius:var(--rs-radius-full); } .rs-toggle-track::after{ width:var(--rs-toggle-handle-size); height:var(--rs-toggle-handle-size); inset-inline-start:var(--rs-toggle-handle-gap); top:var(--rs-toggle-handle-gap); border-radius:var(--rs-radius-full); } .rs-toggle-track:active::after{ width:calc(var(--rs-toggle-handle-size) * var(--rs-toggle-active-scale)); } [data-theme=high-contrast] .rs-toggle-track, .rs-theme-high-contrast .rs-toggle-track{ transition:none; box-shadow:inset 0 0 0 1px var(--rs-toggle-thumb); } .rs-toggle-input:focus-visible + .rs-toggle-track{ outline:2px solid var(--rs-focus-ring-color); outline-offset:-1px; box-shadow:inset 0 0 0 1px var(--rs-toggle-thumb), var(--rs-state-focus-shadow); } .rs-toggle-track:hover{ background-color:var(--rs-toggle-hover-bg); } .rs-toggle-track::after{ content:""; cursor:pointer; position:absolute; background-color:currentColor; transition:inset-inline-start var(--rs-toggle-transition), margin-inline-start var(--rs-toggle-transition), width var(--rs-toggle-transition); } .rs-toggle[data-disabled=true] .rs-toggle-track{ background-color:var(--rs-toggle-disabled-bg); color:var(--rs-toggle-disabled-thumb); pointer-events:none; } .rs-toggle[data-checked=true] .rs-toggle-track{ background-color:var(--rs-toggle-checked-bg); color:var(--rs-toggle-checked-thumb); box-shadow:none; } .rs-toggle[data-checked=true] .rs-toggle-track::after{ inset-inline-start:100%; margin-inline-start:var(--rs-toggle-checked-margin-left); } .rs-toggle[data-checked=true] .rs-toggle-track:active::after{ margin-inline-start:var(--rs-toggle-active-checked-margin-left); } .rs-toggle[data-checked=true] .rs-toggle-track .rs-toggle-inner{ margin-inline-end:var(--rs-toggle-size); margin-inline-start:var(--rs-toggle-inner-margin); } .rs-toggle[data-checked=true] .rs-toggle-track:hover{ background-color:var(--rs-toggle-checked-hover-bg); } .rs-toggle[data-checked=true][data-disabled=true] .rs-toggle-track{ background-color:var(--rs-toggle-checked-disabled-bg); color:var(--rs-toggle-checked-disabled-thumb); } .rs-toggle[data-loading=true] .rs-toggle-track::after{ display:none; } .rs-toggle-loader{ position:absolute; transition:left var(--rs-toggle-transition), margin-left var(--rs-toggle-transition), width var(--rs-toggle-transition); inset-inline-start:var(--rs-toggle-handle-gap); top:var(--rs-toggle-handle-gap); } .rs-toggle-loader,.rs-toggle-loader .rs-loader-spin, .rs-toggle-loader .rs-loader-spin::before, .rs-toggle-loader .rs-loader-spin::after{ width:var(--rs-toggle-handle-size); height:var(--rs-toggle-handle-size); } .rs-toggle-loader .rs-loader-spin::before, .rs-toggle-loader .rs-loader-spin::after{ border-width:2px; } .rs-toggle[data-checked=true] .rs-toggle-loader{ inset-inline-start:100%; margin-inline-start:var(--rs-toggle-checked-margin-left); } .rs-toggle-loader .rs-loader-spin::before{ border-color:var(--rs-toggle-loader-ring); } .rs-toggle-loader .rs-loader-spin::after{ border-top-color:var(--rs-toggle-loader-rotor); } [data-theme=high-contrast] .rs-toggle[data-checked=true] .rs-toggle-loader .rs-loader-spin::before, .rs-theme-high-contrast .rs-toggle[data-checked=true] .rs-toggle-loader .rs-loader-spin::before{ border-color:var(--rs-gray-200); } [data-theme=high-contrast] .rs-toggle[data-checked=true] .rs-toggle-loader .rs-loader-spin::after, .rs-theme-high-contrast .rs-toggle[data-checked=true] .rs-toggle-loader .rs-loader-spin::after{ border-top-color:var(--rs-gray-500); }