UNPKG

@massds/mayflower-react

Version:

React versions of Mayflower design system UI components

103 lines (101 loc) 4.5 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("../ButtonFixedFeedback/index.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } /** * Footer module. * @module @massds/mayflower-react/Footer * @requires module:@massds/mayflower-assets/scss/03-organisms/footer */ var today = new Date(); var Footer = function Footer(_ref) { var footerLinks = _ref.footerLinks, _ref$footerText = _ref.footerText, _ref$footerText$copyr = _ref$footerText.copyright, copyright = _ref$footerText$copyr === void 0 ? today.getFullYear() : _ref$footerText$copyr, _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 home page' : _ref$footerLogo$title, src = _ref$footerLogo.src, floatingAction = _ref.floatingAction; return /*#__PURE__*/_react["default"].createElement("footer", { "data-nosnippet": "true", className: "ma__footer-new", id: "footer" }, /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer-new__container" }, /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer-new__logo" }, /*#__PURE__*/_react["default"].createElement("a", { href: domain, title: title }, /*#__PURE__*/_react["default"].createElement("img", { src: src, alt: "Massachusetts State Seal", width: "100", height: "100" }))), /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer-new__content" }, /*#__PURE__*/_react["default"].createElement("nav", { className: "ma__footer-new__navlinks", "aria-label": "site navigation" }, footerLinks.links.map(function (link, i) { return /*#__PURE__*/_react["default"].createElement("div", { key: "footerLinksNav_" + i, "data-index": i }, /*#__PURE__*/_react["default"].createElement("a", { href: link.href }, link.text)); })), /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer-new__copyright" }, /*#__PURE__*/_react["default"].createElement("div", { className: "ma__footer-new__copyright--bold" }, "\xA9", " " + copyright + " Commonwealth of Massachusetts."), /*#__PURE__*/_react["default"].createElement("span", null, "Mass.gov\xAE is a registered service mark of the Commonwealth of Massachusetts. "), /*#__PURE__*/_react["default"].createElement("a", { href: privacyPolicy.url }, privacyPolicy.text)))), floatingAction && /*#__PURE__*/_react["default"].createElement(_index["default"], null)); }; Footer.propTypes = process.env.NODE_ENV !== "production" ? { /** Footer links */ footerLinks: _propTypes["default"].shape({ links: _propTypes["default"].array }).isRequired, /** Whether to display or visually hiding footer nav headings */ // showNavHeading: PropTypes.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 }) }), /** Adds feedback button. */ floatingAction: _propTypes["default"].bool } : {}; var _default = exports["default"] = Footer; module.exports = exports.default;