UNPKG

react-input

Version:
67 lines (56 loc) 1.88 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @function Input * @description An input in a field. */ var Input = function Input(props) { var handleChange = function handleChange(e) { return props.onChange(e.target.value); }; return _react2.default.createElement( 'span', { className: 'form-field-input' }, props.type === 'textarea' ? _react2.default.createElement('textarea', _extends({}, props, { role: 'textbox', className: 'input', onChange: handleChange })) : _react2.default.createElement( 'span', null, _react2.default.createElement('input', _extends({}, props, { id: props.id, name: props.id, className: 'input', onChange: handleChange })), props.type === 'checkbox' ? _react2.default.createElement( 'label', { htmlFor: props.id, className: 'input-checkbox-text' }, props.checkboxText ) : null, props.renderInner ? props.renderInner() : null ), props.error ? _react2.default.createElement( 'span', { className: 'input-error' }, props.error ) : null ); }; Input.propTypes = { onChange: _propTypes2.default.func.isRequired, type: _propTypes2.default.string.isRequired }; exports.default = Input;