{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/helpers/media.ts","webpack:///./src/helpers/ssr.ts","webpack:///./src/stories/Components/Content/WYSIWYG/WYSIWYG.styles.ts","webpack:///./src/helpers/fluid.ts","webpack:///./src/hoc/withMotionMax.tsx","webpack:///./src/hoc/withWidget.ts","webpack:///./src/img/icons/chevron-left.svg","webpack:///./src/helpers/mediaComponent.tsx","webpack:///./src/stories/Components/Global/Typography/Paragraph.styles.ts","webpack:///./src/stories/Components/Global/Typography/Heading.styles.ts","webpack:///./src/helpers/grid.ts","webpack:///./src/helpers/ReactPropsHelper.ts","webpack:///./src/helpers/brand.ts","webpack:///./src/stories/Components/Global/Typography/Paragraph.tsx","webpack:///./src/img/icons/arrow-short.svg","webpack:///./src/stories/Widgets/TrainingArea/TabbedSection/TabbedSection.styles.ts","webpack:///./src/stories/Widgets/TrainingArea/TabbedSection/TabbedSection.widget.tsx","webpack:///./src/helpers/imageUrl.ts","webpack:///./src/core/enums.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","81","86","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","Device","from","size","until","between","min","max","isSSR","window","document","WYSIWYGStyles","Wrapper","styled","div","HeadingStyles","H5Styles","ThemeSwitch","groundforceColour","brand","primary","alt","ParagraphStyles","RegularStyles","grey","grey35","grey96","tpaColour","transparentize","tpa","base","DesktopLarge","black","grey44","fonts","DaxPro","Bold","white","DEFAULT_MIN_VALUE","TabletSmall","DEFAULT_MAX_VALUE","ActualDesktop","fluid","minWidth","maxWidth","minRem","maxRem","minWidthRem","maxWidthRem","slope","yAxisIntersection","clampMin","round","clampVal","clampMax","num","Math","withMotionMax","WrappedComponent","displayName","ComponentWithMotionMax","props","React","createElement","LazyMotion","features","domMax","strict","component","componentName","options","hydrate","HydrateOption","Never","configs","ReactPropsHelper","filter","x","toLowerCase","config","index","container","querySelector","id","classList","add","requestIdleCallback","element","_path","_extends","assign","target","arguments","source","SvgChevronLeft","xmlns","viewBox","fill","stroke","strokeWidth","MediaComponentStyles","$mobile","css","TabletLarge","$desktop","MediaComponent","children","rest","desktop","mobile","LargeStyles","Regular","SmallStyles","Paragraph","isLatestNewsWidget","align","H1Styles","H2Styles","H3Styles","H4Styles","DesktopSmall","H6Styles","Heading","h1","visual","baseGrid","MobileLarge","Tablet","Grid","Default","Desktop","DefaultBreakout","DefaultPseudo","Inner","CardGridSpans","reactPropsNode","JSON","parse","innerHTML","dark","light","accent","orange","divisionTags","mrCropper","sandhurst","default","grey89","hsl","grey76","grey75","grey55","grey40","grey20","red","ysp","input","water","ground","excavation","className","Container","Tabs","attrs","role","Tab","button","whileHover","initial","animate","exit","type","Medium","BackgroundAnimation","Arrow","variants","hidden","opacity","visible","transition","duration","TabTitle","Content","Layout","height","MainContent","ImageContainer","WYSIWYGOverrides","TabbedSectionStyles","ContentWrapper","RichTextContent","Files","ButtonStyles","HoverEffect","FAQList","FAQWrapper","FAQTitle","FAQBody","open","FAQInner","SvgArrowShort","strokeLinecap","strokeLinejoin","TabType","Collapse","faq","useState","setOpen","S","onClick","title","Chevron","dangerouslySetInnerHTML","__html","body","withWidget","tabs","translations","headings","useMemo","map","currentTab","setCurrentTab","hoveredTab","setHoveredTab","heading","onMouseEnter","onMouseLeave","layoutId","tab","RichText","image","content","files","file","DownloadCard","replace","FAQ","faqs","loading","width","src","imageUrl","InView","publicId","params","transformation","aspectRatio","dpr","crop","gravity","format","indexOf","createTransformation","encodedPublicId","encodeURIComponent","MediaType","HireViewType","OrderStepProgress"],"mappings":"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","file":"TabbedSection-10c386ccab5fe1cd1d9d.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\t81: 0,\n \t\t86: 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([604,0,1,2,4,5,7,14,8,21]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export var Device;\r\n(function (Device) {\r\n Device[Device[\"MobileSmall\"] = 320] = \"MobileSmall\";\r\n Device[Device[\"MobileMedium\"] = 360] = \"MobileMedium\";\r\n Device[Device[\"Mobile\"] = 375] = \"Mobile\";\r\n Device[Device[\"MobileLarge\"] = 480] = \"MobileLarge\";\r\n Device[Device[\"TabletSmall\"] = 568] = \"TabletSmall\";\r\n Device[Device[\"Tablet\"] = 768] = \"Tablet\";\r\n Device[Device[\"TabletLarge\"] = 1024] = \"TabletLarge\";\r\n Device[Device[\"DesktopSmall\"] = 1280] = \"DesktopSmall\";\r\n Device[Device[\"Desktop\"] = 1366] = \"Desktop\";\r\n Device[Device[\"DesktopLarge\"] = 1600] = \"DesktopLarge\";\r\n Device[Device[\"ActualDesktop\"] = 1920] = \"ActualDesktop\";\r\n Device[Device[\"DesktopXL\"] = 2560] = \"DesktopXL\";\r\n})(Device || (Device = {}));\r\nexport function from(size) {\r\n return `(min-width: ${size}px)`;\r\n}\r\nexport function until(size) {\r\n return `(max-width: ${size - 1}px)`;\r\n}\r\nexport function between(min, max) {\r\n return `${from(min)} and ${until(max)}`;\r\n}\r\n","export const isSSR = () => {\r\n const returnValue = !(typeof window != 'undefined' && window.document);\r\n return returnValue;\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport { ThemeSwitch } from '@helpers/theme';\r\nimport HeadingStyles from '@stories/Components/Global/Typography/Heading.styles';\r\nimport ParagraphStyles from '@stories/Components/Global/Typography/Paragraph.styles';\r\nimport { transparentize } from 'polished';\r\nimport styled from 'styled-components';\r\nconst Wrapper = styled.div `\r\n // Needed for the horizontal scroll table\r\n overflow: auto;\r\n line-height: normal;\r\n\r\n h1,\r\n h2 {\r\n ${HeadingStyles.H5Styles};\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n color: var(--theme);\r\n }\r\n\r\n p {\r\n ${ParagraphStyles.RegularStyles};\r\n }\r\n\r\n a {\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n color: var(--theme);\r\n }\r\n\r\n table {\r\n table-layout: fixed;\r\n min-width: 700px;\r\n width: 100%;\r\n\r\n thead {\r\n tr {\r\n background: ${brand.grey.grey35};\r\n }\r\n }\r\n\r\n tbody {\r\n tr {\r\n background-color: ${brand.grey.grey96};\r\n\r\n &:nth-child(odd) {\r\n ${ThemeSwitch({\r\n groundforceColour: 'rgba(102, 153, 0, 0.12)',\r\n tpaColour: transparentize(0.88, brand.tpa.base),\r\n})}\r\n background-color: var(--theme);\r\n }\r\n }\r\n }\r\n\r\n th,\r\n td {\r\n padding: 12px 20px;\r\n width: 216px;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n padding: 12px 34px;\r\n }\r\n }\r\n\r\n td {\r\n color: ${brand.black};\r\n\r\n border-right: 1px solid ${brand.grey.grey44};\r\n &:last-child {\r\n border-right: none;\r\n }\r\n }\r\n\r\n th {\r\n ${fonts.DaxPro.Bold};\r\n color: ${brand.white};\r\n font-size: 20px;\r\n }\r\n }\r\n\r\n iframe {\r\n min-height: 900px;\r\n }\r\n\r\n &[data-hidden='true'] {\r\n display: none;\r\n }\r\n`;\r\nexport const WYSIWYGStyles = {\r\n Wrapper,\r\n};\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 { domMax, LazyMotion } from 'framer-motion';\r\nimport React from 'react';\r\nexport function withMotionMax(WrappedComponent) {\r\n const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\r\n const ComponentWithMotionMax = (props) => {\r\n return (React.createElement(LazyMotion, { features: domMax, strict: true },\r\n React.createElement(WrappedComponent, { ...props })));\r\n };\r\n ComponentWithMotionMax.displayName = `withMotionMax(${displayName})`;\r\n return ComponentWithMotionMax;\r\n}\r\n","import { HydrateOption } from '@core/enums';\r\nimport ReactPropsHelper from '@helpers/ReactPropsHelper';\r\nimport { isSSR } from '@helpers/ssr';\r\nimport { createElement } from 'react';\r\nimport { hydrate } from 'react-dom';\r\nimport 'regenerator-runtime/runtime';\r\nexport default function (component, componentName, options) {\r\n if (isSSR() || options.hydrate === HydrateOption.Never) {\r\n return component;\r\n }\r\n const configs = ReactPropsHelper.props.filter((x) => x.name.toLowerCase() === `components.${componentName.toLowerCase()}`);\r\n if (!configs || configs.length === 0) {\r\n return component;\r\n }\r\n for (let index = 0; index < configs.length; index++) {\r\n const config = configs[index];\r\n const container = document.querySelector(`#${config.id}:not(.hydrated)`);\r\n if (!container) {\r\n continue;\r\n }\r\n container.classList.add('hydrated');\r\n // Not supported in Safari iOS\r\n if (window.requestIdleCallback) {\r\n window.requestIdleCallback(() => {\r\n const element = createElement(component, config.props);\r\n // const t0 = performance.now();\r\n hydrate(element, container);\r\n // const t1 = performance.now();\r\n // console.log(`${componentName} hydrate took ${t1 - t0} milliseconds.`);\r\n });\r\n }\r\n else {\r\n hydrate(createElement(component, config.props), container);\r\n }\r\n }\r\n return component;\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 SvgChevronLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 10.384 17.941\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.677.708L1.414 8.971l8.263 8.263\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2\n })));\n}\n\nexport default __webpack_public_path__ + \"11b88404772f121a18c9cd642acd31eb.svg\";\nexport { SvgChevronLeft as ReactComponent };","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { Device, from, until } from \"./media\";\r\nconst MediaComponentStyles = styled.div `\r\n display: contents;\r\n\r\n ${({ $mobile: mobile }) => mobile &&\r\n css `\r\n @media ${from(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n `}\r\n\r\n ${({ $desktop: desktop }) => desktop &&\r\n css `\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n }\r\n `}\r\n`;\r\nexport const MediaComponent = ({ children, ...rest }) => {\r\n return (React.createElement(MediaComponentStyles, { \"$desktop\": rest.desktop, \"$mobile\": rest.mobile }, children));\r\n};\r\n","import { fonts } from '@helpers/fonts';\r\nimport styled, { css } from 'styled-components';\r\n/**\r\n * 20px / 28px\r\n */\r\nexport const LargeStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 20px;\r\n letter-spacing: normal;\r\n line-height: 28px;\r\n margin-bottom: 16px;\r\n`;\r\n/**\r\n * 18px / 28px\r\n */\r\nexport const RegularStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 18px;\r\n letter-spacing: normal;\r\n line-height: 28px;\r\n margin-bottom: 16px;\r\n`;\r\n/**\r\n * 16px / 26px\r\n */\r\nexport const SmallStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 16px;\r\n letter-spacing: normal;\r\n line-height: 26px;\r\n margin-bottom: 16px;\r\n`;\r\nconst Paragraph = styled.p `\r\n ${({ isLatestNewsWidget }) => isLatestNewsWidget\r\n ? css `\r\n min-height: 104px;\r\n `\r\n : null}\r\n \r\n ${({ align }) => align\r\n ? css `\r\n text-align: ${align};\r\n `\r\n : null}\r\n\r\n ${({ size }) => {\r\n switch (size) {\r\n case 'large':\r\n return LargeStyles;\r\n case 'regular':\r\n return RegularStyles;\r\n case 'small':\r\n return SmallStyles;\r\n default:\r\n break;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n Paragraph,\r\n SmallStyles,\r\n RegularStyles,\r\n LargeStyles,\r\n};\r\n","import { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nconst H1Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 45px;\r\n letter-spacing: 0.02em;\r\n line-height: 48px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 70px;\r\n line-height: 70px;\r\n }\r\n`;\r\nconst H2Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 38px;\r\n letter-spacing: 0.02em;\r\n line-height: 40px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 60px;\r\n line-height: 60px;\r\n }\r\n`;\r\nconst H3Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 35px;\r\n letter-spacing: 0.02em;\r\n line-height: 42px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 50px;\r\n line-height: 60px;\r\n }\r\n`;\r\nconst H4Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 22px;\r\n letter-spacing: 0.02em;\r\n line-height: 24px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 40px;\r\n line-height: 40px;\r\n }\r\n`;\r\nconst H5Styles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 24px;\r\n margin-bottom: 12px;\r\n line-height: 22px;\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n font-size: 35px;\r\n line-height: 38px;\r\n margin-bottom: 16px;\r\n }\r\n`;\r\nconst H6Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 16px;\r\n letter-spacing: 0.02em;\r\n line-height: 20px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 20px;\r\n line-height: 28px;\r\n }\r\n`;\r\nconst Heading = styled.h1 `\r\n ${({ visual }) => {\r\n switch (visual) {\r\n case 'h1':\r\n return H1Styles;\r\n case 'h2':\r\n return H2Styles;\r\n case 'h3':\r\n return H3Styles;\r\n case 'h4':\r\n return H4Styles;\r\n case 'h5':\r\n return H5Styles;\r\n case 'h6':\r\n return H6Styles;\r\n default:\r\n break;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n // H1Styles,\r\n // H2Styles,\r\n H3Styles,\r\n H4Styles,\r\n H5Styles,\r\n // H6Styles,\r\n Heading,\r\n};\r\n","import styled, { css } from 'styled-components';\r\nimport { Device, from } from './media';\r\nconst baseGrid = css `\r\n --grid-gap: 10px;\r\n display: grid;\r\n grid-template-columns: repeat(12, 1fr);\r\n grid-gap: var(--grid-gap);\r\n max-width: 1920px;\r\n margin: 0 auto;\r\n\r\n max-width: 1920px;\r\n margin: 0 auto;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n --grid-gap: 12px;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n --grid-gap: 15px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --grid-gap: 20px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n --grid-gap: 30px;\r\n }\r\n`;\r\nconst Default = styled.div `\r\n ${baseGrid};\r\n --gridPadding: 13px;\r\n max-width: 1920px;\r\n margin: 0 auto;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n --gridPadding: 40px;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n --gridPadding: 60px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --gridPadding: 80px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n --gridPadding: 100px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n --gridPadding: 120px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n --gridPadding: 140px;\r\n }\r\n\r\n padding: 0px var(--gridPadding);\r\n`;\r\nconst DefaultBreakout = css `\r\n position: relative;\r\n left: 0px;\r\n right: 0px;\r\n margin: 0px -13px;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n margin: 0px -40px;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin: 0px -60px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin: 0px -80px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n margin: 0px -100px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n margin: 0px -120px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n margin: 0px -140px;\r\n }\r\n`;\r\nconst DefaultPseudo = css `\r\n position: relative;\r\n\r\n &:before,\r\n &:after {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n }\r\n\r\n &:before {\r\n left: -13px;\r\n width: 13px;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n left: -40px;\r\n width: 40px;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n left: -60px;\r\n width: 60px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n left: -80px;\r\n width: 80px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n left: -100px;\r\n width: 100px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n left: -120px;\r\n width: 120px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n left: -140px;\r\n width: 140px;\r\n }\r\n }\r\n\r\n &:after {\r\n right: -13px;\r\n width: 13px;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n right: -40px;\r\n width: 40px;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n right: -60px;\r\n width: 60px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n right: -80px;\r\n width: 80px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n right: -100px;\r\n width: 100px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n right: -120px;\r\n width: 120px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n right: -140px;\r\n width: 140px;\r\n }\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n ${baseGrid};\r\n`;\r\nconst CardGridSpans = css `\r\n grid-column: span 6;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: span 4;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n grid-column: span 3;\r\n }\r\n`;\r\nexport const Grid = {\r\n Default,\r\n DefaultBreakout,\r\n DefaultPseudo,\r\n Inner,\r\n CardGridSpans,\r\n};\r\n","import { isSSR } from './ssr';\r\nclass ReactPropsHelper {\r\n props = [];\r\n constructor() {\r\n if (isSSR()) {\r\n return;\r\n }\r\n const reactPropsNode = document.querySelector('#react_props');\r\n if (!reactPropsNode) {\r\n return;\r\n }\r\n this.props = JSON.parse(reactPropsNode.innerHTML);\r\n }\r\n}\r\nexport default new ReactPropsHelper();\r\n","import { hsl } from 'polished';\r\nexport default {\r\n /** Hex: #1f1f1f */\r\n black: '#1f1f1f',\r\n /** Hex: #fff */\r\n white: '#fff',\r\n primary: {\r\n /** Hex: #859a3e */\r\n base: '#859a3e',\r\n /** Hex: #558000 */\r\n dark: '#558000',\r\n /** Hex: #84bb26 */\r\n light: '#84bb26',\r\n /** Hex: #669900 */\r\n alt: '#669900',\r\n },\r\n accent: {\r\n /** Hex: #FF6600 */\r\n orange: '#FF6600',\r\n },\r\n divisionTags: {\r\n mrCropper: '#CC0000',\r\n sandhurst: '#FF6600',\r\n default: '#669900',\r\n },\r\n grey: {\r\n /** Hex: #E5E5E5 */\r\n grey89: hsl(0, 0, 0.89),\r\n /** Hex: #F6F6F6 */\r\n grey96: hsl(0, 0, 0.96),\r\n /** Hex: #C1C1C1 */\r\n grey76: hsl(0, 0, 0.76),\r\n grey75: hsl(0, 0, 0.75),\r\n /** Hex: #8D8C8C*/\r\n grey55: hsl(0, 0, 0.55),\r\n /** Hex: #707070*/\r\n grey44: hsl(0, 0, 0.44),\r\n /** Hex: #666666*/\r\n grey40: hsl(0, 0, 0.4),\r\n /** Hex: #5A5A5A */\r\n grey35: hsl(0, 0, 0.35),\r\n /** Hex: #333333*/\r\n grey20: hsl(0, 0, 0.2),\r\n },\r\n red: { base: 'red' },\r\n ysp: {\r\n input: '#DBE6C7',\r\n water: '#0097a9',\r\n ground: '#ab0216',\r\n excavation: '#93545c',\r\n },\r\n tpa: {\r\n base: '#26358c',\r\n light: '#009dff',\r\n },\r\n};\r\n","import React from 'react';\r\nimport s from './Paragraph.styles';\r\nconst Paragraph = ({ children, className, size = 'regular', align = 'left', isLatestNewsWidget, }) => {\r\n return (React.createElement(s.Paragraph, { className: className, size: size, align: align, isLatestNewsWidget: isLatestNewsWidget }, children));\r\n};\r\nexport default Paragraph;\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 SvgArrowShort(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"none\",\n strokeWidth: 2,\n viewBox: \"0 0 24 24\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 12h14M12 5l7 7-7 7\"\n })));\n}\n\nexport default __webpack_public_path__ + \"36aa07821c2227afc9879415c42b5f4c.svg\";\nexport { SvgArrowShort as ReactComponent };","import brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { ButtonStyles } from '@stories/Components/Buttons/Button/Button.styles';\r\nimport { WYSIWYGStyles } from '@stories/Components/Content/WYSIWYG/WYSIWYG.styles';\r\nimport Paragraph from '@stories/Components/Global/Typography/Paragraph';\r\nimport { m } from 'framer-motion';\r\nimport { transparentize } from 'polished';\r\nimport styled, { css } from 'styled-components';\r\nconst Container = styled.div `\r\n padding: 40px 0px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n background-color: ${brand.grey.grey96};\r\n }\r\n`;\r\nconst Tabs = styled.div.attrs({ role: 'tabset' }) `\r\n gap: 4px;\r\n grid-column: 1 / -1;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n z-index: 2;\r\n background-color: ${brand.grey.grey96};\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: flex;\r\n flex-direction: column;\r\n grid-column: span 3;\r\n min-height: 500px;\r\n }\r\n\r\n height: max-content;\r\n max-height: 100%;\r\n position: sticky;\r\n top: 15px;\r\n`;\r\nconst Tab = styled.button.attrs((props) => ({\r\n whileHover: 'visible',\r\n initial: 'hidden',\r\n animate: props['data-current'] ? 'visible' : 'hidden',\r\n exit: 'hidden',\r\n type: 'button',\r\n role: 'tab',\r\n})) `\r\n padding: ${fluid(15, 22)} ${fluid(15, 27)};\r\n color: ${brand.black};\r\n background-color: ${transparentize(0.75, '#6F9D20')};\r\n transition: all 0.25s ease-in-out;\r\n font-size: ${fluid(20, 24)};\r\n cursor: pointer;\r\n position: relative;\r\n align-items: center;\r\n border: 0;\r\n ${fonts.DaxPro.Regular};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n text-align: center;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: 1fr 28px;\r\n min-height: 72px;\r\n }\r\n\r\n ${(props) => props['data-wide'] &&\r\n css `\r\n grid-column: span 2;\r\n `}\r\n\r\n --color: ${brand.white};\r\n &:hover {\r\n --color: ${brand.black};\r\n }\r\n\r\n &[data-current='true'] {\r\n --color: ${brand.white};\r\n color: ${brand.white};\r\n ${fonts.DaxPro.Medium};\r\n }\r\n`;\r\nconst BackgroundAnimation = styled(m.div) `\r\n position: absolute;\r\n inset: 0;\r\n width: 100%;\r\n height: 100%;\r\n background-color: #6f9d20;\r\n z-index: -1;\r\n`;\r\nconst Arrow = styled(m.div).attrs((props) => ({\r\n whileHover: 'visible',\r\n initial: 'hidden',\r\n animate: props['data-hovered'] || props['data-current'] ? 'visible' : 'hidden',\r\n variants: {\r\n hidden: {\r\n x: -25,\r\n opacity: 0,\r\n },\r\n visible: {\r\n x: 0,\r\n opacity: 1,\r\n },\r\n },\r\n transition: {\r\n duration: 0.35,\r\n },\r\n})) `\r\n width: ${fluid(15, 28)};\r\n height: ${fluid(15, 28)};\r\n color: var(--color);\r\n transition: color 0.25s ease-in-out;\r\n\r\n svg {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n`;\r\nconst TabTitle = styled(Paragraph) `\r\n ${fonts.DaxPro.Bold};\r\n font-weight: 700 !important; // The font-weight is being trumped by the Paragraph styles in build so adding this for now.\r\n`;\r\nconst Content = styled.div `\r\n padding-top: 25px;\r\n grid-column: 1 / -1;\r\n\r\n p,\r\n li {\r\n font-size: ${fluid(16, 20)} !important;\r\n }\r\n\r\n p {\r\n line-height: ${fluid(24, 36)} !important;\r\n }\r\n\r\n ${TabTitle} {\r\n font-size: 24px !important;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n overflow: hidden;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding-top: 18px;\r\n grid-column: 4 / -1;\r\n }\r\n`;\r\nconst Layout = styled(m.div).attrs((props) => ({\r\n initial: 'hidden',\r\n animate: props['data-current'] ? 'visible' : 'hidden',\r\n exit: 'hidden-reverse',\r\n variants: {\r\n hidden: {\r\n x: -25,\r\n opacity: 0,\r\n height: 0,\r\n },\r\n visible: {\r\n x: 0,\r\n opacity: 1,\r\n height: '100%',\r\n },\r\n 'hidden-reverse': {\r\n x: 25,\r\n opacity: 0,\r\n height: 0,\r\n },\r\n },\r\n transition: {\r\n duration: 0.35,\r\n },\r\n})) `\r\n gap: 25px;\r\n height: 100%;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: ${(props) => (props['data-current'] ? 'flex' : 'none')};\r\n flex-direction: column;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: ${(props) => (props.type === 'full' ? '1fr' : `1fr ${fluid(150, 528)}`)};\r\n ${(props) => !props['data-current'] && 'display: none;'}\r\n }\r\n`;\r\nconst MainContent = styled.div `\r\n overflow: auto;\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n height: 100%;\r\n width: 100%;\r\n\r\n div[id^='react_']:not(:has(+ div[id^='react_'])) & {\r\n overflow: unset;\r\n }\r\n`;\r\nconst ImageContainer = styled.div `\r\n @media ${until(Device.TabletLarge)} {\r\n img {\r\n width: 100%;\r\n }\r\n }\r\n`;\r\nconst WYSIWYGOverrides = css `\r\n img {\r\n max-width: ${fluid(150, 200)};\r\n }\r\n\r\n a {\r\n text-decoration: underline;\r\n }\r\n\r\n ul {\r\n padding-left: ${fluid(15, 20)};\r\n\r\n li {\r\n padding-left: ${fluid(15, 20)};\r\n position: relative;\r\n margin-bottom: ${fluid(8, 12)};\r\n line-height: 1.2em;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n background-color: rgb(133, 154, 62);\r\n top: 0.5em;\r\n left: 0;\r\n display: block;\r\n border-radius: 50%;\r\n }\r\n }\r\n }\r\n`;\r\nconst ContentWrapper = styled.div `\r\n position: absolute;\r\n inset: 0;\r\n\r\n div[id^='react_']:not(:has(+ div[id^='react_'])) & {\r\n position: static;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n position: relative;\r\n }\r\n`;\r\nconst RichTextContent = styled(WYSIWYGStyles.Wrapper) `\r\n ${WYSIWYGOverrides}\r\n overflow: visible;\r\n`;\r\nconst Files = styled.div `\r\n gap: ${fluid(15, 20)};\r\n @media ${until(Device.TabletLarge)} {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n @media ${from(Device.TabletLarge)} {\r\n display: grid;\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n\r\n ${() => ButtonStyles.Inner} {\r\n background-color: ${brand.grey.grey89} !important;\r\n color: ${brand.grey.grey20} !important;\r\n }\r\n\r\n ${() => ButtonStyles.HoverEffect} {\r\n color: ${brand.grey.grey89} !important;\r\n }\r\n`;\r\nconst FAQList = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n`;\r\nconst FAQWrapper = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n border-bottom: 2px solid ${brand.primary.alt};\r\n\r\n svg {\r\n width: ${fluid(10, 15)};\r\n margin-left: auto;\r\n\r\n path {\r\n stroke-width: 1px !important;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n margin-right: 3px;\r\n }\r\n transition: transform 0.15s ease-in-out;\r\n transform: rotate(-90deg);\r\n }\r\n\r\n &[data-open='true'] {\r\n svg {\r\n transform: rotate(-270deg);\r\n }\r\n }\r\n`;\r\nconst FAQTitle = styled(Paragraph) `\r\n cursor: pointer;\r\n user-select: none;\r\n display: grid;\r\n grid-template-columns: 1fr 40px;\r\n gap: 10px;\r\n align-items: center;\r\n\r\n ${fonts.DaxPro.Medium};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n font-size: 16px;\r\n line-height: 19px;\r\n }\r\n`;\r\nconst FAQBody = styled(m.div).attrs(({ open }) => ({\r\n initial: 'hidden',\r\n animate: open ? 'visible' : 'hidden',\r\n variants: {\r\n hidden: {\r\n height: '0px',\r\n },\r\n visible: {\r\n height: 'auto',\r\n },\r\n },\r\n})) `\r\n overflow: hidden;\r\n`;\r\nconst FAQInner = styled(WYSIWYGStyles.Wrapper) `\r\n padding: 10px 0px;\r\n ${WYSIWYGOverrides}\r\n`;\r\nexport const TabbedSectionStyles = {\r\n Tabs,\r\n Tab,\r\n BackgroundAnimation,\r\n Arrow,\r\n Content,\r\n Layout,\r\n MainContent,\r\n TabTitle,\r\n ImageContainer,\r\n ContentWrapper,\r\n RichTextContent,\r\n Files,\r\n FAQList,\r\n FAQWrapper,\r\n FAQTitle,\r\n FAQBody,\r\n FAQInner,\r\n Container,\r\n};\r\n","import React from 'react';\r\nimport { TabbedSectionStyles as S } from './TabbedSection.styles';\r\nimport { Grid } from '@helpers/grid';\r\nimport { withMotionMax } from '@hoc/withMotionMax';\r\nimport { ReactComponent as Arrow } from '@img/icons/arrow-short.svg';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron-left.svg';\r\nimport { imageUrl } from '@helpers/imageUrl';\r\nimport DownloadCard from '@stories/Components/Cards/DownloadCard/DownloadCard';\r\nimport { MediaComponent } from '@helpers/mediaComponent';\r\nimport withWidget from '@hoc/withWidget';\r\nimport { HydrateOption } from '@core/enums';\r\nexport var TabType;\r\n(function (TabType) {\r\n TabType[TabType[\"RichText\"] = 0] = \"RichText\";\r\n TabType[TabType[\"FAQ\"] = 1] = \"FAQ\";\r\n TabType[TabType[\"Files\"] = 2] = \"Files\";\r\n})(TabType || (TabType = {}));\r\nconst Collapse = ({ faq }) => {\r\n const [open, setOpen] = React.useState(false);\r\n return (React.createElement(S.FAQWrapper, { \"data-open\": open, onClick: () => setOpen(!open) },\r\n React.createElement(S.FAQTitle, { size: \"regular\" },\r\n faq.title,\r\n \" \",\r\n React.createElement(Chevron, null)),\r\n React.createElement(S.FAQBody, { open: open },\r\n React.createElement(S.FAQInner, { dangerouslySetInnerHTML: { __html: faq.body } }))));\r\n};\r\nconst TabbedSection = ({ tabs, translations }) => {\r\n const headings = React.useMemo(() => tabs.map((x) => x.title), [tabs]);\r\n const [currentTab, setCurrentTab] = React.useState(headings[0]);\r\n const [hoveredTab, setHoveredTab] = React.useState(null);\r\n return (React.createElement(S.Container, null,\r\n React.createElement(Grid.Default, null,\r\n React.createElement(S.Tabs, null, headings.map((heading, i) => (React.createElement(S.Tab, { \"data-wide\": i === 0 && tabs.length % 2 !== 0, \"data-current\": currentTab === heading, key: `TabbedSection_${i}`, onClick: () => setCurrentTab(heading), onMouseEnter: () => setHoveredTab(heading), onMouseLeave: () => setHoveredTab(null) },\r\n heading,\r\n currentTab === heading && (React.createElement(S.BackgroundAnimation, { layoutId: \"TabbedSection_Animation\" })),\r\n React.createElement(MediaComponent, { desktop: true },\r\n React.createElement(S.Arrow, { key: `TabbedSection_Arrow`, \"data-hovered\": hoveredTab === heading, \"data-current\": currentTab === heading },\r\n React.createElement(Arrow, null))))))),\r\n React.createElement(S.Content, null, tabs.map((tab, i) => (React.createElement(S.Layout, { type: tab.type === TabType.RichText && !!tab.image ? 'split' : 'full', \"data-current\": currentTab === tab.title, key: `TabbedSection_Tab_${tab.title}_${i}` },\r\n React.createElement(S.MainContent, null,\r\n React.createElement(S.ContentWrapper, null,\r\n React.createElement(S.TabTitle, { size: \"regular\" }, tab.title),\r\n (tab.type === TabType.RichText || tab.type === TabType.Files) && tab.content && (React.createElement(S.RichTextContent, { dangerouslySetInnerHTML: { __html: tab.content } })),\r\n tab.type === TabType.Files && tab.files && (React.createElement(S.Files, null, tab.files.map((file, i) => (React.createElement(DownloadCard, { key: `TabbedSection_${tab.title.replace(/ /g, '')}_${i}`, ...file, translations: translations }))))),\r\n tab.type === TabType.FAQ && tab.faqs?.length > 0 && (React.createElement(S.FAQList, null, tab.faqs.map((faq, i) => (React.createElement(Collapse, { key: `TabbedSection_FAQ_${i}`, faq: faq }))))))),\r\n tab.type === TabType.RichText && tab.image && (React.createElement(S.ImageContainer, null,\r\n React.createElement(\"img\", { loading: \"lazy\", width: 528, alt: tab.title, src: imageUrl(tab.image, { width: 528 }) }))))))))));\r\n};\r\nexport default withWidget(withMotionMax(TabbedSection), 'TabbedSection', {\r\n hydrate: HydrateOption.InView,\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","export var MediaType;\r\n(function (MediaType) {\r\n MediaType[MediaType[\"Image\"] = 0] = \"Image\";\r\n MediaType[MediaType[\"YouTube\"] = 1] = \"YouTube\";\r\n})(MediaType || (MediaType = {}));\r\nexport var HireViewType;\r\n(function (HireViewType) {\r\n HireViewType[HireViewType[\"ReadOnly\"] = 0] = \"ReadOnly\";\r\n HireViewType[HireViewType[\"Editable\"] = 1] = \"Editable\";\r\n})(HireViewType || (HireViewType = {}));\r\nexport var OrderStepProgress;\r\n(function (OrderStepProgress) {\r\n OrderStepProgress[OrderStepProgress[\"Inactive\"] = 0] = \"Inactive\";\r\n OrderStepProgress[OrderStepProgress[\"Complete\"] = 1] = \"Complete\";\r\n OrderStepProgress[OrderStepProgress[\"Current\"] = 2] = \"Current\";\r\n})(OrderStepProgress || (OrderStepProgress = {}));\r\nexport var HydrateOption;\r\n(function (HydrateOption) {\r\n HydrateOption[HydrateOption[\"Always\"] = 0] = \"Always\";\r\n HydrateOption[HydrateOption[\"InView\"] = 1] = \"InView\";\r\n HydrateOption[HydrateOption[\"Never\"] = 2] = \"Never\";\r\n})(HydrateOption || (HydrateOption = {}));\r\n"],"sourceRoot":""}