UNPKG

@novin-dev/formalite

Version:

Generate MUI form with few line of code

30 lines (27 loc) 1.92 kB
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