{"version":3,"sources":["webpack:///./src/helpers/media.ts","webpack:///./src/helpers/to-base-64.ts","webpack:///./src/hoc/withWidget.ts","webpack:///./src/stories/Components/Global/Typography/Heading.styles.ts","webpack:///./src/stories/Components/Global/Typography/Paragraph.styles.ts","webpack:///./src/helpers/ReactPropsHelper.ts","webpack:///./src/helpers/grid.ts","webpack:///./src/stories/Components/Media/Image/Image.styles.ts","webpack:///./src/helpers/brand.ts","webpack:///./src/stories/Components/Cards/DocumentCard/DocumentCard.styles.ts","webpack:///./src/stories/Components/Global/Typography/Paragraph.tsx","webpack:///./src/helpers/cloudinary.ts","webpack:///./src/stories/Components/Media/Image/Image.tsx","webpack:///./src/core/enums.ts","webpack:///./src/helpers/ssr.ts"],"names":["Device","from","size","until","between","min","max","toBase64","str","window","Buffer","toString","btoa","component","componentName","options","isSSR","hydrate","HydrateOption","Never","configs","ReactPropsHelper","props","filter","x","name","toLowerCase","length","config","index","container","document","querySelector","id","classList","add","requestIdleCallback","element","createElement","H1Styles","css","fonts","DaxPro","Bold","DesktopLarge","H2Styles","H3Styles","H4Styles","H5Styles","Regular","DesktopSmall","H6Styles","Heading","styled","h1","visual","LargeStyles","RegularStyles","SmallStyles","Paragraph","p","isLatestNewsWidget","align","reactPropsNode","this","JSON","parse","innerHTML","baseGrid","MobileLarge","Tablet","TabletLarge","Grid","Default","div","Desktop","DefaultBreakout","DefaultPseudo","Inner","CardGridSpans","Image","img","objectFit","undefined","objectPosition","Intrinsic","Responsive","width","height","fullPaddingTop","quotient","isNaN","ImageStyles","Fixed","Fill","black","white","primary","base","dark","light","alt","accent","orange","divisionTags","mrCropper","sandhurst","default","grey","grey89","hsl","grey96","grey76","grey75","grey55","grey44","grey40","grey35","grey20","red","ysp","input","water","ground","excavation","Icon","brand","Card","a","TagArea","NoticeTag","span","Media","Content","ParagraphStyles","Date","Tag","DivisionTag","Title","h3","DocumentCardStyles","ParagraphContent","children","className","React","s","cl","Cloudinary","cloud","cloudName","url","secure","imageUrl","publicId","rawTransformation","transformation","image","addTransformation","FormatRegEx","test","toURL","delivery","format","fAuto","quality","qAuto","useState","hasErrored","setHasErrored","deviceWidths","MobileSmall","MobileMedium","Mobile","ActualDesktop","sort","b","srcSetUrls","map","src","join","sizes","handleError","e","currentTarget","fallbackSrc","components","layout","role","decoding","preload","loading","draggable","srcSet","onError","fetchPriority","sizerSvg","Fragment","MediaType","HireViewType","OrderStepProgress"],"mappings":"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","file":"default~DocumentList~FeaturedFullWidth~LatestNewsCarousel~ProductListing~SearchResults-fd06d5f4d42a93644329.js","sourcesContent":["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","/**\r\n * Isomorphic base64 that works on the server and client\r\n */\r\nexport function toBase64(str) {\r\n if (typeof window === 'undefined') {\r\n return Buffer.from(str).toString('base64');\r\n }\r\n else {\r\n return window.btoa(str);\r\n }\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","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 { 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 { 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 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 { Device, from } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nconst Image = styled.img `\r\n position: absolute;\r\n height: 100%;\r\n inset: 0px;\r\n box-sizing: border-box;\r\n padding: 0px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n border: none;\r\n display: block;\r\n text-indent: -999px;\r\n object-fit: ${({ objectFit }) => (objectFit !== undefined ? objectFit : 'initial')};\r\n object-position: ${({ objectPosition }) => objectPosition !== undefined ? objectPosition : undefined};\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n width: 100%;\r\n height: auto;\r\n }\r\n`;\r\nconst Intrinsic = styled.div `\r\n height: 100%;\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n position: relative;\r\n box-sizing: border-box;\r\n margin: 0;\r\n\r\n > div {\r\n box-sizing: border-box;\r\n display: block;\r\n max-width: 100%;\r\n }\r\n`;\r\nconst Responsive = styled.div `\r\n display: block;\r\n overflow: hidden;\r\n position: relative;\r\n box-sizing: border-box;\r\n margin: 0;\r\n\r\n > div {\r\n display: block;\r\n box-sizing: border-box;\r\n \r\n padding-top: ${({ width, height, fullPaddingTop }) => {\r\n if (fullPaddingTop || !height || !width) {\r\n return '100%';\r\n }\r\n const quotient = height / width;\r\n return isNaN(quotient) ? '100%' : `${quotient * 100}%`;\r\n}};\r\n\r\n [data-featured='true'] & {\r\n padding-top: unset;\r\n }\r\n\r\n }\r\n\r\n [data-featured='true'] & {\r\n height: 400px; //set specific height of image style\r\n }\r\n`;\r\nconst Fixed = styled.div `\r\n overflow: hidden;\r\n box-sizing: border-box;\r\n display: inline-block;\r\n position: relative;\r\n width: ${({ width }) => width}px;\r\n height: ${({ height }) => height}px;\r\n`;\r\nconst Fill = styled.div `\r\n display: block;\r\n overflow: hidden;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n right: 0;\r\n box-sizing: border-box;\r\n margin: 0;\r\n`;\r\nexport const ImageStyles = {\r\n Image,\r\n Intrinsic,\r\n Fixed,\r\n Responsive,\r\n Fill,\r\n};\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};\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport Paragraph from '@stories/Components/Global/Typography/Paragraph';\r\nimport ParagraphStyles from '@stories/Components/Global/Typography/Paragraph.styles';\r\nimport styled, { css } from 'styled-components';\r\nconst Icon = styled.div `\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n transition: opacity 175ms ease, transform 175ms ease;\r\n opacity: 0;\r\n transform: translateX(-10px);\r\n margin-top: auto;\r\n\r\n @media ${until(Device.Tablet)} {\r\n opacity: 1;\r\n }\r\n\r\n > svg {\r\n display: block;\r\n width: 18px;\r\n height: 21px;\r\n stroke: ${brand.black};\r\n stroke-width: 2px;\r\n transform: rotate(90deg);\r\n\r\n [data-featured='true'] & {\r\n stroke: ${brand.white};\r\n }\r\n }\r\n`;\r\nconst Card = styled.a `\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);\r\n color: ${brand.black};\r\n text-decoration: none;\r\n position: relative;\r\n\r\n ${(props) => props?.isLatestNewsWidget && css `\r\n height: auto !important;\r\n `}\r\n\r\n &:hover ${Icon} {\r\n transform: translateX(0px);\r\n opacity: 1;\r\n }\r\n\r\n &:hover,\r\n &:active,\r\n &:focus {\r\n color: ${brand.black};\r\n text-decoration: none;\r\n }\r\n\r\n [data-featured='true'] & {\r\n color: ${brand.white};\r\n background-color: ${brand.grey.grey20};\r\n }\r\n`;\r\nconst TagArea = styled.div `\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n z-index: 1;\r\n`;\r\nconst NoticeTag = styled.span `\r\n padding: 8px 17px;\r\n margin-right: 10px;\r\n background-color: ${brand.primary.alt};\r\n ${fonts.DaxPro.Bold};\r\n font-size: 20px;\r\n color: ${brand.white};\r\n z-index: 1;\r\n`;\r\nconst Media = styled.div `\r\n img {\r\n object-fit: contain;\r\n height: 100%;\r\n }\r\n\r\n ${(props) => props?.isLatestNewsWidget && css `\r\n aspect-ratio: 16/9;\r\n img {\r\n object-fit: cover!important;\r\n width: 100%!important;\r\n }\r\n\r\n @media ${until(Device.MobileLarge)} {\r\n aspect-ratio: auto;\r\n display: block;\r\n }\r\n `}\r\n`;\r\nconst Content = styled.div `\r\n flex: 1 0 auto;\r\n background-color: ${brand.white};\r\n padding: 18px 16px;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 23px 29px;\r\n }\r\n\r\n ${ParagraphStyles.Paragraph} {\r\n display: -webkit-box;\r\n -webkit-line-clamp: 4;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n margin-bottom: 0px;\r\n }\r\n\r\n [data-featured='true'] & {\r\n background-color: ${brand.grey.grey20};\r\n\r\n @media ${from(Device.Tablet)} {\r\n min-height: 285px;\r\n }\r\n }\r\n`;\r\nconst Date = styled.span `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 16px;\r\n color: ${brand.black};\r\n margin-bottom: 13px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 18px;\r\n line-height: 28px;\r\n }\r\n\r\n [data-featured='true'] & {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst Tag = styled.span `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 16px;\r\n color: ${brand.grey['grey55']};\r\n margin-bottom: 13px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 18px;\r\n }\r\n\r\n [data-featured='true'] & {\r\n color: ${brand.grey.grey89};\r\n }\r\n`;\r\nconst DivisionTag = styled.span `\r\n --tagColor: ${brand.divisionTags.default};\r\n padding: 8px 17px;\r\n background-color: var(--tagColor);\r\n ${fonts.DaxPro.Bold};\r\n font-size: 20px;\r\n color: ${brand.white};\r\n z-index: 1;\r\n\r\n &[data-tag-colour='division-sandhurst'] {\r\n --tagColor: ${brand.divisionTags.sandhurst};\r\n }\r\n\r\n &[data-tag-colour='division-mrcropper'] {\r\n --tagColor: ${brand.divisionTags.mrCropper};\r\n }\r\n`;\r\nconst Title = styled.h3 `\r\n margin: 0px;\r\n color: ${brand.black};\r\n font-size: 16px;\r\n margin-bottom: 8px;\r\n\r\n ${(props) => props?.isLatestNewsWidget && css `\r\n overflow: hidden;\r\n display: -webkit-box;\r\n min-height: 84px;\r\n -webkit-line-clamp: 3;\r\n -webkit-box-orient: vertical;\r\n `}\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 22px;\r\n line-height: 28px;\r\n }\r\n\r\n [data-featured='true'] & {\r\n color: ${brand.white};\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 28px;\r\n line-height: 36px;\r\n }\r\n }\r\n`;\r\nconst ParagraphContent = styled(Paragraph) `\r\n [data-featured='true'] & {\r\n @media ${from(Device.Tablet)} {\r\n font-size: 18px;\r\n line-height: 26px;\r\n }\r\n }\r\n`;\r\nexport const DocumentCardStyles = {\r\n Card,\r\n Date,\r\n Media,\r\n NoticeTag,\r\n Content,\r\n ParagraphContent,\r\n Tag,\r\n TagArea,\r\n DivisionTag,\r\n Title,\r\n Icon,\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","import { Cloudinary } from '@cloudinary/base';\r\nimport { format, quality } from '@cloudinary/base/actions/delivery';\r\nimport { fit } from '@cloudinary/base/actions/resize';\r\nimport { audioCodec } from '@cloudinary/base/actions/transcode';\r\nimport { auto as fAuto } from '@cloudinary/base/qualifiers/format';\r\nimport { auto as qAuto } from '@cloudinary/base/qualifiers/quality';\r\nconst cl = new Cloudinary({\r\n cloud: {\r\n cloudName: 'vp-groundforce',\r\n },\r\n url: {\r\n secure: true,\r\n },\r\n});\r\nexport function imageUrl(publicId, rawTransformation) {\r\n if (!publicId) {\r\n return '';\r\n }\r\n const image = cl.image(publicId);\r\n // Apply raw transformation.\r\n if (rawTransformation) {\r\n image.addTransformation(rawTransformation);\r\n }\r\n // Ensure we're specifying a format...\r\n if (containsFormatTransformation(rawTransformation)) {\r\n return image.toURL();\r\n }\r\n // ...otherwise serve with \"f_auto\" for WebP support.\r\n return image.delivery(format(fAuto())).delivery(quality(qAuto())).toURL();\r\n}\r\nexport function videoUrl(publicId, options = {}) {\r\n if (!publicId) {\r\n return '';\r\n }\r\n let video = cl.video(publicId);\r\n // Apply resize.\r\n if (options.aspectRatio || options.width) {\r\n let resize = fit();\r\n if (options.aspectRatio) {\r\n resize = resize.aspectRatio(options.aspectRatio);\r\n }\r\n if (options.width) {\r\n resize = resize.width(options.width);\r\n }\r\n video = video.resize(resize);\r\n }\r\n // Apply transcale (remove audio).\r\n if (options.audioCodec) {\r\n video = video.transcode(audioCodec(options.audioCodec));\r\n }\r\n // Apply format.\r\n if (options.format) {\r\n video = video.delivery(format(options.format));\r\n }\r\n return video.toURL();\r\n}\r\n// eslint-disable-next-line no-useless-escape\r\nconst FormatRegEx = /(\\/|\\,)(f_.*?)(\\/|\\,)/;\r\nfunction containsFormatTransformation(transformation) {\r\n return !!transformation && FormatRegEx.test(transformation);\r\n}\r\n","import { imageUrl } from '@helpers/cloudinary';\r\nimport { Device } from '@helpers/media';\r\nimport { toBase64 } from '@helpers/to-base-64';\r\nimport React, { useState } from 'react';\r\nimport { ImageStyles } from './Image.styles';\r\nconst Image = (props) => {\r\n const [hasErrored, setHasErrored] = useState(false);\r\n const deviceWidths = [\r\n props.width ? props.width : -1,\r\n Device.MobileSmall,\r\n Device.MobileSmall * 2,\r\n Device.MobileSmall * 3,\r\n Device.MobileMedium,\r\n Device.MobileMedium * 2,\r\n Device.MobileMedium * 3,\r\n Device.Mobile,\r\n Device.Mobile * 2,\r\n Device.Mobile * 3,\r\n Device.MobileLarge,\r\n Device.MobileLarge * 2,\r\n Device.MobileLarge * 3,\r\n Device.Tablet,\r\n Device.Tablet * 2,\r\n Device.Tablet * 3,\r\n Device.TabletLarge,\r\n Device.TabletLarge * 2,\r\n Device.TabletLarge * 3,\r\n Device.DesktopSmall,\r\n Device.DesktopSmall * 2,\r\n Device.DesktopSmall * 3,\r\n Device.Desktop,\r\n Device.Desktop * 2,\r\n Device.Desktop * 3,\r\n Device.ActualDesktop,\r\n Device.ActualDesktop * 2,\r\n Device.ActualDesktop * 3,\r\n ]\r\n .filter((x) => x > 0)\r\n .sort((a, b) => (a < b ? -1 : 1));\r\n const srcSetUrls = deviceWidths\r\n .map((x) => `${imageUrl(props.src, `c_fill,w_${x}`)} ${x}w`)\r\n .join(', ');\r\n const src = imageUrl(props.src, `c_fill,w_${deviceWidths[deviceWidths.length - 1]}`);\r\n const sizes = props.sizes ? props.sizes : '100vw';\r\n const handleError = (e) => {\r\n if (hasErrored) {\r\n return;\r\n }\r\n setHasErrored(true);\r\n e.currentTarget.src = props.fallbackSrc ? props.fallbackSrc : '';\r\n };\r\n let components = null;\r\n switch (props.layout) {\r\n default:\r\n case 'responsive': {\r\n components = (React.createElement(ImageStyles.Responsive, { width: props.width, height: props.height, fullPaddingTop: props.fullPaddingTop },\r\n React.createElement(\"div\", null),\r\n React.createElement(ImageStyles.Image, { role: props.role, alt: props.alt, decoding: props.preload ? 'sync' : 'async', loading: props.loading ? props.loading : 'lazy', objectFit: props.objectFit, objectPosition: props.objectPosition, draggable: props.draggable, sizes: sizes, srcSet: srcSetUrls, src: src, onError: handleError, \r\n /*// @ts-ignore */\r\n fetchPriority: props.preload ? 'high' : 'auto' })));\r\n break;\r\n }\r\n case 'intrinsic': {\r\n const sizerSvg = ``;\r\n components = (React.createElement(ImageStyles.Intrinsic, null,\r\n React.createElement(\"div\", null,\r\n React.createElement(\"img\", { \"aria-hidden\": true, role: \"presentation\", src: `data:image/svg+xml;base64,${toBase64(sizerSvg)}` })),\r\n React.createElement(ImageStyles.Image, { role: props.role, alt: props.alt, decoding: props.preload ? 'sync' : 'async', loading: props.loading ? props.loading : 'lazy', objectFit: props.objectFit, objectPosition: props.objectPosition, draggable: props.draggable, sizes: sizes, srcSet: srcSetUrls, src: src, onError: handleError, \r\n /*// @ts-ignore */\r\n fetchPriority: props.preload ? 'high' : 'auto' })));\r\n break;\r\n }\r\n case 'fixed': {\r\n components = (React.createElement(ImageStyles.Fixed, { width: props.width, height: props.height },\r\n React.createElement(ImageStyles.Image, { role: props.role, alt: props.alt, decoding: props.preload ? 'sync' : 'async', loading: props.loading ? props.loading : 'lazy', objectFit: props.objectFit, objectPosition: props.objectPosition, draggable: props.draggable, sizes: sizes, srcSet: srcSetUrls, src: src, onError: handleError, \r\n /*// @ts-ignore */\r\n fetchPriority: props.preload ? 'high' : 'auto' })));\r\n break;\r\n }\r\n case 'fill': {\r\n components = (React.createElement(ImageStyles.Fill, null,\r\n React.createElement(ImageStyles.Image, { role: props.role, alt: props.alt, decoding: props.preload ? 'sync' : 'async', loading: props.loading ? props.loading : 'lazy', draggable: props.draggable, objectFit: props.objectFit, objectPosition: props.objectPosition, sizes: sizes, srcSet: srcSetUrls, src: src, onError: handleError, \r\n /*// @ts-ignore */\r\n fetchPriority: props.preload ? 'high' : 'auto' })));\r\n break;\r\n }\r\n }\r\n return React.createElement(React.Fragment, null, components);\r\n};\r\nexport default Image;\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","export const isSSR = () => {\r\n const returnValue = !(typeof window != 'undefined' && window.document);\r\n return returnValue;\r\n};\r\n"],"sourceRoot":""}