UNPKG

@massds/mayflower-react

Version:

React versions of Mayflower design system UI components

73 lines (72 loc) 3.71 kB
"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;