{"version":3,"file":"HighlightModule-Chunk-f9bff4b3576b7365e3b6.js","mappings":"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","sources":["webpack://react-app/./node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs","webpack://react-app/./components/Shared/src/components/atoms/Button/Button.tsx","webpack://react-app/./components/Shared/src/utility/hooks/useDevicePixelRatio.ts","webpack://react-app/./components/Shared/src/components/atoms/Image/Image.tsx","webpack://react-app/./components/Shared/src/components/organisms/HighlightModule/HighlightModule.tsx","webpack://react-app/./components/organisms/HighlightModule/HighlightModuleWrapper.tsx","webpack://react-app/./node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","webpack://react-app/./components/Shared/src/components/atoms/Text/Text.tsx","webpack://react-app/./components/Shared/src/models/enums/SiteEnum.ts","webpack://react-app/./components/Shared/src/models/enums/VariantTypeEnum.ts","webpack://react-app/./components/Shared/tailwind.config.js","webpack://react-app/./components/Shared/src/models/enums/PositioningEnum.ts","webpack://react-app/./components/Shared/src/utility/hooks/useBreakpoint.ts","webpack://react-app/./components/Shared/src/components/atoms/Cta/Cta.tsx","webpack://react-app/./components/Shared/src/utility/format/parseNumberInString.ts","webpack://react-app/./components/Shared/src/utility/config/breakpoints.ts","webpack://react-app/./components/Shared/src/models/enums/BreakpointEnum.ts"],"sourcesContent":["/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import Icon from '@atoms/Icon/Icon';\nimport { ButtonOrLinkProps } from '@models/IButton';\nimport SiteEnum from '@models/enums/SiteEnum';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport classNames from 'classnames';\nimport { forwardRef, type ForwardedRef } from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nconst baseClasses = `tw-text-sm tw-flex tw-items-center tw-rounded tw-relative after:tw-content-[''] after:tw-box-content focus-visible:after:tw-rounded focus-visible:tw-outline-none tw-transition-colors focus-visible:after:tw-absolute focus-visible:after:tw-inset-[2px] focus-visible:after:tw-border-2 focus-visible:after:tw-block tw-px-4`;\n\nexport type ButtonVariant = VariantProps;\n\nexport const variants = cva(baseClasses, {\n variants: {\n variant: {\n yellow:\n 'tw-text-black hover:tw-bg-yellow-hover focus-visible:tw-bg-yellow focus-visible:tw-ring-yellow focus-visible:tw-ring-offset-grey-100 active:tw-bg-yellow-active disabled:tw-pointer-events-none disabled:tw-border-yellow-disabled disabled:tw-text-grey-60 disabled:tw-bg-yellow-disabled focus-visible:after:tw-border-black',\n grey30:\n 'focus-visible:tw-bg-grey-30 focus-visible:tw-ring-grey-30 focus-visible:tw-ring-offset-grey-100 disabled:tw-pointer-events-none disabled:tw-border-grey-30 disabled:tw-text-grey-30 focus-visible:after:tw-border-black',\n grey80:\n 'focus-visible:tw-bg-grey-80 focus-visible:tw-text-white focus-visible:tw-ring-grey-80 focus-visible:tw-ring-offset-white disabled:tw-pointer-events-none disabled:tw-border-grey-30 disabled:tw-text-grey-30 disabled:tw-text-grey-60 disabled:tw-bg-grey-30 dark:focus-visible:tw-bg-white dark:focus-visible:tw-text-grey-100 dark:focus-visible:tw-ring-white dark:focus-visible:tw-ring-offset-grey-100 dark:disabled:tw-border-grey-80 dark:disabled:tw-bg-grey-80 dark:disabled:tw-text-white focus-visible:after:tw-border-white dark:focus-visible:after:tw-border-black',\n white:\n 'focus-visible:tw-bg-white focus-visible:tw-text-grey-100 focus-visible:tw-ring-white focus-visible:tw-ring-offset-grey-100 disabled:tw-pointer-events-none disabled:tw-border-grey-80 disabled:tw-bg-grey-80 disabled:tw-text-white focus-visible:after:tw-border-black dark:tw-border dark:tw-border-grey-30',\n destructive:\n 'tw-bg-red tw-text-white hover:tw-bg-red-hover focus-visible:tw-ring-red focus-visible:tw-ring-offset-white active:tw-bg-red-active disabled:tw-pointer-events-none disabled:tw-bg-red-disabled disabled:tw-text-grey-60 focus-visible:after:tw-border-white',\n link: 'tw-text-black hover:tw-text-grey-70 tw-underline hover:tw-no-underline tw-underline-offset-2 active:tw-text-grey-80',\n },\n modifier: {\n fill: '',\n outline: 'tw-bg-transparent tw-border tw-border-current',\n },\n icon: {\n true: 'tw-rounded-full focus-visible:after:tw-rounded-full tw-py-4',\n false: 'tw-py-3.5',\n },\n },\n compoundVariants: [\n // Yellow Variants\n {\n variant: 'yellow',\n modifier: 'fill',\n className: 'tw-bg-yellow',\n },\n {\n variant: 'yellow',\n modifier: 'outline',\n className: 'tw-border-yellow',\n },\n // Grey30 Variants\n {\n variant: 'grey30',\n modifier: 'fill',\n className:\n 'tw-border-grey-30 tw-bg-grey-30 tw-text-black hover:tw-bg-grey-40 active:tw-bg-grey-50',\n },\n {\n variant: 'grey30',\n modifier: 'outline',\n className:\n 'tw-text-black tw-border-grey-30 hover:tw-bg-grey-40 active:tw-bg-grey-50',\n },\n // Grey80 Variants - becomes white variant by wrapping in an element with class 'dark'\n {\n variant: 'grey80',\n modifier: 'fill',\n className:\n 'tw-bg-grey-80 tw-text-white hover:tw-bg-grey-90 active:tw-bg-grey-100 dark:tw-bg-white dark:tw-text-grey-100 dark:hover:tw-bg-grey-10 dark:active:tw-bg-grey-20',\n },\n {\n variant: 'grey80',\n modifier: 'outline',\n className:\n 'tw-border-grey-80 tw-text-black hover:tw-bg-grey-90 hover:tw-text-white active:tw-bg-grey-100 dark:tw-text-white dark:hover:tw-bg-grey-10 dark:hover:tw-text-grey-100 dark:active:tw-bg-grey-20',\n },\n // White Variants\n {\n variant: 'white',\n modifier: 'fill',\n className:\n 'tw-bg-white tw-text-grey-100 hover:tw-bg-grey-10 active:tw-bg-grey-20',\n },\n {\n variant: 'white',\n modifier: 'outline',\n className:\n 'tw-bg-transparent tw-text-white hover:tw-bg-grey-10 hover:tw-text-grey-100 active:tw-bg-grey-20',\n },\n ],\n defaultVariants: {\n variant: 'yellow',\n icon: false,\n },\n});\n\nconst Button = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n ButtonOrLinkProps\n>(\n (\n {\n as = 'button',\n buttonClasses,\n dataTestId,\n disabled,\n iconClasses,\n iconName,\n iconSize,\n label,\n modifier = 'fill',\n site,\n variant,\n ...props\n },\n ref\n ) => {\n const siteStyles = {\n [SiteEnum.B2B]: 'yellow',\n [SiteEnum.Deco]: 'grey80',\n };\n\n const style =\n variant ??\n (site && (siteStyles[site] as keyof ButtonVariant['variant'])) ??\n undefined;\n\n const iconOnly = !!iconName && !label;\n\n const classes = twMerge(\n variants({ variant: style, modifier, icon: iconOnly }),\n buttonClasses\n );\n\n const Content = (\n \n {label && {label}}\n {iconName && (\n \n )}\n \n );\n\n if (as === 'link') {\n const anchorProps =\n props as React.AnchorHTMLAttributes;\n const { href } = anchorProps;\n\n return (\n }\n {...anchorProps}\n data-testid={dataTestId}\n >\n {Content}\n \n );\n } else {\n return (\n }\n {...(props as React.ButtonHTMLAttributes)}\n >\n {Content}\n \n );\n }\n }\n);\n\nButton.displayName = 'Button';\nexport default Button;\n","import { useEffect, useState } from 'react';\n\nconst useDevicePixelRatio = (): number | undefined => {\n const [devicePixelRatio, setDevicePixelRatio] = useState();\n\n const updateDevicePixelRatio = (): void => {\n setDevicePixelRatio(window.devicePixelRatio);\n };\n\n useEffect(() => {\n updateDevicePixelRatio();\n\n window.addEventListener('resize', updateDevicePixelRatio);\n\n return () => {\n window.removeEventListener('resize', updateDevicePixelRatio);\n };\n }, []);\n\n return devicePixelRatio;\n};\n\nexport default useDevicePixelRatio;\n","import { IImage } from '@models/IImage';\nimport BreakpointEnum from '@models/enums/BreakpointEnum';\nimport breakpoints from '@utility/config/breakpoints';\nimport useBreakpoint from '@utility/hooks/useBreakpoint';\nimport useDevicePixelRatio from '@utility/hooks/useDevicePixelRatio';\nimport classNames from 'classnames';\nimport {\n PropsWithChildren,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\n\ninterface Props {\n readonly aspectRatio?: number;\n readonly classes?: string;\n readonly containerRef?: RefObject;\n readonly image: IImage;\n readonly imageClasses?: string;\n readonly lazyLoad?: boolean;\n readonly quality?: number;\n readonly sizes?: string;\n readonly height?: number;\n readonly width?: number;\n readonly onLoad?: () => void;\n}\n\nconst Image = ({\n aspectRatio, // width / height e.g. 0.5, 2 etc.\n children,\n classes,\n containerRef,\n image,\n imageClasses,\n lazyLoad = true,\n quality = 70,\n sizes = '',\n height,\n width,\n onLoad,\n}: PropsWithChildren) => {\n const devicePixelRatio = useDevicePixelRatio() ?? 1;\n const breakpoint = useBreakpoint() ?? BreakpointEnum.XLarge;\n const imgRef = useRef(null);\n\n const {\n url,\n altText,\n originalHeight,\n originalWidth,\n imageFocalPoint,\n srcSet: source,\n } = image ?? {};\n const fileExtension = url?.substring(url?.lastIndexOf('.') + 1);\n const hasParams = url?.includes('&'); // For images not coming from Opti\n const containerWidth = containerRef?.current?.clientWidth;\n\n const breakpointWidths = [\n 375 * devicePixelRatio,\n 752 * devicePixelRatio,\n 1024 * devicePixelRatio,\n 1408 * devicePixelRatio,\n 1600 * devicePixelRatio,\n ];\n\n const calculatedAspectRatio = useMemo(() => {\n if (aspectRatio) return aspectRatio;\n\n if (originalWidth && originalHeight) return originalWidth / originalHeight;\n }, [aspectRatio, originalWidth, originalHeight]);\n\n const generateUrlWithExtensions = useCallback(\n (width?: number) => {\n const qParam = quality ? `&quality=${quality}` : '';\n const fpParam = imageFocalPoint\n ? `&rxy=${imageFocalPoint.replace('|', ',')}`\n : '';\n\n if (!width) {\n return `${url}?format=webp$${fpParam}${qParam}`;\n }\n\n const wParam = `&width=${width}`;\n const h = aspectRatio ? width / aspectRatio : height;\n const hParam = h ? `&height=${h}` : '';\n\n return `${url}?format=webp${wParam}${hParam}${fpParam}${qParam}`;\n },\n [url, quality, calculatedAspectRatio, imageFocalPoint]\n );\n\n const srcSet = useMemo(() => {\n return source\n ? `${url} ${breakpointWidths[1]}w, ${source} ${breakpointWidths[2]}w`\n : breakpointWidths\n .map(\n (bpWidth, i) =>\n `${generateUrlWithExtensions(\n i < breakpointWidths.length - 1 ? bpWidth : 1920\n )} ${bpWidth}w`\n )\n .join(', ');\n }, [source, breakpointWidths, generateUrlWithExtensions]);\n\n useEffect(() => {\n // Fallback - sometimes onLoad does not trigger if the image is cached\n if (imgRef?.current?.complete && onLoad) onLoad();\n }, [imgRef]);\n\n if (!url || devicePixelRatio == null) return null;\n\n if (fileExtension === 'svg' || isValidBase64ImageSource(url)) {\n return (\n \n );\n }\n\n return (\n <>\n \n {!width && !containerWidth && !hasParams && (\n \n )}\n \n {children}\n \n \n );\n};\n\nconst isValidBase64ImageSource = (imageSrc: string) => {\n const regex = /^data:image\\/(png|jpg|jpeg|gif);base64,[A-Za-z0-9+/]+={0,2}$/;\n return regex.test(imageSrc);\n};\n\nexport default Image;\n","import Button from '@atoms/Button/Button';\nimport Cta from '@atoms/Cta/Cta';\nimport Image from '@atoms/Image/Image';\nimport Text from '@atoms/Text/Text';\nimport { IHighlightModule } from '@models/IHighlightModule';\nimport PositioningEnum from '@models/enums/PositioningEnum';\nimport VariantTypeEnum from '@models/enums/VariantTypeEnum';\nimport classNames from 'classnames';\n\nconst HighlightModule = ({\n site,\n image,\n imagePosition,\n header,\n text,\n ctaButton,\n ctaStyle,\n}: IHighlightModule) => {\n return (\n
\n \n
\n \n
\n
\n \n {header}\n \n {text && (\n \n {text}\n \n )}\n {ctaButton.url && ctaButton.text && (\n <>\n {ctaStyle === VariantTypeEnum.Cta ? (\n \n ) : (\n \n )}\n \n )}\n
\n \n
\n );\n};\n\nexport default HighlightModule;\n","import { IHighlightModule } from '@models/IHighlightModule';\nimport SiteEnum from '@models/enums/SiteEnum';\nimport SharedHighlightModule from '@organisms/HighlightModule/HighlightModule';\n\nconst HighlightModule = (props: IHighlightModule) => (\n \n);\n\nexport default HighlightModule;\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t =\n Partial<\n ExplicitProps & {\n as: TElementType;\n }\n >;\n\ntype TextProps =\n PropsWithAs &\n Omit, keyof PropsWithAs>;\n\nconst __DEFAULT_ELEMENT__ = 'p';\n\nconst variantClasses = {\n 'hero-headline': 'tw-font-serif tw-text-4xl md:tw-text-7xl xl:tw-text-8xl',\n headline: 'tw-font-serif tw-text-3xl xl:tw-text-5xl',\n 'sub-headline': 'tw-font-sans tw-text-2xl', // alt name - heading-24\n // New Design System Variants\n 'ds-sub-headline': 'tw-font-serif tw-text-4xl md:tw-text-5xl xl:tw-text-7xl',\n 'ds-headline-2': 'tw-text-3xl md:tw-text-4xl xl:tw-text-5xl tw-font-serif',\n 'ds-headline-3': 'tw-text-xl lg:tw-text-2xl tw-font-sans tw-font-light',\n 'ds-headline-4': 'tw-font-sans tw-text-lg lg:tw-text-xl',\n 'ds-quote': 'tw-font-serif tw-text-2xl lg:tw-text-3xl',\n 'ds-paragraph': 'tw-font-sans tw-text-sm lg:tw-text-base',\n body: 'tw-font-sans tw-text-base', // alt name - body-16\n 'body-small': 'tw-font-sans tw-text-sm', // alt name - body-14\n // secondary / non-responsive variants\n 'heading-56': 'tw-font-serif tw-text-8xl',\n 'heading-48': 'tw-font-serif tw-text-7xl',\n 'heading-40': 'tw-font-serif tw-text-6xl',\n 'heading-36': 'tw-font-serif tw-text-5xl',\n 'heading-32': 'tw-font-serif tw-text-4xl',\n 'heading-28': 'tw-font-serif tw-text-3xl',\n 'heading-24-light': 'tw-font-sans tw-text-2xl tw-font-light',\n 'heading-21': 'tw-font-sans tw-text-xl',\n 'heading-21-light': 'tw-font-sans tw-text-xl tw-font-light',\n 'body-18': 'tw-font-sans tw-text-lg',\n 'body-18-semibold': 'tw-font-sans tw-text-lg tw-font-semibold',\n 'body-16-semibold': 'tw-font-sans tw-font-semibold',\n 'body-14-semibold': 'tw-font-sans tw-text-sm tw-font-semibold',\n 'mono-14': 'tw-font-mono tw-text-sm',\n 'mono-12': 'tw-font-mono tw-text-xs',\n 'mono-14-semibold': 'tw-font-mono tw-text-sm tw-font-semibold',\n 'mono-12-semibold': 'tw-font-mono tw-text-xs tw-font-semibold',\n 'label-12': 'tw-font-sans tw-text-xs',\n 'label-12-semibold': 'tw-font-sans tw-text-xs tw-font-semibold',\n};\n\nconst defaultTags: Record<\n string,\n 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'code' | 'label'\n> = {\n 'hero-headline': 'h1',\n headline: 'h2',\n 'sub-headline': 'h3',\n body: 'p',\n 'heading-56': 'h1',\n 'heading-48': 'h2',\n 'heading-40': 'h3',\n 'heading-36': 'h4',\n 'heading-32': 'h5',\n 'heading-28': 'h6',\n 'heading-24-light': 'h6',\n 'heading-21': 'h4',\n 'body-small': 'p',\n 'body-18': 'p',\n 'body-18-semibold': 'p',\n 'body-16-semibold': 'p',\n 'body-14-semibold': 'p',\n 'mono-14': 'code',\n 'mono-12': 'code',\n 'mono-14-semibold': 'code',\n 'mono-12-semibold': 'code',\n 'label-12': 'label',\n 'label-12-semibold': 'label',\n};\n\nfunction Text<\n TElementType extends React.ElementType = typeof __DEFAULT_ELEMENT__\n>({\n as,\n className,\n variant = 'body',\n children,\n ...props\n}: TextProps) {\n const combinedClassName = classNames(variantClasses[variant], className);\n const Tag = as ?? defaultTags[variant] ?? 'span';\n\n return (\n \n {children}\n \n );\n}\n\nexport default Text;\n","const enum SiteEnum {\n B2B = 'b2b',\n Deco = 'deco',\n}\n\nexport default SiteEnum;\n","const enum VariantTypeEnum {\n Primary = 'primary',\n Secondary = 'secondary',\n Cta = 'cta',\n}\n\nexport default VariantTypeEnum;\n","/* eslint-env node */\n/* eslint-disable @typescript-eslint/no-var-requires */\n\n/** @type {import('tailwindcss').Config} */\n\nconst screens = {\n sm: '375px',\n md: '752px',\n lg: '1024px',\n xl: '1408px',\n xxl: '1600px',\n};\n\nmodule.exports = {\n darkMode: 'selector',\n prefix: 'tw-',\n content: [\n './.storybook/**/*.{js,jsx,mdx,ts,tsx}',\n './src/components/**/*.{js,jsx,mdx,ts,tsx}',\n ],\n theme: {\n screens,\n listStyleType: {\n none: 'none',\n disc: 'disc',\n decimal: 'decimal',\n square: 'square',\n },\n container: {\n screens,\n center: true,\n padding: {\n DEFAULT: '16px',\n sm: '16px',\n md: '32px',\n lg: '48px',\n xl: '48px',\n '2xl': '48px',\n },\n },\n fontFamily: {\n sans: '\"Noto Sans\", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"',\n serif:\n '\"Playfair Display\",ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif',\n mono: '\"Noto Sans Mono\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace',\n icon: 'icomoon',\n },\n fontSize: {\n xs: ['0.75rem', '1rem'],\n sm: ['0.875rem', '1.25rem'],\n base: ['1rem', '1.5rem'],\n lg: ['1.125rem', '1.625rem'],\n xl: ['1.3125rem', '1.75rem'],\n '2xl': ['1.5rem', '2rem'],\n '3xl': ['1.75rem', '2.25rem'],\n '4xl': ['2rem', '2.5rem'],\n '5xl': ['2.25rem', '2.75rem'],\n '6xl': ['2.5rem', '3rem'],\n '7xl': ['3rem', '3.5rem'],\n '8xl': ['3.5rem', '4rem'],\n },\n lineHeight: {\n xs: '1rem',\n sm: '1.25rem',\n base: '1.5rem',\n lg: '1.625rem',\n xl: '1.75rem',\n '2xl': '2rem',\n '3xl': '2.25rem',\n '4xl': '2.5rem',\n '5xl': '2.75rem',\n '6xl': '3rem',\n '7xl': '3.5rem',\n '8xl': '4rem',\n },\n fontWeight: {\n light: '300',\n normal: '400',\n semibold: '600',\n },\n colors: {\n blue: {\n DEFAULT: '#031E45',\n },\n yellow: {\n DEFAULT: '#F0AB00',\n hover: '#F1B32D',\n active: '#EDBE46',\n disabled: '#FBE6B3',\n },\n red: {\n DEFAULT: '#D52B1E',\n hover: '#E11E0F',\n active: '#EC0E00',\n disabled: '#F2BFBC',\n },\n green: {\n DEFAULT: '#329E36',\n },\n grey: {\n 100: '#202020',\n 90: '#333333',\n 80: '#4D4D4D',\n 70: '#666666',\n 60: '#808080',\n 50: '#999999',\n 40: '#B3B3B3',\n 30: '#CCCCCC',\n 20: '#E6E6E6',\n 10: '#F7F7F7',\n },\n white: {\n DEFAULT: '#FFFFFF',\n },\n black: {\n DEFAULT: '#202020',\n },\n transparent: 'transparent',\n background: {\n amber: '#AF8A76', // light\n amberDark: '#806A62', // dark\n beige: '#E9D8B8', // light\n beigeDark: '#A98259', // light\n brownGray: '#79736D', // dark\n brownGrey: '#79736D', // dark\n coral: '#DBC4B7', // light\n coralDark: '#985F56', // dark\n darkGrey: '#E6E6E6', // light\n gBSGreen: '#276D00', // dark\n gBSHarpGreen: '#E5EFEA', // light\n gBSLightGreen: '#478326', // dark\n gBSPalmGreen: '#012317', // dark\n gBSSummerGreen: '#C4D0B0', // light\n graphite: '#70666C', //dark\n jotunBlue: '#031E45', // dark\n jotunYellow: '#F0AB00', // light\n lightBlue: '#E6E9F0', // light\n lightGreen: '#E6F0EB', // light\n lightgrey: '#F7F7F7', // light\n lightGrey: '#F7F7F7', // light\n oceanDark: '#19262C', // dark\n olive: '#C9D0C5', // light\n oliveDark: '#646556', // dark\n pearl: '#F3F4ED', // light\n sand: '#E7DFCD', // light\n sandDark: '#CEC1B1', // light\n slate: '#A5BCC3', // light\n slateDark: '#4E616C', // dark\n white: '#FFFFFF', // light\n },\n },\n extend: {\n fill: {\n current: 'currentColor',\n },\n stroke: {\n current: 'currentColor',\n },\n transitionTimingFunction: {\n 'in-out-quart': 'cubic-bezier(0.76, 0, 0.24, 1)',\n },\n borderRadius: {\n DEFAULT: '4px',\n md: '10px',\n },\n borderWidth: {\n 1: '1px',\n },\n spacing: {\n '4xs': '0.125rem', // 2px\n '3xs': '0.25rem', // 4px\n xxs: '0.5rem', // 8px\n xs: '1rem', // 16px\n sm: '1.5rem', // 24px\n md: '2rem', // 32px\n lg: '2.5rem', // 40px\n xl: '3rem', // 48px\n '2xl': '4rem', // 64px\n '3xl': '5rem', // 80px\n '4xl': '6rem', // 96px\n '5xl': '7.5rem', // 120px\n buttonY: '0.875rem', // 14px\n },\n zIndex: {\n max: '999',\n 100: '100',\n 90: '90',\n 80: '80',\n 70: '70',\n 60: '60',\n },\n },\n },\n plugins: [require('@tailwindcss/container-queries')],\n};\n","const enum PositioningEnum {\n Left = 'left',\n Center = 'centre',\n Right = 'right',\n}\n\nexport default PositioningEnum;\n","import BreakpointEnum from '@models/enums/BreakpointEnum';\nimport Breakpoint from '@models/helpers/Breakpoint';\nimport breakpoints from '@utility/config/breakpoints';\nimport { useCallback, useEffect, useState } from 'react';\n\nconst getCurrentBreakpoint = (): Breakpoint => {\n const width = window.innerWidth;\n let device;\n\n if (width < breakpoints.md) {\n device = BreakpointEnum.Small;\n } else if (width < breakpoints.lg) {\n device = BreakpointEnum.Medium;\n } else if (width < breakpoints.xl) {\n device = BreakpointEnum.Large;\n } else if (width < breakpoints.xxl) {\n device = BreakpointEnum.XLarge;\n } else device = BreakpointEnum.Max;\n\n return device;\n};\n\nconst useBreakpoint = (): Breakpoint | undefined => {\n const [screen, setScreen] = useState();\n\n const resizeHandler = useCallback(() => {\n setScreen(getCurrentBreakpoint());\n }, []);\n\n useEffect(() => {\n window.addEventListener('resize', resizeHandler);\n setScreen(getCurrentBreakpoint());\n\n return () => {\n window.removeEventListener('resize', resizeHandler);\n };\n }, [resizeHandler]);\n\n return screen;\n};\n\nexport default useBreakpoint;\n","import Icon from '@atoms/Icon/Icon';\nimport { ILink } from '@models/ILink';\nimport SiteEnum from '@models/enums/SiteEnum';\nimport { cva } from 'class-variance-authority';\nimport { ComponentPropsWithoutRef } from 'react';\nimport { twMerge } from 'tailwind-merge';\n\ntype styles = 'yellow' | 'grey';\n\ntype Props = ComponentPropsWithoutRef<'a'> &\n ILink & {\n readonly variant?: styles;\n readonly site?: SiteEnum;\n readonly enableDarkMode?: boolean;\n };\n\nconst baseClasses =\n 'tw-inline-block tw-rounded tw-px-3xs tw-py-3xs tw-text-center tw-text-xs rtl:tw-rotate-180';\n\nexport const variants = cva(baseClasses, {\n variants: {\n style: {\n yellow:\n 'tw-bg-yellow group-hover:tw-bg-yellow-hover group-active:tw-bg-yellow-active tw-text-black',\n grey: 'tw-bg-grey-80 dark:tw-bg-white dark:group-hover:tw-bg-grey-10 group-hover:tw-bg-grey-90 group-active:tw-bg-grey-100 dark:group-active:tw-bg-grey-20 tw-fill-white dark:tw-fill-black',\n },\n },\n defaultVariants: {\n style: 'yellow',\n },\n});\n\nconst Cta = ({\n site,\n className,\n linkIcon,\n target,\n text,\n url,\n variant, // variant prop can be passed in to override the site specific styles\n enableDarkMode = true,\n ...props\n}: Props) => {\n const siteStyles = {\n [SiteEnum.B2B]: 'yellow',\n [SiteEnum.Deco]: 'grey',\n };\n\n // style is overriden if a variant is passed in, but otherwise takes on the site style\n const style = variant ?? (site && (siteStyles[site] as styles)) ?? undefined;\n\n const classes = twMerge(variants({ style: style }), className);\n\n if (!text || !url) return;\n\n const iconName =\n linkIcon ?? (target === '_blank' ? 'external-link' : 'arrow-right');\n return (\n \n \n\n {text}\n \n );\n};\n\nexport default Cta;\n","// Will parse a pixel string to a number e.g. '762px' => 762\n\nconst parseNumberInString = (pixelValue: string) => {\n const match = pixelValue.match(/\\d+/);\n\n if (match) {\n return parseInt(match[0], 10);\n }\n\n return 0;\n};\n\nexport default parseNumberInString;\n","import BreakpointEnum from '@models/enums/BreakpointEnum';\nimport Breakpoint from '@models/helpers/Breakpoint';\nimport parseNumberInString from '@utility/format/parseNumberInString';\nimport resolveConfig from 'tailwindcss/resolveConfig';\nimport tailwindConfig from '../../../tailwind.config';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst fullConfig = resolveConfig(tailwindConfig as any);\n\nconst { sm, md, lg, xl, xxl } = fullConfig.theme.screens;\n\nconst breakpoints = {\n sm: parseNumberInString(sm),\n md: parseNumberInString(md),\n lg: parseNumberInString(lg),\n xl: parseNumberInString(xl),\n xxl: parseNumberInString(xxl),\n};\n\nexport default breakpoints;\n\nconst breakpointArray: Breakpoint[] = Object.values(BreakpointEnum);\n\nexport const breakpointsBelow = (breakpoint: Breakpoint) => {\n const upperIndex = breakpointArray.indexOf(breakpoint);\n return breakpointArray.slice(0, upperIndex);\n};\n\nexport const breakpointsAbove = (breakpoint: Breakpoint) => {\n const lowerIndex = breakpointArray.indexOf(breakpoint) + 1;\n return breakpointArray.slice(lowerIndex);\n};\n","enum BreakpointEnum {\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n XLarge = 'xl',\n Max = 'xxl',\n}\n\nexport default BreakpointEnum;\n"],"names":["falsyToString","value","cx","cva","base","config","props","_config_compoundVariants","variants","class","className","defaultVariants","getVariantClassNames","Object","keys","map","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","entries","reduce","acc","param","key","undefined","getCompoundVariantClassNames","compoundVariants","cvClass","cvClassName","compoundVariantOptions","every","Array","isArray","includes","yellow","grey30","grey80","white","destructive","link","modifier","fill","outline","icon","true","false","Button","forwardRef","_ref","ref","as","buttonClasses","dataTestId","disabled","iconClasses","iconName","iconSize","label","site","siteStyles","SiteEnum","B2B","Deco","style","iconOnly","classes","twMerge","Content","React","createElement","classNames","Icon","name","size","anchorProps","href","_extends","displayName","useDevicePixelRatio","devicePixelRatio","setDevicePixelRatio","useState","updateDevicePixelRatio","window","useEffect","addEventListener","removeEventListener","isValidBase64ImageSource","imageSrc","test","aspectRatio","children","containerRef","image","imageClasses","lazyLoad","quality","sizes","height","width","onLoad","breakpoint","useBreakpoint","BreakpointEnum","XLarge","imgRef","useRef","url","altText","originalHeight","originalWidth","imageFocalPoint","srcSet","source","fileExtension","substring","lastIndexOf","hasParams","containerWidth","current","clientWidth","breakpointWidths","calculatedAspectRatio","useMemo","generateUrlWithExtensions","useCallback","qParam","fpParam","replace","h","bpWidth","i","length","join","complete","src","alt","draggable","Fragment","type","loading","fetchPriority","breakpoints","imagePosition","header","text","ctaButton","ctaStyle","PositioningEnum","Left","Image","Text","VariantTypeEnum","Cta","target","SharedHighlightModule","r","e","t","f","n","o","clsx","arguments","variantClasses","headline","body","defaultTags","combinedClassName","Tag","screens","sm","md","lg","xl","xxl","module","exports","darkMode","prefix","content","theme","listStyleType","none","disc","decimal","square","container","center","padding","DEFAULT","fontFamily","sans","serif","mono","fontSize","xs","lineHeight","fontWeight","light","normal","semibold","colors","blue","hover","active","red","green","grey","black","transparent","background","amber","amberDark","beige","beigeDark","brownGray","brownGrey","coral","coralDark","darkGrey","gBSGreen","gBSHarpGreen","gBSLightGreen","gBSPalmGreen","gBSSummerGreen","graphite","jotunBlue","jotunYellow","lightBlue","lightGreen","lightgrey","lightGrey","oceanDark","olive","oliveDark","pearl","sand","sandDark","slate","slateDark","extend","stroke","transitionTimingFunction","borderRadius","borderWidth","spacing","xxs","buttonY","zIndex","max","plugins","getCurrentBreakpoint","innerWidth","device","Small","Medium","Large","Max","screen","setScreen","resizeHandler","linkIcon","enableDarkMode","pixelValue","match","parseInt","fullConfig","resolveConfig","tailwindConfig","parseNumberInString","breakpointArray","values","breakpointsBelow","upperIndex","indexOf","slice"],"sourceRoot":""}