@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
85 lines (83 loc) • 3.54 kB
JavaScript
import React, { useEffect } from 'react';
import { Helmet } from 'react-helmet';
import favicon from 'govuk-frontend/govuk/assets/images/favicon.ico';
import govukMaskIcon from 'govuk-frontend/govuk/assets/images/govuk-mask-icon.svg';
import appleTouchIcon180 from 'govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-180x180.png';
import appleTouchIcon167 from 'govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-167x167.png';
import appleTouchIcon152 from 'govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-152x152.png';
import appleTouchIcon from 'govuk-frontend/govuk/assets/images/govuk-apple-touch-icon.png';
import govukOpenGraphImage from 'govuk-frontend/govuk/assets/images/govuk-opengraph-image.png';
import { SkipLink, Header, Footer } from '..';
function Template(props) {
var children = props.children,
title = props.title,
skipLink = props.skipLink,
header = props.header,
footer = props.footer,
beforeContent = props.beforeContent,
mainLang = props.mainLang,
containerClassName = props.containerClassName,
mainClassName = props.mainClassName,
themeColor = props.themeColor;
useEffect(function () {
document.documentElement.classList.add('govuk-template');
document.body.classList.add('js-enabled', 'govuk-template__body');
}, []);
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Helmet, null, /*#__PURE__*/React.createElement("meta", {
charset: "utf-8"
}), /*#__PURE__*/React.createElement("title", null, title), /*#__PURE__*/React.createElement("meta", {
name: "viewport",
content: "width=device-width, initial-scale=1, viewport-fit=cover"
}), /*#__PURE__*/React.createElement("meta", {
name: "theme-color",
content: "#0b0c0c"
}), /*#__PURE__*/React.createElement("meta", {
httpEquiv: "X-UA-Compatible",
content: "IE=edge"
}), /*#__PURE__*/React.createElement("link", {
rel: "shortcut icon",
sizes: "16x16 32x32 48x48",
href: favicon,
type: "image/x-icon"
}), /*#__PURE__*/React.createElement("link", {
rel: "mask-icon",
href: govukMaskIcon,
color: themeColor || '#0b0c0c'
}), /*#__PURE__*/React.createElement("link", {
rel: "apple-touch-icon",
sizes: "180x180",
href: appleTouchIcon180
}), /*#__PURE__*/React.createElement("link", {
rel: "apple-touch-icon",
sizes: "167x167",
href: appleTouchIcon167
}), /*#__PURE__*/React.createElement("link", {
rel: "apple-touch-icon",
sizes: "152x152",
href: appleTouchIcon152
}), /*#__PURE__*/React.createElement("link", {
rel: "apple-touch-icon",
href: appleTouchIcon
}), /*#__PURE__*/React.createElement("meta", {
property: "og:image",
content: govukOpenGraphImage
})), /*#__PURE__*/React.createElement(SkipLink, skipLink), /*#__PURE__*/React.createElement(Header, header), /*#__PURE__*/React.createElement("div", {
className: "govuk-width-container ".concat(containerClassName || '')
}, beforeContent, /*#__PURE__*/React.createElement("main", {
className: "govuk-main-wrapper ".concat(mainClassName || ''),
id: "main-content",
role: "main",
lang: mainLang || null
}, children)), /*#__PURE__*/React.createElement(Footer, footer));
}
Template.defaultProps = {
title: 'GOV.UK - The best place to find government services and information',
skipLink: {
href: '#main-content',
children: 'Skip to main content'
},
header: {},
footer: {},
beforeContent: ''
};
export { Template };