UNPKG

react-form-in-second

Version:
65 lines (49 loc) 1.39 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var Input = function Input(props) { var fields = ['name', 'value', 'type', 'disabled', 'placeholder', 'required']; var onChangeVal = function onChangeVal(evt) { var _evt$target = evt.target, name = _evt$target.name, value = _evt$target.value, checked = _evt$target.checked, onChange = props.onChange, type = props.type; if (typeof onChange === 'function') onChange(name, type === 'checkbox' ? checked : value); }; var attrs = { className: 'form-control ' + (props.inputClassName || ' '), onChange: onChangeVal }; fields.forEach(function (field) { attrs[field] = props[field]; }); if (!attrs.value) attrs.value = ''; if (props.type === 'textarea') return React.createElement('textarea', attrs); return React.createElement('input', attrs); }; var InputWrapper = function InputWrapper(props) { var className = props.className, label = props.label, error = props.error, children = props.children; return React.createElement( 'div', { className: 'form-group ' + (className || '') }, React.createElement( 'label', { className: 'form-lb' }, label ), React.createElement(Input, props), children, error && React.createElement( 'span', { className: 'error' }, error ) ); }; exports.default = InputWrapper;