UNPKG

react-standalone-form-mui

Version:

The Material UI suite for react-standalone-form library.

68 lines (57 loc) 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Input = _interopRequireDefault(require("@material-ui/core/Input")); var _InputAdornment = _interopRequireDefault(require("@material-ui/core/InputAdornment")); var _FormControl = _interopRequireDefault(require("./FormControl")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const Input = _ref => { let { name, type, value, placeholder, required, maxChars, multiline, addon, disableUnderline, setValue } = _ref; return /*#__PURE__*/_react.default.createElement(_Input.default, { id: name, type: type, onChange: e => { const finalValue = maxChars && e.target.value.length > maxChars ? e.target.value.substring(0, maxChars) : e.target.value; setValue(name, finalValue, required, { type }); }, value: value || '', placeholder: placeholder, startAdornment: addon ? /*#__PURE__*/_react.default.createElement(_InputAdornment.default, { position: "start" }, addon) : null, endAdornment: maxChars ? /*#__PURE__*/_react.default.createElement(_InputAdornment.default, { position: "end" }, "".concat(value ? value.length : 0, "/").concat(maxChars)) : null, disableUnderline: disableUnderline, multiline: multiline }); }; Input.defaultProps = { type: 'text' }; Input.propTypes = { name: _propTypes.default.string.isRequired, type: _propTypes.default.string, value: _propTypes.default.any, required: _propTypes.default.bool, setValue: _propTypes.default.func.isRequired }; var _default = (0, _FormControl.default)(Input); exports.default = _default;