{"version":3,"file":"3696-1d2fd26189978d47348f.js","mappings":"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","sources":["webpack://royal-college-radiologists/./src/helpers/aspectRatio.ts","webpack://royal-college-radiologists/./src/helpers/date.ts","webpack://royal-college-radiologists/./src/helpers/image.ts","webpack://royal-college-radiologists/./src/stories/Components/General/CategoryPills/CategoryPills.tsx","webpack://royal-college-radiologists/./src/helpers/svgClipPaths.tsx","webpack://royal-college-radiologists/./src/img/primary-logo.svg","webpack://royal-college-radiologists/./src/stories/Components/General/Breadcrumb/Breadcrumb.styles.ts","webpack://royal-college-radiologists/./src/stories/Components/General/Breadcrumb/Breadcrumb.tsx","webpack://royal-college-radiologists/./src/stories/Widgets/Global/Header/DesktopNavigation/Card/Card.styles.tsx","webpack://royal-college-radiologists/./src/stories/Widgets/Global/Header/DesktopNavigation/Card/Card.tsx","webpack://royal-college-radiologists/./src/stories/Widgets/Global/Header/DesktopNavigation/DesktopNavigation.styles.ts","webpack://royal-college-radiologists/./src/stories/Widgets/Global/Header/DesktopNavigation/DesktopNavigation.tsx","webpack://royal-college-radiologists/./src/stories/Widgets/Global/Header/Header.styles.ts","webpack://royal-college-radiologists/./src/stories/Widgets/Global/Header/MobileNavigation/MobileNavigation.styles.tsx","webpack://royal-college-radiologists/./src/stories/Widgets/Global/Header/MobileNavigation/MobileNavigation.tsx","webpack://royal-college-radiologists/./src/stories/Widgets/Global/Header/Header.tsx"],"sourcesContent":["import { css } from 'styled-components';\r\nimport { fluidUnit } from './fluid';\r\n/**\r\n * Returns the aspect ratio of the given width and height as a percentage.\r\n */\r\nexport function aspectRatio(width, height) {\r\n return (height / width) * 100;\r\n}\r\n/**\r\n * Re-usable styles for image container where the\r\n * image needs to maintain it's aspect ratio\r\n *\r\n * @param width\r\n * @param height\r\n * @returns\r\n */\r\nexport function imageWrapperPreserveRatio(width, height, \r\n/**\r\n * Additonal values to use if the ratio increases over time\r\n */\r\nmaxWidth, maxHeight) {\r\n if (!width && !height) {\r\n return null;\r\n }\r\n let padding;\r\n if (maxWidth && maxHeight) {\r\n padding = `${fluidUnit(aspectRatio(width, height), aspectRatio(maxWidth, maxHeight), '%')}`;\r\n }\r\n else {\r\n padding = `${aspectRatio(width, height)}%`;\r\n }\r\n return css `\r\n position: relative;\r\n height: 0;\r\n width: 100%;\r\n overflow: hidden;\r\n overflow: clip;\r\n padding-bottom: ${padding};\r\n `;\r\n}\r\n/**\r\n * Re-usable styles for an image placed within\r\n * a container maintaining aspect ratio\r\n */\r\nexport const imageCoverContainer = (relative) => css `\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: center;\r\n ${!relative && 'position: absolute; top: 0;left: 0;'}\r\n`;\r\n","import format from 'date-fns/format';\r\nexport function formatDateISO(value) {\r\n const date = ensureDate(value);\r\n return date.toISOString();\r\n}\r\nexport function formatDate(value, formatString = 'MMMM do yyyy', removeTimeZone = false) {\r\n const date = ensureDate(value, removeTimeZone);\r\n return format(date, formatString);\r\n}\r\nexport function ensureDate(value, removeTimeZone = false) {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n if (removeTimeZone && date.toISOString().includes(\"T\")) {\r\n date = new Date(date.toISOString().slice(0, -5));\r\n }\r\n }\r\n return date;\r\n}\r\nexport function equalDates(startDate, endDate) {\r\n const sd = ensureDate(startDate);\r\n const ed = ensureDate(endDate);\r\n return sd.toDateString() === ed.toDateString();\r\n}\r\n","import queryString from 'query-string';\r\n/**\r\n * Create an image URL for ImageProcessor\r\n * @param image The image model\r\n * @param imageParams The image parameters\r\n * @returns The image URL\r\n */\r\nexport function imageUrl(image, imageParams) {\r\n if (!image) {\r\n return '';\r\n }\r\n const params = {\r\n center: image.focalPoint ? `${image.focalPoint.top},${image.focalPoint.left}` : undefined,\r\n ...imageParams,\r\n };\r\n const paramsString = queryString.stringify(params);\r\n return `${image.src}${paramsString ? `?${queryString.stringify(params)}` : ''}`;\r\n}\r\nexport function getSrcs(image, upper, lower, steps, ratio, params) {\r\n const sizes = getRange(upper, lower, steps);\r\n return sizes.map((size) => `${imageUrl(image, {\r\n width: size,\r\n height: ratio ? size * ratio : undefined,\r\n ...params,\r\n })} ${size}w`);\r\n}\r\nfunction getRange(upper, lower, steps) {\r\n const difference = upper - lower;\r\n const increment = difference / (steps - 1);\r\n return [\r\n lower,\r\n ...Array(steps - 2)\r\n .fill('')\r\n .map((_, index) => Math.ceil(lower + increment * (index + 1))),\r\n upper,\r\n ];\r\n}\r\nexport function getRetinaSrcs(image, width, height) {\r\n const dprs = [1, 1.5, 2, 2.5, 3];\r\n return dprs.map((dpr) => `${imageUrl(image, {\r\n width: width * dpr,\r\n height: height ? height * dpr : undefined,\r\n })} ${dpr}x`);\r\n}\r\n","import * as React from 'react';\r\nimport { FocusRing } from 'react-aria';\r\nimport S from './CategoryPills.styles';\r\nconst CategoryPills = (props) => {\r\n if (props.links == null || props.links.length === 0) {\r\n return null;\r\n }\r\n return (React.createElement(S.Container, null, props.links.map((link) => (React.createElement(FocusRing, { key: link.id, focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Pill, { onClick: (e) => followLink(e, link), tabIndex: props.tabIndex, pillColour: link.pillColour || undefined }, link.text))))));\r\n /* Use JS to open link due to pills appearing inside link cards */\r\n function followLink(e, link) {\r\n e.preventDefault();\r\n window.open(link.url, link.target)?.focus();\r\n }\r\n};\r\nexport default CategoryPills;\r\n","import * as React from 'react';\r\nconst SvgClipPaths = () => (\r\n// Ensure it displays but isn't visible\r\nReact.createElement(\"div\", { style: { position: 'absolute', zIndex: -999, top: -999, left: -999 } },\r\n React.createElement(\"svg\", { viewBox: \"0 0 39 30\" },\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"wave_svg__wave-a\" },\r\n React.createElement(\"path\", { fill: \"#fff\", stroke: \"#fff\", d: \"M0 0h8v30H0z\" })),\r\n React.createElement(\"clipPath\", { id: \"wave_svg__wave-b\" },\r\n React.createElement(\"path\", { fill: \"#fff\", stroke: \"#fff\", d: \"M-.091 0h7.5v30h-7.5z\" })),\r\n React.createElement(\"clipPath\", { id: \"wave_svg__wave-c\" },\r\n React.createElement(\"path\", { fill: \"#fff\", stroke: \"#fff\", d: \"M-2 0H8v30H-2z\" })),\r\n React.createElement(\"clipPath\", { id: \"wave_svg__wave-d\" },\r\n React.createElement(\"path\", { fill: \"#fff\", stroke: \"#fff\", d: \"M4 0h6.5v30H4z\" })))),\r\n React.createElement(\"svg\", { viewBox: \"0 0 1920 239.5\" },\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"wave_oncology_svg__clippath\" },\r\n React.createElement(\"rect\", { className: \"cls-1\", width: \"1920\", height: \"239.5\" })))),\r\n React.createElement(\"svg\", { viewBox: \"0 0 1920 239.5\" },\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"wave_radiology_svg__clippath\" },\r\n React.createElement(\"rect\", { className: \"cls-1\", width: \"1920\", height: \"239.5\" }))))));\r\nexport default SvgClipPaths;\r\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgPrimaryLogo(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 270 95.054\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M110.903 76.844h1.638v14.439h-1.638zM106.141 76.844h1.638v14.439h-1.638zM99.283 80.539a4.152 4.152 0 00-4.305 4.5v1.9a4.291 4.291 0 108.572 0v-1.9a4.143 4.143 0 00-4.267-4.5zm2.629 6.4c0 1.943-.952 3.162-2.629 3.162-1.714 0-2.667-1.219-2.667-3.162v-1.9c0-1.981.991-3.162 2.667-3.162 1.638 0 2.629 1.219 2.629 3.2zM15.277 80.544a3.056 3.056 0 00-2.857 1.634v-5.334h-1.6v14.439h1.6v-6.972a2.3 2.3 0 012.4-2.4c1.372 0 1.943.724 1.943 2.21v7.123h1.638v-7.048c0-2.552-1.257-3.652-3.124-3.652zM119.247 80.578c-2.476 0-4.153 1.714-4.153 4.5v1.867c0 2.819 1.676 4.5 4.229 4.5 2.133 0 3.657-.991 3.886-3.124h-1.562a2 2 0 01-2.286 1.791c-1.753 0-2.629-1.029-2.629-3.162v-.61h6.515v-1.382c0-3.124-1.829-4.419-4-4.38zm2.324 4.191v.267h-4.877c0-2.133 1.067-3.124 2.514-3.124s2.4.762 2.362 2.857zM24.993 80.578c-2.476 0-4.153 1.714-4.153 4.5v1.867c0 2.819 1.676 4.5 4.229 4.5 2.133 0 3.657-.991 3.886-3.124h-1.562a2 2 0 01-2.286 1.791c-1.753 0-2.629-1.029-2.629-3.162v-.61h6.477v-1.382c0-3.124-1.791-4.419-3.962-4.38zm2.324 4.191v.267H22.44c0-2.133 1.1-3.124 2.514-3.124 1.448 0 2.4.762 2.362 2.857zM43.012 80.958v-.381c0-2.667-1.867-3.772-4.457-3.772h-3.772v14.439h1.676v-6.477h2.1l3.2 6.477h1.867l-3.433-6.629a3.361 3.361 0 002.819-3.657zm-6.591 2.514v-5.3h2.172c1.753 0 2.743.61 2.743 2.4v.381c0 1.714-.914 2.514-2.743 2.514h-2.172zM0 78.216h3.467v13.068h1.676l.038-13.068h3.505v-1.372H0zM75.243 76.844h1.638v14.439h-1.638zM49.489 80.539a4.152 4.152 0 00-4.305 4.5v1.9a4.291 4.291 0 108.572 0v-1.9a4.164 4.164 0 00-4.267-4.5zm2.591 6.4c0 1.943-.952 3.162-2.629 3.162-1.714 0-2.667-1.219-2.667-3.162v-1.9c0-1.981.991-3.162 2.667-3.162 1.638 0 2.629 1.219 2.629 3.2zM88.12 90.102c-2.438 0-3.734-1.753-3.734-4.648v-2.781c0-2.9 1.41-4.686 3.734-4.686 1.9 0 2.934.952 3.162 2.934h1.676c-.229-2.934-2.324-4.305-4.877-4.305-3.162 0-5.448 2.4-5.448 6.019v2.78c0 3.7 2.057 6.019 5.448 6.019a4.6 4.6 0 004.991-4.572H91.51a3.171 3.171 0 01-3.39 3.24zM68.805 80.579c-1.9 0-3.467.914-3.619 3.048h1.6a1.689 1.689 0 011.943-1.714c1.372 0 1.867.686 1.867 2.133v1.1h-1.448c-2.4 0-4.343.8-4.343 3.124v.19a2.811 2.811 0 003.086 2.972 3.018 3.018 0 002.7-1.333v1.18h1.6V84.04c.005-2.548-1.443-3.501-3.386-3.461zm1.791 7.429c0 1.448-1.029 2.172-2.476 2.172a1.524 1.524 0 01-1.753-1.753v-.152c0-1.41 1.067-1.943 2.819-1.943h1.41zM59.356 88.121l-2.629-7.391h-1.714l3.505 9.486-1.714 4.686h1.638l4.991-14.172h-1.638zM238.912 82.253a3.014 3.014 0 00-2.819-1.638c-2.4 0-3.962 1.791-3.962 4.343v1.9c0 2.629 1.524 4.229 3.81 4.229a3.392 3.392 0 002.934-1.714v1.6c0 1.9-.991 2.743-2.629 2.743-1.448 0-2.248-.533-2.4-1.638h-1.638c.229 1.676 1.448 2.972 4.077 2.972 2.514 0 4.229-1.257 4.229-4.038V80.729h-1.6v1.524zm.038 4.381c0 2.019-1.1 3.086-2.7 3.086-1.41 0-2.438-.952-2.438-2.9v-1.943c0-1.867.876-3.01 2.514-3.01s2.591 1.1 2.591 3.124h.038zM225.844 80.539a4.152 4.152 0 00-4.305 4.5v1.9a4.291 4.291 0 108.572 0v-1.9a4.164 4.164 0 00-4.267-4.5zm2.629 6.4c0 1.943-.952 3.162-2.629 3.162-1.714 0-2.667-1.219-2.667-3.162v-1.9c0-1.981.991-3.162 2.667-3.162 1.638 0 2.629 1.219 2.629 3.2zM244.36 76.501a1.09 1.09 0 00-1.067 1.067 1.065 1.065 0 001.067 1.067 1.042 1.042 0 001.067-1.067 1.065 1.065 0 00-1.067-1.067zM210.491 80.539a4.152 4.152 0 00-4.305 4.5v1.9a4.291 4.291 0 108.572 0v-1.9a4.164 4.164 0 00-4.267-4.5zm2.591 6.4c0 1.943-.952 3.162-2.629 3.162-1.714 0-2.667-1.219-2.667-3.162v-1.9c0-1.981.991-3.162 2.667-3.162 1.638 0 2.629 1.219 2.629 3.2zM217.311 76.844h1.638v14.439h-1.638zM132.009 80.729v1.524a3.014 3.014 0 00-2.819-1.638c-2.4 0-3.962 1.791-3.962 4.343v1.9c0 2.629 1.524 4.229 3.81 4.229a3.393 3.393 0 002.934-1.714v1.6c0 1.9-.991 2.743-2.629 2.743-1.448 0-2.248-.533-2.4-1.638h-1.638c.229 1.676 1.448 2.972 4.076 2.972 2.514 0 4.229-1.257 4.229-4.038V80.729h-1.6zm.038 5.905c0 2.019-1.1 3.086-2.7 3.086-1.448 0-2.438-.952-2.438-2.9v-1.943c0-1.867.876-3.01 2.514-3.01s2.591 1.1 2.591 3.124h.038zM269.924 61.909v-2.4a8.035 8.035 0 01-2.514.343c-2.972 0-4.534-1.9-6.058-6.21l-14.516-40.536C243.979 5.105 239.56 0 229.692 0s-14.782 5.258-17.258 13.22l-11.315 36.422c-1.9 6.324-5.258 9.753-11.925 9.753s-10.134-3.467-11.925-9.867L166.336 9.867C164.545 3.467 160.278 0 153.839 0s-10.82 3.2-12.5 9.867l-10.473 41.565c-1.181 4.648-3.2 7.01-7.734 7.01-4.419 0-6.439-2.4-7.391-6.781L106.56 9.3c-1.3-6.1-3.924-9.3-10.134-9.3s-8.915 4.305-9.867 9.3L78.1 53.337c-.5 2.514-1.791 4.648-4.648 4.648s-4.305-1.562-4.762-4.534L61.681 7.734C60.957 3.086 58.442 0 53.223 0c-5.715 0-7.734 3.81-8.343 8.229l-6.058 45.108c-.343 2.514-.952 4.153-3.086 4.153-2.248 0-3.086-1.676-3.353-4.153L27.964 8.572C27.507 3.924 25.83 0 20.344 0c-5.105 0-7.353 3.581-7.734 7.734L8.572 54.518c-.114 1.562-.343 2.514-1.448 2.514-.952 0-1.448-.61-1.448-1.9V6.439C5.715 2.972 3.81 0 0 0v55.356c0 3.7 2.248 6.9 7.162 6.9 4.419 0 6.324-2.4 6.781-7.62l3.925-46.521c.114-1.562.61-3.086 2.514-3.086 1.791 0 2.248 1.562 2.514 3.467l4.534 45.6c.61 5.829 3.924 8.229 8.343 8.229 4.305 0 7.162-2.019 7.962-8.343L49.68 8.5c.229-1.791.952-3.924 3.581-3.924 2.514 0 3.467 1.9 3.81 3.81L64.233 54.1c.838 5.372 3.7 8.229 9.3 8.229s8.115-3.2 9.067-8.343l8.34-43.928c.724-3.81 2.514-5.943 5.715-5.943 3.7 0 4.991 2.133 5.829 5.943l9.524 43.089c1.562 7.01 6.058 9.182 11.2 9.182 6.553 0 9.867-3.81 11.315-9.639l10.248-41.3c.952-3.81 2.857-7.962 9.182-7.962s8.343 4.305 9.41 8.229l11.087 39.05c1.9 6.667 5.829 11.658 14.9 11.658s12.877-5.258 14.782-11.429l11.2-36.8c2.133-7.01 6.058-11.315 14.515-11.315 8.267-.076 12.077 4.8 14.363 11.239l14.513 40.34c1.562 4.305 3.353 7.848 8.458 7.848a8.893 8.893 0 002.743-.339zM266.838 85.187c-1.638-.533-2.133-.914-2.133-1.867 0-.876.61-1.41 1.638-1.41a1.6 1.6 0 011.791 1.638h1.562c-.152-2.21-1.6-2.972-3.353-2.972a2.909 2.909 0 00-3.162 2.781c0 1.753.876 2.514 3.124 3.238 1.448.457 2.134.838 2.134 1.9s-.572 1.6-1.867 1.6a1.818 1.818 0 01-2.057-1.943h-1.563c.038 2.1 1.372 3.276 3.619 3.276 2.286 0 3.429-1.181 3.429-3.01 0-2.05-1.333-2.698-3.162-3.231zM259.066 88.654v-6.553h2.133v-1.372h-2.133v-2.285h-1.634v2.286h-1.3v1.372h1.3v6.667a2.359 2.359 0 002.629 2.591 2.768 2.768 0 001.181-.19v-1.333a2.545 2.545 0 01-1.029.152c-.766.037-1.147-.382-1.147-1.335zM251.484 85.149c-1.638-.533-2.133-.914-2.133-1.867 0-.876.61-1.41 1.638-1.41a1.582 1.582 0 011.791 1.638h1.562c-.152-2.21-1.6-2.972-3.353-2.972a2.909 2.909 0 00-3.162 2.781c0 1.753.838 2.514 3.124 3.238 1.448.457 2.133.876 2.133 1.9 0 1.067-.533 1.6-1.867 1.6a1.835 1.835 0 01-2.057-1.943h-1.562c.038 2.1 1.41 3.276 3.619 3.276 2.286 0 3.429-1.219 3.429-3.01 0-2.012-1.333-2.66-3.162-3.231zM243.56 80.729h1.6v10.553h-1.6zM153.801 80.539a4.152 4.152 0 00-4.305 4.5v1.9a4.291 4.291 0 108.572 0v-1.9a4.164 4.164 0 00-4.267-4.5zm2.591 6.4c0 1.943-.952 3.162-2.629 3.162-1.714 0-2.667-1.219-2.667-3.162v-1.9c0-1.981.991-3.162 2.667-3.162 1.638 0 2.629 1.219 2.629 3.2zM178.336 80.958v-.381c0-2.667-1.867-3.772-4.457-3.772h-3.772v14.439h1.676v-6.477h2.1l3.2 6.477h1.867l-3.429-6.629a3.39 3.39 0 002.815-3.657zm-6.591 2.514v-5.3h2.172c1.753 0 2.743.61 2.743 2.4v.381c0 1.714-.914 2.514-2.743 2.514h-2.172zM160.963 79.548v1.181h-1.333v1.372h1.3v9.182h1.638v-9.182h2.21v-1.372h-2.21v-1.257c0-.952.381-1.6 1.372-1.6a3.322 3.322 0 01.952.152v-1.333a2.964 2.964 0 00-1.1-.152c-1.876-.039-2.829 1.101-2.829 3.009zM140.277 80.578c-2.476 0-4.153 1.714-4.153 4.5v1.867c0 2.819 1.676 4.5 4.229 4.5 2.133 0 3.657-.991 3.886-3.124h-1.562a2 2 0 01-2.286 1.791c-1.753 0-2.629-1.029-2.629-3.162v-.61h6.515v-1.382c0-3.124-1.791-4.419-4-4.38zm2.324 4.191v.267h-4.877c0-2.133 1.1-3.124 2.514-3.124 1.448 0 2.4.762 2.4 2.857zM184.584 80.579c-1.9 0-3.467.914-3.619 3.048h1.6a1.689 1.689 0 011.943-1.714c1.372 0 1.867.686 1.867 2.133v1.1h-1.448c-2.4 0-4.343.8-4.343 3.124v.19a2.811 2.811 0 003.086 2.972 3.018 3.018 0 002.7-1.333v1.18h1.6V84.04c.005-2.548-1.481-3.501-3.386-3.461zm1.791 7.429c0 1.448-1.029 2.172-2.476 2.172a1.524 1.524 0 01-1.753-1.753v-.152c0-1.41 1.067-1.943 2.819-1.943h1.41zM201.995 80.729h1.6v10.553h-1.6zM197.31 82.178a3.074 3.074 0 00-2.858-1.634c-2.4 0-4 1.753-4 4.5v2.057c0 2.781 1.562 4.343 3.848 4.343a3.523 3.523 0 003.01-1.714v1.562h1.6V76.844h-1.6zm.038 4.724c0 2.133-1.181 3.2-2.781 3.2-1.448 0-2.438-.876-2.438-3.01v-2.057c0-2.019.914-3.124 2.553-3.124s2.629 1.029 2.629 3.2h.038zM202.757 76.501a1.09 1.09 0 00-1.067 1.067 1.065 1.065 0 001.067 1.067 1.042 1.042 0 001.067-1.067 1.065 1.065 0 00-1.067-1.067z\"\n })));\n}\nexport default SvgPrimaryLogo;","import { transition } from '@helpers/animate';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport scrollbars from '@helpers/scrollbars';\r\nimport { paragraphSmall } from '@helpers/typography';\r\nimport SectionWrapper from '@stories/Components/Global/SectionWrapper/SectionWrapper';\r\nimport styled from 'styled-components';\r\nconst Container = styled(SectionWrapper) ``;\r\nconst List = styled.ul `\r\n ${scrollbars};\r\n\r\n overflow: auto;\r\n white-space: nowrap;\r\n`;\r\nconst Item = styled.li `\r\n ${paragraphSmall};\r\n\r\n line-height: ${fluid(52, 52)};\r\n display: inline-block;\r\n margin: 0 8px 0 0;\r\n\r\n &::after {\r\n content: '\\\\007C';\r\n margin-left: 8px;\r\n }\r\n\r\n &[data-ellip],\r\n &:last-child {\r\n &::after {\r\n display: none;\r\n }\r\n }\r\n`;\r\nconst ItemLink = styled.a `\r\n ${transition('text-decoration-color')};\r\n ${paragraphSmall};\r\n\r\n text-decoration: underline;\r\n text-decoration-color: transparent;\r\n text-underline-offset: 2px;\r\n\r\n &:not([aria-current='location']).focus-ring,\r\n &:not([aria-current='location']):hover {\r\n text-decoration-color: currentColor;\r\n }\r\n\r\n &[aria-current='location'] {\r\n ${fonts.graphikCompact.semibold};\r\n }\r\n`;\r\nconst BreadcrumbStyles = {\r\n Container,\r\n List,\r\n Item,\r\n ItemLink,\r\n};\r\nexport default BreadcrumbStyles;\r\n","import * as React from 'react';\r\nimport S from './Breadcrumb.styles';\r\nconst Breadcrumb = (props) => {\r\n if (!props.items || props.items.length === 0) {\r\n return null;\r\n }\r\n return (React.createElement(S.Container, { variant: props.variant, flush: \"both\" },\r\n React.createElement(S.List, { \"aria-label\": \"breadcrumb\" }, props.items.map((item, i) => (React.createElement(React.Fragment, { key: `breadcrumb-${i}` }, i >= props.items.length - 2 ? (React.createElement(React.Fragment, null,\r\n i > 0 && i !== props.items.length - 1 ? (React.createElement(S.Item, { \"data-ellip\": \"true\" }, \"\\u2026\")) : null,\r\n React.createElement(S.Item, null,\r\n React.createElement(S.ItemLink, { href: item.url, title: item.text, \"aria-current\": i === props.items.length - 1 ? 'location' : undefined }, item.text)))) : null))))));\r\n};\r\nexport default Breadcrumb;\r\n","import { transition } from '@helpers/animate';\r\nimport { imageCoverContainer } from '@helpers/aspectRatio';\r\nimport brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { paragraphRegular, paragraphSmall } from '@helpers/typography';\r\nimport { ButtonStyles } from '@stories/Components/Buttons/GeneralButton/Button.styles';\r\nimport styled from 'styled-components';\r\nconst Container = styled.a `\r\n display: flex;\r\n background-color: var(--bgColour);\r\n color: var(--colour);\r\n text-decoration: none;\r\n\r\n &[data-type='cta'] {\r\n --bgColour: ${brand.primary.purple};\r\n --colour: ${brand.primary.offWhite};\r\n }\r\n\r\n &[data-type='article'],\r\n &[data-type='event'] {\r\n --bgColour: ${brand.primary.offWhite};\r\n --colour: ${brand.primary.purple};\r\n }\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n`;\r\nconst ImageWrapper = styled.div `\r\n width: 42%;\r\n\r\n svg {\r\n ${transition('transform')};\r\n\r\n position: absolute;\r\n\r\n path {\r\n stroke-width: 0.5;\r\n }\r\n\r\n path:last-of-type {\r\n stroke: var(--lineColour, currentColor);\r\n }\r\n\r\n &:first-of-type {\r\n top: 6px;\r\n left: 6px;\r\n width: 50%;\r\n transform: rotate(7deg);\r\n }\r\n\r\n &:last-of-type {\r\n right: 8px;\r\n bottom: 8px;\r\n width: 33%;\r\n transform: rotate(-9deg);\r\n }\r\n }\r\n`;\r\nconst ImageInner = styled.div `\r\n position: relative;\r\n height: 100%;\r\n width: 100%;\r\n overflow: clip;\r\n overflow: hidden;\r\n min-height: 267px;\r\n`;\r\nconst Image = styled.img `\r\n ${transition('transform')};\r\n ${imageCoverContainer()};\r\n\r\n ${Container}.focus-ring &,\r\n ${Container}:hover & {\r\n transform: scale(1.1);\r\n }\r\n`;\r\nconst ContentWrapper = styled.div `\r\n position: relative;\r\n padding: ${fluid(16, 20)} ${fluid(24, 28)};\r\n width: 58%;\r\n display: flex;\r\n`;\r\nconst TopWrapper = styled.div `\r\n display: flex;\r\n align-items: flex-start;\r\n width: 100%;\r\n`;\r\nconst TimeWrapper = styled.span `\r\n margin: calc(${fluid(16, 20)} * -1) calc(${fluid(8, 10)} * -1) ${fluid(8, 12)} auto;\r\n background-color: var(--colour);\r\n color: var(--bgColour);\r\n padding: 6px 10px 7px;\r\n border-radius: 0 0 4px 4px;\r\n flex-shrink: 0;\r\n`;\r\nconst Time = styled.time `\r\n ${paragraphSmall};\r\n\r\n margin: 0;\r\n`;\r\nconst Pillwrapper = styled.div `\r\n margin: 0 0 ${fluid(16, 20)};\r\n`;\r\nconst ContentInner = styled.div `\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n\r\n ${Container}[data-type='article'] &,\r\n ${Container}[data-type='event'] & {\r\n border-left: 1px solid var(--colour);\r\n padding-left: ${fluid(16, 20)};\r\n }\r\n\r\n > svg {\r\n ${transition('transform')};\r\n\r\n display: block;\r\n width: ${fluid(18, 20)};\r\n margin: 4px 0 0 auto;\r\n\r\n ${Container}.focus-ring &,\r\n ${Container}:hover & {\r\n transform: translateX(15%);\r\n }\r\n }\r\n\r\n > ${ButtonStyles.Button} {\r\n margin: ${fluid(24, 28)} 0 0;\r\n }\r\n`;\r\nconst Title = styled.span `\r\n ${paragraphRegular};\r\n ${fonts.graphikCompact.semibold};\r\n\r\n margin: 0;\r\n`;\r\nconst Subtitle = styled.span `\r\n ${paragraphSmall};\r\n ${fonts.graphikCompact.semibold};\r\n\r\n margin: 4px 0 0;\r\n`;\r\nconst Content = styled.p `\r\n ${paragraphSmall};\r\n\r\n margin: 20px 0 0;\r\n`;\r\nconst FeaturedCardStyles = {\r\n Container,\r\n ImageWrapper,\r\n Image,\r\n ImageInner,\r\n ContentWrapper,\r\n ContentInner,\r\n TimeWrapper,\r\n Time,\r\n Title,\r\n Subtitle,\r\n Content,\r\n Pillwrapper,\r\n TopWrapper,\r\n};\r\nexport default FeaturedCardStyles;\r\n","import { equalDates, formatDate, formatDateISO } from '@helpers/date';\r\nimport { getSrcs } from '@helpers/image';\r\nimport { Device, until } from '@helpers/media';\r\nimport { getSvgFromSystem, SystemIcon } from '@helpers/systemIcons';\r\nimport { FakeButton } from '@stories/Components/Buttons/GeneralButton/Button';\r\nimport CategoryPills from '@stories/Components/General/CategoryPills/CategoryPills';\r\nimport SvgWheel from '@img/branding-graphics/curves-wheel.svg';\r\nimport * as React from 'react';\r\nimport { FocusRing } from 'react-aria';\r\nimport S from './Card.styles';\r\nimport brand from '@helpers/brand';\r\nconst FeaturedCard = (props) => {\r\n const HighlightColours = [brand.tertiary.darkBlue, brand.secondary.red];\r\n const srcs = props.wide\r\n ? (props.image ? getSrcs(props.image, 449, 346, 3, 270 / 420) : [])\r\n : (props.image ? getSrcs(props.image, 388, 299, 3, 270 / 420) : []);\r\n const sizes = props.wide\r\n ? `${until(Device.DesktopLarge)} 25.5vw, 449px`\r\n : `${until(Device.DesktopLarge)} 28vw, 449px`;\r\n /* randomise which colour is used for each wheel */\r\n const lineColours = HighlightColours.sort(() => Math.random() - 0.5);\r\n return (React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Container, { href: props.cta.url, target: props.cta.target, \"data-type\": props.type, tabIndex: props.tabIndex },\r\n React.createElement(S.ImageWrapper, null,\r\n React.createElement(S.ImageInner, null, props.image ? (React.createElement(S.Image, { src: srcs[0].split(' ')[0], srcSet: srcs?.join(','), sizes: sizes, alt: props.image?.altText ?? props.title, loading: 'lazy' })) : (React.createElement(React.Fragment, null,\r\n React.createElement(SvgWheel, { style: { '--lineColour': lineColours[0] } }),\r\n React.createElement(SvgWheel, { style: { '--lineColour': lineColours[1] } }))))),\r\n React.createElement(S.ContentWrapper, null,\r\n React.createElement(S.ContentInner, null,\r\n props.categories || props.date ? (React.createElement(S.TopWrapper, null,\r\n props.categories && props.categories.length > 0 ? (React.createElement(S.Pillwrapper, { \"data-variant\": props.type === 'cta' ? 'dark' : 'light' },\r\n React.createElement(CategoryPills, { links: props.categories, tabIndex: props.tabIndex }))) : null,\r\n props.date && (React.createElement(S.TimeWrapper, null, !props.endDate ? (React.createElement(S.Time, { dateTime: formatDateISO(props.date) },\r\n formatDate(props.date, 'd LLL yyyy'),\r\n \" |\",\r\n ' ',\r\n formatDate(props.date, 'h:mm a O').replaceAll('+0', ''))) : (React.createElement(React.Fragment, null, equalDates(props.date, props.endDate) ? (React.createElement(S.Time, { dateTime: formatDateISO(props.date) },\r\n formatDate(props.date, 'd LLL yyyy'),\r\n \" |\",\r\n ' ',\r\n formatDate(props.date, 'h:mm a').replaceAll('+0', ''),\r\n \" -\",\r\n ' ',\r\n formatDate(props.endDate, 'h:mm a O').replaceAll('+0', ''))) : (React.createElement(React.Fragment, null,\r\n React.createElement(S.Time, { dateTime: formatDateISO(props.date) }, formatDate(props.date, 'd LLL yyyy')),\r\n ' ',\r\n \"-\",\r\n ' ',\r\n React.createElement(S.Time, { dateTime: formatDateISO(props.endDate) }, formatDate(props.endDate, 'd LLL yyyy')))))))))) : null,\r\n React.createElement(S.Title, null, props.title),\r\n props.subtitle && React.createElement(S.Subtitle, null, props.subtitle),\r\n React.createElement(S.Content, null, props.content),\r\n props.type === 'cta' ? (React.createElement(FakeButton, { branding: \"solid\", title: props.cta.text ?? '' })) : (getSvgFromSystem(SystemIcon.ArrowRight)))))));\r\n};\r\nexport default FeaturedCard;\r\n","import { transition } from '@helpers/animate';\r\nimport brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { ButtonReset } from '@helpers/global';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport scrollbars from '@helpers/scrollbars';\r\nimport { link, paragraphRegular } from '@helpers/typography';\r\nimport styled from 'styled-components';\r\nconst Container = styled.nav `\r\n display: flex;\r\n gap: ${fluid(24, 46, Device.Desktop)};\r\n padding: 0 ${fluid(16, 24)};\r\n margin: 0 0 0 auto;\r\n\r\n [data-sticky='true'] & {\r\n gap: ${fluid(24, 28)};\r\n\r\n @media ${from(Device.TabletXL)} {\r\n padding-right: 8px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n padding-right: 0;\r\n }\r\n }\r\n\r\n @media ${until(Device.Desktop)} {\r\n gap: ${fluid(14, 18, Device.TabletLarge, Device.Desktop)} !important;\r\n }\r\n`;\r\nconst TopLink = styled.a `\r\n ${ButtonReset};\r\n ${transition('color')};\r\n ${paragraphRegular};\r\n\r\n display: inline-flex;\r\n position: relative;\r\n height: 100%;\r\n margin: 0;\r\n white-space: nowrap;\r\n color: ${brand.primary.offWhite};\r\n text-decoration: none;\r\n\r\n [data-sticky='true'] & {\r\n padding-top: 8px;\r\n }\r\n\r\n button& {\r\n position: relative;\r\n z-index: 1;\r\n\r\n &::after {\r\n ${transition('background-size')};\r\n\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n height: 6px;\r\n width: 100%;\r\n background: transparent;\r\n background-image: linear-gradient(to right, ${brand.secondary.red}, ${brand.secondary.red});\r\n background-repeat: no-repeat;\r\n background-size: 0% 100%;\r\n transform: translateY(100%);\r\n }\r\n }\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n &.focus-ring,\r\n &[data-active='true'],\r\n &:hover {\r\n color: ${brand.secondary.red};\r\n\r\n &::after {\r\n background-size: 100% 100%;\r\n }\r\n }\r\n\r\n [data-sticky='false'] & {\r\n @media ${until(Device.DesktopSmall)} {\r\n font-size: ${fluid(16, 18, Device.TabletLarge, Device.DesktopSmall)};\r\n }\r\n }\r\n\r\n [data-sticky='true'] & {\r\n @media ${until(Device.DesktopSmall)} {\r\n font-size: ${fluid(14, 16, Device.TabletLarge, Device.DesktopSmall)};\r\n }\r\n }\r\n`;\r\nconst NavigationDropdown = styled.div `\r\n --maxHeight: calc(100vh - var(--headerHeight) - ${fluid(16, 24)});\r\n\r\n display: grid;\r\n grid-template-columns: repeat(12, 1fr);\r\n gap: var(--gutterWidth);\r\n position: fixed;\r\n top: var(--headerHeight);\r\n left: 50%;\r\n transform: translateX(-50%);\r\n max-width: var(--siteWidth);\r\n width: calc(100% - (var(--sitePadding) * 2));\r\n\r\n /* Ensure background click isn't interfered with */\r\n pointer-events: none;\r\n\r\n [data-sticky='true'] & {\r\n --maxHeight: calc(100vh - var(--stickyHeaderHeight));\r\n\r\n top: var(--stickyHeaderHeight);\r\n }\r\n`;\r\nconst SecondLevelContainer = styled.div `\r\n ${transition('max-height', 1.2)}\r\n\r\n grid-column: 1 / span 12;\r\n grid-row: 1;\r\n max-height: var(--maxHeight);\r\n overflow: hidden;\r\n\r\n &[data-active='false'] {\r\n max-height: 0;\r\n tabindex: -1;\r\n }\r\n\r\n &[data-third-only='true'] {\r\n height: 300px;\r\n background-color: ${brand.primary.offWhite};\r\n }\r\n`;\r\nconst SecondLevelList = styled.ul `\r\n display: grid;\r\n grid-template-columns: repeat(12, 1fr);\r\n grid-auto-rows: min-content;\r\n gap: ${fluid(8, 10)} var(--gutterWidth);\r\n background-color: ${brand.primary.offWhite};\r\n padding: ${fluid(30, 40)};\r\n pointer-events: all;\r\n\r\n > li {\r\n grid-column: 2 / span 3;\r\n }\r\n`;\r\nconst ThirdLevelContainer = styled.div `\r\n ${transition('max-height', 1.2)}\r\n\r\n grid-column: 5 / span 7;\r\n grid-row: 1 / span 2;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n max-height: var(--maxHeight);\r\n overflow: hidden;\r\n pointer-events: all;\r\n position: relative;\r\n\r\n &[data-active='false'] {\r\n max-height: 0;\r\n tabindex: -1;\r\n }\r\n\r\n &[data-third-only='true'] {\r\n grid-column: 3 / span 8;\r\n }\r\n`;\r\nconst ThirdLevelList = styled.div `\r\n ${scrollbars};\r\n\r\n display: grid;\r\n grid-template-columns: repeat(7, 1fr);\r\n column-gap: ${fluid(26, 28)};\r\n background: ${brand.white};\r\n padding: ${fluid(26, 30)} ${fluid(24, 28)};\r\n overflow: hidden;\r\n\r\n ${ThirdLevelContainer}[data-open='true'] & {\r\n overflow: auto;\r\n }\r\n`;\r\nconst ThirdLevelFirstLink = styled.div `\r\n grid-column: 1 / span 7;\r\n display: flex;\r\n`;\r\nconst LevelTwoLink = styled.a `\r\n ${ButtonReset};\r\n ${transition('background-size')};\r\n ${paragraphRegular};\r\n ${fonts.graphikCompact.semibold};\r\n\r\n color: ${brand.primary.purple};\r\n text-decoration: none;\r\n text-align: left;\r\n background: transparent;\r\n background-image: linear-gradient(to right, ${brand.white}, ${brand.white});\r\n background-repeat: no-repeat;\r\n background-size: 0% 100%;\r\n display: flex;\r\n gap: ${fluid(24, 28)};\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n padding: 7px 12px 13px;\r\n margin: 0;\r\n\r\n > svg {\r\n ${transition('transform')};\r\n\r\n display: block;\r\n min-width: 20px;\r\n max-width: 20px;\r\n }\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n &.focus-ring,\r\n &[data-active='true'],\r\n &:hover {\r\n background-size: 100% 100%;\r\n\r\n > svg {\r\n transform: translateX(15%);\r\n }\r\n }\r\n\r\n ${ThirdLevelFirstLink} &,\r\n li:first-child & {\r\n ${fonts.graphikCompact.medium};\r\n\r\n color: ${brand.secondary.red};\r\n font-size: ${fluid(22, 24)};\r\n line-height: ${fluid(28, 30)};\r\n padding-top: 0;\r\n padding-bottom: 0;\r\n margin-bottom: ${fluid(16, 20)};\r\n background-image: none;\r\n }\r\n\r\n ${ThirdLevelFirstLink} & {\r\n padding: 0;\r\n width: auto;\r\n margin-bottom: ${fluid(24, 28)};\r\n }\r\n`;\r\nconst LevelThreeLink = styled.a `\r\n ${link};\r\n ${paragraphRegular};\r\n ${transition('text-decoration-color')};\r\n\r\n color: ${brand.primary.purple};\r\n margin: 0;\r\n text-decoration-color: transparent;\r\n text-underline-offset: 2px;\r\n\r\n li:first-child & {\r\n ${fonts.graphikCompact.semibold};\r\n }\r\n\r\n a& {\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n text-decoration-color: currentColor;\r\n }\r\n }\r\n`;\r\nconst LinkColumn = styled.div `\r\n grid-column: span 3;\r\n`;\r\nconst LinkGroup = styled.ul `\r\n grid-column: span 3;\r\n margin: 0 0 16px;\r\n\r\n > li {\r\n margin: 0 0 12px;\r\n }\r\n`;\r\nconst CloseButton = styled.button `\r\n ${ButtonReset};\r\n ${transition('opacity, transform')};\r\n\r\n height: ${fluid(16, 18)};\r\n width: ${fluid(16, 18)};\r\n position: absolute;\r\n top: ${fluid(26, 30)};\r\n right: ${fluid(26, 30)};\r\n border-radius: 5000px;\r\n color: ${brand.tertiary.darkBlue};\r\n\r\n > svg {\r\n display: block;\r\n width: 100%;\r\n }\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n opacity: 0.66;\r\n transform: scale(1.15);\r\n }\r\n\r\n [data-active='false'] & {\r\n display: none;\r\n }\r\n`;\r\nconst FeaturedCard = styled.div `\r\n padding: ${fluid(38, 40)} ${fluid(24, 28)} ${fluid(26, 30)};\r\n background-color: ${brand.white};\r\n position: relative;\r\n\r\n &::before {\r\n content: '';\r\n display: block;\r\n height: 1px;\r\n width: calc(100% - ${fluid(48, 56)});\r\n background-color: ${brand.primary.purple};\r\n position: absolute;\r\n left: 50%;\r\n top: ${fluid(10, 12)};\r\n transform: translateX(-50%);\r\n }\r\n`;\r\nconst DesktopNavigationStyles = {\r\n CloseButton,\r\n Container,\r\n FeaturedCard,\r\n LevelThreeLink,\r\n LevelTwoLink,\r\n LinkColumn,\r\n LinkGroup,\r\n NavigationDropdown,\r\n SecondLevelList,\r\n SecondLevelContainer,\r\n ThirdLevelFirstLink,\r\n ThirdLevelList,\r\n ThirdLevelContainer,\r\n TopLink,\r\n};\r\nexport default DesktopNavigationStyles;\r\n","import { getSvgFromSystem, SystemIcon } from '@helpers/systemIcons';\r\nimport { sleep } from '@helpers/utils';\r\nimport * as React from 'react';\r\nimport { FocusRing } from 'react-aria';\r\nimport FeaturedCard from './Card/Card';\r\nimport S from './DesktopNavigation.styles';\r\nconst DesktopNavigation = (props) => {\r\n const [fullyOpen, setFullyOpen] = React.useState(false);\r\n return (React.createElement(S.Container, { \"aria-label\": \"main menu\" }, props.links.map((link) => (React.createElement(React.Fragment, { key: link.id },\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.TopLink, { id: `${link.id}-top-link`, ...(link.children.length > 0\r\n ? { as: 'button', onClick: () => handleTopLinkClick(link) }\r\n : { href: link.url, target: link.target }), \"data-active\": props.activeLink === link.id }, link.text)),\r\n link.children.length > 0 ? renderNavigationDropdown(link) : null)))));\r\n async function handleTopLinkClick(link) {\r\n if (link.id === props.activeLink) {\r\n props.setActiveLink('');\r\n props.setActiveSecond('');\r\n setFullyOpen(false);\r\n }\r\n else if (props.activeLink !== '') {\r\n props.setActiveLink('pending');\r\n props.setActiveSecond('');\r\n setFullyOpen(false);\r\n await sleep(900); // allow open dropdown to close before opening\r\n props.setActiveLink(link.id);\r\n await sleep(1100); // allow dropdown to fully open before showing scrollbars\r\n setFullyOpen(true);\r\n }\r\n else {\r\n props.setActiveSecond('');\r\n props.setActiveLink(link.id);\r\n await sleep(1100); // allow dropdown to fully open before showing scrollbars\r\n setFullyOpen(true);\r\n }\r\n }\r\n async function handleSecondLevelClick(id) {\r\n if (id === props.activeSecond) {\r\n props.setActiveSecond('');\r\n setFullyOpen(false);\r\n }\r\n else if (props.activeSecond !== '') {\r\n props.setActiveSecond('');\r\n setFullyOpen(false);\r\n await sleep(900); // allow open level to close before opening\r\n props.setActiveSecond(id);\r\n await sleep(1100); // allow dropdown to fully open before showing scrollbars\r\n setFullyOpen(true);\r\n }\r\n else {\r\n props.setActiveSecond(id);\r\n await sleep(1100); // allow dropdown to fully open before showing scrollbars\r\n setFullyOpen(true);\r\n }\r\n }\r\n function renderNavigationDropdown(link) {\r\n return (React.createElement(S.NavigationDropdown, { \"aria-labelledby\": `${link.id}-top-link` }, link.children.length > 1 ? (React.createElement(React.Fragment, null,\r\n React.createElement(S.SecondLevelContainer, { \"data-active\": props.activeLink === link.id },\r\n React.createElement(S.SecondLevelList, null,\r\n React.createElement(\"li\", null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.LevelTwoLink, { href: link.url, target: link.target, tabIndex: props.activeLink !== link.id ? -1 : undefined },\r\n link.text,\r\n \" \",\r\n getSvgFromSystem(SystemIcon.ArrowRight)))),\r\n renderLevelTwoLinks(link.children, props.activeLink !== link.id ? -1 : undefined))),\r\n link.children.map((levelTwo) => (React.createElement(S.ThirdLevelContainer, { key: `${levelTwo.id}-child-links`, \"data-active\": props.activeSecond === levelTwo.id, \"data-open\": fullyOpen },\r\n React.createElement(S.ThirdLevelList, null,\r\n React.createElement(S.ThirdLevelFirstLink, null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.LevelTwoLink, { href: levelTwo.url, target: levelTwo.target, tabIndex: props.activeSecond !== levelTwo.id ? -1 : undefined },\r\n levelTwo.text,\r\n \" \",\r\n getSvgFromSystem(SystemIcon.ArrowRight)))),\r\n renderLevelThreeLinks(levelTwo.id, levelTwo.children, props.activeSecond !== levelTwo.id ? -1 : undefined)),\r\n levelTwo.featuredCard && (React.createElement(S.FeaturedCard, null,\r\n React.createElement(FeaturedCard, { ...levelTwo.featuredCard, wide: false, tabIndex: props.activeSecond !== levelTwo.id ? -1 : undefined }))),\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.CloseButton, { \"aria-label\": `Close ${levelTwo.text} Links`, onClick: () => {\r\n props.setActiveSecond('');\r\n setFullyOpen(false);\r\n }, tabIndex: props.activeSecond !== levelTwo.id ? -1 : undefined }, getSvgFromSystem(SystemIcon.Cross)))))))) : (React.createElement(React.Fragment, null,\r\n React.createElement(S.SecondLevelContainer, { \"data-active\": props.activeLink === link.id, tabIndex: props.activeLink !== link.id ? -1 : undefined, \"data-third-only\": true }),\r\n React.createElement(S.ThirdLevelContainer, { \"data-third-only\": true, \"data-active\": props.activeLink === link.id, \"data-open\": fullyOpen },\r\n React.createElement(S.ThirdLevelList, null,\r\n React.createElement(S.ThirdLevelFirstLink, null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.LevelTwoLink, { href: link.url, target: link.target, tabIndex: props.activeLink !== link.id ? -1 : undefined },\r\n link.text,\r\n \" \",\r\n getSvgFromSystem(SystemIcon.ArrowRight)))),\r\n renderLevelThreeLinks(link.id, link.children[0].children, props.activeLink !== link.id ? -1 : undefined)),\r\n link.children[0].featuredCard && (React.createElement(S.FeaturedCard, null,\r\n React.createElement(FeaturedCard, { ...link.children[0].featuredCard, wide: true, tabIndex: props.activeLink !== link.id ? -1 : undefined }))),\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.CloseButton, { \"aria-label\": `Close ${link.text} Links`, onClick: () => {\r\n props.setActiveLink('');\r\n setFullyOpen(false);\r\n }, tabIndex: props.activeLink !== link.id ? -1 : undefined }, getSvgFromSystem(SystemIcon.Cross))))))));\r\n }\r\n function renderLevelTwoLinks(links, tabIndex) {\r\n return (React.createElement(React.Fragment, null, links.map((link) => (React.createElement(\"li\", { key: link.id },\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.LevelTwoLink, { ...(link.children.one.length > 0\r\n ? { as: 'button', onClick: () => handleSecondLevelClick(link.id), tabIndex }\r\n : { href: link.url, target: link.target, tabIndex }) },\r\n link.text,\r\n \" \",\r\n getSvgFromSystem(SystemIcon.ArrowRight))))))));\r\n }\r\n function renderLevelThreeLinks(id, cols, tabIndex) {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(S.LinkColumn, null, cols.one.map((group, index) => (React.createElement(S.LinkGroup, { key: `${id}-0${index}-level-three-col-1` }, group.map((link) => (React.createElement(\"li\", { key: link.id },\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.LevelThreeLink, { ...(link.url && link.url !== '' && link.url !== null\r\n ? { href: link.url, target: link.target, tabIndex }\r\n : { as: 'span' }) }, link.text))))))))),\r\n cols.two.length ? (React.createElement(S.LinkColumn, null, cols.two.map((group, index) => (React.createElement(S.LinkGroup, { key: `${id}-0${index}-level-three-col-2` }, group.map((link) => (React.createElement(\"li\", { key: link.id },\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.LevelThreeLink, { ...(link.url && link.url !== '' && link.url !== null\r\n ? { href: link.url, target: link.target, tabIndex }\r\n : { as: 'span' }) }, link.text)))))))))) : null));\r\n }\r\n};\r\nexport default DesktopNavigation;\r\n","import { cubicEaseOut, shouldAnimate, transition } from '@helpers/animate';\r\nimport brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { ButtonReset } from '@helpers/global';\r\nimport { SitePadding, SitePaddingMobile, siteWide, SiteWidth } from '@helpers/grid';\r\nimport { Layers } from '@helpers/layers';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport srOnly from '@helpers/srOnly';\r\nimport { paragraphRegular } from '@helpers/typography';\r\nimport { ButtonStyles } from '@stories/Components/Buttons/GeneralButton/Button.styles';\r\nimport BreadcrumbStyles from '@stories/Components/General/Breadcrumb/Breadcrumb.styles';\r\nimport UmbracoFormStyles from '@stories/Components/UmbracoForm/UmbracoForm.styles';\r\nimport { rgba } from 'polished';\r\nimport styled, { createGlobalStyle, css } from 'styled-components';\r\nconst GlobalStyles = createGlobalStyle `\r\n :root {\r\n --headerHeight: ${fluid(113, 153, Device.Tablet, Device.TabletLarge)};\r\n --stickyHeaderHeight: var(--headerHeight);\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --headerHeight: ${fluid(190, 199, Device.TabletLarge)};\r\n --stickyHeaderHeight: 105px;\r\n }\r\n }\r\n`;\r\nconst BackgroundOverlay = styled.button `\r\n ${ButtonReset};\r\n ${transition('opacity', 0.5)};\r\n\r\n position: fixed;\r\n z-index: -1;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n width: 100%;\r\n background-color: ${rgba(brand.tint.purple, 0.3)};\r\n cursor: zoom-out;\r\n\r\n &[data-active='false'] {\r\n opacity: 0;\r\n pointer-events: none;\r\n visibility: hidden;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst Container = styled.header `\r\n ${siteWide};\r\n\r\n display: flex;\r\n flex-direction: column;\r\n position: fixed;\r\n top: 0;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n z-index: ${Layers.Header};\r\n background: transparent;\r\n\r\n ${BreadcrumbStyles.Container} {\r\n ${transition('max-height')};\r\n overflow: hidden;\r\n max-height: 60px;\r\n position: relative;\r\n z-index: 0;\r\n }\r\n\r\n &[data-sticky='true'] {\r\n ${BreadcrumbStyles.Container} {\r\n max-height: 0;\r\n }\r\n }\r\n\r\n &[data-sticky='false'] {\r\n position: absolute;\r\n }\r\n\r\n .equally-ai___high-saturation & {\r\n filter: saturate(200%);\r\n }\r\n\r\n .equally-ai___reverse-contrast & {\r\n filter: invert(100%);\r\n }\r\n\r\n .equally-ai___monochrome-contrast & {\r\n filter: grayscale(100%);\r\n }\r\n\r\n.equally-ai___reverse-contrast.equally-ai___monochrome-contrast & {\r\n filter: grayscale(100%) invert(100%);\r\n}\r\n`;\r\nconst TopLinksWrapper = styled.section `\r\n margin-left: auto;\r\n display: inline-flex;\r\n background-color: ${brand.white};\r\n\r\n // ensure z-index so overlapping link hover state displays correctly\r\n position: relative;\r\n z-index: 2;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${transition('opacity', 0.66)};\r\n\r\n max-height: 35px;\r\n\r\n ${Container}[data-sticky='true'] & {\r\n opacity: 0;\r\n pointer-events: none;\r\n }\r\n }\r\n`;\r\nconst QuickLinks = styled.div `\r\n display: none;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: inline-flex;\r\n background-color: ${brand.secondary.red};\r\n gap: 20px;\r\n padding: 0 20px;\r\n }\r\n`;\r\nconst topLinkStyles = css `\r\n ${fonts.graphikCompact.medium};\r\n\r\n height: ${fluid(30, 35)};\r\n display: inline-flex;\r\n align-items: center;\r\n font-size: 18px;\r\n line-height: 24px;\r\n color: ${brand.primary.purple};\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n`;\r\nconst QuickLink = styled.a `\r\n ${transition('color')};\r\n ${topLinkStyles};\r\n\r\n position: relative;\r\n text-decoration: none;\r\n padding: 4px 0 6px;\r\n\r\n &::after {\r\n ${transition('background-size')};\r\n\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n height: 3px;\r\n width: 100%;\r\n background: transparent;\r\n background-image: linear-gradient(\r\n to right,\r\n ${brand.primary.offWhite},\r\n ${brand.primary.offWhite}\r\n );\r\n background-repeat: no-repeat;\r\n background-size: 0% 100%;\r\n transform: translateY(100%);\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n color: ${brand.primary.offWhite};\r\n\r\n &::after {\r\n background-size: 100% 100%;\r\n }\r\n }\r\n`;\r\nconst AccessibilityBtn = styled.button `\r\n ${transition('background-color, color')};\r\n ${ButtonReset};\r\n ${topLinkStyles};\r\n\r\n background-color: ${brand.primary.offWhite};\r\n padding: 0 ${fluid(10, 20)};\r\n gap: 8px;\r\n border-bottom: 3px solid transparent;\r\n position: relative;\r\n\r\n > span {\r\n padding: 5px 0;\r\n }\r\n\r\n > svg {\r\n display: block;\r\n height: ${fluid(18, 22)};\r\n width: ${fluid(18, 22)};\r\n }\r\n\r\n &::after {\r\n ${transition('background-size')};\r\n\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n bottom: -6px;\r\n left: 0;\r\n height: 3px;\r\n width: 100%;\r\n background: transparent;\r\n background-image: linear-gradient(\r\n to right,\r\n ${brand.primary.offWhite},\r\n ${brand.primary.offWhite}\r\n );\r\n background-repeat: no-repeat;\r\n background-size: 0% 100%;\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n background-color: ${brand.primary.purple};\r\n color: ${brand.primary.offWhite};\r\n\r\n &::after {\r\n background-size: 100% 100%;\r\n }\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n > span {\r\n ${srOnly};\r\n }\r\n }\r\n`;\r\nconst MainWrapper = styled.section `\r\n position: relative;\r\n z-index: 1;\r\n background-color: ${brand.primary.purple};\r\n padding: ${fluid(18, 30)} ${fluid(20, 30)};\r\n display: grid;\r\n grid-template-columns: ${fluid(135, 270)} auto;\r\n gap: 0 16px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-template-columns: repeat(36, 1fr);\r\n padding-bottom: 0;\r\n gap: 26px 12px;\r\n\r\n ${Container}[data-sticky='true'] & {\r\n padding-top: 28px;\r\n padding-top: 10px;\r\n }\r\n }\r\n\r\n /* sticky nav glow */\r\n &::after {\r\n ${transition('opacity', 0.66)};\r\n\r\n position: absolute;\r\n z-index: -1;\r\n pointer-events: none;\r\n content: '';\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n box-shadow: 0 0 10px 5px rgba(255, 255, 255, 0.33);\r\n opacity: 0;\r\n\r\n ${Container}[data-sticky='true'] & {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\nconst Logo = styled.a `\r\n color: ${brand.white};\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n > svg {\r\n ${transition('max-width', 0.66)};\r\n\r\n display: block;\r\n max-width: ${fluid(135, 270)};\r\n width: 100%;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: 1 / span 7;\r\n grid-row: span 2;\r\n\r\n ${Container}[data-sticky='true'] & {\r\n grid-column: 1 / span 4;\r\n grid-row: span 1;\r\n\r\n > svg {\r\n max-width: 135px;\r\n }\r\n }\r\n }\r\n`;\r\nconst MobileButtons = styled.div `\r\n display: flex;\r\n align-items: center;\r\n gap: 16px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst MenuButton = styled.button `\r\n ${ButtonReset};\r\n ${fonts.graphikCompact.regular};\r\n ${transition('opacity')};\r\n\r\n display: inline-flex;\r\n align-items: flex-end;\r\n gap: 6px;\r\n color: ${brand.primary.offWhite};\r\n font-size: 16px;\r\n line-height: 20px;\r\n padding: 4px 0;\r\n margin: 0 0 0 auto;\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n opacity: 0.66;\r\n }\r\n`;\r\nconst MenuIcon = styled.span `\r\n display: block;\r\n position: relative;\r\n width: 24px;\r\n height: 16px;\r\n\r\n > span {\r\n ${transition('transform, opacity')};\r\n\r\n display: block;\r\n position: absolute;\r\n height: 2px;\r\n width: 50%;\r\n background-color: currentColor;\r\n\r\n &:nth-child(even) {\r\n left: 50%;\r\n border-radius: 0 2px 2px 0;\r\n }\r\n\r\n &:nth-child(odd) {\r\n left: 0px;\r\n border-radius: 2px 0 0 2px;\r\n }\r\n\r\n &:nth-child(1),\r\n &:nth-child(2) {\r\n top: 0;\r\n }\r\n\r\n &:nth-child(3),\r\n &:nth-child(4) {\r\n top: 7px;\r\n }\r\n\r\n &:nth-child(5),\r\n &:nth-child(6) {\r\n top: 14px;\r\n }\r\n }\r\n\r\n ${MenuButton}[data-active='true'] & {\r\n > span {\r\n &:nth-child(3),\r\n &:nth-child(4) {\r\n opacity: 0;\r\n }\r\n\r\n &:nth-child(3) {\r\n transform: translateX(-100%);\r\n }\r\n\r\n &:nth-child(4) {\r\n transform: translateX(100%);\r\n }\r\n\r\n &:nth-child(1) {\r\n transform: translate(2px, 150%) rotate(45deg);\r\n }\r\n\r\n &:nth-child(2) {\r\n transform: translate(-2px, 150%) rotate(-45deg);\r\n }\r\n\r\n &:nth-child(5) {\r\n transform: translate(2px, -150%) rotate(-45deg);\r\n }\r\n\r\n &:nth-child(6) {\r\n transform: translate(-2px, -150%) rotate(45deg);\r\n }\r\n }\r\n }\r\n`;\r\nconst SearchCtaWrapper = styled.div `\r\n display: flex;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n ${transition('max-height', 0.66)};\r\n\r\n max-height: 0;\r\n grid-column: span 2;\r\n overflow: hidden;\r\n\r\n &[data-open='true'] {\r\n max-height: ${fluid(62, 64)};\r\n }\r\n\r\n &[data-show-suggestions='true'] {\r\n overflow: visible;\r\n }\r\n\r\n ${ButtonStyles.Button} {\r\n display: none;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n justify-content: flex-end;\r\n grid-column: 14 / span 23;\r\n gap: 12px;\r\n\r\n ${ButtonStyles.Button} {\r\n flex-shrink: 0;\r\n }\r\n\r\n ${Container}[data-sticky='true'] & {\r\n grid-row: 1 / span 1;\r\n\r\n ${ButtonStyles.Button}:nth-of-type(2) {\r\n display: none;\r\n }\r\n }\r\n }\r\n`;\r\nconst SearchForm = styled.form `\r\n position: relative;\r\n height: ${fluid(46, 48)};\r\n width: 100%;\r\n margin: 16px 0 0;\r\n border: 1px solid ${brand.primary.offWhite};\r\n border-radius: 5000px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${transition('max-width', 0.66)};\r\n\r\n max-width: 525px;\r\n margin: 0;\r\n\r\n ${Container}[data-sticky='true'] & {\r\n max-width: ${fluid(46, 48)};\r\n }\r\n\r\n ${SearchCtaWrapper}[data-open='true'] & {\r\n max-width: 825px;\r\n\r\n /* Ensure search sits above navigation links */\r\n z-index: 1;\r\n }\r\n }\r\n`;\r\nconst SearchInput = styled.input `\r\n ${fonts.graphikCompact.regular};\r\n\r\n height: 100%;\r\n width: 100%;\r\n border: 0;\r\n border-radius: 5000px;\r\n font-size: ${fluid(16, 18)};\r\n line-height: ${fluid(20, 24)};\r\n color: ${brand.primary.offWhite};\r\n background-color: transparent;\r\n margin: 0;\r\n padding: 10px 52px 13px 20px;\r\n\r\n &::placeholder {\r\n opacity: 0.66;\r\n }\r\n\r\n ${Container}[data-sticky='true'] & {\r\n display: none;\r\n }\r\n\r\n ${SearchCtaWrapper}[data-open='true'] & {\r\n display: block;\r\n }\r\n`;\r\nconst SearchButton = styled.button `\r\n ${ButtonReset};\r\n ${transition('opacity, transform')};\r\n\r\n display: grid;\r\n place-content: center;\r\n height: 40px;\r\n width: 40px;\r\n color: ${brand.primary.offWhite};\r\n border-radius: 5000px;\r\n\r\n > svg {\r\n ${transition('opacity')};\r\n\r\n display: block;\r\n height: ${fluid(16, 22)};\r\n width: ${fluid(16, 22)};\r\n grid-area: 1 / 1;\r\n }\r\n\r\n > svg:nth-child(2) {\r\n color: ${brand.secondary.red};\r\n }\r\n\r\n &[data-active='true'] {\r\n > svg:nth-child(1) {\r\n opacity: 0;\r\n visibility: hidden;\r\n pointer-events: none;\r\n }\r\n }\r\n\r\n &[data-active='false'] {\r\n > svg:nth-child(2) {\r\n opacity: 0;\r\n visibility: hidden;\r\n pointer-events: none;\r\n }\r\n }\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n opacity: 0.66;\r\n }\r\n\r\n ${SearchForm} & {\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n\r\n &:nth-of-type(1) {\r\n right: 8px;\r\n\r\n ${Container}[data-sticky='true'] & {\r\n opacity: 0;\r\n }\r\n\r\n ${SearchCtaWrapper}[data-open='true'] & {\r\n opacity: 1;\r\n z-index: 2;\r\n }\r\n }\r\n\r\n &:nth-of-type(2) {\r\n opacity: 0;\r\n left: 3px;\r\n visibility: hidden;\r\n pointer-events: none;\r\n\r\n &[data-active='true'] {\r\n transform: translate(-133%, -50%);\r\n }\r\n\r\n ${Container}[data-sticky='true'] & {\r\n opacity: 1;\r\n z-index: 2;\r\n visibility: visible;\r\n pointer-events: all;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n opacity: 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ${MobileButtons} & {\r\n border: 2px solid ${brand.primary.offWhite};\r\n }\r\n`;\r\nconst SearchError = styled(UmbracoFormStyles.Error) `\r\n ${fonts.graphikCompact.medium};\r\n\r\n position: absolute;\r\n top: 0;\r\n left: 50%;\r\n transform: translate(-50%, -9px);\r\n font-size: ${fluid(13, 14)};\r\n line-height: 22px;\r\n letter-spacing: 0.075em;\r\n color: ${brand.secondary.red};\r\n background: ${brand.primary.purple};\r\n padding: 0 4px;\r\n white-space: nowrap;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${transition('opacity')};\r\n\r\n left: auto;\r\n right: 42px;\r\n transform: translateY(-9px);\r\n }\r\n\r\n /* Fade in error message when populated */\r\n ${shouldAnimate(css `\r\n opacity: 0;\r\n animation: 350ms ${cubicEaseOut} forwards fadeIn;\r\n animation-delay: 50ms;\r\n\r\n /* Ennsure is it hidden when sticky search is closed */\r\n @media ${from(Device.TabletLarge)} {\r\n ${Container}[data-sticky='true'] & {\r\n animation-fill-mode: backwards;\r\n }\r\n\r\n ${SearchCtaWrapper}[data-open='true'] & {\r\n animation-fill-mode: forwards;\r\n }\r\n }\r\n `)}\r\n\r\n @keyframes fadeIn {\r\n from {\r\n opacity: 0;\r\n }\r\n\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\nconst Autosuggest = styled.ul `\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n z-index: 2;\r\n width: 100%;\r\n`;\r\nconst AutosuggestOption = styled.button `\r\n ${ButtonReset};\r\n ${transition('color')};\r\n ${paragraphRegular};\r\n\r\n display: block;\r\n width: calc(100% - 36px);\r\n color: ${brand.primary.purple};\r\n background-color: ${brand.primary.offWhite};\r\n text-align: left;\r\n padding: 5px 7px 7px;\r\n margin: 0 auto;\r\n border-bottom: 1px solid ${rgba(brand.tint.purple, 0.2)};\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n color: ${brand.secondary.red};\r\n }\r\n\r\n li:last-of-type & {\r\n border: 0;\r\n }\r\n`;\r\nconst AutosuggestLink = styled.a `\r\n ${transition('color')};\r\n ${paragraphRegular};\r\n\r\n display: block;\r\n width: calc(100% - 36px);\r\n color: ${brand.primary.purple};\r\n background-color: ${brand.primary.offWhite};\r\n text-align: left;\r\n padding: 5px 7px 7px;\r\n margin: 0 auto;\r\n border-bottom: 1px solid ${rgba(brand.tint.purple, 0.2)};\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-style: solid;\r\n outline-width: 2px;\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n color: ${brand.secondary.red};\r\n }\r\n\r\n li:last-of-type & {\r\n border: 0;\r\n }\r\n`;\r\nconst DesktopNavigation = styled.div `\r\n display: none;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${transition('opacity')};\r\n\r\n display: inline-flex;\r\n grid-column: 8 / span 29;\r\n height: 60px;\r\n\r\n ${Container}[data-sticky='true'] & {\r\n grid-column: 5 / span 26;\r\n grid-row: 1 / span 1;\r\n\r\n &[data-search-open='true'] {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n ${Container}[data-sticky='true'][data-logged-in='true'] & {\r\n grid-column: 5 / span 25;\r\n }\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n ${Container}[data-sticky='true'] & {\r\n grid-column: 5 / span 27;\r\n }\r\n\r\n ${Container}[data-sticky='true'][data-logged-in='true'] & {\r\n grid-column: 5 / span 26;\r\n }\r\n }\r\n`;\r\nconst StickyCta = styled.div `\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n padding: ${fluid(12, 14)} ${fluid(18, 24)} ${fluid(12, 14)} ${fluid(75, 75)};\r\n background-color: ${brand.primary.purple};\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 16px;\r\n z-index: ${Layers.Header};\r\n\r\n ${ButtonStyles.Button} {\r\n flex-shrink: 0;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst StickyCtaText = styled.p `\r\n ${paragraphRegular};\r\n\r\n color: ${brand.primary.offWhite};\r\n margin-bottom: 0;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n`;\r\nconst BackToTop = styled.button `\r\n --sitePadding: ${fluid(SitePaddingMobile, SitePadding)};\r\n --siteWidth: ${SiteWidth}px;\r\n\r\n ${ButtonReset};\r\n ${transition('opacity, transform, grid-template-rows', 0.6)};\r\n ${fonts.graphikCompact.regular};\r\n\r\n color: ${brand.primary.offWhite};\r\n font-size: 16px;\r\n line-height: 20px;\r\n text-transform: uppercase;\r\n position: fixed;\r\n right: var(--sitePadding);\r\n bottom: 0;\r\n opacity: 0;\r\n transform: translateX(100%);\r\n z-index: ${Layers.Header};\r\n background-color: ${brand.primary.purple};\r\n padding: 0 6px;\r\n\r\n /* \r\n Force text and icon to overlap and \r\n position with translate to prevent \r\n max-height animation moving the text\r\n */\r\n display: grid;\r\n align-items: center;\r\n grid-template-rows: 26px 24px 6px;\r\n\r\n > span {\r\n grid-area: 2 / 1;\r\n transform: translateY(100%);\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n ${srOnly};\r\n }\r\n }\r\n\r\n &[data-visible='true'] {\r\n opacity: 1;\r\n transform: none;\r\n }\r\n\r\n /* Mobile click styles - button should mimic press */\r\n @media ${until(Device.TabletLarge)} {\r\n ${transition('transform', 0.15)};\r\n\r\n &:active {\r\n transform: translateY(1.5px);\r\n }\r\n }\r\n\r\n /* Add extra space beneath to compensate for mobile sticky CTA banner */\r\n @media ${until(Device.TabletLarge)} {\r\n &[data-has-cta='true'] {\r\n bottom: ${fluid(92, 96)};\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-template-rows: 26px 54px 9px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n\r\n &.focus-ring,\r\n &:hover {\r\n grid-template-rows: 32px 54px 9px;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n &[data-mobile-only='true'] {\r\n display: none;\r\n }\r\n }\r\n\r\n @media ${from(Device.ActualDesktop)} {\r\n right: calc((100% - var(--siteWidth)) / 2);\r\n }\r\n`;\r\nconst BackToTopIcon = styled.div `\r\n ${transition('max-height')};\r\n\r\n grid-area: 2 / 1;\r\n margin: 0 auto;\r\n display: grid;\r\n place-content: center;\r\n border: 2px solid currentColor;\r\n border-radius: 5000px;\r\n width: 46px;\r\n max-height: 46px;\r\n height: 100%;\r\n transform-origin: bottom;\r\n transform: translateY(-40%);\r\n\r\n > svg {\r\n ${transition('transform')};\r\n\r\n grid-area: 1 / 1;\r\n display: block;\r\n width: 9px;\r\n transform: rotate(-90deg) translateX(-25%);\r\n }\r\n\r\n ${BackToTop}.focus-ring &,\r\n ${BackToTop}:hover & {\r\n max-height: 54px;\r\n\r\n > svg {\r\n transform: rotate(-90deg) translateX(6px);\r\n }\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n border: 0;\r\n max-height: 54px;\r\n\r\n > svg {\r\n transform: rotate(-90deg) translateX(6px);\r\n }\r\n }\r\n`;\r\nconst HoverLine = styled.div `\r\n ${transition('transform')};\r\n\r\n grid-area: 1 / 1;\r\n margin: 0 auto;\r\n width: 3px;\r\n height: 18px;\r\n transform: scaleY(0);\r\n background-color: ${brand.primary.offWhite};\r\n\r\n ${BackToTop}.focus-ring &,\r\n ${BackToTop}:hover & {\r\n transform: scaleY(1);\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n transform: scaleY(1);\r\n }\r\n`;\r\nconst HeaderStyles = {\r\n AccessibilityBtn,\r\n Autosuggest,\r\n AutosuggestLink,\r\n AutosuggestOption,\r\n Container,\r\n DesktopNavigation,\r\n GlobalStyles,\r\n Logo,\r\n MainWrapper,\r\n MenuButton,\r\n MenuIcon,\r\n MobileButtons,\r\n QuickLink,\r\n QuickLinks,\r\n SearchButton,\r\n SearchCtaWrapper,\r\n SearchError,\r\n SearchForm,\r\n SearchInput,\r\n TopLinksWrapper,\r\n StickyCta,\r\n StickyCtaText,\r\n BackToTop,\r\n BackToTopIcon,\r\n HoverLine,\r\n BackgroundOverlay,\r\n};\r\nexport default HeaderStyles;\r\n","import { transition } from '@helpers/animate';\r\nimport brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { ButtonReset } from '@helpers/global';\r\nimport { Layers } from '@helpers/layers';\r\nimport { Device, from } from '@helpers/media';\r\nimport scrollbars from '@helpers/scrollbars';\r\nimport styled from 'styled-components';\r\nconst Container = styled.nav `\r\n ${transition('transform', 0.66)};\r\n\r\n position: fixed;\r\n z-index: ${Layers.NavigationTray};\r\n top: var(--headerHeight);\r\n left: 0;\r\n height: calc(100% - var(--headerHeight));\r\n width: 100%;\r\n background-color: ${brand.primary.purple};\r\n\r\n &[data-active='closed'] {\r\n transform: translateX(100%);\r\n }\r\n\r\n &[data-active='child-open'] {\r\n transform: translateX(-100%);\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n padding: 80px ${fluid(22, 246, Device.Mobile, Device.TabletLarge)} 30px;\r\n height: 100%;\r\n`;\r\nconst Scroll = styled.div `\r\n ${scrollbars};\r\n\r\n overflow: auto;\r\n height: 100%;\r\n padding-right: 24px;\r\n\r\n &[data-child='true'] {\r\n height: calc(100% - 58px);\r\n }\r\n`;\r\nconst Bottom = styled.div `\r\n border-top: 1px solid ${brand.secondary.red};\r\n margin: 22px 0 0;\r\n padding: 25px 0 0;\r\n`;\r\nconst ButtonsWrapper = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 12px;\r\n margin: 27px 0 0;\r\n`;\r\nconst LinkGroup = styled.div `\r\n margin: 0 0 28px;\r\n`;\r\nconst Link = styled.a `\r\n ${ButtonReset};\r\n ${fonts.graphikCompact.medium};\r\n\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n gap: 24px;\r\n color: ${brand.primary.offWhite};\r\n font-size: 18px;\r\n line-height: 24px;\r\n text-decoration: none;\r\n text-align: left;\r\n margin: 0 0 20px;\r\n\r\n > svg {\r\n display: block;\r\n height: 12px;\r\n min-width: 8px;\r\n max-width: 8px;\r\n }\r\n\r\n button& {\r\n ${transition('transform', 0.15)};\r\n\r\n &.focus-ring,\r\n &:active {\r\n transform: translateY(1.5px);\r\n }\r\n }\r\n\r\n ${LinkGroup} & {\r\n font-size: 16px;\r\n line-height: 20px;\r\n margin-bottom: 16px;\r\n\r\n &:not(:first-child) {\r\n ${fonts.graphikCompact.regular};\r\n }\r\n }\r\n\r\n &[data-highlight='true'] {\r\n color: ${brand.secondary.red};\r\n font-size: 18px;\r\n line-height: 24px;\r\n }\r\n`;\r\nconst BackButton = styled.button `\r\n ${ButtonReset};\r\n ${transition('transform', 0.15)};\r\n ${fonts.graphikCompact.medium};\r\n\r\n display: inline-flex;\r\n align-items: center;\r\n width: 100%;\r\n gap: 24px;\r\n color: ${brand.primary.offWhite};\r\n font-size: 16px;\r\n line-height: 20px;\r\n margin: 0 0 36px;\r\n\r\n > svg {\r\n display: block;\r\n height: 12px;\r\n transform: rotate(180deg);\r\n }\r\n\r\n &.focus-ring,\r\n &:active {\r\n transform: translateY(1.5px);\r\n }\r\n`;\r\nconst MobileNavigationStyles = {\r\n BackButton,\r\n Bottom,\r\n ButtonsWrapper,\r\n Container,\r\n Inner,\r\n Link,\r\n LinkGroup,\r\n Scroll,\r\n};\r\nexport default MobileNavigationStyles;\r\n","import { getSvgFromSystem, SystemIcon } from '@helpers/systemIcons';\r\nimport { LinkButton } from '@stories/Components/Buttons/GeneralButton/Button';\r\nimport * as React from 'react';\r\nimport { FocusRing } from 'react-aria';\r\nimport S from './MobileNavigation.styles';\r\nconst MobileNavigation = (props) => {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(S.Container, { \"aria-label\": \"Mobile menu\", \"data-active\": props.active ? (props.activeLink !== '' ? 'child-open' : 'open') : 'closed' },\r\n React.createElement(S.Inner, null,\r\n React.createElement(S.Scroll, null,\r\n props.links.map((link) => (React.createElement(FocusRing, { key: `mobile-${link.id}`, focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Link, { id: `mobile-${link.id}-top-link`, ...(link.children.length > 0\r\n ? { as: 'button', onClick: () => handleTopLinkClick(link) }\r\n : { href: link.url, target: link.target }), \"data-active\": props.activeLink === link.id },\r\n link.text,\r\n \" \",\r\n getSvgFromSystem(SystemIcon.Chevron))))),\r\n React.createElement(S.Bottom, null,\r\n props.quickLinks.map((link) => (React.createElement(FocusRing, { key: `mobile-${link.id}`, focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Link, { href: link.url, target: link.target },\r\n link.text,\r\n \" \",\r\n getSvgFromSystem(SystemIcon.Chevron))))),\r\n React.createElement(S.ButtonsWrapper, { \"data-variant\": \"dark\" },\r\n props.joinCta && (React.createElement(LinkButton, { branding: \"solid\", href: props.joinCta.url, target: props.joinCta.target, title: props.joinCta.text ?? 'Join Us' })),\r\n React.createElement(LinkButton, { branding: \"outline\", href: props.accountCta.url, target: props.accountCta.target, title: props.accountCta.text\r\n ? props.accountCta.text\r\n : props.joinCta\r\n ? 'My RCR Login'\r\n : 'Go to MyRCR' })))))),\r\n props.links.map((link) => (link.children.length > 0 ? renderLevelTwo(link) : null))));\r\n async function handleTopLinkClick(link) {\r\n if (link.id === props.activeLink) {\r\n props.setActiveLink('');\r\n props.setActiveSecond('');\r\n }\r\n else if (props.activeLink !== '') {\r\n props.setActiveSecond('');\r\n props.setActiveLink(link.id);\r\n }\r\n else {\r\n props.setActiveSecond('');\r\n props.setActiveLink(link.id);\r\n }\r\n }\r\n async function handleSecondLevelClick(id) {\r\n if (id === props.activeSecond) {\r\n props.setActiveSecond('');\r\n }\r\n else if (props.activeSecond !== '') {\r\n props.setActiveSecond('');\r\n props.setActiveSecond(id);\r\n }\r\n else {\r\n props.setActiveSecond(id);\r\n }\r\n }\r\n function renderLevelTwo(link) {\r\n return (React.createElement(React.Fragment, { key: `mobile-${link.id}-level-wrapper` },\r\n React.createElement(S.Container, { as: \"div\", \"aria-labelledby\": `mobile-${link.id}-top-link`, \"data-active\": props.activeLink === link.id\r\n ? props.activeSecond !== ''\r\n ? 'child-open'\r\n : 'open'\r\n : 'closed', \"data-level\": link.children.length > 1 ? 2 : 3 },\r\n React.createElement(S.Inner, null,\r\n React.createElement(S.BackButton, { onClick: () => props.setActiveLink('') },\r\n getSvgFromSystem(SystemIcon.Chevron),\r\n \" Back\"),\r\n React.createElement(S.Scroll, { \"data-child\": true }, link.children.length > 1 ? (React.createElement(React.Fragment, null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Link, { href: link.url, target: link.target, \"data-highlight\": true }, link.text)),\r\n renderLevelTwoLinks(link.children))) : (React.createElement(React.Fragment, null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Link, { href: link.url, target: link.target, \"data-highlight\": true }, link.text)),\r\n renderLevelThreeLinks(link.id, link.children[0].children)))))),\r\n link.children.length > 1 &&\r\n link.children.map((levelTwo) => (React.createElement(S.Container, { \"aria-labelledby\": `mobile-${levelTwo.id}-level-two-link`, as: \"div\", key: `mobile-${levelTwo.id}-child-links`, \"data-active\": props.activeSecond === levelTwo.id ? 'open' : 'closed', \"data-level\": 3 },\r\n React.createElement(S.Inner, null,\r\n React.createElement(S.BackButton, { onClick: () => props.setActiveSecond('') },\r\n getSvgFromSystem(SystemIcon.Chevron),\r\n \" Back\"),\r\n React.createElement(S.Scroll, { \"data-child\": true },\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Link, { href: levelTwo.url, target: levelTwo.target, \"data-highlight\": true },\r\n levelTwo.text,\r\n \" \",\r\n getSvgFromSystem(SystemIcon.Chevron))),\r\n renderLevelThreeLinks(levelTwo.id, levelTwo.children))))))));\r\n }\r\n function renderLevelTwoLinks(links) {\r\n return (React.createElement(React.Fragment, null, links.map((link) => (React.createElement(FocusRing, { key: `mobile-${link.id}`, focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Link, { id: `mobile-${link.id}-level-two-link`, ...(link.children.one.length > 0\r\n ? { as: 'button', onClick: () => handleSecondLevelClick(link.id) }\r\n : { href: link.url, target: link.target }) },\r\n link.text,\r\n \" \",\r\n getSvgFromSystem(SystemIcon.Chevron)))))));\r\n }\r\n function renderLevelThreeLinks(id, cols) {\r\n return (React.createElement(React.Fragment, null,\r\n cols.one.map((group, index) => (React.createElement(S.LinkGroup, { key: `mobile-${id}-0${index}-level-three-col-1` }, group.map((link) => (React.createElement(FocusRing, { key: `mobile-${link.id}`, focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Link, { ...(!!link && link.url !== ''\r\n ? { href: link.url, target: link.target }\r\n : { as: 'span' }) }, link.text))))))),\r\n cols.two.length\r\n ? cols.two.map((group, index) => (React.createElement(S.LinkGroup, { key: `mobile-${id}-0${index}-level-three-col-2` }, group.map((link) => (React.createElement(FocusRing, { key: `mobile-${link.id}`, focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Link, { ...(link.url !== ''\r\n ? { href: link.url, target: link.target }\r\n : { as: 'span' }) }, link.text)))))))\r\n : null));\r\n }\r\n};\r\nexport default MobileNavigation;\r\n","import { scrollTo } from '@helpers/animate';\r\nimport { API_URLS } from '@helpers/api';\r\nimport SvgClipPaths from '@helpers/svgClipPaths';\r\nimport { getSvgFromSystem, SystemIcon } from '@helpers/systemIcons';\r\nimport { useApi } from '@hooks/useApi';\r\nimport { useForm, validateNotWhitespaceOnly } from '@hooks/useForm';\r\nimport SvgLogo from '@img/primary-logo.svg';\r\nimport { LinkButton } from '@stories/Components/Buttons/GeneralButton/Button';\r\nimport Breadcrumb from '@stories/Components/General/Breadcrumb/Breadcrumb';\r\nimport SkipLink from '@stories/Components/General/SkipLink/SkipLink';\r\nimport qs from 'qs';\r\nimport * as React from 'react';\r\nimport { FocusRing } from 'react-aria';\r\nimport DesktopNavigation from './DesktopNavigation/DesktopNavigation';\r\nimport S from './Header.styles';\r\nimport MobileNavigation from './MobileNavigation/MobileNavigation';\r\nconst Header = (props) => {\r\n const [menuOpen, setMenuOpen] = React.useState(false);\r\n const [searchOpen, setSearchOpen] = React.useState(false);\r\n const [scrollActive, setScrollActive] = React.useState(false);\r\n const [showBackToTop, setShowBackToTop] = React.useState(false);\r\n const [activeLink, setActiveLink] = React.useState('');\r\n const [activeSecond, setActiveSecond] = React.useState('');\r\n React.useEffect(() => {\r\n const handleScroll = () => {\r\n setShowSuggestions(false);\r\n if (window.scrollY >= 650) {\r\n setScrollActive(true);\r\n setShowBackToTop(true);\r\n }\r\n else if (window.scrollY >= 100) {\r\n setScrollActive(true);\r\n setShowBackToTop(false);\r\n }\r\n else {\r\n setScrollActive(false);\r\n setShowBackToTop(false);\r\n }\r\n };\r\n window.addEventListener('scroll', handleScroll);\r\n return () => {\r\n window.removeEventListener('scroll', handleScroll);\r\n };\r\n }, []);\r\n const [searchTerm, setSearchTerm] = React.useState('');\r\n const [showSuggestions, setShowSuggestions] = React.useState(false);\r\n const [selectedTerm, setSelectedTerm] = React.useState('');\r\n const result = useApi({\r\n url: `${API_URLS.searchTypeahead}?${qs.stringify({ search: searchTerm })}`,\r\n });\r\n const { refContainer, serverErrors, status: formStatus, onSubmit, useReactHookFormReturn: { register, watch, setValue, formState: { errors }, }, } = useForm({\r\n endpoint: API_URLS.searchSubmit,\r\n mode: 'json',\r\n });\r\n const { search: searchValue } = watch();\r\n React.useEffect(() => {\r\n if (searchValue &&\r\n searchValue.length > 1 &&\r\n searchTerm !== searchValue &&\r\n searchValue !== selectedTerm) {\r\n setSearchTerm(searchValue);\r\n setShowSuggestions(true);\r\n }\r\n else {\r\n setShowSuggestions(false);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [searchValue]);\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(S.GlobalStyles, null),\r\n React.createElement(SvgClipPaths, null),\r\n React.createElement(SkipLink, { type: \"header\" }),\r\n React.createElement(S.Container, { \"data-sticky\": scrollActive && !props.hasInnerPageNav, \"data-logged-in\": !props.joinCta },\r\n React.createElement(S.TopLinksWrapper, null,\r\n React.createElement(S.QuickLinks, null, props.quickLinks.length > 0 &&\r\n props.quickLinks.map((ql) => (React.createElement(FocusRing, { key: ql.id, focusRingClass: \"focus-ring\" },\r\n React.createElement(S.QuickLink, { href: ql.url, target: ql.target }, ql.text))))),\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.AccessibilityBtn, { className: \"accessibility-activation-button\" },\r\n getSvgFromSystem(SystemIcon.Accessibility),\r\n \" \",\r\n React.createElement(\"span\", null, \"Accessibility\")))),\r\n React.createElement(S.MainWrapper, null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Logo, { href: \"/\", \"aria-label\": \"Go to Homepage\" },\r\n React.createElement(SvgLogo, null))),\r\n React.createElement(S.MobileButtons, null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.MenuButton, { \"data-active\": menuOpen, onClick: () => {\r\n if (menuOpen) {\r\n setMenuOpen(false);\r\n setActiveLink('');\r\n setActiveSecond('');\r\n }\r\n else {\r\n setMenuOpen(true);\r\n setSearchOpen(false);\r\n }\r\n } },\r\n React.createElement(S.MenuIcon, null,\r\n React.createElement(\"span\", null),\r\n React.createElement(\"span\", null),\r\n React.createElement(\"span\", null),\r\n React.createElement(\"span\", null),\r\n React.createElement(\"span\", null),\r\n React.createElement(\"span\", null)),\r\n \"Menu\")),\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.SearchButton, { \"aria-label\": `${searchOpen ? 'Hide' : 'Show'} Search`, \"data-active\": searchOpen, onClick: () => {\r\n if (searchOpen) {\r\n setSearchOpen(false);\r\n setShowSuggestions(false);\r\n }\r\n else {\r\n setSearchOpen(true);\r\n setMenuOpen(false);\r\n setActiveLink('');\r\n setActiveSecond('');\r\n }\r\n } },\r\n getSvgFromSystem(SystemIcon.Search),\r\n getSvgFromSystem(SystemIcon.Cross)))),\r\n React.createElement(S.SearchCtaWrapper, { \"data-open\": searchOpen, \"data-show-suggestions\": showSuggestions && !!result.data, \"data-variant\": \"dark\", ref: refContainer },\r\n React.createElement(S.SearchForm, { onSubmit: onSubmit },\r\n React.createElement(S.SearchInput, { \"aria-label\": \"Keyword search\", type: \"text\", placeholder: props.searchPlaceholder, autoComplete: \"off\", ...register('search', {\r\n required: 'Please enter a search term',\r\n validate: (value) => validateNotWhitespaceOnly(value, 'Please enter a search term'),\r\n }) }),\r\n errors.search || serverErrors ? (React.createElement(S.SearchError, null,\r\n errors.search && errors.search.message,\r\n serverErrors.length > 0 && serverErrors.join('. '))) : null,\r\n showSuggestions && !!result.data && (React.createElement(S.Autosuggest, null, result.data.suggestions.map((suggestion) => (React.createElement(\"li\", { key: suggestion.id }, suggestion.url !== undefined ? (React.createElement(S.AutosuggestLink, { href: suggestion.url }, suggestion.value)) : (React.createElement(S.AutosuggestOption, { type: \"button\", onClick: (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setSelectedTerm(suggestion.value);\r\n setValue('search', suggestion.value);\r\n } }, suggestion.value))))))),\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.SearchButton, { \"aria-label\": \"Submit Search\" }, getSvgFromSystem(SystemIcon.Search))),\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.SearchButton, { \"aria-label\": `${searchOpen && scrollActive ? 'Hide' : 'Show'} Search`, \"data-active\": searchOpen, onClick: (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setSearchOpen(!searchOpen);\r\n setShowSuggestions(false);\r\n }, disabled: formStatus === 'pending' },\r\n getSvgFromSystem(SystemIcon.Search),\r\n getSvgFromSystem(SystemIcon.Cross)))),\r\n props.joinCta && (React.createElement(LinkButton, { branding: \"solid\", href: props.joinCta.url, target: props.joinCta.target, title: props.joinCta.text ?? 'Join Us' })),\r\n React.createElement(LinkButton, { branding: \"outline\", href: props.accountCta.url, target: props.accountCta.target, title: props.accountCta.text\r\n ? props.accountCta.text\r\n : props.joinCta\r\n ? 'My RCR Login'\r\n : 'Go to MyRCR' })),\r\n React.createElement(S.DesktopNavigation, { \"data-search-open\": searchOpen },\r\n React.createElement(DesktopNavigation, { activeLink: activeLink, activeSecond: activeSecond, links: props.links, setActiveLink: setActiveLink, setActiveSecond: setActiveSecond }))),\r\n React.createElement(Breadcrumb, { items: props.breadcrumb, variant: props.breadcrumbVariant ?? 'light' })),\r\n React.createElement(MobileNavigation, { accountCta: props.accountCta, active: menuOpen, activeLink: activeLink, activeSecond: activeSecond, joinCta: props.joinCta, links: props.links, quickLinks: props.quickLinks, setActiveLink: setActiveLink, setActiveSecond: setActiveSecond }),\r\n React.createElement(S.BackToTop, { \"data-has-cta\": !!props.stickyCta, \"data-mobile-only\": !props.hasInnerPageNav, \"data-visible\": showBackToTop, onClick: () => scrollTo(0) },\r\n React.createElement(S.BackToTopIcon, null,\r\n getSvgFromSystem(SystemIcon.Chevron),\r\n React.createElement(S.HoverLine, null)),\r\n React.createElement(\"span\", null, \"Back to Top\")),\r\n !!props.stickyCta && (React.createElement(S.StickyCta, { \"data-variant\": \"dark\" },\r\n React.createElement(S.StickyCtaText, null, props.stickyCta.text),\r\n React.createElement(LinkButton, { branding: \"solid\", href: props.stickyCta.link.url, title: props.stickyCta.link.text ?? '', target: props.stickyCta.link.target }))),\r\n React.createElement(S.BackgroundOverlay, { \"data-active\": activeLink !== '', onClick: () => {\r\n setActiveLink('');\r\n setActiveSecond('');\r\n } })));\r\n};\r\nexport default Header;\r\n"],"names":["aspectRatio","width","height","imageWrapperPreserveRatio","maxWidth","maxHeight","padding","fluidUnit","css","imageCoverContainer","relative","formatDateISO","value","ensureDate","toISOString","formatDate","formatString","arguments","length","undefined","date","format","removeTimeZone","Date","includes","slice","equalDates","startDate","endDate","sd","ed","toDateString","imageUrl","image","imageParams","params","center","focalPoint","top","left","paramsString","queryString","src","getSrcs","upper","lower","steps","ratio","sizes","increment","Array","fill","map","_","index","Math","ceil","getRange","size","getRetinaSrcs","dpr","props","links","React","S","Container","link","FocusRing","key","id","focusRingClass","Pill","onClick","e","_window$open","preventDefault","window","open","url","target","focus","followLink","tabIndex","pillColour","text","SvgClipPaths","style","position","zIndex","viewBox","stroke","d","className","_path","_extends","Object","assign","bind","i","source","prototype","hasOwnProperty","call","apply","this","styled","SectionWrapper","withConfig","displayName","componentId","List","ul","scrollbars","Item","li","paragraphSmall","fluid","ItemLink","a","transition","fonts","graphikCompact","semibold","items","variant","flush","item","href","title","brand","primary","purple","offWhite","ImageWrapper","div","ImageInner","Image","img","ContentWrapper","TopWrapper","TimeWrapper","span","Time","time","Pillwrapper","ContentInner","ButtonStyles","Button","Title","paragraphRegular","Subtitle","Content","p","_props$image$altText","_props$image","_props$cta$text","HighlightColours","tertiary","darkBlue","secondary","red","srcs","wide","until","Device","DesktopLarge","lineColours","sort","random","cta","type","split","srcSet","join","alt","altText","loading","SvgWheel","categories","CategoryPills","dateTime","replaceAll","subtitle","content","FakeButton","branding","getSvgFromSystem","SystemIcon","ArrowRight","nav","Desktop","from","TabletXL","TabletLarge","TopLink","ButtonReset","DesktopSmall","NavigationDropdown","SecondLevelContainer","SecondLevelList","ThirdLevelContainer","ThirdLevelList","white","ThirdLevelFirstLink","LevelTwoLink","medium","LevelThreeLink","LinkColumn","LinkGroup","CloseButton","button","FeaturedCard","fullyOpen","setFullyOpen","children","as","async","activeLink","setActiveLink","setActiveSecond","sleep","handleTopLinkClick","one","activeSecond","handleSecondLevelClick","levelTwo","renderLevelThreeLinks","featuredCard","Cross","renderNavigationDropdown","cols","group","two","GlobalStyles","createGlobalStyle","Tablet","BackgroundOverlay","rgba","tint","header","siteWide","Layers","Header","BreadcrumbStyles","TopLinksWrapper","section","QuickLinks","topLinkStyles","QuickLink","AccessibilityBtn","srOnly","MainWrapper","Logo","MobileButtons","MenuButton","regular","MenuIcon","SearchCtaWrapper","SearchForm","form","SearchInput","input","SearchButton","SearchError","UmbracoFormStyles","Error","shouldAnimate","cubicEaseOut","Autosuggest","AutosuggestOption","AutosuggestLink","DesktopNavigation","StickyCta","StickyCtaText","BackToTop","SitePaddingMobile","SitePadding","SiteWidth","ActualDesktop","BackToTopIcon","HoverLine","NavigationTray","Inner","Mobile","Scroll","Bottom","ButtonsWrapper","Link","BackButton","_props$joinCta$text","active","Chevron","quickLinks","joinCta","LinkButton","accountCta","renderLevelTwo","_props$breadcrumbVari","_props$stickyCta$link","menuOpen","setMenuOpen","searchOpen","setSearchOpen","scrollActive","setScrollActive","showBackToTop","setShowBackToTop","handleScroll","setShowSuggestions","scrollY","addEventListener","removeEventListener","searchTerm","setSearchTerm","showSuggestions","selectedTerm","setSelectedTerm","result","useApi","API_URLS","searchTypeahead","qs","search","refContainer","serverErrors","status","formStatus","onSubmit","useReactHookFormReturn","register","watch","setValue","formState","errors","useForm","endpoint","searchSubmit","mode","searchValue","SkipLink","hasInnerPageNav","ql","Accessibility","SvgLogo","Search","data","ref","placeholder","searchPlaceholder","autoComplete","required","validate","validateNotWhitespaceOnly","message","suggestions","suggestion","stopPropagation","disabled","Breadcrumb","breadcrumb","breadcrumbVariant","MobileNavigation","stickyCta","scrollTo"],"sourceRoot":""}