@s-ui/react-atom-input
Version:
> Inputs are the text fields that users fill in with different types of information. These include dates, passwords or even short answers. It’s a field where users can write alphanumeric texts.
48 lines • 1.91 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
var _excluded = ["name", "onChange", "onComplete", "mask", "value", "defaultValue", "placeholder", "size"];
import { forwardRef } from 'react';
import PropTypes from 'prop-types';
import { isFunction, SIZES } from '../config.js';
import IMask from './iMask.js';
import { jsx as _jsx } from "react/jsx-runtime";
var MaskInput = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
var name = _ref.name,
onChange = _ref.onChange,
_onComplete = _ref.onComplete,
mask = _ref.mask,
value = _ref.value,
defaultValue = _ref.defaultValue,
placeholder = _ref.placeholder,
_ref$size = _ref.size,
size = _ref$size === void 0 ? SIZES.MEDIUM : _ref$size,
props = _objectWithoutPropertiesLoose(_ref, _excluded);
return /*#__PURE__*/_jsx(IMask, _extends({
name: name,
mask: mask == null ? void 0 : mask.mask,
value: value,
size: size,
ref: forwardedRef,
placeholder: placeholder,
onAccept: function onAccept(value, maskRef, event) {
for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
args[_key - 3] = arguments[_key];
}
return isFunction(onChange) && onChange(event, _extends({
value: value,
maskRef: maskRef
}, args));
},
onComplete: function onComplete(value, maskRef, event) {
for (var _len2 = arguments.length, args = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
args[_key2 - 3] = arguments[_key2];
}
return isFunction(_onComplete) && _onComplete(event, _extends({
value: value,
maskRef: maskRef
}, args));
}
}, props));
});
MaskInput.displayName = 'MaskInput';
export default MaskInput;