{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/stories/Components/Buttons/IconButton/IconButton.styles.ts","webpack:///./src/stories/Components/Buttons/IconButton/IconButton.tsx","webpack:///./src/helpers/fluid.ts","webpack:///./src/hooks/useMedia.ts","webpack:///./src/stories/Components/Buttons/NextButton/NextButton.styles.ts","webpack:///./src/stories/Components/Buttons/PrevButton/PrevButton.styles.ts","webpack:///./src/stories/Components/Cards/DocumentCard/DocumentCard.tsx","webpack:///./src/stories/Components/Buttons/Button/Button.tsx","webpack:///./src/stories/Components/Buttons/PrevButton/PrevButton.tsx","webpack:///./src/stories/Components/Buttons/NextButton/NextButton.tsx","webpack:///./src/helpers/global.ts","webpack:///./src/stories/Components/Global/Typography/Heading.tsx","webpack:///./src/img/icons/chevron-right.svg","webpack:///./src/helpers/fonts.ts","webpack:///./src/helpers/date.ts","webpack:///./src/stories/Widgets/Content/LatestNewsCarousel/LatestNewsCarousel.styles.ts","webpack:///./src/stories/Widgets/Content/LatestNewsCarousel/LatestNewsCarousel.widget.tsx","webpack:///./src/img/icons/chevron.svg","webpack:///./src/helpers/theme.ts","webpack:///./src/helpers/imageUrl.ts","webpack:///./src/img/line-pattern.svg","webpack:///./src/stories/Components/Buttons/Button/Button.styles.tsx","webpack:///./src/stories/Components/Buttons/ButtonShared.styles.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","56","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","this","oldJsonpFunction","slice","PrimaryStyles","css","brand","white","ThemeSwitch","groundforceColour","primary","base","groundforceColourHover","PrimaryAltStyles","alt","Button","styled","button","from","Device","Tablet","until","IconButton","iconComponent","className","icon","themeOption","title","otherProps","React","createElement","SBS","as","href","S","type","DEFAULT_MIN_VALUE","TabletSmall","DEFAULT_MAX_VALUE","ActualDesktop","fluid","min","max","minWidth","maxWidth","minRem","maxRem","minWidthRem","maxWidthRem","slope","yAxisIntersection","clampMin","round","clampVal","clampMax","num","Math","useMedia","queries","values","defaultValue","isSSR","mediaQueryLists","map","query","window","matchMedia","getValue","index","findIndex","mql","matches","useState","setValue","useEffect","handler","forEach","addListener","removeListener","StyledButton","DocumentCard","forwardRef","props","ref","ThemeWrapper","theme","DocumentCardStyles","Card","document","url","draggable","isLatestNewsWidget","TagArea","noticeTag","NoticeTag","groundforceDivision","DivisionTag","class","Media","Image","layout","src","imageUrl","sizes","TabletLarge","DesktopLarge","objectFit","fullPaddingTop","loading","Content","date","Date","dateTime","formatDateISO","formatDateShort","tag","Tag","Title","ParagraphContent","size","description","Icon","Chevron","displayName","addon","addonPosition","branding","disabled","onClick","hoverColour","hideTextMobile","rest","undefined","ButtonStyles","iconPosition","HoverEffect","Inner","position","Text","LinkButton","target","download","PrevButton","SvgChevronRight","NextButton","ButtonReset","Heading","children","semantic","visual","_path","_extends","assign","arguments","source","xmlns","viewBox","fill","stroke","strokeWidth","fonts","DaxPro","Bold","BoldItalic","Medium","SlightlyLessThanMedium","Regular","RegularItalic","Light","formatStringDate","dateString","formatDate","toISOString","Intl","DateTimeFormat","day","month","year","format","formatDateLong","useShortMonthName","Container","div","Mobile","HeadingStyles","h2","H3Styles","Intro","ItemList","PluginCss","Desktop","Item","MobileLarge","ImageStyles","Responsive","CtaWrapper","Controls","PrevButtonStyles","NextButtonStyles","CarouselDot","attrs","grey","grey89","DotHolder","Base","DesktopOnly","MobileOnly","CarouselSection","items","isMobile","refFlicking","useRef","itemListRef","activeIndex","setActiveIndex","showControls","setShowControls","controlsLength","setControlsLength","handleSetControlsLength","visiblePanelsLength","current","itemListStyles","getComputedStyle","featureSize","parseInt","getPropertyValue","itemSize","total","anyFeatured","featured","Fragment","Flicking","align","ALIGN","PREV","bound","onAfterResize","event","currentTarget","moveTo","visiblePanels","getVisiblePanels","onChanged","element","contains","activeElement","panel","focus","onWillChange","onMoveStart","stop","onReady","item","aspectRatio","crop","height","width","Array","preventDefault","actualIndex","direction","DIRECTION","NEXT","prev","next","withWidget","intro","cta","featuredCard","useMemo","find","Grid","Default","style","marginBottom","filter","x","hydrate","HydrateOption","InView","instance","panels","visibleRatio","SvgChevron","options","lighten","generateOpacity","transparentize","groundforcePseudoColourAlt","tpaColour","tpa","tpaColourHover","tpaPseudoColourAlt","publicId","params","transformation","dpr","gravity","indexOf","createTransformation","encodedPublicId","encodeURIComponent","_g","accent","orange","black","SecondaryStyles","grey55","WhiteStyles","BlackStyles","grey20","grey44","GreyStyles","grey76","TextOnlyStyles","TextOnlyPrimaryStyles","IconLeft","DesktopSmall","IconRight","hideText","span"],"mappings":"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","file":"LatestNewsCarousel-640d1e29e4b53f6af129.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t56: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/sitefiles/next-gen/dist/\";\n\n \tvar jsonpArray = this[\"nextGenJsonpFunction\"] = this[\"nextGenJsonpFunction\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([552,0,1,2,6,11,13]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import brand from '@helpers/brand';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nimport { ThemeSwitch } from '@helpers/theme';\r\nconst PrimaryStyles = css `\r\n color: ${brand.white};\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base, groundforceColourHover: '#a2b952' })}\r\n background-color: var(--theme-hover);\r\n\r\n &:hover {\r\n background-color: var(--theme);\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst PrimaryAltStyles = css `\r\n color: ${brand.white};\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n background-color: var(--theme);\r\n\r\n &:hover {\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst Button = styled.button `\r\n display: inline-flex;\r\n align-items: center;\r\n border: 0;\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base })}\r\n background-color: var(--theme);\r\n color: ${brand.white};\r\n height: 48px;\r\n justify-content: flex-start;\r\n margin: 0;\r\n outline: none;\r\n padding: 0;\r\n place-content: center;\r\n place-items: center;\r\n text-decoration: none;\r\n transition: background-size 0.15s ease-out, opacity 0.15s ease-out, transform 0.15s ease-out;\r\n user-select: none;\r\n width: 48px;\r\n\r\n &[data-theme='primary'] {\r\n ${PrimaryStyles}\r\n }\r\n &[data-theme='primaryAlt'] {\r\n ${PrimaryAltStyles}\r\n }\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n &:hover {\r\n opacity: 0.7;\r\n }\r\n }\r\n\r\n @media ${until(Device.Tablet)} {\r\n height: 40px;\r\n width: 40px;\r\n }\r\n`;\r\nexport default {\r\n Button,\r\n};\r\n","import React from 'react';\r\nimport * as SBS from '../ButtonShared.styles';\r\nimport S from './IconButton.styles';\r\nconst IconButton = ({ className, icon, themeOption, title, ...otherProps }) => {\r\n let iconComponent;\r\n if (typeof icon === 'string') {\r\n iconComponent = (React.createElement(SBS.Icon, { as: \"svg\", \"aria-label\": title },\r\n React.createElement(\"use\", { href: icon })));\r\n }\r\n else {\r\n iconComponent = React.createElement(SBS.Icon, { as: icon, \"aria-label\": title });\r\n }\r\n return (React.createElement(S.Button, { className: className, themeOption: themeOption, \"data-theme\": themeOption, type: \"button\", ...otherProps }, iconComponent));\r\n};\r\nexport default IconButton;\r\n","import { Device } from './media';\r\n/**\r\n * Base pixel value for the \"rem\" unit.\r\n */\r\nexport const PIXELS_PER_REM = 16;\r\n/**\r\n * Default pixel value for the min width.\r\n */\r\nexport const DEFAULT_MIN_VALUE = Device.TabletSmall;\r\n/**\r\n * Default pixel value for the max width.\r\n */\r\nexport const DEFAULT_MAX_VALUE = Device.ActualDesktop;\r\n/**\r\n * Define a fluid value between the min/max values at the min/max widths.\r\n */\r\nexport function fluid(min, max, minWidth = DEFAULT_MIN_VALUE, maxWidth = DEFAULT_MAX_VALUE) {\r\n const minRem = min / PIXELS_PER_REM;\r\n const maxRem = max / PIXELS_PER_REM;\r\n const minWidthRem = minWidth / PIXELS_PER_REM;\r\n const maxWidthRem = maxWidth / PIXELS_PER_REM;\r\n const slope = (maxRem - minRem) / (maxWidthRem - minWidthRem);\r\n const yAxisIntersection = -minWidthRem * slope + minRem;\r\n const clampMin = `${round(minRem)}rem`;\r\n const clampVal = `${round(yAxisIntersection)}rem + ${round(slope * 100)}vw`;\r\n const clampMax = `${round(maxRem)}rem`;\r\n return `clamp(${clampMin}, ${clampVal}, ${clampMax})`;\r\n}\r\n/**\r\n * Define a fluid value between the min/max values at the min/max widths.\r\n */\r\nexport function fluidUnit(min, max, minWidth = DEFAULT_MIN_VALUE, maxWidth = DEFAULT_MAX_VALUE, unit) {\r\n const slope = (max - min) / (maxWidth - minWidth);\r\n const yAxisIntersection = -minWidth * slope + min;\r\n const clampMin = `${round(min)}`;\r\n const clampVal = `${round(yAxisIntersection)}${unit} + ${round(slope * 100)}vw`;\r\n const clampMax = `${round(max)}`;\r\n return `clamp(${clampMin}${unit}, ${clampVal}, ${clampMax}${unit})`;\r\n}\r\n/**\r\n * Round to nearest hundredth.\r\n */\r\nfunction round(num) {\r\n return Math.round(num * 100) / 100;\r\n}\r\n","import { isSSR } from '@helpers/ssr';\r\nimport { useEffect, useState } from 'react';\r\n/**\r\n * Store a value in state based on the specified media queries.\r\n * @param {Array} queries\r\n * @param {Array} values\r\n * @param {T} defaultValue\r\n */\r\nfunction useMedia(queries, values, defaultValue) {\r\n // Avoid error with SSR.\r\n if (isSSR()) {\r\n return defaultValue;\r\n }\r\n // Array containing a media query list for each query\r\n const mediaQueryLists = queries.map((query) => window.matchMedia(query));\r\n // Function that gets value based on matching media query\r\n const getValue = () => {\r\n // Get index of first media query that matches\r\n const index = mediaQueryLists.findIndex((mql) => mql.matches);\r\n // Return related value or defaultValue if none\r\n return typeof values[index] !== 'undefined' ? values[index] : defaultValue;\r\n };\r\n // State and setter for matched value\r\n const [value, setValue] = useState(getValue);\r\n useEffect(() => {\r\n // Event listener callback\r\n // Note: By defining getValue outside of useEffect we ensure that it has ...\r\n // ... current values of hook args (as this hook callback is created once on mount).\r\n const handler = () => setValue(getValue);\r\n // Set a listener for each media query with above handler as callback.\r\n mediaQueryLists.forEach((mql) => mql.addListener(handler));\r\n // Remove listeners on cleanup\r\n return () => mediaQueryLists.forEach((mql) => mql.removeListener(handler));\r\n }, []); // Empty array ensures effect is only run on mount and unmount\r\n return value;\r\n}\r\nexport default useMedia;\r\n","import styled from 'styled-components';\r\nimport IconButton from '../IconButton/IconButton';\r\nconst StyledButton = styled(IconButton) ``;\r\nexport default {\r\n Button: StyledButton,\r\n};\r\n","import styled from 'styled-components';\r\nimport * as SBS from '../ButtonShared.styles';\r\nimport IconButton from '../IconButton/IconButton';\r\nconst StyledButton = styled(IconButton) `\r\n ${SBS.Icon} {\r\n transform: rotate(-180deg);\r\n }\r\n`;\r\nexport default {\r\n Button: StyledButton,\r\n};\r\n","import { formatDateISO, formatDateShort } from '@helpers/date';\r\nimport { Device, until } from '@helpers/media';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron.svg';\r\nimport Image from '@stories/Components/Media/Image/Image';\r\nimport React from 'react';\r\nimport { DocumentCardStyles } from './DocumentCard.styles';\r\nimport { ThemeWrapper } from '@helpers/theme';\r\nconst DocumentCard = React.forwardRef((props, ref) => {\r\n return (React.createElement(ThemeWrapper, { \"data-theme\": props.theme },\r\n React.createElement(DocumentCardStyles.Card, { ref: ref, href: props.document.url, draggable: false, isLatestNewsWidget: props.isLatestNewsWidget, as: props.document.url ? 'a' : 'div' },\r\n React.createElement(DocumentCardStyles.TagArea, null,\r\n props.document.noticeTag ? (React.createElement(DocumentCardStyles.NoticeTag, null, props.document.noticeTag)) : null,\r\n props.document.groundforceDivision &&\r\n props.document.groundforceDivision.name.length > 0 && (React.createElement(DocumentCardStyles.DivisionTag, { \"data-tag-colour\": props.document.groundforceDivision.class }, props.document.groundforceDivision.name))),\r\n React.createElement(DocumentCardStyles.Media, { isLatestNewsWidget: props.isLatestNewsWidget }, props.Image ? (React.createElement(props.Image, null)) : (React.createElement(Image, { layout: \"fill\", src: props.document.imageUrl, sizes: `${until(Device.TabletLarge)} 50vw, ${until(Device.DesktopLarge)} 33vw, 25vw`, objectFit: \"cover\", alt: props.document.title || '', draggable: false, fullPaddingTop: props.document.fullPaddingTop, loading: 'lazy' }))),\r\n React.createElement(DocumentCardStyles.Content, null,\r\n props.document.date && (React.createElement(DocumentCardStyles.Date, { as: \"time\", dateTime: formatDateISO(props.document.date) }, formatDateShort(props.document.date))),\r\n props.document.tag && (React.createElement(DocumentCardStyles.Tag, null, props.document.tag)),\r\n React.createElement(DocumentCardStyles.Title, { isLatestNewsWidget: props.isLatestNewsWidget }, props.document.title),\r\n React.createElement(DocumentCardStyles.ParagraphContent, { size: \"small\", isLatestNewsWidget: props.isLatestNewsWidget }, props.document.description),\r\n props.document.url && (React.createElement(DocumentCardStyles.Icon, null,\r\n React.createElement(Chevron, null)))))));\r\n});\r\nDocumentCard.displayName = 'DocumentCard';\r\nexport default DocumentCard;\r\n","import React from 'react';\r\nimport { ButtonStyles } from './Button.styles';\r\nconst Button = ({ addon, addonPosition, branding, className, disabled, title, type = 'button', onClick, hoverColour, hideTextMobile, ...rest }) => {\r\n if (hideTextMobile == undefined && addonPosition == 'right') {\r\n hideTextMobile = true;\r\n }\r\n return (React.createElement(ButtonStyles.Button, { \"data-theme\": branding, className: className, disabled: disabled, iconPosition: addonPosition, type: type, onClick: onClick, hoverColour: hoverColour, hideTextMobile: hideTextMobile, ...rest },\r\n React.createElement(ButtonStyles.HoverEffect, null),\r\n React.createElement(ButtonStyles.Inner, null,\r\n addon && addonPosition === 'left' && (React.createElement(ButtonStyles.Icon, { position: addonPosition }, addon)),\r\n React.createElement(ButtonStyles.Text, null, title),\r\n addon && addonPosition === 'right' && (React.createElement(ButtonStyles.Icon, { position: addonPosition }, addon)))));\r\n};\r\nconst LinkButton = ({ addon, addonPosition, branding, className, onClick, href, target = '_self', title, download, hoverColour, }) => {\r\n return (React.createElement(ButtonStyles.Button, { \"data-theme\": branding, className: className, as: \"a\", href: href, target: target, download: download, hoverColour: hoverColour, onClick: onClick },\r\n React.createElement(ButtonStyles.HoverEffect, null),\r\n React.createElement(ButtonStyles.Inner, null,\r\n addon && addonPosition === 'left' && (React.createElement(ButtonStyles.Icon, { position: addonPosition }, addon)),\r\n React.createElement(ButtonStyles.Text, null, title),\r\n addon && addonPosition === 'right' && (React.createElement(ButtonStyles.Icon, { position: addonPosition }, addon)))));\r\n};\r\nexport { LinkButton, Button as default };\r\n","import { ReactComponent as SvgChevronRight } from '@img/icons/chevron-right.svg';\r\nimport React from 'react';\r\nimport S from './PrevButton.styles';\r\nconst PrevButton = ({ themeOption, title = 'Next', ...otherProps }) => {\r\n return (React.createElement(S.Button, { type: \"button\", icon: SvgChevronRight, themeOption: themeOption, title: title, ...otherProps }));\r\n};\r\nexport default PrevButton;\r\n","import { ReactComponent as SvgChevronRight } from '@img/icons/chevron-right.svg';\r\nimport React from 'react';\r\nimport S from './NextButton.styles';\r\nconst NextButton = ({ themeOption, title = 'Next', ...otherProps }) => {\r\n return (React.createElement(S.Button, { type: \"button\", icon: SvgChevronRight, themeOption: themeOption, title: title, ...otherProps }));\r\n};\r\nexport default NextButton;\r\n","import { css } from 'styled-components';\r\nexport default {\r\n navHeight: 107,\r\n navHeightTablet: 80,\r\n navHeightMobile: 59,\r\n};\r\nexport const ButtonReset = css `\r\n border: none;\r\n outline: none;\r\n padding: 0px;\r\n background: none;\r\n border-radius: 0px;\r\n`;\r\n","import React from 'react';\r\nimport s from './Heading.styles';\r\nconst Heading = ({ children, semantic = 'h1', visual, ...otherProps }) => {\r\n return (React.createElement(s.Heading, { as: semantic, visual: visual, ...otherProps }, children));\r\n};\r\nexport default Heading;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || 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); }\n\nimport * as React from \"react\";\n\nfunction SvgChevronRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 7.257 11.686\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 48\",\n d: \"M.707.707l5.136 5.136-5.136 5.136\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2\n })));\n}\n\nexport default __webpack_public_path__ + \"6973e4a6f707c58d2376f688ccfb4a95.svg\";\nexport { SvgChevronRight as ReactComponent };","import { css } from 'styled-components';\r\nexport const fonts = {\r\n DaxPro: {\r\n Bold: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 700;\r\n `,\r\n BoldItalic: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: italic;\r\n font-weight: 700;\r\n `,\r\n Medium: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 600;\r\n `,\r\n SlightlyLessThanMedium: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 500;\r\n `,\r\n Regular: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 400;\r\n `,\r\n RegularItalic: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: italic;\r\n font-weight: 400;\r\n `,\r\n Light: css `\r\n font-family: 'ff-dax-pro', Arial, sans-serif;\r\n font-style: normal;\r\n font-weight: 200;\r\n `,\r\n },\r\n};\r\n","export function formatStringDate(dateString) {\r\n const date = new Date(dateString);\r\n return formatDate(date);\r\n}\r\nexport function formatDateISO(value) {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return date.toISOString();\r\n}\r\nexport function formatDate(value) {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return new Intl.DateTimeFormat(undefined, {\r\n day: 'numeric',\r\n month: 'short',\r\n year: 'numeric',\r\n }).format(date);\r\n}\r\nexport function formatDateLong(value, useShortMonthName) {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return new Intl.DateTimeFormat(undefined, {\r\n day: 'numeric',\r\n month: useShortMonthName ? 'short' : 'long',\r\n year: 'numeric',\r\n }).format(date);\r\n}\r\nexport function formatDateShort(value) {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return new Intl.DateTimeFormat(undefined, {\r\n day: 'numeric',\r\n month: '2-digit',\r\n year: '2-digit',\r\n }).format(date);\r\n}\r\n","import PluginCss from '!raw-loader!@egjs/react-flicking/dist/flicking.css';\r\nimport brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { ThemeSwitch } from '@helpers/theme';\r\nimport NextButtonStyles from '@stories/Components/Buttons/NextButton/NextButton.styles';\r\nimport PrevButtonStyles from '@stories/Components/Buttons/PrevButton/PrevButton.styles';\r\nimport { DocumentCardStyles } from '@stories/Components/Cards/DocumentCard/DocumentCard.styles';\r\nimport HeadingStyles from '@stories/Components/Global/Typography/Heading.styles';\r\nimport { ImageStyles } from '@stories/Components/Media/Image/Image.styles';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n overflow: hidden;\r\n margin: 40px 0px;\r\n\r\n &[data-ssr='true'] {\r\n &[data-has-load-more='false'] {\r\n min-height: 608px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n min-height: 590px;\r\n }\r\n }\r\n\r\n &[data-has-load-more='true'] {\r\n min-height: ${fluid(671, 760, Device.Mobile, Device.ActualDesktop)};\r\n }\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n grid-column: span 12;\r\n position: relative;\r\n z-index: 2;\r\n\r\n ${HeadingStyles.Heading} {\r\n grid-column: span 12;\r\n text-align: center;\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n color: var(--theme);\r\n margin-bottom: 28px;\r\n }\r\n`;\r\nconst Title = styled.h2 `\r\n ${HeadingStyles.H3Styles}\r\n`;\r\nconst Intro = styled.p `\r\n font-size: 16px;\r\n line-height: 26px;\r\n text-align: center;\r\n margin: 0 auto 30px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 18px;\r\n line-height: 28px;\r\n max-width: 670px;\r\n margin: 0 auto 80px;\r\n }\r\n`;\r\nconst ItemList = styled.div `\r\n --itemGutter: ${fluid(10, 30)};\r\n --featureGutter: 0px;\r\n\r\n --itemWidth: 1;\r\n --itemSize: 1;\r\n --itemSpace: 0;\r\n\r\n --featureWidth: 100%;\r\n --featureSize: 1;\r\n\r\n ${PluginCss};\r\n\r\n display: flex;\r\n width: 100%;\r\n\r\n .flicking-viewport {\r\n width: 100%;\r\n // Stops the overflow cutting the box-shadow\r\n padding: 8px;\r\n margin-right: -8px;\r\n margin-left: -8px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n overflow: visible;\r\n }\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n --itemWidth: 2;\r\n --itemSpace: 1;\r\n --itemSize: 1;\r\n\r\n --featureWidth: 100%;\r\n --featureSize: 2;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --itemWidth: 3;\r\n --itemSpace: 2;\r\n --itemSize: 1;\r\n\r\n --featureWidth: 66%;\r\n --featureSize: 2;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n --itemWidth: 4;\r\n --itemSpace: 3;\r\n --itemSize: 1;\r\n\r\n --featureWidth: 50%;\r\n --featureGutter: 30px;\r\n --featureSize: 2;\r\n }\r\n`;\r\nconst Item = styled.div `\r\n display: block;\r\n margin-right: var(--itemGutter);\r\n /* flex: 1 0 calc(var(--itemWidth) - (var(--itemGutter) / 2)); */\r\n\r\n flex: 1 0 calc((100% - (var(--itemGutter) * var(--itemSpace))) / var(--itemWidth));\r\n\r\n &[data-featured='true'][data-main-item='false'] {\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n }\r\n\r\n --imageAspectRatio: 387 / 246;\r\n --imageMaxHeight: 246px;\r\n\r\n &[data-featured='true'] {\r\n flex: 1 0 calc(var(--featureWidth) - (var(--featureGutter) / 2));\r\n\r\n --imageAspectRatio: 804 / 299;\r\n --imageMaxHeight: 299px;\r\n }\r\n\r\n @media ${until(Device.MobileLarge)} {\r\n max-width: 100%;\r\n height: auto;\r\n }\r\n\r\n ${DocumentCardStyles.Card} {\r\n height: 100% !important;\r\n }\r\n\r\n ${DocumentCardStyles.Media} {\r\n aspect-ratio: var(--imageAspectRatio);\r\n max-height: var(--imageMaxHeight);\r\n\r\n ${ImageStyles.Responsive} {\r\n height: 100%;\r\n }\r\n }\r\n`;\r\nconst CtaWrapper = styled.div `\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n margin: 22px 0 0;\r\n\r\n @media ${from(Device.Tablet)} {\r\n justify-content: center;\r\n margin: 64px 0 0;\r\n }\r\n`;\r\nconst Controls = styled.div `\r\n display: grid;\r\n grid-template-columns: 40px 40px 1fr 40px 40px;\r\n margin: 24px 0 0;\r\n gap: 12px;\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n\r\n @media ${from(Device.Tablet)} {\r\n grid-template-columns: 48px 48px 1fr 48px 48px;\r\n margin: 40px 0 0;\r\n }\r\n\r\n ${PrevButtonStyles.Button} {\r\n background-color: var(--theme);\r\n grid-column: 4;\r\n }\r\n\r\n ${NextButtonStyles.Button} {\r\n background-color: var(--theme);\r\n grid-column: 5;\r\n }\r\n`;\r\nconst CarouselDot = styled.button.attrs({ type: 'button' }) `\r\n display: flex;\r\n flex: 1 0 auto;\r\n border: none;\r\n border-radius: 0;\r\n height: 5px;\r\n padding: 0;\r\n background-color: ${brand.grey.grey89};\r\n transform-origin: center bottom;\r\n transition: background-color 0.15s ease-out, transform 0.15s ease-out;\r\n max-width: 132px;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &:focus,\r\n &:hover {\r\n transform: scaleY(2);\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n background-color: var(--theme);\r\n }\r\n\r\n &[disabled] {\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n background-color: var(--theme);\r\n }\r\n`;\r\nconst DotHolder = styled.div `\r\n display: flex;\r\n flex: 1 0 auto;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n grid-column: 1 / span 3;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n &[data-hidden='1'] {\r\n display: none;\r\n }\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n gap: 10px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: 3;\r\n }\r\n`;\r\nconst Base = styled.div `\r\n grid-column: span 12;\r\n position: relative;\r\n z-index: 2;\r\n padding: 30px 0;\r\n text-align: center;\r\n`;\r\nconst DesktopOnly = styled.div `\r\n display: contents;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n`;\r\nconst MobileOnly = styled.div `\r\n display: none;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: contents;\r\n }\r\n`;\r\nexport default {\r\n Base,\r\n CarouselDot,\r\n Container,\r\n Controls,\r\n CtaWrapper,\r\n DotHolder,\r\n Inner,\r\n Intro,\r\n Item,\r\n ItemList,\r\n Title,\r\n DesktopOnly,\r\n MobileOnly,\r\n};\r\n","import { HydrateOption } from '@core/enums';\r\nimport Flicking, { ALIGN, DIRECTION, } from '@egjs/react-flicking';\r\nimport { Grid } from '@helpers/grid';\r\nimport withWidget from '@hoc/withWidget';\r\nimport { LinkButton } from '@stories/Components/Buttons/Button/Button';\r\nimport NextButton from '@stories/Components/Buttons/NextButton/NextButton';\r\nimport PrevButton from '@stories/Components/Buttons/PrevButton/PrevButton';\r\nimport DocumentCard from '@stories/Components/Cards/DocumentCard/DocumentCard';\r\nimport Heading from '@stories/Components/Global/Typography/Heading';\r\nimport React, { useRef, useState } from 'react';\r\nimport S from './LatestNewsCarousel.styles';\r\nimport { imageUrl } from '@helpers/imageUrl';\r\nimport useMedia from '@hooks/useMedia';\r\nimport { Device, until } from '@helpers/media';\r\nimport { ThemeWrapper } from '@helpers/theme';\r\nconst CarouselSection = ({ items, isLatestNewsWidget, isMobile }) => {\r\n const refFlicking = useRef(null);\r\n const itemListRef = useRef(null);\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n const [showControls, setShowControls] = useState(false);\r\n const [controlsLength, setControlsLength] = useState(0);\r\n const handleSetControlsLength = (visiblePanelsLength) => {\r\n if (!itemListRef.current) {\r\n return;\r\n }\r\n const itemListStyles = getComputedStyle(itemListRef.current);\r\n const featureSize = parseInt(itemListStyles.getPropertyValue('--featureSize'), 10);\r\n const itemSize = parseInt(itemListStyles.getPropertyValue('--itemSize'), 10);\r\n let total = 0;\r\n let anyFeatured = false;\r\n for (let index = 0; index < items.length; index++) {\r\n const item = items[index];\r\n if (item.featured === true) {\r\n anyFeatured = true;\r\n total += featureSize;\r\n }\r\n else {\r\n total += itemSize;\r\n }\r\n }\r\n getComputedStyle(itemListRef.current);\r\n if (itemSize === 1 && featureSize === 1) {\r\n setControlsLength(total);\r\n return;\r\n }\r\n if (anyFeatured === false) {\r\n setControlsLength(total + 1 - visiblePanelsLength);\r\n return;\r\n }\r\n setControlsLength(total - 1 - visiblePanelsLength);\r\n };\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(S.ItemList, { ref: itemListRef },\r\n React.createElement(Flicking, { ref: refFlicking, align: ALIGN.PREV, bound: true, onAfterResize: (event) => {\r\n // Move to first item after resizing to fix misalignment.\r\n event.currentTarget.moveTo(0);\r\n const visiblePanels = getVisiblePanels(event.currentTarget);\r\n handleSetControlsLength(visiblePanels.length);\r\n // Hide controls when all panels are visible.\r\n setShowControls(!(visiblePanels.length === items.length));\r\n }, onChanged: (event) => {\r\n // Auto-focus the new slide if the focus was already inside the carousel.\r\n if (event.currentTarget.element.contains(document.activeElement)) {\r\n event.panel.element.focus();\r\n }\r\n }, onWillChange: (event) => {\r\n if (event.index > items.length - 1) {\r\n setActiveIndex(event.index - items.length);\r\n }\r\n else {\r\n setActiveIndex(event.index);\r\n }\r\n }, onMoveStart: (event) => {\r\n const visiblePanels = getVisiblePanels(event.currentTarget);\r\n // Avoid swiping when all panels are visible.\r\n if (visiblePanels.length === items.length) {\r\n event.stop();\r\n }\r\n }, onReady: (event) => {\r\n const visiblePanels = getVisiblePanels(event.currentTarget);\r\n handleSetControlsLength(visiblePanels.length);\r\n // Hide controls when all panels are visible.\r\n setShowControls(!(visiblePanels.length === items.length));\r\n } }, items.map((item, i) => (React.createElement(S.Item, { key: i, \"data-offset\": i, \"data-main-item\": true, \"data-featured\": item.featured },\r\n React.createElement(DocumentCard, { document: item, isLatestNewsWidget: isLatestNewsWidget, Image: () => {\r\n return (React.createElement(\"img\", { loading: \"lazy\", draggable: false, src: imageUrl(item.imageUrl, {\r\n aspectRatio: isMobile\r\n ? item.featured\r\n ? 350 / 220\r\n : 239 / 178\r\n : item.featured\r\n ? 804 / 299\r\n : 387 / 246,\r\n crop: 'auto',\r\n height: isMobile ? 146 : item.featured ? 299 : 246,\r\n width: isMobile ? 230 : item.featured ? 804 : 387,\r\n }) }));\r\n } })))))),\r\n showControls && controlsLength > 1 && (React.createElement(S.Controls, null,\r\n React.createElement(S.DotHolder, { \"data-hidden\": controlsLength > 5 ? '1' : '0' }, new Array(controlsLength).fill(null).map((item, index) => (React.createElement(S.CarouselDot, { key: index, disabled: activeIndex === index, onClick: (event) => {\r\n event.preventDefault();\r\n moveTo(index);\r\n } })))),\r\n React.createElement(PrevButton, { disabled: activeIndex === 0, themeOption: \"primaryAlt\", onClick: (event) => {\r\n event.preventDefault();\r\n refFlicking.current?.prev();\r\n } }),\r\n React.createElement(NextButton, { disabled: activeIndex === controlsLength - 1, themeOption: \"primaryAlt\", onClick: (event) => {\r\n event.preventDefault();\r\n refFlicking.current?.next();\r\n } })))));\r\n function moveTo(index) {\r\n const actualIndex = refFlicking.current?.index ?? 0;\r\n // Adjust index to account for cloned items.\r\n if (actualIndex > items.length - 1) {\r\n index += items.length;\r\n }\r\n const direction = index < actualIndex ? DIRECTION.PREV : DIRECTION.NEXT;\r\n refFlicking.current?.moveTo(index, undefined, direction);\r\n }\r\n};\r\nconst LatestNewsCarousel = ({ items = [], title, intro, cta, isLatestNewsWidget, theme, }) => {\r\n const isMobile = useMedia([until(Device.TabletLarge)], [true], false);\r\n const featuredCard = React.useMemo(() => items.find((item) => item.featured), [isMobile, items]);\r\n return (React.createElement(ThemeWrapper, { \"data-theme\": theme },\r\n React.createElement(S.Container, { \"data-has-load-more\": items.length > 4, \"data-ssr\": false, key: `LatestNewsCarousel_Container` },\r\n React.createElement(Grid.Default, null,\r\n React.createElement(S.Inner, null,\r\n React.createElement(Heading, { visual: \"h5\", semantic: \"h2\" }, title),\r\n intro && React.createElement(S.Intro, null, intro),\r\n featuredCard && (React.createElement(S.Item, { \"data-offset\": 0, \"data-featured\": true, \"data-main-item\": false, style: { marginBottom: 26 } },\r\n React.createElement(DocumentCard, { document: featuredCard, isLatestNewsWidget: isLatestNewsWidget, Image: () => {\r\n return (React.createElement(\"img\", { draggable: false, loading: \"lazy\", src: imageUrl(featuredCard.imageUrl, {\r\n aspectRatio: 350 / 220,\r\n crop: 'auto',\r\n height: 220,\r\n width: 350,\r\n }) }));\r\n } }))),\r\n React.createElement(S.DesktopOnly, null,\r\n React.createElement(CarouselSection, { items: items, isLatestNewsWidget: isLatestNewsWidget, isMobile: isMobile })),\r\n React.createElement(S.MobileOnly, null,\r\n React.createElement(CarouselSection, { items: items.filter((x) => !x.featured), isLatestNewsWidget: isLatestNewsWidget, isMobile: isMobile }))),\r\n cta && (React.createElement(S.Base, null,\r\n React.createElement(LinkButton, { title: cta.title, target: cta.target, href: cta.url, branding: \"primaryAlt\" })))))));\r\n};\r\nexport default withWidget(LatestNewsCarousel, 'LatestNewsCarousel', {\r\n hydrate: HydrateOption.InView,\r\n});\r\nfunction getVisiblePanels(instance) {\r\n return instance.panels.filter((panel) => panel.visibleRatio >= 0.9);\r\n}\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || 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); }\n\nimport * as React from \"react\";\n\nfunction SvgChevron(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20.679 12.461\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 99\",\n d: \"M19.618 11.4l-9.279-9.279L1.06 11.4\",\n fill: \"none\"\n })));\n}\n\nexport default __webpack_public_path__ + \"056c9f699b39d0845225c962dec7c133.svg\";\nexport { SvgChevron as ReactComponent };","import styled, { css } from 'styled-components';\r\nimport brand from './brand';\r\nimport { lighten, transparentize } from 'polished';\r\nexport const ThemeWrapper = styled.div `\r\n display: contents;\r\n`;\r\n/**\r\n * Injects the theme switching for Groundforce / TPA.\r\n * Make sure to not include this on a pseudoelement, as they can't query parents for some reason.\r\n */\r\nexport const ThemeSwitch = (options) => css `\r\n --theme: ${options.groundforceColour ?? brand.primary.base};\r\n --theme-hover: ${options.groundforceColourHover ?? lighten(0.1, brand.primary.base)};\r\n\r\n ${options.generateOpacity &&\r\n `--theme-half-opacity: ${transparentize(0.5, options.groundforceColour ?? brand.primary.base)};`}\r\n\r\n ${options.groundforcePseudoColourAlt && `--theme-alt: ${options.groundforcePseudoColourAlt};`}\r\n\r\n [data-theme='tpa'] &,\r\n &[data-theme='tpa'] {\r\n --theme: ${options.tpaColour ?? brand.tpa.base};\r\n --theme-hover: ${options.tpaColourHover ?? lighten(0.1, brand.tpa.base)};\r\n\r\n ${options.generateOpacity &&\r\n `--theme-half-opacity: ${transparentize(0.5, options.tpaColour ?? brand.tpa.base)};`}\r\n\r\n ${options.tpaPseudoColourAlt && `--theme-alt: ${options.tpaPseudoColourAlt};`}\r\n }\r\n`;\r\n","const CLOUD_NAME = 'vp-groundforce';\r\nexport function imageUrl(publicId, params) {\r\n const transformation = createTransformation(params);\r\n const encodedPublicId = encodeURIComponent(publicId);\r\n return `https://res.cloudinary.com/${CLOUD_NAME}/image/upload/${transformation}/${encodedPublicId}`;\r\n}\r\nexport function createTransformation(params) {\r\n let transformation = '';\r\n if (params.width) {\r\n transformation += `,w_${params.width}`;\r\n }\r\n if (params.height) {\r\n transformation += `,h_${params.height}`;\r\n }\r\n if (params.aspectRatio) {\r\n transformation += `,ar_${params.aspectRatio}`;\r\n }\r\n if (params.dpr) {\r\n transformation += `,dpr_${params.dpr}`;\r\n }\r\n if (params.crop) {\r\n transformation += `,c_${params.crop}`;\r\n }\r\n if (params.gravity) {\r\n transformation += `,g_${params.gravity}`;\r\n }\r\n const format = params.format ?? 'auto';\r\n transformation += `/f_${format},q_auto`;\r\n if (transformation.indexOf(',') === 0) {\r\n transformation = transformation.slice(1);\r\n }\r\n return transformation;\r\n}\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || 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); }\n\nimport * as React from \"react\";\n\nfunction SvgLinePattern(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 119 45\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Line pattern\",\n fill: \"none\",\n stroke: \"currentColor\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Line 16\",\n d: \"M198.312-368.656l-423.66 764.334M202.674-366.238l-423.66 764.334M207.036-363.82l-423.66 764.334M211.398-361.402l-423.66 764.334M215.761-358.984l-423.66 764.334M220.123-356.566l-423.66 764.334M224.485-354.148l-423.66 764.334M228.847-351.73l-423.66 764.334M233.209-349.312l-423.66 764.334M237.572-346.894l-423.66 764.334M241.934-344.476l-423.66 764.334M246.296-342.058l-423.66 764.334M250.658-339.64l-423.66 764.334M255.02-337.222l-423.66 764.334M259.382-334.804l-423.66 764.334M263.744-332.386l-423.66 764.334M268.107-329.968l-423.66 764.334M272.469-327.55l-423.66 764.334M276.831-325.132l-423.66 764.334M281.193-322.714l-423.66 764.334M285.555-320.296l-423.66 764.334M289.917-317.878l-423.66 764.334M294.28-315.46l-423.66 764.334M298.642-313.042l-423.66 764.334M303.004-310.624l-423.66 764.334M307.366-308.206l-423.66 764.334M311.728-305.788l-423.66 764.334M316.091-303.37l-423.66 764.334M320.453-300.952l-423.66 764.334M324.815-298.534L-98.845 465.8M329.177-296.116l-423.66 764.334M333.539-293.698l-423.66 764.334M337.901-291.28l-423.66 764.334M342.264-288.862l-423.66 764.334M346.625-286.444L-77.035 477.89M350.988-284.026l-423.66 764.334M355.35-281.608L-68.31 482.726M359.712-279.19l-423.66 764.334M364.074-276.772l-423.66 764.334M368.436-274.354L-55.224 489.98M372.799-271.936l-423.66 764.334M377.161-269.518l-423.66 764.334M381.523-267.1l-423.66 764.334M385.885-264.682l-423.66 764.334M390.247-262.264L-33.413 502.07M394.609-259.847l-423.66 764.334M398.972-257.428l-423.66 764.334M403.334-255.011l-423.66 764.334M407.696-252.592l-423.66 764.334M412.058-250.175l-423.66 764.334M416.42-247.756L-7.24 516.578M420.783-245.339L-2.877 518.995M425.145-242.92L1.485 521.414M429.507-240.503L5.847 523.831M433.869-238.084L10.209 526.25M438.231-235.667L14.571 528.667M442.593-233.248L18.933 531.086M446.955-230.831L23.295 533.503M451.318-228.413L27.658 535.921M455.68-225.995L32.02 538.339M460.042-223.577L36.382 540.757M464.404-221.159L40.744 543.175M468.766-218.741L45.106 545.593M473.128-216.323L49.468 548.011M477.491-213.905L53.831 550.429M481.853-211.487L58.193 552.847M486.215-209.069L62.555 555.265M490.577-206.651L66.917 557.683M494.939-204.233L71.279 560.101M499.302-201.815L75.642 562.519M503.664-199.397L80.004 564.937M508.026-196.979L84.366 567.355M512.388-194.561L88.728 569.773M516.75-192.143L93.09 572.191M521.112-189.725L97.452 574.609M525.474-187.307l-423.66 764.334M529.836-184.889l-423.66 764.334M534.199-182.471l-423.66 764.334M538.561-180.053l-423.66 764.334M542.923-177.635l-423.66 764.334M547.285-175.217l-423.66 764.334M551.647-172.799l-423.66 764.334M556.01-170.381L132.35 593.953M560.372-167.963l-423.66 764.334M564.734-165.545l-423.66 764.334M569.096-163.127l-423.66 764.334M573.458-160.709l-423.66 764.334M577.821-158.291l-423.66 764.334M582.183-155.873l-423.66 764.334M586.545-153.455l-423.66 764.334M590.907-151.037l-423.66 764.334M595.269-148.619l-423.66 764.334M599.631-146.201l-423.66 764.334M603.993-143.783l-423.66 764.334M608.355-141.365l-423.66 764.334M612.718-138.947l-423.66 764.334M617.08-136.529L193.42 627.805M621.442-134.111l-423.66 764.334M625.804-131.693l-423.66 764.334M630.166-129.275l-423.66 764.334M634.529-126.857l-423.66 764.334M638.891-124.439l-423.66 764.334M643.253-122.021l-423.66 764.334M647.615-119.603l-423.66 764.334M651.977-117.185l-423.66 764.334M656.339-114.767l-423.66 764.334M660.702-112.349l-423.66 764.334M665.064-109.931l-423.66 764.334M669.426-107.513l-423.66 764.334M673.788-105.095l-423.66 764.334M678.15-102.677L254.49 661.657M682.513-100.259l-423.66 764.334M686.874-97.841l-423.66 764.334M691.237-95.423l-423.66 764.334M695.599-93.005l-423.66 764.334M699.961-90.587l-423.66 764.334M704.323-88.169l-423.66 764.334M708.685-85.751l-423.66 764.334M713.047-83.333l-423.66 764.334M717.41-80.915L293.75 683.419M721.772-78.497l-423.66 764.334M726.134-76.079l-423.66 764.334M730.496-73.661l-423.66 764.334M734.858-71.243l-423.66 764.334M739.221-68.825l-423.66 764.334M743.583-66.407l-423.66 764.334M747.945-63.99l-423.66 764.334M752.307-61.571l-423.66 764.334M756.669-59.153l-423.66 764.334M761.032-56.735l-423.66 764.334M765.394-54.318l-423.66 764.334M769.756-51.899l-423.66 764.334M774.118-49.481l-423.66 764.334M778.48-47.064L354.82 717.27M782.842-44.646l-423.66 764.334M787.204-42.227l-423.66 764.334M791.566-39.809l-423.66 764.334M795.929-37.392l-423.66 764.334M800.291-34.974L376.631 729.36M804.653-32.556l-423.66 764.334M809.015-30.137l-423.66 764.334M813.377-27.72l-423.66 764.334M817.74-25.302L394.08 739.032\",\n strokeWidth: 1.00042\n }))));\n}\n\nexport default __webpack_public_path__ + \"32774766b3243253aabbc97bbe71ff0a.svg\";\nexport { SvgLinePattern as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { ButtonReset } from '@helpers/global';\r\nimport { Device, until } from '@helpers/media';\r\nimport { ReactComponent as SvgHoverLines } from '@img/line-pattern.svg';\r\nimport styled, { css } from 'styled-components';\r\nimport { ThemeSwitch } from '@helpers/theme';\r\nconst Text = styled.div ``;\r\nconst HoverEffect = styled(SvgHoverLines) `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n transform: translate(0, 0);\r\n transition: transform 0.3s;\r\n\r\n [data-theme='textOnly'] & {\r\n display: none;\r\n }\r\n [data-theme='textOnlyPrimary'] & {\r\n display: none;\r\n }\r\n [data-theme='primary'] &,\r\n &[data-theme='primary'] {\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base })};\r\n color: var(--theme);\r\n }\r\n [data-theme='primaryAlt'] &,\r\n &[data-theme='primaryAlt'] {\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })};\r\n color: var(--theme);\r\n }\r\n [data-theme='secondary'] &,\r\n &[data-theme='secondary'] {\r\n color: ${brand.accent.orange};\r\n }\r\n [data-theme='white'] &,\r\n &[data-theme='white'] {\r\n color: ${brand.white};\r\n }\r\n [data-theme='black'] &,\r\n &[data-theme='black'] {\r\n color: ${brand.black};\r\n }\r\n [data-theme='grey'] &,\r\n &[data-theme='grey'] {\r\n color: ${brand.black};\r\n }\r\n`;\r\nconst PrimaryStyles = css `\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base, groundforceColourHover: '#a2b952' })};\r\n color: ${brand.white};\r\n background-color: var(--theme);\r\n\r\n &:hover {\r\n background-color: var(--theme-hover);\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst PrimaryAltStyles = css `\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt, groundforceColourHover: '#a2b952' })};\r\n color: ${brand.white};\r\n background-color: var(--theme);\r\n\r\n &:hover {\r\n background-color: var(--theme-hover);\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst SecondaryStyles = css `\r\n background-color: ${brand.accent.orange};\r\n color: ${brand.white};\r\n\r\n &:focus {\r\n background-color: ${brand.accent.orange};\r\n color: ${brand.white};\r\n }\r\n\r\n &:hover {\r\n border-color: ${brand.black};\r\n background-color: ${brand.black};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.grey.grey55};\r\n }\r\n`;\r\nconst WhiteStyles = css `\r\n background-color: ${brand.white};\r\n color: ${brand.black};\r\n border: 1px solid ${brand.white};\r\n\r\n &:hover {\r\n border-color: ${brand.white};\r\n background-color: ${brand.white};\r\n color: ${brand.black};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.black};\r\n }\r\n`;\r\nconst BlackStyles = css `\r\n background-color: ${brand.grey.grey20};\r\n color: ${brand.white};\r\n\r\n &:hover {\r\n border-color: ${brand.grey.grey44};\r\n background-color: ${brand.grey.grey44};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst GreyStyles = css `\r\n background-color: ${brand.grey.grey89};\r\n color: ${brand.black};\r\n\r\n &:hover {\r\n border-color: ${brand.grey.grey76};\r\n background-color: ${brand.grey.grey76};\r\n color: ${brand.black};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.black};\r\n }\r\n`;\r\nconst TextOnlyStyles = css `\r\n border: 1px solid transparent;\r\n background: none;\r\n color: ${brand.black};\r\n\r\n &:hover {\r\n border-color: ${brand.black};\r\n background-color: ${brand.black};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst TextOnlyPrimaryStyles = css `\r\n ${ThemeSwitch({\r\n groundforceColour: brand.primary.alt,\r\n groundforceColourHover: brand.primary.base,\r\n})}\r\n ${TextOnlyStyles};\r\n color: var(--theme);\r\n\r\n &:hover {\r\n border-color: transparent;\r\n background-color: transparent;\r\n color: var(--theme-hover);\r\n }\r\n\r\n &:active,\r\n &:focus {\r\n color: var(--theme-hover);\r\n }\r\n`;\r\nconst IconLeft = css `\r\n padding-right: 12px;\r\n\r\n @media ${until(Device.DesktopSmall)} {\r\n padding-right: 6px;\r\n }\r\n`;\r\nconst IconRight = css `\r\n padding-left: 15px;\r\n\r\n @media ${until(Device.DesktopSmall)} {\r\n padding-left: 6px;\r\n }\r\n`;\r\nconst hideText = css `\r\n ${Text} {\r\n @media ${until(Device.DesktopSmall)} {\r\n display: none;\r\n }\r\n }\r\n`;\r\nconst Icon = styled.div `\r\n display: inline-block;\r\n vertical-align: middle;\r\n\r\n ${({ position }) => {\r\n switch (position) {\r\n case 'left':\r\n return IconLeft;\r\n case 'right':\r\n return IconRight;\r\n default:\r\n break;\r\n }\r\n}}\r\n\r\n svg {\r\n vertical-align: middle;\r\n max-height: 24px;\r\n width: 22px;\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n position: relative;\r\n padding: 11px 14px;\r\n\r\n [data-theme='textOnly'] & {\r\n ${TextOnlyStyles}\r\n }\r\n [data-theme='textOnlyPrimary'] & {\r\n ${TextOnlyPrimaryStyles}\r\n }\r\n [data-theme='primary'] & {\r\n ${PrimaryStyles}\r\n }\r\n [data-theme='primaryAlt'] & {\r\n ${PrimaryAltStyles}\r\n }\r\n [data-theme='secondary'] & {\r\n ${SecondaryStyles}\r\n }\r\n [data-theme='white'] & {\r\n ${WhiteStyles}\r\n }\r\n [data-theme='black'] & {\r\n ${BlackStyles}\r\n }\r\n [data-theme='grey'] & {\r\n ${GreyStyles}\r\n }\r\n`;\r\nconst Button = styled.button `\r\n ${ButtonReset};\r\n display: inline-block;\r\n padding: 0;\r\n position: relative;\r\n transition: background-color 0.3s, border-color 0.3s, opacity 100ms;\r\n user-select: none;\r\n background-color: transparent;\r\n border: none;\r\n\r\n &:hover,\r\n &:focus {\r\n ${HoverEffect} {\r\n transform: translate(10px, 10px);\r\n }\r\n }\r\n\r\n &:disabled {\r\n user-select: none;\r\n cursor: not-allowed;\r\n opacity: 0.5;\r\n }\r\n\r\n ${Text} {\r\n ${fonts.DaxPro.Bold};\r\n font-size: 18px;\r\n line-height: 24px;\r\n display: inline-block;\r\n vertical-align: middle;\r\n }\r\n\r\n ${({ branding }) => {\r\n switch (branding) {\r\n case 'textOnly':\r\n return TextOnlyStyles;\r\n case 'textOnlyPrimary':\r\n return TextOnlyPrimaryStyles;\r\n case 'primary':\r\n return PrimaryStyles;\r\n case 'secondary':\r\n return SecondaryStyles;\r\n case 'white':\r\n return WhiteStyles;\r\n case 'black':\r\n return BlackStyles;\r\n default:\r\n break;\r\n }\r\n}}\r\n\r\n ${({ hoverColour }) => {\r\n switch (hoverColour) {\r\n case 'primary':\r\n return css `\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n\r\n ${HoverEffect} {\r\n color: var(--theme) !important;\r\n }\r\n\r\n ${Inner} {\r\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\r\n }\r\n\r\n &:hover {\r\n ${Inner} {\r\n background-color: var(--theme) !important;\r\n border-color: var(--theme) !important;\r\n }\r\n }\r\n `;\r\n case 'black':\r\n return css `\r\n ${HoverEffect} {\r\n color: ${brand.black} !important;\r\n }\r\n\r\n ${Inner} {\r\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\r\n }\r\n\r\n &:hover {\r\n ${Inner} {\r\n background-color: ${brand.black} !important;\r\n border-color: ${brand.black} !important;\r\n }\r\n }\r\n `;\r\n default:\r\n break;\r\n }\r\n}}\r\n\r\n ${({ hideTextMobile }) => {\r\n if (hideTextMobile) {\r\n return hideText;\r\n }\r\n}}\r\n`;\r\nexport const ButtonStyles = {\r\n Button,\r\n HoverEffect,\r\n Icon,\r\n Inner,\r\n Text,\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nexport function buttonTheme(theme) {\r\n const value = css `\r\n ${theme.bgColor &&\r\n css `\r\n --buttonBgColor: ${theme.bgColor};\r\n `}\r\n\r\n ${theme.borderColor &&\r\n css `\r\n --buttonBorderColor: ${theme.borderColor};\r\n `}\r\n\r\n ${theme.fgColor &&\r\n css `\r\n --buttonColor: ${theme.fgColor};\r\n `}\r\n `;\r\n return value;\r\n}\r\nexport const sharedButtonStyles = css `\r\n display: inline-flex;\r\n align-items: center;\r\n border: 0;\r\n background-color: ${brand.black};\r\n border: 1px solid ${brand.black};\r\n border-radius: 8px;\r\n color: ${brand.white};\r\n height: 48px;\r\n justify-content: flex-start;\r\n margin: 0;\r\n outline: none;\r\n padding: 0 24px;\r\n place-content: center;\r\n place-items: center;\r\n text-decoration: none;\r\n transition: background-color 0.15s ease-out, background-size 0.15s ease-out,\r\n border-color 0.15s ease-out, color 0.15s ease-out, opacity 0.15s ease-out,\r\n transform 0.15s ease-out;\r\n user-select: none;\r\n width: auto;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n ${() => Icon} {\r\n margin-left: 12px;\r\n }\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n min-width: 150px;\r\n }\r\n`;\r\nexport const Icon = styled.span `\r\n display: block;\r\n height: 20px;\r\n width: 20px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n`;\r\nexport const Text = styled.span `\r\n color: currentColor;\r\n\r\n font-size: 18px;\r\n line-height: 25px;\r\n`;\r\n"],"sourceRoot":""}