@novin-dev/formalite
Version:
Generate MUI form with few line of code
30 lines (27 loc) • 1.92 kB
JavaScript
import { __rest, __assign } from 'tslib';
import { Grid } from '@mui/material';
import React, { useMemo } from 'react';
import { IMaskInput } from 'react-imask';
import { TextFieldBase } from '../Bases/TextFieldBase.js';
import { baseMemo } from '../Bases/functions/memo.js';
var CartNumberView = function (props) {
var allData = props.allData, name = props.name, formik = props.formik, loading = props.loading, validationSchema = props.validationSchema, translator = props.translator, formMustRegex = props.formMustRegex;
var _a = allData.inputProps; _a.onChange; _a.placeholder; _a.helperText; var inputProps = __rest(_a, ["onChange", "placeholder", "helperText"]);
var TextMaskCustom = useMemo(function () {
return React.forwardRef(function (propsInner, ref) {
var innerOnChange = propsInner.onChange, other = __rest(propsInner, ["onChange"]);
return (React.createElement(IMaskInput, __assign({}, other, { unmask: true, mask: allData.mask, definitions: {
"#": /[1-9]/,
}, inputRef: ref, onAccept: function (value) {
return innerOnChange({ target: { name: propsInner.name, value: value } });
}, overwrite: true })));
});
}, [allData.mask]);
return (React.createElement(Grid, __assign({ item: true }, allData.layoutProps),
React.createElement(TextFieldBase, __assign({ formik: formik, loading: loading, validationSchema: validationSchema, translator: translator, name: String(name), mustRegex: [allData.mustRegex, formMustRegex] }, inputProps, { InputProps: __assign({ inputComponent: TextMaskCustom }, (inputProps.InputProps || {})) }))));
};
var CardNumberView = React.memo(CartNumberView, function (prevProps, nextProps) {
return baseMemo(prevProps, nextProps);
});
export { CardNumberView as default };
//# sourceMappingURL=CardNumberView.js.map