[data-rs-checkbox] {
display: inline-flex;
align-items: center;
gap: var(--checkbox-gap);
cursor: pointer;
}
[data-rs-checkbox-input] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
[data-rs-checkbox-input]:focus-visible ~ [data-rs-checkbox-indicator],
[data-rs-checkbox][data-rs-state~="focus"] [data-rs-checkbox-indicator] {
outline: var(--focus-ring-width) solid var(--theme-action-focus-ring);
outline-offset: var(--focus-ring-offset);
}
[data-rs-checkbox-indicator] {
min-width: var(--checkbox-size);
min-height: var(--checkbox-size);
display: inline-flex;
align-items: center;
justify-content: center;
width: var(--checkbox-size);
height: var(--checkbox-size);
border: var(--checkbox-border-width) solid var(--checkbox-border-color);
border-radius: var(--checkbox-radius);
background: var(--checkbox-bg);
color: transparent;
transition: all var(--checkbox-transition-duration);
flex-shrink: 0;
}
[data-rs-checkbox][data-rs-state~="indeterminate"] [data-rs-checkbox-indicator] {
background: var(--checkbox-checked-bg);
border-color: var(--checkbox-checked-border-color);
color: var(--checkbox-checked-fg);
opacity: 0.6;
}
[data-rs-checkbox][data-rs-state~="checked"] [data-rs-checkbox-indicator] {
background: var(--checkbox-checked-bg);
border-color: var(--checkbox-checked-border-color);
color: var(--checkbox-checked-fg);
}
[data-rs-checkbox][data-rs-state~="disabled"] [data-rs-checkbox-indicator] {
opacity: var(--checkbox-disabled-opacity);
cursor: not-allowed;
}
[data-rs-checkbox][data-rs-state~="disabled"] {
cursor: not-allowed;
}
[data-rs-checkbox][data-rs-state~="focus"] [data-rs-checkbox-indicator] {
outline: var(--checkbox-focus-ring-width) solid var(--checkbox-focus-ring-color);
outline-offset: var(--focus-ring-offset);
}