UNPKG

@massds/mayflower-react

Version:

React versions of Mayflower design system UI components

48 lines 2.11 kB
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;