{"version":3,"file":"1931-82efa4d74113849443b8.js","mappings":"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","sources":["webpack://react-app/./components/Shared/src/components/atoms/Button/Button.tsx","webpack://react-app/./components/Shared/src/components/atoms/Cta/Cta.tsx","webpack://react-app/./components/Shared/src/components/atoms/Text/Text.tsx","webpack://react-app/./components/Shared/src/components/molecules/PageTitle/PageTitle.tsx","webpack://react-app/./components/Shared/src/models/IPageTitle.ts","webpack://react-app/./components/Shared/src/models/enums/SiteEnum.ts","webpack://react-app/./components/Shared/src/models/enums/ThemeEnum.ts","webpack://react-app/./components/Shared/src/models/enums/VariantTypeEnum.ts","webpack://react-app/./components/Shared/src/utility/config/animations.ts","webpack://react-app/./node_modules/.pnpm/clsx@2.0.0/node_modules/clsx/dist/clsx.mjs","webpack://react-app/./node_modules/.pnpm/class-variance-authority@0.7.0/node_modules/class-variance-authority/dist/index.mjs","webpack://react-app/./node_modules/.pnpm/motion@12.4.3_react-dom@19.0.0_react@19.0.0/node_modules/motion/dist/es/framer-motion/dist/es/render/dom/viewport/index.mjs","webpack://react-app/./node_modules/.pnpm/motion@12.4.3_react-dom@19.0.0_react@19.0.0/node_modules/motion/dist/es/framer-motion/dist/es/utils/use-in-view.mjs"],"sourcesContent":["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 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","import classNames from 'classnames';\n\nexport type TextVariant = keyof typeof variantClasses;\n\ninterface ExplicitProps {\n variant: TextVariant;\n className?: string;\n children?: string | string[] | TrustedHTML;\n}\n\n// This allows Text Component props to match the props of the element defined by 'as'\ntype PropsWithAs =\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","import Button from '@atoms/Button/Button';\nimport Cta from '@atoms/Cta/Cta';\nimport Text from '@atoms/Text/Text';\nimport { IPageTitle, PageTitleSize } from '@models/IPageTitle';\nimport ThemeEnum from '@models/enums/ThemeEnum';\nimport VariantTypeEnum from '@models/enums/VariantTypeEnum';\nimport { fadeInUp } from '@utility/config/animations';\nimport classNames from 'classnames';\nimport { motion, useInView } from 'motion/react';\nimport { useRef } from 'react';\n\nconst PageTitle = ({\n site,\n backgroundColour,\n content,\n ctaStyle = VariantTypeEnum.Primary,\n isMainHeading = true,\n largeBodyText = false,\n links,\n theme,\n title,\n trumpetText,\n containerProps,\n hasPadding = true,\n shouldAnimate,\n reducedPadding = false,\n variant = PageTitleSize.Large,\n}: IPageTitle) => {\n const sectionRef = useRef(null);\n const textRef = useRef(null);\n const inView = useInView(textRef, { amount: 0.5, once: true });\n\n const containerVariants = {\n hidden: { opacity: 0 },\n visible: {\n opacity: 1,\n transition: {\n staggerChildren: 0.05,\n duration: 0.5,\n ease: 'easeInOut',\n },\n },\n };\n\n return (\n \n
\n \n \n {trumpetText && (\n \n {trumpetText}\n \n )}\n \n {title}\n \n \n {content && (\n \n \n \n )}\n {!!links?.length && (\n \n {links.map(({ url, text, target }) =>\n ctaStyle === VariantTypeEnum.Primary ? (\n \n ) : (\n \n )\n )}\n \n )}\n \n
\n \n );\n};\n\nexport default PageTitle;\n","import { ComponentProps } from 'react';\nimport { ILink } from './ILink';\nimport SiteEnum from './enums/SiteEnum';\nimport ThemeEnum from './enums/ThemeEnum';\nimport VariantTypeEnum from './enums/VariantTypeEnum';\n\nexport interface IPageTitle {\n readonly site: SiteEnum;\n readonly backgroundColour?: string;\n readonly content?: string;\n readonly ctaStyle?: Omit;\n readonly isMainHeading: boolean;\n readonly largeBodyText?: boolean;\n readonly links?: ILink[];\n readonly theme?: ThemeEnum;\n readonly title: string;\n readonly trumpetText?: string;\n readonly containerProps?: ComponentProps<'section'>;\n readonly hasPadding?: boolean;\n readonly shouldAnimate?: boolean;\n readonly reducedPadding?: boolean;\n readonly variant?: PageTitleSize;\n}\n\nexport const enum PageTitleSize {\n Small = 'small',\n Large = 'large',\n}\n","const enum SiteEnum {\n B2B = 'b2b',\n Deco = 'deco',\n}\n\nexport default SiteEnum;\n","const enum ThemeEnum {\n Light = 'light',\n Dark = 'dark',\n}\n\nexport default ThemeEnum;\n","const enum VariantTypeEnum {\n Primary = 'primary',\n Secondary = 'secondary',\n Cta = 'cta',\n}\n\nexport default VariantTypeEnum;\n","export const slideTransition = {\n duration: 0.8,\n ease: [0.74, 0, 0.19, 1.02],\n};\n\nexport const fadeTransition = {\n delay: 0.15,\n duration: 0.3,\n ease: 'easeIn',\n};\n\nexport const fadeInUp = {\n hidden: {\n opacity: 0,\n y: 50,\n transition: {\n duration: 1,\n ease: [0.22, 1, 0.36, 1],\n },\n },\n visible: {\n opacity: 1,\n y: 0,\n transition: {\n duration: 1,\n ease: [0.22, 1, 0.36, 1],\n type: 'spring',\n stiffness: 50,\n damping: 14,\n },\n },\n};\n\nexport const fadeInUpSlow = {\n hidden: {\n opacity: 0,\n y: 50,\n transition: {\n duration: 1,\n ease: [0.4, 0, 0.2, 1],\n },\n },\n visible: {\n opacity: 1,\n y: 0,\n transition: {\n duration: 1,\n ease: [0.4, 0, 0.2, 1],\n type: 'spring',\n stiffness: 50,\n damping: 14,\n },\n },\n};\n\nexport const fadeIn = {\n hidden: {\n opacity: 0,\n transition: {\n duration: 0.5,\n ease: 'easeInOut',\n },\n },\n visible: {\n opacity: 1,\n transition: {\n duration: 0.5,\n ease: 'easeInOut',\n },\n },\n};\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))for(t=0;ttypeof value === \"boolean\" ? \"\".concat(value) : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>{\n return (props)=>{\n var ref;\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 : (ref = config.compoundVariants) === null || ref === void 0 ? void 0 : ref.reduce((acc, param1)=>{\n let { class: cvClass , className: cvClassName , ...compoundVariantOptions } = param1;\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\n\n//# sourceMappingURL=index.mjs.map","import '../../../../../../motion-utils/dist/es/errors.mjs';\nimport { resolveElements } from '../../../../../../motion-dom/dist/es/utils/resolve-elements.mjs';\n\nconst thresholds = {\n some: 0,\n all: 1,\n};\nfunction inView(elementOrSelector, onStart, { root, margin: rootMargin, amount = \"some\" } = {}) {\n const elements = resolveElements(elementOrSelector);\n const activeIntersections = new WeakMap();\n const onIntersectionChange = (entries) => {\n entries.forEach((entry) => {\n const onEnd = activeIntersections.get(entry.target);\n /**\n * If there's no change to the intersection, we don't need to\n * do anything here.\n */\n if (entry.isIntersecting === Boolean(onEnd))\n return;\n if (entry.isIntersecting) {\n const newOnEnd = onStart(entry.target, entry);\n if (typeof newOnEnd === \"function\") {\n activeIntersections.set(entry.target, newOnEnd);\n }\n else {\n observer.unobserve(entry.target);\n }\n }\n else if (typeof onEnd === \"function\") {\n onEnd(entry);\n activeIntersections.delete(entry.target);\n }\n });\n };\n const observer = new IntersectionObserver(onIntersectionChange, {\n root,\n rootMargin,\n threshold: typeof amount === \"number\" ? amount : thresholds[amount],\n });\n elements.forEach((element) => observer.observe(element));\n return () => observer.disconnect();\n}\n\nexport { inView };\n","import { useState, useEffect } from 'react';\nimport { inView } from '../render/dom/viewport/index.mjs';\n\nfunction useInView(ref, { root, margin, amount, once = false, initial = false, } = {}) {\n const [isInView, setInView] = useState(initial);\n useEffect(() => {\n if (!ref.current || (once && isInView))\n return;\n const onEnter = () => {\n setInView(true);\n return once ? undefined : () => setInView(false);\n };\n const options = {\n root: (root && root.current) || undefined,\n margin,\n amount,\n };\n return inView(ref.current, onEnter, options);\n }, [root, ref, margin, once, amount]);\n return isInView;\n}\n\nexport { useInView };\n"],"names":["variants","cva","variant","yellow","grey30","grey80","white","destructive","link","modifier","fill","outline","icon","true","false","compoundVariants","className","defaultVariants","Button","forwardRef","_ref","ref","as","buttonClasses","dataTestId","disabled","iconClasses","iconName","iconSize","label","site","props","siteStyles","SiteEnum","B2B","Deco","style","undefined","iconOnly","classes","twMerge","Content","React","createElement","classNames","Icon","name","size","anchorProps","href","_extends","displayName","grey","linkIcon","target","text","url","enableDarkMode","variantClasses","headline","body","defaultTags","children","combinedClassName","Tag","backgroundColour","content","ctaStyle","VariantTypeEnum","Primary","isMainHeading","largeBodyText","links","theme","title","trumpetText","containerProps","hasPadding","shouldAnimate","reducedPadding","PageTitleSize","Large","sectionRef","useRef","textRef","inView","useInView","amount","once","ThemeEnum","Dark","backgroundColor","motion","div","initial","animate","hidden","opacity","visible","transition","staggerChildren","duration","ease","fadeInUp","Text","dangerouslySetInnerHTML","__html","length","map","_ref2","key","Cta","slideTransition","fadeTransition","delay","y","type","stiffness","damping","r","e","t","f","n","Array","isArray","clsx","arguments","falsyToString","value","concat","cx","base","config","class","getVariantClassNames","Object","keys","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","entries","reduce","acc","param","getCompoundVariantClassNames","param1","cvClass","cvClassName","compoundVariantOptions","every","includes","thresholds","some","all","root","margin","isInView","setInView","useState","useEffect","current","options","elementOrSelector","onStart","rootMargin","elements","activeIntersections","WeakMap","observer","IntersectionObserver","forEach","entry","onEnd","get","isIntersecting","Boolean","newOnEnd","set","unobserve","delete","threshold","element","observe","disconnect"],"sourceRoot":""}