{"version":3,"file":"3370-bb36d7b74e2f3075b1ca.js","mappings":"6IAEO,SAASA,EAAWC,GACvB,MAAMC,EAAcD,EAAiBC,aAAeD,EAAiBE,MAAQ,YACvEC,EAAuBC,GACjBC,EAAAA,cAAoBC,EAAAA,EAAY,CAAEC,SAAUC,EAAAA,EAAcC,QAAQ,GACtEJ,EAAAA,cAAoBL,EAAkB,IAAKI,KAGnD,OADAD,EAAoBF,YAAc,cAAcA,KACzCE,CACX,C,+HCDA,MAAMO,EAAYC,EAAAA,GAAOC,IAAGC,WAAA,CAAAZ,YAAA,6BAAAa,YAAA,eAAVH,CAAU,+ZAIjBI,EAAAA,EAAMC,OAAOC,OAMlB,IAAMC,IACJC,EAAAA,EAAAA,IAAW,YAAa,MAKxB,IAAMD,GAMKE,EAAAA,EAAaC,SACTN,EAAAA,EAAMO,QAAQC,KAAKC,KACrBT,EAAAA,EAAMO,QAAQC,KAAKE,OAE5B,IAAMP,GACKH,EAAAA,EAAMC,OAAOC,OAGxB,IAAMC,GAKCE,EAAAA,EAAaM,WACTX,EAAAA,EAAMO,QAAQK,OAAOH,KACvBT,EAAAA,EAAMC,OAAOC,OAK5BW,EAAiBjB,EAAAA,GAAOC,IAAGC,WAAA,CAAAZ,YAAA,kCAAAa,YAAA,eAAVH,CAAU,sMAC7BkB,EAAAA,EAAAA,IAA0B,IAAK,KAU7BnB,EAA0BU,EAAAA,EAAaM,YAKlCI,EAAAA,EAAAA,IAAKC,EAAAA,GAAOC,SAIjBd,EAAQP,EAAAA,GAAOsB,IAAGpB,WAAA,CAAAZ,YAAA,yBAAAa,YAAA,eAAVH,CAAU,kNACTuB,EAAAA,EAAAA,IAAM,GAAI,KAWnBC,EAAiBxB,EAAAA,GAAOC,IAAGC,WAAA,CAAAZ,YAAA,kCAAAa,YAAA,eAAVH,CAAU,gKAQ7ByB,EAAAA,GAAa1B,WACKwB,EAAAA,EAAAA,IAAM,GAAI,KAK1BG,EAAU1B,EAAAA,GAAO2B,GAAEzB,WAAA,CAAAZ,YAAA,2BAAAa,YAAA,eAATH,CAAS,sDACrB4B,EAAAA,EAAMC,KAAKC,UAEAP,EAAAA,EAAAA,IAAM,GAAI,KACRA,EAAAA,EAAAA,IAAM,GAAI,KAGrBQ,EAAa/B,EAAAA,GAAOgC,EAAC9B,WAAA,CAAAZ,YAAA,8BAAAa,YAAA,eAARH,CAAQ,yBACvBiC,EAAAA,IAYJ,EARwB,CACpBlC,YACAkB,iBACAV,QACAiB,iBACAE,UACAK,a,uFC9GJ,MAoBA,EApBmBtC,IACf,MAAMyC,EAAsB,UAAfzC,EAAM0C,MAAoB1C,EAAM2C,OACvCC,EAAAA,EAAAA,IAAQ5C,EAAM2C,MAAO,IAAK,IAAK,EAAG,IAAM,IAAK,CAAEE,MAAO,aACtDC,EACN,OAAQ7C,EAAAA,cAAoB8C,EAAAA,EAAEzC,UAAW,CAAE,eAAgBN,EAAMgD,WAAahD,EAAMiD,IAC1E,CACEC,GAAI,IACJC,KAAMnD,EAAMiD,IAAIG,IAChBC,OAAQrD,EAAMiD,IAAII,OAClB,aAAcrD,EAAMsD,UAAYtD,EAAMuD,aAAUT,GAElD,CAAC,GACP7C,EAAAA,cAAoB8C,EAAAA,EAAEvB,eAAgB,KACnB,UAAfxB,EAAM0C,MAAoBD,GAASxC,EAAAA,cAAoB8C,EAAAA,EAAEjC,MAAO,CAAE0C,IAAKf,EAAKe,IAAKC,OAAQhB,EAAKgB,OAAQC,MAAO1D,EAAM0D,MAAOC,IAAK3D,EAAM2C,MAAMiB,QAASC,QAAS,SAC9I,SAAf7D,EAAM0C,MAAmBzC,EAAAA,cAAoBA,EAAAA,SAAgB,MAAM6D,EAAAA,EAAAA,IAAW9D,EAAM+D,QACvF/D,EAAMsD,UAG6H,KAHhHrD,EAAAA,cAAoB8C,EAAAA,EAAEhB,eAAgB,KACtD9B,EAAAA,cAAoB8C,EAAAA,EAAEd,QAAS,CAAEiB,GAAIlD,EAAMgE,aAAehE,EAAMuD,SAChEvD,EAAMiE,YAAchE,EAAAA,cAAoB8C,EAAAA,EAAET,WAAY,KAAMtC,EAAMiE,YAClEjE,EAAMiD,KAAQhD,EAAAA,cAAoBiE,EAAAA,GAAY,CAAEC,WAAY,YAAaJ,KAAMK,EAAAA,GAAcC,WAAYC,UAAU,KAAkB,C,0DCrBjJ,MAIA,EAJaC,IAAgC,IAA/B,YAAEC,EAAW,UAAEC,GAAWF,EACpC,OAAQtE,EAAAA,cAAoB8C,EAAAA,EAAE2B,KAAM,KAChCzE,EAAAA,cAAoB8C,EAAAA,EAAE4B,IAAK,CAAEC,MAAO,CAAE,cAAmBJ,EAAc,GAAKC,EAAa,IAArC,OAAiD,C,wFCC7G,MAAMI,EAAW5E,EAAAA,YAAiB,CAACD,EAAO8E,KAAQ,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC9C,MAAMC,GAAWC,EAAAA,EAAAA,KACjB,OAAQrF,EAAAA,cAAoB8C,EAAAA,EAAEzC,UAAW,CAAEwE,IAAKA,EAAKS,UAAWvF,EAAMuF,UAAW,aAA8D,QAAlDR,EAAoB,QAApBC,EAAEhF,EAAMwF,oBAAY,IAAAR,OAAA,EAAlBA,EAAqB,mCAA2B,IAAAD,EAAAA,EAAI,IAC/I9E,EAAAA,cAAoBwF,EAAAA,EAAW,CAAEC,eAAgB,cAC7CzF,EAAAA,cAAoB8C,EAAAA,EAAE4C,OAAQ,CAAE,aAA8D,QAAlDV,EAAoB,QAApBC,EAAElF,EAAMwF,oBAAY,IAAAN,OAAA,EAAlBA,EAAqB,mCAA2B,IAAAD,EAAAA,EAAI,GAAIW,UAAW5F,EAAM6F,MAAiC,IAAzBR,EAASb,YAAmBsB,QAAUC,IAC7JA,EAAMC,iBACNX,EAASY,SAASjG,EAAM6F,KAAK,EAC9B,aAAa,GAChB5F,EAAAA,cAAoB8C,EAAAA,EAAEmD,KAAM,MACxBpC,EAAAA,EAAAA,IAAWM,EAAAA,GAAcC,aACzBP,EAAAA,EAAAA,IAAWM,EAAAA,GAAcC,eACrCpE,EAAAA,cAAoBwF,EAAAA,EAAW,CAAEC,eAAgB,cAC7CzF,EAAAA,cAAoB8C,EAAAA,EAAE4C,OAAQ,CAAE,aAA0D,QAA9CR,EAAoB,QAApBC,EAAEpF,EAAMwF,oBAAY,IAAAJ,OAAA,EAAlBA,EAAqB,+BAAuB,IAAAD,EAAAA,EAAI,GAAIS,UAAW5F,EAAM6F,MAAQR,EAASb,cAAgBa,EAASc,SAAUL,QAAUC,IACzKA,EAAMC,iBACNX,EAASe,SAASpG,EAAM6F,KAAK,EAC9B,aAAa,GAChB5F,EAAAA,cAAoB8C,EAAAA,EAAEmD,KAAM,MACxBpC,EAAAA,EAAAA,IAAWM,EAAAA,GAAcC,aACzBP,EAAAA,EAAAA,IAAWM,EAAAA,GAAcC,eAAe,IAE5DQ,EAAShF,YAAc,WACvB,U,wBCrBA,MAAMwG,EAAapG,EAAAA,YAAiB,CAACD,EAAO8E,KACxC,MAAMO,GAAWC,EAAAA,EAAAA,KACjB,OAA0B,IAAtBD,EAASc,SACF,KAEHlG,EAAAA,cAAoB8C,EAAAA,EAAEzC,UAAW,CAAEwE,IAAKA,GAC5C7E,EAAAA,cAAoByE,EAAAA,EAAM,CAAED,UAAWY,EAASc,SAAW,EAAG3B,YAAaa,EAASb,cACpFvE,EAAAA,cAAoB4E,EAAU,IAAK7E,IAAS,IAEpDqG,EAAWxG,YAAc,qBACzB,S,6NCLA,MAAMS,GAAYC,EAAAA,EAAAA,IAAO+F,EAAAA,GAAe7F,WAAA,CAAAZ,YAAA,8BAAAa,YAAA,gBAAtBH,CAAsB,4IAGnBI,EAAAA,EAAMO,QAAQC,KAAKC,KAEpCmF,EAAAA,EAA0BjG,WACTwB,EAAAA,EAAAA,IAAM,GAAI,KAElB0E,EAAAA,EAAAA,IAAM7E,EAAAA,GAAO8E,cAUpBxE,EAAU1B,EAAAA,GAAO2B,GAAEzB,WAAA,CAAAZ,YAAA,4BAAAa,YAAA,gBAATH,CAAS,wHACrBmG,EAAAA,IAEe5E,EAAAA,EAAAA,IAAM,GAAI,KAIXA,EAAAA,EAAAA,IAAM,GAAI,KAGjBJ,EAAAA,EAAAA,IAAKC,EAAAA,GAAOC,SAIjB+E,EAAkBpG,EAAAA,GAAOC,IAAGC,WAAA,CAAAZ,YAAA,oCAAAa,YAAA,gBAAVH,CAAU,qRAO9BqG,EAAAA,EAAiBtG,WAGRoB,EAAAA,EAAAA,IAAKC,EAAAA,GAAOC,SAKdF,EAAAA,EAAAA,IAAKC,EAAAA,GAAOkF,cAIZnF,EAAAA,EAAAA,IAAKC,EAAAA,GAAOmF,cAIZpF,EAAAA,EAAAA,IAAKC,EAAAA,GAAO8E,cAIZ/E,EAAAA,EAAAA,IAAKC,EAAAA,GAAOoF,eAyBvB,EAPyB,CACrBzG,YACA2B,UACA+E,OAjBUzG,EAAAA,EAAAA,IAAO0G,EAAAA,GAAYxG,WAAA,CAAAZ,YAAA,0BAAAa,YAAA,gBAAnBH,CAAmB,uFACtBmB,EAAAA,EAAAA,IAAKC,EAAAA,GAAOC,QACjBsF,EAAAA,EAAkBF,OAgBpBL,kBACAQ,KAVS5G,EAAAA,GAAO6G,GAAE3G,WAAA,CAAAZ,YAAA,yBAAAa,YAAA,gBAATH,CAAS,mJChEhB8G,EAAcrH,GACRC,EAAAA,cAAoBqH,EAAAA,EAAkB,CAAEC,MAAOvH,EAAMwH,MAAMC,OAAQC,cAAe,IACtF1H,EAAM2H,aAAe1H,EAAAA,cAAoB8C,EAAEd,QAAS,KAAMjC,EAAMuD,SAChEtD,EAAAA,cAAoB8C,EAAE4D,gBAAiB,KACnC1G,EAAAA,cAAoB8C,EAAEiE,MAAO,CAAEY,gBAAgB,GAAQ5H,EAAMwH,MAAMK,KAAKC,GAAU7H,EAAAA,cAAoB8C,EAAEoE,KAAM,CAAEY,IAAKD,EAAKE,IACtH/H,EAAAA,cAAoBgI,EAAAA,EAAW,IAAKH,EAAM9D,YAAahE,EAAM2H,YAAc,KAAO,KAAMjE,MAAO1D,EAAMkI,WAAY5E,UAAWtD,EAAMmI,qBACtIlI,EAAAA,cAAoBoG,EAAAA,EAAY,QAE5C,GAAe1G,EAAAA,EAAAA,IAjBKK,IAChB,MAAMkI,EAAa,IAAG1B,EAAAA,EAAAA,IAAM7E,EAAAA,GAAOkF,wBAAuBL,EAAAA,EAAAA,IAAM7E,EAAAA,GAAOmF,uBAAsBN,EAAAA,EAAAA,IAAM7E,EAAAA,GAAO8E,uBAAsBD,EAAAA,EAAAA,IAAM7E,EAAAA,GAAOoF,wBAAuBP,EAAAA,EAAAA,IAAM7E,EAAAA,GAAOyG,4BACjL,OAAKpI,EAAMqI,OAGHpI,EAAAA,cAAoB8C,EAAEzC,UAAW,CAAE0H,GAAIhI,EAAMsI,SAAU9C,aAAcxF,EAAMwF,cAC/EvF,EAAAA,cAAoBsI,EAAAA,EAAqB,IAAKvI,EAAOwI,QAASxI,EAAMwI,QAAU,MAAMxI,EAAMwI,mBAAgB1F,EAAW2F,OAAQzI,EAAMwI,QAAU,QAAU,YACvJvI,EAAAA,cAAoByI,EAAAA,EAAc,CAAE3H,WAAY,CAAE4H,SAAU,GAAKC,KAAM,YAAe5I,EAAMqI,OAAOR,KAAKgB,GAAW5I,EAAAA,cAAoBoH,EAAY,CAAEU,IAAKc,EAAMtF,WAAYsF,EAAOlB,YAAa3H,EAAMqI,OAAOZ,OAAS,EAAGS,WAAYA,QAJ9N,IAI+O,G,wFCQ9P,SAASQ,EAAaI,GAClB,IAAIC,EAAWD,EAAGC,SAAUC,EAAcF,EAAGE,YAAaC,GAAS,QAAOH,EAAI,CAAC,WAAY,gBAC3FE,IAAe,OAAwBA,IAIvCC,GAAS,SAAS,QAAS,CAAC,GAAG,IAAAC,YAAW,MAAuBD,IAK1DE,UAAW,QAAY,WAAc,OAAOF,EAAOE,QAAU,IAKpE,IAAIC,GAAU,IAAAC,UAAQ,WAAc,OAAOJ,CAAQ,GAAG,CAACK,KAAKC,UAAUN,EAAOlI,YAAakI,EAAOO,mBAAoBP,EAAOQ,gBAC5H,OAAQ,gBAAoB,IAAoBC,SAAU,CAAEC,MAAOP,GAAWL,EAClF,C","sources":["webpack://brc/./src/hoc/withMotion.tsx","webpack://brc/./src/stories/Components/Cards/BrandCard/BrandCard.styles.ts","webpack://brc/./src/stories/Components/Cards/BrandCard/BrandCard.tsx","webpack://brc/./src/stories/Components/Misc/Carousels/Carousel/Dots/Dots.tsx","webpack://brc/./src/stories/Components/Misc/Carousels/Carousel/Controls/Controls.tsx","webpack://brc/./src/stories/Components/Misc/Carousels/Carousel/Pagination/Pagination.tsx","webpack://brc/./src/stories/Widgets/BrandCards/BrandCards.styles.ts","webpack://brc/./src/stories/Widgets/BrandCards/BrandCards.tsx","webpack://brc/./node_modules/framer-motion/dist/es/components/MotionConfig/index.mjs"],"sourcesContent":["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 { transition } from '@helpers/animate';\r\nimport { imageWrapperPreserveRatio } from '@helpers/aspectRatio';\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 { paragraphSmall } from '@helpers/typography';\r\nimport ButtonStyles from '@stories/Components/Buttons/Button/Button.styles';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: 10px;\r\n color: ${brand.global.white};\r\n overflow: hidden;\r\n\r\n a& {\r\n text-decoration: none;\r\n\r\n ${() => Image}, svg {\r\n ${transition('transform', 0.25)};\r\n }\r\n\r\n &:focus-visible,\r\n &:hover {\r\n ${() => Image}, svg {\r\n transform: scale(1.05);\r\n }\r\n }\r\n }\r\n\r\n &[data-variant=${BrandColours.BlueDark}] {\r\n --contentColour: ${brand.primary.blue.dark};\r\n --imageColour: ${brand.primary.blue.light};\r\n\r\n &:has(${() => Image}) {\r\n --imageColour: ${brand.global.white};\r\n }\r\n\r\n &:has(${() => Image}) {\r\n border: 1px solid var(--contentColour);\r\n }\r\n }\r\n\r\n &[data-variant=${BrandColours.PurpleDark}] {\r\n --contentColour: ${brand.primary.purple.dark};\r\n --imageColour: ${brand.global.white};\r\n\r\n border: 1px solid var(--contentColour);\r\n }\r\n`;\r\nconst ImageContainer = styled.div `\r\n ${imageWrapperPreserveRatio(328, 164)};\r\n\r\n display: grid;\r\n place-content: center;\r\n background-color: var(--imageColour);\r\n\r\n svg {\r\n width: 92px;\r\n aspect-ratio: 1;\r\n\r\n ${Container}[data-variant=${BrandColours.PurpleDark}] & {\r\n color: var(--contentColour);\r\n }\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n aspect-ratio: 259 / 146;\r\n }\r\n`;\r\nconst Image = styled.img `\r\n --spacing: ${fluid(10, 16)};\r\n\r\n display: block;\r\n object-fit: contain;\r\n object-position: center;\r\n width: calc(100% - var(--spacing) * 2);\r\n height: calc(100% - var(--spacing) * 2);\r\n position: absolute;\r\n top: var(--spacing);\r\n left: var(--spacing);\r\n`;\r\nconst ContentWrapper = styled.div `\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n background-color: var(--contentColour);\r\n padding: 16px;\r\n min-height: 157px;\r\n\r\n ${ButtonStyles.Container} {\r\n --buttonHeight: ${fluid(42, 56)};\r\n\r\n margin: auto 0 0 auto;\r\n }\r\n`;\r\nconst Heading = styled.h3 `\r\n ${fonts.lato.semiBold};\r\n\r\n font-size: ${fluid(18, 22)};\r\n line-height: ${fluid(24, 34)};\r\n margin: 0 0 8px;\r\n`;\r\nconst Subheading = styled.p `\r\n ${paragraphSmall};\r\n\r\n margin: 0 0 24px;\r\n`;\r\nconst BrandCardStyles = {\r\n Container,\r\n ImageContainer,\r\n Image,\r\n ContentWrapper,\r\n Heading,\r\n Subheading,\r\n};\r\nexport default BrandCardStyles;\r\n","import { getSvgIcon, InterfaceIcon } from '@helpers/icons';\r\nimport { getSrcs } from '@helpers/image';\r\nimport { FakeButton } from '@stories/Components/Buttons/Button/Button';\r\nimport * as React from 'react';\r\nimport S from './BrandCard.styles';\r\nconst BrandCard = (props) => {\r\n const srcs = props.type === 'image' && props.image\r\n ? getSrcs(props.image, 706, 170, 8, 259 / 146, { rmode: 'pad' })\r\n : undefined;\r\n return (React.createElement(S.Container, { \"data-variant\": props.variant, ...(props.cta\r\n ? {\r\n as: 'a',\r\n href: props.cta.url,\r\n target: props.cta.target,\r\n 'aria-label': props.imageOnly ? props.heading : undefined,\r\n }\r\n : {}) },\r\n React.createElement(S.ImageContainer, null,\r\n props.type === 'image' && srcs && (React.createElement(S.Image, { src: srcs.src, srcSet: srcs.srcSet, sizes: props.sizes, alt: props.image.altText, loading: \"lazy\" })),\r\n props.type === 'icon' && React.createElement(React.Fragment, null, getSvgIcon(props.icon))),\r\n !props.imageOnly ? (React.createElement(S.ContentWrapper, null,\r\n React.createElement(S.Heading, { as: props.headingType }, props.heading),\r\n props.subheading && React.createElement(S.Subheading, null, props.subheading),\r\n props.cta && (React.createElement(FakeButton, { buttonType: \"secondary\", icon: InterfaceIcon.ArrowRight, iconOnly: true })))) : null));\r\n};\r\nexport default BrandCard;\r\n","import React from 'react';\r\nimport { DotsStyles as S } from './Dots.styles';\r\nconst Dots = ({ activeIndex, itemCount }) => {\r\n return (React.createElement(S.Dots, null,\r\n React.createElement(S.Dot, { style: { '--progress': `${((activeIndex + 1) / itemCount) * 100}%` } })));\r\n};\r\nexport default Dots;\r\n","import { InterfaceIcon, getSvgIcon } from '@helpers/icons';\r\nimport * as React from 'react';\r\nimport { FocusRing } from 'react-aria';\r\nimport { useCarouselContext } from '../CarouselProvider/CarouselProvider';\r\nimport S from './Controls.styles';\r\nconst Controls = React.forwardRef((props, ref) => {\r\n const carousel = useCarouselContext();\r\n return (React.createElement(S.Container, { ref: ref, className: props.className, \"aria-label\": props.translations?.['global.carousel.controls'] ?? '' },\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Button, { \"aria-label\": props.translations?.['global.carousel.previous'] ?? '', disabled: !props.wrap && carousel.activeIndex === 0, onClick: (event) => {\r\n event.preventDefault();\r\n carousel.goToPrev(props.wrap);\r\n }, \"data-prev\": true },\r\n React.createElement(S.Icon, null,\r\n getSvgIcon(InterfaceIcon.ArrowRight),\r\n getSvgIcon(InterfaceIcon.ArrowRight)))),\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Button, { \"aria-label\": props.translations?.['global.carousel.next'] ?? '', disabled: !props.wrap && carousel.activeIndex === carousel.maxIndex, onClick: (event) => {\r\n event.preventDefault();\r\n carousel.goToNext(props.wrap);\r\n }, \"data-next\": true },\r\n React.createElement(S.Icon, null,\r\n getSvgIcon(InterfaceIcon.ArrowRight),\r\n getSvgIcon(InterfaceIcon.ArrowRight))))));\r\n});\r\nControls.displayName = 'Controls';\r\nexport default Controls;\r\n","import Controls from '@stories/Components/Misc/Carousels/Carousel/Controls/Controls';\r\nimport Dots from '@stories/Components/Misc/Carousels/Carousel/Dots/Dots';\r\nimport * as React from 'react';\r\nimport { useCarouselContext } from '../CarouselProvider/CarouselProvider';\r\nimport S from './Pagination.styles';\r\nconst Pagination = React.forwardRef((props, ref) => {\r\n const carousel = useCarouselContext();\r\n if (carousel.maxIndex === 0) {\r\n return null;\r\n }\r\n return (React.createElement(S.Container, { ref: ref },\r\n React.createElement(Dots, { itemCount: carousel.maxIndex + 1, activeIndex: carousel.activeIndex }),\r\n React.createElement(Controls, { ...props })));\r\n});\r\nPagination.displayName = 'CarouselPagination';\r\nexport default Pagination;\r\n","import brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { h5 } from '@helpers/typography';\r\nimport MotionTrack from '@stories/Components/Misc/Carousels/Carousel/MotionTrack/MotionTrack';\r\nimport MotionTrackStyles from '@stories/Components/Misc/Carousels/Carousel/MotionTrack/MotionTrack.styles';\r\nimport PaginationStyles from '@stories/Components/Misc/Carousels/Carousel/Pagination/Pagination.styles';\r\nimport HeadingSummaryBlockStyles from '@stories/Components/Misc/HeadingSummaryBlock/HeadingSummaryBlock.styles';\r\nimport SectionWrapper from '@stories/Components/Misc/SectionWrapper/SectionWrapper';\r\nimport styled from 'styled-components';\r\nconst Container = styled(SectionWrapper) `\r\n overflow: hidden;\r\n\r\n --sectionColour: ${brand.primary.blue.dark};\r\n\r\n ${HeadingSummaryBlockStyles.Container} {\r\n margin-bottom: ${fluid(40, 76)};\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n text-align: center;\r\n align-items: center;\r\n }\r\n }\r\n\r\n @media print {\r\n display: none;\r\n }\r\n`;\r\nconst Heading = styled.h3 `\r\n ${h5};\r\n\r\n margin-bottom: ${fluid(12, 30)};\r\n text-transform: uppercase;\r\n\r\n &:not(:first-of-type) {\r\n margin-top: ${fluid(56, 76)};\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n text-align: center;\r\n }\r\n`;\r\nconst CarouselWrapper = styled.div `\r\n --itemPeek: 16px;\r\n --itemGutter: var(--gutterWidth, 12px);\r\n --visibleItems: 1;\r\n\r\n margin: 0 calc(var(--itemGutter) * -0.5);\r\n\r\n ${PaginationStyles.Container} {\r\n margin: 22px 0 0;\r\n\r\n @media ${from(Device.Tablet)} {\r\n display: none;\r\n }\r\n }\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n --visibleItems: 2;\r\n }\r\n\r\n @media ${from(Device.TabletSmall)} {\r\n --visibleItems: 3;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --visibleItems: 4;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n --visibleItems: 6;\r\n }\r\n`;\r\nconst Track = styled(MotionTrack) `\r\n @media ${from(Device.Tablet)} {\r\n ${MotionTrackStyles.Track} {\r\n row-gap: var(--itemGutter);\r\n flex-wrap: wrap;\r\n justify-content: center;\r\n }\r\n }\r\n`;\r\nconst Item = styled.li `\r\n display: block;\r\n flex: 0 0 calc(100% / var(--visibleItems) - (var(--itemPeek, 0px) / var(--visibleItems)));\r\n padding: 0 calc(var(--itemGutter) / 2);\r\n`;\r\nconst BrandCardsStyles = {\r\n Container,\r\n Heading,\r\n Track,\r\n CarouselWrapper,\r\n Item,\r\n};\r\nexport default BrandCardsStyles;\r\n","import { Device, until } from '@helpers/media';\r\nimport { withMotion } from '@hoc/withMotion';\r\nimport BrandCard from '@stories/Components/Cards/BrandCard/BrandCard';\r\nimport CarouselProvider from '@stories/Components/Misc/Carousels/Carousel/CarouselProvider/CarouselProvider';\r\nimport Pagination from '@stories/Components/Misc/Carousels/Carousel/Pagination/Pagination';\r\nimport HeadingSummaryBlock from '@stories/Components/Misc/HeadingSummaryBlock/HeadingSummaryBlock';\r\nimport { MotionConfig } from 'framer-motion';\r\nimport * as React from 'react';\r\nimport S from './BrandCards.styles';\r\nconst BrandCards = (props) => {\r\n const imageSizes = `${until(Device.MobileLarge)} 100vw, ${until(Device.TabletSmall)} 50vw, ${until(Device.TabletLarge)} 33vw, ${until(Device.DesktopSmall)} 25vw, ${until(Device.DesktopLarge)} 17vw, 260px`;\r\n if (!props.groups) {\r\n return null;\r\n }\r\n return (React.createElement(S.Container, { id: props.anchorId, translations: props.translations },\r\n React.createElement(HeadingSummaryBlock, { ...props, summary: props.summary ? `

${props.summary}

` : undefined, layout: props.summary ? 'split' : 'central' }),\r\n React.createElement(MotionConfig, { transition: { duration: 0.3, ease: 'easeOut' } }, props.groups.map((group) => (React.createElement(BrandGroup, { key: group.heading, ...group, showHeading: props.groups.length > 1, imageSizes: imageSizes }))))));\r\n};\r\nconst BrandGroup = (props) => {\r\n return (React.createElement(CarouselProvider, { count: props.items.length, paddingOffset: 16 },\r\n props.showHeading && React.createElement(S.Heading, null, props.heading),\r\n React.createElement(S.CarouselWrapper, null,\r\n React.createElement(S.Track, { trackMutations: true }, props.items.map((card) => (React.createElement(S.Item, { key: card.id },\r\n React.createElement(BrandCard, { ...card, headingType: props.showHeading ? 'h4' : 'h3', sizes: props.imageSizes, imageOnly: props.imageOnlyCards }))))),\r\n React.createElement(Pagination, null))));\r\n};\r\nexport default withMotion(BrandCards);\r\n","import { __rest, __assign } from 'tslib';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { loadExternalIsValidProp } from '../../render/dom/utils/filter-props.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\n\n/**\n * `MotionConfig` is used to set configuration options for all children `motion` components.\n *\n * ```jsx\n * import { motion, MotionConfig } from \"framer-motion\"\n *\n * export function App() {\n * return (\n * \n * \n * \n * )\n * }\n * ```\n *\n * @public\n */\nfunction MotionConfig(_a) {\n var children = _a.children, isValidProp = _a.isValidProp, config = __rest(_a, [\"children\", \"isValidProp\"]);\n isValidProp && loadExternalIsValidProp(isValidProp);\n /**\n * Inherit props from any parent MotionConfig components\n */\n config = __assign(__assign({}, useContext(MotionConfigContext)), config);\n /**\n * Don't allow isStatic to change between renders as it affects how many hooks\n * motion components fire.\n */\n config.isStatic = useConstant(function () { return config.isStatic; });\n /**\n * Creating a new config context object will re-render every `motion` component\n * every time it renders. So we only want to create a new one sparingly.\n */\n var context = useMemo(function () { return config; }, [JSON.stringify(config.transition), config.transformPagePoint, config.reducedMotion]);\n return (React.createElement(MotionConfigContext.Provider, { value: context }, children));\n}\n\nexport { MotionConfig };\n"],"names":["withMotion","WrappedComponent","displayName","name","ComponentWithMotion","props","React","LazyMotion","features","domAnimation","strict","Container","styled","div","withConfig","componentId","brand","global","white","Image","transition","BrandColours","BlueDark","primary","blue","dark","light","PurpleDark","purple","ImageContainer","imageWrapperPreserveRatio","from","Device","Tablet","img","fluid","ContentWrapper","ButtonStyles","Heading","h3","fonts","lato","semiBold","Subheading","p","paragraphSmall","srcs","type","image","getSrcs","rmode","undefined","S","variant","cta","as","href","url","target","imageOnly","heading","src","srcSet","sizes","alt","altText","loading","getSvgIcon","icon","headingType","subheading","FakeButton","buttonType","InterfaceIcon","ArrowRight","iconOnly","_ref","activeIndex","itemCount","Dots","Dot","style","Controls","ref","_props$translations$g","_props$translations","_props$translations$g2","_props$translations2","_props$translations$g3","_props$translations3","carousel","useCarouselContext","className","translations","FocusRing","focusRingClass","Button","disabled","wrap","onClick","event","preventDefault","goToPrev","Icon","maxIndex","goToNext","Pagination","SectionWrapper","HeadingSummaryBlockStyles","until","TabletLarge","h5","CarouselWrapper","PaginationStyles","MobileLarge","TabletSmall","DesktopSmall","Track","MotionTrack","MotionTrackStyles","Item","li","BrandGroup","CarouselProvider","count","items","length","paddingOffset","showHeading","trackMutations","map","card","key","id","BrandCard","imageSizes","imageOnlyCards","DesktopLarge","groups","anchorId","HeadingSummaryBlock","summary","layout","MotionConfig","duration","ease","group","_a","children","isValidProp","config","useContext","isStatic","context","useMemo","JSON","stringify","transformPagePoint","reducedMotion","Provider","value"],"sourceRoot":""}