{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/helpers/media.ts","webpack:///./src/stories/Components/Content/WYSIWYG/WYSIWYG.styles.ts","webpack:///./src/hoc/withWidget.ts","webpack:///./src/stories/Components/Global/Typography/Heading.styles.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/helpers/global.ts","webpack:///./src/helpers/ReactPropsHelper.ts","webpack:///./src/helpers/grid.ts","webpack:///./src/stories/Components/Global/Typography/Heading.tsx","webpack:///./src/helpers/brand.ts","webpack:///./src/helpers/fonts.ts","webpack:///./src/stories/Components/Cards/FileCard/FileCard.styles.ts","webpack:///./src/img/icons/chevron.svg","webpack:///./src/stories/Widgets/ProductDetail/ProductSpecifications/ProductSpecifications.styles.ts","webpack:///./src/stories/Widgets/ProductDetail/ProductSpecifications/ProductSpecifications.widget.tsx","webpack:///./src/core/enums.ts","webpack:///./src/helpers/ssr.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","62","77","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","this","oldJsonpFunction","slice","Device","from","size","until","between","min","max","WYSIWYGStyles","Wrapper","styled","div","HeadingStyles","H5Styles","brand","primary","alt","ParagraphStyles","RegularStyles","grey","grey35","grey96","DesktopLarge","black","grey44","fonts","DaxPro","Bold","white","component","componentName","options","isSSR","hydrate","HydrateOption","Never","configs","ReactPropsHelper","props","filter","x","toLowerCase","config","index","container","document","querySelector","id","classList","add","window","requestIdleCallback","element","createElement","H1Styles","css","H2Styles","H3Styles","H4Styles","Regular","DesktopSmall","H6Styles","Heading","h1","visual","_g","_extends","assign","target","arguments","source","SvgPdf","xmlns","viewBox","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","FileCard","React","FileCardStyles","Card","href","redirectUrl","file","url","draggable","TagArea","tag","Tag","groundforceDivision","DivisionTag","class","Media","Icon","Pdf","Size","Name","content","Content","Footer","Chevron","FlickingCss","PluginCss","LargeStyles","SmallStyles","Paragraph","isLatestNewsWidget","align","ButtonReset","reactPropsNode","JSON","parse","innerHTML","baseGrid","MobileLarge","Tablet","TabletLarge","Grid","Default","Desktop","DefaultBreakout","DefaultPseudo","Inner","CardGridSpans","children","semantic","otherProps","as","base","dark","light","accent","orange","divisionTags","mrCropper","sandhurst","default","grey89","hsl","grey76","grey75","grey55","grey40","grey20","red","ysp","input","water","ground","excavation","BoldItalic","Medium","SlightlyLessThanMedium","RegularItalic","Light","a","span","_path","SvgChevron","OuterGrid","TabInner","centerTitle","thin","Background","TableWrapper","ContentWrapper","Tabs","TabsInner","Tab","button","attrs","type","isActive","FAQs","FAQQuestion","h3","FAQAnswer","FAQ","Files","FilePage","FilesFooter","Progress","width","offset","MediaTrackArrow","Details","ul","ProductSpecificationsStyles","withWidget","useState","productDetailsContent","productSpecifications","faqs","tab","setTab","activeFAQ","setActiveFAQ","setIndex","sliderRef","useRef","pageCount","useMemo","Math","ceil","relatedFiles","paginatedFiles","files","tempFiles","pageFiles","S","productDetailsTitle","onClick","productSpecificationTitle","faqTitle","relatedFilesTitle","dangerouslySetInnerHTML","__html","map","question","answer","Flicking","ref","ALIGN","PREV","onWillChange","e","keys","parseInt","f","relatedFilesRedirectUrl","disabled","current","prev","next","InView","MediaType","HireViewType","OrderStepProgress"],"mappings":"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","file":"ProductSpecifications-ce61f52c8f2331d19904.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\t62: 0,\n \t\t77: 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([610,0,1,2,10]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export var Device;\r\n(function (Device) {\r\n Device[Device[\"MobileSmall\"] = 320] = \"MobileSmall\";\r\n Device[Device[\"MobileMedium\"] = 360] = \"MobileMedium\";\r\n Device[Device[\"Mobile\"] = 375] = \"Mobile\";\r\n Device[Device[\"MobileLarge\"] = 480] = \"MobileLarge\";\r\n Device[Device[\"TabletSmall\"] = 568] = \"TabletSmall\";\r\n Device[Device[\"Tablet\"] = 768] = \"Tablet\";\r\n Device[Device[\"TabletLarge\"] = 1024] = \"TabletLarge\";\r\n Device[Device[\"DesktopSmall\"] = 1280] = \"DesktopSmall\";\r\n Device[Device[\"Desktop\"] = 1366] = \"Desktop\";\r\n Device[Device[\"DesktopLarge\"] = 1600] = \"DesktopLarge\";\r\n Device[Device[\"ActualDesktop\"] = 1920] = \"ActualDesktop\";\r\n Device[Device[\"DesktopXL\"] = 2560] = \"DesktopXL\";\r\n})(Device || (Device = {}));\r\nexport function from(size) {\r\n return `(min-width: ${size}px)`;\r\n}\r\nexport function until(size) {\r\n return `(max-width: ${size - 1}px)`;\r\n}\r\nexport function between(min, max) {\r\n return `${from(min)} and ${until(max)}`;\r\n}\r\n","import brand from '@helpers/brand';\r\nimport { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport HeadingStyles from '@stories/Components/Global/Typography/Heading.styles';\r\nimport ParagraphStyles from '@stories/Components/Global/Typography/Paragraph.styles';\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 color: ${brand.primary.alt};\r\n }\r\n\r\n p {\r\n ${ParagraphStyles.RegularStyles};\r\n }\r\n\r\n a {\r\n color: ${brand.primary.alt};\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 background-color: rgba(102, 153, 0, 0.12);\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\nexport const WYSIWYGStyles = {\r\n Wrapper,\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","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, { 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 &&\r\n 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 { css } from 'styled-components';\r\nexport default {\r\n navHeight: 107,\r\n navHeightTablet: 80,\r\n navHeightMobile: 59,\r\n};\r\nexport const ButtonReset = css `\r\n border: none;\r\n outline: none;\r\n padding: 0px;\r\n background: none;\r\n border-radius: 0px;\r\n`;\r\n","import { 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 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 { 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 { 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 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 background-color: ${brand.primary.alt};\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 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 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 color: ${brand.primary.alt};\r\n }\r\n\r\n h2 {\r\n color: ${brand.primary.alt};\r\n }\r\n\r\n ${({ centerTitle }) => centerTitle === true\r\n ? css `\r\n ${HeadingStyles.Heading} {\r\n text-align: center;\r\n color: ${brand.primary.alt};\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\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\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`;\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 `\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' }) `\r\n ${ButtonReset};\r\n padding: 12px 20px;\r\n background-color: ${brand.white};\r\n border: 1px solid ${brand.primary.base};\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 background-color: ${brand.primary.base};\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 border-bottom: 2px solid ${brand.primary.base};\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 background-color: ${brand.primary.base};\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 \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: ${brand.primary.base}; \r\n position: absolute; \r\n top: 9px; \r\n left: 10px; \r\n } \r\n \r\n a { \r\n color: ${brand.primary.alt}; \r\n } \r\n } \r\n \r\n p { \r\n ${ParagraphStyles.RegularStyles}; \r\n } \r\n \r\n a { \r\n color: ${brand.primary.alt}; \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 withWidget from '@hoc/withWidget';\r\nimport { HydrateOption } from '@core/enums';\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 return (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 tab === 0 ? (React.createElement(S.ContentWrapper, null, props.productDetailsContent ? (React.createElement(S.Details, { dangerouslySetInnerHTML: { __html: props.productDetailsContent } })) : null)) : null,\r\n tab === 1 ? (React.createElement(S.TableWrapper, null, props.productSpecifications ? (React.createElement(WYSIWYGStyles.Wrapper, { dangerouslySetInnerHTML: { __html: props.productSpecifications } })) : null)) : null,\r\n tab === 2 ? (React.createElement(S.TabInner, { centerTitle: true, thin: true },\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 } }))))))) : null,\r\n tab === 3 ? (React.createElement(S.TabInner, null,\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 })))))))),\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)))))) : null))));\r\n};\r\nexport default withWidget(ProductSpecifications, 'ProductSpecifications', {\r\n hydrate: HydrateOption.InView,\r\n});\r\n","export var MediaType;\r\n(function (MediaType) {\r\n MediaType[MediaType[\"Image\"] = 0] = \"Image\";\r\n MediaType[MediaType[\"YouTube\"] = 1] = \"YouTube\";\r\n})(MediaType || (MediaType = {}));\r\nexport var HireViewType;\r\n(function (HireViewType) {\r\n HireViewType[HireViewType[\"ReadOnly\"] = 0] = \"ReadOnly\";\r\n HireViewType[HireViewType[\"Editable\"] = 1] = \"Editable\";\r\n})(HireViewType || (HireViewType = {}));\r\nexport var OrderStepProgress;\r\n(function (OrderStepProgress) {\r\n OrderStepProgress[OrderStepProgress[\"Inactive\"] = 0] = \"Inactive\";\r\n OrderStepProgress[OrderStepProgress[\"Complete\"] = 1] = \"Complete\";\r\n OrderStepProgress[OrderStepProgress[\"Current\"] = 2] = \"Current\";\r\n})(OrderStepProgress || (OrderStepProgress = {}));\r\nexport var HydrateOption;\r\n(function (HydrateOption) {\r\n HydrateOption[HydrateOption[\"Always\"] = 0] = \"Always\";\r\n HydrateOption[HydrateOption[\"InView\"] = 1] = \"InView\";\r\n HydrateOption[HydrateOption[\"Never\"] = 2] = \"Never\";\r\n})(HydrateOption || (HydrateOption = {}));\r\n","export const isSSR = () => {\r\n const returnValue = !(typeof window != 'undefined' && window.document);\r\n return returnValue;\r\n};\r\n"],"sourceRoot":""}