UNPKG

react-sprucebot

Version:

React components for your Sprucebot Skill 💪🏼

108 lines (89 loc) 3.02 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.FieldLabel = exports.FieldError = exports.FieldWrapper = undefined; exports.default = Field; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _styledComponents = require('styled-components'); var _styledComponents2 = _interopRequireDefault(_styledComponents); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _reactTextareaAutosize = require('react-textarea-autosize'); var _reactTextareaAutosize2 = _interopRequireDefault(_reactTextareaAutosize); var _Typography = require('../Typography/Typography'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FieldWrapper = exports.FieldWrapper = _styledComponents2.default.div.attrs({ className: (0, _classnames2.default)('InputField', 'input__wrapper') }).withConfig({ displayName: 'FormField__FieldWrapper', componentId: 's9xxgdd-0' })(['']); var FieldError = exports.FieldError = _styledComponents2.default.span.attrs({ className: (0, _classnames2.default)('FieldError', 'input__error', 'error-is-visible') }).withConfig({ displayName: 'FormField__FieldError', componentId: 's9xxgdd-1' })(['']); var FieldLabel = exports.FieldLabel = _styledComponents2.default.span.attrs({ className: (0, _classnames2.default)('FieldLabel', 'input__mini__label', 'js-show-label') }).withConfig({ displayName: 'FormField__FieldLabel', componentId: 's9xxgdd-2' })(['']); function Field(_ref) { var _ref$input = _ref.input, value = _ref$input.value, onChange = _ref$input.onChange, name = _ref$input.name, _ref$meta = _ref.meta, touched = _ref$meta.touched, error = _ref$meta.error, type = _ref.type, finePrint = _ref.finePrint, label = _ref.label, _ref$placeholder = _ref.placeholder, placeholder = _ref$placeholder === undefined ? label : _ref$placeholder, children = _ref.children; return _react2.default.createElement( FieldWrapper, null, label && value && _react2.default.createElement( FieldLabel, null, label ), _react2.default.cloneElement(children, { className: (0, _classnames2.default)({ with_label: !!label }), name: name, value: value, onChange: onChange, type: type, placeholder: placeholder }), touched && error && _react2.default.createElement( FieldError, null, error ), finePrint && _react2.default.createElement( _Typography.Paragraph, { fine: true }, finePrint ) ); } Field.propTypes = { input: _propTypes2.default.shape({ value: _propTypes2.default.any.isRequired, onChange: _propTypes2.default.func }).isRequired, meta: _propTypes2.default.shape({ touched: _propTypes2.default.bool, error: _propTypes2.default.string }).isRequired, children: _propTypes2.default.element.isRequired };