{"version":3,"file":"5682-842162f2bf1601007dbd.js","mappings":"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","sources":["webpack://eploy/./src/helpers/grid.ts","webpack://eploy/./src/helpers/image.ts","webpack://eploy/./src/helpers/scrollbars.ts","webpack://eploy/./src/helpers/typography.ts","webpack://eploy/./src/hoc/withMotion.tsx","webpack://eploy/./src/hooks/useIntersectionObserver.ts","webpack://eploy/./src/hooks/useInView.ts","webpack://eploy/./src/stories/Components/Misc/SectionWrapper/SectionWrapper.styles.ts","webpack://eploy/./src/stories/Components/Misc/SectionWrapper/SectionWrapper.tsx","webpack://eploy/./src/stories/Components/Misc/SocialLinks/SocialLinks.styles.ts","webpack://eploy/./src/stories/Components/Misc/ShareLinks/ShareLinks.tsx","webpack://eploy/./src/stories/Widgets/ArticleBanner/ArticleBanner.styles.ts","webpack://eploy/./src/stories/Widgets/ArticleBanner/ArticleBanner.tsx","webpack://eploy/./node_modules/decode-uri-component/index.js","webpack://eploy/./node_modules/filter-obj/index.js","webpack://eploy/./node_modules/query-string/index.js","webpack://eploy/./node_modules/react-spinners/esm/helpers/unitConverter.js","webpack://eploy/./node_modules/react-spinners/esm/helpers/animation.js","webpack://eploy/./node_modules/react-spinners/esm/PuffLoader.js","webpack://eploy/./node_modules/split-on-first/index.js","webpack://eploy/./node_modules/strict-uri-encode/index.js"],"sourcesContent":["import { css } from 'styled-components';\r\nexport const siteWide = css `\r\n margin: 0 auto;\r\n max-width: calc(var(--siteWidth) + var(--sitePadding) + var(--sitePadding));\r\n padding: 0 var(--sitePadding);\r\n width: 100%;\r\n`;\r\nexport const baseGrid = css `\r\n display: grid;\r\n column-gap: var(--gutterWidth);\r\n grid-template-columns: repeat(12, 1fr);\r\n`;\r\n","import queryString from 'query-string';\r\n/**\r\n * Create an image URL for ImageProcessor\r\n * @param image The image model\r\n * @param imageParams The image parameters\r\n * @returns The image URL\r\n */\r\nexport function imageUrl(image, imageParams) {\r\n if (!image) {\r\n return '';\r\n }\r\n const params = {\r\n center: image.focalPoint ? `${image.focalPoint.top},${image.focalPoint.left}` : undefined,\r\n ...imageParams,\r\n };\r\n if (params.width && params.heightratio) {\r\n params.height = Math.round(params.width / params.heightratio);\r\n }\r\n const paramsString = queryString.stringify(params);\r\n return `${image.src}${paramsString ? `?${queryString.stringify(params)}` : ''}`;\r\n}\r\nexport function getSrcs(image, upper, lower, steps, ratio) {\r\n if (!image) {\r\n return { src: '', srcSet: '' };\r\n }\r\n const sizes = getRange(upper, lower, steps);\r\n const sizesArr = sizes.map((size) => `${imageUrl(image, { width: size, heightratio: ratio })} ${size}w`);\r\n return {\r\n src: sizesArr[0].split(' ')[0],\r\n srcSet: sizesArr.join(','),\r\n };\r\n}\r\nexport function getRetinaSrcs(image, width, ratio) {\r\n const dprs = [1, 1.5, 2, 2.5, 3];\r\n const dprsArr = dprs.map((dpr) => `${imageUrl(image, { width: width * dpr, heightratio: ratio })} ${dpr}x`);\r\n return {\r\n src: dprsArr[0].split(' ')[0],\r\n srcSet: dprsArr.join(','),\r\n };\r\n}\r\nfunction getRange(upper, lower, steps) {\r\n const difference = upper - lower;\r\n const increment = difference / (steps - 1);\r\n return [\r\n lower,\r\n ...Array(steps - 2)\r\n .fill('')\r\n .map((_, index) => Math.ceil(lower + increment * (index + 1))),\r\n upper,\r\n ];\r\n}\r\n","import { css } from 'styled-components';\r\nimport brand from './brand';\r\nexport default css `\r\n &::-webkit-scrollbar-track {\r\n background-color: ${brand.grey.dark};\r\n }\r\n\r\n &::-webkit-scrollbar {\r\n background-color: ${brand.grey.dark};\r\n height: 6px;\r\n width: 6px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb {\r\n background-color: ${brand.primary.orange};\r\n border-radius: 0;\r\n cursor: pointer;\r\n }\r\n`;\r\n","import svgBullet from '@img/icons/bullet-fill.svg?url';\r\nimport svgQuote from '@img/icons/quote-testimonials.svg?url';\r\nimport { css } from 'styled-components';\r\nimport { transition } from './animate';\r\nimport brand from './brand';\r\nimport { fluid } from './fluid';\r\nimport fonts from './fonts';\r\nimport scrollbars from './scrollbars';\r\nexport const headingStyles = css `\r\n ${fonts.poppins.extraBold};\r\n\r\n color: currentColor;\r\n margin: 0 0 ${fluid(30, 42)};\r\n text-wrap: pretty;\r\n`;\r\nexport const h1 = css `\r\n ${headingStyles};\r\n\r\n font-size: ${fluid(38, 72)};\r\n line-height: ${fluid(46, 88)};\r\n`;\r\nexport const h2 = css `\r\n ${headingStyles};\r\n\r\n font-size: ${fluid(32, 58)};\r\n line-height: ${fluid(38, 66)};\r\n`;\r\nexport const h3 = css `\r\n ${headingStyles};\r\n\r\n font-size: ${fluid(26, 42)};\r\n line-height: ${fluid(34, 48)};\r\n`;\r\nexport const h4 = css `\r\n ${headingStyles};\r\n\r\n font-size: ${fluid(22, 32)};\r\n line-height: ${fluid(30, 38)};\r\n`;\r\nexport const h5 = css `\r\n ${headingStyles};\r\n\r\n font-size: ${fluid(16, 24)};\r\n line-height: ${fluid(22, 30)};\r\n font-weight: 700;\r\n`;\r\nexport const h6 = css `\r\n ${headingStyles};\r\n\r\n font-size: ${fluid(16, 18)};\r\n line-height: 20px;\r\n font-weight: 700;\r\n`;\r\nexport const paragraphStyles = css `\r\n ${fonts.poppins.regular};\r\n\r\n color: currentColor;\r\n margin: 0 0 ${fluid(12, 14)};\r\n text-wrap: pretty;\r\n`;\r\nexport const paragraphExtraLarge = css `\r\n ${paragraphStyles};\r\n\r\n font-size: ${fluid(22, 32)};\r\n line-height: ${fluid(30, 42)};\r\n`;\r\nexport const paragraphLarge = css `\r\n ${paragraphStyles};\r\n\r\n font-size: ${fluid(17, 22)};\r\n line-height: ${fluid(25, 36)};\r\n`;\r\nexport const paragraphRegular = css `\r\n ${paragraphStyles};\r\n\r\n font-size: ${fluid(17, 20)};\r\n line-height: ${fluid(25, 36)};\r\n`;\r\nexport const paragraphSmall = css `\r\n ${paragraphStyles};\r\n\r\n font-size: ${fluid(14, 18)};\r\n line-height: ${fluid(22, 28)};\r\n`;\r\nexport const tag = css `\r\n ${fonts.poppins.bold};\r\n\r\n font-size: ${fluid(11, 14)};\r\n line-height: ${fluid(12, 16)};\r\n margin: 0 0 ${fluid(12, 20)};\r\n`;\r\nexport const authorName = css `\r\n ${fonts.caveat};\r\n\r\n font-size: ${fluid(20, 28)};\r\n line-height: ${fluid(26, 38)};\r\n`;\r\nexport const link = css `\r\n ${transition('text-decoration-color')};\r\n\r\n --textDecorationColour: ${brand.primary.orange};\r\n\r\n display: inline;\r\n color: currentColor;\r\n text-decoration: underline;\r\n text-decoration-color: var(--textDecorationColour);\r\n text-decoration-thickness: 1px;\r\n text-underline-offset: ${fluid(3, 4)};\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &:focus-visible {\r\n outline: auto;\r\n outline-offset: 2px;\r\n outline-width: 1px;\r\n outline-style: solid;\r\n outline-color: ${brand.primary.orange};\r\n }\r\n\r\n &:focus,\r\n &:hover {\r\n text-decoration-color: transparent;\r\n }\r\n`;\r\nexport const blockquote = css `\r\n ${paragraphRegular};\r\n\r\n --quoteWidth: ${fluid(56, 106)};\r\n --quoteColour: linear-gradient(\r\n 180deg,\r\n ${brand.primary.orange} 63.63%,\r\n ${brand.secondary.orangeDark} 100%\r\n );\r\n --quoteGap: ${fluid(8, 24)};\r\n --lineWidth: ${fluid(4, 8)};\r\n\r\n position: relative;\r\n color: currentColor;\r\n text-align: left;\r\n font-style: italic;\r\n padding-left: calc((var(--quoteGap) * 2) + var(--quoteWidth) + var(--lineWidth));\r\n\r\n &::before,\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n background: var(--quoteColour);\r\n }\r\n\r\n &::before {\r\n top: 50%;\r\n left: 0;\r\n width: var(--quoteWidth);\r\n aspect-ratio: 106 / 82;\r\n -webkit-mask-image: url(${svgQuote});\r\n mask-image: url(${svgQuote});\r\n mask-repeat: no-repeat;\r\n background-size: contain;\r\n transform: translateY(-50%);\r\n }\r\n\r\n &::after {\r\n left: calc(var(--quoteGap) + var(--quoteWidth));\r\n top: 0;\r\n width: var(--lineWidth);\r\n height: 100%;\r\n border-radius: 100px;\r\n }\r\n\r\n p {\r\n color: currentColor;\r\n font-size: inherit;\r\n line-height: inherit;\r\n font-style: inherit;\r\n margin-bottom: ${fluid(8, 16)};\r\n }\r\n\r\n footer {\r\n ${authorName};\r\n\r\n cite {\r\n ${paragraphRegular};\r\n\r\n margin: 0;\r\n }\r\n }\r\n`;\r\nexport const table = css `\r\n ${paragraphSmall};\r\n\r\n --borderRadius: 6px;\r\n\r\n background: ${brand.primary.white};\r\n border-spacing: 0;\r\n border-collapse: separate;\r\n color: currentColor;\r\n width: 100% !important;\r\n border-radius: var(--borderRadius);\r\n\r\n td,\r\n th {\r\n border: 1px solid ${brand.primary.black};\r\n padding: 10px 12px;\r\n text-align: left;\r\n\r\n &:not(:last-child) {\r\n border-right: 0;\r\n }\r\n }\r\n\r\n thead {\r\n tr {\r\n background: transparent;\r\n\r\n td,\r\n th {\r\n font-weight: 700;\r\n color: ${brand.primary.orange};\r\n border-bottom: 0;\r\n\r\n &:first-child {\r\n border-top-left-radius: var(--borderRadius);\r\n }\r\n\r\n &:last-child {\r\n border-top-right-radius: var(--borderRadius);\r\n }\r\n }\r\n }\r\n }\r\n\r\n tbody {\r\n tr {\r\n &:last-child {\r\n td:first-child {\r\n border-bottom-left-radius: var(--borderRadius);\r\n }\r\n\r\n td:last-child {\r\n border-bottom-right-radius: var(--borderRadius);\r\n }\r\n }\r\n\r\n &:not(:last-child) {\r\n td {\r\n border-bottom: 0;\r\n }\r\n }\r\n }\r\n }\r\n`;\r\nexport const contentStyles = css `\r\n --bulletColour: ${brand.primary.orange};\r\n\r\n h1,\r\n .h1-styles {\r\n ${h2};\r\n }\r\n\r\n h2,\r\n .h2-styles {\r\n ${h3};\r\n }\r\n\r\n h3,\r\n .h3-styles {\r\n ${h4};\r\n }\r\n\r\n h4,\r\n .h4-styles {\r\n ${h5}\r\n }\r\n\r\n h5,\r\n .h5-styles {\r\n ${h6}\r\n }\r\n\r\n h6,\r\n .h6-styles {\r\n ${h6}\r\n }\r\n\r\n h1,\r\n .h1-styles,\r\n h2,\r\n .h2-styles,\r\n h3,\r\n .h3-styles,\r\n h4,\r\n .h4-styles,\r\n h5,\r\n .h5-styles,\r\n h6,\r\n .h6-styles {\r\n margin: ${fluid(18, 32)} 0 0.48em;\r\n }\r\n\r\n p {\r\n ${paragraphRegular};\r\n\r\n a {\r\n ${link};\r\n }\r\n }\r\n\r\n strong {\r\n font-weight: 700;\r\n }\r\n\r\n .extra-large {\r\n ${paragraphExtraLarge};\r\n\r\n strong {\r\n font-weight: 800;\r\n }\r\n }\r\n\r\n .large {\r\n ${paragraphLarge}\r\n }\r\n\r\n .small {\r\n ${paragraphSmall}\r\n }\r\n\r\n .tag {\r\n ${tag}\r\n }\r\n\r\n a {\r\n ${link}\r\n }\r\n\r\n ol,\r\n ul {\r\n ${paragraphRegular};\r\n\r\n margin-top: ${fluid(12, 14)};\r\n\r\n li {\r\n color: currentColor;\r\n margin: 0 0 ${fluid(10, 12)};\r\n }\r\n }\r\n\r\n ol,\r\n ul {\r\n list-style: none;\r\n padding-left: 26px;\r\n }\r\n\r\n ol {\r\n counter-reset: li;\r\n\r\n li {\r\n display: block;\r\n counter-increment: li;\r\n margin-left: -26px;\r\n\r\n &::before {\r\n color: ${brand.primary.orange};\r\n content: counter(li) '.';\r\n margin-right: 12px;\r\n }\r\n }\r\n }\r\n\r\n // Ensure that inline styling hasn't been applied\r\n ul:not([style*='list-style-type']) li {\r\n position: relative;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n top: ${fluid(5.5, 12)};\r\n left: -26px;\r\n height: 13px;\r\n width: 12px;\r\n -webkit-mask-image: url(${svgBullet});\r\n mask-image: url(${svgBullet});\r\n mask-repeat: no-repeat;\r\n background-color: var(--bulletColour);\r\n }\r\n }\r\n\r\n blockquote {\r\n ${blockquote};\r\n }\r\n\r\n hr {\r\n display: block;\r\n background: var(--titleHighlight);\r\n border: 0;\r\n height: 2px;\r\n margin: ${fluid(30, 42)} 0;\r\n padding: 0;\r\n width: 100%;\r\n border-radius: 100px;\r\n }\r\n\r\n table {\r\n ${table};\r\n }\r\n\r\n .responsive-table {\r\n ${scrollbars};\r\n\r\n position: relative;\r\n overflow-x: auto;\r\n }\r\n\r\n > *:first-child {\r\n margin-top: 0;\r\n }\r\n\r\n > *:last-child {\r\n margin-bottom: 0 !important;\r\n }\r\n`;\r\n","import { domAnimation, LazyMotion } from 'framer-motion';\r\nimport React from 'react';\r\nexport function withMotion(WrappedComponent) {\r\n const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\r\n const ComponentWithMotion = (props) => {\r\n return (React.createElement(LazyMotion, { features: domAnimation, strict: true },\r\n React.createElement(WrappedComponent, { ...props })));\r\n };\r\n ComponentWithMotion.displayName = `withMotion(${displayName})`;\r\n return ComponentWithMotion;\r\n}\r\n","import { useEffect, useRef } from 'react';\r\n/**\r\n * Use the IntersectionObserver to track visibility of an element in the viewport.\r\n * @param {IntersectionObserverCallback} callback\r\n * @param {IntersectionObserverInit} options\r\n * @returns {UseIntersectionObserverReturn}\r\n */\r\nfunction useIntersectionObserver(callback, options = {}) {\r\n const observerRef = useRef(null);\r\n const rootRef = useRef(null);\r\n const elementRef = useRef(null);\r\n useEffect(() => {\r\n if (!elementRef.current) {\r\n return undefined;\r\n }\r\n observerRef.current = new IntersectionObserver(callback, {\r\n root: rootRef.current,\r\n ...options,\r\n });\r\n observerRef.current.observe(elementRef.current);\r\n return () => {\r\n if (observerRef.current === null) {\r\n return;\r\n }\r\n observerRef.current.disconnect();\r\n };\r\n }, [callback, options]);\r\n return { elementRef, observerRef, rootRef };\r\n}\r\nexport default useIntersectionObserver;\r\n","import { useState } from 'react';\r\nimport useIntersectionObserver from './useIntersectionObserver';\r\nexport function useInView(options, reverse = false, isEditMode = false) {\r\n const [inView, setInView] = useState(false);\r\n const { elementRef } = useIntersectionObserver((entries) => {\r\n if (entries[0].isIntersecting) {\r\n setInView(true);\r\n }\r\n else if (reverse === true) {\r\n setInView(false);\r\n }\r\n }, options);\r\n return [elementRef, isEditMode ? true : inView];\r\n}\r\n","import brand from '@helpers/brand';\r\nimport { siteWide } from '@helpers/grid';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nexport const SectionWrapperCSS = css `\r\n color: var(--sectionColour, ${brand.primary.black});\r\n background: var(--sectionBackground, transparent);\r\n scroll-margin: var(--headerHeight, 0px) 0 0;\r\n\r\n &[data-flush='top'] {\r\n --sectionSpacingTop: 0;\r\n }\r\n\r\n &[data-flush='bottom'] {\r\n --sectionSpacingBottom: 0;\r\n }\r\n\r\n &[data-flush='both'] {\r\n --sectionSpacingTop: 0;\r\n --sectionSpacingBottom: 0;\r\n }\r\n\r\n /* Variant text colours */\r\n &[data-variant='blue'],\r\n &[data-variant='charcoal'],\r\n &[data-variant='orange'],\r\n &[data-variant='pink'] {\r\n --sectionColour: ${brand.primary.white};\r\n }\r\n\r\n &[data-variant='stone'],\r\n &[data-variant='white'] {\r\n --sectionColour: ${brand.primary.black};\r\n }\r\n\r\n /* Variant background colours */\r\n &[data-variant='pink'] {\r\n --bgAngle: 90deg;\r\n }\r\n\r\n &[data-variant='blue'],\r\n &[data-variant='charcoal'] {\r\n --bgAngle: 105deg;\r\n }\r\n\r\n &[data-variant='orange'] {\r\n --bgAngle: 0deg;\r\n }\r\n\r\n &[data-variant='blue'] {\r\n --sectionBackground: linear-gradient(var(--bgAngle), #3372aa 0%, #1e2f6d 100%);\r\n }\r\n\r\n &[data-variant='charcoal'] {\r\n --sectionBackground: linear-gradient(var(--bgAngle), #2b2b2b 0%, #505050 100%);\r\n }\r\n\r\n &[data-variant='orange'] {\r\n --sectionBackground: linear-gradient(var(--bgAngle), #f47929 0%, #f17028 58.6%, #e24321 98.36%);\r\n }\r\n\r\n &[data-variant='pink'] {\r\n --sectionBackground: linear-gradient(var(--bgAngle), #9f4a92 0%, #cc709c 53%, #f491a4 100%);\r\n }\r\n\r\n &[data-variant='stone'] {\r\n --sectionBackground: ${brand.primary.stone};\r\n }\r\n\r\n &[data-variant='white'] {\r\n --sectionBackground: ${brand.primary.white};\r\n }\r\n`;\r\nconst Container = styled(m.section) `\r\n ${SectionWrapperCSS};\r\n`;\r\nexport const SectionWrapperInnerCSS = css `\r\n ${siteWide};\r\n\r\n padding-top: var(--sectionSpacingTop);\r\n padding-bottom: var(--sectionSpacingBottom);\r\n`;\r\nconst Inner = styled.div `\r\n ${SectionWrapperInnerCSS};\r\n`;\r\nconst SectionWrapperStyles = {\r\n Container,\r\n Inner,\r\n};\r\nexport default SectionWrapperStyles;\r\n","import * as React from 'react';\r\nimport S from './SectionWrapper.styles';\r\nconst SectionWrapper = React.forwardRef((props, ref) => {\r\n const { id, children, layout = 'default', flush = 'none', variant, ...otherProps } = props;\r\n return (React.createElement(S.Container, { ref: ref, id: id, \"data-flush\": flush, \"data-variant\": variant, ...otherProps }, renderLayout()));\r\n function renderLayout() {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n //@ts-ignore\r\n if (layout === 'fullWidth') {\r\n return children;\r\n }\r\n return React.createElement(S.Inner, null, children);\r\n }\r\n});\r\nSectionWrapper.displayName = 'SectionWrapper';\r\nexport default SectionWrapper;\r\n","import { transition } from '@helpers/animate';\r\nimport brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport styled from 'styled-components';\r\nconst Container = styled.ul `\r\n --bgColour: transparent;\r\n --buttonSize: 24px;\r\n --fgColour: ${brand.primary.black};\r\n --itemGap: 16px;\r\n --itemSize: 24px;\r\n\r\n display: flex;\r\n align-items: center;\r\n gap: var(--itemGap);\r\n color: var(--fgColour);\r\n\r\n &[data-share] {\r\n --itemGap: ${fluid(8, 16)};\r\n }\r\n`;\r\nconst Item = styled.li ``;\r\nconst Link = styled.a `\r\n ${transition('opacity', 0.25)};\r\n\r\n display: grid;\r\n height: var(--buttonSize);\r\n place-content: center;\r\n border: 0;\r\n color: currentColor;\r\n margin: 0;\r\n background-color: var(--bgColour);\r\n padding: 0;\r\n text-decoration: none;\r\n border-radius: 5000px;\r\n\r\n /* Enable focus styles for Safari */\r\n &:focus {\r\n outline: auto;\r\n outline-color: var(--fgColour);\r\n outline-offset: 3px;\r\n outline-width: 1px;\r\n }\r\n\r\n /* Disable default focus styles if focus visible is supported */\r\n &:not(:focus-visible):focus {\r\n outline: none;\r\n }\r\n\r\n /* Reapply focus styles for focus-visible browsers */\r\n &:focus-visible {\r\n outline: auto;\r\n outline-color: var(--fgColor);\r\n outline-offset: 3px;\r\n outline-width: 1px;\r\n }\r\n\r\n /* Apply hover styles */\r\n &:hover {\r\n opacity: 0.7;\r\n }\r\n\r\n svg {\r\n display: block;\r\n height: var(--itemSize);\r\n color: currentColor;\r\n }\r\n`;\r\nconst Button = styled.button `\r\n ${transition('opacity', 0.25)};\r\n\r\n display: grid;\r\n height: var(--buttonSize);\r\n place-content: center;\r\n border: 0;\r\n color: currentColor;\r\n margin: 0;\r\n background-color: var(--bgColour);\r\n padding: 0;\r\n text-decoration: none;\r\n border-radius: 5000px;\r\n\r\n /* Enable focus styles for Safari */\r\n &:focus {\r\n outline: auto;\r\n outline-color: var(--fgColour);\r\n outline-offset: 3px;\r\n outline-width: 1px;\r\n }\r\n\r\n /* Disable default focus styles if focus visible is supported */\r\n &:not(:focus-visible):focus {\r\n outline: none;\r\n }\r\n\r\n /* Reapply focus styles for focus-visible browsers */\r\n &:focus-visible {\r\n outline: auto;\r\n outline-color: var(--fgColor);\r\n outline-offset: 3px;\r\n outline-width: 1px;\r\n }\r\n\r\n /* Apply hover styles */\r\n &:hover {\r\n opacity: 0.7;\r\n }\r\n\r\n svg {\r\n display: block;\r\n height: var(--itemSize);\r\n color: currentColor;\r\n }\r\n`;\r\nconst SocialLinksStyles = {\r\n Button,\r\n Container,\r\n Item,\r\n Link,\r\n};\r\nexport default SocialLinksStyles;\r\n","import { getSvgIcon } from '@helpers/icons';\r\nimport * as React from 'react';\r\nimport S from '../SocialLinks/SocialLinks.styles';\r\nexport var ShareLinkIcon;\r\n(function (ShareLinkIcon) {\r\n ShareLinkIcon[\"Facebook\"] = \"facebook\";\r\n ShareLinkIcon[\"LinkedIn\"] = \"linkedin\";\r\n ShareLinkIcon[\"X\"] = \"x\";\r\n ShareLinkIcon[\"Copy\"] = \"copylink\";\r\n})(ShareLinkIcon || (ShareLinkIcon = {}));\r\nconst DEFAULT_ICONS = [\r\n ShareLinkIcon.LinkedIn,\r\n ShareLinkIcon.X,\r\n ShareLinkIcon.Facebook,\r\n ShareLinkIcon.Copy,\r\n];\r\nconst ShareLinks = ({ icons = DEFAULT_ICONS, pageName, url }) => {\r\n const copyLink = (e) => {\r\n e.preventDefault();\r\n if (navigator.clipboard && window.isSecureContext) {\r\n navigator.clipboard.writeText(url)\r\n .catch((err) => console.error('Failed to copy: ', err));\r\n }\r\n else {\r\n const textArea = document.createElement('textarea');\r\n textArea.value = url;\r\n textArea.style.position = 'fixed';\r\n textArea.style.top = '0';\r\n textArea.style.left = '0';\r\n textArea.style.opacity = '0';\r\n document.body.appendChild(textArea);\r\n textArea.focus();\r\n textArea.select();\r\n try {\r\n document.execCommand('copy');\r\n }\r\n catch (err) {\r\n console.error('Fallback: Unable to copy', err);\r\n }\r\n document.body.removeChild(textArea);\r\n }\r\n };\r\n const getHref = (item) => {\r\n switch (item) {\r\n case ShareLinkIcon.Facebook:\r\n return getFacebookUrl(url);\r\n case ShareLinkIcon.LinkedIn:\r\n return getLinkedInUrl(url, pageName);\r\n case ShareLinkIcon.X:\r\n return getXUrl(url, pageName);\r\n default:\r\n return '';\r\n }\r\n };\r\n return (React.createElement(S.Container, { \"data-share\": true }, icons.map((item) => (React.createElement(S.Item, { key: `ShareLinks_${item}` }, item === ShareLinkIcon.Copy ? (React.createElement(S.Button, { onClick: copyLink, title: \"Copy link\", \"aria-label\": \"Copy link\" }, getSvgIcon(item))) : (React.createElement(S.Link, { target: \"_blank\", as: \"a\", href: getHref(item), title: item }, renderIcon(item))))))));\r\n function renderIcon(type) {\r\n if (!Object.values(ShareLinkIcon).includes(type)) {\r\n console.error(`Unsupported icon type`, type);\r\n return null;\r\n }\r\n return getSvgIcon(type);\r\n }\r\n};\r\nexport default ShareLinks;\r\nfunction getFacebookUrl(url) {\r\n return `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`;\r\n}\r\nfunction getLinkedInUrl(url, pageName) {\r\n return `https://www.linkedin.com/shareArticle?title=${encodeURIComponent(pageName)}&url=${encodeURIComponent(url)}`;\r\n}\r\nfunction getXUrl(url, pageName) {\r\n return `https://twitter.com/intent/tweet?text=${encodeURIComponent(pageName)}&url=${encodeURIComponent(url)}`;\r\n}\r\n","import { verticalFadeIn } from '@helpers/animate';\r\nimport brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { baseGrid } from '@helpers/grid';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { h3, paragraphLarge } from '@helpers/typography';\r\nimport SectionWrapper from '@stories/Components/Misc/SectionWrapper/SectionWrapper';\r\nimport SectionWrapperStyles from '@stories/Components/Misc/SectionWrapper/SectionWrapper.styles';\r\nimport SocialLinksStyles from '@stories/Components/Misc/SocialLinks/SocialLinks.styles';\r\nimport { m } from 'framer-motion';\r\nimport styled, { css } from 'styled-components';\r\nconst MotionWrapper = styled(m.div).attrs((props) => ({\r\n initial: 'hidden',\r\n animate: props['data-in-view'] ? 'visible' : 'hidden',\r\n transition: {\r\n staggerChildren: 0.1,\r\n },\r\n})) `\r\n display: contents;\r\n`;\r\nconst Container = styled(SectionWrapper) `\r\n overflow: hidden;\r\n position: relative;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n ${SectionWrapperStyles.Inner} {\r\n --sectionSpacingTop: var(--sectionSpacing);\r\n --sectionSpacingBottom: 32px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --sectionSpacingBottom: var(--sectionSpacing);\r\n }\r\n }\r\n }\r\n\r\n ${SectionWrapperStyles.Inner} {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n`;\r\nconst TopSection = styled.div `\r\n &[data-has-image='false'] {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n text-align: center;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n &[data-has-image='true'] {\r\n ${baseGrid};\r\n }\r\n }\r\n`;\r\nconst Content = styled(m.div).attrs(() => ({\r\n variants: {\r\n visible: {\r\n transition: {\r\n staggerChildren: 0.1,\r\n },\r\n },\r\n },\r\n})) `\r\n grid-column: 1 / span 5;\r\n\r\n [data-has-image='false'] & {\r\n max-width: 1032px;\r\n }\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n\r\n z-index: 2;\r\n`;\r\nconst BrandingLogo = styled(m.div).attrs(() => ({ variants: verticalFadeIn(15) })) `\r\n height: ${fluid(32, 50)};\r\n margin-bottom: ${fluid(16, 32)};\r\n\r\n svg,\r\n img {\r\n height: 100%;\r\n max-height: inherit;\r\n }\r\n`;\r\nconst Date = styled(m.span).attrs(() => ({ variants: verticalFadeIn(15) })) `\r\n ${paragraphLarge}\r\n ${fonts.poppins.bold};\r\n\r\n margin-bottom: ${fluid(4, 8)};\r\n`;\r\nconst Title = styled(m.h1).attrs(() => ({ variants: verticalFadeIn(15) })) `\r\n ${h3}\r\n margin-bottom: ${fluid(12, 32)};\r\n`;\r\nconst Intro = styled(m.div).attrs(() => ({ variants: verticalFadeIn(15) })) `\r\n ${paragraphLarge}\r\n margin: 0;\r\n`;\r\nconst ImageWrapper = styled(m.div).attrs(() => ({\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n x: 25,\r\n },\r\n visible: {\r\n opacity: 1,\r\n x: 0,\r\n transition: {\r\n duration: 0.75,\r\n ease: 'easeOut',\r\n },\r\n },\r\n },\r\n})) `\r\n --radius: ${fluid(16, 48)};\r\n\r\n display: flex;\r\n position: relative;\r\n z-index: 2;\r\n width: 100%;\r\n grid-column: 7 / -1;\r\n text-align: right;\r\n max-height: ${fluid(200, 495, Device.Mobile, Device.ActualDesktop)};\r\n width: calc(100% + max(var(--siteGutter), 0px) + var(--sitePadding));\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n background-color: ${brand.primary.darkStone};\r\n z-index: 0;\r\n --offset: ${fluid(8, 16)};\r\n left: calc(var(--offset) * -1);\r\n top: var(--offset);\r\n height: 100%;\r\n width: calc(100% + var(--offset));\r\n border-radius: var(--radius);\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n top: calc(var(--offset) * -1);\r\n height: calc(100% + (var(--offset) * 2));\r\n border-radius: calc(var(--radius) * 1.33) 0px 0px calc(var(--radius) * 1.33);\r\n }\r\n }\r\n\r\n img {\r\n width: 100%;\r\n object-fit: cover;\r\n object-position: center center;\r\n z-index: 1;\r\n border-radius: var(--radius);\r\n overflow: hidden;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n height: 100%;\r\n border-radius: var(--radius) 0px 0px var(--radius);\r\n }\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n margin-top: 32px;\r\n width: 100%;\r\n }\r\n`;\r\nconst normalBackgroundIconCss = css `\r\n max-height: ${fluid(219, 414)};\r\n max-width: ${fluid(219, 414)};\r\n width: 100%;\r\n\r\n transform: rotate(-17deg) translate(35%, -30%);\r\n @media ${from(Device.TabletLarge)} {\r\n transform: rotate(-13.92deg) translate(-25%, -25%);\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n top: 0;\r\n right: 0;\r\n }\r\n`;\r\nconst BackgroundIcon = styled(m.div).attrs(() => ({\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n },\r\n visible: {\r\n opacity: 0.08,\r\n transition: {\r\n duration: 0.75,\r\n ease: 'easeOut',\r\n },\r\n },\r\n },\r\n})) `\r\n position: absolute;\r\n z-index: 1;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n inset: 0;\r\n }\r\n\r\n [data-has-image='false'] & {\r\n @media ${until(Device.TabletLarge)} {\r\n ${normalBackgroundIconCss}\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n height: calc(100% + var(--sectionSpacingTop) + var(--sectionSpacingBottom));\r\n top: calc(-1 * var(--sectionSpacingTop));\r\n overflow: hidden;\r\n\r\n img {\r\n transform: scale(1.75);\r\n }\r\n }\r\n }\r\n\r\n [data-has-image='true'] & {\r\n ${normalBackgroundIconCss}\r\n }\r\n\r\n img {\r\n height: 100%;\r\n }\r\n`;\r\nconst BottomSection = styled(SectionWrapper) `\r\n background-color: ${brand.primary.black};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n ${SectionWrapperStyles.Inner} {\r\n flex-direction: column;\r\n gap: 20px;\r\n }\r\n }\r\n\r\n ${SectionWrapperStyles.Inner} {\r\n padding-top: 16px;\r\n padding-bottom: 16px;\r\n\r\n display: flex;\r\n @media ${from(Device.TabletLarge)} {\r\n align-items: center;\r\n justify-content: space-between;\r\n }\r\n\r\n color: ${brand.primary.white};\r\n }\r\n`;\r\nconst TextWithSection = styled(m.div).attrs(() => ({\r\n variants: {\r\n visible: {\r\n transition: {\r\n staggerChildren: 0.1,\r\n },\r\n },\r\n },\r\n})) `\r\n display: flex;\r\n gap: ${fluid(4, 24)};\r\n align-items: center;\r\n\r\n &:has(${SocialLinksStyles.Container}) {\r\n gap: 16px;\r\n }\r\n\r\n &[data-stacked-mobile='true'] {\r\n @media ${until(Device.TabletLarge)} {\r\n align-items: unset;\r\n flex-direction: column;\r\n }\r\n }\r\n\r\n ${SocialLinksStyles.Item} {\r\n color: ${brand.primary.white};\r\n }\r\n`;\r\nconst SectionText = styled(m.span).attrs(() => ({ variants: verticalFadeIn(15) })) `\r\n ${fonts.poppins.bold};\r\n font-size: ${fluid(14, 23)};\r\n line-height: ${fluid(17, 27)};\r\n\r\n &[data-show-pointer='true'] {\r\n cursor: pointer;\r\n }\r\n`;\r\nconst Tags = styled(m.div).attrs(() => ({\r\n variants: {\r\n visible: {\r\n transition: {\r\n staggerChildren: 0.1,\r\n },\r\n },\r\n },\r\n})) `\r\n display: flex;\r\n align-items: center;\r\n gap: ${fluid(8, 16)};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n overflow-x: auto;\r\n overflow-y: clip;\r\n position: relative;\r\n left: calc(-1 * var(--sitePadding));\r\n width: calc(100% + var(--sitePadding) * 2);\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n flex-wrap: wrap;\r\n }\r\n max-width: 934px;\r\n`;\r\nconst Tag = styled(m.div).attrs(() => ({\r\n variants: {\r\n hidden: {\r\n opacity: 0,\r\n scale: 0.95,\r\n },\r\n visible: {\r\n opacity: 1,\r\n scale: 1,\r\n transition: {\r\n duration: 0.5,\r\n },\r\n },\r\n },\r\n})) `\r\n padding: ${fluid(7, 8)} ${fluid(8, 12)};\r\n background-color: ${brand.primary.white};\r\n color: ${brand.primary.black};\r\n border-radius: ${fluid(4, 8)};\r\n user-select: none;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n &:first-of-type {\r\n margin-left: var(--sitePadding);\r\n }\r\n\r\n &:last-of-type {\r\n margin-right: var(--sitePadding);\r\n }\r\n\r\n white-space: nowrap;\r\n min-width: max-content;\r\n }\r\n\r\n ${fonts.poppins.bold};\r\n font-size: ${fluid(13, 14)};\r\n line-height: ${fluid(16, 17)};\r\n`;\r\nconst ShareLinksWrapper = styled(m.div).attrs(() => ({\r\n variants: verticalFadeIn(15),\r\n})) ``;\r\nexport const ArticleBannerStyles = {\r\n Container,\r\n TopSection,\r\n Content,\r\n BrandingLogo,\r\n Date,\r\n Title,\r\n Intro,\r\n ImageWrapper,\r\n BackgroundIcon,\r\n BottomSection,\r\n TextWithSection,\r\n SectionText,\r\n Tags,\r\n Tag,\r\n MotionWrapper,\r\n ShareLinksWrapper,\r\n};\r\n","import { rootMargin } from '@helpers/animate';\r\nimport { getSrcs, imageUrl } from '@helpers/image';\r\nimport { Device, until } from '@helpers/media';\r\nimport { withMotion } from '@hoc/withMotion';\r\nimport { useInView } from '@hooks/useInView';\r\nimport ShareLinks from '@stories/Components/Misc/ShareLinks/ShareLinks';\r\nimport React from 'react';\r\nimport { ArticleBannerStyles as S } from './ArticleBanner.styles';\r\nimport { Icon, getSvgIcon } from '@helpers/icons';\r\nconst ArticleBanner = ({ brandingLogo, date, title, intro, image, tags, shareButtons, pageContext, translations, url, }) => {\r\n const srcs = image ? getSrcs(image, 948, 336, 5, 948 / 495) : undefined;\r\n const sizes = `${until(Device.TabletLarge)} 336px, 948px`;\r\n const [containerRef, inView] = useInView({ rootMargin }, false, pageContext?.isEditMode);\r\n return (React.createElement(S.MotionWrapper, { \"data-in-view\": inView },\r\n React.createElement(S.Container, { ref: containerRef, flush: image ? 'both' : undefined, variant: 'stone' },\r\n React.createElement(S.TopSection, { \"data-has-image\": !!image },\r\n React.createElement(S.BackgroundIcon, null, getSvgIcon(Icon.BrandFlower)),\r\n React.createElement(S.Content, null,\r\n brandingLogo && (React.createElement(S.BrandingLogo, null,\r\n React.createElement(\"img\", { src: imageUrl(brandingLogo, { height: 50 }), loading: \"eager\", alt: brandingLogo.altText, role: !brandingLogo.altText ? 'presentation' : undefined }))),\r\n date && React.createElement(S.Date, null, new Date(date).toDateString()),\r\n React.createElement(S.Title, null, title),\r\n intro && React.createElement(S.Intro, { dangerouslySetInnerHTML: { __html: intro } })),\r\n image && srcs && (React.createElement(S.ImageWrapper, null,\r\n React.createElement(\"img\", { src: srcs.src, srcSet: srcs.srcSet, sizes: sizes, loading: \"eager\", alt: image.altText, role: !image.altText ? 'presentation' : undefined }))))),\r\n React.createElement(S.BottomSection, null,\r\n React.createElement(S.TextWithSection, { \"data-stacked-mobile\": true },\r\n React.createElement(S.SectionText, null, translations?.['article-banner.tags'] ?? 'Tags:'),\r\n React.createElement(S.Tags, null, tags.map((tag) => (React.createElement(S.Tag, { key: tag.id }, tag.name))))),\r\n React.createElement(S.TextWithSection, null,\r\n React.createElement(S.SectionText, { \"data-show-pointer\": true, onClick: () => {\r\n if ('share' in window.navigator) {\r\n navigator.share({\r\n url: window.location.toString(),\r\n title: document.title,\r\n });\r\n }\r\n } }, translations?.['article-banner.share'] ?? 'Share:'),\r\n React.createElement(S.ShareLinksWrapper, null,\r\n React.createElement(ShareLinks, { icons: shareButtons, url: url, pageName: title }))))));\r\n};\r\nexport default withMotion(ArticleBanner);\r\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","var cssUnit = {\n cm: true,\n mm: true,\n in: true,\n px: true,\n pt: true,\n pc: true,\n em: true,\n ex: true,\n ch: true,\n rem: true,\n vw: true,\n vh: true,\n vmin: true,\n vmax: true,\n \"%\": true,\n};\n/**\n * If size is a number, append px to the value as default unit.\n * If size is a string, validate against list of valid units.\n * If unit is valid, return size as is.\n * If unit is invalid, console warn issue, replace with px as the unit.\n *\n * @param {(number | string)} size\n * @return {LengthObject} LengthObject\n */\nexport function parseLengthAndUnit(size) {\n if (typeof size === \"number\") {\n return {\n value: size,\n unit: \"px\",\n };\n }\n var value;\n var valueString = (size.match(/^[0-9.]*/) || \"\").toString();\n if (valueString.includes(\".\")) {\n value = parseFloat(valueString);\n }\n else {\n value = parseInt(valueString, 10);\n }\n var unit = (size.match(/[^0-9]*$/) || \"\").toString();\n if (cssUnit[unit]) {\n return {\n value: value,\n unit: unit,\n };\n }\n console.warn(\"React Spinners: \".concat(size, \" is not a valid css value. Defaulting to \").concat(value, \"px.\"));\n return {\n value: value,\n unit: \"px\",\n };\n}\n/**\n * Take value as an input and return valid css value\n *\n * @param {(number | string)} value\n * @return {string} valid css value\n */\nexport function cssValue(value) {\n var lengthWithunit = parseLengthAndUnit(value);\n return \"\".concat(lengthWithunit.value).concat(lengthWithunit.unit);\n}\n","export var createAnimation = function (loaderName, frames, suffix) {\n var animationName = \"react-spinners-\".concat(loaderName, \"-\").concat(suffix);\n if (typeof window == \"undefined\" || !window.document) {\n return animationName;\n }\n var styleEl = document.createElement(\"style\");\n document.head.appendChild(styleEl);\n var styleSheet = styleEl.sheet;\n var keyFrames = \"\\n @keyframes \".concat(animationName, \" {\\n \").concat(frames, \"\\n }\\n \");\n if (styleSheet) {\n styleSheet.insertRule(keyFrames, 0);\n }\n return animationName;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from \"react\";\nimport { cssValue } from \"./helpers/unitConverter\";\nimport { createAnimation } from \"./helpers/animation\";\nvar puff = [\n createAnimation(\"PuffLoader\", \"0% {transform: scale(0)} 100% {transform: scale(1.0)}\", \"puff-1\"),\n createAnimation(\"PuffLoader\", \"0% {opacity: 1} 100% {opacity: 0}\", \"puff-2\"),\n];\nfunction PuffLoader(_a) {\n var _b = _a.loading, loading = _b === void 0 ? true : _b, _c = _a.color, color = _c === void 0 ? \"#000000\" : _c, _d = _a.speedMultiplier, speedMultiplier = _d === void 0 ? 1 : _d, _e = _a.cssOverride, cssOverride = _e === void 0 ? {} : _e, _f = _a.size, size = _f === void 0 ? 60 : _f, additionalprops = __rest(_a, [\"loading\", \"color\", \"speedMultiplier\", \"cssOverride\", \"size\"]);\n var wrapper = __assign({ display: \"inherit\", position: \"relative\", width: cssValue(size), height: cssValue(size) }, cssOverride);\n var style = function (i) {\n return {\n position: \"absolute\",\n height: cssValue(size),\n width: cssValue(size),\n border: \"thick solid \".concat(color),\n borderRadius: \"50%\",\n opacity: \"1\",\n top: \"0\",\n left: \"0\",\n animationFillMode: \"both\",\n animation: \"\".concat(puff[0], \", \").concat(puff[1]),\n animationDuration: \"\".concat(2 / speedMultiplier, \"s\"),\n animationIterationCount: \"infinite\",\n animationTimingFunction: \"cubic-bezier(0.165, 0.84, 0.44, 1), cubic-bezier(0.3, 0.61, 0.355, 1)\",\n animationDelay: i === 1 ? \"-1s\" : \"0s\",\n };\n };\n if (!loading) {\n return null;\n }\n return (React.createElement(\"span\", __assign({ style: wrapper }, additionalprops),\n React.createElement(\"span\", { style: style(1) }),\n React.createElement(\"span\", { style: style(2) })));\n}\nexport default PuffLoader;\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n"],"names":["siteWide","css","baseGrid","imageUrl","image","imageParams","params","center","focalPoint","top","left","undefined","width","heightratio","height","Math","round","paramsString","queryString","src","getSrcs","upper","lower","steps","ratio","srcSet","sizes","increment","Array","fill","map","_","index","ceil","getRange","sizesArr","size","split","join","brand","grey","dark","primary","orange","headingStyles","fonts","poppins","extraBold","fluid","h1","h2","h3","h4","h5","h6","paragraphStyles","regular","paragraphExtraLarge","paragraphLarge","paragraphRegular","paragraphSmall","tag","bold","authorName","caveat","link","transition","blockquote","secondary","orangeDark","svgQuote","table","white","black","contentStyles","svgBullet","scrollbars","withMotion","WrappedComponent","displayName","name","ComponentWithMotion","props","React","LazyMotion","features","domAnimation","strict","callback","options","arguments","length","observerRef","useRef","rootRef","elementRef","useEffect","current","IntersectionObserver","root","observe","disconnect","useInView","reverse","isEditMode","inView","setInView","useState","useIntersectionObserver","entries","isIntersecting","SectionWrapperCSS","stone","Container","styled","m","section","withConfig","componentId","SectionWrapperInnerCSS","Inner","div","SectionWrapper","ref","id","children","layout","flush","variant","otherProps","S","ul","Item","li","Link","a","Button","button","ShareLinkIcon","DEFAULT_ICONS","LinkedIn","X","Facebook","Copy","_ref","icons","pageName","url","copyLink","e","preventDefault","navigator","clipboard","window","isSecureContext","writeText","catch","err","console","error","textArea","document","createElement","value","style","position","opacity","body","appendChild","focus","select","execCommand","removeChild","getHref","item","encodeURIComponent","getFacebookUrl","getLinkedInUrl","getXUrl","key","onClick","title","getSvgIcon","target","as","href","type","Object","values","includes","MotionWrapper","attrs","initial","animate","staggerChildren","until","Device","TabletLarge","SectionWrapperStyles","from","TopSection","Content","variants","visible","BrandingLogo","verticalFadeIn","Date","span","Title","Intro","ImageWrapper","hidden","x","duration","ease","Mobile","ActualDesktop","darkStone","normalBackgroundIconCss","ArticleBannerStyles","BackgroundIcon","BottomSection","TextWithSection","SocialLinksStyles","SectionText","Tags","Tag","scale","ShareLinksWrapper","_translations$article","_translations$article2","brandingLogo","date","intro","tags","shareButtons","pageContext","translations","srcs","containerRef","rootMargin","Icon","BrandFlower","loading","alt","altText","role","toDateString","dangerouslySetInnerHTML","__html","share","location","toString","ShareLinks","token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","decodeURIComponent","slice","right","prototype","concat","call","decode","input","tokens","match","i","module","exports","encodedURI","TypeError","replace","replaceMap","exec","result","keys","customDecodeURIComponent","obj","predicate","ret","isArr","isArray","val","indexOf","strictUriEncode","decodeComponent","splitOnFirst","filterObject","encodeFragmentIdentifier","Symbol","validateArrayFormatSeparator","encode","keysSorter","sort","b","Number","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","isNaN","trim","parseBooleans","toLowerCase","parse","query","assign","arrayFormat","arrayFormatSeparator","formatter","accumulator","isEncodedArray","newValue","test","arrayValue","parserForArrayFormat","create","param","k","reduce","Boolean","stringify","object","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","filter","parseUrl","url_","hash","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","getHash","pick","exclude","exclusionFilter","cssUnit","cm","mm","in","px","pt","pc","em","ex","ch","rem","vw","vh","vmin","vmax","cssValue","lengthWithunit","unit","valueString","parseFloat","parseInt","warn","parseLengthAndUnit","createAnimation","loaderName","frames","suffix","animationName","styleEl","head","styleSheet","sheet","keyFrames","insertRule","__assign","t","s","n","p","hasOwnProperty","apply","this","puff","_a","_b","_c","color","_d","speedMultiplier","_e","cssOverride","_f","additionalprops","getOwnPropertySymbols","propertyIsEnumerable","__rest","wrapper","display","border","borderRadius","animationFillMode","animation","animationDuration","animationIterationCount","animationTimingFunction","animationDelay","string","separator","separatorIndex","str","charCodeAt","toUpperCase"],"sourceRoot":""}