@studiocms/ui
Version:
The UI library for StudioCMS. Includes the layouts & components we use to build StudioCMS.
94 lines (93 loc) • 2.55 kB
CSS
.sui-toggle-label {
display: flex;
flex-direction: row;
align-items: center;
gap: 0.5rem;
position: relative;
margin: 0.25rem 0;
}
.sui-toggle-label.disabled {
opacity: 0.5;
pointer-events: none;
color: var(--text-muted);
}
.sui-toggle-label:active .sui-toggle-switch {
transform: scale(0.85);
}
.sui-toggle-container {
--toggle-height: 12px;
--toggle-width: 40px;
display: flex;
align-items: center;
cursor: pointer;
transition: all 0.15s ease;
background-color: var(--default-base);
width: var(--toggle-width);
height: var(--toggle-height);
border-radius: var(--radius-full);
}
.sui-toggle-switch {
--switch: calc(var(--toggle-height) * 1.75);
height: var(--switch);
width: var(--switch);
background-color: var(--background-gray);
border-radius: var(--radius-full);
position: relative;
left: 0;
transition: all 0.15s ease;
will-change: transform;
}
.sui-toggle-switch:focus-visible {
outline: 2px solid var(--text-normal);
outline-offset: 2px;
}
.sui-toggle-container:has(.sui-toggle-checkbox:checked) .sui-toggle-switch {
left: calc(100% - var(--switch));
background-color: var(--text-normal);
}
.sui-toggle-label.sm .sui-toggle-container {
--toggle-height: 10px;
--toggle-width: 32px;
}
.sui-toggle-label.sm .sui-toggle-switch {
--switch: calc(var(--toggle-height) * 1.65);
}
.sui-toggle-label.lg .sui-toggle-container {
--toggle-height: 16px;
--toggle-width: 48px;
}
.sui-toggle-label.lg .sui-toggle-switch {
--switch: calc(var(--toggle-height) * 1.65);
}
.sui-toggle-label.primary .sui-toggle-container:has(.sui-toggle-checkbox:checked) {
background-color: var(--primary-vibrant);
}
.sui-toggle-label.success .sui-toggle-container:has(.sui-toggle-checkbox:checked) {
background-color: var(--success-base);
}
.sui-toggle-label.warning .sui-toggle-container:has(.sui-toggle-checkbox:checked) {
background-color: var(--warning-base);
}
.sui-toggle-label.danger .sui-toggle-container:has(.sui-toggle-checkbox:checked) {
background-color: var(--danger-vibrant);
}
.sui-toggle-label.info .sui-toggle-container:has(.sui-toggle-checkbox:checked) {
background-color: var(--info-vibrant);
}
.sui-toggle-label.mono .sui-toggle-container:has(.sui-toggle-checkbox:checked) {
background-color: var(--mono-base);
}
.sui-toggle-label.mono .sui-toggle-switch {
border: 1px solid var(--text-inverted);
}
.req-star {
color: var(--danger-vibrant);
font-weight: 700;
}
.sui-toggle-checkbox {
width: 0;
height: 0;
visibility: hidden;
opacity: 0;
margin: 0;
}