@massds/mayflower-react
Version:
React versions of Mayflower design system UI components
48 lines • 2.11 kB
JavaScript
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
* EmergencyAlert module.
* @module @massds/mayflower-react/EmergencyAlert
* @requires module:@massds/mayflower-assets/scss/02-molecules/emergency-alert
*/
import React from "react";
import PropTypes from "prop-types";
import classNames from "classnames";
import is from "is";
const EmergencyAlert = props => {
var _classNames;
const message = props.message,
timeStamp = props.timeStamp,
link = props.link,
theme = props.theme;
const linkArgs = {
theme: theme,
linkClasses: 'ma__content-link',
TextElement: 'span'
};
const pClasses = classNames((_classNames = {
'ma__emergency-alert': true
}, _classNames["ma__emergency-alert--" + theme] = theme, _classNames));
return /*#__PURE__*/React.createElement("p", {
className: pClasses
}, /*#__PURE__*/React.createElement("span", {
className: "ma__emergency-alert__message"
}, message, timeStamp && /*#__PURE__*/React.createElement("span", {
className: "ma__emergency-alert__time-stamp"
}, timeStamp)), is.fn(link) && /*#__PURE__*/React.createElement("span", {
className: "ma__emergency-alert__link"
}, /*#__PURE__*/React.createElement("span", null, "\xA0"), link(_extends({}, linkArgs))));
};
EmergencyAlert.propTypes = process.env.NODE_ENV !== "production" ? {
/** A string that controls different color themes for the component. */
theme: PropTypes.oneOf(['c-warning', 'c-primary-alt', 'c-primary', 'c-gray', 'c-error']),
/** A message describing the event. */
message: PropTypes.string.isRequired,
/** A string representing the time of the event. */
timeStamp: PropTypes.string,
/** An optional function whose return value is a link to take the user to page with more information. */
link: PropTypes.func
} : {};
EmergencyAlert.defaultProps = {
theme: 'c-warning'
};
export default EmergencyAlert;