Rev 2791 | Rev 2827 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'import {FormControl,InputAdornment,InputBase,InputLabel,styled} from '@mui/material'import { Controller } from 'react-hook-form'import { colors } from '@app/styles/mui/colors'import FormErrorFeedback from '../form/FormErrorFeedback'const CustomInput = styled(InputBase)(({ theme }) => ({borderRadius: 4,position: 'relative',backgroundColor: colors.main,border: `1px solid var(--border-primary)`,fontSize: 14,padding: '5px 10px',transition: theme.transitions.create(['border-color','background-color','box-shadow']),'& .MuiInputBase-input': {paddingTop: 0,paddingBottom: 0,'&::file-selector-button': {lineHeight: 1}},'& svg': {fontSize: '1.3rem'}}))const Input = ({name,control,label,rules,defaultValue,onChange,value,icon,accept,error,...props}) => {if (control) {return (<Controllername={name}control={control}defaultValue={defaultValue}rules={rules}render={({ field }) => (<FormControl variant='standard' fullWidth><InputLabel shrink>{label}</InputLabel><CustomInput{...field}inputProps={{accept}}startAdornment={icon ? <InputAdornment>{icon}</InputAdornment> : null}fullWidth{...props}/>{error ? <FormErrorFeedback>{error}</FormErrorFeedback> : null}</FormControl>)}/>)}return (<FormControl variant='standard' fullWidth><InputLabel shrink>{label}</InputLabel><CustomInputname={name}onChange={onChange}defaultValue={defaultValue}value={value}inputProps={{accept}}startAdornment={icon ? <InputAdornment>{icon}</InputAdornment> : null}fullWidth{...props}/>{error ? <FormErrorFeedback>{error}</FormErrorFeedback> : null}</FormControl>)}export default Input