{"version":3,"file":"ArticleStamp-Chunk-f29838797f30a3d0630d.js","mappings":"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","sources":["webpack://react-app/./components/Shared/src/components/atoms/Modal/Modal.tsx","webpack://react-app/./components/Shared/src/components/atoms/Button/Button.tsx","webpack://react-app/./node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","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/utility/hooks/useModal.ts","webpack://react-app/./components/Shared/src/utility/config/animations.ts","webpack://react-app/./components/Shared/src/components/atoms/Text/Text.tsx","webpack://react-app/./components/Shared/src/components/molecules/SocialLinks/SocialLinks.tsx","webpack://react-app/./components/Shared/src/components/atoms/Modal/Portal.tsx","webpack://react-app/./components/Shared/src/models/enums/SiteEnum.ts","webpack://react-app/./components/Shared/src/components/molecules/ShareButton/ShareButton.tsx","webpack://react-app/./components/Shared/src/components/organisms/ArticleStamp/ArticleStamp.tsx","webpack://react-app/./components/organisms/ArticleStamp/ArticleStampWrapper.tsx"],"sourcesContent":["import { fadeTransition } from '@utility/config/animations';\nimport useModal from '@utility/hooks/useModal';\nimport { motion } from 'motion/react';\nimport { PropsWithChildren, useRef } from 'react';\nimport Portal from './Portal';\n\nexport interface IModal {\n readonly isOpen: boolean;\n readonly setIsOpen: (state: boolean) => void;\n}\n\nconst Modal = ({ children, isOpen, setIsOpen }: PropsWithChildren) => {\n const targetRef = useRef(null);\n const contentRef = useRef(null);\n\n useModal(isOpen, setIsOpen, targetRef);\n\n const stopPropagation = (event: React.MouseEvent) =>\n event.target === contentRef.current\n ? setIsOpen(false)\n : event.stopPropagation();\n\n return isOpen ? (\n \n setIsOpen(false)}\n ref={targetRef}\n tabIndex={0}\n className=\"tw-fixed tw-inset-0 tw-z-max tw-overflow-auto tw-bg-black/80 tw-outline-none\"\n >\n \n {children}\n \n \n \n ) : null;\n};\n\nexport default Modal;\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 dark:tw-text-white',\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 hover:tw-border-grey-10 active:tw-border-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","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;ttypeof 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 { RefObject, useEffect } from 'react';\nimport { usePreventScroll } from 'react-aria';\n\n// A useful hook to lock the scroll position of the rest of a page when a modal is open and provide a focus trap\nconst useModal = (\n isOpen: boolean,\n setIsOpen: (isOpen: boolean) => void,\n targetRef: RefObject\n) => {\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n if (typeof window === 'undefined' || !targetRef.current) {\n return;\n }\n\n // Retain which element activated the modal\n const activeElement = (document.activeElement ||\n document.body) as HTMLElement;\n const modalElement = targetRef.current;\n\n if (isOpen && modalElement) {\n const focusableElements = modalElement.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n );\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[\n focusableElements.length - 1\n ] as HTMLElement;\n\n const handleTabKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement?.focus();\n } else if (\n !event.shiftKey &&\n document.activeElement === lastElement\n ) {\n event.preventDefault();\n firstElement?.focus();\n }\n }\n };\n\n const handleEscapeKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n // Set focus back to the element which activated the modal\n activeElement?.focus();\n }\n };\n\n modalElement.addEventListener('keydown', handleTabKeyPress);\n modalElement.addEventListener('keydown', handleEscapeKeyPress);\n\n modalElement.focus();\n\n return () => {\n modalElement.removeEventListener('keydown', handleTabKeyPress);\n modalElement.removeEventListener('keydown', handleEscapeKeyPress);\n };\n }\n }, [isOpen, setIsOpen, targetRef]);\n};\n\nexport default useModal;\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","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-large':\n 'tw-font-serif tw-text-4xl md:tw-text-7xl xl:tw-text-9xl',\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-large': 'h1',\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 { ISocialLinks } from '@models/ISocialLinks';\n\nconst SocialLinks = ({\n links,\n copyToClipboardLabel,\n onCopyToClipboard,\n}: ISocialLinks) => (\n
\n {links.map(({ target, linkIcon, url, text }) => (\n \n ))}\n {copyToClipboardLabel && onCopyToClipboard && (\n {\n window.navigator.clipboard.writeText(window.location.href);\n onCopyToClipboard();\n }}\n aria-label={copyToClipboardLabel}\n modifier=\"outline\"\n variant=\"grey30\"\n iconName=\"link\"\n iconSize=\"1.5rem\"\n buttonClasses=\"!tw-p-0 tw-h-xl tw-w-xl\"\n iconClasses=\"tw-text-2xl\"\n />\n )}\n
\n);\n\nexport default SocialLinks;\n","import { PropsWithChildren, useEffect, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface Props {\n readonly mountId: string;\n}\n\nconst Portal = ({ mountId, children }: PropsWithChildren) => {\n const containerElement = useMemo(() => document.createElement('div'), []);\n\n useEffect(() => {\n document.getElementById(mountId)?.appendChild(containerElement);\n\n return () => {\n document.getElementById(mountId)?.removeChild(containerElement);\n };\n }, [mountId, containerElement]);\n\n return createPortal(children, containerElement);\n};\n\nexport default Portal;\n","const enum SiteEnum {\n B2B = 'b2b',\n Deco = 'deco',\n}\n\nexport default SiteEnum;\n","import Button from '@atoms/Button/Button';\nimport Icon from '@atoms/Icon/Icon';\nimport Modal from '@atoms/Modal/Modal';\nimport Text from '@atoms/Text/Text';\nimport { IShareButton } from '@models/IShareButton';\nimport SocialLinks from '@molecules/SocialLinks/SocialLinks';\nimport { useState } from 'react';\n\nconst ShareButton = ({\n shareTitle,\n links,\n closeLabel,\n copyToClipboardLabel,\n copiedToClipboardLabel,\n allowCopyUrl,\n ariaShareLabel,\n}: IShareButton) => {\n const [isOpen, setIsOpen] = useState(false);\n const [isCopiedToClipboard, setIsCopiedToClipboard] = useState(false);\n return (\n
\n setIsOpen(true)}\n aria-label={ariaShareLabel}\n modifier=\"outline\"\n variant=\"grey30\"\n iconName=\"share\"\n iconSize=\"1rem\"\n buttonClasses=\"!tw-p-0 tw-h-md tw-w-md\"\n iconClasses=\"tw-text-2xl\"\n />\n \n
\n {isCopiedToClipboard ? (\n
\n \n {copiedToClipboardLabel}\n
\n ) : (\n
\n {shareTitle}\n setIsOpen(false)}\n className=\"tw-flex\"\n >\n \n \n
\n )}\n {!isCopiedToClipboard && (\n {\n setIsCopiedToClipboard(true);\n setTimeout(() => {\n setIsOpen(false);\n setIsCopiedToClipboard(false);\n }, 3000);\n }}\n />\n )}\n
\n
\n
\n );\n};\n\nexport default ShareButton;\n","import Text from '@atoms/Text/Text';\nimport { IShareButton } from '@models/IShareButton';\nimport ShareButton from '@molecules/ShareButton/ShareButton';\n\nexport interface IArticleStamp {\n readonly date: string;\n readonly timeStamp: string;\n readonly showPublishedDate: boolean;\n readonly shareButton: IShareButton;\n}\n\nconst ArticleStamp = ({\n date,\n timeStamp,\n shareButton,\n showPublishedDate,\n}: IArticleStamp) => (\n
\n
\n {showPublishedDate && date && (\n \n {date}\n \n )}\n {timeStamp && showPublishedDate && date && (\n \n )}\n {timeStamp}\n
\n
\n \n
\n
\n);\n\nexport default ArticleStamp;\n","import SharedArticleStamp, {\n IArticleStamp,\n} from '@organisms/ArticleStamp/ArticleStamp';\n\nconst ArticleStamp = (props: IArticleStamp) => (\n \n);\n\nexport default ArticleStamp;\n"],"names":["_ref","children","isOpen","setIsOpen","targetRef","useRef","contentRef","useModal","React","createElement","Portal","key","mountId","motion","div","id","role","initial","opacity","animate","transition","fadeTransition","exit","height","onClick","ref","tabIndex","className","event","target","current","stopPropagation","variants","cva","variant","yellow","grey30","grey80","white","destructive","link","modifier","fill","outline","icon","true","false","compoundVariants","defaultVariants","Button","forwardRef","as","buttonClasses","dataTestId","disabled","iconClasses","iconName","iconSize","label","site","props","siteStyles","SiteEnum","B2B","Deco","style","undefined","iconOnly","classes","twMerge","Content","classNames","Icon","name","size","anchorProps","href","_extends","displayName","r","e","t","f","n","Array","isArray","o","length","clsx","arguments","falsyToString","value","cx","base","config","_config_compoundVariants","class","getVariantClassNames","Object","keys","map","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","entries","reduce","acc","param","getCompoundVariantClassNames","cvClass","cvClassName","compoundVariantOptions","every","includes","usePreventScroll","isDisabled","useEffect","window","activeElement","document","body","modalElement","focusableElements","querySelectorAll","firstElement","lastElement","handleTabKeyPress","shiftKey","preventDefault","focus","handleEscapeKeyPress","addEventListener","removeEventListener","slideTransition","duration","ease","delay","fadeInUp","hidden","y","visible","type","stiffness","damping","fadeInUpSlow","fadeIn","variantClasses","headline","defaultTags","combinedClassName","Tag","links","copyToClipboardLabel","onCopyToClipboard","_ref2","linkIcon","url","text","navigator","clipboard","writeText","location","containerElement","useMemo","getElementById","appendChild","removeChild","createPortal","shareTitle","closeLabel","copiedToClipboardLabel","allowCopyUrl","ariaShareLabel","useState","isCopiedToClipboard","setIsCopiedToClipboard","Modal","Text","SocialLinks","setTimeout","date","timeStamp","shareButton","showPublishedDate","ShareButton","SharedArticleStamp"],"sourceRoot":""}