UNPKG

react-input

Version:
70 lines (56 loc) 2.07 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _label = require('./label'); var _label2 = _interopRequireDefault(_label); var _input = require('./input'); var _input2 = _interopRequireDefault(_input); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @class Field * @description A field in the form. */ var Field = function Field(props) { return _react2.default.createElement( 'div', { className: props.customClassName + ' field-' + props.type, style: props.style, id: props.id }, props.renderBefore ? props.renderBefore() : null, props.label ? _react2.default.createElement(_label2.default, { name: props.name }) : null, props.input ? _react2.default.createElement(_input2.default, props) : null, props.renderAfter ? props.renderAfter() : null ); }; Field.propTypes = { customClassName: _propTypes2.default.string.isRequired, disabled: _propTypes2.default.bool, id: _propTypes2.default.string.isRequired, input: _propTypes2.default.bool, label: _propTypes2.default.oneOfType([_propTypes2.default.array, _propTypes2.default.bool]).isRequired, name: _propTypes2.default.string, onChange: _propTypes2.default.func.isRequired, value: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]), placeholder: _propTypes2.default.string, renderAfter: _propTypes2.default.func, renderBefore: _propTypes2.default.func, required: _propTypes2.default.bool, type: _propTypes2.default.string }; Field.defaultProps = { customClassName: 'form-field', // What is the field className? input: true, // Is there an input? label: true, // Is there a label for the field? required: true, // Is the input field required? type: 'text' // What type of input field is it? }; exports.default = Field;