@tpr/govuk-react-jsx
Version:
[](https://github.com/alphagov/govuk-frontend/releases/tag/v4.0.1) [ • 6.26 kB
JavaScript
"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")))));
}