{"version":3,"file":"app.190.65e58de49af2aca405d1.js","mappings":"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","sources":["webpack://iabbb-monorepo/./packages/shared/components/General/Hero/Overlay.tsx","webpack://iabbb-monorepo/./packages/shared/components/General/Hero/Hero.tsx","webpack://iabbb-monorepo/./packages/shared/components/Graphics/Picture/index.tsx","webpack://iabbb-monorepo/./packages/shared/components/General/Hero/BackgroundImage/styles.ts","webpack://iabbb-monorepo/./packages/shared/components/General/Hero/BackgroundImage/BackgroundImage.tsx","webpack://iabbb-monorepo/./packages/shared/components/General/Hero/styles.ts","webpack://iabbb-monorepo/./packages/utils/cloudinary/buildCloudinaryPictureSources.ts"],"sourcesContent":["/*\r\n * A large image with an optional text overlay.\r\n * Supports a single static background image or a rotation of multiple images.\r\n */\r\n\r\nimport React from 'react';\r\nimport {\r\n OverlayWrapper,\r\n StyledTitleText,\r\n StyledSubtitleText,\r\n StyledBodyText,\r\n} from '@iabbb/shared/components/General/Hero/styles';\r\nimport hideAt from '@iabbb/shared/styles/hideAt';\r\n\r\nexport interface OverlayProps {\r\n bodyText?: React.ReactNode;\r\n needsMinHeight?: boolean;\r\n subtitleText?: React.ReactNode;\r\n titleText?: React.ReactNode;\r\n}\r\n\r\nfunction Overlay({ bodyText, subtitleText, titleText, needsMinHeight = false }: OverlayProps) {\r\n return (\r\n \r\n {subtitleText && {subtitleText}}\r\n {titleText && {titleText}}\r\n {bodyText && {bodyText}}\r\n \r\n );\r\n}\r\n\r\n// #region Composable Overlay\r\n/*\r\n ** I'd recommend replacing all instances of Overlay with this.\r\n ** This will allow for more granular HTML element control.\r\n ** I'll still support the old API by funneling it through these new composable components.\r\n */\r\n\r\nexport function OverlayContainer({\r\n needsMinHeight = false,\r\n ...props\r\n}: OverlayProps & React.ComponentPropsWithoutRef<'div'>) {\r\n return ;\r\n}\r\n\r\nexport function OverlaySubtitle(props: React.ComponentPropsWithRef<'span'> & { as?: React.ElementType }) {\r\n return ;\r\n}\r\n\r\nexport function OverlayTitle(props) {\r\n return ;\r\n}\r\n\r\nexport function OverlayBody(props: React.ComponentPropsWithRef<'p'> & { as?: React.ElementType }) {\r\n return ;\r\n}\r\n// #endregion\r\n\r\nexport default React.memo(Overlay);\r\n","import { Wrapper, Content } from '@iabbb/shared/components/General/Hero/styles';\r\nimport Overlay from '@iabbb/shared/components/General/Hero/Overlay';\r\nimport { ImageMimeType } from '@iabbb/shared/types/image-mime-type.enum';\r\nimport clsx from 'clsx';\r\n\r\nexport interface HeroProps extends React.ComponentPropsWithoutRef<'div'> {\r\n bgPosition?: string;\r\n className?: string;\r\n height?: string;\r\n img: {\r\n src: string;\r\n alt?: string;\r\n };\r\n sources: {\r\n srcSet: string;\r\n type?: ImageMimeType | string;\r\n media?: string;\r\n }[];\r\n children?: React.ReactNode;\r\n\r\n /* @deprecated - use Overlay composable components instead */\r\n OverlayProps?: { bodyText?: string; titleText?: string; subtitleText?: string };\r\n\r\n /* @deprecated - use Overlay composable components instead */\r\n overlayBody?: React.ReactNode;\r\n\r\n /* @deprecated - use Overlay composable components instead */\r\n overlaySubtitle?: React.ReactNode;\r\n\r\n /* @deprecated - use Overlay composable components instead */\r\n overlayTitle?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * A large image with an optional text overlay.\r\n * Supports a single static background image.\r\n */\r\nfunction Hero({\r\n img,\r\n sources,\r\n children,\r\n height = 'auto',\r\n overlayBody,\r\n overlayTitle,\r\n overlaySubtitle,\r\n className = '',\r\n OverlayProps,\r\n bgPosition,\r\n ...props\r\n}: HeroProps) {\r\n // this is in here to handle deprecated fields, probably a cleaner way and if so...implement it\r\n const overlayProps = {\r\n ...OverlayProps,\r\n bodyText: OverlayProps?.bodyText ?? overlayBody,\r\n subtitleText: OverlayProps?.subtitleText ?? overlaySubtitle,\r\n titleText: OverlayProps?.titleText ?? overlayTitle,\r\n };\r\n\r\n const overlay = (overlayProps.bodyText || overlayProps.subtitleText || overlayProps.titleText) && (\r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n {overlay}\r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\nHero.displayName = 'Hero';\r\n\r\n// can't memoize bc there's children...\r\nexport default Hero;\r\n","import type { ImageMimeType } from '@iabbb/shared/types/image-mime-type.enum';\r\nimport { useState } from 'react';\r\n\r\nexport type Props = {\r\n img: React.ComponentPropsWithoutRef<'img'>;\r\n imgFallback?: React.ComponentPropsWithoutRef<'img'>;\r\n sources?: {\r\n srcSet: string;\r\n type: ImageMimeType;\r\n }[];\r\n ImgComponent?: React.FC;\r\n};\r\n\r\n/**\r\n * For multiple examples: https://stackblitz.com/edit/react-picture-fallback\r\n */\r\n\r\nexport function Picture({\r\n img,\r\n sources,\r\n imgFallback,\r\n ImgComponent = (p: any) => ,\r\n ...props\r\n}: Props & React.ComponentPropsWithoutRef<'picture'>) {\r\n const [_sources, setSources] = useState(() => sources ?? []);\r\n const [_img, setImg] = useState(() => (img.alt !== undefined ? img : { ...img, alt: '' }));\r\n const onError = () => {\r\n if (_sources.length > 0) {\r\n _sources.shift();\r\n setSources([..._sources]);\r\n } else if (imgFallback && _img.src !== imgFallback.src) {\r\n setImg(imgFallback);\r\n }\r\n };\r\n\r\n const imgProps = {\r\n ..._img,\r\n onError,\r\n };\r\n\r\n return (\r\n \r\n {_sources.map((x) => {\r\n return ;\r\n })}\r\n \r\n \r\n );\r\n}\r\n","import styled from '@emotion/styled';\r\nimport { Picture } from '@iabbb/shared/components/Graphics/Picture';\r\n\r\ntype BackgroundImageProps = {\r\n $position?: string;\r\n};\r\n\r\nexport const Container = styled.div`\r\n background: var(--bds-color-gray-30) center / cover;\r\n position: relative;\r\n\r\n @supports (object-fit: cover) {\r\n background-image: none !important;\r\n }\r\n`;\r\n\r\nexport const Background = styled(Picture, {\r\n shouldForwardProp: (prop) => prop !== '$position',\r\n})`\r\n display: none;\r\n\r\n @supports (object-fit: cover) {\r\n display: block;\r\n }\r\n\r\n img {\r\n ${(props) =>\r\n props.$position &&\r\n `\r\n object-position: ${props.$position};\r\n `}\r\n\r\n height: 100%;\r\n left: 0;\r\n object-fit: cover;\r\n position: absolute;\r\n top: 0;\r\n user-select: none;\r\n width: 100%;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div`\r\n background: transparent !important;\r\n position: relative;\r\n`;\r\n","import { Container, Content, Background } from './styles';\r\nimport { ImageMimeType } from '@iabbb/shared/types/image-mime-type.enum';\r\n\r\ninterface BackgroundImageProps {\r\n bgPosition?: string;\r\n img: {\r\n src: string;\r\n alt?: string;\r\n };\r\n sources: { srcSet: string; type: ImageMimeType }[];\r\n children?: React.ReactNode;\r\n}\r\n\r\nconst BackgroundImage = ({ bgPosition, children, img, sources, ...props }: BackgroundImageProps) => {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nBackgroundImage.displayName = 'BackgroundImage';\r\n\r\nexport default BackgroundImage;\r\n","import styled from '@emotion/styled';\r\nimport media from '@iabbb/shared/styles/media';\r\nimport Typography from '@iabbb/bds-react/Typography';\r\n\r\nimport BackgroundImage from './BackgroundImage';\r\n\r\nexport interface BackgroundImageStyledProps {\r\n className?: string;\r\n readonly $height: string;\r\n}\r\n\r\nexport const Wrapper = styled(BackgroundImage as any)`\r\n display: flex;\r\n justify-content: center;\r\n padding: 70px 0;\r\n\r\n ${media.md} {\r\n block-size: ${(props) => props.$height};\r\n padding: 125px 0;\r\n }\r\n`;\r\n\r\nexport interface OverlayStyledProps {\r\n readonly $needsMinHeight: boolean;\r\n}\r\n\r\nexport const OverlayWrapper = styled.div`\r\n background-color: rgba(255, 255, 255, 0.9);\r\n margin: 0 auto;\r\n min-block-size: ${(props) => (props.$needsMinHeight ? '188px' : 0)};\r\n padding: 12px;\r\n\r\n ${media.md} {\r\n margin-inline-start: 0;\r\n padding: 24px;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div`\r\n align-items: center;\r\n display: flex;\r\n flex-direction: column;\r\n inline-size: 80%;\r\n\r\n ${media.md} {\r\n align-items: flex-start;\r\n inline-size: 48.625rem;\r\n }\r\n\r\n ${media.lg} {\r\n inline-size: 62rem;\r\n }\r\n`;\r\n\r\nexport const StyledTitleText = styled(Typography)`\r\n line-height: var(--bds-font-leading-1) !important;\r\n\r\n & + * {\r\n margin-block-start: 0.75rem;\r\n }\r\n`;\r\n\r\nexport const StyledSubtitleText = styled.span`\r\n color: var(--bds-color-blue-medium);\r\n font-size: var(--bds-font-size-40);\r\n margin: 0px;\r\n\r\n ${media.md} {\r\n margin-block-end: 0.625rem;\r\n font-size: var(--bds-font-size-70);\r\n }\r\n`;\r\n\r\nexport const StyledBodyText = styled.div``;\r\n","import { isCloudinaryUrl } from './utils';\r\n\r\n/**\r\n * Returns Cloudinary-driven src and srcSet attributes, optimizing images according to user-supported pixel density and provided widths. For examples of usage, check the `README.md` in this folder.\r\n *\r\n * @param url - The image URL to transform\r\n * @param width - an array of objects containing media conditions and image sizes.\r\n * @param additionalTransformations - Additional transformations to pass to every image\r\n * @param includeHighResVersion - Should a high res verison of the image be included?\r\n * Should be true in most cases, but in some cases, we can't guarantee that we receive high res images, and serving high res versions of small images degrades UX.\r\n * @returns The Cloudinary-driven src and srcSet attributes\r\n *\r\n */\r\nexport default function buildCloudinaryPictureSources(\r\n url: string,\r\n widths: { media: string; width?: number; transforms?: string[] }[],\r\n additionalTransformations: string[] | undefined = [],\r\n includeHighResVersion = true,\r\n) {\r\n if (!isCloudinaryUrl(url)) {\r\n return [];\r\n }\r\n\r\n const sources = widths.reduce((acc: { media: string; srcSet: string }[], { media, width, transforms = [] }) => {\r\n const transformations = [...additionalTransformations, ...transforms, ...(width ? [`w_${width}`] : [])];\r\n\r\n acc.push({\r\n media,\r\n srcSet: [\r\n `${url}?tx=${[...transformations].join(',')}`,\r\n ...(includeHighResVersion ? [`${url}?tx=${[...transformations, ['dpr_2.0']].join(',')} 2x`] : []),\r\n ].join(', '),\r\n });\r\n\r\n return acc;\r\n }, []);\r\n\r\n return sources;\r\n}\r\n"],"names":["Overlay","bodyText","subtitleText","titleText","needsMinHeight","_jsxs","OverlayContainer","children","_jsx","OverlaySubtitle","className","hideAt","mdUp","OverlayTitle","OverlayBody","props","OverlayWrapper","$needsMinHeight","StyledSubtitleText","StyledTitleText","variant","StyledBodyText","React","Hero","img","sources","height","overlayBody","overlayTitle","overlaySubtitle","OverlayProps","bgPosition","_OverlayProps$bodyTex","_OverlayProps$subtitl","_OverlayProps$titleTe","overlayProps","overlay","Wrapper","clsx","$height","Content","displayName","Picture","imgFallback","ImgComponent","p","_sources","setSources","useState","_img","setImg","undefined","alt","imgProps","onError","length","shift","src","map","x","_createElement","key","srcSet","Container","_styled","target","name","styles","Background","shouldForwardProp","prop","$position","BackgroundImage","media","md","lg","Typography","buildCloudinaryPictureSources","url","widths","additionalTransformations","includeHighResVersion","isCloudinaryUrl","reduce","acc","width","transforms","transformations","push","join"],"sourceRoot":""}