Rev 1266 | Rev 1268 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from 'react'import { useController } from 'react-hook-form'import styled, { css } from 'styled-components'import FormErrorFeedback from '../FormErrorFeedback'const CheckboxContainer = styled.div`display: inline-flex;align-items: center;* {cursor: pointer;}span {display: inline-block;width: 15px;height: 15px;position: relative;border: 1px solid #d2d2d2;border-radius: 100px;&::before {content: '';border-radius: 100px;background-color: #e44d3a;width: 8px;height: 8px;inset: 0;margin: auto;position: absolute;opacity: 0;visibility: hidden;}}input {display: none;}label {font-size: 14px;margin-left: 10px;line-height: 1;}${(props) =>props.isChecked &&css`margin-bottom: 0.5rem;span::before {visibility: visible;opacity: 1;}`}`const Checkbox = ({ name, control, rules = {}, label = '', error = '' }) => {const [isChecked, setIsChecked] = useState(false)const { field } = useController({name,control,rules})field.onChange = (e) => {setIsChecked(e.target.checked)}return (<><CheckboxContainer isChecked={isChecked}><span></span><label htmlFor={name}><inputtype='checkbox'name={field.name}id={field.name}ref={field.ref}/>{label}</label></CheckboxContainer>{error ? <FormErrorFeedback>{error}</FormErrorFeedback> : null}</>)}export default Checkbox