{"version":3,"file":"static/chunks/8604-ead79ab5e8445619.js","mappings":"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","sources":["webpack://_N_E/../design-system/src/components/blocks/data-visualization-embed/data-visualization-embed.tsx","webpack://_N_E/../design-system/src/components/blocks/data-wrapper-embed/data-wrapper-embed.tsx","webpack://_N_E/../design-system/src/components/blocks/flourish-embed/flourish-embed.tsx","webpack://_N_E/../design-system/src/components/blocks/pull-quote/pull-quote.tsx","webpack://_N_E/../design-system/src/components/primitives/component-header/component-header.tsx","webpack://_N_E/../design-system/src/utils/document.ts","webpack://_N_E/../design-system/src/components/primitives/cta-link/cta-link.tsx","webpack://_N_E/../design-system/src/components/primitives/cta-list/cta-list.tsx","webpack://_N_E/../design-system/src/components/primitives/footnote/footnotes.tsx","webpack://_N_E/../design-system/src/components/primitives/link/link.tsx","webpack://_N_E/../design-system/src/components/primitives/tooltip/tooltip.tsx","webpack://_N_E/../design-system/src/utils/external.ts","webpack://_N_E/./src/contentful/components/blocks/teases/person-tease.props.tsx","webpack://_N_E/./src/contentful/components/primitives/component-header.props.tsx","webpack://_N_E/./src/contentful/components/primitives/cta-link.props.ts","webpack://_N_E/./src/contentful/components/primitives/cta-list.props.ts","webpack://_N_E/./src/contentful/components/primitives/link.props.tsx","webpack://_N_E/./src/contentful/components/utils/enterprise-id.tsx","webpack://_N_E/./src/contentful/components/primitives/media-asset.props.tsx","webpack://_N_E/./src/contentful/components/universal/social-media-links.props.ts","webpack://_N_E/./src/contentful/components/utils/get-entity-name.ts","webpack://_N_E/./src/contentful/components/primitives/tooltip.props.tsx","webpack://_N_E/./src/contentful/components/utils/render-contentful-rich-text.tsx","webpack://_N_E/./src/contentful/lib/create-contentful-props.ts","webpack://_N_E/./src/hooks/use-fetch.ts","webpack://_N_E/./src/lib/constants.ts","webpack://_N_E/../design-system/src/components/blocks/data-visualization-embed/data-visualization-embed.scss?89b2","webpack://_N_E/../design-system/src/components/blocks/data-wrapper-embed/data-wrapper-embed.scss?1751","webpack://_N_E/../design-system/src/components/blocks/pull-quote/pull-quote.scss?8749","webpack://_N_E/../design-system/src/components/primitives/component-header/component-header.scss?77bc","webpack://_N_E/../design-system/src/components/primitives/cta-link/cta-link.scss?ddf4","webpack://_N_E/../design-system/src/components/primitives/cta-list/cta-list.scss?2a86","webpack://_N_E/../design-system/src/components/primitives/footnote/footnotes.scss?29a7","webpack://_N_E/../design-system/src/components/primitives/tooltip/tooltip.scss?0b29","webpack://_N_E/"],"sourcesContent":["import \"./data-visualization-embed.scss\";\n\nimport cn from \"clsx\";\nimport { Alignment } from \"design-system/types/types\";\nimport {\n ComponentHeader,\n ComponentHeaderProps,\n} from \"design-system/components/primitives/component-header/component-header\";\n\nexport interface DataVisualizationEmbedProps {\n header?: ComponentHeaderProps;\n embedSourceUrl?: string;\n embedSourceTitle?: string;\n height?: string;\n align?: Alignment;\n}\n\nexport function DataVisualizationEmbed({\n header,\n embedSourceUrl,\n embedSourceTitle,\n height,\n align = \"center\",\n}: DataVisualizationEmbedProps) {\n const wrapperClass = cn(\n `hbs-global-align-${align}`,\n \"hbs-component--data-visualization-embed\",\n );\n\n return (\n
\n
\n {header && (\n
\n \n
\n )}\n {embedSourceUrl ? (\n \n ) : null}\n
\n
\n );\n}\n","import \"./data-wrapper-embed.scss\";\n\nimport { useEffect } from \"react\";\nimport cn from \"clsx\";\nimport { Alignment } from \"design-system/types/types\";\nimport {\n ComponentHeader,\n ComponentHeaderProps,\n} from \"design-system/components/primitives/component-header/component-header\";\nimport { loadScript } from \"design-system/hooks/use-script\";\nimport { MediaAsset } from \"design-system/components/primitives/media-asset/media-asset\";\n\nexport interface DataWrapperEmbedProps {\n header?: ComponentHeaderProps;\n align?: Alignment;\n height?: string;\n embedId: string;\n embedSourceTitle?: string;\n}\n\nexport function DataWrapperEmbed({\n header,\n align = \"center\",\n height,\n embedId,\n embedSourceTitle,\n}: DataWrapperEmbedProps) {\n const wrapperClass = cn(\n `hbs-global-align-${align}`,\n \"hbs-component--data-wrapper-embed\",\n );\n\n useEffect(() => {\n loadScript(`https://datawrapper.dwcdn.net/${embedId}/embed.js`, {\n dataTarget: `#datawrapper-vis-${embedId}`,\n });\n }, [embedId]);\n\n return (\n
\n
\n {header && (\n
\n \n
\n )}\n \n \n
\n
\n \n );\n}\n","import cn from \"clsx\";\nimport { Alignment } from \"design-system/types/types\";\nimport { useEffect } from \"react\";\nimport { loadScript } from \"design-system/hooks/use-script\";\nimport {\n ComponentHeader,\n ComponentHeaderProps,\n} from \"design-system/components/primitives/component-header/component-header\";\n\nexport interface FlourishEmbedProps {\n headerContent?: ComponentHeaderProps;\n embedSourceUrl: string;\n align?: Alignment;\n}\n\nexport function FlourishEmbed({\n headerContent,\n embedSourceUrl,\n align = \"center\",\n}: FlourishEmbedProps) {\n const wrapperClass = cn(\n `hbs-global-align-${align}`,\n \"hbs-component--flourish-embed\",\n );\n\n let extractedChartId: string | undefined;\n let type: \"story\" | \"visualisation\" = \"visualisation\";\n\n const visualisationMatch = embedSourceUrl.match(/\\/visualisation\\/(\\d+)/);\n if (visualisationMatch) {\n extractedChartId = visualisationMatch[1];\n type = \"visualisation\";\n } else {\n const storyMatch = embedSourceUrl.match(/\\/story\\/(\\d+)/);\n if (storyMatch) {\n extractedChartId = storyMatch[1];\n type = \"story\";\n }\n }\n\n useEffect(() => {\n if (extractedChartId) {\n loadScript(\"https://public.flourish.studio/resources/embed.js\", {\n defer: true,\n });\n } else {\n console.warn(\"Chart ID not found in the URL\");\n }\n }, [extractedChartId]);\n\n return (\n
\n {headerContent && }\n
\n \n \n
\n
\n \n );\n}\n","import \"./pull-quote.scss\";\n\nimport cn from \"clsx\";\n\nimport { ReactNode } from \"react\";\nimport { Alignment, EditAttributes } from \"design-system/types/types\";\nimport { MediaAsset } from \"design-system/components/primitives/media-asset/media-asset\";\nimport { PersonTeaseProps } from \"design-system/components/primitives/person-tease/person-tease\";\nimport { Link } from \"design-system/components/primitives/link/link\";\n\nexport interface PullQuoteProps {\n align?: Alignment;\n quote?: ReactNode;\n attribution?: PersonTeaseProps;\n hideQuoteMarks?: boolean;\n editAttributes?: {\n quote?: EditAttributes;\n attribution?: EditAttributes;\n };\n}\n\nexport function PullQuote({\n align,\n quote,\n attribution,\n hideQuoteMarks,\n editAttributes,\n}: PullQuoteProps) {\n const wrapperClass = cn(\n align && `hbs-global-align-${align}`,\n \"hbs-component--pull-quote\",\n );\n\n const mapTitles = (attribution: PersonTeaseProps) => {\n const { titles } = attribution;\n\n if (Array.isArray(titles) && titles.length) {\n return {titles.join(\", \")};\n }\n };\n\n return (\n
\n
\n
\n \n {quote}\n
\n\n {attribution && (\n \n \n \n {attribution.link ? (\n {attribution.name}\n ) : (\n attribution.name\n )}\n {attribution?.titles?.length && (\n \n {\"; \"}\n {mapTitles(attribution)}\n \n )}\n \n
\n )}\n \n \n \n );\n}\n","import \"./component-header.scss\";\n\nimport { ReactNode } from \"react\";\nimport cn from \"clsx\";\nimport { Alignment, EditAttributes, Position } from \"design-system/types/types\";\nimport { CtaLink } from \"design-system/components/primitives/cta-link/cta-link\";\n\nexport type BorderPosition = Exclude;\n\nexport interface ComponentHeaderProps {\n align?: Alignment;\n description?: ReactNode;\n isSmall?: boolean;\n link?: string;\n linkText?: string;\n ariaLabel?: string;\n title?: string;\n className?: string;\n anchored?: boolean;\n borderPosition?: BorderPosition;\n HeadingLevel?: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n titleId?: string;\n\n editAttributes?: {\n title?: EditAttributes;\n description?: EditAttributes;\n linkText?: EditAttributes;\n };\n}\n\n/**\n * Header for various components\n *\n * ## See it in use on...\n * - The [big style grid list component](/story/content-components-blocks-grid-lists-big-style--with-media-and-header)\n *\n * - **`id: P-009-000-00`**\n */\nexport function ComponentHeader({\n align,\n className,\n description,\n isSmall = true,\n link,\n linkText,\n ariaLabel,\n title,\n anchored,\n borderPosition = \"top\",\n HeadingLevel = \"h2\",\n titleId,\n editAttributes,\n}: ComponentHeaderProps) {\n if (!title) return null;\n\n const ctaLink = link ? (\n \n {linkText}\n \n ) : null;\n\n return (\n \n \n
\n
\n \n {title}\n \n\n {description && (\n \n {description}\n \n )}\n
\n\n {ctaLink &&\n (isSmall ? (\n ctaLink\n ) : (\n
{ctaLink}
\n ))}\n
\n \n \n );\n}\n","const DOC_EXTENSIONS = [\n \".pdf\",\n \".doc\",\n \".docx\",\n \".xls\",\n \".xlsx\",\n \".ppt\",\n \".pptx\",\n];\n\n/**\n * A link is a document if its pathname ends with a document extension.\n */\nexport function isDocumentLink(link: string): boolean {\n if (!link) return false;\n\n let pathname: string;\n\n try {\n const url = new URL(link);\n pathname = url.pathname;\n } catch (e) {\n pathname = link;\n }\n\n return DOC_EXTENSIONS.some((extension) => pathname.endsWith(extension));\n}\n","import \"./cta-link.scss\";\n\nimport { MouseEvent, ReactNode, forwardRef } from \"react\";\nimport cn from \"clsx\";\nimport { Icon, IconName } from \"design-system/components/icons/icon\";\nimport { EditAttributes } from \"design-system/types/types\";\nimport { Link } from \"../link/link\";\nimport { isDocumentLink } from \"design-system/utils/document\";\nimport { isExternalLink } from \"design-system/utils/external\";\nimport { DataLayerEvent, useDataLayer } from \"frontend/hooks/use-data-layer\";\n\nexport type CtaLinkType = \"primary-button\" | \"secondary-button\" | \"link\";\n\nexport interface CtaLinkProps {\n children?: ReactNode;\n href?: string;\n onClick?: (e: MouseEvent) => void;\n dataLayer?: DataLayerEvent;\n type?: CtaLinkType;\n className?: string;\n isSmall?: boolean;\n isNested?: boolean;\n icon?: IconName;\n hideIcon?: boolean;\n \"aria-label\"?: string;\n id?: string;\n \"aria-selected\"?: boolean;\n \"aria-describedby\"?: string;\n tabIndex?: number;\n editAttributes?: EditAttributes;\n}\n\n/**\n * Simple link with icon used in various components\n *\n * - **`id: P-010-000-09`**\n */\nexport const CtaLink = forwardRef<\n HTMLAnchorElement & HTMLButtonElement,\n CtaLinkProps\n>(\n (\n {\n children,\n className,\n href,\n onClick,\n dataLayer,\n type = \"link\",\n isSmall,\n isNested,\n icon,\n hideIcon,\n \"aria-label\": ariaLabel,\n \"aria-selected\": ariaSelected,\n \"aria-describedby\": ariaDescribedBy,\n id,\n tabIndex,\n editAttributes,\n },\n ref,\n ) => {\n let isExternal: boolean | undefined;\n\n if (href) {\n isExternal = isExternalLink(href);\n }\n\n // Initialize icon if not provided\n if (!icon && href) {\n icon = isDocumentLink(href) ? \"download\" : \"arrow\";\n }\n\n const { pushDataLayer } = useDataLayer();\n\n const ctaClassNames = cn(\n \"hbs-cta-link\",\n isSmall && \"hbs-cta-link--small\",\n `hbs-cta-link--${type}`,\n isNested ? \"hbs-cta-link--nested\" : \"\",\n className,\n );\n\n const iconClassNames = cn(\n \"hbs-cta-link__icon\",\n `hbs-cta-link__icon--${icon?.toLowerCase() || \"\"}`,\n isExternal && \"hbs-cta-link__icon--external\",\n );\n\n // Split string into first words & last word to make sure icon doesn't wrap on its own\n let lastWord;\n let firstWords;\n if (typeof children === \"string\") {\n const words = children.trim().split(\" \");\n lastWord = words.pop();\n firstWords = words.join(\" \");\n }\n\n const withoutSplitWords = (\n \n {children}\n {!hideIcon && icon && }\n \n );\n\n const commonProps = {\n className: ctaClassNames,\n ref,\n id,\n \"aria-selected\": ariaSelected,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-label\": ariaLabel,\n tabIndex,\n };\n\n if (onClick) {\n if (dataLayer) {\n window.addEventListener(\"click\", () => {\n pushDataLayer(dataLayer);\n });\n }\n\n return (\n \n );\n }\n\n if (\n typeof children !== \"string\" ||\n type === \"primary-button\" ||\n type === \"secondary-button\"\n ) {\n let handleOnClick = undefined;\n if (dataLayer) {\n handleOnClick = () => {\n if (dataLayer.event_data) {\n // eslint-disable-next-line camelcase\n dataLayer.event_data.program_action = dataLayer.event_data\n .program_action\n ? dataLayer.event_data.program_action\n : \"program cta click\";\n pushDataLayer(dataLayer);\n }\n };\n }\n return (\n \n {withoutSplitWords}\n \n );\n }\n\n const withSplitWords = (\n \n {firstWords}{\" \"}\n \n {lastWord}\n {!hideIcon && icon && }\n \n \n );\n\n if (isNested) {\n return (\n \n {withSplitWords}\n \n );\n }\n\n return (\n \n {withSplitWords}\n \n );\n },\n);\n","import \"./cta-list.scss\";\n\nimport cn from \"clsx\";\nimport {\n CtaLink,\n CtaLinkProps,\n} from \"design-system/components/primitives/cta-link/cta-link\";\n\nexport interface CtaListProps {\n items?: Array;\n className?: string;\n label?: string;\n hideIcon?: boolean;\n HeadingLevel?: \"h2\" | \"p\";\n}\n\n/**\n * ## See it in use on...\n * - The [kitchen sink detail page](/story/example-pages-detail-pages-kitchen-sink--story)\n *\n * - **`id: P-010-000-10`**\n */\nexport function CtaList({\n items,\n className,\n label,\n hideIcon = false,\n HeadingLevel = \"p\",\n}: CtaListProps) {\n if (!items) return null;\n\n return (\n <>\n {label && (\n {label}\n )}\n
    \n {items.map(({ children, className, href, editAttributes }, i) => (\n \n \n {children}\n \n \n ))}\n
\n \n );\n}\n","import \"./footnotes.scss\";\n\nimport { EditAttributes } from \"design-system/types/types\";\nimport { ReactNode } from \"react\";\nimport { Link } from \"../link/link\";\nimport { useTranslations } from \"design-system/hooks/use-translations\";\n\nexport interface FootnoteProps {\n children: ReactNode;\n disclaimer?: boolean;\n editAttributes?: EditAttributes;\n}\n\nexport interface FootnotesProps {\n footnotes: Array;\n}\n\nexport function Footnotes({ footnotes }: FootnotesProps) {\n const { t } = useTranslations();\n if (footnotes.length < 1) return null;\n\n return (\n
\n {footnotes[0] && footnotes[0]?.disclaimer && (\n <>\n {footnotes.map(({ children, editAttributes }, index) => (\n
\n {children}\n
\n ))}\n \n )}\n {footnotes[0] && !footnotes[0]?.disclaimer && (\n
    \n {footnotes.map(({ children, editAttributes }, index) => (\n
  1. \n {children}\n\n \n {t(\"backToText\")}\n {\" ↑\"}\n \n
  2. \n ))}\n
\n )}\n
\n );\n}\n\ninterface FootnoteMarkerProps {\n index: number;\n editAttributes?: EditAttributes;\n}\n\nexport function FootnoteMarker({ index, editAttributes }: FootnoteMarkerProps) {\n return (\n \n \n {index}\n \n \n );\n}\n","import { EditAttributes } from \"design-system/types/types\";\nimport { AnchorHTMLAttributes, forwardRef } from \"react\";\n\nexport interface LinkProps extends AnchorHTMLAttributes {\n editAttributes?: EditAttributes;\n}\n\nexport const Link = forwardRef(\n (\n { href, target, children, className, rel, editAttributes, ...props },\n ref,\n ) => {\n if (!target) target = \"_blank\";\n\n if (href?.startsWith(\"/\") || href?.includes(\".hbs.edu\")) {\n if (href.includes(\"webassets.hbs.edu\")) target = \"_blank\";\n else target = \"_self\";\n }\n\n return (\n // eslint-disable-next-line react/forbid-elements\n \n {children}\n \n );\n },\n);\n","import \"./tooltip.scss\";\n\nimport { ReactNode } from \"react\";\nimport * as HoverCard from \"@radix-ui/react-hover-card\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { Icon } from \"design-system/components/icons/icon\";\n\nexport interface TooltipProps {\n /** Tooltip text */\n text: ReactNode;\n title?: string;\n children?: ReactNode;\n}\n\n/**\n * A simple tooltip component for exposing more information inline. Hoverable on desktop and clickable on mobile.\n */\nexport function Tooltip({ text, title, children }: TooltipProps) {\n return (\n
\n
\n {/* Hoverable on desktop (sighted users only) */}\n \n \n <>\n
{children}
\n\n \n \n More Info tooltip\n \n \n \n \n
\n \n \n
\n {title &&
{title}
}\n

