UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

38 lines 1.52 kB
import { useEffect, useState } from 'react'; import { useValidations } from '../../provider/validations/validationsProvider'; import { limitValue } from './helpers/limitValue'; export const useInputDeprecated = ({ errorExecution, initialValue, keyValidation, currentValue, onBlur, onChange, onError, max, min, maxLength, }) => { const [value, setValue] = useState(currentValue || initialValue || ''); const { validationValue } = useValidations(); useEffect(() => { if (String(currentValue) === String(initialValue) && String(currentValue) !== value) { setValue(initialValue || ''); } }, [currentValue]); const handleChangeInternal = e => { const { target: { value: valueInput }, } = e; if (onChange) { onChange(e); } if (onError && errorExecution === 'onChange' && keyValidation) { onError(!validationValue(keyValidation, valueInput)); } const limitedValue = valueInput && limitValue(valueInput, min, max, maxLength); setValue(limitedValue); }; const handleBlurInternal = e => { const { target: { value: valueInput }, } = e; if (onBlur) { onBlur(e); } if (onError && errorExecution === 'onBlur' && keyValidation) { onError(!validationValue(keyValidation, valueInput)); } }; return { handleChangeInternal, handleBlurInternal, value, }; }; //# sourceMappingURL=useInputDeprecated.js.map