UNPKG

@tpr/govuk-react-jsx

Version:

[![govuk-frontend 4.0.1](https://img.shields.io/badge/govuk--frontend%20version-4.0.1-005EA5?logo=gov.uk&style=flat-square)](https://github.com/alphagov/govuk-frontend/releases/tag/v4.0.1) [![version](https://img.shields.io/npm/v/govuk-react-jsx.svg?styl

113 lines (102 loc) 6.26 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.Footer = Footer; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _Link = require("../../../utils/Link"); var _excluded = ["className", "containerClassName", "meta", "navigation"], _excluded2 = ["className", "children", "reactListKey"], _excluded3 = ["className", "children", "reactListKey"]; function Footer(props) { var className = props.className, containerClassName = props.containerClassName, meta = props.meta, navigation = props.navigation, attributes = (0, _objectWithoutProperties2["default"])(props, _excluded); var navigationComponent; var metaComponent; if (navigation && navigation.length > 0) { navigationComponent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", { className: "govuk-footer__navigation" }, navigation.map(function (nav, navIndex) { return /*#__PURE__*/_react["default"].createElement("div", { className: "govuk-footer__section govuk-grid-column-".concat(nav.width ? nav.width : 'full'), key: nav.reactListKey || navIndex }, /*#__PURE__*/_react["default"].createElement("h2", { className: "govuk-footer__heading govuk-heading-m" }, nav.title), nav.items && nav.items.length > 0 ? /*#__PURE__*/_react["default"].createElement("ul", { className: "govuk-footer__list ".concat(nav.columns ? "govuk-footer__list--columns-".concat(nav.columns) : '') }, nav.items.map(function (item, index) { var itemClassName = item.className, itemChildren = item.children, reactListKey = item.reactListKey, itemAttributes = (0, _objectWithoutProperties2["default"])(item, _excluded2); return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, { key: reactListKey || index }, (item.href || item.to) && itemChildren && /*#__PURE__*/_react["default"].createElement("li", { className: "govuk-footer__list-item" }, /*#__PURE__*/_react["default"].createElement(_Link.Link, (0, _extends2["default"])({ className: "govuk-footer__link ".concat(itemClassName || '') }, itemAttributes), itemChildren))); })) : null); })), /*#__PURE__*/_react["default"].createElement("hr", { className: "govuk-footer__section-break" })); } if (meta) { metaComponent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("h2", { className: "govuk-visually-hidden" }, meta.visuallyHiddenTitle ? meta.visuallyHiddenTitle : 'Support links'), meta.items && meta.items.length > 0 ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("ul", { className: "govuk-footer__inline-list" }, meta.items.map(function (item, index) { var itemClassName = item.className, itemChildren = item.children, reactListKey = item.reactListKey, itemAttributes = (0, _objectWithoutProperties2["default"])(item, _excluded3); return /*#__PURE__*/_react["default"].createElement("li", { className: "govuk-footer__inline-list-item", key: reactListKey || index }, /*#__PURE__*/_react["default"].createElement(_Link.Link, (0, _extends2["default"])({ className: "govuk-footer__link ".concat(itemClassName || '') }, itemAttributes), itemChildren)); }))) : null, meta.children ? /*#__PURE__*/_react["default"].createElement("div", { className: "govuk-footer__meta-custom" }, meta.children) : null); } return /*#__PURE__*/_react["default"].createElement("footer", (0, _extends2["default"])({ className: "govuk-footer ".concat(className || ''), role: "contentinfo" }, attributes), /*#__PURE__*/_react["default"].createElement("div", { className: "govuk-width-container ".concat(containerClassName || '') }, navigationComponent, /*#__PURE__*/_react["default"].createElement("div", { className: "govuk-footer__meta" }, /*#__PURE__*/_react["default"].createElement("div", { className: "govuk-footer__meta-item govuk-footer__meta-item--grow" }, metaComponent, /*#__PURE__*/_react["default"].createElement("svg", { "aria-hidden": "true", focusable: "false", className: "govuk-footer__licence-logo", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 483.2 195.7", height: "17", width: "41" }, /*#__PURE__*/_react["default"].createElement("path", { fill: "currentColor", d: "M421.5 142.8V.1l-50.7 32.3v161.1h112.4v-50.7zm-122.3-9.6A47.12 47.12 0 0 1 221 97.8c0-26 21.1-47.1 47.1-47.1 16.7 0 31.4 8.7 39.7 21.8l42.7-27.2A97.63 97.63 0 0 0 268.1 0c-36.5 0-68.3 20.1-85.1 49.7A98 98 0 0 0 97.8 0C43.9 0 0 43.9 0 97.8s43.9 97.8 97.8 97.8c36.5 0 68.3-20.1 85.1-49.7a97.76 97.76 0 0 0 149.6 25.4l19.4 22.2h3v-87.8h-80l24.3 27.5zM97.8 145c-26 0-47.1-21.1-47.1-47.1s21.1-47.1 47.1-47.1 47.2 21 47.2 47S123.8 145 97.8 145" })), /*#__PURE__*/_react["default"].createElement("span", { className: "govuk-footer__licence-description" }, "All content is available under the", ' ', /*#__PURE__*/_react["default"].createElement("a", { className: "govuk-footer__link", href: "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/", rel: "license" }, "Open Government Licence v3.0"), ", except where otherwise stated")), /*#__PURE__*/_react["default"].createElement("div", { className: "govuk-footer__meta-item" }, /*#__PURE__*/_react["default"].createElement("a", { className: "govuk-footer__link govuk-footer__copyright-logo", href: "https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/" }, "\xA9 Crown copyright"))))); }