@massds/mayflower-react
Version:
React versions of Mayflower design system UI components
73 lines (72 loc) • 3.71 kB
JavaScript
"use strict";
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(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); } /**
* FooterLinks module.
* @module @massds/mayflower-react/FooterLinks
* @requires module:@massds/mayflower-assets/scss/02-molecules/footer-links
* @requires module:@massds/mayflower-assets/scss/01-atoms/sidebar-heading
*/
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 = exports["default"] = FooterLinks;
module.exports = exports.default;