UNPKG

@massds/mayflower-react

Version:

React versions of Mayflower design system UI components

117 lines (116 loc) 6.2 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("../FooterLinks/index.js")); var _index2 = _interopRequireDefault(require("../SocialLinks/index.js")); 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); } /** * Footer With Columns module. * @module @massds/mayflower-react/FooterWithColumns * @requires module:@massds/mayflower-assets/scss/03-organisms/footer-with-columns * @requires module:@massds/mayflower-assets/scss/02-molecules/footer-links * @requires module:@massds/mayflower-assets/scss/01-atoms/sidebar-heading * @requires module:@massds/mayflower-assets/scss/02-molecules/social-links */ // eslint-disable-next-line import/no-unresolved var today = new Date(); var year = today.getFullYear(); var FooterWithColumns = function FooterWithColumns(_ref) { var footerLinks = _ref.footerLinks, socialLinks = _ref.socialLinks, _ref$footerText = _ref.footerText, _ref$footerText$copyr = _ref$footerText.copyright, copyright = _ref$footerText$copyr === void 0 ? year + " Commonwealth of Massachusetts." : _ref$footerText$copyr, _ref$footerText$descr = _ref$footerText.description, description = _ref$footerText$descr === void 0 ? 'Mass.gov® is a registered service mark of the Commonwealth of Massachusetts.' : _ref$footerText$descr, _ref$footerText$priva = _ref$footerText.privacyPolicy, privacyPolicy = _ref$footerText$priva === void 0 ? { text: 'Mass.gov Privacy Policy', url: 'https://www.mass.gov/privacypolicy' } : _ref$footerText$priva, _ref$footerLogo = _ref.footerLogo, _ref$footerLogo$domai = _ref$footerLogo.domain, domain = _ref$footerLogo$domai === void 0 ? '/' : _ref$footerLogo$domai, _ref$footerLogo$title = _ref$footerLogo.title, title = _ref$footerLogo$title === void 0 ? 'Mass.gov homepage' : _ref$footerLogo$title, src = _ref$footerLogo.src, _ref$showNavHeading = _ref.showNavHeading, showNavHeading = _ref$showNavHeading === void 0 ? false : _ref$showNavHeading, _ref$backToTopButton = _ref.backToTopButton, backToTopButton = _ref$backToTopButton === void 0 ? false : _ref$backToTopButton; return /*#__PURE__*/_react["default"].createElement("footer", { className: "ma__footer js-footer", id: "footer" }, /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer__container" }, /*#__PURE__*/_react["default"].createElement("section", { className: "ma__footer__info" }, /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer__logo" }, /*#__PURE__*/_react["default"].createElement("a", { href: domain, title: title, "aria-label": title }, /*#__PURE__*/_react["default"].createElement("img", { src: src, alt: "", width: "100", height: "100" }))), /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer__social" }, /*#__PURE__*/_react["default"].createElement(_index2["default"], socialLinks)), /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer__copyright" }, /*#__PURE__*/_react["default"].createElement("p", { className: "ma__footer__copyright--date" }, "\xA9", ' ', copyright), /*#__PURE__*/_react["default"].createElement("p", null, description), /*#__PURE__*/_react["default"].createElement("a", { href: privacyPolicy.url }, privacyPolicy.text))), /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer__nav" }, /*#__PURE__*/_react["default"].createElement(_index["default"], _extends({}, footerLinks, { showNavHeading: showNavHeading })))), backToTopButton && /*#__PURE__*/_react["default"].createElement("button", { type: "button", className: "ma__footer__back2top js-back2top is-hidden" }, /*#__PURE__*/_react["default"].createElement(_IconArrow["default"], null), /*#__PURE__*/_react["default"].createElement("span", { "aria-hidden": "true" }, "Top"), /*#__PURE__*/_react["default"].createElement("span", { className: "visually-hidden" }, "Go to the top of the page"))); }; FooterWithColumns.propTypes = process.env.NODE_ENV !== "production" ? { /** `@molecules/FooterLinks` */ footerLinks: _propTypes["default"].shape(_index["default"].propTypes).isRequired, /** Whether to display or visually hiding footer nav headings */ showNavHeading: _propTypes["default"].bool, /** `@molecules/SocialLinks` */ socialLinks: _propTypes["default"].shape(_index2["default"].propTypes).isRequired, /** A floating button on the lower right corner which onClick takes user to the top of the page. */ backToTopButton: _propTypes["default"].bool, /** Adds footer logo. (Defaults to matching Mass.gov) <br /> * `src:` logo image source url <br /> * `domain:` The URL for the site root <br /> * `title:` The title of the logo link */ footerLogo: _propTypes["default"].shape({ src: _propTypes["default"].string.isRequired, domain: _propTypes["default"].string, title: _propTypes["default"].string }), /** Adds footer info section. (Defaults to matching Mass.gov) <br /> * `copyright:` Bolded copyright info starting with © <br /> * `description:` Descriptive info below copyright <br /> * `privacyPolicy:` A link to the privacy policy page of the site */ footerText: _propTypes["default"].shape({ copyright: _propTypes["default"].string, description: _propTypes["default"].string, privacyPolicy: _propTypes["default"].shape({ text: _propTypes["default"].string, url: _propTypes["default"].string }) }) } : {}; var _default = exports["default"] = FooterWithColumns; module.exports = exports.default;