{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/prop-types/index.js","webpack:///./src/stories/Components/Content/WYSIWYG/WYSIWYG.styles.ts","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/redux-devtools-extension/index.js","webpack:///./src/helpers/global.ts","webpack:///./src/img/icons/pdf.svg","webpack:///./src/stories/Components/Cards/FileCard/FileCard.tsx","webpack:///./src/helpers/flickingStyles.ts","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/stories/Components/Global/Typography/Heading.tsx","webpack:///./src/helpers/fonts.ts","webpack:///./src/stories/Components/Cards/FileCard/FileCard.styles.ts","webpack:///./src/img/icons/chevron.svg","webpack:///./src/helpers/theme.ts","webpack:///./src/stories/Widgets/ProductDetail/ProductSpecifications/ProductSpecifications.styles.ts","webpack:///./src/stories/Widgets/ProductDetail/ProductSpecifications/ProductSpecifications.widget.tsx","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js"],"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","71","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","WYSIWYGStyles","Wrapper","styled","div","HeadingStyles","H5Styles","ThemeSwitch","groundforceColour","brand","primary","alt","ParagraphStyles","RegularStyles","grey","grey35","grey96","tpaColour","transparentize","tpa","base","from","Device","DesktopLarge","black","grey44","fonts","DaxPro","Bold","white","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","descriptor","e","compose","composeWithDevTools","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","devToolsEnhancer","__REDUX_DEVTOOLS_EXTENSION__","noop","ButtonReset","css","_g","_extends","assign","target","source","SvgPdf","props","xmlns","viewBox","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","FileCard","React","createElement","FileCardStyles","Card","onClick","href","redirectUrl","file","url","draggable","TagArea","tag","Tag","groundforceDivision","DivisionTag","class","Media","Icon","Pdf","Size","size","Name","content","Content","Footer","Chevron","FlickingCss","PluginCss","LargeStyles","Regular","SmallStyles","Paragraph","isLatestNewsWidget","align","H1Styles","H2Styles","H3Styles","H4Styles","DesktopSmall","H6Styles","Heading","h1","visual","baseGrid","MobileLarge","Tablet","TabletLarge","Grid","Default","Desktop","DefaultBreakout","DefaultPseudo","Inner","CardGridSpans","children","semantic","otherProps","as","BoldItalic","Medium","SlightlyLessThanMedium","RegularItalic","Light","a","grey89","grey20","span","divisionTags","default","sandhurst","mrCropper","until","_path","SvgChevron","ThemeWrapper","options","groundforceColourHover","lighten","generateOpacity","groundforcePseudoColourAlt","tpaColourHover","tpaPseudoColourAlt","OuterGrid","TabInner","centerTitle","thin","isActive","Background","TableWrapper","ContentWrapper","Tabs","TabsInner","attrs","role","Tab","button","FAQs","FAQQuestion","h3","FAQAnswer","FAQ","Files","FilePage","FilesFooter","Progress","width","offset","MediaTrackArrow","Details","ul","ProductSpecificationsStyles","withWidget","withRedux","useState","productDetailsContent","productSpecifications","faqs","tab","setTab","activeFAQ","setActiveFAQ","index","setIndex","sliderRef","useRef","pageCount","useMemo","Math","ceil","relatedFiles","paginatedFiles","files","tempFiles","pageFiles","appState","useSelector","x","app","dispatch","useDispatch","theme","S","productDetailsTitle","productSpecificationTitle","faqTitle","relatedFilesTitle","dangerouslySetInnerHTML","__html","map","question","answer","Flicking","ref","ALIGN","PREV","onWillChange","parseInt","f","relatedFilesRedirectUrl","isLoggedIn","preventDefault","stopPropagation","payload","loginType","LoginRedirectType","disabled","current","prev","next","hydrate","HydrateOption","InView","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes"],"mappings":"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","file":"ProductSpecifications-478136da0c166ad6d824.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\t71: 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([624,0,1,2,11,3]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\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","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","'use strict';\n\nvar compose = require('redux').compose;\n\nexports.__esModule = true;\nexports.composeWithDevTools =\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n : function () {\n if (arguments.length === 0) return undefined;\n if (typeof arguments[0] === 'object') return compose;\n return compose.apply(null, arguments);\n };\n\nexports.devToolsEnhancer =\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__\n : function () {\n return function (noop) {\n return noop;\n };\n };\n","import { css } from 'styled-components';\r\nexport default {\r\n navHeight: 107,\r\n navHeightTablet: 80,\r\n navHeightMobile: 59,\r\n};\r\nexport const ButtonReset = css `\r\n border: none;\r\n outline: none;\r\n padding: 0px;\r\n background: none;\r\n border-radius: 0px;\r\n`;\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgPdf(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 35.696 42.825\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"streamline-icon-office-file-adobe@140x140\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.83\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 489\",\n d: \"M34.259 8.044a1.782 1.782 0 01.522 1.26v30.824a1.782 1.782 0 01-1.782 1.782h-30.3a1.782 1.782 0 01-1.782-1.782V2.698A1.782 1.782 0 012.699.916h23.692a1.782 1.782 0 011.26.519z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 490\",\n d: \"M7.798 12.303c-1.517-2.5 2.112-4.793 3.06-2.232 1.624 4.4 4.235 16.293-1.656 24.378-1.643 2.253-5.189.119-3.281-2.228a28.829 28.829 0 0122.212-10.186c2.973.112 2.82 4.335.16 4.01A27.756 27.756 0 017.798 12.303z\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"bbdca519d6aff556719946de812beaa2.svg\";\nexport { SvgPdf as ReactComponent };","import React from 'react';\r\nimport { FileCardStyles } from './FileCard.styles';\r\nimport { ReactComponent as Pdf } from '@img/icons/pdf.svg';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron.svg';\r\nconst FileCard = (props) => {\r\n return (React.createElement(FileCardStyles.Card, { onClick: props.onClick, href: props.redirectUrl !== null ? props.redirectUrl : props.file.url, target: \"_blank\", draggable: false },\r\n React.createElement(FileCardStyles.TagArea, null,\r\n props.file.tag ? React.createElement(FileCardStyles.Tag, null, props.file.tag) : null,\r\n props.file.groundforceDivision && props.file.groundforceDivision.name.length > 0 && (React.createElement(FileCardStyles.DivisionTag, { \"data-tag-colour\": props.file.groundforceDivision.class }, props.file.groundforceDivision.name))),\r\n React.createElement(FileCardStyles.Media, null,\r\n React.createElement(FileCardStyles.Icon, null,\r\n React.createElement(Pdf, null)),\r\n React.createElement(FileCardStyles.Size, null, props.file.size)),\r\n React.createElement(FileCardStyles.Name, null, props.file.name),\r\n props.file.content && React.createElement(FileCardStyles.Content, null, props.file.content),\r\n React.createElement(FileCardStyles.Footer, null,\r\n React.createElement(Chevron, null))));\r\n};\r\nexport default FileCard;\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","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 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","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { ThemeSwitch } from '@helpers/theme';\r\nimport styled from 'styled-components';\r\nconst Card = styled.a `\r\n display: flex;\r\n flex-direction: column;\r\n background-color: ${brand.grey.grey89};\r\n color: ${brand.black};\r\n padding: 55px 12px 12px 12px;\r\n position: relative;\r\n box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);\r\n transition: transform 0.3s;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding: 60px 22px 22px 22px;\r\n }\r\n\r\n &:hover,\r\n &:focus,\r\n &:active {\r\n text-decoration: none;\r\n transform: translateY(-10px);\r\n color: ${brand.black};\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 @media ${from(Device.TabletLarge)} {\r\n padding: 90px 22px 22px 22px;\r\n }\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 Tag = styled.span `\r\n padding: 2px 15px;\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n background-color: var(--theme);\r\n ${fonts.DaxPro.Bold};\r\n font-size: 16px;\r\n line-height: 28px;\r\n color: ${brand.white};\r\n margin-right: 10px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 20px;\r\n padding: 8px 17px;\r\n }\r\n`;\r\nconst DivisionTag = styled.span `\r\n --tagColor: ${brand.divisionTags.default};\r\n padding: 2px 15px;\r\n background-color: var(--tagColor);\r\n ${fonts.DaxPro.Bold};\r\n font-size: 16px;\r\n line-height: 28px;\r\n color: ${brand.white};\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\n @media ${from(Device.TabletLarge)} {\r\n font-size: 20px;\r\n padding: 8px 17px;\r\n }\r\n`;\r\nconst Media = styled.div `\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n align-items: center;\r\n margin-bottom: 15px;\r\n`;\r\nconst Icon = styled.div `\r\n color: ${brand.grey.grey20};\r\n\r\n [data-featured='true'] & {\r\n color: ${brand.white};\r\n }\r\n\r\n > svg {\r\n display: block;\r\n width: 36px;\r\n height: 43px;\r\n }\r\n`;\r\nconst Size = styled.span `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 14px;\r\n margin-left: 12px;\r\n color: ${brand.grey.grey44};\r\n\r\n [data-featured='true'] & {\r\n color: ${brand.white};\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 18px;\r\n }\r\n`;\r\nconst Name = styled.span `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 16px;\r\n color: ${brand.grey.grey20};\r\n line-height: 28px;\r\n\r\n [data-featured='true'] & {\r\n color: ${brand.white};\r\n }\r\n\r\n [data-featured='true'] & {\r\n color: ${brand.white};\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 25px;\r\n margin-bottom: 20px;\r\n }\r\n`;\r\nconst Content = styled.p `\r\n display: block;\r\n font-size: 18px;\r\n line-height: 28px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n display: none;\r\n\r\n [data-featured='true'] & {\r\n display: block;\r\n }\r\n }\r\n`;\r\nconst Footer = styled.div `\r\n flex: 1 0 auto;\r\n height: 36px;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n align-items: flex-end;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n height: 55px;\r\n }\r\n\r\n > svg {\r\n display: block;\r\n width: 20px;\r\n height: 11px;\r\n stroke: ${brand.grey.grey20};\r\n transform: rotate(90deg);\r\n\r\n [data-featured='true'] & {\r\n stroke: ${brand.white};\r\n }\r\n }\r\n`;\r\nexport const FileCardStyles = {\r\n Card,\r\n Content,\r\n Tag,\r\n TagArea,\r\n DivisionTag,\r\n Media,\r\n Icon,\r\n Size,\r\n Name,\r\n Footer,\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 { fonts } from '@helpers/fonts';\r\nimport { ButtonReset } from '@helpers/global';\r\nimport { Grid } from '@helpers/grid';\r\nimport { Device, from, until } 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 styled, { css } from 'styled-components';\r\nconst OuterGrid = styled(Grid.Default) `\r\n row-gap: 0px;\r\n`;\r\nconst TabInner = styled.div `\r\n margin: 50px 0px;\r\n\r\n ${HeadingStyles.Heading} {\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n color: var(--theme);\r\n }\r\n\r\n h2 {\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n color: var(--theme);\r\n }\r\n\r\n ${({ centerTitle }) => centerTitle === true\r\n ? css `\r\n ${HeadingStyles.Heading} {\r\n text-align: center;\r\n ${ThemeSwitch({ groundforceColour: brand.primary.alt })}\r\n color: var(--theme);\r\n }\r\n `\r\n : null}\r\n\r\n ${({ thin }) => thin\r\n ? css `\r\n grid-column: span 12;\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n grid-column: 2 / 12;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n grid-column: 4 / 10;\r\n }\r\n `\r\n : css `\r\n grid-column: span 12;\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n grid-column: 2 / 12;\r\n }\r\n `}\r\n\r\n ${({ isActive }) => isActive === false\r\n ? css `\r\n display: none;\r\n `\r\n : null}\r\n`;\r\nconst Background = styled.div `\r\n background-color: ${brand.grey['grey96']};\r\n grid-column: 2 / span 10;\r\n\r\n @media ${until(Device.DesktopSmall)} {\r\n ${Grid.DefaultPseudo};\r\n grid-column: span 12;\r\n\r\n &:before,\r\n &:after {\r\n background-color: ${brand.grey['grey96']};\r\n }\r\n }\r\n`;\r\nconst TableWrapper = styled.div `\r\n grid-column: span 12;\r\n\r\n ${({ isActive }) => isActive === false\r\n ? css `\r\n display: none;\r\n `\r\n : null}\r\n`;\r\nconst ContentWrapper = styled.div `\r\n grid-column: span 12;\r\n padding: 50px 0px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding: 50px 25px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n padding: 50px;\r\n }\r\n ${({ isActive }) => isActive === false\r\n ? css `\r\n display: none;\r\n `\r\n : null}\r\n`;\r\nconst Tabs = styled.div `\r\n grid-column: 2 / span 10;\r\n position: relative;\r\n\r\n @media ${until(Device.DesktopSmall)} {\r\n grid-column: span 12;\r\n }\r\n\r\n /* Overflow indicator overlay */\r\n @media ${until(Device.DesktopSmall)} {\r\n &::after {\r\n content: '';\r\n display: block;\r\n width: 20px;\r\n height: 100%;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n background-image: linear-gradient(to right, transparent, white);\r\n }\r\n }\r\n`;\r\nconst TabsInner = styled.div.attrs({ role: 'tabset' }) `\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n overflow: auto;\r\n\r\n @media ${until(Device.DesktopSmall)} {\r\n padding-right: 20px;\r\n }\r\n`;\r\nconst Tab = styled.button.attrs({ type: 'button', role: 'tab' }) `\r\n ${ButtonReset};\r\n padding: 12px 20px;\r\n background-color: ${brand.white};\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base })}\r\n border: 1px solid var(--theme);\r\n margin-right: 6px;\r\n ${fonts.DaxPro.Bold};\r\n color: ${brand.black};\r\n font-size: 16px;\r\n flex: 0 0 auto;\r\n\r\n ${({ isActive }) => isActive\r\n ? css `\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base })}\r\n background-color: var(--theme);\r\n color: ${brand.white};\r\n `\r\n : null}\r\n\r\n &:last-child {\r\n margin-right: 0px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n font-size: 20px;\r\n margin-right: 2px;\r\n min-width: 250px;\r\n }\r\n`;\r\nconst FAQs = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\nconst FAQQuestion = styled.h3 `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 24px;\r\n color: ${brand.grey.grey20};\r\n padding-right: 60px;\r\n position: relative;\r\n margin-bottom: 12px;\r\n cursor: pointer;\r\n\r\n > svg {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 29px;\r\n height: 14px;\r\n stroke: ${brand.black};\r\n transform: rotate(180deg);\r\n }\r\n`;\r\nconst FAQAnswer = styled.div `\r\n ${ParagraphStyles.RegularStyles};\r\n display: none;\r\n margin-top: 12px;\r\n margin-bottom: 0px;\r\n\r\n a {\r\n color: ${brand.primary.alt};\r\n }\r\n`;\r\nconst FAQ = styled.div `\r\n padding-bottom: 22px;\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base })}\r\n border-bottom: 2px solid var(--theme);\r\n margin-bottom: 28px;\r\n\r\n ${({ isActive }) => isActive\r\n ? css `\r\n ${FAQAnswer} {\r\n display: block;\r\n }\r\n\r\n ${FAQQuestion} > svg {\r\n transform: rotate(0deg);\r\n }\r\n `\r\n : css `\r\n ${FAQAnswer} {\r\n display: none;\r\n }\r\n `}\r\n`;\r\nconst Files = styled.div `\r\n ${FlickingCss};\r\n`;\r\nconst FilePage = styled.div `\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n grid-template-rows: 1fr 1fr;\r\n grid-auto-flow: column;\r\n grid-gap: 20px;\r\n width: 100%;\r\n margin-right: 20px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-gap: 30px;\r\n margin-right: 30px;\r\n }\r\n`;\r\nconst FilesFooter = styled.div `\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n align-items: center;\r\n margin-top: 20px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin-top: 40px;\r\n }\r\n`;\r\nconst Progress = styled.div `\r\n height: 4px;\r\n background-color: ${brand.grey.grey89};\r\n width: 100%;\r\n position: relative;\r\n margin-right: auto;\r\n flex: 0 1 auto;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n max-width: 50%;\r\n }\r\n\r\n &:after {\r\n content: '';\r\n position: absolute;\r\n height: 100%;\r\n background-color: ${brand.grey.grey20};\r\n width: ${({ width }) => width}%;\r\n transform: ${({ offset }) => `translateX(${offset}%)`};\r\n }\r\n`;\r\nconst MediaTrackArrow = styled.button.attrs({ type: 'button' }) `\r\n ${ButtonReset};\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base })};\r\n background-color: var(--theme);\r\n width: 44px;\r\n height: 44px;\r\n flex: 0 0 auto;\r\n\r\n &:disabled {\r\n opacity: 0.4;\r\n cursor: not-allowed;\r\n }\r\n\r\n &:nth-child(2) {\r\n transform: rotate(-90deg);\r\n margin-left: 25px;\r\n }\r\n\r\n &:nth-child(3) {\r\n transform: rotate(90deg);\r\n margin-left: 6px;\r\n }\r\n\r\n svg {\r\n width: 28px;\r\n height: 14px;\r\n stroke: ${brand.white};\r\n stroke-width: 2px;\r\n }\r\n`;\r\nconst Details = styled.ul `\r\n list-style-type: none;\r\n padding: 0;\r\n\r\n li {\r\n ${ParagraphStyles.SmallStyles};\r\n margin-bottom: 5px;\r\n padding-left: 44px;\r\n position: relative;\r\n text-indent: -20px;\r\n ${ThemeSwitch({ groundforceColour: brand.primary.base })}\r\n\r\n &:before {\r\n content: '';\r\n display: block;\r\n border-radius: 50%;\r\n width: 6px;\r\n height: 6px;\r\n background-color: var(--theme);\r\n position: absolute;\r\n top: 0.5em;\r\n left: 10px;\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\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\nexport const ProductSpecificationsStyles = {\r\n OuterGrid,\r\n TabInner,\r\n Background,\r\n Tabs,\r\n TabsInner,\r\n Tab,\r\n FAQs,\r\n FAQ,\r\n FAQQuestion,\r\n FAQAnswer,\r\n Files,\r\n FilePage,\r\n FilesFooter,\r\n Progress,\r\n MediaTrackArrow,\r\n TableWrapper,\r\n ContentWrapper,\r\n Details,\r\n};\r\n","import { Grid } from '@helpers/grid';\r\nimport { WYSIWYGStyles } from '@stories/Components/Content/WYSIWYG/WYSIWYG.styles';\r\nimport Heading from '@stories/Components/Global/Typography/Heading';\r\nimport React, { useMemo, useRef, useState } from 'react';\r\nimport { ProductSpecificationsStyles as S } from './ProductSpecifications.styles';\r\nimport { ReactComponent as Chevron } from '@img/icons/chevron.svg';\r\nimport FileCard from '@stories/Components/Cards/FileCard/FileCard';\r\nimport Flicking, { ALIGN } from '@egjs/react-flicking';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { LoginRedirectType } from '@redux/ducks/app/app.reducer';\r\nimport withWidget from '@hoc/withWidget';\r\nimport withRedux from '@helpers/withRedux';\r\nimport { HydrateOption } from '@core/enums';\r\nimport { ThemeWrapper } from '@helpers/theme';\r\nconst PAGE_SIZE = 4;\r\nconst ProductSpecifications = (props) => {\r\n const [tab, setTab] = useState(props.productDetailsContent\r\n ? 0\r\n : props.productSpecifications\r\n ? 1\r\n : props.faqs && props.faqs.length > 0\r\n ? 2\r\n : 3);\r\n const [activeFAQ, setActiveFAQ] = useState(0);\r\n const [index, setIndex] = useState(0);\r\n const sliderRef = useRef(null);\r\n const pageCount = useMemo(() => {\r\n const count = Math.ceil(props.relatedFiles.length / PAGE_SIZE);\r\n return count - 1;\r\n }, [props.relatedFiles]);\r\n const paginatedFiles = useMemo(() => {\r\n const files = {};\r\n for (let index = 0; index <= pageCount; index++) {\r\n const tempFiles = [...props.relatedFiles];\r\n const pageFiles = [...tempFiles.splice(index * PAGE_SIZE, PAGE_SIZE)];\r\n files[index] = pageFiles;\r\n }\r\n return files;\r\n }, [props.relatedFiles]);\r\n const appState = useSelector((x) => x.app);\r\n const dispatch = useDispatch();\r\n return (React.createElement(ThemeWrapper, { \"data-theme\": props.theme },\r\n React.createElement(S.OuterGrid, null,\r\n React.createElement(S.Tabs, null,\r\n React.createElement(S.TabsInner, null,\r\n props.productDetailsTitle && props.productDetailsContent && (React.createElement(S.Tab, { isActive: tab === 0, onClick: () => setTab(0) }, props.productDetailsTitle)),\r\n props.productSpecificationTitle && props.productSpecifications && (React.createElement(S.Tab, { isActive: tab === 1, onClick: () => setTab(1) }, props.productSpecificationTitle)),\r\n props.faqTitle && props.faqs && props.faqs.length > 0 && (React.createElement(S.Tab, { isActive: tab === 2, onClick: () => setTab(2) }, props.faqTitle)),\r\n props.relatedFilesTitle && props.relatedFiles && props.relatedFiles.length > 0 && (React.createElement(S.Tab, { isActive: tab === 3, onClick: () => setTab(3) }, props.relatedFilesTitle)))),\r\n React.createElement(S.Background, null,\r\n React.createElement(Grid.Inner, null,\r\n React.createElement(S.ContentWrapper, { isActive: tab === 0 }, props.productDetailsContent ? (React.createElement(S.Details, { dangerouslySetInnerHTML: { __html: props.productDetailsContent } })) : null),\r\n React.createElement(S.TableWrapper, { isActive: tab === 1 }, props.productSpecifications ? (React.createElement(WYSIWYGStyles.Wrapper, { dangerouslySetInnerHTML: { __html: props.productSpecifications } })) : null),\r\n React.createElement(S.TabInner, { centerTitle: true, thin: true, isActive: tab === 2 },\r\n React.createElement(Heading, { semantic: \"h2\", visual: \"h5\" }, props.faqTitle),\r\n React.createElement(S.FAQs, null, props.faqs &&\r\n props.faqs.map((x, i) => (React.createElement(S.FAQ, { key: x.question, isActive: activeFAQ === i },\r\n React.createElement(S.FAQQuestion, { onClick: () => setActiveFAQ(activeFAQ === i ? -1 : i) },\r\n x.question,\r\n React.createElement(Chevron, null)),\r\n React.createElement(S.FAQAnswer, { dangerouslySetInnerHTML: { __html: x.answer } })))))),\r\n React.createElement(S.TabInner, { isActive: tab === 3 },\r\n props.relatedFiles && props.relatedFiles.length > 0 ? (React.createElement(Heading, { semantic: \"h2\", visual: \"h5\" }, props.relatedFilesTitle)) : null,\r\n React.createElement(S.Files, null,\r\n React.createElement(Flicking, { ref: sliderRef, align: ALIGN.PREV, onWillChange: (e) => {\r\n setIndex(e.index);\r\n } }, Object.keys(paginatedFiles).map((p) => (React.createElement(S.FilePage, { key: p }, paginatedFiles[parseInt(p, 10)].map((f) => (React.createElement(FileCard, { key: f.url, file: f, redirectUrl: props.relatedFilesRedirectUrl, onClick: (e) => {\r\n if (props.theme === 'groundforce' && !appState.isLoggedIn) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n dispatch({\r\n type: 'APP/SET_LOGIN_MODAL',\r\n payload: {\r\n loginType: LoginRedirectType.Default,\r\n redirectUrl: f.url,\r\n },\r\n });\r\n }\r\n } })))))))),\r\n pageCount > 0 && (React.createElement(S.FilesFooter, null,\r\n React.createElement(S.Progress, { width: 100 / (pageCount + 1), offset: 100 * index }),\r\n React.createElement(S.MediaTrackArrow, { disabled: index === 0, onClick: () => sliderRef.current?.prev() },\r\n React.createElement(Chevron, null)),\r\n React.createElement(S.MediaTrackArrow, { disabled: index === pageCount, onClick: () => sliderRef.current?.next() },\r\n React.createElement(Chevron, null))))))))));\r\n};\r\nexport default withWidget(withRedux(ProductSpecifications), 'ProductSpecifications', {\r\n hydrate: HydrateOption.InView,\r\n});\r\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n"],"sourceRoot":""}