{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/stories/Components/Buttons/ButtonShared.styles.ts","webpack:///./src/stories/Components/Buttons/IconButton/IconButton.styles.ts","webpack:///./src/stories/Components/Buttons/IconButton/IconButton.tsx","webpack:///./src/stories/Components/Buttons/NextButton/NextButton.styles.ts","webpack:///./src/helpers/fluid.ts","webpack:///./src/stories/Components/Buttons/PrevButton/PrevButton.styles.ts","webpack:///./src/stories/Components/Cards/DocumentCard/DocumentCard.tsx","webpack:///./src/stories/Components/Buttons/PrevButton/PrevButton.tsx","webpack:///./src/stories/Components/Buttons/NextButton/NextButton.tsx","webpack:///./src/helpers/flickingStyles.ts","webpack:///./src/img/icons/chevron-right.svg","webpack:///./src/stories/Components/Global/Typography/Heading.tsx","webpack:///./src/helpers/fonts.ts","webpack:///./src/helpers/date.ts","webpack:///./src/img/icons/chevron.svg","webpack:///./src/helpers/theme.ts","webpack:///./src/stories/Widgets/Content/DocumentList/DocumentList.styles.tsx","webpack:///./src/stories/Widgets/Content/DocumentList/DocumentList.widget.tsx"],"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","47","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","css","brand","black","white","Icon","from","Device","MobileLarge","styled","span","Tablet","PrimaryStyles","ThemeSwitch","groundforceColour","primary","base","groundforceColourHover","PrimaryAltStyles","alt","Button","button","until","IconButton","iconComponent","className","icon","themeOption","title","otherProps","React","createElement","SBS","as","href","S","type","StyledButton","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","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","Content","date","Date","dateTime","formatDateISO","formatDateShort","tag","Tag","Title","ParagraphContent","size","description","Chevron","displayName","PrevButton","SvgChevronRight","NextButton","FlickingCss","PluginCss","_path","_extends","assign","target","arguments","source","xmlns","viewBox","fill","stroke","strokeWidth","Heading","children","semantic","visual","fonts","DaxPro","Bold","BoldItalic","Medium","SlightlyLessThanMedium","Regular","RegularItalic","Light","formatStringDate","dateString","formatDate","toISOString","Intl","DateTimeFormat","undefined","day","month","year","format","formatDateLong","useShortMonthName","SvgChevron","div","options","lighten","generateOpacity","transparentize","groundforcePseudoColourAlt","tpaColour","tpa","tpaColourHover","tpaPseudoColourAlt","DocumentListStyles","Wrapper","HeadingStyles","Inner","Desktop","Slider","SlideItem","CarouselControls","Mobile","withWidget","sliderRef","useRef","useState","activeIndex","setActiveIndex","showControls","setShowControls","Grid","Default","Flicking","align","ALIGN","PREV","onReady","event","visiblePanels","currentTarget","panels","filter","panel","visibleRatio","documents","onWillChange","index","map","x","disabled","current","onClick","preventDefault","prev","next","hydrate","HydrateOption","InView"],"mappings":"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","file":"DocumentList-28c27f6dba993caa9d7d.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\t47: 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([608,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 } 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","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 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 { 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 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 }))),\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 { 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\nimport PluginCss from '!raw-loader!@egjs/react-flicking/dist/flicking.css';\r\nexport const FlickingCss = css `\r\n ${PluginCss};\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 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 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","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","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","import brand from '@helpers/brand';\r\nimport { FlickingCss } from '@helpers/flickingStyles';\r\nimport { fluid } from '@helpers/fluid';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { ThemeSwitch } from '@helpers/theme';\r\nimport { DocumentCardStyles } from '@stories/Components/Cards/DocumentCard/DocumentCard.styles';\r\nimport HeadingStyles from '@stories/Components/Global/Typography/Heading.styles';\r\nimport styled from 'styled-components';\r\nconst Wrapper = styled.div `\r\n margin: 50px 0px;\r\n overflow: hidden;\r\n\r\n ${HeadingStyles.Heading} {\r\n grid-column: span 12;\r\n text-align: center;\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n grid-column: span 12;\r\n --slide-gap: 5px;\r\n --slide-size: 65vw;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n --slide-size: 44%;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n --slide-gap: 15px;\r\n --slide-size: 31%;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n --slide-size: 25%;\r\n }\r\n\r\n ${HeadingStyles.Heading} {\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })};\r\n color: var(--theme);\r\n }\r\n`;\r\nconst Slider = styled.div `\r\n ${FlickingCss};\r\n position: relative;\r\n left: calc(-1 * var(--slide-gap));\r\n width: calc(100% + var(--slide-gap));\r\n\r\n @media ${until(Device.Desktop)} {\r\n .flicking-viewport {\r\n overflow: visible;\r\n }\r\n }\r\n`;\r\nconst SlideItem = styled.div `\r\n width: calc(var(--slide-size) + ((var(--slide-gap) / 4) - var(--slide-gap)));\r\n padding: var(--slide-gap);\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n min-width: 44%;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n min-width: 31%;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n min-width: 25%;\r\n }\r\n\r\n ${DocumentCardStyles.Card} {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n }\r\n\r\n ${DocumentCardStyles.Content} {\r\n flex: 1;\r\n }\r\n`;\r\nconst CarouselControls = styled.div `\r\n display: flex;\r\n width: 100%;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 10px;\r\n padding-right: var(--slide-gap);\r\n\r\n margin-top: ${fluid(10, 15, Device.Mobile, Device.TabletLarge)};\r\n`;\r\nexport const DocumentListStyles = {\r\n Wrapper,\r\n Inner,\r\n Slider,\r\n SlideItem,\r\n CarouselControls,\r\n};\r\n","import { HydrateOption } from '@core/enums';\r\nimport Flicking, { ALIGN } from '@egjs/react-flicking';\r\nimport { Grid } from '@helpers/grid';\r\nimport withWidget from '@hoc/withWidget';\r\nimport DocumentCard from '@stories/Components/Cards/DocumentCard/DocumentCard';\r\nimport Heading from '@stories/Components/Global/Typography/Heading';\r\nimport React, { useRef } from 'react';\r\nimport { DocumentListStyles } from './DocumentList.styles';\r\nimport { ThemeWrapper } from '@helpers/theme';\r\nimport PrevButton from '@stories/Components/Buttons/PrevButton/PrevButton';\r\nimport NextButton from '@stories/Components/Buttons/NextButton/NextButton';\r\nconst DocumentList = (props) => {\r\n const sliderRef = useRef(null);\r\n const [activeIndex, setActiveIndex] = React.useState(0);\r\n const [showControls, setShowControls] = React.useState(false);\r\n return (React.createElement(ThemeWrapper, { \"data-theme\": props.theme },\r\n React.createElement(DocumentListStyles.Wrapper, null,\r\n React.createElement(Grid.Default, null,\r\n React.createElement(DocumentListStyles.Inner, null,\r\n React.createElement(Heading, { visual: \"h5\", semantic: \"h2\" }, props.title),\r\n React.createElement(DocumentListStyles.Slider, null,\r\n React.createElement(Flicking, { ref: sliderRef, align: ALIGN.PREV, onReady: (event) => {\r\n const visiblePanels = getVisiblePanels(event.currentTarget);\r\n // Hide controls when all panels are visible.\r\n setShowControls(!(visiblePanels.length === props.documents.length));\r\n }, onWillChange: (event) => {\r\n if (event.index > props.documents.length - 1) {\r\n setActiveIndex(event.index - props.documents.length);\r\n }\r\n else {\r\n setActiveIndex(event.index);\r\n }\r\n } }, props.documents.map((x, i) => (React.createElement(DocumentListStyles.SlideItem, { key: i },\r\n React.createElement(DocumentCard, { key: i, document: x, theme: props.theme })))))),\r\n showControls && (React.createElement(DocumentListStyles.CarouselControls, null,\r\n React.createElement(PrevButton, { disabled: sliderRef.current?.index === 0 || activeIndex === 0, themeOption: \"primaryAlt\", onClick: (event) => {\r\n event.preventDefault();\r\n sliderRef.current?.prev();\r\n } }),\r\n React.createElement(NextButton, { disabled: sliderRef.current?.index === props.documents.length - 1 ||\r\n activeIndex === props.documents.length - 1, themeOption: \"primaryAlt\", onClick: (event) => {\r\n event.preventDefault();\r\n sliderRef.current?.next();\r\n } }))))))));\r\n};\r\nexport default withWidget(DocumentList, 'DocumentList', { hydrate: HydrateOption.InView });\r\nfunction getVisiblePanels(instance) {\r\n return instance.panels.filter((panel) => panel.visibleRatio >= 0.9);\r\n}\r\n"],"sourceRoot":""}