@massds/mayflower-react
Version:
React versions of Mayflower design system UI components
64 lines (53 loc) • 2.31 kB
JavaScript
"use strict";
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _IconInputsuccess = _interopRequireDefault(require("../Icon/IconInputsuccess.js"));
var _IconInputerror = _interopRequireDefault(require("../Icon/IconInputerror.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
/**
* ErrorMessage module.
* @module @massds/mayflower-react/ErrorMessage
* @requires module:@massds/mayflower-assets/scss/01-atoms/error-msg
* @requires module:@massds/mayflower-assets/scss/01-atoms/svg-icons
* @requires module:@massds/mayflower-assets/scss/01-atoms/svg-loc-icons
*/
// eslint-disable-next-line import/no-unresolved
// eslint-disable-next-line import/no-unresolved
var ErrorMessage = function ErrorMessage(_ref) {
var inputId = _ref.inputId,
error = _ref.error,
success = _ref.success,
status = _ref.status;
var isSuccessful = status === 'success';
return /*#__PURE__*/_react["default"].createElement("div", {
htmlFor: inputId,
"aria-labelledby": inputId,
className: "ma__error-msg has-error " + (isSuccessful ? 'ma__error-msg--success' : ''),
role: isSuccessful ? 'presentation' : 'alert'
}, isSuccessful ? /*#__PURE__*/_react["default"].createElement(_IconInputsuccess["default"], {
width: 16,
height: 18
}) : /*#__PURE__*/_react["default"].createElement(_IconInputerror["default"], {
width: 16,
height: 18
}), /*#__PURE__*/_react["default"].createElement("span", null, isSuccessful ? success : error));
};
ErrorMessage.propTypes = process.env.NODE_ENV !== "production" ? {
/** The ID of the corresponding input field */
inputId: _propTypes["default"].string.isRequired,
/** The error message for the corresponding input field */
error: _propTypes["default"].string.isRequired,
/** The sucess message for the corresponding input field */
success: _propTypes["default"].string,
/** Validation status */
status: _propTypes["default"].oneOf(['error', 'success'])
} : {};
ErrorMessage.defaultProps = {
status: 'error',
success: 'Success!'
};
var _default = ErrorMessage;
exports["default"] = _default;
module.exports = exports.default;