{"version":3,"sources":["webpack:///./src/helpers/to-base-64.ts","webpack:///./src/stories/Components/Global/Typography/Heading.styles.ts","webpack:///./src/stories/Components/Global/Typography/Paragraph.styles.ts","webpack:///./src/helpers/aspectRatio.ts","webpack:///./src/helpers/grid.ts","webpack:///./src/stories/Components/Media/Iframe/Iframe.styles.ts","webpack:///./src/stories/Components/Media/Iframe/Iframe.tsx","webpack:///./src/stories/Components/Global/Typography/Heading.tsx","webpack:///./src/stories/Components/Media/Image/Image.styles.ts","webpack:///./src/stories/Components/Global/Typography/Paragraph.tsx","webpack:///./src/helpers/cloudinary.ts","webpack:///./src/stories/Components/Media/Image/Image.tsx"],"names":["toBase64","str","window","Buffer","from","toString","btoa","H1Styles","css","fonts","DaxPro","Bold","Device","DesktopLarge","H2Styles","H3Styles","H4Styles","H5Styles","Regular","DesktopSmall","H6Styles","Heading","styled","h1","visual","LargeStyles","RegularStyles","SmallStyles","Paragraph","p","isLatestNewsWidget","align","size","aspectRatio","width","height","baseGrid","MobileLarge","Tablet","TabletLarge","Grid","Default","div","Desktop","DefaultBreakout","DefaultPseudo","Inner","CardGridSpans","IframeStyles","Wrapper","ResponsiveWrapper","Iframe","iframe","props","url","length","React","createElement","title","allowFullScreen","src","children","semantic","otherProps","s","as","Image","img","objectFit","undefined","objectPosition","Intrinsic","Responsive","fullPaddingTop","quotient","isNaN","ImageStyles","Fixed","Fill","className","cl","Cloudinary","cloud","cloudName","secure","imageUrl","publicId","rawTransformation","transformation","image","addTransformation","FormatRegEx","test","toURL","delivery","format","fAuto","quality","qAuto","useState","hasErrored","setHasErrored","deviceWidths","MobileSmall","MobileMedium","Mobile","ActualDesktop","filter","x","sort","a","b","srcSetUrls","map","join","sizes","handleError","e","currentTarget","fallbackSrc","components","layout","role","alt","decoding","preload","loading","draggable","srcSet","onError","fetchPriority","sizerSvg","Fragment"],"mappings":"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","file":"default~MediaPromo~ProductDetails-a3532b09ba9b61a42b9d.js","sourcesContent":["/**\r\n * Isomorphic base64 that works on the server and client\r\n */\r\nexport function toBase64(str) {\r\n if (typeof window === 'undefined') {\r\n return Buffer.from(str).toString('base64');\r\n }\r\n else {\r\n return window.btoa(str);\r\n }\r\n}\r\n","import { fonts } from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nconst H1Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 45px;\r\n letter-spacing: 0.02em;\r\n line-height: 48px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 70px;\r\n line-height: 70px;\r\n }\r\n`;\r\nconst H2Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 38px;\r\n letter-spacing: 0.02em;\r\n line-height: 40px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 60px;\r\n line-height: 60px;\r\n }\r\n`;\r\nconst H3Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 35px;\r\n letter-spacing: 0.02em;\r\n line-height: 42px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 50px;\r\n line-height: 60px;\r\n }\r\n`;\r\nconst H4Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 22px;\r\n letter-spacing: 0.02em;\r\n line-height: 24px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 40px;\r\n line-height: 40px;\r\n }\r\n`;\r\nconst H5Styles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 24px;\r\n margin-bottom: 12px;\r\n line-height: 22px;\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n font-size: 35px;\r\n line-height: 38px;\r\n margin-bottom: 16px;\r\n }\r\n`;\r\nconst H6Styles = css `\r\n ${fonts.DaxPro.Bold};\r\n font-size: 16px;\r\n letter-spacing: 0.02em;\r\n line-height: 20px;\r\n margin-bottom: 16px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 20px;\r\n line-height: 28px;\r\n }\r\n`;\r\nconst Heading = styled.h1 `\r\n ${({ visual }) => {\r\n switch (visual) {\r\n case 'h1':\r\n return H1Styles;\r\n case 'h2':\r\n return H2Styles;\r\n case 'h3':\r\n return H3Styles;\r\n case 'h4':\r\n return H4Styles;\r\n case 'h5':\r\n return H5Styles;\r\n case 'h6':\r\n return H6Styles;\r\n default:\r\n break;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n // H1Styles,\r\n // H2Styles,\r\n H3Styles,\r\n H4Styles,\r\n H5Styles,\r\n // H6Styles,\r\n Heading,\r\n};\r\n","import { fonts } from '@helpers/fonts';\r\nimport styled, { css } from 'styled-components';\r\n/**\r\n * 20px / 28px\r\n */\r\nexport const LargeStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 20px;\r\n letter-spacing: normal;\r\n line-height: 28px;\r\n margin-bottom: 16px;\r\n`;\r\n/**\r\n * 18px / 28px\r\n */\r\nexport const RegularStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 18px;\r\n letter-spacing: normal;\r\n line-height: 28px;\r\n margin-bottom: 16px;\r\n`;\r\n/**\r\n * 16px / 26px\r\n */\r\nexport const SmallStyles = css `\r\n ${fonts.DaxPro.Regular};\r\n font-size: 16px;\r\n letter-spacing: normal;\r\n line-height: 26px;\r\n margin-bottom: 16px;\r\n`;\r\nconst Paragraph = styled.p `\r\n ${({ isLatestNewsWidget }) => isLatestNewsWidget\r\n ? css `\r\n min-height: 104px;\r\n `\r\n : null}\r\n \r\n ${({ align }) => align\r\n ? css `\r\n text-align: ${align};\r\n `\r\n : null}\r\n\r\n ${({ size }) => {\r\n switch (size) {\r\n case 'large':\r\n return LargeStyles;\r\n case 'regular':\r\n return RegularStyles;\r\n case 'small':\r\n return SmallStyles;\r\n default:\r\n break;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n Paragraph,\r\n SmallStyles,\r\n RegularStyles,\r\n LargeStyles,\r\n};\r\n","/**\r\n * Returns the aspect ratio of the given width and height as a percentage.\r\n */\r\nexport function aspectRatio(width, height) {\r\n return (height / width) * 100;\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 styled from 'styled-components';\r\nconst Wrapper = styled.div ``;\r\nconst ResponsiveWrapper = styled.div `\r\n height: 0px;\r\n padding-bottom: ${({ aspectRatio }) => aspectRatio}%;\r\n position: relative;\r\n`;\r\nconst Iframe = styled.iframe `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\nexport const IframeStyles = {\r\n Wrapper,\r\n ResponsiveWrapper,\r\n Iframe,\r\n};\r\n","import React from 'react';\r\nimport { IframeStyles } from './Iframe.styles';\r\nconst Iframe = (props) => {\r\n if (!props.url || !props.url.length) {\r\n return null;\r\n }\r\n return (React.createElement(IframeStyles.Wrapper, null,\r\n React.createElement(IframeStyles.ResponsiveWrapper, { aspectRatio: props.aspectRatio },\r\n React.createElement(IframeStyles.Iframe, { title: props.title, allowFullScreen: true, src: props.url }))));\r\n};\r\nexport default Iframe;\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 { Device, from } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nconst Image = styled.img `\r\n position: absolute;\r\n height: 100%;\r\n inset: 0px;\r\n box-sizing: border-box;\r\n padding: 0px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n border: none;\r\n display: block;\r\n text-indent: -999px;\r\n object-fit: ${({ objectFit }) => (objectFit !== undefined ? objectFit : 'initial')};\r\n object-position: ${({ objectPosition }) => objectPosition !== undefined ? objectPosition : undefined};\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n width: 100%;\r\n height: auto;\r\n }\r\n`;\r\nconst Intrinsic = styled.div `\r\n height: 100%;\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n position: relative;\r\n box-sizing: border-box;\r\n margin: 0;\r\n\r\n > div {\r\n box-sizing: border-box;\r\n display: block;\r\n max-width: 100%;\r\n }\r\n`;\r\nconst Responsive = styled.div `\r\n display: block;\r\n overflow: hidden;\r\n position: relative;\r\n box-sizing: border-box;\r\n margin: 0;\r\n\r\n > div {\r\n display: block;\r\n box-sizing: border-box;\r\n \r\n padding-top: ${({ width, height, fullPaddingTop }) => {\r\n if (fullPaddingTop || !height || !width) {\r\n return '100%';\r\n }\r\n const quotient = height / width;\r\n return isNaN(quotient) ? '100%' : `${quotient * 100}%`;\r\n}};\r\n\r\n }\r\n`;\r\nconst Fixed = styled.div `\r\n overflow: hidden;\r\n box-sizing: border-box;\r\n display: inline-block;\r\n position: relative;\r\n width: ${({ width }) => width}px;\r\n height: ${({ height }) => height}px;\r\n`;\r\nconst Fill = styled.div `\r\n display: block;\r\n overflow: hidden;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n right: 0;\r\n box-sizing: border-box;\r\n margin: 0;\r\n`;\r\nexport const ImageStyles = {\r\n Image,\r\n Intrinsic,\r\n Fixed,\r\n Responsive,\r\n Fill,\r\n};\r\n","import React from 'react';\r\nimport s from './Paragraph.styles';\r\nconst Paragraph = ({ children, className, size = 'regular', align = 'left', isLatestNewsWidget, }) => {\r\n return (React.createElement(s.Paragraph, { className: className, size: size, align: align, isLatestNewsWidget: isLatestNewsWidget }, children));\r\n};\r\nexport default Paragraph;\r\n","import { Cloudinary } from '@cloudinary/base';\r\nimport { format, quality } from '@cloudinary/base/actions/delivery';\r\nimport { fit } from '@cloudinary/base/actions/resize';\r\nimport { audioCodec } from '@cloudinary/base/actions/transcode';\r\nimport { auto as fAuto } from '@cloudinary/base/qualifiers/format';\r\nimport { auto as qAuto } from '@cloudinary/base/qualifiers/quality';\r\nconst cl = new Cloudinary({\r\n cloud: {\r\n cloudName: 'vp-groundforce',\r\n },\r\n url: {\r\n secure: true,\r\n },\r\n});\r\nexport function imageUrl(publicId, rawTransformation) {\r\n if (!publicId) {\r\n return '';\r\n }\r\n const image = cl.image(publicId);\r\n // Apply raw transformation.\r\n if (rawTransformation) {\r\n image.addTransformation(rawTransformation);\r\n }\r\n // Ensure we're specifying a format...\r\n if (containsFormatTransformation(rawTransformation)) {\r\n return image.toURL();\r\n }\r\n // ...otherwise serve with \"f_auto\" for WebP support.\r\n return image.delivery(format(fAuto())).delivery(quality(qAuto())).toURL();\r\n}\r\nexport function videoUrl(publicId, options = {}) {\r\n if (!publicId) {\r\n return '';\r\n }\r\n let video = cl.video(publicId);\r\n // Apply resize.\r\n if (options.aspectRatio || options.width) {\r\n let resize = fit();\r\n if (options.aspectRatio) {\r\n resize = resize.aspectRatio(options.aspectRatio);\r\n }\r\n if (options.width) {\r\n resize = resize.width(options.width);\r\n }\r\n video = video.resize(resize);\r\n }\r\n // Apply transcale (remove audio).\r\n if (options.audioCodec) {\r\n video = video.transcode(audioCodec(options.audioCodec));\r\n }\r\n // Apply format.\r\n if (options.format) {\r\n video = video.delivery(format(options.format));\r\n }\r\n return video.toURL();\r\n}\r\n// eslint-disable-next-line no-useless-escape\r\nconst FormatRegEx = /(\\/|\\,)(f_.*?)(\\/|\\,)/;\r\nfunction containsFormatTransformation(transformation) {\r\n return !!transformation && FormatRegEx.test(transformation);\r\n}\r\n","import { imageUrl } from '@helpers/cloudinary';\r\nimport { Device } from '@helpers/media';\r\nimport { toBase64 } from '@helpers/to-base-64';\r\nimport React, { useState } from 'react';\r\nimport { ImageStyles } from './Image.styles';\r\nconst Image = (props) => {\r\n const [hasErrored, setHasErrored] = useState(false);\r\n const deviceWidths = [\r\n props.width ? props.width : -1,\r\n Device.MobileSmall,\r\n Device.MobileSmall * 2,\r\n Device.MobileSmall * 3,\r\n Device.MobileMedium,\r\n Device.MobileMedium * 2,\r\n Device.MobileMedium * 3,\r\n Device.Mobile,\r\n Device.Mobile * 2,\r\n Device.Mobile * 3,\r\n Device.MobileLarge,\r\n Device.MobileLarge * 2,\r\n Device.MobileLarge * 3,\r\n Device.Tablet,\r\n Device.Tablet * 2,\r\n Device.Tablet * 3,\r\n Device.TabletLarge,\r\n Device.TabletLarge * 2,\r\n Device.TabletLarge * 3,\r\n Device.DesktopSmall,\r\n Device.DesktopSmall * 2,\r\n Device.DesktopSmall * 3,\r\n Device.Desktop,\r\n Device.Desktop * 2,\r\n Device.Desktop * 3,\r\n Device.ActualDesktop,\r\n Device.ActualDesktop * 2,\r\n Device.ActualDesktop * 3,\r\n ]\r\n .filter((x) => x > 0)\r\n .sort((a, b) => (a < b ? -1 : 1));\r\n const srcSetUrls = deviceWidths\r\n .map((x) => `${imageUrl(props.src, `c_fill,w_${x}`)} ${x}w`)\r\n .join(', ');\r\n const src = imageUrl(props.src, `c_fill,w_${deviceWidths[deviceWidths.length - 1]}`);\r\n const sizes = props.sizes ? props.sizes : '100vw';\r\n const handleError = (e) => {\r\n if (hasErrored) {\r\n return;\r\n }\r\n setHasErrored(true);\r\n e.currentTarget.src = props.fallbackSrc ? props.fallbackSrc : '';\r\n };\r\n let components = null;\r\n switch (props.layout) {\r\n default:\r\n case 'responsive': {\r\n components = (React.createElement(ImageStyles.Responsive, { width: props.width, height: props.height, fullPaddingTop: props.fullPaddingTop },\r\n React.createElement(\"div\", null),\r\n React.createElement(ImageStyles.Image, { role: props.role, alt: props.alt, decoding: props.preload ? 'sync' : 'async', loading: props.loading ? props.loading : 'lazy', objectFit: props.objectFit, objectPosition: props.objectPosition, draggable: props.draggable, sizes: sizes, srcSet: srcSetUrls, src: src, onError: handleError, \r\n /*// @ts-ignore */\r\n fetchPriority: props.preload ? 'high' : 'auto' })));\r\n break;\r\n }\r\n case 'intrinsic': {\r\n const sizerSvg = ``;\r\n components = (React.createElement(ImageStyles.Intrinsic, null,\r\n React.createElement(\"div\", null,\r\n React.createElement(\"img\", { \"aria-hidden\": true, role: \"presentation\", src: `data:image/svg+xml;base64,${toBase64(sizerSvg)}` })),\r\n React.createElement(ImageStyles.Image, { role: props.role, alt: props.alt, decoding: props.preload ? 'sync' : 'async', loading: props.loading ? props.loading : 'lazy', objectFit: props.objectFit, objectPosition: props.objectPosition, draggable: props.draggable, sizes: sizes, srcSet: srcSetUrls, src: src, onError: handleError, \r\n /*// @ts-ignore */\r\n fetchPriority: props.preload ? 'high' : 'auto' })));\r\n break;\r\n }\r\n case 'fixed': {\r\n components = (React.createElement(ImageStyles.Fixed, { width: props.width, height: props.height },\r\n React.createElement(ImageStyles.Image, { role: props.role, alt: props.alt, decoding: props.preload ? 'sync' : 'async', loading: props.loading ? props.loading : 'lazy', objectFit: props.objectFit, objectPosition: props.objectPosition, draggable: props.draggable, sizes: sizes, srcSet: srcSetUrls, src: src, onError: handleError, \r\n /*// @ts-ignore */\r\n fetchPriority: props.preload ? 'high' : 'auto' })));\r\n break;\r\n }\r\n case 'fill': {\r\n components = (React.createElement(ImageStyles.Fill, null,\r\n React.createElement(ImageStyles.Image, { role: props.role, alt: props.alt, decoding: props.preload ? 'sync' : 'async', loading: props.loading ? props.loading : 'lazy', draggable: props.draggable, objectFit: props.objectFit, objectPosition: props.objectPosition, sizes: sizes, srcSet: srcSetUrls, src: src, onError: handleError, \r\n /*// @ts-ignore */\r\n fetchPriority: props.preload ? 'high' : 'auto' })));\r\n break;\r\n }\r\n }\r\n return React.createElement(React.Fragment, null, components);\r\n};\r\nexport default Image;\r\n"],"sourceRoot":""}