@massds/mayflower-react
Version:
React versions of Mayflower design system UI components
64 lines (63 loc) • 3.61 kB
JavaScript
"use strict";
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _IconArrow = _interopRequireDefault(require("../Icon/IconArrow.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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); } /**
* CalloutLink module.
* @module @massds/mayflower-react/CalloutLink
* @requires module:@massds/mayflower-assets/scss/02-molecules/callout-link
* @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
var CalloutLink = function CalloutLink(calloutLink) {
var calloutLinkTheme = calloutLink.theme ? " ma__callout-link--" + calloutLink.theme : '';
var classNames = "ma__callout-link" + calloutLinkTheme;
return /*#__PURE__*/_react["default"].createElement("div", {
className: classNames
}, /*#__PURE__*/_react["default"].createElement("a", _extends({
href: calloutLink.href,
title: calloutLink.info
}, calloutLink.anchorAttributes), (calloutLink.eyebrow || calloutLink.time) && /*#__PURE__*/_react["default"].createElement("div", {
className: "ma__callout-link__header"
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "ma__callout-link__eyebrow"
}, calloutLink.eyebrow), /*#__PURE__*/_react["default"].createElement("span", {
className: "ma__callout-link__time"
}, calloutLink.time)), /*#__PURE__*/_react["default"].createElement("span", {
className: "ma__callout-link__container"
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "ma__callout-link__text"
}, /*#__PURE__*/_react["default"].createElement("span", null, calloutLink.text), /*#__PURE__*/_react["default"].createElement("span", null, "\xA0"), /*#__PURE__*/_react["default"].createElement(_IconArrow["default"], {
height: ".8em",
width: ".8em"
}))), calloutLink.emphasized && /*#__PURE__*/_react["default"].createElement("span", {
className: "ma__callout-link__emphasized"
}, calloutLink.emphasized), calloutLink.description && /*#__PURE__*/_react["default"].createElement("p", {
className: "ma__callout-link__description"
}, calloutLink.description)));
};
CalloutLink.propTypes = process.env.NODE_ENV !== "production" ? {
/** The heading text */
text: _propTypes["default"].string.isRequired,
/** The link the callout is going to */
href: _propTypes["default"].string.isRequired,
/** All other attributes of the a tag */
anchorAttributes: _propTypes["default"].object,
/** Add more information about the link */
info: _propTypes["default"].string,
/** Add description text under the title text */
description: _propTypes["default"].string,
/** Adds and eyebrow to the callout link */
eyebrow: _propTypes["default"].string,
/** Adds a time note to the top left of the card */
time: _propTypes["default"].string,
/** Adds emphasized text below the title link */
emphasized: _propTypes["default"].string,
/** Change the theme of the callout link, option are default (blue) and white */
theme: _propTypes["default"].oneOf(['', 'white'])
} : {};
var _default = exports["default"] = CalloutLink;
module.exports = exports.default;