{"version":3,"file":"static/js/pages-public-TagPage.464a84edf0f621c5473b.js","mappings":"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","sources":["components/IconComponents/CheckmarkIcon.tsx","helpers/lazyloading.ts","pages/public/styleObjects/TagPage.ts","components/styleObjects/CheckboxInputButtonStyles.ts","components/CheckboxInputButton.tsx","pages/public/TagPage.tsx"],"sourcesContent":["import React from 'react';\n\nexport function CheckmarkIcon(props: React.SVGProps): JSX.Element {\n return (\n \n \n \n );\n}\n","export function getLazyLoadByIndex(index: number, noLazyLoadCount = 2): boolean {\n return !(index <= noLazyLoadCount - 1);\n}\n","import { v2Colors, breakpoints } from '@web-for-marketing/react-ui';\n\nexport const tagPageStyles = {\n mainTitle: {\n width: '100%',\n display: 'inline-block',\n marginBottom: '2rem',\n },\n labelContainer: {\n display: 'flex',\n padding: 0,\n marginLeft: '2%',\n '& > *': {\n marginLeft: 0,\n marginRight: 0,\n },\n '& > div > div': {\n border: 'none',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n margin: 0,\n width: '50%',\n },\n },\n cardContainer: {\n marginTop: '2rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n marginTop: '2rem',\n },\n },\n filterButton: {\n whiteSpace: 'nowrap',\n width: 'auto',\n '& svg': {\n marginLeft: '1rem',\n height: '1.2em',\n width: '1.2em',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n width: 'auto',\n },\n },\n filterContainer: {\n flexWrap: 'nowrap',\n justifyContent: 'flex-end',\n marginTop: '1rem',\n '& > div > div > div': {\n background: 'none',\n },\n '& > div > div > div:hover': {\n background: v2Colors.core.smoke,\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n flexWrap: 'wrap',\n justifyContent: 'flex-start',\n },\n },\n pagination: {\n width: '100%',\n marginTop: '2rem',\n },\n headerBackground: {\n position: 'relative',\n zIndex: 1,\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n height: '100%',\n maxHeight: '50rem',\n width: '100%',\n top: 0,\n left: 0,\n backgroundColor: v2Colors.core.cloud,\n zIndex: -1,\n },\n },\n filterPageContainer: {\n display: 'flex',\n flexWrap: 'nowrap',\n [`@media (max-width: ${breakpoints.md})`]: {\n flexWrap: 'wrap',\n },\n },\n} as const;\n","import { colors, v2Colors } from '@web-for-marketing/react-ui';\n\nexport const checkboxButtonStyles = {\n container: {\n position: 'relative',\n },\n contentContainer: {\n padding: '1.5rem 2rem',\n border: `1px solid ${v2Colors.core.smoke}`,\n borderRadius: '0.6rem',\n backgroundColor: v2Colors.core.snow,\n color: v2Colors.core.blackTarr,\n transition: 'color 200ms ease, background-color 200ms ease, border 200ms ease',\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: colors.core.innovation.lightest,\n borderColor: v2Colors.core.blackTarr,\n },\n },\n hiddenCheckbox: {\n opacity: 0,\n height: 0,\n width: 0,\n position: 'absolute',\n top: 0,\n left: 0,\n '&:focus ~ div': {\n backgroundColor: colors.core.innovation.lightest,\n borderColor: v2Colors.core.blackTarr,\n },\n '&:focus ~ div > div': {\n borderColor: v2Colors.core.innovationDark,\n },\n '&:focus ~ div > p': {\n color: v2Colors.core.innovationDark,\n },\n '&:checked ~ div': {\n backgroundColor: colors.core.innovation.lightest,\n borderColor: v2Colors.core.blackTarr,\n },\n '&:checked ~ div > div': {\n backgroundColor: v2Colors.core.innovation,\n borderColor: v2Colors.core.innovation,\n },\n '&:checked ~ div:hover': {\n backgroundColor: colors.core.innovation.lighter,\n },\n '&:checked:focus ~ div': {\n backgroundColor: colors.core.innovation.lighter,\n },\n '&:checked:focus ~ div > p': {\n color: v2Colors.core.innovationDark,\n },\n '&:checked:focus ~ div > div': {\n backgroundColor: v2Colors.core.innovationDark,\n borderColor: v2Colors.core.innovationDark,\n },\n },\n checkbox: {\n width: '1.4rem',\n height: '1.4rem',\n borderRadius: '0.2rem',\n border: `1px solid ${v2Colors.core.blackTarr}`,\n marginRight: '1rem',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '& > svg': {\n width: '80%',\n },\n },\n label: {\n color: 'inherit',\n fontSize: '1.4rem',\n flexShrink: 1000,\n },\n} as const;\n","import React, { useState } from 'react';\nimport { Grid } from '@mui/material';\nimport { CheckmarkIcon } from '@components/IconComponents/CheckmarkIcon';\nimport { checkboxButtonStyles as classes } from '@components/styleObjects/CheckboxInputButtonStyles';\nimport { Text } from '@web-for-marketing/react-ui';\n\ninterface CheckboxInputButtonProps {\n label: string;\n name: string;\n checked?: boolean;\n hidden?: boolean;\n onChange?: (checked: boolean) => void;\n}\n\nexport const CheckboxInputButton = ({\n label,\n name,\n checked = false,\n onChange,\n hidden = false,\n}: CheckboxInputButtonProps): JSX.Element => {\n const [isChecked, setIsChecked] = useState(checked);\n\n function changeHandler(): void {\n setIsChecked((prevState) => !prevState);\n if (onChange) {\n onChange(!isChecked);\n }\n }\n\n return (\n \n \n \n {isChecked ? : null}\n \n {label}\n \n \n \n );\n};\n","import React, { useState, useMemo } from 'react';\nimport { Grid2, Stack } from '@mui/material';\nimport { useAtom } from 'jotai';\nimport { isMobileAtom, selectedLanguageAtom } from '@atoms/appSettings';\nimport { tagPageStyles as classes } from './styleObjects/TagPage';\nimport { PageHelmet } from '@components/PageHelmet';\nimport { languageRouteTypes } from '@helpers/languageRoutes';\nimport { cardTypes } from '@helpers/ObjectTypeModels/Card';\nimport { Card } from '@components/Cards/Card';\nimport { getLanguageRouteAndPrefixByCodeAndRouteKey } from '@helpers/languages';\nimport { getLazyLoadByIndex } from '@helpers/lazyloading';\nimport { Button, Heading, Pagination, PaginationItem, containerWidth } from '@web-for-marketing/react-ui';\nimport { CheckboxInputButton } from '@components/CheckboxInputButton';\nimport { useStaticValues } from '@stateManagement/StaticValuesContext';\nimport { getTranslation } from '@helpers/languageTranslations';\nimport { useTranslation } from '@stateManagement/TranslationContext';\nimport { LanguageRouteKey } from '@models/languageRoute';\nimport { LanguageCode } from '@models/languageCode';\nimport { NullableTagPageData } from '@models/tagPage';\nimport { SectionContainer } from '@components/SectionComponents/SectionContainer';\n\nconst taggedEntityTypeRouteTypeMap: Record = {\n BlogArticle: languageRouteTypes.BLOG_POST,\n SuccessStoryArticle: languageRouteTypes.CASE_STUDY,\n PressReleaseArticle: languageRouteTypes.PRESS_RELEASE,\n WhitePaperArticle: languageRouteTypes.WHITE_PAPER,\n GlossaryArticle: languageRouteTypes.GLOSSARY,\n Video: languageRouteTypes.VIDEO,\n};\n\ninterface Filter {\n name: string;\n value: boolean;\n type: string;\n}\n\nfunction constructQuery(filterState: Filter[]): string {\n let filteredCount = 0;\n\n return filterState.reduce((acc, filter) => {\n if (!filter.value) {\n return acc;\n } else {\n filteredCount++;\n return filteredCount - 1 > 0 ? `${acc}&filters=${filter.type}` : `${acc}filters=${filter.type}`;\n }\n }, '');\n}\n\nfunction getUpdatedFilterState(filterState: Filter[], filterStrings: string[] | null | undefined): Filter[] {\n return filterState.map((filter) => {\n if (filterStrings && filterStrings.includes(filter.type)) {\n return { ...filter, value: true };\n } else {\n return { ...filter, value: false };\n }\n });\n}\n\nfunction generateBasePathWithQuery(\n selectedLanguage: LanguageCode,\n tagPageData: NullableTagPageData,\n filterState: Filter[]\n): string {\n if (getActiveFilterValueCount(filterState) > 0) {\n return `${getLanguageRouteAndPrefixByCodeAndRouteKey(selectedLanguage, languageRouteTypes.TAG)}${\n tagPageData?.tag.slug\n }?${constructQuery(filterState)}`;\n } else {\n return `${getLanguageRouteAndPrefixByCodeAndRouteKey(selectedLanguage, languageRouteTypes.TAG)}${\n tagPageData?.tag.slug\n }`;\n }\n}\n\nfunction getActiveFilterValueCount(filterState: Filter[]): number {\n const filters = filterState.filter((filter) => filter.value === true);\n return filters.length;\n}\n\nexport default function TagPage(): JSX.Element {\n const { selectedLanguageTranslation } = useTranslation();\n const articleTypesTranslate = getTranslation(selectedLanguageTranslation, 'articleTypes');\n const noBlogsFoundForTagTranslation = useMemo(\n () => getTranslation(selectedLanguageTranslation, 'noBlogsFound'),\n [selectedLanguageTranslation]\n );\n\n const filters: Filter[] = [\n { name: articleTypesTranslate.blog, value: false, type: 'blog' },\n { name: articleTypesTranslate.caseStudy, value: false, type: 'case-study' },\n { name: articleTypesTranslate.pressRelease, value: false, type: 'press-release' },\n { name: articleTypesTranslate.whitePaper, value: false, type: 'white-paper' },\n { name: articleTypesTranslate.glossary, value: false, type: 'glossary' },\n { name: articleTypesTranslate.video, value: false, type: 'video' },\n ];\n\n const [isMobile] = useAtom(isMobileAtom);\n const [selectedLanguage] = useAtom(selectedLanguageAtom);\n const { tagPageData } = useStaticValues();\n const [filterState, setFilterState] = useState(\n () => getUpdatedFilterState(filters, tagPageData?.filters) || filters\n );\n const [filtersOpen, setFiltersOpen] = useState(!!tagPageData?.filters?.length);\n const notLazyLoadedAmount = isMobile ? 2 : 8;\n const filterValueCount = useMemo(() => getActiveFilterValueCount(filterState), [filterState]);\n const filterValueSet = filterValueCount > 0;\n const basePathWithQuery = useMemo(\n () => generateBasePathWithQuery(selectedLanguage, tagPageData, filterState),\n [selectedLanguage, tagPageData, filterState]\n );\n const paginationUrlPrefix = filterValueSet ? `${basePathWithQuery.split('?')[0]}` : basePathWithQuery;\n const paginationUrlQueryString = filterValueSet ? `?${basePathWithQuery.split('?')[1]}` : '';\n\n const filterTranslate = getTranslation(selectedLanguageTranslation, 'articleTypesAction');\n\n const handleChange = (type: Filter, index: number) => (value: boolean) => {\n const newFilterState = [...filterState];\n newFilterState[index] = { ...type, value };\n setFilterState([...newFilterState]);\n const generatedPath = generateBasePathWithQuery(selectedLanguage, tagPageData, newFilterState);\n window.location.href = `${generatedPath}`;\n };\n\n return (\n
\n {tagPageData?.pagedResult ? (\n \n \n \n {tagPageData.tag.name}\n \n tagPageData.pagedResult.maxRecordsPerPage\n ? 'space-between'\n : 'flex-end',\n },\n ]}\n >\n setFiltersOpen(!filtersOpen)}\n aria-label='Show filters'\n size='medium'\n css={classes.filterButton}\n >\n {filterValueSet ? `Filters (${filterValueCount})` : filterTranslate.filter || 'Filter'}\n \n
\n {filtersOpen ? (\n \n {filterState.map((filter, index) => (\n
\n \n
\n ))}\n
\n ) : null}\n \n {tagPageData.pagedResult.pageRecords.length ? (\n tagPageData.pagedResult.pageRecords.map((taggedEntityPreview, index) => {\n const cardContent = {\n title: taggedEntityPreview.title,\n image: {\n imagePath: taggedEntityPreview.cardImageUrl,\n mobilePath: taggedEntityPreview.mobileCardImageUrl,\n imageAlt: taggedEntityPreview.cardImageAlt,\n lazyLoad: getLazyLoadByIndex(index, notLazyLoadedAmount),\n },\n publishedDateUtc: taggedEntityPreview.publishedDateUtc,\n };\n\n return (\n \n \n \n );\n })\n ) : (\n {noBlogsFoundForTagTranslation.noArticlesFound}\n )}\n \n {tagPageData.pagedResult.totalRecordCount > tagPageData.pagedResult.maxRecordsPerPage ? (\n \n (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n )}\n />\n \n ) : null}\n \n ) : (\n \n {`${noBlogsFoundForTagTranslation.forTag} ${tagPageData ? tagPageData.tag.name : ''}`}\n \n )}\n \n );\n}\n"],"names":["CheckmarkIcon","props","_jsx","width","height","viewBox","fill","xmlns","color","children","fillRule","clipRule","d","getLazyLoadByIndex","index","noLazyLoadCount","tagPageStyles","mainTitle","display","marginBottom","labelContainer","padding","marginLeft","marginRight","border","breakpoints","md","margin","cardContainer","marginTop","filterButton","whiteSpace","filterContainer","flexWrap","justifyContent","background","v2Colors","core","smoke","pagination","headerBackground","position","zIndex","content","maxHeight","top","left","backgroundColor","cloud","filterPageContainer","checkboxButtonStyles","container","contentContainer","borderRadius","snow","blackTarr","transition","cursor","colors","innovation","lightest","borderColor","hiddenCheckbox","opacity","innovationDark","lighter","checkbox","alignItems","label","fontSize","flexShrink","CheckboxInputButton","name","checked","onChange","hidden","isChecked","setIsChecked","useState","changeHandler","prevState","_jsxs","Grid","css","classes","type","trim","tabIndex","direction","wrap","onClick","Text","id","taggedEntityTypeRouteTypeMap","BlogArticle","languageRouteTypes","BLOG_POST","SuccessStoryArticle","CASE_STUDY","PressReleaseArticle","PRESS_RELEASE","WhitePaperArticle","WHITE_PAPER","GlossaryArticle","GLOSSARY","Video","VIDEO","generateBasePathWithQuery","selectedLanguage","tagPageData","filterState","getActiveFilterValueCount","getLanguageRouteAndPrefixByCodeAndRouteKey","TAG","tag","slug","filteredCount","reduce","acc","filter","value","constructQuery","length","TagPage","selectedLanguageTranslation","useTranslation","articleTypesTranslate","getTranslation","noBlogsFoundForTagTranslation","useMemo","filters","blog","caseStudy","pressRelease","whitePaper","glossary","video","isMobile","useAtom","isMobileAtom","selectedLanguageAtom","useStaticValues","setFilterState","filterStrings","map","includes","getUpdatedFilterState","filtersOpen","setFiltersOpen","notLazyLoadedAmount","filterValueCount","filterValueSet","basePathWithQuery","paginationUrlPrefix","split","paginationUrlQueryString","filterTranslate","handleChange","newFilterState","generatedPath","window","location","href","pagedResult","SectionContainer","maxWidth","containerWidth","lg","PageHelmet","seo","title","description","dateModified","modifiedDateUtc","datePublished","publishedDateUtc","noIndex","Heading","variant","component","totalRecordCount","maxRecordsPerPage","Button","size","Stack","Grid2","columnSpacing","rowSpacing","pageRecords","taggedEntityPreview","cardContent","image","imagePath","cardImageUrl","mobilePath","mobileCardImageUrl","imageAlt","cardImageAlt","lazyLoad","xs","Card","card","cardTypes","BLOG_FOUR_COLUMN","noArticlesFound","Pagination","currentPage","renderItem","item","PaginationItem","page","forTag"],"sourceRoot":""}