UNPKG

react-form-package

Version:

A declarative form component with inbuilt validation and state management

47 lines (37 loc) 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Error = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _helpers = require("../../helpers"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _extends() { _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; }; return _extends.apply(this, arguments); } var Error = function Error(props) { var data = props.data, id = props.id, errorMessage = props.errorMessage, ErrorLabelComponent = props.ErrorLabelComponent, validateOnClick = props.validateOnClick, buttonClicked = props.buttonClicked; if (validateOnClick) { return data[id].invalid && buttonClicked && _react["default"].createElement(ErrorLabelComponent.type, _extends({}, ErrorLabelComponent.props, { style: _helpers.errorStyle }), errorMessage || (0, _helpers.writeErrorMessage)(data[id].rules)); } return data[id].invalid && data[id].touched && _react["default"].createElement(ErrorLabelComponent.type, _extends({}, ErrorLabelComponent.props, { style: _helpers.errorStyle }), errorMessage || (0, _helpers.writeErrorMessage)(data[id].rules)); }; exports.Error = Error; Error.defaultProps = {}; Error.propTypes = { id: _propTypes["default"].string.isRequired, errorMessage: _propTypes["default"].string.isRequired, ErrorLabelComponent: _propTypes["default"].element.isRequired, data: _propTypes["default"].any, // eslint-disable-line validateOnClick: _propTypes["default"].bool.isRequired, buttonClicked: _propTypes["default"].bool.isRequired };