0.0.14 • Published 6 years ago
react-toggle-styled-component v0.0.14
A styled-components version of Arron Shaf's toggle component.
An elegant, accessible toggle component for React. Also a glorified checkbox.
See usage and examples.
Props
The component takes the following props.
Prop | Type | Description |
---|---|---|
checked | boolean | If true , the toggle is checked. If false , the toggle is unchecked. Use this if you want to treat the toggle as a controlled component |
defaultChecked | boolean | If true on initial render, the toggle is checked. If false on initial render, the toggle is unchecked. Use this if you want to treat the toggle as an uncontrolled component |
onChange | function | Callback function to invoke when the user clicks on the toggle. The function signature should be the following: function(e) { } . To get the current checked status from the event, use e.target.checked . |
onFocus | function | Callback function to invoke when field has focus. The function signature should be the following: function(e) { } |
onBlur | function | Callback function to invoke when field loses focus. The function signature should be the following: function(e) { } |
name | string | The value of the name attribute of the wrapped \<input> element |
value | string | The value of the value attribute of the wrapped \<input> element |
id | string | The value of the id attribute of the wrapped \<input> element |
icons | object | If false , no icons are displayed. You may also pass custom icon components in icons={{{checked: <CheckedIcon />, unchecked: <UncheckedIcon />}} |
aria-labelledby | string | The value of the aria-labelledby attribute of the wrapped \<input> element |
aria-label | string | The value of the aria-label attribute of the wrapped \<input> element |
disabled | boolean | If true , the toggle is disabled. If false , the toggle is enabled |
Installation
yarn react-toggle
Usage
You can theme the component by wrapping in the components custom <ThemeProvider>
and supplying the following theme:
import Toggle, { ThemeProvider }
...
const theme = {
checkedBg: '#19AB27',
checkedBgHover: '#128D15',
notCheckedBg: '#4D4D4D',
notCheckedBgHover: '#000000',
checkedBorder: '#19AB27',
notCheckedBorder: '#4D4D4D',
thumbBg: '#FAFAFA',
}
see styled-components theming for more details
Development
yarn
yarn dev
Build
yarn build
License
MIT