@xgovformbuilder/govuk-react-jsx
Version:
> This package is no longer maintained and will not receive updates bringing it beyond govuk-frontend 4.0.1. If you are using this in your project the simplest way forward is to copy and paste the components from here into your project allowing you to kee
105 lines (97 loc) • 5.53 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
var _excluded = ["className", "containerClassName", "meta", "navigation"],
_excluded2 = ["className", "children", "reactListKey"],
_excluded3 = ["className", "children", "reactListKey"];
import React from 'react';
import { Link } from '../../../utils/Link';
function Footer(props) {
var className = props.className,
containerClassName = props.containerClassName,
meta = props.meta,
navigation = props.navigation,
attributes = _objectWithoutProperties(props, _excluded);
var navigationComponent;
var metaComponent;
if (navigation && navigation.length > 0) {
navigationComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
className: "govuk-footer__navigation"
}, navigation.map(function (nav, navIndex) {
return /*#__PURE__*/React.createElement("div", {
className: "govuk-footer__section govuk-grid-column-".concat(nav.width ? nav.width : 'full'),
key: nav.reactListKey || navIndex
}, /*#__PURE__*/React.createElement("h2", {
className: "govuk-footer__heading govuk-heading-m"
}, nav.title), nav.items && nav.items.length > 0 ? /*#__PURE__*/React.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 = _objectWithoutProperties(item, _excluded2);
return /*#__PURE__*/React.createElement(React.Fragment, {
key: reactListKey || index
}, (item.href || item.to) && itemChildren && /*#__PURE__*/React.createElement("li", {
className: "govuk-footer__list-item"
}, /*#__PURE__*/React.createElement(Link, _extends({
className: "govuk-footer__link ".concat(itemClassName || '')
}, itemAttributes), itemChildren)));
})) : null);
})), /*#__PURE__*/React.createElement("hr", {
className: "govuk-footer__section-break"
}));
}
if (meta) {
metaComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h2", {
className: "govuk-visually-hidden"
}, meta.visuallyHiddenTitle ? meta.visuallyHiddenTitle : 'Support links'), meta.items && meta.items.length > 0 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("ul", {
className: "govuk-footer__inline-list"
}, meta.items.map(function (item, index) {
var itemClassName = item.className,
itemChildren = item.children,
reactListKey = item.reactListKey,
itemAttributes = _objectWithoutProperties(item, _excluded3);
return /*#__PURE__*/React.createElement("li", {
className: "govuk-footer__inline-list-item",
key: reactListKey || index
}, /*#__PURE__*/React.createElement(Link, _extends({
className: "govuk-footer__link ".concat(itemClassName || '')
}, itemAttributes), itemChildren));
}))) : null, meta.children ? /*#__PURE__*/React.createElement("div", {
className: "govuk-footer__meta-custom"
}, meta.children) : null);
}
return /*#__PURE__*/React.createElement("footer", _extends({
className: "govuk-footer ".concat(className || ''),
role: "contentinfo"
}, attributes), /*#__PURE__*/React.createElement("div", {
className: "govuk-width-container ".concat(containerClassName || '')
}, navigationComponent, /*#__PURE__*/React.createElement("div", {
className: "govuk-footer__meta"
}, /*#__PURE__*/React.createElement("div", {
className: "govuk-footer__meta-item govuk-footer__meta-item--grow"
}, metaComponent, /*#__PURE__*/React.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.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.createElement("span", {
className: "govuk-footer__licence-description"
}, "All content is available under the", ' ', /*#__PURE__*/React.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.createElement("div", {
className: "govuk-footer__meta-item"
}, /*#__PURE__*/React.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")))));
}
export { Footer };