@thot/components
Version:
Libreria de componentes web
38 lines (32 loc) • 922 B
JavaScript
import React, { useState } from 'react'
import PropTypes from 'prop-types'
import styles from './Checkbox.module.css'
import { getClasses } from '../../helpers/styles'
const handelChecked = ({ checked, setChecked, onChecked }) => () => {
setChecked(!checked)
onChecked(!checked)
}
export const Checkbox = ({ id, ariaLabel, isChecked, onChecked }) => {
const [checked, setChecked] = useState(isChecked)
const getStyles = getClasses(styles)({})
return (
<input
id={id}
aria-label={ariaLabel}
type="checkbox"
className={getStyles('checkbox')}
checked={checked}
onChange={handelChecked({ checked, setChecked, onChecked })}
/>
)
}
Checkbox.propTypes = {
id: PropTypes.string.isRequired,
ariaLabel: PropTypes.string.isRequired,
isChecked: PropTypes.bool,
onChecked: PropTypes.func,
}
Checkbox.defaultProps = {
// isChecked: false,
}
export default Checkbox