ControlBox
ControlBox provides style props to change it's styles based on a sibling checkbox or radio input. It relies on a common CSS technique for styling custom controls.
For this component to work, it should have a sibling input and be contained in a label.
Usage
Creating a custom checkbox component
EDITABLE EXAMPLE
Creating a custom radio component
EDITABLE EXAMPLE
Props
By default, it toggles the opacity of the ControlBox children by setting _child to { opacity: 0 } and _checkedAndChild to { opacity: 1 }.
| Name | Selector | Description |
|---|---|---|
| _child | [input] + & > * | Styles for the child of the ControlBox. |
| _disabled | [input]:disabled + & | Styles for when the sibling input is disabled. |
| _focus | [input]:focus + & | Styles for when the sibling input is focused. |
| _hover | [input]:hover:not(:disabled):not(:checked):not(:focus) + & | Styles for when the sibling input is hovered. |
| _checked | [input]:checked + & | Styles for when the sibling input is checked. |
| _checkedAndActive | [input]:checked:active:not(:disabled):not(:focus) + & | Styles for when the sibling input is checked and actived. |
| _checkedAndChild | [input]:checked + & > * | Styles for the child of the ControlBox when the sibling input is checked. |
| _checkedAndDisabled | [input]:checked:disabled + & | Styles for when the sibling input is checked and disabled. |
| _checkedAndFocus | [input]:checked:focus + & | Styles for when the sibling input is checked and focused. |
| _checkedAndHover | [input]:checked:hover:not(:disabled):not(:focus) + & | Styles for when the sibling input is checked and hovered. |
| _indeterminate | [input][data-indeterminate=true] + & | Styles for when the sibling input is indeterminate. |
| _indeterminateAndActive | [input][data-indeterminate=true]:active:not(:disabled):not(:focus) + & | Styles for when the sibling input is indeterminate and actived. |
| _indeterminateAndChild | [input][data-indeterminate=true] + & > * | Styles for the child of the ControlBox when the sibling input is indeterminate. |
| _indeterminateAndDisabled | [input][data-indeterminate=true]:disabled + & | Styles for when the sibling input is indeterminate and disabled. |
| _indeterminateAndFocus | [input][data-indeterminate=true]:focus + & | Styles for when the sibling input is indeterminate and focused. |
| _indeterminateAndHover | [input][data-indeterminate=true]:hover:not(:disabled):not(:focus) + & | Styles for when the sibling input is indeterminate and hovered. |