{"version":3,"file":"static/chunks/4928.0f1b453a71080e7a.js","mappings":"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","sources":["webpack://_N_E/../design-system/src/sites/exed/program-comparison-tray/program-comparison-tray.scss?722f","webpack://_N_E/./src/contentful/components/pages/landing-page.contentful.tsx","webpack://_N_E/../design-system/src/components/pages/landing-page/landing-page.scss?219a","webpack://_N_E/../design-system/src/hooks/use-program-comparison.tsx","webpack://_N_E/../design-system/src/components/blocks/section-header/section-header.scss?3ffc","webpack://_N_E/../design-system/src/components/blocks/section-header/section-header.tsx","webpack://_N_E/./src/contentful/components/pages/page-sections.contentful.tsx","webpack://_N_E/../design-system/src/components/pages/landing-page/landing-page-body/landing-page-body.scss?21ff","webpack://_N_E/../design-system/src/components/layouts/page-section/page-section.scss?ac46","webpack://_N_E/../design-system/src/sites/exed/program-comparison-tray/program-comparison-tray.tsx","webpack://_N_E/../design-system/src/components/pages/landing-page/landing-page-body/landing-page-body.tsx","webpack://_N_E/../design-system/src/components/pages/landing-page/landing-page.tsx","webpack://_N_E/../design-system/src/components/layouts/page-section/page-section.tsx","webpack://_N_E/./src/hooks/use-page-footnotes.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin","import { createContentfulComponent } from \"frontend/contentful/lib/create-contentful-component\";\nimport dynamic from \"next/dynamic\";\nimport {\n LandingPage,\n LandingPageTopper,\n} from \"design-system/components/pages/landing-page/landing-page\";\nimport { createSiteHeaderProps } from \"../universal/site-header.props\";\nimport { createSiteFooterProps } from \"../universal/site-footer.props\";\nimport { LandingPageEntry } from \"frontend/contentful/schema/pages\";\nimport { usePageProps } from \"frontend/hooks/use-page-props\";\nimport { ContentfulHead } from \"../primitives/head.contentful\";\nimport { ContentfulPageSections } from \"./page-sections.contentful\";\nimport { usePageNavigation } from \"frontend/hooks/use-page-navigation\";\nimport { createLazyTopperProps } from \"../toppers/lazy-topper.props\";\nimport { Footnotes } from \"design-system/components/primitives/footnote/footnotes\";\nimport { usePageFootnotes } from \"frontend/hooks/use-page-footnotes\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\nimport { ProgramComparisonProvider } from \"design-system/hooks/use-program-comparison\";\nimport { ProgramComparisonTray } from \"design-system/sites/exed/program-comparison-tray/program-comparison-tray\";\n\nconst ContentfulHomePage = dynamic(() =>\n import(\"./home-page.contentful\").then((e) => ({\n default: e.ContentfulHomePage,\n })),\n);\n\nexport const ContentfulLandingPage =\n createContentfulComponent(({ entry }) => {\n const { singletons, includes } = usePageProps();\n const { site, getEntry, getEntryUrl } = useContentful();\n const { breadcrumbs } = usePageNavigation();\n const footnotes = usePageFootnotes(entry.fields.blocks);\n\n if (singletons.isWWWHomePage) {\n return ;\n }\n\n // This is a temporary solution to determine if the page needs the program comparison context & tray.\n // It is currently needed for ExEd pages, and will be needed for HBS Online pages in the future.\n // Consider a refactor to expose global site-specific context/state in a more structured way.\n const needsProgramComparison = includes.Entry.some(\n (i) => i.sys.contentType.sys.id === \"teaseRowProgramCards\",\n );\n\n let programFinderUrl: string | undefined;\n if (site?.fields.contentReferences) {\n const contentReferences = getEntry(site.fields.contentReferences);\n const programFinderPageRef = contentReferences?.fields.programFinderPage;\n if (programFinderPageRef) {\n programFinderUrl = getEntryUrl(programFinderPageRef);\n }\n }\n\n return (\n <>\n \n\n \n {needsProgramComparison ? (\n \n \n \n \n \n ) : (\n <>\n \n \n \n )}\n \n \n );\n });\n","// extracted by mini-css-extract-plugin","import {\n createContext,\n useContext,\n useState,\n useEffect,\n Dispatch,\n SetStateAction,\n ReactNode,\n useRef,\n} from \"react\";\nimport { Program } from \"design-system/types/exed-schema\";\nimport { useDataLayer } from \"frontend/hooks/use-data-layer\";\n\nexport interface ProgramToCompare extends Program {\n activeSessionIndex?: number;\n}\n\ntype ProgramComparisonContext = [\n Array,\n Dispatch>>,\n];\n\nconst Context = createContext([[], (s) => s]);\n\ninterface ProgramComparisonProviderProps {\n children: ReactNode;\n programs: Array;\n}\n\nexport function ProgramComparisonProvider({\n children,\n programs,\n}: ProgramComparisonProviderProps) {\n const [programsToCompare, setProgramsToCompare] = useState<\n Array\n >([]);\n const { pushDataLayer } = useDataLayer();\n\n useEffect(() => {\n const getProgramsByIds = (ids: Array) => {\n return ids\n .map((id) => programs.find((p) => p.id === id))\n .filter((p): p is ProgramToCompare => !!p);\n };\n\n const urlParams = new URLSearchParams(window.location.search);\n const programParams = urlParams.get(\"programs\");\n if (!programParams) return;\n\n const ids = programParams.split(\",\");\n\n const initialProgramsToCompare = getProgramsByIds(ids).map((program) => ({\n ...program,\n activeSessionIndex: 0,\n }));\n\n setProgramsToCompare(initialProgramsToCompare);\n }, [programs]);\n\n const comparedPrograms = useRef(\"\");\n const prevUrl = useRef();\n\n // Update programs query param when programsToCompare updates\n useEffect(() => {\n const urlParams = new URLSearchParams(window.location.search);\n const programParams = urlParams.get(\"programs\");\n let programsChanged = false;\n if (!programParams || !programsToCompare.length) return;\n\n const updatedProgramIds = programsToCompare.map((p) => p.id).join(\",\");\n urlParams.delete(\"programs\");\n urlParams.set(\"programs\", updatedProgramIds);\n\n // Are all the programs the same? Order is not important\n if (\n comparedPrograms.current.split(\",\").sort().join() ===\n updatedProgramIds.split(\",\").sort().join()\n ) {\n return;\n } else {\n programsChanged = true;\n }\n\n if (programsChanged) {\n pushDataLayer({\n /* eslint-disable camelcase */\n event: \"program_finder_comparison\",\n event_data: {\n compared_programs: updatedProgramIds,\n },\n /* eslint-enable camelcase */\n });\n comparedPrograms.current = updatedProgramIds;\n }\n\n const queryParams = urlParams.toString();\n const newUrl = new URL(\n `${window.location.origin}${window.location.pathname}?${queryParams}`,\n );\n\n if (prevUrl.current && prevUrl.current !== newUrl.href) {\n window.history.pushState({}, \"\", newUrl.href);\n }\n prevUrl.current = newUrl.href;\n }, [programsToCompare, pushDataLayer]);\n\n useEffect(() => {\n // Handle browser back button\n window.onpopstate = (event) => {\n if (event.state) {\n history.go(0);\n }\n };\n });\n\n return (\n \n {children}\n \n );\n}\n\nexport function useProgramComparison() {\n const [programsToCompare, setProgramsToCompare] = useContext(Context);\n\n const addProgramToCompare = (program: ProgramToCompare) => {\n setProgramsToCompare((old) => [...old, program]);\n };\n\n const removeProgramToCompare = (program: ProgramToCompare) => {\n setProgramsToCompare((old) => old.filter((p) => p.id !== program.id));\n };\n\n const reorderProgramToCompare = (\n program: ProgramToCompare,\n direction: number,\n ) => {\n setProgramsToCompare((programsToCompare) => {\n const reordered = programsToCompare;\n const indexOfProgramToMove = programsToCompare.findIndex(\n (p) => p.id === program.id,\n );\n reordered.splice(indexOfProgramToMove, 1);\n reordered.splice(indexOfProgramToMove + direction, 0, program);\n\n return [...reordered];\n });\n };\n\n return {\n programsToCompare,\n setProgramsToCompare,\n addProgramToCompare,\n removeProgramToCompare,\n reorderProgramToCompare,\n };\n}\n","// extracted by mini-css-extract-plugin","import \"./section-header.scss\";\n\nimport cn from \"clsx\";\nimport {\n CtaLink,\n CtaLinkProps,\n} from \"design-system/components/primitives/cta-link/cta-link\";\nimport { EditAttributes } from \"design-system/types/types\";\nimport { ReactNode } from \"react\";\n\nexport interface SectionHeaderProps {\n title?: string;\n subTitle?: string;\n description?: ReactNode;\n cta?: CtaLinkProps;\n\n editAttributes?: {\n title?: EditAttributes;\n subTitle?: EditAttributes;\n description?: EditAttributes;\n };\n}\n\nconst LONG_HEADER_LENGTH = 50;\n\nexport function SectionHeader({\n title,\n subTitle,\n description,\n cta,\n editAttributes,\n}: SectionHeaderProps) {\n const longHeader =\n (title && title.length > LONG_HEADER_LENGTH) ||\n (subTitle && subTitle.length > LONG_HEADER_LENGTH);\n\n const hgroupClass = cn(\n \"hbs-section-header__hgroup\",\n longHeader ? \"hbs-section-header__hgroup--long\" : \"\",\n );\n const showDesc = description || cta;\n\n return (\n
\n
\n
\n
\n {title && (\n \n {title}\n \n )}\n {subTitle && (\n \n {subTitle}\n

\n )}\n
\n {showDesc && (\n \n
\n {description}\n {cta && }\n
\n
\n )}\n
\n
\n \n );\n}\n","import { createContentfulComponent } from \"frontend/contentful/lib/create-contentful-component\";\nimport { ContentfulEntry } from \"frontend/contentful/schema/sys\";\nimport {\n AudienceBlocksWrapperEntry,\n PageSectionThemeEntry,\n} from \"frontend/contentful/schema/blocks\";\nimport {\n ArchivePageEntry,\n ArticlePageEntry,\n DetailPageEntry,\n KnowledgeBaseArticlePageEntry,\n LandingPageEntry,\n LandingPageBlockEntry,\n ArchivePageBlockEntry,\n PreFooterBlockEntry,\n DatabasePageEntry,\n DatasetPageEntry,\n} from \"frontend/contentful/schema/pages\";\nimport { ArticlePageSettingsEntry } from \"frontend/contentful/schema/universal\";\nimport { isContentType } from \"frontend/contentful/lib/is-content-type\";\nimport { PageSection } from \"design-system/components/layouts/page-section/page-section\";\nimport { RenderContentfulEntry } from \"../utils/render-contentful-entry\";\nimport { SimpleTheme } from \"design-system/utils/theme\";\nimport { useContentful } from \"frontend/hooks/use-contentful\";\nimport { ReactNode } from \"react\";\nimport { usePageProps } from \"frontend/hooks/use-page-props\";\n\ninterface PageSectionBlocksProps {\n theme?: SimpleTheme;\n blocks: Array;\n}\n\ntype PageSectionEntries =\n | LandingPageEntry\n | KnowledgeBaseArticlePageEntry\n | ArchivePageEntry\n | ArticlePageEntry\n | DetailPageEntry\n | ArticlePageSettingsEntry\n | DatabasePageEntry\n | DatasetPageEntry;\n\ninterface Options {\n key: \"topContent\" | \"preFooterContent\";\n}\n\nexport const ContentfulPageSections = createContentfulComponent<\n PageSectionEntries,\n Options\n>(({ entry, options }) => {\n const { getEntries } = useContentful();\n\n const pageProps = usePageProps();\n const sections: Array = [];\n\n const isKnowledgeBaseArticlePage =\n isContentType(\n \"knowledgeBaseArticlePage\",\n entry,\n );\n const isArchivePage = isContentType(\"archivePage\", entry);\n const isArticlePage = isContentType(\"articlePage\", entry);\n const isDetailPage = isContentType(\"detailPage\", entry);\n const isDatabasePage = isContentType(\n \"databasePage\",\n entry,\n );\n const isDatasetPage = isContentType(\"datasetPage\", entry);\n const isArticlePageSettings = isContentType(\n \"articlePageSettings\",\n entry,\n );\n\n let blocks:\n | Array\n | Array\n | Array;\n\n if (isKnowledgeBaseArticlePage) {\n blocks = getEntries(entry.fields.body);\n } else if (isArchivePage) {\n if (options?.key) {\n blocks = getEntries(entry.fields[options.key]);\n } else {\n blocks = [];\n }\n } else if (\n isArticlePage ||\n isDetailPage ||\n isDatabasePage ||\n isDatasetPage ||\n isArticlePageSettings\n ) {\n blocks = getEntries(entry.fields.preFooterContent);\n } else {\n blocks = getEntries(entry.fields.blocks);\n }\n\n const userRoles = pageProps.session?.user.roles;\n\n // If there is an audience set, return all blocks from block wrappers that match the audience (excluding blocks without a wrapper)\n // If there is no audience match, use the public blocks.\n\n if (userRoles?.length) {\n const blockWrappers = blocks?.filter(\n (block): block is AudienceBlocksWrapperEntry => {\n if (\n isContentType(\n \"audienceBlocksWrapper\",\n block,\n ) &&\n block.fields.permissions\n ) {\n const blockPermissions = getEntries(block.fields.permissions);\n\n let userIsAuthorized = false;\n\n blockPermissions.forEach((blockPermission) => {\n const role = blockPermission.fields.roleCode;\n if (role && userRoles.includes(role)) {\n userIsAuthorized = true;\n }\n });\n\n return userIsAuthorized;\n }\n return false;\n },\n );\n\n if (blockWrappers?.length) {\n blocks = getEntries(blockWrappers[0]?.fields.blocks) || [];\n }\n }\n\n blocks?.forEach((block) => {\n if (isContentType(\"pageSectionTheme\", block)) {\n sections.push({ theme: block.fields.theme, blocks: [] });\n } else {\n if (sections.length === 0) {\n sections.push({\n blocks: [block],\n theme: isKnowledgeBaseArticlePage ? \"white\" : undefined,\n });\n } else {\n sections[sections.length - 1]?.blocks.push(block);\n }\n }\n });\n\n return (\n <>\n {sections.map(({ theme, blocks }, i) => {\n if (blocks.length < 1) return null;\n\n const blockTotal: Array = [];\n let headerAbove = false;\n\n blocks.forEach((block, i) => {\n const options = { headerAbove: headerAbove };\n blockTotal.push(\n ,\n );\n if (\n block.sys.contentType.sys.id === \"pageSectionHeader\" ||\n block.sys.contentType.sys.id === \"sideBySideSectionIntro\"\n ) {\n // As long as I'm in the same section and BG hasn't changed assume section header is the parent to this whole section\n headerAbove = true;\n }\n });\n\n return (\n \n {blockTotal}\n \n );\n })}\n \n );\n});\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import \"./program-comparison-tray.scss\";\n\nimport { useState } from \"react\";\nimport cn from \"clsx\";\nimport { useProgramComparison } from \"design-system/hooks/use-program-comparison\";\nimport { CtaLink } from \"design-system/components/primitives/cta-link/cta-link\";\nimport { Icon } from \"design-system/components/icons/icon\";\nimport { ExEdContentReferencesEntry } from \"frontend/contentful/schema/universal\";\nimport { DataLayerEvent, useDataLayer } from \"frontend/hooks/use-data-layer\";\n\nexport interface ProgramComparisonTrayProps {\n programFinderUrl?: string;\n isHBSOnline?: boolean;\n contentReferences?: ExEdContentReferencesEntry;\n dataLayer?: DataLayerEvent;\n}\n\nexport function ProgramComparisonTray({\n programFinderUrl,\n isHBSOnline,\n /* eslint-disable-next-line camelcase */\n dataLayer = { event: \"program_finder_result_click\", event_data: {} },\n}: ProgramComparisonTrayProps) {\n const [isTrayHidden, setIsTrayHidden] = useState(false);\n\n const { programsToCompare, removeProgramToCompare } = useProgramComparison();\n\n const { pushDataLayer } = useDataLayer();\n\n // Show the tray when adding new programs to compare\n const [prevProgramsLength, setPrevProgramsLength] = useState(\n programsToCompare.length,\n );\n if (prevProgramsLength !== programsToCompare.length) {\n setPrevProgramsLength(programsToCompare.length);\n\n if (prevProgramsLength < programsToCompare.length) {\n setIsTrayHidden(false);\n }\n }\n\n if (programsToCompare.length < 1) {\n return null;\n }\n\n const trayClass = cn(\n \"hbs-program-comparison-tray__inner\",\n isTrayHidden && \"hbs-program-comparison-tray__inner--hidden\",\n isHBSOnline && \"hbs-program-comparison-tray__inner--online\",\n );\n\n const programIds = programsToCompare.map((p) => p.id).join(\",\");\n\n const pageUrl = new URL(\n programFinderUrl || window.location.href,\n window.location.origin,\n );\n if (programIds) {\n pageUrl.searchParams.set(\"programs\", programIds);\n }\n\n return (\n \n

