UNPKG

@novin-dev/formalite

Version:

Generate MUI form with few line of code

49 lines (42 loc) 2.35 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var React = require('react'); var TextField = require('@mui/material/TextField'); var utils = require('../../config/utils.js'); var SkeletonBase = require('./SkeletonBase.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var TextField__default = /*#__PURE__*/_interopDefaultLegacy(TextField); var TextFieldBase = function (props) { var name = props.name, formik = props.formik, loading = props.loading, validationSchema = props.validationSchema, translator = props.translator, mustRegex = props.mustRegex, onChange = props.onChange, otherProps = tslib.__rest(props, ["name", "formik", "loading", "validationSchema", "translator", "mustRegex", "onChange"]); if (loading) { return React__default["default"].createElement(SkeletonBase.TextViewSkeleton, { hasHelper: !!otherProps.helperText }); } var handleChange = function (e) { var value = e.target.value; if (!utils.checkRegex({ regexs: mustRegex, text: value })) { return; } formik.setFieldValue(name, value); if (onChange) { try { onChange(value, e); } catch (error) { utils.showErrorMessage(error); } } }; return (React__default["default"].createElement(TextField__default["default"], tslib.__assign({ fullWidth: true, name: name, required: utils.checkIsRequired({ schema: validationSchema, formikValues: formik.values, key: name, }), error: utils.getData({ source: formik.touched, key: name }) && Boolean(utils.getData({ source: formik.errors, key: name })), value: utils.getData({ source: formik.values, key: name }), onChange: handleChange }, otherProps, { helperText: utils.getData({ source: formik.touched, key: name }) && utils.getData({ source: formik.errors, key: name }) ? translator(utils.getData({ source: formik.errors, key: name })) : otherProps.helperText }))); }; exports.TextFieldBase = TextFieldBase; //# sourceMappingURL=TextFieldBase.js.map