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

108 lines (91 loc) 5.53 kB
"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: '' };