@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
JavaScript
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