@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
42 lines • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useInputDeprecated = void 0;
const react_1 = require("react");
const validationsProvider_1 = require("../../provider/validations/validationsProvider");
const limitValue_1 = require("./helpers/limitValue");
const useInputDeprecated = ({ errorExecution, initialValue, keyValidation, currentValue, onBlur, onChange, onError, max, min, maxLength, }) => {
const [value, setValue] = (0, react_1.useState)(currentValue || initialValue || '');
const { validationValue } = (0, validationsProvider_1.useValidations)();
(0, react_1.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 && (0, limitValue_1.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,
};
};
exports.useInputDeprecated = useInputDeprecated;
//# sourceMappingURL=useInputDeprecated.js.map