@massds/mayflower-react
Version:
React versions of Mayflower design system UI components
92 lines (76 loc) • 3.62 kB
JavaScript
;
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _index = _interopRequireDefault(require("../SidebarHeading/index.js"));
var _index2 = _interopRequireDefault(require("../Heading/index.js"));
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 FooterLinks = function FooterLinks(footerLinks) {
return /*#__PURE__*/_react["default"].createElement("nav", {
className: "ma__footer-links",
"aria-label": "Footer navigation"
}, footerLinks.items.map(function (footerLinksNav, i) {
return (
/*#__PURE__*/
/* eslint-disable-next-line react/no-array-index-key */
_react["default"].createElement(FooterLinksNav, _extends({}, footerLinksNav, {
showNavHeading: footerLinks.showNavHeading,
key: "footerLinksNav_" + i,
index: i
}))
);
}));
};
var FooterLinksNav = function FooterLinksNav(footerLinksNav) {
return /*#__PURE__*/_react["default"].createElement("div", {
className: "ma__footer-links__nav " + (footerLinksNav.showNavHeading ? ' ma__footer-links__nav--heading' : '')
}, footerLinksNav.showNavHeading ? /*#__PURE__*/_react["default"].createElement(_index["default"], {
title: footerLinksNav.heading,
level: footerLinksNav.headingLevel || 2
}) : /*#__PURE__*/_react["default"].createElement(_index2["default"], {
text: footerLinksNav.heading,
level: footerLinksNav.headingLevel || 2,
"class": "visually-hidden"
}), /*#__PURE__*/_react["default"].createElement("ul", {
className: "ma__footer-links__items"
}, footerLinksNav.links.map(function (link, i) {
return (
/*#__PURE__*/
/* eslint-disable-next-line react/no-array-index-key */
_react["default"].createElement(FooterLink, _extends({}, link, {
key: "footerLink_" + i
}))
);
})));
};
var FooterLink = function FooterLink(footerLink) {
return /*#__PURE__*/_react["default"].createElement("li", {
className: "ma__footer-links__item"
}, /*#__PURE__*/_react["default"].createElement("a", {
href: footerLink.href,
className: "ma__footer-links__link"
}, footerLink.text));
};
FooterLink.propTypes = process.env.NODE_ENV !== "production" ? {
/** The URL for the link */
href: _propTypes["default"].string.isRequired,
/** The text for the link */
text: _propTypes["default"].string.isRequired
} : {};
FooterLinksNav.propTypes = process.env.NODE_ENV !== "production" ? {
/** The text for the heading above the column of links, visually hidden from users */
heading: _propTypes["default"].string.isRequired,
/** The heading level above the column of links, default to 2 */
headingLevel: _propTypes["default"].number,
/** The links in the column */
links: _propTypes["default"].arrayOf(_propTypes["default"].shape(FooterLink.propTypes)).isRequired
} : {};
FooterLinks.propTypes = process.env.NODE_ENV !== "production" ? {
/** The columns of the nav links */
items: _propTypes["default"].arrayOf(_propTypes["default"].shape(FooterLinksNav.propTypes)).isRequired
} : {};
var _default = FooterLinks;
exports["default"] = _default;
module.exports = exports.default;