{"version":3,"file":"static/js/5917.aabf368261e0a23b4b69.js","mappings":"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","sources":["components/ArticleHeader.tsx","components/Articles/RenderedCKEditorArticle.tsx","components/Articles/RenderedArticle.tsx","components/Articles/styleObjects/ckEditorHTMLStyles.ts","components/BlogSection/ArticleSectionPageHelmet.jsx","components/BlogSection/BlogComponents/Shared/RenderChips.tsx","components/BottomArticleCardList.tsx","components/Redirect.jsx","components/styleObjects/ArticleContentArea.ts","helpers/editorHelpers.ts","pages/public/styleObjects/articleStyles.ts"],"sourcesContent":["import React from 'react';\nimport { StandardImageBanner } from './SectionComponents';\nimport { breakpoints, v2Colors } from '@web-for-marketing/react-ui';\nimport { useAtom } from 'jotai';\nimport { isMobileAtom } from '@atoms/appSettings';\nimport { ArticleEntity } from '@models/article';\n\ninterface ArticleHeaderProps {\n article: ArticleEntity;\n}\n\nconst classes = {\n headerImageInnerContainer: {\n height: '32rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n height: '20rem',\n },\n },\n bannerImage: {\n display: 'block',\n [`@media (max-width: ${breakpoints.md})`]: {\n display: 'none',\n },\n },\n noMediaBox: {\n height: '30rem',\n backgroundColor: v2Colors.core.cloud,\n display: 'block',\n [`@media (max-width: ${breakpoints.md})`]: {\n display: 'none',\n },\n },\n} as const;\n\nexport function ArticleHeader({ article }: ArticleHeaderProps): JSX.Element | null {\n const [isMobile] = useAtom(isMobileAtom);\n const hasImage = !!(article.imageUrl || article.mobileImageUrl);\n\n if (!hasImage || (article.hideMobileHeaderImage && isMobile)) {\n return null;\n }\n\n return (\n
\n \n
\n \n
\n );\n}\n","import React from 'react';\nimport { DangerouslySetInnerHTML } from '../SectionComponents/helpers/DangerouslySetInnerHTML';\nimport { tryDecodeURI } from '../../helpers/string';\nimport { replaceWithEditorSafeImageUrls } from '@helpers/editorHelpers';\nimport { ckEditorHTMLStyles as classes } from './styleObjects/ckEditorHTMLStyles';\n\ninterface RenderedCKEditorArticleProps {\n content: string;\n mediaUrlPrefix: string;\n}\n\nexport default function RenderedCKEditorArticle({\n content,\n mediaUrlPrefix,\n}: RenderedCKEditorArticleProps): JSX.Element {\n return (\n \n );\n}\n","import React from 'react';\nimport { LazyLoadContainer } from '@web-for-marketing/react-ui';\nimport RenderedCKEditorArticle from './RenderedCKEditorArticle';\nimport { Grid } from '@mui/material';\n\ninterface RenderedArticleProps {\n content: string;\n mediaUrlPrefix: string;\n}\n\nexport function RenderedArticle({ content, mediaUrlPrefix }: RenderedArticleProps): JSX.Element {\n return (\n \n \n \n );\n}\n","import { colors, getRgbaColor, breakpoints, v2Colors, v2ButtonStyles } from '@web-for-marketing/react-ui';\nimport { typographyStyles } from '@web-for-marketing/react-ui';\nimport externalLinkWithBg from '@images/Blog/ExternalLinkWithBackground.svg';\nimport openInNewTab from '@images/Blog/OpenInNewTab.svg';\n\nexport const ckEditorHTMLStyles = {\n container: {\n marginBottom: '4rem',\n width: '100%',\n },\n articleStyles: {\n color: v2Colors.text.secondary,\n '& a[data-button]': {\n '&[data-variant=\"primary\"]': v2ButtonStyles({ variant: 'primary' }),\n '&[data-variant=\"secondary\"]': v2ButtonStyles({ variant: 'secondary' }),\n '&[data-variant=\"tertiary\"]': v2ButtonStyles({ variant: 'tertiary' }),\n '&[data-variant=\"link\"]': v2ButtonStyles({ variant: 'link' }),\n '&[data-variant=\"floating\"]': v2ButtonStyles({ variant: 'floating' }),\n '&[data-variant=\"ghost\"]': v2ButtonStyles({ variant: 'ghost' }),\n },\n '& a:not([data-button])': {\n transition: '200ms background-color ease',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n lineHeight: 'inherit',\n textDecoration: 'underline',\n color: v2Colors.core.innovation,\n wordBreak: 'break-word',\n padding: '0.5rem 0.2rem',\n '&:hover': {\n backgroundColor: `${getRgbaColor(v2Colors.core.deepSpace, 0.03)} !important`,\n },\n '&:focus': {\n outlineColor: v2Colors.core.innovation,\n backgroundColor: `${getRgbaColor(v2Colors.core.deepSpace, 0.06)} !important`,\n },\n '&:active': {\n outline: 'none',\n backgroundColor: `${getRgbaColor(v2Colors.core.deepSpace, 0.05)} !important`,\n },\n '&[target=\"_blank\"]:not(figure *)::after': {\n content: '\"\"',\n height: '0.8em',\n width: '0.8em',\n marginLeft: '0.6rem',\n verticalAlign: 'baseline',\n display: 'inline-block',\n backgroundImage: `url(${openInNewTab})`,\n backgroundSize: 'contain',\n backgroundRepeat: 'no-repeat',\n },\n '&:not([href*=\"www.geotab.com\"]):not([href^=\"/\"]):not(figure *)::after': {\n content: '\"\"',\n height: '0.8em',\n width: '0.8em',\n marginLeft: '0.6rem',\n verticalAlign: 'baseline',\n display: 'inline-block',\n backgroundImage: `url(${openInNewTab})`,\n backgroundSize: 'contain',\n backgroundRepeat: 'no-repeat',\n },\n },\n '& quote': {\n fontSize: '3.2rem',\n color: v2Colors.text.secondary,\n fontStyle: 'oblique',\n margin: '0 1rem 2rem',\n [`@media (max-width: ${breakpoints.xl})`]: {\n fontSize: '2.8rem',\n },\n [`@media (max-width: ${breakpoints.lg})`]: {\n fontSize: '2.6rem',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n fontSize: '2.4rem',\n },\n },\n '& ul': {\n margin: '2rem 0 2.2rem',\n '& li::marker': {\n color: v2Colors.text.activePrimary,\n },\n '&:last-child': {\n marginBottom: 0,\n },\n },\n '& ol': {\n margin: '2rem 0 2.2rem',\n '&:last-child': {\n marginBottom: 0,\n },\n },\n '& li': {\n ...typographyStyles.body1,\n color: 'inherit',\n wordBreak: 'break-word',\n '&:not(:last-of-type)': {\n marginBottom: '1em',\n },\n '& ul,ol': {\n marginTop: '1em',\n marginBottom: 0,\n },\n },\n '& pre': {\n ...typographyStyles.body1,\n whiteSpace: 'pre-wrap',\n backgroundColor: v2Colors.core.cloud,\n fontFamily: '\"Inconsolata\", \"Menlo\", \"Consolas\", monospace',\n color: v2Colors.text.secondary,\n },\n '& code': {\n ...typographyStyles.body1,\n padding: '2rem',\n color: v2Colors.text.secondary,\n wordBreak: 'break-word',\n fontFamily: '\"source-code-pro\", \"Menlo\", \"Monaco\", \"Consolas\", \"Courier New\", \"monospace\"',\n },\n '& table, td': {\n ...typographyStyles.body1,\n color: v2Colors.text.secondary,\n border: `1px solid ${colors.core.mineral.main}`,\n borderCollapse: 'collapse',\n },\n '& table': {\n display: 'table',\n margin: 'auto',\n '& td': {\n padding: '0.72rem',\n },\n },\n '& img': {\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n },\n '& figure': {\n display: 'block',\n width: 'auto',\n margin: 0,\n maxWidth: '100%',\n position: 'relative',\n },\n '& figure.media': {\n margin: 'auto',\n width: '100%',\n clear: 'both',\n '& > div > div': {\n paddingBottom: '56.25% !important',\n },\n },\n\n '& figure.image': {\n margin: '2rem 2rem 2rem 0',\n boxSizing: 'content-box !important' as 'content-box',\n '& a': {\n padding: 0,\n },\n '& a[target=\"_blank\"]::after': {\n content: `url(${externalLinkWithBg})`,\n position: 'absolute',\n left: 0,\n bottom: 0,\n },\n '& a[target=\"_blank\"]:hover::after': {\n content: `url(${externalLinkWithBg})`,\n position: 'absolute',\n left: 0,\n bottom: 0,\n },\n '& a[target=\"_blank\"]:focus::after': {\n content: `url(${externalLinkWithBg})`,\n position: 'absolute',\n left: 0,\n bottom: 0,\n },\n '& a[target=\"_blank\"]:hover::before': {\n content: 'linear-gradient(140deg, rgba(0, 120, 211, 0) 0%, rgba(0, 120, 211, 0.3) 100%)',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: '0.5rem',\n top: 0,\n },\n '& a[target=\"_blank\"]:focus::before': {\n content: 'linear-gradient(140deg, rgba(0, 120, 211, 0) 0%, rgba(0, 120, 211, 0.5) 100%)',\n position: 'absolute',\n left: 0,\n right: 0,\n },\n },\n '& figure.image-style-align-left': {\n float: 'left',\n margin: '2rem 2rem 2rem 0',\n },\n '& figure.image-style-align-center': {\n display: 'block',\n margin: '2rem auto',\n },\n '& figure.image-style-align-right': {\n float: 'right',\n margin: '2rem 0 2rem 2rem',\n },\n '& h1': {\n ...typographyStyles.header1,\n marginBottom: '0.3em',\n },\n '& h2': {\n ...typographyStyles.header3,\n marginBottom: '1.6rem',\n marginTop: '0.8em',\n },\n '& h3': {\n ...typographyStyles.header4,\n color: v2Colors.text.activePrimary,\n marginBottom: '1.6rem',\n marginTop: '1em',\n },\n '& h4, h6': {\n ...typographyStyles.body1,\n color: v2Colors.text.secondary,\n },\n '& h5': {\n ...typographyStyles.body2,\n color: v2Colors.text.secondary,\n },\n '& p': {\n ...typographyStyles.body1,\n color: v2Colors.text.secondary,\n wordBreak: 'break-word',\n },\n },\n} as const;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useStaticValues } from '@stateManagement/StaticValuesContext';\nimport { PageHelmet } from '../../components/PageHelmet';\nimport { ScriptHelmet } from '@components/ScriptHelmet';\nimport geotabShare from '@images/geotabShareImage.jpg';\n\nfunction truncateDescription(bio) {\n const seoDescriptionLimit = 120;\n\n if (bio.length < seoDescriptionLimit) {\n return bio;\n } else {\n const lastSentenceIndex = bio.substring(0, seoDescriptionLimit).lastIndexOf('.');\n if (lastSentenceIndex === -1) {\n return bio.substring(0, seoDescriptionLimit);\n } else {\n return bio.substring(0, lastSentenceIndex + 1);\n }\n }\n}\n\nfunction getAuthorSeo(blog, authorTranslation) {\n return {\n title: authorTranslation\n ? `${authorTranslation} - ${blog.authorPageData.author.name}`\n : blog.authorPageData.author.name,\n description: blog.authorPageData.author.shortBiography\n ? truncateDescription(blog.authorPageData.author.shortBiography)\n : `${blog.authorPageData.author.name} have written blog articles for Geotab.`,\n canonical: blog.authorPageData.author.canonical,\n datePublished: blog.authorPageData.author.publishedDateUtc,\n dateModified: blog.authorPageData.author.modifiedDateUtc,\n };\n}\n\nfunction getArticleHeaderImage(article, articleType, prefixStringWithBaseUrl) {\n if (article.articleData[articleType] && article.articleData[articleType].imageUrl) {\n return prefixStringWithBaseUrl(article.articleData[articleType].imageUrl);\n } else {\n return prefixStringWithBaseUrl(geotabShare);\n }\n}\n\nfunction getArticleSectionSeo(isAuthorPage, article, articleType, prefixStringWithBaseUrl, authorTranslation) {\n if (isAuthorPage && article.authorPageData && article.authorPageData.author) {\n return getAuthorSeo(article, authorTranslation);\n } else {\n return {\n title: article.articleData[articleType].pageTitle\n ? article.articleData[articleType].pageTitle\n : article.articleData[articleType].title,\n description: article.articleData[articleType].metaDescription\n ? article.articleData[articleType].metaDescription\n : article.articleData[articleType].description,\n imageUrl: getArticleHeaderImage(article, articleType, prefixStringWithBaseUrl),\n canonical: article.articleData[articleType].canonical,\n dateModified: article.articleData[articleType].modifiedDateUtc,\n datePublished: article.articleData[articleType].publishedDateUtc,\n };\n }\n}\n\nexport function ArticleSectionPageHelmet({\n isAuthorPage = false,\n noIndex = false,\n article,\n articleType,\n script,\n authorTranslation,\n}) {\n const { prefixStringWithBaseUrl } = useStaticValues();\n const seo = getArticleSectionSeo(isAuthorPage, article, articleType, prefixStringWithBaseUrl, authorTranslation);\n\n return (\n <>\n \n {script ? : null}\n \n );\n}\n\nArticleSectionPageHelmet.propTypes = {\n isAuthorPage: PropTypes.bool,\n noIndex: PropTypes.bool,\n articleType: PropTypes.string,\n article: PropTypes.objectOf(Object).isRequired,\n script: PropTypes.shape({\n type: PropTypes.string,\n body: PropTypes.string,\n }),\n authorTranslation: PropTypes.string,\n};\n","import React from 'react';\nimport { Button, Grid } from '@mui/material';\nimport { ensureInternalURLTrailingSlash } from '@helpers/string';\nimport { useAtom } from 'jotai';\nimport { selectedLanguageAtom } from '@atoms/appSettings';\nimport { useTranslation } from '@stateManagement/TranslationContext';\nimport { getTranslation } from '@helpers/languageTranslations';\nimport { getLanguageRouteAndPrefixByCodeAndRouteKey } from '@helpers/languages';\nimport { languageRouteTypes } from '@helpers/languageRoutes';\nimport { v2Colors, getRgbaColor, breakpoints } from '@web-for-marketing/react-ui';\nimport { Heading } from '@web-for-marketing/react-ui';\n\nconst classes = {\n tagButton: {\n margin: '1rem 1rem 1rem 0',\n color: v2Colors.core.innovation,\n backgroundColor: '#ffffff',\n border: `1px solid ${v2Colors.core.innovation}`,\n borderRadius: '2.5rem',\n minHeight: 'unset',\n padding: '.5rem 2.5rem !important',\n fontWeight: '500',\n fontSize: '1.8rem',\n width: 'auto',\n transition: 'background-color 400ms ease, font-weight 400ms ease',\n '&:hover': {\n backgroundColor: getRgbaColor(v2Colors.core.deepSpace, 0.05),\n fontWeight: '700',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n width: 'auto',\n fontSize: '1.6rem',\n },\n },\n tagContainer: {\n marginTop: '1rem',\n },\n};\n\nexport interface RenderChipsProps {\n chips: {\n name: string;\n slug: string;\n hidden: boolean;\n }[];\n hideHeading?: boolean;\n overrideHeadingText?: string;\n}\n\nexport function RenderChips({ chips, overrideHeadingText, hideHeading = false }: RenderChipsProps): JSX.Element | null {\n const [selectedLanguage] = useAtom(selectedLanguageAtom);\n const { selectedLanguageTranslation } = useTranslation();\n const translatedRenderChips = getTranslation(selectedLanguageTranslation, 'renderChips');\n const nonHiddenChips = chips.filter((chip) => !chip.hidden);\n\n return nonHiddenChips.length ? (\n <>\n {!hideHeading ? (\n \n {overrideHeadingText ? overrideHeadingText : translatedRenderChips.postTags}\n \n ) : null}\n \n {nonHiddenChips.map((chip) => (\n \n {chip.name}\n \n ))}\n \n \n ) : null;\n}\n","import React from 'react';\nimport { ChildContainer } from './GeotabGridComponents';\nimport { Card } from './Cards/Card';\nimport { cardTypes } from '../helpers/ObjectTypeModels/Card';\nimport { getLanguageRouteAndPrefixByCodeAndRouteKey } from '@helpers/languages';\nimport { useAtom } from 'jotai';\nimport { selectedLanguageAtom } from '@atoms/appSettings';\nimport { ArticleEntity } from '@models/article';\nimport { Grid } from '@mui/material';\n\ninterface BottomArticleCardListProps {\n articleList: ArticleEntity[];\n routeType: 'blogPostUrl' | 'pressReleaseUrl' | 'whitePaperUrl' | 'caseStudyUrl' | 'glossaryUrl';\n}\nexport function BottomArticleCardList({ articleList, routeType }: BottomArticleCardListProps): JSX.Element {\n const [selectedLanguage] = useAtom(selectedLanguageAtom);\n\n return (\n \n {articleList.map((articleCard, index) => {\n const cardContent = {\n title: articleCard.title,\n body: articleCard.description,\n image: {\n imagePath: articleCard.cardImageUrl,\n mobilePath: articleCard.mobileCardImageUrl,\n imageAlt: articleCard.cardImageAlt,\n lazyLoad: true,\n },\n publishedDateUtc: articleCard.publishedDateUtc,\n };\n\n return (\n \n \n \n );\n })}\n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Navigate } from 'react-router-dom';\n\nexport function Redirect({ redirectUrl, statusCode }) {\n if (statusCode === 200 && typeof window !== 'undefined') {\n window.location.href = redirectUrl;\n }\n\n return ;\n}\n\nRedirect.propTypes = {\n redirectUrl: PropTypes.string.isRequired,\n statusCode: PropTypes.number.isRequired,\n};\n","import { colors, breakpoints, v2Colors } from '@web-for-marketing/react-ui';\n\nexport const articleContentAreaStyles = {\n container: {\n margin: '0',\n padding: '5rem',\n boxShadow: '0px 15px 15px rgba(102, 120, 140, .41)',\n background: '#FFFFFF 0% 0% no-repeat padding-box',\n [`@media (max-width: ${breakpoints.sm})`]: {\n margin: '0 -9.6vw -3rem',\n padding: '3rem 9.6vw 4rem',\n },\n },\n mainContainer: {\n margin: '0',\n padding: '5rem',\n boxShadow: '0 1.5rem 1.5rem rgb(102 120 140 / 40%)',\n background: '#FFFFFF',\n [`@media (max-width: ${breakpoints.md})`]: {\n padding: 0,\n boxShadow: 'none',\n },\n },\n title: {\n marginBottom: '1rem',\n width: '100%',\n [`@media (max-width: ${breakpoints.sm})`]: {\n fontSize: '3.6rem',\n },\n },\n blogDescription: {\n fontWeight: 400,\n marginBottom: '3rem',\n },\n subHeading: {\n fontSize: '3.2rem',\n fontWeight: 400,\n color: v2Colors.core.innovation,\n marginBottom: 0,\n [`@media (max-width: ${breakpoints.md})`]: {\n fontSize: '2rem',\n marginBottom: '0',\n },\n },\n content: {\n marginTop: '2.5rem',\n [`@media (max-width: ${breakpoints.sm})`]: {\n marginTop: '1.5rem',\n },\n },\n publishedDate: {\n marginTop: '0.6em',\n [`@media (max-width: ${breakpoints.sm})`]: {\n fontSize: '1.8rem',\n fontWeight: 'bold',\n },\n },\n publishedContainer: {\n flexWrap: 'nowrap',\n justifyContent: 'space-between',\n [`@media (max-width: ${breakpoints.sm})`]: {\n flexWrap: 'wrap',\n },\n },\n dividerTop: {\n margin: '3rem 0',\n width: '100%',\n [`@media (max-width: ${breakpoints.md})`]: {\n margin: '2rem 0',\n },\n },\n dividerBottom: {\n margin: '5rem 0 6rem',\n width: '100%',\n [`@media (max-width: ${breakpoints.md})`]: {\n margin: '4rem 0',\n },\n },\n media: {\n display: 'none',\n [`@media (max-width: ${breakpoints.md})`]: {\n display: 'block',\n marginTop: '2rem',\n marginBottom: '2rem',\n },\n },\n tags: {\n marginTop: '2rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n margin: '3rem 0 0',\n },\n },\n downloadButton: {\n marginTop: '4rem',\n },\n downloadContainer: {\n [`@media (max-width: ${breakpoints.sm})`]: {\n marginTop: '1rem',\n },\n },\n downloadBtnWrapper: {\n marginLeft: 'auto',\n [`@media (max-width: ${breakpoints.sm})`]: {\n margin: '1rem auto 0',\n },\n },\n bodyText: {\n fontSize: '1.6rem',\n },\n bodySubtitle: {\n marginBottom: '1rem',\n },\n displayContainer: {\n marginBottom: '0',\n },\n shareAndLikeIcons: {\n display: 'flex',\n },\n roundShareIcon: {\n padding: '0 !important',\n margin: '12px',\n },\n fixMargin: {\n outline: 'none',\n [`@media (max-width: ${breakpoints.md})`]: {\n margin: '2.5rem 0 1rem 0',\n },\n },\n authorLink: {\n display: 'block',\n\n '&:focus': {\n outline: 'none',\n },\n '&:active': {\n outline: 'none',\n },\n\n '&:focus div:first-child': {\n backgroundColor: colors.core.innovation.lightest,\n },\n '&:hover div:first-child': {\n backgroundColor: colors.core.innovation.lightest,\n },\n '&:active div:first-child': {\n backgroundColor: colors.core.innovation.lightest,\n },\n },\n iframeMedia: {\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n paddingTop: '56.25%',\n margin: '2rem 0',\n },\n videoMedia: {\n width: '100%',\n margin: '2rem 0',\n '& > iframe': {\n height: '100%',\n position: 'absolute',\n width: '100%',\n top: 0,\n left: 0,\n },\n },\n responsiveIframe: {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: '100%',\n height: '100%',\n },\n} as const;\n","import { ValidatorMessage } from '@web-for-marketing/react-ui';\nimport { mediaUrlPrefixToken, resolveImagePath } from './gallery';\n\nexport function replaceWithEditorSafeImageUrls(content: string, mediaUrlPrefix: string): string {\n return replaceStringInImageSource(content, mediaUrlPrefixToken, mediaUrlPrefix);\n}\n\nexport function replaceWithDbSafeImageUrls(content: string, mediaUrlPrefix: string): string {\n return replaceStringInImageSource(content, mediaUrlPrefix, mediaUrlPrefixToken);\n}\n\nexport function replaceStringInImageSource(content: string, lookupString: string, replacementString: string): string {\n const updatedContent = content;\n const replaceRegex = new RegExp(lookupString, 'gi');\n\n return updatedContent.replace(replaceRegex, replacementString);\n}\n\nexport function wrapImageContentWithFigure(content: string): string {\n const doc = new DOMParser().parseFromString(content, 'text/html');\n const images = doc.querySelectorAll('img');\n const imagesWithoutFigure = Array.from(images).filter((img) => !img.closest('figure'));\n\n function wrapElement(el: ParentNode, wrapper: HTMLElement): void {\n el.parentNode?.insertBefore(wrapper, el);\n wrapper.appendChild(el);\n }\n\n imagesWithoutFigure.forEach((img) => {\n const classAttributeValue = img.getAttribute('class');\n const styleAttributeValue = img.getAttribute('style');\n\n img.removeAttribute('class');\n img.removeAttribute('style');\n\n const figure = document.createElement('figure');\n\n figure.setAttribute('class', `image ${classAttributeValue ? classAttributeValue : ''}`);\n styleAttributeValue && figure.setAttribute('style', styleAttributeValue);\n\n const wrappedWithAnchor = img.parentNode?.nodeName === 'A';\n const elementToWrap = wrappedWithAnchor ? img.parentNode : img;\n\n wrapElement(elementToWrap, figure);\n });\n\n const bodyTag = doc.childNodes[0].childNodes[1];\n\n return (bodyTag as HTMLElement).innerHTML;\n}\n\nexport function removeImages(html: string): string {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n const images = doc.querySelectorAll('img');\n\n images.forEach((img) => {\n let prevElement = img as HTMLElement;\n let currentElement = img.parentElement;\n\n while (currentElement?.parentElement != null && currentElement.childElementCount == 1) {\n prevElement = currentElement;\n currentElement = currentElement.parentElement;\n }\n\n currentElement?.removeChild(prevElement);\n });\n\n const strHtml = new XMLSerializer().serializeToString(doc);\n\n return strHtml;\n}\n\nexport function updateImageSrc(html: string, urls: { [key: string]: string }, mediaUrlPrefix: string): string {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n const images = doc.querySelectorAll('img');\n\n images.forEach((img) => {\n img.src = resolveImagePath(mediaUrlPrefix, urls[img.src]);\n });\n\n const strHtml = new XMLSerializer().serializeToString(doc);\n\n return strHtml;\n}\n\nexport function validateImages(content: string): ValidatorMessage {\n const doc = new DOMParser().parseFromString(content, 'text/html');\n const images = doc.querySelectorAll('img');\n\n const noAlt = Array.from(images).some((img) => !img.getAttribute('alt'));\n\n return noAlt ? 'All images must have an alt attribute' : null;\n}\n\nexport function validateHeadersOrder(content: string, metadata: { headingLevel: number }): ValidatorMessage {\n const doc = new DOMParser().parseFromString(content, 'text/html');\n let expectedLevel = metadata.headingLevel;\n const allHeaders = doc.querySelectorAll('h1, h2, h3, h4');\n\n if (allHeaders.length === 0) {\n return null;\n }\n\n for (const header of allHeaders) {\n const level = parseInt(header.tagName.substring(1));\n\n if (level < expectedLevel) {\n expectedLevel = level;\n }\n\n if (level > expectedLevel) {\n return 'All headers must have the right order: h1, h2, h3, h4. Heading levels should only increase by one.';\n }\n\n expectedLevel = level + 1;\n }\n\n return null;\n}\n","import { v2Colors, breakpoints } from '@web-for-marketing/react-ui';\n\nexport const articleStyles = {\n header: {\n display: 'block',\n [`@media (max-width: ${breakpoints.md})`]: {\n display: 'none',\n },\n },\n blogContent: {\n [`@media (max-width: ${breakpoints.md})`]: {\n marginTop: 0,\n },\n },\n blogExtras: {\n [`@media (max-width: ${breakpoints.lg})`]: {\n marginTop: 0,\n paddingTop: '4rem !important',\n },\n },\n relatedPostContainer: {\n backgroundColor: v2Colors.core.cloud,\n position: 'relative',\n '&:before': {\n content: '\"\"',\n position: 'absolute',\n height: '100rem',\n width: '100%',\n top: '-100rem',\n left: 0,\n backgroundColor: v2Colors.core.cloud,\n zIndex: -1,\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n backgroundColor: 'none',\n '&:before': {\n content: 'none',\n },\n },\n },\n centeredContainer: {\n maxWidth: '1612px',\n margin: 'auto',\n '@media (max-width: 1950px)': {\n maxWidth: 'calc(79.8611vw + 48px)',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n maxWidth: 'calc(77vw + 48px)',\n },\n },\n block: {\n display: 'block',\n },\n pressReleaseCard: {\n marginTop: '-20rem',\n marginBottom: '3rem',\n maxWidth: '100%',\n [`@media (max-width: ${breakpoints.md})`]: {\n marginTop: 'unset',\n background: 'unset',\n boxShadow: 'unset',\n width: '100%',\n },\n },\n noHeaderMediaCard: {\n marginBottom: '3rem',\n maxWidth: '100%',\n },\n relatedPost: {\n maxWidth: '100%',\n },\n blogSideArea: {\n marginTop: '-20rem',\n marginBottom: '3rem',\n [`@media (max-width: ${breakpoints.lg})`]: {\n marginTop: 'unset',\n background: 'unset',\n boxShadow: 'unset',\n },\n },\n clientProfile: {\n maxWidth: '100%',\n margin: '8rem 0',\n [`@media (max-width: ${breakpoints.md})`]: {\n width: '100%',\n margin: '0',\n },\n },\n clientProfileHeader: {\n marginBottom: '3rem',\n },\n recentNewsContainer: {\n margin: '0 24px 80px',\n },\n downloadButton: {\n margin: '3rem 0',\n },\n heading: {\n fontWeight: '500',\n marginBottom: '2rem',\n },\n headerBackground: {\n position: 'relative',\n zIndex: 1,\n '&:before': {\n content: '\"\"',\n position: 'absolute',\n height: '1500px',\n width: '100%',\n bottom: 0,\n left: 0,\n backgroundColor: v2Colors.core.cloud,\n zIndex: -1,\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n '&:before': {\n content: 'none',\n },\n },\n },\n mobileWrap: {\n [`@media (max-width: ${breakpoints.lg})`]: {\n flexWrap: 'wrap',\n },\n },\n} as const;\n"],"names":["classes","headerImageInnerContainer","height","breakpoints","md","bannerImage","display","noMediaBox","backgroundColor","v2Colors","core","cloud","ArticleHeader","article","isMobile","useAtom","isMobileAtom","imageUrl","mobileImageUrl","hideMobileHeaderImage","_jsx","css","undefined","children","StandardImageBanner","imagePath","mobileImagePath","alt","imageAlt","mobileAlt","mobileHeaderAlt","disableGradient","bannerOnTop","lazyLoad","customProps","noBottomPadding","RenderedCKEditorArticle","content","mediaUrlPrefix","DangerouslySetInnerHTML","parseLinks","container","articleStyles","html","tryDecodeURI","replaceWithEditorSafeImageUrls","RenderedArticle","LazyLoadContainer","component","Grid","ckEditorHTMLStyles","marginBottom","width","color","text","secondary","v2ButtonStyles","variant","transition","fontSize","fontWeight","lineHeight","textDecoration","innovation","wordBreak","padding","getRgbaColor","deepSpace","outlineColor","outline","marginLeft","verticalAlign","backgroundImage","openInNewTab","backgroundSize","backgroundRepeat","fontStyle","margin","xl","lg","activePrimary","typographyStyles","body1","marginTop","whiteSpace","fontFamily","border","colors","mineral","main","borderCollapse","maxWidth","position","clear","paddingBottom","boxSizing","externalLinkWithBg","left","bottom","right","top","float","header1","header3","header4","body2","truncateDescription","bio","length","lastSentenceIndex","substring","lastIndexOf","getArticleHeaderImage","articleType","prefixStringWithBaseUrl","articleData","geotabShare","getArticleSectionSeo","isAuthorPage","authorTranslation","authorPageData","author","blog","title","name","description","shortBiography","canonical","datePublished","publishedDateUtc","dateModified","modifiedDateUtc","getAuthorSeo","pageTitle","metaDescription","ArticleSectionPageHelmet","noIndex","script","useStaticValues","seo","_jsxs","_Fragment","PageHelmet","ScriptHelmet","propTypes","PropTypes","Object","isRequired","type","body","tagButton","borderRadius","minHeight","tagContainer","RenderChips","chips","overrideHeadingText","hideHeading","selectedLanguage","selectedLanguageAtom","selectedLanguageTranslation","useTranslation","translatedRenderChips","getTranslation","nonHiddenChips","filter","chip","hidden","Heading","postTags","map","Button","tag","href","ensureInternalURLTrailingSlash","getLanguageRouteAndPrefixByCodeAndRouteKey","languageRouteTypes","TAG","slug","BottomArticleCardList","articleList","routeType","ChildContainer","breakSpaceValue","articleCard","index","cardContent","image","cardImageUrl","mobilePath","mobileCardImageUrl","cardImageAlt","item","xs","Card","card","cardTypes","BLOG_FOUR_COLUMN","Redirect","redirectUrl","statusCode","window","location","Navigate","to","replace","articleContentAreaStyles","boxShadow","background","sm","mainContainer","blogDescription","subHeading","publishedDate","publishedContainer","flexWrap","justifyContent","dividerTop","dividerBottom","media","tags","downloadButton","downloadContainer","downloadBtnWrapper","bodyText","bodySubtitle","displayContainer","shareAndLikeIcons","roundShareIcon","fixMargin","authorLink","lightest","iframeMedia","overflow","paddingTop","videoMedia","responsiveIframe","replaceStringInImageSource","mediaUrlPrefixToken","replaceWithDbSafeImageUrls","lookupString","replacementString","updatedContent","replaceRegex","RegExp","wrapImageContentWithFigure","doc","DOMParser","parseFromString","images","querySelectorAll","Array","from","img","closest","forEach","classAttributeValue","getAttribute","styleAttributeValue","removeAttribute","figure","document","createElement","setAttribute","elementToWrap","parentNode","nodeName","el","wrapper","insertBefore","appendChild","childNodes","innerHTML","updateImageSrc","urls","src","resolveImagePath","XMLSerializer","serializeToString","validateImages","some","validateHeadersOrder","metadata","expectedLevel","headingLevel","allHeaders","header","level","parseInt","tagName","blogContent","blogExtras","relatedPostContainer","zIndex","centeredContainer","block","pressReleaseCard","noHeaderMediaCard","relatedPost","blogSideArea","clientProfile","clientProfileHeader","recentNewsContainer","heading","headerBackground","mobileWrap"],"sourceRoot":""}