{"version":3,"file":"4378-22782ca26e3e50ad6e17.js","mappings":"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","sources":["webpack://brc/./src/helpers/utils.ts","webpack://brc/./src/stories/Components/Misc/HeadingSummaryBlock/HeadingSummaryBlock.styles.ts","webpack://brc/./src/stories/Components/Misc/HeadingSummaryBlock/HeadingSummaryBlock.tsx","webpack://brc/./src/stories/Widgets/JoinCtaCard/JoinCtaCard.styles.ts","webpack://brc/./src/stories/Widgets/JoinCtaCard/JoinCtaCard.tsx","webpack://brc/./node_modules/react-spinners/esm/helpers/unitConverter.js","webpack://brc/./node_modules/react-spinners/esm/helpers/animation.js","webpack://brc/./node_modules/react-spinners/esm/PuffLoader.js"],"sourcesContent":["export function sleep(ms) {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n}\r\nexport function formatNumberValue(value, maximumDecimals, minimumDigits) {\r\n const formatter = new Intl.NumberFormat(undefined, {\r\n maximumFractionDigits: maximumDecimals ?? 0,\r\n minimumIntegerDigits: minimumDigits ?? 1,\r\n });\r\n return formatter.format(value);\r\n}\r\n/** Clamp index to be within the min/max index range. */\r\nexport function clamp(value, max) {\r\n return Math.max(Math.min(value, max), 0);\r\n}\r\n/**\r\n * Rule structure for react-hook-form\r\n */\r\nexport const EMAIL_RULE = {\r\n message: `Please enter a valid email address`,\r\n value: /^[\\w\\-.\\d*]+@[\\w\\-\\d.]+(\\.\\w*)$/,\r\n};\r\nexport const highlightTitleWords = (title) => title.replaceAll(/\\*(.*?)\\*/g, '$1');\r\n","import { transition } from '@helpers/animate';\r\nimport brand, { BrandColours } from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport { contentStyles, h2, subheading } from '@helpers/typography';\r\nimport styled from 'styled-components';\r\nconst ContentWrapper = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n\r\n [data-layout='central'] &,\r\n [data-layout='split'] & {\r\n max-width: 546px;\r\n }\r\n\r\n [data-layout='central'] & {\r\n margin-left: auto;\r\n margin-right: auto;\r\n }\r\n`;\r\nconst Container = styled.section `\r\n --headingMargin: ${fluid(8, 14)};\r\n\r\n display: flex;\r\n flex-direction: column;\r\n\r\n &[data-layout='default'],\r\n &[data-layout='central'] {\r\n max-width: 695px;\r\n }\r\n\r\n &[data-layout='central'] {\r\n text-align: center;\r\n margin-left: auto;\r\n margin-right: auto;\r\n }\r\n\r\n &:not(:has(${ContentWrapper})) {\r\n --headingMargin: 0px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n &[data-layout='central'] {\r\n align-items: center;\r\n text-align: center;\r\n margin-left: auto;\r\n margin-right: auto;\r\n }\r\n\r\n &[data-layout='split'] {\r\n --headingMargin: 0px;\r\n\r\n flex-direction: row;\r\n justify-content: space-between;\r\n column-gap: ${fluid(56, 120)};\r\n }\r\n }\r\n`;\r\nconst HeadIcon = styled.div `\r\n display: none;\r\n\r\n [data-layout='central'] & {\r\n display: block;\r\n\r\n svg {\r\n width: ${fluid(48, 65)};\r\n height: ${fluid(48, 65)};\r\n }\r\n }\r\n`;\r\nconst Subheading = styled.span `\r\n ${subheading};\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${Container}[data-layout='split'] & {\r\n grid-column: 1 / span 1;\r\n }\r\n }\r\n`;\r\nconst Heading = styled.h2 `\r\n ${h2};\r\n\r\n text-wrap: pretty;\r\n margin-bottom: var(--headingMargin);\r\n color: var(--headingColour, currentColor);\r\n\r\n ${Container}[data-layout='split'] & {\r\n max-width: 695px;\r\n }\r\n\r\n > span {\r\n ${transition('background-size, color', 0.5)};\r\n\r\n display: inline;\r\n background-image: linear-gradient(\r\n to right,\r\n var(--highlightColour, transparent),\r\n var(--highlightColour, transparent)\r\n );\r\n background-repeat: no-repeat;\r\n background-size: 100% 100%;\r\n transition-delay: 200ms;\r\n color: var(--highlightTextColour, currentColor);\r\n padding: 0 8px;\r\n margin-left: -8px;\r\n\r\n ${Container}[data-animate='false'] & {\r\n background-size: 0% 100%;\r\n color: currentColor;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${Container}[data-layout='split'] & {\r\n grid-column: 1 / span 1;\r\n }\r\n }\r\n`;\r\nconst LogoImage = styled.img `\r\n display: block;\r\n`;\r\nconst Content = styled.div `\r\n ${contentStyles};\r\n\r\n [data-theme=${BrandColours.PurpleDark}] &,\r\n [data-theme=${BrandColours.PurpleLight}] & {\r\n ol,\r\n ul {\r\n li::before {\r\n color: ${brand.global.white};\r\n }\r\n }\r\n }\r\n`;\r\nconst ButtonWrapper = styled.div `\r\n display: flex;\r\n gap: var(--headerBlockButtonsGap, ${fluid(16, 38)});\r\n flex-wrap: wrap;\r\n margin-top: ${fluid(16, 38)};\r\n`;\r\nconst DetailContent = styled.div `\r\n ${transition('transform, opacity', 0.5)};\r\n ${fonts.lato.semiBold};\r\n\r\n font-size: ${fluid(15, 16)};\r\n line-height: ${fluid(23, 26)};\r\n display: inline-flex;\r\n flex-wrap: wrap;\r\n gap: 8px 32px;\r\n margin-top: ${fluid(10, 14)};\r\n\r\n &:not(:last-child) {\r\n margin-bottom: ${fluid(10, 14)};\r\n }\r\n\r\n @media print {\r\n opacity: 1 !important;\r\n transform: translateY(0px) !important;\r\n }\r\n\r\n [data-animate='false'] & {\r\n opacity: 0;\r\n transform: translateY(20px);\r\n\r\n @media print {\r\n opacity: 1 !important;\r\n transform: translateY(0px) !important;\r\n }\r\n }\r\n\r\n [data-secondary=${BrandColours.White}] & {\r\n color: ${brand.grey.dark};\r\n }\r\n\r\n ::before {\r\n content: '';\r\n display: block;\r\n width: 5px;\r\n height: 5px;\r\n border-radius: 50%;\r\n background-color: ${brand.global.white};\r\n position: absolute;\r\n top: 50%;\r\n right: calc((37px / 2) * -1);\r\n transform: translateY(-50%);\r\n\r\n [data-secondary=${BrandColours.White}] & {\r\n background-color: ${brand.grey.dark};\r\n }\r\n }\r\n\r\n :last-child::before {\r\n content: none;\r\n }\r\n`;\r\nconst Detail = styled.span `\r\n display: inline-flex;\r\n align-items: center;\r\n gap: ${fluid(4, 8)};\r\n position: relative;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n\r\n [data-secondary=${BrandColours.White}] & {\r\n color: ${brand.primary.purple.light};\r\n }\r\n }\r\n`;\r\nconst HeadingSummaryBlockStyles = {\r\n Container,\r\n HeadIcon,\r\n Heading,\r\n Subheading,\r\n LogoImage,\r\n Content,\r\n ContentWrapper,\r\n ButtonWrapper,\r\n DetailContent,\r\n Detail,\r\n};\r\nexport default HeadingSummaryBlockStyles;\r\n","import { rootMargin } from '@helpers/animate';\r\nimport { getSvgIcon, InterfaceIcon } from '@helpers/icons';\r\nimport { highlightTitleWords } from '@helpers/utils';\r\nimport { useInView } from '@hooks/useInView';\r\nimport { LinkButton } from '@stories/Components/Buttons/Button/Button';\r\nimport * as React from 'react';\r\nimport S from './HeadingSummaryBlock.styles';\r\nconst HeadingSummaryBlock = (props) => {\r\n const [containerRef, inView] = useInView({ rootMargin }, false, props.pageContext?.isEditMode);\r\n if (!props.summary && !props.heading) {\r\n return null;\r\n }\r\n function hasContent() {\r\n return !!props.summary || (props.ctas && props.ctas.length > 0)\r\n || !!props.date || !!props.time\r\n || !!props.location || !!props.readTime;\r\n }\r\n return (React.createElement(S.Container, { ref: containerRef, \"data-layout\": props.layout ?? 'default', \"data-animate\": inView },\r\n React.createElement(\"div\", null,\r\n props.headIcon && React.createElement(S.HeadIcon, null, getSvgIcon(props.headIcon)),\r\n props.subheading && React.createElement(S.Subheading, null, props.subheading),\r\n props.heading && (React.createElement(S.Heading, { as: props.headingType, dangerouslySetInnerHTML: { __html: highlightTitleWords(props.heading) } })),\r\n props.logoImage && (React.createElement(S.LogoImage, { src: props.logoImage.src, alt: props.logoImage.altText, loading: \"lazy\" }))),\r\n hasContent() ? (React.createElement(S.ContentWrapper, null,\r\n props.summary && React.createElement(S.Content, { dangerouslySetInnerHTML: { __html: props.summary } }),\r\n props.date || props.time || props.location || props.readTime ? (React.createElement(S.DetailContent, null,\r\n props.date && (React.createElement(S.Detail, null,\r\n getSvgIcon(InterfaceIcon.CalendarBlank),\r\n props.date)),\r\n props.time && (React.createElement(S.Detail, null,\r\n getSvgIcon(InterfaceIcon.Clock),\r\n props.time)),\r\n props.location && (React.createElement(S.Detail, null,\r\n getSvgIcon(InterfaceIcon.Location),\r\n props.location)),\r\n props.readTime && (React.createElement(S.Detail, null,\r\n props.readTime,\r\n \" \",\r\n props.translations?.['global.readtime.label'] ?? '')))) : null,\r\n props.ctas && props.ctas.length > 0 ? (React.createElement(S.ButtonWrapper, { \"data-variant\": props.ctaWrapperVariant }, props.ctas.map((cta, i) => (React.createElement(LinkButton, { key: `${cta.text}-${props.heading}-${i}`, buttonType: cta.buttonType ? cta.buttonType : 'primary', href: cta.url, target: cta.target, icon: cta.icon }, cta.text))))) : null)) : null));\r\n};\r\nexport default HeadingSummaryBlock;\r\n","import brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport { siteWide } from '@helpers/grid';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport HeadingSummaryBlockStyles from '@stories/Components/Misc/HeadingSummaryBlock/HeadingSummaryBlock.styles';\r\nimport SectionWrapper, { BackgroundVariant, } from '@stories/Components/Misc/SectionWrapper/SectionWrapper';\r\nimport SectionWrapperStyles from '@stories/Components/Misc/SectionWrapper/SectionWrapper.styles';\r\nimport styled, { css } from 'styled-components';\r\nimport { shouldAnimate, transition } from './../../../helpers/animate';\r\nconst Container = styled(SectionWrapper) `\r\n --iconColour: ${brand.global.white};\r\n --secondary: ${brand.primary.purple.dark};\r\n --tertiary: ${brand.primary.purple.light};\r\n --sectionSpacing: ${fluid(80, 146)};\r\n\r\n @media print {\r\n display: none;\r\n }\r\n\r\n overflow: hidden;\r\n background-color: transparent;\r\n\r\n &[data-primary=${BackgroundVariant.Blue}] {\r\n --primary: ${brand.primary.blue.light};\r\n --sectionColour: ${brand.global.white};\r\n --sectionBackground: ${brand.primary.blue.dark};\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --primary: ${brand.primary.blue.dark};\r\n --sectionBackground: ${brand.primary.blue.light};\r\n }\r\n }\r\n\r\n &[data-primary=${BackgroundVariant.White}] {\r\n --primary: ${brand.primary.blue.dark};\r\n --sectionColour: ${brand.primary.blue.dark};\r\n --sectionBackground: ${brand.global.white};\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --primary: ${brand.global.white};\r\n --sectionBackground: ${brand.primary.blue.dark};\r\n }\r\n }\r\n\r\n ${SectionWrapperStyles.Inner} {\r\n padding-top: 80px;\r\n padding-bottom: 80px;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n padding: 0;\r\n }\r\n }\r\n`;\r\nconst Wrapper = styled.div `\r\n ${siteWide};\r\n padding-top: var(--sectionSpacingTop);\r\n padding-bottom: var(--sectionSpacingBottom);\r\n\r\n position: relative;\r\n overflow: hidden;\r\n background-color: var(--sectionBackground);\r\n border-radius: ${fluid(10, 20)};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n margin: 0;\r\n width: 100%;\r\n border-radius: 0;\r\n }\r\n\r\n &::before,\r\n &::after,\r\n ${HeadingSummaryBlockStyles.Container}::after {\r\n ${transition('transform', 0.5)};\r\n\r\n content: '';\r\n position: absolute;\r\n }\r\n\r\n &::before {\r\n top: 0;\r\n right: 0;\r\n background-color: var(--primary);\r\n width: 800px;\r\n height: 800px;\r\n transform: translate(80%, -75%) rotate(-45deg);\r\n z-index: 1;\r\n }\r\n\r\n &::after,\r\n ${HeadingSummaryBlockStyles.Container}::after {\r\n background-color: var(--tertiary);\r\n right: 0;\r\n bottom: 0;\r\n transition-delay: 150ms;\r\n transform: translate(75%, 65%) rotate(-52deg);\r\n }\r\n\r\n &::after {\r\n width: 200px;\r\n height: 200px;\r\n background-color: var(--tertiary);\r\n z-index: 1;\r\n }\r\n\r\n ${HeadingSummaryBlockStyles.Container}::after {\r\n background-color: var(--secondary);\r\n width: 375px;\r\n height: 375px;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n // Added to stop content from clashing with the background\r\n ${HeadingSummaryBlockStyles.Content} {\r\n padding-right: 50px;\r\n }\r\n }\r\n\r\n @media ${until(Device.TabletSmall)} {\r\n \r\n\r\n // Added to force buttons to wrap and stop them from clashing with the background\r\n ${HeadingSummaryBlockStyles.ButtonWrapper} { \r\n padding-right: 100px;\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n &::before {\r\n ${transition('transform, background-image', 0.6)};\r\n\r\n bottom: 50%;\r\n left: auto;\r\n right: 0;\r\n border-radius: 0 0 66px 0;\r\n width: 1600px;\r\n height: 1600px;\r\n transform: translate(-32%, 55%) rotate(-45deg);\r\n background-image: linear-gradient(0deg, var(--secondary) 6.25%, var(--primary) 6.25%);\r\n top: auto;\r\n }\r\n\r\n &::after {\r\n width: 800px;\r\n height: 800px;\r\n bottom: 50%;\r\n transform: translate(33.5%, 107%) rotate(-45deg) skew(10deg, 0deg);\r\n border-radius: 0 66px 0 0;\r\n z-index: 0;\r\n }\r\n\r\n ${HeadingSummaryBlockStyles.Container}::after {\r\n display: none;\r\n }\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n &::before {\r\n transform: translate(-45%, 55%) rotate(-45deg);\r\n }\r\n\r\n &::after {\r\n transform: translate(7.5%, 107%) rotate(-45deg) skew(10deg, 0deg);\r\n }\r\n\r\n ${HeadingSummaryBlockStyles.Container}::after {\r\n width: 50vw;\r\n }\r\n }\r\n\r\n [data-animate='false'] & {\r\n &::before {\r\n transform: translate(90%, -100%) rotate(-45deg);\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n transform: translate(-25%, 15%) rotate(0deg);\r\n background-image: none;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n transform: translate(-45%, 18%) rotate(0deg);\r\n }\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n &:after,\r\n ${HeadingSummaryBlockStyles.Container}::after {\r\n transform: translate(95%, 100%) rotate(-52deg);\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n &::after {\r\n transform: translate(-25%, 150%) rotate(-45deg) skew(10deg, 0deg);\r\n }\r\n }\r\n\r\n ${HeadingSummaryBlockStyles.Container} {\r\n opacity: 0;\r\n transform: translateY(20px);\r\n }\r\n }\r\n\r\n ${HeadingSummaryBlockStyles.Container} {\r\n ${transition('opacity, transform')};\r\n\r\n position: relative;\r\n z-index: 1;\r\n transition-delay: 350ms;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n background-color: var(--primary);\r\n width: 45%;\r\n }\r\n }\r\n\r\n ${HeadingSummaryBlockStyles.Content} {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n\r\n ${HeadingSummaryBlockStyles.Content} p {\r\n font-size: ${fluid(14, 20)};\r\n line-height: ${fluid(22, 28)};\r\n }\r\n`;\r\nconst IconsWrapper = styled.div `\r\n display: none;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${transition('opacity, transform')};\r\n\r\n display: block;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 50vw;\r\n height: 100%;\r\n transition-delay: 600ms;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n width: 47vw;\r\n }\r\n\r\n @media ${from(Device.ActualDesktop)} {\r\n width: 43vw;\r\n }\r\n\r\n ${Container}[data-animate='false'] & {\r\n opacity: 0;\r\n transform: translateY(20px);\r\n }\r\n`;\r\nconst Icon = styled.div `\r\n position: absolute;\r\n display: grid;\r\n place-content: center;\r\n color: var(--iconColour);\r\n\r\n svg {\r\n grid-area: 1 / 1 / 2 / 2;\r\n width: 100%;\r\n\r\n ${shouldAnimate(css `\r\n animation: var(--fadeType) 12s linear infinite;\r\n `)}\r\n\r\n &:nth-child(1) {\r\n --fadeType: iconFade1;\r\n }\r\n\r\n &:nth-child(2) {\r\n --fadeType: iconFade2;\r\n }\r\n\r\n &:nth-child(3) {\r\n --fadeType: iconFade3;\r\n }\r\n\r\n ${Container}[data-animate='false'] & {\r\n animation-play-state: paused;\r\n }\r\n }\r\n\r\n &:nth-child(1),\r\n &:nth-child(2),\r\n &:nth-child(7),\r\n &:nth-child(8) {\r\n width: 2.5vw;\r\n }\r\n\r\n &:nth-child(3),\r\n &:nth-child(6),\r\n &:nth-child(9) {\r\n width: 3vw;\r\n }\r\n\r\n &:nth-child(4) {\r\n width: 2vw;\r\n }\r\n\r\n &:nth-child(5) {\r\n width: 3.5vw;\r\n }\r\n\r\n &:nth-child(1) {\r\n top: 2.5%;\r\n left: 15%;\r\n }\r\n\r\n &:nth-child(2) {\r\n top: 4%;\r\n left: 54%;\r\n }\r\n\r\n &:nth-child(3) {\r\n top: 2%;\r\n right: 5%;\r\n }\r\n\r\n &:nth-child(4) {\r\n top: 14%;\r\n left: 33%;\r\n }\r\n\r\n &:nth-child(5) {\r\n top: 11%;\r\n left: 72%;\r\n }\r\n\r\n &:nth-child(6) {\r\n top: 29%;\r\n left: 41%;\r\n }\r\n\r\n &:nth-child(7) {\r\n top: 33%;\r\n left: 67%;\r\n }\r\n\r\n &:nth-child(8) {\r\n top: 27%;\r\n right: 8%;\r\n }\r\n\r\n &:nth-child(9) {\r\n top: 54%;\r\n right: 7%;\r\n }\r\n\r\n @keyframes iconFade1 {\r\n 0% {\r\n opacity: 1;\r\n }\r\n\r\n 20% {\r\n opacity: 1;\r\n }\r\n\r\n 33% {\r\n opacity: 0;\r\n }\r\n\r\n 86% {\r\n opacity: 0;\r\n }\r\n\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n @keyframes iconFade2 {\r\n 0% {\r\n opacity: 0;\r\n }\r\n\r\n 20% {\r\n opacity: 0;\r\n }\r\n\r\n 33% {\r\n opacity: 1;\r\n }\r\n\r\n 50% {\r\n opacity: 1;\r\n }\r\n\r\n 66% {\r\n opacity: 0;\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n @keyframes iconFade3 {\r\n 0% {\r\n opacity: 0;\r\n }\r\n\r\n 50% {\r\n opacity: 0;\r\n }\r\n\r\n 66% {\r\n opacity: 1;\r\n }\r\n\r\n 86% {\r\n opacity: 1;\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n }\r\n }\r\n`;\r\nconst JoinCtaCardStyles = {\r\n Container,\r\n IconsWrapper,\r\n Icon,\r\n Wrapper,\r\n};\r\nexport default JoinCtaCardStyles;\r\n","import { rootMargin } from '@helpers/animate';\r\nimport { CommunityIcon, getSvgIcon } from '@helpers/icons';\r\nimport { useInView } from '@hooks/useInView';\r\nimport HeadingSummaryBlock from '@stories/Components/Misc/HeadingSummaryBlock/HeadingSummaryBlock';\r\nimport { BackgroundVariant } from '@stories/Components/Misc/SectionWrapper/SectionWrapper';\r\nimport * as React from 'react';\r\nimport S from './JoinCtaCard.styles';\r\nconst JoinCtaCard = (props) => {\r\n const [containerRef, inView] = useInView({ rootMargin }, false, props.pageContext?.isEditMode);\r\n const icons = React.useMemo(() => props.withIcons\r\n ? chunk([...Object.values(CommunityIcon), ...Object.values(CommunityIcon)])\r\n : [], []);\r\n return (React.createElement(S.Container, { id: props.anchorId, ref: containerRef, \"data-animate\": inView, \"data-primary\": props.primaryColour ?? BackgroundVariant.White, translations: props.translations },\r\n React.createElement(S.Wrapper, null,\r\n React.createElement(HeadingSummaryBlock, { ...props, summary: props.summary ? `

${props.summary}

` : undefined, ctas: props.ctas?.map((cta, i) => ({\r\n ...cta,\r\n buttonType: i === 1 ? 'secondary' : 'primary',\r\n })), ctaWrapperVariant: props.primaryColour ?? BackgroundVariant.White }),\r\n icons.length > 0 && (React.createElement(S.IconsWrapper, null, icons.map((iconGroup, i) => {\r\n if (i < 9) {\r\n return (React.createElement(S.Icon, { key: `join-cta-icons-${i}-${props.heading}` }, iconGroup.map((icon, j) => (React.createElement(React.Fragment, { key: `join-cta-icons-${i}-${j}-${props.heading}` }, getSvgIcon(icon))))));\r\n }\r\n return;\r\n }))))));\r\n // Group icons into chunks of 3\r\n function chunk(arr) {\r\n const chunks = [];\r\n let i = 0;\r\n const n = arr.length;\r\n while (i < n) {\r\n chunks.push(arr.slice(i, (i += 3)));\r\n }\r\n return chunks;\r\n }\r\n};\r\nexport default JoinCtaCard;\r\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"],"names":["sleep","ms","Promise","resolve","setTimeout","clamp","value","max","Math","min","highlightTitleWords","title","replaceAll","ContentWrapper","styled","div","withConfig","displayName","componentId","Container","section","fluid","from","Device","TabletLarge","HeadIcon","Subheading","span","subheading","Heading","h2","transition","LogoImage","img","Content","contentStyles","BrandColours","PurpleDark","PurpleLight","brand","global","white","ButtonWrapper","DetailContent","fonts","lato","semiBold","White","grey","dark","Detail","primary","purple","light","props","_props$pageContext","_props$layout","_props$translations$g","_props$translations","containerRef","inView","useInView","rootMargin","pageContext","isEditMode","summary","heading","React","S","ref","layout","headIcon","getSvgIcon","as","headingType","dangerouslySetInnerHTML","__html","logoImage","src","alt","altText","loading","ctas","length","date","time","location","readTime","InterfaceIcon","CalendarBlank","Clock","Location","translations","ctaWrapperVariant","map","cta","i","LinkButton","key","text","buttonType","href","url","target","icon","SectionWrapper","BackgroundVariant","Blue","blue","SectionWrapperStyles","Inner","until","Wrapper","siteWide","HeadingSummaryBlockStyles","TabletSmall","DesktopLarge","IconsWrapper","ActualDesktop","Icon","shouldAnimate","css","_props$primaryColour","_props$ctas","_props$primaryColour2","icons","withIcons","arr","chunks","n","push","slice","chunk","Object","values","CommunityIcon","id","anchorId","primaryColour","HeadingSummaryBlock","undefined","iconGroup","j","cssUnit","cm","mm","in","px","pt","pc","em","ex","ch","rem","vw","vh","vmin","vmax","cssValue","lengthWithunit","size","unit","valueString","match","toString","includes","parseFloat","parseInt","console","warn","concat","parseLengthAndUnit","createAnimation","loaderName","frames","suffix","animationName","window","document","styleEl","createElement","head","appendChild","styleSheet","sheet","keyFrames","insertRule","__assign","assign","t","s","arguments","p","prototype","hasOwnProperty","call","apply","this","puff","_a","_b","_c","color","_d","speedMultiplier","_e","cssOverride","_f","additionalprops","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","wrapper","display","position","width","height","style","border","borderRadius","opacity","top","left","animationFillMode","animation","animationDuration","animationIterationCount","animationTimingFunction","animationDelay"],"sourceRoot":""}