@simpozio/contact-form
Version:
Package for Contact Form component
45 lines • 2.52 kB
JavaScript
;
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