Compare Programs

\n setIsTrayHidden(false)}\n className={cn(\n \"hbs-program-comparison-tray__fab\",\n !isTrayHidden && \"hbs-program-comparison-tray__fab--hidden\",\n )}\n >\n \n Show comparison tray\n \n
\n setIsTrayHidden(true)}\n className=\"hbs-program-comparison-tray__hide\"\n aria-label=\"Hide comparison tray\"\n >\n Hide\n \n \n\n
\n
    \n {programsToCompare.map((program) => (\n \n

    \n {program.title}\n

    \n {\n removeProgramToCompare(program);\n /* eslint-disable camelcase */\n if (!dataLayer.event) {\n dataLayer.event = \"program_finder_result_click\";\n }\n if (dataLayer.event_data) {\n dataLayer.event_data.program_action =\n \"compare remove click\";\n dataLayer.event_data.program_name = program.title;\n pushDataLayer(dataLayer);\n } else {\n dataLayer.event_data = {\n program_action: \"compare remove click\",\n program_name: program.title,\n };\n }\n pushDataLayer(dataLayer);\n /* eslint-enable camelcase */\n }}\n className=\"hbs-program-comparison-tray__remove\"\n >\n \n Remove {program.title}\n \n \n \n \n ))}\n
\n
\n\n
\n \n Compare{!isHBSOnline && \" Programs\"}\n \n {isHBSOnline && (\n \n Request Info\n \n )}\n
\n
\n \n );\n}\n","import {\n Breadcrumbs,\n BreadcrumbsProps,\n} from \"design-system/components/primitives/breadcrumbs/breadcrumbs\";\nimport \"./landing-page-body.scss\";\nimport { ReactNode } from \"react\";\nimport { LandingPageTopper } from \"../landing-page\";\nimport { LazyComponent } from \"design-system/components/system/lazy-component/lazy-component\";\n\nexport interface LandingPageBodyProps {\n breadcrumbs?: BreadcrumbsProps;\n topper?: LandingPageTopper;\n children?: ReactNode;\n}\n\nexport function LandingPageBody({\n breadcrumbs,\n topper,\n children,\n}: LandingPageBodyProps) {\n return (\n
\n {topper && }\n\n {breadcrumbs && }\n\n
\n
\n
\n
\n {children}\n
\n
\n
\n
\n
\n );\n}\n","import \"./landing-page.scss\";\n\nimport cn from \"clsx\";\nimport { ReactNode } from \"react\";\nimport {\n BaseLayout,\n SiteHeaderComponent,\n} from \"design-system/components/layouts/base\";\nimport { BreadcrumbsProps } from \"design-system/components/primitives/breadcrumbs/breadcrumbs\";\nimport { LandingPageBody } from \"design-system/components/pages/landing-page/landing-page-body/landing-page-body\";\nimport { SiteFooterProps } from \"design-system/components/universal/site-footer/site-footer\";\nimport { ExtractLazyComponent } from \"design-system/components/system/lazy-component/lazy-component\";\n\nexport type LandingPageTopper = ExtractLazyComponent<\n | \"CardTopper\"\n | \"MediaTopper\"\n | \"SplitTopper\"\n | \"StatisticsTopper\"\n | \"EditorialTopper\"\n | \"LargeAssetTopper\"\n | \"FeaturedTermTopper\"\n | \"SimplePageTopper\"\n>;\n\nexport interface LandingPageProps {\n header?: SiteHeaderComponent;\n footer?: SiteFooterProps;\n breadcrumbs?: BreadcrumbsProps;\n topper?: LandingPageTopper;\n children?: ReactNode;\n}\n\nexport function LandingPage({\n children,\n breadcrumbs,\n footer,\n header,\n topper,\n}: LandingPageProps) {\n return (\n \n \n {children}\n \n \n );\n}\n","import \"./page-section.scss\";\n\nimport cn from \"clsx\";\n\nimport { ReactNode } from \"react\";\nimport {\n SimpleTheme,\n defaultPageSectionTheme,\n} from \"design-system/utils/theme\";\nimport {\n SectionHeader,\n SectionHeaderProps,\n} from \"design-system/components/blocks/section-header/section-header\";\n\nexport interface PageSectionProps {\n children?: ReactNode;\n theme?: SimpleTheme;\n spacing?: string;\n header?: SectionHeaderProps;\n}\n\n/**\n * Standard themeable page section\n *\n * - **`id: P-019-000-00`**\n * - **`data-region: p__page-section`**\n */\nexport function PageSection({\n children,\n theme = defaultPageSectionTheme,\n spacing = \"both\",\n header,\n}: PageSectionProps) {\n const sectionClass = cn(\n \"hbs-page-section\",\n spacing !== \"both\" && `hbs-page-section--${spacing}`,\n );\n\n return (\n \n
\n
\n {header && }\n\n {children}\n
\n
\n \n );\n}\n","import { ContentfulEntry, EntryRef } from \"frontend/contentful/schema/sys\";\nimport { useContentful } from \"./use-contentful\";\nimport { FootnoteProps } from \"design-system/components/primitives/footnote/footnotes\";\nimport { Block, INLINES, Inline, Text } from \"@contentful/rich-text-types\";\nimport { FootnoteEntry } from \"frontend/contentful/schema/primitives\";\nimport { isContentType } from \"frontend/contentful/lib/is-content-type\";\nimport { RenderContentfulRichText } from \"frontend/contentful/components/utils/render-contentful-rich-text\";\nimport { RichTextEntry } from \"frontend/contentful/schema/blocks\";\n\nexport function usePageFootnotes(blocks?: Array>) {\n const { getEntry, createEditAttributes } = useContentful();\n\n const footnotes: Array = [];\n\n if (!Array.isArray(blocks)) return footnotes;\n\n const searchForFootnote = (node: Block | Inline | Text): void => {\n if (node.nodeType === INLINES.EMBEDDED_ENTRY) {\n const footnote = getEntry(node.data.target as ContentfulEntry);\n\n if (isContentType(\"footnote\", footnote)) {\n footnotes.push({\n children: (\n \n ),\n editAttributes: createEditAttributes({\n entry: footnote,\n fieldId: \"text\",\n }),\n });\n }\n }\n\n if (\"content\" in node) {\n node.content.forEach(searchForFootnote);\n }\n };\n\n blocks.forEach((block) => {\n const entry = getEntry(block);\n\n if (isContentType(\"richText\", entry)) {\n entry.fields?.text?.content.forEach((content) => {\n content.content.forEach((content) => searchForFootnote(content));\n });\n }\n });\n\n return footnotes;\n}\n"],"names":["ContentfulHomePage","dynamic","then","default","e","ContentfulLandingPage","createContentfulComponent","programFinderUrl","entry","singletons","includes","usePageProps","site","getEntry","getEntryUrl","useContentful","breadcrumbs","usePageNavigation","footnotes","usePageFootnotes","fields","blocks","isWWWHomePage","needsProgramComparison","Entry","some","i","sys","contentType","id","contentReferences","programFinderPageRef","programFinderPage","ContentfulHead","seo","LandingPage","topper","createLazyTopperProps","header","name","props","createSiteHeaderProps","footer","createSiteFooterProps","ProgramComparisonProvider","programs","ContentfulPageSections","Footnotes","ProgramComparisonTray","isHBSOnline","domain","Context","createContext","s","children","programsToCompare","setProgramsToCompare","useState","pushDataLayer","useDataLayer","useEffect","programParams","URLSearchParams","window","location","search","get","split","map","initialProgramsToCompare","find","p","filter","program","activeSessionIndex","comparedPrograms","useRef","prevUrl","urlParams","programsChanged","length","updatedProgramIds","join","delete","set","current","sort","event","event_data","compared_programs","queryParams","toString","newUrl","URL","origin","pathname","href","history","pushState","onpopstate","state","go","Provider","value","useProgramComparison","useContext","addProgramToCompare","old","removeProgramToCompare","reorderProgramToCompare","direction","indexOfProgramToMove","findIndex","reordered","splice","SectionHeader","title","subTitle","description","cta","editAttributes","longHeader","LONG_HEADER_LENGTH","hgroupClass","cn","showDesc","div","className","h2","CtaLink","isSmall","pageProps","blockWrappers","options","getEntries","sections","isKnowledgeBaseArticlePage","isContentType","isArchivePage","isArticlePage","isDetailPage","isDatabasePage","isDatasetPage","isArticlePageSettings","body","key","preFooterContent","userRoles","session","user","roles","block","permissions","blockPermissions","userIsAuthorized","forEach","role","blockPermission","roleCode","push","theme","undefined","blockTotal","headerAbove","RenderContentfulEntry","PageSection","dataLayer","isTrayHidden","setIsTrayHidden","prevProgramsLength","setPrevProgramsLength","trayClass","programIds","pageUrl","searchParams","button","onClick","Icon","span","aria-label","ul","li","program_action","program_name","type","icon","LandingPageBody","main","tabIndex","LazyComponent","Breadcrumbs","section","BaseLayout","defaultPageSectionTheme","spacing","sectionClass","data-theme","data-region","createEditAttributes","Array","isArray","searchForFootnote","node","nodeType","INLINES","EMBEDDED_ENTRY","footnote","data","target","RenderContentfulRichText","document","text","disableParagraphs","fieldId","content"],"sourceRoot":"","ignoreList":[]}