UNPKG

@simpozio/contact-form

Version:
45 lines 2.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = __importDefault(require("react")); var lodash_1 = __importDefault(require("lodash")); var core_1 = require("@material-ui/core"); var classnames_1 = __importDefault(require("classnames")); var PhoneInput_1 = __importDefault(require("./PhoneInput")); var Field = function (_a) { var className = _a.className, name = _a.name, _b = _a.type, type = _b === void 0 ? 'text' : _b, label = _a.label, placeholder = _a.placeholder, _c = _a.field, field = _c === void 0 ? { value: '', error: true } : _c, required = _a.required, disabled = _a.disabled, onChange = _a.onChange, onBlur = _a.onBlur; var value = field.value, error = field.error; var handleChange = function (event) { var value = lodash_1.default.isObject(event) ? lodash_1.default.get(event, 'target.value') : event; lodash_1.default.isFunction(onChange) && onChange(name, value); }; var handleBlur = function (event) { var value = lodash_1.default.isObject(event) ? lodash_1.default.get(event, 'target.value') : event; var type = lodash_1.default.isObject(event) && lodash_1.default.get(event, 'target.type'); lodash_1.default.isFunction(onBlur) && onBlur(); if (type === 'email') { event.target.value = ''; } lodash_1.default.isFunction(onChange) && onChange(name, lodash_1.default.trim(value)); }; return (react_1.default.createElement(core_1.TextField, { className: classnames_1.default('smpz-form-mui-control', className), InputLabelProps: { classes: { root: "smpz-form-mui-control-label", focused: "smpz-form-mui-control-label--focused" } }, InputProps: { inputComponent: type === 'tel' ? PhoneInput_1.default : 'input', classes: { root: "smpz-form-mui-control-input-root", input: "smpz-form-mui-control-input", focused: "smpz-form-mui-control-input--focused" } }, type: type, name: name, value: value, label: label, error: Boolean(error), disabled: disabled, placeholder: placeholder, required: required, onChange: handleChange, onBlur: handleBlur, fullWidth: true, autoComplete: "off" })); }; exports.default = Field; //# sourceMappingURL=Field.js.map