@tpr/govuk-react-jsx
Version:
[](https://github.com/alphagov/govuk-frontend/releases/tag/v4.0.1) [ • 5.53 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Template = Template;
var _react = _interopRequireWildcard(require("react"));
var _reactHelmet = require("react-helmet");
var _favicon = _interopRequireDefault(require("govuk-frontend/govuk/assets/images/favicon.ico"));
var _govukMaskIcon = _interopRequireDefault(require("govuk-frontend/govuk/assets/images/govuk-mask-icon.svg"));
var _govukAppleTouchIcon180x = _interopRequireDefault(require("govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-180x180.png"));
var _govukAppleTouchIcon167x = _interopRequireDefault(require("govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-167x167.png"));
var _govukAppleTouchIcon152x = _interopRequireDefault(require("govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-152x152.png"));
var _govukAppleTouchIcon = _interopRequireDefault(require("govuk-frontend/govuk/assets/images/govuk-apple-touch-icon.png"));
var _govukOpengraphImage = _interopRequireDefault(require("govuk-frontend/govuk/assets/images/govuk-opengraph-image.png"));
var _ = require("..");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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;
(0, _react.useEffect)(function () {
document.documentElement.classList.add('govuk-template');
document.body.classList.add('js-enabled', 'govuk-template__body');
}, []);
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_reactHelmet.Helmet, null, /*#__PURE__*/_react["default"].createElement("meta", {
charset: "utf-8"
}), /*#__PURE__*/_react["default"].createElement("title", null, title), /*#__PURE__*/_react["default"].createElement("meta", {
name: "viewport",
content: "width=device-width, initial-scale=1, viewport-fit=cover"
}), /*#__PURE__*/_react["default"].createElement("meta", {
name: "theme-color",
content: "#0b0c0c"
}), /*#__PURE__*/_react["default"].createElement("meta", {
httpEquiv: "X-UA-Compatible",
content: "IE=edge"
}), /*#__PURE__*/_react["default"].createElement("link", {
rel: "shortcut icon",
sizes: "16x16 32x32 48x48",
href: _favicon["default"],
type: "image/x-icon"
}), /*#__PURE__*/_react["default"].createElement("link", {
rel: "mask-icon",
href: _govukMaskIcon["default"],
color: themeColor || '#0b0c0c'
}), /*#__PURE__*/_react["default"].createElement("link", {
rel: "apple-touch-icon",
sizes: "180x180",
href: _govukAppleTouchIcon180x["default"]
}), /*#__PURE__*/_react["default"].createElement("link", {
rel: "apple-touch-icon",
sizes: "167x167",
href: _govukAppleTouchIcon167x["default"]
}), /*#__PURE__*/_react["default"].createElement("link", {
rel: "apple-touch-icon",
sizes: "152x152",
href: _govukAppleTouchIcon152x["default"]
}), /*#__PURE__*/_react["default"].createElement("link", {
rel: "apple-touch-icon",
href: _govukAppleTouchIcon["default"]
}), /*#__PURE__*/_react["default"].createElement("meta", {
property: "og:image",
content: _govukOpengraphImage["default"]
})), /*#__PURE__*/_react["default"].createElement(_.SkipLink, skipLink), /*#__PURE__*/_react["default"].createElement(_.Header, header), /*#__PURE__*/_react["default"].createElement("div", {
className: "govuk-width-container ".concat(containerClassName || '')
}, beforeContent, /*#__PURE__*/_react["default"].createElement("main", {
className: "govuk-main-wrapper ".concat(mainClassName || ''),
id: "main-content",
role: "main",
lang: mainLang || null
}, children)), /*#__PURE__*/_react["default"].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: ''
};