{text}

\n
\n \n
\n
\n
\n\n {/* Clickable for mobile */}\n
\n \n \n <>\n
{children}
\n
\n {text}\n \n
\n \n
\n \n \n \n \n Close\n \n
\n {title &&
{title}
}\n

{text}

\n
\n \n
\n
\n
\n
\n );\n}\n","/**\n * A link is external if host does not contain hbs.edu.\n */\nexport function isExternalLink(href: string): boolean {\n if (!href) {\n return false;\n }\n\n try {\n const url = new URL(href);\n return !url.host.endsWith(\"hbs.edu\");\n } catch (error) {\n return false;\n }\n}\n","import { createContentfulProps } from \"frontend/contentful/lib/create-contentful-props\";\nimport { PersonTeaseProps } from \"design-system/components/primitives/person-tease/person-tease\";\nimport { PersonEntry } from \"frontend/contentful/schema/semantics\";\nimport { createPersonImageProps } from \"frontend/contentful/components/primitives/media-asset.props\";\nimport { RenderContentfulRichText } from \"frontend/contentful/components/utils/render-contentful-rich-text\";\nimport { createSocialMediaLinksProps } from \"frontend/contentful/components/universal/social-media-links.props\";\nimport { getEntityName } from \"frontend/contentful/components/utils/get-entity-name\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\n\nexport const createPersonTeaseProps = createContentfulProps<\n PersonEntry,\n PersonTeaseProps\n>(({ entry, createEditAttributes }) => {\n const { getPersonLink } = useContentful();\n const name = getEntityName(entry);\n const mediaAsset = createPersonImageProps(entry);\n\n const props: PersonTeaseProps = {\n type: \"Person\",\n name: name,\n bio: ,\n social: createSocialMediaLinksProps(entry),\n link: getPersonLink(entry),\n email: entry.fields.email,\n phone: entry.fields.phone,\n titles: Array.isArray(entry.fields.jobTitles) ? entry.fields.jobTitles : [],\n portrait: mediaAsset?.image,\n\n editAttributes: {\n name: createEditAttributes({ entry, fieldId: \"firstName\" }),\n titles: createEditAttributes({ entry, fieldId: \"jobTitles\" }),\n },\n };\n\n return props;\n});\n","import { ComponentHeaderEntry } from \"frontend/contentful/schema/primitives\";\nimport { ComponentHeaderProps } from \"design-system/components/primitives/component-header/component-header\";\nimport { RenderContentfulRichText } from \"frontend/contentful/components/utils/render-contentful-rich-text\";\nimport { createContentfulProps } from \"frontend/contentful/lib/create-contentful-props\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\n\nexport const createComponentHeaderProps = createContentfulProps<\n ComponentHeaderEntry,\n ComponentHeaderProps\n>(({ entry, createEditAttributes }) => {\n const { getEntryUrl, getEntry } = useContentful();\n\n const link = getEntry(entry.fields?.link);\n\n return {\n title: entry.fields?.title,\n link: getEntryUrl(link),\n linkText: link?.fields.text,\n ariaLabel: link?.fields.ariaLabel,\n isSmall: entry.fields?.size === \"small\",\n description: entry.fields?.description ? (\n \n ) : undefined,\n borderPosition: entry.fields?.borderPosition || undefined,\n HeadingLevel: entry.fields?.headingLevel || undefined,\n\n editAttributes: {\n title: createEditAttributes({ entry, fieldId: \"title\" }),\n description: createEditAttributes({ entry, fieldId: \"description\" }),\n linkText: createEditAttributes({\n entry: entry.fields.link,\n fieldId: \"text\",\n }),\n },\n };\n});\n","import { CtaLinkProps } from \"design-system/components/primitives/cta-link/cta-link\";\nimport { createContentfulProps } from \"frontend/contentful/lib/create-contentful-props\";\nimport { isContentType } from \"frontend/contentful/lib/is-content-type\";\nimport {\n LinkEntry,\n SocialMediaLinkEntry,\n} from \"frontend/contentful/schema/primitives\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\n\nexport const createCtaLinkProps = createContentfulProps<\n LinkEntry | SocialMediaLinkEntry,\n CtaLinkProps\n>(({ entry, createEditAttributes }) => {\n const { getEntryUrl } = useContentful();\n\n let href = undefined;\n let children = undefined;\n let ariaLabel = undefined;\n if (isContentType(\"link\", entry)) {\n href = getEntryUrl(entry);\n children = entry.fields.text;\n ariaLabel = entry.fields.ariaLabel;\n } else if (isContentType(\"socialMediaLink\", entry)) {\n href = entry.fields.url;\n children = entry.fields.socialMedia;\n }\n return {\n href: href,\n children: children,\n \"aria-label\": ariaLabel,\n editAttributes: createEditAttributes({ entry, fieldId: \"text\" }),\n };\n});\n","import { CtaListProps } from \"design-system/components/primitives/cta-list/cta-list\";\nimport { createCtaLinkProps } from \"./cta-link.props\";\nimport { EntryRef } from \"frontend/contentful/schema/sys\";\nimport {\n LinkEntry,\n SocialMediaLinkEntry,\n} from \"frontend/contentful/schema/primitives\";\n\nexport function createCtaListProps(\n links?: Array>,\n): CtaListProps | undefined {\n if (!Array.isArray(links)) return undefined;\n\n const props: CtaListProps = { items: [] };\n\n links.forEach((link) => {\n const ctaLinkProps = createCtaLinkProps(link);\n if (ctaLinkProps) props.items?.push(ctaLinkProps);\n });\n\n return props;\n}\n","import { LinkProps } from \"design-system/components/primitives/link/link\";\nimport { createContentfulProps } from \"frontend/contentful/lib/create-contentful-props\";\n\nimport { LinkEntry } from \"frontend/contentful/schema/primitives\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\n\nexport const createLinkProps = createContentfulProps(\n ({ entry, createEditAttributes }) => {\n const { getEntryUrl } = useContentful();\n\n return {\n href: getEntryUrl(entry),\n \"aria-label\": entry.fields.ariaLabel,\n children: entry.fields.text,\n editAttributes: createEditAttributes({ entry, fieldId: \"text\" }),\n };\n },\n);\n","import { PersonEntry } from \"frontend/contentful/schema/semantics\";\n\nexport const getEnterpriseIdHeadshotSrc = (entry: PersonEntry) => {\n const modifiedDate = entry.sys.updatedAt?.split(\"T\")[0];\n return `https://www.hbs.edu/api/headshot/${entry.fields.hbsEnterpriseID}?${modifiedDate}`;\n};\n","import { MediaAssetProps } from \"design-system/components/primitives/media-asset/media-asset\";\nimport { MediaAssetImageProps } from \"design-system/components/primitives/media-asset/media-asset-image\";\nimport { createContentfulProps } from \"../../lib/create-contentful-props\";\nimport { isContentType } from \"frontend/contentful/lib/is-content-type\";\nimport {\n ImageEntry,\n VideoEntry,\n PersonEntry,\n PersonWrapperEntry,\n OrganizationEntry,\n} from \"frontend/contentful/schema/semantics\";\nimport { RenderContentfulRichText } from \"../utils/render-contentful-rich-text\";\nimport { getEnterpriseIdHeadshotSrc } from \"../utils/enterprise-id\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\nimport { getEntityName } from \"frontend/contentful/components/utils/get-entity-name\";\n\ntype MediaEntry = ImageEntry | VideoEntry;\n\nexport const createMediaAssetProps = createContentfulProps<\n MediaEntry,\n MediaAssetProps\n>(({ entry, createEditAttributes }) => {\n const { getAsset, getEntry } = useContentful();\n\n const asset = getAsset(entry.fields.asset);\n\n if (isContentType(\"image\", entry)) {\n if (asset?.fields?.file?.url) {\n const mediaAssetImageProps: MediaAssetImageProps = {\n src: asset?.fields?.file?.url,\n alt:\n entry.fields.altText?.toLowerCase() === \"na\"\n ? undefined\n : entry.fields.altText,\n editAttributes: {\n src: createEditAttributes({ entry, fieldId: \"asset\" }),\n },\n };\n\n if (entry.fields.imageGravity) {\n mediaAssetImageProps.gravity = entry.fields.imageGravity;\n }\n\n if (asset?.fields?.file?.details?.image?.width) {\n mediaAssetImageProps.width =\n asset.fields.file.details.image.width.toString();\n }\n\n if (asset?.fields?.file?.details?.image?.height) {\n mediaAssetImageProps.height =\n asset.fields.file.details.image.height.toString();\n }\n if (\n asset?.fields?.file?.details?.image?.width &&\n asset?.fields?.file?.details?.image?.height\n ) {\n mediaAssetImageProps.intrinsicAspectRatio = `${asset.fields.file.details.image.width}/${asset.fields.file.details.image.height}`;\n }\n return {\n image: mediaAssetImageProps,\n };\n }\n }\n\n if (isContentType(\"video\", entry)) {\n if (entry.fields.externalURL) {\n return {\n embed: {\n title: entry.fields.title || \"\",\n src: entry.fields.externalURL,\n description: asset?.fields?.description,\n width: 16,\n height: 9,\n },\n };\n }\n\n if (entry.fields.kalturaId) {\n return {\n kaltura: {\n entryId: entry.fields.kalturaId,\n threePlayId: entry.fields.threePlayID,\n threePlayProjectId: entry.fields.threePlayProjectID,\n title: entry.fields.title,\n duration: entry.fields.duration,\n description: (\n \n ),\n caption: entry.fields.caption ? (\n \n ) : entry.fields.kalturaCaption ? (\n \n ) : undefined,\n hide: { caption: entry.fields.hideCaption ?? true },\n },\n };\n }\n\n if (asset?.fields?.file?.url && asset.fields.file.contentType) {\n const imageEntry = getEntry(entry.fields.backupImage)?.fields.asset;\n const backupImage = getAsset(imageEntry)?.fields?.file?.url;\n return {\n video: {\n src: asset.fields.file.url,\n backupImage: backupImage,\n mimeType: asset.fields.file.contentType,\n description: asset?.fields?.description,\n caption: entry.fields.caption ? (\n \n ) : undefined,\n hide: { caption: entry.fields.hideCaption ?? true },\n editAttributes: {\n src: createEditAttributes({ entry, fieldId: \"asset\" }),\n },\n },\n };\n }\n }\n});\n\n/**\n * Includes align and caption - for embeded media within Rich Text\n */\nexport const createRichMediaAssetProps = createContentfulProps<\n MediaEntry,\n MediaAssetProps\n>(({ entry }) => {\n const props = createMediaAssetProps(entry);\n\n if (isContentType(\"image\", entry)) {\n if (props?.image) {\n if (entry.fields.caption) {\n props.image.caption = (\n \n );\n }\n\n if (entry.fields.alignment) {\n props.image.align = `align-${entry.fields.alignment}`;\n\n if (\n entry.fields.alignment === \"left\" ||\n entry.fields.alignment === \"right\"\n ) {\n props.image.mobileWidth = 300;\n }\n }\n }\n }\n\n if (isContentType(\"video\", entry)) {\n if (props?.video) {\n props.video.align = \"align-center\";\n } else if (props?.embed) {\n props.embed.align = \"center\";\n }\n }\n\n return props;\n});\n\nexport const createPersonImageProps = createContentfulProps<\n PersonEntry | PersonWrapperEntry | OrganizationEntry,\n MediaAssetProps\n>(({ entry }) => {\n const { getIsPersonPastHbsFaculty, getEntry } = useContentful();\n\n const getPersonEntry = (\n entry: PersonEntry | PersonWrapperEntry | OrganizationEntry,\n ): PersonEntry | undefined => {\n if (isContentType(\"personWrapper\", entry)) {\n const person = getEntry(entry.fields.person);\n if (!person) return undefined;\n return getPersonEntry(person);\n }\n\n if (isContentType(\"organization\", entry)) {\n return undefined;\n }\n\n if (getIsPersonPastHbsFaculty(entry)) {\n return undefined;\n }\n\n return entry;\n };\n\n const personEntry: PersonEntry | undefined = getPersonEntry(entry);\n if (!personEntry) return undefined;\n\n const { image, hbsEnterpriseID } = personEntry.fields;\n\n if (image) {\n return createMediaAssetProps(image);\n }\n\n if (hbsEnterpriseID) {\n const personName = getEntityName(personEntry);\n const mediaAssetImageProps: MediaAssetImageProps = {\n src: getEnterpriseIdHeadshotSrc(personEntry),\n alt: `Headshot of ${personName}`,\n };\n return {\n image: mediaAssetImageProps,\n };\n }\n});\n","import {\n OrganizationEntry,\n PersonEntry,\n} from \"frontend/contentful/schema/semantics\";\nimport { createContentfulProps } from \"../../lib/create-contentful-props\";\nimport { SocialMediaLinksProps } from \"design-system/components/primitives/social-media-links/social-media-links\";\nimport {\n SocialIconName,\n SocialMediaIconProps,\n} from \"design-system/components/primitives/social-media-links/social-media-icon\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\n\nconst stringToCamelCase = (str?: string) => {\n if (!str) return undefined;\n\n return str\n .toLowerCase()\n .replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function (word, index) {\n return index === 0 ? word : word.toUpperCase();\n })\n .replace(/\\s+/g, \"\");\n};\n\nexport const createSocialMediaLinksProps = createContentfulProps<\n OrganizationEntry | PersonEntry,\n SocialMediaLinksProps\n>(({ entry, createEditAttributes }) => {\n const { getEntries } = useContentful();\n\n const props = {\n links: [] as Array,\n } satisfies SocialMediaLinksProps;\n\n if (!entry?.fields) return props;\n\n getEntries(entry.fields.socialMediaLink)?.forEach((item) => {\n props.links.push({\n href: item.fields.url,\n title: \"HBS \" + item.fields.socialMedia,\n icon: stringToCamelCase(item.fields.socialMedia) as SocialIconName,\n ariaLabel: item.fields.ariaLabel,\n editAttributes: createEditAttributes({ entry: item, fieldId: \"url\" }),\n });\n });\n\n return props;\n});\n","import {\n OrganizationEntry,\n PersonEntry,\n} from \"frontend/contentful/schema/semantics\";\n\nexport function getEntityName(\n entity: PersonEntry | OrganizationEntry | undefined,\n): string {\n // Filter undefined\n if (!entity?.fields) return \"\";\n\n // Filter Organization Entry\n if (\"title\" in entity.fields) {\n const organizationEntity = entity as OrganizationEntry;\n return organizationEntity.fields.title ?? \"\";\n }\n\n // Narrow down to PersonEntry\n const personEntity = entity as PersonEntry;\n\n if (personEntity.fields.displayName) {\n return personEntity.fields.displayName;\n }\n\n return [\n personEntity.fields.firstName,\n personEntity.fields.middleName,\n personEntity.fields.lastName,\n personEntity.fields.nameSuffix,\n ]\n .filter((name) => name) // Removes empty strings\n .join(\" \");\n}\n","import { TooltipProps } from \"design-system/components/primitives/tooltip/tooltip\";\nimport { createContentfulProps } from \"frontend/contentful/lib/create-contentful-props\";\nimport { KnowledgeGraphData, KnowledgeGraphItem } from \"frontend/types\";\nimport { useFetch } from \"frontend/hooks/use-fetch\";\n\nimport { TooltipEntry } from \"frontend/contentful/schema/primitives\";\nimport { Link } from \"design-system/components/primitives/link/link\";\n\nexport const createTooltipProps = createContentfulProps<\n TooltipEntry,\n TooltipProps\n>(({ entry, createEditAttributes }) => {\n if (!entry.fields.uri) {\n return;\n }\n\n const { data } = useFetch({\n url: \"/api/fetch/tooltip-graph\",\n params: { uri: entry.fields.uri, type: \"Companies\" },\n });\n\n if (!data) {\n return;\n }\n\n const tooltipContent = (\n
    \n {data.publications.map((item: KnowledgeGraphItem, i: number) => (\n
  • \n \n {item.text}\n \n
  • \n ))}\n
\n );\n\n return {\n title: entry.fields.title,\n children: entry.fields.highlightedText ?? data.search,\n text: tooltipContent,\n editAttributes: {\n title: createEditAttributes({ entry, fieldId: \"title\" }),\n children: createEditAttributes({ entry, fieldId: \"highlightedText\" }),\n },\n };\n});\n","import { Fragment, ReactNode } from \"react\";\nimport {\n BLOCKS,\n INLINES,\n type Document,\n MARKS,\n} from \"@contentful/rich-text-types\";\nimport {\n documentToReactComponents,\n Options,\n} from \"@contentful/rich-text-react-renderer\";\nimport {\n FootnoteEntry,\n LinkEntry,\n SimpleCtaEntry,\n TooltipEntry,\n} from \"frontend/contentful/schema/primitives\";\nimport { isContentType } from \"frontend/contentful/lib/is-content-type\";\nimport { Link } from \"design-system/components/primitives/link/link\";\nimport { ImageEntry, VideoEntry } from \"frontend/contentful/schema/semantics\";\nimport { MediaAsset } from \"design-system/components/primitives/media-asset/media-asset\";\nimport { createRichMediaAssetProps } from \"../primitives/media-asset.props\";\nimport { FootnoteMarker } from \"design-system/components/primitives/footnote/footnotes\";\nimport { Tooltip } from \"design-system/components/primitives/tooltip/tooltip\";\nimport { createLinkProps } from \"../primitives/link.props\";\nimport {\n AssetRef,\n ContentfulEntry,\n EntryRef,\n} from \"frontend/contentful/schema/sys\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\nimport { AppUrlEntry } from \"frontend/contentful/schema/app\";\nimport { CtaLink } from \"design-system/components/primitives/cta-link/cta-link\";\nimport { CtaList } from \"design-system/components/primitives/cta-list/cta-list\";\nimport { createCtaLinkProps } from \"../primitives/cta-link.props\";\nimport { createCtaListProps } from \"../primitives/cta-list.props\";\nimport { createTooltipProps } from \"../primitives/tooltip.props\";\nimport { resolveAssetUrl } from \"frontend/contentful/lib/resolve-asset.url\";\nimport { usePageProps } from \"frontend/hooks/use-page-props\";\nimport {\n DataVisualizationEmbedEntry,\n DataWrapperEmbedEntry,\n FlourishEmbedEntry,\n PullQuoteEntry,\n} from \"frontend/contentful/schema/blocks\";\nimport { PullQuote } from \"design-system/components/blocks/pull-quote/pull-quote\";\nimport { createPersonTeaseProps } from \"../blocks/teases/person-tease.props\";\nimport { DataVisualizationEmbed } from \"design-system/components/blocks/data-visualization-embed/data-visualization-embed\";\nimport { DataWrapperEmbed } from \"design-system/components/blocks/data-wrapper-embed/data-wrapper-embed\";\nimport { createComponentHeaderProps } from \"../primitives/component-header.props\";\nimport { FlourishEmbed } from \"design-system/components/blocks/flourish-embed/flourish-embed\";\n\nexport interface RenderContentfulRichTextOptions extends Options {\n disableParagraphs?: boolean;\n resetHeaders?: \"h2\" | \"h3\" | \"h4\" | \"h5\";\n}\n\n// support shift+enter for line breaks\nexport function renderBreakLineText(text?: string): ReactNode {\n if (typeof text !== \"string\") return \"\";\n\n const lines = text.split(\"\\n\");\n\n return lines.map((line, i) => {\n return (\n \n {line}\n {i !== lines.length - 1 &&
}\n
\n );\n });\n}\n\ninterface RenderContentfulRichTextProps\n extends Partial {\n document: Document | null | undefined;\n}\n\nexport function RenderContentfulRichText({\n document,\n ...options\n}: RenderContentfulRichTextProps) {\n const { includes } = usePageProps();\n const { createEditAttributes, getEntry, getEntryUrl } = useContentful();\n\n if (\n !document ||\n !Array.isArray(document?.content) ||\n document.content.length < 1\n ) {\n return null;\n }\n\n // if is empty paragraph, return null\n const p = document.content[0];\n\n if (document.content.length === 1 && p?.nodeType === BLOCKS.PARAGRAPH) {\n if (!p.content || p.content.length === 0) return null;\n\n const node = p.content[0];\n\n if (p.content.length === 1) {\n if (\n node?.nodeType === \"text\" &&\n (!node.value || (node.value && node.value.trim() === \"\"))\n ) {\n return null;\n }\n }\n }\n\n let footnoteCount = 0;\n\n const h2Count = document.content.filter((block) => {\n return block.nodeType === BLOCKS.HEADING_2;\n }).length;\n const h3Count = document.content.filter((block) => {\n return block.nodeType === BLOCKS.HEADING_3;\n }).length;\n const h4Count = document.content.filter((block) => {\n return block.nodeType === BLOCKS.HEADING_4;\n }).length;\n const h5Count = document.content.filter((block) => {\n return block.nodeType === BLOCKS.HEADING_5;\n }).length;\n const h6Count = document.content.filter((block) => {\n return block.nodeType === BLOCKS.HEADING_6;\n }).length;\n\n const currrentHeader: Array = [];\n if (h2Count !== 0) currrentHeader.push(\"h2\");\n if (h3Count !== 0) currrentHeader.push(\"h3\");\n if (h4Count !== 0) currrentHeader.push(\"h4\");\n if (h5Count !== 0) currrentHeader.push(\"h5\");\n if (h6Count !== 0) currrentHeader.push(\"h6\");\n\n const headers = [\"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"h6\", \"h6\", \"h6\"] as const;\n type Header = (typeof headers)[number];\n\n const Bold = ({ children }: { children: ReactNode }) => (\n {children}\n );\n const Italic = ({ children }: { children: ReactNode }) => {children};\n\n const content = documentToReactComponents(document, {\n renderMark: {\n [MARKS.BOLD]: (text) => {text},\n [MARKS.ITALIC]: (text) => {text},\n },\n renderText: renderBreakLineText,\n renderNode: {\n [INLINES.HYPERLINK]: (node, children) => {\n if (!node.data.uri) return null;\n\n if (node.nodeType === INLINES.HYPERLINK) {\n const href = node.data.uri as string | undefined;\n if (href) return {children};\n }\n },\n [INLINES.ASSET_HYPERLINK]: (node, children) => {\n if (node.nodeType === INLINES.ASSET_HYPERLINK) {\n if (!node.data.target) return null;\n\n const assetUrl = resolveAssetUrl({\n includes,\n asset: node.data.target as AssetRef,\n });\n if (assetUrl) return {children};\n }\n\n return null;\n },\n [INLINES.ENTRY_HYPERLINK]: (node, children) => {\n if (!node?.data?.target) return null;\n\n if (node.nodeType === INLINES.ENTRY_HYPERLINK) {\n const href = getEntryUrl(node?.data?.target as EntryRef);\n if (href) return {children};\n }\n },\n\n [BLOCKS.PARAGRAPH]: (_, children) => {\n if (options?.disableParagraphs) return children;\n return

{children}

;\n },\n [BLOCKS.HEADING_2]: (_, children) => {\n if (options?.resetHeaders && headers[currrentHeader.indexOf(\"h2\")]) {\n const HeadingLevel =\n options.resetHeaders === \"h2\"\n ? (headers[currrentHeader.indexOf(\"h2\")]! as Header)\n : options.resetHeaders === \"h3\"\n ? (headers[currrentHeader.indexOf(\"h2\") + 1]! as Header)\n : options.resetHeaders === \"h4\"\n ? (headers[currrentHeader.indexOf(\"h2\") + 2]! as Header)\n : (headers[currrentHeader.indexOf(\"h2\") + 3]! as Header);\n return (\n {children}\n );\n }\n return

{children}

;\n },\n [BLOCKS.HEADING_3]: (_, children) => {\n if (options?.resetHeaders && headers[currrentHeader.indexOf(\"h3\")]) {\n const HeadingLevel =\n options.resetHeaders === \"h2\"\n ? (headers[currrentHeader.indexOf(\"h3\")]! as Header)\n : options.resetHeaders === \"h3\"\n ? (headers[currrentHeader.indexOf(\"h3\") + 1]! as Header)\n : options.resetHeaders === \"h4\"\n ? (headers[currrentHeader.indexOf(\"h3\") + 2]! as Header)\n : (headers[currrentHeader.indexOf(\"h3\") + 3]! as Header);\n return (\n {children}\n );\n }\n return

{children}

;\n },\n [BLOCKS.HEADING_4]: (_, children) => {\n if (options?.resetHeaders && headers[currrentHeader.indexOf(\"h4\")]) {\n const HeadingLevel =\n options.resetHeaders === \"h2\"\n ? (headers[currrentHeader.indexOf(\"h4\")]! as Header)\n : options.resetHeaders === \"h3\"\n ? (headers[currrentHeader.indexOf(\"h4\") + 1]! as Header)\n : options.resetHeaders === \"h4\"\n ? (headers[currrentHeader.indexOf(\"h4\") + 2]! as Header)\n : (headers[currrentHeader.indexOf(\"h4\") + 3]! as Header);\n return (\n {children}\n );\n }\n return

{children}

;\n },\n [BLOCKS.HEADING_5]: (_, children) => {\n if (options?.resetHeaders && headers[currrentHeader.indexOf(\"h5\")]) {\n const HeadingLevel =\n options.resetHeaders === \"h2\"\n ? (headers[currrentHeader.indexOf(\"h5\")]! as Header)\n : options.resetHeaders === \"h3\"\n ? (headers[currrentHeader.indexOf(\"h5\") + 1]! as Header)\n : options.resetHeaders === \"h4\"\n ? (headers[currrentHeader.indexOf(\"h5\") + 2]! as Header)\n : (headers[currrentHeader.indexOf(\"h5\") + 3]! as Header);\n return (\n {children}\n );\n }\n return
{children}
;\n },\n [BLOCKS.HEADING_6]: (_, children) => {\n if (options?.resetHeaders && headers[currrentHeader.indexOf(\"h6\")]) {\n const HeadingLevel =\n options.resetHeaders === \"h2\"\n ? (headers[currrentHeader.indexOf(\"h6\")]! as Header)\n : options.resetHeaders === \"h3\"\n ? (headers[currrentHeader.indexOf(\"h6\") + 1]! as Header)\n : options.resetHeaders === \"h4\"\n ? (headers[currrentHeader.indexOf(\"h6\") + 2]! as Header)\n : (headers[currrentHeader.indexOf(\"h6\") + 3]! as Header);\n return (\n {children}\n );\n }\n return
{children}
;\n },\n [BLOCKS.HR]: () => {\n return
;\n },\n\n [INLINES.EMBEDDED_ENTRY]: (node) => {\n const entry = getEntry(node?.data?.target as ContentfulEntry);\n\n if (isContentType(\"link\", entry)) {\n return ;\n }\n\n if (isContentType(\"footnote\", entry)) {\n footnoteCount++;\n\n return (\n \n );\n }\n\n if (isContentType(\"tooltip\", entry)) {\n const props = createTooltipProps(entry);\n if (!props?.text) {\n return;\n }\n\n return ;\n }\n },\n\n [BLOCKS.EMBEDDED_ENTRY]: (node) => {\n const entry = getEntry(node?.data?.target as ContentfulEntry);\n\n if (isContentType(\"image\", entry)) {\n return ;\n }\n\n if (isContentType(\"video\", entry)) {\n return ;\n }\n\n if (isContentType(\"pullQuote\", entry)) {\n return (\n \n }\n attribution={createPersonTeaseProps(entry.fields.attribution)}\n hideQuoteMarks={entry.fields.hideQuoteMarks}\n />\n );\n }\n\n if (\n isContentType(\n \"dataVisualizationEmbed\",\n entry,\n )\n ) {\n return (\n \n );\n }\n\n if (isContentType(\"dataWrapperEmbed\", entry)) {\n if (!entry.fields.embedId) {\n return null;\n }\n\n return (\n \n );\n }\n\n if (isContentType(\"flourishEmbed\", entry)) {\n if (!entry.fields.embedSourceUrl) {\n return null;\n }\n\n return (\n \n );\n }\n\n if (isContentType(\"simpleCta\", entry)) {\n if (entry.fields.links) {\n if (\n entry.fields.links?.length === 1 ||\n entry.fields.linkType === \"primary button\" ||\n entry.fields.linkType === \"secondary button\"\n ) {\n const ctaLinkProps = createCtaLinkProps(entry.fields.links[0]);\n if (ctaLinkProps) {\n ctaLinkProps.hideIcon = entry.fields.hideIcon;\n\n if (entry.fields.linkType) {\n ctaLinkProps.type = entry.fields.linkType.replace(\n \" \",\n \"-\",\n ) as \"link\" | \"primary-button\" | \"secondary-button\";\n }\n }\n\n return ;\n } else {\n return (\n \n );\n }\n }\n }\n },\n },\n ...options,\n });\n\n return content;\n}\n","import { ContentfulComponentProps } from \"./create-contentful-component\";\nimport { ContentfulEntry, EntryRef } from \"frontend/contentful/schema/sys\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\n\ntype ContentfulTransformer = (\n props: ContentfulComponentProps,\n) => P | undefined;\n\nexport function createContentfulProps(\n transformer: ContentfulTransformer,\n) {\n const useContentfulPropsTransformer = (\n ref?: EntryRef,\n options?: O,\n ): P | undefined => {\n const { getEntry, createEditAttributes } = useContentful();\n\n const entry = getEntry(ref);\n\n if (!entry?.fields || !entry?.metadata || !entry?.sys.id) return undefined;\n\n try {\n return transformer({ entry, options, createEditAttributes });\n } catch (e) {\n console.error(e);\n return undefined;\n }\n };\n\n return useContentfulPropsTransformer;\n}\n","import { CONTENTFUL_ENV_PARAM } from \"frontend/lib/constants\";\nimport useSWR from \"swr\";\n\nclass FetchError extends Error {\n status = 500;\n info: unknown = {};\n}\n\nexport type UseFetchPropsValue = UseFetchProps | null | false | undefined;\n\nexport interface UseFetchProps {\n url: string;\n method?: string;\n params?: Record;\n headers?: Record;\n body?: string;\n}\n\nexport async function fetcher({\n url,\n method,\n params,\n headers,\n body,\n}: UseFetchProps) {\n const searchParams = new URLSearchParams();\n let hasSearchParams = false;\n\n if (params) {\n Object.entries(params).forEach(([key, val]) => {\n if (val) {\n searchParams.set(key, val);\n hasSearchParams = true;\n }\n });\n }\n\n if (url.startsWith(\"/\")) {\n const environmentParameter = new URL(location.href).searchParams.get(\n CONTENTFUL_ENV_PARAM,\n );\n // if the environment is set, then send it, else fallback to the default\n if (environmentParameter) {\n searchParams.set(\"environment\", environmentParameter); // ensures the backend api request uses the same contentful env as frontend\n }\n }\n\n if (hasSearchParams) url += \"?\" + searchParams.toString();\n\n const res = await fetch(url, { method, headers, body });\n\n if (!res.ok) {\n const error = new FetchError(\"An error occurred while fetching the data.\");\n // Attach extra info to the error object.\n error.info = (await res.json()) as unknown;\n error.status = res.status;\n // re-throw error to trigger error on useSWR\n throw error;\n }\n\n return res.json();\n}\n\nexport function useFetch(props: UseFetchPropsValue) {\n return useSWR(props || null, fetcher, {\n revalidateOnMount: true,\n\n refreshInterval: 0,\n refreshWhenHidden: false,\n refreshWhenOffline: false,\n revalidateOnReconnect: false,\n revalidateIfStale: false,\n revalidateOnFocus: false,\n\n errorRetryCount: 3,\n errorRetryInterval: 1000,\n\n // return the previous value (if any) when revalidating instead of `undefined`\n keepPreviousData: true,\n\n onSuccess: (data, key) => {\n console.info(\"useFetch success\", { key, data });\n },\n\n onErrorRetry: (error, key, config, revalidate, { retryCount }) => {\n console.info(\"useFetch error\", { key, error, props, retryCount });\n\n // Never retry on 404.\n if ((error as FetchError).status === 404) return;\n\n // Only retry up to 3 times.\n if (retryCount >= 3) return;\n\n // Retry after 5 seconds.\n setTimeout(() => {\n console.info(\"useFetch retry\", { key, props, retryCount });\n void revalidate({ retryCount });\n }, 5000);\n },\n });\n}\n","export const PREVIEW_PARAM = \"preview\";\nexport const HBS_DOMAIN_PARAM = \"domain\";\nexport const CONTENTFUL_ENV_PARAM = \"environment\";\n\nexport const ES_QUERY_ENDPOINT = \"https://www.hbs.edu/api/contentful/search\";\nexport const NAVIGATION_PAGE_TYPES = [\n \"landingPage\",\n \"detailPage\",\n \"archivePage\",\n]; // only these page types appear in navigation (breadcrumbs, side-nav)\nexport const CONTENTFUL_PAGE_TYPES = [\n ...NAVIGATION_PAGE_TYPES,\n \"articlePage\",\n \"programPage\",\n \"profilePage\",\n \"participantStory\",\n \"knowledgeBaseArticlePage\",\n \"databasePage\",\n \"datasetPage\",\n \"podcastEpisodePage\",\n \"clubPage\",\n];\n\nexport const GOOGLE_TAG_IDS = {\n DEFAULT: \"GTM-N2NWNWX\",\n ONLINE: \"GTM-MW34RML\",\n EXED: \"GTM-TLS4CQL\",\n MY: \"GTM-WNLL79Z\",\n};\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin"],"names":["DataVisualizationEmbed","param","header","embedSourceUrl","embedSourceTitle","height","align","wrapperClass","cn","concat","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","data-region","jsxs","ComponentHeader","iframe","src","width","title","DataWrapperEmbed","embedId","useEffect","loadScript","dataTarget","style","minHeight","id","noscript","MediaAsset","image","alt","FlourishEmbed","extractedChartId","headerContent","type","visualisationMatch","match","storyMatch","defer","console","warn","data-src","img","PullQuote","attribution","quote","hideQuoteMarks","editAttributes","blockquote","portrait","span","link","Link","href","name","titles","length","mapTitles","Array","isArray","join","description","isSmall","linkText","ariaLabel","anchored","borderPosition","HeadingLevel","titleId","ctaLink","CtaLink","aria-label","DOC_EXTENSIONS","forwardRef","ref","isExternal","lastWord","firstWords","children","onClick","dataLayer","isNested","icon","hideIcon","ariaSelected","ariaDescribedBy","tabIndex","isExternalLink","isDocumentLink","pathname","url","URL","e","some","endsWith","extension","pushDataLayer","useDataLayer","ctaClassNames","iconClassNames","toLowerCase","words","trim","split","pop","withoutSplitWords","jsx_runtime","Icon","commonProps","window","addEventListener","button","handleOnClick","event_data","program_action","withSplitWords","aria-describedby","undefined","CtaList","items","label","Fragment","ul","map","i","li","Footnotes","footnotes","t","useTranslations","disclaimer","index","ol","target","FootnoteMarker","rel","props","startsWith","includes","a","Tooltip","text","HoverCard","toString","replaceAll","side","sideOffset","h5","p","Popover","host","error","createPersonTeaseProps","createContentfulProps","entry","createEditAttributes","getPersonLink","useContentful","getEntityName","mediaAsset","createPersonImageProps","bio","RenderContentfulRichText","document","fields","social","createSocialMediaLinksProps","email","phone","jobTitles","fieldId","createComponentHeaderProps","getEntryUrl","getEntry","size","headingLevel","createCtaLinkProps","isContentType","socialMedia","createCtaListProps","links","forEach","ctaLinkProps","push","createLinkProps","getEnterpriseIdHeadshotSrc","modifiedDate","sys","updatedAt","hbsEnterpriseID","createMediaAssetProps","asset","getAsset","file","mediaAssetImageProps","altText","imageGravity","gravity","details","intrinsicAspectRatio","externalURL","embed","kalturaId","kaltura","entryId","threePlayId","threePlayID","threePlayProjectId","threePlayProjectID","duration","caption","kalturaCaption","hide","hideCaption","contentType","backupImage","imageEntry","video","mimeType","disableParagraphs","createRichMediaAssetProps","alignment","mobileWidth","getIsPersonPastHbsFaculty","getPersonEntry","person","personEntry","personName","stringToCamelCase","str","replace","word","toUpperCase","getEntries","socialMediaLink","item","entity","organizationEntity","displayName","personEntity","firstName","middleName","lastName","nameSuffix","filter","createTooltipProps","uri","data","useFetch","params","tooltipContent","publications","highlightedText","search","renderBreakLineText","lines","line","br","options","usePageProps","content","nodeType","BLOCKS","PARAGRAPH","node","value","footnoteCount","h2Count","block","HEADING_2","h3Count","HEADING_3","h4Count","HEADING_4","h5Count","HEADING_5","h6Count","HEADING_6","currrentHeader","headers","Bold","strong","Italic","em","documentToReactComponents","renderMark","MARKS","BOLD","ITALIC","renderText","renderNode","INLINES","HYPERLINK","ASSET_HYPERLINK","assetUrl","resolveAssetUrl","ENTRY_HYPERLINK","_","resetHeaders","indexOf","h2","h3","h4","h6","HR","hr","aria-hidden","EMBEDDED_ENTRY","quoteText","linkType","transformer","metadata","FetchError","Error","status","info","fetcher","method","body","searchParams","URLSearchParams","hasSearchParams","Object","entries","key","val","set","environmentParameter","location","get","CONTENTFUL_ENV_PARAM","res","fetch","ok","json","useSWR","revalidateOnMount","refreshInterval","refreshWhenHidden","refreshWhenOffline","revalidateOnReconnect","revalidateIfStale","revalidateOnFocus","errorRetryCount","errorRetryInterval","keepPreviousData","onSuccess","onErrorRetry","config","revalidate","retryCount","setTimeout","GOOGLE_TAG_IDS","DEFAULT","ONLINE","EXED","MY"],"sourceRoot":""}